From 26a47d56f9c9b798ce331881161fbdf079ab006f Mon Sep 17 00:00:00 2001 From: no author Date: Sat, 26 Nov 2005 00:32:02 +0000 Subject: [PATCH] This commit was manufactured by cvs2svn to create tag 'V_0_0_7_2'. --- CVSROOT/checkoutlist | 13 - CVSROOT/commitinfo | 15 - CVSROOT/config | 11 - CVSROOT/cvswrappers | 23 - CVSROOT/editinfo | 21 - CVSROOT/loginfo | 26 - CVSROOT/modules | 26 - CVSROOT/notify | 12 - CVSROOT/rcsinfo | 13 - CVSROOT/taginfo | 20 - CVSROOT/verifymsg | 21 - helm/DEVEL/.cvsignore | 7 - .../debian/libgdome2-xslt0c2a.install | 1 + helm/DEVEL/lablgtkmathview/.cvsignore | 10 - helm/DEVEL/lablgtkmathview/.depend | 12 - helm/DEVEL/lablgtkmathview/AUTHORS | 2 - helm/DEVEL/lablgtkmathview/COPYING | 340 - helm/DEVEL/lablgtkmathview/ChangeLog | 6 - helm/DEVEL/lablgtkmathview/LICENSE | 22 - helm/DEVEL/lablgtkmathview/META.in | 4 - helm/DEVEL/lablgtkmathview/Makefile.in | 134 - helm/DEVEL/lablgtkmathview/NEWS | 0 helm/DEVEL/lablgtkmathview/README | 9 - helm/DEVEL/lablgtkmathview/configure.in | 57 - helm/DEVEL/lablgtkmathview/debian/changelog | 339 - helm/DEVEL/lablgtkmathview/debian/compat | 1 - helm/DEVEL/lablgtkmathview/debian/control | 27 - helm/DEVEL/lablgtkmathview/debian/control.in | 27 - helm/DEVEL/lablgtkmathview/debian/copyright | 21 - helm/DEVEL/lablgtkmathview/debian/docs | 1 - .../debian/liblablgtkmathview-ocaml-dev.dirs | 1 - .../liblablgtkmathview-ocaml-dev.install | 7 - .../liblablgtkmathview-ocaml-dev.install.in | 7 - .../debian/liblablgtkmathview-ocaml.dirs | 1 - .../debian/liblablgtkmathview-ocaml.install | 1 - helm/DEVEL/lablgtkmathview/debian/rules | 68 - helm/DEVEL/lablgtkmathview/gMathView.ml | 103 - helm/DEVEL/lablgtkmathview/gMathView.mli | 108 - helm/DEVEL/lablgtkmathview/gMathViewAux.ml | 281 - helm/DEVEL/lablgtkmathview/gMathViewAux.mli | 78 - helm/DEVEL/lablgtkmathview/gtkMathView.ml | 107 - helm/DEVEL/lablgtkmathview/gtkMathView.props | 111 - helm/DEVEL/lablgtkmathview/gtk_mathview.ml | 27 - .../lablgtkmathview/lablgtk/META.lablgtk | 6 - helm/DEVEL/lablgtkmathview/ml_gtk_mathview.c | 271 - helm/DEVEL/lablgtkmathview/test/.cvsignore | 1 - helm/DEVEL/lablgtkmathview/test/Makefile.in | 20 - helm/DEVEL/lablgtkmathview/test/t1.config | 3 - helm/DEVEL/lablgtkmathview/test/test.ml | 397 - helm/DEVEL/lablgtkmathview/test/test.xml | 134 - helm/DEVEL/lablgtksourceview/.cvsignore | 10 - helm/DEVEL/lablgtksourceview/.depend | 11 - helm/DEVEL/lablgtksourceview/ACKNOWLEDGEMENTS | 3 - helm/DEVEL/lablgtksourceview/AUTHORS | 1 - helm/DEVEL/lablgtksourceview/CHANGES | 4 - helm/DEVEL/lablgtksourceview/COPYING | 510 - helm/DEVEL/lablgtksourceview/Changelog | 0 helm/DEVEL/lablgtksourceview/LICENSE | 20 - helm/DEVEL/lablgtksourceview/META.in | 5 - helm/DEVEL/lablgtksourceview/Makefile.in | 145 - helm/DEVEL/lablgtksourceview/NEWS | 0 helm/DEVEL/lablgtksourceview/README | 42 - helm/DEVEL/lablgtksourceview/configure.ac | 53 - helm/DEVEL/lablgtksourceview/debian/changelog | 14 - helm/DEVEL/lablgtksourceview/debian/compat | 1 - helm/DEVEL/lablgtksourceview/debian/control | 29 - .../DEVEL/lablgtksourceview/debian/control.in | 29 - helm/DEVEL/lablgtksourceview/debian/copyright | 18 - .../liblablgtksourceview-ocaml-dev.docs | 3 - .../liblablgtksourceview-ocaml-dev.install | 7 - .../liblablgtksourceview-ocaml-dev.install.in | 7 - .../debian/liblablgtksourceview-ocaml.install | 1 - .../liblablgtksourceview-ocaml.install.in | 1 - helm/DEVEL/lablgtksourceview/debian/rules | 10 - helm/DEVEL/lablgtksourceview/gSourceView.ml | 219 - helm/DEVEL/lablgtksourceview/gSourceView.mli | 187 - helm/DEVEL/lablgtksourceview/gtkSourceView.ml | 118 - .../lablgtksourceview/gtkSourceView.props | 40 - .../DEVEL/lablgtksourceview/gtk_sourceview.ml | 26 - .../lablgtksourceview/ml_gtk_sourceview.c | 126 - helm/DEVEL/lablgtksourceview/test/.cvsignore | 3 - helm/DEVEL/lablgtksourceview/test/Makefile.in | 23 - helm/DEVEL/lablgtksourceview/test/test.lang | 128 - helm/DEVEL/lablgtksourceview/test/test.ml | 99 - helm/DEVEL/lablgtksourceview/test/test.txt | 211 - helm/DEVEL/mathml_editor/.cvsignore | 16 - helm/DEVEL/mathml_editor/.log | 21 - helm/DEVEL/mathml_editor/AUTHORS | 2 - helm/DEVEL/mathml_editor/BROWSE | 503 - helm/DEVEL/mathml_editor/BUGS | 0 helm/DEVEL/mathml_editor/BUGS-GDOME2 | 4 - helm/DEVEL/mathml_editor/ChangeLog | 55 - helm/DEVEL/mathml_editor/LICENSE | 25 - helm/DEVEL/mathml_editor/MODES | 25 - helm/DEVEL/mathml_editor/Makefile.am | 31 - helm/DEVEL/mathml_editor/Makefile.in | 438 - helm/DEVEL/mathml_editor/NEWS | 0 helm/DEVEL/mathml_editor/PATTERNS | 196 - helm/DEVEL/mathml_editor/README | 0 helm/DEVEL/mathml_editor/TML.dtd | 66 - helm/DEVEL/mathml_editor/TODO | 13 - helm/DEVEL/mathml_editor/configure.ac | 187 - helm/DEVEL/mathml_editor/debian/changelog | 114 - helm/DEVEL/mathml_editor/debian/compat | 1 - helm/DEVEL/mathml_editor/debian/control | 46 - helm/DEVEL/mathml_editor/debian/copyright | 23 - helm/DEVEL/mathml_editor/debian/docs | 7 - .../mathml_editor/debian/libeditex-dev.files | 5 - .../debian/libeditex-ocaml-dev.files | 3 - .../debian/libeditex-ocaml.files | 1 - .../mathml_editor/debian/libeditex0.files | 2 - helm/DEVEL/mathml_editor/debian/rules | 74 - helm/DEVEL/mathml_editor/dict/.cvsignore | 2 - helm/DEVEL/mathml_editor/dict/Makefile.am | 2 - .../mathml_editor/dict/dictionary-basic.xml | 9 - .../mathml_editor/dict/dictionary-test.xml | 39 - .../mathml_editor/dict/dictionary-tex.xml | 378 - helm/DEVEL/mathml_editor/dict/dictionary.dtd | 23 - helm/DEVEL/mathml_editor/doc/.cvsignore | 5 - helm/DEVEL/mathml_editor/doc/spec.tex | 973 - helm/DEVEL/mathml_editor/editex.pc.in | 19 - helm/DEVEL/mathml_editor/examples/.cvsignore | 2 - helm/DEVEL/mathml_editor/examples/Makefile.am | 1 - helm/DEVEL/mathml_editor/examples/abs.tex | 1 - helm/DEVEL/mathml_editor/examples/big.tex | 1 - helm/DEVEL/mathml_editor/ocaml/.cvsignore | 1 - helm/DEVEL/mathml_editor/ocaml/.depend | 3 - helm/DEVEL/mathml_editor/ocaml/META.in | 6 - helm/DEVEL/mathml_editor/ocaml/Makefile.am | 90 - .../mathml_editor/ocaml/c_mathml_editor.cc | 224 - .../mathml_editor/ocaml/c_mathml_editor.h | 49 - .../mathml_editor/ocaml/i_mathml_editor.ml | 76 - .../mathml_editor/ocaml/mathml_editor.ml | 70 - .../mathml_editor/ocaml/mathml_editor.mli | 50 - .../mathml_editor/ocaml/ml_mathml_editor.c | 210 - helm/DEVEL/mathml_editor/src/.cvsignore | 9 - helm/DEVEL/mathml_editor/src/ALogger.hh | 53 - .../mathml_editor/src/AMathMLConsumer.hh | 38 - .../DEVEL/mathml_editor/src/AMathMLFactory.cc | 42 - .../DEVEL/mathml_editor/src/AMathMLFactory.hh | 47 - helm/DEVEL/mathml_editor/src/APushLexer.hh | 46 - helm/DEVEL/mathml_editor/src/APushParser.cc | 42 - helm/DEVEL/mathml_editor/src/APushParser.hh | 57 - helm/DEVEL/mathml_editor/src/BROWSE | 503 - .../DEVEL/mathml_editor/src/CLoggerConsole.cc | 35 - .../DEVEL/mathml_editor/src/CLoggerConsole.hh | 40 - .../mathml_editor/src/CMathMLFactoryXSLT.cc | 145 - .../mathml_editor/src/CMathMLFactoryXSLT.hh | 47 - .../src/CMathMLFactoryXSLTDiff.cc | 102 - .../src/CMathMLFactoryXSLTDiff.hh | 46 - helm/DEVEL/mathml_editor/src/Diff.cc | 393 - helm/DEVEL/mathml_editor/src/Diff.hh | 77 - helm/DEVEL/mathml_editor/src/ILPushLexer.cc | 51 - helm/DEVEL/mathml_editor/src/ILPushLexer.hh | 21 - helm/DEVEL/mathml_editor/src/ITPushLexer.cc | 44 - helm/DEVEL/mathml_editor/src/ITPushLexer.hh | 20 - helm/DEVEL/mathml_editor/src/LPushLexer.cc | 382 - helm/DEVEL/mathml_editor/src/LPushLexer.hh | 65 - helm/DEVEL/mathml_editor/src/Makefile.am | 57 - helm/DEVEL/mathml_editor/src/Makefile.in | 431 - helm/DEVEL/mathml_editor/src/TDictionary.cc | 316 - helm/DEVEL/mathml_editor/src/TDictionary.hh | 129 - helm/DEVEL/mathml_editor/src/TDocument.cc | 213 - helm/DEVEL/mathml_editor/src/TDocument.hh | 69 - helm/DEVEL/mathml_editor/src/TListener.hh | 35 - helm/DEVEL/mathml_editor/src/TNode.cc | 236 - helm/DEVEL/mathml_editor/src/TNode.hh | 107 - helm/DEVEL/mathml_editor/src/TPushLexer.cc | 207 - helm/DEVEL/mathml_editor/src/TPushLexer.hh | 64 - helm/DEVEL/mathml_editor/src/TPushParser.cc | 1952 -- helm/DEVEL/mathml_editor/src/TPushParser.hh | 113 - helm/DEVEL/mathml_editor/src/TToken.hh | 63 - helm/DEVEL/mathml_editor/src/TTokenizer.cc | 69 - helm/DEVEL/mathml_editor/src/TTokenizer.hh | 54 - helm/DEVEL/mathml_editor/src/config.dirs.in | 3 - helm/DEVEL/mathml_editor/src/dom.hh | 53 - helm/DEVEL/mathml_editor/src/globals.hh | 33 - helm/DEVEL/mathml_editor/src/timer.cc | 38 - helm/DEVEL/mathml_editor/src/timer.hh | 31 - helm/DEVEL/mathml_editor/test/.cvsignore | 5 - helm/DEVEL/mathml_editor/test/Makefile.am | 21 - helm/DEVEL/mathml_editor/test/Makefile.in | 396 - helm/DEVEL/mathml_editor/test/aux.cc | 261 - helm/DEVEL/mathml_editor/test/editor.cc | 196 - helm/DEVEL/mathml_editor/test/guiGTK.c | 649 - helm/DEVEL/mathml_editor/test/guiGTK.h | 57 - helm/DEVEL/mathml_editor/textomml/.cvsignore | 6 - helm/DEVEL/mathml_editor/textomml/Makefile.am | 17 - .../mathml_editor/textomml/config.dirs.in | 1 - helm/DEVEL/mathml_editor/textomml/main.cc | 192 - helm/DEVEL/mathml_editor/xsl/.cvsignore | 2 - helm/DEVEL/mathml_editor/xsl/Makefile.am | 2 - helm/DEVEL/mathml_editor/xsl/d-xsl.xsl | 159 - helm/DEVEL/mathml_editor/xsl/tml-litex.xsl | 158 - helm/DEVEL/mathml_editor/xsl/tml-mmlp.xsl | 1160 - helm/DEVEL/mathml_editor/xsl/tml-tex.xsl | 161 - helm/DEVEL/mathml_editor/xsl/tml-texid.xsl | 123 - helm/DEVEL/ocaml-http/.cvsignore | 8 - helm/DEVEL/ocaml-http/.depend | 49 - helm/DEVEL/ocaml-http/.ocamlinit | 5 - helm/DEVEL/ocaml-http/INSTALL | 37 - helm/DEVEL/ocaml-http/LICENSE | 483 - helm/DEVEL/ocaml-http/META.in | 8 - helm/DEVEL/ocaml-http/Makefile | 137 - helm/DEVEL/ocaml-http/Makefile.defs | 24 - helm/DEVEL/ocaml-http/README | 4 - helm/DEVEL/ocaml-http/TODO | 1 - helm/DEVEL/ocaml-http/debian/changelog | 147 - helm/DEVEL/ocaml-http/debian/compat | 1 - helm/DEVEL/ocaml-http/debian/control | 23 - helm/DEVEL/ocaml-http/debian/copyright | 15 - helm/DEVEL/ocaml-http/debian/dirs | 1 - helm/DEVEL/ocaml-http/debian/doc-base | 12 - helm/DEVEL/ocaml-http/debian/docs | 2 - helm/DEVEL/ocaml-http/debian/examples | 1 - helm/DEVEL/ocaml-http/debian/rules | 46 - helm/DEVEL/ocaml-http/doc/dot/.cvsignore | 2 - helm/DEVEL/ocaml-http/doc/html/.cvsignore | 2 - helm/DEVEL/ocaml-http/doc/latex/.cvsignore | 1 - helm/DEVEL/ocaml-http/examples/.cvsignore | 18 - helm/DEVEL/ocaml-http/examples/Makefile | 41 - .../ocaml-http/examples/always_ok_daemon.ml | 33 - helm/DEVEL/ocaml-http/examples/basic_auth.ml | 50 - helm/DEVEL/ocaml-http/examples/chdir.ml | 34 - .../ocaml-http/examples/client_address.ml | 42 - .../ocaml-http/examples/damned_recursion.ml | 51 - helm/DEVEL/ocaml-http/examples/dump_args.ml | 48 - helm/DEVEL/ocaml-http/examples/highlander.ml | 41 - helm/DEVEL/ocaml-http/examples/oo_daemon.ml | 47 - helm/DEVEL/ocaml-http/examples/threads.ml | 63 - helm/DEVEL/ocaml-http/examples/timeout.ml | 31 - helm/DEVEL/ocaml-http/examples/webfsd.ml | 50 - helm/DEVEL/ocaml-http/http_common.ml | 162 - helm/DEVEL/ocaml-http/http_common.mli | 80 - helm/DEVEL/ocaml-http/http_constants.ml | 34 - helm/DEVEL/ocaml-http/http_constants.mli | 43 - helm/DEVEL/ocaml-http/http_daemon.ml | 501 - helm/DEVEL/ocaml-http/http_daemon.mli | 205 - helm/DEVEL/ocaml-http/http_message.ml | 118 - helm/DEVEL/ocaml-http/http_message.mli | 130 - helm/DEVEL/ocaml-http/http_misc.ml | 146 - helm/DEVEL/ocaml-http/http_misc.mli | 88 - helm/DEVEL/ocaml-http/http_parser.ml | 160 - helm/DEVEL/ocaml-http/http_parser.mli | 68 - helm/DEVEL/ocaml-http/http_parser_sanity.ml | 115 - helm/DEVEL/ocaml-http/http_parser_sanity.mli | 46 - helm/DEVEL/ocaml-http/http_request.ml | 145 - helm/DEVEL/ocaml-http/http_request.mli | 29 - helm/DEVEL/ocaml-http/http_response.ml | 118 - helm/DEVEL/ocaml-http/http_response.mli | 33 - helm/DEVEL/ocaml-http/http_tcp_server.ml | 172 - helm/DEVEL/ocaml-http/http_tcp_server.mli | 39 - .../ocaml-http/http_threaded_tcp_server.mli | 26 - helm/DEVEL/ocaml-http/http_types.ml | 219 - helm/DEVEL/ocaml-http/http_types.mli | 451 - helm/DEVEL/ocaml-http/http_user_agent.ml | 101 - helm/DEVEL/ocaml-http/http_user_agent.mli | 53 - helm/DEVEL/ocaml-http/mt/.cvsignore | 6 - .../ocaml-http/mt/http_threaded_tcp_server.ml | 23 - helm/DEVEL/ocaml-http/non_mt/.cvsignore | 6 - .../non_mt/http_threaded_tcp_server.ml | 26 - helm/DEVEL/profile-manager/Makefile | 36 - helm/DEVEL/profile-manager/control.html | 240 - helm/DEVEL/profile-manager/index.html | 8 - .../DEVEL/profile-manager/profile-manager.xsl | 55 - helm/DEVEL/profile-manager/profile.ml | 119 - helm/DEVEL/profile-manager/profile_manager.ml | 177 - .../profile-manager/profile_manager_env.ml | 6 - helm/DEVEL/profile-manager/response.ml | 8 - helm/DEVEL/profile-manager/welcome.html | 6 - helm/DEVEL/rdfly/.cvsignore | 1 - helm/DEVEL/rdfly/Makefile | 39 - helm/DEVEL/rdfly/rdfly.conf.xml.sample | 12 - helm/DEVEL/rdfly/rdfly.ml | 192 - helm/EXPORT/cshrc | 4 - .../export_Bordeaux_EXCEPTIONS/Makefile | 11 - .../exporttheories.sh | 10 - .../prova_Bordeaux_EXCEPTIONS.v | 5 - helm/EXPORT/export_Marseille_CCS/Makefile | 11 - .../export_Marseille_CCS/exporttheories.sh | 10 - .../prova_Marseille_CCS.v | 5 - helm/EXPORT/export_Nijmegen_Rem/Makefile | 11 - .../export_Nijmegen_Rem/exporttheories.sh | 10 - .../export_Nijmegen_Rem/prova_Nijmegen_Rem.v | 5 - helm/EXPORT/export_Paris_ZF/Makefile | 25 - helm/EXPORT/export_Paris_ZF/exporttheories.sh | 10 - helm/EXPORT/export_Paris_ZF/prova_Paris_ZF.v | 33 - helm/EXPORT/export_Rocq_CHECKER/Makefile | 11 - .../export_Rocq_CHECKER/exporttheories.sh | 10 - .../export_Rocq_CHECKER/prova_Rocq_CHECKER.v | 7 - helm/EXPORT/export_Rocq_HIGMAN/Makefile | 11 - .../export_Rocq_HIGMAN/exporttheories.sh | 10 - .../export_Rocq_HIGMAN/prova_Rocq_HIGMAN.v | 5 - helm/EXPORT/export_Rocq_SHUFFLE/Makefile | 16 - .../export_Rocq_SHUFFLE/exporttheories.sh | 10 - .../export_Rocq_SHUFFLE/prova_Rocq_SHUFFLE.v | 16 - helm/EXPORT/export_Utrecht_Ramsey/Makefile | 11 - .../export_Utrecht_Ramsey/exporttheories.sh | 10 - .../prova_Utrecht_Ramsey.v | 5 - helm/EXPORT/exportcoq/Makefile | 7 - .../EXPORT/exportcoq/export_contrib_theory.sh | 12 - helm/EXPORT/exportcoq/export_theory_theory.sh | 12 - helm/EXPORT/exportcoq/exporttheories.sh | 17 - helm/EXPORT/exportcoq/provacoq.v | 14 - helm/EXPORT/exportcoq/provacoqArith.v | 31 - helm/EXPORT/exportcoq/provacoqBool.v | 13 - helm/EXPORT/exportcoq/provacoqInit.v | 13 - helm/EXPORT/exportcoq/provacoqLists.v | 15 - helm/EXPORT/exportcoq/provacoqLogic.v | 17 - helm/EXPORT/exportcoq/provacoqReals.v | 23 - helm/EXPORT/exportcoq/provacoqRelations.v | 33 - helm/EXPORT/exportcoq/provacoqSets.v | 48 - helm/EXPORT/exportcoq/provacoqSorting.v | 13 - helm/EXPORT/exportcoq/provacoqTrees.v | 7 - helm/EXPORT/exportcoq/provacoqZArith.v | 19 - helm/EXPORT/exportcoq/provacoqcontribOmega.v | 11 - helm/EXPORT/exportcoq/provacoqcontribRing.v | 17 - helm/EXPORT/exportcsczfc/Makefile | 11 - helm/EXPORT/exportcsczfc/csc_zfc/.cvsignore | 1 - helm/EXPORT/exportcsczfc/csc_zfc/csc_eqdep.v | 9 - helm/EXPORT/exportcsczfc/csc_zfc/csc_zfc.v | 1566 -- helm/EXPORT/exportcsczfc/exporttheories.sh | 10 - helm/EXPORT/exportcsczfc/provacsczfc.v | 6 - helm/EXPORT/exportprove/Makefile | 14 - helm/EXPORT/exportprove/exporttheories.sh | 10 - helm/EXPORT/exportprove/prova.v | 34 - helm/EXPORT/exportprove/provaCofix.v | 4 - helm/EXPORT/exportprove/provaFeIota.v | 6 - helm/EXPORT/exportprove/provaStruct.v | 16 - helm/EXPORT/exportprove/prove/.cvsignore | 1 - helm/EXPORT/exportprove/prove/provaF.v | 33 - helm/EXPORT/exportprove/prove/provaIota.v | 53 - helm/EXPORT/exportprove/prove/provacofix.v | 45 - helm/EXPORT/exportprove/prove/provastruct.v | 22 - helm/EXPORT/exportprove/prove/provastruct2.v | 42 - helm/EXPORT/exportprove/prove/provastruct3.v | 11 - helm/EXPORT/exportprove/prove/provastruct4.v | 8 - helm/EXPORT/exportprove/prove/provastruct5.v | 11 - helm/EXPORT/mktheory.pl | 151 - helm/Makefile | 18 - helm/annotationHelper/.cvsignore | 1 - helm/annotationHelper/.depend | 4 - helm/annotationHelper/Makefile | 47 - helm/annotationHelper/cicAnnotationHelper.ml | 594 - helm/annotationHelper/cicAnnotationHinter.ml | 393 - helm/annotationHelper/cicAnnotationHinter.mli | 46 - helm/cgi/mkcontrol.pl | 109 - helm/cgi/mkheader.pl | 44 - helm/cgi/mkindex.pl | 52 - helm/cgi/mkindexcic.pl | 113 - helm/cgi/mkindextheory.pl | 112 - helm/configuration/.cvsignore | 3 - helm/configuration/AUTHORS | 4 - helm/configuration/COPYING | 340 - helm/configuration/ChangeLog | 1 - helm/configuration/Makefile.in | 47 - helm/configuration/NEWS | 1 - helm/configuration/README | 8 - helm/configuration/config.cache.pkg | 15 - helm/configuration/configure.in | 186 - helm/configuration/etc/.cvsignore | 1 - helm/configuration/etc/configuration.dtd | 60 - helm/configuration/etc/configuration.xml.in | 49 - helm/configuration/etc/helm-dictionary.xml | 31 - .../etc/helm-font-configuration.xml | 36 - .../etc/helm-math-engine-configuration.xml.in | 38 - helm/configuration/helm-config.in | 84 - helm/configuration/helm_configuration.spec.in | 43 - helm/configuration/lib/.cvsignore | 1 - helm/configuration/lib/configuration.pl.in | 65 - helm/configuration/library/servers.txt | 1 - helm/configuration/library/urls_of_uris.db | Bin 4096 -> 0 bytes helm/coq-contribs/LAMBDA-TYPES/.cvsignore | 1 - helm/coq-contribs/LAMBDA-TYPES/.depend | 68 - helm/coq-contribs/LAMBDA-TYPES/Base.v | 7 - helm/coq-contribs/LAMBDA-TYPES/LambdaDelta.v | 67 - helm/coq-contribs/LAMBDA-TYPES/Make | 69 - helm/coq-contribs/LAMBDA-TYPES/Makefile | 361 - helm/coq-contribs/LAMBDA-TYPES/README | 61 - helm/coq-contribs/LAMBDA-TYPES/base_blt.v | 33 - helm/coq-contribs/LAMBDA-TYPES/base_hints.v | 262 - helm/coq-contribs/LAMBDA-TYPES/base_rewrite.v | 76 - helm/coq-contribs/LAMBDA-TYPES/base_tactics.v | 45 - helm/coq-contribs/LAMBDA-TYPES/base_types.v | 206 - .../coq-contribs/LAMBDA-TYPES/contexts_defs.v | 77 - helm/coq-contribs/LAMBDA-TYPES/cpr0_defs.v | 90 - helm/coq-contribs/LAMBDA-TYPES/csub0_defs.v | 114 - helm/coq-contribs/LAMBDA-TYPES/csub0_props.v | 67 - helm/coq-contribs/LAMBDA-TYPES/csubst0_defs.v | 197 - helm/coq-contribs/LAMBDA-TYPES/csubst1_defs.v | 101 - helm/coq-contribs/LAMBDA-TYPES/description | 13 - helm/coq-contribs/LAMBDA-TYPES/drop_defs.v | 130 - helm/coq-contribs/LAMBDA-TYPES/drop_props.v | 228 - helm/coq-contribs/LAMBDA-TYPES/fsubst0_defs.v | 20 - helm/coq-contribs/LAMBDA-TYPES/lift_defs.v | 238 - helm/coq-contribs/LAMBDA-TYPES/lift_gen.v | 116 - helm/coq-contribs/LAMBDA-TYPES/lift_props.v | 43 - helm/coq-contribs/LAMBDA-TYPES/lift_tlt.v | 87 - helm/coq-contribs/LAMBDA-TYPES/pc1_defs.v | 50 - helm/coq-contribs/LAMBDA-TYPES/pc1_props.v | 25 - helm/coq-contribs/LAMBDA-TYPES/pc3_defs.v | 84 - helm/coq-contribs/LAMBDA-TYPES/pc3_gen.v | 88 - .../LAMBDA-TYPES/pc3_gen_context.v | 22 - helm/coq-contribs/LAMBDA-TYPES/pc3_props.v | 233 - helm/coq-contribs/LAMBDA-TYPES/pc3_subst0.v | 136 - .../LAMBDA-TYPES/pr0_confluence.v | 176 - helm/coq-contribs/LAMBDA-TYPES/pr0_defs.v | 101 - helm/coq-contribs/LAMBDA-TYPES/pr0_gen.v | 99 - helm/coq-contribs/LAMBDA-TYPES/pr0_lift.v | 39 - helm/coq-contribs/LAMBDA-TYPES/pr0_subst0.v | 105 - helm/coq-contribs/LAMBDA-TYPES/pr0_subst1.v | 63 - .../LAMBDA-TYPES/pr1_confluence.v | 56 - helm/coq-contribs/LAMBDA-TYPES/pr1_defs.v | 34 - .../LAMBDA-TYPES/pr2_confluence.v | 74 - helm/coq-contribs/LAMBDA-TYPES/pr2_defs.v | 137 - helm/coq-contribs/LAMBDA-TYPES/pr2_gen.v | 78 - .../LAMBDA-TYPES/pr2_gen_context.v | 62 - helm/coq-contribs/LAMBDA-TYPES/pr2_lift.v | 33 - helm/coq-contribs/LAMBDA-TYPES/pr2_subst1.v | 48 - .../LAMBDA-TYPES/pr3_confluence.v | 59 - helm/coq-contribs/LAMBDA-TYPES/pr3_defs.v | 194 - helm/coq-contribs/LAMBDA-TYPES/pr3_gen.v | 132 - .../LAMBDA-TYPES/pr3_gen_context.v | 42 - helm/coq-contribs/LAMBDA-TYPES/pr3_props.v | 127 - helm/coq-contribs/LAMBDA-TYPES/pr3_subst1.v | 32 - .../LAMBDA-TYPES/subst0_confluence.v | 80 - helm/coq-contribs/LAMBDA-TYPES/subst0_defs.v | 62 - helm/coq-contribs/LAMBDA-TYPES/subst0_gen.v | 130 - helm/coq-contribs/LAMBDA-TYPES/subst0_lift.v | 56 - .../coq-contribs/LAMBDA-TYPES/subst0_subst0.v | 68 - helm/coq-contribs/LAMBDA-TYPES/subst0_tlt.v | 62 - .../LAMBDA-TYPES/subst1_confluence.v | 82 - helm/coq-contribs/LAMBDA-TYPES/subst1_defs.v | 58 - helm/coq-contribs/LAMBDA-TYPES/subst1_gen.v | 44 - helm/coq-contribs/LAMBDA-TYPES/subst1_lift.v | 23 - .../coq-contribs/LAMBDA-TYPES/subst1_subst1.v | 60 - helm/coq-contribs/LAMBDA-TYPES/terms_defs.v | 85 - helm/coq-contribs/LAMBDA-TYPES/tlt_defs.v | 115 - helm/coq-contribs/LAMBDA-TYPES/ty0_defs.v | 125 - helm/coq-contribs/LAMBDA-TYPES/ty0_gen.v | 185 - .../LAMBDA-TYPES/ty0_gen_context.v | 227 - helm/coq-contribs/LAMBDA-TYPES/ty0_lift.v | 65 - helm/coq-contribs/LAMBDA-TYPES/ty0_props.v | 110 - helm/coq-contribs/LAMBDA-TYPES/ty0_sred.v | 252 - .../LAMBDA-TYPES/ty0_sred_props.v | 176 - helm/coq-contribs/LAMBDA-TYPES/ty0_subst0.v | 334 - helm/coq-contribs/SUBSETS/.cvsignore | 1 - helm/coq-contribs/SUBSETS/.depend | 13 - helm/coq-contribs/SUBSETS/Make | 14 - helm/coq-contribs/SUBSETS/Makefile | 196 - helm/coq-contribs/SUBSETS/README | 45 - helm/coq-contribs/SUBSETS/Standard.v | 5 - helm/coq-contribs/SUBSETS/Toolbox.v | 12 - helm/coq-contribs/SUBSETS/description | 13 - helm/coq-contribs/SUBSETS/st_arith.v | 534 - helm/coq-contribs/SUBSETS/st_base.v | 185 - helm/coq-contribs/SUBSETS/st_logic.v | 253 - helm/coq-contribs/SUBSETS/st_nat.v | 264 - helm/coq-contribs/SUBSETS/tbs_base.v | 195 - helm/coq-contribs/SUBSETS/tbs_fin.v | 119 - helm/coq-contribs/SUBSETS/tbs_fun.v | 208 - helm/coq-contribs/SUBSETS/tbs_op.v | 778 - helm/coq-contribs/SUBSETS/tbs_rel.v | 249 - helm/coq-contribs/SUBSETS/tbs_rop.v | 130 - helm/coq-contribs/SUBSETS/xt_fin.v | 304 - helm/dtd/annotations.dtd | 53 - helm/dtd/backward.dtd | 48 - helm/dtd/cic.dtd | 247 - helm/dtd/cicobject.dtd | 137 - helm/dtd/cictypes.dtd | 46 - helm/dtd/forward.dtd | 48 - helm/dtd/isoamsa.ent | 173 - helm/dtd/isoamsb.ent | 146 - helm/dtd/isoamsc.ent | 49 - helm/dtd/isoamsn.ent | 117 - helm/dtd/isoamso.ent | 77 - helm/dtd/isoamsr.ent | 205 - helm/dtd/isobox.ent | 67 - helm/dtd/isocyr1.ent | 94 - helm/dtd/isocyr2.ent | 53 - helm/dtd/isodia.ent | 41 - helm/dtd/isogrk3.ent | 70 - helm/dtd/isolat1.ent | 89 - helm/dtd/isolat2.ent | 148 - helm/dtd/isomfrk.ent | 79 - helm/dtd/isomopf.ent | 53 - helm/dtd/isomscr.ent | 79 - helm/dtd/isonum.ent | 106 - helm/dtd/isopub.ent | 111 - helm/dtd/isotech.ent | 183 - helm/dtd/ls.dtd | 13 - helm/dtd/mathml2-qname-1.mod | 268 - helm/dtd/mathml2.dtd | 1948 -- helm/dtd/maththeory.dtd | 117 - helm/dtd/mmlalias.ent | 529 - helm/dtd/mmlextra.ent | 134 - helm/dtd/theoryobject.dtd | 109 - helm/dtd/xhtml-lat1.ent | 196 - helm/dtd/xhtml-special.ent | 80 - helm/dtd/xhtml-symbol.ent | 237 - helm/fix_params/.cvsignore | 1 - helm/fix_params/.depend | 2 - helm/fix_params/Makefile | 41 - helm/fix_params/cic2Xml.ml | 251 - helm/fix_params/cicFindParameters.ml | 158 - helm/fix_params/fix_params.ml | 74 - helm/gTopLevel/.cvsignore | 15 - helm/gTopLevel/.depend | 42 - helm/gTopLevel/INSTALL | 12 - helm/gTopLevel/Makefile.in | 161 - helm/gTopLevel/TATTICHE | 144 - helm/gTopLevel/batchParser.ml | 90 - helm/gTopLevel/batchParser.mli | 54 - helm/gTopLevel/chosenTermEditor.ml.in | 1 - helm/gTopLevel/chosenTermEditor.mli | 23 - helm/gTopLevel/configure.ac | 82 - helm/gTopLevel/dictionary-cic.xml | 40 - helm/gTopLevel/disambiguatingParser.ml.in | 104 - helm/gTopLevel/disambiguatingParser.mli | 50 - helm/gTopLevel/esempi/and_implies_or.cic | 11 - helm/gTopLevel/esempi/and_implies_or2.cic | 8 - helm/gTopLevel/esempi/apply.cic | 21 - helm/gTopLevel/esempi/bug.cic | 22 - .../gTopLevel/esempi/calcolo_proposizioni.cic | 17 - helm/gTopLevel/esempi/conversion.cic | 17 - helm/gTopLevel/esempi/decompose.cic | 8 - helm/gTopLevel/esempi/elim.cic | 13 - helm/gTopLevel/esempi/elim2.cic | 44 - helm/gTopLevel/esempi/evars.cic | 33 - helm/gTopLevel/esempi/fourier.cic | 35 - helm/gTopLevel/esempi/fourier/fourier.cic | 137 - .../esempi/fourier/fourier_benchmarks.cic | 170 - .../esempi/fourier/fourier_make_benchmarks.ml | 61 - helm/gTopLevel/esempi/prova.cic | 16 - helm/gTopLevel/esempi/rewrite.cic | 5 - helm/gTopLevel/esempi/ring/0eq0.cic | 10 - helm/gTopLevel/esempi/ring/aliases.cic | 24 - helm/gTopLevel/esempi/ring/caso0.cic | 23 - helm/gTopLevel/esempi/ring/caso1.cic | 25 - helm/gTopLevel/esempi/ring/caso2.cic | 25 - helm/gTopLevel/esempi/ring/caso3.1.cic | 25 - helm/gTopLevel/esempi/ring/caso3.1bis.cic | 25 - helm/gTopLevel/esempi/ring/caso3.2.cic | 25 - helm/gTopLevel/esempi/ring/caso3.3.cic | 25 - .../esempi/ring/coq_overkill_helm_rulez.cic | 23 - helm/gTopLevel/esempi/ring/novarmap.cic | 13 - .../esempi/ring/novarmap_tofinish.cic | 13 - helm/gTopLevel/esempi/ring/varmap.cic | 14 - helm/gTopLevel/esempi/ring/varmap2.cic | 14 - helm/gTopLevel/esempi/ring/varmap_trivial.cic | 14 - .../gTopLevel/esempi/ring/varmap_trivial2.cic | 14 - .../gTopLevel/esempi/ring/varmap_trivial3.cic | 14 - .../ring/varmap_trivial_molte_variabili.cic | 14 - helm/gTopLevel/esempi/sets.cic | 17 - helm/gTopLevel/esempi/various.cic | 7 - helm/gTopLevel/gTopLevel.conf.xml.sample | 58 - helm/gTopLevel/gTopLevel.ml | 2879 --- helm/gTopLevel/hbugs.ml | 143 - helm/gTopLevel/hbugs.mli | 57 - helm/gTopLevel/helmGtkLogger.ml | 71 - helm/gTopLevel/helmGtkLogger.mli | 31 - helm/gTopLevel/invokeTactics.ml | 359 - helm/gTopLevel/invokeTactics.mli | 110 - helm/gTopLevel/logicalOperations.ml | 121 - helm/gTopLevel/logicalOperations.mli | 32 - helm/gTopLevel/oldDisambiguate.ml | 354 - helm/gTopLevel/oldDisambiguate.mli | 74 - helm/gTopLevel/proofEngine.ml | 268 - helm/gTopLevel/proofEngine.mli | 103 - helm/gTopLevel/regtest.ml | 385 - helm/gTopLevel/rootcontent.xsl | 94 - helm/gTopLevel/script.sh.sample | 4 - helm/gTopLevel/termEditor.ml | 121 - helm/gTopLevel/termEditor.mli | 50 - helm/gTopLevel/termViewer.ml | 304 - helm/gTopLevel/termViewer.mli | 125 - helm/gTopLevel/testlibrary.ml | 226 - helm/gTopLevel/tests/.cvsignore | 1 - helm/gTopLevel/tests/apply00.cic | 1 - helm/gTopLevel/tests/fix00.cic | 8 - helm/gTopLevel/tests/fix00.cic.test | 222 - helm/gTopLevel/tests/forall00.cic | 1 - helm/gTopLevel/tests/forall00.cic.test | 14 - helm/gTopLevel/tests/lambda01.cic | 2 - helm/gTopLevel/tests/lambda01.cic.test | 16 - helm/gTopLevel/tests/lambda02.cic | 1 - helm/gTopLevel/tests/lambda02.cic.test | 16 - helm/gTopLevel/tests/lambda03.cic | 3 - helm/gTopLevel/tests/lambda03.cic.test | 17 - helm/gTopLevel/tests/match00.cic | 6 - helm/gTopLevel/tests/match00.cic.test | 33 - helm/gTopLevel/tests/match01.cic | 4 - helm/gTopLevel/tests/match01.cic.test | 24 - helm/gTopLevel/tests/match02.cic | 4 - helm/gTopLevel/tests/match02.cic.test | 24 - helm/gTopLevel/tests/match03.cic | 4 - helm/gTopLevel/tests/match03.cic.test | 23 - helm/gTopLevel/tests/match04.cic | 4 - helm/gTopLevel/tests/match04.cic.test | 21 - helm/gTopLevel/tests/match05.cic | 4 - helm/gTopLevel/tests/match05.cic.test | 72 - helm/gTopLevel/tests/match06.cic | 3 - helm/gTopLevel/tests/match06.cic.test | 19 - helm/gTopLevel/tests/match07.cic | 4 - helm/gTopLevel/tests/match07.cic.test | 23 - helm/gTopLevel/texTermEditor.ml | 239 - helm/gTopLevel/texTermEditor.mli | 51 - helm/gTopLevel/typecheck_uri.ml | 23 - helm/graphs/jsmenu/HM_Arrays.js | 250 - helm/graphs/jsmenu/HM_Arrays_prova.js | 60 - helm/graphs/jsmenu/HM_Loader.js | 89 - helm/graphs/jsmenu/HM_Loader_prova.js | 89 - helm/graphs/jsmenu/HM_More_black_left.gif | Bin 53 -> 0 bytes helm/graphs/jsmenu/HM_More_black_right.gif | Bin 53 -> 0 bytes helm/graphs/jsmenu/HM_More_blue_left.gif | Bin 53 -> 0 bytes helm/graphs/jsmenu/HM_More_blue_right.gif | Bin 53 -> 0 bytes helm/graphs/jsmenu/HM_More_cyan_left.gif | Bin 53 -> 0 bytes helm/graphs/jsmenu/HM_More_cyan_right.gif | Bin 53 -> 0 bytes helm/graphs/jsmenu/HM_More_green_left.gif | Bin 53 -> 0 bytes helm/graphs/jsmenu/HM_More_green_right.gif | Bin 53 -> 0 bytes helm/graphs/jsmenu/HM_More_magenta_left.gif | Bin 53 -> 0 bytes helm/graphs/jsmenu/HM_More_magenta_right.gif | Bin 53 -> 0 bytes helm/graphs/jsmenu/HM_More_red_left.gif | Bin 53 -> 0 bytes helm/graphs/jsmenu/HM_More_red_right.gif | Bin 53 -> 0 bytes helm/graphs/jsmenu/HM_More_white_left.gif | Bin 53 -> 0 bytes helm/graphs/jsmenu/HM_More_white_right.gif | Bin 53 -> 0 bytes helm/graphs/jsmenu/HM_More_yellow_left.gif | Bin 53 -> 0 bytes helm/graphs/jsmenu/HM_More_yellow_right.gif | Bin 53 -> 0 bytes helm/graphs/jsmenu/HM_ScriptDOM.js | 962 - helm/graphs/jsmenu/HM_ScriptIE4.js | 867 - helm/graphs/jsmenu/HM_ScriptNS4.js | 805 - helm/graphs/jsmenu/LoadMe.html | 99 - helm/graphs/jsmenu/prova.gif | Bin 11995 -> 0 bytes helm/graphs/jsmenu/prova.html | 87 - helm/graphs/tools/.cvsignore | 7 - helm/graphs/tools/Makefile | 60 - helm/graphs/tools/drawGraph.conf.xml.sample | 7 - helm/graphs/tools/drawGraph.ml | 101 - helm/graphs/tools/mk_html.pl | 47 - helm/graphs/tools/simplify_deps/.cvsignore | 5 - helm/graphs/tools/simplify_deps/Makefile | 12 - .../tools/simplify_deps/simplify_deps.ml | 102 - helm/graphs/tools/uriSetQueue.conf.xml.sample | 6 - helm/graphs/tools/uriSetQueue.ml | 190 - helm/gtkmathview-bonobo/.cvsignore | 18 - helm/gtkmathview-bonobo/AUTHORS | 2 - helm/gtkmathview-bonobo/ChangeLog | 0 helm/gtkmathview-bonobo/LICENSE | 23 - helm/gtkmathview-bonobo/Makefile.am | 20 - helm/gtkmathview-bonobo/NEWS | 5 - helm/gtkmathview-bonobo/README | 0 helm/gtkmathview-bonobo/TODO | 21 - helm/gtkmathview-bonobo/configure.ac | 112 - .../gtkmathview-bonobo.pc.in | 14 - helm/gtkmathview-bonobo/idl/.cvsignore | 2 - helm/gtkmathview-bonobo/idl/GtkMathView.idl | 105 - helm/gtkmathview-bonobo/idl/Makefile.am | 5 - helm/gtkmathview-bonobo/src/.cvsignore | 21 - .../src/GNOME_GtkMathView.server.in.in | 34 - helm/gtkmathview-bonobo/src/Makefile.am | 68 - helm/gtkmathview-bonobo/src/aux.cc | 302 - helm/gtkmathview-bonobo/src/aux.h | 46 - helm/gtkmathview-bonobo/src/control-data.c | 138 - helm/gtkmathview-bonobo/src/control-data.h | 53 - helm/gtkmathview-bonobo/src/control-factory.c | 431 - helm/gtkmathview-bonobo/src/control-factory.h | 34 - helm/gtkmathview-bonobo/src/handlers.c | 245 - helm/gtkmathview-bonobo/src/handlers.h | 41 - helm/gtkmathview-bonobo/src/persist-file.c | 141 - helm/gtkmathview-bonobo/src/persist-file.h | 61 - helm/gtkmathview-bonobo/src/persist-stream.c | 221 - helm/gtkmathview-bonobo/src/persist-stream.h | 59 - helm/gtkmathview-bonobo/src/view.c | 361 - helm/gtkmathview-bonobo/src/view.h | 53 - helm/gtkmathview-bonobo/test/.cvsignore | 5 - helm/gtkmathview-bonobo/test/Makefile.am | 25 - helm/gtkmathview-bonobo/test/embedding.html | 41 - helm/gtkmathview-bonobo/test/embedding.xml | 43 - helm/gtkmathview-bonobo/test/main.c | 476 - helm/gtkmathview-bonobo/test/test.mml | 128 - .../test/testembedding.html | 17 - helm/header/getheader.xml | 21 - helm/header/provaurl | 1 - helm/header/provaurl1 | 2 - helm/header/setheader.xsl | 33 - helm/helm_data/.cvsignore | 1 - helm/helm_data/AUTHORS | 4 - helm/helm_data/COPYING | 340 - helm/helm_data/ChangeLog | 1 - helm/helm_data/LICENSE | 22 - helm/helm_data/LICENSE.ml | 25 - helm/helm_data/LICENSE.script | 22 - helm/helm_data/LICENSE.xml | 24 - helm/helm_data/Makefile.in | 23 - helm/helm_data/NEWS | 1 - helm/helm_data/README | 9 - helm/helm_data/config.cache.pkg | 4 - helm/helm_data/configure.in | 61 - helm/helm_data/helm_data.spec.in | 34 - helm/helmpot/.cvsignore | 18 - helm/helmpot/AUTHORS | 1 - helm/helmpot/ChangeLog | 0 helm/helmpot/LICENSE | 23 - helm/helmpot/Makefile.am | 26 - helm/helmpot/NEWS | 0 helm/helmpot/README | 18 - helm/helmpot/acconfig.h | 47 - helm/helmpot/configure.in | 70 - helm/helmpot/debian/changelog | 42 - helm/helmpot/debian/control | 14 - helm/helmpot/debian/copyright | 30 - helm/helmpot/debian/docs | 2 - helm/helmpot/debian/rules | 75 - helm/helmpot/guiGTK.c | 684 - helm/helmpot/guiGTK.h | 50 - helm/helmpot/helmpot.spec.in | 24 - helm/helmpot/main.c | 121 - helm/helmpot/pot_mask | 6 - helm/http_getter/.cvsignore | 14 - helm/http_getter/AUTHORS | 11 - helm/http_getter/BUGS | 0 helm/http_getter/COPYING | 340 - helm/http_getter/ChangeLog | 6 - helm/http_getter/Makefile | 31 - helm/http_getter/Makefile.overrides | 2 - helm/http_getter/NEWS | 13 - helm/http_getter/README | 7 - helm/http_getter/buildTimeOpts.ml.in | 3 - helm/http_getter/configure.ac | 13 - helm/http_getter/http_getter.conf.xml.sample | 11 - helm/http_getter/main.ml | 352 - helm/http_getter/panel/.cvsignore | 1 - helm/http_getter/panel/Makefile | 12 - helm/http_getter/panel/control.html | 129 - helm/http_getter/panel/control.js | 35 - helm/http_getter/panel/index.html | 8 - helm/http_getter/panel/welcome.html | 6 - helm/http_getter/tools/dump_db.ml | 6 - helm/http_getter/tools/dump_db.pl | 19 - helm/http_getter/tools/uri_escape.pl | 16 - helm/http_getter/tools/uri_unescape.pl | 15 - helm/hxp/.cvsignore | 2 - helm/hxp/.depend | 9 - helm/hxp/EXAMPLE.txt | 5 - helm/hxp/Makefile | 66 - helm/hxp/hxpLexer.mll | 56 - helm/hxp/hxpParser.mly | 56 - helm/hxp/hxpTop.ml | 345 - helm/hxp/hxpTypes.ml | 57 - helm/hxp/hxpXML.ml | 91 - helm/hxsp/config | 47 - helm/hxsp/hxsp.pl | 1250 - helm/hxsp/make.pl | 17 - helm/hxsp/msg/error.en | 45 - helm/hxsp/msg/error.it | 46 - helm/hxsp/msg/message.en | 96 - helm/hxsp/msg/message.it | 96 - helm/hxsp/splitted/0.init.p.pl | 30 - helm/hxsp/splitted/1.globvars.p.pl | 95 - helm/hxsp/splitted/2.start.p.pl | 49 - helm/hxsp/splitted/3.daemon.p.pl | 131 - helm/hxsp/splitted/4.hash.p.pl | 150 - helm/hxsp/splitted/5.libxslt.p.pl | 174 - helm/hxsp/splitted/6.commands.p.pl | 215 - helm/hxsp/splitted/7.qsparse.p.pl | 172 - helm/hxsp/splitted/8.strrep.p.pl | 76 - helm/hxsp/splitted/9.load.p.pl | 149 - helm/hxsp/tpl/ok.tpl | 5 - helm/hxsp/tpl/operror.tpl | 5 - helm/hxsp/tpl/synerror.tpl | 6 - helm/mathql/doc/.cvsignore | 1 - helm/mathql/doc/llncs.cls | 1189 - helm/mathql/doc/mathql.tex | 40 - helm/mathql/doc/mathql_bib.tex | 89 - helm/mathql/doc/mathql_introduction.tex | 24 - .../mathql/doc/mathql_introduction_avsets.tex | 296 - helm/mathql/doc/mathql_introduction_basic.tex | 136 - helm/mathql/doc/mathql_introduction_core.tex | 162 - .../doc/mathql_introduction_property.tex | 200 - .../doc/mathql_introduction_textual.tex | 178 - helm/mathql/doc/mathql_macros.sty | 104 - helm/mathql/doc/mathql_operational.tex | 14 - .../doc/mathql_operational_background.tex | 147 - helm/mathql/doc/mathql_operational_basic.tex | 298 - helm/mathql/doc/mathql_operational_core.tex | 547 - .../mathql/doc/mathql_operational_library.tex | 1 - helm/mathql/doc/mathql_overview.tex | 145 - helm/mathql/doc/mathql_tests.tex | 30 - helm/mathql/grammar.txt | 148 - helm/mathql/homepage/authors.html | 104 - helm/mathql/homepage/documentation.html | 164 - helm/mathql/homepage/features.html | 165 - helm/mathql/homepage/implementation.html | 144 - helm/mathql/homepage/index.html | 151 - helm/mathql/homepage/links.html | 121 - helm/mathql/homepage/whatsnew.html | 328 - helm/mathql/query.xml | 31 - helm/mathql/result.xml | 20 - helm/mathql/xmathql.dtd | 165 - helm/mathql/xmqlresult.dtd | 59 - helm/mathql_db_map.txt | 26 - helm/mathql_test/.cvsignore | 2 - helm/mathql_test/.depend | 6 - helm/mathql_test/Makefile | 79 - helm/mathql_test/mQGTopLexer.mll | 71 - helm/mathql_test/mQGTopParser.mly | 107 - helm/mathql_test/mqgtop.ml | 336 - helm/mathql_test/mqitop.ml | 53 - helm/mathql_test/mqtop.ml | 40 - helm/matita/.cvsignore | 45 - helm/matita/.depend | 95 - helm/matita/.ocamlinit | 44 - helm/matita/AUTHORS | 5 - helm/matita/LICENSE | 23 - helm/matita/Makefile.in | 365 - helm/matita/buildTimeConf.ml.in | 55 - helm/matita/closed.xml | 17 - helm/matita/configure.ac | 141 - helm/matita/contribs/LAMBDA-TYPES/.cvsignore | 2 - helm/matita/contribs/LAMBDA-TYPES/Makefile | 54 - .../contribs/LAMBDA-TYPES/lref_map_defs.ma | 22 - .../contribs/LAMBDA-TYPES/terms_defs.ma | 47 - helm/matita/contribs/LAMBDA-TYPES/tlt_defs.ma | 53 - .../contribs/PREDICATIVE-TOPOLOGY/.cvsignore | 2 - .../contribs/PREDICATIVE-TOPOLOGY/Makefile | 54 - .../PREDICATIVE-TOPOLOGY/class_defs.ma | 52 - .../contribs/PREDICATIVE-TOPOLOGY/class_eq.ma | 55 - .../PREDICATIVE-TOPOLOGY/domain_defs.ma | 60 - .../PREDICATIVE-TOPOLOGY/subset_defs.ma | 66 - helm/matita/coq.ma | 42 - helm/matita/core_notation.moo | 115 - helm/matita/dictionary-matita.xml | 15 - helm/matita/dist/Makefile | 17 - helm/matita/dist/fill_db.sh | 53 - helm/matita/dist/static_link/.cvsignore | 3 - helm/matita/dist/static_link/Makefile | 5 - helm/matita/dist/static_link/static_link.ml | 162 - helm/matita/dump_moo.ml | 59 - helm/matita/gtkmathview.matita.conf.xml.in | 15 - helm/matita/icons/matita-bulb-high.png | Bin 1149 -> 0 bytes helm/matita/icons/matita-bulb-low.png | Bin 1072 -> 0 bytes helm/matita/icons/matita-bulb-medium.png | Bin 1272 -> 0 bytes helm/matita/icons/matita-folder.png | Bin 706 -> 0 bytes helm/matita/icons/matita-object.png | Bin 893 -> 0 bytes helm/matita/icons/matita-theory.png | Bin 1287 -> 0 bytes helm/matita/icons/matita.png | Bin 17605 -> 0 bytes helm/matita/icons/matita_medium.png | Bin 12270 -> 0 bytes helm/matita/icons/matita_small.png | Bin 4786 -> 0 bytes helm/matita/icons/meegg.png | Bin 157131 -> 0 bytes helm/matita/icons/whelp.png | Bin 1072 -> 0 bytes helm/matita/icons/whelp.svg | 221 - helm/matita/library/.cvsignore | 2 - helm/matita/library/Makefile | 54 - helm/matita/library/Q/q.ma | 320 - helm/matita/library/Z/.cvsignore | 1 - helm/matita/library/Z/compare.ma | 143 - helm/matita/library/Z/orders.ma | 130 - helm/matita/library/Z/plus.ma | 301 - helm/matita/library/Z/times.ma | 235 - helm/matita/library/Z/z.ma | 173 - helm/matita/library/datatypes/.cvsignore | 1 - helm/matita/library/datatypes/bool.ma | 126 - helm/matita/library/datatypes/compare.ma | 27 - helm/matita/library/datatypes/constructors.ma | 38 - .../library/higher_order_defs/.cvsignore | 1 - .../library/higher_order_defs/functions.ma | 67 - .../library/higher_order_defs/ordering.ma | 22 - .../library/higher_order_defs/relations.ma | 33 - helm/matita/library/list/list.ma | 108 - helm/matita/library/list/sort.ma | 172 - helm/matita/library/logic/.cvsignore | 1 - helm/matita/library/logic/connectives.ma | 90 - helm/matita/library/logic/equality.ma | 214 - helm/matita/library/nat/.cvsignore | 1 - helm/matita/library/nat/chinese_reminder.ma | 251 - helm/matita/library/nat/compare.ma | 227 - helm/matita/library/nat/congruence.ma | 177 - helm/matita/library/nat/count.ma | 246 - helm/matita/library/nat/div_and_mod.ma | 298 - helm/matita/library/nat/exp.ma | 97 - helm/matita/library/nat/factorial.ma | 61 - helm/matita/library/nat/factorization.ma | 613 - .../library/nat/fermat_little_theorem.ma | 250 - helm/matita/library/nat/gcd.ma | 608 - helm/matita/library/nat/le_arith.ma | 95 - helm/matita/library/nat/lt_arith.ma | 217 - helm/matita/library/nat/minimization.ma | 222 - helm/matita/library/nat/minus.ma | 300 - helm/matita/library/nat/nat.ma | 106 - helm/matita/library/nat/nth_prime.ma | 200 - helm/matita/library/nat/ord.ma | 193 - helm/matita/library/nat/orders.ma | 312 - helm/matita/library/nat/permutation.ma | 740 - helm/matita/library/nat/plus.ma | 72 - helm/matita/library/nat/primes.ma | 591 - helm/matita/library/nat/primes1.ma | 38 - helm/matita/library/nat/relevant_equations.ma | 50 - helm/matita/library/nat/sigma_and_pi.ma | 79 - helm/matita/library/nat/times.ma | 87 - helm/matita/library/nat/totient.ma | 102 - helm/matita/matita.conf.xml.sample.in | 35 - helm/matita/matita.glade | 3944 ---- helm/matita/matita.gtkrc | 80 - helm/matita/matita.lang | 184 - helm/matita/matita.ma.templ | 16 - helm/matita/matita.ml | 208 - helm/matita/matita.txt | 411 - helm/matita/matitaDb.ml | 166 - helm/matita/matitaDb.mli | 32 - helm/matita/matitaDisambiguator.ml | 174 - helm/matita/matitaDisambiguator.mli | 51 - helm/matita/matitaEngine.ml | 1024 - helm/matita/matitaEngine.mli | 63 - helm/matita/matitaExcPp.ml | 72 - helm/matita/matitaExcPp.mli | 27 - helm/matita/matitaGtkMisc.ml | 443 - helm/matita/matitaGtkMisc.mli | 157 - helm/matita/matitaGui.ml | 1183 - helm/matita/matitaGui.mli | 49 - helm/matita/matitaGuiTypes.mli | 131 - helm/matita/matitaInit.ml | 234 - helm/matita/matitaInit.mli | 38 - helm/matita/matitaLog.ml | 62 - helm/matita/matitaLog.mli | 36 - helm/matita/matitaMathView.ml | 997 - helm/matita/matitaMathView.mli | 82 - helm/matita/matitaMisc.ml | 198 - helm/matita/matitaMisc.mli | 93 - helm/matita/matitaMoo.ml | 70 - helm/matita/matitaMoo.mli | 35 - helm/matita/matitaScript.ml | 813 - helm/matita/matitaScript.mli | 98 - helm/matita/matitaSync.ml | 339 - helm/matita/matitaSync.mli | 52 - helm/matita/matitaTypes.ml | 291 - helm/matita/matitaTypes.mli | 128 - helm/matita/matitac.ml | 37 - helm/matita/matitacLib.ml | 216 - helm/matita/matitacLib.mli | 37 - helm/matita/matitaclean.ml | 70 - helm/matita/matitaclean.mli | 27 - helm/matita/matitacleanLib.ml | 267 - helm/matita/matitacleanLib.mli | 30 - helm/matita/matitadep.ml | 99 - helm/matita/matitadep.mli | 27 - helm/matita/matitamake.ml | 160 - helm/matita/matitamakeLib.ml | 298 - helm/matita/matitamakeLib.mli | 54 - helm/matita/matitatop.ml | 29 - helm/matita/scripts/README | 20 - helm/matita/scripts/bench.sql | 13 - helm/matita/scripts/crontab | 2 - helm/matita/scripts/crontab.sh | 75 - helm/matita/scripts/do_tests.sh | 77 - helm/matita/scripts/insert.awk | 17 - helm/matita/scripts/profile_cvs.sh | 51 - helm/matita/scripts/public_html/bench.php | 78 - helm/matita/scripts/public_html/common.php | 89 - .../scripts/public_html/composequery.php | 40 - helm/matita/scripts/public_html/index.html | 11 - helm/matita/scripts/public_html/showquery.php | 45 - helm/matita/scripts/shell_adder.php | 6 - helm/matita/scripts/shell_time2cents.php | 4 - helm/matita/template_makefile.in | 28 - helm/matita/tests/.cvsignore | 2 - helm/matita/tests/Makefile | 54 - helm/matita/tests/absurd.ma | 26 - helm/matita/tests/apply.ma | 57 - helm/matita/tests/assumption.ma | 39 - helm/matita/tests/bad_tests/.depend | 6 - helm/matita/tests/bad_tests/Makefile | 54 - helm/matita/tests/bad_tests/auto.log | 107 - helm/matita/tests/bad_tests/auto.ma | 27 - helm/matita/tests/bad_tests/baseuri.log | 4 - helm/matita/tests/bad_tests/baseuri.ma | 16 - helm/matita/tests/change.ma | 40 - helm/matita/tests/clear.ma | 30 - helm/matita/tests/clearbody.ma | 31 - helm/matita/tests/coercions.ma | 47 - helm/matita/tests/comments.ma | 36 - helm/matita/tests/constructor.ma | 23 - helm/matita/tests/continuationals.ma | 80 - helm/matita/tests/contradiction.ma | 31 - helm/matita/tests/cut.ma | 25 - helm/matita/tests/decompose.ma | 28 - helm/matita/tests/discriminate.ma | 40 - helm/matita/tests/elim.ma | 80 - helm/matita/tests/fguidi.ma | 114 - helm/matita/tests/first.ma | 37 - helm/matita/tests/fix_betareduction.ma | 26 - helm/matita/tests/fold.ma | 26 - helm/matita/tests/generalize.ma | 37 - .../tests/interactive/automatic_insertion.ma | 17 - helm/matita/tests/interactive/drop.ma | 8 - helm/matita/tests/interactive/grafite.ma | 34 - helm/matita/tests/interactive/test5.ma | 7 - helm/matita/tests/interactive/test6.ma | 7 - helm/matita/tests/interactive/test7.ma | 7 - .../matita/tests/interactive/test_instance.ma | 16 - helm/matita/tests/inversion.ma | 53 - helm/matita/tests/letrec.ma | 25 - helm/matita/tests/match_inference.ma | 52 - helm/matita/tests/metasenv_ordering.ma | 139 - helm/matita/tests/mysql_escaping.ma | 17 - helm/matita/tests/paramodulation.ma | 32 - helm/matita/tests/record.ma | 39 - helm/matita/tests/replace.ma | 39 - helm/matita/tests/rewrite.ma | 64 - helm/matita/tests/second.ma | 24 - helm/matita/tests/simpl.ma | 51 - helm/matita/tests/test2.ma | 26 - helm/matita/tests/test3.ma | 31 - helm/matita/tests/test4.ma | 38 - helm/matita/tests/third.ma | 24 - helm/matita/tests/unfold.ma | 41 - helm/metadata/.cvsignore | 6 - helm/metadata/Makefile | 40 - helm/metadata/README | 11 - helm/metadata/dc/Makefile | 32 - helm/metadata/dc/fill_db.pl | 53 - helm/metadata/dc/sql/create_dc_tables.sql | 58 - helm/metadata/dc/sql/drop_dc_tables.sql | 18 - helm/metadata/extractor/.cvsignore | 4 - helm/metadata/extractor/Makefile | 28 - helm/metadata/extractor/README | 9 - helm/metadata/extractor/meta_lex.l | 374 - helm/metadata/extractor/meta_lex_ind.l | 375 - helm/metadata/extractor/sthandler.c | 475 - helm/metadata/extractor/sthandler.h | 9 - helm/metadata/extractor/sthandler_ind.c | 424 - helm/metadata/extractor/sthandler_ind.h | 8 - .../sql/create_mowgli_tables.mysql.sql | 61 - helm/metadata/sql/create_mowgli_tables.sql | 29 - .../metadata/sql/drop_mowgli_tables.mysql.sql | 9 - helm/metadata/sql/drop_mowgli_tables.sql | 6 - helm/metadata/sql/fill_all_derived.sql | 64 - helm/metadata/sql/fill_inconcl_aux.sql | 10 - helm/metadata/sql/fill_no_concl_hyp.sql | 9 - helm/metadata/sql/fill_no_hyp.sql | 15 - helm/metadata/sql/rating.sql | 6 - helm/minidom/.cvsignore | 23 - helm/minidom/AUTHORS | 1 - helm/minidom/COPYING | 340 - helm/minidom/ChangeLog | 0 helm/minidom/HEADER | 24 - helm/minidom/INSTALL | 182 - helm/minidom/Makefile.am | 42 - helm/minidom/NEWS | 0 helm/minidom/README | 0 helm/minidom/TODO | 2 - helm/minidom/acconfig.h | 36 - helm/minidom/config.guess | 1308 - helm/minidom/config.sub | 1417 -- helm/minidom/configure.in | 82 - helm/minidom/debian/README.helm | 7 - helm/minidom/debian/autopippe.helm | 5 - helm/minidom/debian/changelog | 40 - helm/minidom/debian/control | 23 - helm/minidom/debian/copyright | 28 - helm/minidom/debian/debianize.helm | 97 - helm/minidom/debian/docs | 2 - helm/minidom/debian/garbage.helm | 2 - helm/minidom/debian/libminidom-dev.files | 5 - .../debian/libminidom-dev.undocumented | 1 - helm/minidom/debian/libminidom0.files | 1 - helm/minidom/debian/libminidom0.postinst | 47 - helm/minidom/debian/rules | 101 - helm/minidom/minidom-config.in | 48 - helm/minidom/minidom.c | 393 - helm/minidom/minidom.h | 105 - helm/minidom/minidom.spec.in | 31 - helm/minidom/stamp-h.in | 1 - helm/mowgli/home/htaccess | 5 - helm/mowgli/home/html/.cvsignore | 12 - helm/mowgli/home/html/Makefile | 359 - .../html/deliverables/distribution/.cvsignore | 2 - .../.cvsignore | 2 - .../html/deliverables/interfaces/.cvsignore | 5 - .../html/deliverables/metadata/.cvsignore | 2 - .../project-management/.cvsignore | 4 - .../requirement-analysis/.cvsignore | 3 - .../testing-and-validation/.cvsignore | 4 - .../deliverables/transformation/.cvsignore | 7 - helm/mowgli/home/html/members/.cvsignore | 3 - .../mowgli/home/html/mowgli-events/.cvsignore | 1 - helm/mowgli/home/html/people/aei/.cvsignore | 6 - .../home/html/people/bologna/.cvsignore | 5 - helm/mowgli/home/html/people/dfki/.cvsignore | 6 - helm/mowgli/home/html/people/inria/.cvsignore | 10 - .../home/html/people/nijmegen/.cvsignore | 9 - .../home/html/people/trusted-logic/.cvsignore | 3 - helm/mowgli/home/html/proposal/.cvsignore | 9 - helm/mowgli/home/html/publications/.cvsignore | 1 - .../home/html/publications/mowgli/.cvsignore | 2 - .../home/html/publications/others/.cvsignore | 18 - helm/mowgli/home/html/sites/.cvsignore | 6 - helm/mowgli/home/html/slides/.cvsignore | 1 - helm/mowgli/home/html/software/.cvsignore | 1 - .../mowgli/home/html/work-packages/.cvsignore | 9 - helm/mowgli/home/images/NextArrow.gif | Bin 623 -> 0 bytes helm/mowgli/home/images/PreviousArrow.gif | Bin 632 -> 0 bytes helm/mowgli/home/images/arch.png | Bin 24641 -> 0 bytes helm/mowgli/home/images/gantt_new.png | Bin 19172 -> 0 bytes helm/mowgli/home/images/istbutton.gif | Bin 47319 -> 0 bytes helm/mowgli/home/images/istbutton_small.gif | Bin 3128 -> 0 bytes helm/mowgli/home/images/istdrop.gif | Bin 14622 -> 0 bytes helm/mowgli/home/images/logo.png | Bin 11156 -> 0 bytes helm/mowgli/home/images/mowgli_combo.gif | Bin 47856 -> 0 bytes helm/mowgli/home/images/mowgli_combo.png | Bin 63492 -> 0 bytes helm/mowgli/home/images/mowgli_parquet.png | Bin 70983 -> 0 bytes .../home/images/mowgli_parquet_light.png | Bin 46885 -> 0 bytes helm/mowgli/home/images/pert_new.png | Bin 26056 -> 0 bytes .../misc/contract/MOWGLIfinal-for-ceto.zip | Bin 852811 -> 0 bytes .../misc/contract/RTD-annex2-rtd-final.pdf | Bin 179026 -> 0 bytes .../home/misc/contract/RTD-annex3-ist-fet.pdf | Bin 16433 -> 0 bytes .../misc/contract/RTD-audit-cert-annex4.pdf | Bin 19017 -> 0 bytes .../home/misc/contract/mowgli-an1-final.pdf | Bin 519358 -> 0 bytes .../home/misc/contract/mowgli-ctr-final.pdf | Bin 49544 -> 0 bytes helm/mowgli/home/misc/kick-off/AIP_Intro.ppt | Bin 880640 -> 0 bytes helm/mowgli/home/misc/kick-off/KM2002GO.ps | 1984 -- .../home/misc/kick-off/KM2002GO_mathweb.ps | 506 - .../home/misc/kick-off/MoWGLI-LogiCal.ps | 1919 -- helm/mowgli/home/misc/kick-off/lemme2.ppt | Bin 855024 -> 0 bytes helm/mowgli/home/misc/proposal/MOWGLI.xls | Bin 2235392 -> 0 bytes helm/mowgli/home/misc/proposal/mowgli.pdf | Bin 519358 -> 0 bytes helm/mowgli/home/misc/proposal/mowgli.ps | 9679 -------- helm/mowgli/home/misc/proposal/proposal.tgz | Bin 1384283 -> 0 bytes helm/mowgli/home/style/mowgli.css | 90 - helm/mowgli/home/templates/index.html | 17 - .../mowgli/home/templates/ml-help-example.txt | 101 - helm/mowgli/home/xml/Makefile | 15 - helm/mowgli/home/xml/consortium.xml | 191 - .../home/xml/deliverables/deliverable.dtd | 25 - .../xml/deliverables/distribution/d5a.xml | 12 - .../xml/deliverables/distribution/d5b.xml | 12 - .../d7a.xml | 12 - .../d7b.xml | 12 - .../home/xml/deliverables/interfaces/d4a.xml | 12 - .../home/xml/deliverables/interfaces/d4b.xml | 12 - .../home/xml/deliverables/interfaces/d4c.xml | 12 - .../home/xml/deliverables/interfaces/d4d.xml | 12 - .../home/xml/deliverables/interfaces/d4e.xml | 12 - .../home/xml/deliverables/metadata/d3a.xml | 12 - .../home/xml/deliverables/metadata/d3b.xml | 12 - .../deliverables/project-management/d0a.xml | 12 - .../deliverables/project-management/d0b.xml | 12 - .../deliverables/project-management/d0c.xml | 12 - .../deliverables/project-management/d0d.xml | 12 - .../deliverables/requirement-analysis/d1a.xml | 12 - .../deliverables/requirement-analysis/d1b.xml | 12 - .../deliverables/requirement-analysis/d1c.xml | 12 - .../testing-and-validation/d6a.xml | 12 - .../testing-and-validation/d6b.xml | 12 - .../testing-and-validation/d6c.xml | 12 - .../testing-and-validation/d6d.xml | 12 - .../xml/deliverables/transformation/d2a.xml | 12 - .../xml/deliverables/transformation/d2b.xml | 12 - .../xml/deliverables/transformation/d2c.xml | 12 - .../xml/deliverables/transformation/d2d.xml | 12 - .../xml/deliverables/transformation/d2e.xml | 12 - .../xml/deliverables/transformation/d2f.xml | 12 - .../xml/deliverables/transformation/d2g.xml | 12 - helm/mowgli/home/xml/home.xml | 85 - helm/mowgli/home/xml/members-index.xml | 90 - helm/mowgli/home/xml/members/kick-off.xml | 202 - helm/mowgli/home/xml/menu.xml | 112 - helm/mowgli/home/xml/mowgli-events.xml | 29 - .../home/xml/mowgli-events/kick-off.xml | 183 - .../home/xml/mowgli-xhtml1-transitional.dtd | 1223 - helm/mowgli/home/xml/news.xml | 118 - helm/mowgli/home/xml/other-events.xml | 370 - helm/mowgli/home/xml/people/aei/kelley.xml | 10 - helm/mowgli/home/xml/people/aei/pollney.xml | 19 - helm/mowgli/home/xml/people/aei/schutz.xml | 32 - helm/mowgli/home/xml/people/aei/velden.xml | 31 - helm/mowgli/home/xml/people/aei/wegner.xml | 52 - helm/mowgli/home/xml/people/aei/weyher.xml | 18 - .../home/xml/people/bologna/asperti.xml | 56 - helm/mowgli/home/xml/people/bologna/guidi.xml | 17 - .../home/xml/people/bologna/padovani.xml | 18 - .../home/xml/people/bologna/sacerdoti.xml | 19 - .../mowgli/home/xml/people/bologna/schena.xml | 18 - helm/mowgli/home/xml/people/dfki/goguadze.xml | 19 - helm/mowgli/home/xml/people/dfki/kohlhase.xml | 11 - .../mowgli/home/xml/people/dfki/libbrecht.xml | 15 - helm/mowgli/home/xml/people/dfki/melis.xml | 29 - helm/mowgli/home/xml/people/dfki/moschner.xml | 21 - helm/mowgli/home/xml/people/dfki/siekmann.xml | 33 - helm/mowgli/home/xml/people/index.xml | 64 - helm/mowgli/home/xml/people/inria/amerkad.xml | 10 - helm/mowgli/home/xml/people/inria/bertot.xml | 11 - helm/mowgli/home/xml/people/inria/chicli.xml | 11 - .../mowgli/home/xml/people/inria/delahaye.xml | 11 - .../mowgli/home/xml/people/inria/herbelin.xml | 20 - helm/mowgli/home/xml/people/inria/naciri.xml | 11 - helm/mowgli/home/xml/people/inria/pottier.xml | 13 - helm/mowgli/home/xml/people/inria/rideau.xml | 13 - helm/mowgli/home/xml/people/inria/thery.xml | 11 - helm/mowgli/home/xml/people/inria/werner.xml | 20 - .../home/xml/people/nijmegen/barendregt.xml | 12 - .../home/xml/people/nijmegen/barreiro.xml | 10 - .../mowgli/home/xml/people/nijmegen/cohen.xml | 12 - .../home/xml/people/nijmegen/cruz-filipe.xml | 11 - .../home/xml/people/nijmegen/geuvers.xml | 51 - .../mowgli/home/xml/people/nijmegen/niqui.xml | 11 - .../mowgli/home/xml/people/nijmegen/stein.xml | 11 - .../mowgli/home/xml/people/nijmegen/synek.xml | 11 - .../home/xml/people/nijmegen/wiedijk.xml | 12 - helm/mowgli/home/xml/people/person.dtd | 29 - .../xml/people/trusted-logic/bolignano.xml | 44 - .../home/xml/people/trusted-logic/gimenez.xml | 24 - .../xml/people/trusted-logic/loiseaux.xml | 17 - helm/mowgli/home/xml/project.xml | 43 - .../home/xml/proposal/EC-contribution.xml | 187 - .../mowgli/home/xml/proposal/contribution.xml | 95 - .../proposal/econ-scient-tech-prospects.xml | 126 - helm/mowgli/home/xml/proposal/innovation.xml | 146 - .../home/xml/proposal/project-components.xml | 50 - .../home/xml/proposal/project-management.xml | 256 - .../home/xml/proposal/project-objectives.xml | 156 - .../home/xml/proposal/project-planning.xml | 50 - .../home/xml/proposal/project-summary.xml | 120 - helm/mowgli/home/xml/publications/index.xml | 36 - .../xml/publications/mowgli/crimea2002_aw.xml | 14 - .../mowgli/crimea2002_aw_on_line.xml | 411 - .../xml/publications/others/category_al.xml | 15 - .../home/xml/publications/others/cc.xml | 8 - .../publications/others/crimea2001_apss.xml | 15 - .../home/xml/publications/others/cup_hp91.xml | 16 - .../home/xml/publications/others/cup_hp93.xml | 16 - .../home/xml/publications/others/cup_s.xml | 9 - .../home/xml/publications/others/cup_s2.xml | 9 - .../publications/others/extreme2001_apss.xml | 13 - .../home/xml/publications/others/har_bg.xml | 11 - .../home/xml/publications/others/jep_ws.xml | 13 - .../home/xml/publications/others/jep_wwsw.xml | 22 - .../xml/publications/others/jlp2001_scg.xml | 18 - .../publications/others/mathml2000_apss.xml | 13 - .../home/xml/publications/others/mscs_gb.xml | 15 - .../xml/publications/others/publication.dtd | 17 - .../xml/publications/others/tcs2001_og.xml | 13 - .../publications/others/tphols2000_gwz.xml | 15 - .../publications/others/tphols2001_apss.xml | 14 - .../home/xml/publications/others/w3c_bl98.xml | 12 - helm/mowgli/home/xml/sites/aei.xml | 84 - helm/mowgli/home/xml/sites/bologna.xml | 51 - helm/mowgli/home/xml/sites/dfki.xml | 72 - helm/mowgli/home/xml/sites/inria.xml | 119 - helm/mowgli/home/xml/sites/nijmegen.xml | 58 - helm/mowgli/home/xml/sites/site.dtd | 32 - helm/mowgli/home/xml/sites/trusted-logic.xml | 35 - helm/mowgli/home/xml/slides/mowgligroup.xml | 87 - helm/mowgli/home/xml/software/index.xml | 28 - .../home/xml/work-packages/distribution.xml | 63 - helm/mowgli/home/xml/work-packages/index.xml | 121 - ...rmation-dissemination-and-exploitation.xml | 53 - .../home/xml/work-packages/interfaces.xml | 69 - .../home/xml/work-packages/metadata.xml | 57 - .../xml/work-packages/project-management.xml | 68 - .../work-packages/requirement-analysis.xml | 94 - .../work-packages/testing-and-validation.xml | 59 - .../home/xml/work-packages/transformation.xml | 105 - .../home/xml/work-packages/work-package.dtd | 50 - .../mowgli/home/xsl/approaching-deadlines.xsl | 25 - helm/mowgli/home/xsl/common.xsl | 215 - helm/mowgli/home/xsl/consortium.xsl | 48 - helm/mowgli/home/xsl/deadlines.xsl | 73 - helm/mowgli/home/xsl/deliverable.xsl | 57 - helm/mowgli/home/xsl/events.xsl | 97 - helm/mowgli/home/xsl/latest-news.xsl | 23 - helm/mowgli/home/xsl/management.xsl | 201 - helm/mowgli/home/xsl/minutes.xsl | 121 - helm/mowgli/home/xsl/news.xsl | 59 - helm/mowgli/home/xsl/people-list.xsl | 75 - helm/mowgli/home/xsl/person.xsl | 120 - helm/mowgli/home/xsl/project.xsl | 50 - helm/mowgli/home/xsl/publication.xsl | 51 - helm/mowgli/home/xsl/publications-index.xsl | 84 - helm/mowgli/home/xsl/site.xsl | 102 - helm/mowgli/home/xsl/work-package.xsl | 115 - helm/mowgli/home/xsl/work-packages_index.xsl | 103 - helm/mowgli/home/xsl/xhtml-content.xsl | 140 - helm/nuprl_stylesheets/nuprl_abstract.xsl | 170 - .../nuprl_stylesheets/nuprl_annotatedpres.xsl | 61 - .../nuprl_content_to_html2.xsl | 3047 --- helm/nuprl_stylesheets/nuprl_expand.xsl | 108 - helm/nuprl_stylesheets/nuprl_html_arith.xsl | 650 - helm/nuprl_stylesheets/nuprl_html_basic.xsl | 532 - helm/nuprl_stylesheets/nuprl_link.xsl | 127 - .../nuprl_stylesheets/nuprl_links_library.xsl | 371 - helm/nuprl_stylesheets/nuprl_mmlextension.xsl | 3046 --- helm/nuprl_stylesheets/nuprl_proof.xsl | 72 - helm/nuprl_stylesheets/nuprl_rules.xsl | 876 - helm/nuprl_stylesheets/nuprl_term.xsl | 598 - helm/nuprl_stylesheets/nuprl_tree.xsl | 25 - helm/nuprl_stylesheets/xslt_index.txt | 13 - helm/ocaml/.cvsignore | 11 - helm/ocaml/METAS/.cvsignore | 1 - helm/ocaml/METAS/meta.helm-cic.src | 5 - .../ocaml/METAS/meta.helm-cic_annotations.src | 5 - .../METAS/meta.helm-cic_annotations_cache.src | 5 - helm/ocaml/METAS/meta.helm-cic_cache.src | 5 - .../METAS/meta.helm-cic_disambiguation.src | 4 - helm/ocaml/METAS/meta.helm-cic_notation.src | 4 - helm/ocaml/METAS/meta.helm-cic_omdoc.src | 4 - .../METAS/meta.helm-cic_proof_checking.src | 7 - .../METAS/meta.helm-cic_textual_parser.src | 5 - .../METAS/meta.helm-cic_transformations.src | 5 - .../ocaml/METAS/meta.helm-cic_unification.src | 5 - helm/ocaml/METAS/meta.helm-extlib.src | 5 - helm/ocaml/METAS/meta.helm-getter.src | 5 - helm/ocaml/METAS/meta.helm-hbugs.src | 4 - helm/ocaml/METAS/meta.helm-hmysql.src | 4 - helm/ocaml/METAS/meta.helm-logger.src | 5 - helm/ocaml/METAS/meta.helm-mathql.src | 5 - .../METAS/meta.helm-mathql_generator.src | 5 - .../METAS/meta.helm-mathql_interpreter.src | 6 - helm/ocaml/METAS/meta.helm-metadata.src | 4 - helm/ocaml/METAS/meta.helm-paramodulation.src | 5 - helm/ocaml/METAS/meta.helm-pxp.src | 5 - helm/ocaml/METAS/meta.helm-registry.src | 4 - helm/ocaml/METAS/meta.helm-tactics.src | 4 - .../meta.helm-tex_cic_textual_parser.src | 5 - helm/ocaml/METAS/meta.helm-thread.src | 7 - helm/ocaml/METAS/meta.helm-urimanager.src | 5 - helm/ocaml/METAS/meta.helm-utf8_macros.src | 7 - helm/ocaml/METAS/meta.helm-xml.src | 5 - helm/ocaml/METAS/meta.helm-xmldiff.src | 4 - helm/ocaml/Makefile.common.in | 124 - helm/ocaml/Makefile.in | 93 - helm/ocaml/TODO | 0 helm/ocaml/cic/.cvsignore | 4 - helm/ocaml/cic/.depend | 21 - helm/ocaml/cic/Makefile | 18 - helm/ocaml/cic/cic.ml | 224 - helm/ocaml/cic/cicParser.ml | 772 - helm/ocaml/cic/cicParser.mli | 46 - helm/ocaml/cic/cicUniv.ml | 947 - helm/ocaml/cic/cicUniv.mli | 152 - helm/ocaml/cic/cicUtil.ml | 229 - helm/ocaml/cic/cicUtil.mli | 62 - helm/ocaml/cic/deannotate.ml | 124 - helm/ocaml/cic/deannotate.mli | 36 - helm/ocaml/cic/helmLibraryObjects.ml | 203 - helm/ocaml/cic/helmLibraryObjects.mli | 182 - helm/ocaml/cic/libraryObjects.ml | 97 - helm/ocaml/cic/libraryObjects.mli | 42 - helm/ocaml/cic/test.ml | 86 - helm/ocaml/cic/unshare.ml | 84 - helm/ocaml/cic/unshare.mli | 26 - helm/ocaml/cic_disambiguation/.cvsignore | 5 - helm/ocaml/cic_disambiguation/.depend | 17 - helm/ocaml/cic_disambiguation/Makefile | 32 - helm/ocaml/cic_disambiguation/disambiguate.ml | 974 - .../ocaml/cic_disambiguation/disambiguate.mli | 91 - .../cic_disambiguation/disambiguateChoices.ml | 67 - .../disambiguateChoices.mli | 53 - .../cic_disambiguation/disambiguatePp.ml | 83 - .../cic_disambiguation/disambiguatePp.mli | 34 - .../cic_disambiguation/disambiguateTypes.ml | 126 - .../cic_disambiguation/disambiguateTypes.mli | 97 - .../cic_disambiguation/doc/precedence.txt | 32 - .../cic_disambiguation/number_notation.ml | 56 - .../cic_disambiguation/tests/aliases.txt | 6 - helm/ocaml/cic_disambiguation/tests/eq.txt | 1 - helm/ocaml/cic_disambiguation/tests/match.txt | 49 - helm/ocaml/cic_notation/.cvsignore | 7 - helm/ocaml/cic_notation/.depend | 73 - helm/ocaml/cic_notation/Makefile | 74 - helm/ocaml/cic_notation/TODO | 47 - helm/ocaml/cic_notation/box.ml | 150 - helm/ocaml/cic_notation/box.mli | 78 - helm/ocaml/cic_notation/boxPp.ml | 239 - helm/ocaml/cic_notation/boxPp.mli | 33 - helm/ocaml/cic_notation/cicNotation.ml | 90 - helm/ocaml/cic_notation/cicNotation.mli | 44 - helm/ocaml/cic_notation/cicNotationEnv.ml | 151 - helm/ocaml/cic_notation/cicNotationEnv.mli | 92 - helm/ocaml/cic_notation/cicNotationFwd.ml | 218 - helm/ocaml/cic_notation/cicNotationFwd.mli | 36 - helm/ocaml/cic_notation/cicNotationLexer.ml | 351 - helm/ocaml/cic_notation/cicNotationLexer.mli | 48 - helm/ocaml/cic_notation/cicNotationMatcher.ml | 448 - .../ocaml/cic_notation/cicNotationMatcher.mli | 79 - .../cicNotationParser.expanded.ml | 1162 - helm/ocaml/cic_notation/cicNotationParser.ml | 645 - helm/ocaml/cic_notation/cicNotationParser.mli | 66 - helm/ocaml/cic_notation/cicNotationPp.ml | 259 - helm/ocaml/cic_notation/cicNotationPp.mli | 34 - helm/ocaml/cic_notation/cicNotationPres.ml | 427 - helm/ocaml/cic_notation/cicNotationPres.mli | 52 - helm/ocaml/cic_notation/cicNotationPt.ml | 175 - helm/ocaml/cic_notation/cicNotationRew.ml | 780 - helm/ocaml/cic_notation/cicNotationRew.mli | 74 - helm/ocaml/cic_notation/cicNotationTag.ml | 45 - helm/ocaml/cic_notation/cicNotationTag.mli | 27 - helm/ocaml/cic_notation/cicNotationUtil.ml | 385 - helm/ocaml/cic_notation/cicNotationUtil.mli | 91 - helm/ocaml/cic_notation/doc/.cvsignore | 6 - helm/ocaml/cic_notation/doc/Makefile | 124 - helm/ocaml/cic_notation/doc/body.tex | 788 - helm/ocaml/cic_notation/doc/infernce.sty | 217 - helm/ocaml/cic_notation/doc/ligature.sty | 169 - helm/ocaml/cic_notation/doc/main.tex | 43 - helm/ocaml/cic_notation/doc/manfnt.sty | 74 - helm/ocaml/cic_notation/doc/reserved.sty | 80 - helm/ocaml/cic_notation/doc/samples.ma | 139 - helm/ocaml/cic_notation/doc/semantic.sty | 137 - helm/ocaml/cic_notation/doc/shrthand.sty | 96 - helm/ocaml/cic_notation/doc/tdiagram.sty | 166 - helm/ocaml/cic_notation/grafiteAst.ml | 249 - helm/ocaml/cic_notation/grafiteAstPp.ml | 366 - helm/ocaml/cic_notation/grafiteAstPp.mli | 69 - helm/ocaml/cic_notation/grafiteParser.ml | 556 - helm/ocaml/cic_notation/grafiteParser.mli | 37 - helm/ocaml/cic_notation/mpresentation.ml | 256 - helm/ocaml/cic_notation/mpresentation.mli | 86 - helm/ocaml/cic_notation/print_grammar.ml | 285 - helm/ocaml/cic_notation/renderingAttrs.ml | 48 - helm/ocaml/cic_notation/renderingAttrs.mli | 57 - helm/ocaml/cic_notation/test_dep.ml | 38 - helm/ocaml/cic_notation/test_lexer.ml | 58 - helm/ocaml/cic_notation/test_parser.conf.xml | 15 - helm/ocaml/cic_notation/test_parser.ml | 161 - helm/ocaml/cic_omdoc/.cvsignore | 1 - helm/ocaml/cic_omdoc/.depend | 17 - helm/ocaml/cic_omdoc/Makefile | 19 - helm/ocaml/cic_omdoc/cic2acic.ml | 733 - helm/ocaml/cic_omdoc/cic2acic.mli | 61 - helm/ocaml/cic_omdoc/cic2content.ml | 992 - helm/ocaml/cic_omdoc/cic2content.mli | 33 - helm/ocaml/cic_omdoc/content.ml | 167 - helm/ocaml/cic_omdoc/content.mli | 157 - helm/ocaml/cic_omdoc/content2cic.ml | 268 - helm/ocaml/cic_omdoc/content2cic.mli | 35 - helm/ocaml/cic_omdoc/contentPp.ml | 156 - helm/ocaml/cic_omdoc/contentPp.mli | 30 - helm/ocaml/cic_omdoc/doubleTypeInference.ml | 752 - helm/ocaml/cic_omdoc/doubleTypeInference.mli | 32 - helm/ocaml/cic_omdoc/eta_fixing.ml | 311 - helm/ocaml/cic_omdoc/eta_fixing.mli | 28 - helm/ocaml/cic_proof_checking/.cvsignore | 4 - helm/ocaml/cic_proof_checking/.depend | 30 - helm/ocaml/cic_proof_checking/Makefile | 41 - helm/ocaml/cic_proof_checking/cicElim.ml | 415 - helm/ocaml/cic_proof_checking/cicElim.mli | 41 - .../cic_proof_checking/cicEnvironment.ml | 678 - .../cic_proof_checking/cicEnvironment.mli | 136 - helm/ocaml/cic_proof_checking/cicLogger.ml | 60 - helm/ocaml/cic_proof_checking/cicLogger.mli | 42 - .../cic_proof_checking/cicMiniReduction.ml | 74 - .../cic_proof_checking/cicMiniReduction.mli | 26 - helm/ocaml/cic_proof_checking/cicPp.ml | 478 - helm/ocaml/cic_proof_checking/cicPp.mli | 55 - helm/ocaml/cic_proof_checking/cicRecord.ml | 91 - helm/ocaml/cic_proof_checking/cicRecord.mli | 28 - helm/ocaml/cic_proof_checking/cicReduction.ml | 1136 - .../ocaml/cic_proof_checking/cicReduction.mli | 42 - .../cic_proof_checking/cicSubstitution.ml | 425 - .../cic_proof_checking/cicSubstitution.mli | 56 - .../cic_proof_checking/cicTypeChecker.ml | 2163 -- .../cic_proof_checking/cicTypeChecker.mli | 54 - helm/ocaml/cic_proof_checking/cicUnivUtils.ml | 151 - .../ocaml/cic_proof_checking/cicUnivUtils.mli | 32 - .../cic_proof_checking/doc/inductive.txt | 41 - .../cic_proof_checking/freshNamesGenerator.ml | 352 - .../freshNamesGenerator.mli | 46 - .../cic_proof_checking/utilities/.cvsignore | 7 - .../cic_proof_checking/utilities/Makefile | 15 - .../utilities/create_environment.ml | 73 - .../cic_proof_checking/utilities/list_uris.ml | 30 - .../utilities/parse_library.ml | 54 - helm/ocaml/cic_transformations/.cvsignore | 1 - helm/ocaml/cic_transformations/.depend | 14 - helm/ocaml/cic_transformations/Makefile | 34 - .../applyTransformation.ml | 70 - .../applyTransformation.mli | 57 - helm/ocaml/cic_transformations/cic2Xml.ml | 479 - helm/ocaml/cic_transformations/cic2Xml.mli | 46 - .../ocaml/cic_transformations/content2pres.ml | 823 - .../cic_transformations/content2pres.mli | 39 - .../content_expressions.ml | 448 - helm/ocaml/cic_transformations/domMisc.ml | 49 - helm/ocaml/cic_transformations/domMisc.mli | 46 - .../ocaml/cic_transformations/sequent2pres.ml | 104 - .../cic_transformations/sequent2pres.mli | 39 - helm/ocaml/cic_transformations/xml2Gdome.ml | 133 - helm/ocaml/cic_transformations/xml2Gdome.mli | 27 - helm/ocaml/cic_unification/.cvsignore | 1 - helm/ocaml/cic_unification/.depend | 15 - helm/ocaml/cic_unification/Makefile | 15 - helm/ocaml/cic_unification/cicMetaSubst.ml | 896 - helm/ocaml/cic_unification/cicMetaSubst.mli | 92 - helm/ocaml/cic_unification/cicMkImplicit.ml | 120 - helm/ocaml/cic_unification/cicMkImplicit.mli | 60 - helm/ocaml/cic_unification/cicRefine.ml | 1371 -- helm/ocaml/cic_unification/cicRefine.mli | 43 - helm/ocaml/cic_unification/cicUnification.ml | 748 - helm/ocaml/cic_unification/cicUnification.mli | 58 - helm/ocaml/cic_unification/coercDb.ml | 75 - helm/ocaml/cic_unification/coercDb.mli | 48 - helm/ocaml/cic_unification/coercGraph.ml | 210 - helm/ocaml/cic_unification/coercGraph.mli | 39 - helm/ocaml/configure.ac | 52 - helm/ocaml/extlib/.cvsignore | 2 - helm/ocaml/extlib/.depend | 2 - helm/ocaml/extlib/Makefile | 12 - helm/ocaml/extlib/hExtlib.ml | 284 - helm/ocaml/extlib/hExtlib.mli | 79 - helm/ocaml/getter/.cvsignore | 2 - helm/ocaml/getter/.depend | 30 - helm/ocaml/getter/.ocamlinit | 3 - helm/ocaml/getter/Makefile | 24 - helm/ocaml/getter/http_getter.ml | 361 - helm/ocaml/getter/http_getter.mli | 66 - helm/ocaml/getter/http_getter_common.ml | 166 - helm/ocaml/getter/http_getter_common.mli | 70 - helm/ocaml/getter/http_getter_const.ml | 100 - helm/ocaml/getter/http_getter_const.mli | 39 - helm/ocaml/getter/http_getter_env.ml | 100 - helm/ocaml/getter/http_getter_env.mli | 49 - helm/ocaml/getter/http_getter_logger.ml | 61 - helm/ocaml/getter/http_getter_logger.mli | 49 - helm/ocaml/getter/http_getter_misc.ml | 313 - helm/ocaml/getter/http_getter_misc.mli | 102 - helm/ocaml/getter/http_getter_storage.ml | 261 - helm/ocaml/getter/http_getter_storage.mli | 67 - helm/ocaml/getter/http_getter_types.ml | 68 - helm/ocaml/getter/http_getter_wget.ml | 68 - helm/ocaml/getter/http_getter_wget.mli | 35 - helm/ocaml/getter/mkindexes.pl | 40 - helm/ocaml/getter/sample.conf.xml | 44 - helm/ocaml/getter/test.ml | 11 - helm/ocaml/hbugs/.cvsignore | 9 - helm/ocaml/hbugs/.depend | 20 - helm/ocaml/hbugs/Makefile | 100 - helm/ocaml/hbugs/broker.ml | 291 - helm/ocaml/hbugs/client.ml | 44 - helm/ocaml/hbugs/data/.cvsignore | 1 - helm/ocaml/hbugs/data/hbugs_tutor.TPL.ml | 42 - helm/ocaml/hbugs/data/tutors_index.xml | 140 - helm/ocaml/hbugs/doc/.cvsignore | 1 - helm/ocaml/hbugs/doc/hbugs.dia | Bin 1927 -> 0 bytes helm/ocaml/hbugs/hbugs_broker_registry.ml | 315 - helm/ocaml/hbugs/hbugs_broker_registry.mli | 87 - helm/ocaml/hbugs/hbugs_client.ml | 524 - helm/ocaml/hbugs/hbugs_client.mli | 33 - helm/ocaml/hbugs/hbugs_client_gui.glade | 672 - helm/ocaml/hbugs/hbugs_common.ml | 46 - helm/ocaml/hbugs/hbugs_common.mli | 32 - helm/ocaml/hbugs/hbugs_id_generator.ml | 65 - helm/ocaml/hbugs/hbugs_id_generator.mli | 35 - helm/ocaml/hbugs/hbugs_messages.ml | 366 - helm/ocaml/hbugs/hbugs_messages.mli | 49 - helm/ocaml/hbugs/hbugs_misc.ml | 120 - helm/ocaml/hbugs/hbugs_misc.mli | 50 - helm/ocaml/hbugs/hbugs_tutors.ml | 264 - helm/ocaml/hbugs/hbugs_tutors.mli | 60 - helm/ocaml/hbugs/hbugs_types.mli | 104 - helm/ocaml/hbugs/run/.cvsignore | 1 - helm/ocaml/hbugs/scripts/brokerctl.sh | 15 - helm/ocaml/hbugs/scripts/build_tutors.ml | 112 - helm/ocaml/hbugs/scripts/ls_tutors.ml | 68 - helm/ocaml/hbugs/scripts/sabba.sh | 47 - .../ocaml/hbugs/search_pattern_apply_tutor.ml | 146 - helm/ocaml/hbugs/test/.cvsignore | 7 - helm/ocaml/hbugs/test/HBUGS_MESSAGES.xml | 144 - helm/ocaml/hbugs/test/Makefile | 5 - helm/ocaml/hbugs/test/test_serialization.ml | 70 - helm/ocaml/hmysql/.cvsignore | 2 - helm/ocaml/hmysql/.depend | 2 - helm/ocaml/hmysql/Makefile | 12 - helm/ocaml/hmysql/hMysql.ml | 78 - helm/ocaml/hmysql/hMysql.mli | 56 - helm/ocaml/license | 25 - helm/ocaml/logger/.cvsignore | 7 - helm/ocaml/logger/.depend | 2 - helm/ocaml/logger/Makefile | 10 - helm/ocaml/logger/helmLogger.ml | 61 - helm/ocaml/logger/helmLogger.mli | 27 - helm/ocaml/mathql/.cvsignore | 1 - helm/ocaml/mathql/.depend | 0 helm/ocaml/mathql/Makefile | 13 - helm/ocaml/mathql/mathQL.ml | 131 - helm/ocaml/mathql_generator/.cvsignore | 5 - helm/ocaml/mathql_generator/.depend | 15 - helm/ocaml/mathql_generator/Makefile | 17 - .../mathql_generator/cGLocateInductive.ml | 40 - .../mathql_generator/cGLocateInductive.mli | 31 - .../mathql_generator/cGMatchConclusion.ml | 159 - .../mathql_generator/cGMatchConclusion.mli | 33 - .../ocaml/mathql_generator/cGSearchPattern.ml | 195 - .../mathql_generator/cGSearchPattern.mli | 39 - helm/ocaml/mathql_generator/mQGTypes.ml | 75 - helm/ocaml/mathql_generator/mQGUtil.ml | 148 - helm/ocaml/mathql_generator/mQGUtil.mli | 69 - .../ocaml/mathql_generator/mQueryGenerator.ml | 189 - .../mathql_generator/mQueryGenerator.mli | 42 - helm/ocaml/mathql_interpreter/.cvsignore | 1 - helm/ocaml/mathql_interpreter/.depend | 27 - helm/ocaml/mathql_interpreter/Makefile | 21 - helm/ocaml/mathql_interpreter/mQIConn.ml | 128 - helm/ocaml/mathql_interpreter/mQIConn.mli | 65 - helm/ocaml/mathql_interpreter/mQIMap.ml | 91 - helm/ocaml/mathql_interpreter/mQIMap.mli | 47 - helm/ocaml/mathql_interpreter/mQIMySql.ml | 94 - helm/ocaml/mathql_interpreter/mQIMySql.mli | 36 - helm/ocaml/mathql_interpreter/mQIPostgres.ml | 94 - helm/ocaml/mathql_interpreter/mQIPostgres.mli | 36 - helm/ocaml/mathql_interpreter/mQIProperty.ml | 101 - helm/ocaml/mathql_interpreter/mQIProperty.mli | 32 - helm/ocaml/mathql_interpreter/mQITypes.ml | 41 - helm/ocaml/mathql_interpreter/mQIUtil.ml | 153 - helm/ocaml/mathql_interpreter/mQIUtil.mli | 69 - .../mathql_interpreter/mQueryInterpreter.ml | 245 - .../mathql_interpreter/mQueryInterpreter.mli | 29 - .../ocaml/mathql_interpreter/mQueryTLexer.mll | 133 - .../mathql_interpreter/mQueryTParser.mly | 314 - helm/ocaml/mathql_interpreter/mQueryUtil.ml | 218 - helm/ocaml/mathql_interpreter/mQueryUtil.mli | 49 - helm/ocaml/metadata/.cvsignore | 2 - helm/ocaml/metadata/.depend | 20 - helm/ocaml/metadata/Makefile | 38 - helm/ocaml/metadata/dump_db/dump.sh | 20 - helm/ocaml/metadata/extractor/.cvsignore | 6 - helm/ocaml/metadata/extractor/.depend | 0 helm/ocaml/metadata/extractor/Makefile | 30 - .../metadata/extractor/extractor.conf.xml | 19 - helm/ocaml/metadata/extractor/extractor.ml | 78 - .../metadata/extractor/extractor_manager.ml | 306 - helm/ocaml/metadata/metadataConstraints.ml | 647 - helm/ocaml/metadata/metadataConstraints.mli | 111 - helm/ocaml/metadata/metadataDb.ml | 191 - helm/ocaml/metadata/metadataDb.mli | 41 - helm/ocaml/metadata/metadataExtractor.ml | 348 - helm/ocaml/metadata/metadataExtractor.mli | 42 - helm/ocaml/metadata/metadataPp.ml | 115 - helm/ocaml/metadata/metadataPp.mli | 49 - helm/ocaml/metadata/metadataTypes.ml | 113 - helm/ocaml/metadata/metadataTypes.mli | 84 - helm/ocaml/metadata/sqlStatements.ml | 198 - helm/ocaml/metadata/sqlStatements.mli | 45 - helm/ocaml/metadata/table_creator/.cvsignore | 6 - helm/ocaml/metadata/table_creator/.depend | 4 - helm/ocaml/metadata/table_creator/Makefile | 31 - helm/ocaml/metadata/table_creator/sync_db.sh | 28 - .../metadata/table_creator/table_creator.ml | 83 - helm/ocaml/paramodulation/.cvsignore | 3 - helm/ocaml/paramodulation/.depend | 13 - helm/ocaml/paramodulation/Makefile | 52 - helm/ocaml/paramodulation/README | 21 - .../paramodulation/discrimination_tree.ml | 303 - helm/ocaml/paramodulation/indexing.ml | 1051 - helm/ocaml/paramodulation/inference.ml | 924 - helm/ocaml/paramodulation/inference.mli | 128 - helm/ocaml/paramodulation/path_indexing.ml | 287 - helm/ocaml/paramodulation/saturate_main.ml | 108 - helm/ocaml/paramodulation/saturation.ml | 2185 -- helm/ocaml/paramodulation/test_indexing.ml | 251 - helm/ocaml/paramodulation/trie.ml | 153 - helm/ocaml/paramodulation/utils.ml | 520 - helm/ocaml/paramodulation/utils.mli | 78 - helm/ocaml/registry/.cvsignore | 8 - helm/ocaml/registry/.depend | 2 - helm/ocaml/registry/.ocamlinit | 4 - helm/ocaml/registry/Makefile | 8 - helm/ocaml/registry/helm_registry.ml | 420 - helm/ocaml/registry/helm_registry.mli | 199 - helm/ocaml/registry/test.ml | 30 - helm/ocaml/registry/tests/sample.xml | 34 - helm/ocaml/registry/tests/sample_include.xml | 15 - helm/ocaml/tactics/.cvsignore | 9 - helm/ocaml/tactics/.depend | 121 - helm/ocaml/tactics/Makefile | 29 - helm/ocaml/tactics/autoTactic.ml | 357 - helm/ocaml/tactics/autoTactic.mli | 38 - helm/ocaml/tactics/continuationals.ml | 355 - helm/ocaml/tactics/continuationals.mli | 126 - helm/ocaml/tactics/discriminationTactics.ml | 552 - helm/ocaml/tactics/discriminationTactics.mli | 30 - helm/ocaml/tactics/doc/.cvsignore | 6 - helm/ocaml/tactics/doc/Makefile | 124 - helm/ocaml/tactics/doc/body.tex | 247 - helm/ocaml/tactics/doc/infernce.sty | 217 - helm/ocaml/tactics/doc/ligature.sty | 169 - helm/ocaml/tactics/doc/main.tex | 69 - helm/ocaml/tactics/doc/reserved.sty | 80 - helm/ocaml/tactics/doc/semantic.sty | 137 - helm/ocaml/tactics/doc/shrthand.sty | 96 - helm/ocaml/tactics/doc/tdiagram.sty | 166 - helm/ocaml/tactics/eliminationTactics.ml | 216 - helm/ocaml/tactics/eliminationTactics.mli | 33 - helm/ocaml/tactics/equalityTactics.ml | 356 - helm/ocaml/tactics/equalityTactics.mli | 40 - helm/ocaml/tactics/fourier.ml | 244 - helm/ocaml/tactics/fourier.mli | 27 - helm/ocaml/tactics/fourierR.ml | 1205 - helm/ocaml/tactics/fourierR.mli | 5 - helm/ocaml/tactics/fwdSimplTactic.ml | 143 - helm/ocaml/tactics/fwdSimplTactic.mli | 32 - helm/ocaml/tactics/hashtbl_equiv.ml | 189 - helm/ocaml/tactics/hashtbl_equiv.mli | 38 - helm/ocaml/tactics/history.ml | 84 - helm/ocaml/tactics/history.mli | 35 - helm/ocaml/tactics/introductionTactics.ml | 47 - helm/ocaml/tactics/introductionTactics.mli | 31 - helm/ocaml/tactics/metadataQuery.ml | 633 - helm/ocaml/tactics/metadataQuery.mli | 69 - helm/ocaml/tactics/negationTactics.ml | 86 - helm/ocaml/tactics/negationTactics.mli | 28 - helm/ocaml/tactics/primitiveTactics.ml | 565 - helm/ocaml/tactics/primitiveTactics.mli | 59 - helm/ocaml/tactics/proofEngineHelpers.ml | 685 - helm/ocaml/tactics/proofEngineHelpers.mli | 118 - helm/ocaml/tactics/proofEngineReduction.ml | 992 - helm/ocaml/tactics/proofEngineReduction.mli | 49 - .../tactics/proofEngineStructuralRules.ml | 193 - .../tactics/proofEngineStructuralRules.mli | 34 - helm/ocaml/tactics/proofEngineTypes.ml | 100 - helm/ocaml/tactics/proofEngineTypes.mli | 77 - helm/ocaml/tactics/reductionTactics.ml | 218 - helm/ocaml/tactics/reductionTactics.mli | 47 - helm/ocaml/tactics/ring.ml | 594 - helm/ocaml/tactics/ring.mli | 12 - helm/ocaml/tactics/statefulProofEngine.ml | 212 - helm/ocaml/tactics/statefulProofEngine.mli | 120 - helm/ocaml/tactics/tacticChaser.ml | 257 - helm/ocaml/tactics/tacticals.ml | 349 - helm/ocaml/tactics/tacticals.mli | 92 - helm/ocaml/tactics/tactics.ml | 70 - helm/ocaml/tactics/tactics.mli | 86 - helm/ocaml/tactics/variousTactics.ml | 176 - helm/ocaml/tactics/variousTactics.mli | 34 - helm/ocaml/thread/.cvsignore | 1 - helm/ocaml/thread/.depend | 4 - helm/ocaml/thread/Makefile | 28 - helm/ocaml/thread/extThread.ml | 108 - helm/ocaml/thread/extThread.mli | 35 - helm/ocaml/thread/fake/.cvsignore | 1 - helm/ocaml/thread/fake/threadSafe.ml | 35 - helm/ocaml/thread/fake/threadSafe.mli | 44 - helm/ocaml/thread/threadSafe.ml | 98 - helm/ocaml/thread/threadSafe.mli | 44 - helm/ocaml/urimanager/.cvsignore | 1 - helm/ocaml/urimanager/.depend | 2 - helm/ocaml/urimanager/Makefile | 10 - helm/ocaml/urimanager/uriManager.ml | 223 - helm/ocaml/urimanager/uriManager.mli | 71 - helm/ocaml/utf8_macros/.cvsignore | 3 - helm/ocaml/utf8_macros/.depend | 2 - helm/ocaml/utf8_macros/Makefile | 37 - helm/ocaml/utf8_macros/README.syntax | 15 - .../ocaml/utf8_macros/data/dictionary-tex.xml | 378 - .../ocaml/utf8_macros/data/entities-table.xml | 2079 -- .../ocaml/utf8_macros/data/extra-entities.xml | 16 - helm/ocaml/utf8_macros/make_table.ml | 100 - helm/ocaml/utf8_macros/pa_unicode_macro.ml | 65 - helm/ocaml/utf8_macros/test.ml | 1 - helm/ocaml/utf8_macros/utf8Macro.ml | 45 - helm/ocaml/utf8_macros/utf8Macro.mli | 40 - helm/ocaml/utf8_macros/utf8MacroTable.ml | 3625 --- helm/ocaml/xml/.cvsignore | 3 - helm/ocaml/xml/.depend | 4 - helm/ocaml/xml/Makefile | 12 - helm/ocaml/xml/test.ml | 59 - helm/ocaml/xml/xml.ml | 162 - helm/ocaml/xml/xml.mli | 73 - helm/ocaml/xml/xmlPushParser.ml | 116 - helm/ocaml/xml/xmlPushParser.mli | 78 - helm/ocaml/xmldiff/.cvsignore | 1 - helm/ocaml/xmldiff/.depend | 2 - helm/ocaml/xmldiff/Makefile | 10 - helm/ocaml/xmldiff/xmlDiff.ml | 343 - helm/ocaml/xmldiff/xmlDiff.mli | 30 - helm/on-line/html/cic/control.html | 189 - helm/on-line/html/cic/index.html | 25 - helm/on-line/html/configuration.html | 373 - helm/on-line/html/folder/control.html | 64 - helm/on-line/html/folder/index.html | 25 - helm/on-line/html/theory/control.html | 64 - helm/on-line/html/theory/index.html | 25 - helm/on-line/icons/folder.png | Bin 706 -> 0 bytes helm/on-line/icons/object.png | Bin 893 -> 0 bytes helm/on-line/icons/theory.png | Bin 1287 -> 0 bytes helm/on-line/javascript/.cvsignore | 1 - helm/on-line/javascript/Makefile | 19 - helm/on-line/javascript/helmjsmenu.js | 58 - helm/on-line/javascript/prelude.js | 178 - helm/on-line/xslt/getParam.xsl | 28 - helm/on-line/xslt/ls2theory.xsl | 85 - helm/on-line/xslt/makeGraphLinks.xsl | 138 - helm/on-line/xslt/metadataControl.xsl | 44 - helm/on-line/xslt/resolve_topurl.xsl | 285 - helm/on-line/xslt/search.xsl | 88 - helm/on-line/xslt/substKey.xsl | 94 - helm/on-line/xslt/toplevel_header.xsl | 87 - helm/on-line/xslt/utils.xsl | 41 - helm/on-line/xslt/xslt_index.txt | 9 - helm/pacchetti/Makefile | 76 - helm/papers/calculemus-2003/.cvsignore | 4 - helm/papers/calculemus-2003/Makefile | 95 - helm/papers/calculemus-2003/draftstamp.sty | 45 - helm/papers/calculemus-2003/ed.sty | 79 - helm/papers/calculemus-2003/eps/arch.dia | Bin 1938 -> 0 bytes helm/papers/calculemus-2003/eps/arch.eps | 5109 ---- .../papers/calculemus-2003/eps/interfaces.dia | Bin 2276 -> 0 bytes .../papers/calculemus-2003/eps/interfaces.eps | 9640 -------- helm/papers/calculemus-2003/eps/status.eps | 961 - helm/papers/calculemus-2003/eps/step1.eps | 19631 ---------------- helm/papers/calculemus-2003/eps/step2.eps | 5586 ----- .../calculemus-2003/hbugs-calculemus-2003.pdf | Bin 359155 -> 0 bytes .../hbugs-calculemus-2003.ps.gz | Bin 206733 -> 0 bytes .../calculemus-2003/hbugs-calculemus-2003.tex | 873 - helm/papers/calculemus-2003/llncs.cls | 1015 - helm/papers/calculemus-2003/outline.txt | 48 - .../calculemus-2003/referaggio_hbugs.txt | 253 - .../referaggio_hbugs_short.txt | 29 - helm/papers/calculemus-2003/slides/Makefile | 9 - .../calculemus-2003/slides/advilogo.anim.gif | Bin 83220 -> 0 bytes helm/papers/calculemus-2003/slides/bar.eps | 15745 ------------- .../slides/eps/hbugsArch-slides.eps | 4956 ---- .../slides/eps/hbugsInterfaces-slides.eps | 9640 -------- .../slides/eps/helmHttpDeps-slides.eps | 8024 ------- .../slides/eps/helmLogic-slides.eps | 7989 ------- .../calculemus-2003/slides/eps/helmLogic.png | Bin 56083 -> 0 bytes .../slides/eps/helmLogo-slides.eps | 1174 - .../calculemus-2003/slides/eps/logo.jpg | Bin 51342 -> 0 bytes .../slides/eps/thatsall-slides.eps | 3968 ---- .../calculemus-2003/slides/eps/thatsall.gif | Bin 39718 -> 0 bytes helm/papers/calculemus-2003/slides/helm.eps | 381 - .../calculemus-2003/slides/misc/hint2.xml | 26 - .../calculemus-2003/slides/misc/messages.dia | Bin 1927 -> 0 bytes .../slides/misc/startmusing.xml | 113 - helm/papers/calculemus-2003/slides/show.dvi | Bin 22436 -> 0 bytes helm/papers/calculemus-2003/slides/show.tex | 55 - helm/papers/calculemus-2003/slides/slides.tex | 311 - helm/papers/calculemus-2003/stamp.pro | 82 - helm/papers/matita/.cvsignore | 6 - helm/papers/matita/Makefile | 124 - helm/papers/matita/ed.sty | 66 - helm/papers/matita/input_phase.dia | Bin 3930 -> 0 bytes helm/papers/matita/input_phase.eps | 5654 ----- helm/papers/matita/klu10.clo | 253 - helm/papers/matita/klu105.clo | 252 - helm/papers/matita/klu11.clo | 252 - helm/papers/matita/klu12.clo | 252 - helm/papers/matita/klu9.clo | 253 - helm/papers/matita/kluedit.sty | 565 - helm/papers/matita/klufloa.sty | 732 - helm/papers/matita/klulist.sty | 276 - helm/papers/matita/klumac.sty | 359 - helm/papers/matita/klumath.sty | 463 - helm/papers/matita/klunamed.bst | 1161 - helm/papers/matita/klunote.sty | 201 - helm/papers/matita/klunum.bst | 1159 - helm/papers/matita/kluopen.sty | 586 - helm/papers/matita/klups.sty | 488 - helm/papers/matita/kluref.sty | 441 - helm/papers/matita/klusec.sty | 625 - helm/papers/matita/klut10.clo | 256 - helm/papers/matita/klut11.clo | 253 - helm/papers/matita/klut12.clo | 253 - helm/papers/matita/klut9.clo | 253 - helm/papers/matita/klutab.sty | 242 - helm/papers/matita/kluwer.cls | 122 - helm/papers/matita/matita.bib | 1514 -- helm/papers/matita/matita.tex | 1113 - helm/papers/system_T/Makefile | 5 - helm/papers/system_T/t.tex | 701 - helm/papers/use_case/stats/CANDIDATI | 191 - helm/papers/use_case/stats/Makefile | 116 - .../use_case/stats/download_candidates.sh | 6 - .../use_case/stats/download_candidates_c1.sh | 8 - helm/papers/use_case/stats/extract.xsl | 39 - helm/papers/use_case/stats/group.xsl | 31 - .../use_case/stats/groups_dependent_depth.xsl | 100 - .../use_case/stats/groups_dependent_size.xsl | 100 - helm/papers/use_case/stats/mkdiff.cc | 29 - helm/papers/use_case/stats/mkhtml.xsl | 83 - helm/papers/use_case/stats/parse/.cvsignore | 4 - .../use_case/stats/parse/DOMCount/.cvsignore | 1 - .../stats/parse/DOMCount/DOMCount.cpp | 460 - .../stats/parse/DOMCount/DOMCount.hpp | 170 - .../use_case/stats/parse/DOMCount/Makefile | 76 - .../stats/parse/DOMCount/Makefile.incl | 337 - helm/papers/use_case/stats/parse/Makefile | 19 - .../use_case/stats/parse/SAX2Print/.cvsignore | 1 - .../use_case/stats/parse/SAX2Print/Makefile | 80 - .../stats/parse/SAX2Print/Makefile.incl | 337 - .../stats/parse/SAX2Print/SAX2Print.cpp | 359 - .../stats/parse/SAX2Print/SAX2Print.hpp | 93 - .../parse/SAX2Print/SAX2PrintHandlers.cpp | 297 - .../parse/SAX2Print/SAX2PrintHandlers.hpp | 153 - .../papers/use_case/stats/parse/parse_expat.c | 50 - .../use_case/stats/parse/parse_xmlreader.c | 31 - .../use_case/stats/parse/parse_xmlsax.c | 98 - .../use_case/stats/parse/parse_xmltree.c | 17 - .../use_case/stats/parsing_time_expat.sh | 3 - .../stats/parsing_time_libxml2_reader.sh | 3 - .../stats/parsing_time_libxml2_sax2.sh | 3 - .../stats/parsing_time_libxml2_tree.sh | 4 - .../stats/parsing_time_xerces_sax2.sh | 4 - .../stats/parsing_time_xerces_tree.sh | 4 - .../use_case/stats/parsing_times.gpscript | 28 - helm/papers/use_case/stats/parsing_times.sh | 2 - .../use_case/stats/serialize_into_text.xsl | 21 - helm/papers/use_case/stats/stats.cc | 131 - helm/papers/use_case/stats/stats.xsl | 130 - helm/papers/use_case/stats/stats_body.xml.gz | Bin 1201479 -> 0 bytes .../papers/use_case/stats/stats_candidates.sh | 10 - .../use_case/stats/stats_candidates_c1.sh | 10 - helm/papers/use_case/stats/stats_con.xml.gz | Bin 872396 -> 0 bytes helm/papers/use_case/stats/stats_ind.xml.gz | Bin 47705 -> 0 bytes .../use_case/stats/stats_proof_tree.xml.gz | Bin 152407 -> 0 bytes .../use_case/stats/stats_theories.xml.gz | Bin 50856 -> 0 bytes helm/papers/use_case/stats/stats_types.xml.gz | Bin 1200924 -> 0 bytes helm/papers/use_case/stats/stats_var.xml.gz | Bin 118335 -> 0 bytes .../use_case/stats/validating_time_flea.sh | 4 - .../stats/validating_time_libxml2_tree.sh | 3 - .../stats/validating_time_xerces_sax2.sh | 5 - .../stats/validating_time_xerces_tree.sh | 5 - .../use_case/stats/validating_times.gpscript | 16 - helm/papers/use_case/use_case.tex | 134 - helm/proofChecker/.cvsignore | 1 - helm/proofChecker/.depend | 0 helm/proofChecker/Makefile | 47 - .../proofChecker/proofChecker.conf.xml.sample | 11 - helm/proofChecker/proofChecker.ml | 133 - helm/schemas/13-dcagent | 169 - helm/schemas/21-euler | 281 - helm/schemas/dces | 197 - helm/schemas/dcq | 588 - helm/schemas/dctype | 129 - helm/schemas/schema-h | 272 - helm/schemas/schema-hth | 323 - helm/scripts/init.d/daemon_respawner.sh | 147 - helm/scripts/init.d/etc_default_helm | 35 - helm/scripts/init.d/helm | 37 - helm/scripts/init.d/helm-bootmisc.sh | 16 - helm/scripts/init.d/helm-draw-graph | 53 - helm/scripts/init.d/helm-http-getter | 62 - helm/scripts/init.d/helm-proof-checker | 53 - helm/scripts/init.d/helm-rdfly | 53 - helm/scripts/init.d/helm-search-engine | 62 - helm/scripts/init.d/helm-uri-set-queue | 53 - helm/scripts/init.d/helm-uwobo | 67 - helm/scripts/init.d/helm-uwobo-stylesheets | 51 - .../init.d/loadPredefinedStylesheets.pl | 98 - helm/searchEngine/.cvsignore | 1 - helm/searchEngine/.depend | 4 - helm/searchEngine/Makefile | 45 - helm/searchEngine/html/Makefile | 7 - helm/searchEngine/html/includes.xsl | 15 - helm/searchEngine/html/manual/alias.jpg | Bin 29673 -> 0 bytes helm/searchEngine/html/manual/ex1.jpg | Bin 23989 -> 0 bytes helm/searchEngine/html/manual/frames.jpg | Bin 44022 -> 0 bytes helm/searchEngine/html/manual/index.html | 40 - helm/searchEngine/html/moogle.html.src | 21 - helm/searchEngine/html/moogle.png | Bin 16808 -> 0 bytes helm/searchEngine/html/moogle_chat.html.src | 39 - helm/searchEngine/html/moogle_form.html.src | 49 - helm/searchEngine/html/moogle_header.html.src | 45 - helm/searchEngine/html/moogle_help.html | 25 - helm/searchEngine/html/moogle_init.html | 106 - .../html/moogle_querybar.html.src | 15 - helm/searchEngine/html/moogle_small.png | Bin 7599 -> 0 bytes helm/searchEngine/html/moogle_syntax.html | 98 - .../searchEngine/html/moogle_trailer.html.src | 9 - helm/searchEngine/html/whelp.png | Bin 12096 -> 0 bytes helm/searchEngine/html/whelp.svg | 164 - helm/searchEngine/html/whelp_small.png | Bin 3092 -> 0 bytes helm/searchEngine/mooglePp.ml | 83 - helm/searchEngine/mooglePp.mli | 35 - helm/searchEngine/preloaded_uris.txt | 4130 ---- .../searchEngine/searchEngine.conf.xml.sample | 62 - helm/searchEngine/searchEngine.ml | 505 - helm/uwobo-panel/.cvsignore | 1 - helm/uwobo-panel/Makefile | 11 - helm/uwobo-panel/control.html | 638 - helm/uwobo-panel/control.js | 234 - helm/uwobo-panel/index.html | 8 - helm/uwobo-panel/welcome.html | 6 - helm/uwobo/.cvsignore | 7 - helm/uwobo/.depend | 18 - helm/uwobo/Makefile | 68 - helm/uwobo/doc/uwobo.tex | 216 - helm/uwobo/log/.cvsignore | 1 - helm/uwobo/uwobo.conf.xml.sample | 14 - helm/uwobo/uwobo.ml | 817 - helm/uwobo/uwobo_common.ml | 243 - helm/uwobo/uwobo_common.mli | 75 - helm/uwobo/uwobo_engine.ml | 263 - helm/uwobo/uwobo_engine.mli | 55 - helm/uwobo/uwobo_logger.ml | 107 - helm/uwobo/uwobo_logger.mli | 69 - helm/uwobo/uwobo_profiles.ml | 151 - helm/uwobo/uwobo_profiles.mli | 56 - helm/uwobo/uwobo_styles.ml | 208 - helm/uwobo/uwobo_styles.mli | 84 - helm/xmltheory/Coq_v2theoryxml/.cvsignore | 1 - helm/xmltheory/Coq_v2theoryxml/.depend | 0 helm/xmltheory/Coq_v2theoryxml/Makefile | 17 - .../Coq_v2theoryxml/coq_v2theoryxml.ml | 176 - helm/xmltheory/FakeCoq_vo2xml/README | 3 - helm/xmltheory/FakeCoq_vo2xml/coq_vo2xml | 4 - helm/xmltheory/XmlTheory/.cvsignore | 1 - helm/xmltheory/XmlTheory/.depend | 8 - helm/xmltheory/XmlTheory/COME_COMPILARE | 5 - helm/xmltheory/XmlTheory/Make | 5 - helm/xmltheory/XmlTheory/Makefile | 165 - helm/xmltheory/XmlTheory/README | 78 - helm/xmltheory/XmlTheory/XmlTheory.v | 15 - helm/xmltheory/XmlTheory/iXml.ml | 53 - helm/xmltheory/XmlTheory/iXml.mli | 7 - helm/xmltheory/XmlTheory/xmltheoryentries.ml | 371 - helm/xmltheory/maththeory.dtd | 78 - helm/xsltd/.cvsignore | 1 - helm/xsltd/AUTHORS | 1 - helm/xsltd/COPYING | 340 - helm/xsltd/ChangeLog | 1 - helm/xsltd/Makefile.in | 16 - helm/xsltd/Makefile.old | 48 - helm/xsltd/NEWS | 1 - helm/xsltd/README | 8 - helm/xsltd/config.cache.pkg | 4 - helm/xsltd/configure.in | 92 - helm/xsltd/helm_xsltd.spec.in | 32 - helm/xsltd/start-xaland.in | 55 - helm/xsltd/xaland-cpp/xaland.cpp | 207 - helm/xsltd/xaland-java-DOM/xaland_DOM.class | Bin 3555 -> 0 bytes helm/xsltd/xaland-java-DOM/xaland_DOM.java | 114 - helm/xsltd/xaland-java/rompi.class | Bin 732 -> 0 bytes helm/xsltd/xaland-java/rompi.java | 35 - helm/xsltd/xaland-java/sped.class | Bin 1142 -> 0 bytes helm/xsltd/xaland-java/sped.java | 51 - helm/xsltd/xaland-java/xaland.class | Bin 3509 -> 0 bytes helm/xsltd/xaland-java/xaland.java | 105 - .../xaland.java.prima_del_loro_baco | 85 - ...d.java.prima_del_loro_baco_ma_dopo_i_reset | 87 - helm/xsltd/xaland-java2/xaland2.class | Bin 3773 -> 0 bytes helm/xsltd/xaland-java2/xaland2.java | 157 - helm/xsltd/xaland-uwobo/.cvsignore | 1 - helm/xsltd/xaland-uwobo/xaland_uwobo.java | 79 - helm/xsltd/xaland.class | Bin 3509 -> 0 bytes helm/xsltd/xaland2.class | Bin 3773 -> 0 bytes helm/xsltd/xaland_DOM.class | Bin 3555 -> 0 bytes 2046 files changed, 1 insertion(+), 349600 deletions(-) delete mode 100644 CVSROOT/checkoutlist delete mode 100644 CVSROOT/commitinfo delete mode 100644 CVSROOT/config delete mode 100644 CVSROOT/cvswrappers delete mode 100644 CVSROOT/editinfo delete mode 100644 CVSROOT/loginfo delete mode 100644 CVSROOT/modules delete mode 100644 CVSROOT/notify delete mode 100644 CVSROOT/rcsinfo delete mode 100644 CVSROOT/taginfo delete mode 100644 CVSROOT/verifymsg delete mode 100644 helm/DEVEL/.cvsignore create mode 100644 helm/DEVEL/gdome_xslt/debian/libgdome2-xslt0c2a.install delete mode 100644 helm/DEVEL/lablgtkmathview/.cvsignore delete mode 100644 helm/DEVEL/lablgtkmathview/.depend delete mode 100644 helm/DEVEL/lablgtkmathview/AUTHORS delete mode 100644 helm/DEVEL/lablgtkmathview/COPYING delete mode 100644 helm/DEVEL/lablgtkmathview/ChangeLog delete mode 100644 helm/DEVEL/lablgtkmathview/LICENSE delete mode 100644 helm/DEVEL/lablgtkmathview/META.in delete mode 100644 helm/DEVEL/lablgtkmathview/Makefile.in delete mode 100644 helm/DEVEL/lablgtkmathview/NEWS delete mode 100644 helm/DEVEL/lablgtkmathview/README delete mode 100644 helm/DEVEL/lablgtkmathview/configure.in delete mode 100644 helm/DEVEL/lablgtkmathview/debian/changelog delete mode 100644 helm/DEVEL/lablgtkmathview/debian/compat delete mode 100644 helm/DEVEL/lablgtkmathview/debian/control delete mode 100644 helm/DEVEL/lablgtkmathview/debian/control.in delete mode 100644 helm/DEVEL/lablgtkmathview/debian/copyright delete mode 100644 helm/DEVEL/lablgtkmathview/debian/docs delete mode 100644 helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml-dev.dirs delete mode 100644 helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml-dev.install delete mode 100644 helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml-dev.install.in delete mode 100644 helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml.dirs delete mode 100644 helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml.install delete mode 100755 helm/DEVEL/lablgtkmathview/debian/rules delete mode 100644 helm/DEVEL/lablgtkmathview/gMathView.ml delete mode 100644 helm/DEVEL/lablgtkmathview/gMathView.mli delete mode 100644 helm/DEVEL/lablgtkmathview/gMathViewAux.ml delete mode 100644 helm/DEVEL/lablgtkmathview/gMathViewAux.mli delete mode 100644 helm/DEVEL/lablgtkmathview/gtkMathView.ml delete mode 100644 helm/DEVEL/lablgtkmathview/gtkMathView.props delete mode 100644 helm/DEVEL/lablgtkmathview/gtk_mathview.ml delete mode 100644 helm/DEVEL/lablgtkmathview/lablgtk/META.lablgtk delete mode 100644 helm/DEVEL/lablgtkmathview/ml_gtk_mathview.c delete mode 100644 helm/DEVEL/lablgtkmathview/test/.cvsignore delete mode 100644 helm/DEVEL/lablgtkmathview/test/Makefile.in delete mode 100644 helm/DEVEL/lablgtkmathview/test/t1.config delete mode 100644 helm/DEVEL/lablgtkmathview/test/test.ml delete mode 100644 helm/DEVEL/lablgtkmathview/test/test.xml delete mode 100644 helm/DEVEL/lablgtksourceview/.cvsignore delete mode 100644 helm/DEVEL/lablgtksourceview/.depend delete mode 100644 helm/DEVEL/lablgtksourceview/ACKNOWLEDGEMENTS delete mode 100644 helm/DEVEL/lablgtksourceview/AUTHORS delete mode 100644 helm/DEVEL/lablgtksourceview/CHANGES delete mode 100644 helm/DEVEL/lablgtksourceview/COPYING delete mode 100644 helm/DEVEL/lablgtksourceview/Changelog delete mode 100644 helm/DEVEL/lablgtksourceview/LICENSE delete mode 100644 helm/DEVEL/lablgtksourceview/META.in delete mode 100644 helm/DEVEL/lablgtksourceview/Makefile.in delete mode 100644 helm/DEVEL/lablgtksourceview/NEWS delete mode 100644 helm/DEVEL/lablgtksourceview/README delete mode 100644 helm/DEVEL/lablgtksourceview/configure.ac delete mode 100644 helm/DEVEL/lablgtksourceview/debian/changelog delete mode 100644 helm/DEVEL/lablgtksourceview/debian/compat delete mode 100644 helm/DEVEL/lablgtksourceview/debian/control delete mode 100644 helm/DEVEL/lablgtksourceview/debian/control.in delete mode 100644 helm/DEVEL/lablgtksourceview/debian/copyright delete mode 100644 helm/DEVEL/lablgtksourceview/debian/liblablgtksourceview-ocaml-dev.docs delete mode 100644 helm/DEVEL/lablgtksourceview/debian/liblablgtksourceview-ocaml-dev.install delete mode 100644 helm/DEVEL/lablgtksourceview/debian/liblablgtksourceview-ocaml-dev.install.in delete mode 100644 helm/DEVEL/lablgtksourceview/debian/liblablgtksourceview-ocaml.install delete mode 100644 helm/DEVEL/lablgtksourceview/debian/liblablgtksourceview-ocaml.install.in delete mode 100755 helm/DEVEL/lablgtksourceview/debian/rules delete mode 100644 helm/DEVEL/lablgtksourceview/gSourceView.ml delete mode 100644 helm/DEVEL/lablgtksourceview/gSourceView.mli delete mode 100644 helm/DEVEL/lablgtksourceview/gtkSourceView.ml delete mode 100644 helm/DEVEL/lablgtksourceview/gtkSourceView.props delete mode 100644 helm/DEVEL/lablgtksourceview/gtk_sourceview.ml delete mode 100644 helm/DEVEL/lablgtksourceview/ml_gtk_sourceview.c delete mode 100644 helm/DEVEL/lablgtksourceview/test/.cvsignore delete mode 100644 helm/DEVEL/lablgtksourceview/test/Makefile.in delete mode 100644 helm/DEVEL/lablgtksourceview/test/test.lang delete mode 100644 helm/DEVEL/lablgtksourceview/test/test.ml delete mode 100644 helm/DEVEL/lablgtksourceview/test/test.txt delete mode 100644 helm/DEVEL/mathml_editor/.cvsignore delete mode 100644 helm/DEVEL/mathml_editor/.log delete mode 100644 helm/DEVEL/mathml_editor/AUTHORS delete mode 100644 helm/DEVEL/mathml_editor/BROWSE delete mode 100644 helm/DEVEL/mathml_editor/BUGS delete mode 100644 helm/DEVEL/mathml_editor/BUGS-GDOME2 delete mode 100644 helm/DEVEL/mathml_editor/ChangeLog delete mode 100644 helm/DEVEL/mathml_editor/LICENSE delete mode 100644 helm/DEVEL/mathml_editor/MODES delete mode 100644 helm/DEVEL/mathml_editor/Makefile.am delete mode 100644 helm/DEVEL/mathml_editor/Makefile.in delete mode 100644 helm/DEVEL/mathml_editor/NEWS delete mode 100644 helm/DEVEL/mathml_editor/PATTERNS delete mode 100644 helm/DEVEL/mathml_editor/README delete mode 100644 helm/DEVEL/mathml_editor/TML.dtd delete mode 100644 helm/DEVEL/mathml_editor/TODO delete mode 100644 helm/DEVEL/mathml_editor/configure.ac delete mode 100644 helm/DEVEL/mathml_editor/debian/changelog delete mode 100644 helm/DEVEL/mathml_editor/debian/compat delete mode 100644 helm/DEVEL/mathml_editor/debian/control delete mode 100644 helm/DEVEL/mathml_editor/debian/copyright delete mode 100644 helm/DEVEL/mathml_editor/debian/docs delete mode 100644 helm/DEVEL/mathml_editor/debian/libeditex-dev.files delete mode 100644 helm/DEVEL/mathml_editor/debian/libeditex-ocaml-dev.files delete mode 100644 helm/DEVEL/mathml_editor/debian/libeditex-ocaml.files delete mode 100644 helm/DEVEL/mathml_editor/debian/libeditex0.files delete mode 100755 helm/DEVEL/mathml_editor/debian/rules delete mode 100644 helm/DEVEL/mathml_editor/dict/.cvsignore delete mode 100644 helm/DEVEL/mathml_editor/dict/Makefile.am delete mode 100644 helm/DEVEL/mathml_editor/dict/dictionary-basic.xml delete mode 100644 helm/DEVEL/mathml_editor/dict/dictionary-test.xml delete mode 100644 helm/DEVEL/mathml_editor/dict/dictionary-tex.xml delete mode 100644 helm/DEVEL/mathml_editor/dict/dictionary.dtd delete mode 100644 helm/DEVEL/mathml_editor/doc/.cvsignore delete mode 100644 helm/DEVEL/mathml_editor/doc/spec.tex delete mode 100644 helm/DEVEL/mathml_editor/editex.pc.in delete mode 100644 helm/DEVEL/mathml_editor/examples/.cvsignore delete mode 100644 helm/DEVEL/mathml_editor/examples/Makefile.am delete mode 100644 helm/DEVEL/mathml_editor/examples/abs.tex delete mode 100644 helm/DEVEL/mathml_editor/examples/big.tex delete mode 100644 helm/DEVEL/mathml_editor/ocaml/.cvsignore delete mode 100644 helm/DEVEL/mathml_editor/ocaml/.depend delete mode 100644 helm/DEVEL/mathml_editor/ocaml/META.in delete mode 100644 helm/DEVEL/mathml_editor/ocaml/Makefile.am delete mode 100644 helm/DEVEL/mathml_editor/ocaml/c_mathml_editor.cc delete mode 100644 helm/DEVEL/mathml_editor/ocaml/c_mathml_editor.h delete mode 100644 helm/DEVEL/mathml_editor/ocaml/i_mathml_editor.ml delete mode 100644 helm/DEVEL/mathml_editor/ocaml/mathml_editor.ml delete mode 100644 helm/DEVEL/mathml_editor/ocaml/mathml_editor.mli delete mode 100644 helm/DEVEL/mathml_editor/ocaml/ml_mathml_editor.c delete mode 100644 helm/DEVEL/mathml_editor/src/.cvsignore delete mode 100644 helm/DEVEL/mathml_editor/src/ALogger.hh delete mode 100644 helm/DEVEL/mathml_editor/src/AMathMLConsumer.hh delete mode 100644 helm/DEVEL/mathml_editor/src/AMathMLFactory.cc delete mode 100644 helm/DEVEL/mathml_editor/src/AMathMLFactory.hh delete mode 100644 helm/DEVEL/mathml_editor/src/APushLexer.hh delete mode 100644 helm/DEVEL/mathml_editor/src/APushParser.cc delete mode 100644 helm/DEVEL/mathml_editor/src/APushParser.hh delete mode 100644 helm/DEVEL/mathml_editor/src/BROWSE delete mode 100644 helm/DEVEL/mathml_editor/src/CLoggerConsole.cc delete mode 100644 helm/DEVEL/mathml_editor/src/CLoggerConsole.hh delete mode 100644 helm/DEVEL/mathml_editor/src/CMathMLFactoryXSLT.cc delete mode 100644 helm/DEVEL/mathml_editor/src/CMathMLFactoryXSLT.hh delete mode 100644 helm/DEVEL/mathml_editor/src/CMathMLFactoryXSLTDiff.cc delete mode 100644 helm/DEVEL/mathml_editor/src/CMathMLFactoryXSLTDiff.hh delete mode 100644 helm/DEVEL/mathml_editor/src/Diff.cc delete mode 100644 helm/DEVEL/mathml_editor/src/Diff.hh delete mode 100644 helm/DEVEL/mathml_editor/src/ILPushLexer.cc delete mode 100644 helm/DEVEL/mathml_editor/src/ILPushLexer.hh delete mode 100644 helm/DEVEL/mathml_editor/src/ITPushLexer.cc delete mode 100644 helm/DEVEL/mathml_editor/src/ITPushLexer.hh delete mode 100644 helm/DEVEL/mathml_editor/src/LPushLexer.cc delete mode 100644 helm/DEVEL/mathml_editor/src/LPushLexer.hh delete mode 100644 helm/DEVEL/mathml_editor/src/Makefile.am delete mode 100644 helm/DEVEL/mathml_editor/src/Makefile.in delete mode 100644 helm/DEVEL/mathml_editor/src/TDictionary.cc delete mode 100644 helm/DEVEL/mathml_editor/src/TDictionary.hh delete mode 100644 helm/DEVEL/mathml_editor/src/TDocument.cc delete mode 100644 helm/DEVEL/mathml_editor/src/TDocument.hh delete mode 100644 helm/DEVEL/mathml_editor/src/TListener.hh delete mode 100644 helm/DEVEL/mathml_editor/src/TNode.cc delete mode 100644 helm/DEVEL/mathml_editor/src/TNode.hh delete mode 100644 helm/DEVEL/mathml_editor/src/TPushLexer.cc delete mode 100644 helm/DEVEL/mathml_editor/src/TPushLexer.hh delete mode 100644 helm/DEVEL/mathml_editor/src/TPushParser.cc delete mode 100644 helm/DEVEL/mathml_editor/src/TPushParser.hh delete mode 100644 helm/DEVEL/mathml_editor/src/TToken.hh delete mode 100644 helm/DEVEL/mathml_editor/src/TTokenizer.cc delete mode 100644 helm/DEVEL/mathml_editor/src/TTokenizer.hh delete mode 100644 helm/DEVEL/mathml_editor/src/config.dirs.in delete mode 100644 helm/DEVEL/mathml_editor/src/dom.hh delete mode 100644 helm/DEVEL/mathml_editor/src/globals.hh delete mode 100644 helm/DEVEL/mathml_editor/src/timer.cc delete mode 100644 helm/DEVEL/mathml_editor/src/timer.hh delete mode 100644 helm/DEVEL/mathml_editor/test/.cvsignore delete mode 100644 helm/DEVEL/mathml_editor/test/Makefile.am delete mode 100644 helm/DEVEL/mathml_editor/test/Makefile.in delete mode 100644 helm/DEVEL/mathml_editor/test/aux.cc delete mode 100644 helm/DEVEL/mathml_editor/test/editor.cc delete mode 100644 helm/DEVEL/mathml_editor/test/guiGTK.c delete mode 100644 helm/DEVEL/mathml_editor/test/guiGTK.h delete mode 100644 helm/DEVEL/mathml_editor/textomml/.cvsignore delete mode 100644 helm/DEVEL/mathml_editor/textomml/Makefile.am delete mode 100644 helm/DEVEL/mathml_editor/textomml/config.dirs.in delete mode 100644 helm/DEVEL/mathml_editor/textomml/main.cc delete mode 100644 helm/DEVEL/mathml_editor/xsl/.cvsignore delete mode 100644 helm/DEVEL/mathml_editor/xsl/Makefile.am delete mode 100644 helm/DEVEL/mathml_editor/xsl/d-xsl.xsl delete mode 100644 helm/DEVEL/mathml_editor/xsl/tml-litex.xsl delete mode 100644 helm/DEVEL/mathml_editor/xsl/tml-mmlp.xsl delete mode 100644 helm/DEVEL/mathml_editor/xsl/tml-tex.xsl delete mode 100644 helm/DEVEL/mathml_editor/xsl/tml-texid.xsl delete mode 100644 helm/DEVEL/ocaml-http/.cvsignore delete mode 100644 helm/DEVEL/ocaml-http/.depend delete mode 100644 helm/DEVEL/ocaml-http/.ocamlinit delete mode 100644 helm/DEVEL/ocaml-http/INSTALL delete mode 100644 helm/DEVEL/ocaml-http/LICENSE delete mode 100644 helm/DEVEL/ocaml-http/META.in delete mode 100644 helm/DEVEL/ocaml-http/Makefile delete mode 100644 helm/DEVEL/ocaml-http/Makefile.defs delete mode 100644 helm/DEVEL/ocaml-http/README delete mode 100644 helm/DEVEL/ocaml-http/TODO delete mode 100644 helm/DEVEL/ocaml-http/debian/changelog delete mode 100644 helm/DEVEL/ocaml-http/debian/compat delete mode 100644 helm/DEVEL/ocaml-http/debian/control delete mode 100644 helm/DEVEL/ocaml-http/debian/copyright delete mode 100644 helm/DEVEL/ocaml-http/debian/dirs delete mode 100644 helm/DEVEL/ocaml-http/debian/doc-base delete mode 100644 helm/DEVEL/ocaml-http/debian/docs delete mode 100644 helm/DEVEL/ocaml-http/debian/examples delete mode 100755 helm/DEVEL/ocaml-http/debian/rules delete mode 100644 helm/DEVEL/ocaml-http/doc/dot/.cvsignore delete mode 100644 helm/DEVEL/ocaml-http/doc/html/.cvsignore delete mode 100644 helm/DEVEL/ocaml-http/doc/latex/.cvsignore delete mode 100644 helm/DEVEL/ocaml-http/examples/.cvsignore delete mode 100644 helm/DEVEL/ocaml-http/examples/Makefile delete mode 100644 helm/DEVEL/ocaml-http/examples/always_ok_daemon.ml delete mode 100644 helm/DEVEL/ocaml-http/examples/basic_auth.ml delete mode 100644 helm/DEVEL/ocaml-http/examples/chdir.ml delete mode 100644 helm/DEVEL/ocaml-http/examples/client_address.ml delete mode 100644 helm/DEVEL/ocaml-http/examples/damned_recursion.ml delete mode 100644 helm/DEVEL/ocaml-http/examples/dump_args.ml delete mode 100644 helm/DEVEL/ocaml-http/examples/highlander.ml delete mode 100644 helm/DEVEL/ocaml-http/examples/oo_daemon.ml delete mode 100644 helm/DEVEL/ocaml-http/examples/threads.ml delete mode 100644 helm/DEVEL/ocaml-http/examples/timeout.ml delete mode 100644 helm/DEVEL/ocaml-http/examples/webfsd.ml delete mode 100644 helm/DEVEL/ocaml-http/http_common.ml delete mode 100644 helm/DEVEL/ocaml-http/http_common.mli delete mode 100644 helm/DEVEL/ocaml-http/http_constants.ml delete mode 100644 helm/DEVEL/ocaml-http/http_constants.mli delete mode 100644 helm/DEVEL/ocaml-http/http_daemon.ml delete mode 100644 helm/DEVEL/ocaml-http/http_daemon.mli delete mode 100644 helm/DEVEL/ocaml-http/http_message.ml delete mode 100644 helm/DEVEL/ocaml-http/http_message.mli delete mode 100644 helm/DEVEL/ocaml-http/http_misc.ml delete mode 100644 helm/DEVEL/ocaml-http/http_misc.mli delete mode 100644 helm/DEVEL/ocaml-http/http_parser.ml delete mode 100644 helm/DEVEL/ocaml-http/http_parser.mli delete mode 100644 helm/DEVEL/ocaml-http/http_parser_sanity.ml delete mode 100644 helm/DEVEL/ocaml-http/http_parser_sanity.mli delete mode 100644 helm/DEVEL/ocaml-http/http_request.ml delete mode 100644 helm/DEVEL/ocaml-http/http_request.mli delete mode 100644 helm/DEVEL/ocaml-http/http_response.ml delete mode 100644 helm/DEVEL/ocaml-http/http_response.mli delete mode 100644 helm/DEVEL/ocaml-http/http_tcp_server.ml delete mode 100644 helm/DEVEL/ocaml-http/http_tcp_server.mli delete mode 100644 helm/DEVEL/ocaml-http/http_threaded_tcp_server.mli delete mode 100644 helm/DEVEL/ocaml-http/http_types.ml delete mode 100644 helm/DEVEL/ocaml-http/http_types.mli delete mode 100644 helm/DEVEL/ocaml-http/http_user_agent.ml delete mode 100644 helm/DEVEL/ocaml-http/http_user_agent.mli delete mode 100644 helm/DEVEL/ocaml-http/mt/.cvsignore delete mode 100644 helm/DEVEL/ocaml-http/mt/http_threaded_tcp_server.ml delete mode 100644 helm/DEVEL/ocaml-http/non_mt/.cvsignore delete mode 100644 helm/DEVEL/ocaml-http/non_mt/http_threaded_tcp_server.ml delete mode 100644 helm/DEVEL/profile-manager/Makefile delete mode 100644 helm/DEVEL/profile-manager/control.html delete mode 100644 helm/DEVEL/profile-manager/index.html delete mode 100644 helm/DEVEL/profile-manager/profile-manager.xsl delete mode 100644 helm/DEVEL/profile-manager/profile.ml delete mode 100644 helm/DEVEL/profile-manager/profile_manager.ml delete mode 100644 helm/DEVEL/profile-manager/profile_manager_env.ml delete mode 100644 helm/DEVEL/profile-manager/response.ml delete mode 100644 helm/DEVEL/profile-manager/welcome.html delete mode 100644 helm/DEVEL/rdfly/.cvsignore delete mode 100644 helm/DEVEL/rdfly/Makefile delete mode 100644 helm/DEVEL/rdfly/rdfly.conf.xml.sample delete mode 100644 helm/DEVEL/rdfly/rdfly.ml delete mode 100755 helm/EXPORT/cshrc delete mode 100644 helm/EXPORT/export_Bordeaux_EXCEPTIONS/Makefile delete mode 100755 helm/EXPORT/export_Bordeaux_EXCEPTIONS/exporttheories.sh delete mode 100644 helm/EXPORT/export_Bordeaux_EXCEPTIONS/prova_Bordeaux_EXCEPTIONS.v delete mode 100644 helm/EXPORT/export_Marseille_CCS/Makefile delete mode 100755 helm/EXPORT/export_Marseille_CCS/exporttheories.sh delete mode 100644 helm/EXPORT/export_Marseille_CCS/prova_Marseille_CCS.v delete mode 100644 helm/EXPORT/export_Nijmegen_Rem/Makefile delete mode 100755 helm/EXPORT/export_Nijmegen_Rem/exporttheories.sh delete mode 100644 helm/EXPORT/export_Nijmegen_Rem/prova_Nijmegen_Rem.v delete mode 100644 helm/EXPORT/export_Paris_ZF/Makefile delete mode 100755 helm/EXPORT/export_Paris_ZF/exporttheories.sh delete mode 100644 helm/EXPORT/export_Paris_ZF/prova_Paris_ZF.v delete mode 100644 helm/EXPORT/export_Rocq_CHECKER/Makefile delete mode 100755 helm/EXPORT/export_Rocq_CHECKER/exporttheories.sh delete mode 100644 helm/EXPORT/export_Rocq_CHECKER/prova_Rocq_CHECKER.v delete mode 100644 helm/EXPORT/export_Rocq_HIGMAN/Makefile delete mode 100755 helm/EXPORT/export_Rocq_HIGMAN/exporttheories.sh delete mode 100644 helm/EXPORT/export_Rocq_HIGMAN/prova_Rocq_HIGMAN.v delete mode 100644 helm/EXPORT/export_Rocq_SHUFFLE/Makefile delete mode 100755 helm/EXPORT/export_Rocq_SHUFFLE/exporttheories.sh delete mode 100644 helm/EXPORT/export_Rocq_SHUFFLE/prova_Rocq_SHUFFLE.v delete mode 100644 helm/EXPORT/export_Utrecht_Ramsey/Makefile delete mode 100755 helm/EXPORT/export_Utrecht_Ramsey/exporttheories.sh delete mode 100644 helm/EXPORT/export_Utrecht_Ramsey/prova_Utrecht_Ramsey.v delete mode 100644 helm/EXPORT/exportcoq/Makefile delete mode 100755 helm/EXPORT/exportcoq/export_contrib_theory.sh delete mode 100755 helm/EXPORT/exportcoq/export_theory_theory.sh delete mode 100755 helm/EXPORT/exportcoq/exporttheories.sh delete mode 100644 helm/EXPORT/exportcoq/provacoq.v delete mode 100644 helm/EXPORT/exportcoq/provacoqArith.v delete mode 100644 helm/EXPORT/exportcoq/provacoqBool.v delete mode 100644 helm/EXPORT/exportcoq/provacoqInit.v delete mode 100644 helm/EXPORT/exportcoq/provacoqLists.v delete mode 100644 helm/EXPORT/exportcoq/provacoqLogic.v delete mode 100644 helm/EXPORT/exportcoq/provacoqReals.v delete mode 100644 helm/EXPORT/exportcoq/provacoqRelations.v delete mode 100644 helm/EXPORT/exportcoq/provacoqSets.v delete mode 100644 helm/EXPORT/exportcoq/provacoqSorting.v delete mode 100644 helm/EXPORT/exportcoq/provacoqTrees.v delete mode 100644 helm/EXPORT/exportcoq/provacoqZArith.v delete mode 100644 helm/EXPORT/exportcoq/provacoqcontribOmega.v delete mode 100644 helm/EXPORT/exportcoq/provacoqcontribRing.v delete mode 100644 helm/EXPORT/exportcsczfc/Makefile delete mode 100644 helm/EXPORT/exportcsczfc/csc_zfc/.cvsignore delete mode 100644 helm/EXPORT/exportcsczfc/csc_zfc/csc_eqdep.v delete mode 100644 helm/EXPORT/exportcsczfc/csc_zfc/csc_zfc.v delete mode 100755 helm/EXPORT/exportcsczfc/exporttheories.sh delete mode 100644 helm/EXPORT/exportcsczfc/provacsczfc.v delete mode 100644 helm/EXPORT/exportprove/Makefile delete mode 100755 helm/EXPORT/exportprove/exporttheories.sh delete mode 100644 helm/EXPORT/exportprove/prova.v delete mode 100644 helm/EXPORT/exportprove/provaCofix.v delete mode 100644 helm/EXPORT/exportprove/provaFeIota.v delete mode 100644 helm/EXPORT/exportprove/provaStruct.v delete mode 100644 helm/EXPORT/exportprove/prove/.cvsignore delete mode 100644 helm/EXPORT/exportprove/prove/provaF.v delete mode 100644 helm/EXPORT/exportprove/prove/provaIota.v delete mode 100644 helm/EXPORT/exportprove/prove/provacofix.v delete mode 100644 helm/EXPORT/exportprove/prove/provastruct.v delete mode 100644 helm/EXPORT/exportprove/prove/provastruct2.v delete mode 100644 helm/EXPORT/exportprove/prove/provastruct3.v delete mode 100644 helm/EXPORT/exportprove/prove/provastruct4.v delete mode 100644 helm/EXPORT/exportprove/prove/provastruct5.v delete mode 100755 helm/EXPORT/mktheory.pl delete mode 100644 helm/Makefile delete mode 100644 helm/annotationHelper/.cvsignore delete mode 100644 helm/annotationHelper/.depend delete mode 100644 helm/annotationHelper/Makefile delete mode 100644 helm/annotationHelper/cicAnnotationHelper.ml delete mode 100644 helm/annotationHelper/cicAnnotationHinter.ml delete mode 100644 helm/annotationHelper/cicAnnotationHinter.mli delete mode 100755 helm/cgi/mkcontrol.pl delete mode 100755 helm/cgi/mkheader.pl delete mode 100755 helm/cgi/mkindex.pl delete mode 100755 helm/cgi/mkindexcic.pl delete mode 100755 helm/cgi/mkindextheory.pl delete mode 100644 helm/configuration/.cvsignore delete mode 100644 helm/configuration/AUTHORS delete mode 100644 helm/configuration/COPYING delete mode 100644 helm/configuration/ChangeLog delete mode 100644 helm/configuration/Makefile.in delete mode 100644 helm/configuration/NEWS delete mode 100644 helm/configuration/README delete mode 100644 helm/configuration/config.cache.pkg delete mode 100644 helm/configuration/configure.in delete mode 100644 helm/configuration/etc/.cvsignore delete mode 100644 helm/configuration/etc/configuration.dtd delete mode 100644 helm/configuration/etc/configuration.xml.in delete mode 100644 helm/configuration/etc/helm-dictionary.xml delete mode 100644 helm/configuration/etc/helm-font-configuration.xml delete mode 100644 helm/configuration/etc/helm-math-engine-configuration.xml.in delete mode 100644 helm/configuration/helm-config.in delete mode 100644 helm/configuration/helm_configuration.spec.in delete mode 100644 helm/configuration/lib/.cvsignore delete mode 100644 helm/configuration/lib/configuration.pl.in delete mode 100644 helm/configuration/library/servers.txt delete mode 100644 helm/configuration/library/urls_of_uris.db delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/.cvsignore delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/.depend delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/Base.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/LambdaDelta.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/Make delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/Makefile delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/README delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/base_blt.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/base_hints.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/base_rewrite.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/base_tactics.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/base_types.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/contexts_defs.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/cpr0_defs.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/csub0_defs.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/csub0_props.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/csubst0_defs.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/csubst1_defs.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/description delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/drop_defs.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/drop_props.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/fsubst0_defs.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/lift_defs.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/lift_gen.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/lift_props.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/lift_tlt.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pc1_defs.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pc1_props.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pc3_defs.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pc3_gen.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pc3_gen_context.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pc3_props.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pc3_subst0.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pr0_confluence.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pr0_defs.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pr0_gen.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pr0_lift.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pr0_subst0.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pr0_subst1.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pr1_confluence.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pr1_defs.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pr2_confluence.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pr2_defs.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pr2_gen.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pr2_gen_context.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pr2_lift.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pr2_subst1.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pr3_confluence.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pr3_defs.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pr3_gen.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pr3_gen_context.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pr3_props.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/pr3_subst1.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/subst0_confluence.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/subst0_defs.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/subst0_gen.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/subst0_lift.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/subst0_subst0.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/subst0_tlt.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/subst1_confluence.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/subst1_defs.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/subst1_gen.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/subst1_lift.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/subst1_subst1.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/terms_defs.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/tlt_defs.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/ty0_defs.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/ty0_gen.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/ty0_gen_context.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/ty0_lift.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/ty0_props.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/ty0_sred.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/ty0_sred_props.v delete mode 100644 helm/coq-contribs/LAMBDA-TYPES/ty0_subst0.v delete mode 100644 helm/coq-contribs/SUBSETS/.cvsignore delete mode 100644 helm/coq-contribs/SUBSETS/.depend delete mode 100644 helm/coq-contribs/SUBSETS/Make delete mode 100644 helm/coq-contribs/SUBSETS/Makefile delete mode 100644 helm/coq-contribs/SUBSETS/README delete mode 100644 helm/coq-contribs/SUBSETS/Standard.v delete mode 100644 helm/coq-contribs/SUBSETS/Toolbox.v delete mode 100644 helm/coq-contribs/SUBSETS/description delete mode 100644 helm/coq-contribs/SUBSETS/st_arith.v delete mode 100644 helm/coq-contribs/SUBSETS/st_base.v delete mode 100644 helm/coq-contribs/SUBSETS/st_logic.v delete mode 100644 helm/coq-contribs/SUBSETS/st_nat.v delete mode 100644 helm/coq-contribs/SUBSETS/tbs_base.v delete mode 100644 helm/coq-contribs/SUBSETS/tbs_fin.v delete mode 100644 helm/coq-contribs/SUBSETS/tbs_fun.v delete mode 100644 helm/coq-contribs/SUBSETS/tbs_op.v delete mode 100644 helm/coq-contribs/SUBSETS/tbs_rel.v delete mode 100644 helm/coq-contribs/SUBSETS/tbs_rop.v delete mode 100644 helm/coq-contribs/SUBSETS/xt_fin.v delete mode 100644 helm/dtd/annotations.dtd delete mode 100644 helm/dtd/backward.dtd delete mode 100644 helm/dtd/cic.dtd delete mode 100644 helm/dtd/cicobject.dtd delete mode 100644 helm/dtd/cictypes.dtd delete mode 100644 helm/dtd/forward.dtd delete mode 100644 helm/dtd/isoamsa.ent delete mode 100644 helm/dtd/isoamsb.ent delete mode 100644 helm/dtd/isoamsc.ent delete mode 100644 helm/dtd/isoamsn.ent delete mode 100644 helm/dtd/isoamso.ent delete mode 100644 helm/dtd/isoamsr.ent delete mode 100644 helm/dtd/isobox.ent delete mode 100644 helm/dtd/isocyr1.ent delete mode 100644 helm/dtd/isocyr2.ent delete mode 100644 helm/dtd/isodia.ent delete mode 100644 helm/dtd/isogrk3.ent delete mode 100644 helm/dtd/isolat1.ent delete mode 100644 helm/dtd/isolat2.ent delete mode 100644 helm/dtd/isomfrk.ent delete mode 100644 helm/dtd/isomopf.ent delete mode 100644 helm/dtd/isomscr.ent delete mode 100644 helm/dtd/isonum.ent delete mode 100644 helm/dtd/isopub.ent delete mode 100644 helm/dtd/isotech.ent delete mode 100644 helm/dtd/ls.dtd delete mode 100644 helm/dtd/mathml2-qname-1.mod delete mode 100644 helm/dtd/mathml2.dtd delete mode 100644 helm/dtd/maththeory.dtd delete mode 100644 helm/dtd/mmlalias.ent delete mode 100644 helm/dtd/mmlextra.ent delete mode 100644 helm/dtd/theoryobject.dtd delete mode 100644 helm/dtd/xhtml-lat1.ent delete mode 100644 helm/dtd/xhtml-special.ent delete mode 100644 helm/dtd/xhtml-symbol.ent delete mode 100644 helm/fix_params/.cvsignore delete mode 100644 helm/fix_params/.depend delete mode 100644 helm/fix_params/Makefile delete mode 100644 helm/fix_params/cic2Xml.ml delete mode 100644 helm/fix_params/cicFindParameters.ml delete mode 100644 helm/fix_params/fix_params.ml delete mode 100644 helm/gTopLevel/.cvsignore delete mode 100644 helm/gTopLevel/.depend delete mode 100644 helm/gTopLevel/INSTALL delete mode 100644 helm/gTopLevel/Makefile.in delete mode 100644 helm/gTopLevel/TATTICHE delete mode 100644 helm/gTopLevel/batchParser.ml delete mode 100644 helm/gTopLevel/batchParser.mli delete mode 100644 helm/gTopLevel/chosenTermEditor.ml.in delete mode 100644 helm/gTopLevel/chosenTermEditor.mli delete mode 100644 helm/gTopLevel/configure.ac delete mode 100644 helm/gTopLevel/dictionary-cic.xml delete mode 100644 helm/gTopLevel/disambiguatingParser.ml.in delete mode 100644 helm/gTopLevel/disambiguatingParser.mli delete mode 100644 helm/gTopLevel/esempi/and_implies_or.cic delete mode 100644 helm/gTopLevel/esempi/and_implies_or2.cic delete mode 100644 helm/gTopLevel/esempi/apply.cic delete mode 100644 helm/gTopLevel/esempi/bug.cic delete mode 100644 helm/gTopLevel/esempi/calcolo_proposizioni.cic delete mode 100644 helm/gTopLevel/esempi/conversion.cic delete mode 100644 helm/gTopLevel/esempi/decompose.cic delete mode 100644 helm/gTopLevel/esempi/elim.cic delete mode 100644 helm/gTopLevel/esempi/elim2.cic delete mode 100644 helm/gTopLevel/esempi/evars.cic delete mode 100644 helm/gTopLevel/esempi/fourier.cic delete mode 100644 helm/gTopLevel/esempi/fourier/fourier.cic delete mode 100644 helm/gTopLevel/esempi/fourier/fourier_benchmarks.cic delete mode 100644 helm/gTopLevel/esempi/fourier/fourier_make_benchmarks.ml delete mode 100644 helm/gTopLevel/esempi/prova.cic delete mode 100644 helm/gTopLevel/esempi/rewrite.cic delete mode 100644 helm/gTopLevel/esempi/ring/0eq0.cic delete mode 100644 helm/gTopLevel/esempi/ring/aliases.cic delete mode 100644 helm/gTopLevel/esempi/ring/caso0.cic delete mode 100644 helm/gTopLevel/esempi/ring/caso1.cic delete mode 100644 helm/gTopLevel/esempi/ring/caso2.cic delete mode 100644 helm/gTopLevel/esempi/ring/caso3.1.cic delete mode 100644 helm/gTopLevel/esempi/ring/caso3.1bis.cic delete mode 100644 helm/gTopLevel/esempi/ring/caso3.2.cic delete mode 100644 helm/gTopLevel/esempi/ring/caso3.3.cic delete mode 100644 helm/gTopLevel/esempi/ring/coq_overkill_helm_rulez.cic delete mode 100644 helm/gTopLevel/esempi/ring/novarmap.cic delete mode 100644 helm/gTopLevel/esempi/ring/novarmap_tofinish.cic delete mode 100644 helm/gTopLevel/esempi/ring/varmap.cic delete mode 100644 helm/gTopLevel/esempi/ring/varmap2.cic delete mode 100644 helm/gTopLevel/esempi/ring/varmap_trivial.cic delete mode 100644 helm/gTopLevel/esempi/ring/varmap_trivial2.cic delete mode 100644 helm/gTopLevel/esempi/ring/varmap_trivial3.cic delete mode 100644 helm/gTopLevel/esempi/ring/varmap_trivial_molte_variabili.cic delete mode 100644 helm/gTopLevel/esempi/sets.cic delete mode 100644 helm/gTopLevel/esempi/various.cic delete mode 100644 helm/gTopLevel/gTopLevel.conf.xml.sample delete mode 100644 helm/gTopLevel/gTopLevel.ml delete mode 100644 helm/gTopLevel/hbugs.ml delete mode 100644 helm/gTopLevel/hbugs.mli delete mode 100644 helm/gTopLevel/helmGtkLogger.ml delete mode 100644 helm/gTopLevel/helmGtkLogger.mli delete mode 100644 helm/gTopLevel/invokeTactics.ml delete mode 100644 helm/gTopLevel/invokeTactics.mli delete mode 100644 helm/gTopLevel/logicalOperations.ml delete mode 100644 helm/gTopLevel/logicalOperations.mli delete mode 100644 helm/gTopLevel/oldDisambiguate.ml delete mode 100644 helm/gTopLevel/oldDisambiguate.mli delete mode 100644 helm/gTopLevel/proofEngine.ml delete mode 100644 helm/gTopLevel/proofEngine.mli delete mode 100644 helm/gTopLevel/regtest.ml delete mode 100644 helm/gTopLevel/rootcontent.xsl delete mode 100755 helm/gTopLevel/script.sh.sample delete mode 100644 helm/gTopLevel/termEditor.ml delete mode 100644 helm/gTopLevel/termEditor.mli delete mode 100644 helm/gTopLevel/termViewer.ml delete mode 100644 helm/gTopLevel/termViewer.mli delete mode 100644 helm/gTopLevel/testlibrary.ml delete mode 100644 helm/gTopLevel/tests/.cvsignore delete mode 100644 helm/gTopLevel/tests/apply00.cic delete mode 100644 helm/gTopLevel/tests/fix00.cic delete mode 100644 helm/gTopLevel/tests/fix00.cic.test delete mode 100644 helm/gTopLevel/tests/forall00.cic delete mode 100644 helm/gTopLevel/tests/forall00.cic.test delete mode 100644 helm/gTopLevel/tests/lambda01.cic delete mode 100644 helm/gTopLevel/tests/lambda01.cic.test delete mode 100644 helm/gTopLevel/tests/lambda02.cic delete mode 100644 helm/gTopLevel/tests/lambda02.cic.test delete mode 100644 helm/gTopLevel/tests/lambda03.cic delete mode 100644 helm/gTopLevel/tests/lambda03.cic.test delete mode 100644 helm/gTopLevel/tests/match00.cic delete mode 100644 helm/gTopLevel/tests/match00.cic.test delete mode 100644 helm/gTopLevel/tests/match01.cic delete mode 100644 helm/gTopLevel/tests/match01.cic.test delete mode 100644 helm/gTopLevel/tests/match02.cic delete mode 100644 helm/gTopLevel/tests/match02.cic.test delete mode 100644 helm/gTopLevel/tests/match03.cic delete mode 100644 helm/gTopLevel/tests/match03.cic.test delete mode 100644 helm/gTopLevel/tests/match04.cic delete mode 100644 helm/gTopLevel/tests/match04.cic.test delete mode 100644 helm/gTopLevel/tests/match05.cic delete mode 100644 helm/gTopLevel/tests/match05.cic.test delete mode 100644 helm/gTopLevel/tests/match06.cic delete mode 100644 helm/gTopLevel/tests/match06.cic.test delete mode 100644 helm/gTopLevel/tests/match07.cic delete mode 100644 helm/gTopLevel/tests/match07.cic.test delete mode 100644 helm/gTopLevel/texTermEditor.ml delete mode 100644 helm/gTopLevel/texTermEditor.mli delete mode 100644 helm/gTopLevel/typecheck_uri.ml delete mode 100644 helm/graphs/jsmenu/HM_Arrays.js delete mode 100644 helm/graphs/jsmenu/HM_Arrays_prova.js delete mode 100644 helm/graphs/jsmenu/HM_Loader.js delete mode 100644 helm/graphs/jsmenu/HM_Loader_prova.js delete mode 100644 helm/graphs/jsmenu/HM_More_black_left.gif delete mode 100644 helm/graphs/jsmenu/HM_More_black_right.gif delete mode 100644 helm/graphs/jsmenu/HM_More_blue_left.gif delete mode 100644 helm/graphs/jsmenu/HM_More_blue_right.gif delete mode 100644 helm/graphs/jsmenu/HM_More_cyan_left.gif delete mode 100644 helm/graphs/jsmenu/HM_More_cyan_right.gif delete mode 100644 helm/graphs/jsmenu/HM_More_green_left.gif delete mode 100644 helm/graphs/jsmenu/HM_More_green_right.gif delete mode 100644 helm/graphs/jsmenu/HM_More_magenta_left.gif delete mode 100644 helm/graphs/jsmenu/HM_More_magenta_right.gif delete mode 100644 helm/graphs/jsmenu/HM_More_red_left.gif delete mode 100644 helm/graphs/jsmenu/HM_More_red_right.gif delete mode 100644 helm/graphs/jsmenu/HM_More_white_left.gif delete mode 100644 helm/graphs/jsmenu/HM_More_white_right.gif delete mode 100644 helm/graphs/jsmenu/HM_More_yellow_left.gif delete mode 100644 helm/graphs/jsmenu/HM_More_yellow_right.gif delete mode 100644 helm/graphs/jsmenu/HM_ScriptDOM.js delete mode 100644 helm/graphs/jsmenu/HM_ScriptIE4.js delete mode 100644 helm/graphs/jsmenu/HM_ScriptNS4.js delete mode 100644 helm/graphs/jsmenu/LoadMe.html delete mode 100644 helm/graphs/jsmenu/prova.gif delete mode 100644 helm/graphs/jsmenu/prova.html delete mode 100644 helm/graphs/tools/.cvsignore delete mode 100644 helm/graphs/tools/Makefile delete mode 100644 helm/graphs/tools/drawGraph.conf.xml.sample delete mode 100644 helm/graphs/tools/drawGraph.ml delete mode 100755 helm/graphs/tools/mk_html.pl delete mode 100644 helm/graphs/tools/simplify_deps/.cvsignore delete mode 100644 helm/graphs/tools/simplify_deps/Makefile delete mode 100644 helm/graphs/tools/simplify_deps/simplify_deps.ml delete mode 100644 helm/graphs/tools/uriSetQueue.conf.xml.sample delete mode 100644 helm/graphs/tools/uriSetQueue.ml delete mode 100644 helm/gtkmathview-bonobo/.cvsignore delete mode 100644 helm/gtkmathview-bonobo/AUTHORS delete mode 100644 helm/gtkmathview-bonobo/ChangeLog delete mode 100644 helm/gtkmathview-bonobo/LICENSE delete mode 100644 helm/gtkmathview-bonobo/Makefile.am delete mode 100644 helm/gtkmathview-bonobo/NEWS delete mode 100644 helm/gtkmathview-bonobo/README delete mode 100644 helm/gtkmathview-bonobo/TODO delete mode 100644 helm/gtkmathview-bonobo/configure.ac delete mode 100644 helm/gtkmathview-bonobo/gtkmathview-bonobo.pc.in delete mode 100644 helm/gtkmathview-bonobo/idl/.cvsignore delete mode 100644 helm/gtkmathview-bonobo/idl/GtkMathView.idl delete mode 100644 helm/gtkmathview-bonobo/idl/Makefile.am delete mode 100644 helm/gtkmathview-bonobo/src/.cvsignore delete mode 100644 helm/gtkmathview-bonobo/src/GNOME_GtkMathView.server.in.in delete mode 100644 helm/gtkmathview-bonobo/src/Makefile.am delete mode 100644 helm/gtkmathview-bonobo/src/aux.cc delete mode 100644 helm/gtkmathview-bonobo/src/aux.h delete mode 100644 helm/gtkmathview-bonobo/src/control-data.c delete mode 100644 helm/gtkmathview-bonobo/src/control-data.h delete mode 100644 helm/gtkmathview-bonobo/src/control-factory.c delete mode 100644 helm/gtkmathview-bonobo/src/control-factory.h delete mode 100644 helm/gtkmathview-bonobo/src/handlers.c delete mode 100644 helm/gtkmathview-bonobo/src/handlers.h delete mode 100644 helm/gtkmathview-bonobo/src/persist-file.c delete mode 100644 helm/gtkmathview-bonobo/src/persist-file.h delete mode 100644 helm/gtkmathview-bonobo/src/persist-stream.c delete mode 100644 helm/gtkmathview-bonobo/src/persist-stream.h delete mode 100644 helm/gtkmathview-bonobo/src/view.c delete mode 100644 helm/gtkmathview-bonobo/src/view.h delete mode 100644 helm/gtkmathview-bonobo/test/.cvsignore delete mode 100644 helm/gtkmathview-bonobo/test/Makefile.am delete mode 100644 helm/gtkmathview-bonobo/test/embedding.html delete mode 100644 helm/gtkmathview-bonobo/test/embedding.xml delete mode 100644 helm/gtkmathview-bonobo/test/main.c delete mode 100644 helm/gtkmathview-bonobo/test/test.mml delete mode 100644 helm/gtkmathview-bonobo/test/testembedding.html delete mode 100644 helm/header/getheader.xml delete mode 100644 helm/header/provaurl delete mode 100644 helm/header/provaurl1 delete mode 100644 helm/header/setheader.xsl delete mode 100644 helm/helm_data/.cvsignore delete mode 100644 helm/helm_data/AUTHORS delete mode 100644 helm/helm_data/COPYING delete mode 100644 helm/helm_data/ChangeLog delete mode 100644 helm/helm_data/LICENSE delete mode 100644 helm/helm_data/LICENSE.ml delete mode 100644 helm/helm_data/LICENSE.script delete mode 100644 helm/helm_data/LICENSE.xml delete mode 100644 helm/helm_data/Makefile.in delete mode 100644 helm/helm_data/NEWS delete mode 100644 helm/helm_data/README delete mode 100644 helm/helm_data/config.cache.pkg delete mode 100644 helm/helm_data/configure.in delete mode 100644 helm/helm_data/helm_data.spec.in delete mode 100644 helm/helmpot/.cvsignore delete mode 100644 helm/helmpot/AUTHORS delete mode 100644 helm/helmpot/ChangeLog delete mode 100644 helm/helmpot/LICENSE delete mode 100644 helm/helmpot/Makefile.am delete mode 100644 helm/helmpot/NEWS delete mode 100644 helm/helmpot/README delete mode 100644 helm/helmpot/acconfig.h delete mode 100644 helm/helmpot/configure.in delete mode 100644 helm/helmpot/debian/changelog delete mode 100644 helm/helmpot/debian/control delete mode 100644 helm/helmpot/debian/copyright delete mode 100644 helm/helmpot/debian/docs delete mode 100755 helm/helmpot/debian/rules delete mode 100644 helm/helmpot/guiGTK.c delete mode 100644 helm/helmpot/guiGTK.h delete mode 100644 helm/helmpot/helmpot.spec.in delete mode 100644 helm/helmpot/main.c delete mode 100644 helm/helmpot/pot_mask delete mode 100644 helm/http_getter/.cvsignore delete mode 100644 helm/http_getter/AUTHORS delete mode 100644 helm/http_getter/BUGS delete mode 100644 helm/http_getter/COPYING delete mode 100644 helm/http_getter/ChangeLog delete mode 100644 helm/http_getter/Makefile delete mode 100644 helm/http_getter/Makefile.overrides delete mode 100644 helm/http_getter/NEWS delete mode 100644 helm/http_getter/README delete mode 100644 helm/http_getter/buildTimeOpts.ml.in delete mode 100644 helm/http_getter/configure.ac delete mode 100644 helm/http_getter/http_getter.conf.xml.sample delete mode 100644 helm/http_getter/main.ml delete mode 100644 helm/http_getter/panel/.cvsignore delete mode 100644 helm/http_getter/panel/Makefile delete mode 100644 helm/http_getter/panel/control.html delete mode 100644 helm/http_getter/panel/control.js delete mode 100644 helm/http_getter/panel/index.html delete mode 100644 helm/http_getter/panel/welcome.html delete mode 100755 helm/http_getter/tools/dump_db.ml delete mode 100755 helm/http_getter/tools/dump_db.pl delete mode 100755 helm/http_getter/tools/uri_escape.pl delete mode 100755 helm/http_getter/tools/uri_unescape.pl delete mode 100644 helm/hxp/.cvsignore delete mode 100644 helm/hxp/.depend delete mode 100644 helm/hxp/EXAMPLE.txt delete mode 100644 helm/hxp/Makefile delete mode 100644 helm/hxp/hxpLexer.mll delete mode 100644 helm/hxp/hxpParser.mly delete mode 100644 helm/hxp/hxpTop.ml delete mode 100644 helm/hxp/hxpTypes.ml delete mode 100644 helm/hxp/hxpXML.ml delete mode 100644 helm/hxsp/config delete mode 100644 helm/hxsp/hxsp.pl delete mode 100644 helm/hxsp/make.pl delete mode 100644 helm/hxsp/msg/error.en delete mode 100644 helm/hxsp/msg/error.it delete mode 100644 helm/hxsp/msg/message.en delete mode 100644 helm/hxsp/msg/message.it delete mode 100644 helm/hxsp/splitted/0.init.p.pl delete mode 100644 helm/hxsp/splitted/1.globvars.p.pl delete mode 100644 helm/hxsp/splitted/2.start.p.pl delete mode 100644 helm/hxsp/splitted/3.daemon.p.pl delete mode 100644 helm/hxsp/splitted/4.hash.p.pl delete mode 100644 helm/hxsp/splitted/5.libxslt.p.pl delete mode 100644 helm/hxsp/splitted/6.commands.p.pl delete mode 100644 helm/hxsp/splitted/7.qsparse.p.pl delete mode 100644 helm/hxsp/splitted/8.strrep.p.pl delete mode 100644 helm/hxsp/splitted/9.load.p.pl delete mode 100644 helm/hxsp/tpl/ok.tpl delete mode 100644 helm/hxsp/tpl/operror.tpl delete mode 100644 helm/hxsp/tpl/synerror.tpl delete mode 100644 helm/mathql/doc/.cvsignore delete mode 100644 helm/mathql/doc/llncs.cls delete mode 100644 helm/mathql/doc/mathql.tex delete mode 100644 helm/mathql/doc/mathql_bib.tex delete mode 100644 helm/mathql/doc/mathql_introduction.tex delete mode 100644 helm/mathql/doc/mathql_introduction_avsets.tex delete mode 100644 helm/mathql/doc/mathql_introduction_basic.tex delete mode 100644 helm/mathql/doc/mathql_introduction_core.tex delete mode 100644 helm/mathql/doc/mathql_introduction_property.tex delete mode 100644 helm/mathql/doc/mathql_introduction_textual.tex delete mode 100644 helm/mathql/doc/mathql_macros.sty delete mode 100644 helm/mathql/doc/mathql_operational.tex delete mode 100644 helm/mathql/doc/mathql_operational_background.tex delete mode 100644 helm/mathql/doc/mathql_operational_basic.tex delete mode 100644 helm/mathql/doc/mathql_operational_core.tex delete mode 100644 helm/mathql/doc/mathql_operational_library.tex delete mode 100644 helm/mathql/doc/mathql_overview.tex delete mode 100644 helm/mathql/doc/mathql_tests.tex delete mode 100644 helm/mathql/grammar.txt delete mode 100644 helm/mathql/homepage/authors.html delete mode 100644 helm/mathql/homepage/documentation.html delete mode 100644 helm/mathql/homepage/features.html delete mode 100644 helm/mathql/homepage/implementation.html delete mode 100644 helm/mathql/homepage/index.html delete mode 100644 helm/mathql/homepage/links.html delete mode 100644 helm/mathql/homepage/whatsnew.html delete mode 100644 helm/mathql/query.xml delete mode 100644 helm/mathql/result.xml delete mode 100644 helm/mathql/xmathql.dtd delete mode 100644 helm/mathql/xmqlresult.dtd delete mode 100644 helm/mathql_db_map.txt delete mode 100644 helm/mathql_test/.cvsignore delete mode 100644 helm/mathql_test/.depend delete mode 100644 helm/mathql_test/Makefile delete mode 100644 helm/mathql_test/mQGTopLexer.mll delete mode 100644 helm/mathql_test/mQGTopParser.mly delete mode 100644 helm/mathql_test/mqgtop.ml delete mode 100644 helm/mathql_test/mqitop.ml delete mode 100644 helm/mathql_test/mqtop.ml delete mode 100644 helm/matita/.cvsignore delete mode 100644 helm/matita/.depend delete mode 100644 helm/matita/.ocamlinit delete mode 100644 helm/matita/AUTHORS delete mode 100644 helm/matita/LICENSE delete mode 100644 helm/matita/Makefile.in delete mode 100644 helm/matita/buildTimeConf.ml.in delete mode 100644 helm/matita/closed.xml delete mode 100644 helm/matita/configure.ac delete mode 100644 helm/matita/contribs/LAMBDA-TYPES/.cvsignore delete mode 100644 helm/matita/contribs/LAMBDA-TYPES/Makefile delete mode 100644 helm/matita/contribs/LAMBDA-TYPES/lref_map_defs.ma delete mode 100644 helm/matita/contribs/LAMBDA-TYPES/terms_defs.ma delete mode 100644 helm/matita/contribs/LAMBDA-TYPES/tlt_defs.ma delete mode 100644 helm/matita/contribs/PREDICATIVE-TOPOLOGY/.cvsignore delete mode 100644 helm/matita/contribs/PREDICATIVE-TOPOLOGY/Makefile delete mode 100644 helm/matita/contribs/PREDICATIVE-TOPOLOGY/class_defs.ma delete mode 100644 helm/matita/contribs/PREDICATIVE-TOPOLOGY/class_eq.ma delete mode 100644 helm/matita/contribs/PREDICATIVE-TOPOLOGY/domain_defs.ma delete mode 100644 helm/matita/contribs/PREDICATIVE-TOPOLOGY/subset_defs.ma delete mode 100644 helm/matita/coq.ma delete mode 100644 helm/matita/core_notation.moo delete mode 100644 helm/matita/dictionary-matita.xml delete mode 100644 helm/matita/dist/Makefile delete mode 100755 helm/matita/dist/fill_db.sh delete mode 100644 helm/matita/dist/static_link/.cvsignore delete mode 100644 helm/matita/dist/static_link/Makefile delete mode 100644 helm/matita/dist/static_link/static_link.ml delete mode 100644 helm/matita/dump_moo.ml delete mode 100644 helm/matita/gtkmathview.matita.conf.xml.in delete mode 100644 helm/matita/icons/matita-bulb-high.png delete mode 100644 helm/matita/icons/matita-bulb-low.png delete mode 100644 helm/matita/icons/matita-bulb-medium.png delete mode 100644 helm/matita/icons/matita-folder.png delete mode 100644 helm/matita/icons/matita-object.png delete mode 100644 helm/matita/icons/matita-theory.png delete mode 100644 helm/matita/icons/matita.png delete mode 100644 helm/matita/icons/matita_medium.png delete mode 100644 helm/matita/icons/matita_small.png delete mode 100644 helm/matita/icons/meegg.png delete mode 100644 helm/matita/icons/whelp.png delete mode 100644 helm/matita/icons/whelp.svg delete mode 100644 helm/matita/library/.cvsignore delete mode 100644 helm/matita/library/Makefile delete mode 100644 helm/matita/library/Q/q.ma delete mode 100644 helm/matita/library/Z/.cvsignore delete mode 100644 helm/matita/library/Z/compare.ma delete mode 100644 helm/matita/library/Z/orders.ma delete mode 100644 helm/matita/library/Z/plus.ma delete mode 100644 helm/matita/library/Z/times.ma delete mode 100644 helm/matita/library/Z/z.ma delete mode 100644 helm/matita/library/datatypes/.cvsignore delete mode 100644 helm/matita/library/datatypes/bool.ma delete mode 100644 helm/matita/library/datatypes/compare.ma delete mode 100644 helm/matita/library/datatypes/constructors.ma delete mode 100644 helm/matita/library/higher_order_defs/.cvsignore delete mode 100644 helm/matita/library/higher_order_defs/functions.ma delete mode 100644 helm/matita/library/higher_order_defs/ordering.ma delete mode 100644 helm/matita/library/higher_order_defs/relations.ma delete mode 100644 helm/matita/library/list/list.ma delete mode 100644 helm/matita/library/list/sort.ma delete mode 100644 helm/matita/library/logic/.cvsignore delete mode 100644 helm/matita/library/logic/connectives.ma delete mode 100644 helm/matita/library/logic/equality.ma delete mode 100644 helm/matita/library/nat/.cvsignore delete mode 100644 helm/matita/library/nat/chinese_reminder.ma delete mode 100644 helm/matita/library/nat/compare.ma delete mode 100644 helm/matita/library/nat/congruence.ma delete mode 100644 helm/matita/library/nat/count.ma delete mode 100644 helm/matita/library/nat/div_and_mod.ma delete mode 100644 helm/matita/library/nat/exp.ma delete mode 100644 helm/matita/library/nat/factorial.ma delete mode 100644 helm/matita/library/nat/factorization.ma delete mode 100644 helm/matita/library/nat/fermat_little_theorem.ma delete mode 100644 helm/matita/library/nat/gcd.ma delete mode 100644 helm/matita/library/nat/le_arith.ma delete mode 100644 helm/matita/library/nat/lt_arith.ma delete mode 100644 helm/matita/library/nat/minimization.ma delete mode 100644 helm/matita/library/nat/minus.ma delete mode 100644 helm/matita/library/nat/nat.ma delete mode 100644 helm/matita/library/nat/nth_prime.ma delete mode 100644 helm/matita/library/nat/ord.ma delete mode 100644 helm/matita/library/nat/orders.ma delete mode 100644 helm/matita/library/nat/permutation.ma delete mode 100644 helm/matita/library/nat/plus.ma delete mode 100644 helm/matita/library/nat/primes.ma delete mode 100644 helm/matita/library/nat/primes1.ma delete mode 100644 helm/matita/library/nat/relevant_equations.ma delete mode 100644 helm/matita/library/nat/sigma_and_pi.ma delete mode 100644 helm/matita/library/nat/times.ma delete mode 100644 helm/matita/library/nat/totient.ma delete mode 100644 helm/matita/matita.conf.xml.sample.in delete mode 100644 helm/matita/matita.glade delete mode 100644 helm/matita/matita.gtkrc delete mode 100644 helm/matita/matita.lang delete mode 100644 helm/matita/matita.ma.templ delete mode 100644 helm/matita/matita.ml delete mode 100644 helm/matita/matita.txt delete mode 100644 helm/matita/matitaDb.ml delete mode 100644 helm/matita/matitaDb.mli delete mode 100644 helm/matita/matitaDisambiguator.ml delete mode 100644 helm/matita/matitaDisambiguator.mli delete mode 100644 helm/matita/matitaEngine.ml delete mode 100644 helm/matita/matitaEngine.mli delete mode 100644 helm/matita/matitaExcPp.ml delete mode 100644 helm/matita/matitaExcPp.mli delete mode 100644 helm/matita/matitaGtkMisc.ml delete mode 100644 helm/matita/matitaGtkMisc.mli delete mode 100644 helm/matita/matitaGui.ml delete mode 100644 helm/matita/matitaGui.mli delete mode 100644 helm/matita/matitaGuiTypes.mli delete mode 100644 helm/matita/matitaInit.ml delete mode 100644 helm/matita/matitaInit.mli delete mode 100644 helm/matita/matitaLog.ml delete mode 100644 helm/matita/matitaLog.mli delete mode 100644 helm/matita/matitaMathView.ml delete mode 100644 helm/matita/matitaMathView.mli delete mode 100644 helm/matita/matitaMisc.ml delete mode 100644 helm/matita/matitaMisc.mli delete mode 100644 helm/matita/matitaMoo.ml delete mode 100644 helm/matita/matitaMoo.mli delete mode 100644 helm/matita/matitaScript.ml delete mode 100644 helm/matita/matitaScript.mli delete mode 100644 helm/matita/matitaSync.ml delete mode 100644 helm/matita/matitaSync.mli delete mode 100644 helm/matita/matitaTypes.ml delete mode 100644 helm/matita/matitaTypes.mli delete mode 100644 helm/matita/matitac.ml delete mode 100644 helm/matita/matitacLib.ml delete mode 100644 helm/matita/matitacLib.mli delete mode 100644 helm/matita/matitaclean.ml delete mode 100644 helm/matita/matitaclean.mli delete mode 100644 helm/matita/matitacleanLib.ml delete mode 100644 helm/matita/matitacleanLib.mli delete mode 100644 helm/matita/matitadep.ml delete mode 100644 helm/matita/matitadep.mli delete mode 100644 helm/matita/matitamake.ml delete mode 100644 helm/matita/matitamakeLib.ml delete mode 100644 helm/matita/matitamakeLib.mli delete mode 100644 helm/matita/matitatop.ml delete mode 100644 helm/matita/scripts/README delete mode 100644 helm/matita/scripts/bench.sql delete mode 100644 helm/matita/scripts/crontab delete mode 100644 helm/matita/scripts/crontab.sh delete mode 100755 helm/matita/scripts/do_tests.sh delete mode 100644 helm/matita/scripts/insert.awk delete mode 100755 helm/matita/scripts/profile_cvs.sh delete mode 100644 helm/matita/scripts/public_html/bench.php delete mode 100644 helm/matita/scripts/public_html/common.php delete mode 100644 helm/matita/scripts/public_html/composequery.php delete mode 100644 helm/matita/scripts/public_html/index.html delete mode 100644 helm/matita/scripts/public_html/showquery.php delete mode 100755 helm/matita/scripts/shell_adder.php delete mode 100755 helm/matita/scripts/shell_time2cents.php delete mode 100644 helm/matita/template_makefile.in delete mode 100644 helm/matita/tests/.cvsignore delete mode 100644 helm/matita/tests/Makefile delete mode 100644 helm/matita/tests/absurd.ma delete mode 100644 helm/matita/tests/apply.ma delete mode 100644 helm/matita/tests/assumption.ma delete mode 100644 helm/matita/tests/bad_tests/.depend delete mode 100644 helm/matita/tests/bad_tests/Makefile delete mode 100644 helm/matita/tests/bad_tests/auto.log delete mode 100755 helm/matita/tests/bad_tests/auto.ma delete mode 100644 helm/matita/tests/bad_tests/baseuri.log delete mode 100644 helm/matita/tests/bad_tests/baseuri.ma delete mode 100644 helm/matita/tests/change.ma delete mode 100644 helm/matita/tests/clear.ma delete mode 100644 helm/matita/tests/clearbody.ma delete mode 100644 helm/matita/tests/coercions.ma delete mode 100644 helm/matita/tests/comments.ma delete mode 100644 helm/matita/tests/constructor.ma delete mode 100644 helm/matita/tests/continuationals.ma delete mode 100644 helm/matita/tests/contradiction.ma delete mode 100644 helm/matita/tests/cut.ma delete mode 100644 helm/matita/tests/decompose.ma delete mode 100644 helm/matita/tests/discriminate.ma delete mode 100644 helm/matita/tests/elim.ma delete mode 100644 helm/matita/tests/fguidi.ma delete mode 100644 helm/matita/tests/first.ma delete mode 100644 helm/matita/tests/fix_betareduction.ma delete mode 100644 helm/matita/tests/fold.ma delete mode 100644 helm/matita/tests/generalize.ma delete mode 100644 helm/matita/tests/interactive/automatic_insertion.ma delete mode 100644 helm/matita/tests/interactive/drop.ma delete mode 100644 helm/matita/tests/interactive/grafite.ma delete mode 100644 helm/matita/tests/interactive/test5.ma delete mode 100644 helm/matita/tests/interactive/test6.ma delete mode 100644 helm/matita/tests/interactive/test7.ma delete mode 100644 helm/matita/tests/interactive/test_instance.ma delete mode 100644 helm/matita/tests/inversion.ma delete mode 100644 helm/matita/tests/letrec.ma delete mode 100644 helm/matita/tests/match_inference.ma delete mode 100644 helm/matita/tests/metasenv_ordering.ma delete mode 100644 helm/matita/tests/mysql_escaping.ma delete mode 100644 helm/matita/tests/paramodulation.ma delete mode 100644 helm/matita/tests/record.ma delete mode 100644 helm/matita/tests/replace.ma delete mode 100644 helm/matita/tests/rewrite.ma delete mode 100644 helm/matita/tests/second.ma delete mode 100644 helm/matita/tests/simpl.ma delete mode 100644 helm/matita/tests/test2.ma delete mode 100644 helm/matita/tests/test3.ma delete mode 100644 helm/matita/tests/test4.ma delete mode 100644 helm/matita/tests/third.ma delete mode 100644 helm/matita/tests/unfold.ma delete mode 100644 helm/metadata/.cvsignore delete mode 100644 helm/metadata/Makefile delete mode 100644 helm/metadata/README delete mode 100644 helm/metadata/dc/Makefile delete mode 100755 helm/metadata/dc/fill_db.pl delete mode 100644 helm/metadata/dc/sql/create_dc_tables.sql delete mode 100644 helm/metadata/dc/sql/drop_dc_tables.sql delete mode 100644 helm/metadata/extractor/.cvsignore delete mode 100644 helm/metadata/extractor/Makefile delete mode 100644 helm/metadata/extractor/README delete mode 100644 helm/metadata/extractor/meta_lex.l delete mode 100644 helm/metadata/extractor/meta_lex_ind.l delete mode 100644 helm/metadata/extractor/sthandler.c delete mode 100644 helm/metadata/extractor/sthandler.h delete mode 100644 helm/metadata/extractor/sthandler_ind.c delete mode 100644 helm/metadata/extractor/sthandler_ind.h delete mode 100644 helm/metadata/sql/create_mowgli_tables.mysql.sql delete mode 100644 helm/metadata/sql/create_mowgli_tables.sql delete mode 100644 helm/metadata/sql/drop_mowgli_tables.mysql.sql delete mode 100644 helm/metadata/sql/drop_mowgli_tables.sql delete mode 100644 helm/metadata/sql/fill_all_derived.sql delete mode 100644 helm/metadata/sql/fill_inconcl_aux.sql delete mode 100644 helm/metadata/sql/fill_no_concl_hyp.sql delete mode 100644 helm/metadata/sql/fill_no_hyp.sql delete mode 100644 helm/metadata/sql/rating.sql delete mode 100644 helm/minidom/.cvsignore delete mode 100644 helm/minidom/AUTHORS delete mode 100644 helm/minidom/COPYING delete mode 100644 helm/minidom/ChangeLog delete mode 100644 helm/minidom/HEADER delete mode 100644 helm/minidom/INSTALL delete mode 100644 helm/minidom/Makefile.am delete mode 100644 helm/minidom/NEWS delete mode 100644 helm/minidom/README delete mode 100644 helm/minidom/TODO delete mode 100644 helm/minidom/acconfig.h delete mode 100644 helm/minidom/config.guess delete mode 100644 helm/minidom/config.sub delete mode 100644 helm/minidom/configure.in delete mode 100644 helm/minidom/debian/README.helm delete mode 100644 helm/minidom/debian/autopippe.helm delete mode 100644 helm/minidom/debian/changelog delete mode 100644 helm/minidom/debian/control delete mode 100644 helm/minidom/debian/copyright delete mode 100755 helm/minidom/debian/debianize.helm delete mode 100644 helm/minidom/debian/docs delete mode 100644 helm/minidom/debian/garbage.helm delete mode 100644 helm/minidom/debian/libminidom-dev.files delete mode 100644 helm/minidom/debian/libminidom-dev.undocumented delete mode 100644 helm/minidom/debian/libminidom0.files delete mode 100644 helm/minidom/debian/libminidom0.postinst delete mode 100755 helm/minidom/debian/rules delete mode 100644 helm/minidom/minidom-config.in delete mode 100644 helm/minidom/minidom.c delete mode 100644 helm/minidom/minidom.h delete mode 100644 helm/minidom/minidom.spec.in delete mode 100644 helm/minidom/stamp-h.in delete mode 100644 helm/mowgli/home/htaccess delete mode 100644 helm/mowgli/home/html/.cvsignore delete mode 100644 helm/mowgli/home/html/Makefile delete mode 100644 helm/mowgli/home/html/deliverables/distribution/.cvsignore delete mode 100644 helm/mowgli/home/html/deliverables/information-dissemination-and-exploitation/.cvsignore delete mode 100644 helm/mowgli/home/html/deliverables/interfaces/.cvsignore delete mode 100644 helm/mowgli/home/html/deliverables/metadata/.cvsignore delete mode 100644 helm/mowgli/home/html/deliverables/project-management/.cvsignore delete mode 100644 helm/mowgli/home/html/deliverables/requirement-analysis/.cvsignore delete mode 100644 helm/mowgli/home/html/deliverables/testing-and-validation/.cvsignore delete mode 100644 helm/mowgli/home/html/deliverables/transformation/.cvsignore delete mode 100644 helm/mowgli/home/html/members/.cvsignore delete mode 100644 helm/mowgli/home/html/mowgli-events/.cvsignore delete mode 100644 helm/mowgli/home/html/people/aei/.cvsignore delete mode 100644 helm/mowgli/home/html/people/bologna/.cvsignore delete mode 100644 helm/mowgli/home/html/people/dfki/.cvsignore delete mode 100644 helm/mowgli/home/html/people/inria/.cvsignore delete mode 100644 helm/mowgli/home/html/people/nijmegen/.cvsignore delete mode 100644 helm/mowgli/home/html/people/trusted-logic/.cvsignore delete mode 100644 helm/mowgli/home/html/proposal/.cvsignore delete mode 100644 helm/mowgli/home/html/publications/.cvsignore delete mode 100644 helm/mowgli/home/html/publications/mowgli/.cvsignore delete mode 100644 helm/mowgli/home/html/publications/others/.cvsignore delete mode 100644 helm/mowgli/home/html/sites/.cvsignore delete mode 100644 helm/mowgli/home/html/slides/.cvsignore delete mode 100644 helm/mowgli/home/html/software/.cvsignore delete mode 100644 helm/mowgli/home/html/work-packages/.cvsignore delete mode 100644 helm/mowgli/home/images/NextArrow.gif delete mode 100644 helm/mowgli/home/images/PreviousArrow.gif delete mode 100644 helm/mowgli/home/images/arch.png delete mode 100644 helm/mowgli/home/images/gantt_new.png delete mode 100644 helm/mowgli/home/images/istbutton.gif delete mode 100644 helm/mowgli/home/images/istbutton_small.gif delete mode 100644 helm/mowgli/home/images/istdrop.gif delete mode 100644 helm/mowgli/home/images/logo.png delete mode 100644 helm/mowgli/home/images/mowgli_combo.gif delete mode 100644 helm/mowgli/home/images/mowgli_combo.png delete mode 100644 helm/mowgli/home/images/mowgli_parquet.png delete mode 100644 helm/mowgli/home/images/mowgli_parquet_light.png delete mode 100644 helm/mowgli/home/images/pert_new.png delete mode 100644 helm/mowgli/home/misc/contract/MOWGLIfinal-for-ceto.zip delete mode 100644 helm/mowgli/home/misc/contract/RTD-annex2-rtd-final.pdf delete mode 100644 helm/mowgli/home/misc/contract/RTD-annex3-ist-fet.pdf delete mode 100644 helm/mowgli/home/misc/contract/RTD-audit-cert-annex4.pdf delete mode 100644 helm/mowgli/home/misc/contract/mowgli-an1-final.pdf delete mode 100644 helm/mowgli/home/misc/contract/mowgli-ctr-final.pdf delete mode 100644 helm/mowgli/home/misc/kick-off/AIP_Intro.ppt delete mode 100644 helm/mowgli/home/misc/kick-off/KM2002GO.ps delete mode 100644 helm/mowgli/home/misc/kick-off/KM2002GO_mathweb.ps delete mode 100644 helm/mowgli/home/misc/kick-off/MoWGLI-LogiCal.ps delete mode 100644 helm/mowgli/home/misc/kick-off/lemme2.ppt delete mode 100644 helm/mowgli/home/misc/proposal/MOWGLI.xls delete mode 100644 helm/mowgli/home/misc/proposal/mowgli.pdf delete mode 100644 helm/mowgli/home/misc/proposal/mowgli.ps delete mode 100644 helm/mowgli/home/misc/proposal/proposal.tgz delete mode 100644 helm/mowgli/home/style/mowgli.css delete mode 100644 helm/mowgli/home/templates/index.html delete mode 100644 helm/mowgli/home/templates/ml-help-example.txt delete mode 100644 helm/mowgli/home/xml/Makefile delete mode 100644 helm/mowgli/home/xml/consortium.xml delete mode 100644 helm/mowgli/home/xml/deliverables/deliverable.dtd delete mode 100644 helm/mowgli/home/xml/deliverables/distribution/d5a.xml delete mode 100644 helm/mowgli/home/xml/deliverables/distribution/d5b.xml delete mode 100644 helm/mowgli/home/xml/deliverables/information-dissemination-and-exploitation/d7a.xml delete mode 100644 helm/mowgli/home/xml/deliverables/information-dissemination-and-exploitation/d7b.xml delete mode 100644 helm/mowgli/home/xml/deliverables/interfaces/d4a.xml delete mode 100644 helm/mowgli/home/xml/deliverables/interfaces/d4b.xml delete mode 100644 helm/mowgli/home/xml/deliverables/interfaces/d4c.xml delete mode 100644 helm/mowgli/home/xml/deliverables/interfaces/d4d.xml delete mode 100644 helm/mowgli/home/xml/deliverables/interfaces/d4e.xml delete mode 100644 helm/mowgli/home/xml/deliverables/metadata/d3a.xml delete mode 100644 helm/mowgli/home/xml/deliverables/metadata/d3b.xml delete mode 100644 helm/mowgli/home/xml/deliverables/project-management/d0a.xml delete mode 100644 helm/mowgli/home/xml/deliverables/project-management/d0b.xml delete mode 100644 helm/mowgli/home/xml/deliverables/project-management/d0c.xml delete mode 100644 helm/mowgli/home/xml/deliverables/project-management/d0d.xml delete mode 100644 helm/mowgli/home/xml/deliverables/requirement-analysis/d1a.xml delete mode 100644 helm/mowgli/home/xml/deliverables/requirement-analysis/d1b.xml delete mode 100644 helm/mowgli/home/xml/deliverables/requirement-analysis/d1c.xml delete mode 100644 helm/mowgli/home/xml/deliverables/testing-and-validation/d6a.xml delete mode 100644 helm/mowgli/home/xml/deliverables/testing-and-validation/d6b.xml delete mode 100644 helm/mowgli/home/xml/deliverables/testing-and-validation/d6c.xml delete mode 100644 helm/mowgli/home/xml/deliverables/testing-and-validation/d6d.xml delete mode 100644 helm/mowgli/home/xml/deliverables/transformation/d2a.xml delete mode 100644 helm/mowgli/home/xml/deliverables/transformation/d2b.xml delete mode 100644 helm/mowgli/home/xml/deliverables/transformation/d2c.xml delete mode 100644 helm/mowgli/home/xml/deliverables/transformation/d2d.xml delete mode 100644 helm/mowgli/home/xml/deliverables/transformation/d2e.xml delete mode 100644 helm/mowgli/home/xml/deliverables/transformation/d2f.xml delete mode 100644 helm/mowgli/home/xml/deliverables/transformation/d2g.xml delete mode 100644 helm/mowgli/home/xml/home.xml delete mode 100644 helm/mowgli/home/xml/members-index.xml delete mode 100644 helm/mowgli/home/xml/members/kick-off.xml delete mode 100644 helm/mowgli/home/xml/menu.xml delete mode 100644 helm/mowgli/home/xml/mowgli-events.xml delete mode 100644 helm/mowgli/home/xml/mowgli-events/kick-off.xml delete mode 100644 helm/mowgli/home/xml/mowgli-xhtml1-transitional.dtd delete mode 100644 helm/mowgli/home/xml/news.xml delete mode 100644 helm/mowgli/home/xml/other-events.xml delete mode 100644 helm/mowgli/home/xml/people/aei/kelley.xml delete mode 100644 helm/mowgli/home/xml/people/aei/pollney.xml delete mode 100644 helm/mowgli/home/xml/people/aei/schutz.xml delete mode 100644 helm/mowgli/home/xml/people/aei/velden.xml delete mode 100644 helm/mowgli/home/xml/people/aei/wegner.xml delete mode 100644 helm/mowgli/home/xml/people/aei/weyher.xml delete mode 100644 helm/mowgli/home/xml/people/bologna/asperti.xml delete mode 100644 helm/mowgli/home/xml/people/bologna/guidi.xml delete mode 100644 helm/mowgli/home/xml/people/bologna/padovani.xml delete mode 100644 helm/mowgli/home/xml/people/bologna/sacerdoti.xml delete mode 100644 helm/mowgli/home/xml/people/bologna/schena.xml delete mode 100644 helm/mowgli/home/xml/people/dfki/goguadze.xml delete mode 100644 helm/mowgli/home/xml/people/dfki/kohlhase.xml delete mode 100644 helm/mowgli/home/xml/people/dfki/libbrecht.xml delete mode 100644 helm/mowgli/home/xml/people/dfki/melis.xml delete mode 100644 helm/mowgli/home/xml/people/dfki/moschner.xml delete mode 100644 helm/mowgli/home/xml/people/dfki/siekmann.xml delete mode 100644 helm/mowgli/home/xml/people/index.xml delete mode 100644 helm/mowgli/home/xml/people/inria/amerkad.xml delete mode 100644 helm/mowgli/home/xml/people/inria/bertot.xml delete mode 100644 helm/mowgli/home/xml/people/inria/chicli.xml delete mode 100644 helm/mowgli/home/xml/people/inria/delahaye.xml delete mode 100644 helm/mowgli/home/xml/people/inria/herbelin.xml delete mode 100644 helm/mowgli/home/xml/people/inria/naciri.xml delete mode 100644 helm/mowgli/home/xml/people/inria/pottier.xml delete mode 100644 helm/mowgli/home/xml/people/inria/rideau.xml delete mode 100644 helm/mowgli/home/xml/people/inria/thery.xml delete mode 100644 helm/mowgli/home/xml/people/inria/werner.xml delete mode 100644 helm/mowgli/home/xml/people/nijmegen/barendregt.xml delete mode 100644 helm/mowgli/home/xml/people/nijmegen/barreiro.xml delete mode 100644 helm/mowgli/home/xml/people/nijmegen/cohen.xml delete mode 100644 helm/mowgli/home/xml/people/nijmegen/cruz-filipe.xml delete mode 100644 helm/mowgli/home/xml/people/nijmegen/geuvers.xml delete mode 100644 helm/mowgli/home/xml/people/nijmegen/niqui.xml delete mode 100644 helm/mowgli/home/xml/people/nijmegen/stein.xml delete mode 100644 helm/mowgli/home/xml/people/nijmegen/synek.xml delete mode 100644 helm/mowgli/home/xml/people/nijmegen/wiedijk.xml delete mode 100644 helm/mowgli/home/xml/people/person.dtd delete mode 100644 helm/mowgli/home/xml/people/trusted-logic/bolignano.xml delete mode 100644 helm/mowgli/home/xml/people/trusted-logic/gimenez.xml delete mode 100644 helm/mowgli/home/xml/people/trusted-logic/loiseaux.xml delete mode 100644 helm/mowgli/home/xml/project.xml delete mode 100644 helm/mowgli/home/xml/proposal/EC-contribution.xml delete mode 100644 helm/mowgli/home/xml/proposal/contribution.xml delete mode 100644 helm/mowgli/home/xml/proposal/econ-scient-tech-prospects.xml delete mode 100644 helm/mowgli/home/xml/proposal/innovation.xml delete mode 100644 helm/mowgli/home/xml/proposal/project-components.xml delete mode 100644 helm/mowgli/home/xml/proposal/project-management.xml delete mode 100644 helm/mowgli/home/xml/proposal/project-objectives.xml delete mode 100644 helm/mowgli/home/xml/proposal/project-planning.xml delete mode 100644 helm/mowgli/home/xml/proposal/project-summary.xml delete mode 100644 helm/mowgli/home/xml/publications/index.xml delete mode 100644 helm/mowgli/home/xml/publications/mowgli/crimea2002_aw.xml delete mode 100644 helm/mowgli/home/xml/publications/mowgli/crimea2002_aw_on_line.xml delete mode 100644 helm/mowgli/home/xml/publications/others/category_al.xml delete mode 100644 helm/mowgli/home/xml/publications/others/cc.xml delete mode 100644 helm/mowgli/home/xml/publications/others/crimea2001_apss.xml delete mode 100644 helm/mowgli/home/xml/publications/others/cup_hp91.xml delete mode 100644 helm/mowgli/home/xml/publications/others/cup_hp93.xml delete mode 100644 helm/mowgli/home/xml/publications/others/cup_s.xml delete mode 100644 helm/mowgli/home/xml/publications/others/cup_s2.xml delete mode 100644 helm/mowgli/home/xml/publications/others/extreme2001_apss.xml delete mode 100644 helm/mowgli/home/xml/publications/others/har_bg.xml delete mode 100644 helm/mowgli/home/xml/publications/others/jep_ws.xml delete mode 100644 helm/mowgli/home/xml/publications/others/jep_wwsw.xml delete mode 100644 helm/mowgli/home/xml/publications/others/jlp2001_scg.xml delete mode 100644 helm/mowgli/home/xml/publications/others/mathml2000_apss.xml delete mode 100644 helm/mowgli/home/xml/publications/others/mscs_gb.xml delete mode 100644 helm/mowgli/home/xml/publications/others/publication.dtd delete mode 100644 helm/mowgli/home/xml/publications/others/tcs2001_og.xml delete mode 100644 helm/mowgli/home/xml/publications/others/tphols2000_gwz.xml delete mode 100644 helm/mowgli/home/xml/publications/others/tphols2001_apss.xml delete mode 100644 helm/mowgli/home/xml/publications/others/w3c_bl98.xml delete mode 100644 helm/mowgli/home/xml/sites/aei.xml delete mode 100644 helm/mowgli/home/xml/sites/bologna.xml delete mode 100644 helm/mowgli/home/xml/sites/dfki.xml delete mode 100644 helm/mowgli/home/xml/sites/inria.xml delete mode 100644 helm/mowgli/home/xml/sites/nijmegen.xml delete mode 100644 helm/mowgli/home/xml/sites/site.dtd delete mode 100644 helm/mowgli/home/xml/sites/trusted-logic.xml delete mode 100644 helm/mowgli/home/xml/slides/mowgligroup.xml delete mode 100644 helm/mowgli/home/xml/software/index.xml delete mode 100644 helm/mowgli/home/xml/work-packages/distribution.xml delete mode 100644 helm/mowgli/home/xml/work-packages/index.xml delete mode 100644 helm/mowgli/home/xml/work-packages/information-dissemination-and-exploitation.xml delete mode 100644 helm/mowgli/home/xml/work-packages/interfaces.xml delete mode 100644 helm/mowgli/home/xml/work-packages/metadata.xml delete mode 100644 helm/mowgli/home/xml/work-packages/project-management.xml delete mode 100644 helm/mowgli/home/xml/work-packages/requirement-analysis.xml delete mode 100644 helm/mowgli/home/xml/work-packages/testing-and-validation.xml delete mode 100644 helm/mowgli/home/xml/work-packages/transformation.xml delete mode 100644 helm/mowgli/home/xml/work-packages/work-package.dtd delete mode 100644 helm/mowgli/home/xsl/approaching-deadlines.xsl delete mode 100644 helm/mowgli/home/xsl/common.xsl delete mode 100644 helm/mowgli/home/xsl/consortium.xsl delete mode 100644 helm/mowgli/home/xsl/deadlines.xsl delete mode 100644 helm/mowgli/home/xsl/deliverable.xsl delete mode 100644 helm/mowgli/home/xsl/events.xsl delete mode 100644 helm/mowgli/home/xsl/latest-news.xsl delete mode 100644 helm/mowgli/home/xsl/management.xsl delete mode 100644 helm/mowgli/home/xsl/minutes.xsl delete mode 100644 helm/mowgli/home/xsl/news.xsl delete mode 100644 helm/mowgli/home/xsl/people-list.xsl delete mode 100644 helm/mowgli/home/xsl/person.xsl delete mode 100644 helm/mowgli/home/xsl/project.xsl delete mode 100644 helm/mowgli/home/xsl/publication.xsl delete mode 100644 helm/mowgli/home/xsl/publications-index.xsl delete mode 100644 helm/mowgli/home/xsl/site.xsl delete mode 100644 helm/mowgli/home/xsl/work-package.xsl delete mode 100644 helm/mowgli/home/xsl/work-packages_index.xsl delete mode 100644 helm/mowgli/home/xsl/xhtml-content.xsl delete mode 100644 helm/nuprl_stylesheets/nuprl_abstract.xsl delete mode 100644 helm/nuprl_stylesheets/nuprl_annotatedpres.xsl delete mode 100644 helm/nuprl_stylesheets/nuprl_content_to_html2.xsl delete mode 100644 helm/nuprl_stylesheets/nuprl_expand.xsl delete mode 100644 helm/nuprl_stylesheets/nuprl_html_arith.xsl delete mode 100644 helm/nuprl_stylesheets/nuprl_html_basic.xsl delete mode 100644 helm/nuprl_stylesheets/nuprl_link.xsl delete mode 100644 helm/nuprl_stylesheets/nuprl_links_library.xsl delete mode 100644 helm/nuprl_stylesheets/nuprl_mmlextension.xsl delete mode 100644 helm/nuprl_stylesheets/nuprl_proof.xsl delete mode 100644 helm/nuprl_stylesheets/nuprl_rules.xsl delete mode 100644 helm/nuprl_stylesheets/nuprl_term.xsl delete mode 100644 helm/nuprl_stylesheets/nuprl_tree.xsl delete mode 100644 helm/nuprl_stylesheets/xslt_index.txt delete mode 100644 helm/ocaml/.cvsignore delete mode 100644 helm/ocaml/METAS/.cvsignore delete mode 100644 helm/ocaml/METAS/meta.helm-cic.src delete mode 100644 helm/ocaml/METAS/meta.helm-cic_annotations.src delete mode 100644 helm/ocaml/METAS/meta.helm-cic_annotations_cache.src delete mode 100644 helm/ocaml/METAS/meta.helm-cic_cache.src delete mode 100644 helm/ocaml/METAS/meta.helm-cic_disambiguation.src delete mode 100644 helm/ocaml/METAS/meta.helm-cic_notation.src delete mode 100644 helm/ocaml/METAS/meta.helm-cic_omdoc.src delete mode 100644 helm/ocaml/METAS/meta.helm-cic_proof_checking.src delete mode 100644 helm/ocaml/METAS/meta.helm-cic_textual_parser.src delete mode 100644 helm/ocaml/METAS/meta.helm-cic_transformations.src delete mode 100644 helm/ocaml/METAS/meta.helm-cic_unification.src delete mode 100644 helm/ocaml/METAS/meta.helm-extlib.src delete mode 100644 helm/ocaml/METAS/meta.helm-getter.src delete mode 100644 helm/ocaml/METAS/meta.helm-hbugs.src delete mode 100644 helm/ocaml/METAS/meta.helm-hmysql.src delete mode 100644 helm/ocaml/METAS/meta.helm-logger.src delete mode 100644 helm/ocaml/METAS/meta.helm-mathql.src delete mode 100644 helm/ocaml/METAS/meta.helm-mathql_generator.src delete mode 100644 helm/ocaml/METAS/meta.helm-mathql_interpreter.src delete mode 100644 helm/ocaml/METAS/meta.helm-metadata.src delete mode 100644 helm/ocaml/METAS/meta.helm-paramodulation.src delete mode 100644 helm/ocaml/METAS/meta.helm-pxp.src delete mode 100644 helm/ocaml/METAS/meta.helm-registry.src delete mode 100644 helm/ocaml/METAS/meta.helm-tactics.src delete mode 100644 helm/ocaml/METAS/meta.helm-tex_cic_textual_parser.src delete mode 100644 helm/ocaml/METAS/meta.helm-thread.src delete mode 100644 helm/ocaml/METAS/meta.helm-urimanager.src delete mode 100644 helm/ocaml/METAS/meta.helm-utf8_macros.src delete mode 100644 helm/ocaml/METAS/meta.helm-xml.src delete mode 100644 helm/ocaml/METAS/meta.helm-xmldiff.src delete mode 100644 helm/ocaml/Makefile.common.in delete mode 100644 helm/ocaml/Makefile.in delete mode 100644 helm/ocaml/TODO delete mode 100644 helm/ocaml/cic/.cvsignore delete mode 100644 helm/ocaml/cic/.depend delete mode 100644 helm/ocaml/cic/Makefile delete mode 100644 helm/ocaml/cic/cic.ml delete mode 100644 helm/ocaml/cic/cicParser.ml delete mode 100644 helm/ocaml/cic/cicParser.mli delete mode 100644 helm/ocaml/cic/cicUniv.ml delete mode 100644 helm/ocaml/cic/cicUniv.mli delete mode 100644 helm/ocaml/cic/cicUtil.ml delete mode 100644 helm/ocaml/cic/cicUtil.mli delete mode 100644 helm/ocaml/cic/deannotate.ml delete mode 100644 helm/ocaml/cic/deannotate.mli delete mode 100644 helm/ocaml/cic/helmLibraryObjects.ml delete mode 100644 helm/ocaml/cic/helmLibraryObjects.mli delete mode 100644 helm/ocaml/cic/libraryObjects.ml delete mode 100644 helm/ocaml/cic/libraryObjects.mli delete mode 100644 helm/ocaml/cic/test.ml delete mode 100644 helm/ocaml/cic/unshare.ml delete mode 100644 helm/ocaml/cic/unshare.mli delete mode 100644 helm/ocaml/cic_disambiguation/.cvsignore delete mode 100644 helm/ocaml/cic_disambiguation/.depend delete mode 100644 helm/ocaml/cic_disambiguation/Makefile delete mode 100644 helm/ocaml/cic_disambiguation/disambiguate.ml delete mode 100644 helm/ocaml/cic_disambiguation/disambiguate.mli delete mode 100644 helm/ocaml/cic_disambiguation/disambiguateChoices.ml delete mode 100644 helm/ocaml/cic_disambiguation/disambiguateChoices.mli delete mode 100644 helm/ocaml/cic_disambiguation/disambiguatePp.ml delete mode 100644 helm/ocaml/cic_disambiguation/disambiguatePp.mli delete mode 100644 helm/ocaml/cic_disambiguation/disambiguateTypes.ml delete mode 100644 helm/ocaml/cic_disambiguation/disambiguateTypes.mli delete mode 100644 helm/ocaml/cic_disambiguation/doc/precedence.txt delete mode 100644 helm/ocaml/cic_disambiguation/number_notation.ml delete mode 100644 helm/ocaml/cic_disambiguation/tests/aliases.txt delete mode 100644 helm/ocaml/cic_disambiguation/tests/eq.txt delete mode 100644 helm/ocaml/cic_disambiguation/tests/match.txt delete mode 100644 helm/ocaml/cic_notation/.cvsignore delete mode 100644 helm/ocaml/cic_notation/.depend delete mode 100644 helm/ocaml/cic_notation/Makefile delete mode 100644 helm/ocaml/cic_notation/TODO delete mode 100644 helm/ocaml/cic_notation/box.ml delete mode 100644 helm/ocaml/cic_notation/box.mli delete mode 100644 helm/ocaml/cic_notation/boxPp.ml delete mode 100644 helm/ocaml/cic_notation/boxPp.mli delete mode 100644 helm/ocaml/cic_notation/cicNotation.ml delete mode 100644 helm/ocaml/cic_notation/cicNotation.mli delete mode 100644 helm/ocaml/cic_notation/cicNotationEnv.ml delete mode 100644 helm/ocaml/cic_notation/cicNotationEnv.mli delete mode 100644 helm/ocaml/cic_notation/cicNotationFwd.ml delete mode 100644 helm/ocaml/cic_notation/cicNotationFwd.mli delete mode 100644 helm/ocaml/cic_notation/cicNotationLexer.ml delete mode 100644 helm/ocaml/cic_notation/cicNotationLexer.mli delete mode 100644 helm/ocaml/cic_notation/cicNotationMatcher.ml delete mode 100644 helm/ocaml/cic_notation/cicNotationMatcher.mli delete mode 100644 helm/ocaml/cic_notation/cicNotationParser.expanded.ml delete mode 100644 helm/ocaml/cic_notation/cicNotationParser.ml delete mode 100644 helm/ocaml/cic_notation/cicNotationParser.mli delete mode 100644 helm/ocaml/cic_notation/cicNotationPp.ml delete mode 100644 helm/ocaml/cic_notation/cicNotationPp.mli delete mode 100644 helm/ocaml/cic_notation/cicNotationPres.ml delete mode 100644 helm/ocaml/cic_notation/cicNotationPres.mli delete mode 100644 helm/ocaml/cic_notation/cicNotationPt.ml delete mode 100644 helm/ocaml/cic_notation/cicNotationRew.ml delete mode 100644 helm/ocaml/cic_notation/cicNotationRew.mli delete mode 100644 helm/ocaml/cic_notation/cicNotationTag.ml delete mode 100644 helm/ocaml/cic_notation/cicNotationTag.mli delete mode 100644 helm/ocaml/cic_notation/cicNotationUtil.ml delete mode 100644 helm/ocaml/cic_notation/cicNotationUtil.mli delete mode 100644 helm/ocaml/cic_notation/doc/.cvsignore delete mode 100644 helm/ocaml/cic_notation/doc/Makefile delete mode 100644 helm/ocaml/cic_notation/doc/body.tex delete mode 100644 helm/ocaml/cic_notation/doc/infernce.sty delete mode 100644 helm/ocaml/cic_notation/doc/ligature.sty delete mode 100644 helm/ocaml/cic_notation/doc/main.tex delete mode 100644 helm/ocaml/cic_notation/doc/manfnt.sty delete mode 100644 helm/ocaml/cic_notation/doc/reserved.sty delete mode 100644 helm/ocaml/cic_notation/doc/samples.ma delete mode 100644 helm/ocaml/cic_notation/doc/semantic.sty delete mode 100644 helm/ocaml/cic_notation/doc/shrthand.sty delete mode 100644 helm/ocaml/cic_notation/doc/tdiagram.sty delete mode 100644 helm/ocaml/cic_notation/grafiteAst.ml delete mode 100644 helm/ocaml/cic_notation/grafiteAstPp.ml delete mode 100644 helm/ocaml/cic_notation/grafiteAstPp.mli delete mode 100644 helm/ocaml/cic_notation/grafiteParser.ml delete mode 100644 helm/ocaml/cic_notation/grafiteParser.mli delete mode 100644 helm/ocaml/cic_notation/mpresentation.ml delete mode 100644 helm/ocaml/cic_notation/mpresentation.mli delete mode 100644 helm/ocaml/cic_notation/print_grammar.ml delete mode 100644 helm/ocaml/cic_notation/renderingAttrs.ml delete mode 100644 helm/ocaml/cic_notation/renderingAttrs.mli delete mode 100644 helm/ocaml/cic_notation/test_dep.ml delete mode 100644 helm/ocaml/cic_notation/test_lexer.ml delete mode 100644 helm/ocaml/cic_notation/test_parser.conf.xml delete mode 100644 helm/ocaml/cic_notation/test_parser.ml delete mode 100644 helm/ocaml/cic_omdoc/.cvsignore delete mode 100644 helm/ocaml/cic_omdoc/.depend delete mode 100644 helm/ocaml/cic_omdoc/Makefile delete mode 100644 helm/ocaml/cic_omdoc/cic2acic.ml delete mode 100644 helm/ocaml/cic_omdoc/cic2acic.mli delete mode 100644 helm/ocaml/cic_omdoc/cic2content.ml delete mode 100644 helm/ocaml/cic_omdoc/cic2content.mli delete mode 100644 helm/ocaml/cic_omdoc/content.ml delete mode 100644 helm/ocaml/cic_omdoc/content.mli delete mode 100644 helm/ocaml/cic_omdoc/content2cic.ml delete mode 100644 helm/ocaml/cic_omdoc/content2cic.mli delete mode 100644 helm/ocaml/cic_omdoc/contentPp.ml delete mode 100644 helm/ocaml/cic_omdoc/contentPp.mli delete mode 100644 helm/ocaml/cic_omdoc/doubleTypeInference.ml delete mode 100644 helm/ocaml/cic_omdoc/doubleTypeInference.mli delete mode 100644 helm/ocaml/cic_omdoc/eta_fixing.ml delete mode 100644 helm/ocaml/cic_omdoc/eta_fixing.mli delete mode 100644 helm/ocaml/cic_proof_checking/.cvsignore delete mode 100644 helm/ocaml/cic_proof_checking/.depend delete mode 100644 helm/ocaml/cic_proof_checking/Makefile delete mode 100644 helm/ocaml/cic_proof_checking/cicElim.ml delete mode 100644 helm/ocaml/cic_proof_checking/cicElim.mli delete mode 100644 helm/ocaml/cic_proof_checking/cicEnvironment.ml delete mode 100644 helm/ocaml/cic_proof_checking/cicEnvironment.mli delete mode 100644 helm/ocaml/cic_proof_checking/cicLogger.ml delete mode 100644 helm/ocaml/cic_proof_checking/cicLogger.mli delete mode 100644 helm/ocaml/cic_proof_checking/cicMiniReduction.ml delete mode 100644 helm/ocaml/cic_proof_checking/cicMiniReduction.mli delete mode 100644 helm/ocaml/cic_proof_checking/cicPp.ml delete mode 100644 helm/ocaml/cic_proof_checking/cicPp.mli delete mode 100644 helm/ocaml/cic_proof_checking/cicRecord.ml delete mode 100644 helm/ocaml/cic_proof_checking/cicRecord.mli delete mode 100644 helm/ocaml/cic_proof_checking/cicReduction.ml delete mode 100644 helm/ocaml/cic_proof_checking/cicReduction.mli delete mode 100644 helm/ocaml/cic_proof_checking/cicSubstitution.ml delete mode 100644 helm/ocaml/cic_proof_checking/cicSubstitution.mli delete mode 100644 helm/ocaml/cic_proof_checking/cicTypeChecker.ml delete mode 100644 helm/ocaml/cic_proof_checking/cicTypeChecker.mli delete mode 100644 helm/ocaml/cic_proof_checking/cicUnivUtils.ml delete mode 100644 helm/ocaml/cic_proof_checking/cicUnivUtils.mli delete mode 100644 helm/ocaml/cic_proof_checking/doc/inductive.txt delete mode 100755 helm/ocaml/cic_proof_checking/freshNamesGenerator.ml delete mode 100644 helm/ocaml/cic_proof_checking/freshNamesGenerator.mli delete mode 100644 helm/ocaml/cic_proof_checking/utilities/.cvsignore delete mode 100644 helm/ocaml/cic_proof_checking/utilities/Makefile delete mode 100644 helm/ocaml/cic_proof_checking/utilities/create_environment.ml delete mode 100644 helm/ocaml/cic_proof_checking/utilities/list_uris.ml delete mode 100644 helm/ocaml/cic_proof_checking/utilities/parse_library.ml delete mode 100644 helm/ocaml/cic_transformations/.cvsignore delete mode 100644 helm/ocaml/cic_transformations/.depend delete mode 100644 helm/ocaml/cic_transformations/Makefile delete mode 100644 helm/ocaml/cic_transformations/applyTransformation.ml delete mode 100644 helm/ocaml/cic_transformations/applyTransformation.mli delete mode 100644 helm/ocaml/cic_transformations/cic2Xml.ml delete mode 100644 helm/ocaml/cic_transformations/cic2Xml.mli delete mode 100644 helm/ocaml/cic_transformations/content2pres.ml delete mode 100644 helm/ocaml/cic_transformations/content2pres.mli delete mode 100644 helm/ocaml/cic_transformations/content_expressions.ml delete mode 100644 helm/ocaml/cic_transformations/domMisc.ml delete mode 100644 helm/ocaml/cic_transformations/domMisc.mli delete mode 100644 helm/ocaml/cic_transformations/sequent2pres.ml delete mode 100644 helm/ocaml/cic_transformations/sequent2pres.mli delete mode 100644 helm/ocaml/cic_transformations/xml2Gdome.ml delete mode 100644 helm/ocaml/cic_transformations/xml2Gdome.mli delete mode 100644 helm/ocaml/cic_unification/.cvsignore delete mode 100644 helm/ocaml/cic_unification/.depend delete mode 100644 helm/ocaml/cic_unification/Makefile delete mode 100644 helm/ocaml/cic_unification/cicMetaSubst.ml delete mode 100644 helm/ocaml/cic_unification/cicMetaSubst.mli delete mode 100644 helm/ocaml/cic_unification/cicMkImplicit.ml delete mode 100644 helm/ocaml/cic_unification/cicMkImplicit.mli delete mode 100644 helm/ocaml/cic_unification/cicRefine.ml delete mode 100644 helm/ocaml/cic_unification/cicRefine.mli delete mode 100644 helm/ocaml/cic_unification/cicUnification.ml delete mode 100644 helm/ocaml/cic_unification/cicUnification.mli delete mode 100644 helm/ocaml/cic_unification/coercDb.ml delete mode 100644 helm/ocaml/cic_unification/coercDb.mli delete mode 100644 helm/ocaml/cic_unification/coercGraph.ml delete mode 100644 helm/ocaml/cic_unification/coercGraph.mli delete mode 100644 helm/ocaml/configure.ac delete mode 100644 helm/ocaml/extlib/.cvsignore delete mode 100644 helm/ocaml/extlib/.depend delete mode 100644 helm/ocaml/extlib/Makefile delete mode 100644 helm/ocaml/extlib/hExtlib.ml delete mode 100644 helm/ocaml/extlib/hExtlib.mli delete mode 100644 helm/ocaml/getter/.cvsignore delete mode 100644 helm/ocaml/getter/.depend delete mode 100644 helm/ocaml/getter/.ocamlinit delete mode 100644 helm/ocaml/getter/Makefile delete mode 100644 helm/ocaml/getter/http_getter.ml delete mode 100644 helm/ocaml/getter/http_getter.mli delete mode 100644 helm/ocaml/getter/http_getter_common.ml delete mode 100644 helm/ocaml/getter/http_getter_common.mli delete mode 100644 helm/ocaml/getter/http_getter_const.ml delete mode 100644 helm/ocaml/getter/http_getter_const.mli delete mode 100644 helm/ocaml/getter/http_getter_env.ml delete mode 100644 helm/ocaml/getter/http_getter_env.mli delete mode 100644 helm/ocaml/getter/http_getter_logger.ml delete mode 100644 helm/ocaml/getter/http_getter_logger.mli delete mode 100644 helm/ocaml/getter/http_getter_misc.ml delete mode 100644 helm/ocaml/getter/http_getter_misc.mli delete mode 100644 helm/ocaml/getter/http_getter_storage.ml delete mode 100644 helm/ocaml/getter/http_getter_storage.mli delete mode 100644 helm/ocaml/getter/http_getter_types.ml delete mode 100644 helm/ocaml/getter/http_getter_wget.ml delete mode 100644 helm/ocaml/getter/http_getter_wget.mli delete mode 100755 helm/ocaml/getter/mkindexes.pl delete mode 100644 helm/ocaml/getter/sample.conf.xml delete mode 100644 helm/ocaml/getter/test.ml delete mode 100644 helm/ocaml/hbugs/.cvsignore delete mode 100644 helm/ocaml/hbugs/.depend delete mode 100644 helm/ocaml/hbugs/Makefile delete mode 100644 helm/ocaml/hbugs/broker.ml delete mode 100644 helm/ocaml/hbugs/client.ml delete mode 100644 helm/ocaml/hbugs/data/.cvsignore delete mode 100644 helm/ocaml/hbugs/data/hbugs_tutor.TPL.ml delete mode 100644 helm/ocaml/hbugs/data/tutors_index.xml delete mode 100644 helm/ocaml/hbugs/doc/.cvsignore delete mode 100644 helm/ocaml/hbugs/doc/hbugs.dia delete mode 100644 helm/ocaml/hbugs/hbugs_broker_registry.ml delete mode 100644 helm/ocaml/hbugs/hbugs_broker_registry.mli delete mode 100644 helm/ocaml/hbugs/hbugs_client.ml delete mode 100644 helm/ocaml/hbugs/hbugs_client.mli delete mode 100644 helm/ocaml/hbugs/hbugs_client_gui.glade delete mode 100644 helm/ocaml/hbugs/hbugs_common.ml delete mode 100644 helm/ocaml/hbugs/hbugs_common.mli delete mode 100644 helm/ocaml/hbugs/hbugs_id_generator.ml delete mode 100644 helm/ocaml/hbugs/hbugs_id_generator.mli delete mode 100644 helm/ocaml/hbugs/hbugs_messages.ml delete mode 100644 helm/ocaml/hbugs/hbugs_messages.mli delete mode 100644 helm/ocaml/hbugs/hbugs_misc.ml delete mode 100644 helm/ocaml/hbugs/hbugs_misc.mli delete mode 100644 helm/ocaml/hbugs/hbugs_tutors.ml delete mode 100644 helm/ocaml/hbugs/hbugs_tutors.mli delete mode 100644 helm/ocaml/hbugs/hbugs_types.mli delete mode 100644 helm/ocaml/hbugs/run/.cvsignore delete mode 100755 helm/ocaml/hbugs/scripts/brokerctl.sh delete mode 100755 helm/ocaml/hbugs/scripts/build_tutors.ml delete mode 100755 helm/ocaml/hbugs/scripts/ls_tutors.ml delete mode 100755 helm/ocaml/hbugs/scripts/sabba.sh delete mode 100644 helm/ocaml/hbugs/search_pattern_apply_tutor.ml delete mode 100644 helm/ocaml/hbugs/test/.cvsignore delete mode 100644 helm/ocaml/hbugs/test/HBUGS_MESSAGES.xml delete mode 100644 helm/ocaml/hbugs/test/Makefile delete mode 100644 helm/ocaml/hbugs/test/test_serialization.ml delete mode 100644 helm/ocaml/hmysql/.cvsignore delete mode 100644 helm/ocaml/hmysql/.depend delete mode 100644 helm/ocaml/hmysql/Makefile delete mode 100644 helm/ocaml/hmysql/hMysql.ml delete mode 100644 helm/ocaml/hmysql/hMysql.mli delete mode 100644 helm/ocaml/license delete mode 100644 helm/ocaml/logger/.cvsignore delete mode 100644 helm/ocaml/logger/.depend delete mode 100644 helm/ocaml/logger/Makefile delete mode 100644 helm/ocaml/logger/helmLogger.ml delete mode 100644 helm/ocaml/logger/helmLogger.mli delete mode 100644 helm/ocaml/mathql/.cvsignore delete mode 100644 helm/ocaml/mathql/.depend delete mode 100644 helm/ocaml/mathql/Makefile delete mode 100644 helm/ocaml/mathql/mathQL.ml delete mode 100644 helm/ocaml/mathql_generator/.cvsignore delete mode 100644 helm/ocaml/mathql_generator/.depend delete mode 100644 helm/ocaml/mathql_generator/Makefile delete mode 100644 helm/ocaml/mathql_generator/cGLocateInductive.ml delete mode 100644 helm/ocaml/mathql_generator/cGLocateInductive.mli delete mode 100644 helm/ocaml/mathql_generator/cGMatchConclusion.ml delete mode 100644 helm/ocaml/mathql_generator/cGMatchConclusion.mli delete mode 100644 helm/ocaml/mathql_generator/cGSearchPattern.ml delete mode 100644 helm/ocaml/mathql_generator/cGSearchPattern.mli delete mode 100644 helm/ocaml/mathql_generator/mQGTypes.ml delete mode 100644 helm/ocaml/mathql_generator/mQGUtil.ml delete mode 100644 helm/ocaml/mathql_generator/mQGUtil.mli delete mode 100644 helm/ocaml/mathql_generator/mQueryGenerator.ml delete mode 100644 helm/ocaml/mathql_generator/mQueryGenerator.mli delete mode 100644 helm/ocaml/mathql_interpreter/.cvsignore delete mode 100644 helm/ocaml/mathql_interpreter/.depend delete mode 100644 helm/ocaml/mathql_interpreter/Makefile delete mode 100644 helm/ocaml/mathql_interpreter/mQIConn.ml delete mode 100644 helm/ocaml/mathql_interpreter/mQIConn.mli delete mode 100644 helm/ocaml/mathql_interpreter/mQIMap.ml delete mode 100644 helm/ocaml/mathql_interpreter/mQIMap.mli delete mode 100644 helm/ocaml/mathql_interpreter/mQIMySql.ml delete mode 100644 helm/ocaml/mathql_interpreter/mQIMySql.mli delete mode 100644 helm/ocaml/mathql_interpreter/mQIPostgres.ml delete mode 100644 helm/ocaml/mathql_interpreter/mQIPostgres.mli delete mode 100644 helm/ocaml/mathql_interpreter/mQIProperty.ml delete mode 100644 helm/ocaml/mathql_interpreter/mQIProperty.mli delete mode 100644 helm/ocaml/mathql_interpreter/mQITypes.ml delete mode 100644 helm/ocaml/mathql_interpreter/mQIUtil.ml delete mode 100644 helm/ocaml/mathql_interpreter/mQIUtil.mli delete mode 100644 helm/ocaml/mathql_interpreter/mQueryInterpreter.ml delete mode 100644 helm/ocaml/mathql_interpreter/mQueryInterpreter.mli delete mode 100644 helm/ocaml/mathql_interpreter/mQueryTLexer.mll delete mode 100644 helm/ocaml/mathql_interpreter/mQueryTParser.mly delete mode 100644 helm/ocaml/mathql_interpreter/mQueryUtil.ml delete mode 100644 helm/ocaml/mathql_interpreter/mQueryUtil.mli delete mode 100644 helm/ocaml/metadata/.cvsignore delete mode 100644 helm/ocaml/metadata/.depend delete mode 100644 helm/ocaml/metadata/Makefile delete mode 100755 helm/ocaml/metadata/dump_db/dump.sh delete mode 100644 helm/ocaml/metadata/extractor/.cvsignore delete mode 100644 helm/ocaml/metadata/extractor/.depend delete mode 100644 helm/ocaml/metadata/extractor/Makefile delete mode 100644 helm/ocaml/metadata/extractor/extractor.conf.xml delete mode 100644 helm/ocaml/metadata/extractor/extractor.ml delete mode 100644 helm/ocaml/metadata/extractor/extractor_manager.ml delete mode 100644 helm/ocaml/metadata/metadataConstraints.ml delete mode 100644 helm/ocaml/metadata/metadataConstraints.mli delete mode 100644 helm/ocaml/metadata/metadataDb.ml delete mode 100644 helm/ocaml/metadata/metadataDb.mli delete mode 100644 helm/ocaml/metadata/metadataExtractor.ml delete mode 100644 helm/ocaml/metadata/metadataExtractor.mli delete mode 100644 helm/ocaml/metadata/metadataPp.ml delete mode 100644 helm/ocaml/metadata/metadataPp.mli delete mode 100644 helm/ocaml/metadata/metadataTypes.ml delete mode 100644 helm/ocaml/metadata/metadataTypes.mli delete mode 100644 helm/ocaml/metadata/sqlStatements.ml delete mode 100644 helm/ocaml/metadata/sqlStatements.mli delete mode 100644 helm/ocaml/metadata/table_creator/.cvsignore delete mode 100644 helm/ocaml/metadata/table_creator/.depend delete mode 100644 helm/ocaml/metadata/table_creator/Makefile delete mode 100755 helm/ocaml/metadata/table_creator/sync_db.sh delete mode 100644 helm/ocaml/metadata/table_creator/table_creator.ml delete mode 100644 helm/ocaml/paramodulation/.cvsignore delete mode 100644 helm/ocaml/paramodulation/.depend delete mode 100644 helm/ocaml/paramodulation/Makefile delete mode 100644 helm/ocaml/paramodulation/README delete mode 100644 helm/ocaml/paramodulation/discrimination_tree.ml delete mode 100644 helm/ocaml/paramodulation/indexing.ml delete mode 100644 helm/ocaml/paramodulation/inference.ml delete mode 100644 helm/ocaml/paramodulation/inference.mli delete mode 100644 helm/ocaml/paramodulation/path_indexing.ml delete mode 100644 helm/ocaml/paramodulation/saturate_main.ml delete mode 100644 helm/ocaml/paramodulation/saturation.ml delete mode 100644 helm/ocaml/paramodulation/test_indexing.ml delete mode 100644 helm/ocaml/paramodulation/trie.ml delete mode 100644 helm/ocaml/paramodulation/utils.ml delete mode 100644 helm/ocaml/paramodulation/utils.mli delete mode 100644 helm/ocaml/registry/.cvsignore delete mode 100644 helm/ocaml/registry/.depend delete mode 100644 helm/ocaml/registry/.ocamlinit delete mode 100644 helm/ocaml/registry/Makefile delete mode 100644 helm/ocaml/registry/helm_registry.ml delete mode 100644 helm/ocaml/registry/helm_registry.mli delete mode 100644 helm/ocaml/registry/test.ml delete mode 100644 helm/ocaml/registry/tests/sample.xml delete mode 100644 helm/ocaml/registry/tests/sample_include.xml delete mode 100644 helm/ocaml/tactics/.cvsignore delete mode 100644 helm/ocaml/tactics/.depend delete mode 100644 helm/ocaml/tactics/Makefile delete mode 100644 helm/ocaml/tactics/autoTactic.ml delete mode 100644 helm/ocaml/tactics/autoTactic.mli delete mode 100644 helm/ocaml/tactics/continuationals.ml delete mode 100644 helm/ocaml/tactics/continuationals.mli delete mode 100644 helm/ocaml/tactics/discriminationTactics.ml delete mode 100644 helm/ocaml/tactics/discriminationTactics.mli delete mode 100644 helm/ocaml/tactics/doc/.cvsignore delete mode 100644 helm/ocaml/tactics/doc/Makefile delete mode 100644 helm/ocaml/tactics/doc/body.tex delete mode 100644 helm/ocaml/tactics/doc/infernce.sty delete mode 100644 helm/ocaml/tactics/doc/ligature.sty delete mode 100644 helm/ocaml/tactics/doc/main.tex delete mode 100644 helm/ocaml/tactics/doc/reserved.sty delete mode 100644 helm/ocaml/tactics/doc/semantic.sty delete mode 100644 helm/ocaml/tactics/doc/shrthand.sty delete mode 100644 helm/ocaml/tactics/doc/tdiagram.sty delete mode 100644 helm/ocaml/tactics/eliminationTactics.ml delete mode 100644 helm/ocaml/tactics/eliminationTactics.mli delete mode 100644 helm/ocaml/tactics/equalityTactics.ml delete mode 100644 helm/ocaml/tactics/equalityTactics.mli delete mode 100644 helm/ocaml/tactics/fourier.ml delete mode 100644 helm/ocaml/tactics/fourier.mli delete mode 100644 helm/ocaml/tactics/fourierR.ml delete mode 100644 helm/ocaml/tactics/fourierR.mli delete mode 100644 helm/ocaml/tactics/fwdSimplTactic.ml delete mode 100644 helm/ocaml/tactics/fwdSimplTactic.mli delete mode 100644 helm/ocaml/tactics/hashtbl_equiv.ml delete mode 100644 helm/ocaml/tactics/hashtbl_equiv.mli delete mode 100644 helm/ocaml/tactics/history.ml delete mode 100644 helm/ocaml/tactics/history.mli delete mode 100644 helm/ocaml/tactics/introductionTactics.ml delete mode 100644 helm/ocaml/tactics/introductionTactics.mli delete mode 100644 helm/ocaml/tactics/metadataQuery.ml delete mode 100644 helm/ocaml/tactics/metadataQuery.mli delete mode 100644 helm/ocaml/tactics/negationTactics.ml delete mode 100644 helm/ocaml/tactics/negationTactics.mli delete mode 100644 helm/ocaml/tactics/primitiveTactics.ml delete mode 100644 helm/ocaml/tactics/primitiveTactics.mli delete mode 100644 helm/ocaml/tactics/proofEngineHelpers.ml delete mode 100644 helm/ocaml/tactics/proofEngineHelpers.mli delete mode 100644 helm/ocaml/tactics/proofEngineReduction.ml delete mode 100644 helm/ocaml/tactics/proofEngineReduction.mli delete mode 100644 helm/ocaml/tactics/proofEngineStructuralRules.ml delete mode 100644 helm/ocaml/tactics/proofEngineStructuralRules.mli delete mode 100644 helm/ocaml/tactics/proofEngineTypes.ml delete mode 100644 helm/ocaml/tactics/proofEngineTypes.mli delete mode 100644 helm/ocaml/tactics/reductionTactics.ml delete mode 100644 helm/ocaml/tactics/reductionTactics.mli delete mode 100644 helm/ocaml/tactics/ring.ml delete mode 100644 helm/ocaml/tactics/ring.mli delete mode 100644 helm/ocaml/tactics/statefulProofEngine.ml delete mode 100644 helm/ocaml/tactics/statefulProofEngine.mli delete mode 100644 helm/ocaml/tactics/tacticChaser.ml delete mode 100644 helm/ocaml/tactics/tacticals.ml delete mode 100644 helm/ocaml/tactics/tacticals.mli delete mode 100644 helm/ocaml/tactics/tactics.ml delete mode 100644 helm/ocaml/tactics/tactics.mli delete mode 100644 helm/ocaml/tactics/variousTactics.ml delete mode 100644 helm/ocaml/tactics/variousTactics.mli delete mode 100644 helm/ocaml/thread/.cvsignore delete mode 100644 helm/ocaml/thread/.depend delete mode 100644 helm/ocaml/thread/Makefile delete mode 100644 helm/ocaml/thread/extThread.ml delete mode 100644 helm/ocaml/thread/extThread.mli delete mode 100644 helm/ocaml/thread/fake/.cvsignore delete mode 100644 helm/ocaml/thread/fake/threadSafe.ml delete mode 100644 helm/ocaml/thread/fake/threadSafe.mli delete mode 100644 helm/ocaml/thread/threadSafe.ml delete mode 100644 helm/ocaml/thread/threadSafe.mli delete mode 100644 helm/ocaml/urimanager/.cvsignore delete mode 100644 helm/ocaml/urimanager/.depend delete mode 100644 helm/ocaml/urimanager/Makefile delete mode 100644 helm/ocaml/urimanager/uriManager.ml delete mode 100644 helm/ocaml/urimanager/uriManager.mli delete mode 100644 helm/ocaml/utf8_macros/.cvsignore delete mode 100644 helm/ocaml/utf8_macros/.depend delete mode 100644 helm/ocaml/utf8_macros/Makefile delete mode 100644 helm/ocaml/utf8_macros/README.syntax delete mode 100644 helm/ocaml/utf8_macros/data/dictionary-tex.xml delete mode 100644 helm/ocaml/utf8_macros/data/entities-table.xml delete mode 100644 helm/ocaml/utf8_macros/data/extra-entities.xml delete mode 100644 helm/ocaml/utf8_macros/make_table.ml delete mode 100644 helm/ocaml/utf8_macros/pa_unicode_macro.ml delete mode 100644 helm/ocaml/utf8_macros/test.ml delete mode 100644 helm/ocaml/utf8_macros/utf8Macro.ml delete mode 100644 helm/ocaml/utf8_macros/utf8Macro.mli delete mode 100644 helm/ocaml/utf8_macros/utf8MacroTable.ml delete mode 100644 helm/ocaml/xml/.cvsignore delete mode 100644 helm/ocaml/xml/.depend delete mode 100644 helm/ocaml/xml/Makefile delete mode 100644 helm/ocaml/xml/test.ml delete mode 100644 helm/ocaml/xml/xml.ml delete mode 100644 helm/ocaml/xml/xml.mli delete mode 100644 helm/ocaml/xml/xmlPushParser.ml delete mode 100644 helm/ocaml/xml/xmlPushParser.mli delete mode 100644 helm/ocaml/xmldiff/.cvsignore delete mode 100644 helm/ocaml/xmldiff/.depend delete mode 100644 helm/ocaml/xmldiff/Makefile delete mode 100644 helm/ocaml/xmldiff/xmlDiff.ml delete mode 100644 helm/ocaml/xmldiff/xmlDiff.mli delete mode 100644 helm/on-line/html/cic/control.html delete mode 100644 helm/on-line/html/cic/index.html delete mode 100644 helm/on-line/html/configuration.html delete mode 100644 helm/on-line/html/folder/control.html delete mode 100644 helm/on-line/html/folder/index.html delete mode 100644 helm/on-line/html/theory/control.html delete mode 100644 helm/on-line/html/theory/index.html delete mode 100644 helm/on-line/icons/folder.png delete mode 100644 helm/on-line/icons/object.png delete mode 100644 helm/on-line/icons/theory.png delete mode 100644 helm/on-line/javascript/.cvsignore delete mode 100644 helm/on-line/javascript/Makefile delete mode 100644 helm/on-line/javascript/helmjsmenu.js delete mode 100644 helm/on-line/javascript/prelude.js delete mode 100644 helm/on-line/xslt/getParam.xsl delete mode 100644 helm/on-line/xslt/ls2theory.xsl delete mode 100644 helm/on-line/xslt/makeGraphLinks.xsl delete mode 100644 helm/on-line/xslt/metadataControl.xsl delete mode 100644 helm/on-line/xslt/resolve_topurl.xsl delete mode 100644 helm/on-line/xslt/search.xsl delete mode 100644 helm/on-line/xslt/substKey.xsl delete mode 100644 helm/on-line/xslt/toplevel_header.xsl delete mode 100644 helm/on-line/xslt/utils.xsl delete mode 100644 helm/on-line/xslt/xslt_index.txt delete mode 100644 helm/pacchetti/Makefile delete mode 100644 helm/papers/calculemus-2003/.cvsignore delete mode 100644 helm/papers/calculemus-2003/Makefile delete mode 100644 helm/papers/calculemus-2003/draftstamp.sty delete mode 100644 helm/papers/calculemus-2003/ed.sty delete mode 100644 helm/papers/calculemus-2003/eps/arch.dia delete mode 100644 helm/papers/calculemus-2003/eps/arch.eps delete mode 100644 helm/papers/calculemus-2003/eps/interfaces.dia delete mode 100644 helm/papers/calculemus-2003/eps/interfaces.eps delete mode 100644 helm/papers/calculemus-2003/eps/status.eps delete mode 100644 helm/papers/calculemus-2003/eps/step1.eps delete mode 100644 helm/papers/calculemus-2003/eps/step2.eps delete mode 100644 helm/papers/calculemus-2003/hbugs-calculemus-2003.pdf delete mode 100644 helm/papers/calculemus-2003/hbugs-calculemus-2003.ps.gz delete mode 100644 helm/papers/calculemus-2003/hbugs-calculemus-2003.tex delete mode 100644 helm/papers/calculemus-2003/llncs.cls delete mode 100644 helm/papers/calculemus-2003/outline.txt delete mode 100644 helm/papers/calculemus-2003/referaggio_hbugs.txt delete mode 100644 helm/papers/calculemus-2003/referaggio_hbugs_short.txt delete mode 100644 helm/papers/calculemus-2003/slides/Makefile delete mode 100644 helm/papers/calculemus-2003/slides/advilogo.anim.gif delete mode 100644 helm/papers/calculemus-2003/slides/bar.eps delete mode 100644 helm/papers/calculemus-2003/slides/eps/hbugsArch-slides.eps delete mode 100644 helm/papers/calculemus-2003/slides/eps/hbugsInterfaces-slides.eps delete mode 100644 helm/papers/calculemus-2003/slides/eps/helmHttpDeps-slides.eps delete mode 100644 helm/papers/calculemus-2003/slides/eps/helmLogic-slides.eps delete mode 100644 helm/papers/calculemus-2003/slides/eps/helmLogic.png delete mode 100644 helm/papers/calculemus-2003/slides/eps/helmLogo-slides.eps delete mode 100644 helm/papers/calculemus-2003/slides/eps/logo.jpg delete mode 100644 helm/papers/calculemus-2003/slides/eps/thatsall-slides.eps delete mode 100644 helm/papers/calculemus-2003/slides/eps/thatsall.gif delete mode 100644 helm/papers/calculemus-2003/slides/helm.eps delete mode 100644 helm/papers/calculemus-2003/slides/misc/hint2.xml delete mode 100644 helm/papers/calculemus-2003/slides/misc/messages.dia delete mode 100644 helm/papers/calculemus-2003/slides/misc/startmusing.xml delete mode 100644 helm/papers/calculemus-2003/slides/show.dvi delete mode 100644 helm/papers/calculemus-2003/slides/show.tex delete mode 100644 helm/papers/calculemus-2003/slides/slides.tex delete mode 100644 helm/papers/calculemus-2003/stamp.pro delete mode 100644 helm/papers/matita/.cvsignore delete mode 100644 helm/papers/matita/Makefile delete mode 100644 helm/papers/matita/ed.sty delete mode 100644 helm/papers/matita/input_phase.dia delete mode 100644 helm/papers/matita/input_phase.eps delete mode 100644 helm/papers/matita/klu10.clo delete mode 100644 helm/papers/matita/klu105.clo delete mode 100644 helm/papers/matita/klu11.clo delete mode 100644 helm/papers/matita/klu12.clo delete mode 100644 helm/papers/matita/klu9.clo delete mode 100644 helm/papers/matita/kluedit.sty delete mode 100644 helm/papers/matita/klufloa.sty delete mode 100644 helm/papers/matita/klulist.sty delete mode 100644 helm/papers/matita/klumac.sty delete mode 100644 helm/papers/matita/klumath.sty delete mode 100644 helm/papers/matita/klunamed.bst delete mode 100644 helm/papers/matita/klunote.sty delete mode 100644 helm/papers/matita/klunum.bst delete mode 100644 helm/papers/matita/kluopen.sty delete mode 100644 helm/papers/matita/klups.sty delete mode 100644 helm/papers/matita/kluref.sty delete mode 100644 helm/papers/matita/klusec.sty delete mode 100644 helm/papers/matita/klut10.clo delete mode 100644 helm/papers/matita/klut11.clo delete mode 100644 helm/papers/matita/klut12.clo delete mode 100644 helm/papers/matita/klut9.clo delete mode 100644 helm/papers/matita/klutab.sty delete mode 100644 helm/papers/matita/kluwer.cls delete mode 100644 helm/papers/matita/matita.bib delete mode 100644 helm/papers/matita/matita.tex delete mode 100644 helm/papers/system_T/Makefile delete mode 100644 helm/papers/system_T/t.tex delete mode 100644 helm/papers/use_case/stats/CANDIDATI delete mode 100644 helm/papers/use_case/stats/Makefile delete mode 100755 helm/papers/use_case/stats/download_candidates.sh delete mode 100755 helm/papers/use_case/stats/download_candidates_c1.sh delete mode 100644 helm/papers/use_case/stats/extract.xsl delete mode 100644 helm/papers/use_case/stats/group.xsl delete mode 100644 helm/papers/use_case/stats/groups_dependent_depth.xsl delete mode 100644 helm/papers/use_case/stats/groups_dependent_size.xsl delete mode 100644 helm/papers/use_case/stats/mkdiff.cc delete mode 100644 helm/papers/use_case/stats/mkhtml.xsl delete mode 100644 helm/papers/use_case/stats/parse/.cvsignore delete mode 100644 helm/papers/use_case/stats/parse/DOMCount/.cvsignore delete mode 100644 helm/papers/use_case/stats/parse/DOMCount/DOMCount.cpp delete mode 100644 helm/papers/use_case/stats/parse/DOMCount/DOMCount.hpp delete mode 100644 helm/papers/use_case/stats/parse/DOMCount/Makefile delete mode 100644 helm/papers/use_case/stats/parse/DOMCount/Makefile.incl delete mode 100644 helm/papers/use_case/stats/parse/Makefile delete mode 100644 helm/papers/use_case/stats/parse/SAX2Print/.cvsignore delete mode 100644 helm/papers/use_case/stats/parse/SAX2Print/Makefile delete mode 100644 helm/papers/use_case/stats/parse/SAX2Print/Makefile.incl delete mode 100644 helm/papers/use_case/stats/parse/SAX2Print/SAX2Print.cpp delete mode 100644 helm/papers/use_case/stats/parse/SAX2Print/SAX2Print.hpp delete mode 100644 helm/papers/use_case/stats/parse/SAX2Print/SAX2PrintHandlers.cpp delete mode 100644 helm/papers/use_case/stats/parse/SAX2Print/SAX2PrintHandlers.hpp delete mode 100644 helm/papers/use_case/stats/parse/parse_expat.c delete mode 100644 helm/papers/use_case/stats/parse/parse_xmlreader.c delete mode 100644 helm/papers/use_case/stats/parse/parse_xmlsax.c delete mode 100644 helm/papers/use_case/stats/parse/parse_xmltree.c delete mode 100755 helm/papers/use_case/stats/parsing_time_expat.sh delete mode 100755 helm/papers/use_case/stats/parsing_time_libxml2_reader.sh delete mode 100755 helm/papers/use_case/stats/parsing_time_libxml2_sax2.sh delete mode 100755 helm/papers/use_case/stats/parsing_time_libxml2_tree.sh delete mode 100755 helm/papers/use_case/stats/parsing_time_xerces_sax2.sh delete mode 100755 helm/papers/use_case/stats/parsing_time_xerces_tree.sh delete mode 100644 helm/papers/use_case/stats/parsing_times.gpscript delete mode 100755 helm/papers/use_case/stats/parsing_times.sh delete mode 100644 helm/papers/use_case/stats/serialize_into_text.xsl delete mode 100644 helm/papers/use_case/stats/stats.cc delete mode 100644 helm/papers/use_case/stats/stats.xsl delete mode 100644 helm/papers/use_case/stats/stats_body.xml.gz delete mode 100755 helm/papers/use_case/stats/stats_candidates.sh delete mode 100755 helm/papers/use_case/stats/stats_candidates_c1.sh delete mode 100644 helm/papers/use_case/stats/stats_con.xml.gz delete mode 100644 helm/papers/use_case/stats/stats_ind.xml.gz delete mode 100644 helm/papers/use_case/stats/stats_proof_tree.xml.gz delete mode 100644 helm/papers/use_case/stats/stats_theories.xml.gz delete mode 100644 helm/papers/use_case/stats/stats_types.xml.gz delete mode 100644 helm/papers/use_case/stats/stats_var.xml.gz delete mode 100755 helm/papers/use_case/stats/validating_time_flea.sh delete mode 100755 helm/papers/use_case/stats/validating_time_libxml2_tree.sh delete mode 100755 helm/papers/use_case/stats/validating_time_xerces_sax2.sh delete mode 100755 helm/papers/use_case/stats/validating_time_xerces_tree.sh delete mode 100644 helm/papers/use_case/stats/validating_times.gpscript delete mode 100644 helm/papers/use_case/use_case.tex delete mode 100644 helm/proofChecker/.cvsignore delete mode 100644 helm/proofChecker/.depend delete mode 100644 helm/proofChecker/Makefile delete mode 100644 helm/proofChecker/proofChecker.conf.xml.sample delete mode 100644 helm/proofChecker/proofChecker.ml delete mode 100644 helm/schemas/13-dcagent delete mode 100644 helm/schemas/21-euler delete mode 100644 helm/schemas/dces delete mode 100644 helm/schemas/dcq delete mode 100644 helm/schemas/dctype delete mode 100644 helm/schemas/schema-h delete mode 100644 helm/schemas/schema-hth delete mode 100755 helm/scripts/init.d/daemon_respawner.sh delete mode 100644 helm/scripts/init.d/etc_default_helm delete mode 100755 helm/scripts/init.d/helm delete mode 100755 helm/scripts/init.d/helm-bootmisc.sh delete mode 100755 helm/scripts/init.d/helm-draw-graph delete mode 100755 helm/scripts/init.d/helm-http-getter delete mode 100755 helm/scripts/init.d/helm-proof-checker delete mode 100755 helm/scripts/init.d/helm-rdfly delete mode 100755 helm/scripts/init.d/helm-search-engine delete mode 100755 helm/scripts/init.d/helm-uri-set-queue delete mode 100755 helm/scripts/init.d/helm-uwobo delete mode 100755 helm/scripts/init.d/helm-uwobo-stylesheets delete mode 100755 helm/scripts/init.d/loadPredefinedStylesheets.pl delete mode 100644 helm/searchEngine/.cvsignore delete mode 100644 helm/searchEngine/.depend delete mode 100644 helm/searchEngine/Makefile delete mode 100644 helm/searchEngine/html/Makefile delete mode 100644 helm/searchEngine/html/includes.xsl delete mode 100644 helm/searchEngine/html/manual/alias.jpg delete mode 100644 helm/searchEngine/html/manual/ex1.jpg delete mode 100644 helm/searchEngine/html/manual/frames.jpg delete mode 100644 helm/searchEngine/html/manual/index.html delete mode 100644 helm/searchEngine/html/moogle.html.src delete mode 100644 helm/searchEngine/html/moogle.png delete mode 100644 helm/searchEngine/html/moogle_chat.html.src delete mode 100644 helm/searchEngine/html/moogle_form.html.src delete mode 100644 helm/searchEngine/html/moogle_header.html.src delete mode 100644 helm/searchEngine/html/moogle_help.html delete mode 100644 helm/searchEngine/html/moogle_init.html delete mode 100644 helm/searchEngine/html/moogle_querybar.html.src delete mode 100644 helm/searchEngine/html/moogle_small.png delete mode 100644 helm/searchEngine/html/moogle_syntax.html delete mode 100644 helm/searchEngine/html/moogle_trailer.html.src delete mode 100644 helm/searchEngine/html/whelp.png delete mode 100644 helm/searchEngine/html/whelp.svg delete mode 100644 helm/searchEngine/html/whelp_small.png delete mode 100644 helm/searchEngine/mooglePp.ml delete mode 100644 helm/searchEngine/mooglePp.mli delete mode 100644 helm/searchEngine/preloaded_uris.txt delete mode 100644 helm/searchEngine/searchEngine.conf.xml.sample delete mode 100644 helm/searchEngine/searchEngine.ml delete mode 100644 helm/uwobo-panel/.cvsignore delete mode 100644 helm/uwobo-panel/Makefile delete mode 100644 helm/uwobo-panel/control.html delete mode 100644 helm/uwobo-panel/control.js delete mode 100644 helm/uwobo-panel/index.html delete mode 100644 helm/uwobo-panel/welcome.html delete mode 100644 helm/uwobo/.cvsignore delete mode 100644 helm/uwobo/.depend delete mode 100644 helm/uwobo/Makefile delete mode 100644 helm/uwobo/doc/uwobo.tex delete mode 100644 helm/uwobo/log/.cvsignore delete mode 100644 helm/uwobo/uwobo.conf.xml.sample delete mode 100644 helm/uwobo/uwobo.ml delete mode 100644 helm/uwobo/uwobo_common.ml delete mode 100644 helm/uwobo/uwobo_common.mli delete mode 100644 helm/uwobo/uwobo_engine.ml delete mode 100644 helm/uwobo/uwobo_engine.mli delete mode 100644 helm/uwobo/uwobo_logger.ml delete mode 100644 helm/uwobo/uwobo_logger.mli delete mode 100644 helm/uwobo/uwobo_profiles.ml delete mode 100644 helm/uwobo/uwobo_profiles.mli delete mode 100644 helm/uwobo/uwobo_styles.ml delete mode 100644 helm/uwobo/uwobo_styles.mli delete mode 100644 helm/xmltheory/Coq_v2theoryxml/.cvsignore delete mode 100644 helm/xmltheory/Coq_v2theoryxml/.depend delete mode 100644 helm/xmltheory/Coq_v2theoryxml/Makefile delete mode 100644 helm/xmltheory/Coq_v2theoryxml/coq_v2theoryxml.ml delete mode 100644 helm/xmltheory/FakeCoq_vo2xml/README delete mode 100755 helm/xmltheory/FakeCoq_vo2xml/coq_vo2xml delete mode 100644 helm/xmltheory/XmlTheory/.cvsignore delete mode 100644 helm/xmltheory/XmlTheory/.depend delete mode 100644 helm/xmltheory/XmlTheory/COME_COMPILARE delete mode 100644 helm/xmltheory/XmlTheory/Make delete mode 100644 helm/xmltheory/XmlTheory/Makefile delete mode 100644 helm/xmltheory/XmlTheory/README delete mode 100644 helm/xmltheory/XmlTheory/XmlTheory.v delete mode 100644 helm/xmltheory/XmlTheory/iXml.ml delete mode 100644 helm/xmltheory/XmlTheory/iXml.mli delete mode 100644 helm/xmltheory/XmlTheory/xmltheoryentries.ml delete mode 100644 helm/xmltheory/maththeory.dtd delete mode 100644 helm/xsltd/.cvsignore delete mode 100644 helm/xsltd/AUTHORS delete mode 100644 helm/xsltd/COPYING delete mode 100644 helm/xsltd/ChangeLog delete mode 100644 helm/xsltd/Makefile.in delete mode 100644 helm/xsltd/Makefile.old delete mode 100644 helm/xsltd/NEWS delete mode 100644 helm/xsltd/README delete mode 100644 helm/xsltd/config.cache.pkg delete mode 100644 helm/xsltd/configure.in delete mode 100644 helm/xsltd/helm_xsltd.spec.in delete mode 100755 helm/xsltd/start-xaland.in delete mode 100644 helm/xsltd/xaland-cpp/xaland.cpp delete mode 100644 helm/xsltd/xaland-java-DOM/xaland_DOM.class delete mode 100644 helm/xsltd/xaland-java-DOM/xaland_DOM.java delete mode 100644 helm/xsltd/xaland-java/rompi.class delete mode 100644 helm/xsltd/xaland-java/rompi.java delete mode 100644 helm/xsltd/xaland-java/sped.class delete mode 100644 helm/xsltd/xaland-java/sped.java delete mode 100644 helm/xsltd/xaland-java/xaland.class delete mode 100644 helm/xsltd/xaland-java/xaland.java delete mode 100644 helm/xsltd/xaland-java/xaland.java.prima_del_loro_baco delete mode 100644 helm/xsltd/xaland-java/xaland.java.prima_del_loro_baco_ma_dopo_i_reset delete mode 100644 helm/xsltd/xaland-java2/xaland2.class delete mode 100644 helm/xsltd/xaland-java2/xaland2.java delete mode 100644 helm/xsltd/xaland-uwobo/.cvsignore delete mode 100644 helm/xsltd/xaland-uwobo/xaland_uwobo.java delete mode 100644 helm/xsltd/xaland.class delete mode 100644 helm/xsltd/xaland2.class delete mode 100644 helm/xsltd/xaland_DOM.class 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/debian/libgdome2-xslt0c2a.install b/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt0c2a.install new file mode 100644 index 000000000..79bbe2f02 --- /dev/null +++ b/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt0c2a.install @@ -0,0 +1 @@ +debian/tmp/usr/lib/*.so.* diff --git a/helm/DEVEL/lablgtkmathview/.cvsignore b/helm/DEVEL/lablgtkmathview/.cvsignore deleted file mode 100644 index d018d8e04..000000000 --- a/helm/DEVEL/lablgtkmathview/.cvsignore +++ /dev/null @@ -1,10 +0,0 @@ -*.cmi *.cmo *.cmx *.cma *.cmxa config.make config.cache config.log configure -Makefile -config.status -META -lablgtkmathview.spec -gtkMathViewProps.ml -ogtkMathViewProps.ml -aclocal.m4 -autom4te.cache -config.h.in 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 d94e88f16..000000000 --- a/helm/DEVEL/lablgtkmathview/META.in +++ /dev/null @@ -1,4 +0,0 @@ -requires="gdome2 lablgtk2" -version="@VERSION@" -archive(byte)="@PACKAGE@.cma" -archive(native)="@PACKAGE@.cmxa" diff --git a/helm/DEVEL/lablgtkmathview/Makefile.in b/helm/DEVEL/lablgtkmathview/Makefile.in deleted file mode 100644 index 26532c4a8..000000000 --- a/helm/DEVEL/lablgtkmathview/Makefile.in +++ /dev/null @@ -1,134 +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 -NULL = -INST = \ - META \ - gMathView.mli \ - gMathView.cmi \ - gtkMathView.cmi \ - gtk_mathview.cmi \ - gtkMathViewProps.cmi \ - ogtkMathViewProps.cmi \ - gMathViewAux.cmi \ - gMathViewAux.mli \ - $(NULL) -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@ - -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 lib$(ARCHIVE).a $(DLL) -opt: $(ARCHIVE).cmxa $(ARCHIVE).a -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: $(OBJECTS) - $(OCAMLMKLIB) -o $(ARCHIVE) $^ $(SHARED_LIBS) -$(ARCHIVE).cmxa: $(OBJECTS_OPT) - $(OCAMLMKLIB) -o $(ARCHIVE) $^ $(SHARED_LIBS) -lib$(ARCHIVE).a $(DLL): $(OBJECTS_C) - $(OCAMLMKLIB) -o $(ARCHIVE) $^ $(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) $(ARCHIVE).cma lib$(ARCHIVE).a \ - $(DLL) $(INST) $$extra; \ - else \ - $(OCAMLFIND) install -ldconf /def/null -destdir $(PREFIX) \ - $(PACKAGE) $(ARCHIVE).cma lib$(ARCHIVE).a \ - $(DLL) $(INST) $$extra; \ - 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 d4c16e55d..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=7 -LABLGTKMATHVIEW_MICRO_VERSION=2 -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 c5e80350e..000000000 --- a/helm/DEVEL/lablgtkmathview/debian/changelog +++ /dev/null @@ -1,339 +0,0 @@ -lablgtkmathview (0.7.2-3) unstable; urgency=low - - * rebuilt with ocaml 3.09 - * debian/* - - no longer hard coding of ocaml abi number anywhere - - -- Stefano Zacchiroli Wed, 23 Nov 2005 09:59:14 +0000 - -lablgtkmathview (0.7.2-2) unstable; urgency=low - - * debian/changelog - - reverted version format, '-debian_version' is back again - * debian/liblablgtkmathview-ocaml.install - - install .so in /stublibs/ - - -- Stefano Zacchiroli Sun, 25 Sep 2005 18:50:32 +0200 - -lablgtkmathview (0.7.2) unstable; urgency=low - - * new upstream release - - enable access to gtk events - - new methods bound: {set,get}_{t1_opaque_mode,t1_anti_aliased_mode} - - bound new GtkMathView method for loading configuration files - * debian/control - - bumped standards-version - - bumped deps on gmetadom and lablgtk2 - - removed useless build-dep on autoconf - - -- Stefano Zacchiroli Sun, 31 Jul 2005 21:00:42 +0200 - -lablgtkmathview (0.7.1-2) unstable; urgency=low - - * debian/control - - changed dep on gtkmathview to libgtkmathview0c2 - - bumped dep on gmetadom to 0.2.3 - - -- Stefano Zacchiroli Thu, 7 Jul 2005 14:15:44 +0000 - -lablgtkmathview (0.7.1-1) unstable; urgency=low - - * new upstream release - - enable static binding of C stubs - - -- Stefano Zacchiroli Wed, 15 Jun 2005 14:27:44 +0200 - -lablgtkmathview (0.7.0-1) unstable; urgency=low - - * new upstream release - - minor changes, removed some annoying debugging prints - * rebuilt against lablgtk2 2.4.0+2005.06.13-1 and gtkmathview 0.7.0 - - -- Stefano Zacchiroli Sat, 11 Jun 2005 12:38:44 +0200 - -lablgtkmathview (0.6.4-3) unstable; urgency=low - - * rebuilt with ocaml 3.08.3 and lablgtk2 2.4.0+2005.02.18 - - -- Stefano Zacchiroli Tue, 29 Mar 2005 10:43:44 +0200 - -lablgtkmathview (0.6.4-2) unstable; urgency=low - - * rebuilt with ocaml 3.08.2 and lablgtk2 2.4.0+2004.11.19-1 - - -- Stefano Zacchiroli Thu, 9 Dec 2004 16:21:36 +0100 - -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 92dd81a1f..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-nox (>= 3.09.0), ocaml-findlib (>= 1.1), liblablgtk2-ocaml-dev (>= 2.6.0), libgdome2-ocaml-dev (>= 0.2.3-3), libgtkmathview-dev (>= 0.7.5), pkg-config -Standards-Version: 3.6.2 - -Package: liblablgtkmathview-ocaml -Architecture: any -Section: libs -Depends: ocaml-base-nox-${F:OCamlABI}, liblablgtk2-ocaml (>= 2.6.0), libgdome2-ocaml (>= 0.2.3), libgtkmathview0c2a (>= 0.7.5), ${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-nox-${F:OCamlABI}, liblablgtk2-ocaml-dev (>= 2.6.0), liblablgtkmathview-ocaml (= ${Source-Version}), ocaml-findlib, libgdome2-ocaml-dev (>= 0.2.3-3), libgtkmathview-dev (>= 0.7.5), ${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/control.in b/helm/DEVEL/lablgtkmathview/debian/control.in deleted file mode 100644 index aa5f9d1d2..000000000 --- a/helm/DEVEL/lablgtkmathview/debian/control.in +++ /dev/null @@ -1,27 +0,0 @@ -Source: lablgtkmathview -Section: devel -Priority: optional -Maintainer: Stefano Zacchiroli -Build-Depends: debhelper (>> 4.0.0), ocaml-nox (>= @OCamlABI@), ocaml-findlib (>= 1.1), liblablgtk2-ocaml-dev (>= 2.6.0), libgdome2-ocaml-dev (>= 0.2.3-3), libgtkmathview-dev (>= 0.7.5), pkg-config -Standards-Version: 3.6.2 - -Package: liblablgtkmathview-ocaml -Architecture: any -Section: libs -Depends: ocaml-base-nox-${F:OCamlABI}, liblablgtk2-ocaml (>= 2.6.0), libgdome2-ocaml (>= 0.2.3), libgtkmathview0c2a (>= 0.7.5), ${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-nox-${F:OCamlABI}, liblablgtk2-ocaml-dev (>= 2.6.0), liblablgtkmathview-ocaml (= ${Source-Version}), ocaml-findlib, libgdome2-ocaml-dev (>= 0.2.3-3), libgtkmathview-dev (>= 0.7.5), ${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 7ba05d3c3..000000000 --- a/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml-dev.dirs +++ /dev/null @@ -1 +0,0 @@ -usr/lib/ocaml/3.09.0 diff --git a/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml-dev.install b/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml-dev.install deleted file mode 100644 index 79836154a..000000000 --- a/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml-dev.install +++ /dev/null @@ -1,7 +0,0 @@ -debian/tmp/usr/lib/ocaml/3.09.0/lablgtkmathview/*.a -debian/tmp/usr/lib/ocaml/3.09.0/lablgtkmathview/*.cma -debian/tmp/usr/lib/ocaml/3.09.0/lablgtkmathview/*.cmi -debian/tmp/usr/lib/ocaml/3.09.0/lablgtkmathview/*.cmxa -debian/tmp/usr/lib/ocaml/3.09.0/lablgtkmathview/META -debian/tmp/usr/lib/ocaml/3.09.0/lablgtkmathview/*.ml -debian/tmp/usr/lib/ocaml/3.09.0/lablgtkmathview/*.mli diff --git a/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml-dev.install.in b/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml-dev.install.in deleted file mode 100644 index bcae88906..000000000 --- a/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml-dev.install.in +++ /dev/null @@ -1,7 +0,0 @@ -debian/tmp/usr/lib/ocaml/@OCamlABI@/lablgtkmathview/*.a -debian/tmp/usr/lib/ocaml/@OCamlABI@/lablgtkmathview/*.cma -debian/tmp/usr/lib/ocaml/@OCamlABI@/lablgtkmathview/*.cmi -debian/tmp/usr/lib/ocaml/@OCamlABI@/lablgtkmathview/*.cmxa -debian/tmp/usr/lib/ocaml/@OCamlABI@/lablgtkmathview/META -debian/tmp/usr/lib/ocaml/@OCamlABI@/lablgtkmathview/*.ml -debian/tmp/usr/lib/ocaml/@OCamlABI@/lablgtkmathview/*.mli diff --git a/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml.dirs b/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml.dirs deleted file mode 100644 index 2c3099109..000000000 --- a/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml.dirs +++ /dev/null @@ -1 +0,0 @@ -usr/lib/ocaml/3.09.0/stublibs diff --git a/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml.install b/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml.install deleted file mode 100644 index 24242ed45..000000000 --- a/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml.install +++ /dev/null @@ -1 +0,0 @@ -debian/tmp/usr/lib/ocaml/3.09.0/lablgtkmathview/*.so usr/lib/ocaml/3.09.0/stublibs/ diff --git a/helm/DEVEL/lablgtkmathview/debian/rules b/helm/DEVEL/lablgtkmathview/debian/rules deleted file mode 100755 index 832767abb..000000000 --- a/helm/DEVEL/lablgtkmathview/debian/rules +++ /dev/null @@ -1,68 +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 - -OCAMLABI := $(shell ocamlc -version) -OCAMLLIBDIR := $(shell ocamlc -where) -OFILES := $(patsubst %.in,%,$(shell ls debian/*.in)) - -ocamlinit: - for f in $(OFILES); do sed -e 's/@OCamlABI@/$(OCAMLABI)/g' $$f.in > $$f; done -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 - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - mkdir -p debian/tmp$(OCAMLLIBDIR) - $(MAKE) install PREFIX=debian/tmp$(OCAMLLIBDIR) - -binary-arch: build install - dh_install - dh_testdir - dh_testroot - dh_installdocs - dh_installexamples - dh_installman - dh_installinfo - dh_installchangelogs ChangeLog - dh_link - dh_strip - dh_compress - dh_fixperms - dh_installdeb - dh_shlibdeps - dh_gencontrol -- -VF:OCamlABI="$(OCAMLABI)" - dh_md5sums - dh_builddeb - -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 0ec81f3f9..000000000 --- a/helm/DEVEL/lablgtkmathview/gMathView.ml +++ /dev/null @@ -1,103 +0,0 @@ -(* Copyright (C) 2000-2005, - * Luca Padovani - * Claudio Sacerdoti Coen - * Stefano Zacchiroli - * - * 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 authors. - *) - -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) - -let option_document_of_option = - function - None -> None - | Some v -> Some (new Gdome.document v) - -class math_view_skel obj = object - inherit GObj.widget (obj : Gtk_mathview.math_view obj) - method event = new GObj.event_ops 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 get_document = option_document_of_option (MathView.get_document obj) - 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 - method set_t1_opaque_mode = MathView.set_t1_opaque_mode obj - method get_t1_opaque_mode = MathView.get_t1_opaque_mode obj - method set_t1_anti_aliased_mode = MathView.set_t1_anti_aliased_mode obj - method get_t1_anti_aliased_mode = MathView.get_t1_anti_aliased_mode 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)) [] - -let add_configuration_path = GtkMathView.add_configuration_path - diff --git a/helm/DEVEL/lablgtkmathview/gMathView.mli b/helm/DEVEL/lablgtkmathview/gMathView.mli deleted file mode 100644 index d116c527d..000000000 --- a/helm/DEVEL/lablgtkmathview/gMathView.mli +++ /dev/null @@ -1,108 +0,0 @@ -(* Copyright (C) 2000-2005, - * Luca Padovani - * Claudio Sacerdoti Coen - * Stefano Zacchiroli - * - * 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 authors. - *) - -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 - val obj : 'a - method attribute_changed : Gdome.element -> name:Gdome.domString -> unit - method event : GObj.event_ops - method freeze : unit - method get_adjustments : GData.adjustment * GData.adjustment - method get_bounding_box : int * int * int - method get_buffer : Gdk.pixmap - method get_document : Gdome.document option - method get_element_at : int -> int -> Gdome.element option (* x, y *) - method get_font_size : int - method get_log_verbosity : int - method get_size : int * int - method get_t1_anti_aliased_mode : bool - method get_t1_opaque_mode : bool - method get_top : int * int - method is_selected : Gdome.element -> bool - method load_root : root:Gdome.element -> unit - method load_uri : filename:string -> unit - method select : Gdome.element -> unit - method set_adjustments : GData.adjustment -> GData.adjustment -> unit - method set_font_size : int -> unit - method set_log_verbosity : int -> unit - method set_top : int -> int -> unit - method set_t1_anti_aliased_mode : bool -> unit - method set_t1_opaque_mode : bool -> unit - method structure_changed : Gdome.element -> unit - method thaw : unit - method unload : unit - method unselect : Gdome.element -> unit - 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 - -(** {2 Global configuration for all math_view instances *) - - (** @param fname file name to be added to the list of configuration files read - * at initialization time. - * To be invoked before GTK initialization. *) -val add_configuration_path: string -> unit - diff --git a/helm/DEVEL/lablgtkmathview/gMathViewAux.ml b/helm/DEVEL/lablgtkmathview/gMathViewAux.ml deleted file mode 100644 index 45bc5d90c..000000000 --- a/helm/DEVEL/lablgtkmathview/gMathViewAux.ml +++ /dev/null @@ -1,281 +0,0 @@ -(* Copyright (C) 2000-2005, - * Luca Padovani - * Claudio Sacerdoti Coen - * Stefano Zacchiroli - * - * 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 authors. - *) - -(* 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_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 299328733..000000000 --- a/helm/DEVEL/lablgtkmathview/gMathViewAux.mli +++ /dev/null @@ -1,78 +0,0 @@ -(* Copyright (C) 2000-2005, - * Luca Padovani - * Claudio Sacerdoti Coen - * Stefano Zacchiroli - * - * 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 authors. - *) - -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 - -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 0b9d45349..000000000 --- a/helm/DEVEL/lablgtkmathview/gtkMathView.ml +++ /dev/null @@ -1,107 +0,0 @@ -(* Copyright (C) 2000-2005, - * Luca Padovani - * Claudio Sacerdoti Coen - * Stefano Zacchiroli - * - * 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 authors. - *) - -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 () - -external add_configuration_path : string -> unit = - "ml_gtk_math_view_add_configuration_path" - -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" - external get_document : - [> `mathview_gmetadom] obj -> TDocument.t option = - "ml_gtk_math_view_get_document" - (* 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" - external set_t1_opaque_mode : [>`mathview_gmetadom] obj -> bool -> unit = - "ml_gtk_math_view_set_t1_opaque_mode" - external get_t1_opaque_mode : [>`mathview_gmetadom] obj -> bool = - "ml_gtk_math_view_get_t1_opaque_mode" - external set_t1_anti_aliased_mode : [>`mathview_gmetadom] obj -> bool -> unit = - "ml_gtk_math_view_set_t1_anti_aliased_mode" - external get_t1_anti_aliased_mode : [>`mathview_gmetadom] obj -> bool = - "ml_gtk_math_view_get_t1_anti_aliased_mode" -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 3267176a0..000000000 --- a/helm/DEVEL/lablgtkmathview/gtk_mathview.ml +++ /dev/null @@ -1,27 +0,0 @@ -(* Copyright (C) 2000-2005, - * Luca Padovani - * Claudio Sacerdoti Coen - * Stefano Zacchiroli - * - * 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 authors. - *) - -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 5d36bc0c4..000000000 --- a/helm/DEVEL/lablgtkmathview/ml_gtk_mathview.c +++ /dev/null @@ -1,271 +0,0 @@ -/* Copyright (C) 2000-2005, - * Luca Padovani - * Claudio Sacerdoti Coen - * Stefano Zacchiroli - * - * 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 authors. - */ - -#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) -ML_2 (gtk_math_view_set_t1_opaque_mode, GtkMathView_val, Bool_val, Unit) -ML_1 (gtk_math_view_get_t1_opaque_mode, GtkMathView_val, Val_bool) -ML_2 (gtk_math_view_set_t1_anti_aliased_mode, GtkMathView_val, Bool_val, Unit) -ML_1 (gtk_math_view_get_t1_anti_aliased_mode, GtkMathView_val, Val_bool) -ML_1 (gtk_math_view_add_configuration_path, String_val, Unit) - -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_document (value arg1) -{ - CAMLparam1(arg1); - CAMLlocal1(result); - GdomeDocument* doc = gtk_math_view_get_document(GtkMathView_val (arg1)); - if (doc == NULL) - result = Val_unit; - else - result = Val_option_ptr(doc, Val_Document); - 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 b0e584cae..000000000 --- a/helm/DEVEL/lablgtkmathview/test/test.ml +++ /dev/null @@ -1,397 +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 get_document mathview () = - (match mathview#get_document with - | None -> print_string "no document loaded\n" - | Some doc -> - let name = "out.xml" in - ignore ((Gdome.domImplementation ())#saveDocumentToFile ~doc ~name ()); - print_string ("document loaded and saved to " ^ name ^ "\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 select_over (mathview : GMathViewAux.multi_selection_math_view) = - (fun (_,_,_,state) -> - let c = function - | `SHIFT -> "shift" - | `LOCK -> "lock" - | `CONTROL -> "control" - | `MOD1 -> "mod1" - | _ -> "" - in - let msg = - String.concat "," - (List.filter (fun s -> s <> "") - (List.map c (Gdk.Convert.modifier state))) - in - if msg <> "" then begin - print_endline ("modifiers: " ^ msg); - flush stdout - end) - -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_get_document = GButton.button ~label:"get_document" ~packing:(table#attach ~left:1 ~top:1) () 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_get_document#connect#clicked (get_document 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(mathview#connect#select_over (select_over mathview)); -ignore(button_load_dom#connect#clicked (load_doc mathview)) ; -ignore(main_window#connect#destroy (fun _ -> GMain.quit ())); -(* 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/lablgtksourceview/.cvsignore b/helm/DEVEL/lablgtksourceview/.cvsignore deleted file mode 100644 index db7a2f88d..000000000 --- a/helm/DEVEL/lablgtksourceview/.cvsignore +++ /dev/null @@ -1,10 +0,0 @@ -*.cmi *.cmo *.cmx *.cma *.cmxa *.annot *.a *.o -aclocal.m4 -autom4te.cache -configure -config.status -config.log -Makefile -META -gtkSourceViewProps.ml -ogtkSourceViewProps.ml diff --git a/helm/DEVEL/lablgtksourceview/.depend b/helm/DEVEL/lablgtksourceview/.depend deleted file mode 100644 index 0a2ae9c53..000000000 --- a/helm/DEVEL/lablgtksourceview/.depend +++ /dev/null @@ -1,11 +0,0 @@ -gSourceView.cmo: ogtkSourceViewProps.cmo gtk_sourceview.cmo gtkSourceView.cmo \ - gSourceView.cmi -gSourceView.cmx: ogtkSourceViewProps.cmx gtk_sourceview.cmx gtkSourceView.cmx \ - gSourceView.cmi -gtkSourceView.cmo: gtk_sourceview.cmo gtkSourceViewProps.cmo -gtkSourceView.cmx: gtk_sourceview.cmx gtkSourceViewProps.cmx -gtkSourceViewProps.cmo: gtk_sourceview.cmo -gtkSourceViewProps.cmx: gtk_sourceview.cmx -ogtkSourceViewProps.cmo: gtkSourceViewProps.cmo -ogtkSourceViewProps.cmx: gtkSourceViewProps.cmx -gSourceView.cmi: gtk_sourceview.cmo diff --git a/helm/DEVEL/lablgtksourceview/ACKNOWLEDGEMENTS b/helm/DEVEL/lablgtksourceview/ACKNOWLEDGEMENTS deleted file mode 100644 index e97d934ad..000000000 --- a/helm/DEVEL/lablgtksourceview/ACKNOWLEDGEMENTS +++ /dev/null @@ -1,3 +0,0 @@ -Acknowledgments: -* Claudio Sacerdoti Coen, for introducing me to the insane world of binding GTK - widgets to OCaml diff --git a/helm/DEVEL/lablgtksourceview/AUTHORS b/helm/DEVEL/lablgtksourceview/AUTHORS deleted file mode 100644 index 4a3e9cc73..000000000 --- a/helm/DEVEL/lablgtksourceview/AUTHORS +++ /dev/null @@ -1 +0,0 @@ -Stefano Zacchiroli diff --git a/helm/DEVEL/lablgtksourceview/CHANGES b/helm/DEVEL/lablgtksourceview/CHANGES deleted file mode 100644 index aa9734692..000000000 --- a/helm/DEVEL/lablgtksourceview/CHANGES +++ /dev/null @@ -1,4 +0,0 @@ - -July 8, 2005 - First public release (0.0.1) of LablGtkSourceView. - diff --git a/helm/DEVEL/lablgtksourceview/COPYING b/helm/DEVEL/lablgtksourceview/COPYING deleted file mode 100644 index b124cf581..000000000 --- a/helm/DEVEL/lablgtksourceview/COPYING +++ /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. - - 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. - - 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. - - 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. - - 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. - - 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. - - 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. - - 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 - - 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/lablgtksourceview/Changelog b/helm/DEVEL/lablgtksourceview/Changelog deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/DEVEL/lablgtksourceview/LICENSE b/helm/DEVEL/lablgtksourceview/LICENSE deleted file mode 100644 index cbe921b34..000000000 --- a/helm/DEVEL/lablgtksourceview/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ - -lablgtksourceview, OCaml binding for the GtkSourceView text widget - -Copyright (C) 2005 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 - diff --git a/helm/DEVEL/lablgtksourceview/META.in b/helm/DEVEL/lablgtksourceview/META.in deleted file mode 100644 index 95128b906..000000000 --- a/helm/DEVEL/lablgtksourceview/META.in +++ /dev/null @@ -1,5 +0,0 @@ -requires="lablgtk2" -version="@VERSION@" -archive(byte)="@PACKAGE@.cma" -archive(native)="@PACKAGE@.cmxa" -linkopts="" diff --git a/helm/DEVEL/lablgtksourceview/Makefile.in b/helm/DEVEL/lablgtksourceview/Makefile.in deleted file mode 100644 index 19dc0d19d..000000000 --- a/helm/DEVEL/lablgtksourceview/Makefile.in +++ /dev/null @@ -1,145 +0,0 @@ -PACKAGE = @PACKAGE@ -VERSION = @VERSION@ -INCLUDEDIR = @OCAML_INCLUDE_DIR@ -PROPCC = @OCAML_LIB_DIR@/lablgtk2/propcc -DESTDIR = -NULL = -C_OBJECTS = ml_gtk_sourceview.o -ML_OBJECTS = \ - gtkSourceViewProps.cmo \ - ogtkSourceViewProps.cmo \ - gtk_sourceview.cmo \ - gtkSourceView.cmo \ - gSourceView.cmo \ - $(NULL) -ML_OBJECTS_OPT = $(patsubst %.cmo,%.cmx,$(ML_OBJECTS)) -GENERATED_FILES = gtkSourceViewProps.ml ogtkSourceViewProps.ml -EXTRA_INST = \ - META \ - gSourceView.mli \ - gSourceView.cmi \ - gtkSourceView.cmi \ - gtk_sourceview.cmi \ - $(NULL) -DIST_FILES = \ - Makefile.in \ - configure \ - gSourceView.ml \ - gSourceView.mli \ - gtkSourceView.ml \ - gtk_sourceview.ml \ - ml_gtk_sourceview.c \ - META.in \ - .depend \ - debian/ \ - test/ \ - gtkSourceView.props \ - $(NULL) -DIST_DIR = $(PACKAGE)-$(VERSION) -EXTRA_DIST = ACKNOWLEDGEMENTS AUTHORS CHANGES COPYING LICENSE NEWS README -REQUIRES = lablgtk2 -SHARED_LIBS = @GTKSOURCEVIEW_LIBS@ -OCAMLFIND = ocamlfind -OCAMLC = $(OCAMLFIND) ocamlc -package "$(REQUIRES)" -OCAMLOPT = $(OCAMLFIND) ocamlopt -package "$(REQUIRES)" -OCAMLDEP = ocamldep -OCAMLMKLIB = ocamlmklib -OCAML_STUB_DIR = @OCAML_STUB_DIR@ -ARCHIVE = $(PACKAGE) -DLL = dll$(ARCHIVE).so -NATIVE = @HAVE_OCAMLOPT@ -TESTDIR = test -BYTE_INST = $(ARCHIVE).cma lib$(ARCHIVE).a $(C_OBJECTS) $(DLL) -OPT_INST = $(BYTE_INST) $(ARCHIVE).cmxa $(ARCHIVE).a - -ifeq ($(NATIVE),yes) -world: all opt -else -world: all -endif - -all: $(ARCHIVE).cma lib$(ARCHIVE).a $(DLL) $(TESTDIR)/test -opt: $(ARCHIVE).cmxa $(ARCHIVE).a $(TESTDIR)/test.opt - -test/test.opt: - $(MAKE) -C $(TESTDIR) test.opt -test/test: - $(MAKE) -C $(TESTDIR) test - -dist: distclean - rm -rf $(DIST_DIR)/ - mkdir -p $(DIST_DIR)/ - cp -a $(DIST_FILES) $(EXTRA_DIST) $(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 - rm -rf $(DIST_DIR) - tar xvzf $(DIST_DIR).tar.gz - (cd $(DIST_DIR)/ && debuild) - rm -rf $(DIST_DIR) - -ml_gtk_sourceview.o: ml_gtk_sourceview.c - gcc -c -I$(INCLUDEDIR) -fPIC `$(OCAMLFIND) query -i-format lablgtk2` @GTKSOURCEVIEW_CFLAGS@ $< - -%.cmo: %.ml - $(OCAMLC) -c $< -%.cmi: %.mli - $(OCAMLC) -c $< -%.cmx: %.ml - $(OCAMLOPT) -c $< - -$(GENERATED_FILES): gtkSourceView.props -%Props.ml o%Props.ml: %.props - $(PROPCC) $< - -depend: *.ml *.mli $(GENERATED_FILES) - $(OCAMLDEP) *.ml *.mli >.depend -include .depend - -$(ARCHIVE).cma: $(ML_OBJECTS) - $(OCAMLMKLIB) -o $(ARCHIVE) $^ $(SHARED_LIBS) -$(ARCHIVE).cmxa: $(ML_OBJECTS_OPT) - $(OCAMLMKLIB) -o $(ARCHIVE) $^ $(SHARED_LIBS) -lib$(ARCHIVE).a $(DLL): $(C_OBJECTS) - $(OCAMLMKLIB) -o $(ARCHIVE) $^ $(SHARED_LIBS) - -ifeq ($(DESTDIR),"") -INSTALLER = $(OCAMLFIND) install -ldconf /dev/null -UNINSTALLER = $(OCAMLFIND) remove -ldconf /dev/null -else -INSTALLER = $(OCAMLFIND) install -destdir $(DESTDIR) -ldconf /dev/null -UNINSTALLER = $(OCAMLFIND) remove -destdir $(DESTDIR) -ldconf /dev/null -install: world installmkdir -endif - -ifeq ($(NATIVE),yes) -install: installworld -else -install: installbyte -endif - -installbyte: - $(INSTALLER) $(PACKAGE) $(BYTE_INST) $(EXTRA_INST) -installworld: - $(INSTALLER) $(PACKAGE) $(OPT_INST) $(EXTRA_INST) - -installmkdir: - mkdir -p $(DESTDIR) - -uninstall: - $(UNINSTALLER) $(PACKAGE) - -clean: - rm -f *.[ao] *.cm[iaxo] *.cmxa *.so $(GENERATED_FILES) - make -C $(TESTDIR) clean - -distclean: clean - rm -f config.log config.cache config.status Makefile META - make -C $(TESTDIR) distclean - -.PHONY: world uninstall clean distclean test/test test/test.opt -.PHONY: install installmkdir installbyte installworld - diff --git a/helm/DEVEL/lablgtksourceview/NEWS b/helm/DEVEL/lablgtksourceview/NEWS deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/DEVEL/lablgtksourceview/README b/helm/DEVEL/lablgtksourceview/README deleted file mode 100644 index 71d6a5d88..000000000 --- a/helm/DEVEL/lablgtksourceview/README +++ /dev/null @@ -1,42 +0,0 @@ - -LablGtkSourceView: OCaml bindings for GtkSourceView ---------------------------------------------------- - -LablGtkSourceView are the OCaml bindings for GtkSourceView, a GTK widget -which extends the standrd GTK text widgets implementing syntax -highlighting, automatic indentation, and other typical features of -source editors. - -Using LablGtkSourceView you can instantiate and use GtkSourceView -widgets in OCaml programs which use GTK through the LablGtk interface. - -LablGtkSourceView is freely distributed under the term of the GNU LGPL -(Lesser General Public License), see LICENSE and COPYING files for more -info. - -Requirements ------------- - -In order to build LablGtkSourceView from sources you need: - -* OCaml (http://caml.inria.fr/) -* Findlib (http://www.ocaml-programming.de/packages/) -* LablGTK (http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/lablgtk.html) -* GtkSourceView (http://gtksourceview.sourceforge.net/) - -Once you have installed all of them, follow the usual procedure: - - ./configure - make world - make install - -Availability of ocamlopt is detected by ./configure, if you manually -want to choose what to build: - - make all # for building the bytecode part of the library - make opt # for the native code part - --- -Stefano Zacchiroli -Sun, 31 Jul 2005 23:50:34 +0200 - diff --git a/helm/DEVEL/lablgtksourceview/configure.ac b/helm/DEVEL/lablgtksourceview/configure.ac deleted file mode 100644 index bac74370d..000000000 --- a/helm/DEVEL/lablgtksourceview/configure.ac +++ /dev/null @@ -1,53 +0,0 @@ -AC_INIT(gSourceView.ml) - -PACKAGE="lablgtksourceview" - -MAJOR_VERSION="0" -MINOR_VERSION="0" -MICRO_VERSION="1" -VERSION="$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION" - -PKG_CHECK_MODULES([GTKSOURCEVIEW], [gtksourceview-1.0 >= 1.2.0]) - -AC_CHECK_PROG(HAVE_OCAMLFIND, ocamlfind, yes, no) -if test $HAVE_OCAMLFIND = "no"; then - AC_MSG_ERROR(could not find ocamlfind) -fi -FINDLIB_REQUIRES="lablgtk2" -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 - -AC_MSG_CHECKING(for the ocaml library dir) -OCAML_LIB_DIR=`ocamlfind ocamlc -where` -AC_MSG_RESULT($OCAML_LIB_DIR) -OCAML_STUB_DIR="$OCAML_LIB_DIR/stublibs" - -AC_CHECK_FILE(/usr/include/caml/mlvalues.h, - OCAML_INCLUDE_DIR=/usr/include/caml, - AC_MSG_ERROR(could not find ocaml header files) -) - -AC_CHECK_PROG(HAVE_OCAMLOPT, ocamlopt, yes, no) - -AC_SUBST(PACKAGE) -AC_SUBST(VERSION) -AC_SUBST(GTKSOURCEVIEW_CFLAGS) -AC_SUBST(GTKSOURCEVIEW_LIBS) -AC_SUBST(OCAML_LIB_DIR) -AC_SUBST(OCAML_STUB_DIR) -AC_SUBST(OCAML_INCLUDE_DIR) -AC_SUBST(HAVE_OCAMLOPT) - -AC_OUTPUT([ - test/Makefile - Makefile - META -]) - diff --git a/helm/DEVEL/lablgtksourceview/debian/changelog b/helm/DEVEL/lablgtksourceview/debian/changelog deleted file mode 100644 index c7f6efedf..000000000 --- a/helm/DEVEL/lablgtksourceview/debian/changelog +++ /dev/null @@ -1,14 +0,0 @@ -lablgtksourceview (0.0.1-2) unstable; urgency=low - - * rebuilt with ocaml 3.09 - * debian/* - - no longer hard coding of ocaml abi version anywhere - - -- Stefano Zacchiroli Wed, 23 Nov 2005 10:23:24 +0000 - -lablgtksourceview (0.0.1-1) unstable; urgency=low - - * Initial release (closes: bug#320716). - - -- Stefano Zacchiroli Mon, 1 Aug 2005 17:57:57 +0200 - diff --git a/helm/DEVEL/lablgtksourceview/debian/compat b/helm/DEVEL/lablgtksourceview/debian/compat deleted file mode 100644 index b8626c4cf..000000000 --- a/helm/DEVEL/lablgtksourceview/debian/compat +++ /dev/null @@ -1 +0,0 @@ -4 diff --git a/helm/DEVEL/lablgtksourceview/debian/control b/helm/DEVEL/lablgtksourceview/debian/control deleted file mode 100644 index ab0ca84d5..000000000 --- a/helm/DEVEL/lablgtksourceview/debian/control +++ /dev/null @@ -1,29 +0,0 @@ -Source: lablgtksourceview -Section: devel -Priority: optional -Maintainer: Stefano Zacchiroli -Build-Depends: debhelper (>= 4.1.0), cdbs, ocaml-findlib, ocaml-nox (>= 3.09.0), liblablgtk2-ocaml-dev (>= 2.6.0), libgtksourceview-dev (>= 1.2.0) -Standards-Version: 3.6.2 - -Package: liblablgtksourceview-ocaml-dev -Architecture: any -Section: libdevel -Depends: ocaml-nox-${F:OCamlABI}, ocaml-findlib, liblablgtksourceview-ocaml (= ${Source-Version}), liblablgtk2-ocaml-dev (>= 2.6.0), libgtksourceview-dev (>= 1.2.0), ${misc:Depends} -Description: OCaml bindings for libgtksourceview, a source editor GTK widget - This is the OCaml binding for the GtkSourceView widget, a text widget that - extends the standard gtk+ 2.x text widget with syntax highlighting and other - features typical of a source editor. - . - This package contains the development part of the lablgtksourceview package. - -Package: liblablgtksourceview-ocaml -Architecture: any -Section: libs -Depends: ocaml-base-nox-${F:OCamlABI}, liblablgtk2-ocaml (>= 2.6.0), ${shlibs:Depends}, ${misc:Depends} -Description: OCaml bindings for libgtksourceview, a source editor GTK widget - This is the OCaml binding for the GtkSourceView widget, a text widget that - extends the standard gtk+ 2.x text widget with syntax highlighting and other - features typical of a source editor. - . - This package contains the shared runtime stub libraries. - diff --git a/helm/DEVEL/lablgtksourceview/debian/control.in b/helm/DEVEL/lablgtksourceview/debian/control.in deleted file mode 100644 index 6cd1f42b1..000000000 --- a/helm/DEVEL/lablgtksourceview/debian/control.in +++ /dev/null @@ -1,29 +0,0 @@ -Source: lablgtksourceview -Section: devel -Priority: optional -Maintainer: Stefano Zacchiroli -Build-Depends: debhelper (>= 4.1.0), cdbs, ocaml-findlib, ocaml-nox (>= @OCamlABI@), liblablgtk2-ocaml-dev (>= 2.6.0), libgtksourceview-dev (>= 1.2.0) -Standards-Version: 3.6.2 - -Package: liblablgtksourceview-ocaml-dev -Architecture: any -Section: libdevel -Depends: ocaml-nox-${F:OCamlABI}, ocaml-findlib, liblablgtksourceview-ocaml (= ${Source-Version}), liblablgtk2-ocaml-dev (>= 2.6.0), libgtksourceview-dev (>= 1.2.0), ${misc:Depends} -Description: OCaml bindings for libgtksourceview, a source editor GTK widget - This is the OCaml binding for the GtkSourceView widget, a text widget that - extends the standard gtk+ 2.x text widget with syntax highlighting and other - features typical of a source editor. - . - This package contains the development part of the lablgtksourceview package. - -Package: liblablgtksourceview-ocaml -Architecture: any -Section: libs -Depends: ocaml-base-nox-${F:OCamlABI}, liblablgtk2-ocaml (>= 2.6.0), ${shlibs:Depends}, ${misc:Depends} -Description: OCaml bindings for libgtksourceview, a source editor GTK widget - This is the OCaml binding for the GtkSourceView widget, a text widget that - extends the standard gtk+ 2.x text widget with syntax highlighting and other - features typical of a source editor. - . - This package contains the shared runtime stub libraries. - diff --git a/helm/DEVEL/lablgtksourceview/debian/copyright b/helm/DEVEL/lablgtksourceview/debian/copyright deleted file mode 100644 index 694e73b30..000000000 --- a/helm/DEVEL/lablgtksourceview/debian/copyright +++ /dev/null @@ -1,18 +0,0 @@ -This package was debianized by Stefano Zacchiroli on -Sat, 11 Jun 2005 12:19:09 +0200. - -It was downloaded from: - http://helm.cs.unibo.it/software/lablgtksourceview/ - -Author: - Stefano Zacchiroli - -Copyright: - - lablgtksourceview 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. - - On Debian systems a copy of the GNU Lesser General Public License verion 2.1 - can be found in /usr/share/common-licenses/LGPL-2.1 diff --git a/helm/DEVEL/lablgtksourceview/debian/liblablgtksourceview-ocaml-dev.docs b/helm/DEVEL/lablgtksourceview/debian/liblablgtksourceview-ocaml-dev.docs deleted file mode 100644 index e8d3b252a..000000000 --- a/helm/DEVEL/lablgtksourceview/debian/liblablgtksourceview-ocaml-dev.docs +++ /dev/null @@ -1,3 +0,0 @@ -ACKNOWLEDGEMENTS -AUTHORS -README diff --git a/helm/DEVEL/lablgtksourceview/debian/liblablgtksourceview-ocaml-dev.install b/helm/DEVEL/lablgtksourceview/debian/liblablgtksourceview-ocaml-dev.install deleted file mode 100644 index a85b1ed81..000000000 --- a/helm/DEVEL/lablgtksourceview/debian/liblablgtksourceview-ocaml-dev.install +++ /dev/null @@ -1,7 +0,0 @@ -debian/tmp/lablgtksourceview/*.a usr/lib/ocaml/3.09.0/lablgtksourceview/ -debian/tmp/lablgtksourceview/*.cma usr/lib/ocaml/3.09.0/lablgtksourceview/ -debian/tmp/lablgtksourceview/*.cmi usr/lib/ocaml/3.09.0/lablgtksourceview/ -debian/tmp/lablgtksourceview/*.cmxa usr/lib/ocaml/3.09.0/lablgtksourceview/ -debian/tmp/lablgtksourceview/META usr/lib/ocaml/3.09.0/lablgtksourceview/ -debian/tmp/lablgtksourceview/*.mli usr/lib/ocaml/3.09.0/lablgtksourceview/ -debian/tmp/lablgtksourceview/*.o usr/lib/ocaml/3.09.0/lablgtksourceview/ diff --git a/helm/DEVEL/lablgtksourceview/debian/liblablgtksourceview-ocaml-dev.install.in b/helm/DEVEL/lablgtksourceview/debian/liblablgtksourceview-ocaml-dev.install.in deleted file mode 100644 index 6ed27ecb0..000000000 --- a/helm/DEVEL/lablgtksourceview/debian/liblablgtksourceview-ocaml-dev.install.in +++ /dev/null @@ -1,7 +0,0 @@ -debian/tmp/lablgtksourceview/*.a usr/lib/ocaml/@OCamlABI@/lablgtksourceview/ -debian/tmp/lablgtksourceview/*.cma usr/lib/ocaml/@OCamlABI@/lablgtksourceview/ -debian/tmp/lablgtksourceview/*.cmi usr/lib/ocaml/@OCamlABI@/lablgtksourceview/ -debian/tmp/lablgtksourceview/*.cmxa usr/lib/ocaml/@OCamlABI@/lablgtksourceview/ -debian/tmp/lablgtksourceview/META usr/lib/ocaml/@OCamlABI@/lablgtksourceview/ -debian/tmp/lablgtksourceview/*.mli usr/lib/ocaml/@OCamlABI@/lablgtksourceview/ -debian/tmp/lablgtksourceview/*.o usr/lib/ocaml/@OCamlABI@/lablgtksourceview/ diff --git a/helm/DEVEL/lablgtksourceview/debian/liblablgtksourceview-ocaml.install b/helm/DEVEL/lablgtksourceview/debian/liblablgtksourceview-ocaml.install deleted file mode 100644 index 8ece11add..000000000 --- a/helm/DEVEL/lablgtksourceview/debian/liblablgtksourceview-ocaml.install +++ /dev/null @@ -1 +0,0 @@ -debian/tmp/lablgtksourceview/*.so usr/lib/ocaml/3.09.0/stublibs/ diff --git a/helm/DEVEL/lablgtksourceview/debian/liblablgtksourceview-ocaml.install.in b/helm/DEVEL/lablgtksourceview/debian/liblablgtksourceview-ocaml.install.in deleted file mode 100644 index d140fb6c5..000000000 --- a/helm/DEVEL/lablgtksourceview/debian/liblablgtksourceview-ocaml.install.in +++ /dev/null @@ -1 +0,0 @@ -debian/tmp/lablgtksourceview/*.so usr/lib/ocaml/@OCamlABI@/stublibs/ diff --git a/helm/DEVEL/lablgtksourceview/debian/rules b/helm/DEVEL/lablgtksourceview/debian/rules deleted file mode 100755 index 52a3e2ea3..000000000 --- a/helm/DEVEL/lablgtksourceview/debian/rules +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/make -f -include /usr/share/cdbs/1/rules/debhelper.mk -include /usr/share/cdbs/1/class/autotools.mk - -OCAMLABI := $(shell ocamlc -version) -OFILES := $(patsubst %.in,%,$(shell ls debian/*.in)) -DEB_DH_GENCONTROL_ARGS = -- -VF:OCamlABI="$(OCAMLABI)" - -ocamlinit: - for f in $(OFILES); do sed -e 's/@OCamlABI@/$(OCAMLABI)/g' $$f.in > $$f; done diff --git a/helm/DEVEL/lablgtksourceview/gSourceView.ml b/helm/DEVEL/lablgtksourceview/gSourceView.ml deleted file mode 100644 index 251f76c59..000000000 --- a/helm/DEVEL/lablgtksourceview/gSourceView.ml +++ /dev/null @@ -1,219 +0,0 @@ -(* - * lablgtksourceview, OCaml binding for the GtkSourceView text widget - * - * Copyright (C) 2005 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 - *) - -open Gaux -open Gtk_sourceview -open Gobject -open Gtk -open GtkBase -open GtkSourceView -open OgtkSourceViewProps -open GObj - -let get_bool = function `BOOL x -> x | _ -> assert false -let bool x = `BOOL x -let get_uint = function `INT x -> x | _ -> assert false -let uint x = `INT x -let get_int = function `INT x -> x | _ -> assert false -let int x = `INT x -let get_gobject = function `OBJECT x -> x | _ -> assert false -let gobject x = `OBJECT (Some x) - -(** {2 GtkSourceLanguage} *) - -class source_language_signals obj' = -object (self) - inherit ['a] gobject_signals (obj' : [> Gtk_sourceview.source_language] obj) - inherit source_language_sigs -end - -class source_language (obj: Gtk_sourceview.source_language obj) = -object (self) - method as_source_language = obj - method connect = new source_language_signals obj - method misc = new gobject_ops obj - method get_name = SourceLanguage.get_name obj - method get_section = SourceLanguage.get_section obj - method get_escape_char = SourceLanguage.get_escape_char obj -end - -(** {2 GtkSourceLanguagesManager} *) - -class source_languages_manager - (obj: Gtk_sourceview.source_languages_manager obj) = -object (self) - method get_oid = Gobject.get_oid obj - method as_source_languages_manager = obj - method get_language_from_mime_type s = - match SourceLanguagesManager.get_language_from_mime_type obj s with - | None -> None - | Some obj -> Some (new source_language obj) - method lang_files_dirs = SourceLanguagesManager.get_lang_files_dirs obj -end - -(* let source_languages_manager ?lang_files_dirs () = - let properties = - match lang_files_dirs with - | None -> [] - | Some dirs -> - let list_obj = gslist_of_string_list dirs in - [Gobject.param - "lang-files-dirs" - (`OBJECT (Some list_obj))] - in - new source_languages_manager (SourceLanguagesManager.create properties) *) - -let source_languages_manager () = - new source_languages_manager (SourceLanguagesManager.create []) - -let source_language_from_file ?languages_manager fname = - let languages_manager = - match languages_manager with - | None -> source_languages_manager () - | Some lm -> lm - in - let manager_obj = languages_manager#as_source_languages_manager in - match SourceLanguage.new_from_file fname manager_obj with - | None -> None - | Some lang_obj -> Some (new source_language lang_obj) - -(** {2 GtkSourceBuffer} *) - -class source_buffer_signals obj' = -object - inherit ['a] gobject_signals (obj' : [> Gtk_sourceview.source_buffer] obj) - inherit GText.buffer_signals obj' - inherit source_buffer_sigs -end - -class source_buffer (obj: Gtk_sourceview.source_buffer obj) = -object (self) - inherit GText.buffer_skel obj - method connect = new source_buffer_signals obj - method misc = new gobject_ops obj - method check_brackets = get_bool (self#misc#get_property "check-brackets") - method set_check_brackets x = self#misc#set_property "check-brackets" (bool x) - method highlight = get_bool (self#misc#get_property "highlight") - method set_highlight x = self#misc#set_property "highlight" (bool x) - method max_undo_levels = get_int (self#misc#get_property "max-undo-levels") - method set_max_undo_levels x = - self#misc#set_property "max-undo-levels" (int x) - method language = - match get_gobject (self#misc#get_property "language") with - | None -> None - | Some obj -> - Some (new source_language (Gobject.try_cast obj "GtkSourceLanguage")) - method set_language (x: source_language) = - self#misc#set_property "language" (gobject x#as_source_language) - method escape_char = get_uint (self#misc#get_property "escape-char") - method set_escape_char x = self#misc#set_property "escape-char" (uint x) - method can_undo = SourceBuffer.can_undo obj - method can_redo = SourceBuffer.can_redo obj - method undo () = SourceBuffer.undo obj - method redo () = SourceBuffer.redo obj - method begin_not_undoable_action () = - SourceBuffer.begin_not_undoable_action obj - method end_not_undoable_action () = - SourceBuffer.end_not_undoable_action obj -end - -let source_buffer ?language ?text (* ?tag_table *) = - let language = - match language with - | None -> None - | Some source_language -> Some (source_language#as_source_language) - in - SourceBuffer.make_params [] ?language ~cont:(fun pl () -> - let buf = new source_buffer (SourceBuffer.create pl) in - (match text with - | None -> () - | Some text -> buf#set_text text); - buf) - - (* alias used below, needed because "source_buffer" is a name in scope *) -let source_buffer' = source_buffer - -(** {2 GtkSourceView} *) - -class source_view_signals obj' = -object - inherit widget_signals_impl (obj' : [> Gtk_sourceview.source_view] obj) - inherit GText.view_signals obj' - inherit source_view_sigs -end - -class source_view (obj': Gtk_sourceview.source_view obj) = -object (self) - inherit GText.view_skel obj' - val source_buf = - let buf_obj = - Gobject.try_cast (GtkText.View.get_buffer obj') "GtkSourceBuffer" - in - new source_buffer buf_obj - method source_buffer = source_buf - method connect = new source_view_signals obj' - method set_show_line_numbers x = - self#misc#set_property "show_line_numbers" (bool x) - method show_line_numbers = - get_bool (self#misc#get_property "show_line_numbers") - method set_show_line_markers x = - self#misc#set_property "show_line_markers" (bool x) - method show_line_markers = - get_bool (self#misc#get_property "show_line_markers") - method set_tabs_width x = self#misc#set_property "tabs_width" (uint x) - method tabs_width = get_uint (self#misc#get_property "tabs_width") - method set_auto_indent x = self#misc#set_property "auto_indent" (bool x) - method auto_indent = get_bool (self#misc#get_property "auto_indent") - method set_insert_spaces_instead_of_tabs x = - self#misc#set_property "insert_spaces_instead_of_tabs" (bool x) - method insert_spaces_instead_of_tabs = - get_bool (self#misc#get_property "insert_spaces_instead_of_tabs") - method set_show_margin x = self#misc#set_property "show_margin" (bool x) - method show_margin = get_bool (self#misc#get_property "show_margin") - method set_margin x = self#misc#set_property "margin" (uint x) - method margin = get_uint (self#misc#get_property "margin") - method set_smart_home_end x = self#misc#set_property "smart_home_end" (bool x) - method smart_home_end = get_bool (self#misc#get_property "smart_home_end") -end - -let source_view ?source_buffer = - SourceView.make_params [] ~cont:( - GtkText.View.make_params ~cont:( - GContainer.pack_container ~create:(fun pl -> - let obj = - match source_buffer with - | Some buf -> - SourceView.new_with_buffer - (Gobject.try_cast buf#as_buffer "GtkSourceBuffer") - | None -> SourceView.new_ () - in - Gobject.set_params (Gobject.try_cast obj "GtkSourceView") pl; - new source_view obj))) - -(** {2 Misc} *) - -let find_matching_bracket iter = - let iter = iter#copy in - if SourceViewMisc.find_matching_bracket iter#as_iter then - Some iter - else - None - diff --git a/helm/DEVEL/lablgtksourceview/gSourceView.mli b/helm/DEVEL/lablgtksourceview/gSourceView.mli deleted file mode 100644 index 746ddd77c..000000000 --- a/helm/DEVEL/lablgtksourceview/gSourceView.mli +++ /dev/null @@ -1,187 +0,0 @@ -(* - * lablgtksourceview, OCaml binding for the GtkSourceView text widget - * - * Copyright (C) 2005 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 - *) - -open Gtk - -(** {2 GtkSourceLanguage} *) - -class source_language_signals: - ([> Gtk_sourceview.source_language ] as 'b) obj -> - object ('a) - inherit ['b] GObj.gobject_signals - method tag_style_changed: callback:(string -> unit) -> GtkSignal.id - end - -class source_language: - Gtk_sourceview.source_language obj -> - object - method as_source_language: Gtk_sourceview.source_language obj - method connect: source_language_signals - method get_escape_char: Glib.unichar - method get_name: string - method get_section: string - method misc: GObj.gobject_ops - end - -(** {2 GtkSourceLanguagesManager} *) - -class source_languages_manager: - Gtk_sourceview.source_languages_manager obj -> - object - method get_oid: int - method as_source_languages_manager: - Gtk_sourceview.source_languages_manager obj - method get_language_from_mime_type: string -> source_language option - method lang_files_dirs: string list - end - -val source_languages_manager: -(* ?lang_files_dirs:string list -> *) - unit -> - source_languages_manager - -val source_language_from_file: - ?languages_manager:source_languages_manager -> string -> - source_language option - -(** {2 GtkSourceBuffer} *) - -class source_buffer_signals: - ([> Gtk_sourceview.source_buffer ] as 'b) obj -> - object ('a) - inherit GText.buffer_signals - method can_redo: callback:(bool -> unit) -> GtkSignal.id - method can_undo: callback:(bool -> unit) -> GtkSignal.id - method highlight_updated: - callback:(Gtk.text_iter -> Gtk.text_iter -> unit) -> GtkSignal.id - method marker_updated: callback:(Gtk.text_iter -> unit) -> GtkSignal.id - end - -class source_buffer: - Gtk_sourceview.source_buffer obj -> - object - inherit GText.buffer_skel - method connect: source_buffer_signals - method misc: GObj.gobject_ops - method check_brackets: bool - method set_check_brackets: bool -> unit -(* method set_bracket_match_style: tag_style -> unit *) - method highlight: bool - method set_highlight: bool -> unit - method max_undo_levels: int - method set_max_undo_levels: int -> unit - method language: source_language option - method set_language: source_language -> unit - method escape_char: Glib.unichar - method set_escape_char: Glib.unichar -> unit - method can_undo: bool - method can_redo: bool - method undo: unit -> unit - method redo: unit -> unit - method begin_not_undoable_action: unit -> unit - method end_not_undoable_action: unit -> unit -(* method create_marker: name:char -> typ:char -> source_marker *) -(* method move_marker: source_marker -> Gtext.text_iter -> unit *) -(* method delete_marker: source_marker -> unit *) -(* method get_marker: name:char -> source_marker *) -(* method get_markers_in_region: - start:text_iter -> stop:text_iter -> source_marker list *) -(* method get_first_marker: unit -> source_marker *) -(* method get_last_marker: unit -> source_marker *) -(* method get_iter_at_marker: ... *) -(* method get_next_marker: unit -> source_marker *) -(* method get_prev_marker: unit -> source_marker *) - end - -val source_buffer: - ?language:source_language -> -(* ?tag_table:source_tag_table -> *) - ?text:string -> - ?check_brackets:bool -> - ?escape_char:int -> - ?highlight:bool -> - ?max_undo_levels:int -> - unit -> - source_buffer - -(** {2 GtkSourceView} *) - -class source_view_signals: - ([> Gtk_sourceview.source_view ] as 'b) obj -> - object ('a) - inherit GText.view_signals - method redo: callback:(unit -> unit) -> GtkSignal.id - method undo: callback:(unit -> unit) -> GtkSignal.id - end - -class source_view: - Gtk_sourceview.source_view obj -> - object - inherit GText.view_skel - val obj: Gtk_sourceview.source_view obj - method connect: source_view_signals - method source_buffer: source_buffer - method set_show_line_numbers: bool -> unit - method show_line_numbers: bool - method set_show_line_markers: bool -> unit - method show_line_markers: bool - method set_tabs_width: int -> unit - method tabs_width: int - method set_auto_indent: bool -> unit - method auto_indent: bool - method set_insert_spaces_instead_of_tabs: bool -> unit - method insert_spaces_instead_of_tabs: bool - method set_show_margin: bool -> unit - method show_margin: bool - method set_margin: int -> unit - method margin: int -(* method set_marker_pixbuf: GdkPixbuf.pixbuf -> unit *) -(* method marker_pixbuf: GdkPixbuf.pixbuf *) - method set_smart_home_end: bool -> unit - method smart_home_end: bool - end - -val source_view: - ?source_buffer:source_buffer -> - ?auto_indent:bool -> - ?insert_spaces_instead_of_tabs:bool -> - ?margin:int -> - ?show_line_markers:bool -> - ?show_line_numbers:bool -> - ?show_margin:bool -> - ?smart_home_end:bool -> - ?tabs_width:int -> - ?editable:bool -> - ?cursor_visible:bool -> - ?justification:GtkEnums.justification -> - ?wrap_mode:GtkEnums.wrap_mode -> - ?border_width:int -> - ?width:int -> - ?height:int -> - ?packing:(GObj.widget -> unit) -> - ?show:bool -> - unit -> - source_view - -(** {2 Misc} *) - -val find_matching_bracket: GText.iter -> GText.iter option - diff --git a/helm/DEVEL/lablgtksourceview/gtkSourceView.ml b/helm/DEVEL/lablgtksourceview/gtkSourceView.ml deleted file mode 100644 index d9a16a58d..000000000 --- a/helm/DEVEL/lablgtksourceview/gtkSourceView.ml +++ /dev/null @@ -1,118 +0,0 @@ -(* - * lablgtksourceview, OCaml binding for the GtkSourceView text widget - * - * Copyright (C) 2005 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 - *) - -open Gtk_sourceview -open Gaux -open Gobject -open Gtk -open Tags -open GtkSourceViewProps -open GtkBase - -(* external gslist_of_string_list: string list -> 'a obj = - "ml_gslist_of_string_list" *) - -external _gtk_source_language_init: unit -> unit = "ml_gtk_source_language_init" -external _gtk_source_languages_manager_init: unit -> unit = - "ml_gtk_source_languages_manager_init" -external _gtk_source_buffer_init: unit -> unit = "ml_gtk_source_buffer_init" -external _gtk_source_view_init: unit -> unit = "ml_gtk_source_view_init" - -let () = - _gtk_source_language_init (); - _gtk_source_languages_manager_init (); - _gtk_source_buffer_init (); - _gtk_source_view_init () - -module SourceLanguage = -struct - include SourceLanguage - external new_from_file: - string -> [>`sourcelanguagesmanager] obj -> source_language obj option - = - "ml__gtk_source_language_new_from_file" - external get_name: [>`sourcelanguage] obj -> string = - "ml_gtk_source_language_get_name" - external get_section: [>`sourcelanguage] obj -> string = - "ml_gtk_source_language_get_section" -(* external get_tags: [>`sourcelanguage] obj -> source_tag list *) - external get_escape_char: [>`sourcelanguage] obj -> Glib.unichar = - "ml_gtk_source_language_get_escape_char" -(* external get_mime_types: [>`sourcelanguage] obj -> string list *) -(* external set_mime_types: [>`sourcelanguage] obj -> string list -> unit *) -(* external get_style_scheme: [>`sourcelanguage] obj -> style_scheme *) -(* external set_style_char: [>`sourcelanguage] obj -> style_scheme -> unit *) -(* external get_tag_style: [>`sourcelanguage] obj -> tag_style *) -(* external set_tag_style: [>`sourcelanguage] obj -> string -> tag_style -> unit *) -(* external get_tag_default_style: [>`sourcelanguage] obj -> string -> tag_style *) -end - -module SourceLanguagesManager = -struct - include SourceLanguagesManager - external new_: unit -> source_languages_manager obj = - "ml_gtk_source_languages_manager_new" -(* external get_available_languages: - [>`sourcelanguagesmanager] obj -> source_language obj list - = "ml_gtk_source_languages_manager_get_available_languages" *) - external get_language_from_mime_type: - [>`sourcelanguagesmanager] obj -> string -> source_language obj option - = "ml_gtk_source_languages_manager_get_language_from_mime_type" - external get_lang_files_dirs: - [>`sourcelanguagesmanager] obj -> string list - = "ml_gtk_source_languages_manager_get_lang_files_dirs" -(* external set_lang_files_dirs: - [>`sourcelanguagesmanager] obj -> string list -> unit - = "ml_gtk_source_languages_manager_set_lang_files_dirs" *) -end - -module SourceBuffer = -struct - include SourceBuffer -(* external new_: unit -> source_buffer obj = "ml_gtk_source_buffer_new" *) -(* external new_with_buffer: [>`sourcelanguage] obj -> source_buffer obj = - "ml_gtk_source_buffer_new_with_language" *) - external can_undo: [>`sourcebuffer] obj -> bool = - "ml_gtk_source_buffer_can_undo" - external can_redo: [>`sourcebuffer] obj -> bool = - "ml_gtk_source_buffer_can_redo" - external undo: [>`sourcebuffer] obj -> unit = "ml_gtk_source_buffer_undo" - external redo: [>`sourcebuffer] obj -> unit = "ml_gtk_source_buffer_redo" - external begin_not_undoable_action: [>`sourcebuffer] obj -> unit = - "ml_gtk_source_buffer_begin_not_undoable_action" - external end_not_undoable_action: [>`sourcebuffer] obj -> unit = - "ml_gtk_source_buffer_end_not_undoable_action" -end - -module SourceView = -struct - include SourceView - external new_: unit -> source_view obj = "ml_gtk_source_view_new" - external new_with_buffer: [>`sourcebuffer] obj -> source_view obj = - "ml_gtk_source_view_new_with_buffer" -end - -module SourceViewMisc = -struct - external find_matching_bracket: text_iter -> bool = - "ml_gtk_source_iter_find_matching_bracket" -end - diff --git a/helm/DEVEL/lablgtksourceview/gtkSourceView.props b/helm/DEVEL/lablgtksourceview/gtkSourceView.props deleted file mode 100644 index a8a6f6e93..000000000 --- a/helm/DEVEL/lablgtksourceview/gtkSourceView.props +++ /dev/null @@ -1,40 +0,0 @@ - -prefix "Gtk" - -header { - open Gtk_sourceview -} - -class SourceLanguage type "source_language obj" set wrapsig : GObject { - signal tag_style_changed: string -} - -class SourceLanguagesManager type "source_languages_manager obj" set wrapsig : GObject { -(* "lang-files-dirs" gpointer : Read / Write / Construct Only *) -} - -class SourceBuffer type "source_buffer obj" set wrapsig : GObject { - "check-brackets" gboolean : Read / Write - "escape-char" guint : Read / Write - "highlight" gboolean : Read / Write - "language" GtkSourceLanguage : Read / Write - "max-undo-levels" gint : Read / Write - signal can_redo: gboolean - signal can_undo: gboolean - signal highlight_updated: GtkTextIter GtkTextIter - signal marker_updated: GtkTextIter -} - -class SourceView type "source_view obj" set wrapsig : Widget { - "auto-indent" gboolean : Read / Write - "insert-spaces-instead-of-tabs" gboolean : Read / Write - "margin" guint : Read / Write - "show-line-markers" gboolean : Read / Write - "show-line-numbers" gboolean : Read / Write - "show-margin" gboolean : Read / Write - "smart-home-end" gboolean : Read / Write - "tabs-width" guint : Read / Write - signal redo - signal undo -} - diff --git a/helm/DEVEL/lablgtksourceview/gtk_sourceview.ml b/helm/DEVEL/lablgtksourceview/gtk_sourceview.ml deleted file mode 100644 index 573195e19..000000000 --- a/helm/DEVEL/lablgtksourceview/gtk_sourceview.ml +++ /dev/null @@ -1,26 +0,0 @@ -(* - * lablgtksourceview, OCaml binding for the GtkSourceView text widget - * - * Copyright (C) 2005 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 - *) - -type source_view = [Gtk.text_view|`sourceview] -type source_buffer = [`textbuffer|`sourcebuffer] -type source_language = [`sourcelanguage] -type source_languages_manager = [`sourcelanguagesmanager] - diff --git a/helm/DEVEL/lablgtksourceview/ml_gtk_sourceview.c b/helm/DEVEL/lablgtksourceview/ml_gtk_sourceview.c deleted file mode 100644 index 965618d26..000000000 --- a/helm/DEVEL/lablgtksourceview/ml_gtk_sourceview.c +++ /dev/null @@ -1,126 +0,0 @@ -/* - * lablgtksourceview, OCaml binding for the GtkSourceView text widget - * - * Copyright (C) 2005 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 - */ - -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -CAMLprim value ml_gtk_source_language_init(value unit) -{ /* Since these are declared const, must force gcc to call them! */ - GType t = gtk_source_language_get_type(); - return Val_GType(t); -} - -CAMLprim value ml_gtk_source_languages_manager_init(value unit) -{ /* Since these are declared const, must force gcc to call them! */ - GType t = gtk_source_languages_manager_get_type(); - return Val_GType(t); -} - -CAMLprim value ml_gtk_source_buffer_init(value unit) -{ /* Since these are declared const, must force gcc to call them! */ - GType t = gtk_source_buffer_get_type(); - return Val_GType(t); -} - -CAMLprim value ml_gtk_source_view_init(value unit) -{ /* Since these are declared const, must force gcc to call them! */ - GType t = gtk_source_view_get_type(); - return Val_GType(t); -} - -static gpointer string_val(value v) -{ - return String_val(v); -} - -GSList *ml_gslist_of_string_list(value list) -{ - GSList_val(list, string_val); -} - -/* CAMLprim value -ml_gtk_source_languages_manager_set_lang_files_dirs(GObject *obj, value list) -{ - GSList *gslist = ml_gslist_of_string_list(list); - g_object_set_property(obj, "lang-files-dirs", gslist); - return Val_unit; -} */ - -#define GtkSourceLanguage_val(val) check_cast(GTK_SOURCE_LANGUAGE,val) -#define GtkSourceLanguagesManager_val(val)\ - check_cast(GTK_SOURCE_LANGUAGES_MANAGER,val) -#define GtkSourceTagTable_val(val) check_cast(GTK_SOURCE_TAG_TABLE,val) -#define GtkSourceBuffer_val(val) check_cast(GTK_SOURCE_BUFFER,val) -#define GtkSourceView_val(val) check_cast(GTK_SOURCE_VIEW,val) -#define GtkTextIter_val(val) ((GtkTextIter*)MLPointer_val(val)) -#define Val_option_GtkAny(v) Val_option(v,Val_GtkAny) -#define string_list_of_GSList(l) Val_GSList(l, (value_in) Val_string) -/* #define GSList_of_string_list(l) GSList_val(l, String_val) */ -/* #define GSList_of_string_list(l) GSList_val(l, ml_string_val) */ - -ML_2 (_gtk_source_language_new_from_file, String_val, - GtkSourceLanguagesManager_val, Val_option_GtkAny) -ML_1 (gtk_source_language_get_name, GtkSourceLanguage_val, Val_string) -ML_1 (gtk_source_language_get_section, GtkSourceLanguage_val, Val_string) -ML_1 (gtk_source_language_get_escape_char, GtkSourceLanguage_val, Val_int) - -ML_0 (gtk_source_languages_manager_new, Val_GtkAny_sink) -ML_2 (gtk_source_languages_manager_get_language_from_mime_type, - GtkSourceLanguagesManager_val, String_val, - Val_option_GtkAny) -ML_1 (gtk_source_languages_manager_get_lang_files_dirs, - GtkSourceLanguagesManager_val, string_list_of_GSList) - -/* ML_0 (gtk_source_buffer_new, GtkSourceTagTable_val, Val_GtkAny_sink) */ -/* ML_1 (gtk_source_buffer_new_with_language, GtkSourceLanguage_val, - Val_GtkAny_sink) */ -ML_1 (gtk_source_buffer_can_undo, GtkSourceBuffer_val, Val_bool) -ML_1 (gtk_source_buffer_can_redo, GtkSourceBuffer_val, Val_bool) -ML_1 (gtk_source_buffer_undo, GtkSourceBuffer_val, Unit) -ML_1 (gtk_source_buffer_redo, GtkSourceBuffer_val, Unit) -ML_1 (gtk_source_buffer_begin_not_undoable_action, GtkSourceBuffer_val, Unit) -ML_1 (gtk_source_buffer_end_not_undoable_action, GtkSourceBuffer_val, Unit) - -ML_0 (gtk_source_view_new, Val_GtkWidget_sink) -ML_1 (gtk_source_view_new_with_buffer, GtkSourceBuffer_val, Val_GtkWidget_sink) - -ML_1 (gtk_source_iter_find_matching_bracket, GtkTextIter_val, Val_bool) - diff --git a/helm/DEVEL/lablgtksourceview/test/.cvsignore b/helm/DEVEL/lablgtksourceview/test/.cvsignore deleted file mode 100644 index 55e2b7e57..000000000 --- a/helm/DEVEL/lablgtksourceview/test/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -*.cmo *.cmi *.cmx *.o *.a *.cmxa *.cma -test test.opt -Makefile diff --git a/helm/DEVEL/lablgtksourceview/test/Makefile.in b/helm/DEVEL/lablgtksourceview/test/Makefile.in deleted file mode 100644 index d4c5864bc..000000000 --- a/helm/DEVEL/lablgtksourceview/test/Makefile.in +++ /dev/null @@ -1,23 +0,0 @@ -PACKAGES = lablgtk2.init -PACKAGE = @PACKAGE@ -BUILDFLAGS = -package "$(PACKAGES)" -I ../ -LINKFLAGS = $(BUILDFLAGS) -linkpkg -OCAMLC = ocamlfind ocamlc -OCAMLOPT = ocamlfind ocamlopt -TMPDIR = .test - -all: test -opt: test.opt - -test: test.ml ../$(PACKAGE).cma - $(OCAMLC) $(LINKFLAGS) $(PACKAGE).cma -o $@ $< - -test.opt: test.ml ../$(PACKAGE).cmxa - $(OCAMLOPT) $(LINKFLAGS) $(PACKAGE).cmxa -o $@ $< - -clean: - rm -f *.cm[iox] *.[ao] *.cmxa test test.opt - -distclean: - rm Makefile - diff --git a/helm/DEVEL/lablgtksourceview/test/test.lang b/helm/DEVEL/lablgtksourceview/test/test.lang deleted file mode 100644 index 0478120ad..000000000 --- a/helm/DEVEL/lablgtksourceview/test/test.lang +++ /dev/null @@ -1,128 +0,0 @@ - - - - - \ - - - // - - - - /\* - \*/ - - - - ^[ \t]*#[ \t]*if[ \t]*0 - [ \t]*#[ \t]*(endif|else) - - - - " - " - - - - ^#[ \t]*(include|pragma) - \n - - - - asm - break - case - continue - default - do - else - for - fortran - goto - if - return - sizeof - switch - while - - - - _Bool - _Complex - _Imaginary - auto - char - const - double - enum - extern - float - int - inline - long - register - restrict - short - signed - static - struct - typedef - union - unsigned - void - volatile - - - - ' - ' - - - - \b([1-9][0-9]*|0)([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b - - - - \b([0-9]+[Ee][-]?[0-9]+|([0-9]*\.[0-9]+|[0-9]+\.)([Ee][-]?[0-9]+)?)[fFlL]? - - - - \b0[0-7]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b - - - - \b0[xX][0-9a-fA-F]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b - - - - NULL - TRUE - FALSE - MAX - MIN - __LINE__ - __DATA__ - __FILE__ - __func__ - __TIME__ - __STDC__ - - - - if - ifdef - ifndef - else - elif - define - endif - undef - error - pragma - line - - - diff --git a/helm/DEVEL/lablgtksourceview/test/test.ml b/helm/DEVEL/lablgtksourceview/test/test.ml deleted file mode 100644 index d0e140249..000000000 --- a/helm/DEVEL/lablgtksourceview/test/test.ml +++ /dev/null @@ -1,99 +0,0 @@ -(* - * lablgtksourceview, OCaml binding for the GtkSourceView text widget - * - * Copyright (C) 2005 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 - *) - -open Printf - -let lang_mime_type = "text/x-c" -let lang_file = "test.lang" -let use_mime_type = false -let font_name = "Monospace 10" - -let print_lang lang = prerr_endline (sprintf "language: %s" lang#get_name) - -let print_lang_dirs languages_manager = - let i = ref 0 in - prerr_endline "lang_dirs:"; - List.iter - (fun dir -> incr i; prerr_endline (sprintf "%d: %s" !i dir)) - languages_manager#lang_files_dirs - -let win = GWindow.window ~title:"LablGtkSourceView test" () -let vbox = GPack.vbox ~packing:win#add () -let hbox = GPack.hbox ~packing:vbox#add () -let bracket_button = GButton.button ~label:"( ... )" ~packing:hbox#add () -let scrolled_win = GBin.scrolled_window ~packing:vbox#add () -let source_view = - GSourceView.source_view - ~auto_indent:true -(* ~insert_spaces_instead_of_tabs:true ~tabs_width:2 *) - ~show_line_numbers:true - ~margin:80 ~show_margin:true - ~smart_home_end:true - ~packing:scrolled_win#add ~height:500 ~width:650 - () -(* let languages_manager = - GSourceView.source_languages_manager ~lang_files_dirs:["/etc"] () *) -let languages_manager = GSourceView.source_languages_manager () - -let lang = - if use_mime_type then - match languages_manager#get_language_from_mime_type lang_mime_type with - | None -> failwith (sprintf "no language for %s" lang_mime_type) - | Some lang -> lang - else - match - GSourceView.source_language_from_file ~languages_manager lang_file - with - | None -> failwith (sprintf "can't load %s" lang_file) - | Some lang -> lang - -let matching_bracket () = - let iter = source_view#source_buffer#get_iter_at_mark `INSERT in - match GSourceView.find_matching_bracket iter with - | None -> prerr_endline "no matching bracket" - | Some iter -> - source_view#source_buffer#place_cursor iter; - source_view#misc#grab_focus () - -let _ = - let text = - let ic = open_in "test.txt" in - let size = in_channel_length ic in - let buf = String.create size in - really_input ic buf 0 size; - close_in ic; - buf - in - win#set_allow_shrink true; - source_view#misc#modify_font_by_name font_name; - print_lang_dirs languages_manager; - print_lang lang; - source_view#source_buffer#set_language lang; - source_view#source_buffer#set_highlight true; - source_view#source_buffer#set_text text; - ignore (win#connect#destroy (fun _ -> GMain.quit ())); - ignore (bracket_button#connect#clicked matching_bracket); -(* ignore (source_view#connect#move_cursor (fun _ _ ~extend -> - prerr_endline "move_cursor")); - ignore (source_view#connect#undo (fun _ -> prerr_endline "undo")); *) - win#show (); - GMain.Main.main () - diff --git a/helm/DEVEL/lablgtksourceview/test/test.txt b/helm/DEVEL/lablgtksourceview/test/test.txt deleted file mode 100644 index 083521327..000000000 --- a/helm/DEVEL/lablgtksourceview/test/test.txt +++ /dev/null @@ -1,211 +0,0 @@ -/* CPU control. - * (C) 2001, 2002, 2003, 2004 Rusty Russell - * - * This code is licenced under the GPL. - */ -#include -#include -#include -#include -#include -#include -#include -#include -#include /* for hotplug_path */ -#include -#include -#include - -/* This protects CPUs going up and down... */ -DECLARE_MUTEX(cpucontrol); - -static struct notifier_block *cpu_chain; - -/* Need to know about CPUs going up/down? */ -int register_cpu_notifier(struct notifier_block *nb) -{ - int ret; - - if ((ret = down_interruptible(&cpucontrol)) != 0) - return ret; - ret = notifier_chain_register(&cpu_chain, nb); - up(&cpucontrol); - return ret; -} -EXPORT_SYMBOL(register_cpu_notifier); - -void unregister_cpu_notifier(struct notifier_block *nb) -{ - down(&cpucontrol); - notifier_chain_unregister(&cpu_chain, nb); - up(&cpucontrol); -} -EXPORT_SYMBOL(unregister_cpu_notifier); - -#ifdef CONFIG_HOTPLUG_CPU -static inline void check_for_tasks(int cpu) -{ - struct task_struct *p; - - write_lock_irq(&tasklist_lock); - for_each_process(p) { - if (task_cpu(p) == cpu && (p->utime != 0 || p->stime != 0)) - printk(KERN_WARNING "Task %s (pid = %d) is on cpu %d\ - (state = %ld, flags = %lx) \n", - p->comm, p->pid, cpu, p->state, p->flags); - } - write_unlock_irq(&tasklist_lock); -} - -/* Notify userspace when a cpu event occurs, by running '/sbin/hotplug - * cpu' with certain environment variables set. */ -static int cpu_run_sbin_hotplug(unsigned int cpu, const char *action) -{ - char *argv[3], *envp[5], cpu_str[12], action_str[32]; - int i; - - sprintf(cpu_str, "CPU=%d", cpu); - sprintf(action_str, "ACTION=%s", action); - /* FIXME: Add DEVPATH. --RR */ - - i = 0; - argv[i++] = hotplug_path; - argv[i++] = "cpu"; - argv[i] = NULL; - - i = 0; - /* minimal command environment */ - envp[i++] = "HOME=/"; - envp[i++] = "PATH=/sbin:/bin:/usr/sbin:/usr/bin"; - envp[i++] = cpu_str; - envp[i++] = action_str; - envp[i] = NULL; - - return call_usermodehelper(argv[0], argv, envp, 0); -} - -/* Take this CPU down. */ -static int take_cpu_down(void *unused) -{ - int err; - - /* Take offline: makes arch_cpu_down somewhat easier. */ - cpu_clear(smp_processor_id(), cpu_online_map); - - /* Ensure this CPU doesn't handle any more interrupts. */ - err = __cpu_disable(); - if (err < 0) - cpu_set(smp_processor_id(), cpu_online_map); - else - /* Force idle task to run as soon as we yield: it should - immediately notice cpu is offline and die quickly. */ - sched_idle_next(); - - return err; -} - -int cpu_down(unsigned int cpu) -{ - int err; - struct task_struct *p; - cpumask_t old_allowed, tmp; - - if ((err = lock_cpu_hotplug_interruptible()) != 0) - return err; - - if (num_online_cpus() == 1) { - err = -EBUSY; - goto out; - } - - if (!cpu_online(cpu)) { - err = -EINVAL; - goto out; - } - - /* Ensure that we are not runnable on dying cpu */ - old_allowed = current->cpus_allowed; - tmp = CPU_MASK_ALL; - cpu_clear(cpu, tmp); - set_cpus_allowed(current, tmp); - - p = __stop_machine_run(take_cpu_down, NULL, cpu); - if (IS_ERR(p)) { - err = PTR_ERR(p); - goto out_allowed; - } - - if (cpu_online(cpu)) - goto out_thread; - - /* Wait for it to sleep (leaving idle task). */ - while (!idle_cpu(cpu)) - yield(); - - /* This actually kills the CPU. */ - __cpu_die(cpu); - - /* Move it here so it can run. */ - kthread_bind(p, smp_processor_id()); - - /* CPU is completely dead: tell everyone. Too late to complain. */ - if (notifier_call_chain(&cpu_chain, CPU_DEAD, (void *)(long)cpu) - == NOTIFY_BAD) - BUG(); - - check_for_tasks(cpu); - - cpu_run_sbin_hotplug(cpu, "offline"); - -out_thread: - err = kthread_stop(p); -out_allowed: - set_cpus_allowed(current, old_allowed); -out: - unlock_cpu_hotplug(); - return err; -} -#else -static inline int cpu_run_sbin_hotplug(unsigned int cpu, const char *action) -{ - return 0; -} -#endif /*CONFIG_HOTPLUG_CPU*/ - -int __devinit cpu_up(unsigned int cpu) -{ - int ret; - void *hcpu = (void *)(long)cpu; - - if ((ret = down_interruptible(&cpucontrol)) != 0) - return ret; - - if (cpu_online(cpu) || !cpu_present(cpu)) { - ret = -EINVAL; - goto out; - } - ret = notifier_call_chain(&cpu_chain, CPU_UP_PREPARE, hcpu); - if (ret == NOTIFY_BAD) { - printk("%s: attempt to bring up CPU %u failed\n", - __FUNCTION__, cpu); - ret = -EINVAL; - goto out_notify; - } - - /* Arch-specific enabling code. */ - ret = __cpu_up(cpu); - if (ret != 0) - goto out_notify; - if (!cpu_online(cpu)) - BUG(); - - /* Now call notifier in preparation. */ - notifier_call_chain(&cpu_chain, CPU_ONLINE, hcpu); - -out_notify: - if (ret != 0) - notifier_call_chain(&cpu_chain, CPU_UP_CANCELED, hcpu); -out: - up(&cpucontrol); - return ret; -} 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 5af2b5f80..000000000 --- a/helm/DEVEL/mathml_editor/debian/changelog +++ /dev/null @@ -1,114 +0,0 @@ -editex (0.0.5-6) unstable; urgency=low - - * Rebuilt against ocaml 3.08.3 - - -- Stefano Zacchiroli Wed, 30 Mar 2005 09:08:25 +0200 - -editex (0.0.5-5) unstable; urgency=low - - * debian/control - - libeditex-ocaml depends on ocaml-base-nox-3.08 instead of - ocaml-base-3.08 since the ocaml part of this package does not - depend directly on ocaml X stuff - - -- Stefano Zacchiroli Wed, 25 Aug 2004 09:49:21 +0200 - -editex (0.0.5-4) unstable; urgency=low - - * ported to gtkmathview 0.6.3 - * debian/control - - bumped gtkmathview deps to >= 0.6.3 - - -- Stefano Zacchiroli Mon, 2 Aug 2004 11:24:00 +0200 - -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 c87009e09..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.3, 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.6.3), 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-nox-3.08.3, 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 98d36d2a3..000000000 --- a/helm/DEVEL/mathml_editor/debian/libeditex-ocaml-dev.files +++ /dev/null @@ -1,3 +0,0 @@ -usr/lib/ocaml/3.08.3/mathml-editor -usr/lib/ocaml/3.08.3/stublibs/lib*.so -usr/lib/ocaml/3.08.3/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 f4d1a9de0..000000000 --- a/helm/DEVEL/mathml_editor/debian/libeditex-ocaml.files +++ /dev/null @@ -1 +0,0 @@ -usr/lib/ocaml/3.08.3/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 7c4762fd1..000000000 --- a/helm/DEVEL/ocaml-http/.depend +++ /dev/null @@ -1,49 +0,0 @@ -http_common.cmo: http_types.cmi http_constants.cmi http_common.cmi -http_common.cmx: http_types.cmx http_constants.cmx http_common.cmi -http_constants.cmo: http_constants.cmi -http_constants.cmx: http_constants.cmi -http_daemon.cmo: http_types.cmi http_tcp_server.cmi http_request.cmi \ - http_parser_sanity.cmi http_parser.cmi http_misc.cmi http_constants.cmi \ - http_common.cmi http_daemon.cmi -http_daemon.cmx: http_types.cmx http_tcp_server.cmx http_request.cmx \ - http_parser_sanity.cmx http_parser.cmx http_misc.cmx http_constants.cmx \ - http_common.cmx http_daemon.cmi -http_message.cmo: http_types.cmi http_parser_sanity.cmi http_misc.cmi \ - http_constants.cmi http_common.cmi http_message.cmi -http_message.cmx: http_types.cmx http_parser_sanity.cmx http_misc.cmx \ - http_constants.cmx http_common.cmx http_message.cmi -http_misc.cmo: http_types.cmi http_misc.cmi -http_misc.cmx: http_types.cmx http_misc.cmi -http_parser.cmo: http_types.cmi http_parser_sanity.cmi http_constants.cmi \ - http_common.cmi http_parser.cmi -http_parser.cmx: http_types.cmx http_parser_sanity.cmx http_constants.cmx \ - http_common.cmx http_parser.cmi -http_parser_sanity.cmo: http_types.cmi http_constants.cmi \ - http_parser_sanity.cmi -http_parser_sanity.cmx: http_types.cmx http_constants.cmx \ - http_parser_sanity.cmi -http_request.cmo: http_types.cmi http_parser.cmi http_misc.cmi \ - http_message.cmi http_common.cmi http_request.cmi -http_request.cmx: http_types.cmx http_parser.cmx http_misc.cmx \ - http_message.cmx http_common.cmx http_request.cmi -http_response.cmo: http_types.cmi http_misc.cmi http_message.cmi \ - http_daemon.cmi http_constants.cmi http_common.cmi http_response.cmi -http_response.cmx: http_types.cmx http_misc.cmx http_message.cmx \ - http_daemon.cmx http_constants.cmx http_common.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_types.cmo: http_types.cmi -http_types.cmx: http_types.cmi -http_user_agent.cmo: http_parser.cmi http_misc.cmi http_common.cmi \ - http_user_agent.cmi -http_user_agent.cmx: http_parser.cmx http_misc.cmx http_common.cmx \ - http_user_agent.cmi -http_common.cmi: http_types.cmi -http_constants.cmi: http_types.cmi -http_daemon.cmi: http_types.cmi -http_message.cmi: http_types.cmi -http_parser.cmi: http_types.cmi -http_request.cmi: http_types.cmi -http_response.cmi: http_types.cmi -http_tcp_server.cmi: http_types.cmi -http_user_agent.cmi: http_types.cmi 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 dc1a772e1..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 - [ http://caml.inria.fr ] - - - findlib - [ http://www.ocaml-programming.de/packages/documentation/findlib/ ] - - - ocamlnet - [ http://sourceforge.net/projects/ocamlnet ] - - - pcre-ocaml - [ 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 f1c4ea8c3..000000000 --- a/helm/DEVEL/ocaml-http/LICENSE +++ /dev/null @@ -1,483 +0,0 @@ - - GNU LIBRARY GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 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. - -[This is the first released version of the library GPL. It is - numbered 2 because it goes with version 2 of the ordinary GPL.] - - 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 Library General Public License, applies to some -specially designated Free Software Foundation software, and to any -other libraries whose authors decide to use it. You can use it for -your libraries, 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 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 a program 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. - - Our method of protecting your rights has two steps: (1) copyright -the library, and (2) offer you this license which gives you legal -permission to copy, distribute and/or modify the library. - - Also, for each distributor's protection, we want to make certain -that everyone understands that there is no warranty for this free -library. If the library is modified by someone else and passed on, we -want its recipients to know that what they have is not the original -version, 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 companies distributing free -software will individually obtain patent licenses, thus in effect -transforming the program into proprietary software. To prevent this, -we have made it clear that any patent must be licensed for everyone's -free use or not licensed at all. - - Most GNU software, including some libraries, is covered by the ordinary -GNU General Public License, which was designed for utility programs. This -license, the GNU Library General Public License, applies to certain -designated libraries. This license is quite different from the ordinary -one; be sure to read it in full, and don't assume that anything in it is -the same as in the ordinary license. - - The reason we have a separate public license for some libraries is that -they blur the distinction we usually make between modifying or adding to a -program and simply using it. Linking a program with a library, without -changing the library, is in some sense simply using the library, and is -analogous to running a utility program or application program. However, in -a textual and legal sense, the linked executable is a combined work, a -derivative of the original library, and the ordinary General Public License -treats it as such. - - Because of this blurred distinction, using the ordinary General -Public License for libraries did not effectively promote software -sharing, because most developers did not use the libraries. We -concluded that weaker conditions might promote sharing better. - - However, unrestricted linking of non-free programs would deprive the -users of those programs of all benefit from the free status of the -libraries themselves. This Library General Public License is intended to -permit developers of non-free programs to use free libraries, while -preserving your freedom as a user of such programs to change the free -libraries that are incorporated in them. (We have not seen how to achieve -this as regards changes in header files, but we have achieved it as regards -changes in the actual functions of the Library.) The hope is that this -will lead to faster development of free libraries. - - 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, while the latter only -works together with the library. - - Note that it is possible for a library to be covered by the ordinary -General Public License rather than by this special one. - - GNU LIBRARY GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library which -contains a notice placed by the copyright holder or other authorized -party saying it may be distributed under the terms of this Library -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. - - 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. - - 6. As an exception to the Sections above, you may also compile 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) 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. - - c) 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. - - d) 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 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. - - 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. - - 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 to -this License. - - 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 Library 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. - - 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 - - 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 Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; 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/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 572a7f258..000000000 --- a/helm/DEVEL/ocaml-http/Makefile +++ /dev/null @@ -1,137 +0,0 @@ -include Makefile.defs - -MODULES = \ - http_constants http_types 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_types \ - http_common \ - http_message \ - http_request \ - http_daemon \ - http_response \ - http_user_agent -OCAMLDOC_STUFF = *.mli -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: all $(DOCDIR)/index.html $(DOTDIR)/ocaml-http.ps $(TEXDIR)/ocaml-http.ps $(OCAMLDOC_STUFF) -$(DOCDIR)/index.html: - $(OCAMLDOC) -html -d $(DOCDIR) $(OCAMLDOC_STUFF) -$(TEXDIR)/ocaml-http.tex: $(OCAMLDOC_STUFF) - $(OCAMLDOC) -latex -o $@ $^ -$(TEXDIR)/ocaml-http.ps: $(TEXDIR)/ocaml-http.tex - cd $(TEXDIR); \ - latex ocaml-http; \ - latex ocaml-http; \ - dvips ocaml-http -$(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 $< - -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)/*.{dvi,ps,ps.gz,pdf,aux,log,out,toc,tmp,haux,sty,tex} -distclean: clean - $(MAKE) -C examples/ distclean - rm -f META -dist: distreal distrm -distdoc: all doc - if [ -d $(DISTDIR) ]; then rm -rf $(DISTDIR); else true; fi - mkdir -p $(DISTDIR)/doc/ - cp -r doc/html/ $(DISTDIR)/doc/ - cp doc/dot/ocaml-http.ps $(DISTDIR)/doc/modules.ps - cp doc/latex/ocaml-http.ps $(DISTDIR)/doc/ -distreal: distdoc distclean depend - 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 %, %.cmi, $(PUBLIC_MODULES)) \ - $(wildcard *.cma *.cmxa *.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 4d9f7c5ca..000000000 --- a/helm/DEVEL/ocaml-http/Makefile.defs +++ /dev/null @@ -1,24 +0,0 @@ -PKGNAME = http -DISTVERSION = $(shell dpkg-parsechangelog | egrep '^Version: ' | sed 's/^Version: //' | sed 's/-.*//') - -DEBUG_FLAGS = -REQUIRES = unix str 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 -stars \ - $(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 \ - .depend - 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 7fc3c6bb6..000000000 --- a/helm/DEVEL/ocaml-http/TODO +++ /dev/null @@ -1 +0,0 @@ -- support for HTTPS diff --git a/helm/DEVEL/ocaml-http/debian/changelog b/helm/DEVEL/ocaml-http/debian/changelog deleted file mode 100644 index c7f6e581d..000000000 --- a/helm/DEVEL/ocaml-http/debian/changelog +++ /dev/null @@ -1,147 +0,0 @@ -ocaml-http (0.1.2-1) unstable; urgency=low - - * avoid exceptions for closing connection twice during finaliztion of - connection objects (thanks to Eric Strokes - for the patch) - - -- Stefano Zacchiroli Wed, 14 Sep 2005 18:03:40 +0200 - -ocaml-http (0.1.1-1) unstable; urgency=low - - * added ?default parameter to "param" method - * fixed bug in response status line parsing - * integrated patch for HTTP/1.1 persistent connections from - Eric Cooper : - - added support for persistent connections to http_daemon.ml: server - now loops until End_of_file (or any exception) occurs when trying - to parse the next request - * debian/control - - bumped pcre and ocamlnet dependencies - - bumped standards-version to 3.6.2 - - -- Stefano Zacchiroli Wed, 16 Mar 2005 09:24:07 +0100 - -ocaml-http (0.1.0-2) unstable; urgency=low - - * rebuilt against ocaml 3.08.3 - - -- Stefano Zacchiroli Tue, 29 Mar 2005 11:39:24 +0200 - -ocaml-http (0.1.0-1) unstable; urgency=low - - * first debian official package - - -- Stefano Zacchiroli Tue, 8 Feb 2005 22:45:54 +0100 - -ocaml-http (0.1.0) unstable; urgency=low - - * added "daemon specifications": a unified way of specifying daemons - behaviour including old parameters of Http_daemon.start together - with authentication requirements and exception handling - * added new way of building daemons starting from specifications, old - ways (e.g. Http_daemon.start) are now deprecated - * added sigpipe handling to avoid daemons dying for uncaught signals - * added exception handler (as part of a daemon specification), it can - be used to ensure that some code is execute before a process/thread - die for uncaught exception (e.g. unlocking a global mutex) - * added authentication requirements (as part of a daemon - specification): an handy way to specify required user name and - password for HTTP basic authentication - * added head_callback to Http_user_agent in order to have access to - response status and headers in HTTP requests - * changed license from GPL to LGPL - * improved ocamldoc documentation and debian packaging - - -- Stefano Zacchiroli Thu, 3 Feb 2005 23:08:14 +0100 - -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 9a3d6c384..000000000 --- a/helm/DEVEL/ocaml-http/debian/control +++ /dev/null @@ -1,23 +0,0 @@ -Source: ocaml-http -Section: devel -Priority: optional -Maintainer: Stefano Zacchiroli -Build-Depends: debhelper (>> 4.0.0), ocaml-nox-3.08.3, ocaml-findlib, libpcre-ocaml-dev (>= 5.10.0), libocamlnet-ocaml-dev (>= 1.1) -Standards-Version: 3.6.2 - -Package: libhttp-ocaml-dev -Architecture: any -Depends: ocaml-nox-3.08.3, libpcre-ocaml-dev (>= 5.10.0), libocamlnet-ocaml-dev (>= 1.1) -Description: OCaml library for writing HTTP servers - OCaml HTTP is a library for the Objective Caml programming language, - used to build simple HTTP servers, largely inspired to Perl's - HTTP::Daemon module. - . - In order to implement an HTTP servers the programmer has to provide a - daemon specification which contains, among other parameters, a callback - function invoked by OCaml HTTP on well formed HTTP requests received. - HTTP responses could be sent over an out_channel connected with client - socket, accessible from the callback. - . - The library contains also facility functions that helps in creating - well formed HTTP responses and a tiny HTTP client. diff --git a/helm/DEVEL/ocaml-http/debian/copyright b/helm/DEVEL/ocaml-http/debian/copyright deleted file mode 100644 index 38cb08c98..000000000 --- a/helm/DEVEL/ocaml-http/debian/copyright +++ /dev/null @@ -1,15 +0,0 @@ - -Author: Stefano Zacchiroli - -Copyright: - - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2005> Stefano Zacchiroli - - OCaml HTTP is distributed under the term of the GNU Library General - Public License version 2, on Debian systems you can find a copy of the - license in: - - /usr/share/common-licenses/LGPL-2 - diff --git a/helm/DEVEL/ocaml-http/debian/dirs b/helm/DEVEL/ocaml-http/debian/dirs deleted file mode 100644 index 45f0546bf..000000000 --- a/helm/DEVEL/ocaml-http/debian/dirs +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/ocaml/3.08.3 diff --git a/helm/DEVEL/ocaml-http/debian/doc-base b/helm/DEVEL/ocaml-http/debian/doc-base deleted file mode 100644 index 29b950dab..000000000 --- a/helm/DEVEL/ocaml-http/debian/doc-base +++ /dev/null @@ -1,12 +0,0 @@ -Document: ocaml-http -Title: OCaml HTTP API reference manual -Author: Stefano Zacchiroli -Abstract: API reference manual for OCaml HTTP, an Objective Caml library for writing HTTP servers -Section: Apps/Programming - -Format: HTML -Index: /usr/share/doc/libhttp-ocaml-dev/html/index.html -Files: /usr/share/doc/libhttp-ocaml-dev/html/* - -Format: PostScript -Files: /usr/share/doc/libhttp-ocaml-dev/ocaml-http.ps.gz 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 83dee8f5c..000000000 --- a/helm/DEVEL/ocaml-http/debian/rules +++ /dev/null @@ -1,46 +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) - -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 cf7440d52..000000000 --- a/helm/DEVEL/ocaml-http/examples/.cvsignore +++ /dev/null @@ -1,18 +0,0 @@ -*.cmi -*.cmo -*.cmx -*.cma -*.cmxa -always_ok_daemon -basic_auth -chdir -client_address -damned_recursion -dont_fork -dump_args -highlander -obj_foo -oo_daemon -threads -timeout -webfsd diff --git a/helm/DEVEL/ocaml-http/examples/Makefile b/helm/DEVEL/ocaml-http/examples/Makefile deleted file mode 100644 index 9209563f6..000000000 --- a/helm/DEVEL/ocaml-http/examples/Makefile +++ /dev/null @@ -1,41 +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 \ - dump_args.ml \ - highlander.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 caa0d4516..000000000 --- a/helm/DEVEL/ocaml-http/examples/always_ok_daemon.ml +++ /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 -*) - -open Http_types - - (* start an http daemon that alway respond with a 200 status code and an empty - content *) -let spec = - { Http_daemon.default_spec with - callback = (fun _ outchan -> Http_daemon.respond outchan); - port = 9999; - } - -let _ = Http_daemon.main spec - 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 bdfb2b949..000000000 --- a/helm/DEVEL/ocaml-http/examples/basic_auth.ml +++ /dev/null @@ -1,50 +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 - -(* the easy way: specify authentication requirements within a daemon_spec *) -let spec = - { Http_daemon.default_spec with - (* requires basic authentication, username "foo", password "bar" *) - auth = Some ("my realm", `Basic ("foo", "bar")); - callback = (fun _ outchan -> Http_daemon.respond ~body:"secret" outchan); - port = 9999; - } - -(* -(* the hard^Wother way: manual handling of authorization *) -let callback req outchan = - match req#authorization with - | Some (`Basic (username, password)) - when username = "foo" && password = "bar" -> - Http_daemon.respond ~code:(`Code 200) ~body:"secret" outchan - | _ -> raise (Unauthorized "my secret site") - -let spec = - { Http_daemon.default_spec with - callback = callback; - port = 9999; - } -*) - -let _ = Http_daemon.main spec - diff --git a/helm/DEVEL/ocaml-http/examples/chdir.ml b/helm/DEVEL/ocaml-http/examples/chdir.ml deleted file mode 100644 index bcba1ebc3..000000000 --- a/helm/DEVEL/ocaml-http/examples/chdir.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 -open Http_types - -let spec = - { Http_daemon.default_spec with - callback = (fun _ outchan -> - Http_daemon.respond ~body:(sprintf "%s\n" (Sys.getcwd ())) outchan); - port = 9999; - root_dir = Some "/etc"; - } - -let _ = Http_daemon.main spec - 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 79d4ff836..000000000 --- a/helm/DEVEL/ocaml-http/examples/client_address.ml +++ /dev/null @@ -1,42 +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_types - -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 - -let spec = - { Http_daemon.default_spec with - callback = callback; - port = 9999 - } - -let _ = Http_daemon.main spec - 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 be2e30629..000000000 --- a/helm/DEVEL/ocaml-http/examples/damned_recursion.ml +++ /dev/null @@ -1,51 +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_types - -let port = 9999 - -let callback (req: Http_types.request) outchan = - let i = int_of_string (req#param "x") in - let body = - match i with - | 0 -> "0" - | x when x > 0 -> - let data = - Http_user_agent.get (sprintf "http://127.0.0.1:%d/foo?x=%d" - port (x - 1)) - in - sprintf "%s %d" data x - | _ -> assert false - in - Http_daemon.respond ~code:(`Code 200) ~body outchan; - close_out outchan (* Http_user_agent relies on EOF, not Content-Length *) - -let spec = - { Http_daemon.default_spec with - callback = callback; - port = port; - mode = `Thread; - } - -let _ = Http_daemon.main spec - 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 ab082112a..000000000 --- a/helm/DEVEL/ocaml-http/examples/dump_args.ml +++ /dev/null @@ -1,48 +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_types - -let callback req 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\n" req#body) - in - Http_daemon.respond ~code:(`Code 200) ~body: str outchan - -let spec = - { Http_daemon.default_spec with - callback = callback; - port = 9999; - } - -let _ = Http_daemon.main spec - diff --git a/helm/DEVEL/ocaml-http/examples/highlander.ml b/helm/DEVEL/ocaml-http/examples/highlander.ml deleted file mode 100644 index d42445481..000000000 --- a/helm/DEVEL/ocaml-http/examples/highlander.ml +++ /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 -*) - -(* test for fast rebinding of the tcp port *) - -open Printf -open Http_types - -let spec = - { Http_daemon.default_spec with - callback = (fun _ outchan -> Http_daemon.respond ~body:"foo" outchan); - port = 9999; - mode = `Single; - } - -let _ = - Sys.catch_break true; - while true do - try - Http_daemon.main spec; - with Sys.Break -> prerr_endline "RESURRECTION!!!!" - done - 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 91197e3f7..000000000 --- a/helm/DEVEL/ocaml-http/examples/oo_daemon.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 -*) - -open Http_daemon -open Http_response - - (* the simple way *) -let d = new daemon ~addr:"127.0.0.1" ~port:9999 () - -let _ = - 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^Wother way *) -let d = new daemon ~addr:"127.0.0.1" ~port:9999 () in -let _ = - 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 01f6dae4c..000000000 --- a/helm/DEVEL/ocaml-http/examples/threads.ml +++ /dev/null @@ -1,63 +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 m = Mutex.create () -let m_locked = ref true - -let critical f = - Mutex.lock m; - m_locked := true; - Lazy.force f; - m_locked := false; - Mutex.unlock m - - (** ocaml's Thread.unlock suspend the invoking process if the mutex is already - * unlocked, therefore we unlock it only if we know that it's currently locked - *) -let safe_unlock _ _ = if !m_locked then Mutex.unlock m - -let i = ref 10 -let dump_i outchan = - Http_daemon.respond ~body:(Printf.sprintf "i = %d\n" !i) outchan - -let callback req outchan = - match req#path with - | "/incr" -> critical (lazy (incr i; dump_i outchan; Unix.sleep 5)) - | "/decr" -> critical (lazy (decr i; dump_i outchan; Unix.sleep 5)) - | "/get" -> critical (lazy (dump_i outchan)) - | bad_request -> Http_daemon.respond_error outchan - -let spec = - { Http_daemon.default_spec with - port = 9999; - mode = `Thread; - callback = callback; - exn_handler = Some safe_unlock; - (** ocaml-http's default exn_handler is Pervasives.ignore. This means - * that threads holding the "m" mutex above may die without unlocking it. - * Using safe_unlock as an exception handler we ensure that "m" mutex is - * unlocked in case of exceptions (e.g. SIGPIPE) *) - } - -let _ = Http_daemon.main spec - diff --git a/helm/DEVEL/ocaml-http/examples/timeout.ml b/helm/DEVEL/ocaml-http/examples/timeout.ml deleted file mode 100644 index d39f6be7a..000000000 --- a/helm/DEVEL/ocaml-http/examples/timeout.ml +++ /dev/null @@ -1,31 +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 spec = - { Http_daemon.default_spec with - callback = (fun _ outchan -> Http_daemon.respond ~body:"foo" outchan); - timeout = Some 10; - } - -let _ = Http_daemon.main spec - diff --git a/helm/DEVEL/ocaml-http/examples/webfsd.ml b/helm/DEVEL/ocaml-http/examples/webfsd.ml deleted file mode 100644 index c7a984b03..000000000 --- a/helm/DEVEL/ocaml-http/examples/webfsd.ml +++ /dev/null @@ -1,50 +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 def_port = 80 -let def_addr = "0.0.0.0" -let def_root = Sys.getcwd () - -let port = ref def_port -let addr = ref def_addr -let root = ref def_root -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"; - ] - -let _ = - Arg.parse argspec (fun _ -> ()) ""; - let spec = - { Http_daemon.default_spec with - address = !addr; - port = !port; - root_dir = Some !root - } - in - Http_daemon.Trivial.main spec - diff --git a/helm/DEVEL/ocaml-http/http_common.ml b/helm/DEVEL/ocaml-http/http_common.ml deleted file mode 100644 index affbdb23a..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-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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 6029a7031..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-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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 fa9f49536..000000000 --- a/helm/DEVEL/ocaml-http/http_constants.ml +++ /dev/null @@ -1,34 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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_auth = None -let default_callback = fun _ _ -> () -let default_mode = `Fork -let default_port = 80 -let default_root_dir = None -let default_exn_handler = Some (fun exn outchan -> ()) -let default_timeout = Some 300 - diff --git a/helm/DEVEL/ocaml-http/http_constants.mli b/helm/DEVEL/ocaml-http/http_constants.mli deleted file mode 100644 index 46db79067..000000000 --- a/helm/DEVEL/ocaml-http/http_constants.mli +++ /dev/null @@ -1,43 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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 *) - - (** 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 -val default_auth: (string * Http_types.auth_info) option -val default_callback: Http_types.request -> out_channel -> unit -val default_mode: Http_types.daemon_mode -val default_port: int -val default_root_dir: string option -val default_exn_handler: (exn -> out_channel -> unit) option -val default_timeout: int option - diff --git a/helm/DEVEL/ocaml-http/http_daemon.ml b/helm/DEVEL/ocaml-http/http_daemon.ml deleted file mode 100644 index 629d1286c..000000000 --- a/helm/DEVEL/ocaml-http/http_daemon.ml +++ /dev/null @@ -1,501 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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 - -exception Http_daemon_failure of string - - (** 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 = - [ "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 = - let body = - sprintf "401 - Unauthorized - Authentication failed for realm \"%s\"" realm - in - respond ~headers:["WWW-Authenticate", sprintf "Basic realm=\"%s\"" realm] - ~code:(`Code 401) ~body 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, _, _) - | Sys_error _ -> - 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 - parse_function inchan - with - | (Malformed_request req) as e -> - debug_print (pp_parse_exc e); - respond_error ~code:(`Code 400) - ~body:("request 1st line format should be: " ^ - "'<method> <url> <version>'" ^ - "
\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) - - (* 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 *) - -let handle_manual_auth outchan f = - try - f () - with - | Unauthorized realm -> respond_unauthorized ~realm outchan - | Again -> () - -let handle_auth req spec outchan = - try - (match (spec.auth, req#authorization) with - | None, _ -> spec.callback req outchan (* no auth required *) - | Some (realm, `Basic (spec_username, spec_password)), - Some (`Basic (username, password)) - when (username = spec_username) && (password = spec_password) -> - (* auth ok *) - spec.callback req outchan - | Some (realm, _), _ -> raise (Unauthorized realm)) (* auth failure *) - with - | Unauthorized realm -> respond_unauthorized ~realm outchan - | Again -> () - - (* TODO support also chroot to 'root', not only chdir *) - (* TODO deprecated: remove from future versions *) - (* curried request *) -let start - ?(addr = default_addr) ?(port = default_port) - ?(timeout = default_timeout) ?(mode = default_mode) ?root callback - = - Http_misc.warn - "Http_daemon.start is deprecated in favour of Http_daemon.main and will be removed in future versions of the library"; - chdir_to_document_root root; - let sockaddr = Http_misc.build_sockaddr (addr, port) in - let daemon_callback inchan outchan = - handle_manual_auth outchan (fun () -> - let (path, parameters) = safe_parse_request inchan outchan in - callback path parameters outchan; - flush outchan); - in - try - (server_of_mode mode) ~sockaddr ~timeout daemon_callback - with Quit -> () - - (* OO request *) - (* TODO deprecated: remove from future versions *) -let start' - ?(addr = default_addr) ?(port = default_port) - ?(timeout = default_timeout) ?(mode = default_mode) ?root callback -= - Http_misc.warn - "Http_daemon.start' is deprecated in favour of Http_daemon.main and will be removed in future versions of the library"; - chdir_to_document_root root; - let sockaddr = Http_misc.build_sockaddr (addr, port) in - let daemon_callback inchan outchan = - handle_manual_auth outchan (fun () -> - let req = safe_parse_request' inchan outchan in - callback req outchan; - flush outchan) - in - try - (server_of_mode mode) ~sockaddr ~timeout daemon_callback - with Quit -> () - -let main spec = - chdir_to_document_root spec.root_dir; - let sockaddr = Http_misc.build_sockaddr (spec.address, spec.port) in - let daemon_callback inchan outchan = - let next_req () = - try Some (safe_parse_request' inchan outchan) - with _ -> None - in - let rec loop n = - match next_req () with - | Some req -> - debug_print (sprintf "request #%d" n); - handle_auth req spec outchan; - flush outchan; - loop (n + 1) - | None -> - debug_print "server exiting"; - () - in - debug_print "server starting"; - try loop 1 - with exn -> - debug_print (sprintf "uncaught exception: %s" (Printexc.to_string exn)); - (match spec.exn_handler with - | Some f -> - debug_print "executing handler"; - f exn outchan - | None -> - debug_print "no handler given: re-raising"; - raise exn) - in - try - (server_of_mode spec.mode) ~sockaddr ~timeout:spec.timeout daemon_callback - with Quit -> () - -module Trivial = - struct - let heading_slash_RE = Pcre.regexp "^/" - - let trivial_callback req outchan = - let path = req#path in - if not (Pcre.pmatch ~rex:heading_slash_RE path) then - respond_error ~code:(`Code 400) outchan - else - respond_file ~fname:(Http_misc.strip_heading_slash path) outchan - - let callback = trivial_callback - - let main spec = main { spec with callback = trivial_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 = try o#close with Http_daemon_failure _ -> () in - object (self) - - initializer Gc.finalise close' self - - val mutable closed = false - - method private assertNotClosed = - if closed then - raise (Http_daemon_failure - "Http_daemon.connection: connection is closed") - - method getRequest = - self#assertNotClosed; - try - Some (safe_parse_request' inchan outchan) - with _ -> 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 - -open Http_constants - -let default_spec = { - address = default_addr; - auth = default_auth; - callback = default_callback; - mode = default_mode; - port = default_port; - root_dir = default_root_dir; - exn_handler = default_exn_handler; - timeout = default_timeout; -} - -let daemon_spec - ?(address = default_addr) ?(auth = default_auth) - ?(callback = default_callback) ?(mode = default_mode) ?(port = default_port) - ?(root_dir = default_root_dir) ?(exn_handler = default_exn_handler) - ?(timeout = default_timeout) - () -= - { default_spec with - address = address; - auth = auth; - callback = callback; - mode = mode; - port = port; - root_dir = root_dir; - exn_handler = exn_handler; - timeout = timeout; - } - diff --git a/helm/DEVEL/ocaml-http/http_daemon.mli b/helm/DEVEL/ocaml-http/http_daemon.mli deleted file mode 100644 index 59a408d87..000000000 --- a/helm/DEVEL/ocaml-http/http_daemon.mli +++ /dev/null @@ -1,205 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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 - - (** start an HTTP daemon - * @param spec specification of daemon behaviour - *) -val main: Http_types.daemon_spec -> unit - - (** default daemon specification: - * - listen on 0.0.0.0, port 80 - * - "always ok" callback (return an empty response, response code 200) - * - fork a child for each request - * - do not change to a root directory (i.e. keep cwd) - * - 300 seconds timeout - * - ignores exceptions - * - no authentication required *) -val default_spec: Http_types.daemon_spec - - (** currified daemon_spec constructor. Each parameter of this function - * corresponds to one field of Http_types.daemon_spec and defaults to the - * corresponding field of Http_daemon.default_spec *) -val daemon_spec: - ?address:string -> - ?auth:(string * Http_types.auth_info) option -> - ?callback:(Http_types.request -> out_channel -> unit) -> - ?mode:(Http_types.daemon_mode) -> - ?port:int -> - ?root_dir:string option -> - ?exn_handler:(exn -> out_channel -> unit) option -> - ?timeout:int option -> - unit -> - Http_types.daemon_spec - - (** starts an HTTP daemon (deprecated function) - * - * @deprecated This function will be removed in future versions, please switch - * to Http_daemon.main below. - * - * see {!Http_types.daemon_spec} for a detailed description of parameters - * - * @param addr like the "address" field of Http_types.daemon_spec, defaults to - * the wildcard address "0.0.0.0" - * @param port like the "port" field of Http_types.daemon_spec, defaults to 80 - * @param timeout like the "timeout" field of Http_types.daemon_spec, defaults - * to Some 300 - * @param mode like the "mode" field of Http_types.daemon_spec, defaults to - * `Fork - * @param root like the "root_dir" field of Http_types.daemon_spec, defaults to - * None - * @param callback functional version of the "callback" field of - * Http_types.daemon_spec. 1st argument is the request path, 2nd argument - * the decoded query string, 3rd argument an output channel connect to 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 - - (** starts an HTTP daemon (deprecated function) - * - * @deprecated This function will be removed in future versions, please switch - * to Http_daemon.main below. - * - * parameters as per {!Http_daemon.start} except for the callback, in this case - * it behaves as the "callback" field of Http_types.daemon_spec - *) -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 : Http_types.request -> out_channel -> unit - - (** start the "trivial" HTTP daemon - * @param spec trivial HTTP daemon specification, "callback" field is - * ignored and set to the callback above *) - val main : Http_types.daemon_spec -> 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 5dc0f0472..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-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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 0a30b3eec..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-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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 abe6702c2..000000000 --- a/helm/DEVEL/ocaml-http/http_misc.ml +++ /dev/null @@ -1,146 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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_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)) - -let warn msg = prerr_endline (sprintf "ocaml-http WARNING: %s" msg) -let error msg = prerr_endline (sprintf "ocaml-http ERROR: %s" msg) - diff --git a/helm/DEVEL/ocaml-http/http_misc.mli b/helm/DEVEL/ocaml-http/http_misc.mli deleted file mode 100644 index b6e28e2bc..000000000 --- a/helm/DEVEL/ocaml-http/http_misc.mli +++ /dev/null @@ -1,88 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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 - -val warn: string -> unit (** print a warning msg to stderr. Adds trailing \n *) -val error: string -> unit (** print an error msg to stderr. Adds trailing \n *) - diff --git a/helm/DEVEL/ocaml-http/http_parser.ml b/helm/DEVEL/ocaml-http/http_parser.ml deleted file mode 100644 index af371bb1e..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-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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 58e616bd7..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-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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 7fe08cf93..000000000 --- a/helm/DEVEL/ocaml-http/http_parser_sanity.ml +++ /dev/null @@ -1,115 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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_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 = -{ - Neturl.url_enable_scheme = Neturl.Url_part_not_recognized; - url_enable_user = Neturl.Url_part_not_recognized; - url_enable_user_param = Neturl.Url_part_not_recognized; - url_enable_password = Neturl.Url_part_not_recognized; - url_enable_host = Neturl.Url_part_not_recognized; - url_enable_port = Neturl.Url_part_not_recognized; - url_enable_path = Neturl.Url_part_required; - url_enable_param = Neturl.Url_part_not_recognized; - url_enable_query = Neturl.Url_part_allowed; - url_enable_fragment = Neturl.Url_part_not_recognized; - url_enable_other = Neturl.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 - Neturl.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 a869f182f..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-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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 cd2dcd165..000000000 --- a/helm/DEVEL/ocaml-http/http_request.ml +++ /dev/null @@ -1,145 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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: meth option) ?(default: string option) name = - try - (match meth with - | None -> Hashtbl.find params_tbl name - | Some `GET -> List.assoc name query_get_params - | Some `POST -> List.assoc name query_post_params) - with Not_found -> - (match default with - | None -> raise (Param_not_found name) - | Some value -> value) - 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 23da0cc9b..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-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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 58308d307..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-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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 694eb22c0..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-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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 cbe01add1..000000000 --- a/helm/DEVEL/ocaml-http/http_tcp_server.ml +++ /dev/null @@ -1,172 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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 - - (** try to close an outchannel connected to a socket, ignore Sys_error since - * this probably means that socket is already closed (e.g. on sigpipe) *) -let try_close_out ch = try close_out ch with Sys_error _ -> () - - (** 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; - try_close_out outchan; (* closes also inchan: socket is the same *) - 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 - - (** tcp_server which forks a new process for each request *) -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 -> ()); - try_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 - with - | Timeout -> () - | e -> - try_close_out o; - raise e); - try_close_out o - 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 - - (** @param server an Http_types.tcp_server - * @return an Http_types.tcp_server which takes care of ignoring SIGPIPE during - * server execution and restoring previous handler when (if ever) the server - * returns *) -let handle_sigpipe server = - fun ~sockaddr ~timeout callback -> - let old_sigpipe_behavior = Sys.signal Sys.sigpipe Sys.Signal_ignore in - server ~sockaddr ~timeout callback; - ignore (Sys.signal Sys.sigpipe old_sigpipe_behavior) - -let simple = handle_sigpipe simple -let thread = handle_sigpipe thread -let fork = handle_sigpipe fork - 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 e94f84f95..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-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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 6504f7e01..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-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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 5c88b212e..000000000 --- a/helm/DEVEL/ocaml-http/http_types.ml +++ /dev/null @@ -1,219 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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 *) - -type version = [ `HTTP_1_0 | `HTTP_1_1 ] -type meth = [ `GET | `POST ] -type daemon_mode = [ `Single | `Fork | `Thread ] - -type tcp_server = - sockaddr:Unix.sockaddr -> timeout:int option -> - (in_channel -> out_channel -> unit) -> - unit - -type auth_info = - [ `Basic of string * string (* username, password *) - ] - -type informational_substatus = - [ `Continue - | `Switching_protocols - ] -type success_substatus = - [ `OK - | `Created - | `Accepted - | `Non_authoritative_information - | `No_content - | `Reset_content - | `Partial_content - ] -type redirection_substatus = - [ `Multiple_choices - | `Moved_permanently - | `Found - | `See_other - | `Not_modified - | `Use_proxy - | `Temporary_redirect - ] -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 - ] -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 - ] -type status = - [ informational_status - | success_status - | redirection_status - | client_error_status - | server_error_status - ] - -type status_code = [ `Code of int | `Status of status ] - -type file_source = - | FileSrc of string - | InChanSrc of in_channel - -exception Invalid_header of string -exception Invalid_header_name of string -exception Invalid_header_value of string -exception Invalid_HTTP_version of string -exception Invalid_HTTP_method of string -exception Invalid_code of int -exception Malformed_URL of string -exception Malformed_query of string -exception Malformed_query_part of string * string -exception Malformed_request_URI of string -exception Malformed_request of string -exception Malformed_response of string -exception Param_not_found of string -exception Invalid_status_line of string -exception Header_not_found of string -exception Quit -exception Unauthorized of string - -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 - -class type request = object - inherit message - method meth: meth - method uri: string - method path: string - method param: ?meth:meth -> ?default:string -> string -> string - method paramAll: ?meth:meth -> string -> string list - method params: (string * string) list - method params_GET: (string * string) list - method params_POST: (string * string) list - method authorization: auth_info option - end - -class type response = object - inherit message - method code: int - method setCode: int -> unit - method status: status - method setStatus: status -> unit - method reason: string - method setReason: string -> unit - method statusLine: string - method setStatusLine: string -> unit - method isInformational: bool - method isSuccess: bool - method isRedirection: bool - method isClientError: bool - method isServerError: bool - method isError: bool - method addBasicHeaders: unit - method contentType: string - method setContentType: string -> unit - method contentEncoding: string - method setContentEncoding: string -> unit - method date: string - method setDate: string -> unit - method expires: string - method setExpires: string -> unit - method server: string - method setServer: string -> unit - end - -class type connection = - object - method getRequest: request option - method respond_with: response -> unit - method close: unit - end -class type daemon = - object - method accept: connection - method getRequest: request * connection - end - -type daemon_spec = { - address: string; - auth: (string * auth_info) option; - callback: request -> out_channel -> unit; - mode: daemon_mode; - port: int; - root_dir: string option; - exn_handler: (exn -> out_channel -> unit) option; - timeout: int option; -} - diff --git a/helm/DEVEL/ocaml-http/http_types.mli b/helm/DEVEL/ocaml-http/http_types.mli deleted file mode 100644 index 8d5832655..000000000 --- a/helm/DEVEL/ocaml-http/http_types.mli +++ /dev/null @@ -1,451 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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 *) *) - ] - - (** @see "RFC2616" informational HTTP status *) -type informational_substatus = - [ `Continue - | `Switching_protocols - ] - - (** @see "RFC2616" success HTTP status *) -type success_substatus = - [ `OK - | `Created - | `Accepted - | `Non_authoritative_information - | `No_content - | `Reset_content - | `Partial_content - ] - - (** @see "RFC2616" redirection HTTP status *) -type redirection_substatus = - [ `Multiple_choices - | `Moved_permanently - | `Found - | `See_other - | `Not_modified - | `Use_proxy - | `Temporary_redirect - ] - - (** @see "RFC2616" client error HTTP status *) -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 - ] - - (** @see "RFC2616" server error HTTP status *) -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 default if provided, this value will be returned in case no - parameter of that name is available instead of raising Param_not_found - @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 -> ?default:string -> 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 *) - 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 Daemon specification} *) - - (** daemon specification, describe the behaviour of an HTTP daemon. - * - * The default daemon specification is {!Http_daemon.default_spec} - *) -type daemon_spec = { - address: string; - (** @param address 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") *) - auth: (string * auth_info) option; - (** authentication requirements (currently only basic authentication is - * supported). If set to None no authentication is required. If set to Some - * ("realm", `Basic ("foo", "bar")), only clients authenticated with baisc - * authentication, for realm "realm", providing username "foo" and password - * "bar" are accepted; others are rejected with a 401 response code *) - callback: request -> out_channel -> unit; - (** function which will be called each time a correct HTTP request will be - * received. 1st callback argument is an Http_types.request object - * corresponding to the request received; 2nd argument is an output channel - * corresponding to the socket connected to the client *) - mode: daemon_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 child process, - * - `Thread -> each request will be handled by a (new) thread *) - port: int; (** TCP port on which the daemon will be listening *) - root_dir: string option; - (** directory to which ocaml http will chdir before starting handling - * requests; if None, no chdir will be performed (i.e. stay in the current - * working directory) *) - exn_handler: (exn -> out_channel -> unit) option; - (** what to do when executing callback raises an exception. If None, the - * exception will be re-raised: in `Fork/`Thread mode the current - * process/thread will be terminated. in `Single mode the exception is - * ignored and the client socket closed. If Some callback, the callback will - * be executed before acting as per None; the callback is meant to perform - * some clean up actions, like releasing global mutexes in `Thread mode *) - timeout: int option; - (** timeout in seconds after which an incoming HTTP request will be - * terminated closing the corresponding TCP connection; None disable the - * timeout *) -} - - (** {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 f5317d685..000000000 --- a/helm/DEVEL/ocaml-http/http_user_agent.ml +++ /dev/null @@ -1,101 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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 ?(head_callback = fun _ _ -> ()) 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, ""))); - let headers = Http_parser.parse_headers inchan in - head_callback status headers; - (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 ?head_callback url = - let buf = Buffer.create 10240 in - get_iter ?head_callback (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 79f2d696e..000000000 --- a/helm/DEVEL/ocaml-http/http_user_agent.mli +++ /dev/null @@ -1,53 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2005> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Library General Public License as - published by the Free Software Foundation, version 2. - - 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 Library General Public License for more details. - - You should have received a copy of the GNU Library 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 *) - -open Http_types - -exception Http_error of (int * string) (* code, body *) - - (** @param head_callback optional calllback invoked on response's status and - * headers. If not provided no callback will be invoked - * @param url an HTTP url - * @return HTTP response's body - * @raise Http_error when response code <> 200 *) -val get: - ?head_callback:(status -> (string * string) list -> unit) -> - string -> - string - - (** as above but iter callback function on HTTP response's body instead of - * returning it as a string *) -val get_iter: - ?head_callback:(status -> (string * string) list -> unit) -> - (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 5cb7556b6..000000000 --- a/helm/Makefile +++ /dev/null @@ -1,18 +0,0 @@ -DIRS = ocaml matita -# 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 9f01b7ae56a99f46c91c897315a822ee4ef873a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4096 zcmZQzK!8M1HU?G@SAc z4RQcsT;?ZiU|`^Y1rjbr)DfqTEflyl66nGi_ktWi7@skQKy?buE*u2})ZsIO9J#?3 zfXL~~3WtXdY$7Xt4K}ah@EvKw$l--c=ZDRs;ROpDV!}&dD>>mcERz=lG2s;etaV1q zdq@f!E$?ADjW`-Pec>waH|!uQeGSVDi5y.depend - $(COQDEP) $(COQLIBS) -suffix .html *.v >>.depend - -xml:: - -install: - mkdir -p `$(COQC) -where`/user-contrib - cp -f *.vo `$(COQC) -where`/user-contrib - -Makefile: Make - mv -f Makefile Makefile.bak - $(COQBIN)coq_makefile -f Make -o Makefile - -clean: - rm -f *.cmo *.cmi *.cmx *.o *.vo *.vi *.g *~ - rm -f all.ps all-gal.ps $(HTMLFILES) $(GHTMLFILES) - -archclean: - rm -f *.cmx *.o - -# WARNING -# -# This Makefile has been automagically generated by coq_makefile -# Edit at your own risks ! -# -# END OF WARNING - diff --git a/helm/coq-contribs/LAMBDA-TYPES/README b/helm/coq-contribs/LAMBDA-TYPES/README deleted file mode 100644 index 6a5bf7e0f..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/README +++ /dev/null @@ -1,61 +0,0 @@ - - Contribution Bologna/LAMBDA-TYPES - ================================== - -This directory contains a formalization in Coq of "lambda-delta", a -lambda-typed lambda-calculus with abbreviations. - -Author & Date: Ferruccio Guidi - Department of Computer Science, University of Bologna - March 2005 -E-mail : fguidi@cs.unibo.it -WWW : http://www.cs.unibo.it/~fguidi - -Installation procedure: ------------------------ - - To get this contribution compiled, type - - make - - or - - make opt - - The main modules produced by the compilation are: - - LambdaDelta provides the theory of the "lambda-delta" calculus - and its prerequisites - - Base provides just the prerequisites (mainly some arithmetic - properties missing in the standard library of Coq) - -Description: ------------- - - The present work, which is meant to be improved in the future, contains - a formalization of the "lambda-delta" calculus, defined in "item notation" - and with De Bruijn indices, and includes the proofs of some standard - properties of this calculus. In particular the user will find: - - - Confluence of reduction - - Generation lemma - - Thinning lemma - - Substitution lemma - - Type Correctness - - Type Uniqueness - - Subject Reduction - - Other properties to be added in the future versions of this contribution - include (but are not limited to): - - - Strong Normalization - - Decidability of Type Inference and Type Checking - -Further information on this contribution: ------------------------------------------ - - The latest version of this development is maintained in the CVS repository - of the HELM project and can be downloaded at: - - www.cs.unibo.it/cgi-bin/viewcvs.cgi/helm/coq-contribs/LAMBDA-TYPES diff --git a/helm/coq-contribs/LAMBDA-TYPES/base_blt.v b/helm/coq-contribs/LAMBDA-TYPES/base_blt.v deleted file mode 100644 index ae00365c6..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/base_blt.v +++ /dev/null @@ -1,33 +0,0 @@ -Require Arith. -Require base_tactics. -Require base_hints. - -(*#* #stop file *) - - Fixpoint blt [m,n: nat] : bool := Cases n m of - | (0) m => false - | (S n) (0) => true - | (S n) (S m) => (blt m n) - end. - - Section blt_props. (******************************************************) - - Theorem lt_blt: (x,y:?) (lt y x) -> (blt y x) = true. - XElim x; [ Intros; Inversion H | XElim y; Simpl; XAuto ]. - Qed. - - Theorem le_bge: (x,y:?) (le x y) -> (blt y x) = false. - XElim x; [ XAuto | XElim y; Intros; [ Inversion H0 | Simpl; XAuto ] ]. - Qed. - - Theorem blt_lt: (x,y:?) (blt y x) = true -> (lt y x). - XElim x; [ Intros; Inversion H | XElim y; Simpl; XAuto ]. - Qed. - - Theorem bge_le: (x,y:?) (blt y x) = false -> (le x y). - XElim x; [ XAuto | XElim y; Intros; [ Inversion H0 | Simpl; XAuto ] ]. - Qed. - - End blt_props. - - Hints Resolve lt_blt le_bge : ltlc. diff --git a/helm/coq-contribs/LAMBDA-TYPES/base_hints.v b/helm/coq-contribs/LAMBDA-TYPES/base_hints.v deleted file mode 100644 index a364406a3..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/base_hints.v +++ /dev/null @@ -1,262 +0,0 @@ -(*#* #stop file *) - -Require Arith. -Require base_tactics. - -(* eq ***********************************************************************) - -Hint eq : ltlc := Constructors eq. - -Hint f1N : ltlc := Resolve (f_equal nat). - -Hint f2NN : ltlc := Resolve (f_equal2 nat nat). - -Hints Resolve sym_equal : ltlc. - -Hints Resolve plus_sym plus_n_Sm plus_assoc_r simpl_plus_l : ltlc. - -Hints Resolve minus_n_O : ltlc. - -(* le ***********************************************************************) - -Hint le : ltlc := Constructors le. - -Hints Resolve le_O_n le_n_S le_S_n le_trans : ltlc. - -Hints Resolve lt_le_S : ltlc. - -Hints Resolve le_plus_plus le_plus_trans le_plus_l le_plus_r : ltlc. - -(* lt ***********************************************************************) - -Hints Resolve lt_trans : ltlc. - -Hints Resolve lt_le_trans le_lt_n_Sm : ltlc. - -Hints Resolve lt_reg_r lt_le_plus_plus le_lt_plus_plus : ltlc. - -(* not **********************************************************************) - -Hints Resolve sym_not_equal : ltlc. - -(* missing in the standard library ******************************************) - - Theorem simpl_plus_r: (n,m,p:?) (plus m n) = (plus p n) -> m = p. - Intros. - Apply (simpl_plus_l n). - Rewrite plus_sym. - Rewrite H; XAuto. - Qed. - - Theorem minus_plus_r: (m,n:?) (minus (plus m n) n) = m. - Intros. - Rewrite plus_sym. - Apply minus_plus. - Qed. - - Theorem plus_permute_2_in_3: (x,y,z:?) (plus (plus x y) z) = (plus (plus x z) y). - Intros. - Rewrite plus_assoc_r. - Rewrite (plus_sym y z). - Rewrite <- plus_assoc_r; XAuto. - Qed. - - Theorem plus_permute_2_in_3_assoc: (n,h,k:?) (plus (plus n h) k) = (plus n (plus k h)). - Intros. - Rewrite plus_permute_2_in_3; Rewrite plus_assoc_l; XAuto. - Qed. - - Theorem plus_O: (x,y:?) (plus x y) = (0) -> x = (O) /\ y = (O). - XElim x; [ XAuto | Intros; Inversion H0 ]. - Qed. - - Theorem minus_Sx_SO: (x:?) (minus (S x) (1)) = x. - Intros; Simpl; Rewrite <- minus_n_O; XAuto. - Qed. - - Theorem eq_nat_dec: (i,j:nat) ~i=j \/ i=j. - XElim i; XElim j; Intros; XAuto. - Elim (H n0); XAuto. - Qed. - - Theorem neq_eq_e: (i,j:nat; P:Prop) (~i=j -> P) -> (i=j -> P) -> P. - Intros. - Pose (eq_nat_dec i j). - XElim o; XAuto. - Qed. - - Theorem le_false: (m,n:?; P:Prop) (le m n) -> (le (S n) m) -> P. - XElim m. -(* case 1 : m = 0 *) - Intros; Inversion H0. -(* case 2 : m > 0 *) - XElim n0; Intros. -(* case 2.1 : n = 0 *) - Inversion H0. -(* case 2.2 : n > 0 *) - Simpl in H1. - Apply (H n0); XAuto. - Qed. - - Theorem le_plus_minus_sym: (n,m:?) (le n m) -> m = (plus (minus m n) n). - Intros. - Rewrite plus_sym; Apply le_plus_minus; XAuto. - Qed. - - Theorem le_minus_minus: (x,y:?) (le x y) -> (z:?) (le y z) -> - (le (minus y x) (minus z x)). - Intros. - EApply simpl_le_plus_l. - Rewrite le_plus_minus_r; [ Idtac | XAuto ]. - Rewrite le_plus_minus_r; XEAuto. - Qed. - - Theorem le_minus_plus: (z,x:?) (le z x) -> (y:?) - (minus (plus x y) z) = (plus (minus x z) y). - XElim z. -(* case 1 : z = 0 *) - Intros x H; Inversion H; XAuto. -(* case 2 : z > 0 *) - Intros z; XElim x; Intros. -(* case 2.1 : x = 0 *) - Inversion H0. -(* case 2.2 : x > 0 *) - Simpl; XAuto. - Qed. - - Theorem le_minus: (x,z,y:?) (le (plus x y) z) -> (le x (minus z y)). - Intros. - Rewrite <- (minus_plus_r x y); XAuto. - Apply le_minus_minus; XAuto. - Qed. - - Theorem le_trans_plus_r: (x,y,z:?) (le (plus x y) z) -> (le y z). - Intros. - EApply le_trans; [ EApply le_plus_r | Idtac ]; XEAuto. - Qed. - - Theorem le_gen_S: (m,x:?) (le (S m) x) -> - (EX n | x = (S n) & (le m n)). - Intros; Inversion H; XEAuto. - Qed. - - Theorem lt_x_plus_x_Sy: (x,y:?) (lt x (plus x (S y))). - Intros; Rewrite plus_sym; Simpl; XAuto. - Qed. - - Theorem simpl_lt_plus_r: (p,n,m:?) (lt (plus n p) (plus m p)) -> (lt n m). - Intros. - EApply simpl_lt_plus_l. - Rewrite plus_sym in H; Rewrite (plus_sym m p) in H; Apply H. - Qed. - - Theorem minus_x_Sy: (x,y:?) (lt y x) -> - (minus x y) = (S (minus x (S y))). - XElim x. -(* case 1 : x = 0 *) - Intros; Inversion H. -(* case 2 : x > 0 *) - XElim y; Intros; Simpl. -(* case 2.1 : y = 0 *) - Rewrite <- minus_n_O; XAuto. -(* case 2.2 : y > 0 *) - Cut (lt n0 n); XAuto. - Qed. - - Theorem lt_plus_minus: (x,y:?) (lt x y) -> - y = (S (plus x (minus y (S x)))). - Intros. - Apply (le_plus_minus (S x) y); XAuto. - Qed. - - Theorem lt_plus_minus_r: (x,y:?) (lt x y) -> - y = (S (plus (minus y (S x)) x)). - Intros. - Rewrite plus_sym; Apply lt_plus_minus; XAuto. - Qed. - - Theorem minus_x_SO: (x:?) (lt (0) x) -> x = (S (minus x (1))). - Intros. - Rewrite <- minus_x_Sy; [ Rewrite <- minus_n_O; XEAuto | XEAuto ]. - Qed. - - Theorem lt_le_minus: (x,y:?) (lt x y) -> (le x (minus y (1))). - Intros; Apply le_minus; Rewrite plus_sym; Simpl; XAuto. - Qed. - - Theorem lt_le_e: (n,d:?; P:Prop) - ((lt n d) -> P) -> ((le d n) -> P) -> P. - Intros. - Cut (le d n) \/ (lt n d); [ Intros H1; XElim H1; XAuto | Apply le_or_lt ]. - Qed. - - Theorem lt_eq_e: (x,y:?; P:Prop) ((lt x y) -> P) -> - (x = y -> P) -> (le x y) -> P. - Intros. - LApply (le_lt_or_eq x y); [ Clear H1; Intros H1 | XAuto ]. - XElim H1; XAuto. - Qed. - - Theorem lt_eq_gt_e: (x,y:?; P:Prop) ((lt x y) -> P) -> - (x = y -> P) -> ((lt y x) -> P) -> P. - Intros. - Apply (lt_le_e x y); [ XAuto | Intros ]. - Apply (lt_eq_e y x); XAuto. - Qed. - - Theorem lt_gen_S': (x,n:?) (lt x (S n)) -> - x = (0) \/ (EX m | x = (S m) & (lt m n)). - XElim x; XEAuto. - Qed. - -Hints Resolve le_lt_trans : ltlc. - -Hints Resolve simpl_plus_r minus_plus_r minus_x_Sy - plus_permute_2_in_3 plus_permute_2_in_3_assoc : ltlc. - -Hints Resolve le_minus_minus le_minus_plus le_minus le_trans_plus_r : ltlc. - -Hints Resolve lt_x_plus_x_Sy simpl_lt_plus_r lt_le_minus lt_plus_minus - lt_plus_minus_r : ltlc. - - Theorem lt_neq: (x,y:?) (lt x y) -> ~x=y. - Unfold not; Intros; Rewrite H0 in H; Clear H0 x. - LApply (lt_n_n y); XAuto. - Qed. - -Hints Resolve lt_neq : ltlc. - - Theorem arith0: (h2,d2,n:?) (le (plus d2 h2) n) -> - (h1:?) (le (plus d2 h1) (minus (plus n h1) h2)). - Intros. - Rewrite <- (minus_plus h2 (plus d2 h1)). - Apply le_minus_minus; [ XAuto | Idtac ]. - Rewrite plus_assoc_l; Rewrite (plus_sym h2 d2); XAuto. - Qed. - -Hints Resolve arith0 : ltlc. - - Tactic Definition EqFalse := - Match Context With - [ H: ~?1=?1 |- ? ] -> - LApply H; [ Clear H; Intros H; Inversion H | XAuto ]. - - Tactic Definition PlusO := - Match Context With - | [ H: (plus ?0 ?1) = (0) |- ? ] -> - LApply (plus_O ?0 ?1); [ Clear H; Intros H | XAuto ]; - XElim H; Intros. - - Tactic Definition SymEqual := - Match Context With - | [ H: ?1 = ?2 |- ? ] -> - Cut ?2 = ?1; [ Clear H; Intros H | Apply sym_equal; XAuto ]. - - Tactic Definition LeLtGen := - Match Context With - | [ H: (le (S ?1) ?2) |- ? ] -> - LApply (le_gen_S ?1 ?2); [ Clear H; Intros H | XAuto ]; - XElim H; Intros - | [ H: (lt ?1 (S ?2)) |- ? ] -> - LApply (lt_gen_S' ?1 ?2); [ Clear H; Intros H | XAuto ]; - XElim H; [ Intros | Intros H; XElim H; Intros ]. diff --git a/helm/coq-contribs/LAMBDA-TYPES/base_rewrite.v b/helm/coq-contribs/LAMBDA-TYPES/base_rewrite.v deleted file mode 100644 index 68490ee3f..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/base_rewrite.v +++ /dev/null @@ -1,76 +0,0 @@ -(*#* #stop file *) - -Require Arith. - - Tactic Definition Arith0 x := - Replace (S x) with (plus (1) x); XAuto. - - Tactic Definition Arith1 x := - Replace x with (plus x (0)); [XAuto | Auto with arith]. - - Tactic Definition Arith1In H x := - XReplaceIn H x '(plus x (0)). - - Tactic Definition Arith2 x := - Replace x with (plus (0) x); XAuto. - - Tactic Definition Arith3 x := - Replace (S x) with (S (plus (0) x)); XAuto. - - Tactic Definition Arith3In H x := - XReplaceIn H '(S x) '(S (plus (0) x)). - - Tactic Definition Arith4 x y := - Replace (S (plus x y)) with (plus (S x) y); XAuto. - - Tactic Definition Arith4In H x y := - XReplaceIn H '(S (plus x y)) '(plus (S x) y). - - Tactic Definition Arith4c x y := - Arith4 x y; Rewrite plus_sym. - - Tactic Definition Arith5 x y := - Replace (S (plus x y)) with (plus x (S y)); Auto with arith. - - Tactic Definition Arith5In H x y := - XReplaceIn H '(S (plus x y)) '(plus x (S y)); Auto with arith. - - Tactic Definition Arith5' x y := - Replace (plus x (S y)) with (S (plus x y)); Auto with arith. - - Tactic Definition Arith5'In H x y := - XReplaceIn H '(plus x (S y)) '(S (plus x y)); Auto with arith. - - Tactic Definition Arith5'c x y := - Arith5' x y; Rewrite plus_sym. - - Tactic Definition Arith6In H x y := - XReplaceIn H '(plus x (S y)) '(plus (1) (plus x y)); - [ Idtac | Simpl; Auto with arith ]. - - Tactic Definition Arith7 x := - Replace (S x) with (plus x (1)); - [ Idtac | Rewrite plus_sym; Auto with arith ]. - - Tactic Definition Arith7In H x := - XReplaceIn H '(S x) '(plus x (1)) ; - [ Idtac | Rewrite plus_sym; Auto with arith ]. - - Tactic Definition Arith7' x := - Replace (plus x (1)) with (S x); - [ Idtac | Rewrite plus_sym; Auto with arith ]. - - Tactic Definition Arith8 x y := - Replace x with (plus y (minus x y)); - [ Idtac | Auto with arith ]. - - Tactic Definition Arith8' x y := - Replace (plus y (minus x y)) with x; - [ Idtac | Auto with arith ]. - - Tactic Definition Arith9'In H x := - XReplaceIn H '(S (plus x (0))) '(S x). - - Tactic Definition Arith10 x := - Replace x with (minus (S x) (1)); - [ Idtac | Simpl; Rewrite <- minus_n_O; Auto with arith ]. diff --git a/helm/coq-contribs/LAMBDA-TYPES/base_tactics.v b/helm/coq-contribs/LAMBDA-TYPES/base_tactics.v deleted file mode 100644 index daa6facca..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/base_tactics.v +++ /dev/null @@ -1,45 +0,0 @@ -(*#* #stop file *) - - Tactic Definition XAuto := Auto with ltlc. - - Tactic Definition XEAuto := EAuto with ltlc. - - Tactic Definition XDEAuto d := EAuto d with ltlc. - - Tactic Definition XElimUsing e v := - Try Intros until v; Elim v using e; Try Clear v. - - Tactic Definition XElim v := Try Intros until v; Elim v; Try Clear v. - - Tactic Definition XCase v := Try Intros until v; Case v; Try Clear v. - - Tactic Definition XReplaceIn Z0 y1 y2 := - Cut y1=y2; [ Intros Z; Rewrite Z in Z0; Clear Z | XAuto ]. - - Theorem insert_eq: (S:Set; x:S; P:S->Prop; G:Prop) - ((y:S) (P y) -> y = x -> G) -> (P x) -> G. - EAuto. Qed. - - Tactic Definition InsertEq H y := - Pattern 1 y in H; Match Context With [ _: (?1 y) |- ? ] -> - Apply insert_eq with x:=y P:=?1; - [ Clear H; Intros until 1 | Pattern y; Apply H ]. - - Theorem unintro : (A:Set; a:A; P:A->Prop) ((x:A) (P x)) -> (P a). - Auto. - Qed. - - Tactic Definition UnIntro Last H := - Move H after Last; - Match Context With [ y: ?1 |- ?2 ] -> - Apply (unintro ?1 y); Clear y. - - Tactic Definition NonLinear := - Match Context With - [ H: ?1 |- ? ] -> Cut ?1; [ Intros | XAuto ]. - - Tactic Definition XRewrite x := - Match Context With - | [ H0: x = ? |- ? ] -> Try Rewrite H0 - | [ H0: ? = x |- ? ] -> Try Rewrite <- H0 - | _ -> Idtac. diff --git a/helm/coq-contribs/LAMBDA-TYPES/base_types.v b/helm/coq-contribs/LAMBDA-TYPES/base_types.v deleted file mode 100644 index f24ef915a..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/base_types.v +++ /dev/null @@ -1,206 +0,0 @@ -(* This file was generated by coqgen *) - -Require base_tactics. -Require base_hints. - -(*#* #stop file *) - -(* extensions for ex2 *) - -Syntactic Definition ex2_intro := ex_intro2. - -Theorem ex2_sym: (A:Set; P,Q:A->Prop) - (EX x | (P x) & (Q x)) -> (EX x | (Q x) & (P x)). - Intros; XElim H; XEAuto. - Qed. - -Hints Resolve ex2_sym : ltlc. - -(* or3 *) - -Inductive or3 [P0,P1,P2:Prop] : Prop := - | or3_intro0 : P0 -> (or3 P0 P1 P2) - | or3_intro1 : P1 -> (or3 P0 P1 P2) - | or3_intro2 : P2 -> (or3 P0 P1 P2). - -Hint or3 : ltlc := Constructors or3. - -Grammar constr constr10 := - | or3 - [ "OR" constr($c0) "|" constr($c1) "|" constr($c2) ] -> - [ (or3 $c0 $c1 $c2) ]. - -(* or4 *) - -Inductive or4 [P0,P1,P2,P3:Prop] : Prop := - | or4_intro0 : P0 -> (or4 P0 P1 P2 P3) - | or4_intro1 : P1 -> (or4 P0 P1 P2 P3) - | or4_intro2 : P2 -> (or4 P0 P1 P2 P3) - | or4_intro3 : P3 -> (or4 P0 P1 P2 P3). - -Hint or4 : ltlc := Constructors or4. - -Grammar constr constr10 := - | or4 - [ "OR" constr($c0) "|" constr($c1) "|" constr($c2) "|" constr($c3) ] -> - [ (or4 $c0 $c1 $c2 $c3) ]. - -(* ex2_2 *) - -Inductive ex2_2 [A0,A1:Set; P0,P1:A0->A1->Prop] : Prop := - ex2_2_intro : (x0:A0; x1:A1)(P0 x0 x1)->(P1 x0 x1)->(ex2_2 A0 A1 P0 P1). - -Hint ex2_2 : ltlc := Constructors ex2_2. - -Syntactic Definition Ex2_2 := ex2_2 | 1. - -Grammar constr constr10 := - | ex2_2implicit - [ "EX" ident($v0) ident($v1) "|" constr($c0) "&" constr($c1) ] -> - [ (ex2_2 ? ? [$v0;$v1]$c0 [$v0;$v1]$c1) ]. - -(* ex3_2 *) - -Inductive ex3_2 [A0,A1:Set; P0,P1,P2:A0->A1->Prop] : Prop := - ex3_2_intro : (x0:A0; x1:A1)(P0 x0 x1)->(P1 x0 x1)->(P2 x0 x1)->(ex3_2 A0 A1 P0 P1 P2). - -Hint ex3_2 : ltlc := Constructors ex3_2. - -Syntactic Definition Ex3_2 := ex3_2 | 1. - -Grammar constr constr10 := - | ex3_2implicit - [ "EX" ident($v0) ident($v1) "|" constr($c0) "&" constr($c1) "&" constr($c2) ] -> - [ (ex3_2 ? ? [$v0;$v1]$c0 [$v0;$v1]$c1 [$v0;$v1]$c2) ]. - -(* ex_3 *) - -Inductive ex_3 [A0,A1,A2:Set; P0:A0->A1->A2->Prop] : Prop := - ex_3_intro : (x0:A0; x1:A1; x2:A2)(P0 x0 x1 x2)->(ex_3 A0 A1 A2 P0). - -Hint ex_3 : ltlc := Constructors ex_3. - -Syntactic Definition Ex_3 := ex_3 | 1. - -Grammar constr constr10 := - | ex_3implicit - [ "EX" ident($v0) ident($v1) ident($v2) "|" constr($c0) ] -> - [ (ex_3 ? ? ? [$v0;$v1;$v2]$c0) ]. - -(* ex3_3 *) - -Inductive ex3_3 [A0,A1,A2:Set; P0,P1,P2:A0->A1->A2->Prop] : Prop := - ex3_3_intro : (x0:A0; x1:A1; x2:A2)(P0 x0 x1 x2)->(P1 x0 x1 x2)->(P2 x0 x1 x2)->(ex3_3 A0 A1 A2 P0 P1 P2). - -Hint ex3_3 : ltlc := Constructors ex3_3. - -Syntactic Definition Ex3_3 := ex3_3 | 1. - -Grammar constr constr10 := - | ex3_3implicit - [ "EX" ident($v0) ident($v1) ident($v2) "|" constr($c0) "&" constr($c1) "&" constr($c2) ] -> - [ (ex3_3 ? ? ? [$v0;$v1;$v2]$c0 [$v0;$v1;$v2]$c1 [$v0;$v1;$v2]$c2) ]. - -(* ex4_3 *) - -Inductive ex4_3 [A0,A1,A2:Set; P0,P1,P2,P3:A0->A1->A2->Prop] : Prop := - ex4_3_intro : (x0:A0; x1:A1; x2:A2)(P0 x0 x1 x2)->(P1 x0 x1 x2)->(P2 x0 x1 x2)->(P3 x0 x1 x2)->(ex4_3 A0 A1 A2 P0 P1 P2 P3). - -Hint ex4_3 : ltlc := Constructors ex4_3. - -Syntactic Definition Ex4_3 := ex4_3 | 1. - -Grammar constr constr10 := - | ex4_3implicit - [ "EX" ident($v0) ident($v1) ident($v2) "|" constr($c0) "&" constr($c1) "&" constr($c2) "&" constr($c3) ] -> - [ (ex4_3 ? ? ? [$v0;$v1;$v2]$c0 [$v0;$v1;$v2]$c1 [$v0;$v1;$v2]$c2 [$v0;$v1;$v2]$c3) ]. - -(* ex3_4 *) - -Inductive ex3_4 [A0,A1,A2,A3:Set; P0,P1,P2:A0->A1->A2->A3->Prop] : Prop := - ex3_4_intro : (x0:A0; x1:A1; x2:A2; x3:A3)(P0 x0 x1 x2 x3)->(P1 x0 x1 x2 x3)->(P2 x0 x1 x2 x3)->(ex3_4 A0 A1 A2 A3 P0 P1 P2). - -Hint ex3_4 : ltlc := Constructors ex3_4. - -Syntactic Definition Ex3_4 := ex3_4 | 1. - -Grammar constr constr10 := - | ex3_4implicit - [ "EX" ident($v0) ident($v1) ident($v2) ident($v3) "|" constr($c0) "&" constr($c1) "&" constr($c2) ] -> - [ (ex3_4 ? ? ? ? [$v0;$v1;$v2;$v3]$c0 [$v0;$v1;$v2;$v3]$c1 [$v0;$v1;$v2;$v3]$c2) ]. - -(* ex4_4 *) - -Inductive ex4_4 [A0,A1,A2,A3:Set; P0,P1,P2,P3:A0->A1->A2->A3->Prop] : Prop := - ex4_4_intro : (x0:A0; x1:A1; x2:A2; x3:A3)(P0 x0 x1 x2 x3)->(P1 x0 x1 x2 x3)->(P2 x0 x1 x2 x3)->(P3 x0 x1 x2 x3)->(ex4_4 A0 A1 A2 A3 P0 P1 P2 P3). - -Hint ex4_4 : ltlc := Constructors ex4_4. - -Syntactic Definition Ex4_4 := ex4_4 | 1. - -Grammar constr constr10 := - | ex4_4implicit - [ "EX" ident($v0) ident($v1) ident($v2) ident($v3) "|" constr($c0) "&" constr($c1) "&" constr($c2) "&" constr($c3) ] -> - [ (ex4_4 ? ? ? ? [$v0;$v1;$v2;$v3]$c0 [$v0;$v1;$v2;$v3]$c1 [$v0;$v1;$v2;$v3]$c2 [$v0;$v1;$v2;$v3]$c3) ]. - -(* ex4_5 *) - -Inductive ex4_5 [A0,A1,A2,A3,A4:Set; P0,P1,P2,P3:A0->A1->A2->A3->A4->Prop] : Prop := - ex4_5_intro : (x0:A0; x1:A1; x2:A2; x3:A3; x4:A4)(P0 x0 x1 x2 x3 x4)->(P1 x0 x1 x2 x3 x4)->(P2 x0 x1 x2 x3 x4)->(P3 x0 x1 x2 x3 x4)->(ex4_5 A0 A1 A2 A3 A4 P0 P1 P2 P3). - -Hint ex4_5 : ltlc := Constructors ex4_5. - -Syntactic Definition Ex4_5 := ex4_5 | 1. - -Grammar constr constr10 := - | ex4_5implicit - [ "EX" ident($v0) ident($v1) ident($v2) ident($v3) ident($v4) "|" constr($c0) "&" constr($c1) "&" constr($c2) "&" constr($c3) ] -> - [ (ex4_5 ? ? ? ? ? [$v0;$v1;$v2;$v3;$v4]$c0 [$v0;$v1;$v2;$v3;$v4]$c1 [$v0;$v1;$v2;$v3;$v4]$c2 [$v0;$v1;$v2;$v3;$v4]$c3) ]. - -(* ex5_5 *) - -Inductive ex5_5 [A0,A1,A2,A3,A4:Set; P0,P1,P2,P3,P4:A0->A1->A2->A3->A4->Prop] : Prop := - ex5_5_intro : (x0:A0; x1:A1; x2:A2; x3:A3; x4:A4)(P0 x0 x1 x2 x3 x4)->(P1 x0 x1 x2 x3 x4)->(P2 x0 x1 x2 x3 x4)->(P3 x0 x1 x2 x3 x4)->(P4 x0 x1 x2 x3 x4)->(ex5_5 A0 A1 A2 A3 A4 P0 P1 P2 P3 P4). - -Hint ex5_5 : ltlc := Constructors ex5_5. - -Syntactic Definition Ex5_5 := ex5_5 | 1. - -Grammar constr constr10 := - | ex5_5implicit - [ "EX" ident($v0) ident($v1) ident($v2) ident($v3) ident($v4) "|" constr($c0) "&" constr($c1) "&" constr($c2) "&" constr($c3) "&" constr($c4) ] -> - [ (ex5_5 ? ? ? ? ? [$v0;$v1;$v2;$v3;$v4]$c0 [$v0;$v1;$v2;$v3;$v4]$c1 [$v0;$v1;$v2;$v3;$v4]$c2 [$v0;$v1;$v2;$v3;$v4]$c3 [$v0;$v1;$v2;$v3;$v4]$c4) ]. - -(* ex6_6 *) - -Inductive ex6_6 [A0,A1,A2,A3,A4,A5:Set; P0,P1,P2,P3,P4,P5:A0->A1->A2->A3->A4->A5->Prop] : Prop := - ex6_6_intro : (x0:A0; x1:A1; x2:A2; x3:A3; x4:A4; x5:A5)(P0 x0 x1 x2 x3 x4 x5)->(P1 x0 x1 x2 x3 x4 x5)->(P2 x0 x1 x2 x3 x4 x5)->(P3 x0 x1 x2 x3 x4 x5)->(P4 x0 x1 x2 x3 x4 x5)->(P5 x0 x1 x2 x3 x4 x5)->(ex6_6 A0 A1 A2 A3 A4 A5 P0 P1 P2 P3 P4 P5). - -Hint ex6_6 : ltlc := Constructors ex6_6. - -Syntactic Definition Ex6_6 := ex6_6 | 1. - -Grammar constr constr10 := - | ex6_6implicit - [ "EX" ident($v0) ident($v1) ident($v2) ident($v3) ident($v4) ident($v5) "|" constr($c0) "&" constr($c1) "&" constr($c2) "&" constr($c3) "&" constr($c4) "&" constr($c5) ] -> - [ (ex6_6 ? ? ? ? ? ? [$v0;$v1;$v2;$v3;$v4;$v5]$c0 [$v0;$v1;$v2;$v3;$v4;$v5]$c1 [$v0;$v1;$v2;$v3;$v4;$v5]$c2 [$v0;$v1;$v2;$v3;$v4;$v5]$c3 [$v0;$v1;$v2;$v3;$v4;$v5]$c4 [$v0;$v1;$v2;$v3;$v4;$v5]$c5) ]. - -(* ex6_7 *) - -Inductive ex6_7 [A0,A1,A2,A3,A4,A5,A6:Set; P0,P1,P2,P3,P4,P5:A0->A1->A2->A3->A4->A5->A6->Prop] : Prop := - ex6_7_intro : (x0:A0; x1:A1; x2:A2; x3:A3; x4:A4; x5:A5; x6:A6)(P0 x0 x1 x2 x3 x4 x5 x6)->(P1 x0 x1 x2 x3 x4 x5 x6)->(P2 x0 x1 x2 x3 x4 x5 x6)->(P3 x0 x1 x2 x3 x4 x5 x6)->(P4 x0 x1 x2 x3 x4 x5 x6)->(P5 x0 x1 x2 x3 x4 x5 x6)->(ex6_7 A0 A1 A2 A3 A4 A5 A6 P0 P1 P2 P3 P4 P5). - -Hint ex6_7 : ltlc := Constructors ex6_7. - -Syntactic Definition Ex6_7 := ex6_7 | 1. - -Grammar constr constr10 := - | ex6_7implicit - [ "EX" ident($v0) ident($v1) ident($v2) ident($v3) ident($v4) ident($v5) ident($v6) "|" constr($c0) "&" constr($c1) "&" constr($c2) "&" constr($c3) "&" constr($c4) "&" constr($c5) ] -> - [ (ex6_7 ? ? ? ? ? ? ? [$v0;$v1;$v2;$v3;$v4;$v5;$v6]$c0 [$v0;$v1;$v2;$v3;$v4;$v5;$v6]$c1 [$v0;$v1;$v2;$v3;$v4;$v5;$v6]$c2 [$v0;$v1;$v2;$v3;$v4;$v5;$v6]$c3 [$v0;$v1;$v2;$v3;$v4;$v5;$v6]$c4 [$v0;$v1;$v2;$v3;$v4;$v5;$v6]$c5) ]. - -(* extended Decompose tactic *) - -Tactic Definition XDecompose H := - Decompose [and or ex ex2 or3 or4 ex2_2 ex3_2 ex_3 ex3_3 ex4_3 ex3_4 ex4_4 ex4_5 ex5_5 ex6_6 ex6_7] H; Clear H. - diff --git a/helm/coq-contribs/LAMBDA-TYPES/contexts_defs.v b/helm/coq-contribs/LAMBDA-TYPES/contexts_defs.v deleted file mode 100644 index a9a689235..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/contexts_defs.v +++ /dev/null @@ -1,77 +0,0 @@ -(*#* #stop file *) - -Require Export terms_defs. - - Inductive Set C := CSort: nat -> C - | CTail: C -> K -> T -> C. - - Hint f3CKT : ltlc := Resolve (f_equal3 C K T). - - Tactic Definition CGenBase := - Match Context With - | [ H: (CSort ?) = (CSort ?) |- ? ] -> Inversion H; Clear H - | [ H: (CTail ? ? ?) = (CTail ? ? ?) |- ? ] -> Inversion H; Clear H - | _ -> TGenBase. - - Definition r: K -> nat -> nat := [k;i] Cases k of - | (Bind _) => i - | (Flat _) => (S i) - end. - - Fixpoint app [c:C] : nat -> T -> T := [j;t]Cases j c of - | (0) _ => t - | _ (CSort _) => t - | (S i) (CTail c k u) => (app c (r k i) (TTail k u t)) - end. - - Section r_props. (********************************************************) - - Theorem r_S: (k:?; i:?) (r k (S i)) = (S (r k i)). - XElim k; XAuto. - Qed. - - Theorem r_plus_sym: (k:?; i,j:?) (r k (plus i j)) = (plus i (r k j)). - XElim k; Intros; Simpl; XAuto. - Qed. - - Theorem r_minus: (i,n:?) (lt n i) -> - (k:?) (minus (r k i) (S n)) = (r k (minus i (S n))). - XElim k; Intros; Simpl; XEAuto. - Qed. - - Theorem r_dis: (k:?; P:Prop) - (((i:?) (r k i) = i) -> P) -> - (((i:?) (r k i) = (S i)) -> P) -> P. - XElim k; XAuto. - Qed. - - End r_props. - - Tactic Definition RRw := - Repeat (Rewrite r_S Orelse Rewrite r_plus_sym). - - Section r_arith. (********************************************************) - - Theorem r_arith0: (k:?; i:?) (minus (r k (S i)) (1)) = (r k i). - Intros; RRw; Rewrite minus_Sx_SO; XAuto. - Qed. - - Theorem r_arith1: (k:?; i,j:?) (minus (r k (S i)) (S j)) = (minus (r k i) j). - Intros; RRw; XAuto. - Qed. - - End r_arith. - - Section app_props. (******************************************************) - - Theorem app_csort: (t:?; i,n:?) (app (CSort n) i t) = t. - XElim i; Intros; Simpl; XAuto. - Qed. - - Theorem app_O: (c:?; t:?) (app c (0) t) = t. - XElim c; XAuto. - Qed. - - End app_props. - - Hints Resolve app_csort app_O : ltlc. diff --git a/helm/coq-contribs/LAMBDA-TYPES/cpr0_defs.v b/helm/coq-contribs/LAMBDA-TYPES/cpr0_defs.v deleted file mode 100644 index 7773a3410..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/cpr0_defs.v +++ /dev/null @@ -1,90 +0,0 @@ -Require Export contexts_defs. -Require Export drop_defs. -Require Export pr0_defs. - -(*#* #caption "current axioms for the relation $\\CprZ{}{}$", - "reflexivity", "compatibility" -*) -(*#* #cap #cap c, c1, c2 #alpha u1 in V1, u2 in V2, k in z *) - - Inductive cpr0 : C -> C -> Prop := - | cpr0_refl : (c:?) (cpr0 c c) - | cpr0_comp : (c1,c2:?) (cpr0 c1 c2) -> (u1,u2:?) (pr0 u1 u2) -> - (k:?) (cpr0 (CTail c1 k u1) (CTail c2 k u2)). - -(*#* #stop file *) - - Hint cpr0 : ltlc := Constructors cpr0. - - Section cpr0_drop. (******************************************************) - - Theorem cpr0_drop : (c1,c2:?) (cpr0 c1 c2) -> (h:?; e1:?; u1:?; k:?) - (drop h (0) c1 (CTail e1 k u1)) -> - (EX e2 u2 | (drop h (0) c2 (CTail e2 k u2)) & - (cpr0 e1 e2) & (pr0 u1 u2) - ). - Intros until 1; XElim H. -(* case 1 : cpr0_refl *) - XEAuto. -(* case 2 : cpr0_comp *) - XElim h. -(* case 2.1 : h = 0 *) - Intros; DropGenBase. - Inversion H2; Rewrite H6 in H1; Rewrite H4 in H; XEAuto. -(* case 2.2 : h > 0 *) - XElim k; Intros; DropGenBase. -(* case 2.2.1 : Bind *) - LApply (H0 n e1 u0 k); [ Clear H0 H3; Intros H0 | XAuto ]. - XElim H0; XEAuto. -(* case 2.2.2 : Flat *) - LApply (H0 (S n) e1 u0 k); [ Clear H0 H3; Intros H0 | XAuto ]. - XElim H0; XEAuto. - Qed. - - Theorem cpr0_drop_back : (c1,c2:?) (cpr0 c2 c1) -> (h:?; e1:?; u1:?; k:?) - (drop h (0) c1 (CTail e1 k u1)) -> - (EX e2 u2 | (drop h (0) c2 (CTail e2 k u2)) & - (cpr0 e2 e1) & (pr0 u2 u1) - ). - Intros until 1; XElim H. -(* case 1 : cpr0_refl *) - XEAuto. -(* case 2 : cpr0_comp *) - XElim h. -(* case 2.1 : h = 0 *) - Intros; DropGenBase. - Inversion H2; Rewrite H6 in H1; Rewrite H4 in H; XEAuto. -(* case 2.2 : h > 0 *) - XElim k; Intros; DropGenBase. -(* case 2.2.1 : Bind *) - LApply (H0 n e1 u0 k); [ Clear H0 H3; Intros H0 | XAuto ]. - XElim H0; XEAuto. -(* case 2.2.2 : Flat *) - LApply (H0 (S n) e1 u0 k); [ Clear H0 H3; Intros H0 | XAuto ]. - XElim H0; XEAuto. - Qed. - - End cpr0_drop. - - Tactic Definition Cpr0Drop := - Match Context With - | [ _: (drop ?1 (0) ?2 (CTail ?3 ?4 ?5)); - _: (cpr0 ?2 ?6) |- ? ] -> - LApply (cpr0_drop ?2 ?6); [ Intros H_x | XAuto ]; - LApply (H_x ?1 ?3 ?5 ?4); [ Clear H_x; Intros H_x | XAuto ]; - XElim H_x; Intros - | [ _: (drop ?1 (0) ?2 (CTail ?3 ?4 ?5)); - _: (cpr0 ?6 ?2) |- ? ] -> - LApply (cpr0_drop_back ?2 ?6); [ Intros H_x | XAuto ]; - LApply (H_x ?1 ?3 ?5 ?4); [ Clear H_x; Intros H_x | XAuto ]; - XElim H_x; Intros - | [ _: (drop ?1 (0) (CTail ?2 ?7 ?8) (CTail ?3 ?4 ?5)); - _: (cpr0 ?2 ?6) |- ? ] -> - LApply (cpr0_drop (CTail ?2 ?7 ?8) (CTail ?6 ?7 ?8)); [ Intros H_x | XAuto ]; - LApply (H_x ?1 ?3 ?5 ?4); [ Clear H_x; Intros H_x | XAuto ]; - XElim H_x; Intros - | [ _: (drop ?1 (0) (CTail ?2 ?7 ?8) (CTail ?3 ?4 ?5)); - _: (cpr0 ?6 ?2) |- ? ] -> - LApply (cpr0_drop_back (CTail ?2 ?7 ?8) (CTail ?6 ?7 ?8)); [ Intros H_x | XAuto ]; - LApply (H_x ?1 ?3 ?5 ?4); [ Clear H_x; Intros H_x | XAuto ]; - XElim H_x; Intros. diff --git a/helm/coq-contribs/LAMBDA-TYPES/csub0_defs.v b/helm/coq-contribs/LAMBDA-TYPES/csub0_defs.v deleted file mode 100644 index 2949e83d9..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/csub0_defs.v +++ /dev/null @@ -1,114 +0,0 @@ -(*#* #stop file *) - -Require Export ty0_defs. - - Inductive csub0 [g:G] : C -> C -> Prop := -(* structural rules *) - | csub0_sort: (n:?) (csub0 g (CSort n) (CSort n)) - | csub0_tail: (c1,c2:?) (csub0 g c1 c2) -> (k,u:?) - (csub0 g (CTail c1 k u) (CTail c2 k u)) -(* axioms *) - | csub0_void: (c1,c2:?) (csub0 g c1 c2) -> (b:?) ~b=Void -> (u1,u2:?) - (csub0 g (CTail c1 (Bind Void) u1) (CTail c2 (Bind b) u2)) - | csub0_abst: (c1,c2:?) (csub0 g c1 c2) -> (u,t:?) (ty0 g c2 u t) -> - (csub0 g (CTail c1 (Bind Abst) t) (CTail c2 (Bind Abbr) u)). - - Hint csub0 : ltlc := Constructors csub0. - - Section csub0_props. (****************************************************) - - Theorem csub0_refl: (g:?; c:?) (csub0 g c c). - XElim c; XAuto. - Qed. - - End csub0_props. - - Hints Resolve csub0_refl : ltlc. - - Section csub0_drop. (*****************************************************) - - Theorem csub0_drop_abbr: (g:?; n:?; c1,c2:?) (csub0 g c1 c2) -> (d1,u:?) - (drop n (0) c1 (CTail d1 (Bind Abbr) u)) -> - (EX d2 | (csub0 g d1 d2) & - (drop n (0) c2 (CTail d2 (Bind Abbr) u)) - ). - XElim n. -(* case 1 : n = 0 *) - Intros; DropGenBase; Rewrite H0 in H; Inversion H; XEAuto. -(* case 2 : n > 0 *) - Intros until 2; XElim H0. -(* case 2.1 : csub0_sort *) - Intros; Inversion H0. -(* case 2.2 : csub0_tail *) - XElim k; Intros; DropGenBase. -(* case 2.2.1 : Bind *) - LApply (H c0 c3); [ Clear H; Intros H | XAuto ]. - LApply (H d1 u0); [ Clear H; Intros H | XAuto ]. - XElim H; XEAuto. -(* case 2.2.2 : Flat *) - LApply (H1 d1 u0); [ Clear H1; Intros H1 | XAuto ]. - XElim H1; XEAuto. -(* case 2.3 : csub0_void *) - Intros; DropGenBase. - LApply (H c0 c3); [ Clear H; Intros H | XAuto ]. - LApply (H d1 u); [ Clear H; Intros H | XAuto ]. - XElim H; XEAuto. -(* case 2.4 : csub0_abst *) - Intros; DropGenBase. - LApply (H c0 c3); [ Clear H; Intros H | XAuto ]. - LApply (H d1 u0); [ Clear H; Intros H | XAuto ]. - XElim H; XEAuto. - Qed. - - Theorem csub0_drop_abst: (g:?; n:?; c1,c2:?) (csub0 g c1 c2) -> (d1,t:?) - (drop n (0) c1 (CTail d1 (Bind Abst) t)) -> - (EX d2 | (csub0 g d1 d2) & - (drop n (0) c2 (CTail d2 (Bind Abst) t)) - - ) \/ - (EX d2 u | (csub0 g d1 d2) & - (drop n (0) c2 (CTail d2 (Bind Abbr) u)) & - (ty0 g d2 u t) - ). - XElim n. -(* case 1 : n = 0 *) - Intros; DropGenBase; Rewrite H0 in H; Inversion H; XEAuto. -(* case 2 : n > 0 *) - Intros until 2; XElim H0. -(* case 2.1 : csub0_sort *) - Intros; Inversion H0. -(* case 2.2 : csub0_tail *) - XElim k; Intros; DropGenBase. -(* case 2.2.1 : Bind *) - LApply (H c0 c3); [ Clear H; Intros H | XAuto ]. - LApply (H d1 t); [ Clear H; Intros H | XAuto ]. - XElim H; Intros; XElim H; XEAuto. -(* case 2.2.2 : Flat *) - LApply (H1 d1 t); [ Clear H1; Intros H1 | XAuto ]. - XElim H1; Intros; XElim H1; XEAuto. -(* case 2.3 : csub0_void *) - Intros; DropGenBase. - LApply (H c0 c3); [ Clear H; Intros H | XAuto ]. - LApply (H d1 t); [ Clear H; Intros H | XAuto ]. - XElim H; Intros; XElim H; XEAuto. -(* case 2.4 : csub0_abst *) - Intros; DropGenBase. - LApply (H c0 c3); [ Clear H; Intros H | XAuto ]. - LApply (H d1 t0); [ Clear H; Intros H | XAuto ]. - XElim H; Intros; XElim H; XEAuto. - Qed. - - End csub0_drop. - - Tactic Definition CSub0Drop := - Match Context With - | [ H1: (csub0 ?1 ?2 ?3); - H2: (drop ?4 (0) ?2 (CTail ?5 (Bind Abbr) ?6)) |- ? ] -> - LApply (csub0_drop_abbr ?1 ?4 ?2 ?3); [ Clear H1; Intros H1 | XAuto ]; - LApply (H1 ?5 ?6); [ Clear H1 H2; Intros H1 | XAuto ]; - XElim H1; Intros - | [ H1: (csub0 ?1 ?2 ?3); - H2: (drop ?4 (0) ?2 (CTail ?5 (Bind Abst) ?6)) |- ? ] -> - LApply (csub0_drop_abst ?1 ?4 ?2 ?3); [ Clear H1; Intros H1 | XAuto ]; - LApply (H1 ?5 ?6); [ Clear H1 H2; Intros H1 | XAuto ]; - XElim H1; Intros H1; XElim H1; Intros. diff --git a/helm/coq-contribs/LAMBDA-TYPES/csub0_props.v b/helm/coq-contribs/LAMBDA-TYPES/csub0_props.v deleted file mode 100644 index 04c4eddb1..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/csub0_props.v +++ /dev/null @@ -1,67 +0,0 @@ -(*#* #stop file *) - -Require pc3_props. -Require csub0_defs. - - Section csub0_pc3. (*****************************************************) - - Theorem csub0_pr2: (g:?; c1:?; t1,t2:?) (pr2 c1 t1 t2) -> - (c2:?) (csub0 g c1 c2) -> (pr2 c2 t1 t2). - Intros until 1; XElim H; Intros. -(* case 1: pr2_free *) - XAuto. -(* case 2: pr2_delta *) - CSub0Drop; XEAuto. - Qed. - - Hints Resolve csub0_pr2. - - Opaque pc3. - - Theorem csub0_pc3: (g:?; c1:?; t1,t2:?) (pc3 c1 t1 t2) -> - (c2:?) (csub0 g c1 c2) -> (pc3 c2 t1 t2). - Intros until 1; XElimUsing pc3_ind_left H; XEAuto. - Qed. - - End csub0_pc3. - - Hints Resolve csub0_pc3 : ltlc. - - Section csub0_ty0. (*****************************************************) - - Theorem csub0_ty0: (g:?; c1:?; t1,t2:?) (ty0 g c1 t1 t2) -> - (c2:?) (wf0 g c2) -> (csub0 g c1 c2) -> - (ty0 g c2 t1 t2). - Intros until 1; XElim H; Intros. -(* case 1: ty0_conv *) - EApply ty0_conv; XEAuto. -(* case 2: ty0_sort *) - XEAuto. -(* case 3: ty0_abbr *) - CSub0Drop; EApply ty0_abbr; XEAuto. -(* case 4: ty0_abst *) - CSub0Drop; [ EApply ty0_abst | EApply ty0_abbr ]; XEAuto. -(* case 5: ty0_bind *) - EApply ty0_bind; XEAuto. -(* case 6: ty0_appl *) - EApply ty0_appl; XEAuto. -(* case 7: ty0_cast *) - EApply ty0_cast; XAuto. - Qed. - - Theorem csub0_ty0_ld: (g:?; c:?; u,v:?) (ty0 g c u v) -> (t1,t2:?) - (ty0 g (CTail c (Bind Abst) v) t1 t2) -> - (ty0 g (CTail c (Bind Abbr) u) t1 t2). - Intros; EApply csub0_ty0; XEAuto. - Qed. - - End csub0_ty0. - - Hints Resolve csub0_ty0 csub0_ty0_ld : ltlc. - - Tactic Definition CSub0Ty0 := - Match Context With - [ _: (ty0 ?1 ?2 ?4 ?); _: (ty0 ?1 ?2 ?3 ?7); _: (pc3 ?2 ?4 ?7); - H: (ty0 ?1 (CTail ?2 (Bind Abst) ?4) ?5 ?6) |- ? ] -> - LApply (csub0_ty0_ld ?1 ?2 ?3 ?4); [ Intros H_x | EApply ty0_conv; XEAuto ]; - LApply (H_x ?5 ?6); [ Clear H_x H; Intros | XAuto ]. diff --git a/helm/coq-contribs/LAMBDA-TYPES/csubst0_defs.v b/helm/coq-contribs/LAMBDA-TYPES/csubst0_defs.v deleted file mode 100644 index 046b1978c..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/csubst0_defs.v +++ /dev/null @@ -1,197 +0,0 @@ -Require Export contexts_defs. -Require Export subst0_defs. -Require Export drop_defs. - -(*#* #caption "axioms for strict substitution in contexts", - "substituted tail item: second operand", - "substituted tail item: first operand", - "substituted tail item: both operands" -*) -(*#* #cap #cap c, c1, c2 #alpha v in W, u in V, u1 in V1, u2 in V2, k in z, r in q *) - - Inductive csubst0 : nat -> T -> C -> C -> Prop := - | csubst0_snd : (k:?; i:?; v,u1,u2:?) (subst0 (r k i) v u1 u2) -> (c:?) - (csubst0 (S i) v (CTail c k u1) (CTail c k u2)) - | csubst0_fst : (k:?; i:?; c1,c2:?; v:?) (csubst0 (r k i) v c1 c2) -> - (u:?) (csubst0 (S i) v (CTail c1 k u) (CTail c2 k u)) - | csubst0_both : (k:?; i:?; v,u1,u2:?) (subst0 (r k i) v u1 u2) -> - (c1,c2:?) (csubst0 (r k i) v c1 c2) -> - (csubst0 (S i) v (CTail c1 k u1) (CTail c2 k u2)). - -(*#* #stop file *) - - Hint csubst0 : ltlc := Constructors csubst0. - - Section csubst0_gen_base. (***********************************************) - - Theorem csubst0_gen_tail: (k:?; c1,x:?; u1,v:?; i:?) - (csubst0 (S i) v (CTail c1 k u1) x) -> (OR - (EX u2 | x = (CTail c1 k u2) & - (subst0 (r k i) v u1 u2) - ) | - (EX c2 | x = (CTail c2 k u1) & - (csubst0 (r k i) v c1 c2) - ) | - (EX u2 c2 | x = (CTail c2 k u2) & - (subst0 (r k i) v u1 u2) & - (csubst0 (r k i) v c1 c2) - )). - Intros until 1; InsertEq H '(S i); InsertEq H '(CTail c1 k u1). - XCase H; Clear x v y y0; Intros; Inversion H1. -(* case 1: csubst0_snd *) - Inversion H0; Rewrite H3 in H; Rewrite H5 in H; Rewrite H6 in H; XEAuto. -(* case 2: csubst0_fst *) - Inversion H0; Rewrite H3 in H; Rewrite H4 in H; Rewrite H5 in H; XEAuto. -(* case 2: csubst0_both *) - Inversion H2; Rewrite H5 in H; Rewrite H6 in H; Rewrite H7 in H; - Rewrite H4 in H0; Rewrite H5 in H0; Rewrite H7 in H0; XEAuto. - Qed. - - End csubst0_gen_base. - - Tactic Definition CSubst0GenBase := - Match Context With - | [ H: (csubst0 (S ?1) ?2 (CTail ?3 ?4 ?5) ?6) |- ? ] -> - LApply (csubst0_gen_tail ?4 ?3 ?6 ?5 ?2 ?1); [ Clear H; Intros H | XAuto ]; - XElim H; Intros H; XElim H; Intros. - - Section csubst0_drop. (***************************************************) - - Theorem csubst0_drop_ge : (i,n:?) (le i n) -> - (c1,c2:?; v:?) (csubst0 i v c1 c2) -> - (e:?) (drop n (0) c1 e) -> - (drop n (0) c2 e). - XElim i. -(* case 1: i = 0 *) - Intros; Inversion H0. -(* case 2: i > 0 *) - Intros i; XElim n. -(* case 2.1: n = 0 *) - Intros; Inversion H0. -(* case 2.2: n > 0 *) - Intros until 3; Clear H0; InsertEq H2 '(S i); XElim H0; Intros. - DropGenBase. -(* case 2.2.1: csubst0_snd *) - XAuto. -(* case 2.2.2: csubst0_fst *) - XReplaceIn H0 i0 i; DropGenBase; NewInduction k; XEAuto. -(* case 2.2.3: csubst0_both *) - XReplaceIn H0 i0 i; XReplaceIn H2 i0 i. - DropGenBase; NewInduction k; XEAuto. - Qed. - - Tactic Definition IH := - Match Context With - | [ H0: (n:?) (lt n ?1) -> (c1,c2:?; v:?) (csubst0 ?1 v c1 c2) -> (e:C) (drop n (0) c1 e) -> ?; - H1: (csubst0 ?1 ?2 ?3 ?4); H2: (drop ?5 (0) ?3 ?6) |- ? ] -> - LApply (H0 ?5); [ Clear H0; Intros H0 | XAuto ]; - LApply (H0 ?3 ?4 ?2); [ Clear H0 H1; Intros H0 | XAuto ]; - LApply (H0 ?6); [ Clear H0 H2; Intros H0 | XAuto ]; - XElim H0; Intros H0; [ Idtac | XElim H0 | XElim H0 | XElim H0 ]; Intros - | [ H0: (r ? ?1) = (S ?1) -> (e:?) (drop (S ?2) (0) ?3 e) -> ?; - H1: (drop (S ?2) (0) ?3 ?4) |- ? ] -> - LApply H0; [ Clear H0; Intros H0 | XAuto ]; - LApply (H0 ?4); [ Clear H0 H1; Intros H0 | XAuto ]; - XElim H0; Intros H0; [ Idtac | XElim H0 | XElim H0 | XElim H0 ]; Intros. - - Theorem csubst0_drop_lt : (i,n:?) (lt n i) -> - (c1,c2:?; v:?) (csubst0 i v c1 c2) -> - (e:?) (drop n (0) c1 e) -> (OR - (drop n (0) c2 e) | - (EX k e0 u w | e = (CTail e0 k u) & - (drop n (0) c2 (CTail e0 k w)) & - (subst0 (minus (r k i) (S n)) v u w) - ) | - (EX k e1 e2 u | e = (CTail e1 k u) & - (drop n (0) c2 (CTail e2 k u)) & - (csubst0 (minus (r k i) (S n)) v e1 e2) - ) | - (EX k e1 e2 u w | e = (CTail e1 k u) & - (drop n (0) c2 (CTail e2 k w)) & - (subst0 (minus (r k i) (S n)) v u w) & - (csubst0 (minus (r k i) (S n)) v e1 e2) - )). - XElim i. -(* case 1: i = 0 *) - Intros; Inversion H. -(* case 2: i > 0 *) - Intros i; XElim n. -(* case 2.1: n = 0 *) - Intros H0; Clear H0; Intros until 1; InsertEq H0 '(S i); XElim H0; - Clear H c1 c2 v y; Intros; DropGenBase; XRewrite e; - Rewrite <- r_arith0 in H; Try Rewrite <- r_arith0 in H0; Replace i with i0; XEAuto. -(* case 2.2: n > 0 *) - Intros until 3; Clear H0; InsertEq H2 '(S i); XElim H0; Clear c1 c2 v y; - Intros; DropGenBase. -(* case 2.2.1: csubst0_snd *) - XEAuto. -(* case 2.2.2: csubst0_fst *) - Replace i0 with i; XAuto; XReplaceIn H0 i0 i; XReplaceIn H2 i0 i; Clear H3 i0. - Apply (r_dis k); Intros; Rewrite (H3 i) in H0; Rewrite (H3 n) in H4. -(* case 2.2.2.1: bind *) - IH; XRewrite e; Try Rewrite <- (H3 n) in H; Try Rewrite <- (H3 n) in H0; - Try Rewrite <- r_arith1 in H4; Try Rewrite <- r_arith1 in H5; XEAuto. -(* case 2.2.2.2: flat *) - IH; XRewrite e; Try Rewrite <- (H3 n) in H2; Try Rewrite <- (H3 n) in H4; XEAuto. -(* case 2.2.3: csubst0_both *) - Replace i0 with i; XAuto; XReplaceIn H0 i0 i; XReplaceIn H2 i0 i; XReplaceIn H3 i0 i; Clear H4 i0. - Apply (r_dis k); Intros; Rewrite (H4 i) in H2; Rewrite (H4 n) in H5. -(* case 2.2.2.1: bind *) - IH; XRewrite e; Try Rewrite <- (H4 n) in H; Try Rewrite <- (H4 n) in H2; - Try Rewrite <- r_arith1 in H5; Try Rewrite <- r_arith1 in H6; XEAuto. -(* case 2.2.3.2: flat *) - IH; XRewrite e; Try Rewrite <- (H4 n) in H3; Try Rewrite <- (H4 n) in H5; XEAuto. - Qed. - - Theorem csubst0_drop_ge_back : (i,n:?) (le i n) -> - (c1,c2:?; v:?) (csubst0 i v c1 c2) -> - (e:?) (drop n (0) c2 e) -> - (drop n (0) c1 e). - XElim i. -(* case 1 : i = 0 *) - Intros; Inversion H0. -(* case 2 : i > 0 *) - Intros i; XElim n. -(* case 2.1 : n = 0 *) - Intros; Inversion H0. -(* case 2.2 : n > 0 *) - Intros until 3; Clear H0; InsertEq H2 '(S i); XElim H0; Intros; - DropGenBase. -(* case 2.2.1 : csubst0_snd *) - XAuto. -(* case 2.2.2 : csubst0_fst *) - XReplaceIn H0 i0 i; NewInduction k; XEAuto. -(* case 2.2.3 : csubst0_both *) - XReplaceIn H0 i0 i; XReplaceIn H2 i0 i; NewInduction k; XEAuto. - Qed. - - End csubst0_drop. - - Tactic Definition CSubst0Drop := - Match Context With - | [ H1: (lt ?2 ?1); - H2: (csubst0 ?1 ?3 ?4 ?5); H3: (drop ?2 (0) ?4 ?6) |- ? ] -> - LApply (csubst0_drop_lt ?1 ?2); [ Intros H_x | XAuto ]; - LApply (H_x ?4 ?5 ?3); [ Clear H_x; Intros H_x | XAuto ]; - LApply (H_x ?6); [ Clear H_x H3; Intros H3 | XAuto ]; - XElim H3; - [ Intros | Intros H3; XElim H3; Intros - | Intros H3; XElim H3; Intros | Intros H3; XElim H3; Intros ] - | [ H1: (le ?1 ?2); - H2: (csubst0 ?1 ?3 ?4 ?5); H3: (drop ?2 (0) ?4 ?6) |- ? ] -> - LApply (csubst0_drop_ge ?1 ?2); [ Intros H_x | XAuto ]; - LApply (H_x ?4 ?5 ?3); [ Clear H_x; Intros H_x | XAuto ]; - LApply (H_x ?6); [ Clear H_x H3; Intros | XAuto ] - | [H2: (csubst0 ?1 ?3 ?4 ?5); H3: (drop ?1 (0) ?4 ?6) |- ? ] -> - LApply (csubst0_drop_ge ?1 ?1); [ Intros H_x | XAuto ]; - LApply (H_x ?4 ?5 ?3); [ Clear H_x H2; Intros H2 | XAuto ]; - LApply (H2 ?6); [ Clear H2 H3; Intros | XAuto ] - | [H2: (csubst0 ?1 ?3 ?4 ?5); H3: (drop ?1 (0) ?5 ?6) |- ? ] -> - LApply (csubst0_drop_ge_back ?1 ?1); [ Intros H_x | XAuto ]; - LApply (H_x ?4 ?5 ?3); [ Clear H_x; Intros H_x | XAuto ]; - LApply (H_x ?6); [ Clear H_x H3; Intros | XAuto ] - | [H2: (csubst0 ?1 ?3 ?4 ?5); H3: (drop ?2 (0) ?5 ?6) |- ? ] -> - LApply (csubst0_drop_ge_back ?1 ?2); [ Intros H_x | XAuto ]; - LApply (H_x ?4 ?5 ?3); [ Clear H_x; Intros H_x | XAuto ]; - LApply (H_x ?6); [ Clear H_x H3; Intros | XAuto ]. - diff --git a/helm/coq-contribs/LAMBDA-TYPES/csubst1_defs.v b/helm/coq-contribs/LAMBDA-TYPES/csubst1_defs.v deleted file mode 100644 index 8d1e570b5..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/csubst1_defs.v +++ /dev/null @@ -1,101 +0,0 @@ -(*#* #stop file *) - -Require Export subst1_defs. -Require Export csubst0_defs. - - Inductive csubst1 [i:nat; v:T; c1:C] : C -> Prop := - | csubst1_refl : (csubst1 i v c1 c1) - | csubst1_single : (c2:?) (csubst0 i v c1 c2) -> (csubst1 i v c1 c2). - - Hint csubst1 : ltlc := Constructors csubst1. - - Section csubst1_props. (**************************************************) - - Theorem csubst1_tail: (k:?; i:?; v,u1,u2:?) (subst1 (r k i) v u1 u2) -> - (c1,c2:?) (csubst1 (r k i) v c1 c2) -> - (csubst1 (S i) v (CTail c1 k u1) (CTail c2 k u2)). - Intros until 1; XElim H; Clear u2. -(* case 1: csubst1_refl *) - Intros until 1; XElim H; Clear c2; XAuto. -(* case 2: csubst1_single *) - Intros until 2; XElim H0; Clear c2; XAuto. - Qed. - - End csubst1_props. - - Hints Resolve csubst1_tail : ltlc. - - Section csubst1_gen_base. (***********************************************) - - Theorem csubst1_gen_tail: (k:?; c1,x:?; u1,v:?; i:?) - (csubst1 (S i) v (CTail c1 k u1) x) -> - (EX u2 c2 | x = (CTail c2 k u2) & - (subst1 (r k i) v u1 u2) & - (csubst1 (r k i) v c1 c2) - ). - Intros; InsertEq H '(CTail c1 k u1); InsertEq H '(S i); - XElim H; Clear x; Intros. -(* case 1: csubst1_refl *) - Rewrite H0; XEAuto. -(* case 2: csubst1_single *) - Rewrite H0 in H; Rewrite H1 in H; Clear H0 H1 y y0. - CSubst0GenBase; Rewrite H; XEAuto. - Qed. - - End csubst1_gen_base. - - Tactic Definition CSubst1GenBase := - Match Context With - | [ H: (csubst1 (S ?1) ?2 (CTail ?3 ?4 ?5) ?6) |- ? ] -> - LApply (csubst1_gen_tail ?4 ?3 ?6 ?5 ?2 ?1); [ Clear H; Intros H | XAuto ]; - XElim H; Intros. - - Section csubst1_drop. (***************************************************) - - Theorem csubst1_drop_ge : (i,n:?) (le i n) -> - (c1,c2:?; v:?) (csubst1 i v c1 c2) -> - (e:?) (drop n (0) c1 e) -> - (drop n (0) c2 e). - Intros until 2; XElim H0; Intros; - Try CSubst0Drop; XAuto. - Qed. - - Theorem csubst1_drop_lt : (i,n:?) (lt n i) -> - (c1,c2:?; v:?) (csubst1 i v c1 c2) -> - (e1:?) (drop n (0) c1 e1) -> - (EX e2 | (csubst1 (minus i n) v e1 e2) & - (drop n (0) c2 e2) - ). - Intros until 2; XElim H0; Intros; - Try ( - CSubst0Drop; Try Rewrite H1; Try Rewrite minus_x_Sy; - Try Rewrite r_minus in H3; Try Rewrite r_minus in H4 - ); XEAuto. - Qed. - - Theorem csubst1_drop_ge_back : (i,n:?) (le i n) -> - (c1,c2:?; v:?) (csubst1 i v c1 c2) -> - (e:?) (drop n (0) c2 e) -> - (drop n (0) c1 e). - Intros until 2; XElim H0; Intros; - Try CSubst0Drop; XAuto. - Qed. - - End csubst1_drop. - - Tactic Definition CSubst1Drop := - Match Context With - | [ H1: (lt ?2 ?1); - H2: (csubst1 ?1 ?3 ?4 ?5); H3: (drop ?2 (0) ?4 ?6) |- ? ] -> - LApply (csubst1_drop_lt ?1 ?2); [ Intros H_x | XAuto ]; - LApply (H_x ?4 ?5 ?3); [ Clear H_x; Intros H_x | XAuto ]; - LApply (H_x ?6); [ Clear H_x H3; Intros H3 | XAuto ]; - XElim H3; Intros - | [H2: (csubst1 ?1 ?3 ?4 ?5); H3: (drop ?1 (0) ?4 ?6) |- ? ] -> - LApply (csubst1_drop_ge ?1 ?1); [ Intros H_x | XAuto ]; - LApply (H_x ?4 ?5 ?3); [ Clear H_x H2; Intros H2 | XAuto ]; - LApply (H2 ?6); [ Clear H2 H3; Intros | XAuto ] - | [ H2: (csubst1 ?1 ?3 ?4 ?5); H3: (drop ?2 (0) ?4 ?6) |- ? ] -> - LApply (csubst1_drop_ge ?1 ?2); [ Intros H_x | XAuto ]; - LApply (H_x ?4 ?5 ?3); [ Clear H_x; Intros H_x | XAuto ]; - LApply (H_x ?6); [ Clear H_x H3; Intros | XAuto ]. diff --git a/helm/coq-contribs/LAMBDA-TYPES/description b/helm/coq-contribs/LAMBDA-TYPES/description deleted file mode 100644 index 06f662322..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/description +++ /dev/null @@ -1,13 +0,0 @@ -Name: lambda-delta -Title: A formalization of a lambda-typed lambda-calculus with abbreviations -Author: Ferruccio Guidi -Email: fguidi@cs.unibo.it -Homepage: http://www.cs.unibo.it/~fguidi -Institution: Department of Computer Science, University of Bologna -Address: Mura Anteo Zamboni 7, 40127 Bologna, ITALY -Date: March 31, 2005 -Description: -Url: -Keywords: lambda-types, lambda-calculus, abbreviations -Version: 7.3.1 -Require: diff --git a/helm/coq-contribs/LAMBDA-TYPES/drop_defs.v b/helm/coq-contribs/LAMBDA-TYPES/drop_defs.v deleted file mode 100644 index ee7eea93c..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/drop_defs.v +++ /dev/null @@ -1,130 +0,0 @@ -Require Export contexts_defs. -Require Export lift_defs. - -(*#* #caption "current axioms for dropping", - "base case", "untouched tail item", - "dropped tail item", "updated tail item" -*) -(*#* #cap #alpha c in C1, e in C2, u in V, k in z, n in k, d in i, r in q *) - - Inductive drop: nat -> nat -> C -> C -> Prop := - | drop_sort: (h,d,n:?) (drop h d (CSort n) (CSort n)) - | drop_comp: (c,e:?) (drop (0) (0) c e) -> - (k:?; u:?) (drop (0) (0) (CTail c k u) (CTail e k u)) - | drop_drop: (k:?; h:?; c,e:?) (drop (r k h) (0) c e) -> - (u:?) (drop (S h) (0) (CTail c k u) e) - | drop_skip: (k:?; h,d:?; c,e:?) (drop h (r k d) c e) -> (u:?) - (drop h (S d) (CTail c k (lift h (r k d) u)) (CTail e k u)). - -(*#* #stop file *) - - Hint drop : ltlc := Constructors drop. - - Hint discr : ltlc := Extern 4 (drop ? ? ? ?) Simpl. - - Section drop_gen_base. (**************************************************) - - Theorem drop_gen_sort: (n,h,d:?; x:?) - (drop h d (CSort n) x) -> x = (CSort n). - Intros until 1; InsertEq H '(CSort n); XElim H; Intros; - Try Inversion H1; XAuto. - Qed. - - Theorem drop_gen_refl: (x,e:?) (drop (0) (0) x e) -> x = e. - Intros until 1; Repeat InsertEq H '(0); XElim H; Intros. -(* case 1: drop_sort *) - XAuto. -(* case 2: drop_comp *) - Rewrite H0; XAuto. -(* case 3: drop_drop *) - Inversion H2. -(* case 4: drop_skip *) - Inversion H1. - Qed. - - Theorem drop_gen_drop: (k:?; c,x:?; u:?; h:?) - (drop (S h) (0) (CTail c k u) x) -> - (drop (r k h) (0) c x). - Intros until 1; - InsertEq H '(CTail c k u); InsertEq H '(0); InsertEq H '(S h); - XElim H; Intros. -(* case 1: drop_sort *) - Inversion H1. -(* case 2: drop_comp *) - Inversion H1. -(* case 3: drop_drop *) - Inversion H1; Inversion H3. - Rewrite <- H5; Rewrite <- H6; Rewrite <- H7; XAuto. -(* case 4: drop_skip *) - Inversion H2. - Qed. - - Theorem drop_gen_skip_r: (c,x:?; u:?; h,d:?; k:?) - (drop h (S d) x (CTail c k u)) -> - (EX e | x = (CTail e k (lift h (r k d) u)) & (drop h (r k d) e c)). - Intros; Inversion_clear H; XEAuto. - Qed. - - Theorem drop_gen_skip_l: (c,x:?; u:?; h,d:?; k:?) - (drop h (S d) (CTail c k u) x) -> - (EX e v | x = (CTail e k v) & - u = (lift h (r k d) v) & - (drop h (r k d) c e) - ). - Intros; Inversion_clear H; XEAuto. - Qed. - - End drop_gen_base. - - Hints Resolve drop_gen_refl : ltlc. - - Tactic Definition DropGenBase := - Match Context With - | [ H: (drop (0) (0) ?0 ?1) |- ? ] -> - LApply (drop_gen_refl ?0 ?1); [ Clear H; Intros | XAuto ] - | [ H: (drop ?0 ?1 (CSort ?2) ?3) |- ? ] -> - LApply (drop_gen_sort ?2 ?0 ?1 ?3); [ Clear H; Intros | XAuto ] - | [ H: (drop (S ?0) (0) (CTail ?1 ?2 ?3) ?4) |- ? ] -> - LApply (drop_gen_drop ?2 ?1 ?4 ?3 ?0); [ Clear H; Intros | XAuto ] - | [ H: (drop ?1 (S ?2) ?3 (CTail ?4 ?5 ?6)) |- ? ] -> - LApply (drop_gen_skip_r ?4 ?3 ?6 ?1 ?2 ?5); [ Clear H; Intros H | XAuto ]; - XElim H; Intros - | [ H: (drop ?1 (S ?2) (CTail ?4 ?5 ?6) ?3) |- ? ] -> - LApply (drop_gen_skip_l ?4 ?3 ?6 ?1 ?2 ?5); [ Clear H; Intros H | XAuto ]; - XElim H; Intros. - - Section drop_props. (*****************************************************) - - Theorem drop_skip_bind: (h,d:?; c,e:?) (drop h d c e) -> (b:?; u:?) - (drop h (S d) (CTail c (Bind b) (lift h d u)) (CTail e (Bind b) u)). - Intros; Pattern 2 d; Replace d with (r (Bind b) d); XAuto. - Qed. - - Theorem drop_refl: (c:?) (drop (0) (0) c c). - XElim c; XAuto. - Qed. - - Hints Resolve drop_refl : ltlc. - - Theorem drop_S: (b:?; c,e:?; u:?; h:?) - (drop h (0) c (CTail e (Bind b) u)) -> - (drop (S h) (0) c e). - XElim c. -(* case 1: CSort *) - Intros; DropGenBase; Inversion H. -(* case 2: CTail *) - XElim h; Intros; DropGenBase. -(* case 2.1: h = 0 *) - Inversion H0; XAuto. -(* case 2.1: h > 0 *) - Apply drop_drop; RRw; XEAuto. (**) (* explicit constructor *) - Qed. - - End drop_props. - - Hints Resolve drop_skip_bind drop_refl drop_S : ltlc. - - Tactic Definition DropS := - Match Context With - [ _: (drop ?1 (0) ?2 (CTail ?3 (Bind ?4) ?5)) |- ? ] -> - LApply (drop_S ?4 ?2 ?3 ?5 ?1); [ Intros | XAuto ]. diff --git a/helm/coq-contribs/LAMBDA-TYPES/drop_props.v b/helm/coq-contribs/LAMBDA-TYPES/drop_props.v deleted file mode 100644 index 84c8676fb..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/drop_props.v +++ /dev/null @@ -1,228 +0,0 @@ -(*#* #stop file *) - -Require lift_gen. -Require drop_defs. - -(*#* #caption "main properties of drop" #clauses *) - - Section confluence. (*****************************************************) - - Tactic Definition IH := - Match Context With - [ H1: (drop ?1 ?2 c ?3); H2: (drop ?1 ?2 c ?4) |- ? ] -> - LApply (H ?4 ?2 ?1); [ Clear H H2; Intros H | XAuto ]; - LApply (H ?3); [ Clear H H1; Intros | XAuto ]. - -(*#* #caption "confluence, first case" *) -(*#* #cap #alpha c in C, x1 in C1, x2 in C2, d in i *) - - Theorem drop_mono : (c,x1:?; d,h:?) (drop h d c x1) -> - (x2:?) (drop h d c x2) -> x1 = x2. - XElim c. -(* case 1: CSort *) - Intros; Repeat DropGenBase; Rewrite H0; XAuto. -(* case 2: CTail k *) - XElim d. -(* case 2.1: d = 0 *) - XElim h; Intros; Repeat DropGenBase; Try Rewrite <- H0; XEAuto. -(* case 2.2: d > 0 *) - Intros; Repeat DropGenBase; Rewrite H1; Rewrite H2; Rewrite H5 in H3; - LiftGen; IH; XAuto. - Qed. - -(*#* #caption "confluence, second case" *) -(*#* #cap #alpha c in C1, c0 in E1, e in C2, e0 in E2, u in V1, v in V2, i in k, d in i *) - - Theorem drop_conf_lt: (b:?; i:?; u:?; c0,c:?) - (drop i (0) c (CTail c0 (Bind b) u)) -> - (e:?; h,d:?) (drop h (S (plus i d)) c e) -> - (EX v e0 | u = (lift h d v) & - (drop i (0) e (CTail e0 (Bind b) v)) & - (drop h d c0 e0) - ). - XElim i. -(* case 1 : i = 0 *) - Intros until 1. - DropGenBase. - Rewrite H in H0; Clear H. - Inversion H0; XEAuto. -(* case 2 : i > 0 *) - Intros i; XElim c. -(* case 2.1 : CSort *) - Intros; Inversion H0. -(* case 2.2 : CTail k *) - XElim k; Intros; Repeat DropGenBase; Rewrite H2; Clear H2 H3 e t. -(* case 2.2.1 : Bind *) - LApply (H u c0 c); [ Clear H H0 H1; Intros H | XAuto ]. - LApply (H x0 h d); [ Clear H H9; Intros H | XAuto ]. - XElim H; XEAuto. -(* case 2.2.2 : Flat *) - LApply H0; [ Clear H H0 H1; Intros H | XAuto ]. - LApply (H x0 h d); [ Clear H H9; Intros H | XAuto ]. - XElim H; XEAuto. - Qed. - -(*#* #caption "confluence, third case" *) -(*#* #cap #alpha c in C, a in C1, e in C2, i in k, d in i *) - - Theorem drop_conf_ge: (i:?; a,c:?) (drop i (0) c a) -> - (e:?; h,d:?) (drop h d c e) -> (le (plus d h) i) -> - (drop (minus i h) (0) e a). - XElim i. -(* case 1 : i = 0 *) - Intros until 1. - DropGenBase; Rewrite H in H0; Clear H c. - Inversion H1; Rewrite H2; Simpl; Clear H1. - PlusO; Rewrite H in H0; Rewrite H1 in H0; Clear H H1 d h. - DropGenBase; Rewrite <- H; XAuto. -(* case 2 : i > 0 *) - Intros i; XElim c. -(* case 2.1 : CSort *) - Intros; Repeat DropGenBase; Rewrite H1; Rewrite H0; XAuto. -(* case 2.2 : CTail k *) - XElim k; Intros; DropGenBase; - ( NewInduction d; - [ NewInduction h; DropGenBase; - [ Rewrite <- H2; Simpl; XAuto | Clear IHh ] - | DropGenBase; Rewrite H2; Clear IHd H2 H4 e t ] ). -(* case 2.2.1 : Bind, d = 0, h > 0 *) - LApply (H a c); [ Clear H H0 H1; Intros H | XAuto ]. - LApply (H e h (0)); XAuto. -(* case 2.2.2 : Bind, d > 0 *) - LApply (H a c); [ Clear H H0 H1; Intros H | XAuto ]. - LApply (H x0 h d); [ Clear H H4; Intros H | XAuto ]. - LApply H; [ Clear H; Simpl in H3; Intros H | XAuto ]. - Rewrite <- minus_Sn_m; XEAuto. -(* case 2.2.3 : Flat, d = 0, h > 0 *) - LApply H0; [ Clear H H0 H1; Intros H | XAuto ]. - LApply (H e (S h) (0)); XAuto. -(* case 2.2.4 : Flat, d > 0 *) - LApply H0; [ Clear H H0 H1; Intros H | XAuto ]. - LApply (H x0 h (S d)); [ Clear H H4; Intros H | XAuto ]. - LApply H; [ Clear H; Simpl in H3; Intros H | XAuto ]. - Rewrite <- minus_Sn_m in H; [ Idtac | XEAuto ]. - Rewrite <- minus_Sn_m; XEAuto. - Qed. - - End confluence. - - Section transitivity. (***************************************************) - -(*#* #caption "transitivity, first case" *) -(*#* #cap #alpha c1 in C1, c2 in C2, e1 in D1, e2 in D2, d in i, i in k *) - - Theorem drop_trans_le : (i,d:?) (le i d) -> - (c1,c2:?; h:?) (drop h d c1 c2) -> - (e2:?) (drop i (0) c2 e2) -> - (EX e1 | (drop i (0) c1 e1) & (drop h (minus d i) e1 e2)). - XElim i. -(* case 1 : i = 0 *) - Intros. - DropGenBase; Rewrite H1 in H0. - Rewrite <- minus_n_O; XEAuto. -(* case 2 : i > 0 *) - Intros i IHi; XElim d. -(* case 2.1 : d = 0 *) - Intros; Inversion H. -(* case 2.2 : d > 0 *) - Intros d IHd; XElim c1. -(* case 2.2.1 : CSort *) - Intros. - DropGenBase; Rewrite H0 in H1. - DropGenBase; Rewrite H1; XEAuto. -(* case 2.2.2 : CTail k *) - Intros c1 IHc; XElim k; Intros; - DropGenBase; Rewrite H0 in H1; Rewrite H2; Clear IHd H0 H2 c2 t; - DropGenBase. -(* case 2.2.2.1 : Bind *) - LApply (IHi d); [ Clear IHi; Intros IHi | XAuto ]. - LApply (IHi c1 x0 h); [ Clear IHi H8; Intros IHi | XAuto ]. - LApply (IHi e2); [ Clear IHi H0; Intros IHi | XAuto ]. - XElim IHi; XEAuto. -(* case 2.2.2.2 : Flat *) - LApply (IHc x0 h); [ Clear IHc H8; Intros IHc | XAuto ]. - LApply (IHc e2); [ Clear IHc H0; Intros IHc | XAuto ]. - XElim IHc; XEAuto. - Qed. - -(*#* #caption "transitivity, second case" *) -(*#* #cap #alpha c1 in C1, c2 in C, e2 in C2, d in i, i in k *) - - Theorem drop_trans_ge : (i:?; c1,c2:?; d,h:?) (drop h d c1 c2) -> - (e2:?) (drop i (0) c2 e2) -> (le d i) -> - (drop (plus i h) (0) c1 e2). - XElim i. -(* case 1: i = 0 *) - Intros. - DropGenBase; Rewrite <- H0. - Inversion H1; Rewrite H2 in H; XAuto. -(* case 2 : i > 0 *) - Intros i IHi; XElim c1; Simpl. -(* case 2.1: CSort *) - Intros. - DropGenBase; Rewrite H in H0. - DropGenBase; Rewrite H0; XAuto. -(* case 2.2: CTail *) - Intros c1 IHc; XElim d. -(* case 2.2.1: d = 0 *) - XElim h; Intros. -(* case 2.2.1.1: h = 0 *) - DropGenBase; Rewrite <- H in H0; - DropGenBase; Rewrite <- plus_n_O; XAuto. -(* case 2.2.1.2: h > 0 *) - DropGenBase; Rewrite <- plus_n_Sm. - Apply drop_drop; RRw; XEAuto. (**) (* explicit constructor *) -(* case 2.2.2: d > 0 *) - Intros d IHd; Intros. - DropGenBase; Rewrite H in IHd; Rewrite H in H0; Rewrite H2 in IHd; Rewrite H2; Clear IHd H H2 c2 t; - DropGenBase; Apply drop_drop; NewInduction k; Simpl; XEAuto. (**) (* explicit constructor *) - Qed. - - End transitivity. - - Tactic Definition DropDis := - Match Context With - [ H1: (drop ?1 ?2 ?3 ?4); H2: (drop ?1 ?2 ?3 ?5) |- ? ] -> - LApply (drop_mono ?3 ?5 ?2 ?1); [ Intros H_x | XAuto ]; - LApply (H_x ?4); [ Clear H_x H1; Intros H1; Rewrite H1 in H2 | XAuto ] - | [ H1: (drop ?0 (0) ?1 (CTail ?2 (Bind ?3) ?4)); - H2: (drop ?5 (S (plus ?0 ?6)) ?1 ?7) |- ? ] -> - LApply (drop_conf_lt ?3 ?0 ?4 ?2 ?1); [ Clear H1; Intros H1 | XAuto ]; - LApply (H1 ?7 ?5 ?6); [ Clear H1 H2; Intros H1 | XAuto ]; - XElim H1; Intros - | [ _: (drop ?0 (0) ?1 ?2); _: (drop ?5 (0) ?1 ?7); - _: (lt ?5 ?0) |- ? ] -> - LApply (drop_conf_ge ?0 ?2 ?1); [ Intros H_x | XAuto ]; - LApply (H_x ?7 ?5 (0)); [ Clear H_x; Intros H_x | XAuto ]; - Simpl in H_x; LApply H_x; [ Clear H_x; Intros | XAuto ] - | [ _: (drop ?1 (0) ?2 (CTail ?3 (Bind ?) ?)); - _: (drop (1) ?1 ?2 ?4) |- ? ] -> - LApply (drop_conf_ge (S ?1) ?3 ?2); [ Intros H_x | XEAuto ]; - LApply (H_x ?4 (1) ?1); [ Clear H_x; Intros H_x | XAuto ]; - LApply H_x; [ Clear H_x; Intros | Rewrite plus_sym; XAuto ]; ( - Match Context With - [ H: (drop (minus (S ?1) (1)) (0) ?4 ?3) |- ? ] -> - Simpl in H; Rewrite <- minus_n_O in H ) - | [ H0: (drop ?0 (0) ?1 ?2); H2: (lt ?6 ?0); - H1: (drop (1) ?6 ?1 ?7) |- ? ] -> - LApply (drop_conf_ge ?0 ?2 ?1); [ Intros H_x | XAuto ]; - LApply (H_x ?7 (1) ?6); [ Clear H_x; Intros H_x | XAuto ]; - LApply H_x; [ Clear H_x; Intros | Rewrite plus_sym; XAuto ] - | [ H0: (drop ?0 (0) ?1 ?2); - H1: (drop ?5 ?6 ?1 ?7) |- ? ] -> - LApply (drop_conf_ge ?0 ?2 ?1); [ Intros H_x | XAuto ]; - LApply (H_x ?7 ?5 ?6); [ Clear H_x; Intros H_x | XAuto ]; - LApply H_x; [ Clear H_x; Intros | XAuto ] - | [ H0: (lt ?1 ?2); - H1: (drop ?3 ?2 ?4 ?5); H2: (drop ?1 (0) ?5 ?6) |- ? ] -> - LApply (drop_trans_le ?1 ?2); [ Intros H_x | XAuto ]; - LApply (H_x ?4 ?5 ?3); [ Clear H_x H1; Intros H_x | XAuto ]; - LApply (H_x ?6); [ Clear H_x H2; Intros H_x | XAuto ]; - XElim H_x; Intros - | [ H0: (le ?1 ?2); - H1: (drop ?3 ?1 ?4 ?5); H2: (drop ?2 (0) ?5 ?6) |- ? ] -> - LApply (drop_trans_ge ?2 ?4 ?5 ?1 ?3); [ Clear H1; Intros H1 | XAuto ]; - LApply (H1 ?6); [ Clear H1 H2; Intros H1 | XAuto ]; - LApply H1; [ Clear H1; Intros | XAuto ]. - -(*#* #single *) diff --git a/helm/coq-contribs/LAMBDA-TYPES/fsubst0_defs.v b/helm/coq-contribs/LAMBDA-TYPES/fsubst0_defs.v deleted file mode 100644 index fa9404936..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/fsubst0_defs.v +++ /dev/null @@ -1,20 +0,0 @@ -Require Export subst0_defs. -Require Export csubst0_defs. - -(*#* #caption "\\kern-1.2pt axioms for strict substitution in focalized terms", - "substituted term part", - "substituted context part", - "substituted both parts" -*) -(*#* #cap #cap c1, c2, t1, t2 #alpha v in W *) - - Inductive fsubst0 [i:nat; v:T; c1:C; t1:T] : C -> T -> Prop := - | fsubst0_snd : (t2:?) (subst0 i v t1 t2) -> (fsubst0 i v c1 t1 c1 t2) - | fsubst0_fst : (c2:?) (csubst0 i v c1 c2) -> (fsubst0 i v c1 t1 c2 t1) - | fsubst0_both : (t2:?) (subst0 i v t1 t2) -> - (c2:?) (csubst0 i v c1 c2) -> (fsubst0 i v c1 t1 c2 t2). - -(*#* #stop file *) - - Hint fsubst0 : ltlc := Constructors fsubst0. - diff --git a/helm/coq-contribs/LAMBDA-TYPES/lift_defs.v b/helm/coq-contribs/LAMBDA-TYPES/lift_defs.v deleted file mode 100644 index 8b69ec4b4..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/lift_defs.v +++ /dev/null @@ -1,238 +0,0 @@ -(*#* #stop file *) - -Require Export terms_defs. - - Fixpoint lref_map [g:nat->nat; d:nat; t:T] : T := Cases t of - | (TSort n) => (TSort n) - | (TLRef n) => - if (blt n d) then (TLRef n) else (TLRef (g n)) - | (TTail k u t) => - (TTail k (lref_map g d u) (lref_map g (s k d) t)) - end. - - Definition lift : nat -> nat -> T -> T := - [h](lref_map [x](plus x h)). - - Section lift_rw. (********************************************************) - - Theorem lift_sort: (n:?; h,d:?) (lift h d (TSort n)) = (TSort n). - XAuto. - Qed. - - Theorem lift_lref_lt: (n:?; h,d:?) (lt n d) -> - (lift h d (TLRef n)) = (TLRef n). - Intros; Unfold lift; Simpl. - Replace (blt n d) with true; XAuto. - Qed. - - Theorem lift_lref_ge: (n:?; h,d:?) (le d n) -> - (lift h d (TLRef n)) = (TLRef (plus n h)). - - Intros; Unfold lift; Simpl. - Replace (blt n d) with false; XAuto. - Qed. - - Theorem lift_tail: (k:?; u,t:?; h,d:?) - (lift h d (TTail k u t)) = - (TTail k (lift h d u) (lift h (s k d) t)). - XAuto. - Qed. - - Theorem lift_bind: (b:?; u,t:?; h,d:?) - (lift h d (TTail (Bind b) u t)) = - (TTail (Bind b) (lift h d u) (lift h (S d) t)). - XAuto. - Qed. - - Theorem lift_flat: (f:?; u,t:?; h,d:?) - (lift h d (TTail (Flat f) u t)) = - (TTail (Flat f) (lift h d u) (lift h d t)). - XAuto. - Qed. - - End lift_rw. - - Hints Resolve lift_lref_lt lift_bind lift_flat : ltlc. - - Tactic Definition LiftTailRw := - Repeat (Rewrite lift_tail Orelse Rewrite lift_bind Orelse Rewrite lift_flat). - - Tactic Definition LiftTailRwBack := - Repeat (Rewrite <- lift_tail Orelse Rewrite <- lift_bind Orelse Rewrite <- lift_flat). - - Section lift_gen. (*******************************************************) - - Theorem lift_gen_sort: (h,d,n:?; t:?) (TSort n) = (lift h d t) -> - t = (TSort n). - XElim t; Intros. -(* case 1 : TSort *) - XAuto. -(* case 2 : TLRef n0 *) - Apply (lt_le_e n0 d); Intros. -(* case 2.1 : n0 < d *) - Rewrite lift_lref_lt in H; [ Inversion H | XAuto ]. -(* case 2.2 : n0 >= d *) - Rewrite lift_lref_ge in H; [ Inversion H | XAuto ]. -(* case 3 : TTail k *) - Rewrite lift_tail in H1; Inversion H1. - Qed. - - Theorem lift_gen_lref_lt: (h,d,n:?) (lt n d) -> - (t:?) (TLRef n) = (lift h d t) -> - t = (TLRef n). - XElim t; Intros. -(* case 1 : TSort *) - XAuto. -(* case 2 : TLRef n0 *) - Apply (lt_le_e n0 d); Intros. -(* case 2.1 : n0 < d *) - Rewrite lift_lref_lt in H0; XAuto. -(* case 2.2 : n0 >= d *) - Rewrite lift_lref_ge in H0; [ Inversion H0; Clear H0 | XAuto ]. - Rewrite H3 in H; Clear H3 n. - EApply le_false; [ Apply H1 | XEAuto ]. -(* case 3 : TTail k *) - Rewrite lift_tail in H2; Inversion H2. - Qed. - - Theorem lift_gen_lref_false: (h,d,n:?) (le d n) -> (lt n (plus d h)) -> - (t:?) (TLRef n) = (lift h d t) -> - (P:Prop) P. - XElim t; Intros. -(* case 1 : TSort *) - Inversion H1. -(* case 2 : TLRef n0 *) - Apply (lt_le_e n0 d); Intros. -(* case 2.1 : n0 < d *) - Rewrite lift_lref_lt in H1; [ Inversion H1; Clear H1 | XAuto ]. - Rewrite <- H4 in H2; Clear H4 n0. - EApply le_false; [ Apply H | XEAuto ]. -(* case 2.2 : n0 >= d *) - Rewrite lift_lref_ge in H1; [ Inversion H1; Clear H1 | XAuto ]. - Rewrite H4 in H0; Clear H4. - EApply le_false; [ Apply H2 | XEAuto ]. -(* case 3 : TTail k *) - Rewrite lift_tail in H3; Inversion H3. - Qed. - - Theorem lift_gen_lref_ge: (h,d,n:?) (le d n) -> - (t:?) (TLRef (plus n h)) = (lift h d t) -> - t = (TLRef n). - XElim t; Intros. -(* case 1 : TSort *) - Inversion H0. -(* case 2 : TLRef n0 *) - Apply (lt_le_e n0 d); Intros. -(* case 2.1 : n0 < d *) - Rewrite lift_lref_lt in H0; [ Inversion H0; Clear H0 | XAuto ]. - Rewrite <- H3 in H1; Clear H3 n0. - EApply le_false; [ Apply H | XEAuto ]. -(* case 2.2 : n0 >= d *) - Rewrite lift_lref_ge in H0; [ Inversion H0; XEAuto | XAuto ]. -(* case 3 : TTail k *) - Rewrite lift_tail in H2; Inversion H2. - Qed. - -(* NOTE: lift_gen_tail should be used instead of these two *) (**) - Theorem lift_gen_bind: (b:?; u,t,x:?; h,d:?) - (TTail (Bind b) u t) = (lift h d x) -> - (EX y z | x = (TTail (Bind b) y z) & - u = (lift h d y) & - t = (lift h (S d) z) - ). - XElim x; Intros. -(* case 1 : TSort *) - Inversion H. -(* case 2 : TLRef n *) - Apply (lt_le_e n d); Intros. -(* case 2.1 : n < d *) - Rewrite lift_lref_lt in H; [ Inversion H | XAuto ]. -(* case 2.2 : n >= d *) - Rewrite lift_lref_ge in H; [ Inversion H | XAuto ]. -(* case 3 : TTail k *) - Rewrite lift_tail in H1; Inversion H1. - XEAuto. - Qed. - - Theorem lift_gen_flat: (f:?; u,t,x:?; h,d:?) - (TTail (Flat f) u t) = (lift h d x) -> - (EX y z | x = (TTail (Flat f) y z) & - u = (lift h d y) & - t = (lift h d z) - ). - XElim x; Intros. -(* case 1 : TSort *) - Inversion H. -(* case 2 : TLRef n *) - Apply (lt_le_e n d); Intros. -(* case 2.1 : n < d *) - Rewrite lift_lref_lt in H; [ Inversion H | XAuto ]. -(* case 2.2 : n >= d *) - Rewrite lift_lref_ge in H; [ Inversion H | XAuto ]. -(* case 3 : TTail k *) - Rewrite lift_tail in H1; Inversion H1. - XEAuto. - Qed. - - End lift_gen. - - Tactic Definition LiftGenBase := - Match Context With - | [ H: (TSort ?0) = (lift ?1 ?2 ?3) |- ? ] -> - LApply (lift_gen_sort ?1 ?2 ?0 ?3); [ Clear H; Intros | XAuto ] - | [ H1: (le ?1 ?2); H2: (lt ?2 (plus ?1 ?3)); - H3: (TLRef ?2) = (lift ?3 ?1 ?4) |- ? ] -> - Apply (lift_gen_lref_false ?3 ?1 ?2 H1 H2 ?4 H3); XAuto - | [ _: (TLRef ?1) = (lift (S ?1) (0) ?2) |- ? ] -> - EApply lift_gen_lref_false; [ Idtac | Idtac | XEAuto ]; XEAuto - | [ H: (TLRef ?1) = (lift (1) ?1 ?2) |- ? ] -> - LApply (lift_gen_lref_false (1) ?1 ?1); [ Intros H_x | XAuto ]; - LApply H_x; [ Clear H_x; Intros H_x | Arith7' ?1; XAuto ]; - LApply (H_x ?2); [ Clear H_x; Intros H_x | XAuto ]; - Apply H_x - | [ H: (TLRef (plus ?0 ?1)) = (lift ?1 ?2 ?3) |- ? ] -> - LApply (lift_gen_lref_ge ?1 ?2 ?0); [ Intros H_x | XAuto ]; - LApply (H_x ?3); [ Clear H_x H; Intros | XAuto ] - | [ H1: (TLRef ?0) = (lift ?1 ?2 ?3); H2: (lt ?0 ?4) |- ? ] -> - LApply (lift_gen_lref_lt ?1 ?2 ?0); - [ Intros H_x | Apply lt_le_trans with m:=?4; XEAuto ]; - LApply (H_x ?3); [ Clear H_x H1; Intros | XAuto ] - | [ H: (TLRef ?0) = (lift ?1 ?2 ?3) |- ? ] -> - LApply (lift_gen_lref_lt ?1 ?2 ?0); [ Intros H_x | XEAuto ]; - LApply (H_x ?3); [ Clear H_x H; Intros | XAuto ] - | [ H: (TTail (Bind ?0) ?1 ?2) = (lift ?3 ?4 ?5) |- ? ] -> - LApply (lift_gen_bind ?0 ?1 ?2 ?5 ?3 ?4); [ Clear H; Intros H | XAuto ]; - XElim H; Intros - | [ H: (TTail (Flat ?0) ?1 ?2) = (lift ?3 ?4 ?5) |- ? ] -> - LApply (lift_gen_flat ?0 ?1 ?2 ?5 ?3 ?4); [ Clear H; Intros H | XAuto ]; - XElim H; Intros. - - Section lift_props. (*****************************************************) - - Theorem lift_r: (t:?; d:?) (lift (0) d t) = t. - XElim t; Intros. -(* case 1: TSort *) - XAuto. -(* case 2: TLRef n *) - Apply (lt_le_e n d); Intros. -(* case 2.1: n < d *) - Rewrite lift_lref_lt; XAuto. -(* case 2.2: n >= d *) - Rewrite lift_lref_ge; XAuto. -(* case 3: TTail *) - LiftTailRw; XAuto. - Qed. - - Theorem lift_lref_gt : (d,n:?) (lt d n) -> - (lift (1) d (TLRef (pred n))) = (TLRef n). - Intros. - Rewrite lift_lref_ge. -(* case 1: first branch *) - Rewrite <- plus_sym; Simpl; Rewrite <- (S_pred n d); XAuto. -(* case 2: second branch *) - Apply le_S_n; Rewrite <- (S_pred n d); XAuto. - Qed. - - End lift_props. - - Hints Resolve lift_r lift_lref_gt : ltlc. diff --git a/helm/coq-contribs/LAMBDA-TYPES/lift_gen.v b/helm/coq-contribs/LAMBDA-TYPES/lift_gen.v deleted file mode 100644 index 63b74709d..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/lift_gen.v +++ /dev/null @@ -1,116 +0,0 @@ -(*#* #stop file *) - -Require lift_defs. - - Section lift_ini. (*******************************************************) - - Tactic Definition IH := - Match Context With - | [ H1: (lift ?1 ?2 t) = (lift ?1 ?2 ?3) |- ? ] -> - LApply (H ?3 ?1 ?2); [ Clear H H1; Intros | XAuto ] - | [ H1: (lift ?1 ?2 t0) = (lift ?1 ?2 ?3) |- ? ] -> - LApply (H0 ?3 ?1 ?2); [ Clear H0 H1; Intros | XAuto ]. - -(*#* #caption "main properties of lift" #clauses lift_props *) - -(*#* #caption "injectivity" *) -(*#* #cap #alpha x in T1, t in T2, d in i *) - - Theorem lift_inj : (x,t:?; h,d:?) (lift h d x) = (lift h d t) -> x = t. - XElim x. -(* case 1 : TSort *) - Intros; Rewrite lift_sort in H; LiftGenBase; XAuto. -(* case 2 : TLRef n *) - Intros; Apply (lt_le_e n d); Intros. -(* case 2.1 : n < d *) - Rewrite lift_lref_lt in H; [ LiftGenBase; XAuto | XAuto ]. -(* case 2.2 : n >= d *) - Rewrite lift_lref_ge in H; [ LiftGenBase; XAuto | XAuto ]. -(* case 3 : TTail k *) - XElim k; Intros; [ Rewrite lift_bind in H1 | Rewrite lift_flat in H1 ]; - LiftGenBase; Rewrite H1; IH; IH; XAuto. - Qed. - - End lift_ini. - - Section lift_gen_lift. (**************************************************) - - Tactic Definition IH := - Match Context With - | [ H_x: (lift ?0 ?1 t) = (lift ?2 (plus ?3 ?0) ?4) |- ? ] -> - LApply (H ?4 ?0 ?2 ?1 ?3); [ Clear H; Intros H | XAuto ]; - LApply H; [ Clear H H_x; Intros H | XAuto ]; - XElim H; Intros - | [ H_x: (lift ?0 ?1 t0) = (lift ?2 (plus ?3 ?0) ?4) |- ? ] -> - LApply (H0 ?4 ?0 ?2 ?1 ?3); [ Clear H0; Intros H0 | XAuto ]; - LApply H0; [ Clear H0 H_x; Intros H0 | XAuto ]; - XElim H0; Intros. - -(*#* #caption "generation lemma for lift" *) -(*#* #cap #cap t1 #alpha t2 in T, x in T2, d1 in i1, d2 in i2 *) - - Theorem lift_gen_lift : (t1,x:?; h1,h2,d1,d2:?) (le d1 d2) -> - (lift h1 d1 t1) = (lift h2 (plus d2 h1) x) -> - (EX t2 | x = (lift h1 d1 t2) & - t1 = (lift h2 d2 t2) - ). - XElim t1; Intros. -(* case 1 : TSort *) - Rewrite lift_sort in H0. - LiftGenBase; Rewrite H0; Clear H0 x. - EApply ex2_intro; Rewrite lift_sort; XAuto. -(* case 2 : TLRef n *) - Apply (lt_le_e n d1); Intros. -(* case 2.1 : n < d1 *) - Rewrite lift_lref_lt in H0; [ Idtac | XAuto ]. - LiftGenBase; Rewrite H0; Clear H0 x. - EApply ex2_intro; Rewrite lift_lref_lt; XEAuto. -(* case 2.2 : n >= d1 *) - Rewrite lift_lref_ge in H0; [ Idtac | XAuto ]. - Apply (lt_le_e n d2); Intros. -(* case 2.2.1 : n < d2 *) - LiftGenBase; Rewrite H0; Clear H0 x. - EApply ex2_intro; [ Rewrite lift_lref_ge | Rewrite lift_lref_lt ]; XEAuto. -(* case 2.2.2 : n >= d2 *) - Apply (lt_le_e n (plus d2 h2)); Intros. -(* case 2.2.2.1 : n < d2 + h2 *) - EApply lift_gen_lref_false; [ Idtac | Idtac | Apply H0 ]; - [ XAuto | Rewrite plus_permute_2_in_3; XAuto ]. -(* case 2.2.2.2 : n >= d2 + h2 *) - Rewrite (le_plus_minus_sym h2 (plus n h1)) in H0; [ Idtac | XEAuto ]. - LiftGenBase; Rewrite H0; Clear H0 x. - EApply ex2_intro; - [ Rewrite le_minus_plus; [ Idtac | XEAuto ] - | Rewrite (le_plus_minus_sym h2 n); [ Idtac | XEAuto ] ]; - Rewrite lift_lref_ge; XEAuto. -(* case 3 : TTail k *) - NewInduction k. -(* case 3.1 : Bind *) - Rewrite lift_bind in H2. - LiftGenBase; Rewrite H2; Clear H2 x. - IH; Rewrite H; Rewrite H2; Clear H H2 x0. - Arith4In H4 d2 h1; IH; Rewrite H; Rewrite H0; Clear H H0 x1 t t0. - EApply ex2_intro; Rewrite lift_bind; XAuto. -(* case 3.2 : Flat *) - Rewrite lift_flat in H2. - LiftGenBase; Rewrite H2; Clear H2 x. - IH; Rewrite H; Rewrite H2; Clear H H2 x0. - IH; Rewrite H; Rewrite H0; Clear H H0 x1 t t0. - EApply ex2_intro; Rewrite lift_flat; XAuto. - Qed. - - End lift_gen_lift. - - Tactic Definition LiftGen := - Match Context With - | [ H: (lift ?1 ?2 ?3) = (lift ?1 ?2 ?4) |- ? ] -> - LApply (lift_inj ?3 ?4 ?1 ?2); [ Clear H; Intros | XAuto ] - | [ H: (lift ?0 ?1 ?2) = (lift ?3 (plus ?4 ?0) ?5) |- ? ] -> - LApply (lift_gen_lift ?2 ?5 ?0 ?3 ?1 ?4); [ Intros H_x | XAuto ]; - LApply H_x; [ Clear H H_x; Intros H | XAuto ]; - XElim H; Intros - | [ H: (lift (1) (0) ?1) = (lift (1) (S ?2) ?3) |- ? ] -> - LApply (lift_gen_lift ?1 ?3 (1) (1) (0) ?2); [ Intros H_x | XAuto ]; - LApply H_x; [ Clear H_x H; Intros H | Arith7' ?2; XAuto ]; - XElim H; Intros - | _ -> LiftGenBase. diff --git a/helm/coq-contribs/LAMBDA-TYPES/lift_props.v b/helm/coq-contribs/LAMBDA-TYPES/lift_props.v deleted file mode 100644 index 366ad999b..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/lift_props.v +++ /dev/null @@ -1,43 +0,0 @@ -(*#* #stop file *) - -Require lift_defs. - - Section lift_props. (*****************************************************) - - Theorem lift_free: (t:?; h,k,d,e:?) (le e (plus d h)) -> (le d e) -> - (lift k e (lift h d t)) = (lift (plus k h) d t). - XElim t; Intros. -(* case 1: TSort *) - Repeat Rewrite lift_sort; XAuto. -(* case 2: TLRef n *) - Apply (lt_le_e n d); Intros. -(* case 2.1: n < d *) - Repeat Rewrite lift_lref_lt; XEAuto. -(* case 2.2: n >= d *) - Repeat Rewrite lift_lref_ge; XEAuto. -(* case 3: TTail k *) - LiftTailRw; XAuto. - Qed. - - Theorem lift_d : (t:?; h,k,d,e:?) (le e d) -> - (lift h (plus k d) (lift k e t)) = (lift k e (lift h d t)). - XElim t; Intros. -(* case 1: TSort *) - Repeat Rewrite lift_sort; XAuto. -(* case 2: TLRef n *) - Apply (lt_le_e n e); Intros. -(* case 2.1: n < e *) - Cut (lt n d); Intros; Repeat Rewrite lift_lref_lt; XEAuto. -(* case 2.2: n >= e *) - Rewrite lift_lref_ge; [ Idtac | XAuto ]. - Rewrite plus_sym; Apply (lt_le_e n d); Intros. -(* case 2.2.1: n < d *) - Do 2 (Rewrite lift_lref_lt; [ Idtac | XAuto ]). - Rewrite lift_lref_ge; XAuto. -(* case 2.2.2: n >= d *) - Repeat Rewrite lift_lref_ge; XAuto. -(* case 3: TTail k *) - LiftTailRw; SRw; XAuto. - Qed. - - End lift_props. diff --git a/helm/coq-contribs/LAMBDA-TYPES/lift_tlt.v b/helm/coq-contribs/LAMBDA-TYPES/lift_tlt.v deleted file mode 100644 index 7319f3264..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/lift_tlt.v +++ /dev/null @@ -1,87 +0,0 @@ -(*#* #stop file *) - -Require tlt_defs. -Require lift_defs. - - Hint discr : ltlc := Extern 4 (lt (weight_map (wadd ? ?) (lift (S ?) ? ?)) (wadd ? ? ?)) - Simpl; Rewrite <- lift_weight_add_O. - - Hint discr : ltlc := Extern 4 (lt (weight_map ? (lift (0) (0) ?)) ?) - Rewrite lift_r. - - Section lift_tlt_props. (*************************************************) - - Theorem lift_weight_map: (t:?; h,d:?; f:?) - ((m:?) (le d m) -> (f m)=(0)) -> - (weight_map f (lift h d t)) = (weight_map f t). - XElim t; Intros. -(* case 1: TSort *) - XAuto. -(* case 2: TLRef n *) - Apply (lt_le_e n d); Intros. -(* case 2.1: n < d *) - Rewrite lift_lref_lt; XAuto. -(* case 2.2: n >= d *) - Rewrite lift_lref_ge; [ Simpl | XAuto ]. - Rewrite (H n); XAuto. -(* case 3: TTail k *) - XElim k; Intros; LiftTailRw; Simpl. -(* case 3.1: Bind *) - XElim b; [ Rewrite H; [ Idtac | XAuto ] | Idtac | Idtac ]; - Rewrite H0; Intros; Try (LeLtGen; Rewrite H2; Simpl); XAuto. -(* case 3.2: Flat *) - XAuto. - Qed. - - Hints Resolve lift_weight_map : ltlc. - - Theorem lift_weight : (t:?; h,d:?) (weight (lift h d t)) = (weight t). - Unfold weight; XAuto. - Qed. - - Theorem lift_weight_add : (w:?; t:?; h,d:?; f,g:?) - ((m:?) (lt m d) -> (g m) = (f m)) -> - (g d) = w -> - ((m:?) (le d m) -> (g (S m)) = (f m)) -> - (weight_map f (lift h d t)) = - (weight_map g (lift (S h) d t)). - XElim t; Intros. -(* case 1: TSort *) - XAuto. -(* case 2: TLRef *) - Apply (lt_le_e n d); Intros. -(* case 2.1: n < d *) - Repeat Rewrite lift_lref_lt; Simpl; XAuto. -(* case 2.2: n >= d *) - Repeat Rewrite lift_lref_ge; Simpl; Try Rewrite <- plus_n_Sm; XAuto. -(* case 3: TTail k *) - XElim k; Intros; LiftTailRw; Simpl. -(* case 1 : bind b *) - XElim b; Simpl; - Apply (f_equal nat); - (Apply (f_equal2 nat nat); [ XAuto | Idtac ]); - ( Apply H0; Simpl; Intros; Try (LeLtGen; Rewrite H4; Simpl); XAuto). -(* case 2 : Flat *) - XAuto. - Qed. - - Theorem lift_weight_add_O: (w:?; t:?; h:?; f:?) - (weight_map f (lift h (0) t)) = - (weight_map (wadd f w) (lift (S h) (0) t)). - Intros. - EApply lift_weight_add; XAuto. - Intros; Inversion H. - Qed. - - Theorem lift_tlt_dx: (k:?; u,t:?; h,d:?) - (tlt t (TTail k u (lift h d t))). - Unfold tlt; Intros. - Rewrite <- (lift_weight t h d). - Fold (tlt (lift h d t) (TTail k u (lift h d t))); XAuto. - Qed. - - End lift_tlt_props. - - Hints Resolve lift_tlt_dx : ltlc. - -(*#* #single *) diff --git a/helm/coq-contribs/LAMBDA-TYPES/pc1_defs.v b/helm/coq-contribs/LAMBDA-TYPES/pc1_defs.v deleted file mode 100644 index 22b4fcefb..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pc1_defs.v +++ /dev/null @@ -1,50 +0,0 @@ -(*#* #stop file *) - -Require Export pr0_defs. -Require Export pr1_defs. - - Definition pc1 := [t1,t2:?] (EX t | (pr1 t1 t) & (pr1 t2 t)). - - Hints Unfold pc1 : ltlc. - - Tactic Definition Pc1Unfold := - Match Context With - [ H: (pc1 ?2 ?3) |- ? ] -> Unfold pc1 in H; XDecompose H. - - Section pc1_props. (******************************************************) - - Theorem pc1_pr0_r: (t1,t2:?) (pr0 t1 t2) -> (pc1 t1 t2). - XEAuto. - Qed. - - Theorem pc1_pr0_x: (t1,t2:?) (pr0 t2 t1) -> (pc1 t1 t2). - XEAuto. - Qed. - - Theorem pc1_pr0_u: (t2,t1:?) (pr0 t1 t2) -> - (t3:?) (pc1 t2 t3) -> (pc1 t1 t3). - Intros; Pc1Unfold; XEAuto. - Qed. - - Theorem pc1_refl: (t:?) (pc1 t t). - XEAuto. - Qed. - - Theorem pc1_s: (t2,t1:?) (pc1 t1 t2) -> (pc1 t2 t1). - Intros; Pc1Unfold; XEAuto. - Qed. - - Theorem pc1_tail_1: (u1,u2:?) (pc1 u1 u2) -> - (t:?; k:?) (pc1 (TTail k u1 t) (TTail k u2 t)). - Intros; Pc1Unfold; XEAuto. - Qed. - - Theorem pc1_tail_2: (t1,t2:?) (pc1 t1 t2) -> - (u:?; k:?) (pc1 (TTail k u t1) (TTail k u t2)). - Intros; Pc1Unfold; XEAuto. - Qed. - - End pc1_props. - - Hints Resolve pc1_refl pc1_pr0_u pc1_pr0_r pc1_pr0_x pc1_s - pc1_tail_1 pc1_tail_2 : ltlc. diff --git a/helm/coq-contribs/LAMBDA-TYPES/pc1_props.v b/helm/coq-contribs/LAMBDA-TYPES/pc1_props.v deleted file mode 100644 index 840a79c84..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pc1_props.v +++ /dev/null @@ -1,25 +0,0 @@ -Require pr1_confluence. -Require pc1_defs. - -(*#* #stop file *) - - Section pc1_trans. (******************************************************) - - Theorem pc1_t: (t2,t1:?) (pc1 t1 t2) -> - (t3:?) (pc1 t2 t3) -> (pc1 t1 t3). - Intros; Repeat Pc1Unfold; Pr1Confluence; XEAuto. - Qed. - - Theorem pc1_pr0_u2: (t0,t1:?) (pr0 t0 t1) -> - (t2:?) (pc1 t0 t2) -> (pc1 t1 t2). - Intros; Apply (pc1_t t0); XAuto. - Qed. - - Theorem pc1_tail: (u1,u2:?) (pc1 u1 u2) -> (t1,t2:?) (pc1 t1 t2) -> - (k:?) (pc1 (TTail k u1 t1) (TTail k u2 t2)). - Intros; EApply pc1_t; [ EApply pc1_tail_1 | EApply pc1_tail_2 ]; XAuto. - Qed. - - End pc1_trans. - - Hints Resolve pc1_t pc1_tail : ltlc. diff --git a/helm/coq-contribs/LAMBDA-TYPES/pc3_defs.v b/helm/coq-contribs/LAMBDA-TYPES/pc3_defs.v deleted file mode 100644 index 35b114f40..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pc3_defs.v +++ /dev/null @@ -1,84 +0,0 @@ -Require Export pr2_defs. -Require Export pr3_defs. -Require Export pc1_defs. - -(*#* #caption "the relation $\\PcT{}{}{}$" *) -(*#* #cap #cap c, t, t1, t2 *) - - Definition pc3 := [c:?; t1,t2:?] (EX t | (pr3 c t1 t) & (pr3 c t2 t)). - -(*#* #stop file *) - - Hints Unfold pc3 : ltlc. - - Tactic Definition Pc3Unfold := - Match Context With - [ H: (pc3 ?1 ?2 ?3) |- ? ] -> Unfold pc3 in H; XDecompose H. - - Section pc3_props. (******************************************************) - - Theorem pc3_pr2_r: (c,t1,t2:?) (pr2 c t1 t2) -> (pc3 c t1 t2). - XEAuto. - Qed. - - Theorem pc3_pr2_x: (c,t1,t2:?) (pr2 c t2 t1) -> (pc3 c t1 t2). - XEAuto. - Qed. - - Theorem pc3_pr3_r: (c:?; t1,t2) (pr3 c t1 t2) -> (pc3 c t1 t2). - XEAuto. - Qed. - - Theorem pc3_pr3_x: (c:?; t1,t2) (pr3 c t2 t1) -> (pc3 c t1 t2). - XEAuto. - Qed. - - Theorem pc3_pr3_t: (c:?; t1,t0:?) (pr3 c t1 t0) -> - (t2:?) (pr3 c t2 t0) -> (pc3 c t1 t2). - XEAuto. - Qed. - - Theorem pc3_pr2_u: (c:?; t2,t1:?) (pr2 c t1 t2) -> - (t3:?) (pc3 c t2 t3) -> (pc3 c t1 t3). - Intros; Pc3Unfold; XEAuto. - Qed. - - Theorem pc3_refl: (c:?; t:?) (pc3 c t t). - XEAuto. - Qed. - - Theorem pc3_s: (c,t2,t1:?) (pc3 c t1 t2) -> (pc3 c t2 t1). - Intros; Pc3Unfold; XEAuto. - Qed. - - Theorem pc3_thin_dx: (c:? ;t1,t2:?) (pc3 c t1 t2) -> - (u:?; f:?) (pc3 c (TTail (Flat f) u t1) - (TTail (Flat f) u t2)). - Intros; Pc3Unfold; XEAuto. - Qed. - - Theorem pc3_tail_1: (c:?; u1,u2:?) (pc3 c u1 u2) -> - (k:?; t:?) (pc3 c (TTail k u1 t) (TTail k u2 t)). - Intros; Pc3Unfold; XEAuto. - Qed. - - Theorem pc3_tail_2: (c:?; u,t1,t2:?; k:?) (pc3 (CTail c k u) t1 t2) -> - (pc3 c (TTail k u t1) (TTail k u t2)). - Intros; Pc3Unfold; XEAuto. - Qed. - - Theorem pc3_shift: (h:?; c,e:?) (drop h (0) c e) -> - (t1,t2:?) (pc3 c t1 t2) -> - (pc3 e (app c h t1) (app c h t2)). - Intros; Pc3Unfold; XEAuto. - Qed. - - Theorem pc3_pc1: (t1,t2:?) (pc1 t1 t2) -> (c:?) (pc3 c t1 t2). - Intros; Pc1Unfold; XEAuto. - Qed. - - End pc3_props. - - Hints Resolve pc3_refl pc3_pr2_r pc3_pr2_x pc3_pr3_r pc3_pr3_x - pc3_s pc3_pr3_t pc3_thin_dx pc3_tail_1 pc3_tail_2 - pc3_pr2_u pc3_shift pc3_pc1 : ltlc. diff --git a/helm/coq-contribs/LAMBDA-TYPES/pc3_gen.v b/helm/coq-contribs/LAMBDA-TYPES/pc3_gen.v deleted file mode 100644 index 8a27227e6..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pc3_gen.v +++ /dev/null @@ -1,88 +0,0 @@ -(*#* #stop file *) - -Require lift_gen. -Require pr3_props. -Require pr3_gen. -Require pc3_defs. -Require pc3_props. - - Section pc3_gen. (********************************************************) - - Theorem pc3_gen_sort: (c:?; m,n:?) (pc3 c (TSort m) (TSort n)) -> m = n. - Intros; Pc3Unfold; Repeat Pr3GenBase. - Rewrite H0 in H; Clear H0 x c. - TGenBase; XAuto. - Qed. - - Theorem pc3_gen_abst: (c:?; u1,u2,t1,t2:?) - (pc3 c (TTail (Bind Abst) u1 t1) - (TTail (Bind Abst) u2 t2) - ) -> - (pc3 c u1 u2) /\ - (b:?; u:?) (pc3 (CTail c (Bind b) u) t1 t2). - Intros. - Pc3Unfold; Repeat Pr3GenBase; Rewrite H1 in H; Clear H1 x. - TGenBase; Rewrite H1 in H4; Rewrite H6 in H5. - XEAuto. - Qed. - - Theorem pc3_gen_lift: (c:?; t1,t2:?; h,d:?) - (pc3 c (lift h d t1) (lift h d t2)) -> - (e:?) (drop h d c e) -> - (pc3 e t1 t2). - Intros. - Pc3Unfold; Repeat Pr3Gen; Rewrite H2 in H; Clear H2 x. - LiftGen; Rewrite H in H4; XEAuto. - Qed. - - Theorem pc3_gen_not_abst: (b:?) ~b=Abst -> (c:?; t1,t2,u1,u2:?) - (pc3 c (TTail (Bind b) u1 t1) - (TTail (Bind Abst) u2 t2) - ) -> - (pc3 (CTail c (Bind b) u1) t1 - (lift (1) (0) (TTail (Bind Abst) u2 t2)) - ). - XElim b; Intros; - Try EqFalse; Pc3Unfold; Repeat Pr3Gen; - Try (Rewrite H0 in H3; TGenBase); - Rewrite H1 in H0; Clear H H1 x; - EApply pc3_pr3_t; XEAuto. - Qed. - - Theorem pc3_gen_lift_abst: (c:?; t,t2,u2:?; h,d:?) - (pc3 c (lift h d t) - (TTail (Bind Abst) u2 t2) - ) -> - (e:?) (drop h d c e) -> - (EX u1 t1 | (pr3 e t (TTail (Bind Abst) u1 t1)) & - (pr3 c u2 (lift h d u1)) & - (b:B; u:T)(pr3 (CTail c (Bind b) u) t2 (lift h (S d) t1)) - ). - Intros. - Pc3Unfold; Repeat Pr3Gen; Rewrite H1 in H; Clear H1 x. - LiftGenBase; Rewrite H in H3; Rewrite H1 in H4; Rewrite H2 in H5; XEAuto. - Qed. - - End pc3_gen. - - Tactic Definition Pc3Gen := - Match Context With - | [H: (pc3 ?1 (TSort ?2) (TSort ?3)) |- ? ] -> - LApply (pc3_gen_sort ?1 ?2 ?3); [ Clear H; Intros | XAuto ] - | [ _: (pc3 ?1 (lift ?2 ?3 ?4) (lift ?2 ?3 ?5)); - _: (drop ?2 ?3 ?1 ?6) |- ? ] -> - LApply (pc3_gen_lift ?1 ?4 ?5 ?2 ?3); [ Intros H_x | XAuto ]; - LApply (H_x ?6); [ Clear H_x; Intros | XAuto ] - | [ H: (pc3 ?1 (TTail (Bind Abst) ?2 ?3) (TTail (Bind Abst) ?4 ?5)) |- ? ] -> - LApply (pc3_gen_abst ?1 ?2 ?4 ?3 ?5);[ Clear H; Intros H | XAuto ]; - XElim H; Intros - | [ H: (pc3 ?1 (TTail (Bind ?2) ?3 ?4) (TTail (Bind Abst) ?5 ?6)); - _: ~ ?2 = Abst |- ? ] -> - LApply (pc3_gen_not_abst ?2); [ Intros H_x | XAuto ]; - LApply (H_x ?1 ?4 ?6 ?3 ?5); [ Clear H H_x; Intros | XAuto ] - | [ _: (pc3 ?1 (lift ?2 ?3 ?4) (TTail (Bind Abst) ?5 ?6)); - _: (drop ?2 ?3 ?1 ?7) |- ? ] -> - LApply (pc3_gen_lift_abst ?1 ?4 ?6 ?5 ?2 ?3); [ Intros H_x | XAuto ]; - LApply (H_x ?7); [ Clear H_x; Intros H_x | XAuto ]; - XElim H_x; Intros - | _ -> Pr3Gen. diff --git a/helm/coq-contribs/LAMBDA-TYPES/pc3_gen_context.v b/helm/coq-contribs/LAMBDA-TYPES/pc3_gen_context.v deleted file mode 100644 index 42f03f2ab..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pc3_gen_context.v +++ /dev/null @@ -1,22 +0,0 @@ -(*#* #stop file *) - -Require subst1_confluence. -Require csubst1_defs. -Require pr3_gen_context. -Require pc3_defs. -Require pc3_props. - - Section pc3_gen_context. (************************************************) - - Theorem pc3_gen_cabbr: (c:?; t1,t2:?) (pc3 c t1 t2) -> (e:?; u:?; d:?) - (drop d (0) c (CTail e (Bind Abbr) u)) -> - (a0:?) (csubst1 d u c a0) -> - (a:?) (drop (1) d a0 a) -> - (x1:?) (subst1 d u t1 (lift (1) d x1)) -> - (x2:?) (subst1 d u t2 (lift (1) d x2)) -> - (pc3 a x1 x2). - Intros; Pc3Unfold; Repeat Pr3GenContext. - Subst1Confluence; Rewrite H3 in H5; Clear H3 x3; XEAuto. - Qed. - - End pc3_gen_context. diff --git a/helm/coq-contribs/LAMBDA-TYPES/pc3_props.v b/helm/coq-contribs/LAMBDA-TYPES/pc3_props.v deleted file mode 100644 index 28aa03150..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pc3_props.v +++ /dev/null @@ -1,233 +0,0 @@ -(*#* #stop file *) - -Require subst0_subst0. -Require pr0_subst0. -Require cpr0_defs. -Require pr3_defs. -Require pr3_props. -Require pr3_confluence. -Require pc3_defs. - - Section pc3_trans. (******************************************************) - - Theorem pc3_t: (t2,c,t1:?) (pc3 c t1 t2) -> - (t3:?) (pc3 c t2 t3) -> (pc3 c t1 t3). - Intros; Repeat Pc3Unfold; Pr3Confluence; XEAuto. - Qed. - - Theorem pc3_pr2_u2: (c:?; t0,t1:?) (pr2 c t0 t1) -> - (t2:?) (pc3 c t0 t2) -> (pc3 c t1 t2). - Intros; Apply (pc3_t t0); XAuto. - Qed. - - Theorem pc3_tail_12: (c:?; u1,u2:?) (pc3 c u1 u2) -> - (k:?; t1,t2:?) (pc3 (CTail c k u2) t1 t2) -> - (pc3 c (TTail k u1 t1) (TTail k u2 t2)). - Intros. - EApply pc3_t; [ Apply pc3_tail_1 | Apply pc3_tail_2 ]; XAuto. - Qed. - - Theorem pc3_tail_21: (c:?; u1,u2:?) (pc3 c u1 u2) -> - (k:?; t1,t2:?) (pc3 (CTail c k u1) t1 t2) -> - (pc3 c (TTail k u1 t1) (TTail k u2 t2)). - Intros. - EApply pc3_t; [ Apply pc3_tail_2 | Apply pc3_tail_1 ]; XAuto. - Qed. - - End pc3_trans. - - Hints Resolve pc3_t pc3_tail_12 pc3_tail_21 : ltlc. - - Tactic Definition Pc3T := - Match Context With - | [ _: (pr3 ?1 ?2 (TTail ?3 ?4 ?5)); _: (pc3 ?1 ?6 ?4) |- ? ] -> - LApply (pc3_t (TTail ?3 ?4 ?5) ?1 ?2); [ Intros H_x | XAuto ]; - LApply (H_x (TTail ?3 ?6 ?5)); [ Clear H_x; Intros | Apply pc3_s; XAuto ] - | [ _: (pc3 ?1 ?2 ?3); _: (pr3 ?1 ?3 ?4) |- ? ] -> - LApply (pc3_t ?3 ?1 ?2); [ Intros H_x | XAuto ]; - LApply (H_x ?4); [ Clear H_x; Intros | XAuto ] - | [ _: (pc3 ?1 ?2 ?3); _: (pc3 ?1 ?4 ?3) |- ? ] -> - LApply (pc3_t ?3 ?1 ?2); [ Intros H_x | XAuto ]; - LApply (H_x ?4); [ Clear H_x; Intros | XAuto ]. - - Section pc3_context. (****************************************************) - - Theorem pc3_pr0_pr2_t: (u1,u2:?) (pr0 u2 u1) -> - (c:?; t1,t2:?; k:?) (pr2 (CTail c k u2) t1 t2) -> - (pc3 (CTail c k u1) t1 t2). - Intros. - Inversion H0; Clear H0; [ XAuto | NewInduction i ]. -(* case 1: pr2_delta i = 0 *) - DropGenBase; Inversion H0; Clear H0 H4 H5 H6 c k t. - Rewrite H7 in H; Clear H7 u2. - Pr0Subst0; Apply pc3_pr3_t with t0:=x; XEAuto. -(* case 2: pr2_delta i > 0 *) - NewInduction k; DropGenBase; XEAuto. - Qed. - - Theorem pc3_pr2_pr2_t: (c:?; u1,u2:?) (pr2 c u2 u1) -> - (t1,t2:?; k:?) (pr2 (CTail c k u2) t1 t2) -> - (pc3 (CTail c k u1) t1 t2). - Intros until 1; Inversion H; Clear H; Intros. -(* case 1: pr2_free *) - EApply pc3_pr0_pr2_t; [ Apply H0 | XAuto ]. -(* case 2: pr2_delta *) - Inversion H; [ XAuto | NewInduction i0 ]. -(* case 2.1: i0 = 0 *) - DropGenBase; Inversion H4; Clear H3 H4 H7 t t4. - Rewrite <- H9; Rewrite H10 in H; Rewrite <- H11 in H6; Clear H9 H10 H11 d0 k u0. - Pr0Subst0; Subst0Subst0; Arith9'In H6 i. - EApply pc3_pr2_u. - EApply pr2_delta; XEAuto. - Apply pc3_pr2_x; EApply pr2_delta; [ Idtac | XEAuto | XEAuto ]; XEAuto. -(* case 2.2: i0 > 0 *) - Clear IHi0; NewInduction k; DropGenBase; XEAuto. - Qed. - - Theorem pc3_pr2_pr3_t: (c:?; u2,t1,t2:?; k:?) - (pr3 (CTail c k u2) t1 t2) -> - (u1:?) (pr2 c u2 u1) -> - (pc3 (CTail c k u1) t1 t2). - Intros until 1; XElim H; Intros. -(* case 1: pr3_refl *) - XAuto. -(* case 2: pr3_sing *) - EApply pc3_t. - EApply pc3_pr2_pr2_t; [ Apply H2 | Apply H ]. - XAuto. - Qed. - - Theorem pc3_pr3_pc3_t: (c:?; u1,u2:?) (pr3 c u2 u1) -> - (t1,t2:?; k:?) (pc3 (CTail c k u2) t1 t2) -> - (pc3 (CTail c k u1) t1 t2). - Intros until 1; XElim H; Intros. -(* case 1: pr3_refl *) - XAuto. -(* case 2: pr3_sing *) - Apply H1; Pc3Unfold. - EApply pc3_t; [ Idtac | Apply pc3_s ]; EApply pc3_pr2_pr3_t; XEAuto. - Qed. - - End pc3_context. - - Tactic Definition Pc3Context := - Match Context With - | [ H1: (pr0 ?3 ?2); H2: (pr2 (CTail ?1 ?4 ?3) ?5 ?6) |- ? ] -> - LApply (pc3_pr0_pr2_t ?2 ?3); [ Clear H1; Intros H1 | XAuto ]; - LApply (H1 ?1 ?5 ?6 ?4); [ Clear H1 H2; Intros | XAuto ] - | [ H1: (pr0 ?3 ?2); H2: (pr3 (CTail ?1 ?4 ?3) ?5 ?6) |- ? ] -> - LApply (pc3_pr2_pr3_t ?1 ?3 ?5 ?6 ?4); [ Clear H2; Intros H2 | XAuto ]; - LApply (H2 ?2); [ Clear H1 H2; Intros | XAuto ] - | [ H1: (pr2 ?1 ?3 ?2); H2: (pr2 (CTail ?1 ?4 ?3) ?5 ?6) |- ? ] -> - LApply (pc3_pr2_pr2_t ?1 ?2 ?3); [ Clear H1; Intros H1 | XAuto ]; - LApply (H1 ?5 ?6 ?4); [ Clear H1 H2; Intros | XAuto ] - | [ H1: (pr2 ?1 ?3 ?2); H2: (pr3 (CTail ?1 ?4 ?3) ?5 ?6) |- ? ] -> - LApply (pc3_pr2_pr3_t ?1 ?3 ?5 ?6 ?4); [ Clear H2; Intros H2 | XAuto ]; - LApply (H2 ?2); [ Clear H1 H2; Intros | XAuto ] - | [ H1: (pr3 ?1 ?3 ?2); H2: (pc3 (CTail ?1 ?4 ?3) ?5 ?6) |- ? ] -> - LApply (pc3_pr3_pc3_t ?1 ?2 ?3); [ Clear H1; Intros H1 | XAuto ]; - LApply (H1 ?5 ?6 ?4); [ Clear H1 H2; Intros | XAuto ] - | _ -> Pr3Context. - - Section pc3_lift. (*******************************************************) - - Theorem pc3_lift: (c,e:?; h,d:?) (drop h d c e) -> - (t1,t2:?) (pc3 e t1 t2) -> - (pc3 c (lift h d t1) (lift h d t2)). - - Intros. - Pc3Unfold. - EApply pc3_pr3_t; (EApply pr3_lift; [ XEAuto | Apply H1 Orelse Apply H2 ]). - Qed. - - End pc3_lift. - - Hints Resolve pc3_lift : ltlc. - - Section pc3_cpr0. (*******************************************************) - - Remark pc3_cpr0_t_aux: (c1,c2:?) (cpr0 c1 c2) -> - (k:?; u,t1,t2:?) (pr3 (CTail c1 k u) t1 t2) -> - (pc3 (CTail c2 k u) t1 t2). - Intros; XElim H0; Intros. -(* case 1.1: pr3_refl *) - XAuto. -(* case 1.2: pr3_sing *) - EApply pc3_t; [ Idtac | XEAuto ]. Clear H2 t1 t2. - Inversion_clear H0. -(* case 1.2.1: pr2_free *) - XAuto. -(* case 1.2.2: pr2_delta *) - Cpr0Drop; Pr0Subst0. - EApply pc3_pr2_u; [ EApply pr2_delta; XEAuto | XAuto ]. - Qed. - - Theorem pc3_cpr0_t: (c1,c2:?) (cpr0 c1 c2) -> - (t1,t2:?) (pr3 c1 t1 t2) -> - (pc3 c2 t1 t2). - Intros until 1; XElim H; Intros. -(* case 1: cpr0_refl *) - XAuto. -(* case 2: cpr0_comp *) - Pc3Context; Pc3Unfold. - EApply pc3_t; [ Idtac | Apply pc3_s ]; EApply pc3_cpr0_t_aux; XEAuto. - Qed. - - Theorem pc3_cpr0: (c1,c2:?) (cpr0 c1 c2) -> (t1,t2:?) (pc3 c1 t1 t2) -> - (pc3 c2 t1 t2). - Intros; Pc3Unfold. - EApply pc3_t; [ Idtac | Apply pc3_s ]; EApply pc3_cpr0_t; XEAuto. - Qed. - - End pc3_cpr0. - - Hints Resolve pc3_cpr0 : ltlc. - - Section pc3_ind_left. (***************************************************) - - Inductive pc3_left [c:C] : T -> T -> Prop := - | pc3_left_r : (t:?) (pc3_left c t t) - | pc3_left_ur: (t1,t2:?) (pr2 c t1 t2) -> (t3:?) (pc3_left c t2 t3) -> - (pc3_left c t1 t3) - | pc3_left_ux: (t1,t2:?) (pr2 c t1 t2) -> (t3:?) (pc3_left c t1 t3) -> - (pc3_left c t2 t3). - - Hint pc3_left: ltlc := Constructors pc3_left. - - Remark pc3_left_pr3: (c:?; t1,t2:?) (pr3 c t1 t2) -> (pc3_left c t1 t2). - Intros; XElim H; XEAuto. - Qed. - - Remark pc3_left_trans: (c:?; t1,t2:?) (pc3_left c t1 t2) -> - (t3:?) (pc3_left c t2 t3) -> (pc3_left c t1 t3). - Intros until 1; XElim H; XEAuto. - Qed. - - Hints Resolve pc3_left_trans : ltlc. - - Remark pc3_left_sym: (c:?; t1,t2:?) (pc3_left c t1 t2) -> - (pc3_left c t2 t1). - Intros; XElim H; XEAuto. - Qed. - - Hints Resolve pc3_left_sym pc3_left_pr3 : ltlc. - - Remark pc3_left_pc3: (c:?; t1,t2:?) (pc3 c t1 t2) -> (pc3_left c t1 t2). - Intros; Pc3Unfold; XEAuto. - Qed. - - Remark pc3_pc3_left: (c:?; t1,t2:?) (pc3_left c t1 t2) -> (pc3 c t1 t2). - Intros; XElim H; XEAuto. - Qed. - - Hints Resolve pc3_left_pc3 pc3_pc3_left : ltlc. - - Theorem pc3_ind_left: (c:C; P:(T->T->Prop)) - ((t:T) (P t t)) -> - ((t1,t2:T) (pr2 c t1 t2) -> (t3:T) (pc3 c t2 t3) -> (P t2 t3) -> (P t1 t3)) -> - ((t1,t2:T) (pr2 c t1 t2) -> (t3:T) (pc3 c t1 t3) -> (P t1 t3) -> (P t2 t3)) -> - (t,t0:T) (pc3 c t t0) -> (P t t0). - Intros; ElimType (pc3_left c t t0); XEAuto. - Qed. - - End pc3_ind_left. diff --git a/helm/coq-contribs/LAMBDA-TYPES/pc3_subst0.v b/helm/coq-contribs/LAMBDA-TYPES/pc3_subst0.v deleted file mode 100644 index 02a5d8a38..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pc3_subst0.v +++ /dev/null @@ -1,136 +0,0 @@ -(*#* #stop file *) - -Require subst0_subst0. -Require fsubst0_defs. -Require pr0_subst0. -Require pc3_defs. -Require pc3_props. - - Section pc3_fsubst0. (****************************************************) - - Theorem pc3_pr2_fsubst0: (c1:?; t1,t:?) (pr2 c1 t1 t) -> - (i:?; u,c2,t2:?) (fsubst0 i u c1 t1 c2 t2) -> - (e:?) (drop i (0) c1 (CTail e (Bind Abbr) u)) -> - (pc3 c2 t2 t). - Intros until 1; XElim H. -(* case 1: pr2_free *) - Intros until 2; XElim H0; Intros. -(* case 1.1: fsubst0_snd *) - Pr0Subst0; [ XAuto | Apply (pc3_pr2_u c1 x); XEAuto ]. -(* case 1.2: fsubst0_fst *) - XAuto. -(* case 1.3: fsubst0_both *) - Pr0Subst0; CSubst0Drop; [ XAuto | Apply (pc3_pr2_u c0 x); XEAuto ]. -(* case 2 : pr2_delta *) - Intros until 4; XElim H2; Intros. -(* case 2.1: fsubst0_snd. *) - Apply (pc3_t t1); [ Apply pc3_s; XEAuto | XEAuto ]. -(* case 2.2: fsubst0_fst. *) - Apply (lt_le_e i i0); Intros; CSubst0Drop. -(* case 2.2.1: i < i0, none *) - XEAuto. -(* case 2.2.2: i < i0, csubst0_snd *) - CGenBase; Rewrite <- H8 in H5; Rewrite <- H9 in H5; Rewrite <- H9 in H6; Rewrite <- H10 in H6; Clear H8 H9 H10 c2 t3 x0 x1 x2. - Subst0Subst0; Rewrite <- lt_plus_minus_r in H7; [ CSubst0Drop | XAuto ]. - Apply (pc3_pr2_u c0 x); XEAuto. -(* case 2.2.3: i < i0, csubst0_fst *) - CGenBase; Rewrite <- H8 in H6; Rewrite <- H9 in H5; Rewrite <- H9 in H6; Rewrite <- H10 in H5; Clear H8 H9 H10 c2 t3 x0 x1 x3. - Apply pc3_pr2_r; XEAuto. -(* case 2.2.4: i < i0, csubst0_both *) - CGenBase; Rewrite <- H9 in H7; Rewrite <- H10 in H5; Rewrite <- H10 in H6; Rewrite <- H10 in H7; Rewrite <- H11 in H6; Clear H9 H10 H11 c2 t3 x0 x1 x3. - Subst0Subst0; Rewrite <- lt_plus_minus_r in H8; [ CSubst0Drop | XAuto ]. - Apply (pc3_pr2_u c0 x); XEAuto. -(* case 2.2.5: i >= i0 *) - XEAuto. -(* case 2.3: fsubst0_both *) - Apply (lt_le_e i i0); Intros; CSubst0Drop. -(* case 2.3.1 : i < i0, none *) - CSubst0Drop; Apply pc3_pr2_u2 with t0 := t1; XEAuto. -(* case 2.3.2 : i < i0, csubst0_snd *) - CGenBase; Rewrite <- H9 in H6; Rewrite <- H10 in H6; Rewrite <- H10 in H7; Rewrite <- H11 in H7; Clear H9 H10 H11 c2 t3 x0 x1 x2. - Subst0Subst0; Rewrite <- lt_plus_minus_r in H8; [ CSubst0Drop | XAuto ]. - Apply (pc3_pr2_u2 c0 t1); [ Idtac | Apply (pc3_pr2_u c0 x) ]; XEAuto. -(* case 2.3.3: i < i0, csubst0_fst *) - CGenBase; Rewrite <- H9 in H7; Rewrite <- H10 in H6; Rewrite <- H10 in H7; Rewrite <- H11 in H6; Clear H9 H10 H11 c2 t3 x0 x1 x3. - CSubst0Drop; Apply (pc3_pr2_u2 c0 t1); [ Idtac | Apply pc3_pr2_r ]; XEAuto. -(* case 2.3.4: i < i0, csubst0_both *) - CGenBase; Rewrite <- H10 in H8; Rewrite <- H11 in H6; Rewrite <- H11 in H7; Rewrite <- H11 in H8; Rewrite <- H12 in H7; Clear H10 H11 H12 c2 t3 x0 x1 x3. - Subst0Subst0; Rewrite <- lt_plus_minus_r in H9; [ CSubst0Drop | XAuto ]. - Apply (pc3_pr2_u2 c0 t1); [ Idtac | Apply (pc3_pr2_u c0 x) ]; XEAuto. -(* case 2.3.5: i >= i0 *) - CSubst0Drop; Apply (pc3_pr2_u2 c0 t1); XEAuto. - Qed. - - Theorem pc3_pr2_fsubst0_back: (c1:?; t,t1:?) (pr2 c1 t t1) -> - (i:?; u,c2,t2:?) (fsubst0 i u c1 t1 c2 t2) -> - (e:?) (drop i (0) c1 (CTail e (Bind Abbr) u)) -> - (pc3 c2 t t2). - Intros until 1; XElim H. -(* case 1: pr2_free *) - Intros until 2; XElim H0; Intros. -(* case 1.1: fsubst0_snd. *) - Apply (pc3_pr2_u c1 t2); XEAuto. -(* case 1.2: fsubst0_fst. *) - XAuto. -(* case 1.3: fsubst0_both. *) - CSubst0Drop; Apply (pc3_pr2_u c0 t2); XEAuto. -(* case 2: pr2_delta *) - Intros until 4; XElim H2; Intros. -(* case 2.1: fsubst0_snd. *) - Apply (pc3_t t2); Apply pc3_pr3_r; XEAuto. -(* case 2.2: fsubst0_fst. *) - Apply (lt_le_e i i0); Intros; CSubst0Drop. -(* case 2.2.1: i < i0, none *) - XEAuto. -(* case 2.2.2: i < i0, csubst0_bind *) - CGenBase; Rewrite <- H8 in H5; Rewrite <- H9 in H5; Rewrite <- H9 in H6; Rewrite <- H10 in H6; Clear H8 H9 H10 c2 t3 x0 x1 x2. - Subst0Subst0; Rewrite <- lt_plus_minus_r in H7; [ CSubst0Drop | XAuto ]. - Apply (pc3_pr2_u c0 x); XEAuto. -(* case 2.2.3: i < i0, csubst0_fst *) - CGenBase; Rewrite <- H8 in H6; Rewrite <- H9 in H5; Rewrite <- H9 in H6; Rewrite <- H10 in H5; Clear H8 H9 H10 c2 t3 x0 x1 x3. - Apply pc3_pr2_r; XEAuto. -(* case 2.2.4: i < i0, csubst0_both *) - CGenBase; Rewrite <- H9 in H7; Rewrite <- H10 in H5; Rewrite <- H10 in H6; Rewrite <- H10 in H7; Rewrite <- H11 in H6; Clear H9 H10 H11 c2 t3 x0 x1 x3. - Subst0Subst0; Rewrite <- lt_plus_minus_r in H8; [ CSubst0Drop | XAuto ]. - Apply (pc3_pr2_u c0 x); XEAuto. -(* case 2.2.5: i >= i0 *) - XEAuto. -(* case 2.3: fsubst0_both *) - Apply (lt_le_e i i0); Intros; CSubst0Drop. -(* case 2.3.1 : i < i0, none *) - CSubst0Drop; Apply pc3_pr2_u with t2:=t2; Try Apply pc3_pr3_r; XEAuto. -(* case 2.3.2 : i < i0, csubst0_snd *) - CGenBase; Rewrite <- H9 in H6; Rewrite <- H10 in H6; Rewrite <- H10 in H7; Rewrite <- H11 in H7; Clear H9 H10 H11 c2 t3 x0 x1 x2. - Subst0Subst0; Rewrite <- lt_plus_minus_r in H8; [ CSubst0Drop | XAuto ]. - Apply (pc3_pr2_u c0 x); [ Idtac | Apply (pc3_pr2_u2 c0 t0) ]; XEAuto. -(* case 2.3.3: i < i0, csubst0_fst *) - CGenBase; Rewrite <- H9 in H7; Rewrite <- H10 in H6; Rewrite <- H10 in H7; Rewrite <- H11 in H6; Clear H9 H10 H11 c2 t3 x0 x1 x3. - CSubst0Drop; Apply (pc3_pr2_u c0 t0); [ Idtac | Apply pc3_pr2_r ]; XEAuto. -(* case 2.3.4: i < i0, csubst0_both *) - CGenBase; Rewrite <- H10 in H8; Rewrite <- H11 in H6; Rewrite <- H11 in H7; Rewrite <- H11 in H8; Rewrite <- H12 in H7; Clear H10 H11 H12 c2 t3 x0 x1 x3. - Subst0Subst0; Rewrite <- lt_plus_minus_r in H9; [ CSubst0Drop | XAuto ]. - Apply (pc3_pr2_u c0 x); [ Idtac | Apply (pc3_pr2_u2 c0 t0) ]; XEAuto. -(* case 2.3.5: i >= i0 *) - CSubst0Drop; Apply (pc3_pr2_u c0 t0); XEAuto. - Qed. - - Opaque pc3. - - Theorem pc3_fsubst0: (c1:?; t1,t:?) (pc3 c1 t1 t) -> - (i:?; u,c2,t2:?) (fsubst0 i u c1 t1 c2 t2) -> - (e:?) (drop i (0) c1 (CTail e (Bind Abbr) u)) -> - (pc3 c2 t2 t). - Intros until 1; XElimUsing pc3_ind_left H. -(* case 1: pc3_refl *) - Intros until 1; XElim H; Intros; Try CSubst0Drop; XEAuto. -(* case 2: pc3_pr2_u *) - Intros until 4; XElim H2; Intros; - (Apply (pc3_t t2); [ EApply pc3_pr2_fsubst0; XEAuto | XEAuto ]). -(* case 2: pc3_pr2_u2 *) - Intros until 4; XElim H2; Intros; - (Apply (pc3_t t0); [ Apply pc3_s; EApply pc3_pr2_fsubst0_back; XEAuto | XEAuto ]). - Qed. - - End pc3_fsubst0. - - Hints Resolve pc3_fsubst0 : ltlc. diff --git a/helm/coq-contribs/LAMBDA-TYPES/pr0_confluence.v b/helm/coq-contribs/LAMBDA-TYPES/pr0_confluence.v deleted file mode 100644 index c23d6743f..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pr0_confluence.v +++ /dev/null @@ -1,176 +0,0 @@ -(*#* #stop file *) - -Require tlt_defs. -Require lift_gen. -Require lift_tlt. -Require subst0_gen. -Require subst0_confluence. -Require pr0_defs. -Require pr0_lift. -Require pr0_gen. -Require pr0_subst0. - - Section pr0_confluence. (*************************************************) - - Tactic Definition SSubstInv := - Match Context With - | [ H0: (TTail ? ? ?) = (TTail ? ? ?) |- ? ] -> - Inversion H0; Clear H0 - | [ H0: (pr0 (TTail (Bind ?) ? ?) ?) |- ? ] -> - Inversion H0; Clear H0 - | _ -> EqFalse Orelse LiftGen Orelse Pr0Gen. - - Tactic Definition SSubstBack := - Match Context With - | [ H0: Abst = ?1; H1:? |- ? ] -> - Rewrite <- H0 in H1 Orelse Rewrite <- H0 Orelse Clear H0 ?1 - | [ H0: Abbr = ?1; H1:? |- ? ] -> - Rewrite <- H0 in H1 Orelse Rewrite <- H0 Orelse Clear H0 ?1 - | [ H0: (? ?) = ?1; H1:? |- ? ] -> - Rewrite <- H0 in H1 Orelse Rewrite <- H0 Orelse Clear H0 ?1 - | [ H0: (? ? ? ?) = ?1; H1:? |- ? ] -> - Rewrite <- H0 in H1 Orelse Rewrite <- H0 Orelse Clear H0 ?1. - - Tactic Definition SSubst := - Match Context With - [ H0: ?1 = ?; H1:? |- ? ] -> - Rewrite H0 in H1 Orelse Rewrite H0 Orelse Clear H0 ?1. - - Tactic Definition XSubst := - Repeat (SSubstInv Orelse SSubstBack Orelse SSubst). - - Tactic Definition IH := - Match Context With - | [ H0: (pr0 ?1 ?2); H1: (pr0 ?1 ?3) |- ? ] -> - LApply (H ?1); [ Intros H_x | XEAuto ]; - LApply (H_x ?2); [ Clear H_x; Intros H_x | XAuto ]; - LApply (H_x ?3); [ Clear H_x; Intros H_x | XAuto ]; - XElim H_x; Clear H0 H1; Intros. - -(* case pr0_cong pr0_upsilon pr0_refl ***************************************) - - Remark pr0_cong_upsilon_refl: (b:?) ~ b = Abst -> - (u0,u3:?) (pr0 u0 u3) -> - (t4,t5:?) (pr0 t4 t5) -> - (u2,v2,x:?) (pr0 u2 x) -> (pr0 v2 x) -> - (EX t:T | (pr0 (TTail (Flat Appl) u2 (TTail (Bind b) u0 t4)) t) & - (pr0 (TTail (Bind b) u3 (TTail (Flat Appl) (lift (1) (0) v2) t5)) t)). - Intros. - Apply ex2_intro with x:=(TTail (Bind b) u3 (TTail (Flat Appl) (lift (1) (0) x) t5)); XAuto. - Qed. - -(* case pr0_cong pr0_upsilon pr0_cong ***************************************) - - Remark pr0_cong_upsilon_cong: (b:?) ~ b = Abst -> - (u2,v2,x:?) (pr0 u2 x) -> (pr0 v2 x) -> - (t2,t5,x0:?) (pr0 t2 x0) -> (pr0 t5 x0) -> - (u5,u3,x1:?) (pr0 u5 x1) -> (pr0 u3 x1) -> - (EX t:T | (pr0 (TTail (Flat Appl) u2 (TTail (Bind b) u5 t2)) t) & - (pr0 (TTail (Bind b) u3 (TTail (Flat Appl) (lift (1) (0) v2) t5)) t)). - Intros. - Apply ex2_intro with x:=(TTail (Bind b) x1 (TTail (Flat Appl) (lift (1) (0) x) x0)); XAuto. - Qed. - -(* case pr0_cong pr0_upsilon pr0_delta **************************************) - - Remark pr0_cong_upsilon_delta: ~ Abbr = Abst -> - (u5,t2,w:?) (subst0 (0) u5 t2 w) -> - (u2,v2,x:?) (pr0 u2 x) -> (pr0 v2 x) -> - (t5,x0:?) (pr0 t2 x0) -> (pr0 t5 x0) -> - (u3,x1:?) (pr0 u5 x1) -> (pr0 u3 x1) -> - (EX t:T | (pr0 (TTail (Flat Appl) u2 (TTail (Bind Abbr) u5 w)) t) & - (pr0 (TTail (Bind Abbr) u3 (TTail (Flat Appl) (lift (1) (0) v2) t5)) t)). - Intros; Pr0Subst0. -(* case 1: x0 is a lift *) - Apply ex2_intro with x:=(TTail (Bind Abbr) x1 (TTail (Flat Appl) (lift (1) (0) x) x0)); XAuto. -(* case 2: x0 is not a lift *) - Apply ex2_intro with x:=(TTail (Bind Abbr) x1 (TTail (Flat Appl) (lift (1) (0) x) x2)); XEAuto. - Qed. - -(* case pr0_cong pr0_upsilon pr0_zeta ***************************************) - - Remark pr0_cong_upsilon_zeta: (b:?) ~ b = Abst -> - (u0,u3:?) (pr0 u0 u3) -> - (u2,v2,x0:?) (pr0 u2 x0) -> (pr0 v2 x0) -> - (x,t3,x1:?) (pr0 x x1) -> (pr0 t3 x1) -> - (EX t:T | (pr0 (TTail (Flat Appl) u2 t3) t) & - (pr0 (TTail (Bind b) u3 (TTail (Flat Appl) (lift (1) (0) v2) (lift (1) (0) x))) t)). - Intros; LiftTailRwBack; XEAuto. - Qed. - -(* case pr0_cong pr0_delta **************************************************) - - Remark pr0_cong_delta: (u3,t5,w:?) (subst0 (0) u3 t5 w) -> - (u2,x:?) (pr0 u2 x) -> (pr0 u3 x) -> - (t3,x0:?) (pr0 t3 x0) -> (pr0 t5 x0) -> - (EX t:T | (pr0 (TTail (Bind Abbr) u2 t3) t) & - (pr0 (TTail (Bind Abbr) u3 w) t)). - Intros; Pr0Subst0; XEAuto. - Qed. - -(* case pr0_upsilon pr0_upsilon *********************************************) - - Remark pr0_upsilon_upsilon: (b:?) ~ b = Abst -> - (v1,v2,x0:?) (pr0 v1 x0) -> (pr0 v2 x0) -> - (u1,u2,x1:?) (pr0 u1 x1) -> (pr0 u2 x1) -> - (t1,t2,x2:?) (pr0 t1 x2) -> (pr0 t2 x2) -> - (EX t:T | (pr0 (TTail (Bind b) u1 (TTail (Flat Appl) (lift (1) (0) v1) t1)) t) & - (pr0 (TTail (Bind b) u2 (TTail (Flat Appl) (lift (1) (0) v2) t2)) t)). - Intros. - Apply ex2_intro with x:=(TTail (Bind b) x1 (TTail (Flat Appl) (lift (1) (0) x0) x2)); XAuto. - Qed. - -(* case pr0_delta pr0_delta *************************************************) - - Remark pr0_delta_delta: (u2,t3,w:?) (subst0 (0) u2 t3 w) -> - (u3,t5,w0:?) (subst0 (0) u3 t5 w0) -> - (x:?) (pr0 u2 x) -> (pr0 u3 x) -> - (x0:?) (pr0 t3 x0) -> (pr0 t5 x0) -> - (EX t:T | (pr0 (TTail (Bind Abbr) u2 w) t) & - (pr0 (TTail (Bind Abbr) u3 w0) t)). - Intros; Pr0Subst0; Pr0Subst0; Try Subst0Confluence; XSubst; XEAuto. - Qed. - -(* case pr0_delta pr0_epsilon ***********************************************) - - Remark pr0_delta_epsilon: (u2,t3,w:?) (subst0 (0) u2 t3 w) -> - (t4:?) (pr0 (lift (1) (0) t4) t3) -> - (t2:?) (EX t:T | (pr0 (TTail (Bind Abbr) u2 w) t) & (pr0 t2 t)). - Intros; Pr0Gen; XSubst; Subst0Gen. - Qed. - -(* main *********************************************************************) - - Hints Resolve pr0_cong_upsilon_refl pr0_cong_upsilon_cong : ltlc. - Hints Resolve pr0_cong_upsilon_delta pr0_cong_upsilon_zeta : ltlc. - Hints Resolve pr0_cong_delta : ltlc. - Hints Resolve pr0_upsilon_upsilon : ltlc. - Hints Resolve pr0_delta_delta pr0_delta_epsilon : ltlc. - -(*#* #start file *) - -(*#* #caption "confluence with itself: Church-Rosser property" *) -(*#* #cap #cap t0, t1, t2, t *) - - Theorem pr0_confluence: (t0,t1:?) (pr0 t0 t1) -> (t2:?) (pr0 t0 t2) -> - (EX t | (pr0 t1 t) & (pr0 t2 t)). - -(*#* #stop file *) - - XElimUsing tlt_wf_ind t0; Intros. - Inversion H0; Inversion H1; Clear H0 H1; - XSubst; Repeat IH; XDEAuto 4. - Qed. - - End pr0_confluence. - - Tactic Definition Pr0Confluence := - Match Context With - [ H1: (pr0 ?1 ?2); H2: (pr0 ?1 ?3) |-? ] -> - LApply (pr0_confluence ?1 ?2); [ Clear H1; Intros H1 | XAuto ]; - LApply (H1 ?3); [ Clear H1 H2; Intros H1 | XAuto ]; - XElim H1; Intros. - -(*#* #start file *) - -(*#* #single *) diff --git a/helm/coq-contribs/LAMBDA-TYPES/pr0_defs.v b/helm/coq-contribs/LAMBDA-TYPES/pr0_defs.v deleted file mode 100644 index 640b56f1f..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pr0_defs.v +++ /dev/null @@ -1,101 +0,0 @@ -Require Export subst0_defs. - -(*#* #caption "axioms for the relation $\\PrZ{}{}$", - "reflexivity", "compatibility", "$\\beta$-contraction", "$\\upsilon$-swap", - "$\\delta$-expansion", "$\\zeta$-contraction", "$\\epsilon$-contraction" -*) -(*#* #cap #cap t, t1, t2 #alpha u in V, u1 in V1, u2 in V2, v1 in W1, v2 in W2, w in T, k in z *) - - Inductive pr0 : T -> T -> Prop := -(* structural rules *) - | pr0_refl : (t:?) (pr0 t t) - | pr0_comp : (u1,u2:?) (pr0 u1 u2) -> (t1,t2:?) (pr0 t1 t2) -> - (k:?) (pr0 (TTail k u1 t1) (TTail k u2 t2)) -(* axiom rules *) - | pr0_beta : (u,v1,v2:?) (pr0 v1 v2) -> (t1,t2:?) (pr0 t1 t2) -> - (pr0 (TTail (Flat Appl) v1 (TTail (Bind Abst) u t1)) - (TTail (Bind Abbr) v2 t2)) - | pr0_upsilon: (b:?) ~b=Abst -> (v1,v2:?) (pr0 v1 v2) -> - (u1,u2:?) (pr0 u1 u2) -> (t1,t2:?) (pr0 t1 t2) -> - (pr0 (TTail (Flat Appl) v1 (TTail (Bind b) u1 t1)) - (TTail (Bind b) u2 (TTail (Flat Appl) (lift (1) (0) v2) t2))) - | pr0_delta : (u1,u2:?) (pr0 u1 u2) -> (t1,t2:?) (pr0 t1 t2) -> - (w:?) (subst0 (0) u2 t2 w) -> - (pr0 (TTail (Bind Abbr) u1 t1) (TTail (Bind Abbr) u2 w)) - | pr0_zeta : (b:?) ~b=Abst -> (t1,t2:?) (pr0 t1 t2) -> - (u:?) (pr0 (TTail (Bind b) u (lift (1) (0) t1)) t2) - | pr0_epsilon: (t1,t2:?) (pr0 t1 t2) -> - (u:?) (pr0 (TTail (Flat Cast) u t1) t2). - -(*#* #stop file *) - - Hint pr0 : ltlc := Constructors pr0. - - Section pr0_gen_base. (***************************************************) - - Theorem pr0_gen_sort : (x:?; n:?) (pr0 (TSort n) x) -> x = (TSort n). - Intros; Inversion H; XAuto. - Qed. - - Theorem pr0_gen_lref : (x:?; n:?) (pr0 (TLRef n) x) -> x = (TLRef n). - Intros; Inversion H; XAuto. - Qed. - - Theorem pr0_gen_abst : (u1,t1,x:?) (pr0 (TTail (Bind Abst) u1 t1) x) -> - (EX u2 t2 | x = (TTail (Bind Abst) u2 t2) & - (pr0 u1 u2) & (pr0 t1 t2) - ). - - Intros; Inversion H; Clear H. -(* case 1 : pr0_refl *) - XEAuto. -(* case 2 : pr0_cont *) - XEAuto. -(* case 3 : pr0_zeta *) - XElim H4; XAuto. - Qed. - - Theorem pr0_gen_appl : (u1,t1,x:?) (pr0 (TTail (Flat Appl) u1 t1) x) -> (OR - (EX u2 t2 | x = (TTail (Flat Appl) u2 t2) & - (pr0 u1 u2) & (pr0 t1 t2) - ) | - (EX y1 z1 u2 t2 | t1 = (TTail (Bind Abst) y1 z1) & - x = (TTail (Bind Abbr) u2 t2) & - (pr0 u1 u2) & (pr0 z1 t2) - ) | - (EX b y1 z1 u2 v2 t2 | - ~b=Abst & - t1 = (TTail (Bind b) y1 z1) & - x = (TTail (Bind b) v2 (TTail (Flat Appl) (lift (1) (0) u2) t2)) & - (pr0 u1 u2) & (pr0 y1 v2) & (pr0 z1 t2)) - ). - Intros; Inversion H; XEAuto. - Qed. - - Theorem pr0_gen_cast : (u1,t1,x:?) (pr0 (TTail (Flat Cast) u1 t1) x) -> - (EX u2 t2 | x = (TTail (Flat Cast) u2 t2) & - (pr0 u1 u2) & (pr0 t1 t2) - ) \/ - (pr0 t1 x). - Intros; Inversion H; XEAuto. - Qed. - - End pr0_gen_base. - - Hints Resolve pr0_gen_sort pr0_gen_lref : ltlc. - - Tactic Definition Pr0GenBase := - Match Context With - | [ H: (pr0 (TSort ?1) ?2) |- ? ] -> - LApply (pr0_gen_sort ?2 ?1); [ Clear H; Intros | XAuto ] - | [ H: (pr0 (TLRef ?1) ?2) |- ? ] -> - LApply (pr0_gen_lref ?2 ?1); [ Clear H; Intros | XAuto ] - | [ H: (pr0 (TTail (Bind Abst) ?1 ?2) ?3) |- ? ] -> - LApply (pr0_gen_abst ?1 ?2 ?3); [ Clear H; Intros H | XAuto ]; - XElim H; Intros - | [ H: (pr0 (TTail (Flat Appl) ?1 ?2) ?3) |- ? ] -> - LApply (pr0_gen_appl ?1 ?2 ?3); [ Clear H; Intros H | XAuto ]; - XElim H; Intros H; XElim H; Intros - | [ H: (pr0 (TTail (Flat Cast) ?1 ?2) ?3) |- ? ] -> - LApply (pr0_gen_cast ?1 ?2 ?3); [ Clear H; Intros H | XAuto ]; - XElim H; [ Intros H; XElim H; Intros | Intros ]. diff --git a/helm/coq-contribs/LAMBDA-TYPES/pr0_gen.v b/helm/coq-contribs/LAMBDA-TYPES/pr0_gen.v deleted file mode 100644 index bfe189586..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pr0_gen.v +++ /dev/null @@ -1,99 +0,0 @@ -(*#* #stop file *) - -Require lift_gen. -Require lift_props. -Require subst0_gen. -Require pr0_defs. -Require pr0_lift. - - Section pr0_gen_abbr. (***************************************************) - - Theorem pr0_gen_abbr : (u1,t1,x:?) (pr0 (TTail (Bind Abbr) u1 t1) x) -> - (EX u2 t2 | x = (TTail (Bind Abbr) u2 t2) & - (pr0 u1 u2) & - (pr0 t1 t2) \/ - (EX y | (pr0 t1 y) & (subst0 (0) u2 y t2)) - ) \/ - (pr0 t1 (lift (1) (0) x)). - Intros. - Inversion H; Clear H; XDEAuto 6. - Qed. - - End pr0_gen_abbr. - - Section pr0_gen_void. (***************************************************) - - Theorem pr0_gen_void : (u1,t1,x:?) (pr0 (TTail (Bind Void) u1 t1) x) -> - (EX u2 t2 | x = (TTail (Bind Void) u2 t2) & - (pr0 u1 u2) & (pr0 t1 t2) - ) \/ - (pr0 t1 (lift (1) (0) x)). - Intros. - Inversion H; Clear H; XEAuto. - Qed. - - End pr0_gen_void. - - Section pr0_gen_lift. (***************************************************) - - Tactic Definition IH := - Match Context With - | [ H: (_:?; _:?) ?0 = (lift ? ? ?) -> ?; - H0: ?0 = (lift ? ?2 ?3) |- ? ] -> - LApply (H ?3 ?2); [ Clear H H0; Intros H_x | XAuto ]; - XElim H_x; Intro; Intros H_x; Intro; - Try Rewrite H_x; Try Rewrite H_x in H3; Clear H_x. - -(*#* #caption "generation lemma for lift" *) -(*#* #cap #alpha t1 in U1, t2 in U2, x in T, d in i *) - - Theorem pr0_gen_lift : (t1,x:?; h,d:?) (pr0 (lift h d t1) x) -> - (EX t2 | x = (lift h d t2) & (pr0 t1 t2)). - Intros until 1; InsertEq H '(lift h d t1); - UnIntro H d; UnIntro H t1; XElim H; Clear y x; Intros; - Rename x into t3; Rename x0 into d. -(* case 1 : pr0_r *) - XEAuto. -(* case 2 : pr0_c *) - NewInduction k; LiftGen; Rewrite H3; Clear H3 t0; - IH; IH; XEAuto. -(* case 3 : pr0_beta *) - LiftGen; Rewrite H3; Clear H3 t0. - LiftGen; Rewrite H3; Clear H3 H5 x1 k. - IH; IH; XEAuto. -(* case 4 : pr0_upsilon *) - LiftGen; Rewrite H6; Clear H6 t0. - LiftGen; Rewrite H6; Clear H6 x1. - IH; IH; IH. - Rewrite <- lift_d; [ Simpl | XAuto ]. - Rewrite <- lift_flat; XEAuto. -(* case 5 : pr0_delta *) - LiftGen; Rewrite H4; Clear H4 t0. - IH; IH; Arith3In H3 d; Subst0Gen. - Rewrite H3; XEAuto. -(* case 6 : pr0_zeta *) - LiftGen; Rewrite H2; Clear H2 t0. - Arith7In H4 d; LiftGen; Rewrite H2; Clear H2 x1. - IH; XEAuto. -(* case 7 : pr0_zeta *) - LiftGen; Rewrite H1; Clear H1 t0. - IH; XEAuto. - Qed. - - End pr0_gen_lift. - - Tactic Definition Pr0Gen := - Match Context With - | [ H: (pr0 (TTail (Bind Abbr) ?1 ?2) ?3) |- ? ] -> - LApply (pr0_gen_abbr ?1 ?2 ?3); [ Clear H; Intros H | XAuto ]; - XElim H; - [ Intros H; XElim H; Do 4 Intro; Intros H_x; - XElim H_x; [ Intros | Intros H_x; XElim H_x; Intros ] - | Intros ] - | [ H: (pr0 (TTail (Bind Void) ?1 ?2) ?3) |- ? ] -> - LApply (pr0_gen_void ?1 ?2 ?3); [ Clear H; Intros H | XAuto ]; - XElim H; [ Intros H; XElim H; Intros | Intros ] - | [ H: (pr0 (lift ?0 ?1 ?2) ?3) |- ? ] -> - LApply (pr0_gen_lift ?2 ?3 ?0 ?1); [ Clear H; Intros H | XAuto ]; - XElim H; Intros - | _ -> Pr0GenBase. diff --git a/helm/coq-contribs/LAMBDA-TYPES/pr0_lift.v b/helm/coq-contribs/LAMBDA-TYPES/pr0_lift.v deleted file mode 100644 index b6d9ba247..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pr0_lift.v +++ /dev/null @@ -1,39 +0,0 @@ -Require lift_props. -Require subst0_lift. -Require pr0_defs. - -(*#* #caption "main properties of the relation $\\PrZ{}{}$" *) -(*#* #clauses pr0_props *) - -(*#* #stop file *) - - Section pr0_lift. (*******************************************************) - -(*#* #caption "conguence with lift" *) -(*#* #cap #cap t1,t2 #alpha d in i *) - - Theorem pr0_lift: (t1,t2:?) (pr0 t1 t2) -> - (h,d:?) (pr0 (lift h d t1) (lift h d t2)). - - Intros until 1; XElim H; Intros. -(* case 1: pr0_refl *) - XAuto. -(* case 2: pr0_cong *) - LiftTailRw; XAuto. -(* case 3 : pr0_beta *) - LiftTailRw; XAuto. -(* case 4: pr0_upsilon *) - LiftTailRw; Simpl; Arith0 d; Rewrite lift_d; XAuto. -(* case 5: pr0_delta *) - LiftTailRw; Simpl. - EApply pr0_delta; [ XAuto | Apply H2 | Idtac ]. - LetTac d' := (S d); Arith10 d; Unfold d'; XAuto. -(* case 6: pr0_zeta *) - LiftTailRw; Simpl; Arith0 d; Rewrite lift_d; XAuto. -(* case 7: pr0_epsilon *) - LiftTailRw; XAuto. - Qed. - - End pr0_lift. - - Hints Resolve pr0_lift : ltlc. diff --git a/helm/coq-contribs/LAMBDA-TYPES/pr0_subst0.v b/helm/coq-contribs/LAMBDA-TYPES/pr0_subst0.v deleted file mode 100644 index 46a137e18..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pr0_subst0.v +++ /dev/null @@ -1,105 +0,0 @@ -Require subst0_gen. -Require subst0_lift. -Require subst0_subst0. -Require subst0_confluence. -Require pr0_defs. -Require pr0_lift. - -(*#* #stop file *) - - Section pr0_subst0. (*****************************************************) - - Tactic Definition IH := - Match Context With - | [ H1: (u1:?) (pr0 u1 ?1) -> ?; H2: (pr0 ?2 ?1) |- ? ] -> - LApply (H1 ?2); [ Clear H1; Intros H1 | XAuto ]; - XElim H1; Intros - | [ H1: (u1:?) (pr0 ?1 u1) -> ?; H2: (pr0 ?1 ?2) |- ? ] -> - LApply (H1 ?2); [ Clear H1; Intros H1 | XAuto ]; - XElim H1; Intros - | [ H1: (v1,w1:?; i:?) (subst0 i v1 ?1 w1) -> (v2:T) (pr0 v1 v2) -> ?; - H2: (subst0 ?2 ?3 ?1 ?4); H3: (pr0 ?3 ?5) |- ? ] -> - LApply (H1 ?3 ?4 ?2); [ Clear H1; Intros H1 | XAuto ]; - LApply (H1 ?5); [ Clear H1; Intros H1 | XAuto ]; - XElim H1; [ Intros | Intros H1; XElim H1; Intros ]. - - Theorem pr0_subst0_back: (u2,t1,t2:?; i:?) (subst0 i u2 t1 t2) -> - (u1:?) (pr0 u1 u2) -> - (EX t | (subst0 i u1 t1 t) & (pr0 t t2)). - Intros until 1; XElim H; Intros; - Repeat IH; XEAuto. - Qed. - - Theorem pr0_subst0_fwd: (u2,t1,t2:?; i:?) (subst0 i u2 t1 t2) -> - (u1:?) (pr0 u2 u1) -> - (EX t | (subst0 i u1 t1 t) & (pr0 t2 t)). - Intros until 1; XElim H; Intros; - Repeat IH; XEAuto. - Qed. - - Hints Resolve pr0_subst0_fwd : ltlc. - -(*#* #start file *) - -(*#* #caption "confluence with strict substitution" *) -(*#* #cap #cap t1, t2 #alpha v1 in W1, v2 in W2, w1 in U1, w2 in U2 *) - - Theorem pr0_subst0: (t1,t2:?) (pr0 t1 t2) -> - (v1,w1:?; i:?) (subst0 i v1 t1 w1) -> - (v2:?) (pr0 v1 v2) -> - (pr0 w1 t2) \/ - (EX w2 | (pr0 w1 w2) & (subst0 i v2 t2 w2)). - -(*#* #stop file *) - - Intros until 1; XElim H; Clear t1 t2; Intros. -(* case 1: pr0_refl *) - XEAuto. -(* case 2: pr0_cong *) - Subst0Gen; Rewrite H3; Repeat IH; XEAuto. -(* case 3: pr0_beta *) - Repeat Subst0Gen; Rewrite H3; Try Rewrite H5; Try Rewrite H6; - Repeat IH; XEAuto. -(* case 4: pr0_upsilon *) - Repeat Subst0Gen; Rewrite H6; Try Rewrite H8; Try Rewrite H9; - Repeat IH; XDEAuto 7. -(* case 5: pr0_delta *) - Subst0Gen; Rewrite H4; Repeat IH; - [ XEAuto | Idtac | XEAuto | Idtac | XEAuto | Idtac | Idtac | Idtac ]. - Subst0Subst0; Arith9'In H9 i; XEAuto. - Subst0Confluence; XEAuto. - Subst0Subst0; Arith9'In H10 i; XEAuto. - Subst0Confluence; XEAuto. - Subst0Subst0; Arith9'In H11 i; Subst0Confluence; XDEAuto 6. -(* case 6: pr0_zeta *) - Repeat Subst0Gen; Rewrite H2; Try Rewrite H4; Try Rewrite H5; - Try (Simpl in H5; Rewrite <- minus_n_O in H5); - Try (Simpl in H6; Rewrite <- minus_n_O in H6); - Try IH; XEAuto. -(* case 7: pr0_epsilon *) - Subst0Gen; Rewrite H1; Try IH; XEAuto. - Qed. - - End pr0_subst0. - - Tactic Definition Pr0Subst0 := - Match Context With - | [ H1: (pr0 ?1 ?2); H2: (subst0 ?3 ?4 ?1 ?5); - H3: (pr0 ?4 ?6) |- ? ] -> - LApply (pr0_subst0 ?1 ?2); [ Clear H1; Intros H1 | XAuto ]; - LApply (H1 ?4 ?5 ?3); [ Clear H1 H2; Intros H1 | XAuto ]; - LApply (H1 ?6); [ Clear H1; Intros H1 | XAuto ]; - XElim H1; [ Intros | Intros H1; XElim H1; Intros ] - | [ H1: (pr0 ?1 ?2); H2: (subst0 ?3 ?4 ?1 ?5) |- ? ] -> - LApply (pr0_subst0 ?1 ?2); [ Clear H1; Intros H1 | XAuto ]; - LApply (H1 ?4 ?5 ?3); [ Clear H1 H2; Intros H1 | XAuto ]; - LApply (H1 ?4); [ Clear H1; Intros H1 | XAuto ]; - XElim H1; [ Intros | Intros H1; XElim H1; Intros ] - | [ _: (subst0 ?0 ?1 ?2 ?3); _: (pr0 ?4 ?1) |- ? ] -> - LApply (pr0_subst0_back ?1 ?2 ?3 ?0); [ Intros H_x | XAuto ]; - LApply (H_x ?4); [ Clear H_x; Intros H_x | XAuto ]; - XElim H_x; Intros - | [ H1: (subst0 ?0 ?1 ?2 ?3); H2: (pr0 ?1 ?4) |- ? ] -> - LApply (pr0_subst0_fwd ?1 ?2 ?3 ?0); [ Clear H1; Intros H1 | XAuto ]; - LApply (H1 ?4); [ Clear H1 H2; Intros H1 | XAuto ]; - XElim H1; Intros. diff --git a/helm/coq-contribs/LAMBDA-TYPES/pr0_subst1.v b/helm/coq-contribs/LAMBDA-TYPES/pr0_subst1.v deleted file mode 100644 index fbf8e8b38..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pr0_subst1.v +++ /dev/null @@ -1,63 +0,0 @@ -(*#* #stop file *) - -Require subst1_defs. -Require pr0_defs. -Require pr0_subst0. - - Section pr0_subst1_props. (***********************************************) - - Theorem pr0_delta1: (u1,u2:?) (pr0 u1 u2) -> (t1,t2:?) (pr0 t1 t2) -> - (w:?) (subst1 (0) u2 t2 w) -> - (pr0 (TTail (Bind Abbr) u1 t1) (TTail (Bind Abbr) u2 w)). - Intros until 3; XElim H1; Clear w; XEAuto. - Qed. - - Theorem pr0_subst1_back: (u2,t1,t2:?; i:?) (subst1 i u2 t1 t2) -> - (u1:?) (pr0 u1 u2) -> - (EX t | (subst1 i u1 t1 t) & (pr0 t t2)). - Intros until 1; XElim H; Intros; - Try Pr0Subst0; XEAuto. - Qed. - - Theorem pr0_subst1_fwd: (u2,t1,t2:?; i:?) (subst1 i u2 t1 t2) -> - (u1:?) (pr0 u2 u1) -> - (EX t | (subst1 i u1 t1 t) & (pr0 t2 t)). - Intros until 1; XElim H; Intros; - Try Pr0Subst0; XEAuto. - Qed. - - Theorem pr0_subst1: (t1,t2:?) (pr0 t1 t2) -> - (v1,w1:?; i:?) (subst1 i v1 t1 w1) -> - (v2:?) (pr0 v1 v2) -> - (EX w2 | (pr0 w1 w2) & (subst1 i v2 t2 w2)). - Intros until 2; XElim H0; Intros; - Try Pr0Subst0; XEAuto. - Qed. - - End pr0_subst1_props. - - Hints Resolve pr0_delta1 : ltlc. - - Tactic Definition Pr0Subst1 := - Match Context With - | [ H1: (pr0 ?1 ?2); H2: (subst1 ?3 ?4 ?1 ?5); - H3: (pr0 ?4 ?6) |- ? ] -> - LApply (pr0_subst1 ?1 ?2); [ Clear H1; Intros H1 | XAuto ]; - LApply (H1 ?4 ?5 ?3); [ Clear H1 H2; Intros H1 | XAuto ]; - LApply (H1 ?6); [ Clear H1; Intros H1 | XAuto ]; - XElim H1; Intros - | [ H1: (pr0 ?1 ?2); H2: (subst1 ?3 ?4 ?1 ?5) |- ? ] -> - LApply (pr0_subst1 ?1 ?2); [ Clear H1; Intros H1 | XAuto ]; - LApply (H1 ?4 ?5 ?3); [ Clear H1 H2; Intros H1 | XAuto ]; - LApply (H1 ?4); [ Clear H1; Intros H1 | XAuto ]; - XElim H1; Intros - | [ H1: (subst1 ?0 ?1 ?2 ?3); H2: (pr0 ?4 ?1) |- ? ] -> - LApply (pr0_subst1_back ?1 ?2 ?3 ?0); [ Clear H1; Intros H1 | XAuto ]; - LApply (H1 ?4); [ Clear H1 H2; Intros H1 | XAuto ]; - XElim H1; Intros - | [ H1: (subst1 ?0 ?1 ?2 ?3); H2: (pr0 ?1 ?4) |- ? ] -> - LApply (pr0_subst1_fwd ?1 ?2 ?3 ?0); [ Clear H1; Intros H1 | XAuto ]; - LApply (H1 ?4); [ Clear H1 H2; Intros H1 | XAuto ]; - XElim H1; Intros - | _ -> Pr0Subst0. - diff --git a/helm/coq-contribs/LAMBDA-TYPES/pr1_confluence.v b/helm/coq-contribs/LAMBDA-TYPES/pr1_confluence.v deleted file mode 100644 index fac076d31..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pr1_confluence.v +++ /dev/null @@ -1,56 +0,0 @@ -(*#* #stop file *) - -Require pr0_confluence. -Require pr1_defs. - -(*#* #caption "main properties of predicate \\texttt{pr1}" *) -(*#* #clauses pr1_props *) - - Section pr1_confluence. (*************************************************) - -(*#* #caption "confluence with single step reduction: strip lemma" *) -(*#* #cap #cap t0, t1, t2, t *) - - Theorem pr1_strip : (t0,t1:?) (pr1 t0 t1) -> (t2:?) (pr0 t0 t2) -> - (EX t | (pr1 t1 t) & (pr1 t2 t)). - Intros until 1; XElim H; Intros. -(* case 1 : pr1_r *) - XEAuto. -(* case 2 : pr1_u *) - Pr0Confluence. - LApply (H1 x); [ Clear H1 H2; Intros H1 | XAuto ]. - XElim H1; Intros; XEAuto. - Qed. - -(*#* #caption "confluence with itself: Church-Rosser property" *) -(*#* #cap #cap t0, t1, t2, t *) - - Theorem pr1_confluence : (t0,t1:?) (pr1 t0 t1) -> (t2:?) (pr1 t0 t2) -> - (EX t | (pr1 t1 t) & (pr1 t2 t)). - Intros until 1; XElim H; Intros. -(* case 1 : pr1_r *) - XEAuto. -(* case 2 : pr1_u *) - LApply (pr1_strip t3 t5); [ Clear H2; Intros H2 | XAuto ]. - LApply (H2 t2); [ Clear H H2; Intros H | XAuto ]. - XElim H; Intros. - LApply (H1 x); [ Clear H1 H2; Intros H1 | XAuto ]. - XElim H1; Intros; XEAuto. - Qed. - - End pr1_confluence. - - Tactic Definition Pr1Confluence := - Match Context With - | [ H1: (pr1 ?1 ?2); H2: (pr0 ?1 ?3) |-? ] -> - LApply (pr1_strip ?1 ?2); [ Clear H1; Intros H1 | XAuto ]; - LApply (H1 ?3); [ Clear H1 H2; Intros H1 | XAuto ]; - XElim H1; Intros - | [ H1: (pr1 ?1 ?2); H2: (pr1 ?1 ?3) |-? ] -> - LApply (pr1_confluence ?1 ?2); [ Clear H1; Intros H1 | XAuto ]; - LApply (H1 ?3); [ Clear H1 H2; Intros H1 | XAuto ]; - XElim H1; Intros - | _ -> Pr0Confluence. - -(*#* #single *) - diff --git a/helm/coq-contribs/LAMBDA-TYPES/pr1_defs.v b/helm/coq-contribs/LAMBDA-TYPES/pr1_defs.v deleted file mode 100644 index ed05b0e5d..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pr1_defs.v +++ /dev/null @@ -1,34 +0,0 @@ -(*#* #stop file *) - -Require Export pr0_defs. - - Inductive pr1 : T -> T -> Prop := - | pr1_r: (t:?) (pr1 t t) - | pr1_u: (t2,t1:?) (pr0 t1 t2) -> (t3:?) (pr1 t2 t3) -> (pr1 t1 t3). - - Hint pr1 : ltlc := Constructors pr1. - - Section pr1_props. (******************************************************) - - Theorem pr1_pr0: (t1,t2:?) (pr0 t1 t2) -> (pr1 t1 t2). - XEAuto. - Qed. - - Theorem pr1_t: (t2,t1:?) (pr1 t1 t2) -> - (t3:?) (pr1 t2 t3) -> (pr1 t1 t3). - Intros until 1; XElim H; XEAuto. - Qed. - - Theorem pr1_tail_1: (u1,u2:?) (pr1 u1 u2) -> - (t:?; k:?) (pr1 (TTail k u1 t) (TTail k u2 t)). - Intros; XElim H; XEAuto. - Qed. - - Theorem pr1_tail_2: (t1,t2:?) (pr1 t1 t2) -> - (u:?; k:?) (pr1 (TTail k u t1) (TTail k u t2)). - Intros; XElim H; XEAuto. - Qed. - - End pr1_props. - - Hints Resolve pr1_pr0 pr1_t pr1_tail_1 pr1_tail_2 : ltlc. diff --git a/helm/coq-contribs/LAMBDA-TYPES/pr2_confluence.v b/helm/coq-contribs/LAMBDA-TYPES/pr2_confluence.v deleted file mode 100644 index 8b2fd4769..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pr2_confluence.v +++ /dev/null @@ -1,74 +0,0 @@ -(*#* #stop file *) - -Require subst0_confluence. -Require drop_props. -Require pr0_subst0. -Require pr0_confluence. -Require pr2_defs. - - Section pr2_confluence. (*************************************************) - -(* case 1.1 : pr2_free pr2_free *********************************************) - - Remark pr2_free_free: (c:?; t0,t1,t2:?) - (pr0 t0 t1) -> (pr0 t0 t2) -> - (EX t:T | (pr2 c t1 t) & (pr2 c t2 t)). - Intros; Pr0Confluence; XEAuto. - Qed. - -(* case 1.2 : pr2_free pr2_delta ********************************************) - - Remark pr2_free_delta: (c,d:?; t0,t1,t2,t4,u:?; i:?) - (pr0 t0 t1) -> - (drop i (0) c (CTail d (Bind Abbr) u)) -> - (pr0 t0 t4) -> - (subst0 i u t4 t2) -> - (EX t | (pr2 c t1 t) & (pr2 c t2 t)). - Intros; Pr0Confluence; Pr0Subst0; XEAuto. - Qed. - -(* case 2.2 : pr2_delta pr2_delta *******************************************) - - Remark pr2_delta_delta: (c,d,d0:?; t0,t1,t2,t3,t4,u,u0:?; i,i0:?) - (drop i (0) c (CTail d (Bind Abbr) u)) -> - (pr0 t0 t3) -> - (subst0 i u t3 t1) -> - (drop i0 (0) c (CTail d0 (Bind Abbr) u0)) -> - (pr0 t0 t4) -> - (subst0 i0 u0 t4 t2) -> - (EX t:T | (pr2 c t1 t) & (pr2 c t2 t)). - Intros; Pr0Confluence; Repeat Pr0Subst0; - [ XEAuto | XEAuto | XEAuto | Idtac ]. - Apply (neq_eq_e i i0); Intros. -(* case 1 : i != i0 *) - Subst0Confluence; XEAuto. -(* case 2 : i = i0 *) - Rewrite H5 in H; Rewrite H5 in H3; Clear H5 i. - DropDis; Inversion H2; Rewrite H7 in H3; Clear H2 H6 H7 d u. - Subst0Confluence; [ Rewrite H2 in H0; XEAuto | XEAuto | XEAuto | XEAuto ]. - Qed. - -(* main *********************************************************************) - - Hints Resolve pr2_free_free pr2_free_delta pr2_delta_delta : ltlc. - -(*#* #caption "confluence with itself: Church-Rosser property" *) -(*#* #cap #cap c, t0, t1, t2, t *) - - Theorem pr2_confluence: (c,t0,t1:?) (pr2 c t0 t1) -> - (t2:?) (pr2 c t0 t2) -> - (EX t | (pr2 c t1 t) & (pr2 c t2 t)). - Intros; Inversion H; Inversion H0; XDEAuto 3. - Qed. - - End pr2_confluence. - - Tactic Definition Pr2Confluence := - Match Context With - | [ H1: (pr2 ?1 ?2 ?3); H2: (pr2 ?1 ?2 ?4) |-? ] -> - LApply (pr2_confluence ?1 ?2 ?3); [ Clear H1; Intros H1 | XAuto ]; - LApply (H1 ?4); [ Clear H1 H2; Intros H1 | XAuto ]; - XElim H1; Intros - | _ -> Pr0Confluence. - -(*#* #single *) diff --git a/helm/coq-contribs/LAMBDA-TYPES/pr2_defs.v b/helm/coq-contribs/LAMBDA-TYPES/pr2_defs.v deleted file mode 100644 index 9dab9cafe..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pr2_defs.v +++ /dev/null @@ -1,137 +0,0 @@ -Require Export drop_defs. -Require Export pr0_defs. - -(*#* #caption "current axioms for the relation $\\PrS{}{}{}$", - "context-free case", "context-dependent $\\delta$-expansion" -*) -(*#* #cap #cap c, d, t, t1, t2 #alpha u in V *) - - Inductive pr2 [c:C; t1:T] : T -> Prop := -(* structural rules *) - | pr2_free : (t2:?) (pr0 t1 t2) -> (pr2 c t1 t2) -(* axiom rules *) - | pr2_delta: (d:?; u:?; i:?) - (drop i (0) c (CTail d (Bind Abbr) u)) -> - (t2:?) (pr0 t1 t2) -> (t:?) (subst0 i u t2 t) -> - (pr2 c t1 t). - -(*#* #stop file *) - - Hint pr2 : ltlc := Constructors pr2. - - Section pr2_gen_base. (***************************************************) - - Theorem pr2_gen_sort: (c:?; x:?; n:?) (pr2 c (TSort n) x) -> - x = (TSort n). - Intros; Inversion H; Pr0GenBase; - [ XAuto | Rewrite H1 in H2; Subst0GenBase ]. - Qed. - - Theorem pr2_gen_lref: (c:?; x:?; n:?) (pr2 c (TLRef n) x) -> - x = (TLRef n) \/ - (EX d u | (drop n (0) c (CTail d (Bind Abbr) u)) & - x = (lift (S n) (0) u) - ). - Intros; Inversion H; Pr0GenBase; - [ XAuto | Rewrite H1 in H2; Subst0GenBase; Rewrite <- H2 in H0; XEAuto ]. - Qed. - - Theorem pr2_gen_abst: (c:?; u1,t1,x:?) - (pr2 c (TTail (Bind Abst) u1 t1) x) -> - (EX u2 t2 | x = (TTail (Bind Abst) u2 t2) & - (pr2 c u1 u2) & (b:?; u:?) - (pr2 (CTail c (Bind b) u) t1 t2) - ). - Intros; Inversion H; Pr0GenBase; - [ XEAuto | Rewrite H1 in H2; Subst0GenBase; XDEAuto 6 ]. - Qed. - - Theorem pr2_gen_appl: (c:?; u1,t1,x:?) - (pr2 c (TTail (Flat Appl) u1 t1) x) -> (OR - (EX u2 t2 | x = (TTail (Flat Appl) u2 t2) & - (pr2 c u1 u2) & (pr2 c t1 t2) - ) | - (EX y1 z1 u2 t2 | t1 = (TTail (Bind Abst) y1 z1) & - x = (TTail (Bind Abbr) u2 t2) & - (pr2 c u1 u2) & (b:?; u:?) - (pr2 (CTail c (Bind b) u) z1 t2) - ) | - (EX b y1 z1 z2 u2 v2 t2 | - ~b=Abst & - t1 = (TTail (Bind b) y1 z1) & - x = (TTail (Bind b) v2 z2) & - (pr2 c u1 u2) & (pr2 c y1 v2) & (pr0 z1 t2)) - ). - Intros; Inversion H; Pr0GenBase; - Try Rewrite H1 in H2; Try Rewrite H4 in H2; Try Rewrite H5 in H2; - Try Subst0GenBase; XDEAuto 7. - Qed. - - Theorem pr2_gen_cast: (c:?; u1,t1,x:?) - (pr2 c (TTail (Flat Cast) u1 t1) x) -> - (EX u2 t2 | x = (TTail (Flat Cast) u2 t2) & - (pr2 c u1 u2) & (pr2 c t1 t2) - ) \/ - (pr2 c t1 x). - Intros; Inversion H; Pr0GenBase; - Try Rewrite H1 in H2; Try Subst0GenBase; XEAuto. - Qed. - - End pr2_gen_base. - - Tactic Definition Pr2GenBase := - Match Context With - | [ H: (pr2 ?1 (TSort ?2) ?3) |- ? ] -> - LApply (pr2_gen_sort ?1 ?3 ?2); [ Clear H; Intros | XAuto ] - | [ H: (pr2 ?1 (TLRef ?2) ?3) |- ? ] -> - LApply (pr2_gen_lref ?1 ?3 ?2); [ Clear H; Intros H | XAuto ]; - XDecompose H - | [ H: (pr2 ?1 (TTail (Bind Abst) ?2 ?3) ?4) |- ? ] -> - LApply (pr2_gen_abst ?1 ?2 ?3 ?4); [ Clear H; Intros H | XAuto ]; - XDecompose H - | [ H: (pr2 ?1 (TTail (Flat Appl) ?2 ?3) ?4) |- ? ] -> - LApply (pr2_gen_appl ?1 ?2 ?3 ?4); [ Clear H; Intros H | XAuto ]; - XDecompose H - | [ H: (pr2 ?1 (TTail (Flat Cast) ?2 ?3) ?4) |- ? ] -> - LApply (pr2_gen_cast ?1 ?2 ?3 ?4); [ Clear H; Intros H | XAuto ]; - XDecompose H. - - Section pr2_props. (******************************************************) - - Theorem pr2_thin_dx: (c:?; t1,t2:?) (pr2 c t1 t2) -> - (u:?; f:?) (pr2 c (TTail (Flat f) u t1) - (TTail (Flat f) u t2)). - Intros; XElim H; XEAuto. - Qed. - - Theorem pr2_tail_1: (c:?; u1,u2:?) (pr2 c u1 u2) -> - (k:?; t:?) (pr2 c (TTail k u1 t) (TTail k u2 t)). - Intros; XElim H; XEAuto. - Qed. - - Theorem pr2_tail_2: (c:?; u,t1,t2:?; k:?) (pr2 (CTail c k u) t1 t2) -> - (pr2 c (TTail k u t1) (TTail k u t2)). - XElim k; Intros; ( - XElim H; [ XAuto | XElim i; Intros; DropGenBase; CGenBase; XEAuto ]). - Qed. - - Hints Resolve pr2_tail_2 : ltlc. - - Theorem pr2_shift: (i:?; c,e:?) (drop i (0) c e) -> - (t1,t2:?) (pr2 c t1 t2) -> - (pr2 e (app c i t1) (app c i t2)). - XElim i. -(* case 1: i = 0 *) - Intros; DropGenBase; Rewrite H in H0. - Repeat Rewrite app_O; XAuto. -(* case 2: i > 0 *) - XElim c. -(* case 2.1: CSort *) - Intros; DropGenBase; Rewrite H0; XAuto. -(* case 2.2: CTail *) - XElim k; Intros; Simpl; DropGenBase; XAuto. - Qed. - - End pr2_props. - - Hints Resolve pr2_thin_dx pr2_tail_1 pr2_tail_2 pr2_shift : ltlc. diff --git a/helm/coq-contribs/LAMBDA-TYPES/pr2_gen.v b/helm/coq-contribs/LAMBDA-TYPES/pr2_gen.v deleted file mode 100644 index 98d128233..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pr2_gen.v +++ /dev/null @@ -1,78 +0,0 @@ -(*#* #stop file *) - -Require subst0_gen. -Require subst0_lift. -Require drop_props. -Require pr0_gen. -Require pr0_subst0. -Require pr2_defs. - - Section pr2_gen. (********************************************************) - - Theorem pr2_gen_abbr: (c:?; u1,t1,x:?) - (pr2 c (TTail (Bind Abbr) u1 t1) x) -> - (EX u2 t2 | x = (TTail (Bind Abbr) u2 t2) & - (pr2 c u1 u2) & (OR - (b:?; u:?) (pr2 (CTail c (Bind b) u) t1 t2) | - (EX u | (pr0 u1 u) & (pr2 (CTail c (Bind Abbr) u) t1 t2)) | - (EX y z | (pr2 (CTail c (Bind Abbr) u1) t1 y) & (pr0 y z) & (pr2 (CTail c (Bind Abbr) u1) z t2)) - )) \/ (b:?; u:?) - (pr2 (CTail c (Bind b) u) t1 (lift (1) (0) x)). - Intros; Inversion H; - Pr0Gen; Try Rewrite H1 in H2; Try Subst0Gen; Try Pr0Subst0; XDEAuto 10. - Qed. - - Theorem pr2_gen_void: (c:?; u1,t1,x:?) - (pr2 c (TTail (Bind Void) u1 t1) x) -> - (EX u2 t2 | x = (TTail (Bind Void) u2 t2) & - (pr2 c u1 u2) & (b:?; u:?) - (pr2 (CTail c (Bind b) u) t1 t2) - ) \/ (b:?; u:?) - (pr2 (CTail c (Bind b) u) t1 (lift (1) (0) x)). - Intros; Inversion H; - Try Pr0Gen; Try Rewrite H1 in H2; Try Subst0Gen; XDEAuto 7. - Qed. - -(*#* #caption "generation lemma for lift" *) -(*#* #cap #cap c #alpha e in D, t1 in U1, t2 in U2, x in T, d in i *) - - Theorem pr2_gen_lift: (c:?; t1,x:?; h,d:?) (pr2 c (lift h d t1) x) -> - (e:?) (drop h d c e) -> - (EX t2 | x = (lift h d t2) & (pr2 e t1 t2)). - Intros. - Inversion H; Clear H; Pr0Gen. -(* case 1 : pr2_free *) - XEAuto. -(* case 2 : pr2_delta *) - Rewrite H in H3; Clear H H4 t t2. - Apply (lt_le_e i d); Intros. -(* case 2.1 : i < d *) - Rewrite (lt_plus_minus i d) in H0; [ Idtac | XAuto ]. - Rewrite (lt_plus_minus i d) in H3; [ Idtac | XAuto ]. - DropDis; Rewrite H0 in H3; Clear H0 u. - Subst0Gen; Rewrite <- lt_plus_minus in H0; XEAuto. -(* case 2.2 : i >= d *) - Apply (lt_le_e i (plus d h)); Intros. -(* case 2.2.1 : i < d + h *) - EApply subst0_gen_lift_false; [ Apply H | Apply H4 | XEAuto ]. -(* case 2.2.2 : i >= d + h *) - DropDis; Subst0Gen; XEAuto. - Qed. - - End pr2_gen. - - Tactic Definition Pr2Gen := - Match Context With - | [ H: (pr2 ?1 (TTail (Bind Abbr) ?2 ?3) ?4) |- ? ] -> - LApply (pr2_gen_abbr ?1 ?2 ?3 ?4); [ Clear H; Intros H | XAuto ]; - XDecompose H - | [ H: (pr2 ?1 (TTail (Bind Void) ?2 ?3) ?4) |- ? ] -> - LApply (pr2_gen_void ?1 ?2 ?3 ?4); [ Clear H; Intros H | XAuto ]; - XDecompose H - | [ H0: (pr2 ?1 (lift ?2 ?3 ?4) ?5); - H1: (drop ?2 ?3 ?1 ?6) |- ? ] -> - LApply (pr2_gen_lift ?1 ?4 ?5 ?2 ?3); [ Clear H0; Intros H0 | XAuto ]; - LApply (H0 ?6); [ Clear H0; Intros H0 | XAuto ]; - XDecompose H0 - | _ -> Pr2GenBase. - diff --git a/helm/coq-contribs/LAMBDA-TYPES/pr2_gen_context.v b/helm/coq-contribs/LAMBDA-TYPES/pr2_gen_context.v deleted file mode 100644 index 61d2ffef7..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pr2_gen_context.v +++ /dev/null @@ -1,62 +0,0 @@ -(*#* #stop file *) - -Require drop_props. -Require subst1_gen. -Require subst1_subst1. -Require subst1_confluence. -Require csubst1_defs. -Require pr0_gen. -Require pr0_subst1. -Require pr2_defs. -Require pr2_gen. -Require pr2_subst1. - - Section pr2_gen_context. (************************************************) - - Theorem pr2_gen_cabbr: (c:?; t1,t2:?) (pr2 c t1 t2) -> (e:?; u:?; d:?) - (drop d (0) c (CTail e (Bind Abbr) u)) -> - (a0:?) (csubst1 d u c a0) -> - (a:?) (drop (1) d a0 a) -> - (x1:?) (subst1 d u t1 (lift (1) d x1)) -> - (EX x2 | (subst1 d u t2 (lift (1) d x2)) & - (pr2 a x1 x2) - ). - Intros until 1; XElim H; Intros; - Pr0Subst1; Pr0Gen. -(* case 1: pr2_free *) - Rewrite H in H3; Clear H x; XEAuto. -(* case 2: pr2_delta *) - Rewrite H0 in H5; Clear H0 x. - Apply (lt_eq_gt_e i d0); Intros. -(* case 2.1: i < d0 *) - Subst1Confluence; CSubst1Drop. - Rewrite minus_x_Sy in H; [ Idtac | XAuto ]. - CSubst1GenBase; Rewrite H in H7; Clear H x2. - Rewrite (lt_plus_minus i d0) in H4; [ Idtac | XAuto ]. - DropDis; Rewrite H in H8; Clear H x3. - Subst1Subst1; Pattern 2 d0 in H; Rewrite (lt_plus_minus i d0) in H; [ Idtac | XAuto ]. - Subst1Gen; Rewrite H in H10; Simpl in H10; Clear H x3. - Rewrite <- lt_plus_minus in H10; [ Idtac | XAuto ]. - Rewrite <- lt_plus_minus_r in H10; XEAuto. -(* case 2.2: i = d0 *) - Rewrite H0 in H; Rewrite H0 in H1; Clear H0 i. - DropDis; Inversion H; Rewrite <- H8 in H1; Rewrite <- H8 in H2; Rewrite <- H8; Clear H H7 H8 e u. - Subst1Confluence; Subst1Gen; Rewrite H0 in H; Clear H0 x; XEAuto. -(* case 2.3: i > d0 *) - Subst1Confluence; Subst1Gen; Rewrite H5 in H1; Clear H2 H5 x. - CSubst1Drop; DropDis; XEAuto. - Qed. - - End pr2_gen_context. - - Tactic Definition Pr2GenContext := - Match Context With - | [ H0: (pr2 ?1 ?2 ?3); H1: (drop ?4 (0) ?1 (CTail ?5 (Bind Abbr) ?6)); - H2: (csubst1 ?4 ?6 ?1 ?7); H3: (drop (1) ?4 ?7 ?8); - H4: (subst1 ?4 ?6 ?2 (lift (1) ?4 ?9)) |- ? ] -> - LApply (pr2_gen_cabbr ?1 ?2 ?3); [ Clear H0; Intros H0 | XAuto ]; - LApply (H0 ?5 ?6 ?4); [ Clear H0; Intros H0 | XAuto ]; - LApply (H0 ?7); [ Clear H0; Intros H0 | XAuto ]; - LApply (H0 ?8); [ Clear H0; Intros H0 | XAuto ]; - LApply (H0 ?9); [ Clear H0 H4; Intros H0 | XAuto ]; - XElim H0; Intros. diff --git a/helm/coq-contribs/LAMBDA-TYPES/pr2_lift.v b/helm/coq-contribs/LAMBDA-TYPES/pr2_lift.v deleted file mode 100644 index 3546cb5f2..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pr2_lift.v +++ /dev/null @@ -1,33 +0,0 @@ -(*#* #stop file *) - -Require subst0_lift. -Require drop_props. -Require pr0_lift. -Require pr2_defs. - -(*#* #caption "main properties of predicate \\texttt{pr2}" *) -(*#* #clauses pr2_props *) - - Section pr2_lift. (*******************************************************) - -(*#* #caption "conguence with lift" *) -(*#* #cap #cap c, t1, t2 #alpha e in D, d in i *) - - Theorem pr2_lift : (c,e:?; h,d:?) (drop h d c e) -> - (t1,t2:?) (pr2 e t1 t2) -> - (pr2 c (lift h d t1) (lift h d t2)). - Intros until 2; XElim H0; Intros. -(* case 1 : pr2_free *) - XAuto. -(* case 2 : pr2_delta *) - Apply (lt_le_e i d); Intros; DropDis. -(* case 2.1 : i < d *) - Rewrite minus_x_Sy in H0; [ Idtac | XAuto ]. - DropGenBase; Rewrite H0 in H; Simpl in H; XEAuto. -(* case 2.2 : i >= d *) - XEAuto. - Qed. - - End pr2_lift. - - Hints Resolve pr2_lift : ltlc. diff --git a/helm/coq-contribs/LAMBDA-TYPES/pr2_subst1.v b/helm/coq-contribs/LAMBDA-TYPES/pr2_subst1.v deleted file mode 100644 index 5c7302875..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pr2_subst1.v +++ /dev/null @@ -1,48 +0,0 @@ -(*#* #stop file *) - -Require subst1_defs. -Require subst1_confluence. -Require drop_props. -Require pr0_subst1. -Require pr2_defs. - - Section pr2_subst1_props. (***********************************************) - - Theorem pr2_delta1: (c,d:?; u:?; i:?) (drop i (0) c (CTail d (Bind Abbr) u)) -> - (t1,t2:?) (pr0 t1 t2) -> (t:?) (subst1 i u t2 t) -> - (pr2 c t1 t). - Intros; XElim H1; Clear t; XEAuto. - Qed. - - Hints Resolve pr2_delta1 : ltlc. - - Theorem pr2_subst1: (c,e:?; v:?; i:?) (drop i (0) c (CTail e (Bind Abbr) v)) -> - (t1,t2:?) (pr2 c t1 t2) -> - (w1:?) (subst1 i v t1 w1) -> - (EX w2 | (pr2 c w1 w2) & (subst1 i v t2 w2)). - Intros until 2; XElim H0; Intros; - Pr0Subst1. -(* case 1: pr2_free *) - XEAuto. -(* case 2: pr2_delta *) - Apply (neq_eq_e i i0); Intros. -(* case 2.1: i <> i0 *) - Subst1Confluence; XEAuto. -(* case 2.2: i = i0 *) - Rewrite <- H4 in H0; Rewrite <- H4 in H2; Clear H4 i0. - DropDis; Inversion H0; Rewrite H6 in H3; Clear H0 H5 H6 e v. - Subst1Confluence; XEAuto. - Qed. - - End pr2_subst1_props. - - Hints Resolve pr2_delta1 : ltlc. - - Tactic Definition Pr2Subst1 := - Match Context With - | [ H0: (drop ?1 (0) ?2 (CTail ?3 (Bind Abbr) ?4)); - H1: (pr2 ?2 ?5 ?6); H3: (subst1 ?1 ?4 ?5 ?7) |- ? ] -> - LApply (pr2_subst1 ?2 ?3 ?4 ?1); [ Intros H_x | XAuto ]; - LApply (H_x ?5 ?6); [ Clear H_x H1; Intros H1 | XAuto ]; - LApply (H1 ?7); [ Clear H1; Intros H1 | XAuto ]; - XElim H1; Intros. diff --git a/helm/coq-contribs/LAMBDA-TYPES/pr3_confluence.v b/helm/coq-contribs/LAMBDA-TYPES/pr3_confluence.v deleted file mode 100644 index 6f5019bc9..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pr3_confluence.v +++ /dev/null @@ -1,59 +0,0 @@ -Require pr2_confluence. -Require pr3_defs. - - Section pr3_confluence. (*************************************************) - -(*#* #stop theorem *) - -(*#* #caption "confluence with single step reduction: strip lemma" *) -(*#* #cap #cap c, t0, t1, t2, t *) - - Theorem pr3_strip : (c:?; t0,t1:?) (pr3 c t0 t1) -> (t2:?) (pr2 c t0 t2) -> - (EX t | (pr3 c t1 t) & (pr3 c t2 t)). - Intros until 1; XElim H; Intros. -(* case 1 : pr3_refl *) - XEAuto. -(* case 2 : pr3_sing *) - Pr2Confluence. - LApply (H1 x); [ Clear H1 H2; Intros H1 | XAuto ]. - XElim H1; Intros; XEAuto. - Qed. - -(*#* #start theorem *) - -(*#* #caption "confluence with itself: Church-Rosser property" *) -(*#* #cap #cap c, t0, t1, t2, t *) - - Theorem pr3_confluence : (c:?; t0,t1:?) (pr3 c t0 t1) -> (t2:?) (pr3 c t0 t2) -> - (EX t | (pr3 c t1 t) & (pr3 c t2 t)). - -(*#* #stop file *) - - Intros until 1; XElim H; Intros. -(* case 1 : pr3_refl *) - XEAuto. -(* case 2 : pr3_sing *) - LApply (pr3_strip c t3 t5); [ Clear H2; Intros H2 | XAuto ]. - LApply (H2 t2); [ Clear H H2; Intros H | XAuto ]. - XElim H; Intros. - LApply (H1 x); [ Clear H1 H2; Intros H1 | XAuto ]. - XElim H1; Intros; XEAuto. - Qed. - - End pr3_confluence. - - Tactic Definition Pr3Confluence := - Match Context With - | [ H1: (pr3 ?1 ?2 ?3); H2: (pr2 ?1 ?2 ?4) |-? ] -> - LApply (pr3_strip ?1 ?2 ?3); [ Clear H1; Intros H1 | XAuto ]; - LApply (H1 ?4); [ Clear H1 H2; Intros H1 | XAuto ]; - XElim H1; Intros - | [ H1: (pr3 ?1 ?2 ?3); H2: (pr3 ?1 ?2 ?4) |-? ] -> - LApply (pr3_confluence ?1 ?2 ?3); [ Clear H1; Intros H1 | XAuto ]; - LApply (H1 ?4); [ Clear H1 H2; Intros H1 | XAuto ]; - XElim H1; Intros - | _ -> Pr2Confluence. - -(*#* #start file *) - -(*#* #single *) diff --git a/helm/coq-contribs/LAMBDA-TYPES/pr3_defs.v b/helm/coq-contribs/LAMBDA-TYPES/pr3_defs.v deleted file mode 100644 index df6764b3f..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pr3_defs.v +++ /dev/null @@ -1,194 +0,0 @@ -Require Export pr1_defs. -Require Export pr2_defs. - -(*#* #caption "axioms for the relation $\\PrT{}{}{}$", - "reflexivity", "single step transitivity" -*) -(*#* #cap #cap c, t, t1, t2, t3 *) - - Inductive pr3 [c:C] : T -> T -> Prop := - | pr3_refl: (t:?) (pr3 c t t) - | pr3_sing: (t2,t1:?) (pr2 c t1 t2) -> - (t3:?) (pr3 c t2 t3) -> (pr3 c t1 t3). - -(*#* #stop file *) - - Hint pr3: ltlc := Constructors pr3. - - Section pr3_gen_base. (***************************************************) - - Theorem pr3_gen_sort: (c:?; x:?; n:?) (pr3 c (TSort n) x) -> - x = (TSort n). - Intros; InsertEq H '(TSort n); XElim H; Clear y x; Intros. -(* case 1: pr3_refl *) - XAuto. -(* case 2: pr3_sing *) - Rewrite H2 in H; Clear H2 t1; Pr2GenBase; XAuto. - Qed. - - Tactic Definition IH := - Match Context With - | [ H: (u,t:T) (TTail (Bind Abst) ?1 ?2) = (TTail (Bind Abst) u t) -> ? |- ? ] -> - LApply (H ?1 ?2); [ Clear H; Intros H | XAuto ]; - XDecompose H - | [ H: (u,t:T) (TTail (Flat Appl) ?1 ?2) = (TTail (Flat Appl) u t) -> ? |- ? ] -> - LApply (H ?1 ?2); [ Clear H; Intros H | XAuto ]; - XDecompose H - | [ H: (u,t:T) (TTail (Flat Cast) ?1 ?2) = (TTail (Flat Cast) u t) -> ? |- ? ] -> - LApply (H ?1 ?2); [ Clear H; Intros H | XAuto ]; - XDecompose H. - - Theorem pr3_gen_abst: (c:?; u1,t1,x:?) - (pr3 c (TTail (Bind Abst) u1 t1) x) -> - (EX u2 t2 | x = (TTail (Bind Abst) u2 t2) & - (pr3 c u1 u2) & (b:?; u:?) - (pr3 (CTail c (Bind b) u) t1 t2) - ). - Intros until 1; InsertEq H '(TTail (Bind Abst) u1 t1); - UnIntro H t1; UnIntro H u1; XElim H; Clear y x; Intros; - Rename x into u0; Rename x0 into t0. -(* case 1 : pr3_refl *) - XEAuto. -(* case 2 : pr3_sing *) - Rewrite H2 in H; Clear H0 H2 t1; Pr2GenBase. - Rewrite H0 in H1; Clear H0 t2; IH; XEAuto. - Qed. - - Theorem pr3_gen_appl: (c:?; u1,t1,x:?) - (pr3 c (TTail (Flat Appl) u1 t1) x) -> (OR - (EX u2 t2 | x = (TTail (Flat Appl) u2 t2) & - (pr3 c u1 u2) & (pr3 c t1 t2) - ) | - (EX y1 z1 u2 t2 | (pr3 c (TTail (Bind Abbr) u2 t2) x) & - (pr3 c u1 u2) & - (pr3 c t1 (TTail (Bind Abst) y1 z1)) & - (b:?; u:?) (pr3 (CTail c (Bind b) u) z1 t2) - ) | - (EX b y1 z1 z2 u2 v2 t2 | - (pr3 c (TTail (Bind b) v2 z2) x) & ~b=Abst & - (pr3 c u1 u2) & - (pr3 c t1 (TTail (Bind b) y1 z1)) & - (pr3 c y1 v2) & (pr0 z1 t2)) - ). - Intros; InsertEq H '(TTail (Flat Appl) u1 t1). - UnIntro t1 H; UnIntro u1 H. - XElim H; Clear y x; Intros; - Rename x into u0; Rename x0 into t0. -(* case 1: pr3_refl *) - XEAuto. -(* case 2: pr3_sing *) - Rewrite H2 in H; Clear H2 t1; Pr2GenBase. -(* case 2.1: short step: compatibility *) - Rewrite H3 in H1; Clear H0 H3 t2. - IH; Try (Rewrite H0; Clear H0 t3); XDEAuto 6. -(* case 2.2: short step: beta *) - Rewrite H4 in H0; Rewrite H3; Clear H1 H3 H4 t0 t2; XEAuto. -(* case 2.3: short step: upsilon *) - Rewrite H5 in H0; Rewrite H4; Clear H1 H4 H5 t0 t2; XEAuto. - Qed. - - Theorem pr3_gen_cast: (c:?; u1,t1,x:?) - (pr3 c (TTail (Flat Cast) u1 t1) x) -> - (EX u2 t2 | x = (TTail (Flat Cast) u2 t2) & - (pr3 c u1 u2) & (pr3 c t1 t2) - ) \/ - (pr3 c t1 x). - Intros; InsertEq H '(TTail (Flat Cast) u1 t1); - UnIntro H t1; UnIntro H u1; XElim H; Clear y x; Intros; - Rename x into u0; Rename x0 into t0. -(* case 1: pr3_refl *) - Rewrite H; Clear H t; XEAuto. -(* case 2: pr3_sing *) - Rewrite H2 in H; Clear H2 t1; Pr2GenBase. -(* case 2.1: short step: compatinility *) - Rewrite H3 in H1; Clear H0 H3 t2; - IH; Try Rewrite H0; XEAuto. -(* case 2.2: short step: epsilon *) - XEAuto. - Qed. - - End pr3_gen_base. - - Tactic Definition Pr3GenBase := - Match Context With - | [ H: (pr3 ?1 (TSort ?2) ?3) |- ? ] -> - LApply (pr3_gen_sort ?1 ?3 ?2); [ Clear H; Intros | XAuto ] - | [ H: (pr3 ?1 (TTail (Bind Abst) ?2 ?3) ?4) |- ? ] -> - LApply (pr3_gen_abst ?1 ?2 ?3 ?4); [ Clear H; Intros H | XAuto ]; - XDecompose H - | [ H: (pr3 ?1 (TTail (Flat Appl) ?2 ?3) ?4) |- ? ] -> - LApply (pr3_gen_appl ?1 ?2 ?3 ?4); [ Clear H; Intros H | XAuto ]; - XDecompose H - | [ H: (pr3 ?1 (TTail (Flat Cast) ?2 ?3) ?4) |- ? ] -> - LApply (pr3_gen_cast ?1 ?2 ?3 ?4); [ Clear H; Intros H | XAuto ]; - XDecompose H. - - Section pr3_props. (******************************************************) - - Theorem pr3_pr2: (c,t1,t2:?) (pr2 c t1 t2) -> (pr3 c t1 t2). - XEAuto. - Qed. - - Theorem pr3_t: (t2,t1,c:?) (pr3 c t1 t2) -> - (t3:?) (pr3 c t2 t3) -> (pr3 c t1 t3). - Intros until 1; XElim H; XEAuto. - Qed. - - Theorem pr3_thin_dx: (c:?; t1,t2:?) (pr3 c t1 t2) -> - (u:?; f:?) (pr3 c (TTail (Flat f) u t1) - (TTail (Flat f) u t2)). - Intros; XElim H; XEAuto. - Qed. - - Theorem pr3_tail_1: (c:?; u1,u2:?) (pr3 c u1 u2) -> - (k:?; t:?) (pr3 c (TTail k u1 t) (TTail k u2 t)). - Intros until 1; XElim H; Intros. -(* case 1: pr3_refl *) - XAuto. -(* case 2: pr3_sing *) - EApply pr3_sing; [ Apply pr2_tail_1; Apply H | XAuto ]. - Qed. - - Theorem pr3_tail_2: (c:?; u,t1,t2:?; k:?) (pr3 (CTail c k u) t1 t2) -> - (pr3 c (TTail k u t1) (TTail k u t2)). - Intros until 1; XElim H; Intros. -(* case 1: pr3_refl *) - XAuto. -(* case 2: pr3_sing *) - EApply pr3_sing; [ Apply pr2_tail_2; Apply H | XAuto ]. - Qed. - - Hints Resolve pr3_tail_1 pr3_tail_2 : ltlc. - - Theorem pr3_tail_21: (c:?; u1,u2:?) (pr3 c u1 u2) -> - (k:?; t1,t2:?) (pr3 (CTail c k u1) t1 t2) -> - (pr3 c (TTail k u1 t1) (TTail k u2 t2)). - Intros. - EApply pr3_t; [ Apply pr3_tail_2 | Apply pr3_tail_1 ]; XAuto. - Qed. - - Theorem pr3_tail_12: (c:?; u1,u2:?) (pr3 c u1 u2) -> - (k:?; t1,t2:?) (pr3 (CTail c k u2) t1 t2) -> - (pr3 c (TTail k u1 t1) (TTail k u2 t2)). - Intros. - EApply pr3_t; [ Apply pr3_tail_1 | Apply pr3_tail_2 ]; XAuto. - Qed. - - Theorem pr3_shift: (h:?; c,e:?) (drop h (0) c e) -> - (t1,t2:?) (pr3 c t1 t2) -> - (pr3 e (app c h t1) (app c h t2)). - Intros until 2; XElim H0; Clear t1 t2; Intros. -(* case 1: pr3_refl *) - XAuto. -(* case 2: pr3_sing *) - XEAuto. - Qed. - - Theorem pr3_pr1: (t1,t2:?) (pr1 t1 t2) -> (c:?) (pr3 c t1 t2). - Intros until 1; XElim H; XEAuto. - Qed. - - End pr3_props. - - Hints Resolve pr3_pr2 pr3_t pr3_pr1 - pr3_thin_dx pr3_tail_12 pr3_tail_21 pr3_shift : ltlc. diff --git a/helm/coq-contribs/LAMBDA-TYPES/pr3_gen.v b/helm/coq-contribs/LAMBDA-TYPES/pr3_gen.v deleted file mode 100644 index e96f49fc3..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pr3_gen.v +++ /dev/null @@ -1,132 +0,0 @@ -(*#* #stop file *) - -Require pr2_gen. -Require pr3_defs. -Require pr3_props. - - Section pr3_gen_lift. (***************************************************) - -(*#* #caption "generation lemma for lift" *) -(*#* #cap #cap c #alpha e in D, t1 in U1, t2 in U2, x in T, d in i *) - - Theorem pr3_gen_lift: (c:?; t1,x:?; h,d:?) (pr3 c (lift h d t1) x) -> - (e:?) (drop h d c e) -> - (EX t2 | x = (lift h d t2) & (pr3 e t1 t2)). - Intros until 1; InsertEq H '(lift h d t1); - UnIntro H t1; XElim H; Clear y x; Intros; Rename x into t4. -(* case 1 : pr3_refl *) - XEAuto. -(* case 2 : pr3_sing *) - Rewrite H2 in H; Pr2Gen. - LApply (H1 x); [ Clear H1; Intros H1 | XAuto ]. - LApply (H1 e); [ Clear H1; Intros H1 | XAuto ]. - XElim H1; XEAuto. - Qed. - - End pr3_gen_lift. - - Section pr3_gen_lref. (***************************************************) - - Theorem pr3_gen_lref: (c:?; x:?; n:?) (pr3 c (TLRef n) x) -> - x = (TLRef n) \/ - (EX d u v | (drop n (0) c (CTail d (Bind Abbr) u)) & - (pr3 d u v) & - x = (lift (S n) (0) v) - ). - Intros; InsertEq H '(TLRef n); XElim H; Clear y x; Intros. -(* case 1: pr3_refl *) - XAuto. -(* case 2: pr3_sing *) - Rewrite H2 in H; Clear H2 t1; Pr2GenBase. -(* case 2.1: pr2_free *) - XAuto. -(* case 2.2: pr2_delta *) - Rewrite H4 in H0; Clear H1 H4 t2. - LApply (pr3_gen_lift c x1 t3 (S n) (0)); [ Clear H0; Intros | XAuto ]. - LApply (H x0); [ Clear H; Intros | XEAuto ]. - XElim H; XEAuto. - Qed. - - End pr3_gen_lref. - - Section pr3_gen_bind. (***************************************************) - - Tactic Definition IH := - Match Context With - | [ H: (u,t:T) (TTail (Bind Void) ?1 ?2) = (TTail (Bind Void) u t) -> ? |- ? ] -> - LApply (H ?1 ?2); [ Clear H; Intros H | XAuto ]; - XDecompose H - | [ H: (u,t:T) (TTail (Bind Abbr) ?1 ?2) = (TTail (Bind Abbr) u t) -> ? |- ? ] -> - LApply (H ?1 ?2); [ Clear H; Intros H | XAuto ]; - XDecompose H. - - Theorem pr3_gen_void: (c:?; u1,t1,x:?) (pr3 c (TTail (Bind Void) u1 t1) x) -> - (EX u2 t2 | x = (TTail (Bind Void) u2 t2) & - (pr3 c u1 u2) & (b:?; u:?) - (pr3 (CTail c (Bind b) u) t1 t2) - ) \/ - (pr3 (CTail c (Bind Void) u1) t1 (lift (1) (0) x)). - Intros until 1; InsertEq H '(TTail (Bind Void) u1 t1); - UnIntro t1 H; UnIntro u1 H; XElim H; Intros. -(* case 1 : pr3_refl *) - Rewrite H; XEAuto. -(* case 2 : pr3_sing *) - Rewrite H2 in H; Clear H2 t0; Pr2Gen. -(* case 2.1 : short step: compatibility *) - Rewrite H3 in H1; Clear H0 H3 t2. - IH; Try Pr3Context; Try Rewrite H2; XEAuto. -(* case 2.2 : short step: zeta *) - XEAuto. - Qed. - - Theorem pr3_gen_abbr: (c:?; u1,t1,x:?) (pr3 c (TTail (Bind Abbr) u1 t1) x) -> - (EX u2 t2 | x = (TTail (Bind Abbr) u2 t2) & - (pr3 c u1 u2) & - (pr3 (CTail c (Bind Abbr) u1) t1 t2) - ) \/ - (pr3 (CTail c (Bind Abbr) u1) t1 (lift (1) (0) x)). - Intros until 1; InsertEq H '(TTail (Bind Abbr) u1 t1); - UnIntro H t1; UnIntro H u1; XElim H; Clear y x; Intros; - Rename x into u1; Rename x0 into t4. -(* case 1: pr3_refl *) - Rewrite H; XEAuto. -(* case 2: pr3_sing *) - Rewrite H2 in H; Clear H2 t1; Pr2Gen. -(* case 2.1: short step: compatibility *) - Rewrite H3 in H1; Clear H0 H3 t2. - IH; Repeat Pr3Context; - Try (Rewrite H0; Clear H0 t3; Left; EApply ex3_2_intro); - XEAuto. -(* case 2.2: short step: beta *) - Rewrite H3 in H1; Clear H0 H3 t1. - IH; Repeat Pr3Context; - Try (Rewrite H0; Clear H0 t3; Left; EApply ex3_2_intro); - XEAuto. -(* case 2.3: short step: delta *) - Rewrite H3 in H1; Clear H0 H3 t2. - IH; Repeat Pr3Context; - Try (Rewrite H0; Clear H0 t3; Left; EApply ex3_2_intro); - XDEAuto 7. -(* case 2.4: short step: zeta *) - XEAuto. - Qed. - - End pr3_gen_bind. - - Tactic Definition Pr3Gen := - Match Context With - | [ H: (pr3 ?1 (TLRef ?2) ?3) |- ? ] -> - LApply (pr3_gen_lref ?1 ?3 ?2); [ Clear H; Intros H | XAuto ]; - XDecompose H - | [ H: (pr3 ?1 (TTail (Bind Void) ?2 ?3) ?4) |- ? ] -> - LApply (pr3_gen_void ?1 ?2 ?3 ?4); [ Clear H; Intros H | XAuto ]; - XDecompose H - | [ H: (pr3 ?1 (TTail (Bind Abbr) ?2 ?3) ?4) |- ? ] -> - LApply (pr3_gen_abbr ?1 ?2 ?3 ?4); [ Clear H; Intros H | XAuto ]; - XDecompose H - | [ H0: (pr3 ?1 (lift ?2 ?3 ?4) ?5); - H1: (drop ?2 ?3 ?1 ?6) |- ? ] -> - LApply (pr3_gen_lift ?1 ?4 ?5 ?2 ?3); [ Clear H0; Intros H0 | XAuto ]; - LApply (H0 ?6); [ Clear H0; Intros H0 | XAuto ]; - XDecompose H0 - | _ -> Pr3GenBase. diff --git a/helm/coq-contribs/LAMBDA-TYPES/pr3_gen_context.v b/helm/coq-contribs/LAMBDA-TYPES/pr3_gen_context.v deleted file mode 100644 index a7f3e92be..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pr3_gen_context.v +++ /dev/null @@ -1,42 +0,0 @@ -(*#* #stop file *) - -Require csubst1_defs. -Require pr2_gen_context. -Require pr3_defs. - - Section pr3_gen_context. (************************************************) - - Theorem pr3_gen_cabbr: (c:?; t1,t2:?) (pr3 c t1 t2) -> (e:?; u:?; d:?) - (drop d (0) c (CTail e (Bind Abbr) u)) -> - (a0:?) (csubst1 d u c a0) -> - (a:?) (drop (1) d a0 a) -> - (x1:?) (subst1 d u t1 (lift (1) d x1)) -> - (EX x2 | (subst1 d u t2 (lift (1) d x2)) & - (pr3 a x1 x2) - ). - Intros until 1; XElim H; Intros. -(* case 1: pr3_refl *) - XEAuto. -(* case 1: pr3_refl *) - Pr2GenContext. - LApply (H1 e u d); [ Clear H1; Intros H1 | XAuto ]. - LApply (H1 a0); [ Clear H1; Intros H1 | XAuto ]. - LApply (H1 a); [ Clear H1; Intros H1 | XAuto ]. - LApply (H1 x); [ Clear H1; Intros H1 | XAuto ]. - XElim H1; XEAuto. - Qed. - - End pr3_gen_context. - - Tactic Definition Pr3GenContext := - Match Context With - | [ H0: (pr3 ?1 ?2 ?3); H1: (drop ?4 (0) ?1 (CTail ?5 (Bind Abbr) ?6)); - H2: (csubst1 ?4 ?6 ?1 ?7); H3: (drop (1) ?4 ?7 ?8); - H4: (subst1 ?4 ?6 ?2 (lift (1) ?4 ?9)) |- ? ] -> - LApply (pr3_gen_cabbr ?1 ?2 ?3); [ Clear H0; Intros H0 | XAuto ]; - LApply (H0 ?5 ?6 ?4); [ Clear H0; Intros H0 | XAuto ]; - LApply (H0 ?7); [ Clear H0; Intros H0 | XAuto ]; - LApply (H0 ?8); [ Clear H0; Intros H0 | XAuto ]; - LApply (H0 ?9); [ Clear H0 H4; Intros H0 | XAuto ]; - XElim H0; Intros - | _ -> Pr2GenContext. diff --git a/helm/coq-contribs/LAMBDA-TYPES/pr3_props.v b/helm/coq-contribs/LAMBDA-TYPES/pr3_props.v deleted file mode 100644 index b5c7df937..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pr3_props.v +++ /dev/null @@ -1,127 +0,0 @@ -Require subst0_subst0. -Require pr0_subst0. -Require cpr0_defs. -Require pr2_lift. -Require pr2_gen. -Require pr3_defs. - -(*#* #caption "main properties of the relation $\\PrT{}{}{}$" *) -(*#* #clauses *) - -(*#* #stop file *) - - Section pr3_context. (****************************************************) - - Theorem pr3_pr0_pr2_t: (u1,u2:?) (pr0 u1 u2) -> - (c:?; t1,t2:?; k:?) (pr2 (CTail c k u2) t1 t2) -> - (pr3 (CTail c k u1) t1 t2). - Intros; Inversion H0; Clear H0; XAuto. - NewInduction i. -(* case 1 : pr2_delta i = 0 *) - DropGenBase; Inversion H0; Clear H0 H4 H5 H6 c k t. - Rewrite H7 in H; Clear H7 u2. - Pr0Subst0; XEAuto. -(* case 2 : pr2_delta i > 0 *) - NewInduction k; DropGenBase; XEAuto. - Qed. - - Theorem pr3_pr2_pr2_t: (c:?; u1,u2:?) (pr2 c u1 u2) -> - (t1,t2:?; k:?) (pr2 (CTail c k u2) t1 t2) -> - (pr3 (CTail c k u1) t1 t2). - Intros until 1; Inversion H; Clear H; Intros. -(* case 1 : pr2_free *) - EApply pr3_pr0_pr2_t; [ Apply H0 | XAuto ]. -(* case 2 : pr2_delta *) - Inversion H; [ XAuto | NewInduction i0 ]. -(* case 2.1 : i0 = 0 *) - DropGenBase; Inversion H4; Clear H3 H4 H7 t t4. - Rewrite <- H9; Rewrite H10 in H; Rewrite <- H11 in H6; Clear H9 H10 H11 d0 k u0. - Subst0Subst0; Arith9'In H4 i; Clear H2 H H6 u2. - Pr0Subst0; Apply pr3_sing with t2:=x0; XEAuto. -(* case 2.2 : i0 > 0 *) - Clear IHi0; NewInduction k; DropGenBase; XEAuto. - Qed. - - Theorem pr3_pr2_pr3_t: (c:?; u2,t1,t2:?; k:?) - (pr3 (CTail c k u2) t1 t2) -> - (u1:?) (pr2 c u1 u2) -> - (pr3 (CTail c k u1) t1 t2). - Intros until 1; XElim H; Intros. -(* case 1 : pr3_refl *) - XAuto. -(* case 2 : pr3_sing *) - EApply pr3_t. - EApply pr3_pr2_pr2_t; [ Apply H2 | Apply H ]. - XAuto. - Qed. - -(*#* #caption "reduction inside context items" *) -(*#* #cap #cap t1, t2 #alpha c in E, u1 in V1, u2 in V2, k in z *) - - Theorem pr3_pr3_pr3_t: (c:?; u1,u2:?) (pr3 c u1 u2) -> - (t1,t2:?; k:?) (pr3 (CTail c k u2) t1 t2) -> - (pr3 (CTail c k u1) t1 t2). - Intros until 1; XElim H; Intros. -(* case 1 : pr3_refl *) - XAuto. -(* case 2 : pr3_sing *) - EApply pr3_pr2_pr3_t; [ Apply H1; XAuto | XAuto ]. - Qed. - - End pr3_context. - - Tactic Definition Pr3Context := - Match Context With - | [ H1: (pr0 ?2 ?3); H2: (pr2 (CTail ?1 ?4 ?3) ?5 ?6) |- ? ] -> - LApply (pr3_pr0_pr2_t ?2 ?3); [ Intros H_x | XAuto ]; - LApply (H_x ?1 ?5 ?6 ?4); [ Clear H_x H2; Intros | XAuto ] - | [ H1: (pr0 ?2 ?3); H2: (pr3 (CTail ?1 ?4 ?3) ?5 ?6) |- ? ] -> - LApply (pr3_pr2_pr3_t ?1 ?3 ?5 ?6 ?4); [ Clear H2; Intros H2 | XAuto ]; - LApply (H2 ?2); [ Clear H2; Intros | XAuto ] - | [ H1: (pr2 ?1 ?2 ?3); H2: (pr2 (CTail ?1 ?4 ?3) ?5 ?6) |- ? ] -> - LApply (pr3_pr2_pr2_t ?1 ?2 ?3); [ Intros H_x | XAuto ]; - LApply (H_x ?5 ?6 ?4); [ Clear H_x H2; Intros | XAuto ] - | [ H1: (pr2 ?1 ?2 ?3); H2: (pr3 (CTail ?1 ?4 ?3) ?5 ?6) |- ? ] -> - LApply (pr3_pr2_pr3_t ?1 ?3 ?5 ?6 ?4); [ Clear H2; Intros H2 | XAuto ]; - LApply (H2 ?2); [ Clear H2; Intros | XAuto ] - | [ H1: (pr3 ?1 ?2 ?3); H2: (pr3 (CTail ?1 ?4 ?3) ?5 ?6) |- ? ] -> - LApply (pr3_pr3_pr3_t ?1 ?2 ?3); [ Intros H_x | XAuto ]; - LApply (H_x ?5 ?6 ?4); [ Clear H_x H2; Intros | XAuto ]. - - Section pr3_lift. (*******************************************************) - -(*#* #caption "conguence with lift" *) -(*#* #cap #cap c, t1, t2 #alpha e in D, d in i *) - - Theorem pr3_lift: (c,e:?; h,d:?) (drop h d c e) -> - (t1,t2:?) (pr3 e t1 t2) -> - (pr3 c (lift h d t1) (lift h d t2)). - Intros until 2; XElim H0; Intros; XEAuto. - Qed. - - End pr3_lift. - - Hints Resolve pr3_lift : ltlc. - - Section pr3_cpr0. (*******************************************************) - - Theorem pr3_cpr0_t: (c1,c2:?) (cpr0 c2 c1) -> (t1,t2:?) (pr3 c1 t1 t2) -> - (pr3 c2 t1 t2). - Intros until 1; XElim H; Intros. -(* case 1 : cpr0_refl *) - XAuto. -(* case 2 : cpr0_comp *) - Pr3Context; Clear H1. - XElim H2; Intros. -(* case 2.1 : pr3_refl *) - XAuto. -(* case 2.2 : pr3_sing *) - EApply pr3_t; [ Idtac | XEAuto ]. Clear H2 H3 c1 c2 t1 t2 t4 u2. - Inversion_clear H1. -(* case 2.2.1 : pr2_free *) - XAuto. -(* case 2.2.1 : pr2_delta *) - Cpr0Drop; Pr0Subst0; Apply pr3_sing with t2:=x; XEAuto. - Qed. - - End pr3_cpr0. diff --git a/helm/coq-contribs/LAMBDA-TYPES/pr3_subst1.v b/helm/coq-contribs/LAMBDA-TYPES/pr3_subst1.v deleted file mode 100644 index 3db6ce000..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/pr3_subst1.v +++ /dev/null @@ -1,32 +0,0 @@ -(*#* #stop file *) - -Require subst1_defs. -Require pr2_subst1. -Require pr3_defs. - - Section pr3_subst1_props. (***********************************************) - - Theorem pr3_subst1: (c,e:?; v:?; i:?) (drop i (0) c (CTail e (Bind Abbr) v)) -> - (t1,t2:?) (pr3 c t1 t2) -> - (w1:?) (subst1 i v t1 w1) -> - (EX w2 | (pr3 c w1 w2) & (subst1 i v t2 w2)). - Intros until 2; XElim H0; Clear t1 t2; Intros. -(* case 1: pr3_refl *) - XEAuto. -(* case 2: pr3_single *) - Pr2Subst1. - LApply (H2 x); [ Clear H2; Intros H2 | XAuto ]. - XElim H2; XEAuto. - Qed. - - End pr3_subst1_props. - - Tactic Definition Pr3Subst1 := - Match Context With - | [ H0: (drop ?1 (0) ?2 (CTail ?3 (Bind Abbr) ?4)); - H1: (pr3 ?2 ?5 ?6); H3: (subst1 ?1 ?4 ?5 ?7) |- ? ] -> - LApply (pr3_subst1 ?2 ?3 ?4 ?1); [ Intros H_x | XAuto ]; - LApply (H_x ?5 ?6); [ Clear H_x H1; Intros H1 | XAuto ]; - LApply (H1 ?7); [ Clear H1; Intros H1 | XAuto ]; - XElim H1; Intros - | _ -> Pr2Subst1. diff --git a/helm/coq-contribs/LAMBDA-TYPES/subst0_confluence.v b/helm/coq-contribs/LAMBDA-TYPES/subst0_confluence.v deleted file mode 100644 index bbbfdc469..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/subst0_confluence.v +++ /dev/null @@ -1,80 +0,0 @@ -(*#* #stop file *) - -Require lift_gen. -Require subst0_gen. -Require subst0_defs. - - Section subst0_confluence. (**********************************************) - - Tactic Definition IH := - Match Context With - | [ H1: (t2,u2:?; i2:?) (subst0 i2 u2 ?1 t2) -> ~?2=i2 -> ?; - H2: (subst0 ?3 ?4 ?1 ?5); H3: ~?2=?3 |- ? ] -> - LApply (H1 ?5 ?4 ?3); [ Clear H1; Intros H1 | XAuto ]; - LApply H1; [ Clear H1; Intros H1 | XAuto ]; - XElim H1; Intros - | [ H1: (t2,u2:?; i2:?) (subst0 i2 u2 ?1 t2) -> ~(s k ?2)=i2 -> ?; - H2: (subst0 (s k ?3) ?4 ?1 ?5); H3: ~?2=?3 |- ? ] -> - LApply (H1 ?5 ?4 (s k ?3)); [ Clear H1; Intros H1 | XAuto ]; - LApply H1; [ Clear H1; Intros H1 | Unfold not in H3; Unfold not; XEAuto ]; - XElim H1; Intros - | [ H1: (t2:T) (subst0 ?1 ?2 ?3 t2) -> ?; H2: (subst0 ?1 ?2 ?3 ?4) |- ? ] -> - LApply (H1 ?4); [ Clear H1; Intros H1 | XAuto ]; - XElim H1; Intros H1; [ Try Rewrite H1 | XElim H1; Intros | Idtac | Idtac ]. - - Theorem subst0_confluence_neq : (t0,t1,u1:?; i1:?) (subst0 i1 u1 t0 t1) -> - (t2,u2:?; i2:?) (subst0 i2 u2 t0 t2) -> - ~i1=i2 -> - (EX t | (subst0 i2 u2 t1 t) & - (subst0 i1 u1 t2 t)). - - Intros until 1; XElim H; Intros; - Subst0GenBase; Try Rewrite H in H0; Try Rewrite H1; Try Rewrite H3; - Try EqFalse; Repeat IH; XEAuto. - Qed. - - Theorem subst0_confluence_eq : (t0,t1,u:?; i:?) (subst0 i u t0 t1) -> - (t2:?) (subst0 i u t0 t2) -> (OR - t1 = t2 | - (EX t | (subst0 i u t1 t) & (subst0 i u t2 t)) | - (subst0 i u t1 t2) | - (subst0 i u t2 t1)). - Intros until 1; XElim H; Intros; - Subst0GenBase; Try Rewrite H1; Try Rewrite H3; - Repeat IH; XEAuto. - Qed. - - End subst0_confluence. - - Tactic Definition Subst0Confluence := - Match Context With - | [ H0: (subst0 ?1 ?2 ?3 ?4); - H1: (subst0 ?1 ?2 ?3 ?5) |- ? ] -> - LApply (subst0_confluence_eq ?3 ?4 ?2 ?1); [ Clear H0; Intros H0 | XAuto ]; - LApply (H0 ?5); [ Clear H0; Intros H0 | XAuto ]; - XElim H0; [ Intros | Intros H0; XElim H0; Intros | Intros | Intros ] - | [ H0: (subst0 ?1 ?2 ?3 ?4); - H1: (subst0 ?5 ?6 ?3 ?7) |- ? ] -> - LApply (subst0_confluence_neq ?3 ?4 ?2 ?1); [ Clear H0; Intros H0 | XAuto ]; - LApply (H0 ?7 ?6 ?5); [ Clear H0 H1; Intros H0 | XAuto ]; - LApply H0; [ Clear H0; Intros H0 | Simpl; XAuto ]; - XElim H0; Intros. - - Section subst0_confluence_lift. (*****************************************) - - Theorem subst0_confluence_lift: (t0,t1,u:?; i:?) (subst0 i u t0 (lift (1) i t1)) -> - (t2:?) (subst0 i u t0 (lift (1) i t2)) -> - t1 = t2. - Intros; Subst0Confluence; - Try Subst0Gen; SymEqual; LiftGen; XEAuto. - Qed. - - End subst0_confluence_lift. - - Tactic Definition Subst0ConfluenceLift := - Match Context With - | [ H0: (subst0 ?1 ?2 ?3 (lift (1) ?1 ?4)); - H1: (subst0 ?1 ?2 ?3 (lift (1) ?1 ?5)) |- ? ] -> - LApply (subst0_confluence_lift ?3 ?4 ?2 ?1); [ Clear H0; Intros H0 | XAuto ]; - LApply (H0 ?5); [ Clear H0; Intros | XAuto ] - | _ -> Subst0Confluence. diff --git a/helm/coq-contribs/LAMBDA-TYPES/subst0_defs.v b/helm/coq-contribs/LAMBDA-TYPES/subst0_defs.v deleted file mode 100644 index d99a405db..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/subst0_defs.v +++ /dev/null @@ -1,62 +0,0 @@ -Require Export lift_defs. - -(*#* #caption "axioms for strict substitution in terms", - "substituted local reference", - "substituted tail item: first operand", - "substituted tail item: second operand", - "substituted tail item: both operands" -*) -(*#* #cap #cap t, t1, t2 #alpha v in W, u in V, u1 in V1, u2 in V2, k in z, s in p *) - - Inductive subst0 : nat -> T -> T -> T -> Prop := - | subst0_lref: (v:?; i:?) (subst0 i v (TLRef i) (lift (S i) (0) v)) - | subst0_fst : (v,u2,u1:?; i:?) (subst0 i v u1 u2) -> - (t:?; k:?) (subst0 i v (TTail k u1 t) (TTail k u2 t)) - | subst0_snd : (k:?; v,t2,t1:?; i:?) (subst0 (s k i) v t1 t2) -> (u:?) - (subst0 i v (TTail k u t1) (TTail k u t2)) - | subst0_both: (v,u1,u2:?; i:?) (subst0 i v u1 u2) -> - (k:?; t1,t2:?) (subst0 (s k i) v t1 t2) -> - (subst0 i v (TTail k u1 t1) (TTail k u2 t2)). - -(*#* #stop file *) - - Hint subst0 : ltlc := Constructors subst0. - - Section subst0_gen_base. (************************************************) - - Theorem subst0_gen_sort : (v,x:?; i,n:?) (subst0 i v (TSort n) x) -> - (P:Prop) P. - Intros; Inversion H. - Qed. - - Theorem subst0_gen_lref : (v,x:?; i,n:?) (subst0 i v (TLRef n) x) -> - n = i /\ x = (lift (S n) (0) v). - Intros; Inversion H; XAuto. - Qed. - - Theorem subst0_gen_tail : (k:?; v,u1,t1,x:?; i:?) - (subst0 i v (TTail k u1 t1) x) -> (OR - (EX u2 | x = (TTail k u2 t1) & - (subst0 i v u1 u2)) | - (EX t2 | x = (TTail k u1 t2) & - (subst0 (s k i) v t1 t2)) | - (EX u2 t2 | x = (TTail k u2 t2) & - (subst0 i v u1 u2) & - (subst0 (s k i) v t1 t2)) - ). - - Intros; Inversion H; XEAuto. - Qed. - - End subst0_gen_base. - - Tactic Definition Subst0GenBase := - Match Context With - | [ H: (subst0 ?1 ?2 (TSort ?3) ?4) |- ? ] -> - Apply (subst0_gen_sort ?2 ?4 ?1 ?3); Apply H - | [ H: (subst0 ?1 ?2 (TLRef ?3) ?4) |- ? ] -> - LApply (subst0_gen_lref ?2 ?4 ?1 ?3); [ Clear H; Intros H | XAuto ]; - XElim H; Intros - | [ H: (subst0 ?1 ?2 (TTail ?3 ?4 ?5) ?6) |- ? ] -> - LApply (subst0_gen_tail ?3 ?2 ?4 ?5 ?6 ?1); [ Clear H; Intros H | XAuto ]; - XElim H; Intros H; XElim H; Intros. diff --git a/helm/coq-contribs/LAMBDA-TYPES/subst0_gen.v b/helm/coq-contribs/LAMBDA-TYPES/subst0_gen.v deleted file mode 100644 index d46ca3555..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/subst0_gen.v +++ /dev/null @@ -1,130 +0,0 @@ -(*#* #stop file *) - -Require lift_props. -Require subst0_defs. - - Section subst0_gen_lift_lt. (*********************************************) - - Tactic Definition IH := - Match Context With - [ H1: (x:T; i,h,d:nat) (subst0 i (lift h d ?1) (lift h (S (plus i d)) ?2) x) -> ?; - H2: (subst0 ?3 (lift ?4 ?5 ?1) (lift ?4 (S (plus ?3 ?5)) ?2) ?6) |- ? ] -> - LApply (H1 ?6 ?3 ?4 ?5); [ Clear H1 H2; Intros H1 | XAuto ]; - XElim H1; Intros. - - Theorem subst0_gen_lift_lt : (u,t1,x:?; i,h,d:?) (subst0 i (lift h d u) (lift h (S (plus i d)) t1) x) -> - (EX t2 | x = (lift h (S (plus i d)) t2) & (subst0 i u t1 t2)). - XElim t1; Intros. -(* case 1: TSort *) - Rewrite lift_sort in H; Subst0GenBase. -(* case 2: TLRef n *) - Apply (lt_le_e n (S (plus i d))); Intros. -(* case 2.1: n < 1 + i + d *) - Rewrite lift_lref_lt in H; [ Idtac | XAuto ]. - Subst0GenBase; Rewrite H1; Rewrite H. - Rewrite <- lift_d; Simpl; XEAuto. -(* case 2.2: n >= 1 + i + d *) - Rewrite lift_lref_ge in H; [ Idtac | XAuto ]. - Subst0GenBase; Rewrite <- H in H0. - EApply le_false; [ Idtac | Apply H0 ]; XAuto. -(* case 3: TTail k *) - Rewrite lift_tail in H1; Subst0GenBase; Rewrite H1; Clear H1 x. -(* case 3.1: subst0_fst *) - IH; Rewrite H; Rewrite <- lift_tail; XEAuto. -(* case 3.2: subst0_snd *) - SRwIn H2; IH; Rewrite H0; SRwBack; Rewrite <- lift_tail; XEAuto. -(* case 3.2: subst0_snd *) - SRwIn H3; Repeat IH; Rewrite H; Rewrite H0; SRwBack; - Rewrite <- lift_tail; XEAuto. - Qed. - - End subst0_gen_lift_lt. - - Section subst0_gen_lift_false. (******************************************) - - Theorem subst0_gen_lift_false : (t,u,x:?; h,d,i:?) - (le d i) -> (lt i (plus d h)) -> - (subst0 i u (lift h d t) x) -> - (P:Prop) P. - XElim t; Intros. -(* case 1: TSort *) - Rewrite lift_sort in H1; Subst0GenBase. -(* case 2: TLRef n *) - Apply (lt_le_e n d); Intros. -(* case 2.1: n < d *) - Rewrite lift_lref_lt in H1; [ Idtac | XAuto ]. - Subst0GenBase; Rewrite H1 in H2. - EApply le_false; [ Apply H | XAuto ]. -(* case 2.2: n >= d *) - Rewrite lift_lref_ge in H1; [ Idtac | XAuto ]. - Subst0GenBase; Rewrite <- H1 in H0. - EApply le_false; [ Apply H2 | XEAuto ]. -(* case 3: TTail k *) - Rewrite lift_tail in H3; Subst0GenBase. -(* case 3.1: subst0_fst *) - EApply H; XEAuto. -(* case 3.2: subst0_snd *) - EApply H0; [ Idtac | Idtac | XEAuto ]; [ Idtac | SRwBack ]; XAuto. -(* case 3.3: subst0_both *) - EApply H; XEAuto. - Qed. - - End subst0_gen_lift_false. - - Section subst0_gen_lift_ge. (*********************************************) - - Tactic Definition IH := - Match Context With - [ H1: (x:?; i,h,d:?) (subst0 i ?1 (lift h d ?2) x) -> ?; - H2: (subst0 ?3 ?1 (lift ?4 ?5 ?2) ?6) |- ? ] -> - LApply (H1 ?6 ?3 ?4 ?5); [ Clear H1 H2; Intros H1 | XAuto ]; - LApply H1; [ Clear H1; Intros H1 | SRwBack; XAuto ]; - XElim H1; Intros. - - Theorem subst0_gen_lift_ge : (u,t1,x:?; i,h,d:?) (subst0 i u (lift h d t1) x) -> - (le (plus d h) i) -> - (EX t2 | x = (lift h d t2) & (subst0 (minus i h) u t1 t2)). - XElim t1; Intros. -(* case 1: TSort *) - Rewrite lift_sort in H; Subst0GenBase. -(* case 2: TLRef n *) - Apply (lt_le_e n d); Intros. -(* case 2.1: n < d *) - Rewrite lift_lref_lt in H; [ Idtac | XAuto ]. - Subst0GenBase; Rewrite H in H1. - EApply le_false; [ Apply H0 | XAuto ]. -(* case 2.2: n >= d *) - Rewrite lift_lref_ge in H; [ Idtac | XAuto ]. - Subst0GenBase; Rewrite <- H; Rewrite H2. - Rewrite minus_plus_r. - EApply ex2_intro; [ Idtac | XAuto ]. - Rewrite lift_free; [ Idtac | XEAuto (**) | XAuto ]. - Rewrite plus_sym; Rewrite plus_n_Sm; XAuto. -(* case 3: TTail k *) - Rewrite lift_tail in H1; Subst0GenBase; Rewrite H1; Clear H1 x; - Repeat IH; Try Rewrite H; Try Rewrite H0; - Rewrite <- lift_tail; Try Rewrite <- s_minus in H1; XEAuto. - Qed. - - End subst0_gen_lift_ge. - - Tactic Definition Subst0Gen := - Match Context With - | [ H: (subst0 ?0 (lift ?1 ?2 ?3) (lift ?1 (S (plus ?0 ?2)) ?4) ?5) |- ? ] -> - LApply (subst0_gen_lift_lt ?3 ?4 ?5 ?0 ?1 ?2); [ Clear H; Intros H | XAuto ]; - XElim H; Intros - | [ H: (subst0 ?0 ?1 (lift (1) ?0 ?2) ?3) |- ? ] -> - LApply (subst0_gen_lift_false ?2 ?1 ?3 (1) ?0 ?0); [ Intros H_x | XAuto ]; - LApply H_x; [ Clear H_x; Intros H_x | Rewrite plus_sym; XAuto ]; - LApply H_x; [ Clear H H_x; Intros H | XAuto ]; - Apply H - | [ _: (le ?1 ?2); _: (lt ?2 (plus ?1 ?3)); - _: (subst0 ?2 ?4 (lift ?3 ?1 ?5) ?6) |- ? ] -> - Apply (subst0_gen_lift_false ?5 ?4 ?6 ?3 ?1 ?2); XAuto - | [ _: (subst0 ?1 ?2 (lift (S ?1) (0) ?3) ?4) |- ? ] -> - Apply (subst0_gen_lift_false ?3 ?2 ?4 (S ?1) (0) ?1); XAuto - | [ H: (subst0 ?0 ?1 (lift ?2 ?3 ?4) ?5) |- ? ] -> - LApply (subst0_gen_lift_ge ?1 ?4 ?5 ?0 ?2 ?3); [ Clear H; Intros H | XAuto ]; - LApply H; [ Clear H; Intros H | Simpl; XAuto ]; - XElim H; Intros - | _ -> Subst0GenBase. diff --git a/helm/coq-contribs/LAMBDA-TYPES/subst0_lift.v b/helm/coq-contribs/LAMBDA-TYPES/subst0_lift.v deleted file mode 100644 index caabbe0b7..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/subst0_lift.v +++ /dev/null @@ -1,56 +0,0 @@ -(*#* #stop file *) - -Require lift_props. -Require subst0_defs. - - Section subst0_lift. (****************************************************) - - Theorem subst0_lift_lt: (t1,t2,u:?; i:?) (subst0 i u t1 t2) -> - (d:?) (lt i d) -> (h:?) - (subst0 i (lift h (minus d (S i)) u) (lift h d t1) (lift h d t2)). - Intros until 1; XElim H; Intros. -(* case 1: subst0_lref *) - Rewrite lift_lref_lt; [ Idtac | XAuto ]. - LetTac w := (minus d (S i0)). - Arith8 d '(S i0); Rewrite lift_d; XAuto. -(* case 2: subst0_fst *) - LiftTailRw; XAuto. -(* case 3: subst0_snd *) - SRwBackIn H0; LiftTailRw; Rewrite <- (minus_s_s k); XAuto. -(* case 4: subst0_both *) - SRwBackIn H2; LiftTailRw. - Apply subst0_both; [ Idtac | Rewrite <- (minus_s_s k) ]; XAuto. - Qed. - - Theorem subst0_lift_ge: (t1,t2,u:?; i,h:?) (subst0 i u t1 t2) -> - (d:?) (le d i) -> - (subst0 (plus i h) u (lift h d t1) (lift h d t2)). - Intros until 1; XElim H; Intros. -(* case 1: subst0_lref *) - Rewrite lift_lref_ge; [ Idtac | XAuto ]. - Rewrite lift_free; [ Idtac | Simpl; XAuto | XAuto ]. - Arith5'c h i0; XAuto. -(* case 2: subst0_fst *) - LiftTailRw; XAuto. -(* case 3: subst0_snd *) - SRwBackIn H0; LiftTailRw; XAuto. -(* case 4: subst0_snd *) - SRwBackIn H2; LiftTailRw; XAuto. - Qed. - - Theorem subst0_lift_ge_S: (t1,t2,u:?; i:?) (subst0 i u t1 t2) -> - (d:?) (le d i) -> - (subst0 (S i) u (lift (1) d t1) (lift (1) d t2)). - Intros; Arith7 i; Apply subst0_lift_ge; XAuto. - Qed. - - Theorem subst0_lift_ge_s: (t1,t2,u:?; i:?) (subst0 i u t1 t2) -> - (d:?) (le d i) -> (b:?) - (subst0 (s (Bind b) i) u (lift (1) d t1) (lift (1) d t2)). - Intros; Simpl; Apply subst0_lift_ge_S; XAuto. - Qed. - - End subst0_lift. - - Hints Resolve subst0_lift_lt subst0_lift_ge - subst0_lift_ge_S subst0_lift_ge_s : ltlc. diff --git a/helm/coq-contribs/LAMBDA-TYPES/subst0_subst0.v b/helm/coq-contribs/LAMBDA-TYPES/subst0_subst0.v deleted file mode 100644 index 9f9b6da86..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/subst0_subst0.v +++ /dev/null @@ -1,68 +0,0 @@ -(*#* #stop file *) - -Require subst0_defs. -Require subst0_gen. -Require subst0_lift. - - Section subst0_subst0. (**************************************************) - - Tactic Definition IH := - Match Context With - | [ H1: (u1,u:?; i:?) (subst0 i u u1 ?1) -> ?; - H2: (subst0 ?2 ?3 ?4 ?1) |- ? ] -> - LApply (H1 ?4 ?3 ?2); [ Clear H1; Intros H1 | XAuto ]; - XElim H1; Intros - | [ H1: (u1,u:?; i:?) (subst0 i u ?1 u1) -> ?; - H2: (subst0 ?2 ?3 ?1 ?4) |- ? ] -> - LApply (H1 ?4 ?3 ?2); [ Clear H1; Intros H1 | XAuto ]; - XElim H1; Intros. - - Theorem subst0_subst0: (t1,t2,u2:?; j:?) (subst0 j u2 t1 t2) -> - (u1,u:?; i:?) (subst0 i u u1 u2) -> - (EX t | (subst0 j u1 t1 t) & (subst0 (S (plus i j)) u t t2)). - Intros until 1; XElim H; Intros. -(* case 1 : subst0_lref *) - Arith5 i0 i; XEAuto. -(* case 2 : subst0_fst *) - IH; XEAuto. -(* case 3 : subst0_snd *) - IH; SRwBackIn H2; XEAuto. -(* case 4 : subst0_both *) - Repeat IH; SRwBackIn H4; XEAuto. - Qed. - - Theorem subst0_subst0_back: (t1,t2,u2:?; j:?) (subst0 j u2 t1 t2) -> - (u1,u:?; i:?) (subst0 i u u2 u1) -> - (EX t | (subst0 j u1 t1 t) & (subst0 (S (plus i j)) u t2 t)). - Intros until 1; XElim H; Intros. -(* case 1 : subst0_lref *) - Arith5 i0 i; XEAuto. -(* case 2 : subst0_fst *) - IH; XEAuto. -(* case 3 : subst0_snd *) - IH; SRwBackIn H2; XEAuto. -(* case 4 : subst0_both *) - Repeat IH; SRwBackIn H4; XEAuto. - Qed. - - Theorem subst0_trans: (t2,t1,v:?; i:?) (subst0 i v t1 t2) -> - (t3:?) (subst0 i v t2 t3) -> - (subst0 i v t1 t3). - Intros until 1; XElim H; Intros; - Subst0Gen; Try Rewrite H1; Try Rewrite H3; XAuto. - Qed. - - End subst0_subst0. - - Hints Resolve subst0_trans : ltlc. - - Tactic Definition Subst0Subst0 := - Match Context With - | [ H1: (subst0 ?0 ?1 ?2 ?3); H2: (subst0 ?4 ?5 ?6 ?1) |- ? ] -> - LApply (subst0_subst0 ?2 ?3 ?1 ?0); [ Intros H_x | XAuto ]; - LApply (H_x ?6 ?5 ?4); [ Clear H_x; Intros H_x | XAuto ]; - XElim H_x; Intros - | [ H1: (subst0 ?0 ?1 ?2 ?3); H2: (subst0 ?4 ?5 ?1 ?6) |- ? ] -> - LApply (subst0_subst0_back ?2 ?3 ?1 ?0); [ Intros H_x | XAuto ]; - LApply (H_x ?6 ?5 ?4); [ Clear H_x; Intros H_x | XAuto ]; - XElim H_x; Intros. diff --git a/helm/coq-contribs/LAMBDA-TYPES/subst0_tlt.v b/helm/coq-contribs/LAMBDA-TYPES/subst0_tlt.v deleted file mode 100644 index b5fef207b..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/subst0_tlt.v +++ /dev/null @@ -1,62 +0,0 @@ -(*#* #stop file *) - -Require tlt_defs. -Require lift_tlt. -Require subst0_defs. - - Section subst0_tlt_props. (***********************************************) - - Theorem subst0_weight_le : (u,t,z:?; d:?) (subst0 d u t z) -> - (f,g:?) ((m:?) (le (f m) (g m))) -> - (lt (weight_map f (lift (S d) (0) u)) (g d)) -> - (le (weight_map f z) (weight_map g t)). - Intros until 1; XElim H. -(* case 1: subst0_lref *) - Intros; XAuto. -(* case 2: subst0_fst *) - XElim k; [ XElim b | Idtac ]; Simpl; [ Auto 7 with ltlc (**) | XAuto | XAuto | XAuto ]. -(* case 3: subst0_snd *) - XElim k; [ XElim b | Idtac ]; Simpl; [ Auto 7 with ltlc (**) | XAuto | XAuto | XAuto ]. -(* case 4: subst0_both *) - XElim k; [ XElim b | Idtac ]; Simpl; [ Auto 7 with ltlc (**) | XAuto | XAuto | XAuto ]. - Qed. - - Theorem subst0_weight_lt : (u,t,z:?; d:?) (subst0 d u t z) -> (f,g:?) - ((m:?) (le (f m) (g m))) -> - (lt (weight_map f (lift (S d) (0) u)) (g d)) -> - (lt (weight_map f z) (weight_map g t)). - Intros until 1; XElim H. -(* case 1: subst0_lref *) - Intros; XAuto. -(* case 2: subst0_fst *) - XElim k; [ XElim b | Idtac ]; Simpl; Intros; - Apply lt_n_S; (Apply lt_le_plus_plus; [ XAuto | Idtac ]); (**) - [ Auto 6 with ltlc (**) | XAuto | XAuto | XAuto ]. -(* case 3: subst0_snd *) - XElim k; [ XElim b | Idtac ]; Simpl; - [ Auto 8 with ltlc | Auto 6 with ltlc | Auto 6 with ltlc | XAuto ]. (**) -(* case 3: subst0_both *) - XElim k; [ XElim b | Idtac ]; Simpl; - Intros; Apply lt_n_S; [ Apply lt_le_plus_plus | Apply lt_plus_plus | Apply lt_plus_plus | Apply lt_plus_plus ]; XAuto. - EApply subst0_weight_le; [ XEAuto | XAuto | XAuto ]. - Qed. - - Theorem subst0_tlt_tail: (u,t,z:?) (subst0 (0) u t z) -> - (tlt (TTail (Bind Abbr) u z) - (TTail (Bind Abbr) u t) - ). - Unfold tlt weight; Intros; Simpl. - Apply lt_n_S; Apply le_lt_plus_plus; [ XAuto | Idtac ]. - EApply subst0_weight_lt; [ XEAuto | XAuto | XAuto ]. - Qed. - - Theorem subst0_tlt: (u,t,z:?) (subst0 (0) u t z) -> - (tlt z (TTail (Bind Abbr) u t)). - Intros. - EApply tlt_trans; [ Idtac | Apply subst0_tlt_tail; XEAuto]. - XAuto. - Qed. - - End subst0_tlt_props. - - Hints Resolve subst0_tlt : ltlc. diff --git a/helm/coq-contribs/LAMBDA-TYPES/subst1_confluence.v b/helm/coq-contribs/LAMBDA-TYPES/subst1_confluence.v deleted file mode 100644 index 0c473e9ef..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/subst1_confluence.v +++ /dev/null @@ -1,82 +0,0 @@ -(*#* #stop file *) - -Require lift_gen. -Require subst0_gen. -Require subst0_confluence. -Require subst1_defs. -Require subst1_gen. - - Section subst1_confluence. (**********************************************) - - Theorem subst1_confluence_neq: (t0,t1,u1:?; i1:?) (subst1 i1 u1 t0 t1) -> - (t2,u2:?; i2:?) (subst1 i2 u2 t0 t2) -> - ~i1=i2 -> - (EX t | (subst1 i2 u2 t1 t) & - (subst1 i1 u1 t2 t) - ). - Intros until 1; XElim H; Clear t1; Intros. -(* case 1; subst1_refl *) - XEAuto. -(* case 2; subst1_single *) - XElim H0; Intros; Try Subst0Confluence; XEAuto. - Qed. - - Theorem subst1_confluence_eq : (t0,t1,u:?; i:?) (subst1 i u t0 t1) -> - (t2:?) (subst1 i u t0 t2) -> - (EX t | (subst1 i u t1 t) & - (subst1 i u t2 t) - ). - Intros until 1; XElim H; Intros. -(* case 1; subst1_refl *) - XEAuto. -(* case 2; subst1_single *) - XElim H0; Intros; - Try Subst0Confluence; Try Rewrite H0; XEAuto. - Qed. - - Theorem subst1_confluence_lift: (t0,t1,u:?; i:?) (subst1 i u t0 (lift (1) i t1)) -> - (t2:?) (subst1 i u t0 (lift (1) i t2)) -> - t1 = t2. - Intros until 1; InsertEq H '(lift (1) i t1); XElim H; Clear y; Intros. -(* case 1: subst1_refl *) - Rewrite H in H0; Clear H t0. - Subst1Gen; SymEqual; LiftGen; XEAuto. -(* case 2: subst1_single *) - Rewrite H0 in H; Clear H0 t2. - InsertEq H1 '(lift (1) i t3); XElim H0; Clear y; Intros. -(* case 2.1: subst1_refl *) - Rewrite H0 in H; Clear H0 t0; Subst0Gen. -(* case 2.2: subst1_single *) - Rewrite H1 in H0; Clear H1 t2; Subst0ConfluenceLift; XAuto. - Qed. - - End subst1_confluence. - - Tactic Definition Subst1Confluence := - Match Context With - | [ H0: (subst1 ?1 ?2 ?3 (lift (1) ?1 ?4)); - H1: (subst1 ?1 ?2 ?3 (lift (1) ?1 ?5)) |- ? ] -> - LApply (subst1_confluence_lift ?3 ?4 ?2 ?1); [ Clear H0; Intros H0 | XAuto ]; - LApply (H0 ?5); [ Clear H0; Intros | XAuto ] - | [ H0: (subst1 ?1 ?2 ?3 ?4); - H1: (subst1 ?1 ?2 ?3 ?5) |- ? ] -> - LApply (subst1_confluence_eq ?3 ?4 ?2 ?1); [ Clear H0; Intros H0 | XAuto ]; - LApply (H0 ?5); [ Clear H0; Intros H0 | XAuto ]; - XElim H0; Intros - | [ H0: (subst0 ?1 ?2 ?3 ?4); - H1: (subst1 ?1 ?2 ?3 ?5) |- ? ] -> - LApply (subst1_confluence_eq ?3 ?4 ?2 ?1); [ Clear H0; Intros H0 | XAuto ]; - LApply (H0 ?5); [ Clear H0; Intros H0 | XAuto ]; - XElim H0; Intros - | [ H0: (subst1 ?1 ?2 ?3 ?4); - H1: (subst1 ?5 ?6 ?3 ?7) |- ? ] -> - LApply (subst1_confluence_neq ?3 ?4 ?2 ?1); [ Clear H0; Intros H0 | XAuto ]; - LApply (H0 ?7 ?6 ?5); [ Clear H0 H1; Intros H0 | XAuto ]; - LApply H0; [ Clear H0; Intros H0 | XAuto ]; - XElim H0; Intros - | [ H0: (subst0 ?1 ?2 ?3 ?4); - H1: (subst1 ?5 ?6 ?3 ?7) |- ? ] -> - LApply (subst1_confluence_neq ?3 ?4 ?2 ?1); [ Clear H0; Intros H0 | XAuto ]; - LApply (H0 ?7 ?6 ?5); [ Clear H0 H1; Intros H0 | XAuto ]; - LApply H0; [ Clear H0; Intros H0 | XAuto ]; - XElim H0; Intros. diff --git a/helm/coq-contribs/LAMBDA-TYPES/subst1_defs.v b/helm/coq-contribs/LAMBDA-TYPES/subst1_defs.v deleted file mode 100644 index 93e0d2ecf..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/subst1_defs.v +++ /dev/null @@ -1,58 +0,0 @@ -(*#* #stop file *) - -Require Export subst0_defs. - - Inductive subst1 [i:nat; v:T; t1:T] : T -> Prop := - | subst1_refl : (subst1 i v t1 t1) - | subst1_single : (t2:?) (subst0 i v t1 t2) -> (subst1 i v t1 t2). - - Hint subst1 : ltlc := Constructors subst1. - - Section subst1_props. (***************************************************) - - Theorem subst1_tail: (v,u1,u2:?; i:?) (subst1 i v u1 u2) -> - (k:?; t1,t2:?) (subst1 (s k i) v t1 t2) -> - (subst1 i v (TTail k u1 t1) (TTail k u2 t2)). - Intros until 1; XElim H; Clear u2. -(* case 1: csubst1_refl *) - Intros until 1; XElim H; Clear t2; XAuto. -(* case 2: csubst1_single *) - Intros until 2; XElim H0; Clear t3; XAuto. - Qed. - - End subst1_props. - - Hints Resolve subst1_tail : ltlc. - - Section subst1_gen_base. (************************************************) - - Theorem subst1_gen_sort : (v,x:?; i,n:?) (subst1 i v (TSort n) x) -> - x = (TSort n). - Intros; XElim H; Clear x; Intros; - Try Subst0GenBase; XAuto. - Qed. - - Theorem subst1_gen_lref : (v,x:?; i,n:?) (subst1 i v (TLRef n) x) -> - x = (TLRef n) \/ - n = i /\ x = (lift (S n) (0) v). - Intros; XElim H; Clear x; Intros; - Try Subst0GenBase; XAuto. - Qed. - - Theorem subst1_gen_tail : (k:?; v,u1,t1,x:?; i:?) - (subst1 i v (TTail k u1 t1) x) -> - (EX u2 t2 | x = (TTail k u2 t2) & - (subst1 i v u1 u2) & - (subst1 (s k i) v t1 t2) - ). - Intros; XElim H; Clear x; Intros; - Try Subst0GenBase; XEAuto. - Qed. - - End subst1_gen_base. - - Tactic Definition Subst1GenBase := - Match Context With - | [ H: (subst1 ?1 ?2 (TTail ?3 ?4 ?5) ?6) |- ? ] -> - LApply (subst1_gen_tail ?3 ?2 ?4 ?5 ?6 ?1); [ Clear H; Intros H | XAuto ]; - XElim H; Intros. diff --git a/helm/coq-contribs/LAMBDA-TYPES/subst1_gen.v b/helm/coq-contribs/LAMBDA-TYPES/subst1_gen.v deleted file mode 100644 index 0b2d4a170..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/subst1_gen.v +++ /dev/null @@ -1,44 +0,0 @@ -(*#* #stop file *) - -Require subst0_gen. -Require subst1_defs. - - Section subst1_gen_lift. (************************************************) - - Theorem subst1_gen_lift_lt : (u,t1,x:?; i,h,d:?) (subst1 i (lift h d u) (lift h (S (plus i d)) t1) x) -> - (EX t2 | x = (lift h (S (plus i d)) t2) & (subst1 i u t1 t2)). - Intros; XElim H; Clear x; Intros; - Try Subst0Gen; XEAuto. - Qed. - - Theorem subst1_gen_lift_eq : (t,u,x:?; h,d,i:?) - (le d i) -> (lt i (plus d h)) -> - (subst1 i u (lift h d t) x) -> - x = (lift h d t). - Intros; XElim H1; Clear x; Intros; - Try Subst0Gen; XAuto. - Qed. - - Theorem subst1_gen_lift_ge : (u,t1,x:?; i,h,d:?) (subst1 i u (lift h d t1) x) -> - (le (plus d h) i) -> - (EX t2 | x = (lift h d t2) & (subst1 (minus i h) u t1 t2)). - Intros; XElim H; Clear x; Intros; - Try Subst0Gen; XEAuto. - Qed. - - End subst1_gen_lift. - - Tactic Definition Subst1Gen := - Match Context With - | [ H: (subst1 ?0 (lift ?1 ?2 ?3) (lift ?1 (S (plus ?0 ?2)) ?4) ?5) |- ? ] -> - LApply (subst1_gen_lift_lt ?3 ?4 ?5 ?0 ?1 ?2); [ Clear H; Intros H | XAuto ]; - XElim H; Intros - | [ H: (subst1 ?0 ?1 (lift (1) ?0 ?2) ?3) |- ? ] -> - LApply (subst1_gen_lift_eq ?2 ?1 ?3 (1) ?0 ?0); [ Intros H_x | XAuto ]; - LApply H_x; [ Clear H_x; Intros H_x | Rewrite plus_sym; XAuto ]; - LApply H_x; [ Clear H H_x; Intros | XAuto ] - | [ H0: (subst1 ?0 ?1 (lift (1) ?4 ?2) ?3); H1: (lt ?4 ?0) |- ? ] -> - LApply (subst1_gen_lift_ge ?1 ?2 ?3 ?0 (1) ?4); [ Clear H0; Intros H0 | XAuto ]; - LApply H0; [ Clear H0; Intros H0 | Rewrite plus_sym; XAuto ]; - XElim H0; Intros - | _ -> Subst1GenBase. diff --git a/helm/coq-contribs/LAMBDA-TYPES/subst1_lift.v b/helm/coq-contribs/LAMBDA-TYPES/subst1_lift.v deleted file mode 100644 index 396757179..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/subst1_lift.v +++ /dev/null @@ -1,23 +0,0 @@ -(*#* #stop file *) - -Require lift_props. -Require subst0_lift. -Require subst1_defs. - - Section subst1_lift. (****************************************************) - - Theorem subst1_lift_lt : (t1,t2,u:?; i:?) (subst1 i u t1 t2) -> - (d:?) (lt i d) -> (h:?) - (subst1 i (lift h (minus d (S i)) u) (lift h d t1) (lift h d t2)). - Intros until 1; XElim H; Clear t2; XAuto. - Qed. - - Theorem subst1_lift_ge : (t1,t2,u:?; i,h:?) (subst1 i u t1 t2) -> - (d:?) (le d i) -> - (subst1 (plus i h) u (lift h d t1) (lift h d t2)). - Intros until 1; XElim H; Clear t2; XAuto. - Qed. - - End subst1_lift. - - Hints Resolve subst1_lift_lt subst1_lift_ge : ltlc. diff --git a/helm/coq-contribs/LAMBDA-TYPES/subst1_subst1.v b/helm/coq-contribs/LAMBDA-TYPES/subst1_subst1.v deleted file mode 100644 index 0f437ed9a..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/subst1_subst1.v +++ /dev/null @@ -1,60 +0,0 @@ -(*#* #stop file *) - -Require subst0_subst0. -Require subst1_defs. - - Section subst1_subst1. (**************************************************) - - Theorem subst1_subst1: (t1,t2,u2:?; j:?) (subst1 j u2 t1 t2) -> - (u1,u:?; i:?) (subst1 i u u1 u2) -> - (EX t | (subst1 j u1 t1 t) & (subst1 (S (plus i j)) u t t2)). - Intros until 1; XElim H; Clear t2. -(* case 1: subst1_refl on first premise *) - XEAuto. -(* case 2: subst1_single on first premise *) - Intros until 2; InsertEq H0 u2; XElim H0; Clear y; Intros. -(* case 2.1: subst1_refl on second premise *) - Rewrite H0; Clear H0 u1; XEAuto. -(* case 2.2: subst1_single on second premise *) - Rewrite H1 in H0; Clear H1 t0; Subst0Subst0; XEAuto. - Qed. - - Theorem subst1_subst1_back: (t1,t2,u2:?; j:?) (subst1 j u2 t1 t2) -> - (u1,u:?; i:?) (subst1 i u u2 u1) -> - (EX t | (subst1 j u1 t1 t) & (subst1 (S (plus i j)) u t2 t)). - Intros until 1; XElim H; Clear t2. -(* case 1: subst1_refl on first premise *) - XEAuto. -(* case 2: subst1_single on first premise *) - Intros until 2; XElim H0; Clear u1; Intros; - Try Subst0Subst0; XEAuto. - Qed. - - Theorem subst1_trans: (t2,t1,v:?; i:?) (subst1 i v t1 t2) -> - (t3:?) (subst1 i v t2 t3) -> - (subst1 i v t1 t3). - Intros until 1; XElim H; Clear t2. -(* case 1: subst1_refl on first premise *) - XEAuto. -(* case 2: subst1_single on first premise *) - Intros until 2; XElim H0; Clear t3; XEAuto. - Qed. - - End subst1_subst1. - - Hints Resolve subst1_trans : ltlc. - - Tactic Definition Subst1Subst1 := - Match Context With - | [ H1: (subst1 ?0 ?1 ?2 ?3); H2: (subst1 ?4 ?5 ?6 ?1) |- ? ] -> - LApply (subst1_subst1 ?2 ?3 ?1 ?0); [ Intros H_x | XAuto ]; - LApply (H_x ?6 ?5 ?4); [ Clear H_x; Intros H_x | XAuto ]; - XElim H_x; Intros - | [ H1: (subst1 ?0 ?1 ?2 ?3); H2: (subst0 ?4 ?5 ?6 ?1) |- ? ] -> - LApply (subst1_subst1 ?2 ?3 ?1 ?0); [ Intros H_x | XAuto ]; - LApply (H_x ?6 ?5 ?4); [ Clear H_x; Intros H_x | XAuto ]; - XElim H_x; Intros - | [ H1: (subst1 ?0 ?1 ?2 ?3); H2: (subst1 ?4 ?5 ?1 ?6) |- ? ] -> - LApply (subst1_subst1_back ?2 ?3 ?1 ?0); [ Intros H_x | XAuto ]; - LApply (H_x ?6 ?5 ?4); [ Clear H_x; Intros H_x | XAuto ]; - XElim H_x; Intros. diff --git a/helm/coq-contribs/LAMBDA-TYPES/terms_defs.v b/helm/coq-contribs/LAMBDA-TYPES/terms_defs.v deleted file mode 100644 index c84b1c2c7..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/terms_defs.v +++ /dev/null @@ -1,85 +0,0 @@ -(*#* #stop file *) - -Require Export Base. - - Inductive Set B := Abbr: B - | Abst: B - | Void: B. - - Inductive Set F := Appl: F - | Cast: F. - - Inductive Set K := Bind: B -> K - | Flat: F -> K. - - Inductive Set T := TSort: nat -> T - | TLRef: nat -> T - | TTail: K -> T -> T -> T. - - Hint f3KTT : ltlc := Resolve (f_equal3 K T T). - - Tactic Definition TGenBase := - Match Context With - | [ H: (TSort ?) = (TSort ?) |- ? ] -> Inversion H; Clear H - | [ H: (TLRef ?) = (TLRef ?) |- ? ] -> Inversion H; Clear H - | [ H: (TTail ? ? ?) = (TTail ? ? ?) |- ? ] -> Inversion H; Clear H - | _ -> Idtac. - - Definition s: K -> nat -> nat := [k;i] Cases k of - | (Bind _) => (S i) - | (Flat _) => i - end. - - Section s_props. (********************************************************) - - Theorem s_S: (k:?; i:?) (s k (S i)) = (S (s k i)). - XElim k; XAuto. - Qed. - - Theorem s_plus: (k:?; i,j:?) (s k (plus i j)) = (plus (s k i) j). - XElim k; XAuto. - Qed. - - Theorem s_plus_sym: (k:?; i,j:?) (s k (plus i j)) = (plus i (s k j)). - XElim k; [ Intros; Simpl; Rewrite plus_n_Sm | Idtac ]; XAuto. - Qed. - - Theorem s_minus: (k:?; i,j:?) (le j i) -> - (s k (minus i j)) = (minus (s k i) j). - XElim k; [ Intros; Unfold s; Cbv Iota | XAuto ]. - Rewrite minus_Sn_m; XAuto. - Qed. - - Theorem minus_s_s: (k:?; i,j:?) (minus (s k i) (s k j)) = (minus i j). - XElim k; XAuto. - Qed. - - Theorem s_le: (k:?; i,j:?) (le i j) -> (le (s k i) (s k j)). - XElim k; Simpl; XAuto. - Qed. - - Theorem s_lt: (k:?; i,j:?) (lt i j) -> (lt (s k i) (s k j)). - XElim k; Simpl; XAuto. - Qed. - - Theorem s_inj: (k:?; i,j:?) (s k i) = (s k j) -> i = j. - XElim k; XEAuto. - Qed. - - End s_props. - - Hints Resolve s_le s_lt s_inj : ltlc. - - Tactic Definition SRw := - Repeat (Rewrite s_S Orelse Rewrite s_plus_sym). - - Tactic Definition SRwIn H := - Repeat (Rewrite s_S in H Orelse Rewrite s_plus in H). - - Tactic Definition SRwBack := - Repeat (Rewrite <- s_S Orelse Rewrite <- s_plus Orelse Rewrite <- s_plus_sym). - - Tactic Definition SRwBackIn H := - Repeat (Rewrite <- s_S in H Orelse Rewrite <- s_plus in H Orelse Rewrite <- s_plus_sym in H). - - Hint discr : ltlc := Extern 4 (le ? (plus (s ? ?) ?)) SRwBack. diff --git a/helm/coq-contribs/LAMBDA-TYPES/tlt_defs.v b/helm/coq-contribs/LAMBDA-TYPES/tlt_defs.v deleted file mode 100644 index eb3f6fb27..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/tlt_defs.v +++ /dev/null @@ -1,115 +0,0 @@ -(*#* #stop file *) - -Require Export terms_defs. - - Definition wadd : (nat -> nat) -> nat -> (nat -> nat) := - [f;w;n] Cases n of (0) => w | (S m) => (f m) end. - - Fixpoint weight_map [f:nat->nat; t:T] : nat := Cases t of - | (TSort n) => (0) - | (TLRef n) => (f n) - | (TTail (Bind Abbr) u t) => - (S (plus (weight_map f u) (weight_map (wadd f (S (weight_map f u))) t))) - | (TTail (Bind _) u t) => - (S (plus (weight_map f u) (weight_map (wadd f (0)) t))) - | (TTail _ u t) => (S (plus (weight_map f u) (weight_map f t))) - end. - - Definition weight : T -> nat := (weight_map [_](0)). - - Definition tlt : T -> T -> Prop := [t1,t2](lt (weight t1) (weight t2)). - - Section wadd_props. (*****************************************************) - - Theorem wadd_le: (f,g:?) ((n:?) (le (f n) (g n))) -> (v,w:?) (le v w) -> - (n:?) (le (wadd f v n) (wadd g w n)). - XElim n; Simpl; XAuto. - Qed. - - Theorem wadd_lt: (f,g:?) ((n:?) (le (f n) (g n))) -> (v,w:?) (lt v w) -> - (n:?) (le (wadd f v n) (wadd g w n)). - XElim n; Simpl; XAuto. - Qed. - - Theorem wadd_O: (n:?) (wadd [_](0) (0) n) = (0). - XElim n; XAuto. - Qed. - - End wadd_props. - - Hints Resolve wadd_le wadd_lt wadd_O : ltlc. - - Section weight_props. (***************************************************) - - Theorem weight_le : (t:?; f,g:?) ((n:?) (le (f n) (g n))) -> - (le (weight_map f t) (weight_map g t)). - XElim t; [ XAuto | Simpl; XAuto | Idtac ]. - XElim k; Simpl; [ Idtac | XAuto ]. - XElim b; Auto 7 with ltlc. (**) - Qed. - - Theorem weight_eq : (t:?; f,g:?) ((n:?) (f n) = (g n)) -> - (weight_map f t) = (weight_map g t). - Intros; Apply le_antisym; Apply weight_le; - Intros; Rewrite (H n); XAuto. - Qed. - - Hints Resolve weight_le weight_eq : ltlc. - - Theorem weight_add_O : (t:?) (weight_map (wadd [_](0) (0)) t) = (weight_map [_](0) t). - XAuto. - Qed. - - Theorem weight_add_S : (t:?; m:?) (le (weight_map (wadd [_](0) (0)) t) (weight_map (wadd [_](0) (S m)) t)). - XAuto. - Qed. - - End weight_props. - - Hints Resolve weight_le weight_add_S : ltlc. - - Section tlt_props. (******************************************************) - - Theorem tlt_trans: (v,u,t:?) (tlt u v) -> (tlt v t) -> (tlt u t). - Unfold tlt; XEAuto. - Qed. - - Theorem tlt_tail_sx: (k:?; u,t:?) (tlt u (TTail k u t)). - Unfold tlt weight. - XElim k; Simpl; [ XElim b | Idtac ]; XAuto. - Qed. - - Theorem tlt_tail_dx: (k:?; u,t:?) (tlt t (TTail k u t)). - Unfold tlt weight. - XElim k; Simpl; [ Idtac | XAuto ]. - XElim b; Intros; Try Rewrite weight_add_O; [ Idtac | XAuto | XAuto ]. - EApply lt_le_trans; [ Apply lt_n_Sn | Apply le_n_S ]. - EApply le_trans; [ Rewrite <- (weight_add_O t); Apply weight_add_S | XAuto ]. - Qed. - - End tlt_props. - - Hints Resolve tlt_tail_sx tlt_tail_dx tlt_trans : ltlc. - - Section tlt_wf. (*********************************************************) - - Local Q: (T -> Prop) -> nat -> Prop := - [P;n] (t:?) (weight t) = n -> (P t). - - Remark q_ind: (P:T->Prop)((n:?) (Q P n)) -> (t:?) (P t). - Unfold Q; Intros. - Apply (H (weight t) t); XAuto. - Qed. - - Theorem tlt_wf_ind: (P:T->Prop) - ((t:?)((v:?)(tlt v t) -> (P v)) -> (P t)) -> - (t:?)(P t). - Unfold tlt; Intros. - XElimUsing q_ind t; Intros. - Apply lt_wf_ind; Clear n; Intros. - Unfold Q in H0; Unfold Q; Intros. - Rewrite <- H1 in H0; Clear H1. - Apply H; XEAuto. - Qed. - - End tlt_wf. diff --git a/helm/coq-contribs/LAMBDA-TYPES/ty0_defs.v b/helm/coq-contribs/LAMBDA-TYPES/ty0_defs.v deleted file mode 100644 index 073a3282a..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/ty0_defs.v +++ /dev/null @@ -1,125 +0,0 @@ -Require Export pc3_defs. - -(*#* #stop record *) - - Record G : Set := { - next : nat -> nat; - base : nat; - next_lt : (n:?) (lt n (next n)); - base_next: (n:?) (le base n) -> (next n) = (S n) - }. - -(*#* #start record *) - -(*#* #caption "current axioms for typing", - "well formed context sort", "well formed context binder", - "conversion rule", "typed sort", "typed reference to abbreviation", - "typed reference to abstraction", "typed binder", "typed application", - "typed cast" -*) -(*#* #cap #cap c, d, t, t0, t1, t2, w #alpha m in h, n in i, u in V, v in U *) - - Inductive wf0 [g:G] : C -> Prop := - | wf0_sort: (m:?) (wf0 g (CSort m)) - | wf0_bind: (c:?; u,t:?) (ty0 g c u t) -> - (b:?) (wf0 g (CTail c (Bind b) u)) - with ty0 [g:G] : C -> T -> T -> Prop := -(* structural rules *) - | ty0_conv: (c:?; t2,t:?) (ty0 g c t2 t) -> - (u,t1:?) (ty0 g c u t1) -> (pc3 c t1 t2) -> - (ty0 g c u t2) -(* axiom rules *) - | ty0_sort: (c:?) (wf0 g c) -> - (m:?) (ty0 g c (TSort m) (TSort (next g m))) - | ty0_abbr: (c:?) (wf0 g c) -> - (n:?; d:?; u:?) (drop n (0) c (CTail d (Bind Abbr) u)) -> - (t:?) (ty0 g d u t) -> - (ty0 g c (TLRef n) (lift (S n) (0) t)) - | ty0_abst: (c:?) (wf0 g c) -> - (n:?; d:?; u:?) (drop n (0) c (CTail d (Bind Abst) u)) -> - (t:?) (ty0 g d u t) -> - (ty0 g c (TLRef n) (lift (S n) (0) u)) - | ty0_bind: (c:?; u,t:?) (ty0 g c u t) -> - (b:?; t1,t2:?) (ty0 g (CTail c (Bind b) u) t1 t2) -> - (t0:?) (ty0 g (CTail c (Bind b) u) t2 t0) -> - (ty0 g c (TTail (Bind b) u t1) (TTail (Bind b) u t2)) - | ty0_appl: (c:?; w,u:?) (ty0 g c w u) -> - (v,t:?) (ty0 g c v (TTail (Bind Abst) u t)) -> - (ty0 g c (TTail (Flat Appl) w v) - (TTail (Flat Appl) w (TTail (Bind Abst) u t)) - ) - | ty0_cast: (c:?; t1,t2:?) (ty0 g c t1 t2) -> - (t0:?) (ty0 g c t2 t0) -> - (ty0 g c (TTail (Flat Cast) t2 t1) t2). - -(*#* #stop file *) - - Hint wf0 : ltlc := Constructors wf0. - - Hint ty0 : ltlc := Constructors ty0. - - Section wf0_props. (******************************************************) - - Theorem wf0_ty0: (g:?; c:?; u,t:?) (ty0 g c u t) -> (wf0 g c). - Intros; XElim H; XAuto. - Qed. - - Hints Resolve wf0_ty0 : ltlc. - - Theorem wf0_drop_O: (c,e:?; h:?) (drop h (0) c e) -> - (g:?) (wf0 g c) -> (wf0 g e). - XElim c. -(* case 1 : CSort *) - Intros; DropGenBase; Rewrite H; XAuto. -(* case 2 : CTail k *) - Intros c IHc; XElim k; ( - XElim h; Intros; DropGenBase; - [ Rewrite H in H0; XAuto | Inversion H1; XEAuto ] ). - Qed. - - End wf0_props. - - Hints Resolve wf0_ty0 wf0_drop_O : ltlc. - - Tactic Definition Wf0Ty0 := - Match Context With - [ _: (ty0 ?1 ?2 ?3 ?4) |- ? ] -> - LApply (wf0_ty0 ?1 ?2 ?3 ?4); [ Intros H_x | XAuto ]; - Inversion_clear H_x. - - Tactic Definition Wf0DropO := - Match Context With - | [ _: (drop ?1 (0) ?2 ?3); _: (wf0 ?4 ?2) |- ? ] -> - LApply (wf0_drop_O ?2 ?3 ?1); [ Intros H_x | XAuto ]; - LApply (H_x ?4); [ Clear H_x; Intros | XAuto ]. - - Section wf0_facilities. (*************************************************) - - Theorem wf0_drop_wf0: (g:?; c:?) (wf0 g c) -> - (b:?; e:?; u:?; h:?) - (drop h (0) c (CTail e (Bind b) u)) -> (wf0 g e). - Intros. - Wf0DropO; Inversion H1; XEAuto. - Qed. - - Theorem ty0_drop_wf0: (g:?; c:?; t1,t2:?) (ty0 g c t1 t2) -> - (b:?; e:?; u:?; h:?) - (drop h (0) c (CTail e (Bind b) u)) -> (wf0 g e). - Intros. - EApply wf0_drop_wf0; [ Idtac | EApply H0 ]; XEAuto. - Qed. - - End wf0_facilities. - - Hints Resolve wf0_drop_wf0 ty0_drop_wf0 : ltlc. - - Tactic Definition DropWf0 := - Match Context With - | [ _: (ty0 ?1 ?2 ?3 ?4); - _: (drop ?5 (0) ?2 (CTail ?6 (Bind ?7) ?8)) |- ? ] -> - LApply (ty0_drop_wf0 ?1 ?2 ?3 ?4); [ Intros H_x | XAuto ]; - LApply (H_x ?7 ?6 ?8 ?5); [ Clear H_x; Intros | XAuto ] - | [ _: (wf0 ?1 ?2); - _: (drop ?5 (0) ?2 (CTail ?6 (Bind ?7) ?8)) |- ? ] -> - LApply (wf0_drop_wf0 ?1 ?2); [ Intros H_x | XAuto ]; - LApply (H_x ?7 ?6 ?8 ?5); [ Clear H_x; Intros | XAuto ]. diff --git a/helm/coq-contribs/LAMBDA-TYPES/ty0_gen.v b/helm/coq-contribs/LAMBDA-TYPES/ty0_gen.v deleted file mode 100644 index 29e3d6470..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/ty0_gen.v +++ /dev/null @@ -1,185 +0,0 @@ -Require pc3_props. -Require ty0_defs. - -(*#* #caption "generation lemma of typing" #clauses *) - - Section ty0_gen_base. (***************************************************) - -(*#* #caption "generation lemma for sorts" *) -(*#* #cap #cap c #alpha x in T, n in h *) - - Theorem ty0_gen_sort: (g:?; c:?; x:?; n:?) - (ty0 g c (TSort n) x) -> - (pc3 c (TSort (next g n)) x). - -(*#* #stop proof *) - - Intros until 1; InsertEq H '(TSort n); XElim H; Intros. -(* case 1 : ty0_conv *) - XEAuto. -(* case 2 : ty0_sort *) - Inversion H0; XAuto. -(* case 3 : ty0_abbr *) - Inversion H3. -(* case 4 : ty0_abst *) - Inversion H3. -(* case 5 : ty0_bind *) - Inversion H5. -(* case 6 : ty0_appl *) - Inversion H3. -(* case 7 : ty0_cast *) - Inversion H3. - Qed. - -(*#* #start proof *) - -(*#* #caption "generation lemma for bound references" *) -(*#* #cap #cap c, e #alpha x in T, t in U, u in V, n in i *) - - Theorem ty0_gen_lref: (g:?; c:?; x:?; n:?) (ty0 g c (TLRef n) x) -> - (EX e u t | (pc3 c (lift (S n) (0) t) x) & - (drop n (0) c (CTail e (Bind Abbr) u)) & - (ty0 g e u t) - ) \/ - (EX e u t | (pc3 c (lift (S n) (0) u) x) & - (drop n (0) c (CTail e (Bind Abst) u)) & - (ty0 g e u t) - ). - -(*#* #stop proof *) - - Intros until 1; InsertEq H '(TLRef n); XElim H; Intros. -(* case 1 : ty0_conv *) - LApply H2; [ Clear H2; Intros H2 | XAuto ]. - XElim H2; Intros; XElim H2; XEAuto. -(* case 2 : ty0_sort *) - Inversion H0. -(* case 3 : ty0_abbr *) - Inversion H3 ; Rewrite H5 in H0; XEAuto. -(* case 4 : ty0_abst *) - Inversion H3; Rewrite H5 in H0; XEAuto. -(* case 5 : ty0_bind *) - Inversion H5. -(* case 6 : ty0_appl *) - Inversion H3. -(* case 7 : ty0_cast *) - Inversion H3. - Qed. - -(*#* #start proof *) - -(*#* #caption "generation lemma for binders" *) -(*#* #cap #cap c #alpha x in T, t1 in U1, t2 in U2, u in V, t in U, t0 in U3 *) - - Theorem ty0_gen_bind: (g:?; b:?; c:?; u,t1,x:?) (ty0 g c (TTail (Bind b) u t1) x) -> - (EX t2 t t0 | (pc3 c (TTail (Bind b) u t2) x) & - (ty0 g c u t) & - (ty0 g (CTail c (Bind b) u) t1 t2) & - (ty0 g (CTail c (Bind b) u) t2 t0) - ). - -(*#* #stop proof *) - - Intros until 1; InsertEq H '(TTail (Bind b) u t1); XElim H; Intros. -(* case 1 : ty0_conv *) - LApply H2; [ Clear H2; Intros H2 | XAuto ]. - XElim H2; XEAuto. -(* case 2 : ty0_sort *) - Inversion H0. -(* case 3 : ty0_abbr *) - Inversion H3. -(* case 4 : ty0_abst *) - Inversion H3. -(* case 5 : ty0_bind *) - Inversion H5. - Rewrite H7 in H1; Rewrite H7 in H3. - Rewrite H8 in H; Rewrite H8 in H1; Rewrite H8 in H3. - Rewrite H9 in H1; XEAuto. -(* case 6 : ty0_appl *) - Inversion H3. -(* case 7 : ty0_cast *) - Inversion H3. - Qed. - -(*#* #start proof *) - -(*#* #caption "generation lemma for applications" *) -(*#* #cap #cap c #alpha x in T, v in U1, w in V1, u in V2, t in U2 *) - - Theorem ty0_gen_appl: (g:?; c:?; w,v,x:?) (ty0 g c (TTail (Flat Appl) w v) x) -> - (EX u t | (pc3 c (TTail (Flat Appl) w (TTail (Bind Abst) u t)) x) & - (ty0 g c v (TTail (Bind Abst) u t)) & - (ty0 g c w u) - ). - -(*#* #stop proof *) - - Intros until 1; InsertEq H '(TTail (Flat Appl) w v); XElim H; Intros. -(* case 1 : ty0_conv *) - LApply H2; [ Clear H2; Intros H2 | XAuto ]. - XElim H2; XEAuto. -(* case 2 : ty0_sort *) - Inversion H0. -(* case 3 : ty0_abbr *) - Inversion H3. -(* case 4 : ty0_abst *) - Inversion H3. -(* case 5 : ty0_bind *) - Inversion H5. -(* case 6 : ty0_appl *) - Inversion H3; Rewrite H5 in H; Rewrite H6 in H1; XEAuto. -(* case 7 : ty0_cast *) - Inversion H3. - Qed. - -(*#* #start proof *) - -(*#* #caption "generation lemma for type casts" *) -(*#* #cap #cap c #alpha x in T, t2 in V, t1 in U *) - - Theorem ty0_gen_cast: (g:?; c:?; t1,t2,x:?) - (ty0 g c (TTail (Flat Cast) t2 t1) x) -> - (pc3 c t2 x) /\ (ty0 g c t1 t2). - -(*#* #stop proof *) - - Intros until 1; InsertEq H '(TTail (Flat Cast) t2 t1); XElim H; Intros. -(* case 1 : ty0_conv *) - LApply H2; [ Clear H2; Intros H2 | XAuto ]. - XElim H2; XEAuto. -(* case 2 : ty0_sort *) - Inversion H0. -(* case 3 : ty0_abbr *) - Inversion H3. -(* case 4 : ty0_abst *) - Inversion H3. -(* case 5 : ty0_bind *) - Inversion H5. -(* case 6 : ty0_appl *) - Inversion H3. -(* case 7 : ty0_cast *) - Inversion H3; Rewrite H5 in H; Rewrite H5 in H1; Rewrite H6 in H; XAuto. - Qed. - - End ty0_gen_base. - - Tactic Definition Ty0GenBase := - Match Context With - | [ H: (ty0 ?1 ?2 (TSort ?3) ?4) |- ? ] -> - LApply (ty0_gen_sort ?1 ?2 ?4 ?3); [ Clear H; Intros | XAuto ] - | [ H: (ty0 ?1 ?2 (TLRef ?3) ?4) |- ? ] -> - LApply (ty0_gen_lref ?1 ?2 ?4 ?3); [ Clear H; Intros H | XAuto ]; - XElim H; Intros H; XElim H; Intros - | [ H: (ty0 ?1 ?2 (TTail (Bind ?3) ?4 ?5) ?6) |- ? ] -> - LApply (ty0_gen_bind ?1 ?3 ?2 ?4 ?5 ?6); [ Clear H; Intros H | XAuto ]; - XElim H; Intros - | [ H: (ty0 ?1 ?2 (TTail (Flat Appl) ?3 ?4) ?5) |- ? ] -> - LApply (ty0_gen_appl ?1 ?2 ?3 ?4 ?5); [ Clear H; Intros H | XAuto ]; - XElim H; Intros - | [ H: (ty0 ?1 ?2 (TTail (Flat Cast) ?3 ?4) ?5) |- ? ] -> - LApply (ty0_gen_cast ?1 ?2 ?4 ?3 ?5); [ Clear H; Intros H | XAuto ]; - XElim H; Intros. - -(*#* #start file *) - -(*#* #single *) diff --git a/helm/coq-contribs/LAMBDA-TYPES/ty0_gen_context.v b/helm/coq-contribs/LAMBDA-TYPES/ty0_gen_context.v deleted file mode 100644 index 3a5b5d9b7..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/ty0_gen_context.v +++ /dev/null @@ -1,227 +0,0 @@ -(*#* #stop file *) - -Require lift_gen. -Require lift_props. -Require subst1_defs. -Require subst1_lift. -Require subst1_confluence. -Require drop_props. -Require csubst1_defs. -Require pc3_gen. -Require pc3_gen_context. -Require ty0_defs. -Require ty0_lift. - -(* NOTE: these break the recursion between ty0_sred_cpr0_pr0 and ty0_gen_lift *) - - Section ty0_gen_cabbr. (**************************************************) - - Tactic Definition IH d a0 a := - Match Context With - [ H: (e:?; u:?; d:?) ? -> (a0:?) ? -> (a:?) ? -> ? -> ? |- ? ] -> - LApply (H e u0 d); [ Clear H; Intros H | XAuto ]; - LApply (H a0); [ Clear H; Intros H | XAuto ]; - LApply (H a); [ Clear H; Intros H | XEAuto ]; - LApply H; [ Clear H; Intros H | XAuto ]; - XElim H; Intros. - -(* NOTE: This can be generalized removing the last three premises *) - Theorem ty0_gen_cabbr: (g:?; c:?; t1,t2:?) (ty0 g c t1 t2) -> - (e:?; u:?; d:?) (drop d (0) c (CTail e (Bind Abbr) u)) -> - (a0:?) (csubst1 d u c a0) -> - (a:?) (wf0 g a) -> (drop (1) d a0 a) -> - (EX y1 y2 | (subst1 d u t1 (lift (1) d y1)) & - (subst1 d u t2 (lift (1) d y2)) & - (ty0 g a y1 y2) - ). - Intros until 1; XElim H; Intros. -(* case 1: ty0_conv *) - Repeat IH d a0 a; EApply ex3_2_intro; - [ XEAuto | XEAuto | EApply ty0_conv; Try EApply pc3_gen_cabbr; XEAuto ]. -(* case 2: ty0_sort *) - EApply ex3_2_intro; Try Rewrite lift_sort; XAuto. -(* case 3: ty0_abbr *) - Apply (lt_eq_gt_e n d0); Intros; Clear c t1 t2. -(* case 3.1: n < d0 *) - Clear H1; DropDis; Rewrite minus_x_Sy in H1; [ DropGenBase | XAuto ]. - CSubst1Drop; Rewrite minus_x_Sy in H0; [ Idtac | XAuto ]. - CSubst1GenBase; Rewrite H0 in H8; Clear H0 x; Simpl in H9. - Rewrite (lt_plus_minus n d0) in H6; [ Idtac | XAuto ]. - DropDis; Rewrite H0 in H9; Clear H0 x0. - IH '(minus d0 (S n)) x1 x3. - Subst1Confluence; Rewrite H0 in H11; Clear H0 x0. - Pattern 3 d0; Rewrite (le_plus_minus_sym (S n) d0); [ Idtac | XAuto ]. - Pattern 4 d0; Rewrite (le_plus_minus (S n) d0); [ Idtac | XAuto ]. - EApply ex3_2_intro; - [ Rewrite lift_lref_lt | Rewrite lift_d | EApply ty0_abbr ]; XEAuto. -(* case 3.2: n = d0 *) - Rewrite H7; Rewrite H7 in H0; Clear H2 H7 n. - DropDis; Inversion H0; Rewrite H8 in H4; Clear H0 H7 H8 e u0. - CSubst1Drop; DropDis. - EApply ex3_2_intro; - [ EApply subst1_single; Rewrite lift_free; Simpl; XEAuto - | Rewrite lift_free; Simpl; XEAuto - | XEAuto ]. -(* case 3.3: n > d0 *) - Clear H2 H3 e; CSubst1Drop; DropDis. - Pattern 1 n; Rewrite (lt_plus_minus (0) n); [ Idtac | XEAuto ]. - Arith4c '(0) '(minus n (1)). - EApply ex3_2_intro; - [ Rewrite lift_lref_ge - | Rewrite lift_free; Simpl - | Pattern 2 n; Rewrite (minus_x_SO n) - ]; XEAuto. -(* case 4: ty0_abst *) - Apply (lt_eq_gt_e n d0); Intros; Clear c t1 t2. -(* case 4.1: n < d0 *) - Clear H1; DropDis; Rewrite minus_x_Sy in H1; [ DropGenBase | XAuto ]. - CSubst1Drop; Rewrite minus_x_Sy in H0; [ Idtac | XAuto ]. - CSubst1GenBase; Rewrite H0 in H8; Clear H0 x; Simpl in H9. - Rewrite (lt_plus_minus n d0) in H6; [ Idtac | XAuto ]. - DropDis; Rewrite H0 in H9; Clear H0 x0. - IH '(minus d0 (S n)) x1 x3. - Subst1Confluence; Rewrite H0 in H11; Clear H0 x0. - Pattern 3 d0; Rewrite (le_plus_minus_sym (S n) d0); [ Idtac | XAuto ]. - Pattern 4 d0; Rewrite (le_plus_minus (S n) d0); [ Idtac | XAuto ]. - EApply ex3_2_intro; - [ Rewrite lift_lref_lt | Rewrite lift_d | EApply ty0_abst ]; XEAuto. -(* case 4.2: n = d0 *) - Rewrite H7; Rewrite H7 in H0; DropDis; Inversion H0. -(* case 4.3: n > d0 *) - Clear H2 H3 e; CSubst1Drop; DropDis. - Pattern 1 n; Rewrite (lt_plus_minus (0) n); [ Idtac | XEAuto ]. - Arith4c '(0) '(minus n (1)). - EApply ex3_2_intro; - [ Rewrite lift_lref_ge - | Rewrite lift_free; Simpl - | Pattern 2 n; Rewrite (minus_x_SO n) - ]; XEAuto. -(* case 5: ty0_bind *) - IH d a0 a; Clear H H1 H3 c t1 t2. - IH '(S d) '(CTail a0 (Bind b) (lift (1) d x0)) '(CTail a (Bind b) x0). - IH '(S d) '(CTail a0 (Bind b) (lift (1) d x0)) '(CTail a (Bind b) x0). - Subst1Confluence; Rewrite H4 in H11; Clear H4 x5. - EApply ex3_2_intro; Try Rewrite lift_bind; XEAuto. -(* case 6: ty0_appl *) - Repeat IH d a0 a; Clear H H1 c t1 t2. - Subst1GenBase; SymEqual; LiftGenBase; Rewrite H in H8; Rewrite H11 in H1; Rewrite H12 in H7; Clear H H11 H12 x1 x4 x5. - Subst1Confluence; Rewrite H in H8; Clear H x6. - EApply ex3_2_intro; Try Rewrite lift_flat; - [ Idtac | EApply subst1_tail; [ Idtac | Rewrite lift_bind ] | Idtac ]; XEAuto. -(* case 7: ty0_cast *) - Rename u into u0; Repeat IH d a0 a; Clear H H1 c t1 t2. - Subst1Confluence; Rewrite H in H10; Clear H x3. - EApply ex3_2_intro; [ Rewrite lift_flat | Idtac | Idtac ]; XEAuto. - Qed. - - End ty0_gen_cabbr. - - Section ty0_gen_cvoid. (**************************************************) - - Tactic Definition IH d a := - Match Context With - [ H: (e:?; u:?; d:?) ? -> (a:?) ? -> ? -> ? |- ? ] -> - LApply (H e u0 d); [ Clear H; Intros H | XAuto ]; - LApply (H a); [ Clear H; Intros H | XEAuto ]; - LApply H; [ Clear H; Intros H | XAuto ]; - XElim H; Intros. - -(* NOTE: This can be generalized removing the last two premises *) - Theorem ty0_gen_cvoid: (g:?; c:?; t1,t2:?) (ty0 g c t1 t2) -> - (e:?; u:?; d:?) (drop d (0) c (CTail e (Bind Void) u)) -> - (a:?) (wf0 g a) -> (drop (1) d c a) -> - (EX y1 y2 | t1 = (lift (1) d y1) & - t2 = (lift (1) d y2) & - (ty0 g a y1 y2) - ). - Intros until 1; XElim H; Intros. -(* case 1: ty0_conv *) - Repeat IH d a; Rewrite H0 in H3; Rewrite H7 in H3; Pc3Gen; XEAuto. -(* case 2: ty0_sort *) - EApply ex3_2_intro; Try Rewrite lift_sort; XEAuto. -(* case 3: ty0_abbr *) - Apply (lt_eq_gt_e n d0); Intros. -(* case 3.1: n < d0 *) - DropDis; Rewrite minus_x_Sy in H7; [ DropGenBase | XAuto ]. - Rewrite (lt_plus_minus n d0) in H5; [ Idtac | XAuto ]. - DropDis; Rewrite H0 in H2; Clear H0 H1 u. - IH '(minus d0 (S n)) x1; Rewrite H1; Clear H1 t. - LiftGen; Rewrite <- H0 in H2; Clear H0 x2. - Rewrite <- lift_d; [ Idtac | XAuto ]. - Rewrite <- le_plus_minus; [ Idtac | XAuto ]. - EApply ex3_2_intro; [ Rewrite lift_lref_lt | Idtac | EApply ty0_abbr ]; XEAuto. -(* case 3.2: n = d0 *) - Rewrite H6 in H0; DropDis; Inversion H0. -(* case 3.3: n > d0 *) - Clear H2 H3 c e t1 t2 u0; DropDis. - Pattern 1 n; Rewrite (lt_plus_minus (0) n); [ Idtac | XEAuto ]. - Arith4c '(0) '(minus n (1)). - EApply ex3_2_intro; - [ Rewrite lift_lref_ge - | Rewrite lift_free; Simpl - | Pattern 2 n; Rewrite (minus_x_SO n) - ]; XEAuto. -(* case 4: ty0_abst *) - Apply (lt_eq_gt_e n d0); Intros. -(* case 4.1: n < d0 *) - DropDis; Rewrite minus_x_Sy in H7; [ DropGenBase | XAuto ]. - Rewrite (lt_plus_minus n d0) in H5; [ Idtac | XAuto ]. - DropDis; Rewrite H0; Rewrite H0 in H2; Clear H0 H1 u. - IH '(minus d0 (S n)) x1; Clear H1 t. - LiftGen; Rewrite <- H0 in H2; Clear H0 x2. - Rewrite <- lift_d; [ Idtac | XAuto ]. - Rewrite <- le_plus_minus; [ Idtac | XAuto ]. - EApply ex3_2_intro; [ Rewrite lift_lref_lt | Idtac | EApply ty0_abst ]; XEAuto. -(* case 4.2: n = d0 *) - Rewrite H6 in H0; DropDis; Inversion H0. -(* case 4.3: n > d0 *) - Clear H2 H3 c e t1 t2 u0; DropDis. - Pattern 1 n; Rewrite (lt_plus_minus (0) n); [ Idtac | XEAuto ]. - Arith4c '(0) '(minus n (1)). - EApply ex3_2_intro; - [ Rewrite lift_lref_ge - | Rewrite lift_free; [ Simpl | Simpl | Idtac ] - | Pattern 2 n; Rewrite (minus_x_SO n) - ]; XEAuto. -(* case 5: ty0_bind *) - IH d a; Rewrite H0; Rewrite H0 in H2; Rewrite H0 in H4; Clear H H0 H1 H3 H8 u t. - IH '(S d) '(CTail a (Bind b) x0); Rewrite H; Rewrite H in H2; Clear H H0 t3 t4. - IH '(S d) '(CTail a (Bind b) x0); Rewrite H; Clear H t0. - LiftGen; Rewrite <- H in H2; Clear H x5. - LiftTailRwBack; XEAuto. -(* case 6: ty0_appl *) - IH d a; Rewrite H2; Clear H H1 H2 v. - LiftGenBase; Rewrite H in H7; Rewrite H1; Rewrite H1 in H0; Rewrite H2; Clear H H1 H2 u t x1. - IH d a; Rewrite H; Clear H w. - LiftGen; Rewrite <- H in H1; Clear H x4. - LiftTailRwBack; XEAuto. -(* case 7: ty0_cast *) - Rename u into u0. - IH d a; Rewrite H2 in H0; Rewrite H2; Clear H H1 H2 H6 t3 t4. - IH d a; Rewrite H; Clear H t0. - LiftGen; Rewrite <- H in H1; Clear H x3. - LiftTailRwBack; XEAuto. - Qed. - - End ty0_gen_cvoid. - - Tactic Definition Ty0GenContext := - Match Context With - | [ H: (ty0 ?1 (CTail ?2 (Bind Abbr) ?3) ?4 ?5) |- ? ] -> - LApply (ty0_gen_cabbr ?1 (CTail ?2 (Bind Abbr) ?3) ?4 ?5); [ Clear H; Intros H | XAuto ]; - LApply (H ?2 ?3 (0)); [ Clear H; Intros H | XAuto ]; - LApply (H (CTail ?2 (Bind Abbr) ?3)); [ Clear H; Intros H | XAuto ]; - LApply (H ?2); [ Clear H; Intros H | XAuto ]; - LApply H; [ Clear H; Intros H | XAuto ]; - XElim H; Intros - | [ H: (ty0 ?1 (CTail ?2 (Bind Void) ?3) ?4 ?5) |- ? ] -> - LApply (ty0_gen_cvoid ?1 (CTail ?2 (Bind Void) ?3) ?4 ?5); [ Clear H; Intros H | XAuto ]; - LApply (H ?2 ?3 (0)); [ Clear H; Intros H | XAuto ]; - LApply (H ?2); [ Clear H; Intros H | XAuto ]; - LApply H; [ Clear H; Intros H | XAuto ]; - XElim H; Intros - | _ -> Ty0GenBase. - -(*#* #start file *) - -(*#* #single *) diff --git a/helm/coq-contribs/LAMBDA-TYPES/ty0_lift.v b/helm/coq-contribs/LAMBDA-TYPES/ty0_lift.v deleted file mode 100644 index ebe6bfcc7..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/ty0_lift.v +++ /dev/null @@ -1,65 +0,0 @@ -Require lift_props. -Require drop_props. -Require pc3_props. -Require ty0_defs. - -(*#* #caption "main properties of typing" #clauses ty0_props *) - - Section ty0_lift. (*******************************************************) - -(*#* #caption "lift preserves types" *) -(*#* #cap #cap t1, t2 #alpha c in C1, e in C2, d in i *) - - Theorem ty0_lift : (g:?; e:?; t1,t2:?) (ty0 g e t1 t2) -> - (c:?) (wf0 g c) -> (d,h:?) (drop h d c e) -> - (ty0 g c (lift h d t1) (lift h d t2)). - -(*#* #stop file *) - - Intros until 1; XElim H; Intros. -(* case 1 : ty0_conv *) - XEAuto. -(* case 2 : ty0_sort *) - Repeat Rewrite lift_sort; XAuto. -(* case 3 : ty0_abbr *) - Apply (lt_le_e n d0); Intros; DropDis. -(* case 3.1 : n < d0 *) - Rewrite minus_x_Sy in H4; [ Idtac | XAuto ]. - DropGenBase; Rewrite H4 in H0; Clear H4 x. - Rewrite lift_lref_lt; [ Idtac | XAuto ]. - Arith8 d0 '(S n); Rewrite lift_d; [ Arith8' d0 '(S n) | XAuto ]. - EApply ty0_abbr; XEAuto. -(* case 3.2 : n >= d0 *) - Rewrite lift_lref_ge; [ Idtac | XAuto ]. - Arith7' n; Rewrite lift_free; [ Idtac | Simpl; XAuto | XAuto ]. - Rewrite (plus_sym h (S n)); Simpl; XEAuto. -(* case 4: ty0_abst *) - Apply (lt_le_e n d0); Intros; DropDis. -(* case 4.1 : n < d0 *) - Rewrite minus_x_Sy in H4; [ Idtac | XAuto ]. - DropGenBase; Rewrite H4 in H0; Clear H4 x. - Rewrite lift_lref_lt; [ Idtac | XAuto ]. - Arith8 d0 '(S n); Rewrite lift_d; [ Arith8' d0 '(S n) | XAuto ]. - EApply ty0_abst; XEAuto. -(* case 4.2 : n >= d0 *) - Rewrite lift_lref_ge; [ Idtac | XAuto ]. - Arith7' n; Rewrite lift_free; [ Idtac | Simpl; XAuto | XAuto ]. - Rewrite (plus_sym h (S n)); Simpl; XEAuto. -(* case 5: ty0_bind *) - LiftTailRw; Simpl; EApply ty0_bind; XEAuto. -(* case 6: ty0_appl *) - LiftTailRw; Simpl; EApply ty0_appl; [ Idtac | Rewrite <- lift_bind ]; XEAuto. -(* case 7: ty0_cast *) - LiftTailRw; XEAuto. - Qed. - - End ty0_lift. - - Hints Resolve ty0_lift : ltlc. - - Tactic Definition Ty0Lift b u := - Match Context With - [ H: (ty0 ?1 ?2 ?3 ?4) |- ? ] -> - LApply (ty0_lift ?1 ?2 ?3 ?4); [ Intros H_x | XAuto ]; - LApply (H_x (CTail ?2 (Bind b) u)); [ Clear H_x; Intros H_x | XEAuto ]; - LApply (H_x (0) (1)); [ Clear H_x; Intros | XAuto ]. diff --git a/helm/coq-contribs/LAMBDA-TYPES/ty0_props.v b/helm/coq-contribs/LAMBDA-TYPES/ty0_props.v deleted file mode 100644 index ab4b00687..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/ty0_props.v +++ /dev/null @@ -1,110 +0,0 @@ -Require drop_props. -Require pc3_props. -Require ty0_defs. -Require ty0_gen. -Require ty0_lift. - - Section ty0_correct. (****************************************************) - -(*#* #caption "correctness of types" *) -(*#* #cap #cap c, t1, t2 #alpha t in T3 *) - - Theorem ty0_correct : (g:?; c:?; t1,t2:?) - (ty0 g c t1 t2) -> (EX t | (ty0 g c t2 t)). - -(*#* #stop file *) - - Intros; XElim H; Intros. -(* case 1 : ty0_conv *) - XEAuto. -(* case 2 : ty0_sort *) - XEAuto. -(* case 3 : ty0_abbr *) - XElim H2; XEAuto. -(* case 4 : ty0_abst *) - XEAuto. -(* case 5 : ty0_bind *) - XElim H4; XEAuto. -(* case 6 : ty0_appl *) - XElim H0; XElim H2; Intros. - Ty0GenBase; XEAuto. -(* case 7 : ty0_cast *) - XAuto. - Qed. - - End ty0_correct. - - Tactic Definition Ty0Correct := - Match Context With - [ _: (ty0 ?1 ?2 ?3 ?4) |- ? ] -> - LApply (ty0_correct ?1 ?2 ?3 ?4); [ Intros H_x | XAuto ]; - XElim H_x; Intros. - -(*#* #start file *) - - Section ty0_shift. (******************************************************) - -(*#* #caption "shift lemma for types" *) -(*#* #cap #cap t1, t2 #alpha c in C1, e in C2 *) - - Theorem ty0_shift : (h:?; c,e:?) (drop h (0) c e) -> - (g:?; t1,t2:?) (ty0 g c t1 t2) -> (wf0 g e) -> - (ty0 g e (app c h t1) (app c h t2)). - -(*#* #stop file *) - - XElim h. -(* case 1 : h = 0 *) - Intros; DropGenBase; Rewrite <- H. - Repeat Rewrite app_O; XAuto. -(* case 2 : h > 0 *) - Intros h IHh; XElim c. -(* case 2.1 : CSort *) - Intros; DropGenBase; Rewrite H. - Simpl; XAuto. -(* case 2.2 : CTail k *) - Intros c IHc; Clear IHc; XElim k; Intros; Wf0Ty0. - DropGenBase; Move H0 after H2; Ty0Correct. - Simpl; Apply IHh; [ Idtac | EApply ty0_bind | Idtac ]; XEAuto. - Qed. - - End ty0_shift. - - Hints Resolve ty0_shift : ltlc. - - Section ty0_unique. (*****************************************************) - - Opaque pc3. - -(*#* #start file *) - -(*#* #caption "uniqueness of types" *) -(*#* #cap #cap c, t1, t2 #alpha u in T *) - - Theorem ty0_unique : (g:?; c:?; u,t1:?) (ty0 g c u t1) -> - (t2:?) (ty0 g c u t2) -> (pc3 c t1 t2). - -(*#* #stop file *) - - Intros until 1; XElim H; Intros. -(* case 1 : ty0_conv *) - XEAuto. -(* case 2 : ty0_sort *) - Ty0GenBase; XAuto. -(* case 3 : ty0_abbr *) - Ty0GenBase; DropDis; Inversion H4. - Rewrite H7 in H2; Rewrite H8 in H2; XEAuto. -(* case 4 : ty0_abst *) - Ty0GenBase; DropDis; Inversion H4. - Rewrite H7 in H2; Rewrite H8 in H2; XEAuto. -(* case 5 : ty0_bind *) - Ty0GenBase; XEAuto. -(* case 6 : ty0_appl *) - Ty0GenBase; EApply pc3_t; [ Idtac | EApply H3 ]; XEAuto. -(* case 7 : ty0_cast *) - Ty0GenBase; XEAuto. - Qed. - - End ty0_unique. - - Hints Resolve ty0_unique : ltlc. diff --git a/helm/coq-contribs/LAMBDA-TYPES/ty0_sred.v b/helm/coq-contribs/LAMBDA-TYPES/ty0_sred.v deleted file mode 100644 index 99548beb5..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/ty0_sred.v +++ /dev/null @@ -1,252 +0,0 @@ -Require lift_gen. -Require subst1_gen. -Require csubst1_defs. -Require pr0_lift. -Require pr0_subst1. -Require cpr0_defs. -Require pc1_props. -Require pc3_props. -Require pc3_gen. -Require ty0_defs. -Require ty0_gen. -Require ty0_lift. -Require ty0_props. -Require ty0_subst0. -Require ty0_gen_context. -Require csub0_defs. -Require csub0_props. - -(*#* #caption "subject reduction" #clauses *) - -(*#* #stop file *) - - Section ty0_sred_cpr0_pr0. (**********************************************) - - Tactic Definition IH H c2 t2 := - LApply (H c2); [ Intros H_x | XEAuto ]; - LApply H_x; [ Clear H_x; Intros H_x | XAuto ]; - LApply (H_x t2); [ Clear H_x; Intros | XEAuto ]. - - Tactic Definition IH0 := - Match Context With - [ H1: (c2:C) (wf0 ?1 c2)->(cpr0 ?2 c2)->(t2:T)(pr0 ?3 t2)->(ty0 ?1 c2 t2 ?4); - H2: (cpr0 ?2 ?5); H3: (ty0 ?1 ?2 ?3 ?4) |- ? ] -> - IH H1 ?5 ?3. - - Tactic Definition IH0c := - Match Context With - [ H1: (c2:C) (wf0 ?1 c2)->(cpr0 ?2 c2)->(t2:T)(pr0 ?3 t2)->(ty0 ?1 c2 t2 ?4); - H2: (cpr0 ?2 ?5); H3: (ty0 ?1 ?2 ?3 ?4) |- ? ] -> - IH H1 ?5 ?3; Clear H1. - - Tactic Definition IH0B := - Match Context With - [ H1: (c2:C) (wf0 ?1 c2)->(cpr0 (CTail ?2 (Bind ?6) ?7) c2)->(t2:T)(pr0 ?3 t2)->(ty0 ?1 c2 t2 ?4); - H2: (cpr0 ?2 ?5); H3: (ty0 ?1 (CTail ?2 (Bind ?6) ?7) ?3 ?4) |- ? ] -> - IH H1 '(CTail ?5 (Bind ?6) ?7) ?3. - - Tactic Definition IH0Bc := - Match Context With - [ H1: (c2:C) (wf0 ?1 c2)->(cpr0 (CTail ?2 (Bind ?6) ?7) c2)->(t2:T)(pr0 ?3 t2)->(ty0 ?1 c2 t2 ?4); - H2: (cpr0 ?2 ?5); H3: (ty0 ?1 (CTail ?2 (Bind ?6) ?7) ?3 ?4) |- ? ] -> - IH H1 '(CTail ?5 (Bind ?6) ?7) ?3; Clear H1. - - Tactic Definition IH1 := - Match Context With - [ H1: (c2:C) (wf0 ?1 c2)->(cpr0 ?2 c2)->(t2:T)(pr0 ?3 t2)->(ty0 ?1 c2 t2 ?4); - H2: (cpr0 ?2 ?5); H3: (pr0 ?3 ?6) |- ? ] -> - IH H1 ?5 ?6. - - Tactic Definition IH1c := - Match Context With - [ H1: (c2:C) (wf0 ?1 c2)->(cpr0 ?2 c2)->(t2:T)(pr0 ?3 t2)->(ty0 ?1 c2 t2 ?4); - H2: (cpr0 ?2 ?5); H3: (pr0 ?3 ?6) |- ? ] -> - IH H1 ?5 ?6; Clear H1. - - Tactic Definition IH1Bc := - Match Context With - [ H1: (c2:C) (wf0 ?1 c2)->(cpr0 (CTail ?2 (Bind ?7) ?8) c2)->(t2:T)(pr0 ?3 t2)->(ty0 ?1 c2 t2 ?4); - H2: (cpr0 ?2 ?5); H3: (pr0 ?3 ?6) |- ? ] -> - IH H1 '(CTail ?5 (Bind ?7) ?8) ?6; Clear H1. - - Tactic Definition IH1BLc := - Match Context With - [ H1: (c2:C) (wf0 ?1 c2)->(cpr0 (CTail ?2 (Bind ?7) ?8) c2)->(t2:T)(pr0 (lift ?10 ?11 ?3) t2)->(ty0 ?1 c2 t2 ?4); - H2: (cpr0 ?2 ?5); H3: (pr0 ?3 ?6) |- ? ] -> - IH H1 '(CTail ?5 (Bind ?7) ?8) '(lift ?10 ?11 ?6); Clear H1. - - Tactic Definition IH1T := - Match Context With - [ H1: (c2:C) (wf0 ?1 c2)->(cpr0 ?2 c2)->(t2:T)(pr0 (TTail ?7 ?8 ?3) t2)->(ty0 ?1 c2 t2 ?4); - H2: (cpr0 ?2 ?5); H3: (pr0 ?3 ?6) |- ? ] -> - IH H1 ?5 '(TTail ?7 ?8 ?6). - - Tactic Definition IH1T2c := - Match Context With - [ H1: (c2:C) (wf0 ?1 c2)->(cpr0 ?2 c2)->(t2:T)(pr0 (TTail ?7 ?8 ?3) t2)->(ty0 ?1 c2 t2 ?4); - H2: (cpr0 ?2 ?5); H3: (pr0 ?3 ?6); H4: (pr0 ?8 ?9) |- ? ] -> - IH H1 ?5 '(TTail ?7 ?9 ?6); Clear H1. - - Tactic Definition IH3B := - Match Context With - [ H1: (c2:C) (wf0 ?1 c2)->(cpr0 (CTail ?2 (Bind ?7) ?8) c2)->(t2:T)(pr0 ?3 t2)->(ty0 ?1 c2 t2 ?4); - H2: (cpr0 ?2 ?5); H3: (pr0 ?3 ?6); H4: (pr0 ?8 ?9) |- ? ] -> - IH H1 '(CTail ?5 (Bind ?7) ?9) ?6. - -(*#* #start file *) - -(*#* #caption "base case" *) -(*#* #cap #cap c1, c2 #alpha t1 in T, t2 in T1, t in T2 *) - - Theorem ty0_sred_cpr0_pr0: (g:?; c1:?; t1,t:?) (ty0 g c1 t1 t) -> - (c2:?) (wf0 g c2) -> (cpr0 c1 c2) -> - (t2:?) (pr0 t1 t2) -> (ty0 g c2 t2 t). - -(*#* #stop file *) - - Intros until 1; XElim H; Intros. -(* case 1: ty0_conv *) - IH1c; IH0c; EApply ty0_conv; XEAuto. -(* case 2: ty0_sort *) - Inversion H2; XAuto. -(* case 3: ty0_abbr *) - Inversion H5; Cpr0Drop; IH1c; XEAuto. -(* case 4: ty0_abst *) - Intros; Inversion H5; Cpr0Drop; IH0; IH1. - EApply ty0_conv; - [ EApply ty0_lift; [ Idtac | XAuto | XEAuto ] - | EApply ty0_abst - | EApply pc3_lift ]; XEAuto. -(* case 5: ty0_bind *) - Intros; Inversion H7; Clear H7. -(* case 5.1: pr0_refl *) - IH0c; IH0Bc; IH0Bc. - EApply ty0_bind; XEAuto. -(* case 5.2: pr0_cont *) - IH0; IH0B; Ty0Correct; IH3B; Ty0Correct. - EApply ty0_conv; [ EApply ty0_bind | EApply ty0_bind | Idtac ]; XEAuto. -(* case 5.3: pr0_delta *) - Rewrite <- H8 in H1; Rewrite <- H8 in H2; - Rewrite <- H8 in H3; Rewrite <- H8 in H4; Clear H8 b. - IH0; IH0B; Ty0Correct; IH3B; Ty0Correct. - EApply ty0_conv; [ EApply ty0_bind | EApply ty0_bind | Idtac ]; XEAuto. -(* case 5.4: pr0_zeta *) - Rewrite <- H11 in H1; Rewrite <- H11 in H2; Clear H8 H9 H10 H11 b0 t2 t7 u0. - IH0; IH1BLc; Move H3 after H8; IH0Bc; Ty0Correct; Move H8 after H4; Clear H H0 H1 H3 H6 c c1 t t1; - NewInduction b. -(* case 5.4.1: Abbr *) - Ty0GenContext; Subst1Gen; LiftGen; Rewrite H in H1; Clear H x0. - EApply ty0_conv; - [ EApply ty0_bind; XEAuto | XEAuto - | EApply pc3_pr3_x; - EApply (pr3_t (TTail (Bind Abbr) u (lift (1) (0) x1))); XEAuto ]. -(* case 5.4.2: Abst *) - EqFalse. -(* case 5.4.3: Void *) - Ty0GenContext; Rewrite H0; Rewrite H0 in H2; Clear H0 t3. - LiftGen; Rewrite <- H in H1; Clear H x0. - EApply ty0_conv; [ EApply ty0_bind; XEAuto | XEAuto | XAuto ]. -(* case 6: ty0_appl *) - Intros; Inversion H5; Clear H5. -(* case 6.1: pr0_refl *) - IH0c; IH0c; EApply ty0_appl; XEAuto. -(* case 6.2: pr0_cont *) - Clear H6 H7 H8 H9 c1 k t t1 t2 t3 u1. - IH0; Ty0Correct; Ty0GenBase; IH1c; IH0; IH1c. - EApply ty0_conv; - [ EApply ty0_appl; [ XEAuto | EApply ty0_bind; XEAuto ] - | EApply ty0_appl; XEAuto - | XEAuto ]. -(* case 6.3: pr0_beta *) - Rewrite <- H7 in H1; Rewrite <- H7 in H2; Clear H6 H7 H9 c1 t t1 t2 v v1. - IH1T; IH0c; Ty0Correct; Ty0GenBase; IH0; IH1c. - Move H5 after H13; Ty0GenBase; Pc3Gen; Repeat CSub0Ty0. - EApply ty0_conv; - [ Apply ty0_appl; [ Idtac | EApply ty0_bind ] - | EApply ty0_bind - | Apply (pc3_t (TTail (Bind Abbr) v2 t0)) - ]; XEAuto. -(* case 6.4: pr0_delta *) - Rewrite <- H7 in H1; Rewrite <- H7 in H2; Clear H6 H7 H11 c1 t t1 t2 v v1. - IH1T2c; Clear H1; Ty0Correct; NonLinear; Ty0GenBase; IH1; IH0c. - Move H5 after H1; Ty0GenBase; Pc3Gen; Rewrite lift_bind in H0. - Move H1 after H0; Ty0Lift b u2; Rewrite lift_bind in H17. - Ty0GenBase. - EApply ty0_conv; - [ Apply ty0_appl; [ Idtac | EApply ty0_bind ]; XEAuto - | EApply ty0_bind; - [ Idtac - | EApply ty0_appl; [ EApply ty0_lift | EApply ty0_conv ] - | EApply ty0_appl; [ EApply ty0_lift | EApply ty0_bind ] - ]; XEAuto - | Idtac ]. - Rewrite <- lift_bind; Apply pc3_pc1; - Apply (pc1_pr0_u2 (TTail (Flat Appl) v2 (TTail (Bind b) u2 (lift (1) (0) (TTail (Bind Abst) u t0))))); XAuto. -(* case 7: ty0_cast *) - Intros; Inversion H5; Clear H5. -(* case 7.1: pr0_refl *) - IH0c; IH0c; EApply ty0_cast; XEAuto. -(* case 7.2: pr0_cont *) - Clear H6 H7 H8 H9 c1 k u1 t t1 t4 t5. - IH0; IH1c; IH1c. - EApply ty0_conv; - [ XEAuto - | EApply ty0_cast; [ EApply ty0_conv; XEAuto | XEAuto ] - | XAuto ]. -(* case 7.3: pr0_epsilon *) - XAuto. - Qed. - - End ty0_sred_cpr0_pr0. - - Section ty0_sred_pr3. (**********************************************) - - Theorem ty0_sred_pr1: (c:?; t1,t2:?) (pr1 t1 t2) -> - (g:?; t:?) (ty0 g c t1 t) -> - (ty0 g c t2 t). - Intros until 1; XElim H; Intros. -(* case 1: pr1_r *) - XAuto. -(* case 2: pr1_u *) - EApply H1; EApply ty0_sred_cpr0_pr0; XEAuto. - Qed. - - Theorem ty0_sred_pr2: (c:?; t1,t2:?) (pr2 c t1 t2) -> - (g:?; t:?) (ty0 g c t1 t) -> - (ty0 g c t2 t). - Intros until 1; XElim H; Intros. -(* case 1: pr2_free *) - EApply ty0_sred_cpr0_pr0; XEAuto. -(* case 2: pr2_u *) - EApply ty0_subst0; Try EApply ty0_sred_cpr0_pr0; XEAuto. - Qed. - -(*#* #start file *) - -(*#* #caption "general case without the reduction in the context" *) -(*#* #cap #cap c #alpha t1 in T, t2 in T1, t in T2 *) - - Theorem ty0_sred_pr3: (c:?; t1,t2:?) (pr3 c t1 t2) -> - (g:?; t:?) (ty0 g c t1 t) -> - (ty0 g c t2 t). - -(*#* #stop file *) - - Intros until 1; XElim H; Intros. -(* case 1: pr3_refl *) - XAuto. -(* case 2: pr3_sing *) - EApply H1; EApply ty0_sred_pr2; XEAuto. - Qed. - - End ty0_sred_pr3. - - Tactic Definition Ty0SRed := - Match Context With - | [ H1: (pr3 ?1 ?2 ?3); H2: (ty0 ?4 ?1 ?2 ?5) |- ? ] -> - LApply (ty0_sred_pr3 ?1 ?2 ?3); [ Intros H_x | XAuto ]; - LApply (H_x ?4 ?5); [ Clear H2 H_x; Intros | XAuto ]. - -(*#* #start file *) - -(*#* #single *) diff --git a/helm/coq-contribs/LAMBDA-TYPES/ty0_sred_props.v b/helm/coq-contribs/LAMBDA-TYPES/ty0_sred_props.v deleted file mode 100644 index 1606efc5c..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/ty0_sred_props.v +++ /dev/null @@ -1,176 +0,0 @@ -Require lift_props. -Require drop_props. -Require pc3_props. -Require pc3_gen. -Require ty0_defs. -Require ty0_gen. -Require ty0_props. -Require ty0_sred. - -(*#* #caption "corollaries of subject reduction" #clauses *) - -(*#* #stop file *) - - Section ty0_gen. (********************************************************) - - Tactic Definition IH e := - Match Context With - [ H0: (t:?; d:?) ?1 = (lift ?2 d t) -> ?; H1: ?1 = (lift ?2 ?3 ?4) |- ? ] -> - LApply (H0 ?4 ?3); [ Clear H0 H1; Intros H0 | XAuto ]; - LApply (H0 e); [ Clear H0; Intros H0 | XEAuto ]; - LApply H0; [ Clear H0; Intros H0 | XAuto ]; - XElim H0; Intros. - -(*#* #start file *) - -(*#* #caption "generation lemma for lift" *) -(*#* #cap #cap t2 #alpha c in C1, e in C2, t1 in T, x in T1, d in i *) - - Theorem ty0_gen_lift: (g:?; c:?; t1,x:?; h,d:?) - (ty0 g c (lift h d t1) x) -> - (e:?) (wf0 g e) -> (drop h d c e) -> - (EX t2 | (pc3 c (lift h d t2) x) & (ty0 g e t1 t2)). - -(*#* #stop file *) - - Intros until 1; InsertEq H '(lift h d t1); - UnIntro H d; UnIntro H t1; XElim H; Intros; - Rename x0 into t3; Rename x1 into d0. -(* case 1: ty0_conv *) - IH e; XEAuto. -(* case 2: ty0_sort *) - LiftGenBase; Rewrite H0; Clear H0 t. - EApply ex2_intro; [ Rewrite lift_sort; XAuto | XAuto ]. -(* case 3: ty0_abbr *) - Apply (lt_le_e n d0); Intros. -(* case 3.1: n < d0 *) - LiftGenBase; DropS; Rewrite H3; Clear H3 t3. - Rewrite (le_plus_minus (S n) d0); [ Idtac | XAuto ]. - Rewrite (lt_plus_minus n d0) in H5; [ DropDis; IH x1 | XAuto ]. - EApply ex2_intro; - [ Rewrite lift_d; [ EApply pc3_lift; XEAuto | XEAuto ] - | EApply ty0_abbr; XEAuto ]. -(* case 3.2: n >= d0 *) - Apply (lt_le_e n (plus d0 h)); Intros. -(* case 3.2.1: n < d0 + h *) - LiftGenBase. -(* case 3.2.2: n >= d0 + h *) - Rewrite (le_plus_minus_sym h n) in H3; [ Idtac | XEAuto ]. - LiftGenBase; DropDis; Rewrite H3; Clear H3 t3. - EApply ex2_intro; [ Idtac | EApply ty0_abbr; XEAuto ]. - Rewrite lift_free; [ Idtac | XEAuto | XAuto ]. - Rewrite <- plus_n_Sm; Rewrite <- le_plus_minus; XEAuto. -(* case 4: ty0_abst *) - Apply (lt_le_e n d0); Intros. -(* case 4.1: n < d0 *) - LiftGenBase; Rewrite H3; Clear H3 t3. - Rewrite (le_plus_minus (S n) d0); [ Idtac | XAuto ]. - Rewrite (lt_plus_minus n d0) in H5; [ DropDis; Rewrite H0; IH x1 | XAuto ]. - EApply ex2_intro; [ Rewrite lift_d | EApply ty0_abst ]; XEAuto. -(* case 4.2: n >= d0 *) - Apply (lt_le_e n (plus d0 h)); Intros. -(* case 4.2.1: n < d0 + h *) - LiftGenBase. -(* case 4.2.2: n >= d0 + h *) - Rewrite (le_plus_minus_sym h n) in H3; [ Idtac | XEAuto ]. - LiftGenBase; DropDis; Rewrite H3; Clear H3 t3. - EApply ex2_intro; [ Idtac | EApply ty0_abst; XEAuto ]. - Rewrite lift_free; [ Idtac | XEAuto | XAuto ]. - Rewrite <- plus_n_Sm; Rewrite <- le_plus_minus; XEAuto. -(* case 5: ty0_bind *) - LiftGenBase; Rewrite H5; Rewrite H8; Rewrite H8 in H2; Clear H5 t3. - Move H0 after H2; IH e; IH '(CTail e (Bind b) x0); Ty0Correct. - EApply ex2_intro; [ Rewrite lift_bind; XEAuto | XEAuto ]. -(* case 6: ty0_appl *) - LiftGenBase; Rewrite H3; Rewrite H6; Clear H3 c t3 x y. - IH e; IH e; Pc3Gen; Pc3T; Pc3Gen; Pc3T. - Move H3 after H12; Ty0Correct; Ty0SRed; Ty0GenBase; Wf0Ty0. - EApply ex2_intro; - [ Rewrite lift_flat; Apply pc3_thin_dx; - Rewrite lift_bind; Apply pc3_tail_21; [ EApply pc3_pr3_x | Idtac ] - | EApply ty0_appl; - [ EApply ty0_conv - | EApply ty0_conv; [ EApply ty0_bind | Idtac | Idtac ] ] - ]; XEAuto. -(* case 7: ty0_cast *) - LiftGenBase; Rewrite H3; Rewrite H6; Rewrite H6 in H0. - IH e; IH e; Pc3Gen; XEAuto. - Qed. - - End ty0_gen. - - Tactic Definition Ty0Gen := - Match Context With - | [ H0: (ty0 ?1 ?2 (lift ?3 ?4 ?5) ?6); - H1: (drop ?3 ?4 ?2 ?7) |- ? ] -> - LApply (ty0_gen_lift ?1 ?2 ?5 ?6 ?3 ?4); [ Clear H0; Intros H0 | XAuto ]; - LApply (H0 ?7); [ Clear H0; Intros H0 | XEAuto ]; - LApply H0; [ Clear H0 H1; Intros H0 | XAuto ]; - XElim H0; Intros - | [ H0: (ty0 ?1 ?2 (lift ?3 ?4 ?5) ?6); - _: (wf0 ?1 ?7) |- ? ] -> - LApply (ty0_gen_lift ?1 ?2 ?5 ?6 ?3 ?4); [ Clear H0; Intros H0 | XAuto ]; - LApply (H0 ?7); [ Clear H0; Intros H0 | XAuto ]; - LApply H0; [ Clear H0; Intros H0 | XAuto ]; - XElim H0; Intros - | _ -> Ty0GenContext. - - Section ty0_sred_props. (*************************************************) - -(*#* #start file *) - -(*#* #caption "drop preserves well-formedness" *) -(*#* #cap #alpha c in C1, e in C2, d in i *) - - Theorem wf0_drop: (c,e:?; d,h:?) (drop h d c e) -> - (g:?) (wf0 g c) -> (wf0 g e). - -(*#* #stop proof *) - - XElim c. -(* case 1: CSort *) - Intros; DropGenBase; Rewrite H; XAuto. -(* case 2: CTail k *) - Intros c IHc; XElim k; ( - XElim d; - [ XEAuto - | Intros d IHd; Intros; - DropGenBase; Rewrite H; Rewrite H1 in H0; Clear IHd H H1 e t; - Inversion H0; Clear H3 H4 b0 u ]). -(* case 2.1: Bind, d > 0 *) - Ty0Gen; XEAuto. - Qed. - -(*#* #start proof *) - -(*#* #caption "type reduction" *) -(*#* #cap #cap c, t1, t2 #alpha u in T *) - - Theorem ty0_tred: (g:?; c:?; u,t1:?) (ty0 g c u t1) -> - (t2:?) (pr3 c t1 t2) -> (ty0 g c u t2). - -(*#* #stop proof *) - - Intros; Ty0Correct; Ty0SRed; EApply ty0_conv; XEAuto. - Qed. - -(*#* #start proof *) - -(*#* #caption "subject conversion" *) -(*#* #cap #cap c, u1, u2, t1, t2 *) - - Theorem ty0_sconv: (g:?; c:?; u1,t1:?) (ty0 g c u1 t1) -> - (u2,t2:?) (ty0 g c u2 t2) -> - (pc3 c u1 u2) -> (pc3 c t1 t2). - -(*#* #stop file *) - - Intros; Pc3Unfold; Repeat Ty0SRed; XEAuto. - Qed. - - - End ty0_sred_props. - -(*#* #start file *) - -(*#* #single *) diff --git a/helm/coq-contribs/LAMBDA-TYPES/ty0_subst0.v b/helm/coq-contribs/LAMBDA-TYPES/ty0_subst0.v deleted file mode 100644 index ffd80110b..000000000 --- a/helm/coq-contribs/LAMBDA-TYPES/ty0_subst0.v +++ /dev/null @@ -1,334 +0,0 @@ -Require drop_props. -Require csubst0_defs. -Require fsubst0_defs. -Require pc3_props. -Require pc3_subst0. -Require ty0_defs. -Require ty0_gen. -Require ty0_lift. -Require ty0_props. - - Section ty0_fsubst0. (****************************************************) - -(*#* #stop macro *) - - Tactic Definition IH H0 v1 v2 v3 v4 v5 := - LApply (H0 v1 v2 v3 v4); [ Intros H_x | XEAuto ]; - LApply H_x; [ Clear H_x; Intros H_x | XEAuto ]; - LApply (H_x v5); [ Clear H_x; Intros | XEAuto ]. - - Tactic Definition IHT := - Match Context With - [ H: (i:nat; u0:T; c2:C; t2:T) (fsubst0 i u0 ?1 ?2 c2 t2) -> - (wf0 ?3 c2) -> - (e:C) (drop i (0) ?1 (CTail e (Bind Abbr) u0)) -> ?; - _: (subst0 ?4 ?5 ?2 ?6); - _: (drop ?4 (0) ?1 (CTail ?9 (Bind Abbr) ?5)) |- ? ] -> - IH H ?4 ?5 ?1 ?6 ?9. - - Tactic Definition IHTb1 := - Match Context With - [ H: (i:nat; u0:T; c2:C; t2:T) (fsubst0 i u0 (CTail ?1 (Bind ?11) ?10) ?2 c2 t2) -> - (wf0 ?3 c2) -> - (e:C) (drop i (0) (CTail ?1 (Bind ?11) ?10) (CTail e (Bind Abbr) u0)) -> ?; - _: (subst0 ?4 ?5 ?10 ?6); - _: (drop ?4 (0) ?1 (CTail ?9 (Bind Abbr) ?5)) |- ? ] -> - IH H '(S ?4) ?5 '(CTail ?1 (Bind ?11) ?6) ?2 ?9. - - Tactic Definition IHTb2 := - Match Context With - [ H: (i:nat; u0:T; c2:C; t2:T) (fsubst0 i u0 (CTail ?1 (Bind ?11) ?10) ?2 c2 t2) -> - (wf0 ?3 c2) -> - (e:C) (drop i (0) (CTail ?1 (Bind ?11) ?10) (CTail e (Bind Abbr) u0)) -> ?; - _: (subst0 (s (Bind ?11) ?4) ?5 ?2 ?6); - _: (drop ?4 (0) ?1 (CTail ?9 (Bind Abbr) ?5)) |- ? ] -> - IH H '(S ?4) ?5 '(CTail ?1 (Bind ?11) ?10) ?6 ?9. - - Tactic Definition IHC := - Match Context With - [ H: (i:nat; u0:T; c2:C; t2:T) (fsubst0 i u0 ?1 ?2 c2 t2) -> - (wf0 ?3 c2) -> - (e:C) (drop i (0) ?1 (CTail e (Bind Abbr) u0)) -> ?; - _: (csubst0 ?4 ?5 ?1 ?6); - _: (drop ?4 (0) ?1 (CTail ?9 (Bind Abbr) ?5)) |- ? ] -> - IH H ?4 ?5 ?6 ?2 ?9. - - Tactic Definition IHCb := - Match Context With - [ H: (i:nat; u0:T; c2:C; t2:T) (fsubst0 i u0 (CTail ?1 (Bind ?11) ?10) ?2 c2 t2) -> - (wf0 ?3 c2) -> - (e:C) (drop i (0) (CTail ?1 (Bind ?11) ?10) (CTail e (Bind Abbr) u0)) -> ?; - _: (csubst0 ?4 ?5 ?1 ?6); - _: (drop ?4 (0) ?1 (CTail ?9 (Bind Abbr) ?5)) |- ? ] -> - IH H '(S ?4) ?5 '(CTail ?6 (Bind ?11) ?10) ?2 ?9. - - Tactic Definition IHTTb := - Match Context With - [ H: (i:nat; u0:T; c2:C; t2:T) (fsubst0 i u0 (CTail ?1 (Bind ?11) ?10) ?2 c2 t2) -> - (wf0 ?3 c2) -> - (e:C) (drop i (0) (CTail ?1 (Bind ?11) ?10) (CTail e (Bind Abbr) u0)) -> ?; - _: (subst0 ?4 ?5 ?10 ?6); - _: (subst0 (s (Bind ?11) ?4) ?5 ?2 ?7); - _: (drop ?4 (0) ?1 (CTail ?9 (Bind Abbr) ?5)) |- ? ] -> - IH H '(S ?4) ?5 '(CTail ?1 (Bind ?11) ?6) ?7 ?9. - - Tactic Definition IHCT := - Match Context With - [ H: (i:nat; u0:T; c2:C; t2:T) (fsubst0 i u0 ?1 ?2 c2 t2) -> - (wf0 ?3 c2) -> - (e:C) (drop i (0) ?1 (CTail e (Bind Abbr) u0)) -> ?; - _: (csubst0 ?4 ?5 ?1 ?6); - _: (subst0 ?4 ?5 ?2 ?7); - _: (drop ?4 (0) ?1 (CTail ?9 (Bind Abbr) ?5)) |- ? ] -> - IH H ?4 ?5 ?6 ?7 ?9. - - Tactic Definition IHCTb1 := - Match Context With - [ H: (i:nat; u0:T; c2:C; t2:T) (fsubst0 i u0 (CTail ?1 (Bind ?11) ?10) ?2 c2 t2) -> - (wf0 ?3 c2) -> - (e:C) (drop i (0) (CTail ?1 (Bind ?11) ?10) (CTail e (Bind Abbr) u0)) -> ?; - _: (csubst0 ?4 ?5 ?1 ?6); - _: (subst0 ?4 ?5 ?10 ?7); - _: (drop ?4 (0) ?1 (CTail ?9 (Bind Abbr) ?5)) |- ? ] -> - IH H '(S ?4) ?5 '(CTail ?6 (Bind ?11) ?7) ?2 ?9. - - Tactic Definition IHCTb2 := - Match Context With - [ H: (i:nat; u0:T; c2:C; t2:T) (fsubst0 i u0 (CTail ?1 (Bind ?11) ?10) ?2 c2 t2) -> - (wf0 ?3 c2) -> - (e:C) (drop i (0) (CTail ?1 (Bind ?11) ?10) (CTail e (Bind Abbr) u0)) -> ?; - _: (csubst0 ?4 ?5 ?1 ?6); - _: (subst0 (s (Bind ?11) ?4) ?5 ?2 ?7); - _: (drop ?4 (0) ?1 (CTail ?9 (Bind Abbr) ?5)) |- ? ] -> - IH H '(S ?4) ?5 '(CTail ?6 (Bind ?11) ?10) ?7 ?9. - - Tactic Definition IHCTTb := - Match Context With - [ H: (i:nat; u0:T; c2:C; t2:T) (fsubst0 i u0 (CTail ?1 (Bind ?11) ?10) ?2 c2 t2) -> - (wf0 ?3 c2) -> - (e:C) (drop i (0) (CTail ?1 (Bind ?11) ?10) (CTail e (Bind Abbr) u0)) -> ?; - _: (csubst0 ?4 ?5 ?1 ?6); - _: (subst0 ?4 ?5 ?10 ?7); - _: (subst0 (s (Bind ?11) ?4) ?5 ?2 ?8); - _: (drop ?4 (0) ?1 (CTail ?9 (Bind Abbr) ?5)) |- ? ] -> - IH H '(S ?4) ?5 '(CTail ?6 (Bind ?11) ?7) ?8 ?9. - -(*#* #start macro *) - -(*#* #caption "substitution preserves types" *) -(*#* #cap #cap c1, c2, e, t1, t2, t #alpha u in V *) - -(* NOTE: This breaks the mutual recursion between ty0_subst0 and ty0_csubst0 *) - Theorem ty0_fsubst0: (g:?; c1:?; t1,t:?) (ty0 g c1 t1 t) -> - (i:?; u,c2,t2:?) (fsubst0 i u c1 t1 c2 t2) -> - (wf0 g c2) -> - (e:?) (drop i (0) c1 (CTail e (Bind Abbr) u)) -> - (ty0 g c2 t2 t). - -(*#* #stop file *) - - Intros until 1; XElim H. -(* case 1: ty0_conv *) - Intros until 6; XElim H4; Intros. -(* case 1.1: fsubst0_snd *) - IHT; EApply ty0_conv; XEAuto. -(* case 1.2: fsubst0_fst *) - IHC; EApply ty0_conv; Try EApply pc3_fsubst0; XEAuto. -(* case 1.3: fsubst0_both *) - IHCT; IHCT; EApply ty0_conv; Try EApply pc3_fsubst0; XEAuto. -(* case 2: ty0_sort *) - Intros until 2; XElim H0; Intros. -(* case 2.1: fsubst0_snd *) - Subst0GenBase. -(* case 2.2: fsubst0_fst *) - XAuto. -(* case 2.3: fsubst0_both *) - Subst0GenBase. -(* case 3: ty0_abbr *) - Intros until 5; XElim H3; Intros; Clear c1 c2 t t1 t2. -(* case 3.1: fsubst0_snd *) - Subst0GenBase; Rewrite H6; Rewrite <- H3 in H5; Clear H3 H6 i t3. - DropDis; Inversion H5; Rewrite <- H6 in H0; Rewrite H7 in H1; XEAuto. -(* case 3.2: fsubst0_fst *) - Apply (lt_le_e n i); Intros; CSubst0Drop. -(* case 3.2.1: n < i, none *) - EApply ty0_abbr; XEAuto. -(* case 3.2.2: n < i, csubst0_snd *) - Inversion H0; CSubst0Drop. - Rewrite <- H10 in H7; Rewrite <- H11 in H7; Rewrite <- H11 in H8; Rewrite <- H12 in H8; - Clear H0 H10 H11 H12 x0 x1 x2. - DropDis; Rewrite minus_x_Sy in H0; [ DropGenBase | XAuto ]. - IHT; EApply ty0_abbr; XEAuto. -(* case 3.2.3: n < i, csubst0_fst *) - Inversion H0; CSubst0Drop. - Rewrite <- H10 in H8; Rewrite <- H11 in H7; Rewrite <- H11 in H8; Rewrite <- H12 in H7; - Clear H0 H10 H11 H12 x0 x1 x3. - DropDis; Rewrite minus_x_Sy in H0; [ DropGenBase; CSubst0Drop | XAuto ]. - IHC; EApply ty0_abbr; XEAuto. -(* case 3.2.4: n < i, csubst0_both *) - Inversion H0; CSubst0Drop. - Rewrite <- H11 in H9; Rewrite <- H12 in H7; Rewrite <- H12 in H8; Rewrite <- H12 in H9; Rewrite <- H13 in H8; - Clear H0 H11 H12 H13 x0 x1 x3. - DropDis; Rewrite minus_x_Sy in H0; [ DropGenBase; CSubst0Drop | XAuto ]. - IHCT; EApply ty0_abbr; XEAuto. -(* case 3.2.5: n >= i *) - EApply ty0_abbr; XEAuto. -(* case 3.3: fsubst0_both *) - Subst0GenBase; Rewrite H7; Rewrite <- H3 in H4; Rewrite <- H3 in H6; Clear H3 H7 i t3. - DropDis; Inversion H6; Rewrite <- H7 in H0; Rewrite H8 in H1. - CSubst0Drop; XEAuto. -(* case 4: ty0_abst *) - Intros until 5; XElim H3; Intros; Clear c1 c2 t t1 t2. -(* case 4.1: fsubst0_snd *) - Subst0GenBase; Rewrite H3 in H0; DropDis; Inversion H0. -(* case 4.2: fsubst0_fst *) - Apply (lt_le_e n i); Intros; CSubst0Drop. -(* case 4.2.1: n < i, none *) - EApply ty0_abst; XEAuto. -(* case 4.2.2: n < i, csubst0_snd *) - Inversion H0; CSubst0Drop. - Rewrite <- H10 in H7; Rewrite <- H11 in H7; Rewrite <- H11 in H8; Rewrite <- H12 in H8; Rewrite <- H12; - Clear H0 H10 H11 H12 x0 x1 x2. - DropDis; Rewrite minus_x_Sy in H0; [ DropGenBase | XAuto ]. - IHT; EApply ty0_conv; - [ EApply ty0_lift | EApply ty0_abst | EApply pc3_lift ]; XEAuto. -(* case 4.2.3: n < i, csubst0_fst *) - Inversion H0; CSubst0Drop. - Rewrite <- H10 in H8; Rewrite <- H11 in H7; Rewrite <- H11 in H8; Rewrite <- H12 in H7; Rewrite <- H12; - Clear H0 H10 H11 H12 x0 x1 x3. - DropDis; Rewrite minus_x_Sy in H0; [ DropGenBase; CSubst0Drop | XAuto ]. - IHC; EApply ty0_abst; XEAuto. -(* case 4.2.4: n < i, csubst0_both *) - Inversion H0; CSubst0Drop. - Rewrite <- H11 in H9; Rewrite <- H12 in H7; Rewrite <- H12 in H8; Rewrite <- H12 in H9; Rewrite <- H13 in H8; Rewrite <- H13; - Clear H0 H11 H12 H13 x0 x1 x3. - DropDis; Rewrite minus_x_Sy in H0; [ DropGenBase; CSubst0Drop | XAuto ]. - IHCT; IHC; EApply ty0_conv; - [ EApply ty0_lift | EApply ty0_abst - | EApply pc3_lift; Try EApply pc3_fsubst0; Try Apply H0 - ]; XEAuto. -(* case 4.2.4: n >= i *) - EApply ty0_abst; XEAuto. -(* case 4.3: fsubst0_both *) - Subst0GenBase; Rewrite H3 in H0; DropDis; Inversion H0. -(* case 5: ty0_bind *) - Intros until 7; XElim H5; Intros; Clear H4. -(* case 5.1: fsubst0_snd *) - Subst0GenBase; Rewrite H4; Clear H4 t6. -(* case 5.1.1: subst0 on left argument *) - Ty0Correct; IHT; IHTb1; Ty0Correct. - EApply ty0_conv; - [ EApply ty0_bind | EApply ty0_bind | EApply pc3_fsubst0 ]; XEAuto. -(* case 5.1.2: subst0 on right argument *) - IHTb2; Ty0Correct; EApply ty0_bind; XEAuto. -(* case 5.1.3: subst0 on both arguments *) - Ty0Correct; IHT; IHTb1; IHTTb; Ty0Correct. - EApply ty0_conv; - [ EApply ty0_bind | EApply ty0_bind | EApply pc3_fsubst0 ]; XEAuto. -(* case 5.2: fsubst0_fst *) - IHC; IHCb; Ty0Correct; EApply ty0_bind; XEAuto. -(* case 5.3: fsubst0_both *) - Subst0GenBase; Rewrite H4; Clear H4 t6. -(* case 5.3.1: subst0 on left argument *) - IHC; IHCb; Ty0Correct; Ty0Correct; IHCT; IHCTb1; Ty0Correct. - EApply ty0_conv; - [ EApply ty0_bind | EApply ty0_bind - | EApply pc3_fsubst0; [ Idtac | Idtac | XEAuto ] ]; XEAuto. -(* case 5.3.2: subst0 on right argument *) - IHC; IHCTb2; Ty0Correct; EApply ty0_bind; XEAuto. -(* case 5.3.3: subst0 on both arguments *) - IHC; IHCb; Ty0Correct; Ty0Correct; IHCT; IHCTTb; Ty0Correct. - EApply ty0_conv; - [ EApply ty0_bind | EApply ty0_bind - | EApply pc3_fsubst0; [ Idtac | Idtac | XEAuto ] ]; XEAuto. -(* case 6: ty0_appl *) - Intros until 5; XElim H3; Intros. -(* case 6.1: fsubst0_snd *) - Subst0GenBase; Rewrite H3; Clear H3 c1 c2 t t1 t2 t3. -(* case 6.1.1: subst0 on left argument *) - Ty0Correct; Ty0GenBase; IHT; Ty0Correct. - EApply ty0_conv; - [ EApply ty0_appl | EApply ty0_appl | EApply pc3_fsubst0 ]; XEAuto. -(* case 6.1.2: subst0 on right argument *) - IHT; EApply ty0_appl; XEAuto. -(* case 6.1.3: subst0 on both arguments *) - Ty0Correct; Ty0GenBase; Move H after H10; Ty0Correct; IHT; Clear H2; IHT. - EApply ty0_conv; - [ EApply ty0_appl | EApply ty0_appl | EApply pc3_fsubst0 ]; XEAuto. -(* case 6.2: fsubst0_fst *) - IHC; Clear H2; IHC; EApply ty0_appl; XEAuto. -(* case 6.3: fsubst0_both *) - Subst0GenBase; Rewrite H3; Clear H3 c1 c2 t t1 t2 t3. -(* case 6.3.1: subst0 on left argument *) - IHC; Ty0Correct; Ty0GenBase; Clear H2; IHC; IHCT. - EApply ty0_conv; - [ EApply ty0_appl | EApply ty0_appl - | EApply pc3_fsubst0; [ Idtac | Idtac | XEAuto ] ]; XEAuto. -(* case 6.3.2: subst0 on right argument *) - IHCT; Clear H2; IHC; EApply ty0_appl; XEAuto. -(* case 6.3.3: subst0 on both arguments *) - IHC; Ty0Correct; Ty0GenBase; IHCT; Clear H2; IHC; Ty0Correct; IHCT. - EApply ty0_conv; - [ EApply ty0_appl | EApply ty0_appl - | EApply pc3_fsubst0; [ Idtac | Idtac | XEAuto ] ]; XEAuto. -(* case 7: ty0_cast *) - Clear c1 t t1; Intros until 5; XElim H3; Intros; Clear c2 t3. -(* case 7.1: fsubst0_snd *) - Subst0GenBase; Rewrite H3; Clear H3 t4. -(* case 7.1.1: subst0 on left argument *) - IHT; EApply ty0_conv; - [ Idtac - | EApply ty0_cast; - [ EApply ty0_conv; [ Idtac | Idtac | Apply pc3_s; EApply pc3_fsubst0 ] - | Idtac ] - | EApply pc3_fsubst0 ]; XEAuto. -(* case 7.1.2: subst0 on right argument *) - IHT; EApply ty0_cast; XEAuto. -(* case 7.1.3: subst0 on both arguments *) - IHT; Clear H2; IHT. - EApply ty0_conv; - [ Idtac - | EApply ty0_cast; - [ EApply ty0_conv; [ Idtac | Idtac | Apply pc3_s; EApply pc3_fsubst0 ] - | Idtac ] - | EApply pc3_fsubst0 ]; XEAuto. -(* case 7.2: fsubst0_fst *) - IHC; Clear H2; IHC; EApply ty0_cast; XEAuto. -(* case 6.3: fsubst0_both *) - Subst0GenBase; Rewrite H3; Clear H3 t4. -(* case 7.3.1: subst0 on left argument *) - IHC; IHCT; Clear H2; IHC. - EApply ty0_conv; - [ Idtac - | EApply ty0_cast; - [ EApply ty0_conv; [ Idtac | Idtac | Apply pc3_s; EApply pc3_fsubst0; [ Idtac | Idtac | XEAuto ] ] - | Idtac ] - | EApply pc3_fsubst0; [ Idtac | Idtac | XEAuto ] ]; XEAuto. -(* case 7.3.2: subst0 on right argument *) - IHCT; IHC; EApply ty0_cast; XEAuto. -(* case 7.3.3: subst0 on both arguments *) - IHC; IHCT; Clear H2; IHCT. - EApply ty0_conv; - [ Idtac - | EApply ty0_cast; - [ EApply ty0_conv; [ Idtac | Idtac | Apply pc3_s; EApply pc3_fsubst0; [ Idtac | Idtac | XEAuto ] ] - | Idtac ] - | EApply pc3_fsubst0; [ Idtac | Idtac | XEAuto ] ]; XEAuto. - Qed. - - Theorem ty0_csubst0: (g:?; c1:?; t1,t2:?) (ty0 g c1 t1 t2) -> - (e:?; u:?; i:?) (drop i (0) c1 (CTail e (Bind Abbr) u)) -> - (c2:?) (wf0 g c2) -> (csubst0 i u c1 c2) -> - (ty0 g c2 t1 t2). - Intros; EApply ty0_fsubst0; XEAuto. - Qed. - - Theorem ty0_subst0: (g:?; c:?; t1,t:?) (ty0 g c t1 t) -> - (e:?; u:?; i:?) (drop i (0) c (CTail e (Bind Abbr) u)) -> - (t2:?) (subst0 i u t1 t2) -> (ty0 g c t2 t). - Intros; EApply ty0_fsubst0; XEAuto. - Qed. - - End ty0_fsubst0. - - Hints Resolve ty0_subst0 : ltlc. diff --git a/helm/coq-contribs/SUBSETS/.cvsignore b/helm/coq-contribs/SUBSETS/.cvsignore deleted file mode 100644 index 419956872..000000000 --- a/helm/coq-contribs/SUBSETS/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.vo diff --git a/helm/coq-contribs/SUBSETS/.depend b/helm/coq-contribs/SUBSETS/.depend deleted file mode 100644 index 4229b4971..000000000 --- a/helm/coq-contribs/SUBSETS/.depend +++ /dev/null @@ -1,13 +0,0 @@ -Toolbox.vo: Toolbox.v st_base.vo st_logic.vo st_nat.vo st_arith.vo Standard.vo xt_fin.vo tbs_base.vo tbs_rel.vo tbs_op.vo tbs_rop.vo tbs_fun.vo tbs_fin.vo -tbs_fin.vo: tbs_fin.v tbs_fun.vo -tbs_fun.vo: tbs_fun.v tbs_rop.vo -tbs_rop.vo: tbs_rop.v tbs_op.vo -tbs_op.vo: tbs_op.v tbs_rel.vo -tbs_rel.vo: tbs_rel.v tbs_base.vo -tbs_base.vo: tbs_base.v xt_fin.vo -xt_fin.vo: xt_fin.v Standard.vo -Standard.vo: Standard.v st_base.vo st_logic.vo st_nat.vo st_arith.vo -st_arith.vo: st_arith.v st_nat.vo -st_nat.vo: st_nat.v st_logic.vo -st_logic.vo: st_logic.v st_base.vo -st_base.vo: st_base.v diff --git a/helm/coq-contribs/SUBSETS/Make b/helm/coq-contribs/SUBSETS/Make deleted file mode 100644 index 30cb09374..000000000 --- a/helm/coq-contribs/SUBSETS/Make +++ /dev/null @@ -1,14 +0,0 @@ -# List of vernac files to compile -st_base.v -st_logic.v -st_nat.v -st_arith.v -Standard.v -xt_fin.v -tbs_base.v -tbs_rel.v -tbs_op.v -tbs_rop.v -tbs_fun.v -tbs_fin.v -Toolbox.v diff --git a/helm/coq-contribs/SUBSETS/Makefile b/helm/coq-contribs/SUBSETS/Makefile deleted file mode 100644 index 45819834b..000000000 --- a/helm/coq-contribs/SUBSETS/Makefile +++ /dev/null @@ -1,196 +0,0 @@ -############################################################################## -## The Calculus of Inductive Constructions ## -## ## -## Projet Coq ## -## ## -## INRIA ENS-CNRS ## -## Rocquencourt Lyon ## -## ## -## Coq V7 ## -## ## -## ## -############################################################################## - -# WARNING -# -# This Makefile has been automagically generated by coq_makefile -# Edit at your own risks ! -# -# END OF WARNING - -# -# This Makefile was generated by the command line : -# coq_makefile -f Make -o Makefile -# - -########################## -# # -# Variables definitions. # -# # -########################## - -CAMLP4LIB=`camlp4 -where` -COQSRC=-I $(COQTOP)/kernel -I $(COQTOP)/lib \ - -I $(COQTOP)/library -I $(COQTOP)/parsing -I $(COQTOP)/pretyping \ - -I $(COQTOP)/proofs -I $(COQTOP)/syntax -I $(COQTOP)/tactics \ - -I $(COQTOP)/toplevel -I $(CAMLP4LIB) -ZFLAGS=$(OCAMLLIBS) $(COQSRC) -OPT= -COQFLAGS=-q $(OPT) $(COQLIBS) -COQC=$(COQBIN)coqc -GALLINA=gallina -COQWEB=coqweb -CAMLC=ocamlc -c -CAMLOPTC=ocamlopt -c -CAMLLINK=ocamlc -CAMLOPTLINK=ocamlopt -COQDEP=$(COQBIN)coqdep -c -COQVO2XML=coq_vo2xml - -######################### -# # -# Libraries definition. # -# # -######################### - -OCAMLLIBS=-I . -COQLIBS=-I . - -################################### -# # -# Definition of the "all" target. # -# # -################################### - -VFILES=st_base.v\ - st_logic.v\ - st_nat.v\ - st_arith.v\ - Standard.v\ - xt_fin.v\ - tbs_base.v\ - tbs_rel.v\ - tbs_op.v\ - tbs_rop.v\ - tbs_fun.v\ - tbs_fin.v\ - Toolbox.v -VOFILES=$(VFILES:.v=.vo) -VIFILES=$(VFILES:.v=.vi) -GFILES=$(VFILES:.v=.g) -HTMLFILES=$(VFILES:.v=.html) -GHTMLFILES=$(VFILES:.v=.g.html) - -all: st_base.vo\ - st_logic.vo\ - st_nat.vo\ - st_arith.vo\ - Standard.vo\ - xt_fin.vo\ - tbs_base.vo\ - tbs_rel.vo\ - tbs_op.vo\ - tbs_rop.vo\ - tbs_fun.vo\ - tbs_fin.vo\ - Toolbox.vo - -spec: $(VIFILES) - -gallina: $(GFILES) - -html: $(HTMLFILES) - -gallinahtml: $(GHTMLFILES) - -all.ps: $(VFILES) - $(COQWEB) -ps -o $@ `$(COQDEP) -sort -suffix .v $(VFILES)` - -all-gal.ps: $(GFILES) - $(COQWEB) -ps -o $@ `$(COQDEP) -sort -suffix .g $(VFILES)` - -xml:: .xml_time_stamp -.xml_time_stamp: st_base.vo\ - st_logic.vo\ - st_nat.vo\ - st_arith.vo\ - Standard.vo\ - xt_fin.vo\ - tbs_base.vo\ - tbs_rel.vo\ - tbs_op.vo\ - tbs_rop.vo\ - tbs_fun.vo\ - tbs_fin.vo\ - Toolbox.vo - $(COQVO2XML) $(COQFLAGS) $(?:%.o=%) - touch .xml_time_stamp - -#################### -# # -# Special targets. # -# # -#################### - -.PHONY: all opt byte archclean clean install depend xml - -.SUFFIXES: .v .vo .vi .g .html .tex .g.tex .g.html - -.v.vo: - $(COQC) $(COQDEBUG) $(COQFLAGS) $* - -.v.vi: - $(COQC) -i $(COQDEBUG) $(COQFLAGS) $* - -.v.g: - $(GALLINA) $< - -.v.tex: - $(COQWEB) $< -o $@ - -.v.html: - $(COQWEB) -html $< -o $@ - -.g.g.tex: - $(COQWEB) $< -o $@ - -.g.g.html: - $(COQWEB) -html $< -o $@ - -byte: - $(MAKE) all "OPT=" - -opt: - $(MAKE) all "OPT=-opt" - -include .depend - -depend: - rm .depend - $(COQDEP) -i $(COQLIBS) *.v *.ml *.mli >.depend - $(COQDEP) $(COQLIBS) -suffix .html *.v >>.depend - -xml:: - -install: - mkdir -p `$(COQC) -where`/user-contrib - cp -f *.vo `$(COQC) -where`/user-contrib - -Makefile: Make - mv -f Makefile Makefile.bak - $(COQBIN)coq_makefile -f Make -o Makefile - -clean: - rm -f *.cmo *.cmi *.cmx *.o *.vo *.vi *.g *~ - rm -f all.ps all-gal.ps $(HTMLFILES) $(GHTMLFILES) - -archclean: - rm -f *.cmx *.o - -# WARNING -# -# This Makefile has been automagically generated by coq_makefile -# Edit at your own risks ! -# -# END OF WARNING - diff --git a/helm/coq-contribs/SUBSETS/README b/helm/coq-contribs/SUBSETS/README deleted file mode 100644 index caf37357d..000000000 --- a/helm/coq-contribs/SUBSETS/README +++ /dev/null @@ -1,45 +0,0 @@ - - Contribution Padova/SUBSETS - ============================ - -This directory contains a formalization in Coq of the content of this paper -describing a theory of subsets on a intuitionistic a predicative foundation: - -G.Sambin, S.Valentini: -Building up a toolbox for Martin-Lof's type theory: subset theory. -In Proc. of Twenty-five years of constructive type theory, -Oxford U.P. (1998) pp. 221-244. - -Author & Date: Ferruccio Guidi - Department of Computer Science, University of Bologna - March 2005 -E-mail : fguidi@cs.unibo.it -WWW : http://www.cs.unibo.it/~fguidi - -Installation procedure: ------------------------ - - To get this contribution compiled, type - - make - - or - - make opt - - The main modules produced by the compilation are: - - Toolbox provides the theory of subsets and its prerequisites - - Base provides just the prerequisites - -Description: ------------- - -Further information on this contribution: ------------------------------------------ - - The latest version of this development is maintained in the CVS repository - of the HELM project and can be downloaded at: - - www.cs.unibo.it/cgi-bin/viewcvs.cgi/helm/coq-contribs/SUBSETS.tgz diff --git a/helm/coq-contribs/SUBSETS/Standard.v b/helm/coq-contribs/SUBSETS/Standard.v deleted file mode 100644 index 05f03f76e..000000000 --- a/helm/coq-contribs/SUBSETS/Standard.v +++ /dev/null @@ -1,5 +0,0 @@ -Require Export st_base. -Require Export st_logic. -Require Export st_nat. -Require Export st_arith. - diff --git a/helm/coq-contribs/SUBSETS/Toolbox.v b/helm/coq-contribs/SUBSETS/Toolbox.v deleted file mode 100644 index 9217ef93c..000000000 --- a/helm/coq-contribs/SUBSETS/Toolbox.v +++ /dev/null @@ -1,12 +0,0 @@ -Require Export st_base. -Require Export st_logic. -Require Export st_nat. -Require Export st_arith. -Require Export Standard. -Require Export xt_fin. -Require Export tbs_base. -Require Export tbs_rel. -Require Export tbs_op. -Require Export tbs_rop. -Require Export tbs_fun. -Require Export tbs_fin. diff --git a/helm/coq-contribs/SUBSETS/description b/helm/coq-contribs/SUBSETS/description deleted file mode 100644 index ac4d053e9..000000000 --- a/helm/coq-contribs/SUBSETS/description +++ /dev/null @@ -1,13 +0,0 @@ -Name: toolbox -Title: A theory of subsets on an intuitionistic and predicative foundation -Author: Ferruccio Guidi -Email: fguidi@cs.unibo.it -Homepage: http://www.cs.unibo.it/~fguidi -Institution: Department of Computer Science, University of Bologna -Address: Mura Anteo Zamboni 7, 40127 Bologna, ITALY -Date: March 31, 2005 -Description: -Url: -Keywords: subsets, toolbox -Version: 7.3.1 -Require: diff --git a/helm/coq-contribs/SUBSETS/st_arith.v b/helm/coq-contribs/SUBSETS/st_arith.v deleted file mode 100644 index 800c74c48..000000000 --- a/helm/coq-contribs/SUBSETS/st_arith.v +++ /dev/null @@ -1,534 +0,0 @@ -Require Export st_nat. - -Section Arith_Functions. - - Section head_tail_append. - - Variable S:Set. -(* -Definition hd: (List S) -> (List S) := (listrec S [_](List S) (empty ?) [_;_](fr ? (empty ?))). -*) - Definition hde: S -> (List S) -> S := [a](listrec S [_]S a [_;_;a]a). - - Definition tl: (List S) -> (List S) := (listrec S [_](List S) (empty ?) [v;_;_]v). - - Definition app: (List S) -> (List S) -> (List S) := [v](listrec S [_](List S) v [_;p;a](fr S p a)). - - Definition app_three: (List S) -> (List S) -> (List S) -> (List S) := [v,w](app (app v w)). -(* -Definition bs_app: (ListS S) -> N -> (List S) := (bs_iter (List S) (empty S) app). - -Definition rbs_app: (ListS S)->N->(List S) := (rbs_iter (List S) (empty S) app). -*) - Definition LIn: S -> (List S) -> Set := [a;l](LEx (List S) [v](LEx (List S) [w](Id (List S) (app (fr S v a) w) l))). - - End head_tail_append. - - Section slicing. - - Variable S:Set; n:N; v:(List S). - - Definition lskip: N -> (List S) -> (List S) := (natrec [_](List S)->(List S) [w]w [_;p;w](p (tl ? w))). -(* -Definition lfirst: N -> (List S) -> (List S) := (natrec [_](List S)->(List S) [_](empty S) [_;p;w](app ? (p (tl ? w)) (hd ? w))). - -Definition lslice: N -> N -> (List S) -> (List S) := [m;n;v](lfirst n (lskip m v)). - -Definition lix: N -> (List S) -> (List S) := [n;v](hd S (lskip n v)). - -Definition lixe: S -> N -> (List S) -> S := [a;n;v](hde S a (lskip n v)). - -Definition llen: (List S) -> N := (listrec S [_]N zero [_;p;_](succ p)). -*) - End slicing. - - Section arithmetic. - - Definition pred: N -> N := (tl One). - - Definition add: N -> N -> N := (app One). - - Definition add_three: N -> N -> N -> N := (app_three One). -(* -Definition bs_add: NS -> N -> N := (bs_app One). - -Definition rbs_add:NS->N->N := (rbs_app One). -*) - Definition sub: N -> N -> N := [m;n](lskip One n m). -(* -Definition sub_t: N -> N -> N -> N := [m,n](sub (sub m n)). - -Definition absv: N -> N -> N := [m;n](plus (minus m n) (minus n m)). -*) - End arithmetic. - -End Arith_Functions. - -Section Arith_Hints. - - Section arith_fold. -(* -Theorem bs_app_fold: (n:N; S:Set; ls:(ListS S); P:(List S)->Set) (P (bs_app S ls n)) -> (P (bs_iter (List S) (empty S) (app S) ls n)). -Intros. -Assumption. -Qed. -*) - Theorem pred_fold: (n:N; P:N->Set) (P (pred n)) -> (P (tl One n)). - Intros. - Assumption. - Qed. -(* -Theorem add_fold: (m,n:N; P:N->Set) (P (add m n)) -> (P (app One m n)). -Intros. -Apply (id_repl N (app One m n) (add m n)). -Apply id_r. -Assumption. -Qed. - -Theorem bs_add_fold: (n:N; ns:NS; P:N->Set) (P (bs_add ns n)) -> (P (bs_app One ns n)). -Intros. -Assumption. -Qed. -*) - End arith_fold. - -End Arith_Hints. - -Section Arith_Results. - - Section head_tail_results. - - Theorem fr_ini1: (S:Set; a,b:S; v,w:(List S)) (Id (List S) (fr S v a) (fr S w b)) -> (Id (List S) v w). - Intros. - MApply '(id_repl (List S) v (tl S (fr S v a))). - MApply '(id_repl (List S) w (tl S (fr S w b))). - MApply '(id_comp (List S)). - Qed. - - Theorem fr_ini2: (S:Set; v,w:(List S); a,b:S) (Id (List S) (fr S v a) (fr S w b)) -> (Id S a b). - Intros. - MApply '(id_repl S a (hde S a (fr S v a))). - MApply '(id_repl S b (hde S a (fr S w b))). - MApply '(id_comp (List S)). - Qed. -(* -Theorem hd_hde_id: (S:Set; a:S; v:(List S)) (GT (llen S v) zero) -> (Id (List S) (hd S v) (fr S (empty S) (hde S a v))). -Intros S a v. -MElim 'v 'listrec. -MApply '(gt_false zero). -Qed. - -Theorem tl_len: (S:Set; v:(List S)) (Id N (llen S (tl S v)) (pred (llen S v))). -Intros. -MElim 'v 'listrec. -Qed. -*) - Theorem app_empty: (S:Set; v:(List S)) (Id (List S) (app S (empty S) v) v). - Intros. - MElim 'v 'listrec. - MApply '(id_comp (List S) (List S) [v:?](fr S v s)). - Qed. -(* -Theorem app_ass: (S:Set; u,v,w:(List S)) (Id (List S) (app S (app S u v) w) (app S u (app S v w))). -Intros. -MElim 'w 'listrec. -MApply '(id_comp (List S) (List S) [v:?](fr S v y)). -Qed. -*) - Theorem lin_i: (S:Set; v,w,l:(List S); a:S) (Id (List S) (app S (fr S v a) w) l) -> (LIn S a l). - Intros. - Unfold LIn. - MApply '(lex_i (List S) v). - MApply '(lex_i (List S) w). - Qed. - - Theorem lin_e: (S:Set; a:S; l:(List S); P:Set) (LIn S a l) -> ((v,w:(List S)) (Id (List S) (app S (fr S v a) w) l) -> P) -> P. - Intros. - MElim 'H 'lex_e. - MElim 'y 'lex_e. - MApply '(H0 a0 a1). - Qed. - - Theorem lin_fr_i: (S:Set; a,b:S; l:(List S)) (LOr (LIn S a l) (Id S a b)) -> (LIn S a (fr S l b)). - Intros. - MElim 'H '(when (LIn S a l) (Id S a b)). - MApply '(lin_e S a l). - MApply '(id_repl (List S) l (app S (fr S v a) w)). - MApply '(lin_i S v (fr S w b)). - MApply '(id_repl S b a). - MApply '(lin_i S l (empty S)). - Qed. - - End head_tail_results. -(* -Section slicing_results. - -Theorem lskip_empty: (S:Set; n:N) (Id (List S) (lskip S n (empty S)) (empty S)). -Intros. -MElim 'n 'natrec. -Qed. - -Theorem lskip_tl: (S:Set; n:N; v:(List S)) (Id (List S) (lskip S n (tl S v)) (tl S (lskip S n v))). -Intros S n. -MElim 'n 'natrec. -MElim 'v 'listrec. -(MApply '(id_repl ? (lskip S n0 (empty S)) (empty S)); MApply 'id_comm). -MApply 'lskip_empty. -MApply '(H l). -Qed. - -Theorem lixe_empty: (n:N; S:Set; a:S) (Id S (lixe S a n (empty S)) a). -Intros. -MElim 'n 'natrec. -Qed. - -Theorem lixe_app_v: (S:Set; a,b:S; w,v:(List S); n:N) (GT (llen S v) n) -> (Id S (lixe S a n (app S w v)) (lixe S b n v)). -Intros S a b w v. -(Elim v using listrec; MSimpl). -Intros. -MApply '(gt_false n). -Intros l H y n. -MElim 'n 'natrec. -(Unfold lixe; Simpl). -Fold (lixe S a n0 (app S w l)) (lixe S b n0 l). (**) -MApply '(H n0). -Qed. - -Theorem lixe_le: (S:Set; a:S; v:(List S); n:N) (LE (llen S v) n) -> (Id S (lixe S a n v) a). -Intros S a v. -(Elim v using listrec; Simpl). -Intros n. -MElim 'n 'natrec. -MApply 'lixe_empty. -Intros l H y n. -MElim 'n 'natrec. -MApply '(le_false (succ (llen S l))). -(Unfold lixe; Simpl). -Fold (lixe S a n0 l). (**) -MApply '(H n0). -Qed. - -Theorem lslice_lix: (S:Set; k:N; v:(List S)) (Id (List S) (lslice S k one v) (lix S k v)). -Intros. -Unfold lslice lfirst. -MSimpl. -MApply 'app_empty. -Qed. - -End slicing_results. -*) - Section arithmetics_results. - - Theorem succ_ini: (m,n:N) (Id N (succ m) (succ n)) -> (Id N m n). - Intros. - MApply '(fr_ini1 One tt tt). - Qed. - - Theorem sub_succ: (m,n:N) (LE m n) -> - (Id N (sub (succ n) m) (succ (sub n m))). - Intros m. - Elim m using natrec. - Intros. - MSimpl. - Intros m' H n. - MElim 'n 'natrec. - MApply '(le_false m'). - MApply '(H n0). - Qed. -(* -Theorem succ_pred: (n:N) (GT n zero) -> (Id N (succ (pred n)) n). -Intros n. -MElim 'n 'natrec. -MApply '(gt_false zero). -Qed. -*) - Theorem add_zero: (n:N) (Id N (add zero n) n). - Intros. - Unfold N add zero. - MApply 'app_empty. - Qed. -(* -Theorem add_ass: (l,m,n:N) (Id N (add (add l m) n) (add l (add m n))). -Intros. -Unfold N add. -MApply 'app_ass. -Qed. -*) - Theorem add_succ: (m,n:N) (Id N (add (succ m) n) (succ (add m n))). - Intros. - (MElim 'n 'natrec; Apply succ_fold). (**) - MApply '(id_comp N). - Qed. - - Theorem add_comm: (m,n:N) (Id N (add m n) (add n m)). - Intros m. - MElim 'm 'natrec. - MApply 'add_zero. - MApply '(id_trans ? (succ (add n n0))). - MApply 'add_succ. - Apply succ_fold. (**) - MApply '(id_comp N). - MApply '(H n0). - Qed. -(* -Theorem add_pred: (n,m:N) (GT n zero) -> (Id N (succ (add (pred n) m)) (add n m)). -Intros n m. -MElim 'm 'natrec. -MApply 'succ_pred. -(Apply succ_fold; Apply succ_fold). (**) -MApply '(id_comp N). -MApply 'H. -Qed. -*) - Theorem le_comp_pred: (m,n:N) (LE m n) -> (LE (pred m) (pred n)). - Intros m. - Elim m using natrec. - Intros. - MApply 'le_wf. - Intros m' H n. - MElim 'n 'natrec. - MApply '(le_false m'). - Qed. - - Theorem le_add: (m,n:N) (LE m (add m n)). - Intros. - MElim 'n 'natrec. - MApply 'le_r. - MApply '(le_trans (add m n0)). - Apply succ_fold. (**) - MApply 'le_succ. - Qed. - - Theorem le_comp_add: (m1,m2,n:N) (LE m1 m2) -> (LE (add m1 n) (add m2 n)). - Intros m1 m2 n. - MElim 'n 'natrec. - (Apply succ_fold; Apply succ_fold). (**) - MApply 'le_comp_succ. - MApply 'H. - Qed. - - Theorem le_comp_add2: (m,n1,n2:N) (LE n1 n2) -> (LE (add m n1) (add m n2)). - Intros. - MApply '(id_repl N (add m n1) (add n1 m)). - MApply 'add_comm. - MApply '(id_repl N (add m n2) (add n2 m)). - MApply 'add_comm. - MApply 'le_comp_add. - Qed. - - Theorem gt_comp_add2: (m,n1,n2:N) (GT n1 n2) -> (GT (add m n1) (add m n2)). - Intros. - MApply 'le_gt. - MApply '(id_repl N (succ (add m n2)) (add m (succ n2))). - MApply 'le_comp_add2. - MApply 'gt_le. - Qed. - - Theorem le_comp_sub: (n,m1,m2:N) (LE m1 m2) -> (LE (sub m1 n) (sub m2 n)). - Intros n. - MElim 'n 'natrec. - MApply '(H (pred m1) (pred m2)). - MApply 'le_comp_pred. - Qed. - - Theorem gt_comp_sub: (m1,m2,n:N) (LE n m2) -> (GT m1 m2) -> (GT (sub m1 n) (sub m2 n)). - Intros. - MApply 'le_gt. - MApply '(id_repl N (succ (sub m2 n)) (sub (succ m2) n)). - MApply 'sub_succ. - MApply 'le_comp_sub. - MApply gt_le. - Qed. -(* -Theorem le_zero_add: (m,n:N) (LE (add n m) zero) -> (Id N n zero). -Intros. -MApply 'le_zero. -MApply '(le_trans (add n m)). -MApply 'le_add. -Qed. - -Theorem sub_pred_l: (n,m:N) (Id N (sub (pred m) n) (pred (sub m n))). -Intros. -Unfold N sub pred. -MApply 'lskip_tl. -Qed. -*) - Theorem sub_zero: (n,m:N) (LE m n) -> (Id N (sub m n) zero). - Intros n. - Elim n using natrec. - Intros. - MSimpl. - MApply 'le_zero. - Intros n' H m. - Elim m using natrec. - Intros. - MSimpl. - MApply '(H zero). - Intros m' H1 H2. - MSimpl. - MApply '(H m'). - Qed. - - Theorem succ_pred_e: (m,n:N) (Id N m (succ n)) -> (Id N (pred m) n). - Intros m. - Elim m using natrec. - Intros. - MApply '(n_false n). - Intros m' H n H2. - MSimpl. - MApply 'succ_ini. - Qed. - - Theorem add_sub_e: (n,m2,m1:N) (Id N m1 (add m2 n)) -> (Id N (sub m1 m2) n). - Intros n. - Elim n using natrec. - MSimpl. - Intros. - MApply 'sub_zero. - MApply '(id_repl N m2 m1). - MApply 'le_r. - Intros n' H m2. - Elim m2 using natrec. - Intros. - MSimpl. - MApply '(id_repl N (succ n') (add zero (succ n'))). - MApply 'add_zero. - Intros m2' H1 m1 H2. - MSimpl. - MApply 'pred_fold. (**) - MApply '(H1 (pred m1)). - Simpl in H2. - Fold (succ (add (succ m2') n')) in H2. (**) - MApply '(id_repl N (add m2' (succ n')) (add (succ m2') n')). - MApply '(add_succ m2' n'). - MApply 'succ_pred_e. - Qed. - - Theorem sub_add: (m,n:N) (Id N (sub (add m n) n) m). - Intros. - MApply 'add_sub_e. - MApply 'add_comm. - Qed. - - Theorem gt_add_di: (a,m,n:N) (GT (add m n) a) -> - (LOr (GT m a) (GT n (sub a m))). - Intros. - MApply '(lor_e (LE m a) (GT m a)). - MCut '(GT n (sub a m)). - MApply '(id_repl N n (sub (add n m) m)). - MApply 'sub_add. - MApply 'gt_comp_sub. - MApply '(id_repl N (add n m) (add m n)). - MApply 'add_comm. - MApply 'in_r. - MApply 'in_l. - MApply 'le_di. - Qed. -(* -Theorem app_llen: (S:Set; w,v:(List S)) (Id N (llen S (app S w v)) (add (llen S w) (llen S v))). -Intros. -MElim 'v 'listrec. -Apply succ_fold. (**) -MApply '(id_comp N). -Qed. - -Theorem bsapp_llen: (S:Set; vs:N->(List S); n:N) (Id N (llen S (bs_app S vs n)) (bs_add [n](llen S (vs n)) n)). -Intros. -MElim 'n 'natrec. -MApply '(id_repl ? (bs_add [n:N](llen S (vs n)) n0) (llen S (bs_app S vs n0))). -MApply 'app_llen. -Qed. - -Theorem rbsapp_llen: (S:Set; vs:N->(List S); n:N) (Id N (llen S (rbs_app S vs n)) (rbs_add [n](llen S (vs n)) n)). -Intros. -Unfold rbs_add rbs_app rbs_iter. -Apply bs_app_fold. -Apply bs_app_fold. -Apply bs_add_fold. (**) -MApply 'bsapp_llen. -Qed. - -Theorem lskip_llen: (S:Set; v:(List S); n:N) (Id N (llen S (lskip S n v)) (sub (llen S v) n)). -Intros. -MElim 'n 'natrec. -Fold (pred (llen S v)). (**) -MApply '(id_trans ? (pred (llen S (lskip S n0 v)))). -MApply '(id_repl ? (lskip S n0 (tl S v)) (tl S (lskip S n0 v))). -(MApply 'id_comm; MApply 'lskip_tl). -MApply 'tl_len. -MApply '(id_trans ? (pred (sub (llen S v) n0))). -MApply '(id_comp N). -(MApply 'id_comm; MApply 'sub_pred_l). -Qed. - -Theorem lskip_le: (S:Set; v:(List S); n:N) (LE (llen S v) n) -> (Id N (llen S (lskip S n v)) zero). -Intros. -MApply '(id_trans ? (sub (llen S v) n)). -MApply 'lskip_llen. -MApply 'sub_zero. -Qed. - -Theorem lslice_succ_r: (S:Set; v:(List S); k,n:N) (Id (List S) (lslice S k (succ n) v) (app S (lslice S (succ k) n v) (lix S k v))). -Intros. -(Unfold lslice lix; MSimpl). -MApply '(id_repl ? (tl S (lskip S k v)) (lskip S k (tl S v))). -MApply 'lskip_tl. -Qed. - -Theorem lslice_succ_l: (S:Set; v:(List S); n,k:N) (Id (List S) (lslice S k (succ n) v) (app S (lix S (add k n) v) (lslice S k n v))). -Intros S v n. -MElim 'n 'natrec. -MApply 'lslice_lix. -MApply '(id_repl ? (succ (add k n0)) (add (succ k) n0)). -MApply 'add_succ. -MApply '(id_repl ? (lslice S k (succ n0) v) (app S (lslice S (succ k) n0 v) (lix S k v))). -(MApply 'id_comm; MApply 'lslice_succ_r). -MApply '(id_repl ? (lslice S k (succ (succ n0)) v) (app S (lslice S (succ k) (succ n0) v) (lix S k v))). -(MApply 'id_comm; MApply 'lslice_succ_r). -MApply '(id_trans (List S) (app S (app S (lix S (add (succ k) n0) v) (lslice S (succ k) n0 v)) (lix S k v))). -MApply '(id_comp (List S) (List S) [u:?](app S u (lix S k v))). -MApply '(H (succ k)). -Apply succ_fold. (**) -MApply '(id_repl N (succ (add k n0)) (add (succ k) n0)). -MApply 'add_succ. -MApply 'app_ass. -Qed. - -Theorem lslice_add: (S:Set; v:(List S); k,m,n:N) (Id (List S) (lslice S k (add m n) v) (app S (lslice S (add k m) n v) (lslice S k m v))). -Intros. -MElim 'n 'natrec. -MApply '(id_repl ? (lslice S (add k m) zero v) (empty S)). -(MApply 'id_comm; MApply 'app_empty). -MApply '(id_trans ? (app S (lix S (add k (add m n0)) v) (lslice S k (add m n0) v))). -Apply succ_fold. (**) -MApply 'lslice_succ_l. -MApply '(id_repl ? (lslice S (add k m) (succ n0) v) (app S (lix S (add (add k m) n0) v) (lslice S (add k m) n0 v))). -(MApply 'id_comm; MApply 'lslice_succ_l). -MApply '(id_trans ? (app S (lix S (add (add k m) n0) v) (app S (lslice S (add k m) n0 v) (lslice S k m v)))). -MApply '(id_repl ? (add k (add m n0)) (add (add k m) n0)). -MApply 'add_ass. -MApply '(id_comp (List S) (List S) [w](app S (lix S (add (add k m) n0) v) w)). -(MApply 'id_comm; MApply 'app_ass). -Qed. - -Theorem lslice_bsadd: (S:Set; v:(List S); k:N; ms:NS; n:N) (Id (List S) (lslice S k (bs_add ms n) v) (bs_app S [m](lslice S (add k (bs_add ms m)) (ms m) v) n)). -Intros. -(MElim 'n 'natrec; Fold (add (ms n0) (bs_add ms n0))). -MApply '(id_repl ? (bs_app S [m:N](lslice S (add k (bs_add ms m)) (ms m) v) n0) (lslice S k (bs_add ms n0) v)). -MApply '(id_repl ? (add (ms n0) (bs_add ms n0)) (add (bs_add ms n0) (ms n0))). -MApply 'add_comm. -MApply 'lslice_add. -Qed. - -Theorem lslice_rbsadd: (S:Set; v:(List S); k:N; ms:NS; n:N) (Id (List S) (lslice S k (rbs_add ms n) v) (rbs_app S [m](lslice S (add k (bs_add ms m)) (ms m) v) n)). -Intros. -Unfold rbs_add rbs_app rbs_iter. -Apply bs_app_fold. -Apply bs_app_fold. -Apply bs_add_fold. (**) -MApply 'lslice_bsadd. -Qed. -*) -End arithmetics_results. - -End Arith_Results. diff --git a/helm/coq-contribs/SUBSETS/st_base.v b/helm/coq-contribs/SUBSETS/st_base.v deleted file mode 100644 index 79b250724..000000000 --- a/helm/coq-contribs/SUBSETS/st_base.v +++ /dev/null @@ -1,185 +0,0 @@ -Section Base_Definitions. - - Section inductive_sets. - - Inductive Set Empty := . - - Inductive Set List [S:Set] := empty: (List S) | fr: (List S) -> S -> (List S). - - Inductive Id [S:Set; a:S]: S -> Set := id_r: (Id S a a). - - Inductive Set Pi [S:Set; P:S->Set] := abst: ((a:S) (P a)) -> (Pi S P). - - Inductive Set Sigma [S:Set; P:S->Set] := pair: (a:S) (P a) -> (Sigma S P). - - Inductive Set Plus [S,T:Set] := in_l : S -> (Plus S T) | in_r : T -> (Plus S T). -(* -Inductive SId [A:Set] : Set -> Set := sid_r: (SId A A). -*) - End inductive_sets. - - Section eliminators. - - Definition efq := Empty_rec. - - Definition listrec := List_rec. - - Definition idrec := Id_rec. - - Definition fsplit := Pi_rec. - - Definition psplit := Sigma_rec. - - Definition when := Plus_rec. - - Definition EmptyFam := Empty_rect. - - Definition ListFam := List_rect. - - Definition IdFam := Id_rect. - - Definition PiFam := Pi_rect. - - Definition SigmaFam := Sigma_rect. - - Definition PlusFam := Plus_rect. - - Definition ap: (S:Set; P:S->Set) (Pi S P) -> (a:S) (P a). - Intros. - Elim H. - Intros. - Apply (p a). - Defined. - - Definition sp: (S:Set; P:S->Set) (Sigma S P) -> S. - Intros. - Elim H. - Intros. - Assumption. - Defined. - - Definition sq: (S:Set; P:S->Set; p:(Sigma S P)) (P (sp S P p)). - Intros. - Elim p. - Intros. - Unfold sp. - Simpl. - Assumption. - Defined. - - End eliminators. - - Section functions. - - Definition id: (S:Set) S -> S. - Intros. - Assumption. - Defined. - - Definition comp: (R,S,T:Set) (R -> S) -> (S -> T) -> (R -> T). - Intros. - Apply H0. - Apply H. - Assumption. - Defined. - - End functions. - -End Base_Definitions. - -Section Base_Results. - - Section general_results. - - Theorem mcut: (S,T:Set) S -> (S -> T) -> T. - Intros. - Apply H0. - Assumption. - Qed. - - End general_results. - - Section ID_results. - - Theorem id_repl: (S:Set; a,b:S; P:S->Set) (Id ? b a) -> (P b) -> (P a). - Intros. - Elim H. - Assumption. - Qed. - - Theorem id_comm: (S:Set; a,b:S) (Id ? b a) -> (Id ? a b). - Intros. - Apply (id_repl S a b). - Assumption. - Apply id_r. - Qed. - - Theorem id_trans: (S:Set; c,a,b:S) (Id S a c) -> (Id S c b) -> (Id S a b). - Intros. - Apply (id_repl S b c). - Assumption. - Assumption. - Qed. - - Theorem id_comp: (S,T:Set; f:S->T; a,b:S) (Id S a b) -> (Id T (f a) (f b)). - Intros. - Apply (id_repl ? b a). - Assumption. - Apply id_r. - Qed. - - Axiom id_ext: (S,T:Set; f,g:S->T) ((a:S) (Id T (f a) (g a))) -> (Id S->T f g). - - End ID_results. -(* -Section SID_results. - -Theorem sid_repl: (A,B:Set; P:Set->Set) (SId B A) -> (P B) -> (P A). -Intros. -Elim H. -Assumption. -Qed. - -Theorem sid_comp: (P:Set->Set; A,B:Set) (SId A B) -> (SId (P A) (P B)). -Intros. -Apply (sid_repl B A). -Assumption. -Apply sid_r. -Qed. - -Axiom sid_ext: (S:Set; P:(S->Set)->Set; Q,R:S->Set) ((a:S) (SId (Q a) (R a))) -> (SId (P Q) (P R)). - -End SID_results. -*) - Section indipendence. - - Axiom list_p4: (S:Set; l:(List S); a:S) (Id (List S) (empty S) (fr S l a)) -> Empty. - - Axiom plus_p4: (S:Set; a:S; T:Set; b:T) (Id (Plus S T) (in_l S T a) (in_r S T b)) -> Empty. -(* -Axiom id_ctt: (S:Set) (P:(a:S)(Id S a a) -> Set) ((a:S) (P a (id_r S a))) -> (a:S; p:(Id S a a)) (P a p). -*) - End indipendence. - -End Base_Results. - -Tactic Definition MTrivial := Try Apply id_r; (* Try Apply sid_r; *) -(*|*) Try Assumption; Try Apply id_comm; - Try Assumption; Try Apply id_comm. - -Tactic Definition MFold := Idtac. - -Tactic Definition MRed := Idtac. - -Tactic Definition MAuto := MTrivial; MFold; MRed. - -Tactic Definition MSimpl := Simpl; MAuto. - -Tactic Definition MElim v e := Pattern v; Elim v using e; Simpl; - Intros; MAuto. - -Tactic Definition MApply t := Apply t; Intros; MTrivial. - -Tactic Definition MCut t := MApply '(mcut t). - -Tactic Definition UnIntros T t := Apply (mcut T); Try Assumption; Clear t. diff --git a/helm/coq-contribs/SUBSETS/st_logic.v b/helm/coq-contribs/SUBSETS/st_logic.v deleted file mode 100644 index 0455d3877..000000000 --- a/helm/coq-contribs/SUBSETS/st_logic.v +++ /dev/null @@ -1,253 +0,0 @@ -Require Export st_base. - -Section Logic_Sets. - - Section logic_aliases. -(* -Definition All := Pi. -*) - Definition LEx := Sigma. - - Definition LBot := Empty. - - Definition LOr := Plus. - - Definition LImp: Set -> Set -> Set := [S,T](Pi S [_:S]T). - - Definition LAnd: Set -> Set -> Set := [S,T](Sigma S [_:S]T). - - Definition LNot: Set -> Set := [S](LImp S LBot). - - Definition LTop: Set := (LNot LBot). - - Definition LIff: Set -> Set -> Set := [S,T](LAnd (LImp S T) (LImp T S)). - - Definition limp_i: (S,T:Set) (S -> T) -> (LImp S T). - Intros. - MApply '(abst S [_]T H). - Defined. - - Definition limp_e: (S,T:Set) (LImp S T) -> (S->T). - Intros. - MApply '(ap S [_:S]T H H0). - Defined. - - Definition land_i: (S,T:Set) S -> T -> (LAnd S T). - Intros. - MApply '(pair S [_:S]T H H0). - Defined. - - Definition land_e2: (T,S:Set) (LAnd S T) -> S. - Intros. - MElim H psplit. - Defined. - - Definition land_e1: (S,T:Set) (LAnd S T) -> T. - Intros. - MElim H psplit. - Defined. -(* -Definition all_e: (S:Set; a:S; P:S->Set) (All S P) -> (P a) := [S;a;P,f](ap S P f a). -*) - Definition lex_i: (S:Set; a:S; P:S->Set) (P a) -> (LEx S P). - Intros. - MApply '(pair S P a H). - Defined. - - Definition lex_e: (S:Set; P:S->Set; P0:(LEx S P)->Set) ((a:S; y:(P a)) (P0 (lex_i S a P y))) -> (s:(LEx S P)) (P0 s). - Intros. - MElim s psplit. - MApply '(H a p). - Defined. - - End logic_aliases. - - Section unit. - - Definition One: Set := (List Empty). - - Definition tt: One := (empty Empty). - - Definition onerec: (P:One->Set) (P tt) -> (u:One) (P u). - Intros. - MElim 'u 'listrec. - MElim 's 'efq. - Defined. - - Definition OneFam: (P:One->Type) (P tt) -> (u:One) (P u). - Intros. - MElim 'u 'ListFam. - MElim 's 'EmptyFam. - Defined. - - End unit. - - Section booleans. - - Definition Boole: Set := (Plus One One). - - Definition false: Boole := (in_l One One tt). - - Definition true: Boole := (in_r One One tt). - - Definition ite: (P:Boole->Set) (P false) -> (P true) -> (b:Boole) (P b). - Intros. - MElim 'b 'when. - MElim 's 'onerec. - MElim 't 'onerec. - Defined. - - Definition BooleFam: (P:Boole->Type) - (P false) -> (P true) -> (b:Boole) (P b). - Intros. - MElim 'b 'PlusFam. - MElim 's 'OneFam. - MElim 't 'OneFam. - Defined. -(* -Definition BF: Set -> Set -> Boole -> Set := (BooleFam [_]Set). - -Definition Two: Set := Boole. -*) - End booleans. - -End Logic_Sets. - -Section Logic_Hints. -(* -Section logic_fold. - -Theorem Top_fold: (P:Set->Set) (P Top) -> (P (Imp Bot Bot)). -Intros. -Apply (sid_repl (Imp Bot Bot) Top). -Apply sid_r. -Assumption. -Qed. - -End logic_fold. -*) - Section logic_red. - - Theorem LTop_red: LTop. - Unfold LTop LNot. - Apply limp_i. - Intros. - Assumption. - Qed. -(* -Theorem Top_And_red: (A:Set) A -> (And Top A). -Intros. -Apply and_i. -Apply Top_red. -Assumption. -Qed. -*) - End logic_red. - -End Logic_Hints. - -Section Logic_Results. - - Section boole_indipendence. - - Axiom lor_p4: (A,B:Set; a:A; b:B) - (Id (LOr A B) (in_l A B a) (in_r A B b)) -> Empty. - - Axiom boole_p4: (Id Boole false true) -> Empty. (**) - - End boole_indipendence. - - Section logic_results. - - Theorem lor_e: (A,B,C:Set) (A -> C) -> (B -> C) -> (LOr A B) -> C. - Intros. - MApply '(when A B [_:?]C). - MApply '(H s). - MApply '(H0 t). - Qed. - - Theorem lnot_i: (S:Set) (S -> LBot) -> (LNot S). - Intros. - Unfold LNot. - MApply 'limp_i. - MApply 'H. - Qed. - - Theorem lnot_e: (S:Set) (LNot S) -> S -> LBot. - Unfold LNot. - Intros. - MApply '(limp_e S). - Qed. - - Theorem liff_i: (A,B:Set) (A -> B) -> (B -> A) -> (LIff A B). - Intros. - Unfold LIff. - (MApply land_i; MApply limp_i). - MApply H. - MApply H0. - Qed. - - Theorem liff_e1: (A,B:Set) A -> (LIff A B) -> B. - Unfold LIff. - Intros. - MApply '(limp_e A). - MApply '(land_e2 (LImp B A)). - Qed. - - Theorem liff_e2: (B,A:Set) B -> (LIff A B) -> A. - Unfold LIff. - Intros. - MApply '(limp_e B). - MApply '(land_e1 (LImp A B)). - Qed. -(* -Theorem iff_trans: (C,A,B:Set) (Iff A C) -> (Iff C B) -> (Iff A B). -Intros. -MApply iff_i. -MApply (iff_e1 C). -MApply (iff_e1 A). -MApply (iff_e2 C). -MApply (iff_e2 B). -Qed. - -Theorem iff_sym: (A,B:Set) (Iff B A) -> (Iff A B). -Intros. -MApply iff_i. -MApply (iff_e2 A). -MApply (iff_e1 B). -Qed. -*) - Theorem lnot_liff_lbot: (A:Set) (LIff A (LNot A)) -> LBot. - Intros. - MApply '(lnot_e (LNot A)). - MApply 'lnot_i. - MApply '(lnot_e A). - MApply '(liff_e2 (LNot A)). - MApply 'lnot_i. - MApply '(lnot_e A). - MApply '(liff_e1 A). - Qed. -(* -Theorem imp_r: (A:Set) (Imp A A). -Intros. -MApply imp_i. -Qed. - -Theorem imp_trans: (C,A,B:Set) (Imp A C) -> (Imp C B) -> (Imp A B). -Intros. -MApply imp_i. -MApply (imp_e C). -MApply (imp_e A). -Qed. - -Theorem all_sigma_l: (S:Set; T:S->Set; P:(Sigma S T)->Set) ((a:S; b:(T a)) (P (pair S T a b))) -> (p:(Sigma S T)) (P p). -Intros. -MElim p psplit. -Apply (H a y). -Qed. -*) - End logic_results. - -End Logic_Results. - - diff --git a/helm/coq-contribs/SUBSETS/st_nat.v b/helm/coq-contribs/SUBSETS/st_nat.v deleted file mode 100644 index 23081f9ff..000000000 --- a/helm/coq-contribs/SUBSETS/st_nat.v +++ /dev/null @@ -1,264 +0,0 @@ -Require Export st_logic. - -Section Nat_Sets. - - Section natural_numbers. - - Definition N: Set := (List One). - - Definition zero: N := (empty One). - - Definition succ: N -> N := [n](fr One n tt). - - Definition natrec: (P:N->Set) (P zero) -> - ((n:N) (P n) -> (P (succ n))) -> (n:N)(P n). - Intros. - MElim 'n 'listrec. - MElim 's 'onerec. - MApply '(H0 l). - Defined. - - Definition NatFam: (P:N->Type) (P zero) -> - ((n:N) (P n) -> (P (succ n))) -> (n:N)(P n). - Intros. - MElim 'n 'ListFam. - MElim 's 'OneFam. - MApply '(X0 l). - Defined. - - Definition one: N := (succ zero). -(* -Definition two:N := (succ one). -*) - End natural_numbers. -(* -Section sequences. - -Definition ListS := [S:Set](N -> (List S)). - -Definition BooleS: Set := N -> Boole. - -Definition NS := N -> N. - -Definition trues:BooleS := [_]true. - -End sequences. -*) -End Nat_Sets. - -Section Nat_Functions. -(* -Section bounded_iteration. - -Variable S:Set; e:S; f:S->S->S. - -Definition bs_iter: (N -> S) -> N -> S := [s](natrec [_]S e [m](f (s m))). - -Definition rbs_iter: (N -> S) -> N -> S := [s;n](bs_iter s (succ n)). - -End bounded_iteration. - -Section nat_boolean_eq. - -Variable S:Set. - -Definition n_id: N -> N -> Boole := (natrec [_]N->Boole (natrec [_]Boole true [_;_]false) - [_;pm'](natrec [_]Boole false [n';_](pm' n'))). - -Definition ifeq: N -> N -> S -> S -> S := [m,n;a;b](ite [_]S b a (n_id m n)). - -Definition ifz: N -> S -> S -> S := [n;a;b](natrec [_]S a [_;_]b n). - -End nat_boolean_eq. -*) - Section less_equal. - - Definition b_le: N -> N -> Boole := (natrec [_]N->Boole [n]true [m';p](natrec [_]Boole false [n';_](p n'))). - - Definition LE: N -> N -> Set := [m,n](Id Boole (b_le m n) true). - - Definition GT: N -> N -> Set := [m,n](Id Boole (b_le m n) false). - - End less_equal. - -End Nat_Functions. - -Section Nat_Hints. - - Section nat_fold. - - Theorem succ_fold: (n:N; P:N->Set) (P (succ n)) -> (P (fr One n tt)). - Intros. - Assumption. - Qed. -(* -Theorem LE_fold: (m,n:N; P:Set->Set) (P (LE m n)) -> (P (Id Boole (b_le m n) true)). -Intros. -Assumption. -Qed. -*) - End nat_fold. - -End Nat_Hints. - -Section Nat_Results. - - Section nat_indipendence. - - Theorem n_p4: (n:N) (Id N zero (succ n)) -> Empty. - Intros. - MApply '(list_p4 One n tt). - Qed. - - Theorem n_false: (n:N; P:Set) (Id N zero (succ n)) -> P. - Intros. - MCut 'Empty. - MApply '(n_p4 n). - MElim 'H0 'efq. - Qed. - - End nat_indipendence. - - Section b_le_results. - - Theorem le_wf: (n:N) (LE zero n). - Intros. - Unfold LE. - MApply 'id_r. - Qed. - - Theorem le_comp_succ: (m,n:N) (LE m n) -> (LE (succ m) (succ n)). - Intros. - Assumption. - Qed. -(* -Theorem le_ssucc: (m,n:N) (LE (succ m) (succ n)) -> (LE m n). -Intros. -Assumption. -Qed. -*) - Theorem le_false: (n:N; P:Set) (LE (succ n) zero) -> P. - Intros n P. - Unfold LE. - MSimpl. - Intros. - MCut 'Empty. - MApply 'boole_p4. - MElim 'H0 'efq. - Qed. - - Theorem le_r: (n:N) (LE n n). - Intros. - MElim 'n 'natrec. - MApply 'le_wf. - Qed. - - Theorem le_succ: (n:N) (LE n (succ n)). - Intros. - MElim 'n 'natrec. - MApply 'le_wf. - Qed. - - Theorem le_zero: (n:N) (LE n zero) -> (Id N n zero). - Intros n. - MElim 'n 'natrec. - MApply '(le_false n0). - Qed. - - Theorem le_trans: (b,c,a:N) (LE a b) -> (LE b c) -> (LE a c). - Intros b. - Elim b using natrec. - Intros c a. - MElim 'a 'natrec. - MApply '(le_false n). - Intros b' H c. - Elim c using natrec. - Intros. - MApply '(le_false b'). - Intros c' H' a. - MElim 'a 'natrec. - MApply 'le_comp_succ. - MCut '(LE n b'). - MCut '(LE b' c'). - MApply '(H c' n). - Qed. - - Theorem gt_wf: (n:N) (GT (succ n) zero). - Intros. - Unfold GT. - MApply 'id_r. - Qed. - - Theorem gt_comp_succ: (m,n:N) (GT m n) -> (GT (succ m) (succ n)). - Intros. - Assumption. - Qed. - - Theorem gt_false: (n:N; P:Set) (GT zero n) -> P. - Intros n P. - Unfold GT. - MSimpl. - Intros. - MCut 'Empty. - MApply 'boole_p4. - MElim 'H0 'efq. - Qed. - - Theorem le_gt: (m,n:N) (LE (succ n) m) -> (GT m n). - Intros m. - Elim m using natrec. - Intros. - MApply '(le_false n). - Intros m' H n. - Elim n using natrec. - Intros. - MApply 'gt_wf. - Intros n' H1 H2. - MApply 'gt_comp_succ. - MApply '(H n'). - Qed. - - Theorem gt_le: (m,n:N) (GT m n) -> (LE (succ n) m). - Intros m. - Elim m using natrec. - Intros. - MApply '(gt_false n). - Intros m' H n. - MElim 'n natrec. - MApply 'le_comp_succ. - MApply 'le_wf. - MApply 'le_comp_succ. - MApply '(H n0). - Qed. - - Theorem le_gt_trans: (b,c,a:N) (LE b a) -> (GT b c) -> (GT a c). - Intros. - MApply 'le_gt. - MApply '(le_trans b). - MApply 'gt_le. - Qed. - - Theorem boole_di: (b:Boole) (LOr (Id Boole b true) (Id Boole b false)). - Intros. - MElim 'b 'ite. - MApply 'in_r. - MApply 'in_l. - Qed. - - Theorem le_di: (m,n:N) (LOr (LE m n) (GT m n)). - Intros. - Unfold LE GT. - MApply '(boole_di (b_le m n)). - Qed. -(* -Theorem ble_trip: (m,n:N; P:N->Set) ((n:N) (LE n m) -> (P n)) -> ((n:N) (GT n m) -> (P n)) -> (P n). -Intros. -MApply '(or_e (LE n m) (GT n m)). -MApply '(H n). -MApply '(H0 n). -MApply 'ble_tri. -Qed. -*) - End b_le_results. - -End Nat_Results. diff --git a/helm/coq-contribs/SUBSETS/tbs_base.v b/helm/coq-contribs/SUBSETS/tbs_base.v deleted file mode 100644 index 88e083b33..000000000 --- a/helm/coq-contribs/SUBSETS/tbs_base.v +++ /dev/null @@ -1,195 +0,0 @@ -(** This module (Toolbox - subsets: basics) defines: - - subset membership: [Eps] (epsilon) - - empty subset: [SBot] (subset bottom) - - full subset: [STop] (subset top) - - singleton: [Sing] (singleton) - - relative universal quantifier: [RAll] (relative all) - - relative existential quantifier: [REx] (relative exists) - - and provides: - - introduction and elimination rules for the defined constants - - epsilon conditions: [eps_1], [eps_2] - - alternative form of epsilon with sigma: [eps2] - -% \hrule % - - We require the support for finite sets and finite domain functions ([xt_fin]) - that includes the basic type theory (the [st] package). - - *) -Require Export xt_fin. - -Section Subset_Definitions. - - Section subset_membership. - -(** Epsilon: [(Eps S a U)] corresponds to $ a \e_S U $. *) - Definition Eps: (S:Set) S -> (S -> Set) -> Set. - Intros S a U. - Exact (LAnd (U a) (Id S a a)). - Defined. - - End subset_membership. - - Section subset_constants. - -(** Subset bottom: [(SBot S)] corresponds to $ \sbot_S $. *) - Definition SBot: (S:Set) S -> Set. - Intros. - Exact LBot. - Defined. - -(** Subset top: [(STop S)] corresponds to $ \stop_S $, %{\ie}% to $S$ as a subset of itself. *) - Definition STop: (S:Set) S -> Set. - Intros. - Exact LTop. - Defined. - -(** Singleton: [(Sing S a)] corresponds to $ \subset{a} $. *) - Definition Sing: (S:Set) S -> (S -> Set). - Intros S a b. - Exact (Id S a b). - Defined. - - End subset_constants. - - Section relative_quantification. - -(** Relative all: [(RAll S U P)] corresponds to $ (\lall x \e U) P(x) $. *) - Definition RAll: (S:Set) (S -> Set) -> (S -> Set) -> Set. - Intros S U P. - Exact (a:S) (Eps S a U) -> (P a). - Defined. - -(** Relative exists: [(REx S U P)] corresponds to $ (\lex x \e U) P(x) $. *) - Definition REx: (S:Set) (S -> Set) -> (S -> Set) -> Set. - Intros S U P. - Exact (LEx S [a](LAnd (Eps S a U) (P a))). - Defined. - - End relative_quantification. - -End Subset_Definitions. - -Section Subset_Results. - - Section epsilon_conditions. - -(** Epsilon elimination: $ a \e U \limp U(a) $. *) - Theorem eps_e: (S:Set; a:S; U:S->Set) (Eps S a U) -> (U a). - Unfold Eps. - Intros. - MApply '(land_e2 (Id S a a)). - Qed. - -(** Epsilon introduction: $ U(a) \limp a \e U $. *) - Theorem eps_i: (S:Set; a:S; U:S->Set) (U a) -> (Eps S a U). - Unfold Eps. - Intros. - MApply 'land_i. - Qed. - -(** Epsilon condition 1: $ a \e U \liff U(a) $. *) - Theorem eps_1: (S:Set; U:(S -> Set)) (a:S)(LIff (Eps S a U) (U a)). - Intros. - MApply 'liff_i. - MApply '(eps_e S a). - MApply 'eps_i. - Qed. - -(** Epsilon condition 2: $ a \e_S U \limp a \in S $. *) - Theorem eps_2: (S:Set; a:S; U:(S -> Set)) (Eps S a U) -> S. - Intros. - Exact a. - Qed. - -(** Epsilon in sigma form: $ a \e_S U \liff (\lex z \in (\Sigma x \in S) U) Id(S, p(z), a) $. *) - Theorem eps2: (S:Set; a:S; U:(S -> Set)) (LIff (Eps S a U) (LEx (Sigma S U) [z](Id S (sp S U z) a))). - Intros. - MApply 'liff_i. - MCut '(U a). - MApply 'eps_e. - MApply '(lex_i (Sigma S U) (pair S U a H0)). - MApply 'eps_i. - MElim 'H 'lex_e. - MApply '(id_repl ? a (sp S U a0)). - MElim 'a0 psplit. - Qed. - - End epsilon_conditions. - - Section subset_top_bottom. - -(** Subset top, epsilon introduction: $ a \e \stop $. *) - Theorem stop_eps_i: (S:Set; a:S) (Eps S a (STop S)). - Intros. - MApply 'eps_i. - Unfold STop. - MApply 'LTop_red. - Qed. - -(** Subset bottom, epsilon elimination: $ a \e \sbot \limp \lbot $. *) - Theorem sbot_eps_e: (S:Set; a:S) (Eps S a (SBot S)) -> LBot. - Intros. - MApply '(eps_e S a). - Qed. - - End subset_top_bottom. - - Section singleton. - -(** Singleton, epsilon introduction: $ Id(S, a, b) \limp b \e \subset{a} $. *) - Theorem sing_eps_i: (S:Set; b,a:S) (Id S a b) -> (Eps S b (Sing S a)). - Intros. - MApply 'eps_i. - Qed. - -(** Singleton, epsilon elimination: $ b \e \subset{a} \limp Id(S, a, b) $. *) - Theorem sing_eps_e: (S:Set; a,b:S) (Eps S b (Sing S a)) -> (Id S a b). - Intros. - MApply 'eps_e. - Qed. - - End singleton. - - Section relative_universal. - -(** Relative all introduction: $ ((\lall a \in S)\ a \e U \limp P(a)) \limp (\lall x \e U) P(x) $. *) - Theorem rall_i: (S:Set; U:S->Set; P:S->Set) ((a:S) (Eps S a U) -> (P a)) -> (RAll S U P). - Unfold RAll. - Intros. - MApply '(H a). - Qed. - -(** Relative all elimination: $ a \e U \limp (\lall x \e U) P(x) \limp P(a) $. *) - Theorem rall_e: (S:Set; a:S; U:S->Set; P:S->Set) (Eps S a U) -> (RAll S U P) -> (P a). - Intros. - Unfold RAll in H0. - MApply '(H0 a). - Qed. - - End relative_universal. - - Section relative_existential. - -(** Relative exists introduction: $ a \e U \limp P(a) \limp (\lex x \e U) P(x) $. *) - Theorem rex_i: (S:Set; a:S; U:S->Set; P:S->Set) (Eps S a U) -> (P a) -> (REx S U P). - Intros. - Unfold REx. - MApply '(lex_i S a). - MApply 'land_i. - Qed. - -(** Relative exists elimination: $ ((\lall a \in S)\ a \e U \limp P(a) \limp T) \limp (\lex x \e U) P(x) \limp T $. *) - Theorem rex_e: (S:Set; U:S->Set; P:S->Set; T:Set) ((a:S) (Eps S a U) -> (P a) -> T) -> (REx S U P) -> T. - Intros. - Unfold REx in H0. - MElim 'H0 'lex_e. - MApply '(H a). - MApply '(land_e2 (P a)). - MApply '(land_e1 (Eps S a U)). - Qed. - - End relative_existential. - -End Subset_Results. diff --git a/helm/coq-contribs/SUBSETS/tbs_fin.v b/helm/coq-contribs/SUBSETS/tbs_fin.v deleted file mode 100644 index cd618b889..000000000 --- a/helm/coq-contribs/SUBSETS/tbs_fin.v +++ /dev/null @@ -1,119 +0,0 @@ -Require Export tbs_fun. - -Section Subset_Finite_Definitions. - - Section subsets_from_lists. - - Definition SList: (S:Set) (List S) -> (S -> Set) := [S](ListFam S [_](S->Set) (SBot S) [_;p;a](SOr S p (Sing S a))). - - End subsets_from_lists. - - Section subset_finite_predicate. - - Definition WFin: (S:Set) (S -> Set) -> Set := [S;U](LEx (FDF S) [z](SbE S U (FDFImg S z))). -(* -Definition SFin: (S:Set) (S -> Set) -> Set := [S;U](Ex (FDF S) [z](SEq S U (FDFImg S z))). -*) - End subset_finite_predicate. -(* -Section subset_finite_quantification. - -Definition FAll: (S:Set) ((Part S) -> Set) -> Set := [S;P](z:(FDF S))(P (SFImg S z)). - -Definition FEx: (S:Set) ((Part S) -> Set) -> Set := [S;P](Ex (FDF S) [z](P (SFImg S z))). - -End subset_finite_quantification. -*) -End Subset_Finite_Definitions. - -Section Subset_Finite_Results. - - Section subset_list. - - Theorem slist_eps_i: (S:Set; a:S; l:(List S)) (LIn S a l) -> (Eps S a (SList S l)). - Intros S a l. - MElim l listrec. - MCut Empty. - Apply (lin_e S a (empty S)). - Assumption. - Intros v w. - MElim w listrec. - MApply '(list_p4 S v a). - MApply '(list_p4 S (app S (fr S v a) l0) s). - MElim H0 efq. - Apply (lin_e S a (fr S l0 s)). - Assumption. - Intros v w. - MElim w listrec. - MApply 'sor_eps_i1. - MApply 'sing_eps_i. - MApply '(fr_ini2 S l0 v). - MApply 'sor_eps_i2. - MApply 'H. - MApply '(lin_i S v l1). - MApply '(fr_ini1 S s0 s). - Qed. - - - Theorem slist_xfdfl: (S:Set; n:N; v:(Fin n)->S) (SbE S (Img (Fin n) S v) (SList S (xfdf_list S n v))). - Intros. - MApply 'sbe_i. - MApply 'slist_eps_i. - MApply '(img_eps_e (Fin n) S v a). - MApply '(id_repl S a (v i)). - MApply 'xfdfl_lin. - Qed. - - Theorem slist_fdfl: (S:Set; v:(FDF S)) (SbE S (FDFImg S v) (SList S (fdfl S v))). - Intros. - MApply '(id_repl (List S) (fdfl S v) (xfdf_list S (fdf_n S v) (fdf_f S v))). - MElim 'v '(fdf_e S). - Unfold FDFImg. - MApply 'slist_xfdfl. - Qed. - - End subset_list. - - Section weakly_finite. - - Theorem wfin_i: (S:Set; v:(FDF S); U:S->Set) (SbE S U (FDFImg S v)) -> (WFin S U). - Intros. - Unfold WFin. - MApply '(lex_i (FDF S) v). - Qed. - - Theorem wfin_e: (S:Set; U:S->Set; P:Set) (WFin S U) -> ((v:(FDF S)) (SbE S U (FDFImg S v)) -> P) -> P. - Intros. - MElim 'H 'lex_e. - MApply '(H0 a). - Qed. - - Theorem wfin_sand: (S:Set; U,V:S->Set) (WFin S U) -> (WFin S (SAnd S U V)). - Intros. - MApply '(wfin_e S U). - MApply '(wfin_i S v). - MApply '(sbe_t S U). - MApply 'sand_sbe_e2. - Qed. - - Theorem wfin_sor: (S:Set; U,V:S->Set) (WFin S U) -> (WFin S V) -> (WFin S (SOr S U V)). - Intros. - MApply '(wfin_e S U). - MApply '(wfin_e S V). - MApply '(wfin_i S (fdf_add S v v0)). - MApply '(sbe_t S (SOr S (FDFImg S v) (FDFImg S v0))). - MApply 'sor_sbe_c. - MApply 'img_fdf_add_i. - Qed. - - Theorem wfin_list: (S:Set; U:S->Set) (WFin S U) -> (LEx (List S) [v](SbE S U (SList S v))). - Intros. - MApply '(wfin_e S U). - MApply '(lex_i (List S) (fdfl S v)). - MApply '(sbe_t S (FDFImg S v)). - MApply 'slist_fdfl. - Qed. - - End weakly_finite. - -End Subset_Finite_Results. diff --git a/helm/coq-contribs/SUBSETS/tbs_fun.v b/helm/coq-contribs/SUBSETS/tbs_fun.v deleted file mode 100644 index 7d03a1b93..000000000 --- a/helm/coq-contribs/SUBSETS/tbs_fun.v +++ /dev/null @@ -1,208 +0,0 @@ -Require Export tbs_rop. - -Section Subset_From_Functions_Definitions. - - Section image_subset. - - Definition Img: (I,S:Set) (I -> S) -> (S -> Set) := [I,S;f;a] (LEx I [i](Id S (f i) a)). - - Definition FDFImg: (S:Set) (FDF S) -> (S -> Set) := [S;v](Img (Fin (fdf_n S v)) S (fdf_f S v)). - - End image_subset. - - Section relative_image_domain_subset. - - Definition RImg: (I,S:Set) (I -> S) -> (I -> Set) -> (S -> Set) := [I,S;f;T;a](REx I T [i](Id S (f i) a)). - - Definition RDom: (I,S:Set) (I -> S) -> (S -> Set) -> (I -> Set) := [I,S;f;U;i](REx S U [a](Id S (f i) a)). - - End relative_image_domain_subset. - -End Subset_From_Functions_Definitions. - -Section Subset_From_Functions_Results. - - Section image. - - Theorem img_eps_i: (I:Set; i:I; S:Set; a:S; f:I->S) (Id S (f i) a) -> (Eps S a (Img I S f)). - Intros. - MApply 'eps_i. - Unfold Img. - MApply '(lex_i I i). - Qed. - - Theorem img_eps_e: (I,S:Set; f:I->S; a:S; P:Set) (Eps S a (Img I S f)) -> ((i:I) (Id S (f i) a) -> P) -> P. - Intros. - MCut '(LEx I [i](Id S (f i) a)). - Fold (Img I S f a). - MApply 'eps_e. - MElim 'H1 'lex_e. - MApply '(H0 a0). - Qed. - - Theorem img_seq: (S:Set; U:(S -> Set)) (SEq S U (Img (Sigma S U) S (sp S U))). - Intros. - MApply 'seq_i. - MCut '(U a). - MApply 'eps_e. - MApply '(img_eps_i (Sigma S U) (pair S U a H0)). - MApply 'eps_i. - MApply '(img_eps_e (Sigma S U) S (sp S U) a). - MApply '(id_repl S a (sp S U i)). - MElim 'i 'psplit. - Qed. - - Theorem img_sbe_i: (I,J,S:Set; f:I->S; g:J->S) (LEx I->J [h](i:I)(Id S (f i) (g (h i)))) -> (SbE S (Img I S f) (Img J S g)). - Intros. - MElim 'H 'lex_e. - MApply 'sbe_i. - MApply '(img_eps_e I S f a0). - MApply '(img_eps_i J (a i)). - MApply '(id_repl S a0 (f i)). - MApply 'id_comm. - MApply '(y i). - Qed. - - Theorem img_xfdf_add_i: (S:Set; m:N; v:(Fin m)->S; n:N; w:(Fin n)->S) (SbE S (SOr S (Img (Fin m) S v) (Img (Fin n) S w)) (Img (Fin (add m n)) S (xfdf_add S m v n w))). - Intros. - MApply 'sor_sbe_e. - MApply 'img_sbe_i. - MApply '(lex_i (Fin m)->(Fin (add m n)) (fil m n)). - MApply 'id_comm. - MApply 'xfdfa_fil. - MApply 'img_sbe_i. - MApply '(lex_i (Fin n)->(Fin (add m n)) (fir m n)). - MApply 'id_comm. - MApply 'xfdfa_fir. - Qed. - - End image. - - Section fdf_image. - - Theorem fdfimg_eps_i: (S:Set; v:(FDF S); i:(Fin (fdf_n S v)); a:S) (Id S (fdf_f S v i) a) -> (Eps S a (FDFImg S v)). - Intros. - Unfold FDFImg. - MApply '(img_eps_i (Fin (fdf_n S v)) i). - Qed. - - Theorem fdfimg_eps_e: (S:Set; v:(FDF S); a:S; P:Set) (Eps S a (FDFImg S v)) -> ((i:(Fin (fdf_n S v))) (Id S (fdf_f S v i) a) -> P) -> P. - Intros. - MApply '(img_eps_e (Fin (fdf_n S v)) S (fdf_f S v) a). - MApply '(H0 i). - Qed. - - Theorem img_fdf_add_i: (S:Set; v,w:(FDF S)) (SbE S (SOr S (FDFImg S v) (FDFImg S w)) (FDFImg S (fdf_add S v w))). - Intros. - Unfold FDFImg fdf_add. - MSimpl. - MApply 'img_xfdf_add_i. - Qed. - - End fdf_image. - - Section relative_image. - - Theorem rimg_eps_i: (I:Set; i:I; T:I->Set) (Eps I i T) -> (S:Set; a:S; f:I->S) (Id S (f i) a) -> (Eps S a (RImg I S f T)). - Intros. - MApply 'eps_i. - Unfold RImg. - MApply '(rex_i I i). - Qed. - - Theorem rimg_eps_e: (I,S:Set; a:S; T:I->Set; f:I->S; P:Set) ((i:I) (Eps I i T) -> (Id S (f i) a) -> P) -> (Eps S a (RImg I S f T)) -> P. - Intros. - Unfold RImg in H0. - MCut '(REx I T [i:I](Id S (f i) a)). - MApply '(eps_e S a). - MApply '(rex_e I T [i:I](Id S (f i) a)). - MApply '(H a0). - Qed. - - Theorem rimg_sbe: (I,S:Set; f:I->S; U,V:I->Set) (SbE I U V) -> (SbE S (RImg I S f U) (RImg I S f V)). - Intros. - MApply 'sbe_i. - MApply '(rimg_eps_e I S a U f). - MApply '(rimg_eps_i I i). - MApply '(sbe_e I U). - Qed. - - Theorem rimg_sing_i: (I,S:Set; f:I->S; T:I->Set) (SbE S (SREx I T S [i;_](Sing S (f i))) (SREx S (RImg I S f T) S [a;_](Sing S a))). - Intros. - MApply 'sbe_i. - MCut '(LEx I [i:I](REps (T i) S a [_:?](Sing S (f i)))). - MApply '(srex_eps_e I T S a [i:I; _:(T i)](Sing S (f i))). - MElim 'H0 'lex_e. - MApply '(srex_eps_i S (f a0)). - MApply '(reps_e (T a0) S a [_:(T a0)](Sing S (f a0))). - MCut '(RImg I S f T (f a0)). - MApply 'eps_e. - MApply '(rimg_eps_i I a0). - MApply 'eps_i. - MApply '(reps_i (RImg I S f T (f a0)) H2). - Qed. - - Theorem rimg_sing_e: (I,S:Set; f:I->S; T:I->Set) (SbE S (SREx S (RImg I S f T) S [a;_](Sing S a)) (SREx I T S [i;_](Sing S (f i)))). - Intros. - MApply 'sbe_i. - MCut '(LEx S [a0:?](REps (RImg I S f T a0) S a [_:?](Sing S a0))). - MApply '(srex_eps_e S (RImg I S f T) S a [a0:S; _:(RImg I S f T a0)](Sing S a0)). - MElim 'H0 'lex_e. - MApply '(reps_e (RImg I S f T a0) S a [_:(RImg I S f T a0)](Sing S a0)). - MCut '(Eps S a0 (RImg I S f T)). - MApply 'eps_i. - MApply '(rimg_eps_e I S a0 T f). - MApply '(srex_eps_i I i0). - MCut '(T i0). - MApply 'eps_e. - MApply '(reps_i (T i0) H5). - MApply 'sing_eps_i. - MApply '(id_repl S (f i0) a0). - MApply 'sing_eps_e. - Qed. - - Theorem rimg_sing: (I,S:Set; f:I->S; T:I->Set) (SEq S (SREx I T S [i;_](Sing S (f i))) (SREx S (RImg I S f T) S [a;_](Sing S a))). - Intros. - MApply 'seq_sbe_i. - MApply 'rimg_sing_i. - MApply 'rimg_sing_e. - Qed. - - Theorem rimg_srex: (I,S:Set; f:I->S; T:I->Set) (SEq S (SREx I T S [i;_](Sing S (f i))) (RImg I S f T)). - Intros. - MApply '(seq_t S (SREx S (RImg I S f T) S [a:S; _:(RImg I S f T a)](Sing S a))). - MApply 'rimg_sing. - MApply 'srex_sing. - Qed. - - Theorem rimg_img_i: (I,S:Set; f:I->S; T:I->Set) (SbE S (Img (Sigma I T) S [x](f (sp I T x))) (RImg I S f T)). - Intros. - MApply 'sbe_i. - Apply (img_eps_e (Sigma I T) S [x:(Sigma I T)](f (sp I T x)) a). - Assumption. - Intros p. - MElim 'p 'psplit. - MApply '(rimg_eps_i I a0). - MApply 'eps_i. - Qed. - - Theorem rimg_img_e: (I,S:Set; f:I->S; T:I->Set) (SbE S (RImg I S f T) (Img (Sigma I T) S [x](f (sp I T x)))). - Intros. - MApply 'sbe_i. - MApply '(rimg_eps_e I S a T f). - MCut '(T i). - MApply 'eps_e. - MApply '(img_eps_i (Sigma I T) (pair I T i H2)). - Qed. - - Theorem rimg_img: (I,S:Set; f:I->S; T:I->Set) (SEq S (Img (Sigma I T) S [x](f (sp I T x))) (RImg I S f T)). - Intros. - MApply 'seq_sbe_i. - MApply 'rimg_img_i. - MApply 'rimg_img_e. - Qed. - - End relative_image. - -End Subset_From_Functions_Results. - diff --git a/helm/coq-contribs/SUBSETS/tbs_op.v b/helm/coq-contribs/SUBSETS/tbs_op.v deleted file mode 100644 index 7a744762a..000000000 --- a/helm/coq-contribs/SUBSETS/tbs_op.v +++ /dev/null @@ -1,778 +0,0 @@ -(** This module (Toolbox - subsets: operations) defines: - - subset binary intersection: [SAnd] (subset and) - - subset binary union: [SOr] (subset or) - - subset implication: [SImp] (subset implies) - - subset opposite: [SNot] (subset not) - - subset infinitary intersection: [SAll] (subset all) - - subset infinitary union: [SEx] (subset exists) - - and provides: - - introduction and elimination rules for the defined constants - - standard properties (idempotency, commutativity, associativity, compatibility, distributivity) for the defined constants - - Cantor's diagonalization theorem: [cantor_diag] - -% \hrule % - - We require Toolbox relations and the underlying theory. - - *) -Require Export tbs_rel. - -Section Subset_Operations_Definitions. - - Section finitary_subset_operations. - -(** Subset and: [(SAnd S U V)] corresponds to $ U \sand_S V $. *) - Definition SAnd: (S:Set) (S -> Set) -> (S -> Set) -> (S -> Set). - Intros S U V a. - Exact (LAnd (U a) (V a)). - Defined. - -(** Subset or: [(SOr S U V)] corresponds to $ U \sor_S V $. *) - Definition SOr: (S:Set) (S -> Set) -> (S -> Set) -> (S -> Set). - Intros S U V a. - Exact (LOr (U a) (V a)). - Defined. - -(** Subset implies: [(SImp S U V)] corresponds to $ U \simp_S V $. *) - Definition SImp: (S:Set) (S -> Set) -> (S -> Set) -> (S -> Set). - Intros S U V a. - Exact (U a)->(V a). - Defined. - -(** Subset not: [(SNot S U)] corresponds to $ \snot_S U $. *) - Definition SNot: (S:Set) (S -> Set) -> (S -> Set). - Intros S U a. - Exact (LNot (U a)). - Defined. - - End finitary_subset_operations. - - Section infinitary_subset_operations. - -(** Subset all: [(SAll I S F)] corresponds to $ \bigsand_S\subset{F(i) \st i \in I} $. *) - Definition SAll: (I,S:Set) (I -> S -> Set) -> (S -> Set). - Intros I S F a. - Exact (i:I)(F i a). - Defined. - -(** Subset exists: [(SEx I S F)] corresponds to $ \bigsor_S\subset{F(i) \st i \in I} $. *) - Definition SEx: (I,S:Set) (I -> S -> Set) -> (S -> Set). - Intros I S F a. - Exact (LEx I [i](F i a)). - Defined. - - End infinitary_subset_operations. - -End Subset_Operations_Definitions. - -Section Subset_Operations_Results. - - Section subset_binary_intersection. - -(** Subset and, epsilon introduction: $ a \e U \limp a \e V \limp a \e U \sand V $. *) - Theorem sand_eps_i: (S:Set; U,V:S->Set; a:S) (Eps S a U) -> (Eps S a V) -> (Eps S a (SAnd S U V)). - Intros. - MApply 'eps_i. - Unfold SAnd. - MApply 'land_i. - MApply 'eps_e. - MApply 'eps_e. - Qed. - -(** Subset and, epsilon elimination 2: $ a \e U \sand V \limp a \e U $. *) - Theorem sand_eps_e2: (S:Set; V,U:S->Set; a:S) (Eps S a (SAnd S U V)) -> (Eps S a U). - Intros. - MApply 'eps_i. - MApply '(land_e2 (V a)). - Fold (SAnd S U V a). - MApply 'eps_e. - Qed. - -(** Subset and, epsilon elimination 1: $ a \e U \sand V \limp a \e V $. *) - Theorem sand_eps_e1: (S:Set; U,V:S->Set; a:S) (Eps S a (SAnd S U V)) -> (Eps S a V). - Intros. - MApply 'eps_i. - MApply '(land_e1 (U a)). - Fold (SAnd S U V a). - MApply 'eps_e. - Qed. - -(** Subset and, epsilon criterion: $ a \e U \land a \e V \liff a \e U \sand V $ *) - Theorem sand_eps: (S:Set; U,V:S->Set; a:S) (LIff (LAnd (Eps S a U) (Eps S a V)) (Eps S a (SAnd S U V))). - Intros. - MApply 'liff_i. - MApply 'sand_eps_i. - MApply '(land_e2 (Eps S a V)). - MApply '(land_e1 (Eps S a U)). - MApply 'land_i. - MApply '(sand_eps_e2 S V). - MApply '(sand_eps_e1 S U). - Qed. - -(** Subset and, sub or equal elimination 2: $ U \sand V \sub U $. *) - Theorem sand_sbe_e2: (S:Set; U,V:S->Set) (SbE S (SAnd S U V) U). - Intros. - MApply 'sbe_i. - MApply '(sand_eps_e2 S V). - Qed. - -(** Subset and, sub or equal elimination 1: $ U \sand V \sub V $. *) - Theorem sand_sbe_e1: (S:Set; U,V:S->Set) (SbE S (SAnd S U V) V). - Intros. - MApply 'sbe_i. - MApply '(sand_eps_e1 S U). - Qed. - -(** Subset and, sub or equal introduction: $ W \sub U \limp W \sub V \limp W \sub U \sand V $. *) - Theorem sand_sbe_i: (S:Set; W,U,V:S->Set) (SbE S W U) -> (SbE S W V) -> (SbE S W (SAnd S U V)). - Intros. - MApply 'sbe_i. - MApply 'sand_eps_i. - MApply '(sbe_e S W). - MApply '(sbe_e S W). - Qed. - -(** Subset and, sub or equal compatibility 2: $ U \sub V \limp U \sand W \sub V \sand W $. *) - Theorem sand_sbe_c2: (S:Set; U,V,W:S->Set) (SbE S U V) -> (SbE S (SAnd S U W) (SAnd S V W)). - Intros. - MApply 'sand_sbe_i. - MApply '(sbe_t S U). - MApply 'sand_sbe_e2. - MApply 'sand_sbe_e1. - Qed. - -(** Subset and, sub or equal subset top: $ U \sub \stop \sand U $. *) - Theorem sand_sbe_stop: (S:Set; U:S->Set) (SbE S U (SAnd S (STop S) U)). - Intros. - MApply 'sand_sbe_i. - MApply 'stop_sbe_i. - MApply 'sbe_r. - Qed. - -(** Subset and, sub or equal idempotency: $ U \sub U \sand U $. *) - Theorem sand_sbe_r: (S:Set; U:S->Set) (SbE S U (SAnd S U U)). - Intros. - MApply 'sand_sbe_i. - MApply 'sbe_r. - MApply 'sbe_r. - Qed. - -(** Subset and, idempotency $ U \sand U = U $. *) - Theorem sand_r: (S:Set; U:S->Set) (SEq S (SAnd S U U) U). - Intros. - MApply 'seq_sbe_i. - MApply 'sand_sbe_e2. - MApply 'sand_sbe_r. - Qed. - -(** Subset and, sub or equal commutativity: $ V \sand U \sub U \sand V $. *) - Theorem sand_sbe_s: (S:Set; U,V:S->Set) (SbE S (SAnd S V U) (SAnd S U V)). - Intros. - MApply 'sand_sbe_i. - MApply 'sand_sbe_e1. - MApply 'sand_sbe_e2. - Qed. - -(** Subset and, commutativity: $ V \sand U = U \sand V $. *) - Theorem sand_s: (S:Set; U,V:S->Set) (SEq S (SAnd S V U) (SAnd S U V)). - Intros. - MApply 'seq_sbe_i. - MApply 'sand_sbe_s. - MApply 'sand_sbe_s. - Qed. - -(** Subset and, sub or equal associativity 1: $ U \sand (V \sand W) \sub (U \sand V) \sand W $. *) - Theorem sand_sbe_a1: (S:Set; U,V,W:S->Set) (SbE S (SAnd S U (SAnd S V W)) (SAnd S (SAnd S U V) W)). - Intros. - MApply 'sand_sbe_i. - MApply 'sand_sbe_i. - MApply 'sand_sbe_e2. - MApply '(sbe_t S (SAnd S V W)). - MApply 'sand_sbe_e1. - MApply 'sand_sbe_e2. - MApply '(sbe_t S (SAnd S V W)). - MApply 'sand_sbe_e1. - MApply 'sand_sbe_e1. - Qed. - -(** Subset and, sub or equal associativity 2: $ (U \sand V) \sand W \sub U \sand (V \sand W) $. *) - Theorem sand_sbe_a2: (S:Set; U,V,W:S->Set) (SbE S (SAnd S (SAnd S U V) W) (SAnd S U (SAnd S V W))). - Intros. - MApply '(sbe_t S (SAnd S W (SAnd S U V))). - MApply 'sand_sbe_s. - MApply '(sbe_t S (SAnd S (SAnd S V W) U)). - MApply '(sbe_t S (SAnd S (SAnd S W U) V)). - MApply 'sand_sbe_a1. - MApply '(sbe_t S (SAnd S V (SAnd S W U))). - MApply 'sand_sbe_s. - MApply 'sand_sbe_a1. - MApply 'sand_sbe_s. - Qed. - -(** Subset and, associativity: $ U \sand (V \sand W) = (U \sand V) \sand W $. *) - Theorem sand_a: (S:Set; U,V,W:S->Set) (SEq S (SAnd S U (SAnd S V W)) (SAnd S (SAnd S U V) W)). - Intros. - MApply 'seq_sbe_i. - MApply 'sand_sbe_a1. - MApply 'sand_sbe_a2. - Qed. - -(** Subset and, sub or equal compatibility 1: $ U \sub V \limp W \sand U \sub W \sand V $. *) - Theorem sand_sbe_c1: (S:Set; U,V,W:S->Set) (SbE S U V) -> (SbE S (SAnd S W U) (SAnd S W V)). - Intros. - MApply '(sbe_t S (SAnd S U W)). - MApply 'sand_sbe_s. - MApply '(sbe_t S (SAnd S V W)). - MApply 'sand_sbe_c2. - MApply 'sand_sbe_s. - Qed. - -(** Subset and, sub or equal compatibility: $ U \sub V \limp W \sub X \limp U \sand W \sub V \sand X $. *) - Theorem sand_sbe_c: (S:Set; U,V,W,X:S->Set) (SbE S U V) -> (SbE S W X) -> (SbE S (SAnd S U W) (SAnd S V X)). - Intros. - MApply '(sbe_t S (SAnd S V W)). - MApply 'sand_sbe_c2. - MApply 'sand_sbe_c1. - Qed. - - End subset_binary_intersection. - - Section subset_binary_union. - -(** Subset or, epsilon introduction 2: $ a \e U \limp a \e U \sor V $. *) - Theorem sor_eps_i2: (S:Set; U,V:S->Set; a:S) (Eps S a U) -> (Eps S a (SOr S U V)). - Intros. - MApply 'eps_i. - Unfold SOr. - MApply 'in_l. - MApply 'eps_e. - Qed. - -(** Subset or, epsilon introduction 1: $ a \e V \limp a \e U \sor V $. *) - Theorem sor_eps_i1: (S:Set; U,V:S->Set; a:S) (Eps S a V) -> (Eps S a (SOr S U V)). - Intros. - MApply 'eps_i. - Unfold SOr. - MApply 'in_r. - MApply 'eps_e. - Qed. - -(** Subset or, epsilon elimination: $ (a \e U \limp T) \limp (a \e V \limp T) \limp a \e U \sor V \limp T $. *) - Theorem sor_eps_e: (S:Set; a:S; U,V:S->Set; T:Set) ((Eps S a U) -> T) -> ((Eps S a V) -> T) -> (Eps S a (SOr S U V)) -> T. - Intros. - MCut '(SOr S U V a). - MApply 'eps_e. - MApply '(lor_e (U a) (V a)). - MApply 'H. - MApply 'eps_i. - MApply 'H0. - MApply 'eps_i. - Qed. - -(** Subset or, epsilon criterion: $ a \e U \lor a \e V \liff a \e U \sor V $. *) - Theorem sor_eps: (S:Set; U,V:S->Set; a:S) (LIff (LOr (Eps S a U) (Eps S a V)) (Eps S a (SOr S U V))). - Intros. - MApply 'liff_i. - MApply '(lor_e (Eps S a U) (Eps S a V)). - MApply 'sor_eps_i2. - MApply 'sor_eps_i1. - MApply '(sor_eps_e S a U V). - MApply 'in_l. - MApply 'in_r. - Qed. - -(** Subset or, sub or equal introduction 2: $ U \sub U \sor V $. *) - Theorem sor_sbe_i2: (S:Set; U,V:S->Set) (SbE S U (SOr S U V)). - Intros. - MApply 'sbe_i. - MApply 'sor_eps_i2. - Qed. - -(** Subset or, sub or equal introduction 1: $ V \sub U \sor V $. *) - Theorem sor_sbe_i1: (S:Set; U,V:S->Set) (SbE S V (SOr S U V)). - Intros. - MApply 'sbe_i. - MApply 'sor_eps_i1. - Qed. - -(** Subset or, sub or equal elimination: $ U \sub W \limp V \sub W \limp U \sor V \sub W $. *) - Theorem sor_sbe_e: (S:Set; W,U,V:S->Set) (SbE S U W) -> (SbE S V W) -> (SbE S (SOr S U V) W). - Intros. - MApply 'sbe_i. - MApply '(sor_eps_e S a U V). - MApply '(sbe_e S U). - MApply '(sbe_e S V). - Qed. - -(** Subset or, sub or equal compatibility 2: $ U \sub V \limp U \sor W \sub V \sor W $. *) - Theorem sor_sbe_c2: (S:Set; U,V,W:S->Set) (SbE S U V) -> (SbE S (SOr S U W) (SOr S V W)). - Intros. - MApply 'sor_sbe_e. - MApply '(sbe_t S V). - MApply 'sor_sbe_i2. - MApply 'sor_sbe_i1. - Qed. - -(** Subset or, sub or equal idempotency: $ U \sor U \sub U $. *) - Theorem sor_sbe_r: (S:Set; U:S->Set) (SbE S (SOr S U U) U). - Intros. - MApply 'sor_sbe_e. - MApply 'sbe_r. - MApply 'sbe_r. - Qed. - -(** Subset or, idempotency: $ U \sor U = U $. *) - Theorem sor_r: (S:Set; U:S->Set) (SEq S (SOr S U U) U). - Intros. - MApply 'seq_sbe_i. - MApply 'sor_sbe_r. - MApply 'sor_sbe_i2. - Qed. - -(** Subset or, sub or equal commutativity: $ V \sor U \sub U \sor V $. *) - Theorem sor_sbe_s: (S:Set; U,V:S->Set) (SbE S (SOr S V U) (SOr S U V)). - Intros. - MApply 'sor_sbe_e. - MApply 'sor_sbe_i1. - MApply 'sor_sbe_i2. - Qed. - -(** Subset or, commutativity: $ V \sor U = U \sor V $. *) - Theorem sor_s: (S:Set; U,V:S->Set) (SEq S (SOr S V U) (SOr S U V)). - Intros. - MApply 'seq_sbe_i. - MApply 'sor_sbe_s. - MApply 'sor_sbe_s. - Qed. - -(** Subset or, sub or equal associativity 1: $ U \sor (V \sor W) \sub (U \sor V) \sor W $. *) - Theorem sor_sbe_a1: (S:Set; U,V,W:S->Set) (SbE S (SOr S U (SOr S V W)) (SOr S (SOr S U V) W)). - Intros. - MApply 'sor_sbe_e. - MApply '(sbe_t S (SOr S U V)). - MApply 'sor_sbe_i2. - MApply 'sor_sbe_i2. - MApply 'sor_sbe_e. - MApply '(sbe_t S (SOr S U V)). - MApply 'sor_sbe_i1. - MApply 'sor_sbe_i2. - MApply 'sor_sbe_i1. - Qed. - -(** Subset or, sub or equal associativity 2: $ (U \sor V) \sor W \sub U \sor (V \sor W) $. *) - Theorem sor_sbe_a2: (S:Set; U,V,W:S->Set) (SbE S (SOr S (SOr S U V) W) (SOr S U (SOr S V W))). - Intros. - MApply '(sbe_t S (SOr S W (SOr S U V))). - MApply 'sor_sbe_s. - MApply '(sbe_t S (SOr S (SOr S V W) U)). - MApply '(sbe_t S (SOr S (SOr S W U) V)). - MApply 'sor_sbe_a1. - MApply '(sbe_t S (SOr S V (SOr S W U))). - MApply 'sor_sbe_s. - MApply 'sor_sbe_a1. - MApply 'sor_sbe_s. - Qed. - -(** Subset or, associativity: $ U \sor (V \sor W) = (U \sor V) \sor W $. *) - Theorem sor_a: (S:Set; U,V,W:S->Set) (SEq S (SOr S U (SOr S V W)) (SOr S (SOr S U V) W)). - Intros. - MApply 'seq_sbe_i. - MApply 'sor_sbe_a1. - MApply 'sor_sbe_a2. - Qed. - -(** Subset or, sub or equal compatibility 1: $ U \sub V \limp W \sor U \sub W \sor V $. *) - Theorem sor_sbe_c1: (S:Set; U,V,W:S->Set) (SbE S U V) -> (SbE S (SOr S W U) (SOr S W V)). - Intros. - MApply '(sbe_t S (SOr S U W)). - MApply 'sor_sbe_s. - MApply '(sbe_t S (SOr S V W)). - MApply 'sor_sbe_c2. - MApply 'sor_sbe_s. - Qed. - -(** Subset or, sub or equal compatibility: $ U \sub V \limp W \sub X \limp U \sor W \sub V \sor X $. *) - Theorem sor_sbe_c: (S:Set; U,V,W,X:S->Set) (SbE S U V) -> (SbE S W X) -> (SbE S (SOr S U W) (SOr S V X)). - Intros. - MApply '(sbe_t S (SOr S V W)). - MApply 'sor_sbe_c2. - MApply 'sor_sbe_c1. - Qed. - - End subset_binary_union. - - Section subset_implication. - -(** Subset implies, epsilon introduction: $ (a \e U \limp a \e V) \limp a \e U \simp V $. *) - Theorem simp_eps_i: (S:Set; U,V:S->Set; a:S) ((Eps S a U) -> (Eps S a V)) -> (Eps S a (SImp S U V)). - Intros. - MApply 'eps_i. - Unfold SImp. - Intros. - MApply 'eps_e. - MApply 'H. - MApply 'eps_i. - Qed. - -(** Subset implies, epsilon elimination: $ a \e U \simp V \limp a \e U \limp a \e V $. *) - Theorem simp_eps_e: (S:Set; U,V:S->Set; a:S) (Eps S a (SImp S U V)) -> (Eps S a U) -> (Eps S a V). - Intros. - MApply 'eps_i. - Apply (mcut (U a)). - MApply 'eps_e. - MApply '(eps_e S a). - Qed. - -(** Subset implies, epsilon criterion: $ a \e U \simp V \liff (a \e U \limp a \e V) $. *) - Theorem simp_eps: (S:Set; U,V:S->Set; a:S) (LIff (Eps S a (SImp S U V)) (Eps S a U) -> (Eps S a V)). - Intros. - MApply 'liff_i. - MApply '(simp_eps_e S U). - MApply 'simp_eps_i. - MApply 'H. - Qed. - -(** Subset implies, sub or equal elimination: $ W \sub U \simp V \limp W \sand U \sub V $. *) - Theorem simp_sbe_e: (S:Set; U,V,W:S->Set) (SbE S W (SImp S U V)) -> (SbE S (SAnd S W U) V). - Intros. - MApply 'sbe_i. - MApply '(simp_eps_e S U). - MApply '(sbe_e S W). - MApply '(sand_eps_e2 S U). - MApply '(sand_eps_e1 S W). - Qed. - -(** Subset implies, sub or equal introduction: $ W \sand U \sub V \limp W \sub U \simp V $. *) - Theorem simp_sbe_i: (S:Set; U,V,W:S->Set) (SbE S (SAnd S W U) V) -> (SbE S W (SImp S U V)). - Intros. - MApply 'sbe_i. - MApply 'simp_eps_i. - MApply '(sbe_e S (SAnd S W U)). - MApply 'sand_eps_i. - Qed. - -(** Subset implies, sub or equal compatibility 2: $ V \sub U \limp U \simp W \sub V \simp W $. *) - Theorem simp_sbe_c2: (S:Set; U,V,W:S->Set) (SbE S V U) -> (SbE S (SImp S U W) (SImp S V W)). - Intros. - MApply 'simp_sbe_i. - MApply '(sbe_t S (SAnd S (SImp S U W) U)). - MApply 'sand_sbe_c1. - MApply 'simp_sbe_e. - MApply 'sbe_r. - Qed. - -(** Subset implies, sub or equal compatibility 2: $ U \sub V \limp W \simp U \sub W \simp V $. *) - Theorem simp_sbe_c1: (S:Set; U,V,W:S->Set) (SbE S U V) -> (SbE S (SImp S W U) (SImp S W V)). - Intros. - MApply 'simp_sbe_i. - MApply '(sbe_t S U). - MApply 'simp_sbe_e. - MApply 'sbe_r. - Qed. - -(** Subset implies, subset top elimination: $ \stop \sub U \simp V \limp U \sub V $. *) - Theorem simp_stop_e: (S:Set; U,V:S->Set) (SbE S (STop S) (SImp S U V)) -> (SbE S U V). - Intros. - MApply '(sbe_t S (SAnd S (STop S) U)). - MApply 'sand_sbe_stop. - MApply 'simp_sbe_e. - Qed. - -(** Subset implies, subset top introduction: $ U \sub V \limp \stop \sub U \simp V $. *) - Theorem simp_stop_i: (S:Set; U,V:S->Set) (SbE S U V) -> (SbE S (STop S) (SImp S U V)). - Intros. - MApply 'simp_sbe_i. - MApply '(sbe_t S U). - MApply 'sand_sbe_e1. - Qed. - -(** Subset implies, subset top criterion: $ \stop \sub U \simp V \liff U \sub V $. *) - Theorem simp_stop: (S:Set; U,V:S->Set) (LIff (SbE S (STop S) (SImp S U V)) (SbE S U V)). - Intros. - MApply 'liff_i. - MApply 'simp_stop_e. - MApply 'simp_stop_i. - Qed. - - End subset_implication. - - Section subset_negation. - -(** Subset not, epsilon introduction: $ \lnot (a \e U) \limp a \e \snot U $. *) - Theorem snot_eps_i: (S:Set; U:S->Set; a:S) (LNot (Eps S a U)) -> (Eps S a (SNot S U)). - Intros. - MApply 'eps_i. - Unfold SNot. - MApply 'lnot_i. - MApply '(lnot_e (Eps S a U)). - MApply 'eps_i. - Qed. - -(** Subset not, epsilon elimination: $ a \e \snot U \limp \lnot (a \e U) $. *) - Theorem snot_eps_e: (S:Set; U:S->Set; a:S) (Eps S a (SNot S U)) -> (LNot (Eps S a U)). - Unfold SNot. - Intros. - MApply 'lnot_i. - MApply '(lnot_e (U a)). - MApply '(eps_e S a [a0:S](LNot (U a0))). - MApply 'eps_e. - Qed. - -(** Subset not, epsilon criterion: $ \lnot (a \e U) \liff a \e \snot U $. *) - Theorem snot_eps: (S:Set; U:S->Set; a:S) (LIff (LNot (Eps S a U)) (Eps S a (SNot S U))). - Intros. - MApply 'liff_i. - MApply 'snot_eps_i. - MApply 'snot_eps_e. - Qed. - -(** Subset not, subset implication compatibility: $ \snot U = U \simp \sbot $. *) - Theorem snot_simp_c: (S:Set; U:S->Set) (SEq S (SNot S U) (SImp S U (SBot S))). - Intros. - MApply 'seq_i. - MApply 'simp_eps_i. - MCut 'Empty. - MApply '(lnot_e (Eps S a U)). - MApply 'snot_eps_e. - MElim 'H1 'efq. - MApply 'snot_eps_i. - MApply 'lnot_i. - MApply '(sbot_eps_e S a). - MApply '(simp_eps_e S U). - Qed. - - End subset_negation. - - Section subset_infinitary_intersection. - -(** Subset all, epsilon introduction: $ ((\lall i \in I)\ a \e F(i)) \limp a \e \bigsand\subset{F(i) \st i \in I} $. *) - Theorem sall_eps_i: (I,S:Set; F:(I->S->Set); a:S) ((i:I) (Eps S a (F i))) -> (Eps S a (SAll I S F)). - Intros. - MApply 'eps_i. - Unfold SAll. - Intros. - MApply 'eps_e. - MApply '(H i). - Qed. - -(** Subset all, epsilon elimination: $ a \e \bigsand\subset{F(i) \st i \in I} \limp (\lall i \in I)\ a \e F(i) $. *) - Theorem sall_eps_e: (I,S:Set; F:(I->S->Set); a:S) (Eps S a (SAll I S F)) -> (i:I) (Eps S a (F i)). - Intros. - MApply 'eps_i. - Apply (mcut (i:I)(F i a)). - MApply '(eps_e S a). - Intros. - MApply '(H0 i). - Qed. - -(** Subset all, epsilon criterion: $ a \e \bigsand\subset{F(i) \st i \in I} \liff (\lall i \in I)\ a \e F(i) $. *) - Theorem sall_eps: (I,S:Set; F:(I->S->Set); a:S) (LIff (Eps S a (SAll I S F)) (i:I) (Eps S a (F i))). - Intros. - MApply 'liff_i. - MApply '(sall_eps_e I). - MApply 'sall_eps_i. - MApply '(H i). - Qed. - -(** Subset all, sub or equal elimination: $ (\lall i \in I)\ \bigsand\subset{F(i) \st i \in I} \sub F(i) $. *) - Theorem sall_sbe_e: (I,S:Set; F:(I->S->Set); i:I) (SbE S (SAll I S F) (F i)). - Intros. - MApply 'sbe_i. - MApply '(sall_eps_e I). - Qed. - -(** Subset all, sub or equal introduction: $ ((\lall i \in I)\ W \sub F(i)) \limp W \sub \bigsand\subset{F(i) \st i \in I} $. *) - Theorem sall_sbe_i: (I,S:Set; F:(I->S->Set); W:S->Set) ((i:I)(SbE S W (F i))) -> (SbE S W (SAll I S F)). - Intros. - MApply 'sbe_i. - MApply 'sall_eps_i. - MApply '(sbe_e S W). - MApply 'H. - Qed. - - End subset_infinitary_intersection. - - Section subset_infinitary_union. - -(** Subset exists, epsilon introduction: $ ((\lex i \in I)\ a \e F(i)) \limp a \e \bigsor\subset{F(i) \st i \in I} $. *) - Theorem sex_eps_i: (I,S:Set; F:(I->S->Set); a:S) (LEx I [i](Eps S a (F i))) -> (Eps S a (SEx I S F)). - Intros. - MApply 'eps_i. - Unfold SEx. - MElim 'H 'lex_e. - MApply '(lex_i I a0). - MApply 'eps_e. - Qed. - -(** Subset exists, epsilon elimination: $ a \e \bigsor\subset{F(i) \st i \in I} \limp (\lex i \in I)\ a \e F(i) $. *) - Theorem sex_eps_e: (I,S:Set; F:(I->S->Set); a:S) (Eps S a (SEx I S F)) -> (LEx I [i](Eps S a (F i))). - Intros. - MCut '(SEx I S F a). - MApply 'eps_e. - MElim 'H0 'lex_e. - MApply '(lex_i I a0). - MApply 'eps_i. - Qed. - -(** Subset exists, epsilon elimination: $ a \e \bigsor\subset{F(i) \st i \in I} \liff (\lex i \in I)\ a \e F(i) $. *) - Theorem sex_eps: (I,S:Set; F:(I->S->Set); a:S) (LIff (Eps S a (SEx I S F)) (LEx I [i](Eps S a (F i)))). - Intros. - MApply 'liff_i. - MApply 'sex_eps_e. - MApply 'sex_eps_i. - Qed. - -(** Subset exists, sub or equal introduction: $ (\lall i \in I)\ F(i) \sub \bigsor\subset{F(i) \st i \in I} $. *) - Theorem sex_sbe_i: (I,S:Set; F:(I->S->Set); i:I) (SbE S (F i) (SEx I S F)). - Intros. - MApply 'sbe_i. - MApply 'sex_eps_i. - MApply '(lex_i I i). - Qed. - -(** Subset exists, sub or equal elimination: $ ((\lall i \in I)\ F(i) \sub W) \limp \bigsor\subset{F(i) \st i \in I} \sub W $. *) - Theorem sex_sbe_e: (I,S:Set; F:(I->S->Set); W:S->Set) ((i:I)(SbE S (F i) W)) -> (SbE S (SEx I S F) W). - Intros. - MApply 'sbe_i. - MCut '(LEx I [i:I](Eps S a (F i))). - MApply 'sex_eps_e. - MElim 'H1 'lex_e. - MApply '(sbe_e S (F a0)). - MApply 'H. - Qed. - - End subset_infinitary_union. - - Section subset_frame. - -(** Frame, subset and introduction: $ U \sub V \limp U \sand V = U $. *) - Theorem frame_sand_i: (S:Set; U,V:S->Set) (SbE S U V) -> (SEq S (SAnd S U V) U). - Intros. - MApply 'seq_sbe_i. - MApply 'sand_sbe_e2. - MApply '(sbe_t S (SAnd S U U)). - MApply 'sand_sbe_r. - MApply 'sand_sbe_c1. - Qed. - -(** Frame, subset and elimination: $ U \sand V = U \limp U \sub V $. *) - Theorem frame_sand_e: (S:Set; U,V:S->Set) (SEq S (SAnd S U V) U) -> (SbE S U V). - Intros. - MApply '(sbe_t S (SAnd S U V)). - MApply '(land_e1 (SbE S (SAnd S U V) U)). - MApply 'seq_sbe_e. - MApply 'sand_sbe_e1. - Qed. - -(** Frame, subset or introduction: $ U \sub V \limp U \sor V = V $. *) - Theorem frame_sor_i: (S:Set; U,V:S->Set) (SbE S U V) -> (SEq S (SOr S U V) V). - Intros. - MApply 'seq_sbe_i. - MApply '(sbe_t S (SOr S V V)). - MApply 'sor_sbe_c2. - MApply 'sor_sbe_r. - MApply 'sor_sbe_i1. - Qed. - -(** Frame, subset or elimination: $ U \sor V = V \limp U \sub V $. *) - Theorem frame_sor_e: (S:Set; U,V:S->Set) (SEq S (SOr S U V) V) -> (SbE S U V). - Intros. - MApply '(sbe_t S (SOr S U V)). - MApply 'sor_sbe_i2. - MApply '(land_e2 (SbE S V (SOr S U V))). - MApply 'seq_sbe_e. - Qed. - -(** Frame, subset exists introduction: $ \bigsor\subset{F(i) \st i \in I} \sand W \sub \bigsor\subset{F(i) \sand W \st i \in I} $. *) - Theorem frame_sex_i: (I,S:Set; F:(I->S->Set); W:S->Set) (SbE S (SAnd S (SEx I S F) W) (SEx I S [i](SAnd S (F i) W))). - Intros. - MApply 'sbe_i. - MApply 'sex_eps_i. - MCut '(Eps S a (SEx I S F)). - MApply '(sand_eps_e2 S W). - MCut '(LEx I [i:I](Eps S a (F i))). - MApply 'sex_eps_e. - MElim 'H1 'lex_e. - MApply '(lex_i I a0). - MApply 'sand_eps_i. - MApply '(sand_eps_e1 S (SEx I S F)). - Qed. - -(** Frame, subset exists elimination: $ \bigsor\subset{F(i) \sand W \st i \in I} \sub \bigsor\subset{F(i) \st i \in I} \sand W $. *) - Theorem frame_sex_e: (I,S:Set; F:(I->S->Set); W:S->Set) (SbE S (SEx I S [i] -(SAnd S (F i) W)) (SAnd S (SEx I S F) W)). - Intros. - MApply 'sand_sbe_i. - MApply 'sex_sbe_e. - MApply '(sbe_t S (F i)). - MApply 'sand_sbe_e2. - MApply 'sex_sbe_i. - MApply 'sex_sbe_e. - MApply 'sand_sbe_e1. - Qed. - -(** Frame, subset exists distributivity: $ \bigsor\subset{F(i) \st i \in I} \sand W = \bigsor\subset{F(i) \sand W \st i \in I} $. *) - Theorem frame_sex_d: (I,S:Set; F:(I->S->Set); W:S->Set) (SEq S (SAnd S (SEx I S F) W) (SEx I S [i](SAnd S (F i) W))). - Intros. - MApply 'seq_sbe_i. - MApply 'frame_sex_i. - MApply 'frame_sex_e. - Qed. - -(** Frame, subset implies elimination: $ \bigsor\subset{F(i) \st i \in I} \simp W \sub \bigsand\subset{F(i) \simp W \st i \in I} $. *) - Theorem frame_simp_e: (I,S:Set; F:(I->S->Set); W:S->Set) (SbE S (SImp S (SEx I S F) W) (SAll I S [i](SImp S (F i) W))). - Intros. - MApply 'sall_sbe_i. - MApply 'simp_sbe_c2. - MApply 'sex_sbe_i. - Qed. - -(** Frame, subset implies introduction: $ \bigsand\subset{F(i) \simp W \st i \in I} \sub \bigsor\subset{F(i) \st i \in I} \simp W $. *) - Theorem frame_simp_i: (I,S:Set; F:(I->S->Set); W:S->Set) (SbE S (SAll I S [i](SImp S (F i) W)) (SImp S (SEx I S F) W)). - Intros. - MApply 'sbe_i. - MApply 'simp_eps_i. - MCut '(LEx I [i:I](Eps S a (F i))). - MApply 'sex_eps_e. - MElim 'H1 'lex_e. - MApply '(simp_eps_e S (F a0)). - MApply '(sall_eps_e I S [i:I](SImp S (F i) W)). - Qed. - -(** Frame, subset implies compatibility: $ \bigsor\subset{F(i) \st i \in I} \simp W = \bigsand\subset{F(i) \simp W \st i \in I} $. *) - Theorem frame_simp_c: (I,S:Set; F:(I->S->Set); W:S->Set) (SEq S (SImp S (SEx I S F) W) (SAll I S [i](SImp S (F i) W))). - Intros. - MApply 'seq_sbe_i. - MApply 'frame_simp_e. - MApply 'frame_simp_i. - Qed. - - End subset_frame. - - Section cantor_diagonalization. - -(** [(D S F)] is Cantor's subset $ D_F $. *) - Local D: (S:Set) (S -> S -> Set) -> (S -> Set). - Intros S F. - Exact (SNot S [a:S](F a a)). - Defined. - -(** Cantor's diagonalization: $ (\lall b \in S)\ \lnot (F(b) = D_F) $. *) - Theorem cantor_diag: (S:Set; F:S->S->Set) (b:S) (LNot (SEq S (F b) (D S F))). - Intros. - MApply 'lnot_i. - MCut '(LIff (Eps S b (F b)) (LNot (Eps S b (F b)))). - MApply 'liff_i. - MApply 'snot_eps_e. - Change (Eps S b (D S F)). - MApply '(seq_e1 S (F b)). - MApply '(seq_e2 S (D S F)). - Change (Eps S b (SNot S (F b))). - MApply 'snot_eps_i. - MApply '(lnot_liff_lbot (Eps S b (F b))). - Qed. - - End cantor_diagonalization. - -End Subset_Operations_Results. diff --git a/helm/coq-contribs/SUBSETS/tbs_rel.v b/helm/coq-contribs/SUBSETS/tbs_rel.v deleted file mode 100644 index c3f1957c1..000000000 --- a/helm/coq-contribs/SUBSETS/tbs_rel.v +++ /dev/null @@ -1,249 +0,0 @@ -(** This module (Toolbox - subsets: relations) defines: - - subset inclusion: [SbE] (sub or equal) - - subset overlap: [SOv] (subset overlap) not used in %\cite{SV}% - - subset equality [SEq] (subset equal) - - and provides: - - introduction and elimination rules for [SbE] and [SEq] - - standard properties (reflexiivity, symmetry, transitivity) for [SbE] and [SEq] - -% \hrule % - - We require Toolbox basics and the underlying theory. - - *) -Require Export tbs_base. - -Section Subset_Relations_Definitions. - - Section subset_inclusion_overlap_equality. - -(** Sub or equal: [(SbE S U V)] means $ U \sub_S V $. *) - Definition SbE: (S:Set) (S -> Set) -> (S -> Set) -> Set. - Intros S U V. - Exact (a:S)(Eps S a U)->(Eps S a V). - Defined. - -(** Subset overlap: [(SOv S U V)] means $ U \meet_S V $ that is $ (\lex a \in S)\ a \e U \land a \e V $. *) - Definition SOv: (S:Set) (S -> Set) -> (S -> Set) -> Set. - Intros S U V. - Exact (LEx S [a](LAnd (Eps S a U) (Eps S a V))). - Defined. -(* -(** Sup or equal: [(SpE S U V)] means $ U \sup_S V $. *) -Definition SpE: (S:Set) (S -> Set) -> (S -> Set) -> Set. -Intros S U V. -Exact (SbE S V U). -Defined. -*) - -(** Subset equal: [(SEq S U V)] means $ U =_S V $. *) - Definition SEq: (S:Set) (S -> Set) -> (S -> Set) -> Set. - Intros S U V. - Exact (a:S)(LIff (Eps S a U) (Eps S a V)). - Defined. - - End subset_inclusion_overlap_equality. -(* -Section subset_completion. - -(** Subset complete: [(SCm S U V)] means $ (\lall a \in S)\ a \e U \lor a \e V $. *) -Definition SCm: (S:Set) (S -> Set) -> (S -> Set) -> Set. -Intros S U V. -Exact (a:S)(LOr (Eps S a U) (Eps S a V)). -Defined. - -End subset_completion. -*) -End Subset_Relations_Definitions. - -Section Subset_Relations_Results. - - Section subset_inclusion. - -(** Sub or equal introduction: $ ((\lall a \in S)\ a \e U \limp a \e V) \limp U \sub V $. *) - Theorem sbe_i: (S:Set; U,V:S-> Set) ((a:S) (Eps S a U) -> (Eps S a V)) -> (SbE S U V). - Unfold SbE. - Intros. - MApply '(H a). - Qed. - -(** Sub or equal elimination: $ a \e U \limp U \sub V \limp a \e V $. *) - Theorem sbe_e: (S:Set; U,V:S -> Set; a:S) (Eps S a U) -> (SbE S U V) -> (Eps S a V). - Unfold SbE. - Intros. - MApply '(H0 a). - Qed. - -(* -Theorem sbe_i2: (S:Set; U,V:(S -> Set)) ((a:S) (U a) -> (V a)) -> (SbE S U V). -Intros. -MApply 'sbe_i. -MApply 'eps_c1_l. -MApply '(H a). -MApply 'eps_c1_r. -Qed. - -Theorem sbe_e2: (S:Set; U,V:(S -> Set); a:S) (U a) -> (SbE S U V) -> (V a). -Intros. -MApply 'eps_c1_r. -MApply '(sbe_e S U). -MApply 'eps_c1_l. -Qed. -*) -(** Sub or equal reflexivity: $ U \sub U $. *) - Theorem sbe_r: (S:Set; U:S->Set) (SbE S U U). - Intros. - MApply 'sbe_i. - Qed. - -(** Sub or equal transitivity: $ U \sub W \limp W \sub V \limp U \sub V $. *) - Theorem sbe_t: (S:Set; W,U,V:S->Set) (SbE S U W) -> (SbE S W V) -> (SbE S U V). - Intros. - MApply 'sbe_i. - MApply '(sbe_e S W). - MApply '(sbe_e S U). - Qed. - - End subset_inclusion. - - Section stop_sbot_sing_inclusion. - -(** Subset top, sub or equal introduction: $ U \sub \stop $. *) - Theorem stop_sbe_i: (S:Set; U:S->Set) (SbE S U (STop S)). - Intros. - MApply 'sbe_i. - MApply 'stop_eps_i. - Qed. - -(** Subset bottom, sub or equal introduction: $ \sbot \sub U $. *) - Theorem sbot_sbe_i: (S:Set; U:S->Set) (SbE S (SBot S) U). - Intros. - MApply 'sbe_i. - MCut 'Empty. - Intros. - MApply '(sbot_eps_e S a). - MElim 'H0 'efq. - Qed. - -(** Singleton, sub or equal introduction: $ a \e U \limp \subset{a} \sub U $. *) - Theorem sing_sbe_i: (S:Set; a:S; U:S->Set) (Eps S a U) -> (SbE S (Sing S a) U). - Intros. - MApply 'sbe_i. - MCut '(Id S a a0). - MApply 'sing_eps_e. - MApply '(id_repl S a0 a). - Qed. - -(** Singleton, sub or equal elimination: $ \subset{a} \sub U \limp a \e U $. *) - Theorem sing_sbe_e: (S:Set; a:S; U:S->Set) (SbE S (Sing S a) U) -> (Eps S a U). - Intros. - MApply '(sbe_e S (Sing S a)). - MApply 'sing_eps_i. - Qed. - -(** Singleton, sub or equal criterion: $ a \e U \liff \subset{a} \sub U $. *) - Theorem sing_sbe: (S:Set; a:S; U:S->Set) (LIff (Eps S a U) (SbE S (Sing S a) U)). - Intros. - MApply 'liff_i. - MApply 'sing_sbe_i. - MApply 'sing_sbe_e. - Qed. - - End stop_sbot_sing_inclusion. - - Section subset_equality. - -(** Set equal introduction: $ ((\lall a \in S)\ a \e U \limp a \e V) \limp ((\lall a \in S)\ a \e V \limp a \e U) \limp U = V $. *) - Theorem seq_i: (S:Set; U,V:S->Set) ((a:S) (Eps S a U) -> (Eps S a V)) -> ((a:S) (Eps S a V) -> (Eps S a U)) -> (SEq S U V). - Unfold SEq. - Intros. - MApply 'liff_i. - MApply '(H a). - MApply '(H0 a). - Qed. - -(** Set equal elimination 1: $ a \e U \limp U = V \limp a \e V $. *) - Theorem seq_e1: (S:Set; U,V:S->Set; a:S) (Eps S a U) -> (SEq S U V) -> (Eps S a V). - Unfold SEq. - Intros. - MApply '(liff_e1 (Eps S a U)). - MApply '(H0 a). - Qed. - -(** Set equal elimination 2: $ a \e V \limp U = V \limp a \e U $. *) - Theorem seq_e2: (S:Set; V,U:(S -> Set); a:S) (Eps S a V) -> (SEq S U V) -> (Eps S a U). - Unfold SEq. - Intros. - MApply '(liff_e2 (Eps S a V)). - MApply '(H0 a). - Qed. - -(* -Theorem seq_i2: (S:Set; U,V:(S -> Set)) ((a:S) (U a) -> (V a)) -> ((a:S) (V a) -> (U a)) -> (SEq S U V). -Intros. -MApply 'seq_i. -MApply 'eps_c1_l. -MApply '(H a). -MApply 'eps_c1_r. -MApply 'eps_c1_l. -MApply '(H0 a). -MApply 'eps_c1_r. -Qed. -*) -(** Set equal, sub or equal introduction: $ U \sub V \limp V \sub U \limp U = V $. *) - Theorem seq_sbe_i: (S:Set; U,V:S->Set) (SbE S U V) -> (SbE S V U) -> (SEq S U V). - Intros. - MApply 'seq_i. - MApply '(sbe_e S U). - MApply '(sbe_e S V). - Qed. - -(** Set equal, sub or equal elimination: $ U = V \limp U \sub V \land V \sub U $. *) - Theorem seq_sbe_e: (S:Set; U,V:S->Set) (SEq S U V) -> (LAnd (SbE S U V) (SbE S V U)). - Intros. - MApply 'land_i. - MApply 'sbe_i. - MApply '(seq_e1 S U). - MApply 'sbe_i. - MApply '(seq_e2 S V). - Qed. - -(** Set equal, sub or equal criterion: $ U = V \liff U \sub V \land V \sub U $. *) - Theorem seq_sbe: (S:Set; U,V:S->Set) (LIff (SEq S U V) (LAnd (SbE S U V) (SbE S V U))). - Intros. - MApply 'liff_i. - MApply 'seq_sbe_e. - MApply 'seq_sbe_i. - MApply '(land_e2 (SbE S V U)). - MApply '(land_e1 (SbE S U V)). - Qed. - -(** Subset equal reflexivity: $ U = U $. *) - Theorem seq_r: (S:Set; U:S->Set) (SEq S U U). - Intros. - MApply 'seq_i. - Qed. - -(** Subset equal transitivity: $ U = W \limp W = V \limp U = V $. *) - Theorem seq_t: (S:Set; W,U,V:S->Set) (SEq S U W) -> (SEq S W V) -> (SEq S U V). - Intros. - MApply 'seq_i. - MApply '(seq_e1 S W). - MApply '(seq_e1 S U). - MApply '(seq_e2 S W). - MApply '(seq_e2 S V). - Qed. - -(** Subset equal symmetry: $ U = V \limp V = U $. *) - Theorem seq_s: (S:Set; U,V:S-> Set) (SEq S U V) -> (SEq S V U). - Intros. - MApply 'seq_i. - MApply '(seq_e2 S V). - MApply '(seq_e1 S U). - Qed. - - End subset_equality. - -End Subset_Relations_Results. - diff --git a/helm/coq-contribs/SUBSETS/tbs_rop.v b/helm/coq-contribs/SUBSETS/tbs_rop.v deleted file mode 100644 index 2abccd67c..000000000 --- a/helm/coq-contribs/SUBSETS/tbs_rop.v +++ /dev/null @@ -1,130 +0,0 @@ -Require Export tbs_op. - -Section Subset_Relative_Operations_Definitions. - - Section relative_membership. - - Definition REps: (I,S:Set) S -> (I -> S -> Set) -> Set := [I,S;a;F](LEx I [i](Eps S a (F i))). - - End relative_membership. - - Section infinitary_subset_relative_operations. - - Definition SRAll: (I:Set; T:I->Set; S:Set) ((i:I) (T i) -> (S -> Set)) -> (S -> Set) := [I;T;S;R;a](RAll I T [i](REps (T i) S a (R i))). - - Definition SREx: (I:Set; T:I->Set; S:Set) ((i:I) (T i) -> (S -> Set)) -> (S -> Set) := [I;T;S;R;a](REx I T [i](REps (T i) S a (R i))). - - End infinitary_subset_relative_operations. - -End Subset_Relative_Operations_Definitions. - -Section Subset_Relative_Operations_Results. - - Section relative_epsilon_conditions. - - Theorem reps_i: (I:Set; i:I; S:Set; a:S; F:I->S->Set) (Eps S a (F i)) -> (REps I S a F). - Intros. - Unfold REps. - MApply '(lex_i I i). - Qed. - - Theorem reps_e: (I,S:Set; a:S; F:I->S->Set; P:Set) ((i:I) (Eps S a (F i)) -> P) -> (REps I S a F) -> P. - Intros. - Unfold REps in H0. - MElim 'H0 'lex_e. - MApply '(H a0). - Qed. - - End relative_epsilon_conditions. - - Section infinitary_relative_intersection. - - Theorem srall_eps_i: (I:Set; T:I->Set; S:Set; a:S; R:(i:I)(T i)->(S->Set)) ((i:I) (REps (T i) S a (R i))) -> (Eps S a (SRAll I T S R)). - Intros. - MApply 'eps_i. - Unfold SRAll. - MApply 'rall_i. - MApply '(H a0). - Qed. - - Theorem srall_eps_e: (I:Set; i:I; T:I->Set) (T i) -> (S:Set; a:S; R:(i:I)(T i)->(S->Set)) (Eps S a (SRAll I T S R)) -> (REps (T i) S a (R i)). - Intros. - MCut '(SRAll I T S R a). - MApply 'eps_e. - Unfold SRAll in H1. - MApply '(rall_e I i T). - MApply 'eps_i. - Qed. - - End infinitary_relative_intersection. - - Section infinitary_relative_union. - - Theorem srex_eps_i: (I:Set; i:I; S:Set; a:S; T:I->Set; R:(i:I)(T i)->(S->Set)) (REps (T i) S a (R i)) -> (Eps S a (SREx I T S R)). - Intros. - MApply 'eps_i. - Unfold SREx. - MApply '(rex_i I i). - MApply 'eps_i. - MApply '(reps_e (T i) S a (R i)). - Qed. - - Theorem srex_eps_e: (I:Set; T:I->Set; S:Set; a:S; R:(i:I)(T i)->(S->Set)) (Eps S a (SREx I T S R)) -> (LEx I [i](REps (T i) S a (R i))). - Intros. - MCut '(SREx I T S R a). - MApply 'eps_e. - Unfold SREx in H0. - MApply '(rex_e I T [i:I](REps (T i) S a (R i))). - MApply '(lex_i I a0). - Qed. - - Theorem srex_sbe: (I:Set; V,W:I->Set; S:Set; F:I->S->Set) (SbE I V W) -> (SbE S (SREx I V S [i;_](F i)) (SREx I W S [i;_](F i))). - Intros. - MApply 'sbe_i. - MCut '(LEx I [i:?](REps (V i) S a [_:?](F i))). - MApply '(srex_eps_e I V S a [i:?; _:(V i)](F i)). - MElim 'H1 'lex_e. - MApply '(srex_eps_i I a0). - MCut '(W a0). - MApply 'eps_e. - MApply '(sbe_e I V). - MApply 'eps_i. - MApply '(reps_e (V a0) S a [_:(V a0)](F a0)). - MApply '(reps_i (W a0) H2). - MApply '(reps_e (V a0) S a [_:(V a0)](F a0)). - Qed. - - Theorem srex_sing_e: (S:Set; U:S->Set) (SbE S (SREx S U S [a;_](Sing S a)) U). - Intros. - MApply 'sbe_i. - MCut '(LEx S [b:?](REps (U b) S a [_:?](Sing S b))). - MApply '(srex_eps_e S U S a [a0:S; _:(U a0)](Sing S a0)). - MElim 'H0 'lex_e. - MApply '(reps_e (U a0) S a [_:(U a0)](Sing S a0)). - MCut '(Id S a0 a). - MApply 'sing_eps_e. - MApply '(id_repl S a a0). - MApply 'eps_i. - Qed. - - Theorem srex_sing_i: (S:Set; U:S->Set) (SbE S U (SREx S U S [a;_](Sing S a))). - Intros. - MApply 'sbe_i. - MApply '(srex_eps_i S a). - MCut '(U a). - MApply 'eps_e. - MApply '(reps_i (U a) H0). - MApply 'sing_eps_i. - Qed. - - Theorem srex_sing: (S:Set; U:S->Set) (SEq S (SREx S U S [a;_](Sing S a)) U). - Intros. - MApply 'seq_sbe_i. - MApply 'srex_sing_e. - MApply 'srex_sing_i. - Qed. - - End infinitary_relative_union. - -End Subset_Relative_Operations_Results. - diff --git a/helm/coq-contribs/SUBSETS/xt_fin.v b/helm/coq-contribs/SUBSETS/xt_fin.v deleted file mode 100644 index 694632494..000000000 --- a/helm/coq-contribs/SUBSETS/xt_fin.v +++ /dev/null @@ -1,304 +0,0 @@ -Require Export Standard. - -Section Fin_Definitions. - - Section finite_sets. - - Definition Fin: N -> Set := (NatFam [_]Set Empty [_](LOr One)). - -(* Constructors: first element, next element *) - Definition ffe: (n:N) (Fin (succ n)). - Intros. - MApply '(in_l One (Fin n) tt). - Defined. - - Definition fne: (n:N) (Fin n) -> (Fin (succ n)). - Intros. - MApply '(in_r One (Fin n)). - Defined. - -(* Eliminator *) - Definition finrec: (n:N; P:(Fin (succ n))->Set) (P (ffe n)) -> ((a:(Fin n))(P (fne n a))) -> (p:(Fin (succ n))) (P p). - Intros. - MElim 'p '(when One (Fin n)). - MElim 's 'onerec. - MApply '(H0 t). - Defined. - -(* Predecessor *) - Definition fpe: (n:N) (Fin (succ (succ n))) -> (Fin (succ n)). - Intros. - MElim 'H '(finrec (succ n)). - MApply '(ffe n). - Defined. - -(* Injection of (Fin (succ n)) in N *) - Definition fn: (n:N) (Fin (succ n)) -> N := (natrec [m](Fin (succ m))->N [_]zero [m;p](finrec (succ m) [_]N zero [a](succ (p a)))). -(* - Intros n. - Elim n using natrec. - Intros. - Exact zero. - Intros. - Apply H. - Apply fpe. - Apply H0. -*) - -(* Surjection of N in (Fin (succ n)): (ffe n) returned if m >= n *) - Definition nf: (n,m:N) (Fin (succ n)) := (natrec [m]N->(Fin (succ m)) [_](ffe zero) [n';p](natrec [_](Fin (succ (succ n'))) (ffe (succ n')) [m';p'](fne (succ n') (p m')))). - -(* Left injection of (Fin m) -> (Fin (add m n)) *) - Definition fil: (m,n:N) (Fin m) -> (Fin (add m n)) := - (natrec [m](n:N) (Fin m) -> (Fin (add m n)) - [n](efq [_](Fin (add zero n))) - [m';_](natrec [n](Fin (succ m')) -> (Fin (add (succ m') n)) - [a]a [n';_;a](nf (add (succ m') n') (fn m' a)))). - -(* Right injection of (Fin n) -> (Fin (add m n)) *) - Definition fir: (m,n:N) (Fin n) -> (Fin (add m n)) := - [m](natrec [n](Fin n) -> (Fin (add m n)) - (efq [_](Fin m)) - [n';_;a](nf (add m n') (add (fn n' a) m))). - - End finite_sets. - - Section explicit_finite_domain_functions. - - Definition xfdf_list: (S:Set; n:N) ((Fin n) -> S) -> (List S) := [S](natrec [m]((Fin m)->S)->(List S) [_](empty S) [m;p;f](fr S (p [k](f (fne m k))) (f (ffe m)))). - - Definition xfdf_add': (S:Set; m:N) ((Fin (succ m))->S) -> (n:N) ((Fin (succ n))->S) -> (Fin (add_three (succ m) n one)) -> S := - [S;m;v;n;w;a](ite [_]S (w (nf n (sub (fn (add (succ m) n) a) (succ m)))) - (v (nf m (fn (add (succ m) n) a))) - (b_le (fn (add (succ m) n) a) m)). - - Definition xfdf_add: (S:Set; m:N) ((Fin m)->S) -> (n:N) ((Fin n)->S) -> (Fin (add m n)) -> S := - [S](natrec [m]((Fin m)->S) -> (n:N) ((Fin n)->S) -> (Fin (add m n)) -> S - [_](natrec [n]((Fin n)->S) -> (Fin (add zero n)) -> S - [w]w [n';_;w;a](w (nf n' (fn (add zero n') a)))) - [m';_;v](natrec [n]((Fin n)->S) -> (Fin (add (succ m') n)) -> S - [_]v [n';_](xfdf_add' S m' v n'))). - - End explicit_finite_domain_functions. - - Section finite_domain_functions. - - Definition FDF: Set -> Set := [S](Sigma N [n](Fin n)->S). - - Definition fdf_i: (S:Set; n:N) ((Fin n)->S) -> (FDF S) := [S](pair N [n](Fin n)->S). - - Definition fdf_e: (S:Set; P:(FDF S)->Set) ((n:N; f:(Fin n)->S) (P (fdf_i S n f))) -> (v:(FDF S))(P v) := - [S:Set](psplit N [n](Fin n)->S). - - Definition fdf_n: (S:Set) (FDF S) -> N := [S](fdf_e S [_]N [a;_]a). - - Definition fdf_f: (S:Set; v:(FDF S)) (Fin (fdf_n S v)) -> S := [S](fdf_e S [p](Fin (fdf_n S p))->S [_;p]p). - - Definition fdf_empty: (S:Set) (FDF S) := [S](fdf_i S zero (efq [_]S)). - - Definition fdf_fr: (S:Set) (FDF S) -> S -> (FDF S) := [S;v;a](fdf_i S (succ (fdf_n S v)) (when One (Fin (fdf_n S v)) [_]S [_]a (fdf_f S v))). -(* - Definition lfdf: (S:Set) (List S) -> (FDF S) := [S](listrec S [_](FDF S) (fdf_empty S) [_](fdf_fr S)). -*) - Definition fdfl: (S:Set) (FDF S) -> (List S) := [S](fdf_e S [_](List S) (xfdf_list S)). - - Definition fdf_add: (S:Set) (FDF S) -> (FDF S) -> (FDF S) := [S;v;w](fdf_i S (add (fdf_n S v) (fdf_n S w)) (xfdf_add S (fdf_n S v) (fdf_f S v) (fdf_n S w) (fdf_f S w))). - - End finite_domain_functions. - -End Fin_Definitions. - -Section Fin_Results. - - Section fin_results. - -(* Immediate result used for reference - Theorem fpe_fne: (n:N; a:(Fin (succ n))) (Id (Fin (succ n)) (fpe n (fne (succ n) a)) a). -*) - Theorem fne_ini: (n:N; a,b:(Fin n)) (Id (Fin (succ n)) (fne n a) (fne n b)) -> (Id (Fin n) a b). - Intros n. - Elim n using natrec. - Intros. - MElim a efq. - Intros. - MApply '(id_repl (Fin (succ n0)) a (fpe n0 (fne (succ n0) a))). - MApply '(id_repl (Fin (succ n0)) b (fpe n0 (fne (succ n0) b))). - MApply '(id_comp (Fin (succ (succ n0))) (Fin (succ n0)) (fpe n0)). - Qed. - - Theorem fn_le: (n:N; a:(Fin (succ n))) (LE (fn n a) n). - Intros n. - Elim n using natrec; Intros. - MApply 'le_r. - MElim 'a '(finrec (succ n0)). - MApply 'le_wf. - MApply 'le_comp_succ. - MApply '(H a0). - Qed. - - Theorem nfn': (n:N; a:(Fin (succ n)); m:N) (LE m n) -> (Id (Fin (succ n)) (nf n m) a) -> (Id N (fn n a) m). - Intros n. - Elim n using natrec. - Intros; Simpl. - MApply 'id_comm. - MApply '(le_zero m). - Intros n' H a m. - Elim a using (finrec (succ n')). - MElim 'm 'natrec. - MCut 'Empty. - Unfold fne in H2. - MApply '(lor_p4 One (Fin (succ n')) tt (nf n' n0)). - MElim 'H3 'efq. - Intros a'. - Elim m using natrec. - Simpl. - Intros. - MCut 'Empty. - MApply '(lor_p4 One (Fin (succ n')) tt a'). - MElim 'H2 'efq. - Intros. - Simpl. - MApply '(id_comp N). - Change (Id N (fn n' a') n0). - MApply '(H a' n0). - Simpl in H2. - Change (Id (Fin (succ (succ n'))) (fne (succ n') (nf n' n0)) (fne (succ n') a')) in H2. - MApply 'fne_ini. - Qed. - - Theorem nfn: (n:N; m:N) (LE m n) -> (Id N (fn n (nf n m)) m). - Intros. - MApply 'nfn'. - Qed. - - Theorem fnf_fne: (n:N; a:(Fin n)) (Id (Fin (succ n)) (nf n (fn n (fne n a))) (fne n a)). - Intros n. - Elim n using natrec; Intros. - MElim 'a 'efq. - Elim a using (finrec n0); Intros. - MElim 'n0 'natrec. - MSimpl. - MApply '(id_comp (Fin (succ n0))). - MApply '(H a0). - Qed. - - Theorem fnf: (n:N; a:(Fin (succ n))) (Id (Fin (succ n)) (nf n (fn n a)) a). - Intros. - Elim a using (finrec n); Intros. - MElim 'n 'natrec. - MApply 'fnf_fne. - Qed. - - End fin_results. - - Section xfdf_results. - - Theorem xfdfl_lin: (S:Set; n:N; a:(Fin n); v:(Fin n)->S) (LIn S (v a) (xfdf_list S n v)). - Intros S n. - Elim n using natrec; Intros. - MElim a efq. - MSimpl. - MApply 'lin_fr_i. - MElim 'a '(finrec n0). - MApply 'in_r. - MApply 'in_l. - MApply '(H a0 [k:(Fin n0)](v (fne n0 k))). - Qed. - - Theorem xfdfa_fil: (S:Set; m:N; a:(Fin m); v:(Fin m)->S; n:N; w:(Fin n)->S) (Id S (xfdf_add S m v n w (fil m n a)) (v a)). - Intros S m. - Elim m using natrec. - Intros a. - Elim a using efq. - Intros m' H a v n. - Elim n using natrec. - Intros. - MApply 'id_r. - Intros n' H0 w. - Simpl. - MCut '(LE (fn m' a) (add (succ m') n')). - MApply '(le_trans m'). - MApply 'fn_le. - MApply '(id_repl N (add (succ m') n') (add_three m' n' one)). - MApply 'id_comm. - MApply '(add_succ m' n'). - MApply '(le_add m' (succ n')). - Unfold xfdf_add'. - MApply '(id_repl Boole (b_le (fn (add (succ m') n') (nf (add (succ m') n') (fn m' a))) m') true). - MApply 'id_comm. - Fold (LE (fn (add (succ m') n') (nf (add (succ m') n') (fn m' a))) m'). - MApply '(id_repl N (fn (add (succ m') n') (nf (add (succ m') n') (fn m' a))) (fn m' a)). - MApply 'id_comm. - MApply 'nfn. - MApply 'fn_le. - Simpl. - MApply '(id_comp (Fin (succ m'))). - MApply '(id_repl N (fn (add (succ m') n') (nf (add (succ m') n') (fn m' a))) (fn m' a)). - MApply 'id_comm. - MApply 'nfn. - MApply 'fnf. - Qed. - - Theorem xfdfa_fir: (S:Set; m:N; v:(Fin m)->S; n:N; a:(Fin n); w:(Fin n)->S) (Id S (xfdf_add S m v n w (fir m n a)) (w a)). - Intros S m. - Elim m using natrec. - Intros v n. - Elim n using natrec. - Intros a. - Elim a using efq. - Intros n' H a w. - MSimpl. - MApply '(id_comp (Fin (succ n'))). - MApply '(id_repl N (fn (add zero n') (nf (add zero n') (fn n' a))) (fn n' a)). - MApply 'id_comm. - MApply 'nfn. - MApply '(le_trans n'). - MApply 'fn_le. - MApply '(id_repl N (add zero n') n'). - MApply '(add_comm n' zero). - MApply 'le_r. - MApply 'fnf. - Intros m' H v n. - Elim n using natrec. - Intros a. - Elim a using efq. - Intros n' H' a w. - (MSimpl; Apply succ_fold). (**) - MCut '(LE (succ (add (fn n' a) m')) (add (succ m') n')). - MApply '(id_repl N (add (succ m') n') (succ (add m' n'))). - MApply 'id_comm. - MApply 'add_succ. - MApply 'le_comp_succ. - MApply '(id_repl N (add m' n') (add n' m')). - MApply 'add_comm. - MApply 'le_comp_add. - MApply 'fn_le. - Unfold xfdf_add'. - MApply '(id_repl Boole (b_le (fn (add (succ m') n') (nf (add (succ m') n') (succ (add (fn n' a) m')))) m') false). - MApply 'id_comm. - Fold (GT (fn (add (succ m') n') (nf (add (succ m') n') (succ (add (fn n' a) m')))) m'). - MApply 'le_gt. - MApply '(id_repl N (fn (add (succ m') n') (nf (add (succ m') n') (succ (add (fn n' a) m')))) (succ (add (fn n' a) m'))). - MApply 'id_comm. - MApply 'nfn. - MApply 'le_comp_succ. - MApply '(id_repl N (add (fn n' a) m') (add m' (fn n' a))). - MApply 'add_comm. - MApply 'le_add. - MSimpl. - MApply 'pred_fold. - MApply '(id_comp (Fin (succ n'))). - MApply '(id_repl N (sub (pred (fn (add (succ m') n') (nf (add (succ m') n') (succ (add (fn n' a) m'))))) m') (fn n' a)). - MApply 'id_comm. - MApply 'add_sub_e. - MApply 'succ_pred_e. - MApply '(id_repl N (add m' (fn n' a)) (add (fn n' a) m')). - MApply 'add_comm. - MApply 'nfn. - MApply 'fnf. - Qed. - - End xfdf_results. - -End Fin_Results. - 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 28f2804f9..000000000 --- a/helm/dtd/cic.dtd +++ /dev/null @@ -1,247 +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/gTopLevel/.cvsignore b/helm/gTopLevel/.cvsignore deleted file mode 100644 index ddbcaa9ee..000000000 --- a/helm/gTopLevel/.cvsignore +++ /dev/null @@ -1,15 +0,0 @@ -*.cm[aiox] *.cmxa *.[ao] -gTopLevel gTopLevel.opt -regtest regtest.opt -testlibrary testlibrary.opt -typecheck_uri typecheck_uri.opt -styles stylesheets meta_stylesheets -chosenTermEditor.ml -chosenTransformer.ml -disambiguatingParser.ml -.debug_script -autom4te.cache -config.log -config.status -configure -Makefile diff --git a/helm/gTopLevel/.depend b/helm/gTopLevel/.depend deleted file mode 100644 index d28c5220f..000000000 --- a/helm/gTopLevel/.depend +++ /dev/null @@ -1,42 +0,0 @@ -termEditor.cmi: disambiguatingParser.cmi -texTermEditor.cmi: disambiguatingParser.cmi -invokeTactics.cmi: termViewer.cmi termEditor.cmi -hbugs.cmi: invokeTactics.cmi -chosenTermEditor.cmi: disambiguatingParser.cmi -proofEngine.cmo: proofEngine.cmi -proofEngine.cmx: proofEngine.cmi -logicalOperations.cmo: proofEngine.cmi logicalOperations.cmi -logicalOperations.cmx: proofEngine.cmx logicalOperations.cmi -disambiguatingParser.cmo: disambiguatingParser.cmi -disambiguatingParser.cmx: disambiguatingParser.cmi -termEditor.cmo: disambiguatingParser.cmi termEditor.cmi -termEditor.cmx: disambiguatingParser.cmx termEditor.cmi -texTermEditor.cmo: disambiguatingParser.cmi texTermEditor.cmi -texTermEditor.cmx: disambiguatingParser.cmx texTermEditor.cmi -chosenTransformer.cmo: chosenTransformer.cmi -chosenTransformer.cmx: chosenTransformer.cmi -termViewer.cmo: logicalOperations.cmi termViewer.cmi -termViewer.cmx: logicalOperations.cmx termViewer.cmi -invokeTactics.cmo: termViewer.cmi termEditor.cmi proofEngine.cmi \ - logicalOperations.cmi invokeTactics.cmi -invokeTactics.cmx: termViewer.cmx termEditor.cmx proofEngine.cmx \ - logicalOperations.cmx invokeTactics.cmi -hbugs.cmo: proofEngine.cmi invokeTactics.cmi hbugs.cmi -hbugs.cmx: proofEngine.cmx invokeTactics.cmx hbugs.cmi -chosenTermEditor.cmo: termEditor.cmi chosenTermEditor.cmi -chosenTermEditor.cmx: termEditor.cmx chosenTermEditor.cmi -helmGtkLogger.cmo: helmGtkLogger.cmi -helmGtkLogger.cmx: helmGtkLogger.cmi -gTopLevel.cmo: termViewer.cmi termEditor.cmi proofEngine.cmi \ - logicalOperations.cmi invokeTactics.cmi helmGtkLogger.cmi hbugs.cmi \ - disambiguatingParser.cmi chosenTermEditor.cmi -gTopLevel.cmx: termViewer.cmx termEditor.cmx proofEngine.cmx \ - logicalOperations.cmx invokeTactics.cmx helmGtkLogger.cmx hbugs.cmx \ - disambiguatingParser.cmx chosenTermEditor.cmx -regtest.cmo: disambiguatingParser.cmi batchParser.cmi -regtest.cmx: disambiguatingParser.cmx batchParser.cmx -testlibrary.cmo: batchParser.cmi -testlibrary.cmx: batchParser.cmx -batchParser.cmo: disambiguatingParser.cmi batchParser.cmi -batchParser.cmx: disambiguatingParser.cmx batchParser.cmi -batchParser.cmi: disambiguatingParser.cmi diff --git a/helm/gTopLevel/INSTALL b/helm/gTopLevel/INSTALL deleted file mode 100644 index d8a8d1f8a..000000000 --- a/helm/gTopLevel/INSTALL +++ /dev/null @@ -1,12 +0,0 @@ -1) Customize script.sh. You should load script.sh before compiling or - executing gTopLevel -2) Customize gTopLevel.ml and rootcontent.xsl in order to make them communicate. -3) Check out the "stylesheets" and "meta_stylesheets" directories from the - MoWGLI CVS repository. -4) Type "make" to compile to bytecode and "make opt" to compile to nativecode. - -Enjoy! - -Note: - Every time that you upgrade stylesheets, you should "rm -rf" the styles - directory and do make again. diff --git a/helm/gTopLevel/Makefile.in b/helm/gTopLevel/Makefile.in deleted file mode 100644 index b64716cc2..000000000 --- a/helm/gTopLevel/Makefile.in +++ /dev/null @@ -1,161 +0,0 @@ -BIN_DIR = /usr/local/bin - -TEST_REQUIRES = \ - helm-registry \ - helm-tactics \ - helm-cic_transformations \ - helm-cic_textual_parser2 \ - helm-mathql_interpreter \ - helm-mathql_generator \ - helm-xmldiff \ - lablgtk2 \ - mathml-editor \ - lablgtkmathview \ - mysql - -REQUIRES = $(TEST_REQUIRES) gdome2-xslt helm-hbugs lablgtk2.init lablgtk2.glade - -OCAMLOPTIONS = \ - -package "$(REQUIRES)" -predicates "$(PREDICATES)" -pp camlp4o -thread -OCAMLFIND = @OCAMLFIND@ -OCAMLDEBUGOPTIONS = -g -OCAMLC = $(OCAMLFIND) ocamlc $(OCAMLDEBUGOPTIONS) $(OCAMLOPTIONS) -OCAMLOPT = $(OCAMLFIND) ocamlopt $(OCAMLOPTIONS) -OCAMLDEP = $(OCAMLFIND) ocamldep -pp camlp4o -OCAMLDEBUG = wowcamldebug - -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)) -TEST_LIBRARIES = $(shell $(OCAMLFIND) query -recursive -predicates "byte $(PREDICATES)" -format "%d/%a" $(TEST_REQUIRES)) -TEST_LIBRARIES_OPT = $(shell $(OCAMLFIND) query -recursive -predicates "native $(PREDICATES)" -format "%d/%a" $(TEST_REQUIRES)) - -all: styles gTopLevel -opt: styles gTopLevel.opt - -start: - $(MAKE) -C ../hbugs/ start -stop: - $(MAKE) -C ../hbugs/ stop - -INTERFACE_FILES = \ - proofEngine.mli \ - logicalOperations.mli \ - disambiguatingParser.mli \ - termEditor.mli \ - texTermEditor.mli \ - termViewer.mli \ - invokeTactics.mli \ - hbugs.mli \ - chosenTermEditor.mli \ - helmGtkLogger.mli - -DEPOBJS = \ - $(INTERFACE_FILES) $(INTERFACE_FILES:%.mli=%.ml) \ - gTopLevel.ml regtest.ml testlibrary.ml batchParser.ml batchParser.mli - -TOPLEVELOBJS = $(INTERFACE_FILES:%.mli=%.cmo) gTopLevel.cmo -TESTOBJS = \ - disambiguatingParser.cmo \ - batchParser.cmo -REGTESTOBJS = $(TESTOBJS) regtest.cmo -TESTLIBOBJS = $(TESTOBJS) testlibrary.cmo - -$(INTERFACE_FILES:%.mli=%.cmo): $(LIBRARIES) -$(INTERFACE_FILES:%.mli=%.cmx): $(LIBRARIES_OPT) - -styles: - @echo "***********************************************************************" - @if [ -d stylesheets -a -d meta_stylesheets ] ; then echo -e "* stylesheets and metastylesheets found: *\\n* I will create the request hyperlinks in styles *" ; else echo -e "* stylesheets or meta_stylesheets not found: *\\n* you should check-out the two directories from the MoWGLI repository *" ; exit -1 ; fi - @echo "***********************************************************************" - mkdir styles - (cd styles && for i in ../stylesheets/*.xsl ; do ln -s $$i; done) - (cd styles && for i in ../stylesheets/generated/*.xsl ; do ln -s $$i; done) - (cd styles && rm rootcontent.xsl && ln -s ../rootcontent.xsl) - -depend: - $(OCAMLDEP) $(DEPOBJS) > .depend - -gTopLevel: $(TOPLEVELOBJS) $(LIBRARIES) - $(OCAMLC) -thread -linkpkg -o $@ $(TOPLEVELOBJS) -gTopLevel.opt: $(TOPLEVELOBJS:.cmo=.cmx) $(LIBRARIES_OPT) - $(OCAMLOPT) -thread -linkpkg -o $@ $(TOPLEVELOBJS:.cmo=.cmx) - -testlibrary: $(TESTLIBOBJS) $(TEST_LIBRARIES) - $(OCAMLFIND) ocamlc -thread $(OCAMLDEBUGOPTIONS) -linkpkg \ - -package "$(TEST_REQUIRES)" -o $@ $(TESTLIBOBJS) -testlibrary.opt: $(TESTLIBOBJS:.cmo=.cmx) $(TEST_LIBRARIES_OPT) - $(OCAMLFIND) ocamlopt -thread -linkpkg -package "$(TEST_REQUIRES)" -o $@ \ - $(TESTLIBOBJS:.cmo=.cmx) - -regtest: $(REGTESTOBJS) $(TEST_LIBRARIES) - $(OCAMLFIND) ocamlc -thread $(OCAMLDEBUGOPTIONS) -linkpkg \ - -package "$(TEST_REQUIRES)" -o $@ $(REGTESTOBJS) -regtest.opt: $(REGTESTOBJS:.cmo=.cmx) $(TEST_LIBRARIES_OPT) - $(OCAMLFIND) ocamlopt -thread -linkpkg -package "$(TEST_REQUIRES)" -o $@ \ - $(REGTESTOBJS:.cmo=.cmx) - -.SUFFIXES: .ml .mli .cmo .cmi .cmx -.ml.cmo: - $(OCAMLC) -c $< -.mli.cmi: - $(OCAMLC) -c $< -.ml.cmx: - $(OCAMLOPT) -c $< - -$(TOPLEVELOBJS): $(LIBRARIES) -$(TOPLEVELOBJS:.cmo=.cmx)): $(LIBRARIES_OPT) - -clean: - rm -f *.cm[iox] *.o gTopLevel{,.opt} regtest{,.opt} testlibrary{,.opt} -install: - cp gTopLevel gTopLevel.opt $(BIN_DIR) -uninstall: - rm -f $(BIN_DIR)/gTopLevel $(BIN_DIR)/gTopLevel.opt - -.PHONY: install uninstall clean test - -INTESTS := $(wildcard tests/*.cic) -OUTTESTS := $(patsubst %, %.test, $(INTESTS)) -gentest: $(OUTTESTS) -cleantest: - rm -f $(OUTTESTS) -tests/%.cic.test: tests/%.cic regtest - time ./regtest -gen $< -test: regtest - ./regtest $(INTESTS) 2> /dev/null -test.opt: regtest.opt - ./regtest.opt $(INTESTS) 2> /dev/null -envtest: regtest - ./regtest -dump $(INTESTS) 2> /dev/null -envtest.opt: regtest.opt - ./regtest.opt -dump $(INTESTS) 2> /dev/null -librarytest: testlibrary - ./testlibrary -vars -varsprefix cic:/Coq index.txt 2>/dev/null >LOG -librarytest.opt: testlibrary.opt - ./testlibrary.opt -vars -varsprefix cic:/Coq index.txt 2>/dev/null >LOG -typecheck_uri: typecheck_uri.ml - $(OCAMLFIND) ocamlc -thread -package helm-cic_proof_checking -linkpkg -o $@ $< -typecheck_uri.opt: typecheck_uri.ml - $(OCAMLFIND) opt -thread -package helm-cic_proof_checking -linkpkg -o $@ $< - -MAIN = ./gTopLevel -ARGS = -debug: - echo "load_printer \"threads.cma\"" > .debug_script - $(OCAMLFIND) query -recursive -predicates "mt,byte" -a-format \ - helm-cic_unification | \ - sed 's/\(.*\)/load_printer "\1"/' \ - >> .debug_script - echo "install_printer CicMetaSubst.fppsubst" >> .debug_script - echo "install_printer CicMetaSubst.fppterm" >> .debug_script - echo "install_printer CicMetaSubst.fppmetasenv" >> .debug_script - ledit $(OCAMLDEBUG) \ - -source .debug_script \ - -I +threads \ - $(shell $(OCAMLFIND) query -recursive -i-format $(REQUIRES)) \ - $(MAIN) $(ARGS) - -ifneq ($(MAKECMDGOALS), depend) - include .depend -endif - diff --git a/helm/gTopLevel/TATTICHE b/helm/gTopLevel/TATTICHE deleted file mode 100644 index 88d989ded..000000000 --- a/helm/gTopLevel/TATTICHE +++ /dev/null @@ -1,144 +0,0 @@ -V7.2: - -Da valutare: - * MetaLinguaggio di David Delayale per l'implementazione di tattiche - -V6.3: - -Da valutare: - * Print - * Extraction - * Opaque/Transparent - * SearchIsos - * Load di script di tattiche - * "Pretty" Parsing - * Log dei tempi per ogni possibile richiesta - * Undo - * Focus/Unfocus (nella prova completa in linguaggio naturale) - * Show Tree (resa dell'albero dei sequenti) - * Tatticali: - - OrElse - - Repeat - - Do - - Info - - Try - - First - - Solve - - Abstract - - ; - - ; [ ... | ... | ... ] - - (...) - * Assumption - * Apply with - * LApply - * Absurd - * Contradiction - * Cbv/Lazy Beta Delta Iota Zeta - * Red (riduzione di un backbone con delta della testa + beta e iota) - * Unfold (equivalente a Hnf dell'occorrenza) - * Pattern - * Constructor n / Split / Left/ Right/ Exists/ Reflexivity - * Elim term quando term ha come tipo un Pi - * ElimType (fatta da Zack; metterla disponibile) - * Induction su una applicazione - * Induction su una ipotesi - * Case su una applicazione e su una ipotesi - * Intros destrutturante - * Decompose - * Double Induction - * Rewrite (ma eliminare un'uguaglianza o applicare eq_ind_r non funziona gia'?) - * Replace (che prende due termini _NON_ convertibili e genera come goal - l'uguaglianza dei due). Unificarla con la change, che diventa la replace - non overkilling? - * Symmetry e Transitivity (basta applicare i due teoremi giusti) - * Decide Equality (ma non dovrebbe essere un teorema???) - * Compare - * Discriminate - * Injection - * Simplify_eq (== Discriminate o Injection su una ipotesi) - * Dependent Rewrite - * Inversion [Nota: Derive Inversion genera e salva il teorema!] - * Quote (per implementare tattiche riflessive senza scrivere codice ML!!!!) - * Tauto/Intuition - * Linear - * AutoRewrite - * Realizer/Program - * Scheme - * Omega - -Implementate: - * Enunciare un teorema - * (Ri)aprire un teorema gia' dimostrato per modificarne certe parti - * Check (e successiva possibilita' di applicare reduction tactics) - * Exact - * Apply/EApply - * Cut - * Change [Una conversion tactic. Problema: il termine digitato viene - parsato nel contesto della conclusione e non in quello della selezione!!!] - * Conversion tactics, sia nelle ipotesi che nella conclusione: - - Reduce (== Compute) - - Hnf - - Simpl - * Fold - * ElimIntrosSimpl - * Let...In (= LetTac) - * Salvare e caricare una prova incompleta (ma nel posto sbagliato!) - * ClearBody - * Clear - * Ring - -Da implementare: - * Implicit: quando si usano gli implicit, l'input non puo' piu' essere - type-checkato, ma bisogna fare una refine (ancora non implementata). - Di conseguenza _OGNI_ tattica si rompe. Inoltre l'implementazione di - Implicit e' ancora errata in quanto il contesto canonico delle nuove - variabili e' sempre vuoto anche se dovrebbe essere uguale a quello - di partenza + le nuove variabili introdotte durante il parsing. - * Nella type_of NON viene controllato che il metasenv di una current-proof - sia ben formato. PUNTO IMPORTANTE: farlo nel metasenv parziale, cosi' da - evitare cicli; ma dopo e' un bordello l'unificazione. Oppure fare un - semplice controllo di aciclicita'. - * ClearBody e Clear NON restringono ancora altre metavariabili. Invece viene - sollevata un'eccezione di tipaggio. Esempio: n:nat |- ?1[n] se faccio clear - di n dovrei restringere ?1. Se invece prima faccio clear di n in ?1, quando - torno su questo goal e faccio clear di n ottengo un'eccezione di CicPp. - * La reduction_tactic (in ProofEngine.ml) e' bacatissima, come descritto - nei commenti. Fixare. - * Reimplementare Cut usando LetIn + applicazione + Intro oppure usando - LetIn + ClearBody (soluzione piu' elegante IMHO) - * Refine - ? Sia [x:=t]r il tipo di [x:t]k e x non occorra mai libera in r. - Dovrei forse tornare semplicemente r? - ? Cambiare il nome delle META da int a una stringa? - [ATTENZIONE: CAMBIAMENTO NELLA DTD] - * Fold e' l'inverso di Reduce e quindi non disfa cio' che viene fatto da - Simpl e da Whd. Generalizzarlo facendo Reduce e poi Change con ogni termine? - Oppure fare una FoldWhd, una FoldHnf, una FoldSimpl, etc.? - * Fold localizzato in un termine selezionato - * Move e "Unclear" (che fa l'undo di Clear/Move e conversioni nelle ipotesi) - Non sono implementabili. Ma avrebbero senso? - * queries e roba basata sulle queries: - - Search - - Locate (anche di tipi induttivi e costruttori) - - Auto - - EAuto - - Prolog (???????????) - * Save con tanto di esportazione: esportare nel posto giusto! - * Dare una definizione (quasi equivalente a check + unfold, ma mancano - gli inner-types) - * Dare una definizione induttiva - * Intro (Come scegliere i nomi freschi?) e Intros until - * Generalize - * Fissare il bug di change (ovvero il problema del contesto in cui viene - parsato l'input dell'utente) - * Tornare un errore se si cerca di applicare una reduction tactic in una - ipotesi nella scratch area - * Field - * JProver. Che rapporto c'e' fra JProver e Tauto/Intuition? - * altre contrib da integrare? - -Da non implementare: - * Print All - * Compile/Read/Require - * Print/Save/Restore States - * Let diff --git a/helm/gTopLevel/batchParser.ml b/helm/gTopLevel/batchParser.ml deleted file mode 100644 index 8eb800b84..000000000 --- a/helm/gTopLevel/batchParser.ml +++ /dev/null @@ -1,90 +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 verbose = false - -exception Failure of string -let fail msg = raise (Failure msg) - -let constants_only ~prefix = - let test_prefix = - if prefix = "" then - (fun _ -> true) - else - (fun uri -> Pcre.pmatch ~rex:(Pcre.regexp ("^" ^ prefix)) uri) - in - fun uri -> - test_prefix uri && (not (String.sub uri (String.length uri - 4) 4 = ".var")) - -let uri_predicate = ref (constants_only ~prefix:"") - -let uri_pred_of_conf tryvars ~prefix ~varsprefix = - if not tryvars then - constants_only ~prefix - else - let test_prefix = Pcre.pmatch ~rex:(Pcre.regexp ("^" ^ prefix)) in - let test_varsprefix = Pcre.pmatch ~rex:(Pcre.regexp ("^" ^ varsprefix)) in - fun uri -> - if String.sub uri (String.length uri - 4) 4 = ".var" then - test_varsprefix uri - else - test_prefix uri - -module DisambiguateCallbacks = - struct - let interactive_user_uri_choice - ~selection_mode ?ok ?enable_button_for_non_vars ~title ~msg ~id choices = - List.filter !uri_predicate choices - - let interactive_interpretation_choice = - let rec aux n = - function - [] -> [] - | _::tl -> n::(aux (n+1) tl) - in - aux 0 - - let input_or_locate_uri ~title = fail "Unknown identifier" - end - -module Disambiguate' = DisambiguatingParser.Make (DisambiguateCallbacks) - -let parse dbd ?(uri_pred = constants_only ~prefix:"") = - uri_predicate := uri_pred; - let empty_environment = - DisambiguatingParser.EnvironmentP3.of_string - DisambiguatingParser.EnvironmentP3.empty - in - let empty_context = [] in - let empty_metasenv = [] in - fun input ugraph -> - (Disambiguate'.disambiguate_term - ~dbd empty_context empty_metasenv input empty_environment - ~initial_ugraph:ugraph) - -let parse_pp dbd ?uri_pred input ugraph = - List.map (fun (_,_,t,_) -> CicPp.ppterm t) - (parse dbd ?uri_pred input ugraph ) - diff --git a/helm/gTopLevel/batchParser.mli b/helm/gTopLevel/batchParser.mli deleted file mode 100644 index 6d2900304..000000000 --- a/helm/gTopLevel/batchParser.mli +++ /dev/null @@ -1,54 +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 Failure of string - - (** uri_pred which rejects ll .var URIs *) -val constants_only: prefix:string -> (string -> bool) - - (** @param variables enabled - * @param variables prefix varsprefix - * @return uri predicate suitable for functions below *) -val uri_pred_of_conf: - bool -> prefix:string -> varsprefix:string -> (string -> bool) - - (** Parse a cic term from the given string using disambiguating parser in - * batch mode if possible, otherwise raises Failure above. - * uri_pred is the predicate used to select which uris are tried. Per default - * only constant URIs are accepted *) -val parse: - Mysql.dbd -> ?uri_pred:(string -> bool) -> string -> - CicUniv.universe_graph -> - (DisambiguatingParser.EnvironmentP3.t * - Cic.metasenv * - Cic.term * - CicUniv.universe_graph) list - - (** as above, but instead of returning the parsed cic term, pretty prints it - * (ignoring returned metasenv) - *) -val parse_pp: Mysql.dbd -> ?uri_pred:(string -> bool) -> - string -> CicUniv.universe_graph -> string list - diff --git a/helm/gTopLevel/chosenTermEditor.ml.in b/helm/gTopLevel/chosenTermEditor.ml.in deleted file mode 100644 index d501e8d06..000000000 --- a/helm/gTopLevel/chosenTermEditor.ml.in +++ /dev/null @@ -1 +0,0 @@ -@CHOSEN_TERM_EDITOR@ diff --git a/helm/gTopLevel/chosenTermEditor.mli b/helm/gTopLevel/chosenTermEditor.mli deleted file mode 100644 index 8a5402449..000000000 --- a/helm/gTopLevel/chosenTermEditor.mli +++ /dev/null @@ -1,23 +0,0 @@ -class type term_editor = - object - method coerce : GObj.widget - method get_as_string : string - method get_metasenv_and_term : - context:Cic.context -> - metasenv:Cic.metasenv -> Cic.metasenv * Cic.term * CicUniv.universe_graph - method environment : DisambiguatingParser.EnvironmentP3.t ref - method reset : unit - method set_term : string -> unit - end - -module Make : - functor (C : DisambiguateTypes.Callbacks) -> - sig - val term_editor : - dbd:Mysql.dbd -> - ?packing:(GObj.widget -> unit) -> - ?width:int -> - ?height:int -> - ?isnotempty_callback:(bool -> unit) -> - ?share_environment_with:term_editor -> unit -> term_editor - end diff --git a/helm/gTopLevel/configure.ac b/helm/gTopLevel/configure.ac deleted file mode 100644 index 27d1ac8df..000000000 --- a/helm/gTopLevel/configure.ac +++ /dev/null @@ -1,82 +0,0 @@ -AC_INIT(gTopLevel.ml) - -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 -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_WITH(term-editor, - AS_HELP_STRING([--with-term-editor=(tex|textual)], - [choose term editor (default is tex)]), - [TERM_EDITOR=$withval], [TERM_EDITOR=textual]) -if test $TERM_EDITOR = "tex"; then - CHOSEN_TERM_EDITOR="include TexTermEditor" -else - if test $TERM_EDITOR = "textual"; then - CHOSEN_TERM_EDITOR="include TermEditor" - else - AC_MSG_ERROR(unknwon term editor $TERM_EDITOR) - fi -fi - -AC_ARG_WITH(term-parser, - AS_HELP_STRING([--with-term-parser=(cscTex|cscTextual|new)], - [choose term parser (default is new)]), - [TERM_PARSER=$withval], [TERM_PARSER=new]) -if test $TERM_PARSER = "cscTex"; then - CHOSEN_TERM_PARSER="include CSCTexDisambiguatingParser" -else - if test $TERM_PARSER = "cscTextual"; then - CHOSEN_TERM_PARSER="include CSCTextualDisambiguatingParser" - else - if test $TERM_PARSER = "new"; then - CHOSEN_TERM_PARSER="include AndreaAndZackDisambiguatingParser" - else - AC_MSG_ERROR(unknwon term parser $TERM_PARSER) - fi - fi -fi - -if test $TERM_EDITOR = "tex"; then - CHOSEN_TERM_EDITOR="include TexTermEditor" -else - if test $TERM_EDITOR = "textual"; then - CHOSEN_TERM_EDITOR="include TermEditor" - else - AC_MSG_ERROR(unknwon term editor $TERM_EDITOR) - fi -fi - -AC_SUBST(OCAMLFIND) -AC_SUBST(CHOSEN_TERM_EDITOR) -AC_SUBST(CHOSEN_TERM_PARSER) - -AC_OUTPUT([ - chosenTermEditor.ml - disambiguatingParser.ml - Makefile -]) - diff --git a/helm/gTopLevel/dictionary-cic.xml b/helm/gTopLevel/dictionary-cic.xml deleted file mode 100644 index 1d63dac83..000000000 --- a/helm/gTopLevel/dictionary-cic.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/helm/gTopLevel/disambiguatingParser.ml.in b/helm/gTopLevel/disambiguatingParser.ml.in deleted file mode 100644 index c3302c8b9..000000000 --- a/helm/gTopLevel/disambiguatingParser.ml.in +++ /dev/null @@ -1,104 +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 NoWellTypedInterpretation - -module AndreaAndZackDisambiguatingParser = - struct - module EnvironmentP3 = CicTextualParser2.EnvironmentP3 - - module Make (C : DisambiguateTypes.Callbacks) = - struct - let disambiguate_term ~(dbd:Mysql.dbd) ~context ~metasenv - ?initial_ugraph ~aliases term_as_string - = - let module Disambiguate' = Disambiguate.Make (C) in - let term = - CicTextualParser2.parse_term (Stream.of_string term_as_string) - in - Disambiguate'.disambiguate_term ~dbd ~context ~metasenv - ?initial_ugraph ~aliases term - end - end - - -(* -module CSCTextualDisambiguatingParser = - struct - module EnvironmentP3 = OldDisambiguate.EnvironmentP3 - - module Make (C : DisambiguateTypes.Callbacks) = - struct - let - disambiguate_term mqi_handle context metasenv term_as_string environment - = - let module Disambiguate' = OldDisambiguate.Make (C) in - let name_context = - List.map - (function - Some (n,_) -> Some n - | None -> None - ) context - in - let lexbuf = Lexing.from_string term_as_string in - let dom,mk_metasenv_and_expr = - CicTextualParserContext.main - ~context:name_context ~metasenv CicTextualLexer.token lexbuf - in - Disambiguate'.disambiguate_input mqi_handle - context metasenv dom mk_metasenv_and_expr environment - end - end - -module CSCTexDisambiguatingParser = - struct - module EnvironmentP3 = OldDisambiguate.EnvironmentP3 - - module Make (C : DisambiguateTypes.Callbacks) = - struct - let - disambiguate_term mqi_handle context metasenv term_as_string environment - = - let module Disambiguate' = OldDisambiguate.Make (C) in - let name_context = - List.map - (function - Some (n,_) -> Some n - | None -> None - ) context - in - let lexbuf = Lexing.from_string term_as_string in - let dom,mk_metasenv_and_expr = - TexCicTextualParserContext.main - ~context:name_context ~metasenv TexCicTextualLexer.token lexbuf - in - Disambiguate'.disambiguate_input mqi_handle - context metasenv dom mk_metasenv_and_expr environment - end - end -*) - -@CHOSEN_TERM_PARSER@ - diff --git a/helm/gTopLevel/disambiguatingParser.mli b/helm/gTopLevel/disambiguatingParser.mli deleted file mode 100644 index 710401f4a..000000000 --- a/helm/gTopLevel/disambiguatingParser.mli +++ /dev/null @@ -1,50 +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 NoWellTypedInterpretation - -module EnvironmentP3 : - sig - type t - val empty : string - val to_string : t -> string - val of_string : string -> t - end - -module Make (C : DisambiguateTypes.Callbacks) : - sig - val disambiguate_term : - dbd:Mysql.dbd -> - context:Cic.context -> - metasenv:Cic.metasenv -> - ?initial_ugraph:CicUniv.universe_graph -> - aliases:EnvironmentP3.t -> (* previous interpretation status *) - string -> - (EnvironmentP3.t * (* new interpretation status *) - Cic.metasenv * (* new metasenv *) - Cic.term * - CicUniv.universe_graph) list (* disambiguated term *) - end - diff --git a/helm/gTopLevel/esempi/and_implies_or.cic b/helm/gTopLevel/esempi/and_implies_or.cic deleted file mode 100644 index c47bf76b6..000000000 --- a/helm/gTopLevel/esempi/and_implies_or.cic +++ /dev/null @@ -1,11 +0,0 @@ -alias and /Coq/Init/Logic/Conjunction/and.ind#1/1 -alias conj /Coq/Init/Logic/Conjunction/and.ind#1/1/1 - -alias or /Coq/Init/Logic/Disjunction/or.ind#1/1 -alias or_introl /Coq/Init/Logic/Disjunction/or.ind#1/1/1 -alias or_intror /Coq/Init/Logic/Disjunction/or.ind#1/1/2 - -\A:Prop. -\B:Prop. -\H:(and A B). - Case (H : and ; (or A B)) { \a:A.\b:B.(or_introl A B a) } diff --git a/helm/gTopLevel/esempi/and_implies_or2.cic b/helm/gTopLevel/esempi/and_implies_or2.cic deleted file mode 100644 index 46cfb9e1b..000000000 --- a/helm/gTopLevel/esempi/and_implies_or2.cic +++ /dev/null @@ -1,8 +0,0 @@ -alias and /Coq/Init/Logic/and.ind#1/1 -alias conj /Coq/Init/Logic/and.ind#1/1/1 - -alias or /Coq/Init/Logic/or.ind#1/1 -alias or_introl /Coq/Init/Logic/or.ind#1/1/1 -alias or_intror /Coq/Init/Logic/or.ind#1/1/2 - -!A:Prop.!B:Prop.!H:(and A B).(or A B) diff --git a/helm/gTopLevel/esempi/apply.cic b/helm/gTopLevel/esempi/apply.cic deleted file mode 100644 index 902ae2fbb..000000000 --- a/helm/gTopLevel/esempi/apply.cic +++ /dev/null @@ -1,21 +0,0 @@ -alias nat /Coq/Init/Datatypes/nat.ind#1/1 -alias eq /Coq/Init/Logic/eq.ind#1/1 -alias eq_ind /Coq/Init/Logic/eq_ind.con -alias O /Coq/Init/Datatypes/nat.ind#1/1/1 -alias S /Coq/Init/Datatypes/nat.ind#1/1/2 -alias plus /Coq/Init/Peano/plus.con -alias mult /Coq/Init/Peano/mult.con -alias le /Coq/Init/Peano/le.ind#1/1 -alias lt /Coq/Init/Peano/lt.con -alias not /Coq/Init/Logic/not.con -(eq nat (\x:nat.\y:nat.O O O) (\x:nat.\y:nat.O O O)) -/Coq/Init/Logic/f_equal2.con -/Coq/Init/Logic/eq.ind#1/1/1 - -(* -(le O (S O)) -/Coq/Arith/Gt/gt_S_le.con - -(not (lt O (plus O O))) -/Coq/Arith/Lt/lt_n_n.con -*) diff --git a/helm/gTopLevel/esempi/bug.cic b/helm/gTopLevel/esempi/bug.cic deleted file mode 100644 index cab0f5ff2..000000000 --- a/helm/gTopLevel/esempi/bug.cic +++ /dev/null @@ -1,22 +0,0 @@ -alias nat /Coq/Init/Datatypes/nat.ind#1/1 -alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 -alias eq /Coq/Init/Logic/eq.ind#1/1 -alias refl_equal /Coq/Init/Logic/eq.ind#1/1/1 -alias eq_ind /Coq/Init/Logic/eq_ind.con -alias eq_ind_r /Coq/Init/Logic/eq_ind_r.con -alias O /Coq/Init/Datatypes/nat.ind#1/1/1 -alias S /Coq/Init/Datatypes/nat.ind#1/1/2 -alias plus /Coq/Init/Peano/plus.con -alias mult /Coq/Init/Peano/mult.con -alias le /Coq/Init/Peano/le.ind#1/1 -alias lt /Coq/Init/Peano/lt.con -alias not /Coq/Init/Logic/not.con -alias f_equal /Coq/Init/Logic/f_equal.con -alias le_trans /Coq/Arith/Le/le_trans.con - -alias plus_n_O /Coq/Init/Peano/plus_n_O.con - -alias or /Coq/Init/Logic/or.ind#1/1 -alias or_ind /Coq/Init/Logic/or_ind.con - -(or (eq nat O O) (eq nat O O)) -> (lt O O) diff --git a/helm/gTopLevel/esempi/calcolo_proposizioni.cic b/helm/gTopLevel/esempi/calcolo_proposizioni.cic deleted file mode 100644 index a069a8b39..000000000 --- a/helm/gTopLevel/esempi/calcolo_proposizioni.cic +++ /dev/null @@ -1,17 +0,0 @@ -alias True /Coq/Init/Logic/True.ind#1/1 -alias I /Coq/Init/Logic/True.ind#1/1/1 -alias True_ind /Coq/Init/Logic/True_ind.con - -alias False /Coq/Init/Logic/False.ind#1/1 -alias False_ind /Coq/Init/Logic/False_ind.con - -alias and /Coq/Init/Logic/and.ind#1/1 -alias conj /Coq/Init/Logic/and.ind#1/1/1 -alias and_ind /Coq/Init/Logic/and_ind.con - -alias or /Coq/Init/Logic/or.ind#1/1 -alias or_introl /Coq/Init/Logic/or.ind#1/1/1 -alias or_intror /Coq/Init/Logic/or.ind#1/1/2 -alias or_ind /Coq/Init/Logic/or_ind.con - -alias not /Coq/Init/Logic/not.con diff --git a/helm/gTopLevel/esempi/conversion.cic b/helm/gTopLevel/esempi/conversion.cic deleted file mode 100644 index 9114f3aa5..000000000 --- a/helm/gTopLevel/esempi/conversion.cic +++ /dev/null @@ -1,17 +0,0 @@ -alias nat /Coq/Init/Datatypes/nat.ind#1/1 -alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 -alias eq /Coq/Init/Logic/eq.ind#1/1 -alias refl_equal /Coq/Init/Logic/eq.ind#1/1/1 -alias eq_ind /Coq/Init/Logic/eq_ind.con -alias eq_ind_r /Coq/Init/Logic/eq_ind_r.con -alias O /Coq/Init/Datatypes/nat.ind#1/1/1 -alias S /Coq/Init/Datatypes/nat.ind#1/1/2 -alias plus /Coq/Init/Peano/plus.con -alias mult /Coq/Init/Peano/mult.con -alias le /Coq/Init/Peano/le.ind#1/1 -alias lt /Coq/Init/Peano/lt.con -alias not /Coq/Init/Logic/not.con -alias f_equal /Coq/Init/Logic/f_equal.con - -!n:nat.(eq nat (mult (S (S O)) n) O) -!n:nat.(eq nat (plus O n) (plus n O)) diff --git a/helm/gTopLevel/esempi/decompose.cic b/helm/gTopLevel/esempi/decompose.cic deleted file mode 100644 index 1a06fcba3..000000000 --- a/helm/gTopLevel/esempi/decompose.cic +++ /dev/null @@ -1,8 +0,0 @@ -!A:Prop.!B:Prop.!C:Prop.(and (sumbool A False) (and (or True B) (or B False))) -> True - -!A:Prop.!B:Prop.!C:Prop.(and (sumbool A C) (and (or A B) !D:Prop.(or B D))) -> True - -!A:Prop.!B:Prop.!C:Prop.(and (and A C) (and (and A B) (and B C))) -> True - -(and True True) -> True -(and True False) -> True diff --git a/helm/gTopLevel/esempi/elim.cic b/helm/gTopLevel/esempi/elim.cic deleted file mode 100644 index 0ef611ff7..000000000 --- a/helm/gTopLevel/esempi/elim.cic +++ /dev/null @@ -1,13 +0,0 @@ -alias nat /Coq/Init/Datatypes/nat.ind#1/1 -alias eq /Coq/Init/Logic/eq.ind#1/1 -alias eq_ind /Coq/Init/Logic/eq_ind.con -alias O /Coq/Init/Datatypes/nat.ind#1/1/1 -alias S /Coq/Init/Datatypes/nat.ind#1/1/2 -alias plus /Coq/Init/Peano/plus.con -alias mult /Coq/Init/Peano/mult.con -alias le /Coq/Init/Peano/le.ind#1/1 -alias lt /Coq/Init/Peano/lt.con -alias not /Coq/Init/Logic/not.con -alias f_equal /Coq/Init/Logic/f_equal.con - -!n:nat.(eq nat (plus O n) (plus n O)) diff --git a/helm/gTopLevel/esempi/elim2.cic b/helm/gTopLevel/esempi/elim2.cic deleted file mode 100644 index f44eba834..000000000 --- a/helm/gTopLevel/esempi/elim2.cic +++ /dev/null @@ -1,44 +0,0 @@ -alias nat /Coq/Init/Datatypes/nat.ind#1/1 -alias eq /Coq/Init/Logic/eq.ind#1/1 -alias eq_ind /Coq/Init/Logic/eq_ind.con -alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 -alias O /Coq/Init/Datatypes/nat.ind#1/1/1 -alias S /Coq/Init/Datatypes/nat.ind#1/1/2 -alias plus /Coq/Init/Peano/plus.con -alias mult /Coq/Init/Peano/mult.con -alias le /Coq/Init/Peano/le.ind#1/1 -alias lt /Coq/Init/Peano/lt.con -alias not /Coq/Init/Logic/not.con -alias and /Coq/Init/Logic/and.ind#1/1 -alias prod /Coq/Init/Datatypes/prod.ind#1/1 -alias list /Coq/Lists/PolyList/list.ind#1/1 -alias AllS_assoc /Coq/Lists/TheoryList/AllS_assoc.ind#1/1 -alias V /Coq/Lists/PolyList/Lists/A.var -alias VA /Coq/Lists/TheoryList/Lists/A.var -alias VB /Coq/Lists/TheoryList/Lists/Assoc_sec/B.var - -!A:Set.!B:Set.!P:!a:A.Prop.!l:list{V := (prod A B)}. - !H:(AllS_assoc {VA := A ; VB := B} P l). - (and - (eq list{V := (prod A B)} l l) - (eqT !n:A.Prop P P)) - -\forall A,B: Set. \forall P: A \to Prop. - \forall l: list \subst [ A \Assign (prod A B) ]. - \forall H:(AllS_assoc \subst [ A \Assign A ; B \Assign B] P l). - l = l \wedge P = P - -(* Intros; Elim H: - -?1: (A,B:Set; P:(A->Prop); l:(list A*B)) - (AllS_assoc A B P l) -> (nil A*B)=(nil A*B)/\P==P -?2: (A,B:Set; P:(A->Prop); l:(list A*B)) - (AllS_assoc A B P l) -> - (a:A; b:B; l0:(list A*B)) - (P a) -> (AllS_assoc A B P l0) -> l0=l0/\P==P -> - (cons (a,b) l0)=(cons (a,b) l0)/\P==P -[A,B:Set; P:(A->Prop); l:(list A*B); H:(AllS_assoc A B P l)] - (AllS_assoc_ind A B P [l0:(list A*B)]l0=l0/\P==P - (?1 A B P l H) (?2 A B P l H) l H) - -*) diff --git a/helm/gTopLevel/esempi/evars.cic b/helm/gTopLevel/esempi/evars.cic deleted file mode 100644 index 36ce17e2e..000000000 --- a/helm/gTopLevel/esempi/evars.cic +++ /dev/null @@ -1,33 +0,0 @@ -alias nat /Coq/Init/Datatypes/nat.ind#1/1 -alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 -alias eq /Coq/Init/Logic/eq.ind#1/1 -alias refl_equal /Coq/Init/Logic/eq.ind#1/1/1 -alias eq_ind /Coq/Init/Logic/eq_ind.con -alias eq_ind_r /Coq/Init/Logic/eq_ind_r.con -alias O /Coq/Init/Datatypes/nat.ind#1/1/1 -alias S /Coq/Init/Datatypes/nat.ind#1/1/2 -alias plus /Coq/Init/Peano/plus.con -alias mult /Coq/Init/Peano/mult.con -alias le /Coq/Init/Peano/le.ind#1/1 -alias lt /Coq/Init/Peano/lt.con -alias not /Coq/Init/Logic/not.con -alias f_equal /Coq/Init/Logic/f_equal.con -alias le_trans /Coq/Arith/Le/le_trans.con - -alias le_plus_plus /Coq/Arith/Plus/le_plus_plus.con -alias le_reg_r /Coq/Arith/Plus/le_reg_r.con -alias le_reg_l /Coq/Arith/Plus/le_reg_l.con - -alias plus_n_O /Coq/Init/Peano/plus_n_O.con - -!n:nat.!m:nat.(le n m)->(le (mult (S (S O)) n) (mult (S (S O)) m)) - -(* Lo scopo dell'esercizio e' riuscire a effettuare la dimostrazione che *) -(* (n <= m) -> (2*n <= 2*m) come la si farebbe su carta, ovvero: *) -(* *) -(* 2 * n *) -(* == n + n + 0 Simpl *) -(* <= m + n + 0 le_reg_r because n <= m because hypothesis *) -(* <= m + m + 0 le_reg_l because n + 0 <= m + 0 because le_reg_r *) -(* because hypothesis *) -(* == 2 * m Change *) diff --git a/helm/gTopLevel/esempi/fourier.cic b/helm/gTopLevel/esempi/fourier.cic deleted file mode 100644 index 09caea79b..000000000 --- a/helm/gTopLevel/esempi/fourier.cic +++ /dev/null @@ -1,35 +0,0 @@ -alias Rge /Coq/Reals/Rdefinitions/Rge.con -alias Rle /Coq/Reals/Rdefinitions/Rle.con -alias Rgt /Coq/Reals/Rdefinitions/Rgt.con -alias Rlt /Coq/Reals/Rdefinitions/Rlt.con -alias Ropp /Coq/Reals/Rdefinitions/Ropp.con -alias Rinv /Coq/Reals/Rdefinitions/Rinv.con -alias Rplus /Coq/Reals/Rdefinitions/Rplus.con -alias Rminus /Coq/Reals/Rdefinitions/Rminus.con -alias R1 /Coq/Reals/Rdefinitions/R1.con -alias R0 /Coq/Reals/Rdefinitions/R0.con -alias R /Coq/Reals/Rdefinitions/R.con -alias Eq /Coq/Init/Logic_Type/eqT.ind#1/1 - -//test base1 ok -!x:R.!y:R.(Rle x y) -> (Rge (Rplus y R1) (Rminus x R1)) - -//test base2 ok -!x:R.!y:R.(Rlt x y) -> (Rgt (Rplus y R1) (Rminus x R1)) - -//test base3 (unification fails) -!x:R.!y:R.(Rge x y) -> (Rlt (Rplus y R1) (Rplus x (Rplus R1 R1))) - -//test base4 ok -!x:R.!y:R.(Rgt x y) -> (Rle (Rminus y R1) (Rplus x R1)) - -//test base5 ok -!x:R.!y:R.(Rlt x ( Rplus y R1 ) ) -> (Rge (Rplus y (Rplus R1 R1)) (Rminus x R0)) - -//test base6 (unification fails) -!x:R.!y:R.(Eq R x y) -> (Rgt (Rplus y R1) (Rminus x R1)) - -//test base7 (should fail) ok -!x:R.!y:R.(Rlt x y) -> (Rlt (Rplus y R1) (Rminus x R1)) - - diff --git a/helm/gTopLevel/esempi/fourier/fourier.cic b/helm/gTopLevel/esempi/fourier/fourier.cic deleted file mode 100644 index 23062f3bd..000000000 --- a/helm/gTopLevel/esempi/fourier/fourier.cic +++ /dev/null @@ -1,137 +0,0 @@ -alias Rge /Coq/Reals/Rdefinitions/Rge.con -alias Rle /Coq/Reals/Rdefinitions/Rle.con -alias Rgt /Coq/Reals/Rdefinitions/Rgt.con -alias Rlt /Coq/Reals/Rdefinitions/Rlt.con -alias Ropp /Coq/Reals/Rdefinitions/Ropp.con -alias Rinv /Coq/Reals/Rdefinitions/Rinv.con -alias Rplus /Coq/Reals/Rdefinitions/Rplus.con -alias Rminus /Coq/Reals/Rdefinitions/Rminus.con -alias Rmult /Coq/Reals/Rdefinitions/Rmult.con -alias R1 /Coq/Reals/Rdefinitions/R1.con -alias R0 /Coq/Reals/Rdefinitions/R0.con -alias R /Coq/Reals/Rdefinitions/R.con -alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 -alias not /Coq/Init/Logic/not.con -alias or /Coq/Init/Logic/or.ind#1/1 - -!x:R. -(Rlt (Rmult(Ropp x)R1) -R0) -->(Rlt R0 x) - -// test 3x4 -> 35'' -!x:R.!y:R.!z:R. -(Rge -(Rplus - (Rmult (Ropp (Rplus R1 R1)) x) (Rplus - (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) y) (Rplus - (Rmult (Rplus R1 (Rplus R1 R1)) z) R1) -)) R0) --> -(Rge -(Rplus - (Rmult (Ropp (Rplus R1 (Rplus R1 R1))) x) (Rplus - (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) y) (Rplus - R1 (Rplus R1 R1)) -)) R0) --> -(Rgt -(Rplus - x (Rplus - (Rmult (Rplus R1 R1) y) (Ropp z) ) -) R0) --> -(Rgt -(Rplus - (Rmult (Rplus R1 (Rplus R1 R1)) x) (Rplus - z (Ropp R1)) -) R0) - --> (Rlt z R1) - -// test 6x6 -> - -!x:R.!y:R.!z:R.!t:R.!u:R.!v:R. -(Rgt -(Rplus (Ropp x) (Rplus y (Rplus z (Rplus t (Rplus u (Rplus v (Rplus R1 R1))))))) - R0) --> -(Rgt -(Rplus x (Rplus (Ropp y) (Rplus (Ropp z) (Rplus (Ropp t) (Rplus (Ropp u) (Rplus R1 R1)))))) - R0) --> -(Rgt -(Rplus y (Rplus (Ropp z) (Rplus t (Rplus u (Rplus R1 R1))))) - R0) --> -(Rgt -(Rplus y (Rplus z (Rplus (Ropp t) (Rplus (Ropp (Rmult (Rplus R1 R1)v)) (Rplus R1 R1))))) - R0) --> -(Rgt -(Rplus y (Rplus z (Rplus t (Rplus (Ropp u) (Rplus R1 R1))))) - R0) --> -(Rlt -(Rplus (Rmult (Rplus R1 R1) x) (Rplus v y)) - R0) --> (Rlt (Rmult (Rplus R1 R1) x) R0) - - - - - - -//test base1 ok -!x:R.!y:R.(Rle x y) -> (Rge (Rplus y R1) (Rminus x R1)) - -//test base2 ok -!x:R.!y:R.(Rlt x y) -> (Rgt (Rplus y R1) (Rminus x R1)) - -//test base3 ok -!x:R.!y:R.(Rge x y) -> (Rlt (Rplus y R1) (Rplus x (Rplus R1 R1))) - -/Coq/fourier/Fourier_util/Rfourier_not_ge_lt.con - -intros - -/Coq/Init/Logic/False.ind#1/1 - -(not (Rle (Rplus (Rmult (Rmult R1 (Rinv R1)) (Rplus x (Rplus R1 R1))) (Rmult (Rmult R1 (Rinv R1)) y)) (Rplus (Rmult (Rmult R1 (Rinv R1)) (Rplus y R1)) (Rmult (Rmult R1 (Rinv R1)) x)))) - -/Coq/fourier/Fourier_util/Rnot_le_le.con - -t1=(Rplus (Rmult (Rmult R1 (Rinv R1)) (Rplus x (Rplus R1 R1))) (Rmult (Rmult R1 (Rinv R1)) y)) - -t2=(Rplus (Rmult (Rmult R1 (Rinv R1)) (Rplus y R1)) (Rmult (Rmult R1 (Rinv R1)) x)) - -(t1-t2)=(Rminus -(Rplus (Rmult (Rmult R1 (Rinv R1)) (Rplus x (Rplus R1 R1))) (Rmult (Rmult R1 (Rinv R1)) y)) -(Rplus (Rmult (Rmult R1 (Rinv R1)) (Rplus y R1)) (Rmult (Rmult R1 (Rinv R1)) x))) - -tc=(Rmult (Ropp R1) (Rinv R1)) - -rewrite=(eqT R (Rminus (Rplus (Rmult (Rmult R1 (Rinv R1)) (Rplus y R1)) (Rmult (Rmult R1 (Rinv R1)) x)) - (Rplus (Rmult (Rmult R1 (Rinv R1)) (Rplus x (Rplus R1 R1))) (Rmult (Rmult R1 (Rinv R1)) y))) (Rmult (Ropp R1) (Rinv R1))) - -change=(not (or -(Rlt R0 (Rmult (Ropp R1) (Rinv R1))) -(eqT R R0 (Rmult (Ropp R1) (Rinv R1))) -)) - -tac2 -/Coq/fourier/Fourier_util/Rnot_lt0.con - -//test base4 ok -!x:R.!y:R.(Rgt x y) -> (Rle (Rminus y R1) (Rplus x R1)) - -//test base5 ok -!x:R.!y:R.(Rlt x ( Rplus y R1 ) ) -> (Rge (Rplus y (Rplus R1 R1)) (Rminus x R0)) - -//test base6 ok -!x:R.!y:R.(eqT R x y) -> (Rgt (Rplus y R1) (Rminus x R1)) - -//test base7 (should fail) ok -!x:R.!y:R.(Rlt x y) -> (Rlt (Rplus y R1) (Rminus x R1)) - - diff --git a/helm/gTopLevel/esempi/fourier/fourier_benchmarks.cic b/helm/gTopLevel/esempi/fourier/fourier_benchmarks.cic deleted file mode 100644 index 68166c149..000000000 --- a/helm/gTopLevel/esempi/fourier/fourier_benchmarks.cic +++ /dev/null @@ -1,170 +0,0 @@ -!x:R.!y:R.!z:R.!t:R. -(Rle (Rplus (Rmult R0 x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) z) (Rplus (Rmult R1 t) (Ropp R1))))) R0) --> -(Rle (Rplus (Rmult R1 x) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) y) (Rplus (Rmult R0 z) (Rplus (Rmult (Rplus R1 R1) t) (Ropp R1))))) R0) --> -(Rle (Rplus (Rmult R0 x) (Rplus (Rmult (Rplus R1 R1) y) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) t) (Ropp R1))))) R0) --> -(Rle (Rplus (Rmult R1 x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) z) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) t) (Ropp R1))))) R0) --> -(Rle (Rplus (Rmult R1 x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) z) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) t) (Ropp R1))))) R0) - -[1'02'' 363K m=5 n=4 K=8] - ------------------------------------------------------------------------------------------------------------- -!x:R.!y:R.!z:R.!t:R.!u:R.!v:R. -(Rle (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) y) (Rplus (Rmult (Rplus R1 R1) z) (Rplus (Rmult (Rplus R1 R1) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) u) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) v) (Ropp R1))))))) R0) --> -(Rle (Rplus (Rmult R1 x) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 R1))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) z) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) t) (Rplus (Rmult R1 u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) v) (Ropp R1))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) x) (Rplus (Rmult R0 y) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) t) (Rplus (Rmult (Rplus R1 R1) u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) v) (Ropp R1))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) z) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))) t) (Rplus (Rmult R0 u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) v) (Ropp R1))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) x) (Rplus (Rmult R0 y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) t) (Rplus (Rmult (Ropp (Rplus R1 R1)) u) (Rplus (Rmult R1 v) (Ropp R1))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 R1) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) u) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 R1)))) v) (Ropp R1))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 R1) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) u) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 R1)))) v) (Ropp R1))))))) R0) - -[1'25'' 501K m=7 n=6 K=8] - ------------------------------------------------------------------------------------------------------------ -!x:R.!y:R.!z:R.!t:R.!u:R.!v:R.!w:R.!g:R.!h:R.!j:R. -(Rle (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) x) (Rplus (Rmult R1 y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) z) (Rplus (Rmult R1 t) (Rplus (Rmult (Rplus R1 R1) u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) v) (Rplus (Rmult R0 w) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) g) (Rplus (Rmult R0 h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) j) (Ropp R1))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 R1) x) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 R1))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) t) (Rplus (Rmult R0 u) (Rplus (Rmult R0 v) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) w) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) g) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) h) (Rplus (Rmult (Rplus R1 R1) j) (Ropp R1))))))))))) R0) --> -(Rle (Rplus (Rmult R1 x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) y) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) v) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) w) (Rplus (Rmult R0 g) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) j) (Ropp R1))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) z) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))) t) (Rplus (Rmult R0 u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) v) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) w) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) g) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) h) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) j) (Ropp R1))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) x) (Rplus (Rmult R0 y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) t) (Rplus (Rmult R0 u) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) v) (Rplus (Rmult R1 w) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) g) (Rplus (Rmult R0 h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) j) (Ropp R1))))))))))) R0) --> -(Rle (Rplus (Rmult R1 x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) t) (Rplus (Rmult R0 u) (Rplus (Rmult (Ropp R1) v) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) w) (Rplus (Rmult R0 g) (Rplus (Rmult R1 h) (Rplus (Rmult R1 j) (Ropp R1))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) t) (Rplus (Rmult (Rplus R1 R1) u) (Rplus (Rmult (Rplus R1 R1) v) (Rplus (Rmult (Ropp (Rplus R1 R1)) w) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) g) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) j) (Ropp R1))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) u) (Rplus (Rmult R0 v) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) w) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))) g) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) j) (Ropp R1))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 R1) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) z) (Rplus (Rmult R1 t) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) u) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) v) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) w) (Rplus (Rmult (Rplus R1 R1) g) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) h) (Rplus (Rmult R1 j) (Ropp R1))))))))))) R0) --> -(Rle (Rplus (Rmult R0 x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) y) (Rplus (Rmult R1 z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) v) (Rplus (Rmult R1 w) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) g) (Rplus (Rmult (Rplus R1 R1) h) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 R1))) j) (Ropp R1))))))))))) R0) --> -(Rle (Rplus (Rmult R0 x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) y) (Rplus (Rmult R1 z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) v) (Rplus (Rmult R1 w) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) g) (Rplus (Rmult (Rplus R1 R1) h) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 R1))) j) (Ropp R1))))))))))) R0) - -[1'50'' 787K m=11 n=10 K=8] - -------------------------------------------------------------------------------------------------------- - -!x:R.!y:R.!z:R.!t:R.!u:R.!v:R.!w:R.!g:R.!h:R.!j:R.!l:R.!m:R.!n:R.!o:R.!p:R.!q:R.!r:R.!s:R.!a:R.!b:R. -(Rle (Rplus (Rmult (Ropp (Rplus R1 R1)) x) (Rplus (Rmult R0 y) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) z) (Rplus (Rmult R0 t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) v) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) w) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) g) (Rplus (Rmult R1 h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) j) (Rplus (Rmult R1 l) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) m) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) n) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) o) (Rplus (Rmult R1 p) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) q) (Rplus (Rmult (Rplus R1 R1) r) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) s) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) a) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) b) (Ropp R1))))))))))))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) x) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) y) (Rplus (Rmult (Rplus R1 R1) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) u) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) v) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) w) (Rplus (Rmult (Rplus R1 R1) g) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) h) (Rplus (Rmult (Rplus R1 R1) j) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) l) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) m) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) n) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) o) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) p) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) q) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) r) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) s) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) a) (Rplus (Rmult R0 b) (Ropp R1))))))))))))))))))))) R0) --> -(Rle (Rplus (Rmult R1 x) (Rplus (Rmult R1 y) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) t) (Rplus (Rmult R1 u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) v) (Rplus (Rmult R0 w) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) g) (Rplus (Rmult R0 h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) j) (Rplus (Rmult (Rplus R1 R1) l) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) m) (Rplus (Rmult R1 n) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) o) (Rplus (Rmult R1 p) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) q) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) r) (Rplus (Rmult R0 s) (Rplus (Rmult (Rplus R1 R1) a) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) b) (Ropp R1))))))))))))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) x) (Rplus (Rmult R1 y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) z) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) t) (Rplus (Rmult (Rplus R1 R1) u) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) v) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) w) (Rplus (Rmult R0 g) (Rplus (Rmult (Rplus R1 R1) h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) j) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) l) (Rplus (Rmult (Rplus R1 R1) m) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) n) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) o) (Rplus (Rmult R0 p) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) q) (Rplus (Rmult R1 r) (Rplus (Rmult R1 s) (Rplus (Rmult R0 a) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) b) (Ropp R1))))))))))))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) t) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) v) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) w) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) g) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) j) (Rplus (Rmult R1 l) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) m) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) n) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) o) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) p) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) q) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) r) (Rplus (Rmult R0 s) (Rplus (Rmult (Rplus R1 R1) a) (Rplus (Rmult (Rplus R1 R1) b) (Ropp R1))))))))))))))))))))) R0) --> -(Rle (Rplus (Rmult R1 x) (Rplus (Rmult (Rplus R1 R1) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) u) (Rplus (Rmult (Ropp R1) v) (Rplus (Rmult (Rplus R1 R1) w) (Rplus (Rmult R1 g) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) h) (Rplus (Rmult R1 j) (Rplus (Rmult (Rplus R1 R1) l) (Rplus (Rmult R0 m) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) n) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) o) (Rplus (Rmult (Rplus R1 R1) p) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) q) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) r) (Rplus (Rmult (Rplus R1 R1) s) (Rplus (Rmult (Rplus R1 R1) a) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) b) (Ropp R1))))))))))))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) z) (Rplus (Rmult R1 t) (Rplus (Rmult R1 u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) v) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) w) (Rplus (Rmult R1 g) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) h) (Rplus (Rmult R1 j) (Rplus (Rmult R1 l) (Rplus (Rmult (Rplus R1 R1) m) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) n) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) o) (Rplus (Rmult R1 p) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) q) (Rplus (Rmult R0 r) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) s) (Rplus (Rmult R0 a) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) b) (Ropp R1))))))))))))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) t) (Rplus (Rmult (Rplus R1 R1) u) (Rplus (Rmult (Rplus R1 R1) v) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) w) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 R1)))) g) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) j) (Rplus (Rmult R0 l) (Rplus (Rmult R1 m) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) n) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) o) (Rplus (Rmult (Rplus R1 R1) p) (Rplus (Rmult (Rplus R1 R1) q) (Rplus (Rmult R0 r) (Rplus (Rmult R1 s) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) a) (Rplus (Rmult R1 b) (Ropp R1))))))))))))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 R1) x) (Rplus (Rmult (Rplus R1 R1) y) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) u) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) v) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) w) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) g) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 R1)))) h) (Rplus (Rmult R1 j) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) l) (Rplus (Rmult R1 m) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) n) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) o) (Rplus (Rmult R0 p) (Rplus (Rmult R0 q) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) r) (Rplus (Rmult R0 s) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) a) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) b) (Ropp R1))))))))))))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) y) (Rplus (Rmult (Rplus R1 R1) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) u) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) v) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) w) (Rplus (Rmult (Rplus R1 R1) g) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) h) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))) j) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) l) (Rplus (Rmult R1 m) (Rplus (Rmult R0 n) (Rplus (Rmult (Rplus R1 R1) o) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) p) (Rplus (Rmult (Rplus R1 R1) q) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) r) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) s) (Rplus (Rmult R0 a) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) b) (Ropp R1))))))))))))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) x) (Rplus (Rmult R0 y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) u) (Rplus (Rmult R0 v) (Rplus (Rmult R1 w) (Rplus (Rmult R0 g) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) j) (Rplus (Rmult R0 l) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) m) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) n) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) o) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) p) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) q) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) r) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) s) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) a) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) b) (Ropp R1))))))))))))))))))))) R0) --> -(Rle (Rplus (Rmult R1 x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) v) (Rplus (Rmult (Rplus R1 R1) w) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) g) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) h) (Rplus (Rmult R0 j) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) l) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))) m) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) n) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) o) (Rplus (Rmult R0 p) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) q) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) r) (Rplus (Rmult (Rplus R1 R1) s) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) a) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) b) (Ropp R1))))))))))))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) x) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) z) (Rplus (Rmult (Rplus R1 R1) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) u) (Rplus (Rmult (Rplus R1 R1) v) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) w) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) g) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) j) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) l) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) m) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) n) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) o) (Rplus (Rmult R0 p) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) q) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) r) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) s) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) a) (Rplus (Rmult R1 b) (Ropp R1))))))))))))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) z) (Rplus (Rmult (Rplus R1 R1) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) v) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) w) (Rplus (Rmult R0 g) (Rplus (Rmult R1 h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) j) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) l) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) m) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) n) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 R1)))) o) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) p) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) q) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) r) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) s) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) a) (Rplus (Rmult R1 b) (Ropp R1))))))))))))))))))))) R0) --> -(Rle (Rplus (Rmult R1 x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) z) (Rplus (Rmult (Rplus R1 R1) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) v) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) w) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) g) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) j) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) l) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) m) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) n) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) o) (Rplus (Rmult (Ropp R1) p) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) q) (Rplus (Rmult (Rplus R1 R1) r) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) s) (Rplus (Rmult R1 a) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) b) (Ropp R1))))))))))))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) u) (Rplus (Rmult R0 v) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) w) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) g) (Rplus (Rmult (Rplus R1 R1) h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) j) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) l) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) m) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) n) (Rplus (Rmult R0 o) (Rplus (Rmult (Rplus R1 R1) p) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 R1)))) q) (Rplus (Rmult R1 r) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) s) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) a) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) b) (Ropp R1))))))))))))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) x) (Rplus (Rmult R1 y) (Rplus (Rmult (Rplus R1 R1) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) t) (Rplus (Rmult R0 u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) v) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) w) (Rplus (Rmult R0 g) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) j) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) l) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) m) (Rplus (Rmult R0 n) (Rplus (Rmult (Rplus R1 R1) o) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) p) (Rplus (Rmult R0 q) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) r) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) s) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) a) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) b) (Ropp R1))))))))))))))))))))) R0) --> -(Rle (Rplus (Rmult R1 x) (Rplus (Rmult R0 y) (Rplus (Rmult (Rplus R1 R1) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) u) (Rplus (Rmult R1 v) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) w) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) g) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) j) (Rplus (Rmult R1 l) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) m) (Rplus (Rmult R0 n) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) o) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) p) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) q) (Rplus (Rmult R0 r) (Rplus (Rmult (Ropp R1) s) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) a) (Rplus (Rmult R1 b) (Ropp R1))))))))))))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) x) (Rplus (Rmult R1 y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) z) (Rplus (Rmult (Rplus R1 R1) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) u) (Rplus (Rmult (Rplus R1 R1) v) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) w) (Rplus (Rmult R0 g) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) j) (Rplus (Rmult (Rplus R1 R1) l) (Rplus (Rmult (Rplus R1 R1) m) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) n) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) o) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) p) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) q) (Rplus (Rmult (Rplus R1 R1) r) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) s) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) a) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) b) (Ropp R1))))))))))))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 R1) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) z) (Rplus (Rmult (Rplus R1 R1) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) u) (Rplus (Rmult R0 v) (Rplus (Rmult R0 w) (Rplus (Rmult R0 g) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) h) (Rplus (Rmult (Rplus R1 R1) j) (Rplus (Rmult R0 l) (Rplus (Rmult R1 m) (Rplus (Rmult R0 n) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) o) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) p) (Rplus (Rmult R0 q) (Rplus (Rmult (Rplus R1 R1) r) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) s) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) a) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) b) (Ropp R1))))))))))))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 R1) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) z) (Rplus (Rmult (Rplus R1 R1) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) u) (Rplus (Rmult R0 v) (Rplus (Rmult R0 w) (Rplus (Rmult R0 g) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) h) (Rplus (Rmult (Rplus R1 R1) j) (Rplus (Rmult R0 l) (Rplus (Rmult R1 m) (Rplus (Rmult R0 n) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) o) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) p) (Rplus (Rmult R0 q) (Rplus (Rmult (Rplus R1 R1) r) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) s) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) a) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) b) (Ropp R1))))))))))))))))))))) R0) - - -[19'30'' 1.9M m=21 n=20 K=8 ty=13'35''] - --------------------------------------------------------------------------------------------------------- - -!x:R.!y:R.!z:R.!t:R.!u:R.!v:R.!w:R.!g:R.!h:R.!j:R. -(Rle (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))))))) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))))))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))) v) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))) w) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))))) g) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))) j) (Ropp R1))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) x) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))))))))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))))))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))) v) (Rplus (Rmult R0 w) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))) g) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))))) j) (Ropp R1))))))))))) R0) --> -(Rle (Rplus (Rmult R1 x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))) y) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))))))))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))))))) u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))) v) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))) w) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))) g) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))) h) (Rplus (Rmult (Rplus R1 R1) j) (Ropp R1))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))))))))) z) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) u) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) v) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) w) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) g) (Rplus (Rmult R0 h) (Rplus (Rmult R1 j) (Ropp R1))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) y) (Rplus (Rmult R0 z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))))))))) t) (Rplus (Rmult (Ropp (Rplus R1 R1)) u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))) v) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))))))) w) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))))) g) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) j) (Ropp R1))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))))) y) (Rplus (Rmult R0 z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) u) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))) v) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))))))) w) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))))) g) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))))) h) (Rplus (Rmult R0 j) (Ropp R1))))))))))) R0) --> -(Rle (Rplus (Rmult R1 x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))) u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))) v) (Rplus (Rmult (Ropp R1) w) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))) g) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) j) (Ropp R1))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))))) u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))) v) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) w) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))))) g) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))) h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))) j) (Ropp R1))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))) u) (Rplus (Rmult (Rplus R1 R1) v) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))) w) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) g) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))))))) h) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))) j) (Ropp R1))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) y) (Rplus (Rmult R1 z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))))) u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))))))) v) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) w) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))) g) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))) h) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))))))) j) (Ropp R1))))))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) y) (Rplus (Rmult R1 z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))))) u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))))))) v) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) w) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))) g) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))) h) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))))))) j) (Ropp R1))))))))))) R0) - -[ K m=11 n=10 K=18 ty=] (TRASH) - - ----------------------------------------------- - -!x:R.!y:R.!z:R.!t:R.!u:R.!v:R. -(Rle (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) t) (Rplus (Rmult (Rplus R1 R1) u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) v) (Ropp R1))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) x) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) y) (Rplus (Rmult R0 z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 R1))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))) u) (Rplus (Rmult R0 v) (Ropp R1))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 R1) x) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) y) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))) u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))) v) (Ropp R1))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))) x) (Rplus (Rmult R0 y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))) z) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) u) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))) v) (Ropp R1))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 R1) x) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))) t) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))) u) (Rplus (Rmult (Rplus R1 (Rplus R1 R1)) v) (Ropp R1))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))))) x) (Rplus (Rmult R1 y) (Rplus (Rmult R1 z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) u) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) v) (Ropp R1))))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))))) x) (Rplus (Rmult R1 y) (Rplus (Rmult R1 z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))) t) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) u) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))) v) (Ropp R1))))))) R0) - -[4' 658K m=7 n=6 K=13 ty=50''] - ----------------------------------------------------------------- - -!x:R.!y:R.!z:R.!t:R. -(Rle (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))))) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))))) t) (Ropp R1))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))) x) (Rplus (Rmult (Ropp (Rplus R1 R1)) y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))) z) (Rplus (Rmult (Rplus R1 R1) t) (Ropp R1))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 R1) x) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))) y) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))))) z) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))))))))) t) (Ropp R1))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 R1) x) (Rplus (Rmult R1 y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) z) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))) t) (Ropp R1))))) R0) --> -(Rle (Rplus (Rmult (Rplus R1 R1) x) (Rplus (Rmult R1 y) (Rplus (Rmult (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1)))) z) (Rplus (Rmult (Ropp (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 (Rplus R1 R1))))))))))) t) (Ropp R1))))) R0) - -[3':20'' 658K m=5 n=4 K=13 ty=41''] - - - - diff --git a/helm/gTopLevel/esempi/fourier/fourier_make_benchmarks.ml b/helm/gTopLevel/esempi/fourier/fourier_make_benchmarks.ml deleted file mode 100644 index d783089a2..000000000 --- a/helm/gTopLevel/esempi/fourier/fourier_make_benchmarks.ml +++ /dev/null @@ -1,61 +0,0 @@ -let rec int_to_cic n = - if n < 0 then - "(Ropp "^int_to_cic (-n)^")" - else - match n with - 0 -> " R0" - |1 -> " R1" - |k -> "(Rplus R1 " ^ int_to_cic (n-1) ^")" -;; - -let dimx = ref 3;; -let dimy = ref 3;; -let kmax = ref 5;; -let vl = [|"x";"y";"z";"t";"u";"v";"w";"g";"h";"j";"l";"m";"n";"o";"p";"q";"r";"s";"a";"b";"c";"d"|] -;; - -let nth_inc n = - vl.(n) -;; - -let preamble () = - for i = 0 to !dimx do - print_string ("!"^nth_inc i^":R."); - done; - print_string "\n"; -;; - -let main () = - print_string "Immetti m : ";dimy := (read_int ()) - 1; - print_string "Immetti n : ";dimx := (read_int ()) - 1; - print_string "Immetti K : ";kmax := (read_int ()) + 1; - print_string ("Genero un sistema di "^ - string_of_int (!dimy+1)^" disequazioni in "^ - string_of_int (!dimx+1)^" incognite con coefficenti "^string_of_int !kmax^"\n\n"); - Random.self_init (); - preamble (); - let max = ref 0 in - for i=0 to !dimy do - begin - print_string "(Rle "; - for o=0 to !dimx do - let k = ref ((Random.int !kmax)) in - if !k > !max then max := !k; - if i=o then - k := - !k - else - k := !k; - print_string ("(Rplus (Rmult "^int_to_cic !k^" "^nth_inc o^") "); - done; - print_string "(Ropp R1)"; - for o=0 to !dimx do - print_string (")"); - done; - print_string (" R0)\n->\n"); - end - done; - print_string ("\n\nIl massimo K e' "^string_of_int !max^".\nLa tesi la puoi scegliere tu, ma se ricopi una ipotesi vai tranquillo.\n"); -;; - - -main ();; diff --git a/helm/gTopLevel/esempi/prova.cic b/helm/gTopLevel/esempi/prova.cic deleted file mode 100644 index 3f65458d2..000000000 --- a/helm/gTopLevel/esempi/prova.cic +++ /dev/null @@ -1,16 +0,0 @@ -alias eq /Coq/Init/Logic/eq.ind#1/1 -alias nat /Coq/Init/Datatypes/nat.ind#1/1 -alias O /Coq/Init/Datatypes/nat.ind#1/1/1 -alias S /Coq/Init/Datatypes/nat.ind#1/1/2 -alias plus /Coq/Init/Peano/plus.con -alias mult /Coq/Init/Peano/mult.con -(mult (plus (S (S O)) (S O)) (S (S O))) -Case ((S O) : nat ; nat) { O ; \x:nat.x } -Fix f {f(0) : !x:nat.nat ; g(0) : !x:nat.nat} - { \x:nat.O - ; \x:nat. - Case (x : nat ; nat) { (S O) ; \x:nat.(f x) } - } - -(* Nel caso seguente sbagliavamo a fare la whd!!!! *) -!n:nat.(eq nat O (Case (n : nat ; \z:nat.!a:nat.nat) {\x:nat.x ; \y:nat.\x:nat.x} O)) diff --git a/helm/gTopLevel/esempi/rewrite.cic b/helm/gTopLevel/esempi/rewrite.cic deleted file mode 100644 index ff2b92e52..000000000 --- a/helm/gTopLevel/esempi/rewrite.cic +++ /dev/null @@ -1,5 +0,0 @@ -!v:nat.(eq nat -> nat -> nat \x:nat.\y:nat.(plus y v) \x:nat.\y:nat.O) - -Fare cut di: - (eq nat -> nat \w:nat.(plus w v) \w:nat.(plus (plus w w) v)) -e poi riscriverlo diff --git a/helm/gTopLevel/esempi/ring/0eq0.cic b/helm/gTopLevel/esempi/ring/0eq0.cic deleted file mode 100644 index 0b6f8f22e..000000000 --- a/helm/gTopLevel/esempi/ring/0eq0.cic +++ /dev/null @@ -1,10 +0,0 @@ -(* prova di 0 == 0 *) -alias eq /Coq/Init/Logic/Equality/eq.ind#1/1 -alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 -alias R /Coq/Reals/Rdefinitions/R.con -alias Rplus /Coq/Reals/Rdefinitions/Rplus.con -alias Rmult /Coq/Reals/Rdefinitions/Rmult.con -alias R1 /Coq/Reals/Rdefinitions/R1.con -alias R0 /Coq/Reals/Rdefinitions/R0.con -alias Ropp /Coq/Reals/Rdefinitions/Ropp.con -(eqT R R0 R0) diff --git a/helm/gTopLevel/esempi/ring/aliases.cic b/helm/gTopLevel/esempi/ring/aliases.cic deleted file mode 100644 index f3fb95c0b..000000000 --- a/helm/gTopLevel/esempi/ring/aliases.cic +++ /dev/null @@ -1,24 +0,0 @@ -alias false /Coq/Init/Datatypes/bool.ind#1/1/2 -alias apolynomial_normalize_ok /Coq/ring/Ring_abstract/abstract_rings/apolynomial_normalize_ok.con -alias RTheory /Coq/Reals/Rbase/RTheory.con -alias eq /Coq/Init/Logic/Equality/eq.ind#1/1 -alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 -alias R /Coq/Reals/Rdefinitions/R.con -alias Rplus /Coq/Reals/Rdefinitions/Rplus.con -alias Rmult /Coq/Reals/Rdefinitions/Rmult.con -alias R1 /Coq/Reals/Rdefinitions/R1.con -alias R0 /Coq/Reals/Rdefinitions/R0.con -alias Ropp /Coq/Reals/Rdefinitions/Ropp.con -alias interp_sacs /Coq/ring/Ring_abstract/abstract_rings/interp_sacs.con -alias apolynomial_normalize /Coq/ring/Ring_abstract/abstract_rings/apolynomial_normalize.con -alias Node_vm /Coq/ring/Quote/variables_map/varmap.ind#1/1/2 -alias Empty_vm /Coq/ring/Quote/variables_map/varmap.ind#1/1/1 -alias APvar /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/1 -alias AP0 /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/2 -alias AP1 /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/3 -alias APplus /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/4 -alias APmult /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/5 -alias APopp /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/6 -alias Left_idx /Coq/ring/Quote/variables_map/index.ind#1/1/1 -alias Right_idx /Coq/ring/Quote/variables_map/index.ind#1/1/2 -alias End_idx /Coq/ring/Quote/variables_map/index.ind#1/1/3 diff --git a/helm/gTopLevel/esempi/ring/caso0.cic b/helm/gTopLevel/esempi/ring/caso0.cic deleted file mode 100644 index afe37f563..000000000 --- a/helm/gTopLevel/esempi/ring/caso0.cic +++ /dev/null @@ -1,23 +0,0 @@ -(* OK, meglio di coq *) -alias eq /Coq/Init/Logic/Equality/eq.ind#1/1 -alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 -alias R /Coq/Reals/Rdefinitions/R.con -alias Rplus /Coq/Reals/Rdefinitions/Rplus.con -alias Rmult /Coq/Reals/Rdefinitions/Rmult.con -alias R1 /Coq/Reals/Rdefinitions/R1.con -alias R0 /Coq/Reals/Rdefinitions/R0.con -alias Ropp /Coq/Reals/Rdefinitions/Ropp.con -alias interp_sacs /Coq/ring/Ring_abstract/abstract_rings/interp_sacs.con -alias apolynomial_normalize /Coq/ring/Ring_abstract/abstract_rings/apolynomial_normalize.con -alias Node_vm /Coq/ring/Quote/variables_map/varmap.ind#1/1/2 -alias Empty_vm /Coq/ring/Quote/variables_map/varmap.ind#1/1/1 -alias APvar /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/1 -alias AP0 /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/2 -alias AP1 /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/3 -alias APplus /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/4 -alias APmult /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/5 -alias APopp /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/6 -alias Left_idx /Coq/ring/Quote/variables_map/index.ind#1/1/1 -alias Right_idx /Coq/ring/Quote/variables_map/index.ind#1/1/2 -alias End_idx /Coq/ring/Quote/variables_map/index.ind#1/1/3 -(eqT R R1 R1) diff --git a/helm/gTopLevel/esempi/ring/caso1.cic b/helm/gTopLevel/esempi/ring/caso1.cic deleted file mode 100644 index 250e8cbeb..000000000 --- a/helm/gTopLevel/esempi/ring/caso1.cic +++ /dev/null @@ -1,25 +0,0 @@ -(* ok *) -alias eq /Coq/Init/Logic/Equality/eq.ind#1/1 -alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 -alias R /Coq/Reals/Rdefinitions/R.con -alias Rplus /Coq/Reals/Rdefinitions/Rplus.con -alias Rmult /Coq/Reals/Rdefinitions/Rmult.con -alias R1 /Coq/Reals/Rdefinitions/R1.con -alias R0 /Coq/Reals/Rdefinitions/R0.con -alias Ropp /Coq/Reals/Rdefinitions/Ropp.con -alias interp_sacs /Coq/ring/Ring_abstract/abstract_rings/interp_sacs.con -alias apolynomial_normalize /Coq/ring/Ring_abstract/abstract_rings/apolynomial_normalize.con -alias Node_vm /Coq/ring/Quote/variables_map/varmap.ind#1/1/2 -alias Empty_vm /Coq/ring/Quote/variables_map/varmap.ind#1/1/1 -alias APvar /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/1 -alias AP0 /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/2 -alias AP1 /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/3 -alias APplus /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/4 -alias APmult /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/5 -alias APopp /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/6 -alias Left_idx /Coq/ring/Quote/variables_map/index.ind#1/1/1 -alias Right_idx /Coq/ring/Quote/variables_map/index.ind#1/1/2 -alias End_idx /Coq/ring/Quote/variables_map/index.ind#1/1/3 -(eqT R - R1 - (Rmult R1 R1)) diff --git a/helm/gTopLevel/esempi/ring/caso2.cic b/helm/gTopLevel/esempi/ring/caso2.cic deleted file mode 100644 index c9c389674..000000000 --- a/helm/gTopLevel/esempi/ring/caso2.cic +++ /dev/null @@ -1,25 +0,0 @@ -(* ok *) -alias eq /Coq/Init/Logic/Equality/eq.ind#1/1 -alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 -alias R /Coq/Reals/Rdefinitions/R.con -alias Rplus /Coq/Reals/Rdefinitions/Rplus.con -alias Rmult /Coq/Reals/Rdefinitions/Rmult.con -alias R1 /Coq/Reals/Rdefinitions/R1.con -alias R0 /Coq/Reals/Rdefinitions/R0.con -alias Ropp /Coq/Reals/Rdefinitions/Ropp.con -alias interp_sacs /Coq/ring/Ring_abstract/abstract_rings/interp_sacs.con -alias apolynomial_normalize /Coq/ring/Ring_abstract/abstract_rings/apolynomial_normalize.con -alias Node_vm /Coq/ring/Quote/variables_map/varmap.ind#1/1/2 -alias Empty_vm /Coq/ring/Quote/variables_map/varmap.ind#1/1/1 -alias APvar /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/1 -alias AP0 /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/2 -alias AP1 /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/3 -alias APplus /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/4 -alias APmult /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/5 -alias APopp /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/6 -alias Left_idx /Coq/ring/Quote/variables_map/index.ind#1/1/1 -alias Right_idx /Coq/ring/Quote/variables_map/index.ind#1/1/2 -alias End_idx /Coq/ring/Quote/variables_map/index.ind#1/1/3 -(eqT R - (Rmult R1 R1) - R1) diff --git a/helm/gTopLevel/esempi/ring/caso3.1.cic b/helm/gTopLevel/esempi/ring/caso3.1.cic deleted file mode 100644 index 0d698cd48..000000000 --- a/helm/gTopLevel/esempi/ring/caso3.1.cic +++ /dev/null @@ -1,25 +0,0 @@ -(* ok *) -alias eq /Coq/Init/Logic/Equality/eq.ind#1/1 -alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 -alias R /Coq/Reals/Rdefinitions/R.con -alias Rplus /Coq/Reals/Rdefinitions/Rplus.con -alias Rmult /Coq/Reals/Rdefinitions/Rmult.con -alias R1 /Coq/Reals/Rdefinitions/R1.con -alias R0 /Coq/Reals/Rdefinitions/R0.con -alias Ropp /Coq/Reals/Rdefinitions/Ropp.con -alias interp_sacs /Coq/ring/Ring_abstract/abstract_rings/interp_sacs.con -alias apolynomial_normalize /Coq/ring/Ring_abstract/abstract_rings/apolynomial_normalize.con -alias Node_vm /Coq/ring/Quote/variables_map/varmap.ind#1/1/2 -alias Empty_vm /Coq/ring/Quote/variables_map/varmap.ind#1/1/1 -alias APvar /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/1 -alias AP0 /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/2 -alias AP1 /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/3 -alias APplus /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/4 -alias APmult /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/5 -alias APopp /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/6 -alias Left_idx /Coq/ring/Quote/variables_map/index.ind#1/1/1 -alias Right_idx /Coq/ring/Quote/variables_map/index.ind#1/1/2 -alias End_idx /Coq/ring/Quote/variables_map/index.ind#1/1/3 -(eqT R - (Rmult R1 R1) - (Rplus R1 R1)) diff --git a/helm/gTopLevel/esempi/ring/caso3.1bis.cic b/helm/gTopLevel/esempi/ring/caso3.1bis.cic deleted file mode 100644 index ec85c071a..000000000 --- a/helm/gTopLevel/esempi/ring/caso3.1bis.cic +++ /dev/null @@ -1,25 +0,0 @@ -(* ok *) -alias eq /Coq/Init/Logic/Equality/eq.ind#1/1 -alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 -alias R /Coq/Reals/Rdefinitions/R.con -alias Rplus /Coq/Reals/Rdefinitions/Rplus.con -alias Rmult /Coq/Reals/Rdefinitions/Rmult.con -alias R1 /Coq/Reals/Rdefinitions/R1.con -alias R0 /Coq/Reals/Rdefinitions/R0.con -alias Ropp /Coq/Reals/Rdefinitions/Ropp.con -alias interp_sacs /Coq/ring/Ring_abstract/abstract_rings/interp_sacs.con -alias apolynomial_normalize /Coq/ring/Ring_abstract/abstract_rings/apolynomial_normalize.con -alias Node_vm /Coq/ring/Quote/variables_map/varmap.ind#1/1/2 -alias Empty_vm /Coq/ring/Quote/variables_map/varmap.ind#1/1/1 -alias APvar /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/1 -alias AP0 /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/2 -alias AP1 /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/3 -alias APplus /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/4 -alias APmult /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/5 -alias APopp /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/6 -alias Left_idx /Coq/ring/Quote/variables_map/index.ind#1/1/1 -alias Right_idx /Coq/ring/Quote/variables_map/index.ind#1/1/2 -alias End_idx /Coq/ring/Quote/variables_map/index.ind#1/1/3 -(eqT R - (Rplus R1 R1) - (Rmult R1 R1)) diff --git a/helm/gTopLevel/esempi/ring/caso3.2.cic b/helm/gTopLevel/esempi/ring/caso3.2.cic deleted file mode 100644 index d6d0b5ad8..000000000 --- a/helm/gTopLevel/esempi/ring/caso3.2.cic +++ /dev/null @@ -1,25 +0,0 @@ -(* ok *) -alias eq /Coq/Init/Logic/Equality/eq.ind#1/1 -alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 -alias R /Coq/Reals/Rdefinitions/R.con -alias Rplus /Coq/Reals/Rdefinitions/Rplus.con -alias Rmult /Coq/Reals/Rdefinitions/Rmult.con -alias R1 /Coq/Reals/Rdefinitions/R1.con -alias R0 /Coq/Reals/Rdefinitions/R0.con -alias Ropp /Coq/Reals/Rdefinitions/Ropp.con -alias interp_sacs /Coq/ring/Ring_abstract/abstract_rings/interp_sacs.con -alias apolynomial_normalize /Coq/ring/Ring_abstract/abstract_rings/apolynomial_normalize.con -alias Node_vm /Coq/ring/Quote/variables_map/varmap.ind#1/1/2 -alias Empty_vm /Coq/ring/Quote/variables_map/varmap.ind#1/1/1 -alias APvar /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/1 -alias AP0 /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/2 -alias AP1 /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/3 -alias APplus /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/4 -alias APmult /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/5 -alias APopp /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/6 -alias Left_idx /Coq/ring/Quote/variables_map/index.ind#1/1/1 -alias Right_idx /Coq/ring/Quote/variables_map/index.ind#1/1/2 -alias End_idx /Coq/ring/Quote/variables_map/index.ind#1/1/3 -(eqT R - (Rmult (Rplus R1 R1) R1) - (Rmult R1 (Rplus R1 R1))) diff --git a/helm/gTopLevel/esempi/ring/caso3.3.cic b/helm/gTopLevel/esempi/ring/caso3.3.cic deleted file mode 100644 index 0ac953aa3..000000000 --- a/helm/gTopLevel/esempi/ring/caso3.3.cic +++ /dev/null @@ -1,25 +0,0 @@ -(* ok *) -alias eq /Coq/Init/Logic/Equality/eq.ind#1/1 -alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 -alias R /Coq/Reals/Rdefinitions/R.con -alias Rplus /Coq/Reals/Rdefinitions/Rplus.con -alias Rmult /Coq/Reals/Rdefinitions/Rmult.con -alias R1 /Coq/Reals/Rdefinitions/R1.con -alias R0 /Coq/Reals/Rdefinitions/R0.con -alias Ropp /Coq/Reals/Rdefinitions/Ropp.con -alias interp_sacs /Coq/ring/Ring_abstract/abstract_rings/interp_sacs.con -alias apolynomial_normalize /Coq/ring/Ring_abstract/abstract_rings/apolynomial_normalize.con -alias Node_vm /Coq/ring/Quote/variables_map/varmap.ind#1/1/2 -alias Empty_vm /Coq/ring/Quote/variables_map/varmap.ind#1/1/1 -alias APvar /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/1 -alias AP0 /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/2 -alias AP1 /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/3 -alias APplus /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/4 -alias APmult /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/5 -alias APopp /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/6 -alias Left_idx /Coq/ring/Quote/variables_map/index.ind#1/1/1 -alias Right_idx /Coq/ring/Quote/variables_map/index.ind#1/1/2 -alias End_idx /Coq/ring/Quote/variables_map/index.ind#1/1/3 -(eqT R - (Rmult (Rplus R1 R1) R1) - (Rmult R1 R1)) diff --git a/helm/gTopLevel/esempi/ring/coq_overkill_helm_rulez.cic b/helm/gTopLevel/esempi/ring/coq_overkill_helm_rulez.cic deleted file mode 100644 index f7879b576..000000000 --- a/helm/gTopLevel/esempi/ring/coq_overkill_helm_rulez.cic +++ /dev/null @@ -1,23 +0,0 @@ -(* meglio di coq *) -alias eq /Coq/Init/Logic/Equality/eq.ind#1/1 -alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 -alias R /Coq/Reals/Rdefinitions/R.con -alias Rplus /Coq/Reals/Rdefinitions/Rplus.con -alias Rmult /Coq/Reals/Rdefinitions/Rmult.con -alias R1 /Coq/Reals/Rdefinitions/R1.con -alias R0 /Coq/Reals/Rdefinitions/R0.con -alias Ropp /Coq/Reals/Rdefinitions/Ropp.con -alias interp_sacs /Coq/ring/Ring_abstract/abstract_rings/interp_sacs.con -alias apolynomial_normalize /Coq/ring/Ring_abstract/abstract_rings/apolynomial_normalize.con -alias Node_vm /Coq/ring/Quote/variables_map/varmap.ind#1/1/2 -alias Empty_vm /Coq/ring/Quote/variables_map/varmap.ind#1/1/1 -alias APvar /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/1 -alias AP0 /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/2 -alias AP1 /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/3 -alias APplus /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/4 -alias APmult /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/5 -alias APopp /Coq/ring/Ring_abstract/abstract_rings/apolynomial.ind#1/1/6 -alias Left_idx /Coq/ring/Quote/variables_map/index.ind#1/1/1 -alias Right_idx /Coq/ring/Quote/variables_map/index.ind#1/1/2 -alias End_idx /Coq/ring/Quote/variables_map/index.ind#1/1/3 -(eqT R R1 R0) diff --git a/helm/gTopLevel/esempi/ring/novarmap.cic b/helm/gTopLevel/esempi/ring/novarmap.cic deleted file mode 100644 index 63deeff13..000000000 --- a/helm/gTopLevel/esempi/ring/novarmap.cic +++ /dev/null @@ -1,13 +0,0 @@ -(* Goal ``-1 + 1*2 == 2*0 + 1`` *) -alias eq /Coq/Init/Logic/Equality/eq.ind#1/1 -alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 -alias R /Coq/Reals/Rdefinitions/R.con -alias Rplus /Coq/Reals/Rdefinitions/Rplus.con -alias Rmult /Coq/Reals/Rdefinitions/Rmult.con -alias R1 /Coq/Reals/Rdefinitions/R1.con -alias R0 /Coq/Reals/Rdefinitions/R0.con -alias Ropp /Coq/Reals/Rdefinitions/Ropp.con -(eqT R - (Rplus (Ropp R1) (Rmult R1 (Rplus R1 R1))) - (Rplus (Rmult (Rplus R1 R1) R0) R1) -) diff --git a/helm/gTopLevel/esempi/ring/novarmap_tofinish.cic b/helm/gTopLevel/esempi/ring/novarmap_tofinish.cic deleted file mode 100644 index 1a335f3b2..000000000 --- a/helm/gTopLevel/esempi/ring/novarmap_tofinish.cic +++ /dev/null @@ -1,13 +0,0 @@ -(* Goal: ``1 = 2`` *) -alias eq /Coq/Init/Logic/Equality/eq.ind#1/1 -alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 -alias R /Coq/Reals/Rdefinitions/R.con -alias Rplus /Coq/Reals/Rdefinitions/Rplus.con -alias Rmult /Coq/Reals/Rdefinitions/Rmult.con -alias R1 /Coq/Reals/Rdefinitions/R1.con -alias R0 /Coq/Reals/Rdefinitions/R0.con -alias Ropp /Coq/Reals/Rdefinitions/Ropp.con -(eqT R - R1 - (Rplus R1 R1) -) diff --git a/helm/gTopLevel/esempi/ring/varmap.cic b/helm/gTopLevel/esempi/ring/varmap.cic deleted file mode 100644 index d2cf450b3..000000000 --- a/helm/gTopLevel/esempi/ring/varmap.cic +++ /dev/null @@ -1,14 +0,0 @@ -(* Goal: ``x+y == 2*y+(x-y)`` *) -alias eq /Coq/Init/Logic/Equality/eq.ind#1/1 -alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 -alias R /Coq/Reals/Rdefinitions/R.con -alias Rplus /Coq/Reals/Rdefinitions/Rplus.con -alias Rmult /Coq/Reals/Rdefinitions/Rmult.con -alias R1 /Coq/Reals/Rdefinitions/R1.con -alias R0 /Coq/Reals/Rdefinitions/R0.con -alias Ropp /Coq/Reals/Rdefinitions/Ropp.con -!x:R.!y:R. -(eqT R - (Rplus x y) - (Rplus (Rmult (Rplus R1 R1) y) (Rplus x (Ropp y))) -) diff --git a/helm/gTopLevel/esempi/ring/varmap2.cic b/helm/gTopLevel/esempi/ring/varmap2.cic deleted file mode 100644 index d3aa6c85b..000000000 --- a/helm/gTopLevel/esempi/ring/varmap2.cic +++ /dev/null @@ -1,14 +0,0 @@ -(* Goal: ``x+y == x+y+x`` *) -alias eq /Coq/Init/Logic/Equality/eq.ind#1/1 -alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 -alias R /Coq/Reals/Rdefinitions/R.con -alias Rplus /Coq/Reals/Rdefinitions/Rplus.con -alias Rmult /Coq/Reals/Rdefinitions/Rmult.con -alias R1 /Coq/Reals/Rdefinitions/R1.con -alias R0 /Coq/Reals/Rdefinitions/R0.con -alias Ropp /Coq/Reals/Rdefinitions/Ropp.con -!x:R.!y:R. -(eqT R - (Rplus x y) - (Rplus (Rplus x y) x) -) diff --git a/helm/gTopLevel/esempi/ring/varmap_trivial.cic b/helm/gTopLevel/esempi/ring/varmap_trivial.cic deleted file mode 100644 index 15e2a512b..000000000 --- a/helm/gTopLevel/esempi/ring/varmap_trivial.cic +++ /dev/null @@ -1,14 +0,0 @@ -(* Goal (x,y:R)``x+y==y+x`` *) -alias eq /Coq/Init/Logic/Equality/eq.ind#1/1 -alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 -alias R /Coq/Reals/Rdefinitions/R.con -alias Rplus /Coq/Reals/Rdefinitions/Rplus.con -alias Rmult /Coq/Reals/Rdefinitions/Rmult.con -alias R1 /Coq/Reals/Rdefinitions/R1.con -alias R0 /Coq/Reals/Rdefinitions/R0.con -alias Ropp /Coq/Reals/Rdefinitions/Ropp.con -!x:R.!y:R. -(eqT R - (Rplus x y) - (Rplus y x) -) diff --git a/helm/gTopLevel/esempi/ring/varmap_trivial2.cic b/helm/gTopLevel/esempi/ring/varmap_trivial2.cic deleted file mode 100644 index e05aecd89..000000000 --- a/helm/gTopLevel/esempi/ring/varmap_trivial2.cic +++ /dev/null @@ -1,14 +0,0 @@ -(* Goal (x,y,z:R)``x+y+z==z+y+x`` *) -alias eq /Coq/Init/Logic/Equality/eq.ind#1/1 -alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 -alias R /Coq/Reals/Rdefinitions/R.con -alias Rplus /Coq/Reals/Rdefinitions/Rplus.con -alias Rmult /Coq/Reals/Rdefinitions/Rmult.con -alias R1 /Coq/Reals/Rdefinitions/R1.con -alias R0 /Coq/Reals/Rdefinitions/R0.con -alias Ropp /Coq/Reals/Rdefinitions/Ropp.con -!x:R.!y:R.!z:R. -(eqT R - (Rplus (Rplus x y) z) - (Rplus (Rplus z y) x) -) diff --git a/helm/gTopLevel/esempi/ring/varmap_trivial3.cic b/helm/gTopLevel/esempi/ring/varmap_trivial3.cic deleted file mode 100644 index c1bb161b8..000000000 --- a/helm/gTopLevel/esempi/ring/varmap_trivial3.cic +++ /dev/null @@ -1,14 +0,0 @@ -(* Goal (x:R)``2*x==x+x``. *) -alias eq /Coq/Init/Logic/Equality/eq.ind#1/1 -alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 -alias R /Coq/Reals/Rdefinitions/R.con -alias Rplus /Coq/Reals/Rdefinitions/Rplus.con -alias Rmult /Coq/Reals/Rdefinitions/Rmult.con -alias R1 /Coq/Reals/Rdefinitions/R1.con -alias R0 /Coq/Reals/Rdefinitions/R0.con -alias Ropp /Coq/Reals/Rdefinitions/Ropp.con -!x:R. -(eqT R - (Rmult (Rplus R1 R1) x) - (Rplus x x) -) diff --git a/helm/gTopLevel/esempi/ring/varmap_trivial_molte_variabili.cic b/helm/gTopLevel/esempi/ring/varmap_trivial_molte_variabili.cic deleted file mode 100644 index ce9d86da0..000000000 --- a/helm/gTopLevel/esempi/ring/varmap_trivial_molte_variabili.cic +++ /dev/null @@ -1,14 +0,0 @@ -(* Goal (u,v,w,x,y,z:R)``u+v+w+x+y+z==z+y+x+w+v+u``. *) -alias eq /Coq/Init/Logic/Equality/eq.ind#1/1 -alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 -alias R /Coq/Reals/Rdefinitions/R.con -alias Rplus /Coq/Reals/Rdefinitions/Rplus.con -alias Rmult /Coq/Reals/Rdefinitions/Rmult.con -alias R1 /Coq/Reals/Rdefinitions/R1.con -alias R0 /Coq/Reals/Rdefinitions/R0.con -alias Ropp /Coq/Reals/Rdefinitions/Ropp.con -!u:R.!v:R.!w:R.!x:R.!y:R.!z:R. -(eqT R - (Rplus (Rplus (Rplus (Rplus (Rplus u v) w) x) y) z) - (Rplus (Rplus (Rplus (Rplus (Rplus z y) x) w) v) u) -) diff --git a/helm/gTopLevel/esempi/sets.cic b/helm/gTopLevel/esempi/sets.cic deleted file mode 100644 index 5bd913e72..000000000 --- a/helm/gTopLevel/esempi/sets.cic +++ /dev/null @@ -1,17 +0,0 @@ -Open: -/Coq/Sets/Powerset_facts/Union_commutative.con - -We prove the conjunction again: - -alias U /Coq/Sets/Ensembles/Ensembles/U.var -alias V /Coq/Sets/Powerset_facts/Sets_as_an_algebra/U.var -alias Ensemble /Coq/Sets/Ensembles/Ensemble.con -alias Union /Coq/Sets/Ensembles/Union.ind#1/1 -alias Included /Coq/Sets/Ensembles/Included.con -alias and /Coq/Init/Logic/and.ind#1/1 - -The two parts of the conjunction can be proved in the same way. So we -can make a Cut: - -!C:Ensemble{U:=V}.!D:Ensemble{U:=V}. - (Included{U:=V} (Union{U:=V} C D) (Union{U:=V} D C)) diff --git a/helm/gTopLevel/esempi/various.cic b/helm/gTopLevel/esempi/various.cic deleted file mode 100644 index 11141d4ab..000000000 --- a/helm/gTopLevel/esempi/various.cic +++ /dev/null @@ -1,7 +0,0 @@ - -!n:nat.(eq nat n n) - -!n:nat.!m:nat.(eq nat n m)->(eq nat m n) - -!n:nat.!m:nat.!p:nat.(eq nat n p)->(eq nat p m)->(eq nat n m) - diff --git a/helm/gTopLevel/gTopLevel.conf.xml.sample b/helm/gTopLevel/gTopLevel.conf.xml.sample deleted file mode 100644 index e4f23f7ce..000000000 --- a/helm/gTopLevel/gTopLevel.conf.xml.sample +++ /dev/null @@ -1,58 +0,0 @@ - - - -
- - /home/sacerdot/helm/local_stuff - - - http://mowgli.cs.unibo.it -
- - -
- mowgli.cs.unibo.it - helm - mowgli -
-
- mathql_db_map.txt -
- mowgli.cs.unibo.it - mowgli - - - helm -
- dbname=mowgli host=mowgli.cs.unibo.it user=helm - - - - - - - - - - - -
-
- $(users_settings.per_user_work_directory)/objects - $(local_library.dir) -
-
- remote - $(users_settings.daemons_host):58081/ -
-
- $(users_settings.per_user_work_directory)/constanttype - $(users_settings.per_user_work_directory)/environment - $(users_settings.per_user_work_directory)/innertypes - $(users_settings.per_user_work_directory)/currentproof - $(users_settings.per_user_work_directory)/currentprooftype -
-
- $(users_settings.daemons_host):58080/ -
-
diff --git a/helm/gTopLevel/gTopLevel.ml b/helm/gTopLevel/gTopLevel.ml deleted file mode 100644 index d3e39351c..000000000 --- a/helm/gTopLevel/gTopLevel.ml +++ /dev/null @@ -1,2879 +0,0 @@ -(* Copyright (C) 2000-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/ - *) - -(*****************************************************************************) -(* *) -(* PROJECT HELM *) -(* *) -(* Claudio Sacerdoti Coen *) -(* 06/01/2002 *) -(* *) -(* *) -(*****************************************************************************) - -let debug_level = ref 1 -let debug_print ?(level = 1) s = if !debug_level >= level then prerr_endline s -let error s = prerr_endline ("E: " ^ s) -let warning s = prerr_endline ("W: " ^ s) - -open Printf - -module MQI = MQueryInterpreter -module MQIC = MQIConn -module MQGT = MQGTypes -module MQGU = MQGUtil -module MQG = MQueryGenerator - -(* first of all let's initialize the Helm_registry *) -let _ = - let configuration_file = "gTopLevel.conf.xml" in - if not (Sys.file_exists configuration_file) then begin - eprintf "E: Can't find configuration file '%s'\n" configuration_file; - exit 2 - end; - Helm_registry.load_from configuration_file -;; - -(* GLOBAL CONSTANTS *) - -let mqi_handle = MQIC.init_if_connected () - -let dbd = - Mysql.quick_connect - ~host:(Helm_registry.get "db.host") - ~user:(Helm_registry.get "db.user") - ~database:(Helm_registry.get "db.database") - () - -let restore_environment_on_boot = true ;; -let notify_hbugs_on_goal_change = false ;; - -let auto_disambiguation = ref true ;; - -(* GLOBAL REFERENCES (USED BY CALLBACKS) *) - -let check_term = ref (fun _ _ _ -> assert false);; - -exception RenderingWindowsNotInitialized;; - -let set_rendering_window,rendering_window = - let rendering_window_ref = ref None in - (function rw -> rendering_window_ref := Some rw), - (function () -> - match !rendering_window_ref with - None -> raise RenderingWindowsNotInitialized - | Some rw -> rw - ) -;; - -exception SettingsWindowsNotInitialized;; - -let set_settings_window,settings_window = - let settings_window_ref = ref None in - (function rw -> settings_window_ref := Some rw), - (function () -> - match !settings_window_ref with - None -> raise SettingsWindowsNotInitialized - | Some rw -> rw - ) -;; - -exception QedSetSensitiveNotInitialized;; -let qed_set_sensitive = - ref (function _ -> raise QedSetSensitiveNotInitialized) -;; - -exception SaveSetSensitiveNotInitialized;; -let save_set_sensitive = - ref (function _ -> raise SaveSetSensitiveNotInitialized) -;; - -(* COMMAND LINE OPTIONS *) - -let usedb = ref true - -let argspec = - [ - "-nodb", Arg.Clear usedb, "disable use of MathQL DB" - ] -in -Arg.parse argspec ignore "" - -(* UTILITY FUNCTIONS TO DISAMBIGUATE AN URI *) - -(* Check window *) - -let check_window uris = - let window = - GWindow.window - ~width:800 ~modal:true ~title:"Check" ~border_width:2 () in - let notebook = - GPack.notebook ~scrollable:true ~packing:window#add () in - window#show () ; - let render_terms = - List.map - (function uri -> - let scrolled_window = - GBin.scrolled_window ~border_width:10 - ~packing: - (notebook#append_page ~tab_label:((GMisc.label ~text:uri ())#coerce)) - () - in - lazy - (let mmlwidget = - TermViewer.sequent_viewer - ~mml_of_cic_sequent:ApplyTransformation.mml_of_cic_sequent - ~packing:scrolled_window#add ~width:400 ~height:280 () in - let expr = - let term = CicUtil.term_of_uri uri in - (Cic.Cast (term, fst(CicTypeChecker.type_of_aux' [] [] term - CicUniv.empty_ugraph ))) - in - try - mmlwidget#load_sequent [] (111,[],expr) - with - e -> - HelmLogger.log (`Error (`T (Printexc.to_string e))) - ) - ) uris - in - ignore - (notebook#connect#switch_page - (function i -> - Lazy.force (List.nth render_terms i))) -;; - -exception NoChoice;; - -let interactive_user_uri_choice - ~(selection_mode:[ `SINGLE | `MULTIPLE ]) - ?(ok="Ok") ?(enable_button_for_non_vars=false) ~title ~msg uris -= - let only_constant_choices = - lazy - (List.filter - (fun uri -> not (String.sub uri (String.length uri - 4) 4 = ".var")) - uris) - in - if selection_mode <> `SINGLE && !auto_disambiguation then - Lazy.force only_constant_choices - else begin - let choices = ref [] in - let chosen = ref false in - let use_only_constants = ref false in - let window = - GWindow.dialog ~modal:true ~title ~width:600 () in - let lMessage = - GMisc.label ~text:msg - ~packing:(window#vbox#pack ~expand:false ~fill:false ~padding:5) () in - let scrolled_window = - GBin.scrolled_window ~border_width:10 - ~packing:(window#vbox#pack ~expand:true ~fill:true ~padding:5) () in - let clist = - let expected_height = 18 * List.length uris in - let height = if expected_height > 400 then 400 else expected_height in - GList.clist ~columns:1 ~packing:scrolled_window#add - ~height ~selection_mode:(selection_mode :> Gtk.Tags.selection_mode) () in - let _ = List.map (function x -> clist#append [x]) uris in - let hbox2 = - GPack.hbox ~border_width:0 - ~packing:(window#vbox#pack ~expand:false ~fill:false ~padding:5) () in - let explain_label = - GMisc.label ~text:"None of the above. Try this one:" - ~packing:(hbox2#pack ~expand:false ~fill:false ~padding:5) () in - let manual_input = - GEdit.entry ~editable:true - ~packing:(hbox2#pack ~expand:true ~fill:true ~padding:5) () in - let hbox = - GPack.hbox ~border_width:0 ~packing:window#action_area#add () in - let okb = - GButton.button ~label:ok - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let _ = okb#misc#set_sensitive false in - let nonvarsb = - GButton.button - ~packing: - (function w -> - if enable_button_for_non_vars then - hbox#pack ~expand:false ~fill:false ~padding:5 w) - ~label:"Try constants only" () in - let autob = - GButton.button - ~packing: - (fun w -> - if enable_button_for_non_vars then - hbox#pack ~expand:false ~fill:false ~padding:5 w) - ~label:"Auto" () in - let checkb = - GButton.button ~label:"Check" - ~packing:(hbox#pack ~padding:5) () in - let _ = checkb#misc#set_sensitive false in - let cancelb = - GButton.button ~label:"Abort" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - (* actions *) - let check_callback () = - assert (List.length !choices > 0) ; - check_window !choices - in - ignore (window#connect#destroy GMain.Main.quit) ; - ignore (cancelb#connect#clicked window#destroy) ; - ignore - (okb#connect#clicked (function () -> chosen := true ; window#destroy ())) ; - ignore - (nonvarsb#connect#clicked - (function () -> - use_only_constants := true ; - chosen := true ; - window#destroy () - )) ; - ignore (autob#connect#clicked (fun () -> - auto_disambiguation := true; - (rendering_window ())#set_auto_disambiguation true; - use_only_constants := true ; - chosen := true; - window#destroy ())); - ignore (checkb#connect#clicked check_callback) ; - ignore - (clist#connect#select_row - (fun ~row ~column ~event -> - checkb#misc#set_sensitive true ; - okb#misc#set_sensitive true ; - choices := (List.nth uris row)::!choices)) ; - ignore - (clist#connect#unselect_row - (fun ~row ~column ~event -> - choices := - List.filter (function uri -> uri != (List.nth uris row)) !choices)) ; - ignore - (manual_input#connect#changed - (fun _ -> - if manual_input#text = "" then - begin - choices := [] ; - checkb#misc#set_sensitive false ; - okb#misc#set_sensitive false ; - clist#misc#set_sensitive true - end - else - begin - choices := [manual_input#text] ; - clist#unselect_all () ; - checkb#misc#set_sensitive true ; - okb#misc#set_sensitive true ; - clist#misc#set_sensitive false - end)); - window#set_position `CENTER ; - window#show () ; - GtkThread.main (); - if !chosen then - if !use_only_constants then - Lazy.force only_constant_choices - else - if List.length !choices > 0 then !choices else raise NoChoice - else - raise NoChoice - end -;; - -let interactive_interpretation_choice interpretations = - let chosen = ref None in - let window = - GWindow.window - ~modal:true ~title:"Ambiguous well-typed input." ~border_width:2 () in - let vbox = GPack.vbox ~packing:window#add () in - let lMessage = - GMisc.label - ~text: - ("Ambiguous input since there are many well-typed interpretations." ^ - " Please, choose one of them.") - ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let notebook = - GPack.notebook ~scrollable:true - ~packing:(vbox#pack ~expand:true ~fill:true ~padding:5) () in - let _ = - List.map - (function interpretation -> - let clist = - let expected_height = 18 * List.length interpretation in - let height = if expected_height > 400 then 400 else expected_height in - GList.clist ~columns:2 ~packing:notebook#append_page ~height - ~titles:["id" ; "URI"] () - in - ignore - (List.map - (function (id,uri) -> - let n = clist#append [id;uri] in - clist#set_row ~selectable:false n - ) interpretation - ) ; - clist#columns_autosize () - ) interpretations in - let hbox = - GPack.hbox ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let okb = - GButton.button ~label:"Ok" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let cancelb = - GButton.button ~label:"Abort" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - (* actions *) - ignore (window#connect#destroy GMain.Main.quit) ; - ignore (cancelb#connect#clicked window#destroy) ; - ignore - (okb#connect#clicked - (function () -> chosen := Some notebook#current_page ; window#destroy ())) ; - window#set_position `CENTER ; - window#show () ; - GtkThread.main (); - match !chosen with - None -> raise NoChoice - | Some n -> [n] -;; - - -(* MISC FUNCTIONS *) - -let - save_object_to_disk uri annobj ids_to_inner_sorts ids_to_inner_types pathname -= - let name = - let struri = UriManager.string_of_uri uri in - let idx = (String.rindex struri '/') + 1 in - String.sub struri idx (String.length struri - idx) - in - let path = pathname ^ "/" ^ name in - let xml, bodyxml = - Cic2Xml.print_object uri ~ids_to_inner_sorts ~ask_dtd_to_the_getter:false - annobj - in - let xmlinnertypes = - Cic2Xml.print_inner_types uri ~ids_to_inner_sorts ~ids_to_inner_types - ~ask_dtd_to_the_getter:false - in - (* innertypes *) - let innertypesuri = UriManager.innertypesuri_of_uri uri in - Xml.pp ~gzip:false xmlinnertypes (Some (path ^ ".types.xml")) ; - Http_getter.register' innertypesuri - (Helm_registry.get "local_library.url" ^ - Str.replace_first (Str.regexp "^cic:") "" - (UriManager.string_of_uri innertypesuri) ^ ".xml" - ) ; - (* constant type / variable / mutual inductive types definition *) - Xml.pp ~gzip:false xml (Some (path ^ ".xml")) ; - Http_getter.register' uri - (Helm_registry.get "local_library.url" ^ - Str.replace_first (Str.regexp "^cic:") "" - (UriManager.string_of_uri uri) ^ ".xml" - ) ; - match bodyxml with - None -> () - | Some bodyxml' -> - (* constant body *) - let bodyuri = - match UriManager.bodyuri_of_uri uri with - None -> assert false - | Some bodyuri -> bodyuri - in - Xml.pp ~gzip:false bodyxml' (Some (path ^ ".body.xml")) ; - Http_getter.register' bodyuri - (Helm_registry.get "local_library.url" ^ - Str.replace_first (Str.regexp "^cic:") "" - (UriManager.string_of_uri bodyuri) ^ ".xml" - ) -;; - - -(* CALLBACKS *) - -exception OpenConjecturesStillThere;; -exception WrongProof;; - -let pathname_of_annuri uristring = - Helm_registry.get "local_library.dir" ^ - Str.replace_first (Str.regexp "^cic:") "" uristring -;; - -let make_dirs dirpath = - ignore (Unix.system ("mkdir -p " ^ dirpath)) -;; - -let save_obj uri obj = - let - (acic,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 ~eta_fix:false obj - in - (* let's save the theorem and register it to the getter *) - let pathname = pathname_of_annuri (UriManager.buri_of_uri uri) in - make_dirs pathname ; - save_object_to_disk uri acic ids_to_inner_sorts ids_to_inner_types - pathname -;; - -let qed () = - match ProofEngine.get_proof () with - None -> assert false - | Some (uri,[],bo,ty) -> - let uri = match uri with Some uri -> uri | _ -> assert false in - (* we want to typecheck in the ENV *) - prerr_endline "-------------> QED"; - let ty_bo,u = - CicTypeChecker.type_of_aux' [] [] bo CicUniv.empty_ugraph in - let b,u1 = CicReduction.are_convertible [] ty_bo ty u in - if b then - begin - (*CSC: Wrong: [] is just plainly wrong *) - let proof = - Cic.Constant (UriManager.name_of_uri uri,Some bo,ty,[],[]) - in - let (acic,ids_to_inner_types,ids_to_inner_sorts) = - (rendering_window ())#output#load_proof proof - in - !qed_set_sensitive false ; - (* let's save the theorem and register it to the getter *) - let pathname = - pathname_of_annuri (UriManager.buri_of_uri uri) - in - let list_of_universes = - CicUnivUtils.universes_of_obj uri - (Cic.Constant ("",None,ty,[],[])) - in - let u1_clean = CicUniv.clean_ugraph u1 list_of_universes in - let u2 = CicUniv.fill_empty_nodes_with_uri u1_clean uri in - (********************************************** - TASSI: to uncomment whe universes will be ON - ***********************************************) - (* - make_dirs pathname ; - save_object_to_disk uri acic ids_to_inner_sorts - ids_to_inner_types pathname; - *) - (* save the universe graph u2 *) - (* add the object to the env *) - CicEnvironment.add_type_checked_term uri (( - Cic.Constant ((UriManager.name_of_uri uri), - (Some bo),ty,[],[])),u2); - (* FIXME: the variable list!! *) - prerr_endline "-------------> FINE"; - end - else - raise WrongProof - | _ -> raise OpenConjecturesStillThere -;; - - (** save an unfinished proof on the filesystem *) -let save_unfinished_proof () = - let (xml, bodyxml) = ProofEngine.get_current_status_as_xml () in - let proof_file_type = Helm_registry.get "gtoplevel.proof_file_type" in - let proof_file = Helm_registry.get "gtoplevel.proof_file" in - Xml.pp ~gzip:false xml (Some proof_file_type) ; - HelmLogger.log - (`Msg (`T ("Current proof type saved to " ^ proof_file_type))) ; - Xml.pp ~gzip:false bodyxml (Some proof_file) ; - HelmLogger.log - (`Msg (`T ("Current proof body saved to " ^ proof_file))) -;; - -(* Used to typecheck the loaded proofs *) -let typecheck_loaded_proof metasenv bo ty = - let module T = CicTypeChecker in - ignore ( - List.fold_left - (fun metasenv ((_,context,ty) as conj) -> - ignore (T.type_of_aux' metasenv context ty CicUniv.empty_ugraph) ; - metasenv @ [conj] - ) [] metasenv) ; - ignore (T.type_of_aux' metasenv [] ty CicUniv.empty_ugraph) ; - ignore (T.type_of_aux' metasenv [] bo CicUniv.empty_ugraph) -;; - -let decompose_uris_choice_callback uris = -(* N.B.: in questo passaggio perdo l'informazione su exp_named_subst !!!! *) - let module U = UriManager in - List.map - (function uri -> - match CicUtil.term_of_uri uri with - | Cic.MutInd (uri, typeno, _) -> (uri, typeno, []) - | _ -> assert false) - (interactive_user_uri_choice - ~selection_mode:`MULTIPLE ~ok:"Ok" ~enable_button_for_non_vars:false - ~title:"Decompose" ~msg:"Please, select the Inductive Types to decompose" - (List.map - (function (uri,typeno,_) -> - U.string_of_uri uri ^ "#1/" ^ string_of_int (typeno+1) - ) uris) - ) -;; - -let mk_fresh_name_callback metasenv context name ~typ = - let fresh_name = - match FreshNamesGenerator.mk_fresh_name ~subst:[] metasenv context name ~typ with - Cic.Name fresh_name -> fresh_name - | Cic.Anonymous -> assert false - in - match - GToolbox.input_string ~title:"Enter a fresh hypothesis name" ~text:fresh_name - ("Enter a fresh name for the hypothesis " ^ - CicPp.pp typ - (List.map (function None -> None | Some (n,_) -> Some n) context)) - with - Some fresh_name' -> Cic.Name fresh_name' - | None -> raise NoChoice -;; - -let refresh_proof (output : TermViewer.proof_viewer) = - try - let uri,currentproof = - match ProofEngine.get_proof () with - None -> assert false - | Some (uri,metasenv,bo,ty) -> - ProofEngine.set_proof (Some (uri,metasenv,bo,ty)) ; - if List.length metasenv = 0 then - begin - !qed_set_sensitive true ; - Hbugs.clear () - end - else - Hbugs.notify () ; - (*CSC: Wrong: [] is just plainly wrong *) - let uri = match uri with Some uri -> uri | _ -> assert false in - (uri, - Cic.CurrentProof (UriManager.name_of_uri uri,metasenv,bo,ty,[],[])) - in - ignore (output#load_proof currentproof) - with - e -> - match ProofEngine.get_proof () with - None -> assert false - | Some (uri,metasenv,bo,ty) -> - debug_print ("Offending proof: " ^ - CicPp.ppobj (Cic.CurrentProof ("questa",metasenv,bo,ty,[],[]))); - raise (InvokeTactics.RefreshProofException e) - -let set_proof_engine_goal g = - ProofEngine.goal := g -;; - -let refresh_goals ?(empty_notebook=true) notebook = - try - match !ProofEngine.goal with - None -> - if empty_notebook then - begin - notebook#remove_all_pages ~skip_switch_page_event:false ; - notebook#set_empty_page - end - else - notebook#proofw#unload - | Some metano -> - let metasenv = - match ProofEngine.get_proof () with - None -> assert false - | Some (_,metasenv,_,_) -> metasenv - in - let currentsequent = - List.find (function (m,_,_) -> m=metano) metasenv - in - let regenerate_notebook () = - let skip_switch_page_event = - match metasenv with - (m,_,_)::_ when m = metano -> false - | _ -> true - in - notebook#remove_all_pages ~skip_switch_page_event ; - List.iter (function (m,_,_) -> notebook#add_page m) metasenv ; - in - if empty_notebook then - begin - regenerate_notebook () ; - notebook#set_current_page - ~may_skip_switch_page_event:false metano - end - else - begin - notebook#set_current_page - ~may_skip_switch_page_event:true metano ; - notebook#proofw#load_sequent metasenv currentsequent ; - end - with - e -> -let metano = - match !ProofEngine.goal with - None -> assert false - | Some m -> m -in -let metasenv = - match ProofEngine.get_proof () with - None -> assert false - | Some (_,metasenv,_,_) -> metasenv -in -try - let currentsequent = List.find (function (m,_,_) -> m=metano) metasenv in - debug_print - ("Offending sequent: " ^ SequentPp.TextualPp.print_sequent currentsequent); - raise (InvokeTactics.RefreshSequentException e) -with Not_found -> - debug_print ("Offending sequent " ^ string_of_int metano ^ " unknown."); - raise (InvokeTactics.RefreshSequentException e) - -module InvokeTacticsCallbacks = - struct - let sequent_viewer () = (rendering_window ())#notebook#proofw - let term_editor () = (rendering_window ())#inputt - let scratch_window () = (rendering_window ())#scratch_window - - let refresh_proof () = - let output = ((rendering_window ())#output : TermViewer.proof_viewer) in - refresh_proof output - - let refresh_goals () = - let notebook = (rendering_window ())#notebook in - refresh_goals notebook - - let decompose_uris_choice_callback = decompose_uris_choice_callback - let mk_fresh_name_callback = mk_fresh_name_callback - let mqi_handle = mqi_handle - let dbd = dbd - end -;; -module InvokeTactics' = InvokeTactics.Make (InvokeTacticsCallbacks);; -(* -(* Just to initialize the Hbugs module *) -module Ignore = Hbugs.Initialize (InvokeTactics');; -Hbugs.set_describe_hint_callback (fun hint -> - match hint with - | Hbugs_types.Use_apply_Luke term -> check_window [term] - | _ -> ()) -;; -*) -let dummy_uri = "/dummy.con" - - (** load an unfinished proof from filesystem *) -let load_unfinished_proof () = - let output = ((rendering_window ())#output : TermViewer.proof_viewer) in - let notebook = (rendering_window ())#notebook in - try - match - GToolbox.input_string ~title:"Load Unfinished Proof" ~text:dummy_uri - "Choose an URI:" - with - None -> raise NoChoice - | Some uri0 -> - let uri = UriManager.uri_of_string ("cic:" ^ uri0) in - let proof_file_type = Helm_registry.get "gtoplevel.proof_file_type" in - let proof_file = Helm_registry.get "gtoplevel.proof_file" in - match CicParser.obj_of_xml proof_file_type (Some proof_file) with - Cic.CurrentProof (_,metasenv,bo,ty,_,_) -> - typecheck_loaded_proof metasenv bo ty ; - ProofEngine.set_proof (Some (Some uri, metasenv, bo, ty)); - refresh_proof output ; - set_proof_engine_goal - (match metasenv with - [] -> None - | (metano,_,_)::_ -> Some metano - ) ; - refresh_goals notebook ; - HelmLogger.log - (`Msg (`T ("Current proof type loaded from " ^ proof_file_type))); - HelmLogger.log - (`Msg (`T ("Current proof body loaded from " ^ proof_file))) ; - !save_set_sensitive true; - | _ -> assert false - with - InvokeTactics.RefreshSequentException e -> - HelmLogger.log - (`Error (`T ("Exception raised during the refresh of the " ^ - "sequent: " ^ Printexc.to_string e))) - | InvokeTactics.RefreshProofException e -> - HelmLogger.log - (`Error (`T ("Exception raised during the refresh of the " ^ - "proof: " ^ Printexc.to_string e))) - | e -> - HelmLogger.log - (`Error (`T (Printexc.to_string e))) -;; - -let clear_aliases () = - let inputt = ((rendering_window ())#inputt : TermEditor.term_editor) in - inputt#environment := - DisambiguatingParser.EnvironmentP3.of_string - DisambiguatingParser.EnvironmentP3.empty -;; - -let edit_aliases () = - let inputt = ((rendering_window ())#inputt : TermEditor.term_editor) in - let disambiguation_env = inputt#environment in - let chosen_aliases = ref None in - let window = - GWindow.window - ~width:400 ~modal:true ~title:"Edit Aliases..." ~border_width:2 () in - let vbox = - GPack.vbox ~border_width:0 ~packing:window#add () in - let scrolled_window = - GBin.scrolled_window ~border_width:10 - ~packing:(vbox#pack ~expand:true ~fill:true ~padding:5) () in - let input = GText.view ~editable:true ~width:400 ~height:100 - ~packing:scrolled_window#add () in - let hbox = - GPack.hbox ~border_width:0 - ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let okb = - GButton.button ~label:"Ok" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let clearb = - GButton.button ~label:"Clear" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let cancelb = - GButton.button ~label:"Cancel" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - ignore (window#connect#destroy GMain.Main.quit) ; - ignore (cancelb#connect#clicked window#destroy) ; - ignore (clearb#connect#clicked (fun () -> - input#buffer#set_text DisambiguatingParser.EnvironmentP3.empty)) ; - ignore (okb#connect#clicked (fun () -> - chosen_aliases := Some (input#buffer#get_text ()); - window#destroy ())); - ignore - (input#buffer#insert ~iter:(input#buffer#get_iter_at_char 0) - (DisambiguatingParser.EnvironmentP3.to_string !disambiguation_env ^ "\n")); - window#show () ; - GtkThread.main (); - match !chosen_aliases with - | None -> () - | Some raw_aliases -> - let new_disambiguation_env = - (try - DisambiguatingParser.EnvironmentP3.of_string raw_aliases - with e -> - HelmLogger.log - (`Error (`T - ("Error while parsing aliases: " ^ Printexc.to_string e))); - !disambiguation_env) - in - disambiguation_env := new_disambiguation_env -;; - -let proveit () = - let module L = LogicalOperations in - let module G = Gdome in - let notebook = (rendering_window ())#notebook in - let output = (rendering_window ())#output in - try - output#make_sequent_of_selected_term ; - refresh_proof output ; - refresh_goals notebook - with - InvokeTactics.RefreshSequentException e -> - HelmLogger.log - (`Error (`T ("Exception raised during the refresh of the " ^ - "sequent: " ^ Printexc.to_string e))) - | InvokeTactics.RefreshProofException e -> - HelmLogger.log - (`Error (`T ("Exception raised during the refresh of the " ^ - "proof: " ^ Printexc.to_string e))) - | e -> - HelmLogger.log - (`Error (`T (Printexc.to_string e))) -;; - -let focus () = - let module L = LogicalOperations in - let module G = Gdome in - let notebook = (rendering_window ())#notebook in - let output = (rendering_window ())#output in - try - output#focus_sequent_of_selected_term ; - refresh_goals notebook - with - InvokeTactics.RefreshSequentException e -> - HelmLogger.log - (`Error (`T ("Exception raised during the refresh of the " ^ - "sequent: " ^ Printexc.to_string e))) - | InvokeTactics.RefreshProofException e -> - HelmLogger.log - (`Error (`T ("Exception raised during the refresh of the " ^ - "proof: " ^ Printexc.to_string e))) - | e -> - HelmLogger.log - (`Error (`T (Printexc.to_string e))) -;; - -exception NoPrevGoal;; -exception NoNextGoal;; - -let setgoal metano = - let module L = LogicalOperations in - let module G = Gdome in - let notebook = (rendering_window ())#notebook in - let output = (rendering_window ())#output in - let metasenv = - match ProofEngine.get_proof () with - None -> assert false - | Some (_,metasenv,_,_) -> metasenv - in - try - refresh_goals ~empty_notebook:false notebook - with - InvokeTactics.RefreshSequentException e -> - HelmLogger.log - (`Error (`T ("Exception raised during the refresh of the " ^ - "sequent: " ^ Printexc.to_string e))) - | e -> - HelmLogger.log - (`Error (`T (Printexc.to_string e))) -;; - -let - show_in_show_window_obj, show_in_show_window_uri, show_in_show_window_callback -= - let window = - GWindow.window ~width:800 ~border_width:2 () in - let scrolled_window = - GBin.scrolled_window ~border_width:10 ~packing:window#add () in - let mmlwidget = - GMathViewAux.single_selection_math_view - ~packing:scrolled_window#add ~width:600 ~height:400 () - in - let _ = window#event#connect#delete (fun _ -> window#misc#hide () ; true ) in - let href = Gdome.domString "href" in - let show_in_show_window_obj uri obj = - try - let mml,(_,(ids_to_terms,ids_to_father_ids,ids_to_conjectures, - ids_to_hypotheses,_,_)) = - ApplyTransformation.mml_of_cic_object obj - in - window#set_title (UriManager.string_of_uri uri) ; - window#misc#hide () ; window#show () ; - mmlwidget#load_root mml#get_documentElement ; - with - e -> - HelmLogger.log - (`Error (`T (Printexc.to_string e))) - in - let show_in_show_window_uri uri = - let obj,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - show_in_show_window_obj uri obj - in - let show_in_show_window_callback mmlwidget ((n : Gdome.element option),_,_,_) = - match n with - None -> () - | Some n' -> - if n'#hasAttributeNS ~namespaceURI:Misc.xlink_ns ~localName:href then - let uri = - (n'#getAttributeNS ~namespaceURI:Misc.xlink_ns ~localName:href)#to_string - in - show_in_show_window_uri (UriManager.uri_of_string uri) - else - ignore (mmlwidget#action_toggle n') - in - let _ = - mmlwidget#connect#click (show_in_show_window_callback mmlwidget) - in - show_in_show_window_obj, show_in_show_window_uri, - show_in_show_window_callback -;; - -exception NoObjectsLocated;; - -let user_uri_choice ~title ~msg uris = - let uri = - match uris with - [] -> raise NoObjectsLocated - | [uri] -> uri - | uris -> - match - interactive_user_uri_choice ~selection_mode:`SINGLE ~title ~msg uris - with - [uri] -> uri - | _ -> assert false - in - String.sub uri 4 (String.length uri - 4) -;; - -let locate_callback id = - let uris = MetadataQuery.locate ~dbd id in - HelmLogger.log (`Msg (`T ("Locate Query: " ^ id))) ; - HelmLogger.log (`Msg (`T "Result:")) ; - List.iter (fun uri -> HelmLogger.log (`Msg (`T uri))) uris; - user_uri_choice ~title:"Ambiguous input." - ~msg:(sprintf "Ambiguous input \"%s\". Please, choose one interpetation:" id) - uris -;; - - -let input_or_locate_uri ~title = - let uri = ref None in - let window = - GWindow.window - ~width:400 ~modal:true ~title ~border_width:2 () in - let vbox = GPack.vbox ~packing:window#add () in - let hbox1 = - GPack.hbox ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let _ = - GMisc.label ~text:"Enter a valid URI:" ~packing:(hbox1#pack ~padding:5) () in - let manual_input = - GEdit.entry ~editable:true - ~packing:(hbox1#pack ~expand:true ~fill:true ~padding:5) () in - let checkb = - GButton.button ~label:"Check" - ~packing:(hbox1#pack ~expand:false ~fill:false ~padding:5) () in - let _ = checkb#misc#set_sensitive false in - let hbox2 = - GPack.hbox ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let _ = - GMisc.label ~text:"You can also enter an indentifier to locate:" - ~packing:(hbox2#pack ~padding:5) () in - let locate_input = - GEdit.entry ~editable:true - ~packing:(hbox2#pack ~expand:true ~fill:true ~padding:5) () in - let locateb = - GButton.button ~label:"Locate" - ~packing:(hbox2#pack ~expand:false ~fill:false ~padding:5) () in - let _ = locateb#misc#set_sensitive false in - let hbox3 = - GPack.hbox ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let okb = - GButton.button ~label:"Ok" - ~packing:(hbox3#pack ~expand:false ~fill:false ~padding:5) () in - let _ = okb#misc#set_sensitive false in - let cancelb = - GButton.button ~label:"Cancel" - ~packing:(hbox3#pack ~expand:false ~fill:false ~padding:5) () - in - ignore (window#connect#destroy GMain.Main.quit) ; - ignore - (cancelb#connect#clicked (function () -> uri := None ; window#destroy ())) ; - let check_callback () = - let uri = "cic:" ^ manual_input#text in - try - ignore (Http_getter.resolve' (UriManager.uri_of_string uri)) ; - HelmLogger.log (`Msg (`T "OK")) ; - true - with - Http_getter_types.Key_not_found _ -> - HelmLogger.log - (`Error (`T ("URI " ^ uri ^ - " does not correspond to any object."))) ; - false - | UriManager.IllFormedUri _ -> - HelmLogger.log - (`Error (`T ("URI " ^ uri ^ " is not well-formed."))) ; - false - | e -> - HelmLogger.log - (`Error (`T (Printexc.to_string e))) ; - false - in - ignore - (okb#connect#clicked - (function () -> - if check_callback () then - begin - uri := Some manual_input#text ; - window#destroy () - end - )) ; - ignore (checkb#connect#clicked (function () -> ignore (check_callback ()))) ; - ignore - (manual_input#connect#changed - (fun _ -> - if manual_input#text = "" then - begin - checkb#misc#set_sensitive false ; - okb#misc#set_sensitive false - end - else - begin - checkb#misc#set_sensitive true ; - okb#misc#set_sensitive true - end)); - ignore - (locate_input#connect#changed - (fun _ -> locateb#misc#set_sensitive (locate_input#text <> ""))) ; - ignore - (locateb#connect#clicked - (function () -> - let id = locate_input#text in - manual_input#set_text (locate_callback id) ; - locate_input#delete_text 0 (String.length id) - )) ; - window#show () ; - GtkThread.main (); - match !uri with - None -> raise NoChoice - | Some uri -> UriManager.uri_of_string ("cic:" ^ uri) -;; - -exception AmbiguousInput;; - -(* A WIDGET TO ENTER CIC TERMS *) - -module DisambiguateCallbacks = - struct - let interactive_user_uri_choice = - fun ~selection_mode ?ok ?enable_button_for_non_vars ~title ~msg ~id -> - interactive_user_uri_choice ~selection_mode ?ok - ?enable_button_for_non_vars ~title ~msg - let interactive_interpretation_choice = interactive_interpretation_choice - let input_or_locate_uri ~title ?id () = input_or_locate_uri ~title - end -;; - -module TermEditor' = ChosenTermEditor.Make (DisambiguateCallbacks);; - -(* OTHER FUNCTIONS *) - -let locate () = - let inputt = ((rendering_window ())#inputt : TermEditor.term_editor) in - try - match - GToolbox.input_string ~title:"Locate" "Enter an identifier to locate:" - with - None -> raise NoChoice - | Some input -> - let uri = locate_callback input in - inputt#set_term uri - with - e -> - HelmLogger.log - (`Error (`T (Printexc.to_string e))) -;; - - -exception UriAlreadyInUse;; -exception NotAUriToAConstant;; - -let new_inductive () = - let inputt = ((rendering_window ())#inputt : TermEditor.term_editor) in - let output = ((rendering_window ())#output : TermViewer.proof_viewer) in - let notebook = (rendering_window ())#notebook in - - let chosen = ref false in - let inductive = ref true in - let paramsno = ref 0 in - let get_uri = ref (function _ -> assert false) in - let get_base_uri = ref (function _ -> assert false) in - let get_names = ref (function _ -> assert false) in - let get_types_and_cons = ref (function _ -> assert false) in - let get_context_and_subst = ref (function _ -> assert false) in - let window = - GWindow.window - ~width:600 ~modal:true ~position:`CENTER - ~title:"New Block of Mutual (Co)Inductive Definitions" - ~border_width:2 () in - let vbox = GPack.vbox ~packing:window#add () in - let hbox = - GPack.hbox ~border_width:0 - ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let _ = - GMisc.label ~text:"Enter the URI for the new block:" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let uri_entry = - GEdit.entry ~editable:true - ~packing:(hbox#pack ~expand:true ~fill:true ~padding:5) () in - let hbox0 = - GPack.hbox ~border_width:0 - ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let _ = - GMisc.label - ~text: - "Enter the number of left parameters in every arity and constructor type:" - ~packing:(hbox0#pack ~expand:false ~fill:false ~padding:5) () in - let paramsno_entry = - GEdit.entry ~editable:true ~text:"0" - ~packing:(hbox0#pack ~expand:true ~fill:true ~padding:5) () in - let hbox1 = - GPack.hbox ~border_width:0 - ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let _ = - GMisc.label ~text:"Are the definitions inductive or coinductive?" - ~packing:(hbox1#pack ~expand:false ~fill:false ~padding:5) () in - let inductiveb = - GButton.radio_button ~label:"Inductive" - ~packing:(hbox1#pack ~expand:false ~fill:false ~padding:5) () in - let coinductiveb = - GButton.radio_button ~label:"Coinductive" - ~group:inductiveb#group - ~packing:(hbox1#pack ~expand:false ~fill:false ~padding:5) () in - let hbox2 = - GPack.hbox ~border_width:0 - ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let _ = - GMisc.label ~text:"Enter the list of the names of the types:" - ~packing:(hbox2#pack ~expand:false ~fill:false ~padding:5) () in - let names_entry = - GEdit.entry ~editable:true - ~packing:(hbox2#pack ~expand:true ~fill:true ~padding:5) () in - let hboxn = - GPack.hbox ~border_width:0 - ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let okb = - GButton.button ~label:"> Next" - ~packing:(hboxn#pack ~expand:false ~fill:false ~padding:5) () in - let _ = okb#misc#set_sensitive true in - let cancelb = - GButton.button ~label:"Abort" - ~packing:(hboxn#pack ~expand:false ~fill:false ~padding:5) () in - ignore (window#connect#destroy GMain.Main.quit) ; - ignore (cancelb#connect#clicked window#destroy) ; - (* First phase *) - let rec phase1 () = - ignore - (okb#connect#clicked - (function () -> - try - let uristr = "cic:" ^ uri_entry#text in - let namesstr = names_entry#text in - let paramsno' = int_of_string (paramsno_entry#text) in - match Str.split (Str.regexp " +") namesstr with - [] -> assert false - | (he::tl) as names -> - let uri = UriManager.uri_of_string (uristr ^ "/" ^ he ^ ".ind") in - begin - try - ignore (Http_getter.resolve' uri) ; - raise UriAlreadyInUse - with Http_getter_types.Key_not_found _ -> - get_uri := (function () -> uri) ; - get_names := (function () -> names) ; - inductive := inductiveb#active ; - paramsno := paramsno' ; - phase2 () - end - with - e -> - HelmLogger.log - (`Error (`T (Printexc.to_string e))) - )) - (* Second phase *) - and phase2 () = - let type_widgets = - List.map - (function name -> - let frame = - GBin.frame ~label:name - ~packing:(vbox#pack ~expand:true ~fill:true ~padding:5) () in - let vbox = GPack.vbox ~packing:frame#add () in - let hbox = GPack.hbox ~packing:(vbox#pack ~expand:false ~fill:false) () in - let _ = - GMisc.label ~text:("Enter its type:") - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let scrolled_window = - GBin.scrolled_window ~border_width:5 - ~packing:(vbox#pack ~expand:true ~padding:0) () in - let newinputt = - TermEditor'.term_editor - ~dbd - ~width:400 ~height:20 ~packing:scrolled_window#add - ~share_environment_with:inputt () - ~isnotempty_callback: - (function b -> - (*non_empty_type := b ;*) - okb#misc#set_sensitive true) (*(b && uri_entry#text <> ""))*) - in - let hbox = - GPack.hbox ~border_width:0 - ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let _ = - GMisc.label ~text:("Enter the list of its constructors:") - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let cons_names_entry = - GEdit.entry ~editable:true - ~packing:(hbox#pack ~expand:true ~fill:true ~padding:5) () in - (newinputt,cons_names_entry) - ) (!get_names ()) - in - vbox#remove hboxn#coerce ; - let hboxn = - GPack.hbox ~border_width:0 - ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let okb = - GButton.button ~label:"> Next" - ~packing:(hboxn#pack ~expand:false ~fill:false ~padding:5) () in - let cancelb = - GButton.button ~label:"Abort" - ~packing:(hboxn#pack ~expand:false ~fill:false ~padding:5) () in - ignore (cancelb#connect#clicked window#destroy) ; - ignore - (okb#connect#clicked - (function () -> - try - let names = !get_names () in - let types_and_cons = - List.map2 - (fun name (newinputt,cons_names_entry) -> - let consnamesstr = cons_names_entry#text in - let cons_names = Str.split (Str.regexp " +") consnamesstr in - let metasenv,expr,ugraph = - newinputt#get_metasenv_and_term ~context:[] ~metasenv:[] - in - match metasenv with - [] -> expr,cons_names - | _ -> raise AmbiguousInput - ) names type_widgets - in - let uri = !get_uri () in - let _ = - (* Let's see if so far the definition is well-typed *) - let params = [] in - let paramsno = 0 in - (* To test if the arities of the inductive types are well *) - (* typed, we check the inductive block definition where *) - (* no constructor is given to each type. *) - let tys = - List.map2 - (fun name (ty,cons) -> (name, !inductive, ty, [])) - names types_and_cons - in - CicTypeChecker.typecheck_mutual_inductive_defs uri - (tys,params,paramsno) - in - get_context_and_subst := - (function () -> - let i = ref 0 in - List.fold_left2 - (fun (context,subst) name (ty,_) -> - let res = - (Some (Cic.Name name, Cic.Decl ty))::context, - (Cic.MutInd (uri,!i,[]))::subst - in - incr i ; res - ) ([],[]) names types_and_cons) ; - let types_and_cons' = - List.map2 - (fun name (ty,cons) -> (name, !inductive, ty, phase3 name cons)) - names types_and_cons - in - get_types_and_cons := (function () -> types_and_cons') ; - chosen := true ; - window#destroy () - with - e -> - HelmLogger.log - (`Error (`T (Printexc.to_string e))) - )) - (* Third phase *) - and phase3 name cons = - let get_cons_types = ref (function () -> assert false) in - let window2 = - GWindow.window - ~width:600 ~modal:true ~position:`CENTER - ~title:(name ^ " Constructors") - ~border_width:2 () in - let vbox = GPack.vbox ~packing:window2#add () in - let cons_type_widgets = - List.map - (function consname -> - let hbox = - GPack.hbox ~border_width:0 - ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let _ = - GMisc.label ~text:("Enter the type of " ^ consname ^ ":") - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let scrolled_window = - GBin.scrolled_window ~border_width:5 - ~packing:(vbox#pack ~expand:true ~padding:0) () in - let newinputt = - TermEditor'.term_editor - ~dbd - ~width:400 ~height:20 ~packing:scrolled_window#add - ~share_environment_with:inputt () - ~isnotempty_callback: - (function b -> - (* (*non_empty_type := b ;*) - okb#misc#set_sensitive true) (*(b && uri_entry#text <> ""))*) *)()) - in - newinputt - ) cons in - let hboxn = - GPack.hbox ~border_width:0 - ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let okb = - GButton.button ~label:"> Next" - ~packing:(hboxn#pack ~expand:false ~fill:false ~padding:5) () in - let _ = okb#misc#set_sensitive true in - let cancelb = - GButton.button ~label:"Abort" - ~packing:(hboxn#pack ~expand:false ~fill:false ~padding:5) () in - ignore (window2#connect#destroy GMain.Main.quit) ; - ignore (cancelb#connect#clicked window2#destroy) ; - ignore - (okb#connect#clicked - (function () -> - try - chosen := true ; - let context,subst= !get_context_and_subst () in - let cons_types = - List.map2 - (fun name inputt -> - let metasenv,expr,ugraph = - inputt#get_metasenv_and_term ~context ~metasenv:[] - in - match metasenv with - [] -> - let undebrujined_expr = - List.fold_left - (fun expr t -> CicSubstitution.subst t expr) expr subst - in - name, undebrujined_expr - | _ -> raise AmbiguousInput - ) cons cons_type_widgets - in - get_cons_types := (function () -> cons_types) ; - window2#destroy () - with - e -> - HelmLogger.log - (`Error (`T (Printexc.to_string e))) - )) ; - window2#show () ; - GtkThread.main (); - let okb_pressed = !chosen in - chosen := false ; - if (not okb_pressed) then - begin - window#destroy () ; - assert false (* The control never reaches this point *) - end - else - (!get_cons_types ()) - in - phase1 () ; - (* No more phases left or Abort pressed *) - window#show () ; - GtkThread.main (); - window#destroy () ; - if !chosen then - try - let uri = !get_uri () in -(*CSC: Da finire *) - let params = [] in - let tys = !get_types_and_cons () in - let obj = Cic.InductiveDefinition(tys,params,!paramsno,[]) in - let u = - begin - try - debug_print (CicPp.ppobj obj); - CicTypeChecker.typecheck_mutual_inductive_defs uri - (tys,params,!paramsno) CicUniv.empty_ugraph - with - e -> - debug_print "Offending mutual (co)inductive type declaration:" ; - debug_print (CicPp.ppobj obj) ; - (* I think we should fail here! *) - CicUniv.empty_ugraph - end - in - (* We already know that obj is well-typed. We need to add it to the *) - (* environment in order to compute the inner-types without having to *) - (* debrujin it or having to modify lots of other functions to avoid *) - (* asking the environment for the MUTINDs we are defining now. *) - - (* u should be cleaned before adding it to the env *) - CicEnvironment.put_inductive_definition uri (obj,u) ; - save_obj uri obj ; - (* TASSI: FIXME we should save the cleaned u here *) - show_in_show_window_obj uri obj - with - e -> - HelmLogger.log - (`Error (`T (Printexc.to_string e))) -;; - -let new_proof () = - let inputt = ((rendering_window ())#inputt : TermEditor.term_editor) in - let output = ((rendering_window ())#output : TermViewer.proof_viewer) in - let notebook = (rendering_window ())#notebook in - - let chosen = ref false in - let get_metasenv_and_term = ref (function _ -> assert false) in - let get_uri = ref (function _ -> assert false) in - let non_empty_type = ref false in - let window = - GWindow.window - ~width:600 ~modal:true ~title:"New Proof or Definition" - ~border_width:2 () in - let vbox = GPack.vbox ~packing:window#add () in - let hbox = - GPack.hbox ~border_width:0 - ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let _ = - GMisc.label ~text:"Enter the URI for the new theorem or definition:" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let uri_entry = - GEdit.entry ~editable:true - ~packing:(hbox#pack ~expand:true ~fill:true ~padding:5) () in - uri_entry#set_text dummy_uri; - uri_entry#select_region ~start:1 ~stop:(String.length dummy_uri); - let hbox1 = - GPack.hbox ~border_width:0 - ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let _ = - GMisc.label ~text:"Enter the theorem or definition type:" - ~packing:(hbox1#pack ~expand:false ~fill:false ~padding:5) () in - let scrolled_window = - GBin.scrolled_window ~border_width:5 - ~packing:(vbox#pack ~expand:true ~padding:0) () in - (* the content of the scrolled_window is moved below (see comment) *) - let hbox = - GPack.hbox ~border_width:0 - ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let okb = - GButton.button ~label:"Ok" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let _ = okb#misc#set_sensitive false in - let cancelb = - GButton.button ~label:"Cancel" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - (* moved here to have visibility of the ok button *) - let newinputt = - TermEditor'.term_editor - ~dbd - ~width:400 ~height:100 ~packing:scrolled_window#add - ~share_environment_with:inputt () - ~isnotempty_callback: - (function b -> - non_empty_type := b ; - okb#misc#set_sensitive (b && uri_entry#text <> "")) - in - let _ = - newinputt#set_term inputt#get_as_string ; - inputt#reset in - let _ = - uri_entry#connect#changed - (function () -> - okb#misc#set_sensitive (!non_empty_type && uri_entry#text <> "")) - in - ignore (window#connect#destroy GMain.Main.quit) ; - ignore (cancelb#connect#clicked window#destroy) ; - ignore - (okb#connect#clicked - (function () -> - chosen := true ; - try - let metasenv,parsed,ugraph = newinputt#get_metasenv_and_term [] [] in - let uristr = "cic:" ^ uri_entry#text in - let uri = UriManager.uri_of_string uristr in - if String.sub uristr (String.length uristr - 4) 4 <> ".con" then - raise NotAUriToAConstant - else - begin - try - ignore (Http_getter.resolve' uri) ; - raise UriAlreadyInUse - with Http_getter_types.Key_not_found _ -> - get_metasenv_and_term := (function () -> metasenv,parsed) ; - get_uri := (function () -> uri) ; - window#destroy () - end - with - e -> - HelmLogger.log - (`Error (`T (Printexc.to_string e))) - )) ; - window#show () ; - GtkThread.main (); - if !chosen then - try - let metasenv,expr = !get_metasenv_and_term () in - let _ = CicTypeChecker.type_of_aux' metasenv [] expr in - ProofEngine.set_proof - (Some (Some (!get_uri ()), (1,[],expr)::metasenv, Cic.Meta (1,[]), expr)); - set_proof_engine_goal (Some 1) ; - refresh_goals notebook ; - refresh_proof output ; - !save_set_sensitive true ; - inputt#reset ; - ProofEngine.intros ~mk_fresh_name_callback () ; - refresh_goals notebook ; - refresh_proof output - with - InvokeTactics.RefreshSequentException e -> - HelmLogger.log - (`Error (`T ("Exception raised during the refresh of the " ^ - "sequent: " ^ Printexc.to_string e))) - | InvokeTactics.RefreshProofException e -> - HelmLogger.log - (`Error (`T ("Exception raised during the refresh of the " ^ - "proof: " ^ Printexc.to_string e))) - | e -> - HelmLogger.log - (`Error (`T (Printexc.to_string e))) -;; - -let check_term_in_scratch scratch_window metasenv context expr = - try - let ty,ugraph = - CicTypeChecker.type_of_aux' metasenv context expr CicUniv.empty_ugraph - in - let expr = Cic.Cast (expr,ty) in - scratch_window#show () ; - scratch_window#set_term expr ; - scratch_window#set_context context ; - scratch_window#set_metasenv metasenv ; - scratch_window#sequent_viewer#load_sequent metasenv (111,context,expr) - with - e -> - print_endline ("? " ^ CicPp.ppterm expr) ; - raise e -;; - -let check scratch_window () = - let inputt = ((rendering_window ())#inputt : TermEditor.term_editor) in - let metasenv = - match ProofEngine.get_proof () with - None -> [] - | Some (_,metasenv,_,_) -> metasenv - in - let context = - match !ProofEngine.goal with - None -> [] - | Some metano -> - let (_,canonical_context,_) = - List.find (function (m,_,_) -> m=metano) metasenv - in - canonical_context - in - try - let metasenv',expr,ugraph = - inputt#get_metasenv_and_term context metasenv - in - check_term_in_scratch scratch_window metasenv' context expr - with - e -> - HelmLogger.log - (`Error (`T (Printexc.to_string e))) -;; - -let show () = - try - show_in_show_window_uri (input_or_locate_uri ~title:"Show") - with - e -> - HelmLogger.log - (`Error (`T (Printexc.to_string e))) -;; - -exception NotADefinition;; - -let open_ () = - let output = ((rendering_window ())#output : TermViewer.proof_viewer) in - let notebook = (rendering_window ())#notebook in - try - let uri = input_or_locate_uri ~title:"Open" in - ignore(CicTypeChecker.typecheck uri CicUniv.empty_ugraph); - (* TASSI: typecheck mette la uri nell'env... cosa fa la open_ ?*) - let metasenv,bo,ty = - match fst(CicEnvironment.get_cooked_obj CicUniv.empty_ugraph uri ) with - Cic.Constant (_,Some bo,ty,_,_) -> [],bo,ty - | Cic.CurrentProof (_,metasenv,bo,ty,_,_) -> metasenv,bo,ty - | Cic.Constant _ - | Cic.Variable _ - | Cic.InductiveDefinition _ -> raise NotADefinition - in - ProofEngine.set_proof (Some (Some uri, metasenv, bo, ty)) ; - set_proof_engine_goal None ; - refresh_goals notebook ; - refresh_proof output ; - !save_set_sensitive true - with - InvokeTactics.RefreshSequentException e -> - HelmLogger.log - (`Error (`T ("Exception raised during the refresh of the " ^ - "sequent: " ^ Printexc.to_string e))) - | InvokeTactics.RefreshProofException e -> - HelmLogger.log - (`Error (`T ("Exception raised during the refresh of the " ^ - "proof: " ^ Printexc.to_string e))) - | e -> - HelmLogger.log - (`Error (`T (Printexc.to_string e))) -;; - -let show_query_results results = - let window = - GWindow.window - ~modal:false ~title:"Query results." ~border_width:2 () in - let vbox = GPack.vbox ~packing:window#add () in - let hbox = - GPack.hbox ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let lMessage = - GMisc.label - ~text:"Click on a URI to show that object" - ~packing:hbox#add () in - let scrolled_window = - GBin.scrolled_window ~border_width:10 ~height:400 ~width:600 - ~packing:(vbox#pack ~expand:true ~fill:true ~padding:5) () in - let clist = GList.clist ~columns:1 ~packing:scrolled_window#add () in - ignore - (List.map - (function (uri,_) -> - let n = - clist#append [uri] - in - clist#set_row ~selectable:false n - ) results - ) ; - clist#columns_autosize () ; - ignore - (clist#connect#select_row - (fun ~row ~column ~event -> - let (uristr,_) = List.nth results row in - match CicUtil.term_of_uri uristr with - | Cic.Const (uri, _) - | Cic.Var (uri, _) - | Cic.MutInd (uri, _, _) - | Cic.MutConstruct (uri, _, _, _) -> - show_in_show_window_uri uri - | _ -> assert false - ) - ) ; - window#show () -;; - -let refine_constraints (must_obj,must_rel,must_sort) = - let chosen = ref false in - let use_only = ref false in - let window = - GWindow.window - ~modal:true ~title:"Constraints refinement." - ~width:800 ~border_width:2 () in - let vbox = GPack.vbox ~packing:window#add () in - let hbox = - GPack.hbox ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let lMessage = - GMisc.label - ~text: "\"Only\" constraints can be enforced or not." - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let onlyb = - GButton.toggle_button ~label:"Enforce \"only\" constraints" - ~active:false ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () - in - ignore - (onlyb#connect#toggled (function () -> use_only := onlyb#active)) ; - (* Notebook for the constraints choice *) - let notebook = - GPack.notebook ~scrollable:true - ~packing:(vbox#pack ~expand:true ~fill:true ~padding:5) () in - (* Rel constraints *) - let label = - GMisc.label - ~text: "Constraints on Rels" () in - let vbox' = - GPack.vbox ~packing:(notebook#append_page ~tab_label:label#coerce) - () in - let hbox = - GPack.hbox ~packing:(vbox'#pack ~expand:false ~fill:false ~padding:5) () in - let lMessage = - GMisc.label - ~text: "You can now specify the constraints on Rels." - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let expected_height = 25 * (List.length must_rel + 2) in - let height = if expected_height > 400 then 400 else expected_height in - let scrolled_window = - GBin.scrolled_window ~border_width:10 ~height ~width:600 - ~packing:(vbox'#pack ~expand:true ~fill:true ~padding:5) () in - let scrolled_vbox = GPack.vbox ~packing:scrolled_window#add_with_viewport () in - let mk_depth_button (hbox:GPack.box) d = - let mutable_ref = ref (Some d) in - let depthb = - GButton.toggle_button - ~label:("depth = " ^ string_of_int d) - ~active:true - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () - in - ignore - (depthb#connect#toggled - (function () -> - let sel_depth = if depthb#active then Some d else None in - mutable_ref := sel_depth - )) ; mutable_ref - in - let rel_constraints = - List.map - (function p -> - let hbox = - GPack.hbox - ~packing:(scrolled_vbox#pack ~expand:false ~fill:false ~padding:5) () in - let lMessage = - GMisc.label - ~text:(MQGU.text_of_position (p:>MQGT.full_position)) - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - match p with - | `MainHypothesis None - | `MainConclusion None -> p, ref None - | `MainHypothesis (Some depth') - | `MainConclusion (Some depth') -> p, mk_depth_button hbox depth' - ) must_rel in - (* Sort constraints *) - let label = - GMisc.label - ~text: "Constraints on Sorts" () in - let vbox' = - GPack.vbox ~packing:(notebook#append_page ~tab_label:label#coerce) - () in - let hbox = - GPack.hbox ~packing:(vbox'#pack ~expand:false ~fill:false ~padding:5) () in - let lMessage = - GMisc.label - ~text: "You can now specify the constraints on Sorts." - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let expected_height = 25 * (List.length must_sort + 2) in - let height = if expected_height > 400 then 400 else expected_height in - let scrolled_window = - GBin.scrolled_window ~border_width:10 ~height ~width:600 - ~packing:(vbox'#pack ~expand:true ~fill:true ~padding:5) () in - let scrolled_vbox = GPack.vbox ~packing:scrolled_window#add_with_viewport () in - let sort_constraints = - List.map - (function (p, sort) -> - let hbox = - GPack.hbox - ~packing:(scrolled_vbox#pack ~expand:false ~fill:false ~padding:5) () in - let lMessage = - GMisc.label - ~text:(MQGU.text_of_sort sort ^ " " ^ MQGU.text_of_position (p:>MQGT.full_position)) - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - match p with - | `MainHypothesis None - | `MainConclusion None -> p, ref None, sort - | `MainHypothesis (Some depth') - | `MainConclusion (Some depth') -> p, mk_depth_button hbox depth', sort - ) must_sort in - (* Obj constraints *) - let label = - GMisc.label - ~text: "Constraints on constants" () in - let vbox' = - GPack.vbox ~packing:(notebook#append_page ~tab_label:label#coerce) - () in - let hbox = - GPack.hbox ~packing:(vbox'#pack ~expand:false ~fill:false ~padding:5) () in - let lMessage = - GMisc.label - ~text: "You can now specify the constraints on constants." - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let expected_height = 25 * (List.length must_obj + 2) in - let height = if expected_height > 400 then 400 else expected_height in - let scrolled_window = - GBin.scrolled_window ~border_width:10 ~height ~width:600 - ~packing:(vbox'#pack ~expand:true ~fill:true ~padding:5) () in - let scrolled_vbox = GPack.vbox ~packing:scrolled_window#add_with_viewport () in - let obj_constraints = - List.map - (function (p, uri) -> - let hbox = - GPack.hbox - ~packing:(scrolled_vbox#pack ~expand:false ~fill:false ~padding:5) () in - let lMessage = - GMisc.label - ~text:(uri ^ " " ^ (MQGU.text_of_position p)) - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - match p with - | `InBody - | `InHypothesis - | `InConclusion - | `MainHypothesis None - | `MainConclusion None -> p, ref None, uri - | `MainHypothesis (Some depth') - | `MainConclusion (Some depth') -> p, mk_depth_button hbox depth', uri - ) must_obj in - (* Confirm/abort buttons *) - let hbox = - GPack.hbox ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let okb = - GButton.button ~label:"Ok" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let cancelb = - GButton.button ~label:"Abort" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () - in - ignore (window#connect#destroy GMain.Main.quit) ; - ignore (cancelb#connect#clicked window#destroy) ; - ignore - (okb#connect#clicked (function () -> chosen := true ; window#destroy ())); - window#set_position `CENTER ; - window#show () ; - GtkThread.main (); - if !chosen then - let chosen_must_rel = - List.map - (function (position, ref_depth) -> MQGU.set_main_position position !ref_depth) - rel_constraints - in - let chosen_must_sort = - List.map - (function (position, ref_depth, sort) -> - MQGU.set_main_position position !ref_depth,sort) - sort_constraints - in - let chosen_must_obj = - List.map - (function (position, ref_depth, uri) -> MQGU.set_full_position position !ref_depth, uri) - obj_constraints - in - (chosen_must_obj,chosen_must_rel,chosen_must_sort), - (if !use_only then -(*CSC: ???????????????????????? I assume that must and only are the same... *) - Some chosen_must_obj,Some chosen_must_rel,Some chosen_must_sort - else - None,None,None - ) - else - raise NoChoice -;; - -let completeSearchPattern () = - let inputt = ((rendering_window ())#inputt : TermEditor.term_editor) in - try - let metasenv,expr,ugraph = - inputt#get_metasenv_and_term ~context:[] ~metasenv:[] in - let must = CGSearchPattern.get_constraints expr in - let must',only = refine_constraints must in - let query = - MQG.query_of_constraints (Some CGSearchPattern.universe) must' only - in - let results = MQI.execute mqi_handle query in - show_query_results results - with - e -> - HelmLogger.log - (`Error (`T (Printexc.to_string e))) -;; - -let insertQuery () = - try - let chosen = ref None in - let window = - GWindow.window - ~modal:true ~title:"Insert Query (Experts Only)" ~border_width:2 () in - let vbox = GPack.vbox ~packing:window#add () in - let label = - GMisc.label ~text:"Insert Query. For Experts Only." - ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let scrolled_window = - GBin.scrolled_window ~border_width:10 ~height:400 ~width:600 - ~packing:(vbox#pack ~expand:true ~fill:true ~padding:5) () in - let input = GText.view ~editable:true - ~packing:scrolled_window#add () in - let hbox = - GPack.hbox ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let okb = - GButton.button ~label:"Ok" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let loadb = - GButton.button ~label:"Load from file..." - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let cancelb = - GButton.button ~label:"Abort" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - ignore (window#connect#destroy GMain.Main.quit) ; - ignore (cancelb#connect#clicked window#destroy) ; - ignore - (okb#connect#clicked - (function () -> - chosen := Some (input#buffer#get_text ()) ; window#destroy ())) ; - ignore - (loadb#connect#clicked - (function () -> - match - GToolbox.select_file ~title:"Select Query File" () - with - None -> () - | Some filename -> - let inch = open_in filename in - let rec read_file () = - try - let line = input_line inch in - line ^ "\n" ^ read_file () - with - End_of_file -> "" - in - let text = read_file () in - input#buffer#delete input#buffer#start_iter input#buffer#end_iter ; - ignore (input#buffer#insert text))) ; - window#set_position `CENTER ; - window#show () ; - GtkThread.main (); - match !chosen with - None -> () - | Some q -> - let results = - MQI.execute mqi_handle (MQueryUtil.query_of_text (Lexing.from_string q)) - in - show_query_results results - with - e -> - HelmLogger.log - (`Error (`T (Printexc.to_string e))) -;; - -let choose_must list_of_must only = - let chosen = ref None in - let user_constraints = ref [] in - let window = - GWindow.window - ~modal:true ~title:"Query refinement." ~border_width:2 () in - let vbox = GPack.vbox ~packing:window#add () in - let hbox = - GPack.hbox ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let lMessage = - GMisc.label - ~text: - ("You can now specify the genericity of the query. " ^ - "The more generic the slower.") - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let hbox = - GPack.hbox ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let lMessage = - GMisc.label - ~text: - "Suggestion: start with faster queries before moving to more generic ones." - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let notebook = - GPack.notebook ~scrollable:true - ~packing:(vbox#pack ~expand:true ~fill:true ~padding:5) () in - let _ = - let page = ref 0 in - let last = List.length list_of_must in - List.map - (function must -> - incr page ; - let label = - GMisc.label ~text: - (if !page = 1 then "More generic" else - if !page = last then "More precise" else " ") () in - let expected_height = 25 * (List.length must + 2) in - let height = if expected_height > 400 then 400 else expected_height in - let scrolled_window = - GBin.scrolled_window ~border_width:10 ~height ~width:600 - ~packing:(notebook#append_page ~tab_label:label#coerce) () in - let clist = - GList.clist ~columns:2 ~packing:scrolled_window#add - ~titles:["URI" ; "Position"] () - in - ignore - (List.map - (function (position, uri) -> - let n = - clist#append - [uri; MQGUtil.text_of_position position] - in - clist#set_row ~selectable:false n - ) must - ) ; - clist#columns_autosize () - ) list_of_must in - let _ = - let label = GMisc.label ~text:"User provided" () in - let vbox = - GPack.vbox ~packing:(notebook#append_page ~tab_label:label#coerce) () in - let hbox = - GPack.hbox ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let lMessage = - GMisc.label - ~text:"Select the constraints that must be satisfied and press OK." - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let expected_height = 25 * (List.length only + 2) in - let height = if expected_height > 400 then 400 else expected_height in - let scrolled_window = - GBin.scrolled_window ~border_width:10 ~height ~width:600 - ~packing:(vbox#pack ~expand:true ~fill:true ~padding:5) () in - let clist = - GList.clist ~columns:2 ~packing:scrolled_window#add - ~selection_mode:`MULTIPLE - ~titles:["URI" ; "Position"] () - in - ignore - (List.map - (function (position, uri) -> - let n = - clist#append - [uri; MQGUtil.text_of_position position] - in - clist#set_row ~selectable:true n - ) only - ) ; - clist#columns_autosize () ; - ignore - (clist#connect#select_row - (fun ~row ~column ~event -> - user_constraints := (List.nth only row)::!user_constraints)) ; - ignore - (clist#connect#unselect_row - (fun ~row ~column ~event -> - user_constraints := - List.filter - (function uri -> uri != (List.nth only row)) !user_constraints)) ; - in - let hbox = - GPack.hbox ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let okb = - GButton.button ~label:"Ok" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let cancelb = - GButton.button ~label:"Abort" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - (* actions *) - ignore (window#connect#destroy GMain.Main.quit) ; - ignore (cancelb#connect#clicked window#destroy) ; - ignore - (okb#connect#clicked - (function () -> chosen := Some notebook#current_page ; window#destroy ())) ; - window#set_position `CENTER ; - window#show () ; - GtkThread.main (); - match !chosen with - None -> raise NoChoice - | Some n -> - if n = List.length list_of_must then - (* user provided constraints *) - !user_constraints - else - List.nth list_of_must n -;; - -let searchPattern () = - let inputt = ((rendering_window ())#inputt : TermEditor.term_editor) in - try - let proof = - match ProofEngine.get_proof () with - None -> assert false - | Some proof -> proof - in - match !ProofEngine.goal with - | None -> () - | Some metano -> - let uris' = List.map fst (MetadataQuery.hint ~dbd (proof, metano)) in - let uri' = - user_uri_choice ~title:"Ambiguous input." - ~msg: "Many lemmas can be successfully applied. Please, choose one:" - uris' - in - inputt#set_term uri' ; - InvokeTactics'.apply () - with - e -> - HelmLogger.log - (`Error (`T (Printexc.to_string e))) -;; - -let choose_selection mmlwidget (element : Gdome.element option) = - let module G = Gdome in - let rec aux element = - if element#hasAttributeNS - ~namespaceURI:Misc.helm_ns - ~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 _ -> - debug_print - "******* trying to select above the document root ********" - in - match element with - Some x -> aux x - | None -> mmlwidget#set_selection None -;; - -(* STUFF TO BUILD THE GTK INTERFACE *) - -(* Stuff for the widget settings *) - -(* -let export_to_postscript output = - let lastdir = ref (Unix.getcwd ()) in - function () -> - match - GToolbox.select_file ~title:"Export to PostScript" - ~dir:lastdir ~filename:"screenshot.ps" () - with - None -> () - | Some filename -> - (output :> GMathView.math_view)#export_to_postscript - ~filename:filename (); -;; -*) - -(* -let activate_t1 output button_set_anti_aliasing - button_set_transparency export_to_postscript_menu_item - button_t1 () -= - let is_set = button_t1#active in - output#set_font_manager_type - ~fm_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_transparency#misc#set_sensitive true ; - export_to_postscript_menu_item#misc#set_sensitive true ; - end - else - begin - button_set_anti_aliasing#misc#set_sensitive false ; - button_set_transparency#misc#set_sensitive false ; - export_to_postscript_menu_item#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_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 sw - export_to_postscript_menu_item 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_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:(float_of_int output#get_font_size) - ~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_transparency#misc#set_sensitive false ; - (* Signals connection *) - (* - ignore(button_t1#connect#clicked - (activate_t1 output button_set_anti_aliasing - button_set_transparency export_to_postscript_menu_item 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_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 settings_window#misc#hide) -end;; - -(* Scratch window *) - -class scratch_window = - let window = - GWindow.window - ~title:"MathML viewer" - ~border_width:2 () in - let vbox = - GPack.vbox ~packing:window#add () in - let hbox = - GPack.hbox ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let whdb = - GButton.button ~label:"Whd" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let reduceb = - GButton.button ~label:"Reduce" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let simplb = - GButton.button ~label:"Simpl" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let scrolled_window = - GBin.scrolled_window ~border_width:10 - ~packing:(vbox#pack ~expand:true ~padding:5) () in - let sequent_viewer = - TermViewer.sequent_viewer - ~mml_of_cic_sequent:ApplyTransformation.mml_of_cic_sequent - ~packing:(scrolled_window#add) ~width:400 ~height:280 () in -object(self) - val mutable term = Cic.Rel 1 (* dummy value *) - val mutable context = ([] : Cic.context) (* dummy value *) - val mutable metasenv = ([] : Cic.metasenv) (* dummy value *) - method sequent_viewer = sequent_viewer - method show () = window#misc#hide () ; window#show () - method term = term - method set_term t = term <- t - method context = context - method set_context t = context <- t - method metasenv = metasenv - method set_metasenv t = metasenv <- t - initializer - ignore - (sequent_viewer#connect#selection_changed (choose_selection sequent_viewer)); - ignore(window#event#connect#delete (fun _ -> window#misc#hide () ; true )) ; - ignore(whdb#connect#clicked InvokeTactics'.whd_in_scratch) ; - ignore(reduceb#connect#clicked InvokeTactics'.reduce_in_scratch) ; - ignore(simplb#connect#clicked InvokeTactics'.simpl_in_scratch) -end;; - -let open_contextual_menu_for_selected_terms mmlwidget infos = - let button = GdkEvent.Button.button infos in - let terms_selected = List.length mmlwidget#get_selections > 0 in - if button = 3 then - begin - let time = GdkEvent.Button.time infos in - let menu = GMenu.menu () in - let f = new GMenu.factory menu in - let whd_menu_item = - f#add_item "Whd" ~key:GdkKeysyms._W ~callback:InvokeTactics'.whd in - let reduce_menu_item = - f#add_item "Reduce" ~key:GdkKeysyms._R ~callback:InvokeTactics'.reduce in - let simpl_menu_item = - f#add_item "Simpl" ~key:GdkKeysyms._S ~callback:InvokeTactics'.simpl in - let _ = f#add_separator () in - let generalize_menu_item = - f#add_item "Generalize" - ~key:GdkKeysyms._G ~callback:InvokeTactics'.generalize in - let _ = f#add_separator () in - let clear_menu_item = - f#add_item "Clear" ~key:GdkKeysyms._C ~callback:InvokeTactics'.clear in - let clearbody_menu_item = - f#add_item "ClearBody" - ~key:GdkKeysyms._B ~callback:InvokeTactics'.clearbody - in - whd_menu_item#misc#set_sensitive terms_selected ; - reduce_menu_item#misc#set_sensitive terms_selected ; - simpl_menu_item#misc#set_sensitive terms_selected ; - generalize_menu_item#misc#set_sensitive terms_selected ; - clear_menu_item#misc#set_sensitive terms_selected ; - clearbody_menu_item#misc#set_sensitive terms_selected ; - menu#popup ~button ~time - end ; - true -;; - -class page () = - let vbox1 = GPack.vbox () in -object(self) - val mutable proofw_ref = None - val mutable compute_ref = None - method proofw = - Lazy.force self#compute ; - match proofw_ref with - None -> assert false - | Some proofw -> proofw - method content = vbox1 - method compute = - match compute_ref with - None -> assert false - | Some compute -> compute - initializer - compute_ref <- - Some (lazy ( - let scrolled_window1 = - GBin.scrolled_window ~border_width:10 - ~packing:(vbox1#pack ~expand:true ~padding:5) () in - let proofw = - TermViewer.sequent_viewer - ~mml_of_cic_sequent:ApplyTransformation.mml_of_cic_sequent - ~width:400 ~height:275 ~packing:(scrolled_window1#add) () in - let _ = proofw_ref <- Some proofw in - let hbox3 = - GPack.hbox ~packing:(vbox1#pack ~expand:false ~fill:false ~padding:5) () in - let ringb = - GButton.button ~label:"Ring" - ~packing:(hbox3#pack ~expand:false ~fill:false ~padding:5) () in - let fourierb = - GButton.button ~label:"Fourier" - ~packing:(hbox3#pack ~expand:false ~fill:false ~padding:5) () in - let reflexivityb = - GButton.button ~label:"Reflexivity" - ~packing:(hbox3#pack ~expand:false ~fill:false ~padding:5) () in - let symmetryb = - GButton.button ~label:"Symmetry" - ~packing:(hbox3#pack ~expand:false ~fill:false ~padding:5) () in - let assumptionb = - GButton.button ~label:"Assumption" - ~packing:(hbox3#pack ~expand:false ~fill:false ~padding:5) () in - let contradictionb = - GButton.button ~label:"Contradiction" - ~packing:(hbox3#pack ~expand:false ~fill:false ~padding:5) () in - let autob= - GButton.button ~label:"Auto" - ~packing:(hbox3#pack ~expand:false ~fill:false ~padding:5) () in - let hbox4 = - GPack.hbox ~packing:(vbox1#pack ~expand:false ~fill:false ~padding:5) () in - let existsb = - GButton.button ~label:"Exists" - ~packing:(hbox4#pack ~expand:false ~fill:false ~padding:5) () in - let splitb = - GButton.button ~label:"Split" - ~packing:(hbox4#pack ~expand:false ~fill:false ~padding:5) () in - let leftb = - GButton.button ~label:"Left" - ~packing:(hbox4#pack ~expand:false ~fill:false ~padding:5) () in - let rightb = - GButton.button ~label:"Right" - ~packing:(hbox4#pack ~expand:false ~fill:false ~padding:5) () in - let searchpatternb = - GButton.button ~label:"SearchPattern_Apply" - ~packing:(hbox4#pack ~expand:false ~fill:false ~padding:5) () in - let hbox5 = - GPack.hbox ~packing:(vbox1#pack ~expand:false ~fill:false ~padding:5) () in - let exactb = - GButton.button ~label:"Exact" - ~packing:(hbox5#pack ~expand:false ~fill:false ~padding:5) () in - let introsb = - GButton.button ~label:"Intros" - ~packing:(hbox5#pack ~expand:false ~fill:false ~padding:5) () in - let applyb = - GButton.button ~label:"Apply" - ~packing:(hbox5#pack ~expand:false ~fill:false ~padding:5) () in - let elimintrossimplb = - GButton.button ~label:"ElimIntrosSimpl" - ~packing:(hbox5#pack ~expand:false ~fill:false ~padding:5) () in - let elimtypeb = - GButton.button ~label:"ElimType" - ~packing:(hbox5#pack ~expand:false ~fill:false ~padding:5) () in - let foldwhdb = - GButton.button ~label:"Fold_whd" - ~packing:(hbox5#pack ~expand:false ~fill:false ~padding:5) () in - let foldreduceb = - GButton.button ~label:"Fold_reduce" - ~packing:(hbox5#pack ~expand:false ~fill:false ~padding:5) () in - let hbox6 = - GPack.hbox ~packing:(vbox1#pack ~expand:false ~fill:false ~padding:5) () in - let foldsimplb = - GButton.button ~label:"Fold_simpl" - ~packing:(hbox6#pack ~expand:false ~fill:false ~padding:5) () in - let cutb = - GButton.button ~label:"Cut" - ~packing:(hbox6#pack ~expand:false ~fill:false ~padding:5) () in - let changeb = - GButton.button ~label:"Change" - ~packing:(hbox6#pack ~expand:false ~fill:false ~padding:5) () in - let letinb = - GButton.button ~label:"Let ... In" - ~packing:(hbox6#pack ~expand:false ~fill:false ~padding:5) () in - let rewritesimplb = - GButton.button ~label:"RewriteSimpl ->" - ~packing:(hbox6#pack ~expand:false ~fill:false ~padding:5) () in - let rewritebacksimplb = - GButton.button ~label:"RewriteSimpl <-" - ~packing:(hbox6#pack ~expand:false ~fill:false ~padding:5) () in - let hbox7 = - GPack.hbox ~packing:(vbox1#pack ~expand:false ~fill:false ~padding:5) () in - let absurdb = - GButton.button ~label:"Absurd" - ~packing:(hbox7#pack ~expand:false ~fill:false ~padding:5) () in - let decomposeb = - GButton.button ~label:"Decompose" - ~packing:(hbox7#pack ~expand:false ~fill:false ~padding:5) () in - let transitivityb = - GButton.button ~label:"Transitivity" - ~packing:(hbox7#pack ~expand:false ~fill:false ~padding:5) () in - let replaceb = - GButton.button ~label:"Replace" - ~packing:(hbox7#pack ~expand:false ~fill:false ~padding:5) () in - let injectionb = - GButton.button ~label:"Injection" - ~packing:(hbox7#pack ~expand:false ~fill:false ~padding:5) () in - let discriminateb = - GButton.button ~label:"Discriminate" - ~packing:(hbox7#pack ~expand:false ~fill:false ~padding:5) () in -(* Zack: spostare in una toolbar - let generalizeb = - GButton.button ~label:"Generalize" - ~packing:(hbox7#pack ~expand:false ~fill:false ~padding:5) () in - let clearbodyb = - GButton.button ~label:"ClearBody" - ~packing:(hbox5#pack ~expand:false ~fill:false ~padding:5) () in - let clearb = - GButton.button ~label:"Clear" - ~packing:(hbox5#pack ~expand:false ~fill:false ~padding:5) () in - let whdb = - GButton.button ~label:"Whd" - ~packing:(hbox3#pack ~expand:false ~fill:false ~padding:5) () in - let reduceb = - GButton.button ~label:"Reduce" - ~packing:(hbox3#pack ~expand:false ~fill:false ~padding:5) () in - let simplb = - GButton.button ~label:"Simpl" - ~packing:(hbox3#pack ~expand:false ~fill:false ~padding:5) () in -*) - - ignore(exactb#connect#clicked InvokeTactics'.exact) ; - ignore(applyb#connect#clicked InvokeTactics'.apply) ; - ignore(elimintrossimplb#connect#clicked InvokeTactics'.elimintrossimpl) ; - ignore(elimtypeb#connect#clicked InvokeTactics'.elimtype) ; - ignore(foldwhdb#connect#clicked InvokeTactics'.fold_whd) ; - ignore(foldreduceb#connect#clicked InvokeTactics'.fold_reduce) ; - ignore(foldsimplb#connect#clicked InvokeTactics'.fold_simpl) ; - ignore(cutb#connect#clicked InvokeTactics'.cut) ; - ignore(changeb#connect#clicked InvokeTactics'.change) ; - ignore(letinb#connect#clicked InvokeTactics'.letin) ; - ignore(ringb#connect#clicked InvokeTactics'.ring) ; - ignore(fourierb#connect#clicked InvokeTactics'.fourier) ; - ignore(rewritesimplb#connect#clicked InvokeTactics'.rewritesimpl) ; - ignore(rewritebacksimplb#connect#clicked InvokeTactics'.rewritebacksimpl) ; - ignore(replaceb#connect#clicked InvokeTactics'.replace) ; - ignore(reflexivityb#connect#clicked InvokeTactics'.reflexivity) ; - ignore(symmetryb#connect#clicked InvokeTactics'.symmetry) ; - ignore(transitivityb#connect#clicked InvokeTactics'.transitivity) ; - ignore(existsb#connect#clicked InvokeTactics'.exists) ; - ignore(splitb#connect#clicked InvokeTactics'.split) ; - ignore(leftb#connect#clicked InvokeTactics'.left) ; - ignore(rightb#connect#clicked InvokeTactics'.right) ; - ignore(assumptionb#connect#clicked InvokeTactics'.assumption) ; - ignore(absurdb#connect#clicked InvokeTactics'.absurd) ; - ignore(contradictionb#connect#clicked InvokeTactics'.contradiction) ; - ignore(introsb#connect#clicked InvokeTactics'.intros) ; - ignore(decomposeb#connect#clicked InvokeTactics'.decompose) ; - ignore(searchpatternb#connect#clicked searchPattern) ; - ignore(injectionb#connect#clicked InvokeTactics'.injection) ; - ignore(discriminateb#connect#clicked InvokeTactics'.discriminate) ; - ignore(autob#connect#clicked InvokeTactics'.auto) ; -(* Zack: spostare in una toolbar - ignore(whdb#connect#clicked whd) ; - ignore(reduceb#connect#clicked reduce) ; - ignore(simplb#connect#clicked simpl) ; - ignore(clearbodyb#connect#clicked clearbody) ; - ignore(clearb#connect#clicked clear) ; - ignore(generalizeb#connect#clicked generalize) ; -*) - ignore(proofw#connect#selection_changed (choose_selection proofw)) ; - ignore - ((new GObj.event_ops proofw#as_widget)#connect#button_press - (open_contextual_menu_for_selected_terms proofw)) ; - )) -end -;; - -class empty_page = - let vbox1 = GPack.vbox () in - let scrolled_window1 = - GBin.scrolled_window ~border_width:10 - ~packing:(vbox1#pack ~expand:true ~padding:5) () in - let proofw = - TermViewer.sequent_viewer - ~mml_of_cic_sequent:ApplyTransformation.mml_of_cic_sequent - ~width:400 ~height:275 ~packing:(scrolled_window1#add) () in -object(self) - method proofw = (assert false : TermViewer.sequent_viewer) - method content = vbox1 - method compute = (assert false : unit) -end -;; - -let empty_page = new empty_page;; - -class notebook = -object(self) - val notebook = GPack.notebook () - val pages = ref [] - val mutable skip_switch_page_event = false - val mutable empty = true - method notebook = notebook - method add_page n = - let new_page = new page () in - empty <- false ; - pages := !pages @ [n,lazy (setgoal n),new_page] ; - notebook#append_page - ~tab_label:((GMisc.label ~text:("?" ^ string_of_int n) ())#coerce) - new_page#content#coerce - method remove_all_pages ~skip_switch_page_event:skip = - if empty then - notebook#remove_page 0 (* let's remove the empty page *) - else - List.iter (function _ -> notebook#remove_page 0) !pages ; - pages := [] ; - skip_switch_page_event <- skip - method set_current_page ~may_skip_switch_page_event n = - let (_,_,page) = List.find (function (m,_,_) -> m=n) !pages in - let new_page = notebook#page_num page#content#coerce in - if may_skip_switch_page_event && new_page <> notebook#current_page then - skip_switch_page_event <- true ; - notebook#goto_page new_page - method set_empty_page = - empty <- true ; - pages := [] ; - notebook#append_page - ~tab_label:((GMisc.label ~text:"No proof in progress" ())#coerce) - empty_page#content#coerce - method proofw = - let (_,_,page) = List.nth !pages notebook#current_page in - page#proofw - initializer - ignore - (notebook#connect#switch_page - (function i -> - let skip = skip_switch_page_event in - skip_switch_page_event <- false ; - if not skip then - try - let (metano,setgoal,page) = List.nth !pages i in - set_proof_engine_goal (Some metano) ; - Lazy.force (page#compute) ; - Lazy.force setgoal; - if notify_hbugs_on_goal_change then - Hbugs.notify () - with _ -> () - )) -end -;; - -let dump_environment () = - try - let oc = open_out (Helm_registry.get "gtoplevel.environment_file") in - HelmLogger.log (`Msg (`T "Dumping environment ...")); - CicEnvironment.dump_to_channel oc; - HelmLogger.log (`Msg (`T "... done!")) ; - close_out oc - with exc -> - HelmLogger.log - (`Error (`T (Printf.sprintf "Dump failure, uncaught exception:%s" - (Printexc.to_string exc)))) -;; -let restore_environment () = - try - let ic = open_in (Helm_registry.get "gtoplevel.environment_file") in - HelmLogger.log (`Msg (`T "Restoring environment ... ")); - CicEnvironment.restore_from_channel ic; - HelmLogger.log (`Msg (`T "... done!")); - close_in ic - with exc -> - HelmLogger.log - (`Error (`T (Printf.sprintf "Restore failure, uncaught exception:%s" - (Printexc.to_string exc)))) -;; - -(* Main window *) - -class rendering_window output (notebook : notebook) = - let scratch_window = new scratch_window in - let window = - GWindow.window - ~title:"gTopLevel - Helm's Proof Assistant" - ~border_width:0 ~allow_shrink:false () in - let vbox_for_menu = GPack.vbox ~packing:window#add () in - (* menus *) - let handle_box = GBin.handle_box ~border_width:2 - ~packing:(vbox_for_menu#pack ~padding:0) () in - let menubar = GMenu.menu_bar ~packing:handle_box#add () in - let factory0 = new GMenu.factory menubar in - let accel_group = factory0#accel_group in - (* file menu *) - let file_menu = factory0#add_submenu "File" in - let factory1 = new GMenu.factory file_menu ~accel_group in - (* let export_to_postscript_menu_item = *) - let _ = - begin - let _ = - factory1#add_item "New Block of (Co)Inductive Definitions..." - ~key:GdkKeysyms._B ~callback:new_inductive - in - let _ = - factory1#add_item "New Proof or Definition..." ~key:GdkKeysyms._N - ~callback:new_proof - in - let reopen_menu_item = - factory1#add_item "Reopen a Finished Proof..." ~key:GdkKeysyms._R - ~callback:open_ - in - let qed_menu_item = - factory1#add_item "Qed" ~key:GdkKeysyms._E ~callback:qed in - ignore (factory1#add_separator ()) ; - ignore - (factory1#add_item "Load Unfinished Proof..." ~key:GdkKeysyms._L - ~callback:load_unfinished_proof) ; - let save_menu_item = - factory1#add_item "Save Unfinished Proof" ~key:GdkKeysyms._S - ~callback:save_unfinished_proof - in - ignore (factory1#add_separator ()) ; - ignore (factory1#add_item "Clear Environment" ~callback:CicEnvironment.empty); - ignore (factory1#add_item "Dump Environment" ~callback:dump_environment); - ignore - (factory1#add_item "Restore Environment" ~callback:restore_environment); - ignore - (save_set_sensitive := function b -> save_menu_item#misc#set_sensitive b); - ignore (!save_set_sensitive false); - ignore (qed_set_sensitive:=function b -> qed_menu_item#misc#set_sensitive b); - ignore (!qed_set_sensitive false); - ignore (factory1#add_separator ()) ; - (* - let export_to_postscript_menu_item = - factory1#add_item "Export to PostScript..." - ~callback:(export_to_postscript output) in - *) - ignore (factory1#add_separator ()) ; - ignore - (factory1#add_item "Exit" ~key:GdkKeysyms._Q ~callback:GMain.Main.quit) (*; - export_to_postscript_menu_item *) - end in - (* edit menu *) - let edit_menu = factory0#add_submenu "Edit Current Proof" in - let factory2 = new GMenu.factory edit_menu ~accel_group in - let focus_and_proveit_set_sensitive = ref (function _ -> assert false) in - let proveit_menu_item = - factory2#add_item "Prove It" ~key:GdkKeysyms._I - ~callback:(function () -> proveit ();!focus_and_proveit_set_sensitive false) - in - let focus_menu_item = - factory2#add_item "Focus" ~key:GdkKeysyms._F - ~callback:(function () -> focus () ; !focus_and_proveit_set_sensitive false) - in - let _ = - focus_and_proveit_set_sensitive := - function b -> - proveit_menu_item#misc#set_sensitive b ; - focus_menu_item#misc#set_sensitive b - in - let _ = !focus_and_proveit_set_sensitive false in - (* edit term menu *) - let edit_term_menu = factory0#add_submenu "Edit Term" in - let factory5 = new GMenu.factory edit_term_menu ~accel_group in - let check_menu_item = - factory5#add_item "Check Term" ~key:GdkKeysyms._C - ~callback:(check scratch_window) in - let _ = check_menu_item#misc#set_sensitive false in - (* search menu *) - let search_menu = factory0#add_submenu "Search" in - let factory4 = new GMenu.factory search_menu ~accel_group in - let _ = - factory4#add_item "Locate..." ~key:GdkKeysyms._T - ~callback:locate in - let searchPattern_menu_item = - factory4#add_item "SearchPattern..." ~key:GdkKeysyms._D - ~callback:completeSearchPattern in - let _ = searchPattern_menu_item#misc#set_sensitive false in - let show_menu_item = - factory4#add_item "Show..." ~key:GdkKeysyms._H ~callback:show - in - let insert_query_item = - factory4#add_item "Insert Query (Experts Only)..." ~key:GdkKeysyms._Y - ~callback:insertQuery in - (* hbugs menu *) - let hbugs_menu = factory0#add_submenu "HBugs" in - let factory6 = new GMenu.factory hbugs_menu ~accel_group in - let _ = - factory6#add_check_item - ~active:false ~key:GdkKeysyms._F5 ~callback:Hbugs.toggle "HBugs enabled" - in - let _ = - factory6#add_item ~key:GdkKeysyms._Return ~callback:Hbugs.notify - "(Re)Submit status!" - in - let _ = factory6#add_separator () in - let _ = - factory6#add_item ~callback:Hbugs.start_web_services "Start Web Services" - in - let _ = - factory6#add_item ~callback:Hbugs.stop_web_services "Stop Web Services" - in - (* settings menu *) - let settings_menu = factory0#add_submenu "Settings" in - let factory3 = new GMenu.factory settings_menu ~accel_group in - let _ = - factory3#add_item "Edit Aliases..." ~key:GdkKeysyms._A - ~callback:edit_aliases in - let _ = - factory3#add_item "Clear Aliases" ~key:GdkKeysyms._K - ~callback:clear_aliases in - let autoitem = - factory3#add_check_item "Auto disambiguation" - ~callback:(fun checked -> auto_disambiguation := checked) in - let _ = factory3#add_separator () in - let _ = - factory3#add_item "MathML Widget Preferences..." ~key:GdkKeysyms._P - ~callback:(function _ -> (settings_window ())#show ()) in - let _ = factory3#add_separator () in - let _ = - factory3#add_item "Reload Stylesheets" - ~callback: - (function _ -> - if ProofEngine.get_proof () <> None then - try - refresh_goals notebook ; - refresh_proof output - with - InvokeTactics.RefreshSequentException e -> - HelmLogger.log - (`Error (`T ("An error occurred while refreshing the " ^ - "sequent: " ^ Printexc.to_string e))) ; - (*notebook#remove_all_pages ~skip_switch_page_event:false ;*) - notebook#set_empty_page - | InvokeTactics.RefreshProofException e -> - HelmLogger.log - (`Error (`T ("An error occurred while refreshing the proof: " ^ Printexc.to_string e))) ; - output#unload - ) in - (* accel group *) - let _ = window#add_accel_group accel_group in - (* end of menus *) - let hbox0 = - GPack.hbox - ~packing:(vbox_for_menu#pack ~expand:true ~fill:true ~padding:5) () in - let vbox = - GPack.vbox ~packing:(hbox0#pack ~expand:true ~fill:true ~padding:5) () 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 frame = - GBin.frame ~label:"Insert Term" - ~packing:(vbox#pack ~expand:true ~fill:true ~padding:5) () in - let scrolled_window1 = - GBin.scrolled_window ~border_width:5 - ~packing:frame#add () in - let inputt = - TermEditor'.term_editor - ~dbd - ~width:400 ~height:100 ~packing:scrolled_window1#add () - ~isnotempty_callback: - (function b -> - check_menu_item#misc#set_sensitive b ; - searchPattern_menu_item#misc#set_sensitive b) in - let vboxl = - GPack.vbox ~packing:(hbox0#pack ~expand:true ~fill:true ~padding:5) () in - let _ = - vboxl#pack ~expand:true ~fill:true ~padding:5 notebook#notebook#coerce in - let frame = - GBin.frame ~shadow_type:`IN ~packing:(vboxl#pack ~expand:true ~padding:5) () - in - let _ = - new HelmGtkLogger.html_logger - ~width:400 ~height: 100 ~show:true ~packing:frame#add () - in -object - method inputt = inputt - method output = (output : TermViewer.proof_viewer) - method scratch_window = scratch_window - method notebook = notebook - method show = window#show - method set_auto_disambiguation set = autoitem#set_active set - initializer - notebook#set_empty_page ; - (*export_to_postscript_menu_item#misc#set_sensitive false ;*) - check_term := (check_term_in_scratch scratch_window) ; - - (* signal handlers here *) - ignore(output#connect#selection_changed - (function elem -> - choose_selection output elem ; - !focus_and_proveit_set_sensitive true - )) ; - ignore (output#connect#click (show_in_show_window_callback output)) ; - let settings_window = new settings_window output scrolled_window0 - (*export_to_postscript_menu_item*)() (choose_selection output) in - set_settings_window settings_window ; - ignore(window#event#connect#delete (fun _ -> GMain.Main.quit () ; true )) -end - -(* MAIN *) - -let initialize_everything () = - let output = - TermViewer.proof_viewer - ~mml_of_cic_object:ApplyTransformation.mml_of_cic_object - ~width:350 ~height:280 () - in - let notebook = new notebook in - let rendering_window' = new rendering_window output notebook in - rendering_window'#set_auto_disambiguation !auto_disambiguation; - set_rendering_window rendering_window'; - let print_error_as_html prefix msg = - HelmLogger.log (`Error (`T (prefix ^ msg))) - in - Gdome_xslt.setErrorCallback (Some (print_error_as_html "XSLT Error: ")); - Gdome_xslt.setDebugCallback - (Some (print_error_as_html "XSLT Debug Message: ")); - rendering_window'#show () ; - if restore_environment_on_boot && - Sys.file_exists (Helm_registry.get "gtoplevel.environment_file") - then - restore_environment (); - GtkThread.main () -;; - -let main () = - ignore (GtkMain.Main.init ()) ; - initialize_everything () ; - MQIC.close mqi_handle; - Hbugs.quit () -;; - -try -(* CicEnvironment.set_trust (fun _ -> false); *) - Sys.catch_break true; - main (); -with Sys.Break -> () (* exit nicely, invoking at_exit functions *) - diff --git a/helm/gTopLevel/hbugs.ml b/helm/gTopLevel/hbugs.ml deleted file mode 100644 index c8947c54d..000000000 --- a/helm/gTopLevel/hbugs.ml +++ /dev/null @@ -1,143 +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/ - *) - -open Hbugs_types;; -open Printf;; - -let debug_print = - let debug = true in - fun s -> prerr_endline (sprintf "HBUGS DEBUG: %s" s) -;; - -exception NoProofInProgress;; - -let hbugs_client = ref None -let use_hint_callback = ref ignore -let describe_hint_callback = ref ignore - -let set_describe_hint_callback c = describe_hint_callback := c - -let quit () = - match !hbugs_client with - | Some c -> c#unregisterFromBroker () - | None -> () - -let hbugs_enabled = ref false - -let get_hbugs_client () = - match !hbugs_client with - | Some c -> c - | None -> assert false - -let disable () = - match !hbugs_client with None -> () | Some c -> c#hide () - -let notify () = - try - if !hbugs_enabled then begin - let client = get_hbugs_client () in - let goal = - match !ProofEngine.goal with - | Some g -> g - | None -> raise NoProofInProgress - in - let (type_string, body_string) = - let (type_xml, body_xml) = ProofEngine.get_current_status_as_xml () in - (Xml.pp_to_string type_xml, Xml.pp_to_string body_xml) - in - let new_state = - (Misc.strip_xml_headings type_string, - Misc.strip_xml_headings body_string, - goal) - in - client#stateChange (Some new_state) - end - with NoProofInProgress -> () - -let clear () = - if !hbugs_enabled then - begin - let client = get_hbugs_client () in - client#stateChange None - end - -let rec enable () = - (match !hbugs_client with - | None -> (* create an hbugs client and show its window *) - hbugs_client := - (try - Some (new Hbugs_client.hbugsClient - ~use_hint_callback:!use_hint_callback - ~describe_hint_callback:!describe_hint_callback - ()) - with e -> - prerr_endline (sprintf "Can't start HBugs client: %s" - (Printexc.to_string e)); - None); - (match !hbugs_client with - |Some client -> - client#show (); - client#subscribeAll () - | None -> ()) - | Some c -> (* show hbugs client window *) - c#show ()) - -let toggle state = - if state <> !hbugs_enabled then begin (* status has been changed *) - if state then enable () else disable (); - clear () - end; - hbugs_enabled := state - -module type Unit = sig end - -module Initialize (Tactics: InvokeTactics.Tactics) : Unit = - struct - let use_hint = function - | Use_ring -> Tactics.ring () - | Use_fourier -> Tactics.fourier () - | Use_reflexivity -> Tactics.reflexivity () - | Use_symmetry -> Tactics.symmetry () - | Use_assumption -> Tactics.assumption () - | Use_contradiction -> Tactics.contradiction () - | Use_exists -> Tactics.exists () - | Use_split -> Tactics.split () - | Use_left -> Tactics.left () - | Use_right -> Tactics.right () - | Use_apply term -> - (* we remove the "cic:" prefix *) - let term' = String.sub term 4 (String.length term - 4) in - Tactics.apply ~term:term' () - | Hints _ -> assert false - - let _ = use_hint_callback := use_hint - end - -let start_web_services () = ignore (Unix.system "make -C ../hbugs/ start") -let stop_web_services () = ignore (Unix.system "make -C ../hbugs/ stop") - diff --git a/helm/gTopLevel/hbugs.mli b/helm/gTopLevel/hbugs.mli deleted file mode 100644 index 80f8c74e9..000000000 --- a/helm/gTopLevel/hbugs.mli +++ /dev/null @@ -1,57 +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/ - *) - -val enable: unit -> unit -val disable: unit -> unit -val toggle: bool -> unit - -val quit: unit -> unit - - (** send current proof assistant state to hbugs broker *) -val notify: unit -> unit - -val clear: unit -> unit - -module type Unit = sig end - -module Initialize (Tactics: InvokeTactics.Tactics) : Unit - -(* - External Web Services controls. TEMPORARY(?) -*) - -val start_web_services: unit -> unit -val stop_web_services: unit -> unit - -(* Other callbacks *) - -open Hbugs_types - - (* what to do when the user single click on an hint *) -val set_describe_hint_callback: (hint -> unit) -> unit - diff --git a/helm/gTopLevel/helmGtkLogger.ml b/helm/gTopLevel/helmGtkLogger.ml deleted file mode 100644 index cfb2c487a..000000000 --- a/helm/gTopLevel/helmGtkLogger.ml +++ /dev/null @@ -1,71 +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 html_logger ?width ?height ?packing ?show () = - let scrolled_window = GBin.scrolled_window ?packing ?show () in - let vadj = scrolled_window#vadjustment in - let tv = - GText.view ~editable:false ~cursor_visible:false - ?width ?height ~packing:(scrolled_window#add) () - in - let colors = Hashtbl.create 13 in - let get_color color = - try - Hashtbl.find colors color - with Not_found -> - let tag = - tv#buffer#create_tag - [`FOREGROUND_SET true ; - `FOREGROUND_GDK - (Gdk.Color.alloc (Gdk.Color.get_system_colormap ()) (`NAME color))] - in - Hashtbl.add colors color tag; - tag - in - let log ?(append_NL = true) msg = - let rec aux color indent = - let indent_str = String.make indent ' ' in - function - | `T s -> tv#buffer#insert ~tags:[ get_color color ] s - | `L tags -> - List.iter - (fun tag -> aux color indent tag; tv#buffer#insert indent_str) - tags - | `BR -> tv#buffer#insert ("\n" ^ indent_str) - | `DIV (local_indent, new_color, tag) -> - tv#buffer#insert ("\n" ^ indent_str); - aux - (match new_color with None -> color | Some new_color -> new_color) - (indent + local_indent) tag - in - (match msg with - | `Error tag -> aux "red" 0 tag - | `Msg tag -> aux "black" 0 tag); - if append_NL then tv#buffer#insert "\n" - in - object (self) - initializer HelmLogger.register_log_callback log - end - diff --git a/helm/gTopLevel/helmGtkLogger.mli b/helm/gTopLevel/helmGtkLogger.mli deleted file mode 100644 index 06206dd3d..000000000 --- a/helm/gTopLevel/helmGtkLogger.mli +++ /dev/null @@ -1,31 +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 html_logger: - ?width:int -> ?height:int -> ?packing:(GObj.widget -> unit) -> ?show:bool -> - unit -> - object - end - diff --git a/helm/gTopLevel/invokeTactics.ml b/helm/gTopLevel/invokeTactics.ml deleted file mode 100644 index 13dc83f1d..000000000 --- a/helm/gTopLevel/invokeTactics.ml +++ /dev/null @@ -1,359 +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/. - *) - -(******************************************************************************) -(* *) -(* PROJECT HELM *) -(* *) -(* Claudio Sacerdoti Coen *) -(* 29/01/2003 *) -(* *) -(* *) -(******************************************************************************) - -open Printf - -exception RefreshSequentException of exn;; -exception RefreshProofException of exn;; - -module type Callbacks = - sig - (* input widgets *) - val sequent_viewer : unit -> TermViewer.sequent_viewer - val term_editor : unit -> TermEditor.term_editor - val scratch_window : - unit -> - < sequent_viewer: TermViewer.sequent_viewer ; - show: unit -> unit ; - term: Cic.term ; - set_term : Cic.term -> unit ; - metasenv: Cic.metasenv ; - set_metasenv : Cic.metasenv -> unit ; - context: Cic.context ; - set_context : Cic.context -> unit > - (* GUI refresh functions *) - val refresh_proof : unit -> unit - val refresh_goals : unit -> unit - (* callbacks for user-tactics interaction *) - val decompose_uris_choice_callback : - (UriManager.uri * int * 'a) list -> - (UriManager.uri * int * 'b list) list - val mk_fresh_name_callback : ProofEngineTypes.mk_fresh_name_type - val mqi_handle : MQIConn.handle - val dbd:Mysql.dbd - end -;; - -module type Tactics = - sig - val intros : unit -> unit - val exact : ?term:string -> unit -> unit - val apply : ?term:string -> unit -> unit - val elimintrossimpl : ?term:string -> unit -> unit - val elimtype : ?term:string -> unit -> unit - val whd : unit -> unit - val reduce : unit -> unit - val simpl : unit -> unit - val fold_whd : ?term:string -> unit -> unit - val fold_reduce : ?term:string -> unit -> unit - val fold_simpl : ?term:string -> unit -> unit - val cut : ?term:string -> unit -> unit - val change : unit -> unit - val letin : ?term:string -> unit -> unit - val ring : unit -> unit - val clearbody : unit -> unit - val clear : unit -> unit - val fourier : unit -> unit - val rewritesimpl : ?term:string -> unit -> unit - val rewritebacksimpl : ?term:string -> unit -> unit - val replace : unit -> unit - val reflexivity : unit -> unit - val symmetry : unit -> unit - val transitivity : ?term:string -> unit -> unit - val exists : unit -> unit - val split : unit -> unit - val left : unit -> unit - val right : unit -> unit - val assumption : unit -> unit - val generalize : unit -> unit - val absurd : ?term:string -> unit -> unit - val contradiction : unit -> unit - val decompose : ?term:string -> unit -> unit - val injection : ?term:string -> unit -> unit - val discriminate : ?term:string -> unit -> unit - val whd_in_scratch : unit -> unit - val reduce_in_scratch : unit -> unit - val simpl_in_scratch : unit -> unit - val auto : unit -> unit - end - -module Make (C: Callbacks) : Tactics = - struct - - let print_uncaught_exception e = - HelmLogger.log (`Error (`T (sprintf "Uncaught exception: %s" - (Printexc.to_string e)))) - - let handle_refresh_exception f savedproof savedgoal = - try - f () - with - | RefreshSequentException e -> - HelmLogger.log (`Error (`T - (sprintf "Exception raised during the refresh of the sequent: %s" - (Printexc.to_string e)))); - ProofEngine.set_proof savedproof ; - ProofEngine.goal := savedgoal ; - C.refresh_goals () - | RefreshProofException e -> - HelmLogger.log (`Error (`T - (sprintf "Exception raised during the refresh of the proof: %s" - (Printexc.to_string e)))); - ProofEngine.set_proof savedproof ; - ProofEngine.goal := savedgoal ; - C.refresh_goals () ; - C.refresh_proof () - | e -> - print_uncaught_exception e; - ProofEngine.set_proof savedproof ; - ProofEngine.goal := savedgoal - - let call_tactic tactic () = - let savedproof = ProofEngine.get_proof () in - let savedgoal = !ProofEngine.goal in - handle_refresh_exception - (fun () -> - tactic (); - C.refresh_goals (); - C.refresh_proof ()) - savedproof savedgoal - - let call_tactic_with_input tactic ?term () = - let savedproof = ProofEngine.get_proof () in - let savedgoal = !ProofEngine.goal in - let uri,metasenv,bo,ty = - match ProofEngine.get_proof () with - None -> assert false - | Some (uri,metasenv,bo,ty) -> uri,metasenv,bo,ty - in - let canonical_context = - match !ProofEngine.goal with - None -> assert false - | Some metano -> - let (_,canonical_context,_) = - List.find (function (m,_,_) -> m=metano) metasenv - in - canonical_context - in - handle_refresh_exception - (fun () -> - let metasenv',expr,ugraph = (*TASSI: FIX THIS*) - (match term with - | None -> () - | Some t -> (C.term_editor ())#set_term t); - (C.term_editor ())#get_metasenv_and_term canonical_context metasenv - in - ProofEngine.set_proof (Some (uri,metasenv',bo,ty)) ; - tactic expr ; - C.refresh_goals () ; - C.refresh_proof () ; - (C.term_editor ())#reset) - savedproof savedgoal - - let call_tactic_with_goal_input tactic () = - let module L = LogicalOperations in - let module G = Gdome in - let savedproof = ProofEngine.get_proof () in - let savedgoal = !ProofEngine.goal in - match (C.sequent_viewer ())#get_selected_terms with - | [term] -> - handle_refresh_exception - (fun () -> - tactic term ; - C.refresh_goals () ; - C.refresh_proof ()) - savedproof savedgoal - | [] -> HelmLogger.log (`Error (`T "No term selected")) - | _ -> HelmLogger.log (`Error (`T "Too many terms selected")) - - let call_tactic_with_goal_inputs tactic () = - let module L = LogicalOperations in - let module G = Gdome in - let savedproof = ProofEngine.get_proof () in - let savedgoal = !ProofEngine.goal in - handle_refresh_exception - (fun () -> - match (C.sequent_viewer ())#get_selected_terms with - | [] -> HelmLogger.log (`Error (`T "No term selected")) - | terms -> - tactic terms ; - C.refresh_goals () ; - C.refresh_proof ()) - savedproof savedgoal - - let call_tactic_with_input_and_goal_input tactic () = - let module L = LogicalOperations in - let module G = Gdome in - let savedproof = ProofEngine.get_proof () in - let savedgoal = !ProofEngine.goal in - match (C.sequent_viewer ())#get_selected_terms with - [term] -> - handle_refresh_exception - (fun () -> - let uri,metasenv,bo,ty = - match ProofEngine.get_proof () with - None -> assert false - | Some (uri,metasenv,bo,ty) -> uri,metasenv,bo,ty - in - let canonical_context = - match !ProofEngine.goal with - None -> assert false - | Some metano -> - let (_,canonical_context,_) = - List.find (function (m,_,_) -> m=metano) metasenv - in - canonical_context in - let (metasenv',expr,ugraph) =(* FIX THIS AND *) - (C.term_editor ())#get_metasenv_and_term - canonical_context metasenv - in - ProofEngine.set_proof (Some (uri,metasenv',bo,ty)) ; - tactic ~goal_input:term ~input:expr ; - C.refresh_goals () ; - C.refresh_proof () ; - (C.term_editor ())#reset) - savedproof savedgoal - | [] -> HelmLogger.log (`Error (`T "No term selected")) - | _ -> HelmLogger.log (`Error (`T "Too many terms selected")) - - let call_tactic_with_goal_input_in_scratch tactic () = - let module L = LogicalOperations in - let module G = Gdome in - let scratch_window = C.scratch_window () in - match scratch_window#sequent_viewer#get_selected_terms with - | [term] -> - begin - try - let expr = tactic term scratch_window#term in - scratch_window#sequent_viewer#load_sequent - scratch_window#metasenv (111,scratch_window#context,expr) ; - scratch_window#set_term expr ; - scratch_window#show () ; - with - e -> print_uncaught_exception e - end - | [] -> HelmLogger.log (`Error (`T "No term selected")) - | _ -> HelmLogger.log (`Error (`T "Too many terms selected")) - - let call_tactic_with_goal_inputs_in_scratch tactic () = - let module L = LogicalOperations in - let module G = Gdome in - let scratch_window = C.scratch_window () in - match scratch_window#sequent_viewer#get_selected_terms with - | [] -> HelmLogger.log (`Error (`T "No term selected")) - | terms -> - try - let expr = tactic terms scratch_window#term in - scratch_window#sequent_viewer#load_sequent - scratch_window#metasenv (111,scratch_window#context,expr) ; - scratch_window#set_term expr ; - scratch_window#show () ; - with - e -> print_uncaught_exception e - - let call_tactic_with_hypothesis_input tactic () = - let module L = LogicalOperations in - let module G = Gdome in - let savedproof = ProofEngine.get_proof () in - let savedgoal = !ProofEngine.goal in - match (C.sequent_viewer ())#get_selected_hypotheses with - | [hypothesis] -> - handle_refresh_exception - (fun () -> - tactic hypothesis ; - C.refresh_goals () ; - C.refresh_proof ()) - savedproof savedgoal - | [] -> HelmLogger.log (`Error (`T "No hypothesis selected")) - | _ -> HelmLogger.log (`Error (`T "Too many hypotheses selected")) - - - - let intros = - call_tactic - (ProofEngine.intros ~mk_fresh_name_callback:C.mk_fresh_name_callback) - let exact = call_tactic_with_input ProofEngine.exact - let apply = call_tactic_with_input ProofEngine.apply - let auto = call_tactic (ProofEngine.auto ~dbd:C.dbd) - let elimintrossimpl = call_tactic_with_input ProofEngine.elim_intros_simpl - let elimtype = call_tactic_with_input ProofEngine.elim_type - let whd = call_tactic_with_goal_inputs ProofEngine.whd - let reduce = call_tactic_with_goal_inputs ProofEngine.reduce - let simpl = call_tactic_with_goal_inputs ProofEngine.simpl - let fold_whd = call_tactic_with_input ProofEngine.fold_whd - let fold_reduce = call_tactic_with_input ProofEngine.fold_reduce - let fold_simpl = call_tactic_with_input ProofEngine.fold_simpl - let cut = - call_tactic_with_input - (ProofEngine.cut ~mk_fresh_name_callback:C.mk_fresh_name_callback) - let change = call_tactic_with_input_and_goal_input ProofEngine.change - let letin = - call_tactic_with_input - (ProofEngine.letin ~mk_fresh_name_callback:C.mk_fresh_name_callback) - let ring = call_tactic ProofEngine.ring - let clearbody = call_tactic_with_hypothesis_input ProofEngine.clearbody - let clear = call_tactic_with_hypothesis_input ProofEngine.clear - let fourier = call_tactic ProofEngine.fourier - let rewritesimpl = call_tactic_with_input ProofEngine.rewrite_simpl - let rewritebacksimpl = call_tactic_with_input ProofEngine.rewrite_back_simpl - let replace = call_tactic_with_input_and_goal_input ProofEngine.replace - let reflexivity = call_tactic ProofEngine.reflexivity - let symmetry = call_tactic ProofEngine.symmetry - let transitivity = call_tactic_with_input ProofEngine.transitivity - let exists = call_tactic ProofEngine.exists - let split = call_tactic ProofEngine.split - let left = call_tactic ProofEngine.left - let right = call_tactic ProofEngine.right - let assumption = call_tactic ProofEngine.assumption - let injection = call_tactic_with_input ProofEngine.injection - let discriminate = call_tactic_with_input ProofEngine.discriminate - let generalize = - call_tactic_with_goal_inputs - (ProofEngine.generalize ~mk_fresh_name_callback:C.mk_fresh_name_callback) - let absurd = call_tactic_with_input ProofEngine.absurd - let contradiction = call_tactic ProofEngine.contradiction - let decompose = - call_tactic_with_input - (ProofEngine.decompose - ~uris_choice_callback:C.decompose_uris_choice_callback) - let whd_in_scratch = - call_tactic_with_goal_inputs_in_scratch ProofEngine.whd_in_scratch - let reduce_in_scratch = - call_tactic_with_goal_inputs_in_scratch ProofEngine.reduce_in_scratch - let simpl_in_scratch = - call_tactic_with_goal_inputs_in_scratch ProofEngine.simpl_in_scratch - -end -;; diff --git a/helm/gTopLevel/invokeTactics.mli b/helm/gTopLevel/invokeTactics.mli deleted file mode 100644 index 993199fe4..000000000 --- a/helm/gTopLevel/invokeTactics.mli +++ /dev/null @@ -1,110 +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/. - *) - -(******************************************************************************) -(* *) -(* PROJECT HELM *) -(* *) -(* Claudio Sacerdoti Coen *) -(* 30/01/2003 *) -(* *) -(* *) -(******************************************************************************) - -exception RefreshSequentException of exn -exception RefreshProofException of exn - -module type Callbacks = - sig - (* input widgets *) - val sequent_viewer : unit -> TermViewer.sequent_viewer - val term_editor : unit -> TermEditor.term_editor - val scratch_window : - unit -> - < sequent_viewer: TermViewer.sequent_viewer ; - show: unit -> unit ; - term: Cic.term ; - set_term : Cic.term -> unit ; - metasenv: Cic.metasenv ; - set_metasenv : Cic.metasenv -> unit ; - context: Cic.context ; - set_context : Cic.context -> unit > - (* GUI refresh functions *) - val refresh_proof : unit -> unit - val refresh_goals : unit -> unit - (* callbacks for user-tactics interaction *) - val decompose_uris_choice_callback : - (UriManager.uri * int * 'a) list -> - (UriManager.uri * int * 'b list) list - val mk_fresh_name_callback : ProofEngineTypes.mk_fresh_name_type - val mqi_handle : MQIConn.handle - val dbd:Mysql.dbd - end - -module type Tactics = - sig - val intros : unit -> unit - val exact : ?term:string -> unit -> unit - val apply : ?term:string -> unit -> unit - val elimintrossimpl : ?term:string -> unit -> unit - val elimtype : ?term:string -> unit -> unit - val whd : unit -> unit - val reduce : unit -> unit - val simpl : unit -> unit - val fold_whd : ?term:string -> unit -> unit - val fold_reduce : ?term:string -> unit -> unit - val fold_simpl : ?term:string -> unit -> unit - val cut : ?term:string -> unit -> unit - val change : unit -> unit - val letin : ?term:string -> unit -> unit - val ring : unit -> unit - val clearbody : unit -> unit - val clear : unit -> unit - val fourier : unit -> unit - val rewritesimpl : ?term:string -> unit -> unit - val rewritebacksimpl : ?term:string -> unit -> unit - val replace : unit -> unit - val reflexivity : unit -> unit - val symmetry : unit -> unit - val transitivity : ?term:string -> unit -> unit - val exists : unit -> unit - val split : unit -> unit - val left : unit -> unit - val right : unit -> unit - val assumption : unit -> unit - val generalize : unit -> unit - val absurd : ?term:string -> unit -> unit - val contradiction : unit -> unit - val decompose : ?term:string -> unit -> unit - val injection : ?term:string -> unit -> unit - val discriminate : ?term:string -> unit -> unit - val whd_in_scratch : unit -> unit - val reduce_in_scratch : unit -> unit - val simpl_in_scratch : unit -> unit - val auto : unit -> unit - end - -module Make (C : Callbacks) : Tactics - diff --git a/helm/gTopLevel/logicalOperations.ml b/helm/gTopLevel/logicalOperations.ml deleted file mode 100644 index 3fab938a0..000000000 --- a/helm/gTopLevel/logicalOperations.ml +++ /dev/null @@ -1,121 +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 get_parent id ids_to_terms ids_to_father_ids = - match Hashtbl.find ids_to_father_ids id with - None -> None - | Some id -> Some (id, Hashtbl.find ids_to_terms id) -;; - -let get_context ids_to_terms ids_to_father_ids = - let module C = Cic in - let rec aux id = - match get_parent id ids_to_terms ids_to_father_ids with - None -> [] - | Some (parentid,parent) -> - let term = Hashtbl.find ids_to_terms id in - let binding = - match parent with - C.Rel _ - | C.Var _ - | C.Meta _ - | C.Sort _ - | C.Implicit _ - | C.Cast _ -> [] - | C.Prod (n,s,t) when t == term -> [Some (n,C.Decl s)] - | C.Prod _ -> [] - | C.Lambda (n,s,t) when t == term -> [Some (n,C.Decl s)] - | C.Lambda _ -> [] - | C.LetIn (n,s,t) when t == term -> [Some (n,C.Def (s,None))] - | C.LetIn _ -> [] - | C.Appl _ - | C.Const _ -> [] - | C.MutInd _ - | C.MutConstruct _ - | C.MutCase _ -> [] -(*CSC: sbagliato: manca il when *) - | C.Fix (_,ifl) -> - let counter = ref 0 in - List.rev_map - (function (name,_,ty,bo) -> - let res = - Some (C.Name name, (C.Def ((C.Fix (!counter,ifl)), Some ty))) - in - incr counter ; - res - ) ifl - | C.CoFix (_,ifl) -> - let counter = ref 0 in - List.rev_map - (function (name,ty,bo) -> - let res = - Some (C.Name name,(C.Def ((C.CoFix (!counter,ifl)), Some ty))) - in - incr counter ; - res - ) ifl - in - binding@(aux parentid) - in - aux -;; - -exception NotImplemented;; - -(* A subterm is changed into a fresh meta *) -let to_sequent id ids_to_terms ids_to_father_ids = - let module P = ProofEngine in - let term = Hashtbl.find ids_to_terms id in - let context = get_context ids_to_terms ids_to_father_ids id in - let metasenv = - match P.get_proof () with - None -> assert false - | Some (_,metasenv,_,_) -> metasenv - in - let ty,_ = (* TASSI: FIXME ehhmmmm *) - CicTypeChecker.type_of_aux' metasenv context term CicUniv.empty_ugraph - in - P.perforate context term ty (* P.perforate also sets the goal *) -;; - -exception FocusOnlyOnMeta;; - -(* If the current selection is a Meta, that Meta becomes the current goal *) -let focus id ids_to_terms ids_to_father_ids = - let module P = ProofEngine in - let term = Hashtbl.find ids_to_terms id in - let context = get_context ids_to_terms ids_to_father_ids id in - let metasenv = - match P.get_proof () with - None -> assert false - | Some (_,metasenv,_,_) -> metasenv - in - let ty,_ = - CicTypeChecker.type_of_aux' metasenv context term CicUniv.empty_ugraph - in - match term with - Cic.Meta (n,_) -> P.goal := Some n - | _ -> raise FocusOnlyOnMeta -;; diff --git a/helm/gTopLevel/logicalOperations.mli b/helm/gTopLevel/logicalOperations.mli deleted file mode 100644 index c44acfcbb..000000000 --- a/helm/gTopLevel/logicalOperations.mli +++ /dev/null @@ -1,32 +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/. - *) - -exception NotImplemented -exception FocusOnlyOnMeta - -val to_sequent : - 'a -> ('a, Cic.term) Hashtbl.t -> ('a, 'a option) Hashtbl.t -> unit -val focus : - 'a -> ('a, Cic.term) Hashtbl.t -> ('a, 'a option) Hashtbl.t -> unit diff --git a/helm/gTopLevel/oldDisambiguate.ml b/helm/gTopLevel/oldDisambiguate.ml deleted file mode 100644 index 24dd30f91..000000000 --- a/helm/gTopLevel/oldDisambiguate.ml +++ /dev/null @@ -1,354 +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/. - *) - -(******************************************************************************) -(* *) -(* PROJECT HELM *) -(* *) -(* Claudio Sacerdoti Coen *) -(* 06/01/2002 *) -(* *) -(* *) -(******************************************************************************) - -open Printf - -(** This module provides a functor to disambiguate the input **) -(** given a set of user-interface call-backs **) - -module type Callbacks = - sig - val interactive_user_uri_choice : - selection_mode:[`SINGLE | `MULTIPLE] -> - ?ok:string -> - ?enable_button_for_non_vars:bool -> - title:string -> msg:string -> id:string -> string list -> string list - val interactive_interpretation_choice : - (string * string) list list -> int list - val input_or_locate_uri : title:string -> ?id:string -> unit -> UriManager.uri - end -;; - -type domain_and_interpretation = - CicTextualParser0.interpretation_domain_item list * - CicTextualParser0.interpretation -;; - -module Make(C:Callbacks) = - struct - - let locate_one_id mqi_handle id = - let query = MQueryGenerator.locate id in - let result = MQueryInterpreter.execute mqi_handle query in - let uris = - List.map - (function uri,_ -> - MQueryMisc.wrong_xpointer_format_from_wrong_xpointer_format' uri - ) result in - HelmLogger.log (`Msg (`T "Locate query:")); - MQueryUtil.text_of_query - (fun s -> HelmLogger.log ~append_NL:false (`Msg (`T s))) - "" query; - HelmLogger.log (`Msg (`T "Result:")); - MQueryUtil.text_of_result (fun s -> HelmLogger.log (`Msg (`T s))) "" result; - let uris' = - match uris with - [] -> - [UriManager.string_of_uri - (C.input_or_locate_uri - ~title:("URI matching \"" ^ id ^ "\" unknown.") ~id ())] - | [uri] -> [uri] - | _ -> - C.interactive_user_uri_choice - ~selection_mode:`MULTIPLE - ~ok:"Try every selection." - ~enable_button_for_non_vars:true - ~title:"Ambiguous input." - ~msg: - ("Ambiguous input \"" ^ id ^ - "\". Please, choose one or more interpretations:") - ~id - uris - in - List.map MQueryMisc.cic_textual_parser_uri_of_string uris' - - - exception ThereDoesNotExistAnyWellTypedInterpretationOfTheInput - - type test_result = - Ok of Cic.term * Cic.metasenv - | Ko - | Uncertain - - type ambiguous_choices = - Uris of CicTextualParser0.uri list - | Symbols of (CicTextualParser0.interpretation -> Cic.term) list - - let disambiguate_input mqi_handle context metasenv dom mk_metasenv_and_expr ~id_to_uris= - let known_ids,resolve_id = id_to_uris in - let dom' = - let rec filter = - function - [] -> [] - | he::tl -> - if List.mem he known_ids then filter tl else he::(filter tl) - in - filter dom - in - (* for each id in dom' we get the list of uris associated to it *) - let list_of_uris = - List.map - (function - CicTextualParser0.Id id -> Uris (locate_one_id mqi_handle id) - | CicTextualParser0.Symbol (descr,choices) -> - (* CSC: Implementare la funzione di filtraggio manuale *) - (* CSC: corrispondente alla locate_one_id *) - Symbols (List.map snd choices) - ) dom' in - let tests_no = - List.fold_left - (fun i uris -> - let len = - match uris with - Uris l -> List.length l - | Symbols l -> List.length l - in - i * len - ) 1 list_of_uris - in - if tests_no > 1 then - HelmLogger.log (`Msg (`T (sprintf - "Disambiguation phase started: up to %d cases will be tried" - tests_no))); - (* and now we compute the list of all possible assignments from *) - (* id to uris that generate well-typed terms *) - let resolve_ids = - (* function to test if a partial interpretation is so far correct *) - let test resolve_id residual_dom = - (* We put implicits in place of every identifier that is not *) - (* resolved by resolve_id *) - let resolve_id' = - List.fold_left - (fun f id -> - function id' -> - if id = id' then Some (CicTextualParser0.Implicit) else f id' - ) resolve_id residual_dom - in - (* and we try to refine the term *) - let metasenv',expr = mk_metasenv_and_expr resolve_id' in -(*CSC: Bug here: we do not try to typecheck also the metasenv' *) - try - let term,_,metasenv'',_ = (* TASSI: FIXME what are we doning here?*) - CicRefine.type_of_aux' metasenv' context expr CicUniv.empty_ugraph - in - Ok (term,metasenv'') (* TASSI: whould we pass back the ugraph? *) - with - CicRefine.Uncertain _ -> -prerr_endline ("%%% UNCERTAIN!!! " ^ CicPp.ppterm expr) ; - Uncertain - | CicRefine.RefineFailure _ -> -prerr_endline ("%%% PRUNED!!! " ^ CicPp.ppterm expr) ; - Ko - in - let rec aux resolve_id ids list_of_uris = - match ids,list_of_uris with - [],[] -> - (match test resolve_id [] with - Ok (term,metasenv) -> [resolve_id,term,metasenv] - | Ko | Uncertain -> []) - | id::idtl,uris::uristl -> - let rec filter = - function - [] -> [] - | (uri : CicTextualParser0.interpretation_codomain_item)::uritl -> - let resolve_id' = - function id' -> if id = id' then Some uri else resolve_id id' - in - (match test resolve_id' idtl with - Ok (term,metasenv) -> - (* the next three ``if''s are used to avoid the base *) - (* case where the term would be refined a second time. *) - (if uristl = [] then - [resolve_id',term,metasenv] - else - (aux resolve_id' idtl uristl) - ) @ (filter uritl) - | Uncertain -> - (if uristl = [] then [] - else - (aux resolve_id' idtl uristl) - ) @ (filter uritl) - | Ko -> - filter uritl - ) - in - (match uris with - Uris uris -> - filter - (List.map (function uri -> CicTextualParser0.Uri uri) uris) - | Symbols symbols -> - filter - (List.map - (function sym -> CicTextualParser0.Term sym) symbols)) - | _,_ -> assert false - in - aux resolve_id dom' list_of_uris - in - List.iter - (function (resolve,term,newmetasenv) -> - (* If metasen <> newmetasenv is a normal condition, we should *) - (* be prepared to apply the returned substitution to the *) - (* whole current proof. *) - if metasenv <> newmetasenv then - begin - prerr_endline - (Printf.sprintf - "+++++ ASSERTION FAILED: a refine operation should not modify the metasenv. Old metasenv:\n %s\n New metasenv:\n %s\n" - (CicMetaSubst.ppmetasenv metasenv []) - (CicMetaSubst.ppmetasenv newmetasenv [])) ; - (* an assert would raise an exception that could be caught *) - exit 1 - end - ) resolve_ids ; - let res = - match resolve_ids with - [] -> raise ThereDoesNotExistAnyWellTypedInterpretationOfTheInput - | [_] -> resolve_ids - | _ -> - let choices = - List.map - (function (resolve,_,_) -> - List.map - (function id -> - (match id with - CicTextualParser0.Id id -> id - | CicTextualParser0.Symbol (descr,_) -> descr - ), - match resolve id with - None -> assert false - | Some (CicTextualParser0.Uri uri) -> - (match uri with - CicTextualParser0.ConUri uri - | CicTextualParser0.VarUri uri -> - UriManager.string_of_uri uri - | CicTextualParser0.IndTyUri (uri,tyno) -> - UriManager.string_of_uri uri ^ "#xpointer(1/" ^ - string_of_int (tyno+1) ^ ")" - | CicTextualParser0.IndConUri (uri,tyno,consno) -> - UriManager.string_of_uri uri ^ "#xpointer(1/" ^ - string_of_int (tyno+1) ^ "/" ^ string_of_int consno ^ ")") - | Some (CicTextualParser0.Term term) -> - (* CSC: Implementare resa delle scelte *) - "To be implemented XXX01" - | Some CicTextualParser0.Implicit -> assert false - ) dom - ) resolve_ids - in - let indexes = C.interactive_interpretation_choice choices in - List.map (List.nth resolve_ids) indexes - in - List.map - (fun (resolve_id',term,metasenv') -> - (known_ids @ dom', resolve_id'), metasenv',term - ) res -end -;; - -module EnvironmentP3 = - struct - type t = domain_and_interpretation - - let empty = "" - - let to_string (dom,resolve_id) = - let string_of_cic_textual_parser_uri uri = - let module C = Cic in - let module CTP = CicTextualParser0 in - let uri' = - match uri with - CTP.ConUri uri -> UriManager.string_of_uri uri - | CTP.VarUri uri -> UriManager.string_of_uri uri - | CTP.IndTyUri (uri,tyno) -> - UriManager.string_of_uri uri ^ "#1/" ^ string_of_int (tyno + 1) - | CTP.IndConUri (uri,tyno,consno) -> - UriManager.string_of_uri uri ^ "#1/" ^ string_of_int (tyno + 1) ^ "/" ^ - string_of_int consno - in - (* 4 = String.length "cic:" *) - String.sub uri' 4 (String.length uri' - 4) - in - String.concat "\n" - (List.map - (function v -> - let uri = - match resolve_id v with - None -> assert false - | Some (CicTextualParser0.Uri uri) -> uri - | Some (CicTextualParser0.Term _) - | Some CicTextualParser0.Implicit -> assert false - in - "alias " ^ - (match v with - CicTextualParser0.Id id -> id - | CicTextualParser0.Symbol (descr,_) -> - (* CSC: To be implemented *) - assert false - )^ " " ^ (string_of_cic_textual_parser_uri uri) - ) dom) - - let of_string inputtext = - let regexpr = - let alfa = "[a-zA-Z_-]" in - let digit = "[0-9]" in - let ident = alfa ^ "\\(" ^ alfa ^ "\\|" ^ digit ^ "\\)*" in - let blanks = "\\( \\|\t\\|\n\\)+" in - let nonblanks = "[^ \t\n]+" in - let uri = "/\\(" ^ ident ^ "/\\)*" ^ nonblanks in - (* not very strict check *) - Str.regexp - ("alias" ^ blanks ^ "\\(" ^ ident ^ "\\)" ^ blanks ^ "\\(" ^ uri ^ "\\)") - in - let rec aux n = - try - let n' = Str.search_forward regexpr inputtext n in - let id = CicTextualParser0.Id (Str.matched_group 2 inputtext) in - let uri = - MQueryMisc.cic_textual_parser_uri_of_string - ("cic:" ^ (Str.matched_group 5 inputtext)) - in - let dom,resolve_id = aux (n' + 1) in - if List.mem id dom then - dom,resolve_id - else - id::dom, - (function id' -> - if id = id' then - Some (CicTextualParser0.Uri uri) - else resolve_id id') - with - Not_found -> ([],function _ -> None) - in - aux 0 - end diff --git a/helm/gTopLevel/oldDisambiguate.mli b/helm/gTopLevel/oldDisambiguate.mli deleted file mode 100644 index c9b2775fe..000000000 --- a/helm/gTopLevel/oldDisambiguate.mli +++ /dev/null @@ -1,74 +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/. - *) - -(******************************************************************************) -(* *) -(* PROJECT HELM *) -(* *) -(* Claudio Sacerdoti Coen *) -(* 15/01/2003 *) -(* *) -(* *) -(******************************************************************************) - -(** This module provides a functor to disambiguate the input **) -(** given a set of user-interface call-backs **) - -module type Callbacks = - sig - val interactive_user_uri_choice : - selection_mode:[`SINGLE | `MULTIPLE] -> - ?ok:string -> - ?enable_button_for_non_vars:bool -> - title:string -> msg:string -> id:string -> string list -> string list - val interactive_interpretation_choice : - (string * string) list list -> int list - val input_or_locate_uri : title:string -> ?id:string -> unit -> UriManager.uri - end - -type domain_and_interpretation = - CicTextualParser0.interpretation_domain_item list * - CicTextualParser0.interpretation - -module Make (C : Callbacks) : - sig - exception ThereDoesNotExistAnyWellTypedInterpretationOfTheInput - val disambiguate_input : - MQIConn.handle -> - Cic.context -> - Cic.metasenv -> - CicTextualParser0.interpretation_domain_item list -> - (CicTextualParser0.interpretation -> Cic.metasenv * Cic.term) -> - id_to_uris:domain_and_interpretation -> - (domain_and_interpretation * Cic.metasenv * Cic.term) list - end - -module EnvironmentP3 : - sig - type t = domain_and_interpretation - val empty : string - val to_string : t -> string - val of_string : string -> t - end diff --git a/helm/gTopLevel/proofEngine.ml b/helm/gTopLevel/proofEngine.ml deleted file mode 100644 index 0cfd8f07c..000000000 --- a/helm/gTopLevel/proofEngine.ml +++ /dev/null @@ -1,268 +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/. - *) - -open ProofEngineHelpers -open ProofEngineTypes - - (* proof assistant status *) - -let proof = ref (None : proof option) -let goal = ref (None : goal option) - -let get_proof () = !proof;; -let set_proof p = proof := p;; - -let get_current_status_as_xml () = - match get_proof () with - None -> assert false - | Some (uri, metasenv, bo, ty) -> - let uri = match uri with Some uri -> uri | None -> assert false in - let currentproof = - (*CSC: Wrong: [] is just plainly wrong *) - Cic.CurrentProof (UriManager.name_of_uri uri,metasenv,bo,ty,[],[]) - in - let (acurrentproof,_,_,ids_to_inner_sorts,_,_,_) = - Cic2acic.acic_object_of_cic_object ~eta_fix:false currentproof - 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) -;; - -let apply_tactic ~tactic = - let module PET = ProofEngineTypes in - match get_proof (),!goal with - | None,_ - | _,None -> assert false - | Some proof', Some goal' -> - let (newproof, newgoals) = PET.apply_tactic tactic (proof', goal') in - set_proof (Some newproof); - goal := - (match newgoals, newproof with - goal::_, _ -> Some goal - | [], (_,(goal,_,_)::_,_,_) -> - (* the tactic left no open goal ; let's choose the first open goal *) - (*CSC: here we could implement and use a proof-tree like notion... *) - Some goal - | _, _ -> None) -;; - -(* metas_in_term term *) -(* Returns the ordered list of the metas that occur in [term]. *) -(* Duplicates are removed. The implementation is not very efficient. *) -let metas_in_term term = - let module C = Cic in - let rec aux = - function - C.Rel _ -> [] - | C.Meta (n,_) -> [n] - | C.Sort _ - | C.Implicit _ -> [] - | 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_left (fun i t -> i @ (aux t)) [] l - | C.Var (_,exp_named_subst) - | C.Const (_,exp_named_subst) - | C.MutInd (_,_,exp_named_subst) - | C.MutConstruct (_,_,_,exp_named_subst) -> - List.fold_left (fun i (_,t) -> i @ (aux t)) [] exp_named_subst - | C.MutCase (_,_,outt,t,pl) -> - (aux outt) @ (aux t) @ - (List.fold_left (fun i t -> i @ (aux t)) [] pl) - | C.Fix (_,fl) -> - List.fold_left (fun i (_,_,ty,bo) -> i @ (aux bo) @ (aux ty)) [] fl - | C.CoFix (_,fl) -> - List.fold_left (fun i (_,ty,bo) -> i @ (aux bo) @ (aux ty)) [] fl - in - let metas = aux term in - let rec elim_duplicates = - function - [] -> [] - | he::tl -> - he::(elim_duplicates (List.filter (function el -> he <> el) tl)) - in - elim_duplicates metas - -(* perforate context term ty *) -(* replaces the term [term] in the proof with a new metavariable whose type *) -(* is [ty]. [context] must be the context of [term] in the whole proof. This *) -(* could be easily computed; so the only reasons to have it as an argument *) -(* are efficiency reasons. *) -let perforate context term ty = - let module C = Cic in - match get_proof () with - None -> assert false - | Some (uri,metasenv,bo,gty as proof') -> - let newmeta = new_meta_of_proof proof' in - (* We push the new meta at the end of the list for pretty-printing *) - (* purposes: in this way metas are ordered. *) - let metasenv' = metasenv@[newmeta,context,ty] in - let irl = - CicMkImplicit.identity_relocation_list_for_metavariable context - in -(*CSC: Bug: se ci sono due term uguali nella prova dovrei bucarne uno solo!!!*) - let bo' = - ProofEngineReduction.replace (==) [term] [C.Meta (newmeta,irl)] bo - in - (* It may be possible that some metavariables occurred only in *) - (* the term we are perforating and they now occurs no more. We *) - (* get rid of them, collecting the really useful metavariables *) - (* in metasenv''. *) -(*CSC: Bug: una meta potrebbe non comparire in bo', ma comparire nel tipo *) -(*CSC: di una metavariabile che compare in bo'!!!!!!! *) - let newmetas = metas_in_term bo' in - let metasenv'' = - List.filter (function (n,_,_) -> List.mem n newmetas) metasenv' - in - set_proof (Some (uri,metasenv'',bo',gty)) ; - goal := Some newmeta - - -(************************************************************) -(* Some easy tactics. *) -(************************************************************) - -(* Reduces [term] using [reduction_function] in the current scratch goal [ty] *) -let reduction_tactic_in_scratch reduction_function terms ty = - let metasenv = - match get_proof () with - None -> [] - | Some (_,metasenv,_,_) -> metasenv - in - let metano,context,_ = - match !goal with - None -> assert false - | Some metano -> List.find (function (m,_,_) -> m=metano) metasenv - in - let terms' = List.map (reduction_function context) terms in - ProofEngineReduction.replace - ~equality:(==) ~what:terms ~with_what:terms' ~where:ty -;; - -let whd_in_scratch = reduction_tactic_in_scratch CicReduction.whd -let reduce_in_scratch = reduction_tactic_in_scratch ProofEngineReduction.reduce -let simpl_in_scratch = reduction_tactic_in_scratch ProofEngineReduction.simpl - -(************************************************************) -(* Tactics defined elsewhere *) -(************************************************************) - - (* primitive tactics *) - -let apply term = apply_tactic (PrimitiveTactics.apply_tac ~term) -let intros ?mk_fresh_name_callback () = - apply_tactic (PrimitiveTactics.intros_tac ?mk_fresh_name_callback ()) -let cut ?mk_fresh_name_callback term = - apply_tactic (PrimitiveTactics.cut_tac ?mk_fresh_name_callback ~term) -let letin ?mk_fresh_name_callback term = - apply_tactic (PrimitiveTactics.letin_tac ?mk_fresh_name_callback ~term) -let exact term = apply_tactic (PrimitiveTactics.exact_tac ~term) -let elim_intros_simpl term = - apply_tactic (PrimitiveTactics.elim_intros_simpl_tac ~term) -let change ~goal_input:what ~input:with_what = - apply_tactic (PrimitiveTactics.change_tac ~what ~with_what) - - (* structural tactics *) - -let clearbody hyp = apply_tactic (ProofEngineStructuralRules.clearbody ~hyp) -let clear hyp = apply_tactic (ProofEngineStructuralRules.clear ~hyp) - - (* reduction tactics *) - -let whd terms = - apply_tactic - (ReductionTactics.whd_tac ~also_in_hypotheses:true ~terms:(Some terms)) -let reduce terms = - apply_tactic - (ReductionTactics.reduce_tac ~also_in_hypotheses:true ~terms:(Some terms)) -let simpl terms = - apply_tactic - (ReductionTactics.simpl_tac ~also_in_hypotheses:true ~terms:(Some terms)) - -let fold_whd term = - apply_tactic - (ReductionTactics.fold_tac ~reduction:CicReduction.whd - ~also_in_hypotheses:true ~term) -let fold_reduce term = - apply_tactic - (ReductionTactics.fold_tac ~reduction:ProofEngineReduction.reduce - ~also_in_hypotheses:true ~term) -let fold_simpl term = - apply_tactic - (ReductionTactics.fold_tac ~reduction:ProofEngineReduction.simpl - ~also_in_hypotheses:true ~term) - - (* other tactics *) - -let elim_type term = apply_tactic (EliminationTactics.elim_type_tac ~term) -let ring () = apply_tactic Ring.ring_tac -let fourier () = apply_tactic FourierR.fourier_tac - -(* let auto ~dbd () = apply_tactic (AutoTactic.auto_tac ~dbd) *) -let auto ~dbd () = apply_tactic (AutoTactic.auto_tac_new ~dbd) - - -let rewrite_simpl term = apply_tactic (EqualityTactics.rewrite_simpl_tac ~term) -let rewrite_back_simpl term = apply_tactic (EqualityTactics.rewrite_back_simpl_tac ~term) -let replace ~goal_input:what ~input:with_what = - apply_tactic (EqualityTactics.replace_tac ~what ~with_what) - -let reflexivity () = apply_tactic EqualityTactics.reflexivity_tac -let symmetry () = apply_tactic EqualityTactics.symmetry_tac -let transitivity term = apply_tactic (EqualityTactics.transitivity_tac ~term) - -let exists () = apply_tactic IntroductionTactics.exists_tac -let split () = apply_tactic IntroductionTactics.split_tac -let left () = apply_tactic IntroductionTactics.left_tac -let right () = apply_tactic IntroductionTactics.right_tac - -let assumption () = apply_tactic VariousTactics.assumption_tac - -let generalize ?mk_fresh_name_callback terms = - apply_tactic (VariousTactics.generalize_tac ?mk_fresh_name_callback terms) - -let absurd term = apply_tactic (NegationTactics.absurd_tac ~term) -let contradiction () = apply_tactic NegationTactics.contradiction_tac - -let decompose ~uris_choice_callback term = - apply_tactic (EliminationTactics.decompose_tac ~uris_choice_callback term) - -let injection term = apply_tactic (DiscriminationTactics.injection_tac ~term) -let discriminate term = apply_tactic (DiscriminationTactics.discriminate_tac ~term) -let decide_equality () = apply_tactic DiscriminationTactics.decide_equality_tac -let compare term = apply_tactic (DiscriminationTactics.compare_tac ~term) - -(* -let prova_tatticali () = apply_tactic Tacticals.prova_tac -*) - diff --git a/helm/gTopLevel/proofEngine.mli b/helm/gTopLevel/proofEngine.mli deleted file mode 100644 index a38a02947..000000000 --- a/helm/gTopLevel/proofEngine.mli +++ /dev/null @@ -1,103 +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/. - *) - - (* proof engine status *) -val get_proof : unit -> ProofEngineTypes.proof option -val set_proof : ProofEngineTypes.proof option -> unit -val goal : ProofEngineTypes.goal option ref - - (** return a pair of "xml" (as defined in Xml module) representing the current - proof type and body, respectively *) -val get_current_status_as_xml : unit -> Xml.token Stream.t * Xml.token Stream.t - - (* start a new goal undoing part of the proof *) -val perforate : Cic.context -> Cic.term -> Cic.term -> unit - - (* reduction tactics *) -val whd : Cic.term list -> unit -val reduce : Cic.term list -> unit -val simpl : Cic.term list -> unit -val fold_whd : Cic.term -> unit -val fold_reduce : Cic.term -> unit -val fold_simpl : Cic.term -> unit - - (* scratch area reduction tactics *) -val whd_in_scratch : Cic.term list -> Cic.term -> Cic.term -val reduce_in_scratch : Cic.term list -> Cic.term -> Cic.term -val simpl_in_scratch : Cic.term list -> Cic.term -> Cic.term - - (* "primitive" tactics *) -val apply : Cic.term -> unit -val intros : - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> unit -> unit -val cut : - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> Cic.term -> unit -val letin : - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> Cic.term -> unit -val exact : Cic.term -> unit -val elim_intros_simpl : Cic.term -> unit -val change : goal_input:Cic.term -> input:Cic.term -> unit - - (* structural tactics *) -val clearbody : Cic.hypothesis -> unit -val clear : Cic.hypothesis -> unit - - (* other tactics *) -val elim_type : Cic.term -> unit -val ring : unit -> unit -val fourier : unit -> unit -val rewrite_simpl : Cic.term -> unit -val rewrite_back_simpl : Cic.term -> unit -val replace : goal_input:Cic.term -> input:Cic.term -> unit -val auto : dbd:Mysql.dbd -> unit -> unit - -val reflexivity : unit -> unit -val symmetry : unit -> unit -val transitivity : Cic.term -> unit - -val exists : unit -> unit -val split : unit -> unit -val left : unit -> unit -val right : unit -> unit - -val assumption : unit -> unit - -val generalize : - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> - Cic.term list -> unit - -val absurd : Cic.term -> unit -val contradiction : unit -> unit - -val decompose : - uris_choice_callback: - ((UriManager.uri * int * (UriManager.uri * Cic.term) list) list -> - (UriManager.uri * int * (UriManager.uri * Cic.term) list) list) -> - Cic.term -> unit - -val injection : Cic.term -> unit -val discriminate : Cic.term -> unit -val decide_equality : unit -> unit -val compare : Cic.term -> unit diff --git a/helm/gTopLevel/regtest.ml b/helm/gTopLevel/regtest.ml deleted file mode 100644 index bee1c2816..000000000 --- a/helm/gTopLevel/regtest.ml +++ /dev/null @@ -1,385 +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 argc = Array.length Sys.argv - -let rawsep = "###" -let sep = Pcre.regexp (sprintf "^%s" rawsep) -let sep2 = Pcre.regexp (sprintf "^%s%s" rawsep rawsep) -let print s = print_string s; flush stdout -let print_endline s = print_endline s -let print_endline_to_channel ch s = output_string ch (s ^ "\n") - -type state = Term | EEnv | EMetasenv | ETerm | EType | EReduced - -(* regtest file format - * < cic term in concrete syntax > - * separatorseparator INTERPRETATION NUMBER separatorseparator - * separator (* see sep above *) - * < expected disambiguating environment (EnvironmentP3.to_string) > - * separator (* see sep above *) - * < expected metasenv after disambiguation (CicMetaSubst.ppmetasenv) > - * separator (* see sep above *) - * < expected cic term after disambiguation (CicPp.ppterm) > - * separator (* see sep above *) - * < expected cic type as per type_of (CicPp.ppterm) > - * separator (* see sep above *) - * < expected reduced cic term as (CicPp.ppterm) > - * ... (* repeat from ... INTERPRETATION NUMBER ... *) - *) - -type regtest = { - term: string; (* raw cic term *) - eenv : string; (* disambiguating parsing environment *) - emetasenv : string; (* expected metasenv *) - eterm: string; (* expected term *) - etype: string; (* expected type *) - ereduced: string; (* expected reduced term *) -} - -let print_test tests fname = - let oc = open_out fname in - output_string oc (List.hd tests).term; - let i = ref 0 in - List.iter - (function test -> - incr i ; - output_string oc - (String.concat "" - [ sprintf "%s%s INTERPRETATION NUMBER %d %s%s\n" rawsep rawsep !i rawsep rawsep ; - sprintf "%s (* disambiguation environment *)\n" rawsep; - test.eenv; - sprintf "%s (* METASENV after disambiguation *)\n" rawsep; - test.emetasenv; - sprintf "%s (* TERM after disambiguation *)\n" rawsep; - test.eterm; - sprintf "%s (* TYPE_OF the disambiguated term *)\n" rawsep; - test.etype; - sprintf "%s (* REDUCED disambiguated term *)\n" rawsep; - test.ereduced ]) - ) tests; - close_out oc - -let parse_regtest = - let term = Buffer.create 1024 in (* raw term *) - let eenv = Buffer.create 1024 in (* disambiguating parser environment *) - let emetasenv = Buffer.create 1024 in (* expected metasenv *) - let eterm = Buffer.create 1024 in (* raw expected term *) - let etype = Buffer.create 1024 in (* raw expected type *) - let ereduced = Buffer.create 1024 in (* raw expected reducted term *) - let state = ref Term in - let bump_state () = - match !state with - | Term -> state := EEnv - | EEnv -> state := EMetasenv - | EMetasenv -> state := ETerm - | ETerm -> state := EType - | EType -> state := EReduced - | EReduced -> assert false - in - let buffer_of_state = function - | Term -> term | EEnv -> eenv | EMetasenv -> emetasenv | ETerm -> eterm | EType -> etype - | EReduced -> ereduced - in - let clear_buffers () = - List.iter Buffer.clear [ eenv; emetasenv; eterm; etype; ereduced ] - in - fun fname -> - state := Term; - let first = ref true in - let res = ref [] in - let push_res () = - res := - {term = Buffer.contents term; - eenv = Buffer.contents eenv; - emetasenv = Buffer.contents emetasenv; - eterm = Buffer.contents eterm; - etype = Buffer.contents etype; - ereduced = Buffer.contents ereduced } :: !res ; - in - Buffer.clear term; - let ic = open_in fname in - (try - while true do - let line = input_line ic in - match line with - | l when Pcre.pmatch ~rex:sep2 l -> - if !first then first := false else push_res () ; - clear_buffers (); - state := Term - | l when Pcre.pmatch ~rex:sep l -> bump_state () - | l -> Buffer.add_string (buffer_of_state !state) (line ^ "\n") - done - with End_of_file -> ()); - push_res () ; - List.rev !res - -let as_expected_one och expected found = (* ignores "term" field *) - let eterm_ok = expected.eterm = found.eterm in - let eenv_ok = expected.eenv = found.eenv in - let emetasenv_ok = expected.emetasenv = found.emetasenv in - let etype_ok = expected.etype = found.etype in - let ereduced_ok = expected.ereduced = found.ereduced in - let outcome = - eterm_ok && eenv_ok && emetasenv_ok && etype_ok && ereduced_ok - in - begin - let print_endline s = print_endline_to_channel (Lazy.force och) s in - if not eterm_ok then begin - print_endline "### Term mismatch ###"; - print_endline "# expected:"; - print_endline (" " ^ expected.eterm); - print_endline "# found:"; - print_endline (" " ^ found.eterm); - end; - if not eenv_ok then begin - print_endline "### Disambiguation environment mismatch ###"; - print_endline "# expected:"; - print_endline (" " ^ expected.eenv); - print_endline "# found:"; - print_endline (" " ^ found.eenv); - end; - if not emetasenv_ok then begin - print_endline "### Metasenv mismatch ###"; - print_endline "# expected:"; - print_endline (" " ^ expected.emetasenv); - print_endline "# found:"; - print_endline (" " ^ found.emetasenv); - end; - if not etype_ok then begin - print_endline "### Type mismatch ###"; - print_endline "# expected:"; - print_endline (" " ^ expected.etype); - print_endline "# found:"; - print_endline (" " ^ found.etype); - end; - if expected.ereduced <> found.ereduced then begin - print_endline "### Reduced term mismatch ###"; - print_endline "# expected:"; - print_endline (" " ^ expected.ereduced); - print_endline "# found:"; - print_endline (" " ^ found.ereduced); - end; - end; - outcome - -let as_expected report_fname expected found = - (if Sys.file_exists report_fname then Sys.remove report_fname) ; - let och = lazy (open_out report_fname) in - let print_endline s = print_endline_to_channel (Lazy.force och) s in - let print_interpretation test = - print_endline "## Interpretation dump ##"; - print_endline "# Disambiguation environment:"; - print_endline test.eenv; - print_endline "# Metasenv:"; - print_endline test.emetasenv; - print_endline "# Term:"; - print_endline test.eterm; - print_endline "# Type:"; - print_endline test.etype; - print_endline "# Reduced term:"; - print_endline test.ereduced; - in - let rec aux = - function - [],[] -> true - | ex::extl, fo::fotl -> - let outcome1 = as_expected_one och ex fo in - let outcome2 = aux (extl,fotl) in - outcome1 && outcome2 - | [],found -> - print_endline "### Too many interpretations found:" ; - List.iter print_interpretation found; - false - | expected,[] -> - print_endline "### Too few interpretations found:" ; - List.iter print_interpretation expected; - false - in - let outcome = aux (expected,found) in - (if Lazy.lazy_is_val och then close_out (Lazy.force och)) ; - outcome - -let test_this mqi_handle uri_pred raw_term = - let empty_context = [] in - List.map - (function (env, metasenv, cic_term,ugraph ) -> - let etype = - try - let ty, _ = - (CicTypeChecker.type_of_aux' metasenv empty_context cic_term ugraph) - in - CicPp.ppterm ty - with _ -> "MALFORMED" - in - let ereduced = - try - CicPp.ppterm (CicReduction.whd empty_context cic_term) - with _ -> "MALFORMED" - in - { term = raw_term; (* useless *) - eenv = DisambiguatingParser.EnvironmentP3.to_string env ^ "\n"; - emetasenv = CicMetaSubst.ppmetasenv metasenv [] ^ "\n"; - eterm = CicPp.ppterm cic_term ^ "\n"; - etype = etype ^ "\n"; - ereduced = ereduced ^ "\n"; - } - ) (BatchParser.parse mqi_handle ~uri_pred raw_term CicUniv.empty_ugraph) - -let dump_environment filename = - try - let oc = open_out filename in - CicEnvironment.dump_to_channel oc; - close_out oc - with exc -> - prerr_endline - ("DUMP_ENVIRONMENT FAILURE, uncaught excecption " ^ - Printexc.to_string exc) ; - raise exc - -let restore_environment filename = - if Sys.file_exists filename then - begin - try - let ic = open_in filename in - CicEnvironment.restore_from_channel ic; - close_in ic - with exc -> - prerr_endline - ("RESTORE_ENVIRONMENT FAILURE, uncaught excecption " ^ - Printexc.to_string exc) ; - raise exc - end - else - CicEnvironment.empty () - -let main mqi_handle generate dump fnames tryvars prefix varsprefix = - let uri_pred = BatchParser.uri_pred_of_conf tryvars ~prefix ~varsprefix in - if generate then - begin - (* gen mode *) - print_endline "[ Gen mode ]"; - List.iter - (function fname -> - let test_fname = fname ^ ".test" in - let env_fname = fname ^ ".env" in - print_endline (sprintf "Generating regtest %s -> %s\n ..." - fname test_fname); - let raw_term = (List.hd (parse_regtest fname)).term in - let results = test_this mqi_handle uri_pred raw_term in - print_test results test_fname ; - if dump then dump_environment env_fname ; - ) fnames - end else - begin - (* regtest mode *) - print_endline "[ Regtest mode ]"; - let (ok, nok) = (ref 0, ref []) in - List.iter - (function fname -> - let env_fname = fname ^ ".env" in - let test_fname = fname ^ ".test" in - let report_fname = fname ^ ".report" in - restore_environment env_fname ; - let time = Unix.gettimeofday () in - print ("Processing " ^ fname ^":\t") ; - let is_ok = - try - let expected = parse_regtest test_fname in - let actual = test_this mqi_handle uri_pred (List.hd expected).term in - if dump then dump_environment env_fname ; - if as_expected report_fname expected actual then - (incr ok ; true) - else - (nok := fname :: !nok ; false) - with e -> (nok := fname :: !nok ; false) - in - let timediff = Unix.gettimeofday () -. time in - print (sprintf "done in %f seconds\t" timediff) ; - print_endline - (if is_ok then - "[ OK ]" - else - "[ FAILED ]") - ) fnames ; - print_endline "*** Summary ***"; - print_endline (sprintf "Succeeded: %d" !ok); - print_endline (sprintf "Failed: %d" (List.length !nok)); - List.iter (fun fname -> print_endline (sprintf " %s failed :-(" fname)) - (List.rev !nok) - end - -let _ = - - Helm_registry.load_from "gTopLevel.conf.xml"; - HelmLogger.register_log_callback - (fun ?(append_NL = true) msg -> - (if append_NL then prerr_endline else prerr_string) - (HelmLogger.string_of_html_msg msg)); - Helm_registry.load_from "gTopLevel.conf.xml"; - let dbd = - Mysql.quick_connect - ~host:(Helm_registry.get "db.host") - ~user:(Helm_registry.get "db.user") - ~database:(Helm_registry.get "db.database") - () - in - let fnames = ref [] in - let gen = ref false in - let tryvars = ref false in - let dump = ref false in - let nodump = ref false in - let prefix = ref "" in - let varsprefix = ref "###" in - let usage = "regtest [OPTION] ... test1 ..." in - let spec = - ["-gen", Arg.Set gen, - "generate the tests; implies -dump (unless -nodump is specified)" ; - "--gen", Arg.Set gen, - "generate the tests; implies -dump (unless -nodump is specified)" ; - "-dump", Arg.Set dump, "dump the final environment" ; - "--dump", Arg.Set dump, "dump the final environment" ; - "-nodump", Arg.Set nodump, "do not dump the final environment" ; - "--nodump", Arg.Set nodump, "do not dump the final environment" ; - "-vars", Arg.Set tryvars, "try also variables" ; - "-novars", Arg.Clear tryvars, "do not try variables (default)" ; - "-prefix", Arg.Set_string prefix, - "limit object choices to URIs beginning with prefix" ; - "--prefix", Arg.Set_string prefix, - "limit object choices to URIs beginning with prefix" ; - "-varsprefix", Arg.Set_string varsprefix, - "limit variable choices to URIs beginning with prefix; overrides -prefix" ; - "--varsprefix", Arg.Set_string varsprefix, - "limit variable choices to URIs beginning with prefix; overrides -prefix" - ] - in - Arg.parse spec (fun filename -> fnames := filename::!fnames ) usage ; - if !fnames = [] then - Arg.usage spec (Sys.argv.(0) ^ ": missing argument test. You must provide at least one test file.\n" ^ usage) ; - if !varsprefix = "###" then varsprefix := !prefix ; - main dbd !gen ((!gen || !dump) && (not !nodump)) !fnames !tryvars !prefix !varsprefix; - Mysql.disconnect dbd diff --git a/helm/gTopLevel/rootcontent.xsl b/helm/gTopLevel/rootcontent.xsl deleted file mode 100644 index 96c92aeea..000000000 --- a/helm/gTopLevel/rootcontent.xsl +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/gTopLevel/script.sh.sample b/helm/gTopLevel/script.sh.sample deleted file mode 100755 index a95140604..000000000 --- a/helm/gTopLevel/script.sh.sample +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -#/projects/helm/galax/sources/natile-galax-0.1-alpha-installed/lib: -export OCAMLPATH=/home/sacerdot/miohelm/helm/ocaml/METAS diff --git a/helm/gTopLevel/termEditor.ml b/helm/gTopLevel/termEditor.ml deleted file mode 100644 index 1b9986caa..000000000 --- a/helm/gTopLevel/termEditor.ml +++ /dev/null @@ -1,121 +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/. - *) - -(*****************************************************************************) -(* *) -(* PROJECT HELM *) -(* *) -(* Claudio Sacerdoti Coen *) -(* 06/01/2002 *) -(* *) -(* *) -(*****************************************************************************) - -open Printf - -(* A WIDGET TO ENTER CIC TERMS *) - -class type term_editor = - object - method coerce : GObj.widget - (* get_as_string returns the unquoted string *) - method get_as_string : string - method get_metasenv_and_term : - context:Cic.context -> - metasenv:Cic.metasenv -> - Cic.metasenv * Cic.term * CicUniv.universe_graph - method reset : unit - (* The input of set_term is unquoted *) - method set_term : string -> unit - method environment : DisambiguatingParser.EnvironmentP3.t ref - end - -module Make(C:DisambiguateTypes.Callbacks) = - struct - - module Disambiguate' = DisambiguatingParser.Make(C);; - - class term_editor_impl ~(dbd:Mysql.dbd) ?packing ?width ?height - ?isnotempty_callback ?share_environment_with () : term_editor - = - let environment = - match share_environment_with with - None -> ref (*DisambiguateTypes.empty_environment*) - (DisambiguatingParser.EnvironmentP3.of_string - DisambiguatingParser.EnvironmentP3.empty) - | Some obj -> obj#environment - in - let input = GText.view ~editable:true ?width ?height ?packing () in - let _ = - match isnotempty_callback with - None -> () - | Some callback -> - ignore(input#buffer#connect#changed - (function () -> callback (input#buffer#char_count > 0))) - in - object(self) - - method coerce = input#coerce - - method reset = - input#buffer#delete input#buffer#start_iter input#buffer#end_iter - (* CSC: txt is now a string, but should be of type Cic.term *) - - method set_term txt = - self#reset ; - ignore (input#buffer#insert txt) - - (* CSC: this method should disappear *) - (* get_as_string returns the unquoted string *) - method get_as_string = input#buffer#get_text () - - method get_metasenv_and_term ~context ~metasenv = - let name_context = - List.map - (function - Some (n,_) -> Some n - | None -> None - ) context - in - let environment',metasenv,expr,ugraph = - match - Disambiguate'.disambiguate_term ~dbd ~context ~metasenv - (input#buffer#get_text ()) ~initial_ugraph:CicUniv.empty_ugraph - ~aliases:!environment - with - [environment',metasenv,expr,u] -> environment',metasenv,expr,u - | _ -> assert false - in - environment := environment'; - (metasenv, expr,ugraph) - (* TASSI: FIXME ?are we sure we have to keep this? *) - - method environment = environment - end - - let term_editor = new term_editor_impl - -end - diff --git a/helm/gTopLevel/termEditor.mli b/helm/gTopLevel/termEditor.mli deleted file mode 100644 index 2817f812a..000000000 --- a/helm/gTopLevel/termEditor.mli +++ /dev/null @@ -1,50 +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/. - *) - -class type term_editor = - object - method coerce : GObj.widget - (* get_as_string returns the unquoted string *) - method get_as_string : string - method get_metasenv_and_term : - context:Cic.context -> - metasenv:Cic.metasenv -> - Cic.metasenv * Cic.term * CicUniv.universe_graph - method reset : unit - method set_term : string -> unit - method environment : DisambiguatingParser.EnvironmentP3.t ref - end - -module Make (C : DisambiguateTypes.Callbacks) : - sig - val term_editor : - dbd:Mysql.dbd -> - ?packing:(GObj.widget -> unit) -> - ?width:int -> - ?height:int -> - ?isnotempty_callback:(bool -> unit) -> - ?share_environment_with:term_editor -> - unit -> term_editor - end diff --git a/helm/gTopLevel/termViewer.ml b/helm/gTopLevel/termViewer.ml deleted file mode 100644 index 0f2019ad5..000000000 --- a/helm/gTopLevel/termViewer.ml +++ /dev/null @@ -1,304 +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/. - *) - -(***************************************************************************) -(* *) -(* PROJECT HELM *) -(* *) -(* 29/01/2003 Claudio Sacerdoti Coen *) -(* *) -(* *) -(***************************************************************************) - -let debug = false -let debug_print s = if debug then prerr_endline s - -type mml_of_cic_sequent = - Cic.metasenv -> - int * Cic.context * Cic.term -> - Gdome.document * - (Cic.annconjecture * - ((Cic.id, Cic.term) Hashtbl.t * - (Cic.id, Cic.id option) Hashtbl.t * - (string, Cic.hypothesis) Hashtbl.t * - (Cic.id, string) Hashtbl.t)) - - -type mml_of_cic_object = - Cic.obj -> - Gdome.document * - (Cic.annobj * - ((Cic.id, Cic.term) Hashtbl.t * - (Cic.id, Cic.id option) Hashtbl.t * - (Cic.id, Cic.conjecture) Hashtbl.t * - (Cic.id, Cic.hypothesis) Hashtbl.t * - (Cic.id, string) Hashtbl.t * - (Cic.id, Cic2acic.anntypes) Hashtbl.t)) - -(* 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 -;; -(* End of the list utility functions *) - -(** A widget to render sequents **) - -class sequent_viewer ~(mml_of_cic_sequent:mml_of_cic_sequent) obj = - object(self) - - inherit GMathViewAux.multi_selection_math_view obj - - val mutable current_infos = None - - (* returns the list of selected terms *) - (* selections which are not terms are ignored *) - method get_selected_terms = - debug_print (string_of_int (List.length self#get_selections)) ; - let selections = self#get_selections in - list_map_fail - (function node -> - let xpath = - ((node : Gdome.element)#getAttributeNS - ~namespaceURI:Misc.helm_ns - ~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 - - (* returns the list of selected hypotheses *) - (* selections which are not hypotheses are ignored *) - method get_selected_hypotheses = - let selections = self#get_selections in - list_map_fail - (function node -> - let xpath = - ((node : Gdome.element)#getAttributeNS - ~namespaceURI:Misc.helm_ns - ~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 sequent = -(**** SIAM QUI ****) - let sequent_mml,(_,(ids_to_terms,ids_to_father_ids,ids_to_hypotheses,ids_to_inner_sorts)) = - mml_of_cic_sequent metasenv sequent - in - self#load_root ~root:sequent_mml#get_documentElement ; -ignore (Misc.domImpl#saveDocumentToFile ~name:"/tmp/pippo" ~doc:sequent_mml ()); - current_infos <- - Some (ids_to_terms,ids_to_father_ids,ids_to_hypotheses) - end -;; - -let sequent_viewer ~(mml_of_cic_sequent: mml_of_cic_sequent) - ?hadjustment ?vadjustment ?font_size ?log_verbosity -= - GtkBase.Widget.size_params ~cont:( - OgtkMathViewProps.pack_return - (fun p -> - OgtkMathViewProps.set_params - (new sequent_viewer ~mml_of_cic_sequent - (GtkMathViewProps.MathView_GMetaDOM.create p)) - ~font_size ~log_verbosity)) [] -;; - -(* -let sequent_viewer ?adjustmenth ?adjustmentv ?font_size ?font_manager - ?border_width ?width ?height ?packing ?show () = - let w = - GtkMathView.MathView.create - ?adjustmenth:(Gaux.may_map ~f:GData.as_adjustment adjustmenth) - ?adjustmentv:(Gaux.may_map ~f:GData.as_adjustment adjustmentv) - () - in - GtkBase.Container.set w ?border_width ?width ?height; - let mathview = GObj.pack_return (new sequent_viewer w) ~packing ~show in - begin - match font_size with - | Some size -> mathview#set_font_size size - | None -> () - end; - begin - match font_manager with - | Some manager -> mathview#set_font_manager_type ~fm_type:manager - | None -> () - end; - mathview -;; -*) - -(** A widget to render proofs **) - -class proof_viewer ~(mml_of_cic_object:mml_of_cic_object) obj = - object(self) - - inherit GMathViewAux.single_selection_math_view obj - -(* initializer self#set_font_size 10 *) - - val mutable current_infos = None - val mutable current_mml = None - - method make_sequent_of_selected_term = - match self#get_selection with - Some node -> - let xpath = - ((node : Gdome.element)#getAttributeNS - ~namespaceURI:Misc.helm_ns - ~localName:(Gdome.domString "xref"))#to_string - in - if xpath = "" then assert false (* "ERROR: No xref found!!!" *) - else - begin - match current_infos with - Some (ids_to_terms, ids_to_father_ids, _, _) -> - let id = xpath in - LogicalOperations.to_sequent id ids_to_terms ids_to_father_ids - | None -> assert false (* "ERROR: No current term!!!" *) - end - | None -> assert false (* "ERROR: No selection!!!" *) - - method focus_sequent_of_selected_term = - match self#get_selection with - Some node -> - let xpath = - ((node : Gdome.element)#getAttributeNS - ~namespaceURI:Misc.helm_ns - ~localName:(Gdome.domString "xref"))#to_string - in - if xpath = "" then assert false (* "ERROR: No xref found!!!" *) - else - begin - match current_infos with - Some (ids_to_terms, ids_to_father_ids, _, _) -> - let id = xpath in - LogicalOperations.focus id ids_to_terms ids_to_father_ids - | None -> assert false (* "ERROR: No current term!!!" *) - end - | None -> assert false (* "ERROR: No selection!!!" *) - - method load_proof currentproof = - let mml, - (acic, - (ids_to_terms,ids_to_father_ids,ids_to_conjectures, - ids_to_hypotheses,ids_to_inner_sorts,ids_to_inner_types)) = - mml_of_cic_object currentproof - in - current_infos <- - Some - (ids_to_terms,ids_to_father_ids,ids_to_conjectures,ids_to_hypotheses); - (* self#load_doc ~dom:mml ; - current_mml <- Some mml ; *) - ignore(Misc.domImpl#saveDocumentToFile ~name:"/tmp/prova" ~doc:mml ()); - (match current_mml with - None -> - let time1 = Sys.time () in - self#load_root ~root:mml#get_documentElement ; - let time2 = Sys.time () in - debug_print ("Loading and displaying the proof took " ^ - string_of_float (time2 -. time1) ^ "seconds") ; - current_mml <- Some mml - | Some current_mml' -> - self#freeze ; - let time1 = Sys.time () in - XmlDiff.update_dom ~from:current_mml' mml ; - let time2 = Sys.time () in - debug_print ("XMLDIFF took " ^ - string_of_float (time2 -. time1) ^ "seconds") ; - self#thaw ; - let time3 = Sys.time () in - debug_print ("The refresh of the widget took " ^ - string_of_float (time3 -. time2) ^ "seconds")); - (acic, ids_to_inner_types, ids_to_inner_sorts) - end -;; - - -let proof_viewer ~(mml_of_cic_object: mml_of_cic_object) - ?hadjustment ?vadjustment ?font_size ?log_verbosity -= - GtkBase.Widget.size_params ~cont:( - OgtkMathViewProps.pack_return - (fun p -> - OgtkMathViewProps.set_params - (new proof_viewer ~mml_of_cic_object - (GtkMathViewProps.MathView_GMetaDOM.create p)) - ~font_size ~log_verbosity)) [] -;; - -(* -let proof_viewer ?adjustmenth ?adjustmentv ?font_size ?font_manager - ?border_width ?width ?height ?packing ?show () = - let w = - GtkMathView.MathView.create - ?adjustmenth:(Gaux.may_map ~f:GData.as_adjustment adjustmenth) - ?adjustmentv:(Gaux.may_map ~f:GData.as_adjustment adjustmentv) - () - in - GtkBase.Container.set w ?border_width ?width ?height; - let mathview = GObj.pack_return (new proof_viewer w) ~packing ~show in - begin - match font_size with - | Some size -> mathview#set_font_size size - | None -> () - end; - begin - match font_manager with - | Some manager -> mathview#set_font_manager_type ~fm_type:manager - | None -> () - end; - mathview -;; -*) - diff --git a/helm/gTopLevel/termViewer.mli b/helm/gTopLevel/termViewer.mli deleted file mode 100644 index f391363eb..000000000 --- a/helm/gTopLevel/termViewer.mli +++ /dev/null @@ -1,125 +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/. - *) - -(******************************************************************************) -(* *) -(* PROJECT HELM *) -(* *) -(* Claudio Sacerdoti Coen *) -(* 29/01/2003 *) -(* *) -(* *) -(******************************************************************************) - -type mml_of_cic_sequent = - Cic.metasenv -> - int * Cic.context * Cic.term -> - Gdome.document * - (Cic.annconjecture * - ((Cic.id, Cic.term) Hashtbl.t * - (Cic.id, Cic.id option) Hashtbl.t * - (string, Cic.hypothesis) Hashtbl.t * - (Cic.id, string) Hashtbl.t)) - - -type mml_of_cic_object = - Cic.obj -> - Gdome.document * - (Cic.annobj * - ((Cic.id, Cic.term) Hashtbl.t * - (Cic.id, Cic.id option) Hashtbl.t * - (Cic.id, Cic.conjecture) Hashtbl.t * - (Cic.id, Cic.hypothesis) Hashtbl.t * - (Cic.id, string) Hashtbl.t * - (Cic.id, Cic2acic.anntypes) Hashtbl.t)) - -(** A widget to render sequents **) - -class sequent_viewer : - mml_of_cic_sequent:mml_of_cic_sequent -> - Gtk_mathview.math_view Gtk.obj -> - object - inherit GMathViewAux.multi_selection_math_view - - (* returns the list of selected terms *) - (* selections which are not terms are ignored *) - method get_selected_terms : Cic.term list - - (* returns the list of selected hypotheses *) - (* selections which are not hypotheses are ignored *) - method get_selected_hypotheses : Cic.hypothesis list - - method load_sequent : Cic.metasenv -> Cic.conjecture -> unit - end - -val sequent_viewer : - mml_of_cic_sequent:mml_of_cic_sequent -> - ?hadjustment:GData.adjustment -> - ?vadjustment:GData.adjustment -> - ?font_size:int -> - ?log_verbosity:int -> - ?width:int -> - ?height:int -> - ?packing:(GObj.widget -> unit) -> - ?show:bool -> - unit -> sequent_viewer - -(** A widget to render proofs **) - -class proof_viewer : - mml_of_cic_object:mml_of_cic_object -> - Gtk_mathview.math_view Gtk.obj -> - object - inherit GMathViewAux.single_selection_math_view - - (* the new current sequent becomes the one obtained *) - (* perforating the proof where the selection is *) - method make_sequent_of_selected_term : unit - - (* the new current sequent becomes the one obtained *) - (* focusing the proof on the selected metavariable *) - method focus_sequent_of_selected_term : unit - - (* load_proof also returns the annotated cic term and the *) - (* ids_to_inner_types and ids_to_inner_sorts maps. *) - method load_proof : - Cic.obj -> - Cic.annobj * (Cic.id, Cic2acic.anntypes) Hashtbl.t * - (Cic.id, string) Hashtbl.t - - end - -val proof_viewer : - mml_of_cic_object:mml_of_cic_object -> - ?hadjustment:GData.adjustment -> - ?vadjustment:GData.adjustment -> - ?font_size:int -> - ?log_verbosity:int -> - ?width:int -> - ?height:int -> - ?packing:(GObj.widget -> unit) -> - ?show:bool -> - unit -> proof_viewer - diff --git a/helm/gTopLevel/testlibrary.ml b/helm/gTopLevel/testlibrary.ml deleted file mode 100644 index 34f71d412..000000000 --- a/helm/gTopLevel/testlibrary.ml +++ /dev/null @@ -1,226 +0,0 @@ - -open Printf - -let time_out = ref 5;; - -Helm_registry.load_from "gTopLevel.conf.xml";; - -let mqi_debug_fun s = - HelmLogger.log ~append_NL:true (`Msg (`T s)) -let mqi_flags = [] - -let dbd = Mysql.quick_connect - ~host:(Helm_registry.get "db.host") - ~user:(Helm_registry.get "db.user") - ~database:(Helm_registry.get "db.database") - () -(* -let mqi_handle = MQIConn.init ~flags:mqi_flags ~log:mqi_debug_fun () -*) - -let verbose = false - -exception Failure of string -let fail msg = raise (Failure msg) - -let uri_predicate = ref (BatchParser.constants_only ~prefix:"") - -module DisambiguateCallbacks = - struct - let interactive_user_uri_choice - ~selection_mode ?ok ?enable_button_for_non_vars ~title ~msg ~id choices = - List.filter !uri_predicate choices - - let interactive_interpretation_choice = - let rec aux n = - function - [] -> [] - | _::tl -> n::(aux (n+1) tl) - in - aux 0 - - let input_or_locate_uri ~title = fail ("Unknown identifier: " ^ title) - end - -module Disambiguate' = Disambiguate.Make (DisambiguateCallbacks) - -let debug_print s = prerr_endline ("^^^^^^ " ^ s) - -let test_uri typecheck uri = - if typecheck then - try ignore(CicTypeChecker.typecheck uri CicUniv.empty_ugraph);1 - with CicTypeChecker.TypeCheckerFailure s | - CicTypeChecker.AssertFailure s -> 0 - else - let obj,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - let (annobj, _, _, ids_to_inner_sorts, _, _, _) = - Cic2acic.acic_object_of_cic_object ~eta_fix:false obj - in - let ids_to_uris = Hashtbl.create 1023 in - let round_trip annterm = - debug_print "(1) acic -> ast"; - let (ast, _) = - Acic2Ast.ast_of_acic ids_to_inner_sorts (*ids_to_uris*) annterm - in - let new_pp = BoxPp.pp_term ast in - debug_print ("ast:\n" ^ new_pp); - let new_ast = CicTextualParser2.parse_term (Stream.of_string new_pp) in - debug_print ("new_ast:\n" ^ CicAstPp.pp_term ast); - let res = - Disambiguate'.disambiguate_term ~dbd [] [] new_ast - ~aliases:DisambiguateTypes.Environment.empty - ~initial_ugraph:CicUniv.empty_ugraph - in - List.iter - (fun (domain, _, term, _) -> - debug_print - ("domain: " ^ CicTextualParser2.EnvironmentP3.to_string domain) ; - debug_print ("term: " ^ CicPp.ppterm term) - ) res ; - List.length res - in - match annobj with - | Cic.AConstant (_, _, _, None, ty, _) -> - debug_print "Cic.AConstant (ty)"; - round_trip ty - | Cic.AConstant (_, _, _, Some bo, ty, _) -> -(* - debug_print "Cic.AConstant (bo)"; - let n = round_trip bo in -*) - debug_print "Cic.AConstant (ty)"; - round_trip ty (* + n *) - | Cic.AVariable (_, _, None, ty, _) -> - debug_print "Cic.AVariable (ty)"; - round_trip ty - | Cic.AVariable (_, _, Some bo, ty, _) -> -(* - debug_print "Cic.AVariable (bo)"; - let n = round_trip bo in -*) - debug_print "Cic.AVariable (ty)"; - round_trip ty (* + n *) - | Cic.ACurrentProof (_, _, _, _, _, _, _) -> - assert false - | Cic.AInductiveDefinition _ -> - debug_print "AInductiveDefinition: boh ..." ; - assert false - -exception TimeOut;; - -ignore - (Sys.signal Sys.sigalrm - (Sys.Signal_handle - (fun _ -> - (* We do this in case that some "with _" intercepts the first exception *) - ignore (Unix.alarm 1) ; - raise TimeOut))) -;; - - -let test_uri typecheck uri = - try - ignore (Unix.alarm !time_out) ; - if test_uri typecheck uri = 1 then `Ok else `Maybe - with - | TimeOut -> - (* We do this to clear the alarm set by the signal handler *) - ignore (Unix.alarm 0) ; - `TimeOut - (* - | exn -> - prerr_endline (sprintf "Top Level Uncaught Exception: %s" - (Printexc.to_string exn)); - `Nok*) - | exn -> raise exn - -let report (ok,nok,maybe,timeout) = - print_newline (); - print_endline "TestLibrary report"; - print_endline "Succeeded URIs:"; - List.iter (fun s -> print_endline ("\t" ^ s)) (List.rev !ok); - print_endline "Failed URIs:"; - List.iter (fun s -> print_endline ("\t" ^ s)) (List.rev !nok); - print_endline "Multiple answers URIs:"; - List.iter (fun s -> print_endline ("\t" ^ s)) (List.rev !maybe); - print_newline (); - print_endline ("URIs that timeout (" ^ string_of_int !time_out ^ "s):"); - List.iter (fun s -> print_endline ("\t" ^ s)) (List.rev !timeout); - print_newline () - -let do_uri typecheck (ok, nok, maybe, timeout) uri = - let uri_str = UriManager.string_of_uri uri in - printf "Testing URI: %-55s %!" (uri_str ^ " ..."); - (match test_uri typecheck uri with - | `Ok -> - print_endline "[ OK ]"; - ok := uri_str :: !ok - | `Nok -> - print_endline "[ FAILED ]"; - nok := uri_str :: !nok - | `Maybe -> - print_endline "[ MANY ]"; - maybe := uri_str :: !maybe - | `TimeOut -> - print_endline "[TIMEOUT!]"; - timeout := uri_str :: !timeout) - -let do_file typecheck status fname = - try - let ic = open_in fname in - (try - while true do - let line = input_line ic in - try - let uri = UriManager.uri_of_string line in - do_uri typecheck status uri - with UriManager.IllFormedUri _ -> - printf "Error parsing URI '%s', ignoring it" line - done - with End_of_file -> - close_in ic) - with exn -> - printf "Error trying to access '%s' (%s), skipping the file\n%!" - fname (Printexc.to_string exn) - -let _ = - HelmLogger.register_log_callback - (fun ?(append_NL = true) msg -> - (if append_NL then prerr_endline else prerr_string) - (HelmLogger.string_of_html_msg msg)); - let names = ref [] in - let tryvars = ref false in - let typecheck = ref false in - let prefix = ref "" in - let varsprefix = ref "####" in - let usage = "testlibrary [OPTION] ... (uri1 | file1) (uri2 | file2) ..." in - let spec = - [ "-vars", Arg.Set tryvars, "try also variables" ; - "-novars", Arg.Clear tryvars, "do not try variables (default)" ; - "-prefix", Arg.Set_string prefix, - "limit object choices to URIs beginning with prefix" ; - "-varsprefix", Arg.Set_string varsprefix, - "limit variable choices to URIs beginning with prefix; overrides -prefix" ; - "-timeout", Arg.Set_int time_out, - "number of seconds before a timeout; 0 means no timeout"; - "-typecheck", Arg.Set typecheck, "simply typechek the uri" - ] - in - Arg.parse spec (fun name -> names := name :: !names) usage; - let names = List.rev !names in - if !varsprefix = "####" then varsprefix := !prefix ; - uri_predicate := - BatchParser.uri_pred_of_conf !tryvars ~prefix:!prefix ~varsprefix:!varsprefix; - let status = (ref [], ref [], ref [], ref []) in (* URIs *) - List.iter - (fun name -> - try - let uri = UriManager.uri_of_string name in - do_uri !typecheck status uri - with UriManager.IllFormedUri _ -> - if Sys.file_exists name then - do_file !typecheck status name - else - printf "Don't know what to do with '%s', ignoring it\n%!" name) - names ; - report status diff --git a/helm/gTopLevel/tests/.cvsignore b/helm/gTopLevel/tests/.cvsignore deleted file mode 100644 index 8fa95a300..000000000 --- a/helm/gTopLevel/tests/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.env *.report diff --git a/helm/gTopLevel/tests/apply00.cic b/helm/gTopLevel/tests/apply00.cic deleted file mode 100644 index f320002f7..000000000 --- a/helm/gTopLevel/tests/apply00.cic +++ /dev/null @@ -1 +0,0 @@ -\forall x,y,f. x=y \to (f x) = (f y) diff --git a/helm/gTopLevel/tests/fix00.cic b/helm/gTopLevel/tests/fix00.cic deleted file mode 100644 index f7b196c87..000000000 --- a/helm/gTopLevel/tests/fix00.cic +++ /dev/null @@ -1,8 +0,0 @@ -let rec fact = - \lambda x:nat. - [\lambda x:nat. nat] - match x:nat with - [ O \Rightarrow 1 - | (S (x: nat)) \Rightarrow (mult (S x) (fact x)) ] -in -(fact 4) diff --git a/helm/gTopLevel/tests/fix00.cic.test b/helm/gTopLevel/tests/fix00.cic.test deleted file mode 100644 index c3a4cfcd2..000000000 --- a/helm/gTopLevel/tests/fix00.cic.test +++ /dev/null @@ -1,222 +0,0 @@ -let rec fact = - \lambda x:nat. - [\lambda x:nat. nat] - match x:nat with - [ O \Rightarrow 1 - | (S (x: nat)) \Rightarrow (mult (S x) (fact x)) ] -in -(fact 4) -###### INTERPRETATION NUMBER 1 ###### -### (* disambiguation environment *) -alias id S = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/2) -alias id mult = cic:/Coq/Init/Peano/mult.con -alias id nat = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1) -alias num (instance 0) = "natural number" -### (* METASENV after disambiguation *) - -### (* TERM after disambiguation *) -[fact:= -Fix fact { -fact / 0 : (nat->nat) := -[x:nat] -<[x:nat]nat>Cases x of - O => (S O) - S => [x:nat](mult (S x) (fact x)) -end} -](fact (S (S (S (S O))))) -### (* TYPE_OF the disambiguated term *) -nat -### (* REDUCED disambiguated term *) -(S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - (S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - O (S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - (S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - O O)) (S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - (S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - O O)) O)))))) (S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - (S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - O (S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - (S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - O O)) (S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - (S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - O O)) O)))))) (S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - (S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - O (S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - (S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - O O)) (S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - (S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - O O)) O)))))) (S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - (S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - O (S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - (S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - O O)) (S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - (S ( -Fix plus { -plus / 0 : (nat->(nat->nat)) := -[n:nat][m:nat] -<[n0:nat]nat>Cases n of - O => m - S => [p:nat](S (plus p m)) -end} - O O)) O)))))) O)))))))) diff --git a/helm/gTopLevel/tests/forall00.cic b/helm/gTopLevel/tests/forall00.cic deleted file mode 100644 index e53571c50..000000000 --- a/helm/gTopLevel/tests/forall00.cic +++ /dev/null @@ -1 +0,0 @@ -\forall n:nat. \forall m. n + m = n diff --git a/helm/gTopLevel/tests/forall00.cic.test b/helm/gTopLevel/tests/forall00.cic.test deleted file mode 100644 index fccef764e..000000000 --- a/helm/gTopLevel/tests/forall00.cic.test +++ /dev/null @@ -1,14 +0,0 @@ -\forall n:nat. \forall m. n + m = n -###### INTERPRETATION NUMBER 1 ###### -### (* disambiguation environment *) -alias id nat = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1) -alias symbol "eq" (instance 0) = "leibnitz's equality" -alias symbol "plus" (instance 0) = "natural plus" -### (* METASENV after disambiguation *) - -### (* TERM after disambiguation *) -(n:nat)(m:nat)(eq nat (plus n m) n) -### (* TYPE_OF the disambiguated term *) -Prop -### (* REDUCED disambiguated term *) -(n:nat)(m:nat)(eq nat (plus n m) n) diff --git a/helm/gTopLevel/tests/lambda01.cic b/helm/gTopLevel/tests/lambda01.cic deleted file mode 100644 index 29f7a95dd..000000000 --- a/helm/gTopLevel/tests/lambda01.cic +++ /dev/null @@ -1,2 +0,0 @@ -(\lambda f. (f 0 (le_n 0)) - \lambda n. \lambda H. (refl_equal nat 0)) diff --git a/helm/gTopLevel/tests/lambda01.cic.test b/helm/gTopLevel/tests/lambda01.cic.test deleted file mode 100644 index 6140de0b1..000000000 --- a/helm/gTopLevel/tests/lambda01.cic.test +++ /dev/null @@ -1,16 +0,0 @@ -(\lambda f. (f 0 (le_n 0)) - \lambda n. \lambda H. (refl_equal nat 0)) -###### INTERPRETATION NUMBER 1 ###### -### (* disambiguation environment *) -alias id le_n = cic:/Coq/Init/Peano/le.ind#xpointer(1/1/1) -alias id nat = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1) -alias id refl_equal = cic:/Coq/Init/Logic/eq.ind#xpointer(1/1/1) -alias num (instance 0) = "natural number" -### (* METASENV after disambiguation *) - -### (* TERM after disambiguation *) -([f:(nat->((le O O)->(eq nat O O)))](f O (le_n O)) [n:nat][H:(le O O)](refl_equal nat O)) -### (* TYPE_OF the disambiguated term *) -(eq nat O O) -### (* REDUCED disambiguated term *) -(refl_equal nat O) diff --git a/helm/gTopLevel/tests/lambda02.cic b/helm/gTopLevel/tests/lambda02.cic deleted file mode 100644 index dc6d57916..000000000 --- a/helm/gTopLevel/tests/lambda02.cic +++ /dev/null @@ -1 +0,0 @@ -\lambda f:(\forall n:nat. (\forall H:(le 0 n). (n=n))). (f 0 (le_n 0)) diff --git a/helm/gTopLevel/tests/lambda02.cic.test b/helm/gTopLevel/tests/lambda02.cic.test deleted file mode 100644 index 2d813315c..000000000 --- a/helm/gTopLevel/tests/lambda02.cic.test +++ /dev/null @@ -1,16 +0,0 @@ -\lambda f:(\forall n:nat. (\forall H:(le 0 n). (n=n))). (f 0 (le_n 0)) -###### INTERPRETATION NUMBER 1 ###### -### (* disambiguation environment *) -alias id le = cic:/Coq/Init/Peano/le.ind#xpointer(1/1) -alias id le_n = cic:/Coq/Init/Peano/le.ind#xpointer(1/1/1) -alias id nat = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1) -alias num (instance 0) = "natural number" -alias symbol "eq" (instance 0) = "leibnitz's equality" -### (* METASENV after disambiguation *) - -### (* TERM after disambiguation *) -[f:(n:nat)((le O n)->(eq nat n n))](f O (le_n O)) -### (* TYPE_OF the disambiguated term *) -(f:(n:nat)((le O n)->(eq nat n n)))(eq nat O O) -### (* REDUCED disambiguated term *) -[f:(n:nat)((le O n)->(eq nat n n))](f O (le_n O)) diff --git a/helm/gTopLevel/tests/lambda03.cic b/helm/gTopLevel/tests/lambda03.cic deleted file mode 100644 index 0279eeecc..000000000 --- a/helm/gTopLevel/tests/lambda03.cic +++ /dev/null @@ -1,3 +0,0 @@ -\lambda n:nat. - \lambda H:n=n. - \lambda g:(?\to (le n 0))\to True.(g (\lambda f.(f n H))) diff --git a/helm/gTopLevel/tests/lambda03.cic.test b/helm/gTopLevel/tests/lambda03.cic.test deleted file mode 100644 index 6ae0213b1..000000000 --- a/helm/gTopLevel/tests/lambda03.cic.test +++ /dev/null @@ -1,17 +0,0 @@ -\lambda n:nat. - \lambda H:n=n.\lambda g:(?\to (le n 0))\to True.(g \lambda f.(f n H)) -###### INTERPRETATION NUMBER 1 ###### -### (* disambiguation environment *) -alias id True = cic:/Coq/Init/Logic/True.ind#xpointer(1/1) -alias id le = cic:/Coq/Init/Peano/le.ind#xpointer(1/1) -alias id nat = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1) -alias num (instance 0) = "natural number" -alias symbol "eq" (instance 0) = "leibnitz's equality" -### (* METASENV after disambiguation *) - -### (* TERM after disambiguation *) -[n:nat][H:(eq nat n n)][g:(((x:nat)((eq nat x x)->(le x O))->(le n O))->True)](g [f:(x:nat)((eq nat x x)->(le x O))](f n H)) -### (* TYPE_OF the disambiguated term *) -(n:nat)(H:(eq nat n n))(g:(((x:nat)((eq nat x x)->(le x O))->(le n O))->True))True -### (* REDUCED disambiguated term *) -[n:nat][H:(eq nat n n)][g:(((x:nat)((eq nat x x)->(le x O))->(le n O))->True)](g [f:(x:nat)((eq nat x x)->(le x O))](f n H)) diff --git a/helm/gTopLevel/tests/match00.cic b/helm/gTopLevel/tests/match00.cic deleted file mode 100644 index bcfd70ea7..000000000 --- a/helm/gTopLevel/tests/match00.cic +++ /dev/null @@ -1,6 +0,0 @@ -[\lambda x:nat. - [\lambda y:nat. Set] - match x:nat with [ O \Rightarrow nat | (S x) \Rightarrow bool ]] -match (S O):nat with -[ O \Rightarrow O -| (S x) \Rightarrow false ] diff --git a/helm/gTopLevel/tests/match00.cic.test b/helm/gTopLevel/tests/match00.cic.test deleted file mode 100644 index 28a4a412f..000000000 --- a/helm/gTopLevel/tests/match00.cic.test +++ /dev/null @@ -1,33 +0,0 @@ -[\lambda x:nat. - [\lambda y:nat. Set] - match x:nat with [ O \Rightarrow nat | (S x) \Rightarrow bool ]] -match (S O):nat with -[ O \Rightarrow O -| (S x) \Rightarrow false ] -###### INTERPRETATION NUMBER 1 ###### -### (* disambiguation environment *) -alias id O = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/1) -alias id S = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/2) -alias id bool = cic:/Coq/Init/Datatypes/bool.ind#xpointer(1/1) -alias id false = cic:/Coq/Init/Datatypes/bool.ind#xpointer(1/1/2) -alias id nat = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1) -### (* METASENV after disambiguation *) - -### (* TERM after disambiguation *) - -<[x:nat] -<[y:nat]Set>Cases x of - O => nat - S => [x:nat]bool -end>Cases (S O) of - O => O - S => [x:nat]false -end -### (* TYPE_OF the disambiguated term *) -([x:nat] -<[y:nat]Set>Cases x of - O => nat - S => [x:nat]bool -end (S O)) -### (* REDUCED disambiguated term *) -false diff --git a/helm/gTopLevel/tests/match01.cic b/helm/gTopLevel/tests/match01.cic deleted file mode 100644 index 04948778a..000000000 --- a/helm/gTopLevel/tests/match01.cic +++ /dev/null @@ -1,4 +0,0 @@ -[\lambda z:nat. \lambda h:(le O z). (eq nat O O)] -match (le_n O): le with -[ le_n \Rightarrow (refl_equal nat O) -| (le_S x y) \Rightarrow (refl_equal nat O) ] diff --git a/helm/gTopLevel/tests/match01.cic.test b/helm/gTopLevel/tests/match01.cic.test deleted file mode 100644 index 13fbce756..000000000 --- a/helm/gTopLevel/tests/match01.cic.test +++ /dev/null @@ -1,24 +0,0 @@ -[\lambda z:nat. \lambda h:(le O z). (eq nat O O)] -match (le_n O): le with -[ le_n \Rightarrow (refl_equal nat O) -| (le_S x y) \Rightarrow (refl_equal nat O) ] -###### INTERPRETATION NUMBER 1 ###### -### (* disambiguation environment *) -alias id O = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/1) -alias id eq = cic:/Coq/Init/Logic/eq.ind#xpointer(1/1) -alias id le = cic:/Coq/Init/Peano/le.ind#xpointer(1/1) -alias id le_n = cic:/Coq/Init/Peano/le.ind#xpointer(1/1/1) -alias id nat = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1) -alias id refl_equal = cic:/Coq/Init/Logic/eq.ind#xpointer(1/1/1) -### (* METASENV after disambiguation *) - -### (* TERM after disambiguation *) - -<[z:nat][h:(le O z)](eq nat O O)>Cases (le_n O) of - le_n => (refl_equal nat O) - le_S => [x:nat][y:(le O x)](refl_equal nat O) -end -### (* TYPE_OF the disambiguated term *) -([z:nat][h:(le O z)](eq nat O O) O (le_n O)) -### (* REDUCED disambiguated term *) -(refl_equal nat O) diff --git a/helm/gTopLevel/tests/match02.cic b/helm/gTopLevel/tests/match02.cic deleted file mode 100644 index 4a5c69782..000000000 --- a/helm/gTopLevel/tests/match02.cic +++ /dev/null @@ -1,4 +0,0 @@ -[\lambda z:nat. \lambda h:(le 0 z). (le 0 (S z))] -match (le_S 0 0 (le_n 0)): le with -[ le_n \Rightarrow (le_S 0 0 (le_n 0)) -| (le_S x y) \Rightarrow (le_S 0 (S x) (le_S 0 x y)) ] diff --git a/helm/gTopLevel/tests/match02.cic.test b/helm/gTopLevel/tests/match02.cic.test deleted file mode 100644 index 08a583805..000000000 --- a/helm/gTopLevel/tests/match02.cic.test +++ /dev/null @@ -1,24 +0,0 @@ -[\lambda z:nat. \lambda h:(le 0 z). (le 0 (S z))] -match (le_S 0 0 (le_n 0)): le with -[ le_n \Rightarrow (le_S 0 0 (le_n 0)) -| (le_S x y) \Rightarrow (le_S 0 (S x) (le_S 0 x y)) ] -###### INTERPRETATION NUMBER 1 ###### -### (* disambiguation environment *) -alias id S = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/2) -alias id le = cic:/Coq/Init/Peano/le.ind#xpointer(1/1) -alias id le_S = cic:/Coq/Init/Peano/le.ind#xpointer(1/1/2) -alias id le_n = cic:/Coq/Init/Peano/le.ind#xpointer(1/1/1) -alias id nat = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1) -alias num (instance 0) = "natural number" -### (* METASENV after disambiguation *) - -### (* TERM after disambiguation *) - -<[z:nat][h:(le O z)](le O (S z))>Cases (le_S O O (le_n O)) of - le_n => (le_S O O (le_n O)) - le_S => [x:nat][y:(le O x)](le_S O (S x) (le_S O x y)) -end -### (* TYPE_OF the disambiguated term *) -([z:nat][h:(le O z)](le O (S z)) (S O) (le_S O O (le_n O))) -### (* REDUCED disambiguated term *) -(le_S O (S O) (le_S O O (le_n O))) diff --git a/helm/gTopLevel/tests/match03.cic b/helm/gTopLevel/tests/match03.cic deleted file mode 100644 index e4064b378..000000000 --- a/helm/gTopLevel/tests/match03.cic +++ /dev/null @@ -1,4 +0,0 @@ -[\lambda x:bool. nat] -match true:bool with -[ true \Rightarrow O -| false \Rightarrow (S O) ] diff --git a/helm/gTopLevel/tests/match03.cic.test b/helm/gTopLevel/tests/match03.cic.test deleted file mode 100644 index bc5db2d04..000000000 --- a/helm/gTopLevel/tests/match03.cic.test +++ /dev/null @@ -1,23 +0,0 @@ -[\lambda x:bool. nat] -match true:bool with -[ true \Rightarrow O -| false \Rightarrow (S O) ] -###### INTERPRETATION NUMBER 1 ###### -### (* disambiguation environment *) -alias id O = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/1) -alias id S = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/2) -alias id bool = cic:/Coq/Init/Datatypes/bool.ind#xpointer(1/1) -alias id nat = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1) -alias id true = cic:/Coq/Init/Datatypes/bool.ind#xpointer(1/1/1) -### (* METASENV after disambiguation *) - -### (* TERM after disambiguation *) - -<[x:bool]nat>Cases true of - true => O - false => (S O) -end -### (* TYPE_OF the disambiguated term *) -([x:bool]nat true) -### (* REDUCED disambiguated term *) -O diff --git a/helm/gTopLevel/tests/match04.cic b/helm/gTopLevel/tests/match04.cic deleted file mode 100644 index 6de9a5ba1..000000000 --- a/helm/gTopLevel/tests/match04.cic +++ /dev/null @@ -1,4 +0,0 @@ -[\lambda x:nat. nat] -match O:nat with -[ O \Rightarrow O -| (S x) \Rightarrow (S (S x)) ] diff --git a/helm/gTopLevel/tests/match04.cic.test b/helm/gTopLevel/tests/match04.cic.test deleted file mode 100644 index 8befe4c3d..000000000 --- a/helm/gTopLevel/tests/match04.cic.test +++ /dev/null @@ -1,21 +0,0 @@ -[\lambda x:nat. nat] -match O:nat with -[ O \Rightarrow O -| (S x) \Rightarrow (S (S x)) ] -###### INTERPRETATION NUMBER 1 ###### -### (* disambiguation environment *) -alias id O = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/1) -alias id S = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/2) -alias id nat = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1) -### (* METASENV after disambiguation *) - -### (* TERM after disambiguation *) - -<[x:nat]nat>Cases O of - O => O - S => [x:nat](S (S x)) -end -### (* TYPE_OF the disambiguated term *) -([x:nat]nat O) -### (* REDUCED disambiguated term *) -O diff --git a/helm/gTopLevel/tests/match05.cic b/helm/gTopLevel/tests/match05.cic deleted file mode 100644 index 10a54db0d..000000000 --- a/helm/gTopLevel/tests/match05.cic +++ /dev/null @@ -1,4 +0,0 @@ -[\lambda x:list. list] -match nil:list with -[ nil \Rightarrow nil -| (cons x y) \Rightarrow (cons x y) ] diff --git a/helm/gTopLevel/tests/match05.cic.test b/helm/gTopLevel/tests/match05.cic.test deleted file mode 100644 index 1e80b5748..000000000 --- a/helm/gTopLevel/tests/match05.cic.test +++ /dev/null @@ -1,72 +0,0 @@ -[\lambda x:list. list] -match nil:list with -[ nil \Rightarrow nil -| (cons x y) \Rightarrow (cons x y) ] -###### INTERPRETATION NUMBER 1 ###### -### (* disambiguation environment *) -alias id cons = cic:/CoRN/algebra/ListType/list.ind#xpointer(1/1/2) -alias id list = cic:/CoRN/algebra/ListType/list.ind#xpointer(1/1) -alias id nil = cic:/CoRN/algebra/ListType/list.ind#xpointer(1/1/1) -### (* METASENV after disambiguation *) -_ :? _; _ :? _ |- ?25: Type -### (* TERM after disambiguation *) - -<[x:list{A:=?25[_ ; _]}]list{A:=?25[_ ; _]}>Cases nil{A:=?25[_ ; _]} of - nil => nil{A:=?25[_ ; _]} - cons => [x:?25[_ ; _]][y:list{A:=?25[_ ; x]}](cons{A:=?25[x ; y]} x y) -end -### (* TYPE_OF the disambiguated term *) -([x:list{A:=?25[_ ; _]}]list{A:=?25[_ ; _]} nil{A:=?25[_ ; _]}) -### (* REDUCED disambiguated term *) -nil{A:=?25[_ ; _]} -###### INTERPRETATION NUMBER 2 ###### -### (* disambiguation environment *) -alias id cons = cic:/Coq/Lists/List/list.ind#xpointer(1/1/2) -alias id list = cic:/Coq/Lists/List/list.ind#xpointer(1/1) -alias id nil = cic:/Coq/Lists/List/list.ind#xpointer(1/1/1) -### (* METASENV after disambiguation *) -_ :? _; _ :? _ |- ?25: Set -### (* TERM after disambiguation *) - -<[x:list{A:=?25[_ ; _]}]list{A:=?25[_ ; _]}>Cases nil{A:=?25[_ ; _]} of - nil => nil{A:=?25[_ ; _]} - cons => [x:?25[_ ; _]][y:list{A:=?25[_ ; x]}](cons{A:=?25[x ; y]} x y) -end -### (* TYPE_OF the disambiguated term *) -([x:list{A:=?25[_ ; _]}]list{A:=?25[_ ; _]} nil{A:=?25[_ ; _]}) -### (* REDUCED disambiguated term *) -nil{A:=?25[_ ; _]} -###### INTERPRETATION NUMBER 3 ###### -### (* disambiguation environment *) -alias id cons = cic:/Coq/Lists/MonoList/list.ind#xpointer(1/1/2) -alias id list = cic:/Coq/Lists/MonoList/list.ind#xpointer(1/1) -alias id nil = cic:/Coq/Lists/MonoList/list.ind#xpointer(1/1/1) -### (* METASENV after disambiguation *) - -### (* TERM after disambiguation *) - -<[x:list]list>Cases nil of - nil => nil - cons => [x:A][y:list](cons x y) -end -### (* TYPE_OF the disambiguated term *) -([x:list]list nil) -### (* REDUCED disambiguated term *) -nil -###### INTERPRETATION NUMBER 4 ###### -### (* disambiguation environment *) -alias id cons = cic:/Lannion/continuations/weight/specif/list.ind#xpointer(1/1/2) -alias id list = cic:/Lannion/continuations/weight/specif/list.ind#xpointer(1/1) -alias id nil = cic:/Lannion/continuations/weight/specif/list.ind#xpointer(1/1/1) -### (* METASENV after disambiguation *) -_ :? _; _ :? _ |- ?25: Set -### (* TERM after disambiguation *) - -<[x:list{A:=?25[_ ; _]}]list{A:=?25[_ ; _]}>Cases nil{A:=?25[_ ; _]} of - nil => nil{A:=?25[_ ; _]} - cons => [x:?25[_ ; _]][y:list{A:=?25[_ ; x]}](cons{A:=?25[x ; y]} x y) -end -### (* TYPE_OF the disambiguated term *) -([x:list{A:=?25[_ ; _]}]list{A:=?25[_ ; _]} nil{A:=?25[_ ; _]}) -### (* REDUCED disambiguated term *) -nil{A:=?25[_ ; _]} diff --git a/helm/gTopLevel/tests/match06.cic b/helm/gTopLevel/tests/match06.cic deleted file mode 100644 index fd9677fc1..000000000 --- a/helm/gTopLevel/tests/match06.cic +++ /dev/null @@ -1,3 +0,0 @@ -\lambda x:False. - [\lambda h:False. True] - match x:False with [] diff --git a/helm/gTopLevel/tests/match06.cic.test b/helm/gTopLevel/tests/match06.cic.test deleted file mode 100644 index eb134e429..000000000 --- a/helm/gTopLevel/tests/match06.cic.test +++ /dev/null @@ -1,19 +0,0 @@ -\lambda x:False. - [\lambda h:False. True] - match x:False with [] -###### INTERPRETATION NUMBER 1 ###### -### (* disambiguation environment *) -alias id False = cic:/Coq/Init/Logic/False.ind#xpointer(1/1) -alias id True = cic:/Coq/Init/Logic/True.ind#xpointer(1/1) -### (* METASENV after disambiguation *) - -### (* TERM after disambiguation *) -[x:False] -<[h:False]True>Cases x of -end -### (* TYPE_OF the disambiguated term *) -(x:False)([h:False]True x) -### (* REDUCED disambiguated term *) -[x:False] -<[h:False]True>Cases x of -end diff --git a/helm/gTopLevel/tests/match07.cic b/helm/gTopLevel/tests/match07.cic deleted file mode 100644 index 15ead0774..000000000 --- a/helm/gTopLevel/tests/match07.cic +++ /dev/null @@ -1,4 +0,0 @@ -[\lambda x:bool. nat] -match true with -[ true \Rightarrow O -| false \Rightarrow (S O) ] diff --git a/helm/gTopLevel/tests/match07.cic.test b/helm/gTopLevel/tests/match07.cic.test deleted file mode 100644 index 690ccd28a..000000000 --- a/helm/gTopLevel/tests/match07.cic.test +++ /dev/null @@ -1,23 +0,0 @@ -[\lambda x:bool. nat] -match true with -[ true \Rightarrow O -| false \Rightarrow (S O) ] -###### INTERPRETATION NUMBER 1 ###### -### (* disambiguation environment *) -alias id O = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/1) -alias id S = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/2) -alias id bool = cic:/Coq/Init/Datatypes/bool.ind#xpointer(1/1) -alias id nat = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1) -alias id true = cic:/Coq/Init/Datatypes/bool.ind#xpointer(1/1/1) -### (* METASENV after disambiguation *) - -### (* TERM after disambiguation *) - -<[x:bool]nat>Cases true of - true => O - false => (S O) -end -### (* TYPE_OF the disambiguated term *) -([x:bool]nat true) -### (* REDUCED disambiguated term *) -O diff --git a/helm/gTopLevel/texTermEditor.ml b/helm/gTopLevel/texTermEditor.ml deleted file mode 100644 index 5ea965f2f..000000000 --- a/helm/gTopLevel/texTermEditor.ml +++ /dev/null @@ -1,239 +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/. - *) - -let debug = true -let debug_print s = if debug then prerr_endline s - -(******************************************************************************) -(* *) -(* PROJECT HELM *) -(* *) -(* Claudio Sacerdoti Coen *) -(* 06/01/2002 *) -(* *) -(* *) -(******************************************************************************) - -(* A WIDGET TO ENTER CIC TERMS *) - -class type term_editor = - object - method coerce : GObj.widget - (* get_as_string returns the unquoted string *) - method get_as_string : string - method get_metasenv_and_term : - context:Cic.context -> - metasenv:Cic.metasenv -> - Cic.metasenv * Cic.term * CicUniv.universe_graph - method reset : unit - (* The input of set_term is unquoted *) - method set_term : string -> unit - method environment : DisambiguatingParser.EnvironmentP3.t ref - end -;; - -module Make(C:DisambiguateTypes.Callbacks) = - struct - - module Disambiguate' = DisambiguatingParser.Make(C);; - - class term_editor_impl - ~dbd - ?packing ?width ?height - ?isnotempty_callback ?share_environment_with () : term_editor - = - let mmlwidget = - GMathViewAux.single_selection_math_view - ?packing ?width ?height () in -(* - let drawing_area = mmlwidget#get_drawing_area in - let _ = drawing_area#misc#set_can_focus true in - let _ = drawing_area#misc#grab_focus () in -*) - let logger = - fun l s -> prerr_endline ("TERM_EDITOR (" ^ string_of_int l ^ "): " ^ s) in - let tex_editor = - Mathml_editor.create - ~alt_lexer:true - ~dictionary_uri:"dictionary-cic.xml" - ~mml_uri:Mathml_editor.default_mathml_stylesheet_path -(*CSC: togliere il path assoluto - ~tml_uri:Mathml_editor.default_tex_stylesheet_path -*) - ~tml_uri:"/usr/share/editex/tml-litex.xsl" - ~log:logger - in -(* - let _ = - (new GObj.event_ops mmlwidget#coerce#as_widget)#connect#button_press - ~callback:(fun _ -> drawing_area#misc#grab_focus () ; true) in -*) - let _ = -(* (new GObj.event_ops drawing_area#coerce#as_widget)#connect#focus_in *) - (new GObj.event_ops mmlwidget#coerce#as_widget)#connect#focus_in - ~callback: - (fun _ -> - mmlwidget#freeze ; - Mathml_editor.cursor_show ~editor:tex_editor ; - mmlwidget#thaw ; - true) in - let _ = -(* (new GObj.event_ops drawing_area#coerce#as_widget)#connect#focus_out *) - (new GObj.event_ops mmlwidget#coerce#as_widget)#connect#focus_out - ~callback: - (fun _ -> - mmlwidget#freeze ; - Mathml_editor.cursor_hide ~editor:tex_editor ; - mmlwidget#thaw ; - true) in - let _ = Mathml_editor.push tex_editor '$' in - let dom_tree = Mathml_editor.get_mml tex_editor in - let _ = mmlwidget#load_root dom_tree#get_documentElement in - let _ = -(* drawing_area#event#connect#key_press *) - (new GObj.event_ops mmlwidget#coerce#as_widget)#connect#key_press - (function e -> - let key = GdkEvent.Key.keyval e in - mmlwidget#freeze ; - if - key >= 32 && key < 256 && - (GdkEvent.Key.state e = [] || GdkEvent.Key.state e = [`SHIFT]) - then - Mathml_editor.push tex_editor (Char.chr key) - else if key = GdkKeysyms._u then - begin - mmlwidget#freeze ; - ignore (Mathml_editor.freeze tex_editor) ; - Mathml_editor.reset tex_editor ; - Mathml_editor.push tex_editor '$' ; - ignore (Mathml_editor.thaw tex_editor) ; - mmlwidget#thaw - end - else if key = GdkKeysyms._BackSpace then - Mathml_editor.drop tex_editor - (List.mem `CONTROL (GdkEvent.Key.state e)) - else if key = GdkKeysyms._v then - ignore (mmlwidget#misc#convert_selection "STRING" Gdk.Atom.primary); - let hadj, _ = mmlwidget#get_adjustments in - mmlwidget#thaw ; - hadj#set_value hadj#upper ; - false) in - let environment = - match share_environment_with with - None -> - ref - (DisambiguatingParser.EnvironmentP3.of_string - DisambiguatingParser.EnvironmentP3.empty) - | Some obj -> obj#environment - in - let _ = - match isnotempty_callback with - None -> () - | Some callback -> - (* This approximation of the test that checks if the tree is empty *) - (* is utterly unprecise. We assume a tree to look as an empty tree *) - (* iff it is made of just one node m:mtext (which should be the *) - (* cursor). *) - let is_empty_tree () = - let root = dom_tree#get_documentElement in - match root#get_firstChild with - None -> true - | Some n -> n#get_nodeName#to_string = "m:mtext" - in - dom_tree#addEventListener - ~typ:(Gdome.domString "DOMSubtreeModified") - ~listener: - (Gdome.eventListener - (function _ -> callback (not (is_empty_tree ())))) - ~useCapture:false - in - object(self) - - initializer - ignore (mmlwidget#misc#connect#selection_received - ~callback: (fun selection_data ~time -> - let input = try selection_data#data with Gpointer.Null -> "" in - mmlwidget#freeze ; - ignore (Mathml_editor.freeze tex_editor) ; - for i = 0 to String.length input - 1 do - Mathml_editor.push tex_editor input.[i] - done; - ignore (Mathml_editor.thaw tex_editor) ; - mmlwidget#thaw)) - - method coerce = mmlwidget#coerce - method reset = - mmlwidget#freeze ; - ignore (Mathml_editor.freeze tex_editor) ; - Mathml_editor.reset tex_editor ; - Mathml_editor.push tex_editor '$' ; - ignore (Mathml_editor.thaw tex_editor) ; - mmlwidget#thaw - - (* The input of set_term is unquoted *) - method set_term txt = - mmlwidget#freeze ; - ignore (Mathml_editor.freeze tex_editor) ; - self#reset ; - let txt' = Str.global_replace (Str.regexp "_") "\\_" txt in - String.iter (fun ch -> Mathml_editor.push tex_editor ch) txt' ; - ignore (Mathml_editor.thaw tex_editor) ; - mmlwidget#thaw - - (* get_as_string returns the unquoted string *) - method get_as_string = - let term = Mathml_editor.get_tex tex_editor in - Str.global_replace (Str.regexp "^\\$\\$?") "" - (Str.global_replace (Str.regexp "\\$\\$?$") "" - (Str.global_replace (Str.regexp "\\\\_") "_" term)) - - method get_metasenv_and_term ~context ~metasenv = - let name_context = - List.map - (function - Some (n,_) -> Some n - | None -> None - ) context - in - debug_print ("TexTermEditor: Raw Tex: " ^ (Mathml_editor.get_tex tex_editor)) ; - let environment',metasenv,expr,ugraph = - match - Disambiguate'.disambiguate_term ~dbd - ~context ~metasenv (Mathml_editor.get_tex tex_editor) - ~initial_ugraph:CicUniv.empty_ugraph ~aliases:!environment - with - [environment',metasenv,expr,u] -> environment',metasenv,expr,u - | _ -> assert false - in - environment := environment' ; - metasenv,expr,ugraph - - method environment = environment - end - - let term_editor = new term_editor_impl - -end -;; diff --git a/helm/gTopLevel/texTermEditor.mli b/helm/gTopLevel/texTermEditor.mli deleted file mode 100644 index ece0bd8d9..000000000 --- a/helm/gTopLevel/texTermEditor.mli +++ /dev/null @@ -1,51 +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/. - *) - -class type term_editor = - object - method coerce : GObj.widget - (* get_as_string returns the unquoted string *) - method get_as_string : string - method get_metasenv_and_term : - context:Cic.context -> - metasenv:Cic.metasenv -> - Cic.metasenv * Cic.term * CicUniv.universe_graph - method reset : unit - (* The input of set_term is unquoted *) - method set_term : string -> unit - method environment : DisambiguatingParser.EnvironmentP3.t ref - end - -module Make (C : DisambiguateTypes.Callbacks) : - sig - val term_editor : - dbd:Mysql.dbd -> - ?packing:(GObj.widget -> unit) -> - ?width:int -> - ?height:int -> - ?isnotempty_callback:(bool -> unit) -> - ?share_environment_with:term_editor -> - unit -> term_editor - end diff --git a/helm/gTopLevel/typecheck_uri.ml b/helm/gTopLevel/typecheck_uri.ml deleted file mode 100644 index e6df5cd61..000000000 --- a/helm/gTopLevel/typecheck_uri.ml +++ /dev/null @@ -1,23 +0,0 @@ - - -open Printf - -let _ = Helm_registry.load_from "gTopLevel.conf.xml" - -let test_uri uri = - (try - Printf.printf "%s ... " uri; - let uri = UriManager.uri_of_string uri in - flush stdout; - ignore (CicTypeChecker.typecheck uri); - print_endline "ok"; - with _ -> print_endline "failure"); - flush stdout - -let _ = - try - while true do - test_uri (input_line stdin) - done - with End_of_file -> () - 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 ae9b1dd0fb6ab5c5ed2f6b991a2f15d768707a7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53 zcmZ?wbhEHbWM$xFXkcUjg8%>jEB<5wG8q|kKzxu40~1dVGkfQ4?pTum!zcy@YXBnM B3P}I} 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 ca628ba69bdcd33fa6d77e0e5deaeca7c0a143c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53 zcmZ?wbhEHbWM$xFXkcUjg8%>jEB<5wG8q|kKzxu40~3#nT*C6(-;#oIR7JQLtN|`@ B3v~bh 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 1637826abdd1c4746d1762ec65e9e0e7e575291f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53 zcmZ?wbhEHbWM$xFXkcVuVE7LNia%L^OhyJBAfEvw!@$JT!_3}!n>*Gdz%Yt|!5RQa Cw+l!B 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 ebc8f9bca0af5a66d27acd577746056f5c81b6b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53 zcmZ?wbhEHbWM$xFXkcVuVE7LNia%L^OhyJBAfEvw!@$JjBA2lI_P3;<990o625SIR COAK@X 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 48e8325329f4beb725603d18316c6a5fc9266411..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53 zcmZ?wbhEHbWM$xFXkcVu_zwb#KUsiGMg|=QAOOiQF!A&-vv=O+jx`A|jACH01^{o6 B3`YO} 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 788d9d2bef2223625cd3d8256e1baa96dac93641..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53 zcmZ?wbhEHbWM$xFXkcVu_zwb#KUsiGMg|=QAOOiQF!8v^B`m-FEh#8RRfLPd8UTAF B4RZhh 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 132e1d2dd2acb077e2d155a334f69904f36107eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53 zcmZ?wbhEHbWM$xFXkcVu_|NeF|9{1wEI=kBgAM}_fMgh$czT%GJ8yHxngkd|F)&yI E07 E098s1bN~PV 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 e6369cf7c08144118bbabce0fd08f0bf1c4a6c9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53 zcmZ?wbhEHbWM$xFXkcXc&+s1z6o0ZXGB7YQ=r8~QNQQxlr-zxn^EP*^Nq}J#1A{dH DaE}Z} 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 56179da04a0bcabfafc2b171dc4384911fc64fb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53 zcmZ?wbhEHbWM$xFXkcXc&+s1z6o0ZXGB7YQ=r8~QNQQxl$3-q-`R#8>K{=`-TnyF# Dd?O8W 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 b36de2008a211b36d00db234ef48154a612d1028..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53 zcmZ?wbhEHbWM$xFXkcXc&%p5i|9{1wEQ|~cj0`#qKmd|qVB+avX79Ys9cvO`7{$O~ F4FF2D3rGL} 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 035f5e600c86c6f0240e1cc9fae1714ae21ab3e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53 zcmZ?wbhEHbWM$xFXkcXc&%p5i|9{1wEQ|~cj0`#qKmd|qVB&F+OIUvUTT)Ptst6Z@ FH2_vg40Heh 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 935308d99cf3f2f47914e538a7a2a4daf1c6b23b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53 zcmZ?wbhEHbWM$xFXkcXc4+e@qSr{1@7#VaJfB+=Jz{JzT%-(sMJJuw?Fp7b}8UUAQ B4MqR} 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 969fc49722dfd1df28e54ebe07680f7bdf11421f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53 zcmZ?wbhEHbWM$xFXkcXc4+e@qSr{1@7#VaJfB+=Jz{KMsm$3Zyx1^vPRS_-*YXGAB B4srkh 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 8e10145ffbd3e090b034e21705f06859f7c01b51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53 zcmZ?wbhEHbWM$xFXkcXc{~w6{EB<6*WME)q&|v@qkPHJ8PY*MD=WXs-lK{gg1_o;Y DagGc} 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 8a438b938bbe48ffb29fc409aa25f68f2ef85750..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53 zcmZ?wbhEHbWM$xFXkcXc{~w6{EB<6*WME)q&|v@qkPHJ8kBeNw^4s5%f^t+vxEQPf DeIgBW 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 7f53e61db458cfb52c05b9117c114a911f87d621..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11995 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 KF647_7W^Onsm%2N 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 c17902fbc..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_user_agent.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 d7b1089af..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 netstring -COMMONOPTS = -package "$(REQUIRES)" -pp camlp4o -thread -OCAMLFIND = OCAMLPATH=../ocaml/METAS 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 b98763cc6..000000000 --- a/helm/http_getter/http_getter.conf.xml.sample +++ /dev/null @@ -1,11 +0,0 @@ - - -
- /projects/helm/var/servers.txt - /tmp/helm/cache - /projects/helm/var - /projects/helm/xml/dtd - 58081 - http_getter.log -
-
diff --git a/helm/http_getter/main.ml b/helm/http_getter/main.ml deleted file mode 100644 index 3117a85c9..000000000 --- a/helm/http_getter/main.ml +++ /dev/null @@ -1,352 +0,0 @@ -(* Copyright (C) 2003-2005, 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 Http_getter_common -open Http_getter_const -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)) - -let xml_escape = Netencoding.Html.encode ~in_enc:`Enc_utf8 () - -let html_tag ?exn () = - let xml_decl = "\n" in - match exn with - | Some (exn, arg) -> - let (exn, arg) = (xml_escape exn, xml_escape arg) in - sprintf - ("%s\n") - xml_decl xhtml_ns helm_ns exn arg - | None -> - sprintf "%s\n" - xml_decl xhtml_ns helm_ns - -let mk_return_fun pp_fun contype msg outchan = - Http_daemon.respond - ~body:(pp_fun msg) ~headers:["Content-Type", contype] outchan - -let pp_msg s = sprintf "%s%s" (html_tag ()) s -let null_pp s = s - -let return_html_error exn = - let pp_error s = - sprintf - ("%s\nHttp Getter error: %s" - ^^ "") - (html_tag ~exn ()) s - in - mk_return_fun pp_error "text/xml" - -let return_html_internal_error exn = - let pp_internal_error s = - sprintf - ("%s\nHttp Getter Internal error: %s" - ^^ "") - (html_tag ~exn ()) s - in - mk_return_fun pp_internal_error "text/xml" - -let return_html_msg = mk_return_fun pp_msg "text/xml" -let return_html_raw = mk_return_fun null_pp "text/xml" -let return_xml_raw = mk_return_fun null_pp "text/xml" -let return_400 exn body = return_html_error exn body - -let return_all_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_uris "alluris" uris 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 log_failure msg = Http_getter_logger.log ("Request not fulfilled: " ^ msg) - -let convert_file ~from_enc ~to_enc fname = - let remove f = fun () -> if Sys.file_exists f then Sys.remove f in - match from_enc, to_enc with - | `Normal, `Normal - | `Gzipped, `Gzipped -> fname, (fun () -> ()) - | `Normal, `Gzipped -> - let tmp = Http_getter_misc.tempfile () in - Http_getter_misc.gzip ~keep:true ~output:tmp fname; - tmp, remove tmp - | `Gzipped, `Normal -> - let tmp = Http_getter_misc.tempfile () in - Http_getter_misc.gunzip ~keep:true ~output:tmp fname; - tmp, remove tmp - -let is_gzip fname = Http_getter_misc.extension fname = ".gz" - -let patch_fun_for uri url = - let xmlbases = - if Http_getter_common.is_theory_uri uri then - Some (Filename.dirname uri, Filename.dirname url) - else - None - in - Http_getter_common.patch_xml ?xmlbases ~via_http:true () - -let respond_dtd patch_dtd fname outchan = - let via_http = false in - let patch_fun = - if patch_dtd then Some (Http_getter_common.patch_dtd ~via_http ()) - else None - in - Http_getter_common.return_file ~via_http:true ~fname ~contype:"text/plain" - ~gunzip:false ?patch_fun ~enc:`Normal outchan - -(* let respond_xsl - ?(via_http = true) ?(enc = `Normal) ?(patch = true) ~url outchan - = - let patch_fun = - if patch then Http_getter_common.patch_xsl ~via_http () else (fun x -> x) - in - let fname = tempfile () in - finally (fun () -> Sys.remove fname) (lazy ( - wget ~output:fname url; - return_file ~via_http ~fname ~contype:"text/xml" ~patch_fun ~enc outchan - )) *) -(* | "/getxslt" -> - Http_getter_cache.respond_xsl - ~url:(Http_getter.resolve (req#param "uri")) - ~patch:(parse_patch req) outchan *) - -let respond_xslt patch_xslt xslt_name outchan = - let fname = Http_getter.getxslt xslt_name in - let patch_fun = - if patch_xslt then Some (Http_getter_common.patch_xsl ~via_http:true ()) - else None - in - Http_getter_common.return_file ~fname ~contype:"text/xml" ?patch_fun - ~gunzip:false ~via_http:true ~enc:`Normal 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#uri); - (match req#path with - | "/help" -> return_help outchan - | "/getxml" -> - let uri = req#param "uri" in - let fname = Http_getter.getxml uri in (* local name, in cache *) - let remote_name = Http_getter.resolve uri in (* remote name *) - let src_enc = if is_gzip fname then `Gzipped else `Normal in - let enc = parse_enc req in - let fname, cleanup = convert_file ~from_enc:src_enc ~to_enc:enc fname in - let contenc = if enc = `Gzipped then Some "x-gzip" else None in - let patch_fun = - if parse_patch req - then Some (patch_fun_for uri remote_name) - else None - in - let gunzip = (enc = `Gzipped) in - (try - Http_getter_common.return_file - ~fname ~contype:"text/xml" ?contenc ?patch_fun ~gunzip - ~via_http:true ~enc outchan; - with exn -> cleanup (); raise exn); - cleanup () - | "/getxslt" -> respond_xslt (parse_patch req) (req#param "uri") outchan - | "/getdtd" -> - let fname = Http_getter.getdtd (req#param "uri") in - respond_dtd (parse_patch req) fname outchan - | "/resolve" -> return_resolve (req#param "uri") outchan - | "/clean_cache" -> - Http_getter.clean_cache (); - return_html_msg "Done." outchan - | "/getalluris" -> - return_all_xml_uris (parse_output_format "getalluris" 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 ("bad_request", msg) msg outchan - | Bad_request msg -> - log_failure msg; - return_html_error ("bad_request", msg) msg outchan - | Internal_error msg -> - log_failure msg; - return_html_internal_error ("internal_error", msg) msg outchan - | exn -> - let msg = "uncaught exception: " ^ (Printexc.to_string exn) in - (match exn with - | Http_getter_types.Key_not_found uri -> - return_html_error ("key_not_found", uri) msg outchan - | _ -> - log_failure msg; - return_html_error ("uncaught_exception", msg) msg outchan) - -let batch_update = ref false - -let args = [ ] - - (* Main *) -let main () = - Arg.parse args (fun _-> ()) "http_getter honors the following options:\n"; - Helm_registry.load_from configuration_file; - Http_getter.init (); - print_string (Http_getter_env.env_to_string ()); - flush stdout; - Sys.catch_break true; - let d_spec = Http_daemon.daemon_spec - ~mode:`Thread ~timeout:(Some 600) - ~port:(Lazy.force Http_getter_env.port) - ~callback:callback () - in - try - Http_daemon.main d_spec - with Sys.Break -> () - -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 c58d843d2..000000000 --- a/helm/mathql_db_map.txt +++ /dev/null @@ -1,26 +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 -no_inconcl_aux source <- -no_inconcl_aux no <- no_inconcl - -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 1f613f38a..000000000 --- a/helm/matita/.cvsignore +++ /dev/null @@ -1,45 +0,0 @@ -*.a -*.annot -autom4te.cache -buildTimeConf.ml -cicbrowser -cicbrowser.opt -*.cma -*.cmi -*.cmo -*.cmx -*.cmxa -config.log -config.status -configure -.depend -gtkmathview.matita.conf.xml -Makefile -matita -.matita -matitac -matitaclean -matitaclean.opt -matita.conf.xml -matita.conf.xml -matita.conf.xml.sample -matitac.opt -matitadep -matitadep.opt -matitaGeneratedGui.ml -matitaGeneratedGui.mli -matita.glade.bak -matita.gladep -matita.gladep.bak -matitamake -matitamake.opt -matita.opt -matita.opt -dump_moo -dump_moo.opt -matitatop -*.moo -*.o -*.static -*.swp -*.upx diff --git a/helm/matita/.depend b/helm/matita/.depend deleted file mode 100644 index ff2e6c935..000000000 --- a/helm/matita/.depend +++ /dev/null @@ -1,95 +0,0 @@ -dump_moo.cmo: matitaMoo.cmi matitaLog.cmi buildTimeConf.cmo -dump_moo.cmx: matitaMoo.cmx matitaLog.cmx buildTimeConf.cmx -matitacleanLib.cmo: matitaSync.cmi matitaMoo.cmi matitaMisc.cmi matitaLog.cmi \ - matitaExcPp.cmi matitaDb.cmi buildTimeConf.cmo matitacleanLib.cmi -matitacleanLib.cmx: matitaSync.cmx matitaMoo.cmx matitaMisc.cmx matitaLog.cmx \ - matitaExcPp.cmx matitaDb.cmx buildTimeConf.cmx matitacleanLib.cmi -matitaclean.cmo: matitacleanLib.cmi matitaMisc.cmi matitaLog.cmi \ - matitaInit.cmi matitaDb.cmi matitaclean.cmi -matitaclean.cmx: matitacleanLib.cmx matitaMisc.cmx matitaLog.cmx \ - matitaInit.cmx matitaDb.cmx matitaclean.cmi -matitacLib.cmo: matitacleanLib.cmi matitaTypes.cmi matitaMoo.cmi \ - matitaLog.cmi matitaInit.cmi matitaExcPp.cmi matitaEngine.cmi \ - matitaDb.cmi buildTimeConf.cmo matitacLib.cmi -matitacLib.cmx: matitacleanLib.cmx matitaTypes.cmx matitaMoo.cmx \ - matitaLog.cmx matitaInit.cmx matitaExcPp.cmx matitaEngine.cmx \ - matitaDb.cmx buildTimeConf.cmx matitacLib.cmi -matitac.cmo: matitamake.cmo matitadep.cmi matitaclean.cmi matitacLib.cmi -matitac.cmx: matitamake.cmx matitadep.cmx matitaclean.cmx matitacLib.cmx -matitaDb.cmo: matitaMisc.cmi matitaDb.cmi -matitaDb.cmx: matitaMisc.cmx matitaDb.cmi -matitadep.cmo: matitacleanLib.cmi matitaMisc.cmi matitaLog.cmi matitaInit.cmi \ - matitadep.cmi -matitadep.cmx: matitacleanLib.cmx matitaMisc.cmx matitaLog.cmx matitaInit.cmx \ - matitadep.cmi -matitaDisambiguator.cmo: matitaTypes.cmi matitaDisambiguator.cmi -matitaDisambiguator.cmx: matitaTypes.cmx matitaDisambiguator.cmi -matitaEngine.cmo: matitacleanLib.cmi matitaTypes.cmi matitaSync.cmi \ - matitaMoo.cmi matitaMisc.cmi matitaLog.cmi matitaDisambiguator.cmi \ - matitaDb.cmi matitaEngine.cmi -matitaEngine.cmx: matitacleanLib.cmx matitaTypes.cmx matitaSync.cmx \ - matitaMoo.cmx matitaMisc.cmx matitaLog.cmx matitaDisambiguator.cmx \ - matitaDb.cmx matitaEngine.cmi -matitaExcPp.cmo: matitaTypes.cmi matitaMoo.cmi matitaDisambiguator.cmi \ - matitaExcPp.cmi -matitaExcPp.cmx: matitaTypes.cmx matitaMoo.cmx matitaDisambiguator.cmx \ - matitaExcPp.cmi -matitaGeneratedGui.cmo: matitaGeneratedGui.cmi -matitaGeneratedGui.cmx: matitaGeneratedGui.cmi -matitaGtkMisc.cmo: matitaTypes.cmi matitaGeneratedGui.cmi matitaGtkMisc.cmi -matitaGtkMisc.cmx: matitaTypes.cmx matitaGeneratedGui.cmx matitaGtkMisc.cmi -matitaGui.cmo: matitamakeLib.cmi matitacleanLib.cmi matitaTypes.cmi \ - matitaScript.cmi matitaMoo.cmi matitaMisc.cmi matitaMathView.cmi \ - matitaLog.cmi matitaGtkMisc.cmi matitaGeneratedGui.cmi matitaExcPp.cmi \ - matitaDisambiguator.cmi buildTimeConf.cmo matitaGui.cmi -matitaGui.cmx: matitamakeLib.cmx matitacleanLib.cmx matitaTypes.cmx \ - matitaScript.cmx matitaMoo.cmx matitaMisc.cmx matitaMathView.cmx \ - matitaLog.cmx matitaGtkMisc.cmx matitaGeneratedGui.cmx matitaExcPp.cmx \ - matitaDisambiguator.cmx buildTimeConf.cmx matitaGui.cmi -matitaInit.cmo: matitamakeLib.cmi matitaDb.cmi buildTimeConf.cmo \ - matitaInit.cmi -matitaInit.cmx: matitamakeLib.cmx matitaDb.cmx buildTimeConf.cmx \ - matitaInit.cmi -matitaLog.cmo: matitaLog.cmi -matitaLog.cmx: matitaLog.cmi -matitamakeLib.cmo: matitaLog.cmi buildTimeConf.cmo matitamakeLib.cmi -matitamakeLib.cmx: matitaLog.cmx buildTimeConf.cmx matitamakeLib.cmi -matitamake.cmo: matitamakeLib.cmi matitaInit.cmi -matitamake.cmx: matitamakeLib.cmx matitaInit.cmx -matitaMathView.cmo: matitaTypes.cmi matitaScript.cmi matitaMisc.cmi \ - matitaLog.cmi matitaGuiTypes.cmi matitaGtkMisc.cmi matitaExcPp.cmi \ - buildTimeConf.cmo matitaMathView.cmi -matitaMathView.cmx: matitaTypes.cmx matitaScript.cmx matitaMisc.cmx \ - matitaLog.cmx matitaGuiTypes.cmi matitaGtkMisc.cmx matitaExcPp.cmx \ - buildTimeConf.cmx matitaMathView.cmi -matitaMisc.cmo: matitaTypes.cmi buildTimeConf.cmo matitaMisc.cmi -matitaMisc.cmx: matitaTypes.cmx buildTimeConf.cmx matitaMisc.cmi -matita.cmo: matitaTypes.cmi matitaScript.cmi matitaMathView.cmi matitaLog.cmi \ - matitaInit.cmi matitaGui.cmi matitaGtkMisc.cmi matitaEngine.cmi \ - buildTimeConf.cmo -matita.cmx: matitaTypes.cmx matitaScript.cmx matitaMathView.cmx matitaLog.cmx \ - matitaInit.cmx matitaGui.cmx matitaGtkMisc.cmx matitaEngine.cmx \ - buildTimeConf.cmx -matitaMoo.cmo: matitaTypes.cmi matitaMoo.cmi -matitaMoo.cmx: matitaTypes.cmx matitaMoo.cmi -matitaScript.cmo: matitamakeLib.cmi matitacleanLib.cmi matitaTypes.cmi \ - matitaSync.cmi matitaMisc.cmi matitaLog.cmi matitaEngine.cmi \ - matitaDisambiguator.cmi matitaDb.cmi buildTimeConf.cmo matitaScript.cmi -matitaScript.cmx: matitamakeLib.cmx matitacleanLib.cmx matitaTypes.cmx \ - matitaSync.cmx matitaMisc.cmx matitaLog.cmx matitaEngine.cmx \ - matitaDisambiguator.cmx matitaDb.cmx buildTimeConf.cmx matitaScript.cmi -matitaSync.cmo: matitaTypes.cmi matitaMisc.cmi matitaLog.cmi matitaDb.cmi \ - matitaSync.cmi -matitaSync.cmx: matitaTypes.cmx matitaMisc.cmx matitaLog.cmx matitaDb.cmx \ - matitaSync.cmi -matitaTypes.cmo: matitaLog.cmi matitaTypes.cmi -matitaTypes.cmx: matitaLog.cmx matitaTypes.cmi -matitaDisambiguator.cmi: matitaTypes.cmi -matitaEngine.cmi: matitaTypes.cmi -matitaGtkMisc.cmi: matitaGeneratedGui.cmi -matitaGui.cmi: matitaGuiTypes.cmi matitaDisambiguator.cmi -matitaGuiTypes.cmi: matitaTypes.cmi matitaLog.cmi matitaGeneratedGui.cmi -matitaMathView.cmi: matitaTypes.cmi matitaGuiTypes.cmi -matitaMoo.cmi: matitaTypes.cmi -matitaScript.cmi: matitaTypes.cmi -matitaSync.cmi: matitaTypes.cmi diff --git a/helm/matita/.ocamlinit b/helm/matita/.ocamlinit deleted file mode 100644 index 1585f71b2..000000000 --- a/helm/matita/.ocamlinit +++ /dev/null @@ -1,44 +0,0 @@ -(* directories *) -#directory "../ocaml/cic" -#directory "../ocaml/cic_notation" -#directory "../ocaml/cic_omdoc" -#directory "../ocaml/cic_proof_checking" -#directory "../ocaml/cic_textual_parser2" -#directory "../ocaml/cic_transformations" -#directory "../ocaml/cic_unification" -#directory "../ocaml/getter" -#directory "../ocaml/hbugs" -#directory "../ocaml/mathql" -#directory "../ocaml/mathql_generator" -#directory "../ocaml/mathql_interpreter" -#directory "../ocaml/metadata" -#directory "../ocaml/paramodulation" -#directory "../ocaml/registry" -#directory "../ocaml/tactics" -#directory "../ocaml/thread" -#directory "../ocaml/urimanager" -#directory "../ocaml/xml" -#directory "../ocaml/xmldiff" - -(* custom printers *) -let fppuri ppf uri = - let s = UriManager.string_of_uri uri in - Format.pp_print_string ppf s -;; - -#install_printer CicMetaSubst.fppsubst;; -#install_printer CicMetaSubst.fppterm;; -#install_printer CicMetaSubst.fppmetasenv;; -#install_printer fppuri;; - -(* utility functions *) -let go = MatitacLib.interactive_loop;; - -(* let's go! *) -let _ = - at_exit (fun () -> MatitacLib.clean_exit None); - if Array.length Sys.argv > 1 then - MatitacLib.main `TOPLEVEL - else - MatitacLib.go () -;; diff --git a/helm/matita/AUTHORS b/helm/matita/AUTHORS deleted file mode 100644 index a2da427a5..000000000 --- a/helm/matita/AUTHORS +++ /dev/null @@ -1,5 +0,0 @@ -Andrea Asperti -Luca Padovani -Enrico Tassi -Claudio Sacerdoti Coen -Stefano Zacchiroli diff --git a/helm/matita/LICENSE b/helm/matita/LICENSE deleted file mode 100644 index 7665cd2ce..000000000 --- a/helm/matita/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -Copyright (C) 2000-2005, HELM Team. - -Matita 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/ diff --git a/helm/matita/Makefile.in b/helm/matita/Makefile.in deleted file mode 100644 index 127f8a407..000000000 --- a/helm/matita/Makefile.in +++ /dev/null @@ -1,365 +0,0 @@ -export SHELL=/bin/bash - -NULL = - -MAKEFLAGS+=--no-print-directory -OCAMLPATH = ../ocaml/METAS/ -OCAMLFIND = OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH @OCAMLFIND@ -CAMLP4O = @CAMLP4O@ -LABLGLADECC = @LABLGLADECC@ -REQUIRES = @FINDLIB_REQUIRES@ -CREQUIRES = @FINDLIB_CREQUIRES@ -DEPREQUIRES = @FINDLIB_DEPREQUIRES@ -CLEANREQUIRES = @FINDLIB_CLEANREQUIRES@ -MAKEREQUIRES = @FINDLIB_MAKEREQUIRES@ -HAVE_OCAMLOPT = @HAVE_OCAMLOPT@ - -OCAML_FLAGS = -pp $(CAMLP4O) -PKGS = -package "$(REQUIRES)" -CPKGS = -package "$(CREQUIRES)" -DEPPKGS = -package "$(DEPREQUIRES)" -CLEANPKGS = -package "$(CLEANREQUIRES)" -MAKEPKGS = -package "$(MAKEREQUIRES)" -OCAML_THREADS_FLAGS = -thread -OCAML_DEBUG_FLAGS = -g -OCAMLC_FLAGS = $(OCAML_FLAGS) $(OCAML_THREADS_FLAGS) -OCAMLC = $(OCAMLFIND) ocamlc $(OCAMLC_FLAGS) $(OCAML_DEBUG_FLAGS) -OCAMLOPT = $(OCAMLFIND) opt $(OCAMLC_FLAGS) -OCAMLDEP = $(OCAMLFIND) ocamldep $(OCAML_FLAGS) - -MATITA_FLAGS = -noprofile -NODB=false -ifeq ($(NODB),true) - MATITA_FLAGS += -nodb -endif - -# objects for matita (GTK GUI) -CMOS = \ - buildTimeConf.cmo \ - matitaLog.cmo \ - matitaTypes.cmo \ - matitaMoo.cmo \ - matitaMisc.cmo \ - matitaDb.cmo \ - matitamakeLib.cmo \ - matitaInit.cmo \ - matitaSync.cmo \ - matitaDisambiguator.cmo \ - matitaExcPp.cmo \ - matitacleanLib.cmo \ - matitaEngine.cmo \ - matitacLib.cmo \ - matitaScript.cmo \ - matitaGeneratedGui.cmo \ - matitaGtkMisc.cmo \ - matitaMathView.cmo \ - matitaGui.cmo \ - $(NULL) -# objects for matitac (batch compiler) -CCMOS = \ - buildTimeConf.cmo \ - matitaLog.cmo \ - matitaTypes.cmo \ - matitaMoo.cmo \ - matitaMisc.cmo \ - matitaDb.cmo \ - matitamakeLib.cmo \ - matitaInit.cmo \ - matitaSync.cmo \ - matitaDisambiguator.cmo \ - matitaExcPp.cmo \ - matitacleanLib.cmo \ - matitaEngine.cmo \ - matitacLib.cmo \ - $(NULL) -MAINCMOS = \ - matitadep.cmo \ - matitaclean.cmo \ - matitamake.cmo \ - $(NULL) -DEPCMOS = $(CCMOS) -CLEANCMOS = $(CCMOS) -MAKECMOS = \ - buildTimeConf.cmo \ - matitaLog.cmo \ - matitamakeLib.cmo \ - $(NULL) -PROGRAMS_BYTE = matita matitac cicbrowser matitadep matitaclean matitamake dump_moo -PROGRAMS = $(PROGRAMS_BYTE) matitatop -PROGRAMS_OPT = $(patsubst %,%.opt,$(PROGRAMS_BYTE)) - -.PHONY: all -all: matita.conf.xml $(PROGRAMS) coq.moo - -matita.conf.xml: matita.conf.xml.sample - @if diff matita.conf.xml.sample matita.conf.xml 1>/dev/null 2>/dev/null; then\ - touch matita.conf.xml;\ - else\ - echo;\ - echo "matita.conf.xml.sample is newer than matita.conf.xml";\ - echo;\ - echo "PLEASE update your configuration file!";\ - echo "(copying matita.conf.xml.sample should work)";\ - echo;\ - false;\ - fi - -matita.conf.xml.sample: matita.conf.xml.sample.in - autoconf - ./configure - @echo - @echo "WARNING: The configuration sample file has changed!" - @echo - -coq.moo: coq.ma matitac - ./matitac $(MATITA_FLAGS) coq.ma -coq.moo.opt: coq.ma matitac.opt - ./matitac.opt $(MATITA_FLAGS) coq.ma - -ifeq ($(HAVE_OCAMLOPT),yes) - -CMXS = $(patsubst %.cmo,%.cmx,$(CMOS)) -CCMXS = $(patsubst %.cmo,%.cmx,$(CCMOS)) -MAINCMXS = $(patsubst %.cmo,%.cmx,$(MAINCMOS)) -DEPCMXS = $(patsubst %.cmo,%.cmx,$(DEPCMOS)) -CLEANCMXS = $(patsubst %.cmo,%.cmx,$(CLEANCMOS)) -MAKECMXS = $(patsubst %.cmo,%.cmx,$(MAKECMOS)) -LIB_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "byte" -format "%d/%a" $(REQUIRES)) -LIBX_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "native" -format "%d/%a" $(REQUIRES)) -CLIB_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "byte" -format "%d/%a" $(CREQUIRES)) -CLIBX_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "native" -format "%d/%a" $(CREQUIRES)) -DEPLIB_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "byte" -format "%d/%a" $(DEPREQUIRES)) -DEPLIBX_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "native" -format "%d/%a" $(DEPREQUIRES)) -CLEANLIB_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "byte" -format "%d/%a" $(CLEANREQUIRES)) -CLEANLIBX_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "native" -format "%d/%a" $(CLEANREQUIRES)) -MAKELIB_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "byte" -format "%d/%a" $(MAKEREQUIRES)) -MAKELIBX_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "native" -format "%d/%a" $(MAKEREQUIRES)) -.PHONY: opt -opt: $(PROGRAMS_OPT) coq.moo.opt -.PHONY: upx -upx: $(PROGRAMS_UPX) coq.moo.opt - -else - -opt: - @echo "Native code compilation is disabled" - -endif - -matita: $(LIB_DEPS) $(CMOS) matita.ml - $(OCAMLC) $(PKGS) -linkpkg -o $@ $(CMOS) matita.ml -matita.opt: $(LIBX_DEPS) $(CMXS) matita.ml - $(OCAMLOPT) $(PKGS) -linkpkg -o $@ $(CMXS) matita.ml - -dump_moo: buildTimeConf.cmo matitaLog.cmo matitaMoo.cmo dump_moo.ml - $(OCAMLC) $(PKGS) -linkpkg -o $@ $^ -dump_moo.opt: buildTimeConf.cmx matitaLog.cmx matitaMoo.cmx dump_moo.ml - $(OCAMLOPT) $(PKGS) -linkpkg -o $@ $^ - -matitac: $(CLIB_DEPS) $(CCMOS) $(MAINCMOS) matitac.ml - $(OCAMLC) $(CPKGS) -linkpkg -o $@ $(CCMOS) $(MAINCMOS) matitac.ml -matitac.opt: $(CLIBX_DEPS) $(CCMXS) $(MAINCMXS) matitac.ml - $(OCAMLOPT) $(CPKGS) -linkpkg -o $@ $(CCMXS) $(MAINCMXS) matitac.ml - -matitatop: matitatop.ml $(CLIB_DEPS) $(CCMOS) - $(OCAMLC) $(CPKGS) -linkpkg -o $@ toplevellib.cma $(CCMOS) $< - -# matitadep: matitadep.ml $(DEPLIB_DEPS) $(DEPCMOS) -# $(OCAMLC) $(DEPPKGS) -linkpkg -o $@ $(DEPCMOS) $< -# matitadep.opt: matitadep.ml $(DEPLIB_DEPS) $(DEPCMXS) -# $(OCAMLOPT) $(DEPPKGS) -linkpkg -o $@ $(DEPCMXS) $< -matitadep: matitac - @test -f $@ || ln -s $< $@ -matitadep.opt: matitac.opt - @test -f $@ || ln -s $< $@ - -# matitaclean: matitaclean.ml $(CLEANLIB_DEPS) $(CLEANCMOS) -# $(OCAMLC) $(CLEANPKGS) -linkpkg -o $@ $(CLEANCMOS) $< -# matitaclean.opt: matitaclean.ml $(CLEANLIB_DEPS) $(CLEANCMXS) -# $(OCAMLOPT) $(CLEANPKGS) -linkpkg -o $@ $(CLEANCMXS) $< -matitaclean: matitac - @test -f $@ || ln -s $< $@ -matitaclean.opt: matitac.opt - @test -f $@ || ln -s $< $@ - -# matitamake: matitamake.ml $(MAKECMOS) -# $(OCAMLC) $(MAKEPKGS) -linkpkg -o $@ $(MAKECMOS) $< -# matitamake.opt: matitamake.ml $(MAKECMXS) -# $(OCAMLOPT) $(MAKEPKGS) -linkpkg -o $@ $(MAKECMXS) $< -matitamake: matitac - @test -f $@ || ln -s $< $@ -matitamake.opt: matitac.opt - @test -f $@ || ln -s $< $@ - -cicbrowser: matita - @test -f $@ || ln -s $< $@ -cicbrowser.opt: matita.opt - @test -f $@ || ln -s $< $@ - -matitaGeneratedGui.ml matitaGeneratedGui.mli: matita.glade - $(LABLGLADECC) -embed $< > matitaGeneratedGui.ml - $(OCAMLC) $(PKGS) -i matitaGeneratedGui.ml > matitaGeneratedGui.mli - -.PHONY: clean -clean: - rm -rf *.cma *.cmo *.cmi *.cmx *.cmxa *.a *.o \ - $(PROGRAMS) \ - $(PROGRAMS_OPT) \ - $(PROGRAMS_STATIC) \ - $(PROGRAMS_UPX) \ - $(NULL) - -tests: matitac matitadep matitaclean - @-(cd library && make -k clean all) - @-(cd tests && make -k clean all) - @-(cd tests/bad_tests && make -k clean all) - @-(cd contribs/LAMBDA-TYPES && make -k clean all) - @-(cd contribs/PREDICATIVE-TOPOLOGY && make -k clean all) -tests.opt: matitac.opt matitadep.opt matitaclean.opt - @-(cd library && make -k clean.opt opt) - @-(cd tests && make -k clean.opt opt) - @-(cd tests/bad_tests && make -k clean.opt opt) - @-(cd contribs/LAMBDA-TYPES && make -k clean.opt opt) - @-(cd contribs/PREDICATIVE-TOPOLOGY && make -k clean.opt opt) -cleantests: matitaclean - @(cd library && make clean) - @(cd tests && make clean) - @(cd tests/bad_tests && make clean) - @(cd contribs/LAMBDA-TYPES && make clean) - @(cd contribs/PREDICATIVE-TOPOLOGY && make clean) -cleantests.opt: matitaclean.opt - @(cd library && make clean.opt) - @(cd tests && make clean.opt) - @(cd tests/bad_tests && make clean) - @(cd contribs/LAMBDA-TYPES && make clean.opt) - @(cd contribs/PREDICATIVE-TOPOLOGY && make clean.opt) -.PHONY: tests tests.opt cleantests cleantests.opt - -# {{{ Distribution stuff - -STATIC_LINK = dist/static_link/static_link -# for matita -STATIC_LIBS = \ - t1 t1x \ - gtkmathview_gmetadom mathview mathview_backend_gtk mathview_frontend_gmetadom \ - gtksourceview-1.0 \ - gdome gmetadom_gdome_cpp_smart \ - stdc++ \ - mysqlclient \ - expat \ - $(NULL) -STATIC_EXTRA_LIBS = -cclib -lt1x -cclib -lstdc++ -# for matitac & co -STATIC_CLIBS = \ - gdome \ - mysqlclient \ - $(NULL) -STATIC_EXTRA_CLIBS = -PROGRAMS_STATIC = $(patsubst %,%.static,$(PROGRAMS_OPT)) -PROGRAMS_UPX = $(patsubst %,%.upx,$(PROGRAMS_STATIC)) - -ifeq ($(HAVE_OCAMLOPT),yes) -static: $(STATIC_LINK) $(PROGRAMS_STATIC) coq.moo.opt -else -upx: - @echo "Native code compilation is disabled" -static: - @echo "Native code compilation is disabled" -endif - -$(STATIC_LINK): - $(MAKE) -C dist/ $(STATIC_LINK) - -matita.opt.static: $(STATIC_LINK) $(LIBX_DEPS) $(CMXS) matita.ml - $(STATIC_LINK) $(STATIC_LIBS) -- \ - $(OCAMLOPT) $(PKGS) -linkpkg -o $@ $(CMXS) matita.ml \ - $(STATIC_EXTRA_LIBS) - strip $@ -dump_moo.opt.static: $(STATIC_LINK) buildTimeConf.cmx matitaLog.cmx matitaMoo.cmx dump_moo.ml - $(STATIC_LINK) $(STATIC_CLIBS) -- \ - $(OCAMLOPT) $(PKGS) -linkpkg -o $@ $^ \ - $(STATIC_EXTRA_CLIBS) - strip $@ -matitac.opt.static: $(STATIC_LINK) $(CLIBX_DEPS) $(CCMXS) $(MAINCMXS) matitac.ml - $(STATIC_LINK) $(STATIC_CLIBS) -- \ - $(OCAMLOPT) $(CPKGS) -linkpkg -o $@ $(CCMXS) $(MAINCMXS) matitac.ml \ - $(STATIC_EXTRA_CLIBS) - strip $@ -# matitadep.opt.static: $(STATIC_LINK) matitadep.ml $(DEPLIB_DEPS) $(DEPCMXS) -# $(STATIC_LINK) $(STATIC_CLIBS) -- \ -# $(OCAMLOPT) $(DEPPKGS) -linkpkg -o $@ $(DEPCMXS) $< \ -# $(STATIC_EXTRA_CLIBS) -# strip $@ -matitadep.opt.static: matitac.opt.static - @test -f $@ || ln -s $< $@ -# matitaclean.opt.static: $(STATIC_LINK) matitaclean.ml $(CLEANLIB_DEPS) $(CLEANCMXS) -# $(STATIC_LINK) $(STATIC_CLIBS) -- \ -# $(OCAMLOPT) $(CLEANPKGS) -linkpkg -o $@ $(CLEANCMXS) $< \ -# $(STATIC_EXTRA_CLIBS) -# strip $@ -matitaclean.opt.static: matitac.opt.static - @test -f $@ || ln -s $< $@ -# matitamake.opt.static: $(STATIC_LINK) matitamake.ml $(MAKECMXS) -# $(STATIC_LINK) $(STATIC_CLIBS) -- \ -# $(OCAMLOPT) $(PKGS) -linkpkg -o $@ $(MAKECMXS) $< \ -# $(STATIC_EXTRA_CLIBS) -# strip $@ -matitamake.opt.static: matitac.opt.static - @test -f $@ || ln -s $< $@ -cicbrowser.opt.static: matita.opt.static - @test -f $@ || ln -s $< $@ -cicbrowser.opt.static.upx: matita.opt.static.upx - @test -f $@ || ln -s $< $@ - -.PHONY: distclean -distclean: clean - $(MAKE) -C dist/ 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/ - rm -f configure matita.conf.xml.sample - -%.upx: % - cp $< $@ - strip $@ - upx $@ - -# }}} End of distribution stuff - -tags: TAGS -.PHONY: TAGS -TAGS: - cd ..; otags -vi -r ocaml/ matita/ - -#.depend: matitaGeneratedGui.ml matitaGeneratedGui.mli *.ml *.mli - -.PHONY: depend -depend: - $(OCAMLDEP) *.ml *.mli > .depend - -include .depend - -%.cmi: %.mli - $(OCAMLC) $(PKGS) -c $< -%.cmo %.cmi: %.ml - $(OCAMLC) $(PKGS) -c $< -%.cmx: %.ml - $(OCAMLOPT) $(PKGS) -c $< -%.annot: %.ml - $(OCAMLC) -dtypes $(PKGS) -c $< - -$(CMOS): $(LIB_DEPS) -$(CMOS:%.cmo=%.cmx): $(LIBX_DEPS) - -ifeq ($(MAKECMDGOALS),all) - $(CMOS:%.cmo=%.cmi): $(LIB_DEPS) -endif -ifeq ($(MAKECMDGOALS),) - $(CMOS:%.cmo=%.cmi): $(LIB_DEPS) -endif -ifeq ($(MAKECMDGOALS),opt) - $(CMOS:%.cmo=%.cmi): $(LIBX_DEPS) -endif - -# vim: set foldmethod=marker: diff --git a/helm/matita/buildTimeConf.ml.in b/helm/matita/buildTimeConf.ml.in deleted file mode 100644 index c8a2061e2..000000000 --- a/helm/matita/buildTimeConf.ml.in +++ /dev/null @@ -1,55 +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 = "@MATITA_VERSION@";; -let undo_history_size = 10;; -let console_history_size = 100;; -let browser_history_size = 100;; -let base_uri = "cic:/matita";; -let phrase_sep = ".";; -let blank_uri = "about:blank";; -let current_proof_uri = "about:current_proof";; -let default_font_size = 10;; -let script_font = "Monospace";; - - (** may be overridden with MATITA_RT_BASE_DIR environment variable, useful for - * binary distribution installed in user home directories *) -let runtime_base_dir = - try - Sys.getenv "MATITA_RT_BASE_DIR" - with Not_found -> "@RT_BASE_DIR@";; - -let images_dir = runtime_base_dir ^ "/icons" -let gtkrc_file = runtime_base_dir ^ "/matita.gtkrc" -let lang_file = runtime_base_dir ^ "/matita.lang" -let script_template = runtime_base_dir ^ "/matita.ma.templ" -let core_notation_script = runtime_base_dir ^ "/core_notation.moo" -let coq_notation_script = runtime_base_dir ^ "/coq.moo" -let matita_conf = runtime_base_dir ^ "/matita.conf.xml" -let closed_xml = runtime_base_dir ^ "/closed.xml" -let gtkmathview_conf = runtime_base_dir ^ "/gtkmathview.matita.conf.xml" -let matitamake_makefile_template = runtime_base_dir ^ "/template_makefile.in" - diff --git a/helm/matita/closed.xml b/helm/matita/closed.xml deleted file mode 100644 index d3125efb7..000000000 --- a/helm/matita/closed.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - This goal has already been closed. - Use the "skip" command to throw it away. - - - - diff --git a/helm/matita/configure.ac b/helm/matita/configure.ac deleted file mode 100644 index d20bf2192..000000000 --- a/helm/matita/configure.ac +++ /dev/null @@ -1,141 +0,0 @@ -AC_INIT(matitaTypes.ml) - -# Distribution settings (i.e. settings to be manipulated before a release) -DEBUG_DEFAULT="true" -RT_BASE_DIR_DEFAULT="`pwd`" -MATITA_VERSION="0.0.1" -# End of distribution settings - -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_COMREQUIRES="\ -pcre \ -mysql \ -helm-registry \ -helm-extlib \ -helm-hmysql \ -helm-cic_notation \ -helm-tactics \ -helm-cic_disambiguation \ -" -FINDLIB_CLEANREQUIRES="$FINDLIB_COMREQUIRES" -FINDLIB_DEPREQUIRES="$FINDLIB_COMREQUIRES" -FINDLIB_MAKEREQUIRES=" \ -helm-registry \ -helm-extlib \ -" -FINDLIB_CREQUIRES=" \ -$FINDLIB_COMREQUIRES \ -helm-paramodulation \ -" -FINDLIB_REQUIRES="\ -$FINDLIB_CREQUIRES \ -lablgtk2.glade \ -lablgtkmathview \ -lablgtksourceview \ -helm-xmldiff \ -helm-cic_transformations \ -helm-tactics \ -helm-cic_disambiguation \ -helm-paramodulation \ -" -for r in $FINDLIB_REQUIRES -do - AC_MSG_CHECKING(for $r ocaml library) - if OCAMLPATH=../ocaml/METAS $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_MSG_CHECKING(--enable-debug argument) -AC_ARG_ENABLE(debug, - [ --enable-debug Turn on debugging], - [GIVEN="yes"; - case "${enableval}" in - yes) DEBUG=true ;; - no) DEBUG=false ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;; - esac], - [GIVEN="no"; DEBUG="$DEBUG_DEFAULT"]) -MSG=$GIVEN -if test "$DEBUG" = "true"; then - MSG="$MSG, debugging enabled." -else - MSG="$MSG, debugging disabled." -fi -AC_MSG_RESULT($MSG) - -AC_MSG_CHECKING(--with-runtime-dir argument) -AC_ARG_WITH(runtime-dir, - [ --with-runtime-dir Runtime directory (current working directory if not given)], - [ RT_BASE_DIR="${withval}" ], - [ RT_BASE_DIR="$RT_BASE_DIR_DEFAULT" ]) -AC_MSG_RESULT($RT_BASE_DIR) - -AC_SUBST(CAMLP4O) -AC_SUBST(DEBUG) -AC_SUBST(TRANSFORMER_MODULE) -AC_SUBST(FINDLIB_REQUIRES) -AC_SUBST(FINDLIB_CREQUIRES) -AC_SUBST(FINDLIB_DEPREQUIRES) -AC_SUBST(FINDLIB_CLEANREQUIRES) -AC_SUBST(FINDLIB_MAKEREQUIRES) -AC_SUBST(HAVE_OCAMLOPT) -AC_SUBST(LABLGLADECC) -AC_SUBST(OCAMLFIND) -AC_SUBST(RT_BASE_DIR) -AC_SUBST(MATITA_VERSION) - -AC_OUTPUT([ - matita.conf.xml.sample - buildTimeConf.ml - Makefile - gtkmathview.matita.conf.xml -]) diff --git a/helm/matita/contribs/LAMBDA-TYPES/.cvsignore b/helm/matita/contribs/LAMBDA-TYPES/.cvsignore deleted file mode 100644 index 6d473d47a..000000000 --- a/helm/matita/contribs/LAMBDA-TYPES/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -.depend -*.moo diff --git a/helm/matita/contribs/LAMBDA-TYPES/Makefile b/helm/matita/contribs/LAMBDA-TYPES/Makefile deleted file mode 100644 index c12b0fb43..000000000 --- a/helm/matita/contribs/LAMBDA-TYPES/Makefile +++ /dev/null @@ -1,54 +0,0 @@ -SRC=$(shell find . -name "*.ma" -a -type f) - -MATITA_FLAGS = -NODB=false -ifeq ($(NODB),true) - MATITA_FLAGS += -nodb -endif - -MATITAC=../../scripts/do_tests.sh $(DO_TESTS_OPTS) "../../matitac $(MATITA_FLAGS)" "../../matitaclean $(MATITA_FLAGS)" /dev/null OK -MATITACOPT=../../scripts/do_tests.sh $(DO_TESTS_OPTS) "../../matitac.opt $(MATITA_FLAGS)" "../../matitaclean.opt $(MATITA_FLAGS)" /dev/null OK -VERBOSEMATITAC=../../matitac $(MATITA_FLAGS) -VERBOSEMATITACOPT=../../matitac.opt $(MATITA_FLAGS) - -MATITACLEAN=../../matitaclean $(MATITA_FLAGS) -MATITACLEANOPT=../../matitaclean.opt $(MATITA_FLAGS) - -MATITADEP=../../matitadep $(MATITA_FLAGS) -MATITADEPOPT=../../matitadep.opt $(MATITA_FLAGS) - -DEPEND_NAME=.depend - -H=@ - -all: $(SRC:%.ma=%.mo) - -opt: - $(H)$(MAKE) MATITAC='$(MATITACOPT)' MATITACLEAN='$(MATITACLEANOPT)' MATITADEP='$(MATITADEPOPT)' all - -verbose: - $(H)$(MAKE) MATITAC='$(VERBOSEMATITAC)' MATITACLEAN='$(MATITACLEAN)' MATITADEP='$(MATITADEP)' all - -%.opt: - $(H)$(MAKE) MATITAC='$(MATITACOPT)' MATITACLEAN='$(MATITACLEANOPT)' MATITADEP='$(MATITADEPOPT)' $(@:%.opt=%) - -clean: - $(H)$(MATITACLEAN) $(SRC) - -cleanall: - $(H)rm -f $(SRC:%.ma=%.moo) - $(MATITACLEAN) all - -depend: - rm -f $(DEPEND_NAME) - $(MAKE) $(DEPEND_NAME) -.PHONY: depend - -%.moo: - $(H)$(MATITAC) $< - -$(DEPEND_NAME): $(SRC) - $(H)$(MATITADEP) $(SRC) > $@ || rm -f $@ - -#include $(DEPEND_NAME) -include .depend diff --git a/helm/matita/contribs/LAMBDA-TYPES/lref_map_defs.ma b/helm/matita/contribs/LAMBDA-TYPES/lref_map_defs.ma deleted file mode 100644 index 572618808..000000000 --- a/helm/matita/contribs/LAMBDA-TYPES/lref_map_defs.ma +++ /dev/null @@ -1,22 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/LAMBDA-TYPES/lref_map_defs". - -include "terms_defs.ma". - -inductive tlref_map (A: Set) (N: Set) (map: nat \to nat): nat \to (T A N) \to (T A N) \to Prop \def - | tlref_map_sort: \forall i. \forall k. \forall y. (tlref_map A N map i (TSort A N y k) (TSort A N y k)) - | tlref_map_lref_lt: \forall j. \forall i. \forall y. j < i \to (tlref_map A N map i (TLRef A N y j) (TLRef A N y j)) - | tlref_map_lref_ge: \forall j. \forall i. \forall y. i \le j \to (tlref_map A N map i (TLRef A N y j) (TLRef A N y (map j))). diff --git a/helm/matita/contribs/LAMBDA-TYPES/terms_defs.ma b/helm/matita/contribs/LAMBDA-TYPES/terms_defs.ma deleted file mode 100644 index 9a2c5fb9d..000000000 --- a/helm/matita/contribs/LAMBDA-TYPES/terms_defs.ma +++ /dev/null @@ -1,47 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/LAMBDA-TYPES/terms_defs". - -include "coq.ma". - -alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1)". -alias id "S" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/2)". -alias id "O" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/1)". -alias id "plus" = "cic:/Coq/Init/Peano/plus.con". -alias id "lt" = "cic:/Coq/Init/Peano/lt.con". -alias id "le" = "cic:/Coq/Init/Peano/le.ind#xpointer(1/1)". - -inductive B : Set \def - | Void: B - | Abbr: B - | Abst: B. - -inductive F : Set \def - | Appl: F - | Cast: F. - -inductive W : Set \def - | Bind: B \to W - | Flat: F \to W. - -inductive T (A:Set) (N:Set) : Set \def - | TSort: A \to nat \to (T A N) - | TLRef: A \to nat \to (T A N) - | TWag : A \to W \to (T A N) \to (T A N) \to (T A N) - | TGRef: A \to N \to (T A N). - -record X (A:Set) (N:Set) : Type \def { - get_gref: N \to B \to (T A N) \to Prop -}. diff --git a/helm/matita/contribs/LAMBDA-TYPES/tlt_defs.ma b/helm/matita/contribs/LAMBDA-TYPES/tlt_defs.ma deleted file mode 100644 index 390c067cc..000000000 --- a/helm/matita/contribs/LAMBDA-TYPES/tlt_defs.ma +++ /dev/null @@ -1,53 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/LAMBDA-TYPES/tlt_defs". - -include "terms_defs.ma". - -definition wadd: (nat \to nat) \to nat \to (nat \to nat) \def - \lambda map,w,n. - match n with [ - O \Rightarrow w - | (S m) \Rightarrow (map m) - ]. - -let rec weight_map (A:Set) (N:Set) (map:nat \to nat) (t:T A N) on t : nat \def - match t with [ - (TSort y k) \Rightarrow O - | (TLRef y i) \Rightarrow (map i) - | (TWag y z w u) \Rightarrow - match z with [ - (Bind b) \Rightarrow - match b with [ - Abbr \Rightarrow - (S ((weight_map A N map w) + (weight_map A N (wadd map (S (weight_map A N map w))) u))) - | Abst \Rightarrow - (S ((weight_map A N map w) + (weight_map A N (wadd map O) u))) - | Void \Rightarrow - (S ((weight_map A N map w) + (weight_map A N (wadd map O) u))) - ] - | (Flat a) \Rightarrow - (S ((weight_map A N map w) + (weight_map A N map u))) - ] - | (TGRef y n) \Rightarrow O - ]. - -definition weight: \forall A,N. T A N \to nat \def - \lambda A,N. - (weight_map A N (\lambda _.O)). - -definition tlt: \forall A,N. T A N \to T A N \to Prop \def - \lambda A,N,t1,t2. - weight A N t1 < weight A N t2. diff --git a/helm/matita/contribs/PREDICATIVE-TOPOLOGY/.cvsignore b/helm/matita/contribs/PREDICATIVE-TOPOLOGY/.cvsignore deleted file mode 100644 index 6d473d47a..000000000 --- a/helm/matita/contribs/PREDICATIVE-TOPOLOGY/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -.depend -*.moo diff --git a/helm/matita/contribs/PREDICATIVE-TOPOLOGY/Makefile b/helm/matita/contribs/PREDICATIVE-TOPOLOGY/Makefile deleted file mode 100644 index c12b0fb43..000000000 --- a/helm/matita/contribs/PREDICATIVE-TOPOLOGY/Makefile +++ /dev/null @@ -1,54 +0,0 @@ -SRC=$(shell find . -name "*.ma" -a -type f) - -MATITA_FLAGS = -NODB=false -ifeq ($(NODB),true) - MATITA_FLAGS += -nodb -endif - -MATITAC=../../scripts/do_tests.sh $(DO_TESTS_OPTS) "../../matitac $(MATITA_FLAGS)" "../../matitaclean $(MATITA_FLAGS)" /dev/null OK -MATITACOPT=../../scripts/do_tests.sh $(DO_TESTS_OPTS) "../../matitac.opt $(MATITA_FLAGS)" "../../matitaclean.opt $(MATITA_FLAGS)" /dev/null OK -VERBOSEMATITAC=../../matitac $(MATITA_FLAGS) -VERBOSEMATITACOPT=../../matitac.opt $(MATITA_FLAGS) - -MATITACLEAN=../../matitaclean $(MATITA_FLAGS) -MATITACLEANOPT=../../matitaclean.opt $(MATITA_FLAGS) - -MATITADEP=../../matitadep $(MATITA_FLAGS) -MATITADEPOPT=../../matitadep.opt $(MATITA_FLAGS) - -DEPEND_NAME=.depend - -H=@ - -all: $(SRC:%.ma=%.mo) - -opt: - $(H)$(MAKE) MATITAC='$(MATITACOPT)' MATITACLEAN='$(MATITACLEANOPT)' MATITADEP='$(MATITADEPOPT)' all - -verbose: - $(H)$(MAKE) MATITAC='$(VERBOSEMATITAC)' MATITACLEAN='$(MATITACLEAN)' MATITADEP='$(MATITADEP)' all - -%.opt: - $(H)$(MAKE) MATITAC='$(MATITACOPT)' MATITACLEAN='$(MATITACLEANOPT)' MATITADEP='$(MATITADEPOPT)' $(@:%.opt=%) - -clean: - $(H)$(MATITACLEAN) $(SRC) - -cleanall: - $(H)rm -f $(SRC:%.ma=%.moo) - $(MATITACLEAN) all - -depend: - rm -f $(DEPEND_NAME) - $(MAKE) $(DEPEND_NAME) -.PHONY: depend - -%.moo: - $(H)$(MATITAC) $< - -$(DEPEND_NAME): $(SRC) - $(H)$(MATITADEP) $(SRC) > $@ || rm -f $@ - -#include $(DEPEND_NAME) -include .depend diff --git a/helm/matita/contribs/PREDICATIVE-TOPOLOGY/class_defs.ma b/helm/matita/contribs/PREDICATIVE-TOPOLOGY/class_defs.ma deleted file mode 100644 index ba1195619..000000000 --- a/helm/matita/contribs/PREDICATIVE-TOPOLOGY/class_defs.ma +++ /dev/null @@ -1,52 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -(* Project started Wed Oct 12, 2005 ***************************************) - -set "baseuri" "cic:/matita/PREDICATIVE-TOPOLOGY/class_defs". - -include "../../library/logic/connectives.ma". - -(* ACZEL CATEGORIES: - - We use typoids with a compatible membership relation - - The category is intended to be the domain of the membership relation - - The membership relation is necessary because we need to regard the - domain of a propositional function (ie a predicative subset) as a - quantification domain and therefore as a category, but there is no - type in CIC representing the domain of a propositional function - - We set up a single equality predicate, parametric on the category, - defined as the reflexive, symmetic, transitive and compatible closure - of the cle1 predicate given inside the category. Then we prove the - properties of the equality that usually are axiomatized inside the - category structure. This makes categories easier to use -*) - -definition true_f \def \lambda (X:Type). \lambda (_:X). True. - -definition false_f \def \lambda (X:Type). \lambda (_:X). False. - -record Class: Type \def { - class: Type; - cin : class \to Prop; - cle1 : class \to class \to Prop -}. - -coercion class. - -inductive ceq (C:Class) (c1:C): C \to Prop \def - | ceq_refl: cin ? c1 \to ceq ? c1 c1 - | ceq_sing_r: \forall c2,c3. - ceq ? c1 c2 \to cin ? c3 \to cle1 ? c2 c3 \to ceq ? c1 c3 - | ceq_sing_l: \forall c2,c3. - ceq ? c1 c2 \to cin ? c3 \to cle1 ? c3 c2 \to ceq ? c1 c3. diff --git a/helm/matita/contribs/PREDICATIVE-TOPOLOGY/class_eq.ma b/helm/matita/contribs/PREDICATIVE-TOPOLOGY/class_eq.ma deleted file mode 100644 index 5c53b9459..000000000 --- a/helm/matita/contribs/PREDICATIVE-TOPOLOGY/class_eq.ma +++ /dev/null @@ -1,55 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/PREDICATIVE-TOPOLOGY/class_eq". - -include "class_defs.ma". - -theorem ceq_cl: \forall C,c1,c2. ceq ? c1 c2 \to cin C c1 \land cin C c2. -intros; elim H; clear H; clear c2; - [ auto | decompose H2; auto | decompose H2; auto ]. -qed. - -theorem ceq_trans: \forall C,c2,c1,c3. - ceq C c2 c3 \to ceq ? c1 c2 \to ceq ? c1 c3. -intros 5; elim H; clear H; clear c3; - [ auto - | apply ceq_sing_r; [||| apply H4 ]; auto - | apply ceq_sing_l; [||| apply H4 ]; auto - ]. -qed. - -theorem ceq_conf_rev: \forall C,c2,c1,c3. - ceq C c3 c2 \to ceq ? c1 c2 \to ceq ? c1 c3. -intros 5; elim H; clear H; clear c2; - [ auto - | lapply ceq_cl; [ decompose Hletin |||| apply H1 ]. - apply H2; apply ceq_sing_l; [||| apply H4 ]; auto - | lapply ceq_cl; [ decompose Hletin |||| apply H1 ]. - apply H2; apply ceq_sing_r; [||| apply H4 ]; auto - ]. -qed. - -theorem ceq_sym: \forall C,c1,c2. ceq C c1 c2 \to ceq C c2 c1. -intros; -lapply ceq_cl; [ decompose Hletin |||| apply H ]. -auto. -qed. - -theorem ceq_conf: \forall C,c2,c1,c3. - ceq C c1 c2 \to ceq ? c1 c3 \to ceq ? c2 c3. -intros. -lapply ceq_sym; [|||| apply H ]. -apply ceq_trans; [| auto | auto ]. -qed. diff --git a/helm/matita/contribs/PREDICATIVE-TOPOLOGY/domain_defs.ma b/helm/matita/contribs/PREDICATIVE-TOPOLOGY/domain_defs.ma deleted file mode 100644 index 916c91cd8..000000000 --- a/helm/matita/contribs/PREDICATIVE-TOPOLOGY/domain_defs.ma +++ /dev/null @@ -1,60 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/PREDICATIVE-TOPOLOGY/domain_defs". - -include "class_defs.ma". - -(* QUANTIFICATION DOMAINS - - These are the categories on which we allow quantification - - We set up single quantifiers, parametric on the domain, so they - already have the properties that usually are axiomatized inside the - domain structure. This makes domains easier to use -*) - -record Domain: Type \def { - qd: Class -}. - -coercion qd. - -(* internal universal quantification *) -inductive dall (D:Domain) (P:D \to Prop) : Prop \def - | dall_intro: (\forall d:D. cin D d \to P d) \to dall D P. - -(* internal existential quantification *) -inductive dex (D:Domain) (P:D \to Prop) : Prop \def - | dex_intro: \forall d:D. cin D d \land P d \to dex D P. - -(* notations **************************************************************) - -(*CSC: the URI must disappear: there is a bug now *) -interpretation "internal for all" 'iforall \eta.x = - (cic:/matita/PREDICATIVE-TOPOLOGY/domain_defs/dall.ind#xpointer(1/1) _ x). - -notation > "hvbox(\iforall ident i opt (: ty) break . p)" - right associative with precedence 20 -for @{ 'iforall ${default - @{\lambda ${ident i} : $ty. $p)} - @{\lambda ${ident i} . $p}}}. - -(*CSC: the URI must disappear: there is a bug now *) -interpretation "internal exists" 'dexists \eta.x = - (cic:/matita/PREDICATIVE-TOPOLOGY/domain_defs/dex.ind#xpointer(1/1) _ x). - -notation > "hvbox(\iexists ident i opt (: ty) break . p)" - right associative with precedence 20 -for @{ 'dexists ${default - @{\lambda ${ident i} : $ty. $p)} - @{\lambda ${ident i} . $p}}}. diff --git a/helm/matita/contribs/PREDICATIVE-TOPOLOGY/subset_defs.ma b/helm/matita/contribs/PREDICATIVE-TOPOLOGY/subset_defs.ma deleted file mode 100644 index 3cc583f02..000000000 --- a/helm/matita/contribs/PREDICATIVE-TOPOLOGY/subset_defs.ma +++ /dev/null @@ -1,66 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/PREDICATIVE-TOPOLOGY/subset_defs". - -include "domain_defs.ma". - -(* SUBSETS - - We use predicative subsets coded as propositional functions - according to G.Sambin and S.Valentini "Toolbox" -*) - -definition Subset \def \lambda (D:Domain). D \to Prop. - -(* subset membership (epsilon) *) -definition sin : \forall D. Subset D \to D \to Prop \def - \lambda (D:Domain). \lambda U,d. cin D d \and U d. - -(* subset top (full subset) *) -definition stop \def \lambda (D:Domain). true_f D. - -(* subset bottom (empty subset) *) -definition sbot \def \lambda (D:Domain). false_f D. - -(* subset and (binary intersection) *) -definition sand: \forall D. Subset D \to Subset D \to Subset D \def - \lambda D,U1,U2,d. U1 d \land U2 d. - -(* subset or (binary union) *) -definition sor: \forall D. Subset D \to Subset D \to Subset D \def - \lambda D,U1,U2,d. U1 d \lor U2 d. - -(* subset less or equal (inclusion) *) -definition sle: \forall D. Subset D \to Subset D \to Prop \def - \lambda D,U1,U2. \iforall d. U1 d \to U2 d. - -(* subset overlap *) -definition sover: \forall D. Subset D \to Subset D \to Prop \def - \lambda D,U1,U2. \iexists d. U1 d \land U2 d. - -(* coercions **************************************************************) - -(* the class of the subsets of a domain (not an implicit coercion) *) -definition class_of_subsets_of \def - \lambda D. mk_Class (Subset D) (true_f ?) (sle ?). - -(* the domain built upon a subset *) -definition domain_of_subset: \forall D. (Subset D) \to Domain \def - \lambda (D:Domain). \lambda U. - mk_Domain (mk_Class D (sin D U) (cle1 D)). - -coercion domain_of_subset. - -(* the full subset of a domain *) -coercion stop. diff --git a/helm/matita/coq.ma b/helm/matita/coq.ma deleted file mode 100644 index 10a3de677..000000000 --- a/helm/matita/coq.ma +++ /dev/null @@ -1,42 +0,0 @@ -(* aritmetic operators *) - -interpretation "Coq's natural plus" 'plus x y = (cic:/Coq/Init/Peano/plus.con x y). -interpretation "Coq's real plus" 'plus x y = (cic:/Coq/Reals/Rdefinitions/Rplus.con x y). -interpretation "Coq's binary integer plus" 'plus x y = (cic:/Coq/ZArith/BinInt/Zplus.con x y). -interpretation "Coq's binary positive plus" 'plus x y = (cic:/Coq/NArith/BinPos/Pplus.con x y). -interpretation "Coq's natural minus" 'minus x y = (cic:/Coq/Init/Peano/minus.con x y). -interpretation "Coq's real minus" 'minus x y = (cic:/Coq/Reals/Rdefinitions/Rminus.con x y). -interpretation "Coq's binary integer minus" 'minus x y = (cic:/Coq/ZArith/BinInt/Zminus.con x y). -interpretation "Coq's binary positive minus" 'minus x y = (cic:/Coq/NArith/BinPos/Pminus.con x y). -interpretation "Coq's natural times" 'times x y = (cic:/Coq/Init/Peano/mult.con x y). -interpretation "Coq's real times" 'times x y = (cic:/Coq/Reals/Rdefinitions/Rmult.con x y). -interpretation "Coq's binary positive times" 'times x y = (cic:/Coq/NArith/BinPos/Pmult.con x y). -interpretation "Coq's binary integer times" 'times x y = (cic:/Coq/ZArith/BinInt/Zmult.con x y). -interpretation "Coq's real power" 'power x y = (cic:/Coq/Reals/Rfunctions/pow.con x y). -interpretation "Coq's integer power" 'power x y = (cic:/Coq/ZArith/Zpower/Zpower.con x y). -interpretation "Coq's real divide" 'divide x y = (cic:/Coq/Reals/Rdefinitions/Rdiv.con x y). -interpretation "Coq's real unary minus" 'uminus x = (cic:/Coq/Reals/Rdefinitions/Ropp.con x). -interpretation "Coq's binary integer negative sign" 'uminus x = (cic:/Coq/ZArith/BinInt/Z.ind#xpointer(1/1/3) x). -interpretation "Coq's binary integer unary minus" 'uminus x = (cic:/Coq/ZArith/BinInt/Zopp.con x). - -(* logical operators *) - -interpretation "Coq's logical and" 'and x y = (cic:/Coq/Init/Logic/and.ind#xpointer(1/1) x y). -interpretation "Coq's logical or" 'or x y = (cic:/Coq/Init/Logic/or.ind#xpointer(1/1) x y). -interpretation "Coq's logical not" 'not x = (cic:/Coq/Init/Logic/not.con x). -interpretation "Coq's exists" 'exists \eta.x = (cic:/Coq/Init/Logic/ex.ind#xpointer(1/1) _ x). - -(* relational operators *) - -interpretation "Coq's natural 'less or equal to'" 'leq x y = (cic:/Coq/Init/Peano/le.ind#xpointer(1/1) x y). -interpretation "Coq's real 'less or equal to'" 'leq x y = (cic:/Coq/Reals/Rdefinitions/Rle.con x y). -interpretation "Coq's natural 'greater or equal to'" 'geq x y = (cic:/Coq/Init/Peano/ge.con x y). -interpretation "Coq's real 'greater or equal to'" 'geq x y = (cic:/Coq/Reals/Rdefinitions/Rge.con x y). -interpretation "Coq's natural 'less than'" 'lt x y = (cic:/Coq/Init/Peano/lt.con x y). -interpretation "Coq's real 'less than'" 'lt x y = (cic:/Coq/Reals/Rdefinitions/Rlt.con x y). -interpretation "Coq's natural 'greater than'" 'gt x y = (cic:/Coq/Init/Peano/gt.con x y). -interpretation "Coq's real 'greater than'" 'gt x y = (cic:/Coq/Reals/Rdefinitions/Rgt.con x y). - -interpretation "Coq's leibnitz's equality" 'eq x y = (cic:/Coq/Init/Logic/eq.ind#xpointer(1/1) _ x y). -interpretation "Coq's not equal to (leibnitz)" 'neq x y = (cic:/Coq/Init/Logic/not.con (cic:/Coq/Init/Logic/eq.ind#xpointer(1/1) _ x y)). - diff --git a/helm/matita/core_notation.moo b/helm/matita/core_notation.moo deleted file mode 100644 index c30e5142c..000000000 --- a/helm/matita/core_notation.moo +++ /dev/null @@ -1,115 +0,0 @@ -notation "hvbox(a break \to b)" - right associative with precedence 20 -for @{ \forall $_:$a.$b }. - -notation < "hvbox(a break \to b)" - right associative with precedence 20 -for @{ \Pi $_:$a.$b }. - -notation "hvbox(a break = b)" - non associative with precedence 45 -for @{ 'eq $a $b }. - -notation "hvbox(a break \leq b)" - non associative with precedence 45 -for @{ 'leq $a $b }. - -notation "hvbox(a break \geq b)" - non associative with precedence 45 -for @{ 'geq $a $b }. - -notation "hvbox(a break \lt b)" - non associative with precedence 45 -for @{ 'lt $a $b }. - -notation "hvbox(a break \gt b)" - non associative with precedence 45 -for @{ 'gt $a $b }. - -notation "hvbox(a break \neq b)" - non associative with precedence 45 -for @{ 'neq $a $b }. - -notation "hvbox(a break \nleq b)" - non associative with precedence 45 -for @{ 'nleq $a $b }. - -notation "hvbox(a break \ngeq b)" - non associative with precedence 45 -for @{ 'ngeq $a $b }. - -notation "hvbox(a break \nless b)" - non associative with precedence 45 -for @{ 'nless $a $b }. - -notation "hvbox(a break \ngtr b)" - non associative with precedence 45 -for @{ 'ngtr $a $b }. - -notation "hvbox(a break \divides b)" - non associative with precedence 45 -for @{ 'divides $a $b }. - -notation "hvbox(a break \ndivides b)" - non associative with precedence 45 -for @{ 'ndivides $a $b }. - -notation "hvbox(a break + b)" - left associative with precedence 50 -for @{ 'plus $a $b }. - -notation "hvbox(a break - b)" - left associative with precedence 50 -for @{ 'minus $a $b }. - -notation "hvbox(a break * b)" - left associative with precedence 55 -for @{ 'times $a $b }. - -notation "hvbox(a break \mod b)" - left associative with precedence 55 -for @{ 'module $a $b }. - -notation "\frac a b" - non associative with precedence 90 -for @{ 'divide $a $b }. - -notation "a \over b" - left associative with precedence 55 -for @{ 'divide $a $b }. - -notation "hvbox(a break / b)" - left associative with precedence 55 -for @{ 'divide $a $b }. - -notation > "- a" - right associative with precedence 60 -for @{ 'uminus $a }. - -notation < "- a" - right associative with precedence 75 -for @{ 'uminus $a }. - -notation "a !" - non associative with precedence 80 -for @{ 'fact $a }. - -notation "(a \sup b)" - right associative with precedence 65 -for @{ 'exp $a $b}. - -notation "\sqrt a" - non associative with precedence 60 -for @{ 'sqrt $a }. - -notation "hvbox(a break \lor b)" - left associative with precedence 30 -for @{ 'or $a $b }. - -notation "hvbox(a break \land b)" - left associative with precedence 35 -for @{ 'and $a $b }. - -notation "hvbox(\lnot a)" - left associative with precedence 40 -for @{ 'not $a }. diff --git a/helm/matita/dictionary-matita.xml b/helm/matita/dictionary-matita.xml deleted file mode 100644 index 35903486b..000000000 --- a/helm/matita/dictionary-matita.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/helm/matita/dist/Makefile b/helm/matita/dist/Makefile deleted file mode 100644 index 669137bf2..000000000 --- a/helm/matita/dist/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -MYSQL_FLAGS = --extended_insert --lock-tables=off --no-create-info -DB = -u helm -h mowgli.cs.unibo.it matita -TABLE_CREATOR = ../../ocaml/metadata/table_creator/table_creator -TABLES := $(shell $(TABLE_CREATOR) list all) -all: static_link -clean: static_link_clean -.PHONY: static_link -static_link: - $(MAKE) -C static_link/ -static_link_clean: - $(MAKE) -C static_link/ clean -dist: matita_stdlib.sql.gz -.PHONY: matita_stdlib.sql -matita_stdlib.sql: - mysqldump $(MYSQL_FLAGS) $(DB) $(TABLES) > $@ -%.gz: % - gzip -c $< > $@ diff --git a/helm/matita/dist/fill_db.sh b/helm/matita/dist/fill_db.sh deleted file mode 100755 index 1ae28d336..000000000 --- a/helm/matita/dist/fill_db.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/bash -set -e - -MYSQL="mysql" -DBHOST="localhost" -DBNAME="matita" -DBUSER="helm" -DBPASS="" - -TABLE_CREATOR="../../ocaml/metadata/table_creator/table_creator" - -SQL="matita_db.sql" -STDLIB_DATA="matita_stdlib.sql.gz" - -grant_sql="GRANT ALL PRIVILEGES ON $DBNAME.* TO $DBUSER@$DBHOST" -create_sql="CREATE DATABASE $DBNAME" -drop_sql="DROP DATABASE $DBNAME" - -function appendsql() -{ - echo "$1" >> $SQL -} - -echo "Step 0." -echo " Dropping old databases, if any." -echo " You can ignore errors output by this step" -echo "$drop_sql" | $MYSQL -f -echo "Step 1." -echo " Creating database and users." -echo "# SQL statements to create Matita DB and users" > $SQL -appendsql "$create_sql;" -if [ -z "$DBPASS" ]; then - appendsql "$grant_sql;" -else - appendsql "$grant_sql IDENTIFIED BY '$DBPASS';" -fi -$MYSQL < $SQL -echo "Step 2." -echo " Creating database structure." -echo "# SQL statements to create Matita DB structure" > $SQL -creator_args="table fill index" -for arg in $creator_args; do - appendsql "`$TABLE_CREATOR $arg all`" -done -$MYSQL $DBNAME < $SQL -echo "Step 3." -echo " Filling database with standard library metadata." -if [ -f "$STDLIB_DATA" ]; then - gunzip -c "$STDLIB_DATA" | $MYSQL $DBNAME -else - echo " Standard library metadata file $STDLIB_DATA not found, skipping this step." -fi - diff --git a/helm/matita/dist/static_link/.cvsignore b/helm/matita/dist/static_link/.cvsignore deleted file mode 100644 index a922053a0..000000000 --- a/helm/matita/dist/static_link/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -static_link -static_link.cmi -static_link.cmo diff --git a/helm/matita/dist/static_link/Makefile b/helm/matita/dist/static_link/Makefile deleted file mode 100644 index 5a02bb3b7..000000000 --- a/helm/matita/dist/static_link/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: static_link -static_link: static_link.ml - ocamlfind ocamlc -package unix,str -linkpkg -o $@ $< -clean: - rm -f static_link.cm* static_link diff --git a/helm/matita/dist/static_link/static_link.ml b/helm/matita/dist/static_link/static_link.ml deleted file mode 100644 index 8b1d57668..000000000 --- a/helm/matita/dist/static_link/static_link.ml +++ /dev/null @@ -1,162 +0,0 @@ - -open Printf - -exception Found of string list - -let ocamlobjinfo = "ocamlobjinfo" -let noautolink = "-noautolink" -let dummy_opt_cmd = "dummy_ocamlopt" -let opt_cmd = "ocamlopt" -let libdirs = [ "/lib"; "/usr/lib"; "/usr/lib/gcc/i486-linux-gnu/4.0.2" ] -let exceptions = [ "threads.cma", [ "-lthreads", "-lthreadsnat" ] ] - -let blanks_RE = Str.regexp "[ \t\r\n]+" -let cmxa_RE = Str.regexp "\\.cmxa$" -let extra_cfiles_RE = Str.regexp "^.*Extra +C +object +files:\\(.*\\)$" -let extra_copts_RE = Str.regexp "^.*Extra +C +options:\\(.*\\)$" -let lib_RE = Str.regexp "^lib" -let l_RE = Str.regexp "^-l" -let opt_line_RE = Str.regexp (sprintf "^\\+ +%s +\\(.*\\)$" dummy_opt_cmd) -let trailing_cmxa_RE = Str.regexp ".*\\.cmxa$" - -let message s = prerr_endline ("STATIC_LINK: " ^ s) -let warning s = message ("WARNING: " ^ s) - -let handle_exceptions ~cma cflag = - try - let cma_exns = List.assoc (Filename.basename cma) exceptions in - let cflag' = List.assoc cflag cma_exns in - message (sprintf "using %s exception %s -> %s" cma cflag cflag'); - cflag' - with Not_found -> cflag - -let parse_cmdline () = - let mine, rest = ref [], ref [] in - let is_mine = ref true in - Array.iter - (function - | "--" -> is_mine := false - | s when !is_mine -> - if Str.string_match lib_RE s 0 then - warning (sprintf - ("libraries to be statically linked must be specified " - ^^ "without heading \"lib\", \"%s\" argument may be wrong") s); - mine := s :: !mine - | s -> rest := s :: !rest) - Sys.argv; - if !rest = [] then begin - prerr_endline "Usage: static_link [ CLIB .. ] -- COMMAND [ ARG .. ]"; - prerr_endline ("Example: static_link pcre expat --" - ^ " ocamlfind opt -package pcre,expat -linkpkg -o foo foo.ml"); - exit 0 - end; - List.tl (List.rev !mine), List.rev !rest - -let extract_opt_flags cmd = - let ic = Unix.open_process_in cmd in - (try - while true do - let l = input_line ic in - if Str.string_match opt_line_RE l 0 then begin - message ("got ocamlopt line: " ^ l); - raise (Found (Str.split blanks_RE (Str.matched_group 1 l))); - end - done; - [] (* dummy value *) - with - | End_of_file -> failwith "compiler command not found" - | Found flags -> - close_in ic; - flags) - -let cma_of_cmxa = Str.replace_first cmxa_RE ".cma" - -let find_clib libname = - let rec aux = - function - | [] -> raise Not_found - | libdir :: tl -> - let fname = sprintf "%s/lib%s.a" libdir libname in - if Sys.file_exists fname then fname else aux tl - in - aux libdirs - -let a_of_cflag cflag = (* "-lfoo" -> "/usr/lib/libfoo.a" *) - let libname = Str.replace_first l_RE "" cflag in - find_clib libname - -let cflags_of_cma fname = - let ic = Unix.open_process_in (sprintf "%s %s" ocamlobjinfo fname) in - let extra_copts = ref "" in - let extra_cfiles = ref "" in - (try - while true do - match input_line ic with - | s when Str.string_match extra_copts_RE s 0 -> - extra_copts := Str.matched_group 1 s - | s when Str.string_match extra_cfiles_RE s 0 -> - extra_cfiles := Str.matched_group 1 s - | _ -> () - done - with End_of_file -> ()); - close_in ic; - let extra_cfiles = List.rev (Str.split blanks_RE !extra_cfiles) in - let extra_copts = Str.split blanks_RE !extra_copts in - extra_copts @ extra_cfiles - -let staticize static_libs flags = - let static_flags = List.map ((^) "-l") static_libs in - let aux ~add_cclib ~cma cflag = - let cflag = - if List.mem cflag static_flags - then - (try - let a = a_of_cflag cflag in - message (sprintf "using static %s instead of shared %s" a cflag); - a - with Not_found -> warning ("can't find lib for " ^ cflag); cflag) - else (handle_exceptions ~cma cflag) - in - if add_cclib then [ "-cclib"; cflag ] else [ cflag ] - in - List.fold_right - (fun flag acc -> - let cma = cma_of_cmxa flag in - if Str.string_match trailing_cmxa_RE flag 0 then begin - message ("processing native archive: " ^ flag); - let cflags = cflags_of_cma cma in - let cflags' = - List.fold_right - (fun cflag acc -> (aux ~add_cclib:true ~cma cflag) @ acc) - cflags [] - in - flag :: (cflags' @ acc) - end else - (aux ~add_cclib:false ~cma flag) @ acc) - flags [] - -let quote_if_needed s = - try - ignore (Str.search_forward blanks_RE s 0); - "\"" ^ s ^ "\"" - with Not_found -> s - -let main () = - let static_libs, args = parse_cmdline () in - printf "C libraries to be linked-in: %s\n" (String.concat " " static_libs); - flush stdout; - let verbose_cmd = - sprintf "OCAMLFIND_COMMANDS='ocamlopt=%s' %s -verbose 2>&1" dummy_opt_cmd - (String.concat " " (List.map quote_if_needed args)) - in - let orig_opt_flags = extract_opt_flags verbose_cmd in - message ("original ocamlopt flags: " ^ String.concat " " orig_opt_flags); - let opt_flags = staticize static_libs orig_opt_flags in - message ("new ocamlopt flags: " ^ String.concat " " opt_flags); - let flags = noautolink :: opt_flags in - let cmd = String.concat " " (opt_cmd :: flags) in - message ("executing command: " ^ cmd); - exit (Sys.command cmd) - -let _ = main () - diff --git a/helm/matita/dump_moo.ml b/helm/matita/dump_moo.ml deleted file mode 100644 index 14dea3472..000000000 --- a/helm/matita/dump_moo.ml +++ /dev/null @@ -1,59 +0,0 @@ -(* Copyright (C) 2005, 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 arg_spec = - let std_arg_spec = [] in - let debug_arg_spec = [] in - std_arg_spec @ debug_arg_spec - -let usage = - sprintf "MatitaC v%s\nUsage: dump_moo [option ...] file.moo\nOptions:" - BuildTimeConf.version - -let _ = - let moos = ref [] in - let add_moo fname = moos := fname :: !moos in - Arg.parse arg_spec add_moo usage; - if !moos = [] then begin print_endline usage; exit 1 end; - List.iter - (fun fname -> - if not (Sys.file_exists fname) then - MatitaLog.error (sprintf "Can't find moo '%s', skipping it." fname) - else begin - printf "%s:\n" fname; flush stdout; - let commands, metadata = MatitaMoo.load_moo ~fname in - List.iter - (fun cmd -> - printf " %s\n" (GrafiteAstPp.pp_command cmd); flush stdout) - commands; - List.iter - (fun m -> - printf " %s\n" (GrafiteAstPp.pp_metadata m); flush stdout) - metadata - end) - (List.rev !moos) - diff --git a/helm/matita/gtkmathview.matita.conf.xml.in b/helm/matita/gtkmathview.matita.conf.xml.in deleted file mode 100644 index 0a33ae6d0..000000000 --- a/helm/matita/gtkmathview.matita.conf.xml.in +++ /dev/null @@ -1,15 +0,0 @@ - - -

- @RT_BASE_DIR@/dictionary-matita.xml -
-
-
-
-
- normal -
-
-
-
- diff --git a/helm/matita/icons/matita-bulb-high.png b/helm/matita/icons/matita-bulb-high.png deleted file mode 100644 index 03b6e7f8664372aafa75a27eae71f36ba634ec49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1149 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 diff --git a/helm/matita/icons/matita-object.png b/helm/matita/icons/matita-object.png deleted file mode 100644 index fe89a30e81ef3c6651b4256010395eed9caa9159..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 893 zcmV-@1A_dCP)cYZ;4h{~6z$-vUMY{rTlGJp4{fXYX^_`YVB~?`|7K=JO zJnVpcgQSJ2udi=g|5P=dMZ~XRb90m4-d+GkMn;&LnhJV)daeO|fXVJu7*+Kl7!#l> zcrLQpEOA_?P$;xN_C8PmV$+JH9f5D&{1#Qk7~_>B_nkdE&i(uMc=Yfgzs}#r0FT2J zuFrfE0v`YmvfVOP1y$kPxsO{3R53w797PNa3~==58|>ZpGUalaCu@HJya;4ES|s99 z;09SP*SR+T{JlKPr_CRFZ42A2~uMlL0bRs}*cL z=Fq`|^fx!k)4M1o@F6OQ2wz>f0>BraPbb$@SYG~}IF5+oh`1i7&%btHe`9Gn6F7$x zhjR{b3E1)Xj&u3)C5p4NOizE=OhAM^7dPAa`MCpR#sM6 zT3Vu7ts){=YY`EGz@)vgBSEK8E|-~`o8$1|LwtJveA-yM8Bgi5&Nd6{i~PskyWE(W z;iK_!&YbxW=N#77)2>z#)c>5g?g|p`9nRWhEy9Hh7b%tgYg|cN=Nt;D2 z1aTav8Q}pj@cj=(42ILEPcb|DBdUqQ(b1EMO^sTpqTMXo*x2wsDwrhuAP5*cHHtCG zRva4}MMN;ZUaIQn=GnDvk;59K4O zO)^&B|H*$Q^}7KoD$L*cEiGSreLs7~mwvan2pj`)rcKR0A3gu`OQsI20c-yOdfwOL Tclo~_00000NkvXXu0mjf+{>YP diff --git a/helm/matita/icons/matita-theory.png b/helm/matita/icons/matita-theory.png deleted file mode 100644 index 389152ef306f55bf5322ad4102da6526e33e2f79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1287 zcmV+i1^D`jP)`cH5LoX(LOkA`mekloD!`3Q_C> z@IXKxOh^+n8hL4e2x_93Xp9uwR3eGKXca*dASn{kDv?Sph1%P8d)xbEZr{xM z(AnBTQTQh(GY|9qzWobSN=aseBG^FaPCA_hc(Ffafd03^p9;7iIXtHW;}Z)0>a zMov-CbPZM2(RB??)6jJNwnZMdM0#SFOXq&d$H)3NNq2y^wX_~X(RDQ4V0bKws;a1} zief*7FaU5%(hOKP1ZHd$NpcBbk#in!uqaU0w0v0&sZ5UWcofq#5q6k%6l4g2Aq08y zD5)rkc!bH3zWsnQAN-RY&+P{wtEkgZVPFb@DFi|Y@_B3S0Xe5J!q5o@{1)&j@b|6o zGGJ%pmTg2P6GSExwrgvS^MY(9Zns1#Izeps8c%I)az47D9w2lp{GDfCI808_$mVhg z+o?G#EbCvmWr4%tK$2VtL#N2?%y(YC#GXBS0g7kCOM#ZnPi(ak=^SHI$(j6$SutOQ zq@v@*!#%8Bvr?_9uI9@VpHKhUtna#7THhqA=uSmZXYxD8xhZagOD-3NF!9T7Qpu!m z<%*Sbb#(#+3#GUW2(8~x&s0Jqn#|0pj61oOBo}HXPJHMp+nXBk$!=kWR#?xv!4ii{Bf-7ll&v1A7u=4nxv{xy|5G^1cqTC zOhGQEFd0u`nRA^hs!n)l0CU_=d9a+Snh+m-eAo$`0+K*ja(KMEHf?Fycl|fE-4UtR54cqk~kd=ykzPg^?UMgG}%4M0-7jg|`fV^|j!bPY` zj$qvedZI3F_7C8eJv>yqoK>M}ULFxV)7;G9;2?=ulte5_Y-*B*hK-!-xJ)RtoZru$ zRLNT>fmFdYfOMm;_sJXYzkXKo6vfsx?eaLluU0H|7$p^?A|s^bB>VQigyi)id)$-+ zil^_1_daCp>N*qyrXoWQ;LL2-g^4o^v{|MxIMVk=nPrNa=RHZMHqb|EJi<3=k9Bjx z(9U#p89$!ybh|xnihME+_3P=qeuG1=9u?VS^ef;B&||{^C`=-^UGEEkj&C0+4@Oke zS0TF`yRSqIKn2V-jm>hPq+ALH%aJ@@Q!~-p+uoJ)rm+vW3S0+fO0LlU29U6K?YI!r zc05?@%#Y^`tFFkE=*yWsz^N-2zFQA$04f2?Zu1X-xII7T%)a?%=;l?$(uvml7L?>H z%kyxlS8ljCmH>9!IrRe-fX`m90R6y-ZSp@Q0b^GitJEbPhyH8Bk_<2fJZ%pXFHmf! xaDn~qzU$6&z(HUX_*$Ay*Abuz2;55t{{!UdqH-zUjSBz(002ovPDHLkV1jP)TPOek diff --git a/helm/matita/icons/matita.png b/helm/matita/icons/matita.png deleted file mode 100644 index 342bcb44c8e314b1be4b0e2272267d43b7215717..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17605 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 diff --git a/helm/matita/icons/matita_medium.png b/helm/matita/icons/matita_medium.png deleted file mode 100644 index 335688af2fcb78e03fa2fe3daf54a42e44ffe55b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12270 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 diff --git a/helm/matita/icons/matita_small.png b/helm/matita/icons/matita_small.png deleted file mode 100644 index cfb017b0f220319617cfd8a4236b19e097be346e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4786 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 M07*qoM6N<$g4i)e%K!iX diff --git a/helm/matita/icons/meegg.png b/helm/matita/icons/meegg.png deleted file mode 100644 index 4c2be73fbb0d0528f8a0bce7452494d329bdf0d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157131 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 z 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 - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - h - - e - - l - - p - - W - - - diff --git a/helm/matita/library/.cvsignore b/helm/matita/library/.cvsignore deleted file mode 100644 index 6d473d47a..000000000 --- a/helm/matita/library/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -.depend -*.moo diff --git a/helm/matita/library/Makefile b/helm/matita/library/Makefile deleted file mode 100644 index e13b3e8a4..000000000 --- a/helm/matita/library/Makefile +++ /dev/null @@ -1,54 +0,0 @@ -SRC=$(shell find . -name "*.ma" -a -type f) - -MATITA_FLAGS = -NODB=false -ifeq ($(NODB),true) - MATITA_FLAGS += -nodb -endif - -MATITAC=../scripts/do_tests.sh $(DO_TESTS_OPTS) "../matitac $(MATITA_FLAGS)" "../matitaclean $(MATITA_FLAGS)" /dev/null OK -MATITACOPT=../scripts/do_tests.sh $(DO_TESTS_OPTS) "../matitac.opt $(MATITA_FLAGS)" "../matitaclean.opt $(MATITA_FLAGS)" /dev/null OK -VERBOSEMATITAC=../matitac $(MATITA_FLAGS) -VERBOSEMATITACOPT=../matitac.opt $(MATITA_FLAGS) - -MATITACLEAN=../matitaclean $(MATITA_FLAGS) -MATITACLEANOPT=../matitaclean.opt $(MATITA_FLAGS) - -MATITADEP=../matitadep $(MATITA_FLAGS) -MATITADEPOPT=../matitadep.opt $(MATITA_FLAGS) - -DEPEND_NAME=.depend - -H=@ - -all: $(SRC:%.ma=%.mo) - -opt: - $(H)$(MAKE) MATITAC='$(MATITACOPT)' MATITACLEAN='$(MATITACLEANOPT)' MATITADEP='$(MATITADEPOPT)' all - -verbose: - $(H)$(MAKE) MATITAC='$(VERBOSEMATITAC)' MATITACLEAN='$(MATITACLEAN)' MATITADEP='$(MATITADEP)' all - -%.opt: - $(H)$(MAKE) MATITAC='$(MATITACOPT)' MATITACLEAN='$(MATITACLEANOPT)' MATITADEP='$(MATITADEPOPT)' $(@:%.opt=%) - -clean: - $(H)$(MATITACLEAN) $(SRC) - -cleanall: - $(H)rm -f $(SRC:%.ma=%.moo) - $(MATITACLEAN) all - -depend: - rm -f $(DEPEND_NAME) - $(MAKE) $(DEPEND_NAME) -.PHONY: depend - -%.moo: - $(H)$(MATITAC) $< - -$(DEPEND_NAME): $(SRC) - $(H)$(MATITADEP) $(SRC) > $@ || rm -f $@ - -#include $(DEPEND_NAME) -include .depend diff --git a/helm/matita/library/Q/q.ma b/helm/matita/library/Q/q.ma deleted file mode 100644 index 340154979..000000000 --- a/helm/matita/library/Q/q.ma +++ /dev/null @@ -1,320 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/Q/q". - -include "Z/compare.ma". -include "Z/plus.ma". - -(* a fraction is a list of Z-coefficients for primes, in natural -order. The last coefficient must eventually be different from 0 *) - -inductive fraction : Set \def - pp : nat \to fraction -| nn: nat \to fraction -| cons : Z \to fraction \to fraction. - -inductive ratio : Set \def - one : ratio - | frac : fraction \to ratio. - -(* a rational number is either O or a ratio with a sign *) -inductive Q : Set \def - OQ : Q - | Qpos : ratio \to Q - | Qneg : ratio \to Q. - -(* double elimination principles *) -theorem fraction_elim2: -\forall R:fraction \to fraction \to Prop. -(\forall n:nat.\forall g:fraction.R (pp n) g) \to -(\forall n:nat.\forall g:fraction.R (nn n) g) \to -(\forall x:Z.\forall f:fraction.\forall m:nat.R (cons x f) (pp m)) \to -(\forall x:Z.\forall f:fraction.\forall m:nat.R (cons x f) (nn m)) \to -(\forall x,y:Z.\forall f,g:fraction.R f g \to R (cons x f) (cons y g)) \to -\forall f,g:fraction. R f g. -intros 7.elim f. - apply H. - apply H1. - elim g. - apply H2. - apply H3. - apply H4.apply H5. -qed. - -(* boolean equality *) -let rec eqfb f g \def -match f with -[ (pp n) \Rightarrow - match g with - [ (pp m) \Rightarrow eqb n m - | (nn m) \Rightarrow false - | (cons y g1) \Rightarrow false] -| (nn n) \Rightarrow - match g with - [ (pp m) \Rightarrow false - | (nn m) \Rightarrow eqb n m - | (cons y g1) \Rightarrow false] -| (cons x f1) \Rightarrow - match g with - [ (pp m) \Rightarrow false - | (nn m) \Rightarrow false - | (cons y g1) \Rightarrow andb (eqZb x y) (eqfb f1 g1)]]. - -(* discrimination *) -definition aux \def - \lambda f. match f with - [ (pp n) \Rightarrow n - | (nn n) \Rightarrow n - | (cons x f) \Rightarrow O]. - -definition fhd \def -\lambda f. match f with - [ (pp n) \Rightarrow (pos n) - | (nn n) \Rightarrow (neg n) - | (cons x f) \Rightarrow x]. - -definition ftl \def -\lambda f. match f with - [ (pp n) \Rightarrow (pp n) - | (nn n) \Rightarrow (nn n) - | (cons x f) \Rightarrow f]. - -theorem injective_pp : injective nat fraction pp. -unfold injective.intros. -change with ((aux (pp x)) = (aux (pp y))). -apply eq_f.assumption. -qed. - -theorem injective_nn : injective nat fraction nn. -unfold injective.intros. -change with ((aux (nn x)) = (aux (nn y))). -apply eq_f.assumption. -qed. - -theorem eq_cons_to_eq1: \forall f,g:fraction.\forall x,y:Z. -(cons x f) = (cons y g) \to x = y. -intros. -change with ((fhd (cons x f)) = (fhd (cons y g))). -apply eq_f.assumption. -qed. - -theorem eq_cons_to_eq2: \forall x,y:Z.\forall f,g:fraction. -(cons x f) = (cons y g) \to f = g. -intros. -change with ((ftl (cons x f)) = (ftl (cons y g))). -apply eq_f.assumption. -qed. - -theorem not_eq_pp_nn: \forall n,m:nat. pp n \neq nn m. -intros.unfold Not. intro. -change with match (pp n) with -[ (pp n) \Rightarrow False -| (nn n) \Rightarrow True -| (cons x f) \Rightarrow True]. -rewrite > H. -simplify.exact I. -qed. - -theorem not_eq_pp_cons: -\forall n:nat.\forall x:Z. \forall f:fraction. -pp n \neq cons x f. -intros.unfold Not. intro. -change with match (pp n) with -[ (pp n) \Rightarrow False -| (nn n) \Rightarrow True -| (cons x f) \Rightarrow True]. -rewrite > H. -simplify.exact I. -qed. - -theorem not_eq_nn_cons: -\forall n:nat.\forall x:Z. \forall f:fraction. -nn n \neq cons x f. -intros.unfold Not. intro. -change with match (nn n) with -[ (pp n) \Rightarrow True -| (nn n) \Rightarrow False -| (cons x f) \Rightarrow True]. -rewrite > H. -simplify.exact I. -qed. - -theorem decidable_eq_fraction: \forall f,g:fraction. -decidable (f = g). -intros.unfold decidable. -apply (fraction_elim2 (\lambda f,g. f=g \lor (f=g \to False))). - intros.elim g1. - elim ((decidable_eq_nat n n1) : n=n1 \lor (n=n1 \to False)). - left.apply eq_f. assumption. - right.intro.apply H.apply injective_pp.assumption. - right.apply not_eq_pp_nn. - right.apply not_eq_pp_cons. - intros. elim g1. - right.intro.apply (not_eq_pp_nn n1 n).apply sym_eq. assumption. - elim ((decidable_eq_nat n n1) : n=n1 \lor (n=n1 \to False)). - left. apply eq_f. assumption. - right.intro.apply H.apply injective_nn.assumption. - right.apply not_eq_nn_cons. - intros.right.intro.apply (not_eq_pp_cons m x f1).apply sym_eq.assumption. - intros.right.intro.apply (not_eq_nn_cons m x f1).apply sym_eq.assumption. - intros.elim H. - elim ((decidable_eq_Z x y) : x=y \lor (x=y \to False)). - left.apply eq_f2.assumption. - assumption. - right.intro.apply H2.apply (eq_cons_to_eq1 f1 g1).assumption. - right.intro.apply H1.apply (eq_cons_to_eq2 x y f1 g1).assumption. -qed. - -theorem eqfb_to_Prop: \forall f,g:fraction. -match (eqfb f g) with -[true \Rightarrow f=g -|false \Rightarrow f \neq g]. -intros.apply (fraction_elim2 -(\lambda f,g.match (eqfb f g) with -[true \Rightarrow f=g -|false \Rightarrow f \neq g])). - intros.elim g1. - simplify.apply eqb_elim. - intro.simplify.apply eq_f.assumption. - intro.simplify.unfold Not.intro.apply H.apply injective_pp.assumption. - simplify.apply not_eq_pp_nn. - simplify.apply not_eq_pp_cons. - intros.elim g1. - simplify.unfold Not.intro.apply (not_eq_pp_nn n1 n).apply sym_eq. assumption. - simplify.apply eqb_elim.intro.simplify.apply eq_f.assumption. - intro.simplify.unfold Not.intro.apply H.apply injective_nn.assumption. - simplify.apply not_eq_nn_cons. - intros.simplify.unfold Not.intro.apply (not_eq_pp_cons m x f1).apply sym_eq. assumption. - intros.simplify.unfold Not.intro.apply (not_eq_nn_cons m x f1).apply sym_eq. assumption. - intros. - change in match (eqfb (cons x f1) (cons y g1)) - with (andb (eqZb x y) (eqfb f1 g1)). - apply eqZb_elim. - intro.generalize in match H.elim (eqfb f1 g1). - simplify.apply eq_f2.assumption. - apply H2. - simplify.unfold Not.intro.apply H2.apply (eq_cons_to_eq2 x y).assumption. - intro.simplify.unfold Not.intro.apply H1.apply (eq_cons_to_eq1 f1 g1).assumption. -qed. - -let rec finv f \def - match f with - [ (pp n) \Rightarrow (nn n) - | (nn n) \Rightarrow (pp n) - | (cons x g) \Rightarrow (cons (Zopp x) (finv g))]. - -definition Z_to_ratio :Z \to ratio \def -\lambda x:Z. match x with -[ OZ \Rightarrow one -| (pos n) \Rightarrow frac (pp n) -| (neg n) \Rightarrow frac (nn n)]. - -let rec ftimes f g \def - match f with - [ (pp n) \Rightarrow - match g with - [(pp m) \Rightarrow Z_to_ratio (pos n + pos m) - | (nn m) \Rightarrow Z_to_ratio (pos n + neg m) - | (cons y g1) \Rightarrow frac (cons (pos n + y) g1)] - | (nn n) \Rightarrow - match g with - [(pp m) \Rightarrow Z_to_ratio (neg n + pos m) - | (nn m) \Rightarrow Z_to_ratio (neg n + neg m) - | (cons y g1) \Rightarrow frac (cons (neg n + y) g1)] - | (cons x f1) \Rightarrow - match g with - [ (pp m) \Rightarrow frac (cons (x + pos m) f1) - | (nn m) \Rightarrow frac (cons (x + neg m) f1) - | (cons y g1) \Rightarrow - match ftimes f1 g1 with - [ one \Rightarrow Z_to_ratio (x + y) - | (frac h) \Rightarrow frac (cons (x + y) h)]]]. - -theorem symmetric2_ftimes: symmetric2 fraction ratio ftimes. -unfold symmetric2. intros.apply (fraction_elim2 (\lambda f,g.ftimes f g = ftimes g f)). - intros.elim g. - change with (Z_to_ratio (pos n + pos n1) = Z_to_ratio (pos n1 + pos n)). - apply eq_f.apply sym_Zplus. - change with (Z_to_ratio (pos n + neg n1) = Z_to_ratio (neg n1 + pos n)). - apply eq_f.apply sym_Zplus. - change with (frac (cons (pos n + z) f) = frac (cons (z + pos n) f)). - rewrite < sym_Zplus.reflexivity. - intros.elim g. - change with (Z_to_ratio (neg n + pos n1) = Z_to_ratio (pos n1 + neg n)). - apply eq_f.apply sym_Zplus. - change with (Z_to_ratio (neg n + neg n1) = Z_to_ratio (neg n1 + neg n)). - apply eq_f.apply sym_Zplus. - change with (frac (cons (neg n + z) f) = frac (cons (z + neg n) f)). - rewrite < sym_Zplus.reflexivity. - intros.change with (frac (cons (x1 + pos m) f) = frac (cons (pos m + x1) f)). - rewrite < sym_Zplus.reflexivity. - intros.change with (frac (cons (x1 + neg m) f) = frac (cons (neg m + x1) f)). - rewrite < sym_Zplus.reflexivity. - intros. - change with - (match ftimes f g with - [ one \Rightarrow Z_to_ratio (x1 + y1) - | (frac h) \Rightarrow frac (cons (x1 + y1) h)] = - match ftimes g f with - [ one \Rightarrow Z_to_ratio (y1 + x1) - | (frac h) \Rightarrow frac (cons (y1 + x1) h)]). - rewrite < H.rewrite < sym_Zplus.reflexivity. -qed. - -theorem ftimes_finv : \forall f:fraction. ftimes f (finv f) = one. -intro.elim f. - change with (Z_to_ratio (pos n + - (pos n)) = one). - rewrite > Zplus_Zopp.reflexivity. - change with (Z_to_ratio (neg n + - (neg n)) = one). - rewrite > Zplus_Zopp.reflexivity. -(* again: we would need something to help finding the right change *) - change with - (match ftimes f1 (finv f1) with - [ one \Rightarrow Z_to_ratio (z + - z) - | (frac h) \Rightarrow frac (cons (z + - z) h)] = one). - rewrite > H.rewrite > Zplus_Zopp.reflexivity. -qed. - -definition rtimes : ratio \to ratio \to ratio \def -\lambda r,s:ratio. - match r with - [one \Rightarrow s - | (frac f) \Rightarrow - match s with - [one \Rightarrow frac f - | (frac g) \Rightarrow ftimes f g]]. - -theorem symmetric_rtimes : symmetric ratio rtimes. -change with (\forall r,s:ratio. rtimes r s = rtimes s r). -intros. -elim r. elim s. -reflexivity. -reflexivity. -elim s. -reflexivity. -simplify.apply symmetric2_ftimes. -qed. - -definition rinv : ratio \to ratio \def -\lambda r:ratio. - match r with - [one \Rightarrow one - | (frac f) \Rightarrow frac (finv f)]. - -theorem rtimes_rinv: \forall r:ratio. rtimes r (rinv r) = one. -intro.elim r. -reflexivity. -simplify.apply ftimes_finv. -qed. diff --git a/helm/matita/library/Z/.cvsignore b/helm/matita/library/Z/.cvsignore deleted file mode 100644 index fcd4d925e..000000000 --- a/helm/matita/library/Z/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.moo diff --git a/helm/matita/library/Z/compare.ma b/helm/matita/library/Z/compare.ma deleted file mode 100644 index 4a5025975..000000000 --- a/helm/matita/library/Z/compare.ma +++ /dev/null @@ -1,143 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/Z/compare". - -include "Z/orders.ma". -include "nat/compare.ma". - -(* boolean equality *) -definition eqZb : Z \to Z \to bool \def -\lambda x,y:Z. - match x with - [ OZ \Rightarrow - match y with - [ OZ \Rightarrow true - | (pos q) \Rightarrow false - | (neg q) \Rightarrow false] - | (pos p) \Rightarrow - match y with - [ OZ \Rightarrow false - | (pos q) \Rightarrow eqb p q - | (neg q) \Rightarrow false] - | (neg p) \Rightarrow - match y with - [ OZ \Rightarrow false - | (pos q) \Rightarrow false - | (neg q) \Rightarrow eqb p q]]. - -theorem eqZb_to_Prop: -\forall x,y:Z. -match eqZb x y with -[ true \Rightarrow x=y -| false \Rightarrow x \neq y]. -intros. -elim x. - elim y. - simplify.reflexivity. - simplify.apply not_eq_OZ_pos. - simplify.apply not_eq_OZ_neg. - elim y. - simplify.unfold Not.intro.apply (not_eq_OZ_pos n).apply sym_eq.assumption. - simplify.apply eqb_elim. - intro.simplify.apply eq_f.assumption. - intro.simplify.unfold Not.intro.apply H.apply inj_pos.assumption. - simplify.apply not_eq_pos_neg. - elim y. - simplify.unfold Not.intro.apply (not_eq_OZ_neg n).apply sym_eq.assumption. - simplify.unfold Not.intro.apply (not_eq_pos_neg n1 n).apply sym_eq.assumption. - simplify.apply eqb_elim. - intro.simplify.apply eq_f.assumption. - intro.simplify.unfold Not.intro.apply H.apply inj_neg.assumption. -qed. - -theorem eqZb_elim: \forall x,y:Z.\forall P:bool \to Prop. -(x=y \to (P true)) \to (x \neq y \to (P false)) \to P (eqZb x y). -intros. -cut -(match (eqZb x y) with -[ true \Rightarrow x=y -| false \Rightarrow x \neq y] \to P (eqZb x y)). -apply Hcut. -apply eqZb_to_Prop. -elim (eqZb). -apply (H H2). -apply (H1 H2). -qed. - -definition Z_compare : Z \to Z \to compare \def -\lambda x,y:Z. - match x with - [ OZ \Rightarrow - match y with - [ OZ \Rightarrow EQ - | (pos m) \Rightarrow LT - | (neg m) \Rightarrow GT ] - | (pos n) \Rightarrow - match y with - [ OZ \Rightarrow GT - | (pos m) \Rightarrow (nat_compare n m) - | (neg m) \Rightarrow GT] - | (neg n) \Rightarrow - match y with - [ OZ \Rightarrow LT - | (pos m) \Rightarrow LT - | (neg m) \Rightarrow nat_compare m n ]]. - -theorem Z_compare_to_Prop : -\forall x,y:Z. match (Z_compare x y) with -[ LT \Rightarrow x < y -| EQ \Rightarrow x=y -| GT \Rightarrow y < x]. -intros. -elim x. - elim y. - simplify.apply refl_eq. - simplify.exact I. - simplify.exact I. - elim y. - simplify.exact I. - simplify. - cut (match (nat_compare n n1) with - [ LT \Rightarrow n Zplus_z_OZ.reflexivity. -elim y.simplify.reflexivity. -simplify. -rewrite < plus_n_Sm. rewrite < plus_n_Sm.rewrite < sym_plus.reflexivity. -simplify. -rewrite > nat_compare_n_m_m_n. -simplify.elim nat_compare.simplify.reflexivity. -simplify. reflexivity. -simplify. reflexivity. -elim y.simplify.reflexivity. -simplify.rewrite > nat_compare_n_m_m_n. -simplify.elim nat_compare.simplify.reflexivity. -simplify. reflexivity. -simplify. reflexivity. -simplify.rewrite < plus_n_Sm. rewrite < plus_n_Sm.rewrite < sym_plus.reflexivity. -qed. - -theorem Zpred_Zplus_neg_O : \forall z:Z. Zpred z = (neg O)+z. -intros.elim z. - simplify.reflexivity. - elim n. - simplify.reflexivity. - simplify.reflexivity. - simplify.reflexivity. -qed. - -theorem Zsucc_Zplus_pos_O : \forall z:Z. Zsucc z = (pos O)+z. -intros.elim z. - simplify.reflexivity. - simplify.reflexivity. - elim n. - simplify.reflexivity. - simplify.reflexivity. -qed. - -theorem Zplus_pos_pos: -\forall n,m. (pos n)+(pos m) = (Zsucc (pos n))+(Zpred (pos m)). -intros. -elim n.elim m. -simplify.reflexivity. -simplify.reflexivity. -elim m. -simplify.rewrite < plus_n_Sm. -rewrite < plus_n_O.reflexivity. -simplify.rewrite < plus_n_Sm. -rewrite < plus_n_Sm.reflexivity. -qed. - -theorem Zplus_pos_neg: -\forall n,m. (pos n)+(neg m) = (Zsucc (pos n))+(Zpred (neg m)). -intros.reflexivity. -qed. - -theorem Zplus_neg_pos : -\forall n,m. (neg n)+(pos m) = (Zsucc (neg n))+(Zpred (pos m)). -intros. -elim n.elim m. -simplify.reflexivity. -simplify.reflexivity. -elim m. -simplify.reflexivity. -simplify.reflexivity. -qed. - -theorem Zplus_neg_neg: -\forall n,m. (neg n)+(neg m) = (Zsucc (neg n))+(Zpred (neg m)). -intros. -elim n.elim m. -simplify.reflexivity. -simplify.reflexivity. -elim m. -simplify.rewrite > plus_n_Sm.reflexivity. -simplify.rewrite > plus_n_Sm.reflexivity. -qed. - -theorem Zplus_Zsucc_Zpred: -\forall x,y. x+y = (Zsucc x)+(Zpred y). -intros.elim x. - elim y. - simplify.reflexivity. - rewrite < Zsucc_Zplus_pos_O.rewrite > Zsucc_Zpred.reflexivity. - simplify.reflexivity. - elim y. - simplify.reflexivity. - apply Zplus_pos_pos. - apply Zplus_pos_neg. - elim y. - rewrite < sym_Zplus.rewrite < (sym_Zplus (Zpred OZ)). - rewrite < Zpred_Zplus_neg_O.rewrite > Zpred_Zsucc.simplify.reflexivity. - apply Zplus_neg_pos. - rewrite < Zplus_neg_neg.reflexivity. -qed. - -theorem Zplus_Zsucc_pos_pos : -\forall n,m. (Zsucc (pos n))+(pos m) = Zsucc ((pos n)+(pos m)). -intros.reflexivity. -qed. - -theorem Zplus_Zsucc_pos_neg: -\forall n,m. (Zsucc (pos n))+(neg m) = (Zsucc ((pos n)+(neg m))). -intros. -apply (nat_elim2 -(\lambda n,m. (Zsucc (pos n))+(neg m) = (Zsucc ((pos n)+(neg m))))).intro. -intros.elim n1. -simplify. reflexivity. -elim n2.simplify. reflexivity. -simplify. reflexivity. -intros. elim n1. -simplify. reflexivity. -simplify.reflexivity. -intros. -rewrite < (Zplus_pos_neg ? m1). -elim H.reflexivity. -qed. - -theorem Zplus_Zsucc_neg_neg : -\forall n,m. Zsucc (neg n) + neg m = Zsucc (neg n + neg m). -intros. -apply (nat_elim2 -(\lambda n,m. Zsucc (neg n) + neg m = Zsucc (neg n + neg m))).intro. -intros.elim n1. -simplify. reflexivity. -elim n2.simplify. reflexivity. -simplify. reflexivity. -intros. elim n1. -simplify. reflexivity. -simplify.reflexivity. -intros. -rewrite < (Zplus_neg_neg ? m1). -reflexivity. -qed. - -theorem Zplus_Zsucc_neg_pos: -\forall n,m. Zsucc (neg n)+(pos m) = Zsucc ((neg n)+(pos m)). -intros. -apply (nat_elim2 -(\lambda n,m. Zsucc (neg n) + (pos m) = Zsucc (neg n + pos m))). -intros.elim n1. -simplify. reflexivity. -elim n2.simplify. reflexivity. -simplify. reflexivity. -intros. elim n1. -simplify. reflexivity. -simplify.reflexivity. -intros. -rewrite < H. -rewrite < (Zplus_neg_pos ? (S m1)). -reflexivity. -qed. - -theorem Zplus_Zsucc : \forall x,y:Z. (Zsucc x)+y = Zsucc (x+y). -intros.elim x. - elim y. - simplify. reflexivity. - simplify.reflexivity. - rewrite < Zsucc_Zplus_pos_O.reflexivity. - elim y. - rewrite < (sym_Zplus OZ).reflexivity. - apply Zplus_Zsucc_pos_pos. - apply Zplus_Zsucc_pos_neg. - elim y. - rewrite < sym_Zplus.rewrite < (sym_Zplus OZ).simplify.reflexivity. - apply Zplus_Zsucc_neg_pos. - apply Zplus_Zsucc_neg_neg. -qed. - -theorem Zplus_Zpred: \forall x,y:Z. (Zpred x)+y = Zpred (x+y). -intros. -cut (Zpred (x+y) = Zpred ((Zsucc (Zpred x))+y)). -rewrite > Hcut. -rewrite > Zplus_Zsucc. -rewrite > Zpred_Zsucc. -reflexivity. -rewrite > Zsucc_Zpred. -reflexivity. -qed. - - -theorem associative_Zplus: associative Z Zplus. -change with (\forall x,y,z:Z. (x + y) + z = x + (y + z)). -(* simplify. *) -intros.elim x. - simplify.reflexivity. - elim n. - rewrite < Zsucc_Zplus_pos_O.rewrite < Zsucc_Zplus_pos_O. - rewrite > Zplus_Zsucc.reflexivity. - rewrite > (Zplus_Zsucc (pos n1)).rewrite > (Zplus_Zsucc (pos n1)). - rewrite > (Zplus_Zsucc ((pos n1)+y)).apply eq_f.assumption. - elim n. - rewrite < (Zpred_Zplus_neg_O (y+z)).rewrite < (Zpred_Zplus_neg_O y). - rewrite < Zplus_Zpred.reflexivity. - rewrite > (Zplus_Zpred (neg n1)).rewrite > (Zplus_Zpred (neg n1)). - rewrite > (Zplus_Zpred ((neg n1)+y)).apply eq_f.assumption. -qed. - -variant assoc_Zplus : \forall x,y,z:Z. (x+y)+z = x+(y+z) -\def associative_Zplus. - -(* Zopp *) -definition Zopp : Z \to Z \def -\lambda x:Z. match x with -[ OZ \Rightarrow OZ -| (pos n) \Rightarrow (neg n) -| (neg n) \Rightarrow (pos n) ]. - -(*CSC: the URI must disappear: there is a bug now *) -interpretation "integer unary minus" 'uminus x = (cic:/matita/Z/plus/Zopp.con x). - -theorem Zopp_Zplus: \forall x,y:Z. -(x+y) = -x + -y. -intros. -elim x.elim y. -simplify. reflexivity. -simplify. reflexivity. -simplify. reflexivity. -elim y. -simplify. reflexivity. -simplify. reflexivity. -simplify. apply nat_compare_elim. -intro.simplify.reflexivity. -intro.simplify.reflexivity. -intro.simplify.reflexivity. -elim y. -simplify. reflexivity. -simplify. apply nat_compare_elim. -intro.simplify.reflexivity. -intro.simplify.reflexivity. -intro.simplify.reflexivity. -simplify.reflexivity. -qed. - -theorem Zopp_Zopp: \forall x:Z. --x = x. -intro. elim x. -reflexivity.reflexivity.reflexivity. -qed. - -theorem Zplus_Zopp: \forall x:Z. x+ -x = OZ. -intro.elim x. -apply refl_eq. -simplify. -rewrite > nat_compare_n_n. -simplify.apply refl_eq. -simplify. -rewrite > nat_compare_n_n. -simplify.apply refl_eq. -qed. - diff --git a/helm/matita/library/Z/times.ma b/helm/matita/library/Z/times.ma deleted file mode 100644 index e5e1cdb45..000000000 --- a/helm/matita/library/Z/times.ma +++ /dev/null @@ -1,235 +0,0 @@ -(**************************************************************************) -(* __ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/Z/times". - -include "nat/lt_arith.ma". -include "Z/plus.ma". - -definition Ztimes :Z \to Z \to Z \def -\lambda x,y. - match x with - [ OZ \Rightarrow OZ - | (pos m) \Rightarrow - match y with - [ OZ \Rightarrow OZ - | (pos n) \Rightarrow (pos (pred ((S m) * (S n)))) - | (neg n) \Rightarrow (neg (pred ((S m) * (S n))))] - | (neg m) \Rightarrow - match y with - [ OZ \Rightarrow OZ - | (pos n) \Rightarrow (neg (pred ((S m) * (S n)))) - | (neg n) \Rightarrow (pos (pred ((S m) * (S n))))]]. - -(*CSC: the URI must disappear: there is a bug now *) -interpretation "integer times" 'times x y = (cic:/matita/Z/times/Ztimes.con x y). - -theorem Ztimes_z_OZ: \forall z:Z. z*OZ = OZ. -intro.elim z. -simplify.reflexivity. -simplify.reflexivity. -simplify.reflexivity. -qed. - -theorem Ztimes_neg_Zopp: \forall n:nat.\forall x:Z. -neg n * x = - (pos n * x). -intros.elim x. -simplify.reflexivity. -simplify.reflexivity. -simplify.reflexivity. -qed. -theorem symmetric_Ztimes : symmetric Z Ztimes. -change with (\forall x,y:Z. x*y = y*x). -intros.elim x.rewrite > Ztimes_z_OZ.reflexivity. -elim y.simplify.reflexivity. -change with (pos (pred ((S n) * (S n1))) = pos (pred ((S n1) * (S n)))). -rewrite < sym_times.reflexivity. -change with (neg (pred ((S n) * (S n1))) = neg (pred ((S n1) * (S n)))). -rewrite < sym_times.reflexivity. -elim y.simplify.reflexivity. -change with (neg (pred ((S n) * (S n1))) = neg (pred ((S n1) * (S n)))). -rewrite < sym_times.reflexivity. -change with (pos (pred ((S n) * (S n1))) = pos (pred ((S n1) * (S n)))). -rewrite < sym_times.reflexivity. -qed. - -variant sym_Ztimes : \forall x,y:Z. x*y = y*x -\def symmetric_Ztimes. - -theorem associative_Ztimes: associative Z Ztimes. -change with (\forall x,y,z:Z. (x*y)*z = x*(y*z)). -intros.elim x. - simplify.reflexivity. - elim y. - simplify.reflexivity. - elim z. - simplify.reflexivity. - change with - (pos (pred ((S (pred ((S n) * (S n1)))) * (S n2))) = - pos (pred ((S n) * (S (pred ((S n1) * (S n2))))))). - rewrite < S_pred.rewrite < S_pred.rewrite < assoc_times.reflexivity. - apply lt_O_times_S_S.apply lt_O_times_S_S. - change with - (neg (pred ((S (pred ((S n) * (S n1)))) * (S n2))) = - neg (pred ((S n) * (S (pred ((S n1) * (S n2))))))). - rewrite < S_pred.rewrite < S_pred.rewrite < assoc_times.reflexivity. - apply lt_O_times_S_S.apply lt_O_times_S_S. - elim z. - simplify.reflexivity. - change with - (neg (pred ((S (pred ((S n) * (S n1)))) * (S n2))) = - neg (pred ((S n) * (S (pred ((S n1) * (S n2))))))). - rewrite < S_pred.rewrite < S_pred.rewrite < assoc_times.reflexivity. - apply lt_O_times_S_S.apply lt_O_times_S_S. - change with - (pos (pred ((S (pred ((S n) * (S n1)))) * (S n2))) = - pos(pred ((S n) * (S (pred ((S n1) * (S n2))))))). - rewrite < S_pred.rewrite < S_pred.rewrite < assoc_times.reflexivity. - apply lt_O_times_S_S.apply lt_O_times_S_S. - elim y. - simplify.reflexivity. - elim z. - simplify.reflexivity. - change with - (neg (pred ((S (pred ((S n) * (S n1)))) * (S n2))) = - neg (pred ((S n) * (S (pred ((S n1) * (S n2))))))). - rewrite < S_pred.rewrite < S_pred.rewrite < assoc_times.reflexivity. - apply lt_O_times_S_S.apply lt_O_times_S_S. - change with - (pos (pred ((S (pred ((S n) * (S n1)))) * (S n2))) = - pos (pred ((S n) * (S (pred ((S n1) * (S n2))))))). - rewrite < S_pred.rewrite < S_pred.rewrite < assoc_times.reflexivity. - apply lt_O_times_S_S.apply lt_O_times_S_S. - elim z. - simplify.reflexivity. - change with - (pos (pred ((S (pred ((S n) * (S n1)))) * (S n2))) = - pos (pred ((S n) * (S (pred ((S n1) * (S n2))))))). - rewrite < S_pred.rewrite < S_pred.rewrite < assoc_times.reflexivity. - apply lt_O_times_S_S.apply lt_O_times_S_S. - change with - (neg (pred ((S (pred ((S n) * (S n1)))) * (S n2))) = - neg(pred ((S n) * (S (pred ((S n1) * (S n2))))))). - rewrite < S_pred.rewrite < S_pred.rewrite < assoc_times.reflexivity. - apply lt_O_times_S_S.apply lt_O_times_S_S. -qed. - -variant assoc_Ztimes : \forall x,y,z:Z. -(x * y) * z = x * (y * z) \def -associative_Ztimes. - -lemma times_minus1: \forall n,p,q:nat. lt q p \to -(S n) * (S (pred ((S p) - (S q)))) = -pred ((S n) * (S p)) - pred ((S n) * (S q)). -intros. -rewrite < S_pred. -rewrite > minus_pred_pred. -rewrite < distr_times_minus. -reflexivity. -(* we now close all positivity conditions *) -apply lt_O_times_S_S. -apply lt_O_times_S_S. -simplify.unfold lt. -apply le_SO_minus. exact H. -qed. - -lemma Ztimes_Zplus_pos_neg_pos: \forall n,p,q:nat. -(pos n)*((neg p)+(pos q)) = (pos n)*(neg p)+ (pos n)*(pos q). -intros. -simplify. -change in match (p + n * (S p)) with (pred ((S n) * (S p))). -change in match (q + n * (S q)) with (pred ((S n) * (S q))). -rewrite < nat_compare_pred_pred. -rewrite < nat_compare_times_l. -rewrite < nat_compare_S_S. -apply (nat_compare_elim p q). -intro. -(* uff *) -change with (pos (pred ((S n) * (S (pred ((S q) - (S p)))))) = - pos (pred ((pred ((S n) * (S q))) - (pred ((S n) * (S p)))))). -rewrite < (times_minus1 n q p H).reflexivity. -intro.rewrite < H.simplify.reflexivity. -intro. -change with (neg (pred ((S n) * (S (pred ((S p) - (S q)))))) = - neg (pred ((pred ((S n) * (S p))) - (pred ((S n) * (S q)))))). -rewrite < (times_minus1 n p q H).reflexivity. -(* two more positivity conditions from nat_compare_pred_pred *) -apply lt_O_times_S_S. -apply lt_O_times_S_S. -qed. - -lemma Ztimes_Zplus_pos_pos_neg: \forall n,p,q:nat. -(pos n)*((pos p)+(neg q)) = (pos n)*(pos p)+ (pos n)*(neg q). -intros. -rewrite < sym_Zplus. -rewrite > Ztimes_Zplus_pos_neg_pos. -apply sym_Zplus. -qed. - -lemma distributive2_Ztimes_pos_Zplus: -distributive2 nat Z (\lambda n,z. (pos n) * z) Zplus. -change with (\forall n,y,z. -(pos n) * (y + z) = (pos n) * y + (pos n) * z). -intros.elim y. - reflexivity. - elim z. - reflexivity. - change with - (pos (pred ((S n) * ((S n1) + (S n2)))) = - pos (pred ((S n) * (S n1) + (S n) * (S n2)))). - rewrite < distr_times_plus.reflexivity. - apply Ztimes_Zplus_pos_pos_neg. - elim z. - reflexivity. - apply Ztimes_Zplus_pos_neg_pos. - change with - (neg (pred ((S n) * ((S n1) + (S n2)))) = - neg (pred ((S n) * (S n1) + (S n) * (S n2)))). - rewrite < distr_times_plus.reflexivity. -qed. - -variant distr_Ztimes_Zplus_pos: \forall n,y,z. -(pos n) * (y + z) = ((pos n) * y + (pos n) * z) \def -distributive2_Ztimes_pos_Zplus. - -lemma distributive2_Ztimes_neg_Zplus : -distributive2 nat Z (\lambda n,z. (neg n) * z) Zplus. -change with (\forall n,y,z. -(neg n) * (y + z) = (neg n) * y + (neg n) * z). -intros. -rewrite > Ztimes_neg_Zopp. -rewrite > distr_Ztimes_Zplus_pos. -rewrite > Zopp_Zplus. -rewrite < Ztimes_neg_Zopp. rewrite < Ztimes_neg_Zopp. -reflexivity. -qed. - -variant distr_Ztimes_Zplus_neg: \forall n,y,z. -(neg n) * (y + z) = (neg n) * y + (neg n) * z \def -distributive2_Ztimes_neg_Zplus. - -theorem distributive_Ztimes_Zplus: distributive Z Ztimes Zplus. -change with (\forall x,y,z:Z. x * (y + z) = x*y + x*z). -intros.elim x. -(* case x = OZ *) -simplify.reflexivity. -(* case x = pos n *) -apply distr_Ztimes_Zplus_pos. -(* case x = neg n *) -apply distr_Ztimes_Zplus_neg. -qed. - -variant distr_Ztimes_Zplus: \forall x,y,z. -x * (y + z) = x*y + x*z \def -distributive_Ztimes_Zplus. diff --git a/helm/matita/library/Z/z.ma b/helm/matita/library/Z/z.ma deleted file mode 100644 index d18c80b23..000000000 --- a/helm/matita/library/Z/z.ma +++ /dev/null @@ -1,173 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/Z/z". - -include "datatypes/bool.ma". -include "nat/nat.ma". - -inductive Z : Set \def - OZ : Z -| pos : nat \to Z -| neg : nat \to Z. - -definition Z_of_nat \def -\lambda n. match n with -[ O \Rightarrow OZ -| (S n)\Rightarrow pos n]. - -coercion Z_of_nat. - -definition neg_Z_of_nat \def -\lambda n. match n with -[ O \Rightarrow OZ -| (S n)\Rightarrow neg n]. - -definition abs \def -\lambda z. - match z with -[ OZ \Rightarrow O -| (pos n) \Rightarrow n -| (neg n) \Rightarrow n]. - -definition OZ_test \def -\lambda z. -match z with -[ OZ \Rightarrow true -| (pos n) \Rightarrow false -| (neg n) \Rightarrow false]. - -theorem OZ_test_to_Prop :\forall z:Z. -match OZ_test z with -[true \Rightarrow z=OZ -|false \Rightarrow z \neq OZ]. -intros.elim z. -simplify.reflexivity. -simplify. unfold Not. intros (H). -discriminate H. -simplify. unfold Not. intros (H). -discriminate H. -qed. - -(* discrimination *) -theorem injective_pos: injective nat Z pos. -unfold injective. -intros. -change with (abs (pos x) = abs (pos y)). -apply eq_f.assumption. -qed. - -variant inj_pos : \forall n,m:nat. pos n = pos m \to n = m -\def injective_pos. - -theorem injective_neg: injective nat Z neg. -unfold injective. -intros. -change with (abs (neg x) = abs (neg y)). -apply eq_f.assumption. -qed. - -variant inj_neg : \forall n,m:nat. neg n = neg m \to n = m -\def injective_neg. - -theorem not_eq_OZ_pos: \forall n:nat. OZ \neq pos n. -unfold Not.intros (n H). -discriminate H. -qed. - -theorem not_eq_OZ_neg :\forall n:nat. OZ \neq neg n. -unfold Not.intros (n H). -discriminate H. -qed. - -theorem not_eq_pos_neg :\forall n,m:nat. pos n \neq neg m. -unfold Not.intros (n m H). -discriminate H. -qed. - -theorem decidable_eq_Z : \forall x,y:Z. decidable (x=y). -intros.unfold decidable. -elim x. -(* goal: x=OZ *) - elim y. - (* goal: x=OZ y=OZ *) - left.reflexivity. - (* goal: x=OZ 2=2 *) - right.apply not_eq_OZ_pos. - (* goal: x=OZ 2=3 *) - right.apply not_eq_OZ_neg. -(* goal: x=pos *) - elim y. - (* goal: x=pos y=OZ *) - right.unfold Not.intro. - apply (not_eq_OZ_pos n). symmetry. assumption. - (* goal: x=pos y=pos *) - elim (decidable_eq_nat n n1:((n=n1) \lor ((n=n1) \to False))). - left.apply eq_f.assumption. - right.unfold Not.intros (H_inj).apply H. injection H_inj. assumption. - (* goal: x=pos y=neg *) - right.unfold Not.intro.apply (not_eq_pos_neg n n1). assumption. -(* goal: x=neg *) - elim y. - (* goal: x=neg y=OZ *) - right.unfold Not.intro. - apply (not_eq_OZ_neg n). symmetry. assumption. - (* goal: x=neg y=pos *) - right. unfold Not.intro. apply (not_eq_pos_neg n1 n). symmetry. assumption. - (* goal: x=neg y=neg *) - elim (decidable_eq_nat n n1:((n=n1) \lor ((n=n1) \to False))). - left.apply eq_f.assumption. - right.unfold Not.intro.apply H.apply injective_neg.assumption. -qed. - -(* end discrimination *) - -definition Zsucc \def -\lambda z. match z with -[ OZ \Rightarrow pos O -| (pos n) \Rightarrow pos (S n) -| (neg n) \Rightarrow - match n with - [ O \Rightarrow OZ - | (S p) \Rightarrow neg p]]. - -definition Zpred \def -\lambda z. match z with -[ OZ \Rightarrow neg O -| (pos n) \Rightarrow - match n with - [ O \Rightarrow OZ - | (S p) \Rightarrow pos p] -| (neg n) \Rightarrow neg (S n)]. - -theorem Zpred_Zsucc: \forall z:Z. Zpred (Zsucc z) = z. -intros. -elim z. - reflexivity. - reflexivity. - elim n. - reflexivity. - reflexivity. -qed. - -theorem Zsucc_Zpred: \forall z:Z. Zsucc (Zpred z) = z. -intros. -elim z. - reflexivity. - elim n. - reflexivity. - reflexivity. - reflexivity. -qed. - diff --git a/helm/matita/library/datatypes/.cvsignore b/helm/matita/library/datatypes/.cvsignore deleted file mode 100644 index fcd4d925e..000000000 --- a/helm/matita/library/datatypes/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.moo diff --git a/helm/matita/library/datatypes/bool.ma b/helm/matita/library/datatypes/bool.ma deleted file mode 100644 index 3292e6789..000000000 --- a/helm/matita/library/datatypes/bool.ma +++ /dev/null @@ -1,126 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/datatypes/bool/". - -include "logic/equality.ma". - -inductive bool : Set \def - | true : bool - | false : bool. - -theorem bool_elim: \forall P:bool \to Prop. \forall b:bool. - (b = true \to P true) - \to (b = false \to P false) - \to P b. - intros 2 (P b). - elim b; - [ apply H; reflexivity - | apply H1; reflexivity - ] -qed. - -theorem not_eq_true_false : true \neq false. -unfold Not.intro. -change with -match true with -[ true \Rightarrow False -| flase \Rightarrow True]. -rewrite > H.simplify.exact I. -qed. - -definition notb : bool \to bool \def -\lambda b:bool. - match b with - [ true \Rightarrow false - | false \Rightarrow true ]. - -theorem notb_elim: \forall b:bool.\forall P:bool \to Prop. -match b with -[ true \Rightarrow P false -| false \Rightarrow P true] \to P (notb b). -intros 2.elim b.exact H. exact H. -qed. - -(*CSC: the URI must disappear: there is a bug now *) -interpretation "boolean not" 'not x = (cic:/matita/datatypes/bool/notb.con x). - -definition andb : bool \to bool \to bool\def -\lambda b1,b2:bool. - match b1 with - [ true \Rightarrow b2 - | false \Rightarrow false ]. - -(*CSC: the URI must disappear: there is a bug now *) -interpretation "boolean and" 'and x y = (cic:/matita/datatypes/bool/andb.con x y). - -theorem andb_elim: \forall b1,b2:bool. \forall P:bool \to Prop. -match b1 with -[ true \Rightarrow P b2 -| false \Rightarrow P false] \to P (b1 \land b2). -intros 3.elim b1.exact H. exact H. -qed. - -theorem andb_true_true: \forall b1,b2. (b1 \land b2) = true \to b1 = true. -intro. elim b1. -reflexivity. -assumption. -qed. - -definition orb : bool \to bool \to bool\def -\lambda b1,b2:bool. - match b1 with - [ true \Rightarrow true - | false \Rightarrow b2]. - -theorem orb_elim: \forall b1,b2:bool. \forall P:bool \to Prop. -match b1 with -[ true \Rightarrow P true -| false \Rightarrow P b2] \to P (orb b1 b2). -intros 3.elim b1.exact H. exact H. -qed. - -(*CSC: the URI must disappear: there is a bug now *) -interpretation "boolean or" 'or x y = (cic:/matita/datatypes/bool/orb.con x y). - -definition if_then_else : bool \to Prop \to Prop \to Prop \def -\lambda b:bool.\lambda P,Q:Prop. -match b with -[ true \Rightarrow P -| false \Rightarrow Q]. - -(*CSC: missing notation for if_then_else *) - -theorem bool_to_decidable_eq: - \forall b1,b2:bool. decidable (b1=b2). - intros. - unfold decidable. - elim b1. - elim b2. - left. reflexivity. - right. exact not_eq_true_false. - elim b2. - right. unfold Not. intro. - apply not_eq_true_false. - symmetry. exact H. - left. reflexivity. -qed. - -theorem P_x_to_P_x_to_eq: - \forall A:Set. \forall P: A \to bool. - \forall x:A. \forall p1,p2:P x = true. p1 = p2. - intros. - apply eq_to_eq_to_eq_p_q. - exact bool_to_decidable_eq. -qed. diff --git a/helm/matita/library/datatypes/compare.ma b/helm/matita/library/datatypes/compare.ma deleted file mode 100644 index c4fd119a5..000000000 --- a/helm/matita/library/datatypes/compare.ma +++ /dev/null @@ -1,27 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/datatypes/compare/". - -inductive compare :Set \def -| LT : compare -| EQ : compare -| GT : compare. - -definition compare_invert: compare \to compare \def - \lambda c. - match c with - [ LT \Rightarrow GT - | EQ \Rightarrow EQ - | GT \Rightarrow LT ]. diff --git a/helm/matita/library/datatypes/constructors.ma b/helm/matita/library/datatypes/constructors.ma deleted file mode 100644 index 2ac1cb376..000000000 --- a/helm/matita/library/datatypes/constructors.ma +++ /dev/null @@ -1,38 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/datatypes/constructors/". -include "logic/equality.ma". - -inductive void : Set \def. - -inductive Prod (A,B:Set) : Set \def -pair : A \to B \to Prod A B. - -definition fst \def \lambda A,B:Set.\lambda p: Prod A B. -match p with -[(pair a b) \Rightarrow a]. - -definition snd \def \lambda A,B:Set.\lambda p: Prod A B. -match p with -[(pair a b) \Rightarrow b]. - -theorem eq_pair_fst_snd: \forall A,B:Set.\forall p: Prod A B. -p = pair A B (fst A B p) (snd A B p). -intros.elim p.simplify.reflexivity. -qed. - -inductive Sum (A,B:Set) : Set \def - inl : A \to Sum A B -| inr : B \to Sum A B. diff --git a/helm/matita/library/higher_order_defs/.cvsignore b/helm/matita/library/higher_order_defs/.cvsignore deleted file mode 100644 index fcd4d925e..000000000 --- a/helm/matita/library/higher_order_defs/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.moo diff --git a/helm/matita/library/higher_order_defs/functions.ma b/helm/matita/library/higher_order_defs/functions.ma deleted file mode 100644 index a1b54c80c..000000000 --- a/helm/matita/library/higher_order_defs/functions.ma +++ /dev/null @@ -1,67 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/higher_order_defs/functions/". - -include "logic/equality.ma". - -definition compose \def - \lambda A,B,C:Type.\lambda f:(B\to C).\lambda g:(A\to B).\lambda x:A. - f (g x). - -notation "hvbox(a break \circ b)" - left associative with precedence 70 -for @{ 'compose $a $b }. - -interpretation "function composition" 'compose f g = - (cic:/matita/higher_order_defs/functions/compose.con _ _ _ f g). - -definition injective: \forall A,B:Type.\forall f:A \to B.Prop -\def \lambda A,B.\lambda f. - \forall x,y:A.f x = f y \to x=y. - -definition surjective: \forall A,B:Type.\forall f:A \to B.Prop -\def \lambda A,B.\lambda f. - \forall z:B. \exists x:A.z=f x. - -definition symmetric: \forall A:Type.\forall f:A \to A\to A.Prop -\def \lambda A.\lambda f.\forall x,y.f x y = f y x. - -definition symmetric2: \forall A,B:Type.\forall f:A \to A\to B.Prop -\def \lambda A,B.\lambda f.\forall x,y.f x y = f y x. - -definition associative: \forall A:Type.\forall f:A \to A\to A.Prop -\def \lambda A.\lambda f.\forall x,y,z.f (f x y) z = f x (f y z). - -theorem eq_f_g_h: - \forall A,B,C,D:Type. - \forall f:C \to D.\forall g:B \to C.\forall h:A \to B. - f \circ (g \circ h) = (f \circ g) \circ h. - intros. - reflexivity. -qed. - -(* functions and relations *) -definition monotonic : \forall A:Type.\forall R:A \to A \to Prop. -\forall f:A \to A.Prop \def -\lambda A. \lambda R. \lambda f. \forall x,y:A.R x y \to R (f x) (f y). - -(* functions and functions *) -definition distributive: \forall A:Type.\forall f,g:A \to A \to A.Prop -\def \lambda A.\lambda f,g.\forall x,y,z:A. f x (g y z) = g (f x y) (f x z). - -definition distributive2: \forall A,B:Type.\forall f:A \to B \to B. -\forall g: B\to B\to B. Prop -\def \lambda A,B.\lambda f,g.\forall x:A.\forall y,z:B. f x (g y z) = g (f x y) (f x z). - diff --git a/helm/matita/library/higher_order_defs/ordering.ma b/helm/matita/library/higher_order_defs/ordering.ma deleted file mode 100644 index c2b351d7a..000000000 --- a/helm/matita/library/higher_order_defs/ordering.ma +++ /dev/null @@ -1,22 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/higher_order_defs/ordering/". - -include "logic/equality.ma". - -definition antisymmetric: \forall A:Type.\forall R:A \to A \to Prop.Prop -\def -\lambda A.\lambda R.\forall x,y:A.R x y \to R y x \to x=y. - diff --git a/helm/matita/library/higher_order_defs/relations.ma b/helm/matita/library/higher_order_defs/relations.ma deleted file mode 100644 index 029b229dc..000000000 --- a/helm/matita/library/higher_order_defs/relations.ma +++ /dev/null @@ -1,33 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/higher_order_defs/relations/". - -include "logic/connectives.ma". - -definition reflexive: \forall A:Type.\forall R:A \to A \to Prop.Prop -\def -\lambda A.\lambda R.\forall x:A.R x x. - -definition symmetric: \forall A:Type.\forall R:A \to A \to Prop.Prop -\def -\lambda A.\lambda R.\forall x,y:A.R x y \to R y x. - -definition transitive: \forall A:Type.\forall R:A \to A \to Prop.Prop -\def -\lambda A.\lambda R.\forall x,y,z:A.R x y \to R y z \to R x z. - -definition irreflexive: \forall A:Type.\forall R:A \to A \to Prop.Prop -\def -\lambda A.\lambda R.\forall x:A.\lnot (R x x). diff --git a/helm/matita/library/list/list.ma b/helm/matita/library/list/list.ma deleted file mode 100644 index d5664f416..000000000 --- a/helm/matita/library/list/list.ma +++ /dev/null @@ -1,108 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/list/". -include "logic/equality.ma". -include "higher_order_defs/functions.ma". - -notation "hvbox(hd break :: tl)" - right associative with precedence 46 - for @{'cons $hd $tl}. - -notation "[ list0 x sep ; ]" - non associative with precedence 90 - for ${fold right @'nil rec acc @{'cons $x $acc}}. - -notation "hvbox(l1 break @ l2)" - right associative with precedence 47 - for @{'append $l1 $l2 }. - -inductive list (A:Set) : Set := - | nil: list A - | cons: A -> list A -> list A. - -interpretation "nil" 'nil = (cic:/matita/list/list.ind#xpointer(1/1/1) _). -interpretation "cons" 'cons hd tl = - (cic:/matita/list/list.ind#xpointer(1/1/2) _ hd tl). - -(* theorem test_notation: [O; S O; S (S O)] = O :: S O :: S (S O) :: []. *) - -theorem nil_cons: - \forall A:Set.\forall l:list A.\forall a:A. - a::l <> []. - intros. - unfold; intros. - discriminate H. -qed. - -let rec id_list A (l: list A) on l := - match l with - [ nil => [] - | (cons hd tl) => hd :: id_list A tl ]. - -let rec append A (l1: list A) l2 on l1 := - match l1 with - [ nil => l2 - | (cons hd tl) => hd :: append A tl l2 ]. - -definition tail := \lambda A:Set. \lambda l: list A. - match l with - [ nil => [] - | (cons hd tl) => tl]. - -interpretation "append" 'append l1 l2 = (cic:/matita/list/append.con _ l1 l2). - -theorem append_nil: \forall A:Set.\forall l:list A.l @ [] = l. - intros. - elim l. - reflexivity. - simplify. - rewrite > H. - reflexivity. -qed. - -theorem associative_append: \forall A:Set.associative (list A) (append A). - intros; unfold; intros. - elim x. - simplify; reflexivity. - simplify. - rewrite > H. - reflexivity. -qed. - -theorem cons_append_commute: - \forall A:Set.\forall l1,l2:list A.\forall a:A. - a :: (l1 @ l2) = (a :: l1) @ l2. - intros. - reflexivity. -qed. - -(* -theorem nil_append_nil_both: - \forall A:Set.\forall l1,l2:list A. - l1 @ l2 = [] \to l1 = [] \land l2 = []. -*) - -(* -include "nat/nat.ma". - -theorem test_notation: [O; S O; S (S O)] = O :: S O :: S (S O) :: []. -reflexivity. -qed. - -theorem test_append: [O;O;O;O;O;O] = [O;O;O] @ [O;O] @ [O]. -simplify. -reflexivity. -qed. -*) diff --git a/helm/matita/library/list/sort.ma b/helm/matita/library/list/sort.ma deleted file mode 100644 index 939cecede..000000000 --- a/helm/matita/library/list/sort.ma +++ /dev/null @@ -1,172 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/list/sort/". - -include "datatypes/bool.ma". -include "datatypes/constructors.ma". -include "list/list.ma". - -let rec mem (A:Set) (eq: A → A → bool) x (l: list A) on l ≝ - match l with - [ nil ⇒ false - | (cons a l') ⇒ - match eq x a with - [ true ⇒ true - | false ⇒ mem A eq x l' - ] - ]. - -let rec ordered (A:Set) (le: A → A → bool) (l: list A) on l ≝ - match l with - [ nil ⇒ true - | (cons x l') ⇒ - match l' with - [ nil ⇒ true - | (cons y l'') ⇒ - le x y \land ordered A le l' - ] - ]. - -let rec insert (A:Set) (le: A → A → bool) x (l: list A) on l ≝ - match l with - [ nil ⇒ [x] - | (cons he l') ⇒ - match le x he with - [ true ⇒ x::l - | false ⇒ he::(insert A le x l') - ] - ]. - -lemma insert_ind : - ∀A:Set. ∀le: A → A → bool. ∀x. - ∀P:(list A → list A → Prop). - ∀H:(∀l: list A. l=[] → P [] [x]). - ∀H2: - (∀l: list A. ∀he. ∀l'. P l' (insert ? le x l') → - le x he = false → l=he::l' → P (he::l') (he::(insert ? le x l'))). - ∀H3: - (∀l: list A. ∀he. ∀l'. P l' (insert ? le x l') → - le x he = true → l=he::l' → P (he::l') (x::he::l')). - ∀l:list A. P l (insert ? le x l). - intros. - apply ( - let rec insert_ind (l: list A) \def - match l in list - return - λli. - l = li → P li (insert ? le x li) - with - [ nil ⇒ H l - | (cons he l') ⇒ - match le x he - return - λb. le x he = b → l = he::l' → - P (he::l') - (match b with - [ true ⇒ x::he::l' - | false ⇒ he::(insert ? le x l') ]) - with - [ true ⇒ H2 l he l' (insert_ind l') - | false ⇒ H1 l he l' (insert_ind l') - ] - (refl_eq ? (le x he)) - ] (refl_eq ? l) in insert_ind l). -qed. - - -let rec insertionsort (A:Set) (le: A → A → bool) (l: list A) on l ≝ - match l with - [ nil ⇒ [] - | (cons he l') ⇒ - let l'' ≝ insertionsort A le l' in - insert A le he l'' - ]. - -lemma ordered_injective: - ∀A:Set. ∀le:A → A → bool. - ∀l:list A. ordered A le l = true → ordered A le (tail A l) = true. - intros 3 (A le l). - elim l - [ simplify; reflexivity; - | simplify; - generalize in match H1; - clear H1; - elim l1; - [ simplify; reflexivity; - | cut ((le s s1 \land ordered A le (s1::l2)) = true); - [ generalize in match Hcut; - apply andb_elim; - elim (le s s1); - [ simplify; - fold simplify (ordered ? le (s1::l2)); - intros; assumption; - | simplify; - intros (Habsurd); - apply False_ind; - apply (not_eq_true_false); - symmetry; - assumption - ] - | exact H2; - ] - ] - ]. -qed. - -lemma insert_sorted: - \forall A:Set. \forall le:A\to A\to bool. - (\forall a,b:A. le a b = false \to le b a = true) \to - \forall l:list A. \forall x:A. - ordered A le l = true \to ordered A le (insert A le x l) = true. - intros 5 (A le H l x). - apply (insert_ind ? ? ? (λl,il. ordered ? le l = true → ordered ? le il = true)); - clear l; intros; simplify; intros; - [2: rewrite > H1; - [ generalize in match (H ? ? H2); clear H2; intro; - generalize in match H4; clear H4; - elim l'; simplify; - [ rewrite > H5; - reflexivity - | elim (le x s); simplify; - [ rewrite > H5; - reflexivity - | simplify in H4; - rewrite > (andb_true_true ? ? H4); - reflexivity - ] - ] - | apply (ordered_injective ? ? ? H4) - ] - | reflexivity - | rewrite > H2; - rewrite > H4; - reflexivity - ]. -qed. - -theorem insertionsort_sorted: - ∀A:Set. - ∀le:A → A → bool.∀eq:A → A → bool. - (∀a,b:A. le a b = false → le b a = true) \to - ∀l:list A. - ordered A le (insertionsort A le l) = true. - intros 5 (A le eq le_tot l). - elim l; - [ simplify; - reflexivity; - | apply (insert_sorted ? ? le_tot (insertionsort ? le l1) s); - assumption; - ] -qed. \ No newline at end of file diff --git a/helm/matita/library/logic/.cvsignore b/helm/matita/library/logic/.cvsignore deleted file mode 100644 index fcd4d925e..000000000 --- a/helm/matita/library/logic/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.moo diff --git a/helm/matita/library/logic/connectives.ma b/helm/matita/library/logic/connectives.ma deleted file mode 100644 index 4cbea3529..000000000 --- a/helm/matita/library/logic/connectives.ma +++ /dev/null @@ -1,90 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/logic/connectives/". - -inductive True: Prop \def -I : True. - -default "true" cic:/matita/logic/connectives/True.ind. - -inductive False: Prop \def . - -default "false" cic:/matita/logic/connectives/False.ind. - -definition Not: Prop \to Prop \def -\lambda A. (A \to False). - -(*CSC: the URI must disappear: there is a bug now *) -interpretation "logical not" 'not x = (cic:/matita/logic/connectives/Not.con x). - -theorem absurd : \forall A,C:Prop. A \to \lnot A \to C. -intros. elim (H1 H). -qed. - -default "absurd" cic:/matita/logic/connectives/absurd.con. - -inductive And (A,B:Prop) : Prop \def - conj : A \to B \to (And A B). - -(*CSC: the URI must disappear: there is a bug now *) -interpretation "logical and" 'and x y = (cic:/matita/logic/connectives/And.ind#xpointer(1/1) x y). - -theorem proj1: \forall A,B:Prop. A \land B \to A. -intros. elim H. assumption. -qed. - -theorem proj2: \forall A,B:Prop. A \land B \to B. -intros. elim H. assumption. -qed. - -inductive Or (A,B:Prop) : Prop \def - or_introl : A \to (Or A B) - | or_intror : B \to (Or A B). - -(*CSC: the URI must disappear: there is a bug now *) -interpretation "logical or" 'or x y = - (cic:/matita/logic/connectives/Or.ind#xpointer(1/1) x y). - -theorem Or_ind': - \forall A,B:Prop. - \forall P: A \lor B \to Prop. - (\forall p:A. P (or_introl ? ? p)) \to - (\forall q:B. P (or_intror ? ? q)) \to - \forall p:A \lor B. P p. - intros. - apply - (match p return \lambda p.P p with - [(or_introl p) \Rightarrow H p - |(or_intror q) \Rightarrow H1 q]). -qed. - -definition decidable : Prop \to Prop \def \lambda A:Prop. A \lor \lnot A. - -inductive ex (A:Type) (P:A \to Prop) : Prop \def - ex_intro: \forall x:A. P x \to ex A P. - -(*CSC: the URI must disappear: there is a bug now *) -interpretation "exists" 'exists \eta.x = - (cic:/matita/logic/connectives/ex.ind#xpointer(1/1) _ x). - -notation < "hvbox(\exists ident i opt (: ty) break . p)" - right associative with precedence 20 -for @{ 'exists ${default - @{\lambda ${ident i} : $ty. $p)} - @{\lambda ${ident i} . $p}}}. - -inductive ex2 (A:Type) (P,Q:A \to Prop) : Prop \def - ex_intro2: \forall x:A. P x \to Q x \to ex2 A P Q. - diff --git a/helm/matita/library/logic/equality.ma b/helm/matita/library/logic/equality.ma deleted file mode 100644 index b87dc6c95..000000000 --- a/helm/matita/library/logic/equality.ma +++ /dev/null @@ -1,214 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/logic/equality/". - -include "higher_order_defs/relations.ma". - -inductive eq (A:Type) (x:A) : A \to Prop \def - refl_eq : eq A x x. - -(*CSC: the URI must disappear: there is a bug now *) -interpretation "leibnitz's equality" - 'eq x y = (cic:/matita/logic/equality/eq.ind#xpointer(1/1) _ x y). -(*CSC: the URI must disappear: there is a bug now *) -interpretation "leibnitz's non-equality" - 'neq x y = (cic:/matita/logic/connectives/Not.con - (cic:/matita/logic/equality/eq.ind#xpointer(1/1) _ x y)). - -theorem eq_ind': - \forall A. \forall x:A. \forall P: \forall y:A. x=y \to Prop. - P ? (refl_eq ? x) \to \forall y:A. \forall p:x=y. P y p. - intros. - exact - (match p return \lambda y. \lambda p.P y p with - [refl_eq \Rightarrow H]). -qed. - -theorem reflexive_eq : \forall A:Type. reflexive A (eq A). -simplify.intros.apply refl_eq. -qed. - -theorem symmetric_eq: \forall A:Type. symmetric A (eq A). -unfold symmetric.intros.elim H. apply refl_eq. -qed. - -theorem sym_eq : \forall A:Type.\forall x,y:A. x=y \to y=x -\def symmetric_eq. - -theorem transitive_eq : \forall A:Type. transitive A (eq A). -unfold transitive.intros.elim H1.assumption. -qed. - -theorem trans_eq : \forall A:Type.\forall x,y,z:A. x=y \to y=z \to x=z -\def transitive_eq. - -theorem eq_elim_r: - \forall A:Type.\forall x:A. \forall P: A \to Prop. - P x \to \forall y:A. y=x \to P y. -intros. elim (sym_eq ? ? ? H1).assumption. -qed. - -default "equality" - cic:/matita/logic/equality/eq.ind - cic:/matita/logic/equality/sym_eq.con - cic:/matita/logic/equality/trans_eq.con - cic:/matita/logic/equality/eq_ind.con - cic:/matita/logic/equality/eq_elim_r.con. - -theorem eq_f: \forall A,B:Type.\forall f:A\to B. -\forall x,y:A. x=y \to f x = f y. -intros.elim H.reflexivity. -qed. - -theorem eq_f2: \forall A,B,C:Type.\forall f:A\to B \to C. -\forall x1,x2:A. \forall y1,y2:B. -x1=x2 \to y1=y2 \to f x1 y1 = f x2 y2. -intros.elim H1.elim H.reflexivity. -qed. - -definition comp \def - \lambda A. - \lambda x,y,y':A. - \lambda eq1:x=y. - \lambda eq2:x=y'. - eq_ind ? ? (\lambda a.a=y') eq2 ? eq1. - -lemma trans_sym_eq: - \forall A. - \forall x,y:A. - \forall u:x=y. - comp ? ? ? ? u u = refl_eq ? y. - intros. - apply (eq_ind' ? ? ? ? ? u). - reflexivity. -qed. - -definition nu \def - \lambda A. - \lambda H: \forall x,y:A. decidable (x=y). - \lambda x,y. \lambda p:x=y. - match H x y with - [ (or_introl p') \Rightarrow p' - | (or_intror K) \Rightarrow False_ind ? (K p) ]. - -theorem nu_constant: - \forall A. - \forall H: \forall x,y:A. decidable (x=y). - \forall x,y:A. - \forall u,v:x=y. - nu ? H ? ? u = nu ? H ? ? v. - intros. - unfold nu. - unfold decidable in H. - apply (Or_ind' ? ? ? ? ? (H x y)); simplify. - intro; reflexivity. - intro; elim (q u). -qed. - -definition nu_inv \def - \lambda A. - \lambda H: \forall x,y:A. decidable (x=y). - \lambda x,y:A. - \lambda v:x=y. - comp ? ? ? ? (nu ? H ? ? (refl_eq ? x)) v. - -theorem nu_left_inv: - \forall A. - \forall H: \forall x,y:A. decidable (x=y). - \forall x,y:A. - \forall u:x=y. - nu_inv ? H ? ? (nu ? H ? ? u) = u. - intros. - apply (eq_ind' ? ? ? ? ? u). - unfold nu_inv. - apply trans_sym_eq. -qed. - -theorem eq_to_eq_to_eq_p_q: - \forall A. \forall x,y:A. - (\forall x,y:A. decidable (x=y)) \to - \forall p,q:x=y. p=q. - intros. - rewrite < (nu_left_inv ? H ? ? p). - rewrite < (nu_left_inv ? H ? ? q). - elim (nu_constant ? H ? ? q). - reflexivity. -qed. - -(*CSC: alternative proof that does not pollute the environment with - technical lemmata. Unfortunately, it is a pain to do without proper - support for let-ins. -theorem eq_to_eq_to_eq_p_q: - \forall A. \forall x,y:A. - (\forall x,y:A. decidable (x=y)) \to - \forall p,q:x=y. p=q. -intros. -letin nu \def - (\lambda x,y. \lambda p:x=y. - match H x y with - [ (or_introl p') \Rightarrow p' - | (or_intror K) \Rightarrow False_ind ? (K p) ]). -cut - (\forall q:x=y. - eq_ind ? ? (\lambda z. z=y) (nu ? ? q) ? (nu ? ? (refl_eq ? x)) - = q). -focus 8. - clear q; clear p. - intro. - apply (eq_ind' ? ? ? ? ? q); - fold simplify (nu ? ? (refl_eq ? x)). - generalize in match (nu ? ? (refl_eq ? x)); intro. - apply - (eq_ind' A x - (\lambda y. \lambda u. - eq_ind A x (\lambda a.a=y) u y u = refl_eq ? y) - ? x H1). - reflexivity. -unfocus. -rewrite < (Hcut p); fold simplify (nu ? ? p). -rewrite < (Hcut q); fold simplify (nu ? ? q). -apply (Or_ind' (x=x) (x \neq x) - (\lambda p:decidable (x=x). eq_ind A x (\lambda z.z=y) (nu x y p) x - ([\lambda H1.eq A x x] - match p with - [(or_introl p') \Rightarrow p' - |(or_intror K) \Rightarrow False_ind (x=x) (K (refl_eq A x))]) = - eq_ind A x (\lambda z.z=y) (nu x y q) x - ([\lambda H1.eq A x x] - match p with - [(or_introl p') \Rightarrow p' - |(or_intror K) \Rightarrow False_ind (x=x) (K (refl_eq A x))])) - ? ? (H x x)). -intro; simplify; reflexivity. -intro q; elim (q (refl_eq ? x)). -qed. -*) - -(* -theorem a:\forall x.x=x\land True. -[ -2:intros; - split; - [ - exact (refl_eq Prop x); - | - exact I; - ] -1: - skip -] -qed. -*) - diff --git a/helm/matita/library/nat/.cvsignore b/helm/matita/library/nat/.cvsignore deleted file mode 100644 index fcd4d925e..000000000 --- a/helm/matita/library/nat/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.moo diff --git a/helm/matita/library/nat/chinese_reminder.ma b/helm/matita/library/nat/chinese_reminder.ma deleted file mode 100644 index 30cc7440f..000000000 --- a/helm/matita/library/nat/chinese_reminder.ma +++ /dev/null @@ -1,251 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/chinese_reminder". - -include "nat/exp.ma". -include "nat/gcd.ma". -include "nat/permutation.ma". -include "nat/congruence.ma". - -theorem and_congruent_congruent: \forall m,n,a,b:nat. O < n \to O < m \to -gcd n m = (S O) \to ex nat (\lambda x. congruent x a m \land congruent x b n). -intros. -cut (\exists c,d.c*n - d*m = (S O) \lor d*m - c*n = (S O)). -elim Hcut.elim H3.elim H4. -apply (ex_intro nat ? ((a+b*m)*a1*n-b*a2*m)). -split. -(* congruent to a *) -cut (a1*n = a2*m + (S O)). -rewrite > assoc_times. -rewrite > Hcut1. -rewrite < (sym_plus ? (a2*m)). -rewrite > distr_times_plus. -rewrite < times_n_SO. -rewrite > assoc_plus. -rewrite < assoc_times. -rewrite < times_plus_l. -rewrite > eq_minus_plus_plus_minus. -rewrite < times_minus_l. -rewrite > sym_plus. -apply (eq_times_plus_to_congruent ? ? ? ((b+(a+b*m)*a2)-b*a2)). -assumption.reflexivity. -apply le_times_l. -apply (trans_le ? ((a+b*m)*a2)). -apply le_times_l. -apply (trans_le ? (b*m)). -rewrite > times_n_SO in \vdash (? % ?). -apply le_times_r.assumption. -apply le_plus_n. -apply le_plus_n. -apply minus_to_plus. -apply lt_to_le. -change with (O + a2*m < a1*n). -apply lt_minus_to_plus. -rewrite > H5.unfold lt.apply le_n. -assumption. -(* congruent to b *) -cut (a2*m = a1*n - (S O)). -rewrite > (assoc_times b a2). -rewrite > Hcut1. -rewrite > distr_times_minus. -rewrite < assoc_times. -rewrite < eq_plus_minus_minus_minus. -rewrite < times_n_SO. -rewrite < times_minus_l. -rewrite < sym_plus. -apply (eq_times_plus_to_congruent ? ? ? ((a+b*m)*a1-b*a1)). -assumption.reflexivity. -rewrite > assoc_times. -apply le_times_r. -apply (trans_le ? (a1*n - a2*m)). -rewrite > H5.apply le_n. -apply (le_minus_m ? (a2*m)). -apply le_times_l. -apply le_times_l. -apply (trans_le ? (b*m)). -rewrite > times_n_SO in \vdash (? % ?). -apply le_times_r.assumption. -apply le_plus_n. -apply sym_eq. apply plus_to_minus. -rewrite > sym_plus. -apply minus_to_plus. -apply lt_to_le. -change with (O + a2*m < a1*n). -apply lt_minus_to_plus. -rewrite > H5.unfold lt.apply le_n. -assumption. -(* and now the symmetric case; the price to pay for working - in nat instead than Z *) -apply (ex_intro nat ? ((b+a*n)*a2*m-a*a1*n)). -split. -(* congruent to a *) -cut (a1*n = a2*m - (S O)). -rewrite > (assoc_times a a1). -rewrite > Hcut1. -rewrite > distr_times_minus. -rewrite < assoc_times. -rewrite < eq_plus_minus_minus_minus. -rewrite < times_n_SO. -rewrite < times_minus_l. -rewrite < sym_plus. -apply (eq_times_plus_to_congruent ? ? ? ((b+a*n)*a2-a*a2)). -assumption.reflexivity. -rewrite > assoc_times. -apply le_times_r. -apply (trans_le ? (a2*m - a1*n)). -rewrite > H5.apply le_n. -apply (le_minus_m ? (a1*n)). -rewrite > assoc_times.rewrite > assoc_times. -apply le_times_l. -apply (trans_le ? (a*n)). -rewrite > times_n_SO in \vdash (? % ?). -apply le_times_r.assumption. -apply le_plus_n. -apply sym_eq.apply plus_to_minus. -rewrite > sym_plus. -apply minus_to_plus. -apply lt_to_le. -change with (O + a1*n < a2*m). -apply lt_minus_to_plus. -rewrite > H5.unfold lt.apply le_n. -assumption. -(* congruent to a *) -cut (a2*m = a1*n + (S O)). -rewrite > assoc_times. -rewrite > Hcut1. -rewrite > (sym_plus (a1*n)). -rewrite > distr_times_plus. -rewrite < times_n_SO. -rewrite < assoc_times. -rewrite > assoc_plus. -rewrite < times_plus_l. -rewrite > eq_minus_plus_plus_minus. -rewrite < times_minus_l. -rewrite > sym_plus. -apply (eq_times_plus_to_congruent ? ? ? ((a+(b+a*n)*a1)-a*a1)). -assumption.reflexivity. -apply le_times_l. -apply (trans_le ? ((b+a*n)*a1)). -apply le_times_l. -apply (trans_le ? (a*n)). -rewrite > times_n_SO in \vdash (? % ?). -apply le_times_r. -assumption. -apply le_plus_n. -apply le_plus_n. -apply minus_to_plus. -apply lt_to_le. -change with (O + a1*n < a2*m). -apply lt_minus_to_plus. -rewrite > H5.unfold lt.apply le_n. -assumption. -(* proof of the cut *) -rewrite < H2. -apply eq_minus_gcd. -qed. - -theorem and_congruent_congruent_lt: \forall m,n,a,b:nat. O < n \to O < m \to -gcd n m = (S O) \to -ex nat (\lambda x. (congruent x a m \land congruent x b n) \land - (x < m*n)). -intros.elim (and_congruent_congruent m n a b). -elim H3. -apply (ex_intro ? ? (a1 \mod (m*n))). -split.split. -apply (transitive_congruent m ? a1). -unfold congruent. -apply sym_eq. -change with (congruent a1 (a1 \mod (m*n)) m). -rewrite < sym_times. -apply congruent_n_mod_times. -assumption.assumption.assumption. -apply (transitive_congruent n ? a1). -unfold congruent. -apply sym_eq. -change with (congruent a1 (a1 \mod (m*n)) n). -apply congruent_n_mod_times. -assumption.assumption.assumption. -apply lt_mod_m_m. -rewrite > (times_n_O O). -apply lt_times.assumption.assumption. -assumption.assumption.assumption. -qed. - -definition cr_pair : nat \to nat \to nat \to nat \to nat \def -\lambda n,m,a,b. -min (pred (n*m)) (\lambda x. andb (eqb (x \mod n) a) (eqb (x \mod m) b)). - -theorem cr_pair1: cr_pair (S (S O)) (S (S (S O))) O O = O. -reflexivity. -qed. - -theorem cr_pair2: cr_pair (S(S O)) (S(S(S O))) (S O) O = (S(S(S O))). -simplify. -reflexivity. -qed. - -theorem cr_pair3: cr_pair (S(S O)) (S(S(S O))) (S O) (S(S O)) = (S(S(S(S(S O))))). -reflexivity. -qed. - -theorem cr_pair4: cr_pair (S(S(S(S(S O))))) (S(S(S(S(S(S(S O))))))) (S(S(S O))) (S(S O)) = -(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S O))))))))))))))))))))))). -reflexivity. -qed. - -theorem mod_cr_pair : \forall m,n,a,b. a \lt m \to b \lt n \to -gcd n m = (S O) \to -(cr_pair m n a b) \mod m = a \land (cr_pair m n a b) \mod n = b. -intros. -cut (andb (eqb ((cr_pair m n a b) \mod m) a) - (eqb ((cr_pair m n a b) \mod n) b) = true). -generalize in match Hcut. -apply andb_elim. -apply eqb_elim.intro. -rewrite > H3. -change with -(eqb ((cr_pair m n a b) \mod n) b = true \to -a = a \land (cr_pair m n a b) \mod n = b). -intro.split.reflexivity. -apply eqb_true_to_eq.assumption. -intro. -change with (false = true \to -(cr_pair m n a b) \mod m = a \land (cr_pair m n a b) \mod n = b). -intro.apply False_ind. -apply not_eq_true_false.apply sym_eq.assumption. -apply (f_min_aux_true -(\lambda x. andb (eqb (x \mod m) a) (eqb (x \mod n) b)) (pred (m*n)) (pred (m*n))). -elim (and_congruent_congruent_lt m n a b). -apply (ex_intro ? ? a1).split.split. -rewrite < minus_n_n.apply le_O_n. -elim H3.apply le_S_S_to_le.apply (trans_le ? (m*n)). -assumption.apply (nat_case (m*n)).apply le_O_n. -intro. -rewrite < pred_Sn.apply le_n. -elim H3.elim H4. -apply andb_elim. -cut (a1 \mod m = a). -cut (a1 \mod n = b). -rewrite > (eq_to_eqb_true ? ? Hcut). -rewrite > (eq_to_eqb_true ? ? Hcut1). -simplify.reflexivity. -rewrite < (lt_to_eq_mod b n).assumption. -assumption. -rewrite < (lt_to_eq_mod a m).assumption. -assumption. -apply (le_to_lt_to_lt ? b).apply le_O_n.assumption. -apply (le_to_lt_to_lt ? a).apply le_O_n.assumption. -assumption. -qed. \ No newline at end of file diff --git a/helm/matita/library/nat/compare.ma b/helm/matita/library/nat/compare.ma deleted file mode 100644 index 264731580..000000000 --- a/helm/matita/library/nat/compare.ma +++ /dev/null @@ -1,227 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/compare". - -include "datatypes/bool.ma". -include "datatypes/compare.ma". -include "nat/orders.ma". - -let rec eqb n m \def -match n with - [ O \Rightarrow - match m with - [ O \Rightarrow true - | (S q) \Rightarrow false] - | (S p) \Rightarrow - match m with - [ O \Rightarrow false - | (S q) \Rightarrow eqb p q]]. - -theorem eqb_to_Prop: \forall n,m:nat. -match (eqb n m) with -[ true \Rightarrow n = m -| false \Rightarrow n \neq m]. -intros. -apply (nat_elim2 -(\lambda n,m:nat.match (eqb n m) with -[ true \Rightarrow n = m -| false \Rightarrow n \neq m])). -intro.elim n1. -simplify.reflexivity. -simplify.apply not_eq_O_S. -intro. -simplify.unfold Not. -intro. apply (not_eq_O_S n1).apply sym_eq.assumption. -intros.simplify. -generalize in match H. -elim ((eqb n1 m1)). -simplify.apply eq_f.apply H1. -simplify.unfold Not.intro.apply H1.apply inj_S.assumption. -qed. - -theorem eqb_elim : \forall n,m:nat.\forall P:bool \to Prop. -(n=m \to (P true)) \to (n \neq m \to (P false)) \to (P (eqb n m)). -intros. -cut -(match (eqb n m) with -[ true \Rightarrow n = m -| false \Rightarrow n \neq m] \to (P (eqb n m))). -apply Hcut.apply eqb_to_Prop. -elim (eqb n m). -apply ((H H2)). -apply ((H1 H2)). -qed. - -theorem eqb_n_n: \forall n. eqb n n = true. -intro.elim n.simplify.reflexivity. -simplify.assumption. -qed. - -theorem eqb_true_to_eq: \forall n,m:nat. -eqb n m = true \to n = m. -intros. -change with -match true with -[ true \Rightarrow n = m -| false \Rightarrow n \neq m]. -rewrite < H. -apply eqb_to_Prop. -qed. - -theorem eqb_false_to_not_eq: \forall n,m:nat. -eqb n m = false \to n \neq m. -intros. -change with -match false with -[ true \Rightarrow n = m -| false \Rightarrow n \neq m]. -rewrite < H. -apply eqb_to_Prop. -qed. - -theorem eq_to_eqb_true: \forall n,m:nat. -n = m \to eqb n m = true. -intros.apply (eqb_elim n m). -intros. reflexivity. -intros.apply False_ind.apply (H1 H). -qed. - -theorem not_eq_to_eqb_false: \forall n,m:nat. -\lnot (n = m) \to eqb n m = false. -intros.apply (eqb_elim n m). -intros. apply False_ind.apply (H H1). -intros.reflexivity. -qed. - -let rec leb n m \def -match n with - [ O \Rightarrow true - | (S p) \Rightarrow - match m with - [ O \Rightarrow false - | (S q) \Rightarrow leb p q]]. - -theorem leb_to_Prop: \forall n,m:nat. -match (leb n m) with -[ true \Rightarrow n \leq m -| false \Rightarrow n \nleq m]. -intros. -apply (nat_elim2 -(\lambda n,m:nat.match (leb n m) with -[ true \Rightarrow n \leq m -| false \Rightarrow n \nleq m])). -simplify.exact le_O_n. -simplify.exact not_le_Sn_O. -intros 2.simplify.elim ((leb n1 m1)). -simplify.apply le_S_S.apply H. -simplify.unfold Not.intros.apply H.apply le_S_S_to_le.assumption. -qed. - -theorem leb_elim: \forall n,m:nat. \forall P:bool \to Prop. -(n \leq m \to (P true)) \to (n \nleq m \to (P false)) \to -P (leb n m). -intros. -cut -(match (leb n m) with -[ true \Rightarrow n \leq m -| false \Rightarrow n \nleq m] \to (P (leb n m))). -apply Hcut.apply leb_to_Prop. -elim (leb n m). -apply ((H H2)). -apply ((H1 H2)). -qed. - -let rec nat_compare n m: compare \def -match n with -[ O \Rightarrow - match m with - [ O \Rightarrow EQ - | (S q) \Rightarrow LT ] -| (S p) \Rightarrow - match m with - [ O \Rightarrow GT - | (S q) \Rightarrow nat_compare p q]]. - -theorem nat_compare_n_n: \forall n:nat. nat_compare n n = EQ. -intro.elim n. -simplify.reflexivity. -simplify.assumption. -qed. - -theorem nat_compare_S_S: \forall n,m:nat. -nat_compare n m = nat_compare (S n) (S m). -intros.simplify.reflexivity. -qed. - -theorem S_pred: \forall n:nat.lt O n \to eq nat n (S (pred n)). -intro.elim n.apply False_ind.exact (not_le_Sn_O O H). -apply eq_f.apply pred_Sn. -qed. - -theorem nat_compare_pred_pred: -\forall n,m:nat.lt O n \to lt O m \to -eq compare (nat_compare n m) (nat_compare (pred n) (pred m)). -intros. -apply (lt_O_n_elim n H). -apply (lt_O_n_elim m H1). -intros. -simplify.reflexivity. -qed. - -theorem nat_compare_to_Prop: \forall n,m:nat. -match (nat_compare n m) with - [ LT \Rightarrow n < m - | EQ \Rightarrow n=m - | GT \Rightarrow m < n ]. -intros. -apply (nat_elim2 (\lambda n,m.match (nat_compare n m) with - [ LT \Rightarrow n < m - | EQ \Rightarrow n=m - | GT \Rightarrow m < n ])). -intro.elim n1.simplify.reflexivity. -simplify.unfold lt.apply le_S_S.apply le_O_n. -intro.simplify.unfold lt.apply le_S_S. apply le_O_n. -intros 2.simplify.elim ((nat_compare n1 m1)). -simplify. unfold lt. apply le_S_S.apply H. -simplify. apply eq_f. apply H. -simplify. unfold lt.apply le_S_S.apply H. -qed. - -theorem nat_compare_n_m_m_n: \forall n,m:nat. -nat_compare n m = compare_invert (nat_compare m n). -intros. -apply (nat_elim2 (\lambda n,m. nat_compare n m = compare_invert (nat_compare m n))). -intros.elim n1.simplify.reflexivity. -simplify.reflexivity. -intro.elim n1.simplify.reflexivity. -simplify.reflexivity. -intros.simplify.elim H.reflexivity. -qed. - -theorem nat_compare_elim : \forall n,m:nat. \forall P:compare \to Prop. -(n < m \to P LT) \to (n=m \to P EQ) \to (m < n \to P GT) \to -(P (nat_compare n m)). -intros. -cut (match (nat_compare n m) with -[ LT \Rightarrow n < m -| EQ \Rightarrow n=m -| GT \Rightarrow m < n] \to -(P (nat_compare n m))). -apply Hcut.apply nat_compare_to_Prop. -elim ((nat_compare n m)). -apply ((H H3)). -apply ((H1 H3)). -apply ((H2 H3)). -qed. diff --git a/helm/matita/library/nat/congruence.ma b/helm/matita/library/nat/congruence.ma deleted file mode 100644 index af744cf34..000000000 --- a/helm/matita/library/nat/congruence.ma +++ /dev/null @@ -1,177 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / Matita is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/congruence". - -include "nat/relevant_equations.ma". -include "nat/primes.ma". - -definition S_mod: nat \to nat \to nat \def -\lambda n,m:nat. (S m) \mod n. - -definition congruent: nat \to nat \to nat \to Prop \def -\lambda n,m,p:nat. mod n p = mod m p. - -theorem congruent_n_n: \forall n,p:nat.congruent n n p. -intros.unfold congruent.reflexivity. -qed. - -theorem transitive_congruent: \forall p:nat. transitive nat -(\lambda n,m. congruent n m p). -intros.unfold transitive.unfold congruent.intros. -whd.apply (trans_eq ? ? (y \mod p)). -apply H.apply H1. -qed. - -theorem le_to_mod: \forall n,m:nat. n \lt m \to n = n \mod m. -intros. -apply (div_mod_spec_to_eq2 n m O n (n/m) (n \mod m)). -constructor 1.assumption.simplify.reflexivity. -apply div_mod_spec_div_mod. -apply (le_to_lt_to_lt O n m).apply le_O_n.assumption. -qed. - -theorem mod_mod : \forall n,p:nat. O

(div_mod (n \mod p) p) in \vdash (? ? % ?). -rewrite > (eq_div_O ? p).reflexivity. -(* uffa: hint non lo trova lt vs. le*) -apply lt_mod_m_m. -assumption. -assumption. -qed. - -theorem mod_times_mod : \forall n,m,p:nat. O

times_plus_l. -rewrite > assoc_plus. -rewrite < div_mod. -rewrite > assoc_times. -rewrite < div_mod. -reflexivity. -rewrite > (times_n_O O). -apply lt_times. -assumption.assumption.assumption. -qed. - -theorem congruent_n_mod_n : -\forall n,p:nat. O < p \to congruent n (n \mod p) p. -intros.unfold congruent. -apply mod_mod.assumption. -qed. - -theorem congruent_n_mod_times : -\forall n,m,p:nat. O < p \to O < m \to congruent n (n \mod (m*p)) p. -intros.unfold congruent. -apply mod_times_mod.assumption.assumption. -qed. - -theorem eq_times_plus_to_congruent: \forall n,m,p,r:nat. O< p \to -n = r*p+m \to congruent n m p. -intros.unfold congruent. -apply (div_mod_spec_to_eq2 n p (div n p) (mod n p) (r +(div m p)) (mod m p)). -apply div_mod_spec_div_mod.assumption. -constructor 1. -apply lt_mod_m_m.assumption. -rewrite > sym_times. -rewrite > distr_times_plus. -rewrite > sym_times. -rewrite > (sym_times p). -rewrite > assoc_plus. -rewrite < div_mod. -assumption.assumption. -qed. - -theorem divides_to_congruent: \forall n,m,p:nat. O < p \to m \le n \to -divides p (n - m) \to congruent n m p. -intros.elim H2. -apply (eq_times_plus_to_congruent n m p n2). -assumption. -rewrite < sym_plus. -apply minus_to_plus.assumption. -rewrite > sym_times. assumption. -qed. - -theorem congruent_to_divides: \forall n,m,p:nat. -O < p \to congruent n m p \to divides p (n - m). -intros.unfold congruent in H1. -apply (witness ? ? ((n / p)-(m / p))). -rewrite > sym_times. -rewrite > (div_mod n p) in \vdash (? ? % ?). -rewrite > (div_mod m p) in \vdash (? ? % ?). -rewrite < (sym_plus (m \mod p)). -rewrite < H1. -rewrite < (eq_minus_minus_minus_plus ? (n \mod p)). -rewrite < minus_plus_m_m. -apply sym_eq. -apply times_minus_l. -assumption.assumption. -qed. - -theorem mod_times: \forall n,m,p:nat. -O < p \to mod (n*m) p = mod ((mod n p)*(mod m p)) p. -intros. -change with (congruent (n*m) ((mod n p)*(mod m p)) p). -apply (eq_times_plus_to_congruent ? ? p -((n / p)*p*(m / p) + (n / p)*(m \mod p) + (n \mod p)*(m / p))). -assumption. -apply (trans_eq ? ? (((n/p)*p+(n \mod p))*((m/p)*p+(m \mod p)))). -apply eq_f2. -apply div_mod.assumption. -apply div_mod.assumption. -apply (trans_eq ? ? (((n/p)*p)*((m/p)*p) + (n/p)*p*(m \mod p) + -(n \mod p)*((m / p)*p) + (n \mod p)*(m \mod p))). -apply times_plus_plus. -apply eq_f2. -rewrite < assoc_times. -rewrite > (assoc_times (n/p) p (m \mod p)). -rewrite > (sym_times p (m \mod p)). -rewrite < (assoc_times (n/p) (m \mod p) p). -rewrite < times_plus_l. -rewrite < (assoc_times (n \mod p)). -rewrite < times_plus_l. -apply eq_f2. -apply eq_f2.reflexivity. -reflexivity.reflexivity. -reflexivity. -qed. - -theorem congruent_times: \forall n,m,n1,m1,p. O < p \to congruent n n1 p \to -congruent m m1 p \to congruent (n*m) (n1*m1) p. -unfold congruent. -intros. -rewrite > (mod_times n m p H). -rewrite > H1. -rewrite > H2. -apply sym_eq. -apply mod_times.assumption. -qed. - -theorem congruent_pi: \forall f:nat \to nat. \forall n,m,p:nat.O < p \to -congruent (pi n f m) (pi n (\lambda m. mod (f m) p) m) p. -intros. -elim n.change with (congruent (f m) (f m \mod p) p). -apply congruent_n_mod_n.assumption. -change with (congruent ((f (S n1+m))*(pi n1 f m)) -(((f (S n1+m))\mod p)*(pi n1 (\lambda m.(f m) \mod p) m)) p). -apply congruent_times. -assumption. -apply congruent_n_mod_n.assumption. -assumption. -qed. diff --git a/helm/matita/library/nat/count.ma b/helm/matita/library/nat/count.ma deleted file mode 100644 index 20913fa60..000000000 --- a/helm/matita/library/nat/count.ma +++ /dev/null @@ -1,246 +0,0 @@ -(**************************************************************************) -(* __ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/count". - -include "nat/relevant_equations.ma". -include "nat/sigma_and_pi.ma". -include "nat/permutation.ma". - -theorem sigma_f_g : \forall n,m:nat.\forall f,g:nat \to nat. -sigma n (\lambda p.f p + g p) m = sigma n f m + sigma n g m. -intros.elim n. -simplify.reflexivity. -simplify.rewrite > H. -rewrite > assoc_plus. -rewrite < (assoc_plus (g (S (n1+m)))). -rewrite > (sym_plus (g (S (n1+m)))). -rewrite > (assoc_plus (sigma n1 f m)). -rewrite < assoc_plus. -reflexivity. -qed. - -theorem sigma_plus: \forall n,p,m:nat.\forall f:nat \to nat. -sigma (S (p+n)) f m = sigma p (\lambda x.(f ((S n) + x))) m + sigma n f m. -intros. elim p. -simplify. -rewrite < (sym_plus n m).reflexivity. -simplify. -rewrite > assoc_plus in \vdash (? ? ? %). -rewrite < H. -simplify. -rewrite < plus_n_Sm. -rewrite > (sym_plus n). -rewrite > assoc_plus. -rewrite < (sym_plus m). -rewrite < (assoc_plus n1). -reflexivity. -qed. - -theorem sigma_plus1: \forall n,p,m:nat.\forall f:nat \to nat. -sigma (p+(S n)) f m = sigma p (\lambda x.(f ((S n) + x))) m + sigma n f m. -intros. elim p. -simplify.reflexivity. -simplify. -rewrite > assoc_plus in \vdash (? ? ? %). -rewrite < H. -rewrite < plus_n_Sm. -rewrite < plus_n_Sm.simplify. -rewrite < (sym_plus n). -rewrite > assoc_plus. -rewrite < (sym_plus m). -rewrite < (assoc_plus n). -reflexivity. -qed. - -theorem eq_sigma_sigma : \forall n,m:nat.\forall f:nat \to nat. -sigma (pred ((S n)*(S m))) f O = -sigma m (\lambda a.(sigma n (\lambda b.f (b*(S m) + a)) O)) O. -intro.elim n.simplify. -rewrite < plus_n_O. -apply eq_sigma.intros.reflexivity. -change with -(sigma (m+(S n1)*(S m)) f O = -sigma m (\lambda a.(f ((S(n1+O))*(S m)+a)) + (sigma n1 (\lambda b.f (b*(S m)+a)) O)) O). -rewrite > sigma_f_g. -rewrite < plus_n_O. -rewrite < H. -rewrite > (S_pred ((S n1)*(S m))). -apply sigma_plus1. -simplify.unfold lt.apply le_S_S.apply le_O_n. -qed. - -theorem eq_sigma_sigma1 : \forall n,m:nat.\forall f:nat \to nat. -sigma (pred ((S n)*(S m))) f O = -sigma n (\lambda a.(sigma m (\lambda b.f (b*(S n) + a)) O)) O. -intros. -rewrite > sym_times. -apply eq_sigma_sigma. -qed. - -theorem sigma_times: \forall n,m,p:nat.\forall f:nat \to nat. -(sigma n f m)*p = sigma n (\lambda i.(f i) * p) m. -intro. elim n.simplify.reflexivity. -simplify.rewrite < H. -apply times_plus_l. -qed. - -definition bool_to_nat: bool \to nat \def -\lambda b. match b with -[ true \Rightarrow (S O) -| false \Rightarrow O ]. - -theorem bool_to_nat_andb: \forall a,b:bool. -bool_to_nat (andb a b) = (bool_to_nat a)*(bool_to_nat b). -intros. elim a.elim b. -simplify.reflexivity. -reflexivity. -reflexivity. -qed. - -definition count : nat \to (nat \to bool) \to nat \def -\lambda n.\lambda f. sigma (pred n) (\lambda n.(bool_to_nat (f n))) O. - -theorem count_times:\forall n,m:nat. -\forall f,f1,f2:nat \to bool. -\forall g:nat \to nat \to nat. -\forall g1,g2: nat \to nat. -(\forall a,b:nat. a < (S n) \to b < (S m) \to (g b a) < (S n)*(S m)) \to -(\forall a,b:nat. a < (S n) \to b < (S m) \to (g1 (g b a)) = a) \to -(\forall a,b:nat. a < (S n) \to b < (S m) \to (g2 (g b a)) = b) \to -(\forall a,b:nat. a < (S n) \to b < (S m) \to f (g b a) = andb (f2 b) (f1 a)) \to -(count ((S n)*(S m)) f) = (count (S n) f1)*(count (S m) f2). -intros.unfold count. -rewrite < eq_map_iter_i_sigma. -rewrite > (permut_to_eq_map_iter_i plus assoc_plus sym_plus ? ? ? - (\lambda i.g (div i (S n)) (mod i (S n)))). -rewrite > eq_map_iter_i_sigma. -rewrite > eq_sigma_sigma1. -apply (trans_eq ? ? -(sigma n (\lambda a. - sigma m (\lambda b.(bool_to_nat (f2 b))*(bool_to_nat (f1 a))) O) O)). -apply eq_sigma.intros. -apply eq_sigma.intros. -rewrite > (div_mod_spec_to_eq (i1*(S n) + i) (S n) ((i1*(S n) + i)/(S n)) - ((i1*(S n) + i) \mod (S n)) i1 i). -rewrite > (div_mod_spec_to_eq2 (i1*(S n) + i) (S n) ((i1*(S n) + i)/(S n)) - ((i1*(S n) + i) \mod (S n)) i1 i). -rewrite > H3. -apply bool_to_nat_andb. -unfold lt.apply le_S_S.assumption. -unfold lt.apply le_S_S.assumption. -apply div_mod_spec_div_mod. -unfold lt.apply le_S_S.apply le_O_n. -constructor 1.unfold lt.apply le_S_S.assumption. -reflexivity. -apply div_mod_spec_div_mod. -unfold lt.apply le_S_S.apply le_O_n. -constructor 1.unfold lt.apply le_S_S.assumption. -reflexivity. -apply (trans_eq ? ? -(sigma n (\lambda n.((bool_to_nat (f1 n)) * -(sigma m (\lambda n.bool_to_nat (f2 n)) O))) O)). -apply eq_sigma. -intros. -rewrite > sym_times. -apply (trans_eq ? ? -(sigma m (\lambda n.(bool_to_nat (f2 n))*(bool_to_nat (f1 i))) O)). -reflexivity. -apply sym_eq. apply sigma_times. -change in match (pred (S n)) with n. -change in match (pred (S m)) with m. -apply sym_eq. apply sigma_times. -unfold permut. -split. -intros. -rewrite < plus_n_O. -apply le_S_S_to_le. -rewrite < S_pred in \vdash (? ? %). -change with ((g (i/(S n)) (i \mod (S n))) \lt (S n)*(S m)). -apply H. -apply lt_mod_m_m. -unfold lt. apply le_S_S.apply le_O_n. -apply (lt_times_to_lt_l n). -apply (le_to_lt_to_lt ? i). -rewrite > (div_mod i (S n)) in \vdash (? ? %). -rewrite > sym_plus. -apply le_plus_n. -unfold lt. apply le_S_S.apply le_O_n. -unfold lt. -rewrite > S_pred in \vdash (? ? %). -apply le_S_S. -rewrite > plus_n_O in \vdash (? ? %). -rewrite > sym_times. assumption. -rewrite > (times_n_O O). -apply lt_times. -unfold lt. apply le_S_S.apply le_O_n. -unfold lt. apply le_S_S.apply le_O_n. -rewrite > (times_n_O O). -apply lt_times. -unfold lt. apply le_S_S.apply le_O_n. -unfold lt. apply le_S_S.apply le_O_n. -rewrite < plus_n_O. -unfold injn. -intros. -cut (i < (S n)*(S m)). -cut (j < (S n)*(S m)). -cut ((i \mod (S n)) < (S n)). -cut ((i/(S n)) < (S m)). -cut ((j \mod (S n)) < (S n)). -cut ((j/(S n)) < (S m)). -rewrite > (div_mod i (S n)). -rewrite > (div_mod j (S n)). -rewrite < (H1 (i \mod (S n)) (i/(S n)) Hcut2 Hcut3). -rewrite < (H2 (i \mod (S n)) (i/(S n)) Hcut2 Hcut3) in \vdash (? ? (? % ?) ?). -rewrite < (H1 (j \mod (S n)) (j/(S n)) Hcut4 Hcut5). -rewrite < (H2 (j \mod (S n)) (j/(S n)) Hcut4 Hcut5) in \vdash (? ? ? (? % ?)). -rewrite > H6.reflexivity. -unfold lt. apply le_S_S.apply le_O_n. -unfold lt. apply le_S_S.apply le_O_n. -apply (lt_times_to_lt_l n). -apply (le_to_lt_to_lt ? j). -rewrite > (div_mod j (S n)) in \vdash (? ? %). -rewrite > sym_plus. -apply le_plus_n. -unfold lt. apply le_S_S.apply le_O_n. -rewrite < sym_times. assumption. -apply lt_mod_m_m. -unfold lt. apply le_S_S.apply le_O_n. -apply (lt_times_to_lt_l n). -apply (le_to_lt_to_lt ? i). -rewrite > (div_mod i (S n)) in \vdash (? ? %). -rewrite > sym_plus. -apply le_plus_n. -unfold lt. apply le_S_S.apply le_O_n. -rewrite < sym_times. assumption. -apply lt_mod_m_m. -unfold lt. apply le_S_S.apply le_O_n. -unfold lt. -rewrite > S_pred in \vdash (? ? %). -apply le_S_S.assumption. -rewrite > (times_n_O O). -apply lt_times. -unfold lt. apply le_S_S.apply le_O_n. -unfold lt. apply le_S_S.apply le_O_n. -unfold lt. -rewrite > S_pred in \vdash (? ? %). -apply le_S_S.assumption. -rewrite > (times_n_O O). -apply lt_times. -unfold lt. apply le_S_S.apply le_O_n. -unfold lt. apply le_S_S.apply le_O_n. -intros. -apply False_ind. -apply (not_le_Sn_O m1 H4). -qed. diff --git a/helm/matita/library/nat/div_and_mod.ma b/helm/matita/library/nat/div_and_mod.ma deleted file mode 100644 index e9831f82a..000000000 --- a/helm/matita/library/nat/div_and_mod.ma +++ /dev/null @@ -1,298 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / Matita is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/div_and_mod". - -include "nat/minus.ma". - -let rec mod_aux p m n: nat \def -match (leb m n) with -[ true \Rightarrow m -| false \Rightarrow - match p with - [O \Rightarrow m - |(S q) \Rightarrow mod_aux q (m-(S n)) n]]. - -definition mod : nat \to nat \to nat \def -\lambda n,m. -match m with -[O \Rightarrow m -| (S p) \Rightarrow mod_aux n n p]. - -interpretation "natural remainder" 'module x y = - (cic:/matita/nat/div_and_mod/mod.con x y). - -let rec div_aux p m n : nat \def -match (leb m n) with -[ true \Rightarrow O -| false \Rightarrow - match p with - [O \Rightarrow O - |(S q) \Rightarrow S (div_aux q (m-(S n)) n)]]. - -definition div : nat \to nat \to nat \def -\lambda n,m. -match m with -[O \Rightarrow S n -| (S p) \Rightarrow div_aux n n p]. - -interpretation "natural divide" 'divide x y = - (cic:/matita/nat/div_and_mod/div.con x y). - -theorem le_mod_aux_m_m: -\forall p,n,m. n \leq p \to (mod_aux p n m) \leq m. -intro.elim p. -apply (le_n_O_elim n H (\lambda n.(mod_aux O n m) \leq m)). -simplify.apply le_O_n. -simplify. -apply (leb_elim n1 m). -simplify.intro.assumption. -simplify.intro.apply H. -cut (n1 \leq (S n) \to n1-(S m) \leq n). -apply Hcut.assumption. -elim n1. -simplify.apply le_O_n. -simplify.apply (trans_le ? n2 n). -apply le_minus_m.apply le_S_S_to_le.assumption. -qed. - -theorem lt_mod_m_m: \forall n,m. O < m \to (n \mod m) < m. -intros 2.elim m.apply False_ind. -apply (not_le_Sn_O O H). -simplify.unfold lt.apply le_S_S.apply le_mod_aux_m_m. -apply le_n. -qed. - -theorem div_aux_mod_aux: \forall p,n,m:nat. -(n=(div_aux p n m)*(S m) + (mod_aux p n m)). -intro.elim p. -simplify.elim (leb n m). -simplify.apply refl_eq. -simplify.apply refl_eq. -simplify. -apply (leb_elim n1 m). -simplify.intro.apply refl_eq. -simplify.intro. -rewrite > assoc_plus. -elim (H (n1-(S m)) m). -change with (n1=(S m)+(n1-(S m))). -rewrite < sym_plus. -apply plus_minus_m_m. -change with (m < n1). -apply not_le_to_lt.exact H1. -qed. - -theorem div_mod: \forall n,m:nat. O < m \to n=(n / m)*m+(n \mod m). -intros 2.elim m.elim (not_le_Sn_O O H). -simplify. -apply div_aux_mod_aux. -qed. - -inductive div_mod_spec (n,m,q,r:nat) : Prop \def -div_mod_spec_intro: r < m \to n=q*m+r \to (div_mod_spec n m q r). - -(* -definition div_mod_spec : nat \to nat \to nat \to nat \to Prop \def -\lambda n,m,q,r:nat.r < m \land n=q*m+r). -*) - -theorem div_mod_spec_to_not_eq_O: \forall n,m,q,r.(div_mod_spec n m q r) \to m \neq O. -intros 4.unfold Not.intros.elim H.absurd (le (S r) O). -rewrite < H1.assumption. -exact (not_le_Sn_O r). -qed. - -theorem div_mod_spec_div_mod: -\forall n,m. O < m \to (div_mod_spec n m (n / m) (n \mod m)). -intros. -apply div_mod_spec_intro. -apply lt_mod_m_m.assumption. -apply div_mod.assumption. -qed. - -theorem div_mod_spec_to_eq :\forall a,b,q,r,q1,r1. -(div_mod_spec a b q r) \to (div_mod_spec a b q1 r1) \to -(eq nat q q1). -intros.elim H.elim H1. -apply (nat_compare_elim q q1).intro. -apply False_ind. -cut (eq nat ((q1-q)*b+r1) r). -cut (b \leq (q1-q)*b+r1). -cut (b \leq r). -apply (lt_to_not_le r b H2 Hcut2). -elim Hcut.assumption. -apply (trans_le ? ((q1-q)*b)). -apply le_times_n. -apply le_SO_minus.exact H6. -rewrite < sym_plus. -apply le_plus_n. -rewrite < sym_times. -rewrite > distr_times_minus. -rewrite > plus_minus. -rewrite > sym_times. -rewrite < H5. -rewrite < sym_times. -apply plus_to_minus. -apply H3. -apply le_times_r. -apply lt_to_le. -apply H6. -(* eq case *) -intros.assumption. -(* the following case is symmetric *) -intro. -apply False_ind. -cut (eq nat ((q-q1)*b+r) r1). -cut (b \leq (q-q1)*b+r). -cut (b \leq r1). -apply (lt_to_not_le r1 b H4 Hcut2). -elim Hcut.assumption. -apply (trans_le ? ((q-q1)*b)). -apply le_times_n. -apply le_SO_minus.exact H6. -rewrite < sym_plus. -apply le_plus_n. -rewrite < sym_times. -rewrite > distr_times_minus. -rewrite > plus_minus. -rewrite > sym_times. -rewrite < H3. -rewrite < sym_times. -apply plus_to_minus. -apply H5. -apply le_times_r. -apply lt_to_le. -apply H6. -qed. - -theorem div_mod_spec_to_eq2 :\forall a,b,q,r,q1,r1. -(div_mod_spec a b q r) \to (div_mod_spec a b q1 r1) \to -(eq nat r r1). -intros.elim H.elim H1. -apply (inj_plus_r (q*b)). -rewrite < H3. -rewrite > (div_mod_spec_to_eq a b q r q1 r1 H H1). -assumption. -qed. - -theorem div_mod_spec_times : \forall n,m:nat.div_mod_spec ((S n)*m) (S n) m O. -intros.constructor 1. -unfold lt.apply le_S_S.apply le_O_n. -rewrite < plus_n_O.rewrite < sym_times.reflexivity. -qed. - -(* some properties of div and mod *) -theorem div_times: \forall n,m:nat. ((S n)*m) / (S n) = m. -intros. -apply (div_mod_spec_to_eq ((S n)*m) (S n) ? ? ? O). -goal 15. (* ?11 is closed with the following tactics *) -apply div_mod_spec_div_mod. -unfold lt.apply le_S_S.apply le_O_n. -apply div_mod_spec_times. -qed. - -theorem div_n_n: \forall n:nat. O < n \to n / n = S O. -intros. -apply (div_mod_spec_to_eq n n (n / n) (n \mod n) (S O) O). -apply div_mod_spec_div_mod.assumption. -constructor 1.assumption. -rewrite < plus_n_O.simplify.rewrite < plus_n_O.reflexivity. -qed. - -theorem eq_div_O: \forall n,m. n < m \to n / m = O. -intros. -apply (div_mod_spec_to_eq n m (n/m) (n \mod m) O n). -apply div_mod_spec_div_mod. -apply (le_to_lt_to_lt O n m). -apply le_O_n.assumption. -constructor 1.assumption.reflexivity. -qed. - -theorem mod_n_n: \forall n:nat. O < n \to n \mod n = O. -intros. -apply (div_mod_spec_to_eq2 n n (n / n) (n \mod n) (S O) O). -apply div_mod_spec_div_mod.assumption. -constructor 1.assumption. -rewrite < plus_n_O.simplify.rewrite < plus_n_O.reflexivity. -qed. - -theorem mod_S: \forall n,m:nat. O < m \to S (n \mod m) < m \to -((S n) \mod m) = S (n \mod m). -intros. -apply (div_mod_spec_to_eq2 (S n) m ((S n) / m) ((S n) \mod m) (n / m) (S (n \mod m))). -apply div_mod_spec_div_mod.assumption. -constructor 1.assumption.rewrite < plus_n_Sm. -apply eq_f. -apply div_mod. -assumption. -qed. - -theorem mod_O_n: \forall n:nat.O \mod n = O. -intro.elim n.simplify.reflexivity. -simplify.reflexivity. -qed. - -theorem lt_to_eq_mod:\forall n,m:nat. n < m \to n \mod m = n. -intros. -apply (div_mod_spec_to_eq2 n m (n/m) (n \mod m) O n). -apply div_mod_spec_div_mod. -apply (le_to_lt_to_lt O n m).apply le_O_n.assumption. -constructor 1. -assumption.reflexivity. -qed. - -(* injectivity *) -theorem injective_times_r: \forall n:nat.injective nat nat (\lambda m:nat.(S n)*m). -change with (\forall n,p,q:nat.(S n)*p = (S n)*q \to p=q). -intros. -rewrite < (div_times n). -rewrite < (div_times n q). -apply eq_f2.assumption. -reflexivity. -qed. - -variant inj_times_r : \forall n,p,q:nat.(S n)*p = (S n)*q \to p=q \def -injective_times_r. - -theorem lt_O_to_injective_times_r: \forall n:nat. O < n \to injective nat nat (\lambda m:nat.n*m). -change with (\forall n. O < n \to \forall p,q:nat.n*p = n*q \to p=q). -intros 4. -apply (lt_O_n_elim n H).intros. -apply (inj_times_r m).assumption. -qed. - -variant inj_times_r1:\forall n. O < n \to \forall p,q:nat.n*p = n*q \to p=q -\def lt_O_to_injective_times_r. - -theorem injective_times_l: \forall n:nat.injective nat nat (\lambda m:nat.m*(S n)). -change with (\forall n,p,q:nat.p*(S n) = q*(S n) \to p=q). -intros. -apply (inj_times_r n p q). -rewrite < sym_times. -rewrite < (sym_times q). -assumption. -qed. - -variant inj_times_l : \forall n,p,q:nat. p*(S n) = q*(S n) \to p=q \def -injective_times_l. - -theorem lt_O_to_injective_times_l: \forall n:nat. O < n \to injective nat nat (\lambda m:nat.m*n). -change with (\forall n. O < n \to \forall p,q:nat.p*n = q*n \to p=q). -intros 4. -apply (lt_O_n_elim n H).intros. -apply (inj_times_l m).assumption. -qed. - -variant inj_times_l1:\forall n. O < n \to \forall p,q:nat.p*n = q*n \to p=q -\def lt_O_to_injective_times_l. diff --git a/helm/matita/library/nat/exp.ma b/helm/matita/library/nat/exp.ma deleted file mode 100644 index 11d84f74c..000000000 --- a/helm/matita/library/nat/exp.ma +++ /dev/null @@ -1,97 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/exp". - -include "nat/div_and_mod.ma". - -let rec exp n m on m\def - match m with - [ O \Rightarrow (S O) - | (S p) \Rightarrow (times n (exp n p)) ]. - -interpretation "natural exponent" 'exp a b = (cic:/matita/nat/exp/exp.con a b). - -theorem exp_plus_times : \forall n,p,q:nat. -n \sup (p + q) = (n \sup p) * (n \sup q). -intros.elim p. -simplify.rewrite < plus_n_O.reflexivity. -simplify.rewrite > H.symmetry. -apply assoc_times. -qed. - -theorem exp_n_O : \forall n:nat. S O = n \sup O. -intro.simplify.reflexivity. -qed. - -theorem exp_n_SO : \forall n:nat. n = n \sup (S O). -intro.simplify.rewrite < times_n_SO.reflexivity. -qed. - -theorem exp_exp_times : \forall n,p,q:nat. -(n \sup p) \sup q = n \sup (p * q). -intros. -elim q.simplify.rewrite < times_n_O.simplify.reflexivity. -simplify.rewrite > H.rewrite < exp_plus_times. -rewrite < times_n_Sm.reflexivity. -qed. - -theorem lt_O_exp: \forall n,m:nat. O < n \to O < n \sup m. -intros.elim m.simplify.unfold lt.apply le_n. -simplify.unfold lt.rewrite > times_n_SO. -apply le_times.assumption.assumption. -qed. - -theorem lt_m_exp_nm: \forall n,m:nat. (S O) < n \to m < n \sup m. -intros.elim m.simplify.unfold lt.reflexivity. -simplify.unfold lt. -apply (trans_le ? ((S(S O))*(S n1))). -simplify. -rewrite < plus_n_Sm.apply le_S_S.apply le_S_S. -rewrite < sym_plus. -apply le_plus_n. -apply le_times.assumption.assumption. -qed. - -theorem exp_to_eq_O: \forall n,m:nat. (S O) < n -\to n \sup m = (S O) \to m = O. -intros.apply antisym_le.apply le_S_S_to_le. -rewrite < H1.change with (m < n \sup m). -apply lt_m_exp_nm.assumption. -apply le_O_n. -qed. - -theorem injective_exp_r: \forall n:nat. (S O) < n \to -injective nat nat (\lambda m:nat. n \sup m). -simplify.intros 4. -apply (nat_elim2 (\lambda x,y.n \sup x = n \sup y \to x = y)). -intros.apply sym_eq.apply (exp_to_eq_O n).assumption. -rewrite < H1.reflexivity. -intros.apply (exp_to_eq_O n).assumption.assumption. -intros.apply eq_f. -apply H1. -(* esprimere inj_times senza S *) -cut (\forall a,b:nat.O < n \to n*a=n*b \to a=b). -apply Hcut.simplify.unfold lt.apply le_S_S_to_le. apply le_S. assumption. -assumption. -intros 2. -apply (nat_case n). -intros.apply False_ind.apply (not_le_Sn_O O H3). -intros. -apply (inj_times_r m1).assumption. -qed. - -variant inj_exp_r: \forall p:nat. (S O) < p \to \forall n,m:nat. -p \sup n = p \sup m \to n = m \def -injective_exp_r. diff --git a/helm/matita/library/nat/factorial.ma b/helm/matita/library/nat/factorial.ma deleted file mode 100644 index 14217bbcb..000000000 --- a/helm/matita/library/nat/factorial.ma +++ /dev/null @@ -1,61 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / Matita is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/factorial". - -include "nat/le_arith.ma". - -let rec fact n \def - match n with - [ O \Rightarrow (S O) - | (S m) \Rightarrow (S m)*(fact m)]. - -interpretation "factorial" 'fact n = (cic:/matita/nat/factorial/fact.con n). - -theorem le_SO_fact : \forall n. (S O) \le n!. -intro.elim n.simplify.apply le_n. -change with ((S O) \le (S n1)*n1!). -apply (trans_le ? ((S n1)*(S O))).simplify. -apply le_S_S.apply le_O_n. -apply le_times_r.assumption. -qed. - -theorem le_SSO_fact : \forall n. (S O) < n \to (S(S O)) \le n!. -intro.apply (nat_case n).intro.apply False_ind.apply (not_le_Sn_O (S O) H). -intros.change with ((S (S O)) \le (S m)*m!). -apply (trans_le ? ((S(S O))*(S O))).apply le_n. -apply le_times.exact H.apply le_SO_fact. -qed. - -theorem le_n_fact_n: \forall n. n \le n!. -intro. elim n.apply le_O_n. -change with (S n1 \le (S n1)*n1!). -apply (trans_le ? ((S n1)*(S O))). -rewrite < times_n_SO.apply le_n. -apply le_times.apply le_n. -apply le_SO_fact. -qed. - -theorem lt_n_fact_n: \forall n. (S(S O)) < n \to n < n!. -intro.apply (nat_case n).intro.apply False_ind.apply (not_le_Sn_O (S(S O)) H). -intros.change with ((S m) < (S m)*m!). -apply (lt_to_le_to_lt ? ((S m)*(S (S O)))). -rewrite < sym_times. -simplify.unfold lt. -apply le_S_S.rewrite < plus_n_O. -apply le_plus_n. -apply le_times_r.apply le_SSO_fact. -simplify.unfold lt.apply le_S_S_to_le.exact H. -qed. - diff --git a/helm/matita/library/nat/factorization.ma b/helm/matita/library/nat/factorization.ma deleted file mode 100644 index 6a3094303..000000000 --- a/helm/matita/library/nat/factorization.ma +++ /dev/null @@ -1,613 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / Matita is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/factorization". - -include "nat/ord.ma". -include "nat/gcd.ma". -include "nat/nth_prime.ma". - -(* the following factorization algorithm looks for the largest prime - factor. *) -definition max_prime_factor \def \lambda n:nat. -(max n (\lambda p:nat.eqb (n \mod (nth_prime p)) O)). - -(* max_prime_factor is indeed a factor *) -theorem divides_max_prime_factor_n: \forall n:nat. (S O) < n \to -nth_prime (max_prime_factor n) \divides n. -intros.apply divides_b_true_to_divides. -apply lt_O_nth_prime_n. -apply (f_max_true (\lambda p:nat.eqb (n \mod (nth_prime p)) O) n). -cut (\exists i. nth_prime i = smallest_factor n). -elim Hcut. -apply (ex_intro nat ? a). -split. -apply (trans_le a (nth_prime a)). -apply le_n_fn. -exact lt_nth_prime_n_nth_prime_Sn. -rewrite > H1. apply le_smallest_factor_n. -rewrite > H1. -change with (divides_b (smallest_factor n) n = true). -apply divides_to_divides_b_true. -apply (trans_lt ? (S O)).unfold lt. apply le_n. -apply lt_SO_smallest_factor.assumption. -apply divides_smallest_factor_n. -apply (trans_lt ? (S O)). unfold lt. apply le_n. assumption. -apply prime_to_nth_prime. -apply prime_smallest_factor_n.assumption. -qed. - -theorem divides_to_max_prime_factor : \forall n,m. (S O) < n \to O < m \to n \divides m \to -max_prime_factor n \le max_prime_factor m. -intros.change with -((max n (\lambda p:nat.eqb (n \mod (nth_prime p)) O)) \le -(max m (\lambda p:nat.eqb (m \mod (nth_prime p)) O))). -apply f_m_to_le_max. -apply (trans_le ? n). -apply le_max_n.apply divides_to_le.assumption.assumption. -change with (divides_b (nth_prime (max_prime_factor n)) m = true). -apply divides_to_divides_b_true. -cut (prime (nth_prime (max_prime_factor n))). -apply lt_O_nth_prime_n.apply prime_nth_prime. -cut (nth_prime (max_prime_factor n) \divides n). -apply (transitive_divides ? n). -apply divides_max_prime_factor_n. -assumption.assumption. -apply divides_b_true_to_divides. -apply lt_O_nth_prime_n. -apply divides_to_divides_b_true. -apply lt_O_nth_prime_n. -apply divides_max_prime_factor_n. -assumption. -qed. - -theorem p_ord_to_lt_max_prime_factor: \forall n,p,q,r. O < n \to -p = max_prime_factor n \to -(pair nat nat q r) = p_ord n (nth_prime p) \to -(S O) < r \to max_prime_factor r < p. -intros. -rewrite > H1. -cut (max_prime_factor r \lt max_prime_factor n \lor - max_prime_factor r = max_prime_factor n). -elim Hcut.assumption. -absurd (nth_prime (max_prime_factor n) \divides r). -rewrite < H4. -apply divides_max_prime_factor_n. -assumption. -change with (nth_prime (max_prime_factor n) \divides r \to False). -intro. -cut (r \mod (nth_prime (max_prime_factor n)) \neq O). -apply Hcut1.apply divides_to_mod_O. -apply lt_O_nth_prime_n.assumption. -apply (p_ord_aux_to_not_mod_O n n ? q r). -apply lt_SO_nth_prime_n.assumption. -apply le_n. -rewrite < H1.assumption. -apply (le_to_or_lt_eq (max_prime_factor r) (max_prime_factor n)). -apply divides_to_max_prime_factor. -assumption.assumption. -apply (witness r n ((nth_prime p) \sup q)). -rewrite < sym_times. -apply (p_ord_aux_to_exp n n ? q r). -apply lt_O_nth_prime_n.assumption. -qed. - -theorem p_ord_to_lt_max_prime_factor1: \forall n,p,q,r. O < n \to -max_prime_factor n \le p \to -(pair nat nat q r) = p_ord n (nth_prime p) \to -(S O) < r \to max_prime_factor r < p. -intros. -cut (max_prime_factor n < p \lor max_prime_factor n = p). -elim Hcut.apply (le_to_lt_to_lt ? (max_prime_factor n)). -apply divides_to_max_prime_factor.assumption.assumption. -apply (witness r n ((nth_prime p) \sup q)). -rewrite > sym_times. -apply (p_ord_aux_to_exp n n). -apply lt_O_nth_prime_n. -assumption.assumption. -apply (p_ord_to_lt_max_prime_factor n ? q). -assumption.apply sym_eq.assumption.assumption.assumption. -apply (le_to_or_lt_eq ? p H1). -qed. - -(* datatypes and functions *) - -inductive nat_fact : Set \def - nf_last : nat \to nat_fact - | nf_cons : nat \to nat_fact \to nat_fact. - -inductive nat_fact_all : Set \def - nfa_zero : nat_fact_all - | nfa_one : nat_fact_all - | nfa_proper : nat_fact \to nat_fact_all. - -let rec factorize_aux p n acc \def - match p with - [ O \Rightarrow acc - | (S p1) \Rightarrow - match p_ord n (nth_prime p1) with - [ (pair q r) \Rightarrow - factorize_aux p1 r (nf_cons q acc)]]. - -definition factorize : nat \to nat_fact_all \def \lambda n:nat. - match n with - [ O \Rightarrow nfa_zero - | (S n1) \Rightarrow - match n1 with - [ O \Rightarrow nfa_one - | (S n2) \Rightarrow - let p \def (max (S(S n2)) (\lambda p:nat.eqb ((S(S n2)) \mod (nth_prime p)) O)) in - match p_ord (S(S n2)) (nth_prime p) with - [ (pair q r) \Rightarrow - nfa_proper (factorize_aux p r (nf_last (pred q)))]]]. - -let rec defactorize_aux f i \def - match f with - [ (nf_last n) \Rightarrow (nth_prime i) \sup (S n) - | (nf_cons n g) \Rightarrow - (nth_prime i) \sup n *(defactorize_aux g (S i))]. - -definition defactorize : nat_fact_all \to nat \def -\lambda f : nat_fact_all. -match f with -[ nfa_zero \Rightarrow O -| nfa_one \Rightarrow (S O) -| (nfa_proper g) \Rightarrow defactorize_aux g O]. - -theorem lt_O_defactorize_aux: \forall f:nat_fact.\forall i:nat. -O < defactorize_aux f i. -intro.elim f.simplify.unfold lt. -rewrite > times_n_SO. -apply le_times. -change with (O < nth_prime i). -apply lt_O_nth_prime_n. -change with (O < exp (nth_prime i) n). -apply lt_O_exp. -apply lt_O_nth_prime_n. -simplify.unfold lt. -rewrite > times_n_SO. -apply le_times. -change with (O < exp (nth_prime i) n). -apply lt_O_exp. -apply lt_O_nth_prime_n. -change with (O < defactorize_aux n1 (S i)). -apply H. -qed. - -theorem lt_SO_defactorize_aux: \forall f:nat_fact.\forall i:nat. -S O < defactorize_aux f i. -intro.elim f.simplify.unfold lt. -rewrite > times_n_SO. -apply le_times. -change with (S O < nth_prime i). -apply lt_SO_nth_prime_n. -change with (O < exp (nth_prime i) n). -apply lt_O_exp. -apply lt_O_nth_prime_n. -simplify.unfold lt. -rewrite > times_n_SO. -rewrite > sym_times. -apply le_times. -change with (O < exp (nth_prime i) n). -apply lt_O_exp. -apply lt_O_nth_prime_n. -change with (S O < defactorize_aux n1 (S i)). -apply H. -qed. - -theorem defactorize_aux_factorize_aux : -\forall p,n:nat.\forall acc:nat_fact.O < n \to -((n=(S O) \land p=O) \lor max_prime_factor n < p) \to -defactorize_aux (factorize_aux p n acc) O = n*(defactorize_aux acc p). -intro.elim p.simplify. -elim H1.elim H2.rewrite > H3. -rewrite > sym_times. apply times_n_SO. -apply False_ind.apply (not_le_Sn_O (max_prime_factor n) H2). -simplify. -(* generalizing the goal: I guess there exists a better way *) -cut (\forall q,r.(pair nat nat q r) = (p_ord_aux n1 n1 (nth_prime n)) \to -defactorize_aux match (p_ord_aux n1 n1 (nth_prime n)) with -[(pair q r) \Rightarrow (factorize_aux n r (nf_cons q acc))] O = -n1*defactorize_aux acc (S n)). -apply (Hcut (fst ? ? (p_ord_aux n1 n1 (nth_prime n))) -(snd ? ? (p_ord_aux n1 n1 (nth_prime n)))). -apply sym_eq.apply eq_pair_fst_snd. -intros. -rewrite < H3. -simplify. -cut (n1 = r * (nth_prime n) \sup q). -rewrite > H. -simplify.rewrite < assoc_times. -rewrite < Hcut.reflexivity. -cut (O < r \lor O = r). -elim Hcut1.assumption.absurd (n1 = O). -rewrite > Hcut.rewrite < H4.reflexivity. -unfold Not. intro.apply (not_le_Sn_O O). -rewrite < H5 in \vdash (? ? %).assumption. -apply le_to_or_lt_eq.apply le_O_n. -cut ((S O) < r \lor (S O) \nlt r). -elim Hcut1. -right. -apply (p_ord_to_lt_max_prime_factor1 n1 ? q r). -assumption.elim H2. -elim H5. -apply False_ind. -apply (not_eq_O_S n).apply sym_eq.assumption. -apply le_S_S_to_le. -exact H5. -assumption.assumption. -cut (r=(S O)). -apply (nat_case n). -left.split.assumption.reflexivity. -intro.right.rewrite > Hcut2. -simplify.unfold lt.apply le_S_S.apply le_O_n. -cut (r \lt (S O) \or r=(S O)). -elim Hcut2.absurd (O=r). -apply le_n_O_to_eq.apply le_S_S_to_le.exact H5. -unfold Not.intro. -cut (O=n1). -apply (not_le_Sn_O O). -rewrite > Hcut3 in \vdash (? ? %). -assumption.rewrite > Hcut. -rewrite < H6.reflexivity. -assumption. -apply (le_to_or_lt_eq r (S O)). -apply not_lt_to_le.assumption. -apply (decidable_lt (S O) r). -rewrite > sym_times. -apply (p_ord_aux_to_exp n1 n1). -apply lt_O_nth_prime_n.assumption. -qed. - -theorem defactorize_factorize: \forall n:nat.defactorize (factorize n) = n. -intro. -apply (nat_case n).reflexivity. -intro.apply (nat_case m).reflexivity. -intro.change with -(let p \def (max (S(S m1)) (\lambda p:nat.eqb ((S(S m1)) \mod (nth_prime p)) O)) in -defactorize (match p_ord (S(S m1)) (nth_prime p) with -[ (pair q r) \Rightarrow - nfa_proper (factorize_aux p r (nf_last (pred q)))])=(S(S m1))). -intro. -(* generalizing the goal; find a better way *) -cut (\forall q,r.(pair nat nat q r) = (p_ord (S(S m1)) (nth_prime p)) \to -defactorize (match p_ord (S(S m1)) (nth_prime p) with -[ (pair q r) \Rightarrow - nfa_proper (factorize_aux p r (nf_last (pred q)))])=(S(S m1))). -apply (Hcut (fst ? ? (p_ord (S(S m1)) (nth_prime p))) -(snd ? ? (p_ord (S(S m1)) (nth_prime p)))). -apply sym_eq.apply eq_pair_fst_snd. -intros. -rewrite < H. -change with -(defactorize_aux (factorize_aux p r (nf_last (pred q))) O = (S(S m1))). -cut ((S(S m1)) = (nth_prime p) \sup q *r). -cut (O defactorize_aux_factorize_aux. -change with (r*(nth_prime p) \sup (S (pred q)) = (S(S m1))). -cut ((S (pred q)) = q). -rewrite > Hcut2. -rewrite > sym_times. -apply sym_eq. -apply (p_ord_aux_to_exp (S(S m1))). -apply lt_O_nth_prime_n. -assumption. -(* O < q *) -apply sym_eq. apply S_pred. -cut (O < q \lor O = q). -elim Hcut2.assumption. -absurd (nth_prime p \divides S (S m1)). -apply (divides_max_prime_factor_n (S (S m1))). -unfold lt.apply le_S_S.apply le_S_S. apply le_O_n. -cut ((S(S m1)) = r). -rewrite > Hcut3 in \vdash (? (? ? %)). -change with (nth_prime p \divides r \to False). -intro. -apply (p_ord_aux_to_not_mod_O (S(S m1)) (S(S m1)) (nth_prime p) q r). -apply lt_SO_nth_prime_n. -unfold lt.apply le_S_S.apply le_O_n.apply le_n. -assumption. -apply divides_to_mod_O.apply lt_O_nth_prime_n.assumption. -rewrite > times_n_SO in \vdash (? ? ? %). -rewrite < sym_times. -rewrite > (exp_n_O (nth_prime p)). -rewrite > H1 in \vdash (? ? ? (? (? ? %) ?)). -assumption. -apply le_to_or_lt_eq.apply le_O_n.assumption. -(* e adesso l'ultimo goal. TASSI: che ora non e' piu' l'ultimo :P *) -cut ((S O) < r \lor S O \nlt r). -elim Hcut2. -right. -apply (p_ord_to_lt_max_prime_factor1 (S(S m1)) ? q r). -unfold lt.apply le_S_S. apply le_O_n. -apply le_n. -assumption.assumption. -cut (r=(S O)). -apply (nat_case p). -left.split.assumption.reflexivity. -intro.right.rewrite > Hcut3. -simplify.unfold lt.apply le_S_S.apply le_O_n. -cut (r \lt (S O) \or r=(S O)). -elim Hcut3.absurd (O=r). -apply le_n_O_to_eq.apply le_S_S_to_le.exact H2. -unfold Not.intro. -apply (not_le_Sn_O O). -rewrite > H3 in \vdash (? ? %).assumption.assumption. -apply (le_to_or_lt_eq r (S O)). -apply not_lt_to_le.assumption. -apply (decidable_lt (S O) r). -(* O < r *) -cut (O < r \lor O = r). -elim Hcut1.assumption. -apply False_ind. -apply (not_eq_O_S (S m1)). -rewrite > Hcut.rewrite < H1.rewrite < times_n_O.reflexivity. -apply le_to_or_lt_eq.apply le_O_n. -(* prova del cut *) -goal 20. -apply (p_ord_aux_to_exp (S(S m1))). -apply lt_O_nth_prime_n. -assumption. -(* fine prova cut *) -qed. - -let rec max_p f \def -match f with -[ (nf_last n) \Rightarrow O -| (nf_cons n g) \Rightarrow S (max_p g)]. - -let rec max_p_exponent f \def -match f with -[ (nf_last n) \Rightarrow n -| (nf_cons n g) \Rightarrow max_p_exponent g]. - -theorem divides_max_p_defactorize: \forall f:nat_fact.\forall i:nat. -nth_prime ((max_p f)+i) \divides defactorize_aux f i. -intro. -elim f.simplify.apply (witness ? ? ((nth_prime i) \sup n)). -reflexivity. -change with -(nth_prime (S(max_p n1)+i) \divides -(nth_prime i) \sup n *(defactorize_aux n1 (S i))). -elim (H (S i)). -rewrite > H1. -rewrite < sym_times. -rewrite > assoc_times. -rewrite < plus_n_Sm. -apply (witness ? ? (n2* (nth_prime i) \sup n)). -reflexivity. -qed. - -theorem divides_exp_to_divides: -\forall p,n,m:nat. prime p \to -p \divides n \sup m \to p \divides n. -intros 3.elim m.simplify in H1. -apply (transitive_divides p (S O)).assumption. -apply divides_SO_n. -cut (p \divides n \lor p \divides n \sup n1). -elim Hcut.assumption. -apply H.assumption.assumption. -apply divides_times_to_divides.assumption. -exact H2. -qed. - -theorem divides_exp_to_eq: -\forall p,q,m:nat. prime p \to prime q \to -p \divides q \sup m \to p = q. -intros. -unfold prime in H1. -elim H1.apply H4. -apply (divides_exp_to_divides p q m). -assumption.assumption. -unfold prime in H.elim H.assumption. -qed. - -theorem not_divides_defactorize_aux: \forall f:nat_fact. \forall i,j:nat. -i < j \to nth_prime i \ndivides defactorize_aux f j. -intro.elim f. -change with -(nth_prime i \divides (nth_prime j) \sup (S n) \to False). -intro.absurd ((nth_prime i) = (nth_prime j)). -apply (divides_exp_to_eq ? ? (S n)). -apply prime_nth_prime.apply prime_nth_prime. -assumption. -change with ((nth_prime i) = (nth_prime j) \to False). -intro.cut (i = j). -apply (not_le_Sn_n i).rewrite > Hcut in \vdash (? ? %).assumption. -apply (injective_nth_prime ? ? H2). -change with -(nth_prime i \divides (nth_prime j) \sup n *(defactorize_aux n1 (S j)) \to False). -intro. -cut (nth_prime i \divides (nth_prime j) \sup n -\lor nth_prime i \divides defactorize_aux n1 (S j)). -elim Hcut. -absurd ((nth_prime i) = (nth_prime j)). -apply (divides_exp_to_eq ? ? n). -apply prime_nth_prime.apply prime_nth_prime. -assumption. -change with ((nth_prime i) = (nth_prime j) \to False). -intro. -cut (i = j). -apply (not_le_Sn_n i).rewrite > Hcut1 in \vdash (? ? %).assumption. -apply (injective_nth_prime ? ? H4). -apply (H i (S j)). -apply (trans_lt ? j).assumption.unfold lt.apply le_n. -assumption. -apply divides_times_to_divides. -apply prime_nth_prime.assumption. -qed. - -lemma not_eq_nf_last_nf_cons: \forall g:nat_fact.\forall n,m,i:nat. -\lnot (defactorize_aux (nf_last n) i= defactorize_aux (nf_cons m g) i). -intros. -change with -(exp (nth_prime i) (S n) = defactorize_aux (nf_cons m g) i \to False). -intro. -cut (S(max_p g)+i= i). -apply (not_le_Sn_n i). -rewrite < Hcut in \vdash (? ? %). -simplify.apply le_S_S. -apply le_plus_n. -apply injective_nth_prime. -(* uffa, perche' semplifica ? *) -change with (nth_prime (S(max_p g)+i)= nth_prime i). -apply (divides_exp_to_eq ? ? (S n)). -apply prime_nth_prime.apply prime_nth_prime. -rewrite > H. -change with (divides (nth_prime ((max_p (nf_cons m g))+i)) -(defactorize_aux (nf_cons m g) i)). -apply divides_max_p_defactorize. -qed. - -lemma not_eq_nf_cons_O_nf_cons: \forall f,g:nat_fact.\forall n,i:nat. -\lnot (defactorize_aux (nf_cons O f) i= defactorize_aux (nf_cons (S n) g) i). -intros. -simplify.unfold Not.rewrite < plus_n_O. -intro. -apply (not_divides_defactorize_aux f i (S i) ?). -unfold lt.apply le_n. -rewrite > H. -rewrite > assoc_times. -apply (witness ? ? ((exp (nth_prime i) n)*(defactorize_aux g (S i)))). -reflexivity. -qed. - -theorem eq_defactorize_aux_to_eq: \forall f,g:nat_fact.\forall i:nat. -defactorize_aux f i = defactorize_aux g i \to f = g. -intro. -elim f. -generalize in match H. -elim g. -apply eq_f. -apply inj_S. apply (inj_exp_r (nth_prime i)). -apply lt_SO_nth_prime_n. -assumption. -apply False_ind. -apply (not_eq_nf_last_nf_cons n2 n n1 i H2). -generalize in match H1. -elim g. -apply False_ind. -apply (not_eq_nf_last_nf_cons n1 n2 n i). -apply sym_eq. assumption. -simplify in H3. -generalize in match H3. -apply (nat_elim2 (\lambda n,n2. -((nth_prime i) \sup n)*(defactorize_aux n1 (S i)) = -((nth_prime i) \sup n2)*(defactorize_aux n3 (S i)) \to -nf_cons n n1 = nf_cons n2 n3)). -intro. -elim n4. apply eq_f. -apply (H n3 (S i)). -simplify in H4. -rewrite > plus_n_O. -rewrite > (plus_n_O (defactorize_aux n3 (S i))).assumption. -apply False_ind. -apply (not_eq_nf_cons_O_nf_cons n1 n3 n5 i).assumption. -intros. -apply False_ind. -apply (not_eq_nf_cons_O_nf_cons n3 n1 n4 i). -apply sym_eq.assumption. -intros. -cut (nf_cons n4 n1 = nf_cons m n3). -cut (n4=m). -cut (n1=n3). -rewrite > Hcut1.rewrite > Hcut2.reflexivity. -change with -(match nf_cons n4 n1 with -[ (nf_last m) \Rightarrow n1 -| (nf_cons m g) \Rightarrow g ] = n3). -rewrite > Hcut.simplify.reflexivity. -change with -(match nf_cons n4 n1 with -[ (nf_last m) \Rightarrow m -| (nf_cons m g) \Rightarrow m ] = m). -rewrite > Hcut.simplify.reflexivity. -apply H4.simplify in H5. -apply (inj_times_r1 (nth_prime i)). -apply lt_O_nth_prime_n. -rewrite < assoc_times.rewrite < assoc_times.assumption. -qed. - -theorem injective_defactorize_aux: \forall i:nat. -injective nat_fact nat (\lambda f.defactorize_aux f i). -change with (\forall i:nat.\forall f,g:nat_fact. -defactorize_aux f i = defactorize_aux g i \to f = g). -intros. -apply (eq_defactorize_aux_to_eq f g i H). -qed. - -theorem injective_defactorize: -injective nat_fact_all nat defactorize. -change with (\forall f,g:nat_fact_all. -defactorize f = defactorize g \to f = g). -intro.elim f. -generalize in match H.elim g. -(* zero - zero *) -reflexivity. -(* zero - one *) -simplify in H1. -apply False_ind. -apply (not_eq_O_S O H1). -(* zero - proper *) -simplify in H1. -apply False_ind. -apply (not_le_Sn_n O). -rewrite > H1 in \vdash (? ? %). -change with (O < defactorize_aux n O). -apply lt_O_defactorize_aux. -generalize in match H. -elim g. -(* one - zero *) -simplify in H1. -apply False_ind. -apply (not_eq_O_S O).apply sym_eq. assumption. -(* one - one *) -reflexivity. -(* one - proper *) -simplify in H1. -apply False_ind. -apply (not_le_Sn_n (S O)). -rewrite > H1 in \vdash (? ? %). -change with ((S O) < defactorize_aux n O). -apply lt_SO_defactorize_aux. -generalize in match H.elim g. -(* proper - zero *) -simplify in H1. -apply False_ind. -apply (not_le_Sn_n O). -rewrite < H1 in \vdash (? ? %). -change with (O < defactorize_aux n O). -apply lt_O_defactorize_aux. -(* proper - one *) -simplify in H1. -apply False_ind. -apply (not_le_Sn_n (S O)). -rewrite < H1 in \vdash (? ? %). -change with ((S O) < defactorize_aux n O). -apply lt_SO_defactorize_aux. -(* proper - proper *) -apply eq_f. -apply (injective_defactorize_aux O). -exact H1. -qed. - -theorem factorize_defactorize: -\forall f,g: nat_fact_all. factorize (defactorize f) = f. -intros. -apply injective_defactorize. -(* uffa: perche' semplifica ??? *) -change with (defactorize(factorize (defactorize f)) = (defactorize f)). -apply defactorize_factorize. -qed. - diff --git a/helm/matita/library/nat/fermat_little_theorem.ma b/helm/matita/library/nat/fermat_little_theorem.ma deleted file mode 100644 index cc18a8bb9..000000000 --- a/helm/matita/library/nat/fermat_little_theorem.ma +++ /dev/null @@ -1,250 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/fermat_little_theorem". - -include "nat/exp.ma". -include "nat/gcd.ma". -include "nat/permutation.ma". -include "nat/congruence.ma". - -theorem permut_S_mod: \forall n:nat. permut (S_mod (S n)) n. -intro.unfold permut.split.intros. -unfold S_mod. -apply le_S_S_to_le. -change with ((S i) \mod (S n) < S n). -apply lt_mod_m_m. -unfold lt.apply le_S_S.apply le_O_n. -unfold injn.intros. -apply inj_S. -rewrite < (lt_to_eq_mod i (S n)). -rewrite < (lt_to_eq_mod j (S n)). -cut (i < n \lor i = n). -cut (j < n \lor j = n). -elim Hcut. -elim Hcut1. -(* i < n, j< n *) -rewrite < mod_S. -rewrite < mod_S. -apply H2.unfold lt.apply le_S_S.apply le_O_n. -rewrite > lt_to_eq_mod. -unfold lt.apply le_S_S.assumption. -unfold lt.apply le_S_S.assumption. -unfold lt.apply le_S_S.apply le_O_n. -rewrite > lt_to_eq_mod. -unfold lt.apply le_S_S.assumption. -unfold lt.apply le_S_S.assumption. -(* i < n, j=n *) -unfold S_mod in H2. -simplify. -apply False_ind. -apply (not_eq_O_S (i \mod (S n))). -apply sym_eq. -rewrite < (mod_n_n (S n)). -rewrite < H4 in \vdash (? ? ? (? %?)). -rewrite < mod_S.assumption. -unfold lt.apply le_S_S.apply le_O_n. -rewrite > lt_to_eq_mod. -unfold lt.apply le_S_S.assumption. -unfold lt.apply le_S_S.assumption. -unfold lt.apply le_S_S.apply le_O_n. -(* i = n, j < n *) -elim Hcut1. -apply False_ind. -apply (not_eq_O_S (j \mod (S n))). -rewrite < (mod_n_n (S n)). -rewrite < H3 in \vdash (? ? (? %?) ?). -rewrite < mod_S.assumption. -unfold lt.apply le_S_S.apply le_O_n. -rewrite > lt_to_eq_mod. -unfold lt.apply le_S_S.assumption. -unfold lt.apply le_S_S.assumption. -unfold lt.apply le_S_S.apply le_O_n. -(* i = n, j= n*) -rewrite > H3. -rewrite > H4. -reflexivity. -apply le_to_or_lt_eq.assumption. -apply le_to_or_lt_eq.assumption. -unfold lt.apply le_S_S.assumption. -unfold lt.apply le_S_S.assumption. -qed. - -(* -theorem eq_fact_pi: \forall n,m:nat. n < m \to n! = pi n (S_mod m). -intro.elim n. -simplify.reflexivity. -change with (S n1)*n1!=(S_mod m n1)*(pi n1 (S_mod m)). -unfold S_mod in \vdash (? ? ? (? % ?)). -rewrite > lt_to_eq_mod. -apply eq_f.apply H.apply (trans_lt ? (S n1)). -simplify. apply le_n.assumption.assumption. -qed. -*) - -theorem prime_to_not_divides_fact: \forall p:nat. prime p \to \forall n:nat. -n \lt p \to \not divides p n!. -intros 3.elim n.unfold Not.intros. -apply (lt_to_not_le (S O) p). -unfold prime in H.elim H. -assumption.apply divides_to_le.unfold lt.apply le_n. -assumption. -change with (divides p ((S n1)*n1!) \to False). -intro. -cut (divides p (S n1) \lor divides p n1!). -elim Hcut.apply (lt_to_not_le (S n1) p). -assumption. -apply divides_to_le.unfold lt.apply le_S_S.apply le_O_n. -assumption.apply H1. -apply (trans_lt ? (S n1)).unfold lt. apply le_n. -assumption.assumption. -apply divides_times_to_divides. -assumption.assumption. -qed. - -theorem permut_mod: \forall p,a:nat. prime p \to -\lnot divides p a\to permut (\lambda n.(mod (a*n) p)) (pred p). -unfold permut.intros. -split.intros.apply le_S_S_to_le. -apply (trans_le ? p). -change with (mod (a*i) p < p). -apply lt_mod_m_m. -unfold prime in H.elim H. -unfold lt.apply (trans_le ? (S (S O))). -apply le_n_Sn.assumption. -rewrite < S_pred.apply le_n. -unfold prime in H. -elim H. -apply (trans_lt ? (S O)).unfold lt.apply le_n.assumption. -unfold injn.intros. -apply (nat_compare_elim i j). -(* i < j *) -intro. -absurd (j-i \lt p). -unfold lt. -rewrite > (S_pred p). -apply le_S_S. -apply le_plus_to_minus. -apply (trans_le ? (pred p)).assumption. -rewrite > sym_plus. -apply le_plus_n. -unfold prime in H. -elim H. -apply (trans_lt ? (S O)).unfold lt.apply le_n.assumption. -apply (le_to_not_lt p (j-i)). -apply divides_to_le.unfold lt. -apply le_SO_minus.assumption. -cut (divides p a \lor divides p (j-i)). -elim Hcut.apply False_ind.apply H1.assumption.assumption. -apply divides_times_to_divides.assumption. -rewrite > distr_times_minus. -apply eq_mod_to_divides. -unfold prime in H. -elim H. -apply (trans_lt ? (S O)).unfold lt.apply le_n.assumption. -apply sym_eq. -apply H4. -(* i = j *) -intro. assumption. -(* j < i *) -intro. -absurd (i-j \lt p). -unfold lt. -rewrite > (S_pred p). -apply le_S_S. -apply le_plus_to_minus. -apply (trans_le ? (pred p)).assumption. -rewrite > sym_plus. -apply le_plus_n. -unfold prime in H. -elim H. -apply (trans_lt ? (S O)).unfold lt.apply le_n.assumption. -apply (le_to_not_lt p (i-j)). -apply divides_to_le.unfold lt. -apply le_SO_minus.assumption. -cut (divides p a \lor divides p (i-j)). -elim Hcut.apply False_ind.apply H1.assumption.assumption. -apply divides_times_to_divides.assumption. -rewrite > distr_times_minus. -apply eq_mod_to_divides. -unfold prime in H. -elim H. -apply (trans_lt ? (S O)).unfold lt.apply le_n.assumption. -apply H4. -qed. - -theorem congruent_exp_pred_SO: \forall p,a:nat. prime p \to \lnot divides p a \to -congruent (exp a (pred p)) (S O) p. -intros. -cut (O < a). -cut (O < p). -cut (O < pred p). -apply divides_to_congruent. -assumption. -change with (O < exp a (pred p)). -apply lt_O_exp.assumption. -cut (divides p (exp a (pred p)-(S O)) \lor divides p (pred p)!). -elim Hcut3. -assumption. -apply False_ind. -apply (prime_to_not_divides_fact p H (pred p)). -change with (S (pred p) \le p). -rewrite < S_pred.apply le_n. -assumption.assumption. -apply divides_times_to_divides. -assumption. -rewrite > times_minus_l. -rewrite > (sym_times (S O)). -rewrite < times_n_SO. -rewrite > (S_pred (pred p)). -rewrite > eq_fact_pi. -(* in \vdash (? ? (? % ?)). *) -rewrite > exp_pi_l. -apply congruent_to_divides. -assumption. -apply (transitive_congruent p ? -(pi (pred (pred p)) (\lambda m. a*m \mod p) (S O))). -apply (congruent_pi (\lambda m. a*m)). -assumption. -cut (pi (pred(pred p)) (\lambda m.m) (S O) -= pi (pred(pred p)) (\lambda m.a*m \mod p) (S O)). -rewrite > Hcut3.apply congruent_n_n. -rewrite < eq_map_iter_i_pi. -rewrite < eq_map_iter_i_pi. -apply permut_to_eq_map_iter_i. -apply assoc_times. -apply sym_times. -rewrite < plus_n_Sm.rewrite < plus_n_O. -rewrite < S_pred. -apply permut_mod.assumption. -assumption.assumption. -intros.cut (m=O). -rewrite > Hcut3.rewrite < times_n_O. -apply mod_O_n.apply sym_eq.apply le_n_O_to_eq. -apply le_S_S_to_le.assumption. -assumption. -change with ((S O) \le pred p). -apply le_S_S_to_le.rewrite < S_pred. -unfold prime in H.elim H.assumption.assumption. -unfold prime in H.elim H.apply (trans_lt ? (S O)). -unfold lt.apply le_n.assumption. -cut (O < a \lor O = a). -elim Hcut.assumption. -apply False_ind.apply H1. -rewrite < H2. -apply (witness ? ? O).apply times_n_O. -apply le_to_or_lt_eq. -apply le_O_n. -qed. - diff --git a/helm/matita/library/nat/gcd.ma b/helm/matita/library/nat/gcd.ma deleted file mode 100644 index 65f61b581..000000000 --- a/helm/matita/library/nat/gcd.ma +++ /dev/null @@ -1,608 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / Matita is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/gcd". - -include "nat/primes.ma". - -let rec gcd_aux p m n: nat \def -match divides_b n m with -[ true \Rightarrow n -| false \Rightarrow - match p with - [O \Rightarrow n - |(S q) \Rightarrow gcd_aux q n (m \mod n)]]. - -definition gcd : nat \to nat \to nat \def -\lambda n,m:nat. - match leb n m with - [ true \Rightarrow - match n with - [ O \Rightarrow m - | (S p) \Rightarrow gcd_aux (S p) m (S p) ] - | false \Rightarrow - match m with - [ O \Rightarrow n - | (S p) \Rightarrow gcd_aux (S p) n (S p) ]]. - -theorem divides_mod: \forall p,m,n:nat. O < n \to p \divides m \to p \divides n \to -p \divides (m \mod n). -intros.elim H1.elim H2. -apply (witness ? ? (n2 - n1*(m / n))). -rewrite > distr_times_minus. -rewrite < H3. -rewrite < assoc_times. -rewrite < H4. -apply sym_eq. -apply plus_to_minus. -rewrite > sym_times. -apply div_mod. -assumption. -qed. - -theorem divides_mod_to_divides: \forall p,m,n:nat. O < n \to -p \divides (m \mod n) \to p \divides n \to p \divides m. -intros.elim H1.elim H2. -apply (witness p m ((n1*(m / n))+n2)). -rewrite > distr_times_plus. -rewrite < H3. -rewrite < assoc_times. -rewrite < H4.rewrite < sym_times. -apply div_mod.assumption. -qed. - -theorem divides_gcd_aux_mn: \forall p,m,n. O < n \to n \le m \to n \le p \to -gcd_aux p m n \divides m \land gcd_aux p m n \divides n. -intro.elim p. -absurd (O < n).assumption.apply le_to_not_lt.assumption. -cut ((n1 \divides m) \lor (n1 \ndivides m)). -change with -((match divides_b n1 m with -[ true \Rightarrow n1 -| false \Rightarrow gcd_aux n n1 (m \mod n1)]) \divides m \land -(match divides_b n1 m with -[ true \Rightarrow n1 -| false \Rightarrow gcd_aux n n1 (m \mod n1)]) \divides n1). -elim Hcut.rewrite > divides_to_divides_b_true. -simplify. -split.assumption.apply (witness n1 n1 (S O)).apply times_n_SO. -assumption.assumption. -rewrite > not_divides_to_divides_b_false. -change with -(gcd_aux n n1 (m \mod n1) \divides m \land -gcd_aux n n1 (m \mod n1) \divides n1). -cut (gcd_aux n n1 (m \mod n1) \divides n1 \land -gcd_aux n n1 (m \mod n1) \divides mod m n1). -elim Hcut1. -split.apply (divides_mod_to_divides ? ? n1). -assumption.assumption.assumption.assumption. -apply H. -cut (O \lt m \mod n1 \lor O = mod m n1). -elim Hcut1.assumption. -apply False_ind.apply H4.apply mod_O_to_divides. -assumption.apply sym_eq.assumption. -apply le_to_or_lt_eq.apply le_O_n. -apply lt_to_le. -apply lt_mod_m_m.assumption. -apply le_S_S_to_le. -apply (trans_le ? n1). -change with (m \mod n1 < n1). -apply lt_mod_m_m.assumption.assumption. -assumption.assumption. -apply (decidable_divides n1 m).assumption. -qed. - -theorem divides_gcd_nm: \forall n,m. -gcd n m \divides m \land gcd n m \divides n. -intros. -change with -(match leb n m with - [ true \Rightarrow - match n with - [ O \Rightarrow m - | (S p) \Rightarrow gcd_aux (S p) m (S p) ] - | false \Rightarrow - match m with - [ O \Rightarrow n - | (S p) \Rightarrow gcd_aux (S p) n (S p) ] ] \divides m -\land -match leb n m with - [ true \Rightarrow - match n with - [ O \Rightarrow m - | (S p) \Rightarrow gcd_aux (S p) m (S p) ] - | false \Rightarrow - match m with - [ O \Rightarrow n - | (S p) \Rightarrow gcd_aux (S p) n (S p) ] ] \divides n). -apply (leb_elim n m). -apply (nat_case1 n). -simplify.intros.split. -apply (witness m m (S O)).apply times_n_SO. -apply (witness m O O).apply times_n_O. -intros.change with -(gcd_aux (S m1) m (S m1) \divides m -\land -gcd_aux (S m1) m (S m1) \divides (S m1)). -apply divides_gcd_aux_mn. -unfold lt.apply le_S_S.apply le_O_n. -assumption.apply le_n. -simplify.intro. -apply (nat_case1 m). -simplify.intros.split. -apply (witness n O O).apply times_n_O. -apply (witness n n (S O)).apply times_n_SO. -intros.change with -(gcd_aux (S m1) n (S m1) \divides (S m1) -\land -gcd_aux (S m1) n (S m1) \divides n). -cut (gcd_aux (S m1) n (S m1) \divides n -\land -gcd_aux (S m1) n (S m1) \divides S m1). -elim Hcut.split.assumption.assumption. -apply divides_gcd_aux_mn. -unfold lt.apply le_S_S.apply le_O_n. -apply not_lt_to_le.unfold Not. unfold lt.intro.apply H. -rewrite > H1.apply (trans_le ? (S n)). -apply le_n_Sn.assumption.apply le_n. -qed. - -theorem divides_gcd_n: \forall n,m. gcd n m \divides n. -intros. -exact (proj2 ? ? (divides_gcd_nm n m)). -qed. - -theorem divides_gcd_m: \forall n,m. gcd n m \divides m. -intros. -exact (proj1 ? ? (divides_gcd_nm n m)). -qed. - -theorem divides_gcd_aux: \forall p,m,n,d. O < n \to n \le m \to n \le p \to -d \divides m \to d \divides n \to d \divides gcd_aux p m n. -intro.elim p. -absurd (O < n).assumption.apply le_to_not_lt.assumption. -change with -(d \divides -(match divides_b n1 m with -[ true \Rightarrow n1 -| false \Rightarrow gcd_aux n n1 (m \mod n1)])). -cut (n1 \divides m \lor n1 \ndivides m). -elim Hcut. -rewrite > divides_to_divides_b_true. -simplify.assumption. -assumption.assumption. -rewrite > not_divides_to_divides_b_false. -change with (d \divides gcd_aux n n1 (m \mod n1)). -apply H. -cut (O \lt m \mod n1 \lor O = m \mod n1). -elim Hcut1.assumption. -absurd (n1 \divides m).apply mod_O_to_divides. -assumption.apply sym_eq.assumption.assumption. -apply le_to_or_lt_eq.apply le_O_n. -apply lt_to_le. -apply lt_mod_m_m.assumption. -apply le_S_S_to_le. -apply (trans_le ? n1). -change with (m \mod n1 < n1). -apply lt_mod_m_m.assumption.assumption. -assumption. -apply divides_mod.assumption.assumption.assumption. -assumption.assumption. -apply (decidable_divides n1 m).assumption. -qed. - -theorem divides_d_gcd: \forall m,n,d. -d \divides m \to d \divides n \to d \divides gcd n m. -intros. -change with -(d \divides -match leb n m with - [ true \Rightarrow - match n with - [ O \Rightarrow m - | (S p) \Rightarrow gcd_aux (S p) m (S p) ] - | false \Rightarrow - match m with - [ O \Rightarrow n - | (S p) \Rightarrow gcd_aux (S p) n (S p) ]]). -apply (leb_elim n m). -apply (nat_case1 n).simplify.intros.assumption. -intros. -change with (d \divides gcd_aux (S m1) m (S m1)). -apply divides_gcd_aux. -unfold lt.apply le_S_S.apply le_O_n.assumption.apply le_n.assumption. -rewrite < H2.assumption. -apply (nat_case1 m).simplify.intros.assumption. -intros. -change with (d \divides gcd_aux (S m1) n (S m1)). -apply divides_gcd_aux. -unfold lt.apply le_S_S.apply le_O_n. -apply lt_to_le.apply not_le_to_lt.assumption.apply le_n.assumption. -rewrite < H2.assumption. -qed. - -theorem eq_minus_gcd_aux: \forall p,m,n.O < n \to n \le m \to n \le p \to -\exists a,b. a*n - b*m = gcd_aux p m n \lor b*m - a*n = gcd_aux p m n. -intro. -elim p. -absurd (O < n).assumption.apply le_to_not_lt.assumption. -cut (O < m). -cut (n1 \divides m \lor n1 \ndivides m). -change with -(\exists a,b. -a*n1 - b*m = match divides_b n1 m with -[ true \Rightarrow n1 -| false \Rightarrow gcd_aux n n1 (m \mod n1)] -\lor -b*m - a*n1 = match divides_b n1 m with -[ true \Rightarrow n1 -| false \Rightarrow gcd_aux n n1 (m \mod n1)]). -elim Hcut1. -rewrite > divides_to_divides_b_true. -simplify. -apply (ex_intro ? ? (S O)). -apply (ex_intro ? ? O). -left.simplify.rewrite < plus_n_O. -apply sym_eq.apply minus_n_O. -assumption.assumption. -rewrite > not_divides_to_divides_b_false. -change with -(\exists a,b. -a*n1 - b*m = gcd_aux n n1 (m \mod n1) -\lor -b*m - a*n1 = gcd_aux n n1 (m \mod n1)). -cut -(\exists a,b. -a*(m \mod n1) - b*n1= gcd_aux n n1 (m \mod n1) -\lor -b*n1 - a*(m \mod n1) = gcd_aux n n1 (m \mod n1)). -elim Hcut2.elim H5.elim H6. -(* first case *) -rewrite < H7. -apply (ex_intro ? ? (a1+a*(m / n1))). -apply (ex_intro ? ? a). -right. -rewrite < sym_plus. -rewrite < (sym_times n1). -rewrite > distr_times_plus. -rewrite > (sym_times n1). -rewrite > (sym_times n1). -rewrite > (div_mod m n1) in \vdash (? ? (? % ?) ?). -rewrite > assoc_times. -rewrite < sym_plus. -rewrite > distr_times_plus. -rewrite < eq_minus_minus_minus_plus. -rewrite < sym_plus. -rewrite < plus_minus. -rewrite < minus_n_n.reflexivity. -apply le_n. -assumption. -(* second case *) -rewrite < H7. -apply (ex_intro ? ? (a1+a*(m / n1))). -apply (ex_intro ? ? a). -left. -(* clear Hcut2.clear H5.clear H6.clear H. *) -rewrite > sym_times. -rewrite > distr_times_plus. -rewrite > sym_times. -rewrite > (sym_times n1). -rewrite > (div_mod m n1) in \vdash (? ? (? ? %) ?). -rewrite > distr_times_plus. -rewrite > assoc_times. -rewrite < eq_minus_minus_minus_plus. -rewrite < sym_plus. -rewrite < plus_minus. -rewrite < minus_n_n.reflexivity. -apply le_n. -assumption. -apply (H n1 (m \mod n1)). -cut (O \lt m \mod n1 \lor O = m \mod n1). -elim Hcut2.assumption. -absurd (n1 \divides m).apply mod_O_to_divides. -assumption. -symmetry.assumption.assumption. -apply le_to_or_lt_eq.apply le_O_n. -apply lt_to_le. -apply lt_mod_m_m.assumption. -apply le_S_S_to_le. -apply (trans_le ? n1). -change with (m \mod n1 < n1). -apply lt_mod_m_m. -assumption.assumption.assumption.assumption. -apply (decidable_divides n1 m).assumption. -apply (lt_to_le_to_lt ? n1).assumption.assumption. -qed. - -theorem eq_minus_gcd: - \forall m,n.\exists a,b.a*n - b*m = (gcd n m) \lor b*m - a*n = (gcd n m). -intros. -unfold gcd. -apply (leb_elim n m). -apply (nat_case1 n). -simplify.intros. -apply (ex_intro ? ? O). -apply (ex_intro ? ? (S O)). -right.simplify. -rewrite < plus_n_O. -apply sym_eq.apply minus_n_O. -intros. -change with -(\exists a,b. -a*(S m1) - b*m = (gcd_aux (S m1) m (S m1)) -\lor b*m - a*(S m1) = (gcd_aux (S m1) m (S m1))). -apply eq_minus_gcd_aux. -unfold lt. apply le_S_S.apply le_O_n. -assumption.apply le_n. -apply (nat_case1 m). -simplify.intros. -apply (ex_intro ? ? (S O)). -apply (ex_intro ? ? O). -left.simplify. -rewrite < plus_n_O. -apply sym_eq.apply minus_n_O. -intros. -change with -(\exists a,b. -a*n - b*(S m1) = (gcd_aux (S m1) n (S m1)) -\lor b*(S m1) - a*n = (gcd_aux (S m1) n (S m1))). -cut -(\exists a,b. -a*(S m1) - b*n = (gcd_aux (S m1) n (S m1)) -\lor -b*n - a*(S m1) = (gcd_aux (S m1) n (S m1))). -elim Hcut.elim H2.elim H3. -apply (ex_intro ? ? a1). -apply (ex_intro ? ? a). -right.assumption. -apply (ex_intro ? ? a1). -apply (ex_intro ? ? a). -left.assumption. -apply eq_minus_gcd_aux. -unfold lt. apply le_S_S.apply le_O_n. -apply lt_to_le.apply not_le_to_lt.assumption. -apply le_n. -qed. - -(* some properties of gcd *) - -theorem gcd_O_n: \forall n:nat. gcd O n = n. -intro.simplify.reflexivity. -qed. - -theorem gcd_O_to_eq_O:\forall m,n:nat. (gcd m n) = O \to -m = O \land n = O. -intros.cut (O \divides n \land O \divides m). -elim Hcut.elim H2.split. -assumption.elim H1.assumption. -rewrite < H. -apply divides_gcd_nm. -qed. - -theorem lt_O_gcd:\forall m,n:nat. O < n \to O < gcd m n. -intros. -apply (nat_case1 (gcd m n)). -intros. -generalize in match (gcd_O_to_eq_O m n H1). -intros.elim H2. -rewrite < H4 in \vdash (? ? %).assumption. -intros.unfold lt.apply le_S_S.apply le_O_n. -qed. - -theorem symmetric_gcd: symmetric nat gcd. -change with -(\forall n,m:nat. gcd n m = gcd m n). -intros. -cut (O < (gcd n m) \lor O = (gcd n m)). -elim Hcut. -cut (O < (gcd m n) \lor O = (gcd m n)). -elim Hcut1. -apply antisym_le. -apply divides_to_le.assumption. -apply divides_d_gcd.apply divides_gcd_n.apply divides_gcd_m. -apply divides_to_le.assumption. -apply divides_d_gcd.apply divides_gcd_n.apply divides_gcd_m. -rewrite < H1. -cut (m=O \land n=O). -elim Hcut2.rewrite > H2.rewrite > H3.reflexivity. -apply gcd_O_to_eq_O.apply sym_eq.assumption. -apply le_to_or_lt_eq.apply le_O_n. -rewrite < H. -cut (n=O \land m=O). -elim Hcut1.rewrite > H1.rewrite > H2.reflexivity. -apply gcd_O_to_eq_O.apply sym_eq.assumption. -apply le_to_or_lt_eq.apply le_O_n. -qed. - -variant sym_gcd: \forall n,m:nat. gcd n m = gcd m n \def -symmetric_gcd. - -theorem le_gcd_times: \forall m,n,p:nat. O< p \to gcd m n \le gcd m (n*p). -intros. -apply (nat_case n).reflexivity. -intro. -apply divides_to_le. -apply lt_O_gcd. -rewrite > (times_n_O O). -apply lt_times.unfold lt.apply le_S_S.apply le_O_n.assumption. -apply divides_d_gcd. -apply (transitive_divides ? (S m1)). -apply divides_gcd_m. -apply (witness ? ? p).reflexivity. -apply divides_gcd_n. -qed. - -theorem gcd_times_SO_to_gcd_SO: \forall m,n,p:nat. O < n \to O < p \to -gcd m (n*p) = (S O) \to gcd m n = (S O). -intros. -apply antisymmetric_le. -rewrite < H2. -apply le_gcd_times.assumption. -change with (O < gcd m n). -apply lt_O_gcd.assumption. -qed. - -(* for the "converse" of the previous result see the end of this development *) - -theorem gcd_SO_n: \forall n:nat. gcd (S O) n = (S O). -intro. -apply antisym_le.apply divides_to_le.unfold lt.apply le_n. -apply divides_gcd_n. -cut (O < gcd (S O) n \lor O = gcd (S O) n). -elim Hcut.assumption. -apply False_ind. -apply (not_eq_O_S O). -cut ((S O)=O \land n=O). -elim Hcut1.apply sym_eq.assumption. -apply gcd_O_to_eq_O.apply sym_eq.assumption. -apply le_to_or_lt_eq.apply le_O_n. -qed. - -theorem divides_gcd_mod: \forall m,n:nat. O < n \to -divides (gcd m n) (gcd n (m \mod n)). -intros. -apply divides_d_gcd. -apply divides_mod.assumption. -apply divides_gcd_n. -apply divides_gcd_m. -apply divides_gcd_m. -qed. - -theorem divides_mod_gcd: \forall m,n:nat. O < n \to -divides (gcd n (m \mod n)) (gcd m n) . -intros. -apply divides_d_gcd. -apply divides_gcd_n. -apply (divides_mod_to_divides ? ? n). -assumption. -apply divides_gcd_m. -apply divides_gcd_n. -qed. - -theorem gcd_mod: \forall m,n:nat. O < n \to -(gcd n (m \mod n)) = (gcd m n) . -intros. -apply antisymmetric_divides. -apply divides_mod_gcd.assumption. -apply divides_gcd_mod.assumption. -qed. - -(* gcd and primes *) - -theorem prime_to_gcd_SO: \forall n,m:nat. prime n \to n \ndivides m \to -gcd n m = (S O). -intros.unfold prime in H.change with (gcd n m = (S O)). -elim H. -apply antisym_le. -apply not_lt_to_le. -change with ((S (S O)) \le gcd n m \to False).intro. -apply H1.rewrite < (H3 (gcd n m)). -apply divides_gcd_m. -apply divides_gcd_n.assumption. -cut (O < gcd n m \lor O = gcd n m). -elim Hcut.assumption. -apply False_ind. -apply (not_le_Sn_O (S O)). -cut (n=O \land m=O). -elim Hcut1.rewrite < H5 in \vdash (? ? %).assumption. -apply gcd_O_to_eq_O.apply sym_eq.assumption. -apply le_to_or_lt_eq.apply le_O_n. -qed. - -theorem divides_times_to_divides: \forall n,p,q:nat.prime n \to n \divides p*q \to -n \divides p \lor n \divides q. -intros. -cut (n \divides p \lor n \ndivides p). -elim Hcut. -left.assumption. -right. -cut (\exists a,b. a*n - b*p = (S O) \lor b*p - a*n = (S O)). -elim Hcut1.elim H3.elim H4. -(* first case *) -rewrite > (times_n_SO q).rewrite < H5. -rewrite > distr_times_minus. -rewrite > (sym_times q (a1*p)). -rewrite > (assoc_times a1). -elim H1.rewrite > H6. -rewrite < (sym_times n).rewrite < assoc_times. -rewrite > (sym_times q).rewrite > assoc_times. -rewrite < (assoc_times a1).rewrite < (sym_times n). -rewrite > (assoc_times n). -rewrite < distr_times_minus. -apply (witness ? ? (q*a-a1*n2)).reflexivity. -(* second case *) -rewrite > (times_n_SO q).rewrite < H5. -rewrite > distr_times_minus. -rewrite > (sym_times q (a1*p)). -rewrite > (assoc_times a1). -elim H1.rewrite > H6. -rewrite < sym_times.rewrite > assoc_times. -rewrite < (assoc_times q). -rewrite < (sym_times n). -rewrite < distr_times_minus. -apply (witness ? ? (n2*a1-q*a)).reflexivity. -(* end second case *) -rewrite < (prime_to_gcd_SO n p). -apply eq_minus_gcd. -assumption.assumption. -apply (decidable_divides n p). -apply (trans_lt ? (S O)).unfold lt.apply le_n. -unfold prime in H.elim H. assumption. -qed. - -theorem eq_gcd_times_SO: \forall m,n,p:nat. O < n \to O < p \to -gcd m n = (S O) \to gcd m p = (S O) \to gcd m (n*p) = (S O). -intros. -apply antisymmetric_le. -apply not_lt_to_le. -unfold Not.intro. -cut (divides (smallest_factor (gcd m (n*p))) n \lor - divides (smallest_factor (gcd m (n*p))) p). -elim Hcut. -apply (not_le_Sn_n (S O)). -change with ((S O) < (S O)). -rewrite < H2 in \vdash (? ? %). -apply (lt_to_le_to_lt ? (smallest_factor (gcd m (n*p)))). -apply lt_SO_smallest_factor.assumption. -apply divides_to_le. -rewrite > H2.unfold lt.apply le_n. -apply divides_d_gcd.assumption. -apply (transitive_divides ? (gcd m (n*p))). -apply divides_smallest_factor_n. -apply (trans_lt ? (S O)). unfold lt. apply le_n. assumption. -apply divides_gcd_n. -apply (not_le_Sn_n (S O)). -change with ((S O) < (S O)). -rewrite < H3 in \vdash (? ? %). -apply (lt_to_le_to_lt ? (smallest_factor (gcd m (n*p)))). -apply lt_SO_smallest_factor.assumption. -apply divides_to_le. -rewrite > H3.unfold lt.apply le_n. -apply divides_d_gcd.assumption. -apply (transitive_divides ? (gcd m (n*p))). -apply divides_smallest_factor_n. -apply (trans_lt ? (S O)). unfold lt. apply le_n. assumption. -apply divides_gcd_n. -apply divides_times_to_divides. -apply prime_smallest_factor_n. -assumption. -apply (transitive_divides ? (gcd m (n*p))). -apply divides_smallest_factor_n. -apply (trans_lt ? (S O)).unfold lt. apply le_n. assumption. -apply divides_gcd_m. -change with (O < gcd m (n*p)). -apply lt_O_gcd. -rewrite > (times_n_O O). -apply lt_times.assumption.assumption. -qed. diff --git a/helm/matita/library/nat/le_arith.ma b/helm/matita/library/nat/le_arith.ma deleted file mode 100644 index a76183063..000000000 --- a/helm/matita/library/nat/le_arith.ma +++ /dev/null @@ -1,95 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/le_arith". - -include "nat/times.ma". -include "nat/orders.ma". - -(* plus *) -theorem monotonic_le_plus_r: -\forall n:nat.monotonic nat le (\lambda m.n + m). -simplify.intros.elim n. -simplify.assumption. -simplify.apply le_S_S.assumption. -qed. - -theorem le_plus_r: \forall p,n,m:nat. n \le m \to p + n \le p + m -\def monotonic_le_plus_r. - -theorem monotonic_le_plus_l: -\forall m:nat.monotonic nat le (\lambda n.n + m). -simplify.intros. -rewrite < sym_plus.rewrite < (sym_plus m). -apply le_plus_r.assumption. -qed. - -theorem le_plus_l: \forall p,n,m:nat. n \le m \to n + p \le m + p -\def monotonic_le_plus_l. - -theorem le_plus: \forall n1,n2,m1,m2:nat. n1 \le n2 \to m1 \le m2 -\to n1 + m1 \le n2 + m2. -intros. -apply (trans_le ? (n2 + m1)). -apply le_plus_l.assumption. -apply le_plus_r.assumption. -qed. - -theorem le_plus_n :\forall n,m:nat. m \le n + m. -intros.change with (O+m \le n+m). -apply le_plus_l.apply le_O_n. -qed. - -theorem eq_plus_to_le: \forall n,m,p:nat.n=m+p \to m \le n. -intros.rewrite > H. -rewrite < sym_plus. -apply le_plus_n. -qed. - -(* times *) -theorem monotonic_le_times_r: -\forall n:nat.monotonic nat le (\lambda m. n * m). -simplify.intros.elim n. -simplify.apply le_O_n. -simplify.apply le_plus. -assumption. -assumption. -qed. - -theorem le_times_r: \forall p,n,m:nat. n \le m \to p*n \le p*m -\def monotonic_le_times_r. - -theorem monotonic_le_times_l: -\forall m:nat.monotonic nat le (\lambda n.n*m). -simplify.intros. -rewrite < sym_times.rewrite < (sym_times m). -apply le_times_r.assumption. -qed. - -theorem le_times_l: \forall p,n,m:nat. n \le m \to n*p \le m*p -\def monotonic_le_times_l. - -theorem le_times: \forall n1,n2,m1,m2:nat. n1 \le n2 \to m1 \le m2 -\to n1*m1 \le n2*m2. -intros. -apply (trans_le ? (n2*m1)). -apply le_times_l.assumption. -apply le_times_r.assumption. -qed. - -theorem le_times_n: \forall n,m:nat.(S O) \le n \to m \le n*m. -intros.elim H.simplify. -elim (plus_n_O ?).apply le_n. -simplify.rewrite < sym_plus.apply le_plus_n. -qed. diff --git a/helm/matita/library/nat/lt_arith.ma b/helm/matita/library/nat/lt_arith.ma deleted file mode 100644 index b8339f374..000000000 --- a/helm/matita/library/nat/lt_arith.ma +++ /dev/null @@ -1,217 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/lt_arith". - -include "nat/div_and_mod.ma". - -(* plus *) -theorem monotonic_lt_plus_r: -\forall n:nat.monotonic nat lt (\lambda m.n+m). -simplify.intros. -elim n.simplify.assumption. -simplify.unfold lt. -apply le_S_S.assumption. -qed. - -variant lt_plus_r: \forall n,p,q:nat. p < q \to n + p < n + q \def -monotonic_lt_plus_r. - -theorem monotonic_lt_plus_l: -\forall n:nat.monotonic nat lt (\lambda m.m+n). -change with (\forall n,p,q:nat. p < q \to p + n < q + n). -intros. -rewrite < sym_plus. rewrite < (sym_plus n). -apply lt_plus_r.assumption. -qed. - -variant lt_plus_l: \forall n,p,q:nat. p < q \to p + n < q + n \def -monotonic_lt_plus_l. - -theorem lt_plus: \forall n,m,p,q:nat. n < m \to p < q \to n + p < m + q. -intros. -apply (trans_lt ? (n + q)). -apply lt_plus_r.assumption. -apply lt_plus_l.assumption. -qed. - -theorem lt_plus_to_lt_l :\forall n,p,q:nat. p+n < q+n \to p plus_n_O. -rewrite > (plus_n_O q).assumption. -apply H. -unfold lt.apply le_S_S_to_le. -rewrite > plus_n_Sm. -rewrite > (plus_n_Sm q). -exact H1. -qed. - -theorem lt_plus_to_lt_r :\forall n,p,q:nat. n+p < n+q \to p sym_plus. -rewrite > (sym_plus q).assumption. -qed. - -(* times and zero *) -theorem lt_O_times_S_S: \forall n,m:nat.O < (S n)*(S m). -intros.simplify.unfold lt.apply le_S_S.apply le_O_n. -qed. - -(* times *) -theorem monotonic_lt_times_r: -\forall n:nat.monotonic nat lt (\lambda m.(S n)*m). -change with (\forall n,p,q:nat. p < q \to (S n) * p < (S n) * q). -intros.elim n. -simplify.rewrite < plus_n_O.rewrite < plus_n_O.assumption. -change with (p + (S n1) * p < q + (S n1) * q). -apply lt_plus.assumption.assumption. -qed. - -theorem lt_times_r: \forall n,p,q:nat. p < q \to (S n) * p < (S n) * q -\def monotonic_lt_times_r. - -theorem monotonic_lt_times_l: -\forall m:nat.monotonic nat lt (\lambda n.n * (S m)). -change with -(\forall n,p,q:nat. p < q \to p*(S n) < q*(S n)). -intros. -rewrite < sym_times.rewrite < (sym_times (S n)). -apply lt_times_r.assumption. -qed. - -variant lt_times_l: \forall n,p,q:nat. p nat_compare_n_n.reflexivity. -intro.apply nat_compare_elim.intro. -absurd (p (plus_n_O ((S m1)*(n / (S m1)))). -rewrite < H2. -rewrite < sym_times. -rewrite < div_mod. -rewrite > H2. -assumption. -unfold lt.apply le_S_S.apply le_O_n. -qed. - -theorem lt_div_n_m_n: \forall n,m:nat. (S O) < m \to O < n \to n / m \lt n. -intros. -apply (nat_case1 (n / m)).intro. -assumption.intros.rewrite < H2. -rewrite > (div_mod n m) in \vdash (? ? %). -apply (lt_to_le_to_lt ? ((n / m)*m)). -apply (lt_to_le_to_lt ? ((n / m)*(S (S O)))). -rewrite < sym_times. -rewrite > H2. -simplify.unfold lt. -rewrite < plus_n_O. -rewrite < plus_n_Sm. -apply le_S_S. -apply le_S_S. -apply le_plus_n. -apply le_times_r. -assumption. -rewrite < sym_plus. -apply le_plus_n. -apply (trans_lt ? (S O)). -unfold lt. apply le_n.assumption. -qed. - -(* general properties of functions *) -theorem monotonic_to_injective: \forall f:nat\to nat. -monotonic nat lt f \to injective nat nat f. -unfold injective.intros. -apply (nat_compare_elim x y). -intro.apply False_ind.apply (not_le_Sn_n (f x)). -rewrite > H1 in \vdash (? ? %).apply H.apply H2. -intros.assumption. -intro.apply False_ind.apply (not_le_Sn_n (f y)). -rewrite < H1 in \vdash (? ? %).apply H.apply H2. -qed. - -theorem increasing_to_injective: \forall f:nat\to nat. -increasing f \to injective nat nat f. -intros.apply monotonic_to_injective. -apply increasing_to_monotonic.assumption. -qed. diff --git a/helm/matita/library/nat/minimization.ma b/helm/matita/library/nat/minimization.ma deleted file mode 100644 index 0abed5ad3..000000000 --- a/helm/matita/library/nat/minimization.ma +++ /dev/null @@ -1,222 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / Matita is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/minimization". - -include "nat/minus.ma". - -let rec max i f \def - match (f i) with - [ true \Rightarrow i - | false \Rightarrow - match i with - [ O \Rightarrow O - | (S j) \Rightarrow max j f ]]. - -theorem max_O_f : \forall f: nat \to bool. max O f = O. -intro. simplify. -elim (f O). -simplify.reflexivity. -simplify.reflexivity. -qed. - -theorem max_S_max : \forall f: nat \to bool. \forall n:nat. -(f (S n) = true \land max (S n) f = (S n)) \lor -(f (S n) = false \land max (S n) f = max n f). -intros.simplify.elim (f (S n)). -simplify.left.split.reflexivity.reflexivity. -simplify.right.split.reflexivity.reflexivity. -qed. - -theorem le_max_n : \forall f: nat \to bool. \forall n:nat. -max n f \le n. -intros.elim n.rewrite > max_O_f.apply le_n. -simplify.elim (f (S n1)).simplify.apply le_n. -simplify.apply le_S.assumption. -qed. - -theorem le_to_le_max : \forall f: nat \to bool. \forall n,m:nat. -n\le m \to max n f \le max m f. -intros.elim H. -apply le_n. -apply (trans_le ? (max n1 f)).apply H2. -cut ((f (S n1) = true \land max (S n1) f = (S n1)) \lor -(f (S n1) = false \land max (S n1) f = max n1 f)). -elim Hcut.elim H3. -rewrite > H5. -apply le_S.apply le_max_n. -elim H3.rewrite > H5.apply le_n. -apply max_S_max. -qed. - -theorem f_m_to_le_max: \forall f: nat \to bool. \forall n,m:nat. -m\le n \to f m = true \to m \le max n f. -intros 3.elim n.apply (le_n_O_elim m H). -apply le_O_n. -apply (le_n_Sm_elim m n1 H1). -intro.apply (trans_le ? (max n1 f)). -apply H.apply le_S_S_to_le.assumption.assumption. -apply le_to_le_max.apply le_n_Sn. -intro.simplify.rewrite < H3. -rewrite > H2.simplify.apply le_n. -qed. - - -definition max_spec \def \lambda f:nat \to bool.\lambda n: nat. -\exists i. (le i n) \land (f i = true) \to -(f n) = true \land (\forall i. i < n \to (f i = false)). - -theorem f_max_true : \forall f:nat \to bool. \forall n:nat. -(\exists i:nat. le i n \land f i = true) \to f (max n f) = true. -intros 2. -elim n.elim H.elim H1.generalize in match H3. -apply (le_n_O_elim a H2).intro.simplify.rewrite > H4. -simplify.assumption. -simplify. -apply (bool_ind (\lambda b:bool. -(f (S n1) = b) \to (f (match b in bool with -[ true \Rightarrow (S n1) -| false \Rightarrow (max n1 f)])) = true)). -simplify.intro.assumption. -simplify.intro.apply H. -elim H1.elim H3.generalize in match H5. -apply (le_n_Sm_elim a n1 H4). -intros. -apply (ex_intro nat ? a). -split.apply le_S_S_to_le.assumption.assumption. -intros.apply False_ind.apply not_eq_true_false. -rewrite < H2.rewrite < H7.rewrite > H6. reflexivity. -reflexivity. -qed. - -theorem lt_max_to_false : \forall f:nat \to bool. -\forall n,m:nat. (max n f) < m \to m \leq n \to f m = false. -intros 2. -elim n.absurd (le m O).assumption. -cut (O < m).apply (lt_O_n_elim m Hcut).exact not_le_Sn_O. -rewrite < (max_O_f f).assumption. -generalize in match H1. -elim (max_S_max f n1). -elim H3. -absurd (m \le S n1).assumption. -apply lt_to_not_le.rewrite < H6.assumption. -elim H3. -apply (le_n_Sm_elim m n1 H2). -intro. -apply H.rewrite < H6.assumption. -apply le_S_S_to_le.assumption. -intro.rewrite > H7.assumption. -qed. - -let rec min_aux off n f \def - match f (n-off) with - [ true \Rightarrow (n-off) - | false \Rightarrow - match off with - [ O \Rightarrow n - | (S p) \Rightarrow min_aux p n f]]. - -definition min : nat \to (nat \to bool) \to nat \def -\lambda n.\lambda f. min_aux n n f. - -theorem min_aux_O_f: \forall f:nat \to bool. \forall i :nat. -min_aux O i f = i. -intros.simplify.rewrite < minus_n_O. -elim (f i).reflexivity. -simplify.reflexivity. -qed. - -theorem min_O_f : \forall f:nat \to bool. -min O f = O. -intro.apply (min_aux_O_f f O). -qed. - -theorem min_aux_S : \forall f: nat \to bool. \forall i,n:nat. -(f (n -(S i)) = true \land min_aux (S i) n f = (n - (S i))) \lor -(f (n -(S i)) = false \land min_aux (S i) n f = min_aux i n f). -intros.simplify.elim (f (n - (S i))). -simplify.left.split.reflexivity.reflexivity. -simplify.right.split.reflexivity.reflexivity. -qed. - -theorem f_min_aux_true: \forall f:nat \to bool. \forall off,m:nat. -(\exists i. le (m-off) i \land le i m \land f i = true) \to -f (min_aux off m f) = true. -intros 2. -elim off.elim H.elim H1.elim H2. -cut (a = m). -rewrite > (min_aux_O_f f).rewrite < Hcut.assumption. -apply (antisym_le a m).assumption.rewrite > (minus_n_O m).assumption. -simplify. -apply (bool_ind (\lambda b:bool. -(f (m-(S n)) = b) \to (f (match b in bool with -[ true \Rightarrow m-(S n) -| false \Rightarrow (min_aux n m f)])) = true)). -simplify.intro.assumption. -simplify.intro.apply H. -elim H1.elim H3.elim H4. -elim (le_to_or_lt_eq (m-(S n)) a H6). -apply (ex_intro nat ? a). -split.split. -apply lt_minus_S_n_to_le_minus_n.assumption. -assumption.assumption. -absurd (f a = false).rewrite < H8.assumption. -rewrite > H5. -apply not_eq_true_false. -reflexivity. -qed. - -theorem lt_min_aux_to_false : \forall f:nat \to bool. -\forall n,off,m:nat. (n-off) \leq m \to m < (min_aux off n f) \to f m = false. -intros 3. -elim off.absurd (le n m).rewrite > minus_n_O.assumption. -apply lt_to_not_le.rewrite < (min_aux_O_f f n).assumption. -generalize in match H1. -elim (min_aux_S f n1 n). -elim H3. -absurd (n - S n1 \le m).assumption. -apply lt_to_not_le.rewrite < H6.assumption. -elim H3. -elim (le_to_or_lt_eq (n -(S n1)) m). -apply H.apply lt_minus_S_n_to_le_minus_n.assumption. -rewrite < H6.assumption. -rewrite < H7.assumption. -assumption. -qed. - -theorem le_min_aux : \forall f:nat \to bool. -\forall n,off:nat. (n-off) \leq (min_aux off n f). -intros 3. -elim off.rewrite < minus_n_O. -rewrite > (min_aux_O_f f n).apply le_n. -elim (min_aux_S f n1 n). -elim H1.rewrite > H3.apply le_n. -elim H1.rewrite > H3. -apply (trans_le (n-(S n1)) (n-n1)). -apply monotonic_le_minus_r. -apply le_n_Sn. -assumption. -qed. - -theorem le_min_aux_r : \forall f:nat \to bool. -\forall n,off:nat. (min_aux off n f) \le n. -intros. -elim off.simplify.rewrite < minus_n_O. -elim (f n).simplify.apply le_n. -simplify.apply le_n. -simplify.elim (f (n -(S n1))). -simplify.apply le_plus_to_minus. -rewrite < sym_plus.apply le_plus_n. -simplify.assumption. -qed. diff --git a/helm/matita/library/nat/minus.ma b/helm/matita/library/nat/minus.ma deleted file mode 100644 index 710418d72..000000000 --- a/helm/matita/library/nat/minus.ma +++ /dev/null @@ -1,300 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - - -set "baseuri" "cic:/matita/nat/minus". - -include "nat/le_arith.ma". -include "nat/compare.ma". - -let rec minus n m \def - match n with - [ O \Rightarrow O - | (S p) \Rightarrow - match m with - [O \Rightarrow (S p) - | (S q) \Rightarrow minus p q ]]. - -(*CSC: the URI must disappear: there is a bug now *) -interpretation "natural minus" 'minus x y = (cic:/matita/nat/minus/minus.con x y). - -theorem minus_n_O: \forall n:nat.n=n-O. -intros.elim n.simplify.reflexivity. -simplify.reflexivity. -qed. - -theorem minus_n_n: \forall n:nat.O=n-n. -intros.elim n.simplify. -reflexivity. -simplify.apply H. -qed. - -theorem minus_Sn_n: \forall n:nat. S O = (S n)-n. -intro.elim n. -simplify.reflexivity. -elim H.reflexivity. -qed. - -theorem minus_Sn_m: \forall n,m:nat. m \leq n \to (S n)-m = S (n-m). -intros 2. -apply (nat_elim2 -(\lambda n,m.m \leq n \to (S n)-m = S (n-m))). -intros.apply (le_n_O_elim n1 H). -simplify.reflexivity. -intros.simplify.reflexivity. -intros.rewrite < H.reflexivity. -apply le_S_S_to_le. assumption. -qed. - -theorem plus_minus: -\forall n,m,p:nat. m \leq n \to (n-m)+p = (n+p)-m. -intros 2. -apply (nat_elim2 -(\lambda n,m.\forall p:nat.m \leq n \to (n-m)+p = (n+p)-m)). -intros.apply (le_n_O_elim ? H). -simplify.rewrite < minus_n_O.reflexivity. -intros.simplify.reflexivity. -intros.simplify.apply H.apply le_S_S_to_le.assumption. -qed. - -theorem minus_plus_m_m: \forall n,m:nat.n = (n+m)-m. -intros 2. -generalize in match n. -elim m. -rewrite < minus_n_O.apply plus_n_O. -elim n2.simplify. -apply minus_n_n. -rewrite < plus_n_Sm. -change with (S n3 = (S n3 + n1)-n1). -apply H. -qed. - -theorem plus_minus_m_m: \forall n,m:nat. -m \leq n \to n = (n-m)+m. -intros 2. -apply (nat_elim2 (\lambda n,m.m \leq n \to n = (n-m)+m)). -intros.apply (le_n_O_elim n1 H). -reflexivity. -intros.simplify.rewrite < plus_n_O.reflexivity. -intros.simplify.rewrite < sym_plus.simplify. -apply eq_f.rewrite < sym_plus.apply H. -apply le_S_S_to_le.assumption. -qed. - -theorem minus_to_plus :\forall n,m,p:nat.m \leq n \to n-m = p \to -n = m+p. -intros.apply (trans_eq ? ? ((n-m)+m)). -apply plus_minus_m_m. -apply H.elim H1. -apply sym_plus. -qed. - -theorem plus_to_minus :\forall n,m,p:nat. -n = m+p \to n-m = p. -intros. -apply (inj_plus_r m). -rewrite < H. -rewrite < sym_plus. -symmetry. -apply plus_minus_m_m.rewrite > H. -rewrite > sym_plus. -apply le_plus_n. -qed. - -theorem minus_S_S : \forall n,m:nat. -eq nat (minus (S n) (S m)) (minus n m). -intros. -reflexivity. -qed. - -theorem minus_pred_pred : \forall n,m:nat. lt O n \to lt O m \to -eq nat (minus (pred n) (pred m)) (minus n m). -intros. -apply (lt_O_n_elim n H).intro. -apply (lt_O_n_elim m H1).intro. -simplify.reflexivity. -qed. - -theorem eq_minus_n_m_O: \forall n,m:nat. -n \leq m \to n-m = O. -intros 2. -apply (nat_elim2 (\lambda n,m.n \leq m \to n-m = O)). -intros.simplify.reflexivity. -intros.apply False_ind. -apply not_le_Sn_O. -goal 13.apply H. -intros. -simplify.apply H.apply le_S_S_to_le. apply H1. -qed. - -theorem le_SO_minus: \forall n,m:nat.S n \leq m \to S O \leq m-n. -intros.elim H.elim (minus_Sn_n n).apply le_n. -rewrite > minus_Sn_m. -apply le_S.assumption. -apply lt_to_le.assumption. -qed. - -theorem minus_le_S_minus_S: \forall n,m:nat. m-n \leq S (m-(S n)). -intros.apply (nat_elim2 (\lambda n,m.m-n \leq S (m-(S n)))). -intro.elim n1.simplify.apply le_n_Sn. -simplify.rewrite < minus_n_O.apply le_n. -intros.simplify.apply le_n_Sn. -intros.simplify.apply H. -qed. - -theorem lt_minus_S_n_to_le_minus_n : \forall n,m,p:nat. m-(S n) < p \to m-n \leq p. -intros 3.simplify.intro. -apply (trans_le (m-n) (S (m-(S n))) p). -apply minus_le_S_minus_S. -assumption. -qed. - -theorem le_minus_m: \forall n,m:nat. n-m \leq n. -intros.apply (nat_elim2 (\lambda m,n. n-m \leq n)). -intros.rewrite < minus_n_O.apply le_n. -intros.simplify.apply le_n. -intros.simplify.apply le_S.assumption. -qed. - -theorem lt_minus_m: \forall n,m:nat. O < n \to O < m \to n-m \lt n. -intros.apply (lt_O_n_elim n H).intro. -apply (lt_O_n_elim m H1).intro. -simplify.unfold lt.apply le_S_S.apply le_minus_m. -qed. - -theorem minus_le_O_to_le: \forall n,m:nat. n-m \leq O \to n \leq m. -intros 2. -apply (nat_elim2 (\lambda n,m:nat.n-m \leq O \to n \leq m)). -intros.apply le_O_n. -simplify.intros. assumption. -simplify.intros.apply le_S_S.apply H.assumption. -qed. - -(* galois *) -theorem monotonic_le_minus_r: -\forall p,q,n:nat. q \leq p \to n-p \le n-q. -simplify.intros 2.apply (nat_elim2 -(\lambda p,q.\forall a.q \leq p \to a-p \leq a-q)). -intros.apply (le_n_O_elim n H).apply le_n. -intros.rewrite < minus_n_O. -apply le_minus_m. -intros.elim a.simplify.apply le_n. -simplify.apply H.apply le_S_S_to_le.assumption. -qed. - -theorem le_minus_to_plus: \forall n,m,p. (le (n-m) p) \to (le n (p+m)). -intros 2.apply (nat_elim2 (\lambda n,m.\forall p.(le (n-m) p) \to (le n (p+m)))). -intros.apply le_O_n. -simplify.intros.rewrite < plus_n_O.assumption. -intros. -rewrite < plus_n_Sm. -apply le_S_S.apply H. -exact H1. -qed. - -theorem le_plus_to_minus: \forall n,m,p. (le n (p+m)) \to (le (n-m) p). -intros 2.apply (nat_elim2 (\lambda n,m.\forall p.(le n (p+m)) \to (le (n-m) p))). -intros.simplify.apply le_O_n. -intros 2.rewrite < plus_n_O.intro.simplify.assumption. -intros.simplify.apply H. -apply le_S_S_to_le.rewrite > plus_n_Sm.assumption. -qed. - -(* the converse of le_plus_to_minus does not hold *) -theorem le_plus_to_minus_r: \forall n,m,p. (le (n+m) p) \to (le n (p-m)). -intros 3.apply (nat_elim2 (\lambda m,p.(le (n+m) p) \to (le n (p-m)))). -intro.rewrite < plus_n_O.rewrite < minus_n_O.intro.assumption. -intro.intro.cut (n=O).rewrite > Hcut.apply le_O_n. -apply sym_eq. apply le_n_O_to_eq. -apply (trans_le ? (n+(S n1))). -rewrite < sym_plus. -apply le_plus_n.assumption. -intros.simplify. -apply H.apply le_S_S_to_le. -rewrite > plus_n_Sm.assumption. -qed. - -(* minus and lt - to be completed *) -theorem lt_minus_to_plus: \forall n,m,p. (lt n (p-m)) \to (lt (n+m) p). -intros 3.apply (nat_elim2 (\lambda m,p.(lt n (p-m)) \to (lt (n+m) p))). -intro.rewrite < plus_n_O.rewrite < minus_n_O.intro.assumption. -simplify.intros.apply False_ind.apply (not_le_Sn_O n H). -simplify.intros.unfold lt. -apply le_S_S. -rewrite < plus_n_Sm. -apply H.apply H1. -qed. - -theorem distributive_times_minus: distributive nat times minus. -unfold distributive. -intros. -apply ((leb_elim z y)). - intro.cut (x*(y-z)+x*z = (x*y-x*z)+x*z). - apply (inj_plus_l (x*z)).assumption. - apply (trans_eq nat ? (x*y)). - rewrite < distr_times_plus.rewrite < (plus_minus_m_m ? ? H).reflexivity. - rewrite < plus_minus_m_m. - reflexivity. - apply le_times_r.assumption. - intro.rewrite > eq_minus_n_m_O. - rewrite > (eq_minus_n_m_O (x*y)). - rewrite < sym_times.simplify.reflexivity. - apply le_times_r.apply lt_to_le.apply not_le_to_lt.assumption. - apply lt_to_le.apply not_le_to_lt.assumption. -qed. - -theorem distr_times_minus: \forall n,m,p:nat. n*(m-p) = n*m-n*p -\def distributive_times_minus. - -theorem eq_minus_plus_plus_minus: \forall n,m,p:nat. p \le m \to (n+m)-p = n+(m-p). -intros. -apply plus_to_minus. -rewrite > sym_plus in \vdash (? ? ? %). -rewrite > assoc_plus. -rewrite < plus_minus_m_m. -reflexivity.assumption. -qed. - -theorem eq_minus_minus_minus_plus: \forall n,m,p:nat. (n-m)-p = n-(m+p). -intros. -cut (m+p \le n \or m+p \nleq n). - elim Hcut. - symmetry.apply plus_to_minus. - rewrite > assoc_plus.rewrite > (sym_plus p).rewrite < plus_minus_m_m. - rewrite > sym_plus.rewrite < plus_minus_m_m. - reflexivity. - apply (trans_le ? (m+p)). - rewrite < sym_plus.apply le_plus_n. - assumption. - apply le_plus_to_minus_r.rewrite > sym_plus.assumption. - rewrite > (eq_minus_n_m_O n (m+p)). - rewrite > (eq_minus_n_m_O (n-m) p). - reflexivity. - apply le_plus_to_minus.apply lt_to_le. rewrite < sym_plus. - apply not_le_to_lt. assumption. - apply lt_to_le.apply not_le_to_lt.assumption. - apply (decidable_le (m+p) n). -qed. - -theorem eq_plus_minus_minus_minus: \forall n,m,p:nat. p \le m \to m \le n \to -p+(n-m) = n-(m-p). -intros. -apply sym_eq. -apply plus_to_minus. -rewrite < assoc_plus. -rewrite < plus_minus_m_m. -rewrite < sym_plus. -rewrite < plus_minus_m_m.reflexivity. -assumption.assumption. -qed. diff --git a/helm/matita/library/nat/nat.ma b/helm/matita/library/nat/nat.ma deleted file mode 100644 index a75032d71..000000000 --- a/helm/matita/library/nat/nat.ma +++ /dev/null @@ -1,106 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/nat". - -include "higher_order_defs/functions.ma". - -inductive nat : Set \def - | O : nat - | S : nat \to nat. - -definition pred: nat \to nat \def -\lambda n:nat. match n with -[ O \Rightarrow O -| (S p) \Rightarrow p ]. - -theorem pred_Sn : \forall n:nat.n=(pred (S n)). -intros. reflexivity. -qed. - -theorem injective_S : injective nat nat S. -unfold injective. -intros. -rewrite > pred_Sn. -rewrite > (pred_Sn y). -apply eq_f. assumption. -qed. - -theorem inj_S : \forall n,m:nat.(S n)=(S m) \to n=m -\def injective_S. - -theorem not_eq_S : \forall n,m:nat. -\lnot n=m \to S n \neq S m. -intros. unfold Not. intros. -apply H. apply injective_S. assumption. -qed. - -definition not_zero : nat \to Prop \def -\lambda n: nat. - match n with - [ O \Rightarrow False - | (S p) \Rightarrow True ]. - -theorem not_eq_O_S : \forall n:nat. O \neq S n. -intros. unfold Not. intros. -cut (not_zero O). -exact Hcut. -rewrite > H.exact I. -qed. - -theorem not_eq_n_Sn : \forall n:nat. n \neq S n. -intros.elim n. -apply not_eq_O_S. -apply not_eq_S.assumption. -qed. - -theorem nat_case: -\forall n:nat.\forall P:nat \to Prop. -P O \to (\forall m:nat. P (S m)) \to P n. -intros.elim n.assumption.apply H1. -qed. - -theorem nat_case1: -\forall n:nat.\forall P:nat \to Prop. -(n=O \to P O) \to (\forall m:nat. (n=(S m) \to P (S m))) \to P n. -intros 2.elim n. -apply H.reflexivity. -apply H2.reflexivity. -qed. - -theorem nat_elim2 : -\forall R:nat \to nat \to Prop. -(\forall n:nat. R O n) \to -(\forall n:nat. R (S n) O) \to -(\forall n,m:nat. R n m \to R (S n) (S m)) \to \forall n,m:nat. R n m. -intros 5.elim n. -apply H. -apply (nat_case m).apply H1. -intros.apply H2. apply H3. -qed. - -theorem decidable_eq_nat : \forall n,m:nat.decidable (n=m). -intros.unfold decidable. -apply (nat_elim2 (\lambda n,m.(Or (n=m) ((n=m) \to False)))). -intro.elim n1. -left.reflexivity. -right.apply not_eq_O_S. -intro.right.intro. -apply (not_eq_O_S n1). -apply sym_eq.assumption. -intros.elim H. -left.apply eq_f. assumption. -right.intro.apply H1.apply inj_S.assumption. -qed. - diff --git a/helm/matita/library/nat/nth_prime.ma b/helm/matita/library/nat/nth_prime.ma deleted file mode 100644 index 5330f52ad..000000000 --- a/helm/matita/library/nat/nth_prime.ma +++ /dev/null @@ -1,200 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / Matita is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/nth_prime". - -include "nat/primes.ma". -include "nat/lt_arith.ma". - -(* upper bound by Bertrand's conjecture. *) -(* Too difficult to prove. -let rec nth_prime n \def -match n with - [ O \Rightarrow (S(S O)) - | (S p) \Rightarrow - let previous_prime \def S (nth_prime p) in - min_aux previous_prime ((S(S O))*previous_prime) primeb]. - -theorem example8 : nth_prime (S(S O)) = (S(S(S(S(S O))))). -normalize.reflexivity. -qed. - -theorem example9 : nth_prime (S(S(S O))) = (S(S(S(S(S(S(S O))))))). -normalize.reflexivity. -qed. - -theorem example10 : nth_prime (S(S(S(S O)))) = (S(S(S(S(S(S(S(S(S(S(S O))))))))))). -normalize.reflexivity. -qed. *) - -theorem smallest_factor_fact: \forall n:nat. -n < smallest_factor (S n!). -intros. -apply not_le_to_lt. -change with (smallest_factor (S n!) \le n \to False).intro. -apply (not_divides_S_fact n (smallest_factor(S n!))). -apply lt_SO_smallest_factor. -unfold lt.apply le_S_S.apply le_SO_fact. -assumption. -apply divides_smallest_factor_n. -unfold lt.apply le_S_S.apply le_O_n. -qed. - -theorem ex_prime: \forall n. (S O) \le n \to \exists m. -n < m \land m \le S n! \land (prime m). -intros. -elim H. -apply (ex_intro nat ? (S(S O))). -split.split.apply (le_n (S(S O))). -apply (le_n (S(S O))).apply (primeb_to_Prop (S(S O))). -apply (ex_intro nat ? (smallest_factor (S (S n1)!))). -split.split. -apply smallest_factor_fact. -apply le_smallest_factor_n. -(* Andrea: ancora hint non lo trova *) -apply prime_smallest_factor_n. -change with ((S(S O)) \le S (S n1)!). -apply le_S.apply le_SSO_fact. -unfold lt.apply le_S_S.assumption. -qed. - -let rec nth_prime n \def -match n with - [ O \Rightarrow (S(S O)) - | (S p) \Rightarrow - let previous_prime \def (nth_prime p) in - let upper_bound \def S previous_prime! in - min_aux (upper_bound - (S previous_prime)) upper_bound primeb]. - -(* it works, but nth_prime 4 takes already a few minutes - -it must compute factorial of 7 ... - -theorem example11 : nth_prime (S(S O)) = (S(S(S(S(S O))))). -normalize.reflexivity. -qed. - -theorem example12: nth_prime (S(S(S O))) = (S(S(S(S(S(S(S O))))))). -normalize.reflexivity. -qed. - -theorem example13 : nth_prime (S(S(S(S O)))) = (S(S(S(S(S(S(S(S(S(S(S O))))))))))). -normalize.reflexivity. -*) - -theorem prime_nth_prime : \forall n:nat.prime (nth_prime n). -intro. -apply (nat_case n). -change with (prime (S(S O))). -apply (primeb_to_Prop (S(S O))). -intro. -change with -(let previous_prime \def (nth_prime m) in -let upper_bound \def S previous_prime! in -prime (min_aux (upper_bound - (S previous_prime)) upper_bound primeb)). -apply primeb_true_to_prime. -apply f_min_aux_true. -apply (ex_intro nat ? (smallest_factor (S (nth_prime m)!))). -split.split. -cut (S (nth_prime m)!-(S (nth_prime m)! - (S (nth_prime m))) = (S (nth_prime m))). -rewrite > Hcut.exact (smallest_factor_fact (nth_prime m)). -(* maybe we could factorize this proof *) -apply plus_to_minus. -apply plus_minus_m_m. -apply le_S_S. -apply le_n_fact_n. -apply le_smallest_factor_n. -apply prime_to_primeb_true. -apply prime_smallest_factor_n. -change with ((S(S O)) \le S (nth_prime m)!). -apply le_S_S.apply le_SO_fact. -qed. - -(* properties of nth_prime *) -theorem increasing_nth_prime: increasing nth_prime. -change with (\forall n:nat. (nth_prime n) < (nth_prime (S n))). -intros. -change with -(let previous_prime \def (nth_prime n) in -let upper_bound \def S previous_prime! in -(S previous_prime) \le min_aux (upper_bound - (S previous_prime)) upper_bound primeb). -intros. -cut (upper_bound - (upper_bound -(S previous_prime)) = (S previous_prime)). -rewrite < Hcut in \vdash (? % ?). -apply le_min_aux. -apply plus_to_minus. -apply plus_minus_m_m. -apply le_S_S. -apply le_n_fact_n. -qed. - -variant lt_nth_prime_n_nth_prime_Sn :\forall n:nat. -(nth_prime n) < (nth_prime (S n)) \def increasing_nth_prime. - -theorem injective_nth_prime: injective nat nat nth_prime. -apply increasing_to_injective. -apply increasing_nth_prime. -qed. - -theorem lt_SO_nth_prime_n : \forall n:nat. (S O) \lt nth_prime n. -intros. elim n.unfold lt.apply le_n. -apply (trans_lt ? (nth_prime n1)). -assumption.apply lt_nth_prime_n_nth_prime_Sn. -qed. - -theorem lt_O_nth_prime_n : \forall n:nat. O \lt nth_prime n. -intros.apply (trans_lt O (S O)). -unfold lt. apply le_n.apply lt_SO_nth_prime_n. -qed. - -theorem ex_m_le_n_nth_prime_m: -\forall n: nat. nth_prime O \le n \to -\exists m. nth_prime m \le n \land n < nth_prime (S m). -intros. -apply increasing_to_le2. -exact lt_nth_prime_n_nth_prime_Sn.assumption. -qed. - -theorem lt_nth_prime_to_not_prime: \forall n,m. nth_prime n < m \to m < nth_prime (S n) -\to \lnot (prime m). -intros. -apply primeb_false_to_not_prime. -letin previous_prime \def (nth_prime n). -letin upper_bound \def (S previous_prime!). -apply (lt_min_aux_to_false primeb upper_bound (upper_bound - (S previous_prime)) m). -cut (S (nth_prime n)!-(S (nth_prime n)! - (S (nth_prime n))) = (S (nth_prime n))). -rewrite > Hcut.assumption. -apply plus_to_minus. -apply plus_minus_m_m. -apply le_S_S. -apply le_n_fact_n. -assumption. -qed. - -(* nth_prime enumerates all primes *) -theorem prime_to_nth_prime : \forall p:nat. prime p \to -\exists i. nth_prime i = p. -intros. -cut (\exists m. nth_prime m \le p \land p < nth_prime (S m)). -elim Hcut.elim H1. -cut (nth_prime a < p \lor nth_prime a = p). -elim Hcut1. -absurd (prime p). -assumption. -apply (lt_nth_prime_to_not_prime a).assumption.assumption. -apply (ex_intro nat ? a).assumption. -apply le_to_or_lt_eq.assumption. -apply ex_m_le_n_nth_prime_m. -simplify.unfold prime in H.elim H.assumption. -qed. - diff --git a/helm/matita/library/nat/ord.ma b/helm/matita/library/nat/ord.ma deleted file mode 100644 index 24874c08a..000000000 --- a/helm/matita/library/nat/ord.ma +++ /dev/null @@ -1,193 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / Matita is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/log". - -include "datatypes/constructors.ma". -include "nat/exp.ma". -include "nat/lt_arith.ma". -include "nat/primes.ma". - -(* this definition of log is based on pairs, with a remainder *) - -let rec p_ord_aux p n m \def - match n \mod m with - [ O \Rightarrow - match p with - [ O \Rightarrow pair nat nat O n - | (S p) \Rightarrow - match (p_ord_aux p (n / m) m) with - [ (pair q r) \Rightarrow pair nat nat (S q) r] ] - | (S a) \Rightarrow pair nat nat O n]. - -(* p_ord n m = if m divides n q times, with remainder r *) -definition p_ord \def \lambda n,m:nat.p_ord_aux n n m. - -theorem p_ord_aux_to_Prop: \forall p,n,m. O < m \to - match p_ord_aux p n m with - [ (pair q r) \Rightarrow n = m \sup q *r ]. -intro. -elim p. -change with -match ( -match n \mod m with - [ O \Rightarrow pair nat nat O n - | (S a) \Rightarrow pair nat nat O n] ) -with - [ (pair q r) \Rightarrow n = m \sup q * r ]. -apply (nat_case (n \mod m)). -simplify.apply plus_n_O. -intros. -simplify.apply plus_n_O. -change with -match ( -match n1 \mod m with - [ O \Rightarrow - match (p_ord_aux n (n1 / m) m) with - [ (pair q r) \Rightarrow pair nat nat (S q) r] - | (S a) \Rightarrow pair nat nat O n1] ) -with - [ (pair q r) \Rightarrow n1 = m \sup q * r]. -apply (nat_case1 (n1 \mod m)).intro. -change with -match ( - match (p_ord_aux n (n1 / m) m) with - [ (pair q r) \Rightarrow pair nat nat (S q) r]) -with - [ (pair q r) \Rightarrow n1 = m \sup q * r]. -generalize in match (H (n1 / m) m). -elim (p_ord_aux n (n1 / m) m). -simplify. -rewrite > assoc_times. -rewrite < H3.rewrite > (plus_n_O (m*(n1 / m))). -rewrite < H2. -rewrite > sym_times. -rewrite < div_mod.reflexivity. -assumption.assumption. -intros.simplify.apply plus_n_O. -qed. - -theorem p_ord_aux_to_exp: \forall p,n,m,q,r. O < m \to - (pair nat nat q r) = p_ord_aux p n m \to n = m \sup q * r. -intros. -change with -match (pair nat nat q r) with - [ (pair q r) \Rightarrow n = m \sup q * r ]. -rewrite > H1. -apply p_ord_aux_to_Prop. -assumption. -qed. -(* questo va spostato in primes1.ma *) -theorem p_ord_exp: \forall n,m,i. O < m \to n \mod m \neq O \to -\forall p. i \le p \to p_ord_aux p (m \sup i * n) m = pair nat nat i n. -intros 5. -elim i. -simplify. -rewrite < plus_n_O. -apply (nat_case p). -change with - (match n \mod m with - [ O \Rightarrow pair nat nat O n - | (S a) \Rightarrow pair nat nat O n] - = pair nat nat O n). -elim (n \mod m).simplify.reflexivity.simplify.reflexivity. -intro. -change with - (match n \mod m with - [ O \Rightarrow - match (p_ord_aux m1 (n / m) m) with - [ (pair q r) \Rightarrow pair nat nat (S q) r] - | (S a) \Rightarrow pair nat nat O n] - = pair nat nat O n). -cut (O < n \mod m \lor O = n \mod m). -elim Hcut.apply (lt_O_n_elim (n \mod m) H3). -intros. simplify.reflexivity. -apply False_ind. -apply H1.apply sym_eq.assumption. -apply le_to_or_lt_eq.apply le_O_n. -generalize in match H3. -apply (nat_case p).intro.apply False_ind.apply (not_le_Sn_O n1 H4). -intros. -change with - (match ((m \sup (S n1) *n) \mod m) with - [ O \Rightarrow - match (p_ord_aux m1 ((m \sup (S n1) *n) / m) m) with - [ (pair q r) \Rightarrow pair nat nat (S q) r] - | (S a) \Rightarrow pair nat nat O (m \sup (S n1) *n)] - = pair nat nat (S n1) n). -cut (((m \sup (S n1)*n) \mod m) = O). -rewrite > Hcut. -change with -(match (p_ord_aux m1 ((m \sup (S n1)*n) / m) m) with - [ (pair q r) \Rightarrow pair nat nat (S q) r] - = pair nat nat (S n1) n). -cut ((m \sup (S n1) *n) / m = m \sup n1 *n). -rewrite > Hcut1. -rewrite > (H2 m1). simplify.reflexivity. -apply le_S_S_to_le.assumption. -(* div_exp *) -change with ((m* m \sup n1 *n) / m = m \sup n1 * n). -rewrite > assoc_times. -apply (lt_O_n_elim m H). -intro.apply div_times. -(* mod_exp = O *) -apply divides_to_mod_O. -assumption. -simplify.rewrite > assoc_times. -apply (witness ? ? (m \sup n1 *n)).reflexivity. -qed. - -theorem p_ord_aux_to_Prop1: \forall p,n,m. (S O) < m \to O < n \to n \le p \to - match p_ord_aux p n m with - [ (pair q r) \Rightarrow r \mod m \neq O]. -intro.elim p.absurd (O < n).assumption. -apply le_to_not_lt.assumption. -change with -match - (match n1 \mod m with - [ O \Rightarrow - match (p_ord_aux n(n1 / m) m) with - [ (pair q r) \Rightarrow pair nat nat (S q) r] - | (S a) \Rightarrow pair nat nat O n1]) -with - [ (pair q r) \Rightarrow r \mod m \neq O]. -apply (nat_case1 (n1 \mod m)).intro. -generalize in match (H (n1 / m) m). -elim (p_ord_aux n (n1 / m) m). -apply H5.assumption. -apply eq_mod_O_to_lt_O_div. -apply (trans_lt ? (S O)).unfold lt.apply le_n. -assumption.assumption.assumption. -apply le_S_S_to_le. -apply (trans_le ? n1).change with (n1 / m < n1). -apply lt_div_n_m_n.assumption.assumption.assumption. -intros. -change with (n1 \mod m \neq O). -rewrite > H4. -unfold Not.intro. -apply (not_eq_O_S m1). -rewrite > H5.reflexivity. -qed. - -theorem p_ord_aux_to_not_mod_O: \forall p,n,m,q,r. (S O) < m \to O < n \to n \le p \to - pair nat nat q r = p_ord_aux p n m \to r \mod m \neq O. -intros. -change with - match (pair nat nat q r) with - [ (pair q r) \Rightarrow r \mod m \neq O]. -rewrite > H3. -apply p_ord_aux_to_Prop1. -assumption.assumption.assumption. -qed. - diff --git a/helm/matita/library/nat/orders.ma b/helm/matita/library/nat/orders.ma deleted file mode 100644 index 6ec0c9992..000000000 --- a/helm/matita/library/nat/orders.ma +++ /dev/null @@ -1,312 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/orders". - -include "nat/nat.ma". -include "higher_order_defs/ordering.ma". - -(* definitions *) -inductive le (n:nat) : nat \to Prop \def - | le_n : le n n - | le_S : \forall m:nat. le n m \to le n (S m). - -(*CSC: the URI must disappear: there is a bug now *) -interpretation "natural 'less or equal to'" 'leq x y = (cic:/matita/nat/orders/le.ind#xpointer(1/1) x y). -(*CSC: the URI must disappear: there is a bug now *) -interpretation "natural 'neither less nor equal to'" 'nleq x y = - (cic:/matita/logic/connectives/Not.con - (cic:/matita/nat/orders/le.ind#xpointer(1/1) x y)). - -definition lt: nat \to nat \to Prop \def -\lambda n,m:nat.(S n) \leq m. - -(*CSC: the URI must disappear: there is a bug now *) -interpretation "natural 'less than'" 'lt x y = (cic:/matita/nat/orders/lt.con x y). -(*CSC: the URI must disappear: there is a bug now *) -interpretation "natural 'not less than'" 'nless x y = - (cic:/matita/logic/connectives/Not.con (cic:/matita/nat/orders/lt.con x y)). - -definition ge: nat \to nat \to Prop \def -\lambda n,m:nat.m \leq n. - -(*CSC: the URI must disappear: there is a bug now *) -interpretation "natural 'greater or equal to'" 'geq x y = (cic:/matita/nat/orders/ge.con x y). - -definition gt: nat \to nat \to Prop \def -\lambda n,m:nat.m H7. -apply H. -apply le_to_or_lt_eq.apply H6. -qed. diff --git a/helm/matita/library/nat/permutation.ma b/helm/matita/library/nat/permutation.ma deleted file mode 100644 index 3e987e9e8..000000000 --- a/helm/matita/library/nat/permutation.ma +++ /dev/null @@ -1,740 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/permutation". - -include "nat/compare.ma". -include "nat/sigma_and_pi.ma". - -definition injn: (nat \to nat) \to nat \to Prop \def -\lambda f:nat \to nat.\lambda n:nat.\forall i,j:nat. -i \le n \to j \le n \to f i = f j \to i = j. - -theorem injn_Sn_n: \forall f:nat \to nat. \forall n:nat. -injn f (S n) \to injn f n.unfold injn. -intros.apply H. -apply le_S.assumption. -apply le_S.assumption. -assumption. -qed. - -theorem injective_to_injn: \forall f:nat \to nat. \forall n:nat. -injective nat nat f \to injn f n. -unfold injective.unfold injn.intros.apply H.assumption. -qed. - -definition permut : (nat \to nat) \to nat \to Prop -\def \lambda f:nat \to nat. \lambda m:nat. -(\forall i:nat. i \le m \to f i \le m )\land injn f m. - -theorem permut_O_to_eq_O: \forall h:nat \to nat. -permut h O \to (h O) = O. -intros.unfold permut in H. -elim H.apply sym_eq.apply le_n_O_to_eq. -apply H1.apply le_n. -qed. - -theorem permut_S_to_permut: \forall f:nat \to nat. \forall m:nat. -permut f (S m) \to f (S m) = (S m) \to permut f m. -unfold permut.intros. -elim H. -split.intros. -cut (f i < S m \lor f i = S m). -elim Hcut. -apply le_S_S_to_le.assumption. -apply False_ind. -apply (not_le_Sn_n m). -cut ((S m) = i). -rewrite > Hcut1.assumption. -apply H3.apply le_n.apply le_S.assumption. -rewrite > H5.assumption. -apply le_to_or_lt_eq.apply H2.apply le_S.assumption. -apply (injn_Sn_n f m H3). -qed. - -(* transpositions *) - -definition transpose : nat \to nat \to nat \to nat \def -\lambda i,j,n:nat. -match eqb n i with - [ true \Rightarrow j - | false \Rightarrow - match eqb n j with - [ true \Rightarrow i - | false \Rightarrow n]]. - -lemma transpose_i_j_i: \forall i,j:nat. transpose i j i = j. -intros.unfold transpose. -rewrite > (eqb_n_n i).simplify. reflexivity. -qed. - -lemma transpose_i_j_j: \forall i,j:nat. transpose i j j = i. -intros.unfold transpose. -apply (eqb_elim j i).simplify.intro.assumption. -rewrite > (eqb_n_n j).simplify. -intros. reflexivity. -qed. - -theorem transpose_i_i: \forall i,n:nat. (transpose i i n) = n. -intros.unfold transpose. -apply (eqb_elim n i). -intro.simplify.apply sym_eq. assumption. -intro.simplify.reflexivity. -qed. - -theorem transpose_i_j_j_i: \forall i,j,n:nat. -transpose i j n = transpose j i n. -intros.unfold transpose. -apply (eqb_elim n i). -apply (eqb_elim n j). -intros. simplify.rewrite < H. rewrite < H1. -reflexivity. -intros.simplify.reflexivity. -apply (eqb_elim n j). -intros.simplify.reflexivity. -intros.simplify.reflexivity. -qed. - -theorem transpose_transpose: \forall i,j,n:nat. -(transpose i j (transpose i j n)) = n. -intros.unfold transpose. unfold transpose. -apply (eqb_elim n i).simplify. -intro. -apply (eqb_elim j i). -simplify.intros.rewrite > H. rewrite > H1.reflexivity. -rewrite > (eqb_n_n j).simplify.intros. -apply sym_eq. -assumption. -apply (eqb_elim n j).simplify. -rewrite > (eqb_n_n i).intros.simplify. -apply sym_eq. assumption. -simplify.intros. -rewrite > (not_eq_to_eqb_false n i H1). -rewrite > (not_eq_to_eqb_false n j H). -simplify.reflexivity. -qed. - -theorem injective_transpose : \forall i,j:nat. -injective nat nat (transpose i j). -unfold injective. -intros. -rewrite < (transpose_transpose i j x). -rewrite < (transpose_transpose i j y). -apply eq_f.assumption. -qed. - -variant inj_transpose: \forall i,j,n,m:nat. -transpose i j n = transpose i j m \to n = m \def -injective_transpose. - -theorem permut_transpose: \forall i,j,n:nat. i \le n \to j \le n \to -permut (transpose i j) n. -unfold permut.intros. -split.unfold transpose. -intros. -elim (eqb i1 i).simplify.assumption. -elim (eqb i1 j).simplify.assumption. -simplify.assumption. -apply (injective_to_injn (transpose i j) n). -apply injective_transpose. -qed. - -theorem permut_fg: \forall f,g:nat \to nat. \forall n:nat. -permut f n \to permut g n \to permut (\lambda m.(f(g m))) n. -unfold permut. intros. -elim H.elim H1. -split.intros.simplify.apply H2. -apply H4.assumption. -simplify.intros. -apply H5.assumption.assumption. -apply H3.apply H4.assumption.apply H4.assumption. -assumption. -qed. - -theorem permut_transpose_l: -\forall f:nat \to nat. \forall m,i,j:nat. -i \le m \to j \le m \to permut f m \to permut (\lambda n.transpose i j (f n)) m. -intros.apply (permut_fg (transpose i j) f m ? ?). -apply permut_transpose.assumption.assumption. -assumption. -qed. - -theorem permut_transpose_r: -\forall f:nat \to nat. \forall m,i,j:nat. -i \le m \to j \le m \to permut f m \to permut (\lambda n.f (transpose i j n)) m. -intros.apply (permut_fg f (transpose i j) m ? ?). -assumption.apply permut_transpose.assumption.assumption. -qed. - -theorem eq_transpose : \forall i,j,k,n:nat. \lnot j=i \to - \lnot i=k \to \lnot j=k \to -transpose i j n = transpose i k (transpose k j (transpose i k n)). -(* uffa: triplo unfold? *) -intros.unfold transpose.unfold transpose.unfold transpose. -apply (eqb_elim n i).intro. -simplify.rewrite > (eqb_n_n k). -simplify.rewrite > (not_eq_to_eqb_false j i H). -rewrite > (not_eq_to_eqb_false j k H2). -reflexivity. -intro.apply (eqb_elim n j). -intro. -cut (\lnot n = k). -cut (\lnot n = i). -rewrite > (not_eq_to_eqb_false n k Hcut). -simplify. -rewrite > (not_eq_to_eqb_false n k Hcut). -rewrite > (eq_to_eqb_true n j H4). -simplify. -rewrite > (not_eq_to_eqb_false k i). -rewrite > (eqb_n_n k). -simplify.reflexivity. -unfold Not.intro.apply H1.apply sym_eq.assumption. -assumption. -unfold Not.intro.apply H2.apply (trans_eq ? ? n). -apply sym_eq.assumption.assumption. -intro.apply (eqb_elim n k).intro. -simplify. -rewrite > (not_eq_to_eqb_false i k H1). -rewrite > (not_eq_to_eqb_false i j). -simplify. -rewrite > (eqb_n_n i). -simplify.assumption. -unfold Not.intro.apply H.apply sym_eq.assumption. -intro.simplify. -rewrite > (not_eq_to_eqb_false n k H5). -rewrite > (not_eq_to_eqb_false n j H4). -simplify. -rewrite > (not_eq_to_eqb_false n i H3). -rewrite > (not_eq_to_eqb_false n k H5). -simplify.reflexivity. -qed. - -theorem permut_S_to_permut_transpose: \forall f:nat \to nat. -\forall m:nat. permut f (S m) \to permut (\lambda n.transpose (f (S m)) (S m) -(f n)) m. -unfold permut.intros. -elim H. -split.intros.simplify.unfold transpose. -apply (eqb_elim (f i) (f (S m))). -intro.apply False_ind. -cut (i = (S m)). -apply (not_le_Sn_n m). -rewrite < Hcut.assumption. -apply H2.apply le_S.assumption.apply le_n.assumption. -intro.simplify. -apply (eqb_elim (f i) (S m)). -intro. -cut (f (S m) \lt (S m) \lor f (S m) = (S m)). -elim Hcut.apply le_S_S_to_le.assumption. -apply False_ind.apply H4.rewrite > H6.assumption. -apply le_to_or_lt_eq.apply H1.apply le_n. -intro.simplify. -cut (f i \lt (S m) \lor f i = (S m)). -elim Hcut.apply le_S_S_to_le.assumption. -apply False_ind.apply H5.assumption. -apply le_to_or_lt_eq.apply H1.apply le_S.assumption. -unfold injn.intros. -apply H2.apply le_S.assumption.apply le_S.assumption. -apply (inj_transpose (f (S m)) (S m)). -apply H5. -qed. - -(* bounded bijectivity *) - -definition bijn : (nat \to nat) \to nat \to Prop \def -\lambda f:nat \to nat. \lambda n. \forall m:nat. m \le n \to -ex nat (\lambda p. p \le n \land f p = m). - -theorem eq_to_bijn: \forall f,g:nat\to nat. \forall n:nat. -(\forall i:nat. i \le n \to (f i) = (g i)) \to -bijn f n \to bijn g n. -intros 4.unfold bijn. -intros.elim (H1 m). -apply (ex_intro ? ? a). -rewrite < (H a).assumption. -elim H3.assumption.assumption. -qed. - -theorem bijn_Sn_n: \forall f:nat \to nat. \forall n:nat. -bijn f (S n) \to f (S n) = (S n) \to bijn f n. -unfold bijn.intros.elim (H m). -elim H3. -apply (ex_intro ? ? a).split. -cut (a < S n \lor a = S n). -elim Hcut.apply le_S_S_to_le.assumption. -apply False_ind. -apply (not_le_Sn_n n). -rewrite < H1.rewrite < H6.rewrite > H5.assumption. -apply le_to_or_lt_eq.assumption.assumption. -apply le_S.assumption. -qed. - -theorem bijn_n_Sn: \forall f:nat \to nat. \forall n:nat. -bijn f n \to f (S n) = (S n) \to bijn f (S n). -unfold bijn.intros. -cut (m < S n \lor m = S n). -elim Hcut. -elim (H m). -elim H4. -apply (ex_intro ? ? a).split. -apply le_S.assumption.assumption. -apply le_S_S_to_le.assumption. -apply (ex_intro ? ? (S n)). -split.apply le_n. -rewrite > H3.assumption. -apply le_to_or_lt_eq.assumption. -qed. - -theorem bijn_fg: \forall f,g:nat\to nat. \forall n:nat. -bijn f n \to bijn g n \to bijn (\lambda p.f(g p)) n. -unfold bijn. -intros.simplify. -elim (H m).elim H3. -elim (H1 a).elim H6. -apply (ex_intro ? ? a1). -split.assumption. -rewrite > H8.assumption. -assumption.assumption. -qed. - -theorem bijn_transpose : \forall n,i,j. i \le n \to j \le n \to -bijn (transpose i j) n. -intros.unfold bijn.unfold transpose.intros. -cut (m = i \lor \lnot m = i). -elim Hcut. -apply (ex_intro ? ? j). -split.assumption. -apply (eqb_elim j i). -intro.simplify.rewrite > H3.rewrite > H4.reflexivity. -rewrite > (eqb_n_n j).simplify. -intros. apply sym_eq.assumption. -cut (m = j \lor \lnot m = j). -elim Hcut1. -apply (ex_intro ? ? i). -split.assumption. -rewrite > (eqb_n_n i).simplify. -apply sym_eq. assumption. -apply (ex_intro ? ? m). -split.assumption. -rewrite > (not_eq_to_eqb_false m i). -rewrite > (not_eq_to_eqb_false m j). -simplify. reflexivity. -assumption. -assumption. -apply (decidable_eq_nat m j). -apply (decidable_eq_nat m i). -qed. - -theorem bijn_transpose_r: \forall f:nat\to nat.\forall n,i,j. i \le n \to j \le n \to -bijn f n \to bijn (\lambda p.f (transpose i j p)) n. -intros. -apply (bijn_fg f ?).assumption. -apply (bijn_transpose n i j).assumption.assumption. -qed. - -theorem bijn_transpose_l: \forall f:nat\to nat.\forall n,i,j. i \le n \to j \le n \to -bijn f n \to bijn (\lambda p.transpose i j (f p)) n. -intros. -apply (bijn_fg ? f). -apply (bijn_transpose n i j).assumption.assumption. -assumption. -qed. - -theorem permut_to_bijn: \forall n:nat.\forall f:nat\to nat. -permut f n \to bijn f n. -intro. -elim n.unfold bijn.intros. -apply (ex_intro ? ? m). -split.assumption. -apply (le_n_O_elim m ? (\lambda p. f p = p)). -assumption.unfold permut in H. -elim H.apply sym_eq. apply le_n_O_to_eq.apply H2.apply le_n. -apply (eq_to_bijn (\lambda p. -(transpose (f (S n1)) (S n1)) (transpose (f (S n1)) (S n1) (f p))) f). -intros.apply transpose_transpose. -apply (bijn_fg (transpose (f (S n1)) (S n1))). -apply bijn_transpose. -unfold permut in H1. -elim H1.apply H2.apply le_n.apply le_n. -apply bijn_n_Sn. -apply H. -apply permut_S_to_permut_transpose. -assumption.unfold transpose. -rewrite > (eqb_n_n (f (S n1))).simplify.reflexivity. -qed. - -let rec invert_permut n f m \def - match eqb m (f n) with - [true \Rightarrow n - |false \Rightarrow - match n with - [O \Rightarrow O - |(S p) \Rightarrow invert_permut p f m]]. - -theorem invert_permut_f: \forall f:nat \to nat. \forall n,m:nat. -m \le n \to injn f n\to invert_permut n f (f m) = m. -intros 4. -elim H. -apply (nat_case1 m). -intro.simplify. -rewrite > (eqb_n_n (f O)).simplify.reflexivity. -intros.simplify. -rewrite > (eqb_n_n (f (S m1))).simplify.reflexivity. -simplify. -rewrite > (not_eq_to_eqb_false (f m) (f (S n1))). -simplify.apply H2. -apply injn_Sn_n. assumption. -unfold Not.intro.absurd (m = S n1). -apply H3.apply le_S.assumption.apply le_n.assumption. -unfold Not.intro. -apply (not_le_Sn_n n1).rewrite < H5.assumption. -qed. - -theorem injective_invert_permut: \forall f:nat \to nat. \forall n:nat. -permut f n \to injn (invert_permut n f) n. -intros. -unfold injn.intros. -cut (bijn f n). -unfold bijn in Hcut. -generalize in match (Hcut i H1).intro. -generalize in match (Hcut j H2).intro. -elim H4.elim H6. -elim H5.elim H9. -rewrite < H8. -rewrite < H11. -apply eq_f. -rewrite < (invert_permut_f f n a). -rewrite < (invert_permut_f f n a1). -rewrite > H8. -rewrite > H11. -assumption.assumption. -unfold permut in H.elim H. assumption. -assumption. -unfold permut in H.elim H. assumption. -apply permut_to_bijn.assumption. -qed. - -theorem permut_invert_permut: \forall f:nat \to nat. \forall n:nat. -permut f n \to permut (invert_permut n f) n. -intros.unfold permut.split. -intros.simplify.elim n. -simplify.elim (eqb i (f O)).simplify.apply le_n.simplify.apply le_n. -simplify.elim (eqb i (f (S n1))).simplify.apply le_n. -simplify.apply le_S. assumption. -apply injective_invert_permut.assumption. -qed. - -theorem f_invert_permut: \forall f:nat \to nat. \forall n,m:nat. -m \le n \to permut f n\to f (invert_permut n f m) = m. -intros. -apply (injective_invert_permut f n H1). -unfold permut in H1.elim H1. -apply H2. -cut (permut (invert_permut n f) n).unfold permut in Hcut. -elim Hcut.apply H4.assumption. -apply permut_invert_permut.assumption.assumption. -(* uffa: lo ha espanso troppo *) -change with (invert_permut n f (f (invert_permut n f m)) = invert_permut n f m). -apply invert_permut_f. -cut (permut (invert_permut n f) n).unfold permut in Hcut. -elim Hcut.apply H2.assumption. -apply permut_invert_permut.assumption. -unfold permut in H1.elim H1.assumption. -qed. - -theorem permut_n_to_eq_n: \forall h:nat \to nat.\forall n:nat. -permut h n \to (\forall m:nat. m < n \to h m = m) \to h n = n. -intros.unfold permut in H.elim H. -cut (invert_permut n h n < n \lor invert_permut n h n = n). -elim Hcut. -rewrite < (f_invert_permut h n n) in \vdash (? ? ? %). -apply eq_f. -rewrite < (f_invert_permut h n n) in \vdash (? ? % ?). -apply H1.assumption.apply le_n.assumption.apply le_n.assumption. -rewrite < H4 in \vdash (? ? % ?). -apply (f_invert_permut h).apply le_n.assumption. -apply le_to_or_lt_eq. -cut (permut (invert_permut n h) n). -unfold permut in Hcut.elim Hcut. -apply H4.apply le_n. -apply permut_invert_permut.assumption. -qed. - -theorem permut_n_to_le: \forall h:nat \to nat.\forall k,n:nat. -k \le n \to permut h n \to (\forall m:nat. m < k \to h m = m) \to -\forall j. k \le j \to j \le n \to k \le h j. -intros.unfold permut in H1.elim H1. -cut (h j < k \lor \not(h j < k)). -elim Hcut.absurd (k \le j).assumption. -apply lt_to_not_le. -cut (h j = j).rewrite < Hcut1.assumption. -apply H6.apply H5.assumption.assumption. -apply H2.assumption. -apply not_lt_to_le.assumption. -apply (decidable_lt (h j) k). -qed. - -(* applications *) - -let rec map_iter_i k (g:nat \to nat) f (i:nat) \def - match k with - [ O \Rightarrow g i - | (S k) \Rightarrow f (g (S (k+i))) (map_iter_i k g f i)]. - -theorem eq_map_iter_i: \forall g1,g2:nat \to nat. -\forall f:nat \to nat \to nat. \forall n,i:nat. -(\forall m:nat. i\le m \to m \le n+i \to g1 m = g2 m) \to -map_iter_i n g1 f i = map_iter_i n g2 f i. -intros 5.elim n.simplify.apply H.apply le_n. -apply le_n.simplify.apply eq_f2.apply H1.simplify. -apply le_S.apply le_plus_n.simplify.apply le_n. -apply H.intros.apply H1.assumption.simplify.apply le_S.assumption. -qed. - -(* map_iter examples *) - -theorem eq_map_iter_i_sigma: \forall g:nat \to nat. \forall n,m:nat. -map_iter_i n g plus m = sigma n g m. -intros.elim n.simplify.reflexivity. -simplify. -apply eq_f.assumption. -qed. - -theorem eq_map_iter_i_pi: \forall g:nat \to nat. \forall n,m:nat. -map_iter_i n g times m = pi n g m. -intros.elim n.simplify.reflexivity. -simplify. -apply eq_f.assumption. -qed. - -theorem eq_map_iter_i_fact: \forall n:nat. -map_iter_i n (\lambda m.m) times (S O) = (S n)!. -intros.elim n. -simplify.reflexivity. -change with -(((S n1)+(S O))*(map_iter_i n1 (\lambda m.m) times (S O)) = (S(S n1))*(S n1)!). -rewrite < plus_n_Sm.rewrite < plus_n_O. -apply eq_f.assumption. -qed. - -theorem eq_map_iter_i_transpose_l : \forall f:nat\to nat \to nat.associative nat f \to -symmetric2 nat nat f \to \forall g:nat \to nat. \forall n,k:nat. -map_iter_i (S k) g f n = map_iter_i (S k) (\lambda m. g (transpose (k+n) (S k+n) m)) f n. -intros.apply (nat_case1 k). -intros.simplify. -change with -(f (g (S n)) (g n) = -f (g (transpose n (S n) (S n))) (g (transpose n (S n) n))). -rewrite > transpose_i_j_i. -rewrite > transpose_i_j_j. -apply H1. -intros. -change with -(f (g (S (S (m+n)))) (f (g (S (m+n))) (map_iter_i m g f n)) = -f (g (transpose (S m + n) (S (S m) + n) (S (S m)+n))) -(f (g (transpose (S m + n) (S (S m) + n) (S m+n))) -(map_iter_i m (\lambda m1. g (transpose (S m+n) (S (S m)+n) m1)) f n))). -rewrite > transpose_i_j_i. -rewrite > transpose_i_j_j. -rewrite < H. -rewrite < H. -rewrite < (H1 (g (S m + n))). -apply eq_f. -apply eq_map_iter_i. -intros.simplify.unfold transpose. -rewrite > (not_eq_to_eqb_false m1 (S m+n)). -rewrite > (not_eq_to_eqb_false m1 (S (S m)+n)). -simplify. -reflexivity. -apply (lt_to_not_eq m1 (S ((S m)+n))). -unfold lt.apply le_S_S.change with (m1 \leq S (m+n)).apply le_S.assumption. -apply (lt_to_not_eq m1 (S m+n)). -simplify.unfold lt.apply le_S_S.assumption. -qed. - -theorem eq_map_iter_i_transpose_i_Si : \forall f:nat\to nat \to nat.associative nat f \to -symmetric2 nat nat f \to \forall g:nat \to nat. \forall n,k,i:nat. n \le i \to i \le k+n \to -map_iter_i (S k) g f n = map_iter_i (S k) (\lambda m. g (transpose i (S i) m)) f n. -intros 6.elim k.cut (i=n). -rewrite > Hcut. -apply (eq_map_iter_i_transpose_l f H H1 g n O). -apply antisymmetric_le.assumption.assumption. -cut (i < S n1 + n \lor i = S n1 + n). -elim Hcut. -change with -(f (g (S (S n1)+n)) (map_iter_i (S n1) g f n) = -f (g (transpose i (S i) (S (S n1)+n))) (map_iter_i (S n1) (\lambda m. g (transpose i (S i) m)) f n)). -apply eq_f2.unfold transpose. -rewrite > (not_eq_to_eqb_false (S (S n1)+n) i). -rewrite > (not_eq_to_eqb_false (S (S n1)+n) (S i)). -simplify.reflexivity. -simplify.unfold Not.intro. -apply (lt_to_not_eq i (S n1+n)).assumption. -apply inj_S.apply sym_eq. assumption. -simplify.unfold Not.intro. -apply (lt_to_not_eq i (S (S n1+n))).simplify.unfold lt. -apply le_S_S.assumption. -apply sym_eq. assumption. -apply H2.assumption.apply le_S_S_to_le. -assumption. -rewrite > H5. -apply (eq_map_iter_i_transpose_l f H H1 g n (S n1)). -apply le_to_or_lt_eq.assumption. -qed. - -theorem eq_map_iter_i_transpose: -\forall f:nat\to nat \to nat. -associative nat f \to symmetric2 nat nat f \to \forall n,k,o:nat. -\forall g:nat \to nat. \forall i:nat. n \le i \to S (o + i) \le S k+n \to -map_iter_i (S k) g f n = map_iter_i (S k) (\lambda m. g (transpose i (S(o + i)) m)) f n. -intros 6. -apply (nat_elim1 o). -intro. -apply (nat_case m ?). -intros. -apply (eq_map_iter_i_transpose_i_Si ? H H1). -exact H3.apply le_S_S_to_le.assumption. -intros. -apply (trans_eq ? ? (map_iter_i (S k) (\lambda m. g (transpose i (S(m1 + i)) m)) f n)). -apply H2. -unfold lt. apply le_n.assumption. -apply (trans_le ? (S(S (m1+i)))). -apply le_S.apply le_n.assumption. -apply (trans_eq ? ? (map_iter_i (S k) (\lambda m. g -(transpose i (S(m1 + i)) (transpose (S(m1 + i)) (S(S(m1 + i))) m))) f n)). -apply (H2 O ? ? (S(m1+i))). -unfold lt.apply le_S_S.apply le_O_n. -apply (trans_le ? i).assumption. -change with (i \le (S m1)+i).apply le_plus_n. -exact H4. -apply (trans_eq ? ? (map_iter_i (S k) (\lambda m. g -(transpose i (S(m1 + i)) -(transpose (S(m1 + i)) (S(S(m1 + i))) -(transpose i (S(m1 + i)) m)))) f n)). -apply (H2 m1). -unfold lt. apply le_n.assumption. -apply (trans_le ? (S(S (m1+i)))). -apply le_S.apply le_n.assumption. -apply eq_map_iter_i. -intros.apply eq_f. -apply sym_eq. apply eq_transpose. -unfold Not. intro. -apply (not_le_Sn_n i). -rewrite < H7 in \vdash (? ? %). -apply le_S_S.apply le_S. -apply le_plus_n. -unfold Not. intro. -apply (not_le_Sn_n i). -rewrite > H7 in \vdash (? ? %). -apply le_S_S. -apply le_plus_n. -unfold Not. intro. -apply (not_eq_n_Sn (S m1+i)). -apply sym_eq.assumption. -qed. - -theorem eq_map_iter_i_transpose1: \forall f:nat\to nat \to nat.associative nat f \to -symmetric2 nat nat f \to \forall n,k,i,j:nat. -\forall g:nat \to nat. n \le i \to i < j \to j \le S k+n \to -map_iter_i (S k) g f n = map_iter_i (S k) (\lambda m. g (transpose i j m)) f n. -intros. -simplify in H3. -cut ((S i) < j \lor (S i) = j). -elim Hcut. -cut (j = S ((j - (S i)) + i)). -rewrite > Hcut1. -apply (eq_map_iter_i_transpose f H H1 n k (j - (S i)) g i). -assumption. -rewrite < Hcut1.assumption. -rewrite > plus_n_Sm. -apply plus_minus_m_m.apply lt_to_le.assumption. -rewrite < H5. -apply (eq_map_iter_i_transpose_i_Si f H H1 g). -simplify. -assumption.apply le_S_S_to_le. -apply (trans_le ? j).assumption.assumption. -apply le_to_or_lt_eq.assumption. -qed. - -theorem eq_map_iter_i_transpose2: \forall f:nat\to nat \to nat.associative nat f \to -symmetric2 nat nat f \to \forall n,k,i,j:nat. -\forall g:nat \to nat. n \le i \to i \le (S k+n) \to n \le j \to j \le (S k+n) \to -map_iter_i (S k) g f n = map_iter_i (S k) (\lambda m. g (transpose i j m)) f n. -intros. -apply (nat_compare_elim i j). -intro.apply (eq_map_iter_i_transpose1 f H H1 n k i j g H2 H6 H5). -intro.rewrite > H6. -apply eq_map_iter_i.intros. -rewrite > (transpose_i_i j).reflexivity. -intro. -apply (trans_eq ? ? (map_iter_i (S k) (\lambda m:nat.g (transpose j i m)) f n)). -apply (eq_map_iter_i_transpose1 f H H1 n k j i g H4 H6 H3). -apply eq_map_iter_i. -intros.apply eq_f.apply transpose_i_j_j_i. -qed. - -theorem permut_to_eq_map_iter_i:\forall f:nat\to nat \to nat.associative nat f \to -symmetric2 nat nat f \to \forall k,n:nat.\forall g,h:nat \to nat. -permut h (k+n) \to (\forall m:nat. m \lt n \to h m = m) \to -map_iter_i k g f n = map_iter_i k (\lambda m.g(h m)) f n. -intros 4.elim k. -simplify.rewrite > (permut_n_to_eq_n h).reflexivity.assumption.assumption. -apply (trans_eq ? ? (map_iter_i (S n) (\lambda m.g ((transpose (h (S n+n1)) (S n+n1)) m)) f n1)). -unfold permut in H3. -elim H3. -apply (eq_map_iter_i_transpose2 f H H1 n1 n ? ? g). -apply (permut_n_to_le h n1 (S n+n1)). -apply le_plus_n.assumption.assumption.apply le_plus_n.apply le_n. -apply H5.apply le_n.apply le_plus_n.apply le_n. -apply (trans_eq ? ? (map_iter_i (S n) (\lambda m. -(g(transpose (h (S n+n1)) (S n+n1) -(transpose (h (S n+n1)) (S n+n1) (h m)))) )f n1)). -change with -(f (g (transpose (h (S n+n1)) (S n+n1) (S n+n1))) -(map_iter_i n (\lambda m. -g (transpose (h (S n+n1)) (S n+n1) m)) f n1) -= -f -(g(transpose (h (S n+n1)) (S n+n1) -(transpose (h (S n+n1)) (S n+n1) (h (S n+n1))))) -(map_iter_i n -(\lambda m. -(g(transpose (h (S n+n1)) (S n+n1) -(transpose (h (S n+n1)) (S n+n1) (h m))))) f n1)). -apply eq_f2.apply eq_f. -rewrite > transpose_i_j_j. -rewrite > transpose_i_j_i. -rewrite > transpose_i_j_j.reflexivity. -apply (H2 n1 (\lambda m.(g(transpose (h (S n+n1)) (S n+n1) m)))). -apply permut_S_to_permut_transpose. -assumption. -intros. -unfold transpose. -rewrite > (not_eq_to_eqb_false (h m) (h (S n+n1))). -rewrite > (not_eq_to_eqb_false (h m) (S n+n1)). -simplify.apply H4.assumption. -rewrite > H4. -apply lt_to_not_eq.apply (trans_lt ? n1).assumption. -simplify.unfold lt.apply le_S_S.apply le_plus_n.assumption. -unfold permut in H3.elim H3. -simplify.unfold Not.intro. -apply (lt_to_not_eq m (S n+n1)).apply (trans_lt ? n1).assumption. -simplify.unfold lt.apply le_S_S.apply le_plus_n. -unfold injn in H7. -apply (H7 m (S n+n1)).apply (trans_le ? n1). -apply lt_to_le.assumption.apply le_plus_n.apply le_n. -assumption. -apply eq_map_iter_i.intros. -rewrite > transpose_transpose.reflexivity. -qed. \ No newline at end of file diff --git a/helm/matita/library/nat/plus.ma b/helm/matita/library/nat/plus.ma deleted file mode 100644 index d595dad19..000000000 --- a/helm/matita/library/nat/plus.ma +++ /dev/null @@ -1,72 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/plus". - -include "nat/nat.ma". - -let rec plus n m \def - match n with - [ O \Rightarrow m - | (S p) \Rightarrow S (plus p m) ]. - -(*CSC: the URI must disappear: there is a bug now *) -interpretation "natural plus" 'plus x y = (cic:/matita/nat/plus/plus.con x y). - -theorem plus_n_O: \forall n:nat. n = n+O. -intros.elim n. -simplify.reflexivity. -simplify.apply eq_f.assumption. -qed. - -theorem plus_n_Sm : \forall n,m:nat. S (n+m) = n+(S m). -intros.elim n. -simplify.reflexivity. -simplify.apply eq_f.assumption. -qed. - -theorem sym_plus: \forall n,m:nat. n+m = m+n. -intros.elim n. -simplify.apply plus_n_O. -simplify.rewrite > H.apply plus_n_Sm. -qed. - -theorem associative_plus : associative nat plus. -unfold associative.intros.elim x. -simplify.reflexivity. -simplify.apply eq_f.assumption. -qed. - -theorem assoc_plus : \forall n,m,p:nat. (n+m)+p = n+(m+p) -\def associative_plus. - -theorem injective_plus_r: \forall n:nat.injective nat nat (\lambda m.n+m). -intro.simplify.intros 2.elim n. -exact H. -apply H.apply inj_S.apply H1. -qed. - -theorem inj_plus_r: \forall p,n,m:nat. p+n = p+m \to n=m -\def injective_plus_r. - -theorem injective_plus_l: \forall m:nat.injective nat nat (\lambda n.n+m). -intro.simplify.intros. -apply (injective_plus_r m). -rewrite < sym_plus. -rewrite < (sym_plus y). -assumption. -qed. - -theorem inj_plus_l: \forall p,n,m:nat. n+p = m+p \to n=m -\def injective_plus_l. diff --git a/helm/matita/library/nat/primes.ma b/helm/matita/library/nat/primes.ma deleted file mode 100644 index 50b7d1221..000000000 --- a/helm/matita/library/nat/primes.ma +++ /dev/null @@ -1,591 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / Matita is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/primes". - -include "nat/div_and_mod.ma". -include "nat/minimization.ma". -include "nat/sigma_and_pi.ma". -include "nat/factorial.ma". - -inductive divides (n,m:nat) : Prop \def -witness : \forall p:nat.m = times n p \to divides n m. - -interpretation "divides" 'divides n m = (cic:/matita/nat/primes/divides.ind#xpointer(1/1) n m). -interpretation "not divides" 'ndivides n m = - (cic:/matita/logic/connectives/Not.con (cic:/matita/nat/primes/divides.ind#xpointer(1/1) n m)). - -theorem reflexive_divides : reflexive nat divides. -unfold reflexive. -intros. -exact (witness x x (S O) (times_n_SO x)). -qed. - -theorem divides_to_div_mod_spec : -\forall n,m. O < n \to n \divides m \to div_mod_spec m n (m / n) O. -intros.elim H1.rewrite > H2. -constructor 1.assumption. -apply (lt_O_n_elim n H).intros. -rewrite < plus_n_O. -rewrite > div_times.apply sym_times. -qed. - -theorem div_mod_spec_to_divides : -\forall n,m,p. div_mod_spec m n p O \to n \divides m. -intros.elim H. -apply (witness n m p). -rewrite < sym_times. -rewrite > (plus_n_O (p*n)).assumption. -qed. - -theorem divides_to_mod_O: -\forall n,m. O < n \to n \divides m \to (m \mod n) = O. -intros.apply (div_mod_spec_to_eq2 m n (m / n) (m \mod n) (m / n) O). -apply div_mod_spec_div_mod.assumption. -apply divides_to_div_mod_spec.assumption.assumption. -qed. - -theorem mod_O_to_divides: -\forall n,m. O< n \to (m \mod n) = O \to n \divides m. -intros. -apply (witness n m (m / n)). -rewrite > (plus_n_O (n * (m / n))). -rewrite < H1. -rewrite < sym_times. -(* Andrea: perche' hint non lo trova ?*) -apply div_mod. -assumption. -qed. - -theorem divides_n_O: \forall n:nat. n \divides O. -intro. apply (witness n O O).apply times_n_O. -qed. - -theorem divides_n_n: \forall n:nat. n \divides n. -intro. apply (witness n n (S O)).apply times_n_SO. -qed. - -theorem divides_SO_n: \forall n:nat. (S O) \divides n. -intro. apply (witness (S O) n n). simplify.apply plus_n_O. -qed. - -theorem divides_plus: \forall n,p,q:nat. -n \divides p \to n \divides q \to n \divides p+q. -intros. -elim H.elim H1. apply (witness n (p+q) (n2+n1)). -rewrite > H2.rewrite > H3.apply sym_eq.apply distr_times_plus. -qed. - -theorem divides_minus: \forall n,p,q:nat. -divides n p \to divides n q \to divides n (p-q). -intros. -elim H.elim H1. apply (witness n (p-q) (n2-n1)). -rewrite > H2.rewrite > H3.apply sym_eq.apply distr_times_minus. -qed. - -theorem divides_times: \forall n,m,p,q:nat. -n \divides p \to m \divides q \to n*m \divides p*q. -intros. -elim H.elim H1. apply (witness (n*m) (p*q) (n2*n1)). -rewrite > H2.rewrite > H3. -apply (trans_eq nat ? (n*(m*(n2*n1)))). -apply (trans_eq nat ? (n*(n2*(m*n1)))). -apply assoc_times. -apply eq_f. -apply (trans_eq nat ? ((n2*m)*n1)). -apply sym_eq. apply assoc_times. -rewrite > (sym_times n2 m).apply assoc_times. -apply sym_eq. apply assoc_times. -qed. - -theorem transitive_divides: transitive ? divides. -unfold. -intros. -elim H.elim H1. apply (witness x z (n2*n)). -rewrite > H3.rewrite > H2. -apply assoc_times. -qed. - -variant trans_divides: \forall n,m,p. - n \divides m \to m \divides p \to n \divides p \def transitive_divides. - -theorem eq_mod_to_divides:\forall n,m,p. O< p \to -mod n p = mod m p \to divides p (n-m). -intros. -cut (n \le m \or \not n \le m). -elim Hcut. -cut (n-m=O). -rewrite > Hcut1. -apply (witness p O O). -apply times_n_O. -apply eq_minus_n_m_O. -assumption. -apply (witness p (n-m) ((div n p)-(div m p))). -rewrite > distr_times_minus. -rewrite > sym_times. -rewrite > (sym_times p). -cut ((div n p)*p = n - (mod n p)). -rewrite > Hcut1. -rewrite > eq_minus_minus_minus_plus. -rewrite > sym_plus. -rewrite > H1. -rewrite < div_mod.reflexivity. -assumption. -apply sym_eq. -apply plus_to_minus. -rewrite > sym_plus. -apply div_mod. -assumption. -apply (decidable_le n m). -qed. - -theorem antisymmetric_divides: antisymmetric nat divides. -unfold antisymmetric.intros.elim H. elim H1. -apply (nat_case1 n2).intro. -rewrite > H3.rewrite > H2.rewrite > H4. -rewrite < times_n_O.reflexivity. -intros. -apply (nat_case1 n).intro. -rewrite > H2.rewrite > H3.rewrite > H5. -rewrite < times_n_O.reflexivity. -intros. -apply antisymmetric_le. -rewrite > H2.rewrite > times_n_SO in \vdash (? % ?). -apply le_times_r.rewrite > H4.apply le_S_S.apply le_O_n. -rewrite > H3.rewrite > times_n_SO in \vdash (? % ?). -apply le_times_r.rewrite > H5.apply le_S_S.apply le_O_n. -qed. - -(* divides le *) -theorem divides_to_le : \forall n,m. O < m \to n \divides m \to n \le m. -intros. elim H1.rewrite > H2.cut (O < n2). -apply (lt_O_n_elim n2 Hcut).intro.rewrite < sym_times. -simplify.rewrite < sym_plus. -apply le_plus_n. -elim (le_to_or_lt_eq O n2). -assumption. -absurd (O H2.rewrite < H3.rewrite < times_n_O. -apply (not_le_Sn_n O). -apply le_O_n. -qed. - -theorem divides_to_lt_O : \forall n,m. O < m \to n \divides m \to O < n. -intros.elim H1. -elim (le_to_or_lt_eq O n (le_O_n n)). -assumption. -rewrite < H3.absurd (O < m).assumption. -rewrite > H2.rewrite < H3. -simplify.exact (not_le_Sn_n O). -qed. - -(* boolean divides *) -definition divides_b : nat \to nat \to bool \def -\lambda n,m :nat. (eqb (m \mod n) O). - -theorem divides_b_to_Prop : -\forall n,m:nat. O < n \to -match divides_b n m with -[ true \Rightarrow n \divides m -| false \Rightarrow n \ndivides m]. -intros. -change with -match eqb (m \mod n) O with -[ true \Rightarrow n \divides m -| false \Rightarrow n \ndivides m]. -apply eqb_elim. -intro.simplify.apply mod_O_to_divides.assumption.assumption. -intro.simplify.unfold Not.intro.apply H1.apply divides_to_mod_O.assumption.assumption. -qed. - -theorem divides_b_true_to_divides : -\forall n,m:nat. O < n \to -(divides_b n m = true ) \to n \divides m. -intros. -change with -match true with -[ true \Rightarrow n \divides m -| false \Rightarrow n \ndivides m]. -rewrite < H1.apply divides_b_to_Prop. -assumption. -qed. - -theorem divides_b_false_to_not_divides : -\forall n,m:nat. O < n \to -(divides_b n m = false ) \to n \ndivides m. -intros. -change with -match false with -[ true \Rightarrow n \divides m -| false \Rightarrow n \ndivides m]. -rewrite < H1.apply divides_b_to_Prop. -assumption. -qed. - -theorem decidable_divides: \forall n,m:nat.O < n \to -decidable (n \divides m). -intros.change with ((n \divides m) \lor n \ndivides m). -cut -(match divides_b n m with -[ true \Rightarrow n \divides m -| false \Rightarrow n \ndivides m] \to n \divides m \lor n \ndivides m). -apply Hcut.apply divides_b_to_Prop.assumption. -elim (divides_b n m).left.apply H1.right.apply H1. -qed. - -theorem divides_to_divides_b_true : \forall n,m:nat. O < n \to -n \divides m \to divides_b n m = true. -intros. -cut (match (divides_b n m) with -[ true \Rightarrow n \divides m -| false \Rightarrow n \ndivides m] \to ((divides_b n m) = true)). -apply Hcut.apply divides_b_to_Prop.assumption. -elim (divides_b n m).reflexivity. -absurd (n \divides m).assumption.assumption. -qed. - -theorem not_divides_to_divides_b_false: \forall n,m:nat. O < n \to -\lnot(n \divides m) \to (divides_b n m) = false. -intros. -cut (match (divides_b n m) with -[ true \Rightarrow n \divides m -| false \Rightarrow n \ndivides m] \to ((divides_b n m) = false)). -apply Hcut.apply divides_b_to_Prop.assumption. -elim (divides_b n m). -absurd (n \divides m).assumption.assumption. -reflexivity. -qed. - -(* divides and pi *) -theorem divides_f_pi_f : \forall f:nat \to nat.\forall n,m,i:nat. -m \le i \to i \le n+m \to f i \divides pi n f m. -intros 5.elim n.simplify. -cut (i = m).rewrite < Hcut.apply divides_n_n. -apply antisymmetric_le.assumption.assumption. -simplify. -cut (i < S n1+m \lor i = S n1 + m). -elim Hcut. -apply (transitive_divides ? (pi n1 f m)). -apply H1.apply le_S_S_to_le. assumption. -apply (witness ? ? (f (S n1+m))).apply sym_times. -rewrite > H3. -apply (witness ? ? (pi n1 f m)).reflexivity. -apply le_to_or_lt_eq.assumption. -qed. - -(* -theorem mod_S_pi: \forall f:nat \to nat.\forall n,i:nat. -i < n \to (S O) < (f i) \to (S (pi n f)) \mod (f i) = (S O). -intros.cut (pi n f) \mod (f i) = O. -rewrite < Hcut. -apply mod_S.apply trans_lt O (S O).apply le_n (S O).assumption. -rewrite > Hcut.assumption. -apply divides_to_mod_O.apply trans_lt O (S O).apply le_n (S O).assumption. -apply divides_f_pi_f.assumption. -qed. -*) - -(* divides and fact *) -theorem divides_fact : \forall n,i:nat. -O < i \to i \le n \to i \divides n!. -intros 3.elim n.absurd (O H3. -apply (witness ? ? n1!).reflexivity. -qed. - -theorem mod_S_fact: \forall n,i:nat. -(S O) < i \to i \le n \to (S n!) \mod i = (S O). -intros.cut (n! \mod i = O). -rewrite < Hcut. -apply mod_S.apply (trans_lt O (S O)).apply (le_n (S O)).assumption. -rewrite > Hcut.assumption. -apply divides_to_mod_O.apply (trans_lt O (S O)).apply (le_n (S O)).assumption. -apply divides_fact.apply (trans_lt O (S O)).apply (le_n (S O)).assumption. -assumption. -qed. - -theorem not_divides_S_fact: \forall n,i:nat. -(S O) < i \to i \le n \to i \ndivides S n!. -intros. -apply divides_b_false_to_not_divides. -apply (trans_lt O (S O)).apply (le_n (S O)).assumption. -change with ((eqb ((S n!) \mod i) O) = false). -rewrite > mod_S_fact.simplify.reflexivity. -assumption.assumption. -qed. - -(* prime *) -definition prime : nat \to Prop \def -\lambda n:nat. (S O) < n \land -(\forall m:nat. m \divides n \to (S O) < m \to m = n). - -theorem not_prime_O: \lnot (prime O). -unfold Not.unfold prime.intro.elim H.apply (not_le_Sn_O (S O) H1). -qed. - -theorem not_prime_SO: \lnot (prime (S O)). -unfold Not.unfold prime.intro.elim H.apply (not_le_Sn_n (S O) H1). -qed. - -(* smallest factor *) -definition smallest_factor : nat \to nat \def -\lambda n:nat. -match n with -[ O \Rightarrow O -| (S p) \Rightarrow - match p with - [ O \Rightarrow (S O) - | (S q) \Rightarrow min_aux q (S(S q)) (\lambda m.(eqb ((S(S q)) \mod m) O))]]. - -(* it works ! -theorem example1 : smallest_prime_factor (S(S(S O))) = (S(S(S O))). -normalize.reflexivity. -qed. - -theorem example2: smallest_prime_factor (S(S(S(S O)))) = (S(S O)). -normalize.reflexivity. -qed. - -theorem example3 : smallest_prime_factor (S(S(S(S(S(S(S O))))))) = (S(S(S(S(S(S(S O))))))). -simplify.reflexivity. -qed. *) - -theorem lt_SO_smallest_factor: -\forall n:nat. (S O) < n \to (S O) < (smallest_factor n). -intro. -apply (nat_case n).intro.apply False_ind.apply (not_le_Sn_O (S O) H). -intro.apply (nat_case m).intro. apply False_ind.apply (not_le_Sn_n (S O) H). -intros. -change with -(S O < min_aux m1 (S(S m1)) (\lambda m.(eqb ((S(S m1)) \mod m) O))). -apply (lt_to_le_to_lt ? (S (S O))). -apply (le_n (S(S O))). -cut ((S(S O)) = (S(S m1)) - m1). -rewrite > Hcut. -apply le_min_aux. -apply sym_eq.apply plus_to_minus. -rewrite < sym_plus.simplify.reflexivity. -qed. - -theorem lt_O_smallest_factor: \forall n:nat. O < n \to O < (smallest_factor n). -intro. -apply (nat_case n).intro.apply False_ind.apply (not_le_Sn_n O H). -intro.apply (nat_case m).intro. -simplify.unfold lt.apply le_n. -intros.apply (trans_lt ? (S O)). -unfold lt.apply le_n. -apply lt_SO_smallest_factor.unfold lt. apply le_S_S. -apply le_S_S.apply le_O_n. -qed. - -theorem divides_smallest_factor_n : -\forall n:nat. O < n \to smallest_factor n \divides n. -intro. -apply (nat_case n).intro.apply False_ind.apply (not_le_Sn_O O H). -intro.apply (nat_case m).intro. simplify. -apply (witness ? ? (S O)). simplify.reflexivity. -intros. -apply divides_b_true_to_divides. -apply (lt_O_smallest_factor ? H). -change with -(eqb ((S(S m1)) \mod (min_aux m1 (S(S m1)) - (\lambda m.(eqb ((S(S m1)) \mod m) O)))) O = true). -apply f_min_aux_true. -apply (ex_intro nat ? (S(S m1))). -split.split. -apply le_minus_m.apply le_n. -rewrite > mod_n_n.reflexivity. -apply (trans_lt ? (S O)).apply (le_n (S O)).unfold lt. -apply le_S_S.apply le_S_S.apply le_O_n. -qed. - -theorem le_smallest_factor_n : -\forall n:nat. smallest_factor n \le n. -intro.apply (nat_case n).simplify.reflexivity. -intro.apply (nat_case m).simplify.reflexivity. -intro.apply divides_to_le. -unfold lt.apply le_S_S.apply le_O_n. -apply divides_smallest_factor_n. -unfold lt.apply le_S_S.apply le_O_n. -qed. - -theorem lt_smallest_factor_to_not_divides: \forall n,i:nat. -(S O) < n \to (S O) < i \to i < (smallest_factor n) \to i \ndivides n. -intros 2. -apply (nat_case n).intro.apply False_ind.apply (not_le_Sn_O (S O) H). -intro.apply (nat_case m).intro. apply False_ind.apply (not_le_Sn_n (S O) H). -intros. -apply divides_b_false_to_not_divides. -apply (trans_lt O (S O)).apply (le_n (S O)).assumption. -change with ((eqb ((S(S m1)) \mod i) O) = false). -apply (lt_min_aux_to_false -(\lambda i:nat.eqb ((S(S m1)) \mod i) O) (S(S m1)) m1 i). -cut ((S(S O)) = (S(S m1)-m1)). -rewrite < Hcut.exact H1. -apply sym_eq. apply plus_to_minus. -rewrite < sym_plus.simplify.reflexivity. -exact H2. -qed. - -theorem prime_smallest_factor_n : -\forall n:nat. (S O) < n \to prime (smallest_factor n). -intro. change with ((S(S O)) \le n \to (S O) < (smallest_factor n) \land -(\forall m:nat. m \divides smallest_factor n \to (S O) < m \to m = (smallest_factor n))). -intro.split. -apply lt_SO_smallest_factor.assumption. -intros. -cut (le m (smallest_factor n)). -elim (le_to_or_lt_eq m (smallest_factor n) Hcut). -absurd (m \divides n). -apply (transitive_divides m (smallest_factor n)). -assumption. -apply divides_smallest_factor_n. -apply (trans_lt ? (S O)). unfold lt. apply le_n. exact H. -apply lt_smallest_factor_to_not_divides. -exact H.assumption.assumption.assumption. -apply divides_to_le. -apply (trans_lt O (S O)). -apply (le_n (S O)). -apply lt_SO_smallest_factor. -exact H. -assumption. -qed. - -theorem prime_to_smallest_factor: \forall n. prime n \to -smallest_factor n = n. -intro.apply (nat_case n).intro.apply False_ind.apply (not_prime_O H). -intro.apply (nat_case m).intro.apply False_ind.apply (not_prime_SO H). -intro. -change with -((S O) < (S(S m1)) \land -(\forall m:nat. m \divides S(S m1) \to (S O) < m \to m = (S(S m1))) \to -smallest_factor (S(S m1)) = (S(S m1))). -intro.elim H.apply H2. -apply divides_smallest_factor_n. -apply (trans_lt ? (S O)).unfold lt. apply le_n.assumption. -apply lt_SO_smallest_factor. -assumption. -qed. - -(* a number n > O is prime iff its smallest factor is n *) -definition primeb \def \lambda n:nat. -match n with -[ O \Rightarrow false -| (S p) \Rightarrow - match p with - [ O \Rightarrow false - | (S q) \Rightarrow eqb (smallest_factor (S(S q))) (S(S q))]]. - -(* it works! -theorem example4 : primeb (S(S(S O))) = true. -normalize.reflexivity. -qed. - -theorem example5 : primeb (S(S(S(S(S(S O)))))) = false. -normalize.reflexivity. -qed. - -theorem example6 : primeb (S(S(S(S((S(S(S(S(S(S(S O)))))))))))) = true. -normalize.reflexivity. -qed. - -theorem example7 : primeb (S(S(S(S(S(S((S(S(S(S((S(S(S(S(S(S(S O))))))))))))))))))) = true. -normalize.reflexivity. -qed. *) - -theorem primeb_to_Prop: \forall n. -match primeb n with -[ true \Rightarrow prime n -| false \Rightarrow \lnot (prime n)]. -intro. -apply (nat_case n).simplify.unfold Not.unfold prime.intro.elim H.apply (not_le_Sn_O (S O) H1). -intro.apply (nat_case m).simplify.unfold Not.unfold prime.intro.elim H.apply (not_le_Sn_n (S O) H1). -intro. -change with -match eqb (smallest_factor (S(S m1))) (S(S m1)) with -[ true \Rightarrow prime (S(S m1)) -| false \Rightarrow \lnot (prime (S(S m1)))]. -apply (eqb_elim (smallest_factor (S(S m1))) (S(S m1))). -intro.change with (prime (S(S m1))). -rewrite < H. -apply prime_smallest_factor_n. -unfold lt.apply le_S_S.apply le_S_S.apply le_O_n. -intro.change with (\lnot (prime (S(S m1)))). -change with (prime (S(S m1)) \to False). -intro.apply H. -apply prime_to_smallest_factor. -assumption. -qed. - -theorem primeb_true_to_prime : \forall n:nat. -primeb n = true \to prime n. -intros.change with -match true with -[ true \Rightarrow prime n -| false \Rightarrow \lnot (prime n)]. -rewrite < H. -apply primeb_to_Prop. -qed. - -theorem primeb_false_to_not_prime : \forall n:nat. -primeb n = false \to \lnot (prime n). -intros.change with -match false with -[ true \Rightarrow prime n -| false \Rightarrow \lnot (prime n)]. -rewrite < H. -apply primeb_to_Prop. -qed. - -theorem decidable_prime : \forall n:nat.decidable (prime n). -intro.change with ((prime n) \lor \lnot (prime n)). -cut -(match primeb n with -[ true \Rightarrow prime n -| false \Rightarrow \lnot (prime n)] \to (prime n) \lor \lnot (prime n)). -apply Hcut.apply primeb_to_Prop. -elim (primeb n).left.apply H.right.apply H. -qed. - -theorem prime_to_primeb_true: \forall n:nat. -prime n \to primeb n = true. -intros. -cut (match (primeb n) with -[ true \Rightarrow prime n -| false \Rightarrow \lnot (prime n)] \to ((primeb n) = true)). -apply Hcut.apply primeb_to_Prop. -elim (primeb n).reflexivity. -absurd (prime n).assumption.assumption. -qed. - -theorem not_prime_to_primeb_false: \forall n:nat. -\lnot(prime n) \to primeb n = false. -intros. -cut (match (primeb n) with -[ true \Rightarrow prime n -| false \Rightarrow \lnot (prime n)] \to ((primeb n) = false)). -apply Hcut.apply primeb_to_Prop. -elim (primeb n). -absurd (prime n).assumption.assumption. -reflexivity. -qed. - diff --git a/helm/matita/library/nat/primes1.ma b/helm/matita/library/nat/primes1.ma deleted file mode 100644 index 3ec61ee4a..000000000 --- a/helm/matita/library/nat/primes1.ma +++ /dev/null @@ -1,38 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / Matita is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/primes1". - -include "datatypes/constructors.ma". -include "nat/primes.ma". - -(* p is just an upper bound, acc is an accumulator *) -let rec n_divides_aux p n m acc \def - match n \mod m with - [ O \Rightarrow - match p with - [ O \Rightarrow pair nat nat acc n - | (S p) \Rightarrow n_divides_aux p (n / m) m (S acc)] - | (S a) \Rightarrow pair nat nat acc n]. - -(* n_divides n m = if m divides n q times, with remainder r *) -definition n_divides \def \lambda n,m:nat.n_divides_aux n n m O. - -(* -theorem n_divides_to_Prop: \forall n,m,p,a. - match n_divides_aux p n m a with - [ (pair q r) \Rightarrow n = m \sup a *r]. -intros. -apply nat_case (n \mod m). *) - diff --git a/helm/matita/library/nat/relevant_equations.ma b/helm/matita/library/nat/relevant_equations.ma deleted file mode 100644 index f4cf43775..000000000 --- a/helm/matita/library/nat/relevant_equations.ma +++ /dev/null @@ -1,50 +0,0 @@ -(**************************************************************************) -(* __ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/relevant_equations.ma". - -include "nat/times.ma". -include "nat/minus.ma". - -theorem times_plus_l: \forall n,m,p:nat. (n+m)*p = n*p + m*p. -intros. -apply (trans_eq ? ? (p*(n+m))). -apply sym_times. -apply (trans_eq ? ? (p*n+p*m)). -apply distr_times_plus. -apply eq_f2. -apply sym_times. -apply sym_times. -qed. - -theorem times_minus_l: \forall n,m,p:nat. (n-m)*p = n*p - m*p. -intros. -apply (trans_eq ? ? (p*(n-m))). -apply sym_times. -apply (trans_eq ? ? (p*n-p*m)). -apply distr_times_minus. -apply eq_f2. -apply sym_times. -apply sym_times. -qed. - -theorem times_plus_plus: \forall n,m,p,q:nat. (n + m)*(p + q) = -n*p + n*q + m*p + m*q. -intros. -apply (trans_eq nat ? ((n*(p+q) + m*(p+q)))). -apply times_plus_l. -rewrite > distr_times_plus. -rewrite > distr_times_plus. -rewrite < assoc_plus.reflexivity. -qed. diff --git a/helm/matita/library/nat/sigma_and_pi.ma b/helm/matita/library/nat/sigma_and_pi.ma deleted file mode 100644 index 4f5f6cba0..000000000 --- a/helm/matita/library/nat/sigma_and_pi.ma +++ /dev/null @@ -1,79 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / Matita is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/sigma_and_pi". - -include "nat/factorial.ma". -include "nat/lt_arith.ma". -include "nat/exp.ma". - -let rec sigma n f m \def - match n with - [ O \Rightarrow (f m) - | (S p) \Rightarrow (f (S p+m))+(sigma p f m)]. - -let rec pi n f m \def - match n with - [ O \Rightarrow f m - | (S p) \Rightarrow (f (S p+m))*(pi p f m)]. - -theorem eq_sigma: \forall f,g:nat \to nat. -\forall n,m:nat. -(\forall i:nat. m \le i \to i \le m+n \to f i = g i) \to -(sigma n f m) = (sigma n g m). -intros 3.elim n. -simplify.apply H.apply le_n.rewrite < plus_n_O.apply le_n. -simplify. -apply eq_f2.apply H1. -change with (m \le (S n1)+m).apply le_plus_n. -rewrite > (sym_plus m).apply le_n. -apply H.intros.apply H1.assumption. -rewrite < plus_n_Sm. -apply le_S.assumption. -qed. - -theorem eq_pi: \forall f,g:nat \to nat. -\forall n,m:nat. -(\forall i:nat. m \le i \to i \le m+n \to f i = g i) \to -(pi n f m) = (pi n g m). -intros 3.elim n. -simplify.apply H.apply le_n.rewrite < plus_n_O.apply le_n. -simplify. -apply eq_f2.apply H1. -change with (m \le (S n1)+m).apply le_plus_n. -rewrite > (sym_plus m).apply le_n. -apply H.intros.apply H1.assumption. -rewrite < plus_n_Sm. -apply le_S.assumption. -qed. - -theorem eq_fact_pi: \forall n. (S n)! = pi n (\lambda m.m) (S O). -intro.elim n. -simplify.reflexivity. -change with ((S(S n1))*(S n1)! = ((S n1)+(S O))*(pi n1 (\lambda m.m) (S O))). -rewrite < plus_n_Sm.rewrite < plus_n_O. -apply eq_f.assumption. -qed. - -theorem exp_pi_l: \forall f:nat\to nat.\forall n,m,a:nat. -(exp a (S n))*pi n f m= pi n (\lambda p.a*(f p)) m. -intros.elim n.simplify.rewrite < times_n_SO.reflexivity. -simplify. -rewrite < H. -rewrite > assoc_times. -rewrite > assoc_times in\vdash (? ? ? %). -apply eq_f.rewrite < assoc_times. -rewrite < assoc_times. -apply eq_f2.apply sym_times.reflexivity. -qed. diff --git a/helm/matita/library/nat/times.ma b/helm/matita/library/nat/times.ma deleted file mode 100644 index 2ae5ffd74..000000000 --- a/helm/matita/library/nat/times.ma +++ /dev/null @@ -1,87 +0,0 @@ -(**************************************************************************) -(* __ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/times". - -include "nat/plus.ma". - -let rec times n m \def - match n with - [ O \Rightarrow O - | (S p) \Rightarrow m+(times p m) ]. - -(*CSC: the URI must disappear: there is a bug now *) -interpretation "natural times" 'times x y = (cic:/matita/nat/times/times.con x y). - -theorem times_n_O: \forall n:nat. O = n*O. -intros.elim n. -simplify.reflexivity. -simplify.assumption. -qed. - -theorem times_n_Sm : -\forall n,m:nat. n+(n*m) = n*(S m). -intros.elim n. -simplify.reflexivity. -simplify.apply eq_f.rewrite < H. -transitivity ((n1+m)+n1*m).symmetry.apply assoc_plus. -transitivity ((m+n1)+n1*m). -apply eq_f2. -apply sym_plus. -reflexivity. -apply assoc_plus. -qed. - -theorem times_n_SO : \forall n:nat. n = n * S O. -intros. -rewrite < times_n_Sm. -rewrite < times_n_O. -rewrite < plus_n_O. -reflexivity. -qed. - -theorem symmetric_times : symmetric nat times. -unfold symmetric. -intros.elim x. -simplify.apply times_n_O. -simplify.rewrite > H.apply times_n_Sm. -qed. - -variant sym_times : \forall n,m:nat. n*m = m*n \def -symmetric_times. - -theorem distributive_times_plus : distributive nat times plus. -unfold distributive. -intros.elim x. -simplify.reflexivity. -simplify.rewrite > H. rewrite > assoc_plus.rewrite > assoc_plus. -apply eq_f.rewrite < assoc_plus. rewrite < (sym_plus ? z). -rewrite > assoc_plus.reflexivity. -qed. - -variant distr_times_plus: \forall n,m,p:nat. n*(m+p) = n*m + n*p -\def distributive_times_plus. - -theorem associative_times: associative nat times. -unfold associative.intros. -elim x.simplify.apply refl_eq. -simplify.rewrite < sym_times. -rewrite > distr_times_plus. -rewrite < sym_times. -rewrite < (sym_times (times n y) z). -rewrite < H.apply refl_eq. -qed. - -variant assoc_times: \forall n,m,p:nat. (n*m)*p = n*(m*p) \def -associative_times. diff --git a/helm/matita/library/nat/totient.ma b/helm/matita/library/nat/totient.ma deleted file mode 100644 index 24c3920ed..000000000 --- a/helm/matita/library/nat/totient.ma +++ /dev/null @@ -1,102 +0,0 @@ -(**************************************************************************) -(* __ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| A.Asperti, C.Sacerdoti Coen, *) -(* ||A|| E.Tassi, S.Zacchiroli *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU Lesser General Public License Version 2.1 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/nat/totient". - -include "nat/count.ma". -include "nat/chinese_reminder.ma". - -definition totient : nat \to nat \def -\lambda n. count n (\lambda m. eqb (gcd m n) (S O)). - -theorem totient3: totient (S(S(S O))) = (S(S O)). -reflexivity. -qed. - -theorem totient6: totient (S(S(S(S(S(S O)))))) = (S(S O)). -reflexivity. -qed. - -theorem totient_times: \forall n,m:nat. (gcd m n) = (S O) \to -totient (n*m) = (totient n)*(totient m). -intro. -apply (nat_case n). -intro.simplify.intro.reflexivity. -intros 2.apply (nat_case m1). -rewrite < sym_times. -rewrite < (sym_times (totient O)). -simplify.intro.reflexivity. -intros. -unfold totient. -apply (count_times m m2 ? ? ? -(\lambda b,a. cr_pair (S m) (S m2) a b) (\lambda x. x \mod (S m)) (\lambda x. x \mod (S m2))). -intros.unfold cr_pair. -apply (le_to_lt_to_lt ? (pred ((S m)*(S m2)))). -unfold min. -apply le_min_aux_r. -change with ((S (pred ((S m)*(S m2)))) \le ((S m)*(S m2))). -apply (nat_case ((S m)*(S m2))).apply le_n. -intro.apply le_n. -intros. -generalize in match (mod_cr_pair (S m) (S m2) a b H1 H2 H). -intro.elim H3. -apply H4. -intros. -generalize in match (mod_cr_pair (S m) (S m2) a b H1 H2 H). -intro.elim H3. -apply H5. -intros. -generalize in match (mod_cr_pair (S m) (S m2) a b H1 H2 H). -intro.elim H3. -apply eqb_elim. -intro. -rewrite > eq_to_eqb_true. -rewrite > eq_to_eqb_true. -reflexivity. -rewrite < H4. -rewrite > sym_gcd. -rewrite > gcd_mod. -apply (gcd_times_SO_to_gcd_SO ? ? (S m2)). -unfold lt.apply le_S_S.apply le_O_n. -unfold lt.apply le_S_S.apply le_O_n. -assumption. -unfold lt.apply le_S_S.apply le_O_n. -rewrite < H5. -rewrite > sym_gcd. -rewrite > gcd_mod. -apply (gcd_times_SO_to_gcd_SO ? ? (S m)). -unfold lt.apply le_S_S.apply le_O_n. -unfold lt.apply le_S_S.apply le_O_n. -rewrite > sym_times. -assumption. -unfold lt.apply le_S_S.apply le_O_n. -intro. -apply eqb_elim. -intro.apply eqb_elim. -intro.apply False_ind. -apply H6. -apply eq_gcd_times_SO. -unfold lt.apply le_S_S.apply le_O_n. -unfold lt.apply le_S_S.apply le_O_n. -rewrite < gcd_mod. -rewrite > H4. -rewrite > sym_gcd.assumption. -unfold lt.apply le_S_S.apply le_O_n. -rewrite < gcd_mod. -rewrite > H5. -rewrite > sym_gcd.assumption. -unfold lt.apply le_S_S.apply le_O_n. -intro.reflexivity. -intro.reflexivity. -qed. \ No newline at end of file diff --git a/helm/matita/matita.conf.xml.sample.in b/helm/matita/matita.conf.xml.sample.in deleted file mode 100644 index b932b7ca9..000000000 --- a/helm/matita/matita.conf.xml.sample.in +++ /dev/null @@ -1,35 +0,0 @@ - - -

- ~ - - -
-
- true - true - cic:/matita/ - $(user.home)/.matita - $(user.name) - - false -
-
- - mowgli.cs.unibo.it - helm - matita -
-
- $(user.home)/.matita/getter/cache - /projects/helm/xml/dtd - - cic:/ - file:///projects/helm/library/coq_contribs/ - - - cic:/matita/ - file://$(user.home)/.matita/xml/matita/ - -
- diff --git a/helm/matita/matita.glade b/helm/matita/matita.glade deleted file mode 100644 index 6ddd786b9..000000000 --- a/helm/matita/matita.glade +++ /dev/null @@ -1,3944 +0,0 @@ - - - - - - - True - Cic browser - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_CENTER_ON_PARENT - False - 500 - 500 - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_NORMAL - GDK_GRAVITY_NORTH_WEST - True - - - - True - True - False - - - - True - False - 0 - - - - True - 0 - 0 - GTK_SHADOW_NONE - - - - True - False - 0 - - - - True - True - GTK_RELIEF_NONE - True - - - - True - gtk-new - 4 - 0.5 - 0.5 - 0 - 0 - - - - - 0 - False - False - - - - - - True - True - GTK_RELIEF_NONE - True - - - - True - gtk-go-back - 4 - 0.5 - 0.5 - 0 - 0 - - - - - 0 - False - False - - - - - - True - True - GTK_RELIEF_NONE - True - - - - True - gtk-go-forward - 4 - 0.5 - 0.5 - 0 - 0 - - - - - 0 - False - False - - - - - - True - refresh - True - True - GTK_RELIEF_NONE - True - - - - True - gtk-refresh - 4 - 0.5 - 0.5 - 0 - 0 - - - - - 0 - False - False - - - - - - True - home - True - True - GTK_RELIEF_NONE - True - - - - True - gtk-home - 4 - 0.5 - 0.5 - 0 - 0 - - - - - 0 - False - False - - - - - - True - gtk-jump-to - 2 - 0.5 - 0.5 - 0 - 0 - - - 3 - False - False - - - - - - True - False - 0 - - - - - - - 0 - True - True - - - - - - - 0 - False - True - - - - - - 3 - True - False - 6 - - - - True - 0.5 - 0.5 - 0 - 0 - - - 0 - False - True - - - - - - True - True - True - True - 0 - - True - * - False - - - 0 - True - True - - - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 0 - 0 - - - - - - - 0 - False - False - - - - - 0 - False - True - - - - - 0 - False - True - - - - - - True - True - True - True - GTK_POS_TOP - False - False - - - - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_NONE - GTK_CORNER_TOP_LEFT - - - - - - - False - True - - - - - - True - MathView - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - False - False - False - True - False - False - False - - - - - False - True - - - - - - True - WhelpResults - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - True - 0.5 - 0.5 - 0 - 0 - - - False - True - - - - - - True - WhelpEasterEgg - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - 0 - True - True - - - - - - - - - - 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 - - - - 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 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - - - 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 - - - - 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 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - - - - - - - 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 - True - GTK_RELIEF_NORMAL - True - - - - - - True - True - True - GTK_RELIEF_NORMAL - True - - - - - - 350 - 250 - title - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - True - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_DIALOG - GDK_GRAVITY_NORTH_WEST - True - 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 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - False - False - False - True - False - False - False - - - - - 0 - True - True - - - - - 0 - True - True - - - - - - - - Matita - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_NORMAL - GDK_GRAVITY_NORTH_WEST - True - - - - True - True - False - - - - True - False - 0 - - - - True - GTK_SHADOW_OUT - GTK_POS_LEFT - GTK_POS_TOP - - - - True - - - - True - _File - True - - - - - - - True - _New - True - - - - - True - gtk-new - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - 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 - _Developments... - True - - - - - True - gtk-execute - 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 - False - _Undo - True - - - - - True - gtk-undo - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - False - _Redo - True - - - - - True - gtk-redo - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - - - - - - True - Cu_t - True - - - - - True - gtk-cut - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - _Copy - True - - - - - True - gtk-copy - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - _Paste - True - - - - - True - gtk-paste - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - _Delete - True - - - - True - gtk-delete - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - - - - - - True - Select _All - True - - - - - - True - - - - - - True - _Find & Replace ... - True - - - - - True - gtk-find-and-replace - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - - - - - - True - Next ligature - True - - - - - - - True - Edit with E_xternal Editor - True - - - - - - - - - - True - _Script - True - - - - - - - True - Execute 1 phrase - True - - - - - - - True - Retract 1 phrase - True - - - - - - - True - - - - - - True - Execute all - True - - - - - - - True - Restart - True - - - - - - - True - - - - - - True - Execute until cursor - True - - - - - - - - - - - True - _View - True - - - - - - - True - Show _Tactics Bar - True - True - - - - - - - True - New Cic _Browser - True - - - - - - - True - - - - - - True - _Fullscreen - True - False - - - - - - - True - - - - - - True - Zoom _In - True - - - - - - True - gtk-zoom-in - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - Zoom _Out - True - - - - - - True - gtk-zoom-out - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - _Normal Size - True - - - - - True - gtk-zoom-100 - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - - - - - True - _Debug - True - - - - - - - True - - - - - - - - - - True - _Help - True - - - - - - - True - _About - True - - - - True - gtk-about - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - - - - - - 0 - False - False - - - - - - True - False - 0 - - - - True - True - - - - True - False - 0 - - - - True - GTK_SHADOW_OUT - GTK_POS_TOP - GTK_POS_TOP - - - - True - 17 - 2 - False - 4 - 0 - - - - True - Apply - True - apply - True - GTK_RELIEF_NORMAL - True - - - 1 - 2 - 0 - 1 - fill - - - - - - - True - Intros - True - intro - True - GTK_RELIEF_NORMAL - True - - - 0 - 1 - 0 - 1 - fill - - - - - - - True - Exact - True - exact - True - GTK_RELIEF_NORMAL - True - - - 0 - 1 - 2 - 3 - fill - - - - - - - True - Elim - True - elim - True - GTK_RELIEF_NORMAL - True - - - 0 - 1 - 4 - 5 - fill - - - - - - - True - Reflexivity - True - refl - True - GTK_RELIEF_NORMAL - True - - - 0 - 1 - 8 - 9 - fill - - - - - - - True - Symmetry - True - sym - True - GTK_RELIEF_NORMAL - True - - - 1 - 2 - 8 - 9 - fill - - - - - - - True - Transitivity - True - trans - True - GTK_RELIEF_NORMAL - True - - - 0 - 1 - 9 - 10 - fill - - - - - - - True - Simplify - True - simpl - True - GTK_RELIEF_NORMAL - True - - - 0 - 1 - 11 - 12 - fill - - - - - - - True - Reduce - True - red - True - GTK_RELIEF_NORMAL - True - - - 1 - 2 - 11 - 12 - fill - - - - - - - True - Whd - True - whd - True - GTK_RELIEF_NORMAL - True - - - 0 - 1 - 12 - 13 - fill - - - - - - - True - Assumption - True - assum - True - GTK_RELIEF_NORMAL - True - - - 0 - 1 - 14 - 15 - fill - - - - - - - True - Auto - True - auto - True - GTK_RELIEF_NORMAL - True - - - 1 - 2 - 14 - 15 - fill - - - - - - - True - Cut - True - cut - True - GTK_RELIEF_NORMAL - True - - - 0 - 1 - 16 - 17 - fill - - - - - - - True - Replace - True - repl - True - GTK_RELIEF_NORMAL - True - - - 1 - 2 - 16 - 17 - fill - - - - - - - True - ElimType - True - elimTy - True - GTK_RELIEF_NORMAL - True - - - 1 - 2 - 4 - 5 - fill - - - - - - - True - True - 0 - - - - True - Right - True - R - True - GTK_RELIEF_NORMAL - True - - - 0 - True - True - - - - - - True - Exists - True - ∃ - True - GTK_RELIEF_NORMAL - True - - - 0 - True - True - - - - - 1 - 2 - 6 - 7 - fill - fill - - - - - - True - True - 0 - - - - True - Split - True - ∧ - True - GTK_RELIEF_NORMAL - True - - - 0 - True - True - - - - - - True - Left - True - L - True - GTK_RELIEF_NORMAL - True - - - 0 - True - True - - - - - 0 - 1 - 6 - 7 - fill - fill - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 0 - 0 - - - - - - - 0 - 1 - 1 - 2 - fill - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 0 - 0 - - - - - - - 0 - 1 - 3 - 4 - fill - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 0 - 0 - - - - - - - 0 - 1 - 5 - 6 - fill - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 0 - 0 - - - - - - - 0 - 1 - 7 - 8 - fill - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 0 - 0 - - - - - - - 0 - 1 - 10 - 11 - fill - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 0 - 0 - - - - - - - 0 - 1 - 13 - 14 - fill - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 0 - 0 - - - - - - - 0 - 1 - 15 - 16 - fill - - - - - - - 0 - False - True - - - - - - 400 - True - False - 0 - - - - True - GTK_ORIENTATION_HORIZONTAL - GTK_TOOLBAR_BOTH - True - True - - - - True - True - True - False - - - - True - Restart - True - GTK_RELIEF_NONE - True - - - - True - gtk-goto-top - 4 - 0.5 - 0.5 - 0 - 0 - - - - - - - False - False - - - - - - True - True - True - False - - - - True - Retract 1 phrase - True - GTK_RELIEF_NONE - True - - - - True - gtk-go-up - 4 - 0.5 - 0.5 - 0 - 0 - - - - - - - False - False - - - - - - True - True - True - False - - - - True - Execute until point - True - GTK_RELIEF_NONE - True - - - - True - gtk-jump-to - 4 - 0.5 - 0.5 - 0 - 0 - - - - - - - False - False - - - - - - True - True - True - False - - - - True - Execute 1 phrase - True - GTK_RELIEF_NONE - True - - - - True - gtk-go-down - 4 - 0.5 - 0.5 - 0 - 0 - - - - - - - False - False - - - - - - True - True - True - False - - - - True - Execute all - True - GTK_RELIEF_NONE - True - - - - True - gtk-goto-bottom - 4 - 0.5 - 0.5 - 0 - 0 - - - - - - - False - False - - - - - 0 - False - False - - - - - - True - True - True - True - GTK_POS_BOTTOM - False - False - - - - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_NONE - GTK_CORNER_TOP_LEFT - - - - - - - False - True - - - - - - True - script - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_NONE - GTK_CORNER_TOP_LEFT - - - - True - True - False - False - False - True - False - False - False - - - - - False - True - - - - - - True - outline - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - 0 - True - True - - - - - 0 - True - True - - - - - True - False - - - - - - 250 - 500 - True - True - 380 - - - - True - True - True - True - GTK_POS_TOP - False - False - - - True - False - - - - - - True - False - 0 - - - - True - True - GTK_POLICY_NEVER - GTK_POLICY_ALWAYS - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - False - False - True - GTK_JUSTIFY_LEFT - GTK_WRAP_CHAR - False - 0 - 0 - 0 - 0 - 0 - 0 - - - - - - 0 - True - True - - - - - True - True - - - - - True - True - - - - - 0 - True - True - - - - - 0 - True - True - - - - - - True - False - 0 - - - - True - False - - - 0 - True - True - - - - - - True - False - True - GTK_POS_TOP - False - False - - - - True - 0.5 - 0.5 - 0 - 0 - - - False - True - - - - - - True - label14 - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - True - 0.5 - 0.5 - 0 - 0 - - - False - True - - - - - - True - label15 - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - True - 0.5 - 0.5 - 0 - 0 - - - False - True - - - - - - True - label16 - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - 0 - False - True - - - - - 0 - False - False - - - - - - - - - - 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 - - - - 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 - PANGO_ELLIPSIZE_NONE - -1 - False - 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 - - - - - - - - 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 - - - - True - False - 4 - - - - 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 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - - - - - - - True - False - True - True - Try Constants - True - GTK_RELIEF_NORMAL - True - 0 - - - - - - True - True - gtk-copy - 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 - bla bla bla - True - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - - - - - - 0 - False - True - GTK_PACK_END - - - - - - True - False - 3 - - - - True - some informative message here ... - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - 400 - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_NONE - GTK_CORNER_TOP_LEFT - - - - True - True - False - False - False - True - False - False - False - - - - - 0 - True - True - - - - - - True - False - 0 - - - - True - URI: - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - True - True - True - True - 0 - - True - * - False - - - 0 - True - True - - - - - 0 - False - True - - - - - 0 - True - True - - - - - - - - 5 - Find & Replace - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_MOUSE - False - False - False - True - False - False - GDK_WINDOW_TYPE_HINT_DIALOG - GDK_GRAVITY_NORTH_WEST - True - - - - True - 3 - 2 - False - 5 - 0 - - - - True - Find: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - fill - - - - - - - True - Replace with: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - fill - - - - - - - True - True - True - True - True - True - True - 0 - - True - * - False - - - 1 - 2 - 0 - 1 - - - - - - - True - True - True - True - 0 - - True - * - False - - - 1 - 2 - 1 - 2 - - - - - - - True - False - 5 - - - - True - False - 0 - - - - - - - - - - - 0 - True - True - - - - - - True - True - gtk-find - True - GTK_RELIEF_NORMAL - True - - - 0 - False - False - - - - - - True - True - GTK_RELIEF_NORMAL - True - - - - True - 0.5 - 0.5 - 0 - 0 - 0 - 0 - 0 - 0 - - - - True - False - 2 - - - - True - gtk-find-and-replace - 4 - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - True - _Replace - True - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - - - - 0 - False - False - - - - - - True - True - gtk-cancel - True - GTK_RELIEF_NORMAL - True - - - 0 - False - False - - - - - 0 - 2 - 2 - 3 - 5 - - - - - - - - Create development - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_CENTER_ALWAYS - True - False - False - True - False - False - GDK_WINDOW_TYPE_HINT_UTILITY - GDK_GRAVITY_NORTH_WEST - True - - - - True - False - 0 - - - - 3 - True - 2 - 3 - False - 5 - 5 - - - - True - Name - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - fill - - - - - - - True - Root directory - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - fill - - - - - - - True - True - True - True - 0 - - True - * - False - - - 1 - 2 - 0 - 1 - - - - - - - True - True - True - True - 0 - - True - * - False - - - 1 - 2 - 1 - 2 - - - - - - - True - True - ... - True - GTK_RELIEF_NORMAL - True - - - 2 - 3 - 1 - 2 - fill - - - - - - 0 - False - True - - - - - - True - - - 2 - False - True - - - - - - 3 - True - False - 5 - - - - True - False - 0 - - - - - - - - - - - 0 - True - True - - - - - - True - True - gtk-add - True - GTK_RELIEF_NORMAL - True - - - 0 - False - False - - - - - - True - True - gtk-cancel - True - GTK_RELIEF_NORMAL - True - - - 0 - False - False - - - - - 0 - False - True - - - - - - - - Developments - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_CENTER - False - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_NORMAL - GDK_GRAVITY_NORTH_WEST - True - - - - True - False - 0 - - - - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - False - False - False - True - False - False - False - - - - - 0 - True - True - - - - - - True - - - 2 - False - True - - - - - - 3 - True - False - 4 - - - - True - False - 0 - - - - - - - - - - - 0 - True - True - - - - - - True - True - gtk-new - True - GTK_RELIEF_NORMAL - True - - - 0 - False - False - - - - - - True - True - gtk-delete - True - GTK_RELIEF_NORMAL - True - - - 0 - False - False - - - - - - True - True - GTK_RELIEF_NORMAL - True - - - - True - 0.5 - 0.5 - 0 - 0 - 0 - 0 - 0 - 0 - - - - True - False - 2 - - - - True - gtk-execute - 4 - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - True - _Build - True - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - - - - 0 - False - False - - - - - - True - True - GTK_RELIEF_NORMAL - True - - - - True - 0.5 - 0.5 - 0 - 0 - 0 - 0 - 0 - 0 - - - - True - False - 2 - - - - True - gtk-clear - 4 - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - True - C_lean - True - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - - - - 0 - False - False - - - - - - True - True - gtk-close - True - GTK_RELIEF_NORMAL - True - - - 0 - False - False - - - - - 0 - False - True - - - - - - - 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.lang b/helm/matita/matita.lang deleted file mode 100644 index e99672a35..000000000 --- a/helm/matita/matita.lang +++ /dev/null @@ -1,184 +0,0 @@ - - - - - \ - - - \(\* - \*\) - - - - \(\*\* - \*\*\) - - - - theorem - definition - lemma - fact - remark - variant - - - - alias - and - as - coercion - coinductive - corec - default - for - include - inductive - in - interpretation - let - match - names - notation - on - qed - rec - record - return - to - using - with - - - - \[ - - - \| - - - \] - - - \{ - - - \} - - - @ - - - \$ - - - - Set - Prop - Type - - - - absurd - apply - assumption - auto - paramodulation - clear - clearbody - change - compare - constructor - contradiction - cut - decide equality - decompose - discriminate - elim - elimType - exact - exists - fail - fold - fourier - fwd - generalize - goal - id - injection - intro - intros - lapply - left - letin - normalize - reduce - reflexivity - replace - rewrite - ring - right - symmetry - simplify - split - to - transitivity - unfold - whd - - - - try - solve - do - repeat - first - - - - - print - check - hint - quit - set - - - - elim - hint - instance - locate - match - - - - def - forall - lambda - to - exists - Rightarrow - Assign - land - lor - subst - vdash - iforall - iexists - - - - " - " - - - diff --git a/helm/matita/matita.ma.templ b/helm/matita/matita.ma.templ deleted file mode 100644 index ec1bc8006..000000000 --- a/helm/matita/matita.ma.templ +++ /dev/null @@ -1,16 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/test/". - diff --git a/helm/matita/matita.ml b/helm/matita/matita.ml deleted file mode 100644 index 11ae70642..000000000 --- a/helm/matita/matita.ml +++ /dev/null @@ -1,208 +0,0 @@ -(* Copyright (C) 2004-2005, 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 - -(** {2 Initialization} *) - -let _ = MatitaInit.initialize_all () -let _ = Paramodulation.Saturation.init () (* ALB to link paramodulation *) - -(** {2 GUI callbacks} *) - -let gui = MatitaGui.instance () - -let script = - let s = - MatitaScript.script - ~source_view:gui#sourceView - ~init:(Lazy.force MatitaEngine.initial_status) - ~mathviewer:(MatitaMathView.mathViewer ()) - ~urichooser:(fun uris -> - try - MatitaGui.interactive_uri_choice ~selection_mode:`SINGLE - ~title:"Matita: URI chooser" - ~msg:"Select the URI" ~hide_uri_entry:true - ~hide_try:true ~ok_label:"_Apply" ~ok_action:`SELECT - ~copy_cb:(fun s -> gui#sourceView#buffer#insert ("\n"^s^"\n")) - () ~id:"boh?" uris - with MatitaTypes.Cancel -> []) - ~set_star:gui#setStar - ~ask_confirmation: - (fun ~title ~message -> - MatitaGtkMisc.ask_confirmation ~title ~message - ~parent:gui#main#toplevel ()) - ~develcreator:gui#createDevelopment - () - in - gui#sourceView#source_buffer#begin_not_undoable_action (); - s#reset (); - s#template (); - gui#sourceView#source_buffer#end_not_undoable_action (); - s - - (* math viewers *) -let _ = - let cic_math_view = MatitaMathView.cicMathView_instance () in - let sequents_viewer = MatitaMathView.sequentsViewer_instance () in - sequents_viewer#load_logo; - cic_math_view#set_href_callback - (Some (fun uri -> (MatitaMathView.cicBrowser ())#load - (`Uri (UriManager.uri_of_string uri)))); - let browser_observer _ = MatitaMathView.refresh_all_browsers () in - let sequents_observer status = - sequents_viewer#reset; - match status.proof_status with - | Incomplete_proof ({ stack = stack } as incomplete_proof) -> - sequents_viewer#load_sequents incomplete_proof; - (try - script#setGoal (Continuationals.Stack.find_goal stack); - sequents_viewer#goto_sequent script#goal - with Failure _ -> script#setGoal ~-1); - | Proof proof -> sequents_viewer#load_logo_with_qed - | No_proof -> sequents_viewer#load_logo - | Intermediate _ -> assert false (* only the engine may be in this state *) - in - script#addObserver sequents_observer; - script#addObserver browser_observer - - (** {{{ Debugging *) -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 "dump environment to \"env.dump\"" (fun _ -> - let oc = open_out "env.dump" in - CicEnvironment.dump_to_channel oc; - close_out oc); - addDebugItem "load environment from \"env.dump\"" (fun _ -> - let ic = open_in "env.dump" in - CicEnvironment.restore_from_channel ic; - close_in ic); - addDebugItem "dump universes" (fun _ -> - List.iter (fun (u,_,g) -> - prerr_endline (UriManager.string_of_uri u); - CicUniv.print_ugraph g) (CicEnvironment.list_obj ()) - ); - addDebugItem "dump environment content" (fun _ -> - List.iter (fun (u,_,_) -> - prerr_endline (UriManager.string_of_uri u)) - (CicEnvironment.list_obj ())); - addDebugItem "print selections" (fun () -> - let cicMathView = MatitaMathView.cicMathView_instance () in - List.iter MatitaLog.debug (cicMathView#string_of_selections)); - addDebugItem "dump script status" script#dump; - addDebugItem "dump configuration file to ./foo.conf.xml" (fun _ -> - Helm_registry.save_to "./foo.conf.xml"); - addDebugItem "dump metasenv" - (fun _ -> - if script#onGoingProof () then - MatitaLog.debug (CicMetaSubst.ppmetasenv [] script#proofMetasenv)); - addDebugItem "dump coercions Db" (fun _ -> - List.iter - (fun (s,t,u) -> - MatitaLog.debug - (UriManager.name_of_uri u ^ ":" - ^ CoercDb.name_of_carr s ^ " -> " ^ CoercDb.name_of_carr t)) - (CoercDb.to_list ())); - addDebugItem "print top-level grammar entries" - CicNotationParser.print_l2_pattern; - addDebugItem "dump moo to stderr" (fun _ -> - let status = (MatitaScript.current ())#status in - let moo, metadata = status.moo_content_rev in - List.iter (fun cmd -> prerr_endline - (GrafiteAstPp.pp_command cmd)) (List.rev moo); - List.iter (fun m -> prerr_endline - (GrafiteAstPp.pp_metadata m)) metadata); - addDebugItem "print metasenv goals and stack to stderr" - (fun _ -> - prerr_endline ("metasenv goals: " ^ String.concat " " - (List.map (fun (g, _, _) -> string_of_int g) - (MatitaScript.current ())#proofMetasenv)); - prerr_endline ("stack: " ^ Continuationals.Stack.pp - (MatitaTypes.get_stack (MatitaScript.current ())#status))); -(* addDebugItem "ask record choice" - (fun _ -> - MatitaLog.debug (string_of_int - (MatitaGtkMisc.ask_record_choice ~gui ~title:"title" ~message:"msg" - ~fields:["a"; "b"; "c"] - ~records:[ - ["0"; "0"; "0"]; ["0"; "0"; "1"]; ["0"; "1"; "0"]; ["0"; "1"; "1"]; - ["1"; "0"; "0"]; ["1"; "0"; "1"]; ["1"; "1"; "0"]; ["1"; "1"; "1"]] - ()))); *) - addDebugItem "rotate light bulbs" - (fun _ -> - let nb = gui#main#hintNotebook in - nb#goto_page ((nb#current_page + 1) mod 3)); - addDebugItem "print runtime dir" - (fun _ -> - prerr_endline BuildTimeConf.runtime_base_dir); - addDebugItem "disable all (pretty printing) notations" - (fun _ -> CicNotation.set_active_notations []); - addDebugItem "enable all (pretty printing) notations" - (fun _ -> - CicNotation.set_active_notations - (List.map fst (CicNotation.get_all_notations ()))); - end - (** Debugging }}} *) - - (** {2 Command line parsing} *) - -let set_matita_mode () = - let matita_mode = - if Filename.basename Sys.argv.(0) = "cicbrowser" - then "cicbrowser" - else "matita" - in - Helm_registry.set "matita.mode" matita_mode - - (** {2 Main} *) - -let _ = - set_matita_mode (); - at_exit (fun () -> print_endline "\nThanks for using Matita!\n"); - Sys.catch_break true; - let args = Helm_registry.get_list Helm_registry.string "matita.args" in - if Helm_registry.get "matita.mode" = "cicbrowser" then (* cicbrowser *) - let browser = MatitaMathView.cicBrowser () in - let uri = match args with [] -> "cic:/" | _ -> String.concat " " args in - browser#loadInput uri - else begin (* matita *) - (try gui#loadScript (List.hd args) with Failure _ -> ()); - gui#main#mainWin#show (); - end; - try - GtkThread.main () - with Sys.Break -> () - -(* vim:set foldmethod=marker: *) diff --git a/helm/matita/matita.txt b/helm/matita/matita.txt deleted file mode 100644 index e660a763f..000000000 --- a/helm/matita/matita.txt +++ /dev/null @@ -1,411 +0,0 @@ -TODO - NUCLEO - - i files di coq non hanno gli universi e hanno Type senza l'id numerico - per ora vengono considerati come con grafo vuoto... - - limit_mul non compila (usare test_library per testare l'intera libreria) - (15:06:07) Zack: http://www.cs.unibo.it/cgi-bin/viewcvs.cgi/helm/gTopLevel/testlibrary.ml?rev=1.20&hideattic=0&content-type=text/vnd.viewcvs-markup - - PREOCCUPANTE: per - inductive i : Prop := K : True (*-> i*) -> i. - noi generiamo i_rec e i_rect con e senza il commento qui sopra; Coq NON - genera i_rec e i_rect quando c'e' un argomento ricorsivo. - (CSC: manca vincolo aggiuntivo non dipendente dalla sorta per il caso in - questione) -> Gares - - bug universi e tipi induttivi (anche in cicElim.ml!!!) - - Set predicativo - - - TATTICHE - - generazione di principi di co-induzione per co-induttivi - - ARGOMENTI IMPLICIT: li vogliamo? come? come disabilitarli localmente? - - in generale: invece di spiegare gli errori nel momento in cui si sollevano - le eccezioni, farlo quando vengono presentate all'utente. Motivo: il calcolo - del messaggio di errore puo' essere estremamente costoso (e' gia' successo!) - quando poi il messaggio non serve!!! - - verificare il comportamento di tutte le tattiche con il parsing lazy -> CSC - - file elim.ma: vengono creati lambda dummy e referenziati nell'outtype di - un case - - tattiche e fallimenti: una tattica che non progredisce dovrebbe fallire - - comportamento di tutte le tattiche nei confronti dei let-in - - elim con pattern - - assiomi (manca sintassi concreta e AST). - - Dare errore significativo al posto di NotWellTypedInterpreation -> CSC - - elim_intros_simpl e rewrite_simpl: ora non viene usata dal - ^^^^^^ ^^^^^^ - toplevel la variante che semplifica. Capire quali sono i problemi - e/o cosa fare delle varianti con semplificazione. - (con sintassi concreta alla \section*, analogamente cut e similia che fanno - intros... ) -> CSC - - eta_expand non usata da nessuno? (ask Andrea?) - - eliminare eta_fix? (aspettare notazione) (correlato con sopra?) - - bug di ferruccio: fare un refresh dei nomi dopo l'applicazione - di una tattica. Di quali nomi fare refresh? (Andrea) di quelli - veramente ambigui, ovvero dell'ultimo binder tale che sotto di - esso un nome viene usato in maniera ambigua. Esempio: - \lambda x. \lambda x. (x x) (dove una x e' -2) ==> fare refresh - \lambda x. \lambda x. (x x) (dove entrambe sono -1) ==> non fare refresh - Capita quando un tipo dall'environment (e.g. \lambda x.T) - viene inserito in un contesto (e.g. x:nat) dove le variabili - sono gia' state legate in precedenza. - - supportare l'apertura di piu' script contemporaneamente in tab/finestre - diversi/e - - - GUI GRAFICA - - keybinding globali: CTRL-{su,giu,...} devono fungere anche quando altre - finestre hanno il focus (e.g. cicBrowser). C'e' gia' da qualche parte il - codice che aggiunge i keybinding a tutte le eventBox, e' da ripristinare - - la finestrella per i development ha i pulsanti non sensitive. - (* non capisco cosa vuol dire: Gares *) - - l'entry "Save" da menu non e' context sensitive (ti fa salvare anche - quando il file non e' stato modificato) - - finire e rendere piu' compliant (e.g. tags gestiti in maniera anomala) - il Cic Browser - - non semplificherebbe le cose fare in modo che matitaScript sia un widget - (cosi' come lo e' matitaMathView) che eredita da GtkSourceView e mantiene - internamente lo status di matita etc. Appositi segnali permetterebbero di - evitare tutte le chiamate al singleton #instance di matitaScript, che - verrebbe creato dentro a matitaGui (o forse meglio dentro a matita e passato - a matitaGui). Si semplificherebbe forse anche la gestione di script - multipli? Forse no, perche' comunque ci puo' essere sempre solamente uno - ed un solo matitaScript (da spostare da un tab a un altro). - - la barra di stato: c'e' ma non funziona? - - - menu contestuale (tasto dx) nel sequent viewer - - feedback su hyperlink nei sequenti e nel browser: rendere visibili gli - hyperlink (cursore a "manina"? hyperlink evidenziati?). La maction che - collassa la prova e' fastidiosa: la prova si chiude se non si clicca - correttamente su un hyperlink (anche tooltip sui bottoni) - - - che farne della palette delle tattiche? - - script outline -> Zack - - riattaccare hbugs (brrr...) -> Zack - - GUI LOGICA - - generazione di dipendenze verso .moo di Coq (non esistenti!) - - proposta di Zack: NON calcolare (ed esportare) per default gli inner-types; - aggiungere un'opzione per questo a matitac (riduce drasticamente il tempo - di qed) - - la funzione alias_diff e' lentissima (anche se CSC l'ha accellerata di - un fattore 3x) e puo' essere evitata: chi vuole aggiungere alias (la - disambiguazione, il comando "alias" e l'add_obj) deve indicare - esplicitamente quali sono i nuovi alias, evitando cosi' la diff per - scoprirlo - - matitac deve fallire quando matita vuole aggiungere un alias! - - default equality e famiglia non e' undo-aware - - nuovo pretty-printer testuale: non stampa usando la notazione - (e.g. guardare output di matitac) - - fattorizzare codice fra MatitaEngine e DisambiguatePp (dove, fra l'altro, - ora io (=CSC) ho messo anche un parser!!!) - - bug "Warn: baseuri cic:/matita/higher_order_defs/ordering is not empty" - mentre si compila Z/times.ma. Il bug sembra essere transiente. - - in MatitaEngine unificare/rimuovere eval_string, eval_from_stream e - eval_from_stream_greedy - - matitamake foo/a.ma non funziona; bisogna chiamarlo con - matitamake /x/y/z/foo/a.ma - - notazione -> Luca e Zack - - non chiudere transitivamente i moo ?? - - DEMONI E ALTRO - -DONE -- matitaclean all (non troglie i moo?) -> Gares -- matitaclean (e famiglia) non cancellano le directory vuote - (e per giunta il cicbrowser le mostra :-) -> Gares -- missing feature unification: applicazione di teoremi (~A) quando il goal - e' False o di teoremi $symmetric R P$ quando il goal e' $P(x,y)$. - Fare un passo di delta[-beta?][-iota-etc.] quando da una parte c'e' una - testa rigida (che si espande in una freccia)? Ma il punto e' che il bug - non e' di unificazione, bensi' nella fase di preparazione del goal per - la apply -> CSC, Gares -- Guardare il commento - (*CSC: this code is suspect and/or bugged: we try first without reduction - and then using whd. However, the saturate_term always tries with full - reduction without delta. *) - in primitiveTactics.ml. Potrebbe essere causa di rallentamento della apply - oltre che di bug! -> CSC, Gares -- codice di inizializzazione di matita, matitac, matitatop replicato e non - in sync -> Gares -- tutte gli script che parsano (e.g. matitaclean, matitadep) debbono - processare la notazione per evitare errori di parsing (visibili ora - che e' stata committata la contrib list)! -> Gares -- E' possibile fare "Build" senza selezionare nulla, ottenendo un - assert false -> Gares -- disambiguazione: attualmente io (CSC) ho committato la versione di - disambiguate.ml che NON ricorda gli alias in caso di disambiguazione - univoca (senza scelte per l'utente). [ cercare commento "Experimental" ] - Il problema di questa soluzione e' che rallenta in maniera significativa - l'esecuzione degli script. DOMANDA: quanto costano le fasi di - fetch/decode/execute delle linee dello script? - Una possibile alternativa e' avere alias "soft": se la disambiguazione - fallisce gli alias soft vengono ripuliti e si riprova. - Altra soluzione (Gares): avere alias multipli e provare tutti gli alias - multipli. Da combinare con il "ritenta con istanze multiple in caso di - fallimento". - SOLUZIONE PENSATA CON ANDREA: 1. la interpretate aggiunge un alias - implicito; 2. gli alias vengono ricordati come nella soluzione originale - (e veloce); 3. se la disambiguazione fallisce, allora gli alias vengono - dimenticati (quali? tutti? tutti tranne quelli chiesti all'utente?) - e si ritenta; se fallisce ancora si generano - istanze differenti e si ritenta; 4. ritentare anche senza e poi con - coercions? oppure ordinare preferendo la soluzione che non ha introdotto - coercions?; 5. che fare se alla fine restano piu' scelte? se si mettono - gli alias nello script viene un paciugo, credo! in particolare quando - vengono usate n istanze -> Zack, CSC -- theorem t: True. elim O. ==> BOOM! unificazione di una testa flessibile con - True -> Gares -- parsing contestuale (tattiche replace, change e forse altre) - capire dove fare la select per avere i contesti in cui disambiguare gli - altri argomenti. -> Zack -- tattica unfold su rel a let-in bound variables: c'e' ancora un bug - aperto: "unfold x in H:..." la x passata alla unfold vive nel contesto - del goal e non in quello del pattern. Pertanto invece di cercare di - fare unfolding di x viene fatto unfolding di altro. - Soluzione: la funzione ProofEngineHelpers.select deve tornare una - funzione per rilocare i termini nel contesto giusto. - Esempio: - theorem t: let uno \def S O in uno + uno = S uno \to uno=uno. - intros. unfold uno in H. - NOTA: questo bug e' legato a quello di parsing in presenza di tattiche - con pattern, visto che in tal caso e' l'intero parsing a dover essere - fatto in un contesto differente. Risolvendo quel bug si risolve - automaticamente anche questo. - -> Zack -- Usare il cicbrowser per fare "Whelp instance": lui riscrive la barra - con la notazione alla Coq V7.0 che non riesce piu' a riparsare! -> Zack -- implementare inclusione file di configurazione (perche' ora tutti - i demoni scopiazzano venti righe per via del getter embedded :-( -> Zack -- simplify non debbono zeta-espandere i let-in -> CSC, Gares -- integrare nuova contrib ferruccio nel bench notturno e rilocarla in - contribs o qualcosa del genere -> CSC -- CRITICO: quando l'environment non e' trusted non compila la library di - matita!!! -> Gares, CSC -- bug di unsharing -> CSC -- CRITICO (trovato anche da Ferruccio): typechecking di - cic:/Coq/ring/Quote/index_eq_prop.con - asserzione del nucleo (applicazione senza argomenti). -> CSC -- verificare se tutte le query sono ora ottimizzate (usando il comando - explain) e usano gli indici in maniera ottimale; inoltre migliorare gli - indici sulle tabelle hits and count -> CSC -- ???????????? Perche'? - mowgli:~# du -s /var/lib/mysql/mowgli/ - 250696 /var/lib/mysql/mowgli/ - mowgli:~# du -s /var/lib/mysql/matita/ - 455096 /var/lib/mysql/matita/ -> CSC -- library/nat/primes.ma: ex_prime ci mette un secolo il db (binding) a fare - la Mysql.exec che ritorna una lista vuota di risultati. Investigare. - Anche peggio in library/nat/minimization/f_max_true. -> CSC -- integrare il famoso logo mancante (anche nell'About dialog) -> CSC -- invertibilita' dell'inserimento automatico di alias: quando si torna - su bisognerebbe tornare su di un passo e non fare undo degli alias - (Zack: nella history ci sono anche gli offset per sapere a che pezzo di - script uno stato appartiene) -> CSC -- bug di refresh del widget quando si avanza ("swap" tra la finestra dei - sequenti e la finestra dello script) -> CSC -- sensitiveness per goto begin/end/etc. (???) -> Gares -- cut&paste stile "X": rimane la parte blu e lockata! -> CSC -- highlight degli errori di parsing nello script -> CSC -- quando si fa una locate nel cicbrowser viene mangiato un pezzo di testo - dalla finestra principale!!! -> CSC -- sensitiveness per copy/paste/cut/delete nel menu Edit -> CSC -- fare "matita foo" (dove foo non esiste), cambiare qualcosa e uscire senza - salvare. In verita' foo e' stato scritto lo stesso! -> CSC -- matitaclean deve rimuovere anche i .moo; in alternativa il makefile - non deve basarsi sui .moo per decidere se qualcosa e' stato compilato o meno - -> CSC, Gares -- matitaclean all (o matitamake cleanall) dovrebbe radere al suolo la - directory .matita -> CSC, Gares -- icone standard per zoom-in/out/= e piu' aderenza alle Gnome Interface - Guidelines (e.g. about dialog) -> CSC -- salvare la parte di testo lockata dagli effetti di undo/redo con - (shift-)ctrl-Z e anche usando il menu che si apre con il tasto destro -> CSC -- fare in modo che il testo caricato inizialmente da matita non sia - undoable (usando i metodi begin/end_not_undoable_action di gtk_source_view) - -> Gares -- Implementare menu edit: cut/copy/undo/etc. -> CSC -- gestione dei path per include: il path deve essere assoluto? da decidere ... - ( -I ?? o chiedere a matitamake la root e farci una find? ) -> Gares -- freeze durante avanzamento -> Gares, CSC -- tornare indietro (verso il cursore) in matita dovrebbe essere O(1) e non un - Undo passo passo (sembra che il collo di bottiglia sia fare iterare su ogni - uri da togliere (accorpare almeno il lavoro sul db magari aiuta) -> Gares, CSC -- quando si sposta il punto di esecuzione dello script cambiare la parte di - script visibile nella finestra dello script -> Gares, CSC -- find & replace -> Gares -- Bug di cut&paste: se si fa cut&paste di testo lockato si ottiene testo - lockato! -> Gares -- Bug: non disambigua - inductive i (x:nat) : bool \to Prop \def K : bool \to (i x true) \to (i x false). - perche' non inserisce nat nel domain di disambiguazione. Deve esserci un bug - stupido da qualche parte -> CSC -- Bug vari nella generazione dei principi di eliminazione: - 1. generazione nomi (usa ref incrementata localmente) -> Andrea - 2. prodotti dipendenti come non-dipendenti (visibili eseguendo passo - passo il test inversion.ma) -> CSC, Gares - 3. usato trucco outtype non dipendenti per il case -> CSC, Gares -- controllo per script modificato o meno prima di uscire -> Gares -- LApply deve prendere in input gli identificatori che va a generare; - lascio a Ferruccio la scelta della sintassi concreta -> Ferruccio -- fare tornare a matitac -1 quando lo stato finale e' - diverso da No_proof, non eseguire comandi quando lo - stato e' diverso da No_proof -> CSC -- uri_of_term and term_of_uri: cambiare il tipo per far - tornare delle uri!!! -> CSC -- intro = intros 1 -> Gares -- timetravel (urimanager) -> Gares -- implementare macro in matitaScript.ml -> Gares -- history deve aggiornare anche la whelp bar -> Gares -- commenti exeguibili (forse devono essere una lista e non - un singolo executable e forse devono contenere anche Note - e non solo Executable) -> Gares -- spostare il codice di creazione delle tabelle da - MatitaDb, al momento quelle create da matita possono - andare out of sync con quelle create dai file .sql -> Gares -- tree update in background -> Gares -- update del getter in background -> Zack -- agganciare href_callback del sequent_viewer -> Zack -- shortcut varie per script handling -> Zack -- operazioni rimanenti su script (top, bottom, jump) -> Zack -- lighting-ls-getter in matita -> Gares -- riagganciare toolbar -> Zack -- evitare che n-mila tattiche Goal siano nello script - (una per ogni cambio di tab) -> Zack -- implementazione comandi rimanenti in matitaEngine.ml -> Gares -- sintassi per gli alias -> Gares -- implementazione script handling (sopra engine) -> Zack -- matitaSync all'indietro -> Gares -- riagganciare GUI -> Zack - -(**********************************************************************) - -comandi: - - interattivi (solo da gui) - - Macro/Comandi (check, print, hint, undo, locate, match) - potrebbero anche non avere sintassi concreta, del tipo che - check e' solo un bottone che apre una finetra in cui puoi - scrivere un termine o selezionarlo dalla prova corrente - - batch (sono gli unici che stanno nel .ma) - - Tattiche, theorem, alias (cambiano la prova) - - - MOUSE --------------------------------------------+ - gui (macro: hint) | SHELL - (disambiguatore) | - +-----------------+---------------+----------------------------------- - | matita (status) | | matitac - | (log) (sync) | but2log | fold ( fun s l -> engine l s) file - +-----------------+---------------+----------------------------------- - | lingua:/sintassi concreta non ambigua delle tattiche+Qed,Thm,alias/ - +---------------------------------------------------------- - | engine: TacticAst (cic) -> status -> status - | ma non usa il campo alias dello status ----------+---------------------------------------------------------- - ocaml --------------------------------------------------------------------- - - -engine: - - accetta solo linee non ambigue - - alias: - alias ident nat = "cic:/matita/gares/nat.ind#(1/1)". - alias number = (natural|real|positive|integer). - - - -matita: - - mantiene uno stack di stati - - mantiene un log sync con gli stati - - offre delle api per generare la sintassi concreta che puo' servire - alla gui (la gui fa una chiamata a funzione e matita genera "auto." - cosi' la sintassi la gui non la vede mai e la tratta al massimo come un - testo semplice e basta (insomma, metterei in matita il generatore di - sintassi concreta) but2log - - ha il controllo... ovvero anche la gui viene usata da matita, o per sapere - la prossima azione o per chidere di scegliere il termine tra una lista - - (stato :: tl) (log , (start,end) :: tl) - - +----------+ - | | - +----------+ - -gui: - - step - - choose - -stato: - - alias - - proof status option - - metadati relativi allo script per il sync - - settings "baseuri/url/" eccc - - - -alias - - sintassi concreta - -engine prende in input - - AST di Cic (tactic ast) - -sync: - - presi 2 stati fa il diff e lo somma/sottrae al DB - -(**********************************************************************) - -script handling -- ad ogni script sul quale l'utente sta lavorando corrispondono - - un modello (vedi sotto) - - un buffer di testo gtk + attributi (usati principalmente per distinguere la - parte di testo immodificabile da quella modificabile) - - una lista di observer che vengono notificati ad ogni cambiamento di stato -- un modello di script e' composto da: - - una lista di stringhe (inizialmente vuota) detta "statement list". Ogni - elemento della lista corrisponde ad uno statement (nel senso di - TacticAst.statement) gia' valutato dall'engine. La parte immodificabile del - buffer di testo corrisponde con le stringhe contenute nella lista - - una lista di stati (inizialmente contenente lo stato vuoto) detta "state - list". Si ha l'invariante che la lunghezza di tale lista e' uguale alla - lunghezza della statements list + 1. Lo stato i-esimo della lista di stati - e' lo stato di matita _prima_ dell'esecuzione dell i-esimo statement - - una stringa, detta "future text", corrispondente alla parte di testo dello - script non ancora valutata. L'ultimo stato della state list e' lo stato - corrente di matita -- relazione tra modello e buffer di testo gtk - - le modifiche al testo del buffer sono possibili solo nella parta non ancora - valutata. Ognuna di esse viene apportata _anche_ al future text - - invariante: e' sempre possibile riscrivere ("redraw") l'intero contenuto del - buffer di testo a partire dal modello, attributi compresi -- oggetto script - - metodi - - new: gtk_text_buffer -> script - - redraw: unit (* ridisegna il contenuto del buffer di testo *) - - advance: ?statement:string -> unit -> unit - (* valuta il primo statement del future text (usando eval_statement - (puo' fallire con una eccezione)), rimuove il testo corrispondente dal - future text, aggiunge alla statement list una entry per ogni statement - ritornato da eval_statement, aggiunge il nuovo stato alla state list, - invoka tutti gli observer - Se c'e' l'argomento opzionale statement, quello e' il testo che viene - passato ad eval_statement, se ha successo nessuna rimozione dal future - text viene effettuata *) - - retract: unit -> unit - (* sposta l'ultimo statement della statement list al future text, toglie - l'ultimo stato della state list, MatitaSync.time_travel - ~present:ultimo_stato ~past:stato_precedente *) - - private eval_statement: string -> MatitaTypes.status * string list - (* parsa lo statement - - se e' un Command o un Tactical (vedi TacticAst) invoca MatitaEngine - passando lo stato corrente - - se e' una Macro la gestisce (= tutte le Macro sono implementate qua) - Ritorna una lista di coppie . La proiezione sulla - prima componente rappresenta gli stati da aggiungere alla state list; - quella sulla seconda gli statement da aggiungere alla statement list. - *) - (* gestione degli observer *) - - add_observer: (MatitaTypes.status -> unit) -> observer_id - - remove_observer: observer_id -> unit - (* gestione del salvataggio *) - - save_to: string -> unit (* ridisegna su file *) - - load_from: string -> unit - (* retract fino allo stato zero, nuovo stato con future text pari al - contenuto del file passato *) - diff --git a/helm/matita/matitaDb.ml b/helm/matita/matitaDb.ml deleted file mode 100644 index e3c7041dd..000000000 --- a/helm/matita/matitaDb.ml +++ /dev/null @@ -1,166 +0,0 @@ -(* Copyright (C) 2004-2005, 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 instance = - let dbd = lazy ( - HMysql.quick_connect - ~host:(Helm_registry.get "db.host") - ~user:(Helm_registry.get "db.user") - ~database:(Helm_registry.get "db.database") - ()) - in - fun () -> Lazy.force dbd - - -let xpointer_RE = Pcre.regexp "#.*$" -let file_scheme_RE = Pcre.regexp "^file://" - -let clean_owner_environment () = - let dbd = instance () in - let owner = (Helm_registry.get "matita.owner") in - let obj_tbl = MetadataTypes.obj_tbl () in - let sort_tbl = MetadataTypes.sort_tbl () in - let rel_tbl = MetadataTypes.rel_tbl () in - let name_tbl = MetadataTypes.name_tbl () in - let count_tbl = MetadataTypes.count_tbl () in - let tbls = [ - (obj_tbl,`RefObj) ; (sort_tbl,`RefSort) ; (rel_tbl,`RefRel) ; - (name_tbl,`ObjectName) ; (count_tbl,`Count) ] - in - let statements = - (SqlStatements.drop_tables tbls) @ (SqlStatements.drop_indexes tbls) - in - let owned_uris = - try - MetadataDb.clean ~dbd - with Mysql.Error _ as exn -> - match HMysql.errno dbd with - | Mysql.No_such_table -> [] - | _ -> raise exn - in - List.iter - (fun uri -> - let uri = Pcre.replace ~rex:xpointer_RE ~templ:"" uri in - List.iter - (fun suffix -> - try - MatitaMisc.safe_remove (Http_getter.resolve (uri ^ suffix)) - with Http_getter_types.Key_not_found _ -> ()) - [""; ".body"; ".types"]) - owned_uris; - List.iter (fun statement -> - try - ignore (HMysql.exec dbd statement) - with Mysql.Error _ as exn -> - match HMysql.errno dbd with - | Mysql.Bad_table_error - | Mysql.No_such_index | Mysql.No_such_table -> () - | _ -> raise exn - ) statements; -;; - -let create_owner_environment () = - let dbd = instance () in - let obj_tbl = MetadataTypes.obj_tbl () in - let sort_tbl = MetadataTypes.sort_tbl () in - let rel_tbl = MetadataTypes.rel_tbl () in - let name_tbl = MetadataTypes.name_tbl () in - let count_tbl = MetadataTypes.count_tbl () in - let tbls = [ - (obj_tbl,`RefObj) ; (sort_tbl,`RefSort) ; (rel_tbl,`RefRel) ; - (name_tbl,`ObjectName) ; (count_tbl,`Count) ] - in - let statements = - (SqlStatements.create_tables tbls) @ (SqlStatements.create_indexes tbls) - in - List.iter (fun statement -> - try - ignore (HMysql.exec dbd statement) - with - exn -> - let status = HMysql.status dbd in - match status with - | Mysql.StatusError Mysql.Table_exists_error -> () - | Mysql.StatusError Mysql.Dup_keyname -> () - | Mysql.StatusError _ -> raise exn - | _ -> () - ) statements -;; - -(* removes uri from the ownerized tables, and returns the list of other objects - * (theyr uris) that ref the one removed. - * AFAIK there is no need to return it, since the MatitaTypes.staus should - * contain all defined objects. but to double check we do not garbage the - * metadata... - *) -let remove_uri uri = - let obj_tbl = MetadataTypes.obj_tbl () in - let sort_tbl = MetadataTypes.sort_tbl () in - let rel_tbl = MetadataTypes.rel_tbl () in - let name_tbl = MetadataTypes.name_tbl () in - (*let conclno_tbl = MetadataTypes.conclno_tbl () in - let conclno_hyp_tbl = MetadataTypes.fullno_tbl () in*) - let count_tbl = MetadataTypes.count_tbl () in - - let dbd = instance () in - let suri = UriManager.string_of_uri uri in - let query table suri = sprintf - "DELETE FROM %s WHERE source LIKE '%s%%'" table (HMysql.escape suri) - in - List.iter (fun t -> - try - ignore (HMysql.exec dbd (query t suri)) - with - exn -> raise exn (* no errors should be accepted *) - ) - [obj_tbl;sort_tbl;rel_tbl;name_tbl;(*conclno_tbl;conclno_hyp_tbl*)count_tbl]; - (* and now the debug job *) - let dbg_q = - sprintf "SELECT source FROM %s WHERE h_occurrence LIKE '%s%%'" obj_tbl - (HMysql.escape suri) - in - try - let rc = HMysql.exec dbd dbg_q in - let l = ref [] in - HMysql.iter rc (fun a -> match a.(0) with None ->()|Some a -> l := a:: !l); - let l = List.sort Pervasives.compare !l in - HExtlib.list_uniq l - with - exn -> raise exn (* no errors should be accepted *) - -let xpointers_of_ind uri = - let dbd = instance () in - let name_tbl = MetadataTypes.name_tbl () in - let query = sprintf - "SELECT source FROM %s WHERE source LIKE '%s#xpointer%%'" name_tbl - (HMysql.escape (UriManager.string_of_uri uri)) - in - let rc = HMysql.exec dbd query in - let l = ref [] in - HMysql.iter rc (fun a -> match a.(0) with None ->()|Some a -> l := a:: !l); - List.map UriManager.uri_of_string !l - diff --git a/helm/matita/matitaDb.mli b/helm/matita/matitaDb.mli deleted file mode 100644 index 0d5811eba..000000000 --- a/helm/matita/matitaDb.mli +++ /dev/null @@ -1,32 +0,0 @@ -(* Copyright (C) 2004-2005, 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 instance: unit -> HMysql.dbd - -val create_owner_environment: unit -> unit -val clean_owner_environment: unit -> unit - -val remove_uri: UriManager.uri -> string list -val xpointers_of_ind: UriManager.uri -> UriManager.uri list diff --git a/helm/matita/matitaDisambiguator.ml b/helm/matita/matitaDisambiguator.ml deleted file mode 100644 index 24a835523..000000000 --- a/helm/matita/matitaDisambiguator.ml +++ /dev/null @@ -1,174 +0,0 @@ -(* Copyright (C) 2004-2005, 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 - -exception Ambiguous_input -exception DisambiguationError of string Lazy.t list list - -type choose_uris_callback = - id:string -> UriManager.uri list -> UriManager.uri list - -type choose_interp_callback = (string * string) list list -> int list - -let mono_uris_callback ~id = - if Helm_registry.get_bool "matita.auto_disambiguation" then - function l -> l - else - raise Ambiguous_input - -let mono_interp_callback _ = raise Ambiguous_input - -let _choose_uris_callback = ref mono_uris_callback -let _choose_interp_callback = ref mono_interp_callback -let set_choose_uris_callback f = _choose_uris_callback := f -let set_choose_interp_callback f = _choose_interp_callback := f - -module Callbacks = - struct - let interactive_user_uri_choice ~selection_mode ?ok - ?(enable_button_for_non_vars = true) ~title ~msg ~id uris = - !_choose_uris_callback ~id uris - - let interactive_interpretation_choice interp = - !_choose_interp_callback interp - - 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 - -module Disambiguator = Disambiguate.Make (Callbacks) - -(* implement module's API *) - -let disambiguate_thing ~aliases ~universe - ~(f:?fresh_instances:bool -> - aliases:DisambiguateTypes.environment -> - universe:DisambiguateTypes.multiple_environment option -> - 'a -> 'b) - ~(drop_aliases: 'b -> 'b) - ~(drop_aliases_and_clear_diff: 'b -> 'b) - (thing: 'a) -= - assert (universe <> None); - let library = false, DisambiguateTypes.Environment.empty, None in - let multi_aliases=false, DisambiguateTypes.Environment.empty, universe in - let mono_aliases = true, aliases, None in - let passes = (* *) - [ (false, mono_aliases, false); - (false, multi_aliases, false); - (true, mono_aliases, false); - (true, multi_aliases, false); - (true, mono_aliases, true); - (true, multi_aliases, true); - (true, library, true); - ] - in - let try_pass (fresh_instances, (_, aliases, universe), use_coercions) = - CoercDb.use_coercions := use_coercions; - f ~fresh_instances ~aliases ~universe thing - in - let set_aliases (instances,(use_mono_aliases,_,_),_) (_, user_asked as res) = - if use_mono_aliases && not instances then - drop_aliases res - else if user_asked then - drop_aliases res (* one shot aliases *) - else - drop_aliases_and_clear_diff res - in - let rec aux errors = - function - | [ pass ] -> - (try - set_aliases pass (try_pass pass) - with Disambiguate.NoWellTypedInterpretation newerrors -> - raise (DisambiguationError (errors @ [newerrors]))) - | hd :: tl -> - (try - set_aliases hd (try_pass hd) - with Disambiguate.NoWellTypedInterpretation newerrors -> - aux (errors @ [newerrors]) tl) - | [] -> assert false - in - let saved_use_coercions = !CoercDb.use_coercions in - try - let res = aux [] passes in - CoercDb.use_coercions := saved_use_coercions; - res - with exn -> - CoercDb.use_coercions := saved_use_coercions; - raise exn - -type disambiguator_thing = - { do_it : - 'a 'b. - aliases:DisambiguateTypes.environment -> - universe:DisambiguateTypes.multiple_environment option -> - f:(?fresh_instances:bool -> - aliases:DisambiguateTypes.environment -> - universe:DisambiguateTypes.multiple_environment option -> - 'a -> 'b * bool) -> - drop_aliases:('b * bool -> 'b * bool) -> - drop_aliases_and_clear_diff:('b * bool -> 'b * bool) -> 'a -> 'b * bool - } - -let disambiguate_thing = - let profiler = HExtlib.profile "disambiguate_thing" in - { do_it = - fun ~aliases ~universe ~f ~drop_aliases ~drop_aliases_and_clear_diff thing - -> profiler.HExtlib.profile - (disambiguate_thing ~aliases ~universe ~f ~drop_aliases - ~drop_aliases_and_clear_diff) thing - } - -let drop_aliases (choices, user_asked) = - (List.map (fun (d, a, b, c) -> d, a, b, c) choices), - user_asked - -let drop_aliases_and_clear_diff (choices, user_asked) = - (List.map (fun (_, a, b, c) -> [], a, b, c) choices), - user_asked - -let disambiguate_term ?fresh_instances ~dbd ~context ~metasenv ?initial_ugraph - ~aliases ~universe term - = - assert (fresh_instances = None); - let f = - Disambiguator.disambiguate_term ~dbd ~context ~metasenv ?initial_ugraph - in - disambiguate_thing.do_it ~aliases ~universe ~f ~drop_aliases - ~drop_aliases_and_clear_diff term - -let disambiguate_obj ?fresh_instances ~dbd ~aliases ~universe ~uri obj = - assert (fresh_instances = None); - let f = Disambiguator.disambiguate_obj ~dbd ~uri in - disambiguate_thing.do_it ~aliases ~universe ~f ~drop_aliases - ~drop_aliases_and_clear_diff obj diff --git a/helm/matita/matitaDisambiguator.mli b/helm/matita/matitaDisambiguator.mli deleted file mode 100644 index 7e207e12f..000000000 --- a/helm/matita/matitaDisambiguator.mli +++ /dev/null @@ -1,51 +0,0 @@ -(* Copyright (C) 2004-2005, 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 - -(** raised when ambiguous input is found but not expected (e.g. in the batch - * compiler) *) -exception Ambiguous_input -exception DisambiguationError of string Lazy.t list list - -type choose_uris_callback = id:string -> UriManager.uri list -> UriManager.uri list -type choose_interp_callback = (string * string) list list -> int list - -val set_choose_uris_callback: choose_uris_callback -> unit -val set_choose_interp_callback: choose_interp_callback -> unit - -(** @raise Ambiguous_input if called, default value for internal - * choose_uris_callback if not set otherwise with set_choose_uris_callback - * above *) -val mono_uris_callback: choose_uris_callback - -(** @raise Ambiguous_input if called, default value for internal - * choose_interp_callback if not set otherwise with set_choose_interp_callback - * above *) -val mono_interp_callback: choose_interp_callback - -(** for GUI callbacks see MatitaGui.interactive_{interp,user_uri}_choice *) - -include Disambiguate.Disambiguator diff --git a/helm/matita/matitaEngine.ml b/helm/matita/matitaEngine.ml deleted file mode 100644 index bf39a1cac..000000000 --- a/helm/matita/matitaEngine.ml +++ /dev/null @@ -1,1024 +0,0 @@ -(* Copyright (C) 2005, 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 - -exception Drop;; -exception UnableToInclude of string -exception IncludedFileNotCompiled of string - -let debug = false ;; -let debug_print = if debug then prerr_endline else ignore ;; - -type options = { - do_heavy_checks: bool ; - include_paths: string list ; - clean_baseuri: bool -} - -(** 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 ~subst:[] metasenv context name ~typ - -let tactic_of_ast ast = - let module PET = ProofEngineTypes in - match ast with - | GrafiteAst.Absurd (_, term) -> Tactics.absurd term - | GrafiteAst.Apply (_, term) -> Tactics.apply term - | GrafiteAst.Assumption _ -> Tactics.assumption - | GrafiteAst.Auto (_,depth,width,paramodulation,full) -> - AutoTactic.auto_tac ?depth ?width ?paramodulation ?full - ~dbd:(MatitaDb.instance ()) () - | GrafiteAst.Change (_, pattern, with_what) -> - Tactics.change ~pattern with_what - | GrafiteAst.Clear (_,id) -> Tactics.clear id - | GrafiteAst.ClearBody (_,id) -> Tactics.clearbody id - | GrafiteAst.Contradiction _ -> Tactics.contradiction - | GrafiteAst.Compare (_, term) -> Tactics.compare term - | GrafiteAst.Constructor (_, n) -> Tactics.constructor n - | GrafiteAst.Cut (_, ident, term) -> - let names = match ident with None -> [] | Some id -> [id] in - Tactics.cut ~mk_fresh_name_callback:(namer_of names) term - | GrafiteAst.DecideEquality _ -> Tactics.decide_equality - | GrafiteAst.Decompose (_, types, what, names) -> - let to_type = function - | GrafiteAst.Type (uri, typeno) -> uri, typeno - | GrafiteAst.Ident _ -> assert false - in - let user_types = List.rev_map to_type types in - let dbd = MatitaDb.instance () in - let mk_fresh_name_callback = namer_of names in - Tactics.decompose ~mk_fresh_name_callback ~dbd ~user_types what - | GrafiteAst.Discriminate (_,term) -> Tactics.discriminate term - | GrafiteAst.Elim (_, what, using, depth, names) -> - Tactics.elim_intros ?using ?depth ~mk_fresh_name_callback:(namer_of names) - what - | GrafiteAst.ElimType (_, what, using, depth, names) -> - Tactics.elim_type ?using ?depth ~mk_fresh_name_callback:(namer_of names) - what - | GrafiteAst.Exact (_, term) -> Tactics.exact term - | GrafiteAst.Exists _ -> Tactics.exists - | GrafiteAst.Fail _ -> Tactics.fail - | GrafiteAst.Fold (_, reduction_kind, term, pattern) -> - let reduction = - match reduction_kind with - | `Normalize -> - PET.const_lazy_reduction - (CicReduction.normalize ~delta:false ~subst:[]) - | `Reduce -> PET.const_lazy_reduction ProofEngineReduction.reduce - | `Simpl -> PET.const_lazy_reduction ProofEngineReduction.simpl - | `Unfold None -> - PET.const_lazy_reduction (ProofEngineReduction.unfold ?what:None) - | `Unfold (Some lazy_term) -> - (fun context metasenv ugraph -> - let what, metasenv, ugraph = lazy_term context metasenv ugraph in - ProofEngineReduction.unfold ~what, metasenv, ugraph) - | `Whd -> - PET.const_lazy_reduction (CicReduction.whd ~delta:false ~subst:[]) - in - Tactics.fold ~reduction ~term ~pattern - | GrafiteAst.Fourier _ -> Tactics.fourier - | GrafiteAst.FwdSimpl (_, hyp, names) -> - Tactics.fwd_simpl ~mk_fresh_name_callback:(namer_of names) - ~dbd:(MatitaDb.instance ()) hyp - | GrafiteAst.Generalize (_,pattern,ident) -> - let names = match ident with None -> [] | Some id -> [id] in - Tactics.generalize ~mk_fresh_name_callback:(namer_of names) pattern - | GrafiteAst.Goal (_, n) -> Tactics.set_goal n - | GrafiteAst.IdTac _ -> Tactics.id - | GrafiteAst.Injection (_,term) -> Tactics.injection term - | GrafiteAst.Intros (_, None, names) -> - PrimitiveTactics.intros_tac ~mk_fresh_name_callback:(namer_of names) () - | GrafiteAst.Intros (_, Some num, names) -> - PrimitiveTactics.intros_tac ~howmany:num - ~mk_fresh_name_callback:(namer_of names) () - | GrafiteAst.LApply (_, how_many, to_what, what, ident) -> - let names = match ident with None -> [] | Some id -> [id] in - Tactics.lapply ~mk_fresh_name_callback:(namer_of names) ?how_many - ~to_what what - | GrafiteAst.Left _ -> Tactics.left - | GrafiteAst.LetIn (loc,term,name) -> - Tactics.letin term ~mk_fresh_name_callback:(namer_of [name]) - | GrafiteAst.Reduce (_, reduction_kind, pattern) -> - (match reduction_kind with - | `Normalize -> Tactics.normalize ~pattern - | `Reduce -> Tactics.reduce ~pattern - | `Simpl -> Tactics.simpl ~pattern - | `Unfold what -> Tactics.unfold ~pattern what - | `Whd -> Tactics.whd ~pattern) - | GrafiteAst.Reflexivity _ -> Tactics.reflexivity - | GrafiteAst.Replace (_, pattern, with_what) -> - Tactics.replace ~pattern ~with_what - | GrafiteAst.Rewrite (_, direction, t, pattern) -> - EqualityTactics.rewrite_tac ~direction ~pattern t - | GrafiteAst.Right _ -> Tactics.right - | GrafiteAst.Ring _ -> Tactics.ring - | GrafiteAst.Split _ -> Tactics.split - | GrafiteAst.Symmetry _ -> Tactics.symmetry - | GrafiteAst.Transitivity (_, term) -> Tactics.transitivity term - -let singleton = function - | [x], _ -> x - | _ -> assert false - - (** @param term not meaningful when context is given *) -let disambiguate_term ?context status_ref goal term = - let status = !status_ref in - let context = - match context with - | Some c -> c - | None -> MatitaTypes.get_proof_context status goal - in - let (diff, metasenv, cic, _) = - singleton - (MatitaDisambiguator.disambiguate_term ~dbd:(MatitaDb.instance ()) - ~aliases:status.aliases ~universe:(Some status.multi_aliases) - ~context ~metasenv:(MatitaTypes.get_proof_metasenv status) term) - in - let status = MatitaTypes.set_metasenv metasenv status in - let status = MatitaSync.set_proof_aliases status diff in - status_ref := status; - cic - - (** disambiguate_lazy_term (circa): term -> (unit -> status) * lazy_term - * rationale: lazy_term will be invoked in different context to obtain a term, - * each invocation will disambiguate the term and can add aliases. Once all - * disambiguations have been performed, the first returned function can be - * used to obtain the resulting aliases *) -let disambiguate_lazy_term status_ref term = - (fun context metasenv ugraph -> - let status = !status_ref in - let (diff, metasenv, cic, ugraph) = - singleton - (MatitaDisambiguator.disambiguate_term ~dbd:(MatitaDb.instance ()) - ~initial_ugraph:ugraph ~aliases:status.aliases - ~universe:(Some status.multi_aliases) ~context ~metasenv term) - in - let status = MatitaTypes.set_metasenv metasenv status in - let status = MatitaSync.set_proof_aliases status diff in - status_ref := status; - cic, metasenv, ugraph) - -let disambiguate_pattern status_ref (wanted, hyp_paths, goal_path) = - let interp path = Disambiguate.interpretate_path [] path in - let goal_path = interp goal_path in - let hyp_paths = List.map (fun (name, path) -> name, interp path) hyp_paths in - let wanted = - match wanted with - None -> None - | Some wanted -> - let wanted = disambiguate_lazy_term status_ref wanted in - Some wanted - in - (wanted, hyp_paths ,goal_path) - -let disambiguate_reduction_kind aliases_ref = function - | `Unfold (Some t) -> - let t = disambiguate_lazy_term aliases_ref t in - `Unfold (Some t) - | `Normalize - | `Reduce - | `Simpl - | `Unfold None - | `Whd as kind -> kind - -let disambiguate_tactic status goal tactic = - let status_ref = ref status in - let tactic = - match tactic with - | GrafiteAst.Absurd (loc, term) -> - let cic = disambiguate_term status_ref goal term in - GrafiteAst.Absurd (loc, cic) - | GrafiteAst.Apply (loc, term) -> - let cic = disambiguate_term status_ref goal term in - GrafiteAst.Apply (loc, cic) - | GrafiteAst.Assumption loc -> GrafiteAst.Assumption loc - | GrafiteAst.Auto (loc,depth,width,paramodulation,full) -> - GrafiteAst.Auto (loc,depth,width,paramodulation,full) - | GrafiteAst.Change (loc, pattern, with_what) -> - let with_what = disambiguate_lazy_term status_ref with_what in - let pattern = disambiguate_pattern status_ref pattern in - GrafiteAst.Change (loc, pattern, with_what) - | GrafiteAst.Clear (loc,id) -> GrafiteAst.Clear (loc,id) - | GrafiteAst.ClearBody (loc,id) -> GrafiteAst.ClearBody (loc,id) - | GrafiteAst.Compare (loc,term) -> - let term = disambiguate_term status_ref goal term in - GrafiteAst.Compare (loc,term) - | GrafiteAst.Constructor (loc,n) -> GrafiteAst.Constructor (loc,n) - | GrafiteAst.Contradiction loc -> GrafiteAst.Contradiction loc - | GrafiteAst.Cut (loc, ident, term) -> - let cic = disambiguate_term status_ref goal term in - GrafiteAst.Cut (loc, ident, cic) - | GrafiteAst.DecideEquality loc -> GrafiteAst.DecideEquality loc - | GrafiteAst.Decompose (loc, types, what, names) -> - let disambiguate types = function - | GrafiteAst.Type _ -> assert false - | GrafiteAst.Ident id -> - (match disambiguate_term status_ref goal - (CicNotationPt.Ident (id, None)) - with - | Cic.MutInd (uri, tyno, _) -> - (GrafiteAst.Type (uri, tyno) :: types) - | _ -> raise (MatitaDisambiguator.DisambiguationError [[lazy "Decompose works only on inductive types"]])) - in - let types = List.fold_left disambiguate [] types in - GrafiteAst.Decompose (loc, types, what, names) - | GrafiteAst.Discriminate (loc,term) -> - let term = disambiguate_term status_ref goal term in - GrafiteAst.Discriminate(loc,term) - | GrafiteAst.Exact (loc, term) -> - let cic = disambiguate_term status_ref goal term in - GrafiteAst.Exact (loc, cic) - | GrafiteAst.Elim (loc, what, Some using, depth, idents) -> - let what = disambiguate_term status_ref goal what in - let using = disambiguate_term status_ref goal using in - GrafiteAst.Elim (loc, what, Some using, depth, idents) - | GrafiteAst.Elim (loc, what, None, depth, idents) -> - let what = disambiguate_term status_ref goal what in - GrafiteAst.Elim (loc, what, None, depth, idents) - | GrafiteAst.ElimType (loc, what, Some using, depth, idents) -> - let what = disambiguate_term status_ref goal what in - let using = disambiguate_term status_ref goal using in - GrafiteAst.ElimType (loc, what, Some using, depth, idents) - | GrafiteAst.ElimType (loc, what, None, depth, idents) -> - let what = disambiguate_term status_ref goal what in - GrafiteAst.ElimType (loc, what, None, depth, idents) - | GrafiteAst.Exists loc -> GrafiteAst.Exists loc - | GrafiteAst.Fail loc -> GrafiteAst.Fail loc - | GrafiteAst.Fold (loc,red_kind, term, pattern) -> - let pattern = disambiguate_pattern status_ref pattern in - let term = disambiguate_lazy_term status_ref term in - let red_kind = disambiguate_reduction_kind status_ref red_kind in - GrafiteAst.Fold (loc, red_kind, term, pattern) - | GrafiteAst.FwdSimpl (loc, hyp, names) -> - GrafiteAst.FwdSimpl (loc, hyp, names) - | GrafiteAst.Fourier loc -> GrafiteAst.Fourier loc - | GrafiteAst.Generalize (loc,pattern,ident) -> - let pattern = disambiguate_pattern status_ref pattern in - GrafiteAst.Generalize (loc,pattern,ident) - | GrafiteAst.Goal (loc, g) -> GrafiteAst.Goal (loc, g) - | GrafiteAst.IdTac loc -> GrafiteAst.IdTac loc - | GrafiteAst.Injection (loc, term) -> - let term = disambiguate_term status_ref goal term in - GrafiteAst.Injection (loc,term) - | GrafiteAst.Intros (loc, num, names) -> GrafiteAst.Intros (loc, num, names) - | GrafiteAst.LApply (loc, depth, to_what, what, ident) -> - let f term to_what = - let term = disambiguate_term status_ref goal term in - term :: to_what - in - let to_what = List.fold_right f to_what [] in - let what = disambiguate_term status_ref goal what in - GrafiteAst.LApply (loc, depth, to_what, what, ident) - | GrafiteAst.Left loc -> GrafiteAst.Left loc - | GrafiteAst.LetIn (loc, term, name) -> - let term = disambiguate_term status_ref goal term in - GrafiteAst.LetIn (loc,term,name) - | GrafiteAst.Reduce (loc, red_kind, pattern) -> - let pattern = disambiguate_pattern status_ref pattern in - let red_kind = disambiguate_reduction_kind status_ref red_kind in - GrafiteAst.Reduce(loc, red_kind, pattern) - | GrafiteAst.Reflexivity loc -> GrafiteAst.Reflexivity loc - | GrafiteAst.Replace (loc, pattern, with_what) -> - let pattern = disambiguate_pattern status_ref pattern in - let with_what = disambiguate_lazy_term status_ref with_what in - GrafiteAst.Replace (loc, pattern, with_what) - | GrafiteAst.Rewrite (loc, dir, t, pattern) -> - let term = disambiguate_term status_ref goal t in - let pattern = disambiguate_pattern status_ref pattern in - GrafiteAst.Rewrite (loc, dir, term, pattern) - | GrafiteAst.Right loc -> GrafiteAst.Right loc - | GrafiteAst.Ring loc -> GrafiteAst.Ring loc - | GrafiteAst.Split loc -> GrafiteAst.Split loc - | GrafiteAst.Symmetry loc -> GrafiteAst.Symmetry loc - | GrafiteAst.Transitivity (loc, term) -> - let cic = disambiguate_term status_ref goal term in - GrafiteAst.Transitivity (loc, cic) - in - status_ref, tactic - -let reorder_metasenv start refine tactic goals current_goal always_opens_a_goal= - let module PEH = ProofEngineHelpers in -(* let print_m name metasenv = - prerr_endline (">>>>> " ^ name); - prerr_endline (CicMetaSubst.ppmetasenv [] metasenv) - in *) - (* phase one calculates: - * new_goals_from_refine: goals added by refine - * head_goal: the first goal opened by ythe tactic - * other_goals: other goals opened by the tactic - *) - let new_goals_from_refine = PEH.compare_metasenvs start refine in - let new_goals_from_tactic = PEH.compare_metasenvs refine tactic in - let head_goal, other_goals, goals = - match goals with - | [] -> None,[],goals - | hd::tl -> - (* assert (List.mem hd new_goals_from_tactic); - * invalidato dalla goal_tac - * *) - Some hd, List.filter ((<>) hd) new_goals_from_tactic, List.filter ((<>) - hd) goals - in - let produced_goals = - match head_goal with - | None -> new_goals_from_refine @ other_goals - | Some x -> x :: new_goals_from_refine @ other_goals - in - (* extract the metas generated by refine and tactic *) - let metas_for_tactic_head = - match head_goal with - | None -> [] - | Some head_goal -> List.filter (fun (n,_,_) -> n = head_goal) tactic in - let metas_for_tactic_goals = - List.map - (fun x -> List.find (fun (metano,_,_) -> metano = x) tactic) - goals - in - let metas_for_refine_goals = - List.filter (fun (n,_,_) -> List.mem n new_goals_from_refine) tactic in - let produced_metas, goals = - let produced_metas = - if always_opens_a_goal then - metas_for_tactic_head @ metas_for_refine_goals @ - metas_for_tactic_goals - else begin -(* print_m "metas_for_refine_goals" metas_for_refine_goals; - print_m "metas_for_tactic_head" metas_for_tactic_head; - print_m "metas_for_tactic_goals" metas_for_tactic_goals; *) - metas_for_refine_goals @ metas_for_tactic_head @ - metas_for_tactic_goals - end - in - let goals = List.map (fun (metano, _, _) -> metano) produced_metas in - produced_metas, goals - in - (* residual metas, preserving the original order *) - let before, after = - let rec split e = - function - | [] -> [],[] - | (metano, _, _) :: tl when metano = e -> - [], List.map (fun (x,_,_) -> x) tl - | (metano, _, _) :: tl -> let b, a = split e tl in metano :: b, a - in - let find n metasenv = - try - Some (List.find (fun (metano, _, _) -> metano = n) metasenv) - with Not_found -> None - in - let extract l = - List.fold_right - (fun n acc -> - match find n tactic with - | Some x -> x::acc - | None -> acc - ) l [] in - let before_l, after_l = split current_goal start in - let before_l = - List.filter (fun x -> not (List.mem x produced_goals)) before_l in - let after_l = - List.filter (fun x -> not (List.mem x produced_goals)) after_l in - let before = extract before_l in - let after = extract after_l in - before, after - in -(* |+ DEBUG CODE +| - print_m "BEGIN" start; - prerr_endline ("goal was: " ^ string_of_int current_goal); - prerr_endline ("and metas from refine are:"); - List.iter - (fun t -> prerr_string (" " ^ string_of_int t)) - new_goals_from_refine; - prerr_endline ""; - print_m "before" before; - print_m "metas_for_tactic_head" metas_for_tactic_head; - print_m "metas_for_refine_goals" metas_for_refine_goals; - print_m "metas_for_tactic_goals" metas_for_tactic_goals; - print_m "produced_metas" produced_metas; - print_m "after" after; -|+ FINE DEBUG CODE +| *) - before @ produced_metas @ after, goals - -(* maybe we only need special cases for apply and goal *) -let classify_tactic tactic = - match tactic with - (* tactics that can't close the goal (return a goal we want to "select") *) - | GrafiteAst.Rewrite _ - | GrafiteAst.Split _ - | GrafiteAst.Replace _ - | GrafiteAst.Reduce _ - | GrafiteAst.Injection _ - | GrafiteAst.IdTac _ - | GrafiteAst.Generalize _ - | GrafiteAst.Elim _ - | GrafiteAst.Cut _ - | GrafiteAst.Decompose _ -> true, true - (* tactics we don't want to reorder goals. I think only Goal needs this. *) - | GrafiteAst.Goal _ -> false, true - (* tactics like apply *) - | _ -> true, false - -let apply_tactic tactic (status, goal) = -(* prerr_endline "apply_tactic"; *) -(* prerr_endline (Continuationals.Stack.pp (MatitaTypes.get_stack status)); *) - let starting_metasenv = MatitaTypes.get_proof_metasenv status in - let before = List.map (fun g, _, _ -> g) starting_metasenv in -(* prerr_endline "disambiguate"; *) - let status_ref, tactic = disambiguate_tactic status goal tactic in - let metasenv_after_refinement = MatitaTypes.get_proof_metasenv !status_ref in - let proof = MatitaTypes.get_current_proof !status_ref in - let proof_status = proof, goal in - let needs_reordering, always_opens_a_goal = classify_tactic tactic in - let tactic = tactic_of_ast tactic in - (* apply tactic will change the status pointed by status_ref ... *) -(* prerr_endline "apply_tactic bassa"; *) - let (proof, opened) = ProofEngineTypes.apply_tactic tactic proof_status in - let after = ProofEngineTypes.goals_of_proof proof in - let opened_goals, closed_goals = Tacticals.goals_diff ~before ~after ~opened in -(* prerr_endline("before: " ^ String.concat ", " (List.map string_of_int before)); -prerr_endline("after: " ^ String.concat ", " (List.map string_of_int after)); -prerr_endline("opened: " ^ String.concat ", " (List.map string_of_int opened)); *) -(* prerr_endline("opened_goals: " ^ String.concat ", " (List.map string_of_int opened_goals)); -prerr_endline("closed_goals: " ^ String.concat ", " (List.map string_of_int closed_goals)); *) - let proof, opened_goals = - if needs_reordering then begin - let uri, metasenv_after_tactic, t, ty = proof in -(* prerr_endline ("goal prima del riordino: " ^ String.concat " " (List.map string_of_int (ProofEngineTypes.goals_of_proof proof))); *) - let reordered_metasenv, opened_goals = - reorder_metasenv - starting_metasenv - metasenv_after_refinement metasenv_after_tactic - opened goal always_opens_a_goal - in - let proof' = uri, reordered_metasenv, t, ty in -(* prerr_endline ("goal dopo il riordino: " ^ String.concat " " (List.map string_of_int (ProofEngineTypes.goals_of_proof proof'))); *) - proof', opened_goals - end - else - proof, opened_goals - in - let incomplete_proof = - match !status_ref.proof_status with - | Incomplete_proof p -> p - | _ -> assert false - in - { !status_ref with proof_status = - Incomplete_proof { incomplete_proof with proof = proof } }, - opened_goals, closed_goals - -module MatitaStatus = -struct - type input_status = MatitaTypes.status * ProofEngineTypes.goal - - type output_status = - MatitaTypes.status * ProofEngineTypes.goal list * ProofEngineTypes.goal list - - type tactic = input_status -> output_status - - let id_tactic = apply_tactic (GrafiteAst.IdTac DisambiguateTypes.dummy_floc) - let mk_tactic tac = tac - let apply_tactic tac = tac - let goals (_, opened, closed) = opened, closed - let set_goals (opened, closed) (status, _, _) = (status, opened, closed) - let get_stack (status, _) = MatitaTypes.get_stack status - - let set_stack stack (status, opened, closed) = - MatitaTypes.set_stack stack status, opened, closed - - let inject (status, _) = (status, [], []) - let focus goal (status, _, _) = (status, goal) -end - -module MatitaTacticals = Tacticals.Make (MatitaStatus) - -let eval_tactical status tac = - let rec tactical_of_ast l tac = - match tac with - | GrafiteAst.Tactic (loc, tactic) -> - MatitaTacticals.tactic (MatitaStatus.mk_tactic (apply_tactic tactic)) - | GrafiteAst.Seq (loc, tacticals) -> (* tac1; tac2; ... *) - assert (l > 0); - MatitaTacticals.seq ~tactics:(List.map (tactical_of_ast (l+1)) tacticals) - | GrafiteAst.Do (loc, n, tactical) -> - MatitaTacticals.do_tactic ~n ~tactic:(tactical_of_ast (l+1) tactical) - | GrafiteAst.Repeat (loc, tactical) -> - MatitaTacticals.repeat_tactic ~tactic:(tactical_of_ast (l+1) tactical) - | GrafiteAst.Then (loc, tactical, tacticals) -> (* tac; [ tac1 | ... ] *) - assert (l > 0); - MatitaTacticals.thens ~start:(tactical_of_ast (l+1) tactical) - ~continuations:(List.map (tactical_of_ast (l+1)) tacticals) - | GrafiteAst.First (loc, tacticals) -> - MatitaTacticals.first - ~tactics:(List.map (fun t -> "", tactical_of_ast (l+1) t) tacticals) - | GrafiteAst.Try (loc, tactical) -> - MatitaTacticals.try_tactic ~tactic:(tactical_of_ast (l+1) tactical) - | GrafiteAst.Solve (loc, tacticals) -> - MatitaTacticals.solve_tactics - ~tactics:(List.map (fun t -> "", tactical_of_ast (l+1) t) tacticals) - - | GrafiteAst.Skip loc -> MatitaTacticals.skip - | GrafiteAst.Dot loc -> MatitaTacticals.dot - | GrafiteAst.Semicolon loc -> MatitaTacticals.semicolon - | GrafiteAst.Branch loc -> MatitaTacticals.branch - | GrafiteAst.Shift loc -> MatitaTacticals.shift - | GrafiteAst.Pos (loc, i) -> MatitaTacticals.pos i - | GrafiteAst.Merge loc -> MatitaTacticals.merge - | GrafiteAst.Focus (loc, goals) -> MatitaTacticals.focus goals - | GrafiteAst.Unfocus loc -> MatitaTacticals.unfocus - in - let status, _, _ = tactical_of_ast 0 tac (status, ~-1) in - let status = (* is proof completed? *) - match status.proof_status with - | Incomplete_proof { stack = stack; proof = proof } - when Continuationals.Stack.is_empty stack -> - { status with proof_status = Proof proof } - | _ -> status - in - status - -let eval_coercion status coercion = - let coer_uri,coer_ty = - match coercion with - | Cic.Const (uri,_) - | Cic.Var (uri,_) -> - let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - (match o with - | Cic.Constant (_,_,ty,_,_) - | Cic.Variable (_,_,ty,_,_) -> - uri,ty - | _ -> assert false) - | Cic.MutConstruct (uri,t,c,_) -> - let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - (match o with - | Cic.InductiveDefinition (l,_,_,_) -> - let (_,_,_,cl) = List.nth l t in - let (_,cty) = List.nth cl c in - uri,cty - | _ -> assert false) - | _ -> assert false - in - (* we have to get the source and the tgt type uri - * in Coq syntax we have already their names, but - * since we don't support Funclass and similar I think - * all the coercion should be of the form - * (A:?)(B:?)T1->T2 - * So we should be able to extract them from the coercion type - *) - let extract_last_two_p ty = - let rec aux = function - | Cic.Prod( _, src, Cic.Prod (n,t1,t2)) -> aux (Cic.Prod(n,t1,t2)) - | Cic.Prod( _, src, tgt) -> src, tgt - | _ -> assert false - in - aux ty - in - let ty_src,ty_tgt = extract_last_two_p coer_ty in - let context = [] in - let src_uri = CoercDb.coerc_carr_of_term (CicReduction.whd context ty_src) in - let tgt_uri = CoercDb.coerc_carr_of_term (CicReduction.whd context ty_tgt) in - let new_coercions = - CoercGraph.close_coercion_graph src_uri tgt_uri coer_uri in - let status = - List.fold_left (fun s (uri,o,_) -> - let status = MatitaSync.add_obj uri o status in - {status with coercions = uri :: status.coercions}) - status new_coercions in - let status = {status with coercions = coer_uri :: status.coercions} in - let statement_of name = - GrafiteAst.Coercion (DisambiguateTypes.dummy_floc, - (CicNotationPt.Ident (name, None))) - in - let moo_content = - statement_of (UriManager.name_of_uri coer_uri) :: - (List.map - (fun (uri, _, _) -> - statement_of (UriManager.name_of_uri uri)) - new_coercions) - in - let status = add_moo_content moo_content status in - { status with proof_status = No_proof } - -let generate_elimination_principles uri status = - let status' = ref status in - let elim sort = - try - let uri,obj = CicElim.elim_of ~sort uri 0 in - status' := MatitaSync.add_obj uri obj !status' - with CicElim.Can_t_eliminate -> () - in - try - List.iter elim [ Cic.Prop; Cic.Set; (Cic.Type (CicUniv.fresh ())) ]; - !status' - with exn -> - MatitaSync.time_travel ~present:!status' ~past:status; - raise exn - -let generate_projections uri fields status = - let projections = CicRecord.projections_of uri fields in - List.fold_left - (fun status (uri, name, bo) -> - try - let ty, ugraph = - CicTypeChecker.type_of_aux' [] [] bo CicUniv.empty_ugraph in - let attrs = [`Class `Projection; `Generated] in - let obj = Cic.Constant (name,Some bo,ty,[],attrs) in - MatitaSync.add_obj uri obj status - with - CicTypeChecker.TypeCheckerFailure s -> - MatitaLog.message - ("Unable to create projection " ^ name ^ " cause: " ^ (Lazy.force s)); - status - | CicEnvironment.Object_not_found uri -> - let depend = UriManager.name_of_uri uri in - MatitaLog.message - ("Unable to create projection " ^ name ^ " because it requires " ^ depend); - status - ) status projections - -(* to avoid a long list of recursive functions *) -let eval_from_moo_ref = ref (fun _ _ _ -> assert false);; - -let disambiguate_obj status obj = - let uri = - match obj with - GrafiteAst.Inductive (_,(name,_,_,_)::_) - | GrafiteAst.Record (_,name,_,_) -> - Some (UriManager.uri_of_string (MatitaTypes.qualify status name ^ ".ind")) - | GrafiteAst.Inductive _ -> assert false - | GrafiteAst.Theorem _ -> None in - let (diff, metasenv, cic, _) = - singleton - (MatitaDisambiguator.disambiguate_obj ~dbd:(MatitaDb.instance ()) - ~aliases:status.aliases ~universe:(Some status.multi_aliases) ~uri obj) - in - let proof_status = - match status.proof_status with - | No_proof -> Intermediate metasenv - | Incomplete_proof _ - | Proof _ -> command_error "imbricated proofs not allowed" - | Intermediate _ -> assert false - in - let status = { status with proof_status = proof_status } in - let status = MatitaSync.set_proof_aliases status diff in - status, cic - -let disambiguate_command status = - function - | GrafiteAst.Alias _ - | GrafiteAst.Default _ - | GrafiteAst.Drop _ - | GrafiteAst.Dump _ - | GrafiteAst.Include _ - | GrafiteAst.Interpretation _ - | GrafiteAst.Metadata _ - | GrafiteAst.Notation _ - | GrafiteAst.Qed _ - | GrafiteAst.Render _ - | GrafiteAst.Set _ as cmd -> - status,cmd - | GrafiteAst.Coercion (loc, term) -> - let status_ref = ref status in - let term = disambiguate_term ~context:[] status_ref ~-1 term in - !status_ref, GrafiteAst.Coercion (loc,term) - | GrafiteAst.Obj (loc,obj) -> - let status,obj = disambiguate_obj status obj in - status, GrafiteAst.Obj (loc,obj) - -let make_absolute paths path = - if path = "coq.ma" then path - else - let rec aux = function - | [] -> ignore (Unix.stat path); path - | p :: tl -> - let path = p ^ "/" ^ path in - try - ignore (Unix.stat path); path - with Unix.Unix_error _ -> aux tl - in - try - aux paths - with Unix.Unix_error _ as exc -> raise (UnableToInclude path) -;; - -let eval_command opts status cmd = - let status,cmd = disambiguate_command status cmd in - let cmd,notation_ids' = CicNotation.process_notation cmd in - let status = - { status with notation_ids = notation_ids' @ status.notation_ids } - in - match cmd with - | GrafiteAst.Default (loc, what, uris) as cmd -> - LibraryObjects.set_default what uris; - add_moo_content [cmd] status - | GrafiteAst.Include (loc, path) -> - let absolute_path = make_absolute opts.include_paths path in - let moopath = MatitacleanLib.obj_file_of_script absolute_path in - let status = ref status in - if not (Sys.file_exists moopath) then - raise (IncludedFileNotCompiled moopath); - !eval_from_moo_ref status moopath (fun _ _ -> ()); - !status - | GrafiteAst.Metadata (loc, m) -> - (match m with - | GrafiteAst.Dependency uri -> MatitaTypes.add_moo_metadata [m] status - | GrafiteAst.Baseuri _ -> status) - | GrafiteAst.Set (loc, name, value) -> - let status = - if name = "baseuri" then begin - let value = - let v = MatitaMisc.strip_trailing_slash value in - try - ignore (String.index v ' '); - command_error "baseuri can't contain spaces" - with Not_found -> v - in - if not (MatitaMisc.is_empty value) && opts.clean_baseuri then begin - MatitaLog.warn ("baseuri " ^ value ^ " is not empty"); - MatitaLog.message ("cleaning baseuri " ^ value); - MatitacleanLib.clean_baseuris [value] - end; - add_moo_metadata [GrafiteAst.Baseuri value] status - end else - status - in - set_option status name value - | GrafiteAst.Drop loc -> raise Drop - | GrafiteAst.Qed loc -> - let uri, metasenv, bo, ty = - match status.proof_status with - | Proof (Some uri, metasenv, body, ty) -> - uri, metasenv, body, ty - | Proof (None, metasenv, body, ty) -> - command_error - ("Someone allows to start a thm without giving the "^ - "name/uri. This should be fixed!") - | _-> command_error "You can't Qed an incomplete theorem" - in - let suri = UriManager.string_of_uri uri in - if metasenv <> [] then - command_error "Proof not completed! metasenv is not empty!"; - let name = UriManager.name_of_uri uri in - let obj = Cic.Constant (name,Some bo,ty,[],[]) in - MatitaSync.add_obj uri obj status - | GrafiteAst.Coercion (loc, coercion) -> eval_coercion status coercion - | GrafiteAst.Alias (loc, spec) -> - let diff = - (*CSC: Warning: this code should be factorized with the corresponding - code in DisambiguatePp *) - match spec with - | GrafiteAst.Ident_alias (id,uri) -> - [DisambiguateTypes.Id id, - (uri,(fun _ _ _-> CicUtil.term_of_uri(UriManager.uri_of_string uri)))] - | GrafiteAst.Symbol_alias (symb, instance, desc) -> - [DisambiguateTypes.Symbol (symb,instance), - DisambiguateChoices.lookup_symbol_by_dsc symb desc] - | GrafiteAst.Number_alias (instance,desc) -> - [DisambiguateTypes.Num instance, - DisambiguateChoices.lookup_num_by_dsc desc] - in - MatitaSync.set_proof_aliases status diff - | GrafiteAst.Render _ -> assert false (* ZACK: to be removed *) - | GrafiteAst.Dump _ -> assert false (* ZACK: to be removed *) - | GrafiteAst.Interpretation (_, dsc, (symbol, _), cic_appl_pattern) as stm -> - let status = add_moo_content [stm] status in - let uris = - List.map - (fun uri -> GrafiteAst.Dependency (UriManager.buri_of_uri uri)) - (CicNotationUtil.find_appl_pattern_uris cic_appl_pattern) - in - let diff = - [DisambiguateTypes.Symbol (symbol, 0), - DisambiguateChoices.lookup_symbol_by_dsc symbol dsc] - in - let status = MatitaSync.set_proof_aliases status diff in - let status = MatitaTypes.add_moo_metadata uris status in - status - | GrafiteAst.Notation _ as stm -> add_moo_content [stm] status - | GrafiteAst.Obj (loc,obj) -> - let ext,name = - match obj with - Cic.Constant (name,_,_,_,_) - | Cic.CurrentProof (name,_,_,_,_,_) -> ".con",name - | Cic.InductiveDefinition (types,_,_,_) -> - ".ind", - (match types with (name,_,_,_)::_ -> name | _ -> assert false) - | _ -> assert false in - let uri = - UriManager.uri_of_string (MatitaTypes.qualify status name ^ ext) - in - let metasenv = MatitaTypes.get_proof_metasenv status in - match obj with - | Cic.CurrentProof (_,metasenv',bo,ty,_,_) -> - let name = UriManager.name_of_uri uri in - if not(CicPp.check name ty) then - MatitaLog.error ("Bad name: " ^ name); - if opts.do_heavy_checks then - begin - let dbd = MatitaDb.instance () in - let similar = MetadataQuery.match_term ~dbd ty in - let similar_len = List.length similar in - if similar_len> 30 then - (MatitaLog.message - ("Duplicate check will compare your theorem with " ^ - string_of_int similar_len ^ - " theorems, this may take a while.")); - let convertible = - List.filter ( - fun u -> - let t = CicUtil.term_of_uri u in - let ty',g = - CicTypeChecker.type_of_aux' - metasenv' [] t CicUniv.empty_ugraph - in - fst(CicReduction.are_convertible [] ty' ty g)) - similar - in - (match convertible with - | [] -> () - | x::_ -> - MatitaLog.warn - ("Theorem already proved: " ^ UriManager.string_of_uri x ^ - "\nPlease use a variant.")); - end; - assert (metasenv = metasenv'); - let goalno = - match metasenv' with (goalno,_,_)::_ -> goalno | _ -> assert false - in - let initial_proof = (Some uri, metasenv, bo, ty) in - let initial_stack = Continuationals.Stack.of_metasenv metasenv in - { status with proof_status = - Incomplete_proof { proof = initial_proof; stack = initial_stack } } - | _ -> - if metasenv <> [] then - command_error ( - "metasenv not empty while giving a definition with body: " ^ - CicMetaSubst.ppmetasenv [] metasenv); - let status' = ref status in - (try - status' := MatitaSync.add_obj uri obj !status'; - (match obj with - | Cic.Constant _ -> () - | Cic.InductiveDefinition (_,_,_,attrs) -> - status' := generate_elimination_principles uri !status'; - let rec get_record_attrs = - function - | [] -> None - | (`Class (`Record fields))::_ -> Some fields - | _::tl -> get_record_attrs tl - in - (match get_record_attrs attrs with - | None -> () (* not a record *) - | Some fields -> - status' := generate_projections uri fields !status') - | Cic.CurrentProof _ - | Cic.Variable _ -> assert false); - !status' - with exn -> - MatitaSync.time_travel ~present:!status' ~past:status; - raise exn) - -let eval_executable opts status ex = - match ex with - | GrafiteAst.Tactical (_, tac, None) -> eval_tactical status tac - | GrafiteAst.Tactical (_, tac, Some punct) -> - let status = eval_tactical status tac in - eval_tactical status punct - | GrafiteAst.Command (_, cmd) -> eval_command opts status cmd - | GrafiteAst.Macro (_, mac) -> - command_error (sprintf "The macro %s can't be in a script" - (GrafiteAstPp.pp_macro_ast mac)) - -let eval_comment status c = status - -let eval_ast - ?(do_heavy_checks=false) ?(include_paths=[]) ?(clean_baseuri=true) status st -= - let opts = { - do_heavy_checks = do_heavy_checks ; - include_paths = include_paths; - clean_baseuri = clean_baseuri } - in - match st with - | GrafiteAst.Executable (_,ex) -> eval_executable opts status ex - | GrafiteAst.Comment (_,c) -> eval_comment status c - -let eval_from_moo ?do_heavy_checks ?include_paths ?clean_baseuri status fname cb -= - let ast_of_cmd cmd = - GrafiteAst.Executable (DisambiguateTypes.dummy_floc, - GrafiteAst.Command (DisambiguateTypes.dummy_floc, - (GrafiteAst.reash_cmd_uris cmd))) - in - let moo, metadata = MatitaMoo.load_moo fname in - List.iter - (fun ast -> - let ast = ast_of_cmd ast in - cb !status ast; - status := - eval_ast ?do_heavy_checks ?include_paths ?clean_baseuri !status ast) - moo; - List.iter - (fun m -> - let ast = - ast_of_cmd (GrafiteAst.Metadata (DisambiguateTypes.dummy_floc, m)) - in - cb !status ast; - status := - eval_ast ?do_heavy_checks ?include_paths ?clean_baseuri !status ast) - metadata - -let eval_from_stream - ?do_heavy_checks ?include_paths ?clean_baseuri status str cb -= - try - while true do - let ast = GrafiteParser.parse_statement str in - cb !status ast; - status := - eval_ast ?do_heavy_checks ?include_paths ?clean_baseuri !status ast - done - with End_of_file -> () - -(* to avoid a long list of recursive functions *) -let _ = eval_from_moo_ref := eval_from_moo - -let eval_from_stream_greedy - ?do_heavy_checks ?include_paths ?clean_baseuri status str cb -= - while true do - print_string "matita> "; - flush stdout; - let ast = GrafiteParser.parse_statement str in - cb !status ast; - status := eval_ast ?do_heavy_checks ?include_paths ?clean_baseuri !status ast - done -;; - -let eval_string ?do_heavy_checks ?include_paths ?clean_baseuri status str = - eval_from_stream - ?do_heavy_checks ?include_paths ?clean_baseuri status - (Ulexing.from_utf8_string str) (fun _ _ -> ()) - -let default_options () = -(* - let options = - StringMap.add "baseuri" - (String - (Helm_registry.get "matita.baseuri" ^ Helm_registry.get "matita.owner")) - no_options - in -*) - let options = - StringMap.add "basedir" - (String (Helm_registry.get "matita.basedir")) - no_options - in - options - -let initial_status = - lazy { - aliases = DisambiguateTypes.Environment.empty; - multi_aliases = DisambiguateTypes.Environment.empty; - moo_content_rev = [], []; - proof_status = No_proof; - options = default_options (); - objects = []; - coercions = []; - notation_ids = []; - } - diff --git a/helm/matita/matitaEngine.mli b/helm/matita/matitaEngine.mli deleted file mode 100644 index e8cdbad0e..000000000 --- a/helm/matita/matitaEngine.mli +++ /dev/null @@ -1,63 +0,0 @@ -(* Copyright (C) 2004-2005, 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 Drop -exception UnableToInclude of string -exception IncludedFileNotCompiled of string - -(* heavy checks slow down the compilation process but give you some interesting - * infos like if the theorem is a duplicate *) -val eval_string: - ?do_heavy_checks:bool -> - ?include_paths:string list -> - ?clean_baseuri:bool -> - MatitaTypes.status ref -> string -> unit - -val eval_from_stream: - ?do_heavy_checks:bool -> - ?include_paths:string list -> - ?clean_baseuri:bool -> - MatitaTypes.status ref -> Ulexing.lexbuf -> - (MatitaTypes.status -> GrafiteParser.statement -> unit) -> - unit - -val eval_from_stream_greedy: - ?do_heavy_checks:bool -> - ?include_paths:string list -> - ?clean_baseuri:bool -> - MatitaTypes.status ref-> Ulexing.lexbuf -> - (MatitaTypes.status -> GrafiteParser.statement -> unit) -> - unit - -val eval_ast: - ?do_heavy_checks:bool -> - ?include_paths:string list -> - ?clean_baseuri:bool -> - MatitaTypes.status -> - GrafiteParser.statement -> - MatitaTypes.status - -val initial_status: MatitaTypes.status lazy_t - diff --git a/helm/matita/matitaExcPp.ml b/helm/matita/matitaExcPp.ml deleted file mode 100644 index 3ad6da153..000000000 --- a/helm/matita/matitaExcPp.ml +++ /dev/null @@ -1,72 +0,0 @@ -(* Copyright (C) 2004-2005, 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 to_string = - function - | MatitaTypes.Option_error ("baseuri", "not found" ) -> - "Baseuri not set for this script. " - ^ "Use 'set \"baseuri\" \"\".' to set it." - | MatitaTypes.Command_error msg -> "Error: " ^ msg - | CicNotationParser.Parse_error (floc,err) -> - let (x, y) = CicNotationPt.loc_of_floc floc in - sprintf "Parse error at %d-%d: %s" x y err - | UriManager.IllFormedUri uri -> sprintf "invalid uri: %s" uri - | CicEnvironment.Object_not_found uri -> - sprintf "object not found: %s" (UriManager.string_of_uri uri) - | Unix.Unix_error (code, api, param) -> - let err = Unix.error_message code in - "Unix Error (" ^ api ^ "): " ^ err - | MatitaMoo.Corrupt_moo fname -> - sprintf ".moo file '%s' is corrupt (shorter than expected)" fname - | MatitaMoo.Checksum_failure fname -> - sprintf "checksum failed for .moo file '%s', please recompile it'" fname - | MatitaMoo.Version_mismatch fname -> - sprintf - (".moo file '%s' has been compiled by a different version of matita, " - ^^ "please recompile it") - fname - | ProofEngineTypes.Fail msg -> "Tactic error: " ^ Lazy.force msg - | Continuationals.Error s -> "Tactical error: " ^ Lazy.force s - | CicTypeChecker.TypeCheckerFailure msg -> - "Type checking error: " ^ Lazy.force msg - | CicTypeChecker.AssertFailure msg -> - "Type checking assertion failed: " ^ Lazy.force msg - | MatitaDisambiguator.DisambiguationError errorll -> - let rec aux n = - function - [] -> "" - | phase::tl -> - aux (n+1) tl ^ - "***** Errors obtained during phase " ^ string_of_int n ^": *****\n"^ - String.concat "\n\n" - (List.map (fun msg -> "*Error: " ^ Lazy.force msg) phase) ^ - "\n\n\n" - in - "********** DISAMBIGUATION ERRORS: **********\n" ^ - aux 1 errorll - | exn -> "Uncaught exception: " ^ Printexc.to_string exn - diff --git a/helm/matita/matitaExcPp.mli b/helm/matita/matitaExcPp.mli deleted file mode 100644 index 4c4eddc8d..000000000 --- a/helm/matita/matitaExcPp.mli +++ /dev/null @@ -1,27 +0,0 @@ -(* Copyright (C) 2004-2005, 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 to_string: exn -> string - diff --git a/helm/matita/matitaGtkMisc.ml b/helm/matita/matitaGtkMisc.ml deleted file mode 100644 index 3c0d1b4c3..000000000 --- a/helm/matita/matitaGtkMisc.ml +++ /dev/null @@ -1,443 +0,0 @@ -(* Copyright (C) 2004-2005, 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 PopupClosed -open Printf - -open MatitaTypes - -let wrap_callback f = f - -let connect_button (button: #GButton.button) callback = - ignore (button#connect#clicked (wrap_callback callback)) - -let connect_toggle_button (button: #GButton.toggle_button) callback = - ignore (button#connect#toggled (wrap_callback callback)) - -let connect_menu_item (menu_item: #GMenu.menu_item) callback = - ignore (menu_item#connect#activate (wrap_callback callback)) - -let connect_key (ev:GObj.event_ops) ?(modifiers = []) ?(stop = false) key - callback -= - ignore (ev#connect#key_press (fun key' -> - let modifiers' = GdkEvent.Key.state key' in - (match key' with - | key' when GdkEvent.Key.keyval key' = key - && List.for_all (fun m -> List.mem m modifiers') modifiers -> - callback (); - stop - | _ -> false))) - -let toggle_widget_visibility ~(widget: GObj.widget) - ~(check: GMenu.check_menu_item) -= - ignore (check#connect#toggled (fun _ -> - if check#active then widget#misc#show () else widget#misc#hide ())) - -let toggle_window_visibility ~(window: GWindow.window) - ~(check: GMenu.check_menu_item) -= - ignore (check#connect#toggled (fun _ -> - if check#active then window#show () else window#misc#hide ())); - ignore (window#event#connect#delete (fun _ -> - window#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 toggle_callback ~callback ~(check: GMenu.check_menu_item) = - ignore (check#connect#toggled (fun _ -> callback 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 multiStringListModel ~cols (tree_view: GTree.view) = - let column_list = new GTree.column_list in - let text_columns = - let rec aux = function - | 0 -> [] - | n -> column_list#add Gobject.Data.string :: aux (n - 1) - in - aux cols - in - let list_store = GTree.list_store column_list in - let renderers = - List.map - (fun text_column -> - (GTree.cell_renderer_text [], ["text", text_column])) - text_columns - in - let view_columns = - List.map - (fun renderer -> GTree.view_column ~renderer ()) - renderers - in - object (self) - val text_columns = text_columns - - initializer - tree_view#set_model (Some (list_store :> GTree.model)); - List.iter - (fun view_column -> ignore (tree_view#append_column view_column)) - view_columns - - method list_store = list_store - - method easy_mappend slist = - let tree_iter = list_store#append () in - List.iter2 - (fun s text_column -> - list_store#set ~row:tree_iter ~column:text_column s) - slist text_columns - - method easy_minsert pos s = - let tree_iter = list_store#insert pos in - List.iter2 - (fun s text_column -> - list_store#set ~row:tree_iter ~column:text_column s) - s text_columns - - method easy_mselection () = - List.map - (fun tree_path -> - let iter = list_store#get_iter tree_path in - List.map - (fun text_column -> - list_store#get ~row:iter ~column:text_column) - text_columns) - tree_view#selection#get_selected_rows - end - -class stringListModel (tree_view: GTree.view) = - object (self) - inherit multiStringListModel ~cols:1 tree_view as multi - - method list_store = multi#list_store - - method easy_append s = - multi#easy_mappend [s] - - method easy_insert pos s = - multi#easy_minsert pos [s] - - method easy_selection () = - let m = List.map - (fun tree_path -> - let iter = self#list_store#get_iter tree_path in - List.map - (fun text_column -> - self#list_store#get ~row:iter ~column:text_column) - text_columns) - tree_view#selection#get_selected_rows - in - List.map (function [x] -> x | _ -> assert false) m - end - -class taggedStringListModel ~(tags:(string * GdkPixbuf.pixbuf) list) - (tree_view: GTree.view) -= - let column_list = new GTree.column_list in - let tag_column = column_list#add Gobject.Data.gobject in - let text_column = column_list#add Gobject.Data.string in - let list_store = GTree.list_store column_list in - let text_renderer = (GTree.cell_renderer_text [], ["text", text_column]) in - let tag_renderer = (GTree.cell_renderer_pixbuf [], ["pixbuf", tag_column]) in - let text_vcolumn = GTree.view_column ~renderer:text_renderer () in - let tag_vcolumn = GTree.view_column ~renderer:tag_renderer () in - let lookup_pixbuf tag = - try List.assoc tag tags with Not_found -> assert false - in - object (self) - initializer - tree_view#set_model (Some (list_store :> GTree.model)); - ignore (tree_view#append_column tag_vcolumn); - ignore (tree_view#append_column text_vcolumn) - - method list_store = list_store - - method easy_append ~tag s = - let tree_iter = list_store#append () in - list_store#set ~row:tree_iter ~column:text_column s; - list_store#set ~row:tree_iter ~column:tag_column (lookup_pixbuf tag) - - method easy_insert pos ~tag s = - let tree_iter = list_store#insert pos in - list_store#set ~row:tree_iter ~column:text_column s; - list_store#set ~row:tree_iter ~column:tag_column (lookup_pixbuf tag) - - 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 recordModel (tree_view:GTree.view) = - let cols_list = new GTree.column_list in - let text_col = cols_list#add Gobject.Data.string in -(* let combo_col = cols_list#add (Gobject.Data.gobject_by_name "GtkListStore") in *) - let combo_col = cols_list#add Gobject.Data.int in - let toggle_col = cols_list#add Gobject.Data.boolean in - let list_store = GTree.list_store cols_list in - let text_rend = (GTree.cell_renderer_text [], ["text", text_col]) in - let combo_rend = GTree.cell_renderer_combo [] in -(* let combo_rend = (GTree.cell_renderer_combo [], [|+"model", combo_col+|]) in *) - let toggle_rend = - (GTree.cell_renderer_toggle [`ACTIVATABLE true], ["active", toggle_col]) - in - let text_vcol = GTree.view_column ~renderer:text_rend () in - let combo_vcol = GTree.view_column ~renderer:(combo_rend, []) () in - let _ = - combo_vcol#set_cell_data_func combo_rend - (fun _ _ -> - prerr_endline "qui"; - let model, col = - GTree.store_of_list Gobject.Data.string ["a"; "b"; "c"] - in - combo_rend#set_properties [ - `MODEL (Some (model :> GTree.model)); - `TEXT_COLUMN col - ]) - in - let toggle_vcol = GTree.view_column ~renderer:toggle_rend () in - object (self) - initializer - tree_view#set_model (Some (list_store :> GTree.model)); - ignore (tree_view#append_column text_vcol); - ignore (tree_view#append_column combo_vcol); - ignore (tree_view#append_column toggle_vcol) - - method list_store = list_store - - method easy_append s (combo:int) (toggle:bool) = - let tree_iter = list_store#append () in - list_store#set ~row:tree_iter ~column:text_col s; - list_store#set ~row:tree_iter ~column:combo_col combo; - list_store#set ~row:tree_iter ~column:toggle_col toggle - end - -class type gui = - object - method newUriDialog: unit -> MatitaGeneratedGui.uriChoiceDialog - method newRecordDialog: unit -> MatitaGeneratedGui.recordChoiceDialog - method newConfirmationDialog: unit -> MatitaGeneratedGui.confirmationDialog - method newEmptyDialog: unit -> MatitaGeneratedGui.emptyDialog - end - -let popup_message - ~title ~message ~buttons ~callback - ?(message_type=`QUESTION) ?parent ?(use_markup=true) - ?(destroy_with_parent=true) ?(allow_grow=false) ?(allow_shrink=false) - ?icon ?(modal=true) ?(resizable=false) ?screen ?type_hint - ?(position=`CENTER_ON_PARENT) ?wm_name ?wm_class ?border_width ?width - ?height ?(show=true) () -= - let m = - GWindow.message_dialog - ~message ~use_markup ~message_type ~buttons ?parent ~destroy_with_parent - ~title ~allow_grow ~allow_shrink ?icon ~modal ~resizable ?screen - ?type_hint ~position ?wm_name ?wm_class ?border_width ?width ?height - ~show () - in - ignore(m#connect#response - ~callback:(fun a -> GMain.Main.quit ();callback a)); - ignore(m#connect#close - ~callback:(fun _ -> GMain.Main.quit ();raise PopupClosed)); - GtkThread.main (); - m#destroy () - -let popup_message_lowlevel - ~title ~message ?(no_separator=true) ~callback ~message_type ~buttons - ?parent ?(destroy_with_parent=true) ?(allow_grow=false) ?(allow_shrink=false) - ?icon ?(modal=true) ?(resizable=false) ?screen ?type_hint - ?(position=`CENTER_ON_PARENT) ?wm_name ?wm_class ?border_width ?width - ?height ?(show=true) () -= - let m = - GWindow.dialog - ~no_separator - ?parent ~destroy_with_parent - ~title ~allow_grow ~allow_shrink ?icon ~modal ~resizable ?screen - ?type_hint ~position ?wm_name ?wm_class ?border_width ?width ?height - ~show:false () - in - let stock = - match message_type with - | `WARNING -> `DIALOG_WARNING - | `INFO -> `DIALOG_INFO - | `ERROR ->`DIALOG_ERROR - | `QUESTION -> `DIALOG_QUESTION - in - let image = GMisc.image ~stock ~icon_size:`DIALOG () in - let label = GMisc.label ~markup:message () in - label#set_line_wrap true; - let hbox = GPack.hbox ~spacing:10 () in - hbox#pack ~from:`START ~expand:true ~fill:true (image:>GObj.widget); - hbox#pack ~from:`START ~expand:true ~fill:true (label:>GObj.widget); - m#vbox#pack ~from:`START - ~padding:20 ~expand:true ~fill:true (hbox:>GObj.widget); - List.iter (fun (x, y) -> - m#add_button_stock x y; - if y = `CANCEL then - m#set_default_response y - ) buttons; - ignore(m#connect#response - ~callback:(fun a -> GMain.Main.quit ();callback a)); - ignore(m#connect#close - ~callback:(fun _ -> GMain.Main.quit ();callback `POPUPCLOSED)); - if show = true then - m#show (); - GtkThread.main (); - m#destroy () - - -let ask_confirmation ~title ~message ?parent () = - let rc = ref `YES in - let callback = - function - | `YES -> rc := `YES - | `NO -> rc := `NO - | `CANCEL -> rc := `CANCEL - | `DELETE_EVENT -> rc := `CANCEL - | `POPUPCLOSED -> rc := `CANCEL - in - let buttons = [`YES,`YES ; `NO,`NO ; `CANCEL,`CANCEL] in - popup_message_lowlevel - ~title ~message ~message_type:`WARNING ~callback ~buttons ?parent (); - !rc - -let report_error ~title ~message ?parent () = - let rc = ref false in - let callback _ = () in - let buttons = GWindow.Buttons.ok in - try - popup_message - ~title ~message ~message_type:`ERROR ~callback ~buttons ?parent () - with - | PopupClosed -> () - - -let ask_text ~(gui:#gui) ?(title = "") ?(message = "") ?(multiline = false) - ?default () -= - let dialog = gui#newEmptyDialog () in - dialog#emptyDialog#set_title title; - dialog#emptyDialogLabel#set_label message; - 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 - let buffer = view#buffer in - (match default with - | None -> () - | Some text -> - buffer#set_text text; - buffer#select_range buffer#start_iter buffer#end_iter); - view#misc#grab_focus (); - connect_button dialog#emptyDialogOkButton (fun _ -> - return (Some (buffer#get_text ()))) - end else begin (* monoline input required: use a TextEntry widget *) - let entry = GEdit.entry ~packing:dialog#emptyDialogVBox#add () in - (match default with - | None -> () - | Some text -> - entry#set_text text; - entry#select_region ~start:0 ~stop:max_int); - 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) - -type combo_status = Free of string | Locked of string - -let ask_record_choice ~(gui:#gui) ?(title= "") ?(message = "") - ~fields ~records () -= - let fields = Array.of_list fields in - let fields_no = Array.length fields in - assert (fields_no > 0); - let dialog = gui#newRecordDialog () in - dialog#recordChoiceDialog#set_title title; - dialog#recordChoiceDialogLabel#set_label message; - let model = new recordModel dialog#recordChoiceTreeView in - dialog#recordChoiceTreeView#set_headers_visible true; - let combos = - Array.init fields_no - (fun _ -> GTree.store_of_list Gobject.Data.string ["a"; "b"; "c"]) - in - let (store, col) = combos.(0) in - store#set ~row:(store#append ()) ~column:col "uno"; - store#set ~row:(store#append ()) ~column:col "due"; - let toggles = Array.init fields_no (fun _ -> false) in - Array.iteri - (fun i f -> model#easy_append f i toggles.(i)) - fields; - let status = Array.map (fun s -> Free s) fields in - let record_no = ref None in - let return _ = - dialog#recordChoiceDialog#destroy (); - GMain.Main.quit () - in - let fail _ = record_no := None; return () in - ignore (dialog#recordChoiceDialog#event#connect#delete (fun _ -> true)); - connect_button dialog#recordChoiceOkButton (fun _ -> - match !record_no with None -> () | Some _ -> return ()); - connect_button dialog#recordChoiceCancelButton fail; -(* ignore (dialog#recordChoiceTreeView#connect#row_activated (fun path _ -> - interp_no := Some (model#get_interp_no path); - return ())); - let selection = dialog#recordChoiceTreeView#selection in - ignore (selection#connect#changed (fun _ -> - match selection#get_selected_rows with - | [path] -> interp_no := Some (model#get_interp_no path) - | _ -> assert false)); *) - dialog#recordChoiceDialog#show (); - GtkThread.main (); - (match !record_no with Some n -> n | _ -> raise MatitaTypes.Cancel) - diff --git a/helm/matita/matitaGtkMisc.mli b/helm/matita/matitaGtkMisc.mli deleted file mode 100644 index 1affd2a39..000000000 --- a/helm/matita/matitaGtkMisc.mli +++ /dev/null @@ -1,157 +0,0 @@ -(* Copyright (C) 2004-2005, 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_window_visibility: - window:GWindow.window -> check:GMenu.check_menu_item -> unit - - (** 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_widget_visibility: - widget:GObj.widget -> check:GMenu.check_menu_item -> unit - -val toggle_callback: - callback:(bool -> unit) -> 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 - -(** Connect a callback to the clicked signal of a button, ignoring its return - * value *) -val connect_button: #GButton.button -> (unit -> unit) -> unit - - -(** Connect a callback to the toggled signal of a button, ignoring its return - * value *) -val connect_toggle_button: #GButton.toggle_button -> (unit -> unit) -> unit - -(** Like connect_button above, but connects a callback to the activate signal of - * a menu item *) -val connect_menu_item: #GMenu.menu_item -> (unit -> unit) -> unit - - (** connect a unit -> unit callback to a particular key press event. Event can - * be specified using its keysym and a list of modifiers which must be in - * effect for the callback to be executed. Further signal processing of other - * key press events remains unchanged; further signal processing of the - * specified key press depends on the stop parameter *) -val connect_key: - GObj.event_ops -> - ?modifiers:Gdk.Tags.modifier list -> - ?stop:bool -> (* stop signal handling when the given key has been pressed? - * Defaults to false *) - Gdk.keysym -> (* (= int) the key, see GdkKeysyms.ml *) - (unit -> unit) -> (* callback *) - unit - - (** n-ary string column list *) -class multiStringListModel: - cols:int -> - GTree.view -> - object - method list_store: GTree.list_store (** list_store forwarding *) - - method easy_mappend: string list -> unit (** append + set *) - method easy_minsert: int -> string list -> unit (** insert + set *) - method easy_mselection: unit -> string list list - end - - (** single string column list *) -class stringListModel: - GTree.view -> - object - inherit multiStringListModel - - method easy_append: string -> unit (** append + set *) - method easy_insert: int -> string -> unit (** insert + set *) - method easy_selection: unit -> string list - end - - - (** as above with Pixbuf associated to each row. Each time an insert is - * performed a string tag should be specified, the corresponding pixbuf in the - * tags associative list will be shown on the left of the inserted row *) -class taggedStringListModel: - tags:((string * GdkPixbuf.pixbuf) list) -> - GTree.view -> - object - method list_store: GTree.list_store (** list_store forwarding *) - - method easy_append: tag:string -> string -> unit - method easy_insert: int -> tag:string -> string -> unit - 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 newRecordDialog: unit -> MatitaGeneratedGui.recordChoiceDialog - method newConfirmationDialog: unit -> MatitaGeneratedGui.confirmationDialog - method newEmptyDialog: unit -> MatitaGeneratedGui.emptyDialog - end - - (** {3 Dialogs} - * In functions below: - * @param title window title - * @param message content of the text label shown to the user *) - - (** @param parent to center the window on it *) -val ask_confirmation: - title:string -> message:string -> - ?parent:#GWindow.window_skel -> - unit -> - [`YES | `NO | `CANCEL] - - (** @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 -> ?message:string -> - ?multiline:bool -> ?default:string -> unit -> - string - - (** @param fields field names - * @param records list of records, each record is a list of [fields] strings - * @return number of the chosen record, 0 for the first one *) -val ask_record_choice: - gui:#gui -> - ?title:string -> ?message:string -> - fields:string list -> records:string list list -> - unit -> - int - -val report_error: - title:string -> message:string -> - ?parent:#GWindow.window_skel -> - unit -> - unit - diff --git a/helm/matita/matitaGui.ml b/helm/matita/matitaGui.ml deleted file mode 100644 index fe113743b..000000000 --- a/helm/matita/matitaGui.ml +++ /dev/null @@ -1,1183 +0,0 @@ -(* Copyright (C) 2004-2005, 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 MatitaGeneratedGui -open MatitaGtkMisc -open MatitaMisc - -exception Found of int - -let gui_instance = ref None - -class type browserWin = - (* this class exists only because GEdit.combo_box_entry is not supported by - * lablgladecc :-(((( *) -object - inherit MatitaGeneratedGui.browserWin - method browserUri: GEdit.combo_box_entry -end - -class console ~(buffer: GText.buffer) () = - object (self) - val error_tag = buffer#create_tag [ `FOREGROUND "red" ] - val warning_tag = buffer#create_tag [ `FOREGROUND "orange" ] - val message_tag = buffer#create_tag [] - val debug_tag = buffer#create_tag [ `FOREGROUND "#888888" ] - method message s = buffer#insert ~iter:buffer#end_iter ~tags:[message_tag] s - method error s = buffer#insert ~iter:buffer#end_iter ~tags:[error_tag] s - method warning s = buffer#insert ~iter:buffer#end_iter ~tags:[warning_tag] s - method debug s = buffer#insert ~iter:buffer#end_iter ~tags:[debug_tag] s - method clear () = - buffer#delete ~start:buffer#start_iter ~stop:buffer#end_iter - method log_callback (tag: MatitaLog.log_tag) s = - match tag with - | `Debug -> self#debug (s ^ "\n") - | `Error -> self#error (s ^ "\n") - | `Message -> self#message (s ^ "\n") - | `Warning -> self#warning (s ^ "\n") - end - -let clean_current_baseuri status = - try - let baseuri = MatitaTypes.get_string_option status "baseuri" in - MatitacleanLib.clean_baseuris [baseuri] - with MatitaTypes.Option_error _ -> () - -let ask_and_save_moo_if_needed parent fname status = - let save () = - let moo_fname = MatitacleanLib.obj_file_of_script fname in - MatitaMoo.save_moo moo_fname status.MatitaTypes.moo_content_rev in - if (MatitaScript.current ())#eos && - status.MatitaTypes.proof_status = MatitaTypes.No_proof - then - begin - let mooname = - MatitacleanLib.obj_file_of_script fname - in - let rc = - MatitaGtkMisc.ask_confirmation - ~title:"A .moo can be generated" - ~message:(Printf.sprintf - "%s can be generated for %s.\nShould I generate it?" - (Filename.basename mooname) (Filename.basename fname)) - ~parent () - in - let b = - match rc with - | `YES -> true - | `NO -> false - | `CANCEL -> raise MatitaTypes.Cancel - in - if b then - save () - else - clean_current_baseuri status - end - else - clean_current_baseuri status - -let ask_unsaved parent = - MatitaGtkMisc.ask_confirmation - ~parent ~title:"Unsaved work!" - ~message:("Your work is unsaved!\n\n"^ - "Do you want to save the script before continuing?") - () - -class gui () = - (* creation order _is_ relevant for windows placement *) - let main = new mainWin () in - let fileSel = new fileSelectionWin () in - let findRepl = new findReplWin () in - let develList = new develListWin () in - let newDevel = new newDevelWin () in - let keyBindingBoxes = (* event boxes which should receive global key events *) - [ main#mainWinEventBox ] - in - let console = new console ~buffer:main#logTextView#buffer () in - let (source_view: GSourceView.source_view) = - GSourceView.source_view - ~auto_indent:true - ~insert_spaces_instead_of_tabs:true ~tabs_width:2 - ~margin:80 ~show_margin:true - ~smart_home_end:true - ~packing:main#scriptScrolledWin#add - () - in - let default_font_size = - Helm_registry.get_opt_default Helm_registry.int - ~default:BuildTimeConf.default_font_size "matita.font_size" - in - let source_buffer = source_view#source_buffer in - object (self) - val mutable chosen_file = None - val mutable _ok_not_exists = false - val mutable _only_directory = false - val mutable script_fname = None - val mutable font_size = default_font_size - val mutable next_devel_must_contain = None - val mutable next_ligatures = [] - - initializer - (* glade's check widgets *) - List.iter (fun w -> w#check_widgets ()) - (let c w = (w :> unit>) in - [ c fileSel; c main; c findRepl]); - (* key bindings *) - List.iter (* global key bindings *) - (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; -*) - [ ]; - (* about win *) - let parse_txt_file file = - let ch = open_in (BuildTimeConf.runtime_base_dir ^ "/" ^ file) in - let l_rev = ref [] in - try - while true do - l_rev := input_line ch :: !l_rev; - done; - assert false - with - End_of_file -> - close_in ch; - List.rev !l_rev in - let about_dialog = - GWindow.about_dialog - ~authors:(parse_txt_file "AUTHORS") - (*~comments:"comments"*) - ~copyright:"Copyright (C) 2005, the HELM team" - ~license:(String.concat "\n" (parse_txt_file "LICENSE")) - ~logo:(GdkPixbuf.from_file (MatitaMisc.image_path "/matita_medium.png")) - ~name:"Matita" - ~version:BuildTimeConf.version - ~website:"http://helm.cs.unibo.it" - () - in - connect_menu_item main#aboutMenuItem about_dialog#present; - (* findRepl win *) - let show_find_Repl () = - findRepl#toplevel#misc#show (); - findRepl#toplevel#misc#grab_focus () - in - let hide_find_Repl () = findRepl#toplevel#misc#hide () in - let find_forward _ = - let highlight start end_ = - source_buffer#move_mark `INSERT ~where:start; - source_buffer#move_mark `SEL_BOUND ~where:end_; - source_view#scroll_mark_onscreen `INSERT - in - let text = findRepl#findEntry#text in - let iter = source_buffer#get_iter `SEL_BOUND in - match iter#forward_search text with - | None -> - (match source_buffer#start_iter#forward_search text with - | None -> () - | Some (start,end_) -> highlight start end_) - | Some (start,end_) -> highlight start end_ - in - let replace _ = - let text = findRepl#replaceEntry#text in - let ins = source_buffer#get_iter `INSERT in - let sel = source_buffer#get_iter `SEL_BOUND in - if ins#compare sel < 0 then - begin - ignore(source_buffer#delete_selection ()); - source_buffer#insert text - end - in - connect_button findRepl#findButton find_forward; - connect_button findRepl#findReplButton replace; - connect_button findRepl#cancelButton (fun _ -> hide_find_Repl ()); - ignore(findRepl#toplevel#event#connect#delete - ~callback:(fun _ -> hide_find_Repl ();true)); - let safe_undo = - fun () -> - (* phase 1: we save the actual status of the marks and we undo *) - let locked_mark = `MARK ((MatitaScript.current ())#locked_mark) in - let locked_iter = source_view#buffer#get_iter_at_mark locked_mark in - let locked_iter_offset = locked_iter#offset in - let mark2 = - `MARK - (source_view#buffer#create_mark ~name:"lock_point" - ~left_gravity:true locked_iter) in - source_view#source_buffer#undo (); - (* phase 2: we save the cursor position and we redo, restoring - the previous status of all the marks *) - let cursor_iter = source_view#buffer#get_iter_at_mark `INSERT in - let mark = - `MARK - (source_view#buffer#create_mark ~name:"undo_point" - ~left_gravity:true cursor_iter) - in - source_view#source_buffer#redo (); - let mark_iter = source_view#buffer#get_iter_at_mark mark in - let mark2_iter = source_view#buffer#get_iter_at_mark mark2 in - let mark2_iter = mark2_iter#set_offset locked_iter_offset in - source_view#buffer#move_mark locked_mark ~where:mark2_iter; - source_view#buffer#delete_mark mark; - source_view#buffer#delete_mark mark2; - (* phase 3: if after the undo the cursor was in the locked area, - then we move it there again and we perform a goto *) - if mark_iter#offset < locked_iter_offset then - begin - source_view#buffer#move_mark `INSERT ~where:mark_iter; - (MatitaScript.current ())#goto `Cursor (); - end; - (* phase 4: we perform again the undo. This time we are sure that - the text to undo is not locked *) - source_view#source_buffer#undo (); - source_view#misc#grab_focus () in - let safe_redo = - fun () -> - (* phase 1: we save the actual status of the marks, we redo and - we undo *) - let locked_mark = `MARK ((MatitaScript.current ())#locked_mark) in - let locked_iter = source_view#buffer#get_iter_at_mark locked_mark in - let locked_iter_offset = locked_iter#offset in - let mark2 = - `MARK - (source_view#buffer#create_mark ~name:"lock_point" - ~left_gravity:true locked_iter) in - source_view#source_buffer#redo (); - source_view#source_buffer#undo (); - (* phase 2: we save the cursor position and we restore - the previous status of all the marks *) - let cursor_iter = source_view#buffer#get_iter_at_mark `INSERT in - let mark = - `MARK - (source_view#buffer#create_mark ~name:"undo_point" - ~left_gravity:true cursor_iter) - in - let mark_iter = source_view#buffer#get_iter_at_mark mark in - let mark2_iter = source_view#buffer#get_iter_at_mark mark2 in - let mark2_iter = mark2_iter#set_offset locked_iter_offset in - source_view#buffer#move_mark locked_mark ~where:mark2_iter; - source_view#buffer#delete_mark mark; - source_view#buffer#delete_mark mark2; - (* phase 3: if after the undo the cursor is in the locked area, - then we move it there again and we perform a goto *) - if mark_iter#offset < locked_iter_offset then - begin - source_view#buffer#move_mark `INSERT ~where:mark_iter; - (MatitaScript.current ())#goto `Cursor (); - end; - (* phase 4: we perform again the redo. This time we are sure that - the text to redo is not locked *) - source_view#source_buffer#redo (); - source_view#misc#grab_focus () - in - connect_menu_item main#undoMenuItem safe_undo; - ignore(source_view#source_buffer#connect#can_undo - ~callback:main#undoMenuItem#misc#set_sensitive); - connect_menu_item main#redoMenuItem safe_redo; - ignore(source_view#source_buffer#connect#can_redo - ~callback:main#redoMenuItem#misc#set_sensitive); - ignore(source_view#connect#after#populate_popup - ~callback:(fun pre_menu -> - let menu = new GMenu.menu pre_menu in - let menuItems = menu#children in - let undoMenuItem, redoMenuItem = - match menuItems with - [undo;redo;sep1;cut;copy;paste;delete;sep2; - selectall;sep3;inputmethod;insertunicodecharacter] -> undo,redo - | _ -> assert false in - let new_undoMenuItem = - GMenu.image_menu_item - ~image:(GMisc.image ~stock:`UNDO ()) - ~use_mnemonic:true - ~label:"_Undo" - ~packing:(menu#insert ~pos:0) () in - new_undoMenuItem#misc#set_sensitive - (undoMenuItem#misc#get_flag `SENSITIVE); - menu#remove (undoMenuItem :> GMenu.menu_item); - connect_menu_item new_undoMenuItem safe_undo; - let new_redoMenuItem = - GMenu.image_menu_item - ~image:(GMisc.image ~stock:`REDO ()) - ~use_mnemonic:true - ~label:"_Redo" - ~packing:(menu#insert ~pos:1) () in - new_redoMenuItem#misc#set_sensitive - (redoMenuItem#misc#get_flag `SENSITIVE); - menu#remove (redoMenuItem :> GMenu.menu_item); - connect_menu_item new_redoMenuItem safe_redo)); - let clipboard = GData.clipboard Gdk.Atom.clipboard in - let text_selected () = - (source_buffer#get_iter_at_mark `INSERT)#compare - (source_buffer#get_iter_at_mark `SEL_BOUND) <> 0 - in - let markup_selected () = MatitaMathView.get_selections () <> None in - connect_menu_item main#editMenu (fun () -> - let text_selected = text_selected () in - let markup_selected = markup_selected () in - let something_selected = text_selected || markup_selected in - main#cutMenuItem#misc#set_sensitive text_selected; - main#copyMenuItem#misc#set_sensitive something_selected; - main#deleteMenuItem#misc#set_sensitive text_selected; - main#pasteMenuItem#misc#set_sensitive (clipboard#text <> None)); - connect_menu_item main#cutMenuItem (fun () -> - source_view#buffer#cut_clipboard clipboard); - connect_menu_item main#copyMenuItem (fun () -> - if text_selected () then - source_view#buffer#copy_clipboard clipboard - else if markup_selected () then - match MatitaMathView.get_selections () with - | None - | Some [] -> () - | Some (s :: _) -> clipboard#set_text s); - connect_menu_item main#pasteMenuItem (fun () -> - source_view#buffer#paste_clipboard clipboard; - (MatitaScript.current ())#clean_dirty_lock); - connect_menu_item main#deleteMenuItem (fun () -> - ignore (source_view#buffer#delete_selection ())); - connect_menu_item main#selectAllMenuItem (fun () -> - source_buffer#move_mark `INSERT source_buffer#start_iter; - source_buffer#move_mark `SEL_BOUND source_buffer#end_iter); - connect_menu_item main#findReplMenuItem show_find_Repl; - connect_menu_item main#externalEditorMenuItem self#externalEditor; - connect_menu_item main#ligatureButton self#nextLigature; - ignore (findRepl#findEntry#connect#activate find_forward); - (* interface lockers *) - let lock_world _ = - main#buttonsToolbar#misc#set_sensitive false; - develList#buttonsHbox#misc#set_sensitive false; - source_view#set_editable false - in - let unlock_world _ = - main#buttonsToolbar#misc#set_sensitive true; - develList#buttonsHbox#misc#set_sensitive true; - source_view#set_editable true - in - let locker f = - fun () -> - lock_world (); - try f ();unlock_world () with exc -> unlock_world (); raise exc in - let keep_focus f = - fun () -> - try - f (); source_view#misc#grab_focus () - with - exc -> source_view#misc#grab_focus (); raise exc in - (* developments win *) - let model = - new MatitaGtkMisc.multiStringListModel - ~cols:2 develList#developmentsTreeview - in - let refresh_devels_win () = - model#list_store#clear (); - List.iter - (fun (name, root) -> model#easy_mappend [name;root]) - (MatitamakeLib.list_known_developments ()) - in - let get_devel_selected () = - match model#easy_mselection () with - | [[name;_]] -> MatitamakeLib.development_for_name name - | _ -> None - in - let refresh () = - while Glib.Main.pending () do - ignore(Glib.Main.iteration false); - done - in - connect_button develList#newButton - (fun () -> - next_devel_must_contain <- None; - newDevel#toplevel#misc#show()); - connect_button develList#deleteButton - (locker (fun () -> - (match get_devel_selected () with - | None -> () - | Some d -> MatitamakeLib.destroy_development_in_bg refresh d); - refresh_devels_win ())); - connect_button develList#buildButton - (locker (fun () -> - match get_devel_selected () with - | None -> () - | Some d -> - let build = locker - (fun () -> MatitamakeLib.build_development_in_bg refresh d) - in - ignore(build ()))); - connect_button develList#cleanButton - (locker (fun () -> - match get_devel_selected () with - | None -> () - | Some d -> - let clean = locker - (fun () -> MatitamakeLib.clean_development_in_bg refresh d) - in - ignore(clean ()))); - connect_button develList#closeButton - (fun () -> develList#toplevel#misc#hide()); - ignore(develList#toplevel#event#connect#delete - (fun _ -> develList#toplevel#misc#hide();true)); - let selected_devel = ref None in - connect_menu_item main#developmentsMenuItem - (fun () -> refresh_devels_win ();develList#toplevel#misc#show ()); - - (* add development win *) - let check_if_root_contains root = - match next_devel_must_contain with - | None -> true - | Some path -> - let is_prefix_of d1 d2 = - let len1 = String.length d1 in - let len2 = String.length d2 in - if len2 < len1 then - false - else - let pref = String.sub d2 0 len1 in - pref = d1 - in - is_prefix_of root path - in - connect_button newDevel#addButton - (fun () -> - let name = newDevel#nameEntry#text in - let root = newDevel#rootEntry#text in - if check_if_root_contains root then - begin - ignore (MatitamakeLib.initialize_development name root); - refresh_devels_win (); - newDevel#nameEntry#set_text ""; - newDevel#rootEntry#set_text ""; - newDevel#toplevel#misc#hide() - end - else - MatitaLog.error ("The selected root does not contain " ^ - match next_devel_must_contain with - | Some x -> x - | _ -> assert false)); - connect_button newDevel#chooseRootButton - (fun () -> - let path = self#chooseDir () in - match path with - | Some path -> newDevel#rootEntry#set_text path - | None -> ()); - connect_button newDevel#cancelButton - (fun () -> newDevel#toplevel#misc#hide ()); - ignore(newDevel#toplevel#event#connect#delete - (fun _ -> newDevel#toplevel#misc#hide();true)); - - (* 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 Sys.file_exists fname then - begin - if HExtlib.is_regular fname && not (_only_directory) then - return (Some fname) - else if _only_directory && HExtlib.is_dir fname then - return (Some fname) - end - else - begin - if _ok_not_exists then - return (Some fname) - end - | `CANCEL -> return None - | `HELP -> () - | `DELETE_EVENT -> return None)); - (* menus *) - List.iter (fun w -> w#misc#set_sensitive false) [ main#saveMenuItem ]; - (* console *) - let adj = main#logScrolledWin#vadjustment in - ignore (adj#connect#changed - (fun _ -> adj#set_value (adj#upper -. adj#page_size))); - console#message (sprintf "\tMatita version %s\n" BuildTimeConf.version); - (* toolbar *) - let module A = GrafiteAst in - let hole = CicNotationPt.UserInput in - let loc = DisambiguateTypes.dummy_floc in - let tac ast _ = - if (MatitaScript.current ())#onGoingProof () then - (MatitaScript.current ())#advance - ~statement:("\n" ^ GrafiteAstPp.pp_tactical (A.Tactic (loc, ast))) - () - in - let tac_w_term ast _ = - if (MatitaScript.current ())#onGoingProof () then - let buf = source_buffer in - buf#insert ~iter:(buf#get_iter_at_mark (`NAME "locked")) - ("\n" ^ GrafiteAstPp.pp_tactic ast) - in - let tbar = main in - connect_button tbar#introsButton (tac (A.Intros (loc, None, []))); - connect_button tbar#applyButton (tac_w_term (A.Apply (loc, hole))); - connect_button tbar#exactButton (tac_w_term (A.Exact (loc, hole))); - connect_button tbar#elimButton (tac_w_term - (A.Elim (loc, hole, None, None, []))); - connect_button tbar#elimTypeButton (tac_w_term - (A.ElimType (loc, hole, None, None, []))); - connect_button tbar#splitButton (tac (A.Split loc)); - connect_button tbar#leftButton (tac (A.Left loc)); - connect_button tbar#rightButton (tac (A.Right loc)); - connect_button tbar#existsButton (tac (A.Exists loc)); - connect_button tbar#reflexivityButton (tac (A.Reflexivity loc)); - connect_button tbar#symmetryButton (tac (A.Symmetry loc)); - connect_button tbar#transitivityButton - (tac_w_term (A.Transitivity (loc, hole))); - connect_button tbar#assumptionButton (tac (A.Assumption loc)); - connect_button tbar#cutButton (tac_w_term (A.Cut (loc, None, hole))); - connect_button tbar#autoButton (tac (A.Auto (loc,None,None,None,None))); - MatitaGtkMisc.toggle_widget_visibility - ~widget:(main#tacticsButtonsHandlebox :> GObj.widget) - ~check:main#tacticsBarMenuItem; - let module Hr = Helm_registry in - if - not (Hr.get_opt_default Hr.bool ~default:false "matita.tactics_bar") - then - main#tacticsBarMenuItem#set_active false; - MatitaGtkMisc.toggle_callback - ~callback:(function - | true -> main#toplevel#fullscreen () - | false -> main#toplevel#unfullscreen ()) - ~check:main#fullscreenMenuItem; - main#fullscreenMenuItem#set_active false; - (* log *) - MatitaLog.set_log_callback self#console#log_callback; - GtkSignal.user_handler := - (fun exn -> - if not (Helm_registry.get_bool "matita.debug") then - MatitaLog.error (MatitaExcPp.to_string exn) - else raise exn); - (* script *) - ignore (source_buffer#connect#mark_set (fun _ _ -> next_ligatures <- [])); - let _ = - match GSourceView.source_language_from_file BuildTimeConf.lang_file with - | None -> - MatitaLog.warn (sprintf "can't load language file %s" - BuildTimeConf.lang_file) - | Some matita_lang -> - source_buffer#set_language matita_lang; - source_buffer#set_highlight true - in - let s () = MatitaScript.current () in - let disableSave () = - script_fname <- None; - main#saveMenuItem#misc#set_sensitive false - in - let saveAsScript () = - let script = s () in - match self#chooseFile ~ok_not_exists:true () with - | Some f -> - script#assignFileName f; - script#saveToFile (); - console#message ("'"^f^"' saved.\n"); - self#_enableSaveTo f - | None -> () - in - let saveScript () = - match script_fname with - | None -> saveAsScript () - | Some f -> - (s ())#assignFileName f; - (s ())#saveToFile (); - console#message ("'"^f^"' saved.\n"); - in - let abandon_script () = - let status = (s ())#status in - if source_view#buffer#modified then - (match ask_unsaved main#toplevel with - | `YES -> saveScript () - | `NO -> () - | `CANCEL -> raise MatitaTypes.Cancel); - (match script_fname with - | None -> () - | Some fname -> ask_and_save_moo_if_needed main#toplevel fname status); - in - let loadScript () = - let script = s () in - let status = script#status in - try - match self#chooseFile () with - | Some f -> - abandon_script (); - script#reset (); - script#assignFileName f; - source_view#source_buffer#begin_not_undoable_action (); - script#loadFromFile f; - source_view#source_buffer#end_not_undoable_action (); - console#message ("'"^f^"' loaded.\n"); - self#_enableSaveTo f - | None -> () - with MatitaTypes.Cancel -> () - in - let newScript () = - abandon_script (); - source_view#source_buffer#begin_not_undoable_action (); - (s ())#reset (); - (s ())#template (); - source_view#source_buffer#end_not_undoable_action (); - disableSave (); - script_fname <- None - in - let cursor () = - source_buffer#place_cursor - (source_buffer#get_iter_at_mark (`NAME "locked")) in - let advance _ = (MatitaScript.current ())#advance (); cursor () in - let retract _ = (MatitaScript.current ())#retract (); cursor () in - let top _ = (MatitaScript.current ())#goto `Top (); cursor () in - let bottom _ = (MatitaScript.current ())#goto `Bottom (); cursor () in - let jump _ = (MatitaScript.current ())#goto `Cursor (); cursor () in - let advance = locker (keep_focus advance) in - let retract = locker (keep_focus retract) in - let top = locker (keep_focus top) in - let bottom = locker (keep_focus bottom) in - let jump = locker (keep_focus jump) in - let connect_key sym f = - connect_key main#mainWinEventBox#event - ~modifiers:[`CONTROL] ~stop:true sym f; - connect_key self#sourceView#event - ~modifiers:[`CONTROL] ~stop:true sym f - in - (* quit *) - self#setQuitCallback (fun () -> - let status = (MatitaScript.current ())#status in - if source_view#buffer#modified then - begin - let rc = ask_unsaved main#toplevel in - try - match rc with - | `YES -> saveScript (); - if not source_view#buffer#modified then - begin - (match script_fname with - | None -> () - | Some fname -> - ask_and_save_moo_if_needed - main#toplevel fname status); - GMain.Main.quit () - end - | `NO -> GMain.Main.quit () - | `CANCEL -> raise MatitaTypes.Cancel - with MatitaTypes.Cancel -> () - end - else - begin - (match script_fname with - | None -> clean_current_baseuri status; GMain.Main.quit () - | Some fname -> - try - ask_and_save_moo_if_needed main#toplevel fname status; - GMain.Main.quit () - with MatitaTypes.Cancel -> ()) - end); - connect_button main#scriptAdvanceButton advance; - connect_button main#scriptRetractButton retract; - connect_button main#scriptTopButton top; - connect_button main#scriptBottomButton bottom; - connect_button main#scriptJumpButton jump; - connect_menu_item main#scriptAdvanceMenuItem advance; - connect_menu_item main#scriptRetractMenuItem retract; - connect_menu_item main#scriptTopMenuItem top; - connect_menu_item main#scriptBottomMenuItem bottom; - connect_menu_item main#scriptJumpMenuItem jump; - connect_menu_item main#openMenuItem loadScript; - connect_menu_item main#saveMenuItem saveScript; - connect_menu_item main#saveAsMenuItem saveAsScript; - connect_menu_item main#newMenuItem newScript; - (* script monospace font stuff *) - self#updateFontSize (); - (* debug menu *) - main#debugMenu#misc#hide (); - (* status bar *) - main#hintLowImage#set_file (image_path "matita-bulb-low.png"); - main#hintMediumImage#set_file (image_path "matita-bulb-medium.png"); - main#hintHighImage#set_file (image_path "matita-bulb-high.png"); - (* focus *) - self#sourceView#misc#grab_focus (); - (* main win dimension *) - let width = Gdk.Screen.width () in - let height = Gdk.Screen.height () in - let main_w = width * 90 / 100 in - let main_h = height * 80 / 100 in - let script_w = main_w * 6 / 10 in - main#toplevel#resize ~width:main_w ~height:main_h; - main#hpaneScriptSequent#set_position script_w; - (* source_view *) - ignore(source_view#connect#after#paste_clipboard - ~callback:(fun () -> (MatitaScript.current ())#clean_dirty_lock)); - (* clean_locked is set to true only "during" a PRIMARY paste - operation (i.e. by clicking with the second mouse button) *) - let clean_locked = ref false in - ignore(source_view#event#connect#button_press - ~callback: - (fun button -> - if GdkEvent.Button.button button = 2 then - clean_locked := true; - false - )); - ignore(source_view#event#connect#button_release - ~callback:(fun button -> clean_locked := false; false)); - ignore(source_view#buffer#connect#after#apply_tag - ~callback:( - fun tag ~start:_ ~stop:_ -> - if !clean_locked && - tag#get_oid = (MatitaScript.current ())#locked_tag#get_oid - then - begin - clean_locked := false; - (MatitaScript.current ())#clean_dirty_lock; - clean_locked := true - end)); - (* math view handling *) - connect_menu_item main#newCicBrowserMenuItem (fun () -> - ignore (MatitaMathView.cicBrowser ())); - connect_menu_item main#increaseFontSizeMenuItem (fun () -> - self#increaseFontSize (); - MatitaMathView.increase_font_size (); - MatitaMathView.update_font_sizes ()); - connect_menu_item main#decreaseFontSizeMenuItem (fun () -> - self#decreaseFontSize (); - MatitaMathView.decrease_font_size (); - MatitaMathView.update_font_sizes ()); - connect_menu_item main#normalFontSizeMenuItem (fun () -> - self#resetFontSize (); - MatitaMathView.reset_font_size (); - MatitaMathView.update_font_sizes ()); - MatitaMathView.reset_font_size (); - - method private nextLigature () = - let iter = source_buffer#get_iter_at_mark `INSERT in - let write_ligature len s = - source_buffer#delete ~start:iter ~stop:(iter#copy#backward_chars len); - source_buffer#insert ~iter:(source_buffer#get_iter_at_mark `INSERT) s - in - let get_ligature word = - let len = String.length word in - let aux_tex () = - try - for i = len - 1 downto 0 do - if HExtlib.is_alpha word.[i] then () - else - (if word.[i] = '\\' then raise (Found i) else raise (Found ~-1)) - done; - None - with Found i -> - if i = ~-1 then None else Some (String.sub word i (len - i)) - in - let aux_ligature () = - try - for i = len - 1 downto 0 do - if CicNotationLexer.is_ligature_char word.[i] then () - else raise (Found (i+1)) - done; - raise (Found 0) - with - | Found i -> - (try - Some (String.sub word i (len - i)) - with Invalid_argument _ -> None) - in - match aux_tex () with - | Some macro -> macro - | None -> (match aux_ligature () with Some l -> l | None -> word) - in - (match next_ligatures with - | [] -> (* find ligatures and fill next_ligatures, then try again *) - let last_word = - iter#get_slice - ~stop:(iter#copy#backward_find_char Glib.Unichar.isspace) - in - let ligature = get_ligature last_word in - (match CicNotationLexer.lookup_ligatures ligature with - | [] -> () - | hd :: tl -> - write_ligature (String.length ligature) hd; - next_ligatures <- tl @ [ hd ]) - | hd :: tl -> - write_ligature 1 hd; - next_ligatures <- tl @ [ hd ]) - - method private externalEditor () = - let cmd = Helm_registry.get "matita.external_editor" in -(* ZACK uncomment to enable interactive ask of external editor command *) -(* let cmd = - let msg = - "External editor command: -%f will be substitute for the script name, -%p for the cursor position in bytes, -%l for the execution point in bytes." - in - ask_text ~gui:self ~title:"External editor" ~msg ~multiline:false - ~default:(Helm_registry.get "matita.external_editor") () - in *) - let fname = (MatitaScript.current ())#filename in - let slice mark = - source_buffer#start_iter#get_slice - ~stop:(source_buffer#get_iter_at_mark mark) - in - let script = MatitaScript.current () in - let locked = `MARK script#locked_mark in - let string_pos mark = string_of_int (String.length (slice mark)) in - let cursor_pos = string_pos `INSERT in - let locked_pos = string_pos locked in - let cmd = - Pcre.replace ~pat:"%f" ~templ:fname - (Pcre.replace ~pat:"%p" ~templ:cursor_pos - (Pcre.replace ~pat:"%l" ~templ:locked_pos - cmd)) - in - let locked_before = slice locked in - let locked_offset = (source_buffer#get_iter_at_mark locked)#offset in - ignore (Unix.system cmd); - source_buffer#set_text (HExtlib.input_file fname); - let locked_iter = source_buffer#get_iter (`OFFSET locked_offset) in - source_buffer#move_mark locked locked_iter; - source_buffer#apply_tag script#locked_tag - ~start:source_buffer#start_iter ~stop:locked_iter; - let locked_after = slice locked in - let line = ref 0 in - let col = ref 0 in - try - for i = 0 to String.length locked_before - 1 do - if locked_before.[i] <> locked_after.[i] then begin - source_buffer#place_cursor - ~where:(source_buffer#get_iter (`LINEBYTE (!line, !col))); - script#goto `Cursor (); - raise Exit - end else if locked_before.[i] = '\n' then begin - incr line; - col := 0 - end - done - with - | Exit -> () - | Invalid_argument _ -> script#goto `Bottom () - - method loadScript file = - let script = MatitaScript.current () in - script#reset (); - script#assignFileName file; - let content = - if Sys.file_exists file then file - else BuildTimeConf.script_template - in - source_view#source_buffer#begin_not_undoable_action (); - script#loadFromFile content; - source_view#source_buffer#end_not_undoable_action (); - console#message ("'"^file^"' loaded."); - self#_enableSaveTo file - - method setStar name b = - let l = main#scriptLabel in - if b then - l#set_text (name ^ " *") - else - l#set_text (name) - - method private _enableSaveTo file = - script_fname <- Some file; - self#main#saveMenuItem#misc#set_sensitive true - - method console = console - method sourceView: GSourceView.source_view = - (source_view: GSourceView.source_view) - method fileSel = fileSel - method findRepl = findRepl - method main = main - method develList = develList - method newDevel = newDevel - - method newBrowserWin () = - object (self) - inherit browserWin () - val combo = GEdit.combo_box_entry () - initializer - self#check_widgets (); - let combo_widget = combo#coerce in - uriHBox#pack ~from:`END ~fill:true ~expand:true combo_widget; - combo#entry#misc#grab_focus () - method browserUri = combo - end - - method newUriDialog () = - let dialog = new uriChoiceDialog () in - dialog#check_widgets (); - dialog - - method newRecordDialog () = - let dialog = new recordChoiceDialog () in - dialog#check_widgets (); - dialog - - method newConfirmationDialog () = - let dialog = new confirmationDialog () in - dialog#check_widgets (); - dialog - - method newEmptyDialog () = - let dialog = new emptyDialog () in - dialog#check_widgets (); - dialog - - method private addKeyBinding key callback = - List.iter (fun evbox -> add_key_binding key callback evbox) - keyBindingBoxes - - method setQuitCallback callback = - connect_menu_item main#quitMenuItem callback; - ignore (main#toplevel#event#connect#delete - (fun _ -> callback ();true)); - self#addKeyBinding GdkKeysyms._q callback - - method chooseFile ?(ok_not_exists = false) () = - _ok_not_exists <- ok_not_exists; - _only_directory <- false; - fileSel#fileSelectionWin#show (); - GtkThread.main (); - chosen_file - - method private chooseDir ?(ok_not_exists = false) () = - _ok_not_exists <- ok_not_exists; - _only_directory <- true; - fileSel#fileSelectionWin#show (); - GtkThread.main (); - (* we should check that this is a directory *) - chosen_file - - method createDevelopment ~containing = - next_devel_must_contain <- containing; - newDevel#toplevel#misc#show() - - 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 private updateFontSize () = - self#sourceView#misc#modify_font_by_name - (sprintf "%s %d" BuildTimeConf.script_font font_size) - - method increaseFontSize () = - font_size <- font_size + 1; - self#updateFontSize () - - method decreaseFontSize () = - font_size <- font_size - 1; - self#updateFontSize () - - method resetFontSize () = - font_size <- default_font_size; - self#updateFontSize () - - end - -let gui () = - let g = new gui () in - gui_instance := Some g; - MatitaMathView.set_gui g; - g - -let instance = singleton gui - -let non p x = not (p x) - -(* this is a shit and should be changed :-{ *) -let interactive_uri_choice - ?(selection_mode:[`SINGLE|`MULTIPLE] = `MULTIPLE) ?(title = "") - ?(msg = "") ?(nonvars_button = false) ?(hide_uri_entry=false) - ?(hide_try=false) ?(ok_label="_Auto") ?(ok_action:[`SELECT|`AUTO] = `AUTO) - ?copy_cb () - ~id uris -= - let gui = instance () in - let nonvars_uris = lazy (List.filter (non UriManager.uri_is_var) 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 - if hide_uri_entry then - dialog#uriEntryHBox#misc#hide (); - if hide_try then - begin - dialog#uriChoiceSelectedButton#misc#hide (); - dialog#uriChoiceConstantsButton#misc#hide (); - end; - dialog#okLabel#set_label ok_label; - 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 - (match copy_cb with - | None -> () - | Some cb -> - dialog#copyButton#misc#show (); - connect_button dialog#copyButton - (fun _ -> - match model#easy_selection () with - | [u] -> (cb u) - | _ -> ())); - dialog#uriChoiceDialog#set_title title; - dialog#uriChoiceLabel#set_text msg; - List.iter model#easy_append (List.map UriManager.string_of_uri 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))); - if ok_action = `AUTO then - connect_button dialog#uriChoiceAutoButton (fun _ -> - Helm_registry.set_bool "matita.auto_disambiguation" true; - return (Some (Lazy.force nonvars_uris))) - else - connect_button dialog#uriChoiceAutoButton (fun _ -> - match model#easy_selection () with - | [] -> () - | uris -> return (Some (List.map UriManager.uri_of_string uris))); - connect_button dialog#uriChoiceSelectedButton (fun _ -> - match model#easy_selection () with - | [] -> () - | uris -> return (Some (List.map UriManager.uri_of_string uris))); - connect_button dialog#uriChoiceAbortButton (fun _ -> return None); - dialog#uriChoiceDialog#show (); - GtkThread.main (); - (match !choices with - | None -> raise MatitaTypes.Cancel - | Some uris -> uris) - 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 interactive_interp_choice () choices = - let gui = instance () in - assert (choices <> []); - let dialog = gui#newRecordDialog () in - let model = new interpModel dialog#recordChoiceTreeView choices in - let interp_len = List.length (List.hd choices) in - dialog#recordChoiceDialog#set_title "Interpretation choice"; - dialog#recordChoiceDialogLabel#set_label "Choose an interpretation:"; - let interp_no = ref None in - let return _ = - dialog#recordChoiceDialog#destroy (); - GMain.Main.quit () - in - let fail _ = interp_no := None; return () in - ignore (dialog#recordChoiceDialog#event#connect#delete (fun _ -> true)); - connect_button dialog#recordChoiceOkButton (fun _ -> - match !interp_no with None -> () | Some _ -> return ()); - connect_button dialog#recordChoiceCancelButton fail; - ignore (dialog#recordChoiceTreeView#connect#row_activated (fun path _ -> - interp_no := Some (model#get_interp_no path); - return ())); - let selection = dialog#recordChoiceTreeView#selection in - ignore (selection#connect#changed (fun _ -> - match selection#get_selected_rows with - | [path] -> interp_no := Some (model#get_interp_no path) - | _ -> assert false)); - dialog#recordChoiceDialog#show (); - GtkThread.main (); - (match !interp_no with Some row -> [row] | _ -> raise MatitaTypes.Cancel) - -let _ = - (* disambiguator callbacks *) - MatitaDisambiguator.set_choose_uris_callback (interactive_uri_choice ()); - MatitaDisambiguator.set_choose_interp_callback (interactive_interp_choice ()); - (* gtk initialization *) - GtkMain.Rc.add_default_file BuildTimeConf.gtkrc_file; (* loads gtk rc *) - GMathView.add_configuration_path BuildTimeConf.gtkmathview_conf; - ignore (GMain.Main.init ()) - diff --git a/helm/matita/matitaGui.mli b/helm/matita/matitaGui.mli deleted file mode 100644 index b82cb3947..000000000 --- a/helm/matita/matitaGui.mli +++ /dev/null @@ -1,49 +0,0 @@ -(* Copyright (C) 2004-2005, 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/ - *) - - (** singleton instance of the gui *) -val instance: unit -> MatitaGuiTypes.gui - - (** {2 Disambiguation callbacks} - * Use singleton gui instance. *) - - (** @param selection_mode selection mode in uri list, default to `MULTIPLE - * @param title window title, defaults to "" - * @param msg message for the user, defaults to "" - * @param nonvars_button enable button to exclude vars?, defaults to false - * @raise MatitaTypes.Cancel *) -val interactive_uri_choice: - ?selection_mode:([`SINGLE|`MULTIPLE]) -> ?title:string -> - ?msg:string -> ?nonvars_button:bool -> - ?hide_uri_entry:bool -> ?hide_try:bool -> ?ok_label:string -> - ?ok_action:[`AUTO|`SELECT] -> - ?copy_cb:(string -> unit) -> unit -> - MatitaDisambiguator.choose_uris_callback - - (** @raise MatitaTypes.Cancel *) -val interactive_interp_choice: - unit -> - MatitaDisambiguator.choose_interp_callback - diff --git a/helm/matita/matitaGuiTypes.mli b/helm/matita/matitaGuiTypes.mli deleted file mode 100644 index 99b90495f..000000000 --- a/helm/matita/matitaGuiTypes.mli +++ /dev/null @@ -1,131 +0,0 @@ -(* Copyright (C) 2005, 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 console = -object - method message: string -> unit - method error: string -> unit - method warning: string -> unit - method debug: string -> unit - method clear: unit -> unit - - method log_callback: MatitaLog.log_callback -end - -class type browserWin = -object - inherit MatitaGeneratedGui.browserWin - method browserUri: GEdit.combo_box_entry -end - -class type gui = -object - method setQuitCallback : (unit -> unit) -> unit - - (** {2 Access to singleton instances of lower-level GTK widgets} *) - - method fileSel : MatitaGeneratedGui.fileSelectionWin - method main : MatitaGeneratedGui.mainWin - method findRepl : MatitaGeneratedGui.findReplWin - method develList: MatitaGeneratedGui.develListWin - method newDevel: MatitaGeneratedGui.newDevelWin -(* method toolbar : MatitaGeneratedGui.toolBarWin *) - - method console: console - method sourceView: GSourceView.source_view - - (** {2 Dialogs instantiation} - * methods below create a new window on each invocation. You should - * remember to destroy windows after use *) - - method newBrowserWin: unit -> browserWin - method newUriDialog: unit -> MatitaGeneratedGui.uriChoiceDialog - method newRecordDialog: unit -> MatitaGeneratedGui.recordChoiceDialog - method newConfirmationDialog: unit -> MatitaGeneratedGui.confirmationDialog - method newEmptyDialog: unit -> MatitaGeneratedGui.emptyDialog - - (** {2 Utility methods} *) - - (** ask the used to choose a file with the file chooser - * @param ok_not_exists if set to true returns also non existent files - * (useful for save). Defaults to false *) - method chooseFile: ?ok_not_exists:bool -> unit -> string option - method createDevelopment: containing:string option -> unit - - (** prompt the user for a (multiline) text entry *) - method askText: ?title:string -> ?msg:string -> unit -> string option - - method loadScript: string -> unit - method setStar: string -> bool -> unit - - (** {3 Fonts} *) - method increaseFontSize: unit -> unit - method decreaseFontSize: unit -> unit - method resetFontSize: unit -> unit -end - - (** multi selection gtkMathView which handle mactions and hyperlinks. Mactions - * are handled internally. Hyperlinks are handled by calling an user provided - * callback *) -class type clickableMathView = -object - inherit GMathViewAux.multi_selection_math_view - - (** set hyperlink callback. None disable hyperlink handling *) - method set_href_callback: (string -> unit) option -> unit - - method string_of_selections: string list - method string_of_selection: string option (* last selected node *) - - method update_font_size: unit -end - -class type cicMathView = -object - inherit clickableMathView - - (** load a sequent and render it into parent widget *) - method load_sequent: Cic.metasenv -> int -> unit - - method load_object: Cic.obj -> unit -end - -class type sequentsViewer = -object - method reset: unit - method load_logo: unit - method load_logo_with_qed: unit - method load_sequents: MatitaTypes.incomplete_proof -> unit - method goto_sequent: int -> unit (* to be called _after_ load_sequents *) -end - -class type cicBrowser = -object - method load: MatitaTypes.mathViewer_entry -> unit - (* method loadList: string list -> MatitaTypes.mathViewer_entry -> unit *) - method loadInput: string -> unit - method mathView: clickableMathView -end - diff --git a/helm/matita/matitaInit.ml b/helm/matita/matitaInit.ml deleted file mode 100644 index d01275308..000000000 --- a/helm/matita/matitaInit.ml +++ /dev/null @@ -1,234 +0,0 @@ -(* Copyright (C) 2005, 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 - -type thingsToInitilaize = - ConfigurationFile | Db | Environment | Getter | Notation | Makelib | CmdLine - -exception FailedToInitialize of thingsToInitilaize - -let wants s l = - List.iter ( - fun item -> - if not (List.exists (fun x -> x = item) l) then - raise (FailedToInitialize item)) - s - -let already_configured s l = - List.for_all (fun item -> List.exists (fun x -> x = item) l) s - -let tilde_expand_key k = - try - Helm_registry.set k (HExtlib.tilde_expand (Helm_registry.get k)) - with Helm_registry.Key_not_found _ -> () - -let load_configuration init_status = - if not (already_configured [ConfigurationFile] init_status) then - begin - Helm_registry.load_from BuildTimeConf.matita_conf; - if not (Helm_registry.has "user.name") then begin - let login = (Unix.getpwuid (Unix.getuid ())).Unix.pw_name in - Helm_registry.set "user.name" login - end; - tilde_expand_key "matita.basedir"; - tilde_expand_key "user.home"; - ConfigurationFile::init_status - end - else - init_status - -let initialize_db init_status = - wants [ ConfigurationFile; CmdLine ] init_status; - if not (already_configured [ Db ] init_status) then - begin - MetadataTypes.ownerize_tables (Helm_registry.get "matita.owner"); - MatitaDb.create_owner_environment (); - Db::init_status - end - else - init_status - -let initialize_makelib init_status = - wants [ConfigurationFile] init_status; - if not (already_configured [Makelib] init_status) then - begin - MatitamakeLib.initialize (); - Makelib::init_status - end - else - init_status - -let initialize_notation init_status = - wants [ConfigurationFile] init_status; - if not (already_configured [Notation] init_status) then - begin - CicNotation.load_notation BuildTimeConf.core_notation_script; - Notation::init_status - end - else - init_status - -let initialize_environment init_status = - wants [ConfigurationFile] init_status; - if not (already_configured [Getter;Environment] init_status) then - begin - Http_getter.init (); - CicEnvironment.set_trust (* environment trust *) - (let trust = Helm_registry.get_bool "matita.environment_trust" in - fun _ -> trust); - Getter::Environment::init_status - end - else - init_status - -let status = ref [] - -let usages = Hashtbl.create 11 -let _ = - List.iter - (fun (name, s) -> Hashtbl.replace usages name s) - [ "matitac", - sprintf "MatitaC v%s -Usage: matitac [ OPTION ... ] FILE -Options:" - BuildTimeConf.version; - "matita", - sprintf "Matita v%s -Usage: matita [ OPTION ... ] [ FILE ... ] -Options:" - BuildTimeConf.version; - "cicbrowser", - sprintf - "CIC Browser v%s -Usage: cicbrowser [ URL | WHELP QUERY ] -Options:" - BuildTimeConf.version; - "matitadep", - sprintf "MatitaDep v%s -Usage: matitadep [ OPTION ... ] FILE ... -Options:" - BuildTimeConf.version; - "matitaclean", - sprintf "MatitaClean v%s -Usage: matitaclean all - matitaclean [ (FILE | URI) ... ] -Options:" - BuildTimeConf.version; - ] -let default_usage = - sprintf "Matita v%s\nUsage: matita [ ARG ]\nOptions:" BuildTimeConf.version - -let usage () = - let basename = Filename.basename Sys.argv.(0) in - let usage_key = - try Filename.chop_extension basename with Invalid_argument _ -> basename - in - try Hashtbl.find usages usage_key with Not_found -> default_usage - -let registry_defaults = - [ - "db.nodb", "false"; - "matita.debug", "false"; - "matita.external_editor", "gvim -f -c 'go %p' %f"; - "matita.preserve", "false"; - "matita.quiet", "false"; - "matita.profile", "true"; - ] - -let set_registry_values = - List.iter (fun key, value -> Helm_registry.set ~key ~value) - -let parse_cmdline init_status = - if not (already_configured [CmdLine] init_status) then begin - let includes = ref [] in - let args = ref [] in - let add_l l = fun s -> l := s :: !l in - let arg_spec = - let std_arg_spec = [ - "-I", Arg.String (add_l includes), - (" Adds path to the list of searched paths for the " - ^ "include command"); - "-q", Arg.Unit (fun () -> Helm_registry.set_bool "matita.quiet" true), - "Turn off verbose compilation"; - "-preserve", - Arg.Unit (fun () -> Helm_registry.set_bool "matita.preserve" true), - "Turns off automatic baseuri cleaning"; - "-nodb", Arg.Unit (fun () -> Helm_registry.set_bool "db.nodb" true), - ("Avoid using external database connection " - ^ "(WARNING: disable many features)"); - "-noprofile", - Arg.Unit (fun () -> Helm_registry.set_bool "matita.profile" false), - "Turns off profiling printings"; - ] in - let debug_arg_spec = - if BuildTimeConf.debug then - [ "-debug", - Arg.Unit (fun () -> Helm_registry.set_bool "matita.debug" true), - ("Do not catch top-level exception " - ^ "(useful for backtrace inspection)"); - ] - else [] - in - std_arg_spec @ debug_arg_spec - in - let set_list ~key l = - Helm_registry.set_list Helm_registry.of_string ~key ~value:(List.rev !l) - in - set_registry_values registry_defaults; - Arg.parse arg_spec (add_l args) (usage ()); - set_list ~key:"matita.includes" includes; - set_list ~key:"matita.args" args; - HExtlib.set_profiling_printings - (fun () -> Helm_registry.get_bool "matita.profile"); - CmdLine :: init_status - end else - init_status - -let die_usage () = - print_endline (usage ()); - exit 1 - -let initialize_all () = - status := - List.fold_left (fun s f -> f s) !status - [ parse_cmdline; load_configuration; initialize_makelib; - initialize_db; initialize_environment; initialize_notation ] -(* initialize_notation - (initialize_environment - (initialize_db - (initialize_makelib - (load_configuration - (parse_cmdline !status))))) *) - -let load_configuration_file () = - status := load_configuration !status - -let initialize_notation () = - status := initialize_notation (load_configuration !status) - -let parse_cmdline () = - status := parse_cmdline !status - diff --git a/helm/matita/matitaInit.mli b/helm/matita/matitaInit.mli deleted file mode 100644 index e8050f9be..000000000 --- a/helm/matita/matitaInit.mli +++ /dev/null @@ -1,38 +0,0 @@ -(* Copyright (C) 2005, 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 global initialization} *) -val initialize_all: unit -> unit - - (** {2 per-components initialization} *) -val parse_cmdline: unit -> unit (** parse cmdline setting registry keys *) -val load_configuration_file: unit -> unit -val initialize_notation: unit -> unit - - (** {2 Utilities} *) - - (** die nicely: exit with return code 1 printing usage error message *) -val die_usage: unit -> 'a - diff --git a/helm/matita/matitaLog.ml b/helm/matita/matitaLog.ml deleted file mode 100644 index 8d9fbe958..000000000 --- a/helm/matita/matitaLog.ml +++ /dev/null @@ -1,62 +0,0 @@ -(* Copyright (C) 2004-2005, 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 - -type log_tag = [ `Debug | `Error | `Message | `Warning ] -type log_callback = log_tag -> string -> unit - -(* -colors=(black red green yellow blue magenta cyan gray white) -ccodes=(30 31 32 33 34 35 36 37 39) -*) - -let blue = "" -let yellow = "" -let green = "" -let red = "" -let black = "" - -let default_callback tag s = - let prefix,ch = - match tag with - | `Message -> green ^ "Info: ", stdout - | `Warning -> yellow ^ "Warn: ", stderr - | `Error -> red ^ "Error: ", stderr - | `Debug -> blue ^ "Debug: ", stderr - in - output_string ch (prefix ^ black ^ s ^ "\n"); - flush ch - -let callback = ref default_callback - -let set_log_callback f = callback := f -let get_log_callback () = !callback - -let message s = !callback `Message s -let warn s = !callback `Warning s -let error s = !callback `Error s -let debug s = !callback `Debug s - diff --git a/helm/matita/matitaLog.mli b/helm/matita/matitaLog.mli deleted file mode 100644 index 6847ce32d..000000000 --- a/helm/matita/matitaLog.mli +++ /dev/null @@ -1,36 +0,0 @@ -(* Copyright (C) 2004-2005, 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/ - *) - -type log_tag = [ `Debug | `Error | `Message | `Warning ] -type log_callback = log_tag -> string -> unit - -val set_log_callback: log_callback -> unit -val get_log_callback: unit -> log_callback - -val message : string -> unit -val warn : string -> unit -val error : string -> unit -val debug : string -> unit - diff --git a/helm/matita/matitaMathView.ml b/helm/matita/matitaMathView.ml deleted file mode 100644 index 710efdf02..000000000 --- a/helm/matita/matitaMathView.ml +++ /dev/null @@ -1,997 +0,0 @@ -(* Copyright (C) 2004-2005, 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 MatitaTypes -open MatitaGtkMisc - -module Stack = Continuationals.Stack - -(** inherit from this class if you want to access current script *) -class scriptAccessor = -object (self) - method private script = MatitaScript.current () -end - -let cicBrowsers = ref [] -let gui_instance = ref None -let set_gui gui = gui_instance := Some gui -let get_gui () = - match !gui_instance with - | None -> assert false - | Some gui -> gui - -let default_font_size () = - Helm_registry.get_opt_default Helm_registry.int - ~default:BuildTimeConf.default_font_size "matita.font_size" -let current_font_size = ref ~-1 -let increase_font_size () = incr current_font_size -let decrease_font_size () = decr current_font_size -let reset_font_size () = current_font_size := default_font_size () - - (* is there any lablgtk2 constant corresponding to the various mouse - * buttons??? *) -let left_button = 1 -let middle_button = 2 -let right_button = 3 - -let near (x1, y1) (x2, y2) = - let distance = sqrt (((x2 -. x1) ** 2.) +. ((y2 -. y1) ** 2.)) in - (distance < 4.) - -let xlink_ns = Gdome.domString "http://www.w3.org/1999/xlink" -let helm_ns = Gdome.domString "http://www.cs.unibo.it/helm" -let href_ds = Gdome.domString "href" -let xref_ds = Gdome.domString "xref" - -let domImpl = Gdome.domImplementation () - - (** Gdome.element of a MathML document whose rendering should be blank. Used - * by cicBrowser to render "about:blank" document *) -let empty_mathml = lazy ( - domImpl#createDocument ~namespaceURI:(Some DomMisc.mathml_ns) - ~qualifiedName:(Gdome.domString "math") ~doctype:None) - -let empty_boxml = lazy ( - domImpl#createDocument ~namespaceURI:(Some DomMisc.boxml_ns) - ~qualifiedName:(Gdome.domString "box") ~doctype:None) - - (** shown for goals closed by side effects *) -let closed_goal_mathml = lazy ( - domImpl#createDocumentFromURI ~uri:BuildTimeConf.closed_xml ()) - -(* ids_to_terms should not be passed here, is just for debugging *) -let find_root_id annobj id ids_to_father_ids ids_to_terms ids_to_inner_types = - let find_parent id ids = - let rec aux id = -(* (prerr_endline (sprintf "id %s = %s" id - (try - CicPp.ppterm (Hashtbl.find ids_to_terms id) - with Not_found -> "NONE"))); *) - if List.mem id ids then Some id - else - (match - (try Hashtbl.find ids_to_father_ids id with Not_found -> None) - with - | None -> None - | Some id' -> aux id') - in - aux id - in - let return_father id ids = - match find_parent id ids with - | None -> assert false - | Some parent_id -> parent_id - in - let mk_ids terms = List.map CicUtil.id_of_annterm terms in - let inner_types = - Hashtbl.fold - (fun _ types acc -> - match types.Cic2acic.annexpected with - None -> types.Cic2acic.annsynthesized :: acc - | Some ty -> ty :: types.Cic2acic.annsynthesized :: acc - ) ids_to_inner_types [] in - match annobj with - | Cic.AConstant (_, _, _, Some bo, ty, _, _) - | Cic.AVariable (_, _, Some bo, ty, _, _) - | Cic.ACurrentProof (_, _, _, _, bo, ty, _, _) -> - return_father id (mk_ids (ty :: bo :: inner_types)) - | Cic.AConstant (_, _, _, None, ty, _, _) - | Cic.AVariable (_, _, None, ty, _, _) -> - return_father id (mk_ids (ty::inner_types)) - | Cic.AInductiveDefinition _ -> - assert false (* TODO *) - - (** @return string content of a dom node having a single text child node, e.g. - * bool *) -let string_of_dom_node node = - match node#get_firstChild with - | None -> "" - | Some node -> - (try - let text = new Gdome.text_of_node node in - text#get_data#to_string - with GdomeInit.DOMCastException _ -> "") - -class clickableMathView obj = -let text_width = 80 in -object (self) - inherit GMathViewAux.multi_selection_math_view obj - - val mutable href_callback: (string -> unit) option = None - method set_href_callback f = href_callback <- f - - val mutable _cic_info = None - method private set_cic_info info = _cic_info <- info - method private cic_info = _cic_info - - initializer - self#set_font_size !current_font_size; - ignore (self#connect#selection_changed self#choose_selection_cb); - ignore (self#event#connect#button_press self#button_press_cb); - ignore (self#event#connect#button_release self#button_release_cb); - ignore (self#event#connect#selection_clear self#selection_clear_cb); - ignore (self#coerce#misc#connect#selection_get self#selection_get_cb) - - val mutable button_press_x = -1. - val mutable button_press_y = -1. - val mutable selection_changed = false - - method private selection_get_cb ctxt ~info ~time = - (match self#get_selections with - | [] -> () - | node :: _ -> ctxt#return (self#string_of_node node)) - - method private selection_clear_cb sel_event = - self#remove_selections; - false - - method private button_press_cb gdk_button = - let button = GdkEvent.Button.button gdk_button in - if button = left_button then begin - button_press_x <- GdkEvent.Button.x gdk_button; - button_press_y <- GdkEvent.Button.y gdk_button; - selection_changed <- false - end else if button = right_button then - self#popup_contextual_menu (GdkEvent.Button.time gdk_button); - false - - method private popup_contextual_menu time = - match self#string_of_selection with - | None -> () - | Some s -> - let clipboard = GData.clipboard Gdk.Atom.clipboard in - let menu = GMenu.menu () in - let copy_menu_item = - GMenu.image_menu_item - ~label:"_Copy" ~stock:`COPY ~packing:menu#append () - in - connect_menu_item copy_menu_item (fun () -> clipboard#set_text s); - menu#popup ~button:right_button ~time - - method private button_release_cb gdk_button = - let clipboard = GData.clipboard Gdk.Atom.primary in - if GdkEvent.Button.button gdk_button = left_button then begin - let button_release_x = GdkEvent.Button.x gdk_button in - let button_release_y = GdkEvent.Button.y gdk_button in - if selection_changed then - () - else (* selection _not_ changed *) - if near (button_press_x, button_press_y) - (button_release_x, button_release_y) - then - let x = int_of_float button_press_x in - let y = int_of_float button_press_y in - (match self#get_element_at x y with - | None -> () - | Some elt -> - let localName = href_ds in - if elt#hasAttributeNS ~namespaceURI:xlink_ns ~localName then - self#invoke_href_callback - (elt#getAttributeNS ~namespaceURI:xlink_ns - ~localName)#to_string - gdk_button - else - ignore (self#action_toggle elt)); - end; - false - - method private invoke_href_callback href_value gdk_button = - let button = GdkEvent.Button.button gdk_button in - if button = left_button then - let time = GdkEvent.Button.time gdk_button in - match href_callback with - | None -> () - | Some f -> - (match HExtlib.split href_value with - | [ uri ] -> f uri - | uris -> - let menu = GMenu.menu () in - List.iter - (fun uri -> - let menu_item = - GMenu.menu_item ~label:uri ~packing:menu#append () - in - connect_menu_item menu_item (fun () -> f uri)) - uris; - menu#popup ~button ~time) - - method private choose_selection_cb gdome_elt = - let (gui: MatitaGuiTypes.gui) = get_gui () in - let clipboard = GData.clipboard Gdk.Atom.primary in - let set_selection elt = - self#set_selection (Some elt); - self#coerce#misc#add_selection_target - ~target:(Gdk.Atom.name Gdk.Atom.string) Gdk.Atom.primary; - ignore (self#coerce#misc#grab_selection Gdk.Atom.primary) - in - let rec aux elt = - if (elt#getAttributeNS ~namespaceURI:helm_ns - ~localName:xref_ds)#to_string <> "" - then - set_selection elt - else - try - (match elt#get_parentNode with - | None -> assert false - | Some p -> aux (new Gdome.element_of_node p)) - with GdomeInit.DOMCastException _ -> () - in - (match gdome_elt with - | Some elt when (elt#getAttributeNS ~namespaceURI:xlink_ns - ~localName:href_ds)#to_string <> "" -> - set_selection elt - | Some elt -> aux elt - | None -> self#set_selection None); - selection_changed <- true - - method update_font_size = self#set_font_size !current_font_size - - method private get_term_by_id cic_info id = - let unsh_item, ids_to_terms, ids_to_hypotheses, _, _, _ = cic_info in - try - `Term (Hashtbl.find ids_to_terms id) - with Not_found -> - try - let hyp = Hashtbl.find ids_to_hypotheses id in - let _, context, _ = - match unsh_item with - | Some seq -> seq - | None -> assert false - in - let context' = MatitaMisc.list_tl_at hyp context in - `Hyp context' - with Not_found -> assert false - - method private find_obj_conclusion id = - match self#cic_info with - | None - | Some (_, _, _, _, _, None) -> assert false - | Some (_, ids_to_terms, _, ids_to_father_ids, ids_to_inner_types, Some annobj) -> - let id = - find_root_id annobj id ids_to_father_ids ids_to_terms ids_to_inner_types - in - (try Hashtbl.find ids_to_terms id with Not_found -> assert false) - - method private string_of_node node = - if node#hasAttributeNS ~namespaceURI:helm_ns ~localName:xref_ds - then self#string_of_id_node node - else string_of_dom_node node - - method private string_of_id_node node = - let get_id (node: Gdome.element) = - let xref_attr = - node#getAttributeNS ~namespaceURI:helm_ns ~localName:xref_ds - in - List.hd (HExtlib.split ~sep:' ' xref_attr#to_string) - in - let id = get_id node in - let script = MatitaScript.current () in - let metasenv = - if script#onGoingProof () then - script#proofMetasenv - else - [] - in -(* TODO: code for patterns - let conclusion = (MatitaScript.instance ())#proofConclusion in - let conclusion_pattern = - ProofEngineHelpers.pattern_of ~term:conclusion cic_terms - in -*) - let string_of_cic_sequent cic_sequent = - let _, (acic_sequent, _, _, ids_to_inner_sorts, _) = - Cic2acic.asequent_of_sequent metasenv cic_sequent - in - let _, _, _, annterm = acic_sequent in - let ast, ids_to_uris = - CicNotationRew.ast_of_acic ids_to_inner_sorts annterm - in - let pped_ast = CicNotationRew.pp_ast ast in - let markup = CicNotationPres.render ids_to_uris pped_ast in - BoxPp.render_to_string text_width markup - in - let cic_info, unsh_sequent = - match self#cic_info with - | Some ((Some unsh_sequent, _, _, _, _, _) as info) -> - info, unsh_sequent - | Some ((None, _, _, _, _, _) as info) -> - (* building a dummy sequent for obj *) - let t = self#find_obj_conclusion id in - MatitaLog.debug (CicPp.ppterm t); - info, (~-1, [], t) - | None -> assert false - in - let cic_sequent = - match self#get_term_by_id cic_info id with - | `Term t -> - let context' = - match ProofEngineHelpers.locate_in_conjecture t unsh_sequent with - [context,_] -> context - | _ -> -(* prerr_endline (sprintf "%d\nt=%s\ncontext=%s" - (List.length l) (CicPp.ppterm t) (CicPp.ppcontext context)); *) - assert false (* since it uses physical equality *) - in - ~-1, context', t - | `Hyp context -> ~-1, context, Cic.Rel 1 - in - string_of_cic_sequent cic_sequent - - method string_of_selections = - List.map self#string_of_node (List.rev self#get_selections) - - method string_of_selection = - match self#get_selections with - | [] -> None - | node :: _ -> Some (self#string_of_node node) - -end - -let clickableMathView ?hadjustment ?vadjustment ?font_size ?log_verbosity = - GtkBase.Widget.size_params - ~cont:(OgtkMathViewProps.pack_return (fun p -> - OgtkMathViewProps.set_params - (new clickableMathView (GtkMathViewProps.MathView_GMetaDOM.create p)) - ~font_size:None ~log_verbosity:None)) - [] - -class cicMathView obj = -object (self) - inherit clickableMathView obj - - val mutable current_mathml = None - - method load_sequent metasenv metano = - let sequent = CicUtil.lookup_meta metano metasenv in - let (mathml, unsh_sequent, - (_, (ids_to_terms, ids_to_father_ids, ids_to_hypotheses,_ ))) - = - ApplyTransformation.mml_of_cic_sequent metasenv sequent - in - self#set_cic_info - (Some (Some unsh_sequent, - ids_to_terms, ids_to_hypotheses, ids_to_father_ids, - Hashtbl.create 1, None)); - let name = "sequent_viewer.xml" in - MatitaLog.debug ("load_sequent: dumping MathML to ./" ^ name); - ignore (domImpl#saveDocumentToFile ~name ~doc:mathml ()); - self#load_root ~root:mathml#get_documentElement - - method load_object obj = - let use_diff = false in (* ZACK TODO use XmlDiff when re-rendering? *) - let (mathml, - (annobj, (ids_to_terms, ids_to_father_ids, _, ids_to_hypotheses, _, ids_to_inner_types))) - = - ApplyTransformation.mml_of_cic_object obj - in - self#set_cic_info - (Some (None, ids_to_terms, ids_to_hypotheses, ids_to_father_ids, ids_to_inner_types, Some annobj)); - (match current_mathml with - | Some current_mathml when use_diff -> - self#freeze; - XmlDiff.update_dom ~from:current_mathml mathml; - self#thaw - | _ -> - let name = "cic_browser.xml" in - MatitaLog.debug ("cic_browser: dumping MathML to ./" ^ name); - ignore (domImpl#saveDocumentToFile ~name ~doc:mathml ()); - self#load_root ~root:mathml#get_documentElement; - current_mathml <- Some mathml); -end - -let tab_label meta_markup = - let rec aux = - function - | `Current m -> sprintf "%s" (aux m) - | `Closed m -> sprintf "%s" (aux m) - | `Shift (pos, m) -> sprintf "|%d: %s" pos (aux m) - | `Meta n -> sprintf "?%d" n - in - let markup = aux meta_markup in - (GMisc.label ~markup ~show:true ())#coerce - -let goal_of_switch = function Stack.Open g | Stack.Closed g -> g - -class sequentsViewer ~(notebook:GPack.notebook) ~(cicMathView:cicMathView) () = - object (self) - inherit scriptAccessor - - 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 = [] - val mutable scrolledWin: GBin.scrolled_window option = None - (* scrolled window to which the sequentViewer is currently attached *) - val logo = (GMisc.image - ~file:(MatitaMisc.image_path "matita_medium.png") () - :> GObj.widget) - - val logo_with_qed = (GMisc.image - ~file:(MatitaMisc.image_path "matita_small.png") () - :> GObj.widget) - - method load_logo = - notebook#set_show_tabs false; - notebook#append_page logo - - method load_logo_with_qed = - notebook#set_show_tabs false; - notebook#append_page logo_with_qed - - method reset = - (match scrolledWin with - | Some w -> - (* removing page from the notebook will destroy all contained widget, - * we do not want the cicMathView to be destroyed as well *) - w#remove cicMathView#coerce; - scrolledWin <- None - | None -> ()); - (match switch_page_callback with - | Some id -> - GtkSignal.disconnect notebook#as_widget id; - switch_page_callback <- None - | None -> ()); - for i = 0 to pages do notebook#remove_page 0 done; - notebook#set_show_tabs true; - pages <- 0; - page2goal <- []; - goal2page <- []; - goal2win <- []; - _metasenv <- []; - self#script#setGoal ~-1; - - method load_sequents { proof = (_,metasenv,_,_) as proof; stack = stack } = - let sequents_no = List.length metasenv in - _metasenv <- metasenv; - pages <- 0; - let win goal_switch = - let w = - GBin.scrolled_window ~hpolicy:`AUTOMATIC ~vpolicy:`ALWAYS - ~shadow_type:`IN ~show:true () - in - let reparent () = - scrolledWin <- Some w; - match cicMathView#misc#parent with - | None -> w#add cicMathView#coerce - | Some parent -> - let parent = - match cicMathView#misc#parent with - None -> assert false - | Some p -> GContainer.cast_container p - in - parent#remove cicMathView#coerce; - w#add cicMathView#coerce - in - goal2win <- (goal_switch, reparent) :: goal2win; - w#coerce - in - assert ( - let stack_goals = Stack.open_goals stack in - let proof_goals = ProofEngineTypes.goals_of_proof proof in - if - HExtlib.list_uniq (List.sort Pervasives.compare stack_goals) - <> List.sort Pervasives.compare proof_goals - then begin - prerr_endline ("STACK GOALS = " ^ String.concat " " (List.map string_of_int stack_goals)); - prerr_endline ("PROOF GOALS = " ^ String.concat " " (List.map string_of_int proof_goals)); - false - end - else true - ); - let render_switch = - function Stack.Open i ->`Meta i | Stack.Closed i ->`Closed (`Meta i) - in - let page = ref 0 in - let added_goals = ref [] in - (* goals can be duplicated on the tack due to focus, but we should avoid - * multiple labels in the user interface *) - let add_tab markup goal_switch = - let goal = Stack.goal_of_switch goal_switch in - if not (List.mem goal !added_goals) then begin - notebook#append_page ~tab_label:(tab_label markup) (win goal_switch); - page2goal <- (!page, goal_switch) :: page2goal; - goal2page <- (goal_switch, !page) :: goal2page; - incr page; - pages <- pages + 1; - added_goals := goal :: !added_goals - end - in - let add_switch _ _ (_, sw) = add_tab (render_switch sw) sw in - Stack.iter (** populate notebook with tabs *) - ~env:(fun depth tag (pos, sw) -> - let markup = - match depth, pos with - | 0, _ -> `Current (render_switch sw) - | 1, pos when Stack.head_tag stack = `BranchTag -> - `Shift (pos, render_switch sw) - | _ -> render_switch sw - in - add_tab markup sw) - ~cont:add_switch ~todo:add_switch - stack; - switch_page_callback <- - Some (notebook#connect#switch_page ~callback:(fun page -> - let goal_switch = - try List.assoc page page2goal with Not_found -> assert false - in - self#script#setGoal (goal_of_switch goal_switch); - self#render_page ~page ~goal_switch)) - - method private render_page ~page ~goal_switch = - (match goal_switch with - | Stack.Open goal -> cicMathView#load_sequent _metasenv goal - | Stack.Closed goal -> - let doc = Lazy.force closed_goal_mathml in - cicMathView#load_root ~root:doc#get_documentElement); - (try - cicMathView#set_selection None; - List.assoc goal_switch goal2win () - with Not_found -> assert false) - - method goto_sequent goal = - let goal_switch, page = - try - List.find - (function Stack.Open g, _ | Stack.Closed g, _ -> g = goal) - goal2page - with Not_found -> assert false - in - notebook#goto_page page; - self#render_page page goal_switch - - end - - (** constructors *) - -type 'widget constructor = - ?hadjustment:GData.adjustment -> - ?vadjustment:GData.adjustment -> - ?font_size:int -> - ?log_verbosity:int -> - ?width:int -> - ?height:int -> - ?packing:(GObj.widget -> unit) -> - ?show:bool -> - unit -> - 'widget - -let cicMathView ?hadjustment ?vadjustment ?font_size ?log_verbosity = - GtkBase.Widget.size_params - ~cont:(OgtkMathViewProps.pack_return (fun p -> - OgtkMathViewProps.set_params - (new cicMathView (GtkMathViewProps.MathView_GMetaDOM.create p)) - ~font_size ~log_verbosity)) - [] - -let blank_uri = BuildTimeConf.blank_uri -let current_proof_uri = BuildTimeConf.current_proof_uri - -type term_source = - [ `Ast of DisambiguateTypes.term - | `Cic of Cic.term * Cic.metasenv - | `String of string - ] - -class cicBrowser_impl ~(history:MatitaTypes.mathViewer_entry MatitaMisc.history) - () -= - let term_RE = Pcre.regexp "^term:(.*)" in - let whelp_RE = Pcre.regexp "^\\s*whelp" in - let uri_RE = - Pcre.regexp - "^cic:/([^/]+/)*[^/]+\\.(con|ind|var)(#xpointer\\(\\d+(/\\d+)+\\))?$" - in - let dir_RE = Pcre.regexp "^cic:((/([^/]+/)*[^/]+(/)?)|/|)$" in - let whelp_query_RE = Pcre.regexp "^\\s*whelp\\s+([^\\s]+)\\s+(.*)$" in - let trailing_slash_RE = Pcre.regexp "/$" in - let has_xpointer_RE = Pcre.regexp "#xpointer\\(\\d+/\\d+(/\\d+)?\\)$" in - let is_whelp txt = Pcre.pmatch ~rex:whelp_RE txt in - let is_uri txt = Pcre.pmatch ~rex:uri_RE txt in - let is_dir txt = Pcre.pmatch ~rex:dir_RE txt in - let gui = get_gui () in - let (win: MatitaGuiTypes.browserWin) = gui#newBrowserWin () in - let queries = ["Locate";"Hint";"Match";"Elim";"Instance"] in - let combo,_ = GEdit.combo_box_text ~strings:queries () in - let activate_combo_query input q = - let q' = String.lowercase q in - let rec aux i = function - | [] -> failwith ("Whelp query '" ^ q ^ "' not found") - | h::_ when String.lowercase h = q' -> i - | _::tl -> aux (i+1) tl - in - combo#set_active (aux 0 queries); - win#queryInputText#set_text input - in - let set_whelp_query txt = - let query, arg = - try - let q = Pcre.extract ~rex:whelp_query_RE txt in - q.(1), q.(2) - with Invalid_argument _ -> failwith "Malformed Whelp query" - in - activate_combo_query arg query - in - let toplevel = win#toplevel in - let mathView = cicMathView ~packing:win#scrolledBrowser#add () in - let fail message = - MatitaGtkMisc.report_error ~title:"Cic browser" ~message - ~parent:toplevel () - in - let tags = - [ "dir", GdkPixbuf.from_file (MatitaMisc.image_path "matita-folder.png"); - "obj", GdkPixbuf.from_file (MatitaMisc.image_path "matita-object.png") ] - in - let handle_error f = - try - f () - with exn -> - if not (Helm_registry.get_bool "matita.debug") then - fail (MatitaExcPp.to_string exn) - else raise exn - in - let handle_error' f = (fun () -> handle_error (fun () -> f ())) in - let load_easter_egg = lazy ( - win#easterEggImage#set_file (MatitaMisc.image_path "meegg.png")) - in - object (self) - inherit scriptAccessor - - (* Whelp bar queries *) - - initializer - activate_combo_query "" "locate"; - win#whelpBarComboVbox#add combo#coerce; - let start_query () = - let query = String.lowercase (List.nth queries combo#active) in - let input = win#queryInputText#text in - let statement = "whelp " ^ query ^ " " ^ input ^ "." in - (MatitaScript.current ())#advance ~statement () - in - ignore(win#queryInputText#connect#activate ~callback:start_query); - ignore(combo#connect#changed ~callback:start_query); - win#whelpBarImage#set_file (MatitaMisc.image_path "whelp.png"); - win#mathOrListNotebook#set_show_tabs false; - win#browserForwardButton#misc#set_sensitive false; - win#browserBackButton#misc#set_sensitive false; - ignore (win#browserUri#entry#connect#activate (handle_error' (fun () -> - self#loadInput win#browserUri#entry#text))); - ignore (win#browserHomeButton#connect#clicked (handle_error' (fun () -> - self#load (`About `Current_proof)))); - ignore (win#browserRefreshButton#connect#clicked - (handle_error' (self#refresh ~force:true))); - ignore (win#browserBackButton#connect#clicked (handle_error' self#back)); - ignore (win#browserForwardButton#connect#clicked - (handle_error' self#forward)); - ignore (win#toplevel#event#connect#delete (fun _ -> - let my_id = Oo.id self in - cicBrowsers := List.filter (fun b -> Oo.id b <> my_id) !cicBrowsers; - if !cicBrowsers = [] && - Helm_registry.get "matita.mode" = "cicbrowser" - then - GMain.quit (); - false)); - ignore(win#whelpResultTreeview#connect#row_activated - ~callback:(fun _ _ -> - handle_error (fun () -> self#loadInput (self#_getSelectedUri ())))); - mathView#set_href_callback (Some (fun uri -> - handle_error (fun () -> - self#load (`Uri (UriManager.uri_of_string uri))))); - self#_load (`About `Blank); - toplevel#show () - - val mutable current_entry = `About `Blank - - val model = - new MatitaGtkMisc.taggedStringListModel tags win#whelpResultTreeview - - val mutable lastDir = "" (* last loaded "directory" *) - - method mathView = (mathView :> MatitaGuiTypes.clickableMathView) - - method private _getSelectedUri () = - match model#easy_selection () with - | [sel] when is_uri sel -> sel (* absolute URI selected *) -(* | [sel] -> win#browserUri#entry#text ^ sel |+ relative URI selected +| *) - | [sel] -> lastDir ^ sel - | _ -> assert false - - (** history RATIONALE - * - * All operations about history are done using _historyFoo. - * Only toplevel functions (ATM load and loadInput) call _historyAdd. - *) - - method private _historyAdd item = - history#add item; - win#browserBackButton#misc#set_sensitive true; - win#browserForwardButton#misc#set_sensitive false - - method private _historyPrev () = - let item = history#previous in - if history#is_begin then win#browserBackButton#misc#set_sensitive false; - win#browserForwardButton#misc#set_sensitive true; - item - - method private _historyNext () = - let item = history#next in - if history#is_end then win#browserForwardButton#misc#set_sensitive false; - win#browserBackButton#misc#set_sensitive true; - item - - (** notebook RATIONALE - * - * Use only these functions to switch between the tabs - *) - method private _showMath = win#mathOrListNotebook#goto_page 0 - method private _showList = win#mathOrListNotebook#goto_page 1 - - method private back () = - try - self#_load (self#_historyPrev ()) - with MatitaMisc.History_failure -> () - - method private forward () = - try - self#_load (self#_historyNext ()) - with MatitaMisc.History_failure -> () - - (* loads a uri which can be a cic uri or an about:* uri - * @param uri string *) - method private _load ?(force=false) entry = - handle_error (fun () -> - if entry <> current_entry || entry = `About `Current_proof || force then - begin - (match entry with - | `About `Current_proof -> self#home () - | `About `Blank -> self#blank () - | `About `Us -> self#egg () - | `Check term -> self#_loadCheck term - | `Cic (term, metasenv) -> self#_loadTermCic term metasenv - | `Dir dir -> self#_loadDir dir - | `Uri uri -> self#_loadUriManagerUri uri - | `Whelp (query, results) -> - set_whelp_query query; - self#_loadList (List.map (fun r -> "obj", - UriManager.string_of_uri r) results)); - self#setEntry entry - end) - - method private blank () = - self#_showMath; - mathView#load_root (Lazy.force empty_mathml)#get_documentElement - - method private _loadCheck term = - failwith "not implemented _loadCheck"; - self#_showMath - - method private egg () = - win#mathOrListNotebook#goto_page 2; - Lazy.force load_easter_egg - - method private home () = - self#_showMath; - match self#script#status.proof_status with - | Proof (uri, metasenv, bo, ty) -> - let name = UriManager.name_of_uri (HExtlib.unopt uri) in - let obj = Cic.CurrentProof (name, metasenv, bo, ty, [], []) in - self#_loadObj obj - | Incomplete_proof { proof = (uri, metasenv, bo, ty) } -> - let name = UriManager.name_of_uri (HExtlib.unopt uri) in - let obj = Cic.CurrentProof (name, metasenv, bo, ty, [], []) in - self#_loadObj obj - | _ -> self#blank () - - (** loads a cic uri from the environment - * @param uri UriManager.uri *) - method private _loadUriManagerUri uri = - let uri = UriManager.strip_xpointer uri in - let (obj, _) = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - self#_loadObj obj - - method private _loadDir dir = - let content = Http_getter.ls dir in - let l = - List.fast_sort - Pervasives.compare - (List.map - (function - | Http_getter_types.Ls_section s -> "dir", s - | Http_getter_types.Ls_object o -> "obj", o.Http_getter_types.uri) - content) - in - lastDir <- dir; - self#_loadList l - - method private setEntry entry = - win#browserUri#entry#set_text (string_of_entry entry); - current_entry <- entry - - method private _loadObj obj = - (* showMath must be done _before_ loading the document, since if the - * widget is not mapped (hidden by the notebook) the document is not - * rendered *) - self#_showMath; - mathView#load_object obj - - method private _loadTermCic term metasenv = - let context = self#script#proofContext in - let dummyno = CicMkImplicit.new_meta metasenv [] in - let sequent = (dummyno, context, term) in - mathView#load_sequent (sequent :: metasenv) dummyno; - self#_showMath - - method private _loadList l = - model#list_store#clear (); - List.iter (fun (tag, s) -> model#easy_append ~tag s) l; - self#_showList - - (** { public methods, all must call _load!! } *) - - method load entry = - handle_error (fun () -> self#_load entry; self#_historyAdd entry) - - (** this is what the browser does when you enter a string an hit enter *) - method loadInput txt = - let txt = HExtlib.trim_blanks txt in - let fix_uri txt = - UriManager.string_of_uri - (UriManager.strip_xpointer (UriManager.uri_of_string txt)) - in - if is_whelp txt then begin - set_whelp_query txt; - (MatitaScript.current ())#advance ~statement:(txt ^ ".") () - end else begin - let entry = - match txt with - | txt when is_uri txt -> `Uri (UriManager.uri_of_string (fix_uri txt)) - | txt when is_dir txt -> `Dir (MatitaMisc.normalize_dir txt) - | txt -> - (try - entry_of_string txt - with Invalid_argument _ -> - command_error (sprintf "unsupported uri: %s" txt)) - in - self#_load entry; - self#_historyAdd entry - end - - (** {2 methods accessing underlying GtkMathView} *) - - method updateFontSize = mathView#set_font_size !current_font_size - - (** {2 methods used by constructor only} *) - - method win = win - method history = history - method currentEntry = current_entry - method refresh ~force () = self#_load ~force current_entry - - end - -let sequentsViewer ~(notebook:GPack.notebook) ~(cicMathView:cicMathView) (): - MatitaGuiTypes.sequentsViewer -= - new sequentsViewer ~notebook ~cicMathView () - -let cicBrowser () = - let size = BuildTimeConf.browser_history_size in - let rec aux history = - let browser = new cicBrowser_impl ~history () in - let win = browser#win in - ignore (win#browserNewButton#connect#clicked (fun () -> - let history = - new MatitaMisc.browser_history ~memento:history#save size - (`About `Blank) - in - let newBrowser = aux history in - newBrowser#load browser#currentEntry)); -(* - (* attempt (failed) to close windows on CTRL-W ... *) - MatitaGtkMisc.connect_key win#browserWinEventBox#event ~modifiers:[`CONTROL] - GdkKeysyms._W (fun () -> win#toplevel#destroy ()); -*) - cicBrowsers := browser :: !cicBrowsers; - (browser :> MatitaGuiTypes.cicBrowser) - in - let history = new MatitaMisc.browser_history size (`About `Blank) in - aux history - -let default_cicMathView () = cicMathView ~show:true () -let cicMathView_instance = MatitaMisc.singleton default_cicMathView - -let default_sequentsViewer () = - let gui = get_gui () in - let cicMathView = cicMathView_instance () in - sequentsViewer ~notebook:gui#main#sequentsNotebook ~cicMathView () -let sequentsViewer_instance = MatitaMisc.singleton default_sequentsViewer - -let mathViewer () = - object(self) - method private get_browser reuse = - if reuse then - (match !cicBrowsers with - | [] -> cicBrowser () - | b :: _ -> (b :> MatitaGuiTypes.cicBrowser)) - else - (cicBrowser ()) - - method show_entry ?(reuse=false) t = (self#get_browser reuse)#load t - - method show_uri_list ?(reuse=false) ~entry l = - (self#get_browser reuse)#load entry - end - -let refresh_all_browsers () = - List.iter (fun b -> b#refresh ~force:false ()) !cicBrowsers - -let update_font_sizes () = - List.iter (fun b -> b#updateFontSize) !cicBrowsers; - (cicMathView_instance ())#update_font_size - -let get_math_views () = - ((cicMathView_instance ()) :> MatitaGuiTypes.clickableMathView) - :: (List.map (fun b -> b#mathView) !cicBrowsers) - -let get_selections () = - if (MatitaScript.current ())#onGoingProof () then - let rec aux = - function - | [] -> None - | mv :: tl -> - (match mv#string_of_selections with - | [] -> aux tl - | sels -> Some sels) - in - aux (get_math_views ()) - else - None - -let reset_selections () = - List.iter (fun mv -> mv#remove_selections) (get_math_views ()) - diff --git a/helm/matita/matitaMathView.mli b/helm/matita/matitaMathView.mli deleted file mode 100644 index f5acf6349..000000000 --- a/helm/matita/matitaMathView.mli +++ /dev/null @@ -1,82 +0,0 @@ -(* Copyright (C) 2004-2005, 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 Constructors} *) - - (** meta constructor *) -type 'widget constructor = - ?hadjustment:GData.adjustment -> - ?vadjustment:GData.adjustment -> - ?font_size:int -> - ?log_verbosity:int -> - ?width:int -> - ?height:int -> - ?packing:(GObj.widget -> unit) -> - ?show:bool -> - unit -> - 'widget - -val clickableMathView: MatitaGuiTypes.clickableMathView constructor - -val cicMathView: MatitaGuiTypes.cicMathView constructor - -val sequentsViewer: - notebook:GPack.notebook -> - cicMathView:MatitaGuiTypes.cicMathView -> - unit -> - MatitaGuiTypes.sequentsViewer - -val cicBrowser: unit -> MatitaGuiTypes.cicBrowser - -(** {2 MathView wide functions} *) -(* TODO ZACK consider exporting here a single function which return a list of - * MatitaGuiTypes.clickableMathView and act on them externally ... *) - -val increase_font_size: unit -> unit -val decrease_font_size: unit -> unit -val reset_font_size: unit -> unit - -val refresh_all_browsers: unit -> unit (** act on all cicBrowsers *) -val update_font_sizes: unit -> unit - - (** {3 selection handling} *) - - (* @return the selections of a (unspecified) math viewer *) -val get_selections: unit -> string list option - - (* remove the selections of all math viewers *) -val reset_selections: unit -> unit - -(** {2 Singleton instances} *) - -val cicMathView_instance: unit -> MatitaGuiTypes.cicMathView -val sequentsViewer_instance: unit -> MatitaGuiTypes.sequentsViewer - -val mathViewer: unit -> MatitaTypes.mathViewer - -(** {2 Initialization} *) - -val set_gui: MatitaGuiTypes.gui -> unit - diff --git a/helm/matita/matitaMisc.ml b/helm/matita/matitaMisc.ml deleted file mode 100644 index e311973c9..000000000 --- a/helm/matita/matitaMisc.ml +++ /dev/null @@ -1,198 +0,0 @@ -(* Copyright (C) 2004-2005, 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 - -(** Functions "imported" from Http_getter_misc *) - -let strip_trailing_slash = Http_getter_misc.strip_trailing_slash -let normalize_dir = Http_getter_misc.normalize_dir -let strip_suffix = Http_getter_misc.strip_suffix - -let baseuri_of_baseuri_decl st = - match st with - | GrafiteAst.Executable (_, GrafiteAst.Command (_, GrafiteAst.Set (_, "baseuri", buri))) -> - Some buri - | _ -> None - -let is_empty buri = - List.for_all - (function - Http_getter_types.Ls_section _ -> true - | Http_getter_types.Ls_object _ -> false) - (Http_getter.ls (Http_getter_misc.strip_trailing_slash buri ^ "/")) - -let safe_remove fname = if Sys.file_exists fname then Sys.remove fname - -let is_dir_empty d = - try - let od = Unix.opendir d in - try - ignore (Unix.readdir od); - ignore (Unix.readdir od); - ignore (Unix.readdir od); - Unix.closedir od; - false - with End_of_file -> - Unix.closedir od; - true - with Unix.Unix_error _ -> true - -let safe_rmdir d = try Unix.rmdir d with Unix.Unix_error _ -> () - -let rec rmdir_descend d = - if is_dir_empty d then - begin - safe_rmdir d; - rmdir_descend (Filename.dirname d) - end - -let absolute_path file = - if file.[0] = '/' then file else Unix.getcwd () ^ "/" ^ file - -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 - -exception History_failure - -type 'a memento = 'a array * int * int * int (* data, hd, tl, cur *) - -class type ['a] history = - object - method add : 'a -> unit - method next : 'a - method previous : 'a - method load: 'a memento -> unit - method save: 'a memento - method is_begin: bool - method is_end: bool - end - -class basic_history (head, tail, cur) = - object - val mutable hd = head (* insertion point *) - val mutable tl = tail (* oldest inserted item *) - val mutable cur = cur (* current item for the history *) - - method is_begin = cur <= tl - method is_end = cur >= hd - end - - -class shell_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 (self) - val data = Array.create size "" - - inherit basic_history (0, -1 , -1) - - 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) - method load (data', hd', tl', cur') = - assert (Array.length data = Array.length data'); - hd <- hd'; tl <- tl'; cur <- cur'; - Array.blit data' 0 data 0 (Array.length data') - method save = (Array.copy data, hd, tl, cur) - end - -class ['a] browser_history ?memento size init = - object (self) - initializer match memento with Some m -> self#load m | _ -> () - val data = Array.create size init - - inherit basic_history (0, 0, 0) - - method previous = - if cur = tl then raise History_failure; - cur <- cur - 1; - if cur = ~-1 then cur <- size - 1; - data.(cur) - method next = - if cur = hd then raise History_failure; - cur <- cur + 1; - if cur = size then cur <- 0; - data.(cur) - method add (e:'a) = - if e <> data.(cur) then - begin - cur <- cur + 1; - if cur = size then cur <- 0; - if cur = tl then tl <- tl + 1; - if tl = size then tl <- 0; - hd <- cur; - data.(cur) <- e - end - method load (data', hd', tl', cur') = - assert (Array.length data = Array.length data'); - hd <- hd'; tl <- tl'; cur <- cur'; - Array.blit data' 0 data 0 (Array.length data') - method save = (Array.copy data, hd, tl, cur) - end - -let singleton f = - let instance = lazy (f ()) in - fun () -> Lazy.force instance - -let image_path n = sprintf "%s/%s" BuildTimeConf.images_dir n - -let end_ma_RE = Pcre.regexp "\\.ma$" - -let obj_file_of_baseuri baseuri = - let path = - Helm_registry.get "matita.basedir" ^ "/xml" ^ - Pcre.replace ~pat:"^cic:" ~templ:"" baseuri - in - path ^ ".moo" - -let list_tl_at ?(equality=(==)) e l = - let rec aux = - function - | [] -> raise Not_found - | hd :: tl as l when equality hd e -> l - | hd :: tl -> aux tl - in - aux l - diff --git a/helm/matita/matitaMisc.mli b/helm/matita/matitaMisc.mli deleted file mode 100644 index a04258aee..000000000 --- a/helm/matita/matitaMisc.mli +++ /dev/null @@ -1,93 +0,0 @@ -(* Copyright (C) 2004-2005, 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 baseuri_of_baseuri_decl: - ('a, 'b, 'c, 'd, 'e) GrafiteAst.statement -> string option - - (** check whether no objects are defined below a given baseuri *) -val is_empty: string -> bool - -(** removes a file if it exists *) -val safe_remove: string -> unit -(** removes a dir if it exists and is empty *) -val safe_rmdir: string -> unit -(** checks if the dir is empty *) -val is_dir_empty: string -> bool -(** removes a directory and recursively the father (if empty) *) -val rmdir_descend: string -> unit - -val absolute_path: string -> 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 - -val strip_trailing_slash: string -> string -val normalize_dir: string -> string (** add trailing "/" if missing *) -val strip_suffix: suffix:string -> string -> string - - (** @return tl tail of a list starting at a given element - * @param eq equality to be used, defaults to physical equality (==) - * @raise Not_found *) -val list_tl_at: ?equality:('a -> 'a -> bool) -> 'a -> 'a list -> 'a list - -exception History_failure - -type 'a memento - -class type ['a] history = - object ('b) - method add : 'a -> unit - method next : 'a (** @raise History_failure *) - method previous : 'a (** @raise History_failure *) - method load: 'a memento -> unit - method save: 'a memento - method is_begin: bool - method is_end: bool - end - - (** shell like history: new items added at the end of the history - * @param size maximum history size *) -class shell_history : int -> [string] history - - (** browser like history: new items added at the current point of the history - * @param size maximum history size - * @param first element in history (this history is never empty) *) -class ['a] browser_history: ?memento:'a memento -> int -> 'a -> ['a] history - - (** create a singleton from a given function. Given function is invoked the - * first time it gets called. Next invocation will return first value *) -val singleton: (unit -> 'a) -> (unit -> 'a) - - (** given the base name of an image, returns its full path *) -val image_path: string -> string -val obj_file_of_baseuri: string -> string - diff --git a/helm/matita/matitaMoo.ml b/helm/matita/matitaMoo.ml deleted file mode 100644 index bdea339b7..000000000 --- a/helm/matita/matitaMoo.ml +++ /dev/null @@ -1,70 +0,0 @@ -(* Copyright (C) 2005, 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 Checksum_failure of string -exception Corrupt_moo of string -exception Version_mismatch of string - -let marshal_flags = [] - -(** .moo file format - * - an integer -- magic number -- denoting the version of the dumped data - * structure. Different magic numbers stand for incompatible data structures - * - an integer -- checksum -- denoting the hash value (computed with - * Hashtbl.hash) of the string representation of the dumped data structur - * - marshalled pair: first component is a list of GrafiteAst.command (real moo - * content), second component is a list of GrafiteAst.metadata - *) - -let save_moo ~fname (moo, metadata) = - let oc = open_out fname in - let marshalled = - Marshal.to_string (List.rev moo, List.rev metadata) marshal_flags - in - let checksum = Hashtbl.hash marshalled in - output_binary_int oc GrafiteAst.magic; - output_binary_int oc checksum; - output_string oc marshalled; - close_out oc - -let load_moo ~fname = - let ic = open_in fname in - HExtlib.finally - (fun () -> close_in ic) - (fun () -> - try - let moo_magic = input_binary_int ic in - if moo_magic <> GrafiteAst.magic then raise (Version_mismatch fname); - let moo_checksum = input_binary_int ic in - let marshalled = HExtlib.input_all ic in - let checksum = Hashtbl.hash marshalled in - if checksum <> moo_checksum then raise (Checksum_failure fname); - let (moo: MatitaTypes.moo) = - Marshal.from_string marshalled 0 - in - moo - with End_of_file -> raise (Corrupt_moo fname)) - () - diff --git a/helm/matita/matitaMoo.mli b/helm/matita/matitaMoo.mli deleted file mode 100644 index 75b71a58f..000000000 --- a/helm/matita/matitaMoo.mli +++ /dev/null @@ -1,35 +0,0 @@ -(* Copyright (C) 2005, 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/ - *) - - (** name of the corrupt .moo file *) -exception Checksum_failure of string -exception Corrupt_moo of string -exception Version_mismatch of string - -val save_moo: fname:string -> MatitaTypes.moo -> unit - - (** @raise Corrupt_moo *) -val load_moo: fname:string -> MatitaTypes.moo - diff --git a/helm/matita/matitaScript.ml b/helm/matita/matitaScript.ml deleted file mode 100644 index 34e0408c5..000000000 --- a/helm/matita/matitaScript.ml +++ /dev/null @@ -1,813 +0,0 @@ -(* Copyright (C) 2004-2005, 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 - -module TA = GrafiteAst - -let debug = false -let debug_print = if debug then prerr_endline else ignore - - (** raised when one of the script margins (top or bottom) is reached *) -exception Margin - -let safe_substring s i j = - try String.sub s i j with Invalid_argument _ -> assert false - -let heading_nl_RE = Pcre.regexp "^\\s*\n\\s*" -let heading_nl_RE' = Pcre.regexp "^(\\s*\n\\s*)((.|\n)*)" -let only_dust_RE = Pcre.regexp "^(\\s|\n|%%[^\n]*\n)*$" -let multiline_RE = Pcre.regexp "^\n[^\n]+$" -let newline_RE = Pcre.regexp "\n" - -let comment str = - if Pcre.pmatch ~rex:multiline_RE str then - "\n(** " ^ (Pcre.replace ~rex:newline_RE str) ^ " *)" - else - "\n(**\n" ^ str ^ "\n*)" - -let first_line s = - let s = Pcre.replace ~rex:heading_nl_RE s in - try - let nl_pos = String.index s '\n' in - String.sub s 0 nl_pos - with Not_found -> s - - (** creates a statement AST for the Goal tactic, e.g. "goal 7" *) -let goal_ast n = - let module A = GrafiteAst in - let loc = DisambiguateTypes.dummy_floc in - A.Executable (loc, A.Tactical (loc, - A.Tactic (loc, A.Goal (loc, n)), - Some (A.Dot loc))) - -type guistuff = { - mathviewer:MatitaTypes.mathViewer; - urichooser: UriManager.uri list -> UriManager.uri list; - ask_confirmation: title:string -> message:string -> [`YES | `NO | `CANCEL]; - develcreator: containing:string option -> unit; - mutable filenamedata: string option * MatitamakeLib.development option -} - -let eval_with_engine guistuff status user_goal parsed_text st = - let module TAPp = GrafiteAstPp in - let include_ = - match guistuff.filenamedata with - | None,None -> [] - | None,Some devel -> [MatitamakeLib.root_for_development devel ] - | Some f,_ -> - match MatitamakeLib.development_for_dir (Filename.dirname f) with - | None -> [] - | Some devel -> [MatitamakeLib.root_for_development devel ] - in - let parsed_text_length = String.length parsed_text in - let loc, ex = - match st with TA.Executable (loc,ex) -> loc, ex | _ -> assert false in - let initial_space,parsed_text = - try - let pieces = Pcre.extract ~rex:heading_nl_RE' parsed_text in - pieces.(1), pieces.(2) - with - Not_found -> "", parsed_text in - (* we add the goal command if needed *) - let inital_space,new_status,new_status_and_text_list' = - match status.proof_status with -(* | Incomplete_proof { stack = stack } - when not (List.mem user_goal (Continuationals.head_goals stack)) -> - let status = - MatitaEngine.eval_ast ~include_paths:include_ - ~do_heavy_checks:true status (goal_ast user_goal) - in - let initial_space = if initial_space = "" then "\n" else initial_space - in - "\n", status, - [ status, - initial_space ^ TAPp.pp_tactical (TA.Select (loc, [user_goal])) ] *) - | _ -> initial_space,status,[] in - let new_status = - MatitaEngine.eval_ast - ~include_paths:include_ ~do_heavy_checks:true new_status st - in - let new_aliases = - match ex with - | TA.Command (_, TA.Alias _) - | TA.Command (_, TA.Include _) - | TA.Command (_, TA.Interpretation _) -> [] - | _ -> MatitaSync.alias_diff ~from:status new_status - in - (* we remove the defined object since we consider them "automatic aliases" *) - let dummy_st = - TA.Comment (DisambiguateTypes.dummy_floc, - TA.Note (DisambiguateTypes.dummy_floc, "")) - in - let initial_space,status,new_status_and_text_list_rev = - let module DTE = DisambiguateTypes.Environment in - let module UM = UriManager in - List.fold_left ( - fun (initial_space,status,acc) (k,((v,_) as value)) -> - let b = - try - let v = UM.strip_xpointer (UM.uri_of_string v) in - List.exists (fun (s,_) -> s = v) new_status.objects - with UM.IllFormedUri _ -> false - in - if b then - initial_space,status,acc - else - let new_text = - let initial_space = - if initial_space = "" then "\n" else initial_space in - initial_space ^ - DisambiguatePp.pp_environment - (DisambiguateTypes.Environment.add k value - DisambiguateTypes.Environment.empty) in - let new_status = - MatitaSync.set_proof_aliases status [k,value] - in - "\n",new_status,((new_status, (new_text, dummy_st))::acc) - ) (initial_space,status,[]) new_aliases in - let parsed_text = initial_space ^ parsed_text in - let res = - List.rev new_status_and_text_list_rev @ new_status_and_text_list' @ - [new_status, (parsed_text, st)] - in - res,parsed_text_length - -let eval_with_engine guistuff status user_goal parsed_text st = - try - eval_with_engine guistuff status user_goal parsed_text st - with - | MatitaEngine.UnableToInclude what - | MatitaEngine.IncludedFileNotCompiled what as exc -> - let compile_needed_and_go_on d = - let target = what in - let refresh_cb () = - while Glib.Main.pending () do ignore(Glib.Main.iteration false); done - in - if not(MatitamakeLib.build_development_in_bg ~target refresh_cb d) then - raise exc - else - eval_with_engine guistuff status user_goal parsed_text st - in - let do_nothing () = [], 0 in - let handle_with_devel d = - let name = MatitamakeLib.name_for_development d in - let title = "Unable to include " ^ what in - let message = - what ^ " is handled by development " ^ name ^ ".\n\n" ^ - "Should I compile it and Its dependencies?" - in - (match guistuff.ask_confirmation ~title ~message with - | `YES -> compile_needed_and_go_on d - | `NO -> raise exc - | `CANCEL -> do_nothing ()) - in - let handle_without_devel filename = - let title = "Unable to include " ^ what in - let message = - what ^ " is not handled by a development.\n" ^ - "All dependencies are automatically solved for a development.\n\n" ^ - "Do you want to set up a development?" - in - (match guistuff.ask_confirmation ~title ~message with - | `YES -> - (match filename with - | Some f -> - guistuff.develcreator ~containing:(Some (Filename.dirname f)) - | None -> guistuff.develcreator ~containing:None); - do_nothing () - | `NO -> raise exc - | `CANCEL -> do_nothing()) - in - match guistuff.filenamedata with - | None,None -> handle_without_devel None - | None,Some d -> handle_with_devel d - | Some f,_ -> - match MatitamakeLib.development_for_dir (Filename.dirname f) with - | None -> handle_without_devel (Some f) - | Some d -> handle_with_devel d -;; - -let disambiguate_macro_term term status user_goal = - let module MD = MatitaDisambiguator in - let dbd = MatitaDb.instance () in - let metasenv = MatitaTypes.get_proof_metasenv status in - let context = MatitaTypes.get_proof_context status user_goal in - let interps = - MD.disambiguate_term ~dbd ~context ~metasenv ~aliases:status.aliases - ~universe:(Some status.multi_aliases) term in - match interps with - | [_,_,x,_], _ -> x - | _ -> assert false - -let eval_macro guistuff status user_goal unparsed_text parsed_text script mac = - let module TAPp = GrafiteAstPp in - let module MQ = MetadataQuery in - let module MDB = MatitaDb in - let module CTC = CicTypeChecker in - let module CU = CicUniv in - (* no idea why ocaml wants this *) - let advance ?statement () = script#advance ?statement () in - let parsed_text_length = String.length parsed_text in - let dbd = MatitaDb.instance () in - match mac with - (* WHELP's stuff *) - | TA.WMatch (loc, term) -> - let term = disambiguate_macro_term term status user_goal in - let l = MQ.match_term ~dbd term in - let query_url = - MatitaMisc.strip_suffix ~suffix:"." - (HExtlib.trim_blanks unparsed_text) - in - let entry = `Whelp (query_url, l) in - guistuff.mathviewer#show_uri_list ~reuse:true ~entry l; - [], parsed_text_length - | TA.WInstance (loc, term) -> - let term = disambiguate_macro_term term status user_goal in - let l = MQ.instance ~dbd term in - let entry = `Whelp (TAPp.pp_macro_cic (TA.WInstance (loc, term)), l) in - guistuff.mathviewer#show_uri_list ~reuse:true ~entry l; - [], parsed_text_length - | TA.WLocate (loc, s) -> - let l = MQ.locate ~dbd s in - let entry = `Whelp (TAPp.pp_macro_cic (TA.WLocate (loc, s)), l) in - guistuff.mathviewer#show_uri_list ~reuse:true ~entry l; - [], parsed_text_length - | TA.WElim (loc, term) -> - let term = disambiguate_macro_term term status user_goal in - let uri = - match term with - | Cic.MutInd (uri,n,_) -> UriManager.uri_of_uriref uri n None - | _ -> failwith "Not a MutInd" - in - let l = MQ.elim ~dbd uri in - let entry = `Whelp (TAPp.pp_macro_cic (TA.WElim (loc, term)), l) in - guistuff.mathviewer#show_uri_list ~reuse:true ~entry l; - [], parsed_text_length - | TA.WHint (loc, term) -> - let term = disambiguate_macro_term term status user_goal in - let s = ((None,[0,[],term], Cic.Meta (0,[]) ,term),0) in - let l = List.map fst (MQ.experimental_hint ~dbd s) in - let entry = `Whelp (TAPp.pp_macro_cic (TA.WHint (loc, term)), l) in - guistuff.mathviewer#show_uri_list ~reuse:true ~entry l; - [], parsed_text_length - (* REAL macro *) - | TA.Hint loc -> - let proof = MatitaTypes.get_current_proof status in - let proof_status = proof, user_goal in - let l = List.map fst (MQ.experimental_hint ~dbd proof_status) in - let selected = guistuff.urichooser l in - (match selected with - | [] -> [], parsed_text_length - | [uri] -> - let suri = UriManager.string_of_uri uri in - let ast = - TA.Executable (loc, (TA.Tactical (loc, - TA.Tactic (loc, - TA.Apply (loc, CicNotationPt.Uri (suri, None))), - Some (TA.Dot loc)))) - in - let new_status = MatitaEngine.eval_ast status ast in - let extra_text = - comment parsed_text ^ - "\n" ^ TAPp.pp_statement ast - in - [ new_status , (extra_text, ast) ], parsed_text_length - | _ -> - MatitaLog.error - "The result of the urichooser should be only 1 uri, not:\n"; - List.iter ( - fun u -> MatitaLog.error (UriManager.string_of_uri u ^ "\n") - ) selected; - assert false) - | TA.Check (_,term) -> - let metasenv = MatitaTypes.get_proof_metasenv status in - let context = MatitaTypes.get_proof_context status user_goal in - let interps = - MatitaDisambiguator.disambiguate_term ~dbd ~context ~metasenv - ~aliases:status.aliases ~universe:(Some status.multi_aliases) term - in - let _, metasenv , term, ugraph = - match interps with - | [x], _ -> x - | _ -> assert false - in - let ty,_ = CTC.type_of_aux' metasenv context term ugraph in - let t_and_ty = Cic.Cast (term,ty) in - guistuff.mathviewer#show_entry (`Cic (t_and_ty,metasenv)); - [], parsed_text_length -(* | TA.Abort _ -> - let rec go_back () = - let status = script#status.proof_status in - match status with - | No_proof -> () - | _ -> script#retract ();go_back() - in - [], parsed_text_length, Some go_back - | TA.Redo (_, Some i) -> [], parsed_text_length, - Some (fun () -> for j = 1 to i do advance () done) - | TA.Redo (_, None) -> [], parsed_text_length, - Some (fun () -> advance ()) - | TA.Undo (_, Some i) -> [], parsed_text_length, - Some (fun () -> for j = 1 to i do script#retract () done) - | TA.Undo (_, None) -> [], parsed_text_length, - Some (fun () -> script#retract ()) *) - (* TODO *) - | TA.Quit _ -> failwith "not implemented" - | TA.Print (_,kind) -> failwith "not implemented" - | TA.Search_pat (_, search_kind, str) -> failwith "not implemented" - | TA.Search_term (_, search_kind, term) -> failwith "not implemented" - -let eval_executable guistuff status user_goal unparsed_text parsed_text script - ex -= - let module TAPp = GrafiteAstPp in - let module MD = MatitaDisambiguator in - let module ML = MatitacleanLib in - let parsed_text_length = String.length parsed_text in - match ex with - | TA.Command (loc, _) | TA.Tactical (loc, _, _) -> - (try - (match MatitaMisc.baseuri_of_baseuri_decl (TA.Executable (loc,ex)) with - | None -> () - | Some u -> - if not (MatitaMisc.is_empty u) then - match - guistuff.ask_confirmation - ~title:"Baseuri redefinition" - ~message:( - "Baseuri " ^ u ^ " already exists.\n" ^ - "Do you want to redefine the corresponding "^ - "part of the library?") - with - | `YES -> MatitacleanLib.clean_baseuris [u] - | `NO -> () - | `CANCEL -> raise MatitaTypes.Cancel); - eval_with_engine - guistuff status user_goal parsed_text (TA.Executable (loc, ex)) - with MatitaTypes.Cancel -> [], 0) - | TA.Macro (_,mac) -> - eval_macro guistuff status user_goal unparsed_text parsed_text script mac - -let parse_statement baseoffset parsedlen ?error_tag (buffer: GText.buffer) text -= - try - GrafiteParser.parse_statement (Ulexing.from_utf8_string text) - with CicNotationParser.Parse_error (floc, err) as exn -> - match error_tag with - | None -> raise exn - | Some error_tag -> - let (x, y) = CicNotationPt.loc_of_floc floc in - let x = parsedlen + x in - let y = parsedlen + y in - let x' = baseoffset + x in - let y' = baseoffset + y in - let x_iter = buffer#get_iter (`OFFSET x') in - let y_iter = buffer#get_iter (`OFFSET y') in - buffer#apply_tag error_tag ~start:x_iter ~stop:y_iter; - let id = ref None in - id := Some (buffer#connect#changed ~callback:(fun () -> - buffer#remove_tag error_tag ~start:buffer#start_iter - ~stop:buffer#end_iter; - match !id with - | None -> assert false (* a race condition occurred *) - | Some id -> - (new GObj.gobject_ops buffer#as_buffer)#disconnect id)); - let flocb,floce = floc in - let floc = - { flocb with Lexing.pos_cnum = x }, { floce with Lexing.pos_cnum = y } - in - buffer#place_cursor (buffer#get_iter (`OFFSET x')); - raise (CicNotationParser.Parse_error (floc, err)) - -let rec eval_statement baseoffset parsedlen error_tag (buffer : GText.buffer) - guistuff status user_goal script statement -= - let st, unparsed_text = - match statement with - | `Raw text -> - if Pcre.pmatch ~rex:only_dust_RE text then raise Margin; - parse_statement baseoffset parsedlen ~error_tag buffer text, text - | `Ast (st, text) -> st, text - in - let text_of_loc loc = - let parsed_text_length = snd (CicNotationPt.loc_of_floc loc) in - let parsed_text = safe_substring unparsed_text 0 parsed_text_length in - parsed_text, parsed_text_length - in - match st with - | GrafiteAst.Comment (loc, _) -> - let parsed_text, parsed_text_length = text_of_loc loc in - let remain_len = String.length unparsed_text - parsed_text_length in - let s = String.sub unparsed_text parsed_text_length remain_len in - let s,len = - eval_statement baseoffset (parsedlen + parsed_text_length) error_tag - buffer guistuff status user_goal script (`Raw s) - in - (match s with - | (status, (text, ast)) :: tl -> - ((status, (parsed_text ^ text, ast))::tl), (parsed_text_length + len) - | [] -> [], 0) - | GrafiteAst.Executable (loc, ex) -> - let parsed_text, parsed_text_length = text_of_loc loc in - eval_executable guistuff status user_goal unparsed_text parsed_text - script ex - -let fresh_script_id = - let i = ref 0 in - fun () -> incr i; !i - -class script ~(source_view: GSourceView.source_view) - ~(init: MatitaTypes.status) - ~(mathviewer: MatitaTypes.mathViewer) - ~set_star - ~ask_confirmation - ~urichooser - ~develcreator - () = -let buffer = source_view#buffer in -let source_buffer = source_view#source_buffer in -object (self) - val scriptId = fresh_script_id () - - val guistuff = { - mathviewer = mathviewer; - urichooser = urichooser; - ask_confirmation = ask_confirmation; - develcreator = develcreator; - filenamedata = (None, None)} - - method private getFilename = - match guistuff.filenamedata with Some f,_ -> f | _ -> assert false - - method filename = self#getFilename - - method private ppFilename = - match guistuff.filenamedata with - | Some f,_ -> f - | None,_ -> sprintf ".unnamed%d.ma" scriptId - - initializer - ignore (GMain.Timeout.add ~ms:300000 - ~callback:(fun _ -> self#_saveToBackupFile ();true)); - ignore (buffer#connect#modified_changed - (fun _ -> set_star (Filename.basename self#ppFilename) buffer#modified)) - - val mutable statements = []; (** executed statements *) - val mutable history = [ init ]; - (** list of states before having executed statements. Head element of this - * list is the current state, last element is the state at the beginning of - * the script. - * Invariant: this list length is 1 + length of statements *) - - (** goal as seen by the user (i.e. metano corresponding to current tab) *) - val mutable userGoal = ~-1 - - (** text mark and tag representing locked part of a script *) - val locked_mark = - buffer#create_mark ~name:"locked" ~left_gravity:true buffer#start_iter - val locked_tag = buffer#create_tag [`BACKGROUND "lightblue"; `EDITABLE false] - val error_tag = buffer#create_tag [`UNDERLINE `SINGLE; `FOREGROUND "red"] - - method locked_mark = locked_mark - method locked_tag = locked_tag - - (* history can't be empty, the invariant above grant that it contains at - * least the init status *) - method status = match history with hd :: _ -> hd | _ -> assert false - - method private _advance ?statement () = - let rec aux st = - let baseoffset = (buffer#get_iter_at_mark (`MARK locked_mark))#offset in - let (entries, parsed_len) = - eval_statement baseoffset 0 error_tag buffer guistuff self#status - userGoal self st - in - let (new_statuses, new_statements, new_asts) = - let statuses, statements = List.split entries in - let texts, asts = List.split statements in - statuses, texts, asts - in - history <- List.rev new_statuses @ history; - statements <- List.rev new_statements @ statements; - let start = buffer#get_iter_at_mark (`MARK locked_mark) in - let new_text = String.concat "" new_statements in - if statement <> None then - buffer#insert ~iter:start new_text - else - let s = match st with `Raw s | `Ast (_, s) -> s in - if new_text <> String.sub s 0 parsed_len then - begin - let stop = start#copy#forward_chars parsed_len in - buffer#delete ~start ~stop; - buffer#insert ~iter:start new_text; - end; - self#moveMark (String.length new_text); - (* - (match List.rev new_asts with (* advance again on punctuation *) - | TA.Executable (_, TA.Tactical (_, tac, _)) :: _ -> - let baseoffset = - (buffer#get_iter_at_mark (`MARK locked_mark))#offset - in - let text = self#getFuture in - (try - (match parse_statement baseoffset 0 ?error_tag:None buffer text with - | TA.Executable (loc, TA.Tactical (_, tac, None)) as st - when GrafiteAst.is_punctuation tac -> - let len = snd (CicNotationPt.loc_of_floc loc) in - aux (`Ast (st, String.sub text 0 len)) - | _ -> ()) - with CicNotationParser.Parse_error _ | End_of_file -> ()) - | _ -> ()) - *) - in - let s = match statement with Some s -> s | None -> self#getFuture in - MatitaLog.debug ("evaluating: " ^ first_line s ^ " ..."); - (try aux (`Raw s) with End_of_file -> raise Margin) - - method private _retract offset status new_statements new_history = - let cur_status = match history with s::_ -> s | [] -> assert false in - MatitaSync.time_travel ~present:cur_status ~past:status; - statements <- new_statements; - history <- new_history; - self#moveMark (- offset) - - method advance ?statement () = - try - self#_advance ?statement (); - self#notify - with - | Margin -> self#notify - | exc -> self#notify; raise exc - - method retract () = - try - let cmp,new_statements,new_history,status = - match statements,history with - stat::statements, _::(status::_ as history) -> - String.length stat, statements, history, status - | [],[_] -> raise Margin - | _,_ -> assert false - in - self#_retract cmp status new_statements new_history; - self#notify - with - | Margin -> self#notify - | exc -> self#notify; raise exc - - method private getFuture = - buffer#get_text ~start:(buffer#get_iter_at_mark (`MARK locked_mark)) - ~stop:buffer#end_iter () - - - (** @param rel_offset relative offset from current position of locked_mark *) - method private moveMark rel_offset = - let mark = `MARK locked_mark in - let old_insert = buffer#get_iter_at_mark `INSERT in - buffer#remove_tag locked_tag ~start:buffer#start_iter ~stop:buffer#end_iter; - let current_mark_pos = buffer#get_iter_at_mark mark in - let new_mark_pos = - match rel_offset with - | 0 -> current_mark_pos - | n when n > 0 -> current_mark_pos#forward_chars n - | n (* when n < 0 *) -> current_mark_pos#backward_chars (abs n) - in - buffer#move_mark mark ~where:new_mark_pos; - buffer#apply_tag locked_tag ~start:buffer#start_iter ~stop:new_mark_pos; - buffer#move_mark `INSERT old_insert; - let mark_position = buffer#get_iter_at_mark mark in - if source_view#move_mark_onscreen mark then - begin - buffer#move_mark mark mark_position; - source_view#scroll_to_mark ~use_align:true ~xalign:1.0 ~yalign:0.1 mark; - end; - while Glib.Main.pending () do ignore(Glib.Main.iteration false); done - - method clean_dirty_lock = - let lock_mark_iter = buffer#get_iter_at_mark (`MARK locked_mark) in - buffer#remove_tag locked_tag ~start:buffer#start_iter ~stop:buffer#end_iter; - buffer#apply_tag locked_tag ~start:buffer#start_iter ~stop:lock_mark_iter - - val mutable observers = [] - - method addObserver (o: MatitaTypes.status -> unit) = - observers <- o :: observers - - method private notify = - let status = self#status in - List.iter (fun o -> o status) observers - - method loadFromFile f = - buffer#set_text (HExtlib.input_file f); - self#reset_buffer; - buffer#set_modified false - - method assignFileName file = - let abspath = MatitaMisc.absolute_path file in - let devel = MatitamakeLib.development_for_dir (Filename.dirname abspath) in - guistuff.filenamedata <- Some abspath, devel - - method saveToFile () = - let oc = open_out self#getFilename in - output_string oc (buffer#get_text ~start:buffer#start_iter - ~stop:buffer#end_iter ()); - close_out oc; - buffer#set_modified false - - method private _saveToBackupFile () = - if buffer#modified then - begin - let f = self#ppFilename ^ "~" in - let oc = open_out f in - output_string oc (buffer#get_text ~start:buffer#start_iter - ~stop:buffer#end_iter ()); - close_out oc; - MatitaLog.debug ("backup " ^ f ^ " saved") - end - - method private goto_top = - MatitaSync.time_travel ~present:self#status ~past:init - - method private reset_buffer = - statements <- []; - history <- [ init ]; - userGoal <- ~-1; - self#notify; - buffer#remove_tag locked_tag ~start:buffer#start_iter ~stop:buffer#end_iter; - buffer#move_mark (`MARK locked_mark) ~where:buffer#start_iter - - method reset () = - self#reset_buffer; - source_buffer#begin_not_undoable_action (); - buffer#delete ~start:buffer#start_iter ~stop:buffer#end_iter; - source_buffer#end_not_undoable_action (); - buffer#set_modified false - - method template () = - let template = HExtlib.input_file BuildTimeConf.script_template in - buffer#insert ~iter:(buffer#get_iter `START) template; - guistuff.filenamedata <- - (None,MatitamakeLib.development_for_dir (Unix.getcwd ())); - buffer#set_modified false; - set_star (Filename.basename self#ppFilename) false - - method goto (pos: [`Top | `Bottom | `Cursor]) () = - let old_locked_mark = - `MARK - (buffer#create_mark ~name:"old_locked_mark" - ~left_gravity:true (buffer#get_iter_at_mark (`MARK locked_mark))) in - let getpos _ = buffer#get_iter_at_mark (`MARK locked_mark) in - let getoldpos _ = buffer#get_iter_at_mark old_locked_mark in - let dispose_old_locked_mark () = buffer#delete_mark old_locked_mark in - match pos with - | `Top -> - dispose_old_locked_mark (); - self#goto_top; - self#reset_buffer; - self#notify - | `Bottom -> - (try - let rec dowhile () = - self#_advance (); - let newpos = getpos () in - if (getoldpos ())#compare newpos < 0 then - begin - buffer#move_mark old_locked_mark newpos; - dowhile () - end - in - dowhile (); - dispose_old_locked_mark (); - self#notify - with - | Margin -> dispose_old_locked_mark (); self#notify - | exc -> dispose_old_locked_mark (); self#notify; raise exc) - | `Cursor -> - let locked_iter () = buffer#get_iter_at_mark (`NAME "locked") in - let cursor_iter () = buffer#get_iter_at_mark `INSERT in - let remember = - `MARK - (buffer#create_mark ~name:"initial_insert" - ~left_gravity:true (cursor_iter ())) in - let dispose_remember () = buffer#delete_mark remember in - let remember_iter () = - buffer#get_iter_at_mark (`NAME "initial_insert") in - let cmp () = (locked_iter ())#offset - (remember_iter ())#offset in - let icmp = cmp () in - let forward_until_cursor () = (* go forward until locked > cursor *) - let rec aux () = - self#_advance (); - if cmp () < 0 && (getoldpos ())#compare (getpos ()) < 0 - then - begin - buffer#move_mark old_locked_mark (getpos ()); - aux () - end - in - aux () - in - let rec back_until_cursor len = (* go backward until locked < cursor *) - function - statements, (status::_ as history) when len <= 0 -> - self#_retract (icmp - len) status statements history - | statement::tl1, _::tl2 -> - back_until_cursor (len - String.length statement) (tl1,tl2) - | _,_ -> assert false - in - (try - begin - if icmp < 0 then (* locked < cursor *) - (forward_until_cursor (); self#notify) - else if icmp > 0 then (* locked > cursor *) - (back_until_cursor icmp (statements,history); self#notify) - else (* cursor = locked *) - () - end ; - dispose_remember (); - dispose_old_locked_mark (); - with - | Margin -> dispose_remember (); dispose_old_locked_mark (); self#notify - | exc -> dispose_remember (); dispose_old_locked_mark (); - self#notify; raise exc) - - method onGoingProof () = - match self#status.proof_status with - | No_proof | Proof _ -> false - | Incomplete_proof _ -> true - | Intermediate _ -> assert false - -(* method proofStatus = MatitaTypes.get_proof_status self#status *) - method proofMetasenv = MatitaTypes.get_proof_metasenv self#status - method proofContext = MatitaTypes.get_proof_context self#status userGoal - method proofConclusion = MatitaTypes.get_proof_conclusion self#status userGoal - method stack = MatitaTypes.get_stack self#status - method setGoal n = userGoal <- n - method goal = userGoal - - method eos = - let s = self#getFuture in - let rec is_there_and_executable s = - if Pcre.pmatch ~rex:only_dust_RE s then raise Margin; - let st = GrafiteParser.parse_statement (Ulexing.from_utf8_string s) in - match st with - | GrafiteAst.Comment (loc,_)-> - let parsed_text_length = snd (CicNotationPt.loc_of_floc loc) in - let remain_len = String.length s - parsed_text_length in - let next = String.sub s parsed_text_length remain_len in - is_there_and_executable next - | GrafiteAst.Executable (loc, ex) -> false - in - try - is_there_and_executable s - with - | CicNotationParser.Parse_error _ -> false - | Margin | End_of_file -> true - - (* debug *) - method dump () = - MatitaLog.debug "script status:"; - MatitaLog.debug ("history size: " ^ string_of_int (List.length history)); - MatitaLog.debug (sprintf "%d statements:" (List.length statements)); - List.iter MatitaLog.debug statements; - MatitaLog.debug ("Current file name: " ^ - (match guistuff.filenamedata with - |None,_ -> "[ no name ]" - | Some f,_ -> f)); - -end - -let _script = ref None - -let script ~source_view ~init ~mathviewer ~urichooser ~develcreator ~ask_confirmation ~set_star () -= - let s = new script - ~source_view ~init ~mathviewer ~ask_confirmation ~urichooser ~develcreator ~set_star () - in - _script := Some s; - s - -let current () = match !_script with None -> assert false | Some s -> s - diff --git a/helm/matita/matitaScript.mli b/helm/matita/matitaScript.mli deleted file mode 100644 index 35ae43ebb..000000000 --- a/helm/matita/matitaScript.mli +++ /dev/null @@ -1,98 +0,0 @@ -(* Copyright (C) 2004-2005, 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 script = -object - - method locked_mark : Gtk.text_mark - method locked_tag : GText.tag - - (** @return current status *) - method status: MatitaTypes.status - - (** {2 Observers} *) - - method addObserver : (MatitaTypes.status -> unit) -> unit - - (** {2 History} *) - - method advance : ?statement:string -> unit -> unit - method retract : unit -> unit - method goto: [`Top | `Bottom | `Cursor] -> unit -> unit - method reset: unit -> unit - method template: unit -> unit - - (** {2 Load/save} *) - - method assignFileName : string -> unit (* to the current active file *) - method loadFromFile : string -> unit - method saveToFile : unit -> unit - method filename : string - - (** {2 Current proof} (if any) *) - - (** @return true if there is an ongoing proof, false otherise *) - method onGoingProof: unit -> bool - -(* method proofStatus: ProofEngineTypes.status |+* @raise Statement_error +| *) - method proofMetasenv: Cic.metasenv (** @raise Statement_error *) - method proofContext: Cic.context (** @raise Statement_error *) - method proofConclusion: Cic.term (** @raise Statement_error *) - method stack: Continuationals.Stack.t (** @raise Statement_error *) - - method setGoal: int -> unit - method goal: int - - (** end of script, true if the whole script has been executed *) - method eos: bool - - (** misc *) - method clean_dirty_lock: unit - - (* debug *) - method dump : unit -> unit - -end - - (** @param set_star callback used to set the modified symbol (usually a star - * "*") on the side of a script name *) -val script: - source_view:GSourceView.source_view -> - init:MatitaTypes.status -> - mathviewer: MatitaTypes.mathViewer-> - urichooser: (UriManager.uri list -> UriManager.uri list) -> - develcreator: (containing:string option -> unit) -> - ask_confirmation: - (title:string -> message:string -> [`YES | `NO | `CANCEL]) -> - set_star: (string -> bool -> unit) -> - unit -> - script - -(* each time script above is called an internal ref is set, instance will return - * the value of this ref *) -(* TODO Zack: orrible solution until we found a better one for having a single - * access point for the script *) -val current: unit -> script - diff --git a/helm/matita/matitaSync.ml b/helm/matita/matitaSync.ml deleted file mode 100644 index 716aa04d2..000000000 --- a/helm/matita/matitaSync.ml +++ /dev/null @@ -1,339 +0,0 @@ -(* Copyright (C) 2004-2005, 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 alias_diff ~from status = - let module Map = DisambiguateTypes.Environment in - Map.fold - (fun domain_item (description1,_ as codomain_item) acc -> - try - let description2,_ = Map.find domain_item from.aliases in - if description1 <> description2 then - (domain_item,codomain_item)::acc - else - acc - with - Not_found -> - (domain_item,codomain_item)::acc) - status.aliases [] - -let alias_diff = - let profiler = HExtlib.profile "alias_diff (conteggiato anche in include)" in - fun ~from status -> profiler.HExtlib.profile (alias_diff ~from) status - -let set_proof_aliases status new_aliases = - let commands_of_aliases = - List.map - (fun alias -> GrafiteAst.Alias (DisambiguateTypes.dummy_floc, alias)) - in - let deps_of_aliases = - HExtlib.filter_map - (function - | GrafiteAst.Ident_alias (_, suri) -> - let buri = UriManager.buri_of_uri (UriManager.uri_of_string suri) in - Some (GrafiteAst.Dependency buri) - | _ -> None) - in - let aliases = - List.fold_left (fun acc (d,c) -> DisambiguateTypes.Environment.add d c acc) - status.aliases new_aliases in - let multi_aliases = - List.fold_left (fun acc (d,c) -> DisambiguateTypes.Environment.cons d c acc) - status.multi_aliases new_aliases in - let new_status = - { status with multi_aliases = multi_aliases ; aliases = aliases} - in - if new_aliases = [] then - new_status - else - let aliases = - DisambiguatePp.aliases_of_domain_and_codomain_items_list new_aliases - in - let status = add_moo_content (commands_of_aliases aliases) new_status in - let status = add_moo_metadata (deps_of_aliases aliases) status in - status - -(** given a uri and a type list (the contructors types) builds a list of pairs - * (name,uri) that is used to generate automatic aliases **) -let extract_alias types uri = - fst(List.fold_left ( - fun (acc,i) (name, _, _, cl) -> - (name, UriManager.string_of_uri (UriManager.uri_of_uriref uri i None)) - :: - (fst(List.fold_left ( - fun (acc,j) (name,_) -> - (((name,UriManager.string_of_uri (UriManager.uri_of_uriref uri i - (Some j))) :: acc) , j+1) - ) (acc,1) cl)),i+1 - ) ([],0) types) - -let build_aliases = - List.map - (fun (name,suri) -> - DisambiguateTypes.Id name, - (suri, fun _ _ _ -> CicUtil.term_of_uri (UriManager.uri_of_string suri))) - -let add_aliases_for_inductive_def status types suri = - let uri = UriManager.uri_of_string suri in - let aliases = build_aliases (extract_alias types uri) in - set_proof_aliases status aliases - -let add_alias_for_constant status suri = - let uri = UriManager.uri_of_string suri in - let name = UriManager.name_of_uri uri in - let new_env = build_aliases [(name,suri)] in - set_proof_aliases status new_env - -let add_aliases_for_object status suri = - function - Cic.InductiveDefinition (types,_,_,_) -> - add_aliases_for_inductive_def status types suri - | Cic.Constant _ -> add_alias_for_constant status suri - | Cic.Variable _ - | Cic.CurrentProof _ -> assert false - -let paths_and_uris_of_obj uri status = - let basedir = get_string_option status "basedir" ^ "/xml" in - let innertypesuri = UriManager.innertypesuri_of_uri uri in - let bodyuri = UriManager.bodyuri_of_uri uri in - let univgraphuri = UriManager.univgraphuri_of_uri uri in - let innertypesfilename = Str.replace_first (Str.regexp "^cic:") "" - (UriManager.string_of_uri innertypesuri) ^ ".xml.gz" in - let innertypespath = basedir ^ "/" ^ innertypesfilename in - let xmlfilename = Str.replace_first (Str.regexp "^cic:/") "" - (UriManager.string_of_uri uri) ^ ".xml.gz" in - let xmlpath = basedir ^ "/" ^ xmlfilename in - let xmlbodyfilename = Str.replace_first (Str.regexp "^cic:/") "" - (UriManager.string_of_uri uri) ^ ".body.xml.gz" in - let xmlbodypath = basedir ^ "/" ^ xmlbodyfilename in - let xmlunivgraphfilename = Str.replace_first (Str.regexp "^cic:/") "" - (UriManager.string_of_uri univgraphuri) ^ ".xml.gz" in - let xmlunivgraphpath = basedir ^ "/" ^ xmlunivgraphfilename in - xmlpath, xmlbodypath, innertypespath, bodyuri, innertypesuri, - xmlunivgraphpath, univgraphuri - -let save_object_to_disk status uri obj ugraph univlist = - let ensure_path_exists path = - let dir = Filename.dirname path in - HExtlib.mkdir dir - in - (* generate annobj, ids_to_inner_sorts and ids_to_inner_types *) - let annobj = Cic2acic.plain_acic_object_of_cic_object obj in - (* prepare XML *) - let xml, bodyxml = - Cic2Xml.print_object - uri ?ids_to_inner_sorts:None ~ask_dtd_to_the_getter:false annobj - in - let xmlpath, xmlbodypath, innertypespath, bodyuri, innertypesuri, - xmlunivgraphpath, univgraphuri = - paths_and_uris_of_obj uri status - in - let path_scheme_of path = "file://" ^ path in - List.iter HExtlib.mkdir (List.map Filename.dirname [xmlpath]); - (* now write to disk *) - ensure_path_exists xmlpath; - Xml.pp ~gzip:true xml (Some xmlpath); - CicUniv.write_xml_of_ugraph xmlunivgraphpath ugraph univlist; - (* we return a list of uri,path we registered/created *) - (uri,xmlpath) :: - (univgraphuri,xmlunivgraphpath) :: - (* now the optional body, both write and register *) - (match bodyxml,bodyuri with - None,None -> [] - | Some bodyxml,Some bodyuri-> - ensure_path_exists xmlbodypath; - Xml.pp ~gzip:true bodyxml (Some xmlbodypath); - [bodyuri, xmlbodypath] - | _-> assert false) - -let typecheck_obj = - let profiler = HExtlib.profile "add_obj.typecheck_obj" in - fun uri obj -> profiler.HExtlib.profile (CicTypeChecker.typecheck_obj uri) obj - -let index_obj = - let profiler = HExtlib.profile "add_obj.index_obj" in - fun ~dbd ~uri -> - profiler.HExtlib.profile (fun uri -> MetadataDb.index_obj ~dbd ~uri) uri - -let add_obj uri obj status = - let dbd = MatitaDb.instance () in - let suri = UriManager.string_of_uri uri in - if CicEnvironment.in_library uri then - command_error (sprintf "%s already defined" suri) - else begin - typecheck_obj uri obj; (* 1 *) - let _, ugraph, univlist = - CicEnvironment.get_cooked_obj_with_univlist CicUniv.empty_ugraph uri in - try - index_obj ~dbd ~uri; (* 2 must be in the env *) - try - let new_stuff=save_object_to_disk status uri obj ugraph univlist in(*3*) - try - MatitaLog.message (sprintf "%s defined" suri); - let status = add_aliases_for_object status suri obj in - { status with objects = new_stuff @ status.objects; - proof_status = No_proof } - with exc -> - List.iter MatitaMisc.safe_remove (List.map snd new_stuff); (* -3 *) - raise exc - with exc -> - ignore(MatitaDb.remove_uri uri); (* -2 *) - raise exc - with exc -> - CicEnvironment.remove_obj uri; (* -1 *) - raise exc - end - -let add_obj = - let profiler = HExtlib.profile "add_obj" in - fun uri obj status -> profiler.HExtlib.profile (add_obj uri obj) status - -module OrderedUri = -struct - type t = UriManager.uri * string - let compare (u1, _) (u2, _) = UriManager.compare u1 u2 -end - -module OrderedId = -struct - type t = CicNotation.notation_id - let compare = Pervasives.compare -end - -module UriSet = Set.Make (OrderedUri) -module IdSet = Set.Make (OrderedId) - - (** @return l2 \ l1 *) -let urixstring_list_diff l2 l1 = - let module S = UriSet in - let s1 = List.fold_left (fun set uri -> S.add uri set) S.empty l1 in - let s2 = List.fold_left (fun set uri -> S.add uri set) S.empty l2 in - let diff = S.diff s2 s1 in - S.fold (fun uri uris -> uri :: uris) diff [] - -let uri_list_diff l2 l1 = - let module S = UriManager.UriSet in - let s1 = List.fold_left (fun set uri -> S.add uri set) S.empty l1 in - let s2 = List.fold_left (fun set uri -> S.add uri set) S.empty l2 in - let diff = S.diff s2 s1 in - S.fold (fun uri uris -> uri :: uris) diff [] - - (** @return l2 \ l1 *) -let id_list_diff l2 l1 = - let module S = IdSet in - let s1 = List.fold_left (fun set uri -> S.add uri set) S.empty l1 in - let s2 = List.fold_left (fun set uri -> S.add uri set) S.empty l2 in - let diff = S.diff s2 s1 in - S.fold (fun uri uris -> uri :: uris) diff [] - -let remove_coercion uri = - CoercDb.remove_coercion (fun (_,_,u) -> UriManager.eq u uri) - -let time_travel ~present ~past = - let objs_to_remove = urixstring_list_diff present.objects past.objects in - let coercions_to_remove = uri_list_diff present.coercions past.coercions in - let notation_to_remove = - id_list_diff present.notation_ids past.notation_ids - in - let debug_list = ref [] in - List.iter remove_coercion coercions_to_remove; - List.iter - (fun (uri,p) -> - MatitaMisc.safe_remove p; - (try - CicEnvironment.remove_obj uri - with CicEnvironment.Object_not_found _ -> - MatitaLog.debug - (sprintf "time_travel removes from cache %s that is not in" - (UriManager.string_of_uri uri))); - let l = MatitaDb.remove_uri uri in - debug_list := UriManager.string_of_uri uri :: !debug_list @ l) - objs_to_remove; - List.iter CicNotation.remove_notation notation_to_remove - (* - (* this is debug code - * idea: debug_list is the list of objects to be removed as computed from the - * db, while list_of_objs_to_remove is the same list but computer from the - * differences between statuses *) - let l1 = List.sort Pervasives.compare !debug_list in - let l2 = List.sort Pervasives.compare - (List.map (fun (x,_) -> UriManager.string_of_uri x) list_of_objs_to_remove) - in - let rec uniq = function - | [] -> [] - | h::[] -> [h] - | h1::h2::tl when h1 = h2 -> uniq (h2 :: tl) - | h1::tl (* when h1 <> h2 *) -> h1 :: uniq tl - in - let l1 = uniq l1 in - let l2 = uniq l2 in - try - List.iter2 (fun x y -> if x <> y then raise Exit) l1 l2 - with - | Invalid_argument _ | Exit -> - MatitaLog.debug "It seems you garbaged something..."; - MatitaLog.debug "l1:"; - List.iter MatitaLog.debug l1; - MatitaLog.debug "l2:"; - List.iter MatitaLog.debug l2 - *) - -let last_baseuri = ref "" - -let remove ?(verbose=false) uri = - let derived_uris_of_uri uri = - UriManager.innertypesuri_of_uri uri :: - UriManager.univgraphuri_of_uri uri :: - (match UriManager.bodyuri_of_uri uri with - | None -> [] - | Some u -> [u]) - in - let to_remove = - uri :: - (if UriManager.uri_is_ind uri then MatitaDb.xpointers_of_ind uri else []) @ - derived_uris_of_uri uri - in - List.iter - (fun uri -> - (try - (* WARNING: non reentrant debugging code *) - if verbose then - let baseuri = UriManager.buri_of_uri uri in - if !last_baseuri <> baseuri then - begin - MatitaLog.debug ("Removing: " ^ baseuri ^ "/*"); - last_baseuri := baseuri - end; - let file = Http_getter.resolve' uri in - MatitaMisc.safe_remove file; - MatitaMisc.rmdir_descend (Filename.dirname file) - with Http_getter_types.Key_not_found _ -> ()); - remove_coercion uri; - ignore (MatitaDb.remove_uri uri); - CicEnvironment.remove_obj uri) - to_remove diff --git a/helm/matita/matitaSync.mli b/helm/matita/matitaSync.mli deleted file mode 100644 index f3906fb8b..000000000 --- a/helm/matita/matitaSync.mli +++ /dev/null @@ -1,52 +0,0 @@ -(* Copyright (C) 2004-2005, 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 add_obj: - UriManager.uri -> Cic.obj -> - MatitaTypes.status -> MatitaTypes.status - -val time_travel: - present:MatitaTypes.status -> past:MatitaTypes.status -> unit - - (** perform a diff between the aliases contained in two statuses, assuming - * that the second one can only have more aliases than the first one - * @return the list of aliases that should be added to aliases of from in - * order to be equal to aliases of the second argument *) -val alias_diff: - from:MatitaTypes.status -> MatitaTypes.status -> - (DisambiguateTypes.domain_item * DisambiguateTypes.codomain_item) list - - (** set the proof aliases enriching the moo_content *) -val set_proof_aliases : - MatitaTypes.status -> - (DisambiguateTypes.domain_item * DisambiguateTypes.codomain_item) list -> - MatitaTypes.status - - (* removes the object from DB, Disk, CoercionsDB, CicEnvironment, getter - * asserts the uri is resolved to file:// so it is only for - * user's objects - * @param verbose defaults to false *) -val remove: ?verbose:bool -> UriManager.uri -> unit - diff --git a/helm/matita/matitaTypes.ml b/helm/matita/matitaTypes.ml deleted file mode 100644 index 8bd32bb23..000000000 --- a/helm/matita/matitaTypes.ml +++ /dev/null @@ -1,291 +0,0 @@ -(* Copyright (C) 2004-2005, 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 - - (** user hit the cancel button *) -exception Cancel - - (** statement invoked in the wrong context (e.g. tactic with no ongoing proof) - *) -exception Statement_error of string -let statement_error msg = raise (Statement_error msg) - -exception Command_error of string -let command_error msg = raise (Command_error msg) - - (** parameters are: option name, error message *) -exception Option_error of string * string - -exception Unbound_identifier of string - -type incomplete_proof = { - proof: ProofEngineTypes.proof; - stack: Continuationals.Stack.t; -} - -type proof_status = - | No_proof - | Incomplete_proof of incomplete_proof - | Proof of ProofEngineTypes.proof - | Intermediate of Cic.metasenv - (* Status in which the proof could be while it is being processed by the - * engine. No status entering/exiting the engine could be in it. *) - -module StringMap = Map.Make (String) - -type option_value = - | String of string - | Int of int -type options = option_value StringMap.t -let no_options = StringMap.empty - -type ast_command = (CicNotationPt.term, GrafiteAst.obj) GrafiteAst.command -type moo = ast_command list * GrafiteAst.metadata list - -type status = { - aliases: DisambiguateTypes.environment; - multi_aliases: DisambiguateTypes.multiple_environment; - moo_content_rev: moo; - proof_status: proof_status; - options: options; - objects: (UriManager.uri * string) list; - coercions: UriManager.uri list; - notation_ids: CicNotation.notation_id list; -} - -let set_metasenv metasenv status = - let proof_status = - match status.proof_status with - | No_proof -> Intermediate metasenv - | Incomplete_proof ({ proof = (uri, _, proof, ty) } as incomplete_proof) -> - Incomplete_proof - { incomplete_proof with proof = (uri, metasenv, proof, ty) } - | Intermediate _ -> Intermediate metasenv - | Proof _ -> assert false - in - { status with proof_status = proof_status } - -let dump_status status = - MatitaLog.message "status.aliases:\n"; - MatitaLog.message "status.proof_status:"; - MatitaLog.message - (match status.proof_status with - | No_proof -> "no proof\n" - | Incomplete_proof _ -> "incomplete proof\n" - | Proof _ -> "proof\n" - | Intermediate _ -> "Intermediate\n"); - MatitaLog.message "status.options\n"; - StringMap.iter (fun k v -> - let v = - match v with - | String s -> s - | Int i -> string_of_int i - in - MatitaLog.message (k ^ "::=" ^ v)) status.options; - MatitaLog.message "status.coercions\n"; - MatitaLog.message "status.objects:\n"; - List.iter - (fun (u,_) -> - MatitaLog.message (UriManager.string_of_uri u)) status.objects - -let get_option status name = - try - StringMap.find name status.options - with Not_found -> raise (Option_error (name, "not found")) - -let get_string_option status name = - match get_option status name with - | String s -> s - | _ -> raise (Option_error (name, "not a string value")) - -let set_option status name value = - let mangle_dir s = - let s = Str.global_replace (Str.regexp "//+") "/" s in - let s = Str.global_replace (Str.regexp "/$") "" s in - s - in - let types = - [ "baseuri", (`String, mangle_dir); - "basedir", (`String, mangle_dir); - ] - in - let ty_and_mangler = - try - List.assoc name types - with Not_found -> command_error (sprintf "Unknown option \"%s\"" name) - in - let value = - match ty_and_mangler with - | `String, f -> String (f value) - | `Int, f -> - (try - Int (int_of_string (f value)) - with Failure _ -> - command_error (sprintf "Not an integer value \"%s\"" value)) - in - if StringMap.mem name status.options && name = "baseuri" then - command_error "Redefinition of 'baseuri' is forbidden." - else - { status with options = StringMap.add name value status.options } - -let add_moo_content cmds status = - let content, metadata = status.moo_content_rev in - let content' = - List.fold_right - (fun cmd acc -> -(* prerr_endline ("adding to moo command: " ^ GrafiteAstPp.pp_command cmd); *) - match cmd with - | GrafiteAst.Interpretation _ - | GrafiteAst.Default _ -> - if List.mem cmd content then acc - else cmd :: acc - | GrafiteAst.Alias _ -> (* move Alias as the last inserted one *) - cmd :: (List.filter ((<>) cmd) acc) - | _ -> cmd :: acc) - cmds content - in -(* prerr_endline ("new moo content: " ^ String.concat " " (List.map - GrafiteAstPp.pp_command content')); *) - { status with moo_content_rev = content', metadata } - -let add_moo_metadata new_metadata status = - let content, metadata = status.moo_content_rev in - let metadata' = - List.fold_left - (fun acc m -> - match m with - | GrafiteAst.Dependency buri -> - let is_self = (* self dependency *) - try - get_string_option status "baseuri" = buri - with Option_error _ -> false (* baseuri not yet set *) - in - if is_self - || List.exists (GrafiteAst.eq_metadata m) metadata (* duplicate *) - then acc - else m :: acc - | _ -> m :: acc) - metadata new_metadata - in - { status with moo_content_rev = content, metadata' } - - (* subset of MatitaConsole.console methods needed by MatitaInterpreter *) -class type console = - object - method clear : unit -> unit - method echo_error : string -> unit - method echo_message : string -> unit - method wrap_exn : 'a. (unit -> 'a) -> 'a option - method choose_uri : string list -> string - method show : ?msg:string -> unit -> unit - end - -type abouts = - [ `Blank - | `Current_proof - | `Us - ] - -type mathViewer_entry = - [ `About of abouts (* current proof *) - | `Check of string (* term *) - | `Cic of Cic.term * Cic.metasenv - | `Dir of string (* "directory" in cic uris namespace *) - | `Uri of UriManager.uri (* cic object uri *) - | `Whelp of string * UriManager.uri list (* query and results *) - ] - -let string_of_entry = function - | `About `Blank -> "about:blank" - | `About `Current_proof -> "about:proof" - | `About `Us -> "about:us" - | `Check _ -> "check:" - | `Cic (_, _) -> "term:" - | `Dir uri -> uri - | `Uri uri -> UriManager.string_of_uri uri - | `Whelp (query, _) -> query - -let entry_of_string = function - | "about:blank" -> `About `Blank - | "about:proof" -> `About `Current_proof - | "about:us" -> `About `Us - | _ -> (* only about entries supported ATM *) - raise (Invalid_argument "entry_of_string") - -class type mathViewer = - object - (** @param reuse if set reused last opened cic browser otherwise - * opens a new one. default is false - *) - method show_entry: ?reuse:bool -> mathViewer_entry -> unit - method show_uri_list: - ?reuse:bool -> entry:mathViewer_entry -> UriManager.uri list -> unit - end - -let qualify status name = get_string_option status "baseuri" ^ "/" ^ name - -let get_current_proof status = - match status.proof_status with - | Incomplete_proof { proof = p } -> p - | _ -> statement_error "no ongoing proof" - -let get_proof_metasenv status = - match status.proof_status with - | No_proof -> [] - | Proof (_, metasenv, _, _) - | Incomplete_proof { proof = (_, metasenv, _, _) } - | Intermediate metasenv -> - metasenv - -let get_proof_context status goal = - match status.proof_status with - | Incomplete_proof { proof = (_, metasenv, _, _) } -> - let (_, context, _) = CicUtil.lookup_meta goal metasenv in - context - | _ -> [] - -let get_proof_conclusion status goal = - match status.proof_status with - | Incomplete_proof { proof = (_, metasenv, _, _) } -> - let (_, _, conclusion) = CicUtil.lookup_meta goal metasenv in - conclusion - | _ -> statement_error "no ongoing proof" - -let get_stack status = - match status.proof_status with - | Incomplete_proof p -> p.stack - | Proof _ -> Continuationals.Stack.empty - | _ -> assert false - -let set_stack stack status = - match status.proof_status with - | Incomplete_proof p -> - { status with proof_status = Incomplete_proof { p with stack = stack } } - | Proof _ -> - assert (Continuationals.Stack.is_empty stack); - status - | _ -> assert false - diff --git a/helm/matita/matitaTypes.mli b/helm/matita/matitaTypes.mli deleted file mode 100644 index e54fe5c7e..000000000 --- a/helm/matita/matitaTypes.mli +++ /dev/null @@ -1,128 +0,0 @@ -(* Copyright (C) 2004-2005, 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 Cancel -exception Statement_error of string -val statement_error : string -> 'a - -exception Command_error of string -val command_error : string -> 'a - -exception Option_error of string * string -exception Unbound_identifier of string - -type incomplete_proof = { - proof: ProofEngineTypes.proof; - stack: Continuationals.Stack.t; -} - -type proof_status = - No_proof - | Incomplete_proof of incomplete_proof - | Proof of ProofEngineTypes.proof - | Intermediate of Cic.metasenv - -module StringMap : Map.S with type key = String.t - -type option_value = - | String of string - | Int of int -type options = option_value StringMap.t -val no_options : 'a StringMap.t - -type ast_command = (CicNotationPt.term, GrafiteAst.obj) GrafiteAst.command -type moo = ast_command list * GrafiteAst.metadata list (** *) - -type status = { - aliases: DisambiguateTypes.environment; (** disambiguation aliases *) - multi_aliases: DisambiguateTypes.multiple_environment; - moo_content_rev: moo; - proof_status: proof_status; (** logical status *) - options: options; - objects: (UriManager.uri * string) list; (** in-scope objects, with paths *) - coercions: UriManager.uri list; (** defined coercions *) - notation_ids: CicNotation.notation_id list; (** in-scope notation ids *) -} - -val set_metasenv: Cic.metasenv -> status -> status - - (** list is not reversed, head command will be the first emitted *) -val add_moo_content: ast_command list -> status -> status -val add_moo_metadata: GrafiteAst.metadata list -> status -> status - -val dump_status : status -> unit -val get_option : status -> StringMap.key -> option_value -val get_string_option : status -> StringMap.key -> string -val set_option : status -> StringMap.key -> string -> status - -class type console = - object - method choose_uri : string list -> string - method clear : unit -> unit - method echo_error : string -> unit - method echo_message : string -> unit - method show : ?msg:string -> unit -> unit - method wrap_exn : (unit -> 'a) -> 'a option - end - -type abouts = [ `Blank | `Current_proof | `Us ] - -type mathViewer_entry = - [ `About of abouts - | `Check of string - | `Cic of Cic.term * Cic.metasenv - | `Dir of string - | `Uri of UriManager.uri - | `Whelp of string * UriManager.uri list ] - -val string_of_entry : - [< `About of [< `Blank | `Current_proof | `Us ] - | `Check of 'a - | `Cic of 'b * 'c - | `Dir of string - | `Uri of UriManager.uri - | `Whelp of string * 'd ] -> - string - -val entry_of_string : - string -> [> `About of [> `Blank | `Current_proof | `Us ] ] - -class type mathViewer = - object - method show_entry : ?reuse:bool -> mathViewer_entry -> unit - method show_uri_list : - ?reuse:bool -> entry:mathViewer_entry -> UriManager.uri list -> unit - end - -val qualify: status -> string -> string - -val get_current_proof: status -> ProofEngineTypes.proof -val get_proof_metasenv: status -> Cic.metasenv -val get_proof_context: status -> ProofEngineTypes.goal -> Cic.context -val get_proof_conclusion: status -> ProofEngineTypes.goal -> Cic.term -val get_stack: status -> Continuationals.Stack.t - -val set_stack: Continuationals.Stack.t -> status -> status - diff --git a/helm/matita/matitac.ml b/helm/matita/matitac.ml deleted file mode 100644 index 49032a857..000000000 --- a/helm/matita/matitac.ml +++ /dev/null @@ -1,37 +0,0 @@ -(* Copyright (C) 2005, 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 main () = - match Filename.basename Sys.argv.(0) with - | "matitadep" | "matitadep.opt" -> Matitadep.main () - | "matitaclean" | "matitaclean.opt" -> Matitaclean.main () - | "matitamake" | "matitamake.opt" -> Matitamake.main () - | _ -> - let _ = Paramodulation.Saturation.init () in (* ALB to link paramodulation *) - let _ = MatitacLib.main `COMPILER in - () - -let _ = main () - diff --git a/helm/matita/matitacLib.ml b/helm/matita/matitacLib.ml deleted file mode 100644 index 8552cbf86..000000000 --- a/helm/matita/matitacLib.ml +++ /dev/null @@ -1,216 +0,0 @@ -(* Copyright (C) 2004-2005, 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 - -(** {2 Initialization} *) - -let status = ref None - -let run_script is eval_function = - let status = - match !status with - | None -> assert false - | Some s -> s - in - let slash_n_RE = Pcre.regexp "\\n" in - let cb = - if Helm_registry.get_bool "matita.quiet" then - (fun _ _ -> ()) - else - (fun status stm -> - (* dump_status status; *) - let stm = GrafiteAstPp.pp_statement stm in - let stm = Pcre.replace ~rex:slash_n_RE stm in - let stm = - if String.length stm > 50 then - String.sub stm 0 50 ^ " ..." - else - stm - in - MatitaLog.debug ("Executing: ``" ^ stm ^ "''")) - in - try - eval_function status is cb - with - | MatitaEngine.Drop - | End_of_file - | CicNotationParser.Parse_error _ as exn -> raise exn - | exn -> - MatitaLog.error (MatitaExcPp.to_string exn); - raise exn - -let fname () = - match Helm_registry.get_list Helm_registry.string "matita.args" with - | [x] -> x - | _ -> MatitaInit.die_usage () - -let pp_ocaml_mode () = - MatitaLog.message ""; - MatitaLog.message " ** Entering Ocaml mode ** "; - MatitaLog.message ""; - MatitaLog.message "Type 'go ();;' to enter an interactive matitac"; - MatitaLog.message "" - -let clean_exit n = - let opt_exit = - function - None -> () - | Some n -> exit n - in - match !status with - None -> opt_exit n - | Some status -> - try - let baseuri = MatitaTypes.get_string_option !status "baseuri" in - MatitacleanLib.clean_baseuris ~verbose:false [baseuri]; - opt_exit n - with MatitaTypes.Option_error("baseuri", "not found") -> - (* no baseuri ==> nothing to clean yet *) - opt_exit n - -let rec interactive_loop () = - let str = Ulexing.from_utf8_channel stdin in - try - run_script str - (MatitaEngine.eval_from_stream_greedy - ~include_paths:(Helm_registry.get_list Helm_registry.string - "matita.includes")) - with - | MatitaEngine.Drop -> pp_ocaml_mode () - | Sys.Break -> MatitaLog.error "user break!"; interactive_loop () - | MatitaTypes.Command_error _ -> interactive_loop () - | End_of_file -> - print_newline (); - clean_exit (Some 0) - | CicNotationParser.Parse_error (floc,err) -> - let (x, y) = CicNotationPt.loc_of_floc floc in - MatitaLog.error (sprintf "Parse error at %d-%d: %s" x y err); - interactive_loop () - | exn -> MatitaLog.error (Printexc.to_string exn); interactive_loop () - -let go () = - Helm_registry.load_from BuildTimeConf.matita_conf; - CicNotation.load_notation BuildTimeConf.core_notation_script; - Http_getter.init (); - MetadataTypes.ownerize_tables (Helm_registry.get "matita.owner"); - MatitaDb.create_owner_environment (); - CicEnvironment.set_trust (* environment trust *) - (let trust = Helm_registry.get_bool "matita.environment_trust" in - fun _ -> trust); - status := Some (ref (Lazy.force MatitaEngine.initial_status)); - Sys.catch_break true; - interactive_loop () - -let main ~mode = - MatitaInit.initialize_all (); - (* must be called after init since args are set by cmdline parsing *) - let fname = fname () in - status := Some (ref (Lazy.force MatitaEngine.initial_status)); - Sys.catch_break true; - let origcb = MatitaLog.get_log_callback () in - let newcb tag s = - match tag with - | `Debug | `Message -> () - | `Warning | `Error -> origcb tag s - in - if Helm_registry.get_bool "matita.quiet" then - MatitaLog.set_log_callback newcb; - let matita_debug = Helm_registry.get_bool "matita.debug" in - try - let time = Unix.time () in - if Helm_registry.get_bool "matita.quiet" then - origcb `Message ("compiling " ^ Filename.basename fname ^ "...") - else - MatitaLog.message (sprintf "execution of %s started:" fname); - let is = - Ulexing.from_utf8_channel - (match fname with - | "stdin" -> stdin - | fname -> open_in fname) - in - run_script is - (MatitaEngine.eval_from_stream - ~include_paths:(Helm_registry.get_list Helm_registry.string - "matita.includes") - ~clean_baseuri:(not (Helm_registry.get_bool "matita.preserve"))); - let elapsed = Unix.time () -. time in - let tm = Unix.gmtime elapsed in - let sec = - if tm.Unix.tm_sec > 0 then (string_of_int tm.Unix.tm_sec ^ "''") else "" - in - let min = - if tm.Unix.tm_min > 0 then (string_of_int tm.Unix.tm_min ^ "' ") else "" - in - let hou = - if tm.Unix.tm_hour > 0 then (string_of_int tm.Unix.tm_hour ^ "h ") else "" - in - let proof_status,moo_content_rev = - match !status with - | Some s -> !s.proof_status, !s.moo_content_rev - | None -> assert false - in - if proof_status <> MatitaTypes.No_proof then - begin - MatitaLog.error - "there are still incomplete proofs at the end of the script"; - clean_exit (Some 2) - end - else - begin - let moo_fname = MatitacleanLib.obj_file_of_script fname in - MatitaMoo.save_moo moo_fname moo_content_rev; - MatitaLog.message - (sprintf "execution of %s completed in %s." fname (hou^min^sec)); - exit 0 - end - with - | Sys.Break -> - MatitaLog.error "user break!"; - if mode = `COMPILER then - clean_exit (Some ~-1) - else - pp_ocaml_mode () - | MatitaEngine.Drop -> - if mode = `COMPILER then - clean_exit (Some 1) - else - pp_ocaml_mode () - | CicNotationParser.Parse_error (floc,err) -> - let (x, y) = CicNotationPt.loc_of_floc floc in - MatitaLog.error (sprintf "Parse error at %d-%d: %s" x y err); - if mode = `COMPILER then - clean_exit (Some 1) - else - pp_ocaml_mode () - | exn -> - if matita_debug then raise exn; - if mode = `COMPILER then - clean_exit (Some 3) - else - pp_ocaml_mode () - diff --git a/helm/matita/matitacLib.mli b/helm/matita/matitacLib.mli deleted file mode 100644 index 636c51d57..000000000 --- a/helm/matita/matitacLib.mli +++ /dev/null @@ -1,37 +0,0 @@ -(* Copyright (C) 2004-2005, 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 interactive_loop : unit -> unit - -(** go initializes the status and calls interactive_loop *) -val go : unit -> unit -val main : mode:[ `COMPILER | `TOPLEVEL ] -> unit - -(** clean_exit n - if n = Some n it performs an exit [n] after a complete clean-up of what was - partially compiled - otherwise it performs the clean-up without exiting -*) -val clean_exit : int option -> unit diff --git a/helm/matita/matitaclean.ml b/helm/matita/matitaclean.ml deleted file mode 100644 index 5aabf7558..000000000 --- a/helm/matita/matitaclean.ml +++ /dev/null @@ -1,70 +0,0 @@ -(* Copyright (C) 2005, 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 - -module UM = UriManager -module TA = GrafiteAst - -let main () = - let _ = MatitaInit.initialize_all () in - let uris_to_remove = ref [] in - let files_to_remove = ref [] in - (match Helm_registry.get_list Helm_registry.string "matita.args" with - | [ "all" ] -> - MatitaDb.clean_owner_environment (); - let xmldir = Helm_registry.get "matita.basedir" ^ "/xml" in - ignore - (Sys.command - ("find " ^ xmldir ^ - " \\( -name \\*.xml.gz -o -name \\*.moo \\) " ^ - "-exec rm \\{\\} \\; 2> /dev/null")); - ignore - (Sys.command ("find " ^ xmldir ^ - " -type d -exec rmdir -p {} \\; 2> /dev/null")); - exit 0 - | [] -> MatitaInit.die_usage () - | files -> - List.iter - (fun suri -> - let uri = - try - UM.buri_of_uri (UM.uri_of_string suri) - with UM.IllFormedUri _ -> - files_to_remove := suri :: !files_to_remove; - let u = MatitacleanLib.baseuri_of_file suri in - if String.length u < 5 || String.sub u 0 5 <> "cic:/" then begin - MatitaLog.error (sprintf "File %s defines a bad baseuri: %s" - suri u); - exit 1 - end else - u - in - uris_to_remove := uri :: !uris_to_remove) - files); - MatitacleanLib.clean_baseuris !uris_to_remove; - let moos = List.map MatitacleanLib.obj_file_of_script !files_to_remove in - List.iter MatitaMisc.safe_remove moos - diff --git a/helm/matita/matitaclean.mli b/helm/matita/matitaclean.mli deleted file mode 100644 index 45d57a886..000000000 --- a/helm/matita/matitaclean.mli +++ /dev/null @@ -1,27 +0,0 @@ -(* Copyright (C) 2005, 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 main: unit -> unit - diff --git a/helm/matita/matitacleanLib.ml b/helm/matita/matitacleanLib.ml deleted file mode 100644 index 82fac08af..000000000 --- a/helm/matita/matitacleanLib.ml +++ /dev/null @@ -1,267 +0,0 @@ -(* Copyright (C) 2005, 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 debug = false -let debug_prerr = if debug then prerr_endline else ignore - -module HGT = Http_getter_types;; -module HG = Http_getter;; -module HGM = Http_getter_misc;; -module UM = UriManager;; -module TA = GrafiteAst;; - -let cache_of_processed_baseuri = Hashtbl.create 1024 - -let one_step_depend suri = - let buri = - try - UM.buri_of_uri (UM.uri_of_string suri) - with UM.IllFormedUri _ -> suri - in - if Hashtbl.mem cache_of_processed_baseuri buri then - [] - else - begin - Hashtbl.add cache_of_processed_baseuri buri true; - let query = - let buri = buri ^ "/" in - let buri = HMysql.escape buri in - let obj_tbl = MetadataTypes.obj_tbl () in - sprintf - ("SELECT source, h_occurrence FROM %s WHERE " ^^ - "h_occurrence REGEXP '^%s[^/]*$'") - obj_tbl buri - in - try - let rc = HMysql.exec (MatitaDb.instance ()) query in - let l = ref [] in - HMysql.iter rc ( - fun row -> - match row.(0), row.(1) with - | Some uri, Some occ when Filename.dirname occ = buri -> - l := uri :: !l - | _ -> ()); - let l = List.sort Pervasives.compare !l in - HExtlib.list_uniq l - with - exn -> raise exn (* no errors should be accepted *) - end - -let safe_buri_of_suri suri = - try - UM.buri_of_uri (UM.uri_of_string suri) - with - UM.IllFormedUri _ -> suri - -let close_uri_list uri_to_remove = - (* to remove an uri you have to remove the whole script *) - let buri_to_remove = - HExtlib.list_uniq - (List.fast_sort Pervasives.compare - (List.map safe_buri_of_suri uri_to_remove)) - in - (* cleand the already visided baseuris *) - let buri_to_remove = - List.filter - (fun buri -> - if Hashtbl.mem cache_of_processed_baseuri buri then false - else true) - buri_to_remove - in - (* now calculate the list of objects that belong to these baseuris *) - let uri_to_remove = - try - List.fold_left - (fun acc buri -> - let inhabitants = HG.ls (buri ^ "/") in - let inhabitants = List.filter - (function HGT.Ls_object _ -> true | _ -> false) - inhabitants - in - let inhabitants = List.map - (function - | HGT.Ls_object e -> buri ^ "/" ^ e.HGT.uri - | _ -> assert false) - inhabitants - in - inhabitants @ acc) - [] buri_to_remove - with HGT.Invalid_URI u -> - MatitaLog.error ("We were listing an invalid buri: " ^ u); - exit 1 - in - (* now we want the list of all uri that depend on them *) - let depend = - List.fold_left - (fun acc u -> one_step_depend u @ acc) [] uri_to_remove - in - let depend = - HExtlib.list_uniq (List.fast_sort Pervasives.compare depend) - in - uri_to_remove, depend - -let rec close_using_db uris next = - match next with - | [] -> uris - | l -> let uris, next = close_uri_list l in close_using_db uris next @ uris - -let cleaned_no = ref 0;; - - (** TODO repellent code ... *) -let moo_root_dir = lazy ( - let url = - List.assoc "cic:/matita/" - (List.map - (fun pair -> - match - Str.split (Str.regexp "[ \t\r\n]+") (HExtlib.trim_blanks pair) - with - | [a;b] -> a, b - | _ -> assert false) - (Helm_registry.get_list Helm_registry.string "getter.prefix")) - in - String.sub url 7 (String.length url - 7) (* remove heading "file:///" *) -) - -let close_using_moos buris = - let rev_deps = Hashtbl.create 97 in - let all_moos = - HExtlib.find ~test:(fun name -> Filename.check_suffix name ".moo") - (Lazy.force moo_root_dir) - in - List.iter - (fun path -> - let _, metadata = MatitaMoo.load_moo ~fname:path in - let baseuri_of_current_moo = - let rec aux = function - | [] -> assert false - | GrafiteAst.Baseuri buri::_ -> buri - | _ :: tl -> aux tl - in - aux metadata - in - let deps = - HExtlib.filter_map - (function - | GrafiteAst.Dependency buri -> Some buri - | _ -> None ) - metadata - in - List.iter - (fun buri -> Hashtbl.add rev_deps buri baseuri_of_current_moo) deps) - all_moos; - let buris_to_remove = - HExtlib.list_uniq - (List.fast_sort Pervasives.compare - (List.flatten (List.map (Hashtbl.find_all rev_deps) buris))) - in - let objects_to_remove = - let objs_of_buri buri = - HExtlib.filter_map - (function - | Http_getter_types.Ls_object o -> - Some (buri ^ "/" ^ o.Http_getter_types.uri) - | _ -> None) - (Http_getter.ls buri) - in - List.flatten (List.map objs_of_buri (buris @ buris_to_remove)) - in - objects_to_remove - -let clean_baseuris ?(verbose=true) buris = - Hashtbl.clear cache_of_processed_baseuri; - let buris = List.map HGM.strip_trailing_slash buris in - debug_prerr "clean_baseuris called on:"; - if debug then - List.iter debug_prerr buris; - let l = - if Helm_registry.get_bool "db.nodb" then - close_using_moos buris - else - close_using_db [] buris - in - let l = HExtlib.list_uniq (List.fast_sort Pervasives.compare l) in - let l = List.map UriManager.uri_of_string l in - debug_prerr "clean_baseuri will remove:"; - if debug then - List.iter (fun u -> debug_prerr (UriManager.string_of_uri u)) l; - List.iter - (fun buri -> - MatitaMisc.safe_remove (MatitaMisc.obj_file_of_baseuri buri)) - (HExtlib.list_uniq (List.fast_sort Pervasives.compare - (List.map (UriManager.buri_of_uri) l))); - List.iter (MatitaSync.remove ~verbose) l; - cleaned_no := !cleaned_no + List.length l; - if !cleaned_no > 30 then - begin - cleaned_no := 0; - List.iter - (function table -> - ignore (HMysql.exec (MatitaDb.instance ()) ("OPTIMIZE TABLE " ^ table))) - [MetadataTypes.name_tbl (); MetadataTypes.rel_tbl (); - MetadataTypes.sort_tbl (); MetadataTypes.obj_tbl(); - MetadataTypes.count_tbl()] - end - -let baseuri_of_file file = - let uri = ref None in - let ic = open_in file in - let istream = Ulexing.from_utf8_channel ic in - (try - while true do - try - let stm = GrafiteParser.parse_statement istream in - match MatitaMisc.baseuri_of_baseuri_decl stm with - | Some buri -> - let u = MatitaMisc.strip_trailing_slash buri in - if String.length u < 5 || String.sub u 0 5 <> "cic:/" then - MatitaLog.error (file ^ " sets an incorrect baseuri: " ^ buri); - (try - ignore(Http_getter.resolve u) - with - | Http_getter_types.Unresolvable_URI _ -> - MatitaLog.error (file ^ " sets an unresolvable baseuri: "^buri) - | Http_getter_types.Key_not_found _ -> ()); - uri := Some u; - raise End_of_file - | None -> () - with - CicNotationParser.Parse_error _ as exn -> - prerr_endline ("Unable to parse: " ^ file); - prerr_endline (MatitaExcPp.to_string exn); - () - done - with End_of_file -> close_in ic); - match !uri with - | Some uri -> uri - | None -> failwith ("No baseuri defined in " ^ file) - -let obj_file_of_script f = - if f = "coq.ma" then BuildTimeConf.coq_notation_script else - let baseuri = baseuri_of_file f in - MatitaMisc.obj_file_of_baseuri baseuri - diff --git a/helm/matita/matitacleanLib.mli b/helm/matita/matitacleanLib.mli deleted file mode 100644 index 91aa51b2a..000000000 --- a/helm/matita/matitacleanLib.mli +++ /dev/null @@ -1,30 +0,0 @@ -(* Copyright (C) 2004-2005, 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 clean_baseuris : ?verbose:bool -> string list -> unit - -val baseuri_of_file: string -> string -val obj_file_of_script : string -> string - diff --git a/helm/matita/matitadep.ml b/helm/matita/matitadep.ml deleted file mode 100644 index 5b22cb70b..000000000 --- a/helm/matita/matitadep.ml +++ /dev/null @@ -1,99 +0,0 @@ -(* Copyright (C) 2005, 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/ - *) - -module GA = GrafiteAst -module U = UriManager - -let main () = - (* all are maps from "file" to "something" *) - let include_deps = Hashtbl.create (Array.length Sys.argv) in - let baseuri_of = Hashtbl.create (Array.length Sys.argv) in - let uri_deps = Hashtbl.create (Array.length Sys.argv) in - let buri alias = U.buri_of_uri (U.uri_of_string alias) in - let resolve alias current_buri = - let buri = buri alias in - if buri <> current_buri then Some buri else None - in - let find path = - let rec aux = function - | [] -> close_in (open_in path); path - | p :: tl -> - try - close_in (open_in (p ^ "/" ^ path)); p ^ "/" ^ path - with Sys_error _ -> aux tl - in - let paths = Helm_registry.get_list Helm_registry.string "matita.includes" in - try - aux paths - with Sys_error _ as exc -> - MatitaLog.error ("Unable to read " ^ path); - MatitaLog.error ("opts.include_paths was " ^ String.concat ":" paths); - raise exc - in - MatitaInit.load_configuration_file (); - MatitaInit.parse_cmdline (); - List.iter - (fun file -> - let ic = open_in file in - let istream = Ulexing.from_utf8_channel ic in - let dependencies = GrafiteParser.parse_dependencies istream in - close_in ic; - List.iter - (function - | GrafiteAst.UriDep uri -> - let uri = UriManager.string_of_uri uri in - Hashtbl.add uri_deps file uri - | GrafiteAst.BaseuriDep uri -> - let uri = MatitaMisc.strip_trailing_slash uri in - Hashtbl.add baseuri_of file uri - | GrafiteAst.IncludeDep path -> - try - let ma_file = if path <> "coq.ma" then find path else path in - let moo_file = MatitacleanLib.obj_file_of_script ma_file in - Hashtbl.add include_deps file moo_file - with Sys_error _ -> - MatitaLog.warn - ("Unable to find " ^ path ^ " that is included in " ^ file)) - dependencies) - (Helm_registry.get_list Helm_registry.string "matita.args"); - Hashtbl.iter - (fun file alias -> - let dep = resolve alias (Hashtbl.find baseuri_of file) in - match dep with - | None -> () - | Some u -> - Hashtbl.add include_deps file (MatitaMisc.obj_file_of_baseuri u)) - uri_deps; - List.iter - (fun file -> - let deps = Hashtbl.find_all include_deps file in - let deps = List.fast_sort Pervasives.compare deps in - let deps = HExtlib.list_uniq deps in - let deps = file :: deps in - let moo = MatitacleanLib.obj_file_of_script file in - Printf.printf "%s: %s\n" moo (String.concat " " deps); - Printf.printf "%s: %s\n" (Pcre.replace ~pat:"ma$" ~templ:"mo" file) moo) - (Helm_registry.get_list Helm_registry.string "matita.args") - diff --git a/helm/matita/matitadep.mli b/helm/matita/matitadep.mli deleted file mode 100644 index 45d57a886..000000000 --- a/helm/matita/matitadep.mli +++ /dev/null @@ -1,27 +0,0 @@ -(* Copyright (C) 2005, 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 main: unit -> unit - diff --git a/helm/matita/matitamake.ml b/helm/matita/matitamake.ml deleted file mode 100644 index 96fdbfb28..000000000 --- a/helm/matita/matitamake.ml +++ /dev/null @@ -1,160 +0,0 @@ -(* Copyright (C) 2005, 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/ - *) - -module MK = MatitamakeLib ;; - -let main () = - MatitaInit.load_configuration_file (); - MK.initialize (); - let usage = ref (fun () -> ()) in - let dev_of_name name = - match MK.development_for_name name with - | None -> - prerr_endline ("Unable to find a development called " ^ name); - exit 1 - | Some d -> d - in - let dev_for_dir dir = - match MK.development_for_dir dir with - | None -> - prerr_endline ("Unable to find a development holding directory: "^ dir); - exit 1 - | Some d -> d - in - let init_dev_doc = " -\tParameters: name (the name of the development, required) -\tDescription: tells matitamake that a new development radicated -\t\tin the current working directory should be handled." - in - let init_dev args = - if List.length args <> 1 then !usage (); - match MK.initialize_development (List.hd args) (Unix.getcwd ()) with - | None -> exit 2 - | Some _ -> exit 0 - in - let list_dev_doc = " -\tParameters: -\tDescription: lists the known developments and their roots." - in - let list_dev args = - if List.length args <> 0 then !usage (); - match MK.list_known_developments () with - | [] -> print_string "No developments found.\n"; exit 0 - | l -> - List.iter - (fun (name, root) -> - print_string (Printf.sprintf "%-10s\trooted in %s\n" name root)) - l; - exit 0 - in - let destroy_dev_doc = " -\tParameters: name (the name of the development to destroy, required) -\tDescription: deletes a development (only from matitamake metadat, no -\t\t.ma files will be deleted)." - in - let destroy_dev args = - if List.length args <> 1 then !usage (); - let name = (List.hd args) in - let dev = dev_of_name name in - MK.destroy_development dev; - exit 0 - in - let clean_dev_doc = " -\tParameters: name (the name of the development to destroy, optional) -\t\tIf omitted the development that holds the current working -\t\tdirectory is used (if any). -\tDescription: clean the develpoment." - in - let clean_dev args = - let dev = - match args with - | [] -> dev_for_dir (Unix.getcwd ()) - | [name] -> dev_of_name name - | _ -> !usage (); exit 1 - in - match MK.clean_development dev with - | true -> exit 0 - | false -> exit 1 - in - let build_dev_doc = " -\tParameters: name (the name of the development to build, required) -\tDescription: completely builds the develpoment." - in - let build_dev args = - if List.length args <> 1 then !usage (); - let name = (List.hd args) in - let dev = dev_of_name name in - match MK.build_development dev with - | true -> exit 0 - | false -> exit 1 - in - let nodb_doc = " -\tParameters: -\tDescription: avoid using external database connection." - in - let nodb _ = Helm_registry.set_bool "db.nodb" true in - let target args = - if List.length args < 1 then !usage (); - let dev = dev_for_dir (Unix.getcwd ()) in - List.iter - (fun t -> - ignore(MK.build_development ~target:t dev)) - args - in - let params = [ - "-init", init_dev, init_dev_doc; - "-clean", clean_dev, clean_dev_doc; - "-list", list_dev, list_dev_doc; - "-destroy", destroy_dev, destroy_dev_doc; - "-build", build_dev, build_dev_doc; - "-nodb", nodb, nodb_doc; - "-h", (fun _ -> !usage()), "print this help screen"; - "-help", (fun _ -> !usage()), "print this help screen"; - ] - in - usage := (fun () -> - let p = prerr_endline in - p "\nusage:"; - p "\tmatitamake(.opt) [command [options]]\n"; - p "\tmatitamake(.opt) [target]\n"; - p "commands:"; - List.iter (fun (n,_,d) -> p (Printf.sprintf " %-10s%s" n d)) params; - p "\nIf target is omitted a 'all' will be used as the default."; - p "With -build you can build a development wherever it is."; - p "If you specify a target it implicitly refers to the development that"; - p "holds the current working directory (if any).\n"; - exit 1); - let rec parse args = - match args with - | [] -> target ["all"] - | s::tl -> - try - let _,f,_ = List.find (fun (n,_,_) -> n = s) params in - f tl; - parse tl - with Not_found -> if s.[0] = '-' then !usage () else target args - in - parse (List.tl (Array.to_list Sys.argv)) - diff --git a/helm/matita/matitamakeLib.ml b/helm/matita/matitamakeLib.ml deleted file mode 100644 index 998dcd70e..000000000 --- a/helm/matita/matitamakeLib.ml +++ /dev/null @@ -1,298 +0,0 @@ -(* Copyright (C) 2005, 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 logger = fun mark -> - match mark with - | `Error -> MatitaLog.error - | `Warning -> MatitaLog.warn - | `Debug -> MatitaLog.debug - | `Message -> MatitaLog.message -;; - -type development = - { root: string ; name: string } - -let developments = ref [] - -let pool () = Helm_registry.get "matita.basedir" ^ "/matitamake/" ;; -let rootfile = "/root" ;; - -let ls_dir dir = - try - let d = Unix.opendir dir in - let content = ref [] in - try - while true do - let name = Unix.readdir d in - if name <> "." && name <> ".." then - content := name :: !content - done; - Some [] - with End_of_file -> Unix.closedir d; Some !content - with Unix.Unix_error _ -> None - -let initialize () = - (* create a base env if none *) - HExtlib.mkdir (pool ()); - (* load developments *) - match ls_dir (pool ()) with - | None -> logger `Error ("Unable to list directory " ^ pool ()) - | Some l -> - List.iter - (fun name -> - let root = - try - Some (HExtlib.input_file (pool () ^ name ^ rootfile)) - with Unix.Unix_error _ -> - logger `Warning ("Malformed development " ^ name); - None - in - match root with - | None -> () - | Some root -> - developments := {root = root ; name = name} :: !developments) - l - -(* finds the makefile path for development devel *) -let makefile_for_development devel = - let develdir = pool () ^ devel.name in - develdir ^ "/makefile" -;; - -(* given a dir finds a development that is radicated in it or below *) -let development_for_dir dir = - let is_prefix_of d1 d2 = - let len1 = String.length d1 in - let len2 = String.length d2 in - if len2 < len1 then - false - else - let pref = String.sub d2 0 len1 in - pref = d1 - in - (* it must be unique *) - try - Some (List.find (fun d -> is_prefix_of d.root dir) !developments) - with Not_found -> None -;; - -let development_for_name name = - try - Some (List.find (fun d -> d.name = name) !developments) - with Not_found -> None - -(* dumps the deveopment to disk *) -let dump_development devel = - let devel_dir = pool () ^ devel.name in - HExtlib.mkdir devel_dir; - HExtlib.output_file ~filename:(devel_dir ^ rootfile) ~text:devel.root -;; - -let list_known_developments () = - List.map (fun r -> r.name,r.root) !developments - -let am_i_opt () = - if Pcre.pmatch ~pat:"\\.opt$" Sys.argv.(0) then ".opt" else "" - -let rebuild_makefile development = - let makefilepath = makefile_for_development development in - let template = - HExtlib.input_file BuildTimeConf.matitamake_makefile_template - in - let cc = BuildTimeConf.runtime_base_dir ^ "/matitac" ^ am_i_opt () in - let rm = BuildTimeConf.runtime_base_dir ^ "/matitaclean" ^ am_i_opt () in - let mm = BuildTimeConf.runtime_base_dir ^ "/matitadep" ^ am_i_opt () in - let df = pool () ^ development.name ^ "/depend" in - let template = Pcre.replace ~pat:"@ROOT@" ~templ:development.root template in - let template = Pcre.replace ~pat:"@CC@" ~templ:cc template in - let template = Pcre.replace ~pat:"@DEP@" ~templ:mm template in - let template = Pcre.replace ~pat:"@DEPFILE@" ~templ:df template in - let template = Pcre.replace ~pat:"@CLEAN@" ~templ:rm template in - HExtlib.output_file ~filename:makefilepath ~text:template - -(* creates a new development if possible *) -let initialize_development name dir = - let name = Pcre.replace ~pat:" " ~templ:"_" name in - let dev = {name = name ; root = dir} in - match development_for_dir dir with - | Some d -> - logger `Error - ("Directory " ^ dir ^ " is already handled by development " ^ d.name); - logger `Error - ("Development " ^ d.name ^ " is rooted in " ^ d.root); - logger `Error - (dir ^ " is a subdir of " ^ d.root); - None - | None -> - dump_development dev; - rebuild_makefile dev; - developments := dev :: !developments; - Some dev - -let make chdir args = - let old = Unix.getcwd () in - try - Unix.chdir chdir; - let rc = - Unix.system - (String.concat " " ("make"::(List.map Filename.quote args))) - in - Unix.chdir old; - match rc with - | Unix.WEXITED 0 -> true - | Unix.WEXITED i -> logger `Error ("make returned " ^ string_of_int i);false - | _ -> logger `Error "make STOPPED or SIGNALED!";false - with Unix.Unix_error (_,cmd,err) -> - logger `Warning ("Unix Error: " ^ cmd ^ ": " ^ err); - false - -let call_make development target make = - rebuild_makefile development; - let makefile = makefile_for_development development in - let nodb = - Helm_registry.get_opt_default Helm_registry.bool ~default:false "db.nodb" - in - let flags = if nodb then ["NODB=true"] else [] in - make development.root - (["--no-print-directory"; "-s"; "-k"; "-f"; makefile; target] - @ flags) - -let build_development ?(target="all") development = - call_make development target make - -(* not really good vt100 *) -let vt100 s = - let rex = Pcre.regexp "\\[[0-9;]+m" in - let rex_i = Pcre.regexp "^Info" in - let rex_w = Pcre.regexp "^Warning" in - let rex_e = Pcre.regexp "^Error" in - let rex_d = Pcre.regexp "^Debug" in - let rex_noendline = Pcre.regexp "\\n" in - let s = Pcre.replace ~rex:rex_noendline s in - let len = String.length s in - let tokens = Pcre.split ~rex s in - let logger = ref MatitaLog.message in - let rec aux = - function - | [] -> () - | s::tl -> - (if Pcre.pmatch ~rex:rex_i s then - logger := MatitaLog.message - else if Pcre.pmatch ~rex:rex_w s then - logger := MatitaLog.warn - else if Pcre.pmatch ~rex:rex_e s then - logger := MatitaLog.error - else if Pcre.pmatch ~rex:rex_d s then - logger := MatitaLog.debug - else - !logger s); - aux tl - in - aux tokens - - -let mk_maker refresh_cb = - (fun chdir args -> - let out_r,out_w = Unix.pipe () in - let err_r,err_w = Unix.pipe () in - let pid = ref ~-1 in - ignore(Sys.signal Sys.sigchld (Sys.Signal_ignore)); - try - let argv = Array.of_list ("make"::args) in - pid := Unix.create_process "make" argv Unix.stdin out_w err_w; - Unix.close out_w; - Unix.close err_w; - let buf = String.create 1024 in - let rec aux = function - | f::tl -> - let len = Unix.read f buf 0 1024 in - if len = 0 then - raise - (Unix.Unix_error - (Unix.EPIPE,"read","len = 0 (matita internal)")); - vt100 (String.sub buf 0 len); - aux tl - | _ -> () - in - while true do - let r,_,_ = Unix.select [out_r; err_r] [] [] (-. 1.) in - aux r; - refresh_cb () - done; - true - with - | Unix.Unix_error (_,"read",_) - | Unix.Unix_error (_,"select",_) -> true) - -let build_development_in_bg ?(target="all") refresh_cb development = - call_make development target (mk_maker refresh_cb) -;; - -let clean_development development = - call_make development "clean" make - -let clean_development_in_bg refresh_cb development = - call_make development "clean" (mk_maker refresh_cb) - -let destroy_development_aux development clean_development = - let delete_development development = - let unlink file = - try - Unix.unlink file - with Unix.Unix_error _ -> logger `Debug ("Unable to delete " ^ file) - in - let rmdir dir = - try - Unix.rmdir dir - with Unix.Unix_error _ -> - logger `Warning ("Unable to remove dir " ^ dir); - match ls_dir dir with - | None -> logger `Error ("Unable to list directory " ^ dir) - | Some [] -> () - | Some l -> logger `Error ("The directory is not empty") - in - unlink (makefile_for_development development); - unlink (pool () ^ development.name ^ rootfile); - unlink (pool () ^ development.name ^ "/depend"); - rmdir (pool () ^ development.name); - developments := - List.filter (fun d -> d.name <> development.name) !developments - in - if not(clean_development development) then - begin - logger `Warning "Unable to clean the development problerly."; - logger `Warning "This may cause garbage." - end; - delete_development development - -let destroy_development development = - destroy_development_aux development clean_development - -let destroy_development_in_bg refresh development = - destroy_development_aux development (clean_development_in_bg refresh) - -let root_for_development development = development.root -let name_for_development development = development.name - diff --git a/helm/matita/matitamakeLib.mli b/helm/matita/matitamakeLib.mli deleted file mode 100644 index 4aaab47b1..000000000 --- a/helm/matita/matitamakeLib.mli +++ /dev/null @@ -1,54 +0,0 @@ -(* Copyright (C) 2005, 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/ - *) - -type development - -(* initialize_development [name] [dir] - * ask matitamake to recorder [dir] as the root for thedevelopment [name] *) -val initialize_development: string -> string -> development option -(* make target [default all] *) -val build_development: ?target:string -> development -> bool -(* make target [default all], the refresh cb is called after every output *) -val build_development_in_bg: - ?target:string -> (unit -> unit) -> development -> bool -(* make clean *) -val clean_development: development -> bool -val clean_development_in_bg: (unit -> unit) -> development -> bool -(* return the development that handles dir *) -val development_for_dir: string -> development option -(* return the development *) -val development_for_name: string -> development option -(* return the known list of name, development_root *) -val list_known_developments: unit -> (string * string ) list -(* cleans the development, forgetting about it *) -val destroy_development: development -> unit -val destroy_development_in_bg: (unit -> unit) -> development -> unit -(* initiale internal data structures *) -val initialize : unit -> unit -(* gives back the root *) -val root_for_development : development -> string -(* gives back the name *) -val name_for_development : development -> string - diff --git a/helm/matita/matitatop.ml b/helm/matita/matitatop.ml deleted file mode 100644 index bdf9860b1..000000000 --- a/helm/matita/matitatop.ml +++ /dev/null @@ -1,29 +0,0 @@ -(* Copyright (C) 2004-2005, 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 _ = - let _ = Topdirs.dir_quit in - Toploop.loop Format.std_formatter; - assert false diff --git a/helm/matita/scripts/README b/helm/matita/scripts/README deleted file mode 100644 index e1b7d2447..000000000 --- a/helm/matita/scripts/README +++ /dev/null @@ -1,20 +0,0 @@ -bench.sql - the SQL code to generate the bench table - -crontab - install this crontab (may need tweaking) to have cron run the whole - stuff for you - -crontab.sh - the script crontab should run (includes a "pretty" report) - -do_tests.sh - script used by ../Makefile to run matitac[.opt] on some tests. supports some - options and prints out some informations neded my insert - -insert.awk - creates the SQL INSERT statements for the output of profile_cvs.sh - -profile_cvs.sh - CVS co, compilation, run - diff --git a/helm/matita/scripts/bench.sql b/helm/matita/scripts/bench.sql deleted file mode 100644 index a45508548..000000000 --- a/helm/matita/scripts/bench.sql +++ /dev/null @@ -1,13 +0,0 @@ -DROP TABLE bench; - -CREATE TABLE bench ( - mark VARCHAR(100) NOT NULL, - time VARCHAR(8) NOT NULL, - timeuser VARCHAR(8) NOT NULL, - compilation ENUM('byte','opt') NOT NULL, - test VARCHAR(100) NOT NULL, - result ENUM('ok','fail') NOT NULL, - options SET('gc-off','gc-on') -); - -DESCRIBE bench; diff --git a/helm/matita/scripts/crontab b/helm/matita/scripts/crontab deleted file mode 100644 index 4221e65e9..000000000 --- a/helm/matita/scripts/crontab +++ /dev/null @@ -1,2 +0,0 @@ -MAILTO=helm@cs.unibo.it -10 5 * * * sh /home/tassi/helm/matita/scripts/crontab.sh diff --git a/helm/matita/scripts/crontab.sh b/helm/matita/scripts/crontab.sh deleted file mode 100644 index ee7c181db..000000000 --- a/helm/matita/scripts/crontab.sh +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/bash -TODAY=`date +%Y%m%d` -YESTERDAY=`date -d yesterday +%Y%m%d` -TMPDIRNAME=.__${TODAY}_crontab -CVSROOT=":ext:$USER@marcello.cs.unibo.it:/home/faculty/PROJECTS/cvs/helm" -SHELLTIME2CENTSPHP=helm/matita/scripts/shell_time2cents.php -SHELLADDERPHP=helm/matita/scripts/shell_adder.php -COMMONPHP=helm/matita/scripts/public_html/common.php - -OLD=$PWD -rm -rf $TMPDIRNAME -mkdir $TMPDIRNAME -cd $TMPDIRNAME -cvs -d $CVSROOT co helm/matita/scripts 1>/dev/null 2>/dev/null -helm/matita/scripts/profile_cvs.sh 2> LOG - -MARK=`echo "select distinct mark from bench where mark like '$TODAY%' order by mark" | mysql -u helm matita | tail -n 1` -LASTMARK=`echo "select distinct mark from bench where mark like '$YESTERDAY%' order by mark" | mysql -u helm matita | tail -n 1` - -if [ -z "$MARK" ]; then - echo "No benchmark records for $TODAY" - exit 1 -fi - -if [ -z "$LASTMARK" ]; then - echo "No benchmark records for $YESTERDAY" - exit 1 -fi - -CUR_TIME=`/usr/bin/php4 -c /etc/php4/apache/php.ini -f $SHELLADDERPHP -- $COMMONPHP "select SEC_TO_TIME(SUM(TIME_TO_SEC(time))) from bench where mark = \"$MARK\" group by mark;"` -OLD_TIME=`/usr/bin/php4 -c /etc/php4/apache/php.ini -f $SHELLADDERPHP -- $COMMONPHP "select SEC_TO_TIME(SUM(TIME_TO_SEC(time))) from bench where mark = \"$LASTMARK\" group by mark;"` - -CUR_CENTS=`/usr/bin/php4 -c /etc/php4/apache/php.ini -f $SHELLTIME2CENTSPHP -- $COMMONPHP $CUR_TIME` -OLD_CENTS=`/usr/bin/php4 -c /etc/php4/apache/php.ini -f $SHELLTIME2CENTSPHP -- $COMMONPHP $OLD_TIME` - -((DELTA=$CUR_CENTS-$OLD_CENTS)) -if [ $DELTA -lt 0 ]; then - PERC=0 -else - ((PERC=100 * $DELTA)) - ((PERC=$PERC / $OLD_CENTS)) -fi -if [ $PERC -ge 5 ]; then - cat </dev/null 2>/dev/null - $COMPILER $T 1>/dev/null 2>/dev/null - fi - $CLEANER $T 1>/dev/null 2>/dev/null - TIMES=`(time $COMPILER $T > $LOG 2>&1) 2>&1` - RC=$?; - cat $LOG >> $LOGFILE - touch $DIFF - if [ $EXPECTED = "FAIL" ]; then - if [ $RC = 0 ]; then - echo "The test was successful but it should have failed!" > $DIFF - RC=1; - else - diff $LOG `basename $T .ma`.log > $DIFF - RC=$? - rm -f $LOG - fi - fi - if [ $RC = 0 ]; then - printf "$OK\t$TIMES\t$DO_TESTS_EXTRA\n" - else - printf "$FAIL\t$TIMES\t$DO_TESTS_EXTRA\n"; - cat $DIFF - fi - rm -f $DIFF - exit $RC -done diff --git a/helm/matita/scripts/insert.awk b/helm/matita/scripts/insert.awk deleted file mode 100644 index d62a6a3ec..000000000 --- a/helm/matita/scripts/insert.awk +++ /dev/null @@ -1,17 +0,0 @@ - { - result=tolower($3); - if( $1 ~ ".opt$" ) - compilation="opt" - else - compilation="byte" - test=$2 - time=$4 - timeuser=$5 - mark=$7 - if ( $8 ~ "^gc-off$") - options="'gc-off'"; - if ( $8 ~ "^gc-on$") - options="'gc-on'" - - printf "INSERT bench (result, compilation, test, time, timeuser, mark, options) VALUES ('%s', '%s', '%s', '%s', '%s', '%s', %s);\n", result, compilation, test, time, timeuser, mark, options; - } diff --git a/helm/matita/scripts/profile_cvs.sh b/helm/matita/scripts/profile_cvs.sh deleted file mode 100755 index a0fb848a9..000000000 --- a/helm/matita/scripts/profile_cvs.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash -MARK=`date +%Y%m%d%H%M` -TMPDIRNAME=.__$MARK -CVSROOT=":ext:$USER@marcello.cs.unibo.it:/home/faculty/PROJECTS/cvs/helm" - -function testit { - LOGTOOPT=/dev/null - LOGTOBYTE=/dev/null - export DO_TESTS_EXTRA="$MARK\t$@" - make tests DO_TESTS_OPTS="-no-color -twice" - make tests.opt DO_TESTS_OPTS="-no-color -twice" -} - -function compile { - LOCALOLD=$PWD - cd $1 - autoconf 1>/dev/null - ./configure 1>/dev/null - make all opt 1>/dev/null - cd $2 - autoconf 1>/dev/null - ./configure 1>/dev/null - cp matita.conf.xml.sample matita.conf.xml - make all opt 1>/dev/null - cd $LOCALOLD -} - -function run_tests { - LOCALOLD=$PWD - cd $1 - ./matitaclean all - mkdir .matita - export OCAMLRUNPARAM='o=1000000' - testit "gc-off" - export OCAMLRUNPARAM='' - testit "gc-on" - cd $LOCALOLD -} - -OLD=$PWD -rm -rf $TMPDIRNAME -mkdir $TMPDIRNAME -cd $TMPDIRNAME -cvs -d $CVSROOT co helm/ocaml 1>/dev/null 2>/dev/null -cvs -d $CVSROOT co helm/matita 1>/dev/null 2>/dev/null -compile $PWD/helm/ocaml $PWD/helm/matita -run_tests $PWD/helm/matita > LOG 2>/dev/null -cat LOG | grep "\(OK\|FAIL\)" | grep "\(gc-on\|gc-off\)" | awk -f $PWD/helm/matita/scripts/insert.awk > INSERT.sql -cat INSERT.sql | mysql -u helm -h mowgli.cs.unibo.it matita -cd $OLD -rm -rf $TMPDIRNAME diff --git a/helm/matita/scripts/public_html/bench.php b/helm/matita/scripts/public_html/bench.php deleted file mode 100644 index 49bfe6235..000000000 --- a/helm/matita/scripts/public_html/bench.php +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - -

QUERY the benchmark system

-

Common Queries

-

-

-

-

Custom Query

-
- - - - - - - - -
Marks: -
Compilations: -
Options: -
Tests: -
Test results: -
Group By: -
-
- - diff --git a/helm/matita/scripts/public_html/common.php b/helm/matita/scripts/public_html/common.php deleted file mode 100644 index e1bef4dd7..000000000 --- a/helm/matita/scripts/public_html/common.php +++ /dev/null @@ -1,89 +0,0 @@ - $v) { - $rc[$x['mark']][$k] = sum_time($v, $x[$k]); - } - } - } - return array_values($rc); -} - -function array_to_combo($l,$a) { - echo ""; -} - -?> diff --git a/helm/matita/scripts/public_html/composequery.php b/helm/matita/scripts/public_html/composequery.php deleted file mode 100644 index 683df4daa..000000000 --- a/helm/matita/scripts/public_html/composequery.php +++ /dev/null @@ -1,40 +0,0 @@ - $x) { - $v = $_GET[$x]; - if($v != "--") { - if($fst == false) { - $rc = $rc . " and "; - } else { - $rc = $rc . " "; - } - $fst = false; - $rc = $rc . $x . " = '" . $v . "'"; - } - } - return $rc; - } - - $gb = $_GET['groupby']; - if($gb != "--") - $what = "mark, SEC_TO_TIME(SUM(TIME_TO_SEC(time))) as sum_time, SEC_TO_TIME(SUM(TIME_TO_SEC(timeuser))) as sum_timeuser"; - else - $what = "mark, time, timeuser, compilation, test, result, options"; - $clause = clause_for($c); - if($clause != "") - $query = "select $what from bench where " . clause_for($c); - else - $query = "select $what from bench "; - if( $gb != "--"){ - $query = $query. "group by $gb"; - } - $query = $query. ";"; - - header("Location: showquery.php?query=".urlencode("Custom:@@@" . $query)); - exit; -?> diff --git a/helm/matita/scripts/public_html/index.html b/helm/matita/scripts/public_html/index.html deleted file mode 100644 index e08234d20..000000000 --- a/helm/matita/scripts/public_html/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - -

MATITA BENCHMARKING SYSTEM

-

Go to the benchmark query page

- - diff --git a/helm/matita/scripts/public_html/showquery.php b/helm/matita/scripts/public_html/showquery.php deleted file mode 100644 index bd54d6a63..000000000 --- a/helm/matita/scripts/public_html/showquery.php +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - -

QUERY results

- $q) { ?> -

-

- -

- - "; - foreach( $q[0] as $name => $txt) { - echo ""; - } - echo "\n"; - foreach ($q as $k => $v) { - echo ""; - foreach( $v as $name => $txt) { - echo ""; - } - echo "\n"; - } - ?> -
$name
$txt
- -

BACK to the query page

- - diff --git a/helm/matita/scripts/shell_adder.php b/helm/matita/scripts/shell_adder.php deleted file mode 100755 index a13005e55..000000000 --- a/helm/matita/scripts/shell_adder.php +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/helm/matita/scripts/shell_time2cents.php b/helm/matita/scripts/shell_time2cents.php deleted file mode 100755 index 4914fc24f..000000000 --- a/helm/matita/scripts/shell_time2cents.php +++ /dev/null @@ -1,4 +0,0 @@ - diff --git a/helm/matita/template_makefile.in b/helm/matita/template_makefile.in deleted file mode 100644 index 5ae1165bb..000000000 --- a/helm/matita/template_makefile.in +++ /dev/null @@ -1,28 +0,0 @@ -SRC=$(shell find @ROOT@ -name "*.ma" -a -type f) -TODO=$(SRC:%.ma=%.mo) - -MATITA_FLAGS=-noprofile -NODB=false -ifeq ($(NODB),true) - MATITA_FLAGS += -nodb -endif - -MATITAC=@CC@ -MATITACLEAN=@CLEAN@ -MATITADEP=@DEP@ - -all: $(TODO) - -clean: - $(MATITACLEAN) $(MATITA_FLAGS) $(SRC) - rm -f $(TODO) - -%.moo: - ($(MATITAC) $(MATITA_FLAGS) -q -I @ROOT@ $< | (grep -v "^make" || true)) - -@DEPFILE@ : $(SRC) - $(MATITADEP) $(MATITA_FLAGS) -I '@ROOT@' $^ 1> @DEPFILE@ 2>/dev/null - -# this is the depend for full targets like: -# dir/dir/name.moo: dir/dir/name.ma dir/dep.moo --include @DEPFILE@ diff --git a/helm/matita/tests/.cvsignore b/helm/matita/tests/.cvsignore deleted file mode 100644 index 6d473d47a..000000000 --- a/helm/matita/tests/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -.depend -*.moo diff --git a/helm/matita/tests/Makefile b/helm/matita/tests/Makefile deleted file mode 100644 index 33d458929..000000000 --- a/helm/matita/tests/Makefile +++ /dev/null @@ -1,54 +0,0 @@ -SRC=$(wildcard *.ma) - -MATITA_FLAGS = -NODB=false -ifeq ($(NODB),true) - MATITA_FLAGS += -nodb -endif - -MATITAC=../scripts/do_tests.sh $(DO_TESTS_OPTS) "../matitac $(MATITA_FLAGS)" "../matitaclean $(MATITA_FLAGS)" /dev/null OK -MATITACOPT=../scripts/do_tests.sh $(DO_TESTS_OPTS) "../matitac.opt $(MATITA_FLAGS)" "../matitaclean.opt $(MATITA_FLAGS)" /dev/null OK -VERBOSEMATITAC=../matitac $(MATITA_FLAGS) -VERBOSEMATITACOPT=../matitac.opt $(MATITA_FLAGS) - -MATITACLEAN=../matitaclean $(MATITA_FLAGS) -MATITACLEANOPT=../matitaclean.opt $(MATITA_FLAGS) - -MATITADEP=../matitadep $(MATITA_FLAGS) -MATITADEPOPT=../matitadep.opt $(MATITA_FLAGS) - -DEPEND_NAME=.depend - -H=@ - -all: $(SRC:%.ma=%.mo) - -opt: - $(H)$(MAKE) MATITAC='$(MATITACOPT)' MATITACLEAN='$(MATITACLEANOPT)' MATITADEP='$(MATITADEPOPT)' all - -verbose: - $(H)$(MAKE) MATITAC='$(VERBOSEMATITAC)' MATITACLEAN='$(MATITACLEAN)' MATITADEP='$(MATITADEP)' all - -%.opt: - $(H)$(MAKE) MATITAC='$(MATITACOPT)' MATITACLEAN='$(MATITACLEANOPT)' MATITADEP='$(MATITADEPOPT)' $(@:%.opt=%) - -clean: - $(H)$(MATITACLEAN) $(SRC) - -cleanall: - $(H)rm -f $(SRC:%.ma=%.moo) - $(MATITACLEAN) all - -depend: - rm -f $(DEPEND_NAME) - $(MAKE) $(DEPEND_NAME) -.PHONY: depend - -%.moo: - $(H)$(MATITAC) $< - -$(DEPEND_NAME): $(SRC) - $(H)$(MATITADEP) $(SRC) > $@ || rm -f $@ - -#include $(DEPEND_NAME) -include .depend diff --git a/helm/matita/tests/absurd.ma b/helm/matita/tests/absurd.ma deleted file mode 100644 index 19c738d05..000000000 --- a/helm/matita/tests/absurd.ma +++ /dev/null @@ -1,26 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/absurd/". -include "coq.ma". -alias num (instance 0) = "natural number". -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". -alias id "not" = "cic:/Coq/Init/Logic/not.con". - -theorem stupid : \forall a:Prop. a \to not a \to 0 = 1. -intros. -absurd a. -assumption. -assumption. -qed. diff --git a/helm/matita/tests/apply.ma b/helm/matita/tests/apply.ma deleted file mode 100644 index 21c0faa41..000000000 --- a/helm/matita/tests/apply.ma +++ /dev/null @@ -1,57 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -(* test _with_ the WHD on the apply argument *) -set "baseuri" "cic:/matita/tests/apply/". -include "coq.ma". - -alias id "not" = "cic:/Coq/Init/Logic/not.con". -alias id "False" = "cic:/Coq/Init/Logic/False.ind#xpointer(1/1)". - -theorem b: - \forall x:Prop. - (not x) \to x \to False. -intros. -apply H. -assumption. -qed. - -(* test _without_ the WHD on the apply argument *) - -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". - -theorem a: - \forall A:Set. - \forall x: A. - not (x=x) \to not (x=x). -intros. -apply H. -qed. - - -(* this test shows what happens when a term of type A -> ? is applied to - a goal of type A' -> B: if A unifies with A' the unifier becomes ? := B - and no goal is opened; otherwise the unifier becomes ? := A' -> B and a - new goal of type A is created. *) -theorem c: - \forall A,B:Prop. - A \to (\forall P: Prop. A \to P) \to (A \to B) \land (B \to B). - intros 4; split; [ apply H1 | apply H1; exact H ]. -qed. - -(* this test requires the delta-expansion of not in the type of the applied - term (to reveal a product) *) -theorem d: \forall A: Prop. \lnot A \to A \to False. - intros. apply H. assumption. -qed. \ No newline at end of file diff --git a/helm/matita/tests/assumption.ma b/helm/matita/tests/assumption.ma deleted file mode 100644 index fde8f8c98..000000000 --- a/helm/matita/tests/assumption.ma +++ /dev/null @@ -1,39 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/assumption". -include "coq.ma". - -alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1)". -alias num (instance 0) = "natural number". -alias symbol "and" (instance 0) = "Coq's logical and". -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". -alias symbol "plus" (instance 0) = "Coq's natural plus". - - -theorem stupid: - \forall a: 0 = 0. - \forall b: 3 + 2 = 5. - \forall c: (\lambda x:nat.x) 3 = 3. - 0=0 \land 3 + 2 = 5 \land 3 = 3. -intros. -split. -split. -clear H2. clear H1. -assumption. -clear H. -assumption. -assumption. -qed. - diff --git a/helm/matita/tests/bad_tests/.depend b/helm/matita/tests/bad_tests/.depend deleted file mode 100644 index 8f040e5c7..000000000 --- a/helm/matita/tests/bad_tests/.depend +++ /dev/null @@ -1,6 +0,0 @@ -/home/sacerdot/.matita/xml/matita/tests/auto.moo: auto.ma /home/sacerdot/miohelm/matita/coq.moo -auto.mo: /home/sacerdot/.matita/xml/matita/tests/auto.moo -/home/sacerdot/.matita/xml/matita/tests/baseuri.moo: baseuri.ma -baseuri.mo: /home/sacerdot/.matita/xml/matita/tests/baseuri.moo -/home/sacerdot/.matita/xml/matita/tests/test2.moo: test2.ma /home/sacerdot/miohelm/matita/coq.moo -test2.mo: /home/sacerdot/.matita/xml/matita/tests/test2.moo diff --git a/helm/matita/tests/bad_tests/Makefile b/helm/matita/tests/bad_tests/Makefile deleted file mode 100644 index 8f7a83fd5..000000000 --- a/helm/matita/tests/bad_tests/Makefile +++ /dev/null @@ -1,54 +0,0 @@ -SRC=$(wildcard *.ma) - -MATITA_FLAGS = -NODB=false -ifeq ($(NODB),true) - MATITA_FLAGS += -nodb -endif - -MATITAC=../../scripts/do_tests.sh $(DO_TESTS_OPTS) "../../matitac $(MATITA_FLAGS) -noprofile" "../../matitaclean $(MATITA_FLAGS)" /dev/null FAIL -MATITACOPT=../../scripts/do_tests.sh $(DO_TESTS_OPTS) "../../matitac.opt $(MATITA_FLAGS) -noprofile" "../../matitaclean.opt $(MATITA_FLAGS)" /dev/null FAIL -VERBOSEMATITAC=../../matitac $(MATITA_FLAGS) -VERBOSEMATITACOPT=../../matitac.opt $(MATITA_FLAGS) - -MATITACLEAN=../../matitaclean $(MATITA_FLAGS) -MATITACLEANOPT=../../matitaclean.opt $(MATITA_FLAGS) - -MATITADEP=../../matitadep $(MATITA_FLAGS) -MATITADEPOPT=../../matitadep.opt $(MATITA_FLAGS) - -DEPEND_NAME=.depend - -H=@ - -all: $(SRC:%.ma=%.mo) - -opt: - $(H)$(MAKE) MATITAC='$(MATITACOPT)' MATITACLEAN='$(MATITACLEANOPT)' MATITADEP='$(MATITADEPOPT)' all - -verbose: - $(H)$(MAKE) MATITAC='$(VERBOSEMATITAC)' MATITACLEAN='$(MATITACLEAN)' MATITADEP='$(MATITADEP)' all - -%.opt: - $(H)$(MAKE) MATITAC='$(MATITACOPT)' MATITACLEAN='$(MATITACLEANOPT)' MATITADEP='$(MATITADEPOPT)' $(@:%.opt=%) - -clean: - $(H)$(MATITACLEAN) $(SRC) - -cleanall: - $(H)rm -f $(SRC:%.ma=%.moo) - $(MATITACLEAN) all - -depend: - rm -f $(DEPEND_NAME) - $(MAKE) $(DEPEND_NAME) -.PHONY: depend - -%.moo: - $(H)$(MATITAC) $< - -$(DEPEND_NAME): $(SRC) - $(H)$(MATITADEP) $(SRC) > $@ || rm -f $@ - -#include $(DEPEND_NAME) -include .depend diff --git a/helm/matita/tests/bad_tests/auto.log b/helm/matita/tests/bad_tests/auto.log deleted file mode 100644 index 1e1fc77ae..000000000 --- a/helm/matita/tests/bad_tests/auto.log +++ /dev/null @@ -1,107 +0,0 @@ -Info: execution of auto.ma started: -Debug: Executing: ``set "baseuri" "cic:/matita/tests/auto/"'' -Debug: Executing: ``include coq.ma'' -Debug: Executing: ``alias id "O" = "cic:/Coq/Init/Datatypes/nat.ind#xp ...'' -Debug: Executing: ``alias id "S" = "cic:/Coq/Init/Datatypes/nat.ind#xp ...'' -Debug: Executing: ``alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind# ...'' -Debug: Executing: ``alias symbol "eq" (instance 0) = "Coq's leibnitz's ...'' -Debug: Executing: ``alias symbol "minus" (instance 0) = "Coq's natural ...'' -Debug: Executing: ``alias symbol "plus" (instance 0) = "Coq's natural ...'' -Debug: Executing: ``alias symbol "times" (instance 0) = "Coq's natural ...'' -Debug: Executing: ``Theorem a: @[\forall ((x): (@[nat])).(\forall ((y) ...'' -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Init/Datatypes/nat.ind -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Init/Logic/eq.ind -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Init/Peano/minus.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Init/Peano/plus.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Init/Peano/mult.con -Error: Bad name: a -Debug: Executing: ``intro.'' -Debug: Executing: ``auto.'' -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Init/Logic/trans_eq.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Init/Logic/Logic_lemmas/equality/A.var -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Init/Logic/Logic_lemmas/equality/x.var -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Init/Logic/Logic_lemmas/equality/y.var -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Init/Logic/Logic_lemmas/equality/z.var -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Init/Logic/f_equal3.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Init/Logic/f_equal2.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Init/Logic/f_equal.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Init/Logic/Logic_lemmas/equality/B.var -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Init/Logic/Logic_lemmas/equality/f.var -WE HAVE NO UNIVERSE FILE FOR cic:/Nijmegen/QArith/sqrt2/add_sub_square_identity.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Init/Peano/mult_n_Sm.con -WE HAVE NO UNIVERSE FILE FOR cic:/Rocq/TreeAutomata/semantics/conservation_0_0.con -WE HAVE NO UNIVERSE FILE FOR cic:/Sophia-Antipolis/MATHS/Z/Nat_complements/technical_lemma.con -WE HAVE NO UNIVERSE FILE FOR cic:/Rocq/ARITH/Chinese/Nat_complements/technical_lemma.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Minus/plus_minus.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Minus/minus_plus_simpl_l_reverse.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Minus/minus_plus.con -WE HAVE NO UNIVERSE FILE FOR cic:/Nijmegen/QArith/sqrt2/minus_minus.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Mult/mult_plus_distr_r.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Mult/mult_plus_distr_l.con -WE HAVE NO UNIVERSE FILE FOR cic:/Rocq/SUBST/comparith/mult_plus_distr_r.con -WE HAVE NO UNIVERSE FILE FOR cic:/Sophia-Antipolis/HARDWARE/GENE/Arith_compl/mult_plus_distr2.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Minus/minus_n_n.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Minus/minus_n_O.con -WE HAVE NO UNIVERSE FILE FOR cic:/Sophia-Antipolis/HARDWARE/GENE/Arith_compl/minus_minus_lem1.con -WE HAVE NO UNIVERSE FILE FOR cic:/Cachan/SMC/mu/Splus_nm.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Init/Peano/plus_n_Sm.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Init/Peano/plus_Sn_m.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Plus/plus_Snm_nSm.con -WE HAVE NO UNIVERSE FILE FOR cic:/Rocq/TreeAutomata/bases/S_plus_l.con -WE HAVE NO UNIVERSE FILE FOR cic:/Nijmegen/QArith/Qpositive/mult_reg_l.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Plus/plus_reg_l.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Plus/plus_permute_2_in_4.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Plus/plus_permute.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Plus/plus_comm.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Plus/plus_assoc_reverse.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Plus/plus_assoc.con -WE HAVE NO UNIVERSE FILE FOR cic:/Rocq/SUBST/comparith/eq_plus_reg_r.con -WE HAVE NO UNIVERSE FILE FOR cic:/Rocq/SUBST/comparith/eq_plus_reg_l.con -WE HAVE NO UNIVERSE FILE FOR cic:/Sophia-Antipolis/Rsa/MiscRsa/plus_eq.con -WE HAVE NO UNIVERSE FILE FOR cic:/Sophia-Antipolis/HARDWARE/GENE/Arith_compl/plus_permute2.con -WE HAVE NO UNIVERSE FILE FOR cic:/Nijmegen/QArith/sqrt2/minus_eq_decompose.con -WE HAVE NO UNIVERSE FILE FOR cic:/Nijmegen/QArith/Qpositive/minus_decompose.con -WE HAVE NO UNIVERSE FILE FOR cic:/Sophia-Antipolis/Rsa/MiscRsa/minus_eq.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Init/Peano/eq_add_S.con -WE HAVE NO UNIVERSE FILE FOR cic:/Nijmegen/QArith/sqrt2/expand_mult2.con -WE HAVE NO UNIVERSE FILE FOR cic:/Rocq/SUBST/comparith/mult_n_2.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/ring/ArithRing/S_to_plus_one.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/ZArith/BinInt/ZL0.con -WE HAVE NO UNIVERSE FILE FOR cic:/Rocq/SUBST/comparith/S_plus.con -WE HAVE NO UNIVERSE FILE FOR cic:/Sophia-Antipolis/HARDWARE/GENE/Arith_compl/plus_n_SO.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Init/Peano/plus_n_O.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Plus/plus_0_r.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Plus/plus_0_l.con -WE HAVE NO UNIVERSE FILE FOR cic:/Marseille/GC/lib_arith/lib_plus/plus_O_O.con -WE HAVE NO UNIVERSE FILE FOR cic:/Sophia-Antipolis/Rsa/MiscRsa/plus_eqO.con -WE HAVE NO UNIVERSE FILE FOR cic:/Sophia-Antipolis/HARDWARE/GENE/Arith_compl/plus_O_O.con -WE HAVE NO UNIVERSE FILE FOR cic:/Sophia-Antipolis/Bertrand/Misc/plus_eqO.con -WE HAVE NO UNIVERSE FILE FOR cic:/Rocq/DEMOS/Demo_AutoRewrite/g0.con -WE HAVE NO UNIVERSE FILE FOR cic:/Rocq/DEMOS/Demo_AutoRewrite/McCarthy/g.var -WE HAVE NO UNIVERSE FILE FOR cic:/Sophia-Antipolis/Rsa/MiscRsa/mult_SO.con -WE HAVE NO UNIVERSE FILE FOR cic:/Sophia-Antipolis/Bertrand/Misc/mult_SO.con -WE HAVE NO UNIVERSE FILE FOR cic:/Rocq/DEMOS/Demo_AutoRewrite/Ack1.con -WE HAVE NO UNIVERSE FILE FOR cic:/Rocq/DEMOS/Demo_AutoRewrite/Ackermann/Ack.var -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Mult/mult_1_r.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Mult/mult_1_l.con -WE HAVE NO UNIVERSE FILE FOR cic:/Nijmegen/QArith/sqrt2/mult2_recompose.con -WE HAVE NO UNIVERSE FILE FOR cic:/Rocq/SUBST/comparith/mult_n_1.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Init/Peano/mult_n_O.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Mult/mult_0_r.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Mult/mult_0_l.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Mult/mult_comm.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Mult/mult_assoc_reverse.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Mult/mult_assoc.con -WE HAVE NO UNIVERSE FILE FOR cic:/Nijmegen/QArith/sqrt2/square_recompose.con -WE HAVE NO UNIVERSE FILE FOR cic:/Rocq/SUBST/comparith/mult_sym.con -WE HAVE NO UNIVERSE FILE FOR cic:/Rocq/SUBST/comparith/mult_permut.con -WE HAVE NO UNIVERSE FILE FOR cic:/Rocq/SUBST/comparith/mult_assoc_l.con -WE HAVE NO UNIVERSE FILE FOR cic:/Rocq/SUBST/comparith/eq_mult_reg_r.con -WE HAVE NO UNIVERSE FILE FOR cic:/Rocq/SUBST/comparith/eq_mult_reg_l.con -WE HAVE NO UNIVERSE FILE FOR cic:/Sophia-Antipolis/Rsa/MiscRsa/mult_eq.con -WE HAVE NO UNIVERSE FILE FOR cic:/Sophia-Antipolis/HARDWARE/GENE/Arith_compl/mult_sym.con -WE HAVE NO UNIVERSE FILE FOR cic:/Sophia-Antipolis/HARDWARE/GENE/Arith_compl/mult_permute.con -WE HAVE NO UNIVERSE FILE FOR cic:/Sophia-Antipolis/Float/Faux/minus_inv_lt_aux.con -WE HAVE NO UNIVERSE FILE FOR cic:/Coq/Arith/Mult/mult_minus_distr_r.con -WE HAVE NO UNIVERSE FILE FOR cic:/Nijmegen/QArith/sqrt2/mult_minus_distr_l.con -Error: Tactic error: No Applicable theorem diff --git a/helm/matita/tests/bad_tests/auto.ma b/helm/matita/tests/bad_tests/auto.ma deleted file mode 100755 index 5c6c04358..000000000 --- a/helm/matita/tests/bad_tests/auto.ma +++ /dev/null @@ -1,27 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/auto/". -include "coq.ma". - -alias id "O" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/1)". -alias id "S" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/2)". -alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1)". -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". -alias symbol "minus" (instance 0) = "Coq's natural minus". -alias symbol "plus" (instance 0) = "Coq's natural plus". -alias symbol "times" (instance 0) = "Coq's natural times". -theorem a : \forall x,y:nat. x*x+(S y) = O - x. -intros. -auto depth = 3. diff --git a/helm/matita/tests/bad_tests/baseuri.log b/helm/matita/tests/bad_tests/baseuri.log deleted file mode 100644 index 9185479df..000000000 --- a/helm/matita/tests/bad_tests/baseuri.log +++ /dev/null @@ -1,4 +0,0 @@ -Info: execution of baseuri.ma started: -Debug: Executing: ``set "baseuri" "cic:/matita/tests/baseuri/"'' -Debug: Executing: ``set "baseuri" "cic:/matita/tests/baseuri/"'' -Error: Error: Redefinition of 'baseuri' is forbidden. diff --git a/helm/matita/tests/bad_tests/baseuri.ma b/helm/matita/tests/bad_tests/baseuri.ma deleted file mode 100644 index 0e06223fa..000000000 --- a/helm/matita/tests/bad_tests/baseuri.ma +++ /dev/null @@ -1,16 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/baseuri/". -set "baseuri" "cic:/matita/tests/baseuri/". diff --git a/helm/matita/tests/change.ma b/helm/matita/tests/change.ma deleted file mode 100644 index 16b675316..000000000 --- a/helm/matita/tests/change.ma +++ /dev/null @@ -1,40 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/change/". -include "coq.ma". -alias num (instance 0) = "natural number". -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". -alias symbol "plus" (instance 0) = "Coq's natural plus". -alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1)". - -theorem stupid: - \forall a:nat. - a = 5 \to - (3 + 2) = a. -intros. -change in \vdash (? ? % ?) with 5. -rewrite < H in \vdash (? ? % ?). -reflexivity. -qed. - -(* tests changing a term under a binder *) -alias id "True" = "cic:/Coq/Init/Logic/True.ind#xpointer(1/1)". -theorem t: (\forall x:nat. x=x) \to True. - intro H. - change in match x in H : (\forall _.%) with (0+x). - change in H: (\forall _.(? ? ? (? % ?))) with 0. - constructor 1. -qed. - diff --git a/helm/matita/tests/clear.ma b/helm/matita/tests/clear.ma deleted file mode 100644 index 9f1655b59..000000000 --- a/helm/matita/tests/clear.ma +++ /dev/null @@ -1,30 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/clear". -include "coq.ma". -alias num (instance 0) = "natural number". -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". -alias id "True" = "cic:/Coq/Init/Logic/True.ind#xpointer(1/1)". - -theorem stupid: - \forall a: True. - \forall b: 0 = 0. - 0 = 0. -intros 1 (H). -clear H. -intros 1 (H). -exact H. -qed. - diff --git a/helm/matita/tests/clearbody.ma b/helm/matita/tests/clearbody.ma deleted file mode 100644 index 0956cbc1e..000000000 --- a/helm/matita/tests/clearbody.ma +++ /dev/null @@ -1,31 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/clearbody". -include "coq.ma". -alias num (instance 0) = "natural number". -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". -alias symbol "plus" (instance 0) = "Coq's natural plus". - - -theorem stupid : - let x \def 0 + 1 in x + 2 = x + 2. - intros. - clearbody x. - simplify. - generalize in \vdash (? ? (? % ?) (? % ?)). - intros. - reflexivity. - qed. - diff --git a/helm/matita/tests/coercions.ma b/helm/matita/tests/coercions.ma deleted file mode 100644 index ae69759bf..000000000 --- a/helm/matita/tests/coercions.ma +++ /dev/null @@ -1,47 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/coercions/". -include "coq.ma". - -inductive pos: Set \def -| one : pos -| next : pos \to pos. - -inductive nat:Set \def -| O : nat -| S : nat \to nat. - -inductive int: Set \def -| positive: nat \to int -| negative : nat \to int. - -inductive empty : Set \def . - -let rec pos2nat x \def - match x with - [ one \Rightarrow (S O) - | (next z) \Rightarrow S (pos2nat z)]. - -definition nat2int \def \lambda x. positive x. - -coercion pos2nat. - -coercion nat2int. - -definition fst \def \lambda x,y:int.x. - -theorem a: fst O one = fst (positive O) (next one). -reflexivity. -qed. diff --git a/helm/matita/tests/comments.ma b/helm/matita/tests/comments.ma deleted file mode 100644 index f9412f45a..000000000 --- a/helm/matita/tests/comments.ma +++ /dev/null @@ -1,36 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/comments/". -include "coq.ma". - -(* commento che va nell'ast, ma non viene contato - come step perche' non e' un executable -*) - -alias num (instance 0) = "natural number". -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". -theorem a:0=0. - -(* nota *) -(** - - -apply Prop. -*) -reflexivity. -(* commenti che non devono essere colorati perche' - non c'e' nulla di eseguibile dopo di loro -*) -qed. diff --git a/helm/matita/tests/constructor.ma b/helm/matita/tests/constructor.ma deleted file mode 100644 index 3ee7f4b98..000000000 --- a/helm/matita/tests/constructor.ma +++ /dev/null @@ -1,23 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/constructor". -include "coq.ma". -alias num (instance 0) = "natural number". -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". - - -theorem stupid: 1 = 1. -constructor 1. -qed. diff --git a/helm/matita/tests/continuationals.ma b/helm/matita/tests/continuationals.ma deleted file mode 100644 index b2f906084..000000000 --- a/helm/matita/tests/continuationals.ma +++ /dev/null @@ -1,80 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/test/continuationals/". -include "coq.ma". - -alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1)". -alias id "S" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/2)". -alias id "trans_equal" = "cic:/Coq/Init/Logic/trans_equal.con". -alias id "refl_equal" = "cic:/Coq/Init/Logic/eq.ind#xpointer(1/1/1)". -alias id "Z" = "cic:/Coq/ZArith/BinInt/Z.ind#xpointer(1/1)". - -theorem semicolon: \forall p:Prop.p\to p\land p. -intros (p); split; assumption. -qed. - -theorem branch:\forall x:nat.x=x. -intros (n); -elim n -[ reflexivity; -| reflexivity ]. -qed. - -theorem pos:\forall x:Z.x=x. -intros (n); -elim n; -[ 3: reflexivity; -| 2: reflexivity; -| reflexivity ] -qed. - -theorem dot:\forall x:Z.x=x. -intros (x). -elim x. -reflexivity. reflexivity. reflexivity. -qed. - -theorem dot_slice:\forall x:Z.x=x. -intros (x). -elim x; -[ elim x. reflexivity. reflexivity. reflexivity; -| reflexivity -| reflexivity ]; -qed. - -theorem focus:\forall x:Z.x=x. -intros (x); elim x. -focus 16 17; - reflexivity; -unfocus. -reflexivity. -qed. - -theorem skip:\forall x:nat.x=x. -intros (x). -apply trans_equal; -[ 2: apply (refl_equal nat x); -| skip -| reflexivity -] -qed. - -theorem skip_focus:\forall x:nat.x=x. -intros (x). -apply trans_equal; -[ focus 18; apply (refl_equal nat x); unfocus; -| skip -| reflexivity ] -qed. diff --git a/helm/matita/tests/contradiction.ma b/helm/matita/tests/contradiction.ma deleted file mode 100644 index 886bc8c80..000000000 --- a/helm/matita/tests/contradiction.ma +++ /dev/null @@ -1,31 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/contradiction". -include "coq.ma". -alias id "True" = "cic:/Coq/Init/Logic/True.ind#xpointer(1/1)". -alias id "not" = "cic:/Coq/Init/Logic/not.con". -alias num (instance 0) = "natural number". -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". - - - -theorem stupid: \forall a:Prop. a \to not a \to 0 = 2. -intros. -letin H \def (H1 H). -contradiction. -qed. - - - diff --git a/helm/matita/tests/cut.ma b/helm/matita/tests/cut.ma deleted file mode 100644 index 3e5605a10..000000000 --- a/helm/matita/tests/cut.ma +++ /dev/null @@ -1,25 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/cut". -include "coq.ma". -alias num (instance 0) = "natural number". -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". - -theorem stupid: 3 = 3. - cut (3 = 3). - assumption. - reflexivity. -qed. - diff --git a/helm/matita/tests/decompose.ma b/helm/matita/tests/decompose.ma deleted file mode 100644 index caf2d5289..000000000 --- a/helm/matita/tests/decompose.ma +++ /dev/null @@ -1,28 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/decompose". -include "coq.ma". -alias symbol "and" (instance 0) = "Coq's logical and". -alias symbol "or" (instance 0) = "Coq's logical or". - - - -theorem stupid: - \forall a,b,c:Prop. - (a \land c \lor b \land c) \to (c \land (b \lor a)). - intros.decompose H.split.assumption.right.assumption. - split.assumption.left.assumption.qed. - - diff --git a/helm/matita/tests/discriminate.ma b/helm/matita/tests/discriminate.ma deleted file mode 100644 index f873dd8f7..000000000 --- a/helm/matita/tests/discriminate.ma +++ /dev/null @@ -1,40 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/discriminate". -include "coq.ma". -alias id "not" = "cic:/Coq/Init/Logic/not.con". -alias num (instance 0) = "natural number". -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". - -inductive foo: Prop \def I_foo: foo. - -theorem stupid: - 1 = 0 \to (\forall p:Prop. p \to not p). - intros. - generalize in match I_foo. - discriminate H. -qed. - -inductive bar_list (A:Set): Set \def - | bar_nil: bar_list A - | bar_cons: A \to bar_list A \to bar_list A. - -alias id "False" = "cic:/Coq/Init/Logic/False.ind#xpointer(1/1)". -theorem stupid2: - \forall A:Set.\forall x:A.\forall l:bar_list A. - bar_nil A = bar_cons A x l \to False. - intros. - discriminate H. -qed. diff --git a/helm/matita/tests/elim.ma b/helm/matita/tests/elim.ma deleted file mode 100644 index 9d48bc970..000000000 --- a/helm/matita/tests/elim.ma +++ /dev/null @@ -1,80 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/elim". -include "coq.ma". - -inductive stupidtype: Set \def - | Base : stupidtype - | Next : stupidtype \to stupidtype - | Pair : stupidtype \to stupidtype \to stupidtype. - -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". -alias symbol "exists" (instance 0) = "Coq's exists". -alias symbol "or" (instance 0) = "Coq's logical or". -alias num (instance 0) = "natural number". -alias id "True" = "cic:/Coq/Init/Logic/True.ind#xpointer(1/1)". -alias id "refl_equal" = "cic:/Coq/Init/Logic/eq.ind#xpointer(1/1/1)". - -theorem serious: - \forall a:stupidtype. - a = Base - \lor - (\exists b:stupidtype.a = Next b) - \lor - (\exists c,d:stupidtype.a = Pair c d). -intros. -elim a. -clear a.left.left. - reflexivity. -clear H.clear a.left.right. - exists.exact s.reflexivity. -clear H.clear H1.clear a.right. - exists.exact s.exists.exact s1.reflexivity. -qed. - -theorem t: 0=0 \to stupidtype. - intros; constructor 1. -qed. - -(* In this test "elim t" should open a new goal 0=0 and put it in the *) -(* goallist so that the THEN tactical closes it using reflexivity. *) -theorem foo: let ax \def refl_equal ? 0 in t ax = t ax. - elim t; reflexivity. -qed. - -(* This test shows a bug where elim opens a new unus{ed,eful} goal *) - -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". -alias id "O" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/1)". - -inductive sum (n:nat) : nat \to nat \to Set \def - k: \forall x,y. n = x + y \to sum n x y. - -theorem t': \forall x,y. \forall H: sum x y O. - match H with [ (k a b p) \Rightarrow a ] = x. - intros. - cut (y = y \to O = O \to match H with [ (k a b p) \Rightarrow a] = x). - apply Hcut; reflexivity. - apply - (sum_ind ? - (\lambda a,b,K. y=a \to O=b \to - match K with [ (k a b p) \Rightarrow a ] = x) - ? ? ? H). - goal 16. - simplify. intros. - generalize in match H1. - rewrite < H2; rewrite < H3.intro. - rewrite > H4.auto. -qed. diff --git a/helm/matita/tests/fguidi.ma b/helm/matita/tests/fguidi.ma deleted file mode 100644 index 567f15c97..000000000 --- a/helm/matita/tests/fguidi.ma +++ /dev/null @@ -1,114 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/fguidi/". -include "coq.ma". - -alias id "O" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/1)". -alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1)". -alias id "S" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/2)". -alias id "le" = "cic:/matita/fguidi/le.ind#xpointer(1/1)". -alias id "False_ind" = "cic:/Coq/Init/Logic/False_ind.con". -alias id "I" = "cic:/Coq/Init/Logic/True.ind#xpointer(1/1/1)". -alias id "ex_intro" = "cic:/Coq/Init/Logic/ex.ind#xpointer(1/1/1)". -alias id "False" = "cic:/Coq/Init/Logic/False.ind#xpointer(1/1)". -alias id "True" = "cic:/Coq/Init/Logic/True.ind#xpointer(1/1)". - -alias symbol "and" (instance 0) = "Coq's logical and". -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". -alias symbol "exists" (instance 0) = "Coq's exists". - -definition is_S: nat \to Prop \def - \lambda n. match n with - [ O \Rightarrow False - | (S n) \Rightarrow True - ]. - -definition pred: nat \to nat \def - \lambda n. match n with - [ O \Rightarrow O - | (S n) \Rightarrow n - ]. - -theorem eq_gen_S_O: \forall x. (S x = O) \to \forall P:Prop. P. -intros. apply False_ind. cut (is_S O). auto paramodulation. elim H. exact I. -qed. - -theorem eq_gen_S_O_cc: (\forall P:Prop. P) \to \forall x. (S x = O). -intros. auto. -qed. - -theorem eq_gen_S_S: \forall m,n. (S m) = (S n) \to m = n. -intros. cut ((pred (S m)) = (pred (S n))). -assumption. elim H. auto paramodulation. -qed. - -theorem eq_gen_S_S_cc: \forall m,n. m = n \to (S m) = (S n). -intros. elim H. auto paramodulation. -qed. - -inductive le: nat \to nat \to Prop \def - le_zero: \forall n. (le O n) - | le_succ: \forall m, n. (le m n) \to (le (S m) (S n)). - -theorem le_refl: \forall x. (le x x). -intros. elim x. auto paramodulation. auto paramodulation. -qed. - -theorem le_gen_x_O_aux: \forall x, y. (le x y) \to (y =O) \to - (x = O). -intros 3. elim H. auto paramodulation. apply eq_gen_S_O. exact n1. auto paramodulation. -qed. - -theorem le_gen_x_O: \forall x. (le x O) \to (x = O). -intros. apply le_gen_x_O_aux. exact O. auto paramodulation. auto paramodulation. -qed. - -theorem le_gen_x_O_cc: \forall x. (x = O) \to (le x O). -intros. elim H. auto paramodulation. -qed. - -theorem le_gen_S_x_aux: \forall m,x,y. (le y x) \to (y = S m) \to - (\exists n. x = (S n) \land (le m n)). -intros 4. elim H. -apply eq_gen_S_O. exact m. elim H1. auto paramodulation. -cut (n = m). elim Hcut. apply ex_intro. exact n1. auto paramodulation. auto. (* paramodulation non trova la prova *) -qed. - -theorem le_gen_S_x: \forall m,x. (le (S m) x) \to - (\exists n. x = (S n) \land (le m n)). -intros. apply le_gen_S_x_aux. exact (S m). auto paramodulation. auto paramodulation. -qed. - -theorem le_gen_S_x_cc: \forall m,x. (\exists n. x = (S n) \land (le m n)) \to - (le (S m) x). -intros. elim H. elim H1. cut ((S x1) = x). elim Hcut. auto paramodulation. elim H2. auto paramodulation. -qed. - -theorem le_gen_S_S: \forall m,n. (le (S m) (S n)) \to (le m n). -intros. -lapply le_gen_S_x to H using H0. elim H0. elim H1. -lapply eq_gen_S_S to H2 using H4. rewrite > H4. assumption. -qed. - -theorem le_gen_S_S_cc: \forall m,n. (le m n) \to (le (S m) (S n)). -intros. auto paramodulation. -qed. - -(* -theorem le_trans: \forall x,y. (le x y) \to \forall z. (le y z) \to (le x z). -intros 1. elim x; clear H. clear x. -auto paramodulation. -fwd H1 [H]. decompose H. -*) diff --git a/helm/matita/tests/first.ma b/helm/matita/tests/first.ma deleted file mode 100644 index 4fca7b199..000000000 --- a/helm/matita/tests/first.ma +++ /dev/null @@ -1,37 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/first/". - -inductive nat : Set \def - | O : nat - | S : nat \to nat. - -inductive eq (A:Set): A \to A \to Prop \def - refl: \forall x:A.eq A x x. - -inductive list (A:Set) : Set \def - | nil : list A - | cons : A \to list A \to list A. - -let rec list_len (A:Set) (l:list A) on l \def - match l with - [ nil \Rightarrow O - | (cons a tl) \Rightarrow S (list_len A tl)]. - -theorem stupid: \forall A:Set.eq ? (list_len A (nil ?)) O. -intros. -normalize. -apply refl. -qed. diff --git a/helm/matita/tests/fix_betareduction.ma b/helm/matita/tests/fix_betareduction.ma deleted file mode 100644 index 82f0b1cf6..000000000 --- a/helm/matita/tests/fix_betareduction.ma +++ /dev/null @@ -1,26 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/fix_betareduction/". - -alias id "eq" = "cic:/Coq/Init/Logic/eq.ind#xpointer(1/1)". -alias id "n" = "cic:/Suresnes/BDD/canonicite/Canonicity_BDT/n.con". -alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1)". -theorem a: - (\forall p: nat \to Prop. - \forall n: nat. p n \to p n ) \to (eq nat n n). -intro. -apply (H (\lambda n:nat.(eq nat n n))). -reflexivity. -qed. diff --git a/helm/matita/tests/fold.ma b/helm/matita/tests/fold.ma deleted file mode 100644 index 003d45f47..000000000 --- a/helm/matita/tests/fold.ma +++ /dev/null @@ -1,26 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/fold". -include "coq.ma". -alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1)". -alias num (instance 0) = "natural number". -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". -alias symbol "plus" (instance 0) = "Coq's natural plus". -theorem t: \forall x:nat. 0+x=x. - intro. - simplify in match (0+x) in \vdash (? ? % ?). - fold simplify (0 + x) in \vdash (? ? % ?). - reflexivity. -qed. diff --git a/helm/matita/tests/generalize.ma b/helm/matita/tests/generalize.ma deleted file mode 100644 index aca28ffdc..000000000 --- a/helm/matita/tests/generalize.ma +++ /dev/null @@ -1,37 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/generalize". -include "coq.ma". - -alias num (instance 0) = "natural number". -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". -alias symbol "plus" (instance 0) = "Coq's natural plus". -alias id "plus_comm" = "cic:/Coq/Arith/Plus/plus_comm.con". -alias id "S" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/2)". - -(* This tests is for the case of a pattern that contains metavariables *) -theorem t: \forall x. x + 4 = 4 + x. - intro. - generalize in match (S ?). - intro; apply plus_comm. -qed. - -(* This test used to fail because x was used in the wrong context *) -(* Once this was fixed it still did not work since apply is not *) -(* able to solve a goal that ends in a product. *) -theorem test2: \forall x. 4 + x = x + 4. - generalize in match 4. - exact plus_comm. -qed. diff --git a/helm/matita/tests/interactive/automatic_insertion.ma b/helm/matita/tests/interactive/automatic_insertion.ma deleted file mode 100644 index 56212bdc5..000000000 --- a/helm/matita/tests/interactive/automatic_insertion.ma +++ /dev/null @@ -1,17 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/xxx". - -theorem t: And True (eq nat O O). split. exact (refl_equal nat O). exact I. qed. \ No newline at end of file diff --git a/helm/matita/tests/interactive/drop.ma b/helm/matita/tests/interactive/drop.ma deleted file mode 100644 index b8718cdb8..000000000 --- a/helm/matita/tests/interactive/drop.ma +++ /dev/null @@ -1,8 +0,0 @@ -set "baseuri" "cic:/matita/tests/drop". - -alias id "O" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/1)". -alias num (instance 0) = "natural number". -alias symbol "eq" (instance 0) = "leibnitz's equality". -alias symbol "plus" (instance 0) = "natural plus". -theorem a : O + 1 = 1. -drop. diff --git a/helm/matita/tests/interactive/grafite.ma b/helm/matita/tests/interactive/grafite.ma deleted file mode 100644 index aaf570091..000000000 --- a/helm/matita/tests/interactive/grafite.ma +++ /dev/null @@ -1,34 +0,0 @@ -set "baseuri" "cic:/matita/tests/grafite/". - -(* commento *) -(** hint. *) - -inductive pippo : Type \def - | a : Type \to pippo - | b : Prop \to pippo - | c : Set \to pippo. - -definition pollo : Set \to Set \def - \lambda a:Set.a. - -inductive paolo : Prop \def t:paolo. - -theorem comeno : \forall p:pippo.pippo. -intros.assumption. -qed. - -definition f : pippo \to paolo \def - \lambda x:pippo. - match x with - [ (a z) \Rightarrow t - | (b z) \Rightarrow t - | (c z) \Rightarrow t ]. - -record w : Type \def { - mario : Prop; - pippo : Set -}. - -whelp locate pippo. - -print "coercions". diff --git a/helm/matita/tests/interactive/test5.ma b/helm/matita/tests/interactive/test5.ma deleted file mode 100644 index e48cc827e..000000000 --- a/helm/matita/tests/interactive/test5.ma +++ /dev/null @@ -1,7 +0,0 @@ -set "baseuri" "cic:/matita/tests/interactive/test5/". - -whelp instance - \lambda A:Set. - \lambda f: A \to A \to A. - \forall x,y : A. - f x y = f y x. diff --git a/helm/matita/tests/interactive/test6.ma b/helm/matita/tests/interactive/test6.ma deleted file mode 100644 index 4afdd3741..000000000 --- a/helm/matita/tests/interactive/test6.ma +++ /dev/null @@ -1,7 +0,0 @@ -set "baseuri" "cic:/matita/tests/interactive/test6/". - -whelp instance - \lambda A:Set. - \lambda f:A \to A \to A. - \forall x,y,z:A. - f x (f y z) = f (f x y) z. diff --git a/helm/matita/tests/interactive/test7.ma b/helm/matita/tests/interactive/test7.ma deleted file mode 100644 index d7347ed9f..000000000 --- a/helm/matita/tests/interactive/test7.ma +++ /dev/null @@ -1,7 +0,0 @@ -set "baseuri" "cic:/matita/tests/interactive/test7/". - -whelp instance - \lambda A:Set. - \lambda r:A \to A \to Prop. - \forall x:A. - r x x. diff --git a/helm/matita/tests/interactive/test_instance.ma b/helm/matita/tests/interactive/test_instance.ma deleted file mode 100644 index 7e02c0fff..000000000 --- a/helm/matita/tests/interactive/test_instance.ma +++ /dev/null @@ -1,16 +0,0 @@ -set "baseuri" "cic:/matita/tests/interactive/instance/". - -whelp instance \lambda A:Set.\lambda P:A \to A \to Prop.\forall x:A. P x x. -whelp instance \lambda A:Set.\lambda P:A \to A \to Prop.\forall x,y:A. P x y \to P y x. -whelp instance \lambda A:Set.\lambda P:A \to A \to Prop.\forall x,y,z:A. P x y \to P y z \to P y z. -whelp instance \lambda A:Set.\lambda f:A \to A \to A. \forall x,y:A. f x y = f y x. -whelp instance \lambda A:Set.\lambda r : A \to A \to Prop. \forall x,y,z:A. r x y \to r y z \to r x z. - - -whelp instance \lambda A:Set.\lambda R:A \to A \to Prop.\forall x:A.\forall y:A.(R x y) \to \forall z:A.(R x z) \to \exists u:A.(R y u) \land (R z u). - -whelp instance λA:Set.λR:A→A→Prop.∀x:A.∀y:A.(R x y)→∀z:A.(R x z)→∃u:A.(R y u)∧(R z u). - -whelp instance \lambda A:Set. \lambda R:A\to A\to Prop. confluence A R. - -whelp instance \lambda A:Set. \lambda f:A\to A\to A. \lambda g:A\to A\to A. \forall x,y,z : A . f x (g y z) = g (f x y ) (f x z). diff --git a/helm/matita/tests/inversion.ma b/helm/matita/tests/inversion.ma deleted file mode 100644 index f717cd1df..000000000 --- a/helm/matita/tests/inversion.ma +++ /dev/null @@ -1,53 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/inversion/". -include "coq.ma". - -inductive nat : Set \def - O : nat - | S : nat \to nat. - -inductive le (n:nat) : nat \to Prop \def - leO : le n n - | leS : \forall m. le n m \to le n (S m). - -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". - -theorem test_inversion: \forall n. le n O \to n=O. - intros. - (* inversion begins *) - cut (O=O); - [ 2: reflexivity; - | generalize in match Hcut. - apply (le_ind ? (\lambda x. O=x \to n=x) ? ? ? H); - [ intro. rewrite < H1. clear Hcut. - | simplify. intros. discriminate H3. - ] - reflexivity. - ] -qed. - -(* Piu' semplice e non lascia l'ipotesi inutile Hcut *) -alias id "refl_equal" = "cic:/Coq/Init/Logic/eq.ind#xpointer(1/1/1)". -theorem test_inversion2: \forall n. le n O \to n=O. - intros. - (* inversion begins *) - generalize in match (refl_equal nat O). - apply (le_ind ? (\lambda x. O=x \to n=x) ? ? ? H); - [ intro. rewrite < H1. - | simplify. intros. discriminate H3. - ] - reflexivity. -qed. diff --git a/helm/matita/tests/letrec.ma b/helm/matita/tests/letrec.ma deleted file mode 100644 index 55933cd31..000000000 --- a/helm/matita/tests/letrec.ma +++ /dev/null @@ -1,25 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/letrec/". - - -alias id "O" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/1)". -alias id "S" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/2)". -alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1)". - -let rec plus n m \def - match n with - [ O \Rightarrow m - | (S x) \Rightarrow S (plus x m) ]. diff --git a/helm/matita/tests/match_inference.ma b/helm/matita/tests/match_inference.ma deleted file mode 100644 index 0e27ce409..000000000 --- a/helm/matita/tests/match_inference.ma +++ /dev/null @@ -1,52 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/match_inference/". - -inductive pos: Set \def -| one : pos -| next : pos \to pos. - -inductive nat:Set \def -| O : nat -| S : nat \to nat. - -definition pos2nat : pos \to nat \def - \lambda x:pos . match x with - [ one \Rightarrow O - | (next z) \Rightarrow O]. - -inductive empty (x:nat) : nat \to Set \def . - -definition empty2nat : (empty O O) \to nat \def - \lambda x : (empty O O). S (match x in empty with []). - -inductive le (n:nat) : nat \to Prop \def - | le_n : le n n - | le_S : \forall m:nat. le n m \to le n (S m). - -inductive True : Prop \def - I : True. - -definition r : True \def - match (le_n O) with - [ le_n \Rightarrow I - | (le_S y p') \Rightarrow I ]. - -inductive Prod (A,B:Set): Set \def -pair : A \to B \to Prod A B. - -definition fst : \forall A,B:Set. (Prod A B) \to A \def -\lambda A,B:Set. \lambda p:(Prod A B). match p with -[(pair a b) \Rightarrow a]. diff --git a/helm/matita/tests/metasenv_ordering.ma b/helm/matita/tests/metasenv_ordering.ma deleted file mode 100644 index 25c66594b..000000000 --- a/helm/matita/tests/metasenv_ordering.ma +++ /dev/null @@ -1,139 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/metasenv_ordering". - -include "coq.ma". - -alias num (instance 0) = "natural number". -alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1)". - -(* REWRITE *) - -theorem th1 : - \forall P:Prop. - \forall H:(\forall G1: Set. \forall G2:Prop. \forall G3 : Type. 1 = 0). - 1 = 1 \land 1 = 0 \land 2 = 2. - intros. split; split; - [ reflexivity - | rewrite > H; - [ reflexivity | exact nat | exact (0=0) | exact Type ] - ] -qed. - -theorem th2 : - \forall P:Prop. - \forall H:(\forall G1: Set. \forall G2:Prop. \forall G3 : Type. 1 = 0). - 1 = 1 \land 1 = 0 \land 3 = 3. - intros. split. split. - focus 13. - rewrite > (H ?); [reflexivity | exact nat | exact (0=0) | exact Type]. - unfocus. - reflexivity. - reflexivity. -qed. - -theorem th3 : - \forall P:Prop. - \forall H:(\forall G1: Set. \forall G2:Prop. \forall G3 : Type. 1 = 0). - 1 = 1 \land 1 = 0 \land 4 = 4. - intros. split. split. - focus 13. - rewrite > (H ? ?); [reflexivity | exact nat | exact (0=0) | exact Type]. - unfocus. - reflexivity. - reflexivity. -qed. - -theorem th4 : - \forall P:Prop. - \forall H:(\forall G1: Set. \forall G2:Prop. \forall G3 : Type. 1 = 0). - 1 = 1 \land 1 = 0 \land 5 = 5. - intros. split. split. - focus 13. - rewrite > (H ? ? ?); [reflexivity | exact nat | exact (0=0) | exact Type]. - unfocus. - reflexivity. - reflexivity. -qed. - -(* APPLY *) - -theorem th5 : - \forall P:Prop. - \forall H:(\forall G1: Set. \forall G2:Prop. \forall G3 : Type. 1 = 0). - 1 = 1 \land 1 = 0 \land 6 = 6. - intros. split. split. - focus 13. - apply H; [exact nat | exact (0=0) | exact Type]. - unfocus. - reflexivity. - reflexivity. -qed. - -theorem th6 : - \forall P:Prop. - \forall H:(\forall G1: Set. \forall G2:Prop. \forall G3 : Type. 1 = 0). - 1 = 1 \land 1 = 0 \land 7 = 7. - intros. split. split. - focus 13. - apply (H ?); [exact nat | exact (0=0) | exact Type]. - unfocus. - reflexivity. - reflexivity. -qed. - -theorem th7 : - \forall P:Prop. - \forall H:(\forall G1: Set. \forall G2:Prop. \forall G3 : Type. 1 = 0). - 1 = 1 \land 1 = 0 \land 8 = 8. - intros. split. split. - focus 13. - apply (H ? ?); [exact nat | exact (0=0) | exact Type]. - unfocus. - reflexivity. - reflexivity. -qed. - -theorem th8 : - \forall P:Prop. - \forall H:(\forall G1: Set. \forall G2:Prop. \forall G3 : Type. 1 = 0). - 1 = 1 \land 1 = 0 \land 9 = 9. - intros. split. split. - focus 13. - apply (H ? ? ?); [exact nat | exact (0=0) | exact Type]. - unfocus. - reflexivity. - reflexivity. -qed. - -(* ELIM *) - -theorem th9: - \forall P,Q,R,S : Prop. R \to S \to \forall E:(R \to S \to P \land Q). P \land Q. - intros (P Q R S r s H). - elim (H ? ?); [split; assumption | exact r | exact s]. - qed. - -theorem th10: - \forall P,Q,R,S : Prop. R \to S \to \forall E:(R \to S \to P \land Q). P \land Q. - intros (P Q R S r s H). - elim (H ?); [split; assumption | exact r | exact s]. - qed. - -theorem th11: - \forall P,Q,R,S : Prop. R \to S \to \forall E:(R \to S \to P \land Q). P \land Q. - intros (P Q R S r s H). - elim H; [split; assumption | exact r | exact s]. - qed. diff --git a/helm/matita/tests/mysql_escaping.ma b/helm/matita/tests/mysql_escaping.ma deleted file mode 100644 index bd0eb8d5a..000000000 --- a/helm/matita/tests/mysql_escaping.ma +++ /dev/null @@ -1,17 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/mysql_escaping/". - -theorem a' : Prop \to Prop.intros.assumption.qed. diff --git a/helm/matita/tests/paramodulation.ma b/helm/matita/tests/paramodulation.ma deleted file mode 100644 index d918fb451..000000000 --- a/helm/matita/tests/paramodulation.ma +++ /dev/null @@ -1,32 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/paramodulation". -include "coq.ma". -alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1)". -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". -alias symbol "plus" (instance 0) = "Coq's natural plus". -alias num (instance 0) = "natural number". -alias symbol "times" (instance 0) = "Coq's natural times". - -theorem para1: - \forall n,m,n1,m1:nat. - n=m \to n1 = m1 \to (n + n1) = (m + m1). -intros. auto paramodulation. -qed. - -theorem para2: - \forall n:nat. n + n = 2 * n. -intros. auto paramodulation. -qed. diff --git a/helm/matita/tests/record.ma b/helm/matita/tests/record.ma deleted file mode 100644 index ed9ecfed8..000000000 --- a/helm/matita/tests/record.ma +++ /dev/null @@ -1,39 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/record/". - -record empty : Type \def {}. - -inductive True : Prop \def I: True. - -record pippo : Type \def -{ -a: Set ; -b: a \to Prop; -c: \forall x:a.(b x) \to a \to Type -}. - -record pluto (A, B:Set) : Type \def { -d: A \to B \to Prop; -e: \forall y:A.\forall z:B. (d y z) \to A \to B; -mario: \forall y:A.\forall z:B. \forall h:(d y z). \forall i : B \to Prop. - i (e y z h y) -}. - -record paperino: Prop \def { - paolo : Type; - pippo : paolo \to paolo; - piero : True -}. diff --git a/helm/matita/tests/replace.ma b/helm/matita/tests/replace.ma deleted file mode 100644 index b5d1eb355..000000000 --- a/helm/matita/tests/replace.ma +++ /dev/null @@ -1,39 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/replace/". -include "coq.ma". -alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1)". -alias num (instance 0) = "natural number". -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". -alias symbol "plus" (instance 0) = "Coq's natural plus". -alias symbol "times" (instance 0) = "Coq's natural times". -alias id "mult_n_O" = "cic:/Coq/Init/Peano/mult_n_O.con". -alias id "plus_n_O" = "cic:/Coq/Init/Peano/plus_n_O.con". - -theorem t: \forall x:nat. x * (x + 0) = (0 + x) * (x + x * 0). - intro. - replace in \vdash (? ? (? ? %) (? % %)) with x. - reflexivity. - rewrite < (mult_n_O x). - rewrite < (plus_n_O x). - reflexivity. - reflexivity. - auto. -qed. - -(* This test tests "replace in match t" where t contains some metavariables *) -theorem t2: 2 + (3 * 4) = (5 + 5) + 2 * 2. - replace in match (5+?) with (6 + 4); [reflexivity | reflexivity]. -qed. diff --git a/helm/matita/tests/rewrite.ma b/helm/matita/tests/rewrite.ma deleted file mode 100644 index a69e33d77..000000000 --- a/helm/matita/tests/rewrite.ma +++ /dev/null @@ -1,64 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/rewrite/". -include "coq.ma". - -alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1)". -alias num (instance 0) = "natural number". -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". -alias symbol "plus" (instance 0) = "Coq's natural plus". -alias id "plus_n_O" = "cic:/Coq/Init/Peano/plus_n_O.con". - -theorem a: - \forall a,b:nat. - a = b \to b + a + b + a= (\lambda j.((\lambda w.((\lambda x.x + b + w + j) a)) b)) a. -intros. -rewrite < H in \vdash (? ? ? ((\lambda j.((\lambda w.%) ?)) ?)). - -rewrite < H in \vdash (? ? % ?). - -simplify in \vdash (? ? ? ((\lambda _.((\lambda _.%) ?)) ?)). - -rewrite < H in \vdash (? ? ? (% ?)). -simplify. -reflexivity. -qed. - -theorem t: \forall n. 0=0 \to n = n + 0. - intros. - apply plus_n_O. -qed. - -(* In this test "rewrite < t" should open a new goal 0=0 and put it in *) -(* the goallist so that the THEN tactical closes it using reflexivity. *) -theorem foo: \forall n. n = n + 0. - intros. - rewrite < t; reflexivity. -qed. - -theorem test_rewrite_in_hyp: - \forall n,m. n + 0 = m \to m = n + 0 \to n=m \land m+0=n+0. - intros. - rewrite < plus_n_O in H. - rewrite > plus_n_O in H1. - split; [ exact H | exact H1]. -qed. - -theorem test_rewrite_in_hyp2: - \forall n,m. n + 0 = m \to n + 0 = m \to n=m \land n+0=m. - intros. - rewrite < plus_n_O in H H1 \vdash (? ? %). - split; [ exact H | exact H1]. -qed. diff --git a/helm/matita/tests/second.ma b/helm/matita/tests/second.ma deleted file mode 100644 index 450c67671..000000000 --- a/helm/matita/tests/second.ma +++ /dev/null @@ -1,24 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/second/". -alias id "nat" = "cic:/matita/tests/first/nat.ind#xpointer(1/1)". -alias id "O" = "cic:/matita/tests/first/nat.ind#xpointer(1/1/1)". -alias id "eq" = "cic:/matita/tests/first/eq.ind#xpointer(1/1)". -alias id "refl" = "cic:/matita/tests/first/eq.ind#xpointer(1/1/1)". - -theorem ultrastupid : eq nat O O. -apply refl. -qed. - diff --git a/helm/matita/tests/simpl.ma b/helm/matita/tests/simpl.ma deleted file mode 100644 index 1001d2351..000000000 --- a/helm/matita/tests/simpl.ma +++ /dev/null @@ -1,51 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/simpl/". -include "coq.ma". - -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". -alias id "plus" = "cic:/Coq/Init/Peano/plus.con". -alias id "S" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/2)". -alias id "O" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/1)". -alias id "not" = "cic:/Coq/Init/Logic/not.con". -alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1)". -alias id "plus_comm" = "cic:/Coq/Arith/Plus/plus_comm.con". - -theorem a : - \forall A:Set. - \forall x,y : A. - not (x = y) \to not(y = x). -intros. -unfold not. (* simplify. *) -intro. apply H. -symmetry. -exact H1. -qed. - -theorem t: let f \def \lambda x,y. x y in f (\lambda x.S x) O = S O. - intros. simplify. change in \vdash (? ? (? %) ?) with O. - reflexivity. qed. - - -theorem X: \forall x:nat. let myplus \def plus x in myplus (S O) = S x. - intros. simplify. change in \vdash (? ? (% ?) ?) with (plus x). - -rewrite > plus_comm. reflexivity. qed. - -theorem R: \forall x:nat. let uno \def x + O in S O + uno = 1 + x. - intros. simplify. - change in \vdash (? ? (? %) ?) with (x + O). - rewrite > plus_comm. reflexivity. qed. - diff --git a/helm/matita/tests/test2.ma b/helm/matita/tests/test2.ma deleted file mode 100644 index 0ffdb8268..000000000 --- a/helm/matita/tests/test2.ma +++ /dev/null @@ -1,26 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/test2/". -include "coq.ma". - -alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1)". -alias symbol "and" (instance 0) = "Coq's logical and". -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". -theorem a:\forall x:nat.x=x\land x=x. -intro. -split. -reflexivity. -reflexivity. -qed. diff --git a/helm/matita/tests/test3.ma b/helm/matita/tests/test3.ma deleted file mode 100644 index 98dc65c95..000000000 --- a/helm/matita/tests/test3.ma +++ /dev/null @@ -1,31 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/test3/". -include "coq.ma". - -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". -theorem a:\forall x.x=x. -alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1)". -[ exact nat. -| intro. reflexivity. -] -qed. -alias num (instance 0) = "natural number". -alias symbol "times" (instance 0) = "Coq's natural times". - -theorem b:\forall p:nat. p * 0=0. -intro. -auto. -qed. diff --git a/helm/matita/tests/test4.ma b/helm/matita/tests/test4.ma deleted file mode 100644 index d680378eb..000000000 --- a/helm/matita/tests/test4.ma +++ /dev/null @@ -1,38 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/test4/". -include "coq.ma". - - -(* commento che va nell'ast, ma non viene contato - come step perche' non e' un executable -*) - -alias num (instance 0) = "natural number". -alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". -theorem a:0=0. - -(* nota *) -(** - - -apply Prop. -*) -apply cic:/Coq/Init/Logic/eq.ind#xpointer(1/1/1). - -(* commenti che non devono essere colorati perche' - non c'e' nulla di eseguibile dopo di loro -*) -qed. diff --git a/helm/matita/tests/third.ma b/helm/matita/tests/third.ma deleted file mode 100644 index 124cdc121..000000000 --- a/helm/matita/tests/third.ma +++ /dev/null @@ -1,24 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/tests/third/". -alias id "nat" = "cic:/matita/tests/first/nat.ind#xpointer(1/1)". -alias id "O" = "cic:/matita/tests/first/nat.ind#xpointer(1/1/1)". -alias id "eq" = "cic:/matita/tests/first/eq.ind#xpointer(1/1)". -alias id "ultrastupid" = "cic:/matita/tests/second/ultrastupid.con". - -theorem iperstupid : eq nat O O. -exact ultrastupid. -qed. - diff --git a/helm/matita/tests/unfold.ma b/helm/matita/tests/unfold.ma deleted file mode 100644 index d17e5a2da..000000000 --- a/helm/matita/tests/unfold.ma +++ /dev/null @@ -1,41 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -set "baseuri" "cic:/matita/unfold". - -include "coq.ma". - -alias symbol "plus" (instance 0) = "Coq's natural plus". -definition myplus \def \lambda x,y. x+y. - -alias id "S" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/2)". -lemma lem: \forall n. S (n + n) = (S n) + n. - intro; reflexivity. -qed. - -theorem trivial: \forall n. S (myplus n n) = myplus (S n) n. - unfold myplus in \vdash (\forall _.(? ? ? %)). - intro. - unfold myplus. - rewrite > lem. - reflexivity. -qed. - -(* This test needs to parse "uno" in the context of the hypothesis H, - not in the context of the goal. *) -alias id "O" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/1)". -theorem t: let uno \def S O in uno + uno = S uno \to uno=uno. - intros. unfold uno in H. - reflexivity. -qed. 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 1485dfdbf..000000000 --- a/helm/metadata/Makefile +++ /dev/null @@ -1,40 +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) - cat sql/drop_mowgli_tables.mysql.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 228e787b8..000000000 --- a/helm/metadata/sql/create_mowgli_tables.mysql.sql +++ /dev/null @@ -1,61 +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 unique not null, - no smallint(6) not null -); -CREATE TABLE no_concl_hyp ( - source varchar(255) binary unique not null, - no smallint(6) not null -); -CREATE TABLE no_hyp ( - source varchar(255) binary unique not null, - no smallint(6) not null -); -CREATE TABLE hits ( - source varchar(255) binary not null, - no integer not null -); -CREATE TABLE count ( - source varchar(255) binary unique not null, - conclusion smallint(6) not null, - hypothesis smallint(6) not null, - statement smallint(6) 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); -CREATE INDEX no_hyp_no ON no_hyp (no); -CREATE INDEX no_hyp_source ON no_hyp (source); -CREATE INDEX owners_owner ON owners (owner); -CREATE INDEX owners_source ON owners (source); -CREATE INDEX hits_source ON hits (source); -CREATE INDEX hits_no ON hits (source); - 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.mysql.sql b/helm/metadata/sql/drop_mowgli_tables.mysql.sql deleted file mode 100644 index 2cc87e5fd..000000000 --- a/helm/metadata/sql/drop_mowgli_tables.mysql.sql +++ /dev/null @@ -1,9 +0,0 @@ -DROP TABLE refObj; -DROP TABLE refSort; -DROP TABLE refRel; -DROP TABLE objectName; -DROP TABLE no_inconcl_aux; -DROP TABLE no_concl_hyp; -DROP TABLE no_hyp; -DROP TABLE owners; -DROP TABLE count; 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_all_derived.sql b/helm/metadata/sql/fill_all_derived.sql deleted file mode 100644 index 708015b9a..000000000 --- a/helm/metadata/sql/fill_all_derived.sql +++ /dev/null @@ -1,64 +0,0 @@ -CREATE TABLE no_inconcl_aux_tmp ( - source varchar(255) binary unique not null, - no smallint(6) not null -); -CREATE TABLE no_concl_hyp_tmp ( - source varchar(255) binary unique not null, - no smallint(6) not null -); -CREATE TABLE no_hyp_tmp ( - source varchar(255) binary unique not null, - no smallint(6) not null -); - -INSERT INTO no_inconcl_aux_tmp -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; - -INSERT IGNORE INTO no_inconcl_aux_tmp -SELECT source, 0 -FROM refObj -GROUP BY source; - -INSERT INTO no_concl_hyp_tmp -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; - -INSERT IGNORE INTO no_concl_hyp_tmp -SELECT source, 0 -FROM refObj -GROUP BY source; - -INSERT INTO no_hyp_tmp -SELECT source, COUNT(DISTINCT h_occurrence) -FROM refObj -WHERE (h_position="http://www.cs.unibo.it/helm/schemas/schema-helm#MainHypothesis" - OR h_position="http://www.cs.unibo.it/helm/schemas/schema-helm#InHypothesis") -GROUP BY source; - -INSERT IGNORE INTO no_hyp_tmp -SELECT source, 0 -FROM refObj -GROUP BY source; - -INSERT INTO count -SELECT no_hyp_tmp.source, - no_inconcl_aux_tmp.no, - no_hyp_tmp.no, - no_concl_hyp_tmp.no -FROM no_hyp_tmp, no_concl_hyp_tmp, no_inconcl_aux_tmp -WHERE no_hyp_tmp.source = no_concl_hyp_tmp.source AND - no_hyp_tmp.source = no_inconcl_aux_tmp.source; - -DROP TABLE no_hyp_tmp; -DROP TABLE no_inconcl_aux_tmp; -DROP TABLE no_concl_hyp_tmp; - - - diff --git a/helm/metadata/sql/fill_inconcl_aux.sql b/helm/metadata/sql/fill_inconcl_aux.sql deleted file mode 100644 index 50146e0fd..000000000 --- a/helm/metadata/sql/fill_inconcl_aux.sql +++ /dev/null @@ -1,10 +0,0 @@ - --- table mapping sources to number of distinct constants occurring in conclusion -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 3c82358a2..000000000 --- a/helm/metadata/sql/fill_no_concl_hyp.sql +++ /dev/null @@ -1,9 +0,0 @@ - --- table mapping sources to number of distinct constants occurring everywhere --- except body -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/metadata/sql/fill_no_hyp.sql b/helm/metadata/sql/fill_no_hyp.sql deleted file mode 100644 index b920e1ca8..000000000 --- a/helm/metadata/sql/fill_no_hyp.sql +++ /dev/null @@ -1,15 +0,0 @@ - --- table mapping sources to number of distinct constants occurring in hypothesis -INSERT INTO no_hyp -SELECT source, COUNT(DISTINCT h_occurrence) -FROM refObj -WHERE (h_position="http://www.cs.unibo.it/helm/schemas/schema-helm#MainHypothesis" - OR h_position="http://www.cs.unibo.it/helm/schemas/schema-helm#InHypothesis") -GROUP BY source; - -INSERT IGNORE INTO no_hyp -SELECT source, 0 -FROM refObj -WHERE NOT (h_position="http://www.cs.unibo.it/helm/schemas/schema-helm#MainHypothesis" - OR h_position="http://www.cs.unibo.it/helm/schemas/schema-helm#InHypothesis") -GROUP BY source; diff --git a/helm/metadata/sql/rating.sql b/helm/metadata/sql/rating.sql deleted file mode 100644 index b34a9fd08..000000000 --- a/helm/metadata/sql/rating.sql +++ /dev/null @@ -1,6 +0,0 @@ - -INSERT INTO hits -SELECT h_occurrence, COUNT(source) -FROM refObj -GROUP BY h_occurrence; - 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 fcd28bac05aa071ca7ec63e9433e2671316357c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 623 zcmZ?wbh9u|lwy!#_{zZW{m=i8pT58S@&DPo|M%|QyLRo~rH8*yp1pnK(wE)G?rc2q zbK}mN%lABAdhGdvb=T%DKQL$S^Eq3ePXVH}&-+*0?4Na@XYKQzrO(@EU29qTyk*Yw z=BbD3y7yGid0su`dG+L5)jiLPLFis_%eA7O%SA2s@*DSNw_M9^IhS31E*XT5C0Fl_ zFWwthvN5jsSU|=OuY|Q;QPa%*=X0r4G7thfAO#@5FtGhQ(6)h5Q%qT~v&d+ph5iK} zw`NJH{*$SjIrn;)COrJQVv51+Y3t0J7Yg+XayZYM6EI`SJMlY`%Ipk{O^l2TA`-#5 z60-8)9zq;VlUNy;B;>ngrQ~ZPym%)yaW*ij$j@0Z&r5J&qlBIe2cw3Hgq*ybM`W7V zS_W1=14C8`Z6!H5rT!?fR=%~&oNUqt8cIqEyVLhFnCNlt6E!?`J=MqWj>#)MzSbsw zLw%K}X~M6*|9H*)PSjXe{ra}2(mUQUFckiGnPQRNs9-0?C&KXR`}-rEx&d}uA`U7X zvK1FmGH_t%Xtoy-(=}N*;bC*9D2G5rvcu#h3c~+_<~V$O;xu)3RIAt(6M<8$J>psc zOD-ICb5>#C5xK#ms_e!ssyWTglZE2|L-|6cGauSZk6tqquJKg5aQ;=-_Ml|}I|UjK zvGG+{&L|LcK6XR$2xI^N diff --git a/helm/mowgli/home/images/PreviousArrow.gif b/helm/mowgli/home/images/PreviousArrow.gif deleted file mode 100644 index 489817a82356a902ea7544fd278479e42e04f748..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 632 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

iGdIqg1Q=SLR2U-z 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

It9?CB59z%!pY}OO)WjKn(JsiAi7(VN#PMjN@ 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 M07*qoM6N<$g4w(_O8@`> diff --git a/helm/mowgli/home/images/istbutton.gif b/helm/mowgli/home/images/istbutton.gif deleted file mode 100644 index f8e8097d0818aa3575ed3486dea58510e0e76667..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47319 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�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 BIhbXoWRq9L|DFk1@pJcC z#Nws|?X2+kHybQMmf5~uYWf`?_+Q5mYH-hVv+ZeyqEW9|{^U2XOC24FfWDcf|GqH` zuA*ejXyx_|IU~peVU8oz;2s^er)f$fX>N04%e+kE2Vy!R>Axc`UbbI|#U6-r6CoyB zieBGa#t~{z#-@QYC}PH(8H==qif*{er?V$6H_f=IA0xmu?ya)0dOQ=B^^~3f|;Eb?i#l0Ku@~LPO zdD4t3y#2m_!nn8=$$dsL_TIDS#C41wv*4Wl9Z;P^T{C`06%90|P=hj>%y4>q5#6j@ zF)}M;_SBQD89O7A=Ga0F?r9RXx4|a5nI^gp4+P;n`u5N~VpP%`cb^H(!uB>qH>1;S zp-iBmr8#MSae1M-Yd>GXYs{=`6v+($ADbf!3@l(ljDx{0{dD$l?pHGfGB=Rw(wt5O zs%aF-)eOz3JhW3`T19d-!!V+;=5)|&Q8drd(tHCtY)|tXZP31n)eBA9PpOqXEwnT> m8YR&Ntwy6HTACV-lKg+_3lR#(u2Xyf0000 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

ny_7cPT5uA zR-~1s>*$?xW+Q9O;0*OK#)e*iO3_DAcxE(ie}D&Kn4W5H9SfNd?!$nRDOc&`19zQ- zS+Z2Fna(QKG-*w=&eO4pD2^ZM;j}5NxYKhQI}3JWvQ}jes8sSlIqKqcb#QZrqCk0* zV{vx(cBiv-d)0Ru5DQY|Wo;Q! zGZ;`}{XV=AdsRqCl)+L9%OEXP=e~`S(hKh6;c-E_K-%4rs|*7z!`sp=cfNj6uh5YfkYM72rn#XypyQ}z#~9@Atk z-BN4)<&4E}9a@H3GbXB*d1kir?oVHl!?lm1*1bi|Q?}Z!h7t)5n}85|P57Jgmv@`B z&y-WrJ-B>0ftyz~A%x$2lTfrU(Ob18X8@n?+%W?P1Q?pTY2T`1d-vGNV_7^>(i=0* zH%@C0K-*ZfIQ)Nh@6;E+JwgI&t;NJ}lcD=ku*p1UPl zC7em$0aUQ(Q!Fh>5YEN#4A0|5hLYNtz

o)5fb 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⋘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%0DMCIsq`1FbFsMDYx(MPK1#ztSE-+ic_ty65As< zcrm>a@K?V>!1FQE_qPT-!YXEX4nx9Q}58$hB*ow8G< z=F$*3=R=||_o|1l*pv|88Ldyzgu@94|NWxv0ZzzF=BvKa##9Njd85;##-zO zF{v(G5@28X$)pbrb{V@HOLAHNXs;!H^}|IC#BcE3`slDV6Ka-cyXKvcjk`H%5_K~< z;kJtR*Q(8dNRWQhJKefoa3VV@5(aGip1u)<(5<*QL*GRV^q8T$_s%|wOXuQ@ii2Q2 z*SI^FaC+6df5heLWa?EhHqlmn-jZu=Tde!E$N&m22nR%>48+r*{0o4{Y4nZBIyz-s zXAEFuaIlmN0b&FDH-`A4bRLG_D(D0&v_d?&j88VBB*F@!E`Hh(i?eHQ*;+Q^Cp8)5 zZ4&1FL_DU3@@$T6u4L3r77C@e{7BW-H{Xrnia@(^j-ywOq~279tHvYT{FYmbaoYl(Z61+j;N7j`fC;i$&% zPZl{@M{!ZsCAXH$gu$lzoa{fbaOJ#HUkfcD~+@BEKzf|D~yk46OJ-M zP$Nq<%m5C@!K(n&A=9gD@2YW1lwLr$io3|+1G0oV^K1EI~vB$yr(jsQSWaJ?1jWYOO5GtfrKN+E%U zJ;YQ%GQn_GTC!}md6q{{feA2G*?xd>o*L-8HuDwzqU);_1L7=AtQ4P;Vu^JASdk1< z<7w~#nsl*ry8*MRmQpbuBqbX=vXR}F)kEAy#vx8Il-V)>p@4=1ezBVM=7)4OIf{;S zv_(K8UaG6=k9+o&d3NPUcH95BcYUwbsh_QNoWK85BRm zKgs=i-fvK%Ehfl_UL?&6!^^({yF>^@p}dW`_zn5!BJrM8@bkYJL;G-b7~5YCf1?=(0?mN;TtS@A$y5xe*l+xPr3X) ztgv_8=BKOe@`_Ud+!xpjnWjYF1{e<8FQ%%NCQ<-fl(GXEOO(9R;Y$j4C8CUb#BUte zR{;fT@w~#%^)pCshdKq-_Hy>?3^9kra>!yIWU@^Q!uKAtHjGw=NaIkRnZ2IXKdFgW zn!e-&x>QbD;yG_P*Bj6V-ps)8-r_7CxdPxlWAn-TBz-a8WQnoh+XO?g1$TbY%JF)_ z-qOG`g%HyLtY;(Gjz}pzzUObU7SC+ZGt<-QeS0G@*Y5NmZ^F^vkZW#oP^g(uOxSgJ zU7+0GW6t^RnbkiIMSWDT1LXDi)njrp6k@+@2f#o&OcWWbGqcm-v&w7S1?~vkaEu^n zpdT?{j+_-x5(JJ|_4iHf(JtMqy&1~?w*Hewf4yklPOCzD2K`@O89`cV9|N4FWgseS zpBP5qtKPP$e~{Yy%GheCcg#$GL1}qjrE`4o`!@G=msM79ujmYHhxAeiyXN`@^LYn* zdUkrSJcR}N;0L^tVEMJ#45+W1Y*RXs)!srHB7e52xj(ZW$m1{Y&qQ#7@ZeWysj~|n z;^wd}Xf8JPC>M7AcEoCqN#BkZyt_Ni{7LO!+-p~!mYi1YSu3>)U)-0tO)+;F9Ule1 z&TH89tT{j9Xd6Js1A4~v&i;(nR3U^32JHhP;_MX-22c`^M1yO$>|O!btlA}LOs%QPZh+xx@msa?{_0N_VaWXtg2}=u?xN2l^ z0Z;7NWu5Z@s$WW!7B;E!EMLvA%+QRHk%)#8M@DlyamF-~P(qEBJdi~s-e~p?rvz4N zs=2Qzx4L`?OmS{P21oOSd?Mar!S4aNAoVlFtbn%+;TqKGDoS%Gw_h3mc$= z&kHJf`K1nexJ*z*a!5iddeuTYQFkgL5miUo+xHU|1>r$wi^;Z*s;6t)|295+w4j7? zY^cKs@06mZ$EfUE1wDEnB}yHgQU<(`QI9afXIe=%cNXK5z7C`m5%Ev~ zqivZf0{zVr=bAtzCgmiF7u2CX|8uomrA^sJ5x=Vij--1s1pi0%x3t4c>R+#?t=f)N z4IPbBr;l1x{(l)?PffYezHqZx7BwDhdKY9ex3Au$UOorstDmlq+67Y~Hf_?kY^%5B z59|BGVN>^i#=Lj92^e3SLRxJ;)O!l-#K7mAgjMQU)?^>`!te1IZOe<^!c+q74`I2I z3NT3+qM$^8+|kA5<83vQZ^qbW0JW&ejdm{Q*!5kqCe;387r%MCu9=D$AJ0*+zQ~+0t!%dsT}8oSeA+=rZgF>l z0_F0CY3n0hB`SN8kk22_&oy#~0+X^w0zIx!{1*-~P(^Qodtt{~c-MSc$CO{Gt4g}B ziYL4q(p2wcJ%h!z_B^hH4VMt8P@M=mVuKCZ#C&)y{cnlBbMd`w=eV3Lvj*(XQ+wjV z-*D#}u`W=eyw)Gc=}hDM zGCFj|f9o=%=qPrK?}`11;w>jv(e!4*u`lt4a(^XBfwCI+mKQ_$4VjG#^I;x$J@ zoCZxx1JiB6=akM7OmIY>rc&rxrnu%50 z-4jIK;WlC{2j`un(NgkOyQDJDU~cbga|+v|y`O|ds&!lbn!v3Tg-+=IW&c>~HE7D=p7zjJ?t zS>_6E*?uGv2`KL0ln#4kR_Jmq{Pwy6gAPB}4!p-cM-6d1geA@>W}^X%5wI;nYl83< z_e<38&jMBNa|VU<=JW(L+`o&>n9Ub@_=K^kzom3(9&XW;7&TtWrruRk_B+Mwe;WK5 zRmXnG@@i=KxejALH$aMQM!LN5ZFGb@uKb9oH0R@OqC&hSMYcrA@4rphabxqW%_)Ol zV27#N+t}$0Xrrba+qN0^i<+0wJ6&VJKS|AoMyi_WYijh`isSOPLz2(xV1`$$vlaa& zioZtPj4_S9#3UwQzMi}<+u1k6XO(TK`+=``u+-_BUXzxq;_!R5TejCI_#`s&IKQsB zG#|6M>yLXA{s1(j*Y|!SrP>n1c4>to*vK)_M84 zXZe$U8UbIBNr=p>H;1O2sRPo{g!N;^MuvE4{|8lGGR-l)Xm3F0PUWUTt60-;M%7uicH0xhf^f z!-WEWB!;e4*5t>p`bHk@(PSFAt0vsN6F#UuRrda^gq=JGjP4S62dsYKO^=UO|0M6( zo=st%`xAjOV)|!atj=UhUdLMAr3bhIwQ^+~0o4D)ohQ?(g6)Gqtpo2LY+DEKs_m*g zLDwYRZ#}FFKR>LttqrOx5c~~}IU_poiSRX*kV#N3+VqD9jf@eZ0Tpz6I#@o+d)+q1 zKDj@RS@wGg(MYT+Y(EpOBljMj-l9N_W|>WXf92e(`oUUTH(vn_r~SP|7N_pI z$X&E>MmuID$Dc2#BrMh<{9DFz_g67lu>k)vIYu|9kGR#Dbuzn zSN@;&Pmel!9Bo;xGrr9ZwhBSBsKwe!!^$24Cr+=Dk~t#oJu+kcBaM_lnX>IMp}t=k za7gL7>GhQJpRm|#=7R~M|IrEgThq6e%w!@$r}H_ZlgVyuzj21T;7FufVI+w#Tg;{0 z$h1_K?UNzZh)Hzn*rQn}b?^@6Dw*W3(i@hpC$f(AkmV~O;n-^=QqKP3Uv(Gsc zNJUwA(H8e{NIxOpbRcHU5Js!faf29zQbaqF`QLX5`)G3bNFKv;5vsjhJT79pMx`xi z$sUxYtuupVxJpRUS$I!Wgs@=jNqoni#&746W(SeVueykZ3DWcm#tF7YJo=lTcNk1h zYW10N1Kw~LmxNYDULc&E zvRcbZaf~=vj&ekB1-yo{bqdB8MK7p*#lu1!$D{zmLuk1MpV&twS4$5hzKK47o9SId z&A#*waI6L@93Bui zFO*som{YpD72zf?o4Lf#S!%Lb+FumUx6P>wxNL25+(Js=m2e7wPwnbSY-pHojPCU_ zCSq9l;V&`Sq)|>e16nv*fLUE~J2)w$nQ_iN>t`OGVHA&!XzQ+w|pl|Ptqi7L-`!Jd=gz>r>NdZ3`5pr-wATt0Iqpq*g83MWvJrp9w!>{cN;ka+cIQ#jdO6nG747n!b|tA(o1k#p*QX?D1p~ zb`O$jG%lXiQeW= z$LuIY<8Yya@&e}c>tXjqLgGs6XJUVsQYqqU@w}NyrU-+o;(jx?nMvojw!>N!fB^vhVl5lxZEbdBl^`frn$3E zn!~!z&^(BH2ds}SXnjyFq~9fdt<7pErR}ZdBn1Z2pbvedTVxl9pK-4+e&RZ`U88SR=w+e zyVo?XVb1=_4u>^SZVj) zBYGZD*WidLEc7SnR$+@HjYUTIeAI=-zQxW@-#&4}^=}rHn}#9=V$UWQGBnq%P!>5k z=vltxIjUehUTOdG`sIS}rY7FI^wXVynaB?;&8{*jlF#?|rPp!AJQNDr^!n@VGJ))S z2Uv653?wn!HGf!SC>Nvk$A!+>_MhlCw#XL+S_9)V?qv+Wa$J;y7LwTijP}F%9HkXn z%IPbLT?lu1PSHg&lazcbvJ(@dil@=aGtYo4HNoZ@Pw0+k=T+=a+H-mb4I&=gm-#g~ zR<4g!?=MBga8B(P3I^9HAq%y9oK?oHP;+k%TJl%q0++O2*{N>}h^C6cC8b3n> zS0-Ps!}?!xGKbPe>2iNyOQ&7||Mg%wu($`)6=Xziim z5#f8Zj%ebdG?SJ-TPzI~Jg2|$y>N3S-F_r#G~xJaa#L94l`XClbz6k}n3yGu>3v!< zmJ!^)PE5*RbQ;0m@_lB_-b00cN$jB9XUiN-kj`3bYvv4*=vLN&GRy;HZhRKwsIK~s zT^WWfl1PGmP}$UfZ3XM6@0=6vM}mI(hu=z-9;rFu|2zYBHCpkaie;pzm9TDzpVM0+ zf|l!g%-&4*18t=PL35v~(*DFz%5V+LyS;7p_9`5Qh^@|)83v7w9&WbQ?8Xe2H7NUS z0Otj+LV&|=p$W)TbWU^3{uEs1U$zJ02$~l2OZyq-oUFbV0)|ADoEN|TQOx7q55xnV z-_dUw2%>)fx-l=E;O!*#V^*8pm^s$m#a0dqDl!R;XY~UAcr1#t&nl?i?yAFL#~TE$ z`_A(--ix1ag@;kYa_%(y@&tFMT5IMmvBLLp`+v{-h%$O&G7SX%{7pZh1E23C_UA;1 zcHHQtvqz4^{Ny%tmMg+M6>O%v4QW@BJwQ9QxOzHSvuhU$aJQ z6b?CC;z5)(9m6{#uaea^3pX%}-ZF%pO#{r05wb1eRIcN$&sN{q6H(G>^kv-dJ_Kmj zi7<|upYGyS7qhJ5ESBo=*GXgywR8F8jW@o4Hby*rZ$|`A+^O`Ker(r)4|^q z-TN97Dwd@&$SmYC{_7W0wYwMZAN^kQg7BomJ_OoUCs}0UqGKz+A>1Uo$>a&g-;z12#}H>zyx z;8gc0d(PWHfkpN5Cy|qh;GhCBOR$o1EnQPuccO%+`UeJ`f>AsbRbY|ukPTvJiMe7> zNkL<~qm$2U>8e0|i!%Q>IZEk(YWGfGH;#HrS%yR=IrDk0(ZOjauflhWmfF^`5x9rH z;xB&L0|8Q0aigl~j)K;%%6%~mSU&j6?8$3Nq_ZG4*7v>Ni&qqb;&GC1PSHq$-mc$O ze~p6;z*W#)A8+MSZhHTp7eF=%I(?k@%+R2u?G4{2a{Y;a6Q;+Yy@%U5F!PAttX?MU zaPA29!bf_=$9mKIu0bT!6IO97crM*VwbALO5hxW?Y$xFGnxEJhK+2d{pLugfeL3Wm_jk2k;8yv4S};kXSw`ONdn8< z(LsFy#JrEkm-o^s$Ls2&m@)OQ@6KYF%8Lp=iFohi4^xFu+}=u7&Ys292`CBS$DREq z3K+8Cr@Hyqb={4EmyC`lOlBAl56A^8+B|Vty2&00VpB{usC8B>RJDS&bICbEnB$Zf zAX3&@1uJ|a&$ad5m`L3??#1!*Q7iK24HAwwFQG$Mo`JXF7=77e zR0hD2=Y4cE9Sb~)f^@dFZYok1rK0@bieeN@pEA^_iko6sp($67Za)G{OC83N_M`72 zBerJ7E^YEY$${i^#vN+L-8uxuGi0IiGgY=+6*=9D{%+nmiN(U;wCjUcE!|3_(D<>N zETzs!L6DQWKX2t=>L$*Y-P_e~Ke!nd-?7H<254OENK@-@x?V15RZO8t=h4pN7(-7Y z2$rHCb9%?mydCLye{sEa%)PwgGQYfLjhIRlHMh%eoXt@(difwimcE@}0y-qbFGR^skhm0-@`%N0{jh=ET zsgE}gr3-0S9~uS~SZSur=gq##la`Wy*Zdf#HLe-z<#7A9etCOvgx&5^JmrPMLn;qo zV>9Xwi2Ck}oq!i+gi^yVBT!Mt*%~fG$Q7MFDB(=R*Ya7UXNO*rHKtb3|@7k_*!_r$S!8g_!%?r1YEI(6kgqPWsI^VE#d?1;Af zc}9k`8@B)*jGIs4(Bi6Uf%fjXek|mw+OcC`C@mWRugYQRT9)(|i%LPflx15@7yv1W zppO+xQax9L^zxS>VdUbzV4x@UkcP8npAcgChNVz!LUT}?#_=;AayL~&3Dgqj2(iK{ zew8IO(JTc~4KL4{1z9}81vHG2?*n>Mf29^X2-Ha;aW^-=PJX-jBvsraQ+EWe&ItDk zPbqb9Z1T4E4M|wBvND!YL+1wp;ZMok<#Xf`yxZP_H!A4tnFev?vl8V+r19`VNnLX2 z4n#aJa^hKdUxiBX(fn3Fo-3e$m=x&7a;5`=e>A!6gXG0WA@-FdKB0mHSviLQy>V@2 zJUvrGdi=9Lo9gwd`@*4)(1QAoN*r&N0~NY4gycK2 z7Uo}Vc+4hJGpL|p7Bfyt(dWe^WH^Q-2 zp}Hv12G1iaQ6H)Q4zyeA`SgU$SLo{l(+;Jzs`{+k-m@e_INv1uz2@4ByC_~KcGx0z zBWMBFjaNG1kpBPhhT?qZp-3Qx`1f3_KNuTXgh3pJfynd z-8Z5A*T@iJLZSMRP2|!Sy-OHINc5I-SeYVDax}Ydhx@#r20JIjPb<)$SS(JFSn{F# zUb!OFF}R^ z0Rz+ssEGz(*eH|I<9E?1&F!n+{DAZ-k!)0Ky#8a59z*PfogsR}$avvta|Di#izEvr zfRZ?k@x5Rp4;f?sh9$|51bo+>!K_ErbVm(<2-I4w(*;FC6;W~qtb<5f!bPm~jRDp2 zhqjgWz}E`-rJ%ctX}d}}JYnq#rVyucUFE?5Ib5}?Jqn9P`A&nqzE_3gyRQ|=d#aji zF_>}-A7PE1e}1QRgVhR-_kpowa8Qs#nhF8;IOYa-X`WmfxuViH6{Q4}#lG;R$e=CT zL?J4mQG78^N3jJneo=!olZyG0=9F|YUp{eTv0#SS~=&=5h)DkLCI*3MpZf z8OWednbop^X1eq(4xJD}s0Fh@48n`BL9)1=H%iH(#q(a00nAFoG6rjLLvZR zDx;P_XOF<|5th0oeOw3)ZW%(02%X(*W5g&1^|L~GT zoU_39RCRB$&A~f_P6(i@hp2yA(a~n?(_m;Q_(;+*+7XTK6Wx`xV2SB%k-G9_kz3_o znUh=feQ1ZTZ3$-Tu}fuB@iH8+=}0Lq(P~yB1lYc2hp`J#mdrFhHPXXGHJV8FLB~j&2&2=**TWT z)w4fG?AdZ9;NRd^BcBXWBJW8x(K1`UjaxfNk1HM40~66uylnvorceq&$(98JZ|Kqa_v=$K>Z z`)P_4;V%5n{tb^){sIi-ndoYIJ+gcFEDf(U#^MPd8*`Z$Y}Ihw>%~wD9e!Ei zc@W_fN#s;$`Q93jHzOTFGRtaxw8j-1__Hgc8cl`L2$T6~m9=*N4N56Du23LR;k&`m zVy%5DAQ=tEDnV9J9(NoY%%XU8QW zwkc)06MzbMXi$lY)%fkMO3JxPY`n~V7J@{zL;rG3T-JfcD1+@cYD}=$H#;)@(BVs& zZ)d_?R^BhIpTp=-0R-Pl?4z}aOEu~gWQ~Af{6~2!^ooo!`P|X2p`h5r2_cX)kzCT6 zeG)mFzHUUb3u&cx#$WA}xexDk1aU%y*14F#`!>dt)}Ft{Zkh^1(}qY;5KvGd5{;ej zfEg{AleZ_njbil5=5*W0E?9-AorzQjOKJ0DBv6?I;^1qPO~ia;M9gmMQV*Pp)&K*LN)%~GIED*B9 zL7suxy=q;V^4^)gY~LyaQMoUacOy!bT*eh;R! z>Lei|FYxqe?oLb;OFQIjkyUkhoUlrh^tFn)Qsh|&z2x)MO**Ho5(SbaNRFhf=#7d| zyr2kyM3qo>3I{4Rp*7Df4W&`;w}IY8^(#MzT)XzcNfHH@1JBW*bPR|aB*Xc6e(r?y z*maR)$;qmx)dJ1(-|dQn%*e_jLkp%6L9~G2w3;*PC&&a-+>eJVWCeuoq@Scb80N9+ z2vdhxn{%j+;JW#M?>@GOFgK~jE8$p8rUR5}Bg7Kl^2uL3Q?Da0XKySGOeAXp^35UQ zs32&XblNN`okRX?6yk5sEsL{5j*Q=g70GDH2AKXe@BfOy5qPVm*c5@3NRVu*vxf=# zzNYZYtB7fjS=p2hO+5&XF{Yj#q6I)`Yg2KJUT&G9JbKTYC#Z;Li0c*2Z!x2|e7aC> zF--^u=)m@Wy<2kjAGe1n0}U1RuWyY$p#L-)KsBxS(F)TEw)~pre{wD-%HkoCNpp5CmX%Hu)nmIhI>hofm zx*tF7y^)_PU3Y4*M6fR7Fce4Dbrp9Y}?xs$w5`mea_Fb?x$||@ zD6Cx+vR0O1B0>?ESVq(}GK!b)5_Q)z~$8E9M4zt=yiUBi96!b`u6^$4OTM*ON1E z#}rKB6<89)cczJP>4@d(^NcEgc_A`;^uG-%bU24BpCVP?kGFG{*yd&3)r&p(+OS&m=Lh{S8T^8TSRH7#8}!Qv?KmjccdHu? zmdNU@yq)LzFVE*sT{DNya}p^}m=96nr-!f>#o@;3*M^EjLsg_T5rtBEf@Wp^g`0Mol`AX|#(#PRgo3C4YNOFALX+54ul$i^7wRyQ5r{WM z`(~{O3Td45F8=-@k@*WJ z(PhMhy8(kgVz166d}>_oQm{tl-gxXjYK}2l7XP49M_If{0@z_1#E@0m+b?E*u1Ll! zv89_}jdWR#<7HEXrU_wP2cf9y(5UmcCb#O1>qmxaS`yF!*=+x8@K%e_qN3l+qWe=^ z&unAPcH=@c8TE99DOD63v-l@}qKi|gTj8lX6$hCx%weO!TP{0pS^Gb*ve}>U8*s2! z2HTR5bf~p!=4@>glz$5S<|qGAk+*?8-_B-g9i1neW8!A@k1EX=8Zbvaq6P;ARgQ;o z5K^NG0&DDRY5o&bfYKE!AydgWWwZiS-}eSci`kd+MkqU*4KJ})`ff1b zre1}zdDO{2Y^;8yxn*)#C#F6zQJ!*NKTJj@1rd~`Vxx)vbXTpY{*?i3R;lWu;*+JK zWmyW6M?@E@reOb}3;$61Hga_tKJl86dBz_=TbkqfPXpD_YI=*P&CPLdc9(?QAQ zn<&Y@sVrvc;fPFV0w2hQw=miWun&35c7GD^Vv&1Dnnhs%=G&D!r1GB<;(PKIj3Sqr zsjS$$+C6J;`=rV@g6yr5o2x(DHJ6fKPQ%nz&i`&dF)7Xr@%pwcv0A7C<%CPs1HMDk z90WtF937n8W@UAalq%#2!i+Yz4khPZC0<*xohmD}F_PKr!e5T@-!A3M-4D>P<3gjw zVpNnhGAsW;!#l;}zJsFMdxp-aUvLfeYU*2hrpMRFntk?O^zaU?a#k$^2CC0G%CapK zWgQgEeJj7|5PEF}HCSs}A}%RqR;(W7EfjVz4P?DV^}c?frnr^dbeVg4sdAb#Z9KYi zfM%M;8lCG2s(UnErgtlV3EUP2n^b~1Nn+n471H*4T_UAd&5KW$kux!>9yZ_cswoWf za#S>n+#Rwu`+Rq4_jBBXY!5-!1!it%?>HMUOm=pWk-K{4clO)DYMwsip>Dr@h7SmRyPVZ9T!fkEV!~yBjNjRq91$W_{lV^ zSn5lin~TBg1~#x-$#1;YHa6K$Vn_Gisl2g7?K5ARE^qx=_U4cYGgCQnQBj{qw0!WX z*PC${$+`m+wNIm6zJU_>qLoimYh7>G?5n<9YKYP^wtglzUYPqpxXDcfr?#Y_iVj@L zSrg1 z2X~{iGd9b7CDXw{y#5(_PHm?6!9le+k4C`ZGzO_!Eo}PmzMb0eV&x!xwBdXM8|Ayj zC|%L$a1NlYB1l7*|BRCCFbx^o*TG|}h~J&nv}ph7$o=W8)}H=dl1@YsAbg6*^z|+k zP-L|Ad)FKB;Sx(I22FEFeuKL%Tjb9Ah$Z*M-9F)&SsN66Y`Ewa&t~ha7Kx^pjH8|W zeJ%}rihBSzgt&d@E`5>t=PaO-bh95}w`qTCFMcW`_E1QhX&({{FdY4v{j6iA=(QhFp?BYr592)$IwxPM2vtnCQjv|D&5XAreIMBGgtq;;dd}DFtDV6| z{o|V9-iNqRKRhm#oJbyo@A}TZQUwWO7EsGpNM%cQ$pMt5uw1 zt8!(td}U|ATUVulP30upgp{Ym^v*g%53npPxG(yyBtlGOv@zK9^}xo+XU}~(!@X&N z2a=(YEnK_wLx&)WeD3t9O2E^U!Rx6D?>I_eb%^GnYo}#g#}nM@@YL>s`(J_%ag?NAn`Zy@WRS2<7*Y*Q$?ihseX$4#cXPDr?O28#itr*NS5k_ zcX+XClJBH=g6A6L{iURQs{_J-jEnYG$0=uMaR@DtY9K)c+3gkqF= zD~B&Szc`<)eOMO!rx*rl9ijQ;`Y9o{khIwECFC>V+cg)d+ew&vU(nqe*tN3nh8Gx^ zBG$Ux?PER|(vv;p6L_BulNCex{`fa#$V~@BOqiF1Pn!FXG&R> zx@ctJ`Bg{wiJ#q;;y5P!mHRJ>sTKV)#nLqOqr{DgSb86C)xDk-F6-L24!s2EvQ*lGUG|M%z zL>ADE@ut(zkqUG>|L`)>aOEd6PSl)W8OM>H`&w%{0W-blKoF_>5OTJ%9M1Q6y7O+6 zp!~yUIRvIK+y&5JhGRjtt;aYlFw-q8`JXv{7vTQ*M5C59{Ep<0lGHMj|*09iN8-y>md=(f5RFa-W~Or5XR zBGKLP&L%Dt@_*>E%~A>+jSmjVTYq*pjQl-BYOyju5owlxzg}&TW%a8vsHBqc>r(f9 z=GstqrwE{XgSq^(1rk+!fq{>~v@0jRviu)PBk6g;KmhvM zok#!yeWbATuGzRfiSD?=IT%&dZBuIHLp0&|QP#^hvC&s)$x_@BT8`dqbY9kwv864a7h8 zts4h>^;-hy#?g{BxmDTzs;0+Q6q1uc0TRVGo!Y_yCV7S_@OtfADI-MyrAW6-Tim%` z(LNqljPkt3RoZ$PvKWEAL1uLPt$;77mwGIbmC&rLJRP3RjA!B920z>IA1a-^t1@wRQs9;*U0TDB>hJ39a9|@ zejQ1|a2}v)Nj4a2BOhzB^P2*ylUps@!%7L`bD6!K+)t;YI{d$BTcZ$stvf!Z*Pzo> z;tjvi>bo%iYA8}yTy}i(P#L*un~_tgs2CY-4jDD%Xt~Xr_DEGQ6*spj9T?8&|L5D` zSq?=5D_%^Mj{|3{R*wt=rg__{=i5kALViunsz$vFqsy_#WYK$Qahf9S*tEp)(RLo+ ze!V8DNUL9I77{@N6L4&bvjR2Cz1v2^G}tV`e$daY?&X;GcK>J zI8)lsjW|?ie^*O6+NI;#tLSD`JcXFv^1m+KWQ!F8YV687Vk_*z8`N$OIm!FOJ&fry z^_`bZ#U9>gDA^rPHYQ#8MBQN~#BIaEt1|_pQ(Syt2+mqeb{}Tlo{M|qh|>Y= zf3tO<*Y|NA;R`qrNABZ05FWLu;FS+tLwSCMI$Is=vpqz|VY|C479ac52ab#>vW1iQ z5oWpp?HzuObXIh?->qibGV*!}ge>1zzy8*Zi5b@E;${k0?q~RT7CF>q${tJ$#03R7 zhdSYk^k#ezOBS|@I)O2um2>*1F8a!V)lSsk_m2fDeeGgRi$T=3i5YVX#s`fakXcCn z8au%$-P&mqq{9XNm5%(_(UvlCb{UXcolUv+Tfjcs6uEtA?e2!VR^qI|t+mTa85#@# zm1RVmu@>1yG7x<#`H?4Cw9GA4eeAXtU6=(h4UgmWsSeV!RHO*T8gr) z^)lh`a`iGSn%WS3u`m1dO6-flxA0ID2lU-ER$`PF1Rc$CO8`geJa!pHrjafPSBhtp z5g+WSF^yu7I{mr*IyH~+0az~9d z1Xr+@jRQZLVz$&dxf~(iL~k0W$SoR>)83XBy^~ZC&Q>kgW0Xn2_knk~NQD1CFM#N8 zO6x|{!uGEWo+$mnTVBDxJ5U;FBU$NJGW27=*8oUD-w4+Ko&xP{m7V9Utp5kEKv2K8 zcqSc9mC;R`ve~8d$M{vswOcJlflRKasB(#Jme^%Ttz}TCC0pBD93F~H!vIM)kQy$@ zNe|n!7yquNVVKra-}f^3ul6*AVsXicvz%r&MV3RNxqu>dm_<1yC92vc&vKshru_H+ z&JBnIOj~C#n{oN-HN?UvF`6949v&6*w4io%k88KyVSDE?jYflJqqZpR)|=R_d)|7u zSmjuri;KXj7lEf<+S^X(-fmHzPS~wU z+#APam4su;{QjGl`SO0k&Zb2s7JDk>-oV&B8D+l1Z-IR{N^Klx6)a zds#356j{t5_OR!D2A)V9!-giIQVsvdlwby7g8@OjdZmA6YRCc)%e3yssqQIbl0HTB>sN`8pQ`QMg39qMc z?S_H1+eN?QvwqFwvtdSSMIBfW7ECGdYxUzej!B}BGM*zx5t5uxEBn~0j-4LU+`LBf z_&$v{+YotBIq;;+trG`d_IQFqb4Z{!# z2P)TJGtjQAGd*~WucjnvMxJF9MfOywbv3{&FGZ@Zqv{sAZV-tAqc}q?Q~XpTC?(cy z6)`Od5jZ+H;Al9-)j)_MPA4U|kA}3@niPeA@5eN(8nP%YZr`T$l;gfwqJ>|V;Fg)4 zqA1Af8G=}r8KyFWfk#8vDKr-&G0D>aN7ji=87)SE0O)jk9l}JM3YK{IL4pD|M1y> z|F%@Qyk>Jc7|=Tj7>{Gzwn;B|%s9&#CeVUK2(xKSmoTidk@zINuQxQI%?MB_|9W$R+Cv2fh3)ccgWA2_toaaof^ z5lvI6#tN^!VdCy>;y-%G-n%va^rr)AMM{AP-z?4{un=NL6gfUT;Ak|%QY!KwWPgxx z`)Gt^J6M}%88Od_qrPx0qKG8PsG7-arclHNVeHd%b2i&EO1H`3(TG_tQ|K&8e&2%q z)&rfQh-_}z{Ne6ZEYZiXY%1G9kS+SNgh$6Gl%fq)zL>IyXMheb8|cmtb*)aGWn@K4 znrt%+LgtfWk|?BqGQy=`YokM|Da?lvNdR#fak*__Hbl(bH6Gl4z$`8BgbJmmb9MJk zcJ{8)Xw<3KYt$R9r^=NVdk?^K1Km@IMQL#xLKF~F4{v&mk{AeOfS$Cdf|N84$RwAV zDN~%Gn-oPk?>iL5Vn{mk=4kmGHyhEihirD+Ty{gqLg){m7=W|Q_{lzG9&BxZq7feZ zgp&%Zj4-!cy6ZCk_IEFF{K==Zt08vR=H1KJm^?Z{kf!LnTVN~Dv~YD1_v(ZzubU7Z zKqY~o@TB)C2Wf}VutjLDGZSn|%|%icRBOwbn?ev61_gytA;fe1*%T$#5vvd@YaymN zMH(U|0c9GKW+g?IK7%q{e&4HA098|vbpug%n4G|7lA{y}(~}{GX-ccpB9~RXVMOXf zUd8ORZJefnx!vN+FTY|O=O~VeQ@1f48&%g)H2s;N@*;VZ)j+6dI+|&q8yaS_h9#|0 zlVcu!^@xp)ZIsL-o{vxygPI(oMmyy5h`Bc-kGHtgZ88s`j5B1bhE=PhovD#ue4dM! zzdT<5POX04$GLd%yO?1uOYN&YEF;b!&kfYl z=hC`Ex-PN#+B%2#9#B;xjh4oB*W%zfBN0-r++0J}BqUoS6QS0g@s4wuuX+KorV%?M8GFFbRZr=l!UK(I;ufXh3(lgir zz-)Ih#1c7C$&w7u^UjH=g{nYF0&F2cesr6^`?k);_$%1i04;>Sxd)w1SZ~2e0{v6+ zN@H+1qa|1bmdcUA8>hlhbkKp1{3_Uq^L|(O{Pdo^kxUcb{CNNmHz9+i`Vn^=W0JwmgU7Pm1-dB z7QSb&Wq~Uh3-W_-iX^8vsm7&^E=QvSih+y1u|sTSRJf$R!elf+)b}t<3q_V*NKUZK zWQw97PZNqPMNE9;EJ2!k_%(-6t4QVnm$x>F<5SXT#w0KJo$WR9k&Y-;)LKpEnZVYS z%N*Q2;$$?(uXHxAzQxA&4$Vem@zdGBJqvQnEOWJ_dyzpuO;gf1B#VN@MXiWQU0isS-iD;TkrDjwLIOQ5? zSzziCad^C#l|y(XU$$UPDnY2Qg$k|Nraw8L8oF4UI}}cVEV&4YMjZN7)i(}_vTmL|Xa+$9 zyoBBBS824`)La+0=3=|Gr%E%=yGgG;;|t-wXC;U{Nzq)3_O{Ex`+W|J5p7k+n|UbB zHT1GVoh77ML^PX`BngHp(9mM`h6jAlnBd%8hbACy!-og(BLhT>hlc^3Y)JNah$6-8 z4^t#X;Nhba%65qsPxNHJdof8PC8}ZN7T{n5s+}9z0?9>NaWM)9G{& zHI-Q~=k(xn$P?bYd4{m@h9dK^PtDP&qKMyfGW2}TpB#S4tbK!l=-}lG$~85I z(|L?_$-&rM=jg)$N7aZ8T_^B-v{oCV6!4QNc^Z+#327XWTh=p~-D+P%R#a43LQ*uQ zg3M?>gG?rjD>O}^H<^K?Vp$dUAKbxE1+ML`(X>snNeHRk%)viNptIL!32l&;DrmQm@PN_9^NHm2^I3!9c zyqSQp)m#9#6dBbpUsx_b&*qYFF-I09$bm;*sT_qh z<|N8;@&D%K8K$bF$a0FJB#9R#{xtFl!VoV`xHmmvyB@H2sZGr?nfnQ8<$<8n+n=I} z1=+YFvNd{7X4G133R$K%o$+M<0pl=6thbntBD64}$QOg^FKbn~V17|loxm$NEvM`` z29wDYr@2F^NQmkY2r^k>Qs&<q+8^LXCR^Xwc|btcEI>pHgUk|Z&Co)EV;8BNFJ z!&7ou!fG{9Y9{M?i(#B&n+`LtU^1EW=%`13l5sdru=n1ev$?}s`z+8kTIZ#i=OM`! zYkvA>{i1bLga$SvB4`cuXEo__@#}GCGWN2``Ru(Gkm>{yajEYKU1#G3%3!WXyIG zA)P_KMiQswc}AAT&lPE0Mb|BRVyY}t+AZX?Bvk|?)k4-q8k;o|+hRjoW0dr9Ob0J0 zn0X#Y$2|f+V=_+Bw(DrRg(}Oas`AYHe$l?X*k6|A1-p+d%T$Vv+1lXY{SWB2W9lt~ zG!f`cBP!8_EF>QHNskpwHD%&WC{hKl6wn=OQ9_j!WJN>K^k?=Ttk96<`GRgL&B&63 zR+XVzHttS?v8Lk`EgpL*mTnUUCI89WT^`+kj2Q{^XAzO<((BLAtS)hqqBOTzzjA}M zc9%x8MXS61R3^7N$iLkGtK<%m?-7nqi31-mSQ-OzDN zhi!X}QBq*&HbIcnPZCZJ`(#m$nB|M?lxHt+FIvlD?^Q^ug6OCiw!t(Qv0>T>h0N@9 z#%LT;cWO+$=o~fv+qQ2d&}oW98A6uD1d>8j75MWAxh&av+d-R&%(4Z*ne^kiXEgcPY9eYdwVWNQHFSY zLY3|k`a{fy! zIl4b!sK%6;fP1{fBs$>ZgFdP*lNJTXX@)H8_|t;fWP*T&9Q5gKn(U_`{+B1XrcAS@ zQB@vwN2aW%2pLTCl7?=Ap|M#P8J#|&>6lno2=@53s(ZR%=J&>Qq{kFOhB&u~XNTOsy^moiI8sC!XIwKKqOrvBa6nc% z1jz_vP32%1(HqU^eDAxo*Vn1J4vl&p=R$R3b<|=tlZ)dRe?B9c4Dq}@yoU)WS`a z%^0jXPzUi2+}wfeO9AnD70BwpA*joW1#@_>cYtZQ z2%<-tcpzM3O|folX4HOGrh?aONXP zbHuDd%PK_0Au0==oX$B-BfL_hbMtk&J3G`H4Q$K8t~Z{#wXO!aR}FBBhli@D7LF*E z@WwJf|K%f+JmAvh4q7hI6cs8{FaH?xJ6F-V9k#E%%U}KR zpYgiZ<#;qitP4!~F^zh}B(L*i*kivai8AN~6^>Km$>9(`n-a`Y#IT@N=|pis7>=og zlsGl89GStOkM0>%f{3aJ*r`BA(irte)NO+eMWpG}NP~zc`#rY14Kyc1(KJ#?<}{cS z1{qa9Mpa!3VMY)Z{KK6o3==*Pn%q0ec-YbC`tZTu>{FBxSDWjonShIoCdnAdgk(M> z%eE=Y;u%Har$9dEvvx9yZXu{D!&u>xZ4nA7o9zwqc?|g+O%%}tiFR#`5i^cYX9!A) zsJd9TilS@hK}u1z=awyBv@b6Px&@HsY;V@<2!=)2&v?>1!A=#t3HJJL{`+73~~`^98rZHN||6u3LEQ}2}U7hIztgeR6(LsZ}DIK z#eM#>w?qsp!F0Nq4TGP3{sqIi$-ZAuHM*>AU#8w@V%dxHuncmm{mbQZTnuvIXn^O< zn9O|A=>X&S0hf0?zAN-VQh=0?|F2I;@)@^UJ1{FiDj^d=F2Fm5>;I7LTARuL_OEEX zeHCSUowc{$-QfO~qhS7{58&H%WwkO zOxwZoJZg=CVEZa3qan>?fUTLFRuadfn4dlPoCuLvQaPODWU9pLdpGE;Z&I(-sMqV~ z!>_+F_~e3#f`EWXSrkxJ=vo`336=#}Q85~vk_QTo4r!KfMNj#of7FCu{v7kYcR9KJ z5M`3^%U}G@bUN4h;=zDS63GaN^A`Ij1A5aYL7sECKOq+cLO~)sJi*X)N}*)rLy|^B z`;&!KimH;PIfCGk99KB5gCog^xrh=3_!%4y4=@#p!E{EyStmJof+I`ROr0kOBR1D8 z+NMPs3sgmkX*gI`6IC7%dpdj9RBBF>e^(n}h)w?Zi-`Mr#Xqt-2+|1C7RZW18>$w%iBjXh&H>mK7AsWt6Jak_0T9landeHaBRSaBnte z7Wn+@zxo(aQBdp}NBt5%n=y#%?6?g~$2rfQUM9$`?#ZXhm+GR_s2K*D?P7N77_!A= zeuO19(9{-4;`#df#{(iyCQWnZNs1s;2&%pq{8r@W20C~e_)#P=d65wXAyzyA)#2b^ z%;ohBv}Vp^pfL4)9{%-bR3QXu6R%g1i^qKWL5j0+i9#!x_9CRqS827oSf)wMb+K&c zxfj1xNdK~28Bd1z{+#j5BN-jC9v|>K(gzsr*Wh3X#Trx{=4FL!6&%kKwmvzg3^ZaT zM$_ilMFA%V1Rvg}@$OqZd3;DK%K7YH{7+oHbc@ODV>DC7tVN(-huI-`4P@8m!3X>3 zmX4=c48J(!^-H^0tquqK3ghvNzxe#;h>A+B*CsDNl-)taP5MenFbIF~8& zf~3e$74WK@qR9W&fAecUuUg0~?d^7X;`>YjpD%v$5tXbUm=41sq{WmVj1a|F1B{f_ zLXkkIM2b`P_o{n47NyOib0_J&tXZ2RU$m(peMw2YdXm9P3`g2BK#yoiN1wpvzUkI{F zR8&m7fG{uk?%(-Cu3UeOn(JU&_Ckm31l>=4HZd7_ff zLaMYvJw3&gCEBim>=h`2%rMW;q9aI?8kLXzfGMTQm5cIl_ElS1U$tdE=_pUMR4LBOk>ECH0_z=@QSX@V{mz?w@E4y_$e^e-L_tP48+iXFCJ0cJ6^|bF z@RNifiD++k$VHKXKSxnZ>Y4)lHdt4ckfS-4UJillZq8)ql>k(L&I`#8Z{I}MMOkB zD>-R~iE_?HUYt2k>0IM$SspC%oaAiiHcJz-BqoU?k}x2dP4P#4g5i)t({V%@&Cr=E z5`G+F5_4svhA2&0Z|L~*A$zYk__Lqh;is(a?9y59Vmmgj zV`JI&Gov-j&tGNgiF}X1n=zly$VP|k4t~M!)*et~L)vdQ`G5ZObN=x^|NDISfB%fV zH`cj({}==trCDPj#$12z2Ym9;M<{+mk?07sl*flXtvz=i001BWNkl)fs9mI_2YyC{id8d- zCLUGd6GQ=)tI?|K#C}NK7Wiiy7WW5pB-^CO1r)g;(YEk|goE)2S7m^_Wx*>;$u9vxX?dOF8(7S)Px!@iXs zog|CMy2e+78L|k51(QG^jWQg)gcKx4pe+A(?z688a2KKG%dAdSRZQEV$QNqTqO^@5 zDQIp3cYU4H{(vx!QFN27%X?hDc9ZqZEnM5A-e};|etmnrNbR-y>(x#1G8?3-Kolz| z!EI?gISP3D)@3pt^47aQMr(^a`RQY_p~^pfx64EpX?P=QdV`<-0+X1k5!))qQ>s)nX32+LWQv(m0CD~OT^Re9z#7nDSchPrT$ zj4H~KEKNz{m^@1<%8H^ogKS43p+Co;j`7C>=KTYzWJ)|2s7V4fQN}-+QBy=Zb%Dea z2(uL1$dSW}A8f+E`ee>OcGX5#}m+Q-L_5jD4~=T4a`I1IDX? zZuQ+S0V%4cpjtMi-J|i=Jrlz9n+H;wJmgisjch zjzIKdWGy2&j-jsb$^98uUfU#MpIdMK2ppOFpFSoTDopoeaus&dIUT3LM?Zf;x4Xt* z*r%SaQRNawYli8p(_WW|#f(zTX|-GwBf(xLEJ{v(ZgEk)HUgwnv94{6n#6lu(k?V>0$S(p>fAy5(~xleP=W+wWSy2vYz(Vg|Q z1k$wRwQC!Q+~J+?{T|Ai!2ORNkWW;innbLqsAaz3s{BS)k(CKa9CK;iqtz5p?2K_R z=6cg1x-EbkQRpI~_-gn-NfH)fx>AK=7Gza|W@$vg!{MATuLwk$AQq_Nl5c5@?%Po> zP*e@mkh!weLKX#Pen`F6VSnI}k8&Q}A7XvC;_EIdtJ&IWV0#fS-YP(4S;8!B8?nj& z5qWbP%d%;8yUeCD@;t|M9O`FE;ij%(nI=xH`P6LCYI)}C;KDC@{#6qYpcL@t37(gc z&mtO)G1vE8hW&?JyLBBUoHIEIxc+-L>3=n)b~*xCVtjnSy+;GwYwLXZNsmET@@SG^ zZ(rf{TYGdi)~PSarZpAAFi{j0Rg+O<^*n16SDsl`6eLwcK9k%ii<~@3C{}{WvMg0q zRn(Y#JbLQh~%m;^z`VWz+2%*fl)^4(HD=1~gW^0|$j|h7uKl#@W z_`_zwfANcif3h)Q?~2Q)|B%i1MOr z?&2lq;-6lco@cz&CY3Ui^yuhx(jXjr9{}DSk_YgymbQU6AsZnB~ z8umFT=0)>!=ZY0cNRlR`Nq`be$#MY#k33P>xxB;C;f#Y5i{9}RJ*jwfXmal_9@A;m zSlcwYeKO$5L}eOTbo3gsC?m@%nrVM6wbwZaCGZzBb76=yJ?3|fQ`X&U6rP=g{Ezc#0rr zG}{)BAMLZ%bh#oqj1NZ$sew>+`0UPzJX(;Q8%EBRD<%`aqKHkhT;ulR0gn~*0|d!HfcKnz&faUUwf;juIg7Avt&$%_NKvAE*XSS>JkP~gz>5Qq{oUsM z_xdiMezlKkJIIy=nWTXayiJb|YN?=VIwg`?GwBU`l=YnV2J0+K!HY@6`ijqqZoJjs z{x0Kt=+Qw|qadlC@Pj| zp;R?@ZgffWoHCtp|K=YM?(Nau+TgQ)|10ho5Ct`hlMtsp;O4z;!h>upV zz5PROK6sa2f5>n+pw(*Qc@BPj_$9pvbs%h@N4e(4H6-!vjz8W z{Q>d*KBF5O{Q8%l()V?gQbmSSs<7;{`)sk(NT-A$MPUCDlro6=jv(Cr_BqbZYOAR|f&TmnY;|gk$R%rcDqC zvf5(jB;(QZfR)uQiBQNLL3^u97)1=XMr4(O-11Krh)`|O18xIU_?VMYN(QBY|T&(u#dG!?^8QB?=aw((l6H+Vs1 zo>66KbFxxSIWtN__|z>6&2lcC{(sx-=(^^$Q z=Jq`*!(jhljH*o0jRlFiLW<<&QOd8re8KAdkJ-Na9-B9A&~jb+{a)h;?E5&bkL9>; z_<()WJfC0PZ`jZ;K7+FoVwNT(;gTo}Ns<)5)xvgMX12rpl}@(%h?~O>vOVCFFP^bB zT4Vc0M5nVr2^Id$J)8gIalrrl2U|RPw8uyP`XhF}ctL;rJ#@z+mxtdW`Rf#M!NCVo*n0ctuPYsf^L@r~d^N608lcq77X3F3F^ly0o{w7~M zpA!@cXfCdiAi90Lb{ot7TA2De)bZ8NKT{#m;u-GoQ$9P{rPE(UZ}s^1fAcAJca_#^ zNXmqz5QMXY$udJ9bouhT#b5p% zE1Rpl-iruw$xt>RnYW2W&Hq=>b%P|y=;=Bwzr|!4GM+`KejihH*m?B=XK=6KPJa*M zcVD_xpv-ebQ8QXwp)7J1^JBKxyG+v(({%{rlYl*@ca7MwfEDXm*Ked;EuU)e9AVi7+kkqv} zE&VkMUWf`qf^xbU0KX;JH9g6?s&Gvcg_`bY1=UhHIy~WCkdiGEx|M?OxoD1#?s>T0 z3jg?vLzYg5&z|hCdgom>Z{1^a`v${)kAAODci8miuEM{s_82c_#n(w{UCofLE8Cqt z57%|^TW$O(BwWle^{)koscUMbri}KO&L?cFbueVXsNEu6EO1R5Q`7monMAcT4iCrN zTPCE7glq|09S_?zP>GRcMjC|_{r(%em){gzG}ET`UBY-qmTSzW0dbgfyjwD#CJg#L zZr>R4`O695qB#v$&Cqpp{oBz=eiM-D;`N+?qzu=^@_VGgE(6P^t`*wD5sImBa5!c? zNQsvTahPKmE~f4@@1|j(Tsg2@EnAj(N||RAS&CgOS@j_@RTja7EEgn`ie->;v|I9O z9P|5|1Mc5lXaDsKT^SGr8OLc%=9ZZ2eGJP-*BY<2Z<>pXfv(8X#wIIXP)!bSms2|H zYs6_vcznRxdY4&}foAjaV8%%zS!5-LdY_#ggLh&p!Vg-!a)8heTn@{zHv4$|#Q(xSrFj(@LPCQwjwwEm_P!pM+GUKok{KQPFlR zhJJ@%@5FRWmnem39&&5F=Fa9O2QL;ZW(sR-L;8KmXkBG8J*FxlS*FOeMyYkw(|zQv z5abs~*?zZ&Y84zDjJXq}&HEn+Ja>p@YG{Vu0L8w;kU)`FL}9|?gOcSmVRhK&-Mg!N z`Er7;w#kx=Jg-lEAm1+Q(lxbFqlyE(6_3U71W_9dS4NDZlsK3(=(%J{{noON|J3n4 zWONFep`jTCwwbd!aGB2+c(#c;OBknuqt^@ix39n9tJ&P89zeLD$a6qY<&6q@oyhZ3 zg=JUhLZVr`kKyNb*M_CcbUWmWo@GA6^Tp{mC2~zhcv)6T@VwFzj(sh+B#Z4;%FH|f5@+Y^^~%5 zS=qkL>iQ;wL7(AhM1MGX!z$(Krg$+MyBMsl3MHRy&TtvJf89y`qT{=1JD84#t{;Mw zh^ip0BK+wRzYZ8#7Ft=7gn}0@PI&On28O1y;VX!$Vr9_Wzh$}Tazgn0C7Y|ORIQMM zY)K^qX&g7e7|%QR#JbpDT(;hM!RhU>fCj9-gDJ{pRP-u_w1NDZHkRdLe?r%q8^kFlIGef$-p(JF;!@%lJmVR(H0 zYb&UAg|F#InX|sqBa$IOSezr3-zEzZLedly6>^y& zs+!f|;Qakp>SGo!cj$L}q?Yqt1;9`h1w+>v3@tu+@ru6JqEu_XdVN4xN}?*KG6bfp zA^F-%^V^K(_G=77V{K!EV+%xOQ^hHksk1(^iR+X>tur;`X(0XGkMF^~KvHHBT@Khe zREWNu((ZPcE;GW)r}uG9Yto@swKtlqSAiv$#9{N4B1=fpf>O~b3PDwgbC8Ix>zE?L zDRT5mVA{^PQRZ(eD_#u*jSy`@9?ZzIj8Zcx%K*v@rLHk-8^b*%&q{&REflQ*bewH) z*Yyu;sh}AOhG9}V9^DQ+-8rGIY$|e0%jO?Pk*#Zr_(vN5W0wryBN5E^OJX(L=tP5mR>T|yr?&N@j4B|Al4l|e>_7*QwHuGR&Nw+ z4SgI(ABV4I6ct4&iQ^pq zXhJQ9e6^!6UyO0vT}~DWi_*h>PoVAjoH#=ie~6{%be#g%uIY6={_p)mOgrS3bDyWA zyqadzuEo@}aBpoe@LKpSAJ_FTjZ;~^Q?1PgNqoBbB2R%2r|VFHq^2yYQ~lI}G)YLp zkTP7-Pxq+PfW>jf*2V@^HOF;E%*J!#NM$~qljjMQVpFMe;-W-RO^UJ+l71TofTAi$ zMMX0-3JFr!2+Gs<|0TH@anoLBs)j5IfvSDCzLu0VwWt}c7Hp4NbbW;)FDY`3FfVZ| zmsLk1MMYh|ovdLkLDULqA{ZYi6yXfVRxrIGyT>(0vnjdhax_a2zJY4|GwIO@31K05 zxVOY}1*@xVvLYrHA*E_#x$A`SK7L(Np9!K~85bAOS=NvQOUgVaD|6B~p_q-Siv%Gg zitSMA7N*xGH&om_r}BF^USmUVnvD+2)qr;~5S)>2^E@YsLdsxHoW!JAqrPs(Gt4q3 z%L>X?4|T9kIatNDEkv+H(G3*OySA5e;WrdTrL1b^$(*N?C9xQg$8+K^89e*Vbsy<^m&%!Eo1T>Njo+)POO~d%NrKxSQf%L#da+L> zQXEy_w%%c~*um=+ghwSCPM`nt(=q@3rpc#&F=x9sLQ^a{>wGem* zy8MlOI#n~!H3i+!K{p6hpPQRHo4p$(*;7gczGYyj;Po_YT}9|_Lk3pBG7T)xyS5*7 z@twIiuG<(cl`ahfO$Ea+$n6n3u}U3`$;X1A>XRo6;wa-+e>tJ+dL)%VItr#^VA@VY zfH%x*`*Y_&kUXc#6Y6Bnx*JlX5?3Xe)ERBB;aE4AM_-|+HA7dU-)jtjld3{el86M) zQ&=5&*sg`HDUE}JW&g&F?|co_l0wv^NyhvnAzaL{UBPgrO_W6hRY;13XO4){BN+Oa zc5{gGEQujf9{#wTQ>=xy%DBV&*Et~ZxbBijSlSMh7{B+7zcR=iF*!>D~R-n|9@2dE( zs0yC%QDqhafnl2%mdbF|M5K~MQ4tpzns(-^_jZ3@NXXH6GD+wp64wA`3#3`$4?V&# zA*&NKDwOX`mH2k!cOK|;Rl!jO4~9@%I=)dbYCBk}Ai*FE1*qEj4PQMdU))H}Gpsx% z2?L6{AW0U;@h)z0grm(+o<^ko4Q8rII=n&d^(dTr65UCL>8f^Gn680bU1YjMRQQx7HQSR*3;8c=jd9r z=~blZ**yBK7OC%%#4dSvKzn6CCz&$vEvEAlsp@E^icmF9W(ohWQ}E~i;yzzJ-9gnR zSgkfm8j!>lS^=I>avkb25w3 zYlZFYEk1etia425R2r&c&@pYyQ@8f3B<)LqF3%cTNRiPoYkW&(dJ>utS6v^7g2Dg+2>svz}Jm_;YJs^$~qS8f8YEnuvh zM8DUf*YDD4cN+ao*TFC@l_BvMO(tT|V2De{aoO>u1tQxzm4;*K-m zowlTkRFW*i_e@^DdQGRjLYfMKC?QS~RKui{5Jd^8P%&lGl6ZRtfC7rje3@ZNxO3+g z51+iEs3)kVOPWO_N#lX{){*C$&q}g{Ago#2+M?r^*rv(qjTT=W?z1}$AvF=E@mqP# z*9~0*TNB(`)46N*IN9C9>v_x-jZ!UH=~#qCNnvYmmHB>`@w+cwN(s8f(L$gXIf(_1 zZ=;(w!91jJY&5etGlRGm%KAp5J&UNRNuvc-c0}v8!d9BII-5cHD~_LN^zZ!<`?ZsA@K*S+d?el~w+r~NdJNEcJ0Fk}%%6!8LMw!1+qXb~%2LQl}?$%uT3FCcz0Cn_UhMPB;t|!lc9+jc_|XEZaGEEWfDZ zcpZS}tdDUWc;{@Kmr*Sn({?d!2i5dYJe|B!a7vT;;)LUUkEi2(?9L`?^^CG~as3r6 zr-fx+?}2#Hxw}jvD$%HPbhU&uiy5qpmB#-2prMQ}m+1vcT~yOv@&lhbX>-??`H0 zL+CmxHPj0G`(r-ZyoV;fq%wL~{Sou%IlWeksU^9wwSwpQbbAAaqaoe?3ZCcTIL`U} zd{Z#K1ez%d(ljLuLsUgYuv`O_@7C9nvTi;v zx0nWFMk^yG$0rDxljkL-=^>JUvZ~%n{;RnYP7e`qbP}T*3bsGuXdaTJ8M!J+G##zh zDYNpQPmfMY$jXvMkumZu`s-b?GC?58m69|{F|-m@(XM?tE-tFNt`TKHRprESMl@OC zCHrjs&|~$*4F2H=?tXwCK4X3HlD0bMk$IEDG)2}osq5x?8n8;|d=XqUZ9U6)k|-pe zj|sz&`7$6m+M)Z^FZsRcmsqYvR$D|>Mvx2Q<(MGX$n+NG+BSBpjj8JtS%!6LjCox~ zch=}t)Ed|FNP;oCnxZR1jwT0`(+cxe7kRSaWAA;O_5lOiWTBTVrYYr`i)p!7W>a3g z804;=_%Dg9USmt_ZiET8!Wco zLu}tZ6`*ZS%-4CdT?G8-r#v>pXs*%jbda4EYBD7+3gTsiZRNC_7UN)vuIAit^>}f- zV7#pPum0;B{D;4t@qYU~{O%qbmdV(K^wor9l#peO?&aAgf3bY|HR{s9vTQ8dA+vna zg+Q%xWT}t}joop;;XLEzBqvsNNtvsg001BWNklFQf(p**yvVNSqYm%tk=iLDsLP!ii#wuc@aTZEm(#H<1nVT(j`g@ z_Kv0~nun@Zh@u4L)I_zqUaIdRFs1pqK_jDTOe=*X%UEgI^wv8RRoa|swF)IK7+3|l zu94Be>=u9Z*E0a|Kn}m|wcf#Ly{3giXjD{rjiwsdj)UiU_`Xl8 z)jAJ!zfF(!;#xOO1rqXbiDTImn!(A*l2*q>swz>EQ`ZW4RARdp?Us+Aq^6`2HDw{m zYl&et?i6RM``eB)@LVlwG&RRkyBtprIhqUpBima)! z8dWoyEh6H$U^sjHq*ophkXA z_66UAADyJ#b@*5R-G}_*rw5pp&f#H65aujmlP8B$FboD!ij?BgL%a@gS;Qe}kdmb- z$@GZqt6#GDvqy06Hib;t`FCG2xLFg{3y!}`NS1q~>+g`}P}Mi7g+MdE?r{L;r}6W$ zUYZgwXT(v=A`DpUzvNbV$bb2-Bu9T|F*%exd^88sV=u{&hRev$I62uxnLof=&G9^s zx+*Ra+ArQy^Rv=u80PT&SI^nhm)vpSv*$CaFv4^sKmWAihce`U|DX2g4;*$&$w4ZZ zju&({KSWbN1q{o%mehP*0MFuxAP&frLpI9Cd^~$dYfDnL-yt)7?DZK{v4M2j*rVq} zzkJI3D=Is+%i_d9(QhMB(QNnJ`12~y>>@(5;V(A87{jz!N}K)HDSB!1WOBe-&qLjP zgk>w-uq7|Dj3;5rPu3)#{H4m|^)dhJpTDL%a5yMoQA(EX8urFr@_dynj;T7AiR18f zP|?(eOQ%^bm2ObFHz|!drY|v%YxeeYLR}>`J%m4?y}H^271Ox1X)PkK) zQxa)Yq$-~0W9T}HRIjzfxu|bhWik0;!O^cDQkxNc`kEKxlA?yu?M*^8#kMMnM3UtK z_lASj=}}uAUVn*M4w1sZ%MO{wOKMr8=o$U9R&$iq zWbI8fMZwT?3{}InZEV{0H-DS z^UL5iC$!ju8r`YV_-YVbNQ?BxezvN5p^R}f9HOSaA(TK_6D1Geg575wTo`*gv*L)AgCRUy!dAm z=u}iyl9n-QtHo!}pHUV%Ub~MJId|I@2aD)5oBPdz$WorF4k(TOqO4)H=h3Q0%;yoG ze*TOgaM;jn3OPq8HeJ)BI(p2pY7&_?sm=<9z2#bWx5AQQtU&D2sMt9S? zEG~WtA$;mTmnAVoCv@EsQ5q255kaz~a=H|nNt))^W*dc!$!rJ5s~B`T6sjat5(Zw2%x)y@^i!_pS>@p3_iy4o zUZvJlRdrf%Fwk`kO;J!pM%V3P`YY@{50F{Jt7i$0(c)-vaB31=(rbALMI%d7M*TLG z(r{znCeSHL)5f4ynNBO}JYv-E0X5Ub9+q1%=z7dbiO@>EEA>p&HDQ=DPE}e$=kDz; zKmC7y#`{0|G0QlEtVR*Vscz-l8R;m1es;)FG=}{lhIzXG`z@aAJZG6JXpV=_6b$X3 z2^d9D8b$o!sE@4|w7fQ>%?+MC-N8a5JdUXYP z^W+8Z7YDQ{I6Nw;l7Q(Vr?WC-=j4P!Xe0;IajbelX&De@E{{7b#Evux6^94s@%^?ll_n|Rv~IGji9?@frK z7{$>^a520NTX!BXTHB=EZezPmAMLDkc^2f-I3|rlk}M}nQ_9H!dYLwxrfQ(~hnU?J zJljHuC8!!)C}C@whG{$4wuM`{bcXAU9(+gzOzO{wqmTkfP#D~KkL~;Kv$}l?*Y&V1 z8{2DrqhmmwrzwSrpf)@TboLJ-`gNDxWzCPbVRQ8!Up)FH zKmL=S5FIXP8ITtNWt`!fHFc3ADskyBag~31scdaojkc<3QadeRh@vFew$F{tO%7h} z;j1R)!4eIHJAL?4WE>0V>5{D#hfUYSaz+G6*|<{$6{=DI1x1lii3X{C9ryDp-}7RH zDL#NlaP&B|Ca2(|9Oe;i^1KO#3-FF*lQZdU6vSh*NBZnL7 z@9_A^uh{(f_n5p8SlVe%_ARs1(^*Ej$ zRH<-uFy~jFf5B+f#&27!Z?{>yxk*y${A{^L9*hV~3sqB5%{euk2fCst$b!Z@YY{}$ zvt8abBR=YRoXih6I!rLlKDuMDj04=Zg{^j&PL3#alX;l3q9};6LW=6QcBB;rbVI>3 zAuCf3CQ~*xRUh9uj6NwBev*J_cc z=^LoWtItkR6cklQ)pT?~scSa7K3XBzxTkQks5x22%w`4cVUO-mk{t{9{ev$CZSf;>$~<`a@QCXOS-$suCr5x%Js&BiFLHq~;4 zdgCs2Zyo76$mQuN{}ev2sw$S_;I%u{b%huX$m1=-C}dSLnaz(0qL6;4&y73pa{Ix1 zj8@n2J^viobFrLy38+;zrS~dNxb0^=xVOpn-5V@34dtY!-Co0=BrNM4k|ZLQ20MpK z*4iGub_+!mP%E_j7HOE$@2#;&m2;!pGb+c`YQ?3prKUCgD$ByM9W<}U(Y(cCdO*if zsFG&=*IC8zzQQDsMDc>1Ku5I)s7^(HAX)3!B$>kG)tvcKC(2zibnL#zpxwsMl~Y|w zdCAG*BEk7OH1NfK>E*A}|A&I@cw{1AZFq~i4w%Ke#Pf`<+oR=~%gnQ66V#T8nPGg;JMD38rOJpVFV+CeU%(Z&Vc(-GIT+=VZR1EFqpPF;U3# zjE-ZGsh}HgHC6xQ@x5epQi7(sWO|Ka*5q1Fu7s$rL94e)IXT8uB$}>VO3SYz))YlS z)eYpS1Wu`1NK0i}j#)+tN)F+1g{J8!x=x-6+;&2DWU@ILv9(b6>8ocZSe5ngjUBx<^`oF**lpNDX_ag z!P&lrX4&W2qGDK=0?!*SjMALsYCz~UAN**AwV`15ILB5kpdu>a_kVwzU>>t~Fhfan z4#J#Fm$;gWs(szezWNy#(Pd{FRGQ@!S;&^X;G>U*y!5*~eYDTYR*Js#So8Y44)$={ zZ6@KASC0;u>>lzT|74AK{1qO5HAkE7k<7=WqZJaz#ZS{lAo+@2&eb6SsYs+!Q>r0W z%b~w^i=Fu{LKEEmaDe5OES3d@w0SYl`Dm-ndq3DDUdEgp&k({STBO8UiK0&_^N_48 z&Nt$VP6lV2u4TK_t+GLzDLtgvMpDxr4q3bN4wZoZXu!tyE!MVg;+Q&~W8<{ijog-^ zoNuOC7?5Wfahj1Fyry{akoM#e^JlN<+6sgFTfCg!q^wGcs)p4YpeUGmhIaZssA?lJ zZn++Hl~F4i+`5b9xs1jK%x80|8r)W!mGw=As~fa@58rd}I^9dC!b{J%$SAUeB8gD) zn1LAs0%u_0^fvL1TReaHnzRUM_f(dZjh7nCk_>0FKr4N2_eT8Vi$e^rO}tFmKU{Dy zPq_8Lj~lo0E7nNYWp!U?(l(Z*W4bMpU__`sLRSTmlA{yh`ZlBW8;qlUG_&SkY^wa* zNkW(jT*HDor`K=sgCA{icoOn*caBVT7D-NJHE7$S$jS4@Be4;&E-rzw&N8^G!S3w+ zxKw#iR18f+)HTxbnJt$be0jv-t3CecCu_9(YwW#P((ig?RYhKx9F6CchRW{lnEaHx zhg9AMi*jm6uHgCxH}BSHNsgv@lvP2e>+$Xf>#(~Z+Fg+73PQXoWPkP^TwVXyql9Z* zSLMU^`iy%$_MRWJxt$}H9-Ey$57RxQVIySYtRUW28KqVc0+MvW?adyC6N#p}v?*lA-AEUFFQa?f71_E-R^!2J^PSIA#3n1pAl z59+!4`EP?#mqim0)GA}$h$!orwXF^Im#^6iZKMuQ4`1!%SUf zpc!b!7MAVM9j$YtD5-?N@APPQd)T&(CTm>35u`pVX`N?GRY8&$Eax-IgI!urKVw5r z80$J%8n&UZVI@30c|vV?;B`@z4py3A*k60vX_|)Pc~DnKz;ZqOZjb)z21yj5Xa=_H z;`%oes_rDdSB~@a;0opBnT-`bm*HgSvcpjPZRv1$6(uL5mbapMQygo>x|qIrrZmVA5e_6p$4ON*PjCCDoNf#W$JW8b(8IcbvvQFR;2C zRPg?4msuF$)oo6al;JXCd)vd*Rkr#Ldr8h;A1AziZs6T&lPDo>%b`2eS=9`-tyOl8 zBH}_P&vKGDAxk3i<(OP4Fl2#B{YEBt9cT8sQHiPnNN5I%=&-Vupa>1Wt1_7jMmJmR zz6d#)%<=pVMxCQ*4wlhu;)<%CDm;DrNT;e`7>%r37HjN%F`?bn>8!TUWQ=B+cwLQF zs-t%u6y?nWtPtYTJzjh-&b5IrJTFyMP}Q8Rt##u3ka1!nEtUPr0msu4b6|tiP}R3n zMnO?fbrng4u9&pfbfPbH;=E=z2>DMw9PqQ(Q%dQQ3HjFag@5Y!UW`}kTH>Oh8ahMY zKvO02d5qn4m>lQSu7Y{0Q+Rbsufmoul7LlBBNi&Zc=C#FzGQoSg{<#T%LHB1c<22) zD4L`w7Z|EQQ4NB{5+nW{Pkd_PL(r8=)`lCij8i}U9sdoQHk4{k#m4q7l{Wf*J#CKhO{Nrtc z++?;~FtBRW+@y#!`fZoPc>;>Sv228pZ4a*ZOmkBE!m((0FpIM+s`2H5cSR&?gvNWTr>qfNu8-O?GrLDR= z?XjxpbwNB2@isc_zf2fysf^az?4L9Q+?)4CbYGk7Mmdv7OwVaUsnP3fP!%PrTG4K| zINUuUTZ~DQ8>C4_aUtMd++E z%Q2!Z$xF%pc**nQgheiiogU~Gwr}zNyEVrIJMw7r70bsIz9B@;FIEW%%FvG+RV)-8>#tv)g-_#c1h z^E${FZMr1sgd)o^)D~G_Gi+~=7bU}%LN_znOG1)h%EDApQO*U{QFT<^{6-;z-?(4Z z64$lxEy>CAg!R5lXs$4yStw>q$GgwI{fJ(Fi@L6;#F8pgSQ+$47mM?3>#fR{@=PYM z#9z^?AM?Z8A5dB;pMJha9^~A+Q|t~R<=-9$GV z(y8uraMnMdKYc+s$%z+BvNGbqd)ru+PLwQh+%_r}-C>UptUiO|fMj=%BWx0Hh;0T) zMMI_mzD)U#^aHvpI)|3Q!AZi=R3erWoSwnK;Xg2&l~{I%G?yr*NtTqcCw%7wD! zH$jOnqU36tGLC6jR0X`=Pv~e}_I96;h!$nCptEwDagy?UQDIs-K~N9{DtWQM>F9j9 z`)g*i5_32wi^6k#%!^38i=Ta7E)k+R?TQjl72H|xLs#dk&n762gVkwKOM@s)$VGvo zwFy-ZM~B%-MmWppk6cu>puaXG3UW3#*V)Mfs-%PMBRTg(g$hObJa_*mxPCFA`^KoQ}fl@!zvr6bhOGNDffi`506eT^prQJmw1^(RAtnnfY@@eS}kIP*T&=hoo$}(zK9fmARS9$)iHB;*^lHw#w;KvYLFsA)O2u;G zqYV?%q#)1VKUu?vg4lIklV>?m9OG{`EEWMtShEll<}-uggA(sTquOYA(VYKuzUF^< zu!m`9Fp!{*#CYPq1-msw{@V@K$pfa{A=QHy1Qf{PF0wNJ!J_F$Wcap6T?>>|!-q`L2whXrt(5kTL|I6X zsXRJpz=^AH6A!_-Jg zSosCBiO(7lK_8MOF;Nr|hT(fax^2ln*pf`lGNLFV2m+!gB8oz)B*D)DQYpn-nCv|& z@y;~@No5m6RAr553)kS1kKW3?_f`WzkRlW*En^?iidan|{LO~>G(?juBw~c>U%)N> z6UQ%*(KTuO%Ttf6l#o@6EHA0+idM@&nuO$ehIT8Pb7vB4fjQnIA*(vFAfTukzG_ld zHA$AE=mLSiM!+JEG&H$`;fe^9=%PWpWwBl?(S?e?Ru}wMZu5;FP!;f*lk%5#fxC0U z#p(aU@aQl2^Se{hO6K73klDqUw=b6jS%|FKsG@+1fDk08on9j|bpxZnheUmM2tqTF z8nt(*QUOu0uv-e>etU+c4SCSkSo=PeViH#sJ-5sFYJ?bPR7HbStv(WHw%v<3aX^vT1YrCr?rG2%)a%buAY2h$u;@B#k5$5K4tyx!x>fm6c>8ZpM_d zPErZDoj$9@7%{COuPGKwV&5l?E>b-0(3P`hzG%rwsDMcbu1Uj11quqg2C=qKNMXrgHC6(@CIWDr*LNOI4 zi#4Bh9Q=I2$^IVG`Ra2Fy8r+n07*naRM$K_`GR+&DViektgY}S^oXLk$qufwy8Do> zH^EL(6m-MHbXpjGNPDnDdGs0U<(Mk-7-|}YSl~q|qF@ro0%>U=STf$}85@0w)iqd6 zW|Xo{UV_^hu$+w%(#GB<&t#a*IZ38Wqy)dp@KmEYAn4((YspP8{xPtWAPUq}sH(zZ zH08^ahs@^RQVR;lM~6%<#=L!bMVN)Cs)HgZsD{=Y9^(iky;+YxQ6Bwp54fQ^2?%Id zPKP(&pL23F#Bxner!!PlM=dHeT_X-deBVb=6zaMrP1E=6xNgQ>nX}DigXejKL4c7b z^mLK^M=$W>D_(vZv$NxJ;jifTd%T*w!aS0%H|0;ipPD9UBZ%}m60zrjBJ%yaHCZVj zD+YO3QB$L+^3MvQ|D5r!4@SA>lt`upWlWqYoL)>haQoy%jjDoX+Dpxbwdvo*2`LSYfCLu5guW0^>G&R^7TS=TOl zOXPq4b(?Z@24C&5D{9C)U9_ph`dz?${%7RMz;q@2sf2C_jK@BkI>QfB4%*$Ou`h|} zmUVBCySu<@nmJyU6=_`ZfkW=k$?A$ScUW&C@}kBV z4ltb-s%b;6Ad5Y^VvZNB*?qc4YpQW_*vAiL#-ot4)fvfdhj{OVw9_St!rR`@P04IK zbG`|5nxTdn94NYPF)S8%39Gr;_dcW?Q>A zNfLq}!1Fw!%?7I~v4xWPmM>vOlmYG6rG=b=6#BJ)TLJ)5d)&)s8 zMKNR~%Z4-{$tA|)Ig(;iRX>}F@n1ZC5gwgT)jWNyv$;r-tv;4na51}LUKvzUNvG2T zXk>$l9apC&hW{P?p3apMGo6Ft2&hJz1Ea;+#R8|Lvfku~ ziixC|$cl=lH){8H1KoWaX;a>)P*sh(hUt9C^Un{MFXnWHCZ#PQE>m7Fu6X>}K6M2# zHuEH4GW8MnHrH8IMUiJ8WOnbpgWGEmD3Ljxg>(#!^=QMB$2;tG1Ozpv6$zB{E4q@2 zH+jp+p2>Wa5RL&;fWpM-$^=@&lM-$K0C&cFL9Q&RtCFfnk@JkUBy&1`M>eyuoSMCZ z6E3DJW~&XoU6+fzAyk)&!Mcb!KR@Nm7rVHcgrT=ttP+weXXOvn`qMyo=y zB&IBL%HjvU;obRs_t|}HL%jL*4?sqFPM#)Ik&m#rq_^MV==hkIZ?A|F5qI|iucs4M zK}M7bSeA=rJLr~8m1_uM#3mmjh&8j*GpdcnOnS@y&}1@72@}wg3E5^v9QwqeNgM_k zhCxvjABdN4tI`;jO{>!(&Qh|SU3Q**#l>pI`0ORSZGq$79$_4DFy@S@-B$VwHc2VbX<)fE|F9RKNVTUAwx|@5`~{6 zjBoD;k|-g_3T0Vw@}N(+JjdEK(QJY9^9()!2$b1zs z&#qCIKYlOULli}1NkkAKsT?{x2H8C3*%O`1*AcSO#n3XY)(grY`xhai zcwWV9nPBQJ|MZ9NP~@D$g9B=z=E0Lg9784aUQ*>DPxC2+`^+yYyt-iK)kt+lUCZnq zJw+1dgx;E}iph$`ie8ab6iLH$3{+i1k)_4~`X@@3H$xN!5Jci6K`U#-%tu^Qm`01u zCPC9JhCQ3ncuJBbWO2^v^o&qaX>~1Pt}~dbqRg^;N!xdWoG2>@ibn7FF+&}k_FKHb zqZ33_)&S9$D0%`NRb~@ZP-~n#d`?+UxSTG?lY%VCq1%*)wu!de@BD6{E31MsO9{Ls z&$I-&cYrl;8GCbHp1q@#9K1ASRmjxsA(Gm-4JfrsY}zDw$|lV@J$s8{8gzzTgtTHd z8Ix(_#%(^|z0EN0b4$NFpMJbw)BM_dFz%utPh+ZZ1KtKzSE-A}VrCWj7`liiR!FKu zUFY=rLspST7Khi@Ro+|b+x~g?T0eGO+u7WW>{k(o)RD(S*CI(^u__qPA~fCQkKepv zn#AOijbJ;pyM3Iti>B+8c}`LKjB=Nrw<74)5W~tZkp-1U51)cCWxiOjSX>be_K2Jo zQ4nC-&TTevgZR6vbE@k)nQdbS7Fm+eKYBnK{02{i&GMArpI)%*w9$#k=OwObv+`1O z-K6bWgz1bdPsy^Jv$MBomVv#~rxpZWon4|^8t5u%EfRQhDsM#`#biZwix9m_Zol{0 zUjL`6Ak74pn-W7-IeGXTNu1&>mr%##r9hSxn5KzV)U;F;Zxf{~ksxk~;09LF)xZ4FIUkZKXV(Hbu^K4r3d6N|uy;VauOZcq zfNEVA%$Gjheiv0!f08`-LBB;1P-F#=(3Cco*=IEJ2*ZNu)Mv3wNHdwFl8|%@QE9R8 zV%A~Ge7)wow{Lm){1K`u^1D|fX5)~HOr#PzEW(7r@e}^$@89uUcwyW#mQK1iO3Ck2lY)5!#gyRh?RtS;PhJF3x%S`~e+H<$St;xFix) z+SU#oP2lLWFZrAQ_YHsg<}G=iP!$zrSrNr4x@9*`&h-!K33r3t4@Bmavd9q15`_en z6w|b*%AB*&lD*>t1_%4NgFa~ig`{CxHo9pc85Zu*F{WdonJ(SI4sEx~YQ3Z;=V12{ z<#I(H{{WK6(+@Yd`{vMn@bixa>>^7k(v&KRDWZ_BDzKQZs49^(O`%K}bS(DzZF*e` zMHNs~nJfy);($DhsqS!@K6Xv_UDtbS>TWg{h2(ibT2!Rd2~m(U9&eb<6S7Ppt7K%| zqLwT+VTxe3F`X8+<6zr1cB_SIcSxiTUL_&PE)3kJg>Zl}k5wII$@cJ^Q3MKYDprjlEnPJA}YHSskf_+ylp zk8M^J0+J+?6*-Sye8J!T-CMr?<}GEBAXODoT@wc(wrQ|hdDN9ik>^llIA(L$-L6V~ ztT(^?z7<8j?Ptc7#ALal+uI|Ga`L?5>C+SXy*8azkFO4T{ASliTc2^jivQu{Awz$| zm#V^Z+aP}RmO;3oy0~C(wcsELc_8L|VF^4pG&-S&RfK5ans2`Uo@bvwp=Bz(8!srs zf)E)^ZIKoQs;*NM@@6qdGF)uK;B>ZT5XTKz;S&nN+l#*_N+eNYzFZOp3l0yC z*!VuGX7cW0irek6j$^W{L_~r(VQ=U%Uak8BsLPDHRw>DmM4>TU{E5EY-60ABX_E2!^-Jtuv02$e^Sd}7G z5;MA3V><#Z>(@x-hNI_?xp?y(|IOze{`9Bcvvcr_)igkrW5Tjzu}LWf5y>!bk*}&@ zzE=|3&gP1uAd3TvvLw$_hPKSW=`!{v*!m7_+ve??F`J^~Dy#|93d3)e(#@FBek=?`R__F|6O-ZVX zcXIvn!*SEs~D!tu!?-c06*vdM41dB@SwA+sPL zOG_wa!c{mPaYjpBv6(KPRl^k72>o&Rt);X0nffTqTN=|<$^NY&>^RY z{A*Q^^n*<1=K0^2k*-;&Xgqj0Bn(5+q~!2m7u&Yz^t+^4 zjcPdBIh9MwO>XdBF35Kvu;di?ljj@~Xm5LXxtimNc@m#_DvjY`cN|UwgS( zP8-!7;1wFFAk*3D5EUtQX9r0(navl-x=yd(MV_A#jxPwq0DrY4^fx3)(h!k9BEzPt zD!Q&?x7xJ(J9IlPJ9~#5efd{B`fvY7q~1P)-C`WnT!k@_B$G)JUX&q78l9a1Prf+B zZYxMqPPCe{)3Q-a$c2#Bz(#cqL`xwq3!tHAY`1`ZYCYCKU6mjR4EH+Zbw<0li=!*(j6DZ!XfX;lEbC&ZG? z*w1)7_lN}rtJ~-Nbc5o;`cfoSAzm!0Wf`|?H^lqvD%;N~F;-=Xs;Z<}MyJ2@8eviyZQbiYKPt7{Z8Uj6P3(s539k+JH-YFe@M8`#Za;Zc7gEcd+! zF4TzENX;xLNPU^#|87pN*TJw7dP9Y{2+2^`hz75NfYwe6NrNOWn66TWUmo)6ZN}dI zf_gnAv@BkyHQ!I$g!vAd0>7Vo4BQr~n$hck+Y)eGgLM)iDFsC-A;}U_qf7Rq<%;cb zL$yiLoFpxnuGhq-jL;KF6c5R2p$1c`uFEA7H!(rP=Dc}}%jkZiohh;>VR_*1gF`^JYo#*(ru zsH=>w=+o|*%)$+#p0dd#)Ipn_X9i@Asn!d%Gjq!b-^>j+G@!kt|+w_i`5~ikU7>0q;Im}Jz!G9B^9qDk2yKZqTqbCW*ugHcd=xirtCgHp#R)~K?J7F z)K9paC5%@!-@ftC+&-$QU#lnG@AQ7(5U4>E$q`tmyV%w<4thG-YQ$d8MO8DpH|xJ+ zu#5vlEho%nl(vPltCCk$lK}k$^77W@;kvgeD=LcBg5e&43A558Rts{WX0ck6WCgD; zmn`y(;b+HmUN|H@pG>#8T!oxnMO=*GfBTyeg5?lPK1xsIDqOKHWJ0aOyKqhaq>pL} zBw4fn?f&YB)6lbR5WxlK^9s0DNY{Z2y0&c<7=d& zoNS!ow;|kAq{S~4=6-?FWmVS*NEn)dWlIQDBw<9FW~6D_$meu-t_?CjO)2{(Xq1&e zUex5Jz{PUSzEdz-Etvngg=y)u_GAo40!K#4OJ1fj#hWXhJ=&p)Lh>X=(Q3M`%kN*E z;qLaK<5Ep$yt;gYrmOt^GNt7hsEWYx{t@fRgfgj+Q4z}oL9CD!k*bCd17wY!`+B5+AO6Io;lUTQI3tw66i?sZr#d{&DU<+mGT&7hEUa&1ZHaZHlsq)Ggq zV#Nm~BvnJYHmMX%hs#L9Je#uD>+<#MGmakYGI)4ED#a|8uW{QZ)9D(srxOqbH3vDf8NlxY&64WzV^r^k!*B^{K6-WLgFa8mIJdt$m%|p z!EKiYoA>g*#Zg(5)MbGX2ROkJ6&k$$R=ecc8pr7Ir$4@jtOWFeySr+*G(NiujM#x1?Ykq;}4B521=(>Ti z@jf86Z_kSxi7HLgntLc+$}B|`L?rnbMNu&A7HYf0_z%Bhu}qPWD6$2*CUB&>BwkGH zuaLg>a10YoH(C1ug;WyOD*{ns9%VeT2dJuveBJ;0RB%`W){;>*nZUc`U{__ioY5JY z$a2lo2Tz!ct|*cU84cn3{cE~R7^P^YMO}k{*!auc_YK=<%NwwcX<-CDw&URJ9x{2e z&-BeDWu+1X3uFV1>@J%{h__lI{?VglT3Cif5Cj-{g|?nycTC3XIj>hXZAWMCs3KP@ z99t$xJmR$Ew|~0e%P)=ygC)xq7-mho)8W8r*0ySBZQWSZ!rhcJV_lxxClB_^dDx7|gUaw7RC}ed?t7S6@ z=BySG-TX!w<QO#;hFXppoIE5nBmzX-zQIX3 zV0Ag6)9W*z_>5NpUQ}}#`OLkTYGD`+(YH`lvX)Ds8|=F#&W=vUHW0;<>0(Nn zOSE^oI6G~ws)VX)v;gxvu<}pMnr`mlZbp}7IawHxZ8mf&fyFX_TA}0Wc$t9X_L)pe zM4`jgxknvDxQdF~?Qt=gQN#iHM=WmMn-3qEC)>e#`yf#iIYm{W2qiCuDxW|6YoxN~ zn{Uo3N{!WA;q~+ib!VTd^64KPW7w@*H}35~*BB4?Df=f#S2JY8CJa*MYoAn9SgkI| zg8<8Fp^iq>f=$%!u+elhUA@=*_inJedA`uPzPYAPEgu}Bs2Zwa(;ggf_4YfizW)=5 zu-xRJuW)1?-8Hau1wp7;_)`|8fMOU_nn{-AJp0XGaq{9hEw_!PX=tW>uOach?;QbA z63{e-maQ-x4mn@Pth@lZl9(+n$btaJZZlmi5o(1_OQTFhuwB-EiZGC=s-Mo%w=+6b z*HKgz-LP=?AFw!h%zSo1T4bQg`0E7CUScW+gQ0__DTrdtW;4bUBn;POaM-01D)t8= zQdKh>uSga-zF!fB=ltr6XGH0Oos%6-uRI35BOdi+x^0DrFCKHIi+E*;(Kp%Maq;|y zG9rj#<0@YkpR#m-#$AE3#FhlQJ4c+p`Ig;b8?)QS?KmVVP{*jM^7BY~|BUeqxEBZ* zwv8dFm>q{Wj&aR4l~XeH5+tFAt`&{e+b8f(wudAOXsU#+iG*h(d?DxbVg<5-+BV3A z1$J9TSQu2Lgkd{ma*I&W@FruFS;d=+igz2Itf+{Q@uLyr(+LzcYt29~WK3cxWhUb> z`~5Cak|Jvwa#b~_QWX%dVZwKKfIoQ}5+o#1qpWI99`vZ|oJ@3(b(zg_!g0IHs4sD( zIe1k?t7BrfRm`%cb+nIrnGi+`65k`XZIUR&G|gKQ?>6LHQ4}=YY`oUo9t*X_%Rl~S zYNf)_WCo5)F2rnBOC(WX=|y;n$SM_?1vRHjpGvpr9vtJe+vvKEzO|9SHn}<{P1D9c zCC?G_ki!$1B#P)+9df5&x=BD7B5DO;G{bNVoL&dJ?P8iuwwUKRMY~1f?o-cBFPiP}vSNH{g_JZM3hgapovtfFema z?KYj^ke#Drb{;%setypK@{ILn!GaWBm(c1Ogc4MhFfGZFjBp)r_~bL5ef1l54^OZx z6Vo!$x4ip)Opfn%tqM?=CAuOKM=6zHP@_@g3X|mpyS?l6uWM9=K$&HTih!u8c*_m$ z_4>bW)o*8WcQZPx<&tMP-TeciuYOHZ6@2}F{_kjtf^3?MeSxe_&<*kW{tFb#B&|wD zNy@u#-ccj6-Xw^Ugk~tnN`#0?917I$d|G0H<|y=fL*~m3A_bdiielDOf<&v;CO1mT zBtnw~in>OSns-%wqWbcC^S4aF&^dVW1g)x3I}T}_V0PM=x=t)K+21cQegS0^sDv8R zQA7c8%m4r&07*naR6%S~*EkBVl{^Yo;T5H7V&3+5e#YNh)>LIp66cJ^KBbuQ@bP2P zqUO!{oLth`ge&@cGGUR>ZtWxMHg#;0#2J^TXY36fF5gbbO94Nr5ZgL=lymUtbM#gp zIgN2O9la{htsZ%ukqb4dt>Jq!bk$*2B-h-LpF3*Gs-UQHL|Gw@a+d3Yo&Jjb1BZj% z92hMDkgbFBq7ehXK1m92-`au%_%bbySL805ENJOQ`u+_t~%-f7kmSu9wqU^N6 zl&RwwZ`70$ldPZ;4g6%uA_|GiF=iYz;>KxqZ<+8@q0%=&uF;W}jARK}O33q&{2Gk%G34b>UC({}xipGNe4k{s zq8N{O{PY=VQS<$~0O3F$zbU1xvq;wT4{dv;X)RvaVwE`<%Xh$@KD)XtN|w3+hOqt_6y! zk^gJ7HG}ICqll{O)H$SHj3Ud3VobNCFiS6S+FdTE3I65^*U$*(8Nd4L6T)bTAn1hC zl)Yy*q7Y%4HKEj8t0>8Qy3Ig+eW(_B`fQI<7fFhWj-^pt@Be9%P?ZJE{`bq+7yRo7 zy1FJ$GfGVcWO60OO-(!koKBn0j>Tl1aue7E;ln=3eZ7-r(L*hih!Pwe9AU%>fBeHa zwNWByI;b`Ci-1@%kb5mO)5PlSAPWQB!46t)2XAu5blPk}g)DRI9&!9^7q_!RDaa7c zk!l5hx}dWoA|@GS4pEe$%dm+m9p?sjGaEm&p)R>+{L)g z25xL);C*eqG)>83pD+lCgAEVN2qc?ajd2o-sPZt~F0Eag^F=}?DmcSEI{glo(|Rw^ zWr;1a*vmn_ChcK3Ga?N6{(6Qg&`SqPiioX+roG;tadwPk(Kv%ERc-^ZET z4kkayYn5bWNtwlH*^(m7$o(8$fysJ?s2R*I=BTpBdO1fiEu5~2+>^;h5s4pAcY`0S zQnL2}DL0B8H{)a1bvK*K!jLRaNQ;8LQqk$2@VnohQkx}}s!=Nyqw@`cXprJSyM^O+ zFs@~>R8>V))%OCOZQDfc9#Q*{MHQhIm&~&gf4!zZ5Gjk4DitX597lsh@xrec8KnKM1fC|*jSd09gyW2NfHzIK5-b| zTGPm~K&#!MKis9$>tU!WrlHg64=^qJJ(JpPu+)9ew)sb(tP1>DO7+5^EyuhSVB@V( zJ2gU*k;jl_Ifep@%>qf**vvf?0jjc~s_NS~ci&!cm-eG53WjA-^#=$-jiT$#Ue)f? zJ9^G?IVXyI(j+0zD~hrS5CQ_Ccyn+Qsp|ULCg_KGm8A)FQIOOHf5>9Ga>nC$j_Vj0 zJCNd2RxJ#nKxIQ*SAjYKeeY-*HV9?A|V+P!FofqUb6G}2$0B? z6s=GwiBZ%W0N=m<_(d{0MFd#{G1Smi2f+tb)CraWeY=gQR7i4jDRuR6sP%^s@frb{ zsuXzr>KwQ9ab1mtuQI+0sMHKiwus9dS&`5UlTNpbWm!m~$ieYr(!?hW0^&GDw+!r7 z8%;B)YKY>5vJM%PZH(!Jz5YIiSo7w)39g~BNv1e0iA++d%c|j(iJzW|*LB0WF?5Z7 zr-P8Jc>8*VBJ8u-1nlg$*?FK*OEsF<;_QupD9D&{#lu4xvlWs``;^Ni)6>^z?f}cs z-{Usjlt+MDn73)$m_b0RC@D^!lO-vqzx}^)G?~@6SEOTDj+UfveKwONt5gKD%~yZ@ z-|^_#XSkgXwq;?r+z+z3n;@4&0dX7bxD&gk--xYcEu@1n*_bO}xlWn9-s;t)RyxR_tCsVd~d=cH*8`-od@-b>(Cn{xDixqqO9bWwA1>e7!aP%J@6UIwy z4Q#b0DjI{>qWU=U^6o}__qw)whRuEDWCi3=MDY51&iqq4U6qNaa(?bpX(@tekmMPK zqGEK07?$&1klXghyYVk;yB*?SmoQkdiZwJzAj{TR_K=||F@LwfF)V^`j@vir)Fp4< z{E=K!h*g=DC?LrKLX}dN-P>#5=GxuO>~70=hKXUdhyx$XY7oU~mXYN-NfZ;?tw!#y zt`H>=MbR;B>$=~lV;Tmw<6t=-9`?4gsr&YrhK^7p2`Z~`!NqqM$kP@3PM@?sXVBfn zlxi+s&9Dp;FPLNWbc9S~whGa770c4$x`pv$+4}Z<--t6qtI2fMYlNys84j>5gZ`jP z94Dk{evSUUK~>klcK;UYx)F7_^`Xm}140x9MC&EHn-K@@V>S~XLDF!3ZBv&z%Vog+ zlLNdw!&1APt`-P!+{iNi9Lkr}*j{OdimaEId5x@A$RbpshOSsd5y*l{p5{Mmzx?Nn zUj&RIiUM(vu)Ykr7;PA|+C;U0?_~r@MpWgfX>tt%|MZ6{AW+v8qA1YobV)8ErhZK& zSF|mKM9A3L?=Vdg<{DVGMXS}K)oR`LfT(MVYe8g5R;b}t?OXOd^3+CJ6cpKp)9+JW zJbgeAW>f;Gib8!Y4JBO5-u#@Bb6rDKRupN@)x{~BC_<3-KrQI@6%?)H;>zc0l938E zEuo+&S2&hP%hItmmokrWO@%006V9gutv1GbjbT~uon~(qyP_xQNZ zWu4KxZ6y2 zk!S3Q6`X~f zPGblfmm!uev)k*j87&FMbJC|VWmUaLxA>_t;g9vf@+>D$W76e}R*`TSq-ctSqNo&E zNfczrs>~`{)7v{?Crof{8*Q8>JV=2U>xceQ7Kp^rm+Wnnd0pOcM#Ledh6?tRp((d*MgMIRYFYx~1|00Wh zUcO4PpPsPtQ`(w@rl<%-MH$5$X$8^b4~RP!n^hx&R@IFUVObWGc0(4w`R?tW+1;wc zO@?zrnTZ3x5dmdaTQeG%Zov1E%L^JTls( zZ`Wk0$N8&>XOB+^!VF!JP!*LbFG+(8Rg%cc1X*cHx5AGguy3yA=76}}x2&BuBA{t1 zX{KWuCasp+%$cpZ4E4>wz|EZ9l7-7Mk~k)gL;N7XTZs&Wn6IP?p_sCBVuMnFY9J>f z_RfGLPRWv-*(5@?+9YWPRYjHO)SpPv5kzi1Idw(H5}{UQ;vgXjBd(?aC;Ip-H+hcz%I^F=zj?|TnV25lO!AQ|vd9|Ma;YV?Lh6YrlMk14yau&>-pyIb^WVFXyCeERf&D&c8d$9@4BwZ zl7K9$c>lu(Y_-w!W@0Xve6^%Z{j;PeiY)IC*m&))`eFW zG!S{d3OjD^V!JNQjXte|d-N6y;=I6h9on4@2AkXL-MvS<*`V2I&}z47v^!Ym9k|yD zcx~k3aK(_Gr4e2c^5MM(L^GDl19sngm!s1YqDrB4niTmGT!+raE`z;07lzJt-HY45 z<2X2;N6_!!zjKdGmC|)vOwQ)ihC<1LWfWr|vGOH(xS%YzRvu4zHCMOB)LqZlyv~~w zWkH!|sJf)<8EDajjDlJ!FeO=8Q!9&&ZlA~VBbMcqtP&i(9Mjv{pv;$Sbheqz67nRX zDp$oh;x!eR*TKfu3uC_O6rWS1DODO%FJ=^nkC75KHnv%a1j|$mx|@WUs01=x9Itu7 zO=+Ez2doX<`ix${LONZFVvjOS86TX|Y`kR93>e09mUV$qL(74@1VeM!+1g>5AJQ?O z@OP7pDNs}jQPec6imDR$jpjwT`?4o_*}J*Sk+}w$2hHY<&+0lJZEYm4)A3yoTfR;v zQHr_{*p`Fr`@FOB7U|)H(ddY~A3mUAxXhPha!ND>wymgyM8lxdYOxH@sAaVxT9-HL zu~(x~S9yE2Ai%WkE0>weeHO1*5nuj%y<0(&B!tru03wNK)sTz;siO;t?Hh$AWfX=^uhnNX|CC~!GS8QUxun}|VJktlIHA(&E6|A79qv~T`zpjyR25O8*lZ5S z4xi#$UD7C|*%Lf?tA#Rh7W*cmR-hUj9*odAquU8socc677LV?E9CJpxJRu2uoY@S^ z@m^6RYkZRz1OVuZDf&6KE@-wGY~Lo&GHNApTo>DMX*OFcI01^F(V)FCxXA6S74X^% zPUDbtIU$Yb$aKo>@`TN;7UI(hmhkBIea@DWf#2cm`IN*oIi1JsJp2~D!PZ6C^7195 zEK9r~zz$lJ!4Ait|CE_NW~1vfKlSN!Z64fp>8Xm)SQ6&(>NcCED^K8tJl##_^a?=y z!k{G7wInMl^y!$x;haS#*%@@uEyXfCpsal4B4(aT>{gRRoPgCO&Qg|fh~M$ik58zJ z6d@|AGN&r9dYi9f)3~g_E`#ukIHasf(p+F9DQ~{9gAqvdz~N-N!51%woQ-3qLgRFq z;|%W5>~`>c{}n@Xxhu8fIQYJQQ8k-w?y&XFhaCKDPIffH(K4zOTFoY!YcQJ~V<`=D z7NVS*Z@*=7^6x(*4iv?_Vp#O4>WZMq5qX=k(Y^?)-$WY*R~zM;ruj;U_p-6LY$z_M z?ymKMywF3}U>eu;%f!RxbNO!$+BlBJYDb_AOtiqSJZG$p!U6Ye%OZ@gWRppRL1HC9YJQ@;gwTYxjRo4hvpC^RtD{EMf zSLZLODnXtLW-~z;9`WHf?of*ezttfuQJqoAAj~7Ic|wK89{!S_X#km9VeZx)vnY_dx^84zaTw&oOCu?kb_JgQh^!4P4ts z1A?GQ(C%D$W|xgzv|Ny;bK)psnWePVg5Q0p;86#2+M#$FGCP{{?!#?9`tlS}!@(>e ztS#QZeV=x(hwu9rhHkB>Y};OWr$L*;RHI+}bh~{z0kq!EC`C$t`xb|f4++bX$RE-_;}>Ki=V-bh2NIQ|JQu@JG&XnegXR?jvkqBaH*}Z7qeVWTymOD) z^j)H9L{yekrG}Se?C(!`|J`khT=Hx}OYHrW@kDTT_yS=h?A+NTS{A(b+YdQ8$mk849E#6~ z7a5(+4$CZC>4Ize`0`pVU&2;l<(1Ai9h0J#G`lYT{T6#shqI%EY`o;%djmdxKE&}f z{<9%CO#_uhZ0-%Hl|j(m;+vf={nH`8SZojnKCWwH znZpaAyWXJDFjfURhOT4T8KNvHy%l4*rt9dMhQh$m6qfDc_yN{=54sBu$aPc4FeI9e zh>C>8a)H5&Z?+}naD@3Jf*dBb%XnU4G-sSlGMN&Zqq<7WBR*&@><6T`n+QW92}nUGM`Z-F{RibPZNrwxbpYbRgTvU z-Q^qc8Ut8WHF=St@(d>XYz`cjqKm(A${qSFrx9h~<7{k@PM4@045?UTB_j36W~WU3 z7+W`xc|xA1Dkjn=6qR=PLDaxEOPw-XDckVd^JAFRrY;dxFh_nkP zg`nNr;_sdwFbgvtwmP`})%@J$E*tQbmvPzH2_XED<0t2|I zgTv)<*`OtO|;#puKU2dv95sJ^O!Y2Q8xc3B5ZTEJYi? zKc;E)iKY>?@8NVi)FMUI=egZ$xzx**$v3U(CNJe5t2NbShF{KU z`(xgGf15_L%jt5=-LJpHm!BW;xkQc&d8g+Q-Ei0gufE2ZmYNl{c}Sw$2Te0DfwOP93$CY7_G)oE zG)=FZq06}&xY?j&Sw@y+*2livtEb1UJ2m}K~*ulI3_p?@o(P{`~*u(bpdkk83;?@%w|2c`xSUqcOAi7OA^Ip11J5 z0LM-7yd{?F<2Kq@=LIC!4c>Jx@ABEa{`z&F*W-1Uhq7FCju)lG&<%d^vt!==tp=6~ zD2F(ZNS#_f?%ktvyulM+MRAj%(fL(vj z_4i%Q&s})^qN0=%O;g<2>+|;BACSx!DBC2LGfs~u1eVTeG-M=7()o-!ZP4vVe)M$0 z#)k#6uBa}pV|_ker<3zEMM;4uYfP2V4ovj2PaJpZPqd5(ZN0{C&{Jf1mM> zP<08i2Gh1Mikd|hu}CbUM4;;?t-#{0)ny`cgeWMhRT6dmATNj8E{DmIa}1H9!t-^u zwo5kjkiETa(!9%0fANw|WpFy0BMlpAm6-O`#*mj|`oM)zx*}XUIDUiS$zv!gw)b{$ z^(BkR303M5FH&^32~r}e>b#UUy~r)Bb0NSh^Ut%Ksw{9E4cnZv*)8b}nxt`smKJPp z2L!cFueNw`5K=on=_Wkz61-MQuj$k8wh3&P$>{_oBX;+8xLX?hKTm&3VHixS6}Y+* z6|H(D1kSY^^!41xb%9zxoAs^t;&7)4>2g7`oDnZ0(j>$TpY!H}i0`y~5G7R@g4-j< zBrOWgmLbPe$>FjftQ5QNzt8Ud`?Nb9f*`n36$o5BL)*4-eUE0Z32$`hnj^XmpH91j zso5MHj9H{PMx%onD_+b-#Jz1i$HsJ4G*?21S4!O1YrCxcigV)_pJTepG$xJahHabNb?pFwJQ8H!;H&Km2H)+}mJyy1=^qE?&^U z^ZZvly31bE<^Q{;kh>bb#1lkP^Jb}JxHhoDu=M++KOjml&0 zdo}m(9PuBXCp?=rN#|Q6tsYLJP0;Z0T#qzbt~`0qLw5p9+qszIb%6PGL-9I~?{(w4 zp-a=0BuPkKKF5_#%aGAj2az5^L^ZR9AU;qAPLw8xfBymC-Md)S1o#vA6hxh45He@N* zRtM$ieEj`W9zA%AJc*c0Qv`zU=72%fq1MznC-LeTt!46Z8sJr(mQhs&WuD`?HAb1D zN`>v(m|9JqC(P!M6=H=0{3ZMNn;icjhVIHiR0`d!u#`u`hnXcAPZfUG#8#5B)KNu& zZ9rA#q;ZVpg}_&NvdeCNRaL8eP;?GP&U2)u(Q|x0eD7^WCoc&aeRev6;jki`!%;Yd zyBmm7ydo^uli=5dUr7xqV|KPS$!1dwr7(m>r`_lI@swV}qj22w!<~|)DPb5Qr6kYu z3q!X)j92EL#AInko@U&?-RI2>$s(T8@3*-1;1M4^dq!Q^oE(m@oGwkP$+2j1OU^kN zSJ+mAzGmTe2Kb|tx88l9v+*Il&L+Rpo$=ZDke8`oRMn(qO`aBb{*p$kgXQ`cRhh3N zy}h2Kzc2(@N|i=r%LRFsu}o9q$pkwd^X9#X@7)8^3=S8J&!#js8|1l7txINA$ZU=+??FTTTdU5XcfJdkEIk;8m;yw`$rS}z$Z5i zmdlD9joWYBL)9*hU6PJd>NuixyNwKecKw1+vY04}a6JdjaxOfzn@ZttGIU9jkS;^! zi-7)Pv zAOJ~3K~z8dVnVUoCG-1K%`UOupwV!#T?fN*F&q!eajhU>THoL7K!^;YyFKxo5ARyX*6Ook6>4+_au`2=Suwc|IqdFOZWVT`S_nU;doq zSt{!6nrm1ARB_6k&}K%N(G6z3tFJX%tOOT>6g7)3l;e1>qL)K3`A zOJ1C0OiKl}cY)cs=~j5t!MiYoN=L~APqQ(77nxU-S;cIcqG4jn0!^A!MNXO~B+&w$ z8kPH$rnAD;*g6OeDFsz2h@+fJWMuOxA`7u(P94n|7d5qJQ&|;-T%u!8mJ)Oi4FlV8 z$qbX9Epzs&2&E=eS-`W8&(QOV>Di~aO@nZD!fYYoY)Ri;5Z5VbnNl`-G+IrvG+%KY zx-PckU^pJ8?cB&9agn>KO6ojClsU;VLCBmW$tl7GX*ffTPx!F8u9&D8!>DGDg$rYF8I@+b_=lv_CWW}0)&Xv2)m!Egc(G7h?(Ra~NKq2aS1x*qw zC0&#S`C>vIFVLbXEmzXg+9a7rEhZTB5xz@ZR1{goXq+LWNl~QaIvBb^r{yw2ki;>z zJI7KIy$GoS2itHkG!0GD5kkYV*6chNPnHV|v8JsU>(x1~SY7=w>Z{5|G!1o5Y9OVg ztSXAKAPYm5vjyRD$)3oF!iwQIN0&{0`lBZd$4d?m1fHWYn?`)?ojXKHh#^ztV#vKa z+q{@H$m5jQo?_{s(j}$qqLhj4=pa`B^->7(yr3*{@^V2DhfprDMNYrfM9O0pW1Goh zfo>|6aY19xBG=U`baB7Rp8S2sZ`{ybuPjmumM0~jKAED)8dq98+_RXUOlY}udvtspLvuxyfMo}c>GDG)FZoPMlt&ZTMzcNwb3^=6@ zN=^@VvAPyjVd6I%Xm)_eO-2itPiBNs&d!!c8cM!>$0ycJe*7foy`IZAe|H<(XtH_B z;V++l#%XkqByUm%tyQkhaWKtw)!R9^oO8u+KI`>OzAg(YQC@(Qqa>qFLyY+e4~>}b zHJ;Hda-#pkCDj$Djs0c8aa2>8lJ4Hy+%|e828L*G!%UPslYUC zkTp##-n#2@{OpuRn?9X)T+&{L&(Dq-${FEd1F36-4U5`#(ds5fV4{~2yN1+=URZ(MkCK?)9A#n^1-8NSUW>ZIr4AePiqXMNH)U}|9Gs>bM&kOP-CZ12w zvY4m;?giT|n<_q{v;B}sIKy%auspu~TLF{Vg7&sY5vRO2*dR?4vMObN5~0@$#eMS4HB)X}gc@~&9sA^@%QVmoMrT_yd9q=^B1o$SPP)Pxrji}}M z`XNsRhNB@W!7|Fx%8aruakQLoe6zkd!0>R$P=M3BPhF?H_{9OX()i>@hv>S- zVe}F!a1e(Flr0y{7*ZL6ROG0{L7aD}i0c)lTYX;TSr$2Yo|C5uSrSo)bL{q#=~2S? zlY*r*nWrU1p|jhE<5`5>2Fo@-#)35=X1quslX5 z!&T*_D5#SeGH#Irn(LtJ20|+0B*ijyv|1vCz%aoP1CK=m}T`FmyC@9h#)zO&lf5tms{~h*! z{yBemf53~wmwYnPNC&qmv|A+MssO?^bxhMjvt0D^@DS&8LQ<6IqC|+AR47E5BhwJM z7_(VUcsCj1j`qm{i>Xjdt0i@?!O6HlvlMY{avW8BdNN_IbSAk(?{4zO2jAxQy_GlD zIPZ;iowDgBLub1lZo7wQblEZmx`H5JX_H+5?opHj$aW)``CenJ(^-}v`~vF zvJ%j0B72(<&Y+5*66k70R$yuhQ7NpdL@!gi@e)s!{FA<9RBVvuHE|q~=Ymo<5W?cw zi!qt)A$5zVqlibMNu3Jnz(m(w@>1vIY)H3Z6BI*IWnxxs$X%!#$j%0us!&Q0PYjxY z0ZjoN7nOOac!I=3%@$Za2i;0BRK?f(Hi6-DG>_;H9-`|x8cXu5z%nJvcuDZq8@PV+ zN`CI9wl&vf;(8wGs*(E&mucua&oz_NPkzi~e2QllY_(gsbxGLNXgUs}R7}Qa44O6p z1|uYUx4P8Rg4Rib-&B0l%b*(ZlOvnmI{}l1V6nSRaiA#EV+yU0K3Y-@dWgKHE>>-^ zWR+9O8bbvLU!f^MI4kJ72D(u~XA{B*71)r~kQWg6sBRxMpP&~@th|6yV3awAm1ET< z?{9V}tB5QqsPhmv72RjHArDWa&UG=Yu7!P65Oo{52mG8UM+g~}r8cuwtl2z0VM z$F)riO-EA-&$H1CFxn0@+fd~oE26Q!+W$rcJrB|Vk_qSm%wy;^P+0}}%CnVKPEiXC z86dqHB?_`(LdO(XVnJtTi}z0t&~9yWb{cU!OfWXLxc|nxeEH;K8k-s|O@cBoG}tq{ zAS_H(bGS&6$q3KPu}dF4b&;ltREnZ3F-!x!h9b++HH9ooRFPxWAQy8qQBg>bWd>gy zo?yEch0vJg0_iviv2s&?oiOx&>iCU%bT{R{3`58D96DP~?rwMRG#x|Nusnx(G-s#l z({NJ$w?Am3Pv-pP-;8lz&iLK``d`4^8vg7lY(0bi2k_)m_#gfijC1&l9|I=yCkp+p zO}dz~2_{JS* z`ygA?!;opV;NfF& z{lOpc)_Y%Pu)RaG*~It#E0j&^u-Y01a2Y)7xIRv^M{0X$alw3U&>pzRG9*niJhQ{5 z*JdkF{4am<0A7SJ7w|i8!DJ4PpFt47djl|aCjWNH$?=dpuBeKXPCKBKbGC1FFb#py zOR}uy)29_Lho@-11Ga%XOPjgsAs2CmWM{%((s zX|mzPv^Nw*IKg@Q4h(W|TzG!U4?bFADTFWDoGgK6!3Ljf{5i+K=wSf^d&-q)OS4#L_cYD6<)%`O0UhkDVLi02h(EmZ&OZ>hZJ!|S!T3bK2bI0Of^Y`&obAEGeKHZ%obCEri(On zI!*&k2nklF@`h0$r@%Cl~|K*$T(+TyF4b9th`ez)C zr!4arCmykPtI727E-xo@%1ls;l2+hStC*eb7JuRhn&tvGUcf>zozCg?0@^JHLlaP! zn6jeV?J+z(W@~2~=}2@OX7z+ZDr%wF+6YKQlXkB~l1uzda8@c7=6S{UYoZIk$?*>o zy1ZJ#Z=l;It%iZ7m6*1Up+lM{xSmB_$5drOHnZs|i{JmfukrXl{w>A#e~9yYZ!kR? zv9Tqf%iAlrT#1f`CHR7&mkq zzR8=rJb%kF5O$5_#Q1FwtuE1xiomrHWris&!fc7(@F{hT@$itQVbE`Qm`062q9pWt zCTQ7;;aZolT!LdmG=+Lj8f#E0zV)q#eEfG2Uw-nKo%?;_#S$74({b?I9UATSiY=kl zCUqQYA(=k?32~*f({EEoBjQ4*sGFR=IAt-FJlwtu@f;AOb;91)zs^oJ=3A{Pc{1j7 zp_mAts4%E9ffNRQvx#mhtSrJ!L;NzK?`Tv-ifuxxX|s$YvfAWqIw7_kqO#_2c#5bs zlwq-`Yfdu3QK2)fB+ClE`A5Ic!?)jMYiE~syM1Bku6uL9wSD*s`)E2YdeA|{I(|nZ zElaY{;N5$>EEfkT35MQ+gHyt3O>6hf)pMpGEhGH*z7CTYz?jy(A?8Mj5*oD-i0TNH z>FjK_z}86T8C4yls+#U?pD<0Sl*I82WR+2%F-=mcU>o1}m}Lv5iy@m02g_7wy2L`G z-!ZYx3fGfZPDL6g*q#l^4D1jp6Dos$`up$k=?{KL`TZYa|K7t_&;MuwKYf8v8m3v} zZWs&~74w5h55L)> zxiMhB+voUae?wBFtiT0R zXEr?n%ivba$Fd|!lgL_oRsO>znrlNkgT?aK-~Y)JK7I*?4%W@<&k6;q1&{a1PIA27 zZCH#+WlmaW+sC-}$ht<=6U@rs_Ljy*phKRc(v(stcHd|qiVSJw zG<}CGi>ND`)8z!^dn5|ZP7km(1K)K~Qc!CGRZBW815K|mY>6r=lA=U63=Gq{Q78YV zy}W-gkM07e=6F=tjARFWnNnyOwy9A_jZ!M!c>6Am4TH&W$?PDc?3~fr>EV2MA5@BQ zXBTdT@a{d>{|vr(0uMjrM}PjW`R;FjorAH?aXzIpXmh$a!n4~L#+=O@!5pvAf#|ywsyPhy|YOoLX2LA+EG~D zHbFC>ectd?DMb+Yn3hAS1lhBXcruFE4%#fMf?=Ga9SK_PJ@!XO1f}HG_PZ#f$LQmI z8aDXih#&npMG1wh7Tnq1q$*-YiDDidU^|e83kLmd#!!1A*kG}Q+dw1{A?RGE7wQus~*5f+auj{(_ zjW!df!QAhnrXiI+;m*Kd8Na}Hd!Q`|vy!8if}nGc@c21SB5(%pQP89O(K9Sv;uVK{ z|HlbJC`19{^5JyYeojz$;fXK*-k~GgTU6*O05!o=#6m_?a-)N!q zit#L_mOj%sXVCFDn+-zbgPY`hyY|$F*a`fae&p!GQZDFz>muxm1cCw1LnbCA~Ow9mYvT^qo zzHbl@L(-!qMe~ftW}Cs+?m?ZS?d`x$v|9hcWBBqZJou0w{l&lGyWjhOqp`tAOxW4% z!Pz0`eNs7Pyi93+nPE2WQ5`(RTvk~9_sLa{;x+rfHCTnFPh-g_9D<>U;)rIeOPQ9K zbxB=SsH&h20IAdL8|2lBP$4Ty+V+6`QX>`tbr`eR4VWChD*tJ%k=KHE-?#@&9bQg; z_5NSde?R{7f6aHk_W{QfgJE@b{YgD#xJdE8NU6O&CdV%*-4d_)5Yy^%@N9^tNvd+f zXP;%L8e|27jSjLhSmugP_9q0chDc+!HU`MF#FOc&#Z;cL(P}`g(b?9BiyF=LFlQN# zF<_a4V|c`2h}ZBKj>8pfq!7%~j7cV0#x;&w{oU$?*Y9*ebQ!X+Z?g|HGWEsvzkIC?ax?!ShmtarF(*%K4Gw2&6 zdBAO}CJjqWESB?_{zlH(*#uEG(XBqyS%|JAR-W@T2`LhXx>{g*lDITEUe=5&#ju2N zE)Z^m@BFiW&bwd#fIAP~V52{v)oNYA&AqNU=H>IW_UJr6ptZS6x;R0Jee8zAP@R7+q$|n53#95}c$3N$t^Zws6~ROub|_0y!Gea&3w%MAI~8am7zk zfomu%O|rMOg>9MykB=EFTZ~>V86L-+mM_`eaJl`O^FMofMz8%Q?Tt;wbI8RQFYx)| z^NgKck4asUNR!kk*}3zOPJck7*?i?P@#`v;>&EWY)P!**hw29n+8cfP+q?94Z*%zN zr<^|ih;btLR4SSlGz_@4(V=CVI8TS{rY(}QkZ6)ItB=_2xqQv9NEU+Q@hS2&VDBV? zWz6jP8NF^wdt-~?STWB}P@c;Vf4<}!@Aw3rg3Rz)1UZ^(k&k0EvqI%1UKpXhX8$ci z5VRCBb9h6q*$PdRG+8b)nyre-G(?mhrqv-!Qd}K0Q8B7g^xVPCLcEqDs~pl)l7|>v;6OFZDJZ0&S%FA7Qg=fU)F!av0|3JX8nGSbWP%EMy<)!WwNvIJ!lVaTsH23d({nk`OW%tDe(t zNmAvqh-&0qLpNqj6Z$Qmrd|=q1hbftnhsA6hHUL^k|~YTSmK#BtsNUdi}C)P zrw7MuKX}Bfh&eqA(V88e{9>QaU!LJR0lB64;>m)f2vM#>UV6MZ8FM_>IEf=tbT;n4 z&)&ng==BE|#SfS1uvQhKSD7fvvLs7$re`x2qnI?yIh&`9mO09Du!4ZmB*8X%*p`Fk z24ph8@EoMA5m$mxC~C{2Mx$dJY;^-1RbYt-nU0xjHjiJPGT7TBsTIeu#MCXyrpC!! z=lTAe<7vp<_x}l7d-v$}`d7kzw&P&C9(K^6&}`=6k|JI4eP)?OB{PC95 z6q6ec!V7pgj8JqbHIo>dqtxWAg442QlncDAJ%0NS|CkTI{ax+6c=dU*db%h2j_>kzbBv^EB``kQ$DZHiiwET)*2iIO#<$|$oX z^IGT0;e=+tOR8X)N_^A7-LjBci|OH<=SRnEJ$S^lN*Iko^mdmgpC0h|`6<5ZlbMRg zUoMF91_JvjYm7}q1Xpd;V%cNIc07rl$t0;fz0>{3j3(y3^=j^1b@>P<}B zVRSmc4HY8I!|;5%y?~v&yPS0Uc!_{eZ{jH$RW0Dw-8F`j9!_AfzS(B;wnnH;sdfb7 ziox2Q8WVd+rLLFHXal-(^aPV9aH>yG1q3^i- z^ulNB?k>+>^q7VTfu>_1qsTsMTTS}YGfdB--m25wRPYrOxdFanp>I|g*<&0x;negn zV}Uc*rSF9pQOtv%|AN~OKccnXK~_~P$73)!V`{s&g39s8<>1W63@B*9AzLb<}>AR-KX{_y+-qM{SIGAI2BQMHDt*NI3oejWe-6m&^MK~!QLBU1S1 zU;PHXy~*>VGoFv83~Uu64mq5-oK0PJAAio{FMiJLy}egOjZAkO;dnkjJUb#56nsyj z*Eevr3YK0cjH?)tlJ@`3Hiz9lCx(INH_)mgZWLflZCppfkLn0bn}Or<^uTB9?k%1l zoM46to~AQRBqYgaeWyu(a)#mAR9g*d8w##$BGwXY$wF+abd3okE9TVn@R8DDwn<1N zfggD|Nkq>y_~B^G(Zs|8j7Y#1U-o}96rj?;N<^$g#8Y%UvBl{$CP)k-MdzR&5`_Uj zK7WC%R7rf9)BcpOR>Q3~NT_0?@-M&o4b6=m4!eDhv-ax(P82epSlG6R9aITxHa*MX zhvzQZ`WoN<)aB6d>AEq8R)jCa)Z01}dyE^nG}@{EN2-O^6o^!t=5__cnGgmrwLK(B zCX75{LIN?t2|cVh;@Ft-`=b$uW0Pr;Fb)L_H1_)rPkJ6FZo(jv==(A2k3Z*U-~1(a z9)3it)qW)=FDkE;_rc5HTJF)!Z&J@nezZCrZa@B*Y5#<8|M4G?6oF=4Lyy4wX~5KR z2wQj1r54{FJ!7XOquLrl+u`8%Puc41GWp#zlHLZr@1D@?Y=FMaj|W3WhJ%C8r0>!3 zB|;&hKd|sb5hF;@I~zRw;xD+hcb`VH`PvL3ugv`YpqI6Sc0g!2e=g*>*ty{Hm*pe1KwzO#bJ0w^p{8xjx_ssi~dDH(rWm z=J2GkQ&O97&C93N_#xlGFWnT&)@-a7T}@owf%nw++^7L-g{9qH^$^5j zPxSQuMjciNf{vk>$Wfc8$s!#o!n>h(SEU1LC*S3JjXrTanB)Q)3OLo5ewGyU>`x*e3LDTM5o)FJ zoV~jj1PNyC55LQwBfvwXuvj;y`kfD&ZtahMIkpHCnsU6JS?%@Loi?7gxo8R9aP!#z z&E!I)O=%t=KjD$gQh@U(jkQOY3S`;99M`!EUSIyVtrP&mwjKS#C*rnW3C}571hs(7 zY$yLURW!W%y+m40`crTuN94vU%iDT*LHx<=V|XfEH$=Ss+m>fRG}&eM?f%}3TvvZt z;f5zCg^thNb5y>7wA8BT5tjNQ`QEH9#XlKqAEjcR(De8&L-b=#NnZI;q*vkb_bh>Y zX$But!Eg4H=$lLzcl#vbL>O;UmVt`~DNELQ`z4EF!&z_1rD)N|Qx$4~orMxvx=ykx z*AXvVg+Rt7>cu~=J+f{q@mQiV&d{#EjS)(#GkE)KdR|#|jLJ0eb{WVfkA}^J#pYZz zXMAa+13hzBp z0WaU+OJxI1%cPEjK@QSK&+AwU|KiIYaL!QZkEu>FUO;*#nQy-88PEID-hvaHzeqI; zrgI*OTd5r6^k#1K!U(^jp7PCizz!eHU0;%Ws(0gvd~TJUaCYZ9g<>*5;G|*4c1yXJ zhN{GVmiOfsj0@fLSG5Ofd3-+fc%+o6EDgd5pI>Dw+-DzA;S#Oc<^ zGtvsKig3P>c6#{4^_gFm?49n@w!Q?wp-ZB}r)TR&k7?hNo}$RXB1P&SoY8z)UOnEM z36s->%|nzbqR6^gi1R^NNIVoZxXv?tQ}+P=mvnEjTi2uenxMdjWB%%SYde%`S8q`sI$6DHGhxL_O?@fuVtBZzOR|?Gs&a624R&m|H*9BhonO3M3 z;jP_5^UeIX#krE$=*|<~@P99&cq?Cs3Q4f~_orEAl8{`vvz$e{KOiy8bmKH2Zs7!d zsSi=?so_LIyM5eLt5n6l;IX$0b9v$C2AhvWX4I!1E6IK!xO_bN%9S?<)Ifwq^&c=m z!@tSUOI$@sO!))szRX^eMN7CP4bS*Dg_0R^DwlJ=ioY$8c%Ox?dFsAVa@hgWKjuf? zf?P3;ev+zQ7=ZA7OwW3Zkw^t}L>M#dgz@4y8@DpR^iuh;sO-=TxtAg_oP{#XE~)N@M2HG)r%_m?{mbm^TH_A9c5C1`gj2!+2Pn6z=L*T8q78* zBRM&^Aaw8rYEO$Bb;h2nSk<=zjhwS5ovO_O`#il!eHnHpv`vAFYJHtoe!SO3i(w>< z%pyl!`B_w##ueovw=p~hjB9+Gv=c2ZJfUBKg{Z)Rx6xh+vt@j}^Z`$L7%P|gG#TSc z7~XvNEE!aIZ7+Yl2(0qi;3+WKFda-; ztoNyH(!n)2<~)hpbBFXy=4*pqL77Xm_%6bpBASg)XE!7%NLyD*jmmkDn}T5}3^vIIr?J)e9&bklUEfwO z@F3&+X4_l(j>=aaYr|plSgTJWh1Q9gw9U#yD!%j-btA`nh$-; z1_*M!9nQq~owCQ7a#d4Xfc7Wx4<_$JT^YRq*d{^9`Q%lYkcQL5gZvTNW1h#zoz7?5 zTf|{U{Anj5qi9$1SUE%BY{cp`q_h`)W->uL<-49lm>&@dKk`xP5{H}5e6P7hN~_n2NgRHd}wz)SiQ22bEe zjl9QnDp|#xK$V>Q`#J*fa}=W>tPBpkikR12Xm=sMSSm>UAma+~RNWX|Dj+fn-bxi= zIHQcqYfwR7lTW-KR|Y~eri$oS$d-PcoNn@sNhESTV9u9&`(^n4cc=c{!>mQZ{jmY$ zBpoP%P$4Kmfk3AqZ_FP*2WCTH4$SOS7rfc4H)s(CG%Bz(xBi+aOZP961Z&4*7XKaP zg}KX^m&C0fmS$G$Y3|bahy02&4f?r(eM5xl%{%YpLfA9VCR(wP>F zz2g6ETybcU*Q&La*i4L`8!&4GWv`m+8>S<36aQ*W<5 zYfsv27OM?6V;LLB8u0jrRO<12sU*e==we@t3V5%jB;3FOtu^=kC{O&Ul~r7!l^Hxv z*n+1*z#3{sz{9waUuUMxd&mYw3I2p7#&PViYFksgRK8ipBV3QWI5+Lp($hA;uWPrw z&q>aDT=9FI2$CWS%y*}ghSDV`4iqbA6SmoVuuvt-@p604!P`G3vBFKJ!H@8ZVDHu@ z)p4BBAsNbgAY$ngAH4SB)K9b~{_0RnxeCN(Ey;1)=iNcg1r(CM=mR6rE-COmHgs_jZ1YG<$sqGZ(l{nX6qIvUH z2@%QSw;iIWHQo&&DOKR~0x4ikthl;o#7Ed?&V8*eO~)o?mwz{hjna%-w7u63vS~87 zSVosY;YfA@^Es(YlPLew%xCq#!J8`LTDVpEAxm$r+^j4xUqv8`V69IOY0E!Vn($ue zqd_WKN>LC1=m7&%bAp7qUXGYO&5+Sc1tX!spJ%cwfriDVSVV>F8v8|&IC%GWpul+@ zx0&X18@9z@ZWa0=U;d$y*tFp&4Rxa~kt8t?Ju6Wx1>)&K7E;su$yss5k8zxrc*ZGs za01c-)tIUvkUfN&8lkvS(`eH+or*cwEf0qSalo!Q^;C8B!@E=78cR`f?|VI_awjH- zkh-hPUZFy+F+!Toq*=n>a1o9EIMw>H+J^QKQ%Ae)0<7)6{e?Gk<-3iV_1^qU0$Q|U zXLY1%XrPv1p-i*63ScpPnXWvRX4QprUaXe zWnM_OHs9SVZkIBVYEyh0>1LAk-RHb^bJzXTSw;gyb2`^FNEnh|x?B}kHr-0*m-szVa=>p1B1l4>{M)@a_p5+{G2E}p zof;Ji$&^2qEUpBGX!KbDlWVM7HaHQ8*xnDO<`Dx)3SxKRV#26~=oaI#vPS*7(w)p` z7b}*~;jjEW&*N%X^JUT=idnI2)%Ic9S<|BjHmy@EGiW~ScM9lky|B;3xUr;ISW@@W zJnCKDvE?1zJjH-BGqH`!)ok#6Ka&+Hte=4;kd?1xt6B~h?56HL;>emZgHh=;Of`RF z2u}GUzthq?fj!ptVs-ArAlXgK;{2N6W|hMC=GicjQ<>u7Q+bN>goC#h1}=N&EVnJi zog{cyBlW7UtOJ1)EWSTlXM1&;T;2t8?XQys$-%foi#yFG3l zhm#^Qi;qo8(ptGhT{EHK>mWZ9hg?wgihBQPww@={4i5-4{PvouiRDIhD=Cv%)S~zx z-Zs4z2N0Xrjazwf`1`^!<6jjPBriukfxIqBC12VGi`q?Ldjg5ZKr#zq*`lv*6D;3& z4}(*-S{q+~IN$2_^ugPnIiG>@Y55lxnZDa!Q&8zc@rQYW;UGSd9Gew;k(*~P2g)1E zYtgfDl2-3lGXCsYOcy)lZb{6SD1`%e?w6;!;{m5NUJw7X?Pc#bOf%P1zltV{COxA~m z3pdc%gkZ#K1xJcyw6~QJX^AYF_74;FWvE(=!ysO#1wA_#wGe0g2;EHE0$eqn2+XW^ zOMeM9nNzETPGJ^2E%;aOxT^-7cCZq>2*K;2^E0;T!|^*+F5SNUNB87L{o@P5CmQ-K zTZY^_wBhZVJZ*j$Tu1w0N)=_inq<7C*%1o6f?_Qi#0^@#t3L@y30K2cXAbx>#5`2k zo=G-ue~A4Rl>hn$R?%bc(q2ZW9hL6&@UC%d#r8ZEtMgQiiWX_dU&V#BH!vtQ&0Cb~qv$JMGPJ-d-F&L>9JhcWD!O0uChW95Fjv!+P1zc`yJh~VeO~6C6?0|Y zhNQW)oQ14t(NHc(v9+yJOftgqu<2l>aVvFtrfyw{-5ulhDhEEL?FDUhK6eKp-Zh%G zCaFx`-%HP;;yw#FCcN6t;zhl&TU-bH>w%fXP z`esQHxRZ`&=a=&QeSCTVs&RW^uaDDM>z&Y^&9Wx$@Lgk*P;4nAmXU15_nw@>D4_XH q2(gsJDu7QHLSP`VbR7S`9hrKvs56jRcSzVAeE}t5&r}Im)33o 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 9c404dbfcd13a8f85006574ca9824515d89a5609..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46885 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 N9zRw72sMBAKLG5ng^U0I 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 c1d986b0f1073591d1ae0b20e28e420365780fb6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 852811 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∨?Ocx&6t^E)wQ7 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�_AB&->5s2pG& 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≀f>Oa!ItS&R&{ z@HFmn?>ySPC+K}e4sRBv>z$>!)B(t&8T=PFo%e3!^n5Vc`Y4@wD2;iAAHRzf05s8JRBM|Vm$NW-JM8|mi1&);{x|98%wb7$_{m^*X#&dl!Y zj`$>pJCWMC(gKbqipC|$wD;R|dLN*a zd01Dz&m;UEFvZX~N8V~NSZOW4)0rx&YrvswOvc9C+a}32&?!ABbgzzwPvWn^=W~0( zI)&ENt0JwVFnF|%Okwr5MBHX|ezbOBrxe*>p)^4;+%Zx>(7bp_vkGh^(mhHHKT(ho z(h;lENQ@fo6(wjDx_#Rh+RxsjH}lvWhW539bbd>3P)kHA$A#OL?tOpqn;IEuC+23k z8Fkc}<#+Ln(a~Y4OuWm~RQ!XQursujVIwD)b+w6L`^Fa9cw^B=TV_q4>IMO+9UNbG zsd0Tpm14c2IDPz0Ji9?j*C{Zq_7Rg=6O)-p5{JgbRLq|`&RuMr?4}X5QQIHK=qX=` zp4=2I%2wVOm%Sd|t*&o~-`sVq$S@t8ERL$Xan6lZ-$!|KIhE720 z_YZd4#g_|}W=@dOv7(&)$+N4c^s}4&&CLzDHSeQ5diR%1MsY=adBR0{M)_vbj!mt9 zOy;G1H!@jCH<$@g-7ixAY3p*$8?(4S)@bU)&+D`W!P8FY8p%vP_R!a*crwe2S((?Y z8z|OSIAcsau(VoGS@TNe?L{XfQjaL+B44_;KiYatx^|aflrd+@*)5M^fi{QF$t{I~ zJZbcRjC?Z3Q!cdDl7ZScZiK^~=Jd#yPl%ztq8de_Z4tR2e z%3;(Cl;Kw|1Y#&ir+Ce>8r>3n7=5FQSUxmiEHS@vCu^WtS4ll5S0$wTv3BU-=GU0vNPBOMs27Q3WjyT7^*x#H4RyFP2q z+>4{EAs!TNYo%Vz`wZK5l?|_0xxPak+~JB_hndTTzNOL|TeyEqvA(jZZFRdSq~O{} z@eWj*({N*u}*Ku?0LsOY@ zU6U-V3t6P}Er@5C2Aqm2LduZ;&K0r{6tm|&^%t-habfzyYrN}HP$CJ{8Gx~=s1DE= zspz@b3QP`^)u(8LN6mGRY|esvJ%FwcIHPff&I6SGcJzC!+r$$G*8T94+am_tz=A=vN33-(d}jO^EK zw`O9sxBOg5>NqZ(N9eu$WWz3xN<*ItQ;Pis_h8x&Vo6r$;`&&1A$MJ3d&=wAFA2Cd zqwmbiJe=zCG-lZ!?RaJ6IT!nh3E(2Qw5#4iXs7CSw5OuXrF%uctJdSpFIe%EO5m#c z0@s#8^}kaf-}EoV--d%Fah#)BJ)YDD+FETlR0c;)X2#}ZcokZCz>Be!e!%te_`A+M zo_LE%LXR6LgJF{)d&qgsZ7Rx(Z%!+Zcun58*HZbmD^v}t&>YdLW#->veHUl#ZqI;p za1r$^AS?YMwAkYxjm)@U`H%F89dBvf_WRA4s+k|@@)|b2_3IYm6*gV0-fOSwFBN}IRB_0ub#55) zWTmFnBwfGHD6_laRA;JwC;WS9_w`SvN!;C>*JnWt8=_1^=&$#=JbEB8V}u^)#hAt) zl!aK7$4fDBz%QEHuo@4-I9u$BCr$DUkigp`$j1T9dhwY`$y1z_4oc)6Kh834-8#&MZ!!g)>|`qfrkWxwlnVI86&o93-sj>-o)V zecC+y$SqH*F{$8^IKE#w-YcWvI!r#@kXQ!Rp)gqyGGu*aX|!Ow$wNkpJeR*xc)sbZ z;*pZ6G-SJPzJR&W%itzh=P1`V>2rpo5>Q)MZvP2)pCsn+4e4aa8M5NiT0z+07$?|F z9oJSb?H;ILQ%Uoqu(e6&LBiCk-2|Ar)d<+_5mZPq`Nv(_@~TMBX4 z)z9OsTfS*C4@-sD{h`rg@y(b`IQ@QCp4~wELqE<7f=Ii5La^kujq-IE z@RYZpCiiSS?Sw(*_M8Wr4NvUh2kUFx*eH8vSn~H`SaGm@!Tjgsy=(Em+pOxzq zX(z1T(#^!QebL>$Yt7?s$Ksw2CJ2?c;Akl zf><%5R8ibiBGzG>Dan=yzk&Jb&3l_pMqnE~}` z>-B5C)14RNH^&0~lKJO9mKLu!d~E{2*cW1EQ6Fn$){dapHdJ2G+b>j?h1tozr+`U9Cd0x}6`r*w$Q9oUphxRG3Yuu|-jp2FGP?^t4N` zH|jp%Y1z9-Q!Or0i;vbG$oCkcv$Q&0a`PQLYG^`VZ5dY@b1c1{upNlg zE-b*dcP@4K>${seaZv3}S#fs0GXtBPM2}l^uu7@ZP}?gAP;pDo>|J2Y2fjmNnJu*{ z)mHO#J)_Xq@XLb`sz&O1wI&tkFl+ARQnNIS6E;oE*#$H-c_b%2-Ki<89w#O9Z_Jc! z_cafg65-4SbI&MDig5llRowYRQJgFVilfLZX`T>dND1%3n@RyArLy=$vXXel|53f{ z-PQ9c{rIav7T!6!=2I0A|HlePLmL6}2t_^qK{$&?6*xhf|ESTBV7*RuGmlnY2zzOb zsrr;6HJgxHgvGxU+p)Ck6OhIbnDqBx0_q@EED=|>AI5sy>}y-Ch9zpgv*@@N*8(sn zDR9Ir9eHryQV^@$R!B21P-A1>Qs{j|J^CtQvP4Z6NK>FXQKTu16`$uNp-%poCC@s}pBqFj-(VV0hVPly;dY#38pOAs zbJS6U?yWibBbTVQyQ7w@gT*2k#NrWrgp(GRO|!b9M5k zC;{j}CG73zv~^jbdjn1)&!(`QGK2P*otiMGbXI(@N=n<#ISq^>_h<|Pk*4^TZ|Ds2 zmT#o$n$f0eSJJ}vgq)g?r#x4D2ueJ2b90-YEd@TEvZ+gsG|5Gt$`-%kse5=?5*W5O zyex<^mECbp<8;qsAQrO6Vi1TjwbXv@>C^<8TIx7As|!G$5~vG!GBvz> zBVf=Hv`4vo12Sj{+Y>f;M4b}rIA?ci!kTJnKX-Jx7cwAPzIj#`fHqaSa%1dtkGub< zdi8)~K(unRi((^$uY_hquq>~%BNd(~cPug}tdHD6JRvB@Vr-byPj zA05}P6G+U=*zCV9=I)25Ocn(_l92q(Pp2uPS=G=pwW>=lQ~fz~Ov@GtC#DazpP0p}=IupqxHi!~41LhiU$wGJzuMvjmucbR7-YRW5gPr2E)< zkSaB;Log1WCdJ7Ui9=S*6KQUXd+xu8SubD!i>#|!(yxE4b2FB*u1-E`oY(%(uyQ-En`m`D@U=Kni|$`CH7r^bZyxor z1**dDMP_`&BZ`%mkNV&!oGjZ1|KPrI)(4yZcwNb_jexMh;J)Dpg=$ z+<#C^;vwtjt#9<^5o20Q9>5B4MRzO>VrISk1*8U+G~5DJ%P%fwHc=n4K4iWT4`~Au zt0$M{3riYg4<$vDcOqRIM~n?Ed0$#u`r&lPmoHB)r*uc=mNa^ojIHYHFxtzyL&ug% zsREyUYssb!R5cCcllJ)#7$0vQxD@oz9DFCjaPN=OMoJUd(n@IiKtU527-KqmCnEO{ z@D->ez|}H1n%08Rx6~zDWIebPx_$&g7$x^Warf!u5^{JX0U!YafEHkPyYjU`EtEaI zgbXZ&HXzuf>|K!&Vz$1S*aC@$I}w@7OGw93QZ>M2_&_mn56Ck5gQ)xKYhPk)pIhHA zcTL|mgzw2~`Bbh;fI8C#mOcQwUf(tvhvD7&`qA9pR&O6oeQU`f$nzt`TGTwbbhrPp zc?4TOB7H?TxTMjyG$#N)y#(;ZWX0FMOxL~`hz?MAXwF15JZ<37n?Tjcdl7=W`*hKP zJdL)cOwG7=gER^-)^FAE*%g>Io`Xw&&j^^oy|d$YA_UK}Kn0NwD$7S+jRa`7@^4v# zTk-%ytZ#vz)Eu}<3^HcR*H1OtPyH4nm^Y|3JblmhhL`M9IjvZ?arWhZ=PcPTbF^AcX5)~XtKI^>FeP%a63+M z_ThU~KP`bN`S9R)@RNneTI-~>zcfyM8(yMppKBbG^?01M)AK49Zl#la0@C=ApVZ2Q z>+7u$P6a=yX@5Fe4+=~sq+}r@Cv~RGS1avWwUjHEW=dL8?x*6Kio&QlaigLX+P9CA ztZq;h&iCwGvB8I}`oOLjm>2g29on`17`Iv{e6vv!m_B})$yn*HH*J``5XHz{bjDRG zn5H9W?t4;OKNMU}U^FK1_8e;{Se}5Klls(@IR|$Ni`nDdcqWR*ksl}N9va0vUSIEd8d}=a;!HFzxn2z3vd>H`uvV$bzBrRBuzZhIXigOff2Gc2jSw? zGXV8}OzID8>vv2Ae-ZaqbHnY5Xf&JGALxlnGKy9!F4c(Djx4@8$S65)+7l2uU)-)-URo5c|F||;ZS|@Lt%GuUv2|mC}~gRgZF9iI3K~}51|I$V%T(ff2pVZ z#)>S62SJSy4n>ceZxo3uZg6xwnFB|*J% zzxSi#*Da>r8F)DSvd~F0fYgpNp(wX?4X{&`=XTFlV0Urc2+QQ{43uz#J(_^=xPm!0 z*^mfWDR@9fEB07{#}bA%Rr?LS|5M^PU~OP#4NyCzQz_3`%8l0$k5xHDaQE4FUAJ--e-%=Dg zkEC~VPiO2MLc+C49JpSVK`tekV{3^2$g(;{&%M+Bu$wx~iH8l_(jQ;&zVK23dHOuYO%Bw7DvPaZp zZX5+>pB>%hm<`~46l6{-I7r*$W0E+3YkyRkylkmI63||4d0hdfEur{Cz6D;~9h++| zH^eHCHKm{Su9*(Oi`&$u%`*xV?u{^V9O#3scTZb8+SiE*LX5cN5>&fyy56feg&H}X zKi%huTeRFu80PFyVCEg+;~k@n#r>|yaPF~In33C|LYHu0 z;DHwv|1kU~4qb1;waS?l=BtAZRIl(I;bJOfQPw>oD}l;%O-sIVvxO?DU(J!OugA7m zX8Cka2a_#*Bo!`8560rKS(+BUX^+0BczwU-I8NqF#zZ^1y5%`U?;mea zw^K71IP-s;U!8=liA zrgwu!HLv)QMd%tV?0bf+FLfXD{eHXMw+^+Lo}&_}{2AK@&7x3NLXIM$h{c!kq_Sfj zIo2>8s8!?R8FO8z&y^0$iV9`x-)BdX_Q}U+q`E1ruAxg9g#+_fx`uO5+AGq%*zW}|hwpC6V%ct1!PvE(jA-Tn~-gmW0 z+?#YL56*h!#@S&xu-sabuU@j4`&7h|amj&sDO3FVW6H_om43QPwxONSe)3`Sw76%{ zn473?eipmAYWKBtL&l(?Y-PP$+93HC%azW)v_aaaKb@8JS8`c{4(&7ZbZLXofth*B zwBNtR?GK}Rie5;k4??khK)W1v^COn7JKX6)-J`SiY?+p>Jpy2$OrKrcxr#SkvDPSP z)!KnKQo!s?k&}d;6QD5!itPYp4!kKPgPUXImGw@jj=naP0^i*ccUgmIx?&==KSgV(ef;Q-idNh$T-(n<&0~k{ zH{Wlall1jG%|UbNzMFg35XPxe*{4DsiDPF*YBBk{B+FvXLGK(_cET*31i!$0(L=>6 zlNtY3IL2+Sm_B*IcA%dX+h3npBY$SGEna`9x=Tf(RAH{Mi$OKg$O$*y!TTK9YGSSE zvzrg|u9k{NQ{nRqM&cdr7k-%*j%5}bE(^DQpWV`)HV^L9%tJ)!+_!dgwt(9VtTeX`cS#@$NNc$U`3ipaCRsyHfEmtV26VP@!OFqAGP z&kmi`Hi*M7SvkT58$M*HV@`(tnj1G?{3>nAgCg9!>*ztX?;R~GsEnGuW}eAbIKSoj zYuxXcJ8!!}qj#aKE@}5d5Mmfwwsd=@&gx{MW!Nl+`@Q@n<*YrBO#TAJ;D7>lXlP^Z$VvX9YvZvl;7z7vH&^0Oym-{v1|R45dyU!~(?H*+rpp z;VHe7Ea{VL5GBSEprh^wJ8rw!%Cqzr&|)cn`y$-X{0 zxqRy1BMwfS?WO)kC&}-7t1S`>=qU4bWyX_7Ulg8B|B@X~evv-;QD#s79aWmb{CyF0 zOHlu9zyO1}19ACcFZbN_S>CpXlkoE4uP&TCTF_ z9Oaw7!Luh0FJh%usT@?vaU}ln77*bSnI(3B`Q9xp4S#yHs<;E@SWy{02glNz6D-;% zG$eM|Q>#+Vd~YT@UW1$GG5OMAuZ)pzF4xO`FRaKRQ&sOIv*vemF@8mjyKdD06uk70 zlZCQ+gWXCWLu<4Kw{X_9aID5bExE=))Iv+G7Ta?%Ny2nC$#jJxCC8SO?RyZf0l&l_ zE#s=3ke^jK?LUQ<(4NdPu1FqMY>*4RW{?+p%`#)B=yPOm@@96%YhGc(ivGrbU)Q|1 z{Lx21iIwPTtwvi_=Xu+U$?s|GC9UI3rdZq@Ji#qz{%BdPsYB+F&gUTLlRPB8kxwZS z8bK)W`U?rXXuS}|R*C4Lkvt?~ZZ!VR(b<DN;2E=Lo#3?MNnh_~C zNr;h?L{`k<$(J7hx{6Ue0w5d7MIw%46t_U7{56@2^j6aqaFGbnf1=+5@#*F3&|IV* z`L|p^s)Gj&b4MfSY0pb>y+S~O0g(28@&%|5J}?Pj6h~JEsZ>BN|FI;@8_=Y zrPsc{w^E4QhujR)MEWIFj*)RDkezT(rEh*oUH?+*T=frH@q=A^m0WtK1pb4SWW@sJ zbOP(7>t9kEq%3W5Q(*$;xd3UJl%*h91yhI?6vz)yak)qSp@|gk;iY#%u%FU=Pim#& zGQ>^&A!MH0K~=c!3XK^5hkywoAh_Nt`7lclpt3nkg#sCX4)?MsZn+Qzz}3%lDS84DRTF@94?=(` z-XBDQ?eb660=~m=vbcUra3X7P4P#MaI?P}O)s06#7nG?iK2<3~G6H1rW$nbR@JE;h zz$k+0L2*u1=x)5Ah3-+3kx$g`N~s~0?vP5J|8tRxPe~saKgZd&CmNX%1SFiH*9d?R zP#Z7fD-r^&Cpf}IGXhuD9sDBhX!RsGAgZ573b|Mm?M0OmiVr%dDf3`7C`&@z)42-$ z>?v|XWDXC+>iI|$Susc?H0W^48fTjr_3SxFL<++v0-yl0BqLnh5G($mlGtTzF(6|g zK0Fc(h={Kk#0ttXZ7Ng+_V5H{tsn#YR0L&_9qw24;!tn2bDwXQzOQ#Fg0UftrVg&T zf2}O?!UU8lB~EGXs*x$a^?W3fAFwv3p66Y2C>=}A5Ik47n9=CK#pxO&1XQpv0$1~LcS5G z0W7Dh-p03&hyS!vfH;Wtj_RKQ1+*%eo2Wi?ApdWOM!*}%18M_gMdZbYCxWwJAQ24| zpIr1aC7kV4T*w}1+kkvK70|OQK1>5Kwn)cE5=jUOh(&b;660uYaky?Js3d`-&sFgU zq17KhN_SC>80Wcc;Ej}4T9Ay?qn_#2$f5|QfX_$~W-BsibDY4HlKyNZWXo^OvR=sJ9;K*_?em`WXu{SlCp?PJH+$A^9@U*LtXK zUvjDmMPh<*5e~tEEO?8BcE&<#P2hk6#|+xo2^w?(@hW226M~Wlyy=kusI3&@jfIrH zfy|+6dH>BW3-wR#^Rm+CCf*aA1Jj&1Wx_qWg~v|?Km*jR?e-LjpiAU1!19SnY#=(&W=v!+LN<~3%nV^lmpba4;JLJ|UZmlPV|FZZdA{m~@tpHa59*Z23ZZme7 zFnJj=*7tMlUNpS2OeHE4W7^gym}Tz)KPn1BBDM16Zhev;zAy-wfEHK&?C+l`eO(ZU zw+&WZUK)fX)QZ5PPD>yciDMMCf~H-NiqwDvnr<*IK<4r3R0Rou7q74g>5vfUW?bDL zsDEw*_9U@%*)=eyT~T#^m_6;7OF$De2}hj<+!kGz3gnTP!_)c%7EZoqjZ-Fxyw5Ld z$6E9S$rpG`*7^ji3?EyKPwOcHUu}KzX3TN=-t;Wz2Eoy5-`K^Z4gA3QC<768{?!X5Uj&rH$3t5t8TZFZh1MV@Stv$f9UxhMx$7 zgwlijV-z6(Oxu>J(YO0qNgn!o)#w-B=nU%q9MHL_R`_MB^2}fq4_*){;K(7`4EM?H;h1`+}t<7N^=TZU4_#t`8axLpZH z>%uD|!YuoMT=boF9Eq8(RSCFNi@t+D5X;&H5eT76bh_3o;>BQ>SNf)q1wxZ;1Rm! z)7FT_r=U+1o*t8BLrvyq@PUBzQzG zo}^R8!4v`>e~g1aXDPSL1NvR}!=Q=)SgI`Sxv(5&@-}8N|MTB?&oc_Cbyp?Jq-7EK zPN3TX==T|Qi%z_(GklqhysaLu?ZvMAmaPzrE3Jt!P3tC}iE5bziHR$$kKDqyijHrJ zR{NHpp;=ES?&f6y8p|v{f~dw zqfRs8apNQLPNC^W;Y`PyEDEfxm4$KdR)}Vnv!5#d$R;Izz(#*K7`!sw9cZi72(T9Z zaF;OraQo!(zV(vt_%YtE^eW^XuQ~hcLdL5=yXxZ&%=JMtqqx?!(XTrF!dGAB{ghSY zjEGMIe6x><10#N;A-)9|3Dqgt;i6#&&cF@tzRhLnd9!&xR(8f}xp?`M*#Vl|bNO_g z^=}!ppZY-kS-tHGw_Zl0*lrCVOb(Y63T}$%IsDyCwb~km>}b?*`}DG!A$Bd(#a9hf zS9yP{ZO55vbp7{=HDYL7&#yRHX-zT@VdI~O z^p@5~Q*e)&dXH<`ToU~6cld|soa(q9H>H&_1Q;aspa?@UAqz{27# zoV)n(;9~%c|1&z0@#OAgnIIXgOtvwdRNApDwl5V_-s}E{F`}1}N1A6HYXw9BAF30f3^W1~ypR{0|yOm*DjP4xu8I2KIFf+~q$OK&u zG)xPW{!96tB39vtICvQoZIRM{pr0SyQIJ^n1Ya8}s11!{LoZKrG=u(hS5p8ktVD$& zArJ!;RY3%6NEJx|hMnjw$iQFPi)U6PAZQ%--1BWXb*EA8^XB0fey3Q?N%nc@OMbSt zFKSfmY){EGG^A@a9c_UEUX@~HXILM^L1P<9QinD z=XlVwjn6m|QJw@0T1$Q*jzU<;v_X!|*v;zXq8Z4RQO+UxO6?f;wC^#ex3J1Mk&7Y` z@sqmMXNCf&jMLWf9=M6MH(!mt7{2!L1@IAo_x(zFVUmNuzYB`RH?a^jv532f2x0{` zjJSfdb5Q{F!XPmG7kx$&5)Z+~L(<+vwr|FLH8fn=DT-_#j6RKwHO+-Ojf}ki9GF?w z03+_73+o`(*R2$Yp%HDO9Wjwc6l2A~!3f9z1aY7^?u7}qTPq!**Be$4WGI$|7OdK<)RAgNrlLt1Yfu<0QHu zZy?LsK@#y99D%u-fKE2}aMVpS(!4MWO14$WQ|eXok3VI?!7{Ii437D*`_V zz+3#lRnQGN;SR>jO~&(??KecB-T!_|WodCU&#nY9uauufz;z(hDts4b1jf_Ex54Vb zq@2MNxyuh6j0cy%5&}O7QU4K&=kYIx&tL&Gnp!)m0xgy{4HE7CKh=^UE{Wo>*J`^0 zo;Zn5Y#Eg^^5E)BWL$!sEJd}6PmnEW^Wc_l1gHvOIXr4in2EfAbpSd11p|Q~13_GJ z1-iK2uTb?BWT+$tG(>!+6>tLtR0xT|3j)x9kri?wC&b7WFM=yFU8ltLq#+=g zOb%MU9IiaVWfIJOVyt&yKjT)`_Ro@K=5eKOKh^eUH2Nyiv>S#U<4IoOuti58AQ_Rk zlouA&9k48UZX}7B4J-~J!Rj&))Oc_`VCM@4sv!*&Xn$Hi!ljdV zl7L${k;#s!2k<>DxF#^URV%=Jd76(5RltDukM2KDgbFffv8fffsTCB#$Pj%8P|JoW z0&c#6Y!QXqua4D^i);Y{BmvEu4Au|;6IxVKuzVh;B?1C#F{`a91lJ2fPmk^qWVpdU2?_ zgF~zHBGx}DxiUHs!z7zp@-AdTPVED#0#2~YC&0mBRBE`cfP?eE=}3X9PUxoFlNAT6 zn>kb<+AFrY4|rI>z=PV)fed|z0qq`Dhodl53o`JqsoA=z*%m4DBI=J|#!mJMQC~v_ zjDu>2RK$qGXw_6I)NvBQ$Qv(ZrU0#AQX7P1JBMEg$;H)Q5t6In??@18@ffTy6T#$( zU|B^8wXh1Z886aOLQ5qXnKy&(q^0n1t>QSX;_8-ey21AflgbvFU;~!12mOysQ@|^% zM9<8V3jQm*wRh|tSb>>gE%D2x)K`IRXk!RC3|M#Pj`|2VRhzNwu`v*P9t1-kfp=br zQg$FB1(LTt^0pc0br^41C+Nt&^{GK?iH19uj60W5XLMN={U){|PZUI^l?yos+R`;x zy|A{=2dm!!7$bwf4FXO!fzMD6+`m9p9dKEOb5sQmgiZJibpHVhgx#u;FtHqQ*pvj! zvq~NnYJ>q@L{n(OMKB@OqR=dH7=2p=DrBNj95yat^98a`rAC68n3U0ou7DDZw<64g z$RYxo4G_=}O^6a)0gS2$tjB-Y8axIZK?a<-WEW*rM1cW>dmF<2oPit>NdYo8JbNW1 zg;4B7AM(U^SpBbq$K)VqE5u`uAOu!x9oOIrB@950 zO9(LJ^m78y3yYT)$s!dy@g3>Q&mUdto`dIp>CdfK)X3M?L=|P4Q{(B*NyD?~+BUF? z99;Aom1;feb3T@$*`@5k**x_c4Qf3E^n4>?W;TGcO%*q_zpo{2n`L&hD|OQI1?YfsG+v-s z=Sww_-iWWiOZdPnfsa*%I@pf-LsT># zel;I+L@G+g(v`fZYhT5vd}n-L4=Sj=Ug*LL2vMWdIIHIg{?lnSd{c99ALr;I;ffX@ zv{n;sG)n)jlb3@bqRZg}hTpUHOK89`fsNls5=we0(nVzoF-9j5O0^Z0tGPG4F&pQpJIhee zW$3hG%xa+g6MYk1@smbzIC#x#sKw{I;UYCf+W8=J7Jf5lxtu*l7U$qTH zC3jtT+7qD-{|~#Oii@y7&ftf0wS;8hvB~6>_Fd~-GD^OK&2!1CPi0~+eh5YzASZS_QMwpRP9u# zzV8p;1zvu?xwy8r{W%4$u`%3gX<5JSAG?hOg@ty7bLqCp>@Q{}A583`dwE>^EG8$< zV=u2b4?mK}$;jpi9Ufi!J2_MZ(hxRiRXywR`LJ+5`YdYwTx9h}afcZ(^efMrR48@% z{A%%=8moLUK@z*dIGoD`)5O6~)p5#kpK%X&8o8WCjF~xwyZcx6=oz>rhypCJGxiGN zZ;W0yd<(ny+t(syT$JC!NWY_S9?Nrj??%v_KvTAr|D!JZM(c)@yaK)zSR?jg)$FJK zr`t~72d^pP+_K$bCA-KMb%|on-k0ciz6y(6-xhjeHe!hxE0M4IRGg3F&EkQE!W!iT zi8kBO#WmIP$DX!RFq!!iJ-iI$$7z$y*d9;uL8_{)w596^HQG=zD0vPb>j{qOF(4 z?ao>4z0c5#ekVuSKVc6GclzEgQ-*1s_m%=UdT-?^#|t%|W7F#nkp5O*kXEuAhrHie zD_1ln7*+GFe0cf3^2?zx^!Y5B4JmuEW9rp`0;#ZL$^5OHxMLfFq3(tTNPGQ>|DriT zcLNjTEnJHyyu1Vsb9(M4429dDqVZ|PAB1# z0P2WY9@j3F&t*N3@qXoXe+JZv!p{)$wjEzdi`S%i23F%h7yjaVuIAj3J8o);rj}#= zN3v^8G5nVw!%9POAIzEH`fAI-*YDp-$FiKmh6UTV$W~4j;`eoXRaXt{?$24C# zVCT;GaVgIjAn8UjW?%&1{c!qPr|zcq$~d3I^OuO+iu#q{{&F^r_gS{Q>}=&r+;*Q; z;c!>TX(Oav;w~x7q~Qrs)cMb#cF-~(6nnUa?7iQ6B;&m?2hxVIgNn1=s1InuM=4eE<}8G_zFXs?^V7P{I?6b`eB^1x^bZSS(?3fEaq z0bW9#w0ro2{~q`t1+qmn2uB`$0#9Vm0K9xglB zcRKFjvTw=!;B7^b(c=UUAt>tMNbR*5`8?g-2b|VpnJ~o z=qT6JzjBr-04Znv(e)FsTbKnFApxiT8but=ZCY^y5^skp=;XHA3XQ+*`+!h z^~z9mrqNT+TX#ck$>z;=<(1ci(u+jJq_v-A1HqJqWTx3nJ#pJ|*;=@Fbpy`u_qeH9 z`wjAUuCGP%(1--C*oR6^-}ZT7?|Mdyq5tXD7H>eQc%8F3D^YqAh5I?p5My?A7bEbv zaj$i@?uL=e&tyrkkJ9D%FMa#Cs|Sfx1exO6eg|=XzGb#CZ(>ic=-t=9B`8hK7b`~| zp5)UG(&DA#&BCAbGF6K(N40vS^>{ROlmL``H<_M&c{NMU`gNKPcC)9hLOzBB*41hCnEu&(w3v zD_@)Z)i8l3Gpqac4{;uU-`PK-EvtO#Ja7$hW(!LH5p^o^=X%xV^=X%VKarK`_=XVw z{PjXZ1y|qd+OX65r%Cg8FCyRLHH&8fW3CiDaWsA5 zPVIhqSD{DfI-fk2K#Lu!!vY@+lqAJsRgKl&bZQ^3Roe4CbXzn`Z!cdhDVBe{^Ug8|disNrS=^oNfx1sb&#`l4Te3?$lSr;qDE1tC|31juFY15)=WCWZ0V(+0hqX%$$NVWnM?;Lo#1kp! zlY&69PnC}jcRPlD@A3!w=PHc-^P;G22*qS;@<@gEdxkeAD?RBb5TRuK`vio=<+A>0dr6NaCr=$M7CFU z_*G5OIV{)v8^p!!>&J}v)#<2HA~F=`X4)wRei&wfq3c?(u%4K%)s`3gXwCSIZaf~@ z`OaNJvzPA>ekqAy2N%WPX?cop(5hcVv{32`b~Ast#jZ0EXOqS7haN>|($7pef2_HA zNz!9UKjWf!R=f%J%pDRJz1QFuN=@U`B9MQe`86jBed}@ZcYKA)80lmWueVki*5Gy$ zALQqsai^_!WTA0W7kVO<%I`RGD)Py@ooBhf)XTPDoY526JVJO~vg9sQPvOubWq$5x z+og{B_d?y|HmAock*cN?=@T@_TFc`5`yg6l9O2GwiO5BdWkWwJ+Y$|2Pd|<(+9}1e zNb;TT;0M)|hmKY$|7Qa0$EV4PkMF+_d-nc#I!5U}l5)CpZ0*_f_9`<7+tY7@?eO!! z)ZW9>jcLJ~SkUo0nXb%JV$UEx{QzN*x85mR;csn`r{2fTmvwebi^l0LiAzHF7-@yS z&4@0Yt0H4woAeFiW({@El%7QrFCP3Pxl*RMb8iLQsxioTxs4JdU?eoqE8?t_|KTq& ze{;_%eQ+Q=G?4HrPvnXyC~zz^zLqN9_gHzE^6&E6mI?Ahu;=P6@!jW!b^i|&twLM} zYJ23}=nfqVkgFe0&lmP~byWHN>TEWlx3)yR6p?l(oMTFtZNHy&OvWXIw`K|(_cVpQ zPU`x0+ngiXZDrK3L|yvFU8r65#LCJi9_6Zj!Wlw6ToUt1Edl#!_VYz|x6aT&Q^M_F zX5=XvCAFaqBcFTp)87__rm+_4WEW&fBcXS?6CKvmG`I1dc1ybPR<4-`w_YWa&Fq^# zm((*RfsGhqpDj+8DNzHeF&_6>cn<5YrCKAM*>Fp9DmBGcHnWFM59w7x{92^~gpGTj zjNi7&pfBpBT!%JeW6d6#kjV(%=TrkcY2{RLYV-;0RcrAb=< zZ{!cwVs35Uv!$5N_>Ai*U+4yt9!-}`1K>GZ+TJ0D*Ux%C3$3f6+w3`4bA9RYo{bdv z{_~QyiR~soMl|X|qOBr^;Bnqw_voc$R`^k%pS9<9?~9(#2XQ3rjem~dfh$ct)Zs%9 zg|#EQEh>boqMsulQCh}A1Dn;(g`5w5VsiT&V+S2&i4Ayw?)aMSD6bs7uEmaxPnY9S z9uswLksn-*4v?=@y^aAF>P5Jar|&U4Qp-{(CF*=F!i5}dGxt0am$qh(-# zptl^jAnXxCzN-x+8WscOid^LdKSp3sij{gFvxnTlP)~qg<#vpS#yt-CHoN=@T>_oR z21a^Du5M&I{bi?_J6Qij?Z>Nka0EW{a#`gSK#jS1YaqMDklLGZxfD=IF4%8!&Pqnv z!9?G?EZnhRoSnKR(o)AyACMVx7wS6ETd@q9TO^_utD{Z*84HgiB~jN=m5*oIPy ze{YBXmrD7g7L~uQxt(y==JoqMVZGJPoqT$gtIZdOcHIYoNK3P_oaWu+YGxndcWKrYncS&yZy5d+DeUoJ=tLe_=t+^-_S-F!UZKeXJ18)1)rc#=I^*l! z3DfcMl((VL{{w$OfWKfWzmA&^nrgk_=C3nVJ-Yc9favkyA2wC{aM$m;Qt$b9HSjlh z$WNNyNb3OP?z|Z#J<0s_ezuP#E^ZSW;&T+ndo;A)N zo#(wDaB`mae!!V|-unUP=XuYs@v%~``89sr^Xv1_R&tDf80B z_KtUZdCWuqILIINkUw0i#&a({2VH!eU*ddC;tlCO_>MlmyZ}6G1OM#P^&D``FN5=; z&Kz>6_uy>RK9K)!#GiVX5AMC=emd@%PbYT<@+&B#eq#Rbq5pH}D3hyW!5=@B8#lbY z`ak@<-~P{OOSb>r%X6kIUgje3A`4&)T=07uV?bXRbe%85eVKa`?#rOuUpmT{z2Nt= zFEg~@{qM^lPrT1{NW?X!bS+f$x`pq*o~s=?UQJLB_`!OJYyS(q?^7IJsQP)Y`f>O3 z$QuIuveRrkB93r4&AW^jQ{(v)<0y4aV3U<3FJXwZ_@( zuo^eresZMTd)z!xuEtF_|8%*kPdEQux%a&CVmaO~^!D?15B^Ztd;IMPdyl^d!`|aB ze!RwC{CMqu9SwW$f1L@(kBjY4rn4}c`7guv#(+b=d%Q#*`p+!*(?3(L&yn=R-f%Kx zrwfXJl=ISIeN535n*Nnt*W0F-^}$zmKV@j|C|K{`;KzD*gu?jpaJGXV5!Sm?hFC{@ zTaS8|qFwS;xWf_dQu0BT-=7`4Uwl%&9;n^}s23MxxFGnL_!IfQOc%WifICaQ)_Vc) zbuh=ROT9;MnBF76_ZLnkkU8Uc*WjWG2k>#r;7k?9cRI3X%C!70gY~|N>Ec`VgcV=l zuVhxwwC%*Z2`yA#y-GiXQ^XL31Ayf?g&V~tG2xIoDfI-UhvMA`%ZAeq{bwkQIGuIy zgSmFT*}1mPf?PXalft!-Z`dKzm22nQo9lSDF4xvSo@?hj;ozUhb-Y_geEc~5W0Le^ z__QN@#w`!|;zI#vJ@^RQd1Z3|U#*c1bRyO7kO`puxLdCqO5pJh2OytBk zg|T}$N@08t?zkg-&Jixi6S_a_SMS-i=Si7h1ipGHyc+dT7!#aVX@xT_>b&5g6Wd@o z-_Exw-zDQwZ$l)HWtmX&&bA==2VHs;)-dzVciBex9w9#dy6jO3OFzuFaX%ZEmfi6CdL@z8^1JWgpbj8E%XWj{%J zuw0WA#{TEDgMYrjF7E}&$9D$7en%K*W2HmfgZ!sW0mWO;!FFF zQW#YqckoZovEFA4i8FKJZAO{1lrQFWE?!33e1T+4_`2u_7nIoHCJJNU*x?9Ilqj9s z(Kh0v9|q^z;RuBh_i+`LzIxCRo}@6!TvXv~smHX#5f#prdQ`YT>T!f8DJ=DIZxxD#j1x6D#$56p`iMVP{-xKczYTqahFE(iZ0%P$khC1~;UnaNT+uhSI9 zx;o?FcvIR`(x%&rsM zso{EXgu{+-wIkf*2uI3no$DOoc1O4a!~2`WGrlK%T{2uP0=|#>U^0s`*^aV^L}6)j zxzdRV3d(K$VMn-{!kl)$dKbP4`TOyGYhmzMYT_~;<2T2Csmp|blgV;?v z@;yyq>|@V3_~+v75i7-Q;=Ixieg1Y4mL314)q}fS?P0rI9bvm%Lt*c79Sz&%I_)8Y z^Emj~6%N0uh}VxlXK7a0I;$(}v`rL7w}?3Sy$+p2 zl22zoIKmSo@64-6O!3T1%dC09}C%`%CamF zXBNfl%oDrBIg-hNI=rZ4lAJPWz|UUn){k@JO~OR}{_Mc5;#twLSm_CZohKJtIS{e(=vpN4R>4 zmDfyhl)|{iJh8;Gr%p^RvGm+1&a!-yxWM5BLM|>TZFZIPfq-0-RtdW;Qy5*U+QILr zvgblwRf2Kvb%ci;;c-ffAFJ))SU*8F;GEfz?mWntmkf>fN$Tz@0ms(|nzRpAb zRtR^I42CB?WN^$is|B@L&`)9Hud9xi$FZz~WN?~txZ1YoM73?tB!yA_tV2G##+I+H ziPw+qH=_8$ZD$9i#W_hYg;9RI#?JRJg;D;vBYe`4?`emgvnuSDYbaN~)*Ry^@ey}9 zm`|v)L4vh5zq;1$6PhHS#v?~~og>`t2zS&<8wC1fm(uC16M1Oo5XqE?4snvgAyF>Q zQn&zmsq?kE{etER&>UoWv40LyI3o6lY!#Mgu(T5&``fNM%buB{m-ttURx$1fpLWO; z)Z6tCu2+1_x4PcWw~4|be3L_kgV|!aXs2)<%tN{;oFj_Fc)e}g;d~SI7V3)C)!q_J?Irv=-cAwBI z`D)!dq{6BnaD*o)Etdt#*aqQ)4XV7@Ud~V$ef0u`(a+^!LM}f+qM%VwokP2(Fn)zq zSgyIch%eWD6h_w>Z?yA0L1An!XDBS!J`VW{4*BphTYlX#!FAH1_|mqnWwvd-6vlE5 zsj$3bJ3(RWiw;v5+xYQiw*8aKZ2Qlsyd3_Z?cw;|dzgHK?3ZPyFy?zf=Bs2bI?5?T{Lqsd-(cS-s9xn(c$F+9{{`_;J8FY9nZ=?vg@!$Atme$S!*WCHz@ z4*jPc;WJHkKX#UM;+oA6b@l8xLnt7wU=xc-xPB54ybQ@*MEY(kI*+hQ~eawJNB2) z%eUWcHERcl_n0+HAOp{s+JrH631jLprVZwy0r>{EPqaj?rn}inbuDG`+R zX2FH;Rjb(Vi$%u&nG)bT|H}S=Xs)ZO(XEZ=TO~F{vGH*k{~>jP_J|qnAC5(P_L;Hq zz7Ze?qI+UJCcg7;j`sGAXdn-a?b#6Qz9Sr$qz z=zAX0hGht~n4-#5#JCFvJW;&S8-M zjrg`WC-5N1sVQs&wvQ-Go`)6~tEmHCqYIBB!xT+MSger9T}ru?K0`!n+}hmrVQWVF zA_CiUP|D$Vk&tK1#>`#)gFB-A68RCcZ@_G-sz*s}& z^4tRx{>Mwng{a|F`^%Y`ZBO#|zsS*$h;vU9FjR#jszG?!J?%Jwi~?i?I8 zy9e>ygMsMi;IN}ym=<$N5+A2>hQtz4vutT~!%{r=z+7T(ZCL~VZyWA|lDBS>x|}{< zBhx((wd38Y&2UYHyR|8NTRreaoFEg%!PR&8V6-*h^23EAZxUR|aHYV7yNY-mTpC>I zaN!PO23(nNWx<69-pzn32dJK*Yu zYXGhoTsz^~1y?UzeQ@oD>o&Oh;o1Wi9uPPP*AQH{!!-=o2wbCZ-2vC{AfLVPJr37C zxbB4OF1YT7>mIo7h3h`J;+^8tn!~0N&_8_dYW^&?DQ$*bofXqp{%u7`vmx!_j>s&i2qHHDh}?>Qmn*>H7?Q zpO^l$!NB?qi>nPQU+X(lwD!lM!_uk8`lB&t{PQ9O`WJAk!G5jfJP#x9)wL^zYF#yi z_$J?zTd^GsO+yQ)R{>Vab;m%CAsLNU3?`yX$2vo-NX7SOt*tt0dj-9ML{JI5fBm z`>~x=hqj$iPcXb&T_&RZI-yT?H>duYbPPwJX^`}^t z<~7dR#PDL#MMxr!<9>Jg9a{PpkMuo`^mw{Dj%#?1hqK(XM03yXu@P$-h1EYixYs?7 z$xQ;;J|l+u?lAQBrskUUkbl3NXZOa%175XO>~5*ggzsbEbE)Dnu~uLRV|D?5Kx_Xd zXhYdlnm^+>m;*hN)o;;v?eii-Y#Qx_Qmh>tfNA(HkjND`LU+->4_Yb|vK^+<=Dy(? z4}NU|KFZf7koV%Fd|d*0FFwlGCy@8zqkKaG`34-{GlaVzPrM%Yi<-t2Q1e+5i*#Aj zA%R{rq_zJ$jPHw4L-hm0+`nLdQPZ%ZrXfz=-Cta4K6<}_>6X`Fy6u!grH)UB`HgG+ zQ%&{q701Bi-&?s-AbrycxU>{r{otkLqnFF_=QQ~<4VFKL{+~bpUj4aO;<4Kk58Yq% zaR8?lIJN1H4dcYJxtm82=Xh@WCyb(`5ch8ToU&oWto#iN} zd0O92)463pW7NnfPG02X+)=KFgF{l^3y}Iw2z^J~ZQ#l6&x?YD`wnVWtmeWqTu8kT zPgy>FOKm&Pu$}jkoo7R6=gjz(kcqSU#5P)X-b;2K4kufC7d_oN@~S18_32&0{4a@5C} zU^0z%PQIG=eJ3Eq`E4tsgDeo#YIWflPr{8wU+bNY~z9R8C-!o(U9td zrBArh?h(x(I>S%meq;J{ zUiH)-RP}_vE`#+H3A*Ro?ZbW85nI&+>kU{va6En<4#?jUQun0->icxU`nk0J0?*U1 z{nHc&4IG79H@7w?!?#L_ao-n*j28mm7auj=tvC6wVO7Mm>Ee19I~~@OnG&D=a=q5l zcnNx@?Ts!&&$PYMW$2laX1WzdOH6?SHI%5Rb!2@p|5Suc$Q3^=Hz%+dJK8 zgPP?0ClH_Ra(hc>d5;F-+cCD=g8{wWmb%-m-o2s8BX;{e$L$yQU*1o@COpb}IlUE@ zb^7$v_mWn<;PUdXdyn~hq*M8qU0(k6?=gRmbSnR9nLoZ=aY^|%yvO`K(qX%w zFxB@seGk!huZKM$(GnfF&1{Q}M*I3l;`O=v4>|susvp5~O`QEmiMYN8_o(S-YHu^w zx8a6xY3rtqTQ_goP-@BH=i$JSB&9$84nSBu4r}G3unvF9@VYk$136+6$MrvT&~f3uT@~+eup~o*5&l4WVUj^Lbl6%5X?0*G_Ym=W*l5`}lT#JzrK?&&dMBpr_J z8N4G#&wcD19^7M&4B@>*M@886Ab%H9mLJcTllPVA`y_pzp>I5g&Y7R{`zh#SLNLq8 zg{v5@GJ$8w%ir%4xX0NV>xqraRf1#w*4f-WJUFm#k6h;=zq56443OW4zq1?@xOcZU zx~H#S(VaDMoLYe`W^Lc_$S8@p=-TI@=3$JG8&DYQplZwu}x#9V+GOZVTGJwQsaP*14r`*FbbM3g*`cFD_b}Dz*;p9q4TB z8{G#~rl30?tP7tLP*s3gqStL6?2n;Et%G|y*SBG)c?546qU?s)u4sSfmeJ_w*a(&l zJEP8)C`4mhT(hxF-mNYGPdsHRn&SW%b|J>)k#^uti$(IFLnPt^cteV z$&um*)ILoJVZWdTExLhf;y81fRu-llb$&>xaJ<5|$}wG;I3vf37J>N$#b|8LP}Mlj zB5XcB@0tx)p1k)ro$sD@tYoI&2Y6S>x=WU<_mXr!A&d3oUhg=|i{oZXa|FBHWi>BizpsIrlHz-z5G@^pL6NHYKYdR%avDm)tkj% z8-A+C%SpfXGV@#OkstJ7;;h3z_51f2kMm~b+s`=UegM2Tr0fFmx3a!|Ec;EAYq8uS zZr$K{|7)guzee_V`Yw&D$Fuvp3*6ter>gH>`ks*c+yPkE$Ht`^oS5ReUcXyaYA!T4 z#`Z#X8wVj+s&|1Hs~9R0>AgEplguCcOkJHRe&Og@-%G!GI_J{+)xDc}w!%(9_76dmBb|LBmx`?mAMdAN4^%Eix&#QnnM z?8IG8{y#G;8^T~iqH*NEyWP6$8~bHvY25ADYkv`6n|HSB*}^%6>D%L)!mu2E9u6Fl zuM=TAzDVsE@2}x^n7;8`x_JNbn&(_j3$*kkiA7lH5c6+wwIzgFKjV|Ac00#9L!P>a z_%U(8*ahS0uZ)YCs{YDhO@8V9wR!>+SK@CO>S^__g@S5?}&@W=?uHRaK4XMlAPV^{UUm2 zd@YrWHw_DqH|5nV{)_YVs=tm5oDWMDyUM{3!IhSL5(R}*yTaD6tl%8ie;(DF|Kd`<| z$8R|gl+W9|V&DqFlppkJ;YY8w3Ti^gy$+9f=yi-w=_*~ouaAob!ueFSDU$u_IsTyE z(tAFr-jY2B-@a2{6V0P)qeR5a8(MISPtYuNNMO-BHxG`9(Y}G$NNGk|Fe9zpAH?@r zf_>dlF^TWb3hM=0VeJtJ>w&RgY;?rf4i0H1i5;E3l_O!OT!FRQJYudF1EaBB`1Xc+ zNXs{)WiT?>ABzrD_;$BV_U$pdA?K@87QL2{=9^{Q)YlViNz2b288vR%BK~q^hxmic!ryjx4-V}!%uriPZ0F!`?4=c}0you6js&9Sfxu)b z-sLMTXh;gCeq{anoox@{tvUaLE&KCZaW}qA^oA}c%77eZGABkPFbmFN4-&{3e)|gud&H6t{nQG1mY-;(VO^2I<-w}Ze z>FFuHq&c~Plnt?+qv3f`U!~bR^z*y>1|tJicz2|9aBXO8Aab2)tnC}0O^O)(o8J zG1u?>d~ums^XD7H=IFq#ShzG+TvKk)rX|0)frge3B z=*h<0s(-U|{4;rFGosY4h{}VI*{h{>c>Xezjl#OX+yZl`z>%QZUit<*`ee~q6 z{%m}y)94;C`_9Q%I)9b4KQw7}mSu^>U&;)8)pugmUthWYl>zgs;TovYl%vm$hf6CC zc3&MVy{_D-yx08Bx?lSCudiq=^NZXYnxg&T^MPH3I}SAW9O&tcPKD?%9mBu%sYA$zM&ZfPxVJWEymRAnHQnM_*L1_$BsR4|GteM7v=OS=E3Uf8nI(* z%bKI&^tRzXv!->E5nBIf*1DQ#=(JkM*_=o||!dXmWI70EuqvuA#wG~xgS+LUo%3Z&?(*Kp@ft9s)CDj-;Vr%BqTiagAN!vGO+%5)JU72*d zF|{qfrCe<=;QyAARDmPj!YL?G{yKcRl_D^o|cd zG4=2h4?ofH^s}L|%&qgcq-<_{dfAcnzMp^c)W@z23=Uiwm^v3~^)&{X!vFNp#)sZY znmYJjrZ35S(LB7c^se6dJ^ra}?KhrukH2J_8d?Vw;f#{$A z)o*_Cnfv{nFk@Wf4_Du@Wa*D%7e;UJ)t3BtXJ37+fA}X`Uj6$Qjo#=_9=W>iA3osw zO8o;F%}viuHe`06dE%!f=N69lUmI;77>o9AX>UFJ%i$|qTC$DFKj?XMY{t>_(c#cw z{~OP|o{KLG2`m^HP!x{wPJAQ%VOAE6YcIb zM}!=_)(@Bhd$T)Y+XjW2qg8F0=Q}x)ft_XdU}Ow>=2fP@cyYk2N$HiXH3G^@&4vDz z6%W7=|9lnR;V}Wf~*N7EEHKi5Mrxrk` z8o1J*-ZwbVRfYYie@jZ$)mbSYN^9`{%=nwC_UOotQGY}E`T^gn0|y3;0dcjOng?O@ z@TcM3%VKlyfkPte!^>LhOH=mmz5k*6Gs^L`91*4Wa_$kmqhbq8GIl2g4_wjznTfCB zn>Q1)1|}Ml2aFZ_bLGo6zKP}ZvW>9bwt38Ke;{|{16POFicd|dmuxzThVd1`CtnGMTWa>#1-3M=d2sVp4`uxE@O8z|MDmKw zAGH;KCzx5>0>Nt@-oI32q^%j~F}I8vJHC61dN<~K=6A324Gs_Pjm#6b&YB3C;_=;+ z55tg}ySKA7EgZSFt#8kVe4)Xe-${cZG4jfU91%0p)+X1rto?9uM%rY-fzT>b?23(c zcE|er1q>?kChthCzFiFxaH`djBckhaonFt_#wVgug~tTG!i z(k7aRF`{cymjrTW?jlMd#XCk>9ES~vF{mzx^XEe{sNNXLQe|Oku{>(LD zInX`i%ReV-e~K>>bZwrXM^1bOKLYURV5G8rwCkFE!$$Hyy=l~%zcy;l8Akerq_6$d z==|erN;d?WQ|j8Y_cmwzhw;;-`nQtstKs&yk{U`YDj)vYGrw3+vAU||!$&{)Z2q&t z+%OW(F0E-?5#3eOV6IqPQN82=Uvu5{kFOsHjKn4%+|t{(b97?Gs`37|!MziY{@izK zS$e~YnsYgGpPB63H4l|#`OC?t7FIW%!S^(#PMZfR@0-y&xBQQbaZvri@am^O)bico&m={~ z+>v2(?#O*#?wvc5zWP6mL(9LD`e)1c{c3nq)2R7V|9!rZ)=f=Qzc%jk{o44m<-az5 zxcux)|Fu&YD}2UVbN+StE1Tb{+|hAG<m zSu>Nr-8*m&lW!Eq!+KBcsB40{+h? zpPDp|RvrDq;J}uLhkZANFYMiMuJ1Q@R`~90IX8%tt`nOd4LoY3o(ryxo>-QV_W!Z> zEnra{XTx(YdtonJ1a%dJW=k>nt^*r&KwNKOKBBICMuxEet;Y)#jVQ zZ?h>ODIxk3%8m*DaXz@w_4@w~{z4WK;utpiJ}!hCC!82=*?DRBT<6YYAt7z}3IUB` z8H8s@y<3ySw#3^@OkQyG4s!u{$PBX z(aN8er3x29FHGs3AC$@%Ps{%x@8Y*c?MV6dLg(bD5V^j)piSMykNd;7Ppj%f%T#I8 z_+v#W5wQ_mI3If4F63FQmFpa(*RTasnKqG~*vRp(f+RYP2~9+TAK?G32E=`=)Y1t2 zJN~}8E+CUcqyj>T$z6^}3KEe-$9~zo$Hp~jRa#XZkfeyG9ylGz1sK5qW7yW{ahs7! zLFDJ>Pmi*@`C-gOE*D8c9Wo1LMT{2N8Dp9G33%#IE4Uf3oO(e5-z2PxxOua$fp~4T z3Zx-2gP(%228R1HnI||rylpA_saA!A8HLKj&v!?N!F^>d0qtsqHhl?RyIt)@go zUaw#z9&_u5-Ph8E^v7t;oeCV-eC&h z_Az5F?r-cGIWtkcYJ*4aHnlXCHr9K$&S-R5j$mi&w;a*jnvU~MA>Wu|6Sw&=1=QD5q6l<0|#(aW$^|7|DXgzkE)+;nSyK;WJ ziVQESQ2W+@8cZ#ptt%@5K1V)*c=CB!yScS2XSVH!6N3D1RC=)-v1z&e&7gh`*ZF#_a#A zEof~_TE6=Hm^c11rbt`)^;!0c?f9YucFeaitHW2XnBgvdU>i5}0oMi?v$~^c@5re^ zpRIE)u3TNYdhNa+RIZ-%q(!$erUX4Oi25Vig{#}$d$+|H-&hzcz(2;;%i3o-WhoW$ z&uo`{7+ov8G`xMMR+SQy5R>=$$JXW1c`wHp){V(i2nAPa?Utp7>(48;j*;h`n5vtK zW-WQfmnMZQfB3mE(?{f`WN&p{Jh+NWJqhLb59zTOMU3Jx2y&;#CQJZk39uTKq@!+`8u7>xrw|mCY5+jZ=f$Ra1lYyZF>-p`EWx zUXmE9Bj2&UAM?azkvI@OIKBb@3wby)Jsh?mr-&+}8C{Y&NN>eTehYLntd zisreIX;Y)7Moo_Tm^TCH)Vv%Ori+o4gcXM^kbSOsByG}V%`_lh?$$+x1zq_<%P7GtInuQ_gb2Gc zzrxMTa9J8%cs+H!Tt2f!Q^_1psmw>lm)pR*9p*wTlgg%fI-8d!2{m4sg|}K;_=T3n zdP|hU)5*(%X7EV%%B#W1PHhoh;^@X}9Hqc|k^>L!L^7 zCV*8fl1(eUR5qP>N|Dd-701V8!`hx=w&lw^(>fo}GxzBQbG(pO?KZ5BPrPL2^p#zF z4U>|uZi#l~3i{l2vJ+XHyoj$A3eu-wS*Sz8@Pw@E10;kDXkM`4#pJwFck+Qeb73Bv zooi;2Iwyi!Tcf+&nVoyXtJ@en{ZR)q>@Ar>d3MCvuER(TfGp3OKVU*)Hq`%s0BV(y9$d{U+|XME32HwS2iJa)RMsDRc3!Y*`cUW&&+)@o7mzb z$KKak@HU(JUo28KA2~c7?B8bYlezblUSMZ_GEYCE6omN@yBJBFeCPayEvjlQ(AJca+;GH?d;U%o1Zw} z$%aLk#|f`-!{+XpbV1>FY^x%kZRY5%NImxi%Z5s>ZO7_8%~#b-xOrpcQuX@Z8d`_x zu@9RiSeNfyzWeY8$~?DQS?~6A@z{M0`25#Cy};x%QPV7)+-}Acb!7V70==*)e@d$G zNS<{HaZMYmjMe1FR{hL76?>&+XT-7@9g$~)cFQud+#C2$6_bo{?C`uUd1g;5Z`ziul8Ve*KHDjC6N{c%J#Yvt{d7V0HD`pbK$f#)PTQW<0z93AaI~ zN=(+}+npPJJd)LWY*+9u?Yb@{`?bpY{P|axl;nMDunl)<62mfn!-}bIu&=TQ%i7ku zXBtwHy~t*m-)nPru&Q~3J1@G^FGz4zC1 zm`?N2(Pzr*>fIS5lT-I>I~`NQm4O{2*w7sz!nFF=-9pp-|0iVjE9bei^IS;iqpp;i z(D|XlG+XT#&PL<;KMBI(;XB9ja=B?o)`5hXPGpj}oGU%qWg7FM*lD>Jk)edfzo!I- zd=qlxLKsx1ex;t5eqwT!I%UlHS2dSToac|OIM3_P^B?dxz8u>gW@rn`lW&aPt#f}9 z^T)6Y40rmuu-|3JzXl}nsa3Ja?3G-=fwKYWI*)BRAp6)z%}GlnNTo5{7P4}?!~$Hz zI7SN1x5Ws28$m!ajs>?_a>M|`^xi}={muj`|J3|avL`Vy>){!b9|mI{%k`EvIYy}or8nu7yLV>%uBWbczTEA8uKLM{-jUs8+|-d-laiv(#&}BXtC!TrUSBCffO{G;H8^=W@%@nWt?+eBZw!X+MA(Rx8rzF zry5(P&83ydIxwpZ(>LbBR+V(Vh%aL9y$`F78y9y%{N~_x3B6oY{@JPm+ch{c` z)vEFh38!XwGxamgF{cvp4xv%+9Xpp>cc}HSwDtFQ;oT$0xz*J(7ath0UjOjp>LM=Q zJ7RsFHJXbk5wMbM^e&!n+v#4p{QWDNMkOYnY8hE}UCHNb%JQ1rhP-aF1<;xxK2nqP z%n3gAgO)_|{Wg1N-H)N>o6S&@sPER)c;_VS)$9dDD+}spSIw~e)gEsf`=gT{&LJ$_ zvp(nw9^f;Yk2@aS$MK)V8kQwIt4A2tuW$NTF|YFxi_0dwT;81}bdznes+Tv*gz9&5 z1&*Dzt60Zzj+d6awB$#&t&5*n%vP+JUhnul`v=EYCG(hlRa#YuR?%?%T((x#89z4V z!s3>PHgEpK`cOwOvSnU+=%t6kxQ+WCic~fgfwAw%%=cUzV7>UVXV^f(cAgw1Nq5DfXzo$~uMYwf3h3;brEHz5CzTYx~V! zeXcosnYjk|w*065@wurocn}`+zF2xFH~;$8$13N(mtc~8#UnfEN53{d8Kp~$(VYzo z*BPq}q7mVpS@qh^@lU+g!mbtY!_H9MhZXJx}j0PD?0d`OVKvC{8spbKIkswlwIw zC%0z01?Rb1!2>+61PNBHm!b`($j~1vB@CuMH9Y`xc&T_9)C{80Q z31(?s0qig_T#hsXj9MTVIe{s};zM>8jQz$cIsaBlk9X7uc+0@9SUO(C!#HM&7Sjq$au}d z8Y`XkU=zV@L3)5p3_Jjfza(Lmg}1L{m1JJPJ3RarBp?O*ZfA|fUIW&<6`BNK_PPt@ zxq@tXyzrm;yfuQCiC;gQQx{~7I;qjB<|gvvmsng|3>GGmAD1Ll&*DbZ6mtCdvaZM7 z28%aQ+QbAuVVJSfrdu_qmT^1qOeJ}S*-1XoWp1nCwW@cNQ!j0Zi8KUxSAKo9Um`9+Ygf~wI#3DD0ae5-i#A61aA zfO-I;cQes%F>(N68K6A|SfH$cS}TwNWveLSljlJq4=P}*m{A2mI?77Qj*~LqE}Nk* z8z_!U1Xn{En&6>^HSlLQddGR-_!(6&u!Mb53F01)h+EBo-gc?-6b~F-0VnaG3Zhpg zv8xb%b{Ue~J@`A~eMKChMI4ZW@u+|a0ObSesI^JpHg#3Oz`9Td+{xJ6m%TGYO7^{W zDkdP4*;iGVzp9DgY6Y$aSNG3Vb*HW+`|C>qSMC2sdKv#)==J?|>dy3v{<#8ZP$j6Y zKS!b8HwYW{;BUJk-V>i>@IRUWpv>MRMoNz*j@>CnfgZI#dQcn#dQ|@CF)cVyY zi`jw>-+x(WSzze-5Ven_3#cTD(j=DQNJ@ZDB*kA!P%e@^~2R0I01WO65u zfd?|cg+c}7K&!~1R?H#()2gqlF}QgGaXN#EBlqzzubZO&V9#x z(x-OrJzw{C%(tlDDbjb!SBE5?5lcN5OsXkIl(NF?I>;mO)HIM}O_XF-D88^B3#TS% zgG!HE!V)YG(T_5#lpORe;H-fm{F&Z$m5_WAu`M-1Jn*%DJe6#kubQwfk zA-KZ_)ESxB+u~M|7c99qp>b$MVGF`_ri5?VYzRRH5;%b@hDg`L+UP;PKl#}uV(oR%O1SCmypaS7AiQ?VF48%3& z|0ak(ihwUk5-&pWav~QvB8>$U3Xoh#N8uMT$}cQnB@+gpQ_L6lH(}oGEtDSHi?Ma^ zQEw6G8R3t9(K`$D4EING_Ra=95&oz~ECxN{{%Djq2lNc{N0Y?4peM{9%@IpLPpCgy zES7?v5P!5noCkV>{ZYF(AM|Mb(MQBGYG;w?7O|Y#StPnkTtMwC5%Ee-RgA2y*L!b%QwM#-8F347KI*Lsq=qGs8r6Z+s0pNoHIN#% zKx)(mQe$Z#HR=MXQ6ET+Wr5Ua2&9HRkQ&Paso?+tbZ~;`eQfkZE`S=YKx(WAq();P zHQa&J@B~t0Wgss^j{(3J1Q0_wT;EkNay&13fR=kf` zO)_M#v^v;3e%!uZY!#SF8y9#{4gCXZzz=@_z*<~0#wz)*DnBfu{9cGGg5luD=vQ;F z^!`H%k5agJv;-{^B*=tFFpS3Fa-N=_vdqg&$IQox;sD|Kj_l_@${d9gTNMrXy&kFp<9BOkvSt3D#41 zh{7)^9J@q<^C)blu#3X52P9ZTVF!gl6%wqcu!F+06q+8C;0g+lQh1%hyoV&XnZmOa zCRWnt6dtAUEQLW;5;Re`n8Fqc4^eoQ!s`@{wMejt!W9&@QP@S{B?`l;C74B_g~H7g z9;NU@3Yi)SCQ@jjbel)xEfl^@VUT3r0~3XdDQuzeI)!7U|7!+W6wdQOI=;_QzB`*G zK_***%_}6hoyvzUhXl{i^lkJ5qB?3r2hk5=ET(V;g%+BwjmEBEZgqXuZ4}hO3<0l_=pZRI?#|f^ec8b8Zr2rMU{{QRT`>oC zrSvXcF;pQV^7gHor-QxDD`FfEq)zh#)A6+RfJ{e1kj|To&DBb7-0F7oY~*{N|kK%h!uKlY=^QPQ1y^5MZ34lptOgIFO=fDIWliRK4el z_=p*x$j!$Qp;LYNcZzWaCCLv0X%aV;?Ahec&tDOzT}0XWQ=%#x&Fc_ER!o5z zO`eX4==qJ$4~qOIaawOflXzoSooHAjGT_FJLh+^^=gJgS_u*Wb;*HA&G$2AnjD-mF zD^?tUg;-I-LZ~RdpaIdlxadwUQA5yxM@6g{Doz?kM#d>|r?^Qh6px9SqCo^IL>=oz zF$K+A2>tIeIByv<$tY<8!Yx8|E{N;Pv|Gv~?*5#}i_uYpDdTYW2a?esB~8MI9HDgm zhKxqk%Z5H=ZquwOcW+kNJq)n80OA`Y;*+)$9>n;@MH0Mf#A+T)9uih>8NAtKd;Yb3J0VqgwcGSRN zlu9)fvFfL;CJ3~4^s))6%-BL!BPv~G-in&1^ofML?>Ho;-5vL_C|N$Z^N9GFB$t_6 zF3tqS*gnc2SDk6;uq} zs~Vzx>1k=Iuv*m01B}p2SP=>#>0Xu zD91TP(>5%DIB-<@GlHdqrrWZIfSzop%=aF_iM;V zrg+c-^!^TbNa}|KIYEL30yQc~bVtD-GX2pXe0TKUsh=UVpMDaB-lb`SlPD$tIc8t! zVYKvA%HDu{n|WyK!eLM_fa{OBi39KCvga~w9OHBX|qK`2EYQ8>N8n5 z*fS8bM08veKk?g|A!5x{ac938M%+sc!*5f=RdG7kw|}<@@o8oN9}DCzP1o?sFqSBI z2Pqax5+|0tk&}Btzn!H*x`M1hAsH3;5ni2R!Nf=%$ampo??@ixdmz%}c=vcDR^nA~ z0UDchy9@6KPmCOO$HYzj6RR7V;8od~C^TbLT$N$vZ|M1UNV}JGqy9|PKluMQHtKP= z4)*Tr1#^5Wh^Q%Fz23XKmjNqsV83O>uMYR_!Vi<6Jro~BYezp&f>Nkjjc7V?ckjeq zy@(xN?>*d$5VVl6|3V04(dis$=r=12STokZ!oUU5roaW!=D-EfHFsa0u8^u?Z>cH@ zJ{(x~BY|cA;QLx^HOqhy`NP2$TmJ>f?%)R(9TMAVKsU2UW~5v?`;UH?$J``T>Wx-(-ijlrnMuxL2*@-6div{rsIWVCZCR9KPp&Bs9 zjtpqkZqx=O5h`FY%)#ackr+x~M)_{Pd)L2pcn7%{g&Y))qlOtIK97ie9ISi{Z+E-k zcvBNhaY10RH^Im!0N(wUcEas&{J1(8`6PN|g{!szoG?|1#ETu);oU^C4LFxzE+GoW zB_yGcgN(Cch&Rwm(XXn0Y<&i^brsYWfUQ7T47GNk#->3P>Kf`{4orf`4+x(KapYYNc}FVeFNzXpC=q8MZu!SWF`z%kXn%;|R7`bjYN#LAIv4>% zky4<2%(y6mxT`>tomB&6Cn~2K%T6S9mrD3ND8?lmL*Wz(=fpU|!wDBrd z3u%eFkkNulMALZ*yVt~v;yE;}KPDa&!ElmsF53;8dO<#D@e_$6kJ$XxJg*`OZFZXhQ{CU&?*b!o|F8Vy_eRok!~9 zHjUacaLr>2UGvx^_RYq84O5YZ?Gv|%n?xjPFs2ZfyvY+AVHLcp5^Gw;H~GO)Q-@LW z9B5bt`&zLRU>1}bW<`&5_kt}|zv0slXRm*MI2(Fvhla+077vC@6~dymRczrT;gczG zz>xZ2>=O~7A@X^U9|8G@K3Anap6)%VBjcFZF*&&C=fT`4ym~hnlP5t{8%mg}3E)*E zgfNrj;HqA@m#SX)C#njMe39B?s$F<7)D>uB4JIdIshmjbCjnl(jRdHm5`dCoF&6SW z#5l356k?@_CH0_noI`csLAfW#?=JBpFlwKO29&rPA2-k7Nx4L8JU%mT)d7Pw2a9~% z9KX1ayLyL?`UGPC3GST`;+xqk!8N2a4OG{jB>ODVW*?b!6K@Uaa572jO5R)8B4B_O z1sw_zD1@S*L7@uim|_(6p;`Vm6tfh=n?eEo2zx`OO5(&Q+3mP(eAII`Clgpww?3Xi%@KUMJf9PEq-mc!W+gED~!@I$oS*1C>hHkJC$)cAXx5aJlbQ4@gBr$PYzfh z86<<&tYOte&iIz0lxXsPBj=ikbOT0-zxjxNlAsb+Jd0=i4q}BmuoXIrkr>#DTddlH z85r4E`3Qk~!Q5*ie@#RtGm=Eem{7vOTPcYLsXihWlt@jJBKGwa@xpf~qF=*y(T2%p zNBWVbx(cp>x1ta#vwQ*>3kQs>{+K#LF*QIUW3+(6dq;2*LU5JI1p@}gXe9mSMB%k( z1amNKf~x(P2?CHkmmOROa}hw^t3e%^fXpLg9VI9wgB;=Q0GOKud4wTilPf7|kRc{z zz%E|YI^ThK%(oU;O3d*7Yk@B6<7Fl>ExB8XWWe6GjNji&npa5D07eW<9d7ZP zr2qVKHyJQ6AD})XcUvXItBG6i4;EygfzUfbgPM0|&qLqxAMrg*K}i$JVI213tGi`6 zq^WNKstIP4qX}d0m1=t|oU4xogQinA}6iJ(S$T$bA^Ohm(5*o+GXW|Nr_Qc}f0X z`0~<#uRg!8Lh|8J=$8k0lqG={`VL)HO3(}YF8t_AA{-bnN+v;a#g9t@hiEqDUb4kf z&j~C#K^3?q8@Xbs+eIN}j@uRpww+N zwPHxAyJ%|VkWycwse^`)Iu;8Hl3H~q#AVS$>OqS%^`}@$j^DKiiLR=MTT&O%)D{Yx zDfBgLd;ijmDJk*sNq#3Y?Vuy4LpDgxc!UX`Z(H!7&HiOTMF#L8O&v05>azib8vsN7 zg+hmvI+3Oh8&c|dH1)6{q)r0OGre_zgPd$aa1?z(Rfvny@K2MpAPgly~S4OcioGPv1mZLq2@bApWmxZV`RQt zzH>}pn%n2YAL^ElYPg9+C;r@cGw>a0t^}UurI}gFU3Cc{io=JN3t%*d15TF=egO6j zlHUaSjzq6rv20cKDu<`+d!;Y8$67Td=rjSz)c`4(-?6w*48Pp=s$dN43+s`hog-A-&$=Y^?XJv^Q8> zR;SD2oM=qX%1mFDky*2Bl5KTbdhOEHS0sV<0bu9wEPvS>YdPJdi=s4dY%hDkU z0!K+t4r$aezUO-Xb9^`>W;C2X0qkZ69tJV+Bkj13!O{(^59Qbk;91)5!RVY6Kxh2Fbkg(W06Ocqq0>{shY@2Q>_ksr03*0_ z?5+9nNBcWj{E_}>?iec_Vlda~5iAa2dhzu9^7(nfjC#Ax|M~ra`SC~Xy(qR-DM>~A z(S1Bl@nJ@Fq`m`$n=r)Vz7qVf9}oMUCex?=Q)$2$%7d{Whs8%6q;i9oCmjkQp!ZVA zW5`h?Jis3u!XNrKl6*!k66KU5?SnBd9ZUUxiMtx$sIKdL-p~H9(xTN0!Gf{Nr!&OH*u?n=1Lw0#m7+3NuL{)}`#Xv}fFq|vX_9k(r<=nZv+wTk-c3a#^`c04qQp#YMk2)nfkZ@o@T z4s<42P`5he-?*T>6@Om+@P={zIBQ!4BtTW8Q9O+)YS<&-vCf3Kd;%9XE z<@tW92X1^wMxXTa@WQ!z(qOZ|g3o(k;UElnUMYs9;SnT~8rr08K|9XZ|FEF{;m@Rh z=mz>5L3dH#%?hihe2QYoBa3#y;Nu=(5exF)tR};#$^^F#s_2XL)`)3;3#Pwa#c#$cN9PD90t3kt6i} zx%J&*K?!##3k6D{?VlO*muEwevdkJ~w|H)5musec`y0WnSct*$!qR2=d3X)GxE|XC zNsK#qXb>ACm=+5rMtsUEh7HM;YYh$EjA2B!%0TOJhbg~2YHm;-7(54k8n3&cHy%%D z{c)`)O6rJ6^hhL}>_-)te=$D}P(GKSQAw*h9s5S?$;dC)&la4qP#K|oSiU|L`PlXH zWlTWlVgbFR7vn?yUjZ8YZyT^L4r%UO$?%JE^pPTG_eT8-%vv&rzbonG9^H<&$jh^} z0c+RB2>%P@KBEQOV`e|IP!EXtbM3pB|J5w&f1l0X3wt8u-2Z>(kGXze z7eSc?4eF3Fc+YaBmHuv2n&o`^{G8agT4wbWh6y~QPS7h@4`CP`JZnm>|8KdW|6_fG zHCw*lI)Q!(n)U3s$@7CWg?Rh_3VF$Sa_W{4cl?%d%qpe;ut<+RZk^h*o_y zi}n;i4jswcT%e=XS;VgDg$D3=`Rkv58KiZv9`1uS(!FGV>&dHU9eL61q<>z5>mUr0 zlPB|%^IGzrT1_rWj(NmR@a2+1(3P9jOZa!gFC=bpNlKG4E^-zte2gRrU^sw|u@*Dz zf_0vm6#YncY$-VMQuex4aKa*|L&3KNN#HxqujTW_IVnGJK*ksAB^*C_(B`cRjyRQE z{#Y;F?yOd@H!d$I_fnVz97n-lGWoR>?!+%iNbGuaSdd#X@};tR)nxB0&(mw2f_03t zh`kb$PFKjY>w$wXBI)*u4h#Aeyzeb?q5B3$>I%ve9ND~poIV9>Rdo^jxMZEKLL>S6 zGK?rFCyuE^hqoDgCEe}-C?}3{M2C0eUGL!6@qKPF`{I~NAw6+SB{<^GD{rRHR>h~# zifTc9rnCB(U?=%|gWDb7RTq;7->nPDgLQf#dGH_2xb;iJh>V+X=^1 z3fakTVtU}1N+CN1`E?vqDP*SZo9$437Jt_~|=zUT4R=UiZ zT{jRrZU&s*T$rDJVBIjT6izp5G3Y+xxG5|9-DrcI-Yolsz8!Y={OYH35t1n~hu$zZr}1k@$D@Pu&84?5kiID=J<@^}pz}ua zkGY&)(eENI?npII7SQ zNrtJ+Q=E>cj6k0j=(8MCTPlWZG%%}RH=XWMjPxEMeYJr70&W#>P{0WRrx;eTVjANZ z`Hu_qw16jgUex!zz-LmxQv%Kic!p!@FDhhpai~TbY|&A7{8)^K)3J6+aXKElO;Cmj zmWJB)B2SNIy&}-31bRle*R&wRtU#ylmRwF8)k6Qo%bLkZ<1raLeL@;Pr=x#13+eGI zA-ew$65KdcO#MH_^P&u+JU#Lm<9HuAjdQ#iW#$+sp*1tbD(x98HN!FL zJ1fwwMUd6k!7fX$-iu^k`MxH^AF-?MDs~=f#I_f?t(60z|>MZ15 zjVJ@d$UbW~6t{z?5$IIMNHLQQ`6M{T^n)DZX;h$(3-k$wRkZ&_j!}jgj?pGQJHu%I zW{%PRL5@-PLAxQtsDQ`pkgE%&k25-C>AbwsJTKx2nug)?oKD*aAKKipWWjCIS zYn%_3X-2@)c`|T6;dJUJ98*783WlFBOnpG(7)|D3*oyUrkJD*=&gs|=MwaH>m!}!y zX=oWST#WU}1jm^78ppK#EnyhT#lbO_i>Czg^fEAS<9Hg>tC?eD-73(7j3?DM!ZF%y zkf*`tBE{*bdzxWtlk*%S&x=BuE1ZscUE_4>{|-jS8CplS;+gL=ex3&H)9f(vcChq@ zkLBdW^g)LqLxN*k1qk#phap>9kY|cxYV%Ttsm(d2Hs=`i^_Lp5wFGzT zGcThE&x<%g(=a^9=~R9p%~&3v{O4jkCk^Yv$dKlI98eDvS-c4@a$HP$a92w8w#f|F zN{#0$!)2q-lz?XhJj?meezMcRv>`1}UJjl{BPWevYJWe+*haTX(A%B8l3;Nqw znIZpV+5CIyx?IVj>v~O5I@d+O839jojD99=rf#- zc$V=8oxg5Rs+>T_Ly{bX`nH2jN1dTEv3Wv2;JDx+8D}gj;3Z1Oc|mbq8O}5MX}*qZ zzBD;sva+}8Z>wyT+A;-r{@itICRmRPjmVXMrdK`(e@Ex<-Y5Utg!?;{4d4e{kAZW7 zNYhsUE~o1d({crQ@6^{NDbQG3n_XqHimw^Ob%eScx$7478NnOPj+SVd3nsBbs@w2bpzM}=FUgse0G}B zf7f|_dEt3qZ=reL8|iIu^w4!B@@Fi6xnTJhn#ac;4caBWl+EK~ZwKe`u?K|n_@hhN zJbr3vzWz9mk3A@SzOYwy#_Cg;T~tM!D<@?QqLe7n8UUq&cs{1b^>x^DJELBt`SJN2 zSK0YIKjR3526vG>`-t!CA?H>lzr0?eb~DpwF4v3k`D@LQ3wd>rr}-b}S@098slI-! z8P|MC4!)xCaS-izGn}JK*9j-WWtv*NN5bp3!|rVTgX^^Xc4jB+!Jknxs;=jxiJhG7&e<-uq0Lt;mKtG)ysO2%f$cMcdfQK>-Ss@K2lzNmLU>fOogQ^wb<^7Tg9m2Rv) zV(W`U4Sp9sqGqTEjznPlRJ&~Ij!uwKCoIZN^HK|_CkU$k?e zAHv$9#=ySNaRRn$?gzpF@CLlqfjjPSgWYy_0#|8+wrdchYDb~pZX+UU?LgWtPo>?~ z1kvMK55|`}bpW2g=$bw75DQ`&z9*jQqY<^Mq(3IC=rYb0pv%PriM|wF2=3{DQw}A_X7>f z>Tx$fH3n-XeVMPhQ{R`$YEnh+j>)xaVAbAew@0;a(284P{(;kqyUJY&+U=TmgXXPV zIaGYoefgFjIQmZ>Nz-jB-*$SRbY?f9fW8aG*7MP_ns=AsrV`M1m4Lpj1oV9+pl>X( z9sOu!?Yk>+j|k|SL_psq0{S))(D#X?=|+)%Shex=ebSHX_|6Z|w|;=W_XG6JAE594 z0Db$%B-{US`R37wh9k|BJ>kASyDix8d6W79)HbS@?{l9#7=u70+8rMBxG!94-qoAz z4nL;E&nYM2OD#QJ2jI@@HucoOt+C)xe{d*0+`YtZOCG)N&CXE&WYGuaw=A`H{*C2) zS);tOFPydp9HCfu;Dbj4iI4&k zBH^xM5ZD=yC8NoHlE3TZXk|+*>g>-v5=~xz%(FZ6@MLAGwA*t1$sgXHPG9;~0NUaY z1RA=J4t$zSz1s3@#@_eU>yDJ=!;Nz<%J%Pk^XzK(BWA5K>UsO=`Xh4HSzpbFugY1` z4vl=%MT+mbNJ&p+_ID5T{qmJ)Ecji}H(WGFwCJgKHfYk1dO+W8aq4(lp}Q@h;%8>d zJ8AEw^t!8oUFy&mfAxHzSqmg1$w0TVCtwNOd-&cp?}agneRoUK+xrq;bF06;cf`B( z#1RZnIs9uy`I2U03qw;Fin3n|P2CUrUWd8#tV*?J{ArO*UV*Rf0k+8P=wv%n)sQ!qW$nBmGl1 z9hDpvc3Z`ig;dCQylRj4LHfn^ghUvW_^tj5?Y-^Z>P>2O-Cu2|n+(V!#&#L_*^Yvb zznE-DRnkocyQJjgKxfi!+a3JWeq`<1+S;qGQ!6T3(;falON6R%Gr;BJnbM8g zYjqE=lwPfjnC>o*_qgU>_`Nl2+scPmI%?wO!|r(bzjc;};^jTnwpTwFDDNzTP^V{qz`|stj4^d{DQj5Tl%o;w-351zT%RLKT#d2xJxpd!@Uv)DN%!r4){Rzk9eoRrAwtgr9r4=0Hv3GLJj7 zUW1C`TCJ>QZf2{3*J+;6mSpVw7I)>pxX=GI+?#kIY5L?3z1EMys#Cqcs7BS=On0k| z>Rh)vGSQ%VVbj|6YuCt|ith9jwc0M6(;CBx)8T*Jy8SKLJGJ71Qcrq!Z@f5jzO=+) zacH+dXXR9AK?09qJloo$2h- zjj}rQ_vUZ?7kgI&A4hTBXLs+Uvn9(XS+Zrxmez-mPM}Jw56d6%$H@{@CVU*WpenfN z&X#P+$kJI7MCIqg$u{5;6ALgzbsTeGhnUbB5lk`72U1O98B#2VkGjy(Gl9enDTqM8 zg~XTlW@dNi?)D_vv`zc_W%YYEf4zM(^LF;_?(FQFH*mkWg>2&Mq}!%mNnWDs=f2f# zf7=n>+AthgLRwx}ypEY%v3$5Oc-^{A68KA8%)PT~q-F6^TS|GcQg)Z}sl1Q$ ze5*E4x9Q&WV+U$B5w;Gk%fGceIFGJQJ5-|#+gD6!p^MT=5tIBK3?+E6R*K6^|TUb(ypSE?c^CZ#MLMYJ9=LmX7AnhfdV_+C7K*p7Gc&n{nsO`7gG5(uXpk zlP0M(&GpSq3xaQTw+y|h61whgS6j#04MSJgwQYLgyB_;WLRTh-N8RQcdv{OQpH3Zi z^^GmK-1B+hHc+;11->S;(tA3JPx&P6=)seB>Z8NS(O1bu3C2Q5Y%G}j6n$u5%l@%U_ zxBWYoA6|ag^Zn(AmmO}rY^=OIa?R7B%Dan_FTXR{H8?M?Z1CK=;cH$@RyMXA+SGZp z*I)LLbV<{GRcqQmT$1!=R^FSw%ye&s&HF-9MaDJdg^_LEV@ba#>dSpT^mORs9?A;IoBpjS@yxDt{JB<^55!jza@0XJjXN1CDW!3 zIb=uAP|w;Q;YXuuXNm^d(tatX`Z~u4>;rnI0@tE9O_LmtME`=BI3) zOm~-D?95)B(`Kw??V)Q~yMHFB>0^b(>Lrq`xU^yV+dEGy+wOhLg?;L=8~lMLNiNI5 zzlQ@^Gjm-z`)B3nbZp4a`AUJ*Jv~3Cr@v2{o1fEp?&fa{`39b~I}+yKnaA^Y*5zSGzWsw-GQYaGbY(|(%SXZI9>`j}v`9UgQaQK# z#+j>M+3h2$e*tuRLbTr#-qYiAmAdnDfHv3Yw#zR-ScimT{O4t6N5<9mwS`S&e5`k}l(3ttl!UwMDp*%GzN zn?}Aoknyo{jdaxe7FkkU0V5-+tt~%QccZL&FDp+CP5O=WY&W^9{zQ7u$=Z8TT^|;`q532> zBiC8HjN8c@0=j3PXUKiPA-(_F*-Y&cEmw}60GAh&aSA~upQ_`O} z_C^)?^I2_JKYnMxVVud< z?;-l?N4TEZCU~@Wk}d)-Iq=&_ZUF?ZX{3d8k5>ra)C)NNW>C2CT85*Kzk2+P7Tbli ze?Qc}X14wxewD%&)Z<1RSvpsYeQfiOLQL(gIX&f!K7G-RE9O0IlNzO0+M%Z>?`Pc~N#O-hU0x`dq z8G&0SivQ#yqGdT~y#+k}lM8=*2_rH+&V{5Xp?S19^?_`H-^)&NL77-ZyICY;aB6NI z=*fj=&O&;nSiGk3h)*s&ZeM(m8$Xxc%u}&0Qdp?zF`!&@mdN~9t_Gwr(VRzOL~NhKgH8wo}RQ)x~#CQtZWGn80Eqf_TN#WrU#XBp;=7W z5cm_ATx_6;?61(m{@mRD3h~E68TN%)SH{f^v5*?#MADkEPMd6LG4r@|4Nv`1xy#Dj z#`F`LG3Nw`hU=^Z~hjpy`k zBNx7*)B6>Ym2(%}0OO6x!7=jDAay5-g_O^nA3OrC7qAy`pMz{6hI2c0Y(K^EPRuK@ z@^Pa&aEFRfiOHY|>rUzTs5v9>saFDbT5!tI<>*ce*_@C1s~n?aiCf^~RA~LUyp+$K zLIvy-aI1g=0`3)XP{2C`+%Mn(0fz*9P{4x%J`!_`cmbMU z{0ffcr|iTy7h#U+xfb~JhuelD$<))yFm)nQlg#qDqd0X=UYKO+<71fmk_H$~t;1?K z#&Wpxwu9;>NdbJmOsSnLOn;hK6or)hEs7u3U>mh4%O5#n>&a57^ZC=m|~WxJ7Z&AJ2*y} z!6~MmM>s~AA%TB}%cBlsynI}N*uk8rX*<+UH67%U&(fPDgPovPnYWagwDWH#9= z;Glqa2)JLs0|E}Q^63pofStp&LE{E%yAl7#2mb7 z-g&x%HypN`WE;3Zcj~sGYsx|a>ki%-aHr87yq%<0cj~6~1`U}~($BF2dS?d>=Wsh2 zIE@0~e5b17|UZa4yfBz@4dAkiQ^7 z#)oUcPDTa!QwCoqXE?^T;?CX?Ji6d|6$yi5PQtLMs$cAhq2dXk(XHT zCK-3ast$o?lx%7xFIhu$~!qzQ)4SY#Hbab}fuar5Jgv(POq=CCGroEE`87FZsqRs0VNrr%UVY37wR0iwdH#CSec_ zba3@;zbS4~Ibz@TWpR9}M8e>&3$MJ&-PIulISN>Ki-x`Uv<4O{uzN+AxYqCZ8I8C+z+Fvt9 zbduri!9`^0eDrrI_}1$fNB@4Kd=;yN6%b}?5GX8_XF!1fXH)0(m1F!4opc)PIKBEWQAO=5iunl~J_r~yX zYBwIk4`cE}PqRss!>QgOK~5t3WE`zSS>z9Keq@5pwDs{fe52R#pks1*#@m8I8Q04N zy#04eL1MQ5h$FiFQ5N|)auDDCteu)I^2>^NnJ z8;)S0!?kWtdQcc5=&jo;Vj{FxcuL|RFjnn?j^4f)d7N&Jx{k!O-gDA+aI7Vj)`vre-iX-FyCrH5!1oAzgKfxoEGKN5g37=!pq00_haV-J4t2b4?-F~7hnEJD)uYI@?Vvy{R4kU;HUEP&jNqY zq8!{pQRSG|OTWOM&6*{Gp>M*nwXJygbF5K#o;d+y-xvFKuW$8ZeaMsASrR~}LZlxVrp7&+v5 zQpO2-<-l=Jm5&S3@kj#~=m8-dX<*}xJRk&)JGSy54fW&-5-@^B%+rH6P&~?UHYsJn z80dIy0sFQ~$E0OF&;nTkE!2T`E%+0#vV z_jFTUn{LYY3iADee24`_Fg}>-laCKFzA?7V#@ZDYAVD9$=NP{u4GH}4baSlz46iqX z6q7MtFOD(uzzHM+o;gm2lQT#*aWm|&!Fi#96XL!fDlCYC`0a()>vfv?@ZbvUdx+E2 zCn(grgV%+_GNITqxeg-<`};zo#D6?GpCy}nnl0^`aOyVW5^~|dN2lC zCgi3882VJ(GO0icaQ+;S8RP*2(ujuz1EAjlQuF`-a9j)6q<@aH*#vzD%6J$~MZQ}$8aj*R)*sOIFW8%J( zOe06Q4BE^H$5{TTfX@mtsxg^frW5q_^QC18-^ux8dTetK$5=!?$9TScf=qwR9;1P~h zNX7*0oNLyr%{9NZ)+1kN2R)dgm-Fd2SdP&qeH^1r_6jlwW6II_gS=k6RE}_*2g#_w zALAJHcjPfl?LSY@GcUgUi7;-G)R-3?^kEKBSJDZr>g8>{EzPQzEoa2nsA0Kuc`?|A zkEgvn?I-3UJ8TlRjnq_@>S@IxXvG!&j+@oGmL7jwdpAxE76TsO#2a^cF^S<yZC?T|UJOTEUhH`$HYIPuW1v#{t47 zd*dYiWy&Y;dy|5mPAXZWAcsvV_tC|nK9dy^I|-aF9wV_y)nO^xK4u#Bfos)tv~=-x zcl7N{(*d3i@^pl!VV<7lDSBIBie6OuVk~?qAU2PS zt;S-#uVS2imHNJ!2^M&<%vHs5;hC^QE3W1CXDn93mZ{ORh>0>k+5l>&KH}F)1JOV(6Lm3R`T1?pg%L!9@jLh0fFSv>NrrF6L51+G%;_ zVlG9bLx~U8QbfmuX|NV*?nR_aLHo5{Oz8j4d2d!Ow4GadJI5~Sf-Pn)>4L45AUF&> zmC071Z9vO1N{K#hd|E*4FL@U{Ugv(pchiv zvHcj*V?a1Sa~$YJpjUu?0`yNnF9V$bLid}KKtBcg5zwnZukkYe8B%n~`4^x!fc_Qe zmq7mp^cK*+1K~i=X`r`(eg^ao(7QlC2l@rje*jH~SLgRqS?0sSY?`#>M^dNN`E zuL1uS=wqPY0DS`VDG&}A{TI+@K%aB@-(dTazjo33xFDG^}G<@#FKHny*HwGUG({eW|dj5?Hdp?ek=ypwuS=5gR`{Ubn zy=A+K!G#XMz2K`n|M@P$cRuafdV%eV9-i0^L&?_db1*s9?!3IefHy0=!I^gVKW$&w zu5}jeiuGDAq*WKUkXCfdwJS_Uh5K>hcEffEC0V!Mj-)SUm$=}9*uJ^!iO|;J2kTS) z&70afgqAktCTs+*zLD z7&YzJ@zldp9LF9edGuR(e9)`tpnNL1H7dweqF`t&*jTEhmxcd}`=2DN)a{0yT`gmP zw&?tKDMe(968-;e{Quh&R_i?C0PgKZIX%GNq3HIYlHN(_t6vwx@ZME#!+cv5tRu;= zBs;vL|H`6#T@O9zm#7yD^@U5Qq6II-J{M?;=Ne0UFy=V!QRb1Ia4bP(GVK$4p5n{d z3VHXz+tEydLBWD>JX@iEhrb8tWG#gUGV524lN;bH?}qe#%ky^ZY92cyzZRJ#OHmo=W*iWkG{U~y6u;leI9_`q~7X@d!u%08wZHZkhM`+oC^3L zEeFGl)i0=|&zKtWI=vEg{>m6Wy}y)KFRrc7NVGkm-rlHoIwR?NrW$ppM!kDl>4y86 zZbZ^-BlYH@8rFRG zOpkwKnBdHvf4z-_Ez*oLn(+QwPonRundG{TKv!oEj@4ioGV`rmyzjCeB3|3a$v&Aa zWV{z@wuR14XNz0nR||YTG|1Rb!QiC@@=l&#B_WyRYvB3VhWCB^I)ZxP7n5kcyi6-x zSi5t50=?)$78BO{r0qD_qu}pe`nykInmj7o3_Uci2YwmaWz%e8J(x}->Q(-AU7b}d zG5BuISG!u)fep1ZtL2Nzv;}307UBBIHSPWm^{US9miFIMckOXaT>1XYBSQ!T0z^dQ zaSRHfDv$}FP$CJ5RD1v`YQ23x2*X2T5|SX$ss!R|t6On>Y#&yjt+sBf1-I?>?rr6v z*4q8FRcm+Ky>~BI+iknu&x-b1_pWZ|&Y77gkD!##{OwMG^@AsRTGw1w%=l7eL z?~iF5ZO?|wLYi+k_3C-RTw!&()LYOmoCu!3H0=j_YN zgc>}@>)ZXD9!}$=?i1@#EM+xgc3K;u(e84?VmH^yjm``opz3q@m~`}LIzj&Q`^!%s zr~Gt(@}urAUpr3uT7U9`?=PPor~DCgNPnSsO;Fh?mfOYB!@m=<9p`o7vSo=SCIPw> z$(Dm6cQxlR6g}j5&a^)6JJAP$G0u$j5~GokUCMH+=)02i(d}ePY>T8F+AQUaDicw zOaJuRG3e8W(}xQC@5Uj)kbU&sefQHJciUsA?ii^z`1rRJ-RHqE?{mgK;XaSH$HMXk z>0i^`>A&RIK+=e26#vNaJCdIs%|Dh!87gTEI@%xIy%SvDQ=ayI@FQ5d-%@GOfQBn#wv(BLzMWN=? z#oyUWkK_vi)r{3@M(H)&}w+-nv6KTLSL03~Y0UVm#W5blC?4uDXy zop!FO#>Ti*a+zEyO9E0zl)?NO;CuG~_+CCRxm|c3cPq&JQk8?qR@d0DaA=Ua;Bs)$ zR+TI-mYHhS5!E*EKQ0W5UTH=!i|#-o+GPs~x7h1!xEq^Pzyni8Ips3kP2}pJ0SIV* zhBUo^YRK?Erjgq!{Uk;2>HV1oeD}RCz3}=dlef294)A zm}kgr*7W6L*=U@$7`98}=vFD7xj6`A6;#491VBoA<}?%99v)2_rkE~lCFL?>jSiui zHuubh^UaoO2wY@=ZNZZ~vUs@_XdI2DEwjn(vwp9a^?-*;)OiufJvmz@VW+T}P$QQW zGI#^nAz+OM^&IFsm}EML9@9He+}$|;<3suY*O?WE*7tUlTN!Vn_m`9P$DVrSyi^nN zx~r~yQ|YvbOMwdIv@_W6@(Spn4?fr`(LOD4Rl99F>(+gQw-;7A?MB_4c{8iggpHCzNYK`>| z5DVoe(~U$~VX?A$!x!OmVS_O_oN7d>LP=;{lL@^VYWj#5BTd2Sp+OXk$XGNROh4mGavuCK?YcW5 zpbOIgb`AFPYikN97!kx65(xC^6t%VQMKR=#cK);&d!hO z0*As};EP%_rleBCPo;+A>8lu9#fivkQ?tS)S{PMtXgB7%odf&>t@!wXjAxs^XH%Bd z$z}GCst}iSHz_g7b*)QF>`;?=(~Dh|$HMYBs3F?oZj$UZtSzoBuI1J8sR~%M2|LR6 z$Mwfurf6VS^v8W3w`bR_4&u@joj1i6ZO&TS8n!~$s$91x`YQD`^>(CO_Q#JCRBT3v zVlZP>cLqM=f>9&`yx7*Pd2m9gd4Dq@PR;WSXW4y-dOe$59(~OXTDoG zu<};zJn$vl-w(83y=%ZsZ?PrVUfhJWQkuzIU%Q4M?)UD;igTR^oc99u(el2pA`;Dn z%k6miMRR{D4#;V^0{_ZVI)KAL;;^iqwAiioI%h5$0RQq5_S)NBfv1Qfl$}6;{janS z%pQ<4&a&^WVI@)3HLg#mTWto116XS;W)xy8PbrSE)LD-MkG;WTUBaXNpOQ!tZmQS! zC#NiDtUEgY_6fGk5T;g{^?&~42@Idf7|SA3YGaNEfZx95LA_IeQx-BD7#U!-rto;e zl$+?ps~spy0^pC8VypvhqutTC#9qN`^?b9{WhXab#e@S}YytU%$EA03M!3`hjya>a zCcvtt7Y!8^4kzPs5y{gMz~ZW3F+^c0SnbA&mSL-KHKj{VL55daXEhTmR@K-lfW6+O zMsp}&Gp|Ew5R$1ByoLHZZFdd!!u+hFGhz5z!@Opt zHXYB0*jaV4+2v-IJM@gD#%zT+kqvYW)|F;!9piD$f<+F-iC@GpNuk}w%;K!z+8Re5 zH(gje;L6s)(%%;Jq_un|odrwuAG;iO*EdYIF8Gi0pBgaeV&?ZC3sF!R5dBSUZpX^= zYBfp3ZVTAkk%##g88cAvi(T&Q)c~!jtbsa8*oDvG?XQ^)NI)@cNR?dRvD-x6-IN9)e8U3 z>^Sw*OF=-jU=9M&P0LKalC+F0SV$Vzs*F9tGm6En+u}S%E9VXv?LD>wHh24x899m= z4UNZmeCGJj0Z9Kx^kuR;Iy3!bw09wSIGTTc&>byfPDal?7L8_$F;LSq_3P&jg{Nm5 zt?8L<;cek_TEa0SZ1OH>3O~xNmtVY;3(DkqGVlk+>C8?jl;bjkk+V5+SyHoJ46S!= zIthCpP|ZG{(26N=_#TFJVhw6DN)6J(V_;WZn)%7Rr1w_+JE<>n)ep?b);Uz%yk=Kz zbM2r43MM@-02XYroi_f7)HW^;as-#-DZRN=wvL+;L~Xa!PpuB|h7?;uI>Vv8@~Spq zTgYk59wIB1Ee?HDrrRS)Ate_|H!BRXSx{ken(GH6iptkm;N)rY)bzYoiy`R75eZ>e%SZvD}2yfg)5E;8A!1lyWoA^HWfu0{9{o zt!V10sD?`hnG@X1la9y(t&^cPDO#S*gV zFbSMNlr~9bo9iU9d7%OB@3Hi=d$C3djNxY9-(!bmYyq}XMn&y-_2!fl%Gt-(Mh9Mh zm#Nr8q^zuQ&8;c7?tb%`E$xvJ~y~svLax$r;7I^fzRdq8|OU^gLssEc?fkk)qGlHB5M zQ-qccWC>ROb_7dY$&oe5poY#>nsFN3>ZaaS(%rIdnSsnDe~{hEC0Q9{cH)61pu_$T z1iS?XqXtt--Hi^W+4-Rm>a^^{{(>Uy9G1vQ^-ZCbZW($9p> z-QS|)=9^8_lY1gk30R(+O1yXShk%C$5Yl~`(QJNqsp80>Q7+R1c-m~g{Ur7~v+38s z7lo8^-I(wo7X$cWQot9K0zNN8FS;48%4ITK!I=Q0VS(GFRv}Nv!`*fj$`P|bVR6f4 zST<)L07`+wsc5^jo~!uCYF%Xq0IGP=$sY^i&Wx zIRD_1hSGsSaD-*7#JD#`*y0fAI!(T>i|&v>=X`;t@e-pfNHD|Jnc8>&B8n(Wt0na~_#*Ir;&TiS!maWOsoach*sz|ylQu6*m z*!LzMj`+|2jtY^})8*c%z8R2?{<}6_uIh*&2krfj*p=gCIrM$=-7{sER!ox$37Or61{lx@n%^zPtu@#ZO| z)Un`}k8@l(nh<}B{7u_oc=|i(w-2`8Sf9FtJ-Om# zyeRFzrZ9NCBwjM@G4_QgSeeZ}{sg6rJHZ>k11I}WFM47Z~r;7KA*;(E`eD?$K) zCunq0l}mw|)2BX7esPp07pQRl*Qd!x>TVy%&;4}wNWMbS}rz}`w4_%V|NdKR*eUZTJ>bsE>i9B(ct)U%uzPN-}i$Hdccb$1B# zcL|2)pO^!F>Voo5pfA?Z7rgwZg5y{ga_c1F_JRUn1C_u&fy^Jm5uYdUQ%kRnOZ$ZaLpT*8z~KjF6u(P&N7l{Fw;bGRWzpj#v;^?K73`S! zwF>~+I(V%%TY2Ksu%EvQ6pJ<%Tz_!H|J#GZ|6|~V5ftOYvyI}8zLOiPAK=11bTVjd zt2+2D+Jm;YqbnOJe&h+FlSWYG3QSlR^ZJSu4<#g5y2zc!Tz=~Ux0S z`Br)7g#9l<{)M3{chF56#T$V>!WTaM^_5AY#!TcPMbJoY3=!(Dg$m{8;{PtOJQpOC zpNX^W3t2*mWea8FB=Nt=_6aRlJ)~|k0D7(bc zJX0v26_s6}(18C>-qV0rQDt}LC&?o}$D z2e0Mv+@(Bzas`ho?&EQZ_`cF2amhCe`h6n)T=4(9I9C2n@Qb)v#0N#porhF|BIdYX z7jcD%Kdt8Rx5V-NB7RoH2Sq$(Cy$#&e7}g@cWg6E^iJPB&UDc!;=}DK4v3EVU>cj^ z%_?T&nfZ_vA_+yu5B}aT*clx4*n^z{etXXBgP!OGlyV~ov2HU9ZW|^4MthSfJF|$MVzNDVw}JW_w;8aaBkF~ z9J)fRLlk*X!moQJl!T*^ge5m}n=rBv&+L*g(b+bdY~`Ya zS~eQXR~d;#R2RZYKBZ`(6y|uRa&smuch|%lLen2d#0SVuf3`4rneqC}|0?SpeuaITAwM&JyWM8J2eVL=# zSD9$v(`mN)Rb$z=Y;60MPo90bUiMuvLHn-u$=X#l*rMv@@61!4JD} z3=|S$q+=79e`yd!h>+hzgdhSS48~P>1Nf9@BCF=?CK%FJ8J=8y$n~eIjO(L@UTYwG zd_#?K4=S3H0;m7p7eV6b2jdT?VlsvF%RoZBt;UF<4*7gGLa9Ek z#b9$l!`AKQ4=X>fYBHQDs(6a{qv`N{)tu~8C7$HHHFZ0B%!q%FzV(W85Z~gi_;gNg zi5aJQ7Wc%b!SM|1urHnu$J4FD{&*ht_}1ZIJQt4ptiz#r4jfOj4goVbo@yQXjchoc zVjTvJslYEab{I0U;J9WTMzAkDu3CptBLmpDh9A=Q4YP+GqCNVKI6ZGlrd@|cdFqoL zab7Gl*C;bPlyMYi*^anb3uA2!brwmr5IMCL>ww<{Ju0GZN1WagKKd<6_DC>5vp)c?n z)JA#czbYt0ER4M6upF@v{uZ+TGK3PSL|6(HaHmTar8sk0Nxc-6V{+M{O*vA3V=gW# zN(61wa~{>Wty&DgUUoEb*+IfCh3*67i)5#@=&IfoH(CX66Yx|Ke#%NWU8NULfUO-9 zzZp6OSF4LZ`^6dl^C6S*n{@Rao{k(T^h?}wx)lIj=i?ZI(%s$F&FrF7AeL<7F8-^b z5lntren_#oWPZX;emd?0Dh6U!!44*O1mtC69$F=wUX$=CcDfqzOhK2j%dygL2l|*| z7mV)kR1!GhKn_n)hs}u}lw<*Mx^2?U(fSZ7m~Dw}Am#@bgV3!ljqJu--&9q@^Yr3H zOmNm>ti02c^u>#HYlG_-&dN$pA6#0ewyCY5+ryVs;YAW&R9?JnAzmHDB_&m5#duki zFE0*-7UK0#7AmPMSz58+PW{SoXvURU`zkj?8tXRJt!Yu3m;38l+8Q&rL^m`B8yf3d z>L7JRLk>K;YQv_iSWNOwWV%jV^!k@z4_MZb1FBrZCu}ROY>je zTa}d_g&7LWq&IDXHFdD2v1P#xl`YMY`kRa9W~HkS%l*ILfh_k2uzB$I zKTO{Zb*_8=G4zYib(lU*RG?a^Sjnl)BEC<=&x)AJ_FRFJvr<~Y-x}h_IjLOUlOdbe z49=s;4CLmLb`S0^;koY7xfXlGG3_pxpg{L&-Uofk&RsdGRwQ|ehvZKe@MGGoFkx)_ zNLs{0+7z)>NIM=Tj4h3)je#NTIMY?;G}>~*^1EK_kc{QO+Ac9VssYNO5Iz*=c<;VT zDR6L6pf9tI$A|V<`4>4P)8|#~{HbqP33bp6>)-~&8Zq7k6ASrgu>bi}EYKUo?uT># zIXrqok8mdYudieNw+1=x%zx3S>AV8vPYsY}y5r6N+X(AKZ({C$myVhud7%Aox={w{Evwj%ru0)6aj8^Yfrd=Fte@YY0|Mzk?R zn>w_CL!W~9KEgjB&^Y3LA@c_q??U(?(1!*99z^Iu_z}X75gr2m!MmR#JdE&(q~RM28{EMI**w&jlCoOlZUYQ~T|!bZJEw3tf0?AUTo;dMuH zzbWKCt&OJdN6by0&qFSKh+a2twrQ%5$^8o<_bH9if2<9v)Tbt<@5lovmD20#6v)8e zjUxR%mVQVJYovW*dU6Q8QA+Pq(^>u-M0zSR(=KxV=d|mD)~=BYnnbxiya{ZJ+j2A2 z4CZF;cBvlpoG-Lqje3#9^bs5|`K9!JH4|pz?_P&pacxAS*OU{}^VqJhd^HQ`$*IRB zyJ(gZ*6DsVcKU!im8E~mp}(%T>*VJnF?}!I!tapEwLr~g>7Q|=Pt|E%%s-C&gQ}mU zf6kHKr;q6LsMy%)3)LK!{zXUnOg)@JcagEv7pe5I;1ukw-0w*U8a+{y6jssrgK={SLhXOzt#~^yK_~jigtpIt}y5 z#~#x;dyS;>bm3Gk!Jo>{$+Em=uT6qK;>pivuhcWsjHed!qw;6@U^}L=r1nH@nyxFl z=Ba&98#U!n|3r`b&@1b7?XZ3Yp+Cjuk;91Y)S*+-NuJ#XrEzSc-sbH2aclM*75whm zv&=8c-#iZa#w3JRyzXj!wyX%^9lkFoyGu$xL+6g6PN+d`samA@VC62;{gLTrE{L`i zpXl6U(q(sY-@V|TS+ZL)pP*myOt{3PuQ7N(OZ11@x7<^N`LD$~K6$=hy>?{gx9@Ii zZ&To**~TAesGVY$S2woNTZeOsH~lEP{lyPXK87>Bb4E)mhoClky%mk(D)3B#Uy^rB z8`ieI^U$5IXWtRK@AReDsPOs=X8n-6TeCi|c=lj2aT5wVvhcdc{0DJ%P?Uiq>Wt*J zk#nnL=j70Xd_#hl+H5Wqs!P=YwM(0a?RMMwrdv1Jo!;uevHw=aaEnLwN7yIOaO^PW z+HL3g{28WOyjTWzk7iy6uRmGZ%iNk}INhUN^78f+<~9xKRTBMrvwI=Sx~mfV$v|KqU` z(St}oEYVZHwzHV%jhxc(P&h)xdC8YKFPl~)}g zdIagKB>JkYn=T?cxo?cd?fTz|l~42{q}NDv`ogl={;MTAb?ZbY2W??VzRX`F(X#|U zg+M&%^RwH4u_#jwFNKCi~vTpC}y z!MPn`QHBj5wu)hIr}5DQ&hQXh&9Gl17Gv0Zh&3>bmiYNv{Gl|lj|{&}W6L}k4kNaa zVMh>aXBe$*-NCRA(#+MJ57YQe-K;9}N#EzKqW%90o7M5}^eAw-wbS!Jx`kP^88sGW zSvq5<$5{`WB+pB--$P2i2hHa}^C!m?c+^XKFUht=wiKTmOCrxp7q7FUme3eFd*q=m z=>rqnYhn8=>yq?+lhgqc_{a@v)U9viSvD3C6Rb9%E&ygR};eTnAwRYQM&va19#j!54P( z)uBb6s+Et&f^t`Rlwl_0+)%~VeS|SyfmK(5g}(qRXc;mtK$c=;FGuPEQFWE9!osYo z7K*B?z+Z?}CjBo$4yrmbb3Pu=W>5)>F^4~c6>t^)Rv~^3+y-sfkvGCEC}{ywmcvR` zH1je48vL!squEGn#=_qK>ydjss=E;fbITFifa%&0=eY#oPtc^BP+C3XsKHcgkf#pe zHdel*?^$7JDOJ7MwnB_VRh`h>>fOz<1WjG!MZ~+ZM_a0w+7gvuJ>xq&n$n`Pr74x$ z?Peh(Eo8N9c7(inH72$<>?~&`w3r2=y)+<{W2S4*lJ-Kyc-EM@V4OF=dapZd@>WyN zZuxbHFFKoA4SU)tnu8`Q{Q+7p?$P)RN{i9IAp+q?^PT%6g9@#5WP&c%i#d51Tpru&*oSf8NY4)Y9qZUHX#;FDnV7!QPwODIUPl!b^6)p^k$ym`i~V2r|dZ}*OC5Rjn=4jkMumY^&e7n_7vD+NBZ|PTBlA)n%=oypujiOR@Gh~ z$dB9WqbO#oBFc6!9iUuYr{=1UYrD0jn>KD-zb*yZDn+)|I+Y(Ia{e9@^5u1AT0?sT zizZJT)Bc|^388N)&dsNChvwmIfT5{hUT(J}V?ZrbyR=-kM?irVHq7!e_fdkP7}z>j zHnm@A9Y@e>vz_a7CY?ge#jlL99=IAIn$6b(DV*mEW}EAQt%%iljFulAburnX&hmbo|CHbpi?MKLN7ED>%pIWX7$kS+K(H`<;T7} z9uMT&=bQ4*ERQ}(#&=+^ny-TuG|4X7fAX?d-hVRb!94Hs4Ci^5XEe{bPA|)Mm#0am z>o~<#&b|K0YwxXi&+f<=s_r6}Kv-P@O1LrvR z)l7Qm9Ou58oUd*qwy(Z3>@U4S7{}((0GGEpkX){Blyh7Rd>!w$u4BsUB3C(h)mKx%yS_RD-q&$YU~=wP{nN+J)-c&bHyTEu+P zg+dYSC8gQvb^yPngw?^MZy(Hp*3{A8K9Fup6AtwD!T*5#_5tCk=4r&qR-eF$9z@`8 zD5(5xQHG~MNW$6v+h!k27m?`I9M=ht3OpS$`2N~mK3_TncrT7Pz34>yWc;lMjqi`S z^fYnvjfoB`FaG?hiFXQ|-V*4tWb$WB6XmGv*;3;7K{k7il=Pg6bMbuw&%`!6AkmLX z^bw05k;UR&OEfLkWrCPOh zBbS$^Eiu*0mP}|;?K*8u!qYBfQhV4e;T?>hx78gIz0=Z-KLrM?tpap&+(&q?z$w}% z>Co@e!Mt_`1f4$aGbnI&t!dsm`!riOa#CyR6OizrX6sg@*}8=_TeoV>)-9SOuUaXu zm?XbR!ds=h+NHcYq`W$%yt+K|QlXpkv-<53cmS?~K8ZfyN^7=(qk>NQ3<;b*5-=js z{kq*p1#~Wx+IEoRK5D~75*`*fwZm%Nv?T+gID}M|R>X$2pO0}RDAP+e#2X-w-pgT2DCfU`S>eSQJzt2TC_1~9j z>)9{xd1Q-3_oeZCGoc9lX^if(^Y#0#QesL_@XUhsKu;|ao{KtnGTg7PR(2{qf=*>i zPp5Hv(e`vZuaLlT00Ci%9u@p#V{N+A7OQOtI+cHul(s{pr83_ka4PdIONaT;n{L{e z2mJ!~BhR43Gi31;fiJ_Q1G9Gy1U%?;Es#@8u74JU1x{_Ao;)+_sM?j*>?@+2pWRPu zGwkcVDG7h8#NRIQcX;xvu*2fdgHB1G?j-Vi1V5E+uOz=O3I9GxpMHsdFbV%riGRq& zW2R*iWg~@pjY9&vfHAoFyzY1ET0ii z9Wwc2VWNC|S+>3Obeg-}y7dnT9(J!0I9&@x5 zOMETBADi2**Luni;(c;y?0moDd_Ox+qu8GSPrWqq7IPx|I4C&Ex2gZBaTR2Ge*&H7NFyBcxL+Js3LDm; z{vE=O&CCv7!a;ak<8L&BW!KwZ(k>XMU9?{@8FtaAncLy4FB)ZU*V&wa9e1!}Hvac) zPsDGxr@@5w#M7DWi62vYqL~KCFH)TCIuEXHyk-5ZjgF=*ou{x}XJdYr|Bxg9!{g4M zW>}PeHmDFpI+=rDnXe~PC-nosaN;}fU(pd9epLiK`uKA($$!TQmC)5j5! zH%{b%9sV|o9Y)$+s2zaE3-Z7t4wa`xO&(XkWp}&$&KWsV(|Q8$enwAU#njXF2t8FX zd8H~SkE{j4qDNK&VL7K|K|*8Z)Hy{q1~&V}TyW0y&NaY8(s1I2LGeERbSo!%#It zJEugnGxQ&NBo}Eos@0i%+;l$=Ju_nkGwm@`&Uh=m6#;Z_U3oc*gzgoQ zC#>JkKvSpkxb*4zz?L}JI~KL-$%}q z{TW0f+=QREk@JJ(ycG$8a=ePlW!GtEm77lGvh#~(oxefnO%g`|=HWro{w1isdb`c% z?e^Jw#r1$~wH*K+eI92(TsPR~_WGQ@?M>^p*_t=Ct~0IMwhqtSsRGuQkcakRt%C;D zA^rI-w8dlJ;da7c+~orN#mLe`JZ0?m_WMLzy_k#J@I2PK9sC~^^*ap+N>9Q68<9a2 zdjf&J>XMRyfdLaBN4xwccYjG&Uu6k^b>7uw-)ZUz^rjFCup+%cZyD@c!~6wA?t4s4 z_4z;3^T`z+j$b6lL+uyOYXNUxn7N}Fd(RZ;eTLf245WGFyz(LLUj}3)XrdHMbaSWA z>GW*rbKtC}n_;s#X@B@bNPh_T>y&=>nqWmn72IhTA59+d|9H9<1J9IuE+#bf2D=M+ z+BY~o{RW*us}0uK{d}-=4}vgBtE<*n5rj#CC`kyyBteuU1YwdON|Fd+lJ*MsuC7vL z-m7!e`yfh^K*A)!&2S`45=2Q#C1H}#t8KpiVG<^ZL`mXEm?VgjWPvbAu3g7d>w^#` zi9|^P5I@Ah5_Q@ixd@*8h}IS?2(CaRdQ!c&7xm)d1>WRBUXK~VD0LzdMyb=|FYR*M zyMqr1&Au+x{`k=y4X$3%;YA)NU|809gI>4O?$K#^jlM?QpDtpz*6z-8i>R)>57l{` zjXs@rSliS!y0qq;$Q1w#D$3!Kel^TJ*=Snl8Ghv8*gqy9iY=* z@+$6JzY{xE*d+?~`c0dAyaP{Uj4sL0*tWU?J>u{{&=+Wj(Qxu1^{~k_v3iHM&O2x^ zo0?tz0NU0U^z`@caQghie{r-~vpKN4?&+>x-0}@RZ(oCVz_XQGRNuNjt!!PIe@j{! zZ|Y7nn_$s{b~&2@&R(%J<8Y?ggaUPOhEjvJ_^J4^XXDMLUG|UN{i@681MS+f3vut{ zoNeN+nC-_30p)aY_pd^;+euJrbKJ1RF1RSs2-uev%^StAZrinXAbD`N*+1PwDoxAAD!jJ#@ODvNn5JmG`En;&RPU zdfl!TU0r5Hl6-qE-{FPgiev&Xeyw2Y*Zvw=_3v9U zIAPClQj=$bE^r%0D_=^edr274Y)I{4Ue(cA`mM#C1 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%0D>;h%}0^orv)an;UiIx5~X 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


;?@%t(=* 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 xicOu|r}5g)QDvf0c0Da`oz9fm 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

r|c`x)mI)_TYZ>^sN3Px?8VRjJLqTC7u(;JdfBF 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 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 6b696d1719053a41d8d2ec5431f5806d4f13462a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 179026 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 OAs}QIFJ4!YCi_3*2-QXa 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 dcb7ca2abe54ac2dc8405f4606cc14197f5dbe20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16433 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
3J6_$KU5<+ChN&T< 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⪼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

cSql0zKHxQCX_c#3TWyYisbd&$$UY8rjm{b5 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�ldC?gt0R zA1LhaTm2iCQc>ant}O?1C@8VZ89G_W$wJt_KLh_@KR4*NnfKpm5Emae2m*uz2n0xU z0lDn2a|FT-0Rej2f7T#tzyuAlkF|89=|XZwG|vwt$FApk4_fkCLjd_UZtni~cN@$msEJ}?`&p+E7Z z|DF9dhUOq+TafcJ4m$_irvR<$$YE<|YV*BW9Jbbue=;6F;_^Rf4;LpG#0BP}2J-^r z0Dwx|fM0QOa#Mq0Tp&K~f9OyDin&T+5qG#5U+j3PA>4c*7%v|+7zk9n z(EppY4hT$cj#f^8G##Ld|GiFs$HIPWLjD?P2}Jw<{ADN%1_a%op+laZP`E#NGZdIu zU?8yl5qIR_`R!WpznBdLoB{^>`ORG5KjMFX_GT^!h#OGf|MAUSz;yqQ9mWH!j+{I{ zo6QCOZN&dy%m%h&AYgg@>CHSqVEoT-2FerwrN*Cp`7aC=Hy`k3U_Jb)%|9v>e)aGF z#cXaK$d4Vt&tLu{IQ=KR%?$*6zCQt5p?_hdzHdE%VEePx!0zfl_7@iqupQ(5vp4^C z|N6f)nF|7h$v@M5K>tFMAut{g*PpmH7x=Gy83+&%z#o3hWKw|Kd)m(pJq`*Kv!1-r!jxv zJWzncL(TOgi~%7}0`PMlo?nuk2M^FW{xdocbi}_K{cFVynDZ~oZ+f(*Y^EOLdH1Ok zUx^vtPp~R+?-b;7F?wc1FS0npR$Pi*CMH91ltz;~KKpU5nnzs9$t=dekJ?Y_B(u7v zdUH6}=$aP$+l8dmd>%|F3}FYko zyE*~2&?B^49rCN*kz=<-fxak45ggc1RKG(6*1Z+?2W1CgSz_HuYU`)jGdG z41~yjrCoInt=n1(4SSy;v5G;dGWA7=`limTx zV2lWl1?erzy;BV-rzB5W;CQyW{+ZQA=pIMKE~yxEN=j`KM60>?OBEb(3W@SN1^n^P z)8!FK?K*L=)zw43TfyMnG25(b1a^tjASSVjfUx%#b&djlVkDTg$!j zeN@VcVqN$iEI!^Whl}i~>c|V?xdaQVl0u7y&-@Q(vK;ak8x{RY);X^UC6P?{oQ6YF zyyL1Z@pn>g`dL6T;a<(v&n9v2$Tv|2EU%RXYo0b%UM7DG(>aNxai0t%a5w$D;XwKI z8#)IO;+OV$e*O7YCr$Im_RG~wPU4`kgsOhpviPCJ7tOEBaYRnl&1&>)SZLk_3OPMq zuD)JA9>K@zq*!?L1aVThG=q)Trb@3m9HDETH7e=Cw$bbU!`){sX;A^u`{qM8d;QO^ zIT-@KF$bRWh%fb=?mpks8kfOZh*jBrF4}%$a*C3X5; z)|41cQ?uvL{RoYcevYufi?slYppEt8eKJ)m8&c_dN>}q@e_FDc?i#rU|5lo3OfSB zTppPRB@gA5gbP1>h<&f`ok%nFR(l+kB&lYl$?LPT(5+#YC))6e!_R8as-T7Q5I1a# zM?4o6YJ!#!d@P&9f*n-tRkf2uKNw)1S1xXLHfk&v z?2S&zh#i!^)R|J&F!M9N!wX-y7DKxr$9w<}p{1cZHGvs66-{UmJ=v(JeQ1%-)}dux z6%1&6@Jn|z$;V4HUbbt=1=SNRvs}H@abetKlvxY97_j+DF8&}b+^SB31)dfC9kqc% zZ+@_Ke0XE#eY)-Qm&h-NPVt@OZsbHUM4Ih@^muaoZcJn9TS0ueVR_!e?LzrQ{~WtF z4~U}JaGwnBW4&ut?_ZSIq@B~E6x~r1x{g#2&C$SpxbJ_W#2b2|?5~I28OYm3P)M?; zzOSS)Z;70G`%=WtJG&3;VWp@Qt#14-xF?>;pgE$VyP2nxQ|IAH~p5z7-y(Pc7xz=V+bnx7Jb7 z2F2pZ>^XNLge`)lin$B~T^5+&S)02{?q#=x+3=(0b6PEvA#`O@(Av^Ce37VYozh`Y zE^aqB`$__Ht!#jJa;i{F#s$07F$5XaNnu{clS;psqrt~E5=2I$>HkcY>aPx3w_|Z>fU3PbN;x55F59LiA;kWDZVO>NQM$7>=4}}X6dCTmPw<4j@&hN^0 z2{k<($gW!4?y}W)*0kMGM9KNQf!gd?(>e9PdIf%!`q}#tQLirwSWkJdIwb4I|lqT&qSy#@(C*;8ACDj8XCWg~~#t*o*^5UoCX7#Bp0d8Woa;dMv zRa>V~32~VEftWI|3qO1JTEejq zF&2|jM~RM4$7rpGe-?(Dk2?R+;J!tP3bJ_$im&PtuQ;k)G1Dnkm^dSPaHdoA^nfE#0^ta>A*v@9}n0SkO-V;97;TW0IO`aK>lhP#ASzpS0 zB3s@;HLa>n>4mOf=lspb;m~;`hBxq0iBDs$&fF9hym`ZQ01f_-q(C6%myQ1L zyA-KcN@B03`V$6=*)MQ7_*%k`uG>tM{PvD!>ZQdM$*Nx7U}LE#ZPL033u;zgTCf!m zUk>&kABax4rIrQMK5vUV<{IbUj0YXSWYFhN$YOBtErn+m1eD<9YBakp3y3gO@b23& ziQ5V>4QryO1XVs0hY9E*o0^mmTUl|Ydj^J{^z`CtU&8=3pa_|NIW|r8in~`Pr;*gd zDm{wFW_Qkwh&8{8G`+c+JENMAQugf#7NQUc_wsKFVZ(lt=blM9Vz2Mskovyg$3l_N zBN@aF=b~ZL4Q0I`a8GxETI)}L!J|r7y2D&%!hF zyse&5d%e*>vD~anZV^5jo#)*c{VC8($Ri_kD}UfNhwF0g!#8XTM$F`&`5^$Z{&%+V z3ts%k8j~Lh$?y3g01W_Gn!m#j0eSH+{La7lAK1V6AK1V6pC3>Nz!$-O;eU7ltmVh& zVc+dk`aK`?<8S?%rTrbOn;RfX04R?d3P5}?0RH(E>ju~d5HHU^Bv6bULC!XoMz$c! zp8zrdhWlfu|FZ575DZAzUC%AVq|7^8&>+{}9~!|1kW=X#JBOhXB~f zk7}TQF>qW^J`f*(G5?=1aF#X>mWCiRhd<(xKYZ(-Sj`3H2CM|Q5FUUV0gzw-lIH;c zKOO*j0MONcMu`Bu{mj`0Wb+d}_&ZSW?|3(u^A{)K0cb+lcLsqA41xi83;<#S&;QVD zLsLtTwVgT0#Pp}${w*r_ckG6IcjoWC3;~cZFf|v969fhz6>fl-;)DG|vz;8A9i2=~ z*sW~M0ao@;T;;dm;NLR-yJG_=AsB!zc>(0?yMuE9idHZbpqRn`cOiwt!qm$8r>_4w znE!Wi1p*M_5FoCA0hKElkh$^z>R_(#qyf+x&VR~g{wA*cu%5%(+KS!P(!|`V{W|8ENDAB)_tVdK9C0U^{}K$+wBMeBDU zAn@?}^LhR=A_)6!EB=KD0$?leU)AeIXjwZhRbqXsZ@52~*KJknQC{FvGqpRDF;m9- z`CV1-@umMK0&ODA!%g~$>nnJ-hhZhJ>*URh&=5uN5dBe7((fqZ<@Q0XV7IbxS4V@Wb>8Pt2-+&rl-S)(J-fw3|&iG#Sb@ibE zXJfolF^He_Lmc{^C&Dmk(@eL{FB{H$Z}*ks+)D=O^i~pO=^37xxu0!()6F=N9x^Eh zDS4b`nUL99ZDGlImiE4t%n~5`BLCU;NpP6i$WZ~Z&*Wh&Nf$+56)Lh`=U3+>6n4~_ zO$~^Qv8R1@1(+v+YASLzYTB@1qZ5Y@3!!;iK=3G?L}E2oPYkcuOgO)(}u#E<9SP!sLA<7)?(RW2WpxvO&r=e>#Ubn5n(G)KZNWnBM z@VI$j=4>e4C*O3!x*SpQ&N>DSyE`o++8~nUVx|9-Uqd}DcB8@yIT(rJExWZFPY&!s z+Em4ak*j-{(7hqcH|v_(D>>Jc5*wo$;j+U@_Xf}Hm^SpwTXP>z^mfip7U3zTxj`_K z70UDoIz6EI4L8TwM%63q@_}#iiat#gyXHigs|ytyx!rV+>E`!%5j@(J_LP42eoT?> zX&)VW7WdotB$x@5E436f;c{mw4j(iVLOcdyv!(zT&*YNbb!k~ZFsd=VBy<6DmaX8l zB`>!uJDFsY*xK%KroUzz1uxXgB3%$RrIp(0?&Lkqme<7Yk8LbnwB*u=nxXR`&JEWX zXUVwP*x$}`=H9Hyn~k$&m6<2OPJSdglHpF_vO}@Lf(c028QXO)g1NgHxL7;Xrknig zG&9o(w6MVhTlAh~s#uexw4lOfsF*n@9#ul1gXL>=va&Y8(QxC=$V#t^7pF$0LrFW4 z8uThLNLh`Nv9$5QkcMS)(pUK-rxI_UPw}g@G(pjna*x924#~9DX9gL+9TQcCWH0?rL3tUJla7z-D+m zhfHiVD9sgg-j9Xa?qwDc(ywWkUn=m<#ttO4-R`t!xM`%zW?@tHCV!`E&mE2b;~nWk zJ8rclMQV{iLc$^Yl9v#sdpt@*~3(-Nu_V*n5#TC7-ceugcKgT4A5a zyX*U-eoeoYp63Yg9XI8mbcCUnh!R@Nr+O-w1W9ZQ(x&4v_X*zUZeYGi#E&C4WS%hD zBlRSgCZ60SU>nNqv~sfAa`{*oYiQmy(E7GHO~xoW8@X6fQ9bt4vgH*vPA}`tfN?7yJwo-BJb0bNuDZ&y;qo9wD3Sbi&$XxWiPIF38=y70H5V zig}G#-fO{YW209Wm`2_W!aEtH%=sVyP%@*W11(j&be9gfj4oa=_$qbcR~ehU;CxtL zNZ(}9@)BVyUfMeqiiL7lf(g!)*RD!-88S||Lj51%?(xmmRYX4u^4-c8aakDIGdvoT zck&+|4C-OJJc@l1W8yjwVlzl=8X>VVZea+8BhzW|$=}eXLs}Y$iOlYOM-Cfc3JzOGDxszfD@w>L`TQ$q8pVwu3og}F{;vh^OfD&F1ar#S zTWxogo^>ziY{0hJX0|l#2>ZTv=*NDl*O{eJ$U7n1*I;xq_0f33O8e8YNJ;z& z+m3u1=Q)i2))2Q6i!PrCu?(Ruetn1}^v&_EscJgnJmp}db+!X;2x&2P@aW21Z)mXw zc}DucZU_6LyT~A2n5woL3;Zf zz8YBzT!{1COb2)t%^N#dJVK-SMxLAb z3#p)iw!R0t=(g9=I0syRg{&P-sa+FmSci|?q*>O+@&1%O8n%6NuTnX8f3jerF|w*u zIBt(o=8i(IQ$S3#knD1QZ*e8D+*%$XCBBLe$6kIJa*L&A6_F!ufGcz3WW^Ssw%VO$}}D2T{QaX`Vmb?1U!r(S;3(RuoYL<8^l! zvOQLdXODZDFJXYAFVmpigXC0dc7esivFpm#IA!G5)ald;rYsMR@~%l)skN1@3cxQs z9id*_xbZ}jYb}EHGU~TdL}prg2zCudvmQiYoYBoN5Kmum+2Akkv*;7>NoK(GKHf){ zKVZS+9e}aP1^}Rw5SWz7^6LTC^8St1s8$+lSvB8@IR&XVy)uo3-sgS({!- zBGZ*4(ZX6RPT^9VwgQXb7~UrLusU)$L=zq^O`%aG%ksr@$_~V^$kzKTmV>M=Mh`_M z6!xkXUp5OU{LsJD2k#wuZ>i4)2Ro<1LI1SCk~o^qPDa8JIZGFb9eLU`Si)XmA1vfc zly0tN>{ir81WOfOE_*!FJiPa*Dzu^MBB6ps-Q=*!Lt+x2vFYO&iQEhN6Y9sLFJ44v zr81V1>JiB@NQbF@3RPu`$sYdN0!jQB@-;GAnMy%Ng#JEOY^jG|^+=HyUG@fq{NzHn zis~7k{z-lU^7}?QkXaUZ(Qe0TvOq*IN&bWSh}!v}9Ek|l;|v~!FZ>c=>0eYyr%qAv zVjT5)xFQz|?vf*CBWw@H!&ej~i-zomkB?Ohi&-kLjl3?M3?yeW?7z6CIC(!%DaM4E zmNw4THvJ5Ka-(UPVeLu%1f};qHCnmp=PoCEe3J`1Z{v@e0Vu!nQyc zuI;(UgaHSK`H3H0_Y4QQ9E^tI^C0JER4)a$PAen&g%88l%{s2o+j<_w8ZG6$L`A~s zjf+nj5ET_Qb~rmRhbsD*a*bLu1f|T(@_s`P4CAQEk=HCQTqh7_p63b5`)V?&QG$qS z9^t>7F)FULAnoTEmLGe>LpsM+UoAZ?SHkfAO}PO&)#n2L;qx<0YCkvbnOJcH!Hpr$ zxa-JOH1#KRpOt1aG2dv1buNeIf9QgZ6XY)2HD4oRFh43P2T`H~S!;%PK{!p>`F%>Y zrI{@xNOs92xpd>hLq?LZ%-%o6!h1S;IEiYZ-62iYOT>KETcNvl&NLm$Pc!A=GHCNdG*K?qivgY zHcyA{Ks>Bbs^8|z$+^v!TS^1U-p>fTB`vrL=&PB_)ZGQH3tawIkW+3sRI{f-$;ogz zL)^frd&_!@$sXsuBKP;fPmvN4Y>ubncHzaeO$TzkI)aJCE;Y0gk2H=iPJ8^i3SE_q zAXioTZmgL`l{W{ccPj-)FzUF+YQPNB?`%`9l@i;K#~91J?XyiWy0f)q`FJmyv2Lcd z!Ah@c>jIhJBxO}~1dX8+Cp6)jlGTds#ieLGlN-F;o&EBV;6)|;*ccU7_PN@=*@Dk>ls9xa zhsxadznVrd1X@B9GtKp&ZRcvpxxLM1w$tyzFH@#uGDE5u@siKiy6p$2^#`aKUbD48 z8T7K^MC<)Vi7oXE6Iu?e-RtEGuFyE5InU~in~UMX(LT6nEj8xrVt?U!oplw2N z!TaRBDu}^lb|yK!Ze~lF8fQ0l-0~4Z(Ve&RtDgw5%}a@tKPoWeTrErFL{pZHmz{>o zJ*yPP3_3d`v+3RRNX`v-rdHwD8+4^9TT$_0l1XdS(B#&h3?+&g`FPZSjN`;X#Uxg= z;Tq00d{Yz}r(8#k)2POl4rXv^AD_dJjZ5YM3el6Ebr#J=Gg#g1^Jjr5&Xj_O;Kb?w^apFw{>kN0m(2HDle7}JFzboeW@w;EqmA`|uadGne5VUdwCndoEr5HCaASnJ`HUNON zyj=f4SZrtLY-wd>Xbk!lPv$VTwf{+93~2QJ-G|?CsUMyC*KjGGA6@xtyApn~6Z?V~5)0gr67N7l9Uj~J6{Z%ySz1EiPG!*YPx#3GC#|XThCbl%| zN#Yi)5L=#%&L*(tE1aavF^H_NY^1r!vGHbymqU6o*s+7=VGBjfBL`U29419F(msda zS0iDq74v-9!4fAwYsJTaQl8`M^UdHIbs}3MXF_Bj%4Ks`Z0@C^>)^A~H{x;bR0j=I zM5(Txr5Z10FN{dqKe-;kF}Xh0kPyLvXO~KE72f;ialjyJR;xmOkC3{!&rO-2^V1siU8EnJX{OTy1iy%rCMuOn1LK)o0XK z@NDQyuj*S5D)eVh1(j`ukx~Qrkem?xU4xDiS|M8Qa@v!m9!`7X+}MKaq&c<=`(oGl zbWJCB;wmNv1OwTedg^RLo7${G$F=p)5(v)bhOx11G%r(46G>MbD=?LXqm<9vd}8_+ z9=tupmBc|ozzDWWqLZy)-kxF_^YYhZ=qsWE;tNVNa6#R`hMj}^lPTHVy~&F)orcy>19oR#(3n^kx^ zY?SR944uQ91s22j3-{!mt?REI5pQ~)rY=saOO-LQ;rXMhQ?m3U+wyhS)|~Oa`8+Kq zV4c^LON2Euu+k`$;f5`QEl7_Y{b=1>gum##5Pm~DKcAj0Izapj$N+=-1Fe4s+}pFy z9nJb|LxLwAv?Eqy0yFZ^7YUk{kP8?>Y>t=&S#!+G^zJ8SYxkuBdJ7(!KU7%79SJUQ zf94j!Bx#!Yx`XIBdS#Qw<}T)0l8W6r99MZQ%F0Zs9Opy{BV(4r8KP z|NIw-Xho#FkfYK5H8cJ6Ynum2M;!cQmBu)&H+0c1AXJwMm{3=`VvHiCXSEkOwk(SG zD%k6Ngv|u+eY6>V9=j8nm%^^Xb#2cckxsBei=d>Y{Wb#v_YJj1?3SwGm#h-C%1B)g z?h;(p<1GXg6rO0opiW;3cRXopkdxcTu0=b#;?C5b@Ye-Jt4442;GN!g8vN2qMoOoS ztgP7P?!toFd>jP}U?_OTTfRcCmarTK1az=xF@M+Srb{_Jjw-WC-M_m?W5Su_BUAe5TWmnSHKtA zvS>G{_OXI#wtbp(tlBjY-y1qz9nd>HPo0QCLV*`NeCLVH1PlC}C^m8M*1mvDgPUg> zuBz4WD;?+4;|M{!u}NINd1UL8Zi*)uq9PA3yAcC0XrEccaZzdVRHpCDTKAll(vHgc zV%j8a%`8NtA4g=ccI}kv*N9x*Nsm|luz#RPDqn$qccpw{!2a@vU3`(`KF=ijA-Ttp z!x~CEDUK0M?KEPAH1RR(#8SOu`cCAxXZ5{(r>=~KrSUW5`5EDN{bubX1*%_gy6(>T z?@uM}@$ar{`lBunW96=TsECsGcf3(un6F1oq?lG`Izv+M+b6yLh7X(;PR%kkctd?x zRgv09Mety)!N5W($0g@Mt)9$kMf?!Ol@{ToO-lvlDWqDr#F_Arw6)-?Vc8Y;TK;{% zNf*(yefUz2{PL=7W?9BqG5*%j%_@YX7l!=%yGgIUuwR>ZtxF-i*!Q8x+S-#{LYr{`mx!k~5~6MksO z@>M--S&~D2 zpWwEkh?aD-1^(s<=L??VTH`Hh{lUXoQVE*nq%@qQdrj$dj4AEzR`U^@HDoMZq>FS% z-+Gpa8+l6{Gq_`K$^^^i_B)@KchhP6&-%{Pw#DlDxb_|oxVd9yvKA%}qHeyeF|vQ~ zn1Ov=(yoO(l0Lb7a3~4s55kSZ;j0<-nRCD~-3&^pXZKY5IKRv}pqL|%8(rhKYPMsrKGZ>Yleq)3dwDaTZy;DSzcjm`xcA#~2*1!KK~S(O+2s zGO@jzl=qU3A~^};o~2*ujG7;j%|KT{+QQ3-%5bTAa-;t1jt1J*RjX?zf}Kk3#v3Is8U=;T z)0O*Jf#t*oZcA!H$(~{h%VR?A$tV3Xr7w3@p&23=3Yu;~<8ff-)~clCcW97(+gGNwmbv)?8sTDCx~UupS-QjIa> zB9wh>z}rD5?N5t=H)TAEVQrpOO^ISB6e^(DO2WNp3y+P0x&AQ9q-un7=73x9l@r>< zr-S&zSOTAlWKbCHtN6=&g%9DI!ANlG1@^7aS*2TBZ^k>@#q7G3v}|4D{*)o%0l?f?)=B>>L1HUx1vptzUT{-DFY|olZt|9Ix)s>#p>ykxsrX?>MhRe2CI+{(pW>fJg zQ1ZY!8p6bpjeE$SVqyNVmBa5_*{(s&fyW|&n{0uaeXKVj_bhucY@~YL03!jJh>$Ba zaTHl2LiA2mWvinwy0IE5RhuY0&Wn_Z1|=_VvED3GyGZoVh7YEUB@tApQ}?#%tsHwz zimE%}DcUw(lh}Ka#=-6zIzR;e zIH)q>s&VaX;G2BwW5{h2nUAZ_yz7OYhFZpH(EPG)V5^ArGhE!*!xO2A=g-=xOIMi6 zv_9UJpZJ8&m^58d@gGbY&iHK%{j1kB&~ZP)omjb(l-Y&o5vP_?V><(y;RYn3n*DBiZD z0rNwSqZWglzyNx7?g7f~d%WY~4x6;+*#d80&`cx;hz5~c2oZY3Jfnx9UkVhdCMChO+j3kpO!*8?0nz)-Q3BC)3GsIq^+NEDZ5NfFP$n1m-I%1K znwB^TOO~p5suaJ*t;7py+Qi~&U){rkLw!UJvv2&kiY>hSilp;S5p{&$%m}y`!x^U` zNwG+~Zl>BmZXKzb1>S$lFdiR%xCuW75uVs?>iun0i|Xuyc5ZR;U{h_6w&gdUd(P?9 z2Tzy^;_mZ*0T-2pRzWwDUoq;}+YkB4C*qLafxm28hnS0OkNYDf}Ky~!>k!$C0hHwR%U=cr_pe_c&;bPU5 zXVODG{O(!hFKl&fseAhluj*&ke9F~nEUFxD%h#{Pm#GTpdr9+f3h7W%80QG!*9KZ2 zpS=Jz5h!UXyU0?_T_(FRc$WA(sv!NsxiE$?tywI3wXZ=JEaKFPaSC%!D7$zsDs0 zseXnFsPN5m$q zAMO1WTKGG-%J)KHKA@fr$^#U~0oqUQ?}{cshxNVm6%fJwvo<&Z3Oy@!M_ViBA18YM ztRDL@O#j4uKsENge4d*RsI>(|qdyLn0G@dOw1^A#53TL4b03PC#?`kI}6k)#sKrASY*2Ky=9AV`=gy*8djU`a3@KuR-`; z6$$~MIS3%Jf&c~W5TH?j3h|%0&~Id9Kl%P|)qCGDxgSC2uVHfFpGu+s}mvlZXk3yxT(qi>2M2O(8YuQoAWsSm&O;}{vi{Pl>ZCe_CsmONw{yuNH4gIIEQet3a-8#oLpQC z4Jj9I2Ur^uLOE|Ps`Gf;dGqP+W?eqsbGA9luoP6{hB)JuLO21u|<(|t(!=Q-{3i$Q009}5OLz!~#X%#G=(^_l@%4n}w zdo*^K{9;lLGG3XqP|O3Ck>l2Y<50UwxMR}HSyD8ym=7d3O%>;0Q&JrJ3AGgQseK>+ zb9!G}^yU^7Iq>qmC$D%Kd5}1S)0eftpyNfRW9gxjLXm_DZ&h@=2%>s}*p8=ez>RF} zXJ$ENg5>Vl9qKhS%Eo8l7}*b}Hw#ljsMW0p)E`OQTO1moYz51Z%-K%Wv9}}?1-vd4 z(2HfTG`6c8KXswqY!Ql6!`R)6NUSnRpU0S^*&_Z9$B__Gdda^NSm4 zj5tFx5QDdBAsy7us(VUvdKMy@>n}b?C6uAseN78Lqq&!}r9C9T3 ztm(9saXPg&$Tf|~EBWDDLQSIlFjsO*JSrmxm1r9d2t-`2>BY_4sB1zN-SS0UClCK5 zVc)GC{fN1Q#)x)o9k`-7jMn-ridy#+85}Qv`-gK8a(=u?opuwA>*) zVW;mKnk-K2bofF?0}&TK>zT4TB@@%)JYlyT54O$WX1Ksd4-Ji^79bwHgCs+J6ccu5 zx~T)}Q^rnPR|FIG;Bv}jf3G~tl?I02HkSMSp78_%6-cVYCOxBKwPDJ9-D@gz5%-T# zr8m?9ZT2`XIyK6(v;4ErJ5}BJNedBGJiNT|TBIO)qKj&Rm5ycAl@|SD)awvhqM80# zrszXt32_bGbo~_8F&>%qigN78v!c>M;_mB*H&(Sq@Yh@0v6Sq>djX%FJMry6XvGt6 z_3|{rlG_iFrkYr=jC63!4$kOjNa&=%AEIJK*j}CI*BWumXm?vRO`)0kxTej;dpco` z&9Th!wT7Ksx2-X(_KBapCt2-rVP04!Bw>>N+AA&9wBM^>g$N@cX&IvGeOd%&C{-FD ztB}cqe`!iNr^u(9T)Dc#?{_?J&*hc|ZXA~)S0DSXFV^_(*(sSUJeyt;q1%7E{Ny&3)~wTgeL@B zSxP}NVz=)=ER+5-+G)rLpQ5O2-!0J_?<-eu4bq61m3?WWjsGYWP>!nqPyus9dovX_ zSL2ja|27gVd=3)HAgQ3GMt!`lY%z%0tgxGcjye0>Dg`cc2U%T1C4(6qJ5TW{#7%dE zUpHxePBK0GzQ=Whbr*z8rA$(&S)UtVH z)zgeml<%J9NY4#SRk9?OSlafZL2E?%UhU5&NcQr9%TzMmM%y!U6NHz8O7gZE?(}w> z7NS(YNz4^)JZ7e`dUFAk^o_>JYosP7|B#4V&LyQRfV5=zPM_M+xsP@_R3EPIb;Rh5<1imDII-^`*m}Nnsp4`ql-cEI8B%?f#mwW`f zqWq;W^(!Cxs9Jrpcjo0YMV^mKO zUPN|}Z<*uaRJN?as%1A#>&E-1P1Z&;cc!&nN7#bANIdHssh$%QuY{5%C>@f&EhCJ5 zF~{3HPRNKdQj2*!qkuSot;K=3-(vW74X5kVLgTO@L6G6&g@;nGew&1s9|BWn4L5Wg zxnA%d3qCM$d}Y}r1<{$bo~i8{w@c^%E5#*b~ZUs6H|d}`-b#7kHlx|Rea$u$Nw!nxe0YB>iK+;LXf z;i^x#%fLH$^NL!W$~- zw)wB}mKH5I-(JKou1juu=>|z}N*D$)<6EkL_q#jMqo3ne3&+o+4!nN3f5VE@m8V-S zXg1$n-U=s7vAXV0*?A5+Y##l8tetakX4~5BW83c7=~x}xNyoO+vD2|_+vwP~ZQHil zx!L=ieK*cI_3eAU`(G-lS#z!RzNuQjImR=F7_s1{4RJ3c8OUVr=ja!r@tR0KR|{d0 zc&*EvdV3_vx}WW}4g*~h#a;!B&>3_YOn?KRWv@aBBVb+5)@#F)?G@w<@Zeqk_CgOg z9IXDXE-b;G#%;;&ojj15t8XZ7GUZWjB~&mw{hG{0iK?5iGyA6aJcu00u6E@2T+>Cn zF82E(lruAYo_EkXZjJ5DH^vH`V_H!^0ya1YtEap;p9kLGfq`kqW&VZuKjzT>@Lu|F ziT@w3u74tamXFDw|Bm=s{waz7k?8;NyWif8{}&{~@-g}Kkw)|}L-i3V^bZ#PhO)H1m(g_}h*DEg<=QD&?>9Du0?}`8dq@=UB_%vKxG4 zQU2jBexs9LLO1_r*!-NDgxv}oQu~2&qbx5vq#FOZv=U&I8o$(F>BgguIGhrYj4vMqHF zt|;@Yw?A(&Fp*JS*5GqAwH0DEq{oZc<6Ho7b1C z54YBleH!BeZ&`8d_DodLn7&v&dznU_5NwJTZb4Q!KcdPG5n1+a!fz*oRq8C(H=Aq=QqeRTfXvsizK`+dA)xyiQX2}crBE>jfHzE)3Hs+mgW3B z44A=#;uBs>2R(A@z_d+UbKR0PIF~O$K+5D-7aW8lDHh|t4nKEid&L32b-BlLnu~$A zqK&Poavv1eH&Uu3@T3k<0+*pzpQp?}!@l2&=VVW+k4*;P$&$#7+MAA87&o}w1mwYH z1UHcji5PT~Ypv~ys9%E%3*n79IiG-NF`%x~2=btXE<+$Rie4Pim?#yyDarS=88@&iQ^JQe;WiO1c ztQ+cj31c~Rx1`bMC5+*2*s;O<($Kn?pn{VGz?oMJUo-1$?HnxL>ckEwnAaDOTCZP% zlwl%y%aK+VmgMCLZBvXj*9#8T(E^E>dHH(bSk%It`XyDPN47L3=wMunFp(r!WW2$0 z&CeCmrBN5s-=ad0j7^SB+{q31i8i?>HP?E6(ja>FjL$q%|5AS^(tn3eI3-Nr0L@ygNPTE-l=7E+ zM!+J!@e}R}yL;fisc*~l3v(Ipz)7f5vX<;_=^Y(k-XFJ^B*c;ddvBRQM7(&63wcuv zr#mzz0kas>?$Z~@_hc4CF+irBJZd;$#7bhL96X0V;TW`neJ6z9Gj%x4~`p2|-4%=6@UfC3aTbov!TyQC{zHPRAin*;$>&;^wwQJ^VU7_ixO{AZ!Rg6?uWygym zyZeUWwm|FY~n~HMi{b14uusMw3pkWUVrwz2O~Henw9WS+HcMw3SI4@YWs}^%o%FBz~qdyB=5uhrDuAxAsC_ zfWSL&aAY3?OaCg+*s`L|mNb%}hq03jG=Z;!tk&?6*W#GYX86Z^wHnT?b3dK=47AKy591)65WDzJJ@q6V;h$hsoI7|L?uF~vUJO75{U>F03^Q`R?A>1LlHxBQ-t4zeVe>Qv8g z!ghP$SffKQ$2F?&^13K=vQQ$OY2w+yp$8C2i8I1@R2#{UEzrAx(M!Z2OYA;7BB2&c zrm=o*HOn`RBW8<{TT&76OWYE%PiuZtW+whdbj##)8%)b|NJ(h0gJ3UlrdMicM`Dkf z5lC!OLIR+Ea^;3!NXQR6+#~Kmw5KK=#s)Sm0Tz`9YY$XXQ9FIYnJ+WC8g!VP-W=8m zFi@s~s8q5D*W0w$VfrJ*w8Oa41~_;6%fiTu->`@|Z8M>7k%gC?uL^G)+@rcu9p=s- z6RzJ}x-~+A)e>gN|an^(v^4H&Bh;o2<0Y9?-=EW@uW3rjjZ0gKA zFtN#VP$>2|kxPy=?zu*kN0=DDR)#S&o?@i%NR9(!V@{7#=bkbPZllG|~^Ha7YqPXoy?4d>9^w04M50P#c;V|N6~^JIw~2`IWZIwgcZ z>P-sOn#s{@cGFubV@C^$&3*ssZPa5Z+{`uV=ey(j(C zCrAKz#ij}l*U~q(sSV$nfz#6GE!#t=&W+Z9#r~(CHB=6wicJ#AdgY|0T=DhL*sj!mSa^y&xZOeXB&QHE2m^b&r{y)^)uWk)H+0HYeE2SRr%-sk> zM2e3#A6)7VLP3{T&C_MnMlEUKZ_h2B&L!XY6BLENg+= zt%3b~9csX!_7%nrATDh=F91k4vg{67l5AYJIZ^CSF)_~to1%ub-d18oS#k<{KThW( zTTO>L^W#?9N!gtdkO~Qn@_OfnC_d!JDlyfHMwiy1K;n_PnoVqz!UrWL2m_699|9%& zo%M-lNkLzGWJo5LWDU?Sw)Cfh=p4fOgUz0C*}-WD$7UkUhUMW1*9ZAMibR$@Xc@V1 zPF6!~@XjwU2n8R!P1T~V6@+k~*jl?$@FdRX9#jecpZ(vQ3@$MOOS4vfah9h}`PZ&0@m( z=k*y_5^jSdU1S=EHn)AWMpT$avIn^#TVSV4o0jv#E7TGhqZ^*XNV&xs zUYRwr=190$MbE?(p# z3>Qep&o7q(3b^1#P4UvTeN8TNlnlKD;G z{k`~8APzh1!K!=qoa4Sv7a|FD?hqrdkf-s4}y9+r=s)87~WEw=g-LH!A| zes^#G7s?O)ANA_rtlab;y4Bxgt1&eTs}*6SpBdV^D2*IYl_>2Y2G0~y>78whkT{>d zciwSNBGFW3i^kL1xOeFU{}0``lS zTPWJ;DOlLjMF;cQgI9m(i^l8AePN=NZ|@RSM7LrJNwfYb<4|bm3cB|->cEs)`oQg3 zr2%Q8k)xQo@rj?Q-&!mYOiROyZB^LY;7L$jjOxkWhL5Ken(pzL3->LH(1K!sQD~K8 zo;To0D4>4g0&8Lgy}d|{=GR1AgT*YSH zz;YV}{HG9ItAN9n=1w>ZHBOJ=Q5A#u98C0$q0Uk6%Tc_2BH^poVW%9kM%!;L zmlVP}p}Brp*}AOz8x{>zDNx)KF@cCj79Ll~?_+mkg?90ZJ*?O-eEdqXzD1wUM{V1@ zf=cBU&PuW=U6;l3bzb?~nK_3Wu=dMsd_XeI*ql}$Tt;;rgpZc}iUmqKJRx%)2k$e9 z*DFX~^WH6mI%XDMvIJu!7ZrZ?+Ym^R^oF46zUbYm9;*Sqo{(T#2P3N9 zW5dT{#4rzu$A=%Kc1+JkK5~b2t2Mdj2W(7`JIWXF;D^LL0xoRS64lerWfFgOwEKLO z0*NH22HqjXsXFw4gzj)!*u(isi)Os7y9NkZh8PfkeKI7y8X?9OGb}Q+7M63)vcjy*i*XNd=K<|Edm%MiI`h5!4v1K zk4^LtRqx>u&TmFk`wss*Li%~hewY6SA>5;Ugl+0hWKJYS?_Sp82RV!)+IxWjSuy)o_7H25H0f=gTz!@6+(m}a4+6GYTkXn~ zXF;kqpB@7FCP*)_wyX%>gqCa49`aprl+dhnv+u5-j|>613SeFd8b@~GLX@TwJ<8t9 zV%ru#CvTMr4r7%^Pa?MC@#Ty#)Kpe~%AE;Uo6l2t)ChQzWcYC#G!XsxU=(aNf(Uj=0{%H9`jg6mmB zj251VtVG)kIHlU{+vH8f2^JBJj7!{~AWY+%5SraMhM3v;rQc3P4~KIEFEqM$sjLCn zi9s)-7;d1MbByUTINVprgI!|kLjqv4)hMW)^O~g5tf4(eZL!(3a?fpww%BLlT?2&Y zDFqUVCLAvj^AZbJRVf?J8Xjg9%1~6i;x0XQ#T8!%amo%rLz&g6!9`ehFH-hE6Wn3D z2#=HAd)D2rTy3BGjY3Q!b|jEHXZO!Eif}HT#WxkF_*_HW)!gu=AWf6cL@!aI#WmEs z^DIzc7tHoV6(o?2NcajYjRn(2m~hD@2E!Ak6PjJz$CxiyLb2gKH?Ym5M1i>NAyR}p zk@9R_4J5CirpkxoYPgXx`zO)A)g@#aL1gtTN)b(jvI%=0YiGiBrFU<$m1> zka4l|KHJa~Jvh7WVTK@3qE9wE$ss9^2I-yzS2m!VvTaFg!i~4w+i~*zIwoR+PagM< z_6Q8g#)VdH>B0|!h+GP|k*JJe6lZ7ibgn_>tyq_o$Pg-Q6=j~;eV*jX!V*=Nu3)|c z$k<3s<8f1~-(Qm%CZd2$+Q5B18ZNu%m+hqZm7H#k-oRt|)VCDGdqYR5~L$ejZ;U>cyF<;h$DmyFtwr=0R+^c<%8KCil_O!ZT&&u3| zx?BsK^p|CsG*7AVzd&w}KUweEO(Kt?ao^^BGUt)@Qd5+$O%*%#y{wX(MaWD*5&F>|)giMe7uO1d7_3Q+*uDRV0x(pbCb2b*0`leX;{6QkW zRyEKB@Y~}QM8b!DO9@iaeG*kQ9UQVJu}*KV6$yx4^o3$S9HM8WYJFBfBls}~M^ zajX}3U`iHishCZeuTl8|T82+te|@)FqF<>cbOKR@D9e%-9K4HoG;|%E7*sSd0vFODqCUJHxs zs8zuKBiWh9)V&+maTLY5SZq>UIfHr^8*Ow;+me@oz}iWSIH0D-Cjk);N_v z$*2biLvkvjk6ET=%%_86W9=p-m`SdnOq)LI@4($CCK%c+q`iGo`w4BJ&^7UI(D9E- z*MC6AU+uh5e`wWa`6w0oFO|YyODX;wCd%@sqKf}UDWw0%-u%UR%J|U;_6uJ!FtdH8 z`(QCf`VZ&k|28}Cw^8K3I38L4+Ref8YY)xegW!)i!as2AuMqsp=kVvn%#4g5oi+c; zz<+I>`F9)tQs2V<(VX;Gw~ z-?{wniJ1(4JahOBxamG3LH{mrt4hSK2*b6%C`+CN7l&iCe_}sV*$F%)&ZstKjaR$y zCXz)$<~E4AHn1Ji)^-C($rHv=KC}2%EKJ;t4V&c+Z!+0tdpOZ1?zR#-Q?dwev2j<< zG6#KNCPQSU)!OQM_4bXY(H57(VY;LRx1w?7=gRX@Pq##=_T|M`cb$g@Z9@6on%>b% zd)-gLI1Yq_jGab7XdWtZiXyGcwe9)jv$_ zH->mO4lA~w)rpO7;Ca%L{;RROhfh~r>ozkD?el3PpY*DxYgL|a^?cjq zBW~(t>ub@-EC2?L86CHSyShPs6pNIqk=}E`m`asyPhbwuU}1O-*|=xCj2))1pke}rBwHB=u=hP4D{nJiBriBGba zEF(m=v|lcuuM+Zo-7q34;44j8t-cM!(e!l-K!7cxLV()R&_i~F zHWymyRj`Is6b=LYX>bdlZO*me23WOLy7RJxPESW{;t^%Z3WBMYj)Svt7-{567w9{fSYj`ZhF*I(YLQRFr+{o{7;!+n@W&OQ(|%wOf!Qwd-MtdUv)JMqzaZG zE7+cD7(_JK7vdODAQ_v!1(sc1o(Yc26SIDwul*X+Y%l7vHp}war(itHd_F?fZNBqHjey0d_TPIAdl~cJ(A7%i#m*AMbRj-vItjwjVnT_DostJq) zUNj%GxBYG+Sq+$xEu5}4Ra0ZOT?|F66LtlBW4woxj}nBFGC*TjsIIGIh8R`CaSI1e z&8cI38|xa1T-a9@VHZbZb zVJ()lU)GT!vw#^+$$hTB!Mkkjhzcuj=<)UpQr)-GIx3U#WDTS%{?C%$EGhmH&Um=u zwjk>}_QHv0wsyD9JltHsO+d-j0P>QZJ1%PK71fSZE5RG*E2YPyn(Q_KYKYUvMmImX zaA)O4@Y)RJV+v4i`74FHZ{1}amydaO;0iAZmcu{n7quV0kTIX5Q>qA+vo z{4@j3nI-~`R;74*k5VMu7#nYiF>Oq{yP4*!;jwuoFM@B0wNk}2k9YdR8QMn`GY`z7 z7bCc2c#Wfltqnhf>#_KO{y1DJN7t~)yStyWtc^b&gY^z?_MjFp6G=i2njE(uXW&4I zl~`x=G8HKI^@W5Vogm=fU7QUJ@Z`?nWn5{1?;j)dTe>s`{EZ%?Y1c4JVO$u~(Zm_A zDRch833KXN)uf{2jixX^T$ml7nMzirq+6#-UQOed*D^s8OW{M&QfITajs2l4aMl*V7{RNXbua6+Kue?t22B zr(P5LeLP}Xto!2_vqzl%)-cBA) ztTgU@#Ym;5elp>y!TQ^YYtd~KM>A8|`AU%)!cT!q9X`p$#xVn)?is3L;7%iaK~S{M z5@W3}U3;l(wKfI>7<^5gNfMprm2(ZjmyW><+^jY_g)l~P73>iPk=zl^o?jzq&TryA z-E}I$hR~5<>C-Zw8F3yPvY_CC^736LaByY>oMc%czbkDbc7)BASwMeNkt!CIvphb4 zLwKy=Z$d4Oj-_w1+)w!#gY%s2vdKY@3cvxD3(iN7fB!UTRGwPB1YDdJ^!dEJUU%_U zP&ch`V?>`chu!E22%wO;P)gkzwtD_+;m|bpIsCNIy0`>E3Qh!a>O2&l6O>G$Wzll* zvfBy&u54P8TpJVpVygFm)Q`wj{UC6OhzI1iC_w><cwgW2_gS}R) z;p%bwwZnOWzAuF1tG>ZgRTgxT?~Tn<7xt^+0}7wX3{uiIgVWQ0(4o4$7N8I84R2%%d62EloLn;NDVvyI#$lY(G z>bg-4M`2@*iIHU z1Yqr$+0$kIBI>>-5ohC}==Ad7GjYwQ$9HHpJGg(HaAou z{}+n=g8=#w+4TEz*cipPx-|AW>RO=_+K+bS5J&ZaitVJ@VE_LJ|tp?aQI6ECbhtIkt`N*IqN z#NmQ^qSUnI7uwF%6?8C4HfY^11`s_n;md>B|X--la&?I$_Oz{O|g&(0ACP4{orm`8Wn)txD>glG>RJ-~L@`0fbH zcZ@f#Zzgkw+c!P)t(nNB24z7QT{u35XA~C(4ZvaM#F!90nTBeMx+d^egtg&zF@=^r zW09ER>Y)@%4M zI=Lhhxn1|x3gJbd!QYY`ZtfF2Pp^P%EEje#IgQDvwk2yQ&C6p+CRt20g0rW6TCLeW zw_2Q}NKxCgD^Wja01CNomSo$#Kh9!$v%@KA;f%BAqF4B^>4@wlZB4LkS(PVpqGFeI zlczjb<3N!y7~{UwcVS!I0j>sUu!*NV*sGg~m~jm51@U!Onn8J}HrTH{S(6W3%{JvM z-RX<8L;G#44r(elkG?3qH>w0!p1Mual(+b3YwefTwNB3RCyE=Dml<9fU1IU3JSae0 zS0VVgJ3p5UhW<3CB;AX1&^#;6p&Ng1I|ftC1$HY`>10I!;V!{Yr9)N#XKM8(^wr&p z9vEk1)kanGM8I;#u9oFcxdw+)T|s@v~kJ8DNbB1&8d(;=IvZu0Cz0~8{TF6H91 zsW*u1!K}Q9ZPzJqxpJuN_Qw?f5H5I~Ek?EP^n6s`UnM2g4 z&tjC~F#`{wN@k#{!Iuuv!#bM_A(SR?G#krcV@VX#uf!-tyE_g0s6S5rNv+~gzPC#; z-G1cG=0liKl38M1E{0%!`$W7YvE?_@JW!s<1osn{EZMFD{m9uP|D|9S7x}VYHisTQ zuM855Nb$&azt-Ug)VB%(A4m(ExtNI5lIC4{?vtRwI>o~}yRu>d&ErH@ z3mY*Di{lvMbxrrqO?wJP3$aah}`7}kZF5h*aMNS670elwwAY>TN zB6OvSoZ0;g99`-caI=IM?u1(xrTwi9W2z1?GvW2_5u`{vdYqsDO7a_DRhmb25u$c~oWfxs~ z9ZaM$p($egT^Y~={RF5W66Q-ylr;+Knw3fM2@e?OzkAFvcCq?n?fs~5k|fK5kXe4B z5Yb;n)&sv%aWxVUV1(7YJXQ?;c}yxt2Xp|N(xe2e*4LhX%cjF*bFTI!J8q_p!e}OV zD}NRBdq?{&MKkUx!XcO>k-e3ar(squapPgoEte2FC z;GU0!K%Abo-^11TwwXx{#Jl8P<@p1>GbQZSoKqL~52c;#-)I`xE4jY`PWn7rwpmQf z#051mU>@KK)dga5iDK??(B?aMRj=1^oNEIpjru$qbc+bX6JjvH1(povT7&lEurKt{ z^;3>3b9QDh?-v&2??ybbN$NGrH1-oQ$^!%*$sT?Qx@ky4$qLV2D~Rl3M=QljL+#PU{DR)MmR=&K)jMvPB#($1*x0jS8Vg4#wae%ecbumjqhN z^dBivzpZ84=cV&yvI(QhI#vE|BWKnRAP}8-!pQ-M*v7~4*pjv!G4#e}?NwU{NJ1nx z5YC&0_XV4g_luBl1hx=lr5%|D*z0qQia}!C5=5aZQ@P!Rvx&KU$>&hqCk+sA&TdRH zsZ5(fHc1h}TeQGjc9@r)yyQYF?0>@BrnuFED4x+Y;s3;SEeXPIyU{to|lWp*Lzomd?}9dDQBb4jc-xH z*rHFu&hS!Scu4|iZpo5mj((_aA#ik~Q>w4**G55Z0VuEXAlh7D+CI{!2|*6T0)be; z*M)aaAi-THZhY_0tx3{q-4CUq6c?O<#1DEPnWIV-yI2B=`ASVhM+v8ktuTw1JZeJT z`8Gp$~h)|yQJKb`TET^FJ1VXLVG&@vq*39|ts5O9IN<4?%b+v|Z+3|B;VtjX)21@W}V zvHm*CCY1CS8{*s1iIPZ`U1W=!>h zFaruQs^4u9m$&<-JV1^+;~Et5XVdWp4<{E0q@>3|T5W+evi1rS4e=sXGh-S2$3bu= z8r$4p`VQW0(!I&Xx56z%-7+2EWZGT76MT|xmTktyM$uwZ1Fm$M8w!-q8hrAyqDA@n zIpjs>`JldfOqiAdwSnI8hp7ocvQwJ;;8Su#X~AvYdQ4GLwD36hEl@fve(dT=^8}_B zWxlf4D2t3EC-_bVkh;!X9DiNN@Z%2mv>M-++jeG&$l9FhHC^*Ar-M|^P|a9MxHWDl za`Av@x9EO!afF*W6sbqGC1k|vAP}C;STp1}8=+(KDwU+sS915w`mL;?)_MX=U4xQ5 zw3OMeOtu}g>NF#|UtejR#l55e7Q;(>26)6OwYR;8^C27u$BgxNhuC@WirZ<&+zHm! z!%X)mFxm7HacOT9!kz?>6iqb}9;){E&g-VNktU6UI_;GYiyQJ;=qpp%@dM1wOl^Jn zU`PN2oL%bL6Fy_Ves>+oHTQcG_aWzJ6%Q`Y0&`9fGL&z{z#Qka$^@vgbb`1AVwm?a zeJrG8ihiD&8IPwM%+w3RhsC6P?mqM}?HoEucPr`XE54 zUm}uzr_ld^%>PWCmNT@oaZ#=^vQB1$@_ba&mDl6mDs;H{reI*GR@>JvRJC{xY{6Kqrg|-IJ9E2`*%X~aQ@5DIOB~&^WnI282}=v~h^|Gg z&og`-N-h1y7WSFt1-(lMkkN@&t3pd-y?;mu)?U%LFgY5ro1`bO^mG2IXIKp>>7_Ku#wWov^J`?K?s!- z2fqnrbhZ%1B&Ve=u?MwjJf%eVRSV1a(y$`>$2u5dB3h##m2G49m&8Gs<*t;gZ(ZQI{LQ6IV67p_A!cyvq-L!Ow;BHD}Wji zx8}#~rHS!k8iU+|9apuRAM9jBTp^B#3nt-$Bz4Ml*le!m@t$}drB>p|7|LM9ij!8L zI5D9`8WoD8l0al5;)x1Hs9|!Q62QmYw9q2?$$R|NbMAic0AJFC0#8Me^D04M`6L8R z4uUFsx+tEJ%MEUNbL{LBuMe17!1@{{~0d~AYF(;QMOk9m~Q!sz~`2_-41GSGJmF?3V@G#I`pLfS;{)dJS`t1uFLSf1-#2sO zO9))Cl54}N_Ye^iHnVo`FTy^D4&^!2SL2l zaz}t5`Tc-x@@GL8=Kv8p4nrvXtf5h`?`gu;A;r^zYl(u9VxPmylmUXx>SCtO$$$1C zGni4~x8tyOi?a0S^I?45o%N^6&}&GpxcUel5F}s!3fGz7%xrTyeH>kaL77dR#_tm% z(fX4dEK*fyLbKwbKRaskIY`MY-5)jX07NE=7=bL#&Ffql^V5L^)CtLKbNf!Rh)sE} z8wcEgbZpvD@PPTfm(%dNtmIG5VXtG}5dw12ryJ)kNaAszqLifE#hE-kumU~ll5sR? z!ZYSf#DUaeiVT-UHi-5whOWa9qVj-dMW#|+z#2U5@p-}DJ+aW!dGUyA9Wb1ZAK6h~ zMtx4$7Q7Sq5<&Hq!6IZik?~xq5U7V~yC)}P(_y-7d7vId2 zcvX@;-o!}x+Dr3%4w;xOhxo-^1SVqlPR2xi?W9?sipo9@_@n~u^leCKtm5;wkWzC- zTm=(%UVr;@;C7yB{4xsK?rn6de$l7;oOoZf^{V3`_VCc~i4J~~wIJwOfh@7D^4|Nc z-f1DMd`{P!{f7G0A&T`Q53fE9sF2#Z^ag@mJ;++&rAB5o$y=+7SVp$+?= z3;JgZbL?)X?$xvHkcVXnFdZ_)p`Jm;Z zV>(edEg+?QO%;+L?!BL!4w1CkDk)a2Z5OQ7gfd=LkiW~TXOJCV(DlaK;(dO_u|G~3 zDXYd1&uvX4hAwZp^ouiI!=&O*a4xS<|PYN|g1(vc5q^_ z@mo+mg+?#bfZoSQG8}C_!X|V+SKL){F>Qo<^?=F_FX{Lg#9&zf?+WWH&h?FSszxJU z8X%$6K9Zh!Ut{)hBwnpu*w>p~X?91pXfTS!pDsTEm-q9HfJJVsmx7qbQaE=M#A0kuiYK7>OI6Iz)m#$3 zS5MQchm#R_u_*OyBI><4>u#c{XQojzW8gEpgKY)a0;IKGufR+en@P-+_u2$lx}=;$ zjl^w9%^xN$V2auSa7bRyh3JF!n(an%de-hmpWX^8Aj?iW}(%pU)SPzCvAet}km-1C+AVLowTG z>DaT*vNLo7YdT@DJPN{2FclhXMzZJZ(#++c%Vx&pubmt>z89Qh(m7A)>|HuCVem@`nQOll^cNhs zujk;Z<^w=>PHv_)*1G~#nc$t&>I9q^90%YH2Li+RxWoZY?Y`aWQRgHfs6cER=^FDO z!MkbW>%L~O+CamhCNgeZCt+PS-#NP6V6eKne1C-5t1NRMjN8(Q3s1D(F51BL;Wj<4 z+(g#Iq=wtLLx?Fo|D^GRixKozFZek3DX3;U_yj2VwL3-qSr=e)8kJ%6i0Ovuu6?i$ zEHdW;fMAQ#Qg2qPobCr1SWG+>DUIGY=q|_S03SJ!@1>pS zC%K5eV9v{K!ApR!5{gADM`sjx-JiHY9wy_-u8=WEJn)kJxM~{9Ob)%qJ;*LmDLj)L zKatAH8ufg0TzF4L2t7Q<#zReSL5NoM;Om%>1boIW*&%mIimRTzH;EFc1+k$nI&%g9 zB{0~;0w@G35qv2xK8Uc1P=R3Z1wV9=`GJ-+uTW|$N5buo_$1!z@;QdXDXqZG3wZIl za`yN%gkSL;{4vOuLK7bjSXo0X0w;})0V%@~brX;$z$nwq4o}61TF0ZjUL(XUA}CdY z)?Ku|=%chV?fW+sSi;$7*NNQI_2*9QJ%ze6F(u zeG-WH%mRmgV2Dtp*fd~|J{%cA#~-a|39VkKNe@NRGT4{Jmmg*Sqsb?kMrl^1C9zZ9 zDGbHpz{%Pf6hH~Hu7r&|d=KNckl@xVKNw4GB7AU(3+fufm=A}$WfV>A`A2s!A9~`M z%kgHyV*L#n+;cmNm@WZ3nFCT^H^s!Pia8~)U=#u}W*dI5Iom_Gvhi{RXFPR$3THir zhd|{IGg2Ngg!Jexdv@kJR_DO}baCm!4@TC_Y+Fw#Uf@*y(aif+%zvNWZ`Ko8gK)ZW zMgvA&zz6tzxmv32@ z#6e=2&0*mdQiV;TM`f7D3swXBAy(Uf)$+FODA!Fa6L;J2+mk=ddxbwEUe+oKL`|qm z^(`ZU@wSrlwP(*OsH(~V@4sQaKTb{ld)E6EdHy1g{u|f2k zzuw9J=BgPO=|19#S@GG}KeK)`VKcIRIF;EL@#*OpKC`g?FVl&wtPL$KbnQ((TiF`_ zH4c~M!vy?0%l^vUzmEO>E$*iO@Kpbgi%!AKnG< zrulf^Vgfi6{CVf14vY_(IKVDOp$r+m0KM_EeWCKp-B#uo%>b<^qe4>**K8>1(Bod7 zwa(GhSmlz~#EPCng(t0jLdjlEWtMqP|A%AdTe z`F*e-+kw>5Ktess*4y05wue+@F`SPW5|DEt64NxwrQ+6r zg8vV1Zy8lrwl)jn?ivUX+BEzNhI0j&02#w_L^($J$b60npJl2bw}gXE$W7!^TLGQu`Mm)TL@``eD&H*XT1SQK8=|N z*l~+xgmUxOp%|q`H4kiRl}WT@ zcm(<2TAvGo5D-^NI(Pj~A1xruY~Hkk#ugOJ3bO1~n8O1LIVuU>@>H{0WbKc~U#^tr zbW~GS$hB7^Q-LRgzDjxL7spcMl1MEcq&i2ouZq(CC9Dv51W}t?7zBhi~Cv&h>5(u^9n|MDLE5QA}jWp`@En&8NR%@KH zSrzUk7@EceA>%7J?egL6Yqu7yJv35)e^h;@c>vI0;V6|f+=+uY#zhoZhv0#EgZWyu z;Rk%J?VVJs4js#RUpS?hEa|GGE}4YY@jj4OSRSdxIv!EgMiChw0Yt`Cz`{5t0gs?XF zkEE-nj$IcbE1z8P#XA9+nw{d+3t}_e^cg%O#6}t0e*@Ig6JTD}?Ld)SoTEKrwLJ}K zf3_^3NZATn1nKbs0$0@v$jI*Z1>VG0@sVBkn6aM{5x7SYp2LQv$TX9(-{uJD%nP4) zoB2XmGNk=@F&ywI&tHfq%;)IjZnG_${XRM=o zp_my^>$4)^KHZ`j;km%fTHGjh03EeF-P5I-{@urbS*rp!rzkiLR|0vMOc_A|3$D_aQvF08c7v#s%7fyPeZ zvycaUO7i>E60j+Zy)YW~wYAW(r`oc%=5#wml>+V5;uKT-|51I^v__Ddt z7%^@q!nL*K;5ON0y@k6MMT;Z2@P$V)w*zFkTk8&0j>x^vO>C=7J#ZcPkiuTBqMy?1 zh^5IGQFq0Ed^V5|huDm#cUX;DKU_ffAC_#h8a<`r!|&U z7Q`a^qc8+Oe#cTscnS zgpv|>J?~AQz=YmIeJhs@v56FjWiG_YG2FU-1`{(bspEw_&_aJ)1H%6>|smQZB z9Rd%hz%#3RrKA=t@gTjTKusHapa{iO)-OrggU8%gY}oJTjzb$wr{($G&nL1HK_>QZ z!AaM?!C6>~1m49A!o*-9fUMmSAcM(CYDW#B`J~9WR~c7-!52^1I}ittC{ZK?f>oqGQovh~ zZ5{6^a)^)=9pf5zaL;b|(18A3K6cRruEOCKCUhv`duffV(Cp>CSB6H`%JF4HVyY1; zoKj)Q>?Mcexc&FeFF_R{jdR`Q4b5gBE?8+k&3DLwJqZ*SYQ8@gj=_f^!rnGAiwgec zzDa3u zQh}3)A3|bi8Ny!(6@6ScnNGvq#c$C<9NxU~R2Z0-I~XVS1o`yz%c(k0!rNB+YpAx* zkWmwbm?aC+KC&mBF5w}wAj}<6VNxm!AHp)OsjRxRk%qUa8p#ZsSws4}7;|Yi)GXu; zm>>bm)G{Inb|8%iSvyH{0ZWVfmPxKzs8=B%u0M9P)X@e{xQ6o5c%>Y3`Zb7hO13l- zob_jYyiNPyPkI^j#3gB7m6DaDWEG2t55a2$L5KeF0qpw#u^4UyK5Bn7ErE)%JD#sa ziJEn>X_XtvS!BK}@P__eoLhAWy^$k;>w0m^gBU0Tx*@_`eAV44Y%~1=mNd9*F*TA= z60z5{Z}qNWbQ3Rph)AF@6zF>p)kyF`gp4`eP7(NV`LgVCnwJK0-;TD|TV@ElKDERL zh)K*#!2L#;#VtA}!OCG}){oYLcud;qwlfVgzpsk9!eY~cMo1AsQyvk%CR1<)hfJiB zosr|v&Blz(3mEj9pB@jlh2hxqm(y&*SxtkvWK%IzK7nmGn+N*K14*{=vWeyb%5Z-C zfYRV&RvSq8;IcJ*vVH2$*o1S55w*fQzRPlwD$b9=Ha99fLR^OL8@+~V&j?O$aFT@! zluA8+)V(_tW#xF^GR&Bkjj_w6rT(4YAmGC>xw*M&>zV9eG-x&ncLVoslxSjOenBhs ze%eH3H#gZRFEH+_WLcBRJ3@5RhBDn$UrE#&bpH7i%(e$}(UV1O@^$v@hxemlr($R5 z9pP;Gs zxDvpprN3*xN>!mRN$ZNP(AUxygxZnz!LmhaB|nnd%@07TYwR1E2`0FTn9*h33SjKt z32;i&kq$?+=k*LZ5(Q^PCFyxjxFnw`$)FSC7pImv*1c}6cOdvrQ~nXmyk&g+yR7^R zF!M|G_j@q&=JWrzw4VP1W`3jfd<#+d_xt@)K>xgezo+$N0sIzu{ng;Nhz2HlmOmEI zOuubI{l#ELRwi2JKPkSM{i2c(KjYJ z!;OF@BoY2F5gm^{hj&|L)6p3$Xu?>Zq*y8mWy<2yH@BkWZ#Rx}zn3XAblY`Lt=L|n zc}7j6!*25aU6aSn?#s-Bd%?J7e`Ln}@r&B_Yx(Tg`m^yfnBZ&Cy&i4hJxKSOYyP?Bky{y8Ahl_~oiP~Z025iX%FIY1pc$O>k?z|NYufb(q1o)2B27$b6UoE4jkAd;h$Ov|(FPjE;lDt?SrBk_a|pMHJ&pR5!>vzYnIWTTOkJfH_Mp%*y^( zPd|K+=xMv|u&mnr6JP25zSSbmjXoM$GCn59hjW;AAm{T@ON!=EKY;=PHum1t?^LH> zvGnsHJlvFnTq6yV!_&b&9g?YsI^!Gx<1V=(LU|6bE=ex((23%4iGHdSqk8dG^%4Fq zZMm}M#S2dEIVw)z$Kh}eSC6}2+)q~QI042${e?=BO^#sv`GEN=kAZPx^oND!`X(m< zy)b<1>qr{g7|YmvHGr=B%)|?M_DeLA>754~o}J%OM_X?t$McSwHQIWWDn!5a2EQNn zGQWoPyM?t|*t7o2u=nn4d#M81omo%rbp*76w^Kg$GJLpgpC<%#Z3);|m;+}YeRovQ zteaLKS%yHDgCohLppt|m`A==0!!T~)^jo{i^HV^|%8U{mNw0+yp`>4{!z6PZ2dGZi zZiCh^-L*~@thXaO;RkpruNX@$@gk^^Ny2%ZxV zBFOINS}n{p2l$!H>3j3i=f2=D+o;~tF%@m^n-8q9IrEIJ6>nLGBY2#D^avQBFc5XV zWc2O5q7I)JQixyOFbU1^k|@>(l?gSO(t0LjdmR+#;4aJrJk#Et;j;{dAX0b$7SZ#x1e5$|i$pITjiOcIp<=(E&kCOoZj?P#`DI z43)SPjT>=lUKhG6t+=ggM8Zjrxqgoh1}~yTfQS|sN?Iq649Js9U<$SS&|px<5iAd( z4SueP&ip$vW}F4B4^OGSP_nBN9~-=oOTG?P4mQ(n=om^_Mt^nv_7#-e$KM=ZuY+8N z{-n>istl)?gwJ1ia9TI|2dz=*s(v=tjqhyrJ6oy{vlKgQPO{LlWF{9Pyo>>YRNDyq ztM+V74k-Sb_5M^zrIcFWJPJ2p`bCR%eD|TwYQ&t*a4yqj>#HvO_TU%mCr-!*sG*Ac zz()6%)v$5Rxkz9rd|3Y)Twcs%sPn=U%6WQVdd)fTqZQrbX2DQoRqrlH!SwNGk7-P7 z@HAf+9va-5`>QQ&2GOU6u;y=RHnCOmA{d59qNJVlcui-eARMx2K0V!9h=NksFLn#E z;2?CIJ2)az(BeTt72!DZFAf&bcILEof>}wbJC zZE;Y>9v(|hEj(FS9}plp2JKsxt&W|X%NN1J_>>;I3jDBo!P)GdPm=9LCitSJbNs~Y^0F}>4|$Y8CaomfBgipWhd;j5-A(?$oud_f-;(jNPU z?}M574YeQNNk@a0@@g2ZGGc%B1H=1Hahv0NT;rgos_D2e~51tzlyb-9bo~qoTrS)0dAvDodnCU%FId zVc$cRCLDA8Xkp{iT4c$FhuFiJ$M~VqChoe%BuVm}><|gIR#*)68Of#vfZ)opL?mPT z+qt2G5QD=jWNut*IW3v-U>-*$DS389{~eQ0UZ+!WEYUYR%bo+`m_EaI`VSM*#<}Pj zJDJ9i0BOce`6kHQ>OYM=vXhU4VH=#)9>EbmOH}qIc+vj4|GA;b!BuG zYkDBj`fSScE+uz8l9>4=jE7tdz~i4K`7JoVFQF2^?bt0%g$*M;4@iDK)j_9vkDi3ahP)VMnt+H4nBDsC4$De zN473g0Is-GAJILCD{GssD1(mg0R&^USKZTT5g`)quL>H09mX$L$eY2;`(XMwpfh9j5VVs@O1 zr7z;HtC96zo~KSImUQ*XpH`XNmSzG+ZXT*sO)l3~!#u$PYke2nDTpmusU z6bQ`}sfp3D`z9klfBRj#ot`g3W9Xa6R}xN^&qnhX;KTf;;KiJyqHyH)k%?qR@l8*q zv1QtI;jEp4vqf^I+1+X8a0e3xxwr_Qg#w3~$=bh(8kdUqgUM%=EqfFW2G3KA29u5G zAeBaUK~&xpl6H0uNVm&QTfvQdbL6=W60bKS7RStG@?3ae-7?d1i164}>=5`;nB|y) z!DOgex?eULuk5ikC2~-L2xXJq`PfL0^Eg1&3glDy<3I>eiDX&=_gMzlUT@4`&9f>m zzG9{aloZEPx0HdY%k@;-{??oS2cjDuA@LtU^jjz7-=Ox-LG(|!^?MNg=0@|s0nz`C z1Z83RiOBI;n11#Y-(LUKg!)})@aNzBiaP&6XAr=`{&V9cBmEmRW@5nyyd{7F=$Zdn zVu+rR8LgGA$y*5Mf3^mHPU)XqHp5%8A^V#@FW@b*k?n26=v%r8EhEcYkC2g-mX(3& zpIx`5nX{R-iM^4tnURabFAc&!T>ftvivQ-WGcYpKGBY#0<+A{2fAL^qXL-wAeG8mq zVt$*=Kg?IZ*vg!e$10*nWxaGPBBd)Tp==S<>%pA#TmCZ_wDF z$bSCVH&GXwL8w%82ygGGNGF>-MSSL%LZRd><_>hq1_soV zNu%u|3WMI^X7~DZ^up*JE_nOUkLUeUU*+Y|*Q2)AJ3*6G%x4E?=+?BOL8f!BG|6uI z>q;A7`(U4v+aEx>cDZD)E$%KJSUvu2xw2(UVMhJreDSQ9E;b-JRH6I{+sNUN#7%=G zX&E33YA8eqaYs?n?yQ5T<0GUww}}ZtQ^rEj-;HBjAbMue#~dTt)*PLtBPX!;H47rY zM-4QT%oXSbSq1u#Ju4(#GhBHEwXdK^6C4j{u)1yAXv1D z0$$^*v*Kd>T=wB<4jo8cb7lb{C`~%w-g-j?l(MU&8QBiM;n|BpgN`aGb-o(CCq1r|YB|P?eFLvFD0OK;4LgK2+0PTB!p?0=z7`pve#!;Tgdc;G2 z>~qjo>Y1iRY_YE?96K?uj+R)aa6%;FkTSz=H>Yy^S_X2QB@URni3M@R zI0dKyl#%wak(upKNxIq*S0Y092)J;=Cgpm`ejZtkrHvV0TmdB*h3PU(Cfu_>BLVL%-GYTncHpaD}yY!@{0h-#oD5wb1uFw=_Z8DIk$*x(F&|rX_aKGip5wfR| zCQtq@SAspkftpm}FrB0>{IgF)ayWyM_P3gXBEGEE%ABnvma&Ft**mdh8~5d`-Rz%) z2Zni65>d@S@jB52DwW@DgWB5&QW~>esm|QH(T;lP%?A@_9#2F`+Z-K4+sWA)b-JaS z)}O8@5h~Eqa%`!EA~{_RbcniPCw^Q4>dy9`XJN`3HaA&X4cMnCzFs-NP zov6v>?IaoUl@(_)GtNjtE#ieugILcj|724C1(vPT;&#&2A$yD>lYzm}EbGmwl@``e z1WRt)-3HzOArwD`2c3_88k2{2X%0W!dVZ=DT*jMGW|lK9=D90cO>1<&`X&IB)<$Lx ze;gI>rWZKUL~9rl?c_+HW~7uAeiL)2>Ldj2akEPaL({-k_Wk#Fz;+pZNDyhE5g3s` zQH>-D+xH^h5Z_FQNkUs^nPfbB3cypBVPn{qg;dv~U1lRl7C^VZ>_WY7GDR44Pc|jM zDy9}CUdc=_6w@_~Q@u_iCMRY`?OO4kPzozuDrcK-f)9#qG$&_AIx}Is}Jsxrc2`&cpatOEFsjL&qx}(kkIO0?VrxIZtI_R9mF{2G= zZ6egO*i$;I{*E!W&Fqu_wUKYIovunO*)OXCdZ*LGw*(_~*oci<(S?*y8AS#p7=5d1 z1lB-%>ft)DrS7>k%h0yuh3~t~R2%)_d*+?C%X*?*9KB^`xpb1P;1LmU^PCaOSR~^S zfp_+1%U^trLBS=5x~TkfqQ%e9DJ$O-E4;O*3#|7NnY;FAx)+vQGhs6e)O;f$!we89 zS(0-?;miEzO6Rg;@v)1!VHitNln17GrLbYz#`mA9W}*}nV^Wj};f}Z>(1?q1+oDpH z)|QX~=dW(Y=SBxpu9LDq{Ln43+g!vUJh@_`)=Z(`b61mBd>l$eTUJ#s$nUUdDL|#W z@7u`X&An%t+su?ueC-}_l_?b2x}x5vyD}PV;14RI^k}4suH!*l$Qga%99eiicbBtH zla$h`d9V+?GS~^epdS|NJllF?S+^)Q$nP!ydWS-Odwl!I7U9u21$|hd=E7m7UOAu+ zsW0F*#3DG1^rgx+V!ObX=uAn25lil}_Gq@_!v`K7o-$@(j(W9)1^JYR-TO4P4^JCt zRTP;YaKb?0#*rW!AMz7dN*3a30kHctBo1A8!q_WM|B^eR zk8FGy6ENK@*7xjGDz-pBf51AbPwqGz52P#=!pPOPdRqSCjH)Ioq-)uxI9`1+-d>C1 zJ4N)RATa9zh1r`+Mwcg0)+2W%`WICUbS@=M#wnUxY-Y_)voZveK1t*?C=c{KWCmuA z%BGI_Gq|l7TGfH4EAUrYn|-Sv)!9qdCOA);w|N;3QS}LhW-QJTjobbp-gm=Q{O$vL z(<66vrV`J>_88zv?MO|BHo8;?mg@<|`Gm-xklZ*if!-Vu9$%^I)#<)3AD`j+e94K& zL2SqoFV=q5s}{l(+&zqJ+G!|vhgrNWq**~Yl>nH2Izn=mD3D8&;LUHB=|edHI7lQ3 z1UUGUFEw298YYCbj&r&+EJeGxy)UZ%Avb*Ays1Ogq7{ycJe>#uDP>%+U-dvEFr3$x6jmXA_qla%ADEArQ8kPnnAF%FN`cpF~a0lm~`bjELqY~#G747 zLTy0is9+rwCKh$Y)v7jKK+b~Rtuh3yqMcrp_*h*e{wT|Su{Ssf3R9xZ@ybzNh!tmr z?$@b)35=e4$rTp=tOfu4<5jm>W3$l~FCb+q1y6z^?-h5G&eaL>#~-2o8#McO75?W? z|7W58d#KO+3mkbnC1qr2rpIsNim&m@iC>amSlNFO*~;qK8(BNPNqqkx{$>7o2A_rb zU;8^*n14Y}&|3v}(4*LHb^DBP&Z$RiT*qMd#4eK+p(9*vd>Jh_iTO(YyX>v!^F-?3wRSGFuqX(za+W---q)y zO91mfBsl)`;V{wAGt#-38tK`)G5+}z`mH|rznRmoPw35dnwFg&fDd3{dNb^LqdnN) zXpetNHvN}#`mIpqznRnjDC-$m-yX|b-tPa|H;&)%9m$jjO9ARV*lyEI^9p6C1l0^A3$2SFN@4 z%3Mn$Ke?qi^I1E8RyZNF*$vJFy_wEq8a1%fa!7= zcVcAa&?z_TC43!CeRbF^nx(rxyBeuGwKi!m(Hc3%hbmtZd8fASbJ9`?X&`qz{?c~; zxDkgL;Tq_BMr=lm(+wszW{qKznN9@_&Arek3jx(0SGgdo zylgqju*7B8LzA)zSJ(*In@oTk?`@b63MQ1Lj`JR!>ZB}fHNAgwVYRp6mGs6C{jzvR z;=!5221^W8aU|ajHGW%xG3nKs(Jg+qV`s$!jQ%+BD81c#CV|1j!NUh%ch6;QaK45}5aCVbR;ePUS%iwf-))p5wU zJFhI!x-o5opn49oiF${$fBLwzA@R&>IJQr(Rq35Zg(U}>oh57{*1|<-Gx|6W8hSYQ zhHDgLj6&I}t+5@xgnppKYkpdb#~yv2#F`4*QuK}oWQB2#)6%(}51?i(PuW&~#r)J` z*5md2CrWoV;V`OmLpHbZP)1H(9o-@z@mZolbD>uR9I)q<8SPkV&+o?4JyfN;4Z>T8#JM`r3CMqz@rCbzSharYv{W5bFl&VPc&x z!Z|tcOuAXGh=*3m(FCsyKr-9#opOoerOuoAHq{+wiX)nE5SEjlM%aLeu^N|zW4K;} z8+cP-8N@(1glHv1Vc7ioiZ!A|%_~H)aZg0O1~MT8S611Cw%Pd-am37BCISjAoTxE6 zF;+1@y4juAl=gC29I~=40^mi{flIXFvbeT*3c!=+sv$;UDS9FXSKU8)6WvC|a|nhS zDLF6kX;%v~v%9?T3cGWf8Q@n7Z=g&!ucNZ(dfY*&o=iY8As);oAxsJE2lavO(6$59 z0dpKFI=+k4K>oFqb(mk&0B+Kh_FS$ zP;;Dy;Q^hgB4c+-ZhQ4|C<7e!F*DCa36*n$mvOSUZ0PvT;02D3GB;tauKi5?rkQ0H zYo{W9@J8}lbAIeHjK8S`l8@YGQV1pMT5C9S;qkmbe||njb6Q|`yNIpYgNRHsuG(fd z#&B_|J05KXtbc|8rB6?uoQ!UAYh&eJjS*1reOVZtpN+i$Nki936V(fI*V!Gqs2v3Y))ua zFbr zA4!f7XlMC@QXOQ4b}|_qgj8C$-SIO*!@d1CqCVqpwwl941tMc%eaoX2pnZQQL@`A( zej@u)@oJcvys0m6lWKGRxiU)qyLnj<_0aQ45zscMZu(?0X_(IFP>$3j=9S5Mto$B~ z#Y9n{{2q#eSs4kjHeGjaN;B46gU(b zZU>BMQg1!p`avpoQ-xy(yC59oCaC!pYePHC47M9LXYY-R&t8~bHV{SC|40gjUQ5!) zQz>B6fj$-(Jc<4OIFMpqc9rrr1F=i7E^&WndZEXUV9D{ux6KIw322~bbaj+oSlvA* z5&?lV{r)R?e6~X#-}vGb%$}Gi+$pa%utKCstl51|oEgjYnHcEo<4VNS3p_A1UL!Oc zDU;$`V-_|k^+sCkJCq^Fl`DEktY13Pv8G9`*Ct%Bx;)+P0@@)N)>iiuOK~^_UWSN4 zR(PGRP7tKFea%gG^&D{qk66Bi-xL82z0Xd+!5P`AthzNjUzDVZWD`2L1 z78HKDf#p6kC4(+p0kdu0)w5f7T^Bj~kT9uUCE*E#?@Vp8?GFjr(vp$q|K_(ZFKqZj zZx)$C8R0B`6^eN#Wmes(4KG(m21z@liokZG>!GI%c+cv>f@uy~b2T=Sy*p;)x#r!T zT)tO{pgw}v_D$@|Wtr-sW18_X8pszKvTZK(-c$sIH{S*)O;A3>cOuM>_(!Yjg_UyjVT=_x8wE-Qt3 z92ivlaXqfPg`k@?LmTVn+S*aWq=xmAUD?pZxMFlkfILlzFo{nx=hu%n!^z%7i>LzzZtCU0 zN#5HZ`Lz5V17IB>aFTiKgEhTSZta}8$973e8);|=@@QbC*%#`_l#tSwVvfKjx1&De;8Ss(-6+Tcv=zhK{gxJA~;%FN+UdiN~9?NI)LAAa7*zY9Ko zi?{w_Ff%K|o3{T?I<`Ln!moGhZ-I~Bsp@~*q1GLa=q=b8~8?NDxXD!rWh zFFZ^R5=+N!_%op0-Eua?t~exZJaUBW9hpkL8Yc`CE)Uc#7+>0(U|-FAf2O*{*s%^y za1$W3bVbFrgEiAF`||br<=l1bi7h>bTi{br9C7lC4RqgkW?H3MS>-0PTILm!i?*cJ zg(;2nPr>FrsIet?dm(2ZT+4)w+pIpmDY}-gWZMOuya%t}g+yeG{bee{#vMQbWRMU?auih(SK@y-?RWf_j9n>6dbazg1 ztX6r$EXwLp%KUB({dQ6aLeR*uTBkw{Et#bDUO}sn4KT&y9=#7%4Sv3!{*+{vP(_s~ z=PO>|ung?=B|AHvBdiZYsRw**0e$63_l6qHk?ci#mF4kM$(w1(ZfL>zPC3{i#=8kt zMDGLIC)B=d;=dWv`P&3v5E@8hvn+AVgQQ4#O{0QYncW@%yXz!y6tyXbx6}z!!xvEu zBgu%rdtr8bhhnDGxiUA~(v>2UR-%5(!ZdM)rsBLco`4&x3To0D&9&*NT}FQUX{w?` zxiwpN4NvQzXW=#aGX~ZkaO5b~zEB;1Y9}m8r-fk=x zTf}Ui>m7!e9%N_AQVvBS#_eL8eS;XG@h>$6Fp zm=AgN`wS?L3jloF-M2DKC0dugb*?OTR*x#H*Um*kbZqVTCee~w*ww4u*D0Mlnx@q; zG~@NfFipZr`0p`?@!HGay`|MgWat@0Nj^>65l(@RjGsP)T8>|=lXqC9nsN}$buWnA zc#c}S!1Fs^`doKyXX6S97`#)I1G5o ziB!B^c0g#~^zo~U@qu!w6psYAP@9Xt+&=zcdFxj3zOG<%hjUf8!%2Hi|L|e8Q)lRWz@WrP_{y_btazuIVu~FyemKZyJ4X>1 z1sv-Q-x)bmzSP1HOR;?}Pd_|vj&uZkH?q1_??xTk?HfD(C7rQKA;AfW_796*&}1> zR;5A|c;8q}rD0EShGPhbl=lmp^PdYQQoym@Ptb{GHZFqkbPq<0QGR(S9FTBc@}&IqN3T9HUvn(=mwJ zx1fPT*>y6YiHHdE6pf;wPd|}$l8VQusKiM>M9EC*8?5L~9FqcK1NCcV~NLz-Y1HcVcIpA9YnyIjA$N(}RucgEO zny@J6>g<99O);hew5nV7)}(XCS$0$2zL!Hoxt5lr2PKS7 z3QZ{WW>%Wra07{29(UN$wOB#n;yUwz@dng1&GPzecHNsOp<1}hx*}}H()J9NGZ45z zjjPSnLnfH{CM6-IV{^@0)27nZg(sHgG>$`x>Iy;A6qqvc0M{_L;596t>FOBfVA_dI zc@)U8_12LucVEeC1B1)iEV5N*36;xaFbNXt6=!UXO6==b?Y{wHJw z`(6gD{tGWRch4ZzrUcz~j8MB}A$l@^g;371EP2|fIN9aJxCX5J(``TT(tIs%SadTL zr7ET{d;DREsTHNln9iqnnXI-DadL$(?n%5H#wLy8WS%IQG-c|=iMy%hf*fL!k{kGR z78%;p))iW=AVjlAUYfaPprxn~rowwFGjfRXfwlr>d&|5UlGM$QN*`3~o$};@=swTbpBha9e`%Pd_^=;b!3sS} z{!;EZn5RpE0KMl^W?x)#D6QxSQ<Y4s9 zZ-UI=`stX4{K34}PQ%cuaQkUTgM!^vQzBafvnf9(#)V!Pv18JH^T~{RZZb+~VP1Y0 zR^LVqT>u`G5xt1iHLln@)9rqOOmlA{%ag^Xj?FF!VD+NKH#S7fViFpp)*c=CAl6R7X&(E!v zb$1Yusn>b$K2IwFwL2Q=^PmjS^df}j2Wg;ZTUJBBTX1M5yziy+ODt%*kP{wD)vzKt zUfu_>Dwpuv*n01_NDHMJQ+Xea__?!8J1pH|HwvY`IyAV?1w!&eLpUm9tPM{8DxET7 z2zN|;x`JC=_(rH~Yb}AE$k@VS2)c&8++}EXx4N#Sm04n2#i^4agw{k`qMNYrE44!) zdX<(c=ZK%!KpkdAb7O|tXK{c>Xo$2``^jFx>g89N;rBUwX41rMK}l%s$rot{H>SMz z`AXF#mUi%^EM?4kejFNNQ}{-+0!u>71kP5+!`e$EoJdh$3dAXDOTnxNl?xOY^!*H7 z+!6?U8QqK@xJ-HK#~wI@NF54hrxzt#)la3DcG>C&itivEyl}$4q8!q+_BSgb3?`XkR>#1f@ z&L?Yh@&wgP+S?4r7yRWcqt`UHo5gz(II<(R#jK0>!yg&dBMz`OBx zP3;G3jtL+qL_i)VmP+t~vP+6veqi&8EZ@obJ~9va%7iZmu$?k$TnJ5@79WZvr$4N6 zb@loyeha?R&*}qaux!bB!qKmDki#o?{InN%S>roaU*H=8AK$E_2791&HvL)F%jAQ( zdczF`cf6?Rar-kIlT0=xe`z3E4N(439_dit#N&^YKz{=Qx8cAE`Zo3o1@=>HlUxFK zyI|YvWi4Z(DdqQ{7Ku`y76Wp`hKu^Yg23`QOVMJhnW6@CL~OVuaIC-!0az^2<_@l% z2K>I|Y{EE-j(R$cAhyvtlrYJh$Jcu(FU-EKn4Mlh>?f_=982%e#_8N1zgCN}A!@>w zGe#^W4zxWAtCMXd8?P{mZJLpy?sR*1e}o^Sr|t8V5C(~pm`p~quh*))(o8X*WrWx6 zgh>=}idpCDor~`71lMwyc6M&&v5Uq4>$oHXVp64@1g$!_QKHNk)ST=)q+%*NswKTe zNjBvXuzxkaQAxXdwDPsWuwqjUyA{r_avqU39VdVKEd4?3v|wX;=;L}~RL7Xi{BTDD z?O8cpBD{w#w~WzLn|SxIX2mQw{1m`oSN)|YSuUMb_}r;tiQ-xAppfrQhy}iF8iQ3B zbBZ8`wXcP`+_`A)?LS`Q;U;SW2&&Exj(Fk>X%HT~$F!JlJaA8}-#+AN{0T4cTP^fo z@B%;E^S?{?W%-|;{@?8V|7NfJn+?>zwFW;S@xMd>f5+sRk^T>0{Evf~8UA9+`p;|r zukrNn&8GfsL-qIicfZTj{T~R;{+0&(cOkTul7_?LMf#ENriT~3bCbx5yRv*x5O3DcRqqYQ0Hr7-7X?^(O$w?kuM{v zz-^>z;gfBOAa!+^;g5-tE~n0&&Q$A;F5PDIk_4@Fa=^hTnJ9R0F+%$9*~-Otu8)nj+Q`57xY)xVjkDsczUpV_G6oli9j=zEfXZCC`kUCnLh&Zszs z!Scrp`W#vtj`zuC-qJrwkT2OU%e%9VI^MNH9V0r3|6TJ$F7-F8GV?Ij4;QJC*Hp7{ zb6nFR;m?8`hA1*hxK(wRSO{ZPj=%-@^(Zc1`C^GTkI*~S@9;l1dZuKiNa+|Ctr$Sh z)?sA;A0J1Q6pFNi+0JbuoDSA(8&aN@7M4jlfQU0Ov^==G7m(ozbn!;#Iy6$&lv$3~ zUCS^<1AXF53{z zUN@<|9GTu*+KAK%m~fiuxO**kss&@x1e*ta8@zt(+>!}s3#tAm6p3}{YtBVH)v^K?#;SRpNqin`Bj#mN~ixfzsmZ{!Y2>&n{|}+w~BzD>*&Aq1b=58 zW%>EGe}5_bduts1Z&&tzt#J(a3~#C)7`lHQG2*kZGXj1+0^lo zC-FwAXqI1#`FODpqOo~D8bch&Mq7jBr(x;7{XiW+#6(L2n}G>p%gHxu$T#P|hxP@W zJ)NA*T%Ba?Jul8>J^=1M&DPES_+HIuW_~3ufRrff7LZ3pmyAda5iJ)tnF#C;q|1$j zM^y%gV!i<*z&51b$lnX3D`6*{WG&@g$N2S`oD^(wURh+(G>_A(_-op?4y<|s(PYR@s2)fVU%Ai4XC2-t&myes zB2-{tyQZM)m}nrX_%RrnuEk6KgnT}%?|>Wvc)5UN5#t%7$B{QeQ$cu7Lg_lOeS4mc zM8SE1vg5!}4xxh8TV9y2tH|#=a$i4od3X5%Wmgo%(R{yf5rsSR^XRXJ9T$_8XZ#h};1%48*UtOB@X(@g*cs9tNf>i~vOGRT>oJ=Z&p^ zv)r3>F@i-G^gRC?0SZ5@$}Nx^5~Shd``l+O?N_onuF=gv#=7T_ZbBvOA%alGpm%=? z-r8j>H@)uqtQiu;Qc@=~%Wal2gXkWq+m}{uK^2~R> z#H3q-&{~1dtEp3Xk&O4BKjF2%@XO}YW=>C?=~qNsC3_to{wdv2WXP|u0bU=M?U>Q@ zroiHO8a^a&0pqI=yaorsJe!=;%@3|(%m>@X;M@&jw39Cly%}jjYGENu1#>~@FT?v$ ziF)>}Qw8WjaLgeKzrt?MX+jfZ2zlX8`LLtK1;o$v3i^jVsf_tT8@5oSv+8A=npo+b z(tl;dW-^g$FSBl?hPKVvdF25-y{A}gLFnpDmPzqJp(K@o%zY(7Jk&XjSN5!Tdr6Gy~;vW$51bH9>@p1?G z&h8bVmGeU)Vl)1RUi!KzP9cbEq}UQfBUvAi?6!}T{%Lu%0O1yKzF4sA>zbQ)lZ zHG!<&!AYAaFm4`i6U=u_2(4pXLJtO(b0RTSf8P1&;Y5nVGda1k!#)G?!cs!Y9slq? zJnmsMa(y2W2UD6V-U<2l_8@1wELJ9pjR6#OFd1mRO)Ur_gV9%)tRRr_z*i2ms-8tT zg0?U!VLBpRD}lwtMKATRc2nEl7X;5#bJ;Urm#>YV_30>YvmQRCpxObbU-Rh`iJ;=V zhMf-YQgqoSPZA`vwN9x!V#5vT8WoSDL-F}Hd>APrW39>j)r2`n7%0yq)qell1WTQr z6|?0blkw6(`!zn#Cr~oZa_n5ahY=)9)e*kYL6Zz4zr>GdRwE9pw5($JHp~;SQu83u z7zsh8em>le5Cr#GwOikG6TPo$Jb2ZFkAv#)=@2h-mq4`6Ch&U`jMdA0HBxfARlbJB zKp*#5!f{V*?>XC0G5;cfUnL|kCp-~t=7^GVDDIJ*%if=|Y)g-gI6V$Y9pzWPzRhIZ zjo`_TN4IQ$R9%)A1lt#cW$qo_PHT(t%ioU)-Zxvl6EcUwgG1EQ3JDwY?V0BMz zsLNKJICq2>@emyOu~}&=v5T}^JgvKvg?Z3*WfQ}p zX=^|W;So>|70{?2iOUrNA>YsgXT{)r?)d`G8E#K2wa2{Dk%f~m-Y>!>B;*ml0Ruqz z%-cgAm78CjO5C9DaYxz;S`gx25zH^W5p4$Gf3tv`D=yBkgU$ZYs$`O}2r5sZx!hAD z(MaTBs9Wt6adSAeXlN#r5~;VTctnlxvPf>5e1_Lkrgf4^!_oAKu)mo)hF@&P{K?T9 zDPmwB+Y@4-Oy+ya*F7O5=at&8G(3=RBnDZ+vi{WLdC}uR;T^GDI&&+4ockq!UjFTz zlS9xqUUm;eefni3U7wW1Y0ZX;;8*bFpMk@&h4bd(df02yq5D*>nMCF6syRC**@iy( zS$GO1zDm5}Ojeq*4W(mm4%&e2sqkphN`+Ha^cm5}%`XEo`1@Hdpy!E|uDEt8F9H+g zKgI@nzJej^fnK3vIuH8$m)YNEWroi%ijl|za!H5W-u;n?Gw32ceQ;w2YH}8yV&g_L z6M*3XKfTVv!`Cpt;-zdQe6jhBJ=kMO_IzH%cVTtZV6q+0Jlw!+=v#Z1xzL;9I)#2~ zkMhg37V1?{nKa1Rv=w7!dpWn0vqcU-rcAnTjnpU#_&tTWCed@P**4F!b{a@YK?rsa zofH%nMfP)K=lKqvOF=TR#Eyl3qZ$To0@(HSd27>HXydG>UX0=?0d{IX>1hm5N; zP{|NRxULbDl^8XwjEInbBYuZ%&8zQm)3&4@9znSo3nRj?#zB6;9O~p;>RVE_w46Us z37ozhh-Tm!$&Nl>;Lshqqv`fyUC;!l2KC=T+&_%J)ew6Mf739mHj*i5=k%(Co8h@R zpyV+zYq4J5cjjnN19QIEgO1zFi3wlrbh+F2H z$k}1uqjK>9X6M!950ZU@l)~9xIT%1jXC%wkq!^wM0^!7w3oqcGPJI$@Ur~D=D&>;M z0`BvaD}ATh8sq{{shwy3@Idm5^$D&C<``t3Qq`MOWL*l(2Y4&8WGJnDIf|d#FJZRq zre_`R;y0nH1cR9I(QfGATvSUEG@Gu(miE=N;95NW1p>6m89Me%mkyv4U9w)nHS7pw z=>2*uWzbk-tbMdyD%=!59OJ(mBDiM`?Z+c1IKAR7$VL zSn_G&;nxt=mc}Eg|8-p&wIfzec%>Jt$19$xP9}GoU{Er`hmaxHKP>M#;vjYZBOT(J zY8bKT@z8DpcD1EFk==C=C(`U2WHEE$b#hp1fl*>tk2RmBMWdH+N!sa~v+br&;Q@<9F_yNfO8F*eg|eo4AHISxG#(w<9sz@#ZT4CBkLA{FS0(aDA0?6=de!c@;aa-=h5**6`#TE6o-(Hq3o(j9eE zLc->%W6BCzRNsOPPOd zs_gTnvRh)yW?V2ka&462vQM;lTisS5S9?>k0X+U}QCcyJ&Tn_!bgQ~X4{LP;OtX}2 z?2`?0C}U4&us7gtN0RMgCYwd#?Co(N`=kCg;D)LkTxZc|>UhfY+m4>k>J|$A#Ga4o zW6mow;&CvOmtQrL5b0{kF?*-|7;lw)h=`ucRa|LN*JZu1=wf&eD1eR;k0v1AVkY8o zpZ}S;;yHwv#%_Ue#Q-c-YBOO4`*T$g8ejD%={O&=LQHnk?B1&3uBqz#BCIH@L<>Yg zemvKDRz6AROOrJWN~kTD~6l1-d@Xe6c0 zUR%4JfmqeDpostRdcJ7pWIirF%jZs!$DfEN)&A(q$!YPBcu@K>h(AIL2R#AvOTdTH z>#6>`Y}!nH6xTp!l{S1A@Zm)TM;mwKc}Qc4{$7|a=*oo4E^Fz-do^6udWlgbBD=i8&&z#hl@VDudjPLiog|wkRp&hQ_2{Kr z4KgZvEKg-c1EC%PEO4`S(H+}2nZz|msy6DrR%V>v4bgi`jl^19;HT_V^Tj}V@ShzblFZ2m)O*tl=FxjwM+jS6ewGTf9Wgw!2PZpQ1IJiq?1{=hFMc}u9W0mtx z@O!chP@5(qm~Z-JWFGIJHp$C}Hr;2WZ7R7s)Il~ddJ&|pirHTNXf@+Yy~_vZYuPnw8Y zGus|vB7c|MRd1&L(I_i?JU8K%v7hcYloie{bGDpp{j&~pRUIUr49^GsBnMyn!|j3a z*kR&pyf-&^;VUULZewcz4 z0iqA6ptO>@9!M({cIv;m`Z_L2@YgVgC>GQzoq%>z8gyGI<+)P7b{)y4Q zMG9BOkA6o_Y7)}W;+@?B;JFpu3$zn78h7;NK?$%KL+j`;9Qph@t!C9@P+DL9RRwx& zS>-BxDdHflLPN3Wq~kzCk-qP>F8OpF99XOlMeJAF3D^9XUgJO=4WeZ=O0N|hI~=Lf zN9u_^?2~<3{@~nQ1^r|6G~2`_^scF173{TAZI<(5ZBBAxx?Y277Bq{qEf3J-G%=nc z9J3>vj%X?i)!AkQ6^lKA6lt7wDqfVp@m>mB#X&A{QoHLpNK1u%hDQ*&m{!&=x3(!l zc+`zMhCPgr6osc`mzb62uAti>SzMeC7vY$jK(WQ|L%?X1^VNuz0S#``NvA?e<2ydX zk_nUejQH>LC@iQ6ra8yn(_ZPqBoKw4`ST8)rK{GHU*p@Cx(6DXykeYA^|8)^=oZw> znF|A<%JTBS3A&8XG9z^2r3W@&dW0YJ5RiFZFY=^ekxH*YCryBCV;F6#hj$kGHh1#7~dR7 z)#Y@vG^DyNg$vSrsreSq5;d8d=_eR>l-ZX{eSr`IN<(*ej?(dGuX60R?FT|;HL*U3 z+=ea&GJ_(%rR8}|BuQk`#dTB+`Z&8a?N@}kuD(LQcgH2X@phXn!dUj@x&ZNY7Pvho zZ|jaqf=8sLRoSZ;PPZdxM!t$-@K&Bi$-mM}IPB4imM$TZDh!~)_)5cHoe-tbkV;n)QmgE*fUP2hkc0Rb^PE7+dhz;0g@|f%XL2R z2ighZKN_k>9zYvd2=1IdsrR&Uox3VsQIrDi5CxQ)xO$wSfz4X}Lfe!JC;sBYu~RoO zJ`X=wLcFapH@T1%h3nugolzX$>T<++xeZ*iu>0EgnD5nb&tHRFSCsX&1zVDk8@FrawsR)$5SG6OmWB$P%qPN>WfTK$)Ph7S|}Tu^LXGXbtP=y-Xu7 z8yCtZd>cM03Fn6n*iz_-eI9Ul`urYdQLRp{XwdsQ-pXtnAQy5?uv@lzDX%Zn_a15t z)I|A?)j)|R1HRlt2SFHaJO%qr1m@gmlsCTC`R$C={wY`qM)IVJZn*t}lAiz!I{#tY zW3s7<9dSv`COvM%OLCqIwvd7cn{HkW!#QHa z)c$-=s8AEYE?Lr8V@=0Xos6=VBy)9#zd!u>`;Aa7m;qp~{vvhWBwqcBo}Wz*fMn|l z>J;QFSk2!}ISQf@$lE>7*A;xU!=9o#3qmxjB1S0*h~;Boto7*SSj{(HRMjM5!1p!* z&-{VI>t1;Chm(6CyNMcqLJ3aZ=b%2K6&jb%G1qQb4b{aXt~`%%WRFx$fAY-oo0mUa zixxNTBC0mCkNe42#8UI6ALDY9d-o!#QgACcV)arsZ7`B~m4f>8 z7LN3~c8Yn{^E3T|HE-jRTF2T>hl)egh({eDXE_~7E20a%4t049x|u1+>(vNw@3s%3 zAiy={b=V?3G7XG!diqbY<=FNKGRA-J9tYS`-Q23F#7m8U9v0q!DS-1N1*<*xSPHw4 zO(C^#ki*vWoAP`q8x~MfYAO}aP7LIcifvgZMQ+Lu;pnv@yV?s}sEHkdt}nLtBkhMb zHBD~6&_n{CYurQ{KW7ngcp|;&BUi`&7I>fOg#jg7UU-Uk$aBEZdz~O`REiKhFr>w8 z9;4^Ue9#>m_}-q3o4{tslJq8L&S243dX& z>Gj#lD!R})-;_IHfmHIXread_EY5?5Yfwx|lR6sChpFxF_%cI1gcE-X-DE19x7%&J zsNM%p!?rpqH|7-q<@rH1P7p0jY<*qP~OKex~)_ ze}=z5RKjFci{(n>=~%aYb05XYDvov|nA73hhk_(D7WU`@V)rNqDtZG|k>4%NK@w_j zYf$7$SukQMcNaIewBF6Nj!K(nXJgyq)AGY`y5*)MOH^n_+<$$79h)RvS%2G6s7pgR zulUZBGh1B=7pS^NY$$?nZ1gtM$8^_bO7&u&GFsKpwz&gI%?y-l zvs{@l`vd<3Q{nyy?Y?~bvYbX_bZ^%+=j6huvwIW*e#}Vfu1x@8+21fEn(k-*tB(aN zfL+#d)$4l{vCjRe$a5*J1Dh_anAB~qQjP8yrLu=JueXlmS(<5b;_2~oCEFAIg$`K~G zyGiG>aC`h^_7WPp4vgqG@8mynL94_WSKrPumtqCmqO-IOg3zE%f^6U;NZ!iMh%t&# zt2Qzt=q~UJV%L_8cT4l>Wm-NTrtfRcTDdbPa7i9A263Y}LwO)B5$mLfAW6XDkNLD6mchc*w&1c>?1$v=m@B>$R$za&s=oEBxzx(`fzVs59+ z%DyfhQTSLZ2iq`)+sBKbH32Dau56Z(Y9_XKH;x8H|Dp2+N3Jp0lQeY(3zRrbh?AcQ4DfiR@>d3F>^>w;_T+4mb0PM^ zxRJ%$0N0YK6;k`gnGFLG%2?XJ_74I5 z)l#os|5GGjj^McF+KI4_-EL$X%f1DN;a!;2bjLA7KlAWGK5+(&kFZL_t-IJI{iW4W zXD`1#yDm29hf^vxyK>Xj+rgJ|x%^)&Lsz$^ulM7FfJ{u!9$@Yp?^(`W;UhN#@isU1 zo4nwrto5)*P98;^-vWtA(bAXp2d2wAo#dck_tjxk%Z(xo9P4C|ZS^?xc{gY|+1H)d zheC&Rcwzaz)D^ej2@;T9);az4DVebRuD9YyhowF2w7_}MoyibkU~I4@d5?kkc=ikN zw~$AZco9ozi#$ykcA_8`2lR#11f>=_gJ{U0?q-bCx9cGDlzwq6RH$xvN~t598d`>f zEsmtogTb7Ubt{TxdU2N~aV#Qsc#ncP=&lzZFl}kvm)hFRCGw6#olJMY1$IPH-eV8a zr7sJt528;%gm-k|i^mH^r7*Hk(lwL+BfK|-end5@{ew$dJm za6?kGeh>G0l7}6(qaO9~hLZo1mOz!7(%NAzID0sk(VuSm@lL?&_My4uEA)k$Z4UG} z+^(8$W%rGsrN{o~|1)M!|KHPd{>gp%n`Z+9P;@qMa@=KlxsUy*u#N5j90Dl81lpJ`kA zc4Efnre>c4D{P-J^}n?YH{*@|vyS4YCW1ti|up8z)xlc@KdLg?UV5Z{D*2L z+o#^d-yV8GmVdC` z`LvPsQ}pC-AJZqbjrkM*TRMj2vkm-|y8Vm)qy0Jd?iNT~T~B!JGw*2&1&KJ=e9>p#8VQ!MD;7#lr6?sHfF(`EuF z60$M>yUh;#zwsAB28Mr6{okd8{%-w$D2V?is{A)L3L_yqJ@C`V|JnCHi7M>upZ@fJ zN>oWw*3w*UD$Zp?qpj>&Uyo=*r%=ERfCT0L(I!ZVW}B-vy|b}%p`sPuhDk9ozVVW| zzVYGS{&@Uu6CdJb7#(?C!EmUNTeL7|l2Qw*39{cKV{^8KyG8_p&4Pz#Lk9wc!c1Z2 z;O>9}H@h%_a*1bg1q%mh4hnJyQJ6pii2?D;kPM80df+dD8uH7^MdHNK1cD^M-Rg=5 zfKZAO_D{^LLH{(lFoAUnoUdkv`cmJM?7|16fZ~Gz2W@{o#jNyG2QwS+pBRU) zuB~$dQv4r`*YMBclk-EL`j(}L z2X_h?*z&qL^*p(Ab3qu}+On&=|B*fSp$2rV2jl;s20J@CyMPP?nd?^J3!U{XJo)kw zrwFF8+`{>OSQ?+fJ~W{)G7Je0Zuf>->zLGZ3#wth(xScsx<+`>-POlOUiRVSCw*ZH zCL?^WD!~z6{?Sn43$RFEWp6p=%lfEzR(;qUd&|(@^6}FZr2(xrfuyj8VHiP!T0sal@F^M+6DA| z^i>N)1~|ES`npEn7zFY$wDrYK?-_}+m%t(5O%Iv_PmS17Rg#kv$Qe7&OZ=AOT2s%wG#ZkH*gerVipa^d zRz2Ij|JYS@%(2|k43=c150xDu8JcoL5iQft{2Xj1g2staS~_hNlU8OKk%&CA7U8Z{9ymuICkx!*zB_tA0^`wY6@@k57L z5=*w(nu)xi<>7XBC==TVJpgGX_TWbF3}dp!G^GRgK6!H3@VVuEC5Xfl*tQL@Hr0@D zVHGa5NwlM+S)(q+1P0j8RIamRIthKg2@9V6Wm_F)tG*%6ft<VM?Sb-vwB8B2HzNd|?O>V2td znsiBClc!6(vq^srm-WG#$0;sfR)TOTB42nB{`}H)<8oCAdStqKABJ<8mECP-E-uCI ziOsDTnpLA9iKcu!T&WHD{99hl`VI+R8p9vL_Sx@gf~%|SrZ)iCDGYVtx^EuV4)oC6 zb$-MO@As3&Pak-CIi{ou$S|RcA}XdIJZXApm`t=`VSgmr5tCO-k)ZdC5??EZ z!SAWDHn}_Mi*%r}E-v{&1x+9TQ~rGzxhh&o>Zj$l3H~>5vh5=Ere%En!<5O_7kF-6 z;W@o8XDV~^cULaI-O>Mw#Jm*;P_$Jp2Y5d2&kdvcsRh+G$oUw27I&W!nc zXZUeKB+q%*yK!2lGz_#qFZr?2so$QA2xjfDqRZzqv((-}=$1s{$T-n* zU4BJ0Uw3`1F12C@+6-kqtYKOgkeWqv%na(rM)w>Z6hV$7qgm0dS%9o`3)v0jSvy;guCnEM!9QOZmuVEN-6bI; zs2?U)z7Yyji)u9FQo~6j{>nQ$s2{*&h${(^(yIha?$KGw!r`fx3f0!kkB3zqj$2FV zNLN3{XljK(=9JnaEqY|MgvgJndvSTnbCXT#1@jl`ldK0Vg!dRV$eci6FGhiZ)U!BJ zEmSyow+fi`KEGx_4ZNLruN#V^woWoy6)?<`bna3Hahry+q#wkb^9t!t^X|~1pwmVv zm55^KNp{YSjsC&N{-f;sb-D40f2c0oLTmi@6RNw>Hn7LU-UT%hK;@bIeVR^|cp5&= z<-PKjHE;;0)cF+Wn=AQ%RO75Ojqu!i_T+>&&(dwY~`q^GEYGDovaKw{ⅈD_6KQrd?6#njr}wO*cxp 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

  • 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%0A{-MxY($A7$sOj;B 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⁣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

    HfuY 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
    qaoNk^*ef{n>>GOYrbwGLn9M;X!^+{eqa|+Gk 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�=H^y#oWBz4RG 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�*lJUX+102cz-YTel=T4k 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

    aEetyszU2k2zye8#A*+28-LUWeb-K%?n_I9lk8 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 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 4d686a39cf5e345d6b609d3e62971c7353f6840e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 855024 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⁣??mfS@vrnl6K<^4}Seh9Dl>SsQ4 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�HEOL_ss#^DFY%hg{g*q%4o#em1 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∾h3RtE6*-#+=ti;_EU>ulVZefy#LNVI}W3Ic&7 zVB)Su(!eXoR0ejC8+-nQ_|V%1fBta&O3go5Y|JtLn>V(8@TA!_*ShBHUF)*Jwh8#r ziCh1p*wtE>lubrU!_ek{Xbga0U<6_?+O|4WHLh}!As`0kscTZXAj^6P8vo?x>_a!& z?>t>`Q6i&h!R6c1<-MUZ(|O{-(RF9Kz5C<8erNpNi_tBQUVdm?2Fby#U%TcHKlRT0 z9(Wd{mgJ<$K}&F;fQ_Wfx4GSY(+?zaKd9R8zd`-sjR+gEc;2Ssh-BaNW;!x!WwV{} z$^QOk^!_{Sg{x2b+lQJrcUHgX*1vFIu^81%K-xI$a9ywzT(eY+Qld2MYMbXQlZ`V| z|NJli>)xlg4_}#MF9B?~lhvV8z`~+qYxN|`m|9tmeO=U3R&^$_b1$$54$igmqjLv$ z8GY=UbG8hNE3SRVi6?$~@XlYm^3(tGTl;tZw}WZS8? ze*B}qcKvOa=rEsm1mat-t>7>aZ3S<$;A!-|P zYq`Kgv<8vUkPu1}kAqG-3}w#>tmD9o#@b#WA3^FQvO~p1Vke_1C9ZdJ=nz0;LDteb z3at@E=ucr@=UIet6$(b_fH5Y*HXA?&sUpP27`@~a>pE$tp{i43FcM;<2z3UASdkwi z<4TjT8S6}gk`f%LQBkOgR0=)CF+fA;R1;mN3lT-EL1`n?!ec_z*i@4k2TGMGEw2-` zFsU0wGExeRO)XUx^>9tMlUB^kEU=`QbYjOdU<1L(Hm#NkTEz<1X_!<-_mpfXcw(i5 zMJ0eqzGNstjclE7z$%dX1PjU03aBM!90@@ph$#9f3<|@*3_+q6kz<4?M@$l8gs1>3 zdH1L8MuCA?2mu@rr3e%RqF~R_pa_5{APUJ4I7WsD5kLTn7zKh?fFOVavw)zabnG|? z@?HmxnF;^_WCMh3Q{)hYlEOn2XpJOUmnB4@AYs`sI7Bots*s8>cHVKcIA%vA6JbVV zmJ*d$5?WI9n~~NwGG%$+%XuwY0)oaw*Fvxo+IZLDrc0(OJZWKT&L3J(B+oG%f>X}F<;6YsCtEW$fQljV2`cKm$w>@(`mekWPg?eBi+m4~*^myXk!{9V7a z>f)v5;isECnU+cT=q1_J8_a_*j}WnJsMV5U7c<$}>1_9_g+skO)}x2Vb)zf;>XrP9 z&eY2@xRyo6K-h%+%a;F zuiJ!&hWg7t+4G}E%g0`E7hWUNQ-*o|He?Gu(K&Ipo)V z|Ni+G4-S9*EuAZF;Kv%Xc%;1lz6ZIg0i0uy(a_5~9#E!TrJu>IMWXwBN&Zol=?xBuc>pLzDlR!7Io zpb2X>%>Mm<`=fQIzNtT)eB)KOF0wwcu+LT1fxZ2j`Q&1~?_@JOdF$67{?0j558U(b z&mBEEeCEMji{ru4JUOZX%2QgyHLH*P`}cm>FG>mE5DFtOkd@`}!VyTc4oUKB2Ot6h z0|0Aa`cKyf*GvbFo!s%zkweFe=)-@#^TQwcwU4T{m^4dw{Pkz={kwnu>UZxucecH1 zlX&2Xzx~3u|Lx0Ped_*4c65B%T_X#%`<0ysDRNzNIT}2={baGI|L9k4o!fNQBz4A} zQ~&PIzw!L{zxYzQCM+(`tlHwLSdveom3}(sP^Ur*uWM{#gY2|H8A};ui&1$Q@&nDt zuCi7eGpq{}1xQd;Qiw9q?Gi?=o(S2Cq0%{#kBvp+BY}@CjZx9iGnL*$TPRE-Gb4&z z@VN4Y_n@N~`lfI;iLx0{-cn8N5JJ#_#H@nAaZxkGajcmG3TtG-s~ga1C?lxEfD)$W zahj(Py-17>-XUsEYZbV1z*3Rat-O&c5ne(fFv>U-+QeFcmYL@=24x*Pnf7v5js=Hsyh*3Zkz+^y(5Q9=$gmFNjWD?m&Y-zwCPyh>*^6tCtMg%|Q6=IAL0>uDMMP0=aAPALe5l2;-SSg_iKB;sT zLz55^bCiOWP;3f^u^(&O@`F*HbVHcXNrN)6LW&4lnFwBrPAXanUNiaRN2C)e8KmNC7~<|D^t?(XtnT_1ZYP&bV_wk3K44~ zRj{_@*0nm*SmD&hGcJ7b(DoOKhRlc`-&qCaPrh`d)}fOpDvZ_28)&Yra9s!|rn*g3&_fm8GE@7Sd=|-WcW~cGB6|bytl?M_9HdC*$A$ zHs1Ttc;xxyagP!ZI8#PQsS#O-VN*(OmX0)!>aRYhHPtH5y>!FggX40-r>C55aK9G`; zw_Vctv#*qExPH^6<|_}5yd%#}qBSj$Ba}6}2s%Mr0pNiWi-n{#&wE*ZQP$bm3=ab0 zPhTS4nw*)vWOnPpe|UT6@j)x?*J86b!*s*e?1g9hcfP^=|2(}{ye3z5r@i)CJ5<#h z&U;Ru&XQVcq!vmo2}vk`ECG@bLgZ{?Y%rLy&Di5H-~h&P?D62SJ>$>6&-2+HF!nf% zNfuZEP@;u|ved26tz!EN2;ol6=)7zlKc)L`aSQqOgr`K5Pk_|T2zlP3y)ratRBedHxvIlgf9dGZhU z9=iLPVI$BiFP2MKZRjuUQiq=$pO}w-`i{$f=5J4(8n*YoqId6`yWnkkUE5!KvHkJ& z)e3jOL=}g>I}fQ$A&@Y3XJb81!bu>3{9xCT0rlU1?}Pi6cYO2jzIxrIzk<_Q7G=v7 zw=V5IzT>`cZdrTa*FN_j-}Ua-?>}(&p_fkvNwq}FkPuXi8_do$T>Pi+9$lGOqcW7U z1*vrxzdJ82Ia@xl_w?7kcK>+n9Sl7Cs#A(E2mnhEu5@S9)ju(rdl^`?#*XXvw_hJl z9TqSEF(BI2qJv-($pJxxOjm1t^vHqD7ffE*@$Gtk*JF>i<(jL?eA($E$F^Q@K*Ms(4l&|W^RoA>`Q(=Gcqc>mlx*Lz~KYr(p zXI1OZPTpr~yKAlYiU!A8a#G8Lqv$-aowgBxm`o~^lLFhA*mq4CQ`D0Xlg%mxX*Vd< zDATFPr_gH2RazGdHNv4%#)(2vIa{4^MR*EDVK=MRwAo9X=%SZdb&Hz*#@6as*(NZ8XdZBxI{!f=Rj-BiL&id%LV|YKtio`21OZxNlKt7oE4EuqLdOzq>PXf zPM`{4Wk_X0m01Y_WkgZ{^!Z=^JRkxn$Qf2OSxF^x0-z_Hk(6Y_oFNK;a&B7Dr~op7 zh!7f;90+6-PD$e+Nd(SWWeEr^0ds^ViZxotpi!U6@sLV0A@c~)rKBQ2k=jH+#x%9n zWb`PyGnT6&r8cmTCQyKxghdI&08;1_Llgt4k*ct57qJj0i9LiC$z{}(ff7kuTPPT6 zp6n%#iuF4@clCdPyaE6?%)vSsbd;v}h zvrxy59lDwI{-9O4A`8XEazjOukw!%=MP*Eacl%%@3V zr_!nAr%yx#gIWxTAD2z;qSYjl3f3UgGTZUVFq1R=7IKOT3dyKkJST6s&F*<{Y~Q%y zqMI+@1bh)Lyfhphd(%(eaq)lq++Qr76KTS3;~PHo;a~ohU%2U9d-Tiydi?kP@aKn5 z{N`8heeCX z&%CP_avaqX3J0x-gs_C6+rQ&Y!;^Ek^O^bigW-REzuEDO_=tMam3e;6m9TMo=Ambn zg6{aHm732wr(b&#YyRX9e){RBet5%sKd}FW7w`Gba1m$xutpJ0fST*9W?ipMQA9!% z$pldry@-bw_on+_9)K9!{B3Avhm;nH+U;!b6W(*NPp*TZ6Xh9{CG!XzH_yCtr!?FgI!AC>^5x`71 zN<6MZz*4&)T#uw41{rbyNgf`0tX>|=j#uQqXO@L7tz1yA~^~15{pS_&=w#)zkAOJ~3K~#|TF8}_{?(}W1 zojm;b@fVh&UlD1dN|S!=e(a*|51trZdBNtt{KsQQ_l!e}AWY~0#SR9!o+JTauv%}~ zbnzWO_1U=}9y??F$!8CK;n&~t=G)#a`n=!x=pA>y`Mvw*mcRGFPINCl^Mil9@6ieZ zduMNdZ#;g4b4nx%WY5Xrp5rS~yz;fM7YQQ%_2+ip^1)l?4j$)gUpszf86|5Y-3nLw z`F%e^8Um0OH1z48GY>p+3Ib!N%QEJAC5*>Ex;0R@l_nbVuG`psgX);<~pTnpDn1Vb`5q)UVOjRY$s#7Q(*M_QgsS1@8A&#?3k+lj^ zn3O<}M?UphlR>gN%FyAWH34Oq$4(TF0doZ@dd;da$~r&s+38XWDV7-l8$e3d7>-cn zG!C69m@KwXI)g4y5?bJ78_%Xxlr;0C$QxrC6_r(`@pVI$wwXq00>#>%vF(a?Sx-{m zB+ih<8c;kmWmgB*9b>0E6>}R@sTof~HkkCF3yM^Bq;qA05~~|Xnr+Gj7ss_K3g^1k zPC!^NHQtnjxve9hiApJFE0xs>54G)UY^>Ja5*aX3Pm)E=S{YVoL7~Y`oMeTz1mFyy zP=Qh^6Dm{+LQ5Fr0ZSDB_1B@k4Q zS9_U2m{kUHfEg4(211l9Sz4t`%4}2<)JqQ5aqvFoq=Kf<+OG1!yLKYfw*;{p^d^=e z1nhP~YB-plN&Tjs6h=9xLpIu!s_sdl+L#KGY%z)wP-ry7kevexCfK1!hbk<^x2ap? zQBp04O)U{9R84S@b49vgRK_`TD)5q^amt6}6c7_;#zvjcnj0uc3uGkQ4ui$OxnfHq zwGM_!DcjV+xokqgQz>fcaAs8~-vT8qiNRqeLlbC=%ym0OwrX<#-Pml|x2~%KWNg-A zbXiA7g|uN##+1D!Lvc#$N>XT++PywDN(RpONlpe^Y$9+2DJLSAx}_drQkB+zBp#)T zRi`&aqq>tXx@1c}{qmW!wtn^lw=6GiyFfkv%swMHZ51#)DUfAsL+>Pz*X|6FmIuD-dikrZ$( z4(DK0M}OSomMWYML4%ty=allvThioMcxl8lTU^yZO2)hPiHGXr$AUyS)Bb3!owWcN zZv4~FNjsDyivedu#6W=YO2A~^_u-r8PaS#q>6c&G`4mUBT>DUu0Yunom;p|rV%Jtl zV_~f*g@~vW0{JB4mN?Sl$OSJf0!l#4)Xas37*zrS4uA$qfIs@ghEKgl?QhDrU9@u7 zlkmtZ{cUfwFW>9`@S}s*p4T}&;uAsa>VPhYt(->EF>2+|03#>VNhASSgbF>Fn$Z)% zeg#1QvStV%r4MX{*-NN7DKscpVGKwhK>#?kKua|c10W(Z78ds<9`N!{j4#Z4a*D)VISxoZy(6qftmfvty_sCqBP<{8a!500+x%iPc zZ+af4)RE!sm#gE3Y1z$f(4?aKV3cTRL z-uWB(X@djZpHk^vuUh}$i8TAl^7QuYFYh|`#6k6opSflx|LwxwQ~&d&){j~}=yM%| zHXE;7bLKg9;N;TtM^@&RB?S&BiE*}1-h#$Wb*zB{ASA@r&o3W*>fP_X;i@a&ecxTD zw{EqxX8NLYrsv|z|L`wgU9*1b_^JHNOFN%^ZuU!m^|QxMUC{1%zLnDiSt0ubDS~BK z{R#;%i6r5JM^8NW!>12T7Cv>!hcN~M30YNxe zR}Lwa|c3eJBcS{*{vaV7RL*=Ly9$y zo3h_YQmAMOR590vGB^T;NxRG7n$8SJPRmdfVdBB|lm%nZi4-MBMQUImvu39uNf)yi z?4VWHro!Z;byYM~y}=lz#7`#LMG3$}3S-FBwdCtoTv=hOJc&ld(AI1eMareg;0zTG zbLu&jgKDJ;#H5w-=CC72+!2hVtw^g<0i;162dY32K_vjCL0BmSl`$)oGpL+EFl(hi z(dR$+d8G&m5}Z(ZT9HHnB4Fl>gh(J6lyDYQ83Yw7j5(uH3Ud}vK|o{nSy#wwfpSKv zjA`2rgE+%cobjkBgf>xVcApL#6k;&iP@;^78fC~y zLB?mwy0xXYEiQxZK=xqmpad3>h}I#ux@%K}nrVqbXTn(*R^@uavprYUl2vweEbv28&tR&`4ygw_xyXLD{7_&`y&U6Q3``-Wl`{SqG z_2oy_zyH>2wExmK=l|U&-*@2oAKw4aD~FH7>#j_Pjy3g|>!|u;-6is)c(f$K*42h8<5a3Bt%}Q%a*NifWD4eLY@m1R_S-v~8xE(U)(t`wxu~ zSO7)98!7ChX~zM?>Mlz_fm^nl*Pmk^IX!&##rX9Hmp^)o`jZd-{&4ij+1={DeSP?o z+lP0&X>!-25)y#bn&h+D?2X9$-d2e*>WyAZc;_-dezuu)DcxI8i<*(dXJh#stJQ_ay#=*C~ zzcjaJ^xzAVgG-ay*ADFB@!?9#B%s5)-YWm)>;BLY_G{_Q<;vr0XSa7opS-C%-{cQm z!VFe)2u)620N;2N&ObYuI_HyS%WxPzl<>QG7R!ld;pL#hTn=)djS z-=16l;-ME7LjnQ;bi|xMqG#};i?)-^7WtDa`3JLA#h+J zjR0Y)qF_6o1BnC_1#;aTD|?SjWIQaKVUa*W0z!c$geZy>OGZR7l_)#g>Av&BA3nCQ zl;gw{h1SK!V%zp@w|x9v@B7)0-qPv1HYCxZ3P_y}a3?Fq#$!$eByP1z8z#ImJ?N-J zXs1M0ys)vx!DdI^5vvG6XU;qn3WDNJg6_7Xr9RXXhyg2{-mTTN&307IchJNJiZYOK zTJ{Shh-Sr((s;9>AP`kGu(Tg?093N%5MRj}F)M_Sg~(|Kt))?Jw<=iZl_fRi^fn7k8;s9Tm~~Z?+3B)y9Yu~Jr;e63F}s3OVAq+^&`JQ| z6GgJ2Le&OKB55i}T_7+`*`oDSt0WjJRk~KSE#nkoA|fT?6&WHYmJ^BfDo<6^il&^F zd0$mlHX<0xq*yWLSu~VbP^*-ZCCJ$-N=gPGr~p}^;*^yFNdS~ZM6$x1MJW`O0dl6_ z`rL1!hAawk01yFC6DWlU8HjSsQtgL03rZv_QmYl$43I=E8`a552rO!q1EUoY$%#Uq zH+VY7^+FumASy-alr~L7q~Q=_qim6EldDM!JvbN5s5Vk2t)YsxmZr#{5uIfpjnUZa zyDsD~YEogLZbP(%gxG~%q|PMz0t$;Q^E6j0K3PS*F0GlQXvnEB&WS>7AW77QP-3IV zxdJ9$G$CXNXiJyC=QGxY5N!{Ovdk?w=R8uCc^qE2C!l=-yIvV1o6{m|@`E+EHbEdn#?BkQ)-uBL$Z~vEn+xy1rUVZ$j z^6=EfpZWJU&*sU|a?M+>zZ9pQUbm*19PRYW^PhY9NVnIqXnc~*uP$%8LXOW0wqNt< zeCF`Jy}aucc=lvHR20S@vgW-toPzC}!;xp@=uupnU;tKH?|;RY=L|1lvwPl;=i%{} zLt6}g<;`iW>b*4N06crq?AA?oO~=eFvt*Qd4E+uS27#b8piUB|w@#LtW~mOl?tdzz z&@1w`et&N4nG68?;P;$*?AL$kgHJyF(3zEqwpBlxmHCmRBp|M$?zw6Gx$UkUb?_{* zY9C}`lwjU?#~)9IyFJxh2Lb2;eQS67^+zWsXH7g)yytR!=*5R#dbauf51BRnU;Fge z9{=hi!zQ7&&o})rfOIg7%_4NR=jFp z4uAwQ0dLueVno3TFzM*oX|xVO_>X?6eCk*(bh-J0bv&xBzU~7HCr@&WNvf<#(Gc)ecH2#Nc z&)dkuKmF$uJf7?s$wZ2o!7Y=Md*&A-kh5;^iC?+!?nh4_KM5bWvY&9x7r(ji-*1`z zyQg9Z>D8O2pS*kSe?2(9?e#O4u3vgGSk<;yookf1$Slw@%Nz?uJgUlO|1k)p_Pk*Q~$emK)x2$JO(ji_iW<`He@O z6AG$MAiR2|Nr)tpP&f7XpT7OTi;wT*Q2XGMMiK_Ce?+zu(SjlX!VEIElXXm{C=x3Q zB7htm*JBa@jRXh=4(}yDUM55q(ae#NR;ddD4nRl>C|HtKAOux`zxvbL_x9F}UT7}f za{l`DH~;7V^p;!iykXs1Y@3m^u~k}Z_RBG#A6sum96MDPs3z+2{ePEV%w+)I;`PBq3Cgp*_GAE4=2M2osjnErfOA_n_Qu3n_BZ! zpkQb}D{Uj7s*J?ixK5k^K_t*-ke2pP#}rr~33erCi4Zk%7L(eDwkR$T~Vyi2oQ-VRI=KEq*DL}zyK-Wq^!<~jYdK%IRmVUv;aXt z3Q;KlkPM`h$_g?kLIrUebCir4SLf;l1VFNaN|H~&A_T+$QN=1FCuu1gZr3Ml0U;!d zxu-f!nuSbj%t|LtG0FhAR*Jv?lcAF#9^^DNMLIGH z_o52GnYs&_PGjg~LNp_Wqasy>ilHTloKl85=QYkaZA76;D23O$mldZRr@(X)j}<7B zTkA5zAcjJDQChdzD6*xmhslA_m}BH?Qgj79dEeC7pLb=?_NK( zWtP73nNR=g=z;}(s(IZNO9z+JSAKhqnvVy^>WeqSU++$n<;mOM_>NEAS)6caY_ z?X%Zj-GBG>81?dvSNZ1-I$kNb9?yQhQ$HoT+gIaZ60p$m3+nj(xx#cqJKnmr`|hg; zw_Of{e*eI!7(xJ+`4#@wLtphYG7^zhY&qTg*zgB?!m*Y5o+s-!zjg1$Q}C9n^^*rZ z3Cxy*n=YRH&{b8J`Zt~1Ki=qV+ZNyO+V0~kDvW~sU;esp`1;rALkqrRX~~Pvs54ki zTmy*&mQn~1LoLPtAnJkZb~@KzQY|F)j;lIa+@rh3AA4tU>v@YCXF3OuE-tT3#OVII zkB7O(up4aE&qJSa`S7!kEDl==Ac#m@ZH8O75C8DqmGQjrvWn+l`o%B57@es{{x(~T z``eX>I=ZMsPt{04eQ=vuIm%ZKu2bh8b@@mWCRKTNv*ouGQ^k^Qij#vP(nrEl!zFhn6d&kd#ubd#K26NgheS8@(}O32U^t~{v4JVU+%aaH#|2ah+z1b2s4cigpqK0ra?q*F zsVYN?F}uUwN1be|Y#);otb5%xnj;`FU?)fe5C)agg`ZAbYRBW)_Iy`ssXa4f3K>e1 zB?lVYxK;HW%uRZr$|8EuF3R-}P5t+VZN8Tyxphr~mdVFQ;$qS-9)ikuUxAf4zJE zc=nxJ@%Mi7TTh?-n@4vY+JC&6+XHi$cOOby*7WM5)qU+H@4E8j-gdKE=MV3!cOUxU zSf0Krm*0G5g^a<(ngBp6jkcm|ZlM4Cmd-zZr#U_Gm~n7X|0CD--@eU$?557P3ho!* z*4}>;EG;5KG6K>ef+>9V$AHiEgysSrQ!WU8KbX<1e$>LY=1Dw z<7F>c2hSgShl(0+JRi%M(VjiDw8WwjZDs@AH)?gREnZA(X8KoO+1tPW$fSu30t%#M zO{fTo0uTae1dt>tMP`;1V;7&0X@sylHC8;@B_D`IaTj`)~&0$ zKl`@sotNf8)!o(^SJNwB_+O{*ePI09Gb_tSeP~5*D1GgTvB~nu%kX$>)I^2|3NfVB zRn1a-O#%UQ5(Ww?fF->CLvVPHzkZ{-^_`t|ZoGc0{>U5XRHypmzp9@&lE&ku$#BT* zh4%>85`*q4$TX~*(U<{H1OP!ugu;U_BDbKiJh0F{yK{fdC82Y#vG3o|Ja_EiBfBFh z!yJ(C=wg2LInRG*=P_O!lY}FO&OH7?769RHy#hO*^(6V3=bMKQtGi#w$3_Cfbj$hE z-?)43U$=>jC51s%{doA*8@wReh%hiz_St_Tb(jF^D?n)zixhHQ4S`4?n$W z&HSL!>!->^E)Y{RCp2u>RP-M`_Me`7bolEZJ?r`Dsd#ijlmh_}4jRam+86-|f)@U7 z6vFBZ*N@Hw_D3fQL4-g8V9VjukmpxqWmKQ#{NBCUbIOGaA&Cey5FpSh{qFyN5W#?m z5I|8n6fim)n*}&$K5+EOw_g3R%Wu7KiK%Z>%K_SwE6&P-uE<16svYbd)=u+sKNjq4 zI~w+NQHyf9XgjqDnyUy}3JXmJOC3~mFI9|QQ2;3MWxM&M_NS8 zRLat$435^!J zWZ2{>n_`HVbC}p}U$rLEa>trRx+un}lv0_(5$cvf5(^cvF=dA&P-Ov+M@XVbQjwIO z3_GB~^?Fv#Y6ysBrL{uqeVf%x7O03o6zY_-%7~eh@MdhmSRju+@5@q>Qb^GH3N~ex z+r-)0HIlF@R8%R3WQ;`#4M zMbZVJhLkg8$qG@?Z~n#?6q12el8TBY@v zGJ%pHJ(EIen{0r5Ati-%LU97QG$=guSXKlE(3y}!nTuAk_1U+Pn2gmOox9jH1lR(Y zC;=t%1l49|iWY-OX{4>iI@JRTMMQ41GjMiC6=*~0Dd&obtd1>1m#Pd&b4~_o*jJ)z z600;RQr6il(J9bvva{MG83Wx)*hAy2688hiD8A6? zmkdP$-6-#}j)`lu)EGrNfIT$1`~2|rk8V8ZPw!uzzHVvxA0OHGsNJUyJ@?!T!@av+ zzOS=k&l~LW-~837QQ$v&^Hk=CzkJ^-c;V68dciw=$))iVuNxd3(dAd*@BbL?%X5!D zapXVzn7aFwm3=R^!v*1(_Phku)?Ym`|6JY-h3bY-qo76rad<>NcoQxhwl6l}=if7X z>6-R|<2qzHwNm`mp~Zi=w|)Nm_2k@qWRL&dx2@Ss!$17D=6IMK9SaothF4d|M=!LC zBR^));t)k3fW*3PhaN!cF%!tk$K9vja>alAfA{?Dy?$=Q;tYs%e!MSBIX+oWp7efP z&yB_}?>$M%t~qCGw_BK&IWbNd3KjT(qD5FlBp|Z@2(knL06+p>EtuM1*E`Ks@HH?1 za1eO#iSY0f^7d=HpZh30`=Y()*vbO?&6I!l8+_Ww3*WTKUUTXEi$}R;i9$g%NMN|} z96_=|?3=L6YAmQh&=L;?M3VMaC<$D!spw7NjWe+Gfb?EFy#H(Y@!kI8*H>Ts@^B0K zM-OsYxTVvLXP*!h*T4WQoP#)Vs@JLdoxv5}9|I_X0$2pr%mz{`MLDj6+YIi_eR_nS zJ5cOAuzcrr?n7^z-f-^LmtPrOarwo6f7edGI06Y8V79Nd4oZokBGj!g9h+~Va6BB1 zmxAsT=Jvs3cQ3rMI1E92?XSIYgI||jM+RqsJ+}C|3pecCx3c?Sxaa=m$6lB$HlilO zfOvBL#Bl#SQwh;)=fboTIsr=pB-##4wO;X(z2N-%_;COv4#MNWbrK*2lGO5vq4&9~ zo5fPy|HzZ~{NS;NzWKl#ue(^>79`&}{Lm3Q`}B^lU%Osyq|O6R9`5$LW6t0ioTR>X zgBea^s5wDMAPF!5ClCS*!U-R4F=GG#AOJ~3K~yAx5C8xN_K6h;B-8*uGC@a{(_Z$h zz_FDu8rSSOv;l$y5C9~Az?@K$#)LrpqsR;fNDR8^>+XDyUszXSEn)nD+i!cvM{i$l z$F41^+>EJ>xB(;2W22-M>S*oTg-xmuqeh0OL1R;3=Ns3WRh^UL?Qk#QUSqm{~J<1-l5K(U0(&$kT z1wy$nIt+;-h|Mk8jHZ*oBWY+5kN8A>Us+$WubvPjZSSuV6q zNhKsgl>sZj7G*sU8fBAGK#G)8nv>+jDq|+>B~U77Qjig|2!L9hbmgQ-<(zWLW=^GU z1_3lGHA)o%3YEZWB{l+36j&DM8ejz`gD3?`rI->Bn^kiN=$s&zp}P{74FE~?zmW~8Dp(9E-1XU5N1d*&bK|`s{x{Fy- z4khVHYJ!QC=ah<+RH?zH6jSOL9I-KFR6->>QcaG%s^sW{XK-3vw3EQbo=njCwkll; zA-6gC9I{r%p7t&zUvxxbnvAJzYDF$0Z$?7T2_t%^w918D%gSnKdqzAc1(_SIt*X@7 z%oSrQ1X^?4(4>=QhiyAr?DxB!CN~blTJ@^XrVL<+Vpc1|rBf3!DuP?;BmVCkB&?)=a(e_1C@S$JX9<`JHPPegAzIuKCPgzBu3VnPcsD_tYbW z&%DrHw-&$h_~i0S)Azm>E#~=c_&c-mg>R33xS&O*Z<#J$nyfo=VyqNb)=_u*oo`#d zXlne+mrURGp~*1V%eLnuOYU8_pZ|Ne$8VinKGjoc`?@>y@K5hHD^xmmR5jSrJ*M1%ycficvBsks>V^jstgi{WD}S* zAOa$Spa5tA1O_d@48RO5qCh)WZm#^v@#=2*>Z?fb_AAtur1qBc-@Z$Jc+h|2SzHLs z#tYol#qjCx9#FRIZtF`hdSC<*nAaqD-DSLg0ZO9f7KV%g0WwH-!3T>J1Z)AF3i|9W zzogo9W%s$=`pDr>*Ydonj+`hSd1fdI`>sD8dkRe2YH)~M#2G&xI)l1HbsPQgKr!3t z3Z{G*S_{s0B=oo*>MAH*LU13y#y{IJEWQ4obgW(WdWgC_s{a+nAR0tC<&Ms-|Jr;ja9mI7_Wp&p$+Ev=Wu zY^%Zh3v+Zl_JCLuXetA=6wo^Ng`fSSlc%9y~JoLmx7xvHH=%4%Emj;98{TmMa?hpNUchxrx+TVVk zJ$ZRL^r8uM053D7Ke@es)@7F-I2lynq!CbCfxrx+En;Fxh=~P&Ea(KX+Nw;VEw0We zA_xQlC0Mg00RkYd&TpJKeE5L? za6pg0rHiiI>|E9O(4}r>dP~Zi#JZeT{`9W`yiVY{^Ajj|Dpw zgrm;qp=Mvjvcd@~hzmygIU3c5yteQY>P+igA5O0H3<-nlBuhmmRpGFyk-D0hM7y$g z!Y^l1t=1$NOm>!Xwl=F)LZjd>z$vEWqpCzEj6su{#o2OzSHsem|66V#^_J5dr)JDW5C zCdG(`Y)M6wmVH(wa3&&SqXQgtjGzV|7(LQ+;2 z3Jcp+A!LdYyJ*DZcHFm6wo)TnUBr=SY-6&$f|`-azF{NI=%ul@G1M9{urmy)o7-2W z|8|#q+s&_kboX3$!^c1O?_Yb~Htbao?;Y&BFudydrxySG>;JM87NyD5pHfzios{l1 z#d-csm)`J`KYZZ6sq^TA+nc}pr|~~O=Z|lw!ZC|x<%TQpHD=}8b-roK?C*S7Z$4Z8 zDWaybf@Z0KK5;WNi)B-XY%_p`t7s~fg<4;*~4 zcggD~XAZAwZ$X1bc1AycfH^=|RqU2n=qx8+{I$t#Y-x@)&@ zJ8QkHogMExvfTMp*FWy3UUfxi7Jx+TOQ{!$XT>Mr-YMtpDtDvrmTZ1=|0@I|tu+ zK6%d_-AA)^W~RO9HS3NXIjMrwTBr}b;>LP%a=0|_x~r0&erK&^Rl`WIC}F}+J~ftx zMF0RFdnvqn8~*+`TYVEnU&yg#X<0(}@pEl=gM5EZd+GD26%hnvVG#yljhe?EK%kGH zN-zKf!`k?9lMsoap5SPaRmD(9vatRftD8eBD+uDL)FhOeFuURU+dlsK6Hnaz$G`T0 z@9rp;{4Q-P=4!mSJXu}I19tZUQ)!uPh&99zn4!eZ`t-uF zgLnTwJIXC`YS;c9hZkRewtd~z)@~mE*}@gi{pIm6Tmcb4x%75-{#nDfERM^yzcX-n(|yTW?tJ{cz;_+>iC_st^0q zde-`f-y5pYibzbLKqMJ3KnbETMT(IXB_U7*BB1D1s3b@NFrd65@B#vffMGp$0sxT# ze3V46j=coU0H6w5UOsf|w{JUj2XC!To>M1(@`D%6Zkw;iO|Mc>PH?H7)En4)DO$@F zo6SN+;4T(u!*H$yH`Q930_H;mRmDKmQ0y0kp=8q;zdg!YVJJw~tLKKSC%%rvInMb( zOo3S(faL^86XuXvCqxAlf`BQSZrmGI-E^ulYf)Jr;LtN+9Hl=jAy0a(j;eAAyK*%` z&*v_Y-Uvaorb=Om10O~McVa9lc_MC->PkW%H!!UA^}rb=Arzp&WW#-}`?#NCdN)ZIl>wf;>>sJE|flTiBje88C?ivKlf03S=N= zfsD*KWs!lm$=` z#*|qjWe~{BloKLoz?eCKbPB2fL6ME2@t}eOMhP(iv7$&AnqW$tNPKD9ZP67W2A3?M zt#G5uLhjmItR#Xa$+fh z*Q}!$iwp~~Y8&x^*I7syX3HM7iE=XNldU-C2-9Vyw*s3Y`c+_%wsn{ZGOjh9iI7>d z#AI@hu{~~LkyL4Now|N7$J%bWi%nMjoP0*3Q?>b&`IDA$ym-Y2e(Do%*z&|JZ@=*` z{^`!!c0GUZ5B93?2mk&z#y|M_p2iQioHTp(*5>drKu9m?Yd-#;Kl!%1zx)qBdheyf zJ$KaiPjuZ%Jm@cdYZ@I?S8wZ2=KZys%p>CV9^U-TAFN(;QT3}=jDGi9a@qC#zrH;4 z)lZnEV`g%k{`@;@`n+`dMd;V|Z9854+GW)r{oS#9ABMMII{%>$%s=#^EH8_)_QA)) z<9oe{{VlU^+*Dnf+Lz9Mt#eCs=6l|HZ2v3sn@@Fk+vATv*R1J!aSxNQfKriw6qsvX zKl{FG`VTzUgp#Z!gi<=F!`crY-DUe#H;V7RX8z~j-k;fNPCqqnJ7eyO(=M7Ey?=vA zr_+|_US5UgJLlzs*SQbAH>}MLU5nza14%?^0oIw%1Ri49*T4DGr$6@K;o@3(d;UU3t=< z{A>K?Bg?Lh0CMe*z3#mq{m7m7KK$}?F9HaIN(h$Ziuaxg+Ye6mNl%G3z|ohpYwX1% zG@WQIF#*I^6**7pyHEL*u^aDBv?3xALfkxWzW4$6m1kwGT{!RR|J0?fS$x6!S|oZR zwnqH=VjWeXD8>1ivf8@P9Bn;B@R5NOQ>?vjfLYl>)yHeDP4*cTu`Yer86jQd!FYA= z!K>bM^{H1~|HgY(|K2Yuh$_@;uWEa}IRMKfEdHEL=G`A$__MEc$M?3~I5p$?RUMIp zqcl^P@1OORKVA6yW9HTek3aXUyZS75K%dp?A6a}V9(iRY2>}=*@ojm0@4~kK`Ss3C zLQ~7o4u(7P+Tm4WZIWo#NrFO&2mlx$^-2IR0RILF5eCH|5G6%13KGGqZ?69yiH%|q z1_cVd);-%(h1pVV8g4&(adhbZhmUWb8J++7b2*#Qa%(`N1EGDEdt-93C<~FOGUR<> z+KTW1sp#ib7pqJ-<02gJz?`kk?NDt~F(pnWk;_N0&pA*C(^fA}qqjOKK(N(93Qm(0 zDR#5Em{b8oJhNn|y@y_58aGd-Rqbjo4;lgKMv9=6me7kF z6eHLH#~e~HS~pWfvm|K3S{PC&VeEO+#1y*9Ath0z(BSl8G#8P z1A?GYj3`kcBQjt_Q5iB3p#UQR@)v&lCc>OzMkGc=MVQxz;CiuZ&agp4j*t;R)&bA! z9$BIcf;mJ%6wU&WfyksVB>+V2!7DWz+Kv$sOO=N;G;?B8C<}X{vsr~kvF)5=vM#t7 z*-&Z%l@Ps0tJ%dIXp&Os2edpr9uM}Qp8|xCv&w@Mf-OxDk6CkHnUqp5l2O7;ARP$- z%8ZXaN}aM@%{)jwNW&^sEw@G^3n!Dg>FS&k>jtSSzG?sc+b%u(!>@hw zo3Fj(opEjH8~eUh0USIqRWm1l>fOI|#cSSpXOSZyZOKW@jpL#xI1H0b=z~z zkK1|oWMjctq|MX0~`v|QZmuFv&pMTBH zKl=X4@~w2J^R9;(PZ?? zH`Mn$o(>+Ef|nx)$A@07R}Y7J;-Oz*Xjn*b6i^`1lNbP{;Oz5<&pkapvV35zIm%i= zzX!ST3OxLXxC|;$S@3UPJM#-y?Rfsc%s<>Yz2n*OKmV|KrKUR4YNR8paoEy^VLZmo zTrPD(T-n75)E?R(7OVvA<2r~6l0YK=@GJc%k50e~M8Ql@^zVGU-u2@2#bYa~DAC*G zn|-?$A9~>NX6=Z9m?9(+aDpiHzCBC(Jyim39Xlm;3Kqe;*)SgKK9CX0vjk2^0Yp=s zQ4W=FyFuAM=b{g$`23&Wz(4$vzx|kMvsrL2j3>{HR~<+MrPxJ~sMJ8ngNQijmGXDL zSH1r1cii^KbDh?(&cpQzhy`)Buc07t^UZikU<{N2b@HA;#N#Ne*e%V~uRCq`!CUV9 z+9OhFNhY}F-+ZPHB(jKCa=3=?-!ol3?wl9z<9fS7iZ0n63xLFSdgR`RR~Da~xJi&M zKJ&8L{bGH`cg9EdJFjW;Y;VKDY{dNN@oMR*HE0?S0#3T4hgSBl4i+{^6PTj1s>eOl z9K@UTB$97H{=XR+*H=k~^}+{8F&d%-k%3Z-AYv4GFHGQ-Fc33CQCT&-WXst<`7;;Z z@vTGu=|B8&+bo>0W9Im1#b+vPPO8F5pLIf^0;R~&iRrq5(u%VuiPAZvQUc8;b=~$Z zCN?h5=uy27NJBCi8x^-|lX7-ZcnBLyRBcYB484pJ9GB>45&#@k(N5VDP(*H1u8`bh zWbi1nt*Jzg&~?#!1#LnjZUsz5?JK&kM1W9Omr5noRnhw7GSS>PjBHg-$D29@L$@Ho zP@fPxPCJJ>BxFI?uxMi4S+6X|3gs|S;H0wGsVwGH8xu?JW=NS>AV)8z6qhS94m-#T zN`Y+yQHcd4DU@AHZMI@sGm4}UlR*m1vcB*kXkn?I4=JmtxPlN8LSMxI1xoHp$&!s= zs?-UR(O40!Rg4OIimj-Kz?D&uDI+m%qO2rGg_?*&Fy|;3ktidO0N|^XkPN_?Gl?X~ znE7{p`$hy!gdl_pq)Qny0cFI*OAz{y60smqh6Lsa$(+2Ziet)>QwHtDyo@kQAQ=Ps7YK67YDE_sz-)Yq<^-6W5JT8g&q?Xdp0govExySqu~UoHZ-LIgk-% zE-XwEB&d|Hd{AW%1G1IbNJL%RS|}7{30+KyQjby#kh7O4RI206K}{=-FUrgSD*DK! zPAVu*NZC_IK8osT5J2kbD5N15Ub-fElafSgVTzCnjVg2|af$}j{%lmCrma(!%^Cv2 zMoE3Ea_RzujnhW!#I}&I00KUBA*C2+I1xtYC8}(MG)FenMafa83SyMe9$(Bc1ssyl z;&?VIDGiFXWsU!Cx&m_dGMU8-*&~$v(LBNw^j3V`Rcd4<>@coKKsra zKX~ocTX-{Xr*k)MG$-^gyLkJ|sQ1v~>#sQ>edCFJ%eB|hMg_wvEiJp<`g>F+J*g}yrxq(edjke zeE*?v+atWIQESItbRK1FKoM&Sbq6kjh_{NBkP(pRwc533^_4+7dHceChieDwx{eko z3amzYZt4##x#{tAbU&WGO_HX=tv}Y%)C-Cz(!n{9SF3eEID40(17L_gRah209@8s} zYYCF>SG{7;)?+8qpT(|;DM|p(!T`Vmz9415mf$4js zd+xaBuHB>Bm$r(n3QcW9)~}#I>w9+3fF9Tjw{I$~Mqb+4PPa)#8?_3uFgsWojqG4v3O40DnFU#sJjgN3Lf^bLs#SnN z#f*9Lv>6v7P4G~h7^j}9PTDR8UG)Mg0;!WaTu~C8O@WjrnES!L5>rXt#PuXlF)O{+ zIxcdTpSOOiRG1}JW_#ybmoxcFhA(c&Wdp$nigA~Q`H^=U$R^)__R-itzDS!hhtGYxA!BvbkXBFA4lT0LTjFBQZ44`06*(fP^h(+vT?knk>&!~I>CM%|fOsN1P z*~Jj5fhk&#r+SU1aapQ#Zg>1}} zwbW<|#4S!n6mt^d3E@3^gDs8@i~05ec&gHU$GHkzA;TxtQZTFbT2}DCRkHk~%`fScy*PB_!5joEe%t z;YN+2vos>Cd=|?KzT-h*!PlmotJ_j@P^vezm1-LhYuMIM4{a(4l#b}5kgFxdOk%g3g#!J< zU;XggAH6(%|KT+WnFhTJE84Z}6qU2v&YGQRZ#c2~(zj_apljcomZ$uVQ|MzC$1_f^ zp6n0(Qu0ms<`35G1OSGG`sp_hKYsq){ku29+U`Az-FV~~NIbX%2vM{;8uZIkgn^v7 zS$u}k)EsltwL}U)^@H;e<<;As0)`?{1_1yz4ADr+1TllMWucpCm%L{MU9)aC0tQ~s zGbDnO&)=bJXeN%5@(xHq!{B#*>0NtwK7Rc1wFHn6$kZm45o2Q7FjQ~7n1+& zozum8N3Py-akKQw7{(sjI(cta@Uq!)>|gY{H*Wjh&4>5m{I=RW6S|}ORvF00xV+>a zdRgvx!eN#1jTbLJxF@+9fPV2!B#4+J2>0A2{zQIrHAkk*Yn0t^HSJb+B~C-$(%_^trExK< zLP2OIT?tZWC{q%@3L^Ue03ZNKL_t);5meS(mP#VBO0keUm85*=a;4CkI8|d?5(k** z783Yr-Rla0*r##P6pnaCjJeX)wHoRekCWfpa zY24{Bn1ZIhV{LL|rT|m!>3%EEDRk~LLgi@JtMl3kAk+p5pM#7*%&OF)V5Vw?g?F0|QdaiYOUh}q1|n3x1nqfKpSbqCtwL<*mR3Q>Fk zA#&7*D>WfM8zq_^N<^C#Rc0jnz%)puDDj~m)R6NyC(?A(DQr85szkGh&^XZvuw)!E z)sY$_vp7$IrER@J-{n9lr>wanvn3_a3Yz2#U>@L1=zFmc9jTaci=hC(Wu) zdE5Sne(S&d^&NLUvv|v`|IcmTIa*Dxy8F>*Pk)V>l;T&z_2-5s7Cp^zv3cwko7?y0 zKm7^VHbaA5=^r1;KYB1P`fBG{=IKXPo8?wTyVgWzIc1^x!%uIow)2NiU43w$zU_ej z)Wxv(g~_eE>HU|U@KfhB7oOR^bW9%_MG!9n-lgTkhY#-AH6H0j6)t?~o?rQ!Cw}V- zKY#Y{>wosOr^@a2$}2znb07KqOAp@hTmQJYO2hpx)y*mK$a8l=U6%R;rh#|OW#`#X zyk-2%Qu@cw&zv%lFW*(?wI~iELgF~8-G<>T#;o-`>6FDQQf|E^XFcOqh}ZhGD?j{| zKls=!-@U78yptY#b$D@aJ$0EmA0|=#+)>vsaIAeoRqu{N_iO zmnYiQF$pAzCX$K*NtB{U5}kVOjEsWRqh`_RhQK1|nIf&Y^ly40kg~JAP`mY~Bw&@4 zW+8iL7fK>%)>;q&QUCz*Z(qr)--hL;m~BuX25F+`!YEj{=l(kuA3H9Z?QAKn7XTQF zknR~agN=|ER_kZpUyV;bVdZ~3NYA%hKKnC&`1H|ly9tytJ7`)%e6=XS`kuzU@`e>B6^umgPUWzd|SCU%o;^X_`<@S}g zpFZxNamwvaAG`VPy{m^-laEOR0GLz+n6v7%i-zvrdNQt41fclDUN;`sE{Y*gTT0gs z-!jC_Tiu)9ax`qL^v2nxM-Khr&xe&}aPXK&Mi0)GeQ~uHVNd|Xpc6zx#6V1TVf&US z3MH*Oz^pBe9SmoR^WOaFd%nN-s@I+A!Hv3^kA2{hZ9BI%)0KjB-48|H8AAg$HNqxv z#BM74I?17;0Tj7Q5oSBpR^P|bg|&fZl4Gs9tWyvwv52bK z4m~MA7&7NBGxcLkqFMFvsOXGRs@yIlUMq!I^{`zfg;|tR8hibqyPjnckqF{giBKV& zH#c#_41l33ds+$d)IdL}Y<%*1kbH|=7FE%P<=6#n2HvpuQM9F*?PzPKjzP`_d&V02WV>n38Ht51~P$0Bv;WX8aD86jd?^ zzU#n%3-b~q5fDoDy`I5F2$%;jCtCVqj+?G&r^61rK9+gl&AyntRfW<7SraFw{VfcY zA_kQyV%AAA5ekhlTZINF=Oj5tBF;p@#~CPjBtj(5H{Ey>N(#V+Fy{n-00M%ja)^nM z1d<{IMFa{VBhh+Wonpm+QIH8TdBQS_0LKJPMo(>z&Ki4=;>7t?;Yy`B6H%Y?jQnzDFgs%Z=oqA1%>!X)aaz!tW4sR zLm_-fgXoedAhp>`(uBZL=UgF}pvHBx(v^N1vsYC1whFA~m6V1Srip^<3YJv_8ozV|!hVj+I} zQFkKbEpyebhuXjV!E_qp4AFo1*X6&tH||+-iHZF>GDCm$kN^Fhcir8DF!J%bE8?zw z)xAHs_dBsIl%%)~(Ew85e-WkPEBaS4O!k`o=g8q);k$pqjvEkPH z_BE||C74wbF+u>5Y@wudwG#zVQ$e)6>bM)OfTRcsp`D@xNCH4&)~mPu`U(~T027pj z(k2T*R85@rSU5!w;*4Ngzta}Qt0U7$wxwJ4b{1k%S;)}PO(xQ~=mf;e*aJkLWmu_A z8+lx-;c(MUpM4i?d*GUU=-W@LABh+nyETSk1K$2+90KqTx>_<=Rkss6|si#T7iQnR*aFWlr;96+!{1m%vc zuf_Sn>d`|)K_UPMSlv_lr@r`OkKFbAO&`AU?LU20GjNx8C+LOgNMW9ZbtYCZswv%(!`Nxh*+OD3aPjmfqK1`@irpF3~MrJCttTCsY*pMJ#nY(EZxg%zP7L$*l z2zw+km6SpsWHo72MFk^jB{OquOlmS3Y$#PJ#L5rkw2@ymF%>cgwgqYWcE06AT@Q6( zf&^Q|6#GmHO$Vm(IcpLO{Q%;>CkWS@6 z#2G5q+$d$9f;V27gbJf`5-F6r#6k*i1LP@mwlFz|VaEzV=cI>z)_6%wtQw?>8b30o zkbabnIR_w2773(AHIpQyRsk8UgLA4Z3UZDDVOo-DF|-H-Lpg$A6S4~{y$^`{^S`<0?7DF{Ya?}Zr!eSG<2!qY@khLA;N*8-mu9Ig( zBOOUcK8Gs#828sr8)U<_ZIdVO`EL*GTiX5ft`}Zf{2xCtKJw%PUt5`ctT*}Q^Dj)! z*cF$WkAEKODShGZLDyI%^bBKu&}ue*gaOPiqh# z#l^#x-edeTr`>SL!rYr*_lfOWE;zdP!EfAp^ADe$VA7@v{h1w~dG9Yh@$7S(PCVtk zZ_@|%%QH{yEzdsr&U^M;e3JR%KQ1pW|NqRK0BqEtcU}{h7T!3!^4!$bcC z082z?{>%6FuihT#c;$f?hF31k9$cxxP|l<*?btEMUADAeP|rzlB*5lH0M1$|Zk5o|@GqK_8VMD;6ixUO6#1t7^N zn@E7b040*%LXTRv$--(Tqd?OpKR)iFB=AWn0k9B9@fn5~ch1;lHM#R!|9mx%6}i9K zMKx~0jfem7mhX%g8?e&u^RFr8v+p_YzUONny&^?GGxPR?AK5yr%0o*i(SZg4q9`KX zmIa6>kuQCC2B+?Ezvb9yEi?{9fPg^}+R%(a0fPWQiUI`OHvqGto^IZ9^|Uz%F(!ez zzAsM9&9dwDztZJy{pl)|sU3K7EBfe^b3*;E_Q#2St%)EKr{@*THcl2+JpjQ2=nA#+8W(Vxl7oXHw1zaJ{(>@*txiN`{;>t~WPfRw-5j zNgxSmLYrdt$uU8UowwWRMwkwAib+vOh*3zH zj6OKvtdvSnYbt%rF+@U$;DQgOHJx{;htfJ89GI>JB+033(Ia-?^Qbfx?-wlyHW;N+ z58PCBG^*X&>aYXbw$+} zd9<26=ei57e&o?dZh5*HFOMF5X}o{UtSs^vf`2YdW;ImiAHM0oc|Y9xl$SAiZ}ZIX z{uis;o^S__S2A)pT-pD_ckb*a@$uv1Pk*G`+16kA+wn7p^9t`6e)_cb7ruVz{TK1( zlaD^;?4jLF@Dgg@ND9JO(yLC82oePVyq8I!6Sv8RL;LRBx99RVpZB@Xyyok--g?fC zGY+pD*|PPDU-|Jb)XR6#_8ouli@(3NboYP!?|*aey^nhCK6BL-H~-+#7muYvEm)*(;R+brk3)9%#fPi}9& ze&6J+r&YiFkuBeUSg*DQSwMhPv0(Bb2YZsv`&02_)6`!iuw!kET zsI)V){flM3@79i-yJP0dH}xNXz zK-Xao)SHXr)uuF?S0{A=Ia7z-&OB^G?UK)+gky}#8WeF$hGHBQxp3Z>y{tlU45kol zv;R&%r0}LRn>>=ZdyzqCqNS3P*Sf zs=4eDP;?ud*8N73%~tFr=bbD~gpPW%vuTr4uHpAg)iu^;MDQAO^`f!8+S7XUMD+0-|IAP#FMGNDwk( zL70%nL0&d`Q*>QmK+2TNxaky_EJMhAf?=FE(ptn(@}r|xo;{l&bN_lhDk+wYKop^(pqwIc|6RzVuDgjl%z6d zKHy~pJOkNj0j&w!06{0UUnB}l$sQ$h1H@UAXN(fEn@Ad3Z7HqBs$|z>UBM=wbTPnb z$^=-T<}3&RktJ4Grm`m*hXo;l*1bG#!S>KKi7kX?&WdJRC}ipsFinvWTb%BQXq9!C zL|ShJ1mM`HeI;~&u(2G>syPGW0+>*7u31oVp`2>-7#+?J>LcL^xAek>vtKjYe&y-4 zefu6gI=JM`?|!ZSZ{K)Ez;-S-6WOqJ?tMT0`)|~b#VvC`dzP!+rjNa$z3ZWv0)f^) z^Aj8Y=$g3-egEk5jr8;E7W=N(!Lv^td+1o$yU#!RfWQ4InmJ|ovmfpseN1lr+Z8vJ z`<|@-*A~w{A$|9ry;f_Pwh!$(yk&SsTeqoeM$H%mSR&X` ziAIvO#Twl@L>G)iiNF$p%(?|;p~B(3pEfJ|7mxG`7%#0#BhaL8ed~Ki_P4xwGCow3 zDJI9aZ9QxANpq*~IO~P4|MNFzwtd`;j(=|R^xAX#Ypbh2JSa=SzvHy<$;%4p)hCXi zAIG(^dttwSbTJ;;?|Sp*J+CQ;MSp4BeBe^P;cEZ#)a}`$Jd*2NPtB0aOgJcuOD@>5 z|4_Yd7XbqH-V9NJL=RwQrS8}=uXpN^Vv9}*vO&_yYTs(9AmErdL%6Kg(j{93J}af*C2{(R#XOwkVK$~AOa2`3RuOgQgEr+BjaU; z_=ywCKl|?5?N5wi6IY@H=aUcs88T27si_%2{Mfhga4jPzTn>!dklm_}z65%;UT57& zt5kZm`aCWL;8Q=;Exq`cU;Vk?{Igrqo~N3Z+*%XZ@ue4>ALq8n+OjQs=UwrRcU=3? z)#vqBzWUR*Kl|+B^SgE*yD#isbDjp}Oy1gadmkOi6$f4%JpRNBn|ooV?AKv=ymnM~ zqlGQ=1~wApg=$Bym^XcjQx$q^yiw6k@hRG}-f1y?Y@?gTEJ3aEl+Y^0HP zVK^rqS5C_FZI?K+paNYQPdQnvnv-?WF^Xixc?;#boEA=|Ok2T-uLA&5K!$17DPhSH zxdDKLy}6>_Cz1&^s?Z_RtcJFJh1DQL=xLCw3M`_UxTbJZKR-J=^|g3~xM>Q7e5@2C zWKvp%!GQi>qTc&iv#YxEUTf`e!V_-j+qqla5=x+i0x}4MNJ0c*Y!hvGZDX6V2ZIO0 zJLP%7V2?dzTy~93&5Xx3yi*K=6O0NLISHYJP(UrIm0I0W=Y0F#=RV<_efC~!?e~W( z{Qd!_>ZzwrowfIOeZQZtB}8$t5)=w`-pZAG5}y=W@S3!!Qi_BG#(GOh z6iRX?H&S~=?=&;b7nYo1Kt|_)JmPa%`;I7MCa?@>Spb~+lgfp$CMy^;nbc%NK*}hj zjwmaUHH4^H%qKqf`#^+Q6Fp;bb5=3VLS*m;pRcC`L&P}~h$;xPB})z@qpBb>fCZ3@ z#^j9xnu!Z7V`GzveQz5nH4AlRa%^(~jvd)4bIshD>|iQ+*-}69q*XWP`j}#`!gh_x z4s#o08N9J6Ls5a@1nL$oE#u6APfX6{>>@ckopezXW}~*i@{mdrsLO;+5Oo1~BX&bq zx0ubibG6Sbo=od#XRqjYvz1g(*DbgV$tE)7BF>!OYI8y}jd@ribc3FmPV7T}QQZU;Xl@ zzyHlcoX1Cwjrk0p{K)#0d;g4` zaWSVGUVT2FJ^F=jE+1LdAS^5T>8+^KW?nzwyqe0(~UlK>QzZ@L*zpV3^Z zod@b$6pGGDMWz5i0!Og`$@=IM2cJ8!EUJ!(okC?eKvY;5ZalO99Au)>tetpn_3Zfd zH@@xmdk*ZJyWwRoJ@M4xXTEoj{L6#myGvt6aG{4cTqR$+_uLomhlmV)n;Kq^3JAmU z3cv5?!PvOxXuM-@{PLZ2_dz0s27$8IFdxE50B*e6{@QC_)Pr;;;>HW+XXiL-&ZT8i z3l`Lb>6&mfR7F)|ZBzyZUzVZ~7`&DDUv3^g3rz->yhh>>BItV0x*<}42wafW0Oa8M zZLqcGe|j|RZ&dsC1uw7b2bZ6-ThA>Ie&rSATb8c>;t%%b^EdE0x90tK@0#BC;ON_T z$9wlT;|_uX0E1cp2A~*ef6!wy`1W(KXVs2mG(NOHhTxeaL;#O{1rsBy84Q5xrW>R2 zWjTy3gh?ZTB|-|CI2gv~eMt(S;I$_lA+o3yWl?x&Ih>hNA}h@6#|Z!ht7c#$XHXU9 z6jc#I;9dfxg(r2#dn@>3^Q0c7IgwKRM2;_9fpxp(H`omanXbo!7j z%G2jY9#1vo7Z$dC;zRGf{Hm=#bKUN3-aWfKOvic?J(C(!_xp8`uX@#M4<8Vo?)%_7 zuXxXUfA4Ak*MIz}`@i{(@Bd)WT@Uf8+dlo}8!mOH{oZ?jc*l{0_dfaT6An&oS=_GW zg(~EXBLrlx1rBnj0oZKJb|RQcTSrNS3^;F_r!D|_%$zo`3MNGG+&9~yWjla2uF0f9 zX9};mu~oI4OC>u)w#i`EhM759V*v$Xl{>IDT4z&ROq{IpnyZHtN3)c6U>V|ATw#Jg zW!G{BWJeJWD&*`6ntq9^2nkFw(#yC7yQ%N`;KqerRO_3>bA4-Z5Hxv$7BeR6DFY5V z(xPPm03ZNKL_t(?5;D4y48@);707ql6o3;u>xt%qQUZs*lopE4KwqR`Jz7*{jMT3j z=dy;nvm#jlBxe_G3!tcI90>*mwUB9s?7Ytkx!i`LuFM*z9CHS+*hw~3c|yT)wnn@` za!$PLFa+5kW9f{maF z$Yw-B%9sEP0%1EQt`q^X0YX3oAeJuE8AtP+6A}<{R?Y$h4s%jFPUfi38zZ!xc6CXO zv89M%H+I>xLP9J`Ow~jo`%NKpzjC$darU#eV`!l?Xmga#cV%Y=l&b(rE(^}oAVH4N zWE>RMi85=heSg;UvuVpZ=eSVNhKQ3kWLt|(l9Ca-GLE(|M!bm0wI_l;ASY-Evn7Dy zc;;lJU>XwxbdW3Rq^q*FN?s}TooyFmMogdpRoSZ$0{3QJ7!GsgNR_14Xg4fs0ktha zIztwUD7FN#O0y1J#*k(nXevypm0fe#E7H76mG66d)_SZg zD#)~%+M@0c$~Zr>=f*!=IP^zv*wFIx}=_*KvZ!e{%YsN8*8V3IGP}n_s$g%Ztko zy>9ZOXO=hg(?k1s={)Bz?Rs?MgI_;*|MKvL3ziO_Su-`aKY2dw=n&JOAkOm%jHk_pk6rfBvoKojtO7!+GZ(dUSu8 zd(E^FW&x1ECyz!B&C2PAyd9655H)~Hta5kP@qU2%=PUY7y@%vpEWaJV zRqnUmu=|0>S2tAlB^S?2zg%1Mz^I@RR7gctK!vr7aZ;G6u`Gk;)T$^Y3Z9IpfHkI6 z$Ycyf1?k4VvV$HO9!^Kg000`mnxxTzPY@NvfB}F6al@uzn+nAEZ;c+J5&RIGff$p5 zu>cC5N+>|o093%im)2B0sa0B**%bJvl_2Xg(w2TufyTH#>{)>biKZb4>N7{^b=SV~ zw?2CFZ@%~EzPoa;eQtk$*Zj)rtST3O`xk!ag%{gnr&v&z+m)AJy7`u$y=J)embYGg z^DV!6+1LKhos<3h|MZXlk*IjYLzx*KHfBV;8a>WkX+2Z&}LMm#&Lb%hGhTe~yb!<0qY!Na5J6SF^ zxDGRjiV-!=#o7@%95sEe)j2kkz_oLkl8wa_=8Hkj(_v@3++Z<~vN*2`jAh7;I_YPp zIZlgqBbZ^k(3&vFrLW49kmo^XHELOG7Q=QJU5F-bGgc&XDM`>M`LZ;u4B;5my}Gt7 zXRydpR=qsQg6?cdbx}Bj7&S)W&QMQ1T8kJ9f70v1D0lOWS`{GCP^|?*!p!5+^pYvj z_InCtF|XMdjub6nfz$<=T4xBXCCP08o=qMq8598a0E&gNm^xd}ro*ymQP5At6`;RR%^S!klx?0GP8S2f2qC6xgWE)MAFL zJ+umoP_!xTAnLNR1lP_=u)#@YKQXE^#pr@+D{`d3c}bHJ@|2=hYayN8SPw{CD>=`` zWO`^YD9i-(3RwyqdS5Z9Jb7P04PN6D`T#W09k;>Xwrd(5w z>iQW#I|mgMD!J`(Q5zj8iWkrvF>mHvi3OG%!oZegkGf_8v9NX3DXekqy$U29{=lJA=~>3RSY; z(6Inl3r3#PEM05s(pTOTE~{=Ya%-#&H%y&O{=!wDSJWC^;H!ryi z?)~0>dHmencYpV27%3wQ0RVZhk-+pFL>H&kD9kRn;Wp7Ypge#MFh&Dv)&nE}hR8g>p`_ALH?Sv;=%GjkxmRvXr}LTfH|5`X)%?{va_4 zl`Yt%Ze`?&fYFeZUImpk3F3@}6`1S7lC!{Dn(-NVetBuU_rL}~jV)BudLC5ObkhJ) z0Td!Y0ZGAtsRxUxYheBVAq%8pL8j`Jdz;jF>+2yWk!ke&Zv+6p{kp5$a}xmtO9i5@ zmkb63+Z$Y-V++Ivs?A$o`xk%o@2-FCW!+l2eD1&A@zs0AYY3g~+c01FU-{)%IX5h4 zD%$j=JlVlyh8JFVy1zO5bm1$ndnIkWbdi_m&R@Of-bZMw-aKFTE}5GZ(evR$8(Bid(UxNUlu?j;kb{&T;}NdRdG@Du(miVl>8qZ6n5_r!rxV z<1!_kvOv$&W#o~o`$AUWY&kPgTnehQ9{SaRHQkI`m=S`p4s4O~q*o3-qSP*HYOs->Jk2|PfCoC*NvynbFa0HT^RW{W0c2F=D$ zwhS$rL)dK;V6Yik8t9x>TCS=&Xw6)ss*E){Vdm8N+|RIJkwi@Z+Te`LsA{)MxyBis z%e5^GI>6TD9`eQkriuEhUQTc>Yp-BdKj?6vWy~5eFSfGKaI#pm*i^YUn=)Atf5_+Q zl!t+&M1wAuU2F)wIo77A(6^Dh)<8X+b)%X!s{=1(wL%bE^2VBh&od=#FlUEq3YKiG zQ3hPXqUhts93j}I@Z6(@hOB16hEM}KfU}FomwowWn zr#0kESv@37o7LFbp-mIC%qF`+oM9C|l995RO^{X75T9gltE-pA5C zkDY8g+P91iYlngqS8 zH|d#Ga@M0G!-KkFaSz?kd-l=8$3aoa5Q0Xqh9f9!x%Tou`@riz|BbILy{u~YrMMQY zLSnt~+WyL^X)Zh{Ls8xO8}B-MXs;{l7-ER*0R*g3HDJkVz^GQf^PM{(hMU$7|IfR| zhn{M}I6y(xx)cIf5+cuR5qg`peB>jqe|+!0-+JHZCl7VM{wx3fqWbDh7hd^>TQB;= z@4fZR+5JyFbD}{O7mLLq&O+gUj3rQKbWPL;tC=)W?6kuvOeeXlVo*;6G49;WqgDUt z-urxC4~?JttB?M3*P*4IW^u$esseSO%7yU;6%;CkNG=2gjYcDsP6~@D@__DsG~WJ< zodPup2!R1qLlSG|+&vG>o;)&2QwCO9p8)_#)s*Tiu`gsg1~8LpNX!x=0)XEn%?JQM zaAPUBNt4hGMj(4{Zm5oz&u-ZY0(4&D;yY{$$;O?_$)W~iMinen^->o{&s&;RYhNx_x^o-%=Ex6X!!T`wD1cMLu#S|A z9PM~z+B87qsrbu}{gJu&MaQ0aTyyp6cWpj=HtJNsu~uiy+0z$Z`?9(E)VF@J`SyR< zf8~YrslWW&TW)&8MFWQ!Wa>65q&pg=NbB^zO$WBi;oF)%GbND;o{o22LjW64=amxkcbOKV9Qy~Jz+5)pGhr|U5ChN;0;4T%eyTG}LO@(pTv;n7 zMQ~6VlNDWGQrC4d?`6C^gF>|F`nfhXhi>BR0uH+z+A>>HP}G7Q`d-he&%MqYLTeHw zMBg=rdIwDydRJ0aNDP?4S#d=UsMbSb6 z^y`eturs8sBD!WXfixIQuE8Hmxd5`HIm&`X$*Hs+GR}81Elo%m(e?^a%G}2)!a=Zu zp&tN{a_(}jT%n+>#}WE~4)Z#c1lHknga$HX9A}eFcCaqP0wAIJ`nu-jC$W~3!i<4k{*<`L!ClnVvr)CIlvlBHwCp4uM znzl1WtL30f79?Y=M~2HBxxmrUKcuIaBnZ=|(kfM{6K8 zhH`+Ca9|RH!wNQaoem1C7|^q|R0Ew$7|njjqNVduq6H%*(18HS`?;7#VoJ))DC!~6 zDbCR-fJu{Po(fxGnwpa3xYZdzi3&h@RKWUTC^h#BfW9fnS(7RBq95RBxhMUYntsIv zVhZV!%P)EMpT2qSr8k|oFfO;h{XOM|uRS}ztB}=As$J)-FQ_RO@4D_{|H)q~Usl*} zd`<4(tH)V4UPN!&T7K`D#K~Avb86zCVAc=*ZhgUv%J;t;V{|7^V1IGgOd3`oqhxGS zFlxc-c)a>A|9V?Uu(VKI@yfxGC#H;rVSe^_%%%XVfCO#x%p*^PQB#yrgR6RdC|osM znqM5oZpulS031iuq4QHMkB%ZZ2h0%^nMDZ*yd$WTsse2D(4G5~=k`8bUjEXXe(u)m zF1Y0UH~!2eEGz%xAOG$>Kl^{*`S91<*%Uh>C%pu&C@y{9rj@5t6!3`vAQ~=gfisQ< zObOmQ1H5?QQZovj$KU#JdB-eD5ME20k6AnA~0$3f<--*LU_Kb1Ze$|M4(!EYlhk| z7q-Hf<)^a&AQtmI6_C(?wLrK~6c_K%vtw9mLH#_3WK?_JTLqr5BECD$JC@54A z#adq!{ehb_A9{QFs*87SddbEk2Qf@%xo_TeaYdW0_WG}S)xz1>9XpesSk(i|8k^Xz zjKe9Jj$2_!3IOVRN;Ls8H;t*BDaeq8ageBoz{(<_TgD}UbP%yJBqb@g{Wsj_<3 zPrIqFe28omChhdH^YzfN=yFnfYe)S7wc{`@??8+e%BV5A8Ib3&ArjcjaD^G z*#|Yu!YY=aM`EleJ5>fIPaF%{^Yo*C_0dng<2^S&Tde-*ANOcy*MVd}usFEjWjDO= z@bbcIUbOA%H(&qlJ5Sv7qMbNgxb=oz=U;Numh*Q)^lA2)8o7Dd}7;Hw`JpX<*=Aeo1OF4Z+qm}vC|vu*66DaCJAeRaR&nllM4Ft z#UNHH2I|6A23iLO9Fh(uJ2eOK9Ti*_c@mW5xdu!)w^~<=>_xC;W2xgzqa1tS%4Eic z@nB5DtHYuW3R4&TplDK8WMGLxh1B5blFGC*VzwwV7foxFJQd{1S!>NeDaF2=XUiBl zVlH!KjG*C2mTTP34yo+06EfLmCu%WG#Vq7x3MCKNx^7NuFr~wWtuG*xNVEviR)z&3 z+SZ@|QJ27AicCsU)H$QGoo#WJdB9nytTQlkvR0glfwiBF1@3IBj4z$h*p$X~Al7fe z9GxvPHcC{wLNNoVNn5i41CYrmWLkee00P9jzo3+QLvf1+**{RoH->RLoAS+BxF@UjF1T= zWs*n;RW`;JwKrX9#A!*iP&kzww9BKyyC^BPLj9borBY`Ri)0u%1z}~$(RmA5IkDKH zDtru4a_DlKV=100EWqZ>1(iUSoxqHhJd!9UMJvH{)r@TE8_hn28v7G{*7YWBuI60b z@ziLBQo=;4`fw+~5H_7jfdPvcnw&?e+b+gd3CQFM+#pXo+3dAi#W0U^CR=OBgO8be zVM)y#VcRO|+|wjBr_yI6*eF@0NHw97;^I**99w%D5S zY&JJHjJSU#UizXdmhwa>Pt#>r{^l>e<-+_ocRr9@JFjLGudjE2w48>ga_77CY_sK)|%gQo-?J<~NX#VOw!*{%~{O8-7-u!S= zzg*c^n;_A|a25Em#%V07-Ur`IcRZ;p`@>*MKduEs8rAKZf4PyB(8Q%Jn+l6-E#GqU z@WA15GYPpFYi>4OG(SGpKm;Y0En8b0K+t$f&!2=0CwQ1R3=tK^CiRpV8L3j7KVex*tSUk0(%7^n=BXw zAT_FS3f`1NtXK%gpYjK!tP5?TSyygY2R*&^JUc$8`xQ8s+6Dlv<_q0wKJb=e*Vd(7 zFLc*kYu9*j9LQ!?qn3NX%1Ppww~yoKU!gaN$a<#6Gpeem<&dF<3%ZlRy-&F{Z5 zK67n3dLk|Mi`~1cZJYaRv$C1S-r`Ghvn&vc!h&V(RDmE{m}qQb&}hJjf~Xn~wg&6x zI_;LW^k=r8nz30w94HhOMVgvS z@L zo&j)gxaHOFeCgi1_gs7B#b;LH*5cgT-}-97evaL07k1XVs_I?h7E=X57iAjjYS@~G z_dR-M=kET$Jaq8ljsA(FrzWS{Q{ujVWOU00cm2z^{p}B^88^?YooOP)ru*P!U1M+_ozvc2v>YS*kb_^+_}qCkerL3xHXJ3dCWH%cE+c7etAn z$6e?^tid!ur#`n>moVF!N+u5AxK~@US+n8{yz^1TW93NJX8RRf)q~6mCif8l?Q)J4 zP)?ks!&uU`GjVER*f%*?EY%Z>7%DqxjkUlDOUsR=K3dd4;W|<~o)ttR$u&`HAe(?_ znPw=a;mDB}&B8c#nX-Upj@FbGv138An0+gqmflH$F4<08ZD{~uhM@$=P-R1?5;F%| zTIASC1W!hktl`#|jATUwvqP|%lA#iE2Jqy8#HtYxBy#H(t{9GkYZ zidmgE!jMBj@nIXpz ztf?YI!YzY1a205mIzxku&_b`QL>F@F);ir_I_No8umv`nT`GMc0dP>jOvNRI%&GFw zX6ur-%^GBza|9%(GiWU{c0zH7bXeQG3X)CaIO~A}C=$e~&^kMVPxwy?#*Qeat}D4zDpE0ATEvn~SQ9(kFgbVIolk%EOP@Poum8{+-qLH1AKTI|^BFrS z;82@Cd~N#Ty|Wl0us(c@_dKi*vbp}2dad$b_`q;!E!=i*_~360uid_U*Pd{8#lHEa z_T#@lIknNe@(TI2_snnEzqaRSYa;s-1d&8JHSwPNd31z%|z`}ZPf1`1|R$g<2@p2Oh4A>A`Ftz{dZT5WR-8<=$ z-TLg_?zv}!1Qv~kC@S~}UmwfnAIvybh2_{)2b>thG@ zP{E|&EfCQb0*fFBoWbr`>W)u<6hMvDO)mp81;<1g41*H%$TDgLuPs!$;z0d zkSP-pXNPXi2^oJNLhi-Iragc6(ynIHmp=WwUwq=Zr(!$#nHLu4F6l0O6yN`5+H+Q~ zU4p@I@yPxV#}n3ccwceNfiU^65}svptMnzUWT3iItKmA(hF zDNsrP4yvNp0vpv}qXq?8@Gw&c83xnT&D3Y#)of1G6gnOh)@jF*jr2SaDsb{@5W^_d z3l~71r7rghG>&sZ>n^BW4muHAf$gO(XWHy+rGR~>XtGm-!TMDce#|u}u=qjQBGKW@uQPphpBvF;)pu?0+*Je{f z*QLbZ3OP-(ChCErf{-YJ#GZ*T-?NB0qgq>&MVpCyVNK#J)*DibRzW;cCPGpJSpd;N zErOwY!Kqo4$P1%^j&3FREVSxqDNr;LI03ZNK zL_t)WF^@R)vtgPN)?JR-N)btvqq8OtQgSor7tG9+KD#7}$O&{abU-)?9X3>X!>Mbj zkgkv(6DBo%*J*^1rHnH58|Eo7;ZU+*E1Py~JUKmjs1c&?}W&-RDg>^J`O6aRR4^6KlZx%Ks1K6~cWvCX~d`>v#$E}iXrvU~7&_mz9Y zxhWe~L&Q_-%4++y?$*ul_6xQiz5DDRf3q2n_>zn3|M^8;TY=EgR~~8F`D%Q$d*#jb zl}Z28HydUJU5A0OFn9|v=#}#|Pp1Tm3<9utu^*dt-)h3MXwppl3{N&M%Z=Ud>2ubfvMCwHbF`5z2~l9{&#QPv~b@TF1zZ| z>x<;KZMozufA{mBzw`fk+Z(_7uY0x*@w4x|=*XE;K~==7y$)EAaM13n2tfCAtMZzoDT~?M>up^X)rday~w?z2k*TVFNe9cRr{eY zPQUqJ{llke`SHY)xuinSJ*-rD};5nUod2L%-hfX`(kU|{bX-Gy%q{p_qHCmbKmFo-S@4}ec{p3nKRMHUwwhO{x$vkZX?^L?+0(z+Ik!oX?EjH8y`5d zS(~%dq|dbDsWEx`JWN(^d4u`tJ@G?VrMKM#FTSLDSh%iq1@;V-}O##`G}!Mu~YOtpi;ay;oILFrPSSsnT0#G%z-5u`WnaxR!mIIkmt z+)@g$gtAxpiqc3NotI%`iVCHxN>Yh4Ew+iDTJ+io;kK+3Xc{k7$FnMx&gNW~ZnkWT zJ}@BV7}YT)JVQ!0FqC9gW2m^WWQJ66PPRx9I?g^83bk|AlIudU#;H*g8!n+_r_9D0 zbz(Y3=kr>ZygBDhkxFDnCuycw(-J$#g#!cuBxKFjpm5yioCPb2Y~!HJ5HqIISIWs` zgSND25VCfaHCf9H$80t5DOb?fuCthOEWxd(7|9y)Zjj8gF=eCuj6w*B*;vY;k`*DZ zo8Sy)L=;t2K!Z7Fgls)&YB8ZAY(uQ zH9KR(bDlsl8FFB-juVNf%`m4jqXIM*DKGWiEQBV;UYRy`x$zD?KxjfMSoWo&oH`JZ zP8a9=wCSWMDN~wtf*~hd#k{Jn#6+3$TJok8ZUbuOT=pqVl~@P4o^!cMgjTbclBL!{ zW2bYLvyv#2TPmPxVpju-SgBT0LL%qL_dC_1kESdowq5Q_UNqV=HlmuV!dIfw=1j9W zl)5U^)~1Rkb;0VYnm8~#ZL!NGIp@NxtqfI- zE4@oK$Fzu*LC$4=_QU)B{GmO1E?jl(!VbH0_l;Y2oLd`5b{l(}f?GO1xqYznz@EE4 z{rTIzM(x$l98Yh5*E?=~>5<#Mf9cy_{LH8CYhH6c{Py3EA3nyeyz<)JkiszJNTztv zi-&*w>*Za0XM3LtH}n?&BJQ+ja*tf;7A5Vs+)#&)0FUCLpQa%?jhF}0h z!H^YFVGve>NLp-J+A*F^1oYeyP8fL%A+jN_u7O%GkSKd*VE}J|xwcjn1k|vCCosS^ z7F?xS5LOSGH3GRN1Opa&QJFO86xY6c$M;T;+Z}T+)P*~~^UXWs)y*?| z_~uu>vy>kf(^Grb{15N$o|^hY`=%*IVMqWKmA<+(@KFiTu!g|KP%Oa^lmy&LoU{=* zg?RGl>g3eQo~ItV@BZ(Mn_v+Nv{$@vsau@}jH})FTL{aNB${UY~y`3IGIFA(7!)<5Y;(Cy-{A z&;Wpt@d}r0fZX#ZC*5c=Uq$|fH!VK#Om{Z*&YhB9xc+?~{O+0Y^vIw8r~a$Yt53|w zcWv+QIax29JoA;Wj&wFIjxk zMfoq@vwQRA!To2?HICP{I<10US_Re?? zUKdYnc+neiVYB}3)%Hk97Y@spY{n|P8gHC(QgxPHC#=%BvS2K%v!xiDz~ZoQG!h-6%hWd*Rb5Y0FwUY$C<7=s zOzNUAof;!Pf%PnrgAqzbT5tWa4zfpZK$)!ft)v19q%LNxoikBqU>6oz#G#4_nM(jD z%D(30N-bOoYy=ytTP>DAZvDE5m=zGw35zkPpoA#QifF+i5^5%IL)V#4e*6>Q2^7g@ z6h&i%*E``j({Y;@vH{GZikSfH8RcHi0H}}^K{8~(oZTTx8;~-PB{NWA&PaB~a!B%G z$1#{0m}8VSlIOrDik+n*gy`ye0JA9$Dp*iACMeW|07#%h-8P@|Zpf#qDn=bXN z@A8PW7oqz9xO&ep$*$_&d+oKuNmbR=)jd6}Nt&b?%_wIHC6rM@LLhb;1s7-w!SBeV_MysxNh( z^Wi+tK5MQ2`u$386SBEiaZFN|MZmm6CLnOydChF(0$=hIMo?e?T;WMM-tD$3jwcc* z6r2P^LOPXkCzYv%j4~FgNYun40V0Q@NBY!yp>t;hFAE5j2)J>ofJ!YnE+z9&aO$D? z3)Y;w;jFV3uMkgt>+k-f8PA?~`fX$;r})WbtIug1`Qd|~_{oJAef;oCul)WUC+}V7 zHumrM##ihupZmZITYj~s*T1^e9+|b;kaQE7O>^ONTSE*#_?Y;c$C}f_{K_+H*KMrT z-*n2A>n6AD11e!b;Le;CmdMi5_f&uTbISWkPv_2(0{{f~JB|!gRg}=jZoBWc-y3}5 ziQSF}tZ;>0fRVZgTo+7MI1q~7*n;N>L4ef(sMLTVLZ}Ee6$lQfW&=uCBhV>13O2A@ z69}PXf4zT2md@O8^M`ddH!(Rq-pac}qerSETc7A6)W7_ve|yo2>qlw$`#*Z-<=4x; zTfXmCK0a}zY_|(lZ@5BpqX7ENBTz(83V|d?>A(XBhqPh^SYan; zg8F&^1H@VdcdTgHnz7KYVnm-JCf#s(HHrsS>Q8 z^RD{Xp%z)}Uw0Gh&gSVnEY!hB3oc9}w5mwZ{l(l2EW9EApGztA<-ho=Yu|I)!#~<0 z$Qo2Y$Rpr2C=7724k-wAJw~VnKyj8fIVwX7Nnj2Dmn^BCDpvmOj;)!t*S@)Dt{Jtn z;>7ke%`ymk$(n`fExZBCR9pZ=;Tvm|Li{c<3yBcXIfMCFH;}cS#^Agb+jl*FY~PDl z-4Hyo<7dzQhbWzy0RBk36&K)pD%gN9lNl#t%>THG;2x{vLhK&t7|Z{4J7p zR9F1xcaLw|SG;yO^_}6bzQ599z0W;;d}!3n%$TI6tW+y1?B74t_o1t!WtXhozB9k? zs!x|2Kl@LI?GIjP{$_jEuM-nTx8)AOw`a)n!JeXGAu zpkU<4aE}Ff5K+?3NC%;3-3X9z)Vf3=0F89O<4SBpjWz*i(HN#gQ0b#GbFv#ikIcG- zwx(PXu(Yscy(c0Ycign}l@f}YUhC^^ks+%XkW$!g5hOI*7QH2=taN#5^1e7|6+%@e zk(ezosm38kkU=Ccl%;?P6pD+W)LjWZKvr@J(L*@G^Bx}nFs{Xzw}F*l!AIW8z#}<8 zi7fG@3^)}ouPWhf=p%}S%yg9rV2X?(j^3KWxxSv5dq>{#+$!#zM1Bjy2p6_7Y^hMa-0o`6~KlDXI-Szic9 zOR=9!KSwJ~1aJy@?}$7?1yAij>d_mAJOWqbQgDOqj1P(KKoC)mWob!jK_PfG=Gd5T z)(ZLnzyV7wdY}ZoWnTLUPR5qX2gI__d*;DJaZIJ=id#)#T!M+ylDi`GtX8GcvMiz= z3cW5ig(Jx&^DML$CGY6om?zrh$Vo|Uv~rxZcU1Oz$EwpypxevG89_1eGxb< zF@y>&gEy@a|=)v{Cw3!!)eRtg|Ih{aN* zX6dC%+7oT)f`)}Mp%{2K%5>TL0fzvT3 zPU^0U2H&%hUK*;s_eQ^etngGb-9l?}N0nQ z1_FiTEUXyNv&37uI`>ja4zAp}tLsL~iDrIiPji`v!&y;^TDPmf$?+!JI}yLWdkzAm zwZYsdJu)N44mCGkUHj*!?Cj8lHR zyOVabt0@k3n|1ZXtX5Ez;OARebJ$r@0yH341c89W1yAAu-R?MD0Duzkf10jJgkch$ zzG&xnzxMo0yNr@0-jrW9&lNoVFbQXB*e$}Rw?h5a|HbG|## zrKsRq_MQ@rj+N4~#DmjU(sz%z%^HV;s(dtW96CuM_@G2xBK^(^}~k}#cZJzw7nJDTN#C130vgSGtYo~ z?tz!F>a!-3ewibPl7vVz7J!hz!Gi~nfIt>FBA|DkH~<%%9022tq3296PmVZ42aJK^ z4?gf0=zBc?foC2NI1m9B-V>lF@C*pS14smKfRF+6K%Oyfkt9z&aC>Q@p3`PAFjnlgi{AQ3&2*N29Qi zWrR`$-sYM00YfJQAGgpBbwvbB+OUhfqDU7~_KtYsl5vE<@FUy_!pC6D5+7ALuh}R_JcC7ASmc-}Y@4!VMrIWudpo}4tq!5)thNlDv)1@Dz}TUd zf%QCWX$H=P4uLVzFZzCD%)~{PylXk_`OZ(DTYvV7bnKtL^p|^S{eA!Vk?VKtoA`sX zx6K`#`Sv3}**)^p9W$-`_>Rs-dtU9{C%0Yv>ga2Ke@}ewdj6Xk^Vjc*_U&}EEM9iO z`Pt;6xyh*)XZsFMy7yjOf9g=dWdIg95kxR>)`0Jd!CM+L`!W$EP*MRlIV+%vq5yJE zI|_vWeoj;l+eep6wGO!{^;%c5hFqs4SK0s+()aPL|GS4#)u@Qb0&RgDa9-u4zoSR7>kX z&_BFC0t_Dh+2AdgzNHiT$&+IWkOM8bQs_B*MqK;X4_D3}G~aw$mx#o~QkC3$O}uy5 zdIx9US9@Q_fA9u%c%@H|GaVvAasSoT@hOUHjjw#5`{e6$=PYMSsQc^JtO>$mI&}mb zi32&i&}^n45_jF*xaEpQcb@+8-D1bA>vV|>cWJTEeO+M47eW;tvND1Wopn+0+ADmY zo7Y8@qMf;V;L0GpcnaKkP2)Z9T-3jjzjm}ux7QGT4u1nGz!Y*Ai%orc0d;# zg$4w$ipU`XAOwng_PccJ|2-oCfFo2-cWQnsfO93np7|6_zeOYkj%=U1oM{E}z`C zYi#>#ow=r?k|7VW*$La$1OZr)7EJM~wHc8m9)9S;cijE?_io;Lq<=#rn`+6p_XC%| z`KCX4|C2x8{M1gjkt~qZ4rpXm0Fn) z1+yxvM1A$>bQftOw1`Xubq8e_3j&DcGKUtKC!gmeh#Vq!7(`H!q0j{hLpim*R~V8` zeK;U=&amxRh{E<1ep*Jdo0dX=BVYA286GfhoLj3YS2xE8H*{FlM4q81jKl zKsalJigcE_fU`nlB@~j1c3P2vi#%H9kc3brs>oBB6#Y_>cOl4mV|zHJ-u6`!ro3>F zgX_iIc}b4zgf&u)9=&9wP;%u7k(oe;M+Ni==}VRdf-|8UKg=kQB6ikrCOrdA;E`EB zhb;EQ0GUS*-f>`v!oWC#$bpR_r2#CGEH9lP zM-Zs8TZVFg*~FF9Uz4+4FIY}AD6sB98r#`99@T$hIRSuZ^5qEi&Xc;uPKL|Uy_ z19+$@*B(pTtC>Z^6f(^O3Tr7OT{79pY`ZEO{i+&O%Sr9Lvk1i$J0en+7t9G(bumXP zDDZ)S(t9Qx43kG;Bc}+BUgU$8D-Z+)83Ucm!fQcA1FKPRpz+sV_^VAvpV@bG+(&Nn zp4VP{YWRy^`Ge-qzdE|Oyr%f-aF(y>jji;X4|Lmx`Uj%VuI-)MJ=D1M`p$@be9!T% zJKlTasTY0!(d})Ie|}HAW}Q#b>6Udgndw zyz`FVZ2pOv-1z$+zq3DF`;|ZZl31-qXLb}-SF<=2o4c>6fAvgeZQG1h^I6V)HU zDUz}xtk-W?um1SD`XMyOj%PimGXAvixO5*mQy!UbZ+KTM}%S1e!t-LDu{J%9v=QShj zy_*bF-5fXpUAqSz1#Lzj}GT|T|BTmtUWZLPjuQ7&Gz`-V%Jf2 zs8bBJtWJ@-nax?+);0wSBNf)c84Q6oCV`1fwh%5|peusW+7NL75MT&sVLT|1i>NO9 zyd6lh@gT4Yxo7Ju^HIHJQk?|VRaXw)U|PO{Ps~KcOsR`(VS6$jSZQ=Y)^UKYExMyk z;bYrv)>xi;oq!NA4leO|&LwXcvYfaQ>V}&>JT!aE**BgP-DyZ*q-N3OcLHa$}jF1utfn&z@B>};!Z+F-c)n)bnM^G;KzoAH7)k|E7f(jqwR z)V00W-P0L9u=QZtHcX*2BFg6Y^KxnR~S z&(W5)8yW!JqY@OX;@wc`GnLnPh*m1j3Kg;@cp3YmlM4t13tH{~D+0$jCr$-fnP(=8 zyefmzTFs@?^8v)E_dVW~+;y$wj)>4&L7_}gM39zFI8l0(D2*t1ft^J`uLQ%<`#`81 zWP+S0XrTrjD+6l`W1&T^m_?4-S}e5*dSX@vR&+z@OM@ZgMag3s0CCAuk0CL^6~rV3 zxzYxK6g=b>6e|HEL9X;R&lzgcrj*s%NU4QJPlAVxd?ip|Jw~NGR%aE?d{#Opg;U@d z#ms;i@S5U8gv>aJlnT!M0)memSyWTqI1UlQP2CPr`tc#MHGUUQzxsW~p03ZNKL_t&_LSQP!=+Z?M zjSfkn04+tq7?EMt8&pJIht^8rBHslj9APy!R0bEu=Iw3W6K7C!g*(?{q0zHKi( zaU}lLmZd!_R*C8-FRh=RM~8lY;E%Vh_&wQq=%+7kX-({pPQUbuJIsxz{o0X4`9K`4QfPf3GbbMc2=^WgaKBrdR=|FghR8;w0Lb*^5i@nAJ%_{?{wYA`m6=M4^ZE0=8yh z?Ll%8%SQiv^Q9xKry)LmUS;tBy!_)Cox;T%8kO3rXLlU`>65LW?xX!9R9MY9VO*$2 z5UlI9bLDNf)K?`Zx1A_o-qqwq^DA$w-F7C73}-KI&kr05TV-gSUvXB@8P&Ya-gByG}S*4K(=`Ua7e$fWaNHUC}XmW#N^W*lKl zV;~z>UVK-hev`H}*YOm(GD`u81Ko4m_zOGRE_>sTNkq_}WOEr1)7T! zK!v-h$PNj}bW_{3EF4Eec5-a!_|ADp22cV3C+i4-fD3ur8DCg({=rUb_}nWm-Tm8x zlw|<*p|}2hU6WK67M^VM~s;u z4}D}fF@d3G-ZS7X;pmy1A( z*n&?~WWgYCWWo#Qo$w5VK=eqsfX{INz#w4EleJ7B5HJK3%s7j{_=68T$OO336EKgA zd8WxRHA1=qoPl#506jxqvyM1JhTc11h+Lv439bUnGuCw=1tppnNRq6x1fCUM5ch_8 z;Soe;x|r#5SV5g3;~<$dd71YD%X!Gd01E>FqDfm~x{`#xn{`msh3Fa(d0=_gwpyu* z2y*m5F$)UK9Y(d%DBn&y(hHCY3#jT{k;ew1L>qW7uE;JnejGa$aN-+XF_=Exd6U!* z>dWWl)SltK=Bekt@`E404ujlHndbD!?nCW!f{jlc9Qn;bH!&06`SAzusK7UVzJ2p< z0;V`m8(j8*YfYoRIG^q9WYfowwxzefJ#5Zg6I`^&-gr&?)kpHJN6O)5 zn3bt6i8-BS)W3-R(apX8{9kiZsD>wigI-l@$k;03r=7cbFuCn2xc-!NKizg>|KVa{ zZ+nLEFaOxCJq49B7R>kema%W28ZUXv&2Hc8#bsxvBeU6)o2L6$*Z%N&EDD&~2FRDU zX2urx_j9GLJh%T(zI@#;9(}pCs9(>PMbm16+CY!Lu)>R&XBpMh>T?x8Q+j|eontyW z{=w6uqho?Ne(pB4w^{t>rrD7ulD0tP0>KJl2%0Q;bJbZ%wcl@kvh|sFrVsDS^ZAirE z%-8^|3^#P$Rl6 ze{y#ET^s4et|+>qTrfQU|1S|&@sjgu|2eZ|#x+;(Sm z`Kfz0?`{liD2n!`t#eM(|G7!2$+U|%Zi5J5IS4`kE+SENN4WLk-qno{-Bn4~FP)kQ zeXG#iaKpI_IF*5vYH*3qI;Wm9*q)lp)2&1M#%B+YkMG~3(?TzVi()y^IyyCX^5qHp z+H>DJ+UdwN({(enpHCfs#YmEffP_pCD5b>xcYpFt*IzVra_D29xNUBH=8Ut~L$|4< z%R5FGhOx)FO8Awcu7TvTa}C>iIBds!@(aY@K^kcGBN#wkt^I7hIwY5gplBRV@IzfT0B*01!CIm}edcy(0qa z0U0vp0W2_yh$x6O2S(O|V90=f@qsUZUx-w54j#aJi=29a6Cij;j4$ko07oJKPXGcq zFwamh>p=r>MhLuX@JN8YUIUZPnUYy$KpG39R4H#)^q;l5=wWzLcx*)z~ z*-Zzp_-J_ee{DU+Z++V*md<@=*Rkg&snUwmvuPm3z2$;O)6{Ij#QrI!!(mb%OauITyFr9t8J7e(U?^?fmo2acc&7;C%_>Z2R{S*NdjW~zDjg_X+|=`m@)_@5)K z!i>z>O$RKiWH+Ce%^xdO-hch=UpX?>aP2c%{w}&)E_b6(Z)sh<#=O>|*&$6l(*>ze zKwD>B+v&j1o=w{Y5s|FuAPB$qhpK_ubBFlxtoxG}*`^~VT9&@LIg~s+VS?9>W&iU} z8_(?*-}+Tku&{t)K8aS|^`v^LzEvd#jx$OS{FVuB@~s!l48C3YYWUQwF+V z)AaRYV=p}WN;9LN*5(#uOrjbo3& z;qJjFcI=zE;Pm<9Q*CaE130ALVT}H-ibNqffTY^9Vj%e7t>OK5#&5g0vUm`$Ilt3s z!5xeBK6drwi37$^a8XzZRNken0OK-^mp^-Gt% z>CZlW?}jxu-FD-pl~n_*%Wk>$^fPa|dh$S@MnPtlDGD)2Wq0m>anJa#=f?&vJ#8Zw zZnk-pc$jHp7;$8#2)i@|K^RKS8ObC!z&Q!>3K<1_5wR9atB`mFffrf=BepbBJfv#d z&MVie>$>7r0q0hcw>%e?8HG+qkZ``LtH)JE0ffL%fB+z@$cWYf%VO_xCIzjKk(bQP zkwf1vpm2r6(s# zj8VdQ?lCUWGXMrm+LUz#07fdXaTGAgz1Bvk2&6!DGLUrxnj=G|fRz9om;~7bs~8i= zxdTGMnPZ+2XMzbpVx9vKAR>|H4?gfkK=d9-3?tPY^9$mE1)Vbhc+Vsgh7)*>K!l8W z@Zh~C=LrRPl7I!c2z@^yFI}d%LRTwn=`Bf1GdjaCQN*-KjqzSl<_uWwAq;5B%eGZ< zV5R4}V|=8v;vx^xIPaOIQmPPxE*7E-7}qp*F)&o-BmxhD0%1eP3L&HcTS_6kV0=Q! z4%!~bS+2Zs7O5IxuP^czM1ncti$I1Yab|hd^^j);cZnScRp`Suq+#i;W<*Nx+<*iQ zx#SA+l&c}DIHLr-K}Na6gpEA(((L+WXWn+nhJh8XwfC8w#lg?t|C!6rd+S-}awtq% z%d;*3O0S$ZmC|YFoUj2(V|lC~%2)U5kJK|;c(-=fCIS&9U;XsA&Ny$?)>pP& zdU4}h|8_j<5;u@#mcQY>AW;dbxY5ovW%Z)}`8U_k?%u!uWct$w>d4g*)4yY+{hd8F zV-trR@1%5G$3Oqo>~u$47Ze1pfKJEmI2Js7+`cdjhZp^5V)wzf-Lm19oAH<5|Ka{+ zFmt@JdH34!!zW2EeD;BekxZnuHGrJkD?hzr>}Z$gqFSq;U7-MN-=fC&5c|9L1$Uno zuS@cq&w+C{z{Quwhs=d9Kef-5={Cz?=E^pDU*J z&i780&u`HWeYyI=UYzS>=Um&k_NLVb_G-PLtzJOd0H~M<1PK~FM7E$*(90(wi0dXR z55C@gem1;tpwejI&!X(`t6369>o)Wbj<}+ksHGO=+(Gk?b4pLtIl)$V=A>GggZ zo%`0NXC|^)>>sEb$fYuk0o1K{Sx-8TpIUV0`t;-xDWD+Y7GVJg0dJsQ9RLt0P(kIC zEjy1r`^>KWCubgd^k=_#=#?}1YYwBNm zZ+yd>;zwW7))?Rra83}My5f}2e)=tdm9VeXO$%*Wjz`UQHncbW$cH!FdfVlkogL6> zlOLvLI(W+MrzV&F{ymqgD4Z{I28)9vR7C+{5ctT4DL1Q=&}k3dESI{$h&d+&dS&az zrB-{jNXQbq+K^`=43usX<|T9#R-uQKXWUOCuXqC`l_3xXzOS!AqAatCFm71Kjmg8# zsjOOh$gMUWPxzeWhIygM&2+JlE_Bv~u_cw&;+|4kTlSU)2&x*=jD+`4r3Te3;Bse( zc+nHbrHSK!RiKY~lL;U#BaE2?&rKj%X$e@Yf}o^4mSIUc<~Z+6L{Q|FfC~FCab&71X>3fZXvK>eAVY0?xu=;VZ(0 z6gULp6nN3ktoKZEM23t!;}m#KjDFWHWyk=ScMbuGF$Taqu-_R^36KGQ@PP-xdjt*b}Jcj_eWr92J5^qCJV6a!P%obGjp_4U1ps|}+M%7lCvM>!++{SP?NYHV=U1P_U4+D-%naORt5DP&tdJ zc#t6gN0af1BG22cFqS5Fc_I_=wgj(8S?0UG8w*ZZopH%bW~3{-7zYvUbUpb)fi>X zk|&Fj?Abs6!gpVJX=-`>&a>CvyCGWoir#s2d-I@fG;8xaS*6mGfBV1T<9Ba}MrR+{ zR%~4D$4-pD^txsSz!HEZT=+qU4*QRtxBPQI&M#gu_59PXkG0#4LC?jTzWm2mfA_JM zxLMfYwwgd2JGlH*>O8w`S0;=Tr(AZ`)t6m-Vc(gH*i$dRl2VCtBfmLTIsnc|GyAKT zvm(`ofP-*~6bc~VAi`+b`|tjfiK&Q&$;^Qt8QF<8VEL6%r*kwer4AQa708L0G$;fq7W8n;K~c%dF{%lo_QuHw^b=S z=d6%)w&?)9{k&lJWOmE)Q{H)c<(Yj<%ocCIl|A{aIsL-Q?He1fz1|TLvXWYPOu0+@ z^4U$<+(f#4=bnciex}>jbi@YUT=cQt<6CDCu+YR8Qj!Wd54hw#GWy_!eE$J|%f?FW z%I>qTr89wk@!9t2Z>=2MWlpKaMB>pj{>t}8ukXvYPR}3PpG~Lw0~ZdwWqn`R+}+Gt zzupNcvjAiPENS8<>(I!Iy>&IW74z!$nJv5Z{pV=vS-EdtlY@0&moHZj-WczzDLy97 zy5KD%J9iNf2S^G&y5H_SDW_X@Z(I8ccZc2cC(>mD@?USS?A(@ZJ~#@RAd0{i3&$jQ zAu5(UktI|B9t4W;!a6(Jec;-jyRM_7vUqJ&z4lmVfXTmq_mT_i;vb*wK3)eKB4J@WGLdWGNi z=ID$6<7?^Yv4hPYeD9n2DT{A9_q?klE?qTv*%@okzV)&{y8WZ^$t|y@@%q32%<9Kp z6gp2C7y!9! zmBrjFx6oVfFP!-(6Cb`F_KezpeT2p)T7@y3a|A$9z3{5H{O~_F-*x+&@{U8}^HPwt z#^}=*3LKrAZBN+?FIaZ{%>(Ptz4^@3E_vU*S6z8^W3I@gjZ^^O3-E<4m}fSF4(Te% z5iYo9mKWZ!!tpZjCO7E#JlZTM6(dK^dn&z4qAK^)6BuVjiDbPaUyu_D@^dAn36HS? z%okWfrZGweI%&73#`7*ZK8YMm8YCfiWlv#j5P@~1RBtS(+sTr;v>oCh7kOYbL1juZ z&Me9xYp8~k=#+8R)maOOdBB2&fe>0)$*i`d81oPiju)IWp&-*Tkiw>#mmDPm3s9EE zRRWW`M!jkY`U6%9p4)^e+Xu)PV=PANNEyZeI4NF+2##2Z){$o12`hxf4l@Ix&pl?P zW}&TUViLLM3VDx1Mn=m(28;{kI66Y`1YQsa>Cu6gz&s-Y@W_Axx2(%iqUVH6ESRwT zLMh3JF~%5w@PP*b$$KPV3p6}W9vBM7y?4k3P~?cX5Z-A-Tu99VDc}`E?!71Q$ed=5 z*@%H*h)#2x*8*8Oh&)M7Ju>KKXcZzjSAcg8glZ`GO*=UiJI;-gE1DV$I{(reoV*zi{K7Kl-aLeeOFygi}|Z)*pnj zPh!Ck(wuYK6%cewXo0m#WEP#ZuFgk(J=VYGyw<5lJ~(*v#F+yt!yP-1k9J$~;>*9X zcG2N+R>H3G;_JdQdZ(UvHJ_ZLO|R&e_G(K4EPxPi_-O%vz!E&UXQo4J=W&*jv!!kH zWX-wJ=bqo6I-LwkTTp)^amG&1j-EJL-L2QZ?S>DYdDiu}TykC>{L_)wcYp1>-+u+x+dImm~A;}?!T=1?H9!g8~kPci=Q|=cQ&T8HTTOg`o6z&XN=S_IDCZnO0TCsF2*!Z*Imrf-ganum%tvr|!N%A` zn;?ONB!q-=8qG+WtjRfcn9e8EsoJ%}+TTTs-+NQnbyKzXTI;`_r}D9@uYcg>J-s{! za4LfOl7UA2zTWs7#uJd^+Hr#Z>d9%k!WZo$tEY5nv~xht6LEnCDH5_-htoco%x)i8 zTJL@SMjD@Oz4(ecq+xajhYI)SXS;)@S}p7U^;B=+*gZi{zmjj6L7G>8=q0~v`^exGmuJHVBB_?2pPY9LtbR4_ zP4`YZ?YOs}J-cTliJ%>BiQr~Q`_?*5^pV!nyc=&+(&}F<3 z^A2vE{O^y115vtr3bPqBnFex1R2i%~Pej1cEP20V^TAD*%%!el1T)x=3;|Lpd^$1P zdEk%Rrt;3Vonsp|n8E($2XDXP(hKWvyYhllE?BKl713;y4q?VV_=Bo>@mKmZaV!PAemAOFx_Rp(pnS?0V-T*ba6w?&K3 zViBk4X5GwmyE8vZ28L?7EGK8W3|Q#RGrAoM>JnfSBvVW<)hm5GM7nU6^SVKWN|DJ@ ztoQ`_9piyOB;Ihx86?3v*D770Sd&c(Dw|QCH<`fTL+~;uOe#^#O#mZ}H%?`|RU2+f001BWNklgz}2<#QD^QpjfNo=6g%Q2QQop{R)|b;8;)wEkhv3 zP)eK#7QH7fBV#d?iYG@oO9l17@WPgy@gN*Zo6&(j(L_#;^#}%mmzkRtzOKY@PqE0l z1mc1pWLBvPBwkqbH5rAFDHPYq-VDr5WQj+mTxTHjF%C=8O1FwO_o-+}0i7AQ@Y}9oFecW*%24oUZ@71!;vjp>hk{KC=mu6t%!M7|SYy_An2GFS1k#0RDz3}8Dsyil5<;@k zsO+?Cv(BR+Y}E&cB8mdxsK+Aa3KE9-7RIEcH=r>%1m1%K&~;_RVnwXS1@rh%zXGXs99F2Df=Cle9-&_UK0PtjgHuJ6 zN1BRch?QeGCo~c81ma}QfJ7Ws6h(v0w7#S|w(jWuy(ixO_V>T<`rFRG=Eg>A&8$E3 z9dEnx&c8UVQa`%rcy3#<#QBYZ*7v^qf703slV<%WMHim6`HyQKdg`f>_uumOldaWR z+b=q)`L#QbJL4EQoCV6lyKaT!`&+NJ3eO#TRyS>^H=xIxajz2HaR`n%GPFv=-BHjpS|eBFMn@* zHc(|r$gisW_~*cztiH72XEK*NjzsvU5OSR$0L^7(5t{Yrzi&0K2l(Mby=zaxVF!CB z?Eij1J+a>Z%bsy)W7eK|bxWA(K#wMvP!q7_N-Z*Wd#^`;<*<>VU6kVsA+V^BdMguwebX2fD-5tpr)d(T0&jB4E5OR(j5(NYRZ?<#)=HmK~_Ln1D^{U;5x@MpuG8g($ zRO@NWY6dP616aC_&O>k~y<_4hKVOZJ`s8izzT%^eb+5O$l@ODRao?`as+S(P;{3Cc zzGgxYhiWGGrq#O2L&U9-=<8v?HS)>KTSYEoOr$77-vo<9&oT!gv}KwEGs)%r1haMs zo|ECoF)*f4n}SIh1?|11h)SnpE{M3Z(sB{=U`uPFyvC||cX8CGg<@X106tP^^DZw# z)t<`j1$b~gLZgGMdrr)g8fGpD${~xq@)3wQ3E&eUM+7k9^AZP82Ol&u%0^65 zBUXr!0xSxbD0-mlWT=c|a9#w?YETp!94ax;wnZ?^1cmaTmr+0U3s#z5B9quLP|Wv< zV?1*f^C&_|6iU)ka^hU=^{f#BL@^SJLU2Ti0TADdp+8svh6vyScditYlV^-E3R8d) z5o1KikboFt{N69#izpal6g)X#f)O!f9MBV>0`R~Da1VfU>NW-p=4g1pfU&?BCk7_i zl;J|jdj!ri7yGyrB{@w(%6y@b%w-M*gc5=%e9t;3(^Ob*JddpNpmOVpSp;bqV^+J6 z5EvnO=rW4pf-EDSBq8?DU)mhOxzb@oxhZ5o%N+?B7{d@sX9>Y`=4}T;zY%c^hN+0q z!~txS20z?(S_P+eox^L{>`^W?goMbor=icUj-~IQs=8CgAL(OyU zqGg=ihi9`R~8}gRL`N6FH&B z9Yf$P%Eui5p1ADBy2%0@xBTP}%+9WZl(0(R-Bh7_)4i;8QJ?ty-8XOV{bbLMA3nTl z_6Ps{Z(QI1#k>D=+$_E1;+rdp>R&MWz%M@c%HAu!{|^^_@!Q{g;r`9wZ`tyK*uHsX zGVk#Iz0=p8SwFMS02J?C%w}5i_8!f)ZnF<>hIQN19h)Xs3ilpco&RQseq(Fr={3Xq zCd^DPdu=Np9-f}Jz}6^t;8p} zfaZBOU%hkc#XqcjdV0r(_q^|hJ=4#xdu68~!$BBB3J`=lYiZxN-`~9a6nJr1{rnks z+VPFkp}u07of&uc{Pn;eo>ARaFZAcXUFEcfnpy_F67+1P0@p8gW2Nv!g?p1rT2;UZ z9XKZ(u%rUiuVi&mQXDZA6J^%TuPzkTOY-vI@?!@+^*8CJ?Q!bZKYi-B-%cO>#UJW> zho@&IgYo8!>uWb(ot`@+rd!$a)6_9%!I_wLHWYbPEkCX988=6?F>e~F0E9q{1d^Du zIl`cAoOo4Z&w*nfeDctjKDqqR!EEnTwbNr`JI#}m^G0?}cB4~Y+kT|eK_T)y61s=O zhom`7ROB9VAEsY`p5r%<~NVN>-u9}Zm;W3y2oGKl24E6lDtnZz38qh zZn$Xu`n85z05IeM2n71n@f0~nl_(<-7((e-Zr*kIq3PDh#F1$ab4#3aQzYO37KpUr zj1vJzp=8Ay3MdpA4!C2Mm6O6zAV-8rHk*Sn9p}>22NCss_^tW+32k!#@WyRiIgxjD zOJ{qBcVBkWUtf9QweNf93ftOIw0rn3|K=+Tjz9nB4?lY0$;bQo1MRXCv7xF6tjB7M z@m|~(d7YM!u*CDYl(GUommDFl zNY?6J1c6=hTs4?;R(=?WCC&n43g6h_RKE>5^(QI#!a5w?q7rK+@3 zR(n*jMS)O{6iHwxxnj%&QVxk}Wf$s1h+bFm$e>Aq``Ch}C=wx92P{~MO~Fw)&JxbN zH6)RULfJ-D3J|>QL{e1axb%>?fyl`YGa_)q9rRohvrgtpPY!GhDRW+_)FH+wtuJFd z1{Ecc1Rf;gghC0ym}hP=U|^iVT%XswfQ(@P0OWyFl@LW>42XCLfJDUayXW2j&Jh!c zjDrtd!BYl+h;w62WDJ4kCILVIj0H9UQ0Ia%3IQ2-4x$uH_|OX^f&Jt z*>ub^+h5NJxD;>x73Rjm5mqWLNh*1Q2{%zs0$N%?N|FwJL2CK8)lYe~hrPmKkw2R5pMqh)*as8>R6z(e&ir$VM(6Pa^`C)d2;RO z>(9@o$&!1&`d9Osi`tnwehIw#>W;>eW$lfl-kAA=aY0klhy3WyqrC)Vbm;&5+hayM za5Sf^@Fw_=uTXXHX_1cgf?S$FMagjQ#HuF}82~r9IN=%jmISx1nyH^hKTp!t)Ten_IlpRrpklQyt3{@HFW7EfA#cei<+Yk zJn~Y0lnPg|xFBy&0YI~ve&e$@b*83Qt$o9o!jl0cRRJ#{RSBZh7JScvAvK4i1NZWl zsfnpcNcyzN`Je8D9E1V{AU+q|2S|r-#Z7f;50u&oa99xuPapj0?{+20=+<=t7$F%V zMU)6IRhGYU)D&7#G&j@~)gf)Pic%v`Rlm#IQOlp`>&T_#mi&82*V=VNHRZhgn z19#jj6T6@}njlhVY>E^p7Lf7gytZRaU9>GI9tvchc)xO>6fdoG66%$tU789Lr29)3t0P~(02OvfO$WcHbK37QE3Ucxk5Lke~keKt1xa8Ke z;GAJ#3h#nX5~R|255fm3nBWY9mlQ{duQ+Qh83vVtl`Krh*fwPJvc4YlEpZJe!e(=wC9HUgr-@k7-KIOR6wrzfJ$EZ8FcFp>&`zxnaZ@TzO zIWn3oxZ~V(a`o=rE1!G#h3EITMO{+-uYdQqQ)}D%hF|!@f&1_O$sc-Q%a6bFgO?7F zr_X%;X8P&Fhd%h{{f|Gsxg;k5F+wE7C~^|wK1k!CX60HRMo7wFDUJ{mOxPfCwruEQ z3uX_trJa50waufYf)xw#ie|NY+Y_O%Es3J++}d4fO~xx+j2=_zbhrNUyc3CA{)``O;lpWt@pbP!XX3{{8{2iXxa<-+ z8`r-3eSQ9AabhMm?HhZ1+w=oZblN1kyIyi*CDDnJ@y5GdvrN0gb^b`st4kjZL@5##B<_oVQw??#PVkbSjm>*3`s{FYVwCIT1$$ zpa{SUG0>=4o!6GAZ~l7vgI7d19%~m5!9V^KFItkV8*|TZ#|PHqWcN=L8U$r(dk$_N zIdb^Ax7{~U?79Ag&ZeVt9#-HC=JIkRKswOEa90sg1Q@i|KEnQVUZc`{{D}wZaP&W) z=#6ILjC!$TsIxmeuyw<@^+>G_5H;qd&8y>)BYxc~+Bqy2adq|u3-i4bZ@<=k_m@ZG zP~Liuh?IU}bKc2}0|(4CD+#aCvTEgR$JWm{=PehXdiK|TxO2;Xw|~4fyf6FSouN~% zT}k=wrF{Rote8=zm0?|q=^~^qt^yz=KJ9e!xrKcXq?7;xV_Z)Qy^=s1<1!B55qz#e zp{g|dlM61m=2V}JO^!@%eq#q^0=Zpu!kZ{((Uvor+qglV>f0=?#YJiI-fX-;nv$2!$a>awIhUg5 z6Av=Po@Om_=8QnW$s=ci^P0^w28b$VWl&_jKPHJO(_Ln3JOLlY$f_9>NkvG{dT3b2 zxMxhDm4f@+FjXPyxl&jr5~;NVm3xr{;G8)wQ>Gcp3PR3+%Mf|xxR1&0k9nnVK2Z*Q z5+meAo=7=U?v2G@;0}c12!d)e%O9gyIep9%W@A zNR^0+c^SFFmqI?JuxkI2TR(AhtS$aA@RLk8Es}z&Tbb36$Cp zB2VwS`i29e^>=;X>-T)_rqdd$S8dKX8#v+IFTVTqp|WZxN5;gmUAi?gIy}{5)I9Ao z-}&r$7hkmhla@X6ACK?aG%CQu3a6z%y?=Tt66c-y&Tl{W#Pe(2 z_8Dv&h!{0u`oNj&oQv@6t7y$bJ=X=@vjCPghko+!-|SA!u6bki^pOJ({{H3d+jqUP z@{O6PoEwbLk#@#uaGGOcfH>DwI8I=Yym1^+2$d74$SpkCO&q4@wrlV3@88aT`9gM3 z&%9-keCA+&@URHzG@uAjK>|*1Lb!n0$OM&LPx^AaXzo zhyi(Uo??|6n`7jxA!TTwZ|Dnuc~{(j;-RT!=bZY!C8w-C*vikV9KHWp>MdA2v*SR0 z#gc&l-?}5dZqPlw(O$En^36|F7aq%h^_!!+r}cx+(QIKBFT!Jvt^VzgyW=x~m{wdM zpg|s&^oymNB~5)dM- zE_AjB-Llab^u&$RAVj@7aNZsFoOISXZMV@+RTmGPY;$Xc1g8N67YGO*5fA|h9D0D2 zV=%LA>OHsIe9P^hy7q<-{Ow0?T6)R}kG_0l`tW}37{e0Y49DWJ3(x()=da(sX1LH9 zuQ$Nzx1L^Y3KK@^{8Mm744t>Ie%`5u6DB{`k*+_Jb4pD}w`zFmb*YDxfl7 z;5^~OM4A`fqz9f!(QuA}IAEP(k(XJLV?hpu07E+A(-a{v3K0prxMyaaHY&(&b%L25 zLlL-Qa1@>7%o|P3hR;3O1QXLmw;Ze7b#h{wh{|f>J1mYFFBTawn{o&x)1)Ji-c*E& zg|JYVP!6VyThU?=tAy1YHwkwPgX#*wql)Y@pJKv%8aKvr@9VxEC!o8zCB=lSa49@` z01+Y{bH=#fDL}z^HBN=FOepOG0tIf7q(^HiEXhkNxbq6FI}pi1Aa98E9G6fc4Elsu zywauNA}T0XGAS{y<8cKeLBiTz&&E7*E(a}xau9fsA||f`kHGbq0AebH;Z&s_eL@u* z3B?5mABhA!P*NaD1|GyHgg#EnVvvCmV@$B%17{eJ1?K}XArJ!N5FjvMj0Hf>_`Uah zSx6oT7z9Kf5Rj1%C=q;M0+B%3-m=Ku&0Pz>|$48DlS3>8Ke~*e2tramimfF%D^UjGgVj+K?=fhP9{rANuf0_ zm635qGA1~8$P+FKlrachK%ztswfBL5DM=+IjBv7-_oKiRJ(a;kTr8{$9-I_)ib@YL z5Bxy4o!3r3?iiJ)weaB2KJXu#ue|lxv;Xku&qq`0?mu7~gP(c#UmW`5CVl$w-iD{VdE51;3dYAj`Qoqgl6A(imIjhs z)FNHqynELp_dl>{xC@*qH<@W)&y5D-6bSE#wPELew{axjJV~meUVOa83H@9gLLf(k zq~@Il!gMfE2)V&ZqY|>*5Gn+1s9QpAi7gozJ|qiw(PcM&b?JGx?;dZzu>RJG=;9y0 zc;w}s%ciT>t$9oL<#qZ{hYA2UE)K7S)?|^)FN4$1Z|#bHpO>9s{_4Jsh7ep~ltKzH z(W7l+uz$R@YE9Mwx4a?myFQs;>I&VN*M}ciE}p;n0(!>@eK()K^v08V%e-teXHtN= zf;6(3QOJ$U6*8@zpW}BE03sLSh>hh8bhrc3Ue;3x%rDYFR*vAit`y79 zDAum*e*2w~Zn@1z#CS_P3nB$Vhy>bRq4OMoDiOLEDkyZG=uXCkFyuI*aZVwU(@+sW z!aD;1JZgBCtG+mHEHvGo&ZaH7oqJzDbZ{T|Y&J8bG$v_lI)Lc`kwILvKrhJMM20h? z3bo*bH5=9pAK9^S$K>s|ef)4cWbH97gdqb$q>Y85aCvXWgY(W9&;Y2CT0Jh84(>Xz z?&V@ulTrWpr3;^a0}z5p001BWNklExni=W5E3I|jrNIAW9llfn><2XScM z_R!r>U$E=`RnPtOk)IE5++jKy0|U+gIRJEPjx1zvR5{)f9{n>p52(;bj7uUi~Vz3c0Tg6hu7@e_sFk*zI*4Rr=NZaOQJN6 z3Qd6;LZ%2@Yn}*Wx%K5d9(>^~uX?Z)b6rH7C=@-x0+2+hji%v5H6zlz3Kg~>4rq~E zr%PLpL&w)S1=V4qRu|aOo`EsLcIK5b1KD4;JG{aR2!SoGh%(5+JB1Zg zWt!Hw7bNn!tOxG`4^9+L@rZ(AAw)?Z7Xc7;NkY{~xm<-vbM59yRd^gaCm-@B{(_0KfO1 zdx0@ejxou=lb=JW0Pz4cO+F5uArE9jKp=jEg?WNQ0P+DC2u3!D5cmPlDw2Bw!E6e+ zW*QiDoE_mwKjkj)(!x%b59An_Ehq#gYEpEGDuyb~X~xn>86gtsfS_k>jB-FkuB1Xk z)ln&+&)9~?G>r+PKF3l<8e~L_azpbfs@JtXuu3&pfM7$5e0_dg!4}9#OMU2!SKh_M zthJy~#M)DiI+Bu0V+t!>NTleHjX*`h46GMOrb*%HBg<2>+ZPql1txx=0)`jYwoNghu8Ir$&)X+^Yo8RtY%GLY_Hx8{|pC11E^>B{k$D3mUvg(t>e{}7wp z0^7PnL;W|O^xowcEN!=K*t~XT-@!E-NBC8D-2UDRE+3k=?vI;RX1xMasKjz;-ko=S z@E=dK(c>?!)){azqREl-<_B4^&3Ho|NFf+RZ(w{{xyl3HUPCl~m_}@SE%kfX%d(4Vcy6e_$ zCd$vhb?4?i6Ei!g)pETKcw;{D$-Df#o%^=5vYv4QoOR$R8+If>5I97q=Y++O=Qxv7 zW}(92#(CzX<2sRZ>s!g;gEO1=nz19g9_M4NiOIv}`SBb8KYg)SP;r+p)^BZq6LH5y z6u$6;cx}w+3xhpG7bW4$ljhy^;9*^KE?!{|?wI)A%jWm% zvs^n5;K6>Z1=U3dWak&3iy-AR| zO-JU{cW?Kkb8^lxR0;^tI7Lna5hMgD5+HS@HQEyaz?)A*@5t+%C)`T~4t$jo5HEXTN>-!;k;M93ACY z%S@+2!+-ace}Cb{H6|SOT-BRHWK5P#fg_kxJ(B}Ro^-dP_wJdRp3DoESeLC_xziLm z<%SRj7ZUk~DQDH(A<0RA03jIzM7aL?_^CJ8hBZ4btQ=U+?dS|JZNyx+9hE_<)^W$7 z{kWs}!h532FOOf`#Pnn~t*XCys_iE9!9%dL@@E3>=adge)a@U<#AZMiJFg-fJE78n=ClL!T3A_^bMglS)tz?}E4G|pfu zIjTtYQEo&`5KCQTXgmtAPS;h)Q$cN~$<;`DQ}hUW9jL&3h^f$pV9ND;r?i2)$N;Yl z5fzMgSt&g01#TfUb6_WmxEGN>oMmjdTmq$C*`D@%fw?l4T5{#KQn8_%e<}&mRWX z7kRSQOXRsJl8Okrl<~a6l^(V7RVe`^SQl(*Q(hN=uQJ@DP*V$WlhaG z2GVdYBdaV6ASiT=;Xxu=!%~%$WlJ*Y)J)3yFc3!oP98u42Zb0A0f9jX3>dP2zFKwBM)GFB?|48)2@GFS_o+fv7_ zQsey~!BbWHETt%75xN+>M^#Z|DaJZ+7CX=iXCoFlZ@dCSEb+bX-`}RxPfk?Vj#A2OJy+%L;%1Nu}g-P-)Pn)MTlv_by+4V3)?*VznLo;)Zzc z#on&ApRtv1{?}hN4*bp6zIs0!Jo&9l7B6nR_Q-P^cWr+4$mFjcedOtb`%1?EOK_^W z{D$VG3!d0^^rih{UU&zbT$={p0&s|Bla4!zgunD_dFvIYR%Y<0q66fyU35PORxD4KQ8qS;n zoe`njn~G_r@YY-3d&&8yuUh@ahwnaPW_<0do3?^+QRH;NpI%$M{bcs+Ztgvt+Axz^ z9oJv`*tu}bl4y8Zdr-jLhi>`G2R{0aC;#||>#qC2^>4i}30q%142B7GLj;sIsC*OTmHhbH}?9a~5e_K%A&96Ig;IVaKc47)!4ti$SB(>79 zO`8lj*tA!#8xgu7;{d<`kP>kB_36JpTC~a@_`Dg*Z-1C7sos*SH?sJDUZx3_PPg0& z=Y|W}fl7OH|EK=qwjca%e4;nAb>HN(k8i&E%2T^VPYF(yxZ;)q z1re2TQv~f5uc?^2(!^nz;h`RT$0I6pAwsX9WI#rx@D3e%BF2@MY#_HSSz^+t09Zp# zdCQO&)}nwI0!AKvV8m2h3ZkSS(U-^qCP|2y$Jn-+j*lt;AAA8el9d2GU)F&al8=_W zMwOUQS6q#A(J8u7kRhHAWye;G3m|&b%L^r&F#{Dja^zWpJW>fyke9Z?b)_Zd z0)j>6N}(iJpXXHO*{G^5zO+ChJGJ$!Q&_v3^*V#N`W~P z0)q>nhecKW`lCY3S0d zcuO?1+3XzN&(M*IOdlBCUi;db(RM5Jj7OM@&VqBAsK3$g3^&es2LO}`1Y^hnC-CIJ zA!h@q1LiW$uVa_BM}mka6m!_z?(LSxoR!{wQ*-6BqutT{*Ph)OQ1;^w+b%`%5&n)-k{6CNTH})>oFFlq z(cWFgd$hp;2nsdOxpxEz3WOngc{5G5HE5wq_tC2xKih+}u>R66HFf%Y2@<8UO$9-)2D2*eScS zff>L71V9NW3UgRclQKF>B2kG-81u561q1^u(FG13f`kyLuFv%6N;2%uS%gK+kWq9r zUZ~-f7u|5%w!i%AU5*(t$eS!8s1E&d^X7Tq118{%z4+q&7oIu8({r;9s4lyX8OZ)y z**2u0)eKZf;P>3J?C8wwv18*LdNPTB{OR}Ic-4vu8!vwSW%~M8-+#*`tNgP5bKn1m zwQuiz`xSW0-rkqrDYi%Nj^bOes%B|GDowj{RwiJ|Um1WmySsiUkpX*XqE4gy(9$dCpFexQ`D zF>M(PJXqsh-2eumAt4i3G|)E%cqLqfq$xrQu+}A|dSJFj_4h2M3K+ZX%Le0KGR6(v01-Bsq0T5N-09pxc00Id& zMvfX8l8`P`q0Aadqv#h(r;(ZcBBcN=%mz0mI|JQUB$U%^1PVf}oEAEUag`1!p9EP- zoq>R$_iMcZqYhZhm_)%S1b_^3hJ6;rg0>Yoib%B(Dq>&BG=#`5pd|V5@Be{7h=>po zAP4}4h(a@X2oMD@uv8f1g34XQ=m8}_0FV(`QVf{H-~iG2N(hGm0@_f@7!xh15<=x# zxflgHwpc4El;ebjP>ByVNEDVVNW&3qh|Icy9%F<^02G1=lCwl>K=aUuQfMxNN~Ba(46C%r zinubBF`1}+Pmo9`b&blLZYBU_>^m`(gN!%` z71v6S%@q4SbmwO`U--7K3_ty|nJaHvyzjBqZ~DTz^vd@<^p-2GtDgD$ADsZvyn7Mt zpVo00LOC{)lyrRh43$v>0RZv^x$2deBlP5+?ZtPWET2B4MLI(Y%_jNvfNB*v5=E+l$fyiR7R7m7N2FpRQLACmdj+rmRJPKc9pmyV(Wb=!{ zRvKgVfot5u_etD4Z8p%4|CbsrWov!2VZ^;x=f831^>$+7g5mbZ-o5IT@%hP~17ZUl z5;j_a#weU>l9r$or4yyb5F4yIptOn-LZX&kB22{2x(oi{&;DrkMDysG9Z)iNiGs40 zya!Q%@?bqfr7&P=SQ9ey48VKzk^mLt3VerUl!$>T5F1pE956zHt>t*n zTg1Jq@X9tdVC?bDr^{LQFE8^iU!wbeYt7>ap?hM^TlNV^ku4AkB>-rp6d)5SN(^db zqqvIAqSplmfB?z>01yNK10VsMLc{Ekv?4$g%R&M;07*eAV^B&X8<|vEsl<2#51mhI zSK!gpSXBrBv)wbVZJ!5EdJ$>`$|!|Q1T;Xd&><)3DD(zbUZUm(Z!KX(-8%~4B&fg( z&;$n@q-q1BbzNYwXaBLfC?z0hylx8Zq!+&VUmpGP+csQr=Y_v|;ag8V`_wx&oVW6# zslWN*$=*bT?d0(sP8@?z-HxXKPY#Z}cJk~6qn&48n46uc+oPT4C2PL*oe7?WQM0tQ z^7f9L{jE=~+;r@?n{$hnFZcZgDi8-|lK`8Q%iZ;V{ztbzdgyOneB{a3_aEN*+L=u| zp4h(ipI$%dE?>2@XEQOdwq9(8f~{>!q@fN@gkH_Y+m0DdF@#K%{Zi^Rt)w1Qlf2~j+S_AJ>;hI{7 z7|Er%rnX5rL#_m82~yN7y{b`V07S-P?Iju~qsd4@Qg|=5Y}x_(HXxCVvW`}H;cH-R z8v=qgBsr=;CS>S)K`Ml%7uZOBINE46d!f!yS*TkHAV`)q%emS|OG0PbRw2)P3{eT8 zv15V?q7*7K1`r@oD=Ab$fQ(W^6{Uy)K(K(8U|xur1UZS2pwJkjfQ&B03r+22o!M+Vv~UdNZ<%k03d*i`UKD-5P%$lq$Cw}43QxO z1%g4A&zkuT29&|L&2^g6#EgxzB52FYLgqGt*a_t zszrNXeI~i4dCrn(tx&1)3hSCG)(CMBAy*jDMz35dj3Y;NY%6PBnnV&R_&UmnKK2Kc zW{nE#NK)5>ph_>4;Tm~ajLL#f6=f=6c7}#33R;Iil~!QOq%grChB_JO!I)g_qE7=z zlhy=1MG9eDYwtbUhwxh?VCGfBweKhUFLS=YCtD$7Jp3XhB8$ z0&(Zc&g;kM+-2F_m$cUx{^i#paY^r_+jf9|{)*c)=KR`#?-Y45sPx-9$!U0%O$G=Pe&=x2{_K#WN>gjg{nzsKyne7u_*B zv}a->#FI~-_~Att?VK1V5s;;_6&pqg;25F>aFk}FH{STw@x#xUG{G`knSPOzV;Z9! zxUyDBip-oaWVtGswE|3mJVaqyvbcSHxNQS`_`1fLrAea_n~(NJFL?La$zPl}(4!i6 z^!ZEgY!x04o`|!KM+7ck+k5^rNC#nFXtcBa{X}A|W+T@txP?AKS{$Y@OmRC7J-yI^O)` z{NVJwNZOJ(I47G7B6GljInjtnfQpa+u_P{K3kry~3#DFXj9D_jwWQm|6 zf-z7!%y3oH+_bKF<7&Kc1qlF?Lt&U0NWtqx<1?4gzO(9-b3}+njj82@6*OQju$5+1 zu`Ae?6dW2t_9@Exg`G#oPj7L>0p=0_($4L*JF>9+2av%e0j#8G00KZeg)e+!c=hG7 zKSM{))YJ3*aA3<1cf9gHf4F1IuG5b^^3RVyb+EZ2zwK)L=mspixbwJw@p*hZbsuYX ze(|f~@tuR-9LbvcbLGC*x`hWR+t;nT_)q`pzQ6tc&ma5Qjz+Dr%SMOVz3x;sEEPEbFN+criq)Vv5NoK-vNYYg4ngU%6bgw!P{~kBqa4T(*@;HS>z;ICfMq-8F({Ni)p?;5 z=oI}jA?IWWAr^U_qi@=L4ujBT7J`Bd8pG{03L!GgPShX_=1pO&q^1#pJjhn!tkJr_ z1h8&mE`#)GAQuuC3NeC;%43YkuA_@c$f>}QNdk;s502&1_hXp(j!;FdwmI9)PG9rrztq4IQ z1O_P~h6qBSFhDH;A>_iWX+kW)vS%3X8Q6nus$29>fSaWAajC)Jn4~ayb-v0AguVK-Dl*f{Rt6hP|I@Hk&F!gy?h? z$d!_tVo*V%5)-|YjhNP!bOW7jXMUO(RG|T*sGL^?(CzWLm!Grt{B-R|m>syn zc6sH=aN74h&CHvjC9QsVV*jD4Da~cK&+mQK+IjoJxSyV@vsT81g=VHI=ye?fry8_? zb2pCVGj6&Rvomh!BM>%`&NAEEv1Q-3GbO=IThVRtC2 zZeKn!TdkUyou57@Jo;qy#6Fms)6^rHuvdKOxr@keZ;Za}Lc@!ygPkm%;&o%w=QK|D z-lD@43N)codFQvUY+td;-hAn3)5Y)XtlxFzqF0Z1mkj4;P8EiEYGmrkt*&YYS0stLS57w-|Ow@r~xNwQsy}x+h zC$616nA~;G+h5qc1%N2@^Tl&}50`^^F3$4q?bbB8xzsfU1Ow!hBR4WUwDN+nx#>cs z@}ZAy-1W-tD0(dNPkwym?p;S9E}K0&3FN#b84#P`=DE@7pd>_Q0$@HhtM^Ud(OFo+ z?(z%VJFbFTb?8mL@cg!3zffGWXf|$Mmn_rn1knK8>+@pPg;%%B3af0RSOEKI;^~qeMsy@QRK-RXAs*V#x*sLxU305w67MkShojC@{e66dN3~lhckE z5CU=D^H@E+001BWNklIhIv(7mN=FrJ}kD?_B^4-*e=s9BkXVJ6sUs$eOjT zAElPA_R=WjMRfCGutspDOdv|M^ttZ|u_VDT;96FYrk6sPV8=4ibpXt2F=**fH`7EI z)yUehoR94e3I;yKK4IAx0z}fbu68u9$<>@f1d(`ysjIyTg0o>E=dhJY$okb>>Xm4q zw!m2<28)S^I!P2pPprqwCpX^|r7IyE^)qv|q95h2R9HW6sX9yFp^K+LqN zTu4}Z5w%k)1_#thq-7s!t#qg%Hns36l-xrGaH=IUHjbqRFCqvngp9zXQAw47L=L`I z%0v(tQ$UVDkx@ushR9N3#03rrz(QUKNC_eW3BV{H{=J8_gy7#`tP2zv1d1U763j|T zh*2OgM=6j&C>6BB7N-c(j_845$Hb|pu zMbgC(YRDK(Lku_!XNoBb?-Syzf}|O&)%`lQ(hyTQoJ3WVl1O=Caj;qgur8w$WmWY! zWbBy|QfrpAb8y3pR-QUA{`n`i(#AFEpWYn);y*(B&e1=(bHu*hJ2of0uN@&f26Bu_ z>16TJ=3hT(dboD~tKIk9m5)z|>F2Eqn2d>{$Ah(*eT`Vq|F3tO zhre6=>;Q~T>sJo)=RdmW)rsEMKGIoi>?1WEo-B?`h5!35x%08=nMuCt?dH&HP8sa= z>4`n%|9Yw1JxyJONwanCiu&ufy1)I=;M}$OZ5Nqud~@;_o11Zs3QEd>15J&j@xhIq zo}N2-Y}N%hJ1rKiPj>IvdGPG6*I(VzwInqF)3FIiq!JR)B01-TDI8eNw1GrvEt6#3 zz;nqJ6416?Pa%}Sfi&Womv;5~MQNu;huZ_|avEmPw&#LYAG+hsM@w{%en-fq< zapX#DcIl^SE*hDuBqeJ>DaRnQ zEI69C@YG&sOHjkv(q{IaYuZ;V&yVZjxntInH4MO%p3|Xua+XC(jvzC`5CatihS>lE z0;gP*0UJQhD1`*APG*fuWQKY{7m8`3ZoeS=^_v{l?nfuw3p4oAEFK70C@3um$U?0{ zVWDKh2+a3h3Qr%#NxQ!6oe7RDGlP{%Hj?C;hko<2ch0=_^aKC{vo&z(x;xju?FQdp zJa)<2>A6#8X_l#W-y;-8y7#!-Dojo)=dvwS4 z*EXFRf8yw&!UIX*$cjW#G6V)763~*KoFiZY$6yz>%x_$Zd&hG#Rx$*oRn#amI|;O7#6@kDB5G~{P?O>rkvWgWA8h!zs@l= zUGOFcvVLe$+2dw1>$Q+jtAJ$?Q5u#dI6#3yBe>J5p+bn3qX9FR>kkTN-X*E@o}qwA zaB0)5u8O(9S&E`Gpi0xoR}YL$U2Sv=jEh9bN~AHz_2j#;;p$3?`9NqSHMQ1UkBSU( z&T17vt^gNf?()>+YPklmfpz96j#OMFi6e}dd*!L}Y=+yBAex5JQ8P*mfs|<+2H(^u zwc^4B7CMt6qTn)UV6u!cGAva_soHvyMnf5dfF?CZj8sgb3{vWt5ac=nXZ`w&;C7Y>23bH%nK2oX-nG-{AyrKwI0iVL$P^$7QUaq= zNG?dNW1JG05u@M*J*o&IvH%4VB%)G4ECPp!0;Bxe?>`(7h18(;$9fC|3xNO;AOeaI zP{=3%ISLdUA#wx}0Z>2`LPQFsKpn_SXvffs5JZSpL}`Z@rGqlENFoFw*{Udlh^)M= z90na!#b~-5PpE#=nU*oYm8QIwzLH#7PIBd0G=%X%gs4DxUo$cZK@nprRoR5h1Er}F z0(}um8xVlxX%O=ehZJyXG8b&euBuIwyiZ!0CTB&BHWM;>Y9umO?AwRWzoGG~fB4E@eA|EWM($4xzOhMNbiewKV}mmj-5NNc5$2@+L&ky)to}8SmF%q1av*+B>xoI%?$rieKwEouK-m%wZPtjY>9sJEd+g~1W zHt^wN)(mBAi9Afs!%WZ2oaIoEx0>z9=Dqbyk3Vv+z#!p`aA+-&D`bQeJBcy2E6%y=N;g@|Pxm@4 zGBq@XO9T|muFBHpTa;kSvq=jZ!;~#@N$QkVAGqsFAH4V8!-t0l?$C+Jv*(?&?mv9_ z{vZDR&uvwbXLeu%y9jfPM+$y@oDR-lb(R({Vp-S|mN%RuHjH+{bh&FLHri4~@HrdH zmE)5~u-WW9aPRN#Km6jA7j$0TvvXk2{^9-0hs2_XZ|A!<($Du=u2qnbD9j4yCjHz4 z!$)%Ymp2dna@>9TTfJhwkYkOTuUU24&J?z;Ky2SJ9_Px@i(_#bV*~(bpspb=CufDF z&wi-mPt|9=97@{Wm1?xoJRvsgB}zoSS|5y}W1K{cyk9 zG6Pc{EfIl1hpysKs?aOJIba7)24P2(yz@%;#G&D-p7%v>K?*BD0z=Jwbo-O9J$Vv< zjcUn88<;+G=VhxlHuvv%@dJ0wZr(AMrcErmWv>9{C8N5w6o6&sWU@%6!>KtR%6ZQY zh$KL6%yl<6SDks5%rZ!5)HSS-B2n#DLZJpImkP|lN0}Neyan8I7Gg9UCbzI+3E9uMv$^wJ^1rhN=hNfGM=(k#}s(qOn*M%@SwqDruK(bqyZ3Sq4v_rO}R(W&$M zb2ApA4m`+Z;sv+zkr49*hPgHg#wam~fkCt(fDjQ;M0OleAV3I$5w!@lL#5&ZvlWDV z`1k(+IYyM=N2MZONTp-|5yiqf6{o@Fpg1lBaRGqRKpxaQ#6(~OR#Mgw1F#n&Fo&QE zizk>JnM!O8D;<4C_F_zIc&}SlG){+sEoT-k&N{_MC zidn>7U1KH^8yP{ygr)4L+Bh{YB2~SHkcrCXQ-=yY$vI(Z_O3Wze z^$)X;>>GaRbo#;j>p#3a`Sy=ay?V-%2M463zUM0b>fgHYX*z9-bvgaccdC<4LsRi= z&4Sf@K7FE#3jF$m^y1&Smqzl(emc8iBltSG=kn%FllB|Wbk7_PFHA86`Ql4;F+;@^ z&c9rS9{CcZzy1!|bQmtYFnsUFH72-g z>&)>(s?$s_-Pk^L+Hc#&zk0EJ~IV;NFz#^#En2V&lT~%`boUvyVOTjD&T1 zFr2ANHm-cvWc}*CV>|X8+Pe0N1j792g*SZWz4!Ersmasl-g3=-y0LEJ?EcYnKTyoP zRucCK&kXR0gS~xxWs>$+$}?QO8ZH=WI;ba0uBVuzssa`s6JP~=)tcrXexkjn*W3L3 z;lrbocQk1{$gx`F2YTJ4zDX(>@@R#6E|mBsFscZ78p9f5)=?938*^GmP!MArwp_%Q+>}>@A&+uK5^4W@7T9>5{8N7iGWJcG<+gha~dN^l_iiOFt zYQ74=5$(WLM>JW8Y5-CR5r>?tsu~lF6kH;k6eFUFK22nTDx!CUO=1;{ z1`MKZB~4Y816Na~m&ZXVb1hX+ZV4ta1j|ulmIm%gPL&cAEGj95j1dJ$(14MJ1P~ab zigH?G79uK%hzbNC%D_<~2$WH0=>_h$v}pjIxO44^fE*#Bsq?5IE@BVRr(54%dpOIfVw4v zWtphR4s#g>XzO65$z0zfg{ZUnq^0UoW6h3$5)_KcdcYELRSfEwWeP`JPcFUgo{_)* z{MTRam~Vb!QF(Cc;b#lqrB`;$pYWWHhVQ>WfB3)6ZP}MTx~Jpiodvrt6J_nTLXhh zom&{uh$WE(kP4+V$`#29NPqLLX8KzFfg9DYEpmr zg@f-rW?$F?G#1qq-FZ{?+Vl1cchJ=v!jGP)25!OB2(rNde8;<*|M;yiaoX>ExqSEA zF8u5@{<62IOD>^&)L(mP^UPUshW}Q?JZT_LiP^ z=U;#6cQ$N1=l&1h)vOo4a^%?p%d^w-Z@Fc7W%r$z-Pow@;%l#8_LjGuJT~{em$%Jb z`tNR-+Pg2#Q>upDz=2>}K~Pu=;0VhDUc5?4QibnkW8e8CDnra&MC}NP`T2IST&hS zV1)`=O}KRB(5G&0fB4#Pd2{M(+rr~#RWBN{%2u4ICO~St#R3Q5-&m>v-mp*tz$K%w zrsbaMCuP4Iocq`BZ;&tF2vPwlfJ^5Djh?%18FZGu_~b9Ffb6n#RK*Y7E8hB^`#_fn%q3EYIQ18(a6>`Q~-$ zviCi3;l3ls_dR>!`+xc1PmXLYkI~ZMrPG74i4#Y;#B5QzWZBU@ua57Yx@cn0!Rv3m zWVSn#sFs#XGf1?NUiEd1-8!0@bt7ThK#_B^Rz(WA5|MpVih*>sY_u`dp1t)^1sniH zX%bI9YONq9X<|r*U?~(FU1Mmt@P$ZC0X>}?iK$RU%H&&_h|N3>afYn=QeZ6yS_-cs zM}UU${efzXF$iN^l zvW$@!qJSttMhFZ71h5AoAx0DeK!N1ogBXX<5-|y2%2>*PD2xm9wL0L6ML7uPF#wYC zFp!BB5XQW;)AMDF)NVjCtR!f~SQrE=3Qdi^M471^Iz&T~3TtGDb9o#D4^gI(hfH&L zz!As_@nYfAC~Pams@4VqsDMJnbS5>kwNoTx3;`41+G?4A9@hwI2m??G_LwQ6c`zb! ziXu8St^|42R&{BES6+b90ig^bSJAYLB5(SOYSfV%Mmvx!wA0)Xl;~(PWXlRA7)Fwf zMU8WGd+)2;Kl?8`yXT)f^46i=mmZz3JpSC=;MUzfDjkKR63%_jM6SIsUO zbOaBLfOUCnM_g9g*d z8cJ^1i0*j({RoGCucw{tomNs zy#2>Ne`?Q;`GW^{{^YS8M-TMF!ljXSyEdOHPfZIV&h#C>^|9{W%BHkx<3-a)CWIwG z?$5=Q=bu*`eQm|XV%hS}sWS)GuDSH}O-m#n9nR10-4s6Y>+fB=e97SxKl{gj{MPrr z_x$vU_Zql$_v7CrA6@P0;DQGo+7v7zfCLIK$L_WjL={a0Ix@|T$kub0)vw>$`uH7T zjRm3cK;IlaC9YYgmaWUrH-k*gowF96JS0B!rbX9w_*WJt4wOF@?dOj0Gcz%;uZw2! z%xoZF=U4`y0ObH!NWe~K={nh+sA%UVEG(!9L|Q^xcn{!n$vKr}f*Al+het|5a>1&tFT>qx}g)PPE@{oHN(L z2Xk-aAHUTt_7r@3GO^h%&GVBpea93C0#QIyJ1beWheLPH1wbGId?P^&5OP%SSqppT z&a>SU0l*NXjbZXtU<(KVKms}-!x#_&$g`V2`s~Ts;K)kGfFK=B_ucVR(@$-FdDDxp z{Nk}4JC8s9>hn8qz2chZUO6~XOl&=LsGRBtM_@4Bo?@ih|lAO5d;)`#+ z;j;N^5Xs3f;7gs0?!NYk-E#&@jw5v~IPBNyi95v8=UhQl%qGm4`YYV{j2N$ka)pvH$`Z zQ3RP#ZCyc?hLau|F$zn){ybhV2#CM{2to>+k-`8g#K;UBK?sl!f8}A25F-PF06;*7C?!A? zfFKAEK%j^WfS?4vv5f_k5EvjvjzUZ12r5y-5vvdo(8t=4sG?8`wC0h5qmnujJ9Kpc zZG%oV0K4R417)jK3!fFnIu{){8BFw4QEa8c`(7=RR0`T@YJ*jED_|NEhoZ_QNkcWo z#8hSQB64DoL9rpr1~f585H00~DT^XTtsoMiN{wRh!;+;6jhyElDK-Mc7~)V<^gX76 z8_c@JWyNWxmK2FpW^TS8I*mYujHIeSvOO+xfC^A30m0Qy;dmWY&EUZ&C?ZFRjck;D z{^+~Ew`tSUFPGDxe)Hz?yRXuCH~-@Y&DMiwwj7*;$mFT0m^^n2*PWDX9V7~2?Lvo6 zQ7WyOK@vNF03`9>I(L@9i(*{u=7*ej1{Q(X5SEkfwmY*Q z?BEYxBfsz?SHuuvvHq>et;?z}-Wp%nWuHEd@BMW9m8Yf?jY8wfE8A_B(_QDS3yhw* zF1gO;NXf&*Q`e= zMx_0<2d`hV`qC$#dI?SO?5@ZE`H{zCdD+WTFE zmn6;K|MTB@_KBw;5~k=fV9ysXp(Hc{@#%t7XAaeH%hlK3cf*0de6;t0|)`QZQSoXsQRy~1C}uo2}D8CDNzRR93Uhr#YUT*ZH&SdcZ{yM+;>mI>WlQT zz4RA%G|rO$Pe1PdWSiYHPOnWWcWC;>1M2vc1pvtlN3jG1rZgRnYy)7D!$mDx-N1LR z&hEK@FBq*S&)7Y?%kRD{e{d$>O~!i7POAaZzy?C;$mV5chQh!)w-D6$vB7SP3K%b@g&7{$*wCwie(->1 zYG5_1n|6bt;bCm>EZedz$r?)YSQ<;JxhktFvoa%Z+~J&k_IW?D-2LMB{ShnHU9tD~ z?Qc-Q^wId**Ise#XanhAZV&H&cQz-4J;MColrvXk=cW_?vvdrq0ut(h>l;$}rd!-`Bn zMN2YYQs{FzIHaYsC9l3V+X}qAqPWU>wC&@+FdT>d04C`=m3}Wlm1Unff#!?K8Y{_15g+RIDA=MoOzW zbvciPwIFBUt?^0-Y^)_~GSg{l`m*vSIW;kxl8Awx@{SB4n9P7$sDcszq?|1{50M!e zJ{YE zv@X@rz-gbN%YB?92nx!Qv3D9%tG=+Yn}(8fJsL|byCa&i!MKzaN~OzulDiz3%nof$ zHR_y*K>I#3Z;M$1-ra;Q?s~F*=*28; zu1G@*aAhH@N8NN9g~nu}iojYFikT<_Do`YdM`=mB3S}JuA}3e%&b?h|>6}gek$YCa z_AkD;fA0ZpLZwkdqM!TV;G*YdUwnRJeYS&w-gVv9-+1@M-+p50lvP=? zcFw>0>dTHEptY5wXPf{TTkrq+eXG;PbdW|=6y9#jx@}86T^-k1_pOCY-AJ!9t<^f$;o&`=a+o`{dfk@p z3fFXRx>T>fKyJN2-gO18ycpLG*!k|*(DTrm5@`W`FiD*h!D)}wH7KkP2-pCrfMRL+ zY5mZ)+?6gRj5s%uBB88g?2iIwU*XWbA;o)ld|ff*SyLK#0Gx z6-zjlJ7cK#nqn-}b6Ib7;~1?Pads4$Bq4tfaDmqpoU?vkDJ)SFOL6*Qzy zOqM#9mG2U)cLRv2O$*ia5KA=%xeNWkur^*y7$)0kr&+|z&l9ans*>q7Sqr9Yj6vSk z6&+$S(g&NZ5Robfe#zz&l^shTta@jp&7+WmQCh0A8;uIbsq7MUYO2)F zOc<#dBnpX52w})3ICT**S5+V`n2dEaA)?rc$=rM4nIDubF#dP;?r&E3E6XAtYNcM3Pdrp^K4XECz#x$ytZ~_V0gqZF2R| zJC5e8Dm2a`FmX9qU9Ab{46U2RPFX_~Gj`WsZ4Vw2TV-feC`5xG0jUf8y)M0?sw8v_ z0&LL0uuyaojNst1>{*g$md)x^AW9t67CZ|}({$q%=F86nTUIWIi!U60?5(=2M~Ve^ zXt;X+i|+9U!h=i2{zK{c<7>wGO;t4$N>JWTp$W!`EqyoD1J8uRE7FNXv5!2VhmJI< zC=o-Ua^=Ovw#x>$Z=bw)WOit2#;RQTVqE!2X^T-^cWtMZv>FV>i?x=F9yx5OD`SY6@nO_AAj!9O&4Bs_LW}yXPIS5Vlv^jV2hM)c6KYH}(ua5kAw_W;?S(&Ec;BnP+hs8^c#5JstnhD)| zNT1jb0L#mGa*ugd7S21zY;EZ0ZWv#F-eA|mC$Bg^{O2!-8|AvuqT>hUqvX?xPsMHsqZe@tZo~f z1AA;)9y=y4wDv@o~dY6uh&a(GpDzgX{G*Nb1H4?o?<4&KrA z=hFSpP}6JbkfyTI=u0bu$Di#|7fg5Rn?SL#VH8z)-2z^0<#V z3Mw9erMe62k9Q*7bN3$NAg~1xSqNZq1#GEE7i=B=)cfC4Q;l?d+oqjEJ0{b&-3;Am zM>YJz$DaJ`-~Rc%_dfZ`^A83&^QyBJ+4@;K9ni(C`rJh3l`I$9ZdO{;#6kR;w%Ktmc=E~p(&%WV9L@eiq;frot54hN4{GR zwoHIGMqE^}h6e2lCyjyr;=kigIaj+rB~;*ki2K0&K83%yWx6*XH7P{ z6jPgpd6+V=Ublm}GN(2a;=4sL>mwdhL4{|E;;UegDqD~(vc_yWYfH)nh}9@5G~?90 zQAa6d&Dk)MW<%L9ks;#>3PglcVRb1Rh^R4iiclp(s>YdQ;1A?D0Tc=tfC^Fu88Dfw zQF>Ptq+-;mRY<`(CatrX(lM03YTNf z5faF05z;Vk>dZLs%xAz4*^GKL4ru^KG~hBKfu;9iTaC__rCC1A!7C z!2$)bY&=GQwQvH_W`hBP0_ZwGj~)u&c?uxKRSwITtr?vkEuCn;afjXE#vgqr?pt;B zL6u%(6S%Nf&gqE+1I1KX6>5iLb-uFW3PykFEsJB%uN-T_;v8Z?qs9-VZvW%$ldI3P zpSf$fF;x;x63jrFrLGtRjzSC!XzR}}^3$EJi}p|zOLM0!Tv9hnb6fq#ety#zzWJS5 zt)cEZ3QSTIG%V=+b9VmlTRyVq_~RiuUyZXimWW*CdUekEs%S#+pa4yUGngW#pZVl# zzIo3>u?r?huoUWVf96a7?_FPf{+r+W)~Em17oL1+udZ;@V7#dtZ$es;#6{@%w|?P+ zPd@(23Rk@S_V4@Io#)NJ?T7Hc{_)#ye9L)nzI|~}?0II-abvJHZ8qDe)xybDJU0pl z4}uj7sBSuUbk=2)_v}3LlCr+#lJw;Ide|J#ADMr;J7mxQ^<(27+ctOh!en*X-n;wo zvrlN~5kU~ulsG{dyb&;%nVCgCWC+X zLpNP<>GbjAkG*@od3w4fTSCoJLW>Y<&0a_r+Y!PQE>{Q2pLa?8ezgJ)C97P zm50|FSqjXGwz&K0Fs(!CG>U3KG}wQniK-j?ao3&t0exBUkZ2RF>ExN|_~9e<$z_>! z+6T=+H7L|KUC14}fE*wJ63}&$pa}4`f+!kIoq$j===`y%O$rLwQ}-y?v@s(AC^0l_ zbct>-9D1slQyppBsCF>2UQZ{@Njd-I$A0oNPw7iXAHD0+Yj4e~#boD+FYNm2UH9CD zCDWdlSDtG>^nvsK;laNhob;!kdtq`fH`7{JeJ%qZB5!6n5eit=X#^EJAlQ8NEUjj% z9Fiep)WX*mLked)r!G3lVvO~D*1;l`QD|6|6vIL?sTi^?yfT#pE=J^Zy`7b$b38P* zl_UXV{C<~)-g$P>ra5rbHrP4qL$JPZ92LotqrUAGTdGRZnn4EAEJz!PNEErlw1lxb zSQ8U-P5EGD7RmKZhstKQWWr*iII4W;4w zY!wAeuaXB`?oz=IcIW43iC+#S!2dVy@3*QQW!Q!3X_Sm zF=Rl-nrvW=(VVknA_D?{>Nh@>jZ&t}>`YRSsuDqSrfhNs<#|v#RVgGb)h^XOGoh5+l1q}3W?vd!XDVB5+06UJ7%L+hOeY}>3)KB^SPl`B zx@bDznxZHtrnM!PPO=z28SBw-L46`)Y)UzVJQ$au?WxE`R1-sQ3KM!UejvzxCK_ci zmFR<+v&I-ZUuZ)I5xcP;Bwg3!Mk5NjVlvbp-}!wyJM`QeFFK@i$KHJ5^51-}-y4ai zYp*Pqy8ppP;N6igJV)6ad+xDCS3%h^i`sn21Re*+Erl5Lkdb3o#T!*uv64 zy(1kJlvF{`08k*L!WYh(iM8jr58hbq-K{@#;np8`hkkhT?34EtfAUd#$zt%*+x5BK z2kOye&?iNdLsRV}BvLNOR^*KerH)JFnZV2Y-W=qZJaSZuk-8p+6hWIt4ClL^O)oEZ zTdo@U)}<`AhJo0Og0TIv$&cSMxw^4Wzudq1#>q|RjGx@wh~sOo?Oxp5%%-dV^ts2H z)~E&x>zsNeVq9?E@JHUYurxci@9Cv0-+slRmk-$m8t*L5|In88#{`BTk|8LBg;*qX zVxYV3eXOb5q?!oH$SZrpk;9tHMu}O;i60EcKl|a|c<_;D+SKjbEH^L8s-1lIp+~Q| z#1?2nhG zxxry+#XQ?$HEjy(+#L(tbm^2k*lWtb{(6p#*J29$$4W#tbH4}c5I3d?GU$)pM@%{ryJZt5D{DY4szR3`y$Jc&)0 zAb@sIj|yibF(`R#n~Vkv96}LQydsF0r8)%hmXeBxGHj~gMPaL3fAS~y?>pRusaG(F zVK>x38?rmQfmYybQT+RlzV{!#`rY+Is~0Zb_@4Kl^Ot|VYw6(rvtHHy)?a;Q-_u)v z=GOPq6>nHNyo?ijcf4lX1Ao8er#|r3KGa&DVX7%tMS{9&bEu7}l4%HCUFjt% zmW{GWWdkju&0Aw`D&(NNT+A(qEYrX_&z%W&$i;9jizQ=oag@u6@h0iOY0k9X^$_T& zaDm#CdhrR^ZbawZqEe1Y6`jXeC=5%6QcIb#nakc%)?8)gfw3(my*%Zvq&9#VG zYRgu`)>&u@n;FTpTN~4Ra*@Ma;d>#=t>n@v#XdE8z3`I;#ayu#)*CI0Ikpv$>><#6 zP_8(LZOde0H?FyJIho*dC6Brr@iR$8&0D{b(9o1M&1`>PEBfPI?79(Zh~KrSwlNZ#6_Yq4kZrR zG&2d~VxTd&RAg#M*ky9bW)e2>qsn5L+ z{kkDbDS~1)!(u(OYgA6k#Ac{NNYkP4IY-Kj*f&Ers=3oPB!jZ|e&S+)lClYGTGcX_ z(WJuUuInj#=amw_n4_sUDre16)LNM*E>DUwF+{sC8+c!L-Olqb{ELtOI-U9UrIjZi zIDC86cAx#urSH1(sxR!>@yj3hl|mlB|H0+D%NSRPol2ICFb@?~ND#p(TnKAHU_z(D z8&U&kAYxGj=@_m=NP$X0spORgL<3YKn|o2H&GeC5x4vFir`Ha?e-!@c^CwQfe*EBr zHM{N)zcT&TUApH;SNF~@bip~TB?K94og0@FvJ%^1J8x+)3Ol)4Z}F7}WY>WJXSEgz z#oWSBlkPc!mk&2E*3_Y07mYNmhAJ|i%)S5i?Wb*V^FuvtsIR_c{OX5J3Xmv{W=5B%8LTJe{E{MkpJ$Roe=RX=d^3%ho8t98xgwhP{WVE5gw z$m>8=YLKun4<>x=#rMCdzVc%K@RJmWqcH7tRwoDoq9`WN@u-`2Nd!Pt zm=fcp*6WK2bvK7*PU=-wgpILh!DN#vELb#IY>a0>y9zn0DwUzI3;jms9FP<-NR-Yg zZ$3LMtr=N1 z00Q19z0p&mTPXTaub%9p2t<-9s7%2BhL2%mR}f`b6oZexo*taT?1h!07i>qJAe0=Zdi}0>!iccl5+5s_AzxQFh9~Ll`BxNc5NDY@0wU`<&TgCVCoP6P^pP%REg(61GRqc|4}*4T~Qm{nXZ3u`r&NnUit zSkxKmtg~aDYu$d+&D$bMuO*;Kg1GFIaIkKNW$6lwrmw)+nszn=`+d}oH0O~Y3--mv z4wz$#t;ZZmj7@Nf;^t&Rk%^%_MR*uCUUD#%>wEQskb3I7E~}kw4ivNjhFN6Gr0}Uy z&eYLFp&^6RCb$eR0mhI{kOZ`GXg5X*VWh~&k;r8vSVE3~Gij_Q zQw}jV;1~LSlj+sxVd^HN=n-7DUD#Zwl|sj8+Dg@X7h`T{6?nPh@thXfLHcg4ta1vX zCwsdzPum9EujN8#JRV~`^d3P|wUUlH+g7Gxm5Q>@qhM1PxNzD;wboZ`h=+{vsB=1; z%P9#p8aIn3P_T&EX_6j9I_dpvAsTiP%0bm@NPSSl2D8+kK{_-_mF-QprLt8tkz(+= zeZX@{P1CaVDWmN2Ql`R6c7~#zS)JPusV^+xu{)o->)?a;e0lLVKQ;fEPd~N&t-tzz zy=U}N-1PGwzTp1Pe`kK@&Gnkza@Fl^@vOo~>pU6RAh$#|d}YBRRRtRaCLaPoR-puT z6eKW^IyFMpk&Pffr)`j4v>}O#2n3w9W&C^pjz0YeJ#-Jg@nkyG%hfly{m;plc6D`) z#?s<-#m~HM_|zU-uXHM!K!%~U=mf*Fv_3$&LDwlZg%7?SH=SqSa#nTPsOll}gN1p^ z?I=2+Y%q@<-|K{?V%l$83@AAo$c?7>5lQu*5Q=qr!VTP{2MukYCJit$xDyF33af9M_V zV{aI}=~e!u4AzcJ-+%MqU|T=*nEApVj?VP;xA)i-HHmJpp&*P3o;ImwMYa&@eSXaa zcC(sSOem>48Eh@V2yb`_#kddzqJB}ysueO};pX>G4m^EC?X0l+_%r&t%W=&G`t&Oc z%`9o?5(q>I+Sg*H&8g@a1PG5U?cA&f+c1;DneFwl{ZI-bexnlklr#oVu(e4#R+AK7 z5j8mFC?Rv68;oY1frL{71q>udymiD&>YKGDS@?>Iil`tRC=V< z@IWH#iRQM-c*ml~Cf6Z>JSoGn1;|>Wswj$Tv5^L<0C}QBbm3V$hF7249y-oMWiiYM ziGaegNI-Y@1IL4#pwbM;!k^r%?5-nIJa-}}H46Nf%AHvzV&001BWNklLnNlF=oqJoQ;^=p8Cud8fvgMcN?4Zp)NUkDH zQ?P_wQq%28xibCCh$#kzX)TpTSgM|)@_3=+JR|YvN z$T1|dH87U4X385ClQ{#%fQ)K(3^g{V2qGhzOfq2N7Sx+q5*TSQo0KW_Fcz&+?UM^i zpqcH9Cb!vE%IsN9Ohq1$J8hK2aNvx@;W2sp2;5*L?Bt7^nG9PxNzF_4t6!` z%1ldJgxoDic3>Uk3hw#7G%ll~Qp|yn)gi5BppYJ|)*-n#pz}hSW#lZ0H6;ouu&ts? zXL-m9syCe7eeLrP{_s!y-&^7z|IKH@Cx7k7PkMLl`4=9n%WaomeDVB4_wU~OQ$KqJ z4(&O3piA>DyM^ES#Q0nH^J$x6);kSX9Q;pH=a~i4$8jiY9=ZRpNpz25L#^n zOaXb~H3$POKw=Aeia|g~#NnN9E|M*kZvtwOQxaWw9T$BuspSdu+W{k(A{tWz4d0f?S?Vg^5&ZtZoYQ( z*7K&Xue#6N^U#sQuWXw;bjAhcIcJcc>EAuP{?cjN{`50TM_y^3KWgtiv~rl8tV67- z2*}zo>ADuNP}j66T)e=Kz0&`;FX~%fQ~lFd+H%qU!F%mb|3_VT*Wloua@#P@&)Wn0 z*Z=wM`n2=))3=!4{^EG0IcNzGfT<#?1<+HSN6BG0Ac^X|Pz z{$=;zf^+6Rc*WxDuJ!+TU-`hyzwzAJ=GQ*`*)NTM{Iu7jnbBq$ZA)?0Jr$rJPAi|uGVbvmu^!2NjS8EIQItJ44(*r8Ej zXtF4ZMMHxQtE}Ez?6`=0>XzDpm`T4*O*c)V-db!>{ToX%ZS*ZGz{vuN^gYfqA^}|b z(v|1+^^uJM8IdaMcT~7^i+!>0LJsT+2Fg$ZlDDzw);b6{PzcgD(s#J?8GYb+dFADm zPIZGGKsf{e)r|xOlm*~0PZ-dkg!kLK^`@IOryhnzoXR;+prTEiCa+<`jnr+2)cAU3 zB|#vRR1+yHfv5vU3#@V5C1>A${kwl~?~{)NZ2(I;*%JmfI^4TFBn+0VZRAX0oXHd9o`Y2^C z1+F&?oaNSzVb0CC;V8C4Q>vf$A#8C&SivB{o3bdVje!c#&L>_&k~Y#tEwLJ(!#aFI zZoD!(7dx?pn3MONaOx8VVuB_ZA2d_$9di%KK;koEg0smw>uk2Rv+8U@;;u-D4#5TL zb8I;eoJq6FotN9JWtwM7HdgFIR!EC9As*yJEoqj68j$<`Qj;LuoVMK|qW$!lO|0VKc_{y+Wx zkIwpg_Z2 z2vXAPespl;xqO-5{GKvv!VDwYBCK`^873CYZq<>rHx4qN;&i|a& zUGt8c+!wx)cCW?jccw>Qi7&mFp5LQ~j+wNMuM@=MolxZ(0&{P6FbzWBOd`03yMmnZMqce1X^ zY3oFKM=5YiF{0@kTj<h!V?Y+E_9 zH_cQPERqDRZWoD3DQc615)oA0B5O2|2trX|Ox@DV3;E@B?&}pOd7>bal$bUk@Bc~I z0RRdJY2!W^5ga@um{G4b$EJn`%nGVuwK&GdFVKHo*R`4?dPJS|f^VK zzV4#?@3@m?!4Jy5TY;Psw|TMv0@1e7_TT$cy5ru-8!ta`(>3wiyY`-W=_Rwa3w0Ao z0c@LWeeDoAs82xo!?Xn!g^ibanB1r zj4yuA58O1qbn@=y<;Q0QmDg;){9E5Chx6y1H7-8#wx2umGJEpiG&_@f%p^G;BxKm0 ztr2HS)r13}O-$L^6DC!NGf`x#hD0=`h|?d5t<7Y;v9m;lm(P#+pMAE<&WEyxDG+HgG@&%gPJ-&9hQjDe9XoC*vyTcQ+m zVi>StlhhnX9>b;#G72!63 zj3zpV3@)sOW@Z(Mdao|}LCI-8glG$6Gr^<;6kbxEk4puDkk@OLm@j&dxKhJ%4e_1#kTD+upVNvAYi+$vv+}7b_P>%22Kdl=ST=|8fNg+v>#jSWPyr+Ru_FK=JoO`Q( z#uM$6#u!8*f`7yC)tioPD&vB!zj~K`?T~Fm;b9B1#c=Cc z{RPFd-`bZ}TQUr5D{8~SriGhcHT~!tQOADAh5FzV3VQjG+b@hSFa7z~XP2BFK6tS? zJSiT!d*y+L>TnWh=boX>*(~o`s=xhoT&`b(269lMVmf%PkihJ8D%*bdh87Oz}CroZ*9N)Z{g4hSz5w-uOEGFw>;h2e|_}uZ@=S=-??-7O=nCWxLd!v z2X$bSDq_h}F``1tX{@2FNW3AG0RZp8pz!v~$J>V0%ZJ*19iPZ+=k$Z8p6k|5cCxP4 z5(sEv2JoJ`bz`~^phq4%5>|l`0CYk+P}zRA*3GaO8A|j|Jw#@Uk8WB6P zsA6`eX+x*%7D8B!s%!xee-CgvMg&yROY@bl-|_UW@2;%YT$N`m(E3_PDzJcBCIr9} z-Sp0}PxaFeZ+Ym2SH5w_Q`!WdS65eO5cOmeXv-wOa{QUqmscT@NC9PA*{X_N3X23n zP^hpaUfhmml|{MIYV%liR#7W?M?z5_yVQ%5{@mRhF^a#8~B#qmG6X^mSR-bJ}iM zx;*luHqIQ+TN$?=Y(>dg>evt1S+zb(RSJzM)u{2M?`s*jnXkN6?sJEfh#5phsm^R+ zzd~v{6D{Q)LGnJuD475@xlBrc4ypk-zQnxf3R|F1b)}E9gb+KYCgz5HmHNa|v@r!E z+zR=H0vw3od#98dM^)_Gl_AfKio7f`GKP6ehQzY90)pu^!+AC)+l3-UL*6^1rV%C2 z7JWCMtu8WYa6IUAM#;nKi02bx#T-Hdr)nzp&Y*`eo;{331~@ASlyc5U0>fZ}c<4qD zF6W%dP*OFSjLH0)pZJtzlL*L$GqPns3?DF9piCJiXUWDvE2tu|fkXo~8HSMI^1NyS zDP?PPKpa)Ga%wxcY2&6v+uz8OVka^RIn&a?hRtKU?jXf?>P6=iC(6Q+Oq)3~%|^ z8`56ueUnLYfdaL-KA(pIjy3XveNEaaN?yA*`EQSIeffX<^2NKJcx(m& zEH~&zz!(B$44MhsLQojhcGQo+ON-Uv>D~AJ?5Q_j^WK}^*8R!d4X&;R>Rx4*J~zPx<0nyy}1%om3kgS_Li)<@T6-`r9i+=WrK&v`>8 z=dvHvu>GFVZI=~iO{Ra`Jhg8h?i=8+W)#pXGM6z5APG(CHp9L~&`1%Nb65lnBq0NO z&s8RCnyF#hJ(9Z*wRTMvbNk$IKCdcHSwKXPftiCXZ8ai>2tW?76O6{fLMQ+{mtNV0 zCWJzJ^Nah#{Y!ld zfeDM5h1m$a9O?iLk(VI}VgL5Q6HjpPC39bz7L%wJmm(t|#sC`S?9d7hSqhSH*}lY) zop6?PNz5eM5vt{<2Ht}MCy@x97v18-LaWbz@{adk_0f~hIrX8RZGGQcf8(rk&$;=n z?|tX{F17V2=h!OeHym#kkFJcaLD_KD7It-``r3KjHbZag0ZQ_|k}@9!&PA}QqZStt ziN*Mo7<5dQ1X+>iBv7#@6#ZZ!i;)ECTnj-&5rdRkgVZVq;6Moy%Ek=Q8&d2OvyQ^? zP>Af1Y*vJ5w2}~-6l)4A1Ogk8;t&~4k|2EYGNo>EF-n`|#K{Cu218^MV+bQDBw(PC zbzM{jDJrVOP8myQfFPlfJ~|`HptKON4rvUa!mJ6qA&4AX49qU7LQ?Q732hZ6sU}a* zpL3xKc`Oxq3TY%tV4vzZimX+plt7hqN)bX-Qa~ytWf`#$ijz=ErQ`uJ03u{almJK& zLsAHlSttYs00bdY4ALkUydd?1M3_V#MlMT8NvGTaiVT&Dv88+i358KI1lJZ;*GX2k z8Z+ovgPL|cU?`Fv8g3yqHhSw5(Lqi=q_*^6Mtf^WY8P$c@ zC>2IvR`k+0zWPrOJ!Yzn>))>6`wu|#AN=f>Ht@z*Xzf@t*~_x$fBFyi-}_=Hjjh@C zD+qy>-**87;P}N8)JQisbP&LWa$PB=s!>mT`|g8Vc5(3FJlF_X0T3LM{NTC0cU};m zdUgCC-jr5$N2jk(m!9Xo_`N+NKmf2&E=_ZKme0AM`|h)|wJqs@Hl5R5bDDqXpPQZM zs1sMhckgZPd1d&4_ixN>d~9of*Uraw?cLhxJ@V&&_R#*h`R&^mw{EM*feRrbMt~x3 z3kX&qNtP!TVN$pmM*w9W5_1fkTzKK-XMS<-qiQUyT5Y~@TXuCvnaPjFw{2^-)PHbG zadj7-+P8lo2a7WUvm(jGaOWSGGtUw)9W^rt(;|)iMBt65=}%p8{Am-z6DLN`Z}BIc zWzIcI|Kk>S&e;@b~qPVfCK=5oJ>n{U?ka;JhT#W!}z71iR#bgAbs~@n{`jAT**g;i_ps=^-ymLyVDwmX0($j3Wv{(47;y-4(-yDR7MoK_kWx063zA;5@U| zUB@*PG7NqwfAEo_jPN?f%xs zuP#k*{hEd-TWW?OI2k3>GIkb($fHI~OI6xOrtM7AOxK;28oUzD$lQ`g>jp9#^R+Hu z19ld|kySFU(Z`T?<6Mth>}5t_Mi*t@MUhb_Wy!4yJTlaZK`4e1)uCy!$dOkyav(;; z$`XyKR0$!a@;JUg5VWk8W&>_l(fo4B9~A!NgxAbF~s!TZkcX@}W*D6Vlcx z0R{y;T1uvDMn35Vqw=1C!B@2^T9PtjM5eNinW%m3;xJQ6l!j1nn5H6Qmjqc71*5~1 zGe(i-Q05SkMG^@TBBDqPf)fxz2m(doNT?wty7O~)A^-~l-W$>wfdEVxIY|;JF1un= z^g*CPOfd;9F)ZIWB?1(bKrnhpk;FQP%mQMRipyqH=R!sZ0x(7ilA=q|U`Cna3XM#F zgESyB#c3s?!&VL|k3dcA=cUqh6A3kF!68KgZJZNIB?<&21VM7lBqFocBE_usE|66U zIz5eaBtnUqbPkB3%knW%lCFIW!Kx_0B$iBo6Qp~oUdnaWO1X2u$fb<+$UBK+1XYrq zK-{u`nH0hl)4@dpi^;{iqPOw^gygAyX(CQKI6+AY))o=#hxP zB}r@`5p}>(m4#KmcIOB2%b)$~Ex-QpolpMwXm$OkK6dp7e*Fs9oLv9=quYScIY*2j zpgj>kKNRH`gu3ohi4P-TS1pE$nCSx7>JI^bl&ow8}9y>ugq>* zC3fF66CeA^XSbcVcIMxn)%IehLmUNwK{BvBe2E6f+Rn~fNo*7*!!QSS(e@@=dv{jB zfiuv#B*&L6SE#EJ1D#*`dn|qL`s41|vh#EQ8XljYdw#Foe>iiVLjcO0$@H&XHSrgh zJ3AV6CaaHLrLJG2PuImIo4_{NkACQP&-exAN4BUpUGcfiQ=5zCim9o&EzhZ)2lrK$ zm&ptf0-)46P~JvWvo^ed6`mZ+|2Hhu7il=i(1`!Pb{-8sW+wTzXkJZCoCITzS<+Vf7jI ziKlfgCOYlQQyc`5tmUGO8gMcf*I$AagqNn9JtI2Oubz2UAKW!d9Ab#kkOn}6JQxlt zB#I&EatuPXYND+%B+r2*BN{w?xHz+7tTQ_jZfS6g6^EqTvOA6~1OdppZ3nJX)JLX{ zJaXUn*RPI?{_xDfC2xn(h5z4H^8b7yNTSkE88XD+*oJs&k6vAJm@R`b#`~kXnVp3Y z0GtP)W6DU&E*k;|%QROmDKj>>U#YMosoQOtx7Jim9S5OkkDYY>9i!PDz*PkHz*CyTzES<001BWNkl25+g1*2mk>kNFYFn1gIc6 zA&CCy^LHi$fFxiHMFKij$t(aMAqZwzA}TQnPU+Ys5{Xk%eF`~43Lq%~fPml|p5U|PZ~n5A){5~n4xY+3P3 zsW4)~!(0m?NH0>6DGO2ivaD-T0z6xihPi{}t&b(Ih`gGFlfgOR1qoy8TowZ_*%eq? zPEK$N%80;aCS%0N!HNTsYmUK#1O^gv$a1Cj7StjS5ml64Rb#c50TLHAI<1Q6>eT`? zr&wwf4q1)}PKqfrB1Pe~Qi+-b#)l+ZF?!RIfEuj##-oqU0s4HfX0=*8eE%c+uKeJQ z7d-OdT}MtxSFL^YD_^<$Umw^5gzSM3vdMP4Q=EC?BxQqz8Rk}wHdIHe14p)29Au|d z8KdM|&v(Ck&}J*;;l983p=NkAaD-gK!4=iwg1JZsJ?1Yt4s~oDn70$$nciyYq}EB} z^1$9ILLfyGC-2+;!fB^>lb?u6xF%m)yJah+j(f@VpA)re8Dr zH-`&PQJ#ty=kdGuE^R)rkXBUR`~K{()EBQFZr%o0T-EwdKc?S4d-W;n5C8cCqiJK0 z>~~({+Ku6%7wv%;>B@_%Z{AfMan0e`?04RC{a63&kIm%zYc9Cq*)31Hx(Y6ASe3o& zOgMBTY_G)bKGad#x?2ht2_PZ?Nz$xQk^}ZdHChBf3Jd@(ZP#>hI$#H(;?R;OHA{z` zTXMlIhaf?dE@d_b4k08UlsTRn8m$xiE+jG=_*05DTrdj$|7ieR$fr z5SKkZ5`ck>Ay(iR2n;CB6*=p0SrL&W#;{CU$A|y`o31~v8X?bBjO>(Z*iV>A*4n%N z)7y9M+;i~XA9(!f$6q-A+H=1B^PO)#{cOrnj2NZFvHdc-BTLa}3E5&(la(V-l5nr$ zvU15sSBjjYcQKl>q`Ymsp;qQYnS{+HiZ}teNJ^2XWWaE#B`cLB?6gQ?bP0unX@piv zLlnXIw!=&&v}}wh1){}4Vi6#wKA`F~t`c&Jf~ma+mqenR*n@XU3OvMV6)7PIP7$sO9~_@Vu3(uXroF#k!01#(MmKfLf3Gzq-)`!8W%nkk}?@a z41y{YMzGLfl_*3ALBzgGJ|TH8WI^$1U4WO0V1R%06_!wQ<8~6fItBPi6JVGu*~5>L0|m*ov=*DPXd7xi$ti9 z05}l)_=6jDg%SRj@V9VeSaCsb`gF8Mlo<$bXnR*8A2 zE2p7QO=z;3#oc;e{-0yB2Lpb>dLV zIh}?c+hbBzVOl7QzSROAmLnAPkadPus1;+ea51_<@TiGO#HJxsA&r+hYeGuaupEmui|5bocM{mR9~<&_l}o!j|E0IAo~ zl_&D|?j9YG#UEY}#=Fgr9_;U)$0s+d>1U*!2MB070W&BG_dh>yH2Bwh?)e{g-?Mp( zMa0|hSiAXwS!s-L4wm65CI@m?zVmk|f9~)zm9yS*9TIO8^)0u(?mIuZt5?b|f1-QK z8b7hJxj^`0MZe=)zMNgvhBvK-$Dbel=#>X>#n9}-jVE{NzN|J@8`rjKU-&S3*Sg~vmG7)DwL2Snbwp$kESjL16AOb2ue6o5+Lpl#=ZRVfbpM9@8} zMT1UV3JDP;Zai_U(H)5N?EK7cD^*l zU;Wh`_dobr6BZxQMY>Bu{_FMZ~y=t0OayucDafR1OtG8koCI3+Q_UyE_Zbi z9{VlJ=BxgmDP9;^38D-_M@AQJTHRf<3ZTM9 zI@i*SkfDSm8ljEqR=L-C&RM1U1~Vxra&%~QG)YOQ`>}B%LBLUlsu?9PH5UPca@H70 z$*90lVrqa4L0^bgrYVd&H}uiuiUhX_=A9QtMy=A~pvo{rCt|=D8|fAMfzij25M|^M zBMG*a6-G)aGvgR*fhrD0Q5O;_z>XCtqD|82YQkb-@0w66wF;AqKDHzofgmIa%?X7* z;5pO6RzNZ-04&9{%v4`Sj=-^rF(KzBqmT~8B$YrLEQ&QTdS5Rk)dsa2bX(~#pKRg- z(4L4wCBZ3LEn6hD(mp|J874=XA)+KjQiBMPD9I!fCIJzEAxLPmNHGMIh=4vt2`WKi zW+f>B&>wx_P81kJOi2I<03c2bkT3xQ3QU4y6wAg|0ECnn;Ii7;;jWAW5MT zCmh4njjDs?rLHCY+RkE9ovXOSaTX0K9B?TRupDC(-F zZYir;V74<_P{NaGv(&c63KlXGqK%o75e_S|GLc|r9I~S-5s)_#QJKcNCShSV8m9T7 zZso$_kmM+H$1_k)e&i}4g$(Ri7brMQ0)liFShpsMCb&>1pSWu_Vgi+Up-w*cxbJ`J zAO5qLy<*R{-J{Xc3RnHs=+JY0>zFZXLARqWd1HCjxc+ZHn4eiHwEinK` z4jVV5&s-!A9j|`-P4b3w!*>_r%THM;@mpWYF6kV1|Bi!y{aZq9uclU;f4LsF+;0!A zgA?ZFKmI?D+JQ4Ze&dPi=rB+KCxZ}m@0t`ByPy1xv)_8!{%cNHyyr>hyaf+&U8%PU zqQfYFLTU8mJFffm6&o(U^!mwnzpLFI%Wrtsnz{KGcFjFKDyC-kR6xx0;2aC8nAsgO z>`NyhGH8kI50!4KBLH>|5I|wBC{p&3kKoxF9^29X+g}7#uQ52mo@Cw%qhYK-1ROKR zZ^++Xi|J6SKpr|A%*dhJ^7K4_3K}7?V<=2}a>EK?JJVCo-FDqy_-5_1UqviEr-z&XfLUTfv@s?$3X6@b)+9|N5Qgg~PVk)Lr|k z{Mt>UlTU`ZHQ6nt{?N&|avXm#JyQz9X_MjpyO;Ey{)N{aH*MXnom>Z`ruzHG!YL=w z)?Kb*Xle*!5V9ZR7^~3`69hb;BVn10_b55t^Zm5Z12IU;f?6A3t0B*rR?I zP(k&pMXY2%Ty8M&%*(Qubds7x0EZ#+F#sM(3Czpe`iRmXtUqr}e=bb)x&dTWr;l87 z^L5u>{_gY6G^g-^Z7*oQ_KnAPk6yO+sh{3^^{MCUUT3IWh9f`pnzEoMNvTD0k|f#& zD-6a6m?zs6Z4%LqNo^XkIVmGU-iQX=YMmwDEahQWN`gQMMj=ZnH8N${uyGX!lOkpUgV3FfosI;!NYF`<+2<{) z{g6we4vf6e5Fz*hyR3yVXAH=+UxYGA#RQi9DAv*`5H3P5geD6`rnD7vM6ATBDsm=m za>RgRIk^~XI=^dbBNLT%ugzrY78h+OQMaHNC>Qx+zDx% zkd4s^Qc6N8$xMk3V`vG)2!ISIC;eC{Z^u^ELx$MtD0U!Vv z6a8xHx_oftL?R^=f|(NtBorcX0x1&v1PM|I7=eL!g54rx7C32=jT>Zn*4SA42^Ed=3Z!8a1u{o3xC*&P5{{+O*~rH-gWywSmW(+i$4#sG6QPu}9hg+gJtGKqF)jVz)5@SXk+WOOA-e^hgRJR67@gP&5Qt z77VmOy_{s0XQd2t!)lErDGI9`W471Hgub9|ntRaoF8t8juD$BUld31|1)Gk)=hf{; zXFQq$CR?pfT;KcLCWVXQ=i7&I9C1VYzz+V*o6WX;p=yvA21{!DS?#Z#86J2{e&?`hpRW)0d10O(*b3d#u4z~E zR$E1yv2|hRlBw#zRcrT6FZ5>*;g&;aCQEd*_S$^*Wv97SniDU3&mX_>t?zupMU$D{ z_Or)dc=%_7AN=6!4?n;6O;?@r&Bu4lJ$D*=&k!sl0FdM57BI>+oUD%fAT)=J8w7EP ztw$o39YC3{xv>`y4n-2%9_;@7xy46!x>h#%w}10DpZ@S|zufgeR3o+S9cgj*7F(KQ7AXet6^1-!a^;syzVpKyZhfl-6CFfc;EDJP~Cm6JGjIjyE6Z)tHBkk z|MuX*T~Enxy*`{c$shh%|B)yC^Dnr4hxCdSrn>O7n^(54J1xFt^`>DyJokif|MUFC zcVn`PkM0&0(MoU#GHEF=*Ie|=?yB(eVcv5f{K1Vfo&LLr_V3tpIK1}q0btO8TJnwO zIjG%eOzznm_SMoBR4ptK%WiwJc0*8XG6t3gT6I-vWVh@fMZRo3uUr9p2jD^WJxIiX z6EOsUQ08bdU__EQMr#)Pv05BN89JAh=7crX)RK`5*^u&{kJTL?n%F*;wmcF1$O0lL zC|c-SOrULK>IYXj&kjf{ibUFAykfoIYS%4}tnc@a%~U0AJnOvfb$WL5RF0%IL;wm% z$Q##{H=iVLy#Wp%411<|))Rwln6+fb01}IgRflCylGMNkBu5v>Oggcp42MP)0f2Xl z{+Ou;sL0EBq8wkr0xsHk=^NgD`*k-T_~pxcQn^s|4<7c99XZh7a&UH-8~{SDyvf&1 zTzuVBk2~+2=ICJx$MUA8FhQ1^24Ek7Yjp`4=9 zps)y~jKYaP33Hh|$RadWDMI1Ju;fH)6;m)Nq09gnFp)42nP3t`!UQNF5pYUMkbnf7 zl0bw)Fd+#Bff!Rt0+H_g{G9?IAuzKL667p!z8uPi2p|Lyq!^Qc$bdqk-~iJJ3Idf9 zvj9RRLK7h*;ZS7OHp#F6sjxLnF4ZZ@gu$~%MD1Pj#5Qrwq9ajz%vB=U_Dzqo1+E(v zlq5*T6+mf7T6OcWQ8j3i%#>~ti{wHsvnJSvq?5u3!&-_yY9%tOl1^SAYONcDtQ&BM z92giBdC!~)RX2oLl%Wn@dqzRv29Wmhh5tyVkw`=J}uA_46Hjx!Z27x>FVNBU@%~jR!L?bjAFptNHJ{eK=0Y~7WtEJ&p)xVeE3DH&bo|-hgit| zON*j0&{_52FZ}82k8f${t<9eL@;^QHh2Q+0ORm_k?TH^Bfm1(pbeE;gm0Z@_h%*{K77%nuT{?j32#LeRrz={67D=bK)te z1tLR0*(Gc3ve8CDnalTH!21@QTOcMr?9mD(97b0G0CjN9I{BBsi7)Rkd@?9q)TtG# zD$R$9Ml8(=Ni!;mINZ1a4xb+O-#b5Ca1nqsL=>->4=U^Iu{|WiXy(Ym=9vgg0FpBS01(=_{K(aK?uNoN)}0g-|LzVfzl6 zpdnahAEZIx3?l@eAU9(Y(2nNES{>ax_1X_#`^vMgfV02=Qm^b5fA;BHPdx3iGTS~o zwaDpj|Ne(RUfBA^laIUh%!_V3t+*Z67YAS7-78P^RUMgg7py&UVEa?Qe(PC3`?qa$ z*oY8fV1NLC9hpPxjNyS7T{zZb3dlmB?4IeD4r?f=U%84qaOR5DXP$ZS)ibZX5-AW7 zfV|^<*If0!tA6r>mrm-P^1-*Ad+vp6zyH*CrXCtydhDTzEB7lH*4Xk8_tC&)HBr70cTqVyo@6m_X( z3MxvABoe3EsT2aqgPgi-obW}X2d42Zk1{Kl>k=30kpyUJNV1)!Splqz%tb3wo+y@D zCWRr?(hDN=U_pv{K!xmaNRot)6$x4tkfRF`ogGuL)}$oyo|-L{6B%8pz6wBE(Ed7CH*Z6GlxMPy&l(3r89=Jdxh6Ip; z0uew6;8aPWKp_3m=k8ptz!fY|CgIDpoC-ma(()ff5T?M0LI9)$iBboEV@jAHgeXWL zGBhbk=7y6PVUUg2NjPHf9V(;h#)sggDpIn(RzPEFxdg{0kS5QU>M*PFap~iTC2FDy zlJJfe7#6W^1qP%LV)s*s-jD`>s0w>Uk zkea!`Ym5;IQ!YHoQp;f!ZG~1eElqhN`lKL5e>BCOlKmx!x;+9!=A{u6r6iQ16jG+Z zSF-NvLI>eus({&yxXvm;c^jMu6ADC3Aw{&67n-sbGnl;g?XgUImdRCC3O83OR9@8c zhyTB?ea&yW`t8#{y5p|Lmn<1(@#UL38^`Lu`TFdC-WCQXJ^O6UwHr3UC=3-JX>jct zaKYSsRx3#T=nMTz^B4a5@1NMsjU95};284m#CyiqzLwTne{^ESHQf`c&)zDZo}S7^ zhx;BtVLQ8IyuP@%>XK8gxaRE})MLB$_$8Qn+6u|!U2YaE&5pV+p+oJzKR1okfL$` zAlJ84BGoCxz_ll`0#b~yal?mCJ7?n?E}Z_ItFucsoWHRD(!cx3KaJ8;hxQ0nsChg6 zgYUoc+K&B8)y%G^r`Gf?xcwv7uHP`(2z|p6fd$BwoJjd(hM#zkUe%v{bw}8H2(LMzT^6k) zd6-?2(AZ9|7cEKVH=i0}!P2oOe0MP8NwpKtY_eWvLl8z0(W}oDqf-7yWY^bqG&~uQ|l-FYfCT+^Gibrpo~MQ zpyC+Zp>1^N06GUF88nYkWP06Mw0{;{SjN$5txQ=oei0lHQA@k?SHWxXe|Ej}vl};+cf6NRTR->H$6?Eony+&scvvG2L|bKRPx`!Xro!wz z2`(iv09zL$wpFgPahF0_oLu#1ZL??U$?c7;03=8R=LUoR4f&wJ0*;=&=&X3%6_-BxN~=2ZEW1Vo=R$}8jkQm2ex>d^!3+q*yxhQ? z09edO2kS4nd^Eif*)4Z%skd$^t|3Bs3|cit7@xN(mf= zygh}s6-Q{LgTTh13jtLuq{p&g8>F)Rs+BrQMH?ItHV_b?MR}&3Bf(w-L{cLY&b$xGk1M77O>IQXlF2hwH~UEI zCVClj#2P~b97T;yc@PrX7!ffdDJL=sA%(ihG75%3NOU=Im2#Oms1RB;%e<8^kkm<} zlr&%zQUJ-ED2nB{KPZttu5hDE0_5FGuXSA@Gs4KuQWHNFh}TLtv3l%V0%RNd@m?2$WzbI77-E*Mc~PT$FoL z-Dl{!7@bgzF?k0`2^jXp(9@XY1l6b&N}nsC(C`8R8`Rpgve*PgG{>0NxiCc0MAImd zH4}v_*mO7cIvq*iyeSZ5cHD8RYcD4z@_Om<;b8B+Q9N_aYJtA*17e0aAq5LGc{Y|C zv;Fbr(p%2C?v$}=?$pgYUs`iwQxD<3XPSE#vZ+`s<+wL-VT=@R|acjEh+~1u(`og*EKe$xyIOm=J*MIrsso(wSPdgjNE-lXg z_9LS(zxT+3lLoNcebXKP;ZyHA_nNCNI{VB^2aAV)x$T#-RiY1{x}x{=j>ZR8Dr`E% z4u{3%w~Usyz5CR+{a*R%z90Pj@5Woj*T3_lD$GCm%%WYOcDKE5@}f&u-+b5Ihkmi` z*{d$QxEuC7ux%;=XoPm}%r(dBv@~9LSg*W;?rzSmy6%*@@+eX5SC)hyYvE!(*F-fghKxBxZ=QxcjAB*d7KkPvtw z34{c~6G{kA2mwRD7#CcTEZLH*ZmajBa(cPT+%tQ2S^ND#yzl%8>xbFX2}bu)DO!^za1 zf)SB&Nx6)U1j8@?-FIGJ|9q|FF1xr>?@qt-t?#Ez3J6w2U3K{72L0>2=Y?18lj~cM z^ZLrvtu8Tg&D`woNBZ2ngRXQ|JJ(>7CXkJC#XvN+>P-m z^VBs<-N*lr+dl!?yQPcan$y_tH>K)hv-p+=WZ07h)-~vFJ2(C9ett#|^bXP=w)4Q^ z^X~ZE(H*M_5f=&wOaxpZphH&+Iy*^G5M5oTR_Nko(V@IF)6B*IrgEWBl$X|9C#FkL z3>9(~_8jXO+Ex5=ZEN$E3B7y#%H%MZ%F2X)c`>#uC>6DREYZP8w_NTIQtc z5`cS0w$(U^CFj7q6Th+y+dH?l>|yUTCj`(+a1Rg(a)^tTn0HH2fl^@{028v(W7@_PjbJ7Sq%m1xoC4v6 z10X=50JDsyPfU&s>6D33PN1NXk^Sq|@7uEX#P43*xc&9lKls7(UwU?(b2$KTL@oqi zWHfMeB0}O09B=@SzyZNI0y3@P>|~9S0EA$LR^>&7nLLU2G~~FWV?!ALK$IAy`2)r6 zpYD12$wN!ucJbQ=`sXZ}KiSH=dU(}OE}rL2!JD2q1Thl@?#P*#toK4%j%1fCHeM&jTLk;mK&xQUzfIG7>T4 zGBvuAV8N9LrWC~iID(2x734Y+Vmjl3I}Q?D&ahl!&L$~$2{^7~2!xy|3;Q7ILX-)} zCd+gqU|iEobDK!PX4<*Ly3qxXNl`xu76L{{#`SbqTNUJ_R023N$ViYv(~hGqCXfkW zVgfZ+$^{52M1lpB2^R(cI4^N9TqG!u0_#VHz*z|1127gqu;58@3G7b_NtB!dv4EZe z03m1mOOJn9Fz}oqW1Is62*`kdg zfC4c>&U4|aoe-1P0bCSRn^eNBLB^mKmFHAIr-h9ZDGG&^S809P9$7$uk;3*v=jqU5DBO!!=TMrDCYh=3J_k>yMRi@cTP0%4#GQNh|ZAtb0Y z^|g48VLfHYax$^7$gG*W~$RYaMnM5 z_Uqf$zkbe@*S+iE>#w}<@Nb@5KRvQ<^vJ}C@zguwh$ytE=VDHM`mJM-I&CPb$#=iE zYtgw=zxdg&pV?6pEuMkA%WZe@7hve5D`|sCxjGEM4^$tAz7VtP<_0*bFl~=5&FFEU?3s3jwF8JW~ z@%1Blv!h&Zi>_WqryfWzIGwIuSe|X8#TB<=IWHQ~TSs0kW_+t%?Akf`#vA+dHY{J7 zeBr$VAG~hC{BFHsk$7}TX;aFYx&F0{@i`@meyWf^@{Xn z;e5IG1kMv`awgk8$%{~3^tOu+Zdi3nt$fyHeFqPVF_T-sNh zGe19^>SGfmJ7PQlvB(_GnIlyr8Gs8xx^(E+wAMl-RRqIGa3G_o)FVViL@aS8aV-Oe zxOQ+7I^(o=P_#5x$U%4l01AQw;~Y2#t^^EL_`JFPP;s2Iflk^4G64K!5EM~dJSTbR zGE_&72y(yM5I=DsH2sQ8Zv2PKFFNA`cYo;aci-E;V5ul|A3iuTbHwSa0}=!b+%7Qc0$|c#+VFMIQ#3KR%PUI22 z$v8*mGC(v4>ZCFg(ExDmJkex3+xh$i`QXywGZ!v8b4i~}JW=SRXpKi%S0X}mo(mxv zFL9C9z3&KFRg8HYFZq&)cqbSX{aA@Zr$SytydIeGK2}f)t|}v&$;iV5DH|1>_x3tr z(TWNNf}ntBVxsC5MU22>fhJ*6INK%$1Obb9*gNH*g_%|073ZmjSn(o=GRp&@;GXib zCqtoZ0eZ@+2o@W%NC2I(fmvV3s3eSrO7NXJx6VRvz$6FsQGg;w7hD-^7G#Mr9#P$j zfG#j@ICTfeDsgN%af?`&P`EOSWSIx(py-ca9F;VIV<3*&X)ZW3@^BIWK$S}*Fa`)V z2M*{((qRR&+!rk2J)EaLutaq6s4#>)2#LrAD8*2z%ybgI7y<$?WPuR|=1#Kf7?U0h z1i?8XQ9zEsJoADhpnwqgm%s4Ez!?B%ficE>2n+zY1PojbgYR~fdEhY$KZXif1SPRt%g_r^w%1qI~YQ&ietdjXS zLYT2x&W!}tuOO4wghZRT1HK}17U`H*LSB`AkkL$mA~qrl0w6>0Ly+ASkuw!o!8)wT zR9_Nu-A;w9qs)q9#0zKZ0ULSlBQ7)HBViM+Fvcu(LX_H$l+a1eSfEHUZ_u+sDix?4 zYi^Z~$#odzxxsR!ju+3m&Z(zh8&op4zHs%=e)5SQe0%-#tG2wjb?BVg zhkx+BH#d*8!p)tYu{Sr+>j#g&dHd2w#3?%`cbQW!sdw_lfBo?J2d6g8TOPmjvYwAz zoqXo1`TO^c{c2Zh`#QFMMEv>H;+2=jpB?LLTQxS^qQUN4e4w$3_5b$kXKuYiFJCHd znse{z=U%a6^UJqJ>gn~3mKL9T?9rjkyH8npyUTZX_RYEWoLkoZ?^EjzloGgX@wsK& zJ2l+MfoVE3iCpQ5kA1Zm+1zSRkH)X=Kl027EBBrvPrSLqAsE6?j2{?YrI%ju)en3~ zl=0c0{>|!rjnRp0SSy{j6rd?%P$9lHv70>wOs!E#nQYPI4;?*tuys5epE8$Tf98qJ zJHPU!zj$lkqfq+Wt1laQ@H78*_Eo2i5Aj5uz2&v%Hf&rs-ExwNeMetMhhJLt`o`sN+q(9Z(aBM2rS5>I zt%=~`XHPQ8%PyNra8cpuoa#Dsow_g3yUCDJTJ4G|wcF6q4iD*Zor_%EQ-YL#q z`iFPE{RTA)eFv^MYi=sTwl_Acxax+!tFJ7dD1Yah-?;A9^Hcse2VPlu`wAEC-o2Gq zO5}?~$vW~Ue*VMXJij5&rT_pC6%c~K60kT?wW@1Od#wR6K?y(r=(0&bA~N6%cg8s4 zN&v{u-S_YccV549A3gTL2fz6E=ljo}zi!o3m3(s=!>rBv9E0W`%bUc*(X3Bfv-#tQuyb zELfgGSrTyOGHpD`V7dZnB`74NA}@^h5>wAgx>K)|3=&u>0{6s$d=H1%3rEI6vmO$~ zO4_i1Qb-pV6U;gm`IL$%iJaGk3IY|%BfxrO6mu_$fn;1ok|+RR01pf(AZLsa5Ey41 zcmQC50FaUQ$QT3W8Dl{FOOJmM#YiwUV4gzY0fGQ<1VrF#z&vsxkSHLK385c|JXy|o z0FS|WD7;gW3KBUF&OvU&{s1)y%ymrgb2?;7%6AGTsJCP&3t%9sRYTK+q+pqy6ns3m zh$NLwq{^aW5v!iNW(*Tm-!mP^u~J@Wpdt@8Cmrc1qfv@xxUccxTC5#=RbtHg5Rmm( zsgZjDLO~A$%AhBaj(~BC$hxf&fpfu3YTB6tuto!#X#689k zi#m}4OLI#C$+$dZHthu^YlhW&<_hn6WxDy)s{h>m+vz8!r(oF`XTSBrPyXxIPi`Dl zA3deAkgh+b@(`3A;qghPCLEp z@R|$enRwttHlwe5=#h_H``^FaV9tE!JFdI-rkm!iS^e@%)^ubc*4kLp8d{6fgT_=_ zN1BZxc5KHBC-xpBa4IHVBPdbJWOm} zVW?;Z5nvIEif(MV<)+%Py>Z&^T)6Cx_uuvYum1Y$c09lLJ?|TvdGooaw_m<;X=6q` z@!x;<c*sA`|7C9NR+_!Q7ph2phE0v^EXG!YlqycN94Mr?BJ1X^muE0JY{KXF4y21G~Rh~ z55MGs?8PnV4|cxqbhyewl0EmFrl?6(G`!BDS zqR!7=aD@{nXyrmaG~)j0C88N}LP!M#qmy0z*a0JNS{D<|tDREw*|DiASWTS6&XhMT zCU&vQX3Y2`$S7r`0HPWi0L=*uBW(bXz$u{jo*8v_ca9v#%w_xA+;JrefCLsO21qpl z)UsBK0mc%Yg?U%^wNA96L_n#QnA6h6m@)1ozz7_1g@B^ob1j7;Z8!4NG7lfR3mPZVbvyO*hxzJ8WbM4}o_p>- zZ}L-r|B0`DbMNy{{$k%yZTV>!m&(sQv19zuK0VbQ-u}h~XWw?i3Nwd>fA`J5-*f#% zpZ>@vZ));$$M)GP-*(4Em)u}`!;x(potl^FRz^EY-+**J>DN00A7G+>C-i zIEmaN0Yt_j0D2MC>%Co@ZtqPIt77;Mg+Hk85=McprCX=BP zQN(Aohk5cU)@~aU}}eB!+pT zC%a^A3Wj-zOT0_Q3SDGG146mnCR`L&TPYdDVrJF&22*!?|Ka742`5|PIIO&P{;szs zI{Wl5KfSOrlHBu)9g`GE0c8`Qr;!v%fwz z?cvMs>h6taRzIEp$D{<41Bgns^5uss>wei>BYE>^ns;>dzIoje4*g^jtP>Iz%&C9) zruY}Hh&JjhZ9rdNV|?`E_w;?|hm*;YYWrYb<#$D**>JCj%F;QvzU!7b*VTKuh8>5u zf8+eR`TnNn$Y$$uXDTpfo;#xq7goWcm~M&Rq_V54_xP4kunrPYU6$A(=L*Q$IaGzZ zy#g;bs`Fg?h!7wi{fjTGUH|e;cU+h6`@z5bctU&ESFXnuXr}&#+b=vaww@*8or0)KD6EJ8X1l~eu7%4%h*J~o+of?Z zMb@-nb*WDX00#g91VDno!2yYD&r2?!+y2^9&`3n0-O_$IWp3Y`vx?O(MduF2ORt*z z(G$8k19>JKfIx6TEbC7+wOb13Q_&SWa4_YBC^_z-RuZ70)qn-P;_a8XA8!WEgm$iD zMQ$`e{Qo@mvs-RB^^QC5%w~?oz0l8HEMR{d8eY@~KhQYzqMkfno#%2VoCZ+=0U#l1 zPl3tX$^i(`ow$E{aIoZ#zVa6AFly(dXgD~zNCW}NNswz=pK44#aNqrByzTPG9)F}( z0f?OgF|U6AzyHg7AO6d~KE8c302pupqL%b&Xx@MKg99sjzxVkc2w7_7M-_;;DqAzT ziW37?0aWYt?|tu6tDpJX_I~&J2s8r+bvx*$AQ;+|M73X+SS$H z*K1HLX4&ybm45Nuq1V^^VZ+uxy1X!ugVUv?Pec{%ry$RbbKn4k01yfsBm%4hCjdYQ zIXLIEPAi%zwnG#Nh!@PQMC{suv&*kN|Em@A&Pr#xCOWHZr{iq-x{u6x`RBt>G%vaS zo^4y7u~Q0dA(r4kx;zIVP7X?e00$?hE2IP~2K&0;ycLt%->As=f}1bzpO}8nJs-(+ zizPC&oh>kqTu#iFnzCI^;+hL7I^{B7a2IkX>k$c2m(f_KsB<19w@x57p;!b1tpq|x z`%oz}+YT~PmONT?Wg&}Bh@xbcbVrR5GGUmqz=dK?3m-yH%sYX>bOC*e0J1!TP%2r9 z6*P-rL=b`}!3ZIX!k5HJCNh&!IqL!$k(8`vaVhb(VA>aD8A_qAV{=j!37RM%8ea6W zaytsHZAn=$%w?ceC4r6$fhtjdnr24WE}I15h!abC)4V-P$d=VoVbi)YS&5h%s4(!@ zX;@5ZLZ?*4LBh=XHU-gB=}EKc2mmUvZ_u^FOc9o#ZgI0 zMl6})cD9IP2ofBl04M@7>G(KzeV&38oJczm!n2@cz~kuqAn-sOc+S80g)b3v%(0X7 zfB+}q=PU$*z!*bd6cBA zBp?zUlUsXKBtE0WIYc)QN7W`b=woYpQ;fI_zzd_TjFrW5@Ofnkzv_~?OT>yEb>@kE z``UFqvO9&2Ni{U_!;0L)ZDZoL_rJsXV6MXzD=HA>Q*~t@P&fH(z3| zkAM2Y@LZ+1H1;3+_tsWBaM$%9Wc{MWrNKGNuN^p%rP=cvGfCz1uODnFns{N-HC&v) zz$MAwJ?LK=F5Y!sUY#?2aQrGf^F(V0+x%8W9$`j1hx6`v$M-*R!HzwD$QHbB-j1KF z-tfFy_}unYFWlS1wv3NIb~P=XKe(r@@@B}I(a;FJF{0jRM+Y=N`^@sk&l9h|RkSpC z2l)vdI8Zr@>c~n2LpoNFO`$mjn4>LQRv#Zbx^DGrTXwew`l)9&%q{EsEbUun$L?ce zhx|;|ViuVPh>)rVyh$xa6~{^_VnJ~vVn;v_lkCzaLy8@iNOU_C+KU(Ri^>4oBF#)Za$1Da0i4v7o&a8#ZiUyd;4zAwqS`bT59U^DMvL*8J zdHAuVwcb<4*KBTW+s7#pyen}{S7Wf^s@hfM)}9k!29(Vx*VH2Dk>&T_wqlUS@4czD zWw+Cye)QGkg&mD^`sKYB(VSVZ{fHqhh|#9wYk%_}KiqSCqFjO)9WMbem@Y&nAf(fc z@eyxKo|>e>L>Jb$s|8H+B%5vm0S6F>^XvHj3;E<|SeMJ((Wu6Zf%{Vl5Wo_da@Hz5 zx&>ACk@tP%g{?o!v;lyqJZH&ir>|ZA%zMWM=rpL^upBW6)^baQ21b?=s~ zw|?w`eOnI*iA07W7|@`d7a&ErBn1i)6z3eTej$r>t<5DhZ_@BPrc>b z$Fh|x$9JqdX&?b2KvaN6Am@po5@H}Snp{{{`n?G5fsbGi#qa z{FRSie*TU3xSnafOE0+V-r=oVrluN1^sbAe<<~qmF=KeAV|E+&7=E3A37Wp6x zu&OLVuz|5orxU3V1Qx903&!hZRvHVL%%tbsNE3*Hv@xKyhM@{*Lb)rp<{)9sV5n#U zQCMDP+yake&@;_xhe?H5&vR!a7s}^6VAB&*Oa`!Im63%aYzIJRN)#2`5f=#EQRJd1 z*6o(n+(%YGnE{uwE|E&ydCHMV%QHuo5p@^|Uj!yhZcC9eU@NXf!MLIl5*s;yiqp(u zK!grPoKtWv^}L`g4=f4XmpLQGeZ@r)HnPx#%By1pWr1A9xh=TohV#Ub@ibg?(25eH zHc=9M$Cu++QlLHtF7iCYLO9P$$n1ba7l{afhy+StAQ%Fb4Im8eM0tRQqaO}GShY$!@@Q!grhBmNa@Leoe z01C`8P~>t;M8P`*ZdrhUJZ*UaY>a1*zvKA$KdR<w<5f> z9oFur%P#5tkL}r-(H64~3JS)(x!-NFaO;D8UtBbD$G3g9FMoEM22rhFOP@F`9_a1d zwgNx6Z0sMu*Z9${a$oexGe3Uceciv`^ipePSSyZ|q#CEiueX>tU(A?l; z_>sahvGT@KRC?}o^Dve;`23OcOF`)u-$=b752O$bL*4+gU_9^~Km+>3o^ZZ^U<6qL zL#@o&6x$h0Ygpd(9gpiFpA=cn8BDtQI$kqIi&zVi1?&H$q@o|kX+3{KypA} zav?%_W%oz#xcS4^Ty;~|eEs_^|F(Jm_R-nJ@t%cu-dOwXHrT(fF|M;0x3*r{sXAVOhKRwLN$r6T$J@80J38gh z+%<6KQvc?T3_a9h@wwY8_bt!nFPhwaBz=7sH;D_b_2hbWyhS6E^x{rzI7AC%faPpz zl3UWO0$fnP0A0YO#e^1I_V!O7+Ww+1CyM(smWX*(u^@6|ovy}2?g12%P#_R*J3Tq~ zbUapMTZX8^qJf*0BSJw1u8} zpVnGRpdvkdaR1WtTRYaZj_)0A%#7_`e?o96fUrEz=?-_mk)m?fRTqB#C(r!OPKBNd zo6zJm0s;kWIV9*w=&r6al6iXPpFQ}2GtRjDUw{0h3gP(Brd>mD`+1k!@@qf%=kJ@* z-8EkCUjD$|Lw`)+bN~F=10AT;*`RI5r}f=?%k2-0$jN={j;{LMnr+AaliY^a_I@p& zo;dx+{zJG)cgl&Fe|-GK&gh!%%AAYt`RM4b?J_DQ$$3d_UVr`0yRU!8x4-pwTL;#S zZXNf4xz?F8%q5NC%;~GrT&B^{#&+1<~r*zAy*AH9~tzPwS$9GH;$vBeB z=ic_I_g}nX`QZH1&R(^33)dN-^MFdqxwU~G|LfyxipU;6hEB?affO0Y-sz*C_{7)V zchep7ZoYiuOD|t=;putsc_-+?DU%vvK{^>MlSv}HimFq^F`<&cyoB7^imdT6%=Q&k zsl=((y}c#SiQ^Sxwc=g`fh7)c30c*YLZw310gHlR9I`s|x#Dq~cf6`t-y+YQ%M|BY zl`0GvSet1VffUZ7At?x=5WL_qaV=PIFw43;j<`X`ePHA?o+x8)Gvr-VR?-GgmJ#<% z!ibdR!WU>&j8PQ$jGVz!NErsuo`BpkYqqn zUPL@X-Y=vpTvnJ|5zj5fK`~JT*)Jit#2qQiWY9?HIP(w&Vugs7agJac0i_DQup*K& z$dH)eq~)w6D<0F}gXGEuhJiByoOoamzymM zb8RgrMUrysIal0~6LG{CSk6maY41@oUv`l<9hSs_7$C+{8J%&;gJ&EV7lq{3 zglK%EIk=?j`m?Ti`^`&_u6_E5&@%7X8Gi27`9l};faMq7N-vq!{@U-0uivKfU?2ZM z-qTCpeJ)$SxAn)K^h1}%>mpcnFs$1xKC{w2wmR$@W50VcpJt9Smrk?}?9eVJkN_o& zV?;+Tr^%zO&6}e}rT3zKJUF8zQftUO{p$3Kuj{AY(Cdf$b{@l^mVDuxH=la==|Ap2 zvTagEnOm^1{@qX4u3UEZ&z~ED2&=P2-gdb$pL?LRd9TU)!sC~-y}vJxPIpMVd_ED# zqp$7=-hbkXTlh`=NA_<#b*201b?SGA{ibc0XJ`v|VE4#rD>~z2tpt)D5xu@AePLs0 zwodlt1vuh>Kr}cwXs1(T0tiLb@C=eDabO@5lp!~;;Ii9ij*RFAJ^ab3H;;6V>`Zm) zvKC4LlM>nLjUV~KO-tO?O_QyTVFiMB(1xra-++kKs+G8}dxdVEF1XZE5`0Myp#`rNMMMO>+9yLvBT6_EzC97S@+_n{~T~cN~f;sw~b* z#s<~UPB$30zWHP{(+&g`u9Hc{Mt7=jZLc$KJ(k} zui15U&CFQGkSog?k9vBlOLH^9TAQ|vAB`I5R4fo8QQ-=P3cmY{#r=b4ERapszbvL^ zgQZe4Av{sMmrnj8bG;{Rk12bUN9)hPGLp4|WWBE)akw6?+m6)@@yGuPG*Pa>f1B(!mL1sjy%Y=HQxJg@4RMiYq+bN@W z6j)-bTv?AmRuS`vtpJi?#2XYMh+`gELrU2Yh=IxpIA@}($_Ps6Mslx!TO}!{gfo#S zvOo#S0vuUXNVaHqRfTgApiETeA*Z4yr13#2RxT+fW9~=@^cW&wP~j2dfdirx7z7Fh z#1L5EmZ4w_Apk*O0D_~#zzG8e2Am1b0{{SHjDP9zF90VXP7K(|hXju36GBf6SpYcM zwne}Y91#SLJOD5ohy(M?AOHmxumj>i@V(aLoC{)w-HGfU2O1fwn=$O%GE zWLjxaM-?gZnXoQb!G?sDy&dp8)Z4ao(N+_bvaVy$BU{{G#(<$ZKo(rzP&3K>cVB%7w3o0uc3f7UH zGaqoiVHV_DS`?rG7!z`B$w|r8TWXue@LyVCJgs22K2QG&!1*wPtkF6?o>QrB~MKi~*nRstZc&D8FQ7_uH3lc>JG#|KaQ8%KpA@Zyw%%D1XPb zwR|>i&tgll)Is2qY(1RH44BD(O&0xey!y zjVQx{cb4He(*|aS59p5eNYB4CGUeJdiZth&Tz3 zNR+i2Y2n%g9cG|f>-ol4KHSh|@6lHp%|rY5_k8;s@45D>MbEsvO~)BuR^yFSL_i#T z2Q4QV2ulgev_K~#s`aSkftuT=&pX4dP1LGQt(9kr3U4j!K9JsdX>BAEw|#Q?mi3b@ z=U#dfcTjR!s9duIAKBVo^>XQ>*VI3Mcj=rix~7`XU(Q~5OK;zeOwr(}!8?je5p=-$Jn%HX`YNI1HrUcKeE74N51zLCujC%MQhF0H;0e5%KlDV*nP^m`ws1BdsBdv$^a07Ku_d#BR#Qy z$wmAA=jU(y&(EKYo8#Bqxa@+AfBH|4yg1r_X^CC?j`K&x54A}ys5uHI%3~)u$gE&i z$(#&ENi>qDW#Oq~t@RABV5I7G&4#MjQkmovdM>DhCFf#az2CULrLFb~4|5DSnd&q~#xomId!dctGORX`*lh0{(7t3gpA85EMF z41usR8%J80XZSEFcX6G z0XQHA28@Le{^V8W0Vp5<0V80H1*TgaCKLna;eddp}xqUoV6M6veXVf0rZMkC(rxqy~Hv2yhGR{ zT4`#dGV2sw){A;%g3}CogCxj1MuKWEosf^6g#uY$#WTk`MNn1Q%S_hBv_esvTvE1> ziHOC8Zxr6gLPn(|Zy)WzVB{Q$7?e;}$5oa$IY!J1F9Igz2ynVY(aTRyUHZ_?!%y7% zjhEYZ-0|>-Z@YBVv>@y5pIU#{7r)-hnvE?VOjLVEpFZwN@U2e_e&JiA z!ogU_0f?GNWEXtq`lU~7IPmB-;^RMQ_w|df-&|k6&pjVOx-qTXbd(S(wC;wZ`w7`0hWmw$Z{r?hmpYeKDRo?j5Ub|h_ zb=OmJa&nT81d;%Oga8R0q_?4oNEZus@X>K}R21usj(=x#bezXFw$T|C6cnT*1Of@9 z5)vT2oFwO*oO++TTxFNFpBK^3f4|6(&(B_c!#M-aK@`>9bVGE3R3HLO z6#ys%)#sptTgr!imyWJjQ?T6Oo z8&Wvb76Rg!7JlNr*T4794?eSY^@l!oPnxxrb6x$A0mRixJ-&YY$e$nwD3{J!aq-9Q zy6xM)SigVMBfYcyS3Y;km%jV_NNW~^X6N9#8*jdAs-;g^GXIVJZ9lzcVq)W#9f#*c zaO-K=WZ@p(2~*RM0XP(3AQts3kNOh@Rp@2u_Jb}j+7%slb$5OAwrd9ZPp7`Vq|1&R z;?Mtaf8Y6oul(t!2gjj%^0EuBz3!$v=XN>=sTk;15|ilD-}(HW3hNz!R%L)(7$^kP z2?mruFkTXK=c;1j_Uo_w?t>4wyd#9xs&9O1=&}>f`N}_k_BR_h{or4}2}x*4KffeNR;FaE#( z_&_YWS~`PH8=w$i1;`vMfV}m*DT|VFNV}P^v70nyB?)qG z6(|Z$My{F0Oqn>8GnZ=~ zva}Mk=RgihY2M^KijX2!3d&i_bEuYSti?OhcNt?qnMhO&6bZ~CRXCSdgcuvoDqWD< ziWUmbqr#?jHP@RXjvHsSQ#Nur4;Vz^ixh%z%mv^I6(b@w?QEig^u$!eog>HFid89f znR8kfk&>3F)UqT(3tVw$AMDQ0jonL6rq&(aWCVf9d~M}8mq{eu})ZFqbTGa zl;CkJITx0k5)wrzIL?I!E14u`JqiWFf)4;3fw6!g95vCAoMi+|3V#26_cILEI6-{@ z9Wr1D-gC}<2qFN17-OLVjQIe9IAbgTgJ4My2bVa};ZB3}7TTNwVd0D+<=Sp1U`eHv z=N>f#U>zI0&6u}>)eE1OS&w%~*{Bq{QFVB1(U;m(iT$+2z>`Wj3ap4kY@<99^KE=U-Zs^t6(U)bPtVXbqRM~3A-1JK;rD%Rp8 zpYp+D(4t#}smy`qZNH0{@Ggn9(=y9kU@F2a&2kTMqGDDME6HAEe4f;lO%)@9fr|m+ zQZUCjfscf?MWfb1e!|H!BX;N)Km8?_eH$KrV6Ca1GH-FCGak*F*TqKHY&u}5Oc?_3 zO11v!D}T1I`^nLH(mdb#^=tl@j}@bn4jgb4+z|*cAh;G>12_i=8j&O-l^SV$X#CPr z@@l=({-2+^H=2Mpre4ZN3d_;tj!7VE`cDy;9Cv8nUj439R#a+Z+0yZavRX>Z^@3NM_f3>Jqqembm6(IQJA-)#CsAXnSU**H}-lf%8=Al2=xf^ZM!6 z&qt@k)0Zv4m5b%Qw=t2G*Bxka5V;}gwB*<~P-hj%a)Z5EDtXMwGCi2*2-Rw}QZILM zV}Sr+c7OjlXD;UnHKvRCXZJS_8xJl`QzcZhP1fYrflZ<9z!GqRwxL~nc5s)UyYS8v z=Um&-S-FqYx5>KB8kFCp}*kmgGc>KKRu`PJo$(@(hPrS5MjW;3lL;wuk zTibX$71m;J7v6hm_y4&nd1`m_;3xos0szcWfaD-NWCUOxF@fjQn}e8c7$xsDH!DxW zt#7!|W|wVFflxZuU;Wf48r9A1=hpW1+Rca3HN!B`5sn0ezP{>=8{b|3(ns%`@~gLQ z8D$(qFB(B8#C*E$M?d^Pi|s!07M*+kJ8I&sla`!t)g_BBy87IQe!1#_r&rZZ4x?{v zNYvDfQ*K`pJ8Pp$FExuwYZ2J*=`!o0EEyszk_goWVPHqJX+02H!v{R$ty>>amWcF9#&oqwUJ zEuA;}bP;AI^B2a5E0$k9@A5fc{fB?N>a+tx^p29(?deWhOj>drC@NJPaRZjI0)Um0 zaxlRF0f6Ub*WP`n_8dui63R}Rl+I^+zx?Gn|Ml=w8=u;sh4{qZe{l289VVLq5(E+e zm5v}1qm9l--hR^`H*UIh#R^~g;_Y#D_WR%WSbO~G18Ep2SCDDL3t4yVmQWE=xeB2G z-kXGG*W9R`8bOMwknyW{9?~+%RzApeWO8Lg zOLth|Wf0(4fi?;{xG_=^B=5CAJd_+zRun;F$<`q@rs;iTGDk^FlDJb0(>}!zp~<|L zr68;lP<3c1uPMbvK@cICs^>umOAM2^ieNlBEg4CnIr1PNLg~3soC_tKQfC<64U=aBI_k9r%IfKAFgb;u;1_*(C2#B1JLh0xXEDHcA z823eJ?Q9dRU5r zS}btQwMA%KDdMH}z zf+GPDNMUR^xJUf&J=FtmZhdHb7}}O>+^LRPDegKxNs6wMx(=>+x&7k_f7=-qs^9Ro zS?kwqH(Zwt0f!jm{5?Y#{o=W;ZKf%8%otSkt@DzZOtcS2U%yUe-J^frpv$`U;~Ow4 zMV9~oAOJ~3K~(!1&HewmCVl(`x2#@1W=?Yb!szdBgz;K+*G^Au;|zJDwjU`b`jWvB z_R}}oEayj>t*tx5fkuE_U;4JM>GCGOEa09{Jx{0m43UX5m>x+Ak#`hW-fW~wcLR9< zbI0}agSTYDhIJb!(zSiv9p$F!w)H%w5fTROoh|AB4 z!$3Zf;fZr6|K+jH-d$K;EGDOj8%GL}IUcZ+Ipj!)3Xl$pbYe6#DNpkmRaoBbwoOKd zr}I2_oD30lbx-f!^US3zjD=$D!F15^W{$+>X%>PM8p^o?ASB(+><+(Txm9yHgEjdxNEHZ!bku4(%YBKnxkql+i~#G z&1;`aTlU!(2V`yj*x=+f*MIo9nWvp{=H*wcSh>Hkkg@|gbVkRv-E-S@ylg7f^zg{~ zS{QrJ-8Wxx#tCgT|E}v6J-zKuuf4kKnYBZw^`vK9*t2cVkZ*N7Aa^K|GVm~~cOfhH zwXH4@0hLcoTf=X@_M$HwdgZW) zkPr!wRm&$_f9C0D-`MrN&#wLW-B&;K^8cPXD_+wEnA(5OU3a!9W_Cixj`7zu?RZqa+&3+PHHT7s3<0tGs~1_roiWJeh76efI%!xYqSDUM>Hjr5)*l3N-(A^1LHB`K9E2U29fgs z;V8^17zE7&10ohUkz*Vg03u_=eDJ^+zyH4b0Ua?3!81SxEQAmMfd}*y7%~(&$Ak3{%ATnkp*ntjF z94JKqZ6&YeSqY>>20UUIEDMr?9sKgo`>B^09~p7wcM!eETfpzN71qcN=PJ0dDW z&NK2(vXTpJW_yxo6ylEaiZ}`HvlPo+5fC^Sl+=N47gi9P(AQ!bjJ!`zu?+)SDew=JGG(z29a$ydDFQL%9^=jxtdjNJ>Kd2&9h*5 z`rrrf=TD6N`!mpL>D%9R#>0CKe!3r)A4{7@%{!O-)vwxVS07kX&8qcnJ4UZKzIFGN z{uhrIBdErQ#ntbG{rl~a27T%?R}b{8he7$B+mc(4k+ZaZZCorpv%5Kl#ycjpu}%>f zX@Cp>EP+t3yz3{cULPK9ht$zj8UTeRlEfWU>b-^;4(Jg%p%*YvU$}hvmH+UWb9>8k zMkj{8_WAFhcHWJfcZ?m{x0eC|Ag`yj?)JC;XdYV^?^)k&Hr# zCwu?$#bKZD*>^*nfU7eXUnrUlF zR4RS_v+7h1qpkF9i{^ExJ+$rV&6`F6xzg2}ueh%~Q*7F_nG;n?@pnG`<+(lb1>>-Z5G> zJTebZKw4thEJ~Sa)RdAKrN(fKFhtf*KycD^=fGnY0&xkzqL`T$gCL_`YqFRtV;jJy zeJ+tC1DnW7*7RIM7C?n6a0d`En~^ASFO@8X!n$ZevwH9W1u~}r3KwNy0$`Lu1rY-< z&WQy~h z1fZkglmv)G9)bX2m6&fW$>e7gbqBBN9&u%gUEXNF^gh7}>SCuhY>r>N$ zQeYq|psdfO6cuU`6Dir24*;Y?b$EWxSssTH-EMEA3yzH%k7%qJoJh^dHMOvl1h2@&gXvhQkq9ge7*`Cb6Ae+l`iFy z>sEYmy0iMGyZ`MoH@$mev@>+%NF;q!y?nvIom;m&{qm;W^G}ICdvkUA_5S(&X}Zt9 zmE|TUP5=TUsen)?dSG68c(mBCo6kAE_Nh|^HA*KX#e;{#V~1hslEZTrNB?>W#nY4D zf8LB=Eu+E6x<>bGcW@)qXYYRfi6>v1Jk|Sc`=4&MN5CNP6Dxc6xo4)>n#uT71)n^p zx3v*I-{@>^3OB`;&C~BYh5ht_QPW#~{ME@HtO~z0yY$(MJKZQ$8B)Uz2l?9LOLf<+x|Q`t%3y66iY9 z%}yT4o;i11diIZ>{B|)>kSB%EZku&`ajF0eal2u>qb)n(@m1!?o2Ie9?HwqUrv zZs~m-OZdWjQ15L1@OfxBBm-CnmjN-y8B%a$kvyvkVSKenkGi;UT;k@$`G(18x^2A! z4~`MlN^sj*{BW9W7{#4aIL43!nx<3S)hp7Kol=Mi){CkSiEw?rm18cxHoE7w`~LFe zV}E$?#dNB7-CH|o&)QjY&uz-Hzxc(opL+gv3QgjP;)~EV#t&>@9&#EE6-BOVRmoV!N#tCxbJIQ*FL;+XZv@5{?Q+Q z@juVMGUzPjjK-(N2g1%-ONLji8txDkE`Mp=lN(-e&88`u1|%pQ8x9_b6ZxZ&CISo~ zIOI}({@&ZW7EV9AYBx<~xg-lTGBvgL@W3zr)QsivfnI!U9ba$n5mabOflUU;%n2F6CL(Hv8YQOuZ&0vYEV z<7$#SlNL^wqV{wm6Gl+Pk+f(jC-T7v)SXOsMV+E8SyGWbP$0@+JQ)J$1S>;8p}l0W z33(<(Oup(FC|Poa^~|9P1@oaJP}G@iD;B)BsG-Vaa4coQo0<Ir63oK$eX5%V&)jBJkJWQO6a{wvZ$6|9s){Hnhd5I zDnSIwqga%u1Jyw~X}EIU8Uj`@TP855OIQS^ye=}A2g57c#WEI5aG|isSfW(OJB2eW z)R9PlihwNUNKzTah0jCgy{?p7ko896hFPDJ&?RT5m0~5%f(NfB1b3eM689ZXDwGo; z3q{?&%eOQu87a8WeOWPLb2OJlE=`OH6xI`DjyrICjwa2xQJkgq?B<(4vY_|%AOHS$ zGv~kextD)<))}|Q`pHcPE?C%e&d5_6#or0xRYYC)-Tj|up4FGledwR5HyN#rtB#eMN$wP-JRcK?{LMbQ}k(X-)OSKu4l+rQt27eteHJcWZh3T>oxIHf5Z z-hw?R)ptBIJnYL0-qs#_@le`e#JJW_S|0U{sJER_{mcmi=gdh*ho*jT0*?N_{-th;p$&rwfiR;3;L%X*?>km=FyV?GT=aQ-6YsLWNe;u zXQHw$RWTCvZ+!ayHrV_lqZ?tkim@=QAj(m-8p;AIV*a()oNXp4VA0#J&RB9xrv*mI zp*^`ZQ`~Fr>nTss2o$Uyoe_M~Wk&bwyqS6uN`N6(xAH# zT2Km501%`=Rf}yzAwV*+7C4D4om9v{z??pqWPGI4S7equ#{q@F>y9s-bWHa07`P%m z*k(S*+>?+5iE}JQ;AO$9c*@mR{liI1FFAQhe_pCT@QYuMSZh@H@)tjF-28ZSva5X3 zF&iI$^0w>xdER>Z<*k?*5kh?~V~R^}|K&D)dTH_x>(l?*r^eIB!il$D{q4(dJo(k< zx8L^mTi<{8=T@GXZP~tOXxyxQb>kC{y?W%}Q2&Aj@3{R6Gu;`l&r6370QW!zlL%E( zQ5|zLDcyF0F2aOtrRKKjPSH7~!kVb6};qubxw zb?f!>fBBm}4r-{&93PewYf-~enDjSUFQc4|=gLj4G3bZlKvxO*?3fEM|CrY6M7h#l1%M1$JO#zv2Ibw(q1Mq@-?lCQ+>xwFA@CKFg zoJT68zR*%+R!5<1C95U%fR4q20eL||i(F7}gq&0sgq$jXc?Q*xJ78XR)fCUnG+>gE z3wflGWzbqb_|nY2TcUk`99p>K;;^K$xM%gl*;#*g((M;k9{%07%a`B0dvfc_t~<)} zx-UO={vUr;UViK4XV1yrI56dBR#%?b+uxU^hux8MPF!A-&HKnbD^~sfj|VQDJzOcP zKRh)$+Dt=AdO$D!V0XOHue@H+f&7IjJ~xTJentNUe|KUf-SX>~J1?Z1mx~XbS^nrx z(hIIg<`w*Bf61vpFd%f?JEMHwE#1169vIBgy2CH-Y6Qaqh@PabyX&L$uXn7xdf>!7 zy!o3a?e|~4V07bPs1L|48MnIIMQ88eH3Kt4V%wj%sdwan9?eW)xwZ7%E9tJ0=@(yk zG>-Pa^2SjA^6qr!!DUNe+m=?0@f}yy@4Ln98;Fi&54nuRK2a@=NVA zdcwYgd4u7-7t)Mq^0}dc8dDEGgOk%;@3^UZcEom%7~_Ca=Kym05MYGkrWG7 zf^)r9ar#_r7IY}@HO&;X1m~27tIw3X3fCrh{h*w5s^thQAdzE0jtF^~9UH}^|M=<^ zr=M2a^4jQ%d2hb(@))5dlO5i>o5%`)p;>P>T>{^q~lE>tCs`!?@-X6IiXS#13<+F46K0A zRip*VDCWU4FC{o$Lt<-a=o6O1( z5pbWF7%FLItpLGAo1tgC1dz+1+8IQ`8`7AQD3fI6U^3-oh*j>#6^kXW*}`#ewT>tc z7fT*MGDAO&EIaX{oOVBn!d0a*yFXl5V) zd|-ij2nZaIfd@dtKszufC$Q)>0l8ot0ueDJ?-(471A&5pM(7xj;4)8^fy=BX!!X#i zaNuOhazIW2WX2}Rhp1r-%di%_qt)wQxq> zbY0ap5VM(dDvu>JgRZmC@fq@9i%7~T=cvs3xdiguxDJz%6CKy6SveuNDk*8)AqW+w zYJpHtUJ^Lc#0ogniUs3PDG_pKq%9G)At_O-6J(Oqq&6{fM`(y5i4k%NpsQRD-PD2PtYMmDlj)0|gOJJ%Mj_~kQ)?!No9|GxX5)|6*`(Cze-YdlKpAsLqGrqRhUH0#pYl8q-@xeJ4*Kys`&D|w9w4C+T zdwpm9i)QnJyE;3f#q)l)$zFYR-|C+}aHw3K{pF9J{keaBLU%c6H6HuS!0K&NJBIYn zS2w^*=RgQMr~8zPS6;V%)5F7TY+ z>BEnSe>%PErGsPN|APb9PQfK0QsJr^WCFFwxln0LiDn~9%CRfB&}Aq_`p>P8yxI{O zj+u4Vh3B2}n};8?d2!yU*WUilGka#nV@Fy!uOCrk%|5)MN$xAO7o)SAZ{3dgqiqI`6AhRGrfSfx+ z+E8)A?y|pOv6Xn~Y1h8B?&okJA2_9m zj`__WgfIZ$KnW1C zx88Hy=kB>RW$e4(|4Dm#Z(QS9?(5}R6c(Rw%#3SpID7HDlcpyI6`BIt^=kKYk!hD^ zQ8lz%flE~>Y2*{rZ7x9?*6xI^?rsE|dlt|jFBe(XRX3^ajwKN=8D==u$V?_O)Uoig za880`5v82<>|Rat6+5Q8#2V-<+LvwQ^fhEcIh*)+EBs?$@hWk>V$tEOsQbxwr0%m10tw1_h0#s2%S&OS`0fiJ1Wz$-< zY?u|rL79q+TiOT4W|XBOk#fb6LR2a{9N~VRV37$VIXLe*qDK@SK%jSy3&DKw0+4_s zIu{rK#o!di(sfc4!Jy^ z=z1*ch`}$`|@j6CdFTT?X(^qCWfY_XjWNi7KDyxb(dx- zx$W@K1HbzIPqs{pMb)iun=$ii|9$ZHt6j4Y3P5Por81G3(^r3VO>x7G`qmTR=g-^A z=XafUy!+Zo#F?4L-yKlJcn(Z5&9PQ+{ zo?W`(uSSwFMQ#B^SiFG>C=b9uFY!xdaZ9f3Pb1#HqerOn&RZ>No!Bfky3xv7Idu%cAXq2a`G@A?h*_=0ZU3s8UY` zE>jb4wVK1ZD(QFM^s!HV@Wu*TevJ!H_wCUS-E~=~h$~JgUaQT>+a{~3WOQmos>xbu z#;;d@>(>uYyzt@=UU}u2pZ@8o>BE^Ra$7)9AP|;Ze9~7w`Sr!~-~QJ2^~OviIK@@p z-0lTc^M#KJtliW8!oA&ZKXKvOsq_c;@SXy`w{!BG8NSnknrxoY8@+EKD<|^$`LH$X zEFb9q{PlkKB;5Np{_DqqlAf)**mPm{4jGq_R%9#+fe`-sY9oOTkb~olPUuNzH2qt- z-`U|zaR-jt1_WKaQ02-@1=I9;I0dVPa}I%W2MYVJQ?1+4@BZ6o$M^3%e#!N%+Pv|` zZqw?VxAd}4efW+QC)TdK;^h8WSDtp}g&W>jS5CZ(cz4--;H2c;XW)E2`qp6n&};tj z-N~p!0dw-nNt3;TMe5A|UxA3AnA)BDJRKZ+dj0w@zdu{MamuUdvGK`PyS0APhBQ3z z+S5}Q&Ty0a)3n{m9XF=0uX^ppvw!fXBjej&`{287K5bdw9k*Qi=VxE*GzU2#Kl(um z4g@Gi9^s}t&f2@Lb;@zaEL-0E>{tIioh&Ew&RM$f)I(!kG`?LC-thMKzU%gLHxEsY z?mFaLYDyAx4CZLd-5QfNB3YaD! zaGrHq9hjE9>>}puWF)u)EdrDxWk4{MF%f0?L6Ibyh=~Mjp|xj)mXJFyFbaW2$|15o zD6Y&j&ysdkB?*+qv#~CQyi{`D6{06bYIRDbm^0TQLXuS%Z19hHjCpd3Jg;hq|n&XB_xA95C8*fjOoOpl7V%>D9W^}OWn&{kvWtVCm@ML0A6xr zI2R0M95F%?p`S^?h#>=HfXF-nBLD#*1O_a?(QzDLo&^?;VgvZsNmug7FtFf&I4S}M zz#&k;Bb>Sz2XM{{!I}4Lh_N~b1`LrgA_ts+dC&F{m4VqnjC_ef@HTI|aUsVA)tpO_ zr#U+;S>kwREJnf^7S&h=s!#ibWwy<{@+BT2XGSr!K8bwYp~%T;E!vJrp2VgLL{7}J zb_%d6+bJn)kt5?k$eCwoGifA*NHY%w2AsAdvFx;*=!&$p);caZt7}&j!n4pJ6GP-o zRv@Ct5|ABJki0s3Q27Tw2J8vyKvTj4zxiYO>s+ z=^m|G)^eYcovpy8fh8F7qRRyzLeXgEgecGz?Y!lJ;<~F|vqghU($3$&(A_nEcDnh$ zKlIBV?iy;Jb@Ejz|Bvm5<*Zs~$DzL*ncTJhci;N@qdU{gefsXcC!RbsnX*xR*3|H@ z@l+CW*7@C^xm?_JR`uAVed874)RK>nsK;4yN%zzb-tvPZ#p>Or5-qKb-xDKPI)h{cTAP!i}JYi|q2=K^In>s@rl$rr3Rad4+v{lKHPZ_)d%x}d8RQRL3eD__mwvIQ~Z*;euW2$h?EYXHPl(x#ylm?_*s95y-zceo=fKUj`sBKn{QbetjwcVw!JA0wVyV2eE#B z*RJE+xAwa$Ufl4Sc8fpz;Tr)jyY2c@Z+ydwV8=^0Ddp%KO&YH0bx%kExngV&<1my# z1)2uew3@gjRWVGl*~B`J3IT?!&3C3R564(GL33dtf6L(`Upnx1g24+ zhK&rOTVOJ;>ttIh#8)7Vhb*8f`!s1x=w{?xe#9jYf@ddDI?=@ zSVBe$&zkFuH4qD{R8`C=AY?Qynd5|{qc6ysyjkZePZdUFZeXNJ+Rf2&7y=(|qz)QT zCd6nJ5@1wlV?;#21PF-4NdypyASFnc5Co730whL20hwP2`5dSzfDsgAhLj=#A|ODb z)CP!N5-Sq%oD`)|#1tec21v*RB2l8!xG2R6kOYPZnNBQ$OB-b&LgVAGLId}3>2j*nI220|Iq>f|VT-ScCslZjEk+c&si6WLh0&zqpEsP{ZGMH2duEC9D z`YARH%VZUd-Nh+0qGL)*>I61WXj1HnifKlv6)h97Uf=0F@bDvF{ptNL&6d?G+xD$p zzVmB;zG=(mU*5Cf7msavVZ)}Uwx8e->X7h>rw^T&qJzD(^v3No!G7k(@!PMF&zx5` zhP``VtM{}bIQ(zh?ZZz^o_Z>N?O%rbc2rMnmr#Yu%@o@I&Yg4je)rJq(TckH*FW3X zy16$~DF$&uQLEJKOda<{;UG{wD5ABog6@*{eCRXRZ1~wD$Nhq9&foUqum9^Ezx{(e ze|6WZ2dGOJu{c_vy4p@GcCjaQsVe8Pd^DlYbn`1;`Q+Pw>&=7d86{(N8tTF1z4vZD zFvZR6ychTHa1-8iFKy_0wN@k7-|^8;ynEfoUp>F=;4`bvxbEt;7yYMi zef%vqt$F%|7mim7bMT6F=U?@vi&u&s^s>G8J^T+3ez$Sr_|$CCi?u`u3%6qbI<8_T;LZ~9~s&QGx#W2QKdwjg0P=JN5n+esd z11H7s$n%?@UUB-!b9;MJN2jwDSKYGi)Teh$y16+C*`C+>-NlnH@1Fd{Lyteb{kbI_ zeDC>qM$2tESlx3#woc~H%|TCsqj|29oUI%MCds-AGBFt}Y?;wczGhS}A8Dps>dIBV ziXtHM`GOdg;ttqM$d8BF2^S!S3V@f_HmeQ=@|>-xc8-n(Pxo|(DgveVCHTe{)NTrWK`H~p{Q zzyG?c8V~*Ac~|r}geU?K0O;Q*<*!eQ3SPetfkXfU6jg|UB7{g3iRPO|Vt^xa)wb=s zFIap2x4!YahbQZ+&cG0;sB06zMPqbTri@t!r&K0|Pr0;{D-+g(h)Ikl?OoSqNt%`M zuBx+!m|%eZK^2`cyY^ zg&Mr`sldFU7lC(;*3F1`ce2bw}rkRQeZ9o7U#DENk zLr=s)Rql*afy5-es4DvkNUL^o)tqnjW3!cGj8#>2v>C(H_sU^hF&aD5an>1Z3{;(m z2HJoqv_FJtYM6FCs9CjRm>xlS9biy|nQeJij2t>XlbY&pf9`+sXyb~Ty4hjb8Pi8Ges9mZz1zoT zdlLcx^TL$~NZ9mze&q$H?mKj}+0~n$E|1R$3II^FcHsr%`smR4y4e|L6ERS%94P9X z)vc%I;^1l+Jh}a-n(9rvRWtkVf8fg>S^UE0nI$)=kDa^vtjT)Ilcxz6U;Xr_AA0yv zY9uH{kf62dyk(1uO0vep2%R!DGJ5H0&0>zK_V=EC!BSbx3*le;!N;2eB=|K+PDAV3*T@Ruh6ExqEnoA^ynVUbfaJN zEBL^BKJnh$uiA4Wyy1-WfBoJ4@4oiEZ@$_+@T20MA0N5!!kYx@cigh_taBEB=kdSa z{_4a3^_x$;@7Aw=@MFy%Ke@#po#g;ggy->x2m~Oa)5bfCm+Ffz#@jEjcdV9MPosx- z`fu-u*DWYlDfQq9^_k1eSN0TR$4-3X4r-LsFD&7``{KvWmk<0enDTPzlEy#XOh50N zZ+xfxPzpkx z1*;_p0pxCWIywQxjkY@HY&l-?$pIfJq3}f1b#sGIRt_jahyt~%jvYE_m4;YnBZr>Y zv{@zJ=$Ns0E;_dDL~kyQuc^9hKX{J2=6tt*U+=zy`q@c2T+*zwE?9CRr5#&&Nilsw z1t|)!28g6d&{gV;k&w57)zw?Zs*A?Mx=~oZ)O8k0G=yzn65SC}0z^*8`2av501!-= zpF@EOfNB5H*`I89{D~)b#sFniOubsf5P$?k0mwWeOsTkd<$-5jo{Ck7Aaetmo|<|7 z#g{j3y62}4+;{JWhc-X>;H|e`Q~S=Ill9i;o-C>=zK$bhK1~<^3@BFg`sbv8C=!5( zQ3?bsStMa1ex0NR05DoBr3B#gC34x7OAk#Sud1XPU9qVi7>2UICJ`t$L#*nMEH|MV zi%`a#$4r)z)e;;}*Mp#wNok?iuCS~XGO8$ZWf|M3abcEX8oII(nz|K`gVN19PK!pH z8WzaqNk!xI0zgl7n;R|gLCq%_gE)3Awa|fLYsHMS%vht!=o+{nnxXeyjV1=xd7Wz| zi4qYg2Z{QeIz%;l^aP2#RUt*rL+L^;A^IrRRsiI3oh7FtR7501sL_xqQ*2ksSrTJZ zM2Mch@cFxu7yy$9FaRO| zBSDNYu|VYcaPx#oQq({~9HSSQZ*G?)3djk>yY=OUr1a#aVjQn zW)gS|v9{Jx+ma3KPj5bd&^=z*k zyR|iTN}Y~N<(Y$KD@#_495`_DuK(}_TE1b+eOslTt#S^%Ebw@u7cf=3{F= z{YO`hx2D%De&;1;UY8f;&YAna^N(-%_V=Fd_5Dynt6S}S<;9WF<>#Jr@x=CHbK%TC z`MniC-SE`Sx7_;fcieE+`PtZt!>{a}Si1DgM>oh%H$2?CNDke%@xGT|ojE*F4BY%f zGyeZ1t9FY%|E|W(m&NbgH+NPSI?IX=|F?AQ%Hp~J+P3llYzDRV^RMqO{x z%@+g%HPo0uTr#%e%YX5K9gkZcf6LKVH%}MSbF*3O^8;RMjn#}a3BgGfCK>WL0HWXH8tNe zZvdiF-i0kYCR`9h5JQ;%nxe=|-<5sWtAkq6nww%v)QX0FuD3IoJqbAZI{j0a)ioRj}fhk34+%#M<>|E;1}mO5tW1 zi>{#+hwSPIO7w_P*ny>17#G{AerebZVCr=rvnr)qsT@%tJ5^(BhA{lel?A1 zX~%*x5(j=L&f-k0mC*)Nj5w&!XNlNNaY}|#nR+QXYX@3&MZCpsnSAb3;0X0xq%4FI zu|4pWS4vR{oY>~gqy}?NS2|Ov^vbBf5UWZE<`_GHMXIEtj+`ldYQb?kZg%cwHphj?kPOvNlCQOb=fq*b*5=TcMb_og~3KSuwtkw#WJrv=gL*d*jQDIQqCBu?9H@TyV$R5LCc!4N&_FL#YVC^c}Ps)YgP*dTPe5@ zs;Zex=|j?%L#oEvl)%=o0th)urWPn@P#PKzLQ5<*2C)=q=C5x3+JpanEa`6w^f z#Y+?Yeb1L*JG$&|eP-^1Z>N(p*((#hZ+?HU^Mq6$n#{j*=lGx9JlXDKdsdpidH@Ti(A779^vT?`L2dZYvRkI;P_rSy3l86(C0&)JbEWo1N{NqE@ zO>ewrIC*Feoj+asm-=-f;33Vq>6b8vb9&WL?sVGO>c)bJ-t5r>txX5+-QAn28KKe9 z%klERn!4YdzGY&jw{h!BbBiXf7{7egvfo^J>PtU*cxxzY0Wi(-%HL=ne|1kt6pE0v@e>TnW;e9t>T5}p4)!l zu`4cm*X37^JpV-Xr{B7}ov(DJY`4xie4zgFKmOxuJO1UiTi&u^SKdbXmu!Hk>g zu}}m6aqxP?9WX%UJ?_^W*OkAu*p30g)NR$YIP2AZWUdcS9f3V_cGl-r1m`+xh+#Ie zV@15~iccIkxn71;X7|wuzOGM;DMbk2n)C>#7cYssDiJAE2$jRJ*a1)ETk?Z z76MKTkgEbX;)*I4FbF#Wff$ILL=kXeNFu0t?8vWINYAsQ3g#J6p{R(VdF`7%bad*7 z55>HK2mwHV2_i#zV(`+gK{;^GY@KitK)}$ifujKJAPT}x2@^Pij@F8~U;zp& z06{YeXwAZ)C2LqBv{}O0E(O zYKjag)8y*RHg#kU(z9lY@RAmsYnr2ya7(?*v$rDAR zbX1uz5M~1kEr0~TrpW=lu?j*8fB-5C20swu+?GAu=Ifej(ZACpo*Ogqo_P@0{R4Obv8Lu zU?=0~XG5la#nC2;by6UL)<~;p3MT#+HIW@V_$EcDDS`-Eex(U@lQVb!1RiPT#JP3{Ix=wW~G1PvD z)+#g_Ywnp~ZPH!~gZIP;higp=bm<9W=^|>AxLCY&&2tBy-1=vCKx3-+h3RbfvqSLQ zJon;r&0xj)-`eoNwx2vcxc?b=tq0hc>ppZuGX zS6{LE%-M%O@XcorO%@U%)IekQ){iea+u8k-(L-f~B7jjjQvebM;t&|*$mEeh-y=}$ zBg9}l#Q?ql?u?Hu9S*1Bg3f|3edRx|S$_7`U+$XSKjG?ZQR@q~v#97zZaO|UlFpN- zFFi5U&%@i?jz@9%MYr98U;WD0_Mhl8T31(fRX=?H_ScU3XI}cjkAJekBW~Y&&wckk zGIo~xm+$^y_kjuRb75>ZE@*Nn2ZNn^r^+Hc`{Z=5klxY$b1&@O{N&3oy!7hsmwl_d z;L2r}{Q0-OxAmFHB}>jbessctC^aX(rV>(Wtyx{ZwsR(1bH+u>&TA~>O%Lz7=Az3_ zS+$~&9i!dVmo8fW?FS#-v+vMZzj5i|Cw7I1(knqkX+bAZ5x8K9@O2+&r~*B{HLO}Y zs@8USF8kf<O8fe1*>(g1Q6v?eV83}BnN|Ftpo^;dB7 zXcB-}!jN1w+~w+kA+c?+I3}1+s%8NIh#@dpfOBmNFhmy|fC3;8i69Y#2>`@dF|0Fd zEoK2CsfAqEnprFZ128M4NY_TQ&eUkucbR_i%OdRVesfi15}pX|V!Mx2dVs|nb_ zdaiOQVWVD)|yYG42K|`5Z00c>9OE+5-h-FX~0EQJe zafo@NJunyo0hJn5Yz&&Z9=K!~sz8`nQ)!ch7|@kzrUcZ%V@8^|PqvX#Lg^0v?EC0An+ZLK-CoBu)ttFi12?5eUsYdI$g$0Rw`hgpl}) zpSv3oqaX_k0Hy?hl)3^{Ow6ExJb(x!00AKYVMLJ-FhcSKl7JDtOD9krrZ`q()FIR{ zLQ18d|DVLD%31_*MEav4&N|~wL<`)5wsNh+)1{kpp+hVYGeaGxYAQ1qa6}IVq_e87 zv$8H(Ls^lEz9n^OSw$ChvY;gQsCBA9Cm6aoDkVo5f;O%WS zU#dPHR#ez54^>}cLxn~W6=lH5bLxwB2^GU6k;!VMpzQmln3NJBohpfhp)IjCUR5nG z9vig>?*|JLq&mugD}x>ilUG1G!6Kbf&!JWtRX-xyj^X^rJGUM^G;`wK$K1DH6u*6F znu6A!b@63yTCwZlCw5NFM(0JT07Ak+F^F37g-_h`=imQPIlJ<};r@fC3XasR&A*tM z?9l`cf4s5isYdWg5f>y_%E9NW{ZqB8JO=CHMi+i|h0b2O`N|J28NK+btKNCu&1ar{ z>a`c#cJ`&~-@15VV|Mm`{pg{+sULwNBZCLQ*q@o0I#E}(fG1s@QTpD#JqL%Cb2S2$ zgtFw!72o)?&#t>Xd*oLycqb8{k+&#|l)Qp&ORXClUw`bx)=f`uzwn$p)?PGr#Tm=X z(Q~IJ_RG+>ZR472KmGpO-t()MHjgcSr~nw5Th|;tc=~C} z|MmX+U)%M{)Qhh|Hw#ij5+$ABG=Pf)M$!LqM=Ik2S)=~q?fm}L0gd{pz(e;AAD@Xc zp}u52{k-yzZ}q=ipu09b_M&|4<;Fu#SO5K{=DWUGZ{AP%vf_quCqsW*0#5({6qvxL ziph!sPyot+bXtew?U!|a=Ut7wHG0We*>Hp=4+k+qq$El34n%>pi`f%inZ}q2B%KWE zf~o|zn%CbtQWO9Jl7j@`QRf{50inXVLkEWvLZ!mOG1G0hKr~%xM<5{w)e;$(nL#KD z7X*ZAS731c+3800d_Vz!0c&2}RP)Y!3=g~O^h$O}+pd17k==E_3|7SqLeC+=G zTMz@r+Ai6yNNP9p3qSdXC$??R$FqSjl)1!9uw)m?PnG|Ch> z3Wal9r_5lkb-Q$P8aZpYa^Td0W;3~=G|6NNANx}4Jm-GPAaEAyVPd_4>&n&B3bt73 z0fYoT&q=4bDB@$Z2$~uNM3btSx|jj4>Kx6noSH=>R>4;_HleNt$elja$fYUM5KEgz zYDq$_#-vqfE3aUU!wCwYFk%&~E+KVGPpN=hmnn`VKS`;h(@dQr>43ml9uv1Hhq|hC zY)BIAIhf!aHF)Sk1%q~$hDqa)AP1YkgPCF71SD44AO!(PDv5}mWywV%AP~}geU^wY zaUx726d^()Km_EwKX*4Vp+K-lROkXH00IaEDglc41js-{0Dwdk#W@HDG@>GkfRa)` ztRdwTmxVM;A`w)SrUD~0-Y+42Rur4q!I38Ddh;^Pr*1}j}(gIQn zx#a<3n^M2bgpJ~uz$%Fja*5dFlF@n&(6riO40Qk~ePA7(Hzu2ORB~uF+9^ab$)wP9 z&}s+QM<*)ffIjr9{(xzv$!%S-yyuOz$@Qx3zJ+foEaQS67UjOAk`H$;QJ$7KmNj0)y?X~BgmY)0W_LDCjT(IJ@ zPNrp1vG3s1rZH9?J=nsrgFFAnkA85ZS5@L+SXUszAdUrSa^&ey<6wH~>Bpb?$;KyKT}K2EKy*@xh`#>aAN|G`KYGy$FF$hsOKrQf zv)VS7zVzeoZT517(nRDpa0Cdo3D6m(-ROVQZtG~MUkZ2T4p&e zI=?!9rMxy|pU&9u)S>g=+`MMBu#f+`u~+Q1xS};Yq+U4|W553Td-(h{tuzWhez5l! zA85Si8k$}u=d5?ryFyu$0uUq0DD>!wK*5rc{HhB^PrX3B@A@q7%fD@%v@Wf`qVe2| zW&uRDQn{cK1VuTDpsOovkDHJMU=;=u5Nv?bfii7!N@0=f<}F|O%)V!~ee3IAyYR9P zytrq7RUBs$AO}s;83#t1PT)dLpdsX1wcQ{T!zuJQU!?*PK!AxVk*zysLXZ=a1xb(q z0OFhjfT#d0F#~V_ASV?FfC59RJ9kove1g@@fwQMhQU5X$N)?4z05oI@-5Oiss(N&^)i|e<3PPd4xtO$v zx(0Y%N?-sEMXz7guCHyBx+2Yg@wtn4_Gik8X~=VxwU#v2skXZE!uMTv@r}2=Z~L)b z&$PnP=flKr-*nrKttXdXbrBz){^tMvmGLEK-T9WYmn>B~_Rf_UlJv8r^VpE!9Z4BN zXR(3`(6W!QiajR9QBu~Al^YIho~IZ!fgu2^ObQ}YqH1`fsl_35wMiaHAYEFn3GwE~(+kc{M0;8{@!w#lBnFY=c223B&3MZEZuPu%<^dlQoLGi#PJyfcz*z?I|yXmP+fk5{;HeE^zP6o#!1g4}D zOhL4WL<+&q6_mG1FI5f;h~h|wL9!Z4R8e!@j0@^86HtMq$b&!*qR)aZ^OQrWfx9EZ zvUpfmE*xlMC$msXX;WUt`=VTz?_s6uD}S5-#tL`EIZp+TY2 zvEdh?8$cd4plS78LeuDIv8)|{1!x;Wr7b`dLIzBU6N#1)FCG;`N&ta`fe{G+5+p%T zs1Q<2DFG(_;-B7)AOTU!Xu|Mo-b5of0c6BPCn+^U5=Ksdiijcw45&_mYdEY4Y(hr~ zAqs#gh$xu#a6I}PfQHpne|SQrERuofC~2Rn0K*VQRJq6pz}Pf-ig7x^sE)Zc1zPRP z7V1)>ZGcUvBQ8cY+tMnJ^>FCXiX_Nnj6``~8VUi%DdnMbPGK$!N!pah;C-VJ1ZD&Z z24C8|#e-q3jdn8$7wVP|MO2MQ7y>~1Sgu@A6S2~HASVJf1Va>+r0dX+77}4#WvEfBgjGlTT8+N{{cnA3 z@9l?=)w?$yJLPR3`ODwEW8Jzt)^^W(*B|`O3U3@9i3cvc@X%}9-gwrskrRV~kTIAF zkXH_~Tdc>=edn9TKcts!*}c0Wk5KyxC^A^k+FFe$EJ_nfa9WHIYXAmiv+I9WyIh7jl14__FWJB@Yz}#hhDnejvhPXj63dn z*X0YW|L)&^<<__U#`&kbYva?K7miNud3F1BZ@MMV+^Xf_%U{3e>dP4G;o05r=CSq%uIQYzwsH1qb@T`=9bNiAp7i6n+;HND{H1jF`_t{0gst1$ zR3re%O+XQ}kdKj+WReC7If0HU1kq{<*S(?+V)5kG&C_LhXy=xT*5LDpclIWyAXlmj z)Di&*D1<7v*2;oVt72{_RgaxG2}XpKim$`6!1J4hB1=yB4=a{mWXDgLoPNa+MWRNl zx#ql2wicaVOdl2W3=$O?5dd0trWwoybVY=~WI=*aiU}B0W_ej>;*FQ|ckQV|%z_Nt ztxRzE=4?)s^VowQ*p?*=epbEJn zX!Ls1p0F-l5LC7S3L6HTGnR}=F&KkTltX9GR#qt;(V!*aA?3hHT!hG-MRll+O~b^w zaaw^7RYRrFfKb#@QP%AQGldFBGLqD6w&S2w9ZgManZ?lx(KfX&gK|h-hE0{cHfoqk zl0i(UlCDEWv4yekVno(uI@(mtfGJZM#Kj(`$s6>s#!MtBA0*F+z%r{Oa{x)rpm3dB zu8;_Q)XG$mBWp?C88Q?qfm)1LwI~aiT$EJNe(%N=f`Zw$9;*hSZAXT|#kyr0T4Hk$ zo$?EVtH~}L#z8f#s(Og9Op~+1L3)$Bj-4 zC{bPZ0|^;gU)7=P=+wkUVhDx^!c3M{yMQPjOK8zT>2b<^i~|R)%-h6}JoMv$wKHr7 zP$$+{(IgyAY06c((nchDqf#oH9s*j>;5=xjV=x3sv1Q|<^U6f=(St4%HPpT@e(aH7 z9)Ih)^WM7t3d>1{EDNV!I_>JkCm;KV|L>o+ZQ9*m^{Kag`SL5_jO*^azS{ZRp*m$! zrqBDraYZ@joM za;$u;mzG^=X7&s~Q**(Y-}&nGKfHfaWwJl{?bA2!JJH1pmfdpoxBtuAM^|02W^I;= zdg5roS+|+vlJl0o{IkBSY~HZ$lnOt8>XftocDOPjYT@$7cg|$L zdGqS`d}wULhRuN_t5SB_$oZ$M-NTm;ZJY?{jc1(wTOWJ(r`KP$STEaf;KU<`4^O<~ zy~`ea@QHG6_o`D|P*3gNHgf58w_SYsS*NX@x%b~T8yaqW_UYfe;ntt*_}-C&TONDp z*}-hh!AXG8Wu5n4_1WM1OOKKGGCtus@0&=WaAY&TS{Cn@V2V3gf*Wicu z>dEc&N7vxa*p*>tMaPY{(uIqaELwg4zZ@^>#=)|D>NWh;u42|<hQ&+6H>yRsF7YP|OBk;itNtSh(irQ-M;EILE~=kLz^>=`%` z=0!iSkx0NPfSN4oM)D~LMWD)YBx3Wffz8`SuM036B``pD_`!!x#9DB{Q$4+Uu|MIv0 zaN5eZEn41v^_6`tqO$nL+t*DTN`yg>6zhE1qEv`oSRUOMFN1#H zlLy5ZaYcbMRje}I3^rnl87Yl4n3g;Xfe-=zH&5^V^?6yH|L%L=<=sB*>1BFhm;%#a z=z|PJiin5>RMZ$7YGQAoF)`5?HO6Jk(GWe~98FB(5j!1ZV1Q}B!1O*0)1Ur4pU=DA zW#8uqvd;go*V^ma`?_9NpbH-$vo1BJ9@pBPjE4~xMvKZ@8|ER@!cLxX16+yBR0?ka zm14Q{HC@@dm=U38iL!0SJu%h>YDjby81I`xPHO|qf(osw1Voi2UaBGtW2X#ri8sOk zdY*%mXq5*irSzd7hmk^KNw`>8%q$2&GEkl|-_C(%2iz5trR23XbtiI~fusuy(>5Ch8O_v1!4CiliwD_+SiGVxej@K^McN zPGeOvM^MZ7M5Z|>)K*N@d_&6$ea*U*KzknrK`3&`WW6*dkc1-i1R_N60YC>)0RaQB z4uE^07#$K2=fXpU2+kr?jC-`qbH@2s@BJ&}1YQ6zL?ZI!IcE&OdjL-aOfdB1fjn|V z1c89YX^z|@Av4wq6b^XD^Rt3t;Jok-J$E)UzT`ri^0bS4u_UI*NG^@Vh;c0g7_h#> zS?PViRH%v;!>0E(Eum3EVKq8W4(lQU*GiZz0W8dj@Lc7Z-f)4Dg{CWAkZ@f#h3tZ$ zVuh)5RfaQ&gRInyk52`;v>4R9aYlJ1IkQ{~F=N0IBs_8zrHZ#QvWYMbC{l`W#9^rl z&!mz8IAcmw81b5?SgOnulR;SZr-e;iw~{Swr;OFU>IE4GXqa-^uxZl?92(}Es@G^e zL%_?zBVrJjNP$yG{Yc5;%WwGf2QInv;)O!Vtjy7?VtQ^AoZ8QC`oOw{f7GHMdN)_r193 zz%l##{SO>FLXU1d@aV=roc+SbZ`!@}N8kLL-@Nm#4<9_u{^1MXJbd{6*LJMVUTsvt z=!VO0{Ol*+ynGq`{5S9W;kS0acDiV{)BUGTO`mqY6nl4%?0Dhy@T#F}m&|_Q;C=W1 z>!#DEO{tA4JI@?^Z100GGrD5DbAUVv9?b3EaP?Jh=~=n;-~auGJ(q^#2Sy2lW^{hm z87D^})C9LzUDmqqE$+uhDz{U-_cDK7GahV&Js~`HtPo-G^X-gg;LR7+e*XMfJK?_n zq1w-WI~{0h#!*^S%u*tS2#^Em$_hk}u=lur@&G;Y3~%Q!HUp0w#eJi+W-)*0xct@T z$*3j7(nc|AInmLh8Z%WU2oMMY^u(ATh87UX#vU3dowI16G733?@_A+F zAU9ekAd1(aTxd;12^aHw^(g8#LDgP`qJXr`3Am9j!%YXXEzu2_vHJ7D8 zvfUYd;pl_U{eJ6s+i?)fF1k%;BeVN17(KW%7FBmRef;G!@%dN!?C`bky5rQ5Grmln zKmY&{DFO(jz=o&~UUuc8`~LE?>#w-s;y3i2IMsdmhUmocslWcqb;~bYTTG8%anS`& z?LE{v@oHlR$~>5sna!EGB|SzdkRn`SR+&6eTn^Xm^h{ICoN5Q?*%SaR=u zphBr;MgFLEPG=c`#sA&UsFJ8x(a(SWy~P&}RarKbO;$xQQylN>swL5a7xz!BToz{| zQ@wR>dE?^MH+0XwaPjOcj9a#_P+27!-ls~&-WI|PI*KXoC{t#ImQKe}z2X_^Gy=($ zDMKaLv~`*ZUTM#)Dwqo-*H)tfp97Ep03ZNKL_t)9W>?LS4nR0N?H%$i5f~RJ2wjtj z97q7O&f0P&0cM>?7IKs8s2PIAz#F9qxL{0YLBPsp1R=;2y|lhmVT{FG<7TvJRU$3G zHf54mO{ys1gN-07Ig=%^Sn^o8Dihe0D%8wi6>?q*$9;`kBhgme)tvwg3tyqQ;DIkt{CK=@js0TUsN)_!4yMio0W+2i* z;R-NTW0reFv~@#eBax=^m`IU<2t&bR8=VS$%$3#LMX0!tpg20^*eK@;Mo0j_06l;Q zMCKU~Lk44j2_ljqK!%<%Wc(}l-Uq&LOnJ|c0b@wa10bUHO#QF(+Vj`ds3&Ax6Cmec zjOTz3069nR$Vv`F-WbQZ)V9(Zd1VSO3Kc}%T2DI#0F{751w2j1+e`vv#F*EOQnU-F z0$w09>C{vbM+v}q#g#EqNEv}sm6U-31=y#2%~GinYYQg=!I5m0%b2Q)G19_^B{SX& zBA<8@i(chpZ*{^|$AdOH3^30H`6gm)Llc#xOGIfJ&_|M^Eeht9X)wlXic8DD%nG@c zX2RG~d8IuuvdnU$jv$hBQ7ZEY6({A@Y0e!t5jaaqs<0+(#DunZTxY5)2Y-k)j~*Vt4xW8^3mT#~OqHtL7}?bmzOU%R4rAb)lf``F*zGkk9I{FUE5{^FCV zvPUL2^~2~(CyZ!Oa(UP}>OS#FvG>_*k_;CdQ7{v>;-P^h?CQ12@|fE56TPQ2y0~KA zQ69jViDKhRP739pzY4Ek+WGn6ZmW}_Yp%ZMEl+*!)34-FSZiHz|98H=cG){#+H!i~ z)$6ay(#IY>@~waP@I!lETfMmF|M}ym4n6iPCH)Dn$(~kNYjxPuFZ}nDOD9OaZ-E`o!;N9=~+c#W$*~RCtm_Ha6+2wC~_u`Lyk&(EI&wfB4DG2d=t# z{p=f(sRQX{SNz@nnWwIrSKEGC{GSKS_*C)YSaI75_2Mgyhj&bv4*$R#7Tc)*zn(c) z3VQh2_UN>A9NSr0R^%jbAVlKaMhqn8yPPFIvzyXLwn2aOxXh`Oew0gFGBcqQC$0{kPt6{g!9) z#2k3<`|sYe=M|3D0+15~9s>>xF&vt6{>RUozvFA)`|hi+9J*oM#j4)B=jHa-@BhI| z+a9c#+`sdsW#_LMJ2!UeirEVmHj`MFV<{1E5~ZRLr%^J76}P_Pxlpbu95565qy$#F ztYMVou?ZY1S; z0p&qoDY0e(@Jtl4ki=~kiLiha^PuJ!p^H?^IOk=VBjbt*?n5v{6(Bh0MHqm0out{r zD+th4i~;wR(~;z!JI~7y2c2__Fpfh4<1rS@dlby~5g88XfEY0LI%=H>^2D6yya8N* zwVW$2Gyr1^`B%U670wko&zW~*h>r=@0MEb!cn5%hi~%|H;0j~RgK;p*eG51VVvbqv z$%Em7S(9;LTweGfLJz{WT#c9o#VP_<@n2_-RK%%2S8OV*b zwIIkyi^|9#;GjB8*F%BKIj5cHK6VUz7@ag7fl38hXg_0FHRD|~;8}T41a%)JoQuL5 z=Y>KBp=C5XVm{M_tb&T#9cfI}8?XeKjg(Vm2;}3apwc_n%_HxvVT7cPmplNfVL55V zuq@H=R5K~d?$DQ>Q_8HLj+UHv;o`2&_rCG#FaGGycK-33-`&*z(J$U|dC>QiInFF? z**gKN1t_V{5X|`PTiTO3DJ}(xsEdF6UGbf3i!)?Cbz%4Ed}Q66M$hST;0p1^r5$&y zI+D^4KG-))h+iG<{z}&r(hGuFW7poY zqS-o#bI%`a3~b%``(2Ohm2tHDkyCfR_eVve9tPy7Axyh{0{qbBJGb6{?B!P|ub}P9 z343Vw3okzVG}|}p<~M$3>1FSk6Sp14xzGC-EE`x|Th%|vDl@Ra)h;@NofD@{_!A?? z8u7&&F1l^QHE+N4;@+{;Es(`1xy2VO9zC}E`@ekT=C|H)&7AOypLt--6`%d!pRaB7 z))x-JfBp1Vc`Gc-_Wpf4cWj+pyYQn^Gsikp9h&w|TP0hd%bZCEL^^e}^sAr!+JRjM z-ukY0|KvwM3$Id-{_C#`YnnY5^{?oD?dahrcf7dlP0@}=cbs|Q#M|z?Xv?`@@*V9t z{oYjO>z}p3tl+?@u&diX_;Sv5&{!I6-!y)1xZJ-jYv-V`QJI_*fL-RI?(EqA$ObbRXgNVXH>su>Fh09pB*VBS?oe800@xb8;3Eo zRF;B>qyoY0Ob*NvA~GbdtVJsuh&2?Pzyk;n0!bqZ#6VIRMU;N_J@MPa_~!NfFCS}v z=#q4Atgh=5vq^pNhX+#4X3t+cF*BiL;4A^zp;g0Wr@u^30Fe_|OsC$DYSUSH-m*8m zZ{6|3JAe6;pIGXd)yL*F{l=%$H(oOTp8Gz(`l8{D&+m3NH((VfqISI|uD@i?qA+SM ztlj_PUpCw4-gozH{q_D={xtHV?|p3Wf}2bVR9Q>u;{Ktofye&#EB`z;V>s*{SbWXu z6|=8exA>x!%c9$)db<11t{lJwY=G6y&y?6iE#3R4ibp6`FW9jkdp5OJ_x%A-a6E}AlL(eEYiCQygU~S^``Dn4K^H8Hjhit% z5K0R|&<-##ZVJ2)y~xSe8DmB|QCMq}P>}aL;G7AfK=P`?B=^p;vTTEAmdjEGgPF;= z@SYRpvMSP6;Pc9`Y|IdNRZq+5NTBgpg8(|xs0_z>y${=2Jx?ZMUQ2l#Fh*q&#xih& zP8DtjFaS^5Fm5^soWM!Xb)FXplKeQh*eWI=jirpGZ`+1Ysr3<+qOfRL9*UehhTeji zfM`R{BC}WDsgHvD8&1i9rHIQE|^0cLXt%GnR}qT7~_(8gD|&N#sf; zK~xoEp;w|Nya0uDez!3>4z%$Q~u@OfBBLK#c2*817jCoI~1;IV?uig6< z;EW>&K+X_--7^Lr7&&4B5y?9QAkRE`&JjRz)?nTuG6Dub00J3;vjB)BDgdvwaZ*ZK zQU_gB>9S&hXVN<(83-Q6FidQwV%!4<=?YC&B9orSyw!G-Eg5Eokg}(8Q$XiR(O^QL zs{mA;5@C55@b-)ez<2{FHDJJ8n8P%4-I^LL?lc;olSKfnfd>V51r;qRrwqls74t4> z$1;l{1LTq$Rs*JIy0{Mt4slc=lYx|2G_5fzm<1&$%Y8tRvbpBW3GGRdNv$SA7HG1H zvrLGnU>)uXILQOBz9LiUSO}YX;4EOqSZ{_AaxhMq$f5=T47{_30Wu0jDHL~M6jY)- z+o|37mgO6NvH9W^AG!R-<@2iQOrYMdz6xL4d-PnTCnZ?0BNcffL!1DJFbI3+iCCnY zo`aE2c;lS>EB})}_Ht*RHm{zn9z8HHCZN;KFPTTv9kyK@{rmIN`~PDr`uTCstRP!D zsb3si{fW0Px&B}7|I!~Gczm?o_xvXJgKvD{wP3-;OW$%r9ewA9Ps#;X_`Z%cql|Y8 zwa-P}3S5Y*P91+@i{=_C_WBr*12Wh1NCr>uj(c?4|sHoU8BMNrvRZ#%Wcl^0*y zH}B~D;>4k?nY$j$WOmzH_wfodTiOD;hl`iztXxxETnpZ|erC(D^3FB>4@tBZYQK7> zcK0xQ;;8QF7RS1(Ygf|Rn%ZWoiB0CCZ;Wnv)7<009+B zBq6W@hye!>+%}ZxiiyeO@Bgy7sAk7c*)LoZuUVA+@Nt(8PQ3V7YDxf)3XJZ#x%aLs zTAjcl)IM@`cdOCJfowS+Lzek@q;BZy^Ut7C+%*CJk>=!n?arU{HAu(9FUaHRKGp8n)9(UG) zQeZ7$#I3LlHoyGLo~Isq`l(H+V`X~w_>n`;ZQIh-3f*&tdcy_vF7x!`o0%&GhfqX< zaLw9_XP>v>{(pM@hUoTphx5?TS@}8tOTBlJ0)TdBd~Sin)WfXd?^IO}+Kj!4oH* zXrJ+4y!YFS=3esZnS-UELD|)+&pWd7nIJ!z542u-dcW2>XT?KLz4+4ZeWq{(0HtlS z{P^*mYZi-UZ@oY4nW@gmPzd3j?C6XH)lz< zVaKL12ZV+r9w4iP2rMUu6y-64!p~R;g0S?N=GHo|0x42GEo7p~$bv&ZS9MpB)_U4_ zCJCtUBd#DNgS<1HNSTKvb4fiAEF5taG)?HxIG!+87;T+$&UwiT4}yDVq(ogvB{ew6 zBbh`1nX%kZg@70a5pQ@dLcz4tj5#j3_YxR-1OePL0B?a9K$9afhU7hC9#MMc060SI zh>$V<)qC$l@ZbeQ@UP29#=rxiV_^WJ8jG0!{_ zp!e1@=PhU>Kx$Vh5dZ=679(r8(Ark=n5O}SCAY>)3hgkO*keH+Riv#kl?sK_g;pvU zBA)SFYtvnWx>d}TRplHrk|Q&LN~E1GpzuC$O(rLxJe5^k36%-K0X&xgmGV9SRawy! zN>?5iwajWwRSY3>BuJEGQB#_zr~+=h6AZOz2wQ?E(WN9T02Lnck~I_3j1tCjrX#7G z@5F`z)?=ZSs4U>hf+B7VSc{(YV39HxatEwIrSs@RCzvBbs*%ef6$P+Rd1`oGG;&>e zW3lba22t$FQzL%f%0(%k2&6sy%EP;M|NLLRbKt<);F=|O9h=@o6BShkDiT`0er8up z8I1?di7_kWh4tS*G;=z2QnbkNip3HqOXC)GF^Cl0>0`^c`XK7~I%`NX4tdinXSFFvzv>uq{sM9F3oQxKh&!)la_pz<)mR?AhH%!4MEMdqr9nas8EF|6y0o3qS zyu?bE$4?*Gbztj@n~&Uiu}S*kJr8!eqU3|u%-y{8WUVi($~PsmI%|wuzwXW3j<2|& zcls4KzW)^NKBgD(e44N;FzZ)_SB0=FY8^S!XQ$lPKSIq$JCoz0zk9*bnZLa){N1L` zXxp{~Tz@qlKZRrn99nM)(K?U-b%nRDtj}HEd)@8f@%`mD|Ig@)C-fs>_L~RtfB6KT z94mBSN6#W6G{SP3Q$Kuc^lcaLQ#0{-bMwyN;OwSOS(%;!Qvx~SNE}6lmJnYzspl4A zN{ns1Wxl!g_BrmT`QTkWdnB7a(AjZVzc$M9HMM1LT{^WVixc&k)nPHd{?i}3Zt1FZ zpZVk$uemzi^!xq##I%FgnE)0Dz*-gy4KIWGA1J6J2XSPg?7I(edJ^Vlx_chwnoqPY{8?%-yfAq0!C&z|I zPIsPs@~9avFSvT`nw4``tiI{P@4RwgNnbfS5n*2*jFC{p!t(}$>u+C`Ps~h}1`3=m zv&zSw6`sN`eRs#*?^?fTK3_9uVbPd5{KB@c-uun>yzR0_p3a`yyM6PMFWaglhX7O( z1%%v!B>)E)hUZ4gr=E-VoH|mB9bYhewa8N!lN*nC7<)SbF0xivRf%F))D&_vV||U+ zHLL2Xvc{nsaCW9LoqX`Mgp~`t0Sp-!DBH$EyS4qabwTx?x z9g>VvlUH>svVf%ayq!-ADS&CEtx+XSX=ig0#>K=a2%OTIVi%U(E-tB7BWtWG$eB`W zVSqYaHrBpOt$?QI6sM(;vVn{w%XPy0j4xT(7PhVnD-*-5u*4bx&$;DfBh*N>8R;0# zaBqDXR@BZ4XK`e7yGo0Cz1AU1I^O5!Xl3g(enDm^`(f=QVBxKC&l$vwDFa$Dbj)g^zyYDKo;jOnpF8y40aA}gBMM+XF}5C}E|?R@z{XZhOUilJ zu$0Fv(M&kzD2oWG?Pj`Eghsjgw7`+VT8WXj2GI)VUBGA1o5c!<66JkDRccu-NC8+MH-TFQDhVA|3AYv#P!!w1G3#@1 zab!csnM7YS3~{7X8zz8jQ3rNH3dd&Z9n+D4iy%meq)|n5ri*Oml{T3K<-s$F5t$i> zoKj?AB*j#&YK$VqOjQc%4+)c|$gS*jQX#rs71zQDSVNpqr~LZQyyL?+-0|@{SK=@J z_@|r!7zzXwa3BJZB4F`s;oBCN&5x(kIW;cqf8SmIc>N`}t-AKkg(GI?sbg1M*}1h= z`|*LhhuFd2w6jKk|M2*{XP(@)@7N`O_U1S5eesX4Y?=P@w?8^{YVWEGqrds*uSN5h zE$S1~Q|<2a*A{1oUfp}lPnKTEE-I6AUFw+FHBFQ{!j%wZgM6jeqIVSFUb) zT6xi92e;n5WaF%8;)x^CTm7s}6O_ysmDjRA-n^w8IaQsVFk#&i3%`Zob^Te7bY|rF`D)wJ+Zw?plZMAFf^4bMC3zr?LOw#)+$L`|{D0*VQx-mS#kJR-w|H^?*jd}QQ?uqTIXY3le75SFJ9KPn>g?&4%Zif+0b+Rh&E@pD z{(-d#M1OPN*S76Ds>@D)vu|!6edp^RYc%FWvUJul107K%Xu(R$OQo9N!Kn%;CF`0H zcFHW2%?_0TCK;UeEQ*sPuWUosX0&I{lSG+&t^)5%<{4Q7fe1ydusM1uCDXoyMB27% zJ0DY%vD9l8OQDM*5?)Kz$xU7LF`S4X^mSgftwRSKgz-t-P^tiuMth2;Ly;IeO{EDc zP8rmadX*MoZL*x=ajcv%6$YL>d0v(lx#K9UFFe!UNRlZpyRpk$Pni4tr)Ug=Pr2>SOiE4_Vzkl(_)`$P>m(S&Q z-gxQL|8dt2HgRHN<6yk&*wjleymCCA72CO$y!mFMM}w+jH05{k4V7*-{vkWl<{7Ri;^8h$_#l55uI!{DWlb?N1Kb`W2 zADef{iudjA#4x_@%;_V)Iof*bMIZL~%zyp+p=Ug1%r_Eo>0EXDLbIehUp)W9k*W3t zq2kNv7YF@zoV9z)c({7j!mjY#B$hr5wOV*l{N-C4f2vj4F}rQET@;qD91)bp#IAXvkPy$`h}h6ph~?3 z4#)*?A)K{}z!3ld7Xk$VZ7fv(o)KpajfmhB$Kuol}?Ti(<| z5{5xT*vetx9a#e*E3HVBsFH$f=2haE3Tid*1?PaH0qV+$Mo`CMRHsyEZq5LsPSc@K_l;S@ z(C#lCV#~4QxKn@sq@ZbZW7<>f`fKOL$6gfI# zo|t2UrmRv50_z<6&}V);i|bufQQ-wctL2p9GpItzl;_Sd^oCg;S$ot5w#(K^lM4v~ zWkTL6O{`W$me>?y>a3C#RfFh&NgAe%31a;S4Y`Evv zP^p!u3*|amOE%jFAqW}Qwepc~S^*R>Vz%3GB+slQ&bowTFjHBsfj2_c@UE~Hw1JxC ziUUb)OC~fUV1dm8rK+$Nrqc#Ufe>M2{fR&u@{DsKte3GjmG_Q26M%6T*I8jwS4S>o zXbztG^~kAbAA9JRJI|eW?!?oN{`TRC<~uj^&3<^3Jac@{Bb%6Er>j(3<}Hw5pdt!l z9@IovIJ+6&bn~i}$7ixybj8np_Qi$WOD58G*=|?buDW{p1sAUFTY6!a9GkQJig_2# zy6L**n4hKk8J^dsI+M-w2hO`7S$5vq3YT6LMlg6~HW$_8bXZRUQn>rbmae%Q>fzo| zv*^;xSL(8;2O^znmnN_=iK+JC?R4u~ZmV56x4m!Qv8{h>G_O9s_mMSM-*l?jZmVV; z!c=1HC4g^6wNB68$(f$<{I_>RuU&V!z3*Fi#v`Dw$6cTQ*f(|@+~~%~?zro^H(Yte z)r*&(v(ue2GIaLr;a~pvd;fYeeSGsXM?oYalAnLef{jm)M1Ki5p0uo)wW!NYRul)+ z$z`pk=F~(-1Wn&9qVtwCo_%Hdw=dv{3d>0?^raOa{p%mR zQjC4;E_mw#Xc=79q!XvBNhi((`i#xrz+mm*%#tX^DYL)OVP@XFu9}yXbm{Q>=N6y6 zvG2yg@y8~_^S_<8POw{&%@4z5he}khFEd0$gg@=c$BzV6g=IxyOaT|(+LDMgp+gR2 z0A4>1;3D89rELmMXi?kz>h!ZOQ$f!D>XnC@RJDWFbq!aSJ24tw>Zfw`s?e9uvXu3rgQ#0b5=I!C0x3;)ylgcdFkYwWo~(cZkg-Xu5UcFjTW^gb{s=p zdJ$OFTeG>=)+$7y5(el96arVk#p{(=!l|TDoA>>{{=}-amp#Abh0=C70hjWmmgT9J zM$WlUeCF22w(M=S_r2?#i&m`+e)`SFhUOlQlYKjOiuSofL#tP;>0b21f4(Q0b+Z;- z`%fQgzw-O(_EWB$UbgZAYhtTQRT>}mL>5ct9cE2z7@kn&YTZthQ4vvARah{k2S^I! z22DkEt3gCQ{lgzl%^$ops|uuNU!v*q&`UeY==j38w)C<^KmN}@oH;bXfPd)D>wdSt z^Wg8!T)q0DMxQmEGhm#9()vP#f$+NY)~iWxg5Ef=EC{3pj|{kWPM{OqL!NayHi{K< zlJQ(%9F)0n#(4~wAT-hsqpiR?*(fbUTxn0Xl?ZR==h2iP&zKIeS1_qCl28y-UK;LE z*Ovw)mU9Hy>gMA%yu+M)AlW|j2V094G8vy&oc z5lVm>*)}(tCFCYb$qI%+gnTA<5(0>&FMR00^BP)aI72G5EM=uo#-gaeg+R(0X0`X) zIa5&41GOTI>Qzz(WjhS|AWyS^sSH%8HLqX>k$4Wd3VPEbYpJLRz*=ELEm+Z+NeWO< z<2=x!U9_T_^M+SvP1Vh@5*}<-3NJt#Bv+wV=$xDGxPtkptKpb%1jqSs%UC*=P8q0E3T(d*)7+4RL_&@{P|jqo%Uan+$Awm< z22fSh!m@6{R59tOWkl4Qgg$^MkHOYU2@+5Q$OU3ub$emxbQYG%bjP+Vq#>w>ekKZ? z6s#r$sQ^k8*0#E8EIeCiYV6}MG8mx-S zNh`ebgqXCN=fvlKu<_)nmG9fIa^vQ0eEo$VU3K_}|F-dqfBW6qx&Ilw=C9Yc=IoWc6}^XUnqW z{RL9vnIm`a`qA0G^RMpGbJmPphsvZE3^Ve7H$Jd@pqMFFCfq5{pz> z(aP2Ko?HG5(i7kK03R0k_%S#)lXD&j&H>HNExXq&vC9?;49+|GrB8q73h%aGTv&bk zs9%=iHN&-kcoAukpk;rxtvK*R@yC7UCx_tiIsH#PGMXxkW~uF)#jR^0jNh`W^V0Fd z<2`-#M~==MebpxK38sIUaYr0MD~&{&NW_?TU}9VfggCI5EfbcoiM9k$W{4hN$6r|h z;9v^iq@@xG!Frnew${w9Tzeu98UWB*LQ4uTf$2);B_|}J5(Eo^dVj69vhi1M!f(Ge zIW`uaIPHJ@qS?Q#I=!d-w>Q`3ER28nhciou=l!2Qo!z&`>^iKU-b>qGa3@Fdork=2 zsn(^DL0XlHtRvt6gcgFpY3mR;g0{d#T?D;`rhDejAI`UKJOra>_EmZA2%IICwjDqx zE1!63Pua=#oEZE4BhNql#EUPUJiTMzi9I_fds|`d(2f@Oe(9ZIbegA!vV2#MoWE_P z|K*nt@169I|Mvsets7Fqi!BZYLCl@(P=RQI4rNs_G<*INn~wVO?7;9`m$pq*FJYwF zJ)L!?W+q1a>Vv3iow8cEXx_CKb-!`-dE3wSwtVm1U;5PKYsnq&zPva)wd#UvM{HyK z)xC$09sR;PKCo`Z(uISeufSp#i*ic@rSLKUD=g{;G_{v8_anNa+eEDHpp6K;;96R6 zfN_m<7B(Uep@3Ng#(B#FF+oKrS)O+SOO$Y6mGX*lPMpfLj9I2)$?}RxR)LeqEoE(M zm=e-9!-(5{5DC-eW2bl;DjR@I^Z*IK(h&-1CLPcJaT3^TyM(2Ia{P_fZ$kyv8v zNlcN>+dYf){-XfCeikf)y%O7Oh2$F$pmjI6#xZ5S;EAi4lBc8AyZnZHb~R zAU8T)7A+IMQ6w$ggQIZ5=g_u`faOH-O1ywER zA`4TolF>PpDWew(Y_A4n1=*NrD1ERo3pH3AbDP#hHRxi!DTtLeF8W%nm+B_QKt>ti z2z11uBnmPmK!6AlgfuZSV@FU!psZ}66blp(FaVN0wLz&zEA(TB#ao51yCeO z5F#Lg06{Xw01*LVWF(Y;5eZ|2SD%;!3P2zNK(MirL<|(sxu61im$S1X81|L-*1N*# z)G8Nq>j9$)N=Jy`J-ZkwVIu>xNI`gq!iZtbO9o%s;F81;NbI1VMNt#cYQ-6ZA%iF9 zMLvhKEv`G%rXf%{>^4wQEL%;TM%(o+*f79|O|!_DRs>sDIs|1kDk+ELVs~t$mLSC_ zvqbG4RC$sb@}7B7MCW`^AWA>!f~lt^#zY8@Qrbup&5=AF8~UMPw0T*gGeQgnE1eo~ zs$YskM>ppO3XiT9<9uKtBozaj>J!Gxo+pKpA`4vw77mL*ZDp!hm1>HvKKlc|`{66# z*aN@aa%$>i{K4Y`+IZ{7?^^uJA3eBxa{b@EeZ!Ogx>c?j@$=>`3~zm4x7lzu#yY3R@Qe*k)@e5NM+tB z$-peVd+hvubH5%Qg+uu@?eVqGKk@u~-uI_8chmf7ySuK)l#SzUDN@7y@L;gYcJ`7COYpQzGo+aFym zzO+q@sQRH3R1Q|cSm|qy9OR;U_L=REZu{jg9@`|3*nfY`+HF`pb3htdJs7G>pnls~ z#h-tJ<4AJHhW70n%uSb%-aMQXO9uxIx;w_?+b$XzSvn45oBwS~{`@1uXLkyY&iK41 z#qQh$a<9^r6@lcmDLDdrPe{!cES=z*DZBHyW>s=(hMkb5V-`SB60jnG0Knu4fPf?P zcM8A}C^iJ%Nk$1|D9N~=gY_0<09d@BcHi$$W@m?6&kBp`xBq{Qvpk<`?(9_0ko0yzk=g|Kv&6>FKqX{^UEqIlle= z3TLm}GyCw?Cw_k6IqQ?wqH~L&;M!)gKGqx8OoIAPbtP96% zutUeeRip;NLFGbIh6pj!G%OURqN@4>#;ig;7G$gl3i~jsTV4sS9203&g9KpUhA?l? zRl&0Jk`u79-pU}6(O7~Mm_>*~o|C#3qbNXtC5ownsaY|HsJwJpP6-vgz$!{a@A?Wg zSn>)}I_HefW0b^B8;xc}7nK#c5HSm>BUk5`?4&2 z23j;+PV*2XE2n}ASfsM<`Vle$A+n_H5@jTK9x6+!p7ko!X)k)y5Wcbyv~ERZl@wSn zd1&O2I^c20w(bjOlTIiE_+Tk-vgAgky|mth;waZla5ihyxg?!((d!#bB(+&6l9l2Z zwNBG4213+AA%F&wfGjuyK@2(qF-8G|x*vj$5T%sf3L;Ga00>cu&wl!|fB^y`BD^YW zQA8k!jFA`sBvK4P&H&emV*~*Z0f3_rG_>+?QKUS=Llg-Ir!``hfkZ)Ig0D5y6sjPk=BR2? zf)2v6gmxkqIF9u;&X%)@ZdkBB#0as%iltJ)RHVSSO#QpF6uhf+iew$ zt|e$xBp$0_hAbSEE>;;La3YAZ#K$VPLCU-m+LuwQq#C-?&}hwr(6wBKTBsT60@Q?= z3c)l&>Oxng*+>b|h?*D*GBJ!v7Ekt?BsmaD9gAM-Oxj4IW*(N*G(OGh-F;7e`SHJf z)75zY-~Id1vCsYEU*A4;=EI@0{eS;_$L)81;oTRvrztL5f7``p-+EIvI(^x?KYiDg z^#!#GD_TcSpKi++8o3X%McS+81^|X90S9wlsw63V*%|buT|R`qBd>?H8fJlqzj1K*eLONXz5ZQ)@t)Th5oREJ_dV~p^uo)=8_ffU2b;D$?+5Id zgYpnilMx)tqBJAws<&n%YnrnM{e^4wjT_F}vcL1@o7Y}7{)WM-O;7B$myRdbPTcat zm-p;FJr}`#@OAgTe%X7TJ@Ocp2tW#7`|z#$#_Pk5`BN(rzG5XmJZx@079Tt$OpiW! zO*WH>+GO$MUVnP$d^U36hB5i%ygqLk9Nawf-D7e0Z;JjNSaFeBUu7%L@^c-Jks<>+ z35rF4tWJv-%W}wEk#&A@AvJ(gZB|Uy&R%Y}9|spHcMJd=Edv2Tir`tYVi`aJP?V%R z13&;`BIT*xww)dn{#9@oBwcn%{n!?FWM^;lX?3mMv~qE6>%m^D$A%) z&u(9l+;Bl@iLi6vkxoldmWFh3puG(a%*jH8XEWdMd+y$)I1 zl>-VY01Kaj@Id;+;58SWwQ9@Z)7}oZyt4nfCpHSZRqlP#JNf>5ulw%fho1PwQ%jdG z{Q6H{*!%KR%i8UIr~H;34?OfAv(|>W- zv8SK<<*#=9?9hudH(Yn+OwX)bOx=MC>c|&<_@hVu>tB{->k*q5ERxIDjpx(zD5CL; ztjq^43aClpEGCK?Jy(n-OEU_EE0Eckk-W$=kqWN+FyeWj(*l*@*%4?aY3U?Jld2@9 zg{m=mRmL=nGj1+1wW{lc3ITv6p{Qp@SoRnbq+nQLIxU6@6jh4e2pznlA;!^wr4xeD zAvqDWp-3d^C@4zjyrXJ???={@3TN}GpqS|KoGZ{ng*Ad&cAHXr7JW2@N@{sE^qGsn@Ss4cn1u5-7O?=w;Y5Ux3JC-j z9K--lJ2z;kG8RU)(C0`=tZNb_#>B#KGEi05>@wx&`ci4383rZ@4jF_BysTSfET{zn=-A6XcO7WDMlnw0cIiPk%9>88p}k~Y$!3&nTahB>AIQXRU!0M4zKHdN6Q2_H!laa3$ofmKb4h~5VRW=Eia zEJ#i$#t0xH+CZSZ1Jvj%Cw z3lu{%B%`%yg{5|Y1{@^@^C)#FIB9AXl=Ptlmn0IxpgJA2QbmT~dQ_Nxh#n9I8ObOa zf>B*{*pQ7b1p&1xCo~*%l*TmXGFJg(p&$_flo1e{<5ym`{MxjOU;9n-D_?wn>+rvP z;oBSel)CZE{ujUd+xNcdw*8&i$wq%XEl1XzwW_tWnCs=0ozDf=Uk*V|E?3mEzLbAY)a%*qk%=wl;kJLn00}q@r&evLtkN)a~zdkfP&~9J3{LD+#Su0Nc`uVx} zYA}D+WHog%9G@=ybN~K>C6~|q=<8ok*TVc`yKi~V?~SkAx@*hqLoa^&;45dm>=&GO zX1if^uhvZ4og9yE+5Nzm{^1+jUV6e0G6qnpse)4}a3U=PK)&iGabZoaTD)vWsm@lN zhxVPk|KXW!)B9dt{K9ajzV*CfGL+vwabVFXJpV#v`^BbR+n21xW2d}ZGy4bY%m;2< z(49WWXN~^Dfx!uuHE6wQ#J>G(dC6q`fhXo(K6~!5r^CS`+3r2=ksW^iyrw^U z_2#{^FYI$-0iUtPbyhdeSMpr)`B*+Z?FS_V530?Vj>{thUa=U~j_|1*TmS~v$nB<` zkQhd(Zq1Rdwy|1wimtq`T1*C?%&hfx@Y2n*~@?W+rh&x^i4LwgVTdD z&w#9tKYU^4=>8M`{fie`$$1BMb(RV!AnEj~cYNRzufO#@t*MO_uY2nq@0D}I(+d|& zzqAQTY}b;4!_rCkyD$Ea^L3Y{l5FO8cmDY0=y|iUlSyV^n__-}R54`fk zZ#N&>y^kuI+x*0Lw!ZM#qRDi{+Ve)ug<@oS9P>vuyL^5I0OkV}J$UmiSO4I-hnAQ_ zr+WYO=U@2N!{6F6J=dQ;V6VA8S-fm@$M%u}qfq4_s(MGTx1L8b93nen7#CJ*713!q7gCK#)LX)TB)T+FEkyN>bPD>)gMmY+JJ3 ztA_aqmAx{HHB4kJulgDyi(va0lOb@eq+o)rhO83F2D^QZ&Z`u?V`AO$rBFzfQh^H2 z1XE19vKtxO+PhG7h0e@uBT$FK90NmMWR1i|N}UR^sgeL*N_3%^^n#5GrYZVeN2#s~ zmLf8s)MeQ*m@(qOx=>ZA;mRrCQYi&7iBJMdk&y+;q1TU`Fk|$2KPE6&1)MYOHk$s> z3hBtI9y+0*vNh>_pCqP+6(pKUFPq@IK&|n1)4M{j5k!oTCM^kqvV0AdV)7-AS90UQEHL;{FR5P<{+ zMih*JAyOcQ3IGrxz>q|auov8vXV20=90t%3fvxi#k;=j=5e$SW8S|(W#FF#CAysCA zp<^1c0P+G&7&AgAvTi6+ouo@4(-{PoNs}@*-8$Aidl0b%0j|Q3*0k>mt9+#_p(`!4 zg=`4!H_0?eVH74iInY(pv>>{uh3!itK*eS-`z^T4Wsq0fi1Nvyr1VR zO%oBxHDJUATZu&R#K3j!yqnAW1xvQB6RM0Y!1xfni!#duP?#B3Y$@PaeKa|#e?Hq; zHkK^w;S1yK3lAUoVUmrIcv7py&D!!EJHOrAe%ziq_Az z!t^V=3fGVO#WZ#Fj^+RKt?t9}Nchan^5PC`T≠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

    RTRjvw>Et(gD=e8HIGKQOL@`cqWj$ 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

    }uNSL6x3kS1j)r?VGXB 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 diff --git a/helm/mowgli/home/misc/proposal/MOWGLI.xls b/helm/mowgli/home/misc/proposal/MOWGLI.xls deleted file mode 100644 index 7b22c586e4ded66da1faa2f11bc39046b6a99ab2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2235392 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

    L(!#&$$!lH-yUVkRf)s} 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�bT&PD^pZwHP)7OxpgIh#^y~i;$=apy)L91UvyO z)N(w_HrjGHkCQDo5Jd{M98bJu%k{S{hn8f^4GdduV4jxCNz84zfdyI)#e}QFmIG+E zoUa~Q4kT#HAu-l+Sny-ZkrJAE_JCjfYRln}U>hH6IaDRma(o_}pXYdTX|&~rXv+

    gPwLa zR?TLd5ZH!hU5728dYDF-eC=w=#!fa@7?deVQ{!M1;~iOf;V2hIabXygL^$fs!AKQ? zktz&>@+)b^I~eIgFw%u#Q0if09tWeO5R8(-FeodNW~zk&fs!A_Md&$JMENU`0Z<87GY3K#wY*7P0(EN&+quxBZ_LEgG%H22`4vkYGd#2!3vx;=Pq z`Z=d5JgCtd?JOy;RI{WeM>pAFvdo@*a@6E!vb-?oliemeQmr8voR}i{U;XPhfO~w=! zjZ3Q0@xFUz->kb}fEiM@k*8hq3$CH_R8!q~vcC`geYCU9dcOC9&Jg4*2&- za7WN64o?|i?k!GBtKpoZ4qn4tTr=vJ5NDs^E)IySv(E?@=XY1CadCBR22%(+0F88U zEQ@EZh~s|YikETf;Kg0CHO}L$b#Wdq_p;V}-oc9-Bj>{7F1s2>$0&91;)bjqhdN(z z?@nJ<>&JZ}ec5KI^CXFTOSD&;eJh_HO+KHNog9l(9Q7`av}rz`E~sU_gBN!O%&iM| z{PQ@pE_}^F|DdE%fq*75cdR7Ys6XD|x9v7Uj%@y2=vV#*uq znV7Mj!AMhMozf};oWB+WpIkmZaUb0JI39-qGfnuU>_#^XnBQZ}?k{EWeaYke#y#Ht zkeq2T^VP)X;dR#BI`g@#F~il|8U}!Q%`Mh}N8J4y^&f+~xHSa3lGczf4QmJ()EXLQ z?MMs+aR=aeb+Cqr2;v66YJuZqK^son-$|Gd4o@PLgjv z#qYYiZ6okhGR}3h5kPd<2)}$R3vW1WgyCq7f{nnF#aXMF<)pBVk>Qdk##VfNtg?xph-9a{K9%PIvCC*%!N_VB;-+5gt5fIa3*0c zjDjZN2pL;Azs$jKCSfj&f+iu4v|>G0S{UH){B3$!ev^=6hzDWmIHtz&#vv*p#^GuU z8~yhVjYI6k9Wf5k@1dEMeIi>5{9+t3n#N%b{;YB6H)vGjum-(vjl=z4my%)}vLube z8hqR2qIO9Zt-Y~<^PL2Z zLjb3>N8=Ec=dBors44HoIK-(+ycgpTrylS=uW?A#uf`#dxEW?g`MRv3u}DJ;Co8vM z;L-`suh%j%Y8;M41>$98y%si9q^va#85u7dHx6;4HSxyFTH~-|*|>3tldU_JwZ>t` zvT@^ZC_1hKUTYji%TmSgm>X{#(o~8XhojJvBZ8F)b>!lyDK&1*mc}8~DorV`R(arv zSF58@-mBHoDDTzkXc05v8rbNVS{)rztD{jzuU1D3Cvi2523!7>iCUD1u1t(kEm4ai z1+_%2z@@6J&CwE21k@6~G_(XTsFtYBS#m*PY6&8umZ-H_q81#jVbv0~;ADj7+r_F{ zrzJ=jtxiiAp4=F08e)>Tif|RZe06uU5@KYTomnX_!ZN~n?GRW7-NrB#vTKf zDahDk9Aopi7qFK5j8Vq+rNP+1pp1<~6J3SHAtPjLA|fO6m>K<5#>P=KHXLK@F)_yG z)G7an1tBrQ#w%fCvAugi!p1tncmPV2u(3**FAc(gK?y@*j4+H~5=KNMhzGCeuM&pC zTWmN+*jPsxg&^mD-mc>*D}JeOoCrZUh*~=VM^%J22;Sz6*mZ5FK>@oChlGe7v);jQ zc3m!vf_B|F5xDT&b1MzC}`J>vv%E92gBKQxiAXab>l=O zB+YgU1L8P;n_hul&(o%~>&6NDu=hAq_jVmBA$Hwv3mg6S4(&P~z2X=B(C?x7g%McF z6LOBhLSi)Sy7Blcu;_=ALvl)rUB{BN>v(QTbWISQ6av=dxLt?#k0;0Ny76k)dEm~j zlUl=~_N6xfcWBp9s$iFUwd+uth8pcUIc3G#b*L$$#je80f(|1NjEixV$5-%&(T)eEc<~o**TXQ%Jt|MM+&2=mrx8_EwH5bQg zt+|e61fSy;c0mA6XfB* zn1rElW$-7c3=P3OCV1JU6`8AopSn;nLO*k%6hc3Dp)^9TxKIf~zi=V!Ng(Uu9FmiS zn`i=Yv1@X`_iMuEoZ$*UU5=)hteS#Z3u+23Rq6^rU5=)JN~CS)OG8rtgKCPp98H13 z)D%QS4S~~1?5}EyI&iec$23Kq(-b6(D|Yz_10gXLSg(XlMv;PqO?HIwP!fQ4AJmO4#JM(KT!ZeLBi@C zVLaRTZ28zl^H?lL~K#_JtnWP7fidfh(7 zM0NWV3@NTJ?6bN8r>lf|XsU_o_N!5YJbH+0HdCx_zr?|Cx;+<0LESzDGL`k%?_fCH zo(rR(Zl7Xxdz*vdbbBt0g1UW*)$Lb17*4n6!YHWQr+{5Z%k>rphGYIVJy2M;PZ9QE z?{Sse>vmK^bo)&fHu~=!>h`HI-Of{WqAD1DN-fD~>h`JlE1=tX0#Cf8=ysN*@}7$C zc(UkrpB&fiX#WtemX7Q8sjAz3>9}r(Rpm=>0PeVMhhfAu8(8kM(ZjYC>y1irBxNgS*S{?CP-QKZm zT({#0u#RP|Ztqw&uG=T5Zjaa5>h@?^>UJKG3}Bn;;@*P+-x<;9IyH3n5gEz9yKVS`A?EzmNd6I z7*6x&!YHWuPm;lzG#_>_oaWDkQBd=rWHtZo4u;eGxiAW9ex8*@t$mk+;WU3PjDni~ zBoQA;bJ)Vba11qn9LBYUHUCM%KI}a{KlYj*07UcOZ(*bV-l68liCvLdJ^DRV&=6at z;2F{UjHc%20bd0){~YvwsM>FklA`%plDc~izHPDvESldZ$2C7s0fWWiljE9yj%t3N z>@+__X(?<_(fpdc0l1y!|8sFe082nLKaxYukIFmEkD5BoKL_I~)ciQYi}!hF^(TYM zsP={>KrK2wpXO&|RP&#VhKrXK%^xpoHGjvlam_zXHGjOU)%+dH#x?&m)%@|YR`Yi( z8`u2PRP)EnTFoCVOU-{WhK1Msba#kqew^P1&3}f~{5X>>kLIU4gxCD@FciGzpNH~Z z^Uo8J6dt`dPlQYOjAmX;^UsTE{&}dQe?~J;_~!^V<^JO^tcxcuGsQu1@VK}FO*NO9 zAIcxYvtc7&pA%+o<_Od2#FGUD>g3^_hZ9(ZzY^ zp@lAvWz}(JQ7rBP!NH?@6rRVs#Kn2MJitctdFP>1TpaT$yi;A=1Bg@Sp=Bs*{aM&oQ3=a11i$Hn<$G}gN~e~iYtF7EX!L%bVYoT&@(o)?R& zJxBvA3xe|7DOqrD^m$=}+9_ESDQKr;g~w@GW^?Qmm?E@Od}-Jzz@TPRYg%u&lFFNEin~e!@UVjIjAiSOba_B&@*^){sLO>Q2IZX%Ges zN?1b$O5aFLRk2o04vdo21(6U@$Ez3t83};#9 z!YF82F0hv6V-AM1EOTKLv@92hdP3#AB;C7ZJk^@+pVp#$>O+`L0LgjfYYf7jo?`2J? z5#tK?^1P_A6U&lNqSoOOG#f0-x%n(hMn)}5qK%i8b)k4!Ygu+I8@DWZWL^in*0Sta zHf~w+JiQKOt!3GC+O z8z5YKY_q=0BD}$=M^cs^lX#-Y`x^P?+XczSbL1Nb!L-lETi?mX7C^%e;|&Y&4h_7$ zHX?aI369|0;YPRatd?xROJssQ95Bze{f}TzdF)_E&UT2M-+Z1)?EK~n4aCmxt){FH z_TmtGnU&YM*u(MIUh^x#p7z)=064!Qc7F2-DzWpMuTT&>zqgw5LfBIw_VNPQqr;so zU*fT2$Z>0XzG;}XQ=1kYCjHL9_!G>PsFJr2W)*wO zjCDi>W-WBd$)*vV+Rpb^u_s{~zMp8$(WY@JA|)j?w0d;>BvtOa=$m{C!15JEoG)SZ zIbK=hD~d~ueMJ$k|95yrQ4)WdEQMn!6G!H3wYVhDD~k3kuob8Bu{X+N(ks1;uK-qT z&tn6khlU0Z2?<3ISPgu8cs`1#8xsq0%RYdhSqi=rvlNVDe{~`Ob!5Y_1y9rr#PTg! z8aAA<9t?PF2-$wAuy@Klhr1*swK2~+6Q}gpS4`vCMh zm~}V+A+uoD-hG+*O?z=L1pXTqjL+<7x+K%IefzG9TQ)Ola$Vhk66{)1YF3<@IUh$! zG%R3$=sUz~JluN1#fAXm^TFM@YhOOt(*WANI2nB_Ii0AW@^ctDk;Cz&IZCJq(*kLD zIlr~Ioo`YX1$ayOL1d2WjE#^T9}P8@nlSCfqB$C|VAWo%`lAt#t#~h9F>p`eJ#|Ur zNWGU=eZdOF+2Ukh^0(+Y);X?ePKJ%*>a3=g)ET!Y z8*EFYS_gHOd-2}EqcX-*1EJ1xFR${!*_rXwMyPWY??au`vCf5566>7G=GHl`pH7B; za&=adQ0k0ZkVCxk^bw15ycaJcJfh>hc#^{vhxgQ8@XVHb>M+!~n(?6~>saSPii~wm zXLIWu*J@w@UuRtul{(`Vp3@5LJmj|O=!9`A4g;=Q~Y3FmI!Q}dzDJ$WDM zzm9b-r2bgvl5Dijd%+uVT?hs^cCLXrUPdik20e@C!T5&97rx=okMAM!eU5y$f>HBW zUO3a6o6YV-YA9qQEcqPv9_0}`#=K%h3q(y`(E_P^pTCUnwqAyeW09mv!p5;Km>R9-Tna*qp{3it0ork<}l z)sdObOC~Ie<3gswJ+5SO?#uP}=o1y5Pu?r|FIYjET5PzB(RAzvMH`7L^H&E4F^i>* zvTkC4MP2EyE#V2{SrTo6!B1RshBu zZs+qAfb@pj`FsT+z2SB~UxAvu;dVY>ff@W8Sans4a0M{EVRt^Sz$phfNi{JxF%CGm zlC%;y-h}YR=fx+prRD}*Dq{3wMH7&WJM3dH!sMu?@o?#bI&g+rxcS>k)KcNKo%tQW zTL~S6r6~{(q)^?LTmE%~{wt;ZuB6fkn%9ERx{(Ie5h2*|-FfbxC-}!beU* z#w76$6ujXjv^q%QO8rUtww}gy}wCAA{YXft3Q2&~>`Bl-NP>n!bQ%gtuxXYAm-Bd%z`gRO$mcmB zAqYuGNhjJ~&_GCnhC&iF6p~=mED0{>@g%|T<9Ad@s0>LcZ7=n`pn;GC4TU6VC?vtA zSrS~%f+YO=(EkM^aYV1hPnD-l7&r?6FKx~<#UQnwqVZXLQScT0(*r`TZtoGhWqYG3+f*@n|6t6k=kWgAYPtoBTpjEM`?i%;fu zqv5C2wD{Wc+;QZNBnL(1GC|Y%wBGAHRqu8Fhx-#1m2SvJj^qRH z>w{m}F5#o@>w{n05Fc`1FRP2pxdBM3%&SOa^KU@Y8j<^a?0tQ(4)I5@ljyWzcnLG% zoh_yZo6VDnpCtAc9W0uNPOCS&&0nyI9slN;Q$)9GR##%`VQkNB^5#++@T}mwcODTwPlRgM?*UTpY`)%fb1vICYcQ;^I7B zZUCwE^LSfb+)TiOYd>&ob8*b4@Gfw1bXQQfi|sCsIMgL#hl}&|+v(!GtHUlA$9zu; z-reBaGHE~NQ`+7Yi&GqXTpaOgzP&EayIt&aalS4*kJ{sC7Q8&MS>wFh1y51dIPZ3G ziHq}Y7niy??{;ySi}P+5?{;zC?P7l{PWNoN+{IPHJws``!o_(yuFQ!`nd=Om+*tdF z24;Y8@v(P_Ad1*5N17uxOQ>AD%@VOvu8mqLPn^MJ6h1z3503i6PQ}AUu9(FJr&a~8 zUYzQ%!e27)CAzKvcIWVO4yHRk0yk6%A=sVh@`NS7iiRfdZMl!ns61J_fH3~D~Nq3PcZUn#cRy4{+^cU{sVK{o6_wq0tP0st0d>Uml zpi~*Eb!rW;H9{Xih*JqZB&E7LY?b^rdH5wtej94QCu&Z~YkseLr-CR{Gc*dep=!*} zok*b;<*@h9Si1&;3;Su#=HnUyE%CSU!`>Ix%#g$4TTs#csMe#dd|6n&*q7&Ry!;|p zzFf*b<;s_b?8CDTSH2=FpZ4W>8!x}amG2?tf9%Tl2+NoF^1O|g zU+T(NO8H;9@|9tEKHj$V=WV?FDJcIHye@w}+W#8V-()-gt`yT@3)r-u^xGDL*T+!o zHH#O=@)7Tum@y`d;0si~i=_|sCp#+6Tp_+9-g zgp_!B)PD*G*A}#UmATapwJk8As?2+3sBJK6rob4pu%UKoI)d6flZzxL7npO5=`4MI zVn4QWH%0RkdofCj(2HgoO~I|wpI^ay*jv$`cRktv3y9 zj8+i}Q>CUQI4f1$cNqOx(R?K1uF|Atntr|VOjMS=bT{Q@|3ODGTfZIMr8qOqXKfjtBn}!tWCGzs7xT7a-r%e2dA8df4AYN zY#xwX`?p&-@Tz}X^`Xol*R%@P zkc(TvHC5*QmWx|s>Z4UA9XGqQP?=~s&b$t}H1gE@g!{*khosevxoPxDs5wY@JXRG& z1B%S2S-Fq<^9_A4_}fwrJO9Avd#kQomqHM4de z`VSvw?%^}5{|YkWiJ)eVpL&3&TRyY8n;G5QPvOBU?$i9FZ{P zH!*XPO}y zWj0KLPEf;iDKNBw8i@smWE8cEd!p8f{yvKumG1;Kp1c=Ejl^!DR!u?FYREk1s7`f) zI@K9!Bo;&+6=U3wQkysFQPJ@enhIuFYZJ9+4UpUo|TsgM- zQE%h=4YGJDnS2`tCiU}LSKiuXaD?#X^V(&$yxL`(U3qJl!70I)&uf?2@@kjucIB;I zhNF>v`Mh?SEw6UjeplYwWlJ%P9sPOjGFx8lvg>X6cVU={T??z-m(OdLO{HCS0ovbd z-@?{erI_m5MP}Y25_FJ3Ux|pgRdAP>ovM`?O|86x8U8L>87;xus8;^5tBq)7)}|mw zMh645vW274yXH>SraO&j|duy1#8L@Re24z#j`qcZ;y2S>DWx8Xo5TR5r? z-n4MGfKy;?bQ=z|@>J^7ono1VS`>XQJb)pHPr&gQY9v4g2S&B%PNzk~%ub7<_rlCp zi=y3gAUiF(!@8AvExOa1KvD~-hSQ=uOs*E)Y3-aaGrT~2opZG)5@Xfaf&~_6(VgV> zd|H%334>6CQsZ4JPxtAdJPW6$TcHr%#)aCFnyE9cNR*j9D9=GzlBG_DDUBKs?p`!D zh22UE_aYURXK{+IgFU>B!)4c{%xMPo5L(vT^4FpK4AZYXdL~UHkVC*%n9O`S!R0fV z8$ln%e2p2_`EfQiAwm04aV3akaA}Za+-0i)bDT1Zb+p=3j`$Wcf#3d6|>3kd^u2Z5+RjY}Q}9_bFFiWG)N2?$z6Pc^%O#Un2OQ zb>&OK`dgV#Q2Av(=TKZm)z&QZ&0UF4Lp~jwKel*4cgOBV*L2n0V7u;hH~EYld$Hr# zi!H}y?$(iTS;(=QOlels+gV0$!=}Q67h`Hpse$_?Y2Z>Y&Cogv0I#)lqyY`m6%F9I z?$Mx3M#R<+DQ>?JX=#3u|C z3s>7};HiNQ%T1=p^D1xSyb1%Jyjo{2wQ}iJ2f)guO{Ulb;B6ehA`d_X(_sg|3Z_ja z{h0IX=*1ZCvLD{tcfmJ$GE6CcSG zl1dt{vI&Af#`W_S(WUuh6Z)sCK8Ju|pZnFD%%WX;c4Ru7tfmr$!s*>kIKA5nr@{9s z-(3+3r^~%?(%U$(5Ki^eDV+FRiNa~T1pqmCu7)ri?jCyN;n@?q{$ zI)P=ohuQKdG23aX!<j2#uk ztO9D8#S94fFn1}SE`?I>7PHE5qJ-KXlTdtSNeOkUtw&oZp^y-cPQ8sYEZBw&TW2n} z66&x6U?mh1Jb=6sDg>Ys>JbOPN~p`dgwor14bX`p0Bbur09Ha>?j@Ao#sQ!&LI5hE zo_7GOgu2{ID7}pXK$F%_r-b4|-tI^!NCO$%uUJGNt7E65f4X9HNSW?+x`-7@s4Ja> zy3$Ih@t;tZKM+c&+q{I*+c>cRHLac-U5tf=zCDq}gq@$k=14HnoFCkk*c<#VIT16P z*MkxAKroB@Q}ARv8{7@Y(+d&{gM0A1TYl-O08TUdlzugymg^}wSGhRv`EbC+8F&md z%Txb@F3x*gThG`4rxJT%7l~ zz)S3wUhi@7UKi)<_dXZrJucqw;+XGAq2p$>evspF@qt*}1CXnyNjp=c%&{E~_12N; zz`Q6NdWhZ!1$Bbu01qkP+8&ZAMTFkNaC4AAaj zw!(;*RipH|Plp%eb3U58)F=>G-NS697%{6xS#L1|LO#r0Y7|Ji?qL@3M~%`J(dTNxbtVVgn0k9h7Hm_0iHVy#29|BN~@{|K$HOg(q z*}Qri2Y^lt0jNfK-T|;0vOM-I(++>gYZSeW6AMr? zW^%Mra#KPrvjCvpI&v;rq$?u8dEFzzvKld~gu2yY284W=yOdC1+3sPsJW9+ep?>Tz z=aEncD1JJ(dC}qB!)%$Gm{mg6+^^k*@t%+7E+y1eZ$mhPeP%8x?*%lneH*Vh!skx>zstbqO^4QGFu1i zeWM-zEia+;Hcsp*HT89}%1v945^B8#0CCxobI~GQ5dqHY9ubz+PBYhA33b>tUmgi{ zEyYjgasn*dJ33YAP5(*vOJXp0f48+#zIGC!xNTS3(KH*5Um$ zl~B(+09HbM%S$M|jdT1W<#+;63H6EtU?tSIyoA!*IDo|-fJ&&>8~`h!zU3v9-o^pI zfq-L+EPu|f&;9xI_vGn^cXfU$LewCh+05Y$y2z&PEj!$NIlVpbFAu%kYYfVr`20RxWf z9%jp8#B2qO!<^JC_Ek%oSL+Ibv$fT#D8J7&i{M(;%k)8>U>IY@FU4M<_*5V+{A@<5K*Miu^WWmOhWvO^m;f&B7;4O` zX0_CI8SWo0(%L3$ZKt5NtVdBp2H#rGC(tx(A+4cnL>xBF1&ODS64r2()UX7&dTvCt zdEVAAjTrh{CQvJW<|caK&}r5)%b@)XVcYixNH#-n{H0RAFo!^L7JmU6q#S<<{BqBC zhPg#Le`n*5zr*pzU!L^GUmlFc-!%S`5Jmh=;aXw%B6Jc?Jv`7XX$IhrzXS2d-$D4} z?=bxFw*i0rosU2MK8$s}A~PE;aTn;pNpHtk=f{KdOfslI4%Xjar3j5&hu5|2XLcH` z)E9&#aEc~Rs8683Yvh+_NHNUwCiu(Ur}@jh0{Q!RFsU$#^@eYc$!9jV!opTn_)3kGQX4)*)_2h!76Em4bt$VNo(2iX@_ifGW zIzO{}&#rAPoAz<%AB`JbH<~a?fz7%}_HPHv1Vg!lcNO|ktBzeVBdyaP=lor`qq${| zt5BWP2T#Wc3`eqDj8T&`(=&LRN5Q1fd5`05zf=TF9d_p0xerkG?gKSVdp6^N)~2mZ zdzv;ea?`HOEtv_Ky)7-7Ef=-?3{bo9FxtegeGA&)5IiT6mE%0-kwo zb(&C}Qj?h?B)0t9zco;s<6s&LjhWmJAHP}f2Y+k9SNt6Ye&p`}@DqQ(9F&3k%&M&| zE&FE7Ap4hMcQcc!HqTXmJN-IWaqn3|4V^m{i)aru*;c9_~Hw?|2f4$;~pZxZ} z=JCMK@V*xJr;WPhna%Y-oHr(Nf1240WJ@siGHC54_~^92f9Di@??cQ?9FxRToHFpJ z%^=SL^G?2`s9!vPv6^i`tC1IF0Od`Nwe~)mWu11 z`ssqY)s^MxtH1X2lS}qD?&@=6!(E%UJ~F&d{ot=(H=_T(u^Y>->sS8px;Z;nPcJ_8 z{3$<}^Zc$+?>%L4UF+6wE-d@Vv$bcmt^V}M6W+7p@N3U}rPqQ9?_V?e58H;!J?EtU z?`@qt>l2sVG4}AOTUPyY&BqU(^~v{*KlH=Bm?TKn{| zxrf(}dGz$BYWLLN_KnYvxU9#O$?*fuxi5Qn^^L7J{d2{=UwG()!+&?~qeq@T{r2}R zzvaqDTmE=(d)qg^bnADvj(uVM_YS@I@Lesx8F9geL*J_W&W}@HdaU+q=keErYcUhen1_A7sK*S{y0e|OZL^oF}W zaoVF-oj$YS=U4pnw$`~9XYTLua^v%lzUxEFZ+m+EtjpJb=r=#U>4P_a_n!|w_s7Re z8gBd70VnooeriqG6(3#r{LF**eE-umJNw@Jvti3NUH$U3QQLN56ML&(vy^VZPX9>%A5LBPpWmEtW#t)Po_pi^U;c3Cn){NOpKYu>f6PmF^!QZvKew$o zx2)%9di=WdYpG8zxbU+J*KPW9&5X@s&i?)btM2{c-Ot|jksto--3wk!z3bigjdJov+lm%od5gpeDRErZ2Nk}*s+yI9v#^JAJ0{c zyj(zihs3o)c^bT1#RVHi zKJ(YrFTUr)W#7Kw>AsJCW8y2HEV}NjZ(e%hjt{N>?7cl6y!q*izVNA$bEZH2gBv$2 z?eXE!mwok&KOFu6(x*p)KwCqzf~CM^B$l{qe=L4;Mk^@95#fcnJ_^`}#1|SxsLbrgic{kK!Q2R|acG z%u(PmiAt#t^#Kh&7-V?XsQ2R`?pD`j?XyP8z6vomnhl&HB_Cyfg;^(JF&i{X9L-(L zHyQc#?QZIV3fXwRt}P3{72=?2TY(oL_{jnSpI+h>E+DHZbEt{DPY@lrZh zn3E)*v3RNVG@sv8pLAB3zp|Ppghv`RpMPH1!^Qb$jcgaqXH3S{k5kUvveoFla;YB@ zZN8o^4u-Ui>lKT8Kj2xd zzr>x7Zn?p=Gp$m^fej*USz4$XcQ48+JX)(7_xhE%mAVXeaZsu@-w=tDegnVg+ucJY zt`eoH5vOHO^ks!!PPF*>p7{dm$50wMZVJeO+-8#I{YdoQQ!@PvV237;O_3LbI^7QA zBoya%7+=>XYVkI) zE()>sG+?8pt5#2_udACpVak+g)9bmA!4dhLfOjQq5!s=E*8D%2{|2>ehf+{pZ_Y!A z+jP(Zt{3BdDvtX?8=+*GD_M@a_XfX38}n^k&SbXX{xw_sUT_DuTXZx7jJ8HGGMNQu z5KcKFcM8sO$d&g6O-NBV*eM8b`00~n+owI8Vu8bomLv1~f@W7J4VS*~BZdCzkf)^( zx6bN;8utv|k3Zd#ss}LN9Q;+YtV`>d;46p= z+_+%ZF3bkR$4y>dsLg|I`V?Rr3hO*ic6rh2l$z=CawuN5HHU(uLU}JROF}3o_5UKv zU8EoMN>%pTs#Lur`loiAek><80IAadltcQq=%3a#{nN-kRYL#og#K!TJpBjJ_bFLW zh;Q@R8`RG=jcA1S#!8cJFKPtGw_{W91uM$k?V|Eu+o2XMC zMESj^@cZvAzxRyrJKKbs;!yAh+a|Op$PdaBY?B9&!?nrQ2eYh7`LPeGTn zau^wH;fuG8kPYo3A6>)cX+vz-8|Qj?BSE>|K|-&zmkh_NCfvL&-qbwiR-5`w%S)&} zm!?-?|7@&92lD2+-iAxl*t0-f&}Y=ML8vAV1+Phi^pRI|=KsYngpDBfQPUGQEyisCW+re-tcS4fD-TEGl%Vh?mRme^kHGE&DYbxqP!JllN{>U>qQE&gIV8`kdCba!Q>lqN5eJqXT zXvr0(v7eDWoVl+xxN|_sNg9Rs!1)?DUKw9k-q>IB%*Q(;c5m_jifptO-2s`rOAA2> zrCksubf6IWXG`e72%(hhv=|Nvuc~C{`oy8&4diAM4?^y@WNRtv;6WhiF>#DwN!k_B zlGrm2;lEfsg9Q&aI83AY`(Sx1%snYlmpEYRpeqQ4R!0=dP(ZmgcvGN|F^kOygMq-C z!W%-^<=1=&joIHeCK~tHIi?YnRl&KgRt;bk6x$ z<>OtAd9VD=#(jTtx0q`gG)RegG4z#Wf?J;+^2)SXS{)baCF4M-32r4BrOkxWcPA~xHzo~899So z(KFgJ;G2&GZ&|*{fN#ESPQ&s$`378Q`Gz6(?ni@TlCu{=3E8FefZMB-N|n9+F|ht% z%la4!RI2E3Zr&ZVmo%bJ@i-@G)~$o=7;S{z8%BZ4xrMzIGvyR5V0KuQ$pHM^3vd-% zFPs?ScSa>2-5!Ly-El?w4z6~~fUUvJ9XRjpj-VK$U=4VfLcy4ftr=>1Y@XJPa;$Pd zqQB|a(=6YGMcth(*e-tGzNSrETQ(0UL42iY$cfadr4wR^#}g^$u=BV1xR~GMYhTBa zQb#n9)Ny1^9Y@+aW^El&XV#GocO2?C($$gU%-3<0)Dau5N*zb#)Nz!p<3?LY)R}c; zw;qQ&j&gP6xW76`O08fvNFB9*?+EUMkS2#x4)`rovEx0Y8sjMo`k6a98qhb`1mA9% zN_o)F++*V>B7U>v=NR_8D01}bzJ=UEiQ|m+dz+;n`tz;7{mv>!Q1fP(Du;vF;H91B zu>93P`tmRQRB{$*KifnquR$o3%Aqs&nJ$hJM5W_dF3uoMrQ=!`=bgE^pQOU`&fI)1 zq;V{(66u^+oJ!I4F3#iS7K6U5;@#llyfgQCE{-@ZkX|8ex{)n=@jMgmBZSGjIB8sM zdjvXwR$#b!kln{80fR7ZpN0Df!Jd=yH@ouUqY-ZY)8#%un7~T;+g*9FLRmhgR%mz| z#}7Z7DM#?|;t{mrHzGX=GVO=UEE{p3+oMe`&bKV6?$ENET%7OG%`VROXp4*UJ$imD zPJ48Vi}QH5x;U2A9_8Yj*4g*yHW#NoO4=@Pab8z$cX7m_I*=P8dal7e%I)CxS&f~by#re8i?mB8GK|ZipDhMK?qY z?JrkJ4;yi7V-9ZzPPv#@ktl9-Aa&o992Z|CzW%qXm<9L3JvrY-7<@;sR+dGt?$ zr<<-QC<85raz#fu@b3v-Q4o(R8A(jleHTm@lnO4Qw>J;?Gt zi7%w9(+3BO!Aua4@jDEcclsEJXU5zZ4)f2AggbK?R=VxyRe{mtD1%?b6N+AmFy$qz zyYMr|`~(k$n{c+!P8=PyqiJ93uALeDU&^D0cJ0~Hw6k@uM2_Bz$NBI>Xxg-C*M&Rx zweH*kPlVQ;SRmYv$ETeJwloW@=k^W_CC2+1I-1!tG6a16wCrtZ+OuhEX62q;TlO^V*nyhBLxM>QcJ0{Fx_2+AnK#Fhx^~by^OB`MuMdvx zChvp8hVI-4Cv6Tx3f+c$g?w;cw%w862Zs!kwRPf;^}*p29`(UVr+pV58}Fz4ociBlLX zo8a$p93znHnlZwdunXYru@x+{H?sx(McnaAIWsnl>mN0?2 ztOLvwjak&PqiK6fC-9oK3p~8r!42~Q414ZOn1+K#IT>CZJnEAo^^`@?1C@R!TXXTDZu>YqGL-X2ARP}Km2G5tUK;Ja(j54`b@ zKBt)V-X2|hempbpAD$oo@cj6P=f^)hKOj1e>qk95peFD~FN(jV=f|PGd>o*jApCuy zxA)wj=f|Nc9~RG#3Lh5Fk3l}nb!}7T!(}wiXzc;+&0;Ljb7H}+?HBIYnQ3SMI$fBc zuHd`rv^CXw8Vnk9y*~zvw??yDGN!~HEM6VPEg4fc4;C+xxc7(Vi+g`4JeF0w^idp~ z<4Hk#LF1ZXIOw7Xtw*0vr?RALuy}-EaW>Gs{Ykser#P^tjyQTMJOKT=TS61SK{cC=si77aQO)D$t-c;agZ(RJw3QErFgxk#{h{V-q)`T z@eY(YdfD82AZwQl2D!3m-Qe{V#6iAMdRZ53=OHfczJqPHonhM8y3ng=wX^|@BE%8L z-N2zwi4X;kkk5dXQt)`?1cR-7wVjHMh7U+D)33_FG^V@oc@3NP?Am$hjx=1qkuN8f zGb%h0LkcO>&_IMpn}#^|AXN+nl9Tjkh&f4#hM1EyuvT=f|26Ip+ghQPTB`-{W~P(y zdFq60Yn2mAcnQHp`ZYvc85bh1VKziR@+#QMnv>q-Raj^bL(ExYLq(Evqzf_UC>LVR z(Kb{pIoZ0zUMw)jxDa!WwIMzWtitI|nlmLiX=Sn;H+`(aLam1Ih}3*vqzvO}#bdyl zr)&%L$2(cYW&x+2=|sdEhf5sljYEiO%m|K{b5TxVz)=PF&s!LPNf?U+MnT`2lu0HO z7HdAq)sC$}t5nlib3RmJh@R9{@URI(%*h8yn#P<{ZHQhvvw{t%6VvFWGue9SREn3* z6!Fr*xu`asaQO&Ha}zG)lMN9r9~&{POllBvWtp_{Y?sEIT+n7tdi$gk8&Ly#2GQH+ zyMg{a6DZblfpxOWPpl#LmrIY$wP_WAHCsG~2$^2rCj~dSw4|9M-auTc;s)ziAf-C1 zIg63jj5@IQxPE%FJVdDw%<~)sV$Qk{sc5hvdH~H0HVGA#@Lx!nAK|YoQJ&yqpe$li zW*+3hYqsZiVAPN0Iqiw|28;(h&*_I#@OEYPv~0;N-!)N=5@lleFe;s(*HD;a=dOvY zHaw9~g$1q(tX`uFv3d(_h;BLmZZ@NOEJwGTmx7g8q2OtJl~AWY3HbLT+u)S~cZn-Y zxJzA#a8I!zy1SfdS}a^D>X(AkEnKSUI9zs{7eEwRRe0%A>qMbdg_SA|RRiu%&G{B? zHQ*K{&H!9?Pc`87lL1kUPRs^dT&`l|TIF)3TrOhGILO4h(uIiibQ_{uOGB{L!sCkq ztIUHgL|?O37b-&9LoQT|bFsD|#QOC_S3e=_(^KdTMO#myca_6M%&TpPE;0*(3jl%4 zNf#NeW~>(G>;-xogY6aN8jARh+W44H59GA1?oBrwYNY$+d`$9|FvMFC(2^HkD^fN ziBgg%O)LqP1WPT)^%1C{815rb`5cFJ?ITe61cxDdtjsWfMC)jXobfTsaedKJ#R>kU zK$WJmwxN*Z#Jx&h{?Rn{z(xy~{x37IO095DkUHLOdFceeEftQVSIj9e9Y{%;p;rtk zQCueo4WXDlL2zwy@Q7=(4bgjM2E1Ps7tQ6O1Q$j*8vAvi0Zv>f8;aR}0{47ZmTpmsRdB-$l3 zuzg@VY=rsAEKgyWpBw`ApevnO-h#!uJ=?LIxR*`QA5HPoV43aC{!-;o-uIU(Z*$dR zl`pU%`sJh(yDY;E$ir}a=gdpp0RoE;Vc3OyU#QCLvLSl*%*9KM%4P!rYX#oq;or|N zB$|`)r85Lvw?DfWqN97?hkS^%#s!TxA}%(CJZhT5zEY@l?()xDauL!ga9V z;^QJxGgw-U4~iI~=h5=uB8!W!*&VR)#C5-gHw3s|Fc-UAw70Z0v3?%$6c}6-T@moW zME>=*IarfW;0}?RTPu{hzD_HHODv9|sEOhjDpb?mLOr62VtqPP`ZN@)Lk0e& z4kF=Sh7g@O=&gNv@KW$6`TMiw)f1(BC>T$a^6$3gPn4G0j}Ui0TY?GG_QYkdB)8+z zzc1r=Ev{w2awqQAVvF3%U|F1rzqQD>)_ehJ%Mi02FQjjjIYI{TbdKQPMi}PenxWEk zUO3#v8N}(laDKuluK=JxG+Rqy2@zRPOY%WGAkCy^p=b1Cz zoRSu`&bx49anP>zb48txQmlvbLSyGnw6Xm>Q}a!9aSs5V(o1VM7YE$*5f`8HPL9N7 z?cB3o;*J4AGvMibbc)Nzw-FTYRF@A~EgjQboS%Q}e%^YLi-Wai=c9Z(GnaF zH}P?h!oit*h(K4&8mkg8BRsaiG-B|@yay*~l=mLoS>A>FCB;NW23cq)WMq(Cj@H&R z4pJK99HhfKRE~LuN%_zs7$)VfwB?7%AZ?TKePmiW*sSU>%!dnv^K6;n0^uqbVhs-1 z5Piv32bU&P+|UCIorz0dt-xV&s4GtsWuuL-jaF+L4UNb~8`iPW808ynU3VI7gj6{+ zAx21*54uXS%2y*q?Mn$T1brGvgVG^wO)v{pWYf_hZD8Uugs4kuK*k_3Won?Y&kWw} z;#202Hb3QcXkgR`)@v-*8fofl1#1P(1;M%s_~^__x3d25-x@EC5s;()xb; zI2kJ(L+Q$vXrG@LA_T(W4+Mth$VegZI%H*IjT8c}M~JG10+Y=e5=fsk5?E&m1i|oD zmh*k!y!LhognwCQ1dhrfknU)|MrHURfuq4@aRP}yByf}v7}`jqguok6k_3(t0&hf! z1XB7(3B+2I5IEHm2!cZbN54G+QNzv%9GycTvd0KSkLD0a{2_s(g}~5o8!ZIB#}YVN z2)qd)vOBjoI17rtMV7eMLcGniBNZc;p5{CoGU^-+Pjf~^N2)Ln@e^tOCng)C= z+HhUKzq74{Q7hFAExlT)?t5)@Yo)sHvmx%nkWTE!n4~o|2IDGs`ZY#ig_hhHf%Se@ znlj;L8{&=)v_Z7r`F8tD!P+81uEdbZotlpoxS?G(R^WcXl_lImHZ)G)axzDL8Ygg9 zTe#x@_ea4RxV@f^fvM>nY@t0iPT-#C$`bB}Y=};jXTm8+;c|P2mx47G?)VP%9WV6_ z?X>X%_rtC%;eN!1=!AKuo7hbdxMu<`*<*s#m-U;dUFEByhut-6YU33llwU zDQt9sUT#H*6T3;Ei6T3-hik}8ycTSQjhkA38RQV29 z5mx!*Hbf&Wow(exaviFi%gS{ED^zH80_!eUny~J+AsTmcgGDaHW?d(&Q3e5@G=B>I z9H@4ljM|<9R|;*K$!L=G!KYn_tQe}Y$%2n6jNLz3y768cqTx6qslsRAaC282aqZK|vSk2$p zdQpoy0<~<~1%IHXJuTvjvlk^Y!wSl_3RDY=MTw__rvp7&9q+D!yim7H5z_B-Ea862hG?hH4X}J6<)#5{ zW#U}G<>;OUxPO*qt!Wq)=LI`lu43fc;Buv0E@BNO^EAOa+?63#%u56hX98Gha3Nwn z&r&m8sQF9qrel!l(n_I}o-S}dE<=HYb1Xd`S zX9%p%xzdF7c^l#^#1ER8(&FKundz8~FlWXF&CJ-KnJM@}$vRW;aek=fi0?rg;tadUl>Ia6>scTi`zIAQA2tY>3l8KTJ*%xXl*sNfxe` zJSPdQ2dxz5;xIYvAQS5s zU5Hq}WJ8>!`eAaiU=4@K$wEzZn4B!sgyQ35X{ARUB*Oh?8{$MaooKVeWG>+5>Xx|z zD-;=X1=g2cX~Oy!8{!1n50iO-^-}O!Qq6#Qw#8Mq%!>_^d9h(KPw<6@8VDayQs3j#Z5+>ZfViz;_BKAoLq@xp~P`B7=t z7w7RVad95+QWrN9Wpxqc6c^{=o$BJa5TyCwe`x6?4vjm_#j&i$Eq8G&tBXi0T%5OeW(3V>1BJ)MMqQBci%6?o9Byp8tZ{LE5s3?p zTDBQ@brI<-7e}WCt;<>$=NE^#exhalBGTC|&im}2VQp$kJ7U?+b>3 z_`c{vltOVto-X)y`!>PmYMCWO-Fdpe4P)?hf%}9(BHVxWAxg41B3BFCJsvKP4&>}3 z!d)$Jd#xOPP8W+W#flZaM!K^Bcc%w@W{qD-c49zz>mBpCkNpb*0^eTa5Uqr1bGyI5N1P77s` z_DT!!O~1P=#1ppfwh&*%dzFPq=c_G5I$vWU()n5ok3pk&Nax!uL^{KEiA$v4V~BLd5a|qK@Dic( zH%1xh{H+hYTqwKWW8jgkSRb?yDSN;|r0ks*B4rO+i1@%!i{m@LI#1hbaSm}h z&)8;h>G!A=Uiv+1jbmAzKkTrwjMI7APK%3pcUfG-yW8UU9<{>TV{sAQr54Bck2PPn z#Sw?b?X@_T)wq2Y7vEjpZ*dXF0Tw0;^M>p8!S#A_EYL^M%-xkuB^)7&B8bDwh;N|Jr*M0gbhD<0U4q9SsM8!NaW4J zH~)tQR1D;s-}w;7cB6a0FSkXoKV%_t?FTGG?0;h+V*j9ph@IPth+&K9pCD(q2=?C_ zK4O2~hqem#uxE3tU=O=Aw@Tf^<|%y-JZzWR3Tqf^XC9xvsQvdAV%>xE+$z}n3?H!r zjnGMc#afszw@s)H(rlZQ!xMU+ljX8Lv|Y-5%$M6P^U3Lo0I)g%(LwtymDxQwAOE3hzwM(FcR@x;{>a851 zH24r@o1Ut|`t6o-p_O(^xuKSm<+wt`oRoi9HS{&wBjrNf_ei-$%gJ(lO`YW~m7JkQ zmrBkNmd2bT5#nhGl$;n#?qa_zj+Zk2_@^N(AWhvuQ)r)Vq3JkJQ@7ZG#|urTRcL3bxcTr$%oh?FnBd1AWeg*jR~VB4sq?%l~iQz$R2W4 z6LH@BSiF)mx*l&*@0`m``h^W^$JXKy_~CFEaK)DH-P`e+yQXm0e)0smlHL1xHyOKB z$XoiE-0S%0wy!~vYTH(^ul7n`g)zBT`f8N#tG&`!FF}Y8t@oj?x-vVk$ARVcNx3j4 z_enV%l;qPm?#B4gevqJ^L0E3TlnWztzm($+7foZiaXv)NJP9v}K>T55asb$MyXFDZ zYi9-;&Bs>(21_3h$YGov5Xj>V79mgYA?o*u++>V;HDH4-x4$+yo)|_rmkFHE2A2sO zu2E|m;h@hX)FU}Vt$QTriI&Ek1s^&nIYT`UO3q1^#+;LV=#bX~BPZtrk7GD?XAfZS-}SKY`Q3_DiB)np)7|4fkYU_QalCEV8eICz`M_ad4D$hp zqaYY}qs46{(@5M+7DqUe|Q}?ie&UPQ-xQ_U4k(?ct#+)mB zh@(B?yH#?Yiq2#mZj~B!`kdqeyh>sr(z((?gt^Lx$Qg}zkwc-}E-+8G5Oc2fA@WOv za);zxV`HtD34;=8wKVrOJmO6K13{8uNMtbN-bNk&|QE-wMpXwlwCv*N4d8c-Cbh!hEBJ znDb3OM6Qo%4-3pUTN-n|#fK;h8gZ7mYK{*{&edRdS_L1HF@K*=qlCcIEejEQ3=!tr zd>Z8jo@ZHzIb(=9@AqkxCU|CLA?A!B=6t}XQO4j2mW7xzhM4m~pGL`p{pA*7&KP3O zcl$KTBdqmXh&f}3Ip6EkD5bFSZz1N4A?AF)PowO@rf3T>XACjt2YebO8rJ$P#GEn2 zoFDXQlyg}5w-9s25Oe;WPown1j$8{dXACjthkP1kBKFu?h&f}3IX~jlC@HaP)rs+5sGkjKeNkPerec(-E`l;2UQP)>F@UnX8<@#I0 z$GNhXdv+1x@zh{&UV2fc8fBTEE7Eo}D&j#};%L+-mj4}g?eVCWcqr-!?2&AP5zq(v z=&_go!_lZb1hWI{dURHLKUVY_a2L+vOdgF&xSboI)%~aP(Wo&;kI>tLh(K@F(|a?H za&1BUVRvy`rK4O)HRuG@;&Zr&YE%W((l2lgR&Dtds+eke@g?+U21WH6?5yKw8BbAJ zvjZ#1vkN$y6+SU>wCncWI9au;(A~9jOLt)(-p6Rh(W*Epb^n$7x_Wqj<*xk<6j~Qf z#i_4wEQ@zHninmcp=YPoz)o$DBL;}!8Ladd_hYW4A3p%fkF6h_`)aNU?@DIi4p&Z% zC~1)#T7+=#+4zU{V^v8%{_YRx$0oE&7FV#A=qb~KOQjc#|*v0HZR*xkKb4(>h3{%!6ooK#pdqkv9bJfjeL^)2XC?h@wb z85~lXKGk*Z#ss`#QkKG)K%wuv zJFe!TvxnrJqvUDE2jLQSKRhqvSYjS=e6Y~Ic?;mA7o$b~#>T z($|=_?eFQKqh&U(0q#0@Xg5wt#u>ys4Vh;m%el#gD|f>?GY=kKd3n$N16?@#Hl9F? zqmy~K@s(S);#6BL#`mYr-qa~48t?B>96WJ(AJ1UcQ<3{QX}PCsM>i=WK84qH)d584 z$;eyD@u)`+f~fPhEj>L~^SEZV0ZVK-02k6%AW>^RuW;r5o=dlP9o*Kl`v8xBo?BQ0 zdJpcGy6x`StCcT451P%jjfX5B@@VzQXN*ZSpFf{@%U0ki?CrvF(fjuSVNW=(83gc9 zy17GU7B;GkQU@i4t(PC9k7$6VFX`PF$X9IH-OYv@vJ9ue;7~MoUtNQo@|}gK|1qT~ zKIKGG-VffysoNM{$0m}fS}3HcS_(u|B9d@0)8_jC_wKU?!`uP_|H{!@Q$p`EFNod( z;FI1-f~;5=)qq~YU2x7HN^flmy~{dYNc)mb(mS~d-l^9L75VhLP){CJSLNQ_ZaR%J5Iwj`p0Q&lB z@gD&3ISmhWKPm@ow@Fz4-H(TjIb3qgH}|d+`6_&~Rc}J5sSbyIXFKsit78v9DH)h(8@)rqfwH ze^<)8IdJoVFT*SFB|iQV-x>Ha%wIi#j&EpG!CvIMQ+e1Pdou9M^i=4!l;J5S2B%GtaL0NO{&Dyc-dKG3 zI|E<-z64*U^OyL!YRB@kth zL-A#Ko~pV;g972vQXx$#%ZAUIb;{H25 zc7DO*4taQ3O<&)5{63P|o;r4ZkytWGqh;Uad$;0{c<7Mn^QKcPiN}G$-pk=(;9!?1 zx9KZ3OeZg4E5QD#7s)I92!S5#;KnzL?<08YIe8{M?68&lc=-Gl8noSA9?RCQLs!y$ zz&ugqi&_XZ=L!cW(!Ew;`b56QI2Ej;Ao1oq%p&GVUUjZ;<R)~>9Zf-j5kz!CO$zt}Fu<73u>MY+L|CwmQ| z2s6bZN?<>AA{JI$i<|&yHYhA|46_i%B8mlXq+oUw8X99q`>&+qrWF=Sw_z|$oVo+A z31}@*T6&J4EBiXQe6JMIS{CM2i5wt)${YSt9`Town7@x?9(6T|K`=GY<;PW_gg)Ac zi&`#1KG=a>JxhnoE6jlf2p71!_iZ@@V{hA*ef#zwf*T8r!9qJ6Qye@5$GSuI_Y7%8 zPMT$rC19u>+`V02p6}VRZ)aCw-kgOkg%cr#F?W8R$A}E$B)WIvd{?J8&JFFr3O&&V$1S z&+(Y+OsCPebw7;hgS&U4=`QctjpGJXE+Ard0ZCmwSMJ8Nb~{RmseUyr)kCl{z4s4V zrd{29bcA6sr_i(qH#%0SSd@lJ!+ZLL= zAKkQ+XB2jAIf!8e@rDNIg3UiyySW!jB11c{hJY`-jXEeNY%&e?h&&f~50Vu_sS9F* zC6u8DlT%r*Qge29qdB?oG?raZoe?s$Ir{^Sl@k%KQLdB{TnB=uZjsY337evTlq+!3 zQ=tf@mrCSNM8`2+k4kj!U|F8cm&4vY(Is0Bi7ugfQkZWBJ4Riym_r86Z+2laB&ujt z`vo{fqpN#6CWu&Y>E4am6vho^Ppu2%eEwizl47aiGFQ$W+BI=3xGESWNh6EKLNK-l zGTt7^^rWaeNvT^oXD?=4N*48Vf~Z9;DWZlbRfS1H74|anMgL&R1ye7WoWTT5x@cLn zU=i07%e!bPAVojd<7d(LhPa;J4sk~c^={;>diT+j>tPeo*rp}0UF;?HKULpwG|und z_ltiybL+eSVii&6m>=%-#3iM=HkV|1iT)hd6>mvuAb3dDttE};0Uw~N3V_*yrfU_ zjVKd0(&E@IS`V&>#IiSL*rvx@+>M!#ZRpc zRN7(8%^1fO7{&X*O>LR`Z(ejeBJ$*N#>2JbyGp<{3-HPirT({%81J|9nUWw~2 zTzBJo6|Ps~dJV4E;(8sf*W-Evu6uC(6|TR=buX?r;(8OVH{*H>uKRGk71!Hvy&c#6 zxZZ*50bK9I^&qZy;d(c&_uzUjuJ_@3Kdy&xeE`?r;QAo0zs2=;xE{v!AzUBE^$}cu zkL#njK8EY#xITgFleqo?*AZNw!u1HQPvh#v^%-2B#q}tz$8h~4uFv86CtQ!?`aG^L z;QAu2Cvg2Ut}o&GGOn-S`YNt}!Syvz24_r^<`U$R|;`&cq&*1tQuK&XIb6n5j`US54#`Q~F zzryuDxPFc6e{uZ=*Kct>hwJ}v{SMdfaXpU-`2^L2_Qy!QoaWWRMkf?DdrsA4!=96`PzTy4`izrE_H&^+$n?AGo$={1Bo+9@) zm7U(y0EfDW;X5!~Gdv2&YjBry6CnxSD3CL53*POSFDJ$Jd+zO}Ag^|Gwd1+BOKLkZ z_uw#=64x?S?rU<60aqrEVug=&Ax5k`0poi;Mo@5!7*_?16&=ykc+7RE_20WAz{WPE z)0kHGO0+4@jHyG-TV>sM0VY0rJ_OfFcZpjTwh~>u?8ajK6x`)x7wO}kW*#{`RL|4B z6iHftc+7!|ud|7%9y;n$ap9t+tEDviba-2a&|+zx!hesDSC59dG_w^zv`~$lH_t+l zS}0T<3)M)WM<5lcKff(5TTb;PI}zrI^hX{=hAjUVe(hco~?sN z6E|<^*xFW0@UNuJTUuDPySp2!4yVy|jL%m55}GvSyrm?Kig;LdFXmJ1v_@1%PsQh9 zHXKTO5UYfJ%M%7dNf_KJ2w`}>QAAj)66O;;VXY;EFsYUPKH>Dz$odraQCOzB=}(+4p6p$=IWw&mx!R*$>{M zml=9u<<6J|Z5$BP`uj4U_WAj=qd5O4$)5qQ5ic!*17+~iD!44u>p6l?OL{Urnf)1k zcW*Rg*1^nYBy|X8?s=r%47j9VG-StRna^5DtRqOt2A?_w06DU5!wy&QY`#%v*5J6RMCx=NI!Nlz@KeiUf+yhH5W*89!-kD__{$+csk*!?0 zIKq=}$STn_IC>}VHiBp#5|VSz3WsrpG1Ip+D26(b(jXpW3OdNg_Gu;}n`XG-aGS;P zgi7h5@!HUJzM&P@5HvK|U@UaN)6#s})D6C=B?_s-w5f-%R`o?q%?A-w3dlCEN$sNQ4es&N=>+EwE`S8acoPM>IO*H-8%qATjEndP}^ z9OQ^LFu7_R8u>0X4bP7cT%~+8+12Af|4tk{&xc}34j|W!gK4D#PIHe_t^+vMx*XSy z^IW$}>f&HbR+H;yCfY7=9pj2{Cb;=q`G>%avd!>m~-X0j^6H7mmzPetKgGm z&;k;8`|T=VDd9TCiH&*eTsPjhj^5*`%f98i3S3yBtB9_M>t>bby79twY+!QTc;mY9 zMO=p|7P)R#d9E8@#C7A9>i~|mF2{A_J=cBLb6t~i-K<301+HUUKU@b~MO`^~t^?fz zbY&^mfpS*rg>W7B+bh?Nm#LC-Pg+-2;yR)$>dNtde69n?1lMt`w3d60T#MOs0;V>n0f2P4HZ|?nA2U zz=ajKj_8WIYIb?9n;=}r1}4`{Fs_?W#C1)|b#Piz%mLJO6Nz-E&Z-AvyZI#sz0OvhEI_8h!b)i~*+xo&im zTfvRqg;o1|uH@e79X}|YbZMSJc?Z&9Mw~h7Bm#sIJjA` z3JbGS$8xy$R`re@{)jAkPsE@*3Li9F&22#;4!rQmFmK;DEtK!gqmaJ2g$!|NWTNN@ zC5LmD$BdjILJqr=xs>}a)#5>+z+^9BQx0(K_uPU>dM)PVA1cp&soVKNaI=0x^i|R)W;7X z0Yb@PQnC?rpXN4=cdkXAwsv^3e~o7S5G34O>`Z@?dzF00Ag%>*hp={iN$v{y&c-on zd_q$I)l=Q`SYg`K5}x=?lDJb4w-rxvvhpNnvc);X=@XhM7B>%Z>W8Aq;^I?TzG*hq zKlKbxe5OfUc>1VMIHz0OR_bWM+bnUU&*8mseIm)d;0kXE@akCvbe9%zv|+;)>o&{c z_8QHzEsk|lypZ`;Hqb{`U{md>vDWt_iz9tn7LTjY*P$NzRCb=l-6)#^NK325#j^7) zj^`LCyag7A3j3$B3nfmUOt<+qSR`>nvv}%xQ=5M(%UuXc%biBw5{tvrGyhcXWQ*fj z1o~8t9&t_-KN+!q>CNUuIZ?#5gg)mM?ikm6GwXJ$#SKS3tq0#z@cE>j$sq;A{Sc4D zbiI~u0z73au?5JHr)(vbXT?2bE3pOe&QrD$TLAAoWh=3Cd-`MHzXG@@34I81g>~Kn zOuQuY286;Yasm96ggy+Ru+Ce++~LQ02W49psM~ipgc#U??)KA43ti zQikGWNV37M8iVeBZGKQ$Vkj~Wm3kqo#*@&2KLNRCqxw42{;pSem;>}JE4yk;bfeG| z_3epu<9X$+ejahCT}7j35{99!a7`+*`X@m{V6M$Y;-ZG7)sNJKYG7xI)ems2cR8zn z5{4B!^GV;CliYBwaACRGS}%6y&|;jye9XfuHEn@ z@65@{pIqLhWU(0^p8GJa2xsifw*z;YKc`^W4VFJacfb5OIYCa~PsX8A$HJeJjXzOM z+~aYVb>h&9omhrHCzt0>L?`%@cA>5xlRxQ!TSYD!Ce@`_*Cc;(*|?~A*`?r#RF_Us z{sg#Q`1mcypLmEsk?VfryA*4f^NaNtkI72%9s`X1m;^JmjB@F(c*mp?(JjWFp_ z@F(N&?}hN^6ywh+oIypv&H<$xFVdfGvAJqY5v43yMyLW)T&?p z1eHck;7`V(QpdudQ;a`RP2tZfsdfg!r4oM{9SVia(o_KLM_{6OhV?Ts&?df9|ODT{>I&Gr5Qy_>*x(IAfQ- z2e{MxITg4EYu|$Ie)$trrn?mU$vFIbA^h27{MqFBv%z;Q__YFm5?x8xE-25RO~RjH zRlCXf6RX&%&TLZteoh6~$2DoJ)`6FEZi2@+4f^iSu_iqg5<=Ic!O=od!6^FEuSs+5ek$1a zzueEkx?Go@3T9)^G+EEoy$C&%T$jeerL;q{wZorhU3x0mJ@kyOOV2in{`Bk8+B5V# z^>gqeXNX)+{H9xmIU&=gVRRqGSJ$R7n!TptN=yc)E6CdPBy?wTZF(98-%&RnAhFNQKN&e(n?4GOOmldebZLZqQY0t2Ha!h3e$<^{ z^)+`|arDMz+w=j6^;@dnEA1zIW;e8 zbapfvH`URzw4(v8SN1oRb~I-1?C9pzzN0bAV@D^a&!M9kSA;X!(ZH4J=-J26(V)BE zj!y2K3LVWjRO*Fv^epS>S-zv!`Hn`%SLkS>E9vN2#<}3YKgaxH4u+aqu^1Xc z(PpFQ&ojT6gK?nq3)-!7um$4h_)ZjyjL)FIi39G`rsYX%(WXTU1~!9*#H|yu!C?lC z+upd}VlFCt)J^h6sk47X5RkUg6g1~2m96tX3u6x{*a}vnW7wPgiEDkoT zC+Gf&zX3TXf%8sqo!Ax9+X?f#H`fV*@gMs#@E;a%Z;l4WNg(eRZiz54m&lUdlYQ2wu_dDjk~n*DN1%8XVs5^5klzU?aXgODfd{7>^Jf!h7nP+v>P1(O2yMr z@OCD?I+9KSycwQF-`0lHm7v=(l6V|vawKt6%`e@*NR>y*(VjN}0lyK{vIHo0{izCy zhfpO!aWBp<-Pb%Qo&s753Pp`7f&!JKiYG}WL2(Pu_ubch^-mK}94x1y`eB>g9c{G; zOMf!@NY!Wrafi`2)Xm|+0It``b~`N@v;-TEC963SSW=U#4e(WxoKGhw)dNe{q?2o` zH1;5&U24CmD7_?eHAW-E!_LcS5xR_z2kzM(-`UTdl+5wo+1HO=URF7YzAu z<9E|_T3qxBw94XI4i_?YQucI}24y-j6w-xym?->@yvP$1ti(7&?-A%X7 z;+Ri&)17H?dl9!)XjyM@#G!aMSX`uUBSci#O&7|ZWpT0W*%rsLx|{ACi@PxsaBQ-; zSoU0tduvO`cb>%&o}O`XekxAe-~x+#;HHA#O?RQi-D!1usl{P8TV{x~!9^Cwvbvk@ zVv8eQZL62XIMAnYm!#r!H{HuEZn)HglBmsPAdybWascHKB3ILUL>oBgd9?R-Z^dFU zu&=qy?)6%3C0{?bwqCZB2OFRU=dq#F))PYq?nYz9Q89ElzO%*n6%zk;AHM?euaNjo ziGRSycOt$|;yGgBCn%>9bd}_q2fE4Mt00y6t|>oMThLNuK}H{`nu%oG)wz7ZVffYb zw(GWgnQJwGT@e)sS73B8t{(*^Qi#AbnWy{ehZ=2(ikg^QW69KLIG!|+qNTYNEqs_P zq9&HEvt(+tB`Qlac|WRAZ^_MV8H9)TT`0XG`=PVFSxCf_v!gm`-Q_1Xxa!XBxU0DH zUz%XJlT4HGLPBVUTqg~ZTpq^?uYw{C1S`twfRanZigIr51)!{U#VBFNE6SmUa*Wh6 zA5d~a@du#9p01)=RtJ>B3?&9CYF!gh(hJLw-XUn%7gS5Q1}Q>`iH6payFSB*C~E`C zNmxDk15nnMpsXRvDI6|_@-%7KI;v-~M}2Q2YWSKwIrDTh0Q~R@Z?z&6hvWxQXbYNV zg6mx6>UuH2@-o!YOD}}68Zbt?`GBFJ93XzfbL(mhNv*l==wB@yBvU%F2!cLYAF8Yt z4wA{9CL90B{B*T&kjw%#xrQC+KN&!yHkRq3Cf61v)4-K^BU@;-RaR%4Fd*1MJYBu2 zw^o>o^;sjeTi|Pl6OcjhH+}8aSnWsyTw8?NVIqv$A?Rxtk|`f#7OKfsJ71de0ksRI z)3sX@YB$USPuFgZnC}42-;%>|oFi6KB^SSNrkP{j_j(3_34+DIr5iCxt%9hi zjko#&VNJFcLeVv?Y+ATb%U4VJk68KYP`)~r=WV+DDk~4CAHd&h<@2F@K9=Wgy8P)@ zzDCMFVdZN=`I=asx9Re$t$eMN|CW`n4drWNdETbWud(uVQvN9`Ul+>P#qzvOmp=pL zc~aI^Y5!{hL%(%cKNtz`4(yfqg#?GJr+G+S{H)-rg(c8HG0Es7RZEbJJLJUMse^nw zblvYUF^7z6!q)nJWt{JBlAvl}!AH0svliYK#3UvOg8`$xPB5x2uJT~EsJa*|80~z5 zQMGc!gIRlQ)aV!>7_WZ*UMsa$wbNj!(V;*vs-`+Um@TTN1`CEGf{LGqIboW@hrqS3AP4S(iX#WTR`NS=w2Z*@m-1^EO?6rIl9>e6N)k4rF<_wh85Vn=XI4l~)e>h?V#BkBsH@wxs;Y z+(oh*^}m%|v0OvdsZdQSROdr^tm#neu$_B7-d(Ql`PGi=FTF5}n&qY=d#%Hh#@s|W z**THc(v1GneeSA`>_K#q%&HgUVHsQs3W@14k7+G>Xo(w*EjURZE%M%YCu-AMI~qQA zceNPyw``ro#{ipO_xX27jyjY2YzycYtvBPhw?Cm zd6WUi;qN?b%mDfpyV3PY(ccLGXpaV0kOK_L4nx$Dtuh#`!AcRaiu<;Y=_tfFE{8Zj zFk)mG3}UthTeHXa#w{N4<)Js=Agb3}H+q|H&6Q29V%_wBaFMN6-uK3s*c*DAE`K`8 zv;7aIdgCCVY2UC>K#TOoeIE8csEd-`0DyrS1$7);qiCgwSbO71j~D>TAs(Ek*Kt`5C{7kxu-=xw?+S2oQTO@&kGq&Hfuyzh-d>il*&A1; zdgIDeZ-5r*jb$D-Dp%Sl05DK*ppJuU6s^>m?rPr~hdp8dD2I5!-az9F4l!GUGgi(9 z;FBF|w49@E#w4^e>)hcCy{ggCBcE#VX`*xIAs#7MTf^zlCBICgi^T^4E&J?!xWC_f zFJ`gq5n{J7nCw6IW1Qr0iAzDAzst25aUfUoBX6!$4Lcwo&3&{;e==F?p*!9%Fk)!RD&|A*)d zx_V=iRCY&}b5qy54W3FjJcIt@MhAM=IteQcJPVnm#;XowO1bY zIpjJW4(0Y8fIrizMTa=fEp*M@Id^HHwWTnp(7BI70_slIaTvzMHPt z(z9FqxQ3G=4;GqNt(Y+hn^C&YcG+GWrGb~6xmdv64h?#<-3{r;HA%HH7yvx`6bCvN&N6*+bv#v3tQkL2-Vf<%^zg#rZ~4TRwm)fXI{%xRuf)` z;C8Ie_3ZZVRA1Peb6d7g9D2RK!8wq&B^&hhxXxcu@5b$^cQfv;cc1@2y<7ODdiUJ-|Nn9jbmp`-e13cDw_gMY zK^b(0ez+HBHXgbD#X-zeb2B-0ZOzy}Rul!(X}k?oTwl^TQAS)#P8i?Bhp2ch-HcTK|R{KHl{|H+LWY z!pH9U@~)ZRx%eBe|K5l0@A}!4OD}o-7l(cMyZMhDY5wfXM?CiU1K(Qx-beS}^u1jl z&JFvEgP^}S2=XlZqW!3Ypp}pX{AM8+F365)$lv^#%}*{@S@ikkJRzIX;(PLcoBTfx z|93xiF8%qBq~R)9B729%^3^c3UY|&( z!LUXg1ZjS1q^6wttrCZ}^7-OXR#g&r2J*$DtZ0dy;N8ZyA%*auM-fN7uthTJI0z5;5Qo>+ zvCJDb{ZKoc;E%y_9xpYo=7YJN!G=u0tCu)E?kT`)kho#M@ept{$kAPBzXXnlq%0pO zo#6hDq>H^rc%1kv4w$5@R>unWxNrP~3Gdnd|j+tcNM#{K#R+zKsp37~Oz8ZA6(U*ph19>+L~BQ08% z#}{k9ci$Z1uyfbPabwmd!NH>+HQzg|ERVR0aY`Q#cGEbP)ko!Q-fy@MV%Ts(1x7c?Mh5I3ZFOGsO6Hk8zMLX83&1V;qc&nJ;Hp&sx;FUT9EfGv5PVwuU;JxeM)9 z&e;r0(jwN9bUSmsxSiqRINi?71(aWT>e0r(_lx6u(3FYA@fBwiPCX*E73v}RF73zd zOg1dC??H1B4hgMClMTx4%pUY43vu%&r&>cZ!ysq48=b4@jR+0LRU>=C>42sIBWO%7 zAL=wP4?_Gjx50_5Y`X1)VD!n2mb^rgx#u;kT}JVKL) z_j1!M9pQ|~+=Ojp(GkwbOb6OmQ+3nrah`6&|T*`Q5|kI z!4?)~iMwVxBuk@aX-s5^yIe?MBQ{A1l;MdiJabJy>m|zw%`!r=u$$d=_v^BJSF$@ zpTxLaFaA~aR!edo|MR^(q__BpFEB=qj_!8?nx3xqJHOgQM@455(rAI+)QC~3Zi@U- zxARL9c@C|(9oev!UW!m;tZd0kIs(bNR{|9m;lbmd(A7S!y&fX8s^0b+<5{+w-HP9$ zni5|(YHap2H+nH=(YyDnoKVC$viZM zV<~?205^6D5#!L_5!eSc^TfQ{jL_&*HVg%vT7Y){g9jF1)bv*6vHXSMgNr6Em#jE= zNB1otjtu)8zv^6x16RW`7K8>3=NaFTZxYtU$O42jz=G;isvNt}@Jh1FaAlX_Wok8? z?80X+)%aiCo5%lw*oD50IfkqJ7)JfbF2e)6z*k}kyA&lBvkP1)mSq<@T_dVmk7@)S zM}l2QFPg*-A`9%o_!p5~(2Srad}<-Zj9oaMF}#bCQ^TF3IbAw6+_?mrPEHN?;UY7W zxKqP@c+qel;YM<}6KHa{qZ<-P#7#Aa`yXLo0EQp#bd{ML?!d|64zpT@w|An3unu?M zmqG)FJI7yQxYNmI9PYHkOSJ=?%O{8X2p#St$_#gSmGA8wA;X=?dE5^)+(-D~-r&a| z>c`@jfCNg;ZAzX4R^-Bh{GMtm>4Xz7-6a5 zPG5@20Sh;PQ2>vZ;hIiP4fhd6!yWGN(xubVeWXhbcMR_YZikQzcRoHy4tI1zDjT|z z!~KsiFaX03cXU5+MClHk9PSvYGTgnJK7@6+`@R$!INUk@62l!M1JHtW=M=MaxT7CZ z!+oR<_mO3W`$!J=kuuzwoX7n@!yStQpaABfiCh`(a30!AQ>$rYnc-fPSUlX}{H^S8 z$M6JeRFXC`VGlH7%sfF#68t(LRnNCg(caFz&a%#BK`(rveHQX`0 zi;`2rosZ38X$R6|xHCFA+|doGZ0Jf3_dmkG01Q9e(fz;?hdXd`xMQTsaK~bu|JC8{ z`%-A&aOe0-40pN(jKiI)C#Az3{g4{&ut{nAA6I6$AIIT-oD6p+=W##Ka6iru_X#F) zWw;*~hWl}4hI>(B@o+z`!f?m%MrCuZ;89^NK*OKrxD3uzlM%zmwj=u%={szr-N;_9t+eOpaxQxq_D_*N z6wE@AUj(mCbjPDS`#k5G1s+GEh&Vw6KHr3MscX%Bbn7(E%7lQX^J zWwhknY!4U<9@ORpOw0IqU?ScYOP0|RlPMf?Zh<9>aE!?mjybo)l0`ViWR8}cTjrBt z3J2V5WiGXj$^Q}O7e|;V@zD+W-MQg%afmdNo%D3oP?B_;YkW6(cu(`Oo9A_^|L&7cf15GFv+j%T-b)k`Va+^xs+FP zScGDoYr;!DZL+As$T;d)c37$`UsNh7TV1JaV^P_BY1w?Gvcs(`#uC?$OUu?&Dm$X6 zY;9@T+S0OIw|xoZ;(yC3B%cdR#?GH37=#?;qcL`;WX|-WgszC2GWtCZ8;rTaEibU5 zojYaVa|_T=tf{B>#LrJ|Z^XV@tmd@23^(3l_w4!wizQT(os3RQ?v6|q<3?L#Rg`$- z0+hEH%3;Tba>L+JBCDc=QUc1y3}xf7q1-rll*pTx1!J|Z0 zML9xHb{fhN$A`RXla`f0xo-=rq$jULz=UkIB>t#%<>+2)#AN+X7 z_Ea}66IPzbV7!mBBQ3D?6rq_Yr%-AT3WubOfwea-6IPzbz#tnZBKr~W7N4QbhI{tk zV)Z$EYXPeTDOlP?<--S_VX=J~FD&EW%U-@ySq;G^AN9q=HDx#-7OnJ{Z!j1VTs0W$ zu!hfR)L017;x*->#A3U0tW#~CUd5dOR5}6!c>vvaT#~$5b--K4#mEk1rc{px4Ww}2 zY|S@C2|@%b}%GEeG$OY`JkLQnBUe zX_xx^ao=)iNw(a$&~oF-v|LeQam$UX&~hjyqdK%4K(pl{d1yIQL0b-qsg}cnA6t$! zp{Yl=7W%6#2j|2-oN76cl4v@)5vh^9E2QB3itJw&=Z_6KwvgDI|X zv0uQO-s6EKo}|M~pg1p|^8rTl3?6Ql;R}H{gXed42G89;?tNEO@1cJOXo2;9Xw@g^!#^(ueo5klfq3 z67*H$76&e_L=CEQxX<%GulF^)$9@OK*YX}OtL9P)i^e6lcdSQ|CAh0H6O|@8Omv#4 zqg~zM5|f;fNt2vT43p+OO!U&S-Xt$An=dNcSX$Pb%JI)EY9cEg>EI$z~IVH0}Oqh{KO`7E_!_$@CGL@$* z%_PzO^J}EE;QA0w-+J7A)SZ<3c~-wWGPh^eXP(L)a7#1%ekAkOOs8ykDgg6wvT2DM zadd;%B#YY$8nd#oXR^fsncrkI#p2@WN=+8ma@b)C!A(n3EskaJ%oTAwTU_xnPB(b* zL~V_WczJ?$%(qp_^4x2UiyORVT3m$3Q+72UH(%)nFCNGmap>kNp4}O7D1AI9GL}`m zCrRA%qP-6LxAM7rDdy9%^HOn&qt)WLsY*9^(N|%lMK^fyWI&CJ8@zbppT@-vUVP0# zEX@JgZIP;s!4stEO@9u(CWKEyihE z@u0Ida zdcT7;L_`ob_*FX+ehPiK#{Z_Qp-Cxgh-^J4`vKnwlT(cVr)X@1JKo7g(EkVS^^HIe zW}NG2BcRfu5w?EaMEigC!2wBMTWKO}!x z0E=-Llhei_+Mm{6OimkzI6W(!Y{uc9ZvprOw6vAJ1i0CV{Cs8PigwO-vNR3>oYo$V zLlDnfF%Cf~@5MNT2PWQ&aR|Q%yf14UQuV8GNOw4sJeSirgt16N3x1jpgK@bDF0R)y zGHD!61p(=@vR(@tDpA%Ohm1^@O&f>sk4?Pkvfel>Et@tD;U~MatTzrz%chOPiRicz zyxurWmZgfJOPpvN(o{+shttrKQ!*R9aYzpU5NkYIQow zN3}X##7tNNo1Rju(^G17I%te)b-Iisu7=TIE59<)j1tL}i5aRTno*>pmS`5ZRF%y| zS^|oIS|XN)mH-CT63s|XvwX!+kyOQI zYQ<)tNX3fHu!_+k2teCshE^<=M#X?ZD~3duT!n*^3091VSP?oR(O<0?oSFD=O8w19 zRg9){`HG<;sfx|kip_L%)lp{sl7e}rRg4ZWk`187>^~@3`zy?9DC*Z0e=ykl!nb7NpK|uw*4krGfh574`ZoVL0sEG8m@Ui(ypM>vV8IeR{mXFuh(3qoQ7)<@Nd)gJF8T7)C|C zK1)ObJf3+NV8`-pdOdo*Oq+7}%#z{5-s4Oy>U9tydcELbqyPF|*rE?zZ^T6(^m|ah z;J`ZI7roAC>h;<9R#^0b=ZK<`qSslHdYyhVyk7T!MX$%?v|dO1Q!~fpv|gXBdOaqa zUKil7sAB0$fIH}QN)?=Pu6iA%si>*f#mk1*>!8&1I$UU&UdL(9W%W9jdgy#2sga@G zsokcfG_rsC%E+Wfro)JIS<&X{vR<2)mQ8DOI1Vet>$Q1l*|avFs@gn_*K70AvT1ET zRkeA#tk>qrvef2tFs!0B=fXnr2`qd#K%4)Y*XHysQL4?k@Gv>^edHlyoCH?5A@duk z3=QRQ%*2zHR^@KY{J=uh2>rW-@(BIVLNy3IWuaPxeq^CKgm`2-S@I+qO;mwg?3kC~ z`xW6iSC|2|6lsciswtSYqNd|OiZlgOB6WK#4NUZYN&(RJ0qv|W06(b^6V4knoJg}>VwPN$qM$5cZ#klNLzGA3Is$vVYVy*CCQL$pJRxvuaNLCEA zvtqF{Dh3Q%vDTuBp)e~(M63uraQI)XSgX^D;mu9Pclbw#tyVD(d#;^D-9FzXb^Cm< z6!l?~*A?)t5%kakm(=aIfPyl5h;#P&UbiWy`A`9*W46IC-Chi%qHdq> zb$g4!Fx_4ZqoQt~?{)hEgJHV87)C|iJ|Dw{by?zJfE~-X=}nb&`+ONb>^-h>M%@k~ zM7J;Vu+e{gFHE;DNa=QZRY|H~^eMF@qp8~$;9Ehr(*sMor08~*q;6k;|LJ7W?J+s6 z+tL03ua-{h_64fjW9hVRhgB6zUjp1|-44Tub9R&tx*f#xR_5%Wl=m`cUjV+sz0BDc z^rPG9Iwq-~>Dm*zeQr73&d8*0UkJ46vZCA5WxZ}MEt}TuaG+F**X#DuvT5B87f_{T zy>2fpo7U}fRJW&T_PRY;mb#q|a-weMqI`0uj#FQu+s}d?fCv^gj>ZN3bA6|_0rGV#7-1)ekYQ&EkiMuv8$W?WQG zn=>-0%}+(crOS#oPnY%DytHgun=e#to-XUPd1=|SHeaaPJYCjn^U|_uZN5;odAh9E z=E<_u=BI)!qBiFv?4&k_PcCTlv%NNlpRF?5oR7GpHeU`_h}wKP%13R!TtrfEr?y;# zOIUYbp3>&aQ`&sFux`-i%Vqo=#X-xTpX6M3_8M26sm?qi+dCGxYuvZx%kWazy>}Fa zi_^I=qYX8P5AJnCNV~;tMf+rB6Gn%{VRq{`gwU~(mW>-iIxQ}42w7=yEUTLXR;A)D z6&!TOqVOW#)fN}=(kY4NiyK1DusG&Zcxx^0A;js1kaZSE91jWJ^%fWD+hB1lyH)aS zMDlRQ(~O*J^BY3WmN>kvk5h$EMDm@Jic=h$EG}*cInUzgEQ`(%`DQ#&3tj+8cR*Z~LzGA3I$^h%oinXIi#fr6C#oCK12HIJ%SQ-@r z2CZ0oQN>W06(b^6tld|v-B+yLSFAllLt$2oh*&W=Q1idqV;#O?9qEd7SjA|YP$Wgma)nD;mMcUc!-KN7 zR63(&+3Av&<=vp5f@MkXZM4QV8w|57i(yo>ELVu|&$;ae!z{~U7!@tc72dMkWiZUL zEQV3hvRvUU%Wi{VmSr)Fik9UHQBOH{z{3DL2Fo%Hy%M~(w*n3nS(Xs>pu`CaH z*yz8$7iL*@x};@^eoq;I=u_HgjHYFYcZMrjmYwMRr0IyB3?*qBcA{g`$zoX&uqLN1 zOSFHwblS4SlbdvM+OmXAACoTu?zCkIvz(SCaMM)eGawMpTUjRprM#DQqE7G??q!{* zvmeWnP?FXmK+&>1t(;}a$fRXSwCS?4){`#lEz8ofY0Hvs&`R)n%d)g=+OnjNw34#k zvMeo|wk*-YrDeTknJmj^C@aAhF2k+9v~y@xhBuPv;4oT+t3;dxt8kSFhF}%KGaqt> zHmMcuL6oCi%}D*!h2#8&U~-b-+Hv%j;t7 z#*c@-FW74$b}#_vSH#Z$d@4%p{LgLi#LoY_Tzw_%`GCE?0`?@kv*l|ecCZ|0bi~g8 zd=5+O{C|S{$IG_3-{l%AVaLnC+VTw*uqUMnvDZcHm_Bk2N$mX3C%?qb|J?e|y7T`o zyqQ~}-?1A+u@5bSeG0MpQMY<>ww?a>ehnfeB|mZa^t6LX9!D3c+X=9IbIZA_yh_BITzqqDwexRo;jQSBH@775>0BN5 z+c9x!(Ft^`%e=YeT_kN-%csF8k6EVF1phKH1V{9ZP5M&IJSiVtDRbQ=sF)xtr>zcRF*FfQpj=AcXNi`6gVc<$Oy^1ui-A| zZU&yiW+l}1eadyd)XDkwBB?Hrp6&&GXwRWzvn_7)40j>Ug)gkwfACPDW6MFDmyf^p z6|)O_w_H`&(%rrP%C7B~048 zy*UVdwE}vpMfi4N&8N3oMQ|sc=I~xNi(uCV?8IfEA>v)sBa|EW#lDeM{zMnFux@ly$deTHI}!;OZIP9W%H1Y2rHQ zTc*Ofj~j-UHZuM&>zjaqu+~E=+~{tV+)U5IBELPuiDjLnbAfzX_GzJH2z)1H-Slj8 zR*#w402t5NfzKNN={Y;_c>^FlX9qrS0RHFfz~>DxzMsRwq*{C%fay7Z;Bx~GcZUPX z?9A*e;NWV?M&S6JmtsB1ffr|9w_`8OYtWLevZ$u%Jv6tT2Xqor$$l4Wftmag;3y>q@Lz-2{> z$?S@=QFS?&M@-+dL1>G_pCj>a2SS>}=OF$S62D2}AMo*;5Z@>9eBPjE?DK`H^N@>w zFwgxQZ3vHd(m5Kepy8{s1bZH8^J_H06r4?!@e=_p001nYPSsi9ZaJ;~eBj&T&POM* z`1!v0r+Ks$u)q0D{Cpe!I?l)I;_u^XKGyYmv5o*2TG%v#$Hx-LwdAlN6kEe24k#u4nf#X1cJ~V(X*&9S?-(VMvpDyQ`h^&?IewKVKIHu z>GMv88__AQFn}9f3J&qlx>*oQokCj%)+vvZ zlLJ*iwyZ~)2WJYHmqLRy3e<}nJq2F?s1&(ay3{%X7bWs&J!+8AN2(f;j63LuYPar_ zeRaKBLhWEFASLAVL6*>DwI5@$oIV(n)$WSPa{6FQR(mBRV`4&e6_a_&V))d#u1GE2 zEhBd#IfLXnuI{6BSlyQiIhWaG0)~mMU)`4pq+i{aiCLL_BOH-@CVWTcC%#MgH299p zPko5bf$zxtr-j%|&mhF+zXT2CMDFv+@Ew^85q}g1C|*#2&!24EkFY4S-94I}oIO}| zbJbjIQ)_hx-2Y)okKg5PZEl;p531(W48224lc(sL0k6>?RZ;LqRcx_1J~79L%no;3 zEzTistHf=yxOs?MByrmETHpN^$9#_p-UAr7L!|wfPwRGB zDo%0qSR8i)=us61EsnJ4&V)l27k4Jm4X@&eI}_-rR^#H%1Uiq^xVSTchxce)z2Ugp z;^NMPYb@^Fwlm=s78iFWTx)TUxV~S#6gaEKb`w?{0T^xZ&+18kiY` ztNSh!L6oprj&4oZEJ3+MnpiToF4Fy@^jaB#xxO zX%8zQqN;5lQIRZK!MDm!ns6-3&*t5HzT1+$l!UZ zmmm~0$|FDQz!RD^s!^B;s-wzPcVf`-Ry4|H^jFX*=yBf5^I|kP?@M+fQlo4KltxFj zt|4mA*CE8I1fL^P-L3OVevdpK5+%O}6!4*wDS6Ewb?*XH3S zoF+R3%*=^ouw0ooM$) zcaLYaosLtyR|%_K;?zuW?pq!<)Gkd&)V9pzBFD)E<{UHnOYg{DixaF}RY&$9xU>qr z=oZiv+$H__DZGBX3;oFv@a%Fj`LoOQK8}fJm+N}fE=Ufgn+7(xRfNKKh0y^8_$o49?A@kn%y#Ls3LY_)HJ%+_))w& zr9O6pLmS;|EiEV$EytPH>n)9A>eVv(XK)N5#Lr8PUk5b@36IC7qG(X#UMddgFL<@$ zGgfr5&;0y5)=TF4m{~WWAT!J+&8+?E-2LxslgteGqM$bGLM&<8kzT75EGMl&i>Josi)D@Rwgi5dKn`P1I@veBGmlNze~!m@XAq z8>o?3ktLI;RooM`PV^^yT9-dSd_So1WW6$KBn}F-Y6_xOLuR{24V%9o)cO8UBe5dt zq(D<8L)5xJ@d2xKbw8+U`a_Mxil~bkT=X-{JJD~y@~E+0jQVXYjZ^TT*cE!4)^Cu- z3pmL4c)QH?YKQFw7yI&NmtoHXK&8t=2K(}Amo->XmLN4MqHi&3L@Se;iX$?~ z3_2nRN2T`@21m5=py5C(dwNu`AO9KEg8SgV1KNGiaG;ev9F_SO8ywNfgN6gG?BS?7 zc+kVyiIH+F^l-#br|uKWEND^mxr~9JzQB(`BY{E;yQCJ~XIhlmGhklRqUgPl*=x~# zz8@lF)1v62klAZdG;R?YrbYLH;EJKU#<7h9ZMJbfP zgd)_Qk*0R;kTT^4IE(f|A>5{g((0xKi?7cPaXlzcrmStFPKGHB3JCWg8k>`m-*~uJ zsIc6?DLNVi!ZO^Z;j-)U?o84lb*cKS3d`G3ez6-}pLE613FHv)4X)6^O>X5(=1$a) zV!p{u>feh;Q>f4(5Uv$sHMlg$YOMBTz#ON{BJE!0hud^Dg3P}hN}A<2`SMp``OTO2 zGN0uu%lymHm@L29%FCRLg}lrUw`u&!*`!~)x7*5#%w-|#UcF71SB_@+TETynm9Gu- zdznvA?CF zTY`@U!(v!D#54i>N~D~N0q}BZo2!lhc$)^WDgsc!w9Wu{!L-fgBLLo}0buqL zC{W3Cu>tUsX`8Ew0C<}QusQ-z(bR1KylC16Wn}!y+cbbR1VGuuM>3V9lE$lSf*=sS zzSbkUx}0o6{|waU5HRfXxO!7qwZCU?p~Rt-N)!sGSD0{mg%?hbc^a+{!s)swob)zb zSqP`rMHEhau0-MVbq@f7vUK30MFy$_M&95m;fESAd+GF#I#vOp9OeO~6Nc>IF#9n| z%zm0`n9GQ#YoJI6U{-Ya;4u5aP0W6l>M=u&maFrC^66@oPXiAb&lSY10_s;*=Q0B7 z8ffeR>ns9lV9df!lu*~EBov=nQbH~Joc8+RAfb>DxKnS_0~W)E1GWVZJ=JnrX8^o} zLP7*kRzd{;Dxoem0A4~}7bTS5rYS%t1_0i6G5}seT^A*k-lhSdF9HCSP}dp&FQKlB z5=w8=0MMkZizuP^kasW=3erHB`)-d2)hZos=%0Z)9a3g+16{-lCDaWjp>FUJ>g%2c z9I2)%>E0-z^fp~tfLhqfvmj=|LhsJDVZzSO1a~wu*X_vMpFNoQMQ$!;HowkHkq3fp zxIY6=w%aoAz{b)`vnw+X;P-(1@@Y9nn$supd@`-h$Ff@A*H|3$Ju3BhEm}WQwBzD+sknzASI?Aorbc7c_1 z9%#@(3Jh-0dC@@3s!?YDlgbuAD2I7KjRHwBILy!}vT~A)F?NbM&TZPcKB1C1{~|99sY3CD0-W&EI=(@ zLT;txriA*H2LSa}Dksn)162YeZ*Z0HLyeeKLM{8e@(du9!#tpb!jK&tWZXAu z)Q!g=p%%7MLfw**P_zm-U@!J`K+}f-YZB_=@)C*zwgsH2HgC59@Dl3bD53N=J>t>( z0f0)VYYl*xP!C55rMGDS=)?d(CDh#pz)PryqlD7iGyq7b06-=04&Pq3Wfbj{X^lxgli+H_%0_P(t11 zCDfUYlS2_O|EvQK(yo*SRA?X?FmMJ(!%A&tVpbDqoyQCaY zFqaW9uN+vwpuYx(*^f9uSo9pCQ#Ftw4VW?9OeN9447kZ zbrx>mGj=WwG`j1tY;)8#yX!_|@JtLt(B*L97!Qa2T@J4ux*A-yxax2X!Bvl|0oPDm z!*Dg?8jfoOu93Ko!*x8aQMg`$3%i%x7+hm(!5Bb%V0C}eq%Ku9nNAg%~5 zbywV5t*F$!t+m$L*6OobtJYSn3tE@j)>`XVE3MU5tMdDN&di;8_hm6y{q>)|o5_1~ zX6BqTGv~~9XU@P4hZ_NRDBMW6QE;Q-#=zm#h{9G@g;Ax#mLG-oLQR0f++R(CL(i$O z)mBY~I}C0b+~IK3;by>xLUX<+&Z}RaCLC? za2wz@!ZpBcf@_3pg4+yt0$ej(3tTJQ7Pzf&+u%-w+YWaU+{tjKz?}+r8r(9B3v;RXWC7-XY7r{f z@ZC-QRkkf6K1wD8S~RMv)H`aqaJvw{?@rR(hGOs_;W%(hK9b5K_^7fGLwan@&qt|@;v+TPGn9So> z%AeG3WVsBFhXTpO6T&ym;?qwn^8B8Phu?*G_{|IM_|5y^_??O;jIM~^DR7Gw55kAB zsf+ixg;j4n{O*H?-+l4$dk`Lem*e60Og#L)8|%7BYW!mmbFhw!%?~gu4|r=-*vmo; zR-<$2@C{joGnVEvH5H}Q0~rb7@b2(=mzF zil+zVGnLlDV6_X+1Kyd+16Mtv`;D8ov_`6l9Nk*dbp$b>26_3#cuM@J&F z>ziTWX;V{UYh9#iU1W1}(}rkGD=j-|*wC>6?U@pXW-OYx##UfyX+>_T znrrbwv!<@9xvGZ1nx@)lWK^Uj8jY;qQePWwsBet6X!M(!2C#V6Meyap%)>%>SXwwp z8;7284Lem}CtXFxNfx8O`W0H*u?qL`Ks6>q{`g%6`QZ03$Q8c_K_2) zK6PYWG}=08BGoh<2H;dmo_aR#$<)Wo@Ds4iPz3+=hgJv6-_BHbeVC~>eUhnGe3q%6 z2xVbg7FCHSJ8DtF{GE^gP*G6%c1WZVwL%c~;T zQ5`{?3dD)v{*N}Fq&)Q;wx)+4WX<51mV7*v>&g&w$D_+$n?zqNpfG8qn!6;ju&O26 zJRb)qCPRoLM@F0Lqb-po6$>MNE|Opg?p^S=I@~||(VKQG-F$CJa@L~{t0j*_v(9L6Mc8^#^ZPYGUusRQhs>_?j~ec|KfvroF{mE@nU z3D0_NT*H8~&njzKwd0vv8wbAe^N%*X-t%v<(|@<;*P%tv6gQ_Hzvo*=+;_&($>o1M z?e|yJPu~`~HT(6-=k7b<%0*W_x_Zi~tFL_bl?$%8_5M;chb^pdc8D$ z)|*d^Iz4CEkEfrv`mL85SKJ(q{9$d*y5X-~mwj8=n;RA%myv&G_S@+{OSz?D%eQB( zs`;pBQtj|#Uby4Po9?~g={?uH^oNrxUQIdS-?W~D|_>b z)85&7?Vj^K%UXFs@?Vw||KF1(#~zpd_mA#d_1up}|Kz<7-}4q6HTS`kBfmTA)fd-~ z{pDYOURlyF9J+hJ9k-oZKeFeeMW=7v|LCg~#}9e@)8((8e|5%_8z1d)-(#cSxFzYF zqo3G5aMP8mzkO5oU6(w%_4~ICnKtp!7tcF>UiQ^PPkLzC`+L8Y{mjVc4`1=^OXek? zwdB&2tNK6t^;b51<2%pJ{cJ|rSF3w%vEP7JHyuM9414f|)JSh-s8?3Xu7}pXK0~)l zwAoQ0E!nH`zefJEpQ?Xj1^%bu^?#NiE()`C4T+!F=H)+Z{e*AIcj4?m?oD<6B((XP zvYj7?Krz>Fes*U?J)EDTlb5rTJ)d3%MmsVb1sxU25q`84TJpws&HQ8`e;D+REi><$ z+4g10V53@LQ>?^e+n=RYNwZkyRSOIqw24=Oc=~id`+_X7%|CWW8TKua28Xs;I0(Z} z888rrJ`Aw_f-h#?4YNxlXmEt8VdO=p z+Ob}WhU(af#n#O=5Jsitv-8c4?*oU$n@XCI5d17|lC!`KZ#dV@pPj8#iHMDHpP+ zkxzO2mBtbg3mqKI|3Li}xn((|Bj=@R4SY1y!Vz$(4Bp4%mNS$QQfAncnfP^~_Z~`` zr?EMc*?`~I8tw~l9Ke`psRkNd8p(*HDwYvXCV-7XGZXE~MP3y`G#*%r0v>+y%2@WP z4o|Y+A)}dye34ge6QyEHr~i>epIYLnl8C0!vcYk_cQGDqk}MmPFY(@!+%hy-G3-(p zPNRY0Y>=Vm?KO))Iml6I`v!5w>CN($lz`r4%1eWFVV)bsw&>Ep9>w~a`ps31t!ArY z+zC_0Ou@7)8#yDvqqyS@FA^8yGja7LaZ`JrN)vfA@MQTJ+D}tX@Abn z^ld2@<*H1vD2G{=wIhmi$e^Xo320&EL@@P0Pks0l0vD5GGbnlafdxM%;5oGrCo!0s zdlXBTz?_Cbsp$mNEcR!YiJf`&2l4WrFY^9(Bk%cf^3F10PqEv3-;@c*6O;!n6D*TE z5W|(pcgo00=7B48yV$M06VzB_^iPpMGj{j~uPf0u#H4++1=mg)!XR@{>g7a=mU@c` zwGvA!#8D#}?+X?+Z}-(jz1PSR*yrn+1u!v=cM+bPFw{T&R}-*VAx97IH>?g71cA6|d1S=>uExV(2bId5u1&vJ{r=%yAw6XCmc^ zV@a8v@ow(}L%Dl9lxaDDl+llZGCS%;V*Qcbb9|K_B31sOsq#Y-s+=A7ZttIlPR}?x zKS4goNl(!E%v$AQr@q_!m&7lCk*1I;36+{>9ITh8VDj4wrLYVQ?ENP1nJD$esuGB3 z&zm;RA<4bd4$~mm44}yXm={=;S=md+nThj7#w7cnyg< zq0>+3&=@AoXJR~=5W7EOj|nwmP^v>=u`#q$jYV%mKgTWcxCbEi<=!WPo1&epuJHPR zn-rWegB@sfC5kv^iWo(H;8;}&)&oU6M}u4uFUqWhnK&`49?{=yuHuUO?GB2Y1v3x~ zUFC65%YqpQhOYMdgB=~_OUXVpQ~d&?yOm~uFCwb;BL%Pez8l^Q%sXDe@6o8TlLR^% z|1T8CR6s|o8)R@7L4l;n0G9(kz45fr!m2T-)PwTD7N!8x1HK{)bC-|}u`qWDS+Rvt zk@VnmsK7qcLl83=7-{2GQ{jZaQ5MFun(k-|bCUsZ0O$eyR~XRiji;p+<|YH;d+&~KBS{K&t*S!N0vp^N1b)g;Go${a7 zY}qZdw!Z<J+bE!)nzkv?xQBh*?^w@Jt~?d!N+F8M6NkLz%$-gRCwI9q`gZ#ET5J!Uuq zrw3+e&e*!;^bYk>J@eI~CM*j#MscA)Yim_aU9`4$8sIsqJOQX#OAU3$N@&|eZ2w>$ zUVT%>@Dy#w<`7{MWh874Nnmq`Ve=isCfFvMEW59U%^{XeYMW!TSlEQ&USYF1fz4vW zX5Q0!@CmlbCM)-=VYAq>$p+v|FD#7ZsiDHAuITHG*g~q*^&VSt3Naf8XNeaVC7?MY zoDD=zbv;!CwS~JAj3r(+5qBa-$>hNVJ>Zxg}Hoe226LBuJb)10Mj&@EzEVkEfz*zd^?*yKG*qfvGH{0 zOa8W6SiGH0KW)67O&^wNX>7M?$&1eKNfvhVF2bk-Ymu{_GW}T#9XJay_RrvCXe}f< z-lr`Yz!)>qR7o2Bi<^4brcrj-rmeOT9R7-okW~wH+BV`+6ltzCG%<(o(B2Jlhk=Bf z!iuaL+hLVZ|KQG^z{*a%y&K=QQ8kK(q;IvPJ2th0qU?-x!WOO$Nn?8|_T4bodLz|- zLmHiHC%NW+st$9F!1yz_9g=1RQwzL9WH=_WxUAE+&=<8cc?dRxeFpqR=Lk5 zL!E)fT&3w7N4OKNYOl@c&gF}5I)*T!0_Le&&TDG^eMmM!YhSfJlHdi&b*4J!lsA`sr ztZJ$n=#f;dbMBIT(xNvIKjpX230g|+Em}tg51oQX0p1n? z(L%iMiJ6QE&V_Ao4#YmZ=%%WMXeaop8U!D9=FtwL2es$2RVwz4WK!VuzLC=Le1+Ej z#*vY>s2;+v-C0@cg1%Ymp;35&cUYF%J||0^u{cYedo)Y{t^A5MktFp6s~!f%+*Z=H z4J8T(S*XAVx1r?m8UNc*^1lrw|JzXVzYQg}(ff*i=nW<4Ch%}`#+SLFWOom~MbH~e z`2BJ>w;_ZZN_OWuzicSUa(>xR(%1R9*sU_0KZAoaj`o1}5*aLTLqetSul76xYq#A3+dU1j+c0buHq5#uVO7_kDWb;XIQ;Cij+*G3R zF|DS{t&jZ@HfV6XpkdXVO9_7*J-T?BF7wq-Hkx3?*3(x;Fz+s&rh$caz_p+VBG5HHkBM=<9&Gg4r5FKZ;nh_7mo{5 znl5r~rpvtrM!Gld^z++CVBEZO^De)R`r5Q^Qwilp=l6!4et!GM!FHH(#?Z#_!p%y$ zTremCj5G+VmIWk$u+ijJh*AnR(sF{qQl9+Gt$3S@_w?9WQlNU~Dh!Re3wcd>O>CP|m3E@(dx&q4xEGk9pHR&OMkb`aFrr{AeFzGAG){n9KvY;*R~d@q4A= z3S4TgDzHhKdym)Xz0HQJ1Ss)^gckF!eWVq!KGGUweB7R%i?Onf$xZ6HSbg_>j9FxS zNfL92^)Y6#^)cp9<4cy9EL~Dh7M#Pak1JlA;wh92==MtkWS;k{uliIn!y2_ z#4%fNbhu?FMTJ8e7danexnpT?RI03A5%lAq;Hu0i;GCp!J#rQIW179jLgoCLzj4`>O zO)T6*lp0zK4!Gfnn~0wA^z*okax>k8WdYYz*^orc+)RF$cdiW! zt7)>yh)Y$p+kYBD(#mwqWQ0|N2i6|fPY;*ZDp^8#hQ&b2W!A@Blp7y67ESkRBo{f@ z77r2KZYa8GrSNW*m2SsS|h4NsF zos^HXK2lz8eB5tS;cWy4iX`{ja1CRbh-3kBS?M(xT0EUI%d4>Ik`cDahNU3v8tY>j z`;BCQlri7LuuKZ1jQI|R9J6blEgW;3OKPYQ7^s5W=8~v_uu2cCeuLUgu&y##y9w4~ z3|4mTZwobUVVQ%&Et)pBu%w0lWMrc|a+e;O>&^A%8JX)Y6#Ry`yHMbp9P-^=DDWK) zecb9YNqvBl(mu+@n+9(W;7tzkNilNJL-6{|B+r86%BdoqmbJ0g;N`}dNm!@Wcn=YN zufr-H%jyu}mua}2WVw#sN)955$^ z{%rElvrQhbI}B<4hPJ2RU1!r0FW-=mJ8sXJr0T3Mq!xI7m)r|@SIUq#1&uGdFZDXg zFlHL02CQxj;qknf>Kp4D!%mz~OniM}ePS3T%nX3ogEbVP<&LTl7^Uw?*g@oIPrkFI`r`lp;r2u}3^)W|&bJ|xZw^&-F+-iK>Y&6|#HQ4)s z@<74f54kx~-C*!>3(^tZ7VG1cuQysBY57fTKcU5!M$A_~DLuX}qK{jZ7I|9@EuP`q zY2c)FlflOgOfRc#HWo)+IyI?&6L2;lTpC^M@itCA-AoK};y1wkg_CWTHgkQV@o^i} z67NJqV*ohOGzLhnd2^-SER__f&jC`Oelt5j@Nc&miT@<{xX*)I!IyfkdH<5-z(u3g39&ywGv?`VSI5EW2GV)Xe_}olE?`|4oVb$o^^z5+E!W3Y7b~xC=+^n?7!rZJB3T$XF zt)8KxQ7^Cr^3mN3AAGvAUpSecoXmI@3LEzAU!nU#*S@q`zdm5#UZ z+^lqhg}K@0L<{3lhliyuCs}+q+1Vx!^lJXHQ1<#I?i8Dryy*N+wJ>+o;V=txvr-;C zO`Me;9)M|l(=Ci?b)C-$z_?4RKt%ux>Ol%_W#y{`?%jOabPJdl9;i^2P`<#%!Z8}; zHWoH!e$IYPHWLw1GJo6<5hXhn6{Ewbq#Tlyxj}81W1K;f-X9eVlJuvW^n*l6cS!o~ zGP&%hj%=gmg@R#?NmD2o&aggmu+#Xs&1|{1J*1l(ZVp3b!s&AxgVBwgCYxeeXoF3m zJ!c9Hg~&o1)V9zFa)q|4D}^>#Sgx^bv8UQ)ePsDe_}B}x1?Z1D^`t<#S8ati1sPz` zaj#mR&`I#Irz%1=`pOWx2tD^v-pLl8qCPP3*H|vE>T`x*uc$BD57whfq*q0WNBHTaF+2z96HzqHld77qVqS@r_Z`dPYEDwZ^ z1jAe=907l-EMb5jwI2g%OrH*PSBG(`Qi64k0o>viip>o5mkeSrATsC=ONK}W&p}ic z))2|y*WhDU!v>SZ>SvG})tJFoOa_r*Y;Ts!qp+jxU^0juXPsrRI3a`Fp!PPH;fEO< z3NZ_2ko5fw7E1>Gu~M;Q@LZ&128$(w=fTGevh|P8AXcO#gRh$mBExzyDjB>0K8ibSCmfBAJ}L`cE782YVKfz* z%dP29=Rmz-YdS&knkvGB?dx%SrT@~wUTIFMhoKBtd3=sBBaC6fu0PTnChT5l*c~S9 zUSxbU@sJuiMVg*GOuE`m$A$|oeck{He&H zlHV&0E^ePZ3fqA+kF*!@n)kNhabz1FM+#nlY&KHxUTxEo$7_s_+b@r@6S`4?_y2&G zA~6bhe=C#UQ4qqTF-~JnxMedL)cu8!Q9{e_qDBcVe>HWKH*8ww;acMxBY6D@-5BIy3P!NHq+mG%HCqoKCv;xFVCUj#^48QmMsvINi`u*e>VfQ-A1lj$j@o~hF8ama8?pUy!xRNkd zaP6}3*`4jNKH|E;_&AuG?#;G77U{cEq#0GKDYUmy39dFdRRPy2X7^PAsdo3pB z<6FkZ!RB;tvGp+@@0omzv-wC-mtl!E85@6)GgF0V@DH4-D#xMbdY35=t&iQm9#w=$ zP~}vFXZGkFnxT45R*R~*w+1_eBJ0G+NqOz2dh86s8h&g2)~Me86Rl~&E}*LBsBFM# zL5j$r4%@OUu!Y5<(4*d?UYZmQ4#FaPeqS<9vVOD89%ud4S1>96M*+4(d-G(h&A3O z8!H*H{%&KX*jUVs-x5y{s)aTUsbU@?bU5iZ@)6D2qQ_CB!!GEs8lx5^U* z@0~U+@qXL*ID5zqooe4NoZrI{l1J}~sASbDUeH^m6| zCq}p-?4NDX!W}QzRT}h_3N^)KiU>6`G(|G&H@{OPvomb=Sh(LaK2Ft~CPVEY&L0{9 zm})ZX#CfXV_1np*g7U|;TEdR>Ro*MJ}w%e%{Pkx?nqp@g;ld^WkF)5g@FOH zh*Du;C4g!B7?l<_c89{&R??UyFfObpyT~)!#v?wxs4&OE9NoDV=IG9|u*pcP7b)gj zn8UZg!np9G<6+mK$uDVW*bx@Sv>LX^!kAVs8ZEXkM}rHH{S<9O+<`?Iop!0f<{Oya z%D^tGpQ2?0ZXc-L!E)i^qF#UzUdjktZeecGXoZEjMI$aO>a-u8US<}J_#Q^X7*F%E z(!#Qk54~u_^%5P=EgBtTVK?uJnEE)@!gx=IwvWNJ5}o!2yQBZO08G>6;9JLIT3x?u z0x-Rmp$ui}n)@=*n|~YKE^E_Lm5F}%9aWj=#{BGVEH`a>4tF!CT%2 zZ@J+0+tPBu8?%_GcMlmK^}w~PGX?Lb2Jg%^cxMV;zb&09czR5iuS|L>ZwzNX1K4R&R>d%dj+Ui=?N}&o8GMTHC z+{Cx6m4erAODhHMqZSkK{=)dE@u{IRLV7Yc3wRS-)>(qfZ%bzhuE%U@;(FZp*iyKb zb+(kaKLD9+N?f_E#pTj=?1>1?6*grz`wzcfC!LQW#*2t7Rj$-yaqJ>YSD z=N!T7%itWr`=rH0yuUI&wq#Bs=L%lGPo^D0&ORL8xq>%l)3Q(gwe=D2Q^v>E&`IPx z!RwD9=C#2)Pw@IOI8XR}+F~N!XN-?6s*}k1!0Y<@`M|3sa(+M}=Zi#Q5+xEjA2r~| z;*i*v!TCaUjHN@WzcD_x*-j!C2vxtYUm&@Om&gT@8(#(&2;OHcCgOb#KCb_=-Cyff z*+&n97fO0x?iNb==S}*B(w@9v(zB0foBjw%@5|8rn*`!%4Xg9sLFYD!k;SHOH82)5@D}bS=I@4fS0ST{_dRQSC{E}ZG7~ZsL zh~dx1ca&hrhL1cP1q}K$?@@xmFR!Bn!&^2DG5p2&jus3z8VpAR!vQI=qXon3HWpin zx2=yD{?GVU3Wn?9BM&Qq;bg(EQZV>sw^Dd`$EG2McTJjAz>q6xR!JJav{p%)znV0w zM4H|+K8`B%NmokCF_O+Nqhlo9ejAgt{$_j}dF0|62Q7s#XA0k0r~zU*7SfWd&bB_< z?LWu*D35*_9xD|7Zn2QU`^Lv{Os@KxNw-=`=UnRxA?!Ts{QWAbmtrkB2VL2n89~d9UR&HtJIN|eBgY!5@GZs*-k9=Nc zedP0U>m#36SReVk()w7QS6LtVyxRI$p1wRBCwzWrIU}F{G`{17Pk+zQ@xtfV4VL4D z&u>^C`MlQp$mey|M?U%5pEZ5F)cf_;M?Rg8d^#Wb^kwjP;qzaXGxGV7@vRZg_86SB z|BCfN>mz43S|2&{H!ARKbuLbPY0lP2{rR%HM(CAV3Z(Zje4MAPh1xfSIOp~*|EK;p*m51|!wZP}b)B5Fpm4)$Cub!t>TbKe&&s%CNEO>fa z;|rdi)-a~k8Z(4Ho9`ZL~0+Y}WA_EQ~ZXY?FmC zt%fyPSn%|;%ZKK9v-0PCcc2N>X-^2i^gONE!ZUS6{RYLtv>m&7VTOX-^$NEV9yVghQemh$w)IYWKNc}V8s}|~a znRL}c-QT5IE!6L}VWj?j>m&7htdG=xV11L4Q}L4D0t_nLGy($@H` zS&gK_8+j9x=|aX=E9rh{($z{jzjSLQ9W2vGx?1U_lZ-Da>FzV>@FD;>{c?#)x?~%Z z^iqtEZG+n_yiQ8#M+VC}DW!pk!Ma_Ckt1r;`bfdg`#PbJYH^Z6n(?g{oIf@=*9%U6 z-mqS94l_8{3)ggsS^r*zf~t#{8FkDESWYPv1Az^+cs@W zh54(Obbcw-OS)_ulj*oZ#F%XVuxe;>v_aDOdEX%Ea&1he!^COEF^iG3C`8?b{u(hh8z7~hubqM$B$D62Yvu8g=6=GKkbxVH=W4I;- z$4Ig?QC+r4l%GvfSH4VclDg_)>S~kJ)gkclg>@t9D(bDno(86ClytsKHcC2JOEO`U zyI#iE1QxVe2BvG0biRZ(NjmOm(P2#2$N1PY55mz9G=G?xYzB3`J##biwcg9H@Fd`1 z>dk`Lm$S`+xv#}V%>9gy{rdnM0Aaqeuo;)zU5gZrhY`;Sg2yj|69f;}sC5|epw7hC zEHV9DH%rWcHjFVN#@8Y-{d~4a%t1DcF$;~aRbu*lw@S>xHjFWgjBks?^f}uiF^AYN z#w<3ztrFAcY^%f^YQq?FnDK3sm_BFQB<64%#+W0F??j2|b9SP{Jk*9UCT(l8%(hER zpR?@}bCeBZ%+bbolEm~mJ4s@Wv0;ok*7#1Am_BDGOUx1*#+aqXcZ$UHIXgvSjoSm*?Lhe{Dr;Bz?K}^mE z9)mbGgf?TZ-)R`(^Qp$F#BBLBLS3%z^awi!wsQTgz-_-dAJ_qk{(QhUWr(-=23AdF zlCj}V3!@_G`M@pz$gV_}Z&*DTD@J=ek}TYTqP z7~^St=UbQ?t6yMYq@j7a(83&l7g-q7>ik}8VUETn7UpPN8i48fz-|k3^MT7OOn8y` zz~vU^<^xw)n41q=X<=?YaFvC*`M}i{=H>&}SeTm+eBHv_eBc`v=H>&}T9}&;To-`p zGX187x%t5L0hpc-Q2uZP(8&J|k$7CGBND$uB%ViBDgTs8jJK?hYgE&$k6LuN@ljTB z7|{9{bGr30<_zPb1n1&lo~E!%sFztEW0o5q<=W9ZQ)14vVT@T}e3W)a?<|RVI0S}y zI7@O=X<||baD>GA$mcBUBhJ~zN6pB^!3~Y&9Kkuq`WSPr@ljtKmaj?7c{YqO`96`n zP>XVL4$AkD`U2}?%!S5B-NL~T>toC#tdB7l86P#yVL4x@FScQfxy1OWhYrgH5_72y zW6Wj7NA2XX4bA6;67xvwW6b5oN1es#IqM^zE3A((k1{@LGS0qPA7dVEeT=!%_^96w z%Oyg6l?`LeV~mel@334dF^{!jjJewQ*cRl<9TBXD-4gRS8^)N&8y{PUT-hg~BvH`p-7+-Q7kyRc*0`bfRO z`WSPQ@v%j7Vc!s(jW&!in~aa`T(0uNu9cXZZ5U&oV0>)-a+M!;oy2UmVT{>gd~6eO ze9QXCXRGxw<`&~)OXip)xsRz+bqnD18%o4#?$!jurSw0 z-)UiP9Pn)mbNqeB!rVCEyB6kX++|^o#`gj+Jr20r!rVCE`xfTL0ryy#8wdQr!rVCE zUJG;MfFD|z8wcEHVQw7oBMWomfFE0!8wdQv!rVCEehYKsfS(3nx_%$9FgFf(FaXoz z0Lovk@@0IFNc@RL;`c~Px83+Cl{l1Vebl0ptdF{Jvhh(?UD%C+^AsD#n5P;aB{*04 zVK+(4(`*=Ho^E`UYs^lqkJNWqA7h?je3W(<_ASA=(}pqTF5{yP;Czqu5$BoK$Czgs zA2q{;-6A;8wqcBUj`2}n@OI1ki1TaK$C&3DAGOGZ-6lBCvtf*RzVT7F@IK4>i1PyL zW6TSUj~eH~?hu?8*)Ybu*!ZZ2c-Lip#CeJJG3KSlN9}ZB-xi#^Z5U%-W_;9Hyw9>e z;=J7Y81o9_qb9qs?+VTtjskW6Zlv7~4dw^;;ifIv-=+W5U={V&&iZ7}NO}^In8~nd5*MD8`QiD2s$) z7p>tUCUWY0S__=<22qJOuNu9&`E+a$)x~HQewzXC`3)IN|uf-@G&fA%*YHGINAd^1ERMXVl%v+mTxE67=rL`Wmkzsk5 zHjrrvS*#^Tw$mdJF&0a99`Ey&PY$=i=Ma{0BsMsni`LMG{cKL*Hkq(Z>N!FmH|^#ZN`1n zTM?*pUJ}{X)V#4a+EUY8znMm#M@Qy?-1Rw&=lS1j1iF~x{cCzl|-tywD7`dpytKY^$_H(RrL)l zxQuDA0s~WM>e}=yvF#l~Q~xGgQGD8Kl2Y0B4!&#QOKWy55fW3jAx2-_$nzj{n&g;Wq;OIsD^9%7yKFM!kyZoks zU*f&>Ao*P`joCurygMmle;U5i4ZqH)H*5AmNRZcNNFl7?UkWCZDY8-7FUMlBv7Uw( zl=*8JYsq?Dj;ZJX4jf3se;~wXI$rADD@QuY#IOJD!OO-loEZ1!U3Vl7W9%w5^%^8C zN{5N>P$dpTj>l+;XUL|?_fpw;8%EDSOJ(|-;p`=et{4x$hvMOP5gvZe!vo7tY5|@Q zFjeB=_iQ|b&%wiQ-h9vRS#mZ9mwVu$zXA{G@tgGKY-c=$aL58-^*MgJr`9{f}A&_5LqzsKR>H+RVKdn6tj zg&2j0boos>yyA;+-i}Vb#>nC2WSr_Pk#wbU`ZfvUuYnRTq9XD=2uj0rg?RYA9FK=z z%m?vz!$W+%@$h>%9)2H!hvEDteXiOu{h@dW?}djZ+i97cett7v4?K)V%j*2j#6x^E zYeYY-nKOPi9;T-)J;Lwv&c=Ihz7dBZmB-)S{?U(roqxejY^YgqTPDXL7;3856X44L ztApvMR-~IMC9+NN8LevYcD@;w!|E{#AC0ly7KE-ttO@vz!XHJ9R>Y`6={Dn6En*Q9 z_utXje3I;#tbvcl=KJFN0k1Y-Y<{AQWa0-cjaxQV!!$hlkf9|**(=FC1CdQzaIZj1 zR64hz6^n;bm#`I}X~?m1d>=mWgB{#>LU7W0G)kO$$FPWT;$6CmY#S0qx#&+dmdvTQG%);t z*GZCfC@N1d`AKL@}GB+_XnaUR_AS zNG^$Hu#-HI3Nx;g^hayfB`RWkSr}syO$8@XFgx-K8nUD7uT8}jMBUh0&{Bevp zaqO{(hjC!Ed1^*UWE4h#xKFpfv8ok=y&7D}*3^p2DcjKRRgLSTk&;mp#zqFB6~^58Gnx&_;UqdXV4Or zHeeYdE*mUne9~1_L==i~lxmK6SfrxeIVx1=DcEqi6k7N@Pr<3LOQE^i5#Z`5T+?7Q z9&??c9Q0K;VKCiNzaB-mrMVvF26Vdsz{m)KqRrdtF|DmdDjBM8=SZ~`qfB$>2S=vS z2EICiSd5AkZNLvLtL#`b4;_j3&{e4HC#8i~Xd*mmDRt32f)>Fw3|GMdbDg0SX^diY zYw8z+V$8caDCY1rVz+P^8wt2kWsz?D+DsWRPw+3%h`+~VSW6Vr0pXcY!tp$1W&IY& zM*~O7!y|Q7Ef6a-ZzzB$#{8poHOH_dl06e^2zXd+?1RFhCdJ5y(>Y)F(6U05qG&dl zLMwDvVrtdvs5l!MP@G(N>dh)h_Jj>xoSh-Z%84|uu3c%%a5@+sQY98IiJMIUIoHU^ zPX|fZdg&I~Pom`*$D`t^x2r18;tON%p7bSEtTG4 zd8pOiLYMsMc=_$X3M`D}qVvHO5tsH1k7e53!p`vgcs(ra#+_x}o}G+$h=mcKKIPU^ zU_1@vcFgn=*k_=4(@y`Q7Ouc(y0mzrd7+7J4LjHJNAubm=FH^wvoP|a)AqNpn|H-b z84M5@d2u^t23nZjF~c{j{5-F2!z4QXs*`@^bjw3)U;k7tU`e>tq~ohjQb9vs48k)I zTr=7S%=7RotOh_5rU_RCC* z&XuWsSm9w_ND(U!pt#Ub1P2F6akfvf!|O*<4dry?`UmQMP-B^#J{S?S`XtIPcHu>dU8^2QzNN9nq2=YRC z{rp5~Yy;L0J@q)L#L{t^pohG1gm-a{ zMK;ElQ8?HGG2q8?(SEgf z4@qbSW^pM9-DNbVC)$w{yr0>W875_x=v7bXVT<>$O_?JpwT%n*K&@UX!k81>T>*O_ zY1S8pFWvf*;LEVSWcau!uhXT#mjxeNtX|;iPX?YIz@7oP!=4GB!;Y7qaoDrrbJ%m> zbJ%IKgjCs6z93hr@jM@z02oW$;)PK%qv1<} zRZ={H1P0Wql-_ADZ4N3ij4~YxoSP&J|3a~3L~AddlkE6YlA7sMm|sazOTaV@MTFJm zqFG#J@(xV(I|tljkLDfBgH0iaHnP0fHj_oeRUR%(qEsPM+EBPI;B-^KnpOr1m@k2P zqaS$7FCTmlQkgI}T{#@(ishn8N;@+g?vbpk0!timv3si=T@@M3b!I|UaIv~K1okcD z?5%nwR%L2vGR78aMg?{xG)JPckdJk+6R{#^uc7AVDBly2 zogy`IIiwbYUa+>4V|1Nk(HCHLRl!DM0d#{}r}kV_w#D;K`eB*YK4^@o^0J@3Q>GA0 zw2z%3dc^j$uaDI}#0^v#E{ExIm4R-jRR$_;s*Et{rVn2G`asZimGv>&m-Z|VqjO-M z)aBzI^Qi$~f)gtPe9NXdnALzT9$s9p0TGaIZbB z<9+D5&qLfmRpGvlE^8g=c3M@S(njkDlQHPQYh7Qfb-Z7kecmais-T4(R29i3Xx*Xh zYh7Q_IuyU#)dO$6U9kb$yN2?J!zbq_ytQxU%!L zj<8O&4zv=gvg=w0zCWib+iD#+XQsZ0)^TsP*1Enjt->tDR%J(8M{)^O+4sxWI-rcx zIcsi^P2XwuAkL9#0^vxb`Nw}>p-{DssfcZT1S{n zwhmtF`dO{(XS8m=sVZn;2U1$m-qjmqXRoRi&k%fe+?Dyqs9Z(vrOHpgFm&Su#$FQn>P7kVZEy;oTdP;Kw zl#WxH^02$vVYKR5q$;>6I5NAbc^miHu4``E6yf$PLN-N8BQx>hx5S?yum|OZeYDQW zaqF4zQJ2H2&QKhHUa(P9JOW@tv9b)mdwObB&dksdN54|_?4^dbp*D)!w1-vdwaPHp zD$`~{g9czNY$l|BX6R)VxS@#(&>t0hmb*-dJt!y?N;atO4 zP%9ZyD_o3Zt#Am7{Qsmsa+LF5;)r%jIY;A){tN0b(?jv{$9=G0 zOQ{}=Fu#Z5Y>XSrlCX$7q&LMqmK5uq_kb*r4}j3^!+j-O`5lWy6g>aqG46prI#Eh2 z1&Q=2A4G6VC$PV9a{7(H`*vXQ;vD&(?URi^sE%ke@j>wpLAeh{#{(!9Ll<7$Ms7;xH zFxmyyD{BMMef%CRfS)o)Qs#p1>1sz`rN+vextWIT4^galqlFudUCh_uxe!k;z{cW# zE7rNUhEEG`#WNBnxA+z*0A@ko36$^}ShwuR<@-o!Is@X>iY?#2vpTZeqeW4@w4QqUpL06x# z9${hRPrt!C)WSAdo<~|3^QP&d&2PisXo30s>HLndF!HCV6G_D!UIgI8i=Gz!A(H-V}|E;AI1MmKO*uYKUGHW>3m}?|Rt; zH%JB+EwNh32^<%L6NYshN)EDZCZ(H8oU(!ibg@d_MHyVC<)S5qjvPu}bBgo{3N4f@ zo5U~p`a?;=5@`Bk5-wVTR$wSuh_(Ai3(^&zyY%`Q344L{O>(7Hw#eV_2%fPgr zi|;U9B4!B(rnS5NOmaO?6q)65E6^qF&kJZUFTOJUH889=2P$(A`Vgti%*2A#l^NgT zurg&{FbJb(^xaLe#nS)dw*TAqaZA;HpW_BV?SDDw7RzhWl51eaX8^pg% zXtq%QWdd?#DwE6Ufj1Vt({R-yxU}rZ`-p)Wh5*b965@CK5@8T@$FD^Fa`S7p67xE& z#O$_}I7qcwduAUBaNJzFQ1p}Q$9$7kDEi6uW4>4@RMgSeic-$F;{8Qs3J}pzE*U52 z3#%1+Va5cJ>)%D}Lan1f8LI@Qgc6{R78)JBz*H;NFIlbe%ff!O5|%*IRqHLJ6{yz1 z2ce_jyHgznm%(bqJ0imH?~CYYq1DksqobFY>V?jBP`xDAMn_BA*U>`JQC27$+(J~i zZg8w(L$@E$R>W{<(RF+><%lj z9UU!fUq=Cs(@~Bd^(r%~ly^AmDn-Ernq91Zvf1V0azgR4N}&^RV|KnskUkXXVz?!? zJ^jS12H+2?YfY76rIY#@zkuxPCt(RRU6tNKS^@nmItcv)-<|3wxC~Y)^pi0B`y%=| z*y`tCqn~?B)k0r8s9KV1qo3p2*U!PCpZ<#WV5^_pP!#_bcd+h5xjdavu(~pX`Z-wZ zC(tq9?dj)Wt)FVIsm#GzKe>LJsGo!-&~%k~Jt{M(pEv~CW&K31I_*QjrDez0Pr{I? zgVE2yRzHzV(a&3LC3d8rB-5r62e+@E0LSSkXL5Qyn)=BL%e8*;bZmT;Vx5%w$z|w- z;$@XWCj$Cer1cZ%VwJ$uPXCFQ64cLicbY04sr55{soB?0!V+k@D!m1?gZeoHw7WXS z1>c?OC%6n&DfE*t{QDyMS!DII$mr)?rfQ+D9q1>?wW-?i?dxZe=%>H-U1aqWYu$m$ zEYkYPh3tfa)s-34&myg#K*xNyr=QqWA(eTLsmvm+pYe;$t};8-PtXc9wpc6evVJ00 zo$4pJ3|1z_xP;-~!RTj^)lXzo^z%Mji5=-D$+W4&qW1L@;JB4*uBve5`hG(LE7@QA z8tD*dy<54)njUmHtYU^@G5Wjz#>({&v=Dmb8X7GeJz_cf|G#q075*Vm-@mH&pt@YW z9s*@!%{*pnCjBd@nfTRfEN@CVJZa0}zq5Kh1nTbBj9$Hd+H&;&fAw0|4DT{}5BkVi zB3B(>P}4AtU|2DvdmkRXf(>alJr!qq9?t8_3icpWXZ#9wF@$fQ>I)QH!7dg7;|q#!S@V3N|hd$5dFe!xihr`8ErGi#4k8$k8uV5FW#P_NGmYv`V zc5gK2SWqWB9j;&(ORGh8xc>S(b-1uo0AI+gLvuCyFJPK+xE||P*>E2QR?GZVwqYnq zx5_pQ<>^-0hN0NpD%&t*(XFx#vjxJHUAGi79N6`k1M6skZVFraIOgCYSv%bn*6mGA z>f#%&#~eTxll_CiRSVA9v5v-W>YV39TCqV!V+l4k2ydq&`pg%wRLsO z0lqsObHwjWlwl;s9E9QD7a4O5mtyC-+Hf=Gc+n^;#vmPxIY_QecQsrUC2j|#s9?iq z+;9?+;(T1L*Za=6KtqEc*x;v5E7RsbSlNZ4oEzrgd=KMh`n2kzwHh<~ zfL3ExNUi3yJ)zK9(J0)2Rv)S>8t7uOL#nM-V`k5a9`=T*Xv_dv(eYDjzoH3Cpc!A$ zpcSa-kq1%H;Jed`j^BOdS2SVB)EBAfLv2MLYAX6IQ_-mS4l0`D+EnzR?N>Cmw8d34 zBE|Xma?MQ{XWftLNL$e(O-1iF z6^)ATprT2xO+}AvzoM~=Dp0k4MRSD9H>Mon{=-n5qrUtRF0E3zxd%pL5DJ_;G89Kc z1OFRyk5LdcJ;H@(2uGh-j{ZAyk5P~VJ@??4b`&;IyoYCijMn%T`vsU&)8k#*^>X7~ zl%P>FcAVUNAzLJdbKo0uJ2plm!~4`AGr$}znbyN9j(71YkONF6>TtX}8Vv3icK8DQ z74?{5XAIcU$M#ZSnhfJx!%l2@sGO!_QV#T2mDpDjtHjVe7On)t_>Y|(_>a+XEX+a1 z7_j#@HCWgqlHi7tQXfeQk)#L`{vV)n1PT6gacc}Xd>K=M9E|8$U>xvn_4LM#u^_O` zdmIEvjvJXjQ@rAi>Bb`6KBOCgUzzIREC2+=Dl<+wxw+td^-F`L6j-=@L}Mw{SSDXtMtY@En@=Jp z4a%W-6iv$O4^3dC9Ke_oRS`o2<<1Wk5QZXT0FD^x!#m7KDOw(#5xlpFV+gCn#>X?5 z+|#f_3RR!b91oTXyk7~s3{94>lRQ1czzS9zCfWNC`ZeN`9xcg5f4Y$5z_(oV?3VerJUn+bftuGC?!j6LP0dzbQFmJE!;?oZ)y2D@#R3KCs;tf># zK@no|hP^Oif!{A$j3c@Ii1uB=u~gYfM7FtMV{m9F$TM@3khu?JmlW)q;nG__bCZy{ zk8S2Ap}0P_nWIIfk8S2Ap$0#;nVSSAJ~o-lz+rb79|--^3n4{c_;CHW+Hln7f6Y8E zQkKpoiv!8ZBl!L#+{MKRSj`N5Pg?q_*FPQIp~z)ta=l3HbGP`X| zyd-g3&im>&lH~$1B)Jm=_&8M494e`Z!!;_JJc>uf-8}EBXALUaoNS8!80B^?22G{@h{%H-e2(C>RqgEgk{Lt>QZzx)6_R%H?INR4y{Jk ziVH(HHej%al#& z{um%NlmxtL5!8C@zNz1{(JJGXE8A_Mm!gIee1Fmi1mjn_N{J|lUuvveZ`_x;Ru zBa>E$$aFAm$+{kGvTkZza4LfRPdYkGX=+?Bx2pLc21`@pg3}S~dbG*9Ez!YE$VMiD zebzkq^A4<%T9F;qp;!nl;*?O2N{;SQ24tz^%3A#D@a%vTL7tLGg*ejS7ely`1CnqG zjM&abM;auV?33j3u_ie>`~^rRt3;9*$7_<=AnBJdbD83kisAc-wP3As%6N#=m0 z{~^g#pCs@6$cSa2V82iCZRlH_2J;Oj?U zx=1pe-80oAGnR`SUYtVBoCDp$t*@e6rSMTC<&$?)8SUew9_Xhkkv0YaOA%2EF1--P zT;S-b#sP=+g@NOFqpfoxk{Y8v6EIgaNTzgDFnCR{e&I4#G)N|UI+*&$kDi~-6%CSE zpbkz&OC#a<=K&jgW0@Z6;IxEb4sd1O$P$`sGplEt7(lRuXv;e(mL|%@{LGWwjW@ZQ zhqf|Ty0#3FEQAr#*i3yK zs_o$<)4)iics(f4bmEI5opg~`k92f!d{Ho1#&j+?*w9uvE_Lc)LyIg1k;fMWkxMg8 z+m%J3Os54yUv# z$CC+;fpB-0k+Q|&+Xvr1Fp&oXS(Tw`%o+G>2v@?k(QAki_HtlU;vvM|SAV>_@W3v+2V1D0yXo_b7qf`y&oMIaZeb2>G?C5 zey&ZQCh1#k`ZPa%noG~0!SwTN`gBRZ!=_L7)2F-i{25F?AL(iSs#?nb6yVTLI@S*g zaNhuH#XV@j(bjW#$lmko!x;O?4FwC4wD4%}248i}vZ+95zUxN-Rf8g;F&(N~~J+7g|HW0E3Wxg@Ri^;TOs;Z8^=cSah4T_UaJf~2)_ z?ziQe+zIK_&PXG$OQf|(k+fE!$uClc6jiDd(&?R%MqpP-PoXwpfGOIz!;ppn0^J|v zx&BoD3`#RfZIVu}`@;)tdea}~Dcc|FpTYFV`XtJK6X;VLRGIdr7+(s8!Ze0JIlS87 z#=6mgNvdaNeA8bE1Sk&-Lc|0@yJCnuvQ)a#YcNwJteg8+3}MJ|dxTRypD?0yg)mEl zrP*w1Bl40Kge`t;;5wq18Qtig!P1;nR4SvJW-u;ot4(ieqnE1<{WF+;4$`yyTLQJw z0&Kc&SSa8{YGbm&-H2IDo7w<^&npzHcl~wfuKFYpIaL!oURdOX|Oi7 zn%amN!rT4Yz)@kpHuTS6Y0fGdCp{JH+evLaY15n9h`8F&KZEJ#AU$hiTc9?!1!@Dl zNNv1m3#Faf0D{k}4dk(Fg`zWcgxYRuqu+0}hyp>|+5oSgPq@pqF>V}Zteg$t25_v= za*nzdlhDeLQae1};l*nO@m32OrWncOU0@lP4VIuLOlGQfSDHKPr~vtzZstl;H{EdBA%*aQ)L9Twm6> z8MkK+NiYXFIuaede)QBx>Db7qNaf+puULlf zB`cO=_@pn0lKXs)s%ogOjckrK*Wl`&s`XJCm)s01Jh+pWH?QEPpsiKS^>S;dZ*#IG zGHiCm@Ily&(y&a0Vlc*mL(mP#0(U!P=^wQ!V`jKWvgJVlXk`^h4&e%v5ZlpnWb@s+}F?WM;9iq!j+{G~^V}~%Cxbp^=T&1h#`hmL8 zSH;4rs&+sIDu!3#X+G;z{5?F_{5BU?kLn9@ni?CngUQzD`e?IUa}-uB5oA1Fjb1M( z&)j!ac`~*>)AU#fv$`VrmSu6ss;pJxd${7hzL5H{mjRmU$hv5>b>c+Ia{E`&=&~fs zyWwtpF-u)^AWQvZP`2t-k*&_G%~tca^5TII^1)e0Eu@{lDdD)L8q=#!Zu{GBj;LNT zV~xPMS6Io_fC{g$7;^{W_@5ydIz!^s83=hO`K!5(=7{3U9Bk<{>%#hyDc?Hjx)FO9tUvOt72n)- z^eq>S-2GD4$5-{bL~P<~;RE$`9`!_Omtlk34qci*s*%xM}CBb>9!?{O>xN|6NDpw>@9g zx4w>M7Fs$!AzZhzGSn+8Wf!i-n4#OE$7j$MH`~Hj<$sO*?}q>NZ>+%oG`Vhu{Jk7v z>l(7x(d^EB*!l^7S+0xG;q1+oTu-C@Nf?Q2%693KG0@r_7tR60Jh_fW$7hdJl%0%? zBihf~4ClqgPe*GPPfxC^k?U)8d|p>GFU`^8bv2v7U)bPduc0!WKL^X4GGH{}yuovx z=fZh$rXTKKXTv^837iY~`u9kTbZGFXKo<2m?CCGp)Ksf7BUzNo)kd*h5@aU|9s3s3x%0R!=&9|eqbF&6RkH8t$h`pZj)YK*%yUG@(BjUg>% z=(6Y4@i5%>uptxpG6hD1Q4U|0z;Zz24$#OF<6kJhI2w0ITE0-~ul`NeWxPjxocL=R z815RnxZ(jPbFe_dkI4saS}-ui(|Ichz%&hBilEavV_4lSjQQ0sN_gpkj^~VF@nQoF zyJ@G-3okX$un$kiPss-_9ni3IEiW|YuVE++LxZNqHOv{qq5)(LyLlIW3O<@=)i8IR z4UI=?*bU%C#~ToUY1yD@IG0wxDrd1huWpCfa6$z|Ln-^4UKAu(Pp=r3iq!waNC+&4 z^o2H9>0;5;3iYf|Ui;JFfbq+;q!pck;cR7=ycOcM80j zC|@0_H{EtKe6y`)D>AGs1v}iqf%pJWWGokar>jb2hg(gsg@sYvu9=wAHn???k8~f!~GQQ0k{X@ASLP{xSzp2 z4EG4!&*2`0`vu%%aF4@10ryL|C*ght_iMPP;GTwi2JSa-&%!+i_dMJSaQon1gnJ3@ zw{S1Ry#n_t+-q>ZgL@tB_i%rJ`y<>NaDRe(6YkG&Z^8Wq?rpgLgL?<=UAVu(y$81+ z?r(5^hkGCHA8;SQeF*nYxPQTY1otuAzu`WC`wWhCegNN4TQ$c@11_BR=2~B>>fz0^ zJ_@tHv7B2ra_w$@{?4_#`E#I=xpp^y4(7nQb~k?xMtHfho1c=2o1avP_f7QDKgB$q zW2Ey%$`A3>>^)^%ew!};XUhLoWgMFwgLtWY5yemB8)ej(>;sj&w+d(C;?H}GAuJrj zzob~Q1gGGCN{nWp6HUaS;S77gz8={0tI(^>Y9z1CT1rek1$$90S}lEP7P#OgFyq<; z($cY9fU|f3@61Ay-m+yg{z@A20(0?#6m=eG@@-96?J+dDNZ(4dNwM-XoY~~Hs^TML zTHxtDdWWW~o|CxTQs0E@N!CSH;6m({x~44+_8#i>&Cx1c2#x!qapO2Ijjr5+3rp&; zsx&C>4x4zk*dC)i;pBtzO+#(UrcZ+JPnw3HZYn!p^)BVMqtK3p7=)B%>7N*hm8JVP zij9P5?I0Ocioa7+qj$|FdQ_m7GZsXzgI$xUgXN5c3wF(=4rX(Y@v)!UHI+J;&Akbx zg*7tl-g0){{L3q&q6vAhw6iFKo5d((#&{b}p;Hb95J6|2*>C+Qh zZ#Y6XdLy~Y(|VKFPOfk}TC9>U>5}n3IhKO|pQkrm{g_dAUYB7YS3d|%x2+Y$GKz(jFJo7$$EptwW4k=d}i%aAI- z3<=^+e%ljw!oNasM={0;OBy6BAnv^4GhSeEJEd!Y`-->*g9GB8pCImN%7Uqbtvl{c zbispx+_vr_?sx%3ap!xccyUKH#IeYOK+?K@34(z-G2)Ku2Ms6gpvl%9k}Bek*8=8S zi@T{ygv&J`_zs9WBm>xdapzh@TX9D{1jM~Si+e#k;$A>;FA#BOa0-5Zp15Nb2^@sg zJ+{deamSsuF^;*43fd9(gup~`FX%wrA>KmjK0~UT7I*U7p12eK6^c8G5#0EnG>m-$ z;?B!ggTVoDr#uFO1LDq}Iv5-fcU}z|3=W7p->Fg;%@3vcwp;J`HO4aAsN8ti#wOu+KM~sAt3G;lX4Q! ztsQaiMse>Z;?Cd{{Qf*~?`FjPe%s`VxOel#y<0oto)DNQ?%g^NcZfGK8&)wx3UdLr z?&P;UaVPvM6n7M3oUo+fjjWuH_J`Nq62!enuyyZ-v`!+KIw0=d62!enuyya2AnrYa ztvkd!4mk(RBJSNd9f`TIJE|cN4OK~T{}KcPIE=WX`a#2qJ7`keA*mwfcx7R}wYZzQ z6dow<|Bt;d53H)X^FQ~!>>&vt$Rff6LRe%;!j3En39HB^D!3p?2oMMfCPCaqaIaR2 zTD8>{m0GRcw2ot2tLaD`+d5ONwsui#J9ZhzwzSjwvmGnH&*%F+_ndd%0>K&kSKrIc zyXSk)`7USqe!u73v#|apRd>`3U}JS>pO_=a1A|k+rpAalVE_3-P41YMWfjII#qYaP>; zM$&RcTUy%OY-!6<(&nY7&C8aycS_p)^tAce()LM7Tacc%AU!Py_>YHP{G$w4^99m~ zfTzIgVD%gtOPG#qKhXcC(nb$1Z<4v z)R=%Xv@y+k`IPAr%8!jeAtq0wjU?lYY(!O(csB=<N!b7Rg!&#pEO^$^&Rt=&EOy$q8^C)KG^Mjf;q|vjYB%c zl8;cho6bOZdxL{;H=TiS$OenbehO`iFI&gQ-VOeO;k58u09=)Lf-znQAAWEMG3L2r zWjl6H?dIa!TqrjA=&@fMT*i6VVwE=941*)VQG-DSFMHUH8U!VpI=GzjFx9UdWYn5R zM{&o3l-9tIJ)k~(Trztn6@qRd2P5YrGPSyQXrP4;k0)Q^gyL7br8w?g9GgKV-~JYe zBa^FxkYEK^)Nel?uZpwf9FJ>G&N&<;%bXjGBw2HghdR@qZ?QRtoMg@o4s&jBhMY@z zn3{8gv*a9-Nv#fZ4yc)Po;~CoM9`eW!${6yz>hgcN$Bd?GpzBeIfrwwEj*HQU?nN% z_~Jfuo#Th8M?rQR)Rl2_ zmBj&tk{QPZDD@0^$};2h6Yq*68^smB&SK>0+IABG(6<3a8v!?g(Uet7Rv!)yIK9(unZcH|%ENWy*eVn`-6A?@A$v<{3zfCPG zEB#})81p#*()LbIYhCj6v;`??r3=DnUS8{xC#U87m!YU& zCU^^X>=Sa{R7H|oJ`6cIGFTxlOkX@rcFUQD+i)Em#cjC8g++_sckrYV*Q3~`?K$(f zSsVX-Ouw6gYlG#%o3R~cR>1FL!978}%#2Hb@^Lb|jkCRUCg5-fYXpxmnH4s|!9d8) zj2r1-ejBcG2dms|(1qZvx={|sw0P$V7&oX_x`gRWKyJ&fFi)4;u={w8l9rpNE6mRX zj|hS@2n>x&N`3FRA-&qDgl~riG$BtK0fwo%q(Gh z91hBK;p4Jx;c!sKJd>I))g=GNG9ihXFK)iN_&ih5x?4N`wZ@nc>TV4O!kkPlK6$`_ zg5Uw2W86i(A^4T_hJ0#xL!hAE&~WQVBJ*UyE{{=!H$*~EH~3W#90y+7aK8PGctgV@ z-VmGhgxG$Y2_up+p)W*;-6^i2o5}GW$3XILv^Wr;!0TfQO#?2qw>#0X)`D zGl1u>fd%)0jLZO^8W{izngJtHGJt2)Ap=N=8GyY%r^=i4sGh)4!d zhk17pXO1PggE+bjH79Ovw2nqO91ZKrVaZUEJ9sHL$l$urrNn;gg5ws4!?}a0II_Bf zBazYM<2HxGxr3=Vvbuvj7mYaXbU2(ln2IB-J2+C>6%LehIGj6}iX*E#$n(?4$9{_g zwL5d3UYyw-Wc%T%YubisZMZW4cn6(LzH{yVxfu`g1$J01k*7r z$JaWBeiu)549ijab~M+f6vvP$>ARKVfB5)If><0w|2XOxBLC_6`NvVm5L>K8A3MkJ zx|e`_2y)t`UJu&LM1FQ(HMf?1ofsWMAg8BC#}Lf(Rvbfc%6oAPafBD|#WBPI8obZw z7}D&kW61NAhTB%YuEx+&q?0u);wag%S^|?D!%<)$npVbY;Xmz0qvk9+jPqK@kicl# zsAGs@*hx2<);fmiX`_xIj$=ddl5+EgeIeRJu{#r1EqdZ&F7iy*H_&k=~os(V}L;@vqSllR7$LQb&VF zZ&F7~P2xxxowdxP5@V1ec~oMoT8S}8lGRF#5xg{$V^XXH3<0f#PYo*p3Th?Bqztzp zF|7m%(MpW5R$>flw1(A6jEP!_G0sX*FnXMs1%n_F!N#dzW054QU}K$NJUIra-Dj){ z=2Js3P*B0}&?Jw*;Up3YMnV*XC)Vh%3Wif}Y&c^6#zq9A+niZ22oe!&yb3lBd%$NE zY@8E}r=%ncHckcesUa9Bs9<;)5ey|r!AOV#@pKmbRl#t=iw#Ev8|MULBcSi^?K+QQ z@xwePNh84IKx-#(o<(Sbu;e$%uI~m1S?oGa5)nK0d56Q<^;8^L?fOa5;4o{;;c#|6 z6-QRP&QnlmPaktQoLx`Fk=3rBWbOJB4u`YrsW`IQ^^-&;U|Va81I;mWo?ebp&yc6I z>nBO|Vd=4#=IuI|5WC)Oaijb`pk3$rEPlWTrU%d5wXbDniH68k$I{}G_6?k zXj*H{)6+(+IZmESr)#ZwdfKQpAEnkjO4nNR^t4fHK1!{5G_AGf$!TfLC!kt+YtBK1 z_ARH8;JJYp#-ou!~)9IeSL z7zBx!z-kq&iU*c-XLxtJFEEoid2sT9ptHv=WSp}S=8>7MMieX>*^mL3nu@wOdIh;4t>;zs#>K-)egV%vH2 zPO=F`nbJxUOxr#M-z>JB$Mi%~ifv~~+V&~jVC*MoM{w!<-EpB<9 zPD|U)Q&&+s*-d-&5zYNWQ1e!;pMWorfX$o;nXh z@`K+z49O3E^DrboQ)Rj|-O!p(ca4y*1t!Gqm2uxv_;fn>P0OAu%dc_B1MUq5ttctZ zbP%hrBfc}d^^g(YnQA?Flu}mfF+(V`FFzy2dcZ)?did0^9-yGsV}`XJG@@Jqhs3lV zBt+|hlPc`5S`YAP!x8H-!&wj7d%pe1+~tKJ5wkc;1)GT^Sp}Qv1e=*67MhIEY6Gw##cC*1%n_F!Dg#q+=VTxV6&WHvr+^D z?-b0ZhG3weg3U@142dZi2~jYdFJ*sKFq|o6!;uo3v-hbuvfBHTrAgxSPlvp|Pu`>kVY1K5AD_edSudob_pJvept zem2@wXzy{l7w^-?=-HQ_14fc#KL;5XO)K_3n%3I;^t4fXKUM90 zG_AGw>1m_(eyZC0Xj*IU)6+)n{ZzI0(X`gyC#R(qoP%cJ?LA*`C);}*?FM_l+S+>@ z*OtNF^98uK_w&#cyuF`?^xodj6O|O6$~RAxOE@w=FJkZKMeO}NX}Y1kpC|R_73|mj z>*2<<#x6FwK@dD8lRu`Ii_MSa%kV6C#@D5UFUC=Xj1fNPw2c}_;HL!Wbdg#IYefFU zWQxXo2ZQCd(?xhbmZtU7Md}^QPZwF>U`(r12Np(P+l0m<2lI3nJD8`-vu%{FpDwc0 z!5B~Ro#J4Ay2vsIBaMfJ?s5n7{H<^>rfrmXEAhCuY>H(}jh!yCT43;GusIcyNW9Y` zFr~4^!TfZQGaSsHuyLk?`4cwQIv7vbP+rzKm_K3TEC=%^Y@F?2y-dPR7dgkl{0ST9 zI@kky6IPD(4(3nTIM2cKgbg}iH4r?rpHh?Jr_`#SQiCK}{gfK1leF8h#2WsGm}k;-?@n{S*?SpHgG}lp3RcN{vxJr6%ft)i^(eg0UfF77T(!9I*K+ zSS^xd6|B|?R+}Oic&A`KH3S0%6|6QzFeIj6Bt*e#tzflQuv#lvZB($@h+u5ZnFWI& z5y9$Ju=!?wcERR5!RDt32Hq){PYuC9K?R$iA{Y`=FcP9*IET;vYKhIag3XT#Hs1+G z--Ig3dzN)3*|V$@g&a5USx=?jdzSSk*|WS69AxnRHxV&$7VbaGqrvY*9`^80|EWxYxEEK%;E0|>QJh&m&lCBgJ8v7$Je zXNl5INhzKsQ_}gX$Nyx<6NNp|OjmUtY% z(-hAVwCO7HEfJXKt&AjrQ{Kx+Qa#!g?qwvY{s^8Wu_Swkn503^a&9KilE7rol4PT4 zWi%+7)_RudX``McPt!}IYdy>Kv{BEJNA0DhwVq{q+NfuV98OPbJUr=87lEGE$y-kNQ%!(y?%|EPdO_+2yB={FaE#+UBJa!PKj)Lj>(7?| zI3uQeKGylh>zjcMn~&GlVbuiY>1@E`K?OLSbGvKZx~W#Y7R!c&de~szI8mwRdFrT+ z?Cp>`|MM*-sq;Ulu#-CfZ!tyLsON^%i>$s*r5?7&?stA8vgdp1XaMYAkvjkLy(y{l zKPSzTI{$Am#o4Imh183)P)}~|%=rRO9ZilsI#TCLnSdk0do)>$aR# zRLdhSWhw9?JW%&2Hkr+25gN#)QibW}?>4`(6?(B@6+YdC;$~0qUkK$vS3@nj1H9MO zU}Jr#$qA-@v5D^! z$s5{xbo7u_Zn@{Pd^6B;Q5tptwe}o~)VL^Zv9XKNu;4pwQJOsbO}r3O0{L)M$}W40 zGb~C=+GTGNXktezD+I8AJ8?%* zaqO?Ur7%Y}92xKgXAqX_BB`O-W8E9@L=jf|B~rcf%uBe7o4ug3@xI5zorF7e_#3AF zEF)(;h?-q1)wdh`AwNq7#VXB!v1T34Mo84PcXlP_H+1662>jL7jZbWExG>Ss+S-5yXJQD<$F$mb*W!QCP3)QI7$u z?p(DW^>|sudzlM^Nh!RiEvX-+_p&GoYmx}3U8%>G0lW{bOS);xW?cHCD&*GW#{08= zi=89SQA;xiK8oX6T`l1mw{r|OqEV{@p5DS?*==7N)ooPHP07%XlB! zq;#IMnI!U@SCh(f)IQCDeR4djODH_!7UGbuymQ3h9Pedr5njykUgi&D0uJwKy)YkF z?rFoob8o^!OP0=aHbX|9^J`Lhj#@QT0MD}yiVDxTg*c=u??y2w$a|Rsg%^UnmwC>Z z_``cy42LPbyr<;@&wY3w+P`$3vzb5gTu_tDb0_LX)E1%w96r~;9WSC4E`puKTVVXh zJTLsmEN=WiQU0GT|65Q|Gk9J&?wk9Jw&7{0WRt4oOW19ar|;ls7OPsIYBH)8XtfVT zwJ6>XS+!71J?d|^6%%4-6cbAOLlIN){vE{B)62#^DD37hnxh^cu04r1!*iT#|I zc^Soo$^B5oRJ?x&F?GLTe7ui*vh(_F)S zYo=lUANoifnZGL7E4|oW2*u3RL8ZAS2#-6*38%qTwvW3E_Lfg^z?CV*nv}q9=)MOO zh-*2t!jb(>zV0H(jX zO|Mq~(_h`D*DFB(uWr-p73iV=6{D)^@vQ)*zsjc9lyxQOjg5_qodg;jDOw2{??E{m zv-^ABsVOwq>rfEEPv%U(W87h7`bd*vdd6cw9O~XVUg36LE5W73_kH49sjobVPs!zl zj}LUqV;Pw8kMr$ga>Ud!Fy$ZPBr86V42JpiI=gSg3XM*d+&Oj{w854Fei@0-@b}-=u z^ZY|WrJMNnssD9?# z%`!99>e6*W@H!z_O9Dc0ttE)g^5K)rfI%6~m9}R?*ONyc<1%{qqNmuA0h$7-!)-p5A@^+T+cD?X65(gE;%t=s7ciSP3rO>1$+II!pGMMI0F{gq# z3l^kIu%2yrTJ~CCrNYLztH=maiBHzxjhybHNbr+6Wq6D`*oR!R>}!V$yETRS!AOA* zQ^>}OOrej}fAo)KV@3a1{VxAlHdgeHt-m7A3qf5LruxU+KvF)!ZL{Z=M~)+Q__!(; zgMrQH&|{J-Qirc5q(jbk1kwT1{<7X{KUD9ve~0^FN=vucVvXbr?dyX7v_-;K+1CYc z*$`i1Unir7jJX~}%FNq%#_V5@j54D4`C9wBU>)GEaBs-rI0!c8CsRxdHkxN*KZ|wd z?9G{oId;`%2c}XClweV8SZ~wl zU?}OJQD99DRt4BJfo*iK%H0Vx5~gi-Fs9Y12b&@=od&Vl!8~1V>8Jd8x-AYi1Nbmu zA2hZ)7~?6vZ4UM@V7d!OtAmk-PI=hwV4lA=2V+{5x81=Q?-`-H1NF8@@{jRUw(}z} zrP1MFoXW6&4|(o%F!G|iaCAACpH{)6sFjAFR>8xX73QZ^@Bn3n`Dqp0mq=lLTE#^U z=BHI$>|hVLX%&|^n4ea0se|dX3d(U=1g3d)xq~sS=F1fhrum#_t~GcwWBnsKm;u7M zhtC&9l;pF#(wOA4gvQ1DEJv!ZT;WySdr;xPFTS+OC@iiVVx$XlW#vyvCG0za6n>`Mf6&grFZz=IrNgImR} zM<}!?H*}r?i?T#53M1i7c8+nw?=*|IN%#IXXG`$x4ly!6xj6f^CUj^U4dDYbKXC1{Tehb z?7K2c-gqHWfxnHO^S+>b`eaRCB5IbjxjsE_qv;pA^u?0?pi5sIrYDn@K5wJx z7rFF&nTNx%T>4&N`h1_Bx6$;AUHTG9|Ef!05~eTk>3JJXzr>|4mGr-H=}W`()KZpz z-bT|eMfz`G5&S0P|JC5%)ExPLskjcCQB4P+I#gnZPwdHuWPh@BaUvh-E<}$pW`u5d z8>L%UUM1zW*;c2O!Hx3133W)*WB=_iz1~LCFDkE^sq}M&ey`VcLsp#R7t-f8){vX@ zc^gf?z|qf>^aFce67YT3R_JG`cm3d;+I-X7X!^zF)m2JAU(%O5`uQP!$A2#oC7K@m zPiEuVjC?OMx7nt)*|3XulQgyUM%@%RV-`2eE?r0Dc81PHoSh5wImRC8`TW?W*qqzs z%#U@VmFA!njl7E9BIU^=$+n<8SpyEuVI@TiU;9^EBM3DBSI-8``1sMN^>Rh-4 zM<5N?B}>x=X*|r@B$G+2x+iJv=yzGtVEzcC@n$_cX*}!^X|)t2t&Yr-PU^fPkj^_2 zX*|qII$5Eqks)avpvd{TX82|px$I?~ekbnz5c@~vo?^bgj$^wuxKLD4d0)TOt6*%CBkCx1r2%%)er>^htNd^A(>FW|NN^cnrKDfG*>A^*Mg z&F-C*imTo#I`dZ1peGoVm8gi@gm!^xQ>#oct@3t8_`6tTmsxm3xc_R@vfFo&T7_BUZV`cwm(+9yJH= zSv;FjQ{Zj%7!R!S6x!4_@ytRiiZYivfF_7f!1fqgBw$7jOtzwJ&WeVSofSptg^{fl zMZTwCc2;z|oi^&NXq$C`gbQKAS<&q#)rz)RKPQZgSstF}R4a;y5jHl913#*bwLOy+ zrBXs86s1)EAF5Bgv{5d?f$3H$gtt+pwzz!C^vh#KrUU8OC<|(6li^B(1LEyOW>eX% zw0JL2Wx0r5bZzY6Z4@tyF3+55z=z0kj!l0p(oZ)7ijz+nsRwZ=cnrMF=OnjGE^|HP zqna-_!;gGGNqHzx7Z_K8CjjVWgS<^EUm3+9zWo ztMkL#XnJkoq_2IlCtP~zlQEIi`QdFey|!$o*Wx|s(u>YzB3Hb68%?h*n&}IK{}){P zf>3^|^NA|6&SxKr!>F2@+5U6qfm0Dr+vcm54&+WRZWPVYiW}9gXT{BW#u~fJ)!1FO z#wOm>mT+-cW1CE2jhMGZMsLHc!iyJU%9oa7dL?DxP%z!lN{ax?R?=lah8#@>)VZF? zpp}e-ttV&+Z-O!+7e>?)-!M?E zTxHq7TLW#DO(w_JRo+JHDjay$)k<@b)l0WI1Tt2{8lLMB@HUEIp+}&K>3~CE6;qSR z^9XnwMS$K*$bo96#~cEynVL+#N5I=Cg2f(zs-}YufmKaSFh;Ju@-~WK2@y~?@s&(A zt)y_(O;7~Vu3xr=xgWhrENt)Co=7_@OEn6W(L*ao(kWoX02vkEo<`7s7b(z;tdK={cg%~2RzLP^>HPmHZL+Nc40m>po zpc?9Bhrnv6%e;ot+b9BLY4tQ}D8A(FiH3qUkjDL{B?Ph33mxTiw2BTb)3ZVswL%Sb zh0{=1SPeD)H(KTQgc|A&uc7odDlAY#7+adCr#F`nZ4h=chV z7g(fj@%b4SH#wN+@1qXpXI$LuV2t;S$Z-pDKS-Hz@v#W(Vd&LUC7)?gX4?XXc}uT! zsKH08bkG7lt8`X1kg{5ot1M+;$VB<576qE5XOv-4*rG{UEz0wbat4cXxjCvuK?Cg> zWvh%xSuIMx|J3FM{hUeWqgoUwte#P}T8xy{qMTzX14AatN3|%>bUmXi>W>y>cf_Kw z4b!3=uza9hs?U3ew$rFuCx~AF^9lflsmjd(c35jlzxanEy_WMz*>|$ zjPrT*Hi`g+7$Q)M^0Grpopcds#hrn8tJG@2F+b9BL>C|dk6e_)* zSQKb)u_%ACgs#kFQBXcdYuvC3Ju7rE1GFf6okiJeEz0b-w8~>oGA-~&yhYL5sIWja zeFj@AH8(ZXGK&D_ExqO1a*;Z~+Rt;7DUs_yf@0nyis)oAq7&H`H1u3hBYPFPsArs}JYN#uZ zK|@WgriQvIqM_&&P(wXt`GBPlE3ET*9}#60t+1#ztgw}6nd4ykZL%r+}SPk`v*HC&JMSwyK5vYcG(;=`L>JhJ@^frnB8Y)Df8tP9Dfz?otcnzhu zQ3TLX(`Qga(T(bfhJrSb#+~!FR=2A&X(*J>(Hb|jOwTI1s1<6cYn_I|ptKbDGRp(@ zw$TFruGdg{8x?kGd3B|Xa?=;2hC0V0fVxbtxyX^D34xl|Ga+nMJJnogHPiu@eHk>= zHB>)G?i-`Z_KdQvqok}F>TO3kgNC~1=o$(I-ZRR!a+9)Zs42hIDuec(DYuWRp{_m# z4aHVL%BrC*wUmJ&6Xm07sH=}bLrtGS4Ru{aL$RMh4Rz4+fxbgnVV#EhZbl6y6}A%V z(^Nyf>=0ND^lqwwctk70(qtLU9X|^Hi}>g5l}<1W7ZQ51#KXWyPqWl(bEeZ<#V(q z1})RGiY{t}8tNlfL!D~aITQtBd4RS{=K%s8jR#bmp7F3ivze6D1v=oQ&!Av#IJ$yC zjq4d@Tg6D(Di}vOgMzu?=n4kq)icVrZj!Q9FuxCNQU(Qc1GUGImFo39S1{I)pb|?t zUur1>L#A>*s)9k|=$XvY8u*T#Ljz^zatzzNV#b)u`WUk&(7~8+P$v8>GL2YPqo232 zzekyg9eNMJLqWkIOguLn`N{b*vBeL)iTg5>b7%~H15d;n5QvlgFy}s-I%B2z=Y?$5B0_Wz>vvuTyZRJ z8--tE`W)i_bIn3bE$eIgAxl2?|fQ6rpcq-WNdz|^5Oj|>IyeW)<7Iy?S z=54b^q+5pjM{|_hnB{gdxFsJswF&%JKA%R`Fo%>wmx(w&m;(|A@g(H1LO3h{tv(w7 zHm&W-VLl+7Zy5tu{LGE@HIL`jAm3^vtp84A-Y=4Z;6_oni~rK>gUB`b27nji8^bU6 zbZ3}bp!0VYzWg15FMoM{8-ID+8GrNfjYAdjHxJhe!-ddsOzIgYzk|#m`5kNq%P$X& z=kwwC^0yXW{?5mjzmH;EFUL%I&ft9&H|IHg82O9sY|k_Cpci7W82wd<(5Q7-V`o3J z@{vpZAxI2oBl67g7|Od`et9w!!#qWTzuaA#zuXIuzfT2|vXeN+oaabzt1E0ph3`|r zRVDyeI8A;@+m4-GiN@xxUCqsHi3!sZ4Q(3}Q)iObIa!}hOe7YzbYO>{?d@${TN3S? z5<5EDw>CF*ac3WejjkL`9EG4}r%4X%MwJPMa)<6RR6}JQyI>~e&Ol?9@7&(l+~F9i z6n^k_jL2}#{VuecxS5u~Y92+Chr)X*zz#G?XezPuR$CXabap|ShK`MRq1Cjdp`)RR zz^3+%&4~$#&gSOC=AA7Yn_FAjnmZN!_V%I7o=pk-1X$+33<2gA7E&gmXI#rp1K24v ziOC{j^S}LDEv-3@n?ci##`2MMlE9adj@Noj?IdulZFO0bxal+3iOg%>p#^6-Ud^4A7 zq(9mK>Pp43iiL@a+KRf0m5E7-isconE9w&!YxW9;s{|WX7@GI~cKOpk`~9!y@fgSO zehltUt+@5u8>@djZ*0>2sb(XHEk@f*Ah#PZN2eL{cb4LR7a%im!V%AAN?=B90&(gP zCxPQF(mpx8&C8gY9DkZ6gJnAM36QUAW0a0dSA(=fA1+`-&UmwUWnx)FXLH9=Oq`#A zN}M>Yxud1IGqJL6St67o2ghFh7W|zPKe6Q5`**L}@px5kuVnhij z7Uy5}FV8-+_|p3JemB(aZ`$(MhWzIE-$fnDP^6kR)@_|bK<+ty6WJ!RA6AI*Nb zz2c^&iz-{Td}l$?T`!DTy?f2)=1lm=iUWW8_BZ<0O}P2=(f_^m#JOjmJn*KLs+pg; z_?~eGPT73gZ%+Tz-ZMY@(ee9!-0QD*47}x~Ynsk~{?g5PUp#B%g(s|i_VC;T=Zt+~ z)xj|x)ptDirI8nxToE5X={b^li$xqZYR&VAyQXII^Q)AC!dc%u2w zds}yZ=bvx;-j;DcJ?97eUVC(Z^KVCPTfgtSrQdrs@1LI>^DpQ1Ir!XtKU)0YGwpj` z+wzro>AdAlw?F&mU+$g#>1(cd{@1H!oN)8(6%Xh9`Cp#BwdC23kNxnkYZhMo(N}Z7 zabA4E%adD&UUPL#=epf5KG-(w&2Rl>>l*|9(0#?v_Wyfq`HK}D`Rn(8=F}&yTs5Qi zKQ90I9W8TrB_1q!qyFV5&j0xGJDxpf=4I!6{I{>(c>66ces%9le}1Z<_KtrYG_0iY z;ORw|e`3MQGxpy1!_Sqs^}pp8!87!--&68X&9AnuIJc{&m2__X^UzxRdxcm4Pmm(;zMcm5?0jC|~yFWlO4u;k#v|9I>h zFWf%pl?l(>xalYFRX*_BO@I8}PF?%E zrQbNN=2y30{`LiT@4w;wUTbg6{m+#Z|Mh&;+2;+$WXw>X!&;IC!^-D_b9DVUOSO52c&y>74 z{s(hT|H3Uxa<5+bvAjD@eCZRfZvW&LUt0YByqXWU?WJSC7h1OvE)Lutd}C&Our@ZZ zSKi)lZg^v!>ZNaE!-Kw}$zGHHP4b_1s^!ho@xK7Ce{rfkKIL(0*O-KfZAqVJT$u3f zef)FUkH_3h{JxH*G;L*;u}E zcMayPkOp1bURVghPYo~-1{((0iGr`&z8j=X=_T*&8lixdF12$nbF#!UmM*QH#`Bxz zQ_f!IZ)DSi_$Z^s^Y05w9L&FKWWH!TV-l7>b~#hi_D1Oy3xB{8+$Srv`#9MBdqV#D zIv9`yhrdU8k8`m55KmWk(+yXAlvh`G_jfQXV6*Zb?_i$B00(>L3fxMb4iwlX6wCE4 zpXrr)o|OhYRE3cjO-pZ8VGryLVM82j4Nh2GBQ#DF7|ZS6JvBD%P=S?NnAVM9k+iz@ z6uDu3U>*j4>~`fN#*G1MAh(gEdp`=LcTl>20sPST;mNW<=!n~4oQ&k$4g)L3>Sh$^ zdR3X!cdMNh36m#JomS0(47SMc1-vU@j>rxT^ydG`{0`DG9||FPwK)$VZqq>zxLTa|DLBLn zd4!ZjE@d(9ZVG;noaSm=_GGr={!fS+F^o1Wu^fyO5UlMV9!6k|;)*xUP7A$V8Yi~zyK<2o~;)O98 zs7;#;YD3|jXNWEft(KNglf|J}Y-{!fheYzes4Ov&oYH??hPx;~@UY6TO66;VwOP4KaWo1V&|L_1^e25Cy zEz2g5^KyfITbY3Clw$0}plcqmTKWWbO(Akk6R>5`p4}>&q|+WG*Y`eB-~VXqd!MBG z&OD)|*cbe_%@g_)tPffzm?sY-hRc)Q_t%h>;={MAUOX<-3fiP4a%dU5!-co?&<)+9 zA6>>}$U|(%8?E)SB0+1t!-P`lE*OEOCfvL&n$rc?s1R0{r}E%rQJlduH4mf58l z;cY6FX_cfx!@Do|vryq^n9p`nQKd^myj*toqxnrP(&ME_-?2q{d`gkhFz*ZgpDoe> zNw~ib-bsA`D7^1>U82$67rbkE8Ho5*v1;W31fe}t28&s z?=0L;H1~?bmOv&Hh|@|ZPA3zNaIi)=it1>ObT9*$I&tL==1;{Mm6;!_8Iri1zIn`Su}c~R$^{)*D@+c(X2Fr~rTkU*^D z^Vk!pD|ZF&+q#lKU3uP|8nCXgCb2|65geAMeG!Vuex!TcuB0@tEa6W=`XRQ8qsr5~ zqL8^wchFr>k8;F|ow!-I4w_@Mk!oFAf!fT?>aCI~reZ;*hJP8ykQoO5fbuQwe>c)n z?Ta%)bT3q@6xN};#qH(z^gSH=mfBv9n|pA&+dV-p8sO=ON3~!~!g2?056@HXsL4tP z#Ri%Iea!N94Dq%#V{`bfu7;*9%^L?50A6ZpQ-C3R{V=MTo=6$XH=h#EoK;#`93?D5 z4G4>)Qdk^iS**7#f@QMEy!&ui#75+nMYb?yu|inH=BvVDMGA`*mc=cWMX*d3S+E}t zixt8ms~{WvRY6=BgBKxeY60I9d>R^=ai{?N4yxGT9x97)DuDs!(`*K)GT8Ip?x0FV zFu>er;S&MhDDl~N{icd+wz`cWcT{2nqdR}2%>tOv_y6xVT6qPWpAFCDKrj(i_X2aj ze9P@ldLS>KQaIP)XRD~i(-92SaX7d83LP zL^nH_r@O_$m{v=aV{yu}FVU?IrX@<*wmFzLlC2I#8V^gY=KhGj*5Dp#+Z@cNZFewl zV0Qqf2GJYX^Bs)5sDbTpFmGTx9gMt$`y+<ymAN|d1KJu&rFFwM*Q(Z z?*iQ8nJGvED<|>U@b3#}rT`9>@dCE^&^X-gHW!Y06jhoeIX|VyTnS}v3Uu~IcTmIo zIR4?e&H-VgGUyC~6Z{Ux<>!D5#w%p*6NfJ72I76;{DllXNXSVqn-Vrz8D4{l-6tumetEIgyfxnA*(olQH=7zSGP63YY#M^yLOK50nYTwz` z)zY>Z6BAn6FkaY-x2~Mo(0Ng3SM&DH#F&=0#EyoJu9l{qtqmP=08vvzD+7|MYfE!t zM{`GKJDku~!Kul4fKii1X}_SkV@q?x#?G-g)~EwF7h%!@rciY5+_9szrFmnbt35$9 ztD8HU8#e`EZA#9C9azFpV55|(7{F* z9p3@?^7p9#b9hovjWi}K0!;qcf-2LQ*o^YxRFJMM4Q(i=u7*}HlEBbcE)Xq)g6g({ z3C?9{IENXtuz7n!Yx5ECHM9yoEcM|2c>$U|H!94>e2-#Qc%AQ2J(;h*GEevzA7+&K zChqRKuf%-(krMO6XG%=RizQ~yYbEA}UzV7Czb!EXfA=9x{>V82tOjt5IUS@Q{vUlJ z2sQvfxnZsdQihX1jy@6O+w=Z05#%2eLH;ojckOs}v~l#e^2+*AQtXT!^%W+fZC$j&LEygo7&S;?j32x1k(~Im(3? zv%-albF>ZRN=)W1spld;$}q(}3^C?78{+H0G931#&+;TDy-cR#9*|`isMQeOn3^Ao zmLZ&8JQ}Qd!RF9FEYZp}b?kQL$C4)JaEL=E=MZB)dIYbSbCFJQ^7{nHj7HPkhGS zMwOkkQ!0~oCd;H99D{0~6EEK#X>8(!ezGCrooPcw!a-OoizJt4xo3>Y0c~R8P@d;7kaCR+QHoj{;)I~NL6b;P3Oy7vKf$*s zRvhDdpc+8(%sglX^WQr5vmLE|9FJv>b=RUj#QK;4I25lv(b2p)vAlhvoE*xB{*4qT z5rr|@+9#52OiTg`b&dtHSMNe(Z-EVQmd?MMjbM-II7{dCU?@f?csO4v%<0bpet%*! zyj1Wmc4>)si3<_$QXAszmorSW#Y;o|dN9o5rJ0W6WwCh$M5R@RHJHj1l~x%>sx;Ia zczi~&Cw#| zH8#X~GIhZ=i;weUo(_gXO7hSRJj#3aCVe3XeNLLtJ94ro&*gDrwD1?f*pHMi*r6u2dheIhig=M<=Ga8eI zST{ymy#0YUH^y(Ctq1)DZ>T2ObuW|EK$@0#H(0!!5HlU))Qb0b;kVq@x#NXjrr|W1 zr7-MT=QvHKAXaE;9WS&(MSHx^YI68UYoiTuI?Z%Ufl*p?m~&#ItPBIvWWcO0qzx7A z0KvP-r6pdzAt861b~D{>mDx_A7Zj9oxx^8nq z_X*vYVH4|?(BSUD-S86T$7^^j!~FP(p}AYw(a_e^%$7G0x$yH~nJvkI!fmMR2MV`a z9Y^GLn+K)ggd6hdzaPbWcW#!tTGShBDoY^xM3mo;?VBlI|Dr}Ap zhU9zX`wO&ErX4JJ>s?yb3cj7uXT;0*G7NDJ(A?mBi}wWJooPPqLevf&E|i03ceoIz zn0C5Q9-iIlLX;}hs3(Y2osJ%WO4ggB*xv$$6UuLtkS_b;~I4wLkut{f)mFR|%|Nlsmg5O+jd zg`QJu>|(f-t+@32HTGr15z|1ee zqMhHWBv_5@m{tqyFfedsfObqLyLiG&4Lhb&Ts+?~o$6q|!#T~txJp4grqdn1`(1~V zYjKso66C#hOlP{Z@@)dAWsb3y0bRqxb*3JTFEVFvl7jr4!M5U~OvR*{NJt|KU5A7;vdd5~`izZ~ zUO5}-@HFNaXSk#f9fRSL{tBCZxHQt;lD?nOMsr$PGan%s&a-Jo2!<Kib;EgJC`??s zy^cw;d=)~p#MA&MqD%wHP)DY@I3Qp z8=v|*^fStZ>eZHNxn%VwM1%v_dp ze=w2lSOmmGvm*&uks=`HrM(4a_@RKKQO%+Pl71*)g$Nk>OBEvE^+-tpD@4E>5Tbz8 z{>cJjP)Y=xVFiT1p@5^0O+avXBmqaK2#Dwr0a2nU0+N0x;AjyrblgUZfFH2}juruL zM2OX$+a8<=L*Fc8U2CD z@q+hGmzH?%vLVjKJj3^6NFYc zxH>_~?-Q05XLw><#DyrsI4i@%G#Mre-q4Iq6uh5wX(_|qHZ)1_hW)!qkYOh3ndTHW zz(6UtAjJONB*^hbU`&mz=2#&Z>E9u3cTf9wlaLEP55kh1B;1B3bCPg-kK=*de#(aE zeB{S2v$ePq+@{vzO2HM{vP!|V-=!w5du@n*-P~ZI3o%E_Bu9&&+vDcl;4gt1<|=S| zHl|Z(u2dm6&Ivx}LR9&o6{`|@$OWmPRZ@cY+Yo)mxxwY&owcG`YRgHs1gkB*bA$D^ zWmk(Fq4B5|yaya6%JCT+qTe|;Sm8pHW4x7PvXdjv+=>C)TucLso0YZ%q5BVCX6h%S z;0D#0AX!;88$#q!{VY5$?ms9t&kUGhmN#&w4dx3aHpx~cwHvp$V4e_0^t)OvXx7O< z%}wo?6V%YrEYop1ks>iXt6J*?wlH)Qdp3AB(9_njoE74QW@WO7{(uvYqJP$g=w8na zR=W^IpJ20eiWR+ItUsC~vwVu+4Ym0c!TX>~OS})+5MA`S0R}K6-Bc7+X>20!vSCjJ z-oMBo*Hko!^MdUzRxV;qab^^G zo~t0!M4C`RPZPYKcWH_D3pT`#L|N<#+i0dkn%*&f`@|}(DxEI4LZv)iaDCCGCay2p z5IZ2g(aexa95$L6uCg(=XG9v!j7X!IA@o9}Iz#A%N@s>NnlD>=?A-W9Gc&2t6hTpi zjg>DQ2WjlVdpvVn7NPG5PNOD zC8OD)I#<~WFv|+-tMe?u8|ukfg7;B}iFm(aL+ttaW^%INt+seiws^hfIa%=TcWF72 z^_UA0??2fPdyl@EaQmdv*ks!PW&^J_li87GG8@HI8k^!`h0SEPP(9!>pPPNj^5owZ}$sEBOs*gF6OHVjV#QRknVjnj@w%az7xxkxhTjmO`P-V;& zTwimkiRB4I@uPS9 zaQx^VQ)A|%)GxrB4t~ER<3l=fq@zVUV9);t*9EwinH}c0_zgoGuYk_C;{kpVT&;sO zQUl63(|iX519m*6&cUhx(_Jp=9jtP%g)yG;vev;$Acu}0ap*+j`SGK(9PEL;30od#I~Y$}&|NM#Y@%uJb@Thrjlh&H zeQ%A&v|7F#F!3;**ieH!_3FMx+RZfEwrkQfRgJWd&`{M#`*;disda0_j67{atixWj z)(YO~7H@4D-de#M>e5=l+wCy1-F?%B*bcmAoiBK2SiJMo@Xi;!p)Q>-c>l#=BHm|g zh;7Mh);i!Vjm-pJT9!KCRn1x#(X4f%S!cOep=PZUs-Z5e6RHOt9a8<44Y9SVW@R6- zUZ}nsBx}=p!4>MydcpOqOHEw=YC~-0`LQcw+TUCNT&dc0f#3@D=K{g?oJ&ny-?kxY z2d_;RN-p0oxm;ux+FVv`x-gZSiskLH0O2-o=8q+oh#N{C5{3-tXBE zHK4DBO9by6i+4#H-X(%JtanR<-xnMv;(gJEs6~A(TnfCUvAMv@TDTN=wH7Xo)WW4w z3+K65VJ%!LR1Z4LlxC6(k?QwthxQS}yhID&+t1v09t|tC0Wy6Y$L^_af2fQ2O_lzv{o>D8X@MxT417b0t5+c?RcVvR|2-S#YkDSXdv<6+Yi_oRQD}XG80S z&$}#z^}^>TT!{JkNf#oYce@bzyvK#e=cinVe16)6n4dmGK7EM!8P>t|!sok=GxGTt z8#+%o+i!7l=T?jfx)3?L&xOd@{Vqh#4!98Mg?0Blp;zrFkltSrV&7~Hntf}G{Vevh zxce=8VPU_k#_-Ech}UAS+Bh@ceWzdurO`YnU-l0+0H61l_1%7hgK=H2_RSg{%mAi+ zl_m#^uAf$X(e={`V_NmyH@UQgsqeno!93k94(92$I2hMYE55A`=J9QFFs^~tc&!db z8VcL)U`(s9HV2EYpZ0Pn&pS-m*LxT$P}80tfob2Y!@<}e(!N=zgCTc=<{@wni4(2DFUlxIB z9$fBV{@p$%A-KB6{w}rd2EYcG&%{&*Z;*ELfD5tReAb27ZXR?Ywws4si0vlS$Qz{H z{0~Y{DX`tVXG5&pWp3VNgHV6iVrdZS;cTS_cqJI_bk9gVoL$raJBQ&*_l(p-J=-AE z|K{kC`ujH2DAd1f(=`h9M_hF`3{#$>vf4Q-Tk|7_E3lyqV4Zj^M`i$>CI6f2!$L(P)z37Zas z|G*jMOS7cQbumdV&xWWQ{Cwd}l1pE;ST;!+4MPl;?ItOs&$$pOgtBiE3i%EvDHPby zX2JP2i*vK!4Eqh61?L!xbF*+A=F4WmS?I73C$@qTUZ|=3t|(iCLTI*C*m54YZ$HsuHm>w z;2Mdm9M>pZ6}U#@8iQ*ru5q|d!ZjY(1Y8qwO~O@)s|r^&uF1Hj;F^kS8m{TMX5gBM z3p@UslX1<)H3!#RT=Q_%;Ht$nA6Ff&dRz-|EyT45*J4~ta4p4k3a(|iPQ|qx*9u%K zajn9&8rNyK*5EoF*BQ9Z#I+XJI$USrIvdwHxX#739@lxeHsET&)rhMJ*G62;xHjS1 zjB5+77F=6#ZNt@yYdfwsTZH2-n59F2QvvuFG&; zf$MKr622S1#&C0^G4;HeAG?&ZZ{ygKzjhe6sv0ZcEYEH19PXEAx3ZFL2wSC2hV7$O z>f~{@PPU4M=_hq^5nhu~XChy0oy78m!&N~&wmI#tO_-sDrZBo>0Sgia6_f>FPvT%* zgG_RYgJucC->lV16uR)kdBffk{cUK>8WcjrM|tM7@-#=4}r3$95^JP$zAdvg&WkYP*!x@d$B_ zLL17eIoO0LElk%Y=|Y{@(_}fi~0*7Ib3{rfZjUp@wRgbezzn&zNqo4bd|j zj>SPRf9RR+0Ck<6y907<4vHK+2RN8|hhPrt*$%;cg2P43Lu`ot-B2t6qFlW&ADgqC z%MG`PBcAgGPnZYi3m(3g&}YPhGLuk;#0;hGkeI{VGsaBVP^ZKUQ#~(750BqQj7lw(yK&|=^Z9_V zv#`r?I1@bmm;J%rpcwWC!woC3$*F}kvN1{DV2^{bA!&bbuY>t_byqo9|CIZv`$F&aT>0akxp6>MyHpAh&!NC|$@qNU>d|&NG2O|yTO_*ev{{lR?>=KF)UI+*Yx{lVKD%=ZUxcQD@{{J4Yp{@@)B=KF(pI+*Vd z-sNDvKllj;^Zmh3I+*Vd-tAz%KX^|Brg{1)2lM^GPe)+dA7uT*B2ZiZcT0_*TiFuj}G3FW@Vw=VKNf#oY zr@Ihio?%05$z>+Qa-I%wKl}|?XlbbWu#KD%3D z?r_f-^L!hk_A4{tvwI|FhkM4Doi;?Bh!uP;L_WJ*h%tBC5H+QL_G!U+fqTZ7yAYxu z(2X8hYb@Qi9}9$jzRKwTt&VnD+w?IGFbXKI33at9Ign2u$tv zXC2JbebB)?-G>~^`vISGFve4S4?CE*(VurP?+1Lr!90IobTID+e96H)jW0Wxr}0Px zrhdSq4(9!UuQ-_Z10HiQ?+5&ogLyyTaR>8$z&|^f_XD1AFz*L^)xo?U@HGeXe!$lq z%=-aPI+*tZz7c_G`99@f-Vb;>0#iSL^{>o?b$q|n_zP`~-!Gc(A{%0@#F|VOVk^4X zh1fPOu_4w~|Li`&d8vEGn3vfQYjBwfpWQDpFL%!v^9mbcy+-fUg-Ct33o+)EHpJTQ zpM6Gf?s3l;bFU4t4Pbef3lZm4F2tBu+YnoZfA(3yd5wF-5jQAUOBAXN-BP4YAE)J%|et=WQ;;n77*yTe5%lCBgY|_lz;`upzc@ zyz6u!;=I#^81pV0VypMh9ub_MaL*X?lQu+MP=<}<)xJI|F&9In&?|UU>ipgI88rmn zZn_Yu`w(${%08ps!23)WVoV=m%>DKmwF%x?x)5Xf5M$nFpHau)4Wv18*^dZLlqJ2g^hc`bi#F#$Bm|wQfsQoYt+l3g@hZyrw`;0mf?|NK_F@1De>mVg&5O^81r#F`@i%9xK2WuY1X1Lsn&2NU= z2XljK-~=27e>}LE|HCbDx%ugQjO*b|2E3nP7}@iCuqJPbOT4dk!K&L&_APOJj1J+q z1AvgLoG*;^I%B3y9jklh=EG0zB|A!x!rOSKlv0=XNseTfr%9-K(WXh%7v|Ji9|AW`|Whe!{cv>a&QfqrIa*5b4-PMz_ z{Z%kfu*^2U#^Ioere&`^&^odp6IvT%I z5@YlblC&~P_Kpsox6RCTh?_gRTCh7d_MYZ0*xUs#kh_R{lu7<|eW}A#_=2ow%mz}KJJCp`@+HT|C+qxU}5q8+_ zXx`LH&PY$$Xufa<0Jdozpy9OR#4zy zCVunN_h^+1{ON7f5^|zOkIU5GpUkChxI& zEP|Z^Z;9&$XUXp>nRy+DW#C?Q`pf6El0;X5FMmhl%inT*`MU&P?EPg_4x8v zC<49+Up`-qFMk)vdMq68f-l2$_>vxfNpC5>4D(kv9;}ggbKx-tcs?6nKCi`>>8Ik$ zc!cwJ4!)#64_`h%8DIWR!tc91z5&8B@nv`xzWkkxFMl~hlE35e<(?oD@FiXT zk`51YBb?{jldnm#UOgAZQ6=fBWyN(4n)Wb>moN$W9garBbR+QP?;3mq+))nV=SKX* zHwa(;j>VV1$K%WA{3U&k+A;k}_!2%4UvApZz3Ca|FXQ#cm+`o_K7Wg4yGqV-l)q^0j~ObK@TKIdjTG#jI0sHO(6-@YR5A z!OmY@NHLW~CFZU^o*A{H@m z{w0qa!2Fx%FpmYlJZ|6w{5}f6MKfc(F8Fa7?0zM3*@q!<=ppAzPG|-`KZMIYz zo4a=L*oZ1I<QjmEB)~iGs zfAkTjRi2G_@B^DWW))Q>Ccp#4Nysg24P9{dns5MLdl!x`K^;ug;y{wlE}XAi)ZS54 zjhJ-He3O8q*4eUAH%!1Th?|=eRTHLGCWb)^qwoAaca151%9-NhJY`NjW#GQ&7=Zy_%;`|J!n=`rDmuN zrqBl6lbG7{vSnv$E3%UVPlH$lxq+~u*?A=77&#I3>h(%G!-ZgYRDA%&4lYOq|v%>U(9~vIKlU`TXMuo_`#{^N%BVKJ1pMNAR#0 zt)}jOe*_O!5J1-wTX`XLBR&k%+HRL4b~H?btw-``m}XFq#`C)*=So_x5i-E1bm>SJrySqIS?|R%Q?d~XT>9Dz}~ z#HVSwOS{6ZcXYYKy5~>h4RJ80)tzrnbg*}>=nizH=TL!>7kq+uZ)SZN7J=>G!#At^ z{J?w$o#^DlZo2I1mTzu&<8N{VPs*`2*$=zP2Ms+MhHD@=X7ma$FTq{h3`I@2O)v+h z0c$%Z%f_%r+~#&0*ee*2Yq-trjDq>WZCJLGcBD*>c}ey$;Kn=%{USbc?3WmDDU#Rw7{Y zsk!O?ZNgqLGG<%Q2qc;)U$&Q*L|}_&?>dtClISUn=23tCSdMPt@hv~WPWL!Z6Hp%S z@~U|aUtMLx(Z1KsH-KE9=E^h1CcivwS-1fRs4di{P~N^C3q;lR8BZl1Sw zuo$~Lt}*pE1cBSo);?oX+RKB z9`M){0TCA>QMQ&vHUZa|*aGev4Kbr;vbe=8&SVnf&v7QGFVQ#}oiT|E$xn?Y(Zpo3 zkio;!1sPhE6jIq)3UqX_q96yz$Q4rTB^pK`TJnC+K^n0yFmX_f1^X4qJ=hqJ}s>$l2b(ne%PIwqQ%3?{W2m{MsIT zQ$njTic2AMm!+T|q!b^@7oV{qOywpMG%&Konq=}>~m!;$0IFcc2Osc68r`!Wm4i=}+0`E`~hOb1f z9MOuU^PC-hW0KY01WZ2%xr=efLqn40SJJaM;}jg28Y+q^k=h_0WC}XS%NZk_$ZQ#H z8sR>R9EL*anekfLRkpJE@?;aP>u~@LwFN7=Hmqc+%qCN>m0ZoT)Z|sN(prbqTEX?G zU`d8AR&eb>RB&xK6-g*7EGk7aqd7CN+dZ!p~4~X$L;>UP< z;6d;+)xT@29=u+n z>WMCow~s2$+XIESS=r?6fid0&KZcbo0(hYEHX^Ys#dv$5<88!^@%EsD;BDaTrh*H3 z8<o^vB2wLhl&5L%!s^ZEX{yOV!qZffh#RYJtTXqRpMkf_>IRkqekM#z@q_2*L5`mX zS$;0F)eZhG!OujOSKY0}`FW7=v#;Q&9ReQAt6;H129ci!74S2c#o>z?vN~xhg+gw$ zs5{VRvaOLC5j$w0!mt>Yr7cerF4?y{w2!ob;{9PT`ch8~MbO<%0~PiMP|iXfN`DyS z`okdGA8K6#mFf>fm)AgpiuVVAZGT9a71$3E;A}?h?6Mff!W2DGP0{nw9XRVSBME0j z6-MfLoaxtMW^rR@dd`+@7jduTx!bmEN^^@1A)C_e>6uu(8y{9Zg&KYC@q|tGvfX%M zFH4#uEXE;_{F@cy$pBl7*$nRc1!h_O%*1eyKWqB+HzNzMjpbI`QCXdDN^-ubawd3t z2<9_pf*)rlUNSK!OYFOY(RY7kDM|@N{T)TAzY;|iIOS4XrAk_5kfjKF(+@+dR7`@M}I4k?2InL@1`fuEaGib@x%?Jy1 zM|#OmV9&sX7bfC{H<8_QWx1xtM`V(72$*gk{ETq+t__LEc>Lsg{T7K3_rL&6l**-$ zNZ-^zxDJ2GwnIdED><}^A9v(b3ps2~k`tA*B&Rkcr#4p`A*T+B`Z{u0Xjq3$L*oS%Nxd|Sw=mHmx+La)w_;It(3V-Cs1%sCQ7?leC^Q8Z;0Qa<5QRwImO z`|9k-kx&6Yh6D&x)=SC;(0u}j{eNUF&utFRe z?1E(3=*h~%6h~_j7-YVS7t%*hPs8(8iH>$K(x>^sqDNbY<|{M3?_f)@nxyr@eaSwa&cdYu`ze+{!l#6J z9qkl8CGix_w()GJ*WGMe8hz(=H`|s*-+A55w!sIX`I+>hG!$Jl_iDuQx!2&y=U$7a zaHcSg{uRx=9#7$1UK*Cj&!oquvB!nGgL?}u_7Fd_$GyuKAuhfk^QH;z4QKX-I*Di= zdLn~!_tct3B$+xCC3p*6$L=OL;Gkb^+i~1{be|+il!@q-S9R_LCQ-ck-yENE< zslcKp41^uZ%-&Em!Y@GX5)?s4h@-61f`xrxTG5$3qU+1q#Tk*gz466uY933b)lGA1 zC@w#@H#8>cS*)(;9O*7OKofQN)GP)cl{UV$d9H#vOGv46pdEu-e_}FUM&Tny6aG3TB zM9yW073~+pV*LW~QRz!Cb#mWw&UiN;M85#;F8c*AIUbNo$BZ{&_&St+G0gRgVYXjP zw3Uy3Qlj#SuApDE7w;Ftq+hVQ*)N90`UQ9~V$86brC%TtOH-_0AcpjdDYjn>(|*B8 zyZnAZSQq^QDP#Sj`5^iQ=qn&*BZj$tG0cuJr@5vn)h~#q zplOB`?-u|^`UNc|Kch&O!#bmgez7&2Q3M}{{i5tC^owTg7l@pL7t><;qB+(t5FeF( z)3^RO>aue=qu6o~{Q|hV>=(ckuXOYa!tiw{{i50Ri)Py|GPd&3PfGL)qARHU3B~(G zv-FE_PO&-GFTjhje$lM`0+CpnV*LU!*e^`h_KRli7o361?-zu1(JzoP)-PHPqF;dS zF8c+jbmWBnf-n^7VERR~>le+oU(9n&Q>tGOO+nK%7w;DUNBRXv3w}0|eyyq4IilqF zCF~EdT=8kq{(wliEZ(xq>+4kPEz%#7=Ps}fg;_Ex_UQB>8my@jik+~M4fO@$iZ#@5 z;O?pI1-iTJOQ15|Q0Pm9;p@6Tpx%g{f~Z_yt)^Tt`I7tJ(l zK#u@-@57(YXo8!qaLb+ZW7tz;!QGhA9E#?Q&S;JR^X)SOkp*WoM+gH_UA@-lH%Npn zHk{F9qLMS3Z~%=Vnv%nD?!P&5IHS4G=#1uwn5^aNagLnmjOGZ`_&zh(krSWM#73Bq zoRTw|BSdPE9L~qRYK|9jdgCc!=OsBi`3n%uIHM59&$__J0cKCaS(j0$Nk8i{3iat{ zT}GkW{H)6;RGXi58RaU3Gkt!ZWi)b!-Q0LZ26po=znoD!0kgEWojT9{eg^&v)J{O; zTz0g{w-Y$eG8(v%!#g_9g80z&pSu0_+mCH|0Zldr728u?58PeqdSHqx66kuu@O3D< zeza5!=UGNuUBAP2C+PkXx}N9?6v}ARQf!M4wpK-qGen9!ae~!v_~C2zXbK(Le>5E0 zqv~u^n0Gj|AEQly$hqv8qD?U-))a`3rug?~o_S{DKX7P&)Il@_aCg}hz*Nu_gn_U_ zX^JtfDaP2QxY#xYnx;fk5M4o2j49p}*a;M?{Ag2fUfYi*`F0(e;)PLXx;e}G)3z{GzD;X*%ZK3&=iD$utRBzqg+!Q zWt-wM+Z1S;5=}vL1x;~O@utAWl}J+{Qsjxt34Q>>LoxgS22~a|f#IiBn*fn=SisL0 zOdP;qz(VWzJDoy59gWFqKg?=ZU*Q0Tu#(pC7lQI`m)iqzMZNA;M`OustnvduTnyG-0+KBOCiyBhOY5B{)?OwtX3 zBQ@s7CC`h4@7Nj{j~Y4Bq`~Gix5lGJ@N&VF&t=%K<3Yy|gsJ0NEciq^Cl^WoV4k+Q zv?CWTgKIABn#*msXNa#|TJssi75QO87?z+n6#YXLVg?#(`f?gH`iXonkHNmhvj&p6 z3fU1svbpfwoEQo8EZk%i?vJwD1842P0cTja$tc`Au5go4UGKQU@pO=PT;V381>bRn zn+zh}v4yL~i1Rffj-i!1hn65q9z&U3m33r9^w*(V2K zrB6j3lY@|>rXr8YLC8^4QH7qPrlQh4M@>bgPY%dYY+&vL_=EYLP|{n@4%>+?%|CLB z^2%{YF&eA?;Rn1!Ug1$=QC{H&fV^o1kQpHm;qFHgf!mH+aWJL}>L9!w{oPf&oTY@U_EGig<8EEHx@D9*k}q<_+91tis@Z zW~OEYk z#^Xdz!U(_7WPqTT?0n(L^tv-=rh~0wO-j634u%`M`zPyQ-s8a>2W#t02UU`Gu7eqq zwrS_ZV7l96zJskoJjHvWgE6hrcanom0ZexeEpRZ#TO)W+j=>bi!Xhy2@3D2@>01mT z6z&{K+ubmyI2h^E{FXQv)9TKlQypxPi?`IleA?3->@#g?yQ}AP2fJfu+P=SihJ(F* zc~}Q$IvDfQokPnU>{^HSgAPXeG~QVb# zltX1r#srW#N87H*a}IZ+$D9CuONw9ETdbWr97_kIitN;_TR6Eac#z|Ru+=PY~{;Od(_EAYE4JPWvbeJ96yuj+Fo)_Bm({yhhB zw;`gKpoiE63Eo>a2En+iGO08iQJad~4BcWZqp4bSSAasoH8VP}^*U>cN+D*Z!92N8 zKh#-MRMhxjI_wTV3>H!2gSllV{4iKVjSsFuu-92rRF-J)78Iif!Jz^U@Z5M{nY4=R z{Y>N%kch`7`etdrrH0g+^6VPimE7elRnTZ8(lBhk4yz%VrOA;@;mE`}P?f$mh_XCH z$$3^qIWBn!D9cSgN?7WOvd+~}YlbLOAxaJz{s$;==4Dy?=3!NYnTwca=4@b^Dc)T+ z4HR{IoiZ82_eSW7=QdG|#%xB;V|wtWh@4E4omg3s7>Y4@$@fay@jgj*B8i|41WzrN z%NEHKClU66h(;X8l1;3_nl%45B(pe4<41^*gzaz<>`0!8)76JIWru_LwCBcPYM-rjFpqbggE6hzlssKXY4$ed z1_xt2wJFbw!4${FBCt&{n3ipG45n$fI2h?u*jB(Q>~8eXraa%lyiG}u3>wd;-R@xC zrrhCR-ln|3!Msg*p@T6$wG}UNFmF>{>|m@HjdzKIF|FE^mpYiYDLJ6=WmB8-vKUNl z%8xjh+LWB$!g)Q0aerVt2uu)6_f5@U9-|DRqSD{$%Tg7IN(e>MGP`BcBu!r~>0fv0 z%fs~LK0R;a>F2ogIM5vU_q+6|Fn!9W=WRUwT$jE=(!cA{SA^*+e0tu-)6aA1D{GLNH+45KV^t_FypYPIFN%|vP`l>K}l~2#xc={8Oo@bh@lKQ_4dFWpiW}SND zmJQtfhwTE`M_>)#RUX@mT z(CGE4-p08ZwKiGPt3FJ-^j04>8mABSHl7|upG^MW0{rX^CZkU&`;>wy%-6Qb@vSy* z%o`n;Z2HwiMSm6#HsEPBT7#Yvo=_p z+iYt*U=d#swg#ME8pGDm+jwoxZkZsO3THJ*YpihTZEK``Yv^q}{amDHYg`m-jf-Nf0a~Or zHo8hF(i+I1yVgJ%dsZo0sFTelwl%(L5hH`b)&Q;DBkpl)OqjqCD@OzHH=EQk>Iw`( zvly>-2J{$1CstUP#_Y=!e4P$BLNK>x%c-|yGrnt*mQPLdf}p_>G=z1EjTSZJH2$? z?DVkV!|^lC``kH1zeKY;!Wsb>6-DXvoB1!r(D9Pexi04Q0o&ToysvA3GX7bP%sXpvu;7DvyKxoZ55Hr$VwF#j4<1E)E4 zT}Q``VIe(d#&?s@B}hkMT&d(&wn|FB{3 z31=PG|Hk#>kNy0mpBZz{No!Ai^R&&m%hsm8^1{njV{srk~n%ag55XWg5*v+=t1H~dTO-CzIOCx`v+Ll5nH z;*?L{xbPE~Kh*KZT^l>U^Ut?DyKc-&%U{^@%KdkA{JQzPv-dn*|Ln`Df8IOlTj%t8 z{K>n1Fz<_xZQ1$Cy00he|K|MQZ_W?2#~!|Kb$&1#GJ$^y9PWQ+qJM2_*Ed(ZHeF@W zQ`nuy1C9ginB@0r`R;@7^{=0X?@DoQKnh<<(2__v=LdTl9&^uxza-8HG@RPph%*Fz zE`ueqsm`Y_hoQA65>A6*zBoV7_|!-(b>&!G&}aJ2njeW@1!)(>C(aSXS%Su=bAuAk7-UZ7;QNH#mx_VINh{`;i2;c>Lep@E|lnfE36zIxdOkK zfYIa`EKU(tnT%a1q2)H%EMpL0t0W%k%Et4@_LK?iM8xyQ_Rta=Y+d4I5JDW#qks`F zY?0tRfzg;9EQ=1SpbpT6h)3-(*dF;~EM96}jR$i(z?MtIs}UHFw(BpKr3$-uR|w+~j|$_)tfhhjFN0dxoi6Q=7)JLo|V0(bf54mGY+^z_X)&U_6|q?v{8EGJ^>hw#n=<~3C{*BXC+EqBQ&TZg;#)= zwV{p_u1DPzbELqOw1_n&T`GK3TqaGA)$Q1utzQxHlQAvi2JxX)T#^W(cih>oU`Z+cxuE|A-lfm zT%i_R+CRrdom$4h6F;LeaFB=1Ti8SZ!DxdUT<{bL=C)b{>n4I)@Kl(3rUW-?aDz?V z%LUJq;9eTsn0o}6>p*F*U?;Ybc_$COgPEvb4b^S6eJtIS)s!NmGAZm~2L|i!W1hXu6(IM>-0Vgvw3I$4Q{`7J>+SF+pk>@4c}n*Yx6EJ(3~rz^nQ;B~CE?CUX?Meha1<&P|^NubSJ}ZMk5hb7r}ATL=8PZ-diG zxGkmU$?OH&bj&_9a`=6m8lEGp%*!f;Bts*~UOs~NmQ6!&A5+)MG_`X#NuqNBG;O9< zZ=ql_RiRswR?HK15)IlS+6Q=e( zK!e$fZ7`1|AusvQ2H?g{A!4k{^};@=F-P)^F0^qh8dw4E+N0k8$BczMDspA?#SQks zMH81(R%G6O2PP6nz&6LPItU@->a*~I(4fyL!e^#hr0asSki&`Sf?N})u~OJwXm~}t zOQUv|#v-MHi`rcur;f2Zr$FPu zF?Od78V`=Kdt)BE_cFc7?#wjG?r4TcF5-fd?EV*E4CG<&&9_O=d! z@T}}^+fryCyOaMS><-RAZXvtV4liVPI?j!qzB<#-RgDAVB8Di1U zlw|k60AnBz%kF4?;PC7YoMd-!s<69tJB4RuciWai1KFMY7h!jB267A8okPq*c1JtJ z*uA&1d+#Fb-ka>+TiBh!DcpC*?wA|^1xb^2B3IZQj`4CdwOV=?VfVbie0GO3qoV8% z_7+t0EUG@r?xeREyAysG*&WpgYQj$?Y@Zmr(}P<)IL7Ye$9Qmz-KnYL!7+9Rd*=nm z*qzH}KD7a9!tMk|*&WRgi-x8oyZ;3k19@0>NAm-RXLsNvyMt4O-7#5bf0f;BTM7+i zck*9^-Rb7avpZ)`3fUd)5My`Pq_q9}6k+#1WcNP8?hH=hzB_jBW7&Oy6S>0feL{Bc zQ-s~~0`u9uPYHGhd!w*Pv)H1-Sb)-<^cG`x!Ve?6qZ%X3Qi+8&d9gJ#ulwY&d*8Tp z?}N0SBbhqJ?tSvuy>DE)_sL`TzH#Xe_KsvugIU`wlRusb*dxly`v5YCCg{=rFN$v5H&lhinI z-2_ee#LJ@zxbbDUe50ZH8#gEQDadA=Vo3PpSoygJYw zi1cjpq&ZXaBR7hOBY1DwF$l&TdT6V@7lE0m5QVd}8_fcOhXHeRq<4gH3l5XB8DqkO z+MF5FR5${dhd&dO-= zN)}h{!_FEyi99km(i~~hL7M#u^JgjS?)U&|V5pthnV-RY7ev7@PUTf}icqXFEqKW% zBaJF-6Pw6>IL{*f%1mzBgve&_(T+(xt zh^i=iYg<~BkfR5O^36dr@pAJ*Q0AUp=8KMb+~BC;Pr-{KltD;(+m8MDvfUnTNtLkOmJ(Zt~g z{uQx(880m3xW*jcsVs+JlaKnH;hZu(ic%}RWh)GZ1ZNGJ4Ce4TjB0`q&7V`w3(U7G zn~ZAn_$=;dpi&MD$wSr$`b5b)stS0kI2kz;ktx-^K?5m#pp|rq5sF`NT!vpUT<}{V z1`ga(iXl_3laL?g;M-1X zZa|Tm%L~k}xdA0=j=mv5yZaz()|@8~HHRW-%^@&WbC~dB&9Njj^{jhN{A$g?#ixbG zY7V4CYL4r%#d(f?4x=?USZi(|tf`VUM{kI%xp!^Np(a^#AXIA(lQIQ7mlv2{a|27% z9A`VDHHWNObDliZ9EzYdr;|aR=fJS6IhKSqXPrOdS8EOqBrQBvb0Edm9Q!p_twZCP zPij0T(O)xoqI7_r`mV0#(ofVFHJjmEtrOL{42L|`nJi4coSL#R|G=6DWeWDFx;)BD zsdRayO68F%od@Mt($u;VMj;YZFRIe_=F5S+`-27TqY#gU4$QG)U$?o+%^>3s$7 zvEPC4O5WpT)nrUz(YWOHj)h1v1$SjJ6BQ;pO;k8#?<_FM35=TLbl4U(=V783rnM${ zVcJw)+J?fk)+8@XTalNxu`sPQ$qUm~=B1S(2&4J(T9Z7QmfISJKuqIsVcc;{$n7vA zB4+uKsLAGFk(e;O5gIkinTDq;{rzyBt~4fWTKv9^kTzWR<9w|r&4cFXZ{S6OV528tP!HKx0BS_6&0{AhMf`njOrauGHdS zZJh=~2yTKJ?qE!dHCMoRBDUfsOgDJ(9B74kyrUe<mzh zZt&tksvd`KzT)YeKCRNnlOTQCRYLR80()Qdey4paAC(q~r)kH>V2Y#N!MLePH+a!6 zo2NxLc=7B%h4~F$Jkw8MeuEcZb5NMy;Kk$d6y`U0@ihpA`3+t?|4m_}MQP@177Ftl zym%U$!u$p=9;>FXJ6&3ykLF=oS0^|a(<+YX4yJrS5u65WgfrID5bfSr$JUldxI%J!x889?m4p&!ePCNOwpq z%P5zJGYRwaC}|QlOW#VGR+on}3G?$PX%fh zX6;5RF6l{)rfeX!p>}%IwWlu}x`(5lrK-1%K8!^anJmaoB>^x5lAO zDaIjF(l~6vcRW~(LmwPB4pILhUQHc04sm)`JlGkBZ7+aoI1Tr~X9G7Yk)O^R+h*`c z;{=UE;HI@l;}FF2R*XYX%6l;m;SGrQVjQ+~VH{HRt8qvtE<0PV#bYIP*id$l@J#7sB`Hc|veI0rT|rdCHvC+5Me?2aRalQ*#cL@W?pTIjD93~n*(bF5%vT*250X#ab?PX85LCsnn#;rK_53_a>UH|Rpf1d~Je*$7&!ePXr(+7{k#%`Ey`G;( zNxgoQ)$8+I9!{_4=TTCxA0;9oX%^T#&>f4{=||D(Me3A-U=yigr*IV&dV$uh`A@Wj+US~>bW_rem&IzHBsCs>H zT(6`4sD?%5Q=bjopvU`p>UB`+^g5hmIK7V3 zoOxd`>BFfWx|fJ*WN3G4w-GUoY_&OoQH@NO5b?C4&EsjUHZM#Y*XD3{RfyMW^TM=o zZ9ZJJc^t3R=7nkF+I+Zb^LSdT&7*0l&BubRyf){=LUaWdUK*gye`K{ey+;&kb51-A z3tmMWc8sIZ6)q3{1eKvrNgOlrnhPs4R|G$HPvv;}iF-=n>8I|g0#C2Ir%F7%;hw7S z6zcY)g`21XIg%eA@coK#ohuvxw&iJx@v12pwWOxtRF#eZ+wwF8R3de|PYq2045}&G z@-zh!Q&SKTH3a-m*k9EYZQy8y$23Ko(-bTiXKacW3IkZwoda-Bq8pVB_OP%lKHqIPFxtU?@neU=y`q z?eI}ivS975V02#*Ef{EL!F*~I3>dUv?Rf=5Vit^uSP=Nwu)kWccB2Kuo128sv`dHW zu3%()&YgMPKEXtF`vi0;>cgd0SHOQpsD~z+sBYg43X13Gu3QO6v9rR=2Nkc{tskpGQgEKEdktH7*aQ+w=1%soN)jU09ZNHV<^i z;&r;Sv~Hgu?8DaMET`A)AVPHeMw>U-nAzn=#*X6FI*Fn5cfHLrUoOam92yfl=K)325VKMYqS(THRil zHm=*@BB>Cs)$N68nq2+4zwG3kMbO=G7Ul(jAK`SHnk(j-rMt6fq2rs*<7~i-;wQ zeyl6{v3W&D=~#518bt>NE&8!}MMq*5orqX;&}o0Q=*QZk9~)Pp$Ht1zC7;&BJSloT zh!2Z?Jqpdj(`^q5pLrC8=To%RQPi;L2sd!vB1PwMT_uY?)fIheUeQrH7Tu>t(SbpW zJ~glCNX()W5sMC2L-tpT4m#~~tktK+iq4fSZ#^7`qWhVFOIO(cMv%}@#tcUzON?H%cNe54wi(MYhddSbCr1fx|hy|Qz>+*2cLw+75 ztq1yBqUP^(c{uAKKaY~u!*L>ll4iHf16?|_9^!diRoZ$uPS}Um1J@wE^?(e-dbq~s zjrKc4>j7S$A~OSM_fW}03|7Itlvoc0(|Vwjs1nx0G_<}o51#y(q!jCcDXIUb;oAn+ z=OkFH2Ok`_9_UF5R*MggTMyIJdho%a_0YNQTgV)Cn@@cHP(^~7H zFm2p=n55Q2Jgv1J3e(1|he>KZ#M4^qp)hUSdYGivLp-gu9-?U}Q;#=M>w!z=QR@Ld zz+gQrvDO3pdKIxAxTNl_hw11F-g=mh^xk@yE+Q#(&^BF!OE}LzJ!U;jk691XL8D(j zpDz5f4+lFRJIt7kiAzm+P#!!Y+es#xOU)1EkIz$KXJ3=|%-H`8&vaopH-cnP0>8;X zH=xXLuvM_G60-SXrh`HI+YKmmq@-#629&IW`3)$u9gJypGs2u0>^#9i_b-~C$2-r# zJYG6M(Rh9X%83rfc$(iy4t5`4x&dW@gAvDlf_I^VdHNPP7}Ktjc#9F-Xn1;(F&Vo7 zWr@IG4dE0cB$0Th#$bwLse}0qD5pD^cZqO@gB>`Kws_BUu)BALuw@QL*9nUEgAV3h zF`VUK^(J(?u-w7!LVlX|Lk@QDt`K&%gVDu;o-lNdgWV}O#!YzC5)EZ7WJuo-y;1MMuBPmO{BgBEN?Ucr!<1tTIB zY=$k^3|p`nwqP^j1)C8o7<+T^f}tR>f@QT}GtJD>1)J##HZ!kapq&NtsZlUs(1Oj( zD;N^9U_``%!C{;I)fSs+3pO)eu$iu4v`r|Iyk$AdL@mo%B9P&e*;*=DZ&_wd)Uvz* z6qK+m=`D`d*v&2vXIbXwQPQ%UCBi>xZgF`y%Q8QYl9uHxYgyjr@^F@AejX()%URa4 z{Itu%S(f>El(Z~oiF!(!J8T~4j-h24&*Qq%mgOvAAGRKqhqo+|fmoLJ*u2qxhiF-5 zP1LePyN3oK#7Y%-Ml4H$X<6bO{26X+b-OR%Q4G6dfvht8k8plh7)hBZ48c3gHP5 zF~i*-aMFjT@C~Rr((O2>#BM{o2@b3A;smYQx#%|PPdf#Ra4zsEPkwdRJDC8_W`ZAg20%cORA92e$@6VENI1|au#GAv(YzK0~Db+J(;XMrO`dNYCrb@VR z+~j({{39XZ+|c7AhBl-T*rP4UFe?{%iS6!!8Ed$pC< z`Pjq$c;@3~2FqUIv7-ZUd`0a1<|-_)^PAi7iJjl;Oid~5sStZj3GC7CPVAK)JGvZ4 zbi~eYuKN-@zX!`VUhc*HI#XK;J6=ZCny)Q^Jt|Fzy~<<9@R4IkV&^wknu(p?eAR$u z=l43i30$Jx@%EfzuPcJRnb<7X?LWUSYJMKD2vGAVF@fD=E;`6%!ooE3JI&85 zL(em0;nUnx((DX=iKi4~HN>Lx^gKU<6WAdp$C~UslkDtQX->CCtb;%0Rq*LeIImR# zXACu7A~73y#S=>&N2g0R<%gCH4AodRsYA=AA}^bYL(9f{!PY`m9(*>ZvbD?@SE#_8 z30-o$$)Ztnd z>j|>`d|~gDc@B3;vkTW(orzO*;9-;fpb=*PB4*DN_RWDl)Ms5&qRsRhZI{q(FY z+jpdAuG|ji0{EXXt2Mo8<;Cfh8#ivbsACO551KGY_Ks;rbU>5HZ>&y*+olAlGdk>*gdEPi}HXg(gA#nG&$mC%ga;|-3o zQ7r?SMYRQNO-8Z3TZB-xJYwFCZFcG z76Su#nspLXXvQsyL%g!Gib+7;%ML0mC-Po)Nn_g(@8xwmYzXE(H63W~#rsg-71CTv z-I3?)%Axzf00%x~V18Fq>sCXrVhtJJ*d>N<>;cF3VEH~vzSo0Mi&$Fl z1I+_UHzPC@su7la4(CKUK#9m@!>8mNG9r$vI6lhIx&2Ox2W#LN!KOk@}cBn%EzCCt2V(}jyOYH!$+7A$6)ilmY zkeg0NE4+;=XvRTYfi>j!pHHod446PY$TPtW!gOZ<-v)CA8j;D*u*o0gIbOit=i;Zo zx8mOafOC>F@NWE?$IXLWF_6-m}MC355jaZ1Qk~9@;nEZ({r#L zV7HIvuDUZJCf;^`<$=m)u1+?XNmiCF6NJ|Y!Wl#$2=`lr80;Q6%Jge0;y~Cs0nU;} z`s)}ubnf_L;WM?_q`UDMjCl0Mu`EVir3fOfk~WxQENveY+O8Gan&Gh^VUB`Wn)sfc zKyxDGdYz6%LAFeWId|0*Fdu{lX^>pcg7j{{fe@_JfjCT$#(4O_ikhCQNbugW1_a{{ z`k~w`_}2qfIZdIyjWrEZ$We<-p~33r)CbE^i#}N06Z>E}YS9PNehEKSz%H+;`d}U@ z8Gfovho_dlr4c(493Z%gTV9bmTw0I;Hs|p4$pz_a zf?wDs;ZpQ9GT+BAE<#@u{HF~&8%P?=ukgg`KN~XAh}`G0^fkdU!1v*_$QROZaFpwn8y;YCRUeCC>w`HYd2f54WhsNO*bbcSHnr?>E`%=t}sT(68;M0*I>`(NZWHc zRyr7$>%ozUMzhMn3}CASw%WnQ19ptS);L&OXBwS^X*(Q@X>}R?+!#!^F|2hkkC%u1 zDSaOAdIy_={IGo=I5s#K<7s~9IoN%G>9&ZC4n`chWnq(pdHOax7}IKbw>TK%Jtla! zf^Vy({uococ76<|IJP+$w<74d9NQg?wCK4UI~>e!i=fY8#o@O_&?~RP{I&>s%2k-( z7ICqI`E3!GIGEoSajApd>$XLF*ung^h|3&Iw?(k-KN5p!U47KSm{#lMatG6TPMNC> zR#vQigvvDmp34uMFM=pyv+P?Hu~|ap;%%0Qm2y?oN_lh%r#-m5;}&-M!cN6vAZNH@ zol{AHhcJ+;ACi)alA>mVCB@kgVleq9l474MDf*tncX!gVvQkK@{d>l3(c!SzX8e~0TmPA_1=l~}`YNuk;kqB!*Ks|7>;K?- z5Z6EBdI;CQ;QCiw-@vsO*Tc9T!SyJv9IkKT`WCLoa6OLe+qj;<^>4VI#Pt-e@8EhG z*E6{O9oK*0dKTAraeWWh_i;Uk>v>!+;Cd0)K3qS*^+R0$7uQR;UdHtbt{>rg71wLH zevIoUxPFT3bzE=Y`WddD<9ZXkqiz!u3a7 zZ{zweTz|s#XI$^#`fptC;(8C)`?xTQG(3X>)0~Z#74_uckQMzCS$tg%zkU+{6$NiJg3+?i&LybZEA*#xq)8$bb9Je`rJ@uRj^z_Nr!;RcY#_&jYC zW|25_&q}t&K)B)*o~g%S0g0Jb`rEie_t`Cz#UXqL2)ztsEq3Xv!}R4oJ#XXb=eYDW zl76{MUlXP$krqF1%#PvK0R;a>F2xj z^^(5RrLPaubNhj%pSSV!CnEjBI1=Gp)c=*B-(yt7)yOS`SL>~xz;U#97CB72x#Z{z9bwv0cPe6toNE%D#u(wB$$ zd9XRkP5iu#r=RWcrzHJXUHX*P+Y#s{w%+tMo_=0S`*_7)A?f$J^c5j~M}MspC7vGi zPhjU-i+XP`x7e<>)^Lb_qja^i(FbUzLg3rHVRo^j15#vgndIOSW6sfCh0jb}hU3~z z+04Xt^wKg4n|2Nb)=7IljCbwVp*_g~`==B0{^@$}d1C)`ozGkc$)R*}fQ8;Fls+Sr zR>B{uY_B4CZ`n))SMhOI&XGip)%2Q9C`0?VdSZg3HOgC4@s>Vv*eCxn6re0$1=Dm8k9Ik z#X)tKE9YisG_j5R>EXvoeI(5nd&lWL_^;T2TJrW^rvLW{*{FU@1lR%NhIlCDzk}NO@LbSfb8*r zNzesqm@Xx{Hc%t5WS5MhR&h_%I?=P#q6YC@pvF##(x?&GBh;!Xh*}MqPrFj5xtqK*nQRWd}a6I8FeQkQpux}q!82rP*@ufjz?!@Lvy)*5JAW3Qs>M;NE*gJM_c zZCt-W7EdITZ$QVSexBmeTe}P!SA6=Sc9~7Dc3IY?w{{sek@)mQ?J}EQ?Xtx#y|v5W zaM`CXYM0scYL_i{>8)KhAKloMzo=bi)2m&!&Za*f-Bj$_`RL>>eNnq?BJHyCQ2$>0 zmbT97#Z=!YGV>E6K?fSNm57KPg1gdeR;^4hweluL_+Qb=s0mV|B6_c*Mzk`iDan!1 z&H$}!^HJ$tmLNy6RHBu8oDa0J%|`|M0+)|y|W&2E`C#&a=A`BT7%i z5>+DQ?8Py$#1$rrg*BE8tQu*zTy4rcuktp|t1#fnt8L~IE0=b-46IyQZOVNHyp3lt z$7i5|X}8P33Z~U2s9ExG?Ryu)YdxqKaC^6e%s>57FJY7oJ({*P>gZB)xWo}}&qg0C-YP49H zyOmFusC??4Wo)k?W))Da723|op%~_F1=J-_>OEps=}weTm&GI$*Q_a_c33((LkWd| zuy^WhoMFK>WY{(=daLEM+ht%S6ast(MI}_2fl8=bTn1J`eZ)&By^T|VMhr8swv)@i zN~n)`38lC34A2%~1}dQ*a2Z$$^${S!_e4TL8c64U+#*7;3L72m z(;cHj%Ji(!MXXRlUG5~*QacYK83PM_VFFPH~xE(0F9L(>y+3jF{$IX=v#P5wmKPw=8DJ=VE2V#KT(Wm=VXY~)Z3bGI4= zlCEc%Mf_2tbjCCa`!F@iZc7LHrP{o=dX1vDaRCFinbb~=a)s3>x3~phr%fM=sTaB}M^){XX8Zpd3HOd1n1FKPP^%_NQ;~AhW!VFZSJnk~E8s%26 zQS>&R0jhLTJ2eW0UQaX%q_=34=PjZuifI(IPj{UgTA^o+E^2@pWtY<^d`E)~KB!t5 z4`<40gMZCy6upfX7FkW6!rn^BO$pU%Gk|(4zJ(p0E+9{!S$0QW30y69^mJVq8kYSz8`!x|(afSukkYU@< zGwluzmw}Z~U-J@5Z{r!D^}`HQLOtLzuoCKPUP9?@JOeahn1M>D$6W?iLVe9kD7}qm z00|Xlpc3kNmw}Z~U-J@5Z{rz2LQS4R2}LuiClU(MKsxv97SWZ(Box}GyGDnU=^3Mo zSfPZv+DRx(N=t*c)+)>6Y$9#&r@e&I+jwD5Y-w+kS#H{blu*-b1`wBpasoBdT_M1E zJu8G|wUcqApGv6R7Bg}vhPhh_1(xj@X3L|*tP<)Ohq;J^x~h8#g$C~#X3N~ftP<*o zI&H2iirG+CbuXc=JO~?#y@HrkLM^wLkwdZC?p8uwc@Q?#uoCKNFQN1{p21w7 zfl8?7T?SS{J?$lw-o`V)1_JguQlJv*b(evaP)~aarMK}6<}(9IC=SeeBB3A+q;tPz z5uxaXjgI!|u5&}m^o-F(tWZK-Zza^phJ!;9F!jpvkamSMpg`Tx0LJMV4YReHiP;Jm ziy1i-!`!Wa0mtt4X1y?Tb(@+L7`0n?zhjqX~k%-xzm*Y;e% zSVeL}C}1pRP7O4ek7C+ppBZI7(#x2oflkJRlQQ9NwONJN zs`T?KoY&G|68qo9V_TwfKQ^8l&io|rU~b9%uj9VKl%GCT%du!KoYbXc9Rgym5bTd_AM+d8wubmv zDNFztPjtm=0%oa{ZUOG^FH>q0ci;gDCxBYgQ8puuZ>955R1IrLDRh+xhtiyocpM=i zg(HN*O5p0X0$?*`r&3q}2zQ7iKovhHBznWKH0jLn(S8QA?)xB1Rzn~BrBZL0Jt%Sp ze*r3_27d|s@?3vD^N@S~PQ@R8hvARE^ybH3I=|y@1^$u{Mf^?ST4eYld=i^_=(H|r zn()Wp0r=zZK>YD{DE|061AqLTi9i0{k9oZ^GZi&)2g-w&Bo2_~M}l)qGN?ri((kV- zJPlul*Y)gYY6WVkFA9=?r%ZaGPoTY9!%<@RdnDLx0#MZt=YwtDdcltLs*W8Ob#!b_k3A;6a`T$>q+?0z@g+mYrPFiP zZ^H>qo3?D;u`a#k-1OFMTQ+p8-ocZZ6gIMLB=e{OHoHx-e-11Y4B-jucw60)j#Eq{ zwbS32g%@mE)v?VH)F$*`b&Q$e(EE$fYm(-eG~VXYY*J{vM*^HE6v?IyC#P-Rfn2ul zKxtNPTZ09y)$3MnTe+IR)mzqdq{pVWcXXuJUa)>m$Hw)WJGN`~o3;#L^_-i=Pk_T5 zc>Duv3op_}vS(aN&PtF|WzrL*h#mj_?=z^);d}^PV+#Eh;5P&Q;O{8#6@Q0cx+t)``=#G~|KwGRr=KJ6F#@O8LcGT%kWR!2 zKf|&092|_vsf77vImJj{^a1e7hy^3&q({scF>A!)^wH@N3r8#&kxh?Sx=V7{ExF+h zQ}gb7AAR)I-~N0$oqC4%qi}!nh)+DVru~Q0M@Q~YHfw-v9{OGywY?I1bULtq=R|z( z0AvbWVbN1p8ary!h%*au(r|WC@F{CF&tq$H@=>-7Uel3JfO80Oq@QoW83S^RiM?bVO}cvjoe`kIQ}-+JP)d6#9k9C6)@J65lIVAv7ugT8%rbN?M5W^vlPOy?)U>Z$0&J?^$DS zI&I`1HVi)DtmFFMxPJVxpTG1oW9~U=?Wu2`_Ss!$eBooQdwy8^&aM4#e(tK(=Rb4V z+SFG**nIK8GoLtc!ad7JKXl6Dqqeo*`s6<~Us`v0vbE`~doy=7Ubp^+f2qCu>tFli zu-|>?p?y!B^648Fe&X_nI{vt8W9N7N`Icwbjd^ML3wvI<|BjAdH=lR*o~P@deL3~d zdq;iioL-MVdDjo-eetm^J6~D%^<@3@g{wdL#2??-HSKd(UH;6^Pnk0CrfG}rEBoWO zp7=!F6Wc!i;yX*{T>7z>%O5@`Is5qu8;4wVWoG-b&hLG3^O3KA`_CI*>-W3d<*(lH zABlzE8?mk8>^nYx@l4e5{mAma`}NB= zeDdb+{mZWB{`g4cj9dS$>BzcOkDpfk(NE2Oe#)-9Ui@;)=Ds)oWaxs`yI-4hQu3PL zFZ|@5n_s9uWo7o;LvCHV|Aq7FKk$Rodo4^}JO83jypIR`W_~hf*&S6M zI;H;XKaN?n?uToBz4EG`zkbi;Q*Q77!-=zh_MNep*Dv|k6RunS<_|ZYc5gEMlNI&n zj{ebS>b{iu*@i_Qs_yj+0YtOu){1=Ny{O2>{ z&-zf+@BjSJvgiM0+&6yv_HToePM`N^>ePRl{mKv4wmtouZ)e93N+#|fa^IJ(UEkX8 ziI&UH+yBHXv(6s=)O$-`x&F55XU=<~??X?Hd;JS#SD*2nOOD+1cgz3r?z*qu{KSP{ z|I+Yj$2{?a>&~8EciYHIzq#ZO_k6zYd#x`Vf7(CZJiq+P#UD@II{3Lyy}aq~zw+F? z_ortLZ{I7-{Z2^TDwsGhd+?Vqt-+az{c=DdTRaa zr{TL2%fGdfaZ8fYH6hQ;ZGNxE+%w^udiikbj|VIKa~Wj*raJ$OV+D+<_s>*kEq(nn zt&^AP%7YMJHLM*mM}fyA>V+OX0++OLt&yKvln+L4TgI+6Quft~v9ZcvQ>4VB?5{P; zL@Z{4RRW{AtMSGop1$2rT~I5I0opn<*tbF)G;M3~A_PAf1gBxz-#f@r=bwt*7z4(*u^X*1ShDO_(3csPX)IVV#5dwMN#9#xo{u>En2fJ&hv2XX&4A=ZvUVXd2uY=*hOAc`{8K4dt~?*zz$6w zm>@3*b$J}haY)YNQ1HgstSOcHzN&0$JbBR>a~I6#A<(qjpA9MlJ;MpF%VO{{&S6an z)(0$BP;ro0=Y&{$8L-j(Qcg?2*p~oYJUdjmQZdwC4Yh`3*|T zdZfZN4*p9q(3s3WATb}4IccVqBd)HL75-$AcB@+C4MWCEVOUm&lCitDH0qp3 zJ>EgUDLi<&an_bC7!AlCH+gwsR1s{)OaQhau+ED_mlv&0Y&k|=4#ms1W>2tRO5PjH zl8}a*q)V$o_99|~idrAooVlXrh$d*2V zeWwt$rU}@ysLwtjhul*iMESj!@cZvAzxRspJL`m+Vo&e~TPL(9!aDhe)X9B_5!Q)$ z@9Pd0nFq#446iFz5qWvM}(b#e9ywr!a%wA<$5Gw=KNQ$9zm1F;f}u z3H~UUIYSo3%-Lu*GnMl~IT4a7Ioix0kY;|{HuDGanwiRaPw-zh?|zZIzX7)%`VKag z_nzQSHco%U8J}pke-jcEj~zIqsnRTgAbrc0u?Drf$YlE&Id_|9k%MEKDvwhT-VNug z;o>GR+h60%#Cs(6JoukS4quF(TFrveYS4nxR)`jKfE4u4wx9zd1*Np76|qP9v`Tx< zS?mekL2Op>K*WAujzXhe9*83CmCX`NNn0bD66Xlw`M)imL4t>eURFr;(+Y{k9*o#W zCr*U%$-D+5c3WbnX@gebGwqXT>>-GKOYpAbO%^UUp9}_oniSq8!uieS?@+~mvQ>;K zKX8`Gf^;5j?y7jMf_xP(tjXdyI63}2t-lmYk?Q_siRxy>90`JM4QRZwVvYnsw*`Yi zj)qmB(s)MOJ~Pw&6YShGts$?vcRy0lfBF4*tj74_W!#TLlU<7WK;E^O8|8N@?#G!s z#ZXM6LMp|OrD3NV42L<`Dj1Jyd^bCo0Za|M764(*ZkTY%p3g^9LyX26CI3cmA*+1=F@WG z#pBR;lO2rl6b7nnJi^rIKi0wgkzP|BjI^lHPa8&Y_#?fhIoRDe4s4Y$avHIQ!Gp?P z7;@x|H2CKB;C;(CY4FW6=44FNYgouPd}8ZXa&SFh_>(^Ls~y_t~*3`sl!GoOWtC|}9I=5QesVnWCqo=4_zOJ<8D6J(Q2*5TnHbGRduz0Q+4Lde8Hy+Y=QJTgaEGUr(` zK{m-`BOe|zM>sMm2zCcaAq*CWkf{y*nc#C^N3tvhgFkH-&J7^u2&Zu9XFkX7ffjJZTk{P0v7PE1qM*BZx5W z7c*|FZ4oF18jvSIjVIKA3~%FRTzCW#%sxqfnM*I*JD7;)26cOc5XQce{u-BF3|OX5 z`SiSvjxB~b2ExOXde9fZN1vR_c!F-FZaWLPa9S-JO z^xPOsTXe01dA#c!jA^w+Id7*l`xf2cVA`TA+j$P=mFGqWBMw!HJWJDa4epV4vxE7x zTO7=nV=G{)D81r6KL%4A+Z@a*-t7)XTEeq5!~DGBy}-p&#Y_4wbg<}Inqk`LS(+iN z!Qr^Xr6ny|-b)?q-d%*T53E4R`pFPy1^U31h_Qb<2Rtjl(a|S;TO9{3Bh5-lqj%i6 zL77J0p-j8Qad7f59W=E{u=D&HPB#(fZ5AiS=_SuJLFr&b`17HJ*X{XGS#& zP4rBY@cf!ps2-wz&7m%RoC>P4E7W=0bV{Pe7DODU!cyyInNhvf9DzdZqSV|oQ?k?u zjJ{V{5;esPl^_`?+_N&(oPmK)Wnv;mt#5#t4(9VK*i%?O*pK7JO(wdFcN|u~=KPe++IrP40{LgQZC-_p(%*DQ8~|)!!UIP^ZoR0OvKyIuOyGU{d{~7G_s#a^1Ef;odTi3C2&Gyl7VYLl6mtcbfwp(n!VC&Y6>pRw@ zcWg;Bn3yj>m5IL*v90XB-P1IuhruSI)t+sKY}D>tK^cC6e8LeiKfD@R5P zu%?r<1(Q4%6y$lNF>^XLt=!nrMSd$cN`A)3S$hGxJr6akz}}D=GQ92$X>aE;S$CU5 zE<>EU2@U3Z%NxumFKRGvf26@ozyAM^n?s(O{+HhzlE9>;e*U&OZ56OBH7D@!{qX*&I^K%^mv8%^@%K@z2~GvZuj6Q+>@p z!as9D`z6^dqUot39<1`=)v&zgN5Z)^)^6X2pIYrZRfZy z{8Sd%Ou|!J4b0_?ov>huDrJ)h)W02OQeRifrjz()5{(z%OrrTQEz$rl?S*hiiDnTP zC3mH499acpLMKX4KET8rgdScf@nj>6%pqe2H&9m*+$55pA17xtzxy1`9Cw5`GIn^& zO(MhXhLw;$E($8lr{&V$@Vw0=T>Tnu-bV@UGo8U>LLb+qd|Dmeave%xckRsB%_Llr zQW)!5hqqjJQrLk5VLfx5Nnv;I%-Oo1O%4lDiV<`AeycW=`_D`+>Jv@%_SwdblO~yYnV$Va_M4A zhvudmIj}%1d2=Jj54cGlv#o_2IUa$L#_bzFH2>HAy@YZ+f}UOr_{-Qx_6kZxDmhp6 zBQmWGEtfFHW+=B*ylN5>+8a+gm(NuJ`c|hsya7EmFt4GMci56m!&@^;O%}_VvP6a5 z2mICLDR|hyV&l}N%65Zgb_r<0=6ak|H-0KMZg1R(!O;oyxM`z>Zga!wbJ<}sekw`h zu7>)=moZ9X71X0Re+u~bXRPrnVcZ2k!oFw;1EC}gd)b9BNT)o)+LbUHULSx64O{f%mgLI23TSy6cEE`MTwap#2|SQVkjg? z%tMwK5JzILS}Zk#&DnW1Gf|1L0hXAF1;j8~QDPX*rM^6L#W{ zhl^-vIY#ki63V#rNyrA)uqvc1cPXoFN^H)PeCy1QP0FRLN9a$`It-)q`zcn8v^R0> z|8+>6@F|I>D)&@|r)u|9j;9*;l)_Ujp4jubTi^|wdsQs=YQ*xn*Wk(LUW+H6dmWy9 z?)7-`xi^@ffz?SnJ!LnbE?5%E>=#WPXm}V9?j^Y1m=zaio(zKJw`P*4uW^8ej-k!J zJ($7i)tEf$uRRpqG?|M#5NBDAfPQa7+AlD!`6i@}ege#ZlpXlE$!@`L1$|U}Wm~u8 zmpbU2Sy&!R69GI+zyKs17C3oR~c#tV1KswFf$|AQbRGF3|Op9#o0cGLRqE>X3 zt!S;FYE*OzZ%$CuzG=?o=VxOx0hCnDfg`w3n9O0xo*ta(LOhl1i?h4g6t!4G3O^iA z*K1Q?-w|@kYl@VagBW$lKWQGfef3D3fZE3VeccJA0~MBsGc18NWqn>#)*eJt)^^jB zbw!%8j)khu9ZFL+m|viJPeJjyfh%dAv`x7gyn9@Urc@H*ZP`D+Ew%OfnP1xO(;s*B zwnL-oBTqDaUNj8|W4GfgP}ieVXqQ4ah_oZ$Ly;~;-2w$utV{KET?%ny?SKtEJ#Gi! z?Xn$!rJx-M6Rmgf?aWjXp70gEIi%Qlm)mOTd z?<9k@OZ`9gzC5t5s@i*>o8%^GGqto$hcvxy(s@ccw{%F_bfk2mg%;Y_V zudJqg>mmidyJ*VxA_dM_s1p&X-Vh@dsoqwkp7Tvv(Sb-YI}Xrsk?L)7id1joL<$M4 z5NWH{SW!bKhzS?x5U{qbaKQ|U2^Uwmg+bDoJ}O+am0&RC5-zTSQ+XTcz`iO9`g4qmxym0l&60T|$ zF09zd?&#E4eX@kBj|vyavDCSQtB)0~pIG6-x(W){uvpzW;UcUP;X+3TB3ymEaP_gm^|Eiuj)aTZWeZoI+``qz3l|c^gsTr0I;kE*Cx{6bC*#kX z9#*)x2sCIe2t-1-a2*pZ5ZeCul}orPy>KCIqDA@w_pKU($hXrLK`!lti!kBr?F$z_ zrKmAjX@%=ownZRp9S9e*%Mz~2+`?5U!o>=va8-KYs>~9uK`LCsa|>5xmT>XDT4@Rh z7bxX02DwOy#^5VfxUg82!ZkcrcTTtn>qNMaS5{M&y^W^qT)4nxj;4fgp`uQ}7{sN# zR&!Na;d<3KWkD>* z_ICWx+B}F5WfqIEZI=C@)HZ6CD*?7yHci62ET>DXlAL5Jd%F!I@$7~Vo(svSF2b!| zoD-#fZ0u5db+)i$_l4xYYB}Hm%kZ&y4$}W54hqd{;DFU$EY<#|f0r@r*rJ})a87}pP7 z^9A@)*fnbq^6CV>g~(u?Fz=r1#Xj4Xk1H@AlQpgV(34&;Ct<+k28w?89Sl5v0q4p& zK}xr!fn)%Ze|lRr`(i&C(3Krd8+uvo)(=_9CM+w@WLqZXxcY6#F-p}%Teg>DaLz)Vh#XTPy0%m~uJvtM+F@I^m*auC<#?c% zVl@jx%f=mar2=J#{;&9UvPy&R(k6KxNl5yx=4?a|2d;IfmOW(U#RJ$MorC)vLB;QjV)tjzNya z&LzjyD#zchvu#`|Cy2>0*Sx43ka9f8%Q0#&(e`jpQI6^T%W4O< zJ$DSp<#>?FG03%HA95}^=B{Gu<7u|-;fkUh$31*bjtR@kGv4;dD;bBa)l@czL3pYa~t;D^XH)XwmBoxEr8!{WO>S5vN zEvyN(>B7-l+`+H7VKd;#9u_tO&h#*D2GrG(I3(5clCgC)+r#cX>|k>|j8{Od#)!LF z`U`#Bi)^f?rT5e`;(4&HqqHyvW! z{X=IfFHmIFtDk$dCo3b7`1dvytPA+&CgA>uv21qwnu!e<`5LT)eN%C4ne``u~uI^mWHBlc0FEUT|fEU^9Y@ipJCws)b$XI4a zYnLwJENg`p5`6!zjn{vwf!_ke`vj70vZgP&B#{gB;58NtX_NF_uC9~?56)*Aw~z?S z$}?^uA+LnBI}{E2R;^v|-Km8HF56kVgrQI;V(s#@5}mcyT5ET!6gcVSk2vyD-&u8q-4=#P{( z205NSlWRr;kD|2k4%^0XJ#j|k{AuwvCM+w@cpLM;mM5Yhw8P#;8-wpo+ZbH7Yh%Jt zs1s>p9`&MaJk+-FF5AXv^A6hBu@GNU~E+%OL>GRU>zS6&Y96TD4q<8SY?Z49>r+t~S9;%!V=R-W-T=4m(a zHXi;q+8BIy+Q#v9RL+Y`n3U}8dy#ogjV z5Nl)30fJ|Ohw^9}!xNEcV@zY&#&k1e)i>K1^_pno;o8O^*M=oAx!M?>2x;R(wvFeh zXTr_H<84e>R-W-TMqY_F9)Y~y>R1iFJ8k3mavs;lgrQI;BFDph8}rE zw6S9$-p0doxAAb_#zn1(Fpbeu!9+RSh`;yXWw7=f-6<`6K*&>`~7RW{3!5WIiJ z9AX5z)$h?E4x-RHhq%^r@Xwe-lp$Z8L(q`zCZ-yv&(E8THO5Awo`NBZdU1jyMowQC zfiPriK_+gG({dzIhlcD(u%(tGXYM~SLo7SI=0W$MrE!M~ zub;3U#*creAu^lLEeDz=EG=nkg3aBQ*93;~8;d*e8)k1?9&O`MVDAs6M%W{fNQiDK*S;FczqjQ(RNQ4LE-W z`Xo48c!*gMx(KtR?_*eMxJ^F}S&m34JkR_U@46dm95Vl_8R2#xZgG(w|&s1Tts zK2(IzScF(0`cy`yMyFEXY5+oc=5J=>vM2s^|$(FjQj+~4EQZAhDH}4`r4=e`s~_4f1Oi|8Y)jlrxES`F}fldU6>VJl8i3$(HU@y z%Tru5tE*nBaU2TD>aF+HSdY?#YOGIGV?8=csK$C!N~p$qG*_s`dNfz4#tDgPoPZqO z)KVR~RT=v`Duv)j@+aeHZ@i%zM{943@7O9eOR?*&Z3sGF?5I#4qR86hEirMr6QCq5 zU5zeq(Z{YuwiBTF647ZF4c-`Cn2avWiq1<$<7O5u(?g#V;!@cx6DxZXD&U*Z?O2k> z%I2*@xSbUqQm%ab2hgs!!!A}u9v_ioO=c0-M=tAE)Lqs|I(=?Wj$FnZrXUA6vO$YE zOhH5GQGing{s{}83iu_$(KLbA+2)@H_;G>LbEk*Sk?IUdRgYAxL0-R89_#<;?yLiX zAITquXuK7hH1C};MQx3`m{be_T%SOYV_b>xP^utI;+@bg=zumE zFN;+g8BaULsqP%@&KOU3LY%AL+&>a8bi{k1>ve1ECMym*BVO1Eael9G|46*Z5wF6R zythKUr~~3PAjX}i`Y+Q!;>9!@*k4Q9FptNwO?LK^(b>z*1nKP9a*tkRk&b>4NLUwo zyxcSamo{*|DL}iYi8d2xm1d%qk(r3HXyR*|Dg9P#0(NTzv!dB=#ahs4z10xBih(l| zr>Y~GW`sr;LcT*SVb0EI+7}vKl!%@wLzoyI8tqFY<_cIPHmn$6*MK!WSRdpidKU6V zE%9EQIf_f-HOSi+SE6yO1&cci5w5r|py*fj$KB+qzv9c( z3>+NzO7tuFxgz?Ic>sRIl{m3&7woWIIHal>U4%b>OHGBP@;Zp}D@p?@sGEF&;a3X% zdei7(;aJJJ9%k?*MAOalFdk>AUvHW`EF5P!-@}Nj`7X!-Tj*gS-$fo4@?Gp<;W*1B z9v1RA#lympluJE~dFa=rQ#~x?vCPAWt6#8|dsxV01?n;1e!+5eurdMDJXU#FIL?yy zFe)y2(Jxr5JuDn&$%9rk-Q75TQtO_F$SN#+!8*gk!WXQy9u~e}@eo0$T! zFIZ=Jn0~=xe_8Kgclx6+d5EmiBTV_*=wZawHb2|LwEpPEXCLBtbVMu+SnrTP92Pqj zmsHXO$6>GTHF;R;{Mu=9kuE$9f`7Zmm&0O-R1om_n#5n=@m0j{^Z0TVF!9p?pRY;$ zg&toO{X-sK4x1%@VZi5W5`U4$S4*JHob?$7(-Y|1S!D5l0t{LJ`4_A4EjHS+`pojCdDdKv*_6uNkFfOCq1#QZItgd^pF0nm0|!sU z%~mvtP{}eW+Z$-HYi|+49`v08>S?-@}5U;kn70 zE-0FV9u^c0&rQ~JLDBHsWQ7GqbD@U?MRUl*f}-KM$%-2k&BY!T6b+qJnoboBr-@TT|0ueJRhvlps}>6k@Y72#f!L)`q@$&(dd&lBJ3@kK=t$*KtVn#5n=@%6U& zeI8#_1d*(YaIZ=Hg&tqeBfr$+i;5tURT1triNDC>>s|5JTKr9z9@z3*6+!%5D#De& zSk6QLh|gbC43VsgaIeYymmq(-?I@*JgF^TzhV!W>mN&6o!VlC0Y-Y3$Mh|0-N^V6M zZe@rk_>ue(h{hXIV$Ed-yC;|a9Ve_ppA5vFuiQf#)Co(*yi}dMX!Al(q4Hv0o#JcD z5?{4RMITj1I9&QI;cLqhUzN!skMGOcY5v->#8+L?YVo(I!>&vI7yI(7DtXxA&s0A_ zm-uX1O2#&6L7Y-9`1r8zB&)*YH;C~y9iJZfn(P@kJ$tI+t7N?C@vUT3m~_DBYZ4zv zU{9qBbvyD8=b~>%YiKA9GX%UyKPswJEe8+A@!_VjB+(_BKmliR7nzLg^c_C9s0n52 zviFdC=Afa*!n$WbJ*?b7n5~YKl+-ipZT>Dqv3~d1`ZayEkDTY~HxuetUz7DSzjh){e?^b*bH2DM?5{^`4k+k9ps6N9 zS)`5hSNED-pY_vOpZkIDMt~Lg>Zdh$yRAXgC=Qt5^>!=dZ1&ilkWIiuz4){F&zvC} zhW&+iV2ni=3YSO@YFU)iD@(ym44KhGk-ywtrWivrbDulTC; zk9mAi`V*i}d9$YA>uVB!QSAhauXo|S>G8W!=}*9MP99%h+u_Tlr58xoq#<iE( zyxlxIyJI1qr`96#R43Z4HcxyteA{{As>BX^PF9{$^A|}ib6Q2S*4^*`FDyQORHd$q z`kFrG0hva%;;W@GPhoAJ`-=|~CO_he^vg^ezI(#W8u1MHSIs@3lsa}h-dET=9ylk9 zjxdM3V^`t59CtR1Aj}jWgU7htzm(~A3=T<1XSm~m`8}AgaMA+P_-@?&SWmp>H!}an z!D(cYcRASEAY!}YGjUo@2F|`bfOk0{fw}J*tn9`=p8Lufe+tz2Z#Ir6{j!w1LBjg$ zDEeg{9=Sw-2Yxbhy7g1(U&9+-h>xrMo#g6jd9^b-p~k`LXC(Qy4>8h#Q0V z>^uKpW@u*H&O^A^!QK2YF4Hn@`?wjI33ZvVnWp8LWy@D*7B8E(bWPLz%<4t+Ged?B zK{&H+`I=SuyJF4iCS&IB#KjN$Gkf+P%$&Y?*UqiHWnxRqo`ajWx8NoVxsqZJ;&V;bxdFcXI z8>P^q+(W|?2e>aPh2f5;`0zYU9+#9#TyQX@zW%LTaL|fOet%=R+4pd{IrAswX6k>J zn|n(t@STdCiHB@&We>qS+Zq>+z^Z=p(|`E>sm&|qoGoxJi!fMbz~5I2q!nr0zoDso zydF32LCg~cz3|=}+5?p^Z0WECnPH8?<_%ks8J`)pY}l${O_^b<4-1{E-q=4H1$y?**- z>u-MTC)eL}Ib_AN{rY-h#3r2d`^6cb)m= zf^|oWH>@n%_{ON^J6_uQ+UEEE_E+~zU3pvImnO~s&9}#1QMT%9v#(qK%1e9J+?$vA z<)*T2BY$>B>8BfhbI$S&-FiGw`n%$mvKJoi-}e0iXf`c2%pY&nEf80I9Q$^Owg$9~FAIf}pX^1a?X1zf!M9_F%aG)0$Xqf8g zhLVEF@GlPWrfk% zBp*ceeGD`m54qQib*c9H%f$xGrUAUsuS{Li->hR4V9f%<`Wc(99x(XikdC^gzg(0M zw)7PUj29{pSM!CN9qE{FfZ_8pU|a~+jIDL&3O(wr{_?>QFE(Flfc~-#5u4qxP>K0c zvxanh(uOwo+5}&RaxavdZGM)bBZ)6=lf4#|)Myb-{Ry{2*{e0PZ@IdxT z`#}`1!b^_?O!L4(DVr{A>ErR?ic4PfgD4N;R#@25#}kAV7Pj>9;8TT#3lMl-qr$=k z2s~y^Vc_28!GpLIMqZR>9zUh9dk;GpkB3qiFJ0CP5O~m%!tV6AJg_Cew61vgL%`KM zxRG38s7U0?Ndy1=(AO^IA_QEj1sX5QRL2;6lyw&& zWL>Agg@c8Vh@z+{(nXeqkjmnyho^*V8bIlor3BO6QR?DKg>DfioJHWPyPQs@mn$@& z|FSH4xk4jCxh_{AW;ekkf4pX)G%ACvaam}0NKrXL6?h8ee#P#P>k{x-)kZ&Xccfv6 z|3);x*p+3BO%Q$?UGAf&Ni>%+B3c(>bce<0u;)rNmoXx`++z3e(TgOyhelVlxr-lq zMBJ_wE`I14&6QH}T8IL~Txm|Sd~-aa)Qo80!2#evLI4;thFQ$r6vHi-Sg%0?hBi;+oQqk|-1_(W1!j2xna6lk<8Mh?+I0yLUZ3|9+@*9h++ zZ(0aFx!Q^>mA3W3;<8bL_(>9N9AlB9R&;y`>-~S-u|T7+EkA9RfF_R=r`bkF1@q{2 zd=m4B*yi}Fmx-|BYFPS$@Sx!|;d9fqGU%dbf!Y#?px&X9OI*;7330*QffSeW9Hl~M zY(oUah0$sJ?n+$Bt+@2HeHi7VxRg6_DbFD;S&`Y|Qr>~Mlv{DBvRUB@pMOAH$SY`RROyEDglcSkcMlA$Tt-QR(Z0UEZuqxq3X=+a|opys+er&;a0JK7=9-Fs+v?~$Xs z_h5JLA>EzPX}ovU-Fw*XKEe;V(%pNw?%pFuch8Eh6TUi`^a780#!W=wXTO&Wq>b9Tui)7=Q;zcTGkox_ghT?%q>(RykvaUp120iSCZ> z9gF5^H8Q#rE8gAF42fiDN_O{mpksiB?e1uP{MPnGTthrRu)-QBjO@WAfQ z{uk@+=oz5qx;s4x?YleLA<^AolX7(LnWMY+WOwf=-JQ{Cym!^z;ST}_d8W<}xzgQn zLzvqBJ#%#TtjO%{-m`=5j_xg4O|n^GF2K>9{O0QJgujd3owpRmyBtsB@CL;Ibg^W2 z=lxrW=;Y{*j+cy1j_$aeDjA*Z?!A)647zuWH69cq-JRfgcjql`p#+o)>F)19$3UCd z?vCb19-+G@p3^1{wBIRdIqSmyK{n0=UCt96tUzh5Q5_s zw?&$$AAUIPT?$yC=^y2pY0_gNvkyIHitg6yV|uo^>kM$2U2FU63@{5l35mi)cL3n!N>wX!&UAEg_n{1qWXFXc-(sG)Sz)6wYjt_Emg#OB5G_S5 zbN?gn{riW3D_9cqOtV6_|M7s~IuLs&Md$k;=_bPA>To?*MFXP(X-(e$R~>O5FQ=be z3BuI^`Y%FTcGu}AGHffv^z%7*#|9u-TnLNJGPna!Zv;P*Ux{eEp+QQ`*uUZvH&ze; zv#d-ppuAqopH+=(v0`TGrHu=(v0`T2{<6n#)V+%pDXB zg0CwRWhgpum8H!zz)Q_w>%>{tVCdF4K7?+$!d4moaHZfJliwiz69PleC2m;)w*kd% zhg;AQZh01Nx;<{XBixEC+`{&_g&pDc$igjZk6Y9pm%WS5?;#Oyk5wlmZ~Cf7rI_4KjZ;{}<-AsUHm>5pcs{^X_I1lE7w`g=32s^CvPn}5Qv`8 z6;}Nt=b*(AvIsc`Ew8BRAB_T@QlX}CClv4|sQ!_2(DDwa{xY&XhF-?cEn{$N?_Z+# z!%eF{*gOwcEiaylPs96RSird#+@hG@hP~Jo1sD|MpSobvST5WbCE(zF#MTJ(EhpD~ z4P4!D?AG=*J=(cmvm&$2uf9f=Ueeh)5?N^{Q5Mj!ut`pevp2dJ`4-b>Hy4RH0tUSg z_=u zuXAC|eZh7&ahR$?{BPj|Wd9BL|2bGTK5eXc*gVs=<_{cX+NYHJQP$(rl$ zYOa5dn#+pJuDSjl)Ev+fHHXS!%?0*Qb0~t=9P&-n9FSRaED3847v$K#T66tv&Gk2l zngc7g<|xt-`I9sObjv8U2C?Wsj7&Lj zVCf2D+B!HDgIDK}>`_lvEEAH|TsiLKnR|S+SSBG_P2T%_v{)t~nj=%5dB8`DWfGz} zROOj3*l2rT3Zq#Y{InZvLEfQ5Tks)Cj2M*Po`vx?Y(b@)XNFqaZvg8tX8RR`u2cZQ zH0r9D0QCx^?oDsh{Q;v6F?m{s`$tTv8)9m7{Nx@+OWlO%xXsCEshbd8lpv0qRA_64 z=;A~)CKw@lBUtNZz7Ex;{~{=Y(&LMGI3$i9nhE|2@QQ=Cc-%li9^P@7&`dBb?}dEF zCuzcq_+Etfgeu^-Vt!+XnF>P@7lb4XCmtdQV-FW~wn7l(?rCo*5*RlWaY8{Bt{9m~ zTx%${$4zJ9mbcH>8j9_43$t)5+T&V7u{~~47H*IBxYkgN<7%y8tw=RJuVY0?|&VZ_zd z9XxPR(*+n0=u;T;)fGKF&@H5E7J4UkNVl%&>G+Utd`;v(yP}5&RcXFqMbCH-V>&Gd zDlL{yVf6`^uIQQIVPQqjL=R(mbwv*k8`6Bkik`_H7FP7|$RJG@R`l?=Acch$Jv=H% zVVo*x9@9N6tmxrkL7FbC=;4_v3JWWGcwmac!ipZADiUDYMzcMPxLPlBJWT74a+3jU zZ0g_PAK}Utp3Y5kIL|x^vk|+KU=*8%Pc($zA8JV3l!an2tGS#BrpvWoYB1=*V!C8V zBDc9b5>ZKe;t+;-*b@N<_5|pvJ(02Y1Q?g^&OoL;LGrXGGS;5JekdDOODvPLCo

  • yxWbZ8#&>}Q%N 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

    7$#TZ!UkJ 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

    %iP>iwh2jcYadg37%`xqFp+ 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

    |iYp4N$j#wCK(A5f&H`j~s#DH6Ug8wj-C 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
    3J6_$KU5<+ChN&T< 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⪼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

    cSql0zKHxQCX_c#3TWyYisbd&$$UY8rjm{b5 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�ldC?gt0R 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ⅈD_6KQrd?6#njr}wO*cxp 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

  • 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 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 50e8901da0a571ee418844e3986991854c8b6a95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1384283 zcmV(J%xWgr6e#J5yXL{Befs^w-xUx49s3mjS+}clSror(%W<`wG^=gTP0REBe@1`)$^R^D{TJnO_3da? zefYwoxYfA7JANBHyp;g=5%epl@MoO zUeBues$JbotAE?yU#tezqP-ZD53cJ;_47yC7WH^q-G=aHRj;Pi#~0=5s+yJb)3$gy zFX%7DPu2P3;=5{9)T`qBrg+|5*5jg_Pl{*rRkggJnQh;^Dc+pdm+iZH5njCf>AUC8 z{7*hUeR5X3S~i!7ro=>ahV%$(?Xq=%4Z|2qYqP(n%H~2S?{NwEAswyY- z{Ib0*==J5hWqo#aDZss3fp8pkp zdSA7-;f&^mK2uyQ>AQ8cESihrSh`SrTecM@=b~9+BAa<}deg3|SzFXCPiWf|<8nHs zhu*$DrOBoi#(`$}-o0X{t*Za)&A6tafBXFFuWolo1 z5zQFQ;vlrm;;L?`WBk*$DwpG{qMFk}R4p%ljm2+hwYb5yTE4Hx`YUd@n)5HNXr8Gn zlj?F=Re^e>pTe}@*;%u!xUK25#;1#Nv6$kk^gv64$3(BEs~Wv4E}L?SQPCs@n>cJw zp4djmqC@7Nv{xlHkMC3;7So0{@Vj|)O*4Oqk8(SB{kpsv6!oYY@w_(cRWYWnEa_vi zJL?two~QhR*8IF|>9foAv}y-vr7T)nPKF=^S{k^0Rnvbe ztaaSWBVLg)ZE<=lBxykdiBl`Xn>FpKpkvl7o3-os(GrPE2kJdQ(Tb#33(Q+W9oq%c^bG%Q5$EwxxGAqxEdjEa^

    2G%k8c&dm;QU78E};etdGt=M|Gq+f@{k~S5c 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%0D8X}n;11MKs~3xRkl;NNMs)B7QE1rY zEl&7;|5@8cMIQUehk2*%xf4HFIo^W!`%W$f9x7*SDaP-KcA6;AYJ&{+vr?(T!CU1$ z;Zv*cMOEb=$hM)JGH}kfb&rgg25&TelI{J~lo~MTr~B=U!2Fp+IEMtKdQieS&B{=u z`19k3UZYYDmquGfh4lg^938zUF0E^6hv21a`uvf~H7UX521BeVE*W_x`S`dlY2YwIc~4n zcG92REB3oolGC{Urdu@O&{1+uM!tk;sNOJjM54YA+wC;1ytZlQ_E| zG#H=h$;fZaXnJ(jll-NSJ-ACm2>vkEj&a81Nb~+HHywf3xvRR->PU&NU+Q4zcN`DD z<=0WH)-u?)w;mKe$qkuX$yvHPLIe_gUR^^}|3swcNxFc!h$$J|J#&veKd1(j_`ulQ z`X^j`U4xD8&kCg6JN< z-BDFN8fg1$vF5r*jvRhdN670e;APrkbLELHug|@T)XI8F&po@5td~eNf4H^$?X#GV z%hK1SF2s7v6!wnIy5yuCv{hKE@%gu{`7tMBKKW<+ZpT+-PO#g=9ReC>^UkLs>s@l6 zH@e3QLZTbnM`2cEQ6cJk% zJ!zSR*555Nei3abtgzSoQTBYy9D*{8mr<|H#YDmGkv?EbV?5|}?q zwbY=h!{*6!!u>EXR72xiamx^|&L+YGdUml-~7>JTLKkv8T3n=|8HgV09CLwfG4 zLs@#Qb`!^~9DBe7(qSyU>1*~t(vm|YuME?IYGh(V>BIMrraDBV$!>d>m?srI#u5v4 z1zjd@zACiJVN_9a*~#e}apPoap+Yp8s znwn1p{g{l_L9>nX%W9TiThZ5-u4djd=dp6cKND{S#Oo!pLG~^z%TuRcP2w-G)*=PN zt&&dOO=Q!Z)?a$JbGv=kR4>c^s!PW2hFy!E(o52&*V_Yd%rwa>u{t3?R-LJlIO%>+Nm2M@;0z*M;`tPM`O&+lQ(# z`?i18&o-nYvm;Ib2c}-IeC^dSveq*mLzaWEL$k2z)#Dd3X2`KW)}6h zdy>3qoo!W)s&jps-;MI*NVoZsmI;sAhSjU_TXLwCu!JR8sjv zq=^h7tK$5dVy=z^rI$XVCTA*dpX%{{73J7;I`)KiwtB^Cd+6e>B<9qE(E(ES#S+>IdGyTgYfA7#gb7v70Z#TShBeBV&1zBNES*I4 zZMz9eOw!YPOu4xB2RY<^V92U8+fxUp_;}79Ja7MOFxSdNfEhQ)?l?Q@XP?OR?Iz%? zx~-e93I{FKaiPvZ|MO6D%=^O~6SFtJ zk2P(-uH3lRePwB4c@zu`)k_r!-C@rl`rhDuSTq4h;GI-g&Y$t50f21UP7$}!N;J_x%- zA&7$oHGn&Y%}aufX@JeEqo$K#TeCw@*dW{DyJE~|3aI!xfDyjAE+2sJe0Q4t)~Ruo ziizqtRyv{XQ|qkA?;nK#JMuO&l-ohQ0e?o4fwr#{PSi{&vs^qa59BLIozDDB1O30T zuIlS!N?F^ugyi^K{6wr<pYlwyc2k$=>HETTG#PSwT=cL}#yX^1b?*5c(I zpuQm{js8XVC675-NKeyVcj}3&dW_Gn)pNbJo~G4v=@)bGkqOnb91WWGpvxlt!|cpn zJ=oSu74Qwc#?;?^2eJmXpLKv*hpm>=&TrF^F$Hl)y1c#%Q>Hh#|ML8Vy;t|HNVT-X zQ?IQF4+{l8Q2jzEM(;2!#kSO3OC5_S_UZ4mw0Vgbfg0i5IlTd^>$_cf!iV-i@>s@W zssuXShdA<~o6s%!xf{d-YO4Q}5pWkFbF! zPRcc223dQxR~lJWql}+k+Y1euW~hzGFS#VprL+CT+{C9jGcxni;4%yQIo0egZBp!* zYzRZid6HF@F)=QA-n_!~=PV&qb2w$SQAVipQ&Mn=U7a|P!ya?gu-WVM8xZ(HDK$u| zu0AM*UDpj$vsdi`tV!Lt-9fQVq8qG>A+b(6PRWAWfHygu$E2UETS8c# zb-^w_D_(!*9aX8q`k@Byi8xW&megGP+!BY}Yqc~=dNPH5HDnqSHYji1cG%>2E$`u^ zH}g$&^jXRL<e1n!(br3528Y;A3&naeV zyWa7#_XOp=c*J2g6?oS55o$uLj-~fgSS}fy{WyPjxF-9R zr;y~J05nJHMB*Bi4M_1~e4vJkb|v>Zy(GntIIvDQ4xM5{xRGqy=+v^2$eOVT-iP@o zu8{!b5F!%48tlChIsbMsk-)0h29UrdE=?k2X9%>-lCOg1Obk1kE$SAi>6KBCR6|3} zILQ0mG?$+a#J30U7kIr=jU1>tdLkNpAvA(#TvksfRz{I-V$Z;BHzyvdMcGv&L47x9 zX8)mgsb>SDHD*6*Pl|2qEk_aMDf_LWL1zu@H$ed-mzrPo9HF<4e$r!4b!#v=4cH?_ z-od_l4!FI+S(Hz!O)hssSd?g%C&)%xRi^dd>iQ_>2+5ZC0VMpkLylJH`wjZ6b1_r5 z9wm>KItTx=RJO%S-mbTXZ$q`f(=_|atej%o^!QESS`kOjC$?zHNUrjpI*{4%UReF* zn{twAscH<%a_5Ko2oo@2N1~?zxk>aDH|NUPt$|od=EnSp}12Sa*{IMVWR=;2D zb$ic}Trm}C|27mvC8|0S%S<%>QvA1L%xRT}^0)f*LHR;^>()YGeRPAR9{419p7ZYc z$y+vPp2U%CD`imaAL0~>FR5{qJ))<5dip!2_UXCy)2Z$R8FRgV+0Z@U6bK@+wQmZo-$w3GF@DF)<&8X;=9k#FRIR6M z^l~(fFhZA@j_}z#)z1VhCiFJ7uj;=?*WsM^64@T>VA~Fmnz`I?ZM90-$J++kv@adWwc=lJ2u|yrdD|Gb(i7Nt#rz6uyS=sb)tQS>( zN>WvR4G84C0br8%UtlPIwK5e>na!6_31vih;&iDbg`O^tr7I#RWmG1loJs<_hUx)h zT0OEp8OPT6%e$zUXeV+U;qVIyuB>mLq9`J(?8N)8WQpZ64BK^VS;Wf9m8zS6M*63{$oY@ItHWFio{*_GcgS)r%sYKki<5Vh_B2NUGF#Tsz?$b4zid^|_Bx z60Zn$*ahAxMb?{^+k5^3xi|Ld_vi1M|WO}wp^24_N0qxF+gbRp_~iBw9jbA z$f)0HXjyc8=rXfU-f4hO6hm_#mIKA>u>m$zH#10k8rbHG{ud>olf{%y*JkDAXH~%A z-wpeqDqUZqod?qCHFKX4v*X6F`Za0mwSfzyBsZ$5P|iEdxzh%xS0GBsJFITwf1iO} z)8oef1T(S&*pR8t-o1AT^JiC%=~4{0NZjhz{c)UKFb?GS4FGS7Ep07s0ys-Kr^Tp~ z5ssK8Xu;7@vCDBluFPK6*m~gN<3-6w`FV4_z_4=Jt@a4Qy0{!QqB%e8V0pLRUT6R31KTI z@KQfGTo24odlDVyj5KT`vrL8q`_v1-Ng0(}CZahRWk-Aw;E9!Gef|u-uq@bUNIq%+ zHqE>qb+nx*wwXZb-qYaw`=>EcTx6~*b~EF4QNr}tDN(d6%i_;tC)`9iSLKRY9sT^i zEzW)rXMewXRI2IUKRiyOIWt|%{$xEw`EjjmMa#++9wTFiPm&!pX8vpL<+U<;+B?`6 zdNwn?5jXtlNoA$96mE*1I@X#cjl&-cd0H_r)~di4H6XLA)@mDjaIHoCVZ7m4bM~lx$$ol% zy|&O{dSY_vY~7D~%agOhautyN(v_PsU(S#CU2}B_8a&%Ri}*19 zJ(aUej^zDaKmC-tI({~^+WUeg%-yXeN50P;e5!CD{g6-H)V+r@gQPF>bbZd+%+eJ3 zFAqNK;sqsOgfE^CYI2{Ky9RUHmWQ)UDN_!gDDKNWqZJ@ITt?8+U{sz+XuR+Df3^dh zA-}rWc&_}y;VA8kn-tm{IYGcg8Iu$Jd)*WVmBS7GgY`r)pN6&^jF~1UUHx03JlDB% z!`-somNDIN&#c;PNR6|dBo_F(;(zMZ91FWmMb<1g1+&~$7skHi)Mn!-1=B4u)i7^) ztu0BoWZk=5L>LS}{WU7geLI-u6`=l!b$xS*u37ia@=W}WgYGw=YPPh)*S>O!2k~Y0 zg-LFLX5(i|p4YLMsO@A~ECez?J?)-lZ=)RGexg-lS>?ceVzW&0>r|Y|P)^X^iN&s`{ISn^u#&pk}8^f!rePT9%v!m+qx zyUfA;+)ZbVT0yv2x4|qr!b(!MD@)nnhHOP?admE8*O6 z&K5nKXUtzdELmMNJXid)qe^4GJYU83?#yaD;Knmr0C2ee?vmWP>1Ey;WUA0?&ZyNf z@N&ULf6{y|Z(u|=Hg`{^y_Wp@N`fUP_P*$?1&fcy%Xc9c26z>b#ozoYO}UGzm6?n& zT(s2zTBO?i(jX0r`plf}@PqFl%L~8w0V|#>*I=B_S0x~HD~_DBms1>W%WpTw%?#$H zc;{I3K)e}v(H@hwyF{a~9i{y)#*dOsxl`tYvJ*oLBB9rc>8j?gynN17+IX^J-#{81(G zh8zB|CD#=@YtxD`r)kNP?o{5j;F_Y~pUrMO0a${U|oTZ`Nhe%ofl>{jUl+;=#j6M{evI73Rwp8tSEi$KlDcp9b2 zA`BVX*nGla2;9;!1$Sc7%^%=G+dyeNyU8K@dbrBDbMtr0**G4>!rRQ`JQ zaMYew!xTfrQ}~gg@7%F=`9LydWuOMG!++giTr<=Vk)CkmKxL^RLc~MAII|i^Ba-ZH zR&*}$orQ66ob-nnLBLMHp?2Tc!y7ff{gDT8VWSruHSt7{%9`xtdhH8$(=isA7)C;Fr$Cj|K|@orIwGGe~v}om}KiZ zu-sy(PElTHU=H@;c+JRs8l~l;{}EocNqU4T=yLodk@eiZsMh7Kwj~s?`V(?397RXy ztQwQy-iQuVH6sC@ugfhL9WAb3=_7{8*@hF(v*#VLrpx$wJtRTPW{SPU}^M6G^cQx?WAis?LGJ}Vs6Vvnv%8SX9NGA9*MEs~{ z$BOS%#c~x&=&YyywIbTof2fGdf_XZfdLV(My8~id#7)1*n{tIPA+AJO!J{FzhNBAM zl8l=sBHHA}^sk{mdFOQfY|wcWvPAdT;jafZq3w%S0SRqbpQ=1D~O`-3VAkvlcxyf(kJmg_QzqCdRcN9=hNdW_RyHyzo+rAR%+u zFBa%`ySxXeZ0-=;y~yG4q}B-Y={oeqj5;f7|fH zRjJDD#cBg};WBL_^41#1kJ>hTly{tkw-&0Jggd<5owhe+xMt%KfuA~>*`dwsvyjHt z{uAWrsfCr3P2noZd|r>oB|Acn_JF^EzXE9{&6(w({7<};Ba!hc9=`235+CAT`y|XV zFVW(Qhz1lu9o%fVy%VtxZOUtYBc@d5is$AX7M|70vij(^iO2qsVK=V9YK!_m5Z?q{ zWd;6d`oG>L)JRx4&Oef7Md&K>I!Q&u1^hXvDD5B>5f>{xHP|!H(nt6tUwo9a|Kj>*QzK0hLjXMadf@}p}y||q;|Z*^1IH*TFP$>_(YdBb9->c8HulxY<>ig^Pk00+&U=%)9HR35yUH&uc6&kRtZ;l=z=4|x*H z1WCm=%5aL^YDcltq9gczJE+oJEw$V+YO~#0Z0}F;yuik0dUM{L!|x4} z{nCTk%~^4|F}jWOU$K~>U9rad&}!Zd?O3voy@zc1+k^G1*+hlg;d^g_%!4sjf1DHs ziK4dRyTDrkA$I=${Ud#L=_n=t>~t!;6r+Gp>Anr6je`&4>etWX#4G<0<664n8;i>f zBq&v{IP_jHem6Kv22aRQ;(SQICH0oNEp{Pz;Fug9^4z?P4oDg9cy{J^G3C#4eWMQi zx}huFp}t)h+bzBS0|Gwq**o2}Q7J~7v-Xp4=U&hAc_+#qOv;XieM8n?UnVWwVP)A} z_`XMW-=w>60*T15SP5Q|h?*Kt*%&qBl)E6!Bj-b9j(iw5#$lZ9L{hSz=f=6tJ%vO> zYRu8&cKKw_qFeT^{=1h!#KsM1dzn8v9;k39P@~+4Z{7HY0&$|>=cv^w=74H2;<5Kp zHsVX$`B|G8Ry^MZl{|b;K}|KoBq|IJe?VxTa-z9*)xDRRqsdxZ z;a=xf{5wa>Boy{$RrJ47lL)CfC+pw$F2QrgQ`f=lck7h#u!I3O@T>&5IyNSJSdl^FycTu!ru^mehe$7pE5L;#@R?lC`aDTdZ=-`R;514V0AjRM-y4md}<;L3C0A?V(0Av9aln3C-JHIO6r1w_nf zI=f_ys>AA6L)%bJ64vRx%=U23XH_}pPb4w`;VfgH^C{iy#Hp@Hx5-O+cf+g_RR#lQ zQKym#C*6Mj_eRl5`?n04sHtfG)*KDnz%7gYxcE^>%&BC?$r?#0Hn-N=W-M;3av=S& z=Fv|j7oEWyl%wWaSYHs5Qk0EBkD-?77*(fo(7|KXO<(XgC~+01j6YSY+N@?gYVAgd z(eStPR@Rr8}Y8{td_=F($$N ze)Y-%sv0$s40eW!@f!9M`w9tvtGn(aT8o!;4Q&3l&O9@q#Nm(C@Mbzdv{U|8XJik< z7F2BS3>Dp7*EKl!Cxm2B=I{O?hn3y+DZ49sn{n3emS`l1-1!65->Rj`RV+kf^b;a` zvd`Yu^4^nBrEDH3D?8>!p16(yDbu!Pm9gOrW26#KXW{;le?5@xJhR`**&3JVvTI`s z!|AIU4|ofqpWyeDOGb{|=h*zQS%3FzS2!y>+utGdp0b}O5Q=|voMxQ$ObD1Ra1HRq z-Y1ws*&XyU3fqdg;Ky3kI=KK2tjCVl0AxE;-hdGG2jXXST)C zXgymO@KbF^fmoBL74_67vfHZ-ZjodW2KL<___B!K>4zAHv57zugtx>}XV#BWi!zi? z(QR3CVDuG-Vs>!GXS7qiV;J^fMPPDYEt07R+_q5jOeupkq6%${itp@^EH@l-Xik6{ zJ6FKR+o$u!m=)h0nENVu#z-dpQKx&(v}xK2yg3fb65f-{2_ucijnno<&g~EP)!#1} zTqV?x4bPKoyW-t9@O}^n>=~~di|bki+uF9DT+KY3Fb14d&K?2A<}tnJ4L?3qG)v4y z%#xT`_fc#J&yxrkHjX`EoFTz(DtGT!Ni_sI8)G-G5BK7?h4OIR^WIJgBiYv}g&2Ql zFCF^~%hQVWeu#m4fbXNzrgi5bB6Efk?C!)5>4&j}obyU&ZK;?Ke1?ScjA$-dtY8C< zFp1yIW>#l8U4jPiMtirop@A&SwLN8k54I~C&BLvPOb=wbO&^v$7#mZp{b0GGf9 zMN2U|?=g@sSFnI!j{A_;3^k;W#w(v36YgiaDsgqef#S7!Z|-oFx1L%A+PKrKq_l>O z;cN7dw94OoJr|K;H6}`NBo()9HeDi@J%}Aw;s^0;VC(pQM$BH3$$#Cq`JP>xKiGJ( zhO~Li^72*3v3_-QJN&*&h^ z!G@;+H^bN3r#U2pp+(b;HGl5B<{F;nfPa=^Hy#NKtKD&BpQVdb&l`ol-Y^RwiEJ2< zdMueQz7w?z-ExruQ$;@R5l~4Ei)WmBu~otUkNTT4<#?o80%h zHp0nZmIzCOd{}Cy=l@8Hb>mRg#>`*+;OS^5Wfx!^Q`;be7`Y>V)|RdgU}*PC=E$2B z?B(Doo5%5G7X~qFA?<=bQ&`BRj7^1nSX^b~H^%ptwHpxDcK-SriXWB?N$uTf9`x+< zD03xfq5Uv6sTK8c>>=^?SJ1J}h@3T<{bq$cr*X_6IX{s+yWAM;r`;MOe@9&Vj+z-b6x`?+>9VK85f3QMjG9= zDqfgql`7s}E=Z=RUIQfdYYVg$D&vh90WlZI`zllV2~^Pn6=C-huaI<~Kc?CR|EAix zL&qlCcg9({Gh^U>W3P)Jp5Xs~q}nkMb^lv3sr&!^^Zq5u|4y~L&CDiuKr(0~7`R^3 zprVo_pi1C&lVZG=dS#oa^6f26*K_7iCEvb9e4}EjE=y^GSXkK9Z_~<4&1d1z~Cos zIj|Fe#14Sx*^@c5;U~KXwND&^{>;|l{&p35(lu9z{^a?Q1XkQ8($B9y(LvOhKR!J1 z!@tB4e+k+_y5%b>)g$Di1F3ER&im1o_RjauOLkcO?mJ~hx{{$9!D+vy2Bd^AHnwZe z=k1ni_=!>~I-Eg8M1!f_`wkk9(A+#q7R9isim+CsZB%8O#1ePCSdDtyA?s%lNmv+Dz1s>F3 zwdS|4{EZgA>qu3p>e3u%au-9b8a?Dh$^h!qDVMhVzwhio5*@gr!Lb3;+AP?OaE3PP>jQ%n&#KCR2iood7v%F(n$b>Kh|bZ^%X?OE zjD%Xg|1-R4mg>|(u)Q|fMvnvT#(Cd*>_Bz;pIDGH<7(xIfP#?N>llX&#_S?2xkfD4 z9H$P~o6YL?0r(&8oFT*y0GogUzeb6e@agZ9T8^P~Ay6*oi^$_YbmkPHWnSbcQ^20} zMsm%8<%?X`3rwVerbcqITk!gPzi z*F%{c`_hhOwSNT_04s#6=) zr$+c_W;EGBldhc2@eoL(D3Fwj^wSm zNOH9H02CTy;tHQCj1(3js&9Cq?FK{!gHsI93EoG0ZJYh-|G4JXTG|`Xlsn~A@eGoX z?urpW&Na$$(bfziwr`G_Ec$oq@2w^gQvR)bb4hz_!EqH7#*MPJP8&X^NHNQ?q^S9PnT0YoW>DS6gYpM30_ncs z^>O}ApA&xJ6foG+(_-44H;}bLmcg~$)|?(w z?Zx2H=H4Qz(?s2rmqYTO+YXx@ug@_aGOJz)MZAbH68JGUU|M4syM$LzF)3ymSIKm> zk17vj90blcTso8G4s}~s=9_gS8=z0)6%qQ2_H^jmn+}Jb4n<4eyziFpNMB#WtFSKf zFxF{UOCQMo{RgL1BYPaMH`k?vvfsqLhTZ1?!uDRe*XX=s(E{DC?06s2)eR?VeC{|vsR zMUDGD(4Dq_iRwqPaZin_d=9sc2)o7crWqA^kDJudm-+bi(ETLAmyVH)RY#nn(HGu` zF$(H84az8p%IZsByzr(;CL{GSzxpd%^`ZR9CGMnxR5GtIuDEoXD926FZ#9yDZ2KwfCFIk#D^5O@CUglrwePwjOwOGy!VhgGw^ZQ zT7xbK{w|v(`&^3k62CV|_!Zk|Av128(hK|!!xuSbiap+{gkzS&oQB`dzdy@dD_9rZ z#dad{dnN!zcm&y?4D<8tW4GQdA1AXjdt_TiW-f28IukwC9n&Zs3}T^N>9Q}$KS#}G zY{aMD{ndqMSeErOd}s(12Gkn6qF6Min=_p?b9z6Zw#`(AeiCU!)LYS-KOb^nQ)AF_ z5@jHeVmlwLzPp!lM|o+gEYUS%@_F&>JqY?1^TrGFRzx#zZN8IBdAu9L3v0(@QTd`+ z=#TVcJbTnw4u$~mVZIvEidiS=!1#$Wfzi@=z3$kKD|X!AW8X{#Z&?;{V_ zQ`5#eqyMn`+=HF)GG%Tw{@N!=WE;peS42w}4_xWDhkGL1vLpjnV$^|j{hqWZ;13zc zVQ}`|JAc*|BIgb&=Vi-tSv~!IGyB3K`@~e!nv`3pKNK9mrz4_p3clOZfKLXrM~l}} z0c<30W~BEtV$Bw5E=uGkiz#caY0I;=%#L42uQ71+SR6ZyJRlVXbX^2>Ee+Aw!hY02 zOnjcu1BmwN((Z8%y@+E>7R`UI;avIton|6p8OZ;AQddXpTUfpVvv6xX#B7{UitOLi zlI>$D8%t(F-nBO5UPQ|anEL~i!K%*H9*X}y04-5>P~h`h51YXytczrJW#e}_&6N9W zX>-(Owm3~3`Dy^veZ>*a-m7CxBHQBre~v^KVpxlNt6YJm+d{nUX`=V_^o+FN0-_fc z8xZ)jywhtjHv4`DNuQ2axhHDxA?A_A%N9soS7Y48CQv+UO9~pBEk3SNlDXcUU*C zRB?Q1(2Tex^8FybY~;;V%y_1=RLOgMS^5)t@K$W4eq<|QP10D|_e1)UQF&Im3dJaT zU^3J@k%^N4FH6F?Qmky(*SgxLJ+Wvp>CYNwC&1{X*O*j^5v3f6XnIr!k1o;fDY&5EC zP}+KlvZ-7ijBS_C{?yNFJcwtn%Z}}w4X4&DdKWiA_Vy=$pvX_eLzAXlvGY6L1}uW_ z8u*;~ykyRe^|*jie5KGc13u)Gh3;t+DK6*M<<)-p?bL7n#pZPddjGj0L(J%)sqmWn z|J3i7%Lpp(wkVT3!r5O=ll(#N=P?U+>J^dYM-}q7J)&BidoOe&3$*mCNJ&W02(uDzU)o#aE=(k~lZICTYi#|p48Lv~wRw|2#JhA0N7zrvKBe<2U# z#$P4swnZa%hkPqb|^uC*#iYJQveiUBVu6fc;occ#hCRyo7VZbV{DiyF~ zwAe`~6M$(akNh+2@PQqQUfueZiSY=~g5-3t`o(YnpkSuP{V{6g1k@Q$cUU`E`XnNG zob!()>gqCGW}_zsuut&*D7fR+m98^C`m9MIZ7&w-3ct-_WGNJu<%AAgCcH?i-{TtH zAnx%4cKGXCm1MJEt=e+7tQiN@rfQ_=(RX5mHqt=sMr zUBGUX4!Vl9B%5<*%tzkrStMi)`4uW#@vIzuJ<=9rZv(kmwo5}U-g;1hk}h~b&}Zk9 zk4g9JmdB*~;4!7?-=urYF(v9^c<+(S$@XK?eLAWnmtvD9w!|B_W{&SD{}#*{1NaCRrRF_8SmHl?jg;;hCOA*j9UYX$o}TqJ1Jo77HM>~)WsB4Qb2 ziCuFfnWA!koNRYiPFwW4Wn6l3W=vLDfxjLmKd5Svm3D9&yEE(ztqrkO>&v)a14ay9 zQ*G}ne!BOBH#~d)P(HI00QD_@)#8~DOO+Y4(3Y5-#vEKL!L2XIXgAY_cTHYj4_-yh zYPSjIhqF!*#4W7`ZowyH|10VKMr_+vYVur{^^oQ<>CR3rmJupB(3XB8Y&0NTF>S(> zqv1YdDukB_$jaR#9+^6nhhurx#K`dq5ARNG?#Tl_J+%=I_3ZzwmjBhA!OjZ%>E?O_ z+t6xDw3SWXX&FjuMr8_9Qa?|n#k8PS(S$g*C6#4*0_AxCzlFpA_nL{%H%s4YHLnCq zMPU)JNQ+wa2rPXJ1RXo6ML3dak1F+KP~q0d#h-3XP^q>nl7fpS0g@~g6}gUUso_E?*T~a&tl(0< zA?09oR@m@~2J1PX=)9(_7NIBUA}rJ+wg{n%X}^vf8!%!|+Rd`q#;T!C+JhL; ze2}%s%^|8k!DoF1##ft`U`ML-pX$E>g2d|k#Zp58rpSK@dCVJMx>j1iY7jG3x$}E% zfel-HE!^ShATtgZwn|h?NYAko%u!<&iX)56|C2Kcpa*Q9~5=pXks~M#PD33LwRj>hwMI35e2U z5no@_)-e(cb{T#H^m-f@R$~{zMn@wO-^4mPWKE%iHP+&H_BZEV)16a#?s55_oI9;= zaZUfSE=^8#ruz`qdYQ_W?_ucaIuX|pY;GU&n=0{0vXqK#A zV;^wKx9@0s(_(zT$071tlwma3R(=iH?lfMT_R+z0qUPNUs+*6eRPq(Q4%8X%@66=U6JdR54|LHQmv*hO$vBw1Ll!&A}v zdtUw)K?J}7PSGn-134q=T<5s2&Vardi!J|B$#!iH>*fk}a<&V;V+v0=R^i&bZF+Wf za1q(1ESl_XutZZk4#oHu!HH)N(YU;^ zZY60YRDVpAR+t06K+k!0%Cab)B6B-jze#kLLl$A&MBd?|5pHZOLHy+fibkYyP~ljt zHDrI{<%3GhWWQiK05tz<4S=F?Zr(k03~?IN5#|3ydCi)v{dMykHBy3gX1x$hyH#n?;E6IK@81cr1-^x1Ulv(%j{D1RC8QujMHa zr}O?Nya$K9sS2Fx5hys zKVEivG2 z3PKsr(M^O66bb%%N72x!DQbH6ugQ1@PU){^jej-TZ{5z;6) zs_Bl>Uaq!WdKi6fGn~>T z)N@1;$ug47`?lX+9YkBskq;XUi=6_I++&A(UW%)h=sp`YN%51x5ybu#0i}p zANHBD)`i$@Y8}_Di=KGan0?pJ{HHzc!>AAiyX3#9G|9Z@jz#!>^{?;uzbVnn^rte+ z$yOvLT)Q_vutDskwwS*mzF&A4T1Zs-&8hpdAT+OdiB6F$rOA2I7C#%f&ioL-!44Pl z9_p$M%L{!OiN+l9D()3;SXsZcd>*&4;(K%cYC-wMYMt-rD!#ZkgR#@3HFIM&7W<8xv>i=Z&m!YN3^r z|H*exAzD>i5v}2WTag==+3YBPK-C}f;VhknvIcQfP8`?IsLnE@t(>iK{-(syoT_(b zWdSvfbw~zF>;R*zU3{@frHsa(*o3JbUn0j!8@ds_89QYMke7^vr;OZg6Lwn>5}|)3 zR26+ma1#o%V%&jmphIqKxOd2F-sha6>ZqJ-y0yhG<52+HZ=6&_xYQ?jE!X zkCXTlrc(aR>bE^feZhpDLpr~gcpx&^!MrcJwkqoreQ~-rc;!iR&la@#Kz_a>$T7e# zls&-38UuDJ>yAJ-$-YZcGV>OZ6;9}hKHBO?PEK~u+HJ~h{C1fkeoJheQCkmJmms}Z z4Ch!%sRGjAn_v0CW8kMN!MiNU@1vg1pY;-#tzE1Mb_|Glx9hMc+>iZ=Vq5);WNZvs zu4FnNs}0!@7{A&4)+*F4_=QHr*mj>D9|c--D{ z#oH#;9XE^LIUb7EiCjRcEd|)#BZV}4X z1L}ga?ny0l*B944~NFMu1}jiYHp`Hwai_sef%e@?`Kf5;$@C`GZ;`ahBki> z1q@i-L;Rt|lX|1;Fu%1p&y`tS2zZ((;*!L~dYfWH7)GLP*f{=#@q)y&aTL)1F?9ua zY5;2)TIwYSgz#|q3*1hLBbnD(_HeMJ&RSiB>XxFk1%%!<+WU*`)}6d_9Y`VDE>zu+ zaJ|bV-)Uxr0p|Z0gDjl^Rn+r~5u=v`rzi&V7#(#6e0>~cqhd$lP_gMk)3HC29Ppki zmR+cgc;yb%#otjZUsYGAe$(D}O}WwD94iJ0$N?_{Kd>K?m_!Bq=;UcsSA>27LeIq5 zV16s~)p$@PkiF6=`l-dy$}-iIM9r9fVNG_O*zPuf`!U__q9AIM2^&K7%BN7d@i$#v zgP(CAdu?8CHmqx7B4$Gf2@SoI5AZ5V?rMB z)Hi#Jd%ZS!Q_r;2&dUFh7ABfv-`YSVYsUTs2CFn{!RdnHDlAl_Y|Q%V0byaIRGuA@|a&=PqoVfKjL^L}5}x$}0`fBgn(>__|J1Iw$Q^%{Am z9$gWd!3Jc-H~IV7>I}5}Y>g^ZaEpm!CF>OC-O-byF9oM5S70Mqd62xr2CqAu8c)2H zNQgddo3d~~0NFlRA%`9i<7UKBlX#Jl)y5DwZ}W#V1}wj(baPxVo@m6_Ch3!SLAY-} zB~sw208yaem1|(QdEg0UP`&^3JxV6DwFs_%Ea)KCG`{tr*$DgXa-=;4UE z|1H@&@IN_pwC7Krm_9z5Uq0mt0SVRW}679$7im@@n1g| zS`uPLuJ>YqtSxdlg4y>1pvrFyYJBW>`{k9ac&C64#}WEJ?pE9PYz6Mr@LiNgE_7QZ`@JqjKs^FC+N8?!jg6H=iZFRgiR6LX!q5s4?+JtSeJy zsqj_C*ON&lX_=or9eL9-_Sv}JOnP^C@W`F4h1Oo_J8dn|c=(8JgQ@+Nq{1hFkh+FM zxv2}1axfDoVUOmUult|MqQ;9d>Ym!ftM+wNbCQi0nJDO0qjMU4^Hk=lO!}Inv{DL^s`n?)~*101{-y{RQ?d^C*HcMf~!o9mWh z*^R^Jz5F_vT#NF)JVQqV)@Soe{$~j|BnWGtFL^^tg~BYOxNR=OBt!1n%bAyY;4a&n z+-=+Io!vLOZ0}{$MrYBudQ@Pu%X`W~p>)?HiYGBh73A8X{F0Scl=1Nnsx zGgiIMlrDbYdVhH=feb|~fk*``rI=pftQbbuy?8S=J1dVpUmx`R#@TKc+%s1G>_8qN zEhiQt8_TSNbO8Du z^dfF0TRa~;P3P9rlRF|fM>nvU?TsJYcJ{_~oAa3K33=0Xy7R4g3t5Qw&gmz~9dd_z z2>X`T@S`yeH#9=a2ccU|EP$bPEg)+NV`#=KeP~AC>(H!XtmfG{)JiRV##TN1tUosO z?%k!cKF(!wSpP@e=h&ye2hTq{yKf}P`ToK)+6>>Xpl1|n?Z=xoR8nW}JW)I!~PY zcpZiuyXxCyJEVYB`G1^CXLZ%p{+0S(%SlIwv!VA0x)xe#0!^1qCz#(p9pvl(utQ4M zDMq{&VTuCWV3l6MTkDptCUhu2L=ALEEtO|5FWbiCnVtLK(@cB#bt(6=|7Cj%}J~cV;L6tYDDO-@@5uLyzKy{ zd@7IM4y3RA$o~52>0FV~q)3%Q0!e8KVf2apKoG5(aX_h)_lX(*AI$WhOqgar%^Isj77 zhf_R3hV0%t!zz^hb7IDJFZ)RHIyS{AehLf@`y4qoY||wad5NxgnO7V2Y#sp zv_@TEV#vwX3o?*$m1`YI-iY>xa~OefQS6oMhUX+gQh_rL95^*A6|f19q&WxuK7I^v zAI9mEDF+PfaIDiXoj_}r-Yj`Ym*8oit;nz>_yhm(ziz&)-4o%arJ=w=F8f2Aa@3w@ z)x_0WX#w_To##nZWj9Fs&3f5whokBWAkedgEz%lJt{Jvw;)U70 zfi3?KwEkK%Qez^_x_*Ots^_mKK?qMO{qv;f*NY*>E-+(kxHX(dFlLH8^ll<@^VjAd z6b!lFY=US3U3H$nQ{`bMkF%uM{BfN2+J3rAzR<3uqp;@kz!6kmvx3#p^@r5%9TU*p zcOeFPgPQq`k;|TlT*ilZvzMsSz9|s6&2M=~MVIWMWL`3i->*)f*V2Y8-V+zRnVBn? z!Zg5%F~Aor*gn+lJZ8M^arNAR`+B3k+-U;XU9@sDAm7KRhO(dN2%YdK+esvPix=`@ zgZ2Uk{fQW3U3g&?MxpK(b;ECN41ZUx8fz)0{&eV`3%C9woqxC(EkCvf_uEX2GoSiB zNCPNzYC4Uh)ohfgUua|yZ#U|OwRXxwoKzyGtS(E9IUP^w){5Gb^U~z=#hcS%op8?{ z3p;qCseop#L>dO1Qxsjpl*8bQ_2t4C`ZC@uf9O zvB2IDY485Gq!kckfB8Wf9F92Jl}d15bHmX0O|Pq;m4CZ`(qm4Xt-Oc^qrHJ~-M)&a zlDT;q63{K`kD+F=r1oKz@wY$Xqg|vWPlV9mu+dyKt8J(gjk^+&i*6Z4yArj|&l>A! z*5sDUYa3rNaCPwXCpu#0)!k-LbOHDoy8QyO2&X}${iRPqDQDSRr3#ryBg7S20f=*z z|A{}1A*+Pek7~|K9Dy%6;$}~Wr$bDcZjM>vr`A616<5BqWtZ((`F2rCY|QxtAk(bl zf7tC-fnE|zv{dDI(&@woU7x2j3^siMU1X_-v=g%VzL>Hkb|m|9Dus}}lcI+Q&kV$r zI%j&Ygs_v3%f>tOJCVh#wTEvuA}-5in<+O-QB01~*i+WT^YAUGKBU$VoXCc^$F7II z5Akn7yYnEpIab(fu;sGnzNyx`04FN9kHEt&s+P;Br+Y?H$2CXG(b8fpY|68g^hWA} z_TLm0D$DV(nG1(l3r(XHnWx8?d)H9xxTuRaG-Xa}{Me#c?vs|9KNwGZlW(3o886Jz#z%g}Bab&U_#Gf@3|J6RnGslh7!o8L)Po&Ida>O72!plKJq zrMc!tZ!IMYH03T*4NShB?6_yC%h73>R2KB0YsnP$UAv2)C4;(I_S>5ME?QRDvn~<# z7LrVdru3K zccu#|lp&d@aDRJtc~!L39@;9O++=I@OgZR$1Ryfjr0>!mr)iW_1X>L8=OGYUn|1kR zBD6M&W-B!6Xq(+uP;Wn%umc@4ePc=x64q4u`PmdRl}O}9eOQ=g@UQx!{_OXG3>(>Whm}84#g>m1a zYgxFY^|cRJ1L9c^Wc$@eSxtzhQptt7|GJE6chjrO*pU3EA%wf3*HFD!%(F5Jy4>cm zu{d}h3pSlC@>_k~2}~zIDYSZ7MrBH; z5hISn-?~bRPG;ozB^a|optFG8h)>AQqMznNtDf}2V3N7{8@t9fS%z&V7X9#zP`djz z8Hg1@#|UPdY4m3_LqFU<#G)X-h^L&mTOu>OQ&@o)J2MyBUzWcX4M-zyXq&~6P(0>y zt?YZwgP*;Bjbio!_PIPo5vF%dAH=a=>2HQ96)q6oj=jOl-Fbi|;v&!hK%MW$?$~3oiXLfEo;kBRIy@{#BVfk-P zk4Jv_?DOLl9~6G8KtkS^xbJKKS%YdgVEgCwnZbjfanc6s1z0O7IXKAqoEvYqbFMK4~RHQb5myX?}Mytzwd zDcur&lQ9(&q?9={okaDf1&W-tnx(+~V7+GMQl)Y7xJ`~6%j9GebFnt^f=Z!8#)08{ zUhx~s=f_sMJ=>Gk@&R)5t6s-@Bl`E}d&=&{m?6O?Vv9x6*Y#Omt5~H~b^Io!dg0|Z z{6OY2lbQCEw~6UB#5>ekf!h2gk&$md$i$9*|47o)cQ)_Zh^x4C0sed&c?TM$>#XIPT8$Mezt11B44|M5~upvcOO z&;6nS0}G!nzF{YCDAHx#T=h0L+!Zc8)CKpIrHIesaMvju*?58louVuDq0>Xm}1(haxy*}8;9t`ch71#{d z(8Y_cYQBvqxCw}*XbnYQ&Jg}oT2BX>HG_g3U>M`xe7|5D#XJ2fQ^gkApAYx^o7n<` z3sxj>R`Wz-bhHdVMO2OMRWfS+WLHF?=!_D>uEp8B=ix`(b`gBA>va6B&d< zghFDqxUnR5{Pez6qF7*6VC@PS)L-q+U-oKT@=O@ajbR>SVEzlwrH#oUD;h#)IwMSW zX}ls&B~wL8Gtc=wx6dH|JIaaedsTPI)3!KU4#wchs?2lyEln7zifTgaR@qSPRzYPf z(BjSJfv6Qpr5TC#!r;%7X-myez1r6#hmt23Aenv*EbfW{CmzsMP;}HmJ2??a$=Hab z0>|%a(bu`!lh&q8Wp#A<)PxG*)yVFyeLxVG8Yde%N-<2KU(-$h%cJMT`!#t59wNWq zQJUY^((H5g-vd0Jv@P5A_7PZo|pgE3$O7GJtIuv;*`bL?2Jp)|Z=A#J z4lc2$efed97c~NH8K=X${ts>L&rKoUA5_LyEtFcUq|aTRo)8X=hp3vQ(Qch*ga-R* z6-kh(!zPV{Z00@2L-sO)U4IaO5}|Vq-L$tE*vD4_ROW1H&G_RP@#=Oo1}|LJ$d0!e zBsepf`WOS3=T&`+N;#u;U9&uCjY~Hgo3)0l_eBHIY>ZM5c-V{E;Zo7+Yb!XvMgKe& zC=kXk64|&penBh{VmTuLI8`vtPaM+&BqBe(e+QEmdYioWp)wu8QwBZ8Ndn^2NcdxQ z7q=yri=eQ6q;n~)%RY)JIySKT#8g?9>>YBb3LtFBvF4?PagD)qSY|;ylc|O=?xT;R zl~H~F>Om}9q69V?oYS1@ligW~q-l-?A{yG*-Xdb|#2m5iUy~cUw(aE+B}vo2&z?_o zB*8e+?62WvDE6jqvy!f)`USJwTfy$BsyN*AxTAn@ix)HHg|x|Lm^+kc!iZgrYIFyi z!f&v;DONIA%K+f8cUt6Y14f4aiP z;71vwsdenna2Ok_C~O&hASNAv$}-ub?JL>_Aepbp@z_Yzuw>o(hZUFfMw|}_;b@Q5yMl}#{ zc(QVPfAB6(LL>Ae1bHkczLnW{#dxxEK#VbA^H&UJU>D5T|1b^vfp7G}_#!}WBtXUd zfsf7bq5f$4;+AM}s)AyAY1$-UbK3yC0BPQ?P@A?Luuv+7G`}$xrKO>A=O|Qr*2Ez* z8%RT#k$Z*Kd7zZ?!>}V}T`9An8OoN_uCJ3uCzL4jpte8!5IZqda?CKC;l)vC{M4nx z4{y*N^r8&unn$8zd*^j*O=yCoal`EP#NBxEcjZl;qHvO73oD|JJh;c|KNn>e16QMe zT9Vw}9%N)0qVcu7Avroy-!maHEIQ{&8X9Al#qwa9I+8N?CKUn(`W3z7zPbhoiu`-N z`od!2U>Ez$ZXP<bXVz9DB*&!3FRI}6@7aWkA zZpfotZx=iLD~R!@YF1at`t6wj*RipGk5~8bU~;Zf!b`;&;$@UhKRV(b?qbj9Z83Ou zc1LeXme4g`IlZ`One_Nj`z*tELJP8~*8YD-oatgO{BC&v^^{}kATnpIy0%uSgoZAKc$U^p$V*^4!-KVekCo!|!XAngR_6DS21z zpWC)(R3HW|ajH^!(F>Ei@MphXMg8FyaL_SgWtEEd_^5i37EQs0ZQS;E+|lFj8363% zTVxf5yS6o0pqY3L&06x^W>3CL-sFS2Y~cR> zL?0?sRnJO&%C|n`XwS_*^nV4A)n!B$vlvHXYKbqv%QWpgg$~~xmi~%8Kevqtv==cH zpIs|tS$hkPX_u2UXIKg>?tkO&ALv|VFL#K+>pwM5GL`Jed9c!FP{Cuq{r!eR0Qm#t zzN57i)t)x2JCWh%UB1wpLKD97&oA^p69f^y$VbM{&?=CNH=4=Te7~>q>-T65E#c89 z)pG*L4>%E_S~5OF&)b+}y8^!vmHh6y^H@_d;;&uIIZ=I%WLlJw1z7Xr0r0>-t+q;b z51gOU-I@dWXqh3I_9kAzbpVR=+Z-;b z>F4ZPT+0#^&X&&W+1U{K$GIaig2Um26NrTx)k(-eYdN)i`O8K`=AWQiP`Eil(5^HL z$r$$z%N?9MeBQ!2$)R!~(jZ31-2VE40xaaUO3Co42o=yk!{Db7RqF-m73>GbamMqj zMAaUmQh{ajHqJLI6qcu1&!%Fg7|wL#Ju3mjm*P$R^z-gpdLeadN*VQa(~97Nx&Z|; z{9O^2Yu0+n;$Qdj@W9kIxduk0aaXYahL~KtaT~{djlIycBOz&a)b00P$|!xuVPKBt z{+JCI`=kfvTEs-va6DkE)*tAO9`85gm6a(pcWR$QlTrmSYP-g2LD^B0X)gpUQOJef zEmY{Jwg0@>eXsgvH{hzy<$}TATtb{Z)V60BPOjKW<)B>;*n4esk7>oRHu3wLBekEE zV2o=jI#H^=2Gab8;K4n)nV-Q`CT+5v`LE6y{J1!}7M@Y`v#w7Xw($EMew`tqu9NmGC2yGh zpU`%(pTFSz!`Jms?LPWJwbJDfc%A*SQ{d*q#HsAr-4t`cT%co}#Oh)N^KO9R#)gZ( zA63<*d{+$B;GHh?68OsR+;Mk$)xe03-HO-1rHR@#=8ey_gWmYI;QG^47$2g_4b#AD z?C0#Tyl+^C!ON4|vA1#(zQ4NsHH7Z)48*muBu?(bUD)`lq+uTi;)1YPQ|v4OL6N%( z`kLNrTo>|{E*nDkk-G)w=PUl*vhm$&UQCuJBjI_!F7Wv2GwuQlbE=pYkEmGhf*w#7 zIplZr6(R9<8dj?K9}5HON_;pHMzE7Scr!``;1)`2b{dxz#dc7XRR8sdz$2>H=Oov` z4GBk{Bs^C3hz=61Ty0u%i${SRfK!#B{>IU2N6v=+tGj3mPqH{M2K7M)2TpB>&yWLS z`T$d#YE4IRLMq^!g-Zkvq4F&J^^if)1?~_(fw60l`i1KVfy(9inx?TT4H$p-GAX+0 z^kw01zcK3FI3b29p`Oc%)T8>>uGy=Fy9!WUq-rrP|LFG-(0;*BzuJg?wr5HKnZ{Ix zb}n(sN?Xix2M#;p3{P*uZdqfs```86ysZ47Hp;4%85+@XeB)IX``eW@nc`XhQ{j%M zUhG@scBXekorO7VNZzaYaX9nZrDy5nb5_4{&g?gQN|PlDn8zs=etA0t4i?KAt#&AG zX-D3Y#yjGBHwhGIZ0RTYKLjs3(!xFuwvkb|QNcy5m>!5q7Nc1nlh<^Ae*j*5{N;-H z8B}jBf;q`P{?F5gClCK0$!i#*?te?#4gXK_divSFuXIk$z7l*pBU?c*K+1|D8Ly?W_S5MQV_q!o4ofUUq1B5l2ERiR?LC%)}% zu&;;-d_xe3AP7M)f)E6u2*MDABZxo{i69C=G=dleu?XT2#3M*Rkcc1&K{A3A1gQwp z5Tqmcjvxa;CW0&k*$8qF{P^p)Cr|Pa7%iK{0}#2ucwALQsmJ3_&@9iboG3 zs6tSUpawxLf;t5C2!IG05HuoaLePw$1wku$1U=P7Qf&&DH2#ydOBRD|-LGTB`DS|Tu=LjwkTq1xX zfFZa-aE;&w0UW_Cg1g6nL-2s$DI$D@ta5UEPgo|j3WagJiYN1c?LK&irjloLJKHLF;Uc7iK^aVOs4A9H-0Lh(J)q! zS^LxvMb1o>6VzJzvZrw*mlOBq&!3D_TLA|nzUPGHchH?^eg4%tKKWA&<#Db(EMX9z z1E=sA%bz19y4ZT3Arr|cpa{^;uzB;p$t|Mipf$K4BjkGmJZjE-Qoy^an_w3M=y zDj%gPZ}&F~&CWf;`nmR2YJ24w4+0keIwyrKe^W)XmtEYJp@oUo+%PL4PbP{TaU1AP zJabdjp4@0Z^25PgZcC5r;`u?SQe z5!fv>TH02*E0|ZAo@V~ejLr~v9zZ*ERH9*ms~m(w%pl37%wulp$3I%2@dJ7P^)1;` zOfP;M5EE`jgfr8NAbKRSrcHafLYVeP55E<;%jfSbv`pDRyr2q(kI`=;iOnRx!46{HIbd_dHLScAC6>4N`sQ#%Hzs8`7Km}W3RV#s1}f^gm;|lrR|kR zxR8a~Q>zSK%hCGE$H*)x#+0(z)YWUNw0|17K6M&phoO8r;LF&E|DHusRJ~e{$Biu8 zdiaVOqG*l0>da7!lugEK#LFkp*;>$+GYsQlTkFb%SOo^{)b9#tH;%b$Yxz~Q)La-a z3d}c+)vJN(!(5L+!!s^fwO-5~tUT2mKc)3YTuftUK%$F0hba^5d%42oU_hvO>B$%A zuNQ*+Gy^yTqU__&!{+a#u%;>RIzMD(P!2fWQM}(w8whT_5W>Cg@{Qjd3c8ebdHstj zf$qay9C^5+vCC^_{gjz_y7*aoIoe1CESA_~_tJ6#)pDSgVEvNb`izZjutur-#zGMJ z|4}!IP{6gC+cz5_9tzcD$?PYX#!boGaw64MR?=}vpo?e!OMZY&GkIcWb=DmP34Ws@ zRpNV5ZUz$kBB*yx)u`{*kGJ930)2GeR>9VG#sN7x`O!)YPcJW%_?01t`g(zwY>|Yc zjGar$d<{vYNR7zqFS}z&!3A#-h53 zd8oH~vWK{>Y*TB=hgo}Gh^vxk#Ptlp>qLBVJmetLCwuw{>rSLRf3GJGCNe7J5tHsI z5ipLg+Ik(T;n+@_JFBZMhgH1lCo2`H5Ht50K+d)n&8uyscpFkZ|3lZCa*&_}*R>Dp zcMg|7c8FCK0UX0!%?%wpNZ-pMS((_a#bB0;q=$_IY|sSn9{jTBw%_IVxG~|`17^R+ zWPFb8V0~9A9C|ra-_^sZ+Ni6Y zUO@eEV}fqE3nu@*P&*I!l_^H4|N2nDJdg3nOFzmA+rz zVh(42QCNK6lI8cMa6x-2IW|al9glp#`VV_k9dJ(Miqp#;oN9{Iw>Oj_n;SS@`l4U0 z;lD`=I7~7hU+-Qw3FLfym3d|z;Ay>Rly!iN&#ELiuL>C2tKfy#qc9n)o*6`mQQSxM z8)-7qnyTkeKGyti&zec#o5!9BOkh?T5R{Cz8rY||s1+tn91})TNh z&A0L2>VT8Lg*>|zb3tpRW2hnx_?Q93Ua8IlO#5i*r*M>b4-+r>x=6V`A7y=}_Q;FJ zJZ&A2o_{Gtr%oS6th%HQseajGg8>u#EW%oLY$0RYTlJRpU0L#uap?keN_Y#GePko9 zwOIe-OUzCAm#`uqUt-Q^FY#0tn5>XwZ>6Ky%ZIc@e zO>e2ZagX4stgZg1e0$x;*Pjbow_q2jogiD~h>DgSkN za{}SU&9qjc?5@X-BFpc<>wjNouDqxopk#SCvzB6O*+Ld$=7kQ-$8V_?J9_6U_RQ)x zsxla*k`{ou*-KPz-xLkpCbT@Hq)Y$1G2!*!jR|*z2A#iqoK^W_EQh%;`khst#yI*3 zj$Pv|KQ-oWEQT8MBcZY4&l7m9KxP~z$Ri(eB| z%3q|3vjY|Wh${Eh4K0inb!!kaim!ZcP8vQaP_`)2A<;f7G0Q^Vf*s+nNm`W&Kz zFl(p)S1aaxo+fC0jVm+Av4`n`+ObE)31i=pQ`K)@kLDw5gS#oqd~k>B2O=QN0Y7Ub zxXKTh>xMXP2hKawKy>Wp>3y`|x}}pZFf<+>02? zZ0TtdjQSP{5xj;h1rgi*XacT=jRPMIbs}*AC_P$9G(m16A>eA!lU|p_h$*|b&8VBU z@Lcx4qLGUn%NxTSb!KFC15RSV*=_lG6P@rBgJ8loO7H=ne5z?{J=Lw$FCB-nx8|k? zbPmr20KLzWiV1quFTnG(g&l_zY5{oVP55^nJX57y?LVk)!ZfRw=Yp*bh!Us}QMIv zY$hCId9J4*bm~2d7BAAXd;FS|XP22{t;MGYmzoM>l_S$rI4Sz;lB`Ll*Ofu(TAUPJ zZm&U`4e20-YuwT8qwHsWke~j`L^`<=YI%+Kq6#12Vw9DOC#P3aFL@8WHAE8{e6n%j zgp%>6hF;xaEA)!iH|&!PX=Y8*(%Wnr{?Ci+GegpaKIo;SOi#_F^r_Tl1mc;}&SlyV zJDy+;DaEzmr0}d!aagq*r`A3dv*mUfn{{C}7uvn4tBiFhC}(A%C&3m01( z+wUt&oE$oqCmSS~=B80iu><0;uuRDH#$S7l(#g9I?iqm2WSC}kG z{^TLgrbDBoh1pT2v_sfJby&73-c%a{ z-x?D>NfbG3R2vI7$8!-p{#!oz*VytKaRai%xZ8UQd?<5T(hrz(t~BH(5BJ!NmWp|B zE29#6*Gw)(JK*FK!20hXe{r8S(^tZul$0`kym&vV0mI-E!dRwa1!n4HG1sMnALO2DLGgC*e!$J)di~=DLW21 zYab4x=kmY%HZ75|2d+jKCEeb0#G{|t?~=y>enU88lc`~+`=?I^W^*e%O&A2I)mXAQ z@SptRpeQ(P$4_Tj-&@C8_;$WAE6AY=^V%Mj2>l%L@ka71iLn%~n%FK&5G!x|)y~tv zF|t!V&X!mAS6#+Z_{Ab`#M>+Ing1+>E$&K3QxSH49UhmyEEX3yAML)1Yuc6WZCLra z6wnf`Q6FHn|1|J|>QY@zele(Glh5m!cS^?uUY_8Knt=z=*0qJ|UyMoDreDk1Y5gvO z`u}@_gSP5<&w#_~md%`jP9&jWG!RpYXX@3I)gt%x~Xhd*z`;F^u&tZazxt=%W>^d z6@ZKW(;NMVO|Q0QNBofBSKd&y&@<^-rHbq ziza3IK6W&ug!9Fg2nQZll!@Z0SsY8_fu64N5-*#o_l%PtF3ND}*Xg}`+6-Hb>*gAq z&rprftgPcD8NNY}TreiDzXaHwK*p~vk58FL=sh;2kcWXKzya_^$cu>Q=ck`rgN-k_ zg-oruj7g?J=?-U4;CxV};xu+p>IFY`RSSv6Bwo~U@F)iZ|14Km-75=2jmF%k{S1H? z(^7N3)K!V6i$j^E;>lYg7L&yx+TGJ98g#21m*O8m$20!Gsw4CgHHxzs^2jX;A(JqQ zy~Gw;=M7hIv6kp}y&OfL+Zn_sE4MvYJ|9K$MC2l`+(7vVt>0ka!n*$i2PqbSZqD31 z|3?*a8Rh+TU%cOcLg3E=AgW~VLK$+=p0>a%{`hSE`R6TBTm)j9G*GAh+j^S)(5NA|2PGA#_1=tWOy= zWBAdabjBj#`}}H`ZGThFwGQ8qc;(`4 z%zsEReTmkT&8ae2{{lcEyCV0k#2x=^pF%#T$96M#xn%D7=#EdXsJuOe)G6Q-9b>Q% z>+Umjp;^GQqj_KXv1{squls|IEFhzPGM)YmRtrs-(2yX>mQjP7#Zhg1{2VoZb(EU! z;Lj6~GBw?7y3m__O(XgYR2Q}gi=wlf7bWw7_h&o~uT^V45|7Owe zzJzN(#>SgVQ^Z86xPzIFCG*=YzW+H{9K|mRQUM^EXF`=t6&F_iGe-?E7+S^w?6L83 zndOMR|HRDh*Dli6l{I+MXO6Y>rz>!92RvyE;N1xo`nWqVIbQNc)z2YEL(GY@epk~% z>27%lS~qattL?w$zV)XYN>%vTx2DkF;d12jDD@Y(%q>s81~EI{S<{$!fh)~TdVF*2 z>dPW1qCL!i)Df%BWN|9{fKVqW;5--eVaL3TL?d;>8&5rgE$Hy={Rz_X1N{SM5K|xH zmt}}Dq)+qf@}`(zh$riRZA>T;%{a4ZPd%#TXb}fAzbjF5ggN;O8s^Uw`v$83uHB+N ze8X0T(junFj}O1xiJDVd`UF+CeWy~Le=~~RHU$?nZy$Gi_y6PTEx@Aex_5B|1!<9# z6p`+35D;llx*O^4Mv?CBkd&@r=x&B?7`hwDVaPwD?|XjV`OZ0iFP~@j>}Tz@_gZ^B zqt~_XweCn)k1QBG$m18Jr~BCCDFPxUYq-AJ5gAEue66T#B2XHi@j9t2!Yndsgy9lI z-5_^)kuY4sQ=nXuJIf+BfyJJp;n>*fY)99C%;+g3!pNf|o!~8ztA; zQ}ZuGrRN`CpD`kQ%NSBm?A_#`CPqH<7QVDWY@s$Fh&i~a*YUNj3m-La{AF-5ww=aL zH!T>Lo@9mZV3V_Ky%NOT7B12PmT!ykB6xSwSW=&wReW2z>b0=rIF)ronsF6y9g3tkUjoa&%tVoSl9ukw%Dy+R6Z%5S+d<&Sh+tMgUd6*04y zpA94LyiIyO)x!HqFR(ar@?2zrUhd>hyKEqPuv&OoPKB+nHBH)}nJRZ3H`T|*lC1l2 z)35bp^u*ujjZpKhmzl&@^5(Ny1jHBm8p=y-Fh~OHskUU9EzPpRoqI*K`dXuk!3>G; z9sSI=UOjKZV*b;j5NGCswz^j8JQg@((l*a84|s@sve5Z5Z*4cta_@TY6}>t^5_xAM zj@bwz5$?98My!L;DXb#b`<+oq-GqwciYo#KVk{yxXDb%8=0^vuKJDuY)`G{JN2AUM zOSIbx)}ot=m^RsA-x$WS1=cb_^otW0Z7ZTCoi6Qj(9{C!{KRn`UpzA@VO&&W(nQ}k ztMg(~SWA3%HpD zv1o%a*);ypzl*b8ZlN%x-Pp~)e~jS#A7*$O5$}`^Hl2h&I)PO(tRHWa<{3cRpRIYJ z6;)4T)&H`%_i(wSjGBC88l!Uv*tphin`EofMT5pB_?&@JwJ@N+m=lZT={SvM3n8FX8>OJ1BKgG?s>@X|j` zYC`-_KxSNB4YDI@LW?S5-l(^ly6zc=30R!eqSBG`mm|#JrW_$SdUpSWfpsFFjhKrESORnHT9Gd^{9~TZ1ejg z{DViJ)AI$Fqi@!STy++)hNe|uV*rl&lO_nH^-LvITEG2rRkLdr(k>tHog54E;P&5A z+Bj3*I%548cZPaJfwNvbcY%0=)sd zs2-r$v^MgL0ZWW-W4wx&|I8e@TvosS2x>|kqxt@JVWfP!&{*nu1VKco@Oyox9JlD~ zFsz!AZo$w^nw;++zo32pzWf4f%3uHPondn*{$nuNt5g4Alu#sQx|gwW3$_IobuJU^ zHSEV%bW99ODH)l?J~~CmMf=5g0^jR+OgU!=`Qu35(fUsJju>YJJ9ZkCRT*iCb6%GO zEdI2O=GR^6;l-Z_T!bFIk%E>4v>NdvRe(3rsm#SzhKpbO)+U>tE{C{(w&sS(c$B;qi*D%yP$P_r6=6$Ge zPKa%9JG`$kxH(RWfk)J43cVu|1M7o%I?>+S;dRKK;kWmMeHYV2xAnIMq*UFy3&r<4 z#dfk_-1|+j!Ss^XO^v@F!?F8ziq4XSY=SKB>3GykRNXE8D&6=7m>;i3PUTx5=K(w& zf`gOP`0=JP@m}^#y{}ri=&vV{E^gO84eM19=>)rpcvXGs5J2$mvj35S0#yiEvBS}L zRgRB5`vswVkqJeuIhRq!?_dG&X11#v)9&85Jps%a@SF2jJh{VU7a*whO{XjQbd$=( zJckI|5Ff&MZyDb~_%A`ndjRuoe_>S%W}pn8QA}%Vk5twV9g@>_qCMh*rA>UlO!?{{ zo5wg~KCzqoJ3h^2ic6$*U;hiFO`@BwEQv(0_yBKjy_O0UncO;ey6f3^JN^M?_f2Mj zsZ49VPW(fE<9L5dYTLAj;H*kGWu}aGrUD1ga{cQE%5q!9j`~b0!X5N_hb9{B+0Wqm zdanH8dQwWCu@zTD?FJp0mwI!KE%Fqp)5&;?>c4e$zUuHpaC+R|Hdo6e7y@_3R|F7! zW7X!E!TsJO@4@Yu)h(hCN!EZcLWI(L&)4A{T1!45-SK2YhEc^CEu+=pwzb2=w+vBOiG^tD4o%WCWKtJrNAYh!BI`)% zx?K7LM~dWLYrI4kG`ZT6*UmldOp-$WGsClJ_w9TZNNXOS+|{8bxJNlNUp7YZFMjKO zFiE2;%fS0J(Yjf`ajJvh(KUv-yNwN?YWL$SaJ zShbA|d$>-y+^lNWHj*)kbsKo2qp(0c%d`Q0l3od+I%~;2q*@rAaB&FSRCd>H<7`ot zSV))ou#HnGPIT^)Dcy{!|L`CS*wM_^c|~bf$8&X~!@R&Avdu*&5dth@=S0oovgIKv!WwooJ`%`E~`PAx7$pFRj4E6OZxZ zx2djsI_HApq}5KDrkT>=+}o^L8{SbjAWAcE=OUi<)sepM2kY~6<5ln%H6cJlYsS`Q zkh#|})Sv)QKyNf;ZzsKJ&!yHjVFwj4s~)i}%xht;qy}RSw7av)ef@oY_Tgw7T1{MW z4L(xvvqj3Pkl)5~JNzkt<90QjG;l`Y^isPDsmr(3qxM|>Znz#JFO~V5M92Yt1bum5 zk4mqqgAIHeiIgEGnPsr78b}YSV6Xxi>=G((d#zr5|H>yS-U#T<{rZ6hNu_}?4lF+3 z+_bAn2?V|6{g44+%kQ~FR2f{#6-G)@Y*Eq9$~icA(Gs$*an=y|tMH@Fvar+?(Z`lA zQ)wS{j>!*jE(Zpi6=aTO;yfERNtqiUGRMeipN@F-L<9HRo@EoM{eZzGvi`s&%xheu zMsji|reF0oi$HsxJ;HhZU+U#MKK1>#q-5{^5`shhC)dANG7)Zo00U0se^Jw;J1L7N zwqCv#ogm3ZhMs)jyLu{6EMWR{=&Ol+AA8qGatma-?0EkeqU-D$+jo3w zA9`DS(|U8pm@P~`JdQk)Sd`Rf|=SYFeXeWa= zn{WUWzey>w;haY%L>_jM)iWS3dyEO{DbwvdYQ?z3BVUFEQ~Qpm1Oi9<)|FCEvc>tQ zc7ok5`q>e^TAQwjE`yHYmBmV%jmGJ;cQ9spk+96{CQ-`}ASD%2T* zr=9zHt!EhN;5 zbj>X9KBNgnZ9hkVVMO}YM^Uw2%e+i1dP}9#%uvHmJ1WBvHHEbGhTo`bnBJDMYv+ah zOg00nI}2G-U$rG2&|)>tt1-=LR!Y?d z;bud4mHpZ)r{f_HK2Lj4z9(^Cv1mqiCvxFFs(88~lX%~Ng|7nf)--cz|J=}PuEWr) zf%Hz7xNhSfH1x{^18K{1PkH6g}K6kmqAzT!Ri zaK_B_TI@QD-DdzU2eP}Lvg-4U5qvO7^F1&zBWC%-4+I62^;@FQ zmR?*!jh;`ZnU@`$DOu_yF>{!w@lly-m(T>yY7W(geita4(FiM8|IPhE)2_Rbpuku^ z>JZGg#BYi@XA&OW6wYdt#QN^=J2k@nhI$k+e}pp*lAN=$hr`?z0bJx==YxH7RugLA zlhLI6!a-_xO_;oykVCTAt`c8KjEVA8H*>I8vod37dqwRX`RdB{-0M_ zh>@T}ax?JD-wO{`LEr^qlqC)|+QSr$?0JZJCL=ZPzn{%cF~qu!l9Au`_8gcT7M*c5 zQ}Jo0VEpx?;(-M!w@u}>dR!d8b9DK)Hfndyf8Av#=MIZeAw(Q0s}@8Zq4HC(<1?wV z6qZ977SzGfySzs`Tw7`r=JHJREd)>Is72gQxbIF? z7V{_mj{1JeM@-Ca0fE*mY6cJO<9GAntfTam5Q0%nvA0#)y(PrqY8T31jvXv(>hp5O zVw;k0Z>}x|bcXyt)3eP#OHklB^4zw#&E!Xguh?UaKRYELlpTi=*vo{S#Ndi*FS|8G zKkwcFlyD6d6ha5!Wx81=G*23jn~&*VHsjA`e})~PBS?F{>Ycyb6%-jrUBte*CXC8z zMM;4X*pFCyj{(Pc$iW9DRb7Ln0ei?ws9E@E&Bb*rTN_tzG7a~rCx931?%#^tAsHCv{`=L0PBJMjcSqbh2165itN(@15Vl_RbLp(b_kt=1*u6g(SkE+? z1hn{La*k?#Z7r$05bvQPT1)f*?nCAQnz$GM2Yoff$C`hhL#ZkAd(wblu9VS6fAIJWQZUrqAo$P;5Rs&h#l ziY)lMuggpUyT!q;gMh=tU3rYqBPa5EmlhGQ;;=1#C=!b`eo}By^l|6KuXbo&JuXN! z^yF;|8Elc(MPa~v44*XKKq)OkK|FoU0P_+NaCI_JE_f!;yj=ZXUnNfF?`}iT{|k;%5ck=U4y=6dc(a{Jcg{!dPg5GeI^Y40K@<_1t-TbF!*x zkGC@jo2(%WxJA40)!$&^iZa^gmQ4Q&9GVPd7E5qLon$7b@d>!#PL34G;K6_yM*P9! z<)0-6gaL8?8D$>L3MEK3axjqvlXZNF-=;bApS9O@#_|M96XM}%Ig?zY&{*WXBZ`^9yA@&Dn#u=H)^QE!so6N-FPOiOSE4y zz#4fl((SxK(C3^R%iCb$`_Y?V(npptFp&h?a$e_il#niF(@(_vR?;iO8>D2k$LC5_ zrO5Z@bayyUE@a5C&`^BW`kFXyqIzCG`R0`V?d@rszNXn2kgwoK$gF2~4#hSnU|Hm5 zG_`fE7kQ$ORk8Htc3ZA?BV0;+TSI;gjOu9a!qNz7_Nba%zHID5SX;uEAyyoA?5v zqgLFbR&-Enn9E9_%c8|OrG?f;j&+0>_-mxWMB<$b(d`jCqII8zPZNT-1=7u^-cN<2 z4_OP}gf0ngrj*pLo+e^!;YG(sv>D z(Su+wE}680?*Y*#+=Ty2D_NJGQRemQT9Tcdqk0_cnhq9oPwcv*8IA=PFIjNfm+xR! zYtbQ^iQ(i2v?DM41yAgp3h_qLbM8XGksH2sU*X?3K>V<7MY_wDx*KrxQBNaqkME-B zAf~(n@S4$uLi70P8+{B@kC$oaioD&pi)bkDX$t@u!>rIi4nqfPS#U$}N{BgfFQ_DX zqOF8gNY`Ig>-%Xn!X9pNR@&=0%O~f{{rxF$A*?GiZ!Vi$0OB4khjQ77l&S(e=@(ki zkA%oTUvrmsa+m(>*MT;m%<*psgDtMKCbcbcw(Bl;l`eM?IAM3#-?;I@0z(b#nsti53t@l+sx57+5eF2fR)m0*iFdG@D3fI00XTfvqreX=SWdY`JN1xb88)j-7j z2c7EXv3gbe+hv-|_h;)LvLzpNf1Hi1guS12@4x)mY4ojKZ{JyQ*`4ye%oOh((we90 zShP_2X4+D-g<$E`Pq%E~>-d z+Bm|MHm`V<>wP$;OGaI*Mm@O4l+TxOrnM_&&P+E6E@>(8{7c!Dn zKl?OYLi|+@o6ZQZ{9^M?wxlR@>yCl?*EC0AjraC?Kn6Qro$Kiy0Uy4Ssf?C2DDxOO zl3q+bk?@OE$RU|m#ah{fBy@j*u0bd z-}~dzH%;Bb1(FITjTbehPQW_xUU2Me-n#*ncf#^vyrxMo@)S4AjADi?+Ib2`v;?Vk3S zxL|X~pQ8F7GEkFhDYGc}%mr4QC)`>O@=m>Gr8b~U*nJ+GEEy;N(SM=JM_d4_wolPO z9k7RXEw%Bc%8930J|;puay0y&!t63BSM53Dq^GI~=ps^i?94+#df#w=K%~T%_;t@F zx=2YIF%g0Y=s=L3Hb@OD9WTohYbxhCxqL!K^m36Ti!(wtM5?{!me}(#izzh!!l%mX zKs6F)^NwC5b7JEB*+_|uw-0jQ-4=ln|EW(a+-HiB&k>M>Yn0CY@BI1{t+wit^paoDWH`~g*UwE578ZT*YKT4;Mf^un~)wr!`c{idMvSM2WZz z`k={dGKlpH6q6l5KVSWFor@{x+Vjf8-S=3fDW;+&e#&N$?2z-7RePcqa-E0f^ubLV z*rukcS(3icMN5bctu}er<87AU+(7J zc@=7XUUznn%5`&)t*=~9l`@$G2u!nvoX7Eg(P3{0 z&t!IihG$mn+@fqVjT)2=`K6YaVVlCQbCCLz8KI89B4lPey>&J)X z{co{MbO-LVaRxzX<%-39y zd?!{g4+r!uaBnW2wwkNF1;Tkfeh^SlqcS>5%I&PQRdz9AoSzt8miI1*=ll}i`sEnW z*9(^X&$>-e0DjXnk926!t9+3iKOG75505s$WtPRdFw5m{i&7$tZ=%dd2yzqi?w{IdmrcLg6Hfy&%Uq zoaEw}r?3&-!eQ?6&g-<^qt^u-6gj82y1gXA|K$EFX`iE}8Nzb^k594E78-ug8Yp>U zA_6CytJ-c~TC^&74v~81AOPyNN4be!#jk!glNw{Y5Zohn(UvMT2Hfd09N8lZ!H?=)Um7)gRvb0*K9qhI%eX<`Mkk z_MSn+gxfYgSA>y4#MSlRynnXem$1D53ihRexdZQZp{H=bL%N^5Wij$;2e9pCE%y;9 zjav)B3MY6zZOUC|1=5u-+jdxDUe}x3du=j9R3kbMflVWA{-C+rH%ebLv#tZ=He7I( zQg_C#?*%rN|E;hvd42RWGgw6yxv5X$a4Ebct;!tj67}|#5t*SCVc%V+Q14tHfoEFO zTub;8Xbwlo`%jhi*f|`nyUyj&C*^5|AbtJY1`H`vxrw|lq2>{tZJbhZpJ)r90diHP zQn`Xch9_TT#c2z?Nh%>M+Xu3)Y(PEBSgHs`28hf_S2*<9G*C&=!UF2@gwzM1pofI!_=VCszQ593j63#puHh8k>%?ZX$%I%{tu#Mq$;D`78;5f!< zR~E-WcmW#4HliCiC4{eZDmd{cVTlajCy;o80*itS7 z;b*F=x)qI>m}?p8bB3k&SAm(W2y2+9%%YDb(FAHfVW>2 zCJR?jVn@5YDU*z&gC^31Cl}yY@nn9ii7XNKQ9G;d;KW(&w;&@b=ON<)p`%Q#M{n#w z?67FL+>|ZZVMh?eK(WpHLtDD+$>RH+X+CAaoeQm(4G3piFC&0>vlf&fisgf`(S6U{ zij0TJuRPxd);gVy%0H~U?pTbHlD_qol}l*(LPy_wNilBagSz&BY_OXgy<|%s&6u$e z=M$sZGD;La{Wj@gfBtPA@aO&pfGXc{tmN&3JfluABhtE{5vAjqXKy@}1sk32&%GUB zpU9p6t>-K8-xtlyxd3L?O(%jgNZequJm{hJVz&BTo`m^3iQc`?&FzwJ@B}~IV+0hb z;+l=mQ<4>hFt8;l6L?T*?dQJF%uHNpy2aFfh~F9^mKr90VJfZ0`^2!&9*S5P@x41^zax1u8Cpn`iC-FeS`#xVfwNu|8s`9OA47O)A%086+dTurd4Ys^V&e?8> z11mg^aT4=l12E=$huza1I=KQ?hRGj3gPX?q)9kTFih1)Uqz50WJYR#N2lT`ot7T$f z`R#E!q1uNz3&G2?JZ)KQyz?gUVLG48U4AwQ3==nf@G1PnW_;#4nSRJ74Lf`uV9M1# z6g4`2@pi+|*TkV(rYcM)H0}n(UEc=iU7)&etK2qDGK8HcQ#avwUL=Lpw`ngZq@*7z zt{W!3mJDZRS5E|qKpk#;!-fa`)(en#p|!7)A*#a~;3$DDAb+X{RtKQK|IQm$FMvF* zZQ)6$;$NNdjj(zF^1`sGQ^IrxIhte*?!o{Mu>&ivPZp*8wP;ZLaAN2_U;Kc19%emf zkOEMq;VXV9WM#~l{0$pa#!mik(!O1_OhcH?$d1dq6lJdgRVwNx<@&jN(Hc~5HE_RF z&x7p4*Yr3YI*ulqH%}(48REz8!OPz#3=A+OFu4@T?lafEdR*e3=h}O8=6xD#;qrxz zXFh)-w~Z!c>W)(D$?hDNirAyqf!)`l=SyL4g;s_)PsVuXDPa{AR*jP?!(bHyR;<5W zdvU|06}JqN=p>1wcDWyEt|Ad|ZzmtaoaJ4LCjPE9Axx*>-1PnAoX=ohMSg-;SM8Z- z@2Yo<(EW1Tr3(#kxd3v1lF1C|)a9XXiO3f1SoE!%9d`4DpIvh0>K9~d433%@`3~o8 zjWNnpw^ACPMP4xnUnN+b=-L*X8D(iap;Y$snMdya;pb`Oft4#C!`7{cvpJ93GFpS{ zX9Z!WLTQ)4S<;rqspYtRP_9wd`>U<-)z-cPfNAkL^-0RU^~t8fqt-I?NB@_P26smz z$yU{@8ZWT4+4$M{`PrX~i+zuNPTs^9Tj~35z++UrCyx9(KC_4;ryCX;VKf1Arhn%; zxk$I??^m|unGR!OzYXQDxX+hIxN9mJ3q4&eF*MZotw(2?D|~fybX0UI2074H6nJbP zN)jHIL)8~2djhx513AF=#)MQ-s0ReKdOFH+efgrA$ui;-x6|$}I2ZNG!C~gV>y_cP z)h9vVsZIM7RJ#-kCd&!SE`9m*+Bav1g1h!l9R(d5Z1}6+TZI-_@LfJUDIr`{Ot|oI z&eTB>WKvl-Bottpjz4n{<eJuJnbs8zY_O57vN7-7?+bXo_t4%Bfh}|h zsh)W9%;Ec>%ojP*q)&b_{`ISGoMHhV#4?v~1ewtP%o6eMEGFdbCL%CPuXHZz8D7EE zYrM3p^0|~ZJFDkF&`uTG$}igLSzvZ|F}r|O{ePN)Lun9X*VYI#g1$YU(x+`aB-%z zWL?O`4c{M$8IMK_-bIG5pq@6pB7NLpwI$uzs*)oe-C$)Pty`-?vDJRNmbfVVuJ7{N ze#@$8imLl|&Bw+}yTh{(lcdYh(Zz-2%=LS!c&+j@;?5XB*E;*H?|!62e3ua#Poin~ zlbG+;MQJ*(4#PwLat)zTl&dRx@lqs&ko`o!k>){C-B&A`+rgdnV>4tB9~o@9USV|o z^Wu0-CKW$RgE)Dss|r_23%i<3&+CIQ=8+VeOqRj$vMsSrFk_d{n_pr!(iIq{I*GP) z;`rO@t!eS~jv<}$6DSfNQ+rZ=qL0UR%+;h|U9!*i<+IGD4PHtFm2835Lmxl~FY19H zq1lpRByBPtZN`;W936b|bh9?n$=n-$F)!1L8VcTP4`;+oa#xD(V6NT%wy^t#hOt=A zQMw}b!QjGX)-OJtmVJhqxRD0sTV)9vDIUM?+LPJ$x0}z)%bA7;2NkRM5C)t15c(QM z+-TPL5Yj)JHq&Vxga^gy0PS`3V#Wub_W^8V*99Z=Og~^Qn9Y*tBr=zb>^kMD;$wT; zQXK*JzYdwp-FWu}UTi2zjE`#j(grl>&Ys+ljN3x1>swW#4{~EiFJ-0?%6<778CIM^ znTCc1(_S6Dmz`~5?Fy4x*o(Axu&U@e*R*2pgUqmv(9##U)LT(J@G1kxXT>%6D78Rb zXC^ub;g@p@a_;5NW=4g#cN_ECBrZMDi6=~;S9!agnyunMCe3M&012ov`tX#?s?$EvW*B(c@rKMu?1c?;AP@U zv<(Z|s-G+DfLLEb(+cXQTuV9eR83e&d1l-n%Y{xXZzi0Y&w&KSk>Zig%NrNgr=!G3 z_Z-&`65fXQws}a?kQRsZTFR#p5B!=fT%T6(97n2ls=PKDS_)`y;N5(L6<01_w$9Q9 zoa_y_?FcfhFc*(P@`UB#R(ur>TTdX(L5MIr|nE+kMN) z{@-DJXGbmIj@w^r-tDd)k;2XA>fN)pJDzpy+16(F3eDgu$N_|mj8y#*+joO{v?(K^ z`@yO~T~;vOeS@UZx?DUZ@+9Gb5NBXCVRlOBV_%lsp~;)@8e9Gqekqp_tA|HH;}c5H z&_i$IbK)d_W3pGiq{ySpYwpwnWLqrrxYaxT<*_;xP4ZU)^XS$1{Wh^n@0!YXj97cw zEgmtU?>@YT9o4J8g&ozmzjS)-%*BxM0=q3UUiyLb5svNc|9MnT_tf{_lJx`s@1y$b z|2V4uQ`vy>$L5RQl$$4%-{Kq78(A`6dsp?jwV|j>v`|g0#5f#QE5?} z{7=nCJb%F0)@c26(`1I9&yb=+7pgyfO00QKWI8o1Wm0JY0(`w{HO+#Ic%CeKE_+Hb z9i4s6IP@F=L%cjs9Iu3S7CnzW;o%Yu2;t9O<{>cn^?!LJ@xz{n`&qy{`Rw_jVCYW2 z5;`kVq6py!e>fiOb1dDLBua2x28{*w+Z@L8lFdsA3P*XPC+VV`rfZjRpWwA$&Z?_z z84#w~KMVh%D=<-ZcUdyaM1<(5x(sx=Y@DW_38E2x399jSdXa&Cx^&pYrXFhgxP#iR zUs9mv#SmPv)#`kZQ~}?gXQ|JQvL1wXlpaqIWqNi)(sEXfVL&?v*MO>8uGz}O;p(pS z%l)!A-&O3gAQM;)7B<&PJ+ckgW@eD`60MZgFxY!%5|S=1LtguV_LH1Wlf#~lTjl|z zO(*g-4J{2>OlRSAUeYEsbgf#JFHPV3(@goL(mYQX=IY?;aBCueV!2K$1BdlxT zKCov_i*J<&R;)d;mBg3FJJ5P=LEkcXm#Sd%=3YIcV?1lgZG-LlgK2Se~RM>lmpln_RXys+=EdrHa(t++~@uA4}LU8ONx2b6^H(u(y)4 z3_{Z3{S}!L-shc-xu-V!edpME6^7~LBvZ3d$=HEul%;pzx-azp?+T3pxyg z)q@LYoZWTaxIO$r4imEHg@m@Va1F#SqxWUQBmuh%Aw{RW+rkQWBxiqBm%4;5uqe_{ z4Fg1a-yXx8XG`2Bzk=Kq?wpQtk3T#K+g0W(iBb1J&bz3o=TQIW*xs(D z@##w5tPGpd^|X#)asSV&EW`*Mc5MIY?}c|Xj!CS67*&E*i2k5VA$uM&Q2zJW{?8|@ zCcjOiWaPu2WBWmS9e%#aM?r5UQE0#R`^o$fZjuA-L&!?*tQ1r-L&M(amcp=r3o`|d z1E{3&QwTU}i6NK9Z8|cPn3!_D9f$|y2-qIZ@J1*%q#xJqVo?$0d_ebixFf=2ir5_d z&5*(?@%ZQ1zE!P`FjuaGbpi1ABbjIBZ4m9h-vES0QtyZhctv6DP`<9+mhRfE_d(_t zy6X!Lv0WS<%=Wc>PkvyDSeDUdq~hIw9d2%({7KU_6lKD@)rD;7#Y?|t2@U{59OF%4>DxEGaYtRlRzE*u){%@ka75r?eh zp^^BQFDds7%)jXZv38upeot04c&2?U=6VIZm~f`tV-61T@_9LTm9@6$>#(kAB?v#- zUTqo!wDkF^CWC=PQ6>orf~C9UceF__Za%aI2S>MFbeev}{sH_p4*ccop+Oi)e30GqJysZbIS`7mu-#{#hVtp1bsDWPSRU(m0nf}@i|)$6L&Z2OS8}DtNme;@ zBZm~!8zv~p&#K@xzJSMLrlmg#956}-P`0&bOSb74jR8NOgWcB+WJ%Vgt8n+^WuuVO z6+)XTt&09J)65!`1i%P51#hy-E==sQB27BTrlBq11=MB)n?)pl4S@#NPTg4Im2|&5 zC1KE_W|CO&bBATH_ltmYU>WQz=C@e=Kt`EtYkvc4U)1yNq~wXQV+|S^^j*APb@HL9n{{4o{~Hvn=ky7G=dZ||>s+Yjq{46GrdMc0%CdLlqKqCJUZdC`2H z7nkZ>y2Kwm2+m=d=vDr}9$5Oi!GsHcf3nx>A=ZZXrAG>D&!rvVue!+7)iV6*SV_J? z)(FyjsxjBHqK`WSVEOXv+1669eEIhiK#pZaaB44DvCNu(H7VKW1<~hFjEf))z$~^M zN@iE}ksaKg!O%&-+$nHM1gw|_lq03UYRhj>)_`{`!b)9X3S?%@UlX84-C?6l4qR`h z!r$RG=NW~f9s4`lHTB?^9lb=dmYBP?J|hU}-W+&qbjFRg5IJRd#$eXXA)_72YKW)5 z`QvNVE4-f^HJ^(?FC1i6X(l`5{9Z6Zi`D!;QM{W`T*P>9ym1e^ zE=F0NJ>XIq%zwNnl==<79m1^2H(j0g(U?*lZ??MV-(!1U{Z!L2E}R(`VGeyKE5BT` zpGK08B$H`l!Bs|FiNoy#!bBTpxlg89KW+7Am>ZJ;f-t$Golk6R`Al%=46WlDYfK22!(;_XjrXvUe9C_G)$p`=>`L)*kIe^@V z6Y-|HT#h3%h@2T@Sp7;6aQhXoK^4ZV3I2ky5Ls>hCmv&0Y`(U6_huiN4cpdbD_Dy> zLisO>7B&4FvuTWT78W-}Z~B#(A~#gUeZN{~)V08sTLCa^ME2gt%X8J& z48_w5Ol*4kb|8sw(8@bv+s9|d&jl-IA-gcLn(So>&)UFNdc@Fe+Y5NLv2`iAcY+um z#ho*aXV{z`cEL9^8X7i`fU%(3`}cQ%KLtF)u^c(M0DN||?8j9uQHlugL|ACSIuarR zea&7n&0Qj5e0s7s9yfd(0fdvt;1uT98?^E?(8ey6g&%ET7bxiqm{7fcw6yRr0KKZUdq@YJuCOI)s z&C`Mer-e!i6a0as+Uu8n+4{vIjSux%ddGw3<<7hKI$x&OT05XfPwZvfhqMbm+KP%F zo0mZ(6)S9WkEK3>TNJZ9KMq2`8*swEdyYf%*u2$@v8Ngj2S(RosaNqeLwa~V%?fG#;ZG9nZ(217_JO13LtUxjGd;?%r zR**6*H;Ff7nc0|KWD>WiqtwA~xA~CT?K=0-@(bg7nVd-@-mLy3i{%&UD@)D+?@r}{ z6KtDQ@RWeF3ol4-?S@L$27aQVHpa&~{DQGuP*cjc?K+8PuShn@r*~?*p!ahCrMvt0 z7UQyd?((G18u4n>Q!>Z+qh_2h)H_WlCY&m4H2l1C1Pq!MwD?A6-^>z)C z|M{jW*`aif6>o3uIlx_ocor~F_39Uc&TN6ZJnH3di=bueW9s|b3hf!ZCd?vmy>RJ& zTtnSeh`h45U5yd{UQKPU*I14)+3krHPVfo@HW4`RY3tt7Y z7~!V++0{3^DXU+1R9y+F2bBzL)u#$%^`Wvtq4_;57!sG_`8}#W%t@~5O^EqNf$1YX zk6Xi0B#gid-#s&hwCaIEjV-h94rU)RsaJN*bMG(&^z8XwVzbqIs0pQ~+^j1?ceeeM_oB)1NnRtHWs`Wp+~A={@!w$9bU z!&2KRZ3WzGZS%AB>I_xEkf0kx`nfRhuw19WU5A=ct0fi4A zjEKt4eWRcf<+sh&z1aeD0bI+j(|T8));h@(MoSk^jcmgeQN zb=BsD$wYTVdv58bk#^u)o9VzQRs0sRA1hfHn$800##%9q&O`@Wd5q8%6M}Zhb@+&= z)~0V)k=lLsC(m%0vV@yhthKs)k${}P4tfnz(PIkxoqp9{z0a&`Cz;c<94|@ysU{~@ zk@ND?LoFO(SuB)=WY6i&n9)P~Wnj?7qVlh<$Bk?}re5V2YJSb7rDu>acp^TvWYWEWeC*; zark3L6vh~Bs9fz_1;zS9CcZmpQTAn@zl}roq&bf;_8^(`6li~7S0H6t4ZO{hoZ!N& zLYyMivZe;P4kQt`3jW%Lh)X=wIWTwxA5|S&d~Z+q zi0qz`x2;u${^1PsXonFl!RKcSMyQ9zs;hcUD|$h$zLfXQ|> z1Nhb_)R!EJXW~`}fp(8zzg8L_sdx$G^MLN2z2eWhT-u4dU@=n9nXGx1bUCLt?d5B4bm5hC=JcL@<#9Vm#O#`-7AiEaSXb3p z=YmIc;2hlM+wgMorO5sBRYP*f=pKZ5+S!SDWbc9UsLZM}fo%yP9sU?{l@3D_u+8bp zORH6-&%PxgqbO{YH**jQHMz*IQ!$H=5gnjCQMnTDolY5HTW)7#s;bIwlusHTNyHZM zL6z4t#?iQ9EAMc^1l4za`sAz=7#2QdT9BI;cYO?KtdnI^x}6o-zt?|zO#j~Dm?Ja6 zEWWoUV|7WO0xp`ccL*^&6$}VbXnXAs9=*_z<}s`r!)ewv3Qe5bIUNq+l>CWxvQT$o@#c(3Q0y z2OxBclGb~qSimv*^Yqre_x|`_FK^VTJ-I)Ljq*?)v&xnI%BHt~b&CG5E8IJ|%AEKd z<@UW%mhs^*so|eG@k+9nr7hlz%R(V?RsZH_hcY63JKExVAHzBDF+x$c1Z%lWipnD1 zFjZ|12SjB7c-p#`q`Y=14EoC%Fg4oJS@56(dWx1T z&w!<#r_plvUT-UJJ(&qx{Ov71K;}U$-^DctuA&ruxp1$Cp!3Q%jN_vPGzt=IqXiSA z&)4Rtiv-i&X{8>@DeNy3|Ar7gcpSF8JR;$XOKp)-YBCjLM?w&Ix1NRG;$NhxUg6%Z zBxx#oQA6%ba+E;P2K40mxYEQ!vTfiw!H;^bkMS`41Me;^q@h8*@zrQrw4x2yA{>lU zAf}LqC7gDvg!hXEZ=nHKvrATjy$0QAcC+RzM@#O4bK2Mqbo|n zql>?^43<^@=}(vl0OLaXgd!Y@F}ZGa@|Tz4>hsBY2#khdqD6MpYp74CH-5WM*MLl4 zR{X%BxvPNn<55Tof&+ubyJk;$#nJdma|T$TM0*tcSlT0h3Wnw3Ih-el3JuK#y-71H zR-2=K^Ar)bSFf6ap7trtFwFGmXyfWi>M06fY7Y^@<*H2HR$`}sCeqWdXkb7BM5RAK z0wKLkNAKnGHh!{AN6mK@b41g;x=mHGIva5ZvFI=)0Yv7oBMf4sxWX*5;vjdj*u6cS zs_bnWumq9IgMc7%Q|g)wGt#Y&z20&+_9_bCwhZVwB2UD?b~~prU)fsb>piff^nq|e zNRObka$=CBR8EoCO82M`YUff`{*^bju}srdo-JlYI8@eW#Vs$Yh_h@tusCWmHU3J3 zIjFyB(CHWOFbYyP%|BjsVygt@k^7YIKX&2RxFQ1m=8eyZ57fJDxFkVq0^)VmnSwkC zm~9eP+S)&>uH+=!6YkX&Z@F@fiFm~q7{7S zh1U*m*%ATzO-mtrqQTwnX9>2@O;Y!OB0zA&qjLGW?+1G7m52oHD^0pbzJA*co9FH; z4tNJ2j7-?tBzFGt3$)pmfPVI69dM?6s+Kjnp^3}T3FMzMssEZ}seu%_w4o7b?9(tZ z!qoMbUx00~gQ+-T*E=HYkLZ+ApnB8hKd1q%4?;>5Z(^Yl{QR&!SXF+?(GDh#ZCx}r zrYjYyr(XU!O5uVw?cV!*@!7^lYn3(8 zD1WvE3VF175=7zn%W$x&pY+LwBG%mFkK|8(81;d6q0=eIvux)?;d#^zLsxejMJp{KQ+CmKi<8gnPfgpqIgf?nrKWoEs=6j3y3{|FY}@?`t2Q~d%xIp>GHODxqKd1!*=#0w6qT4-TfQO zCA3q>aB$SbW0I@TPkUT@;z!Q32bn1=R6484_f7MMRQZZB;%4-cwWx_)=0&H=VVbA< zzp|0AP&}-$L@I+n7k>{fRKya+WPJCX+p{=R^iuJsU@#J{$W9Y~Tl0x0blCG&H#SKO zzw_?Q#dPOZ$aeW~=w#UTtG@orv?WmANzT@l5GQ0_ZijN48+_2)&!a#h7PjcAwSyJG zbSdO}QF#4mDjePmZd0>xn7$X>IDEHp#6i~5It9sdcDI6NxarJzNs-|TnL=fu=Tcd; zdY%V9is%Ek$bFYS`;rwIyiDVQ8Kw$-(O+A#l)K=}4M^@IOTsLw>%)=i!)0#j`9_bU z@RID;a|jujHl8t+nxD{dYG_lzYf}Y-(l2gUlCcZD0|jnBYCd&@Sya}`KCjm=jS@nO zx`Zj2LeSoi6)GR8$<6D@m)BPI@5#?p)Wh(Q8!cCi>&eGjorre3b?CMnw^z(;p=M-4 z|1(bn9KNNtj&fX&30u2KY`s4Et8jy?I5X`G(=(va&Qv_GK7nFqE(J4{GzBjS?~i&_zp%)XS<$C8lB`b1PbDQ*FfaHH)T9;kMJ~_&qp$GeRv2IlQD4xTH5BkE8}(VL-jU zX?K@hK>g4w{Aqpr6lA+`drl5c)gq}Qg9*s1d4c8f*cSi8O?EaPrtVSExyMl<+pF_x z+qir8!!E-%^jkWHHouMSC%iplthIC@?m9gDbh5Z^b+B>@tz7D)37W3Ra%z;$molyrebsrk&;R7bs@*v>; zMvfIAj!tsZO>Buhbw+0-(bC%qg$>9Ux223gLB&Gh!xxW}DCy(_+|f&V|B`LcdZ_){ z!S7lx6^5kfsW7Z97Kyfe}4CGuW{JleQt7=qh_N!^<<|JD;qv7~K~ z1v}r8*(!zn%6Yl4Kov1aE2&>?Jf3E`j_iKu(t~p7GWKy96zDUY)N^SjQtnF6HH+Cy zYIi?BmJbb7axxe>XO#eKB#*cnRYlbUCND`GhXB1&mO~tUanFx3`_mZO+gYf2Aa~ z)mEJ+G#xtaHAyJ5?h8%6#W5uGu(yG|^2mASJCsZQeJT z%uS`ETT^omtCMYw=XZ%lp*TbMGRBc?JG43sP?$0a?-cGk_47dH z+u_$&FMCdA(-rJnPWe@5E?f6T)s*6O@Xo6TXLfkq5EB-ayalhCO&`1TqP9FUyDF4I zoK;Q*BzEXH9*M%rNKbzPj`N3Ky?Lh`g7(bHy<%+aoMFSiHG zQB*<-&-6p&>H}l${>=AHQdcqKXFnI01 zpr<21i4b-sG56l?_sk<)8T|i=Fvx%E`)|qL$p3>daDBR{pDu4|EI75m7jTa7e-Q>t zs>AZ&53e3v&}n~S!TuK9Y~f(;v8qfP`u+Qlck$0he4b}!@8@ok zxP_29u1!fFb6=GU2L3wgC}g^s%Q*Eq-!X`IW*6zT^oo&^Y}$|P*(+d^sb5D93h`&M z?0QkU5k|YwbMAH7`gpz9WXrx@rhbx=S57lno|ZjC87~5(=;oxFOM^{o0#%Mj%gi>F zYmn;Y-nI6!KRlRtD_8l73Ei)%n2@1ve~qPci1_&)*ZnJT-yzl1p#AP`8nI4Xt zsGk|}g8+c~($s8od(k^&prbSez+iKbLO8&P?h z>7gUlNC_Wa*!KFz%#o(@T%FfYHegxCGFC|~zRRfEr_cbGH<|hf0+(D}82bzse}V2% z_QDaMrJnP~ivefEB+SB(?of3**024KJ>y&!4hC*+RV)J}$bY`nz8i|7 zpGCw1s=nj9`@M9Bukea)7Srnly}KyxJWX?S8J(ZXerG!9Wa_e=mX&cdPY0(Jyi4Ie zKdv_dUr0zJ_)G0sfH9u>h7bIP@_H}ceI$)9<>VWaefrHH2-%9#2fYs!K3;mbkMW6S zlW6hTv;n9-@p&Ir-^ki$j8{`klrpW4jn;qX@O_-(D!JC9$h7|~TeeOh{waYeheTYC zuUc~STr|(&F46maZ?vFf0^a-yL@dwc4&?$%58r+DM03-O10@EzkNJdRn!q8elq9c^ zk!|mKYqt=3-eiJIlBr_2{w6dJ(2ZlhP&X3IUESesA^%S7E{9C*+{>7$@TME}uxmB= zSag;szgNCV%i_>Q)6>9KDR@2eeB*1SycS!yR+*JckE@(}W{cRlA{nnyaS8>QwD4EL z^5dJY5yKN2D=HhVJ^IOYdOJ6G9fC+Xw>HkWhEW;)_xy2N!g0ed;&Ov_Z9&`0tXtKB zoqOZ?-zn(hghxmd#y#aRO8S;^T|5A%CX76dY#xh((nAO}jZdF+g%VqKKHo`AqZYbr z1vR|MPA_Rr`ourFzQ68`xD-;2;=0@<(b*s9Q69}}M(*N@n&#ikPd~ z5wH?cG5kPX%M+nswoc35W;8-IIQPKSKD_2}KwVYcl>oKyhEmG}3d19W$i4yf=ukkIseP8RBFFJOwP9EWkVg3L0a^*br{kLRu z|Nm%2`3IZ!S~Bqu>yF)jv+iuC{D8dtaTopL`5AmH9Iha&rK%1UQ@)M_iFO}+E>0wt%G zP0>MjoDU;QaV*qkoF{Z0pVRp9s5)MelC%5l1A!S=AL`M2lHeP?|4tM4X+xJe_@GCQ); zr)Ym5YE+{ufO3e3zzJG_LS622X_QbcMFLHE59yFE@P+4lR*CKrrAq__0L?f|echgf zPmqOWIZIUuEiS9&*GHPmgw`6sw~hK;1()Nu?^A@S7u;-&D2BejVZrKRpb6mpTKau- zI~joW^<74QFZRzDqhIxTHLK$i=DK-_-!RFIcwVy12zh;Y(0BEN-Oqfy#+TgUjsZ*rT-2xFbCsfudRTNLybL z(**lk4OZO-5;o3$tMcroNI0bvNj&GZ(BY+t3M}Or`4kD(J_y>ht10>m+1ivWpGiV?%a3ieBptbTR+|D5O>DFn(2?}z<45z*ng{(`pvaD9*haulEbzpVXW+*q2M2o zhGJ}LK=JHa5!~U=TbL`z3bqum@eNvi9CebiQV$xveqO4elgPC?3jW;E>}<&FADwp4 zskGv9@xnJ0p8f$$-svJuNpfy9y<*H>nH0P7yb1SFh#JGh46NCh3nq^8*#1I%I+)v; z&;{sYvD=IoiQFjrER5r}eX474MQrnM;k6TSDqnktZ?h&m{3 znldP@=Y3E{Ax7i$3~Gg{7IU+vb<1yy+RM(8X%Bm=j~M^aXBK6!+7B_azg+(z;aQBY zyAi@$PD#z%+>7m~EhFzxzxVDBF0D&xa!Y;l$42-?e)I498}%RSGwSb0DMx2X&KDDi zbn|zl?CD4E;#==Asw9bmhT!+Xv}LjlMiNsG}=}s%)fWvG)DG#i}?B@Gd((z2FkeTrTLF1Yfv$5HUwa z^sjAMdkD11MHSZVonBDx*||kv{rPTovD>27keI&td;dQ^H8UtL|7poOa1`uKI5##t3E>!DQAl0R>OaG09in$zufIc=1yeQ!yDL0T@?_t!MLb7j*Ym)q!uIF z>jok+DQA0_=RtivnZGkAGAizh8&J*x3~|TJMQ@07*Ec(f*6#CqVG)qU`Pn^aY0y+s z3wlR`Q$E!~+rwx}C^e3uFR3L{Gt>XcpRz&)#>g^XR*ai`f!*pDPrgpza^Hb%UeR*3 z6QEbgK~QG?cB_#v-{(a^@*hT)RBi0QYaXJCRumu0?{uEG)jmCdF&uKx0dE!Pw_2xD zkQ%Zt0g7H}5=#%`ZTP9Kh8@7khvqIiVNxAjYu)5LD{Awnp3DtTx!4M^rqD--N?<0A zE1>}mpiEd?+ZRPi+6on(xf77}ZmGDIy-6Fz0Dhvz@!czIy&w_-m(Z|P-Mo8(WBl1p zvGuRAP0wt^J*ay_m^I+@6=*8fGXL6QOm>0an#Myl znnS*2ZKeZuSW2$+*nPZvxr`TOv_MgbzjsdXrz{M~pRzF6Xw24G5{!Bs0EHNz?Vr|C z+TiNvU%eo9hq`(Zr%zAut;lNw*C^t#%DD#$e)jU_jbXYZwlk6k6G?zca_5~9S)%|~t zih--^f#|_Ap+9vP#7cF~D`ZOX>3ix}t!wJx%-R2}kPXQi1Y2R33>Z@+(b}2NM2mFx zs_myzdT+G93t2$5vLVd}e*B*;j<4>c>{_nbBNJf59G-?L{T*id0SJD4cH*LiHG9ST z>vdcEZ>o>o{F1`mcEtPL$Yz~@ly#H5AQpL8xfUKXt(Y8ZDgxaFA@~VuG9=q90rK)A zg;g49M;wfH5n?rx09O{`z?Dv{Yr%qhj7-r+e3(m)o+DXP=b5D;f8sNdxo1o$Q}fj- zN;s0gei6uRKqOs-4epW$%toy~7l<^EY6nST8o)eK<}?PJD6qOW%A2$?XHd!LRWFvd ztkVmcByg}xXGiH{OCUh8(^mSikw#3sbBARUDBM*`rI!O#!B|k82WUMK>|Jm2zV$wH zCS8!9@^at@7@Fbl{ERX~x=0_RRBe}zFCfWp{MU~m7z^@%(}4%p*jg0|pAbPVAxtH< z58u(wJTeFft3g2%_apeNu|z(Dsm!tt$uZQUZ!R^y)*g9r*b8Y`^JgiuQ72t1d^px2 zY#-bFvOazK`Xp#??y9hh^p}V)3(1v{8{XFrq2vg2^tq9*U2*?I$r8?~R4Pvkm8}vA z*-=^5IMI8qaq@^QX8Po7xZz#7v^7q^B352o=WjkhPKCyI^RP+<_3u7))0?0floUf~ zRi{XJMY|n*7rMFD8jJP|TYWboCh?;3?|Mc&C@X$OyCTbhma8i<4@gf|YS9~qZq+ea ztu_9R655A9@}CbiImJ{L()!X^rY_{IF63&oK=O3Y^}dyDJvO5*>R@}l*Fp!PYZa1@YG^GdiHd$Dtl<(1T8Zg2X6JD08nlO(J+nN1gz;719n$> zetUmx#oQAkctAeCCKm`a7yjf<=I{9wPxG4ON({oP^@#_fSrv_y7?h1zU3l^2flfq$ zX_W%40bA8C@-?EID0*kn#dP{{KvB4fReJR!NqW1TTyy?wC{`tE9k9f39q7iH3Akg42nKp4nC`N99 z_gFOK>8IlM^V7tL_b%u+N17L4c2;Y?o2r!EI!n3M!`tAY%Ei*RlN3YTsYR(;xNIbS zQ=0rqe`>*;%7T&;*~|3#zL`@_(iLE*$Q!zgVmR{BW`VUw_GmxvV;o2Pw5xp(2wA@x zjf*`O*sL$irK7$}$)xTn6PR|yp`bl^y`g#?8PiM@KXI{?Z9TSo#w0>s=!J=4#+v}6 zV`)vC3@slqu|DU|Vb@2TN#;xbdW=l#G_Vv5f||=0r)O>NIsmgJ%i-KE&!A<&9pQo;@$A?PKt-k9zoasm(%%d_ZQeb%FK7(V1AjG?n4wG%lJSSVt_==Vwp2fC&izth|SSsh#lxouuNP8!kzc<00x-vaO zNEs$`8zq;USc>bLr6@zgSfx^^l*Sz<0Z2#D=#+49xKLecAwKwsJ`;R#XkokedSmZ- zlQgENc_UIt+giZHtRW4Xw*=$F0tdid431&!+qUbr z^AwgFeEN^u>mE#rb)u+c1(EHbPFoG5{CD_S&jlJsS+k-f6{Js0CJBV#tFy8TR!|*m z(?~HLwMq7G1e~tba)ORJ&ne+QTynb;o`lWZJ@cGPGhiRVon6&t1sknKJcf;z=HA`E zV{c72`{{9|f(HE(zq7Q2m{GT0yZg)V`r=-=heqD@v)6dK!>>+D>>Xb`%lqt?KHA=N zGhT=BDYinreGGRDpS;>IrWqOsx{EX}($XI0-`-QV@en9+{XB3(CzZ%7$s`N^k`6z= z5x8q(bi3c7evBj@*%*AyN|1(9t-Y&jqQ~hwtP~)oT=nR+0-EO8wUcBWRG$T*bQQxM`OP+CEs%fc55GPcqO$L=fS=+JtXDm2A1hH(%j z`Cod&3oe~B(9v7yjJ{7uut3-@MdC6rzwEp;PY7E&g))}3B@rPC^}UgmgD@ZDps`6fz_OL{7wmzr)n(X_b; zXS#N2GL*^96{{MRSahh0lZG$MI+$@PC3e8)q5dAEvaZ3rE5ik67`jbP;i=sJRre#T4O@9r>^DnhT;pXa`%d61W9P)^I?!wjD zUA{sIy#ik}o#O74-s*tpzb>C>_Eo=j&%oGcE?OZur{`@&t`)EfKH6=<)U;ne2cM9p z#cH(40G+DqbTWQEaWWc#U;wpSUzz|GS#`rf4~Iyv zx-gBPamMpDG`uiNMA>Fl_tUs9DTQAbR!V>y6ZXlY@%6)HQxL3vZ7l_ zf?D9Gdo|&S+gDbp(Ut_(V+Q4NjPMXnn!?8HYs9m|tvow&P{Y_KdFQOL&G%5r5p!r_ zI{r6pG0>-8XXpr4Snjx#$dDQwj%*uCr5t;AZ2WOKPl(83?Mo7IfVorQ?*o*ARZrEnhKZreR|@Hx;E~;iTs` z2g5ocb?KoUwuHM!@8yQKu)-aRg%_FGzvpSeWZz~jz>QhG5E^-M_sh>G>>+|rfwCR( zV5sjql>BHRso6ef8vy@@pT#ra*-b5buwZ*~=)~Q78ms-flH>`Zms7sN9rbllEKj>9 z)H65bixePt?}Gcs(^sUu%UyF*L5Km~!Bv>7T$e^724tp(8{sV!9}Y!&NsX<}ioPY( zb!=HnTAeY97+|to!5PKbzCk{GyFH2cS-FK6a@ z&;K=vWGX#RBzF_!KXJ=qL~5jog$$#fDcX&MyA+C>^M5k-VHfTXLCao9=V~R=)A0SS z@0|rgc`>v{5_zr0kuQ(kAQSVxoBZ zRUr|i?L#H?F(JAf9);`O!N%$8TWo> zcw!(cZq9Ti-o6YD{ zQQ>#V_#9WwQPDYTsqU3%*BRrFn`@0m#|fmbXuUpH11rD|Tb4Ouo*=Z0UU;Dlq6K-^ zv`1DBIpXjy3ob)RW(6yv>inLrpH@WQYAqyCdsk?+j1qz?#^+hdf;byt2?4{!&stGexw ziv|vqv!A%f9({86CaZfYHE=y6L2GWvu;)NELBmz_w__qRM2CZ=6W#k*jO>dtzq@UnSjEY9qfP>!Y?6eiVCCMw({mT8N-%$2g zwXKp{`Wwc^osSmU(^c>U?vGn_k0$d02&uI@eH065@g^$Iyx zoo$VnfS{r}5}U>zKGNzyAFDL^YL|@N<4*D~WIh}x*}iD7nIGYc7Ct`**~y>Lc+$MN zaMsenSbEeh9^eQuNlnd{b#eK^NiokPo~jcsxVsdb!r-5^5?xdCw**XvPAKtV4#-J9 z5r#jS>tO0h)iGmGpy;!S9-Wdz6mH`(HT_%Eg}(`he=gu=(NW~4#|j3!3h~#Gj@<`A zwYi2*tEC=Y_YMzpTA7ve2lP#oUMJl+kb*9z8DN4%PlDv*Z9}FSc;78Rdyn5U{u9-d zq{>7QYc2wt-=x`Jr`OV@0dDhFW{~Us(>fb#YCvv(XAgI+3}c#H|D!R*A6EY5j$|XN za2j8@E%a%PY=5QVdFS$D4rJm~_1IuYE(^3Qt0aeErp=SlS!41ycXvLS89Iai%zdn% z%XzWmQ)Z&1bX60lj>FP=3CyX4%GzkT%DOz^Np;0WaR)!AU zKU43)z+4foY3+n3Utu`1V&X%^7a{jpEm<943WiIAUqy^; zT+Ls0mR_^HTuzO?5Bonyv8lzp?u{jd)y^HNH~L3FO0zQ~D5R-KC^vyiZ;(mL+_?XA8x;S1w2L1JR4eG&;3ST+t7^ z?GMyFWaQ_R}hc3*HZ?$hY>9~=59-!tX#1UJ{^=4N1dO8 z!zum}w3yJX*n!ItHj_iHR*P6ev-F&Z&B5b*2oYHq&VjO9L?IroLP?g6&DxWXB>ivq zm)se$2$LRt-PQ07m2d)Phgt$tSce&<2U&v23lJ$cJ67>hJnx5dgWNkdp9M7MG(%R|;FG?O`+-ComFK1;cB;QF{(j4Ar_}kRap%}^G|KVH+wK4eN%y?cSb4b0tc7TJ zR@BC=%cSw|Hi`7ooVeP{M*)7Gj1??!MdRo#ES6E8+kxqz|R?SCPSG&0)sE zZ2(m7k@~$VgF^mof1F+`S(`{2YU1f@vF=AjUQVy~0<$GX*Rr0S7AkGklH_Y`q0*h`-A)~Ndql`o9PHMjS+~t{Sy~rP1Es8^Cb?(^ zAX8@==KiF`k7obL&oU7~A^gEsMp#>GWJh>b^CZESc!|TD(EC=Y_8y>oTv~U(D&&Q~ z%}<(deT%#hXK(JwrpKm1jUOrJ)x_G(cC}>5wPFuxmwmsf1uncd-3cZG)9wuP4G;%8 z#5X^#A#Co+-BI~?DPqh9((qtVE@LJs8IkctsQHK;Zk;1)|3?3D5}uACI2$B0C}-|x ziNBV9NdlM_QFmH?xB4a69lJF-N#E*QB-ToY=*PPo;+&HPeccN73Rkpd=>`_vQ(Yk2 zvkGr__KLYK?EAZ#wKB!Nq&vtYhX4pu(`f2k3AB9!c z;;WM$A?V)D_-I=RpHYmXx0X=b$(6)OX_>Xx%#499s-KN~we9i#h%q06cIw?Hdz}Nc zYbfF#+J*Tpny!DzlerV9EI6)DnqA z;zgA1u4UU}>P9;2{tWc0ZJp+tvm(l|qgmJZ&Fo(zxE0=Hs>4t})%tzbAByZ@!N1wB@5eP|8=f*+PKNA=bZxT3b^0 zZ@C5oYM)uDy!ND*Ct5uWphVP0g7UW?t@TlEEfB7XGJNe`W@f)=I{=h56!l#8n?Z*!=9Fkb{X9zZXKK7KO9K zj*u^W(7H_GZwoz=WJ(6H4{g0bNK#}POs5FZZH-}f>Fr2{dHzE*|-%DU3?q00qi3R8tV)6 z_<*lRt{@@EG9@+`qNi`?d1$xo$4}qr@$?V$F3(MFZHJ&nw=_c$j?eH086zG9$%f?sz=OfYIUmhI*KF1`HFKFL;oj@zALG^mN`}-Z?cV$=3*o4n}%qYU$FT2 z8qA+F^pmR68oL4)N?dDf2Xa!HC7bJIFd$7g_ z)5`L@B=+J0;%35autjn|6R2>Z4D*L$>N+Ip2W5sfHwvW`vwln;t$H@%T5_Nx?}Iws zE2VDiW>Ye_qpZ8KQg9Zh;uAVpSJJ!;n#es<8fe!0coH@4DSe?Em*SOmZHmwHh%d34 z_2*=J^A9E}gd$SW;zXX)dA*G{2B!}C2-p69!9>+R_5HWx>i-WWD)1lJNUds%4K@rm zl99fl|I_b#JWh6)?`v)j_h%pUUv=8p{g}{PdnX?H4kVrf!H48hTbc!?;%C`lW4PY$Ekd=K%*?`rEuPn)SU*lx%F?2ThaN zpAmBwn+%g4n_fc9(VQl;Bhg=<@lt98$d*Zz(=_27F$mXX{Yb7 z)pQY+UrlO}KOfQE9CpLtCl1Ixoo65xpN!kc2~}CV`t5i7;1O3imB+LSc@E|Y{%Sub z91*#`r_KP8P2HZPxFTjQl`6FjZg0?Y}p)!36KjYpqN)0uH68^N9D#>-*I4mh0=iyalZPs>{4Y*FN=qnl{6!P3l*fG0V`?i%Tl}Ro*K&fj9VO-~<@3fPYrSlm(2X%u*GH zGK6V4Zf>}_i=xnn-d5aNg10E|-G4cFDG(+%W6nY?OV#mPiyVxMy0s+;Hp1_*nG6M~ zc~q|uHhthXUGt}I`}gc6SWgVmV@DsYEkikHTv0G2_1-=*IV>UV^0s)9Z)PD&MQzIA z@o0P%8#y%ErZ>E2R+iXWEn{64bm%=Qbdm{KzITVT zY)&xQ&J48fEP9XDL4{&ci&)NdUZoaMh(M#R3Ycq5Hh zq21!;UFz*FFw^kWd6Z=A^0V(<1o(j;nt4Lx2UP7v~c3(C&KP4k7=`#eHf5u=RQjZ_~nhd}yc$X3A zYh-|zDcA8DU^vOD8|f;`TJce2F#k}QigU_pcT`vT__0tr;~e=5x_=dvQ(gFcSTQSW zwF@P2738?)x>1ikir?VSeR|h5u1f>TZLsT>BjuK&3`&q-x@4;jJXV*{2GBz_JwM1lQ)%wH^k9AXFH#W8@uJD+t@Pn-q6I zbCOFkikXZ&9}g2-^BwDZhf~-4?gf*3>vr-^@b}*}9+^0GXAGOV&}Xb_L_x9$FeHcQ z37DVHsD=-ZDSdXDvm#dzm{-C$Gv2zY`72NpFl&ca%ksuFzbhNDcf&V@56g&Cl2$ds z)Tfsi;Y6aj7yqiZ5j+WY^7KfvQLvpn+OuxvnRyqKRJV6^!L^jRTmYU-GVWaC{Im=E zo->{cX&tEDd>^EC;vHu>Acaw}d`qQPQuE{x-4=*k`IAE;-rN9Q1=?>*kNy(qs_)BI z@iUCJ49gv=75778ZGF+@V%0+~wiLJ6*%g9kQ?`TbZB*Nlj`Qy_brWUDLQLe*Pbhvp5i=ss z9LY}p50oRcJ$9B3Ki2R1P<1*m<$|Ks@fZ1P0+*I{_BR!Enf<6I01lc7j%bIaa7D5} z=a-XXUW_~z&Y5S?^J!|6>NoeubAmd`>5a~bj5V7LEOJG@AQ|WxfM$xPI1LZ&) zH85#1m2_)Pn0yINfB`uS{{eDHmW$~L)m;-WsiiD;T)}ve_zj1vJ28;(1l1iwqEgb>8xfP zL6tr1-fjj~6pbb?CH|O#qqtvNg2^s~dkTU8Mme)vqbl?(BR6rY?`kov0c-Wwq|LOM zy?~`k{Jk&&>Q-ZG8ImWlNiHHZW^28VjF?6XeUiebV?c(VM?UuOx_x${#3HovAA|$z zdTiHpPCaEk$s)-GBkk8^W`IK?;A#%*nvVWFE7Sl6Feso2xTQI-8gfsdi-mPcH&Mqz zj9{9@&A@(UWdz${;=$8K z56+>}hDG)GlQUtUXf7kzWMy_^z;|+BE0$)!JxPCc*+{mP1U2AZVfU49$1Bk$OmPi5 zRx~mGr0f>4;0FnHN}--Awo^(={sj^6xcS0Y|F!%h$G6}k-*2u>5mW&0XT{y4tj*7` zPKol`y6jLadd$r_0Y&StCUXCHG8bdv(ozQ4buLN38SxfeA1`3`Lxaj8V}(TCbvtX4C!ayBA_F`*_9d8I(c{ z2qG<|?Yyu%?MKMgY_4%^*r87@aTo&*7A)QL^>I4Gb{BgfJl6Bw0wecfC(Lym+TQ_M;auDsCw^E4iEvo7Krb(Fj zrmT9&`os9WyhHs;JK;ABH4836sRCK0zzhYt6eXEEiMOsymj-5MG^hI?Lm-{TR=05m zm{Zxp$!NE%0+^HfWU_q#L@U$DHH~oWEE_o;X%lC~-c(xE!UQj%IvM2|;kL$!9-_v{ zBf6MG@4qMx6~Ll>UR&>PLKup}&)l&}LEY~UienmO9){w;3TN)HBkUr1qqRn`__D&t z4ZB>V$mWM{pB=o-x42!A#UM_UnH~l%W#UGkJAM=wy4d5LGd>e&4FW$_EE; z)w}@h7|43UJ>3B(cyY{-#%Pj6GWuvex8(ayY@xeO7poF*m5vVyc>hnU%m)d)4`H>& z2Tq?DY28N-BsJ;vV}PP?&2TTY2z>n3_QK14zsm8&?yAFbN1Etky`$JZ)p0|a^a(x_ zdJ(0ce(g{z3RL$gwIiAhU~Jv*l#bt(M*Zb7u5{5LJoH zp8a}{VmntLgCH?`r4^C(UMI}wh7Yj)`T~3;*%o{XMHrJX4%@0@8d`0PhPwU4zTLJ# zn>8Zyp_srW@TeTs4fKXwn$4HQF!i|Yz=gvUAK(|yGaC!JXoqY7_*t#mPqm5nsL)*3 zu8&H1BEfze4bzgdhF)86;UqOZXJ83sze9?Bc3`I%%{Vu!7g5e`o#mMAZ1zg#4Z}w7vy?Tpf6Vxz~{&; zSp_0ON%SELnz+2>$vfai6)bX;PfV|MSC#*gSi@!eD^bZ10abe5&$oxhlJOxcbi!l6 zLhmYwxU9)t@;cZ?Csb>OWPpa+dJtkP4Ry)!8ks245ir%))8ze!1ex z{J}|JxXqMxD76kJt&mABDOUAtQoU>HFc{^l7U)ih{=O1Eo;k) zy!XD87JvP^T~CMjm(DR;-IUH3QvuhKjMK$3mtM!Zg*T&17P`ciFJAZqD-zv!bvHd5uupuX|Fq6Fcl*-x>r}kaTkB?Y+WBu*a(kmf zD`eFChdmds8Fl8}s27sY$krx%ohHpHTi;}Z`I8(~RHr5~WoYTANryC$OS>lazo}?w zq(`>3R1><^FqDuBfkLe`kSE%j)oA+qa@(tUy$`-!m6jSdF>~idVY5BKE5A zt_2<{x?*<4$AW8)KSkTx$v)%F$>=jcjD;&Q!!I&*L zzjWwL&RN2qK75%PG5xbHL3`mNV?VF}tUW3m1u{;d3d=c9*>=p%oaE!uGxxRerQvnM zWd5~Xv`OGVYJ3Kx^w~&eGW0NooAXWVdO^_f0UllpBj^aDE|j0TL<=U3}Y`3j{51bopHlCYY7yJTpKmqyXBQX6?w?jHyM9>S0r z50<=b@^Jjv=Z)N> z2wx(AbKx|i^Pu_AViewxzQ@|@BabF@RTf^fEBMLIW2HCQ*RV05iVPiH=t`qk8SqY+ zr)89yi?@O;;`laPKZ&&<2MM8@$#m#GFi(Quw(<9>QOO1|Syjv*WQJhB(`y(qqlNi{72VELLvBluV9sTuS9=!g zu=f_Qd{|9&qgFlgmBeP_K5Hpf;9qFQHST-_WSBeo+w6R$Xfxd2ft3tvIF>_1k#7HG zL7p>LYt-}42Ub(Qm+zLo!8wbT8vsO_8a{F2FV1GC59*z^DC;v*2hgjJxN|ua-~OPY z9*}UD!PRt_!2bkxjJG%WSra~69WKblR($L9X8Pw0gH$hKbQ9De<`m!`Zppeh!X{)w zk=w|;BL1nEz2?irUUR6&i~dU~7%qd#SPv7itIpWrcq&W9BL1dE_oYp`Zqaz?-D>5) zp7Q^~W%PAsp~FB7KlZT0Te#p3bHj_w%-{30M6qs56^u*Td1M*Niq|3jfwD+1(V?D<{}1h%$8%jt#DNk zmV%tkNg>oZ&o}2UC#ebefALEBe;P$g zw!7m_h4r*^nYE02Z^Re+8dC;0Xq!z=gA(?&kw4wEf^gL6byey%AurBW^(rv{59eg- zauxR--Hl|EE1J_}Y6P3^yLWneu`AqvP#K(&oo+5Geq+`OL266M?amut$A(WTZ1Qf{ zoz*XGR`1>nl$=f9-=AY4@cIXn!3e`-Fd{!rcRrL*YCWpBs<}LbS((p9 znje{0wrx4IS|7TWIV|bS*BVvlPu6M2Gn2-|Ml~i)P=8y*&)M&I6*m0Yt4IHmGHkqD zulG0ah?Y(he*OtA-nQh(`{_re#*k?OE6A~TEFVv01@Rx%=4huz(M)SJ&d%Jw!Rw=Bs>)- z{|hbRnUY}-nxN`{X&C@be4dtD;~M9Gjd zFo=VG=_Skh7bT0q2G!opuk>V3kwv2R z_5tj(METG5IyREcDeAApk$PTC>cc0l#HCz|4zxE_=}R!_lJ`4nsg=YrsVivDH*{f5u)oh zFO&>llU@GA!VbKL(d~eByfSxd@fS+Q@8N-o8SX@c3v{F%a^6*}TbQkTjPaQnq~rac zC&p`T>)};?{?jv^`a;SY3js!1xrrv=7bI6`T%Grr>Jp(7KSu@}R#pr+17_}r2l`^o zO>XuiO=RcRj8;;-N?+yUzXRHI0*Yr+6(UHFI9P72r76^T|L}i z{Zyw(*-*Gt?#txPD=c{m0l#B5WI-K~Z)V3V#4iOXCCna?Plrq^$l-2pqas2r*w?$} zw+zTPdsbt+g?V+0RzgXHNZsELuW2rXPNN&%XO%GMQmklBHi*=zCLwMn-jpyvN*z;c z-AvYUs@y=%+ix5zD+(~RoS!F!@?LY0%ea|+dTx*NPEPZ9RmcR+)AELGwpwN%iZD%? zrx$dkl%;yFw3RR{(}f7vA1(dx|R%kd|gW8*JL&|W8%?~0gW1>R>FGs#tY zQOUx1366c&mf_zU;-fK^Apf<)`xR#So~#Oo^KFLXXw)zNEM*am6&IfZaRjQcvjwNl^Kq8%Chy#w!$gkvcbfj4oskEC zIHe5Z#g%KRe8B5pM%)(hb@4m=91=pHVFpD`Nm;orhU76U+xPZAfwro5HpdA1lvXsZI8OT-EzWvn*dM~^hEc_^ zt-qIb8(cJ4Gw1VYB2X@>oNVCdVVPz@5Bt|}@=fW$dVIbf5OUvghYl^P^v0$$4wm>x zpNgBCsb3ki)%QyMha$ylNY&dd#2w^Q)Ik|DrP98gW6{cBFN@wChWuD5BUF-1N0bE> z5)F(Q&q8d4m03@c-^(?uIm@{TY&(IC%{e& ziwC7fs=TvPZe8dKw(0K4C0F-N6*WE8&N}1vR`F2I#6YX`zUuY4z^-a9ovk_RV?kw5 zltJ*y`zaErd4S_^<&*iU$i*912i%h;CXI1waS0@@ba zjvjI-ov(hIM_$9ZE2Re_TrodV>YUJ=e(xw(GYpC~`wca>EI3sjVsE7bmK5DND@+gB zTUI*IKI7z$aPIiyCej|8>H5o{Ugs>e^G;ao>5+l@_sdvzr{(b1$9))%9XNKe_jZbC z$9?Q4zF1QnxrU7^@mHw$C*9ZUa|g^fEo4J+l|dbM;kkl=>ZzY245;?G-krogsr7%= zaq=r`v}lu_pQ;!Z%8bJ`I8YR)5`BebbPdX~0K_2T!#z6duh(goD89>sKZozn?s>Omc1_21rB~4XmLaKL-oZ|& zZdnH!HS}k)brWr1neZ!EKlDavRHH5xvz zxZs><{{6|1WUGXZnr=D1M>PcS8lWINYVT7=F<;H~;UL@3CY5E{0PktU1^>2+^TVL0 zKi7x3pk>=NnNLS#+%6B_YDuhjwCWXKH|f?mq*EJwDBp7?k<+$_pSjd32K?Gz%5neU zbqZmxe6&!!hb}j>ax8f%E~k;br$IB@n-* zpntU(vb^%ab^6T>kWs|4Ge0o-9lS5`CT1+%)z7gGuvhn5|I4l8?eB&i6RK%L%52Bz zE@w?5s#rOA^x>JxgWkRR;#Jxc#V%+M52Jm#3*1Nvj$gVpmZ2C$!YHSq8HDIcImdS& zWZ0aiz6U^Tz5kf4H>_XbpNHK9ZTEFX&$+EwZ+QFMKf(H<|CJ0CEyCMFS~s%hn*dfAn;(Q@hw7{>Bn%zx)LpLF!6{^)XqTsoR=c*y+Lv>zhaK^g>G ztgN_xUmGs?pmKJZ%G6l zWRt7tAEO4P(4BU!ORdM*j7bDdG`0c>C;uKPNGXC8|{Pl zRLIk-`1jHL>zyca%kw)K;ulswzLlQQc9Y(QJ<{j|((F!e>oEEwbGszRg;?Mo(a+Fb zrltEW@yyGNvD&YYIr1grH-gs%)pSzLa&s*p&sNA~_?$GvF}aLmV!k~t=}-pDadFv4 z_pA`_b8k_J&ULYMSVgoDig1owpfgw`u{te1nsmAmY{PXnY0b2^@D^e=WhgyC-l)Yp zf$o2#XBV5e@ogt1$jw%JDC&cKl(-d)*m z9?Ps#YL}5g*tq_p-_kFis#|rALMG**rNTh>iz`c$UtV;<)!5&{`dgjQ-jXgca`Yd~4-@ksLF!J8$26cw@C}-#<6R2ET64%-ZtV zdD!#5(Pc?@QD(EwrljT`u&UG6j6`Qp?xNIu7Uhi}3t9wrN0f~uA&$K?D( zKSI95+O&hwWw0=$OjG~t)WpDbfp1bdTvF1vPlcqg{@M!e2L0P{ZSi~qh?s<)Ey6tk zu{l9u{`>d3qg&crm_V1Y2d34t$VXKvHg2MP;=>N5TegAj2#fs1#b0zY7<;oiPhX8o zQ;F@L#uS*TPcC_SY$$a$sm(jwq2-S>vBA^8_Y|~R-cXp-CcBFEuMCpPpF-2zaA^99 zErVM;?o8&i%7E=kfSm zzf3^S#_{vt4IcO3Bvz5f%0`^`9Cz$m6rY~mng0FR=m56;d(Z#%Y()Iy*%&gP0NIx< zWqo^VHh%RPUe?@w9w!}29qhfw7eZ7ZVg^%9NFxxhY8#=u8XvvwBoTC<9%Gn;JjGbgSu8eM%pXHOe+eeCa z=a;Eu`5QoT{^@FkL26@IGHRco*s`k=Zq0^pyU@8~x|wOt#&*I%@ZQ<$XXEPk4HCj_ ztlr^<3bDW@>4=Wpfy)3zK)Sz$zD=)^=cB4L6*!_WMcncv)hk+C*LRJe`<0@uHVL48_abo=6r ztzu#QSQ59dri9YOm01}-Y{%)#hu4WwVSMBIS-9cLxp_nDF8TP1J*kle!ZWI|$|Bk| zL@Z79JJ{vtop*P=%M}yo4FZis?r>vIU^Ia#cK?5Uno4m&kBDhc86$)PJE~2;-?EYr zv&0ivFz$aoB0qp_|K5|e`=2BJdxoI&zh?+G6B5$A`Xbazb3^dv3q%yHCS|ZM9f+t&lZQ>0zf^3%~jWeVBZsb%Z6b015ge?@)3(0nUdBsU%HxmoDdl~TL^=|ngEe4M7AW^+S@qNKz>LsRp5u{MAfhGg=#~+M`snPMIx?-`d znBh!Kmb~(%a{$z)bf#r0Qt*wYuZldK());bE-j*J-&ttErP*G?_{62YM2h>s#0X14!_UTOwU!5#^hhQlyX#>q7Bc<_En-MVRZ(&7tV)dh0MJ5T+mPKDM@2uoYO&dBGSCswY9mZ>y@c%CVGR=l5n z|CJTLRxFVNEkJG7jrT|s=eu!4?@_L6yU_>(|H8Q|4U=N7piIACrjdTIJs4_bQ{@Sc z63UNFxEh#mpIyZpjQPx*W77spzrH0XmMh*@-`DZ{Jy{B=ln5zZoFugePTO59c>GRy zdMDM=vxNNq;uGOKqU-`k&E>0wFFHR=OBA}8DaufCNJObPS*U8&EwuXm4jCxB$0fSW zcHxZLcz&2*9Mu*aRvsq~rGC2cmx~Si&3!QhV}`m@w-$}s#V7y19Q#fJ9*}krkFxN+ zwW91`TZn^+$0nZ$Gca5pg8nDpA{c_sJo#1|flvc27qPidZYP(bJ&7ySOMu?HXl^p8 z=bXT@Z`xTE_D0qA_yP;tk^^_82T0>7kY<9ul@E2Z&@Ob?NC>S`S;v~re4MX(I?ola zU=IZ5L!8!vChfC=stI%|#UMMf%vg+_zy=#a_qZmb%bn6LhN&}A#B8<;7y(stpC zMiLqTNtr}yPjJ}HdCG5`w4Gs=%C|rqsx=;aZ=V?M-Y}hhNIGPJ8t6x7hOFQ(7;dlS zEc)A3deKvlqSGOq`^WPnql2n5vF@3zV56!Tohe%@p(lvFt8ehk_TLx1n@}x#TP8pI zq}*j(Cc7A>x8KE>74kg6bKnHSfD;6sh5Oxfp`3NT`cu}SV5y{Q0NHo@kIGL2e6@vU@27Va#eZGuQxs}bU9 zwf)!~AT#=153$QVtLgb-Flv=l!7mpZ`5xRy(uNfk^kx1LDKwL@M++CL-D%3|nkuK` zgu3z7cIkne3MsKd*}(36ENX2-1)H{JUhe)n+Z1mfbHzGR9z-^S_afj38c|;I}ft!!@sa%2z zLBqyeB~{*m%X$jk6*Fv~rNbT2*9lGwv#RU^t!hfg=E^ePgqXeiwZY;`gGG1w@y{ieOl+1p*NA!fT0@o9(dvNb#LJ~Y_q#&g z1>qr!nx7J8e9u{dW;-$qqq#VOY4f3a5*ZR^f@#i+plOctF9?Iaf{v_1zW667Q3)OA z<@Ce&@M@mVmAG2BbodW%c4gvmy4W8-xclmHNH(Xnt>~m)<5yv?XB@`=Ss+EtVGi(a zCeJ!NByCfRXa1xQH4a7lKsA4(UI~Ewsu5yKwPg`zv_Ot(R-pa-a3A7dEm(A|*68rf zS7($|>ePR5+au1Z(NgwAQ3;4`0KUV>5}{kcSg+AhtHj34G^0l&HZ!mhZDtFNSH&K; zr(UbkR`xnQQ_i|LW)BXV$()MSY&7L{X4=~B?%Xg2UI+9`gdnv#rQgg1!=lH?Y{B2& z;wvW0CwT%;P~h?p`?N5oVrQJAq$hyT;owF za?mU25Ajb4v9@ydi#)O&nJ81>L)Oz^$g$jJf!O0uLcDDwTFhjqlG(KZ9UO;@h6zKb zF0a{G*y^Yha%znqJEf_b;D1^^58Cr?{)I%)&RMD>>eAbz$W#gR>a%+pIU*>ItL8X~ z3epW3D7RLI8-18q8#R_F^2VPbB*Vk}B@%0ZK0|K4g4vb&bs6jJ*8WP6=#f2rhvCFc{D?>&p)C5oY&wTtEvP_we{EE|d^UHAaO6fh!F{-< zF1yaI`yM(rjgVz-PUY4Pe!L_ovbm_MK#*eh7`dcVNJ6jvqQan(nI%SHE>fX$PGmZu zLC5)B48P-Lu%mNd)0$FIj%n=4+~?1Lz3Q%667sd`f{JXLqNBGB{cpeMIlp<=l=-7s zF~sNxHb;Jhe9zAzUMtZF{U0Hp^~ma(i(uw|`AJyrE^WD6mks+2%x8>zNTEwTX4m0d zvFmnh-VZ)?jeGv*%CN)V+MOwI;3saV5qrv_8QN_j?}JZ+6*;lgb9>1n*7QBN8>-q3XxqQWK}eqI9RBrGxl#a2Rnd4r607N-?#)^&ID z`f~^?ALH^&JH^`qxFgTYT4+_Dg4VXiM>cYelag#&9KmzzEZe63O^dnQhpd!x@$KJF z$Ob%)x#QDMsDgLw(PEEOl2#}@-U1s=XESct(JP(+m1>1{rub&X<(aZM_vM?9KMP89 zDAyyXY${#!bm+HXtlKc_tIwV>z zme)0^8%OD-BxJBkvOhY|uccd;nxxfIq!{+Jk%WLq8=^0K!x?@TyI0Zvt2|FRbuYg6 z=3DZw;sjNJk?nd{fsq+Q*M9Z%Icc?ekBc6XZqEyvrE2E~GSj=5M9RQnoy6{d?tzo4 zQ{iowZIQk<12x{d+(-hu_qz022zt%ZISLF-15gJ%=Y(3UEQ>u5k@nZ$Q-`n8!hnnm zDr=JKbqeo*l#%#+q8fVpCWKkN;JlqzxR=xhgL0x_v{yKEC$lxQITNVA#x}PiSjqJ;Lq;Ww6W#{(lNOG4$1|azWW8x)SjqK>4_GX9=(3}v@Q=v3mlSrWEN@WzC9;CvM0K< z!L2jLepp9%b`rSsLq>~(V{WgB#k8w zd1VZ5*jl1R&GRw0lIa-a}9AP@3&5 z9yit(YxfCob4!rfYZ+@rmD8ZujSWwqzdg>Wt7^Pp^+9xXNxIwse1J3MFv*k$&42de zNYjF&e4!M^NPTOIlXIDX5$8EfQg@kli2a>^QxF}p8~OEA>+(>%U;L5gK^3k7L=U*TWf{5l3p^hLyYGF7c4@oaIlBC2+v5XM`>*JV z;qdJdbjXGG5nD=)7OAy_&#^FCG&C2F;s0zhqx+qY*t-2Ynf9Zr4=$)W$J(YCd=KqM zdI##=IaY%-2T{Rpk!37*{x2Llx~ZD0>e?nMQ2ZXv0Z#Xk)=T`}HalS|)3+1>vYaXC zr)fevjO_R=5Jv!&8Tfy*zgCqUe-x9kqB zA*?Jf4Y;OjyA0$b5EPIcO~}n?Wo`8lT3Fn zmPV8Dz*N2-IPj6sinWRojC*`xhr(~clpYyVVmmX*J@(xJ-08P{F_mEFYk80IyM=Ak z_i0PB7(yiOw;O|W|B&DQ=Tw)>ibW(SU%Kr3H{!DLZAS6nB@+gE?{6N#3~vieN@wg& z-Fr5f?KN_wFd7!zRH4*C2M@rVxTF8a##YTLymDdD!O^bwE_+Z0by0@8%?4<7bGB8I zPVh8I0Pmk9w@DXT;0DP^%@14*^-x~X1Bdr>kHKh{u{atF7 zCz;lS;uGn&T{?0ZcBO}ay;K`}aXoe>r=&B+d({+E+oJbXpZy>2#;rXP(UPbZ%UFDp{!XWFt z2q`(D|HTwDpIh8SnjNYMy8U=^JbV638$<~VbsvczcYJYbTD;=$_t5kJ;6bG(0F0mx zrLt1Fu!N5BV(3=6-0CkJ${&_FV!#)g?+e!})Y2SAImn-aZm1MI=IJRPX>^poK0st?Owx&a<*Gdc<*#B_T0-z}5dpRob;o+> zz}TevPKkyD(11{XxJ!Q-Lbu3b4!Lw6a2c}Wm{V-o(%^U+ydihFcWR7@aW3~ENx{vO z6xQ`#xH63Beara4HUCqt&zb^8Pf4Zj+DyL!`D&y>WRQlg2nkP4Q!WYAH9!S&p*!F} zrP=?g=`LpDKHhZq>W+#W1tBb7kV|B9>eGnNFZXZ^{R$)v<{v$g%%(LK+P4@pVrHVv zXJ#U)5eo4HwUIm55}V|Y2s8bC4w;)F?y>zPuWky4#XbS3w#(s>Mn2v&=$pS7I=QK+ z!E-&T7WB#X(}x`9ii+DyaS_Z@vn8r+mBAx5kd(s)+(R&uG;A2!OVP8=5%qMv($|A7}K*L*m<Z5umzRK`}sru zI3sZ$J?nCj<{(fKps4=+K-FVp?~1Jru<51Onc9K$$U`>oK22Z$hAt|TUs$z>r#@;R zKm+9J^zmljLfoEg^ktTwL2A^i_V@|1uHWQ=3qq=&&6ccyaZ^wk_}2CK^-(-I3X~QI zTDtU(HfrRqwD>~|a6SCg_GE#3G*j;%Q&{GhPoMbNfae-LZ)kRJW(#S;e4iCam`JrLT`yzySmQ40xdZoY9B*iE~8^bn)og+3Yv?Jp{KQJb_I*pSvEf zpM+DQ)Pxydy02-+8Qr7z$<9eUhxA#*%cpjsHPTq~wg4=eQm~aR(uT?X?zRS+N)b*{ zslEEeMbNcNl1?8PiyK1z}Gxa!4NzRz0!s7er( zY77TAI`eb*Lrik)y_kjI77vFshOz|!r|<_=e9pQX{k~ZVm$O}76UkJZpdWX@!9Zr4 zTiA@zi0pRQGQ-rua$j0B?AYVi&Hl7R-tGja_gA}LADPpW2K#~SvBW{tf{puox}dKv zk2uIYPWt-kY?z3#m^^r$B%x9)aW+)?gRAZ`!q>5J{K_u=N^mOXyxCeBuRsbB92yT{ji_%!9TLyd>C=n*y3SXsdG3Iv(_K;v=l!Y zOgQ#%2MpG2U#3JYmJC}5rg!PZK8M^D`oWku8wMp(QWGJ>eY8@tY+{C;?lelm8*uVQ z0XBfb>LUGMZf^}clII}BP~yt{MCOP91r^DnhE`;VprAT3lIS>sjBg7~PE1Ow1|1pE}t9m@6<|+^csp#|j2)hrmum&z&wU z*#r{B&84EcvbR>HZTcSeD7W#IRgF9OnG{uxaj5;W8nJ$!MJfP4KU$S0p>~ACCZZY* z-+aR#B$5JJj>u9+*Pg=ml&+PLV=beqbqo7|QV>cU1iauKl@MHYvkIyVUbLPy(fn&SWRxbTM ze|u;(`7jUM&GF2?QvVKDGaif$^MNbq21GU+1=@JH@N@+sg^fg<)GmN?;IQneRavUScs?j)~gdU|xk zTQ$+FL9msg2iIlXd7GKs=;X@az8rYV+k~rkl~DnpbM3oy@7UgOIZ3_sG-6lf*o?gT zad3w^(tFp;@a-rQP-<}8<4b)VyP6C;iKn1e0&k#}Xim?II<3f!8B;qE(Jnp-?I)Oc zoA48E%-XxzpbPKve2(b}>0Y%2dWHtBIFUMp;+7_C^Y?seXOVs+oD;Z~XxXE2X3cD0+k+{bxU!*6N^Ofspg@3|V`4-y?+ znmF7S3m8g=p=U~`&-!uYSnAwoTH_h^whH%)sSD+n0;*i?AQhF}{c4Bpy5Y7<7+T-i zbrYD|q*!%i$C)k8_$^uLX$LN=;Ph~Ys2O}lm^X}rQ%j^S8s4#OlHbO6lMpzpKJy(h z>bkrOwVMHmU<>frJmmb|c2;Tz$ndq~h^#wvlFX<;B<&N8ffu)+*E25JdQle+aiM=W z{3?ptz};aZHM<*XRc=vod!BDWa|e)@K8xOx!K7I@@wkdHyRegr4Xqo}!`vM|de!Z0 zdz?cF0K419rMFFqYVo$_3GKEus$Y6nUm8bqWe!T{oBv((vmB?I(_qt$+mnU0<-mDe z%4&Jr?{|nb*R^!%n znW}MGUe6i3Y(MXMr0L-bvzk)8qHf&(G=v4vp?ZB=6oD|=l~%hP-^nzSB(dsh$bLz2 zz7l4T!TdWRr2dvSPF>I-kEa`vy8_YWa7gBD%WRU)>Xl-=gSUIxPtyV(%DXP#@}kGm z15_7|*=AzqmZ%e(GHl~8A19U_1T6BEm7pOFqDBXH)#fRv1h)vjO_%8Esi%a8bPK2j zj{vcQrx44uS@op16*ZlWm={m*@+Bdo)wjtN$4;aRj^;E%{>@;iD>a?=Oy3Xrp|xC` zIaQkl_3m)WZW{N)5L>U(bT};TAjrhD1@C4-8Phy z56#p!Q}3(!=n(W&wryykka_N08fGp#@WXgqPi(4hu-u#6^LU_wozMoicam@WZFpc0 zo&ugu*;ZWP)h&<$k9pT0q%a1zU6I|krdC{T%ZvA+1}abCJMD_P-l(mt-?~VCErAIW zcI8oPAqeEzgnT$y=mvz!G=8>vyf+U#{&`K(!X=g>r+rs*B~(P0Q~(`w7QBdfJAvejuGKQHV z)q3a=k62W5Q{H#cNJuqVw1dh0!SvVZ;lnxcPLVN~?a}fEXRk!V)b(r&735oIk2irnF zhWIKuGQSfU4NM6-wQkgjbRvS5rq;`)&-Lv#!G3r^Q`1pn4me@&M zB};xH)fn%5q9SoAVriETJ3C!7{2Y46bx9c-e>WNh&@WZR=Fk*;aKL(G0z4zu~>O_?3fZ; zbBILBv!RmLDlbV(XLBV-z6c<99?}18=yzo+;8dZ`x{F0s;VA#|xi$JbCe}ydxYgpIDP>JmIt?JtWLD#3Xo#$=-4_BUl z*z`P$(Er&+HJ^#g3eBag+Qhm$mb&LNxhECo?Ox+{Fyy3~z4{|uS6!is!wlQVj zM8iiDU1Qf4D z)C*LFUawWC$YE-ahusXf`3h;yUcRQ$ZCt)x_p- z_~O(GMcobie)^5v)s>#xXyqs?-hfHXtob#CR((go4}=Y$v`LZpwOBXbt7ptm%&C@l%!j1}Hn@Er7+9gd@JcMf>k#b{ZA>X718S#9s zmohQ1uS4n}%`({J|3uvktwLvth}zL1)IiHgZvMTet0>+canbVv=Z`y&WMFFk#XB9> zSTvtPwdTAOp@}P{$unkAj(`h6ocUPd$_LL`NEfcUc(O1nVybT4RloTj7E-N#=0JB{B<=9%xz9Qb0c$$T^4e`xu7iwR4TE}#5E zKs1RG{u9>^(0(xQrJFIncmcUVXGw6sTIP0={jy;28%@{-_KFuFv>>#Nh7QYDqwT}< zKDztcqCU@33VuFR82A+gi}uIfs*tOcJXT9nESR0hzzS+13YWnxbTC)W0Dcp4h8an; zy?PFH>YJBmH&ii_seYuRH>zQb%^%jJl*_JKC}~fl+gN2apbga{r-N;?5_=bFab}r( z?ox})?Tsl4{JsmYDvQdEYJlgR_Dy`g-N59k#4ftoKrsYvAJ{kg-uNS?Uefrf-bG_OYl-JADO~0A2sMI^-O)-Xu+Fy zVI9G#9Nz5G&^Epk+cDYFnO8kP+{#=rqrdrMZZqnA+Jz>rT}!4zf#qAUN(F1tp+`D3 zbz*@Q+Gb~o#nroD$#oCA%cJv`9nO9`WHHRjnG~ua?w|l=P)pm{od394=h>XsrVVb+ zQV8&M-XW+j&PDCnY^RrIvB!PY2-jVUqk8IambxXt% zb(=V>g0@N%#x69h$XMjSXa?vV((cFL8i2P(FAB&ch*H$8v+8$lm?5vzJRPM#iyON1 zZ3EWB1+w8#*G`Q}gu2&htosf@dDoc=YL1m!uWRFIsGALmFGU$b%k#Kp&+a@ihI1kj z)NPI~JpbX&lk^XFo|@m+hnRnJ=h5T&H+P;U(lKx}952$_LyU_Brkxs+^p(_LBgC;V zF@YAYwvB#}9nFS=_Q-z7v^nu#AI)*2v>g%BX#a%AQnvyZ7MD@jFRi&s@QUvXz#YB91n-p2X;mC;Ap_>YpxKZ)DcuBv^87*uqkG(S#9EB|5ucp)`3 z{?yzBd{eJ?PutkN9r_}%mmEc8VAk7D)^9!S3u(ee#9W#lEpu9erdQPU6eXohqjWg% z_&w8(1pykcGo4+lx3n5;y_n+~mK$xs(Z5ZZGT&tbeU%l1n7z9>xj4pI;WoXf7*Z!< zfEDalG3drVT&H5)oG33Ioii}^!<`Q|B5R>oE+1fOI( z1}vQo>KJPl6Sw_GB9jk@yVE(0YC&v@G>ui)Ub6+8gaAI7#Ae+3x~e+2t$Pfa$J2lH z=i&I{&%^fO&%;sCR7WO&5_g3g%S)w%_sCupE2(U4GMvR+f+}IehFtMOVsmr1s7@zB zDyY26bwSShfwV6*Qw&y^VtgUhIjx|`txfmf6$xL!E*0^olU#4Pi{_@HkQw_Mk6XC%0`n+qPW#u?|59 zG;3&g<8t2mv9=Bftfor`$9&O(eH8)@nZkl6VQNX{diIFBj+Dzms$P3oD&;dHFmlhh ze8Kz9wdK~hh5!!J7RlJ z!5KKp=c`&Hm9R1=B@50c?~j6NU)Od*!l0C>Z7l-qi%mth7V$`O19UJgh8Xvuh65Ec zeP(nJ76TbWE3v0F=cS(=eA28iE%=1(KdH#v2GIbz``{aBo4$%DFfWHN6W{pWRMIUm zek`LX zi+fMP3IDx@AHkSS`YVGaxKAs;C7z)2i{2%uokGaRiM@j1w z9CgVdnLfH5*xn5vt{*quv}(NbfTKQjL7!6-p@Wv&CFjm5bmodxwDjgOtxt;aq2y|Q``S_JZm9jGVmCA zyY#aqe7zSy&7tc*v@_yT$a;En=&<5K+Tb2%nzt}pJS_Pnl`~fK$zcg%On#Wq9zrKn z%b7=q<;{1sq4+?Yx01(bI@AWv@nsqx!Nc6RbjY2PJ|r)*&~D)-m}?#QokQZ>G3t;j zN8lze8+>e#6%yqKxQdq!pvjCqywZ+i*iz>k$LVgy=RBF++gT@I=45RGlr`Tah-)4Q zfz2)j=j}{BN9asi#4%*2AWV9!^wk=`(OwyKa}UjK%y_jEr%4Y-mjd4Si*2d`5AqtJ zUN4w0#_zLxEjgx5C#g+;eflyzSJ+|J_!PAt*>i`)a(T+O{M27lfq9%{K?`0|q2)6R z2eR&=4gUC_);)H3Zf{=g{ZQ>N^p&>>F{Z99;bn_yS#zmsRTqcW&}Q47>&-htOiU)k z?Nd@P?E9vHW;P_%9pf`huRcsqT@@jcf*;N$!J2*OklkunKeyOJmNlTuNF}Ddc}Y%krulw*jEV**eg)d) zT=b;d5dH0dN=@}KcC-w#>VH8`RY)GU;0czXOw;bbWS7piBje#6vTZ!+$K|z^H zX;24h!E+rKM&0nn;`DO=$W$`G2ziqWc-Jj!Yx0}}q~0xCSxVZj(ma}X&`G!9kU2k^fV-#OeWYiazs;*9^I)zi z{Osg&qz@b+$C>;6EO;Gi$Z`oQTe?f@odeDMQPWcBNRIqc>b+^;TIV)kZZgRuZs||3 z(o!(X(;8q=MezL<&fQo0D`J&=16msxup^Y+5#Laqc*2eIq@EwH@;N-1(tt5_Hscxl z5#ODL9~D302EwnVYuaAlCqZFfvmodc#n+>aBt=M@a;w5yuV5Z-67$eTlXa1JEzXF$ z$meM}f%hEWqauSq@CY=l0|WC-tY_=6E~SW$b>iKa3-iV8Pv;Tem4k5G-m+`Q(cr!jAIc1d?HO{@WiAFu9E2%e!dyGzzAhW`d zBbnRx%h4w%Z2|-8w1qZ(<@;}k$1>QKhTjv{TldnlSo?pARr30V+cU-PyQYRr-kj1U zJXu6uarEPNS}8o^!}{@Bh{fY@XFbfsiqaIO0@?)%WXjV(!Py;g7Q^OtWw#UnFy{vT zrG^Vz-A)Hs8Ujd+S0b|v`@2omihDUqyIADQ&zS_br z`o#al@$s?1`$0jl`q9MvZx%l3Et}RkAPb+fw&H_%y1DUP73zLe1d%?$C6Qgk&qpv) zmzv>S`lQX;rMHp%hBGBv*RQvWikCvi9p1s%uo^_}J;y3(fnt?pon%0@*7|wW#Ww2A@Bl%E0|$=F_ses)eT%Uf-D%Njo+ z+M^GYm-H3;;N#RkW0e5M2cY-Q%K`2S;RG9&HOLky6YGGUJiA#GY`?*x+?4()o0Fp< zc>Ki`h&1jtLsxn|?m2cU+gptsZ?0w35#UJW`uIe*!r_ZvSVENsxI)wrhkUJ z@0@p*g)8#xPK-=7CLgeto}XP*g|#P|d%spAB2DI_q2HbfZ*IfwbI_2e)E8|Q@D)krvGWjH5!DSB z+)2;0`;VBL$!$xhsZ0$l7cY^aOD|w&7ue6hj^nDq$}a%U7yO)?Y$G+MOo+m6v&x$v zSs)J<(w9^@Rc`i7O9NY%4fM1df|OX4HRRlq(=S9K@*b&GZf+OsFSwvF7{+io znFLPHIfB5=IFt?2PotWL!;4(OrH-k8Tc<>j&J22_(D^$%a1Z2mZ_f44tW*$)ul}fh>w=z;~5{>UFU1-wqBhS0|@3`+TH!OJR zlKeMz@KBjZkTV=l(=%8+{BaunNpUU+$+h3pJxaDkku*VkZS(f3ajaMom8;gTHZU+) z+(j-g-CgdxlD*uY-%H&qCO=CXagdzT4<|&_ot_PN0J{%(_(bJ#**&bUAQZ_%Z*tJO z!n`H1K@Dnyx7n9}@$Uh)-{y_ON5r-`>ljo>5cbI>FxhJt{DSgO>czgTj_BWSAVjBD z>s6ag1@@u5NSS5RT}maS$$@dJX%xTLqZ?VPLp+b4{Sv7=VM{kct@GGP9U0rgdazY+ zT$x{AompAn%sbWLlIGkZacs5ghTRnR^AIqvUvyYG&zyH?H4jO2Is7S=L1*+^42_wG ze>tG@CUSLIi$l_Fy;ou0GbdGoS%QmZ!E-~e0=&<`VS8I*dI28Ej(h!Tz_wYp+`zm; zr8(24QI%G9IGjs;4eh4fKKg!z<&or3e;j@Wl8jv)KUIfW(oTaW0-R=8shiu!%KE(n zbx*IrW5cTx7iylJIk;1YQJy$&lgzDUi$TRT_3OsdJdcOPEx-_~iJuj>-d;F(FcWv? z%4UVs(kqwW)e06|bwcD&B6-0KYg8K9{dB%OpYHVtd2Co9dKBl|LeZGIq28j8047S& z4>O#szoX(!3p?sidELBm=D&x4kyS%6rN8AsrONz`N$(s+t|vR+)km7z#XQv;*ImV8 z(Sy8QeauiS19Hg`L2ecZpu|b!&e^|F({y#I<8DQp3A9L7?^ZoMdwSw>-n_AxASoej zS~MtLcYso1cXb0;xfiXA!rZbB)zu}HOzi4u=Gjr-J7wBZZ=kWWU_HqJug1`A@!dEI z{LqC{Yu=;kgvj}Ia|6ruaw3fpYA#7&s>7*$$BK9b_kQ9j+|ep`i9X1{2j&T5#-Pqn z)q*xe<;B3Kp%!G|vvE+XuH`KoP%@^Kctc+TQEdrfh_&@Ex3qK=Q|dR36(4MI)EJ~j8DxxSM@Qxcp+^hhbE3nwljXzRh>SQA$ql6eXP4KFn;sUmGCg z9Q}?829e)kD<+l&z|m@yGb{6Lf*gDvHnz>~ao2wiJajy^63MmWUYkTU%zh+-z6Ec{ zpmJ}W$DKtsI|ZM9Y_0IT(#g4r9pLzzgU=oI#QmV2U_pa>&~epOoBhFa&ElRvNdQAt)SRA={(@90#3U*w~QM} z>RP0|swoE5#;OkkG-dIF38FJ$W88cPIMp$MFW>z^v z|C%wQv|JeFHd6PZL7&^+PIXBG`;LqT&5Ofd2PV?We)L5BdFbtT!}E+fu-8XiuW8Yp z@;{yWZ-G%Vfa$;c9u`%+8e(~&{T&DPJP~D(H*4CTz z!3JSE(SFQV>*=^*stoQo^OqF99T{>nB^nJ{hj5sgpo|$UP{z!cbz>d-GHB;@OmePrRd_xb;W&K5yROI58}{Ga|wG>Ai6~4i+1PV zn;i!7FU%Axxii=-CY8jMV&_Ry-T<|HCJ|uTsPq&Iu`4evlSTZ-B?6*Uj%J*15XP1nwkPVKNIW z#4+-3Q>J33G}u2R?hr%{K5AE1KQ{XI!O_Cyv?{_*q{HgRm%U9JqBQ~+Tbv4 zO!6W!?8?z;gguVeRuA|dEi#uUYy4|&G_C2^;*&xQ`*su`6KwaEoX*1_gGdw6upctz zaNK_TakmvrDvkZ7|LTokW|L$+{+wl}=%0)k=1clI-=m-z$p~4#8n}1Zf z&X@^bcOT(|ueWX_WN!N~!fDR3$ci&O_eMpHjWq16@qq0L9<1k;LMR1aQu+)-*p3iO zDD6we%wEMBD->Jv(Z6QQSf>nkf-+`KQK}hOF2r6kW}FTb0Ig6?^0>5EzYx+H!EfL< z>^cZ;sxs>A;0J47GGkA7fPJgHl zwl(Krg5bAViZFi)Kclc$zk6v0L)UZbmS_hV!W@Fiw=K^-9PoNziZA)BYo`$UR^@?9 zQrQ)OuPN92#>KW+NX@oLNz8V@X*XI_E$&z~&%Qcky#GU?pa@aDXgUZu{@>d8U0}fk zJq3db5OX=_Wm5i;EyI)=zp88<*&&AdoHK*AlStizpNqAfxxM}4Q5-i&auFkFqhaGF zM<QS}bG$yVLu7>`eCX6sbGW3+ZvJZeluu4LGJ@0!E!*r8e0aTnw7OT_F zskA%xb%DC{-73qHHX)}BI&TScL_A`=9|MobhnwbSDfI=Q;pzhGT09(DRJ%CeMEyuZ zmUQx4sy8UEKDr6Q`{^<1M%qP%iy=M+pRVy7G6UWAFCjBJppcn0P{<67QArI>|GOAv z3?yR=p}JzeJcPD447g3iq)JgHUwCl0e^1S{S%^vMS!hiAiNc7zFK@i^$M$Xcn8VR1 zd|kdc>gN1TX0d$agi^km!uku7yf}fWLiORaT2L*K5Vv;BE(RubKG!uiJvoO-sps4T1w`nN$W;mzKwzkYqN2oexYBDW`SgIMp3`(>8kU9AVoM(GeyF|I*3gW1-eRxyK-|)JPV+ieEqQsdo%rzG|B$?v^_2qt)2GL zDZYiX+UiUH=^sD&DFq5Qw=^0Q31R~{XwAH9-|kXA&u|ks!(8ADedDTIAeE}+jG_;B zYO9|h%+^NGtVfUdq++3AJ4T1Q43DwCK5-SIq^&9@fUb6!ez=2V#?W>$enk|1c*XL2 z$(#VVA)m9a>3ntGqwomcn!u9$6iD_0Ee#%@E7)pHWRe-UlZ5;WqJLGf-z{@HiK;Fb z{ALxl!Mft32`vci7@@=R)M%FiRk5MnzuU5O2hd0@(814#ej8&(47UA875fXt!r_Sy zY>y^`a2fVOhkfOY!*8VLDmHJHADy^sz`Q)Gp^6r$iaq{Z#TM3~l*_AHC}~Zj+xX3D zKpLt?P7B*%B}Nx&Vf|dihU50e6l?x!MuA;fR0*nLkDvB2e7@aC;;h6j_*2EE{`^-J z+eh!Yiv3|+35^7JQV+W!$Mka*d-}PG?SBobV!xyB-Dk>ZSpikCHJc?(UNUB)o-=0p z?YR?K(+bN$88cBL_vqmqan7`i&e4u?jhziz^wkf2r7-zpxT3ypXzIR3rKmYN%3ReI zyC?YF0TMMi)Y;|iWI97g1=7OYGKFF5PH^XifD+F_z*Fc?Dl>`$KcyWpgEmaVx=bMt z-&HZgFB%o^C$@CbO5Z=2NA<-OA=7uA>G-Gz({x!vcMKV+tiDwRx6pFLq!!F8_Izr! z#47ef+~HmJ#r#bo^n?t&FQ3m)L1ng9yUq!#|9q#(tfh2M6+1#4ZH^c_B2SriM|)@v zd>w685o;qvL~F zM{Rm3hbsT`YmMftKYeGodAB7+Y|l)oDsu*-NqBL`b^fbgFbSYM9qlU^mYXw}!&yiU zI#nODON=ZEI!Zy2;?F_qz<2an1GLNBVD5M_lsxk3Wwe(cW<1llGaxpNdPvqi~q@b-B>UITv&`|Pa zK;73Cy?X&lvoV}3R-;9-%N_5bY@Hk{cgahOAaq+>h()IsxyM4I!)j3gYov&`9)7(5 zQu81lI52kxmM*ST9B3l~a9U5^e;u_@$XqEFXyJPIa3w366zpzFetYE zQwyUVl*4ZLsNC(JkeTJ@kQu~gEyClMkQoNX+2@cM`$g<>@gF~4LS|TVp|o0vdF#kt zWg{DYq%^ZoS>$YBVt)>q@l>{<5sG*YnMvEo+5>zGEndO8$Qou-vYy^hX5&{JPF(z{ zEPe_{Nvg;7i2SpV>Dq%_c%P`iZ4TGA@+cPXr}|PoQcWR8q?Gt<^l?DenVH~Ca<)u^ zqj<-1v~>n!Q*t6lqCw3_0&Wqr!>;J}0L#!ii5@lwkzoay{(x~?wxm&s9D;2>W$_rw zZ9g_Gs$7V}A)DCBsuA_^#WF)QVZ{(U<0JgU@0IgC;u&A5GVrJ7qjOB?5cYj)P&D4( zRVHt^8wyVV_*iO~Yev)+&H8yh5S5%&Ry15tm}O}s5W4x9h{=yzyr;<(k}#^jI5((a zVd3vv8-FAi|3yU6wURaYQCP%uXm@f8ZjFp87eDqSFBz+e$$^s2ShD(;MT2lLF7d2Q zVF0g@kMn}eu}xJKO=2L|Z&_02rY^#)sM4I|pmlH$JF9g2x`D+=2mX|+#UlH8o0@r} zktO3?E{6gqt3p2bl9%H@AJQnZW2rYxHL@-bb5S+gSEgMpp2ouaEu_|-_MZMUczBCB zXMGV+x_UXSID6u}PGMTxbV_7*n%}2IzyTkyHigkHP>qH8MXTemh>pxpWlk802dj@D z!Oe&#`KpreUcykMA?)IYLUqAZ#iMYlyzY(BL=~J7v=dfMRHpY5*82@)uoa+@$uC z{GDOVvtPqEzW`87w)?wvhf}PrF?g!ar$sB=e-}E!DLaB+wH68K2rXz)q2WlREi^F!d56=pn4GcT} zTlgtK3e!3RfnUDKh7I}BtUW1X1*Ag3vF@9L-9Yvrg%iw^VbOrs;p7$bM~>?oTJ`IY z_vBioH*Q&CENSdnnz3up=me9^bA1>JO`lW5c2?=j5u5yOYEnORd2drEDsNa$I^WJ1 z27Z}5UA8H5wSDCm=?ysXGENl^#WUa~ra90WWC`8X&Z&9x{egr{_4@}^OWcrHMiemn z4?5)Y$PtWhlhVXYr}X_J0p??tI^Mxzx6nC6g#b-W1X&G}nd8X9JJZ{xYhlajhvH2< zhGU1K%;NR$ctuoqB6|*gPokj&D-HLhc-84V$5m^c+chh0$3F-EmOqmxP~-WMKa(`O z3Cf>&2wr**W{<2x?o9i+DKmJk>*B3W3n3)#9b~ucg*^dllZEae5B*aAEW$P{_Z51# zY$YcRYtsm^eL#48;L$^}W*mJ^2Gr|LYMnth->jx!H$B6XvZ=8VL0er*=VJpm1lp9& z*;O!*u6XPg?2aPPH$T%TD zRxj1kE!e$jIOQ&4X($YM^eL=R@>_6x5}Y9k1(2EVt=lv{&8+mBHd-{d!8Q*2B5NaL z6<1Jo&HoyXOA*xu`Rs|KYQHfH93x36YS4|^K$h$ZAvURCR>ng&&E&ib7Bap|l@B6!Z z7a4;7d5pr_rR{z+GXGP=CjH!Ek5cxWSn^WDCi-U)o41?0 zW7YueuOhat@T?1X=W^F<1KLXwo8e09rHK8kHLij9qc#55BKETk{fx@{xrm*@_N_^v zFLx^7_ZHzL22mO)K&agLuO$g{AD(~zYe~FA-}abk6F!f3bN}-t|zfnt%*0j6*9|=BnG!P6HVv67H6f zoaOtw!Bnvbs-^?6WBtY()RygKcCS*vHOa%%)6?r$U|`@tya56N2uL8HfOreUJ0PHe zfB^y)2sj|%fj|J_JrEy&_y`0d5J*5E1AzhrDiCNupaX#c1SSwzKwtxb0|YJ*pMbyv z0v`whAP9jV0)iL_5+F!{AOnIN2nrx5fuI6{8VDL7Xn~*uf*uG4AQ*vQ0)iO`79d!G zU;~032o4}Pf#3py8wegCJ_ErE#1|m=fcOdoKM(>y2m&Dl#5W*>fe-;g6bLaO#DS0i zLJ|lmAf$ni0YVlCIUwYLPyj*^2qhqtflvWL6$mvT)Pc|dLK6rrAhdzd0YVoDJs|Xf zFaW|32qPejfiMBW6bLgQ%z>}~!V(B8AgqC~0m2ptJ0R?VZ~(#)2qz$%fp7uB6$p1A zK;O9s@aK2XzE!ZyNppE8q#;<=2)QxazV1N6OIzWj-l(8|mPb5)d#8-1hMex5;1tp2=i zm?NS@&PG+OV69R#l^24kL-(n)w6s)Pz%l@9qQsn zm~B9>h})eA#-8LnaSa*gr2Ri1CL=0_(q~49@cMfC^DkcCh&C-5+>EOv%GYyosuW%> z;vm+-A2x_U&X1<&>okElB0*(+X;40H@nr}M%r}$ir4sa4-@2DkKH1~y0O*)+Vq5zc zexETD0*^pLH~5wH)xbj9v+F2fL`^J)Em!=UL6~x3zBuyJQk=Q8YIsz4_%ULn{7cJX zY%4}3f0D~LInETt+B~D#trXK@IgHos?tAl<>)S#LykE76e))F?%|78ApH{y73QEi7 zKv-hSrn$-td#XfV?$EUP-AD%@Mmow_T-^UAe9q(BUFJq7yx?_%ICP=%mW4BFuI7Dj zto`OUjWPM-bKiBg-n^E27T7$!Uwf=W-;8i=QGIDl=zo=C`2&Ju2K$cDWqwWR$~JzP z7%>X*zScmSwD^3&@ucXxqJCjyDx&`GtBW%%bZhyqdOc7Ik!61m9Vmq;=q%8^L%VBV zK3mDbdQ}5NVmLq6{wIlH303BW#IOJ&F>J92(}IGC<~@23FyGf7?w;ghBG#I#Le<|q zOoixrd-Vao96=pguCNT*12GgN^vEnP%Qq7KErMdUih11?xYxw6w@li7K zog#Zq#ZmG$xFdI`8Md?0C?Dju}jgIFX5)UM~(qwBuTDQ0&_Sy}g zOncrZq^+3PL<-LF^`)0A>{;(TZd;4xSW!-NQtFjg1m&am*^^BlWE}7w3yA8W-`|%f zrMxKG4-TXcG*Q)ZY$~GrhN+3*?a9UtzUVk%u-Sii%@Lr#zJX)qc+N1QpPkF@Y@?ps zPK6q$c}~v}#y*fvl+~c#C{IA9NxJZ$8Xg95AfCwyc6l_YrJ@@B(!{{C*=Dn0KRyhY z#_Hkxs!o19?w^~>7JcDG=)v0?t9a>Kn)A7T z@JXZuMH^LBR16sYi8it?9jH?kCyY9yNdP4W`FpG3C#vlznPEe1-aXturlf%0gO(G( zI_sm$9>!Mgj>4&~9tr0D1d>@%7YHy!sStY6W4DR3uix#PglS{!=55V`xt($e0O+5(Yd)^q z?wp_TH8_VDoF=X~vCWN}QE6ZshX_yISe;S?*r_kYHKGW(+M5)xdz{VZt6$k4iuZ*t z9+9e5HRy*w?nsx;H>a&|Pwr<&-RG-QI8BnoTwbr&jSsl`oktg#wxWb(x-iBL9+Gxp=PSC28SLzU z7q?&NSeNs(AIv-10HeswL_H!43NX59n4`>0T)DXs>-lt#9h2A09G>S2Zr1Qbajg6$ z^R1U5Q3IM7tP*eduQ9Q&h@;eo3Ak=50G_`GsAnjapjOR zh5Sa(s~?gwi_n@ji!gpRV|ZX{??ZS)P|*#4Z>IP7_2{{cw#HnZ)2oJ1iKL?298PWl z@1^He0AU?@MYp&qa>#EQm^!`{W=TD_IKqx>m^zpRhVipFpJqf3zruy6jV{}t$FWTQ zEtFeIoDSMJh$=#nris*BbJ>Gwv;5;{sD5eJCLF?X`KYp7jetDB-33nE^30eE z`n-FI+4Q`4fmzf%POh1x^zpkjHU>y8*@y8fKT;QoWE%7%>}qf(=1|uvY{SOuM!QDE zGVs0ueW=LetLiFT(@Jd8J=g9c)Lqv;-H}D#8dt$>$2!el$wV%Vopfh-ocDC>eU@F{}o7JPcke z$R}5Iu% zdW^jleV{>Eh}~JX)#1p3Raf1iOYlA_O!2t6I@~{a4A*L!u6K3Zy=XH*FFb~|l|MX& z+!E3zPR+mb7^4307%)r5|1Tax_}(**!RQ}621Hj2P;SozBGE{LW74XHpHdpKfvfjj z?FdDJ?=`|qM@#pm5jDolyBwvA}&mGWHC`Aj0k49I$c!R~zcETE_! ztFdRV71LVwI633g-E=<9zZG*m%%CD@<0*$xW1JfPSS=NY%*p9Be`-~s15vBWqXRi= z$R<(uSv`b^k-`W&L5O;DOoa|x|2^0M2MT4jS}~+X?MNxQUi3q-2Hh)rtFmD{0{~T{ z27v~*=O*9T>AL}v`Js|F4qFYoVxgVZvtTjP@SDi0G4lLm8ebeGKKJEr4?3LsMVX*`8BA*e*_ZU^NhN8GUnDc4ppjk#gfX5BFxLRtk4cgsMnUgSA4znCyD56&l&SMiRfCn*dcE}C8ycX>l6Z#5@05G znVi3WJR)_;{K8~VOMA5|b$O%9WAJk%W~Tz}HduhgL*hOWM)e8CZXyBY|F7+S)idWI z#uFK+M|O7_zy9vwd^VHL>OiYyT6A%S(icz#VZ zY3?r7ZJF!1>F)fbm4vH*TfFH2TQj{`&_8kW(xKS0S6-9pK~hQ zwet)t77dKyO=~XM%!vT2J=A~c|ceCIXv{(r47vA>pl9WtsTBY7(SWl8qHqP}D`lTU}pBTY~QHoTXT-^%o zoH(bO_3dU3M^7~^?ysqy5IsyKYX_cL58^_9SPvo3tOp%~VwJfn=n+5UA5T^|!s%J* zwM0HzTeAAmZGt|w%w2;~g^Or8mF!Unn$EU)V`Uj8OJ{mzN+#15{#7)_p+m~79Lz35 z^;2a%LymE>d+*Y2I!@N#2@yXArl+ zN1>nyRlTTM-LXoUCbX*eZ*3@tV+dG2I8?>z$)|=Am+dB;bVF4egnoZ1_*v8l{gS97 zGh0mRv4WDVlEa$AQIDp2@R4e|@gb<4n)lQO%o>`YOl!SB&FHg6o{Nh+>D8VPqi{ zbTjbiggycY)YoC|l$ZX=ci6qSV1D)-82H0?0Ffa?=vPlL2%g`M?Tops{05OU3INS* zpam!#yLlH(DM?Gfmn`2wDg=EC?S^$z#_^@w5+3mn*IG0iCI3vhfe^7y#wHx|3|b2HvyWx~wI% z)b};56>HR@4cJHgw_x1?G;*)AB}n-t5 zL7aaSGWBjkTSiIxjh%I@!%EzYK+-u7Ukz@L=LWvs8CPhQ=Uts`G_UWynth1*Ym-;> z4t94NXFiswa*0B`-33iNu!FSg+fLVs=QXk`se6!7i*Ke-nAWof-)6L$5+qcoCtLV} zH*jUWT5MJ)UoEFi<6Fc3wbA>+4YucN5i4FIty%f3&jsAG0v|*|Scoq2fTc0ZTT&<1 zZBX0)dHA+ysX73((%rR}m8PsIl|fI`cQy&(wz8fQnQ*l8E_`4a|7(cx6-`#Ssx??ft$AH5u-y;OOOt{!%lxyG@ZsDyjE;93Qt!+( zzDJP`eVc{yvr@JD=)a+1_*gA+2xme78F(GOOQNm zmRQU`krqn1O!-{gaEDt#-y8g=KduSmybHof<(FX*-x{*ZWbGhz^2m#p+z}sx@eq30 zysao@0<_+Snh0CEM)|ELuXL!LKrCvX5t*oLrkllxH2}{GkVu6bCt2D0d1yF9GUBZd zd)`U3L$LMAS=@Mu{(lW6tvCY<_9(1yd3k2>zx+rSnEN| zU?!PDaf%z$GH$UArp}7x7KrlYCl250;G$9l{dAU;SI6m_p?D8$z79Xp-G*F6lf2#9 zT`wAjh&77kp9SjhI<9oS3~1&fv(SR8&W;Ej?`ko!>v0~zJHFMv6aNXt_KKyW1^P{Gc6d=nxB}JPwS|@&FYJ5(0Eq*8zNsw!R}Pk zwTKp-e9G`Z?Et*LvC10JzIGX0Cv$u^;qHId{3cBEFCT$IOPCoSs^-0R;piQBSWHP@ z)^Rbkqt3Hy=GXzqXnm&fDm0Bb1UozxN*;N|UiVdI4fmhe3z{Up`=v$dVYU#y)Ri0b zl{e@#{08akbs#WcWN@tru6GHxesUh7p=7Q!V~{%)crCEWKW9dn>_MabBxF&VX(Nnc6*?(RaLBleYt8U5kvO%x4)8=r%cg`)T3?Kv`? zoK1mtPDg^W$#!Hc9hCvQml4E7glMLyAYGBJa+fXR1RbSBuNF1QrcKg-(=m_WtM?6E9N*jL(#CfoSn1->SYR11ZX6t(xjm|mtGdD6bN@Hv3j`rXbRzEZ{ zaM)Ft6>7ofzlEPkEX>lNQJ08H9k<=x9yGNu3XSN>e(=+i6p{CD5i1~yj$KS-$Q#=4 zf~U&WjNBbo_|I$)dcOs~XmI?Myq&CjEXcH>ymN5?N~zaD?5 zC_~+O>e*61tI@EiXP(!PG3rIuo1rMmL^R zqcUG-Z;Xx`t9ES@6Y-`cg-XDhAAucV1|+`w)=H!i}R_H`+urUsq0-aBjrLCWf`(Xp*DEV=3Q=LDh)k@>@R3 zD(kQma-x1P2KSi2b=j;Dj%?1;RBX4Tc^Q+02F0Ub+!ImSjsVQ*~Ar-uPSA8S|6FBNQV z`<_>Yh1v}?ELmZhCdaru%QThLCFOLHh4o>jwR@f=b{W}vBy?2exi%%!5gP%%GI4n6 z>)7p>5yde}!IT&6GS8eNSS3(S=t|k*Ot`{N+9>yIl`Nz!;0nVpcfjO3k+VUjKqWMm z`q8eS<-jB?e*n8m+pv7)Yt`mPFFo!EHro}Pw{!L@i+A?kRl9(huM$aDO{VtrRX4F4 z#Dw&;%cs)2f|9Czhi}tO%n#<;M6BEHGiTv*fQD(Qm9mxa>DULN%LYCV>Yj*}##?_p z=1d+Q)2@IKi3po?24F~OosD>5JotiLa;N=Mw(sF* zMT4e!U=!>X`WNFNnM~{W9fqN0jZH^T4A2APiqn7iw5B}q0g1Yjx?O=N9a-QfE3 z?vYoTU%Rl8xrS^e>k#DDOBh;5x)K_w{Uq8>b`Q7G`&kh@QyQ!WVl>#IPyL*x{MHQ_ z-f&|baT@F$Y(lr#P2a3bkXcW&!Y`1|P$4y**BE%q6uuuNX1cJ;HtYDwRfHHscF6vV z>=1)d)QbQjI|zpyy?gIMqC;Fel81Nq(U2OTmMNY*aZ&Dr%V$Da5j z$4&#uu?>00;=u0^yYES!75ft}iv5RlkYXR_?_`HRihTt%K=Z3^?w;9gwEs)7A4Yri z;f3rl5$u-ue<}9=kRAR~?0@qHksX45ZxO=%MRtJvYe~Y~hXddLT9S8S6r*9ZtCOTN zuHK-GXlBIk3vS@uW)3HLd>*hg5Fdzw0x|onFCRgI@&iRPNaF&ByTl6-HPXPpB%1hY zIb!l3`tp|LX^Y_abi}{VRMT@h zH<|AenIH_pOpSNNI1aH8>6virZ*oN9>kQU5k9z_mr7(_0D0*e>th;jMOII z9tAN8yEzzqKW}|Lker<~&?p?^dZm4=E6Q&~eWlmB+!gPaz&$d{I|NQMO*#bbJ$^^3 zldAn}e_-^-{y+j`e-J%Q4{q{I9bx2#hi>qrLpH<0!2<54aZBIpaJN1<{Mv0ov42uW z{(djq1NTr6?e48klmr~~9ivW~{z1_zZ2-MJjZT!syTV2|Y70JX;1TpovVrTsXH5h8 z*laqsp@$tVOy>v5XOn$2UpqD2n*C!t;J-q0d@!!`&D87al$UgRo%)FJwu$!^pc+oL z+|VX#5Oz#PpxSOxyaEfHe$|g0sl5H^euMJGZH;omX=ftJdEJluVS@OY2r>zLJLKnr zWbMM2pWcMoH@JKgJIk!uX5IGz`gc@6=2rIl_Eg^LiZq;Ml^7NPoCpH2HYPQeFg-8m zW$lu;vMLdr*?cVw>3@|Ugn=sEd7w)7#NR62=%ars-4aySoXu=4NX$K@2in%yp6Rkn z^lp%6YV5lcwaPt`jRjx2E-B?R%;gg7NZveo*`?p4fj9yls20uu2jXeB_{Ycm<=Xc2 z8rq$E1B?FSr10VBv-AOyJ6iw+7U_os_Cn_wkH_E*xtqPm zKzBUz8lkWPcIG#b%N{pHI^6d&coQCDPkis5?ED{QewscgETzod(3EGZapY9xdOpSu z+*FsXRQ20A=+FG4+N~)3T`K$sP$tVNXJTRP;ZteM35#8 zK3BW-{#3hd@@V2pMKwmG{?w+iA|D1sV>h8C&DhRYVk#;`>Ru%F{n!WNgL+@-hlW8t zgDp!3-VRa6dAfRlO!H69VQlT~(SN=O*FV79kLe{QW&SB7`{>8DXx)oc-mY!e>;YHt zrx!F-1EaN@(fFPSs5H$VvMO^(FI@q1b0@;2Bm~LRVr*a#7xAYyy{j1qQl)z<^ zjSN#~zHB9Ze|9rz!sIoPO2SKxT3G0chH<&+P2p*A+R7ww+1Y=b1+WjkT&16yBPy;h zJ?r~pyw&nQ)$wEiZ2AD9;G1_0PnTRA4YEcr``+J19e2tUX=EBoziVSev?58>Bot*w znuUAIX+=pmEpdBc!$d>E0e{fQ>2|nY_rL`SQ7c?$5T!QE3CU%+%1MeDxwj3boBI|E zRbE*CL$bg5cgg;{|F>lS<|*zUlKnLj-vdywJEY|e<9p;cTsJC`wwXeqIMz}&(s+TN z@X4Le{nEUlc##mCKO%h#*L>3z1noSo@)>q3{WsO}0gFsbQOe=m9J+%uxYDfbv93%0 zt(}>Jgq;HN&B!)Ko-Tub)H`~!gHCs_n@;y|*=CRupQ5u5H-Xtc+=63(#5oSs=2vHz z6#1dNtB)Pnj`?dGKH{aPL}#BIutmGzm!GTA4)%O?g7AI=D>}8>j@oD{un%K5N107; zJ(sw;DC+uBAbVe2H)qhc_@It9OhA;_L>Fg6@+M+~kn~MPsmibBiTwWg(DCAaHaYks zx4j4Mrk-qo-G#bu^@>SSRrQ4NLRNK;5oUBW$G~awuD5u;tI-`_d=p8394r8S-g6IA zuz4Jwk&bzplTN<;Pp#YCSn0ZM**?AW96ipQ=$t5u%La4#3_E3gGk?`O;^6e7U++v6 z;>J_+DbFcOlyhx$TKhWD8k;_%9N_XJ*U4IP_JIsqHk8!1b+EZE3EcOngaf4!bN?2D z2OG9pX2YY0=?kJGpOGZN`~5gUZpQUO?Ax1UGCqXSnd@NtxM2aim^twCnjWqu{{pB1 zp{_&5WD6-h+z#CLkMxmgbwRJKIO=c?{I%R%XBZsNf(Q;YPagC{?!u>m-A-NMM9FX>Ji<{X@fTvc5^cnTgx=r zmd`0`UtQg~LuAN6t8`f1$u=CO&Ceb*8}Cz%Z1rgF%qQnOX0FlZp3Iy_hagpY@m2=_ z&Wg$a(Pc(=fY-KKV@GezK;g(4Lvvd}?T|@=-!;MveoObI95L36%iy{vaBiqR`{u=% zs55!N*fU9#2=jMCUImjTMfjjj8)mbluo<{6DK=N6%FaF3*=?{>EbL0zq7VXoBJ*>WO9D8zPZV-615C$#i zWO+S=0D?v$eWzmj@(Rsy;7Qz|y{vIqak)y9?9y1tfDkxI<{!09>;TQ zFBfZzAmuG0%*!>bFpQLlawsoVskoL@AygOGvqaWhyO}&4*R|fUoPS-k8D-vjAlfI+ z5s2u2SWXEsf!m;JzM9`&Mz$DScn~eC?!M>hYE)qR&6Q5-Si{_4;*jY`qm?QczpT03 zk~qHY7VQMhPYI!L$lcAEo1hN7^qJumgHNhX(T?!QleLSFR}IA=W*?@>x_eHm>m=UR zZ?^QEU+eZPfdK8To5Zwi4TfW_XU+a41HXq3j?L7{`l9;J--pmP3XNti__HDiTbv~& zBVUeM0ADZmx4%05(d;KS;0~;%u2syW#=GFV9FYVOjq=*NK=oUr;1v{)WJ({vo!5`{ zY}(s34MhW_oLoI|2HcY5*fRTX@2K)QC1SP<&R)w+8+>M$bNVnhqO@Z}bW7>WojKOF zg4nW!75DUt;Fl8ysDNGjT)@WkI>HGq@uUo=Q6Uw5Ftd9Ci~cVK>|kKqzxVuK1#IR2 zC}79^YyFzMlLwlwJuQ6n4U*17fY%oY-d3l2axYo6wMr4$%4+@|;l+c0z`@!I8}&Wacv*DG&cd*4ARnEj@({@#p;m0c0$^I zP5Ely@i!D$RmZCgs-P{fx3$N#t%MtSzMTY#;H86L@nm4!-|Br?+9QHqInxcArSf1Z zRfC;{J=$KD?A%tM$_(>?S;q!!zYXg}daw69;JF;#^z;t`8z zto;3-qJ4C|6D_xd)s!hexCd0eo@@O0>R-#( zC7|-PpD|i+-=Ffe7b~uODXT^?ObccYm1Fa441w=9ZrIrur4N0+1o~&S-^ketIm`3n z`j~7j8hrz^FzTsjY+tPB4O2no>m<#jKjmxim-4lesaHp;)1p?b6=!6{yXyMq^7Wj} z1uR&P`-^CQgduF_?Xzg#b~Bw5qx@O4zx%&L`(`hq{Tq;I-|t2qmlpO#w12hj(2)sY zmyvD9JXrBZw2!QK1Hb92LGeERI1^$?QbCbqtNK~AuLTnA`%LRFRWjcUUuMOcpl>^u z(`pRZ4X>S--8Hb~EGWx-$e^W$+?=6VB>&epX` zYCwou&pPd;t312S|J{DR2o*T~-`aw%(7-~!grO+Vh&xy2I)lXeTcA4dUxn->>Sy6T z-6)e7ApSN^sukhC9uFYRL(4yZO!4L81x4TJN*K=ZoQ*?8U#`Txe!1DPxcEjVwi& zn%bD{kDu=;AxTe6MI3VtaW8t1<+E#g&F6nvhs#IY>4ZUE!xy&b;%F+8pQxixs>e31 zE;1?KQS2t?IzY%4#{FTlwy75$n{-KHrS|d^&=M8#< zja*Yc59)pStFAH@{~~PUu@lZDk*g;>aFZ@jos!-fM3a?|x8vN`+&+#hSYeR@rhf`n z33gbr2?3hwWF2hL%nho2`ILb26uUUStIs^qmln$48Lp+`i{d851+y2C-NM1qd&R4+f$>bH@y z!w>jYmfoBYmaCGKo&2zo?p0sC_rr@r9yW6=`3v2U~9`!^VMQu zC^u6mGe@*jp0;HpG^Fq4<~Ms)9`?=a%~zY(^;-HuQ_z>{1dc;ddjyI*P=jjf_At={ zV`R-G4&#Jm@9U?G4|I$?gbT0ali(MHsAHSWttMreV8`&E(Qx>d_=7n<&9g?fo&IDNzI@$ziN*HOVxemk8YJTTE2EZOWWi*MCo54Izefi- z@XxyzG36;RC8FsC#x$Hqz=lD`szH6}5#xOBVQcIjhnCk^=J@O0?vCTrVwCkL;dYtdkBz3k{f+<6V=qqW*UF{r}V1 zUu)!WVm_IXOVXj_se)bHhM-ctyWxDb@4EFtH{%w_0Yj!g3J}_?s8eI8r#%R9C$Xw6FBmXj1(o}0NEIY3pq}NG8{1!r0n!W3<$1^^N zYY4tG@Q8jaG&O}%-fieF>e(SLWth}E4I{aA;Q2XiE`vGq!X-LolM$0W(@HcvwzN`K z6d}Br!R~9glrsd3;KWC_79u0^n}pAUjva<-Cy-dV)%cXd8A=fg;WqqKofa_%?D5id z+e8V))`qBk#A_dj2?d9`GSgCYWG}ZI1~9B5dhH{@RwFO1W39@UoXOK-i9{lb(XX{x zEL~HVrCTgrLy<-;qvvL6oIWUB=HQcK`+6pSp+`$zp-A2rFmm2{D>#ftBAF{=oz8{RTF6M~GRK2H{R&C^z)*~}TBv@I?;`BOpk2kNHvaX~eL

    mc`)-hgJYoK&!vk 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

    &rkA8udL3cMon_Q;em>7XGJEPm`oZ< zd0N^}GVXHA4>0XB6sI=W?n9i0udWB!mhwY=Q8aQHqHW$&eOUe>u_fecsnAu&H&>Ps zPO|)i)pP$M%K~Pu z@eA2;ssQNc{=pZfYL-&|_xSTM>UnAV&$o2_lw9R%7|b_Bw9SK#Tw-kV}-vIw==#6@AWsG1uau1~Zb7%Dr(-Aejs2_ow#!u>L95vY^3@9=%P z_g#&ImANQuQHZAcT&z3G^rhFR_k{53&cyO{8FC3vi^*s@XG1}+kAGvpo|Q5|^G;{f zsGTNm#w|h<(>1l4#xu*UwS!Nw7vvw>H_mb+!dso^@KdbgFYCrAlNEMO5Kj#YRjGPj z%S1I6p{zN}n7>^Ul8JH=;P_lExOD;Ox+Ap?@t&<6l5AXY+(3Egg%&3et??zKf=xj!RP+FC3(+(iWNqlLqTdp9`*J`s78-^`^5jH zw~r33d(lNl^dS`E?ekGhk2R?P359p}Fz>`aG024}NlV{<2t=wtZA;D^5cg5B%r8wq zl#4IT1(_homZ!Z63jQ=S-4nX@YJ|_sK%%UpBS$h8>rrs;@+7$bLR+||gLlrovG3AQ ze=%i{oa|tp1odq!#{2v2DJE1N;rW#<)2A_!ZhzM?GCzI!N*O3V3&1GUsuRG|tytYKJp!>m5JwxuqbU#n$u($j6!3 zV(vOQtfX05Y}ZLkRQpvkqn>bPxL)b`MzuW!-Z)Q#TW?M9nPWXGak)P7c)oGAYrZ{k zs(oJG`}9}VWn0E^%0lRg_-Uox`ZQ4LS5!fu3Ov>Ed_-2$?OAMd^>IvdB@Q|+i;*aV zrOppI$;<^TYA)@kTl5H7ElT1eDVX|k)v^t7M#EduLAKcUIB*D#%xJ1qQSslev?T>& zGSuEiqM3gD0wS&0c*q@Jy?J(wiy5!%=N4@Q(zlC1!XxX!uw8UmZbF1oODzPzi|g^3@&`UD^{v(ONItLgFMb!(DupsDQ=2F4Rge3W{WJlxi5aHzn_*X+ zn^d4%72GMusuY|=4Kxwy(+0zq4WUms77JgSC2mLBA#GX*iK`dh)%RAgIy8skER}UU$C!MFd^qxwmffMwGrN8?Hac5cZJrR4tt$;P#mCvfB zF|d1S6hxgvqLjA?7)hzfonScEq+J6xH$B>=|TUEnMuqySZ5_Tx5v(P`69o zLzaJz>^aS&{Y8j8O<1m{GtEfyr#;l&G`@nV1to^|amTdR2ST2_x%?&4JKy9!md~iI z#$1jpYl(fF&r=%%j6(B_2-j+`GI?N7`kZa0q)SPi`FY)GTWdR;^T>XID$RFvAXN!d z8b0m#t*US%DCRV-q)g>v7Fs=>yG$)WgXZyJix&d0I?O@kvlO7|gT9p{NU(X-Mj6uF zxVsZCw<5Z$B$we2!ogwpHi*NE1y1IHoRH# zVgy^fR;`@I&sa6UFenDyFVlBS>)r$nr|r#=1oaN8B5^@0*HOEPs&=~Bm!F_5%_^fC z&QLSeF#eg~VB;Ht-|u-^Q9sohq*Lp~c&8`A{hojJ`GGhe1H-CN9K5h#(2%|D(`5kx zYGn)e__H@=Mqg)IrD-KKo#Cw8I7Qrja$s}YoMM9X#+KzXinNk0mn�hCm-7wG6Z6 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

    8OzG*Yx|Jh^-UorS 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

    P1iLa7k>7A?Ob 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

    ZfcIC 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ð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򿮖Meq!dk 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

    rx@ z#)D7+s6Ol!kX8Q0={k@uxRVNmBl;v^T>Bj>4t}Z#)ND>?`!Q4%^A~`=^rn=~5!ayvWjMYE9@D zsrju^$H73+gMSYx;(f(oR#oWZF9YhTV3MA<6;Tz{Y&rW-n*|B?d(Ut1Aa;tOiqR!v zN8Q4YZYbPQ`%h7`>R`9Eq5izb&t_R-tfBAa$kXwmzk0k{VqO^Nw63Clx0soB#^wKj zOWSA9H0#}I6~4WN5wD@tAGyQ2LRU(f)*K}L$-Jd9ekJF9NqHw}w;(dv_QYoCwe~!|?pi?5>;CxWWW# zAD{*pgSd*x!jMXkG?y<+*ZV*iYS2Rw^vdajxiCReHQE48EfENU$phY{@;cztMXEVq zt&T-x%sv|d5z6*nuS1WA4qj?iK+pz-WPq=Vk7!*CgH$ycM;0uf)m9qu^t6^czEA(4 zr&FZ!k0PdOI3&N{C?2_y`z%wb=4`KzY4h7R&F0q1H2IB>bDu7l-fWn?{L7pBavQ-c zkJLo}yuKI;h2HV`xj?&c*FEgGR_W{2?)#Tda}fdiM)hW}B`VaRFW1d4fBwpojX?Ol z_~kqMzh6~H&KD%+EJGo&H%$(15hMJLYVrO!X)y(mq$_4xeyX$;J`$ZS!pyM&@`3#F zfrQ}V*RpW!EVb~GgKYE~1L}bVLd(h;)b$y_(cYWx`d?}dJ=%a`CHC53y~BdV%(5n{N7f&N>1#(M2;JgL*~sEQPe}g$cXRJ zUDrJH5C;W*i+mjSDM)1(kS~c(8Cwa21(Gh&aSAZG>IZUI2Cw2A73#qO90rGQ2@Jz` zH)qIjuTB8L1+6aLEOXkg+@Q4CkjsWYV*Ag{DiPc2*8hzkOXM>s^gq4+>3@5Mc6MEAz?8>`P;t;>dJ;?vYp-<1vqbA(DdEfLExAljU+lI7_RAkV> zgoR8OKBZ&-R*q(+ld)EEwS>dfk212@^>6*GK=|?5I?)mQO>{r`AnOErTtSF2VIzb` zZq>;!>m)?#1ndB|!{0%p$ZYj82&OQ zw3P}y5)6Wn1uB8)y+wp3t$nl!RR$3AXNi~6qV((`R)4`MNGtxRdXfoxJ=#{vgrV-JCbY-}GN?%ZG3bffIG^ zKlBZFK@Exn{dv(DB_z|=E*lxxz&3@^wZ8Ise7Rtv^oRo`-%FTmD9}%pfZYVc&J<@UP7IK90zK+M<0J);w)y{|AcoZ zsx?M{ACoL3I5GJy{sH7(#|w2N|D7@8Dkb9yzHOmMf$VSxEg0WRUB?&j;*>ZiqQ1bS z*zW4~J3JhwpL_Ly=O?Q1#DSs~=^*?Xs&Q&*`B=tKJz_a;caC=Yq$V0xU3cB4<8k(N)SsS@cB_;0IsZGz2pGp$fLpVXugh36<*^p z7tM2OrF_rbH$J#o6Z)D`7J$yHG?6mEk&!x$Sp~#8gMXI7LF@ zV~5gn)6$EAS6K((bUdYzcnlzNIss&kSI|_oiVU1-?DtS}1&P#y`|t6Q0Wb~&R>OtF zWBAj^FikS=u~(>K3;+!P9$S=4VS)9S$UXqn4=?(pPRdZ*{Q0P@2_*U9iw06#SX?#V=s0?~i!VCps? z06`7~L^CjeB@A2Js-x_Qg3D-NY+@OY+YZ=Y`}2c=4Ji5wDW&`Sv-SJ-zi9)u=DfpOST8Ig|nA zJ_nkerpSioXWqX?h|cq4o zP(~O4m2mB5-MW$C>%Jj#^%b|#MN2;A_KrUEa9#NlivY`wN-QCRA;*pC4kr*fYM;{v zO~6Xw%wyN7y?&YR>S3$PFj$eQaxJ^daF3SC30#^ZmECsn( zJbyO@-iP5|;>vcjRI7QuW`uRzZK6!mPne!N9+h*#GT?ZWSjTe(Ia3AHF3q)DaetN| z+PITZ;`HGU6SlTguDVseh59+Vh&yrAL1*@8!h<}8HcED}(IXU2;Yr@nlm?nk67NKJ zn52NUMEwcT?%Z>RF+cJxX0Lpm&PSR4(0=LJFK}Qk7E-3JqV>;8&BbZ2tx0owz`VF# zdv#0BipIaHu%8~5HliTq6yf{B61`g|pj}6()>3)5sJ3}aegOc)F~LS$B^-taMLz!1 zOynf@a=A#R0bcwZlNihd;vtu-GVFtYilpM9$ACyrfY?Tz^ezP{1o*FbQ#zQ|hU6mf zEU8iqXi1fSqz>i8mF@Y0zYSEch)K%0x0r;}YfdM0`)4QZt0IVMBH-SehTv9)NIv0) zR-;PgqQEA;>mEfihy@cM$q3lUz&xUzjGs&tU-**a$Tnb{5_J-lZn&^j@M-c@?q7#_ z6oYpZ0x!KO`+fAGx64F);OjX@!vom6gWqUq;!W!S)4`IXZS_YEw|TySi0&o)?m3I+ zM=YK{mf_OGySZBZA*A!6GErZ0Q$m5C7X=IR?^8;p`Tl0D)`6#rKnL%@OXnfVWKbzy zA`A1sBa>kNQ-54Gtzq8(bHHD&z8X#c4V?Z- zQ764Y18Y-28;jCygVL*YFw44U_y4JH`akR9IoZEvw&^!9gQ5s`I-X5^EQx${{qK^o z(b!k>#}s1|zc=GQ)~*~7FKyuuD5BjH4bJ2IN0a~8`>D>$FP81rr`dR-ErkK~Z(dUG zz4Z$8@b0JrfWDY_>EGZ(5B0X!c)hVj9s+WMB6%L&s}Fx!s|w{IK;7^>I822w8EvWavfhU)2{5$WK072IGX!>*#h}07?x;hSPX?2>b^G zWH0%CdvZ=n9i+xw&Zlp2oq=#Gu6fqH2? z#{}fUMTHF_bMTgsAvo44l7kZA$rq71*0=>w3Us`NMPRV6N70W$>>$yY?Y2r?XS?Da zOET>3gJeqda9?-(iK>{{p83=*C)w`kh5l2bO*(SMv2#-~>~O?&uQ<<-Eng*y7(Q{^ zqkV=U?F)~h*9T>%Z@1SNB~NHFswBUkDA(%wP~vF!)g?Q5q2rX}kb{%?xuu>{TE^Yv z#|N-*fI=A>0>tewms2 zI`Nsg;m*6K*V&gY`u_I&$SU$Z-~Q)G{O5NMM4=OZes3<#2K<7I|Cjvz%eSZWM+G1D zV>h$|*G#e=v zeuZBnl;ehwPG-{i)ma#NId%=plo;rGkZ*C>JRXnw$q{h@Kq~d{ihJe(W9DHiB$&~` znEO?b*0g!RxEdO^H>&R=1#Td$M-GgIear_r8 zq;5*QJJ-RI{w4QxvgOX*2MZ$?&cEp1&YKP6q0hcC>)uN!HvCxm+Ql>C*6Xpl28FH~ zQ{PI>P|qxZC-a2WP^IQ`U*?v1aqBtS<7~qbyIFIq{+J?*FbtF6hzg?$+o^_PhzI<{ za3SD?bj_ANOuxpx&r!8wIu3A*=|6#86}xH$0PS+@kIoEJ2jvI4Gz#?>nYqL>Gjq#B zNOsz!?Qs}Zk#!UdH&x27qJ4T}X6(V9G5c6^+vW5+R{9!Y1$Jo-4~@C1clTpX!+_G) z%7;ag-etmBDs%DmbaUlFdY0i^Z#q2qdQ75LM#GGuPUiqOK*+zW<@JRJ9|jzwp3G-u z-%J`jCwR7VzRt_6>-kmVsFbyCt*7@k-+$=s7*UkJ`(y+;k-E9I7xnLZ|N6V@y_}Qs z^3U#{eN!FHyJvmPL(sg zl`GI=sTLDui$5f`nGf&I-}qWSlkWAr;@8n{;&)Czi3`#`m3z;AuQT;m-R!|52YuWH zYB1rB)=;)`pkf!Q*|l-ex3Rth8QIlv^drYNpT|xyZu+Ro{}b`5e@#Yn z30-q^S&AD?b0qhah}tl1G3b|5Nk$+(azC#vy$%-0RYqZ$z-sk+-RViF6qgK$1la0m zyYi`^@#sc%Tixcx{Fvqd0h~7*UR0lr#w`n`s%OcK0wfg;GHj-WO7eP25YNkUv{y+D z!z+p!-Asu7LUXoKHz(U=~(J~Ph?unZmvFg<>PQ7=~~Sh?7_K5vuFDpQ|3D5w5?kl zFI5TpM*pX!`PJHs-Tm&T5P zi(-;svXemiJ8jp{XX?_K&y-|+hO;B@@w_W})&NRKYO+Yj3&5BFsF2B`ixHE+C|C*J z?VT$3;Ss5<1OTCAwt3%Te(Y$205lpelA@4zGL!(d*ayolZL4h-(q;52fyj-;{E&Dy z%3&?bupTg^!>5E^ZSLp$C(Npf&BCNtmv|`uM2Oz~B>R>t6QU=Myfe2fcq}yiO$Rq~ z0nv_r(=lXfO3PHoD9Y_%`3zTC8N_}ig=%lMnbSeYlc2Ynmu}5Ro{AWH$$IP2PJ5=U z4qTZ#<1u^9w!0!_!TRoyLj~@pfoDlo+FcD_qq{=^+GieZy!mGRI3?zxvc|b&2kKAM z{oq2CA6!ePjImFZ!UE0&z2!olOMK0Iz_IW@eM3rXN>q`BIVY$}XI4v;Tyze|T$S%Q zPbm?t=S{b`U59XE)QMUM@FS=aY^0@fmW-V=3=M$FWMt4Wk3}4Ku$dvlY}7k|s9N(GwLIuS1gh}r(sd9OfAmbd6q{p1CVViKFJcD)xKOoca z-A1u(&Kf;KT?jKUv<0*V!0}8Vs+e<76k-76k0~C&tq2!}=UkOKAIg#lrHID$TMAff z+p3RKS!0od`VR%hLIvV6pRHrBhJNTQm%6j6N_4y0C8P3!BR%qlP}70Qj=g%_a7R<- zcVbV5_BB?>vtCd1Xr#*HUrG56|Cy)VKUMfOX;-@%{P3tjtDw%m{>2K;h~|-?FWHhC zEaPYWDx{$8N`~6WYf-&)!M`Z6b3|pms0|`Ci36P!H3_ zq#G4@?z0k>scff6QcwUXb^*<}JZj|dT?0U=5#rJ##03%$$OBf56#!rX6ui~I7L4I_ zc2>y$42c)lk#sN)K+JC;j&1P|a-c34f9EY&=_2e|G&q3+q_EHVWE=ZQ5*!kwDe*3d zL1RM^#X&5uFGsL&8+vuerk%ji zAuppxSAqvUkE;eMem+81l7U=3C6G?FY?4~UD5el4Re3bhL=o5G5Gw$6<$7^SU?ha4 zP7OBRqe4nO6_)ma($9Cy?|tAe$E`7_~)*KAN?xp&eR``_2hlQn`a&j$qDzI-p>ntNj0n-Z;d zqV({-RMocbdp>FTII^-LvWyIo>y&c!@+qMim%mJa-$o1wozqcLv^WSuB08YEDp}X5 z;IAAQQup*uCC_e|FdCz*MG#iwikOkXP=M?g51IaQYMpDxlnbc_2mxUuNcJ5VqV~9*d7V8Lq^~jkUv<78BA`%>(f_zbUy?u zmIO$A=fIbRD2d%ye~^*1Xh0bg&Ls0XlZ;B|5NG03d=(_Rg&IAAWPN-oFtauEp6h$<+&^m~47zwJy z;Q!tQUu5vBP(gfn!KWk`4FhuK!a}K5qa4`JpK4>#@a!7}6?b?yNAi(u|(Jj~1eCpHqgV=UXtN6y+a;J7l zL|c8MVJSI6x9u}VAckc1#6c;4P?tYT2)k3@#kjBBS-=};>VQ?7CBaun0yr}A6A3Da z0Uh^09hq&ZM&gm)0wSnTb1W!98bBc<7f7OAR4^hMXb(UVKNX`5OiH z$TR@?E-O5GBBIvtaPCr*OrYSaQ&F?0x_1<|l;ST0H0${zBcgAzH4D*7iWpz~caoqN z!`JtT?-CX%V}hI}Tm7N(q%aU)xu8=bMc8&T#Ae{rJvRMai?SirZX)FcNHOOK^wGA648#p+e|X(B){+ zgY_-wWez-;#8=h<#h57)j6H=c^Lf@9vS;!PZ1bK9HvSdpRb6inml`}9`E=lK%x2Tz z_dlLD_Xiz<+k5Et#_N~G-sB}}U;DT2c`ZZc`p;hRtJGPw`&+MJ3O&!(g3T*G-J{(CGk?y%+u@MLnH6n zlm0c}!t-wB3_dq&k4o-98Q%l>UV9@tmGEicyMITD_+Y5@HI`$=k#Dgvqpu}x^D64= z7$s7*x>v={h43dv%kLBnbev4sR|sS`mHN9S-F*2^a6?$hp(gJjGiUpwLr({NE2!E}=~Ay- zBc@d0_k!oIeDxVzy7qA|+%r|Xalk;5*K(N9AHahd{ z4XMkDh}$PJKk!g~PW3DXnZN~nKWxlfP!Q(L@4xAmdMfeNFJL4f z4bXjb2?AvTg|PfP7+4MfBsB}#{WNFmu68i~5B7Bn>S%0K#|7KC!3vG@FKo=mwPRjFD^^)sP~5{f&~ye`Gy6g)o} z4|XO&6{C4Wg&?C(c#jtwr9|^Ok-?tVZJo9RMJ}3_t3PRD*G-oUrTM*XdpZ>M@BOR4 z70aK$+(uopkgmMta!qfn{k!TKOuaQ(FQ*G2fpmf9zO^73BnNDKa@WWwSr>x_LU z*0%0i&ZZ|n_T0}>%;Ex0*ntt)K3DGS#`##@ZH(>xnNK$TupOq+Di-eHBX|t+c$|y~ z;{vck7lt2#;@^tw$7f+A$Y)(d`tsmsAV+uZcPvo`L{%k-zm23L4{oeC`H(u-C7&LrRaVw|t z?9q>pqhjAEa?eAuCj_ON=t8A+aG^Wmw@;oweMD)8$`{2zOv);bVLu08f*#N?017As0Pq|F9ReTXJp?%fJ;Zm2|B%2T!9%b^ z@I#10$U{Phgb#@v5K zcIfya{2{_2%R|INhZP85eaPmJ?IF8E_Jv0# z4xK*~eJJKo?4h_r@rM!)B_6tPDCto0q0~eF{qKMOOFMjCJap;Mk)q#$Y?UpEl#!a(ZdD=4FCwaRC9G76`ra}nyoGW3Q|=tiulx%t7Ut?=JAzJ zA5N!*969qiNzUT=$v3)z=2utkp8KBa4186t;8hs^SVVQKOx-ch>ZRysmm640McJtz z!JKL}50Rh0+e4jhTHMquxBsa&-Qt>UI@2nCur}Q8{^(dxb%Ltf)esM#PXbpX-!&@M zJvklzVAZ4J)W9Y9i2kh;g&Ukwryi(A`9B<7z#LoN8+~hLu-;+uN)_R2 z63J~Nh=)6yXZEYpZq6_5`HmzgnOO{E z_wRfjqcq}JKw4SSz=wjJ7`&x;#B$#J4}Y>_sotjw@dp*v)ekOI@0tfd?u}gw8Lu=E z4QU{mhj33RWhc~z1T^33pfW?|2ZB(U)Yaca9#IbYlT_%+;;mer(S7AwV}Vmp znUfsvY~8qnP@bX5e%Cf^oOYj`Y}~@)o%Z`H{&`0XmPJ}`U)!|2qy3`SL0{*2x7!u1 zTU%vU?l!fD>o?VGm1?@&uU;3`sp0e3Z7l0}``W2zs`T|e)A@Wcm#1q}caGc@c8903zkV_t9 zL8@iX@3z$>*VfT3quSQlD=`tejd#V&Cu6bt7i)D+|R*KL}Rj2rR44 zTmUQCE8(OPUb{HX{OLN``(}D~vgr?GUA^zS(e9SB?fZyvEAg}OI(CB4>8VHi8D-~3 z*!8>GFO8x9Vn_-fr(K`^SE#l9gt=gM%bj1p&9n32sWtsU?d9{*kss`dH>W-C!VPp1 zx`b^jt}ouM&~YfqmLfZ94UrE*`syGuAsb)tqTIn42)}cy)L^B5ZI#tysYJ#&5bRJ{ zhp-u}8mjcF)d;=0ZFj$mY z#-|@KpN1&T1rTTM@Mw<$u_0vvg1m1>4f^l%#+egk13JLcs)U<+!zW~3>;pwpVxYfR z0kXWb>?`Bj`6n8I@Z%gyCr^chLJ+?99g~^?0`R_STo|i?%(Vxo5 z{z!U4mvKPNzhimZ@S+Eeo((IJUVhsswcS!2O}E< zhq57Fhe4Fb%Gb09Ks9iZ$T==wRPdMZr{#t;~%+UQ<#6$JmI!rPLv_45b? z{z4t78C0fh)hM(RS-@e108TTU1^Y zuv@6f@fUoCo7H#PzoKc?CwDh&EUJ|NKSi^_9_`H5_Mv7d4HD7c)-oiE8FbU06LP{V z*K-GLb^OK~>;6vbY|Bxs%3xW5*kvr##Pbu19q1t&FPN|XtHQKmMJMj^yT*pmKTShn zJ0-QduW#+f&vJO(;`2%aPEQ!Tw5tDkHG0OkO2A{tIyUxhoX#Dk_it@kt%hy|5fPu~ z+(ZhyCeMk4shIeLNxjY=O#D=Ai{>uEqOlD|cOBrVHI!bsvyI^n9xS@2pk3H*W2kx# zSqLFz$t9!%?7><6c9YrAN&wJ-&q@Pkn(xnNAmofs2Z=qiUGAmNDkbFvSFED=dmDjM)me1{{nJzJra zyhfuk|JtC@lW@ZYg4|5#3~^##N+yPlz59yK-aGrTlS=3Pa=rI{s>y*gAmLYiQ+o3lUt{gMYysdEbj$ppexR3hanQcO7!|UUUoqGZyJNUGTx37sng>R6 zp%zRaG@c7q!Vvh6<1J-&vH7ve0XJV2L$zkP0LTW02eC$w&8Hm{_-i-Foo{9%5!5WQ zUB1O{zd@YPHq;LlK=t4O9eu)rr5Y#*^{?@YL{aiXefPb9I>j|JDP9R(!6b^uQo-1bHbhP{uXYkGe>)m(u-IesuA{^;W_KAOIhTIC zdafX#aL_AUyTE))2sw-&l#4(Om_A{mUS<$wukW+Xyj7}RZtg37S<9)Ep3%_zY=7_E z-39sAnvXR9 zzLfm(SZ(gBMJLpolH280&-4TOTtg#@LGUoMyL!$6(g!(RgNb6bT=7~$Av{4EV?j?v$_hcPuBM5qeEqOo; zYpG+j>kcoVk}08QbxUKUTg!t{TR0w>9w6MHGTqkMn@IB>=}51YIpwU*`#xK~%@kaZ z45%EEBXKhHHfX}R9Jc%dHA}}pLBNfaE_z8Q`%DHK{Rg!kX&O+Syhh|ZUTIqxIgL6O z-N4O@8I;|i1t7~Qasyj^`Jw^vgbuJ(QnqwSP99ezPAK2x>UD62l97yl{j!O99S63;z|7jt(&h+jtV|_!e=@*f1oTHsLj8tB%aZDQ;@~E|Af8WYU|K>&!^@{ zDyyj{2lp!HjRy4G{_)PoPZvlzvv#_MN!<&fS?7{&{e7z*L%J;_kga2v5dlQ_-oFt7 zkca|Q&T=3=Okipc#61oYgvz2|6=KvOXXik&l|ZN+PYDSVKS!>m)M zW3klZIJ!UHfU1z?*9Wm7fhkx-Kyjri3Y46bMG4K;Xl9!>r<;qvVH_UW2f8Yl<&r;4VWLpN;(TLeN*t7rM_XIOQB zQRH+qAOpn7Sn@`0=|T4KAPW>UVz?;^kfmvtk)RIo?|`asq@a8tZ-6L{oF3Yh6~qS( zCP5EO=jbubS$;T_gHGbwV$4vSeLf!RLkZ8iYBO*?IuH#GOoR62zFyD@`d+8m8mz zvLBY@#BlB>ENEh59yb?XMZ~l8?4Kk#4Lb>xWt+1ui)m%`it4iURIV}|rc57qKDl3S zn-kc1F|tvx%~tr|oqnHjO_1!xMwb_BrZba#roO0&9?khL!?PI6$Rv>CKI+7V%GJ?= z*F3k^T|pK->euG8)B?vcamJxcctmmb&9^`_lM2TIC5i#E#Z)o7bj>whpTm{cm67?M zF4WPRu0;hZ=Kz)GsMsx_4M!scWgak3^vMCaHs?$I2XTz%IYENnx8hOY0B!J!fpv7% z%IwL|tbamKzVPaQT*lV+t-a!G&3(}N?+iUYUX_lls9~yJPj=MSE%;+d++1ryj|ABc zq`VJQ;qd76&@F^`-SA)oPP%3>P-8748kc=Bl*fXa9R`qlTf&zRnsu}X8Z%sS-VVGZ zNdG5wH^e*JoC|*Rd#vpVpL>;lLgj<6kzzt@e)63-!ui#V~Lyan^GgJd!xPEWJ&YtQA@o*(Bs9?aw| z_0L+d%h18noc|Vryg`69-l3#yOM30UEzg>l$Y3lg&ihE_NKrH&9W+N*9ziDC(X}|x z;bC|VDcf*ABPOY662%+7Wci8@sE*-xH_HNEJeaNGX=ecJNxY(1$ozzX}(2QHl#PVK^-G`)-=!!kO*g5s- zNbxIIVFMfyP5+_t0NDx|l~wbyZS7%k?KWhi=|LLI6Dd~XTHt#+VSIJvj)lL6n+`!m zMrysUAA+CJ94`8U}3}l|d45yS@rL*=p z-ZzW679d|52ro*?(!|jdQA*TgsBv?8%zow6#jGT*Wde%VWu^RDEIfvpd9+gZ z4-=A%r&B_+It*HT)j??W!kFfC5(lJFOmho`ByZ7;#Ce0mihkjqB1#4$?6RYZp>R#G z(i-r_y7N}@V+K;t?NO71Q}?)d8*$LF30z*Ct#rz)YETMOR5S^f+rC&Z_+$sZIc;{a3+h00t=YPW8!-WmhJ}JJisqN7k;FniJ*!f4fwd|3dF@CYl zR|&Et8})!$?ca9&9advJziT17ryw_?YAYI)RQzkU> zqeu=lht>dzX2?cUVHQ{_LLGQ~?%IiHFsd1Z#*DzWfClQI<4IZgQ0RAsEdQR{Y5p1@ z*X$T9udz2>vl-0CkM#%8V?lKRzfZhEWgWGv5B-!C+>x!<+;ui4=(6t1gdVz{ch!YC zo)B-k9+&#p0h)Bc0joBr8!~v4aoJZ+sfPBH#8ThpV(Sc?>rLl)r0mj_Dl_~6+4jxp znp-)!Bv^t_c5*X4cpsvpyQss=O7K3GKo*ba$Uer%fSTdUBN`Gjw3Dp-GzZ6_293Qz z1j zlVEUe7@j;#KQO46FSV+CTWpAU?>xsd!SS5w5Ra*pLqF(v7YchEmz7k^+xm}3ib2(j z2FTCxz(O-m^6`(&!NTo&XGz^ragcL3Xbg(iaL(Gn`}PQ_AZZ`0*O3t+oE=H!;{vi5 zuyqH?cu*(_`kE>pv!8{>(UbOJch9KX?4v3~vJ*nnUCH@p)#(%zh?qm07m#O3w8(eR zRMj(luVzPKn{NRhPcd7gI-sec5a(g)Lv-ec4q$4iOcV(k)sbyb3C%4Ij^m?CiDoNy zh$j?7@4V-`g8wG_PP2GlME;5|>AlC(giw0B=_!>Hw?+MTM?LzSU2Y0az!vn(HT~BA zh3Xu$qfRdoHAA~ipDZ5nEWEV#_@aM#55H{9g9InrPC?5-PEkk?$gEc9SI@mYvRlQe zFPeNwtB2%-v z!jSFS9lD|ExsLibqRn3QtmYA07_2j=q0UN3o_15NJ9_CbL}F+4aXP$l%mDIgqRdQ#IN z+XoA};0i_OjCrro^+=Ez&xV+s<9Xh*tWbP8Lx%0#xVNyx5`VIK#%~B7hM!;CsP*uA zwzh>>P!xP(+{!%jZ0Jjx$=UzbvgFpjb@^v?yA0e~%aX{20Jh%Ektm1TJfu(OV< zgHP$rS5Ok791HX?ya{}yM|)N;y>CGWO5QPF5InN=0gMDd2Kbl!&1#vaClAjLprS1fI;cxbB*uT-qb#QUb(geHUkw3tooM(!#+XMQty@cE2~_ubB_N*NQa zFE9PYk9`Q!d<=SW^{Me~?1|BW1QOi}YaA^U8+8wIK=*}lqT%!R^T$ZpT6i!;H`^ae zRc%(w#CqTLEGQp@z$fW;v!Ix@ETc;aQI8;=%{(84ra5=NQy0ZkJ9q$3vgEc;$7_}H1ZX-40w%yE}jOd9q?uIopP)@H`3BCZ=no_IwO9QxLB|IA=(Yk*>&pJBv$ zo5B~Y%X@=sGqtB2`opfOI+SxFr9d09#@9^ldWb%1_Y_yYxj|uvm3niFshE_Vd(@bFx zI=klqo|G~1%cFzxDyG#K-6>EmLcuyC9)CY5ulUS~m#0%#U%fPqSh0+KkUcP?PjW(? zb4?f+Q%_KTm8s=bDD$#Z30gtqb30HZiiNpPT8dM|$W$SPBwo_FbqFI_g}j1K?a8O~_M_B4?nwD;2V(1#(=kh(Awq&Cm{S#1tKu z3$4E*?Sl&_#9l%vj2;L^X{sAXMxBadnkq!AQC(+B`QpCfh zIj?b?mrrD&siLgAOWv`Rg@7UJBN~lY#Z>qd^DNz(8)>roVf7hW?L9kJwQZ+Y3RRmH zc82xt`W)@%AHLbDk()>w_;9?O8>}-8#4>_c7scYcQj<2>wXqk zD0AM}w1nJe{M464Uw6$}NpP2&xJ);NE z+aV25j>X)7h)zjsAy6l<%vffuXk3DgKLlQneW zDStcmJ=*(=N6 z+}w12U&j}zvKW5cbA>|9HU$IKsyz2rw*phfpyrADwo>6S@?ow69`$oe%t218YFZ!K zj(OFvucRVstqxIvWt;tRgQxaz0TbSIFa}ekCBzba)-alAxdZ9B;VPh;y4H912fB9qx$q05>J+^m6J{n7$jTPVIySnxy+M?~a)wtm@C$$`id z690UD9rBX`Cp@@cxI#Ne_{JI{pt(P5L?~3GAXH4()UC*8j3{p1VjCxMvS!jCgGblR zyfsv%)GksbIT=zbu$W^pt$;|G1F0z9&mC3iLl0oH^eao?&MOqzG4fTzyt><_Dxc!d ziVW#j17Ddt^Pc!9WV52ZO+PbT$M0d6VVXs|f5u4>;T&oyp$;t5S+Yg1ll#T1g`i3O zQ97ecQ3IyJY+&h#)FKv&9bxh(0}@VTJRLFJ!3um_d5QAi*q-mA;9`c^u%!+UN;gMc z1Hj8ahxa{^=9+DYO;5{~u`&0l%Si~u^SCjxBmx<^3El%qWeUS))(7>4I#sWwO>PXK z63xV^;{k#@-cZF>60gr_178N8mCK`~`SSe6<7mO$%l(N8IpGD*G_}KK;+xs~AGU7k zr6}49hJXAuZXAT}axK8Uos!&?4Bq-yJe;*gx@xNX;%88`jnrG$ay?h(&O^S-rXt<< zokx#(&EK-G-7X;K&_v6k!73=>Y<<5vL?NCov&4dh_yr(S)S>UGPs*Oal}Na{yjCH# zJ54oHW#yAM#Iu0enq~f|^U+$;QIw)GGDz-O4jb9!n|)GQ5pg4uNBhGhoK-TS^89P* zQa`20B?BlCz&aV4`|s_UwUG;tBKzdHFX8N;qNwhlca(Ov4hk-~15ewjLmc0#7fGI6 zg6=$UP>AN_hG4h=W)Bq7Naj!O|E8IdYDXBEEC52<(0_B%k5pU{ib^{t_{Te2_5&4s zZkR2284o&sHbR8zA9Ea?oHOT%bIqT66Jq4Z=W->38wA>ZuAyTj0<2M1A1|AqzTGjA z52pk+abCP}*@HKo?hm?E64EMNR{ z_f(+jCOV2^W!kD&q}ov;v9b&i$)YWjJ9OppquE;3Le4L`f(0w^c<|nKz7&oiT5Z2z zD5N(YW0#Bh_43-;I~@qutL(^GOrtpmpCdnAB#_ec$6?vWZmZV*xnRX2co6%@VDWh`ftPd4Gydp1!8h+jXNl?B$$r_h5zyfx-g*Xqt}fL z^9~-ZyL6L`^c>dIva(Bv`#|j|UC!=}2bX_1nPp0{arb^>jN=iVqg!AISVq4-6;vx^ zDZ64>_tVA{20;C@L|0M;H`rPjmK2lFwt(}Q+*W2)t_ysa{s3sCz&m|f`T8*kUgKi?Fry?Nw;`ugmH{d>uE3-8aFA2#of zuKy&xDVLUFJ`*Ow>?3|OQ9qXI?t;BC+AtDCsw>n7oboqeFRv|_rO`xdcwB{m zA~-;2vjBMM{Xc-1(KK5^Ovoc2bZ?X`%K-l14qbseNksyW7y)(q$AYSeY7CaX9RZxl zHr>JlI-m#!%`~S^oIzj#ul{QUEyAiz~qRr{HD&LH_GCij!VtDj|2hO6D`G?7`S{w$PGeW|^ZZxR>{Awk{i-kfn_U1?3aX zb1cydK)FgDEpWP6jpbiB-EeeF`lpqfpSbLdz0A21$4ENZ=5%eE{CSLH(?6<8^r*5r zO?{Y6xyxJ6u}pk6^7<1^$(%PtxbXV|+MSVM(#1w%SSI-cq;DYf7WM6-{WNgigP8#y zA&P=|0`q64rH~$LM5*|`H~;Xum2}X#fs@mPrn{C>Vnhi5-F=j(UfgF<$pm_*>tlFi z+-dLZF_!|ZE?3ft_5BrXY>8=L%yzYD8%U*xW%h4G-il&QB4{x4&U=G!F0e~{?i~lN z{mGNXC-Zz|SLFoiuDdKXrt*5bSc-iEy4v3r!$_-myrn4qQE>Y90j>AR{mh5d8!{*K z_}!v>U0s^jzkR;6ltbUIO^)&2vUh4B4F;h-og;}0U?RGWrm{vrEbtir>&rg{>Oog* zM1DM-2RhFw(D_~Xt-sKLIe&L04=grl?%gM>oL;A#39JPf#P`YkW62Nqx#oPT#eycq zvkd3xGmF4b3+uIFw&_2-|MS_}9JcXTk$w`(G>dJFdSeg?EKwMd7ArPar#bf%kzJsB zV20^_pTvTtRA{;pcMLd9&_^=?9G(chKIu?PbElB+Y0fS`KN`cp##WjKCipkXX`=UX z3Z=>{4b>f`*6{!N5tuAu-EB}%=%P!D@~xD*&(9Q2`hRjc@+ouvvy)LXs{7sL0g7F@ z9O6^mi9F8bW9kYn1=jQH-*oEv7d2%BZrwNf)YiAy=@2S5BRdzVHQ&>8;uhST19VIh zCOs^{r4fadc|`XKx-hyf_0@@De|_o|brs$qw9A%VW>9cgk(+f`B^?`0H9f{QZT6@u zUi#7lZVzmAZw_AazP;4bV$sHuz~-IbRiFQlX%qKF2yHn& zxaI(g0nJp1Zn&UmP+YFsM$^W!j#aVMxlCnmOP*-J6D&hO#nVm7 z1U5E6qW#(b6Z?#s=DBk*U6czLB+*o?5R38NA=p|wKOtMv%QxCVbWMLj4K1qY2PwH* z-2|--jiCGMP42VP_k!=d`xBVuaHs2*LYJ&ok8DZShjY$Twe6*Kbi+xTMlVVK$+YOU zmSN%z)l5m*LeHO-CSoi^8CwrUXPbc5#!)V1{98R>gJMvaSf*a#S#4K{aXr|{k8a)w zlwP6AtP!s_gG5%C`tkISy#+-DSe4?WF8?#~_DA!Va126SY zQIx|YU6!8K>qaaE5!>HbEr3M#c@E0UE&K?o#cUIAOW`%^*=}2bYjewq;`@YuQ??@dQfqXV zj_~4+ra%*EHYo#7$}LYqIhrF(0M@ceuDH<+A3%9x_Z$wlfW^|K#feWL=iSI|8XgeR zt&!TwFW#(q{Ybh+4b8laN5q?E5fA;O$V%!2r;ZPP>*ybtbU9UUYcroq-jQou z(r-KeV#?Pzr{8#u$OG+Y%cq-QxChsKY@~85lk-_5yR1P6j7J+=Es$k`wG_<|gtpPJ z8B9Q#WwJT}o54C#*O8byw3F_VrBr=GJ=&#fLn)?t68vA3n?bYgs?5HDTX1`n*M2`Yf&3EaRi{ za8lF!-I>MbTkWm-#;<nF6C7aq%BHZY{Q zH_}xYfWI~k!|SJyMzZw#fjl^XrVtgv$U17p!n(86b`dM$U`Y}1e|EX1J+IBJfM>eG zaTy!p%9-aeEL32hDG8{e9p^X)O@*9=3R(>=xMNI1J0HJ$Xp?9pxyc_QN0(?8`k}me zPF)bW3D1r*{PoSfV$Wqt%~UYTV=wx|`j3yTMzG`8!?L#s28uZ;cluX&9fv`(8CJ!L zjzPH~QM)UKLTqU%kf$#F*WCe+Z8ypauL0`(U(dn!^HsIObeT1R%6qmngL(pIj4q z)Di5fkDU0HUMN$ z%WTf-TBS&fInkWKk}pGO#(H?(%|*R-)!fVaX2olyuB`nsKH++)Nt&hTC=u6xR?y(j z!O5->bBv{E5<$F&pfg9T-sw(=vlex-Ha2I=FW8!Gyfk$>YP3PT-Q;LY+Hw8(Q$K@i zEisZdQWujsh^ zdF1qb7=>+W;Bd4JC~81ZNozbY*7Exw>rd?+T`o&!L!{Pkz??}_F$gqQXX!Vyacf^M zt_WNXU~6-VxHGT0V1dTi4V)*|3J$qv(fvf;u~?-1Qcj4lysGh9uO;!sT(1T}*{5|cw0%`4{W z-`EL(9cQ~Ah(rY6{LxQL`CS|)X2<5o*O($^&J%V^8>rtDmc)X?x2nb2`LQLk-F|J3eJQnsp{)0C@2>e;v` z&_LLOM=F)LR6Y(kDa*!2Bz4w*{B_gHd*jH(o`+g53u>Oktbef157|6z9<|st_gXcc zVHD!LLb(%suc%V$#lo7a;zaesx=-qP`f8mEW+j`$a>sln^i~G9KUA5eo{A0Zy#Ct9 z#&NIn^LU-@)y$@VEE(2;OVk+7sd~q-aZWZ@FH{K$g!HZ zRc;aO?<%@F`RnV>65=K2#0!bzk29AG5vPC0zkgQu`O=w%$HCth@1;J{o~n7u{v`BT z(#NIwvCEBFez;eOOhhwlRoZqZn*VxmYx1g8NOR0;6>nAYV0B1GOffUMoqve&NPT^a zaW_jZwE6tV{7|0WMvG00p=n2U^Fvr4q&jI;SPkJADq?#hu|qec_M}_vV99Z#ye64{ zc_NxOF3xs@uv4p(230zz7K71|g&nrF*bV*`<<$0KHGBGW7?1KrCIgF(`%}F5D*CpR zoxDM4%4aI*kGE|WK(!>K*08oljXwebdR_Bt>F@US5hrt}gBzMr@hw{P8ixCg6Vd9R zLgQI=5ccoLm#q5V(;8~^`)&ocjc-El95I~icvslD>@Iq@cRl!Yk@+dd2QH?2>E&>v zO@Emp+*I{z#QYEDkB858@@^Qt*;=4`cx|h`8u#>h?|A;rX7k@}i`b{wFK|R zYo=x^_pcJ|rU9RRH&j)x4M5Nlnx&bDgc?%;%dlUT68reE=9E_gxhCxzqm&? zD{kMKB!c& zPYC^8cQeYtG(}#0Lt#KLbx=6FCc%5&Uq0@Ml&zfYIR0QtS{W}bj!=D$$kjAJT(^Z9 z&9Z_(;OAXUxo61Iebt=j!tK|)(u1Y6F^}eQI%vaHw)`R5A|Wz}4?R3cgAtsq46CbZ z82bkyqv7g#E3VtjcjA5G!kOe}hVNDzEl!)huKUl=FmAHIV}54x{m6R!YQK&Zc> zxKWOlar`@)b9dZUPC??YnamgEZz;LgPrr+Ij@Z=y{nk3d{ZCuAW1~gC#^?IFjMBNY zdGDJYYr;kzuSx|=c=kwzv`MX2WyvUO{`)ujJBuy!*c8@=T>eeu*;CIpS}z4Eb`j;^ z>-Ge0JsfbVUpb|@&twT-a3NzwT7obfWZ9Q*&H!R(du$I72UKPEk_MSS92Sm4&Oa{{ zBpV}?>AnB3)W4V)X|i96TLG3IjX8mS@BOl1mICnf2EmOgY335s;8Yw@-mb$tDFr0m zF}i$SY|`e{ifbl5EiC#N-#gTj5QJGAkXmta`IA@!VleGC`lGPqk266!lkYc;9_!D_ zIevb;Op8i>`KA2H!J7H|fg_2`tIG;Ez09rqq6#0r^W3iWuzM>tWqw!Y+IF<{OOwRX z;@giUc7ks;KN!Aq?1#Nld^V&pZoVq*6SO>^!Q&EwyKrB5LNC>_nHZyO*JP)o{_6d znOP(KY*{Q-+N@FY=sYrn%jwrtVhbF3RKMx5?ONu)9`LL<@}AV?V(8xbP(e+`@)=h2 z$8^XlEV_9@YLRS%!>k+&7vh!C|K$A(av)N4CGs9|9VKkCI|%@nSx4^yvcbjVe3>!3 zD$%Dc_NK0U7a8H`FKr@5vo9@5)|L^X53=QQ$jBhgIC;w+yl!HbL|jH)IPr^(S#dG) z7PsI38_HVn(ws$P7f^12Yc0M-$pyOuuzMU!oKuETa9O|EcC=T3m15ZgSUcE%HL!PPLuEQJvg{7T@G80=4j%Aw+M=v!)3>k#7m${axgWp0$BW}i##h;?oyRw9; zsTmhD`o;Z{ZDfi$x$;pl7}J9+y)jBb&fINfjO-PY+TR69X)LKURVODQAnx2+051ms z^P8Q7V%O;EABWSGW(kfuD{TK&hBac>6>iX{g4kQL(HUVjA-w%%f93JycT6H>QFQG& zoa0(q@~xAZT>@9vUP3HZtN?=Fz|MH0;*{=dLw}cJ&FNnCst;a2=&OuZ>)uko^2fuX zGYRKU1i7A)3;A13W3-#oYyPZus59>n+D7Y}W_Cq2eDlx}XJl;Pc=x`48F;ZD85bhcWJ zl-VkbbQH-K`)kg2^jUP&72(l9)PFIUd4tr?7yO)NWel<@22UGHc267z2H3faP!L6G z(Aj3JnvJ*%M{G3kqaEBQ%E+*a8%qLFgmQDfZTiJ6ySf(~y2Z3Yu3niUFxpK(B#Qud z&PYG3CmH6_4+j3;8lY7?_O^QnY&@2cqSZNAX)M4_4Nb7^K`m!FWK3~?8ky!_$l_7hmhL&=A)~pF;By5Z2eOQMyI-;zI^LH*KmE| zP2t7!jRmra2ReVXr$p^d*F{C%`3Fce;PMR>vrb_~nnmjYu67LFnCR&Y;wLQHc<150 zjjxUYdW!j{{>V)k&k^Kq;(0gzE&#xi8>NZI z?`^CSnUab1|^>Cgjb*;`PIdHrRvn^y_XxV+-vVHE3 z52|gKTkw9m^`~0j?(7+iBp**kHHA?h{TS{(DjzNATLfLNn)G z<$?9!?XeP+_Ei%5G@?Pz?MsToC$SWTkbgk|dHfRUK*B$eG?U=39Bd`DjZt2GwNZ4Y zTfMsta-?T*)<6s0rh({RluP0Y8u_bKGo+SS@&YV?OWhGt4tA7KHKL?ArP$bCr~QPc zY}A0BrHFEva_*d}X_j;sS1iR+y^QuJDKz{~fX*s`&$L9Tl_54wfY>fVqXO022y!BI z$Q2gwIvJ|Sm20NRw^C8FibbG!a+T0y0WE!cHowFTiwd=Vw6j!W*%O&kY7f1 zNRWep?cwEeI?y>2?%aTn?wMr^>jIO-zT-j*{T;A`qJ>#am@ZP_;g-Td0|$Py;4O1x z&nR}VBV6EX&ac>etPYhu%M%GUCj_mhV1zHf);SIimIVMe^$$R?z9v;pvuZ_#j0;UP zaZI`$slZeS+8>c_r_qdF`P&I-2M1#E;2xFVWcxGFpA@9>@n83W0>ya2dMoF4e(i$@fAd)H$!Ly6R-5gWQj>)!$l5oVAx5 zW*}B*T6SRmYOYW<88xl=eT}Z{V0kQfyI>?;_sGs}1?S*`&FI3P;hm_+UuV8!j8EKg z)4LNsp*#_^x8y9KGv&*S7A#jYwbyGlcUxGy3sdR*(Dy*Ekd8STqKce|4O}E?)+>59 z%3#OQ$0(v5z=zuHbk*C#|MINB1tLS|6&ZT=f%nnUL2|8lF^45N7kGeGx?`vUza;>w zta3b5@Y%59d8>Naz*nCBB;8s|l_`eW3QN#NfzOXGrn+vVqaWR=u~oZ>;N$YBs6;o% zh>@ZLxCCVSqNJq)%mo0{Rt|OmVmE`tmI#POvix+teu}>#cbI0xu5J#ajxYI#)A$cc zx&!a>*Dzq~c>PBqsY|y$Dq5yge8WiUnUx%5o0vqJ$~&2-HvKqul>HoAhH5c$b@KL} z*d64U=y&qFLQSr;D*uQ#IrZ82WcJk~NYi)guumX<$>rFbqXmcwv<>UnaPUoT9b$wg zJ;D+R1Rf7kwn2ng3Aory^PJC6)V2$Bk8VJ72QyO!MS5+vy47Z8OC?qa;!27)_K}}^ zv=y5*&_0u^Wi4vcT;ln5boC;99UvKCwXUsz%rB`xkZYIf#0Hy)HlIX`@i!5Datl-m z16Te?0K#fa*sZToh$S4U2W=hvpQ7SJb7g}+A)0r%;_kYQ`KpaI+*P|kx$bF^b*cau zgek!4*6TI-#60U1dTTy`V`1S37A^3bSZCJB{)MhzXgAU?cN1uNg2BD_fkm$6pW(lz z{mv+Ts1Xu;^qM5!{WHx0C(=;6g=Lz)7N7mmUMP$xV_J@~L|PaBN{9Nd<;SYmr$W?o zAZx4clm62@kmE{DBMgZ@F6b>Fe+uoGH1B1IrI+n3^?h4C_i}yzjw<*2%FGPgO}xr; zYT77`KXTDJqyB93OF1r=w3fkliG}W@-OA7C{@^bwSI4h<3*ASMU#Cib2J-U&BvT;# zX$o>K*1Tqmne|*7C$K?vE_PVZO_?aOxd;=Y$X4$8_tT=g5@niM(yJ`NQjAPHSuA?; zY>$F{7Se5FE6#rBAmHAX()Qh*)iRSsQqaSbus33T)E|KqiJ$;&<)Dyc{V7&j9Bc+2 z%q~vx`u={M?^jxrt};EirRn3pbE)c<7SD!=e|AI;qUd6EM>1YwYAL|88fq8x0ytV1 zUR=;`G?J};Y158>Zs{Paz9@(u+3Yy4ZaJdwv#niGXrR#Gfz6uW25ChLU%50a*ULba zQN?G|D?3+YH@Ok;OqmXhe0v>wvra(UO4+gtSp#@omLNCHI6h0@ub~=VVdXwwI)k5) zE92TJreg-(O@=Tcx+ivrD!X}W5gvGdGx^`QTf?}fbTsd z!4`Xk{j$yIGi}-21vM+b+h{6~KaT>_c9i>vxm@NJLLGK$&UKf`!Qu<;&)>oXc4+TW z1Uvf-`T(zmmM--v$OJ1J^|vS$dCUEV1yqhJAK1taepPfY7HuU%4^q&xD0kRIPXXa*7Q&B*N#Zv?s%DV#8h7JSvhQAsnkNfwl;oVBFJ8(x zIJI|S;#)qyhs(Tsit|+Rw}RxiIMQ~dqPU34+3uvnJABEzGSiHyB&h$({GH`5)x#9X zBS7{vYkp~7{PqLm&=;tFyAe?@W9OlHeKSsn-Pp#E?X1_{An>i$>E+J|AHViLF*bI5 z@7Lb73AZ2}7wg^?ihMiu%tHTUsDf+`k7_Uee3F%XH3QWyEz?VFftC?FA^fX#vVaY_ z+61{SGTy0B{6pRMQ37xIJ*c6h-1#W)0k(dyr;PXFf0q8w9WtdCzO=8fp!opR8oX#L zCNJRC%_2@&A^SqEWI(~Af>%Ax<;KCsQ}Qi*8lOrk!v6$#mHM0M6(4_Fzua+PcGk>= zkYDh>q}C;|#OQ!$w?8-LMyJ*;3Re;&Adn;eK;c!Eh%%n zC_A+yTYKB9z+1VtOM6A(Yt~zxV&eRBr>3YMsgsK5_thKYM|0jS$#oyLoZk{?C<>8@ z9$Z9MuZD(dz(Or$XX`|3mD7YQ<$`}kOe>)M>O=>C)@7U7GYX;gtH?+edXvVV*QI*i z>3ea9YpBB4^q;LJmV&6l>S_kxc!Xp-=5Q|J*(P0R5aE}d`MK8PY(JZyE71KK7x=fb z=s&T-%f5w5iS_U2T%grI4D^bP-I8Kt?v|<*ruw;lOA08t;4|8%zka~E>DnR_N)a_; ziS%TbCsJfLSi;o(FXK#9-}k>5_Q;6h4X(!JpEJ+2K^u`EeZ76TGUprbT@8~Oje>PN zeN@m#Kn6Ir^hn?T&?J>!MyeQ{uZ%3+ejd{|FJELMTT4KWJE3A%U>@&>`blci!)3NCyAOVM4D&|IL z@srG7?LkvC>!}u3?#B4~JAIc^M91_Cy^7i#EiVU7o8}e8p2ep>7n!HM(BL7dX&};a z0JFX#HJqWh!h%}?nHwyD9G2`&LD&ujP0E!1QwRTWTOehzeUdAO3td_8Vl{B(3L&4p z2mV)z6$7e*5b!ru8#*4b$75zhowbI;$0+=E}H*SA^dB^M3y@glj zo(?kZwr+MQ%y3eXe-s~He0BW+L)K^E{^_k}7awiQ?zO%yEtGTxKHho}H;Y*|65fm5 z91xCFKrUh0MS;**!1ar@;&~J}7yktjh2~gp#f}{41&)1^;U7KkQfF|u7rYP;C|2ri z?5}d3FC})%*`LP*$l8D;*uU7%@UrBC>@`sj(kpZ=1-=WM{<|nxyBIY}keda())o%f zBM4gF)$sjw>XtIfe@Oxx{G88UY+p%EnELwbn^g$wKeWWF|=`PwR zHDY#D%gf~q+9+tH{EC|O3GKLrk*XhjZZ}LWtRgB>FJM2J#ch+?^M|HBu`2Z`-GO1_ zx14K?DNo9N@2H%(hWq&KU&{{H<+{~HIggR6!6zA{qCf8Q2A|#TTGzRJ3pWU#yLBp6 z;-aZh)0=8{wu^_9e)y}#u&SwZSN1gB>Jn}pbY@1(w#?m)`*`W0!__9+O6{YU41NjM z_a4jf{%=w7L`|=9Xm_Rh-iE}D@RSc-UvmmDBZ=Eja+kB*&?7Z!_r=9DN_Cy079+2@ zM|8=ITs*r+@Ep>);dgDBEG<@>dirDh_t|gC(7Bpphi6=r8ggC;h@BJ5d+<4H=1J5x z`5rOuUZ8O}<^L!+>$fHtw~G%pHgX$XV>FDC(IXup4UUu&=@7&LA|Rr`fQ{}B=~hQ6 zisr- zUGg3kEE%$M_sNR(fkucOIuzW{Uy#^ziD|BTuOAiP?Qp|y7vz=`tGT?GdvQ-vQ_|Dd zw}2;~#IMfffi=_g^YlEbmvpi~-rc@|tv4$yH7X6{#W_CHti#1`*-PEhF3f{w!JG5O zggZc95S`7*yg`&Hjhv)+8hkj)eUp?>Yp}K&0axE9H*%~0xPNS|k#?w>iCIF8=4l;@ zT(b?m6cG+@S`V3Nd8ZyG$SZz$IbTpG;1oy+CF zr&STPcH`zEZRs7Xi*{zMwU|gqPCDmvG68pu*|{6crymiu)>mtr0e4yPbA;SG*-G!r~6Drft{tt?>3}&7WrS%JaRXjLr6PIsk~SXGqQcreKJE88g3+N51e=UqkoncP?+ z^J%Cb?sqVBi^Y1wgzCrgs9HAz=oQ1Zoa{1nHBY>tTiI-#$$E=Rb4D`8cz9gso{r$v zzAsm7?vb;vJmGHI?czDmdZ)T3tlv6)JScbg>Qq48Sfu~L((K61b3|(;9hhsHv%-&D0rjD{y>?4d@4XiDN- zXfenhl>oD-VGG67!cQ^o+{Wx=mg+>r{_a@pMWWcF2RkB&eKV`eOL5?Ud~uz%6chLa zg@hd^@Q4pM{S#2(+>5LCh09A_L!tC}&gGLB{(7jWIq7q!Qj5pa8vw^#2GyG3iTcM? z8fhb)-hL|Ocf{uAdj;Wn26GJGEh9ifB2+&>f#QuP#Gr<7?r)j|CwM1^8ih&l)x z;^b;AQ$W<90`vfYb2mj~IgL^lFDQ0zV=ZJl%*MAT4>KYXH(34#5YFTmfZANUf^dSd?U$0|)5%NRj(*7{QvYoRF5P053M5v@dnwBCsXN~# zd}@=z@RvPOW%@i?mjWACSjp!lha;%YL zbq3i?dParR^)Gq&cnUYK72%@%%ib`lOH-Xw%uOR6;pxR z^IL0Zsk%RCQ#$!nq&%OvPV=F?#z1?f)`=(5Aaq99SO9iwS6}$e%#LG8gWW8 zd`NE3;u!OQy(y+wal&0NAED}6k-J7bXF)YSFH`H~*OE0C+mlt#yoDb!_H)nDKrGAb z$aw4^A9KgM_rX&SvJXu?J~$7I+{}~9F9=pmv)o*|izlOE6o5r{r^IU)tsei|4`^+Z zX7!8ij;0eSjF<9>IG0awl@;|ZTBYm*t`x7cjsFx0(+HWb6?GVc=sc-{L{Y~0-u2Mi zyq$rm{{15K^P~CN1(;k5#j9gvvJUD-*yMH$rK(C(o7@VwZ<4FrgE6{C*uQpBz#c& z4k=BOp0;22x>!NUW*GUymM+qukT2WYtd5lI<-e_cdbhV4PaB)N(_5 z&eXzbcLp;}|}YAqH`D@3Ptcvta{!g04}RpI2YiRyKSf7IEf%A5i2A|8n1>!Dlny z&zLiYnP}DfE6Kq4zN@i8W4H6cvt*fC6$Ymm`#F5Iuud#&pNx z8Fc(eL&MHG=oAk83l0vUxo&$fxT0_LQ$goAWLTn6Pxa-&S$pkJcYA5BNFTTr$oR1h zoPNe#tXlrcFF{mjAoWy=V*&Z9!(*X=>+z-tJIhd+0u?6+u_37 zc$SW^^f&z;0ad_1ST2zH^NSf*o&*b?r7?G*0KVhbPTLw>~C zn6E{R=5TU}fsUw5I&pN57ulISVb|c0-F0tXha~AkQG_&cg4em`r}c&URj;Vfwap}+ zBByK5tl0QN+aM}UqsjW)#I*X`Qzok3j1ObZEVsCFo<{g`eZhwYB&+p%BW*6ZsKoMd z!fLbqhpC`R5h#@k4nechF{J&D1MkIayfm;K@Jt(1Qcfw9m;+;;U6CC(uIQ9;?4{&+A@X!4yBdA@XNw5cJ3U}}+bt3;4t+?5`n}hVq?qi%BL|O6F2fm559G+9 zEO-ytoCnOe3c|4tyM+g+-~qK{hKqCnz#N;&($4S(Z!hKNb#2Dx2|enmvOKmC_K*VX z!a@x_fbXij`^8|j6tF42RP0cY@tA$Oy8hA{-@^br3Y2@#=|0du=SfO=#M!;RMqdZ< zhVI{G>s*Z<&jPZC8{S3V_FpO&)l}((-0zbq55Jjv(?ue6E#$cahe)+|EQR%JHY8XE z7IDCG8^?@hXU%Pp?T7;#ZOLHT3)bRlX=7e`vrhxIJWMIz%s6VCk)4oL@?MG`@@gVy>u zfN~t5?P4CJl`U`@2kyoj(*b1}4i)Z+!^Co+T?TTAgY+(Vs0s~$m3=6DsCSLRsC>kJ zvrCO-hcEGE&V)&BQBr8Mc>|xOuUt&bb;k}*SM1wsYKINVoREh-EV+^~_gEmk|G*s` zL3ofx?*L1mOKttF5wb%QG*SfiMMOPe8L~tL4|^!uG3e}J5$|xa>&G%6QJa1sZ(T=| zTT1w#7u#4h=e{p2CJy`?FC6om-d`f@bq63`DKM1t8r{sxnK}7a5|2j^?;?t7Cs&d^MFGl;34mO+dxbl z*F@U|c74gt?flC*QXe`fUxy{f@52MjV{$vx3GEb(PU=tt)c@76T#Q>lBd45NblV8^ zck*~6))_UXtBykUvo(NVuL~HJWQ#MYYylpu-$Y?*^pVHt{Eqh5`Xt9PuQsJNp6@-} zFG5XPYTy#4Eqefnm!aGq1>7$3=Ah;0PP7&j{~7@!p6Ly@3WyToB`rV zf}xOKM4RrDXdNU&~G_!gQ^&K+MDQQESZ_$?y)hzhAtg;t~9n!0gqU`rSdH8y7u`>$FUtD&`Mdoemw zvWw=+BTQ3IQwbsA*91k`jpGy!_VqvTFar4nntFkKp8 zBAhOi2SskzHm8Dk`ctl*iL-qT;n2=y{6>{^T?xC{&>}SU$FD5ZMP=YxuP-=8zWG&* zd0Btihe%ZDL*|i}CNXSv)TbGZ?6JAYNt{nz;hDOI$@}cyIM%CJg*+wZGaR_PD&B<* z`?kyKNQN~ObIgs%;~#5udW9S63jTzkn%H3#_>_-ilrN5P(Cd0jZB!3?my&a<_Ms}i zA10M5-nZ|NTn7vCVBs(zXSaiYW99BbO#S@r#d6|m4uHRKeDCAH$5bdv6qf2CpL76x zTn)bv0meZzV-#2WxCD4xFXG;vt4ONX;KObG0bk6ZZWUyQ?_I_bSB2 zs`#RBvamuYQ^u&k_-NbDWI4mp(Z{19FI`~YdP7z&KV>2Y-#3^|yFc=A3vsKLiP#X= z<7Cz^t{h03Rkt{*0>x5`zVtJWh`>kiHqI6SAFE(FwhtBh-7DL)bSpT*`^`NQIX2Kd zj%8d^6Ytx4z?UbZ)O300wrnSqUff6tJ)}K6qPm~My*1a_1IaL!ZT8axNG;h0Hc(Tq zZV{#;vz0C(Z(fr9C-@i#HUYRl^<;&3&D`j>=A-e^-+N+FqFgy)7M0I~hg>3gSB%TVKdw>-l^ZNpH z)@KlD`5ZLS7CQUudm;$ck1`3O97k2mRy5dtJL~}sjIH0eD>1*-(S{0jIernvy3HIu z#qkCo@dpJfjH}F!7gGFn%<{oKfC6JZde&73GZJAQX5?(k2InVkUF zS!sYHfX?eUU@@w@g2%o8Nb1P|$0-gXm<`my0Z((qTjij&covuQ2d)z#a2CX4GpZ+} ztBBy%W@UT$#r}#Q+tzc|-`8of1hqgrfUke%MU15-fzqs2K|LKk%4{7k2CtRg2^)*tVHhZ~0jSJ*$9z z#j%>>ja9suLa-hxo)mAd?h8GVRAGtyoX6Ir2OgfXCi)njR3tgWT8OrJ#@cP6ti`*4q-U(#;hTUjRV>`z&lvZ8f^H_f10esnB0Gs}Kx|pT0=9tFm)#s60 zRtUWRcMB6O^POx@V?_|j8oSWi;w*V zA}=%|&nK5Vx3w#=NdgQn=cK0V4x_}3oK#Wvm4=?@Z2~zh(`{}M%Ku~?cI|5HpC%9A zTWoSpaY@Q`_`of*LbiAa-D*(}u2*D_?Wxp266&A+o^D z_SP{mOQpuMn!QV6bF!9Cnlr;Do;=&D;ULS32Bn)_%F$_4K=&~pE6Js;&Z1u~PRu@0 z<^PjwrM_@K*Ao4s&hC;-#im)CMiy841v`My6vS;0~iPN8z%EFjCV^0O|m!2KAT_Lt_bSr zgb-xZ8K<;^XLpV3CuH+>XI;2cO_XKxUWQHU{%0AjD8GBhd8?=9X0ET~KON^uoxqTA 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

    fz#@NQ% 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%0D{jP&rPQjhc4NsacDo!X%n3ZQvL`d4>JwatLwni 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�?|9_qX0wg< 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%0Dc z`Nppl1kW46t5g7aO<5AeR51gLz0heB2{88ZRWXJjDHe*Ap+N^Ew%Syt^(tcYu&ofN zaG4dTeMeww(YZezKv}$*sfC1^PhST_hCg8!8+; zi^B{;et_C>eFFi3_G9qqdf?0kB5VV(mVuyxc!nJdei=jUaKMb|6!!S*JHXp$VoI^h zB%5ALk)TWX2r2=!xP=0JA2VZB&=V3d6k*dFs_fkO48kHNHf;lO4^Nxa*)$9Akc*0f z+%Gm2dQ2F(O(BIe^Ms?AIjHRzhkl#3>F+50#yL4C2+77;pF?sBIA4U$sFnKx#%2wm z7UzpdXV^xfBF6ZqM=oV2u>}y4(x&Y01Iih~#VNr;1zpKjHzn`hbz)|CJVUR%5pF(4 z_HXC8cC-iBBVe*NMeWA;En&qYEMDh%D=dW5-K{CzvcTwoH|e;eZYOfF@}7S>|JqyE zpFe$yHDe?j6oSa9uC*)DY%q>4PW99?=)6?MYx*vr;qwsds+5Ij*@?dxBi_l}L0 z1&%R)2Wq7|-dsl@DvxEIi(1TIgpkL%v}zI7|1hHdZwN#!I4xu9j{K`@25WEhavf&s zsN96bx4cGV>qGOAY9->_t=jeA9ywIRTV8|3`Rvp~>kV>;#i91E@2K4f82_?6DpXyt zHjw-+r(+RCwK{G-ZoEDywY2x$7HL5)pk397aZx&(`Ad$S!mb;6vEKPm3+f6nXC2>7 zn>)otO&tf;^>l&H9UF)YSx^gDXZ^qK|8MTEN&*W^;7M{VLlIbKL(xw+Qy**~##-UY z{m>24%Do%BUbPVg+>YZ(1Z~ z(I#ItU)!~T_@kIxEzc85m>lt(MRbVqF9Q+*qPxns9jsHvdf9Pm?0Lsh@%;bSTU$lXk{_Wxa%bVbba{qkof9d(xZMDBV`2Uv){F^5a z%IU9SvxNu=|HtRSQB{9N!6o|gZ{-{FH{T23cWH;B7W0sdt^Zzo|FbnIh#9#V{%09O znYjOFCg75MhM7DFEJ9`e4o)QOPal;08K|j1)m6DkuUAIF`%w7S&6=^yWo*?3p)}#P zR%=e(hNtiPon9Dmb(a&J<+m^7Z$3BdpprDaK2L zWm7ZQpc)ebe!UBUhU-J`CY%yNHV~r)MgBruE`)o2^H6@$Fkcv2d1F_Nv6#O8T1s$3 z(GuygbyMG$2i&b+h>ZdEd=qA!Z&%hs)#uN7XGXuLxWDJYtCPJd#16g;p(oT{YH6twyBr`h@#3%i`I0*$||$d2^*Z!HYa z3())A9?*U-ZEFl`zRv#u-Tm(DRQUvVZoA&KBXfA}h+c!5&AWPFJQa0(1HnWN9$iB} zG7=xp@9X(_?W^o@n2<( z`x?%AV;>Tu-Q$3J9zJE#mBFn@`s(e%F-#^~mn{*QUur7duHiXKtF;4F==K=}9}4py zt2%6RuE9K#X2GbxJNW7_{2#?)s{7;Ll#2e#AG{ACdup|n9XD5-G*^6%60>FJ=Q*dw z>)q0Ri|vgh*m&0@ z4=b$(N=R@cPbN>m&e{KJ1N#3JzigQjzqyg>oYa*KME98nK&U@|QKr-*pzEt+dRf~R z>K=Ss;cNwmyKL`$(iJ@_e(`N^?I+`7iO8NW^O)c}L-?xnDU+7I+C3I0LM@eB^{=x; zi3k`w8$%@*v#FK!KSg1GXlbg#>Rhn|Hshb4+h%V}ckQZWNQKC*yz#+rpFAQrkbdIO zpv=wM;eEnlMZ@z*@-hBPZb)ahs_PG zQ8dBVP}?o&0w#V|fgom6!%x`E8uY)7Ss4A*^ZYZ?^1qAxZ=d|Xk^f!f<>ti|qkCI# z<=tLdF2yrmq;NBJKB27-k=lVJsoF)QtT6rZ3gz1EL~@)q`FsIpp${0+`mIT6n7)Bf z6d}s|R-_cxgEvebivRTzwoIVe#ECWqJ%|}$=^#$z?{Xb%Jr$eg{3!+js-|7glZ}8FYo+a z_#gjJxBXrCbDOV)i<|u6_uVitaO(ao+5Lb`o)SEr-UAg)&F{nxK_rKdN71MN zT#?)1GXK#4g80pvgr0?yCZ_+&h?zE&5#j<==`8<#t2Slf7BH9mOMQ5ICuX7m&!A&Q z;8*6-*PzcK2GJpe@!$wt_FVvJaZ`6^vs&~2jNGi4k9bnwX2tCNRWZLmq(J+x74s)O z{H9Pdz0HczhARf*jJy9;r2%@UdhM^<7Or)T5N!8v)pUrc`zEXTE=I3|=fnL7 ztCt@$UC*IRjSQe%bi;NC!9jsc-$HB2)4UiO4g__N68l_MpGP(xd)ds$Cp0m=-9XSN=U)1upg2nA z=GQtx!$Ye9eP{Du3t`$eMVumYzqyi5kH@mxNM;@-+xX;a3fiz1Cj(pdds!!m|QJ*hNta1ep(a%d%$b~fxK!&c#?BB0RbrOghFJ&%S-o~c z92V;Is-SXE52rZcX}5sSF%8<3Y0LuLh_>1HDwAt~&r#TNU#K7OZzk(N5@I5rJVF?Q zu0bGK%C|g$xDcoj0gpLym{ql)$a^`1NJpTU(wLH5#-gn(KgkI4CC6Y~fQ3kn2nN(F zE3^>QEl`%@Og9i8ko0YB&Oi`qkqKLUjJQ;j)>96zl;Q}52!T8UgmOZ>;YBQ+lWv=a zq^~hJ={CJXD-g3jCKb;K!mGnxhX$2ZEn`Nn*^eF%KX6Ibk)oFfln5#uZGP%LM4e*n z^?3wSaSZE?5Zxc}PiIr}?>}h&{SSVrznc%NvwZ_f1#UzC*=a!3YE7@tX7(x&YDjwrY?6EMq#$7==ZPFb`$Lsp&9f zcM-(H;K>Eu1#MOOF*RA-SYJkPJ7; zW5gjRnASp%_u<#Vq3YF%f`|li_)qp1(-z=sJ7rmQt_uq&@7-k|1)VBoV zko7Uwq3;Wb5&+2rCR**v>k*)=c8Rb%F&%2$z61zOu?BHN?20wkT$}Ex^8i(~fe6>V zftg1(h2R*?be|1Gj>bm}R`4;7nLvFZk_OPtj3tP`TUP*Ih_-!)Rv;30kA1d*Xn@$eU$8kI>K4f4 zB<5pQuvz`HXoyDMZy=abm9C@UEiR{(Cr}h8s8oTqOu!FMCNltP2eBOLb0gqp6DSId zjsWtK{B%0N~p~U(zW;#&V^e_S?=9ww1UV=(Dj*p(q85I!ma&Za9K#HHh0}(ChwS`h zBx4ctIgs0%A3THk9Ccos{+=KF9&FCDfoR^dfv6PRb6OrM$*?vrbT5j2C#DWAS~T4? zrp}4-bBI)#bPkw^2ZpxBS=?Ss1^UEsQKR71LMY9e7)vDOCUnOJg2S<^SsYc(Om17o zjE7-{ndr7&P(hiKr`y$d!K--MxUFoVO*3Oz@G}+)2gsA@PMDR3RaPf{@G6?Ig8d1F zYEX2aaDrawF~Pn*&@27NcD{*OsE&qCgb(6J!k5g!g0qLbRezgAm1*dQoxobgcR~0~ za4uM!gY|k*v@zfzwl~E$8YYx$l%VT77_`FLPHX{hgjC4;r^K%$Lgc=fMyX9_ ztP@9-2g1(dv(e;MycKE@qD>CjE#20PRpKaiq@N$Y0axdPhOcV0cm9*`%0#-Y3V+fs zhuaYk6bXXdp{Sw-dNP7krif(|8Du0cEK8!=_>7dgJrES)n zGQZjNgu?3&s-U{Dy@RAI@H3Wynkb=giUXRl2-JiUK<_$WcrPf0Ag;8T(?*CjAzMAY zfQ3hdGf>KrP+x%s`eHzeoeJIvdZ}@wQt1YQFI8^#Bt7og3vdQi*=9wYfFPT!EPaLk zl_0|SLjT716IBUo67)}e0EWyNcBWq^iGe!BwdWw@ii`yw0uX@3w*vA?0Mzj}?5kQy z`?`us5WTocpJ^30efcfi5TkiOc$U z*dD8PJm^{byNyHWWThShcWF82?i{-jz6l|8DFlc)z+FODk_Pw%fB}Ya47_jcMPL}i zuv1u|-U61!06|gn^j3DNOtPO(0G?p zzYJ#L7KmkmORP7XD3kf|e3<1o9kaey__odUpalr|DI;RYG5)~dc^h7L@}lLh-SIRLnXLxA;jQL5Fh}X2U6QW`VSDYKtXm z0O*Rerok$u*6-<|oXjLZ{rppW38r~O?LAOTh5A4NOfeO?NVtUwT7}wJ^EwX30Iv?U z0!ytRs{>{LLPj{U&iimn3K9}3hFU=U$fe~WR5b+xMHd{vZrCtZ+HxPGL`Etd7e4V3gNW#t2oX z94NyaS9V&jow^7^ny1vuMqpg-m|&VVecin6J|}l1juLz~3QEQ7$WMXgKG6FMaNwd2 zaU#_`mSDO59Nnn%0qTuJPSC44VWbuTcRsPt04^Xljj`|s2X4#1rMyXj;-Hk%vpeDN zYFAl^vBna769Zw7ws5NsN zCQes#EgYm`M%52$FW{h3g-T`eyNv%TK!Up7YXOnowZ8(V6pD!zfl!Cb@OBQ{C4hg;QtZ+uGj=_+OR#2nZzVP`BI*#0SyJ(>hq@qUE#xMCmaweuG zO7+Y(d4enFTT0Q znl=Lihh=T3WMasz5I=6$9tWiYcp&+3IZYs)TstPHP=KkXvZ(Bb`;Q7$ZewpqmP4?n zh@C~!hV?#9z_`g)wjjDiN=*jCQEUZaJmN=%NRa+aCn`$U^+5CdPZS z`}BpXr~fP@fmPtht)(3hD!B(!c4-XEPvCxjvY$Bg45$RCs}I5{Q|MtL!&{RHYQ$E* zzCI0-_thXqH6;T9{TCl#u~y+7W;`2Ke-*k7P5Kj5ow`W!PN>N%H9&NwFt$k}Ee>yeAg&t>kqu38 zh`s_q0$nKT7DRiAuKtiXg13U5mw@f*elI3KFWIsDp$}$2^C61J@jN(&f7w{6_AZoM z_*g#CvSi@^l&WsjRj4U9AA$%jovi!xY}gV+q4*Ky{Gz!-z>pxwI`qL5iswTuvO;~a ziZ%RY@gPNeF^zVtmcE1`&0#)=zwZY&Q{X4-GM1TN6lC>-oL&Izdej7cKm&&E z0(_2~HDU&@Zif0j@&&Rmq{>toS=34$EY3#G%0evHZUt^>^@xE{3Pq0QhyZzy>Iu(@>Ae1)vDzMH5D z<1hXmwBHdZe&O9UDikl=;OoNr-t)PO&~Wsne(vqK|06B&SqXN_rvXZPj>tA%w~wY^ zwDlSAICdO1fD7;D))d1_t6E9zFYnQvhrN;BfUm#1lQtX!FL&{GcQiNFnwi1H7Ec4b z5S%8aadxcoFH0TaPG2TC!wZ6{XdQZbNw5hE|TN}ucpzSE~gRP!MX zFAMi({O{2&5!}he<(|rS&(=+qH9zV`2vS+C04Tu-X`)HEagBU$WPL!E_kD`adpJ;r zpJcR5xUp$t)xmr|ygr7h1^PG^nQ&!n>!d*CDyz<~D`9J}piOG(H&JHd1Qyd|yBE>6 zmMV24W@{*+Ez)K+tyiELE+eR1?w!>M7T}ANDkezXO^Q3`_wZQoMnrhiSLKyP3QZ(Uzf~<`;zOz_4-gI+!wX$%4T~0UbSmb!bc;Kso0$Nv= zMHceuDk=RDDK7Sx*fT6={vIpwugJ@;PB%R)ty~3^v6nS@a5heE?rxT@w$AQ6mvvP| zbX7G~mGxA4WJSd!1Xj z7cAVZ1jGcDlzzX?)79!0ix`i%IE&bye>^hM(vs3Vw|M>tla!O<`4!{%D@Q~wMTmy!FoFfsA}aG$jJzlBLjN&H)ww7B>`^KwS+jP$?fPy8?Wb9c3{y=~8R#k@E+r+4_)WoL zQj(BcR!T}zTtZSxOd7ghQd(LH!6Wv+Aus>-=K)h54-dl40&4a*o!tMc`)*s@5dS}s zpZ~*ur!HT>iinF!vYe`&4NqZ_`4=nHv~sj|x8d33q-d<|ZFehI9yIng#LO;OSvuXc z+HAC&9N6 z>%;f*^1NW#1FP?{IApG#?i$yBPfP#Wct?WXy}{iagx?2H`83gv$UFOFYNuiX6RsV5 z<>q$Bg~darrs!)7)+A=)v5std)k>9iWarHW{HPaojHUg4h+BPoCoil~da zn?x6RYTB1Pnd>xvNfu*@(ngsxXxD!p)DqaPZ9HoC@@)mi*WH7I@6Y~)gk4SxPoFjzZJJMGCT zCHJmucWr5*Y^j?G+Zrjp5bgN3Io@sMRugKzM>9ZLXUNSVeVy*^=jJQt2mY+imd)n7 zecJ!gMbzzqDCZWae`#Lu_wg(7^O7IfYjt5}A%1VZi^9NQh1uTPl40>`W=XD@(OHf1 z2{U|u8Dsq8QG3bp97{hRs^iW;>&WWf;}gY|&Pk>weDS;aXsFwsmjt&dpayRHz7R04 zpw9oK{_LE(^Zfbi9ESh;bai%V&eNd%6T?X?oEBc~M_;i|n0|73bui#{zimik($fRP zcASEa#Zil62OLt;t~V*1ZF{TB=o)#?yB@RX)08hPtHL&+@)^PGR@l{1oGNI=f6Vx4 zV4h?BzPFR~r0}4Syf=4_J$s*GlPl;}U7v_-DGoGb%XJNv@R`rQ^3;H`-<195WuAwh zuD3inD|%c-+N-5jFzKY4&xjOon*saM}+d!KYs zG}^Z6ed(zoJhIbrwsAf2NbkhtCD%&qNpY!|_N4GViqU)}VUN8oz5i;VW_<-|%cVaz z5x^^DA+#8BB_nCii12HXk4*<|Jv;O>j^#G5%A1g5MI~)wJ93{i3n^%x?X|YfsqjGa(@dE+6tGocPGQ{hs4T!)W1@o2<=` zY65HV$OHAk@9SQdY3qHteR$c3kHfPnNkds;>=JX3{0ENVXHG(wzV^r{@1eik@;2Y9 z`e`V0!Huh)o=+s$xsKhs&&hW|(|-R!-R~`l-w$Q)+i_#-Sm;HWt1q^HI(QdpdxKjl zG3m?uJ^NDlHFdPvjnRR76kbW{Dj)3dMg~0`GMsH)X3fDNzH+hM+j0Fn_od5YSH%uD zaw{aD+23WXd2mc(f;CEYN2ddsK}%Ug{LR}z!! zF3^$>ji3o?QUi`(><{pHALAJ~U^h{ss$KoU^I+qXqdX^69z@ra9BAExD+@z#g#|l2 ze#xWdcwMVy zU&>Jhmb6;}+p!l#cGrbj5zpbUk1KC7kWKY1Ez2*G(I+wlk|l&iPu>YGZ#@2%cqB|U zYmDch^oamm+U|&p#^N^DZ`NggYQZXhxOVTo*I`MKw#7F(636FGTA>9_s9pGJE`Lh@ z9IfVt;S^eY-ofU9z&GhLGUtmQNT1Q>1A;DY>savQ+Gd!b#Le~Prj|6e(m4C$gNwTg zJQZ}d84qV>PWV6Adg4UwaB9aw{BRh5Y(eKXUMBbR&jR`nP~x-Zq{g;=aC!ZfH&!IG zMJe#an`0XJhoo4zZyfJQl;t|N*UAFxaYADD>-QH4Q}+{YafctP65+j`uE5HCd)RQy z;@FCx##qfVV}xRekncZDhH*mXv4{KZG^<2`G4U$GqM`+!$w z$}7rXKD_TZfv}`+wfDsJQ=!}UmnL&9xjX8X-}|Ub#J=CN_wwPwkq<4d2#I&LEg?M5 z&c=9bv(y~lcG2U7lq-9|?c}q4=g=v~q!Q!PFC?ga7D(Wc(Q>=AXjpaV&gbeR`v%X@ zTVF2hVWXO0dHh&3J|Cd-2os_sjL=*c=m8zV@&&gaHFnvIOVoXQ_2YA3ITIk1pEv)e zKH`x{-J5*5-C-|JY1DLm;9PyqTgdy2H{yCMZ??_Od)Lj5TH=Bmr4GDL347?(aPYWt zaSQu%<0NK%t_s|zk1ZGbE~`7*=DHNgmnXQe@7h*tyz~Ci+mh{EA*b)y*GXrNA&}`k z2amQX>!06MuyFWNlr5{ijF4S$L5up$=pMUc_dVWS!{&cN#|E%;Kqa zzT?RvtnufgoZJ%kxb{Bu%GBqRdGMyBP5q{hbT|8bw;v@>ice_@F+XXSw11R%j;X-l zi}2N37kh3RS6Ge+$?r(B`Z1+k`zB?~lby@h^*K>0374J1wIvf@&3nMK+wGix;EGCi zH}~pma18D=e(7|a z?YT|BZk06Y5LMf6FQTzFi$Z~i!xrx?tK-ZbeZ$TVWm2#Fh!#Tk$n~pF#M$KS$~qT& z{+rdVmsfT@s8qDH-&uGdjsIiCvs#sVd9BljFYWB-#)_RDsXHu>+q#c?WO(?ptz?|pIZ%&B|lxm1y&`FpaZ?zg0DYnkF5i8^w|1S{4m zeko5b+UEr8@~6gQr)s7-c7%M%s2AS3J1ej!u<~T1!tC33Z4<7$b~Xsu$I3j6HqdMo zRoeOb%Hfx1y15KSo?<^*pRJQ%MN8G+v1B`Rc;Dhv-dG$_m zUXokACEs*A2%mB2^Eto8(0jrrfBK0&(;nol$2{ltZXWxli8K1~dhZRf1Gf$55Obc> zHgoIVP90iRY3l`Bd_(Wq6D$v%V!-tcI-A$tItZHSnVe ze){(PL&ojBJm=6-VtEtEG>>ijsxLI{8cj-(|CVyL@Xq&Pgnr(q8fu2v-ff)|Y+?IF z6tBb`{&*zY#rSN*lk=Gmzo}oJ3&a<3M+j8vV)b;DjH*o0|E8!9Hts^$i?~T5R z*0E)h|*kBF7Gm zSL!`|@NjR&)0&c}mowW#_V?hHW_AX!?y!Eb{N^_M8$o7wt{1&GIE5T`4~wxTKDN4H zdFIw=gKS#1aHFosp17rFSC2bk-wA(ausxvXw^e?aE#pE82SrrmA9!NB?ReN%eRqeh zVd|$Z*YyQ6C3HU?G_^bW@V?-#$CBm(+__Rr?_ZdmsZ_};!Dg~Y$-O{@w6FHzkjD=Jlodj7n6ER6-O5Mgkub^bv;n7vQ9cXRC3y3n{Tz( z>pQ^~vQi(9u{IsvF#~3`T{1iRick1u@Iish?T^y5a(iOwzV^h`Ch>ETr|%Wwwz=$N z&)NIBCy2}5WPHHJYUBiaLCCq09!-`j7rf3&7oD2z>m+117z*9&wEuD=r1PDCG_t2+ z>l2}m9%q7|-$^ePIC(3rIArm(%7K2{OFHgWs3%@&uenQAc6(&Jv}jlE-l@rF@QQ`$ zhR@&!f!FR2-S?k2v5DfnEx0U{;&$Ga#B8AId(_>+bXWf3CqYJU;kJhep1akHmvwjF z|GwKgyMh<#Dqa$FamM1V(&9Dj5mY7h!P|b+M_b*aQVoTMM*H@SNR&nP3|1OneUcY) zs4FNp>(T7m?bJ^^Q=&!#6VWON_Vn(c;ZC-J_WNhrBSzk@{P@V#82?I&`10<^>6N-O zsJ5BYJxonM!Lpo-&hcK%)-Q3S3TdUAZ&rAGcQy^i%N1X+DSqiSa{7?mAjjtll$eZU zUf+k9?`%JdTzYh=Bj}Ds}N7wy{QB zXIEo|Gox}}(71=-(_Wt4W8+4pTId@*lrzbugQUZIEofXHn|Zbne{>9iF5Y=QCc6%` z9*>ATrd{T>^Yy1kGS7#6Zedm^Kc>%a!KZAQpvXUtXJ1I^-8LI*!WBO{aQSupv29k8 z16J3{+_vMas{C$VJ-36aDg;&ezC^zGO~CxO0Axwtyu6EQPWMxxo@U>QBI>oz>67>P zhb7(5ITK1bQ}l24s|w~KZ)agej&{7=8boquC{=Z3h;Q5DDU^4LR%-CB48NvyY&KoV z+|(caBXaiMkq2T@j^C|43Obmdw6U0k?kxYfZS>He?xRllT#Z z>r4>Z`|W3{uwD@A-i7Mpbq{B^4GKQ3a_(?ch%WVyVezcBAiP!^iO7E!Pw{nGD!->K z$t1IzQFF*$_+r|kL-pmfo7Evtps&4^gv||!h~6USYyBX|pi`ydO`yw)Y`~9zx*?~X zqzS0h0Q6}4p8Mor+v=4^<>s=*`33a;tmo3h=PK)k`CWUIy4gL~$2ve?Q)b`s*~EQ4 z*ol{60!tgb%&NF@q+h-64U$IR)ZGu zUQcoCBDY6;US!)Ee8T8dykA>Fzo9ck7YaGe2aMPZHY1+M zZygZ$;dO|ea{jUnDaY4iCs)+K-k(Ay)*h;QJAYjHZgtB&``g9dge~o7%v*iG@Re-e zQch*OS;>?PliAn5=&Ak0&6cy*8$x#y!i{Dy%1fOZyDnrs z3007Z;Rwn>$nYI6b@(ck?;|@nTfH26aFzS%fIu?wRRUSJim+uF?3j4ku%PN2d@#1m z)YaR5|GpOU&XMRnoPJ6!6)cLUOwzA-MQH1I;SXMEf0^~7dS>wHji5sntlR|;$`5+a zYj(XWysNWGB8C9ZNP8ADp<8@a=HoTlJaV}GT}#8Xtv*Swr;4&<>dQ=0nM2*`%78Fs zYb)-xhx&qUrqW4I14t&H{C}>bb)qhkrHlkrk0f1~oHJ~nI(Tg2#8X33h=Xj!>y8sC z*(J|Dp%HEz0iNHoFAjt`@T~YqeDUP9P2H)y)$D7pRB7#vD#y%~Q?~0{F{&tEUL`S| z_Z|eJ>|oK#8x87P`DR7)?gz1bev{f5&sWZVzF=4N;h0WilQi;zyrAe*=euWifZ5QY zD|StC9zEh81DcE)*Ca`p?~MQ~5a5BoBD*eJ@}PYxUAbekpM~*g82Yj0%(K*B)XRbJ@*<+-n7gKfkw#?!)x` z2sbwyD!+YR^@oxMgXb0voGfkU4D;k!mBa$Z9TKN-0A;;;dG8Cyb2?mReqQ9sr|~l@ zQ!$0Im_dJf5L0vZu-xF&wOS=VAAiz{8EvPv?`psVNT*g$mB!CZQJf0zrc0u_3ej{D zs%nrf_HUC#vcHEpr6taY{}Cqruc1$UFJ~+CWeaO7w3gLPTZ{8fo;)V-43dPH1dq6k ztQiYh*U8<&-HJyHy35td(Va(fa~=b&YvtzT;c98+_G>E1QqRiW1bz7emItkG<>?MR zr|RjB)7yMh{MXb68tVi-E-v}UJP29^@%uEw4S?_gCUQ&I25C0>*i+bXl-PB z)7^$gLK=#^@;ezR87NxC#=;e@FXe0C$v<3PG+7fMrzJ<0%+n{aH_UPMa2ec#F3GIw_MZ2Nh(H`i#Xiv14;IEp; z+TOO3BYr=rSa#Ge8Lqk{YdKy@Wi5@ zdG-$*K53o!o5tB;yA4Wrb{ezA80&mDijY1hcJltVi{}k5eqKI*@4>m9&vptteG`1I zsH4R2^+&zA{Pf=K^6gf)&ngz&bsP$>==YiDEGkTJn`g`uuFp0 zTwK{EGOZ-PYFKZL5i@5vf+-w^vi1Sed7^w0^WmH_xA#PU?cDxjmMhI!xnS>@r(9gQ{#$!gsZ zaBCUIwOG*u);p`d96gbFeidi&;>|gMmm9d)8eDgt^oSk$eKb~ zKrTy+U{r9(*7v4@Uk+E1=J5bQf?sPYFMI!}Rr2ZG3yo1$tkg1!ht^BJ7eWuzBh;tz zB1I403TAUvi{t34Hu}2zi<`E9{^PXo#H&LBr}tZ>v)xp`5M1ozr$hOM86kQm@Wp6! zxIt~T)V~02D0JcZns*9G}^UQ4ZkgdNgOK zA^8Kj5b>~H6-T=Da6!0kFt_fBLJ}*E4U1CHIjyEQo>seS*NsCGo~5nt!yX?W)GYZurLXmjzc z@89+1z=^1xd{@56oBBV%fIm*mKmcRw#&!pPZSopT9Ms)FF@^0YQ<>*Io59v$+lvRs zo&;)ZVvf?rR?mO`OnWMWE-CbE{?S_HHfHjwdCg1lQaxE;r_>SJGO>T zbFC1pzni1b)(tOxoRK)*Ho=0pSB*9vVoB!wq{$iP?V8-%=VfIvZwQJumsS02T&60O zyk%b9=)UhKKgTWnZJ&{NV8^KQ>uu2wBju)9PQlDSS)KWGQhtqo`UiVE>3fEUj|jWc zSg=E-?o4kh`0gn;VvWoRdF?e->-XcYx+JVMvG$)G@BXY%m02j4&ADY@AW4fg$&Td$ zhsV-*{^6fRnPg*!L+mLd2#=}rK6;oW^j-CREYBWqweZ#oaMF7nul`0->VAWizFxSl zZ@TK`5#XGwlr^N%MEw!|a-wr1kr4sE#C zSv9({Oz%GSL1s;@^6bF;RMGo|A0NMvf6TfopAViz^e7Y3xpycNck_x^KO&nYB)%Q& zTQ$wPb$D3e;kP#vNxE!aIUlO`M4hwO*T~aB{BUb`M7=Z&xqpXyvE&$|bD+}{S@Jez z-Z0;G#8PZ zHx3#_Gg(G|iuo?gE%fo)jAr@66pJHA-rjfW_ZxQbPJeNP+;C&~m7qPe%awxFcFjdW(RLs{bvIqm|s= zcNDi9&gg$S?AtV)e5cD!zA{`Y??pgC-Vvs_uaz$+Tn_D#Y_Ae({;lw{HTTHi(P9IRyz7|t975XCk zZDdnZq?Czk)_|g~|Mt}(@7;4hgObp4LxHmxoZOn%w+{{nOL|C}lwKVc?x9Dc^2IZ`Ry%&~eH?BG z`t3E{5#vW%c!rF@Y=}_H&!I;(2L|sYVz<;HXX_iMxdac^y?xPN^`5%^W6V$Kj*)B= zUF!4JXY29DotdIPr`$WyrmKHLU`N_H`}QvWk0;NB-QU0ev>aFY!aISTN!xicNNKXX zL;j}r(kl)* zzMRN=FthuBuElhXX#XsHNxBW**jq~nr z*9i9wgZ;`vdku1&wgD+4hwa1)+of1+$YZiCC?#f~aG_yMM{v8iU_iK_hL)yIn38c- z;LKeYZ>K$4zMd563%tZHX34cDg1jje+}tO7n3p!{^_3sbR<{$xmFY4-Jz$1-$fze%c=hFtISd1@0v(ZFw7T zK9(NnE>Cq(?xFQPl0nG#0b4aQf-aeADCF%*ddOo+B%XPje@-t+|K}K&QEk9Y=Q5EA z&HfAX;b&@wT}ULtktsLJn7-V=Vi~X?U}HV@_;Gu=QtA-TQ>OEKsoi2{H1wTg1Ek2- z8)KoRg+at^LxH)=+!xF-i%K{4CZ}%+mA|+y#J1Mbe>vDbLBy-SS+0HZ%trOV!KG7R zVC)Kd%LT;hP3lLZuxbt7J?O3SRriEt_WR#Yc6LB%&fM}-8fWJB^DNueHYU>iGLJuA zt4+pV!#^^Ut>swa$FSt6b{w*{K5}I{MbPTILEqG~L-=IU#dozfJJ+@(H)uWV2?-tM z<)~n0$~^Z|WcdCZ?_zLsZf5PfFB37_xPwMtwMXX|q<>;^{wCK&xii#qY*CcGGa;IE zGlbYvzN@rd{ey|PcC?%pPgLRn?!JT7>+Z&ty7yJD9d-bpE=j0@W_Ns!n96zGUZXB< zyTCS+WgkWNGUR$>Ibl(CwNpV_=p}B^AS^`l+=Z;Iio0#(UhZt0ZoHG7^Wi{#+x|+P zY02TP(txRb83xaPuDa&vq<7cVhmA~Z`?U2#X+_0Tq|x&tpWcETlS#ds+kIuOe~iCr zv>{9Yk@$H7@v07AU-PvO^V*c}FWFw*GEwn3l%y>kmAdm;=+<4gR*o};z51?o?451@ zFyG$YnHBGa&DQoB>hTg)yKP*yl(Y}@4w#RzSxOhl>MZWH%6THv*cFuR>89y@sABkG zgZ8I>HxKsf^PirFmzFSMO&>ML6-ElxcwWAZc6T1XaIedB@q6j*dy}?% z(wIxR_8P1UaW3kYWKDk(V|T$%O)uO*1_&qB_9o8|BE0TwPamQ`8J9>R&Uahm%3eI# zdhPM#(S>)V*xa4d!$Wd~rOf(*ViWD0gbX~`it;yW!TyI&#o<~Qg{S<2SQrIol$v$IqC!6r@oeVG@ zR!45hs0f)l`6;LW(+|V#&lYtr)%~bGXjB?(?w*ye0z`@`$D5@NTr~-dY}#j!_!fPP zo!vxaz--(>7~?&QcDC4znP26f$79lxsNYq&fYhOG3+irdY4`j~ysRPE&j`<`&? zF7GoZOy29s-)pl_Bq=>bMVw#@=XJ8M>}D2gd7pVIxb`cyukGcv;KUt!S|UIvjM#cehn!|$$-%qD$je7kxz?2xdYaxkA!9IsCL{WI_U z6j-Q108dGrzj{YfuJBeC>e_=bMU$$xRh8Q+p3kbvZJ9fHwoz}OWA@sU0|ot-HL|wN zVNs!P9(2SY0qSY0=#Rl83U0y=at>>$xr&yd)XQ^QL-(*gyXqlND7$>4j>-M!llwYb zO4*by*t>V61>X|6_*&;!!Kg0X{84j(yT?*(&DH?HJ69aW*%mI3#(yi5OS}$>*9W|= z^>0y9alR!iu=t^seU|CzZf>De!->xqs?NOCdA4nCdSCv%`I92f)|Ioz+5+zEaDSfg ztaIc(7+WRY)+~I@_sBS5-psq|W3X2Q*A3w%@fX@NVA^+SgQo@aY;4ksXw3;u#h!1} zoo-)3P|WE?y}Ks;)0Nc3OdfRVtEy&%^R7B(70DBJxDD|jAL(3v9M)TJFJvcln@u6; z>#Z$@CHWmUhO_f8PxI;BKB(OrZ*wSQeBFHjxa*oy`^l|aru(|k-6EZ=Fa@K|EBoA& z-sq=GUVneI&MF{tnIl5k_^{6B2H};^`|{{KCZsJ;-u2S-W22Yu>ZYxEI8lB;+0$ktKGf~sKm{(s9 zJh4!Ba=}fgIr%skm_?gi{(gBJai=6Z*Kf=v{h!x=Nk#^V{NnKcS})c zM<=wel~-Ap{+RxM*tZU_CbOk2N)25QkRkzTibC?GizqdKAR?lm^d=&ZP(oJ_P1rb1FBh6HN>;mf12TmCR&gcrGsY+MMFKXBoR4Zp+=>Qm&72Dc6EiLH zlP{ke<|Cm$C`OX~IQWMWb8hD(k+H@_2Kd`;fo*mWUOvrizMvE4*|V;;H(${WZfubA z#Ur8#!Nmcu78bpZlabRTSV0M`pj@J?m_DuI7<9n1rku87^Bm_CxN0@eJ{-qWcz?g53=!jr@D*Z{UkbK@2iN zP5rjE+$Srw#xiCcW=_9#8WiTtI5I`5FY&|@$r{9|c2un?6wL69@W}G5h8Ho~aERM@ zB2L8%a{Rq?N5zrc_jo_&w)!k#hl5GS%sh0O;yygfsVe8|qEl?uOOi@(N|R_SOI4y+ zmu}d{dbM)y)SHW;uZdQE*&oXyR1HN&PenLUBP5pu%IkH6R@(lsDj zvn5@*FzL7rP8R=exwK`#(Z4OY#Ngf?)P3B$DJcP%!cXpTkkD=p^K1Rv2Bk7B3krnt z2i2R}p9Gg&6FBJ@P-`aD!Fuzd&175~tFK4|-@%gICv>5wj&8;v009BRU@$Nof(9cXkQG8xpHV3EihPw;`jBw& zsy?j+P-xKVnE#2Wx+_GRW0l}=I0yqk!6*O#Bax^TTH&etj6fh)cp9zPfX1x#p+ECf z0fwb(P%-r>LryZqBx@1bZbX>NK{Fj(D(%j55xKIuBU+Q_n824W9NJhV3qD z)MDTW2*PB?*B~PJpMZ!ENXVCDDwXc{%8&V&7{!GvAWQBKEV;!{?`$4z|AvpjQ6i82 zR)~r4(PDE;(sb+Gq$hG8)TuoP7ieKW=7MZQsW#3=0X;i|L>El6gOi6E?DhCPA2WfS zLb10;2?ny3=`B)Bwm~`NK34+idTe8rT!UT7%gF7X4i$U69 zJSUVUqWv;;JuISj~We?2 zb(^=a*Iz#PQcDj0(2>4VbWz8Y7uhiIBIM?o3dKP^3B66Zv9`N^^{r$@VCV*Js;Hx$MIuj->~;hCv<=Ouj6avBG`SN5`w?FI=C7lNSVPR84(EBr8VfC40}x)gXKNSi8dQTCvwC z(&e>YCgdcBvdap%xyb@ZyS+z%j0q5x!k%mva53JF1HBmOa_VYkd_z!o^Eo5-sgyLm z6hp96(bzAFiB4G=N9yGV$mC6(JSKF`k2F%6@{)8LDe{M++ZTIZ^t+z*_tn&NV8qbmJ`VE@x8S%%hmj317XFiiWwP9403l;vP>h++`rJa{VMOS6{V@ ze`KLluR1W`@$~D{Wu?{IS@rm0GdIlzrDulhZ&A5z<aVicZROZ@6JZ8oigv&X)l@ zu39q1x}mS_a^#&9K4V^_dqKcGV2jMI*15YcH+J+`j)C^ggUKXcNXlCtCCh_{&%SJB zJj0N#Z7lmn`js$<$zYHzQrQ=eu`o>AogJ*$9DIZIk&Zh2M!0<)bSR!JAvV&+&w>4l zFuygFWd}n&I@L*yDL_~b=7O*;=%O;us zOwTEu7H8*=ZQAO+RaZB*`@mbZLq=-7{5>wTC$RG8IkkV-mi3O}YGOVJMDKTc!L0pp z&PP!{RhYLoOC%;0--LTAS;V+(rzSWt+W#~)#y>3+-ISp<^ufx+nawJrz@zY2H~K@e zr#dR`+D*-(?&aP#{lju3C=5V(bcD z?dWce#2yB=#s@uv|u1jt0 zXHK(A(`7EOm2=f)P&F_NJYtE8!i;f&n%pW|31qrkgVHlB=LOxC!ahHu;u6_NF9+e* z*z#iQZc$st)D2v8-`+0Z@8en656^y&XW@Sz&mw+!_Io`0^@ZcV*0ZP|p8X!rqW?ag z#r*K>cX$@~`<$SFA1A2q^6cN|1O@y!L4B8Jzr0TVAsXYq5r**_QUdtm_g!G!$?%`X zN&u)YuoAyiGFk9w^z5t3-}NR#DYQ0_J#19s{AOmww0RCjw&F(&)_oO{#`(KRmz>Ia zM|OI4$M^Z>l(zUz?q<+zx)>Wf3QP!*7nkjvz@sXfuAXI+i{>21dw>Fk*}apCm6KHp z!Ziun&gg6W_a83z-^Szl7ZsRttL=ahOua0&KFg#~0I{U{E+(%&nFQ`9N!6eo%zWs}_K zuQ7Rf)0!hKPevjeqMidOwtJhr!loImg{Qu(wm=p8R`#n3gJD0ZGE16KXJK}%7^+0)Gb0UV);`**<$llapi9`w|O0&;4RDCU-S&xwJI7!dqL?uMyNIk2|n=RFS~)NPlue zQ>t(3$!(*QapBQ1vYg22t0GrYC!3bSDm>yfmv~jl;UUpJebps8uP9{b*@%*A?c86^ zFb9tr6Ittb*OyfIGA?46mVKIbN^HPn*w+)VO8+|?Y=GE(`X4SqHxdo~4 zuIJAaA9^)`J?#>Go134sQ~UtCFt=E?rc22sAsXk5kd^)I7){~ac3Jd>80FmRRJUBm zB8S+n@^o(NO+CvEgjHtZ&?kzFV^)*K$eMNq)qJ&Kz zdqBYr`1v&o1q+>kE@^ylo|sGXK!qyS(ow1$f|E?3OV;hpDQ{Ghi`mYa&z8z}hAjF~ zZ0nj`9D;?+5ocO?DojH>IZGvCemSRk15fg%V0mk=irL2* zse9j$eAxxJl@A561U@S^N@I2|>aWz_;Ze|=e_$9_?e2afNYnK7}x^ zX?Wjf{2EErfBMC9isE|(*c7K47oI1FXO4Kx3Xyj%LAO#F%@t1+v=V~`B`7&=@7Np> znn+A0dRU1-BN8-?xF^E8i4rwQT}t(0Qanf^)=Ca~p-b6Od_ZhK++#Bzv4Ut&6W^ti zEiuO3#;jn)nirmMNNw|@^PEF!2|V!Wy=h`9%;r{{(}K`ouYgc-6_))qiAFk+l4cTU zHMp4c5(~c-i{*hxaAc@}iZVUd1EPLSq=1%ln30NBC=1GJD>T|G3?elg3QZj3#T+9n-bZ;fL$kaNZX-)`IdN{*&&r%_yXf&aMn#Q)LZX$dxY7J-EAl@cm$$c$IjAc%68Qc#U|I z_&f1-#%jh!#(Kt9##+W^#`lbEomHI;opqfpoi&|Jo$or^ORGy8OY3ce9@*!R+oIz( z<0Rv{<3{EDCw=o6{23t`p5^=zO%sM{C();r-$|F9^(am zPe7KOTa1>#)?ziTab@hol5^g!MJAoJoNBqumsLY}gD1x-+ zMVTc<^9c_pVmuA5<7(Y%R{!qmQbW(p{oBcpF)o@;hqGv2tgQ4nzFha7FuM-U)0yyT z8drrjfW=q=f8w~juZ82%I|r2*x#k~V&+Xc;)MvHz6-ano3>JnPJ?vWBeB3=BE>xyF zQ-#OgW;l2aD6-9tc^ZCg(uy>jnRqF<|9w7Vp4Ys1Y@TzFwb<_HT{D7H*-GlI!b$5! zYl2&<2miTmnxAd=5R3wnfF^$Hn~S`dej;2A=2OidSDzzC?%$UrcQ)~Phs?@&Zic8) zl+~4)SK4Z0)fSl^I$3?6#jVtC&#HZFM_DF9wbp3}pTn--4G^E(+UDf7?dUN5^1fHw z-0rYS$5N|y%ro6=adr{vBec5d*Yom3YrR_fWq{S-Ht%ycU*mnNyF}f$4^nr=sAa?n z#2rgBt4#x^k4N;acbTJ^0`vLyzTbGJZ@rQcXQL}tn$%hnk93c+-R=2`+=uug_&oVF z+)LXfJW0-$kJvs-Zu9nNY-{WZjtMgQli8~;(LL&|<8lk0xK0-3R2ERwY@51tp9k6n z&jrVzjwMbcTr*_g%)SdZ)b7Dg(s7aesJenU5qlCvOmJIb7PKYzrRW1%-eJCAG(s#1 z2}Ahze%I<52sio`!sTKsYpo9&N;Y)g-5`>Z<3$@+z&(s8B5^b(oSGHyn zUw6u{4fdp9pS8Co-KyK2O$AjyLvX^VC`dZ8OqJQ)H2au>_TlnAX^kM7av&Qz`Rv@T zP{s2L9c|^nR!KLZb>F9;&qA-1aPI__4B2@?(kl1SbLCQ5_UkLd)!&kWyxMqrMz$ z5DTf9mK=!Fr9v-0pJ_OKhv>O0waBi<{3g!;YQD9Rs*zO5$JCcdY$y{NcTI-(ikyqY zBAYZG=?C2h@=oWMZ9P+p%@&y_xCDttl_xQEsJ;BJEt%QcEK!@fP4&XqEW$XlJ|Ft0 zHSh9E`MT|VzLWQeC!NoWT9tE%&%;kqd$%KtR=JyMZb!7YOIhQDSqT+M&%X85dFb1s zy3!(5Ipeg(SK|E8BFirLiNyXcZT5(Sb2J*Gh=O#0)pu2qNLX- zym+31n%dy25(vE`p|QT4-B#bU!Sgq>%WENa6sAa1$q^l_ZJtY_j&@PKF*{-(xum%! z?P`KUqTo?KQKulq3{X&5jv0xDX3(q(!dY88$D#{}CH56thE9%1CraBx_7Y~Ij+D1!Fgq;A=|a+q|#dQ~UV1mPp%2h;LBP4(vD`DYo8NQW+(zA?3} zGW+ml2s$qp^-TB%B4cQ5t6JwC=8i731X^M_?yuvEsv}X5 zG}20vmR~jai--s?8Wx>6?+^hY`6n3G&2^`CW1tWbZ>0peLyC4QNnU^!8FPk zgarr?U%dCPS7qa7-7bFwbm;PmFN*9y-P&Q55Ru2PMN2=gMw`o zLDQQv6gbyI!4{XTmYe`vBdh=%kZ#X7kRR3X3(^ZRj<2VGEgjfQI5z5z9B1t5=o;}7 zPp5bl6;mOUf>xk{Zaxf>XBETZtr3MqAO%mcRk;C6uh?ffdW0BruKn|~+VknxpY0bh z9BZg41oiMtmCQW?$FP6ABQ7A|L1Rih=N0yKUSzhkXQQw3A*9l$fbkf`MV3L9cELN> zC4v)*;1x1>jt3*^PH{gMSM^p29Y(dJ6#4F1>!_{)WXf^lyyuwN^)3WKz%Iw}!J@DC z_wA!=$c=!zZ?wzB*y0T8b|=|rqm2GZhKi9c*(=2mj`U4yNH@gZ=R=R^vz&&Rl?vr6 zQq`_Aol05-{*P%d%{CkoBO47*zEuY{F>a~7WY9vYftbmeIlx5mj5jbhDKKTEPWce* zP+;JO(agug2bYnz%2+d1EH@p{eSN<@iQj=B`SEsxiJ_RBh;|AE$k|WR$FTI;0(RxK z!Yr}vUdKWs@~gL2o!&DQhw>aEU&nR*Azk9E*IB1my%!AUv;5@^c;{3|?8T-qRkGa! z18Hxj%-LszT^{9Q`gsFL<_hhvmp3W3P;d=sbbR3w{90X+F-b(6u@v&1Y&qGpA!vnC zx$T(yTUv3qdT~*m5Gsn2)YIZ74J_gk3AL5qjhU;n`EBpQ$_^{lMQL}JRKn&h3o ztYbCCo|d?t;JiU4Ifh%R7GSPvVy(1zu@&aPwWH2{OIlayLzIK(Z+f#ZnfXfi6M5?B zh*hHzoIP}FWSga%>z#L`ITGK8AEo(WmWKxnJkX(0SH@nKr%<72JjO7?E25|<>f*sH zy%lqcsOi#D0c3lMqykRmw^%1QH(#ELE^}S*(2Eh;BaR#1vAByXEJqAS^t_i}z0S$1 z7#p_k^r9JU)o`CKdLZ$K_s?=mZM09e>1ue}?C%)eb!7ohe!C~q^Z;$FY#P{1=IT{0 z1Ot~!U1wbA_nyf1cC%y%KQ>@^eqNuHUv+AcT4c`lHN9%tsmmq3p^1P+CQ&BBOS&z) z_zjs03Y3D=wX_|BX2oE#6R3m(r64<(Ap(0`sGY7EURo=kuSk+Tt#fM%r9tCr8EDn@ zJj0$3$>jZlrIj}HrO;pPXVGm7V+p2 zBd^}9^Ro;Xl097MdaK!`(#F#<+%uREO%!o+tF9N8_9zHj;#Tkbk?)H8OG>@%VbGYd zjC4w7)O${8-Q?XzKBLCx?rmVF+G~1o^p3lx%utfy8UVLsn}TuA57Db7BbFiF1>2!z zOdHoZl!Wu-#05eq&N0GLlprCgeniQAF%$DQ%}DnAWUY1SE)^Kf>g`G*`g9Dp{j}u zpT`c6WR{SukX763!a#&gbjf^3BG7V3BQ^|pNy~|*WZKeG`U5?v(aGPszJ15Z`pym7 zD^&Z_Sm?z92KOMu;Cs>Rug(V?%so{^NoqO+VSqyIS0yb#MEHhJp#gbN`ddHrh3 zBJsjIEwXr>T&015Tj=1hKqd49qAAiA&*DBfcO_oimk);vV-YbAJ?|HKUQRw!INH;U zkJv$;CZQMB%7MV&BVu5yO{kMD5z0@0wt6;f)>3Hizts!Cs&c^RL{m_)#3f#&vUaIJ zYNtA^=H&0hkC}toh9GIEoZ~k=nJR{o+*O!lvb*5jQR2cOCru$fDJshk8&OE*u!m3x z$#UWK^zMW_;jyp$v43@RRgtxxKgWtpaodOGer8m_8Z{t9@f??4HIh|q*@PltTx27u zSZHHl0=?THi){FHA_Xgpe6P_y5C&>Bed8`iDXA6x+N_8^oRxJNWsRCN}LSo7+)FufzfhS1bBf-G7!7-x=-wKJh7%m|vQOZo6@)8T` zNa3x1wU~E$>-*ACJCp`5Td;s4^;i?haT^lZoM|XJK-zPGpM#w@2eP>fdD_W?qxmw) z1?LCqB-G2^bf~g#i`yDi>IG>ma}2bV;^vZpGrdri;hN(zL4br@M|E3X(AJ`Kcsoxlx>Ag1Ip!MYXdHYI`^x)aF@RMf5Qd>{ej(aGrFc;Vg9d8X~r<&`pmvS+hkXA>cZKAQA zDZ8te+VXe5NNJYMPqb;8KQka+h-&XANeTbhxY{FT-BFvUY#ai3Rs9M;=(f*~YIyo? zRl!8gT5gFuE-oV_O$vdTSP1U+-13Te-->=wp9OgW0YTX^Fd#Lo^z0pcLqZ_$%9#V6 z`+)u=2jS{lI2u~Awn(pA$O@y&Lu9KgM5KwOcWoPt2I`z96RK32h2c6Qp3kCVmf}b= z$6{EhV4|3ibE$!;nmUwarOZqv6$weO2H9>x->|I>lv*3R3w|)G`thotAR33X`@jq8 z;S!Ye^#*?Lmy=P-K38&gml8?~nObc4s05oYzrlSqkK3i5+Lz31 z?GoNok{lUsCvlvRF#KreYY;%abreVJ@1t9#HF0|b$#?IM^o=5~+8ZX>$su z+PG>KJUA1t05Glm+|kBpU@m3OOhhVR=U&kTLa%ezzf{INz*|G3<5~$tjn6?}7Qvb^ zu@mV)Oyg>Btf_nLL@GzM6LGL-q*2et^j=GRhi8^voJZ9Lrj+Je_u z-Gwdj%W&sTI})=xIqm2s^)fO%f0^7GE^#4HW3-rzH2(PD%BCwCdE|5HC|U?oYTis@3N}$=Ve4o2D)i2A-8^>s5)9?oP_cxSsza zlAdvIaI++=;piqNmGhFbmQUh?1u{dIr#L2KB6s5*Sx8^_$cZVZkPo;1_NjNtP-w~l zehzf0rbU4XE+Q}!&h(Qlgisa%-SE`an^S9^lA*1eC8?lj^@=2OIx|YR>0wqu0bT%+ zNqWHg(r75V_ZLqbt+bR9`s$GHQ!8>#4{S38a{$w=P4!hJhJgz6OdwFqI(eduLcKOvUflZvc+ zYi%^a znimwAjDgkErgL6dyZaMDF1ek#=PRkZ8(8o2XeM{Ov;bq6&ZZA>@FlN_ah}n!IEWV0 zq41_%(QxNQ5=KnIN#JusrO!wC*Jk+9<LHUS+(^qSIbq9Ym?{)9hrPI+ zx0WEM<;fm{-`O@OC#cyN$d03))w5KCN`gW^G_eT@)(-r;Bj{8+h zatp(RE3ymfqjMdat+EvcltnypC4qr@a|Ut

    <-%`pz}ry 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�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­iH@K z4Oz24F0x(9Ld3>lTkfbVw$oaYw-p7kw_>%FMujYXPe}N=sF&uiLra|?bSiBL4g@1} zkppU@$Ey75O|D}J3G)pu^vSM=Pe|ROhKZhez{{+BD1Rrf@z1?rhY-aU`>lCsJ9V8O zv25T$q5PI&btrH5Ee6?oy1(?Opy z*$;4f2PIjqhujClwtM=x8*^N6t^0lW%V~1s>HQW-aBR!=j%Og zMpHC+MZN%z&7Oa)z*>S)(*3GBC)TXIG8v!8qlCbipGIEIK(Dn11x&6=TjD}60y=ig z#&c2migB$z$ugK+?o8inV#<=ZZq46HmIArvJTSg}YxMN^hsB75IPTuQgOrG-yYz*(+i(F%sd2 z7|w`>lVh%<-AR{D-}NSwsF3!2J4ptQvhNYVI7KbD!J&?HGuh~6=;IJxL>Lab(_8{ z`@*bYv8H0LL}BpyYOC07pbee*=i^paggk$bvS%V{BSx&Ll&YT z0%Gr>>V?)7>LQyq>4+`t73XH5oNcfXYvJNOyqt)wUyORg)ehsy^5XYL;_+^#4< zF!?>qiH#bSCL_E|=M@HOkMm`*(KX;G*yhOcmM?GprSb5vs++A!(<^)(&SwV?t@Buc zZ)No-#rBf=RmJ9oF=F5oVvm{>NtM-XJaySRvX10{lqmnn# zQ8^EM%=WEc=3z%Af{$3Qy5>as-*_PVo!-X8q*TJe+4RJs)IH15TdL))Xp@fYn$zCe zFBs(xk9}ItPlwygz_t#W53Si-0(*@(kvd;H2>`V!!yJAkEN>@&a^SgL4u0z}%r1s>Lh@-S%Mt9E)!DC||SWc!?|_ z70v21;D|G<)Y%lh&qDF9$L!K76$M;vYJ(!)D2PAb%=FXPvkT=mKfYPxci>!L zP5VyoKC6%eksj@SB4Y)p|7h4B!NHgR5g{%k=i%91qMvYV8{rGo+Hg)U;)EDZ$O>ng zJCCt{FwNNicA~}Wl9d7Z+fA;4&I~Bz@n_P}HPQd*4NwoXn9oR@4fChFP9C*$5p>l zW3++6K&GNuKGXDKM+Dx_U%MN(h zvNC`L^~^TbI1>gBcIaER{i!?61x!C5n#y|DOMoE%cd;J6tV;nFdLTdR=JdrGS2!7TLB8hRtm9W?I}yL8bI=BT~Ql}gzo*SUH0kyZfBIR1#UTuqWv$_8hn znCrM)qi{wixi4YM))D7%16^j&bOjCo2BuN%Hvr}>)kDmfg88PD+a6ds{svK+`K9G6`Z&h%nZG{WNrgrsZCcTul-wh< zD1vXvTkEil-g<Y8bv@h|wtgWPfwl=5gfL0-_Y#_m@LzWqATR1f8}g@3vn+irRX-~ zekr>u0omz#F=qDQM(I53erd;XGMa-UaLVqD%nj;!m6|BQsPz3gsXXau@IGFeku8Ra zEy-|sci44}!A*vviW)pV0UhjlmrfF1l=d7NppGMw_sDBIQQ5$wYG6DR@j(|ts2yiR>|VKo4wnYAMi%cXJA~$g z>W%1@j882Y?|i@}j=ZpGJ*IX7+YO*1BFgzmWZa{gzSfg&oRXJCU zET&?~DYxb=&9K(6@+aCCg~9Rh_M1lC6#P8sE)r<_J^;1-#pQePHh|)&K9+Yhve6N6 zk|S)TBR)gvX68r+8yo)c9$T|-VE%)E^=aG7?$EckdocWi{+s;fhNj{Hz_4d8Xv9x4 z>IXyiaZ14`_rM>r6#sX0pPQc~`3G>9(;K^E__KD_a}M z*=Px(!|O|8IbY^F5nUlkNg*}wvwM|!I6RFOKQ-8Ha((vI{(K!7jR}8gEiUQ(s{YD5 zdKUiqEPjn6c=~z6$GOwS`{Q%*xd3kNPu5O2r#R@LLHg9fk4WYdM1_fx%m0dvhTdL) zGvZN^qSYB{$(tg zQUhi{d&{|due<38LGLIZSQ zVT%o!kSuf{;R#lvmfMqq4tyZ#&fbVNT(?L=*|9xrUI)YmRM4uec^ z$!>h-Z>i~pCSUB3pNi*`;1gO8#6E3;3rh=Vs7TvT7icqR*id?K?U1eutRZ>+@Q|lh znPH{I0oTPmTU*2g+(yiH%v#Js%pBZui~-wRW$(}D{04&e1(}PsPi^&6ZiB7P@6eM; zvdtoO@dI%RaW?UPukTYhaShAMWlFnc;636oqIEz3nRoK7L3zWNi0J8<`RMQHEWAwI z2|O#@MqD9WCcGEf1q9EiVf1)db|@8#`qRLaWaT5b{-SVTUK++qR zKH$o7>d{qec0cZ6WjxaAxY^s}1`%(TIEpfI?{J|>)VMzWEd&f_>wM2GCGT7iNndlv zwhb9k2etR#M$gswz%nLWr`U>hI5tUlH8fAl7-h&LCj0U@66{=j=w0AzyKocJj5t>S z6zy&;aQ0Bv*C@50hjI8^q&pETlP#MXmSJ9EA#VDejSjvVoorZbQ@Xgcozq-g(_9V> zE*)+S6zUcy^DEi1eC*egCM|Qm<C38SIx2D^>yD*nXD98 zc!4y={dl5G+N|Z=CY+BI2dPpd@P)maSF3F^us4mgY&#&!4Ihs*ByCgA$3=~qtjNn! znYJ4r7V5YO-s7OB8FlH4O0s}eRcvPgJti@7wnvslWDIIMD3(T!m}&d(k%k%4|B0-U_ zVJiX!Dg{^P{TYt-$=XQUIkgf24wp$-7+OQfyDhqq%tFB~$?re7N@6eq51xY3R;E*? zQSLB0cxisAc3|M6s;wA$P?tthj zK@~*2l3Y%XDqJZ#KsPSS?-uW47Gg+_Add5jq9=xp(VH*ZLJ6U_C8(t&{zea&3DKsKnf|+hXwR3rqalxdroBAWCIxyI}7JDO8hoGAB@Yo76 z>|~N$b`gb7HIbO3$voU<&Uq$zlU$9$cks(Q+CyFLHw{~fLn^fP zypMtQN}0i~6pH_XhX0wz|Cz`CnaBT`$N!nf|Cz`CnaBT`$N!nf|Cz`CnaBT`$N!nf z|G(z((O=73yg?f6RM&mF&6cXkmg~xYPuu^kWmEOEst%jYwr%U%=Gh+a9Os+YzuLEt zL%58@B+epYCu5wac^>B=ZgF}_1kd`tTUDOT_-r_uVU3v<92Ln8OQ>h0120D-6pY;T zlu6yfV9?gBqOW4h!g}j#CgS#6SJF-O=7e*y8$ewve>Jay4a@q>nn(l4vx9o@( z*`ZdSM9UimfWC2x^dh4=ByBELVOONQ)dq*xd~tdZJimU+TFn!-j!fEL$h@f;1ugA| zJc*{F{iCwOJyf+6kXUJw#x38(D9P7D=Qryh4#RfZk4_&B_X;`P%Jni3vUgv2^Sx+yaE2PYF+|=lYfC)P#fQ}sKshLA>E~ta z(q+m(Hw1xl%5(qhPL8FbmyjL6|SQIgFPJ$)rt-xcydV~s<8U( za2>5a{Tx3ulzmyNVRhA-Zd6XI8U@^%x%nNhMV`yTOvrhduC8mLu9b&%Iy`gdDoj(r zX>VPF;SD!aG~Rx$qYII&_m#SX=CI=h4Wg56(i!Pyl8YMEB4@Dc_zN4`X& z=yz~awKXM^-40~iJ;#r`mA-kCl&zp=VD8TW&g4(!SBqD%eImnsuaAaAjKj<7I7zK1g2MLGU8g$*rEsYGQCgQY&auwjsrtL9MayfJSM*fFJH z>_=1Hsio%Jkr$x=&B~f*f(m*)p}x+p8?fi0C(~?X+M&D*s(|6m+GvgVo3*;qv`T-h zv6Dz}hcH~PRxTEQ@i-Yr?Uu_?dPHGD$ts7Ijg6UA7d8+)3*qX0C%&z(J6jP zEmPEf6LEu;V){uNw}Hx&7meMD2@5Tw1SzWvK9q1~CApy}C!DLMs}FLyT`bJ5yot2# zdTeUX00y=wf!r~*L{L5*y@Q^uN_68b$WLdG5^^JF+P`0N**gv`5A=Ptvqu@eOwA>S z@#)wbGg)a580!@4ZT=yTH`#-da7*>Rjx)fRy!m#k$nyRQdM_*6D>^i*tMq4=_s613 z*J?ULUAC|M{phkragt{8q5v+hcX<=hQSnZPt1{82N}Dd%ZwYuhqXysZCadMrygZ<` z9iIX}i;oXvP7W;?L?2^z<^p3_93UD1X;wK1QgDXQs zaUP*9aN;8!Sg<&0Fug?nO$HVub8zG2@~I{5cKeD;E6LjQybVk^$vIO z?_brPbcANA-IY4;s7HM^X+R_E*p$CLRGQQzWI^vvsAy6~FLHnF6raxW@ypasr~>^P z^7-nCZEM>^>t2qmvj{P5ZH6L;b+~VEKpqn%DM0NU{1(mem9VdjiJ%g0`jzppB_j-h ziBG**QBFJX{Gw)8yUPvIdam<6Jx{HWR@Zsxtix0ouK)7d*kT^Pm#OYup<$!^o}4F) zw!0Ak5D@>8IF7ekAigeP2U)(zCCa@o5aL)<4?`srqDg@zdrbM`0OAr>D@A!mjX8$F zKx{l^vk%jYb^sOS8oLdNy2PtGT8m{T1eC?S03UW+9>F@vxc(V#X`_Z;gy&V&()gb+qe~V(_^u!@z~f zRY@{q(NO(<(F^wv4hzOuW^dQk@}SI~Go3}{C1t4zt6scoUL z3HHgfDjE$jjbkNvxYdaeh`GVF!&g1VexhlYzeVtSVj?=T*Dg`YPi;|~skJ)teo4q% zThe%BaIrxXV%6jrKw-g}e}GVG`+=Ih!KOoU;V6tq726A!B52}c8Bz3Fkvj6{vYhC7 z`K_ZF!ynrqxIv&(PBEv3So3;>jUbp}VP!p_ZJzX~ zAO0sTEyD%I9yaI2LyIi9>!A}(vw*F)qJq5Ngi{Y)TeZ)$bts*`Pp}J z1>aGxm+}oi^DNTay>b7K@e-yw}=0OuDi9*N6 z&fsbfm{H=N&WLtU1jOh2$wMHfUIZ7JbZE2P*vvY%nOQDn0 z%#ZMu>B0*`os5DkYi@N%Z)oX~R@2I9tE-4f@G_P^#tC>LYd~sb$;|SS2uMqZxN%c2 zn&IipY+Jm$CLF-iJX)>HsSjuCxLpv2-iBxzMTncg78e|k>|vj_j)#t5RE}*X{#9XH znIU|YN~j3s2?_d1qfD6C;^K^;AB_nWz0o&JOcxj)a0iWhTCq03ptu!r zH}bjq;c9YI*JGor#FIWr$=PlO_B}<(C<@}RImP8#0)}piMzU7-hlP8k`=y3RLSy3i z*r|lzcS%KMWqBoGkkl>S4;7taVrt(E{R8;6S0!wU>5by84zeMxDu|vBL1A%qxe|Y| zfP^ezu4EB&etjm^ZiRc*pViSv)dc$SYvtr^q(rgCT_iG#)KEP@?F_C>PDSf_b0RG! zALc`(zh5&XEi4=yq(fxRZpulE}=%y z$BuTq5b;wdIH6w~YDLh6XkseL`o)aUrg-Yh)DqsKkX1PBB1%qb(Qu6)w0}LaEi}d^ zFXIbOU`RD0`lE}_F&#xxo$JQvUIDa81SuG&W4l&CeNLww6_p>NP9`aRPG$H+m@ z5FCJ0KHjZ6xra$$IK~Xog}LHC@5~Ssv~3ucU{h%qtxQg2!YI$IG>%)yQN%i5)}PL! zKpm|NnDCYq+ZE6kX`X3%vBav5z`%LX1dJp~Ud{D?#2G5H6V(LqQ*zSDV2a9{w^vMp z&8qUWWgH%H3~Zcy+Ls^Q$s?f0)^7#%F<(nX8eoRW{D<$&D=f;Puq!Jhxtsfjjs2NE zV5j91U&+7{)sTE2Y$nRVSuSzyUCf2GK2`O~?^F|6TONBaT z&Va};f4j?^Z0uYCO(CTL>YUuWmUgrBF*`=C$bcj@N`xrK6V4Azq-4UiKwiYl2u22j zbK`?l9vUn)kbRpt$uBV+eX#$*#Ud{x)+}LvvoHn(NwfOeB@0~W_C=h3dUSlFH#I<+ z(NM5)iy$2&n?_)uF>7vaZe46bZl|JB!O;&W5-VxmG{joge_V~+m+(}Es``e;U1rAjB0%MY|g5@5nY&m>V zAi>(e7SK*T=&ervhyt@Hcg}NO8mYv@*aTIJ)EermgRrmie{XS z?k>q-0TR7H#}YU9+?P7jc>cO%4!iWiAE@L%!9DC^Ha>A>Mr=ld=bXt-$xZ^B+t*j> zYog3Nht@+NG9|b5rn)iMA_vwzQ`xiU@<(}@nqj#_aZ*C@{bMEk`eh&T+OJ5hN{Ign zt1~n0-SP#*^sE= zfO~@WC~Sit-zG<2Cn%>4fsQ3vL?NcX;Nu*HhT3r)IKmi_N;ZxeaHnb4+Lr-$JE~8 zm$$wGNrGI4psZ{4HNVEnAXpw|7CFc57A{~c+z9-}er*W~KRK4hA7G8z!S$BY9KpI>w$`Oy*G7=_z89Kh|_h@rsS>$UoqtvP)s z1;&$wVaJnT_W5o~U0qk3L&4Th$Nu;=UiK`B7#%>vQx^-(RfURxk&ydYTT^KYF5%b^ zE7%UZQk195!2RRq0^^v6^Ri&o>gg+>QLH3?O0Km9Pu0mFu>h*pUYQ-0%0p>FQd;kR zCGPRb>;_|9ikKm?!rtt_IkzOM8&1SElXwYt`rCBgQ$^96O&Ygne*w_BxS!-^D{bwn zZEZ?~+UTQ+`QE%;t&3}>Co4UHIl!baEuxZ`P*cDgR-wWvtV)=mVWjcbvAeygsHh~~ zuqxdq-QfCRs@X@;)sRdR?j{c2l-k8ZhK(~{o4HY*`9hkG$7ycZi>z34E{Ks#BM9gO z1g=*ia>2lB!j#2RD#s+J{}60a!e~JjtLwu zXw_0j$-Vr5tG7fdvT*^9+c028)SC{V@Kjp)k0Dq^??JYb!Dj;q1>T*PIXxYvXfZMp zVSkTHZ%bh{=u9te)knQp#&qkDj_Llcm}^FBetrch_V4=HDe z)Y8l>XZR~$!|`@(NWYjmGjMgSWe~1NRds}*=IeAI`tDJVCV0A1U)9lGK)rCyjAhbb zC$|60rVw%=@Siz@?(zkW;jl}$ZC+=?Yo8pbZ*)|6$FyYAvo$pTjM zRSKyUu1n6B_m6|G!d|quNq8lPQ@N(VOBEk$G+i-3okxT% zk$EyUByuOMz3`h6bL0sNgw1>LP%eXT2Klcg1j`2*615!r zVOcjzQ>(LpktN)P_93BBj_~nw(sI+=V-e)evL0$hoa$6$q*sM68pJDBu2L( z)_^UkRmnyxz^~gX(i&BBb+H;<_x!r2iDvV9_?r%c(_QEEUZo7<^}r=%S>wnkm;fs0 z4H;AL4k^BJQ|;tfRh1&H_VP1-{0GlTZJ04jtO+RpdSAxg={-=GgA_Ba-5EjoWAUQ4 z@m@wqbGD+E+D(~)i$(=udXu}&-;(7-!2yqWG@7RZ(A?F&~g*_qni zot7I1j{JJ))-&2(Nnyq5rZgP_*L8H`7MLHjJC!joB|y}ExYN}J_o zU>i%NCY7ZUh$T$w+zCQNu~RYs&0_=!aYTjNwgS8AZZ=Qge^fhH&-^CCg9?kR^12t- z_Xtabt}ZA-IEa)iB-qcMapI#F6UPyAhHV;|imrXQdtm`_)i?vSMz^;r+j`bvO#2Yc`@-xel0G4 z7CbrE`XuXZ?pDar+gV|B&FUN0?K}xYIh;JO{tBVt*?soK7ro9%x=k1oE0q0Px zgvG_GY1--$EHIQAtL*M&^zgHH@xCAQ{>$P+E|kV1q5X%ggEJzxBck?SBC4`3bcN2= zPzZ_n`ogQzG8wPvsP>4DgZYsbIo^KP!-6|4AXESgixvuBBu__!jI*EP+nGoF+C(BSS!=XM#QH- z?_w1}m#4DLk+4RY(0#2`G{>q*)Rt-%+rm1d!m;+NKkMIDO6pd!`U{|r-&5H&3_&O2 z>=PMM$=~IPsk?|2n8dg6MD*}i=5ybL<7f~hx=%wXw|-5WSyHKA15@~0)A~#(bt)P=^6-; zSM(M2)hKyAiY|^g0RyuVq(JAKL7+md;g4|p%ouCj7VdcU^TtNsHS7jF5Ku#dIlBpw z8-*Q+tY@Os0!^LmiX(&I*#ZMRuV)KXYM9+$uZ*-cz~F>rWcL5OmyjY}UA}X|+DQD9 zJREHe6h~P_&j-=^D8a>mUZv2}S;}W6Bxk5Satwvw!B@OZokP3D<7!9<&~z*??>v~u zfMTF1h&NE`Qj*KaghjL)Ul_$Bb#{hcO@!%>dcE+~D+Hj#;md56m;kOeB_jjYP~R)4y*i+_a^pP(sZ#c8SM0t zY;Au_x*A%Vk_wd2(SD)CK*sPE!#1E)xLbmiQC=7`-JF)kgzRm5<`A zc{!}PUYp4iLB+_}Fb7#|V7TbV=YlG%IXrBf{uxgtcU+O`1xFG@O^^k&9xMT%H}UPF znY3QUrlv)l&(PcwKZQ@fg|e{fpT z@40J}-C=-!dWJ56rh5l*{Tm&+?l2mJ;q2|_Xnifwzg^r0fF}bnRBLijDm=Q%km%hC zRqD2FTqOxwn0&98ui{zZximG-HzU_zZ3qcSi4T{-qJ)n|AmY{zOK__rg-b1PTO#xq zo6v_7q=M^ObG&%m{#F#YyYpJhLHmCC?I0%?6!>CZ5+!COMzRZsqGQL(rMsS52eD0d zbD2dOhbCi&T>GMR%mq9YJ&4hnqzPenESa$?G|!id)qL!^%B@*GK)?3&6=tbEB{NZR zXOxA5R7=8Pn{CP4I?r!pX0SCIw8H&x=&u59aF%hd_26WmrjPfvb|3->z7g|&>QF`uy^c+g1wW3L87&b3K{B+DD`x3dp5=PAFgJJjP6 zu#}FTGl;6y5S{P1>m_AP9TmN3N=}E8Moc3k2d#b{=3s5+X;5F61SmY6XAJVQOB;wt zwMm_C8rKp!%Nf)6llAIaAnrRGlBgt-9GxO`WeRnDDelfUmKlI6cE!@Y-0+GUjIIW> z5BCTfY?qCsqKC0=v=kr|<>MNlYiX+%nFK;jFkA1;yjQQSm(K>Viq(B!)?Ct@i9|v? zD8AHv>DDQ`f_Z`b7pudR$M>+gnjyYXSM9-wJQWX@_z*D%YruDH1taUz%WwZVsSo=E zc`2Pct-bX8D7mZcQg>hJ+-c!MI?eHh9jpthRr=rXG@MgN9x6YcgU@1Ho!P9xKZND9 ztVMqOS0xgi*Ju9h$c=PPR4aoj7&|9+^(R+-ss*cc>#mSiDS*3BFUg=-!-k&a^^@NG zXuIaf#*pP8OF7_vgd$1an&C#F1^j_6jdaQ~{&?**5XL*L7xEMODu|6bT}hZG5i1v3 z?(asu??t>SsGpQyqU1ZW6DIz+*eoK$1jlPSJ?xc@$HkMphXdb2Au`Ut+8w_%Kl{Xd zvgn;E^E|p7 zP2Mi*?klP6txU^=Q`E&OJ^9Zp8h?+vBrfH!5jxJQ8Y&k9IVF-#Y&?3qhKi1#-pC~#n$O~d!QFzVi|jvBfCE`G+>?7 zj_d-KcLIi8^_JfSOrsz@%?p^=qvx1EnF2X$RpBfL)Ky21n=dU~DX<%nz3^H;@Rjfn zvBn$ASD|9urk$b?=OHJ8d}D&9;rpPL_t~Y5W@*=bIASKJD|DjBfl)MZ9~lw!5}i_v zNI|;^4=F*~A=K~D)((4?)F}c)i~RAW8jtTOzltR+TR;=G9Odmq)9I8)v{oO+N_HNR z2%88mYODigYv;nWOy zm=I_JQtXzJEGM3!s0MCTE;OK0C+SRiTsjBln|a za4>OeUM7Jf3w_$FV1Ms%7=79D7+yk^M+n5WhnSaICmjn6w@jT28)yVSVuME*4*N@H z0PeL~o_0srf=G5j5x=tAd|`Q}z57HzG{hB6C&kcSfTJc(nxvlR9Y2lng;l3epCOx$ z6@0;1q+gX_W8?$xYFk50Cd-(H4Cz4MGnfJ_?9E>uIjlXX*5ROpL4*ZLWTJREDVjeyA_)C^DQOjA|D>-TPM%gBrq)O|*^DiVu(pFXs-c-K%g zJ_l?EU>ixdcT4S+&1d!6s?oUeM z{iKzmqC=I7-BBW(9*PeFUxVtk1=^yBT+N~9%p`SQR>FZoSH?mZ^hY(Rj5j`G*k2Y2 zDQg68KI@S3tDRT3sx9EBp$GIq5GrWq#82$}d87Ift4FS2WP0lqbf!fTHM6F70imL0?WZQh5d;zIqr z&_&n#_K86w_&p!3G*~OPVHY|-9r-w`q-fCAQ(_C-&2FMnB4!9hg07McmUiTt)<2fEEotJeOGD0qtd4qV}IPB0~9-i07rs2O^+ z=E&?QEGUFhaV5pg#s(4<_Dvwad*cOUx}Csg3tlqH|K{Y!R?~_XS|A<^ZV%@4n<5Qy zfqQ>S^tgMSXUVno5`j%b8cUauz|0nQCBDpTY{+C{IV=M~68$r@hHZ6GsKKq5?nCF~SBaetOuVi|*eHP|LqVL5fIj9pyA+o@K`!UCSorNG{%(eG*osSWP_F*3lLj84qLzS!B>5u z=lIFZESjdT>zAB^D1y@Pq4cIU#y|r`4Vi&uWnRNHfa75(^JN${6Mz%Mlrp?xWJ0Gt zi0H$~reBTu))*Z0Hu=2>s8zIEHiHswv=3rXDLffk`Dj-G}hLm60spy_? zN(eaqD|}Cs9zQZ*@`j#o1K&-yGH0d1bli%H(oCf%bXd5f0p(AD(oRWz{L#^1Iufh4 z1hxAWk=i5z*U1!Ld`97XjRw}no9A037*tvic)N$8C3OGH9NbFyNK<~YkB%S`$tk@v z#^a0&t0SuuHTmKn0d#VEPxn8rrp_}pHK0@%kPYM1Y6nH_`;gIaI>FL63aKdlt-zWC zRgXVg6K+QLL*8NGDKSTGQ3x1Ax}sp`xTDbC%X~^h=Tx6(h{fg5A2t*{eVeAt78RFz z7;Q+?rPpky;TY#ve)*2UOx2v#x5TI7U$(#WX>EkK4%bbjnWXB*=%Bxsc7xL7YfE)a zQxFr8tv+&@W&x&lh6%c27?k1F#g<)@A#gB&M!2UXO%JfnGK69RUVFD((IvoaTl0ofM0$CODt*=E?fz9cj$%~V9C+?yWz() zI)|gngc8g+^=}6SkrY!2G-mVH7XYBhTXfx5W6XoA?ZjOh+Pc59o~D%8@eh3H4m*lt zHRWU+De6aUg4r%8twz1#j|PeGQJ9kPRz2>AQkj+8ro?T(Khw5elxw8^;X8;(CGjY8 zBoUy+sn<`K=5_U%os85|fH?^l_Z6J;1K3&uX4gC;5M^5=do3E_y})p=&abfol>Ov| z_r6aLeY~n*_pr`-uGJ+6z|z5Zarsb1a=c&w_S=>aT(7Cm$hyW~*a_S-@48T;Et=Qq zVmsv+FMTz|J4bE)p~#zxETas=ec|1E=0E^NxPD&*>;3l7fNRtBbX7yCaA31^5fJ-# z_Evh;gRFg92;Ugsljf6r@T=Mo7hKZ&aFqC;hMnk|;e(rh^v4I?h4gEC6ar+^ZdOCS zv+F4mq}Dp0i9ME!w+%CuoAq~FdftPr@*p~ZQDZ%scrlKQm~ZiF8YENj$qhUn3e`w0 z5{imS!XJ*lu=WP}nDWD-N$+rMO?5uzQGl$1tU|n>_Hc!yVi;K76eO{Fu8$c)G^Vq| zd=LTjLh(03-QBSGLUwERqceTU1MG@Nc7a5~ zxea-Hu4eqSDjro>>P^%p0#DTiiarfzU3tXDy%hy%O|71p@>#JG&W zu_}%=bru_uref*-)vf^6u*M#W)$tsPxy;qg4T;^B7J@gpyY5+`lLxNx7_WQ>k(Tv_ zV<51VPd)F{?I)9~%3WV~8VK7C3LpNNwFM5j&hX5Lmrok4(_PN0Ry~!i68y?n{&< zTCB;JilKQSv&-2VljI2bx`p48w85o|v--Pa>fDvSi~=kz;c5)I%dRG@bDFUOJzfDp z>w^LQwUPiTjk*Ujoj5v6_6Z>T_L_Sw*RMjLT}l{}I!;kYJpz)?Md!i~`#2!G)_V)g zt%|8^r>pDK?M08wtdkJ!k1Wwc1Yd+a2*!A`HCTd|h;=zH_J^=&^T!=SmoMIyr?eO^ z)DIqo=*(`Xn??PT5^U_s+JB(rGkp2V9l8^J?Pp*PYKI5?pZG0Ptgrk}DzyWao*C8_ zY{D*(;;@z9KFAFP{^(CN%y*Mu*ORKl)K`u7Ul5T0Duj_?<{c;ME|0B_sww+7U1gq- zK)Gm&DpSrE&M~MzJ|C;lZ3hi+{ms^XS0ixXU~JaBE=qIw0Zo@lDB|ULyIV~a__DUa zW#~)Y$3-b{IPdPp~$6To$QZQ=w{+ z`Z?~kzqou0HFgFbK=D?|=k1q~svXB@G=pAm9$Oz)wMuJes%9yOQy9J9A%-kpy-yj# zbK}w{n;V~pk&x*_qKqBd-__Z<-^Cq}5Jz(|v(%p{3V%=On`04&x4)G=5lDT`?zSIC+i7N3PZ8 zH#;c3E@rkwgv@=$fHyxT!z(NZnoh5G>Ze=B*GO(j0CE2SG+-RwF+os9Dq8LZdNZR; zyNMCKz^AoArj&GVKVir3+vv2W>|84D()I#R;Hzf6aoK&V`N{8<$SkYktak$}9uUJC zkT2_cZ?KVh)oNKUTYh1!ij#K|#Z2eyk;|^9D6KHaRkVk%zFhqW`&lNl%4Y@3p*IS8 zxJzBoqV19AP3A@pD#eEO!4K^d7AW+}E5GsG#g*6w{d)3Z9**RST9x%XxzcNnF|$#> z`tXD;KWQLX?gzeQ__5OKUREyI4lM21w&gXDF9bYQyYrGQL@uzF=k(o<`GOD5GU@_; zva_rYldFF*gAUHF{>5t(WYw^vH>UOU4!bMrad3}9qVZ!J>#>JC*lct!TD%cm3qdyi zY3Me<`~Wto@tHhCA_e}iEa5pz*Kk{Eib}R3u3L9`?YITUOxtGaVBw_F)wtO~=m zNRS;lIA*e%lIV#q+20f75F6q1Q&Z8It{m18emBgZ9|!v{`2%#$#3{NLfr4$JOSkXM zUcm{|S_=Z-?=Teu{B@{b3rpHzDpdI^5OdEo^GoZC99hDskH!d4{i9l7Zat$)GiPSu zq&@C+Q(yi_JjdoKNM8%1h{EMLdmMbl;Vhw-%cc?Vxw_|NdRCyfzd2nJ5I(#x}6bK#(FN=V{h)0%aKj%kgUN;n~=m}TruGv;21z`e>I zqNqx8|C;={-$@HPuFGp1R0``p<%=ZS8gUlMMxbgb8dD1(&l9I`O%ye(>floF{(S|4 zM&RaEefXSym1mhuf2vQJKzuOjV41H&ZRq;3M0nk61;q&}$`f&liRX2Uj&&-|2~KI< z2ktxkQo+6cwRIk+-MF8sk|Pur{Cwsi05RQS02=<>tAQPed-1(uzw)XlA<7#FciNKT z*x)URMTgcH{PiP8O!Iza+)lgOMmqs2g>uWcPb>JMGrobE9S6N+@!rRVJ)WF-26lZg zUc$qy^WJTT`x&cudK5hH%R|r1IXrxB*@-F*Z-Bs(008V8aZTL?#0_2kumCk2w2-ef zN2YamsD5a;Qev7q55eER75Lz6lz2@3LOkp`V;4UZM27L+Bt&H-gcPr|U48?5F6->m zWT(A!vty^tTi^1G+jYq|dOWK9xXt%sub0OS5QxPW2*cz1oVA0_i|!;SWMn?gbLawI z9QoH+l#DT(^{%+6N-h|XN4|~(_OB>%HH!(jtpm-%A!l)W?OzY-x?f%sOh(Fw$3z~& zsm>QB6m}rG@9iu_9wD_d@;E42zC7M7Y(KuUGeGu~GIA{dUkWd*&}u*Ei6dhr8&FPp&Z#)@!iD@ELNst^~~{ne1d75vX6>v5A(o8CMUt0Kj$Kzj6z4ic_~@n53BZUI4L;v~ZCK?@Q8*6adC( zzJem{`!z(deMC3C%wL5I-`OctwR6XJ+!SNKDu$PYW&i+D!fP_|IEq$k-_tEqb>NnL zsZ7knTd7l|VdFK9Oq&RfHJYGSycBcE6)z%IofCR;l-_ z-Wk#Po6cr<4-;rbKZtfIk*1uHTH_B!!U(|pMYR=HfaTJuWL}HVzLJ8 zo3)$Vv4zQ@_tnZA@s#f9OGf~(hsZ`7_(-~?lya~q?jhD8$sj+|{1lTHuJP_$5%4Xa zAOtN@Aw@%%_PT{FhN!&5^(V4H+7mzl*SiZa082^t@f6X}0)eUQ9l0}1BHHWvSP=i3 zr*Y*>r!!cGNLQsCb+sU1i&_wiht?1t6IORfokaRuk$mBcgu|2T3^H{iso_6)eAz6r zL4!I|weOcEEQ(JyE+Z;zMu@0z0(E>NJHi#f5x zMvJIO@F3ck5;pSoT};B{T|q?)4PEa9fLZ}9iLBI+_4fgT;AWFH^1avWD z0LPV2{)7V*u0y&^1(nw+jYg9d^meGpoy=9K#a5b>_tWZqy3X6*<`eK_F zDr;HU%xcfJwz@}Ahnn3qdmM|EznT?wUJ0IvHx4as>M=aSLEn>c2{=N4y15Gjn)nZm zf}GX)iyPBH_t=aggp$q3xvc$Y1twq2Ktv-T7YmEik)1Ve(8b`S(Jj>K{{pHARrdp` zd2mvfYVl%i<^ML=Ut9Xb>_}|p5d+z?T%}|bt}|1825-bl42FXDd`uM@Y=7Wub=y?% zge#B9^I>H8W~R|ak6I;LO;$aXQf?;MCoA>i6H-K*%x+@HzxZ06%-|aN7&_ZOtN({B zE|;A6y>#|eU7j=WYGFyfGJ`ht7w2!o{FMcmwOmnx&>T=6N1-#!VQF&`e0Wc$E)7-5 zrfHjc79c(GO~EbtRb|EciNu8>K{9so4MbB;5k#bP!p*Y-*^ao>K*-;>Zhfc~RvyWu z5L+Px4zmMhULhdR1y0e!Vo4CHa$;YZUKb81#n??oeORN7NkBNXO@btFp3h>Ygrgs* z&2olR=B&S33~`ggQmr@a3~am$r+zGN-YuTVU>V)f8Z`H|$ecmAP>G~ffdMp+WBiyH zL3ak0@iV`iiWfB68P}nVo|#DqwCZPB3-rY!?OjXf)@V+KjjfD~C{A&pu`O+^E%)TZ zy6BY~fY*S|P3Sq{mmjg)8{|xRJgKbOu2G@;fF)H{gI3OnfV+>H#dP)Wx+r|@x_~2_ zqFd}U7b*^)1Zwh??nLdUx9zk7G>Ja##dzbgJzxXEra{)%SJUglIMoM~KVB{@HHlv>Hv+MGraE$ayHIEod6yHN~=V3VY0QC6pY zli)b$uHKK+%h7K$AX1NrSKsxnhFGXOL(V+|HkFiur%)8UbWH;kY?`Tp67MRTSMcYMDjK3SsRPYR*08mBKNu-l_Cb zyLk`3s$Vi2QjvCLDA^!_GS-8SBEt4GbaSMkwk)c#4{-yY#M6%&x;#es=o zctfdAdUo9>GYEAbiRLdZ4NXam*Rcq+iqw?@LuPKC}7_W-O*9KzC=qk+GBV;zB zy(A-^jQ4Lg7be*wbXyLnJTYC%5{{!^+z}##Y2PIxhlZ_UL?}@i2^)5xcEnFuDA$mU z##0KfIm0C(6@}Aw0yG>NR69S$akV{$DAL*_QmcsPf7U$8ns~TrZ65FcEE@m(auHnT z^1twbGtkj9GyQj@*78h$loR~75_6A7AK^q`;StC`0W3z#BT54C}^r@kI%?JE2Z~Ooq?H|_KzZf4jPaQ%yjsSjEwk9 zbZq#{baa0R+pl|8R<=Lvf656Mf9kBP|H{k$8-PGe~-z; z_N)JI{nwS5iT;lQjQ^hD|F7~#?*Ac>f5i4*_kWS!G5pTg|Iq%g)&I+S{oA})S$@x( zV^92Aw||%a z$i@HI|Bu|WF#XSM%zw-W@{e`-Z{+v0|2zAid*Pq*zwdt*rvKM_@w+&xwSkSHnY9T% z{ePYqe(unL|)E-8*4!?|ozfQhi=Lwmy znF)iTku$!sk-dYNjWs?a4FkTco}+=OrIE9dB|f9xFJFEqN7G-fdJezGFyph*vo|oZ zw6ww3B;&U>{51|f|36x&@C|K#7c4cR`nA#6nV9LAHOa|&c>ZrzB>Ml26^W67=|5R% z7?{}q%8JBD&-NEKAw~xFzpw-`(lPvn`R2c4Px`f&|Ki8U%=%Y9Mwb6%He&d7KKy5V zzifYDMfzp?3tP`G8_Qp8Ozi*8vh)`g9{T@|g@@shv^la>ZlkohFzwtNz#^3lG jf8%fbjlc0X{>I<<8-L?({Effy|9ku&Z5BAE05E0%m-X^( 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

    MOWGLI is meant to develop the technological infrastructure required to - integrate existing Markup languages and standards such as - MathML, - OpenMath or - OMDoc, - covering different aspects of mathematical - intelligence, into a single application. - Expertise on these languages and the related technologies is - respectively provided by the following partners:

    -
    -
    MathML
    -
    Department of Computer Science, University of Bologna, - member of the World Wide Web Consortium and of the W3C Working Group - on MathML; Lemme-Project at INRIA Sophia-Antipolis.
    - -
    OpenMath
    -
    University of Eindhoven (sub-site of Nijmegen): - Professor Arjeh Cohen is one of the leaders of the - OpenMath initiative, and MOWGLI is expected to take the maximum profit - from the successful OpenMath Esprit project, no.24969.
    - -
    OMDoc
    -
    DFKI. Dr.Michael Kohlhase is the main - auhtor of OMDoc; DFKI has a long research tradition in the management of - mathematical knowledge bases, metadata, searching and retrieval - issues.
    -
    - -

    More generally, the Department of Computer Science in Bologna has a - long experience in XML-related technology, and in particular in their - application to the particular domain of mathematical developments, - as testified by the - ``Hypertextual Electronic Library - of Mathematics'' (HELM) Project. A main - component of HELM is the - GtkMathView - widget, a C++ rendering engine for MathML that will be distributed as - an official package of the next Debian release of Linux.

    - -

    Similarly, the Lemme Project in Sophia-Antipolis has a large experience of - edition of mathematical objects. It develops the graphical environment - Pcoq, dedicated to the development of mathematical proofs, using the - Coq proof assistant. Among many features, Pcoq has a sophisticated two - dimensional formula and natural language proof edition component, - allowing intuitive and powerful interactions. Built on the Figue - environment, Pcoq can be made compatible with MathML. The Pcoq interface - is intensively used by teams whose research activity concerns - the certification of mathematical algorithms.

    - -

    DFKI will contribute requirements and metadata from the - viewpoint of educational applications including search - functionalities. It will actively work on presentational transformations, - the generation of proofs in natural language as well as on knowledge bases - for mathematical knowledge DFKI intends to exploit the results of the - MOWGLI project in pilot applications in current and planned research and - in projects for the prototypical implementation of intelligent - environments for learning of mathematics. In particular, the knowledge - representation for mathematics on the Web is important for such Web-based - systems. Knowledge bases that provide a common repository and ontology for - mathematical knowledge are indispensible in systems that integrate various - systems working on mathematical knowledge. DFKI also has a fierce interest - in pushing and leveraging the quality of standardisation efforts within - the worldwide initiative of the Semantic Web education systems and - electronic publishing.

    - -

    In order to immediately dispose of a large repository of structured - mathematical information, the consortium comprises the developers of - one of the most successful proof assistant tools currently - available: the Coq proof - engine of INRIA-Rocquencourt. - The Coq standard library includes more than thousand lemmas and theorems - and the whole number of statements proved by users is evaluated to - hundred thousands, covering arithmetics, algebra, analysis and - computer science. We expect to integrate the current different ways of - browsing, searching and rendering Coq mathematical developments into a - coherent and Web-oriented architecture open to the Coq user community - and beyond.

    - -

    An alternative route for the creation of content-based mathematical - information from standard digital repositories by means of a suitable - LaTeX-based authoring system will be explored by the Albert - Einstein Institute (AEI) in Golm (Germany). AEI publishes a solely - electronic review journal, Living Reviews in Relativity on - the Web, which provides refereed, regularly updated review - articles on all areas of gravitational physics. Since its - release in January 1998 the journal has become a primary - entry point for students, lecturers and researchers alike - for up-to-date information on the current status of research - in gravitational physics. Moving this unique repository and - communication forum of current physical and mathematical - knowledge in relativity to content mark-up, making it - available for semantic search, and for re-use and evaluation - e.g. in math algebra systems motivates the involvement - in the MOWGLI project. The journal will develop a - LaTeX based authoring tool interfacing with MOWGLI, and - serve as a showcase to demonstrate how content-mark-up in - mathematics improves the usability and information depth - of electronic science journals.

    - -

    The AEI will be supported by the newly founded Center for Information - Management (CIM) of the Max Planck Society. The CIM has been set up - by the Society to support researchers and research processes in the area - of information management. The objectives of the project include - coordination of existing activities within the Society and - implementation of a strategy to develop electronic research archives. - The current Managing Editor of the AEI's electronic journal Living - Reviews in Relativity has been appointed executive director of the CIM - (starting from 1 Sep 2001) and will be in charge of the project management - for Tasks 4.4 and 6.3 of the proposal. The CIM will be in an - excellent position to promote dissemination and use of the project results - within the Max Planck Society. It will further give technical support to - the Dissemination Manager in providing the MOWGLI website.

    - -

    Professor Wegner, Scientific Coordinator of EMIS (European - Mathematical Information Service), will also provide a main liaison with - previous and successful European Projects on digital libraries and - metadata, such as EULER - and the TRIAL Solution project (\verb+http://www.trial-solution.de+). - In particular, all the achievements of these Projects - will be integrated inside MOWGLI, as far as the respective teams - will agree to this. - Moreover, in his quality of Scientific Coordinator of EMIS, member - of the advisory board for MATHDI, and Chairman of the Electronic - Publishing Committee of European - Mathematical Society, Professor Wegner is an excellent candidate - to organise the information - dissemination and exploitation activities for the project.

    - -

    In particular, the Department of Computer Science of the University of - Nijmegen will apply MOWGLI's technologies to the development of - an ``electronic book'', covering a typical undergraduate course - in Algebra or Analysis. The Department of Computer Science in Nijmegen - has a lot of experience in formal mathematics and theorem proving. - Notably, the group has done large theory developments in the theorem - prover Coq. (The FTA - project: Eindhoven University of Technology, a sub-site of Nijmegen, - has expertise in OpenMath and in using WWW technology for educational - purposes. This has resulted -- among other things -- in - IDA, the - interactive course notes in algebra where a combination of HTML - and applets is used to present the mathematics. Jointly, Nijmegen and - Eindhoven have experience in combining theorem provers and computer - algebra packages, notably Coq and GAP.

    - -

    Trusted Logic (France), which is specialized in secure and - validated solutions for open systems, aims to present the - formalization and the demonstration of some security - properties related to the code embedded into a smart card. The presentation - must be in a format understandable by the company in charge of the - evaluation of the code and in accordance with the Common Criteria - standard.

    -

    A third pilot application is the semantic markup of the Journal - Living Reviews in Relativity published by AEI-Golm, - already mentioned above.

    - - diff --git a/helm/mowgli/home/xml/deliverables/deliverable.dtd b/helm/mowgli/home/xml/deliverables/deliverable.dtd deleted file mode 100644 index 74478b4f6..000000000 --- a/helm/mowgli/home/xml/deliverables/deliverable.dtd +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/helm/mowgli/home/xml/deliverables/distribution/d5a.xml b/helm/mowgli/home/xml/deliverables/distribution/d5a.xml deleted file mode 100644 index 9b0f05581..000000000 --- a/helm/mowgli/home/xml/deliverables/distribution/d5a.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Overall Architectural Design of the Distribution Model. - - - - - Month 18 - diff --git a/helm/mowgli/home/xml/deliverables/distribution/d5b.xml b/helm/mowgli/home/xml/deliverables/distribution/d5b.xml deleted file mode 100644 index d5292485d..000000000 --- a/helm/mowgli/home/xml/deliverables/distribution/d5b.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Advanced MOWGLI Prototype (distribution). - - - - - Month 24 - diff --git a/helm/mowgli/home/xml/deliverables/information-dissemination-and-exploitation/d7a.xml b/helm/mowgli/home/xml/deliverables/information-dissemination-and-exploitation/d7a.xml deleted file mode 100644 index 161a03903..000000000 --- a/helm/mowgli/home/xml/deliverables/information-dissemination-and-exploitation/d7a.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Dissemination and Use Plan. - - - - - Month 6 - diff --git a/helm/mowgli/home/xml/deliverables/information-dissemination-and-exploitation/d7b.xml b/helm/mowgli/home/xml/deliverables/information-dissemination-and-exploitation/d7b.xml deleted file mode 100644 index 859860173..000000000 --- a/helm/mowgli/home/xml/deliverables/information-dissemination-and-exploitation/d7b.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Technological Implementation Plan. - - - - - Month 30 - diff --git a/helm/mowgli/home/xml/deliverables/interfaces/d4a.xml b/helm/mowgli/home/xml/deliverables/interfaces/d4a.xml deleted file mode 100644 index 487905034..000000000 --- a/helm/mowgli/home/xml/deliverables/interfaces/d4a.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - MathML Rendering/Browsing engine. - - - - - Month 12 - diff --git a/helm/mowgli/home/xml/deliverables/interfaces/d4b.xml b/helm/mowgli/home/xml/deliverables/interfaces/d4b.xml deleted file mode 100644 index 4ae4bbf4a..000000000 --- a/helm/mowgli/home/xml/deliverables/interfaces/d4b.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - First MOWGLI Prototype (browsing, rendering and consultation). - - - - - Month 18 - diff --git a/helm/mowgli/home/xml/deliverables/interfaces/d4c.xml b/helm/mowgli/home/xml/deliverables/interfaces/d4c.xml deleted file mode 100644 index fa497112e..000000000 --- a/helm/mowgli/home/xml/deliverables/interfaces/d4c.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Prototype functionalities for assisted annotation. - - - - - Month 18 - diff --git a/helm/mowgli/home/xml/deliverables/interfaces/d4d.xml b/helm/mowgli/home/xml/deliverables/interfaces/d4d.xml deleted file mode 100644 index 60eca71a5..000000000 --- a/helm/mowgli/home/xml/deliverables/interfaces/d4d.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - LaTeX-based authoring tool (first prototype). - - - - - Month 18 - diff --git a/helm/mowgli/home/xml/deliverables/interfaces/d4e.xml b/helm/mowgli/home/xml/deliverables/interfaces/d4e.xml deleted file mode 100644 index 82c6ab9ca..000000000 --- a/helm/mowgli/home/xml/deliverables/interfaces/d4e.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Refined and extended protoype of the LaTeX-based authoring tool. - - - - - Month 24 - diff --git a/helm/mowgli/home/xml/deliverables/metadata/d3a.xml b/helm/mowgli/home/xml/deliverables/metadata/d3a.xml deleted file mode 100644 index a123da4fd..000000000 --- a/helm/mowgli/home/xml/deliverables/metadata/d3a.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Metadata for Mathematical Libraries. - - - - - Month 12 - diff --git a/helm/mowgli/home/xml/deliverables/metadata/d3b.xml b/helm/mowgli/home/xml/deliverables/metadata/d3b.xml deleted file mode 100644 index 5c95c276a..000000000 --- a/helm/mowgli/home/xml/deliverables/metadata/d3b.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Metadata Model. - - - - - Month 12 - diff --git a/helm/mowgli/home/xml/deliverables/project-management/d0a.xml b/helm/mowgli/home/xml/deliverables/project-management/d0a.xml deleted file mode 100644 index 5d633d3ea..000000000 --- a/helm/mowgli/home/xml/deliverables/project-management/d0a.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Self-Assesment parameters and criteria. - - - - - Month 6 - diff --git a/helm/mowgli/home/xml/deliverables/project-management/d0b.xml b/helm/mowgli/home/xml/deliverables/project-management/d0b.xml deleted file mode 100644 index 28deebd28..000000000 --- a/helm/mowgli/home/xml/deliverables/project-management/d0b.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - First Self-Assesment Report. - - - - - Month 12 - diff --git a/helm/mowgli/home/xml/deliverables/project-management/d0c.xml b/helm/mowgli/home/xml/deliverables/project-management/d0c.xml deleted file mode 100644 index da83343f8..000000000 --- a/helm/mowgli/home/xml/deliverables/project-management/d0c.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Second Self-Assesment Report. - - - - - Month 20 - diff --git a/helm/mowgli/home/xml/deliverables/project-management/d0d.xml b/helm/mowgli/home/xml/deliverables/project-management/d0d.xml deleted file mode 100644 index c7d0accd7..000000000 --- a/helm/mowgli/home/xml/deliverables/project-management/d0d.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Final Self-Assesment Report. - - - - - Month 30 - diff --git a/helm/mowgli/home/xml/deliverables/requirement-analysis/d1a.xml b/helm/mowgli/home/xml/deliverables/requirement-analysis/d1a.xml deleted file mode 100644 index 02d355d6a..000000000 --- a/helm/mowgli/home/xml/deliverables/requirement-analysis/d1a.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Preliminary Report on Application Scenarios and Requirement Analysis. - - - - - Month 3 - diff --git a/helm/mowgli/home/xml/deliverables/requirement-analysis/d1b.xml b/helm/mowgli/home/xml/deliverables/requirement-analysis/d1b.xml deleted file mode 100644 index 57e90cc90..000000000 --- a/helm/mowgli/home/xml/deliverables/requirement-analysis/d1b.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Structure and Meta-Structure of Mathematical Documents. - - - - - Month 6 - diff --git a/helm/mowgli/home/xml/deliverables/requirement-analysis/d1c.xml b/helm/mowgli/home/xml/deliverables/requirement-analysis/d1c.xml deleted file mode 100644 index b91a870a0..000000000 --- a/helm/mowgli/home/xml/deliverables/requirement-analysis/d1c.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Distributed Digital Libraries: development, archiving, retrieving. - - - - - Month 6 - diff --git a/helm/mowgli/home/xml/deliverables/testing-and-validation/d6a.xml b/helm/mowgli/home/xml/deliverables/testing-and-validation/d6a.xml deleted file mode 100644 index d2a60b7b5..000000000 --- a/helm/mowgli/home/xml/deliverables/testing-and-validation/d6a.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Validation 1: Education. - - - - - Month 30 - diff --git a/helm/mowgli/home/xml/deliverables/testing-and-validation/d6b.xml b/helm/mowgli/home/xml/deliverables/testing-and-validation/d6b.xml deleted file mode 100644 index fb8539bc0..000000000 --- a/helm/mowgli/home/xml/deliverables/testing-and-validation/d6b.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Validation 2: Smart Card Security - - - - - Month 30 - diff --git a/helm/mowgli/home/xml/deliverables/testing-and-validation/d6c.xml b/helm/mowgli/home/xml/deliverables/testing-and-validation/d6c.xml deleted file mode 100644 index 0a840000b..000000000 --- a/helm/mowgli/home/xml/deliverables/testing-and-validation/d6c.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Validation 3: Journal interface. - - - - - Month 30 - diff --git a/helm/mowgli/home/xml/deliverables/testing-and-validation/d6d.xml b/helm/mowgli/home/xml/deliverables/testing-and-validation/d6d.xml deleted file mode 100644 index 9980ac0b4..000000000 --- a/helm/mowgli/home/xml/deliverables/testing-and-validation/d6d.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Final MOWGLI Prototype. - - - - - Month 30 - diff --git a/helm/mowgli/home/xml/deliverables/transformation/d2a.xml b/helm/mowgli/home/xml/deliverables/transformation/d2a.xml deleted file mode 100644 index 6e127f365..000000000 --- a/helm/mowgli/home/xml/deliverables/transformation/d2a.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Exportation module. - - - - - Month 6 - diff --git a/helm/mowgli/home/xml/deliverables/transformation/d2b.xml b/helm/mowgli/home/xml/deliverables/transformation/d2b.xml deleted file mode 100644 index 05b68b1ec..000000000 --- a/helm/mowgli/home/xml/deliverables/transformation/d2b.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Document Type Descriptors. - - - - - Month 12 - diff --git a/helm/mowgli/home/xml/deliverables/transformation/d2c.xml b/helm/mowgli/home/xml/deliverables/transformation/d2c.xml deleted file mode 100644 index e911df572..000000000 --- a/helm/mowgli/home/xml/deliverables/transformation/d2c.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Stylesheets to intermediate representation (formulae). - - - - - Month 12 - diff --git a/helm/mowgli/home/xml/deliverables/transformation/d2d.xml b/helm/mowgli/home/xml/deliverables/transformation/d2d.xml deleted file mode 100644 index c6884fb8b..000000000 --- a/helm/mowgli/home/xml/deliverables/transformation/d2d.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Stylesheets to intermediate representation (proofs). - - - - - Month 12 - diff --git a/helm/mowgli/home/xml/deliverables/transformation/d2e.xml b/helm/mowgli/home/xml/deliverables/transformation/d2e.xml deleted file mode 100644 index 32aacc881..000000000 --- a/helm/mowgli/home/xml/deliverables/transformation/d2e.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Presentational Stylesheets (formulae). - - - - - Month 18 - diff --git a/helm/mowgli/home/xml/deliverables/transformation/d2f.xml b/helm/mowgli/home/xml/deliverables/transformation/d2f.xml deleted file mode 100644 index 5ee0a5fad..000000000 --- a/helm/mowgli/home/xml/deliverables/transformation/d2f.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Presentational Stylesheets (proofs). - - - - - Month 18 - diff --git a/helm/mowgli/home/xml/deliverables/transformation/d2g.xml b/helm/mowgli/home/xml/deliverables/transformation/d2g.xml deleted file mode 100644 index 48f47c9b7..000000000 --- a/helm/mowgli/home/xml/deliverables/transformation/d2g.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Tools for automatic extraction of Metadata. - - - - - Month 18 - diff --git a/helm/mowgli/home/xml/home.xml b/helm/mowgli/home/xml/home.xml deleted file mode 100644 index 52419613f..000000000 --- a/helm/mowgli/home/xml/home.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - MoWGLI Home Page - - - -
    - - - - - - -
    - MoWGLI Logo - - IST Logo -
    - -
    - - - - - - - - - - -
    - -

    Abstract

    - -

    The World Wide Web is already the largest resource of mathematical - knowledge, and its importance will be exponentiated by emerging display - technologies like - MathML. - However, almost all mathematical documents - available on the Web are marked up only for presentation, severely - crippling the potentialities for automation, interoperability, - sophisticated searching mechanisms, intelligent applications, - transformation and processing. The goal of the project is to overcome - these limitations, passing from a machine-readable to a - machine-understandable representation of the information, and developing - the technological infrastructure for its exploitation. MoWGLI builds on - previous standards for the management and publishing of mathematical - documents (MathML, - OpenMath, - OMDoc), - integrating them with different - XML technologies - (XSLT, - RDF, etc).

    - -
    - -

    For further description see - Project - in the Project Menu.

    - -
    -      - - -
    - - - - -
    - -
    - -
    - - - - diff --git a/helm/mowgli/home/xml/members-index.xml b/helm/mowgli/home/xml/members-index.xml deleted file mode 100644 index 05575dfa4..000000000 --- a/helm/mowgli/home/xml/members-index.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - Members Area - - -

    Members Area

    - - This page has restricted access, so that members of the project only - can access its content. - -

    Summary

    - - - -
    - -

    Mailing Lists

    - - These are mailing list provided for discussion and development on - the MoWGLI project. Note that all mailing list administrativia MUST - be sent to a *-request address, never to the list itself. - For mowgli-dev@cs.unibo.it, for example, send mailing list - requests to mowgli-dev-request@cs.unibo.it. Mail sent to the - *-request address must have a command word in the subject - header. To get information about the mailing list, use the - help command (here is an example of a possible - answer to a help request). - -
    -
    - mowgli-dev (Info and Subscription, - Archive) -
    -
    - General development issues of the project -
    -
    - mowgli-adm (Info and Subscription, - Archive) -
    -
    - Administrative issues -
    -
    - -
    - -

    The Proposal

    - -

    The proposal in PostScript - and PDF. The - proposal sources (in - LaTeX) and the Excel forms - are also available.

    - -
    - -

    The Contract

    - -

    The contract in - PDF. See also - the first annex - (that is just a copy of the proposal), - the second - annex, - the third annex, - the fourth - annex and the - Electra Sheet - (compressed using winzip; to be opened using Excel).

    - -
    - -

    Reports of the Meetings

    - -

    Reports are available for the following meetings:

    - - - diff --git a/helm/mowgli/home/xml/members/kick-off.xml b/helm/mowgli/home/xml/members/kick-off.xml deleted file mode 100644 index 2b8028f01..000000000 --- a/helm/mowgli/home/xml/members/kick-off.xml +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - -]> - - - the Kick-Off - - - - - - - - - - - - - - - - - - - A comparison of the aims and approaches of HELM and OpenMath. - - - - - - Presentation of the work of Sophia-Antipolis: Project Lemme; - PCoq (an interface to the Coq system based on Aioli [for tree management], - PPML [a sort of stylesheet language] and Figue [rendering engine]). - - - - - - Presentation of the work of Rocquencourt: Coq (proof assistant) and its - problems: -
      -
    • Classification of theories: -
        -
      • Actually based only on the affiliation of the author.
      • -
      • We should have classifications based on subject, theme, author, etc.
      • -
      -
    • -
    • Retrieving: -
        -
      • By pattern. Problem: the patterns (n < m+1) and (n <= m) are - differents but denote the same thing.
      • -
      • By isomorphisms. Problem: we can capture just a few of them.
      • -
      -
    • -
    • Proof Rendering in Natural Language: still too many detailed. - Views at different levels of detail can probably help. -
    • -
    • Modularity
    • -
    -
    -
    - - - - Presentation of the work of Nijmegen; why Nijmegen is interested in MOWGLI; - planned contributions to MOWGLI. - - - - - Presentation of the projects in which he is envolved or that he is - coordinating; interest in metadata; problems related to having papers - in electronic form. His main contribution will be providing links to - mathematicians. - - - - - - Presentation of the work done at the Max Planck Institute for Gravitational - Physics; presentation of Living Reviews in Relativity and expectations - from MOWGLI (i.e. searching, rendering, interoperability). He points out - how Living Reviews in Relativity already provide a notion of versioning; - how hyperlinks are managed (often opening pop-ups). He finally presents - some data that show that on-line browsing of papers really happens. - - - - - Presentation of the work done at Trusted Logic. Brief introduction to - the Common Criteria Software: lot of documentation must be produced for - third (and fourth!) parties evaluation; formal evaluation is one goal - (not yet reached). The main problems Trusted Logic meets are: -
      -
    • Presentation
    • -
    • Managing thousands of definitions/theorems and links between them
    • -
    • Evaluators needs: hiding/displaying information; different views on the - same proofs/definitions; metadata; backpointers (which lemmas are - used in a theorem)
    • -
    • Interoperability with other software tools
    • -
    • Proofs mantainance
    • -
    - A final remark is that Trusted Logic is just interested in provability - (and proof-scripts) and not in proofs (i.e. lambda-terms or natural - language description of them). -
    -
    - - - about the "Usability of MBase for MOWGLI" - - - - Presentation of the work done at DFKI. Contributions to MOWGLI: OMDoc - (to encode mathematical documents) and/or MBase (to distribute mathematical - documents) and metadata. - - - - Whenever someone is going to make a talk, he must report this to him. - - - To reach an agreement on the consortium agreement, Trusted Logic will - send a completely filled-in, light version of the agreement to everybody. - If the agreement will not satisfy everybody up to minor modifications, - we will go for the heavy proposal. - - - The members of the PCC are responsible to communicate the name of the - site responsible for every WP. - - - There will be two mailing lists. The first one (for everybody) is - the one already created. The second one will be an administrative - mailing list. - - - All the meetings have already been scheduled: the first one will be held - in Nijmegen from the 17th to the 19th of July. The others will be - in Bertinoro (just after MKM03), Sophia (October 2003), Saarbrucken - and Paris. - - - It will be simpler to have PCC meetings by phones. - - - During the plenary meetings, sub-meetings will be organized to discuss - technical details. - - - Every Package Leader must submit a contribution to the deliverable 0.a. - - - It is better to use a task-force of external experts to comment on - deliverable 1.a. - - - The set of requirements must be ordered by importance (useful if some of - them are not fulfilled). - - - A long discussion on the topic of deliverable 1.c showed that there is - some mismatch in the vocabulary of the participants. - - - The choice between MathML and OpenMath is quite difficult, because - there are really no strong pro and cons in favor or against any of them. - - - Maybe not having browsers supporting MathML is not a huge problem. - -
    diff --git a/helm/mowgli/home/xml/menu.xml b/helm/mowgli/home/xml/menu.xml deleted file mode 100644 index 60431f45e..000000000 --- a/helm/mowgli/home/xml/menu.xml +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - MoWGLI Menu - - - - - - - - - - -
    -
    - -
    -
    - - - - diff --git a/helm/mowgli/home/xml/mowgli-events.xml b/helm/mowgli/home/xml/mowgli-events.xml deleted file mode 100644 index ff36320e9..000000000 --- a/helm/mowgli/home/xml/mowgli-events.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - -]> - - - - MOWGLI Kick-Off - mowgli-events/kick-off.html - Max Planck Institute for Gravitational Physics / Albert Einstein Institute in Golm near Potsdam. - - 20020315 - 20020315 - - - diff --git a/helm/mowgli/home/xml/mowgli-events/kick-off.xml b/helm/mowgli/home/xml/mowgli-events/kick-off.xml deleted file mode 100644 index ac562787d..000000000 --- a/helm/mowgli/home/xml/mowgli-events/kick-off.xml +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - - MOWGLI Kick-Off - - -

    MOWGLI Kick-Off

    -

    VENUE

    -

    The meeting will be held on Friday, 15 March 2002 at the - Max Planck - Institute for Gravitational Physics / Albert Einstein Institute - in Golm near Potsdam. The institute can - be easily reached from Berlin via public transport or car. Please check - our institute's - homepage for maps and information how to reach the institute from - several destinations in Berlin.

    - -

    ACCOMODATION

    -

    Accomodation can be arranged in a hotel nearby, within walking distance - from the institute (singles 62 Euro, doubles 86 Euro). Since the - reservation needs to be made very soon, please let me know how many - people are attending from your node, indicating day of arrival and day - of departure. A copy of this message should be sent to - Mrs. Ute - Schlichting, who is taking care of the - reservations. However, if you prefer to organize a stay in Berlin, you - may want to refer to one of the following links

    - - - -

    AGENDA & SOCIAL EVENTS

    -

    This is the current tentative agenda:

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    9:25-9:30Welcome.
    9:30-11:00Short presentation of the partners (15 m. each).
    11:00-11:30Coffee break.
    11:30-11:40Consortium Agreement.
    11:40-12:10Project Roles and Bodies.
    12:10-12:30Scheduling and location of the meetings.
        
    12:30-14:00Lunch.
        
    14:00-15:30Deliverables for the first six months.
    15:30-16:00Coffee break
    16:00-17:00MOWGLI web site (demo and discussion)
    -

    This is a brief explanation of some of the topics we should discuss:

    -
      -
    • short presentation of the partners - (15 m. each).
    • -
    • Consortium Agreement. - I will send you a draft asap, and we may - discuss possible amendments by email; it would be nice to have it - signed for the kick-off. - This point should take almost no time, unless there are major - issue - e.g on copyrights or background proprietary technologies - which have not been solved by email)
    • -
    • Project Roles and Bodies. - We should define -
        -
      1. Roles: -
          -
        • Project Manager (that should be Prof. Andrea Asperti)
        • -
        • Eploitation and Dissemination Manager (that should be Bernd)
        • -
        • Work-package leaders (the leader should belong to the site - responsible of the Work-package)
        • -
        -
      2. -
      3. Bodies: -
          -
        • Project Coordination Committee (PCC) one for each site + the - Project Manager (and the EDM ?)
        • -
        • Project Dissemination Board - one for each site + the EDM (and the PM?)
        • -
        • Workpackage teams (even for WP0)
        • -
        -
      4. -
      - We can fix all the roles by email, if you agree. We shall set - up specialized mailing lists for each body (if required). - Of course the roles may largely overlap, but in any case we need - people who can promtly react. You may already start sending me the - relevant information (comprising email, telephone, etc.).
    • -
    • Scheduling and location of the first - and the second meeting. - The second meeting (and annual review) should be in Bologna - from February 19 to February 20 (just after MKM 2003). - Since KUN is responsible for WP1, I would suggest to do the - first meeting in Nijmegen (july/august)
    • -
    • Deliverables for the first six - months. - We have three kinds of deliverables: -
        -
      1. Technical: - 1.a, 1.b, 1.c, 2.a (1.3 should be ready at month 3).
        - - The only software here is the exportation module 2.a (that will - require some joint effort between Bologna and Rocquencourt and - a sufficiently stable version of COQ). This is a point to be - discussed in the kick-off.
      2. -
      3. Managemant: - 0.a (self assesment parameters and criteria)
      4. -
      5. Dissemination: - 7.a (Dissemination and use plan).
      6. -
      - I would expect each site responsible for the deliverable suggest - a procedure and a precise scheduling for collecting material, - distributing the work and preparing the draft. - The draft should be ready some time (15 days?) before the deadline, - to get approval by the PCC. - We should also probably agree on the format of these deliverables - (e.g. LaTeX). - - Any other technical issue relative to the preparation of these - deliverables should be discussed during the Kick-off.
    • -
    • MOWGLI web site. - We are setting up the MOWGLI web site and a CVS repository. - We plan to have a first prototype for the kick-off, and we may discuss - its design and functionalities there. We could possibly need a few - administrative document to grant you an access to the CVS repository - (we have to check).
    • -
    - -

    TECHNICAL FACILITIES

    -

    Full network access is provided, as well as the usual presentation - facilities (Video Projector, Overhead projector).

    - -
    - -

    For further informations on the organization, please contact - Christina Weyher.
    - For further informations on the agenda, please contact - Prof. Andrea Asperti.

    - - diff --git a/helm/mowgli/home/xml/mowgli-xhtml1-transitional.dtd b/helm/mowgli/home/xml/mowgli-xhtml1-transitional.dtd deleted file mode 100644 index 82fc78c9c..000000000 --- a/helm/mowgli/home/xml/mowgli-xhtml1-transitional.dtd +++ /dev/null @@ -1,1223 +0,0 @@ - - - - - - - -%HTMLlat1; - - -%HTMLsymbol; - - -%HTMLspecial; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/mowgli/home/xml/news.xml b/helm/mowgli/home/xml/news.xml deleted file mode 100644 index 0eb677a48..000000000 --- a/helm/mowgli/home/xml/news.xml +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - - - - - - - -]> - - - - 20020320 - - New: the - administrative mailing list has been set up - (members only). - - - - - - 20020320 - - The MOWGLI Kick-Off was held in Golm the 15th of March. - MOWGLI members can find a - report of the - meeting in the members area. - - - - - - 20020311 - - Paul Libbrecht - contributes a much improved PDF file for the MOWGLI proposal in the - member area. - - - - - - 20020306 - - The agenda of the - MOWGLI Kick-Off meeting - has been detailed. - - - - - - 20020226 - - The site is now available in two versions: with and without - frames. Please, try - the one - without frames and give us some feedback. - - - - - - 20020222 - - The MOWGLI Kick-Off is approaching. Find out more - informations under MOWGLI Events. - - - - - - 20020222 - - MOWGLI Web Site announced. MKM03 added to events. - - - - - - 20020214 -
    Valentine's Day
    - - New fancy colours, improved layout, especially for I.E. (bleah), main page - generated automatically. - - -
    - - - 20020212 - - Site moved into CVS. XSLT stylesheets are used to generate - HTML pages from XML sources. - - - - - - 20020119 - - First Web pages created. - - - - -
    - diff --git a/helm/mowgli/home/xml/other-events.xml b/helm/mowgli/home/xml/other-events.xml deleted file mode 100644 index efc407084..000000000 --- a/helm/mowgli/home/xml/other-events.xml +++ /dev/null @@ -1,370 +0,0 @@ - - - - - - - - - - - - - - -]> - - - - 6th European Conference on Research and Advanced Technology for - Digital Libraries (ECDL2002) - http://www.ecdl2002.org - Rome, Italy - - 20020916 - 20020918 - - - Deadline for ALL the proposals - 20020501 - - - Notification of acceptance for tutorials and workshops - 20020515 - - - Notification of acceptance for papers, panels and posters - 20020615 - - - Camera ready papers due - 20020701 - - - - Sixth International Conference on Typed Lambda Calculi and Applications (TLCA '03) - http://www.tcs.informatik.uni-muenchen.de/~mhofmann/tlca03cfp.html - Valencia, Spain - - ???? - ???? - - - Papers due - 20021129 - - - Notification of acceptance - 20030130 - - - Full papers due - 20030315 - - - - - Third International Workshop on Logical Frameworks and - Meta-Languages - http://www.cs.cmu.edu/~lfm02 - A FLoC'02 affiliated workshop - Copenhagen, Denmark - - 20020726 - 20020726 - - - Papers due - 20020415 - - - Notification of acceptance - 20020513 - - - Full papers due - 20020603 - - - - - Internet Accessible Mathematical Computation - http://www.SymbolicNet.org/conferences/iamc02 - a Workshop at ISSAC 2002 - Lille, France - - 20020707 - 20020707 - - - Abstract due - 20020512 - - - Notification of acceptance - 20020527 - - - Description of the software required for demos due. - 20020610 - - - Full papers due - 20020627 - - - - - Calculemus 2002 - http://www.ags.uni-sb.de/~calculemus2002/ - 10th Symposium on the Integration of Symbolic Computation and - Mechanized Reasoning - Marseille, France - - 20020701 - 20020715 - - - Papers due - 20020308 - - - Notification of acceptance - 20020402 - - - Camera-ready papers due - 20020419 - - - - - MKM 2001 - http://www.risc.uni-linz.ac.at/institute/conferences/MKM2001 - First International Workshop on Mathematical Knowledge - Management. Special Issue for Annals of Mathematics and Artificial - Intelligence to appear in Fall 2002 - RISC, A-4232 Schloss Hagenberg - - 20010924 - 20010926 - - - Notification of acceptance for the special issue on - Annals of Mathematics and Artificial Intelligence. - 20020228 - - - Final version of papers for the special issue. - 20020531 - - - - - International Congress of Mathematical Software 2002 - http://www.mathsoftware.org - Satellite conference of ICM. - Beijing - - 20020817 - 20020819 - - - Papers due - 20020215 - - - Notification of acceptance for papers - 20020331 - - - Camera-ready due - 20020515 - - - - - Find and Post Mathematics in the Web - http://icms.math.tsinghua.edu.cn - A workshop on Electronic Information and Communication in Mathematics. Satellite conference of ICM. - Beijing - - 20020829 - 20020831 - - - Abstracts due - 20020331 - - - - - MathML 2002 - http://www.mathmlconference.org - Chicago - - 20020628 - 20020630 - - - Abstracts for papers and panel proposals due - 20020218 - - - Notification of acceptance for papers and panels - 20020311 - - - Poster abstracts and demo proposals due - 20020315 - - - Notification of acceptance for posters and demos - 20020329 - - - Last day for early registration - 20020517 - - - Deadline for full papers for JSC special issue - 20020626 - - - - - 6th International Conference on Electronic Publishing (ELPUB 2002) - http://www.tu-chemnitz.de/elpub02/ - Karlovy Vary, Czech Republic - - 20021106 - 20021109 - - - Abstracts due - 20020215 - - - Full papers due - 20020628 - - - - - TPHOLS 2002 - http://shemesh.larc.nasa.gov/tphols2002 - Hampton (Virginia) - - 20020820 - 20020823 - - - Category A papers due - 20020222 - - - Category A notification of acceptance - 20020422 - - - Category B papers due - 20020517 - - - Category A camera-ready copy due - 20020524 - - - Category B notification of acceptance - 20020617 - - - Category B camera-ready copy due - 20020705 - - - - WWW-2002: Semantic Web Workshop - http://semanticweb2002.aifb.uni-karlsruhe.de - Workshop associated to WWW2002 - Hawaii - - 20020507 - 20020507 - - - Paper submission - 20020301 - - - Notification of acceptance - 20020401 - - - Deadline for final contributions - 20020415 - - - - Extreme 2002 - http://www.extrememarkup.com - Montreal Canada - - 20020806 - 20020809 - - - Paper Submission - 20020403 - - - Speakers Notified - 20020513 - - - Revised Papers Due - 20020611 - - - - 35 Years of Automath - http://www.cee.hw.ac.uk/~fairouz/automath2002/ - Edinburgh - - 20020410 - 20020413 - - - Submission deadline of papers in special issue of an international journal. - 20020510 - - - Submission deadline of special edited book celebrating de Bruijn's 85th anniversary. - 20020710 - - - - - Second International Conference on Mathematical Knowledge Management (MKM 2003) - http://www.cs.unibo.it/MKM03 - Bertinoro (IT) - - 20030216 - 20030218 - - - Papers due - 20020901 - - - Notification - 20021101 - - - Camera-ready due - 20021122 - - - diff --git a/helm/mowgli/home/xml/people/aei/kelley.xml b/helm/mowgli/home/xml/people/aei/kelley.xml deleted file mode 100644 index 7312782d0..000000000 --- a/helm/mowgli/home/xml/people/aei/kelley.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - Ian - Kelley - Programmer - ikelley@aei-potsdam.mpg.de - diff --git a/helm/mowgli/home/xml/people/aei/pollney.xml b/helm/mowgli/home/xml/people/aei/pollney.xml deleted file mode 100644 index 76a8ef15e..000000000 --- a/helm/mowgli/home/xml/people/aei/pollney.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - Dennis - Pollney - Dr. - pollney@aei-potsdam.mpg.de - http://www.aei.mpg.de/cgi-bin/interface/people.cgi?key=pollney -
    - Max-Planck-Institut für Gravitationsphysik, - Albert-Einstein-Institut, - Am Mühlenberg 1, - 14476 Golm -
    - +49 (331) 567-7367 - +49 (331) 567-7298 -
    diff --git a/helm/mowgli/home/xml/people/aei/schutz.xml b/helm/mowgli/home/xml/people/aei/schutz.xml deleted file mode 100644 index 5cd0fb97d..000000000 --- a/helm/mowgli/home/xml/people/aei/schutz.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - Bernard F. - Schutz - Prof. - Institute Director - Editor-in-Chief - Member of the Project Coordination Committee - of the European IST project MOWGLI - schutz@aei-potsdam.mpg.de - http://www.aei-potsdam.mpg.de/cgi-bin/interface/people.cgi?key=schutz - -

    Prof. Bernard Schutz (born in 1946 in the USA) is director of the Max - Planck Institute for Gravitational Physics (Albert Einstein Institute), - heading the Astrophysical Relativity Division of the Institute, and - Professor at Cardiff University. In acknowledgement of pioneering - scientific work in gravitational physics he has been elected Fellow of - the American Physical Society. He invented the ``Living Reviews'' concept - in 1996 and acts as the journal's Editor-in-chief. Bernard Schutz has - served on the Editorial Board of Classical and Quantum Gravity between - 1988 and 1990, and since 1998 is member of the Editorial Board of the - monograph series Studies In High Energy Physics, Cosmology and Gravitation - (Institute of Physics Publishing, Bristol, UK).

    -
    - - - - -
    diff --git a/helm/mowgli/home/xml/people/aei/velden.xml b/helm/mowgli/home/xml/people/aei/velden.xml deleted file mode 100644 index 7198c480d..000000000 --- a/helm/mowgli/home/xml/people/aei/velden.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - Theresa - Velden - Executive Director, CIM - velden@zim.mpg.de - http://www.zim.mpg.de -
    Heinz Nixdorf Zentrum fuer - Informationsmanagement in der - Max-Planck-Gesellschaft (ZIM) - Boltzmannstrasse 2/ITER Gebaeude - D- 85748 Garching
    - +49(0)89-3299-1550 - +49(0)89-3299-1555 - -

    Theresa Velden (born in 1970 in Germany) graduated in Physics - from Bielefeld University in 1997 after having completed a diploma - thesis on Mathematical Relativity at the Max Planck Institute - for Gravitational Physics. Since 1998 she has been leading the - editorial team of Living Reviews in Relativity as Managing - Editor, organizing the editorial process and supervising the - development of software for electronic publishing and journal - management.

    -

    In September 2001 she moved to the Max - Planck Society's new Heinz Nixdorf Center for Information Management, - where she is acting as executive director.

    -
    -
    diff --git a/helm/mowgli/home/xml/people/aei/wegner.xml b/helm/mowgli/home/xml/people/aei/wegner.xml deleted file mode 100644 index e9c7fa868..000000000 --- a/helm/mowgli/home/xml/people/aei/wegner.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - Bernd - Wegner - Prof. - Full Professor of Mathematics - Editor-in-chief of Zentralblatt MATH, the most comprehensive - literature information service in mathematics, with Web access under - EMIS - Member of the advisory board for MATHDI, an information data base on - education in mathematics - Scientific Coordinator of EMIS, the European Mathematical - Information Service, providing a mathematics portal with an electronic - library as the main conten - Leader of the TU-group for the EULER-project, which has developed a - prototype for an integrated access to Web-based mathematical documents, - funded by Telematics for Libraries, and supported by a small TAKEUP-project - for the transition to a regular Web service - Scientific Director of the LIMES-project (Large Infrastructures in - Mathematics - Enhanced Services) which is designed to transform Zentralblatt - MATH into European cooperation with Web-based input structures, funded by the - Fifth Framework Programme - Director of the ERAM-project (Electronic Research Archive in - Mathematics),funded by Deutsche Forschungsgemeinschaft and designed to build - up a digital archive of classical mathematics, capturing the Jahrbuch ueber - die Fortschritte in database as a pre-Zentalblatt access facility to the - archive - Chairman of the Electronic Publishing Committee of EMS (European - Mathematical Society) - member of the Database Committee of the EMS - associated with project Euclid (Cornell University, Ithaka, U.S.A.), - establishing a non-profit (electronic) publication facility for - mathematics - member of the board of IWI (Institute for Scientific Information in - Osnabrueck) - Exploitation Manager of the European IST Project MOWGLI - wegner@math.TU-Berlin.DE - http://www.zblmath.fiz-karlsruhe.de/people/wegner.html - -

    He has participated with one or more talks at about 20 events on electronic - information and communication in 2000, including continental congresses in - Lisbon, Barcelona, Rio de Janeiro, Havanna, Moscow, and Manila. He has been - elected as member of the scientific committee for several conferences on - the subject in 2001: (Crimea, Athens, Coimbra, Linz, Guatemala City) and - received invitations for plenary lectures at additional conferences.

    -

    These activities give an excellent background to organise the information - dissemination and exploitation activities for the project.

    -
    -
    diff --git a/helm/mowgli/home/xml/people/aei/weyher.xml b/helm/mowgli/home/xml/people/aei/weyher.xml deleted file mode 100644 index 51cc00c41..000000000 --- a/helm/mowgli/home/xml/people/aei/weyher.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - Christina - Weyher - weyher@aei-potsdam.mpg.de - http://www.aei.mpg.de/cgi-bin/interface/people.cgi?key=weyher -
    - Max-Planck-Institut für Gravitationsphysik, - Albert-Einstein-Institut, - Am Mühlenberg 1, - 14476 Golm -
    - +49 (331) 567-7441 - +49 (331) 567-7449 -
    diff --git a/helm/mowgli/home/xml/people/bologna/asperti.xml b/helm/mowgli/home/xml/people/bologna/asperti.xml deleted file mode 100644 index a4540b78b..000000000 --- a/helm/mowgli/home/xml/people/bologna/asperti.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - Andrea - Asperti - Prof. - Full Professor of Formal Languages and Compilers - Member of the Advisory Committee of the World Wide Web - Former Director of the Undergraduate Program in Computer Science - of the University of Bologna - Responsible of the Bologna site for the European TMR Project - LINEAR - Former Responsible of the Bologna site for the WG-21836 - CONFER-II - Main Responsible for the Nation Research Project Linear Logic and - beyond - Project Manager of the European IST Project MOWGLI - asperti@cs.unibo.it - http://www.cs.unibo.it/~asperti -
    Dipartimento di Scienze dell'Informazione, Mura Anteo Zamboni 7, Bologna, Italy
    - +39 51 35 45 05 - -

    Andrea Asperti was born in Italy, in 1961. He was awarded a Ph.D in - Computer Science by the University of Pisa in 1989. In the same year - he obtained a post-doc position at INRIA-Rocquencourt, where he was - employed as a researcher in 1991. In 1992 he obtained the chair - of Formal Languages and Compilers at the Department of - Computer Science of the University of Bologna, becoming - Full Professor in year 2000. - He is currently teaching courses on Programming Languages, - Theoretical Computer Science and Human-Computer Interaction.

    -
    - -

    The research interests of Andrea Asperti are focused on forms, - formats and methods of knowledge representation and elaboration. - This covers Markup Languages, Information Processing, - Programming Languages, Interpreters and - Compilers, Type Systems, Higher-order Logics, Linear Logic, Category - Theory. He is author of over 40 international publications on formal - aspects of the theory of Computing, and several books.

    -

    He has been member of the Programme Committees of several - International Conferences, comprising CONCUR'98, RTA'99, - LICS'99, PPDP'00, CSL'01, MKM'01 (First International Workshop - on Mathematical Knowledge Management).

    -

    His recent scientific activity has been mostly focused on the - HELM Project, aimed to build the technological infrastructure - for an Hypertextual Electronic Library of Mathematics.

    -
    - - - - - -
    diff --git a/helm/mowgli/home/xml/people/bologna/guidi.xml b/helm/mowgli/home/xml/people/bologna/guidi.xml deleted file mode 100644 index a40864b1c..000000000 --- a/helm/mowgli/home/xml/people/bologna/guidi.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - Ferruccio - Guidi - Ph.D. Student - fguidi@cs.unibo.it - http://www.cs.unibo.it/~fguidi -
    Dipartimento di Scienze dell'Informazione, Mura Anteo Zamboni 7, Bologna, Italy
    - +39 51 20 94 871 - - - - -
    diff --git a/helm/mowgli/home/xml/people/bologna/padovani.xml b/helm/mowgli/home/xml/people/bologna/padovani.xml deleted file mode 100644 index 6d88775a4..000000000 --- a/helm/mowgli/home/xml/people/bologna/padovani.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - Luca - Padovani - Ph.D. Student - Member of Math-WG - lpadovan@cs.unibo.it - http://www.cs.unibo.it/~lpadovan -
    Dipartimento di Scienze dell'Informazione, Mura Anteo Zamboni 7, Bologna, Italy
    - +39 51 20 94 871 - - - - -
    diff --git a/helm/mowgli/home/xml/people/bologna/sacerdoti.xml b/helm/mowgli/home/xml/people/bologna/sacerdoti.xml deleted file mode 100644 index 7578030e4..000000000 --- a/helm/mowgli/home/xml/people/bologna/sacerdoti.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - Claudio - Sacerdoti Coen - Ph.D. Student - Leader of the ``Transformation'' Work-Package of the European - IST project MOWGLI - sacerdot@cs.unibo.it - http://www.cs.unibo.it/~sacerdot -
    Dipartimento di Scienze dell'Informazione, Mura Anteo Zamboni 7, Bologna, Italy
    - +39 51 20 94 871 - - - - -
    diff --git a/helm/mowgli/home/xml/people/bologna/schena.xml b/helm/mowgli/home/xml/people/bologna/schena.xml deleted file mode 100644 index fffe79654..000000000 --- a/helm/mowgli/home/xml/people/bologna/schena.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - Irene - Schena - Ph. Doctor in Computer Science - Member of Math-WG - schena@cs.unibo.it - http://www.cs.unibo.it/~schena -
    Dipartimento di Scienze dell'Informazione, Mura Anteo Zamboni 7, Bologna, Italy
    - +39 51 20 94 871 - - - - -
    diff --git a/helm/mowgli/home/xml/people/dfki/goguadze.xml b/helm/mowgli/home/xml/people/dfki/goguadze.xml deleted file mode 100644 index 67d135ed9..000000000 --- a/helm/mowgli/home/xml/people/dfki/goguadze.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - George - Goguadze - Ph.D. Student - george@activemath.org - http://www.activemath.org/~george/ -
    - Faculty of Computer Science, - University of Saarland, - Im.Stadwald 36.1, - 66123, Saarbruecken, - Germany -
    - +-49 (681) 302 5322 -
    diff --git a/helm/mowgli/home/xml/people/dfki/kohlhase.xml b/helm/mowgli/home/xml/people/dfki/kohlhase.xml deleted file mode 100644 index 7544fc839..000000000 --- a/helm/mowgli/home/xml/people/dfki/kohlhase.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - Michael - Kohlhase - Dr. - kohlhase@cs.cmu.edu - http://www.ags.uni-sb.de/~kohlhase/ - diff --git a/helm/mowgli/home/xml/people/dfki/libbrecht.xml b/helm/mowgli/home/xml/people/dfki/libbrecht.xml deleted file mode 100644 index ab886a013..000000000 --- a/helm/mowgli/home/xml/people/dfki/libbrecht.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - Paul - Libbrecht - Ph.D. Student - paul@activemath.org - http://www.activemath.org/~paul/ -
    AG Siekmann, DFKI, Stuhlsatzenhausweg 3, 66123 Saarbrücken, - Germany
    - +49 681 302 4628 - +49 681 302 5076 -
    diff --git a/helm/mowgli/home/xml/people/dfki/melis.xml b/helm/mowgli/home/xml/people/dfki/melis.xml deleted file mode 100644 index 849a256d9..000000000 --- a/helm/mowgli/home/xml/people/dfki/melis.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - Erica - Melis - PD. Dr. - Senior Researcher at the German Research Center for Artificial - Intelligence (DFKI GmbH) - melis@dfki.de - http://www.ags.uni-sb.de/~melis - -

    Erica Melis is a Senior Researcher at the German - Research Center for Artificial Intelligence (DFKI GmbH). She was a - research scientist at the School of Computer Science of Carnegie Mellon - University and at the Department of AI at the University of Edinburgh. - Later she has been an Assistant Professor at the University of Saarland - and is member of a Sonderforschungsbereich in Saarbruecken. She served on - numerous programme committees. Erica Melis is the editor of proceedings - and the co/author of numerous scientific papers in journals, conferences, - and collections in areas such as deduction, planning, case-based - reasoning, intelligent tutor systems.

    -

    Currently, her research interests focus proof planning and on the - application of Artificial Intelligence technology in intelligent learning - environments.

    -

    She is a member of AAAI and GI.

    -
    -
    diff --git a/helm/mowgli/home/xml/people/dfki/moschner.xml b/helm/mowgli/home/xml/people/dfki/moschner.xml deleted file mode 100644 index 279da187f..000000000 --- a/helm/mowgli/home/xml/people/dfki/moschner.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - Markus - Moschner - Dr. - Member of the Project Exploitation Board - of the European IST project MOWGLI - moschm@ags.uni-sb.de -
    - Dept. Computer Science, - Saarland University, - Im Stadtwald, - PF 151 150, - D-66041 Saarbruecken -
    - +49 0681/302/5003 - +49 0681/302/5076 -
    diff --git a/helm/mowgli/home/xml/people/dfki/siekmann.xml b/helm/mowgli/home/xml/people/dfki/siekmann.xml deleted file mode 100644 index de5918435..000000000 --- a/helm/mowgli/home/xml/people/dfki/siekmann.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - Joerg - Siekmann - Prof. - Professor of Computer Science - Director of the Deduction and Multiagent Systems research - department at the DFKI - Joerg.Siekmann@dfki.de - http://www.dfki.de/~siekmann - -

    Prof. Dr. Joerg Siekmann is Professor of Computer - Science and Director of the Deduction and Multiagent Systems research - department at the DFKI. He studied at the University of Goettingen - (Mathematics and Physics, 1972) and the University of Essex (M.Sc. in - Computer Science, 1973, and Ph.D. in Computer Science, 1976). From 1976 - to 1983 he was a research assistant at the University of Karlsruhe. - From 1983 to 1991 he was Professor of Computer Science at the University - of Kaiserslautern and since 1991 he has a joint position as professor for - Computer Science at the Universitaet des Saarlandes and as one of the - directors at the DFKI. He has published widely in AI, Automated Reasoning - and Unification Theory and served on many programme committees and was - programme chairman of various conferences (such as CADE, KI etc.). He is - editor of several logic and AI oriented scientific journals (such - as Journal of Automated Reasoning, Journal of Artificial Intelligence, - Journal of Logic and Computation etc). His biography is included - in most international Whos Who, as one of the founders of AI in - Germany.

    -
    -
    diff --git a/helm/mowgli/home/xml/people/index.xml b/helm/mowgli/home/xml/people/index.xml deleted file mode 100644 index adc800cb4..000000000 --- a/helm/mowgli/home/xml/people/index.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/mowgli/home/xml/people/inria/amerkad.xml b/helm/mowgli/home/xml/people/inria/amerkad.xml deleted file mode 100644 index 462e43266..000000000 --- a/helm/mowgli/home/xml/people/inria/amerkad.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - Ahmed - Amerkad - Ahmed.Amerkad@inria.fr - http://www-sop.inria.fr/lemme/Ahmed.Amerkad - diff --git a/helm/mowgli/home/xml/people/inria/bertot.xml b/helm/mowgli/home/xml/people/inria/bertot.xml deleted file mode 100644 index 6ad788c9b..000000000 --- a/helm/mowgli/home/xml/people/inria/bertot.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - Yves - Bertot - Researcher - Yves.Bertot@sophia.inria.fr - http://www-sop.inria.fr/lemme/Yves.Bertot - diff --git a/helm/mowgli/home/xml/people/inria/chicli.xml b/helm/mowgli/home/xml/people/inria/chicli.xml deleted file mode 100644 index 095ad4141..000000000 --- a/helm/mowgli/home/xml/people/inria/chicli.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - Laurent - Chicli - Ph.D. Student - Laurent.Chicli@sophia.inria.fr - http://www-sop.inria.fr/lemme/Laurent.Chicli - diff --git a/helm/mowgli/home/xml/people/inria/delahaye.xml b/helm/mowgli/home/xml/people/inria/delahaye.xml deleted file mode 100644 index b25f922ca..000000000 --- a/helm/mowgli/home/xml/people/inria/delahaye.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - David - Delahaye - Ph.D. Student - David.Delahaye@inria.fr - http://pauillac.inria.fr/~delahaye - diff --git a/helm/mowgli/home/xml/people/inria/herbelin.xml b/helm/mowgli/home/xml/people/inria/herbelin.xml deleted file mode 100644 index 99025a536..000000000 --- a/helm/mowgli/home/xml/people/inria/herbelin.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - Hugo - Herbelin - Prof. - Associate Professor at University Paris 10 - Seconded at INRIA - Member of the Project Exploitation Board - of the European IST project MOWGLI - Hugo.Herbelin@inria.fr - http://pauillac.inria.fr/~herbelin -
    Domaine de Voluceau, 78153 Rocquencourt Cedex, France
    - +33 (0) 1 39 63 53 77 - -

    Born June 9, 1967.

    -
    -
    diff --git a/helm/mowgli/home/xml/people/inria/naciri.xml b/helm/mowgli/home/xml/people/inria/naciri.xml deleted file mode 100644 index 95dd74103..000000000 --- a/helm/mowgli/home/xml/people/inria/naciri.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - Hanane - Naciri - Ph.D. Student - Hanane.Naciri@sophia.inria.fr - http://www-sop.inria.fr/lemme/Hanane.Naciri - diff --git a/helm/mowgli/home/xml/people/inria/pottier.xml b/helm/mowgli/home/xml/people/inria/pottier.xml deleted file mode 100644 index 33c1a9373..000000000 --- a/helm/mowgli/home/xml/people/inria/pottier.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - Loic - Pottier - Researcher - Leader of the ``Interfaces'' Work-Package of the European - IST project MOWGLI - Loic.Pottier@sophia.inria.fr - http://www-sop.inria.fr/lemme/Loic.Pottier - diff --git a/helm/mowgli/home/xml/people/inria/rideau.xml b/helm/mowgli/home/xml/people/inria/rideau.xml deleted file mode 100644 index 1e90e64d2..000000000 --- a/helm/mowgli/home/xml/people/inria/rideau.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - Laurence - Rideau - Researcher - Member of the Project Coordination Committee - of the European IST project MOWGLI - Laurence.Rideau@sophia.inria.fr - http://www-sop.inria.fr/lemme/Laurece.Rideau - diff --git a/helm/mowgli/home/xml/people/inria/thery.xml b/helm/mowgli/home/xml/people/inria/thery.xml deleted file mode 100644 index 79caf6f77..000000000 --- a/helm/mowgli/home/xml/people/inria/thery.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - Laurent - Thery - Researcher - Laurent.Thery@sophia.inria.fr - http://www-sop.inria.fr/lemme/Laurente.Thery - diff --git a/helm/mowgli/home/xml/people/inria/werner.xml b/helm/mowgli/home/xml/people/inria/werner.xml deleted file mode 100644 index 746624ec3..000000000 --- a/helm/mowgli/home/xml/people/inria/werner.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - Benjamin - Werner - Dr. - Permanent researcher at INRIA. - Teaching a graduate course at Université Paris 7 and - undergraduate course at ENSTA. - Benjamin.Werner@inria.fr - http://logical.inria.fr/~werner/ - -

    Benjamin Werner was born in 1966. He graduated from Ecole Polytechnique - in 1989 and was awarded a PhD in computer science form université - Paris 7 in 1994. He is since a researcher at INRIA-Rocquencourt, - working on logical formalisms, type theory and the proof system Coq.

    -
    -
    diff --git a/helm/mowgli/home/xml/people/nijmegen/barendregt.xml b/helm/mowgli/home/xml/people/nijmegen/barendregt.xml deleted file mode 100644 index e509f745b..000000000 --- a/helm/mowgli/home/xml/people/nijmegen/barendregt.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Henk - Barendregt - Prof. - Full Professor, Nijmegen - henk@cs.kun.nl - http://www.cs.kun.nl/~henk - diff --git a/helm/mowgli/home/xml/people/nijmegen/barreiro.xml b/helm/mowgli/home/xml/people/nijmegen/barreiro.xml deleted file mode 100644 index ab70ec62d..000000000 --- a/helm/mowgli/home/xml/people/nijmegen/barreiro.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - Ernesto Reinaldo - Barreiro - Ph.D. Student, Eindhoven - ereinald@win.tue.nl - diff --git a/helm/mowgli/home/xml/people/nijmegen/cohen.xml b/helm/mowgli/home/xml/people/nijmegen/cohen.xml deleted file mode 100644 index 5dde5b144..000000000 --- a/helm/mowgli/home/xml/people/nijmegen/cohen.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Arjeh - Cohen - Prof. - Full Professor, Eindhoven - A.M.Cohen@tue.nl - http://www.win.tue.nl/~amc - diff --git a/helm/mowgli/home/xml/people/nijmegen/cruz-filipe.xml b/helm/mowgli/home/xml/people/nijmegen/cruz-filipe.xml deleted file mode 100644 index 6ac44eff4..000000000 --- a/helm/mowgli/home/xml/people/nijmegen/cruz-filipe.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - Luís - Cruz-Filipe - Ph.D. Student, Nijmegen - lcf@cs.kun.nl - http://www.cs.kun.nl/~lcf - diff --git a/helm/mowgli/home/xml/people/nijmegen/geuvers.xml b/helm/mowgli/home/xml/people/nijmegen/geuvers.xml deleted file mode 100644 index 65337f6bc..000000000 --- a/helm/mowgli/home/xml/people/nijmegen/geuvers.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - Herman - Geuvers - Prof. - Associate Professor in Foundations of Mathematics and Computer - Science - Responsible for the Nijmegen-Utrecht site of the EC Thematic - Network ``TYPES'' (Computer Assisted Reasoning Based on Type Theory), - IST-1999-29001 - President of the education committee of the Sub-faculty of - Computer Science at the University of Nijmegen - Former member of the Management Board of the Dutch - research school IPA (Institute for Programming Research and - Algorithmics) - Member of the Project Coordination Committee and of the - Project Exploitation Board of the European IST project MOWGLI - Leader of the ``Requirement Analysis'' and ``Testing'' Work-Packages - of the European IST project MOWGLI - herman@cs.kun.nl - http://www.cs.kun.nl/~herman -
    Faculteit NWI, KUN, Toernooiveld 1, 6525 ED Nijmegen, NL
    - +31 243 652603 - -

    Herman Geuvers studied Mathematics at the University of Nijmegen and - got his Ph.D. in Mathematics and Computer Science in 1993 at the same - University. In the same year he became assistant professor in computer - science at the Eindhoven University of Technology in the Formal - Methods group. From January 1st 2000, he is associate professor at the - Department of Computer Science of the University of Nijmegen in the - Foundations group. He is currently teaching in Formal Languages and - Computability and Type Theory.

    -
    - -

    The research interests of Herman - Geuvers are: Formalization of Mathematics, Interactive Theorem - Proving, Higher-order Logics, Communicating Formal Mathematics, Type - Theory and lambda-calculus. His recent scientific activities range from - the study of formal theories (especially typed lambda-calculi) to - doing large theory developments in theorem provers, notably the - formalization of the fundamental theorem of algebra in Coq.

    -
    - - - - - -
    diff --git a/helm/mowgli/home/xml/people/nijmegen/niqui.xml b/helm/mowgli/home/xml/people/nijmegen/niqui.xml deleted file mode 100644 index 6d116334d..000000000 --- a/helm/mowgli/home/xml/people/nijmegen/niqui.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - Milad - Niqui - Ph.D. student, Nijmegen - milad@cs.kun.nl - http://www.cs.kun.nl/~milad - diff --git a/helm/mowgli/home/xml/people/nijmegen/stein.xml b/helm/mowgli/home/xml/people/nijmegen/stein.xml deleted file mode 100644 index d3d1552ab..000000000 --- a/helm/mowgli/home/xml/people/nijmegen/stein.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - Jasper - Stein - Ph.D. Student, Nijmegen - jasper@cs.kun.nl - http://www.cs.kun.nl/~jasper - diff --git a/helm/mowgli/home/xml/people/nijmegen/synek.xml b/helm/mowgli/home/xml/people/nijmegen/synek.xml deleted file mode 100644 index a23063708..000000000 --- a/helm/mowgli/home/xml/people/nijmegen/synek.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - Dan - Synek - Programmer, Nijmegen - synek@cs.kun.nl - http://www.cs.kun.nl/~synek - diff --git a/helm/mowgli/home/xml/people/nijmegen/wiedijk.xml b/helm/mowgli/home/xml/people/nijmegen/wiedijk.xml deleted file mode 100644 index 1244fe688..000000000 --- a/helm/mowgli/home/xml/people/nijmegen/wiedijk.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Freek - Wiedijk - Dr. - Post Doc Researcher, Nijmegen - freek@cs.kun.nl - http://www.cs.kun.nl/~freek - diff --git a/helm/mowgli/home/xml/people/person.dtd b/helm/mowgli/home/xml/people/person.dtd deleted file mode 100644 index dd783fad4..000000000 --- a/helm/mowgli/home/xml/people/person.dtd +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/mowgli/home/xml/people/trusted-logic/bolignano.xml b/helm/mowgli/home/xml/people/trusted-logic/bolignano.xml deleted file mode 100644 index 7b0d92c7d..000000000 --- a/helm/mowgli/home/xml/people/trusted-logic/bolignano.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - Dominique - Bolignano - Chairman and Chief Executive Officer of Trusted Logic - Part-time Full Professor at the Université Paris-Dauphine - - mowgli@trusted-logic.fr - -

    Dominique Bolignano is Chairman and Chief Executive Officer of - Trusted Logic. He also teaches security and languages as a part-time - full professor (Professeur Associé) at the Université Paris-Dauphine. - From 1996 to 1999, Dominique Bolignano worked with Dyade, a joint - venture between Bull and INRIA (French National Research Institute - in Computer Science and Control), as Director, Responsible for - technology transfer in security, electronic commerce, and smart cards, - and Project Director in the following areas : formal verification of - electronic commerce protocols (and more generally cryptographic protocols), - evaluation or design of security architectures (mainly for secure - embedded systems, such as smart cards, payment terminals, GSM phones, - etc.), development of highly secure Java Virtual Machines (Bull Odyssey - JavaCard, payment terminals), formal methods for ITSEC and Common - Criteria security evaluations (participation to various security - evaluations including some on smart cards operating systems). - Before that, Dominique Bolignano was the head of a research group - in the Corporate Research Centre of Bull and he has acquired, from - 1982 to 1996, a deep experience in industry software development and - formal verification systems (distributed systems, security protocols). - Dominique Bolignano takes part in the Java Card Forum. He also is a - Member of the newly created IFIP Working group on Foundations of Security - Analysis and Design. He has been an invited speaker at MFPS'98, CAV'99, - CARI'98, CIRM'98, JFMM'98, RTCS'96, Cartier'96, FemSys'97, and to many - security or formal methods symposia and presented invited tutorials at - Forte'98, Cartier'96, Forte'93. Dominique Bolignano also acted as a PhD - advisor, as a reviewer and evaluator for European Community programs. - He is a reviewer in several journals (Journal of Theoretical - Computer Science (TCS), TSI, ...) and has been a reviewer and/or - a member of the Program Committee in international - conferences (SESS'93, FME'96,VDM 91 et FORTE 92, SaS'94, ...)

    -
    -
    diff --git a/helm/mowgli/home/xml/people/trusted-logic/gimenez.xml b/helm/mowgli/home/xml/people/trusted-logic/gimenez.xml deleted file mode 100644 index 70113c773..000000000 --- a/helm/mowgli/home/xml/people/trusted-logic/gimenez.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - Eduardo - Gimenez - Dr. - - mowgli@trusted-logic.fr - http://pauillac.inria.fr/~gimenez/ -
    5, rue du Bailliage 78000 Versailles FRANCE
    - +33 - 1 30 97 25 13 - +33 - 1 30 97 25 19 - -

    The keywords of my work are : formal methods, program specification and - program certification, type theory, proof environments, Java cards, - information security.

    -

    My work concerns the application of type theory as a programming logic for - developping certified programs. I am specially interested in verifying - security properties concerning open embedded systems like Java smart - cards.

    -
    -
    diff --git a/helm/mowgli/home/xml/people/trusted-logic/loiseaux.xml b/helm/mowgli/home/xml/people/trusted-logic/loiseaux.xml deleted file mode 100644 index 7ff442f83..000000000 --- a/helm/mowgli/home/xml/people/trusted-logic/loiseaux.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - Claire - Loiseaux - - mowgli@trusted-logic.fr - Member of the Project Coordination Committee - of the European IST project MOWGLI - Member of the Project Exploitation Board - of the European IST project MOWGLI -
    5, rue du Bailliage 78000 Versailles FRANCE
    - +33 - 1 30 97 25 00 - +33 - 1 30 97 25 19 -
    diff --git a/helm/mowgli/home/xml/project.xml b/helm/mowgli/home/xml/project.xml deleted file mode 100644 index a31a497c6..000000000 --- a/helm/mowgli/home/xml/project.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - -]> - - - Mathematics On the Web: Get it by Logic and Interfaces - MOWGLI - Information Society Technologies Programme - IST - IST-2001-33562 MOWGLI - 20020301 - - - - - diff --git a/helm/mowgli/home/xml/proposal/EC-contribution.xml b/helm/mowgli/home/xml/proposal/EC-contribution.xml deleted file mode 100644 index cc9c4b9dd..000000000 --- a/helm/mowgli/home/xml/proposal/EC-contribution.xml +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - - Contribution to policies of the European Community - - - - - - - - - -
    - Previous Page - - Index - - Next Page -
    - -
    - -

    Community added value and contribution to EC policies

    -

    The Project relies in an essential way on the convergence of information - processing, communication and new media, meeting the main policy issue of - the IST programme. In fact, due to its very nature, mathematical - information is particularly suited to an integrated analysis under the - different perspectives of elaboration, communication and (hyper)media - publishing, providing a main arena for innovative experiments and - solutions, especially in view of the new technological frontier of the - Semantic Web.

    -

    The Project also tries to answer to a clear need for wider - interoperability and coherence in the realm of mathematics over the Web, - especially for educational, scientific and commercial purposes.

    -

    Electronic textbooks are rapidly becoming a main tool for education and - knowledge dissemination. Electronic textbooks must be interactive, - allowing intercommunication between the text and scientific software and - graphics. This is very hard to achieve starting form a mere presentational - description of the information, clearly requiring a sophisticated - semantical description of the content.

    -

    Similarly, the academic and commercial research communities generate large - volume of dense scientific material. Increasingly, research publications - are being stored in databases, especially for those areas of physics and - mathematics where academic journal prices have been growing at an - unsustainable rate. Still, however, the information is stored in a format - which is machine readable but not machine understandable; in particular it - is not suitable for any form of elaboration other than its rendering. - MOWGLI's content and metadata levels are exactly meant to address complex - elaboration requirements, and to facilitate the maintenance and - operability of large document collections, for which automatic searching - and indexing are crucial.

    -

    Corporate and academic scientists and engineers also use technical - documents in their work to collaborate, to record results of experiments - and computer simulations, and to verify calculations. The Web is, - potentially, the natural media for sharing this information; MOWGLI is - meant to provide the basic technology to transform this potentiality into - an actual possibility.

    -

    Commercial publishers are also involved with mathematics on the Web at all - levels from electronic versions of printed books to interactive textbooks - and academic journals. In this case, MOWGLI offers support for advanced - capabilities, such as browsing, interactivity, presentational and - stylistic customisation, and advanced searching and retrieving - features.

    -

    The project deals with problems traditionally belonging to different - scientific communities: digital libraries, Web publishing, automation of - mathematics and computer aided reasoning. Any serious solution needs a - coordinated effort of all these groups and a synergy of their different - expertise. The members of the consortium have been also carefully chosen - for their experience in the above mentioned areas. From this interaction, - we expect to develop new technologies and solutions, fostering - innovation towards the construction of the Semantic Web.

    -

    MOWGLI contributes in the spread of information and know-how, since - new information technologies will be applied to realms such as education - and publishing, which are traditionally not very inclined to innovation. - More competitiveness will be acquired both by the end users of the - system and by the technology providers, which will eventually profit by - the expertise gained by applying new and emerging technologies to the huge - and compelling problem of the management of mathematical documents over - the Web.

    -

    By opening new perspectives in the domains of interactive publishing and - education, MOWGLI suggests new job-profiles in these domains, and - increases job opportunities in the Information Society sector.

    -

    Finally, the social and cultural cohesion of Europe is eventually - strengthened by the creation of a large distributed repositories of - scientific knowledge.

    - -

    Contribution to Community Social Objectives

    -

    The quality of life, in a civilised country, strictly depends on the - quality of its services, and in particular on the attention devoted to - those services aimed to preserve, increase and make accessible to a wider - audience its cultural and scientific heritage. Building a user friendly - Information Society, with particular emphasis on digital heritage, - cultural content and education is indeed a main social objective of the - European Community.

    -

    The new Information Society is essentially based on the convergence of - information, communication and networking technologies and takes - advantage of infrastructures like the Internet and the Web.

    -

    Our project builds on these grounds, to create the technological - infrastructure required for the creation and maintenance of a digital - knowledge base of structured mathematical information, universally - and seamlessly accessible to all people, and in particular to students and - professionals, through interoperable, dependable and affordable products - and services.

    -

    From the educational point of view, our system could easily become a main - tool for a wider and more friendly dissemination of mathematical - knowledge. Indeed, its interactive nature, and the possibility to access - single information units, and possibly applying them, provides a more - operational and far less abstract comprehension of mathematical entities, - and should naturally induce the user to play with the knowledge base, - assembling components in the development of new theorems and results. - From the educational point of view, our system could easily become a main - tool for a wider and more friendly dissemination of mathematical - knowledge. Indeed, its interactive nature, and the possibility to access - single information units, and possibly applying them, provides a more - operational and far less abstract comprehension of mathematical entities, - and should naturally induce the user to play with the knowledge base, - assembling components in the development of new theorems and results.

    -

    From the point of view of employment and development of individual skills, - there are two different aspects to be considered, according to the - objectives and the methodology of the project.

    -

    From the methodological point of view, the project makes an essential use - of technologies which are the very foundations of the information society, - driving their development, enhancing their applicability, and accelerating - their take up in Europe. In particular, we shall build on most of the - recent recommendations of the World Wide Web Consortium (W3C), like XML, - DOM, XSL, XLL, MathML, RDF, etc. testing their applicability to the - definition of a comprehensive, integrated description of a given field of - knowledge.

    -

    This kind of tools and techniques is of crucial importance in the - development of the Web and of the Information Technology of the next - years, and our project could play a major role in their dissemination in - Europe, and in training people in their use.

    -

    On the other side, MOWGLI itself could become a major source of - inspiration for the re-invention of existing activities, and in particular - for the exploitation of new business in the publishing market. Currently, - digital journals just offer purely textual objects: our project could - help to define new market possibility for content-based publishing (i.e. - structured, possibly formal mathematical developments), with all the - potentialities offered by this approach, from browsing facilities, to the - personalisation of the style, from enhanced forms of searching, to more - or less arbitrarily complex forms of elaboration.

    -

    Our system also opens new perspectives on the mechanisation of mathematics - and the automation of formal reasoning. The growing complexity of advanced - technological projects (in the areas of electronic and avionic - engineering, for example) has recently arose a renewed interest in formal - methods. From this respect, our project contributes to build an essential - infrastructure for the exploitation of these methods, providing a major - help for professionals, and fostering their skills.

    -

    Let us finally remark that the project has no negative impact on the - natural environment. We could even claim a few benefits, related to the - electronic distribution of documents, such as the minimisation in the use - of means of conveyance and the saving of paper.

    -

    The possible customisation via suitable style-sheets of structured - electronic documents could also meet the needs of particular users, such - as disabled (in particular, disabled students) or elderly (as retired - researchers who would like to continue their professional activity), - providing at the same time comfortable working conditions (e.g. at home). - Another general design requirement is the ability to render mathematical - material in other media such as speech or braille, which is extremely - important for the visually impaired.

    -

    In conclusion, the aim of our work is to contribute to the creation of the - next generation of user-friendly, dependable and interoperable - general-interest services, meeting user demands for flexible access, for - everybody, from anywhere, at any time.

    - -
    - - - - - - - -
    - Previous Page - - Index - - Next Page -
    - - - diff --git a/helm/mowgli/home/xml/proposal/contribution.xml b/helm/mowgli/home/xml/proposal/contribution.xml deleted file mode 100644 index 8442270f0..000000000 --- a/helm/mowgli/home/xml/proposal/contribution.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - Contribution to programme/key action objectives - - - - - - - - - -
    - Previous Page - - Index - - Next Page -
    - -
    - -

    Contribution to programme/key action objectives

    -

    The Project contributes to build a user friendly information society, and - in particular it meets the following general objectives of this - program:

    -
      -
    1. (multimedia content) confirming Europe as a leading force in this field, - realizing the potential of its creativity and culture;
    2. -
    3. (essential technologies and infrastructure) enabling technologies which - are the foundations of the information society, driving their - development, enhancing their applicability, and accelerating their take - up in Europe.
    4. -
    -

    As a matter of fact, the project is based in an essential way on the use - of most part of the recent recommendations of the World Wide Web - Organization for Web publishing and human-computer interaction (XML, XSL, - XLL, Namespaces, MathML, RDF, etc.). In particular, we aim to prove how - all these specifications naturally fit together, when trying to build a - full, integrated description (comprising content, notation, metadata, - etc.) of a given field of knowledge. At our knowledge, the project is the - first of the kind, and could become a paradigmatic example in the - integrated use of these technologies.

    -

    The project also addresses most of the issues of the multimedia content - key action, namely: electronic publishing, digital heritage and cultural - content, education, information access, filtering and handling. Actually, - all these aspects are and must be covered in our project, in order to - reach our objectives. In particular, the educational potential of our - system should not be neglected either: it could become an essential tool - for a wider and more friendly dissemination of mathematical knowledge. For - instance, if supported by a suitable technology, proving theorems in a - proof assistant could be as amusing as playing a video game. We imagine - bunches of young researchers contributing to the free development of the - library for the mere gratification of seeing their name as actual editor - (or, why not, original author) of a specific fragment.

    -

    Finally, the project is particularly related to the specific key-action - III.2.3 (access to scientific and cultural heritage). In fact, the aim - of our system is exactly to improve access by students and professionals - to the fast-growing mathematical knowledge base, allowing mathematical - documents to be retrieved, served, and processed directly on the Web. More - over, our system is meant to be compatible with most of the existing tools - for the mechanisation of mathematics and the automation of formal - reasoning (proof assistants and logical frameworks). The possibility to - build coherent sub-libraries of formal mathematical developments would - provide an essential (and unique) added value to the library itself, - making of Europe a leader in this area.

    -

    Maybe, having the possibility to process, analyse and elaborate - mathematical structures as data, the time will come when we shall finally - be able to start a completely new and exciting field of research on - mathematics: namely a scientific, empirical study on the real - structure of mathematical entities, and the ``way of thinking'' of - mathematicians.

    - -
    - - - - - - - -
    - Previous Page - - Index - - Next Page -
    - - - diff --git a/helm/mowgli/home/xml/proposal/econ-scient-tech-prospects.xml b/helm/mowgli/home/xml/proposal/econ-scient-tech-prospects.xml deleted file mode 100644 index 9114d8043..000000000 --- a/helm/mowgli/home/xml/proposal/econ-scient-tech-prospects.xml +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - Economic development and Scientific and Technological Prospects - - - - - - - - - -
    - Previous Page - - Index - - Next Page -
    - -
    - -

    Economic development and Scientific and Technological Prospects

    - -

    Identification of exploitable results

    -

    MOWGLI is meant to develop, evaluate, fine-tune and deliver a complete - prototype supporting friendly and interactive access to huge, distributed - repositories of content-based mathematical knowledge. The purpose of the - project is to overcome some of the main obstacles that currently hinder a - wider dissemination of Information Technologies in the mathematical and - research community (comprising both professionals and students). This is - intended as a public service for the whole community of users, and we - expect no direct commercial profit by our work.

    -

    Of course, the core technologies and languages developed in MOWGLI may be - exploited in a lot of different ways, according to the nature and - exploitation plan of each partner.

    -

    In particular, it should be clear that having a coherent, distributed - library of structured mathematical knowledge, saved in a clearly defined, - well documented and application independent format, is just the starting - point of a wider, potentially enormous process. Building on the grounds - provided by MOWGLI, a lot of different services can be imagined, and - independently developed by different organisations. Inside the project, we - shall just give a few hints in this direction, supporting advanced and - interactive forms of searching and navigation, as well as automatic - validation facilities, for suitable fragments of the library.

    - -

    Target Market

    -

    The main target market of MOWGLI is education. Here, the potentiality - offered by a semantic description of the information for the development - of interactive, electronic textbooks are enormous. In particular, the - MOWGLI prototype could become an essential tool for a wider and more - friendly dissemination of mathematical knowledge.

    -

    A second, potential market is Publishing. Digital libraries currently - suffers from clear limitations due to the machine-readable but not - machine understandable encoding of the information. No other kind of - elaboration than displaying or printing is usually possible. There is no - possibility of cut-and paste, formal checking, complex searching. For - instance, we cannot write a spider going around searching for a proof with - a given template, because there is not structure, and in particular no - semantics inside the text.

    -

    A third market are industries specialised in formal verification and - security. These industries are usually asked to check a given system or - protocol for security issues or formal validation of functional/temporal - behaviour. The result of the formalisation work and its automatic - validation is typically in an internal format which is obscure even to - experts. Studying the possibility to automatically generate a more - friendly presentation in usual mathematical notation is thus a major - topic.

    - -

    Consortium's Dissemination and Exploitation Strategy

    -

    According to the Project Workplan, a considerable effort will be devoted - to the dissemination/exploitation of the results. During the first six - months, the consortium will undertake the development and execution of a - workplan to achieve successful dissemination of the project results. In - particular, the very nature of the project suggests to involve the - largest community of professionals during the modelling phase. Here, we - shall be open to any contribution, even soliciting them, still keeping - final technical decisions inside the Project. -
    - The foreseen dissemination steps include:

    - -
      -
    1. Preparation of an ``information pack'', including a folder and CDROM - with demos.
    2. -
    3. Presentation of MOWGLI to national and international conferences on - I.T.Technologies.
    4. -
    5. Presentation of MOWGLI to thematic conferences on Education, Digital - Libraries, Formal Verification and so on.
    6. -
    7. Advertising to actors/institutions which may be direct users or may - channel the information to final users (such as the World Wide Web - Consortium).
    8. -
    9. Technical papers and articles to be sent to specialised reviews.
    10. -
    11. Management of the MOWGLI Web site.
    12. -
    13. Dissemination of technical achievements in specific scientific - communities, such as XML-related interests groups.
    14. -
    - -

    Management of the Exploitation and Dissemination activities is a specific - Work-package that will be lead by the Project Exploitation Board. It is - planned that all partners will nominate qualified persons as exploitation - managers to coordinate their own exploitation activities. The Exploitation - Board will be in charge of the preparation of the exploitation and - dissemination plan.

    - -
    - - - - - - - -
    - Previous Page - - Index - - Next Page -
    - - - diff --git a/helm/mowgli/home/xml/proposal/innovation.xml b/helm/mowgli/home/xml/proposal/innovation.xml deleted file mode 100644 index aa8376822..000000000 --- a/helm/mowgli/home/xml/proposal/innovation.xml +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - Innovation - - - - - - - - - -
    - Previous Page - - Index - - Next Page -
    - -
    - -

    Innovation

    -

    The main technical novelty of the project is in its synergy of different - scientific communities and research topics: digital libraries, Web - publishing, logical environments.

    - - Architecture - -

    From the point of view of Web publishing, our project is the first attempt - to provide a comprehensive description, from content to metadata, of a - given field of knowledge (in our case mathematics), in order to enhance - its accessibility, exchange and elaboration via the World Wide Web. To - this aim, we shall put to use most of the technologies recently introduced - by the W3C: XML, DOM, XSL, XLL, Namespaces, MathML, RDF, etc. From this - respect, the project is first of all a complex test for all these - technologies, and should hopefully become an example of ``best practice'' - in their use. Note that the final architecture is likely to be extendible - to other fields of structured information: the emphasis on mathematics is - motivated by the fact that, due to its complex interplay between content, - structure and notation, it provides a major case study for Web-based - information systems (it is not a case that MathML has been one of few - instances of XML completely developed under the aegis of the World Wide - Web Consortium).

    -

    From the point of view of digital libraries, our work is aimed at - exploiting all the potential functionalities offered by the Web, and in - particular a more integrated use of its browsing and searching facilities. - The library is not merely seen as a more or less structured collection of - texts, but as a virtual structure inside which we can freely navigate, - jumping for instance from an entity to its definition, or peeping inside - some information at deeper and deeper levels of details (such as different - levels of detail of a proof). This is similar to what we currently do - with HTML texts, but in order to enhance the effectiveness of the - consultation, we clearly need a good metadata model of the information. - Moreover, in such an integrated view, it is hardly conceivable to just - apply some ``general purpose'' metadata model (like the Dublin Core - system, say): the metadata model must be eventually specialised to the - actual structure of the information it is supposed to model (and more - structure we have on the information, more relevant metadata we can - usually infer on the document). For instance, metadata could contain the - whole signature of a given module of mathematical knowledge. The usual - motivation for keeping metadata simple and general is that it is usually - difficult to add this information by hand; but in our case a large part of - the metadata is supposed to be extracted automatically by the (structured) - text itself, allowing for pretty complex metadata models.

    -

    Finally, a main aspect of our project is the integration with current - tools for the automation of formal reasoning and mechanisation of - mathematics (proof assistants and logical frameworks). This integration - has a mutual benefit. From the point of view of the mathematical library, - the first and fundamental role of these systems is that of providing - friendly authoring tools (for instance, our ``core'' library will be - automatically extracted from existing libraries of these systems). The - relevance of this point should not be underestimated: as a matter of fact, - the main reason for the failure of complex markup modellings is usually - the lack of suitable authoring tools (it is often painful to add the - markup by hand). Of course, they can also provide other functionalities - (like automatic proof checking) on fragments of the library (typically, - the fragments generated by the tool itself, in its specific logical - dialect). These additional functionalities may be especially relevant for - industrial applications, e.g. in the context of IT security evaluation - standards like the Common Criteria standard (see - others/cc). In its highest - assurance level, this standard requires the development of formal models - of the IT product under evaluation, as well as mechanized proofs that it - meets its security objectives. Such models and proofs must be published in - a format that can be easily readable and understood by security - evaluators. Hence, there is a strong need from software industry to be - able to produce such documentation directly from the models introduced in - the proof assistant, and to link it with documents describing the IT - product, etc.

    -

    On the other side, there is a compelling need of integration between the - current tools for automation of formal reasoning and mechanisation of - mathematics and the most recent technologies for the development of Web - applications and electronic publishing. XML, which is rapidly imposing as - a pivotal technology in the future development of all Internet - applications, and the main tool for representation, manipulation, and - exchange of structured information in the networked age, looks as a - natural, almost mandatory, choice for modelling the information.

    -

    In this way, we just obey to the very primitive commandment of the Web: - make your information available. Currently, libraries in logical - frameworks are usually saved in two formats: a textual one, in the - specific tactical language of the proof assistant, and a compiled (proof - checked) one in some internal, concrete representation language. Both - representations are obviously unsatisfactory, since they are too oriented - to the specific application: they restrict the access of the libraries to - the users of the given application, and at the same time they are too - sensible to the evolution and the maintenance of the application itself. - On the other side, as soon as the information is put in a standard format - on the Web, any kind of research becomes virtually possible, and - anybody could start developing his own spider for - implementing his own searching requirements. This is clearly a major - improvement w.r.t. the present situation. Currently, you must not only - rely on the searching facilities offered by the specific applications, but - even if you would wish to implement your own searching algorithm, you - would be prevented by the simple reason that the information is not - accessible (in any reasonable sense of the word).

    -

    The project builds on the solid ground provided by several existing - XML-based languages for the management of mathematical documents such as - MathML, OpenMath and OMDoc. Each of these markup languages covers a - different aspect of the information. Our aim is not to propose a new - language, but to study and to develop the technological infrastructure - required to integrate all these languages together, in order to take - advantage of the specific features of each of them.

    - -
    - - - - - - - -
    - Previous Page - - Index - - Next Page -
    - - - diff --git a/helm/mowgli/home/xml/proposal/project-components.xml b/helm/mowgli/home/xml/proposal/project-components.xml deleted file mode 100644 index ab2bcb4fe..000000000 --- a/helm/mowgli/home/xml/proposal/project-components.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - Graphical presentation of projects components - - - - - - - - - -
    - Previous Page - - Index - - Next Page -
    - -
    - -

    Graphical presentation of projects components

    - -
    - - Architecture - -
    - - - - - - - -
    - Previous Page - - Index - - Next Page -
    - - - diff --git a/helm/mowgli/home/xml/proposal/project-management.xml b/helm/mowgli/home/xml/proposal/project-management.xml deleted file mode 100644 index 86b9face8..000000000 --- a/helm/mowgli/home/xml/proposal/project-management.xml +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -]> - - - - - - - - - -
    - Previous Page - - Index - - Next Page -
    -
    -
    - -

    Project Management

    -

    The Project management will be assured by the following relevant - roles:

    -
      -
    1. Project Manager
    2. -
    3. Exploitation manager
    4. -
    5. Work-package Leaders
    6. -
    7. Technical Contributors
    8. -
    -

    and by the following Project Bodies:

    -
      -
    1. Project Coordination Committee (PCC)
    2. -
    3. Project Exploitation Board
    4. -
    5. Work-package Teams.
    6. -
    -
    -
    - - - The mandate of the Project Manager is to represent the Project, report to - the Commission, monitor overall performance of the project, ensure - accomplishment of the technical objectives, promote project visibility, - promote dissemination of project results in the relevant international - forums, promote acceptance of project results, administer - project resources and monitor project spending. - - - - - He is responsible for coordinating exploitation activities undertaken - by the Project Exploitation Board (PEB) in close cooperation with the - Project Coordination Committee (PCC). - - - - - They are responsible for the performance of - Work-packages, and they must be committed to the Work-package for at - least five man months per year. - - - - - Technical Contributors are specialised - staff provided by the partners. They could be either people active on - a stable basis into a Work-package, or people who contribute from time - to time on specific tasks related to the work-plan (external - contributors). - - - - - - - - - - - - The PCC is chaired by the Project - Manager and constituted by one representative from each Partner, and - is the main decision body of the Consortium. It is in charge - of all formal decisions regarding technical direction of the work, - proper interrelation between Work-packages, - relations with IST Office, policies for promotion of results, - administrative arrangements. - - - - - - - - - - - - The PEB is chaired by the - Project Exploitation Manager, and composed by the Exploitation - Managers of each partner. It monitors the state of the art in - the domains of content-based information technologies, W3C activities, - Web publishing, and digital libraries. It is responsible for - planning the dissemination and exploitation strategies for the - consortium, to be approved by the PCC. - - - - - They are constituted of the technical contributors. - Each team is chaired by a Work-package Leader, and it is in - charge of carrying out the technical work described in - each Work-Package. - - -
    - -

    Decision Process

    -

    Decisions is normally taken by seeking consensus. However, - after a reasonable amount of time has been allowed to illustrate - and defend of conflicting positions, in order to avoid deadlock - in project operational progress, the approval of two-third majority - of the partners is sufficient. If the decision being taken - is unacceptable - to partners found in the minority positions, the resolution of the - conflict will be elevated to each partner's higher executive level. - If no resolution is possible, than the standard ``red flag'' procedure - will be used, as a last resort. Either the PCC or the Project Manager - can initiate the conflict resolution procedure.

    - -

    Information Flow

    -

    Information flow within the Project is ensured by exchange of - internal technical papers, notification of relevant new publications - technologies or standards, and reports from external meetings. - All technical documentation generated by the project should be - exchangeable in electronic format, according to a set of guidelines - agreed at project start-up. The project Manager enforces - adherence to these guidelines. Only strictly formal correspondence - is exchanged by ordinary mail and telefax. Urgent correspondence - over e-mail is sent with a request for explicit acknowledgement.

    -

    The Coordinating Partner is responsible to prepare and maintain - a Web page of the project and a CVS repository (also available via Web). - The CVS repository is meant to keep the trace of the overall - progress of the Project, and it is used by the PCC to monitor - the state of advancement of the work. Each partner periodically - submit reports to the prime contractor, listing all technical - contributions, publications, meeting attendance and other information - which may help in understanding the provided effort and cost figures.

    -

    The Project has established a high quality Web site for internal and - external communications. It has been operational as from one month of - the commencement date and will be maintained during the project duration. - The ``members only'' area includes e.g. all private deliverables, - progress and management reports, and cost statements. The open area - includes the project presentation as defined in Appendix 2 of the - ``Guidelines - for Contract Preparation'' document, all public deliverables, and any - relevant information suggested by the Project Exploitation Board.

    - -

    Quality Procedures

    -

    For all deliverables, the following review procedure - is adopted: release by the Work-Package Leader, two-week review - period for comments by the PCC, two-week amendment period to incorporate - PCC recommendations, one-week balloting period for approval by the - PCC.

    - -

    Confidentiality and IPR handling

    -

    Matters related to Confidentiality and IPR handling have been defined - in the ``Consortium Agreement''. As regards literature papers - originated from work in the Project, there are two - categories of papers:

    -
      -
    1. Project Endorsed Publications, requiring notification and approval by - the PCC.
    2. -
    3. Project-related publications, only requiring notification to - the PCC. They must contain an acknowledgement of support by the - project Consortium and, if required by the PCC, a disclaimer that - the views are not necessarily those of the Consortium.
    4. -
    -

    Concerning possible contributions to Standards, they are - directly submitted by project members.

    -
    - -
    - - - - - - -
    - Previous Page - - Index - - Next Page -
    -
    -
    diff --git a/helm/mowgli/home/xml/proposal/project-objectives.xml b/helm/mowgli/home/xml/proposal/project-objectives.xml deleted file mode 100644 index 554222c54..000000000 --- a/helm/mowgli/home/xml/proposal/project-objectives.xml +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - Project Objectives - - - - - - - - - -
    - Previous Page - - Index - - Next Page -
    - -
    - -

    Project Objectives

    -

    The new frontier of Content Based Information Systems is the so called - ``Semantic Web'' (see - others/w3c_bl98). - Associating meaning with content or establishing a layer of machine - understandable data will allow automated agents, sophisticated search - engines and interoperable services and will enable higher degree - of automation and more intelligent applications. The ultimate goal of the - Semantic Web is to allow machines to share and exploit knowledge in the - Web way, i.e. without central authority, with few basic rules, in a - scalable, adaptable, extensible manner. However, the actual development - of the Semantic Web and its technologies has been hindered so far by the - lack of large scale, distributed repositories of structured, content - oriented information. The case of Mathematical knowledge, the most - rigorous and condensed form of knowledge, is paradigmatic. The World Wide - Web is already now the largest single resource of mathematical knowledge, - and its importance will be exponentiated by the emerging display - technologies like MathML. However, almost all mathematical documents - available on the Web are marked up only for presentation (in this respect, - current practice in MathML improves on, but does not fundamentally differ - from the older paper-oriented markup schemes like LaTeX or Postscript). - A consequence of this is that the online material is machine-readable, but - not machine-understandable, severely crippling the possibility to offer - added-value services like

    -
      -
    • Preservation of the real informative content in a highly structured and - machine understandable format, suitable for transformation, automatic - elaboration and processing.
    • -
    • Cut and paste on the level of computation (take the output from a Web - search engine and paste it into a computer algebra system).
    • -
    • Automatic proof checking of published proofs.
    • -
    • Semantical search for mathematical concepts (rather than keywords).
    • -
    • Classification: given a concrete mathematical structure, is there a - general theory for it?
    • -
    -

    Due to its rich notational, logical and semantical structure, mathematical - knowledge is thus a main case study for the development of the new - generation of semantic Web systems. The aim of the proposed project is - both to help in this process, as well as pave the way towards a really - useful virtual, distributed, hyper-textual resource for the working - mathematician, scientist or engineer. All modern sciences have a - strongly mathematicised core, and will benefit. The real market and - application area for the techniques developed in this project, apart from - the obvious realm of education, lies with high-tech and engineering - corporations that rely on huge formula databases. Currently, both the - content markup as well as the added-value services alluded to above are - very underdeveloped, limiting the usefulness of the vital knowledge. The - infrastructure and knowhow needed for mining this information treasure - and obtaining a competitive edge in development is exactly what we are - attempting to develop in our project.

    -

    Several languages have been already proposed for the management of - mathematical information on the Web, both for publishing, communication - and archiving purposes: most notably, - MathML, - OpenMath, - OMDoc. Other languages - must be also considered for definition and specification of Metadata, - such as the Dublin Core System, or - the Resource Description Framework - [RDF]. - All these languages, which tend to cover different and orthogonal aspects - of the management of mathematical documents, must be eventually taken into - account for the ambitious goal of our project. One of our aims is actually - the definition of a modular architecture which could exploit the - distinctive potentialities of each one of these languages, integrating - them into a single application. The integration is in this case - facilitated by the fact that all the languages mentioned are particular - instances of XML, providing the opportunity to use standard XML - technology, and in particular XSL Transformations or - stylesheets [XSLT], to pass from - one language to the other.

    - - Architecture - -

    The fact of encoding also the microscopic, logical level of mathematics - opens the possibility to have completely formalised subsystems of the - library, which could be checked automatically by standard tools for the - automation of formal reasoning and the mechanisation of mathematics - (proof assistants and logical frameworks, see - others/cup_hp91 and - others/cup_hp93). At - the same time, any of these tools could be used as an authoring system for - documents of the library, by simply exporting their internal libraries - into XML, and using stylesheets to transform the output into a standard, - machine-understandable representation, such as MathML content markup or - OpenMath.

    -

    The precise formal content can still be preserved by the machinery of - Xlinks. Moreover, stylesheets - can be also used to solve the annoying notational problem that usually - afflicts formal mathematics, providing a simple way for adding - user-defined styles and notations.

    - -

    So, our approach leads to a natural integration of proof assistant tools - and the Web. In this integration, the emphasis is just on ``content'': - we do not try to link directly the specific applications to the Web, - that would be a major mistake, for obvious modularity reasons. On the - contrary, we adopt XML as a neutral specification language, and then we - merely work on XML-documents, forgetting the underlying application. In - this way, similar software tools can be applied to different logical - dialects, regardless of their concrete nature. Moreover, if having a - common representation layer is not the ultimate solution to all - inter-operability problems between different applications, it is - however a first and essential step in this direction. Finally, this - ``standardisation'' process should naturally lead to a substantial - simplification and re-organisation of the current, ``monolithic'' - architecture of logical frameworks. All the many different and often - loosely connected functionalities of these complex programs (proof - checking, editing, search and consulting, program extraction, and so on) - could be clearly split in more or less autonomous tasks, and could be - developed by different teams, in totally different languages. This is - the new, ``content-based'' architectural design of future systems.

    - -
    - - - - - - - -
    - Previous Page - - Index - - Next Page -
    - - - diff --git a/helm/mowgli/home/xml/proposal/project-planning.xml b/helm/mowgli/home/xml/proposal/project-planning.xml deleted file mode 100644 index c45626d05..000000000 --- a/helm/mowgli/home/xml/proposal/project-planning.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - Project Planning and timetable - - - - - - - - - -
    - Previous Page - - Index - - Next Page -
    - -
    - -

    Project Planning and timetable

    - -
    - - Architecture - -
    - - - - - - - -
    - Previous Page - - Index - - Next Page -
    - - - diff --git a/helm/mowgli/home/xml/proposal/project-summary.xml b/helm/mowgli/home/xml/proposal/project-summary.xml deleted file mode 100644 index 00c237419..000000000 --- a/helm/mowgli/home/xml/proposal/project-summary.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - Project Summary - - - - - - - - - -
    - Previous Page - - Index - - Next Page -
    - -
    - -

    Project Summary

    - -

    Objectives

    -

    The World Wide Web is already the largest resource of mathematical - knowledge, and its importance will be exponentiated by emerging display - technologies like MathML. However, almost all mathematical documents - available on the Web are marked up only for presentation, severely - crippling the potentialities for automation, interoperability, - sophisticated searching mechanisms, intelligent applications, - transformation and processing. The goal of the project is to overcome - these limitations, passing form a machine-readable to a - machine-understandable representation of the information, and developing - the technological infrastructure for its exploitation. MOWGLI builds on - previous ``standards'' for the management and publishing of mathematical - documents (MathML, OpenMath, OMDoc), integrating them with different XML - technology (XSLT, RDF, ...).

    - -

    Description of Work

    -

    The goal of the project is to provide a comprehensive description, from - content to metadata, of a given field of knowledge (in our case - mathematics), in order to enhance its accessibility, exchange and - elaboration via the World Wide Web. MOWGLI will make an essential use of - standard XML technology and aspires to become an example of ``best - practice'' in its use, and a leading project in the new area of the - Semantic Web.

    -

    In particular, we shall deeply explore the potentialities of XML in the - following directions:

    - -
    -
    Publishing
    -
    XML offers sophisticated publishing technologies (Stylesheets, MathML, - SVG, ...) which can be profitably used to solve, in a standard way, the - annoying notational problems that traditionally afflict - content based and machine-understandable encodings of the - information.
    - -
    Searching and Retrieving
    -
    Metadata will play a major role in MOWGLI. New W3C languages such as - the Resource Description Framework or XML Query are likely to produce - major innovative solutions in this field.
    - -
    Interoperability
    -
    Disposing of a common, machine understandable layer is a major and - essential step in this direction.
    - -
    Distribution
    -
    All XML technology is finally aimed to the access of the Web as a - single, distributed resource, with no central authority and few, - simple rules.
    -
    - -

    MOWGLI builds on the solid ground already provided by previous European - projects (Such as OpenMAth and Euler) and several XML dialects for the - management of mathematical documents (MathML, OpenMath, OMDoc, ...). - All these languages cover different and orthogonal aspects of the - information; our aim is not to propose a new standard, but to study and - to develop the technological infrastructure required for taking advantage - of the potentialities of all of them.

    - -

    Milestones and Expected Results

    -
    -
    First MOWGLI prototype (month 18)
    -
    Supporting browsing, rendering and on-line consultation of large - repositories of (content-based) mathematical knowledge. The translation - from content to presentation will be done via suitable notational - stylesheets.
    - -
    Advanced MOWGLI prototype (month 24)
    -
    Supporting distribution, indexing, searching and retrieval (based on a - sophisticated metadata model).
    - -
    Final MOWGLI prototype (month 30)
    -
    Result of validation.
    -
    - -
    - - - - - - - -
    - Previous Page - - Index - - Next Page -
    - - - - diff --git a/helm/mowgli/home/xml/publications/index.xml b/helm/mowgli/home/xml/publications/index.xml deleted file mode 100644 index 7ea341ef1..000000000 --- a/helm/mowgli/home/xml/publications/index.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/mowgli/home/xml/publications/mowgli/crimea2002_aw.xml b/helm/mowgli/home/xml/publications/mowgli/crimea2002_aw.xml deleted file mode 100644 index 04dcc1db4..000000000 --- a/helm/mowgli/home/xml/publications/mowgli/crimea2002_aw.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - MOWGLI - A New Approach for the Content Description in Digital - Documents - - - To be presented at the Nineth International Conference on - New Technologies and New Forms of Cooperation", - Autonomous Republic of Crimea, Ukraine - - diff --git a/helm/mowgli/home/xml/publications/mowgli/crimea2002_aw_on_line.xml b/helm/mowgli/home/xml/publications/mowgli/crimea2002_aw_on_line.xml deleted file mode 100644 index 7d5d25bd6..000000000 --- a/helm/mowgli/home/xml/publications/mowgli/crimea2002_aw_on_line.xml +++ /dev/null @@ -1,411 +0,0 @@ - - - MOWGLI - A New Approach for the Content Description in Digital - Documents - - - -

    MOWGLI - A New Approach for the Content Description in Digital Documents

    - -

    Andrea Asperti, University of Bologna, and Bernd Wegner, TU Berlin

    - - -

    Abstract:

    - -
    -

    The acronym MOWGLI stands for "Mathematics On the Web: Get it by Logic and -Interfaces". MOWGLI is an European Project founded by the European Community -in the ``Information Society Technologies'' (IST) Programme. The partners are -the University of Bologna, INRIA (Rocquencourt), the German Research Centre -for Artificial Intelligence (DFKI, Saarbruecken), the Katholieke Universiteit -Nijmegen, the Max Planck Institute for Gravitational Physics (Albert Einstein -Institute, Golm), Trusted Logic (Paris) and TU Berlin.

    - -

    The aim of the project is the study and the development of a technological -infrastructure for the creation and maintenance of a virtual, distributed, -hypertextual library of mathematical knowledge based on a content description -of the information. Currently, almost all mathematical documents available on -the Web are marked up only for presentation, severely crippling the -potentialities for automation, interoperability, sophisticated searching -mechanisms, intelligent applications, transformation and processing. The goal -of MOWGLI is to overcome these limitations, passing from a machine-readable to -a machine-understandable representation of the information, and developing the -technological infrastructure for its exploitation.

    - -

    The project deals with problems traditionally belonging to different -scientific communities: digital libraries, Web publishing, automation of -mathematics and computer aided reasoning. Any serious solution to the complex -problem of mathematical knowledge management needs a co-ordinated effort of -all these groups and a synergy of their different expertise. MOWGLI attempts -to build a solid co-operation environment between these communities. The -current paper will concentrate on the aspects related to digital libraries.

    -
    - - -

    1. Aims and mission of MOWGLI

    - -

    After a ten years period of electronic publishing in mathematics we are still -confronted with slightly enhanced electronic versions of printed publications. -Almost all mathematical documents available on the Web are marked up only for -presentation, if such an enhancement is available at all. Only a minority of -documents try to care about some of the potentialities for automation, -interoperability, sophisticated searching mechanisms, intelligent -applications, transformation and processing. But these approaches could be -considered as first preliminary steps towards an electronic document providing -all these facilities. Hence, the goal of MOWGLI is to overcome these -limitations, passing form a machine-readable to a machine-understandable -representation of the information, and developing the technological -infrastructure for its exploitation.

    - -

    In order to reach this goal MOWGLI has to deal with problems traditionally -belonging to different scientific communities: digital libraries, Web -publishing, automation of mathematics and computer aided reasoning. To our -knowledge, MOWGLI is the first attempt to build a solid co-operation -environment between these communities. In principle, any serious approach for -providing good tools for mathematical knowledge management needs a -co-ordinated effort of several partners from the above mentioned communities -and a synergy of -their different expertise. The choice of partners for the took this condition -into account, as can be seen below.

    - -

    The goals of MOWGLI largely overlap with the aims of the so called "Semantic -Web" [14]. -Associating meaning with content or establishing a layer of machine -understandable data will allow automated agents, sophisticated search engines -and interoperable services and will enable higher degree of automation and -more intelligent applications. The ultimate goal of the Semantic Web is to -allow machines to share and exploit knowledge in the Web way, i.e. without -central authority, with few basic rules, in a scalable, adaptable, extensible -manner. However, the actual development of the Semantic Web and its -technologies has been hindered so far by the lack of large scale, distributed -repositories of structured, content oriented information. The case of -mathematical knowledge, the most rigorous and condensed form of knowledge, is -paradigmatic. The World Wide Web is already now the largest single resource of -mathematical knowledge, and its importance hopefully be increased by the -emerging display technologies like MathML.

    - -

    Machine understandable information will make possible to offer added-value -services like: -

      -
    • Preservation of the real informative content in a highly structured and - machine understandable format, suitable for transformation, automatic - elaboration and processing.
    • -
    • Cut and paste on the level of computation (take the output from a Web - search engine and paste it into a computer algebra system).
    • -
    • Automatic proof checking of published proofs.
    • -
    • Semantic search for mathematical concepts (rather than keywords).
    • -
    • Indexing and Classification.
    • -
    -

    - -

    Due to its rich notational, logical and semantic structure, mathematical -knowledge is a main case study for the development of the new generation of -semantic Web systems. The aim of the MOWGLI project is both to help in this -process, as well as pave the way towards a really useful virtual, distributed, -hyper-textual resource for the working mathematician, scientist or engineer.

    - - -

    2. Standards and Tools

    - -

    Current standards for electronic publishing in mathematics are mainly -presentation oriented. New tools for the management and publishing of -mathematical documents are in development like MathML -[3], OpenMath, OMDoc -([17],[18]) and integrated with different -XML technology [7] (XSLT [8], RDF -[4], [5], SOAP [6], ...). -All these languages cover different and orthogonal -aspects of the information and its management; our aim is not to propose a new -standard, but to study and to develop the technological infrastructure -required for taking advantage of the potentialities of all of current -standards and those which are likely to be established in the near future.

    - -

    MOWGLI makes an essential use of standard XML technology and aspires to -become an example of ``best practice'' in its use, and a pioneering leading -project in the new area of the Semantic Web [12]. -In particular, the potentialities of -XML will be deeply explored in the following directions: -

      -
    • Publishing. XML offers sophisticated publishing technologies (Stylesheets, - MathML, SVG, etc.) which can be profitably used to solve, in a standard way, - the annoying notational problems that traditionally afflict content based and - machine-understandable encodings of the information.
    • -
    • Searching and Retrieving. Metadata will play a major role in MOWGLI. New - W3C languages such as the Resource Description Framework or XML Query are - likely to produce major innovative solutions in this field.
    • -
    • Interoperability. Disposing of a common, machine understandable layer is a - major and essential step in this direction.
    • -
    • Distribution. All XML technology is finally aimed to the access of the Web - as a single, distributed resource, with no central authority and few, simple - rules.
    • -
    -

    - -

    MathML [3], introducing for the first time a content markup -layer in parallel -with a presentational one, has indubitably been a pioneering project towards -the mining of the mathematical treasure available on the web. Still, its -limitations are evident as well: -

      -
    • MathML is merely focused on mathematical expressions. However, in order to -bring the idea of a Semantic Web of Mathematics to its full potentialities, -other layers of mathematical information must be considered as well. In -particular, we need a clean, microscopic description of proofs, a markup for -mathematichal "objects" (Theorems, Lemmas, Corollaries, Examples, etc.), a -markup for "structured collections" of these objects (Documents, Theories, -etc.), possibly "functors" between these collections, and finally a good -"metadata" layer.
    • -
    • MathML is just an (important) piece in a much wider technological puzzle. -Passing from content to a good presentational format requires sophisticated -operations; on the other side, these transformations are themselves a basic -component of the whole mathematical knowledge (like mathematical fonts). XSLT -[8] provides here the right technology, opening the way to -the creation of well maintained and documented libraries of mathematical -stylesheets [11].
    • -
    -

    - -

    Similarly, the creation and maintenance of the library as a distributed -repository, and the crucial aspect of managing the information in the ``web -way'' requires a light but powerful communication protocol, overcoming some of -the limitations of HTTP (SOAP [6] looks as a promising -solution).

    - -

    Metadata will eventually require a fairly sophisticated model, much beyond -what is currently offered by typical metadata models as the Dublin-Core system -[1]. Here, RDF (Resource Description Framework) -([4], [5]) looks as the right -framework for developing the model, providing a general architectural model -for expressing metadata and a precise syntax for the encoding and interchange -of these metadata over the Web.

    - -

    The fact of encoding also the microscopic, logical level of mathematics opens -the possibility to have completely formalised subsystems of the library -([9],[10]), which could be checked -automatically by standard tools for the -automation of formal reasoning and the mechanisation of mathematics (proof -assistants and logical frameworks -([15],[16]). At the same time, any of these -tools could be used as an authoring system for documents of the library, by -simply exporting their internal libraries into XML, and using stylesheets to -transform the output into a standard, machine-understandable representation, -such as MathML content markup or OpenMath. In MOWGLI we shall use the COQ -Proof Assistant of INRIA [13] as a paradigmatic example of -these applications.

    - -

    An alternative route for the creation of content-based mathematical -information from standard digital repositories by means of a suitable -LaTeX-based authoring system will be explored by the Albert Einstein -Institute. They publish the "Living Reviews in Relativity" -[2], a solely -electronic journal on the Web, which provides refereed, regularly updated -review articles on all areas of gravitational physics. AEI will develop a -LaTeX-based authoring tool interfacing with MOWGLI, and serve as a showcase to -demonstrate how content-mark-up in mathematics improves the usability and -information depth of electronic science journals.

    - - -

    3. A minimal technological infrastructure

    - -

    It is clear that the creation and maintenance of large repositories of -content-based mathematical knowledge can only be conceived as a cooperative -and distributed process, comprising not only the creation of documents, but -also libraries of notational rules, metadata and management tools. The crucial -point is to build a minimal infrastructure to start up this process, so that -more and more tools can be added by interested parties. All these -considerations lead to two requirements for the developments in MOWGLI: -

      -
    • Information must be accessible with few basic rules an no central - authority (the web way).
    • -
    • Make extensive use of standard XML technology and tools, even when it would - be easier or more efficient just to develop an ad-hoc solution.
    • -
    -

    - -

    In this way, we put no barrier to third party development and, every time a -standard technology or tool is improved, we can simply benefit of the new -implementation with minimal effort.

    - -

    The MOWGLI architecture is essentially based on three components, which are -distribution sites, standard browsers and plug-outs, and active components, -such as XSLT processors, to elaborate the information. Distribution sites are -simply HTTP and FTP servers, widespread throughout the world; user browsers -are HTTP clients and run on the user host. We do not require any other -components to run on a specific host. Active components must provide answers -to browsers, requiring an HTTP server interface; they must also ask data to -distribution sites, acting as HTTP clients. Hence, MOWGLI is essentially -conceived as an HTTP pipeline.

    - -

    The module client of the distribution sites is the "getter", which maps URIs -to URLs and hence documents, offering functionalities similar to the APT -packet management system -(http://www.debian.org).

    - -

    The main active component is the XSLT stylesheet manager, whose typical -functionality is the application of a list of stylesheets (each one with the -respective list of parameters) to a document. However, other components may be -added in a completely modular way. This is exactly the content-based -architectural design of future web system enabled by XML technology.

    - - -

    4. The contributions from the participants

    - -

    The concrete background for the work in MOWGLI is represented by the -activities at the participating institutions. Though details could easily be -obtained from the MOWGLI web-page -(http://mowgli.cs.unibo.it) some short -remarks on this background should be made here.

    - -

    The Department of Computer Science at the University of Bologna is the only -educational institution in Italy to be affiliated to W3C. They care about the -coordination of the project. The HELM project (Hypertextual Electronic Library -of Mathematics, -http://www.cs.unibo.it/helm, see also -[12]) is active in -Bologna since 1999. It is one of the systems of reference mentioned in the -previous section.

    - -

    INRIA (Institut National de Recherche en Informatique et Automatique) is a -French institution located in Rocquencourt. They pursue two projects of -importance for MOWGLI: the Lemme project, introducing and developing formal -methods for use in writing scientific computing software, and the LogiCal -project, which developed the Coq proof assistant (see -[13]).

    - -

    The German Research Center for Artificial Intelligence (DFKI) is based in -Kaiserslautern and Saarbruecken. Its main mission is technology transfer, i.e. -to move innovations in Artificial Intelligence from the lab to the market -place. Its main MOWGLI-related prototypical product so far has been the -Web-based learning environment ActiveMath that integrates several external services.

    - -

    The Subfaculteit Informatica of Katholieke Universiteit Nijmegen hosts a -broad experience in logic, formal methods and theorem proving. They are -involved in several research activities in this domain as the EC sponsored -Network "TYPES", the FTA project (Fundamental Theorem of Algebra), the EC -Working group Calculemus which also deals with OpenMath et al.

    - -

    The role of the Albert Einstein Institute (MPG, Golm) near Potsdam has been -described above already. They provide a test bed with the Living Reviews which -will represent the important link to the domain of mathematical publishing. -This also is the main concern of the partner TU Berlin which is formally -associated to AEI caring about the exploitation and information dissemination -for MOWGLI.

    - -

    Trusted Logic makes the group complete. This is a French start-up company, -which offers a wide range of efficient and secure solutions of smart cards and -terminals in a wide range of areas. Their development methodology includes a -permanent concern of quality and security aspects.

    - -

    As it is common for projects like MOWGLI the cooperation between the partners -is regulated by workpackages and a time schedule for the deliveries. But the -project started formally in March 2002. Hence these things are still theory, -and it will be subject of the next report on MOWGLI to describe, how theory -came into practise.

    - - -

    BIBLIOGRAPHY

    - -
    -
    [1]
    -
    The Dublin Core Metadata Inititiative. http://purl.org/dc/
    - -
    [2]
    -
    Living Reviews in Relativity. - http://www.livingreviews.org.
    - -
    [3]
    -
    Mathematical Markup Language (MathML) 2.0 W3C Recommendation, 21 February -2001. http://www.w3.org/TR/MathML2/. -
    - -
    [4]
    -
    Resource Description Framework (RDF) Model and Syntax Specification, W3C -Recommendation 22 February 1999. - /http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/
    - -
    [5]
    -
    Resource Description Framework (RDF) Schema Specification 1.0, W3C - Candidate Recommendation 27 March 2000. - http://www.w3.org/TR/rdf-schema/
    - -
    [6]
    -
    SOAP Version 1.2 Part 0: Primer. W3C Working Draft 17 December 2001. - http://www.w3.org/TR/2001/WD-soap12-part0-20011217.
    - -
    [7]
    -
    Extensible Markup Language (XML) Specification. Version 1.0. W3C - Recommendation, 10 February 1998. - http://www.w3.org/TR/REC-xml -
    - -
    [8]
    -
    XSL Transformations (XSLT). Version 1.0, W3C Recommendation, 16 November - 1999. http://www.w3.org/TR/xslt.
    - -
    [9]
    -
    Asperti, A.; Padovani, L.; Sacerdoti Coen C.; Schena, I.: Formal -Mathematics in MathML. Proceedings of the First International Conference on -MathML and Math on the Web, October 20-21 2000, University of Illinois at Urbana-Champaign.
    - -
    [10]
    -
    Asperti, A.; Padovani, L.; Sacerdoti Coen, C.; Schena, I.: Formal -Mathematics on the Web. Proceedings of the Eighth International Conference on -Libraries and Associations in the Transient World: New Technologies and New -Forms of Cooperation, June 9-17, 2001, Sudak, Autonomous Republic of Crimea, Ukraine.
    - -
    [11]
    -
    Asperti, A.; Padovani, L.; Sacerdoti Coen, C.; Schena, I.: XML, -Stylesheets and the re-mathematization of Formal Content. Proceedings of -Extreme Markup Languages 2001 Conference, August 12-17, 2001, Montreal, Canada.
    - -
    [12]
    -
    Asperti, A.; Padovani, L.; Sacerdoti Coen, C.; Schena, I.: HELM and the -semantic Math-Web. Proceedings of the 14th International Conference on Theorem -Proving in Higher Order Logics (TPHOLS 2001), 3-6 September 2001, -Edinburgh, Scotland.
    - -
    [13]
    -
    B. Barras et al.:The Coq Proof Assistant Reference Manual, version 6.3.1, - http://pauillac.inria.fr/coq
    - -
    [14]
    -
    Tim Berner's Lee: The Semantic Web. W3C Architecture Note, 1998.
    - -
    [15]
    -
    G. Huet, G. Plotkin (eds): Logical Frameworks. Cambridge University
    -Press. 1991. - -
    [16]
    -
    G. Huet, G. Plotkin (eds): Logical Environments. Cambridge University -Press. 1993.
    - -
    [17]
    -
    Kohlase, M.: OMDoc: Towards an Internet Standard for the Administration, -Distribution and Teaching of mathematical Knowledge. Proceedings of Artificial -Intelligence and Symbolic Computation, Springer LNAI, 2000.
    - -
    [18]
    -
    Kohlase, M.: OMDoc: An Infrastructure for OpenMath Content Dictionary -Information. Bulletin of the ACM Special Interest Group for Algorithmic -Mathematics SIGSAM, 2000.
    -
    - -

    -Prof. Dr. Andrea Asperti
    -Dipartimento di Scienze dell Informazione
    -Universita degli Studii di Bologna
    -Via di mura Anteo Zamboni VII
    -I - 40127 Bologna
    -Italy -

    - -

    -Prof. Dr. Bernd Wegner
    -Fakultaet II, Institut fuer Mathematik
    -TU Berlin, Sekr. MA 8-1
    -Strasse des 17. Juni 135
    -D - 10623 Berlin
    -Germany -

    - - diff --git a/helm/mowgli/home/xml/publications/others/category_al.xml b/helm/mowgli/home/xml/publications/others/category_al.xml deleted file mode 100644 index ffeab60cd..000000000 --- a/helm/mowgli/home/xml/publications/others/category_al.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - Categories, Types and Structures. An introduction to Category - Theory for the Working Computer Scientist. - - - Giuseppe - Longo - - Foundation of Computing Series, Massachusetts Institute of Technology - Press, ISBN 0 262 01125-5, 1991 - diff --git a/helm/mowgli/home/xml/publications/others/cc.xml b/helm/mowgli/home/xml/publications/others/cc.xml deleted file mode 100644 index f6cc23998..000000000 --- a/helm/mowgli/home/xml/publications/others/cc.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - Common Criteria for Information Technology Security Evaluation - Part 1, 2, 3, Version 2.1. CCIMB-99-031, August 1999 - \ No newline at end of file diff --git a/helm/mowgli/home/xml/publications/others/crimea2001_apss.xml b/helm/mowgli/home/xml/publications/others/crimea2001_apss.xml deleted file mode 100644 index 1f151a612..000000000 --- a/helm/mowgli/home/xml/publications/others/crimea2001_apss.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - Formal Mathematics on the Web - - - - - Proceedings of the Eighth International Conference on - "Libraries and Associations in the Transient World: - New Technologies and New Forms of Cooperation", June 9-17, 2001, - Sudak, Autonomous Republic of Crimea, Ukraine - diff --git a/helm/mowgli/home/xml/publications/others/cup_hp91.xml b/helm/mowgli/home/xml/publications/others/cup_hp91.xml deleted file mode 100644 index 6b94c6f50..000000000 --- a/helm/mowgli/home/xml/publications/others/cup_hp91.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - Logical Frameworks - - G. - Huet - - - G. - Plotkin - - Cambridge University Press, 1991 - \ No newline at end of file diff --git a/helm/mowgli/home/xml/publications/others/cup_hp93.xml b/helm/mowgli/home/xml/publications/others/cup_hp93.xml deleted file mode 100644 index 22dcd1874..000000000 --- a/helm/mowgli/home/xml/publications/others/cup_hp93.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - Logical Environments - - G. - Huet - - - G. - Plotkin - - Cambridge University Press, 1993 - \ No newline at end of file diff --git a/helm/mowgli/home/xml/publications/others/cup_s.xml b/helm/mowgli/home/xml/publications/others/cup_s.xml deleted file mode 100644 index 2299f18d2..000000000 --- a/helm/mowgli/home/xml/publications/others/cup_s.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - A First Course in General Relativity - - Cambridge University Press, Cambridge (1985) - diff --git a/helm/mowgli/home/xml/publications/others/cup_s2.xml b/helm/mowgli/home/xml/publications/others/cup_s2.xml deleted file mode 100644 index 353ee5913..000000000 --- a/helm/mowgli/home/xml/publications/others/cup_s2.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - Geometrical methods of mathematical physics - - Cambridge University Press, Cambridge, (1980) - diff --git a/helm/mowgli/home/xml/publications/others/extreme2001_apss.xml b/helm/mowgli/home/xml/publications/others/extreme2001_apss.xml deleted file mode 100644 index 43e30b009..000000000 --- a/helm/mowgli/home/xml/publications/others/extreme2001_apss.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - XML, Stylesheets and the re-mathematization of Formal Content - - - - - Proceedings of ``Extreme Markup Languages 2001 Conference'', - August 12-17, 2001, Montr'eal, Canada. - diff --git a/helm/mowgli/home/xml/publications/others/har_bg.xml b/helm/mowgli/home/xml/publications/others/har_bg.xml deleted file mode 100644 index 2896fc308..000000000 --- a/helm/mowgli/home/xml/publications/others/har_bg.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - Proof Assistants using Dependent Type Systems - - - to appear as a chapter of the Handbook of Automated Reasoning, eds. - A. Robinson and A. Voronkov, Elsevier 2001 - diff --git a/helm/mowgli/home/xml/publications/others/jep_ws.xml b/helm/mowgli/home/xml/publications/others/jep_ws.xml deleted file mode 100644 index 43064e5b9..000000000 --- a/helm/mowgli/home/xml/publications/others/jep_ws.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - Making an Electronic Journal Live - - J. - Wheary - - - Journal of Electronic Publishing, vol.3, is. 1, September (1997). (http://www.press.umich.edu/jep/03-01/LR.html) - diff --git a/helm/mowgli/home/xml/publications/others/jep_wwsw.xml b/helm/mowgli/home/xml/publications/others/jep_wwsw.xml deleted file mode 100644 index dfb77dcb7..000000000 --- a/helm/mowgli/home/xml/publications/others/jep_wwsw.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - Thinking and Developing Electronically - - J. - Wheary - - - L. - Wild - - - - C. - Weyher - - Journal of Electronic Publishing, vol.4, is. 2, December (1998). - (http://www.press.umich.edu/jep/04-02/wheary2.html) - diff --git a/helm/mowgli/home/xml/publications/others/jlp2001_scg.xml b/helm/mowgli/home/xml/publications/others/jlp2001_scg.xml deleted file mode 100644 index abb8b1578..000000000 --- a/helm/mowgli/home/xml/publications/others/jlp2001_scg.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - The logic and mathematics of occasion sentences - - P.A.M. - Seuren - - - Venanzio - Capretta - - - The logic and mathematics of occasion sentences, to appear in the - Journal of Linguistics and Philosophy, 2001 - diff --git a/helm/mowgli/home/xml/publications/others/mathml2000_apss.xml b/helm/mowgli/home/xml/publications/others/mathml2000_apss.xml deleted file mode 100644 index 67d49461a..000000000 --- a/helm/mowgli/home/xml/publications/others/mathml2000_apss.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - Formal Mathematics in MathML - - - - - First MathML International Conference, October 20-21, 2000, - Urbana-Champaign, IL, USA. - diff --git a/helm/mowgli/home/xml/publications/others/mscs_gb.xml b/helm/mowgli/home/xml/publications/others/mscs_gb.xml deleted file mode 100644 index 504d68d97..000000000 --- a/helm/mowgli/home/xml/publications/others/mscs_gb.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - Some logical and syntactical observations concerning the first - order dependent type system lambda P - - - E. - Barendsen - - Mathematical Structures in Computer Science, vol. 9-4, 1999, - pp. 335 -- 360 - diff --git a/helm/mowgli/home/xml/publications/others/publication.dtd b/helm/mowgli/home/xml/publications/others/publication.dtd deleted file mode 100644 index 87efc8101..000000000 --- a/helm/mowgli/home/xml/publications/others/publication.dtd +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/helm/mowgli/home/xml/publications/others/tcs2001_og.xml b/helm/mowgli/home/xml/publications/others/tcs2001_og.xml deleted file mode 100644 index 2844b10d8..000000000 --- a/helm/mowgli/home/xml/publications/others/tcs2001_og.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - Proof by Computation in the Coq system - - M. - Oostdijk - - - To appear in Theoretical Computer Science, 2001 - diff --git a/helm/mowgli/home/xml/publications/others/tphols2000_gwz.xml b/helm/mowgli/home/xml/publications/others/tphols2000_gwz.xml deleted file mode 100644 index 470731062..000000000 --- a/helm/mowgli/home/xml/publications/others/tphols2000_gwz.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - Equational Reasoning via Partial Reflection - - - - J. - Zwanenburg - - Theorem Proving for Higher Order Logics, TPHOL 2000, Portland OR, USA, - eds. M. Aagaard and J. Harrison, LNCS 1869, pp. 162 -- 178 - diff --git a/helm/mowgli/home/xml/publications/others/tphols2001_apss.xml b/helm/mowgli/home/xml/publications/others/tphols2001_apss.xml deleted file mode 100644 index 14154d3a8..000000000 --- a/helm/mowgli/home/xml/publications/others/tphols2001_apss.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - HELM and the semantic Math-Web - - - - - Proceedings of the 14th International Conference on Theorem - Proving in Higher Order Logics (TPHOLS 2001), 3-6 September 2001, - Edinburgh, Scotland - diff --git a/helm/mowgli/home/xml/publications/others/w3c_bl98.xml b/helm/mowgli/home/xml/publications/others/w3c_bl98.xml deleted file mode 100644 index 0d6dd9863..000000000 --- a/helm/mowgli/home/xml/publications/others/w3c_bl98.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - The Semantic Web - - Tim - Berners-Lee - - W3C Architecture Note, 1998 - \ No newline at end of file diff --git a/helm/mowgli/home/xml/sites/aei.xml b/helm/mowgli/home/xml/sites/aei.xml deleted file mode 100644 index a4a11742a..000000000 --- a/helm/mowgli/home/xml/sites/aei.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - Max Planck Institute for Gravitational Physics (Albert Einstein - Institute) - Germany - http://www.aei.mpg.de -
    Am Muhlenberg 1, 14476 Golm, Germany
    - - -

    Since 1998 the Max Planck Institute for Gravitational Physics, which is - devoted to basic research in relativity, publishes one of the most - innovative electronic science journals, - Living Reviews in - Relativity. Its mission is to build the - journal into a primary reference point in the field, exploiting new and - cutting edge Web technologies to maximise use, transparency, and depth - of the information provided. The Institute has a number of staff who - are exceptionally skilled in computing, and many of them contributed to - the development of software that has made the journal's Web site one of - the most advanced in the world of electronic publishing. Further - background information on the journal can be found at - http://www.livingreviews.org/Project/index.html. Fast and effective - international dissemination of the Web journal is provided by the - European Mathematical Society's Information Service, which maintains a - network of more than 30 mirror servers worldwide

    -

    The Institute has close connections to the newly founded Center for - Information Management of the Max Planck Society that will act as a - central service to the more than 80 Max Planck Institutes, to improve - their ability to access and to publish information on the Internet. It - is further cooperating with the leading European publisher of original - research in gravitational physics, the Institute of Physics Publishing - (Bristol, UK) with its journal Classical and Quantum Relativity.

    -

    The Max Planck Institute for Gravitational Physics will join forces - with Professor Bernd Wegner at the Technical University in Berlin. - Both parties are currently cooperating in the dissemination and - mirroring of electronic journals like - Living Reviews in Relativity.

    -
    - - -
    - - Center for Information Management in the Max Planck Society - Germany - http://www.zim.mpg.de -
    c/o Max Planck Society, Hofgartenstrasse 8, PF 10 10 62, - D-80084 Munich, Germany
    - - -

    The mission of the new Center for Information Management of the Max - Planck Society is to allow the Society with its more than 80 - specialized research Institutes to keep pace with and eventually play - a leadership role in Europe in the management of scientific information. - It will be staffed with 6 employees and start operating in September - 2001. The project will be advised by a commission of MPG Institute - directors and Rick Luce, the Director of the Los Alamos National - Laboratory's "Library Without Walls".

    -
    - -
    - - TU Berlin - Germany - http://www.emis.de -
    Fachbereich Mathematik, Technische Universität Berlin, - Straße des 17. Juni 135, D - 10623 Berlin
    - - -

    The Technische Universität Berlin, with some 28 300 students, - is the largest technical universities in Germany. In - contrast to most other such institutions it offers a wide range - of subjects. In addition to the core subjects in natural - sciences and engineering, the TU Berlin also has faculties and - institutes specialising in planning, humanities, social sciences - and economics. In the Berlin region it offers the widest range - of engineering options.

    -
    - -
    -
    diff --git a/helm/mowgli/home/xml/sites/bologna.xml b/helm/mowgli/home/xml/sites/bologna.xml deleted file mode 100644 index 99949fbd6..000000000 --- a/helm/mowgli/home/xml/sites/bologna.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - University of Bologna (Italy), Department of Computer Science - Italy - http://www.cs.unibo.it -
    Via di mura Anteo Zamboni VII, 40127, Bologna, ITALY
    - - -

    The Department of Computer Science of Bologna is the - only educational institution in Italy to be affiliated - to the World Wide Web Consortium (and one of the few - members of this category in Europe). This affiliation - testifies the interest, both technical and didactic, - traditionally devoted by our Department to Web technologies, - Internet and, more generally, distributed computing. - This is joined to a solid expertise in programming - languages, algorithms, theory and formal methods, - that provides a very stimulating and dialectical environment - for research. - The Department is in charge of an undergraduate - Program in Computer Science, with more than three hundreds new - students a year, and a graduate Ph.D. Program, currently - comprising sixteen students.

    -
    - - Hypertextual Library of Mathematics - HELM - http://www.cs.unibo.it/helm - - - - - - -

    The Hypertextual Electronic Library of Mathematics Project - is active in Bologna since 1999. Its aim is the development of a suitable - technology for the creation and maintenance of a virtual, distributed, - hypertextual library of formal mathematical knowledge. As a subsidiary - goal, HELM is meant to integrate the current tools for the automation of - formal reasoning and the mechanisation of mathematics (proof assistants - and logical frameworks) with the most recent technologies for the - development of Web applications and electronic publishing, taking - advantage of the potentiality offered by XML Technologies. - The Project is developed in tight cooperation with the W3C - MathML Working Group, which we are a member of.

    -
    -
    -
    diff --git a/helm/mowgli/home/xml/sites/dfki.xml b/helm/mowgli/home/xml/sites/dfki.xml deleted file mode 100644 index 102915b50..000000000 --- a/helm/mowgli/home/xml/sites/dfki.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - German Research Center for Artificial Intelligence, GmbH, DFKI - Germany - http://www.dfki.uni-sb.de -
    - DFKI GmbH, - Stuhlsatzenhausweg 3, - D-66123 Saarbrücken -
    - - -

    The German Research Center for Artificial Intelligence - GmbH, DFKI was founded in 1988. Today, DFKI is one of the largest - non-profit contract research institutes in the field of innovative - software technology based on Artificial Intelligence (AI) methods. DFKI - is focusing on the complete cycle of innovation - from world-class basic - research and technology development through leading-edge demonstrators - and prototypes to product functions and commercialization. Based in - Kaiserslautern and Saarbrücken, the German Research Center for - Artificial Intelligence ranks among the important ``Centers of - Excellence'' worldwide. The key directors of DFKI are Prof. Dr. Wolfgang - Wahlster (CEO) and Dr. Walter G. Olthoff (CFO).DFKI's mission is - technology transfer, that is to move innovations in AI as quickly as - possible from the lab into the marketplace by maintaining research - projects at the forefront of science. Expertise and experience of the - company DFKI has strong expertise in each of the following domains:

    -
      -
    • Information Management and Document Analysis (Director: Prof. Dr. - Andreas Dengel)
    • -
    • Intelligent Visualization and Simulation Systems - (Director: Prof. Dr. Hans Hagen)
    • -
    • Deduction and Multiagent Systems (Director: Prof. - Dr. Jorg Siekmann)
    • -
    • Language Technology (Director: Prof. Dr. Hans Uszkoreit)
    • -
    • Intelligent User Interfaces (Director: Prof. Dr. - Wolfgang Wahlster)
    • -
    -

    DFKI is involved in numerous industrial, academian - projects including projects in the current EC IST programme dealing with - research and development in the broad areas of intelligent interface - agents, and multiagent systems for applications in supply-chain - management, virtual enterprises, e-commerce and advanced information - systems. The partners of the DFKI are leading large-scale - concerns such as DaimlerChrysler, SAP, and Alcatel, plus the two - universities of Kaiserlautern and Saarbrucken. In the range of - medium-sized firms INSIDERS, IDS Scheer, Tecmath and KIBG are to be added. - Finally, the two most important large-scale research centers on - international level, i.e. the Fraunhofer Society and GMD, round off the - circle of partners. DFKI is part of several European Networks of - Excellence such as AgentLink and CompuLog.

    -

    Recently, an Education Technology Group of DFKI, headed - by Prof. J.H. Siekmann, has been established. It has carried out basic - research and applications in several fields of AI, including presentation - planning (for education material), user modeling, proof planning, - knowledge representation (for educational and mathematical Web-documents) - and integration of (mathematical services). Its main prototypical product - so far has been the Web-based, user-adaptive, generative learning - environment ActiveMath that integrates several external services. - Members of the group are actively involved in the international academic - life by organizing or contributing to conferences and workshops.

    -
    - - - - - - -
    diff --git a/helm/mowgli/home/xml/sites/inria.xml b/helm/mowgli/home/xml/sites/inria.xml deleted file mode 100644 index ac3f5c23e..000000000 --- a/helm/mowgli/home/xml/sites/inria.xml +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Institut National de Recherche en Informatique et Automatique (INRIA) - Rocquencourt - France - http://www.inria.fr -
    Domaine de Voluceau, 78153 Rocquencourt Cedex, France
    - - -

    INRIA (National Institute for Research in Computer Science and - Control) is a French public-sector scientific and technological - institute operating under the dual authority of the Ministry of - Research and the Ministry of Industry. INRIA's missions are ``to - undertake basic and applied research, to design experimental systems, - to ensure technology and knowledge transfer, to organise international - scientific exchanges, to carry out scientific assessments, and to - contribute to standardisation''.

    -

    The research carried out at INRIA brings together experts from the - fields of computer science and applied mathematics covering the - following areas: Networks and Systems; Software Engineering and - Symbolic Computing; Man-Machine Interaction; Image Processing, Data - Management, Knowledge Systems; Simulation and Optimisation of Complex - Systems.

    -

    INRIA gathers in its premises around 2 100 persons including 1 600 - scientists , many of which belong to partner organisations (CNRS, - industrial labs, universities) and are assigned to work in common - ``projects''. On INRIA's budget, around 500 full-time equivalent R&D - positions can be accounted for.

    -

    A large number of INRIA senior researchers are involved in teaching - and their PhD students (about 550) prepare their thesis within the - different INRIA research projects (currently 74).

    -

    Its budget is roughly 90 MEuro, 20% of which comes from research and - development contracts, royalties and sales. Industrial relations are - strategic for INRIA:

    -
    -
    Industrial contracts and European Projects.
    -
    Numerous industrial partners contract with the Institute for - collaborative research. They are French or foreign - companies, of all sizes. 400 such contracts are presently - active. Roughly 40% of these contracts are European funded - ones. Since 1984, 250 European Framework-Programme (FP) - projects have been executed.
    - -
    Technology companies.
    -
    As the ultimate step in technology transfer, researchers are party to - the setting up of companies in order to implement their - technology on the market. Thirty seven spin-off companies - have been created since 1984. In 1999, INRIA has launched - two subsidiaries to promote high-tech start-up companies: - INRIA-TRANSFERT deals with early accompaniment of the - future companies, whereas I-SOURCE GESTION provides for - ``seed-money''.
    -
    -

    INRIA is a member of ERCIM EEIG, European Research Consortium for - Computer Science and Mathematics. Outside Europe, INRIA also has a - significant activity: it has created joint research laboratories - (Russia and China), signed cooperation agreements (NSF, India, Brazil, - etc.) and promotes intensive scientific exchanges.

    -
    - - Lemme - http://www-sop.inria.fr/lemme - - - - - - - - -

    The purpose of the Lemme project is to introduce and develop formal - methods for use in writing scientific computing software. In scientific - computing, algorithms and mathematics are at the forefront. We are thus - developing tools and methods to help producing correct programs starting - from the usual mathematical descriptions of data, algorithms, properties - and proofs, structured into four research themes:

    -
      -
    • Proof environments (development of the Pcoq system in Java and its - compatibility with XML/MathML).
    • -
    • Formalisation of mathematical theories (algebraic geometry, elementary - algebra and analysis).
    • -
    • Certified implementation of scientific computing algorithms (computer - algebra, arithmetics, logic).
    • -
    • Proofs on semantics of programming languages (Javacard).
    • -
    -

    The project belongs to the European working group Types, and to the - French action AOC (Arithm\'etique des Ordinateurs Certifiée). It keeps - up industrial collaborations with Dassault-Aviation (program proof - environments), Alcatel Space Industry (certified numerical code), and - GemPlus (Javacard certification), and also collaborates with teachers at - university on the use of formal proofs and Web-based environments in - mathematics courses.

    -
    -
    - - LogiCal - http://www.logical.inria.fr - - - -

    The LogiCal team of INRIA is working on theoretical and practical - aspects of mathematical proofs. It develops the Coq proof assistant, - an implementation of an expressive formalism called Calculus of - Inductive Constructions. Coq is used both for development of formal - mathematics and for certification of programs, especially protocols - and critical systems.

    -

    The LogiCal project is a joint project with University Paris 11. It - is involved in the European TYPES working group and in several French - actions. Especially, it is involved in the S-Java action aiming at - certifying safety properties for JavaCard programs, in a project - aiming at certifying algorithms used in computer algebra - systems. LogiCal collaborates also on proof automation with France - Telecom.

    -
    -
    -
    diff --git a/helm/mowgli/home/xml/sites/nijmegen.xml b/helm/mowgli/home/xml/sites/nijmegen.xml deleted file mode 100644 index a8daab273..000000000 --- a/helm/mowgli/home/xml/sites/nijmegen.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - Katholieke Universiteit Nijmegen - The Netherlands - http://www.cs.kun.nl -
    Subfaculteit Informatica, - Faculteit Natuurwetenschappen, Wiskunde en Informatica, - Katholieke Universiteit Nijmegen, - Toernooiveld 1, 6525 ED Nijmegen, The Netherlands
    - - -

    The Sub-faculty of Computer Science at the University of Nijmegen hosts - a broad experience in logic, formal methods and theorem proving. The - Faculty of Mathematics and Computer Science of Eindhoven University of - Technology is strong in computer algebra, theorem proving and applying - Web technology to mathematics. Nijmegen and Eindhoven have a long - history in cooperation on topics related to this FET proposal, notably - type theory, theorem proving and combining various computer - mathematics applications, especially using OpenMath. This cooperation - was mainly taking place between the research groups of Geuvers and - Barendregt in Nijmegen and the research group of Cohen in Eindhoven.

    -

    The research group of Geuvers and Barendregt is part of the EC - sponsored Thematic Network ``TYPES'' (IST-1999-29001) and of its - ancestor, the EC Working Group ``Types for Proofs and Programs'', - which testifies there interest in theorem proving, especially using - type theory based theorem provers. The FTA project (Fundamental - Theorem of Algebra), started in 1999 and to be finished in 2001, has - as its main goal to formalize (in Coq) a large body of undergraduate - mathematics (algebra and analysis), culminating in a proof of the - fundamental theorem of algebra. The formalization of the mathematics - is now finished and the next step is to make the formalization - accessible and usable by others, preferably through the World Wide - Web.

    -

    The research group in Nijmegen and the research group of Cohen in - Eindhoven are both part of the EC Working Group Calculemus, which aims - at bridging the gap between different mathematical computer - applications, like computer algebra systems and theorem provers. One - of the vehicles for doing so is the definition of OpenMath as an - intermediate language for the exchange of mathematical objects among - computer applications. - The research group of Cohen is part of the - IST Thematic Network ``OpenMath'' (IST-2000-28719) and its ancestor, - the OpenMath Esprit project (see http://www.openmath.org/).

    -
    - - - - - - - - - - -
    diff --git a/helm/mowgli/home/xml/sites/site.dtd b/helm/mowgli/home/xml/sites/site.dtd deleted file mode 100644 index ce43fddc0..000000000 --- a/helm/mowgli/home/xml/sites/site.dtd +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/mowgli/home/xml/sites/trusted-logic.xml b/helm/mowgli/home/xml/sites/trusted-logic.xml deleted file mode 100644 index ed5a5d8bd..000000000 --- a/helm/mowgli/home/xml/sites/trusted-logic.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - Trusted Logic - France - http://www.trusted-logic.fr -
    - 5 rue du Bailliage, - 78000 Versailles, - FRANCE -
    - - -

    Created in January 1999, TRUSTED LOGIC S.A. is a french start-up company, - which presents a unique combination of expertise in embedded - software challenges and in formal methods analysis. - TRUSTED LOGIC offers a wide range of efficient and secure solutions for - smart cards and terminals in the following areas : open systems for smart - cards (Java Card,Windows SmartCards, Multos), open systems for terminals - (mobile phones, PDA, bank terminals, etc), e-commerce, remote secured - access to intranets, and secured networks infrastructures (home or car - control).

    -

    The development methodology, inside Trusted Logic S.A., includes a - permanent concern of quality and security aspects (formal specification - and proofs) that provides a software which is efficient, reliable and - ready to face high level Common Criteria evaluations when needed

    -

    The main actors in the smart card and in the embedded software industry - are among its customers : Sun Microsystems Inc., Bull, Gemplus, Oberthur, - Schlumberger, ST Microelectronics, VISA International, Carte Bleue, GIE - Cartes Bancaires, ActivCard, Proton World International, etc.

    -
    - -
    diff --git a/helm/mowgli/home/xml/slides/mowgligroup.xml b/helm/mowgli/home/xml/slides/mowgligroup.xml deleted file mode 100644 index 49889481e..000000000 --- a/helm/mowgli/home/xml/slides/mowgligroup.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - - Activities in the Nijmegen - Eindhoven site - - -

    MOWGLI Kick-Off Meeting Berlin, March 15, 2002

    - -

    Activities in the Nijmegen - Eindhoven site

    - - -

    People

    - Nijmegen: -
      -
    • Henk Barendregt (prof.)
    • -
    • Herman Geuvers (assoc. prof.)
    • -
    • Freek Wiedijk (post-doc)
    • -
    • Dan Synek (sci. progr.)
    • -
    • Milad Niqui (Ph.D. stud.)
    • -
    • Jasper Stein (Ph.D. stud.)
    • -
    • Luis Cruz-Filipe (Ph.D. stud.)
    • -
    • Georgi Jojgov (Ph.D. stud.)
    • -
    - Eindhoven -
      -
    • Arjeh Cohen (prof.)
    • -
    • Scott Murray (post-doc)
    • -
    • Ernesto Reinaldo (Ph.D. stud.)
    • -
    -

    Focus

    - Nijmegen: -Formalizing Mathematics: To devise and study computer systems -for formalizing mathematics, which includes mathematical activities as -defining, computing and proving, but also the -activities of presenting and editing formalized -mathematics. -
    - Eindhoven -Interactive Mathematical Documents: Mathematical documents on -the WWW, with interaction possibilities with various -mathematical applications. Use of OpenMath (resp. -OmDoc) to represent these documents, in order to have -semantically meaningful representation of mathematical objects. - -

    Actual Activities

    -
      -
    • Study the underlying formal logic of theorem provers.
    • -
    • Formalizing mathematics (Coq: FTA, Analysis, Lin. -Alg., Reals).
    • -
    • Adding automation/computation facilities to a theorem -prover (Coq).
    • -
    • Investigate various proof styles, notably by comparing -various theorem provers (Coq, Mizar, Hol-light).
    • -
    • Develop a benchmark for mathematical theorem provers.
    • -
    • Study the presentation and communication of proof developments.
    • -
    • Development and use of OpenMath as a language for coding -and communicating `meaningful' mathematical objects.
    • -
    • IDA: Interactive Course Notes Algebra, based on OpenMath/OMDoc.
    • -
    • Develop packages for XML-based interaction between -math. applications.
    • -
    - -

    Interest in Mowgli

    -
      -
    • Rendering of Libraries of Formalized Mathematics.
    • -
    • Searching/Retrieving information (knowledge) from these Libraries.
    • -
    • Presentation of Formal proof/theory developments.
    • -
    - -

    Interest in Mowgli

    -
      -
    • Rendering of Libraries of Formalized Mathematics.
    • -
    • Searching/Retrieving information (knowledge) from these Libraries.
    • -
    • Presentation of Formal proof/theory developments.
    • -
    - - -

    Planned Contribution to Mowgli

    -
      -
    • Requirements Analysis: What do we need & What is already there?
    • -
    • Transformation of formal proofs (into MathMl/XML/...).
    • -
    • Generation of Natural Language proofs. (Views on proofs.)
    • -
    • Validation of the system through large math. theory developments.
    • -
    - - diff --git a/helm/mowgli/home/xml/software/index.xml b/helm/mowgli/home/xml/software/index.xml deleted file mode 100644 index d9e3bdba1..000000000 --- a/helm/mowgli/home/xml/software/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - -]> - - - - Software - - - -

    Software

    - -

    Nothing has been released yet. Try later.

    - -

    - - - - diff --git a/helm/mowgli/home/xml/work-packages/distribution.xml b/helm/mowgli/home/xml/work-packages/distribution.xml deleted file mode 100644 index 2f81e8db6..000000000 --- a/helm/mowgli/home/xml/work-packages/distribution.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - Distribution - Month 18 - Month 30 - - - - - - - - -

    Overall architectural design of the distribution model, - its implementation and integration with the consultation - engine.

    -
    - -

    The work is articulated in three, conceptually sequential - tasks:

    - - - Architectural Design of the Distribution Model. -

    The big - issue it to find the right compromise between two opposite - requirements: distribution (in the sense of the - Web: few rules, no central authority) and coherence - (coherence between different copies of a same document - and global management of the library as a single rational - development). Other architectural problems to be solved - are the management of Uniform Resource Identifiers, their - mapping to Uniform Resource Locators, and the integration - of databases in the distribution model. The final aim is - to have a phisically distributed library with a - single logical view.

    -
    - - Prototype implementation. -

    First prototyping implementation - of the distribution layer.

    -
    - - Integration with the Consultation Engine. -

    First - implementation of the library as a distributed repository. - Distribution should be completely transparent to users of - the Consultation Engine.

    -
    -
    -
    - - - -

    The main milestone is the release of the advanced MOWGLI - prototype, for the fourth meeting of the project, at month - 24. The advanced prototype will integrate the previous one - with the new distribution facilities offered by the - distribution layer.

    -
    -
    diff --git a/helm/mowgli/home/xml/work-packages/index.xml b/helm/mowgli/home/xml/work-packages/index.xml deleted file mode 100644 index f032a7d9f..000000000 --- a/helm/mowgli/home/xml/work-packages/index.xml +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -]> - - - - - - - - - - - -

    The previous work packages are not strictly sequential.

    -

    WP1 should be reasonably short; apart from a few topics requiring a - deeper analysis (Tasks 1.3-5), this phase is essentially meant to rapidly - reach a good level of inter-operability among the different sites.

    -

    Most part of the work is based on the possibility to have at our - disposal, and as soon as possible, large collections of documents encoded - with semantic markup. One strategy is the import of material (e.g. - journal articles) written in LaTeX. The development of a suitable LaTeX - based authoring tool (Task 4.4) will need to begin immediately, as an - appropriate semantic encoding in LaTeX has to be developed first. - The delivery of the first prototype of the authoring tool is scheduled - for month 18.

    -

    A more rapid way to get meaningful repositories of fully structured - mathematical knowledge is by exporting them from the available - libraries of Logical Frameworks and Proof Assistants (Task 2.1). - The intelligence contained in the exported XML files should reflect the - requirements defined - in the previous work package, requiring a deep analysis of the markup - model. After six months from the beginning of the project we plan to have - a first prototype of the Exportation Module and a first draft of the - Document Type Descriptor for thelow, logical level. This is our first - Milestone.

    -

    At this point we may start the study of the intermediate format of the - information, and the implementation of the stylesheets performing the - transformation (tasks T2.2-3). This part of the work is expected to be - essentially completed after one year (second Milestone). Since a strong - feedback is expectedwith presentational issues, we plan to begin the - development of presentational stylesheets around month 9. In turn, the - need of rapidly have at our disposal good presentational engines suggests - to begin their development as soon as possible (task 4.1).

    -

    In parallel with these transformation issues, we shall start the study and - classification of metadata, and their concrete modelling.

    -

    Summing up, at the end of first year we plan to have:

    -
      -
    • a formal Document Type Descriptor of the intermediate level;
    • -
    • a bunch of stylesheet performing the transformation to intermediate - representation, both for formulae and proofs;
    • -
    • a detailed report on metadata;
    • -
    • a first prototype model of metadata (in RDF format);
    • -
    • a prototype MathML-viewer.
    • -
    -

    During the first half of second year we shall perform, in parallel, four - major activities:

    -
      -
    • study and development of presentational stylesheets, both for expressions - and proofs, and automatic extraction of metadata (tasks T2.4-6).
    • -
    • architectural design and implementation of the consultation engine (task - T4.2, requiring the metadata model), and of the functionalities for - assisted annotation in natural language of the documents (task T4.3, - requiring both the MathML-viewer, and a detailed description of the - intermediate level).
    • -
    • overall architectural design and first prototype implementation of the - distribution model (task T5.1-T5.2).
    • -
    • finalize the first prototype of a LaTeX based authoring tool - (Task 4.4)
    • -
    -

    The second half of the second year is devoted to the completion of the - previous tasks, and to their integration inside a single, compound - application. Around this time we shall also start a detailed validation - of the application, according to three pilot applications:

    -
      -
    1. Formalisation of a full undergraduate course in algebra or analysis for - didactical purposes.
    2. -
    3. Formalization of (part of) the process of loading, verifying and - executing an applet into a smart card. This application will provide - a case study close to both information technology (IT) industry and - Computer Science research, where the presentation and layout needs are - not exactly the same as in Mathematics. The example concerns the - representation of different abstract state machines, transition systems, - typing calculus, and program code. Such concepts are pragmatic use cases - of the formal concepts that usually appears in security evaluations of - IT products and Computer Science articles.
    4. -
    5. Make maximal use of content marked-up articles in a solely - electronic scientific physics journal. This will allow us to demonstrate - the benefits of content mark-up for search, retrieval, and re-use of - mathematical content, and user customisable content presentation. - Several articles will be processed to test scope, functionality, and - user friendliness of the authoring tool developed in Task 4.4. The tool - will be refined and the mathematical semantics covered extended. The - suite of articles will be used to show benefits of automated - annotation and cross-linking between related mathematical concepts.
    6. -
    -

    The last six months are mainly devoted to testing, debugging, validation, - dissemination of results and exploitation plans.

    -
    -
    diff --git a/helm/mowgli/home/xml/work-packages/information-dissemination-and-exploitation.xml b/helm/mowgli/home/xml/work-packages/information-dissemination-and-exploitation.xml deleted file mode 100644 index fe427b1a9..000000000 --- a/helm/mowgli/home/xml/work-packages/information-dissemination-and-exploitation.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - Information Dissemination and Exploitation - Month 3 - Month 30 - - - - - - - - -

    The work package aims to:

    -
      -
    • involve the largest community of professionals in the - modelling phase.
    • -
    • promote dissemination of project results in the relevant - international forums.
    • -
    • promote the use of the service, both for educational and - professional purposes. This phase will start after the - release of the first prototype, at month 18.
    • -
    -
    - -

    The dissemination of results is in charge of the Project - Dissemination & Exploitation Committee, which is - responsible to prepare, during the first six months, a - detailed dissemination work-plan (D2), and to follow its - execution during the Project.

    -

    Information dissemination will take place via - professional journal articles, presentations at conferences, - international news groups, specific interest groups and so - on. Relevant reports of the projects will be made publicly - available on the World Wide Web. For advanced - releases, we also plan to prepare an ``information pack'', - including a folder and CDROM with demos.

    -
    - - - Scientific Publications on professional journals - and conference proceedings. - -

    Criteria for evaluating MOWGLI's dissemination and its - technological impact will be detailed in the Dissemination - and use Plan. The Project Dissemination & Exploitation - Committee will be in charge to monitor the state of - advancement of the Project according to these criteria.

    -
    -
    diff --git a/helm/mowgli/home/xml/work-packages/interfaces.xml b/helm/mowgli/home/xml/work-packages/interfaces.xml deleted file mode 100644 index b8ca886fd..000000000 --- a/helm/mowgli/home/xml/work-packages/interfaces.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - Interfaces - Month 3 - Month 24 - - - - - - - - -

    This Work-Package is devoted to the design and the - implementation of the interfaces to the library, covering - rendering, browsing, searching and retrieving - functionalities. Some additional functionalities for - authoring purposes (such as computer assisted annotation of - proofs) will be also taken into account.

    -

    Our privileged rendering language will be MathML, which is - likely to be rapidly adopted as the main language for - representing mathematical notation on the Web.

    -
    - -

    The work is organised in the following tasks:

    - - - MathML rendering/browsing engines. -

    Our privileged - rendering language will be MathML. In order to be able to - test the presentational stylesheets,(Task 2.5) we need a - MathML compliant browser, that will be developed as a - part of the project (starting from a previous - prototype).

    -
    - - Consultation Engine (archiving, searching and retrieving). -

    The task is devoted to the architectural design and - implementation of the main functionalities for the - consultation and the management of the library.

    -
    - - Assisted Annotation. -

    This cover an additional - functionality of the interface, aimed to support the user - in the process of annotating a proof in natural - language.

    -
    - - LaTeX-based authoring tool. -

    A tool supporting automatic - generation of Content-MathML from a suitably - (macro-)enriched version of LaTeX.

    -
    -
    -
    - - - - - - -

    The main milestone is the release of the first MOWGLI - prototype, at month 18.

    -
    -
    diff --git a/helm/mowgli/home/xml/work-packages/metadata.xml b/helm/mowgli/home/xml/work-packages/metadata.xml deleted file mode 100644 index c6eff07a7..000000000 --- a/helm/mowgli/home/xml/work-packages/metadata.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Metadata - Month 6 - Month 21 - - - - - - - - -
      -
    • Delineation of the basic intelligence to be considered - for encapsulation in metadata, in order to meet the needs - delineated during Requirement Analysis (WP1).
    • -
    • Definition and Development of a specific Markup Model - in RDF.
    • -
    -
    - -

    The precise definition of metadata and their actual - Markup Model are essential aspects for implementing the - main functionalities of the library, and especially for - archiving, searching and retrieving issues. The work will - be articulated in two main, almost sequential, tasks:

    - - - Use, meaning and classification. -

    This task, based on the - previous documents D1 and D2, is aimed to provide a - precise definition and classification of all metadata - required for an effective and efficient management of the - library.

    -
    - - Modelling. -

    This is devoted to the definition of a precise - markup model. To this aim, we plan to use the Resource - Description Framework of W3C.

    -
    -
    -
    - - - -

    The definition of the Metadata model is amain milestone, - since the architectural design and implementation of the - consultation engine (Task 4.2) will be essentially based on - it. Similarly, it is required for Task 2.4 (automatic - extraction of metadata).

    -
    -
    diff --git a/helm/mowgli/home/xml/work-packages/project-management.xml b/helm/mowgli/home/xml/work-packages/project-management.xml deleted file mode 100644 index 645d2beaf..000000000 --- a/helm/mowgli/home/xml/work-packages/project-management.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - Project Management - Month 0 - Month 30 - - - - - - - - -
      -
    • General project management and coordination.
    • -
    • Knowledge and skills transfer between consortium - members.
    • -
    • Relation to the European Commission.
    • -
    -
    - -

    The Project management will be assured by the following - relevant roles: a) Project Manager, b) Exploitation manager, - c) Work-package Leaders d)Technical Contributors, and by - the following Project Bodies: a)Project Coordination - Committee (PCC), b) Project Exploitation Board (PEB) and e) - Work-package Teams.

    -

    The {\bf Project Manager} chairs the PCC. The - mandate of the PCC is to represent the Project, report to - the Commission, monitor overall performance of the project, - ensure accomplishment of the technical objectives, promote - project visibility, promote dissemination of project results - in the relevant international forums, promote acceptance of - project results, administer project resources and monitor - project spending. The {\bf Exploitation Manager} will be - responsible for coordinating dissemination and exploitation - activities undertaken by the Project Exploitation Board - (PEB) in close cooperation with the Project Coordination - Committee (PCC).

    -

    Information flow within the Project will be ensured by - exchange of internal technical papers, notification of - relevant new publications technologies or standards, and - reports from external meetings. All technical documentation - generated by the project will be exchangeable in electronic - format, according to a set of guidelines to be agreed at - project start-up. The project Manager will enforce - adherence to these guidelines. Only strictly formal - correspondence will be exchanged by ordinary mail and - telefax. Urgent correspondence over e-email will be sent - with a request for explicit acknowledgement.

    -

    The Coordinating Partner will be responsible to prepare - and maintain a Web page of the project and a CVS repository - (also available via Web).

    -
    - Cost Statements and Project Reports (month 12, 20, - 30). - - - - - -

    Main milestones are the periodic meetings, at month 6, 12, - 20, 24, 30.

    -
    -
    diff --git a/helm/mowgli/home/xml/work-packages/requirement-analysis.xml b/helm/mowgli/home/xml/work-packages/requirement-analysis.xml deleted file mode 100644 index 996fce7e0..000000000 --- a/helm/mowgli/home/xml/work-packages/requirement-analysis.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Requirement Analysis - Month 0 - Month 6 - - - - - - - - -
      -
    • Definition of the application scenarios.
    • -
    • Precise articulation of all the functionalities required - by the system, and all possible expected interactions - with documents.
    • -
    • Overall requirements of the distribution model of the - library.
    • -
    -
    - -

    The work plan is naturally organised in subtasks according - to the different basic kind of interactions and manipulation - to be considered, namely:

    - - - Mathematics and the Web. -

    State of the art, standards and - tools.

    -
    - - Structured and Formal Mathematics. -

    Delineation and - layering of Semantic Components. Requirements for - the interaction with tools for the automation of formal - reasoning.

    -
    - - Metadata. -

    Classification and data mining for content-based - mathematical documents, and key architectural guidelines - for the metadata model.

    -
    - - Searching and Retrieving. -

    State of the art, use cases and - application scenarios.

    -
    - - Distribution. -

    Distributed document repositories and - peer-to-peer interoperability.

    -
    - - Document Authoring. -

    State of the art, use cases and - application scenarios.

    -
    -
    -

    Part of the activity, covering Tasks T1.1-2-6 should be - concluded within the first three months, with the - preliminary report D1.a. The main aim of this phase is - to rapidly reach a good level of inter-operability among the - different sites, by implementing a suitable politic of - knowledge and skills transfer between the members of the - consortium (short visits and/or small thematic workshops, - according to the case).

    -

    However, some delicate issues, such as Metadata, Searching - and Retrieving and Distribution (Task T1.3-4-5) will - eventually require a deeper analysis (deliverables D1.b and - D1.c).

    -

    WP1 will be eventually closed during the first meeting of - the Project (month six), when all the reports will be - discussed and approved.

    -
    - - - - -

    The preliminary report D1.a is not a realmilestone: - it should be considered as a first internal draft summarising - the main functionalities required by the system and the basic - intelligence to add to documents, as markup and/or metadata, - to meet these requirements. All these issues will be - eventually detailed in D1.b and D1.c, which are real - Milestones, since the rest of the work will be largely - driven by them.

    -
    -
    diff --git a/helm/mowgli/home/xml/work-packages/testing-and-validation.xml b/helm/mowgli/home/xml/work-packages/testing-and-validation.xml deleted file mode 100644 index bbdd09cb9..000000000 --- a/helm/mowgli/home/xml/work-packages/testing-and-validation.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - Testing and Validation - Month 12 - Month 30 - - - - - - - - -

    The WP intends to measure the system suitability and - scalability and the satisfaction level of users with the - service.

    -
    - -

    Large scale testing and validation will start after the - release of the first MOWGLI prototype, at month 18. We - shall consider three main validation tests:

    - - - Education. -

    Full development of a fragment of the library - covering a typical undergraduate course in algebra of - analysis.

    -
    - - Certified code. -

    The aim is to be able to present the - formalization and the demonstration of some security - properties related to the code embedded into a smart card. - The presentation must be in a format understandable by - the company in charge of the evaluation of the code and - in accordance with the Common Criteria standard.

    -
    - - Electronic Publishing. -

    The aim is to test the LaTeX-based - authoring tool and to demonstrate how an electronic - physics journal benefits from the exploitation of - content markup in journal articles.

    -
    -
    -
    - - - - - -

    We expect a lot of feed-back during this phase, that will - be taken into account for the definition of the advanced and - final versions of the MOWGLI prototype.

    -
    -
    diff --git a/helm/mowgli/home/xml/work-packages/transformation.xml b/helm/mowgli/home/xml/work-packages/transformation.xml deleted file mode 100644 index 972abe1a2..000000000 --- a/helm/mowgli/home/xml/work-packages/transformation.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - Transformation - Month 0 - Month 21 - - - - - - - - -

    This work package is devoted to the complex issue of - transforming a low level, content description of mathematics - (understandable by automatic applications for the - mechanization of mathematics) into a human-readable - presentational format. It covers both statements and proofs. - The transformation will be decomposed in a sequence of - intermediate steps, for modularity reasons. All - transformations will be implemented by means of - XSLT-stylesheets. Stylesheets will be simple, modular, and - easily composable. All the transformation process should be - independent from any specific application.

    -
    - -

    The work package is articulated in the following tasks:

    - - - XML exportation. -

    The task is devoted to the translation - of the standard library of the COQ Proof assistant into a - suitable XML dialect, and to the definition of a low-level - DTD for the terms of the Calculus of Inductive - Construction (the logical system used by COQ).

    -
    - - Stylesheets to intermediate representation. -

    Implementation of a bunch of stylesheets transforming the - low-level logical description of COQ-expressions into a - ``standard'' intermediate, content-level representation - such as MathML content.

    -
    - - Proof transformation. -

    Similar to the previous task, but - for proofs. The delicate point, here, is the fact that no - ``standard'' intermediate representation currently exists, - and thus it has to be defined.

    -
    - - Automatic extraction of metadata. -

    Relevant metadata such - as list of identifiers in critical positions inside - statements can be automatically extracted from the fully - structured representation of mathematical objects. This - information can then be exploited for searching and - retrieving. The precise list of metadata will be defined - in Work Package 3.

    -
    - - Presentational Stylesheets. -

    Implementation of a bunch of - stylesheets transforming the intermediate content - representation into a suitable rendering format (MathML - presentation, HTML, etc.)

    -
    - - Automatic Proof Generation in Natural Language. -

    Similar - to the previous task but for proofs. In this case, a fully - automated approach is unlikely to produce really - satisfactory results, and the process should be possibly - integrated with some mechanism for interactive annotation - (see Task 4.3).

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

    The exportation module D2.a. is our first - milestone: without a large amount of available documents it - would be impossible to test the transformations. Similarly, - without a precise definition of the intermediate language, - and a large sample of documents in this format (D2c-d) we - cannot start to seriously address the presentational issue. - Note that the intermediate language is the real core of the - whole project.

    -

    The development of presentational stylesheets also depends - in an essential way on the development of rendering/browsing - engines for the chosen presentational language (in - particular, for MathML).

    -

    For the end of month 18, we expect to have a first working - prototype of the whole application.

    -
    -
    diff --git a/helm/mowgli/home/xml/work-packages/work-package.dtd b/helm/mowgli/home/xml/work-packages/work-package.dtd deleted file mode 100644 index 215bd5218..000000000 --- a/helm/mowgli/home/xml/work-packages/work-package.dtd +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/mowgli/home/xsl/approaching-deadlines.xsl b/helm/mowgli/home/xsl/approaching-deadlines.xsl deleted file mode 100644 index 7a7317fb5..000000000 --- a/helm/mowgli/home/xsl/approaching-deadlines.xsl +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - -

    Approaching Deadlines:

    - - - - - - -
    -
    - -
    diff --git a/helm/mowgli/home/xsl/common.xsl b/helm/mowgli/home/xsl/common.xsl deleted file mode 100644 index 9381c2d20..000000000 --- a/helm/mowgli/home/xsl/common.xsl +++ /dev/null @@ -1,215 +0,0 @@ - - - - - - - - -
    - - - - - -
    - - -
    - IST Logo Small -
    -
    -
    -
    - - - -
    - - - - - -
    -
    - This page is hosted by the - Department of Computer Science, - University of Bologna. -
    - Last updated . -
    -
    -
    - IST Logo Small -
    -
    -
    -
    - - - - - - - - - - - - - - - - - . - - - - - - - - - - - - - - - - - - - , - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - - - - - 1st - 2nd - 3rd - 11th - 12th - 13th - - - st - - - - nd - - - - rd - - - - th - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - , - - - - - - - - - - - - - - - - , - - - - - - - - - - - - - - - red - - - green - - - blue - - - maroon - - - - -
    diff --git a/helm/mowgli/home/xsl/consortium.xsl b/helm/mowgli/home/xsl/consortium.xsl deleted file mode 100644 index 17420ee41..000000000 --- a/helm/mowgli/home/xsl/consortium.xsl +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - Consortium - - - - - - - - -

    The Consortium

    -

    - The Consortium is made of - - sites: -

    - - -
    - -
    diff --git a/helm/mowgli/home/xsl/deadlines.xsl b/helm/mowgli/home/xsl/deadlines.xsl deleted file mode 100644 index a71a04feb..000000000 --- a/helm/mowgli/home/xsl/deadlines.xsl +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - <xsl:value-of select="$events-class"/> - <xsl:text> Events Sorted by Deadlines</xsl:text> - - - -

    - - Events -

    - - - other-events.html - mowgli-events.html - - - [Sorted by event date] [Sorted by deadline] -

    -
    -
      - - - -
    -
    -

    Past Events

    -
      - - - -
    - - -
    - - -
  • - - - - - - - - - - - - - - - - -
  • -
    - -
    - diff --git a/helm/mowgli/home/xsl/deliverable.xsl b/helm/mowgli/home/xsl/deliverable.xsl deleted file mode 100644 index 3d7fa816f..000000000 --- a/helm/mowgli/home/xsl/deliverable.xsl +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - <xsl:value-of select="deliverable/@id"/> - <xsl:text> </xsl:text> - <xsl:value-of select="deliverable/@name"/> - - - - - - - - - -

    - - - -

    -

    - Working package: - - - -

    -

    - Leader site: - - - -

    -

    - Extimated person-month: - -

    -

    - Type: - -

    -

    - To be delivered at: - -

    -
    - -
    diff --git a/helm/mowgli/home/xsl/events.xsl b/helm/mowgli/home/xsl/events.xsl deleted file mode 100644 index 8b8ed5aa0..000000000 --- a/helm/mowgli/home/xsl/events.xsl +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - - - - - - - - - <xsl:value-of select="$events-class"/> - <xsl:text> Events</xsl:text> - - - -

    - - Events -

    - - [Sorted by event date] [Sorted by deadline] -

    -
    -
    -
    - - - -
    -
    -

    Past Events

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

    -
    - -

    Deadlines:

    -
      - -
    -
    -
    -
    - - - -
  • - - - - - - - - - - - - - - -
  • -
    - - diff --git a/helm/mowgli/home/xsl/latest-news.xsl b/helm/mowgli/home/xsl/latest-news.xsl deleted file mode 100644 index 974c2e981..000000000 --- a/helm/mowgli/home/xsl/latest-news.xsl +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - -

    Latest News

    -
    - - - -
    - Older news -
    -
    - -
    diff --git a/helm/mowgli/home/xsl/management.xsl b/helm/mowgli/home/xsl/management.xsl deleted file mode 100644 index a0fb276cc..000000000 --- a/helm/mowgli/home/xsl/management.xsl +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - - - - - - - Project Management - - - - - - - - - - -
    - -
    - - -
    - - -
    - Project Manager: - - - - - -
    -
    - -
    -
    - - -
    - Exploitation Manager: - - - - - -
    -
    - -
    -
    - - -
    - Work-Package Leaders -
    -
    - - - - - - - - - - - -
    - - - -
    - - - - - - -
    - -
    -
    - - -
    - Technical Contributors -
    -
    - -
    -
    - - -
    - Project Coordination Committee -
    -
    -

    - Chaired by - - - - - - -

    -

    - Members: - - - - - - - - - - - - -
    - - - -
    - - - - - - -
    -
    -

    - -
    -
    - - -
    - Project Exploitation Board -
    -
    -

    - Chaired by - - - - - - -

    -

    - Members: - - - - - - - - - - - - -
    - - - -
    - - - - - - -
    -
    -

    - -
    -
    - - -
    - Work-Package Teams -
    -
    - -
    -
    - -
    diff --git a/helm/mowgli/home/xsl/minutes.xsl b/helm/mowgli/home/xsl/minutes.xsl deleted file mode 100644 index 0270a159d..000000000 --- a/helm/mowgli/home/xsl/minutes.xsl +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - - <xsl:text>Summary of </xsl:text> - <xsl:value-of select="minutes/about"/> - - - -

    Summary of

    -

    Participants:

    -
      - - - -
    -

    Presentations:

    -
    - -
    -

    Minutes:

    -

    - Note: - The following entries reports only the important observations raised during - the meeting and the decisions taken. -

    -
      - -
    - - -
    - - -
  • - - [ - - - - - - ] - - -
  • -
    - - -
  • - - - - - -   ( - - - - ) -
  • -
    - - -
    - - - - - -  ( - - - - ): - - - - - [ - - - - - - - - - - - - Get the slides - - - - - - ] - - - - [slides unavailable] - - - -
    -
    - -
    -
    - -
    diff --git a/helm/mowgli/home/xsl/news.xsl b/helm/mowgli/home/xsl/news.xsl deleted file mode 100644 index 6ed83b3aa..000000000 --- a/helm/mowgli/home/xsl/news.xsl +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - News Archive - - -

    News Archive

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

    -
    - - - -
    - - - -
    -
    -
    -
    -
    -
    -
    - -
    diff --git a/helm/mowgli/home/xsl/people-list.xsl b/helm/mowgli/home/xsl/people-list.xsl deleted file mode 100644 index ab23781be..000000000 --- a/helm/mowgli/home/xsl/people-list.xsl +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - People Directory - - -

    People

    - - - - - - -
    - -

    By Site

    - - -
    - -

    Alphabetical

    - - - - -
    - - -
    - - - - - - - - -
    -
    - - - - - - , - - -
    -
    - - - -

    -
    - - - - - - - - - - - -
    diff --git a/helm/mowgli/home/xsl/person.xsl b/helm/mowgli/home/xsl/person.xsl deleted file mode 100644 index 385465cca..000000000 --- a/helm/mowgli/home/xsl/person.xsl +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - <xsl:call-template name="qualified-name"> - <xsl:with-param name="qualification" - select="person/qualification"/> - <xsl:with-param name="name" - select="person/name"/> - <xsl:with-param name="surname" - select="person/surname"/> - </xsl:call-template> - - - - - - - - - - - - - - - - - - - - - - -

    - - - - - -

    - - -
      - -
    • -
      -
    -
    - -

    -
    -
    -

    - e-mail: - - - -

    - -

    - Home Page: - - - -

    -
    - -

    - Address: - -

    -
    - -

    - Telephone number: - -

    -
    - -

    - Fax number: - -

    -
    - -

    Short Curriculum Vitae:

    - -
    - -

    Research Interests:

    - -
    - -

    Selected Publications:

    - -
    -
    - -
    diff --git a/helm/mowgli/home/xsl/project.xsl b/helm/mowgli/home/xsl/project.xsl deleted file mode 100644 index 70ad6aebc..000000000 --- a/helm/mowgli/home/xsl/project.xsl +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - The Project - - - - - - - - -

    - - ( - - ) -

    -

    - Project type: - - ( - - ) -

    -

    - Proposal Contract Number: - -

    -

    - Operative Commencement Date: - - - -

    -
    -

    More about the Proposal:

    - -
    - -
    diff --git a/helm/mowgli/home/xsl/publication.xsl b/helm/mowgli/home/xsl/publication.xsl deleted file mode 100644 index 3bd290ec6..000000000 --- a/helm/mowgli/home/xsl/publication.xsl +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - <xsl:value-of select="publication/title"/> - - - - - - - - -

    -

    - - - - - - - - - - - - - , - - - - - ; - - -

    -

    - -

    Download: [HTML]

    -
    -
    - -
    diff --git a/helm/mowgli/home/xsl/publications-index.xsl b/helm/mowgli/home/xsl/publications-index.xsl deleted file mode 100644 index aba49604d..000000000 --- a/helm/mowgli/home/xsl/publications-index.xsl +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - List of Publications - - -

    Publications

    -

    About MoWGLI

    - -

    Related Publications

    - - - - -
    - - - - -
      - - - -
    -
    - - None. - -
    -
    - - - - -
      - - - -
    -
    - - None. - -
    -
    - - - - -
  • - , - - `` - - '' - -
  • - - - - - - - - - - - , - - - , - - -
    - diff --git a/helm/mowgli/home/xsl/site.xsl b/helm/mowgli/home/xsl/site.xsl deleted file mode 100644 index eb1f0ab4f..000000000 --- a/helm/mowgli/home/xsl/site.xsl +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - <xsl:value-of select="site/name"/> - - - - - - - - - - -

    This is an aggregate site, whose members are:

    - - -
    - - -
    -
    - -

    -

    -

    -

    Visit the institution home page.

    -

    - Site responsible: - - - - - - . -

    - -

    Site members:

    - -
    - - -

    Projects developed by this site related to MOWGLI:

    -
    - - -
    -
    - - -

    - - - ( - - ) - -

    -

    Visit the project home page.

    -

    Members of the project also involved in MOWGLI:

    - - -
    - -
    diff --git a/helm/mowgli/home/xsl/work-package.xsl b/helm/mowgli/home/xsl/work-package.xsl deleted file mode 100644 index 8cb465b5d..000000000 --- a/helm/mowgli/home/xsl/work-package.xsl +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - - - - - - <xsl:text>Work Package </xsl:text> - <xsl:value-of select="work-package/@number"/> - <xsl:text>: </xsl:text> - <xsl:value-of select="work-package/name"/> - - - - - - - - - -

    - Work Package - - : - -

    -

    - Begin:     - End: -

    -

    - Work Package Leader: - - - - - -

    -

    Contribution of Each Site (in Man Monthes):

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

    Objectives:

    - -

    Description:

    - -

    Deliverables:

    - -

    Milestones and Expected Results:

    - -
    - - -
    - -
    -
    - - -
    - - - - -
    -
    - -
    -
    - - - - - -
    diff --git a/helm/mowgli/home/xsl/work-packages_index.xsl b/helm/mowgli/home/xsl/work-packages_index.xsl deleted file mode 100644 index d13fd454a..000000000 --- a/helm/mowgli/home/xsl/work-packages_index.xsl +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - Work Packages - - - - - - - - -

    Work Packages

    - - - - - - - - - - - -
    Work Package:Tasks:Deliverables:
    - -
    - - - - - - . -
    - - - - - - - - - - -   - - - - -
      - - - - - -
    -
    - - - - - - -
      - - - -
    -
    - - - -
  • - - - - - -
  • -
    - - - -
  • - - - - - -
  • -
    - - diff --git a/helm/mowgli/home/xsl/xhtml-content.xsl b/helm/mowgli/home/xsl/xhtml-content.xsl deleted file mode 100644 index 296dbf8c9..000000000 --- a/helm/mowgli/home/xsl/xhtml-content.xsl +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - <xsl:value-of select="head/title"/> - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -   - -
    -
    -
    - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -

    - - - [No frames] - - - [Frames] - - -

    -
    - - - - - - - - - - - / - - - - - - - - - - - - - - - - - - - - - - - - -
    diff --git a/helm/nuprl_stylesheets/nuprl_abstract.xsl b/helm/nuprl_stylesheets/nuprl_abstract.xsl deleted file mode 100644 index fa6d8154d..000000000 --- a/helm/nuprl_stylesheets/nuprl_abstract.xsl +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - forall - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - so_lambda - - - - so_variable - - - - - - - - - - - - - - - - - - so_apply - - - - - - - - gcd_p - - - - - - - decidable - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - app - - - - - - - - - - - - diff --git a/helm/nuprl_stylesheets/nuprl_annotatedpres.xsl b/helm/nuprl_stylesheets/nuprl_annotatedpres.xsl deleted file mode 100644 index f97a08be6..000000000 --- a/helm/nuprl_stylesheets/nuprl_annotatedpres.xsl +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/nuprl_stylesheets/nuprl_content_to_html2.xsl b/helm/nuprl_stylesheets/nuprl_content_to_html2.xsl deleted file mode 100644 index ef15f1961..000000000 --- a/helm/nuprl_stylesheets/nuprl_content_to_html2.xsl +++ /dev/null @@ -1,3047 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - " - - ??? - - - - - - l - λ - ??? - - - - - - Õ - Π - ??? - - - - - - ® - - ??? - - - - - - Þ - - ??? - - - - - - S - Σ - ??? - - - - - - Î - - ??? - - - - - - Ç - - ??? - - - - - - I - Ι - ??? - - - - - - N - Ν - ??? - - - - - - î - - ??? - - - - - - $ - - ??? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <xsl:value-of select="$CICURI"/> - - - - - - if(document.getElementById) - for(var i=0;i<document.to_be_deleted.length;i++) - Hide(document.getElementById(document.to_be_deleted[i])); - - - - - - - - - - - - - - - - - - - - - - - - -   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "" - - : - - - - . - - - - - - ( - - - - - - - - ) - - - - - - - - - - - - : - - - - . - - - - - - - - - - - - - : - - . - - - - - - - ( - - - - x - - - - ) - - - - - - - - < - - - , - - - > - - - - - - - - + - - - - - - - - inl ( - - - - ) - - - - - - - inr ( - - - - ) - - - - - - - - = - - - - - - - - - - - - - - - - - - - :: - - - - - - - - - rectype - - - - = - - - - - - - - - - { - - - - - - : - - - - - - - - - | - - - - } - - - - - - - - - - - - - - - : - - - - . - - - - - - - - - , - - - : - - - - // - - - - - - - - - - - - - . - - - - - - - - ( - - -   - - - ) - - - - - - - ( - - - - , - - - ) - - - - - - ( - - :> - - ) - - - Prop - - - Set - - - Type - - - - - < - - > - CASE - - OF - - - - - | - - - - - - - - - - - - - - - FIX - - { - - - : - - := - - - - } - - - ; - - - - - - - - COFIX - - { - - - : - - := - - - - } - - - ; - - - - - - - - -  proves  - - - - letin1 (inline error) - - - - - Contradiction. - - - - From  - -  we get - ( - - )  - -  and  - ( - - )  - - ; -  hence  - - - - - - - - - - - - - - - - : - - - . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "" - - : - - - - - -
    - - - - . - - - -
    - - - -
    -
    - - - - - - arrow - ( - - - -
    - - - - - - - - - - - - - - ) -
    - - - -
    -
    - - - - - : - - ( - - - - ) - - - - - - - Ax - - - - - - - Void - - - - - - - Atom - - - - - - - - - - - - - - - - - - - : - - - -
    - - - - . - - - -
    - - - -
    -
    - - - - - - - - - - - - - - : - - -
    - - - - . - - - -
    - - - -
    -
    - - - - - - - ( - - - - -
    - - - - - x - - - - - - ) - -
    - - - -
    -
    - - - - - - - < - - - - - , -
    - - - - - - - - > - -
    - - - -
    -
    - - - - - - - - -
    - - - - - + - - - - -
    - - - -
    -
    - - - - - - - inl ( - - - - - - ) - - - - - - - - - - - - - - inr ( - - - - - - ) - - - - - - - - - - - - P - - - - - - - - - - - - U - - - - - - - - - - - - - -
    - - - - - = - - - - -
    - - - - - - - - - - - - -
    - - - -
    -
    - - - - - - " - - - - " - - - - - - - - [] - - - - - - - - -
    - - - - - :: - - - - -
    - - - - - - - - - rectype - - - - -
    - - - - - = - - - - -
    - - - -
    -
    - - - - - - - - { - - - - - - : - - - - -
    - - - -
    - - - - -
    - - - -
    -
    - - | - - - - - - - } - - -
    - - - -
    -
    - - - - - - - - - - - - : - - - - -
    - - - - - . - - - - - -
    - - - - - - , - - - : - - - - -
    - - - - - // - - - - - -
    - - - - - - - atom_eq ( - - - - - int_eq ( - - - - - less ( - - - - - ; - - ; - - ; - - - ) - - - - - - - - - - - - - - -
    - - - - . - - - -
    - - - -
    -
    - - - - - - - - ( - - - - -
    - - - - - - -
    - ) -
    - - - -
    -
    - - - - - - - - - -
    - - - - - ( - -
    - - - - - - , - -
    - ) -
    - -
    - - - -
    -
    - - - - - - - ( - - -
    - - - - : - - - - ) -
    - - - -
    -
    - - - - - -
    -
    - - Prop - - - Set - - - Type - - - - - < - - - - > -
    - - - CASE - - - - OF - - -
    - - - - - -    - - - | - - - - - - - - - - - - - -
    - - - - - - -
    - - - -
    -
    -
    - - - -
    -
    - - - - - FIX - - { - -
    - - - - - : - - - -
    - - - - := - - - -
    -
    - - - - } -
    - - - -
    -
    - - - - - COFIX - - { -
    - - - - - - : - - - -
    - - - - := - - - - -
    -
    - - - - } -
    - - - -
    -
    - - let  - -  :=  - - - -
    - - - - in  - - - -
    - - - - - - - - - - - - - - -   - - - -
    - - - - we proved  -
    - - - -
    - - - -
    - - - - - - - - - - - -   - - - - - - - - - - - We have the following equality chain: - - -
    - - - - - - - - -  = - - - - - - - - - -
    - - - - - - -
    -
    -
    - - - We have the following chain of disequalities: - - -
    - - - - - - - - -   - - - - -   - - - - - - -
    - - - - - - -
    -
    -
    - - - - - -
    - - - - - - -
    - - - - - - -
    - - - -
    - - - -
    - - - ( - - ) - - - - - - - - - - - - - - Consider  - - - - - - - - - - - - - - - - - - -
    - - - - Rewrite  - -   - -
    - - - -
    - with  - -   - -
    - - - -
    - by  - - - -
    - - - - - -
    - - - - Then apply it to  - -
    - - - We prove  - - - -
    - - - - by induction on  - - - - - - - - -
    - - -
    - - - - Case  - - - - -
    - - - - By induction hypothesis, we have: - -
    - - - - ( - - - - - -
    -
    -
    - - - - - - - -
    - - - - - - - - ( - - -   - - : - - - ) - - - - - - - - -
    - - - - Contradiction. -
    - - - - - - - - - - Consider  - - - -
    - - - - In particular, we have -
    - - - - ( - - )  - - - -
    - - - - ( - - )  - - - -
    - - - - - - -
    - - - - - - - - - - Consider  - - - -
    - - - - We proceed by cases to prove  - -
    - - - - Left: suppose  - ( - - - -
    - - - - - - -
    - - - - Right: suppose  - ( - - - -
    - - - - - - -
    - - - - - - - - - - Consider  - - - -
    - - - - We prove  - -  by cases: -
    - - - - Left:  - - - -
    - - - - Right:  - - - -
    - - - - - - - - - - Consider  - - - - - -
    - - - - Let  - - : - -  such that -
    - - - - ( - - ) - - - -
    - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - : - - -
    - - - - . - - - -
    - - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ - - - , - - - ] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ( - - - - - - - - - - ) - - - - - - - - - - : - - - . - - - - - - - - - - [ - - - , - - - ] - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - -
    - - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - implies - ( - - - -
    - - - - - - - - - - - - - ) -
    - - - -
    -
    - - - - - - - - - - - - - - - : - - - - - -
    - - - - . - - - -
    - - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    - - - -Rule: - - - - - - - - - - - -
    - - - - - - - - - - - - -
    - - - -
    - - ( - -
    - - - - - - - - - level-exp( - - - - ) - - - - - - - - - - - - - - , -
    -
    -
    - - ) - - -
    - - - - - - - - ( - - - - - - level-exp( - - - - ) - - - - - - - - - - - - - - - , - - - - ) - - -
    -
    -
    -

    -
    - - - - - - - - -Sequent -
    -
    - - - - - - - ) - - - - : - - - - - - - -
    -
    - - - - - |- -
    - - - - - - -
    - - - - - - - - - - - -
    - - - - - - - - - - -
    -
    - - - - - By - - Tactic Details - - - Details - - - - -
    - - - - Hide details -
    - - - -
    -
    -

    -
    -
    - - - - - - - - Subgoal -
    -
    -
    - - - - - - Subgoals -
    -
    -
    -
    -
    - - - - Back -
    - - - -
    - -
    -
    - - - - - - := - - - - - - - -

    -DEFINITION ()
    -TYPE =
    - - - - - -
    -BODY =
    - - - - - - -

    -
    - - - - - -

    -AXIOM ()
    -TYPE =
    - - - - - - -

    -
    - - - - - -

    -UNFINISHED PROOF ()
    -THESIS: - -
    -CONJECTURES: - -
    - - - - - - - - - - - - _ - - - : - - - - - - - - - - - _ - - - := - - - - - - _ :? _ - - - - |- : - - - -
    -
    -PROOF: - - - -

    -
    - - - - - -

    - - - - - - INDUCTIVE DEFINITION - - - COINDUCTIVE DEFINITION - - - - - AND - - - () - [ - - - - : - - - - ]
    - OF ARITY - - -
    - BUILT FROM: - -
    - - - - - -    - - - | - - - - : - - - -
    -
    -

    -
    - - - - - -

    -VARIABLE
    -TYPE = - - - -
    -BODY = - - -
    -

    -
    - - - - - - - - - -

    BEGIN OF SECTION

    - -

    END OF SECTION

    -
    - -
    diff --git a/helm/nuprl_stylesheets/nuprl_expand.xsl b/helm/nuprl_stylesheets/nuprl_expand.xsl deleted file mode 100644 index c31b47993..000000000 --- a/helm/nuprl_stylesheets/nuprl_expand.xsl +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ERROR - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/nuprl_stylesheets/nuprl_html_arith.xsl b/helm/nuprl_stylesheets/nuprl_html_arith.xsl deleted file mode 100644 index 74cec306a..000000000 --- a/helm/nuprl_stylesheets/nuprl_html_arith.xsl +++ /dev/null @@ -1,650 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - £ - - ??? - - - - - - < - < - ??? - - - - - - ³ - - ??? - - - - - - > - > - ??? - - - - - - + - + - ??? - - - - - - - - - - ??? - - - - - - * - - ??? - - - - - - - - - - - - - - - - - - - ( - - - -
    - - - - - - - - - - - leq - - - - - - ) -
    -
    -
    - - - ( - - - - - - - - - leq - - - - ) - - - - - - - - - - - - - - - - - - - ( - - - -
    - - - - - - - - - - - lt - - - - - - ) -
    -
    -
    - - - ( - - - - - - - - - lt - - - - ) - - - - - - - - - - - - - - - - - - - ( - - - -
    - - - - - - - - - - - geq - - - - - - ) -
    -
    -
    - - - ( - - - - - - - - - geq - - - - ) - - - - - - - - - - - - - - - - - - - ( - - - -
    - - - - - - - - - - - gt - - - - - - ) -
    -
    -
    - - - ( - - - - - - - - - gt - - - - ) - - - - - - - - - - - - - - - - - - - ( - - - -
    - - - - - - - - - - - plus - - - - - - ) -
    -
    -
    - - - ( - - - - - - - - - plus - - - - ) - - - - - - - - - - - - - - - - - - - ( - - - -
    - - - - - - - - - - - minus - - - - - - ) -
    -
    -
    - - - ( - - - - - - - - - minus - - - - ) - - - - - - - - - - - - - - - - - - - ( - - - -
    - - - - - - - - - - - times - - - - - - ) -
    -
    -
    - - - ( - - - - - - - - - times - - - - ) - - - - - - - - - - - - - - - - - - - - - - - - - - min - - - { - - - - , -
    - - - - - - - } -
    -
    -
    - - - - - - - - - - min - - - { - - , - - } - - - - - - - - - - - - - - - - - - minus - - - - - - - - - - - - - - - - minus - - - - - - - - - - - - - - - - - - - - - abs - - - - - - - - - - - - - abs - - - - - - - - - - - - - abs - - - - - - - - - - - abs - - - - - - - - -
    diff --git a/helm/nuprl_stylesheets/nuprl_html_basic.xsl b/helm/nuprl_stylesheets/nuprl_html_basic.xsl deleted file mode 100644 index 58478b651..000000000 --- a/helm/nuprl_stylesheets/nuprl_html_basic.xsl +++ /dev/null @@ -1,532 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - Ù - - ??? - - - - - - Ú - - ??? - - - - - - Û - - ??? - - - - - - Ø - ¬ - ??? - - - - - - = - = - ??? - - - - - - ¹ - - ??? - - - - - - $ - - ??? - - - - - - - - - - - - - - - ( - - - -
    - - - - - - - - - - - and - - - - - - ) -
    -
    -
    - - - ( - - - - - - - - - and - - - - ) - - - - - - - - - - - - - - - - - - - ( - - - -
    - - - - - - - - - - - or - - - - - - ) -
    -
    -
    - - - ( - - - - - - - - - or - - - - ) - - - - - - - - - - - - - - - - - - - ( - - - -
    - - - - - - - - - - - iff - - - - - - ) -
    -
    -
    - - - ( - - - - - - - - - iff - - - - ) - - - - - - - - - - - - - - - - - - not - - - - - - - - - - - - - - - - not - - - - - - - - - - - - - - - - - - - - - - ( - - - -
    - - - - - - - - - - - eq - - - - - - ) -
    -
    -
    - - - ( - - - - - - - - - eq - - - - ) - - - - - - - - - - - - - - - - - - - ( - - - -
    - - - - - - - - - - - neq - - - - - - ) -
    -
    -
    - - - ( - - - - - - - - - neq - - - - ) - - - - - - - - - - - - - - - - - - - - - - - - - - exists - - - - : - - - -
    - - - - . - - - -
    -
    -
    - - - - - - - - - - exists - - - - : - - . - - - - - - - - - - - - - - - - - - - - - - - - - - - exists - - - - : - - - -
    - - - - . - - - -
    -
    -
    - - - - - - - - - - exists - - - - : - - . - - - - - - - -
    diff --git a/helm/nuprl_stylesheets/nuprl_link.xsl b/helm/nuprl_stylesheets/nuprl_link.xsl deleted file mode 100644 index 849e06c3e..000000000 --- a/helm/nuprl_stylesheets/nuprl_link.xsl +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - other - - - - - - - - - - - - - - - - - - - - - - - - cic - - - - - - - - theory - - - - - - - - - - _blank - - - - - - - - - - - - - - diff --git a/helm/nuprl_stylesheets/nuprl_links_library.xsl b/helm/nuprl_stylesheets/nuprl_links_library.xsl deleted file mode 100644 index 29426a3c3..000000000 --- a/helm/nuprl_stylesheets/nuprl_links_library.xsl +++ /dev/null @@ -1,371 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - getxml?uri= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -?url= -?url= -apply?keys= -&param.naturalLanguage=&param.proofcheckerURL=&param.draw_graphURL=&param.uri_set_queueURL=&param.UNICODEvsSYMBOL=&param.annotations=&prop.doctype-public=&param.doctype-public=&param.encoding=&param.media-type=&param.keys=&param.getterURL=&param.processorURL=&param.interfaceURL=&param.topurl=&xmluri= -&prop.media-type=&prop.encoding= -&prop.media-type=&param.thmedia-type=&param.thkeys=&param.embedkeys=&param.thinterfaceURL=&param.thencoding=&prop.encoding= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - %23 - - - - - - http://mowgli.cs.unibo.it:58080/apply?keys=NT,NC2,NL&prop.doctype-public=&prop.media-type=text/html&param.doctype-public=&param.encoding=&param.media-type=text/html&param.CICURI=cic:/CICURI.con&param.naturalLanguage=yes&param.annotations=no&param.topurl=http://helm.cs.unibo.it/helm&param.UNICODEvsSYMBOL= - - &xmluri= - - - - - - - - - - - - - - - - - - - - - - - - %23 - - - - - %26param.CICURI%3D - - - - - - - - - - - - - - - - - - - - - - - %23 - - - - - - - - &param.CICURI=&param.type= - - - - - - - - - - - - - - - - - - - - - %23 - - - - d_c&param.getterURL=&param.CICURI=&xmluri= - - - - diff --git a/helm/nuprl_stylesheets/nuprl_mmlextension.xsl b/helm/nuprl_stylesheets/nuprl_mmlextension.xsl deleted file mode 100644 index f6c1590df..000000000 --- a/helm/nuprl_stylesheets/nuprl_mmlextension.xsl +++ /dev/null @@ -1,3046 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Sequent - - - - - - - - - - - - - - ) - - __ - - - : - - - - - - - - - - - - |- - - - - - - - - - - - Rule: - - - - - - NESSUNA REGOLA - - - - - - - - - - - - - - - - - - - - Sequent - - - - - - - - - - - - - - ) - - __ - - - : - - - - - - - - - - - - |- - - - - - - - - - - - Rule: - - - - - - NESSUNA REGOLA - - - - - - - - - - - - - - - Subgoal - - - Subgoals - - - - - - - - - - - - - - - - - - - - - - - - - - - - := - - - - - - - - - - - - - - DEFINITION () OF TYPE - - - - - - - __ - - - - - - - - AS - - - - - - - __ - - - - - - - - - - - - - - - - - AXIOM () OF TYPE - - - - - - - __ - - - - - - - - - - - - - - - - - UNFINISHED PROOF () - - - - - - - THESIS: - - - - - - - __ - - - - - - - - CONJECTURES: - - - - - - - - __ - - - - - - - - - - _ - - - : - - - - - - - - - - - _ - - - := - - - - - - _ - :? - _ - - - - - ; - - - |- - ? - : - - - - - - - - - PROOF: - - - - - - - __ - - - - - - - - - - - - - - - - - - - - - - INDUCTIVE DEFINITION - - - COINDUCTIVE DEFINITION - - - - - AND - - - _ - () - - - - - - - __ - [ - - - - - - - - - : - - - - - - - - - ] - - - - - - - ] - - - - - - - - - OF ARITY - - - - - - - __ - - - - - - - - BUILT FROM - - - - - - - - - - __ - - - | - _ - - - OF - _ - - - - - - - - - - - - - - - - - - - VARIABLE OF TYPE - - - - - - - __ - - - - - - - - - AS - - - - - - - __ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - . - - - - - - - - - - : - - . - - - - - - - - - - - - - LET - _ - - - - - - - - = - - - - - - - - IN - _ - - - - - - - - LET - _ - - = - - _ - IN - _ - - - - - - - - - - - - - Π - - - - - - - - . - - - - - - - - Π - - : - - . - - - - - - - - - - - - - - ( - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ) - - - - - - - - - ( - - - - - - - - - - - - - - - - - - - - - ) - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - Σ - - : - - - - - - - - . - - - - - - - - - Σ - - : - - . - - - - - - - - - - - - - - ( - - - - - - - - x - - ) - - - - - - - - ( - - x - - ) - - - - - - - - - - - - - < - - , - - - - - - - - > - - - - - - - - < - - , - - > - - - - - - - - - - - - - - - - - - + - - - - - - - - - - + - - - - - - - - - inl( - - ) - - - - - - inr( - - ) - - - - - Ax - - - - Void - - - - Atom - - - - - U - - - - - - - P - - - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - = - - - - - - - - - - - " - - " - - - - - [] - - - - - - - - - - - - - - - :: - - - - - - - - - - :: - - - - - - - - - - - - - - - rectype - - - - - - - - = - - - - - - - - - rectype - - = - - - - - - - - - - - - - - - { - - - - : - - - - - - - - - - - - - | - - } - - - - - - - - { - - - - : - - - - - - - | - - } - - - - - - - - - - - - - - Ç - - : - - - - - - - - . - - - - - - - - - Ç - - : - - . - - - - - - - - - - - - - - - , - - : - - - - - - - - // - - - - - - - - - - , - - : - - // - - - - - - - - - - - - - - - - atom_eq ( - - - int_eq ( - - - less ( - - - - ; - - - - - - - - ; - - - - - - - - ; - - - - - - - - ) - - - - - - - - - - atom_eq ( - - - int_eq ( - - - less ( - - - - ; - - ; - - ; - - ) - - - - - - - - - - - - - λ - - - - - - - - . - - - - - - - - - λ - - . - - - - - - - - - - - - - - ( - - - - - - - - - - - ( - - - - - - - - - - - ) - - - - - - -( - - - - - _ - - - - -) - - - - - - - - - - - - ( - - - - - - - - :> - - - - - - - - ) - - - - - - - ( - - :> - - ) - - - - - - - - - - - - ( - - - - - - - - - - - - ( - - - - - - - - - - - - ) - - - - - - - ( - - - - - - _ - - - - - - ) - - - - - - - - - - - - ( - - - - - - - - :> - - - - - - - - ) - - - - - - - ( - - :> - - ) - - - - - - - - - - - - - - - - - - - < - - - > - CASES - _ - - - - - - - - - - > - CASES - _ - - - - - - - - - OF - - - - - - - - - - - | - - - | - - - _ - - - - - - - - - - - - - |_ - - - - - - - - - - - END - - - - - - - <> - CASES - _ - - _ - OF - - - - | - - - - - - - _ - END - - - - - - - - - - - - FIX - _ - - { - - - - - - - __ - - - - - - - - : - - - - - - - - - - - := - - - - - - - - - := - - - - - - - - - - - - - } - - - - - - - FIX - - { - - - - - - - : - - := - - - } - - - - - - - - - - - - - - - - - - COFIX - _ - - { - - - - - - - __ - - - - - - - - : - - - - - - - - - - - := - - - - - - - - - := - - - - - - - - - - - - - } - - - - - - - COFIX - - { - - - - - - - : - - := - - - } - - - - - - - - - - - - - - - - - - - - - - - - We can prove - _ - - - - - _ - (explain) - - - - - - - - - - - - - - - - - - - - - _ - - - (hide details) - - - - - - - we proved - _ - - - - - - - - - - - - that is equivalent to - _ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - We can prove - _ - - - - - _ - (explain) - - - - - - - - - - - - - - - - - - - - - _ - - - (hide details) - - - - - - - we proved - _ - - - - - - - - - - - - that is equivalent to - _ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - We prove - _ - - - - - - - - by induction on - _ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Case - _ - - - - - - - - _ - - - - - - By induction hypothesis, we have: - - - - - - - _ - - ( - - ) - _ - - - - - - - - - - - - - - - - - - - - - - - - - - - - ( - - - _ - - : - - - ) - - - - - - - - - - - - - - - - - - Contradiction. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ( - - ) - - - - - - - - - - - - - - Consider - _ - - - - - - - - - - Rewrite - _ - - _ - with - _ - - _ - by - _ - - - - - - - - - - - - - - - - - - - - - Then apply it to - _ - - - - - - - - - - - - - - - - - - Consider - _ - - - - - - - - - - In particular, we have - - - - - - - ( - - ) - _ - - - - - - - - ( - - ) - _ - - - - - - - - - - - - - - - - - - - - - - - - - Consider - _ - - - - - - - - - - We proceed by cases to prove - _ - - - - - - - - Left: suppose - _ - ( - - ) - _ - - - - - - - - _ - - - - - - - - Right: suppose - _ - ( - - ) - _ - - - - - - - - - - - - - - - - - - - - - - - - - Consider - _ - - - - - - - - - - We prove - _ - - _ - by cases: - - - - - - - Left - - - - - - - - Right - - - - - - - - - - - - - - - - - - Consider - _ - - - - - - - - - - Let - _ - - : - - _ - such that - _ - ( - - ) - _ - - - - - - - - - - - - - - - - - - - - We have the following equality chain: - - - - - - - - - - - - _ - = - - - = - _ - - - - - - - - - - - __ - - - - - - - - - - - - - - - We have the following disequality chain: - - - - - - - - - - - - _ - - - - - _ - - - - - - - - - - - __ - - - - - - - - - - - - - - - - [ - - - - - - - ] - - - - - - - - - - - - ( - - ) - - - - - - - - - - - - - - ( - - ) - - - - - - - - - - - β - - - - - - - - - - - - β - * - - - - - - - - - - - - β - - - - - - - - - - - - β - * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ERROR - - - - - - - - - - - - - - - - - - - - - - - - λ - - - - - - - - - . - - - - - - - - λ - - - . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/nuprl_stylesheets/nuprl_proof.xsl b/helm/nuprl_stylesheets/nuprl_proof.xsl deleted file mode 100644 index b699ed402..000000000 --- a/helm/nuprl_stylesheets/nuprl_proof.xsl +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/nuprl_stylesheets/nuprl_rules.xsl b/helm/nuprl_stylesheets/nuprl_rules.xsl deleted file mode 100644 index 6926ddeab..000000000 --- a/helm/nuprl_stylesheets/nuprl_rules.xsl +++ /dev/null @@ -1,876 +0,0 @@ - - - - - level-exp - - - - - - - - - parameter-substitution-list - - - - - - - - - - tag : - - - - - - - dependent_functionFormation - - - - - - independent_functionFormation - - - - - functionEquality - - - - - - independent_functionEquality - - - - - lambdaEquality - - - - - - - lambdaFormation - - - - - - - applyEquality - - - - - - - independent_functionElimination - - - - - - - - - - dependent_functionElimination - - - - - - - - - functionEquality - - - - - functionExtensionality - - - - - - - dependent_productFormation - - - - - - independent_productFormation - - - - - productEquality - - - - - - independent_productEquality - - - - - dependent_pairEquality - - - - - - - dependent_pairFormation - - - - - - independent_pairEquality - - - - independent_pairFormation - - - - - spreadEquality - - - - - - - - - - productElimination - - - - - - spreadReduce - - - - unionFormation - - - - unionEquality - - - - - inlEquality - - - - - - - inlFormation - - - - - - - inrEquality - - - - - - - inrFormation - - - - - - - decideEquality - - - - - - - unionElimination - - - - - - - - - decideReduceLeft - - - - decideReduceRight - - - - - universeFormation - - - - - - universeEquality - - - - - cumulativity - - - - - - - equalityFormation - - - - - - equalityEquality - - - - axiomEquality - - - - - equalityElimination - - - - - - - - - hypothesisEquality - - - - - - - - - substitution - - - - - - equality - - - - voidFormation - - - - voidEquality - - - - anyEquality - - - - - voidElimination - - - - - - - - atomFormation - - - - atomEquality - - - - tokenEquality - - - - - tokenFormation - - - - - - - atom_eqEquality - - - - - - - atom_eqReduceTrue - - - - - - atom_eqReduceFalse - - - - intFormation - - - - intEquality - - - - natural_numberEquality - - - - minusEquality - - - - addEquality - - - - subtractEquality - - - - multiplyEquality - - - - divideFormation - - - - addEquality - - - - subtractEquality - - - - multiplyEquality - - - - divideEquality - - - - remainderBounds1 - - - - remainderBounds2 - - - - remainderBounds3 - - - - remainderBounds4 - - - - divideRemainderSum - - - - - arith - - - - - - - indEquality - - - - - - - intElimination - - - - - - - - - indReduceDown - - - - indReduceUp - - - - indReduceBase - - - - ind_eqEquality - - - - ind_eqReduceTrue - - - - ind_eqReduceFalse - - - - lessEquality - - - - lessReduceTrue - - - - lessReduceFalse - - - - less_thanEquality - - - - less_thanFormation - - - - less_thanMember - - - - listFormation - - - - listEquality - - - - - nilEquality - - - - - - - nilFormation - - - - - - consFormation - - - - consEquality - - - - - list_indEquality - - - - - - - listElimination - - - - - - - - - list_indReduceUp - - - - list_indReduceBase - - - - - recEquality - - - - - - - rec_memberEquality - - - - - - - rec_memberFormation - - - - - - - rec_indEquality - - - - - - - recElimination - - - - - - - - - - recUnrollElimination - - - - - - - - - - dependent_setFormation - - - - - - independent_setFormation - - - - - setEquality - - - - - - - dependent_set_memberEquality - - - - - - - dependent_set_memberFormation - - - - - - independent_set_memberEquality - - - - - independent_set_memberFormation - - - - - - - setElimination - - - - - - - - - - isectFormation - - - - - - - isectEquality - - - - - - - isect_memberEquality - - - - - - - isect_memberFormation - - - - - - - isect_member_caseEquality - - - - - - - isectElimination - - - - - - - - - - quotientFormation - - - - - - - quotientWeakEquality - - - - - - quotientEquality - - - - - quotient_memberWeakEquality - - - - - - - quotient_memberFormation - - - - - - - quotient_memberEquality - - - - - - - quotient_equalityElimination - - - - - - - - - - quotientElimination - - - - - - - - - - quotientElimination_2 - - - - - - - - - - direct_computation - - - - - - - reverse_direct_computation - - - - - - - direct_computation_hypothesis - - - - - - - - - - reverse_direct_computation_hypothesis - - - - - - - - - - hypothesis - - - - - - - - - thin - - - - - - - - - cut - - - - - - - - - - hyp_replacement - - - - - - - - - - lemma - - - - - - - - - extract - - - - - - - - - instantiate - - - - - - because - - - - - rename - - - - - - - introducition - - - - - diff --git a/helm/nuprl_stylesheets/nuprl_term.xsl b/helm/nuprl_stylesheets/nuprl_term.xsl deleted file mode 100644 index 1bd02c93e..000000000 --- a/helm/nuprl_stylesheets/nuprl_term.xsl +++ /dev/null @@ -1,598 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - arrow - - - - - - - prod - - - - - - - - - - - - - - - - arrow - - - - - - - - - - - - - - - - - - - - - - - app - - - - - - - - - - - - - product_ind - - - - - - product - - - - - - - - - - - - - product_ind - - - - - - - - - - - - - pair - - - - - - - - - mutcase - NONE - - - - - - pair - - - - - - - - - - - - union - - - - - - - - - inl - - - - - - - - inr - - - - - - - - mutcase - NONE - - - - - - inl - - - - - - - inr - - - - - - - - - - - universe - - - - - - - - - - equal - - - - - - - - - - Ax - - - - - - - void - - - - - - - mutcase - NONE - - - - - - - - atom - - - - - - - token - - - - - - - - - - if_then_else - atom_eq - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if_then_else - int_eq - - - - - - - - - - - if_then_else - less - - - - - - - - - - - by_induction - ind - NONE - - inductive_case - - case_lhs - 0 - - - induction_hypothesis - - - - - - inductive_case - - case_lhs - succ - - - int - - - - induction_hypothesis - - - - - - - inductive_case - - case_lhs - pred - - - int - - - - induction_hypothesis - - - - - - extra_args - - - - - - - - - - - - - - - - - list - - - - - - nil - - - - - - - cons - - - - - - - - - by_induction - list_ind - NONE - - inductive_case - - case_lhs - nil - - - induction_hypothesis - - - - - inductive_case - - case_lhs - cons - - - ? - - - - ? - - - - induction_hypothesis - - - - - - extra_args - - - - - - - - - rec - - - - - - - - - app - - fix - - - - - - - - ? - - - - - - - - - - - - - - - - t_set - - - - - - - - - - - - - - - - - - - - - - - - - isect - - - - - - - - - - - - - - - - quotient - - - - - - - - - - - - - - - type_of - - - - - - - - - - prop - - - - - - - - - - - - - diff --git a/helm/nuprl_stylesheets/nuprl_tree.xsl b/helm/nuprl_stylesheets/nuprl_tree.xsl deleted file mode 100644 index 03daa4726..000000000 --- a/helm/nuprl_stylesheets/nuprl_tree.xsl +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/nuprl_stylesheets/xslt_index.txt b/helm/nuprl_stylesheets/xslt_index.txt deleted file mode 100644 index d193b316d..000000000 --- a/helm/nuprl_stylesheets/xslt_index.txt +++ /dev/null @@ -1,13 +0,0 @@ -nuprl_abstract.xsl -nuprl_proof.xsl -nuprl_rules.xsl -nuprl_term.xsl -nuprl_content_to_html2.xsl -nuprl_annotatedpres.xsl -nuprl_mmlextension.xsl -nuprl_expand.xsl -nuprl_tree.xsl -nuprl_link.xsl -nuprl_links_library.xsl -nuprl_html_arith.xsl -nuprl_html_basic.xsl diff --git a/helm/ocaml/.cvsignore b/helm/ocaml/.cvsignore deleted file mode 100644 index 4c1a00d01..000000000 --- a/helm/ocaml/.cvsignore +++ /dev/null @@ -1,11 +0,0 @@ -Makefile -Makefile.common -autom4te.cache -config.cache -config.log -config.status -configure -libraries.ps -libraries-complete.ps -.dep.dot -.alldep.dot diff --git a/helm/ocaml/METAS/.cvsignore b/helm/ocaml/METAS/.cvsignore deleted file mode 100644 index e4ee23c44..000000000 --- a/helm/ocaml/METAS/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -META.* diff --git a/helm/ocaml/METAS/meta.helm-cic.src b/helm/ocaml/METAS/meta.helm-cic.src deleted file mode 100644 index 525cc9c22..000000000 --- a/helm/ocaml/METAS/meta.helm-cic.src +++ /dev/null @@ -1,5 +0,0 @@ -requires="helm-urimanager helm-xml expat" -version="0.0.1" -archive(byte)="cic.cma" -archive(native)="cic.cmxa" -linkopts="" diff --git a/helm/ocaml/METAS/meta.helm-cic_annotations.src b/helm/ocaml/METAS/meta.helm-cic_annotations.src deleted file mode 100644 index 829efba0d..000000000 --- a/helm/ocaml/METAS/meta.helm-cic_annotations.src +++ /dev/null @@ -1,5 +0,0 @@ -requires="helm-cic helm-xml" -version="0.0.1" -archive(byte)="cic_annotations.cma" -archive(native)="cic_annotations.cmxa" -linkopts="" diff --git a/helm/ocaml/METAS/meta.helm-cic_annotations_cache.src b/helm/ocaml/METAS/meta.helm-cic_annotations_cache.src deleted file mode 100644 index f21ea6d02..000000000 --- a/helm/ocaml/METAS/meta.helm-cic_annotations_cache.src +++ /dev/null @@ -1,5 +0,0 @@ -requires="helm-cic_annotations helm-getter" -version="0.0.1" -archive(byte)="cic_annotations_cache.cma" -archive(native)="cic_annotations_cache.cmxa" -linkopts="" diff --git a/helm/ocaml/METAS/meta.helm-cic_cache.src b/helm/ocaml/METAS/meta.helm-cic_cache.src deleted file mode 100644 index 6aacb1ae2..000000000 --- a/helm/ocaml/METAS/meta.helm-cic_cache.src +++ /dev/null @@ -1,5 +0,0 @@ -requires="helm-cic helm-getter" -version="0.0.1" -archive(byte)="cic_cache.cma" -archive(native)="cic_cache.cmxa" -linkopts="" diff --git a/helm/ocaml/METAS/meta.helm-cic_disambiguation.src b/helm/ocaml/METAS/meta.helm-cic_disambiguation.src deleted file mode 100644 index d4c29fd78..000000000 --- a/helm/ocaml/METAS/meta.helm-cic_disambiguation.src +++ /dev/null @@ -1,4 +0,0 @@ -requires="helm-tactics helm-cic_transformations" -version="0.0.1" -archive(byte)="cic_disambiguation.cma" -archive(native)="cic_disambiguation.cmxa" diff --git a/helm/ocaml/METAS/meta.helm-cic_notation.src b/helm/ocaml/METAS/meta.helm-cic_notation.src deleted file mode 100644 index 332714edf..000000000 --- a/helm/ocaml/METAS/meta.helm-cic_notation.src +++ /dev/null @@ -1,4 +0,0 @@ -requires="helm-cic helm-utf8_macros camlp4.gramlib helm-cic_proof_checking ulex" -version="0.0.1" -archive(byte)="cic_notation.cma" -archive(native)="cic_notation.cmxa" diff --git a/helm/ocaml/METAS/meta.helm-cic_omdoc.src b/helm/ocaml/METAS/meta.helm-cic_omdoc.src deleted file mode 100644 index 313d19cd2..000000000 --- a/helm/ocaml/METAS/meta.helm-cic_omdoc.src +++ /dev/null @@ -1,4 +0,0 @@ -requires="helm-cic_proof_checking" -version="0.0.1" -archive(byte)="cic_omdoc.cma" -archive(native)="cic_omdoc.cmxa" diff --git a/helm/ocaml/METAS/meta.helm-cic_proof_checking.src b/helm/ocaml/METAS/meta.helm-cic_proof_checking.src deleted file mode 100644 index 223a182a9..000000000 --- a/helm/ocaml/METAS/meta.helm-cic_proof_checking.src +++ /dev/null @@ -1,7 +0,0 @@ -requires="helm-cic helm-logger helm-getter" -version="0.0.1" -archive(byte)="cic_proof_checking.cma" -archive(native)="cic_proof_checking.cmxa" -archive(byte,miniReduction)="cicSubstitution.cmo cicMiniReduction.cmo" -archive(native,miniReduction)="cicSubstitution.cmx cicMiniReduction.cmx" -linkopts="" diff --git a/helm/ocaml/METAS/meta.helm-cic_textual_parser.src b/helm/ocaml/METAS/meta.helm-cic_textual_parser.src deleted file mode 100644 index bc4f2fcd4..000000000 --- a/helm/ocaml/METAS/meta.helm-cic_textual_parser.src +++ /dev/null @@ -1,5 +0,0 @@ -requires="helm-cic" -version="0.0.1" -archive(byte)="cic_textual_parser.cma" -archive(native)="cic_textual_parser.cmxa" -linkopts="" diff --git a/helm/ocaml/METAS/meta.helm-cic_transformations.src b/helm/ocaml/METAS/meta.helm-cic_transformations.src deleted file mode 100644 index 0543f4220..000000000 --- a/helm/ocaml/METAS/meta.helm-cic_transformations.src +++ /dev/null @@ -1,5 +0,0 @@ -requires="helm-utf8_macros helm-xml helm-cic_proof_checking helm-cic_omdoc helm-registry helm-cic_notation gdome2" -version="0.0.1" -archive(byte)="cic_transformations.cma" -archive(native)="cic_transformations.cmxa" -linkopts="" diff --git a/helm/ocaml/METAS/meta.helm-cic_unification.src b/helm/ocaml/METAS/meta.helm-cic_unification.src deleted file mode 100644 index 6cb775dca..000000000 --- a/helm/ocaml/METAS/meta.helm-cic_unification.src +++ /dev/null @@ -1,5 +0,0 @@ -requires="helm-cic_proof_checking" -version="0.0.1" -archive(byte)="cic_unification.cma" -archive(native)="cic_unification.cmxa" -linkopts="" diff --git a/helm/ocaml/METAS/meta.helm-extlib.src b/helm/ocaml/METAS/meta.helm-extlib.src deleted file mode 100644 index 0bc6287de..000000000 --- a/helm/ocaml/METAS/meta.helm-extlib.src +++ /dev/null @@ -1,5 +0,0 @@ -requires="unix" -version="0.0.1" -archive(byte)="extlib.cma" -archive(native)="extlib.cmxa" -linkopts="" diff --git a/helm/ocaml/METAS/meta.helm-getter.src b/helm/ocaml/METAS/meta.helm-getter.src deleted file mode 100644 index 8a7badf74..000000000 --- a/helm/ocaml/METAS/meta.helm-getter.src +++ /dev/null @@ -1,5 +0,0 @@ -requires="http unix pcre zip helm-xml helm-logger helm-urimanager helm-registry" -version="0.0.1" -archive(byte)="getter.cma" -archive(native)="getter.cmxa" -linkopts="" diff --git a/helm/ocaml/METAS/meta.helm-hbugs.src b/helm/ocaml/METAS/meta.helm-hbugs.src deleted file mode 100644 index 3c79fd96f..000000000 --- a/helm/ocaml/METAS/meta.helm-hbugs.src +++ /dev/null @@ -1,4 +0,0 @@ -requires="pcre http lablgtk2.glade helm-thread helm-xml helm-pxp helm-tactics" -version="0.0.1" -archive(byte)="hbugs.cma" -archive(native)="hbugs.cmxa" diff --git a/helm/ocaml/METAS/meta.helm-hmysql.src b/helm/ocaml/METAS/meta.helm-hmysql.src deleted file mode 100644 index 144141e28..000000000 --- a/helm/ocaml/METAS/meta.helm-hmysql.src +++ /dev/null @@ -1,4 +0,0 @@ -requires="helm-registry mysql helm-extlib" -version="0.0.1" -archive(byte)="hmysql.cma" -archive(native)="hmysql.cmxa" diff --git a/helm/ocaml/METAS/meta.helm-logger.src b/helm/ocaml/METAS/meta.helm-logger.src deleted file mode 100644 index 5b2e8d8ff..000000000 --- a/helm/ocaml/METAS/meta.helm-logger.src +++ /dev/null @@ -1,5 +0,0 @@ -requires="" -version="0.0.1" -archive(byte)="logger.cma" -archive(native)="logger.cmxa" -linkopts="" diff --git a/helm/ocaml/METAS/meta.helm-mathql.src b/helm/ocaml/METAS/meta.helm-mathql.src deleted file mode 100644 index df553d7d5..000000000 --- a/helm/ocaml/METAS/meta.helm-mathql.src +++ /dev/null @@ -1,5 +0,0 @@ -requires="helm-urimanager" -version="1.3" -archive(byte)="mathql.cma" -archive(native)="mathql.cmxa" -linkopts="" diff --git a/helm/ocaml/METAS/meta.helm-mathql_generator.src b/helm/ocaml/METAS/meta.helm-mathql_generator.src deleted file mode 100644 index c4168201b..000000000 --- a/helm/ocaml/METAS/meta.helm-mathql_generator.src +++ /dev/null @@ -1,5 +0,0 @@ -requires="helm-cic helm-cic_proof_checking helm-mathql" -version="1.3" -archive(byte)="mathql_generator.cma" -archive(native)="mathql_generator.cmxa" -linkopts="" diff --git a/helm/ocaml/METAS/meta.helm-mathql_interpreter.src b/helm/ocaml/METAS/meta.helm-mathql_interpreter.src deleted file mode 100644 index 42275abf6..000000000 --- a/helm/ocaml/METAS/meta.helm-mathql_interpreter.src +++ /dev/null @@ -1,6 +0,0 @@ -requires="helm-cic postgres mysql helm-mathql helm-registry" -#natile-galax -version="1.3" -archive(byte)="mathql_interpreter.cma" -archive(native)="mathql_interpreter.cmxa" -linkopts="" diff --git a/helm/ocaml/METAS/meta.helm-metadata.src b/helm/ocaml/METAS/meta.helm-metadata.src deleted file mode 100644 index a5b138301..000000000 --- a/helm/ocaml/METAS/meta.helm-metadata.src +++ /dev/null @@ -1,4 +0,0 @@ -requires="helm-hmysql helm-cic_proof_checking" -version="0.0.1" -archive(byte)="metadata.cma" -archive(native)="metadata.cmxa" diff --git a/helm/ocaml/METAS/meta.helm-paramodulation.src b/helm/ocaml/METAS/meta.helm-paramodulation.src deleted file mode 100644 index 57dedd068..000000000 --- a/helm/ocaml/METAS/meta.helm-paramodulation.src +++ /dev/null @@ -1,5 +0,0 @@ -requires="helm-registry helm-cic_transformations helm-tactics helm-cic_disambiguation mysql" -version="0.0.1" -archive(byte)="paramodulation.cma" -archive(native)="paramodulation.cmxa" -linkopts="" diff --git a/helm/ocaml/METAS/meta.helm-pxp.src b/helm/ocaml/METAS/meta.helm-pxp.src deleted file mode 100644 index 6949a5712..000000000 --- a/helm/ocaml/METAS/meta.helm-pxp.src +++ /dev/null @@ -1,5 +0,0 @@ -requires="pxp-engine pxp-lex-utf8 pxp-lex-iso88591 pxp-lex-iso885915 http" -version="0.0.1" -archive(byte)="pxp.cma" -archive(native)="pxp.cmxa" -linkopts="" diff --git a/helm/ocaml/METAS/meta.helm-registry.src b/helm/ocaml/METAS/meta.helm-registry.src deleted file mode 100644 index 82d364016..000000000 --- a/helm/ocaml/METAS/meta.helm-registry.src +++ /dev/null @@ -1,4 +0,0 @@ -requires="str netstring helm-xml" -version="0.0.1" -archive(byte)="registry.cma" -archive(native)="registry.cmxa" diff --git a/helm/ocaml/METAS/meta.helm-tactics.src b/helm/ocaml/METAS/meta.helm-tactics.src deleted file mode 100644 index d12fe16fd..000000000 --- a/helm/ocaml/METAS/meta.helm-tactics.src +++ /dev/null @@ -1,4 +0,0 @@ -requires="helm-cic_proof_checking helm-cic_unification helm-metadata" -version="0.0.1" -archive(byte)="tactics.cma" -archive(native)="tactics.cmxa" diff --git a/helm/ocaml/METAS/meta.helm-tex_cic_textual_parser.src b/helm/ocaml/METAS/meta.helm-tex_cic_textual_parser.src deleted file mode 100644 index dec21eebd..000000000 --- a/helm/ocaml/METAS/meta.helm-tex_cic_textual_parser.src +++ /dev/null @@ -1,5 +0,0 @@ -requires="helm-cic" -version="0.0.1" -archive(byte)="tex_cic_textual_parser.cma" -archive(native)="tex_cic_textual_parser.cmxa" -linkopts="" diff --git a/helm/ocaml/METAS/meta.helm-thread.src b/helm/ocaml/METAS/meta.helm-thread.src deleted file mode 100644 index 5253060d2..000000000 --- a/helm/ocaml/METAS/meta.helm-thread.src +++ /dev/null @@ -1,7 +0,0 @@ -requires="" -version="0.0.1" -archive(byte,mt)="thread.cma" -archive(native,mt)="thread.cmxa" -archive(byte)="thread_fake.cma" -archive(native)="thread_fake.cmxa" -linkopts="" diff --git a/helm/ocaml/METAS/meta.helm-urimanager.src b/helm/ocaml/METAS/meta.helm-urimanager.src deleted file mode 100644 index ff1874688..000000000 --- a/helm/ocaml/METAS/meta.helm-urimanager.src +++ /dev/null @@ -1,5 +0,0 @@ -requires="str" -version="0.0.1" -archive(byte)="urimanager.cma" -archive(native)="urimanager.cmxa" -linkopts="" diff --git a/helm/ocaml/METAS/meta.helm-utf8_macros.src b/helm/ocaml/METAS/meta.helm-utf8_macros.src deleted file mode 100644 index c2da77649..000000000 --- a/helm/ocaml/METAS/meta.helm-utf8_macros.src +++ /dev/null @@ -1,7 +0,0 @@ -requires="" -version="0.0.1" -archive(byte)="utf8_macros.cma" -archive(native)="utf8_macros.cmxa" -requires(syntax,preprocessor)="camlp4" -archive(syntax,preprocessor)="pa_extend.cmo pa_unicode_macro.cma" -linkopts="" diff --git a/helm/ocaml/METAS/meta.helm-xml.src b/helm/ocaml/METAS/meta.helm-xml.src deleted file mode 100644 index 626e644fc..000000000 --- a/helm/ocaml/METAS/meta.helm-xml.src +++ /dev/null @@ -1,5 +0,0 @@ -requires="zip expat helm-extlib" -version="0.0.1" -archive(byte)="xml.cma" -archive(native)="xml.cmxa" -linkopts="" diff --git a/helm/ocaml/METAS/meta.helm-xmldiff.src b/helm/ocaml/METAS/meta.helm-xmldiff.src deleted file mode 100644 index 9cc918307..000000000 --- a/helm/ocaml/METAS/meta.helm-xmldiff.src +++ /dev/null @@ -1,4 +0,0 @@ -requires="gdome2" -version="0.0.1" -archive(byte)="xmldiff.cma" -archive(native)="xmldiff.cmxa" diff --git a/helm/ocaml/Makefile.common.in b/helm/ocaml/Makefile.common.in deleted file mode 100644 index 501a411da..000000000 --- a/helm/ocaml/Makefile.common.in +++ /dev/null @@ -1,124 +0,0 @@ -# This Makefile must be included by another one defining: -# $PACKAGE -# $REQUIRES -# $PREDICATES -# $INTERFACE_FILES -# $IMPLEMENTATION_FILES -# $EXTRA_OBJECTS_TO_INSTALL -# $EXTRA_OBJECTS_TO_CLEAN -# and put in a directory where there is a .depend file. - -OCAMLFIND_DEST_DIR = @OCAMLFIND_DEST_DIR@ -OCAMLPATH = @OCAMLFIND_META_DIR@ - -PREPROCOPTIONS = -pp camlp4o -SYNTAXOPTIONS = -syntax camlp4o -PREREQ = -OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)" -thread -OCAMLDEBUGOPTIONS = -g -OCAMLARCHIVEOPTIONS = -OCAMLFIND = OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH @OCAMLFIND@ -OCAMLC = $(OCAMLFIND) ocamlc $(OCAMLDEBUGOPTIONS) $(OCAMLOPTIONS) $(PREPROCOPTIONS) -OCAMLOPT = $(OCAMLFIND) opt $(OCAMLOPTIONS) $(PREPROCOPTIONS) -OCAMLDEP = $(OCAMLFIND) ocamldep -package "camlp4,$(REQUIRES)" $(SYNTAXOPTIONS) -OCAMLLEX = ocamllex -OCAMLYACC = ocamlyacc - -OCAMLC_P4 = $(OCAMLFIND) ocamlc $(OCAMLDEBUGOPTIONS) $(OCAMLOPTIONS) $(SYNTAXOPTIONS) -OCAMLOPT_P4 = $(OCAMLFIND) opt $(OCAMLOPTIONS) $(SYNTAXOPTIONS) - -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)) - - -ARCHIVE = $(PACKAGE).cma -ARCHIVE_OPT = $(PACKAGE).cmxa -OBJECTS_TO_INSTALL = $(ARCHIVE) $(ARCHIVE_OPT) $(ARCHIVE_OPT:%.cmxa=%.a) \ - $(INTERFACE_FILES) $(INTERFACE_FILES:%.mli=%.cmi) \ - $(EXTRA_OBJECTS_TO_INSTALL) -DEPEND_FILES = $(INTERFACE_FILES) $(IMPLEMENTATION_FILES) - -$(ARCHIVE): $(IMPLEMENTATION_FILES:%.ml=%.cmo) $(LIBRARIES) - $(OCAMLC) $(OCAMLARCHIVEOPTIONS) -a -o $@ \ - $(IMPLEMENTATION_FILES:%.ml=%.cmo) - -$(ARCHIVE_OPT): $(IMPLEMENTATION_FILES:%.ml=%.cmx) $(LIBRARIES_OPT) - $(OCAMLOPT) $(OCAMLARCHIVEOPTIONS) -a -o $@ \ - $(IMPLEMENTATION_FILES:%.ml=%.cmx) - -prereq: $(PREREQ) -all: prereq $(IMPLEMENTATION_FILES:%.ml=%.cmo) $(ARCHIVE) -opt: prereq $(IMPLEMENTATION_FILES:%.ml=%.cmx) $(ARCHIVE_OPT) -world: all opt -test: test.ml $(ARCHIVE) - $(OCAMLC) $(ARCHIVE) -linkpkg -o $@ $< -test.opt: test.ml $(ARCHIVE_OPT) - $(OCAMLOPT) $(ARCHIVE_OPT) -linkpkg -o $@ $< - -depend: $(DEPEND_FILES) - $(OCAMLDEP) $(INTERFACE_FILES) $(IMPLEMENTATION_FILES) > .depend - -$(PACKAGE).ps: .dep.dot - dot -Tps -o $@ $< - -.dep.dot: .depend - ocamldot < .depend > $@ - -%.cmi: %.mli - $(OCAMLC) -c $< -%.cmo %.cmi: %.ml - $(OCAMLC) -c $< -%.cmx: %.ml - $(OCAMLOPT) -c $< -%.annot: %.ml - $(OCAMLC) -dtypes $(PKGS) -c $< -%.ml %.mli: %.mly - $(OCAMLYACC) $< -%.ml: %.mll - $(OCAMLLEX) $< - -$(IMPLEMENTATION_FILES:%.ml=%.cmo): $(LIBRARIES) -$(IMPLEMENTATION_FILES:%.ml=%.cmx): $(LIBRARIES_OPT) - -clean: - rm -f *.cm[ioax] *.cmxa *.o *.a *.annot $(EXTRA_OBJECTS_TO_CLEAN) - if [ -f test ]; then rm -f test; else true; fi - if [ -f test.opt ]; then rm -f test.opt; else true; fi - -install: - mkdir $(OCAMLFIND_DEST_DIR)/$(PACKAGE) - cp $(OBJECTS_TO_INSTALL) $(OCAMLFIND_DEST_DIR)/$(PACKAGE) - -uninstall: - cd $(OCAMLFIND_DEST_DIR)/$(PACKAGE) && rm -f $(OBJECTS_TO_INSTALL) - rmdir $(OCAMLFIND_DEST_DIR)/$(PACKAGE) - -backup: - cd ..; tar cvzf $(PACKAGE)_$(shell date +%s).tar.gz $(PACKAGE) - -ocamlinit: - echo "#use \"topfind\";;" > .ocamlinit - echo "#thread;;" >> .ocamlinit - for p in $(REQUIRES); do echo "#require \"$$p\";;" >> .ocamlinit; done - echo "#load \"$(PACKAGE).cma\";;" >> .ocamlinit - -.PHONY: all opt world backup depend install uninstall clean ocamlinit - -ifneq ($(MAKECMDGOALS), depend) - include .depend -endif - -ifeq ($(MAKECMDGOALS), all) - $(IMPLEMENTATION_FILES:%.ml=%.cmi): $(LIBRARIES) -endif - -ifeq ($(MAKECMDGOALS), opt) - $(IMPLEMENTATION_FILES:%.ml=%.cmi): $(LIBRARIES_OPT) -endif - -ifeq ($(MAKECMDGOALS),) - $(IMPLEMENTATION_FILES:%.ml=%.cmi): $(LIBRARIES) -endif - -NULL = - diff --git a/helm/ocaml/Makefile.in b/helm/ocaml/Makefile.in deleted file mode 100644 index 93172fdd6..000000000 --- a/helm/ocaml/Makefile.in +++ /dev/null @@ -1,93 +0,0 @@ -# Warning: the modules must be in compilation order -NULL = -MODULES = \ - extlib \ - xml \ - registry \ - hmysql \ - utf8_macros \ - thread \ - xmldiff \ - urimanager \ - logger \ - getter \ - cic \ - cic_proof_checking \ - cic_unification \ - cic_omdoc \ - metadata \ - tactics \ - cic_notation \ - cic_transformations \ - cic_disambiguation \ - paramodulation \ - $(NULL) - -OCAMLFIND_DEST_DIR = @OCAMLFIND_DEST_DIR@ -OCAMLPATH = @OCAMLFIND_META_DIR@ - -METAS = $(MODULES:%=METAS/META.helm-%) METAS/META.helm-cic_disambiguation - -all: metas $(MODULES:%=%.all) -opt: metas $(MODULES:%=%.opt) -world: all opt -metas: $(METAS) -depend: $(MODULES:%=%.depend) -install: $(MODULES:%=%.install) -uninstall: $(MODULES:%=%.uninstall) -clean: $(MODULES:%=%.clean) -clean_metas: - rm -f $(METAS) -distclean: clean clean_metas - rm -f Makefile Makefile.common configure config.log config.cache config.status - -.PHONY: all opt world metas depend install uninstall clean clean_metas distclean - -%.all: - OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH $(MAKE) -C $* all -%.opt: - OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH $(MAKE) -C $* opt -%.clean: - OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH $(MAKE) -C $* clean -%.depend: - OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH $(MAKE) -C $* depend - -$(MODULES:%=%.install): - cd $(@:%.install=%) && make install - export TARGET=$(OCAMLFIND_META_DIR)/$(@:%.install=META.helm-%) ; \ - cp METAS/$(@:%.install=meta.helm-%.src) $$TARGET && \ - echo "directory=\"$(OCAMLFIND_DEST_DIR)/$(@:%.install=%)\"" >> $$TARGET -$(MODULES:%=%.uninstall): - cd $(@:%.uninstall=%) && make uninstall - rm -f $(OCAMLFIND_META_DIR)/$(@:%.uninstall=META.helm-%) -METAS/META.helm-%: METAS/meta.helm-%.src - cp $< $@ && echo "directory=\"$(shell pwd)/$*\"" >> $@ - -.PHONY: .dep.dot -.dep.dot: - echo "digraph G {" > $@ - echo " rankdir = TB ;" >> $@ - for i in $(MODULES); do $(OCAMLFIND) query helm-$$i -recursive -p-format | grep helm | sed "s/^helm-/ \"$$i\" -> \"/g" | sed "s/$$/\";/g" >> $@ ; done - mv $@ $@.old ; ./simplify_deps/simplify_deps.opt < $@.old > $@ ; rm $@.old - echo "}" >> $@ - -.PHONY: .alldep.dot -.alldep.dot: - echo "digraph G {" > $@ - echo " rankdir = TB ;" >> $@ - for i in $(MODULES); do $(OCAMLFIND) query helm-$$i -recursive -p-format | grep -v "pxp-" | sed "s/^pxp/pxp[-*]/g" | sed "s/^/ \"helm-$$i\" -> \"/g" | sed "s/$$/\";/g" >> $@ ; done - mv $@ $@.old ; ./simplify_deps/simplify_deps.opt < $@.old > $@ ; rm $@.old - for i in $(MODULES); do echo "\"helm-$$i\" [shape=box,style=filled,fillcolor=yellow];" >> $@ ; done - echo "}" >> $@ - -libraries.ps: .dep.dot - dot -Tps -o $@ $< - -libraries-complete.ps: .alldep.dot - dot -Tps -o $@ $< - -tags: TAGS -.PHONY: TAGS -TAGS: - otags -vi -r . - diff --git a/helm/ocaml/TODO b/helm/ocaml/TODO deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/ocaml/cic/.cvsignore b/helm/ocaml/cic/.cvsignore deleted file mode 100644 index fa6ba7b5b..000000000 --- a/helm/ocaml/cic/.cvsignore +++ /dev/null @@ -1,4 +0,0 @@ -*.cm[iaox] -*.cmxa -test -test.opt diff --git a/helm/ocaml/cic/.depend b/helm/ocaml/cic/.depend deleted file mode 100644 index 45305130d..000000000 --- a/helm/ocaml/cic/.depend +++ /dev/null @@ -1,21 +0,0 @@ -unshare.cmi: cic.cmo -deannotate.cmi: cic.cmo -cicParser.cmi: cic.cmo -cicUtil.cmi: cic.cmo -helmLibraryObjects.cmi: cic.cmo -cic.cmo: cicUniv.cmi -cic.cmx: cicUniv.cmx -unshare.cmo: cic.cmo unshare.cmi -unshare.cmx: cic.cmx unshare.cmi -cicUniv.cmo: cicUniv.cmi -cicUniv.cmx: cicUniv.cmi -deannotate.cmo: cic.cmo deannotate.cmi -deannotate.cmx: cic.cmx deannotate.cmi -cicParser.cmo: deannotate.cmi cicUniv.cmi cic.cmo cicParser.cmi -cicParser.cmx: deannotate.cmx cicUniv.cmx cic.cmx cicParser.cmi -cicUtil.cmo: cic.cmo cicUtil.cmi -cicUtil.cmx: cic.cmx cicUtil.cmi -helmLibraryObjects.cmo: cic.cmo helmLibraryObjects.cmi -helmLibraryObjects.cmx: cic.cmx helmLibraryObjects.cmi -libraryObjects.cmo: helmLibraryObjects.cmi libraryObjects.cmi -libraryObjects.cmx: helmLibraryObjects.cmx libraryObjects.cmi diff --git a/helm/ocaml/cic/Makefile b/helm/ocaml/cic/Makefile deleted file mode 100644 index d73177b45..000000000 --- a/helm/ocaml/cic/Makefile +++ /dev/null @@ -1,18 +0,0 @@ -PACKAGE = cic -REQUIRES = helm-urimanager helm-xml expat -PREDICATES = - -INTERFACE_FILES = \ - unshare.mli \ - cicUniv.mli \ - deannotate.mli \ - cicParser.mli \ - cicUtil.mli \ - helmLibraryObjects.mli \ - libraryObjects.mli -IMPLEMENTATION_FILES = \ - cic.ml $(INTERFACE_FILES:%.mli=%.ml) -EXTRA_OBJECTS_TO_INSTALL = cic.ml cic.cmi -EXTRA_OBJECTS_TO_CLEAN = - -include ../Makefile.common diff --git a/helm/ocaml/cic/cic.ml b/helm/ocaml/cic/cic.ml deleted file mode 100644 index aacaabda9..000000000 --- a/helm/ocaml/cic/cic.ml +++ /dev/null @@ -1,224 +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 *) -(* *) -(* This module defines the internal representation of the objects (variables,*) -(* blocks of (co)inductive definitions and constants) and the terms of cic *) -(* *) -(*****************************************************************************) - -(* STUFF TO MANAGE IDENTIFIERS *) -type id = string (* the abstract type of the (annotated) node identifiers *) -type 'term explicit_named_substitution = (UriManager.uri * 'term) list - -type implicit_annotation = [ `Closed | `Type | `Hole ] - -(* INTERNAL REPRESENTATION OF CIC OBJECTS AND TERMS *) - -type sort = - Prop - | Set - | Type of CicUniv.universe - | CProp - -type name = - | Name of string - | Anonymous - -type object_flavour = - [ `Definition - | `Fact - | `Lemma - | `Remark - | `Theorem - | `Variant - ] - -type object_class = - [ `Coercion - | `Elim of sort (** elimination principle; if sort is Type, the universe is - * not relevant *) - | `Record of string list (** inductive type that encodes a record; - the arguments are the record fields *) - | `Projection (** record projection *) - ] - -type attribute = - [ `Class of object_class - | `Flavour of object_flavour - | `Generated - ] - -type term = - Rel of int (* DeBrujin index, 1 based*) - | Var of UriManager.uri * (* uri, *) - term explicit_named_substitution (* explicit named subst. *) - | Meta of int * (term option) list (* numeric id, *) - (* local context *) - | Sort of sort (* sort *) - | Implicit of implicit_annotation option (* *) - | Cast of term * term (* value, type *) - | Prod of name * term * term (* binder, source, target *) - | Lambda of name * term * term (* binder, source, target *) - | LetIn of name * term * term (* binder, term, target *) - | Appl of term list (* arguments *) - | Const of UriManager.uri * (* uri, *) - term explicit_named_substitution (* explicit named subst. *) - | MutInd of UriManager.uri * int * (* uri, typeno, *) - term explicit_named_substitution (* explicit named subst. *) - (* typeno is 0 based *) - | MutConstruct of UriManager.uri * (* uri, *) - int * int * (* typeno, consno *) - term explicit_named_substitution (* explicit named subst. *) - (* typeno is 0 based *) - (* consno is 1 based *) - | MutCase of UriManager.uri * (* ind. uri, *) - int * (* ind. typeno, *) - term * term * (* outtype, ind. term *) - term list (* patterns *) - | Fix of int * inductiveFun list (* funno (0 based), funs *) - | CoFix of int * coInductiveFun list (* funno (0 based), funs *) -and obj = - Constant of string * term option * term * (* id, body, type, *) - UriManager.uri list * attribute list (* parameters *) - | Variable of string * term option * term * (* name, body, type *) - UriManager.uri list * attribute list (* parameters *) - | CurrentProof of string * metasenv * term * (* name, conjectures, body, *) - term * UriManager.uri list * attribute list (* type, parameters *) - | InductiveDefinition of inductiveType list * (* inductive types, *) - UriManager.uri list * int * attribute list (* params, left params no *) -and inductiveType = - string * bool * term * (* typename, inductive, arity *) - constructor list (* constructors *) -and constructor = - string * term (* id, type *) -and inductiveFun = - string * int * term * term (* name, ind. index, type, body *) -and coInductiveFun = - string * term * term (* name, type, body *) - -(* a metasenv is a list of declarations of metas in declarations *) -(* order (i.e. [oldest ; ... ; newest]). Older variables can not *) -(* depend on new ones. *) -and conjecture = int * context * term -and metasenv = conjecture list -and substitution = (int * (context * term * term)) list - - - -(* a metasenv is a list of declarations of metas in declarations *) -(* order (i.e. [oldest ; ... ; newest]). Older variables can not *) -(* depend on new ones. *) -and annconjecture = id * int * anncontext * annterm -and annmetasenv = annconjecture list - -and annterm = - ARel of id * id * int * (* idref, DeBrujin index, *) - string (* binder *) - | AVar of id * UriManager.uri * (* uri, *) - annterm explicit_named_substitution (* explicit named subst. *) - | AMeta of id * int * (annterm option) list (* numeric id, *) - (* local context *) - | ASort of id * sort (* sort *) - | AImplicit of id * implicit_annotation option (* *) - | ACast of id * annterm * annterm (* value, type *) - | AProd of id * name * annterm * annterm (* binder, source, target *) - | ALambda of id * name * annterm * annterm (* binder, source, target *) - | ALetIn of id * name * annterm * annterm (* binder, term, target *) - | AAppl of id * annterm list (* arguments *) - | AConst of id * UriManager.uri * (* uri, *) - annterm explicit_named_substitution (* explicit named subst. *) - | AMutInd of id * UriManager.uri * int * (* uri, typeno *) - annterm explicit_named_substitution (* explicit named subst. *) - (* typeno is 0 based *) - | AMutConstruct of id * UriManager.uri * (* uri, *) - int * int * (* typeno, consno *) - annterm explicit_named_substitution (* explicit named subst. *) - (* typeno is 0 based *) - (* consno is 1 based *) - | AMutCase of id * UriManager.uri * (* ind. uri, *) - int * (* ind. typeno, *) - annterm * annterm * (* outtype, ind. term *) - annterm list (* patterns *) - | AFix of id * int * anninductiveFun list (* funno, functions *) - | ACoFix of id * int * anncoInductiveFun list (* funno, functions *) -and annobj = - AConstant of id * id option * string * (* name, *) - annterm option * annterm * (* body, type, *) - UriManager.uri list * attribute list (* parameters *) - | AVariable of id * - string * annterm option * annterm * (* name, body, type *) - UriManager.uri list * attribute list (* parameters *) - | ACurrentProof of id * id * - string * annmetasenv * (* name, conjectures, *) - annterm * annterm * UriManager.uri list * (* body,type,parameters *) - attribute list - | AInductiveDefinition of id * - anninductiveType list * (* inductive types , *) - UriManager.uri list * int * attribute list (* parameters,n ind. pars*) -and anninductiveType = - id * string * bool * annterm * (* typename, inductive, arity *) - annconstructor list (* constructors *) -and annconstructor = - string * annterm (* id, type *) -and anninductiveFun = - id * string * int * annterm * annterm (* name, ind. index, type, body *) -and anncoInductiveFun = - id * string * annterm * annterm (* name, type, body *) -and annotation = - string - -and context_entry = (* A declaration or definition *) - Decl of term - | Def of term * term option (* body, type (if known) *) - -and hypothesis = - (name * context_entry) option (* None means no more accessible *) - -and context = hypothesis list - -and anncontext_entry = (* A declaration or definition *) - ADecl of annterm - | ADef of annterm - -and annhypothesis = - id * (name * anncontext_entry) option (* None means no more accessible *) - -and anncontext = annhypothesis list -;; - -type anntarget = - Object of annobj (* if annobj is a Constant, this is its type *) - | ConstantBody of annobj - | Term of annterm - | Conjecture of annconjecture - | Hypothesis of annhypothesis - diff --git a/helm/ocaml/cic/cicParser.ml b/helm/ocaml/cic/cicParser.ml deleted file mode 100644 index d81521f99..000000000 --- a/helm/ocaml/cic/cicParser.ml +++ /dev/null @@ -1,772 +0,0 @@ -(* Copyright (C) 2004-2005, 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 = false -let debug_print s = if debug then prerr_endline (Lazy.force s) - -open Printf - -(* ZACK TODO element from the DTD still to be handled: - - - - - - - -*) - -exception Getter_failure of string * string -exception Parser_failure of string - -type stack_entry = - | Arg of string * Cic.annterm (* relative uri, term *) - (* constants' body and types resides in differne files, thus we can't simple - * keep constants in Cic_obj stack entries *) - | Cic_attributes of Cic.attribute list - | Cic_constant_body of string * string * UriManager.uri list * Cic.annterm - * Cic.attribute list - (* id, for, params, body, object attributes *) - | Cic_constant_type of string * string * UriManager.uri list * Cic.annterm - * Cic.attribute list - (* id, name, params, type, object attributes *) - | Cic_term of Cic.annterm (* term *) - | Cic_obj of Cic.annobj (* object *) - | Cofix_fun of Cic.id * string * Cic.annterm * Cic.annterm - (* id, name, type, body *) - | Constructor of string * Cic.annterm (* name, type *) - | Decl of Cic.id * Cic.name * Cic.annterm (* id, binder, source *) - | Def of Cic.id * Cic.name * Cic.annterm (* id, binder, source *) - | Fix_fun of Cic.id * string * int * Cic.annterm * Cic.annterm - (* id, name, ind. index, type, body *) - | Inductive_type of string * string * bool * Cic.annterm * - (string * Cic.annterm) list (* id, name, inductive, arity, constructors *) - | Meta_subst of Cic.annterm option - | Obj_class of Cic.object_class - | Obj_flavour of Cic.object_flavour - | Obj_field of string (* field name *) - | Obj_generated - | Tag of string * (string * string) list (* tag name, attributes *) - (* ZACK TODO add file position to tag stack entry so that when attribute - * errors occur, the position of their _start_tag_ could be printed - * instead of the current position (usually the end tag) *) - -type ctxt = { - mutable stack: stack_entry list; - mutable xml_parser: XmlPushParser.xml_parser option; - mutable filename: string; - uri: UriManager.uri; -} - -let string_of_stack ctxt = - "[" ^ (String.concat "; " - (List.map - (function - | Arg (reluri, _) -> sprintf "Arg %s" reluri - | Cic_attributes _ -> "Cic_attributes" - | Cic_constant_body (id, name, _, _, _) -> - sprintf "Cic_constant_body %s (id=%s)" name id - | Cic_constant_type (id, name, _, _, _) -> - sprintf "Cic_constant_type %s (id=%s)" name id - | Cic_term _ -> "Cic_term" - | Cic_obj _ -> "Cic_obj" - | Constructor (name, _) -> "Constructor " ^ name - | Cofix_fun (id, _, _, _) -> sprintf "Cofix_fun (id=%s)" id - | Decl (id, _, _) -> sprintf "Decl (id=%s)" id - | Def (id, _, _) -> sprintf "Def (id=%s)" id - | Fix_fun (id, _, _, _, _) -> sprintf "Fix_fun (id=%s)" id - | Inductive_type (id, name, _, _, _) -> - sprintf "Inductive_type %s (id=%s)" name id - | Meta_subst _ -> "Meta_subst" - | Obj_class _ -> "Obj_class" - | Obj_flavour _ -> "Obj_flavour" - | Obj_field name -> "Obj_field " ^ name - | Obj_generated -> "Obj_generated" - | Tag (tag, _) -> "Tag " ^ tag) - ctxt.stack)) ^ "]" - -let compare_attrs (a1, v1) (a2, v2) = Pervasives.compare a1 a2 -let sort_attrs = List.sort compare_attrs - -let new_parser_context uri = { - stack = []; - xml_parser = None; - filename = "-"; - uri = uri; -} - -let get_parser ctxt = - match ctxt.xml_parser with - | Some p -> p - | None -> assert false - -(** {2 Error handling} *) - -let parse_error ctxt msg = - let (line, col) = XmlPushParser.get_position (get_parser ctxt) in - raise (Parser_failure (sprintf "[%s: line %d, column %d] %s" - ctxt.filename line col msg)) - -let attribute_error ctxt tag = - parse_error ctxt ("wrong attribute set for " ^ tag) - -(** {2 Parsing context management} *) - -let pop ctxt = -(* debug_print (lazy "pop");*) - match ctxt.stack with - | hd :: tl -> (ctxt.stack <- tl) - | _ -> assert false - -let push ctxt v = -(* debug_print (lazy "push");*) - ctxt.stack <- v :: ctxt.stack - -let set_top ctxt v = -(* debug_print (lazy "set_top");*) - match ctxt.stack with - | _ :: tl -> (ctxt.stack <- v :: tl) - | _ -> assert false - - (** pop the last tag from the open tags stack returning a pair *) -let pop_tag ctxt = - match ctxt.stack with - | Tag (tag, attrs) :: tl -> - ctxt.stack <- tl; - (tag, attrs) - | _ -> parse_error ctxt "unexpected extra content" - - (** pop the last tag from the open tags stack returning its attributes. - * Attributes are returned as a list of pair _sorted_ by - * attribute name *) -let pop_tag_attrs ctxt = sort_attrs (snd (pop_tag ctxt)) - -let pop_cics ctxt = - let rec aux acc stack = - match stack with - | Cic_term t :: tl -> aux (t :: acc) tl - | tl -> acc, tl - in - let values, new_stack = aux [] ctxt.stack in - ctxt.stack <- new_stack; - values - -let pop_class_modifiers ctxt = - let rec aux acc stack = - match stack with - | (Cic_term (Cic.ASort _) as m) :: tl - | (Obj_field _ as m) :: tl -> - aux (m :: acc) tl - | tl -> acc, tl - in - let values, new_stack = aux [] ctxt.stack in - ctxt.stack <- new_stack; - values - -let pop_meta_substs ctxt = - let rec aux acc stack = - match stack with - | Meta_subst t :: tl -> aux (t :: acc) tl - | tl -> acc, tl - in - let values, new_stack = aux [] ctxt.stack in - ctxt.stack <- new_stack; - values - -let pop_fix_funs ctxt = - let rec aux acc stack = - match stack with - | Fix_fun (id, name, index, typ, body) :: tl -> - aux ((id, name, index, typ, body) :: acc) tl - | tl -> acc, tl - in - let values, new_stack = aux [] ctxt.stack in - ctxt.stack <- new_stack; - values - -let pop_cofix_funs ctxt = - let rec aux acc stack = - match stack with - | Cofix_fun (id, name, typ, body) :: tl -> - aux ((id, name, typ, body) :: acc) tl - | tl -> acc, tl - in - let values, new_stack = aux [] ctxt.stack in - ctxt.stack <- new_stack; - values - -let pop_constructors ctxt = - let rec aux acc stack = - match stack with - | Constructor (name, t) :: tl -> aux ((name, t) :: acc) tl - | tl -> acc, tl - in - let values, new_stack = aux [] ctxt.stack in - ctxt.stack <- new_stack; - values - -let pop_inductive_types ctxt = - let rec aux acc stack = - match stack with - | Inductive_type (id, name, ind, arity, ctors) :: tl -> - aux ((id, name, ind, arity, ctors) :: acc) tl - | tl -> acc, tl - in - let values, new_stack = aux [] ctxt.stack in - if values = [] then - parse_error ctxt "no \"InductiveType\" element found"; - ctxt.stack <- new_stack; - values - - (** travels the stack (without popping) for the first term subject of explicit - * named substitution and return its URI *) -let find_base_uri ctxt = - let rec aux = function - | Cic_term (Cic.AConst (_, uri, _)) :: _ - | Cic_term (Cic.AMutInd (_, uri, _, _)) :: _ - | Cic_term (Cic.AMutConstruct (_, uri, _, _, _)) :: _ - | Cic_term (Cic.AVar (_, uri, _)) :: _ -> - uri - | Arg _ :: tl -> aux tl - | _ -> parse_error ctxt "no \"arg\" element found" - in - UriManager.buri_of_uri (aux ctxt.stack) - - (** backwardly eats the stack building an explicit named substitution from Arg - * stack entries *) -let pop_subst ctxt base_uri = - let rec aux acc stack = - match stack with - | Arg (rel_uri, term) :: tl -> - let uri = UriManager.uri_of_string (base_uri ^ "/" ^ rel_uri) in - aux ((uri, term) :: acc) tl - | tl -> acc, tl - in - let subst, new_stack = aux [] ctxt.stack in - if subst = [] then - parse_error ctxt "no \"arg\" element found"; - ctxt.stack <- new_stack; - subst - -let pop_cic ctxt = - match ctxt.stack with - | Cic_term t :: tl -> - ctxt.stack <- tl; - t - | _ -> parse_error ctxt "no cic term found" - -let pop_obj_attributes ctxt = - match ctxt.stack with - | Cic_attributes attributes :: tl -> - ctxt.stack <- tl; - attributes - | _ -> [] - -(** {2 Auxiliary functions} *) - -let uri_of_string = UriManager.uri_of_string - -let uri_list_of_string = - let space_RE = Str.regexp " " in - fun s -> - List.map uri_of_string (Str.split space_RE s) - -let sort_of_string ctxt = function - | "Prop" -> Cic.Prop - | "Set" -> Cic.Set - | "CProp" -> Cic.CProp - (* THIS CASE IS HERE ONLY TO ALLOW THE PARSING OF COQ LIBRARY - * THIS SHOULD BE REMOVED AS SOON AS univ_maker OR COQ'S EXPORTATION - * IS FIXED *) - | "Type" -> Cic.Type (CicUniv.fresh ~uri:ctxt.uri ()) - | s -> - let len = String.length s in - if not(len > 5) then parse_error ctxt "sort expected"; - if not(String.sub s 0 5 = "Type:") then parse_error ctxt "sort expected"; - try - Cic.Type - (CicUniv.fresh - ~uri:ctxt.uri - ~id:(int_of_string (String.sub s 5 (len - 5))) ()) - with - | Failure "int_of_string" - | Invalid_argument _ -> parse_error ctxt "sort expected" - -let patch_subst ctxt subst = function - | Cic.AConst (id, uri, _) -> Cic.AConst (id, uri, subst) - | Cic.AMutInd (id, uri, typeno, _) -> - Cic.AMutInd (id, uri, typeno, subst) - | Cic.AMutConstruct (id, uri, typeno, consno, _) -> - Cic.AMutConstruct (id, uri, typeno, consno, subst) - | Cic.AVar (id, uri, _) -> Cic.AVar (id, uri, subst) - | _ -> - parse_error ctxt - ("only \"CONST\", \"VAR\", \"MUTIND\", and \"MUTCONSTRUCT\" can be" ^ - " instantiated") - - (** backwardly eats the stack seeking for the first open tag carrying - * "helm:exception" attributes. If found return Some of a pair containing - * exception name and argument. Return None otherwise *) -let find_helm_exception ctxt = - let rec aux = function - | [] -> None - | Tag (_, attrs) :: tl -> - (try - let exn = List.assoc "helm:exception" attrs in - let arg = - try List.assoc "helm:exception_arg" attrs with Not_found -> "" - in - Some (exn, arg) - with Not_found -> aux tl) - | _ :: tl -> aux tl - in - aux ctxt.stack - -(** {2 Push parser callbacks} - * each callback needs to be instantiated to a parsing context *) - -let start_element ctxt tag attrs = -(* debug_print (lazy (sprintf "<%s%s>" tag (match attrs with | [] -> "" | _ -> " " ^ String.concat " " (List.map (fun (a,v) -> sprintf "%s=\"%s\"" a v) attrs))));*) - push ctxt (Tag (tag, attrs)) - -let end_element ctxt tag = -(* debug_print (lazy (sprintf "" tag));*) -(* debug_print (lazy (string_of_stack ctxt));*) - let attribute_error () = attribute_error ctxt tag in - let parse_error = parse_error ctxt in - let sort_of_string = sort_of_string ctxt in - match tag with - | "REL" -> - push ctxt (Cic_term - (match pop_tag_attrs ctxt with - | ["binder", binder; "id", id; "idref", idref; "value", value] - | ["binder", binder; "id", id; "idref", idref; "sort", _; - "value", value] -> - Cic.ARel (id, idref, int_of_string value, binder) - | _ -> attribute_error ())) - | "VAR" -> - push ctxt (Cic_term - (match pop_tag_attrs ctxt with - | ["id", id; "uri", uri] - | ["id", id; "sort", _; "uri", uri] -> - Cic.AVar (id, uri_of_string uri, []) - | _ -> attribute_error ())) - | "CONST" -> - push ctxt (Cic_term - (match pop_tag_attrs ctxt with - | ["id", id; "uri", uri] - | ["id", id; "sort", _; "uri", uri] -> - Cic.AConst (id, uri_of_string uri, []) - | _ -> attribute_error ())) - | "SORT" -> - push ctxt (Cic_term - (match pop_tag_attrs ctxt with - | ["id", id; "value", sort] -> Cic.ASort (id, sort_of_string sort) - | _ -> attribute_error ())) - | "APPLY" -> - let args = pop_cics ctxt in - push ctxt (Cic_term - (match pop_tag_attrs ctxt with - | ["id", id ] - | ["id", id; "sort", _] -> Cic.AAppl (id, args) - | _ -> attribute_error ())) - | "decl" -> - let source = pop_cic ctxt in - push ctxt - (match pop_tag_attrs ctxt with - | ["binder", binder; "id", id ] - | ["binder", binder; "id", id; "type", _] -> - Decl (id, Cic.Name binder, source) - | ["id", id] - | ["id", id; "type", _] -> Decl (id, Cic.Anonymous, source) - | _ -> attribute_error ()) - | "def" -> (* same as "decl" above *) - let source = pop_cic ctxt in - push ctxt - (match pop_tag_attrs ctxt with - | ["binder", binder; "id", id] - | ["binder", binder; "id", id; "sort", _] -> - Def (id, Cic.Name binder, source) - | ["id", id] - | ["id", id; "sort", _] -> Def (id, Cic.Anonymous, source) - | _ -> attribute_error ()) - | "arity" (* transparent elements (i.e. which contain a CIC) *) - | "body" - | "inductiveTerm" - | "pattern" - | "patternsType" - | "target" - | "term" - | "type" -> - let term = pop_cic ctxt in - pop ctxt; (* pops start tag matching current end tag (e.g. ) *) - push ctxt (Cic_term term) - | "substitution" -> (* optional transparent elements (i.e. which _may_ - * contain a CIC) *) - set_top ctxt (* replace *) - (match ctxt.stack with - | Cic_term term :: tl -> - ctxt.stack <- tl; - (Meta_subst (Some term)) - | _ -> Meta_subst None) - | "PROD" -> - let target = pop_cic ctxt in - let rec add_decl target = function - | Decl (id, binder, source) :: tl -> - add_decl (Cic.AProd (id, binder, source, target)) tl - | tl -> - ctxt.stack <- tl; - target - in - let term = add_decl target ctxt.stack in - (match pop_tag_attrs ctxt with - [] - | ["type", _] -> () - | _ -> attribute_error ()); - push ctxt (Cic_term term) - | "LAMBDA" -> - let target = pop_cic ctxt in - let rec add_decl target = function - | Decl (id, binder, source) :: tl -> - add_decl (Cic.ALambda (id, binder, source, target)) tl - | tl -> - ctxt.stack <- tl; - target - in - let term = add_decl target ctxt.stack in - (match pop_tag_attrs ctxt with - [] - | ["sort", _] -> () - | _ -> attribute_error ()); - push ctxt (Cic_term term) - | "LETIN" -> - let target = pop_cic ctxt in - let rec add_def target = function - | Def (id, binder, source) :: tl -> - add_def (Cic.ALetIn (id, binder, source, target)) tl - | tl -> - ctxt.stack <- tl; - target - in - let term = add_def target ctxt.stack in - (match pop_tag_attrs ctxt with - [] - | ["sort", _] -> () - | _ -> attribute_error ()); - push ctxt (Cic_term term) - | "CAST" -> - let typ = pop_cic ctxt in - let term = pop_cic ctxt in - push ctxt (Cic_term - (match pop_tag_attrs ctxt with - ["id", id] - | ["id", id; "sort", _] -> Cic.ACast (id, term, typ) - | _ -> attribute_error ())); - | "IMPLICIT" -> - push ctxt (Cic_term - (match pop_tag_attrs ctxt with - | ["id", id] -> Cic.AImplicit (id, None) - | ["annotation", annotation; "id", id] -> - let implicit_annotation = - match annotation with - | "closed" -> `Closed - | "hole" -> `Hole - | "type" -> `Type - | _ -> parse_error "invalid value for \"annotation\" attribute" - in - Cic.AImplicit (id, Some implicit_annotation) - | _ -> attribute_error ())) - | "META" -> - let meta_substs = pop_meta_substs ctxt in - push ctxt (Cic_term - (match pop_tag_attrs ctxt with - | ["id", id; "no", no] - | ["id", id; "no", no; "sort", _] -> - Cic.AMeta (id, int_of_string no, meta_substs) - | _ -> attribute_error ())); - | "MUTIND" -> - push ctxt (Cic_term - (match pop_tag_attrs ctxt with - | ["id", id; "noType", noType; "uri", uri] -> - Cic.AMutInd (id, uri_of_string uri, int_of_string noType, []) - | _ -> attribute_error ())); - | "MUTCONSTRUCT" -> - push ctxt (Cic_term - (match pop_tag_attrs ctxt with - | ["id", id; "noConstr", noConstr; "noType", noType; "uri", uri] - | ["id", id; "noConstr", noConstr; "noType", noType; "sort", _; - "uri", uri] -> - Cic.AMutConstruct (id, uri_of_string uri, int_of_string noType, - int_of_string noConstr, []) - | _ -> attribute_error ())); - | "FixFunction" -> - let body = pop_cic ctxt in - let typ = pop_cic ctxt in - push ctxt - (match pop_tag_attrs ctxt with - | ["id", id; "name", name; "recIndex", recIndex] -> - Fix_fun (id, name, int_of_string recIndex, typ, body) - | _ -> attribute_error ()) - | "CofixFunction" -> - let body = pop_cic ctxt in - let typ = pop_cic ctxt in - push ctxt - (match pop_tag_attrs ctxt with - | ["id", id; "name", name] -> - Cofix_fun (id, name, typ, body) - | _ -> attribute_error ()) - | "FIX" -> - let fix_funs = pop_fix_funs ctxt in - push ctxt (Cic_term - (match pop_tag_attrs ctxt with - | ["id", id; "noFun", noFun] - | ["id", id; "noFun", noFun; "sort", _] -> - Cic.AFix (id, int_of_string noFun, fix_funs) - | _ -> attribute_error ())) - | "COFIX" -> - let cofix_funs = pop_cofix_funs ctxt in - push ctxt (Cic_term - (match pop_tag_attrs ctxt with - | ["id", id; "noFun", noFun] - | ["id", id; "noFun", noFun; "sort", _] -> - Cic.ACoFix (id, int_of_string noFun, cofix_funs) - | _ -> attribute_error ())) - | "MUTCASE" -> - (match pop_cics ctxt with - | patternsType :: inductiveTerm :: patterns -> - push ctxt (Cic_term - (match pop_tag_attrs ctxt with - | ["id", id; "noType", noType; "uriType", uriType] - | ["id", id; "noType", noType; "sort", _; "uriType", uriType] -> - Cic.AMutCase (id, uri_of_string uriType, int_of_string noType, - patternsType, inductiveTerm, patterns) - | _ -> attribute_error ())) - | _ -> parse_error "invalid \"MUTCASE\" content") - | "Constructor" -> - let typ = pop_cic ctxt in - push ctxt - (match pop_tag_attrs ctxt with - | ["name", name] -> Constructor (name, typ) - | _ -> attribute_error ()) - | "InductiveType" -> - let constructors = pop_constructors ctxt in - let arity = pop_cic ctxt in - push ctxt - (match pop_tag_attrs ctxt with - | ["id", id; "inductive", inductive; "name", name] -> - Inductive_type (id, name, bool_of_string inductive, arity, - constructors) - | _ -> attribute_error ()) - | "InductiveDefinition" -> - let inductive_types = pop_inductive_types ctxt in - let obj_attributes = pop_obj_attributes ctxt in - push ctxt (Cic_obj - (match pop_tag_attrs ctxt with - | ["id", id; "noParams", noParams; "params", params] -> - Cic.AInductiveDefinition (id, inductive_types, - uri_list_of_string params, int_of_string noParams, obj_attributes) - | _ -> attribute_error ())) - | "ConstantType" -> - let typ = pop_cic ctxt in - let obj_attributes = pop_obj_attributes ctxt in - push ctxt - (match pop_tag_attrs ctxt with - | ["id", id; "name", name; "params", params] -> - Cic_constant_type (id, name, uri_list_of_string params, typ, - obj_attributes) - | _ -> attribute_error ()) - | "ConstantBody" -> - let body = pop_cic ctxt in - let obj_attributes = pop_obj_attributes ctxt in - push ctxt - (match pop_tag_attrs ctxt with - | ["for", for_; "id", id; "params", params] -> - Cic_constant_body (id, for_, uri_list_of_string params, body, - obj_attributes) - | _ -> attribute_error ()) - | "Variable" -> - let typ = pop_cic ctxt in - let body = - match pop_cics ctxt with - | [] -> None - | [t] -> Some t - | _ -> parse_error "wrong content for \"Variable\"" - in - let obj_attributes = pop_obj_attributes ctxt in - push ctxt (Cic_obj - (match pop_tag_attrs ctxt with - | ["id", id; "name", name; "params", params] -> - Cic.AVariable (id, name, body, typ, uri_list_of_string params, - obj_attributes) - | _ -> attribute_error ())) - | "arg" -> - let term = pop_cic ctxt in - push ctxt - (match pop_tag_attrs ctxt with - | ["relUri", relUri] -> Arg (relUri, term) - | _ -> attribute_error ()) - | "instantiate" -> - (* explicit named substitution handling: when the end tag of an element - * subject of exlicit named subst (MUTIND, MUTCONSTRUCT, CONST, VAR) it - * is stored on the stack with no substitutions (i.e. []). When the end - * tag of an "instantiate" element is found we patch the term currently - * on the stack with the substitution built from "instantiate" children - *) - (* XXX inefficiency here: first travels the elements in order to - * find the baseUri, then in order to build the explicit named subst *) - let base_uri = find_base_uri ctxt in - let subst = pop_subst ctxt base_uri in - let term = pop_cic ctxt in - (* comment from CicParser3.ml: - * CSC: the "id" optional attribute should be parsed and reflected in - * Cic.annterm and id = string_of_xml_attr (n#attribute "id") *) - (* replace *) - set_top ctxt (Cic_term (patch_subst ctxt subst term)) - | "attributes" -> - let rec aux acc = function (* retrieve object attributes *) - | Obj_class c :: tl -> aux (`Class c :: acc) tl - | Obj_flavour f :: tl -> aux (`Flavour f :: acc) tl - | Obj_generated :: tl -> aux (`Generated :: acc) tl - | tl -> acc, tl - in - let obj_attrs, new_stack = aux [] ctxt.stack in - ctxt.stack <- new_stack; - set_top ctxt (Cic_attributes obj_attrs) - | "generated" -> set_top ctxt Obj_generated - | "field" -> - push ctxt - (match pop_tag_attrs ctxt with - | ["name", name] -> Obj_field name - | _ -> attribute_error ()) - | "flavour" -> - push ctxt - (match pop_tag_attrs ctxt with - | [ "value", "definition"] -> Obj_flavour `Definition - | [ "value", "fact"] -> Obj_flavour `Fact - | [ "value", "lemma"] -> Obj_flavour `Lemma - | [ "value", "remark"] -> Obj_flavour `Remark - | [ "value", "theorem"] -> Obj_flavour `Theorem - | [ "value", "variant"] -> Obj_flavour `Variant - | _ -> attribute_error ()) - | "class" -> - let class_modifiers = pop_class_modifiers ctxt in - push ctxt - (match pop_tag_attrs ctxt with - | ["value", "coercion"] -> Obj_class `Coercion - | ["value", "elim"] -> - (match class_modifiers with - | [Cic_term (Cic.ASort (_, sort))] -> Obj_class (`Elim sort) - | _ -> - parse_error - "unexpected extra content for \"elim\" object class") - | ["value", "record"] -> - let fields = - List.map - (function - | Obj_field name -> name - | _ -> - parse_error - "unexpected extra content for \"record\" object class") - class_modifiers - in - Obj_class (`Record fields) - | ["value", "projection"] -> Obj_class `Projection - | _ -> attribute_error ()) - | tag -> - match find_helm_exception ctxt with - | Some (exn, arg) -> raise (Getter_failure (exn, arg)) - | None -> parse_error (sprintf "unknown element \"%s\"" tag) - -(** {2 Parser internals} *) - -let has_gz_suffix fname = - try - let idx = String.rindex fname '.' in - let suffix = String.sub fname idx (String.length fname - idx) in - suffix = ".gz" - with Not_found -> false - -let parse uri filename = - let ctxt = new_parser_context uri in - ctxt.filename <- filename; - let module P = XmlPushParser in - let callbacks = { - P.default_callbacks with - P.start_element = Some (start_element ctxt); - P.end_element = Some (end_element ctxt); - } in - let xml_parser = P.create_parser callbacks in - ctxt.xml_parser <- Some xml_parser; - try - (try - let xml_source = - if has_gz_suffix filename then `Gzip_file filename - else `File filename - in - P.parse xml_parser xml_source - with exn -> - ctxt.xml_parser <- None; - (* ZACK: the above "<- None" is vital for garbage collection. Without it - * we keep in memory a circular structure parser -> callbacks -> ctxt -> - * parser. I don't know if the ocaml garbage collector is supposed to - * collect such structures, but for sure the expat bindings will (orribly) - * leak when used in conjunction with such structures *) - raise exn); - ctxt.xml_parser <- None; (* ZACK: same comment as above *) -(* debug_print (lazy (string_of_stack stack));*) - (* assert (List.length ctxt.stack = 1) *) - List.hd ctxt.stack - with - | Failure "int_of_string" -> parse_error ctxt "integer number expected" - | Invalid_argument "bool_of_string" -> parse_error ctxt "boolean expected" - | P.Parse_error msg -> parse_error ctxt ("parse error: " ^ msg) - | Parser_failure _ - | Getter_failure _ as exn -> - raise exn - | exn -> - raise (Parser_failure ("uncaught exception: " ^ Printexc.to_string exn)) - -(** {2 API implementation} *) - -let annobj_of_xml uri filename filenamebody = - match filenamebody with - | None -> - (match parse uri filename with - | Cic_constant_type (id, name, params, typ, obj_attributes) -> - Cic.AConstant (id, None, name, None, typ, params, obj_attributes) - | Cic_obj obj -> obj - | _ -> raise (Parser_failure ("no object found in " ^ filename))) - | Some filenamebody -> - (match parse uri filename, parse uri filenamebody with - | Cic_constant_type (type_id, name, params, typ, obj_attributes), - Cic_constant_body (body_id, _, _, body, _) -> - Cic.AConstant (type_id, Some body_id, name, Some body, typ, params,[]) - | _ -> - raise (Parser_failure (sprintf "no constant found in %s, %s" - filename filenamebody))) - -let obj_of_xml uri filename filenamebody = - Deannotate.deannotate_obj (annobj_of_xml uri filename filenamebody) diff --git a/helm/ocaml/cic/cicParser.mli b/helm/ocaml/cic/cicParser.mli deleted file mode 100644 index 9472b4c54..000000000 --- a/helm/ocaml/cic/cicParser.mli +++ /dev/null @@ -1,46 +0,0 @@ -(* Copyright (C) 2000-2005, 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/. - *) - - (** raised for exception received by the getter (i.e. embedded in the source - * XML document). Arguments are values of "helm:exception" and - * "helm:exception_arg" attributes *) -exception Getter_failure of string * string - - (** generic parser failure *) -exception Parser_failure of string - - (* given the filename of an xml file of a cic object, it returns - * its internal annotated representation. In the case of constants (whose - * type is splitted from the body), a second xml file (for the body) must be - * provided. - * Both files are assumed to be gzipped. *) -val annobj_of_xml: UriManager.uri -> string -> string option -> Cic.annobj - - (* given the filename of an xml file of a cic object, it returns its internal - * logical representation. In the case of constants (whose type is splitted - * from the body), a second xml file (for the body) must be provided. - * Both files are assumed to be gzipped. *) -val obj_of_xml : UriManager.uri -> string -> string option -> Cic.obj - diff --git a/helm/ocaml/cic/cicUniv.ml b/helm/ocaml/cic/cicUniv.ml deleted file mode 100644 index 3d92f3335..000000000 --- a/helm/ocaml/cic/cicUniv.ml +++ /dev/null @@ -1,947 +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 *) -(* *) -(* Enrico Tassi *) -(* 23/04/2004 *) -(* *) -(* This module implements the aciclic graph of universes. *) -(* *) -(*****************************************************************************) - -(*****************************************************************************) -(** switch implementation **) -(*****************************************************************************) - -let fast_implementation = ref true ;; - -(*****************************************************************************) -(** open **) -(*****************************************************************************) - -open Printf - -(*****************************************************************************) -(** Types and default values **) -(*****************************************************************************) - -type universe = int * UriManager.uri option - -module UniverseType = struct - type t = universe - let compare = Pervasives.compare -end - -module SOF = Set.Make(UniverseType) - -type entry = { - eq_closure : SOF.t; - ge_closure : SOF.t; - gt_closure : SOF.t; - in_gegt_of : SOF.t; - one_s_eq : SOF.t; - one_s_ge : SOF.t; - one_s_gt : SOF.t; -} - -module MAL = Map.Make(UniverseType) - -type arc_type = GE | GT | EQ - -type bag = entry MAL.t - -let empty_entry = { - eq_closure=SOF.empty; - ge_closure=SOF.empty; - gt_closure=SOF.empty; - in_gegt_of=SOF.empty; - one_s_eq=SOF.empty; - one_s_ge=SOF.empty; - one_s_gt=SOF.empty; -} -let empty_bag = MAL.empty - -let are_set_eq s1 s2 = - SOF.equal s1 s2 - -let are_entry_eq v1 v2 = - (are_set_eq v1.gt_closure v2.gt_closure ) && - (are_set_eq v1.ge_closure v2.ge_closure ) && - (are_set_eq v1.eq_closure v2.eq_closure ) && - (*(are_set_eq v1.in_gegt_of v2.in_gegt_of ) &&*) - (are_set_eq v1.one_s_ge v2.one_s_ge ) && - (are_set_eq v1.one_s_gt v2.one_s_gt ) && - (are_set_eq v1.one_s_eq v2.one_s_eq ) - -let are_ugraph_eq = MAL.equal are_entry_eq - -(*****************************************************************************) -(** Pretty printings **) -(*****************************************************************************) - -let string_of_universe (i,u) = - match u with - Some u -> - "(" ^ ((string_of_int i) ^ "," ^ (UriManager.string_of_uri u) ^ ")") - | None -> "(" ^ (string_of_int i) ^ ",None)" - -let string_of_universe_set l = - SOF.fold (fun x s -> s ^ (string_of_universe x) ^ " ") l "" - -let string_of_node n = - "{"^ - "eq_c: " ^ (string_of_universe_set n.eq_closure) ^ "; " ^ - "ge_c: " ^ (string_of_universe_set n.ge_closure) ^ "; " ^ - "gt_c: " ^ (string_of_universe_set n.gt_closure) ^ "; " ^ - "i_gegt: " ^ (string_of_universe_set n.in_gegt_of) ^ "}\n" - -let string_of_arc (a,u,v) = - (string_of_universe u) ^ " " ^ a ^ " " ^ (string_of_universe v) - -let string_of_mal m = - let rc = ref "" in - MAL.iter (fun k v -> - rc := !rc ^ sprintf "%s --> %s" (string_of_universe k) - (string_of_node v)) m; - !rc - -let string_of_bag b = - string_of_mal b - -(*****************************************************************************) -(** Helpers **) -(*****************************************************************************) - -(* find the repr *) -let repr u m = - try - MAL.find u m - with - Not_found -> empty_entry - -(* FIXME: May be faster if we make it by hand *) -let merge_closures f nodes m = - SOF.fold (fun x i -> SOF.union (f (repr x m)) i ) nodes SOF.empty - -(*****************************************************************************) -(** Benchmarking **) -(*****************************************************************************) -let time_spent = ref 0.0;; -let partial = ref 0.0 ;; - -let reset_spent_time () = time_spent := 0.0;; -let get_spent_time () = !time_spent ;; -let begin_spending () = - (*assert (!partial = 0.0);*) - partial := Unix.gettimeofday () -;; - -let end_spending () = - assert (!partial > 0.0); - let interval = (Unix.gettimeofday ()) -. !partial in - partial := 0.0; - time_spent := !time_spent +. interval -;; - - -(*****************************************************************************) -(** _fats implementation **) -(*****************************************************************************) - -let rec closure_of_fast ru m = - let eq_c = closure_eq_fast ru m in - let ge_c = closure_ge_fast ru m in - let gt_c = closure_gt_fast ru m in - { - eq_closure = eq_c; - ge_closure = ge_c; - gt_closure = gt_c; - in_gegt_of = ru.in_gegt_of; - one_s_eq = ru.one_s_eq; - one_s_ge = ru.one_s_ge; - one_s_gt = ru.one_s_gt - } - -and closure_eq_fast ru m = - let eq_c = - let j = ru.one_s_eq in - let _Uj = merge_closures (fun x -> x.eq_closure) j m in - let one_step_eq = ru.one_s_eq in - (SOF.union one_step_eq _Uj) - in - eq_c - -and closure_ge_fast ru m = - let ge_c = - let j = SOF.union ru.one_s_ge (SOF.union ru.one_s_gt ru.one_s_eq) in - let _Uj = merge_closures (fun x -> x.ge_closure) j m in - let _Ux = j in - (SOF.union _Uj _Ux) - in - ge_c - -and closure_gt_fast ru m = - let gt_c = - let j = ru.one_s_gt in - let k = ru.one_s_ge in - let l = ru.one_s_eq in - let _Uj = merge_closures (fun x -> x.ge_closure) j m in - let _Uk = merge_closures (fun x -> x.gt_closure) k m in - let _Ul = merge_closures (fun x -> x.gt_closure) l m in - let one_step_gt = ru.one_s_gt in - (SOF.union (SOF.union (SOF.union _Ul one_step_gt) _Uk) _Uj) - in - gt_c - -and print_rec_status u ru = - print_endline ("Aggiusto " ^ (string_of_universe u) ^ - "e ottengo questa chiusura\n " ^ (string_of_node ru)) - -and adjust_fast u m = - let ru = repr u m in - let gt_c = closure_gt_fast ru m in - let ge_c = closure_ge_fast ru m in - let eq_c = closure_eq_fast ru m in - let changed_eq = not (are_set_eq eq_c ru.eq_closure) in - let changed_gegt = - (not (are_set_eq gt_c ru.gt_closure)) || - (not (are_set_eq ge_c ru.ge_closure)) - in - if ((not changed_gegt) && (not changed_eq)) then - m - else - begin - let ru' = { - eq_closure = eq_c; - ge_closure = ge_c; - gt_closure = gt_c; - in_gegt_of = ru.in_gegt_of; - one_s_eq = ru.one_s_eq; - one_s_ge = ru.one_s_ge; - one_s_gt = ru.one_s_gt} - in - let m = MAL.add u ru' m in - let m = - SOF.fold (fun x m -> adjust_fast x m) - (SOF.union ru'.eq_closure ru'.in_gegt_of) m - (* TESI: - ru'.in_gegt_of m - *) - in - m (*adjust_fast u m*) - end - -and add_gt_arc_fast u v m = - let ru = repr u m in - let ru' = {ru with one_s_gt = SOF.add v ru.one_s_gt} in - let m' = MAL.add u ru' m in - let rv = repr v m' in - let rv' = {rv with in_gegt_of = SOF.add u rv.in_gegt_of} in - let m'' = MAL.add v rv' m' in - adjust_fast u m'' - -and add_ge_arc_fast u v m = - let ru = repr u m in - let ru' = { ru with one_s_ge = SOF.add v ru.one_s_ge} in - let m' = MAL.add u ru' m in - let rv = repr v m' in - let rv' = {rv with in_gegt_of = SOF.add u rv.in_gegt_of} in - let m'' = MAL.add v rv' m' in - adjust_fast u m'' - -and add_eq_arc_fast u v m = - let ru = repr u m in - let rv = repr v m in - let ru' = {ru with one_s_eq = SOF.add v ru.one_s_eq} in - (*TESI: let ru' = {ru' with in_gegt_of = SOF.add v ru.in_gegt_of} in *) - let m' = MAL.add u ru' m in - let rv' = {rv with one_s_eq = SOF.add u rv.one_s_eq} in - (*TESI: let rv' = {rv' with in_gegt_of = SOF.add u rv.in_gegt_of} in *) - let m'' = MAL.add v rv' m' in - adjust_fast v (*(adjust_fast u*) m'' (* ) *) -;; - - -(*****************************************************************************) -(** safe implementation **) -(*****************************************************************************) - -let closure_of u m = - let ru = repr u m in - let eq_c = - let j = ru.one_s_eq in - let _Uj = merge_closures (fun x -> x.eq_closure) j m in - let one_step_eq = ru.one_s_eq in - (SOF.union one_step_eq _Uj) - in - let ge_c = - let j = SOF.union ru.one_s_ge (SOF.union ru.one_s_gt ru.one_s_eq) in - let _Uj = merge_closures (fun x -> x.ge_closure) j m in - let _Ux = j in - (SOF.union _Uj _Ux) - in - let gt_c = - let j = ru.one_s_gt in - let k = ru.one_s_ge in - let l = ru.one_s_eq in - let _Uj = merge_closures (fun x -> x.ge_closure) j m in - let _Uk = merge_closures (fun x -> x.gt_closure) k m in - let _Ul = merge_closures (fun x -> x.gt_closure) l m in - let one_step_gt = ru.one_s_gt in - (SOF.union (SOF.union (SOF.union _Ul one_step_gt) _Uk) _Uj) - in - { - eq_closure = eq_c; - ge_closure = ge_c; - gt_closure = gt_c; - in_gegt_of = ru.in_gegt_of; - one_s_eq = ru.one_s_eq; - one_s_ge = ru.one_s_ge; - one_s_gt = ru.one_s_gt - } - -let rec simple_adjust m = - let m' = - MAL.mapi (fun x _ -> closure_of x m) m - in - if not (are_ugraph_eq m m') then( - simple_adjust m') - else - m' - -let add_eq_arc u v m = - let ru = repr u m in - let rv = repr v m in - let ru' = {ru with one_s_eq = SOF.add v ru.one_s_eq} in - let m' = MAL.add u ru' m in - let rv' = {rv with one_s_eq = SOF.add u rv.one_s_eq} in - let m'' = MAL.add v rv' m' in - simple_adjust m'' - -let add_ge_arc u v m = - let ru = repr u m in - let ru' = { ru with one_s_ge = SOF.add v ru.one_s_ge} in - let m' = MAL.add u ru' m in - simple_adjust m' - -let add_gt_arc u v m = - let ru = repr u m in - let ru' = {ru with one_s_gt = SOF.add v ru.one_s_gt} in - let m' = MAL.add u ru' m in - simple_adjust m' - - -(*****************************************************************************) -(** Outhern interface, that chooses between _fast and safe **) -(*****************************************************************************) - -(* - given the 2 nodes plus the current bag, adds the arc, recomputes the - closures and returns the new map -*) -let add_eq fast u v b = - if fast then - add_eq_arc_fast u v b - else - add_eq_arc u v b - -(* - given the 2 nodes plus the current bag, adds the arc, recomputes the - closures and returns the new map -*) -let add_ge fast u v b = - if fast then - add_ge_arc_fast u v b - else - add_ge_arc u v b -(* - given the 2 nodes plus the current bag, adds the arc, recomputes the - closures and returns the new map -*) -let add_gt fast u v b = - if fast then - add_gt_arc_fast u v b - else - add_gt_arc u v b - - -(*****************************************************************************) -(** Other real code **) -(*****************************************************************************) - -exception UniverseInconsistency of string - -let error arc node1 closure_type node2 closure = - let s = "\n ===== Universe Inconsistency detected =====\n\n" ^ - " Unable to add\n" ^ - "\t" ^ (string_of_arc arc) ^ "\n" ^ - " cause\n" ^ - "\t" ^ (string_of_universe node1) ^ "\n" ^ - " is in the " ^ closure_type ^ " closure\n" ^ - "\t{" ^ (string_of_universe_set closure) ^ "}\n" ^ - " of\n" ^ - "\t" ^ (string_of_universe node2) ^ "\n\n" ^ - " ===== Universe Inconsistency detected =====\n" in - prerr_endline s; - raise (UniverseInconsistency s) - - -let fill_empty_nodes_with_uri g l uri = - let fill_empty_universe u = - match u with - (i,None) -> (i,Some uri) - | (i,Some _) as u -> u - in - let fill_empty_set s = - SOF.fold (fun e s -> SOF.add (fill_empty_universe e) s) s SOF.empty - in - let fill_empty_entry e = { e with - eq_closure = (fill_empty_set e.eq_closure) ; - ge_closure = (fill_empty_set e.ge_closure) ; - gt_closure = (fill_empty_set e.gt_closure) ; - in_gegt_of = (fill_empty_set e.in_gegt_of) ; - one_s_eq = (fill_empty_set e.one_s_eq) ; - one_s_ge = (fill_empty_set e.one_s_ge) ; - one_s_gt = (fill_empty_set e.one_s_gt) ; - } in - let m = g in - let m' = MAL.fold ( - fun k v m -> - MAL.add (fill_empty_universe k) (fill_empty_entry v) m) m MAL.empty - in - let l' = List.map fill_empty_universe l in - m',l' - - -(*****************************************************************************) -(** World interface **) -(*****************************************************************************) - -type universe_graph = bag - -let empty_ugraph = empty_bag - -let current_index_anon = ref (-1) -let current_index_named = ref (-1) - -let restart_numbering () = current_index_named := (-1) - -let fresh ?uri ?id () = - let i = - match uri,id with - | None,None -> - current_index_anon := !current_index_anon + 1; - !current_index_anon - | None, Some _ -> assert false - | Some _, None -> - current_index_named := !current_index_named + 1; - !current_index_named - | Some _, Some id -> id - in - (i,uri) - -let name_universe u uri = - match u with - | (i, None) -> (i, Some uri) - | _ -> u - -let print_ugraph g = - prerr_endline (string_of_bag g) - -let add_eq ?(fast=(!fast_implementation)) u v b = - (* should we check to no add twice the same?? *) - let m = b in - let ru = repr u m in - if SOF.mem v ru.gt_closure then - error ("EQ",u,v) v "GT" u ru.gt_closure - else - begin - let rv = repr v m in - if SOF.mem u rv.gt_closure then - error ("EQ",u,v) u "GT" v rv.gt_closure - else - add_eq fast u v b - end - -let add_ge ?(fast=(!fast_implementation)) u v b = - (* should we check to no add twice the same?? *) - let m = b in - let rv = repr v m in - if SOF.mem u rv.gt_closure then - error ("GE",u,v) u "GT" v rv.gt_closure - else - add_ge fast u v b - -let add_gt ?(fast=(!fast_implementation)) u v b = - (* should we check to no add twice the same?? *) - (* - FIXME : check the thesis... no need to check GT and EQ closure since the - GE is a superset of both - *) - let m = b in - let rv = repr v m in - - if u = v then - error ("GT",u,v) u "==" v SOF.empty - else - - (*if SOF.mem u rv.gt_closure then - error ("GT",u,v) u "GT" v rv.gt_closure - else - begin*) - if SOF.mem u rv.ge_closure then - error ("GT",u,v) u "GE" v rv.ge_closure - else -(* begin - if SOF.mem u rv.eq_closure then - error ("GT",u,v) u "EQ" v rv.eq_closure - else*) - add_gt fast u v b -(* end - end*) - -(*****************************************************************************) -(** START: Decomment this for performance comparisons **) -(*****************************************************************************) - -let add_eq ?(fast=(!fast_implementation)) u v b = - begin_spending (); - let rc = add_eq ~fast u v b in - end_spending(); - rc - -let add_ge ?(fast=(!fast_implementation)) u v b = - begin_spending (); - let rc = add_ge ~fast u v b in - end_spending(); - rc - -let add_gt ?(fast=(!fast_implementation)) u v b = - begin_spending (); - let rc = add_gt ~fast u v b in - end_spending(); - rc - -(*****************************************************************************) -(** END: Decomment this for performance comparisons **) -(*****************************************************************************) - -let merge_ugraphs u v = - (* this sucks *) - let merge_brutal u v = - if u = empty_bag then v - else if v = empty_bag then u - else - let m1 = u in - let m2 = v in - MAL.fold ( - fun k v x -> - (SOF.fold ( - fun u x -> - let m = add_gt k u x in m) - (SOF.union v.one_s_gt v.gt_closure) - (SOF.fold ( - fun u x -> - let m = add_ge k u x in m) - (SOF.union v.one_s_ge v.ge_closure) - (SOF.fold ( - fun u x -> - let m = add_eq k u x in m) - (SOF.union v.one_s_eq v.eq_closure) x))) - ) m1 m2 - in - merge_brutal u v - - -(*****************************************************************************) -(** Xml sesialization and parsing **) -(*****************************************************************************) - -let xml_of_universe name u = - match u with - | (i,Some u) -> - Xml.xml_empty name [ - None,"id",(string_of_int i) ; - None,"uri",(UriManager.string_of_uri u)] - | (_,None) -> - raise (Failure "we can serialize only universes with uri") - -let xml_of_set s = - let l = - List.map (xml_of_universe "node") (SOF.elements s) - in - List.fold_left (fun s x -> [< s ; x >] ) [<>] l - -let xml_of_entry_content e = - let stream_of_field f name = - let eq_c = xml_of_set f in - if eq_c != [<>] then - Xml.xml_nempty name [] eq_c - else - [<>] - in - [< - (stream_of_field e.eq_closure "eq_closure"); - (stream_of_field e.gt_closure "gt_closure"); - (stream_of_field e.ge_closure "ge_closure"); - (stream_of_field e.in_gegt_of "in_gegt_of"); - (stream_of_field e.one_s_eq "one_s_eq"); - (stream_of_field e.one_s_gt "one_s_gt"); - (stream_of_field e.one_s_ge "one_s_ge") - >] - -let xml_of_entry u e = - let (i,u') = u in - let u'' = - match u' with - Some x -> x - | None -> - raise (Failure "we can serialize only universes (entry) with uri") - in - let ent = Xml.xml_nempty "entry" [ - None,"id",(string_of_int i) ; - None,"uri",(UriManager.string_of_uri u'')] in - let content = xml_of_entry_content e in - ent content - -let write_xml_of_ugraph filename m l = - let tokens = - [< - Xml.xml_cdata "\n"; - Xml.xml_nempty "ugraph" [] - ([< (MAL.fold ( fun k v s -> [< s ; (xml_of_entry k v) >]) m [<>]) ; - (List.fold_left - (fun s u -> [< s ; xml_of_universe "owned_node" u >]) [<>] l) >])>] - in - Xml.pp ~gzip:true tokens (Some filename) - -let univno = fst - - -let rec clean_ugraph m f = - let m' = - MAL.fold (fun k v x -> if (f k) then MAL.add k v x else x ) m MAL.empty in - let m'' = MAL.fold (fun k v x -> - let v' = { - eq_closure = SOF.filter f v.eq_closure; - ge_closure = SOF.filter f v.ge_closure; - gt_closure = SOF.filter f v.gt_closure; - in_gegt_of = SOF.filter f v.in_gegt_of; - one_s_eq = SOF.filter f v.one_s_eq; - one_s_ge = SOF.filter f v.one_s_ge; - one_s_gt = SOF.filter f v.one_s_gt - } in - MAL.add k v' x ) m' MAL.empty in - let e_l = - MAL.fold (fun k v l -> if v = empty_entry && not(f k) then - begin - k::l end else l) m'' [] - in - if e_l != [] then - clean_ugraph m'' (fun u -> (f u) && not (List.mem u e_l)) - else - MAL.fold - (fun k v x -> if v <> empty_entry then MAL.add k v x else x) - m'' MAL.empty - -let clean_ugraph g l = - clean_ugraph g (fun u -> List.mem u l) - -let assigner_of = - function - "ge_closure" -> (fun e u->{e with ge_closure=SOF.add u e.ge_closure}) - | "gt_closure" -> (fun e u->{e with gt_closure=SOF.add u e.gt_closure}) - | "eq_closure" -> (fun e u->{e with eq_closure=SOF.add u e.eq_closure}) - | "in_gegt_of" -> (fun e u->{e with in_gegt_of =SOF.add u e.in_gegt_of}) - | "one_s_ge" -> (fun e u->{e with one_s_ge =SOF.add u e.one_s_ge}) - | "one_s_gt" -> (fun e u->{e with one_s_gt =SOF.add u e.one_s_gt}) - | "one_s_eq" -> (fun e u->{e with one_s_eq =SOF.add u e.one_s_eq}) - | s -> raise (Failure ("unsupported tag " ^ s)) -;; - -let cb_factory m l = - let module XPP = XmlPushParser in - let current_node = ref (0,None) in - let current_entry = ref empty_entry in - let current_assign = ref (assigner_of "in_gegt_of") in - { XPP.default_callbacks with - XPP.end_element = Some( fun name -> - match name with - | "entry" -> - m := MAL.add !current_node !current_entry !m; - current_entry := empty_entry - | _ -> () - ); - XPP.start_element = Some( fun name attlist -> - match name with - | "ugraph" -> () - | "entry" -> - let id = List.assoc "id" attlist in - let uri = List.assoc "uri" attlist in - current_node := (int_of_string id,Some (UriManager.uri_of_string uri)) - | "node" -> - let id = int_of_string (List.assoc "id" attlist) in - let uri = List.assoc "uri" attlist in - current_entry := !current_assign !current_entry - (id,Some (UriManager.uri_of_string uri)) - | "owned_node" -> - let id = int_of_string (List.assoc "id" attlist) in - let uri = List.assoc "uri" attlist in - l := (id,Some (UriManager.uri_of_string uri)) :: !l - | s -> current_assign := assigner_of s - ) - } -;; - -let ugraph_and_univlist_of_xml filename = - let module XPP = XmlPushParser in - let result_map = ref MAL.empty in - let result_list = ref [] in - let cb = cb_factory result_map result_list in - let xml_parser = XPP.create_parser cb in - let xml_source = `Gzip_file filename in - (try XPP.parse xml_parser xml_source - with (XPP.Parse_error err) as exn -> raise exn); - !result_map, !result_list - - -(*****************************************************************************) -(** the main, only for testing **) -(*****************************************************************************) - -(* - -type arc = Ge | Gt | Eq ;; - -let randomize_actionlist n m = - let ge_percent = 0.7 in - let gt_percent = 0.15 in - let random_step () = - let node1 = Random.int m in - let node2 = Random.int m in - let op = - let r = Random.float 1.0 in - if r < ge_percent then - Ge - else (if r < (ge_percent +. gt_percent) then - Gt - else - Eq) - in - op,node1,node2 - in - let rec aux n = - match n with - 0 -> [] - | n -> (random_step ())::(aux (n-1)) - in - aux n - -let print_action_list l = - let string_of_step (op,node1,node2) = - (match op with - Ge -> "Ge" - | Gt -> "Gt" - | Eq -> "Eq") ^ - "," ^ (string_of_int node1) ^ "," ^ (string_of_int node2) - in - let rec aux l = - match l with - [] -> "]" - | a::tl -> - ";" ^ (string_of_step a) ^ (aux tl) - in - let body = aux l in - let l_body = (String.length body) - 1 in - prerr_endline ("[" ^ (String.sub body 1 l_body)) - -let debug = false -let d_print_endline = if debug then print_endline else ignore -let d_print_ugraph = if debug then print_ugraph else ignore - -let _ = - (if Array.length Sys.argv < 2 then - prerr_endline ("Usage " ^ Sys.argv.(0) ^ " max_edges max_nodes")); - Random.self_init (); - let max_edges = int_of_string Sys.argv.(1) in - let max_nodes = int_of_string Sys.argv.(2) in - let action_listR = randomize_actionlist max_edges max_nodes in - - let action_list = [Ge,1,4;Ge,2,6;Ge,1,1;Eq,6,4;Gt,6,3] in - let action_list = action_listR in - - print_action_list action_list; - let prform_step ?(fast=false) (t,u,v) g = - let f,str = - match t with - Ge -> add_ge,">=" - | Gt -> add_gt,">" - | Eq -> add_eq,"=" - in - d_print_endline ( - "Aggiungo " ^ - (string_of_int u) ^ - " " ^ str ^ " " ^ - (string_of_int v)); - let g' = f ~fast (u,None) (v,None) g in - (*print_ugraph g' ;*) - g' - in - let fail = ref false in - let time1 = Unix.gettimeofday () in - let n_safe = ref 0 in - let g_safe = - try - d_print_endline "SAFE"; - List.fold_left ( - fun g e -> - n_safe := !n_safe + 1; - prform_step e g - ) empty_ugraph action_list - with - UniverseInconsistency s -> fail:=true;empty_bag - in - let time2 = Unix.gettimeofday () in - d_print_ugraph g_safe; - let time3 = Unix.gettimeofday () in - let n_test = ref 0 in - let g_test = - try - d_print_endline "FAST"; - List.fold_left ( - fun g e -> - n_test := !n_test + 1; - prform_step ~fast:true e g - ) empty_ugraph action_list - with - UniverseInconsistency s -> empty_bag - in - let time4 = Unix.gettimeofday () in - d_print_ugraph g_test; - if are_ugraph_eq g_safe g_test && !n_test = !n_safe then - begin - let num_eq = - List.fold_left ( - fun s (e,_,_) -> - if e = Eq then s+1 else s - ) 0 action_list - in - let num_gt = - List.fold_left ( - fun s (e,_,_) -> - if e = Gt then s+1 else s - ) 0 action_list - in - let num_ge = max_edges - num_gt - num_eq in - let time_fast = (time4 -. time3) in - let time_safe = (time2 -. time1) in - let gap = ((time_safe -. time_fast) *. 100.0) /. time_safe in - let fail = if !fail then 1 else 0 in - print_endline - (sprintf - "OK %d safe %1.4f fast %1.4f %% %1.2f #eq %d #gt %d #ge %d %d" - fail time_safe time_fast gap num_eq num_gt num_ge !n_safe); - exit 0 - end - else - begin - print_endline "FAIL"; - print_ugraph g_safe; - print_ugraph g_test; - exit 1 - end -;; - - *) - -let recons_univ u = - match u with - | i, None -> u - | i, Some uri -> - i, Some (UriManager.uri_of_string (UriManager.string_of_uri uri)) - -let recons_entry entry = - let recons_set set = - SOF.fold (fun univ set -> SOF.add (recons_univ univ) set) set SOF.empty - in - { - eq_closure = recons_set entry.eq_closure; - ge_closure = recons_set entry.ge_closure; - gt_closure = recons_set entry.gt_closure; - in_gegt_of = recons_set entry.in_gegt_of; - one_s_eq = recons_set entry.one_s_eq; - one_s_ge = recons_set entry.one_s_ge; - one_s_gt = recons_set entry.one_s_gt; - } - -let recons_graph graph = - MAL.fold - (fun universe entry map -> - MAL.add (recons_univ universe) (recons_entry entry) map) - graph MAL.empty - -let assert_univ u = - match u with - | (_,None) -> raise (UniverseInconsistency "This universe graph has a hole") - | _ -> () - -let assert_univs_have_uri graph univlist = - let assert_set s = - SOF.iter (fun u -> assert_univ u) s - in - let assert_entry e = - assert_set e.eq_closure; - assert_set e.ge_closure; - assert_set e.gt_closure; - assert_set e.in_gegt_of; - assert_set e.one_s_eq; - assert_set e.one_s_ge; - assert_set e.one_s_gt; - in - MAL.iter (fun k v -> assert_univ k; assert_entry v)graph; - List.iter assert_univ univlist - -let eq u1 u2 = - match u1,u2 with - | (id1, Some uri1),(id2, Some uri2) -> - id1 = id2 && UriManager.eq uri1 uri2 - | (id1, None),(id2, None) -> id1 = id2 - | _ -> false - -let compare (id1, uri1) (id2, uri2) = - let cmp = id1 - id2 in - if cmp = 0 then - match uri1,uri2 with - | None, None -> 0 - | Some _, None -> 1 - | None, Some _ -> ~-1 - | Some uri1, Some uri2 -> UriManager.compare uri1 uri2 - else - cmp - -(* EOF *) diff --git a/helm/ocaml/cic/cicUniv.mli b/helm/ocaml/cic/cicUniv.mli deleted file mode 100644 index be8c28bf3..000000000 --- a/helm/ocaml/cic/cicUniv.mli +++ /dev/null @@ -1,152 +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/ - *) - - -(* - The strings contains an unreadable message -*) -exception UniverseInconsistency of string - -(* - Cic.Type of universe -*) -type universe - -(* - Opaque data structure you will use to store constraints -*) -type universe_graph - -(* - returns a fresh universe -*) -val fresh: - ?uri:UriManager.uri -> - ?id:int -> - unit -> - universe - - (* names a universe if unnamed *) -val name_universe: universe -> UriManager.uri -> universe - -(* - really useful at the begin and in all the functions that don't care - of universes -*) -val empty_ugraph: universe_graph - -(* - These are the real functions to add eq/ge/gt constraints - to the passed graph, returning an updated graph or raising - UniverseInconsistency -*) -val add_eq: - ?fast:bool -> universe -> universe -> universe_graph -> universe_graph -val add_ge: - ?fast:bool -> universe -> universe -> universe_graph -> universe_graph -val add_gt: - ?fast:bool -> universe -> universe -> universe_graph -> universe_graph - -(* - debug function to print the graph to standard error -*) -val print_ugraph: - universe_graph -> unit - -(* - does what expected, but I don't remember why this was exported -*) -val string_of_universe: - universe -> string - -(* - given the list of visible universes (see universes_of_obj) returns a - cleaned graph (cleaned from the not visible nodes) -*) -val clean_ugraph: - universe_graph -> universe list -> universe_graph - -(* - Since fresh() can't add the right uri to each node, you - must fill empty nodes with the uri before you serialize the graph to xml - - these empty nodes are also filled in the universe list -*) -val fill_empty_nodes_with_uri: - universe_graph -> universe list -> UriManager.uri -> - universe_graph * universe list - -(* - makes a union. - TODO: - - remember already merged uri so that we completely skip already merged - graphs, this may include a dependecy graph (not merge a subpart of an - already merged graph) -*) -val merge_ugraphs: - universe_graph -> universe_graph -> universe_graph - -(* - ugraph to xml file and viceversa -*) -val write_xml_of_ugraph: - string -> universe_graph -> universe list -> unit - -(* - given a filename parses the xml and returns the data structure -*) -val ugraph_and_univlist_of_xml: - string -> universe_graph * universe list -val restart_numbering: - unit -> unit - -(* - returns the universe number (used to save it do xml) -*) -val univno: universe -> int - - (** re-hash-cons URIs contained in the given universe so that phisicaly - * equality could be enforced. Mainly used by - * CicEnvironment.restore_from_channel *) -val recons_graph: universe_graph -> universe_graph - - (** re-hash-cons a single universe *) -val recons_univ: universe -> universe - - (** consistency chek that should be done before committin the graph to the - * cache *) -val assert_univs_have_uri: universe_graph -> universe list-> unit - - (** asserts the universe is named *) -val assert_univ: universe -> unit - -val compare: universe -> universe -> int -val eq: universe -> universe -> bool - -(* - Benchmarking stuff -*) -val get_spent_time: unit -> float -val reset_spent_time: unit -> unit diff --git a/helm/ocaml/cic/cicUtil.ml b/helm/ocaml/cic/cicUtil.ml deleted file mode 100644 index 818342515..000000000 --- a/helm/ocaml/cic/cicUtil.ml +++ /dev/null @@ -1,229 +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 - -exception Meta_not_found of int -exception Subst_not_found of int - -let lookup_meta index metasenv = - try - List.find (fun (index', _, _) -> index = index') metasenv - with Not_found -> raise (Meta_not_found index) - -let lookup_subst n subst = - try - List.assoc n subst - with Not_found -> raise (Subst_not_found n) - -let exists_meta index = List.exists (fun (index', _, _) -> (index = index')) - -(* clean_up_meta take a substitution, a metasenv a meta_inex and a local -context l and clean up l with respect to the hidden hipothesis in the -canonical context *) - -let clean_up_local_context subst metasenv n l = - let cc = - (try - let (cc,_,_) = lookup_subst n subst in cc - with Subst_not_found _ -> - try - let (_,cc,_) = lookup_meta n metasenv in cc - with Meta_not_found _ -> assert false) in - (try - List.map2 - (fun t1 t2 -> - match t1,t2 with - None , _ -> None - | _ , t -> t) cc l - with - Invalid_argument _ -> assert false) - -let is_closed = - let module C = Cic in - let rec is_closed k = - function - C.Rel m when m > k -> false - | C.Rel m -> true - | C.Meta (_,l) -> - List.fold_left - (fun i t -> i && (match t with None -> true | Some t -> is_closed k t) - ) true l - | C.Sort _ -> true - | C.Implicit _ -> assert false - | C.Cast (te,ty) -> is_closed k te && is_closed k ty - | C.Prod (name,so,dest) -> is_closed k so && is_closed (k+1) dest - | C.Lambda (_,so,dest) -> is_closed k so && is_closed (k+1) dest - | C.LetIn (_,so,dest) -> is_closed k so && is_closed (k+1) dest - | C.Appl l -> - List.fold_right (fun x i -> i && is_closed k x) l true - | C.Var (_,exp_named_subst) - | C.Const (_,exp_named_subst) - | C.MutInd (_,_,exp_named_subst) - | C.MutConstruct (_,_,_,exp_named_subst) -> - List.fold_right (fun (_,x) i -> i && is_closed k x) - exp_named_subst true - | C.MutCase (_,_,out,te,pl) -> - is_closed k out && is_closed k te && - List.fold_right (fun x i -> i && is_closed k x) pl true - | C.Fix (_,fl) -> - let len = List.length fl in - let k_plus_len = k + len in - List.fold_right - (fun (_,_,ty,bo) i -> i && is_closed k ty && is_closed k_plus_len bo - ) fl true - | C.CoFix (_,fl) -> - let len = List.length fl in - let k_plus_len = k + len in - List.fold_right - (fun (_,ty,bo) i -> i && is_closed k ty && is_closed k_plus_len bo - ) fl true -in - is_closed 0 -;; - -let rec is_meta_closed = - function - Cic.Rel _ -> true - | Cic.Meta _ -> false - | Cic.Sort _ -> true - | Cic.Implicit _ -> assert false - | Cic.Cast (te,ty) -> is_meta_closed te && is_meta_closed ty - | Cic.Prod (name,so,dest) -> is_meta_closed so && is_meta_closed dest - | Cic.Lambda (_,so,dest) -> is_meta_closed so && is_meta_closed dest - | Cic.LetIn (_,so,dest) -> is_meta_closed so && is_meta_closed dest - | Cic.Appl l -> - List.fold_right (fun x i -> i && is_meta_closed x) l true - | Cic.Var (_,exp_named_subst) - | Cic.Const (_,exp_named_subst) - | Cic.MutInd (_,_,exp_named_subst) - | Cic.MutConstruct (_,_,_,exp_named_subst) -> - List.fold_right (fun (_,x) i -> i && is_meta_closed x) - exp_named_subst true - | Cic.MutCase (_,_,out,te,pl) -> - is_meta_closed out && is_meta_closed te && - List.fold_right (fun x i -> i && is_meta_closed x) pl true - | Cic.Fix (_,fl) -> - List.fold_right - (fun (_,_,ty,bo) i -> i && is_meta_closed ty && is_meta_closed bo - ) fl true - | Cic.CoFix (_,fl) -> - List.fold_right - (fun (_,ty,bo) i -> i && is_meta_closed ty && is_meta_closed bo - ) fl true -;; - -let xpointer_RE = Str.regexp "\\([^#]+\\)#xpointer(\\(.*\\))" -let slash_RE = Str.regexp "/" - -let term_of_uri uri = - let s = UriManager.string_of_uri uri in - try - (if UriManager.uri_is_con uri then - Cic.Const (uri, []) - else if UriManager.uri_is_var uri then - Cic.Var (uri, []) - else if not (Str.string_match xpointer_RE s 0) then - raise (UriManager.IllFormedUri s) - else - let (baseuri,xpointer) = (Str.matched_group 1 s, Str.matched_group 2 s) in - let baseuri = UriManager.uri_of_string baseuri in - (match Str.split slash_RE xpointer with - | [_; tyno] -> Cic.MutInd (baseuri, int_of_string tyno - 1, []) - | [_; tyno; consno] -> - Cic.MutConstruct - (baseuri, int_of_string tyno - 1, int_of_string consno, []) - | _ -> raise Exit)) - with - | Exit - | Failure _ - | Not_found -> raise (UriManager.IllFormedUri s) - -let uri_of_term = function - | Cic.Const (uri, []) - | Cic.Var (uri, []) -> uri - | Cic.MutInd (baseuri, tyno, []) -> - UriManager.uri_of_string - (sprintf "%s#xpointer(1/%d)" (UriManager.string_of_uri baseuri) (tyno+1)) - | Cic.MutConstruct (baseuri, tyno, consno, []) -> - UriManager.uri_of_string - (sprintf "%s#xpointer(1/%d/%d)" (UriManager.string_of_uri baseuri) - (tyno + 1) consno) - | _ -> raise (Invalid_argument "uri_of_term") - - -(* -let pack terms = - List.fold_right - (fun term acc -> Cic.Prod (Cic.Anonymous, term, acc)) - terms (Cic.Sort (Cic.Type (CicUniv.fresh ()))) - -let rec unpack = function - | Cic.Prod (Cic.Anonymous, term, Cic.Sort (Cic.Type _)) -> [term] - | Cic.Prod (Cic.Anonymous, term, tgt) -> term :: unpack tgt - | _ -> assert false -*) - -let rec strip_prods n = function - | t when n = 0 -> t - | Cic.Prod (_, _, tgt) when n > 0 -> strip_prods (n-1) tgt - | _ -> failwith "not enough prods" - -let params_of_obj = function - | Cic.Constant (_, _, _, params, _) - | Cic.Variable (_, _, _, params, _) - | Cic.CurrentProof (_, _, _, _, params, _) - | Cic.InductiveDefinition (_, params, _, _) -> - params - -let attributes_of_obj = function - | Cic.Constant (_, _, _, _, attributes) - | Cic.Variable (_, _, _, _, attributes) - | Cic.CurrentProof (_, _, _, _, _, attributes) - | Cic.InductiveDefinition (_, _, _, attributes) -> - attributes -let rec mk_rels howmany from = - match howmany with - | 0 -> [] - | _ -> (Cic.Rel (howmany + from)) :: (mk_rels (howmany-1) from) - -let id_of_annterm = - function - | Cic.ARel (id,_,_,_) - | Cic.AVar (id,_,_) - | Cic.AMeta (id,_,_) - | Cic.ASort (id,_) - | Cic.AImplicit (id,_) - | Cic.ACast (id,_,_) - | Cic.AProd (id,_,_,_) - | Cic.ALambda (id,_,_,_) - | Cic.ALetIn (id,_,_,_) - | Cic.AAppl (id,_) - | Cic.AConst (id,_,_) - | Cic.AMutInd (id,_,_,_) - | Cic.AMutConstruct (id,_,_,_,_) - | Cic.AMutCase (id,_,_,_,_,_) - | Cic.AFix (id,_,_) - | Cic.ACoFix (id,_,_) -> id diff --git a/helm/ocaml/cic/cicUtil.mli b/helm/ocaml/cic/cicUtil.mli deleted file mode 100644 index 3243faec8..000000000 --- a/helm/ocaml/cic/cicUtil.mli +++ /dev/null @@ -1,62 +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 Meta_not_found of int -exception Subst_not_found of int - -val lookup_meta: int -> Cic.metasenv -> Cic.conjecture -val lookup_subst: int -> Cic.substitution -> Cic.context * Cic.term * Cic.term -val exists_meta: int -> Cic.metasenv -> bool -val clean_up_local_context : - Cic.substitution -> Cic.metasenv -> int -> (Cic.term option) list - -> (Cic.term option) list - -val is_closed : Cic.term -> bool -val is_meta_closed : Cic.term -> bool - - (** @raise Failure "not enough prods" *) -val strip_prods: int -> Cic.term -> Cic.term - -(** conversions between terms which are fully representable as uris (Var, Const, - * Mutind, and MutConstruct) and corresponding tree representations *) -val term_of_uri: UriManager.uri -> Cic.term (** @raise UriManager.IllFormedUri *) -val uri_of_term: Cic.term -> UriManager.uri (** @raise Invalid_argument "uri_of_term" *) - -(* - (** packing/unpacking of several terms into a single one *) -val pack: Cic.term list -> Cic.term -val unpack: Cic.term -> Cic.term list -*) - -val id_of_annterm: Cic.annterm -> Cic.id - -(** {2 Cic selectors} *) - -val params_of_obj: Cic.obj -> UriManager.uri list -val attributes_of_obj: Cic.obj -> Cic.attribute list - -(** mk_rels [howmany] [from] - * creates a list of [howmany] rels starting from [from] in decreasing order *) -val mk_rels : int -> int -> Cic.term list diff --git a/helm/ocaml/cic/deannotate.ml b/helm/ocaml/cic/deannotate.ml deleted file mode 100644 index 21e591d4e..000000000 --- a/helm/ocaml/cic/deannotate.ml +++ /dev/null @@ -1,124 +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/. - *) - -(* converts annotated terms into cic terms (forgetting ids and names) *) -let rec deannotate_term = - let module C = Cic in - function - C.ARel (_,_,n,_) -> C.Rel n - | C.AVar (_,uri,exp_named_subst) -> - let deann_exp_named_subst = - List.map (function (uri,t) -> uri,deannotate_term t) exp_named_subst - in - C.Var (uri, deann_exp_named_subst) - | C.AMeta (_,n, l) -> - let l' = - List.map - (function - None -> None - | Some at -> Some (deannotate_term at) - ) l - in - C.Meta (n, l') - | C.ASort (_,s) -> C.Sort s - | C.AImplicit (_, annotation) -> C.Implicit annotation - | C.ACast (_,va,ty) -> C.Cast (deannotate_term va, deannotate_term ty) - | C.AProd (_,name,so,ta) -> - C.Prod (name, deannotate_term so, deannotate_term ta) - | C.ALambda (_,name,so,ta) -> - C.Lambda (name, deannotate_term so, deannotate_term ta) - | C.ALetIn (_,name,so,ta) -> - C.LetIn (name, deannotate_term so, deannotate_term ta) - | C.AAppl (_,l) -> C.Appl (List.map deannotate_term l) - | C.AConst (_,uri,exp_named_subst) -> - let deann_exp_named_subst = - List.map (function (uri,t) -> uri,deannotate_term t) exp_named_subst - in - C.Const (uri, deann_exp_named_subst) - | C.AMutInd (_,uri,i,exp_named_subst) -> - let deann_exp_named_subst = - List.map (function (uri,t) -> uri,deannotate_term t) exp_named_subst - in - C.MutInd (uri,i,deann_exp_named_subst) - | C.AMutConstruct (_,uri,i,j,exp_named_subst) -> - let deann_exp_named_subst = - List.map (function (uri,t) -> uri,deannotate_term t) exp_named_subst - in - C.MutConstruct (uri,i,j,deann_exp_named_subst) - | C.AMutCase (_,uri,i,outtype,te,pl) -> - C.MutCase (uri,i,deannotate_term outtype, - deannotate_term te, List.map deannotate_term pl) - | C.AFix (_,funno,ifl) -> - C.Fix (funno, List.map deannotate_inductiveFun ifl) - | C.ACoFix (_,funno,ifl) -> - C.CoFix (funno, List.map deannotate_coinductiveFun ifl) - -and deannotate_inductiveFun (_,name,index,ty,bo) = - (name, index, deannotate_term ty, deannotate_term bo) - -and deannotate_coinductiveFun (_,name,ty,bo) = - (name, deannotate_term ty, deannotate_term bo) -;; - -let deannotate_inductiveType (_, name, isinductive, arity, cons) = - (name, isinductive, deannotate_term arity, - List.map (fun (id,ty) -> (id,deannotate_term ty)) cons) -;; - -let deannotate_obj = - let module C = Cic in - function - C.AConstant (_, _, id, bo, ty, params, attrs) -> - C.Constant (id, - (match bo with None -> None | Some bo -> Some (deannotate_term bo)), - deannotate_term ty, params, attrs) - | C.AVariable (_, name, bo, ty, params, attrs) -> - C.Variable (name, - (match bo with None -> None | Some bo -> Some (deannotate_term bo)), - deannotate_term ty, params, attrs) - | C.ACurrentProof (_, _, name, conjs, bo, ty, params, attrs) -> - C.CurrentProof ( - name, - List.map - (function - (_,id,acontext,con) -> - let context = - List.map - (function - _,Some (n,(C.ADef at)) -> - Some (n,(C.Def ((deannotate_term at),None))) - | _,Some (n,(C.ADecl at)) -> - Some (n,(C.Decl (deannotate_term at))) - | _,None -> None - ) acontext - in - (id,context,deannotate_term con) - ) conjs, - deannotate_term bo,deannotate_term ty, params, attrs - ) - | C.AInductiveDefinition (_, tys, params, parno, attrs) -> - C.InductiveDefinition (List.map deannotate_inductiveType tys, - params, parno, attrs) -;; diff --git a/helm/ocaml/cic/deannotate.mli b/helm/ocaml/cic/deannotate.mli deleted file mode 100644 index 89b18d2d6..000000000 --- a/helm/ocaml/cic/deannotate.mli +++ /dev/null @@ -1,36 +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 deannotate_term : Cic.annterm -> Cic.term -val deannotate_obj : Cic.annobj -> Cic.obj diff --git a/helm/ocaml/cic/helmLibraryObjects.ml b/helm/ocaml/cic/helmLibraryObjects.ml deleted file mode 100644 index defc33f6c..000000000 --- a/helm/ocaml/cic/helmLibraryObjects.ml +++ /dev/null @@ -1,203 +0,0 @@ -(** {2 Auxiliary functions} *) - -let uri = UriManager.uri_of_string - -let const ?(subst = []) uri = Cic.Const (uri, subst) -let var ?(subst = []) uri = Cic.Var (uri, subst) -let mutconstruct ?(subst = []) uri typeno consno = - Cic.MutConstruct (uri, typeno, consno, subst) -let mutind ?(subst = []) uri typeno = Cic.MutInd (uri, typeno, subst) - -let indtyuri_of_uri uri = - let index_sharp = String.index uri '#' in - let index_num = index_sharp + 3 in - (UriManager.uri_of_string (String.sub uri 0 index_sharp), - int_of_string(String.sub uri index_num (String.length uri - index_num)) - 1) - -let indconuri_of_uri uri = - let index_sharp = String.index uri '#' in - let index_div = String.rindex uri '/' in - let index_con = index_div + 1 in - (UriManager.uri_of_string (String.sub uri 0 index_sharp), - int_of_string - (String.sub uri (index_sharp + 3) (index_div - index_sharp - 3)) - 1, - int_of_string - (String.sub uri index_con (String.length uri - index_con))) - -(** {2 Helm's objects shorthands} *) - -module Logic = - struct - let eq_SURI = "cic:/Coq/Init/Logic/eq.ind" - let eq_URI = uri eq_SURI - let eq_XURI = eq_SURI ^ "#xpointer(1/1)" - let eq_ind_URI = uri "cic:/Coq/Init/Logic/eq_ind.con" - let eq_ind_r_URI = uri "cic:/Coq/Init/Logic/eq_ind_r.con" - let true_URI = uri "cic:/Coq/Init/Logic/True.ind" - let false_URI = uri "cic:/Coq/Init/Logic/False.ind" - let false_ind_URI = uri "cic:/Coq/Init/Logic/False_ind.con" - let ex_SURI = "cic:/Coq/Init/Logic/ex.ind" - let ex_URI = uri ex_SURI - let ex_XURI = ex_SURI ^ "#xpointer(1/1)" - let ex_ind_URI = uri "cic:/Coq/Init/Logic/ex_ind.con" - let and_SURI = "cic:/Coq/Init/Logic/and.ind" - let and_URI = uri and_SURI - let and_XURI = and_SURI ^ "#xpointer(1/1)" - let and_ind_URI = uri "cic:/Coq/Init/Logic/and_ind.con" - let or_SURI = "cic:/Coq/Init/Logic/or.ind" - let or_URI = uri or_SURI - let or_XURI = or_SURI ^ "#xpointer(1/1)" - let not_SURI = "cic:/Coq/Init/Logic/not.con" - let not_URI = uri not_SURI - let iff_SURI = "cic:/Coq/Init/Logic/iff.con" - let iff_URI = uri "cic:/Coq/Init/Logic/iff.con" - let sym_eq_URI = uri "cic:/Coq/Init/Logic/sym_eq.con" - let trans_eq_URI = uri "cic:/Coq/Init/Logic/trans_eq.con" - let absurd_URI = uri "cic:/Coq/Init/Logic/absurd.con" - end - -module Datatypes = - struct - let bool_URI = uri "cic:/Coq/Init/Datatypes/bool.ind" - let nat_URI = uri "cic:/Coq/Init/Datatypes/nat.ind" - - let trueb = mutconstruct bool_URI 0 1 - let falseb = mutconstruct bool_URI 0 2 - let zero = mutconstruct nat_URI 0 1 - let succ = mutconstruct nat_URI 0 2 - end - -module Reals = - struct - let r_URI = uri "cic:/Coq/Reals/Rdefinitions/R.con" - let rplus_SURI = "cic:/Coq/Reals/Rdefinitions/Rplus.con" - let rplus_URI = uri rplus_SURI - let rminus_SURI = "cic:/Coq/Reals/Rdefinitions/Rminus.con" - let rminus_URI = uri rminus_SURI - let rmult_SURI = "cic:/Coq/Reals/Rdefinitions/Rmult.con" - let rmult_URI = uri rmult_SURI - let rdiv_SURI = "cic:/Coq/Reals/Rdefinitions/Rdiv.con" - let rdiv_URI = uri rdiv_SURI - let ropp_SURI = "cic:/Coq/Reals/Rdefinitions/Ropp.con" - let ropp_URI = uri ropp_SURI - let rinv_SURI = "cic:/Coq/Reals/Rdefinitions/Rinv.con" - let rinv_URI = uri rinv_SURI - let r0_SURI = "cic:/Coq/Reals/Rdefinitions/R0.con" - let r0_URI = uri r0_SURI - let r1_SURI = "cic:/Coq/Reals/Rdefinitions/R1.con" - let r1_URI = uri r1_SURI - let rle_SURI = "cic:/Coq/Reals/Rdefinitions/Rle.con" - let rle_URI = uri rle_SURI - let rge_SURI = "cic:/Coq/Reals/Rdefinitions/Rge.con" - let rge_URI = uri rge_SURI - let rlt_SURI = "cic:/Coq/Reals/Rdefinitions/Rlt.con" - let rlt_URI = uri rlt_SURI - let rgt_SURI = "cic:/Coq/Reals/Rdefinitions/Rgt.con" - let rgt_URI = uri rgt_SURI - let rtheory_URI = uri "cic:/Coq/Reals/RIneq/RTheory.con" - let rinv_r1_URI = uri "cic:/Coq/Reals/RIneq/Rinv_1.con" - let pow_URI = uri "cic:/Coq/Reals/Rfunctions/pow.con" - - let r = const r_URI - let rplus = const rplus_URI - let rmult = const rmult_URI - let ropp = const ropp_URI - let r0 = const r0_URI - let r1 = const r1_URI - let rtheory = const rtheory_URI - end - -module Peano = - struct - let plus_SURI = "cic:/Coq/Init/Peano/plus.con" - let plus_URI = uri plus_SURI - let minus_SURI = "cic:/Coq/Init/Peano/minus.con" - let minus_URI = uri minus_SURI - let mult_SURI = "cic:/Coq/Init/Peano/mult.con" - let mult_URI = uri mult_SURI - let pred_URI = uri "cic:/Coq/Init/Peano/pred.con" - let le_SURI = "cic:/Coq/Init/Peano/le.ind" - let le_URI = uri le_SURI - let le_XURI = le_SURI ^ "#xpointer(1/1)" - let ge_SURI = "cic:/Coq/Init/Peano/ge.con" - let ge_URI = uri ge_SURI - let lt_SURI = "cic:/Coq/Init/Peano/lt.con" - let lt_URI = uri lt_SURI - let gt_SURI = "cic:/Coq/Init/Peano/gt.con" - let gt_URI = uri gt_SURI - - let plus = const plus_URI - let mult = const mult_URI - let pred = const pred_URI - end - -module BinPos = - struct - let positive_SURI = "cic:/Coq/NArith/BinPos/positive.ind" - let positive_URI = uri positive_SURI - let xI = mutconstruct positive_URI 0 1 - let xO = mutconstruct positive_URI 0 2 - let xH = mutconstruct positive_URI 0 3 - let pplus_SURI = "cic:/Coq/NArith/BinPos/Pplus.con" - let pplus_URI = uri pplus_SURI - let pplus = const pplus_URI - let pminus_SURI = "cic:/Coq/NArith/BinPos/Pminus.con" - let pminus_URI = uri pminus_SURI - let pminus = const pminus_URI - let pmult_SURI = "cic:/Coq/NArith/BinPos/Pmult.con" - let pmult_URI = uri pmult_SURI - let pmult = const pmult_URI - end - -module BinInt = - struct - let zmult_URI = uri "cic:/Coq/ZArith/BinInt/Zmult.con" - let zmult = const zmult_URI - let zplus_SURI = "cic:/Coq/ZArith/BinInt/Zplus.con" - let zplus_URI = uri zplus_SURI - let zplus = const zplus_URI - let zminus_SURI = "cic:/Coq/ZArith/BinInt/Zminus.con" - let zminus_URI = uri zminus_SURI - let zminus = const zminus_URI - let z_SURI = "cic:/Coq/ZArith/BinInt/Z.ind" - let z_URI = uri z_SURI - let z0 = mutconstruct z_URI 0 1 - let zpos = mutconstruct z_URI 0 2 - let zneg = mutconstruct z_URI 0 3 - let zopp_SURI = "cic:/Coq/ZArith/BinInt/Zopp.con" - let zopp_URI = uri zopp_SURI - let zopp = const zopp_URI - let zpower_URI = uri "cic:/Coq/ZArith/Zpower/Zpower.con" - end - -(** {2 Helpers for creating common terms} - * (e.g. numbers)} *) - -exception NegativeInteger - -let build_nat n = - if n < 0 then raise NegativeInteger; - let rec aux = function - | 0 -> Datatypes.zero - | n -> Cic.Appl [ Datatypes.succ; (aux (n - 1)) ] - in - aux n - -let build_real n = - if n < 0 then raise NegativeInteger; - let rec aux = function - | 0 -> Reals.r0 - | 1 -> Reals.r1 (* to avoid trailing "+ 0" *) - | n -> Cic.Appl [ Reals.rplus; Reals.r1; (aux (n - 1)) ] - in - aux n - -let build_bin_pos n = - if n < 1 then raise NegativeInteger; - let rec aux = function - | 1 -> BinPos.xH - | n when n mod 2 = 0 -> Cic.Appl [ BinPos.xO; aux (n / 2) ] - | n -> Cic.Appl [ BinPos.xI; aux (n / 2) ] - in - aux n - diff --git a/helm/ocaml/cic/helmLibraryObjects.mli b/helm/ocaml/cic/helmLibraryObjects.mli deleted file mode 100644 index 677879899..000000000 --- a/helm/ocaml/cic/helmLibraryObjects.mli +++ /dev/null @@ -1,182 +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/ - *) - -module Logic : - sig - val absurd_URI : UriManager.uri - val and_ind_URI : UriManager.uri - val and_URI : UriManager.uri - val eq_ind_r_URI : UriManager.uri - val eq_ind_URI : UriManager.uri - val eq_URI : UriManager.uri - val ex_ind_URI : UriManager.uri - val ex_URI : UriManager.uri - val false_ind_URI : UriManager.uri - val false_URI : UriManager.uri - val iff_URI : UriManager.uri - val not_URI : UriManager.uri - val or_URI : UriManager.uri - val sym_eq_URI : UriManager.uri - val trans_eq_URI : UriManager.uri - val true_URI : UriManager.uri - - val and_SURI : string - val eq_SURI : string - val ex_SURI : string - val iff_SURI : string - val not_SURI : string - val or_SURI : string - - val and_XURI : string - val eq_XURI : string - val ex_XURI : string - val or_XURI : string - end - -module Datatypes : - sig - val bool_URI : UriManager.uri - val nat_URI : UriManager.uri - - val trueb : Cic.term - val falseb : Cic.term - val zero : Cic.term - val succ : Cic.term - end - -module Reals : - sig - val pow_URI : UriManager.uri - val r0_URI : UriManager.uri - val r1_URI : UriManager.uri - val rdiv_URI : UriManager.uri - val rge_URI : UriManager.uri - val rgt_URI : UriManager.uri - val rinv_r1_URI : UriManager.uri - val rinv_URI : UriManager.uri - val rle_URI : UriManager.uri - val rlt_URI : UriManager.uri - val rminus_URI : UriManager.uri - val rmult_URI : UriManager.uri - val ropp_URI : UriManager.uri - val rplus_URI : UriManager.uri - val rtheory_URI : UriManager.uri - val r_URI : UriManager.uri - - val r0_SURI : string - val r1_SURI : string - val rdiv_SURI : string - val rge_SURI : string - val rgt_SURI : string - val rinv_SURI : string - val rle_SURI : string - val rlt_SURI : string - val rminus_SURI : string - val rmult_SURI : string - val ropp_SURI : string - val rplus_SURI : string - - val r0 : Cic.term - val r1 : Cic.term - val r : Cic.term - val rmult : Cic.term - val ropp : Cic.term - val rplus : Cic.term - val rtheory : Cic.term - end - -module Peano : - sig - val ge_URI : UriManager.uri - val gt_URI : UriManager.uri - val le_URI : UriManager.uri - val lt_URI : UriManager.uri - val minus_URI : UriManager.uri - val mult_URI : UriManager.uri - val plus_URI : UriManager.uri - val pred_URI : UriManager.uri - - val ge_SURI : string - val gt_SURI : string - val le_SURI : string - val lt_SURI : string - val minus_SURI : string - val mult_SURI : string - val plus_SURI : string - - val le_XURI : string - - val mult : Cic.term - val plus : Cic.term - val pred : Cic.term - end - -module BinPos : - sig - val pminus_URI : UriManager.uri - val pmult_URI : UriManager.uri - val positive_URI : UriManager.uri - val pplus_URI : UriManager.uri - - val pminus_SURI : string - val pmult_SURI : string - val positive_SURI : string - val pplus_SURI : string - - val pminus : Cic.term - val pmult : Cic.term - val pplus : Cic.term - val xH : Cic.term - val xI : Cic.term - val xO : Cic.term - end - -module BinInt : - sig - val zminus_URI : UriManager.uri - val zmult_URI : UriManager.uri - val zopp_URI : UriManager.uri - val zplus_URI : UriManager.uri - val zpower_URI : UriManager.uri - val z_URI : UriManager.uri - - val zminus_SURI : string - val zopp_SURI : string - val zplus_SURI : string - val z_SURI : string - - val z0 : Cic.term - val zminus : Cic.term - val zmult : Cic.term - val zneg : Cic.term - val zopp : Cic.term - val zplus : Cic.term - val zpos : Cic.term - end - -val build_bin_pos : int -> Cic.term -val build_nat : int -> Cic.term -val build_real : int -> Cic.term - diff --git a/helm/ocaml/cic/libraryObjects.ml b/helm/ocaml/cic/libraryObjects.ml deleted file mode 100644 index 967318721..000000000 --- a/helm/ocaml/cic/libraryObjects.ml +++ /dev/null @@ -1,97 +0,0 @@ -(* Copyright (C) 2005, 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/ - *) - -(**** TABLES ****) - -(* eq, sym_eq, trans_eq, eq_ind, eq_ind_R *) -let eq_URIs_ref = - ref [HelmLibraryObjects.Logic.eq_URI, - HelmLibraryObjects.Logic.sym_eq_URI, - HelmLibraryObjects.Logic.trans_eq_URI, - HelmLibraryObjects.Logic.eq_ind_URI, - HelmLibraryObjects.Logic.eq_ind_r_URI];; - -let true_URIs_ref = ref [HelmLibraryObjects.Logic.true_URI] -let false_URIs_ref = ref [HelmLibraryObjects.Logic.false_URI] -let absurd_URIs_ref = ref [HelmLibraryObjects.Logic.absurd_URI] - - -(**** SET_DEFAULT ****) - -exception NotRecognized;; - -(* insert an element in front of the list, removing from the list all the - previous elements with the same key associated *) -let insert_unique e extract l = - let uri = extract e in - let l' = - List.filter (fun x -> let uri' = extract x in not (UriManager.eq uri uri')) l - in - e :: l' - -let set_default what l = - match what,l with - "equality",[eq_URI;sym_eq_URI;trans_eq_URI;eq_ind_URI;eq_ind_r_URI] -> - eq_URIs_ref := - insert_unique (eq_URI,sym_eq_URI,trans_eq_URI,eq_ind_URI,eq_ind_r_URI) - (fun x,_,_,_,_ -> x) !eq_URIs_ref - | "true",[true_URI] -> - true_URIs_ref := insert_unique true_URI (fun x -> x) !true_URIs_ref - | "false",[false_URI] -> - false_URIs_ref := insert_unique false_URI (fun x -> x) !false_URIs_ref - | "absurd",[absurd_URI] -> - absurd_URIs_ref := insert_unique absurd_URI (fun x -> x) !absurd_URIs_ref - | _,_ -> raise NotRecognized - -(**** LOOKUP FUNCTIONS ****) - -let eq_URI () = let eq,_,_,_,_ = List.hd !eq_URIs_ref in eq - -let is_eq_URI uri = - List.exists (fun (eq,_,_,_,_) -> UriManager.eq eq uri) !eq_URIs_ref - -let sym_eq_URI ~eq:uri = - try - let _,x,_,_,_ = List.find (fun eq,_,_,_,_ -> UriManager.eq eq uri) !eq_URIs_ref in x - with Not_found -> raise NotRecognized - -let trans_eq_URI ~eq:uri = - try - let _,_,x,_,_ = List.find (fun eq,_,_,_,_ -> UriManager.eq eq uri) !eq_URIs_ref in x - with Not_found -> raise NotRecognized - -let eq_ind_URI ~eq:uri = - try - let _,_,_,x,_ = List.find (fun eq,_,_,_,_ -> UriManager.eq eq uri) !eq_URIs_ref in x - with Not_found -> raise NotRecognized - -let eq_ind_r_URI ~eq:uri = - try - let _,_,_,_,x = List.find (fun eq,_,_,_,_ -> UriManager.eq eq uri) !eq_URIs_ref in x - with Not_found -> raise NotRecognized - -let true_URI () = List.hd !true_URIs_ref -let false_URI () = List.hd !false_URIs_ref -let absurd_URI () = List.hd !absurd_URIs_ref diff --git a/helm/ocaml/cic/libraryObjects.mli b/helm/ocaml/cic/libraryObjects.mli deleted file mode 100644 index 3ca7e7292..000000000 --- a/helm/ocaml/cic/libraryObjects.mli +++ /dev/null @@ -1,42 +0,0 @@ -(* Copyright (C) 2005, 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 set_default : string -> UriManager.uri list -> unit - -val eq_URI : unit -> UriManager.uri - -val is_eq_URI : UriManager.uri -> bool - -exception NotRecognized;; - -val eq_ind_URI : eq:UriManager.uri -> UriManager.uri -val eq_ind_r_URI : eq:UriManager.uri -> UriManager.uri -val trans_eq_URI : eq:UriManager.uri -> UriManager.uri -val sym_eq_URI : eq:UriManager.uri -> UriManager.uri - - -val false_URI : unit -> UriManager.uri -val true_URI : unit -> UriManager.uri -val absurd_URI : unit -> UriManager.uri diff --git a/helm/ocaml/cic/test.ml b/helm/ocaml/cic/test.ml deleted file mode 100644 index 134ff789d..000000000 --- a/helm/ocaml/cic/test.ml +++ /dev/null @@ -1,86 +0,0 @@ -(* Copyright (C) 2004-2005, 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 _ = - Helm_registry.set "getter.mode" "remote"; - Helm_registry.set "getter.url" "http://mowgli.cs.unibo.it:58081/" - -let body_RE = Str.regexp "^.*\\.body$" -let con_RE = Str.regexp "^.*\\.con$" - -let unlink f = - if Sys.file_exists f then - Unix.unlink f - -let rec parse uri tmpfile1 tmpfile2 = -(*prerr_endline (sprintf "%s %s" tmpfile1 (match tmpfile2 with None -> "None" | Some f -> "Some " ^ f));*) - (try - let uri' = UriManager.uri_of_string uri in - let time_new0 = Unix.gettimeofday () in -(* let obj_new = CicPushParser.CicParser.annobj_of_xml tmpfile1 tmpfile2 in*) - let obj_new = CicParser.annobj_of_xml uri' tmpfile1 tmpfile2 in - let time_new1 = Unix.gettimeofday () in - - let time_old0 = Unix.gettimeofday () in - ignore (Unix.system (sprintf "gunzip -c %s > test.tmp && mv test.tmp %s" - tmpfile1 tmpfile1)); - (match tmpfile2 with - | Some tmpfile2 -> - ignore (Unix.system (sprintf "gunzip -c %s > test.tmp && mv test.tmp %s" - tmpfile2 tmpfile2)); - | None -> ()); - let obj_old = CicPxpParser.CicParser.annobj_of_xml uri' tmpfile1 tmpfile2 in - let time_old1 = Unix.gettimeofday () in - - let time_old = time_old1 -. time_old0 in - let time_new = time_new1 -. time_new0 in - let are_equal = (obj_old = obj_new) in - printf "%s\t%b\t%f\t%f\t%f\n" - uri are_equal time_old time_new (time_new /. time_old *. 100.); - flush stdout; - with - | CicParser.Getter_failure ("key_not_found", uri) - when Str.string_match body_RE uri 0 -> - parse uri tmpfile1 None - | CicParser.Parser_failure msg -> - printf "%s FAILED (%s)\n" uri msg; flush stdout) - -let _ = - try - while true do - let uri = input_line stdin in - let tmpfile1 = Http_getter.getxml uri in - let tmpfile2 = - if Str.string_match con_RE uri 0 then begin - Some (Http_getter.getxml (uri ^ ".body")) - end else - None - in - parse uri tmpfile1 tmpfile2 - done - with End_of_file -> () - diff --git a/helm/ocaml/cic/unshare.ml b/helm/ocaml/cic/unshare.ml deleted file mode 100644 index 9300c9e3a..000000000 --- a/helm/ocaml/cic/unshare.ml +++ /dev/null @@ -1,84 +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 rec unshare = - let module C = Cic in - function - C.Rel m -> C.Rel m - | C.Var (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,unshare t)) exp_named_subst - in - C.Var (uri,exp_named_subst') - | C.Meta (i,l) -> - let l' = - List.map - (function - None -> None - | Some t -> Some (unshare t) - ) l - in - C.Meta(i,l') - | C.Sort s -> C.Sort s - | C.Implicit info -> C.Implicit info - | C.Cast (te,ty) -> C.Cast (unshare te, unshare ty) - | C.Prod (n,s,t) -> C.Prod (n, unshare s, unshare t) - | C.Lambda (n,s,t) -> C.Lambda (n, unshare s, unshare t) - | C.LetIn (n,s,t) -> C.LetIn (n, unshare s, unshare t) - | C.Appl l -> C.Appl (List.map unshare l) - | C.Const (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,unshare t)) exp_named_subst - in - C.Const (uri,exp_named_subst') - | C.MutInd (uri,tyno,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,unshare t)) exp_named_subst - in - C.MutInd (uri,tyno,exp_named_subst') - | C.MutConstruct (uri,tyno,consno,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,unshare t)) exp_named_subst - in - C.MutConstruct (uri,tyno,consno,exp_named_subst') - | C.MutCase (sp,i,outty,t,pl) -> - C.MutCase (sp, i, unshare outty, unshare t, - List.map unshare pl) - | C.Fix (i, fl) -> - let len = List.length fl in - let liftedfl = - List.map - (fun (name, i, ty, bo) -> (name, i, unshare ty, unshare bo)) - fl - in - C.Fix (i, liftedfl) - | C.CoFix (i, fl) -> - let len = List.length fl in - let liftedfl = - List.map - (fun (name, ty, bo) -> (name, unshare ty, unshare bo)) - fl - in - C.CoFix (i, liftedfl) diff --git a/helm/ocaml/cic/unshare.mli b/helm/ocaml/cic/unshare.mli deleted file mode 100644 index 5582abcbf..000000000 --- a/helm/ocaml/cic/unshare.mli +++ /dev/null @@ -1,26 +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/. - *) - -val unshare : Cic.term -> Cic.term diff --git a/helm/ocaml/cic_disambiguation/.cvsignore b/helm/ocaml/cic_disambiguation/.cvsignore deleted file mode 100644 index 93ed7a89c..000000000 --- a/helm/ocaml/cic_disambiguation/.cvsignore +++ /dev/null @@ -1,5 +0,0 @@ -*.cm[aiox] *.cmxa *.[ao] -test_lexer -test_parser -macro_table.ml -make_table diff --git a/helm/ocaml/cic_disambiguation/.depend b/helm/ocaml/cic_disambiguation/.depend deleted file mode 100644 index 555b7438d..000000000 --- a/helm/ocaml/cic_disambiguation/.depend +++ /dev/null @@ -1,17 +0,0 @@ -disambiguateChoices.cmi: disambiguateTypes.cmi -disambiguatePp.cmi: disambiguateTypes.cmi -disambiguate.cmi: disambiguateTypes.cmi -disambiguateTypes.cmo: disambiguateTypes.cmi -disambiguateTypes.cmx: disambiguateTypes.cmi -disambiguateChoices.cmo: disambiguateTypes.cmi disambiguateChoices.cmi -disambiguateChoices.cmx: disambiguateTypes.cmx disambiguateChoices.cmi -disambiguatePp.cmo: disambiguateTypes.cmi disambiguateChoices.cmi \ - disambiguatePp.cmi -disambiguatePp.cmx: disambiguateTypes.cmx disambiguateChoices.cmx \ - disambiguatePp.cmi -disambiguate.cmo: disambiguateTypes.cmi disambiguateChoices.cmi \ - disambiguate.cmi -disambiguate.cmx: disambiguateTypes.cmx disambiguateChoices.cmx \ - disambiguate.cmi -number_notation.cmo: disambiguateTypes.cmi disambiguateChoices.cmi -number_notation.cmx: disambiguateTypes.cmx disambiguateChoices.cmx diff --git a/helm/ocaml/cic_disambiguation/Makefile b/helm/ocaml/cic_disambiguation/Makefile deleted file mode 100644 index 1c80b4e0a..000000000 --- a/helm/ocaml/cic_disambiguation/Makefile +++ /dev/null @@ -1,32 +0,0 @@ - -PACKAGE = cic_disambiguation -REQUIRES = \ - helm-tactics helm-logger helm-cic_unification helm-cic_notation \ - helm-utf8_macros \ - ulex -NOTATIONS = number -INTERFACE_FILES = \ - disambiguateTypes.mli \ - disambiguateChoices.mli \ - disambiguatePp.mli \ - disambiguate.mli -IMPLEMENTATION_FILES = \ - $(patsubst %.mli, %.ml, $(INTERFACE_FILES)) \ - $(patsubst %,%_notation.ml,$(NOTATIONS)) - -all: - -clean: -distclean: - rm -f macro_table.dump - -include ../Makefile.common -OCAMLARCHIVEOPTIONS += -linkall - -disambiguateTypes.cmi: disambiguateTypes.mli - $(OCAMLC) -c -rectypes $< -disambiguateTypes.cmo: disambiguateTypes.ml disambiguateTypes.cmi - $(OCAMLC) -c -rectypes $< -disambiguateTypes.cmx: disambiguateTypes.ml disambiguateTypes.cmi - $(OCAMLOPT) -c -rectypes $< - diff --git a/helm/ocaml/cic_disambiguation/disambiguate.ml b/helm/ocaml/cic_disambiguation/disambiguate.ml deleted file mode 100644 index 8bdb409e9..000000000 --- a/helm/ocaml/cic_disambiguation/disambiguate.ml +++ /dev/null @@ -1,974 +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 DisambiguateTypes -open UriManager - -exception No_choices of domain_item -exception NoWellTypedInterpretation of string Lazy.t list -exception PathNotWellFormed - - (** raised when an environment is not enough informative to decide *) -exception Try_again of string Lazy.t - -type aliases = bool * DisambiguateTypes.environment - -let debug = false -let debug_print s = if debug then prerr_endline (Lazy.force s) else () - -(* - (** print benchmark information *) -let benchmark = true -let max_refinements = ref 0 (* benchmarking is not thread safe *) -let actual_refinements = ref 0 -let domain_size = ref 0 -let choices_avg = ref 0. -*) - -let descr_of_domain_item = function - | Id s -> s - | Symbol (s, _) -> s - | Num i -> string_of_int i - -type 'a test_result = - | Ok of 'a * Cic.metasenv - | Ko of string Lazy.t - | Uncertain of string Lazy.t - -let refine_term metasenv context uri term ugraph = -(* if benchmark then incr actual_refinements; *) - assert (uri=None); - debug_print (lazy (sprintf "TEST_INTERPRETATION: %s" (CicPp.ppterm term))); - try - let term', _, metasenv',ugraph1 = - CicRefine.type_of_aux' metasenv context term ugraph in - (Ok (term', metasenv')),ugraph1 - with - | CicRefine.Uncertain msg -> - debug_print (lazy ("UNCERTAIN!!! [" ^ (Lazy.force msg) ^ "] " ^ CicPp.ppterm term)) ; - Uncertain (msg (*lazy ("Uncertain trying to refine: " ^ CicMetaSubst.ppterm_in_context [] term context ^ "\n" ^ Lazy.force msg)*)),ugraph - | CicRefine.RefineFailure msg -> - debug_print (lazy (sprintf "PRUNED!!!\nterm%s\nmessage:%s" - (CicPp.ppterm term) (Lazy.force msg))); - Ko (msg (*lazy ("Error trying to refine: " ^ CicMetaSubst.ppterm_in_context [] term context ^ "\n" ^ Lazy.force msg)*)),ugraph - -let refine_obj metasenv context uri obj ugraph = - assert (context = []); - debug_print (lazy (sprintf "TEST_INTERPRETATION: %s" (CicPp.ppobj obj))) ; - try - let obj', metasenv,ugraph = CicRefine.typecheck metasenv uri obj in - (Ok (obj', metasenv)),ugraph - with - | CicRefine.Uncertain msg -> - debug_print (lazy ("UNCERTAIN!!! [" ^ (Lazy.force msg) ^ "] " ^ CicPp.ppobj obj)) ; - Uncertain (msg (*lazy ("Uncertain trying to refine: " ^ CicPp.ppobj obj ^ "\n" ^ Lazy.force msg)*)),ugraph - | CicRefine.RefineFailure msg -> - debug_print (lazy (sprintf "PRUNED!!!\nterm%s\nmessage:%s" - (CicPp.ppobj obj) (Lazy.force msg))) ; - Ko (msg (*lazy ("Error trying to refine: " ^ CicPp.ppobj obj ^ "\n" ^ Lazy.force msg)*)),ugraph - -let resolve (env: codomain_item Environment.t) (item: domain_item) ?(num = "") ?(args = []) () = - try - snd (Environment.find item env) env num args - with Not_found -> - failwith ("Domain item not found: " ^ - (DisambiguateTypes.string_of_domain_item item)) - - (* TODO move it to Cic *) -let find_in_context name (context: Cic.name list) = - let rec aux acc = function - | [] -> raise Not_found - | Cic.Name hd :: tl when hd = name -> acc - | _ :: tl -> aux (acc + 1) tl - in - aux 1 context - -let interpretate_term ~(context: Cic.name list) ~env ~uri ~is_path ast = - assert (uri = None); - let rec aux loc (context: Cic.name list) = function - | CicNotationPt.AttributedTerm (`Loc loc, term) -> - aux loc context term - | CicNotationPt.AttributedTerm (_, term) -> aux loc context term - | CicNotationPt.Appl (CicNotationPt.Symbol (symb, i) :: args) -> - let cic_args = List.map (aux loc context) args in - resolve env (Symbol (symb, i)) ~args:cic_args () - | CicNotationPt.Appl terms -> Cic.Appl (List.map (aux loc context) terms) - | CicNotationPt.Binder (binder_kind, (var, typ), body) -> - let cic_type = aux_option loc context (Some `Type) typ in - let cic_name = CicNotationUtil.cic_name_of_name var in - let cic_body = aux loc (cic_name :: context) body in - (match binder_kind with - | `Lambda -> Cic.Lambda (cic_name, cic_type, cic_body) - | `Pi - | `Forall -> Cic.Prod (cic_name, cic_type, cic_body) - | `Exists -> - resolve env (Symbol ("exists", 0)) - ~args:[ cic_type; Cic.Lambda (cic_name, cic_type, cic_body) ] ()) - | CicNotationPt.Case (term, indty_ident, outtype, branches) -> - let cic_term = aux loc context term in - let cic_outtype = aux_option loc context None outtype in - let do_branch ((head, _, args), term) = - let rec do_branch' context = function - | [] -> aux loc context term - | (name, typ) :: tl -> - let cic_name = CicNotationUtil.cic_name_of_name name in - let cic_body = do_branch' (cic_name :: context) tl in - let typ = - match typ with - | None -> Cic.Implicit (Some `Type) - | Some typ -> aux loc context typ - in - Cic.Lambda (cic_name, typ, cic_body) - in - do_branch' context args - in - let (indtype_uri, indtype_no) = - match indty_ident with - | Some (indty_ident, _) -> - (match resolve env (Id indty_ident) () with - | Cic.MutInd (uri, tyno, _) -> (uri, tyno) - | Cic.Implicit _ -> - raise (Try_again (lazy "The type of the term to be matched - is still unknown")) - | _ -> - raise (Invalid_choice (lazy "The type of the term to be matched is not (co)inductive!"))) - | None -> - let fst_constructor = - match branches with - | ((head, _, _), _) :: _ -> head - | [] -> raise (Invalid_choice (lazy "The type of the term to be matched is an inductive type without constructors that cannot be determined")) - in - (match resolve env (Id fst_constructor) () with - | Cic.MutConstruct (indtype_uri, indtype_no, _, _) -> - (indtype_uri, indtype_no) - | Cic.Implicit _ -> - raise (Try_again (lazy "The type of the term to be matched - is still unknown")) - | _ -> - raise (Invalid_choice (lazy "The type of the term to be matched is not (co)inductive!"))) - in - Cic.MutCase (indtype_uri, indtype_no, cic_outtype, cic_term, - (List.map do_branch branches)) - | CicNotationPt.Cast (t1, t2) -> - let cic_t1 = aux loc context t1 in - let cic_t2 = aux loc context t2 in - Cic.Cast (cic_t1, cic_t2) - | CicNotationPt.LetIn ((name, typ), def, body) -> - let cic_def = aux loc context def in - let cic_name = CicNotationUtil.cic_name_of_name name in - let cic_def = - match typ with - | None -> cic_def - | Some t -> Cic.Cast (cic_def, aux loc context t) - in - let cic_body = aux loc (cic_name :: context) body in - Cic.LetIn (cic_name, cic_def, cic_body) - | CicNotationPt.LetRec (kind, defs, body) -> - let context' = - List.fold_left - (fun acc ((name, _), _, _) -> - CicNotationUtil.cic_name_of_name name :: acc) - context defs - in - let cic_body = aux loc context' body in - let inductiveFuns = - List.map - (fun ((name, typ), body, decr_idx) -> - let cic_body = aux loc context' body in - let cic_type = aux_option loc context (Some `Type) typ in - let name = - match CicNotationUtil.cic_name_of_name name with - | Cic.Anonymous -> - CicNotationPt.fail loc - "Recursive functions cannot be anonymous" - | Cic.Name name -> name - in - (name, decr_idx, cic_type, cic_body)) - defs - in - let counter = ref ~-1 in - let build_term funs = - (* this is the body of the fold_right function below. Rationale: Fix - * and CoFix cases differs only in an additional index in the - * inductiveFun list, see Cic.term *) - match kind with - | `Inductive -> - (fun (var, _, _, _) cic -> - incr counter; - let fix = Cic.Fix (!counter,funs) in - match cic with - Cic.Rel 1 -> fix - | (Cic.Appl (Cic.Rel 1::l)) -> - (try - let l' = - List.map - (function t -> - let t',subst,metasenv = - CicMetaSubst.delift_rels [] [] 1 t - in - assert (subst=[]); - assert (metasenv=[]); - t') l - in - Cic.Appl (fix::l') - with - CicMetaSubst.DeliftingARelWouldCaptureAFreeVariable -> - Cic.LetIn (Cic.Name var, fix, cic)) - | _ -> Cic.LetIn (Cic.Name var, fix, cic)) - | `CoInductive -> - let funs = - List.map (fun (name, _, typ, body) -> (name, typ, body)) funs - in - (fun (var, _, _, _) cic -> - incr counter; - let cofix = Cic.CoFix (!counter,funs) in - match cic with - Cic.Rel 1 -> cofix - | (Cic.Appl (Cic.Rel 1::l)) -> Cic.Appl (cofix::l) - | _ -> Cic.LetIn (Cic.Name var, cofix, cic)) - in - List.fold_right (build_term inductiveFuns) inductiveFuns cic_body - | CicNotationPt.Ident _ - | CicNotationPt.Uri _ when is_path -> raise PathNotWellFormed - | CicNotationPt.Ident (name, subst) - | CicNotationPt.Uri (name, subst) as ast -> - let is_uri = function CicNotationPt.Uri _ -> true | _ -> false in - (try - if is_uri ast then raise Not_found;(* don't search the env for URIs *) - let index = find_in_context name context in - if subst <> None then - CicNotationPt.fail loc "Explicit substitutions not allowed here"; - Cic.Rel index - with Not_found -> - let cic = - if is_uri ast then (* we have the URI, build the term out of it *) - try - CicUtil.term_of_uri (UriManager.uri_of_string name) - with UriManager.IllFormedUri _ -> - CicNotationPt.fail loc "Ill formed URI" - else - resolve env (Id name) () - in - let mk_subst uris = - let ids_to_uris = - List.map (fun uri -> UriManager.name_of_uri uri, uri) uris - in - (match subst with - | Some subst -> - List.map - (fun (s, term) -> - (try - List.assoc s ids_to_uris, aux loc context term - with Not_found -> - raise (Invalid_choice (lazy "The provided explicit named substitution is trying to instantiate a named variable the object is not abstracted on")))) - subst - | None -> List.map (fun uri -> uri, Cic.Implicit None) uris) - in - (try - match cic with - | Cic.Const (uri, []) -> - let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - let uris = CicUtil.params_of_obj o in - Cic.Const (uri, mk_subst uris) - | Cic.Var (uri, []) -> - let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - let uris = CicUtil.params_of_obj o in - Cic.Var (uri, mk_subst uris) - | Cic.MutInd (uri, i, []) -> - (try - let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - let uris = CicUtil.params_of_obj o in - Cic.MutInd (uri, i, mk_subst uris) - with - CicEnvironment.Object_not_found _ -> - (* if we are here it is probably the case that during the - definition of a mutual inductive type we have met an - occurrence of the type in one of its constructors. - However, the inductive type is not yet in the environment - *) - (*here the explicit_named_substituion is assumed to be of length 0 *) - Cic.MutInd (uri,i,[])) - | Cic.MutConstruct (uri, i, j, []) -> - let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - let uris = CicUtil.params_of_obj o in - Cic.MutConstruct (uri, i, j, mk_subst uris) - | Cic.Meta _ | Cic.Implicit _ as t -> -(* - debug_print (lazy (sprintf - "Warning: %s must be instantiated with _[%s] but we do not enforce it" - (CicPp.ppterm t) - (String.concat "; " - (List.map - (fun (s, term) -> s ^ " := " ^ CicNotationPtPp.pp_term term) - subst)))); -*) - t - | _ -> - raise (Invalid_choice (lazy "??? Can this happen?")) - with - CicEnvironment.CircularDependency _ -> - raise (Invalid_choice (lazy "Circular dependency in the environment")))) - | CicNotationPt.Implicit -> Cic.Implicit None - | CicNotationPt.UserInput -> Cic.Implicit (Some `Hole) - | CicNotationPt.Num (num, i) -> resolve env (Num i) ~num () - | CicNotationPt.Meta (index, subst) -> - let cic_subst = - List.map - (function None -> None | Some term -> Some (aux loc context term)) - subst - in - Cic.Meta (index, cic_subst) - | CicNotationPt.Sort `Prop -> Cic.Sort Cic.Prop - | CicNotationPt.Sort `Set -> Cic.Sort Cic.Set - | CicNotationPt.Sort (`Type u) -> Cic.Sort (Cic.Type u) - | CicNotationPt.Sort `CProp -> Cic.Sort Cic.CProp - | CicNotationPt.Symbol (symbol, instance) -> - resolve env (Symbol (symbol, instance)) () - | _ -> assert false (* god bless Bologna *) - and aux_option loc (context: Cic.name list) annotation = function - | None -> Cic.Implicit annotation - | Some term -> aux loc context term - in - match ast with - | CicNotationPt.AttributedTerm (`Loc loc, term) -> aux loc context term - | term -> aux dummy_floc context term - -let interpretate_path ~context path = - interpretate_term ~context ~env:Environment.empty ~uri:None ~is_path:true path - -let interpretate_obj ~context ~env ~uri ~is_path obj = - assert (context = []); - assert (is_path = false); - match obj with - | GrafiteAst.Inductive (params,tyl) -> - let uri = match uri with Some uri -> uri | None -> assert false in - let context,params = - let context,res = - List.fold_left - (fun (context,res) (name,t) -> - Cic.Name name :: context, - (name, interpretate_term context env None false t)::res - ) ([],[]) params - in - context,List.rev res in - let add_params = - List.fold_right - (fun (name,ty) t -> Cic.Prod (Cic.Name name,ty,t)) params in - let name_to_uris = - snd ( - List.fold_left - (*here the explicit_named_substituion is assumed to be of length 0 *) - (fun (i,res) (name,_,_,_) -> - i + 1,(name,name,Cic.MutInd (uri,i,[]))::res - ) (0,[]) tyl) in - let con_env = DisambiguateTypes.env_of_list name_to_uris env in - let undebrujin t = - snd - (List.fold_right - (fun (name,_,_,_) (i,t) -> - (*here the explicit_named_substituion is assumed to be of length 0 *) - let t' = Cic.MutInd (uri,i,[]) in - let t = CicSubstitution.subst t' t in - i - 1,t - ) tyl (List.length tyl - 1,t)) in - let tyl = - List.map - (fun (name,b,ty,cl) -> - let ty' = add_params (interpretate_term context env None false ty) in - let cl' = - List.map - (fun (name,ty) -> - let ty' = - add_params (interpretate_term context con_env None false ty) - in - name,undebrujin ty' - ) cl - in - name,b,ty',cl' - ) tyl - in - Cic.InductiveDefinition (tyl,[],List.length params,[]) - | GrafiteAst.Record (params,name,ty,fields) -> - let uri = match uri with Some uri -> uri | None -> assert false in - let context,params = - let context,res = - List.fold_left - (fun (context,res) (name,t) -> - (Cic.Name name :: context), - (name, interpretate_term context env None false t)::res - ) ([],[]) params - in - context,List.rev res in - let add_params = - List.fold_right - (fun (name,ty) t -> Cic.Prod (Cic.Name name,ty,t)) params in - let ty' = add_params (interpretate_term context env None false ty) in - let fields' = - snd ( - List.fold_left - (fun (context,res) (name,ty) -> - let context' = Cic.Name name :: context in - context',(name,interpretate_term context env None false ty)::res - ) (context,[]) fields) in - let concl = - (*here the explicit_named_substituion is assumed to be of length 0 *) - let mutind = Cic.MutInd (uri,0,[]) in - if params = [] then mutind - else - Cic.Appl - (mutind::CicUtil.mk_rels (List.length params) (List.length fields)) in - let con = - List.fold_left - (fun t (name,ty) -> Cic.Prod (Cic.Name name,ty,t)) - concl fields' in - let con' = add_params con in - let tyl = [name,true,ty',["mk_" ^ name,con']] in - let field_names = List.map fst fields in - Cic.InductiveDefinition - (tyl,[],List.length params,[`Class (`Record field_names)]) - | GrafiteAst.Theorem (flavour, name, ty, bo) -> - let attrs = [`Flavour flavour] in - let ty' = interpretate_term [] env None false ty in - (match bo with - None -> - Cic.CurrentProof (name,[],Cic.Implicit None,ty',[],attrs) - | Some bo -> - let bo' = Some (interpretate_term [] env None false bo) in - Cic.Constant (name,bo',ty',[],attrs)) - - - (* e.g. [5;1;1;1;2;3;4;1;2] -> [2;1;4;3;5] *) -let rev_uniq = - let module SortedItem = - struct - type t = DisambiguateTypes.domain_item - let compare = Pervasives.compare - end - in - let module Set = Set.Make (SortedItem) in - fun l -> - let rev_l = List.rev l in - let (_, uniq_rev_l) = - List.fold_left - (fun (members, rev_l) elt -> - if Set.mem elt members then - (members, rev_l) - else - Set.add elt members, elt :: rev_l) - (Set.empty, []) rev_l - in - List.rev uniq_rev_l - -(* "aux" keeps domain in reverse order and doesn't care about duplicates. - * Domain item more in deep in the list will be processed first. - *) -let rec domain_rev_of_term ?(loc = dummy_floc) context = function - | CicNotationPt.AttributedTerm (`Loc loc, term) -> - domain_rev_of_term ~loc context term - | CicNotationPt.AttributedTerm (_, term) -> - domain_rev_of_term ~loc context term - | CicNotationPt.Appl terms -> - List.fold_left - (fun dom term -> domain_rev_of_term ~loc context term @ dom) [] terms - | CicNotationPt.Binder (kind, (var, typ), body) -> - let kind_dom = - match kind with - | `Exists -> [ Symbol ("exists", 0) ] - | _ -> [] - in - let type_dom = domain_rev_of_term_option loc context typ in - let body_dom = - domain_rev_of_term ~loc - (CicNotationUtil.cic_name_of_name var :: context) body - in - body_dom @ type_dom @ kind_dom - | CicNotationPt.Case (term, indty_ident, outtype, branches) -> - let term_dom = domain_rev_of_term ~loc context term in - let outtype_dom = domain_rev_of_term_option loc context outtype in - let get_first_constructor = function - | [] -> [] - | ((head, _, _), _) :: _ -> [ Id head ] - in - let do_branch ((head, _, args), term) = - let (term_context, args_domain) = - List.fold_left - (fun (cont, dom) (name, typ) -> - (CicNotationUtil.cic_name_of_name name :: cont, - (match typ with - | None -> dom - | Some typ -> domain_rev_of_term ~loc cont typ @ dom))) - (context, []) args - in - args_domain @ domain_rev_of_term ~loc term_context term - in - let branches_dom = - List.fold_left (fun dom branch -> do_branch branch @ dom) [] branches - in - branches_dom @ outtype_dom @ term_dom @ - (match indty_ident with - | None -> get_first_constructor branches - | Some (ident, _) -> [ Id ident ]) - | CicNotationPt.Cast (term, ty) -> - let term_dom = domain_rev_of_term ~loc context term in - let ty_dom = domain_rev_of_term ~loc context ty in - ty_dom @ term_dom - | CicNotationPt.LetIn ((var, typ), body, where) -> - let body_dom = domain_rev_of_term ~loc context body in - let type_dom = domain_rev_of_term_option loc context typ in - let where_dom = - domain_rev_of_term ~loc - (CicNotationUtil.cic_name_of_name var :: context) where - in - where_dom @ type_dom @ body_dom - | CicNotationPt.LetRec (kind, defs, where) -> - let context' = - List.fold_left - (fun acc ((var, typ), _, _) -> - CicNotationUtil.cic_name_of_name var :: acc) - context defs - in - let where_dom = domain_rev_of_term ~loc context' where in - let defs_dom = - List.fold_left - (fun dom ((_, typ), body, _) -> - domain_rev_of_term ~loc context' body @ - domain_rev_of_term_option loc context typ) - [] defs - in - where_dom @ defs_dom - | CicNotationPt.Ident (name, subst) -> - (try - let index = find_in_context name context in - if subst <> None then - CicNotationPt.fail loc "Explicit substitutions not allowed here" - else - [] - with Not_found -> - (match subst with - | None -> [Id name] - | Some subst -> - List.fold_left - (fun dom (_, term) -> - let dom' = domain_rev_of_term ~loc context term in - dom' @ dom) - [Id name] subst)) - | CicNotationPt.Uri _ -> [] - | CicNotationPt.Implicit -> [] - | CicNotationPt.Num (num, i) -> [ Num i ] - | CicNotationPt.Meta (index, local_context) -> - List.fold_left - (fun dom term -> domain_rev_of_term_option loc context term @ dom) [] - local_context - | CicNotationPt.Sort _ -> [] - | CicNotationPt.Symbol (symbol, instance) -> [ Symbol (symbol, instance) ] - | CicNotationPt.UserInput - | CicNotationPt.Literal _ - | CicNotationPt.Layout _ - | CicNotationPt.Magic _ - | CicNotationPt.Variable _ -> assert false - -and domain_rev_of_term_option loc context = function - | None -> [] - | Some t -> domain_rev_of_term ~loc context t - -let domain_of_term ~context ast = rev_uniq (domain_rev_of_term context ast) - -let domain_of_obj ~context ast = - assert (context = []); - let domain_rev = - match ast with - | GrafiteAst.Theorem (_,_,ty,bo) -> - (match bo with - None -> [] - | Some bo -> domain_rev_of_term [] bo) @ - domain_of_term [] ty - | GrafiteAst.Inductive (params,tyl) -> - let dom = - List.flatten ( - List.rev_map - (fun (_,_,ty,cl) -> - List.flatten ( - List.rev_map - (fun (_,ty) -> domain_rev_of_term [] ty) cl) @ - domain_rev_of_term [] ty) tyl) in - let dom = - List.fold_left - (fun dom (_,ty) -> - domain_rev_of_term [] ty @ dom - ) dom params - in - List.filter - (fun name -> - not ( List.exists (fun (name',_) -> name = Id name') params - || List.exists (fun (name',_,_,_) -> name = Id name') tyl) - ) dom - | GrafiteAst.Record (params,_,ty,fields) -> - let dom = - List.flatten - (List.rev_map (fun (_,ty) -> domain_rev_of_term [] ty) fields) in - let dom = - List.filter - (fun name-> - not ( List.exists (fun (name',_) -> name = Id name') params - || List.exists (fun (name',_) -> name = Id name') fields) - ) dom - in - List.fold_left - (fun dom (_,ty) -> - domain_rev_of_term [] ty @ dom - ) (dom @ domain_rev_of_term [] ty) params - in - rev_uniq domain_rev - - (* dom1 \ dom2 *) -let domain_diff dom1 dom2 = -(* let domain_diff = Domain.diff *) - let is_in_dom2 = - List.fold_left (fun pred elt -> (fun elt' -> elt' = elt || pred elt')) - (fun _ -> false) dom2 - in - List.filter (fun elt -> not (is_in_dom2 elt)) dom1 - -module type Disambiguator = -sig - val disambiguate_term : - ?fresh_instances:bool -> - dbd:HMysql.dbd -> - context:Cic.context -> - metasenv:Cic.metasenv -> - ?initial_ugraph:CicUniv.universe_graph -> - aliases:DisambiguateTypes.environment ->(* previous interpretation status *) - universe:DisambiguateTypes.multiple_environment option -> - CicNotationPt.term -> - ((DisambiguateTypes.domain_item * DisambiguateTypes.codomain_item) list * - Cic.metasenv * (* new metasenv *) - Cic.term* - CicUniv.universe_graph) list * (* disambiguated term *) - bool - - val disambiguate_obj : - ?fresh_instances:bool -> - dbd:HMysql.dbd -> - aliases:DisambiguateTypes.environment ->(* previous interpretation status *) - universe:DisambiguateTypes.multiple_environment option -> - uri:UriManager.uri option -> (* required only for inductive types *) - GrafiteAst.obj -> - ((DisambiguateTypes.domain_item * DisambiguateTypes.codomain_item) list * - Cic.metasenv * (* new metasenv *) - Cic.obj * - CicUniv.universe_graph) list * (* disambiguated obj *) - bool -end - -module Make (C: Callbacks) = - struct - let choices_of_id dbd id = - let uris = MetadataQuery.locate ~dbd id in - let uris = - match uris with - | [] -> - [(C.input_or_locate_uri - ~title:("URI matching \"" ^ id ^ "\" unknown.") ~id ())] - | [uri] -> [uri] - | _ -> - C.interactive_user_uri_choice ~selection_mode:`MULTIPLE - ~ok:"Try selected." ~enable_button_for_non_vars:true - ~title:"Ambiguous input." ~id - ~msg: ("Ambiguous input \"" ^ id ^ - "\". Please, choose one or more interpretations:") - uris - in - List.map - (fun uri -> - (UriManager.string_of_uri uri, - let term = - try - CicUtil.term_of_uri uri - with exn -> - debug_print (lazy (UriManager.string_of_uri uri)); - debug_print (lazy (Printexc.to_string exn)); - assert false - in - fun _ _ _ -> term)) - uris - -let refine_profiler = HExtlib.profile "disambiguate_thing.refine_thing" - - let disambiguate_thing ~dbd ~context ~metasenv - ?(initial_ugraph = CicUniv.empty_ugraph) ~aliases ~universe - ~uri ~pp_thing ~domain_of_thing ~interpretate_thing ~refine_thing thing - = - debug_print (lazy "DISAMBIGUATE INPUT"); - let disambiguate_context = (* cic context -> disambiguate context *) - List.map - (function None -> Cic.Anonymous | Some (name, _) -> name) - context - in - debug_print (lazy ("TERM IS: " ^ (pp_thing thing))); - let thing_dom = domain_of_thing ~context:disambiguate_context thing in - debug_print (lazy (sprintf "DISAMBIGUATION DOMAIN: %s" - (string_of_domain thing_dom))); -(* - debug_print (lazy (sprintf "DISAMBIGUATION ENVIRONMENT: %s" - (DisambiguatePp.pp_environment aliases))); - debug_print (lazy (sprintf "DISAMBIGUATION UNIVERSE: %s" - (match universe with None -> "None" | Some _ -> "Some _"))); -*) - let current_dom = - Environment.fold (fun item _ dom -> item :: dom) aliases [] - in - let todo_dom = domain_diff thing_dom current_dom in - (* (2) lookup function for any item (Id/Symbol/Num) *) - let lookup_choices = - let id_choices = Hashtbl.create 1023 in - fun item -> - let choices = - let lookup_in_library () = - match item with - | Id id -> choices_of_id dbd id - | Symbol (symb, _) -> - List.map DisambiguateChoices.mk_choice - (CicNotationRew.lookup_interpretations symb) - | Num instance -> - DisambiguateChoices.lookup_num_choices () - in - match universe with - | None -> lookup_in_library () - | Some e -> - (try - Environment.find item e - with Not_found -> lookup_in_library ()) - in - if choices = [] then raise (No_choices item); - choices - in -(* - (* *) - let _ = - if benchmark then begin - let per_item_choices = - List.map - (fun dom_item -> - try - let len = List.length (lookup_choices dom_item) in - debug_print (lazy (sprintf "BENCHMARK %s: %d" - (string_of_domain_item dom_item) len)); - len - with No_choices _ -> 0) - thing_dom - in - max_refinements := List.fold_left ( * ) 1 per_item_choices; - actual_refinements := 0; - domain_size := List.length thing_dom; - choices_avg := - (float_of_int !max_refinements) ** (1. /. float_of_int !domain_size) - end - in - (* *) -*) - - (* (3) test an interpretation filling with meta uninterpreted identifiers - *) - let test_env aliases todo_dom ugraph = - let filled_env = - List.fold_left - (fun env item -> - Environment.add item - ("Implicit", - (match item with - | Id _ | Num _ -> (fun _ _ _ -> Cic.Implicit (Some `Closed)) - | Symbol _ -> (fun _ _ _ -> Cic.Implicit None))) env) - aliases todo_dom - in - try - let cic_thing = - interpretate_thing ~context:disambiguate_context ~env:filled_env - ~uri ~is_path:false thing - in -let foo () = - let k,ugraph1 = refine_thing metasenv context uri cic_thing ugraph in - (k , ugraph1 ) -in refine_profiler.HExtlib.profile foo () - with - | Try_again msg -> Uncertain msg, ugraph - | Invalid_choice msg -> Ko msg, ugraph - in - (* (4) build all possible interpretations *) - let (@@) (l1,l2) (l1',l2') = l1@l1', l2@l2' in - let rec aux aliases diff lookup_in_todo_dom todo_dom base_univ = - match todo_dom with - | [] -> - assert (lookup_in_todo_dom = None); - (match test_env aliases [] base_univ with - | Ok (thing, metasenv),new_univ -> - [ aliases, diff, metasenv, thing, new_univ ], [] - | Ko msg,_ | Uncertain msg,_ -> [],[msg]) - | item :: remaining_dom -> - debug_print (lazy (sprintf "CHOOSED ITEM: %s" - (string_of_domain_item item))); - let choices = - match lookup_in_todo_dom with - None -> lookup_choices item - | Some choices -> choices in - match choices with - [] -> [], [lazy "No choices"] - | [codomain_item] -> - (* just one choice. We perform a one-step look-up and - if the next set of choices is also a singleton we - skip this refinement step *) - debug_print(lazy (sprintf "%s CHOSEN" (fst codomain_item))); - let new_env = Environment.add item codomain_item aliases in - let new_diff = (item,codomain_item)::diff in - let lookup_in_todo_dom,next_choice_is_single = - match remaining_dom with - [] -> None,false - | he::_ -> - let choices = lookup_choices he in - Some choices,List.length choices = 1 - in - if next_choice_is_single then - aux new_env new_diff lookup_in_todo_dom remaining_dom - base_univ - else - (match test_env new_env remaining_dom base_univ with - | Ok (thing, metasenv),new_univ -> - (match remaining_dom with - | [] -> - [ new_env, new_diff, metasenv, thing, new_univ ], [] - | _ -> - aux new_env new_diff lookup_in_todo_dom - remaining_dom new_univ) - | Uncertain msg,new_univ -> - (match remaining_dom with - | [] -> [], [msg] - | _ -> - aux new_env new_diff lookup_in_todo_dom - remaining_dom new_univ) - | Ko msg,_ -> [], [msg]) - | _::_ -> - let rec filter univ = function - | [] -> [],[] - | codomain_item :: tl -> - debug_print(lazy (sprintf "%s CHOSEN" (fst codomain_item))); - let new_env = Environment.add item codomain_item aliases in - let new_diff = (item,codomain_item)::diff in - (match test_env new_env remaining_dom univ with - | Ok (thing, metasenv),new_univ -> - (match remaining_dom with - | [] -> [ new_env, new_diff, metasenv, thing, new_univ ], [] - | _ -> aux new_env new_diff None remaining_dom new_univ - ) @@ - filter univ tl - | Uncertain msg,new_univ -> - (match remaining_dom with - | [] -> [],[msg] - | _ -> aux new_env new_diff None remaining_dom new_univ - ) @@ - filter univ tl - | Ko msg,_ -> ([],[msg]) @@ filter univ tl) - in - filter base_univ choices - in - let base_univ = initial_ugraph in - try - let res = - match aux aliases [] None todo_dom base_univ with - | [],errors -> raise (NoWellTypedInterpretation errors) - | [_,diff,metasenv,t,ugraph],_ -> - debug_print (lazy "SINGLE INTERPRETATION"); - [diff,metasenv,t,ugraph], false - | l,_ -> - debug_print (lazy (sprintf "MANY INTERPRETATIONS (%d)" (List.length l))); - let choices = - List.map - (fun (env, _, _, _, _) -> - List.map - (fun domain_item -> - let description = - fst (Environment.find domain_item env) - in - (descr_of_domain_item domain_item, description)) - thing_dom) - l - in - let choosed = C.interactive_interpretation_choice choices in - (List.map (fun n->let _,d,m,t,u= List.nth l n in d,m,t,u) choosed), - true - in - res - with - CicEnvironment.CircularDependency s -> - failwith "Disambiguate: circular dependency" - - let disambiguate_term ?(fresh_instances=false) ~dbd ~context ~metasenv - ?(initial_ugraph = CicUniv.empty_ugraph) ~aliases ~universe term - = - let term = - if fresh_instances then CicNotationUtil.freshen_term term else term - in - disambiguate_thing ~dbd ~context ~metasenv ~initial_ugraph ~aliases - ~universe ~uri:None ~pp_thing:CicNotationPp.pp_term - ~domain_of_thing:domain_of_term ~interpretate_thing:interpretate_term - ~refine_thing:refine_term term - - let disambiguate_obj ?(fresh_instances=false) ~dbd ~aliases ~universe ~uri - obj - = - let obj = - if fresh_instances then CicNotationUtil.freshen_obj obj else obj - in - disambiguate_thing ~dbd ~context:[] ~metasenv:[] ~aliases ~universe ~uri - ~pp_thing:GrafiteAstPp.pp_obj ~domain_of_thing:domain_of_obj - ~interpretate_thing:interpretate_obj ~refine_thing:refine_obj - obj - end - -module Trivial = -struct - exception Ambiguous_term of string Lazy.t - exception Exit - module Callbacks = - struct - let interactive_user_uri_choice ~selection_mode ?ok - ?(enable_button_for_non_vars = true) ~title ~msg ~id uris = - raise Exit - let interactive_interpretation_choice interp = raise Exit - let input_or_locate_uri ~(title:string) ?id = raise Exit - end - module Disambiguator = Make (Callbacks) - let disambiguate_string ~dbd ?(context = []) ?(metasenv = []) ?initial_ugraph - ?(aliases = DisambiguateTypes.Environment.empty) term - = - let ast = - CicNotationParser.parse_level2_ast (Ulexing.from_utf8_string term) - in - try - fst (Disambiguator.disambiguate_term ~dbd ~context ~metasenv ast - ?initial_ugraph ~aliases ~universe:None) - with Exit -> raise (Ambiguous_term (lazy term)) -end - diff --git a/helm/ocaml/cic_disambiguation/disambiguate.mli b/helm/ocaml/cic_disambiguation/disambiguate.mli deleted file mode 100644 index e8d21c0cd..000000000 --- a/helm/ocaml/cic_disambiguation/disambiguate.mli +++ /dev/null @@ -1,91 +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 Disambiguation interface} *) - -exception NoWellTypedInterpretation of string Lazy.t list -exception PathNotWellFormed - -val interpretate_path : - context:Cic.name list -> DisambiguateTypes.term -> - Cic.term - -module type Disambiguator = -sig - (** @param fresh_instances when set to true fresh instances will be generated - * for each number _and_ symbol in the disambiguation domain. Instances of the - * input AST will be ignored. Defaults to false. *) - val disambiguate_term : - ?fresh_instances:bool -> - dbd:HMysql.dbd -> - context:Cic.context -> - metasenv:Cic.metasenv -> - ?initial_ugraph:CicUniv.universe_graph -> - aliases:DisambiguateTypes.environment ->(* previous interpretation status *) - universe:DisambiguateTypes.multiple_environment option -> - DisambiguateTypes.term -> - ((DisambiguateTypes.domain_item * DisambiguateTypes.codomain_item) list * - Cic.metasenv * (* new metasenv *) - Cic.term * - CicUniv.universe_graph) list * (* disambiguated term *) - bool (* has interactive_interpretation_choice been invoked? *) - - (** @param fresh_instances as per disambiguate_term *) - val disambiguate_obj : - ?fresh_instances:bool -> - dbd:HMysql.dbd -> - aliases:DisambiguateTypes.environment ->(* previous interpretation status *) - universe:DisambiguateTypes.multiple_environment option -> - uri:UriManager.uri option -> (* required only for inductive types *) - GrafiteAst.obj -> - ((DisambiguateTypes.domain_item * DisambiguateTypes.codomain_item) list * - Cic.metasenv * (* new metasenv *) - Cic.obj * - CicUniv.universe_graph) list * (* disambiguated obj *) - bool (* has interactive_interpretation_choice been invoked? *) -end - -module Make (C : DisambiguateTypes.Callbacks) : Disambiguator - -module Trivial: -sig - exception Ambiguous_term of string Lazy.t - - (** disambiguate an _unanmbiguous_ term using dummy callbacks which fail if a - * choice from the user is needed to disambiguate the term - * @raise Ambiguous_term for ambiguous term *) - val disambiguate_string: - dbd:HMysql.dbd -> - ?context:Cic.context -> - ?metasenv:Cic.metasenv -> - ?initial_ugraph:CicUniv.universe_graph -> - ?aliases:DisambiguateTypes.environment ->(* previous interpretation status*) - string -> - ((DisambiguateTypes.domain_item * DisambiguateTypes.codomain_item) list * - Cic.metasenv * (* new metasenv *) - Cic.term * - CicUniv.universe_graph) list (* disambiguated term *) -end - diff --git a/helm/ocaml/cic_disambiguation/disambiguateChoices.ml b/helm/ocaml/cic_disambiguation/disambiguateChoices.ml deleted file mode 100644 index b7f241036..000000000 --- a/helm/ocaml/cic_disambiguation/disambiguateChoices.ml +++ /dev/null @@ -1,67 +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 DisambiguateTypes - -exception Choice_not_found of string Lazy.t - -let num_choices = ref [] - -let add_num_choice choice = num_choices := choice :: !num_choices - -let has_description dsc = (fun x -> fst x = dsc) - -let lookup_num_choices () = !num_choices - -let lookup_num_by_dsc dsc = - try - List.find (has_description dsc) !num_choices - with Not_found -> raise (Choice_not_found (lazy ("Num with dsc " ^ dsc))) - -let mk_choice (dsc, args, appl_pattern) = - dsc, - (fun env _ cic_args -> - let env' = - let names = - List.map (function CicNotationPt.IdentArg (_, name) -> name) args - in - try - List.combine names cic_args - with Invalid_argument _ -> - raise (Invalid_choice (lazy "The notation expects a different number of arguments")) - in - CicNotationFwd.instantiate_appl_pattern env' appl_pattern) - -let lookup_symbol_by_dsc symbol dsc = - try - mk_choice - (List.find - (fun (dsc', _, _) -> dsc = dsc') - (CicNotationRew.lookup_interpretations symbol)) - with CicNotationRew.Interpretation_not_found | Not_found -> - raise (Choice_not_found (lazy (sprintf "Symbol %s, dsc %s" symbol dsc))) - diff --git a/helm/ocaml/cic_disambiguation/disambiguateChoices.mli b/helm/ocaml/cic_disambiguation/disambiguateChoices.mli deleted file mode 100644 index 0ad498106..000000000 --- a/helm/ocaml/cic_disambiguation/disambiguateChoices.mli +++ /dev/null @@ -1,53 +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 DisambiguateTypes - -(** {2 Choice registration low-level interface} *) - - (** raised by lookup_XXXX below *) -exception Choice_not_found of string Lazy.t - - (** register a new number choice *) -val add_num_choice: codomain_item -> unit - -(** {2 Choices lookup} - * for user defined aliases *) - -val lookup_num_choices: unit -> codomain_item list - - (** @param dsc description (1st component of codomain_item) *) -val lookup_num_by_dsc: string -> codomain_item - - (** @param symbol symbol as per AST - * @param dsc description (1st component of codomain_item) - *) -val lookup_symbol_by_dsc: string -> string -> codomain_item - -val mk_choice: - string * CicNotationPt.argument_pattern list * - CicNotationPt.cic_appl_pattern -> - codomain_item - diff --git a/helm/ocaml/cic_disambiguation/disambiguatePp.ml b/helm/ocaml/cic_disambiguation/disambiguatePp.ml deleted file mode 100644 index c3a48e409..000000000 --- a/helm/ocaml/cic_disambiguation/disambiguatePp.ml +++ /dev/null @@ -1,83 +0,0 @@ -(* Copyright (C) 2005, 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 DisambiguateTypes - -let parse_environment str = - let stream = Ulexing.from_utf8_string str in - let environment = ref Environment.empty in - let multiple_environment = ref Environment.empty in - try - while true do - let alias = - match GrafiteParser.parse_statement stream with - GrafiteAst.Executable (_, GrafiteAst.Command (_, GrafiteAst.Alias (_,alias))) - -> alias - | _ -> assert false in - let key,value = - (*CSC: Warning: this code should be factorized with the corresponding - code in MatitaEngine *) - match alias with - GrafiteAst.Ident_alias (id,uri) -> - Id id, - (uri,(fun _ _ _-> CicUtil.term_of_uri (UriManager.uri_of_string uri))) - | GrafiteAst.Symbol_alias (symb,instance,desc) -> - Symbol (symb,instance), - DisambiguateChoices.lookup_symbol_by_dsc symb desc - | GrafiteAst.Number_alias (instance,desc) -> - Num instance, - DisambiguateChoices.lookup_num_by_dsc desc - in - environment := Environment.add key value !environment; - multiple_environment := Environment.cons key value !multiple_environment; - done; - assert false - with End_of_file -> - !environment, !multiple_environment - -let alias_of_domain_and_codomain_items domain_item (dsc,_) = - match domain_item with - Id id -> GrafiteAst.Ident_alias (id, dsc) - | Symbol (symb, i) -> GrafiteAst.Symbol_alias (symb, i, dsc) - | Num i -> GrafiteAst.Number_alias (i, dsc) - -let aliases_of_environment env = - Environment.fold - (fun domain_item codomain_item acc -> - alias_of_domain_and_codomain_items domain_item codomain_item::acc - ) env [] - -let aliases_of_domain_and_codomain_items_list l = - List.fold_left - (fun acc (domain_item,codomain_item) -> - alias_of_domain_and_codomain_items domain_item codomain_item::acc - ) [] l - -let pp_environment env = - let aliases = aliases_of_environment env in - let strings = - List.map (fun alias -> GrafiteAstPp.pp_alias alias ^ ".") aliases - in - String.concat "\n" (List.sort compare strings) diff --git a/helm/ocaml/cic_disambiguation/disambiguatePp.mli b/helm/ocaml/cic_disambiguation/disambiguatePp.mli deleted file mode 100644 index 69b6e8451..000000000 --- a/helm/ocaml/cic_disambiguation/disambiguatePp.mli +++ /dev/null @@ -1,34 +0,0 @@ -(* Copyright (C) 2005, 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 parse_environment: - string -> - DisambiguateTypes.environment * DisambiguateTypes.multiple_environment - -val aliases_of_domain_and_codomain_items_list: - (DisambiguateTypes.domain_item * DisambiguateTypes.codomain_item) list -> - GrafiteAst.alias_spec list - -val pp_environment: DisambiguateTypes.environment -> string diff --git a/helm/ocaml/cic_disambiguation/disambiguateTypes.ml b/helm/ocaml/cic_disambiguation/disambiguateTypes.ml deleted file mode 100644 index b323f9231..000000000 --- a/helm/ocaml/cic_disambiguation/disambiguateTypes.ml +++ /dev/null @@ -1,126 +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/ - *) - -type term = CicNotationPt.term -type tactic = (term, term, GrafiteAst.reduction, string) GrafiteAst.tactic -type tactical = (term, term, GrafiteAst.reduction, string) GrafiteAst.tactical -type script_entry = - | Command of tactical - | Comment of CicNotationPt.location * string -type script = CicNotationPt.location * script_entry list - -type domain_item = - | Id of string (* literal *) - | Symbol of string * int (* literal, instance num *) - | Num of int (* instance num *) - -exception Invalid_choice of string Lazy.t - -module OrderedDomain = - struct - type t = domain_item - let compare = Pervasives.compare - end - -(* module Domain = Set.Make (OrderedDomain) *) -module Environment = -struct - module Environment' = Map.Make (OrderedDomain) - - include Environment' - - let cons k v env = - try - let current = find k env in - let dsc, _ = v in - add k (v :: (List.filter (fun (dsc', _) -> dsc' <> dsc) current)) env - with Not_found -> - add k [v] env - - let hd list_env = - try - map List.hd list_env - with Failure _ -> assert false - - let fold_flatten f env base = - fold - (fun k l acc -> List.fold_right (fun v acc -> f k v acc) l acc) - env base - -end - -type codomain_item = - string * (* description *) - (environment -> string -> Cic.term list -> Cic.term) - (* environment, literal number, arguments as needed *) - -and environment = codomain_item Environment.t - -type multiple_environment = codomain_item list Environment.t - - -(** adds a (name,uri) list l to a disambiguation environment e **) -let multiple_env_of_list l e = - List.fold_left - (fun e (name,descr,t) -> Environment.cons (Id name) (descr,fun _ _ _ -> t) e) - e l - -let env_of_list l e = - List.fold_left - (fun e (name,descr,t) -> Environment.add (Id name) (descr,fun _ _ _ -> t) e) - e l - -module type Callbacks = - sig - val interactive_user_uri_choice: - selection_mode:[`SINGLE | `MULTIPLE] -> - ?ok:string -> - ?enable_button_for_non_vars:bool -> - title:string -> msg:string -> id:string -> UriManager.uri list -> - UriManager.uri list - val interactive_interpretation_choice: - (string * string) list list -> int list - val input_or_locate_uri: - title:string -> ?id:string -> unit -> UriManager.uri - end - -let string_of_domain_item = function - | Id s -> Printf.sprintf "ID(%s)" s - | Symbol (s, i) -> Printf.sprintf "SYMBOL(%s,%d)" s i - | Num i -> Printf.sprintf "NUM(instance %d)" i - -let string_of_domain dom = - String.concat "; " (List.map string_of_domain_item dom) - -let floc_of_loc (loc_begin, loc_end) = - let floc_begin = - { Lexing.pos_fname = ""; Lexing.pos_lnum = -1; Lexing.pos_bol = -1; - Lexing.pos_cnum = loc_begin } - in - let floc_end = { floc_begin with Lexing.pos_cnum = loc_end } in - (floc_begin, floc_end) - -let dummy_floc = floc_of_loc (-1, -1) - diff --git a/helm/ocaml/cic_disambiguation/disambiguateTypes.mli b/helm/ocaml/cic_disambiguation/disambiguateTypes.mli deleted file mode 100644 index 4d077f2f8..000000000 --- a/helm/ocaml/cic_disambiguation/disambiguateTypes.mli +++ /dev/null @@ -1,97 +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/ - *) - -type domain_item = - | Id of string (* literal *) - | Symbol of string * int (* literal, instance num *) - | Num of int (* instance num *) - -(* module Domain: Set.S with type elt = domain_item *) -module Environment: -sig - include Map.S with type key = domain_item - val cons: domain_item -> ('a * 'b) -> ('a * 'b) list t -> ('a * 'b) list t - val hd: 'a list t -> 'a t - - (** last alias cons-ed will be processed first *) - val fold_flatten: (domain_item -> 'a -> 'b -> 'b) -> 'a list t -> 'b -> 'b -end - - (** to be raised when a choice is invalid due to some given parameter (e.g. - * wrong number of Cic.term arguments received) *) -exception Invalid_choice of string Lazy.t - -type codomain_item = - string * (* description *) - (environment -> string -> Cic.term list -> Cic.term) - (* environment, literal number, arguments as needed *) - -and environment = codomain_item Environment.t - -type multiple_environment = codomain_item list Environment.t - -(* a simple case of extension of a disambiguation environment *) -val env_of_list: - (string * string * Cic.term) list -> environment -> environment - -val multiple_env_of_list: - (string * string * Cic.term) list -> multiple_environment -> - multiple_environment - -module type Callbacks = - sig - - val interactive_user_uri_choice : - selection_mode:[`SINGLE | `MULTIPLE] -> - ?ok:string -> - ?enable_button_for_non_vars:bool -> - title:string -> msg:string -> id:string -> UriManager.uri list -> - UriManager.uri list - - val interactive_interpretation_choice : - (string * string) list list -> int list - - (** @param title gtk window title for user prompting - * @param id unbound identifier which originated this callback invocation *) - val input_or_locate_uri: - title:string -> ?id:string -> unit -> UriManager.uri - end - -val string_of_domain_item: domain_item -> string -val string_of_domain: domain_item list -> string - -(** {3 type shortands} *) - -type term = CicNotationPt.term -type tactic = (term, term, GrafiteAst.reduction, string) GrafiteAst.tactic -type tactical = (term, term, GrafiteAst.reduction, string) GrafiteAst.tactical - -type script_entry = - | Command of tactical - | Comment of CicNotationPt.location * string -type script = CicNotationPt.location * script_entry list - -val dummy_floc: Lexing.position * Lexing.position - diff --git a/helm/ocaml/cic_disambiguation/doc/precedence.txt b/helm/ocaml/cic_disambiguation/doc/precedence.txt deleted file mode 100644 index 09efea853..000000000 --- a/helm/ocaml/cic_disambiguation/doc/precedence.txt +++ /dev/null @@ -1,32 +0,0 @@ - -Input Should be parsed as Derived constraint - on precedence --------------------------------------------------------------------------------- -\lambda x.x y \lambda x.(x y) lambda > apply -S x = y (= (S x) y) apply > infix operators -\forall x.x=x (\forall x.(= x x)) infix operators > binders -\lambda x.x \to x \lambda. (x \to x) \to > \lambda --------------------------------------------------------------------------------- - -Precedence total order: - - apply > infix operators > to > binders - -where binders are all binders except lambda (i.e. \forall, \pi, \exists) - -to test: - -./test_parser term << EOT - \lambda x.x y - S x = y - \forall x.x=x - \lambda x.x \to x -EOT - -should respond with: - - \lambda x.(x y) - (eq (S x) y) - \forall x.(eq x x) - \lambda x.(x \to x) - diff --git a/helm/ocaml/cic_disambiguation/number_notation.ml b/helm/ocaml/cic_disambiguation/number_notation.ml deleted file mode 100644 index 09f488e86..000000000 --- a/helm/ocaml/cic_disambiguation/number_notation.ml +++ /dev/null @@ -1,56 +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 _ = - let const s = Cic.Const (s, []) in - let mutind s = Cic.MutInd (s, 0, []) in - - DisambiguateChoices.add_num_choice - ("natural number", - (fun _ num _ -> HelmLibraryObjects.build_nat (int_of_string num))); - DisambiguateChoices.add_num_choice - ("real number", - (fun _ num _ -> HelmLibraryObjects.build_real (int_of_string num))); - DisambiguateChoices.add_num_choice - ("binary positive number", - (fun _ num _ -> - let num = int_of_string num in - if num = 0 then - raise (DisambiguateTypes.Invalid_choice (lazy "0 is not a valid positive number")) - else - HelmLibraryObjects.build_bin_pos num)); - DisambiguateChoices.add_num_choice - ("binary integer number", - (fun _ num _ -> - let num = int_of_string num in - if num = 0 then - HelmLibraryObjects.BinInt.z0 - else if num > 0 then - Cic.Appl [ - HelmLibraryObjects.BinInt.zpos; - HelmLibraryObjects.build_bin_pos num ] - else - assert false)) - diff --git a/helm/ocaml/cic_disambiguation/tests/aliases.txt b/helm/ocaml/cic_disambiguation/tests/aliases.txt deleted file mode 100644 index 12b09fff1..000000000 --- a/helm/ocaml/cic_disambiguation/tests/aliases.txt +++ /dev/null @@ -1,6 +0,0 @@ -alias id foo = cic:/a.con -alias id bar = cic:/b.con -alias symbol "plus" (instance 0) = "real plus" -alias symbol "plus" (instance 1) = "natural plus" -alias num (instance 0) = "real number" -alias num (instance 1) = "natural number" diff --git a/helm/ocaml/cic_disambiguation/tests/eq.txt b/helm/ocaml/cic_disambiguation/tests/eq.txt deleted file mode 100644 index 6a826fc71..000000000 --- a/helm/ocaml/cic_disambiguation/tests/eq.txt +++ /dev/null @@ -1 +0,0 @@ -\forall n. \forall m. n + m = n diff --git a/helm/ocaml/cic_disambiguation/tests/match.txt b/helm/ocaml/cic_disambiguation/tests/match.txt deleted file mode 100644 index 87bb0159b..000000000 --- a/helm/ocaml/cic_disambiguation/tests/match.txt +++ /dev/null @@ -1,49 +0,0 @@ -[\lambda x:nat. - [\lambda y:nat. Set] - match x:nat with [ O \Rightarrow nat | (S x) \Rightarrow bool ]] -match (S O):nat with -[ O \Rightarrow O -| (S x) \Rightarrow false ] - -[\lambda z:nat. \lambda h:(le O z). (eq nat O O)] -match (le_n O): le with -[ le_n \Rightarrow (refl_equal nat O) -| (le_S x y) \Rightarrow (refl_equal nat O) ] - -[\lambda z:nat. \lambda h:(le (plus (plus O O) (plus O O)) z). (eq nat (plus (plus O O) (plus O O)) (plus (plus O O) (plus O O)))] -match (le_n (plus (plus O O) (plus O O))): le with -[ le_n \Rightarrow (refl_equal nat (plus (plus O O) (plus O O))) -| (le_S x y) \Rightarrow (refl_equal nat (plus (plus O O) (plus O O))) ] - -(* -[\lambda z:nat. \lambda h:(le 1 z). (le 0 z)] -match (le_S 2 (le_n 1)): le with -[ le_n \Rightarrow (le_S 1 (le_n 0)) -| (le_S x y) \Rightarrow y ] -*) - -[\lambda z:nat. \lambda h:(le 0 z). (le 0 (S z))] -match (le_S 0 0 (le_n 0)): le with -[ le_n \Rightarrow (le_S 0 0 (le_n 0)) -| (le_S x y) \Rightarrow (le_S 0 (S x) (le_S 0 x y)) ] - - -[\lambda x:bool. nat] -match true:bool with -[ true \Rightarrow O -| false \Rightarrow (S O) ] - -[\lambda x:nat. nat] -match O:nat with -[ O \Rightarrow O -| (S x) \Rightarrow (S (S x)) ] - -[\lambda x:list. list] -match nil:list with -[ nil \Rightarrow nil -| (cons x y) \Rightarrow (cons x y) ] - -\lambda x:False. - [\lambda h:False. True] - match x:False with [] - diff --git a/helm/ocaml/cic_notation/.cvsignore b/helm/ocaml/cic_notation/.cvsignore deleted file mode 100644 index 45ec2c22f..000000000 --- a/helm/ocaml/cic_notation/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -*.cm[aiox] -*.cmxa -*.[ao] -test_lexer -test_parser -test_dep -print_grammar diff --git a/helm/ocaml/cic_notation/.depend b/helm/ocaml/cic_notation/.depend deleted file mode 100644 index c19c9ea3c..000000000 --- a/helm/ocaml/cic_notation/.depend +++ /dev/null @@ -1,73 +0,0 @@ -cicNotationUtil.cmi: grafiteAst.cmo cicNotationPt.cmo -cicNotationTag.cmi: cicNotationPt.cmo -cicNotationEnv.cmi: cicNotationPt.cmo -cicNotationPp.cmi: cicNotationPt.cmo cicNotationEnv.cmi -grafiteAstPp.cmi: grafiteAst.cmo cicNotationPt.cmo -cicNotationMatcher.cmi: cicNotationPt.cmo cicNotationEnv.cmi -cicNotationFwd.cmi: cicNotationPt.cmo cicNotationEnv.cmi -cicNotationRew.cmi: cicNotationPt.cmo -cicNotationParser.cmi: cicNotationPt.cmo cicNotationEnv.cmi -grafiteParser.cmi: grafiteAst.cmo cicNotationPt.cmo -cicNotationPres.cmi: mpresentation.cmi cicNotationPt.cmo box.cmi -boxPp.cmi: cicNotationPres.cmi -cicNotation.cmi: grafiteAst.cmo -grafiteAst.cmo: cicNotationPt.cmo -grafiteAst.cmx: cicNotationPt.cmx -renderingAttrs.cmo: renderingAttrs.cmi -renderingAttrs.cmx: renderingAttrs.cmi -cicNotationUtil.cmo: grafiteAst.cmo cicNotationPt.cmo cicNotationUtil.cmi -cicNotationUtil.cmx: grafiteAst.cmx cicNotationPt.cmx cicNotationUtil.cmi -cicNotationTag.cmo: cicNotationUtil.cmi cicNotationPt.cmo cicNotationTag.cmi -cicNotationTag.cmx: cicNotationUtil.cmx cicNotationPt.cmx cicNotationTag.cmi -cicNotationLexer.cmo: cicNotationLexer.cmi -cicNotationLexer.cmx: cicNotationLexer.cmi -cicNotationEnv.cmo: cicNotationUtil.cmi cicNotationPt.cmo cicNotationEnv.cmi -cicNotationEnv.cmx: cicNotationUtil.cmx cicNotationPt.cmx cicNotationEnv.cmi -cicNotationPp.cmo: cicNotationPt.cmo cicNotationEnv.cmi cicNotationPp.cmi -cicNotationPp.cmx: cicNotationPt.cmx cicNotationEnv.cmx cicNotationPp.cmi -grafiteAstPp.cmo: grafiteAst.cmo cicNotationPt.cmo cicNotationPp.cmi \ - grafiteAstPp.cmi -grafiteAstPp.cmx: grafiteAst.cmx cicNotationPt.cmx cicNotationPp.cmx \ - grafiteAstPp.cmi -cicNotationMatcher.cmo: grafiteAstPp.cmi cicNotationUtil.cmi \ - cicNotationTag.cmi cicNotationPt.cmo cicNotationPp.cmi cicNotationEnv.cmi \ - cicNotationMatcher.cmi -cicNotationMatcher.cmx: grafiteAstPp.cmx cicNotationUtil.cmx \ - cicNotationTag.cmx cicNotationPt.cmx cicNotationPp.cmx cicNotationEnv.cmx \ - cicNotationMatcher.cmi -cicNotationFwd.cmo: cicNotationUtil.cmi cicNotationPt.cmo cicNotationPp.cmi \ - cicNotationEnv.cmi cicNotationFwd.cmi -cicNotationFwd.cmx: cicNotationUtil.cmx cicNotationPt.cmx cicNotationPp.cmx \ - cicNotationEnv.cmx cicNotationFwd.cmi -cicNotationRew.cmo: renderingAttrs.cmi cicNotationUtil.cmi cicNotationPt.cmo \ - cicNotationPp.cmi cicNotationMatcher.cmi cicNotationEnv.cmi \ - cicNotationRew.cmi -cicNotationRew.cmx: renderingAttrs.cmx cicNotationUtil.cmx cicNotationPt.cmx \ - cicNotationPp.cmx cicNotationMatcher.cmx cicNotationEnv.cmx \ - cicNotationRew.cmi -cicNotationParser.cmo: cicNotationUtil.cmi cicNotationPt.cmo \ - cicNotationPp.cmi cicNotationLexer.cmi cicNotationEnv.cmi \ - cicNotationParser.cmi -cicNotationParser.cmx: cicNotationUtil.cmx cicNotationPt.cmx \ - cicNotationPp.cmx cicNotationLexer.cmx cicNotationEnv.cmx \ - cicNotationParser.cmi -grafiteParser.cmo: grafiteAst.cmo cicNotationPt.cmo cicNotationParser.cmi \ - cicNotationLexer.cmi grafiteParser.cmi -grafiteParser.cmx: grafiteAst.cmx cicNotationPt.cmx cicNotationParser.cmx \ - cicNotationLexer.cmx grafiteParser.cmi -mpresentation.cmo: mpresentation.cmi -mpresentation.cmx: mpresentation.cmi -box.cmo: renderingAttrs.cmi box.cmi -box.cmx: renderingAttrs.cmx box.cmi -cicNotationPres.cmo: renderingAttrs.cmi mpresentation.cmi cicNotationUtil.cmi \ - cicNotationPt.cmo cicNotationPp.cmi box.cmi cicNotationPres.cmi -cicNotationPres.cmx: renderingAttrs.cmx mpresentation.cmx cicNotationUtil.cmx \ - cicNotationPt.cmx cicNotationPp.cmx box.cmx cicNotationPres.cmi -boxPp.cmo: renderingAttrs.cmi mpresentation.cmi cicNotationPres.cmi box.cmi \ - boxPp.cmi -boxPp.cmx: renderingAttrs.cmx mpresentation.cmx cicNotationPres.cmx box.cmx \ - boxPp.cmi -cicNotation.cmo: grafiteParser.cmi grafiteAst.cmo cicNotationRew.cmi \ - cicNotationParser.cmi cicNotationFwd.cmi cicNotation.cmi -cicNotation.cmx: grafiteParser.cmx grafiteAst.cmx cicNotationRew.cmx \ - cicNotationParser.cmx cicNotationFwd.cmx cicNotation.cmi diff --git a/helm/ocaml/cic_notation/Makefile b/helm/ocaml/cic_notation/Makefile deleted file mode 100644 index cfd1ad505..000000000 --- a/helm/ocaml/cic_notation/Makefile +++ /dev/null @@ -1,74 +0,0 @@ - -PACKAGE = cic_notation -NULL = -REQUIRES = \ - helm-cic \ - helm-utf8_macros \ - camlp4.gramlib \ - helm-cic_proof_checking \ - ulex \ - $(NULL) -INTERFACE_FILES = \ - renderingAttrs.mli \ - cicNotationUtil.mli \ - cicNotationTag.mli \ - cicNotationLexer.mli \ - cicNotationEnv.mli \ - cicNotationPp.mli \ - grafiteAstPp.mli \ - cicNotationMatcher.mli \ - cicNotationFwd.mli \ - cicNotationRew.mli \ - cicNotationParser.mli \ - grafiteParser.mli \ - mpresentation.mli \ - box.mli \ - cicNotationPres.mli \ - boxPp.mli \ - cicNotation.mli \ - $(NULL) -IMPLEMENTATION_FILES = \ - cicNotationPt.ml \ - grafiteAst.ml \ - $(patsubst %.mli, %.ml, $(INTERFACE_FILES)) \ - $(NULL) - -all: test_lexer test_parser test_dep print_grammar - -LOCAL_LINKOPTS = -package helm-cic_notation -linkpkg -test: test_lexer test_parser test_dep -test_lexer: test_lexer.ml $(PACKAGE).cma - $(OCAMLC) $(LOCAL_LINKOPTS) -o $@ $< -test_parser: REQUIRES += helm-cic_omdoc -test_parser: test_parser.ml $(PACKAGE).cma - $(OCAMLC) $(LOCAL_LINKOPTS) -o $@ $< -test_dep: test_dep.ml $(PACKAGE).cma - $(OCAMLC) $(LOCAL_LINKOPTS) -o $@ $< -print_grammar: print_grammar.ml $(PACKAGE).cma - $(OCAMLC) $(LOCAL_LINKOPTS) -o $@ $< - -cicNotationLexer.cmo: OCAMLC = $(OCAMLC_P4) -cicNotationParser.cmo: OCAMLC = $(OCAMLC_P4) -grafiteParser.cmo: OCAMLC = $(OCAMLC_P4) -cicNotationLexer.cmx: OCAMLOPT = $(OCAMLOPT_P4) -cicNotationParser.cmx: OCAMLOPT = $(OCAMLOPT_P4) -grafiteParser.cmx: OCAMLOPT = $(OCAMLOPT_P4) -cicNotationParser.ml.annot: OCAMLC = $(OCAMLC_P4) -grafiteParser.ml.annot: OCAMLC = $(OCAMLC_P4) -cicNotationLexer.ml.annot: OCAMLC = $(OCAMLC_P4) -cicNotationPres.cmi: OCAMLOPTIONS += -rectypes -cicNotationPres.cmo: OCAMLOPTIONS += -rectypes -cicNotationPres.cmx: OCAMLOPTIONS += -rectypes - -clean: extra_clean -distclean: extra_clean - rm -f macro_table.dump -extra_clean: - rm -f test_lexer test_parser - -include ../Makefile.common -OCAMLARCHIVEOPTIONS += -linkall - -cicNotationParser.expanded.ml: cicNotationParser.ml - camlp4 -nolib '-I' '/usr/lib/ocaml/3.08.3/' '-I' '/home/zack/helm/ocaml/urimanager' '-I' '/usr/lib/ocaml/3.08.3/pcre' '-I' '/usr/lib/ocaml/3.08.3/' '-I' '/usr/lib/ocaml/3.08.3/netstring' '-I' '/usr/lib/ocaml/3.08.3/pxp-engine' '-I' '/usr/lib/ocaml/3.08.3/pxp-lex-utf8' '-I' '/usr/lib/ocaml/3.08.3/pxp-lex-iso88591' '-I' '/usr/lib/ocaml/3.08.3/pxp-lex-iso885915' '-I' '/usr/lib/ocaml/3.08.3/http' '-I' '/home/zacchiro/helm/ocaml/pxp' '-I' '/usr/lib/ocaml/3.08.3/zip' '-I' '/usr/lib/ocaml/3.08.3/expat' '-I' '/home/zacchiro/helm/ocaml/xml' '-I' '/home/zack/helm/ocaml/cic' '-I' '/usr/lib/ocaml/3.08.3/camlp4' '-I' '/home/zack/helm/ocaml/utf8_macros' '-I' '/usr/lib/ocaml/3.08.3/camlp4' '-I' '/usr/lib/ocaml/3.08.3/ulex' 'pa_o.cmo' 'pa_op.cmo' 'pr_o.cmo' 'pa_extend.cmo' 'pa_unicode_macro.cma' 'pa_ulex.cma' $< > $@ - diff --git a/helm/ocaml/cic_notation/TODO b/helm/ocaml/cic_notation/TODO deleted file mode 100644 index a98131c07..000000000 --- a/helm/ocaml/cic_notation/TODO +++ /dev/null @@ -1,47 +0,0 @@ - -TODO - -* implementare type-checker per le trasformazioni -* prestazioni trasformazioni 3 => 2 e 2 => 1 -* magic per gestione degli array? -* gestione della notazione per i numeri -* sintassi concreta - - studiare/implementare sintassi con ... per i magic fold -* trasformazioni - - parentesi cagose (tail) - - hyperlink multipli con il magic fold (e.g. notazione per le liste) - - ident0 -> ident_0 ? - -DONE - -* trasformazioni - - spacing delle keyword - - hyperlink su head dei case pattern e sul tipo induttivo su cui si fa match -* bug di rimozione della notazione: pare che camlp4 distrugga un livello - grammaticale quando toglie l'ultima produzione ivi definita -* pretty printing verso testo -* gestione priorita'/associativita' - - triplicare livelli nella grammatica? -* implementare trasformazione 1 => 0 -* implementare istanziazione dei magic a livello 1 (2 => 1) -* implementare compilazione dei default in 2 => 1 -* annotazioni nel livello 1 generato -* problema con pattern overlapping per i magic al livello 2 -* gestione greedyness dei magic in 2 => 1 -* href multipli -* integrazione - - apportare all'ast le modifiche di CicAst (case, cast non come annotazione, - tipi opzionali nel let rec e nelle definizioni) -* integrazione - - porting della disambiguazione al nuovo ast - - refactoring: unico punto di accesso allo stato imperativo della notazione - - gestire cast - - salvare la notazione nei file .moo - - portare le trasformazioni al nuovo ast - - gestire i problemi di ridefinizione della stessa notazione? - - togliere file non piu' utilizzati (caterva di cvs remove) -* gtkmathview - - aggiungere metodo per caricare un file di configurazione dell'utente (idem - nel binding) - - algoritmo di layout delle scatole - diff --git a/helm/ocaml/cic_notation/box.ml b/helm/ocaml/cic_notation/box.ml deleted file mode 100644 index c11558a27..000000000 --- a/helm/ocaml/cic_notation/box.ml +++ /dev/null @@ -1,150 +0,0 @@ -(* Copyright (C) 2000-2005, 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 *) -(* *) -(* Andrea Asperti *) -(* 13/2/2004 *) -(* *) -(*************************************************************************) - -type - 'expr box = - Text of attr * string - | Space of attr - | Ink of attr - | H of attr * ('expr box) list - | V of attr * ('expr box) list - | HV of attr * ('expr box) list - | HOV of attr * ('expr box) list - | Object of attr * 'expr - | Action of attr * ('expr box) list - -and attr = (string option * string * string) list - -let smallskip = Space([None,"width","0.5em"]);; -let skip = Space([None,"width","1em"]);; - -let indent t = H([],[skip;t]);; - -(* BoxML prefix *) -let prefix = "b";; - -let tag_of_box = function - | H _ -> "h" - | V _ -> "v" - | HV _ -> "hv" - | HOV _ -> "hov" - | _ -> assert false - -let box2xml ~obj2xml box = - let rec aux = - let module X = Xml in - function - Text (attr,s) -> X.xml_nempty ~prefix "text" attr (X.xml_cdata s) - | Space attr -> X.xml_empty ~prefix "space" attr - | Ink attr -> X.xml_empty ~prefix "ink" attr - | H (attr,l) - | V (attr,l) - | HV (attr,l) - | HOV (attr,l) as box -> - X.xml_nempty ~prefix (tag_of_box box) attr - [< (List.fold_right (fun x i -> [< (aux x) ; i >]) l [<>]) - >] - | Object (attr,m) -> - X.xml_nempty ~prefix "obj" attr [< obj2xml m >] - | Action (attr,l) -> - X.xml_nempty ~prefix "action" attr - [< (List.fold_right (fun x i -> [< (aux x) ; i >]) l [<>]) >] - in - aux box -;; - -let rec map f = function - | (Text _) as box -> box - | (Space _) as box -> box - | (Ink _) as box -> box - | H (attr, l) -> H (attr, List.map (map f) l) - | V (attr, l) -> V (attr, List.map (map f) l) - | HV (attr, l) -> HV (attr, List.map (map f) l) - | HOV (attr, l) -> HOV (attr, List.map (map f) l) - | Action (attr, l) -> Action (attr, List.map (map f) l) - | Object (attr, obj) -> Object (attr, f obj) -;; - -(* -let document_of_box ~obj2xml pres = - [< Xml.xml_cdata "\n" ; - Xml.xml_cdata "\n"; - Xml.xml_nempty ~prefix "box" - [Some "xmlns","m","http://www.w3.org/1998/Math/MathML" ; - Some "xmlns","b","http://helm.cs.unibo.it/2003/BoxML" ; - Some "xmlns","helm","http://www.cs.unibo.it/helm" ; - Some "xmlns","xlink","http://www.w3.org/1999/xlink" - ] (print_box pres) - >] -*) - -let b_h a b = H(a,b) -let b_v a b = V(a,b) -let b_hv a b = HV(a,b) -let b_hov a b = HOV(a,b) -let b_text a b = Text(a,b) -let b_object b = Object ([],b) -let b_indent = indent -let b_space = Space [None, "width", "0.5em"] -let b_kw = b_text (RenderingAttrs.object_keyword_attributes `BoxML) - -let pp_attr attr = - let pp (ns, n, v) = - Printf.sprintf "%s%s=%s" (match ns with None -> "" | Some s -> s ^ ":") n v - in - String.concat " " (List.map pp attr) - -let get_attr = function - | Text (attr, _) - | Space attr - | Ink attr - | H (attr, _) - | V (attr, _) - | HV (attr, _) - | HOV (attr, _) - | Object (attr, _) - | Action (attr, _) -> - attr - -let set_attr attr = function - | Text (_, x) -> Text (attr, x) - | Space _ -> Space attr - | Ink _ -> Ink attr - | H (_, x) -> H (attr, x) - | V (_, x) -> V (attr, x) - | HV (_, x) -> HV (attr, x) - | HOV (_, x) -> HOV (attr, x) - | Object (_, x) -> Object (attr, x) - | Action (_, x) -> Action (attr, x) - diff --git a/helm/ocaml/cic_notation/box.mli b/helm/ocaml/cic_notation/box.mli deleted file mode 100644 index 56c086964..000000000 --- a/helm/ocaml/cic_notation/box.mli +++ /dev/null @@ -1,78 +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 *) -(* *) -(* Andrea Asperti *) -(* 13/2/2004 *) -(* *) -(*************************************************************************) - -type - 'expr box = - Text of attr * string - | Space of attr - | Ink of attr - | H of attr * ('expr box) list - | V of attr * ('expr box) list - | HV of attr * ('expr box) list - | HOV of attr * ('expr box) list - | Object of attr * 'expr - | Action of attr * ('expr box) list - -and attr = (string option * string * string) list - -val get_attr: 'a box -> attr -val set_attr: attr -> 'a box -> 'a box - -val smallskip : 'expr box -val skip: 'expr box -val indent : 'expr box -> 'expr box - -val box2xml: - obj2xml:('a -> Xml.token Stream.t) -> 'a box -> - Xml.token Stream.t - -val map: ('a -> 'b) -> 'a box -> 'b box - -(* -val document_of_box : - ~obj2xml:('a -> Xml.token Stream.t) -> 'a box -> Xml.token Stream.t -*) - -val b_h: attr -> 'expr box list -> 'expr box -val b_v: attr -> 'expr box list -> 'expr box -val b_hv: attr -> 'expr box list -> 'expr box (** default indent and spacing *) -val b_hov: attr -> 'expr box list -> 'expr box (** default indent and spacing *) -val b_text: attr -> string -> 'expr box -val b_object: 'expr -> 'expr box -val b_indent: 'expr box -> 'expr box -val b_space: 'expr box -val b_kw: string -> 'expr box - -val pp_attr: attr -> string - diff --git a/helm/ocaml/cic_notation/boxPp.ml b/helm/ocaml/cic_notation/boxPp.ml deleted file mode 100644 index ddb9d3b82..000000000 --- a/helm/ocaml/cic_notation/boxPp.ml +++ /dev/null @@ -1,239 +0,0 @@ -(* Copyright (C) 2005, 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/ - *) - -module Pres = Mpresentation - -(** {2 Pretty printing from BoxML to strings} *) - -let string_space = " " -let string_space_len = String.length string_space -let string_indent = string_space -let string_indent_len = String.length string_indent -let string_ink = "##" -let string_ink_len = String.length string_ink - -let contains_attrs contained container = - List.for_all (fun attr -> List.mem attr container) contained - -let want_indent = contains_attrs (RenderingAttrs.indent_attributes `BoxML) -let want_spacing = contains_attrs (RenderingAttrs.spacing_attributes `BoxML) - -let indent_string s = string_indent ^ s -let indent_children (size, children) = - let children' = List.map indent_string children in - size + string_space_len, children' - -let choose_rendering size (best, other) = - let best_size, _ = best in - if size >= best_size then best else other - -let merge_columns sep cols = - let sep_len = String.length sep in - let indent = ref 0 in - let res_rows = ref [] in - let add_row ~continue row = - match !res_rows with - | last :: prev when continue -> - res_rows := (String.concat sep [last; row]) :: prev; - indent := !indent + String.length last + sep_len - | _ -> res_rows := (String.make !indent ' ' ^ row) :: !res_rows; - in - List.iter - (fun rows -> - match rows with - | hd :: tl -> - add_row ~continue:true hd; - List.iter (add_row ~continue:false) tl - | [] -> ()) - cols; - List.rev !res_rows - -let max_len = - List.fold_left (fun max_size s -> max (String.length s) max_size) 0 - -let render_row available_space spacing children = - let spacing_bonus = if spacing then string_space_len else 0 in - let rem_space = ref available_space in - let renderings = ref [] in - List.iter - (fun f -> - let occupied_space, rendering = f !rem_space in - renderings := rendering :: !renderings; - rem_space := !rem_space - (occupied_space + spacing_bonus)) - children; - let sep = if spacing then string_space else "" in - let rendering = merge_columns sep (List.rev !renderings) in - max_len rendering, rendering - -let fixed_rendering s = - let s_len = String.length s in - (fun _ -> s_len, [s]) - -let render_to_strings size markup = - let max_size = max_int in - let rec aux_box = - function - | Box.Text (_, t) -> fixed_rendering t - | Box.Space _ -> fixed_rendering string_space - | Box.Ink _ -> fixed_rendering string_ink - | Box.Action (_, []) -> assert false - | Box.Action (_, hd :: _) -> aux_box hd - | Box.Object (_, o) -> aux_mpres o - | Box.H (attrs, children) -> - let spacing = want_spacing attrs in - let children' = List.map aux_box children in - (fun size -> render_row size spacing children') - | Box.HV (attrs, children) -> - let spacing = want_spacing attrs in - let children' = List.map aux_box children in - (fun size -> - let (size', renderings) as res = - render_row max_size spacing children' - in - if size' <= size then (* children fit in a row *) - res - else (* break needed, re-render using a Box.V *) - aux_box (Box.V (attrs, children)) size) - | Box.V (attrs, []) -> assert false - | Box.V (attrs, [child]) -> aux_box child - | Box.V (attrs, hd :: tl) -> - let indent = want_indent attrs in - let hd_f = aux_box hd in - let tl_fs = List.map aux_box tl in - (fun size -> - let _, hd_rendering = hd_f size in - let children_size = - max 0 (if indent then size - string_indent_len else size) - in - let tl_renderings = - List.map - (fun f -> - let indent_header = if indent then string_indent else "" in - snd (indent_children (f children_size))) - tl_fs - in - let rows = hd_rendering @ List.concat tl_renderings in - max_len rows, rows) - | Box.HOV (attrs, []) -> assert false - | Box.HOV (attrs, [child]) -> aux_box child - | Box.HOV (attrs, children) -> - let spacing = want_spacing attrs in - let indent = want_indent attrs in - let spacing_bonus = if spacing then string_space_len else 0 in - let indent_bonus = if indent then string_indent_len else 0 in - let sep = if spacing then string_space else "" in - let fs = List.map aux_box children in - (fun size -> - let rows = ref [] in - let renderings = ref [] in - let rem_space = ref size in - let first_row = ref true in - let use_rendering (space, rendering) = - let use_indent = !renderings = [] && not !first_row in - let rendering' = - if use_indent then List.map indent_string rendering - else rendering - in - renderings := rendering' :: !renderings; - let bonus = if use_indent then indent_bonus else spacing_bonus in - rem_space := !rem_space - (space + bonus) - in - let end_cluster () = - let new_rows = merge_columns sep (List.rev !renderings) in - rows := List.rev_append new_rows !rows; - rem_space := size - indent_bonus; - renderings := []; - first_row := false - in - List.iter - (fun f -> - let (best_space, _) as best = f max_size in - if best_space <= !rem_space then - use_rendering best - else begin - end_cluster (); - if best_space <= !rem_space then use_rendering best - else use_rendering (f size) - end) - fs; - if !renderings <> [] then end_cluster (); - max_len !rows, List.rev !rows) - and aux_mpres = - let text s = Pres.Mtext ([], s) in - let mrow c = Pres.Mrow ([], c) in - function - | Pres.Mi (_, s) - | Pres.Mn (_, s) - | Pres.Mtext (_, s) - | Pres.Ms (_, s) - | Pres.Mgliph (_, s) -> fixed_rendering s - | Pres.Mo (_, s) -> - let s = - if String.length s > 1 then - (* heuristic to guess which operators need to be expanded in their - * TeX like format *) - Utf8Macro.tex_of_unicode s ^ " " - else s - in - fixed_rendering s - | Pres.Mspace _ -> fixed_rendering string_space - | Pres.Mrow (attrs, children) -> - let children' = List.map aux_mpres children in - (fun size -> render_row size false children') - | Pres.Mfrac (_, m, n) -> - aux_mpres (mrow [ text "\\frac("; text ")"; text "("; n; text ")" ]) - | Pres.Msqrt (_, m) -> aux_mpres (mrow [ text "\\sqrt("; m; text ")" ]) - | Pres.Mroot (_, r, i) -> - aux_mpres (mrow [ - text "\\root("; i; text ")"; text "\\of("; r; text ")" ]) - | Pres.Mstyle (_, m) - | Pres.Merror (_, m) - | Pres.Mpadded (_, m) - | Pres.Mphantom (_, m) - | Pres.Menclose (_, m) -> aux_mpres m - | Pres.Mfenced (_, children) -> aux_mpres (mrow children) - | Pres.Maction (_, []) -> assert false - | Pres.Msub (_, m, n) -> - aux_mpres (mrow [ text "("; m; text ")\\sub("; n; text ")" ]) - | Pres.Msup (_, m, n) -> - aux_mpres (mrow [ text "("; m; text ")\\sup("; n; text ")" ]) - | Pres.Munder (_, m, n) -> - aux_mpres (mrow [ text "("; m; text ")\\below("; n; text ")" ]) - | Pres.Mover (_, m, n) -> - aux_mpres (mrow [ text "("; m; text ")\\above("; n; text ")" ]) - | Pres.Msubsup _ - | Pres.Munderover _ - | Pres.Mtable _ -> - prerr_endline - "MathML presentation element not yet available in concrete syntax"; - assert false - | Pres.Maction (_, hd :: _) -> aux_mpres hd - | Pres.Mobject (_, o) -> aux_box (o: CicNotationPres.boxml_markup) - in - snd (aux_mpres markup size) - -let render_to_string size markup = - String.concat "\n" (render_to_strings size markup) - diff --git a/helm/ocaml/cic_notation/boxPp.mli b/helm/ocaml/cic_notation/boxPp.mli deleted file mode 100644 index 6b7c3cec8..000000000 --- a/helm/ocaml/cic_notation/boxPp.mli +++ /dev/null @@ -1,33 +0,0 @@ -(* Copyright (C) 2005, 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/ - *) - - (** @return rows list of rows *) -val render_to_strings: int -> CicNotationPres.markup -> string list - - (** helper function - * @return s, concatenation of the return value of render_to_strings above - * with newlines as separators *) -val render_to_string: int -> CicNotationPres.markup -> string - diff --git a/helm/ocaml/cic_notation/cicNotation.ml b/helm/ocaml/cic_notation/cicNotation.ml deleted file mode 100644 index cbad3391f..000000000 --- a/helm/ocaml/cic_notation/cicNotation.ml +++ /dev/null @@ -1,90 +0,0 @@ -(* Copyright (C) 2005, 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 GrafiteAst - -type notation_id = - | RuleId of CicNotationParser.rule_id - | InterpretationId of CicNotationRew.interpretation_id - | PrettyPrinterId of CicNotationRew.pretty_printer_id - -let process_notation st = - match st with - | Notation (loc, dir, l1, associativity, precedence, l2) -> - let rule_id = - if dir <> Some `RightToLeft then - [ RuleId (CicNotationParser.extend l1 ?precedence ?associativity - (fun env loc -> CicNotationFwd.instantiate_level2 env l2)) ] - else - [] - in - let pp_id = - if dir <> Some `LeftToRight then - [ PrettyPrinterId - (CicNotationRew.add_pretty_printer ?precedence ?associativity - l2 l1) ] - else - [] - in - st, rule_id @ pp_id - | Interpretation (loc, dsc, l2, l3) -> - let interp_id = CicNotationRew.add_interpretation dsc l2 l3 in - st, [ InterpretationId interp_id ] - | st -> st, [] - -let remove_notation = function - | RuleId id -> CicNotationParser.delete id - | PrettyPrinterId id -> CicNotationRew.remove_pretty_printer id - | InterpretationId id -> CicNotationRew.remove_interpretation id - -let load_notation fname = - let ic = open_in fname in - let lexbuf = Ulexing.from_utf8_channel ic in - try - while true do - match GrafiteParser.parse_statement lexbuf with - | Executable (_, Command (_, cmd)) -> ignore (process_notation cmd) - | _ -> () - done - with End_of_file -> close_in ic - -let get_all_notations () = - List.map - (fun (interp_id, dsc) -> - InterpretationId interp_id, "interpretation: " ^ dsc) - (CicNotationRew.get_all_interpretations ()) - -let get_active_notations () = - List.map (fun id -> InterpretationId id) - (CicNotationRew.get_active_interpretations ()) - -let set_active_notations ids = - let interp_ids = - HExtlib.filter_map - (function InterpretationId interp_id -> Some interp_id | _ -> None) - ids - in - CicNotationRew.set_active_interpretations interp_ids - diff --git a/helm/ocaml/cic_notation/cicNotation.mli b/helm/ocaml/cic_notation/cicNotation.mli deleted file mode 100644 index 1c6e95385..000000000 --- a/helm/ocaml/cic_notation/cicNotation.mli +++ /dev/null @@ -1,44 +0,0 @@ -(* Copyright (C) 2005, 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/ - *) - -type notation_id - -val process_notation: - ('a, 'b) GrafiteAst.command -> ('a, 'b) GrafiteAst.command * notation_id list - -val remove_notation: notation_id -> unit - -(** @param fname file from which load notation *) -val load_notation: string -> unit - -(** {2 Notation enabling/disabling} - * Right now, only disabling of notation during pretty printing is supporting. - * If it is useful to disable it also for the input phase is still to be - * understood ... *) - -val get_all_notations: unit -> (notation_id * string) list (* id, dsc *) -val get_active_notations: unit -> notation_id list -val set_active_notations: notation_id list -> unit - diff --git a/helm/ocaml/cic_notation/cicNotationEnv.ml b/helm/ocaml/cic_notation/cicNotationEnv.ml deleted file mode 100644 index 62212f92f..000000000 --- a/helm/ocaml/cic_notation/cicNotationEnv.ml +++ /dev/null @@ -1,151 +0,0 @@ -(* Copyright (C) 2004-2005, 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/ - *) - -module Ast = CicNotationPt - -type value = - | TermValue of Ast.term - | StringValue of string - | NumValue of string - | OptValue of value option - | ListValue of value list - -type value_type = - | TermType - | StringType - | NumType - | OptType of value_type - | ListType of value_type - -exception Value_not_found of string -exception Type_mismatch of string * value_type - -type declaration = string * value_type -type binding = string * (value_type * value) -type t = binding list - -let lookup env name = - try - List.assoc name env - with Not_found -> raise (Value_not_found name) - -let lookup_value env name = - try - snd (List.assoc name env) - with Not_found -> raise (Value_not_found name) - -let remove_name env name = List.remove_assoc name env - -let remove_names env names = - List.filter (fun name, _ -> not (List.mem name names)) env - -let lookup_term env name = - match lookup env name with - | _, TermValue x -> x - | ty, _ -> raise (Type_mismatch (name, ty)) - -let lookup_num env name = - match lookup env name with - | _, NumValue x -> x - | ty, _ -> raise (Type_mismatch (name, ty)) - -let lookup_string env name = - match lookup env name with - | _, StringValue x -> x - | ty, _ -> raise (Type_mismatch (name, ty)) - -let lookup_opt env name = - match lookup env name with - | _, OptValue x -> x - | ty, _ -> raise (Type_mismatch (name, ty)) - -let lookup_list env name = - match lookup env name with - | _, ListValue x -> x - | ty, _ -> raise (Type_mismatch (name, ty)) - -let opt_binding_some (n, (ty, v)) = (n, (OptType ty, OptValue (Some v))) -let opt_binding_none (n, (ty, v)) = (n, (OptType ty, OptValue None)) -let opt_binding_of_name (n, ty) = (n, (OptType ty, OptValue None)) -let list_binding_of_name (n, ty) = (n, (ListType ty, ListValue [])) -let opt_declaration (n, ty) = (n, OptType ty) -let list_declaration (n, ty) = (n, ListType ty) - -let declaration_of_var = function - | Ast.NumVar s -> s, NumType - | Ast.IdentVar s -> s, StringType - | Ast.TermVar s -> s, TermType - | _ -> assert false - -let value_of_term = function - | Ast.Num (s, _) -> NumValue s - | Ast.Ident (s, None) -> StringValue s - | t -> TermValue t - -let term_of_value = function - | NumValue s -> Ast.Num (s, 0) - | StringValue s -> Ast.Ident (s, None) - | TermValue t -> t - | _ -> assert false (* TO BE UNDERSTOOD *) - -let rec well_typed ty value = - match ty, value with - | TermType, TermValue _ - | StringType, StringValue _ - | OptType _, OptValue None - | NumType, NumValue _ -> true - | OptType ty', OptValue (Some value') -> well_typed ty' value' - | ListType ty', ListValue vl -> - List.for_all (fun value' -> well_typed ty' value') vl - | _ -> false - -let declarations_of_env = List.map (fun (name, (ty, _)) -> (name, ty)) -let declarations_of_term p = - List.map declaration_of_var (CicNotationUtil.variables_of_term p) - -let rec combine decls values = - match decls, values with - | [], [] -> [] - | (name, ty) :: decls, v :: values -> - (name, (ty, v)) :: (combine decls values) - | _ -> assert false - -let coalesce_env declarations env_list = - let env0 = List.map list_binding_of_name declarations in - let grow_env_entry env n v = - List.map - (function - | (n', (ty, ListValue vl)) as entry -> - if n' = n then n', (ty, ListValue (v :: vl)) else entry - | _ -> assert false) - env - in - let grow_env env_i env = - List.fold_left - (fun env (n, (_, v)) -> grow_env_entry env n v) - env env_i - in - List.fold_right grow_env env_list env0 - diff --git a/helm/ocaml/cic_notation/cicNotationEnv.mli b/helm/ocaml/cic_notation/cicNotationEnv.mli deleted file mode 100644 index d4f87097e..000000000 --- a/helm/ocaml/cic_notation/cicNotationEnv.mli +++ /dev/null @@ -1,92 +0,0 @@ -(* Copyright (C) 2004-2005, 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 Types} *) - -type value = - | TermValue of CicNotationPt.term - | StringValue of string - | NumValue of string - | OptValue of value option - | ListValue of value list - -type value_type = - | TermType - | StringType - | NumType - | OptType of value_type - | ListType of value_type - - (** looked up value not found in environment *) -exception Value_not_found of string - - (** looked up value has the wrong type - * parameters are value name and value type in environment *) -exception Type_mismatch of string * value_type - -type declaration = string * value_type -type binding = string * (value_type * value) -type t = binding list - -val declaration_of_var: CicNotationPt.pattern_variable -> declaration -val value_of_term: CicNotationPt.term -> value -val term_of_value: value -> CicNotationPt.term -val well_typed: value_type -> value -> bool - -val declarations_of_env: t -> declaration list -val declarations_of_term: CicNotationPt.term -> declaration list -val combine: declaration list -> value list -> t (** @raise Invalid_argument *) - -(** {2 Environment lookup} *) - -val lookup_value: t -> string -> value (** @raise Value_not_found *) - -(** lookup_* functions below may raise Value_not_found and Type_mismatch *) - -val lookup_term: t -> string -> CicNotationPt.term -val lookup_string: t -> string -> string -val lookup_num: t -> string -> string -val lookup_opt: t -> string -> value option -val lookup_list: t -> string -> value list - -val remove_name: t -> string -> t -val remove_names: t -> string list -> t - -(** {2 Bindings mangling} *) - -val opt_binding_some: binding -> binding (* v -> Some v *) -val opt_binding_none: binding -> binding (* v -> None *) - -val opt_binding_of_name: declaration -> binding (* None binding *) -val list_binding_of_name: declaration -> binding (* [] binding *) - -val opt_declaration: declaration -> declaration (* t -> OptType t *) -val list_declaration: declaration -> declaration (* t -> ListType t *) - -(** given a list of environments bindings a set of names n_1, ..., n_k, returns - * a single environment where n_i is bound to the list of values bound in the - * starting environments *) -val coalesce_env: declaration list -> t list -> t - diff --git a/helm/ocaml/cic_notation/cicNotationFwd.ml b/helm/ocaml/cic_notation/cicNotationFwd.ml deleted file mode 100644 index bf4b3e38e..000000000 --- a/helm/ocaml/cic_notation/cicNotationFwd.ml +++ /dev/null @@ -1,218 +0,0 @@ -(* Copyright (C) 2004-2005, 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 - -module Ast = CicNotationPt -module Env = CicNotationEnv - -let unopt_names names env = - let rec aux acc = function - | (name, (ty, v)) :: tl when List.mem name names -> - (match ty, v with - | Env.OptType ty, Env.OptValue (Some v) -> - aux ((name, (ty, v)) :: acc) tl - | _ -> assert false) - | hd :: tl -> aux (hd :: acc) tl - | [] -> acc - in - aux [] env - -let head_names names env = - let rec aux acc = function - | (name, (ty, v)) :: tl when List.mem name names -> - (match ty, v with - | Env.ListType ty, Env.ListValue (v :: _) -> - aux ((name, (ty, v)) :: acc) tl - | _ -> assert false) - | _ :: tl -> aux acc tl - (* base pattern may contain only meta names, thus we trash all others *) - | [] -> acc - in - aux [] env - -let tail_names names env = - let rec aux acc = function - | (name, (ty, v)) :: tl when List.mem name names -> - (match ty, v with - | Env.ListType ty, Env.ListValue (_ :: vtl) -> - aux ((name, (Env.ListType ty, Env.ListValue vtl)) :: acc) tl - | _ -> assert false) - | binding :: tl -> aux (binding :: acc) tl - | [] -> acc - in - aux [] env - -let instantiate_level2 env term = - let fresh_env = ref [] in - let lookup_fresh_name n = - try - List.assoc n !fresh_env - with Not_found -> - let new_name = CicNotationUtil.fresh_name () in - fresh_env := (n, new_name) :: !fresh_env; - new_name - in - let rec aux env term = -(* prerr_endline ("ENV " ^ CicNotationPp.pp_env env); *) - match term with - | Ast.AttributedTerm (_, term) -> aux env term - | Ast.Appl terms -> Ast.Appl (List.map (aux env) terms) - | Ast.Binder (binder, var, body) -> - Ast.Binder (binder, aux_capture_var env var, aux env body) - | Ast.Case (term, indty, outty_opt, patterns) -> - Ast.Case (aux env term, indty, aux_opt env outty_opt, - List.map (aux_branch env) patterns) - | Ast.LetIn (var, t1, t2) -> - Ast.LetIn (aux_capture_var env var, aux env t1, aux env t2) - | Ast.LetRec (kind, definitions, body) -> - Ast.LetRec (kind, List.map (aux_definition env) definitions, - aux env body) - | Ast.Uri (name, None) -> Ast.Uri (name, None) - | Ast.Uri (name, Some substs) -> - Ast.Uri (name, Some (aux_substs env substs)) - | Ast.Ident (name, Some substs) -> - Ast.Ident (name, Some (aux_substs env substs)) - | Ast.Meta (index, substs) -> Ast.Meta (index, aux_meta_substs env substs) - - | Ast.Implicit - | Ast.Ident _ - | Ast.Num _ - | Ast.Sort _ - | Ast.Symbol _ - | Ast.UserInput -> term - - | Ast.Magic magic -> aux_magic env magic - | Ast.Variable var -> aux_variable env var - - | _ -> assert false - and aux_opt env = function - | Some term -> Some (aux env term) - | None -> None - and aux_capture_var env (name, ty_opt) = (aux env name, aux_opt env ty_opt) - and aux_branch env (pattern, term) = - (aux_pattern env pattern, aux env term) - and aux_pattern env (head, hrefs, vars) = - (head, hrefs, List.map (aux_capture_var env) vars) - and aux_definition env (var, term, i) = - (aux_capture_var env var, aux env term, i) - and aux_substs env substs = - List.map (fun (name, term) -> (name, aux env term)) substs - and aux_meta_substs env meta_substs = List.map (aux_opt env) meta_substs - and aux_variable env = function - | Ast.NumVar name -> Ast.Num (Env.lookup_num env name, 0) - | Ast.IdentVar name -> Ast.Ident (Env.lookup_string env name, None) - | Ast.TermVar name -> Env.lookup_term env name - | Ast.FreshVar name -> Ast.Ident (lookup_fresh_name name, None) - | Ast.Ascription (term, name) -> assert false - and aux_magic env = function - | Ast.Default (some_pattern, none_pattern) -> - let some_pattern_names = CicNotationUtil.names_of_term some_pattern in - let none_pattern_names = CicNotationUtil.names_of_term none_pattern in - let opt_names = - List.filter - (fun name -> not (List.mem name none_pattern_names)) - some_pattern_names - in - (match opt_names with - | [] -> assert false (* some pattern must contain at least 1 name *) - | (name :: _) as names -> - (match Env.lookup_value env name with - | Env.OptValue (Some _) -> - (* assumption: if "name" above is bound to Some _, then all - * names returned by "meta_names_of" are bound to Some _ as well - *) - aux (unopt_names names env) some_pattern - | Env.OptValue None -> aux env none_pattern - | _ -> - prerr_endline (sprintf - "lookup of %s in env %s did not return an optional value" - name (CicNotationPp.pp_env env)); - assert false)) - | Ast.Fold (`Left, base_pattern, names, rec_pattern) -> - let acc_name = List.hd names in (* names can't be empty, cfr. parser *) - let meta_names = - List.filter ((<>) acc_name) - (CicNotationUtil.names_of_term rec_pattern) - in - (match meta_names with - | [] -> assert false (* as above *) - | (name :: _) as names -> - let rec instantiate_fold_left acc env' = - match Env.lookup_value env' name with - | Env.ListValue (_ :: _) -> - instantiate_fold_left - (let acc_binding = - acc_name, (Env.TermType, Env.TermValue acc) - in - aux (acc_binding :: head_names names env') rec_pattern) - (tail_names names env') - | Env.ListValue [] -> acc - | _ -> assert false - in - instantiate_fold_left (aux env base_pattern) env) - | Ast.Fold (`Right, base_pattern, names, rec_pattern) -> - let acc_name = List.hd names in (* names can't be empty, cfr. parser *) - let meta_names = - List.filter ((<>) acc_name) - (CicNotationUtil.names_of_term rec_pattern) - in - (match meta_names with - | [] -> assert false (* as above *) - | (name :: _) as names -> - let rec instantiate_fold_right env' = - match Env.lookup_value env' name with - | Env.ListValue (_ :: _) -> - let acc = instantiate_fold_right (tail_names names env') in - let acc_binding = - acc_name, (Env.TermType, Env.TermValue acc) - in - aux (acc_binding :: head_names names env') rec_pattern - | Env.ListValue [] -> aux env base_pattern - | _ -> assert false - in - instantiate_fold_right env) - | Ast.If (_, p_true, p_false) as t -> - aux env (CicNotationUtil.find_branch (Ast.Magic t)) - | Ast.Fail -> assert false - | _ -> assert false - in - aux env term - -let instantiate_appl_pattern env appl_pattern = - let lookup name = - try List.assoc name env - with Not_found -> - prerr_endline (sprintf "Name %s not found" name); - assert false - in - let rec aux = function - | Ast.UriPattern uri -> CicUtil.term_of_uri uri - | Ast.ImplicitPattern -> Cic.Implicit None - | Ast.VarPattern name -> lookup name - | Ast.ApplPattern terms -> Cic.Appl (List.map aux terms) - in - aux appl_pattern - diff --git a/helm/ocaml/cic_notation/cicNotationFwd.mli b/helm/ocaml/cic_notation/cicNotationFwd.mli deleted file mode 100644 index 4a5d89f98..000000000 --- a/helm/ocaml/cic_notation/cicNotationFwd.mli +++ /dev/null @@ -1,36 +0,0 @@ -(* Copyright (C) 2004-2005, 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/ - *) - - (** fills a term pattern instantiating variable magics *) -val instantiate_level2: - CicNotationEnv.t -> CicNotationPt.term -> - CicNotationPt.term - - (** @param env environment from argument_pattern to cic terms - * @param pat cic_appl_pattern *) -val instantiate_appl_pattern: - (string * Cic.term) list -> CicNotationPt.cic_appl_pattern -> - Cic.term - diff --git a/helm/ocaml/cic_notation/cicNotationLexer.ml b/helm/ocaml/cic_notation/cicNotationLexer.ml deleted file mode 100644 index 33fb8fd78..000000000 --- a/helm/ocaml/cic_notation/cicNotationLexer.ml +++ /dev/null @@ -1,351 +0,0 @@ -(* Copyright (C) 2005, 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 - -exception Error of int * int * string - -let regexp number = xml_digit+ - - (* ZACK: breaks unicode's binder followed by an ascii letter without blank *) -(* let regexp ident_letter = xml_letter *) - -let regexp ident_letter = [ 'a' - 'z' 'A' - 'Z' ] - - (* must be in sync with "is_ligature_char" below *) -let regexp ligature_char = [ "'`~!?@*()[]<>-+=|:;.,/\"" ] -let regexp ligature = ligature_char ligature_char+ - -let is_ligature_char = - (* must be in sync with "regexp ligature_char" above *) - let chars = "'`~!?@*()[]<>-+=|:;.,/\"" in - (fun char -> - (try - ignore (String.index chars char); - true - with Not_found -> false)) - -let regexp ident_decoration = '\'' | '?' | '`' -let regexp ident_cont = ident_letter | xml_digit | '_' -let regexp ident = ident_letter ident_cont* ident_decoration* - -let regexp tex_token = '\\' ident - -let regexp delim_begin = "\\[" -let regexp delim_end = "\\]" - -let regexp qkeyword = "'" ident "'" - -let regexp implicit = '?' -let regexp placeholder = '%' -let regexp meta = implicit number - -let regexp csymbol = '\'' ident - -let regexp begin_group = "@{" | "${" -let regexp end_group = '}' -let regexp wildcard = "$_" -let regexp ast_ident = "@" ident -let regexp ast_csymbol = "@" csymbol -let regexp meta_ident = "$" ident -let regexp meta_anonymous = "$_" -let regexp qstring = '"' [^ '"']* '"' - -let regexp begincomment = "(**" xml_blank -let regexp beginnote = "(*" -let regexp endcomment = "*)" -(* let regexp comment_char = [^'*'] | '*'[^')'] -let regexp note = "|+" ([^'*'] | "**") comment_char* "+|" *) - -let level1_layouts = - [ "sub"; "sup"; - "below"; "above"; - "over"; "atop"; "frac"; - "sqrt"; "root" - ] - -let level1_keywords = - [ "hbox"; "hvbox"; "hovbox"; "vbox"; - "break"; - "list0"; "list1"; "sep"; - "opt"; - "term"; "ident"; "number" - ] @ level1_layouts - -let level2_meta_keywords = - [ "if"; "then"; "else"; - "fold"; "left"; "right"; "rec"; - "fail"; - "default"; - "anonymous"; "ident"; "number"; "term"; "fresh" - ] - - (* (string, unit) Hashtbl.t, to exploit multiple bindings *) -let level2_ast_keywords = Hashtbl.create 23 -let _ = - List.iter (fun k -> Hashtbl.add level2_ast_keywords k ()) - [ "CProp"; "Prop"; "Type"; "Set"; "let"; "rec"; "corec"; "match"; - "with"; "in"; "and"; "to"; "as"; "on"; "return" ] - -let add_level2_ast_keyword k = Hashtbl.add level2_ast_keywords k () -let remove_level2_ast_keyword k = Hashtbl.remove level2_ast_keywords k - - (* (string, int) Hashtbl.t, with multiple bindings. - * int is the unicode codepoint *) -let ligatures = Hashtbl.create 23 -let _ = - List.iter - (fun (ligature, symbol) -> Hashtbl.add ligatures ligature symbol) - [ ("->", <:unicode>); ("=>", <:unicode>); - ("<=", <:unicode>); (">=", <:unicode>); - ("<>", <:unicode>); (":=", <:unicode>); - ] - -let regexp uri_step = [ 'a' - 'z' 'A' - 'Z' '0' - '9' '_' '-' ]+ - -let regexp uri = - ("cic:/" | "theory:/") (* schema *) -(* ident ('/' ident)* |+ path +| *) - uri_step ('/' uri_step)* (* path *) - ('.' ident)+ (* ext *) - ("#xpointer(" number ('/' number)+ ")")? (* xpointer *) - -let error lexbuf msg = - let begin_cnum, end_cnum = Ulexing.loc lexbuf in - raise (Error (begin_cnum, end_cnum, msg)) -let error_at_end lexbuf msg = - let begin_cnum, end_cnum = Ulexing.loc lexbuf in - raise (Error (begin_cnum, end_cnum, msg)) - -let return_with_loc token begin_cnum end_cnum = - (* TODO handle line/column numbers *) - let flocation_begin = - { Lexing.pos_fname = ""; - Lexing.pos_lnum = -1; Lexing.pos_bol = -1; - Lexing.pos_cnum = begin_cnum } - in - let flocation_end = { flocation_begin with Lexing.pos_cnum = end_cnum } in - (token, (flocation_begin, flocation_end)) - -let return lexbuf token = - let begin_cnum, end_cnum = Ulexing.loc lexbuf in - return_with_loc token begin_cnum end_cnum - -let return_lexeme lexbuf name = return lexbuf (name, Ulexing.utf8_lexeme lexbuf) - -let return_symbol lexbuf s = return lexbuf ("SYMBOL", s) -let return_eoi lexbuf = return lexbuf ("EOI", "") - -let remove_quotes s = String.sub s 1 (String.length s - 2) - -let mk_lexer token = - let tok_func stream = -(* let lexbuf = Ulexing.from_utf8_stream stream in *) -(** XXX Obj.magic rationale. - * The problem. - * camlp4 constraints the tok_func field of Token.glexer to have type: - * Stream.t char -> (Stream.t 'te * flocation_function) - * In order to use ulex we have (in theory) to instantiate a new lexbuf each - * time a char Stream.t is passed, destroying the previous lexbuf which may - * have consumed a character from the old stream which is lost forever :-( - * The "solution". - * Instead of passing to camlp4 a char Stream.t we pass a lexbuf, casting it to - * char Stream.t with Obj.magic where needed. - *) - let lexbuf = Obj.magic stream in - Token.make_stream_and_flocation - (fun () -> - try - token lexbuf - with - | Ulexing.Error -> error_at_end lexbuf "Unexpected character" - | Ulexing.InvalidCodepoint p -> - error_at_end lexbuf (sprintf "Invalid code point: %d" p)) - in - { - Token.tok_func = tok_func; - Token.tok_using = (fun _ -> ()); - Token.tok_removing = (fun _ -> ()); - Token.tok_match = Token.default_match; - Token.tok_text = Token.lexer_text; - Token.tok_comm = None; - } - -let expand_macro lexbuf = - let macro = - Ulexing.utf8_sub_lexeme lexbuf 1 (Ulexing.lexeme_length lexbuf - 1) - in - try - ("SYMBOL", Utf8Macro.expand macro) - with Utf8Macro.Macro_not_found _ -> "SYMBOL", Ulexing.utf8_lexeme lexbuf - -let remove_quotes s = String.sub s 1 (String.length s - 2) -let remove_left_quote s = String.sub s 1 (String.length s - 1) - -let rec level2_pattern_token_group counter buffer = - lexer - | end_group -> - if (counter > 0) then - Buffer.add_string buffer (Ulexing.utf8_lexeme lexbuf) ; - snd (Ulexing.loc lexbuf) - | begin_group -> - Buffer.add_string buffer (Ulexing.utf8_lexeme lexbuf) ; - ignore (level2_pattern_token_group (counter + 1) buffer lexbuf) ; - level2_pattern_token_group counter buffer lexbuf - | _ -> - Buffer.add_string buffer (Ulexing.utf8_lexeme lexbuf) ; - level2_pattern_token_group counter buffer lexbuf - -let read_unparsed_group token_name lexbuf = - let buffer = Buffer.create 16 in - let begin_cnum, _ = Ulexing.loc lexbuf in - let end_cnum = level2_pattern_token_group 0 buffer lexbuf in - return_with_loc (token_name, Buffer.contents buffer) begin_cnum end_cnum - -let rec level2_meta_token = - lexer - | xml_blank+ -> level2_meta_token lexbuf - | ident -> - let s = Ulexing.utf8_lexeme lexbuf in - begin - if List.mem s level2_meta_keywords then - return lexbuf ("", s) - else - return lexbuf ("IDENT", s) - end - | "@{" -> read_unparsed_group "UNPARSED_AST" lexbuf - | ast_ident -> - return lexbuf ("UNPARSED_AST", - remove_left_quote (Ulexing.utf8_lexeme lexbuf)) - | ast_csymbol -> - return lexbuf ("UNPARSED_AST", - remove_left_quote (Ulexing.utf8_lexeme lexbuf)) - | eof -> return_eoi lexbuf - -let rec comment_token acc depth = - lexer - | beginnote -> - let acc = acc ^ Ulexing.utf8_lexeme lexbuf in - comment_token acc (depth + 1) lexbuf - | endcomment -> - let acc = acc ^ Ulexing.utf8_lexeme lexbuf in - if depth = 0 - then acc - else comment_token acc (depth - 1) lexbuf - | _ -> - let acc = acc ^ Ulexing.utf8_lexeme lexbuf in - comment_token acc depth lexbuf - - (** @param k continuation to be invoked when no ligature has been found *) -let rec ligatures_token k = - lexer - | ligature -> - let lexeme = Ulexing.utf8_lexeme lexbuf in - (match List.rev (Hashtbl.find_all ligatures lexeme) with - | [] -> (* ligature not found, rollback and try default lexer *) - Ulexing.rollback lexbuf; - k lexbuf - | default_lig :: _ -> (* ligatures found, use the default one *) - return_symbol lexbuf default_lig) - | eof -> return_eoi lexbuf - | _ -> (* not a ligature, rollback and try default lexer *) - Ulexing.rollback lexbuf; - k lexbuf - -and level2_ast_token = - lexer - | xml_blank+ -> ligatures_token level2_ast_token lexbuf - | meta -> return lexbuf ("META", Ulexing.utf8_lexeme lexbuf) - | implicit -> return lexbuf ("IMPLICIT", "") - | placeholder -> return lexbuf ("PLACEHOLDER", "") - | ident -> - let lexeme = Ulexing.utf8_lexeme lexbuf in - if Hashtbl.mem level2_ast_keywords lexeme then - return lexbuf ("", lexeme) - else - return lexbuf ("IDENT", lexeme) - | number -> return lexbuf ("NUMBER", Ulexing.utf8_lexeme lexbuf) - | tex_token -> return lexbuf (expand_macro lexbuf) - | uri -> return lexbuf ("URI", Ulexing.utf8_lexeme lexbuf) - | qstring -> - return lexbuf ("QSTRING", remove_quotes (Ulexing.utf8_lexeme lexbuf)) - | csymbol -> - return lexbuf ("CSYMBOL", remove_left_quote (Ulexing.utf8_lexeme lexbuf)) - | "${" -> read_unparsed_group "UNPARSED_META" lexbuf - | "@{" -> read_unparsed_group "UNPARSED_AST" lexbuf - | '(' -> return lexbuf ("LPAREN", "") - | ')' -> return lexbuf ("RPAREN", "") - | meta_ident -> - return lexbuf ("UNPARSED_META", - remove_left_quote (Ulexing.utf8_lexeme lexbuf)) - | meta_anonymous -> return lexbuf ("UNPARSED_META", "anonymous") - | beginnote -> - let comment = comment_token (Ulexing.utf8_lexeme lexbuf) 0 lexbuf in -(* let comment = - Ulexing.utf8_sub_lexeme lexbuf 2 (Ulexing.lexeme_length lexbuf - 4) - in - return lexbuf ("NOTE", comment) *) - ligatures_token level2_ast_token lexbuf - | begincomment -> return lexbuf ("BEGINCOMMENT","") - | endcomment -> return lexbuf ("ENDCOMMENT","") - | eof -> return_eoi lexbuf - | _ -> return_symbol lexbuf (Ulexing.utf8_lexeme lexbuf) - -and level1_pattern_token = - lexer - | xml_blank+ -> ligatures_token level1_pattern_token lexbuf - | number -> return lexbuf ("NUMBER", Ulexing.utf8_lexeme lexbuf) - | ident -> - let s = Ulexing.utf8_lexeme lexbuf in - begin - if List.mem s level1_keywords then - return lexbuf ("", s) - else - return lexbuf ("IDENT", s) - end - | tex_token -> return lexbuf (expand_macro lexbuf) - | qkeyword -> - return lexbuf ("QKEYWORD", remove_quotes (Ulexing.utf8_lexeme lexbuf)) - | '(' -> return lexbuf ("LPAREN", "") - | ')' -> return lexbuf ("RPAREN", "") - | eof -> return_eoi lexbuf - | _ -> return_symbol lexbuf (Ulexing.utf8_lexeme lexbuf) - -let level1_pattern_token = ligatures_token level1_pattern_token -let level2_ast_token = ligatures_token level2_ast_token - -(* API implementation *) - -let level1_pattern_lexer = mk_lexer level1_pattern_token -let level2_ast_lexer = mk_lexer level2_ast_token -let level2_meta_lexer = mk_lexer level2_meta_token - -let lookup_ligatures lexeme = - try - if lexeme.[0] = '\\' - then [ Utf8Macro.expand (String.sub lexeme 1 (String.length lexeme - 1)) ] - else List.rev (Hashtbl.find_all ligatures lexeme) - with Invalid_argument _ | Utf8Macro.Macro_not_found _ as exn -> [] - diff --git a/helm/ocaml/cic_notation/cicNotationLexer.mli b/helm/ocaml/cic_notation/cicNotationLexer.mli deleted file mode 100644 index cd5f0876d..000000000 --- a/helm/ocaml/cic_notation/cicNotationLexer.mli +++ /dev/null @@ -1,48 +0,0 @@ -(* Copyright (C) 2005, 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/ - *) - - (** begin of error offset (counted in unicode codepoint) - * end of error offset (counted as above) - * error message *) -exception Error of int * int * string - - (** XXX ZACK DEFCON 4 BEGIN: never use the tok_func field of the glexers below - * passing values of type char Stream.t, they should be in fact Ulexing.lexbuf - * casted with Obj.magic :-/ Read the comment in the .ml for the rationale *) - -val level1_pattern_lexer: (string * string) Token.glexer -val level2_ast_lexer: (string * string) Token.glexer -val level2_meta_lexer: (string * string) Token.glexer - - (** XXX ZACK DEFCON 4 END *) - -val add_level2_ast_keyword: string -> unit (** non idempotent *) -val remove_level2_ast_keyword: string -> unit (** non idempotent *) - -(** {2 Ligatures} *) - -val is_ligature_char: char -> bool -val lookup_ligatures: string -> string list - diff --git a/helm/ocaml/cic_notation/cicNotationMatcher.ml b/helm/ocaml/cic_notation/cicNotationMatcher.ml deleted file mode 100644 index 7b85b96b5..000000000 --- a/helm/ocaml/cic_notation/cicNotationMatcher.ml +++ /dev/null @@ -1,448 +0,0 @@ -(* Copyright (C) 2004-2005, 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 - -module Ast = CicNotationPt -module Env = CicNotationEnv -module Pp = CicNotationPp -module Util = CicNotationUtil - -type pattern_id = int - -exception No_match - -module OrderedInt = -struct - type t = int - let compare (x1:t) (x2:t) = Pervasives.compare x2 x1 (* reverse order *) -end - -module IntSet = Set.Make (OrderedInt) - -let int_set_of_int_list l = - List.fold_left (fun acc i -> IntSet.add i acc) IntSet.empty l - -type pattern_kind = Variable | Constructor -type tag_t = int - -module type PATTERN = -sig - type pattern_t - type term_t - val classify : pattern_t -> pattern_kind - val tag_of_pattern : pattern_t -> tag_t * pattern_t list - val tag_of_term : term_t -> tag_t * term_t list - val string_of_term: term_t -> string - val string_of_pattern: pattern_t -> string -end - -module Matcher (P: PATTERN) = -struct - type row_t = P.pattern_t list * P.pattern_t list * pattern_id - type t = row_t list - - let compatible p1 p2 = P.classify p1 = P.classify p2 - - let matched = List.map (fun (matched, _, pid) -> matched, pid) - - let partition t pidl = - let partitions = Hashtbl.create 11 in - let add pid row = Hashtbl.add partitions pid row in - (try - List.iter2 add pidl t - with Invalid_argument _ -> assert false); - let pidset = int_set_of_int_list pidl in - IntSet.fold - (fun pid acc -> - match Hashtbl.find_all partitions pid with - | [] -> acc - | patterns -> (pid, List.rev patterns) :: acc) - pidset [] - - let are_empty t = - match t with - | (_, [], _) :: _ -> true - (* if first row has an empty list of patterns, then others have as well *) - | _ -> false - - (* return 2 lists of rows, first one containing homogeneous rows according - * to "compatible" below *) - let horizontal_split t = - let ap, first_row, t', first_row_class = - match t with - | [] -> assert false - | (_, [], _) :: _ -> - assert false (* are_empty should have been invoked in advance *) - | ((_, hd :: _ , _) as row) :: tl -> hd, row, tl, P.classify hd - in - let rec aux prev_t = function - | [] -> List.rev prev_t, [] - | (_, [], _) :: _ -> assert false - | ((_, hd :: _, _) as row) :: tl when compatible ap hd -> - aux (row :: prev_t) tl - | t -> List.rev prev_t, t - in - let rows1, rows2 = aux [first_row] t' in - first_row_class, rows1, rows2 - - (* return 2 lists, first one representing first column, second one - * representing a new pattern matrix where matched patterns have been moved - * to decl *) - let vertical_split t = - List.map - (function - | decls, hd :: tl, pid -> hd :: decls, tl, pid - | _ -> assert false) - t - - let variable_closure ksucc = - (fun matched_terms constructors terms -> -(* prerr_endline "variable_closure"; *) - match terms with - | hd :: tl -> ksucc (hd :: matched_terms) constructors tl - | _ -> assert false) - - let success_closure ksucc = - (fun matched_terms constructors terms -> -(* prerr_endline "success_closure"; *) - ksucc matched_terms constructors) - - let constructor_closure ksuccs = - (fun matched_terms constructors terms -> -(* prerr_endline "constructor_closure"; *) - match terms with - | t :: tl -> - (try - let tag, subterms = P.tag_of_term t in - let constructors' = - if subterms = [] then t :: constructors else constructors - in - let k' = List.assoc tag ksuccs in - k' matched_terms constructors' (subterms @ tl) - with Not_found -> None) - | [] -> assert false) - - let backtrack_closure ksucc kfail = - (fun matched_terms constructors terms -> -(* prerr_endline "backtrack_closure"; *) - match ksucc matched_terms constructors terms with - | Some x -> Some x - | None -> kfail matched_terms constructors terms) - - let compiler rows match_cb fail_k = - let rec aux t = - if t = [] then - (fun _ _ _ -> fail_k ()) - else if are_empty t then - success_closure (match_cb (matched t)) - else - match horizontal_split t with - | _, [], _ -> assert false - | Variable, t', [] -> variable_closure (aux (vertical_split t')) - | Constructor, t', [] -> - let tagl = - List.map - (function - | _, p :: _, _ -> fst (P.tag_of_pattern p) - | _ -> assert false) - t' - in - let clusters = partition t' tagl in - let ksuccs = - List.map - (fun (tag, cluster) -> - let cluster' = - List.map (* add args as patterns heads *) - (function - | matched_p, p :: tl, pid -> - let _, subpatterns = P.tag_of_pattern p in - matched_p, subpatterns @ tl, pid - | _ -> assert false) - cluster - in - tag, aux cluster') - clusters - in - constructor_closure ksuccs - | _, t', t'' -> backtrack_closure (aux t') (aux t'') - in - let t = List.map (fun (p, pid) -> [], [p], pid) rows in - let matcher = aux t in - (fun term -> matcher [] [] [term]) -end - -module Matcher21 = -struct - module Pattern21 = - struct - type pattern_t = Ast.term - type term_t = Ast.term - let rec classify = function - | Ast.AttributedTerm (_, t) -> classify t - | Ast.Variable _ -> Variable - | Ast.Magic _ - | Ast.Layout _ - | Ast.Literal _ as t -> assert false - | _ -> Constructor - let tag_of_pattern = CicNotationTag.get_tag - let tag_of_term t = CicNotationTag.get_tag t - let string_of_term = CicNotationPp.pp_term - let string_of_pattern = CicNotationPp.pp_term - end - - module M = Matcher (Pattern21) - - let extract_magic term = - let magic_map = ref [] in - let add_magic m = - let name = Util.fresh_name () in - magic_map := (name, m) :: !magic_map; - Ast.Variable (Ast.TermVar name) - in - let rec aux = function - | Ast.AttributedTerm (_, t) -> assert false - | Ast.Literal _ - | Ast.Layout _ -> assert false - | Ast.Variable v -> Ast.Variable v - | Ast.Magic m -> add_magic m - | t -> Util.visit_ast aux t - in - let term' = aux term in - term', !magic_map - - let env_of_matched pl tl = - try - List.map2 - (fun p t -> - match p, t with - Ast.Variable (Ast.TermVar name), _ -> - name, (Env.TermType, Env.TermValue t) - | Ast.Variable (Ast.NumVar name), (Ast.Num (s, _)) -> - name, (Env.NumType, Env.NumValue s) - | Ast.Variable (Ast.IdentVar name), (Ast.Ident (s, None)) -> - name, (Env.StringType, Env.StringValue s) - | _ -> assert false) - pl tl - with Invalid_argument _ -> assert false - - let rec compiler rows = - let rows', magic_maps = - List.split - (List.map - (fun (p, pid) -> - let p', map = extract_magic p in - (p', pid), (pid, map)) - rows) - in - let magichecker map = - List.fold_left - (fun f (name, m) -> - let m_checker = compile_magic m in - (fun env ctors -> - match m_checker (Env.lookup_term env name) env ctors with - | None -> None - | Some (env, ctors) -> f env ctors)) - (fun env ctors -> Some (env, ctors)) - map - in - let magichooser candidates = - List.fold_left - (fun f (pid, pl, checker) -> - (fun matched_terms constructors -> - let env = env_of_matched pl matched_terms in - match checker env constructors with - | None -> f matched_terms constructors - | Some (env, ctors') -> - let magic_map = - try List.assoc pid magic_maps with Not_found -> assert false - in - let env' = Env.remove_names env (List.map fst magic_map) in - Some (env', ctors', pid))) - (fun _ _ -> None) - (List.rev candidates) - in - let match_cb rows = - let candidates = - List.map - (fun (pl, pid) -> - let magic_map = - try List.assoc pid magic_maps with Not_found -> assert false - in - pid, pl, magichecker magic_map) - rows - in - magichooser candidates - in - M.compiler rows' match_cb (fun _ -> None) - - and compile_magic = function - | Ast.Fold (kind, p_base, names, p_rec) -> - let p_rec_decls = Env.declarations_of_term p_rec in - (* LUCA: p_rec_decls should not contain "names" *) - let acc_name = try List.hd names with Failure _ -> assert false in - let compiled_base = compiler [p_base, 0] - and compiled_rec = compiler [p_rec, 0] in - (fun term env ctors -> - let aux_base term = - match compiled_base term with - | None -> None - | Some (env', ctors', _) -> Some (env', ctors', []) - in - let rec aux term = - match compiled_rec term with - | None -> aux_base term - | Some (env', ctors', _) -> - begin - let acc = Env.lookup_term env' acc_name in - let env'' = Env.remove_name env' acc_name in - match aux acc with - | None -> aux_base term - | Some (base_env, ctors', rec_envl) -> - let ctors'' = ctors' @ ctors in - Some (base_env, ctors'',env'' :: rec_envl) - end - in - match aux term with - | None -> None - | Some (base_env, ctors, rec_envl) -> - let env' = - base_env @ Env.coalesce_env p_rec_decls rec_envl @ env - (* @ env LUCA!!! *) - in - Some (env', ctors)) - - | Ast.Default (p_some, p_none) -> (* p_none can't bound names *) - let p_some_decls = Env.declarations_of_term p_some in - let p_none_decls = Env.declarations_of_term p_none in - let p_opt_decls = - List.filter - (fun decl -> not (List.mem decl p_none_decls)) - p_some_decls - in - let none_env = List.map Env.opt_binding_of_name p_opt_decls in - let compiled = compiler [p_some, 0] in - (fun term env ctors -> - match compiled term with - | None -> Some (none_env, ctors) (* LUCA: @ env ??? *) - | Some (env', ctors', 0) -> - let env' = - List.map - (fun (name, (ty, v)) as binding -> - if List.exists (fun (name', _) -> name = name') p_opt_decls - then Env.opt_binding_some binding - else binding) - env' - in - Some (env' @ env, ctors' @ ctors) - | _ -> assert false) - - | Ast.If (p_test, p_true, p_false) -> - let compiled_test = compiler [p_test, 0] - and compiled_true = compiler [p_true, 0] - and compiled_false = compiler [p_false, 0] in - (fun term env ctors -> - let branch = - match compiled_test term with - | None -> compiled_false - | Some _ -> compiled_true - in - match branch term with - | None -> None - | Some (env', ctors', _) -> Some (env' @ env, ctors' @ ctors)) - - | Ast.Fail -> (fun _ _ _ -> None) - - | _ -> assert false -end - -module Matcher32 = -struct - module Pattern32 = - struct - type cic_mask_t = - Blob - | Uri of UriManager.uri - | Appl of cic_mask_t list - - let uri_of_term t = CicUtil.uri_of_term (Deannotate.deannotate_term t) - - let mask_of_cic = function - | Cic.AAppl (_, tl) -> Appl (List.map (fun _ -> Blob) tl), tl - | Cic.AConst (_, _, []) - | Cic.AVar (_, _, []) - | Cic.AMutInd (_, _, _, []) - | Cic.AMutConstruct (_, _, _, _, []) as t -> Uri (uri_of_term t), [] - | _ -> Blob, [] - - let tag_of_term t = - let mask, tl = mask_of_cic t in - Hashtbl.hash mask, tl - - let mask_of_appl_pattern = function - | Ast.UriPattern uri -> Uri uri, [] - | Ast.ImplicitPattern - | Ast.VarPattern _ -> Blob, [] - | Ast.ApplPattern pl -> Appl (List.map (fun _ -> Blob) pl), pl - - let tag_of_pattern p = - let mask, pl = mask_of_appl_pattern p in - Hashtbl.hash mask, pl - - type pattern_t = Ast.cic_appl_pattern - type term_t = Cic.annterm - - let string_of_pattern = GrafiteAstPp.pp_cic_appl_pattern - let string_of_term t = CicPp.ppterm (Deannotate.deannotate_term t) - - let classify = function - | Ast.ImplicitPattern - | Ast.VarPattern _ -> Variable - | Ast.UriPattern _ - | Ast.ApplPattern _ -> Constructor - end - - module M = Matcher (Pattern32) - - let compiler rows = - let match_cb rows = - let pl, pid = try List.hd rows with Not_found -> assert false in - (fun matched_terms constructors -> - let env = - try - List.map2 - (fun p t -> - match p with - | Ast.ImplicitPattern -> Util.fresh_name (), t - | Ast.VarPattern name -> name, t - | _ -> assert false) - pl matched_terms - with Invalid_argument _ -> assert false - in - Some (env, constructors, pid)) - in - M.compiler rows match_cb (fun () -> None) -end - diff --git a/helm/ocaml/cic_notation/cicNotationMatcher.mli b/helm/ocaml/cic_notation/cicNotationMatcher.mli deleted file mode 100644 index f8daca798..000000000 --- a/helm/ocaml/cic_notation/cicNotationMatcher.mli +++ /dev/null @@ -1,79 +0,0 @@ -(* Copyright (C) 2004-2005, 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/ - *) - -type pattern_kind = Variable | Constructor -type tag_t = int - -module type PATTERN = -sig - type pattern_t - type term_t - - val classify : pattern_t -> pattern_kind - val tag_of_pattern : pattern_t -> tag_t * pattern_t list - val tag_of_term : term_t -> tag_t * term_t list - - (** {3 Debugging} *) - val string_of_term: term_t -> string - val string_of_pattern: pattern_t -> string -end - -module Matcher (P: PATTERN) : -sig - (** @param patterns pattern matrix (pairs ) - * @param success_cb callback invoked in case of matching. - * Its argument are the list of pattern who matches the input term, the list - * of terms bound in them, the list of terms which matched constructors. - * Its return value is Some _ if the matching is valid, None otherwise; the - * latter kind of return value will trigger backtracking in the pattern - * matching algorithm - * @param failure_cb callback invoked in case of matching failure - * @param term term on which pattern match on *) - val compiler: - (P.pattern_t * int) list -> - ((P.pattern_t list * int) list -> P.term_t list -> P.term_t list -> - 'a option) -> (* terms *) (* constructors *) - (unit -> 'a option) -> - (P.term_t -> 'a option) -end - -module Matcher21: -sig - (** @param l2_patterns level 2 (AST) patterns *) - val compiler : - (CicNotationPt.term * int) list -> - (CicNotationPt.term -> - (CicNotationEnv.t * CicNotationPt.term list * int) option) -end - -module Matcher32: -sig - (** @param l3_patterns level 3 (CIC) patterns (AKA cic_appl_pattern) *) - val compiler : - (CicNotationPt.cic_appl_pattern * int) list -> - (Cic.annterm -> - ((string * Cic.annterm) list * Cic.annterm list * int) option) -end - diff --git a/helm/ocaml/cic_notation/cicNotationParser.expanded.ml b/helm/ocaml/cic_notation/cicNotationParser.expanded.ml deleted file mode 100644 index 9d0b57940..000000000 --- a/helm/ocaml/cic_notation/cicNotationParser.expanded.ml +++ /dev/null @@ -1,1162 +0,0 @@ -(* *)(* Copyright (C) 2005, 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/ - *) - -oopen Printf -mmodule Ast = CicNotationPtmmodule Env = CicNotationEnv -eexception Parse_error of Token.flocation * stringeexception Level_not_found of int -llet level1_pattern_grammar = - Grammar.gcreate CicNotationLexer.level1_pattern_lexerllet level2_ast_grammar = Grammar.gcreate CicNotationLexer.level2_ast_lexerllet level2_meta_grammar = Grammar.gcreate CicNotationLexer.level2_meta_lexer -llet min_precedence = 0llet max_precedence = 100 -llet level1_pattern = - Grammar.Entry.create level1_pattern_grammar "level1_pattern"llet level2_ast = Grammar.Entry.create level2_ast_grammar "level2_ast"llet term = Grammar.Entry.create level2_ast_grammar "term"llet let_defs = Grammar.Entry.create level2_ast_grammar "let_defs"llet level2_meta = Grammar.Entry.create level2_meta_grammar "level2_meta" -llet return_term loc term = () -llet int_of_string s = - try Pervasives.int_of_string s with - Failure _ -> - failwith (sprintf "Lexer failure: string_of_int \"%s\" failed" s) -(** {2 Grammar extension} *) - -llet gram_symbol s = Gramext.Stoken ("SYMBOL", s)llet gram_ident s = Gramext.Stoken ("IDENT", s)llet gram_number s = Gramext.Stoken ("NUMBER", s)llet gram_keyword s = Gramext.Stoken ("", s)llet gram_term = Gramext.Sself -llet gram_of_literal = - function - `Symbol s -> gram_symbol s - | `Keyword s -> gram_keyword s - | `Number s -> gram_number s -ttype binding = - NoBinding - | Binding of string * Env.value_type - | Env of (string * Env.value_type) list -llet make_action action bindings = - let rec aux (vl : CicNotationEnv.t) = - function - [] -> Gramext.action (fun (loc : Ast.location) -> action vl loc) - | NoBinding :: tl -> Gramext.action (fun _ -> aux vl tl) - | Binding (name, Env.TermType) :: tl -> - Gramext.action - (fun (v : Ast.term) -> - aux ((name, (Env.TermType, Env.TermValue v)) :: vl) tl) - | Binding (name, Env.StringType) :: tl -> - Gramext.action - (fun (v : string) -> - aux ((name, (Env.StringType, Env.StringValue v)) :: vl) tl) - | Binding (name, Env.NumType) :: tl -> - Gramext.action - (fun (v : string) -> - aux ((name, (Env.NumType, Env.NumValue v)) :: vl) tl) - | Binding (name, Env.OptType t) :: tl -> - Gramext.action - (fun (v : 'a option) -> - aux ((name, (Env.OptType t, Env.OptValue v)) :: vl) tl) - | Binding (name, Env.ListType t) :: tl -> - Gramext.action - (fun (v : 'a list) -> - aux ((name, (Env.ListType t, Env.ListValue v)) :: vl) tl) - | Env _ :: tl -> - Gramext.action (fun (v : CicNotationEnv.t) -> aux (v @ vl) tl) - in - aux [] (List.rev bindings) -llet flatten_opt = - let rec aux acc = - function - [] -> List.rev acc - | NoBinding :: tl -> aux acc tl - | Env names :: tl -> aux (List.rev names @ acc) tl - | Binding (name, ty) :: tl -> aux ((name, ty) :: acc) tl - in - aux [] - (* given a level 1 pattern computes the new RHS of "term" grammar entry *) -llet extract_term_production pattern = - let rec aux = - function - Ast.AttributedTerm (_, t) -> aux t - | Ast.Literal l -> aux_literal l - | Ast.Layout l -> aux_layout l - | Ast.Magic m -> aux_magic m - | Ast.Variable v -> aux_variable v - | t -> prerr_endline (CicNotationPp.pp_term t); assert false - and aux_literal = - function - `Symbol s -> [NoBinding, gram_symbol s] - | `Keyword s -> [NoBinding, gram_keyword s] - | `Number s -> [NoBinding, gram_number s] - and aux_layout = - function - Ast.Sub (p1, p2) -> aux p1 @ [NoBinding, gram_symbol "\\sub"] @ aux p2 - | Ast.Sup (p1, p2) -> aux p1 @ [NoBinding, gram_symbol "\\sup"] @ aux p2 - | Ast.Below (p1, p2) -> - aux p1 @ [NoBinding, gram_symbol "\\below"] @ aux p2 - | Ast.Above (p1, p2) -> - aux p1 @ [NoBinding, gram_symbol "\\above"] @ aux p2 - | Ast.Frac (p1, p2) -> aux p1 @ [NoBinding, gram_symbol "\\frac"] @ aux p2 - | Ast.Atop (p1, p2) -> aux p1 @ [NoBinding, gram_symbol "\\atop"] @ aux p2 - | Ast.Over (p1, p2) -> aux p1 @ [NoBinding, gram_symbol "\\over"] @ aux p2 - | Ast.Root (p1, p2) -> - [NoBinding, gram_symbol "\\root"] @ aux p2 @ - [NoBinding, gram_symbol "\\of"] @ aux p1 - | Ast.Sqrt p -> [NoBinding, gram_symbol "\\sqrt"] @ aux p - | Ast.Break -> [] - | Ast.Box (_, pl) -> List.flatten (List.map aux pl) - | Ast.Group pl -> List.flatten (List.map aux pl) - and aux_magic magic = - match magic with - Ast.Opt p -> - let (p_bindings, p_atoms, p_names, p_action) = inner_pattern p in - let action (env_opt : CicNotationEnv.t option) (loc : Ast.location) = - match env_opt with - Some env -> List.map Env.opt_binding_some env - | None -> List.map Env.opt_binding_of_name p_names - in - [Env (List.map Env.opt_declaration p_names), - Gramext.srules - [[Gramext.Sopt (Gramext.srules [p_atoms, p_action])], - Gramext.action action]] - | Ast.List0 (p, _) | Ast.List1 (p, _) -> - let (p_bindings, p_atoms, p_names, p_action) = inner_pattern p in - let action (env_list : CicNotationEnv.t list) (loc : Ast.location) = - CicNotationEnv.coalesce_env p_names env_list - in - let gram_of_list s = - match magic with - Ast.List0 (_, None) -> Gramext.Slist0 s - | Ast.List1 (_, None) -> Gramext.Slist1 s - | Ast.List0 (_, Some l) -> Gramext.Slist0sep (s, gram_of_literal l) - | Ast.List1 (_, Some l) -> Gramext.Slist1sep (s, gram_of_literal l) - | _ -> assert false - in - [Env (List.map Env.list_declaration p_names), - Gramext.srules - [[gram_of_list (Gramext.srules [p_atoms, p_action])], - Gramext.action action]] - | _ -> assert false - and aux_variable = - function - Ast.NumVar s -> [Binding (s, Env.NumType), gram_number ""] - | Ast.TermVar s -> [Binding (s, Env.TermType), gram_term] - | Ast.IdentVar s -> [Binding (s, Env.StringType), gram_ident ""] - | Ast.Ascription (p, s) -> assert false - | Ast.FreshVar _ -> assert false - and inner_pattern p = - let (p_bindings, p_atoms) = List.split (aux p) in - let p_names = flatten_opt p_bindings in - let action = - make_action (fun (env : CicNotationEnv.t) (loc : Ast.location) -> env) - p_bindings - in - p_bindings, p_atoms, p_names, action - in - aux pattern - -let level_of precedence associativity = - if precedence < min_precedence || precedence > max_precedence then - raise (Level_not_found precedence); - let assoc_string = - match associativity with - Gramext.NonA -> "N" - | Gramext.LeftA -> "L" - | Gramext.RightA -> "R" - in - string_of_int precedence ^ assoc_string - -type rule_id = Token.t Gramext.g_symbol list - - (* mapping: rule_id -> owned keywords. (rule_id, string list) Hashtbl.t *) -let owned_keywords = Hashtbl.create 23 - -let extend level1_pattern ~precedence ~associativity action = - let (p_bindings, p_atoms) = - List.split (extract_term_production level1_pattern) - in - let level = level_of precedence associativity in - let p_names = flatten_opt p_bindings in - let _ = - Grammar.extend - [Grammar.Entry.obj (term : 'a Grammar.Entry.e), - Some (Gramext.Level level), - [None, Some associativity, - [p_atoms, - make_action - (fun (env : CicNotationEnv.t) (loc : Ast.location) -> - action env loc) - p_bindings]]] - in - let keywords = CicNotationUtil.keywords_of_term level1_pattern in - let rule_id = p_atoms in - List.iter CicNotationLexer.add_level2_ast_keyword keywords; - Hashtbl.add owned_keywords rule_id keywords; - rule_id - -let delete rule_id = - let atoms = rule_id in - begin try - let keywords = Hashtbl.find owned_keywords rule_id in - List.iter CicNotationLexer.remove_level2_ast_keyword keywords - with - Not_found -> assert false - end; - Grammar.delete_rule term atoms - -(** {2 Grammar} *) - -let parse_level1_pattern_ref = ref (fun _ -> assert false) -let parse_level2_ast_ref = ref (fun _ -> assert false) -let parse_level2_meta_ref = ref (fun _ -> assert false) - -let fold_cluster binder terms ty body = - List.fold_right (fun term body -> Ast.Binder (binder, (term, ty), body)) - terms body (* terms are names: either Ident or FreshVar *) - -let fold_exists terms ty body = - List.fold_right - (fun term body -> - let lambda = Ast.Binder (`Lambda, (term, ty), body) in - Ast.Appl [Ast.Symbol ("exists", 0); lambda]) - terms body - -let fold_binder binder pt_names body = - List.fold_right (fun (names, ty) body -> fold_cluster binder names ty body) - pt_names body - -let return_term loc term = Ast.AttributedTerm (`Loc loc, term) - - (* create empty precedence level for "term" *) -let _ = - let dummy_action = - Gramext.action - (fun _ -> failwith "internal error, lexer generated a dummy token") - in - let dummy_prod = [[Gramext.Stoken ("DUMMY", "")], dummy_action] in - let mk_level_list first last = - let rec aux acc = - function - i when i < first -> acc - | i -> - aux - ((Some (string_of_int i ^ "N"), Some Gramext.NonA, dummy_prod) :: - (Some (string_of_int i ^ "L"), Some Gramext.LeftA, - dummy_prod) :: - (Some (string_of_int i ^ "R"), Some Gramext.RightA, - dummy_prod) :: - acc) - (i - 1) - in - aux [] last - in - Grammar.extend - [Grammar.Entry.obj (term : 'a Grammar.Entry.e), None, - mk_level_list min_precedence max_precedence] - -(* {{{ Grammar for concrete syntax patterns, notation level 1 *) -let _ = - Grammar.extend - (let _ = (level1_pattern : 'level1_pattern Grammar.Entry.e) in - let grammar_entry_create s = - Grammar.Entry.create (Grammar.of_entry level1_pattern) s - in - let l1_pattern : 'l1_pattern Grammar.Entry.e = - grammar_entry_create "l1_pattern" - and literal : 'literal Grammar.Entry.e = grammar_entry_create "literal" - and sep : 'sep Grammar.Entry.e = grammar_entry_create "sep" - and l1_magic_pattern : 'l1_magic_pattern Grammar.Entry.e = - grammar_entry_create "l1_magic_pattern" - and l1_pattern_variable : 'l1_pattern_variable Grammar.Entry.e = - grammar_entry_create "l1_pattern_variable" - and l1_simple_pattern : 'l1_simple_pattern Grammar.Entry.e = - grammar_entry_create "l1_simple_pattern" - in - [Grammar.Entry.obj (level1_pattern : 'level1_pattern Grammar.Entry.e), - None, - [None, None, - [[Gramext.Snterm - (Grammar.Entry.obj (l1_pattern : 'l1_pattern Grammar.Entry.e)); - Gramext.Stoken ("EOI", "")], - Gramext.action - (fun _ (p : 'l1_pattern) - (loc : Lexing.position * Lexing.position) -> - (CicNotationUtil.boxify p : 'level1_pattern))]]; - Grammar.Entry.obj (l1_pattern : 'l1_pattern Grammar.Entry.e), None, - [None, None, - [[Gramext.Slist1 - (Gramext.Snterm - (Grammar.Entry.obj - (l1_simple_pattern : 'l1_simple_pattern Grammar.Entry.e)))], - Gramext.action - (fun (p : 'l1_simple_pattern list) - (loc : Lexing.position * Lexing.position) -> - (p : 'l1_pattern))]]; - Grammar.Entry.obj (literal : 'literal Grammar.Entry.e), None, - [None, None, - [[Gramext.Stoken ("NUMBER", "")], - Gramext.action - (fun (n : string) (loc : Lexing.position * Lexing.position) -> - (`Number n : 'literal)); - [Gramext.Stoken ("QKEYWORD", "")], - Gramext.action - (fun (k : string) (loc : Lexing.position * Lexing.position) -> - (`Keyword k : 'literal)); - [Gramext.Stoken ("SYMBOL", "")], - Gramext.action - (fun (s : string) (loc : Lexing.position * Lexing.position) -> - (`Symbol s : 'literal))]]; - Grammar.Entry.obj (sep : 'sep Grammar.Entry.e), None, - [None, None, - [[Gramext.Stoken ("", "sep"); - Gramext.Snterm - (Grammar.Entry.obj (literal : 'literal Grammar.Entry.e))], - Gramext.action - (fun (sep : 'literal) _ (loc : Lexing.position * Lexing.position) -> - (sep : 'sep))]]; - Grammar.Entry.obj - (l1_magic_pattern : 'l1_magic_pattern Grammar.Entry.e), - None, - [None, None, - [[Gramext.Stoken ("", "opt"); - Gramext.Snterm - (Grammar.Entry.obj - (l1_simple_pattern : 'l1_simple_pattern Grammar.Entry.e))], - Gramext.action - (fun (p : 'l1_simple_pattern) _ - (loc : Lexing.position * Lexing.position) -> - (Ast.Opt p : 'l1_magic_pattern)); - [Gramext.Stoken ("", "list1"); - Gramext.Snterm - (Grammar.Entry.obj - (l1_simple_pattern : 'l1_simple_pattern Grammar.Entry.e)); - Gramext.Sopt - (Gramext.Snterm (Grammar.Entry.obj (sep : 'sep Grammar.Entry.e)))], - Gramext.action - (fun (sep : 'sep option) (p : 'l1_simple_pattern) _ - (loc : Lexing.position * Lexing.position) -> - (Ast.List1 (p, sep) : 'l1_magic_pattern)); - [Gramext.Stoken ("", "list0"); - Gramext.Snterm - (Grammar.Entry.obj - (l1_simple_pattern : 'l1_simple_pattern Grammar.Entry.e)); - Gramext.Sopt - (Gramext.Snterm (Grammar.Entry.obj (sep : 'sep Grammar.Entry.e)))], - Gramext.action - (fun (sep : 'sep option) (p : 'l1_simple_pattern) _ - (loc : Lexing.position * Lexing.position) -> - (Ast.List0 (p, sep) : 'l1_magic_pattern))]]; - Grammar.Entry.obj - (l1_pattern_variable : 'l1_pattern_variable Grammar.Entry.e), - None, - [None, None, - [[Gramext.Stoken ("", "ident"); Gramext.Stoken ("IDENT", "")], - Gramext.action - (fun (id : string) _ (loc : Lexing.position * Lexing.position) -> - (Ast.IdentVar id : 'l1_pattern_variable)); - [Gramext.Stoken ("", "number"); Gramext.Stoken ("IDENT", "")], - Gramext.action - (fun (id : string) _ (loc : Lexing.position * Lexing.position) -> - (Ast.NumVar id : 'l1_pattern_variable)); - [Gramext.Stoken ("", "term"); Gramext.Stoken ("IDENT", "")], - Gramext.action - (fun (id : string) _ (loc : Lexing.position * Lexing.position) -> - (Ast.TermVar id : 'l1_pattern_variable))]]; - Grammar.Entry.obj - (l1_simple_pattern : 'l1_simple_pattern Grammar.Entry.e), - None, - [Some "layout", Some Gramext.LeftA, - [[Gramext.Stoken ("LPAREN", ""); - Gramext.Snterm - (Grammar.Entry.obj (l1_pattern : 'l1_pattern Grammar.Entry.e)); - Gramext.Stoken ("RPAREN", "")], - Gramext.action - (fun _ (p : 'l1_pattern) _ - (loc : Lexing.position * Lexing.position) -> - (return_term loc (CicNotationUtil.group p) : - 'l1_simple_pattern)); - [Gramext.Stoken ("", "break")], - Gramext.action - (fun _ (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Layout Ast.Break) : 'l1_simple_pattern)); - [Gramext.Stoken ("", "hovbox"); Gramext.Stoken ("LPAREN", ""); - Gramext.Snterm - (Grammar.Entry.obj (l1_pattern : 'l1_pattern Grammar.Entry.e)); - Gramext.Stoken ("RPAREN", "")], - Gramext.action - (fun _ (p : 'l1_pattern) _ _ - (loc : Lexing.position * Lexing.position) -> - (return_term loc - (Ast.Layout (Ast.Box ((Ast.HOV, false, false), p))) : - 'l1_simple_pattern)); - [Gramext.Stoken ("", "hvbox"); Gramext.Stoken ("LPAREN", ""); - Gramext.Snterm - (Grammar.Entry.obj (l1_pattern : 'l1_pattern Grammar.Entry.e)); - Gramext.Stoken ("RPAREN", "")], - Gramext.action - (fun _ (p : 'l1_pattern) _ _ - (loc : Lexing.position * Lexing.position) -> - (return_term loc - (Ast.Layout (Ast.Box ((Ast.HV, false, false), p))) : - 'l1_simple_pattern)); - [Gramext.Stoken ("", "vbox"); Gramext.Stoken ("LPAREN", ""); - Gramext.Snterm - (Grammar.Entry.obj (l1_pattern : 'l1_pattern Grammar.Entry.e)); - Gramext.Stoken ("RPAREN", "")], - Gramext.action - (fun _ (p : 'l1_pattern) _ _ - (loc : Lexing.position * Lexing.position) -> - (return_term loc - (Ast.Layout (Ast.Box ((Ast.V, false, false), p))) : - 'l1_simple_pattern)); - [Gramext.Stoken ("", "hbox"); Gramext.Stoken ("LPAREN", ""); - Gramext.Snterm - (Grammar.Entry.obj (l1_pattern : 'l1_pattern Grammar.Entry.e)); - Gramext.Stoken ("RPAREN", "")], - Gramext.action - (fun _ (p : 'l1_pattern) _ _ - (loc : Lexing.position * Lexing.position) -> - (return_term loc - (Ast.Layout (Ast.Box ((Ast.H, false, false), p))) : - 'l1_simple_pattern)); - [Gramext.Stoken ("SYMBOL", "\\root"); Gramext.Sself; - Gramext.Stoken ("SYMBOL", "\\of"); Gramext.Sself], - Gramext.action - (fun (arg : 'l1_simple_pattern) _ (index : 'l1_simple_pattern) _ - (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Layout (Ast.Root (arg, index))) : - 'l1_simple_pattern)); - [Gramext.Stoken ("SYMBOL", "\\sqrt"); Gramext.Sself], - Gramext.action - (fun (p : 'l1_simple_pattern) _ - (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Layout (Ast.Sqrt p)) : - 'l1_simple_pattern)); - [Gramext.Stoken ("SYMBOL", "\\frac"); Gramext.Sself; Gramext.Sself], - Gramext.action - (fun (p2 : 'l1_simple_pattern) (p1 : 'l1_simple_pattern) _ - (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Layout (Ast.Frac (p1, p2))) : - 'l1_simple_pattern)); - [Gramext.Sself; Gramext.Stoken ("SYMBOL", "\\atop"); Gramext.Sself], - Gramext.action - (fun (p2 : 'l1_simple_pattern) _ (p1 : 'l1_simple_pattern) - (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Layout (Ast.Atop (p1, p2))) : - 'l1_simple_pattern)); - [Gramext.Sself; Gramext.Stoken ("SYMBOL", "\\over"); Gramext.Sself], - Gramext.action - (fun (p2 : 'l1_simple_pattern) _ (p1 : 'l1_simple_pattern) - (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Layout (Ast.Over (p1, p2))) : - 'l1_simple_pattern)); - [Gramext.Sself; Gramext.Stoken ("SYMBOL", "\\above"); Gramext.Sself], - Gramext.action - (fun (p2 : 'l1_simple_pattern) _ (p1 : 'l1_simple_pattern) - (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Layout (Ast.Above (p1, p2))) : - 'l1_simple_pattern)); - [Gramext.Sself; Gramext.Stoken ("SYMBOL", "\\below"); Gramext.Sself], - Gramext.action - (fun (p2 : 'l1_simple_pattern) _ (p1 : 'l1_simple_pattern) - (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Layout (Ast.Below (p1, p2))) : - 'l1_simple_pattern)); - [Gramext.Sself; Gramext.Stoken ("SYMBOL", "\\sup"); Gramext.Sself], - Gramext.action - (fun (p2 : 'l1_simple_pattern) _ (p1 : 'l1_simple_pattern) - (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Layout (Ast.Sup (p1, p2))) : - 'l1_simple_pattern)); - [Gramext.Sself; Gramext.Stoken ("SYMBOL", "\\sub"); Gramext.Sself], - Gramext.action - (fun (p2 : 'l1_simple_pattern) _ (p1 : 'l1_simple_pattern) - (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Layout (Ast.Sub (p1, p2))) : - 'l1_simple_pattern))]; - Some "simple", Some Gramext.NonA, - [[Gramext.Snterm - (Grammar.Entry.obj (literal : 'literal Grammar.Entry.e))], - Gramext.action - (fun (l : 'literal) (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Literal l) : 'l1_simple_pattern)); - [Gramext.Snterm - (Grammar.Entry.obj - (l1_pattern_variable : 'l1_pattern_variable Grammar.Entry.e))], - Gramext.action - (fun (v : 'l1_pattern_variable) - (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Variable v) : 'l1_simple_pattern)); - [Gramext.Snterm - (Grammar.Entry.obj - (l1_magic_pattern : 'l1_magic_pattern Grammar.Entry.e))], - Gramext.action - (fun (m : 'l1_magic_pattern) - (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Magic m) : 'l1_simple_pattern)); - [Gramext.Stoken ("IDENT", "")], - Gramext.action - (fun (i : string) (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Variable (Ast.TermVar i)) : - 'l1_simple_pattern))]]]) -(* }}} *) - -(* {{{ Grammar for ast magics, notation level 2 *) -let _ = - Grammar.extend - (let _ = (level2_meta : 'level2_meta Grammar.Entry.e) in - let grammar_entry_create s = - Grammar.Entry.create (Grammar.of_entry level2_meta) s - in - let l2_variable : 'l2_variable Grammar.Entry.e = - grammar_entry_create "l2_variable" - and l2_magic : 'l2_magic Grammar.Entry.e = - grammar_entry_create "l2_magic" - in - [Grammar.Entry.obj (l2_variable : 'l2_variable Grammar.Entry.e), None, - [None, None, - [[Gramext.Stoken ("IDENT", "")], - Gramext.action - (fun (id : string) (loc : Lexing.position * Lexing.position) -> - (Ast.TermVar id : 'l2_variable)); - [Gramext.Stoken ("", "anonymous")], - Gramext.action - (fun _ (loc : Lexing.position * Lexing.position) -> - (Ast.TermVar "_" : 'l2_variable)); - [Gramext.Stoken ("", "fresh"); Gramext.Stoken ("IDENT", "")], - Gramext.action - (fun (id : string) _ (loc : Lexing.position * Lexing.position) -> - (Ast.FreshVar id : 'l2_variable)); - [Gramext.Stoken ("", "ident"); Gramext.Stoken ("IDENT", "")], - Gramext.action - (fun (id : string) _ (loc : Lexing.position * Lexing.position) -> - (Ast.IdentVar id : 'l2_variable)); - [Gramext.Stoken ("", "number"); Gramext.Stoken ("IDENT", "")], - Gramext.action - (fun (id : string) _ (loc : Lexing.position * Lexing.position) -> - (Ast.NumVar id : 'l2_variable)); - [Gramext.Stoken ("", "term"); Gramext.Stoken ("IDENT", "")], - Gramext.action - (fun (id : string) _ (loc : Lexing.position * Lexing.position) -> - (Ast.TermVar id : 'l2_variable))]]; - Grammar.Entry.obj (l2_magic : 'l2_magic Grammar.Entry.e), None, - [None, None, - [[Gramext.Stoken ("", "fail")], - Gramext.action - (fun _ (loc : Lexing.position * Lexing.position) -> - (Ast.Fail : 'l2_magic)); - [Gramext.Stoken ("", "if"); - Gramext.Snterm - (Grammar.Entry.obj (level2_meta : 'level2_meta Grammar.Entry.e)); - Gramext.Stoken ("", "then"); - Gramext.Snterm - (Grammar.Entry.obj (level2_meta : 'level2_meta Grammar.Entry.e)); - Gramext.Stoken ("", "else"); - Gramext.Snterm - (Grammar.Entry.obj (level2_meta : 'level2_meta Grammar.Entry.e))], - Gramext.action - (fun (p_false : 'level2_meta) _ (p_true : 'level2_meta) _ - (p_test : 'level2_meta) _ - (loc : Lexing.position * Lexing.position) -> - (Ast.If (p_test, p_true, p_false) : 'l2_magic)); - [Gramext.Stoken ("", "default"); - Gramext.Snterm - (Grammar.Entry.obj (level2_meta : 'level2_meta Grammar.Entry.e)); - Gramext.Snterm - (Grammar.Entry.obj (level2_meta : 'level2_meta Grammar.Entry.e))], - Gramext.action - (fun (none : 'level2_meta) (some : 'level2_meta) _ - (loc : Lexing.position * Lexing.position) -> - (Ast.Default (some, none) : 'l2_magic)); - [Gramext.Stoken ("", "fold"); - Gramext.srules - [[Gramext.Stoken ("", "right")], - Gramext.action - (fun _ (loc : Lexing.position * Lexing.position) -> - (`Right : 'e__1)); - [Gramext.Stoken ("", "left")], - Gramext.action - (fun _ (loc : Lexing.position * Lexing.position) -> - (`Left : 'e__1))]; - Gramext.Snterm - (Grammar.Entry.obj (level2_meta : 'level2_meta Grammar.Entry.e)); - Gramext.Stoken ("", "rec"); Gramext.Stoken ("IDENT", ""); - Gramext.Snterm - (Grammar.Entry.obj (level2_meta : 'level2_meta Grammar.Entry.e))], - Gramext.action - (fun (recursive : 'level2_meta) (id : string) _ - (base : 'level2_meta) (kind : 'e__1) _ - (loc : Lexing.position * Lexing.position) -> - (Ast.Fold (kind, base, [id], recursive) : 'l2_magic))]]; - Grammar.Entry.obj (level2_meta : 'level2_meta Grammar.Entry.e), None, - [None, None, - [[Gramext.Stoken ("UNPARSED_AST", "")], - Gramext.action - (fun (blob : string) (loc : Lexing.position * Lexing.position) -> - (!parse_level2_ast_ref (Ulexing.from_utf8_string blob) : - 'level2_meta)); - [Gramext.Snterm - (Grammar.Entry.obj (l2_variable : 'l2_variable Grammar.Entry.e))], - Gramext.action - (fun (var : 'l2_variable) - (loc : Lexing.position * Lexing.position) -> - (Ast.Variable var : 'level2_meta)); - [Gramext.Snterm - (Grammar.Entry.obj (l2_magic : 'l2_magic Grammar.Entry.e))], - Gramext.action - (fun (magic : 'l2_magic) - (loc : Lexing.position * Lexing.position) -> - (Ast.Magic magic : 'level2_meta))]]]) -(* }}} *) - -(* {{{ Grammar for ast patterns, notation level 2 *) -let _ = - Grammar.extend - (let _ = (level2_ast : 'level2_ast Grammar.Entry.e) - and _ = (term : 'term Grammar.Entry.e) - and _ = (let_defs : 'let_defs Grammar.Entry.e) in - let grammar_entry_create s = - Grammar.Entry.create (Grammar.of_entry level2_ast) s - in - let sort : 'sort Grammar.Entry.e = grammar_entry_create "sort" - and explicit_subst : 'explicit_subst Grammar.Entry.e = - grammar_entry_create "explicit_subst" - and meta_subst : 'meta_subst Grammar.Entry.e = - grammar_entry_create "meta_subst" - and meta_substs : 'meta_substs Grammar.Entry.e = - grammar_entry_create "meta_substs" - and possibly_typed_name : 'possibly_typed_name Grammar.Entry.e = - grammar_entry_create "possibly_typed_name" - and match_pattern : 'match_pattern Grammar.Entry.e = - grammar_entry_create "match_pattern" - and binder : 'binder Grammar.Entry.e = grammar_entry_create "binder" - and arg : 'arg Grammar.Entry.e = grammar_entry_create "arg" - and single_arg : 'single_arg Grammar.Entry.e = - grammar_entry_create "single_arg" - and induction_kind : 'induction_kind Grammar.Entry.e = - grammar_entry_create "induction_kind" - and binder_vars : 'binder_vars Grammar.Entry.e = - grammar_entry_create "binder_vars" - in - [Grammar.Entry.obj (level2_ast : 'level2_ast Grammar.Entry.e), None, - [None, None, - [[Gramext.Snterm (Grammar.Entry.obj (term : 'term Grammar.Entry.e))], - Gramext.action - (fun (p : 'term) (loc : Lexing.position * Lexing.position) -> - (p : 'level2_ast))]]; - Grammar.Entry.obj (sort : 'sort Grammar.Entry.e), None, - [None, None, - [[Gramext.Stoken ("", "CProp")], - Gramext.action - (fun _ (loc : Lexing.position * Lexing.position) -> - (`CProp : 'sort)); - [Gramext.Stoken ("", "Type")], - Gramext.action - (fun _ (loc : Lexing.position * Lexing.position) -> - (`Type : 'sort)); - [Gramext.Stoken ("", "Set")], - Gramext.action - (fun _ (loc : Lexing.position * Lexing.position) -> (`Set : 'sort)); - [Gramext.Stoken ("", "Prop")], - Gramext.action - (fun _ (loc : Lexing.position * Lexing.position) -> - (`Prop : 'sort))]]; - Grammar.Entry.obj (explicit_subst : 'explicit_subst Grammar.Entry.e), - None, - [None, None, - [[Gramext.Stoken ("SYMBOL", "\\subst"); Gramext.Stoken ("SYMBOL", "["); - Gramext.Slist1sep - (Gramext.srules - [[Gramext.Stoken ("IDENT", ""); - Gramext.Stoken ("SYMBOL", "≔"); - Gramext.Snterm - (Grammar.Entry.obj (term : 'term Grammar.Entry.e))], - Gramext.action - (fun (t : 'term) _ (i : string) - (loc : Lexing.position * Lexing.position) -> - (i, t : 'e__2))], - Gramext.Stoken ("SYMBOL", ";")); - Gramext.Stoken ("SYMBOL", "]")], - Gramext.action - (fun _ (substs : 'e__2 list) _ _ - (loc : Lexing.position * Lexing.position) -> - (substs : 'explicit_subst))]]; - Grammar.Entry.obj (meta_subst : 'meta_subst Grammar.Entry.e), None, - [None, None, - [[Gramext.Snterm (Grammar.Entry.obj (term : 'term Grammar.Entry.e))], - Gramext.action - (fun (p : 'term) (loc : Lexing.position * Lexing.position) -> - (Some p : 'meta_subst)); - [Gramext.Stoken ("SYMBOL", "_")], - Gramext.action - (fun (s : string) (loc : Lexing.position * Lexing.position) -> - (None : 'meta_subst))]]; - Grammar.Entry.obj (meta_substs : 'meta_substs Grammar.Entry.e), None, - [None, None, - [[Gramext.Stoken ("SYMBOL", "["); - Gramext.Slist0 - (Gramext.Snterm - (Grammar.Entry.obj (meta_subst : 'meta_subst Grammar.Entry.e))); - Gramext.Stoken ("SYMBOL", "]")], - Gramext.action - (fun _ (substs : 'meta_subst list) _ - (loc : Lexing.position * Lexing.position) -> - (substs : 'meta_substs))]]; - Grammar.Entry.obj - (possibly_typed_name : 'possibly_typed_name Grammar.Entry.e), - None, - [None, None, - [[Gramext.Snterm - (Grammar.Entry.obj (single_arg : 'single_arg Grammar.Entry.e))], - Gramext.action - (fun (arg : 'single_arg) - (loc : Lexing.position * Lexing.position) -> - (arg, None : 'possibly_typed_name)); - [Gramext.Stoken ("LPAREN", ""); - Gramext.Snterm - (Grammar.Entry.obj (single_arg : 'single_arg Grammar.Entry.e)); - Gramext.Stoken ("SYMBOL", ":"); - Gramext.Snterm (Grammar.Entry.obj (term : 'term Grammar.Entry.e)); - Gramext.Stoken ("RPAREN", "")], - Gramext.action - (fun _ (typ : 'term) _ (id : 'single_arg) _ - (loc : Lexing.position * Lexing.position) -> - (id, Some typ : 'possibly_typed_name))]]; - Grammar.Entry.obj (match_pattern : 'match_pattern Grammar.Entry.e), - None, - [None, None, - [[Gramext.Stoken ("LPAREN", ""); Gramext.Stoken ("IDENT", ""); - Gramext.Slist1 - (Gramext.Snterm - (Grammar.Entry.obj - (possibly_typed_name : - 'possibly_typed_name Grammar.Entry.e))); - Gramext.Stoken ("RPAREN", "")], - Gramext.action - (fun _ (vars : 'possibly_typed_name list) (id : string) _ - (loc : Lexing.position * Lexing.position) -> - (id, None, vars : 'match_pattern)); - [Gramext.Stoken ("IDENT", "")], - Gramext.action - (fun (id : string) (loc : Lexing.position * Lexing.position) -> - (id, None, [] : 'match_pattern))]]; - Grammar.Entry.obj (binder : 'binder Grammar.Entry.e), None, - [None, None, - [[Gramext.Stoken ("SYMBOL", "λ")], - Gramext.action - (fun _ (loc : Lexing.position * Lexing.position) -> - (`Lambda : 'binder)); - [Gramext.Stoken ("SYMBOL", "∀")], - Gramext.action - (fun _ (loc : Lexing.position * Lexing.position) -> - (`Forall : 'binder)); - [Gramext.Stoken ("SYMBOL", "Π")], - Gramext.action - (fun _ (loc : Lexing.position * Lexing.position) -> - (`Pi : 'binder))]]; - Grammar.Entry.obj (arg : 'arg Grammar.Entry.e), None, - [None, None, - [[Gramext.Stoken ("UNPARSED_META", "")], - Gramext.action - (fun (blob : string) (loc : Lexing.position * Lexing.position) -> - (let meta = - !parse_level2_meta_ref (Ulexing.from_utf8_string blob) - in - match meta with - Ast.Variable (Ast.FreshVar _) -> [meta], None - | Ast.Variable (Ast.TermVar "_") -> - [Ast.Ident ("_", None)], None - | _ -> failwith "Invalid bound name." : - 'arg)); - [Gramext.Stoken ("IDENT", "")], - Gramext.action - (fun (name : string) (loc : Lexing.position * Lexing.position) -> - ([Ast.Ident (name, None)], None : 'arg)); - [Gramext.Stoken ("LPAREN", ""); - Gramext.Slist1sep - (Gramext.Stoken ("IDENT", ""), Gramext.Stoken ("SYMBOL", ",")); - Gramext.Stoken ("SYMBOL", ":"); - Gramext.Snterm (Grammar.Entry.obj (term : 'term Grammar.Entry.e)); - Gramext.Stoken ("RPAREN", "")], - Gramext.action - (fun _ (ty : 'term) _ (names : string list) _ - (loc : Lexing.position * Lexing.position) -> - (List.map (fun n -> Ast.Ident (n, None)) names, Some ty : - 'arg))]]; - Grammar.Entry.obj (single_arg : 'single_arg Grammar.Entry.e), None, - [None, None, - [[Gramext.Stoken ("UNPARSED_META", "")], - Gramext.action - (fun (blob : string) (loc : Lexing.position * Lexing.position) -> - (let meta = - !parse_level2_meta_ref (Ulexing.from_utf8_string blob) - in - match meta with - Ast.Variable (Ast.FreshVar _) | - Ast.Variable (Ast.IdentVar _) -> - meta - | Ast.Variable (Ast.TermVar "_") -> Ast.Ident ("_", None) - | _ -> failwith "Invalid index name." : - 'single_arg)); - [Gramext.Stoken ("IDENT", "")], - Gramext.action - (fun (name : string) (loc : Lexing.position * Lexing.position) -> - (Ast.Ident (name, None) : 'single_arg))]]; - Grammar.Entry.obj (induction_kind : 'induction_kind Grammar.Entry.e), - None, - [None, None, - [[Gramext.Stoken ("", "corec")], - Gramext.action - (fun _ (loc : Lexing.position * Lexing.position) -> - (`CoInductive : 'induction_kind)); - [Gramext.Stoken ("", "rec")], - Gramext.action - (fun _ (loc : Lexing.position * Lexing.position) -> - (`Inductive : 'induction_kind))]]; - Grammar.Entry.obj (let_defs : 'let_defs Grammar.Entry.e), None, - [None, None, - [[Gramext.Slist1sep - (Gramext.srules - [[Gramext.Snterm - (Grammar.Entry.obj - (single_arg : 'single_arg Grammar.Entry.e)); - Gramext.Slist1 - (Gramext.Snterm - (Grammar.Entry.obj (arg : 'arg Grammar.Entry.e))); - Gramext.Sopt - (Gramext.srules - [[Gramext.Stoken ("", "on"); - Gramext.Snterm - (Grammar.Entry.obj - (single_arg : 'single_arg Grammar.Entry.e))], - Gramext.action - (fun (id : 'single_arg) _ - (loc : Lexing.position * Lexing.position) -> - (id : 'e__3))]); - Gramext.Sopt - (Gramext.srules - [[Gramext.Stoken ("SYMBOL", ":"); - Gramext.Snterm - (Grammar.Entry.obj (term : 'term Grammar.Entry.e))], - Gramext.action - (fun (p : 'term) _ - (loc : Lexing.position * Lexing.position) -> - (p : 'e__4))]); - Gramext.Stoken ("SYMBOL", "≝"); - Gramext.Snterm - (Grammar.Entry.obj (term : 'term Grammar.Entry.e))], - Gramext.action - (fun (body : 'term) _ (ty : 'e__4 option) - (index_name : 'e__3 option) (args : 'arg list) - (name : 'single_arg) - (loc : Lexing.position * Lexing.position) -> - (let body = fold_binder `Lambda args body in - let ty = - match ty with - None -> None - | Some ty -> Some (fold_binder `Pi args ty) - in - let rec position_of name p = - function - [] -> None, p - | n :: _ when n = name -> Some p, p - | _ :: tl -> position_of name (p + 1) tl - in - let rec find_arg name n = - function - [] -> - Ast.fail loc - (sprintf "Argument %s not found" - (CicNotationPp.pp_term name)) - | (l, _) :: tl -> - match position_of name 0 l with - None, len -> find_arg name (n + len) tl - | Some where, len -> n + where - in - let index = - match index_name with - None -> 0 - | Some index_name -> find_arg index_name 0 args - in - (name, ty), body, index : - 'e__5))], - Gramext.Stoken ("", "and"))], - Gramext.action - (fun (defs : 'e__5 list) - (loc : Lexing.position * Lexing.position) -> - (defs : 'let_defs))]]; - Grammar.Entry.obj (binder_vars : 'binder_vars Grammar.Entry.e), None, - [None, None, - [[Gramext.Stoken ("LPAREN", ""); - Gramext.srules - [[Gramext.Stoken ("SYMBOL", "_")], - Gramext.action - (fun _ (loc : Lexing.position * Lexing.position) -> - ([Ast.Ident ("_", None)] : 'e__8)); - [Gramext.Slist1sep - (Gramext.Snterm - (Grammar.Entry.obj - (single_arg : 'single_arg Grammar.Entry.e)), - Gramext.Stoken ("SYMBOL", ","))], - Gramext.action - (fun (l : 'single_arg list) - (loc : Lexing.position * Lexing.position) -> - (l : 'e__8))]; - Gramext.Sopt - (Gramext.srules - [[Gramext.Stoken ("SYMBOL", ":"); - Gramext.Snterm - (Grammar.Entry.obj (term : 'term Grammar.Entry.e))], - Gramext.action - (fun (t : 'term) _ - (loc : Lexing.position * Lexing.position) -> - (t : 'e__9))]); - Gramext.Stoken ("RPAREN", "")], - Gramext.action - (fun _ (typ : 'e__9 option) (vars : 'e__8) _ - (loc : Lexing.position * Lexing.position) -> - (vars, typ : 'binder_vars)); - [Gramext.srules - [[Gramext.Stoken ("SYMBOL", "_")], - Gramext.action - (fun _ (loc : Lexing.position * Lexing.position) -> - ([Ast.Ident ("_", None)] : 'e__6)); - [Gramext.Slist1sep - (Gramext.Snterm - (Grammar.Entry.obj - (single_arg : 'single_arg Grammar.Entry.e)), - Gramext.Stoken ("SYMBOL", ","))], - Gramext.action - (fun (l : 'single_arg list) - (loc : Lexing.position * Lexing.position) -> - (l : 'e__6))]; - Gramext.Sopt - (Gramext.srules - [[Gramext.Stoken ("SYMBOL", ":"); - Gramext.Snterm - (Grammar.Entry.obj (term : 'term Grammar.Entry.e))], - Gramext.action - (fun (t : 'term) _ - (loc : Lexing.position * Lexing.position) -> - (t : 'e__7))])], - Gramext.action - (fun (typ : 'e__7 option) (vars : 'e__6) - (loc : Lexing.position * Lexing.position) -> - (vars, typ : 'binder_vars))]]; - Grammar.Entry.obj (term : 'term Grammar.Entry.e), - Some (Gramext.Level "10N"), - [None, None, - [[Gramext.Stoken ("", "let"); - Gramext.Snterm - (Grammar.Entry.obj - (induction_kind : 'induction_kind Grammar.Entry.e)); - Gramext.Snterm - (Grammar.Entry.obj (let_defs : 'let_defs Grammar.Entry.e)); - Gramext.Stoken ("", "in"); Gramext.Sself], - Gramext.action - (fun (body : 'term) _ (defs : 'let_defs) (k : 'induction_kind) _ - (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.LetRec (k, defs, body)) : 'term)); - [Gramext.Stoken ("", "let"); - Gramext.Snterm - (Grammar.Entry.obj - (possibly_typed_name : 'possibly_typed_name Grammar.Entry.e)); - Gramext.Stoken ("SYMBOL", "≝"); Gramext.Sself; - Gramext.Stoken ("", "in"); Gramext.Sself], - Gramext.action - (fun (p2 : 'term) _ (p1 : 'term) _ (var : 'possibly_typed_name) _ - (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.LetIn (var, p1, p2)) : 'term))]]; - Grammar.Entry.obj (term : 'term Grammar.Entry.e), - Some (Gramext.Level "20R"), - [None, None, - [[Gramext.Stoken ("SYMBOL", "∃"); - Gramext.Snterm - (Grammar.Entry.obj (binder_vars : 'binder_vars Grammar.Entry.e)); - Gramext.Stoken ("SYMBOL", "."); Gramext.Sself], - Gramext.action - (fun (body : 'term) _ (vars, typ : 'binder_vars) _ - (loc : Lexing.position * Lexing.position) -> - (return_term loc (fold_exists vars typ body) : 'term)); - [Gramext.Snterm - (Grammar.Entry.obj (binder : 'binder Grammar.Entry.e)); - Gramext.Snterm - (Grammar.Entry.obj (binder_vars : 'binder_vars Grammar.Entry.e)); - Gramext.Stoken ("SYMBOL", "."); Gramext.Sself], - Gramext.action - (fun (body : 'term) _ (vars, typ : 'binder_vars) (b : 'binder) - (loc : Lexing.position * Lexing.position) -> - (return_term loc (fold_cluster b vars typ body) : 'term))]]; - Grammar.Entry.obj (term : 'term Grammar.Entry.e), - Some (Gramext.Level "70L"), - [None, None, - [[Gramext.Sself; Gramext.Sself], - Gramext.action - (fun (p2 : 'term) (p1 : 'term) - (loc : Lexing.position * Lexing.position) -> - (let rec aux = - function - Ast.Appl (hd :: tl) | - Ast.AttributedTerm (_, Ast.Appl (hd :: tl)) -> - aux hd @ tl - | term -> [term] - in - return_term loc (Ast.Appl (aux p1 @ [p2])) : - 'term))]]; - Grammar.Entry.obj (term : 'term Grammar.Entry.e), - Some (Gramext.Level "90N"), - [None, None, - [[Gramext.Stoken ("UNPARSED_META", "")], - Gramext.action - (fun (blob : string) (loc : Lexing.position * Lexing.position) -> - (!parse_level2_meta_ref (Ulexing.from_utf8_string blob) : - 'term)); - [Gramext.Stoken ("LPAREN", ""); Gramext.Sself; - Gramext.Stoken ("RPAREN", "")], - Gramext.action - (fun _ (p : 'term) _ (loc : Lexing.position * Lexing.position) -> - (p : 'term)); - [Gramext.Stoken ("LPAREN", ""); Gramext.Sself; - Gramext.Stoken ("SYMBOL", ":"); Gramext.Sself; - Gramext.Stoken ("RPAREN", "")], - Gramext.action - (fun _ (p2 : 'term) _ (p1 : 'term) _ - (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Cast (p1, p2)) : 'term)); - [Gramext.Sopt - (Gramext.srules - [[Gramext.Stoken ("SYMBOL", "["); - Gramext.Snterm - (Grammar.Entry.obj (term : 'term Grammar.Entry.e)); - Gramext.Stoken ("SYMBOL", "]")], - Gramext.action - (fun _ (ty : 'term) _ - (loc : Lexing.position * Lexing.position) -> - (ty : 'e__10))]); - Gramext.Stoken ("", "match"); Gramext.Sself; - Gramext.Sopt - (Gramext.srules - [[Gramext.Stoken ("", "in"); Gramext.Stoken ("IDENT", "")], - Gramext.action - (fun (id : string) _ - (loc : Lexing.position * Lexing.position) -> - (id, None : 'e__11))]); - Gramext.Stoken ("", "with"); Gramext.Stoken ("SYMBOL", "["); - Gramext.Slist0sep - (Gramext.srules - [[Gramext.Snterm - (Grammar.Entry.obj - (match_pattern : 'match_pattern Grammar.Entry.e)); - Gramext.Stoken ("SYMBOL", "⇒"); - Gramext.Snterm - (Grammar.Entry.obj (term : 'term Grammar.Entry.e))], - Gramext.action - (fun (rhs : 'term) _ (lhs : 'match_pattern) - (loc : Lexing.position * Lexing.position) -> - (lhs, rhs : 'e__12))], - Gramext.Stoken ("SYMBOL", "|")); - Gramext.Stoken ("SYMBOL", "]")], - Gramext.action - (fun _ (patterns : 'e__12 list) _ _ (indty_ident : 'e__11 option) - (t : 'term) _ (outtyp : 'e__10 option) - (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Case (t, indty_ident, outtyp, patterns)) : - 'term)); - [Gramext.Snterm (Grammar.Entry.obj (sort : 'sort Grammar.Entry.e))], - Gramext.action - (fun (s : 'sort) (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Sort s) : 'term)); - [Gramext.Stoken ("META", ""); - Gramext.Snterm - (Grammar.Entry.obj (meta_substs : 'meta_substs Grammar.Entry.e))], - Gramext.action - (fun (s : 'meta_substs) (m : string) - (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Meta (int_of_string m, s)) : 'term)); - [Gramext.Stoken ("META", "")], - Gramext.action - (fun (m : string) (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Meta (int_of_string m, [])) : 'term)); - [Gramext.Stoken ("PLACEHOLDER", "")], - Gramext.action - (fun _ (loc : Lexing.position * Lexing.position) -> - (return_term loc Ast.UserInput : 'term)); - [Gramext.Stoken ("IMPLICIT", "")], - Gramext.action - (fun _ (loc : Lexing.position * Lexing.position) -> - (return_term loc Ast.Implicit : 'term)); - [Gramext.Stoken ("NUMBER", "")], - Gramext.action - (fun (n : string) (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Num (n, 0)) : 'term)); - [Gramext.Stoken ("URI", "")], - Gramext.action - (fun (u : string) (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Uri (u, None)) : 'term)); - [Gramext.Stoken ("CSYMBOL", "")], - Gramext.action - (fun (s : string) (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Symbol (s, 0)) : 'term)); - [Gramext.Stoken ("IDENT", ""); - Gramext.Snterm - (Grammar.Entry.obj - (explicit_subst : 'explicit_subst Grammar.Entry.e))], - Gramext.action - (fun (s : 'explicit_subst) (id : string) - (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Ident (id, Some s)) : 'term)); - [Gramext.Stoken ("IDENT", "")], - Gramext.action - (fun (id : string) (loc : Lexing.position * Lexing.position) -> - (return_term loc (Ast.Ident (id, None)) : 'term))]]]) -(* }}} *) - -(** {2 API implementation} *) - -let exc_located_wrapper f = - try f () with - Stdpp.Exc_located (floc, Stream.Error msg) -> - raise (Parse_error (floc, msg)) - | Stdpp.Exc_located (floc, exn) -> - raise (Parse_error (floc, Printexc.to_string exn)) - -let parse_level1_pattern lexbuf = - CicNotationLexer.set_lexbuf lexbuf; - exc_located_wrapper - (fun () -> Grammar.Entry.parse level1_pattern Stream.sempty) - -let parse_level2_ast lexbuf = - CicNotationLexer.set_lexbuf lexbuf; - exc_located_wrapper (fun () -> Grammar.Entry.parse level2_ast Stream.sempty) - -let parse_level2_meta lexbuf = - CicNotationLexer.set_lexbuf lexbuf; - exc_located_wrapper - (fun () -> Grammar.Entry.parse level2_meta Stream.sempty) - -let _ = - parse_level1_pattern_ref := parse_level1_pattern; - parse_level2_ast_ref := parse_level2_ast; - parse_level2_meta_ref := parse_level2_meta - -(** {2 Debugging} *) - -let print_l2_pattern () = - Grammar.print_entry Format.std_formatter (Grammar.Entry.obj term); - Format.pp_print_flush Format.std_formatter (); - flush stdout - -(* vim:set encoding=utf8 foldmethod=marker: *) diff --git a/helm/ocaml/cic_notation/cicNotationParser.ml b/helm/ocaml/cic_notation/cicNotationParser.ml deleted file mode 100644 index 32b6b0a90..000000000 --- a/helm/ocaml/cic_notation/cicNotationParser.ml +++ /dev/null @@ -1,645 +0,0 @@ -(* Copyright (C) 2005, 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 - -module Ast = CicNotationPt -module Env = CicNotationEnv - -exception Parse_error of Token.flocation * string -exception Level_not_found of int - -let level1_pattern_grammar = - Grammar.gcreate CicNotationLexer.level1_pattern_lexer -let level2_ast_grammar = Grammar.gcreate CicNotationLexer.level2_ast_lexer -let level2_meta_grammar = Grammar.gcreate CicNotationLexer.level2_meta_lexer - -let min_precedence = 0 -let max_precedence = 100 - -let level1_pattern = - Grammar.Entry.create level1_pattern_grammar "level1_pattern" -let level2_ast = Grammar.Entry.create level2_ast_grammar "level2_ast" -let term = Grammar.Entry.create level2_ast_grammar "term" -let let_defs = Grammar.Entry.create level2_ast_grammar "let_defs" -let level2_meta = Grammar.Entry.create level2_meta_grammar "level2_meta" - -let int_of_string s = - try - Pervasives.int_of_string s - with Failure _ -> - failwith (sprintf "Lexer failure: string_of_int \"%s\" failed" s) - -(** {2 Grammar extension} *) - -let gram_symbol s = Gramext.Stoken ("SYMBOL", s) -let gram_ident s = Gramext.Stoken ("IDENT", s) -let gram_number s = Gramext.Stoken ("NUMBER", s) -let gram_keyword s = Gramext.Stoken ("", s) -let gram_term = Gramext.Sself - -let gram_of_literal = - function - | `Symbol s -> gram_symbol s - | `Keyword s -> gram_keyword s - | `Number s -> gram_number s - -type binding = - | NoBinding - | Binding of string * Env.value_type - | Env of (string * Env.value_type) list - -let make_action action bindings = - let rec aux (vl : CicNotationEnv.t) = - function - [] -> Gramext.action (fun (loc: Ast.location) -> action vl loc) - | NoBinding :: tl -> Gramext.action (fun _ -> aux vl tl) - (* LUCA: DEFCON 3 BEGIN *) - | Binding (name, Env.TermType) :: tl -> - Gramext.action - (fun (v:Ast.term) -> - aux ((name, (Env.TermType, Env.TermValue v))::vl) tl) - | Binding (name, Env.StringType) :: tl -> - Gramext.action - (fun (v:string) -> - aux ((name, (Env.StringType, Env.StringValue v)) :: vl) tl) - | Binding (name, Env.NumType) :: tl -> - Gramext.action - (fun (v:string) -> - aux ((name, (Env.NumType, Env.NumValue v)) :: vl) tl) - | Binding (name, Env.OptType t) :: tl -> - Gramext.action - (fun (v:'a option) -> - aux ((name, (Env.OptType t, Env.OptValue v)) :: vl) tl) - | Binding (name, Env.ListType t) :: tl -> - Gramext.action - (fun (v:'a list) -> - aux ((name, (Env.ListType t, Env.ListValue v)) :: vl) tl) - | Env _ :: tl -> - Gramext.action (fun (v:CicNotationEnv.t) -> aux (v @ vl) tl) - (* LUCA: DEFCON 3 END *) - in - aux [] (List.rev bindings) - -let flatten_opt = - let rec aux acc = - function - [] -> List.rev acc - | NoBinding :: tl -> aux acc tl - | Env names :: tl -> aux (List.rev names @ acc) tl - | Binding (name, ty) :: tl -> aux ((name, ty) :: acc) tl - in - aux [] - - (* given a level 1 pattern computes the new RHS of "term" grammar entry *) -let extract_term_production pattern = - let rec aux = function - | Ast.AttributedTerm (_, t) -> aux t - | Ast.Literal l -> aux_literal l - | Ast.Layout l -> aux_layout l - | Ast.Magic m -> aux_magic m - | Ast.Variable v -> aux_variable v - | t -> - prerr_endline (CicNotationPp.pp_term t); - assert false - and aux_literal = - function - | `Symbol s -> [NoBinding, gram_symbol s] - | `Keyword s -> - (* assumption: s will be registered as a keyword with the lexer *) - [NoBinding, gram_keyword s] - | `Number s -> [NoBinding, gram_number s] - and aux_layout = function - | Ast.Sub (p1, p2) -> aux p1 @ [NoBinding, gram_symbol "\\sub"] @ aux p2 - | Ast.Sup (p1, p2) -> aux p1 @ [NoBinding, gram_symbol "\\sup"] @ aux p2 - | Ast.Below (p1, p2) -> aux p1 @ [NoBinding, gram_symbol "\\below"] @ aux p2 - | Ast.Above (p1, p2) -> aux p1 @ [NoBinding, gram_symbol "\\above"] @ aux p2 - | Ast.Frac (p1, p2) -> aux p1 @ [NoBinding, gram_symbol "\\frac"] @ aux p2 - | Ast.Atop (p1, p2) -> aux p1 @ [NoBinding, gram_symbol "\\atop"] @ aux p2 - | Ast.Over (p1, p2) -> aux p1 @ [NoBinding, gram_symbol "\\over"] @ aux p2 - | Ast.Root (p1, p2) -> - [NoBinding, gram_symbol "\\root"] @ aux p2 - @ [NoBinding, gram_symbol "\\of"] @ aux p1 - | Ast.Sqrt p -> [NoBinding, gram_symbol "\\sqrt"] @ aux p - | Ast.Break -> [] - | Ast.Box (_, pl) -> List.flatten (List.map aux pl) - | Ast.Group pl -> List.flatten (List.map aux pl) - and aux_magic magic = - match magic with - | Ast.Opt p -> - let p_bindings, p_atoms, p_names, p_action = inner_pattern p in - let action (env_opt : CicNotationEnv.t option) (loc : Ast.location) = - match env_opt with - | Some env -> List.map Env.opt_binding_some env - | None -> List.map Env.opt_binding_of_name p_names - in - [ Env (List.map Env.opt_declaration p_names), - Gramext.srules - [ [ Gramext.Sopt (Gramext.srules [ p_atoms, p_action ]) ], - Gramext.action action ] ] - | Ast.List0 (p, _) - | Ast.List1 (p, _) -> - let p_bindings, p_atoms, p_names, p_action = inner_pattern p in -(* let env0 = List.map list_binding_of_name p_names in - let grow_env_entry env n v = - List.map - (function - | (n', (ty, ListValue vl)) as entry -> - if n' = n then n', (ty, ListValue (v :: vl)) else entry - | _ -> assert false) - env - in - let grow_env env_i env = - List.fold_left - (fun env (n, (_, v)) -> grow_env_entry env n v) - env env_i - in *) - let action (env_list : CicNotationEnv.t list) (loc : Ast.location) = - CicNotationEnv.coalesce_env p_names env_list - in - let gram_of_list s = - match magic with - | Ast.List0 (_, None) -> Gramext.Slist0 s - | Ast.List1 (_, None) -> Gramext.Slist1 s - | Ast.List0 (_, Some l) -> Gramext.Slist0sep (s, gram_of_literal l) - | Ast.List1 (_, Some l) -> Gramext.Slist1sep (s, gram_of_literal l) - | _ -> assert false - in - [ Env (List.map Env.list_declaration p_names), - Gramext.srules - [ [ gram_of_list (Gramext.srules [ p_atoms, p_action ]) ], - Gramext.action action ] ] - | _ -> assert false - and aux_variable = - function - | Ast.NumVar s -> [Binding (s, Env.NumType), gram_number ""] - | Ast.TermVar s -> [Binding (s, Env.TermType), gram_term] - | Ast.IdentVar s -> [Binding (s, Env.StringType), gram_ident ""] - | Ast.Ascription (p, s) -> assert false (* TODO *) - | Ast.FreshVar _ -> assert false - and inner_pattern p = - let p_bindings, p_atoms = List.split (aux p) in - let p_names = flatten_opt p_bindings in - let action = - make_action (fun (env : CicNotationEnv.t) (loc : Ast.location) -> env) - p_bindings - in - p_bindings, p_atoms, p_names, action - in - aux pattern - -let level_of precedence associativity = - if precedence < min_precedence || precedence > max_precedence then - raise (Level_not_found precedence); - let assoc_string = - match associativity with - | Gramext.NonA -> "N" - | Gramext.LeftA -> "L" - | Gramext.RightA -> "R" - in - string_of_int precedence ^ assoc_string - -type rule_id = Token.t Gramext.g_symbol list - - (* mapping: rule_id -> owned keywords. (rule_id, string list) Hashtbl.t *) -let owned_keywords = Hashtbl.create 23 - -let extend level1_pattern ~precedence ~associativity action = - let p_bindings, p_atoms = - List.split (extract_term_production level1_pattern) - in - let level = level_of precedence associativity in - let p_names = flatten_opt p_bindings in - let _ = - Grammar.extend - [ Grammar.Entry.obj (term: 'a Grammar.Entry.e), - Some (Gramext.Level level), - [ None, - Some associativity, - [ p_atoms, - (make_action - (fun (env: CicNotationEnv.t) (loc: Ast.location) -> - (action env loc)) - p_bindings) ]]] - in - let keywords = CicNotationUtil.keywords_of_term level1_pattern in - let rule_id = p_atoms in - List.iter CicNotationLexer.add_level2_ast_keyword keywords; - Hashtbl.add owned_keywords rule_id keywords; (* keywords may be [] *) - rule_id - -let delete rule_id = - let atoms = rule_id in - (try - let keywords = Hashtbl.find owned_keywords rule_id in - List.iter CicNotationLexer.remove_level2_ast_keyword keywords - with Not_found -> assert false); - Grammar.delete_rule term atoms - -(** {2 Grammar} *) - -let parse_level1_pattern_ref = ref (fun _ -> assert false) -let parse_level2_ast_ref = ref (fun _ -> assert false) -let parse_level2_meta_ref = ref (fun _ -> assert false) - -let fold_cluster binder terms ty body = - List.fold_right - (fun term body -> Ast.Binder (binder, (term, ty), body)) - terms body (* terms are names: either Ident or FreshVar *) - -let fold_exists terms ty body = - List.fold_right - (fun term body -> - let lambda = Ast.Binder (`Lambda, (term, ty), body) in - Ast.Appl [ Ast.Symbol ("exists", 0); lambda ]) - terms body - -let fold_binder binder pt_names body = - List.fold_right - (fun (names, ty) body -> fold_cluster binder names ty body) - pt_names body - -let return_term loc term = Ast.AttributedTerm (`Loc loc, term) - - (* create empty precedence level for "term" *) -let _ = - let dummy_action = - Gramext.action (fun _ -> - failwith "internal error, lexer generated a dummy token") - in - (* Needed since campl4 on "delete_rule" remove the precedence level if it gets - * empty after the deletion. The lexer never generate the Stoken below. *) - let dummy_prod = [ [ Gramext.Stoken ("DUMMY", "") ], dummy_action ] in - let mk_level_list first last = - let rec aux acc = function - | i when i < first -> acc - | i -> - aux - ((Some (string_of_int i ^ "N"), Some Gramext.NonA, dummy_prod) - :: (Some (string_of_int i ^ "L"), Some Gramext.LeftA, dummy_prod) - :: (Some (string_of_int i ^ "R"), Some Gramext.RightA, dummy_prod) - :: acc) - (i - 1) - in - aux [] last - in - Grammar.extend - [ Grammar.Entry.obj (term: 'a Grammar.Entry.e), - None, - mk_level_list min_precedence max_precedence ] - -(* {{{ Grammar for concrete syntax patterns, notation level 1 *) -EXTEND - GLOBAL: level1_pattern; - - level1_pattern: [ [ p = l1_pattern; EOI -> CicNotationUtil.boxify p ] ]; - l1_pattern: [ [ p = LIST1 l1_simple_pattern -> p ] ]; - literal: [ - [ s = SYMBOL -> `Symbol s - | k = QKEYWORD -> `Keyword k - | n = NUMBER -> `Number n - ] - ]; - sep: [ [ "sep"; sep = literal -> sep ] ]; -(* row_sep: [ [ "rowsep"; sep = literal -> sep ] ]; - field_sep: [ [ "fieldsep"; sep = literal -> sep ] ]; *) - l1_magic_pattern: [ - [ "list0"; p = l1_simple_pattern; sep = OPT sep -> Ast.List0 (p, sep) - | "list1"; p = l1_simple_pattern; sep = OPT sep -> Ast.List1 (p, sep) - | "opt"; p = l1_simple_pattern -> Ast.Opt p - ] - ]; - l1_pattern_variable: [ - [ "term"; id = IDENT -> Ast.TermVar id - | "number"; id = IDENT -> Ast.NumVar id - | "ident"; id = IDENT -> Ast.IdentVar id - ] - ]; - l1_simple_pattern: - [ "layout" LEFTA - [ p1 = SELF; SYMBOL "\\sub"; p2 = SELF -> - return_term loc (Ast.Layout (Ast.Sub (p1, p2))) - | p1 = SELF; SYMBOL "\\sup"; p2 = SELF -> - return_term loc (Ast.Layout (Ast.Sup (p1, p2))) - | p1 = SELF; SYMBOL "\\below"; p2 = SELF -> - return_term loc (Ast.Layout (Ast.Below (p1, p2))) - | p1 = SELF; SYMBOL "\\above"; p2 = SELF -> - return_term loc (Ast.Layout (Ast.Above (p1, p2))) - | p1 = SELF; SYMBOL "\\over"; p2 = SELF -> - return_term loc (Ast.Layout (Ast.Over (p1, p2))) - | p1 = SELF; SYMBOL "\\atop"; p2 = SELF -> - return_term loc (Ast.Layout (Ast.Atop (p1, p2))) -(* | "array"; p = SELF; csep = OPT field_sep; rsep = OPT row_sep -> - return_term loc (Array (p, csep, rsep)) *) - | SYMBOL "\\frac"; p1 = SELF; p2 = SELF -> - return_term loc (Ast.Layout (Ast.Frac (p1, p2))) - | SYMBOL "\\sqrt"; p = SELF -> return_term loc (Ast.Layout (Ast.Sqrt p)) - | SYMBOL "\\root"; index = SELF; SYMBOL "\\of"; arg = SELF -> - return_term loc (Ast.Layout (Ast.Root (arg, index))) - | "hbox"; LPAREN; p = l1_pattern; RPAREN -> - return_term loc (Ast.Layout (Ast.Box ((Ast.H, false, false), p))) - | "vbox"; LPAREN; p = l1_pattern; RPAREN -> - return_term loc (Ast.Layout (Ast.Box ((Ast.V, false, false), p))) - | "hvbox"; LPAREN; p = l1_pattern; RPAREN -> - return_term loc (Ast.Layout (Ast.Box ((Ast.HV, false, false), p))) - | "hovbox"; LPAREN; p = l1_pattern; RPAREN -> - return_term loc (Ast.Layout (Ast.Box ((Ast.HOV, false, false), p))) - | "break" -> return_term loc (Ast.Layout Ast.Break) -(* | SYMBOL "\\SPACE" -> return_term loc (Layout Space) *) - | LPAREN; p = l1_pattern; RPAREN -> - return_term loc (CicNotationUtil.group p) - ] - | "simple" NONA - [ i = IDENT -> return_term loc (Ast.Variable (Ast.TermVar i)) - | m = l1_magic_pattern -> return_term loc (Ast.Magic m) - | v = l1_pattern_variable -> return_term loc (Ast.Variable v) - | l = literal -> return_term loc (Ast.Literal l) - ] - ]; - END -(* }}} *) - -(* {{{ Grammar for ast magics, notation level 2 *) -EXTEND - GLOBAL: level2_meta; - l2_variable: [ - [ "term"; id = IDENT -> Ast.TermVar id - | "number"; id = IDENT -> Ast.NumVar id - | "ident"; id = IDENT -> Ast.IdentVar id - | "fresh"; id = IDENT -> Ast.FreshVar id - | "anonymous" -> Ast.TermVar "_" - | id = IDENT -> Ast.TermVar id - ] - ]; - l2_magic: [ - [ "fold"; kind = [ "left" -> `Left | "right" -> `Right ]; - base = level2_meta; "rec"; id = IDENT; recursive = level2_meta -> - Ast.Fold (kind, base, [id], recursive) - | "default"; some = level2_meta; none = level2_meta -> - Ast.Default (some, none) - | "if"; p_test = level2_meta; - "then"; p_true = level2_meta; - "else"; p_false = level2_meta -> - Ast.If (p_test, p_true, p_false) - | "fail" -> Ast.Fail - ] - ]; - level2_meta: [ - [ magic = l2_magic -> Ast.Magic magic - | var = l2_variable -> Ast.Variable var - | blob = UNPARSED_AST -> - !parse_level2_ast_ref (Ulexing.from_utf8_string blob) - ] - ]; -END -(* }}} *) - -(* {{{ Grammar for ast patterns, notation level 2 *) -EXTEND - GLOBAL: level2_ast term let_defs; - level2_ast: [ [ p = term -> p ] ]; - sort: [ - [ "Prop" -> `Prop - | "Set" -> `Set - | "Type" -> `Type (CicUniv.fresh ()) - | "CProp" -> `CProp - ] - ]; - explicit_subst: [ - [ SYMBOL "\\subst"; (* to avoid catching frequent "a [1]" cases *) - SYMBOL "["; - substs = LIST1 [ - i = IDENT; SYMBOL <:unicode> (* ≔ *); t = term -> (i, t) - ] SEP SYMBOL ";"; - SYMBOL "]" -> - substs - ] - ]; - meta_subst: [ - [ s = SYMBOL "_" -> None - | p = term -> Some p ] - ]; - meta_substs: [ - [ SYMBOL "["; substs = LIST0 meta_subst; SYMBOL "]" -> substs ] - ]; - possibly_typed_name: [ - [ LPAREN; id = single_arg; SYMBOL ":"; typ = term; RPAREN -> - id, Some typ - | arg = single_arg -> arg, None - ] - ]; - match_pattern: [ - [ id = IDENT -> id, None, [] - | LPAREN; id = IDENT; vars = LIST1 possibly_typed_name; RPAREN -> - id, None, vars - ] - ]; - binder: [ - [ SYMBOL <:unicode> (* Π *) -> `Pi -(* | SYMBOL <:unicode> |+ ∃ +| -> `Exists *) - | SYMBOL <:unicode> (* ∀ *) -> `Forall - | SYMBOL <:unicode> (* λ *) -> `Lambda - ] - ]; - arg: [ - [ LPAREN; names = LIST1 IDENT SEP SYMBOL ","; - SYMBOL ":"; ty = term; RPAREN -> - List.map (fun n -> Ast.Ident (n, None)) names, Some ty - | name = IDENT -> [Ast.Ident (name, None)], None - | blob = UNPARSED_META -> - let meta = !parse_level2_meta_ref (Ulexing.from_utf8_string blob) in - match meta with - | Ast.Variable (Ast.FreshVar _) -> [meta], None - | Ast.Variable (Ast.TermVar "_") -> [Ast.Ident ("_", None)], None - | _ -> failwith "Invalid bound name." - ] - ]; - single_arg: [ - [ name = IDENT -> Ast.Ident (name, None) - | blob = UNPARSED_META -> - let meta = !parse_level2_meta_ref (Ulexing.from_utf8_string blob) in - match meta with - | Ast.Variable (Ast.FreshVar _) - | Ast.Variable (Ast.IdentVar _) -> meta - | Ast.Variable (Ast.TermVar "_") -> Ast.Ident ("_", None) - | _ -> failwith "Invalid index name." - ] - ]; - induction_kind: [ - [ "rec" -> `Inductive - | "corec" -> `CoInductive - ] - ]; - let_defs: [ - [ defs = LIST1 [ - name = single_arg; - args = LIST1 arg; - index_name = OPT [ "on"; id = single_arg -> id ]; - ty = OPT [ SYMBOL ":" ; p = term -> p ]; - SYMBOL <:unicode> (* ≝ *); body = term -> - let body = fold_binder `Lambda args body in - let ty = - match ty with - | None -> None - | Some ty -> Some (fold_binder `Pi args ty) - in - let rec position_of name p = function - | [] -> None, p - | n :: _ when n = name -> Some p, p - | _ :: tl -> position_of name (p + 1) tl - in - let rec find_arg name n = function - | [] -> - Ast.fail loc (sprintf "Argument %s not found" - (CicNotationPp.pp_term name)) - | (l,_) :: tl -> - (match position_of name 0 l with - | None, len -> find_arg name (n + len) tl - | Some where, len -> n + where) - in - let index = - match index_name with - | None -> 0 - | Some index_name -> find_arg index_name 0 args - in - (name, ty), body, index - ] SEP "and" -> - defs - ] - ]; - binder_vars: [ - [ vars = [ - l = LIST1 single_arg SEP SYMBOL "," -> l - | SYMBOL "_" -> [Ast.Ident ("_", None)] ]; - typ = OPT [ SYMBOL ":"; t = term -> t ] -> (vars, typ) - | LPAREN; - vars = [ - l = LIST1 single_arg SEP SYMBOL "," -> l - | SYMBOL "_" -> [Ast.Ident ("_", None)] ]; - typ = OPT [ SYMBOL ":"; t = term -> t ]; - RPAREN -> (vars, typ) - ] - ]; - term: LEVEL "10N" [ (* let in *) - [ "let"; var = possibly_typed_name; SYMBOL <:unicode> (* ≝ *); - p1 = term; "in"; p2 = term -> - return_term loc (Ast.LetIn (var, p1, p2)) - | "let"; k = induction_kind; defs = let_defs; "in"; - body = term -> - return_term loc (Ast.LetRec (k, defs, body)) - ] - ]; - term: LEVEL "20R" (* binder *) - [ - [ b = binder; (vars, typ) = binder_vars; SYMBOL "."; body = term -> - return_term loc (fold_cluster b vars typ body) - | SYMBOL <:unicode> (* ∃ *); - (vars, typ) = binder_vars; SYMBOL "."; body = term -> - return_term loc (fold_exists vars typ body) - ] - ]; - term: LEVEL "70L" (* apply *) - [ - [ p1 = term; p2 = term -> - let rec aux = function - | Ast.Appl (hd :: tl) - | Ast.AttributedTerm (_, Ast.Appl (hd :: tl)) -> - aux hd @ tl - | term -> [term] - in - return_term loc (Ast.Appl (aux p1 @ [p2])) - ] - ]; - term: LEVEL "90N" (* simple *) - [ - [ id = IDENT -> return_term loc (Ast.Ident (id, None)) - | id = IDENT; s = explicit_subst -> - return_term loc (Ast.Ident (id, Some s)) - | s = CSYMBOL -> return_term loc (Ast.Symbol (s, 0)) - | u = URI -> return_term loc (Ast.Uri (u, None)) - | n = NUMBER -> return_term loc (Ast.Num (n, 0)) - | IMPLICIT -> return_term loc (Ast.Implicit) - | PLACEHOLDER -> return_term loc Ast.UserInput - | m = META -> return_term loc (Ast.Meta (int_of_string m, [])) - | m = META; s = meta_substs -> - return_term loc (Ast.Meta (int_of_string m, s)) - | s = sort -> return_term loc (Ast.Sort s) - | "match"; t = term; - indty_ident = OPT [ "in"; id = IDENT -> id, None ]; - outtyp = OPT [ "return"; ty = term -> ty ]; - "with"; SYMBOL "["; - patterns = LIST0 [ - lhs = match_pattern; SYMBOL <:unicode> (* ⇒ *); - rhs = term -> - lhs, rhs - ] SEP SYMBOL "|"; - SYMBOL "]" -> - return_term loc (Ast.Case (t, indty_ident, outtyp, patterns)) - | LPAREN; p1 = term; SYMBOL ":"; p2 = term; RPAREN -> - return_term loc (Ast.Cast (p1, p2)) - | LPAREN; p = term; RPAREN -> p - | blob = UNPARSED_META -> - !parse_level2_meta_ref (Ulexing.from_utf8_string blob) - ] - ]; -END -(* }}} *) - -(** {2 API implementation} *) - -let exc_located_wrapper f = - try - f () - with - | Stdpp.Exc_located (floc, Stream.Error msg) -> - raise (Parse_error (floc, msg)) - | Stdpp.Exc_located (floc, exn) -> - raise (Parse_error (floc, (Printexc.to_string exn))) - -let parse_level1_pattern lexbuf = - exc_located_wrapper - (fun () -> Grammar.Entry.parse level1_pattern (Obj.magic lexbuf)) - -let parse_level2_ast lexbuf = - exc_located_wrapper - (fun () -> Grammar.Entry.parse level2_ast (Obj.magic lexbuf)) - -let parse_level2_meta lexbuf = - exc_located_wrapper - (fun () -> Grammar.Entry.parse level2_meta (Obj.magic lexbuf)) - -let _ = - parse_level1_pattern_ref := parse_level1_pattern; - parse_level2_ast_ref := parse_level2_ast; - parse_level2_meta_ref := parse_level2_meta - -(** {2 Debugging} *) - -let print_l2_pattern () = - Grammar.print_entry Format.std_formatter (Grammar.Entry.obj term); - Format.pp_print_flush Format.std_formatter (); - flush stdout - -(* vim:set encoding=utf8 foldmethod=marker: *) diff --git a/helm/ocaml/cic_notation/cicNotationParser.mli b/helm/ocaml/cic_notation/cicNotationParser.mli deleted file mode 100644 index d614c68bc..000000000 --- a/helm/ocaml/cic_notation/cicNotationParser.mli +++ /dev/null @@ -1,66 +0,0 @@ -(* Copyright (C) 2005, 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 Parse_error of Token.flocation * string -exception Level_not_found of int - -(** {2 Parsing functions} *) - - (** concrete syntax pattern: notation level 1 *) -val parse_level1_pattern: Ulexing.lexbuf -> CicNotationPt.term - - (** AST pattern: notation level 2 *) -val parse_level2_ast: Ulexing.lexbuf -> CicNotationPt.term -val parse_level2_meta: Ulexing.lexbuf -> CicNotationPt.term - -(** {2 Grammar extension} *) - -type rule_id - -val extend: - CicNotationPt.term -> (* level 1 pattern *) - precedence:int -> - associativity:Gramext.g_assoc -> - (CicNotationEnv.t -> CicNotationPt.location -> CicNotationPt.term) -> - rule_id - -val delete: rule_id -> unit - -(** {2 Grammar entries} - * needed by grafite parser *) - -val level2_ast_grammar: Grammar.g - -val term : CicNotationPt.term Grammar.Entry.e - -val let_defs : - (CicNotationPt.capture_variable * CicNotationPt.term * int) list - Grammar.Entry.e - -(** {2 Debugging} *) - - (** print "level2_pattern" entry on stdout, flushing afterwards *) -val print_l2_pattern: unit -> unit - diff --git a/helm/ocaml/cic_notation/cicNotationPp.ml b/helm/ocaml/cic_notation/cicNotationPp.ml deleted file mode 100644 index b5a2e04f2..000000000 --- a/helm/ocaml/cic_notation/cicNotationPp.ml +++ /dev/null @@ -1,259 +0,0 @@ -(* Copyright (C) 2004-2005, 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 - -module Ast = CicNotationPt -module Env = CicNotationEnv - - (* when set to true debugging information, not in sync with input syntax, will - * be added to the output of pp_term. - * set to false if you need, for example, cut and paste from matitac output to - * matitatop *) -let debug_printing = true - -let pp_binder = function - | `Lambda -> "lambda" - | `Pi -> "Pi" - | `Exists -> "exists" - | `Forall -> "forall" - -let pp_literal = - if debug_printing then - (function (* debugging version *) - | `Symbol s -> sprintf "symbol(%s)" s - | `Keyword s -> sprintf "keyword(%s)" s - | `Number s -> sprintf "number(%s)" s) - else - (function - | `Symbol s - | `Keyword s - | `Number s -> s) - -let pp_assoc = - function - | Gramext.NonA -> "NonA" - | Gramext.LeftA -> "LeftA" - | Gramext.RightA -> "RightA" - -let pp_pos = - function -(* `None -> "`None" *) - | `Left -> "`Left" - | `Right -> "`Right" - | `Inner -> "`Inner" - -let pp_attribute = - function - | `IdRef id -> sprintf "x(%s)" id - | `XmlAttrs attrs -> - sprintf "X(%s)" - (String.concat ";" - (List.map (fun (_, n, v) -> sprintf "%s=%s" n v) attrs)) - | `Level (prec, assoc) -> sprintf "L(%d%s)" prec (pp_assoc assoc) - | `Raw _ -> "R" - | `Loc _ -> "@" - | `ChildPos p -> sprintf "P(%s)" (pp_pos p) - -let rec pp_term ?(pp_parens = true) t = - let t_pp = - match t with - | Ast.AttributedTerm (attr, term) when debug_printing -> - sprintf "%s[%s]" (pp_attribute attr) (pp_term ~pp_parens:false term) - | Ast.AttributedTerm (`Raw text, _) -> text - | Ast.AttributedTerm (_, term) -> pp_term ~pp_parens:false term - | Ast.Appl terms -> - sprintf "%s" (String.concat " " (List.map pp_term terms)) - | Ast.Binder (`Forall, (Ast.Ident ("_", None), typ), body) - | Ast.Binder (`Pi, (Ast.Ident ("_", None), typ), body) -> - sprintf "%s \\to %s" - (match typ with None -> "?" | Some typ -> pp_term typ) - (pp_term body) - | Ast.Binder (kind, var, body) -> - sprintf "\\%s %s.%s" (pp_binder kind) (pp_capture_variable var) - (pp_term body) - | Ast.Case (term, indtype, typ, patterns) -> - sprintf "%smatch %s%s with %s" - (match typ with None -> "" | Some t -> sprintf "[%s]" (pp_term t)) - (pp_term term) - (match indtype with - | None -> "" - | Some (ty, href_opt) -> - sprintf " in %s%s" ty - (match debug_printing, href_opt with - | true, Some uri -> - sprintf "(i.e.%s)" (UriManager.string_of_uri uri) - | _ -> "")) - (pp_patterns patterns) - | Ast.Cast (t1, t2) -> sprintf "(%s: %s)" (pp_term t1) (pp_term t2) - | Ast.LetIn (var, t1, t2) -> - sprintf "let %s = %s in %s" (pp_capture_variable var) (pp_term t1) - (pp_term t2) - | Ast.LetRec (kind, definitions, term) -> - sprintf "let %s %s in %s" - (match kind with `Inductive -> "rec" | `CoInductive -> "corec") - (String.concat " and " - (List.map - (fun (var, body, _) -> - sprintf "%s = %s" (pp_capture_variable var) (pp_term body)) - definitions)) - (pp_term term) - | Ast.Ident (name, Some []) | Ast.Ident (name, None) - | Ast.Uri (name, Some []) | Ast.Uri (name, None) -> - name - | Ast.Ident (name, Some substs) - | Ast.Uri (name, Some substs) -> - sprintf "%s \\subst [%s]" name (pp_substs substs) - | Ast.Implicit -> "?" - | Ast.Meta (index, substs) -> - sprintf "%d[%s]" index - (String.concat "; " - (List.map (function None -> "_" | Some t -> pp_term t) substs)) - | Ast.Num (num, _) -> num - | Ast.Sort `Set -> "Set" - | Ast.Sort `Prop -> "Prop" - | Ast.Sort (`Type _) -> "Type" - | Ast.Sort `CProp -> "CProp" - | Ast.Symbol (name, _) -> "'" ^ name - - | Ast.UserInput -> "" - - | Ast.Literal l -> pp_literal l - | Ast.Layout l -> pp_layout l - | Ast.Magic m -> pp_magic m - | Ast.Variable v -> pp_variable v - in - if pp_parens then sprintf "(%s)" t_pp - else t_pp - -and pp_subst (name, term) = sprintf "%s \\Assign %s" name (pp_term term) -and pp_substs substs = String.concat "; " (List.map pp_subst substs) - -and pp_pattern ((head, href, vars), term) = - let head_pp = - head ^ - (match debug_printing, href with - | true, Some uri -> sprintf "(i.e.%s)" (UriManager.string_of_uri uri) - | _ -> "") - in - sprintf "%s \\Rightarrow %s" - (match vars with - | [] -> head_pp - | _ -> - sprintf "(%s %s)" head_pp - (String.concat " " (List.map pp_capture_variable vars))) - (pp_term term) - -and pp_patterns patterns = - sprintf "[%s]" (String.concat " | " (List.map pp_pattern patterns)) - -and pp_capture_variable = function - | term, None -> pp_term term - | term, Some typ -> "(" ^ pp_term term ^ ": " ^ pp_term typ ^ ")" - -and pp_box_spec (kind, spacing, indent) = - let int_of_bool b = if b then 1 else 0 in - let kind_string = - match kind with - Ast.H -> "H" | Ast.V -> "V" | Ast.HV -> "HV" | Ast.HOV -> "HOV" - in - sprintf "%sBOX%d%d" kind_string (int_of_bool spacing) (int_of_bool indent) - -and pp_layout = function - | Ast.Sub (t1, t2) -> sprintf "%s \\SUB %s" (pp_term t1) (pp_term t2) - | Ast.Sup (t1, t2) -> sprintf "%s \\SUP %s" (pp_term t1) (pp_term t2) - | Ast.Below (t1, t2) -> sprintf "%s \\BELOW %s" (pp_term t1) (pp_term t2) - | Ast.Above (t1, t2) -> sprintf "%s \\ABOVE %s" (pp_term t1) (pp_term t2) - | Ast.Over (t1, t2) -> sprintf "[%s \\OVER %s]" (pp_term t1) (pp_term t2) - | Ast.Atop (t1, t2) -> sprintf "[%s \\ATOP %s]" (pp_term t1) (pp_term t2) - | Ast.Frac (t1, t2) -> sprintf "\\FRAC %s %s" (pp_term t1) (pp_term t2) - | Ast.Sqrt t -> sprintf "\\SQRT %s" (pp_term t) - | Ast.Root (arg, index) -> - sprintf "\\ROOT %s \\OF %s" (pp_term index) (pp_term arg) - | Ast.Break -> "\\BREAK" -(* | Space -> "\\SPACE" *) - | Ast.Box (box_spec, terms) -> - sprintf "\\%s [%s]" (pp_box_spec box_spec) - (String.concat " " (List.map pp_term terms)) - | Ast.Group terms -> - sprintf "\\GROUP [%s]" (String.concat " " (List.map pp_term terms)) - -and pp_magic = function - | Ast.List0 (t, sep_opt) -> - sprintf "list0 %s%s" (pp_term t) (pp_sep_opt sep_opt) - | Ast.List1 (t, sep_opt) -> - sprintf "list1 %s%s" (pp_term t) (pp_sep_opt sep_opt) - | Ast.Opt t -> sprintf "opt %s" (pp_term t) - | Ast.Fold (kind, p_base, names, p_rec) -> - let acc = match names with acc :: _ -> acc | _ -> assert false in - sprintf "fold %s %s rec %s %s" - (pp_fold_kind kind) (pp_term p_base) acc (pp_term p_rec) - | Ast.Default (p_some, p_none) -> - sprintf "default %s %s" (pp_term p_some) (pp_term p_none) - | Ast.If (p_test, p_true, p_false) -> - sprintf "if %s then %s else %s" - (pp_term p_test) (pp_term p_true) (pp_term p_false) - | Ast.Fail -> "fail" - -and pp_fold_kind = function - | `Left -> "left" - | `Right -> "right" - -and pp_sep_opt = function - | None -> "" - | Some sep -> sprintf " sep %s" (pp_literal sep) - -and pp_variable = function - | Ast.NumVar s -> "number " ^ s - | Ast.IdentVar s -> "ident " ^ s - | Ast.TermVar s -> "term " ^ s - | Ast.Ascription (t, n) -> assert false - | Ast.FreshVar n -> "fresh " ^ n - -let pp_term t = pp_term ~pp_parens:false t - -let rec pp_value = function - | Env.TermValue t -> sprintf "$%s$" (pp_term t) - | Env.StringValue s -> sprintf "\"%s\"" s - | Env.NumValue n -> n - | Env.OptValue (Some v) -> "Some " ^ pp_value v - | Env.OptValue None -> "None" - | Env.ListValue l -> sprintf "[%s]" (String.concat "; " (List.map pp_value l)) - -let rec pp_value_type = - function - | Env.TermType -> "Term" - | Env.StringType -> "String" - | Env.NumType -> "Number" - | Env.OptType t -> "Maybe " ^ pp_value_type t - | Env.ListType l -> "List " ^ pp_value_type l - -let pp_env env = - String.concat "; " - (List.map - (fun (name, (ty, value)) -> - sprintf "%s : %s = %s" name (pp_value_type ty) (pp_value value)) - env) - diff --git a/helm/ocaml/cic_notation/cicNotationPp.mli b/helm/ocaml/cic_notation/cicNotationPp.mli deleted file mode 100644 index 2fb05c51b..000000000 --- a/helm/ocaml/cic_notation/cicNotationPp.mli +++ /dev/null @@ -1,34 +0,0 @@ -(* Copyright (C) 2004-2005, 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 pp_term: CicNotationPt.term -> string - -val pp_env: CicNotationEnv.t -> string -val pp_value: CicNotationEnv.value -> string -val pp_value_type: CicNotationEnv.value_type -> string - -val pp_pos: CicNotationPt.child_pos -> string -val pp_attribute: CicNotationPt.term_attribute -> string - diff --git a/helm/ocaml/cic_notation/cicNotationPres.ml b/helm/ocaml/cic_notation/cicNotationPres.ml deleted file mode 100644 index cc3a204a4..000000000 --- a/helm/ocaml/cic_notation/cicNotationPres.ml +++ /dev/null @@ -1,427 +0,0 @@ -(* Copyright (C) 2004-2005, 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/ - *) - -module Ast = CicNotationPt -module Mpres = Mpresentation - -type mathml_markup = boxml_markup Mpres.mpres -and boxml_markup = mathml_markup Box.box - -type markup = mathml_markup - -let atop_attributes = [None, "linethickness", "0pt"] - -let to_unicode = Utf8Macro.unicode_of_tex - -let rec make_attributes l1 = function - | [] -> [] - | hd :: tl -> - (match hd with - | None -> make_attributes (List.tl l1) tl - | Some s -> - let p,n = List.hd l1 in - (p,n,s) :: make_attributes (List.tl l1) tl) - -let box_of_mpres = - function - | Mpresentation.Mobject (attrs, box) -> - assert (attrs = []); - box - | mpres -> Box.Object ([], mpres) - -let mpres_of_box = - function - | Box.Object (attrs, mpres) -> - assert (attrs = []); - mpres - | box -> Mpresentation.Mobject ([], box) - -let rec genuine_math = - function - | Mpresentation.Mobject ([], obj) -> not (genuine_box obj) - | _ -> true -and genuine_box = - function - | Box.Object ([], mpres) -> not (genuine_math mpres) - | _ -> true - -let rec eligible_math = - function - | Mpresentation.Mobject ([], Box.Object ([], mpres)) -> eligible_math mpres - | Mpresentation.Mobject ([], _) -> false - | _ -> true - -let rec promote_to_math = - function - | Mpresentation.Mobject ([], Box.Object ([], mpres)) -> promote_to_math mpres - | math -> math - -let small_skip = - Mpresentation.Mspace (RenderingAttrs.small_skip_attributes `MathML) - -let rec add_mpres_attributes new_attr = function - | Mpresentation.Mobject (attr, box) -> - Mpresentation.Mobject (attr, add_box_attributes new_attr box) - | mpres -> - Mpresentation.set_attr (new_attr @ Mpresentation.get_attr mpres) mpres -and add_box_attributes new_attr = function - | Box.Object (attr, mpres) -> - Box.Object (attr, add_mpres_attributes new_attr mpres) - | box -> Box.set_attr (new_attr @ Box.get_attr box) box - -let box_of mathonly spec attrs children = - match children with - | [t] -> add_mpres_attributes attrs t - | _ -> - let kind, spacing, indent = spec in - let dress children = - if spacing then - CicNotationUtil.dress small_skip children - else - children - in - if mathonly then Mpresentation.Mrow (attrs, dress children) - else - let attrs' = - (if spacing then RenderingAttrs.spacing_attributes `BoxML else []) - @ (if indent then RenderingAttrs.indent_attributes `BoxML else []) - @ attrs - in - match kind with - | Ast.H -> - if List.for_all eligible_math children then - Mpresentation.Mrow (attrs', - dress (List.map promote_to_math children)) - else - mpres_of_box (Box.H (attrs', - List.map box_of_mpres children)) -(* | Ast.H when List.for_all genuine_math children -> - Mpresentation.Mrow (attrs', dress children) *) - | Ast.V -> - mpres_of_box (Box.V (attrs', - List.map box_of_mpres children)) - | Ast.HV -> - mpres_of_box (Box.HV (attrs', - List.map box_of_mpres children)) - | Ast.HOV -> - mpres_of_box (Box.HOV (attrs', - List.map box_of_mpres children)) - -let open_paren = Mpresentation.Mo ([], "(") -let closed_paren = Mpresentation.Mo ([], ")") -let open_brace = Mpresentation.Mo ([], "{") -let closed_brace = Mpresentation.Mo ([], "}") -let hidden_substs = Mpresentation.Mtext ([], "{...}") -let open_box_paren = Box.Text ([], "(") -let closed_box_paren = Box.Text ([], ")") -let semicolon = Mpresentation.Mo ([], ";") -let toggle_action children = - Mpresentation.Maction ([None, "actiontype", "toggle"], children) - -type child_pos = [ `Left | `Right | `Inner ] - -let pp_assoc = - function - | Gramext.LeftA -> "LeftA" - | Gramext.RightA -> "RightA" - | Gramext.NonA -> "NonA" - -let is_atomic t = - let rec aux_mpres = function - | Mpres.Mi _ - | Mpres.Mo _ - | Mpres.Mn _ - | Mpres.Ms _ - | Mpres.Mtext _ - | Mpres.Mspace _ -> true - | Mpres.Mobject (_, box) -> aux_box box - | Mpres.Maction (_, [mpres]) - | Mpres.Mrow (_, [mpres]) -> aux_mpres mpres - | _ -> false - and aux_box = function - | Box.Space _ - | Box.Ink _ - | Box.Text _ -> true - | Box.Object (_, mpres) -> aux_mpres mpres - | Box.H (_, [box]) - | Box.V (_, [box]) - | Box.HV (_, [box]) - | Box.HOV (_, [box]) - | Box.Action (_, [box]) -> aux_box box - | _ -> false - in - aux_mpres t - -let add_parens child_prec child_assoc child_pos curr_prec t = - if is_atomic t then t - else if child_prec >= 0 - && (child_prec < curr_prec - || (child_prec = curr_prec && - child_assoc = Gramext.LeftA && - child_pos = `Right) - || (child_prec = curr_prec && - child_assoc = Gramext.RightA && - child_pos = `Left)) - then (* parens should be added *) -(* (prerr_endline "adding parens"; - prerr_endline (Printf.sprintf "child_prec = %d\nchild_assoc = %s\nchild_pos = %s\ncurr_prec= %d" - child_prec (pp_assoc child_assoc) (CicNotationPp.pp_pos - child_pos) curr_prec); *) - match t with - | Mpresentation.Mobject (_, box) -> - mpres_of_box (Box.H ([], [ open_box_paren; box; closed_box_paren ])) - | mpres -> Mpresentation.Mrow ([], [open_paren; t; closed_paren]) - else - t - -let render ids_to_uris = - let module A = Ast in - let module P = Mpresentation in - let use_unicode = true in - let lookup_uri id = - (try - let uri = Hashtbl.find ids_to_uris id in - Some (UriManager.string_of_uri uri) - with Not_found -> None) - in - let make_href xmlattrs xref = - let xref_uris = - List.fold_right - (fun xref uris -> - match lookup_uri xref with - | None -> uris - | Some uri -> uri :: uris) - !xref [] - in - let xmlattrs_uris, xmlattrs = - let xref_attrs, other_attrs = - List.partition - (function Some "xlink", "href", _ -> true | _ -> false) - xmlattrs - in - List.map (fun (_, _, uri) -> uri) xref_attrs, - other_attrs - in - let uris = - match xmlattrs_uris @ xref_uris with - | [] -> None - | uris -> - Some (String.concat " " - (HExtlib.list_uniq (List.sort String.compare uris))) - in - let xrefs = - match !xref with [] -> None | xrefs -> Some (String.concat " " xrefs) - in - xref := []; - xmlattrs - @ make_attributes [Some "helm", "xref"; Some "xlink", "href"] - [xrefs; uris] - in - let make_xref xref = - let xrefs = - match !xref with [] -> None | xrefs -> Some (String.concat " " xrefs) - in - xref := []; - make_attributes [Some "helm","xref"] [xrefs] - in - (* when mathonly is true no boxes should be generated, only mrows *) - (* "xref" is *) - let rec aux xmlattrs mathonly xref pos prec t = - match t with - | A.AttributedTerm _ -> - aux_attributes xmlattrs mathonly xref pos prec t - | A.Num (literal, _) -> - let attrs = - (RenderingAttrs.number_attributes `MathML) - @ make_href xmlattrs xref - in - Mpres.Mn (attrs, literal) - | A.Symbol (literal, _) -> - let attrs = - (RenderingAttrs.symbol_attributes `MathML) - @ make_href xmlattrs xref - in - Mpres.Mo (attrs, to_unicode literal) - | A.Ident (literal, subst) - | A.Uri (literal, subst) -> - let attrs = - (RenderingAttrs.ident_attributes `MathML) - @ make_href xmlattrs xref - in - let name = Mpres.Mi (attrs, to_unicode literal) in - (match subst with - | Some [] - | None -> name - | Some substs -> - let substs' = - box_of mathonly (A.H, false, false) [] - (open_brace - :: (CicNotationUtil.dress semicolon - (List.map - (fun (name, t) -> - box_of mathonly (A.H, false, false) [] [ - Mpres.Mi ([], name); - Mpres.Mo ([], to_unicode "\\def"); - aux [] mathonly xref pos prec t ]) - substs)) - @ [ closed_brace ]) - in - let substs_maction = toggle_action [ hidden_substs; substs' ] in - box_of mathonly (A.H, false, false) [] [ name; substs_maction ]) - | A.Literal l -> aux_literal xmlattrs xref prec l - | A.UserInput -> Mpres.Mtext ([], "%") - | A.Layout l -> aux_layout mathonly xref pos prec l - | A.Magic _ - | A.Variable _ -> assert false (* should have been instantiated *) - | t -> - prerr_endline ("unexpected ast: " ^ CicNotationPp.pp_term t); - assert false - and aux_attributes xmlattrs mathonly xref pos prec t = - let reset = ref false in - let new_level = ref None in - let new_xref = ref [] in - let new_xmlattrs = ref [] in - let new_pos = ref pos in - let reinit = ref false in - let rec aux_attribute = - function - | A.AttributedTerm (attr, t) -> - (match attr with - | `Loc _ - | `Raw _ -> () - | `Level (-1, _) -> reset := true - | `Level (child_prec, child_assoc) -> - new_level := Some (child_prec, child_assoc) - | `IdRef xref -> new_xref := xref :: !new_xref - | `ChildPos pos -> new_pos := pos - | `XmlAttrs attrs -> new_xmlattrs := attrs @ !new_xmlattrs); - aux_attribute t - | t -> - (match !new_level with - | None -> aux !new_xmlattrs mathonly new_xref !new_pos prec t - | Some (child_prec, child_assoc) -> - let t' = - aux !new_xmlattrs mathonly new_xref !new_pos child_prec t - in - if !reset then t' - else add_parens child_prec child_assoc !new_pos prec t') - in - aux_attribute t - and aux_literal xmlattrs xref prec l = - let attrs = make_href xmlattrs xref in - (match l with - | `Symbol s -> Mpres.Mo (attrs, to_unicode s) - | `Keyword s -> Mpres.Mo (attrs, to_unicode s) - | `Number s -> Mpres.Mn (attrs, to_unicode s)) - and aux_layout mathonly xref pos prec l = - let attrs = make_xref xref in - let invoke' t = aux [] true (ref []) pos prec t in - (* use the one below to reset precedence and associativity *) - let invoke_reinit t = aux [] mathonly xref `Inner ~-1 t in - match l with - | A.Sub (t1, t2) -> Mpres.Msub (attrs, invoke' t1, invoke_reinit t2) - | A.Sup (t1, t2) -> Mpres.Msup (attrs, invoke' t1, invoke_reinit t2) - | A.Below (t1, t2) -> Mpres.Munder (attrs, invoke' t1, invoke_reinit t2) - | A.Above (t1, t2) -> Mpres.Mover (attrs, invoke' t1, invoke_reinit t2) - | A.Frac (t1, t2) - | A.Over (t1, t2) -> - Mpres.Mfrac (attrs, invoke_reinit t1, invoke_reinit t2) - | A.Atop (t1, t2) -> - Mpres.Mfrac (atop_attributes @ attrs, invoke_reinit t1, - invoke_reinit t2) - | A.Sqrt t -> Mpres.Msqrt (attrs, invoke_reinit t) - | A.Root (t1, t2) -> - Mpres.Mroot (attrs, invoke_reinit t1, invoke_reinit t2) - | A.Box ((_, spacing, _) as kind, terms) -> - let children = - aux_children mathonly spacing xref pos prec - (CicNotationUtil.ungroup terms) - in - box_of mathonly kind attrs children - | A.Group terms -> - let children = - aux_children mathonly false xref pos prec - (CicNotationUtil.ungroup terms) - in - box_of mathonly (A.H, false, false) attrs children - | A.Break -> assert false (* TODO? *) - and aux_children mathonly spacing xref pos prec terms = - let find_clusters = - let rec aux_list first clusters acc = - function - [] when acc = [] -> List.rev clusters - | [] -> aux_list first (List.rev acc :: clusters) [] [] - | (A.Layout A.Break) :: tl when acc = [] -> - aux_list first clusters [] tl - | (A.Layout A.Break) :: tl -> - aux_list first (List.rev acc :: clusters) [] tl - | [hd] -> -(* let pos' = - if first then - pos - else - match pos with - `None -> `Right - | `Inner -> `Inner - | `Right -> `Right - | `Left -> `Inner - in *) - aux_list false clusters - (aux [] mathonly xref pos prec hd :: acc) [] - | hd :: tl -> -(* let pos' = - match pos, first with - `None, true -> `Left - | `None, false -> `Inner - | `Left, true -> `Left - | `Left, false -> `Inner - | `Right, _ -> `Inner - | `Inner, _ -> `Inner - in *) - aux_list false clusters - (aux [] mathonly xref pos prec hd :: acc) tl - in - aux_list true [] [] - in - let boxify_pres = - function - [t] -> t - | tl -> box_of mathonly (A.H, spacing, false) [] tl - in - List.map boxify_pres (find_clusters terms) - in - aux [] false (ref []) `Inner ~-1 - -let rec print_box (t: boxml_markup) = - Box.box2xml print_mpres t -and print_mpres (t: mathml_markup) = - Mpresentation.print_mpres print_box t - -let print_xml = print_mpres - -(* let render_to_boxml id_to_uri t = - let xml_stream = print_box (box_of_mpres (render id_to_uri t)) in - Xml.add_xml_declaration xml_stream *) - diff --git a/helm/ocaml/cic_notation/cicNotationPres.mli b/helm/ocaml/cic_notation/cicNotationPres.mli deleted file mode 100644 index 04411df2b..000000000 --- a/helm/ocaml/cic_notation/cicNotationPres.mli +++ /dev/null @@ -1,52 +0,0 @@ -(* Copyright (C) 2004-2005, 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/ - *) - -type mathml_markup = boxml_markup Mpresentation.mpres -and boxml_markup = mathml_markup Box.box - -type markup = mathml_markup - -(** {2 Markup conversions} *) - -val mpres_of_box: boxml_markup -> mathml_markup -val box_of_mpres: mathml_markup -> boxml_markup - -(** {2 Rendering} *) - -(** level 1 -> level 0 - * @param ids_to_uris mapping id -> uri for hyperlinking *) -val render: (Cic.id, UriManager.uri) Hashtbl.t -> CicNotationPt.term -> markup - -(** level 0 -> xml stream *) -val print_xml: markup -> Xml.token Stream.t - -(* |+* level 1 -> xml stream - * @param ids_to_uris +| -val render_to_boxml: - (Cic.id, string) Hashtbl.t -> CicNotationPt.term -> Xml.token Stream.t *) - -val print_box: boxml_markup -> Xml.token Stream.t -val print_mpres: mathml_markup -> Xml.token Stream.t - diff --git a/helm/ocaml/cic_notation/cicNotationPt.ml b/helm/ocaml/cic_notation/cicNotationPt.ml deleted file mode 100644 index ac6a0edbd..000000000 --- a/helm/ocaml/cic_notation/cicNotationPt.ml +++ /dev/null @@ -1,175 +0,0 @@ -(* Copyright (C) 2005, 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/ - *) - -(** CIC Notation Parse Tree *) - -type binder_kind = [ `Lambda | `Pi | `Exists | `Forall ] -type induction_kind = [ `Inductive | `CoInductive ] -type sort_kind = [ `Prop | `Set | `Type of CicUniv.universe | `CProp ] -type fold_kind = [ `Left | `Right ] - -type location = Lexing.position * Lexing.position -(* cut and past from CicAst.loc_of_floc *) -let loc_of_floc = function - | { Lexing.pos_cnum = loc_begin }, { Lexing.pos_cnum = loc_end } -> - (loc_begin, loc_end) -let fail floc msg = - let (x, y) = loc_of_floc floc in - failwith (Printf.sprintf "Error at characters %d - %d: %s" x y msg) - -type href = UriManager.uri - -type child_pos = [ `Left | `Right | `Inner ] - -type term_attribute = - [ `Loc of location (* source file location *) - | `IdRef of string (* ACic pointer *) - | `Level of int * Gramext.g_assoc (* precedence, associativity *) - | `ChildPos of child_pos (* position of l1 pattern variables *) - | `XmlAttrs of (string option * string * string) list - (* list of XML attributes: namespace, name, value *) - | `Raw of string (* unparsed version *) - ] - -type literal = - [ `Symbol of string - | `Keyword of string - | `Number of string - ] - -type case_indtype = string * href option - -(** To be increased each time the term type below changes, used for "safe" - * marshalling *) -let magic = 1 - -type term = - (* CIC AST *) - - | AttributedTerm of term_attribute * term - - | Appl of term list - | Binder of binder_kind * capture_variable * term (* kind, name, body *) - | Case of term * case_indtype option * term option * - (case_pattern * term) list - (* what to match, inductive type, out type, list *) - | Cast of term * term - | LetIn of capture_variable * term * term (* name, body, where *) - | LetRec of induction_kind * (capture_variable * term * int) list * term - (* (name, body, decreasing argument) list, where *) - | Ident of string * subst list option - (* literal, substitutions. - * Some [] -> user has given an empty explicit substitution list - * None -> user has given no explicit substitution list *) - | Implicit - | Meta of int * meta_subst list - | Num of string * int (* literal, instance *) - | Sort of sort_kind - | Symbol of string * int (* canonical name, instance *) - - | UserInput (* place holder for user input, used by MatitaConsole, not to be - used elsewhere *) - | Uri of string * subst list option (* as Ident, for long names *) - - (* Syntax pattern extensions *) - - | Literal of literal - | Layout of layout_pattern - - | Magic of magic_term - | Variable of pattern_variable - - (* name, type. First component must be Ident or Variable (FreshVar _) *) -and capture_variable = term * term option - -and meta_subst = term option -and subst = string * term -and case_pattern = string * href option * capture_variable list - -and box_kind = H | V | HV | HOV -and box_spec = box_kind * bool * bool (* kind, spacing, indent *) - -and layout_pattern = - | Sub of term * term - | Sup of term * term - | Below of term * term - | Above of term * term - | Frac of term * term - | Over of term * term - | Atop of term * term -(* | array of term * literal option * literal option - |+ column separator, row separator +| *) - | Sqrt of term - | Root of term * term (* argument, index *) - | Break - | Box of box_spec * term list - | Group of term list - -and magic_term = - (* level 1 magics *) - | List0 of term * literal option (* pattern, separator *) - | List1 of term * literal option (* pattern, separator *) - | Opt of term - - (* level 2 magics *) - | Fold of fold_kind * term * string list * term - (* base case pattern, recursive case bound names, recursive case pattern *) - | Default of term * term (* "some" case pattern, "none" case pattern *) - | Fail - | If of term * term * term (* test, pattern if true, pattern if false *) - -and pattern_variable = - (* level 1 and 2 variables *) - | NumVar of string - | IdentVar of string - | TermVar of string - - (* level 1 variables *) - | Ascription of term * string - - (* level 2 variables *) - | FreshVar of string - -type argument_pattern = - | IdentArg of int * string (* eta-depth, name *) - -type cic_appl_pattern = - | UriPattern of UriManager.uri - | VarPattern of string - | ImplicitPattern - | ApplPattern of cic_appl_pattern list - -(** {2 Standard precedences} *) - -let let_in_prec = 10 -let binder_prec = 20 -let apply_prec = 70 -let simple_prec = 90 - -let let_in_assoc = Gramext.NonA -let binder_assoc = Gramext.RightA -let apply_assoc = Gramext.LeftA -let simple_assoc = Gramext.NonA - diff --git a/helm/ocaml/cic_notation/cicNotationRew.ml b/helm/ocaml/cic_notation/cicNotationRew.ml deleted file mode 100644 index 8bbc22e24..000000000 --- a/helm/ocaml/cic_notation/cicNotationRew.ml +++ /dev/null @@ -1,780 +0,0 @@ -(* Copyright (C) 2004-2005, 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 - -module Ast = CicNotationPt - -let debug = false -let debug_print s = if debug then prerr_endline (Lazy.force s) else () - -type pattern_id = int -type interpretation_id = pattern_id -type pretty_printer_id = pattern_id - -type term_info = - { sort: (Cic.id, Ast.sort_kind) Hashtbl.t; - uri: (Cic.id, UriManager.uri) Hashtbl.t; - } - -let get_types uri = - let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - match o with - | Cic.InductiveDefinition (l,_,_,_) -> l - | _ -> assert false - -let name_of_inductive_type uri i = - let types = get_types uri in - let (name, _, _, _) = try List.nth types i with Not_found -> assert false in - name - - (* returns pairs *) -let constructors_of_inductive_type uri i = - let types = get_types uri in - let (_, _, _, constructors) = - try List.nth types i with Not_found -> assert false - in - constructors - - (* returns name only *) -let constructor_of_inductive_type uri i j = - (try - fst (List.nth (constructors_of_inductive_type uri i) (j-1)) - with Not_found -> assert false) - -let idref id t = Ast.AttributedTerm (`IdRef id, t) - -let resolve_binder = function - | `Lambda -> "\\lambda" - | `Pi -> "\\Pi" - | `Forall -> "\\forall" - | `Exists -> "\\exists" - -let add_level_info prec assoc t = Ast.AttributedTerm (`Level (prec, assoc), t) -let add_pos_info pos t = Ast.AttributedTerm (`ChildPos pos, t) -let left_pos = add_pos_info `Left -let right_pos = add_pos_info `Right -let inner_pos = add_pos_info `Inner - -let rec top_pos t = add_level_info ~-1 Gramext.NonA (inner_pos t) -(* function - | Ast.AttributedTerm (`Level _, t) -> - add_level_info ~-1 Gramext.NonA (inner_pos t) - | Ast.AttributedTerm (attr, t) -> Ast.AttributedTerm (attr, top_pos t) - | t -> add_level_info ~-1 Gramext.NonA (inner_pos t) *) - -let rec remove_level_info = - function - | Ast.AttributedTerm (`Level _, t) -> remove_level_info t - | Ast.AttributedTerm (a, t) -> Ast.AttributedTerm (a, remove_level_info t) - | t -> t - -let add_xml_attrs attrs t = - if attrs = [] then t else Ast.AttributedTerm (`XmlAttrs attrs, t) - -let add_keyword_attrs = - add_xml_attrs (RenderingAttrs.keyword_attributes `MathML) - -let box kind spacing indent content = - Ast.Layout (Ast.Box ((kind, spacing, indent), content)) - -let hbox = box Ast.H -let vbox = box Ast.V -let hvbox = box Ast.HV -let hovbox = box Ast.HOV -let break = Ast.Layout Ast.Break -let builtin_symbol s = Ast.Literal (`Symbol s) -let keyword k = add_keyword_attrs (Ast.Literal (`Keyword k)) - -let number s = - add_xml_attrs (RenderingAttrs.number_attributes `MathML) - (Ast.Literal (`Number s)) - -let ident i = - add_xml_attrs (RenderingAttrs.ident_attributes `MathML) (Ast.Ident (i, None)) - -let ident_w_href href i = - match href with - | None -> ident i - | Some href -> - let href = UriManager.string_of_uri href in - add_xml_attrs [Some "xlink", "href", href] (ident i) - -let binder_symbol s = - add_xml_attrs (RenderingAttrs.builtin_symbol_attributes `MathML) - (builtin_symbol s) - -let string_of_sort_kind = function - | `Prop -> "Prop" - | `Set -> "Set" - | `CProp -> "CProp" - | `Type _ -> "Type" - -let pp_ast0 t k = - let rec aux = - function - | Ast.Appl ts -> - let rec aux_args pos = - function - | [] -> [] - | [ last ] -> - let last = k last in - if pos = `Left then [ left_pos last ] else [ right_pos last ] - | hd :: tl -> - (add_pos_info pos (k hd)) :: aux_args `Inner tl - in - add_level_info Ast.apply_prec Ast.apply_assoc - (hovbox true true (CicNotationUtil.dress break (aux_args `Left ts))) - | Ast.Binder (binder_kind, (id, ty), body) -> - add_level_info Ast.binder_prec Ast.binder_assoc - (hvbox false true - [ binder_symbol (resolve_binder binder_kind); - k id; builtin_symbol ":"; aux_ty ty; break; - builtin_symbol "."; right_pos (k body) ]) - | Ast.Case (what, indty_opt, outty_opt, patterns) -> - let outty_box = - match outty_opt with - | None -> [] - | Some outty -> - [ keyword "return"; break; remove_level_info (k outty)] - in - let indty_box = - match indty_opt with - | None -> [] - | Some (indty, href) -> [ keyword "in"; break; ident_w_href href indty ] - in - let match_box = - hvbox false false [ - hvbox false true [ - hvbox false true [ keyword "match"; break; top_pos (k what) ]; - break; - hvbox false true indty_box; - break; - hvbox false true outty_box - ]; - break; - keyword "with" - ] - in - let mk_case_pattern (head, href, vars) = - hbox true false (ident_w_href href head :: List.map aux_var vars) - in - let patterns' = - List.map - (fun (lhs, rhs) -> - remove_level_info - (hvbox false true [ - hbox false true [ - mk_case_pattern lhs; builtin_symbol "\\Rightarrow" ]; - break; top_pos (k rhs) ])) - patterns - in - let patterns'' = - let rec aux_patterns = function - | [] -> assert false - | [ last ] -> - [ break; - hbox false false [ - builtin_symbol "|"; - last; builtin_symbol "]" ] ] - | hd :: tl -> - [ break; hbox false false [ builtin_symbol "|"; hd ] ] - @ aux_patterns tl - in - match patterns' with - | [] -> - [ hbox false false [ builtin_symbol "["; builtin_symbol "]" ] ] - | [ one ] -> - [ hbox false false [ - builtin_symbol "["; one; builtin_symbol "]" ] ] - | hd :: tl -> - hbox false false [ builtin_symbol "["; hd ] - :: aux_patterns tl - in - add_level_info Ast.simple_prec Ast.simple_assoc - (hvbox false false [ - hvbox false false ([match_box]); break; - hbox false false [ hvbox false false patterns'' ] ]) - | Ast.Cast (bo, ty) -> - add_level_info Ast.simple_prec Ast.simple_assoc - (hvbox false true [ - builtin_symbol "("; top_pos (k bo); break; builtin_symbol ":"; - top_pos (k ty); builtin_symbol ")"]) - | Ast.LetIn (var, s, t) -> - add_level_info Ast.let_in_prec Ast.let_in_assoc - (hvbox false true [ - hvbox false true [ - keyword "let"; - hvbox false true [ - aux_var var; builtin_symbol "\\def"; break; top_pos (k s) ]; - break; keyword "in" ]; - break; - k t ]) - | Ast.LetRec (rec_kind, funs, where) -> - let rec_op = - match rec_kind with `Inductive -> "rec" | `CoInductive -> "corec" - in - let mk_fun (var, body, _) = aux_var var, k body in - let mk_funs = List.map mk_fun in - let fst_fun, tl_funs = - match mk_funs funs with hd :: tl -> hd, tl | [] -> assert false - in - let fst_row = - let (name, body) = fst_fun in - hvbox false true [ - keyword "let"; keyword rec_op; name; builtin_symbol "\\def"; break; - top_pos body ] - in - let tl_rows = - List.map - (fun (name, body) -> - [ break; - hvbox false true [ - keyword "and"; name; builtin_symbol "\\def"; break; body ] ]) - tl_funs - in - add_level_info Ast.let_in_prec Ast.let_in_assoc - ((hvbox false false - (fst_row :: List.flatten tl_rows - @ [ break; keyword "in"; break; k where ]))) - | Ast.Implicit -> builtin_symbol "?" - | Ast.Meta (n, l) -> - let local_context l = - CicNotationUtil.dress (builtin_symbol ";") - (List.map (function None -> builtin_symbol "_" | Some t -> k t) l) - in - hbox false false - ([ builtin_symbol "?"; number (string_of_int n) ] - @ (if l <> [] then local_context l else [])) - | Ast.Sort sort -> aux_sort sort - | Ast.Num _ - | Ast.Symbol _ - | Ast.Ident (_, None) | Ast.Ident (_, Some []) - | Ast.Uri (_, None) | Ast.Uri (_, Some []) - | Ast.Literal _ - | Ast.UserInput as leaf -> leaf - | t -> CicNotationUtil.visit_ast ~special_k k t - and aux_sort sort_kind = - add_xml_attrs (RenderingAttrs.keyword_attributes `MathML) - (Ast.Ident (string_of_sort_kind sort_kind, None)) - and aux_ty = function - | None -> builtin_symbol "?" - | Some ty -> k ty - and aux_var = function - | name, Some ty -> - hvbox false true [ - builtin_symbol "("; name; builtin_symbol ":"; break; k ty; - builtin_symbol ")" ] - | name, None -> name - and special_k = function - | Ast.AttributedTerm (attrs, t) -> Ast.AttributedTerm (attrs, k t) - | t -> - prerr_endline ("unexpected special: " ^ CicNotationPp.pp_term t); - assert false - in - aux t - -let ast_of_acic0 term_info acic k = - let k = k term_info in - let id_to_uris = term_info.uri in - let register_uri id uri = Hashtbl.add id_to_uris id uri in - let sort_of_id id = - try - Hashtbl.find term_info.sort id - with Not_found -> - prerr_endline (sprintf "warning: sort of id %s not found, using Type" id); - `Type (CicUniv.fresh ()) - in - let aux_substs substs = - Some - (List.map - (fun (uri, annterm) -> (UriManager.name_of_uri uri, k annterm)) - substs) - in - let aux_context context = - List.map - (function - | None -> None - | Some annterm -> Some (k annterm)) - context - in - let aux = function - | Cic.ARel (id,_,_,b) -> idref id (Ast.Ident (b, None)) - | Cic.AVar (id,uri,substs) -> - register_uri id uri; - idref id (Ast.Ident (UriManager.name_of_uri uri, aux_substs substs)) - | Cic.AMeta (id,n,l) -> idref id (Ast.Meta (n, aux_context l)) - | Cic.ASort (id,Cic.Prop) -> idref id (Ast.Sort `Prop) - | Cic.ASort (id,Cic.Set) -> idref id (Ast.Sort `Set) - | Cic.ASort (id,Cic.Type u) -> idref id (Ast.Sort (`Type u)) - | Cic.ASort (id,Cic.CProp) -> idref id (Ast.Sort `CProp) - | Cic.AImplicit (id, Some `Hole) -> idref id Ast.UserInput - | Cic.AImplicit (id, _) -> idref id Ast.Implicit - | Cic.AProd (id,n,s,t) -> - let binder_kind = - match sort_of_id id with - | `Set | `Type _ -> `Pi - | `Prop | `CProp -> `Forall - in - idref id (Ast.Binder (binder_kind, - (CicNotationUtil.name_of_cic_name n, Some (k s)), k t)) - | Cic.ACast (id,v,t) -> idref id (Ast.Cast (k v, k t)) - | Cic.ALambda (id,n,s,t) -> - idref id (Ast.Binder (`Lambda, - (CicNotationUtil.name_of_cic_name n, Some (k s)), k t)) - | Cic.ALetIn (id,n,s,t) -> - idref id (Ast.LetIn ((CicNotationUtil.name_of_cic_name n, None), - k s, k t)) - | Cic.AAppl (aid,args) -> idref aid (Ast.Appl (List.map k args)) - | Cic.AConst (id,uri,substs) -> - register_uri id uri; - idref id (Ast.Ident (UriManager.name_of_uri uri, aux_substs substs)) - | Cic.AMutInd (id,uri,i,substs) as t -> - let name = name_of_inductive_type uri i in - let uri_str = UriManager.string_of_uri uri in - let puri_str = sprintf "%s#xpointer(1/%d)" uri_str (i+1) in - register_uri id (UriManager.uri_of_string puri_str); - idref id (Ast.Ident (name, aux_substs substs)) - | Cic.AMutConstruct (id,uri,i,j,substs) -> - let name = constructor_of_inductive_type uri i j in - let uri_str = UriManager.string_of_uri uri in - let puri_str = sprintf "%s#xpointer(1/%d/%d)" uri_str (i + 1) j in - register_uri id (UriManager.uri_of_string puri_str); - idref id (Ast.Ident (name, aux_substs substs)) - | Cic.AMutCase (id,uri,typeno,ty,te,patterns) -> - let name = name_of_inductive_type uri typeno in - let uri_str = UriManager.string_of_uri uri in - let puri_str = sprintf "%s#xpointer(1/%d)" uri_str (typeno+1) in - let ctor_puri j = - UriManager.uri_of_string - (sprintf "%s#xpointer(1/%d/%d)" uri_str (typeno+1) j) - in - let case_indty = name, Some (UriManager.uri_of_string puri_str) in - let constructors = constructors_of_inductive_type uri typeno in - let rec eat_branch ty pat = - match (ty, pat) with - | Cic.Prod (_, _, t), Cic.ALambda (_, name, s, t') -> - let (cv, rhs) = eat_branch t t' in - (CicNotationUtil.name_of_cic_name name, Some (k s)) :: cv, rhs - | _, _ -> [], k pat - in - let j = ref 0 in - let patterns = - try - List.map2 - (fun (name, ty) pat -> - incr j; - let (capture_variables, rhs) = eat_branch ty pat in - ((name, Some (ctor_puri !j), capture_variables), rhs)) - constructors patterns - with Invalid_argument _ -> assert false - in - idref id (Ast.Case (k te, Some case_indty, Some (k ty), patterns)) - | Cic.AFix (id, no, funs) -> - let defs = - List.map - (fun (_, n, decr_idx, ty, bo) -> - ((Ast.Ident (n, None), Some (k ty)), k bo, decr_idx)) - funs - in - let name = - try - (match List.nth defs no with - | (Ast.Ident (n, _), _), _, _ when n <> "_" -> n - | _ -> assert false) - with Not_found -> assert false - in - idref id (Ast.LetRec (`Inductive, defs, Ast.Ident (name, None))) - | Cic.ACoFix (id, no, funs) -> - let defs = - List.map - (fun (_, n, ty, bo) -> - ((Ast.Ident (n, None), Some (k ty)), k bo, 0)) - funs - in - let name = - try - (match List.nth defs no with - | (Ast.Ident (n, _), _), _, _ when n <> "_" -> n - | _ -> assert false) - with Not_found -> assert false - in - idref id (Ast.LetRec (`CoInductive, defs, Ast.Ident (name, None))) - in - aux acic - - (* persistent state *) - -let level1_patterns21 = Hashtbl.create 211 -let level2_patterns32 = Hashtbl.create 211 -let interpretations = Hashtbl.create 211 (* symb -> id list ref *) - -let compiled21 = ref None -let compiled32 = ref None - -let pattern21_matrix = ref [] -let pattern32_matrix = ref [] - -let get_compiled21 () = - match !compiled21 with - | None -> assert false - | Some f -> Lazy.force f -let get_compiled32 () = - match !compiled32 with - | None -> assert false - | Some f -> Lazy.force f - -let set_compiled21 f = compiled21 := Some f -let set_compiled32 f = compiled32 := Some f - -let add_idrefs = - List.fold_right (fun idref t -> Ast.AttributedTerm (`IdRef idref, t)) - -let instantiate21 idrefs env l1 = - let rec subst_singleton pos env = - function - Ast.AttributedTerm (attr, t) -> - Ast.AttributedTerm (attr, subst_singleton pos env t) - | t -> CicNotationUtil.group (subst pos env t) - and subst pos env = function - | Ast.AttributedTerm (attr, t) as term -> -(* prerr_endline ("loosing attribute " ^ CicNotationPp.pp_attribute attr); *) - subst pos env t - | Ast.Variable var -> - let name, expected_ty = CicNotationEnv.declaration_of_var var in - let ty, value = - try - List.assoc name env - with Not_found -> - prerr_endline ("name " ^ name ^ " not found in environment"); - assert false - in - assert (CicNotationEnv.well_typed ty value); (* INVARIANT *) - (* following assertion should be a conditional that makes this - * instantiation fail *) - assert (CicNotationEnv.well_typed expected_ty value); - [ add_pos_info pos (CicNotationEnv.term_of_value value) ] - | Ast.Magic m -> subst_magic pos env m - | Ast.Literal l as t -> - let t = add_idrefs idrefs t in - (match l with - | `Keyword k -> [ add_keyword_attrs t ] - | _ -> [ t ]) - | Ast.Layout l -> [ Ast.Layout (subst_layout pos env l) ] - | t -> [ CicNotationUtil.visit_ast (subst_singleton pos env) t ] - and subst_magic pos env = function - | Ast.List0 (p, sep_opt) - | Ast.List1 (p, sep_opt) -> - let rec_decls = CicNotationEnv.declarations_of_term p in - let rec_values = - List.map (fun (n, _) -> CicNotationEnv.lookup_list env n) rec_decls - in - let values = CicNotationUtil.ncombine rec_values in - let sep = - match sep_opt with - | None -> [] - | Some l -> [ Ast.Literal l ] - in - let rec instantiate_list acc = function - | [] -> List.rev acc - | value_set :: [] -> - let env = CicNotationEnv.combine rec_decls value_set in - instantiate_list (CicNotationUtil.group (subst pos env p) :: acc) - [] - | value_set :: tl -> - let env = CicNotationEnv.combine rec_decls value_set in - let terms = subst pos env p in - instantiate_list (CicNotationUtil.group (terms @ sep) :: acc) tl - in - instantiate_list [] values - | Ast.Opt p -> - let opt_decls = CicNotationEnv.declarations_of_term p in - let env = - let rec build_env = function - | [] -> [] - | (name, ty) :: tl -> - (* assumption: if one of the value is None then all are *) - (match CicNotationEnv.lookup_opt env name with - | None -> raise Exit - | Some v -> (name, (ty, v)) :: build_env tl) - in - try build_env opt_decls with Exit -> [] - in - begin - match env with - | [] -> [] - | _ -> subst pos env p - end - | _ -> assert false (* impossible *) - and subst_layout pos env = function - | Ast.Box (kind, tl) -> - let tl' = subst_children pos env tl in - Ast.Box (kind, List.concat tl') - | l -> CicNotationUtil.visit_layout (subst_singleton pos env) l - and subst_children pos env = - function - | [] -> [] - | [ child ] -> - let pos' = - match pos with - | `Inner -> `Right - | `Left -> `Left -(* | `None -> assert false *) - | `Right -> `Right - in - [ subst pos' env child ] - | hd :: tl -> - let pos' = - match pos with - | `Inner -> `Inner - | `Left -> `Inner -(* | `None -> assert false *) - | `Right -> `Right - in - (subst pos env hd) :: subst_children pos' env tl - in - subst_singleton `Left env l1 - -let rec pp_ast1 term = - let rec pp_value = function - | CicNotationEnv.NumValue _ as v -> v - | CicNotationEnv.StringValue _ as v -> v -(* | CicNotationEnv.TermValue t when t == term -> CicNotationEnv.TermValue (pp_ast0 t pp_ast1) *) - | CicNotationEnv.TermValue t -> CicNotationEnv.TermValue (pp_ast1 t) - | CicNotationEnv.OptValue None as v -> v - | CicNotationEnv.OptValue (Some v) -> - CicNotationEnv.OptValue (Some (pp_value v)) - | CicNotationEnv.ListValue vl -> - CicNotationEnv.ListValue (List.map pp_value vl) - in - let ast_env_of_env env = - List.map (fun (var, (ty, value)) -> (var, (ty, pp_value value))) env - in -(* prerr_endline ("pattern matching from 2 to 1 on term " ^ CicNotationPp.pp_term term); *) - match term with - | Ast.AttributedTerm (attrs, term') -> - Ast.AttributedTerm (attrs, pp_ast1 term') - | _ -> - (match (get_compiled21 ()) term with - | None -> pp_ast0 term pp_ast1 - | Some (env, ctors, pid) -> - let idrefs = - List.flatten (List.map CicNotationUtil.get_idrefs ctors) - in - let l1 = - try - Hashtbl.find level1_patterns21 pid - with Not_found -> assert false - in - instantiate21 idrefs (ast_env_of_env env) l1) - -let instantiate32 term_info idrefs env symbol args = - let rec instantiate_arg = function - | Ast.IdentArg (n, name) -> - let t = (try List.assoc name env with Not_found -> assert false) in - let rec count_lambda = function - | Ast.AttributedTerm (_, t) -> count_lambda t - | Ast.Binder (`Lambda, _, body) -> 1 + count_lambda body - | _ -> 0 - in - let rec add_lambda t n = - if n > 0 then - let name = CicNotationUtil.fresh_name () in - Ast.Binder (`Lambda, (Ast.Ident (name, None), None), - Ast.Appl [add_lambda t (n - 1); Ast.Ident (name, None)]) - else - t - in - add_lambda t (n - count_lambda t) - in - let head = - let symbol = Ast.Symbol (symbol, 0) in - add_idrefs idrefs symbol - in - if args = [] then head - else Ast.Appl (head :: List.map instantiate_arg args) - -let rec ast_of_acic1 term_info annterm = - let id_to_uris = term_info.uri in - let register_uri id uri = Hashtbl.add id_to_uris id uri in - match (get_compiled32 ()) annterm with - | None -> ast_of_acic0 term_info annterm ast_of_acic1 - | Some (env, ctors, pid) -> - let idrefs = - List.map - (fun annterm -> - let idref = CicUtil.id_of_annterm annterm in - (try - register_uri idref - (CicUtil.uri_of_term (Deannotate.deannotate_term annterm)) - with Invalid_argument _ -> ()); - idref) - ctors - in - let env' = - List.map (fun (name, term) -> (name, ast_of_acic1 term_info term)) env - in - let _, symbol, args, _ = - try - Hashtbl.find level2_patterns32 pid - with Not_found -> assert false - in - let ast = instantiate32 term_info idrefs env' symbol args in - Ast.AttributedTerm (`IdRef (CicUtil.id_of_annterm annterm), ast) - -let load_patterns32 t = - let t = - HExtlib.filter_map (function (true, ap, id) -> Some (ap, id) | _ -> None) t - in - set_compiled32 (lazy (CicNotationMatcher.Matcher32.compiler t)) - -let load_patterns21 t = - set_compiled21 (lazy (CicNotationMatcher.Matcher21.compiler t)) - -let ast_of_acic id_to_sort annterm = - debug_print (lazy ("ast_of_acic <- " - ^ CicPp.ppterm (Deannotate.deannotate_term annterm))); - let term_info = { sort = id_to_sort; uri = Hashtbl.create 211 } in - let ast = ast_of_acic1 term_info annterm in - debug_print (lazy ("ast_of_acic -> " ^ CicNotationPp.pp_term ast)); - ast, term_info.uri - -let pp_ast ast = - debug_print (lazy "pp_ast <-"); - let ast' = pp_ast1 ast in - debug_print (lazy ("pp_ast -> " ^ CicNotationPp.pp_term ast')); - ast' - -let fresh_id = - let counter = ref ~-1 in - fun () -> - incr counter; - !counter - -let add_interpretation dsc (symbol, args) appl_pattern = - let id = fresh_id () in - Hashtbl.add level2_patterns32 id (dsc, symbol, args, appl_pattern); - pattern32_matrix := (true, appl_pattern, id) :: !pattern32_matrix; - load_patterns32 !pattern32_matrix; - (try - let ids = Hashtbl.find interpretations symbol in - ids := id :: !ids - with Not_found -> Hashtbl.add interpretations symbol (ref [id])); - id - -let get_all_interpretations () = - List.map - (function (_, _, id) -> - let (dsc, _, _, _) = - try - Hashtbl.find level2_patterns32 id - with Not_found -> assert false - in - (id, dsc)) - !pattern32_matrix - -let get_active_interpretations () = - HExtlib.filter_map (function (true, _, id) -> Some id | _ -> None) - !pattern32_matrix - -let set_active_interpretations ids = - let pattern32_matrix' = - List.map - (function - | (_, ap, id) when List.mem id ids -> (true, ap, id) - | (_, ap, id) -> (false, ap, id)) - !pattern32_matrix - in - pattern32_matrix := pattern32_matrix'; - load_patterns32 !pattern32_matrix - -exception Interpretation_not_found -exception Pretty_printer_not_found - -let rec list_uniq = function - | [] -> [] - | h::[] -> [h] - | h1::h2::tl when h1 = h2 -> list_uniq (h2 :: tl) - | h1::tl (* when h1 <> h2 *) -> h1 :: list_uniq tl - -let lookup_interpretations symbol = - try - list_uniq - (List.sort Pervasives.compare - (List.map - (fun id -> - let (dsc, _, args, appl_pattern) = - try - Hashtbl.find level2_patterns32 id - with Not_found -> assert false - in - dsc, args, appl_pattern) - !(Hashtbl.find interpretations symbol))) - with Not_found -> raise Interpretation_not_found - -let fill_pos_info l1_pattern = l1_pattern -(* let rec aux toplevel pos = - function - | Ast.Layout l -> - (match l - - | Ast.Magic m -> - Ast.Box ( - | Ast.Variable _ as t -> add_pos_info pos t - | t -> t - in - aux true l1_pattern *) - -let add_pretty_printer ~precedence ~associativity l2 l1 = - let id = fresh_id () in - let l1' = add_level_info precedence associativity (fill_pos_info l1) in - let l2' = CicNotationUtil.strip_attributes l2 in - Hashtbl.add level1_patterns21 id l1'; - pattern21_matrix := (l2', id) :: !pattern21_matrix; - load_patterns21 !pattern21_matrix; - id - -let remove_interpretation id = - (try - let _, symbol, _, _ = Hashtbl.find level2_patterns32 id in - let ids = Hashtbl.find interpretations symbol in - ids := List.filter ((<>) id) !ids; - Hashtbl.remove level2_patterns32 id; - with Not_found -> raise Interpretation_not_found); - pattern32_matrix := - List.filter (fun (_, _, id') -> id <> id') !pattern32_matrix; - load_patterns32 !pattern32_matrix - -let remove_pretty_printer id = - (try - Hashtbl.remove level1_patterns21 id; - with Not_found -> raise Pretty_printer_not_found); - pattern21_matrix := List.filter (fun (_, id') -> id <> id') !pattern21_matrix; - load_patterns21 !pattern21_matrix - -let _ = - load_patterns21 []; - load_patterns32 [] - diff --git a/helm/ocaml/cic_notation/cicNotationRew.mli b/helm/ocaml/cic_notation/cicNotationRew.mli deleted file mode 100644 index f587291aa..000000000 --- a/helm/ocaml/cic_notation/cicNotationRew.mli +++ /dev/null @@ -1,74 +0,0 @@ -(* Copyright (C) 2004-2005, 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/ - *) - - (** level 3 -> level 2 *) -val ast_of_acic: - (Cic.id, CicNotationPt.sort_kind) Hashtbl.t -> (* id -> sort *) - Cic.annterm -> (* acic *) - CicNotationPt.term (* ast *) - * (Cic.id, UriManager.uri) Hashtbl.t (* id -> uri *) - - (** level 2 -> level 1 *) -val pp_ast: CicNotationPt.term -> CicNotationPt.term - - (** for level 1 -> level 0: see CicNotationPres.render *) - -type interpretation_id -type pretty_printer_id - -val add_interpretation: - string -> (* id / description *) - string * CicNotationPt.argument_pattern list -> (* symbol, level 2 pattern *) - CicNotationPt.cic_appl_pattern -> (* level 3 pattern *) - interpretation_id - - (** @raise Interpretation_not_found *) -val lookup_interpretations: - string -> (* symbol *) - (string * CicNotationPt.argument_pattern list * - CicNotationPt.cic_appl_pattern) list - -val add_pretty_printer: - precedence:int -> - associativity:Gramext.g_assoc -> - CicNotationPt.term -> (* level 2 pattern *) - CicNotationPt.term -> (* level 1 pattern *) - pretty_printer_id - -exception Interpretation_not_found -exception Pretty_printer_not_found - - (** @raise Interpretation_not_found *) -val remove_interpretation: interpretation_id -> unit - - (** @raise Pretty_printer_not_found *) -val remove_pretty_printer: pretty_printer_id -> unit - -(** {2 Interpretations toggling} *) - -val get_all_interpretations: unit -> (interpretation_id * string) list -val get_active_interpretations: unit -> interpretation_id list -val set_active_interpretations: interpretation_id list -> unit - diff --git a/helm/ocaml/cic_notation/cicNotationTag.ml b/helm/ocaml/cic_notation/cicNotationTag.ml deleted file mode 100644 index 3cbffa2db..000000000 --- a/helm/ocaml/cic_notation/cicNotationTag.ml +++ /dev/null @@ -1,45 +0,0 @@ -(* Copyright (C) 2004-2005, 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/ - *) - -module Ast = CicNotationPt - -type tag = int -type pattern_t = Ast.term - -let get_tag term0 = - let subterms = ref [] in - let map_term t = - subterms := t :: !subterms ; - Ast.Implicit - in - let rec aux t = CicNotationUtil.visit_ast ~special_k map_term t - and special_k = function - | Ast.AttributedTerm (_, t) -> aux t - | _ -> assert false - in - let term_mask = aux term0 in - let tag = Hashtbl.hash term_mask in - tag, List.rev !subterms - diff --git a/helm/ocaml/cic_notation/cicNotationTag.mli b/helm/ocaml/cic_notation/cicNotationTag.mli deleted file mode 100644 index bf04e0a9f..000000000 --- a/helm/ocaml/cic_notation/cicNotationTag.mli +++ /dev/null @@ -1,27 +0,0 @@ -(* Copyright (C) 2004-2005, 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 get_tag: CicNotationPt.term -> int * CicNotationPt.term list - diff --git a/helm/ocaml/cic_notation/cicNotationUtil.ml b/helm/ocaml/cic_notation/cicNotationUtil.ml deleted file mode 100644 index 887f5bf05..000000000 --- a/helm/ocaml/cic_notation/cicNotationUtil.ml +++ /dev/null @@ -1,385 +0,0 @@ -(* Copyright (C) 2004-2005, 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/ - *) - -module Ast = CicNotationPt - -let visit_ast ?(special_k = fun _ -> assert false) k = - let rec aux = function - | Ast.Appl terms -> Ast.Appl (List.map k terms) - | Ast.Binder (kind, var, body) -> - Ast.Binder (kind, aux_capture_variable var, k body) - | Ast.Case (term, indtype, typ, patterns) -> - Ast.Case (k term, indtype, aux_opt typ, aux_patterns patterns) - | Ast.Cast (t1, t2) -> Ast.Cast (k t1, k t2) - | Ast.LetIn (var, t1, t2) -> - Ast.LetIn (aux_capture_variable var, k t1, k t2) - | Ast.LetRec (kind, definitions, term) -> - let definitions = - List.map - (fun (var, ty, n) -> aux_capture_variable var, k ty, n) - definitions - in - Ast.LetRec (kind, definitions, k term) - | Ast.Ident (name, Some substs) -> - Ast.Ident (name, Some (aux_substs substs)) - | Ast.Uri (name, Some substs) -> Ast.Uri (name, Some (aux_substs substs)) - | Ast.Meta (index, substs) -> Ast.Meta (index, List.map aux_opt substs) - | (Ast.AttributedTerm _ - | Ast.Layout _ - | Ast.Literal _ - | Ast.Magic _ - | Ast.Variable _) as t -> special_k t - | (Ast.Ident _ - | Ast.Implicit - | Ast.Num _ - | Ast.Sort _ - | Ast.Symbol _ - | Ast.Uri _ - | Ast.UserInput) as t -> t - and aux_opt = function - | None -> None - | Some term -> Some (k term) - and aux_capture_variable (term, typ_opt) = k term, aux_opt typ_opt - and aux_patterns patterns = List.map aux_pattern patterns - and aux_pattern ((head, hrefs, vars), term) = - ((head, hrefs, List.map aux_capture_variable vars), k term) - and aux_subst (name, term) = (name, k term) - and aux_substs substs = List.map aux_subst substs - in - aux - -let visit_layout k = function - | Ast.Sub (t1, t2) -> Ast.Sub (k t1, k t2) - | Ast.Sup (t1, t2) -> Ast.Sup (k t1, k t2) - | Ast.Below (t1, t2) -> Ast.Below (k t1, k t2) - | Ast.Above (t1, t2) -> Ast.Above (k t1, k t2) - | Ast.Over (t1, t2) -> Ast.Over (k t1, k t2) - | Ast.Atop (t1, t2) -> Ast.Atop (k t1, k t2) - | Ast.Frac (t1, t2) -> Ast.Frac (k t1, k t2) - | Ast.Sqrt t -> Ast.Sqrt (k t) - | Ast.Root (arg, index) -> Ast.Root (k arg, k index) - | Ast.Break -> Ast.Break - | Ast.Box (kind, terms) -> Ast.Box (kind, List.map k terms) - | Ast.Group terms -> Ast.Group (List.map k terms) - -let visit_magic k = function - | Ast.List0 (t, l) -> Ast.List0 (k t, l) - | Ast.List1 (t, l) -> Ast.List1 (k t, l) - | Ast.Opt t -> Ast.Opt (k t) - | Ast.Fold (kind, t1, names, t2) -> Ast.Fold (kind, k t1, names, k t2) - | Ast.Default (t1, t2) -> Ast.Default (k t1, k t2) - | Ast.If (t1, t2, t3) -> Ast.If (k t1, k t2, k t3) - | Ast.Fail -> Ast.Fail - -let visit_variable k = function - | Ast.NumVar _ - | Ast.IdentVar _ - | Ast.TermVar _ - | Ast.FreshVar _ as t -> t - | Ast.Ascription (t, s) -> Ast.Ascription (k t, s) - -let variables_of_term t = - let rec vars = ref [] in - let add_variable v = - if List.mem v !vars then () - else vars := v :: !vars - in - let rec aux = function - | Ast.Magic m -> Ast.Magic (visit_magic aux m) - | Ast.Layout l -> Ast.Layout (visit_layout aux l) - | Ast.Variable v -> Ast.Variable (aux_variable v) - | Ast.Literal _ as t -> t - | Ast.AttributedTerm (_, t) -> aux t - | t -> visit_ast aux t - and aux_variable = function - | (Ast.NumVar _ - | Ast.IdentVar _ - | Ast.TermVar _) as t -> - add_variable t ; - t - | Ast.FreshVar _ as t -> t - | Ast.Ascription _ -> assert false - in - ignore (aux t) ; - !vars - -let names_of_term t = - let aux = function - | Ast.NumVar s - | Ast.IdentVar s - | Ast.TermVar s -> s - | _ -> assert false - in - List.map aux (variables_of_term t) - -let keywords_of_term t = - let rec keywords = ref [] in - let add_keyword k = keywords := k :: !keywords in - let rec aux = function - | Ast.AttributedTerm (_, t) -> aux t - | Ast.Layout l -> Ast.Layout (visit_layout aux l) - | Ast.Literal (`Keyword k) as t -> - add_keyword k; - t - | Ast.Literal _ as t -> t - | Ast.Magic m -> Ast.Magic (visit_magic aux m) - | Ast.Variable _ as v -> v - | t -> visit_ast aux t - in - ignore (aux t) ; - !keywords - -let rec strip_attributes t = - let special_k = function - | Ast.AttributedTerm (_, term) -> strip_attributes term - | Ast.Magic m -> Ast.Magic (visit_magic strip_attributes m) - | Ast.Variable _ as t -> t - | t -> assert false - in - visit_ast ~special_k strip_attributes t - -let rec get_idrefs = - function - | Ast.AttributedTerm (`IdRef id, t) -> id :: get_idrefs t - | Ast.AttributedTerm (_, t) -> get_idrefs t - | _ -> [] - -let meta_names_of_term term = - let rec names = ref [] in - let add_name n = - if List.mem n !names then () - else names := n :: !names - in - let rec aux = function - | Ast.AttributedTerm (_, term) -> aux term - | Ast.Appl terms -> List.iter aux terms - | Ast.Binder (_, _, body) -> aux body - | Ast.Case (term, indty, outty_opt, patterns) -> - aux term ; - aux_opt outty_opt ; - List.iter aux_branch patterns - | Ast.LetIn (_, t1, t2) -> - aux t1 ; - aux t2 - | Ast.LetRec (_, definitions, body) -> - List.iter aux_definition definitions ; - aux body - | Ast.Uri (_, Some substs) -> aux_substs substs - | Ast.Ident (_, Some substs) -> aux_substs substs - | Ast.Meta (_, substs) -> aux_meta_substs substs - - | Ast.Implicit - | Ast.Ident _ - | Ast.Num _ - | Ast.Sort _ - | Ast.Symbol _ - | Ast.Uri _ - | Ast.UserInput -> () - - | Ast.Magic magic -> aux_magic magic - | Ast.Variable var -> aux_variable var - - | _ -> assert false - and aux_opt = function - | Some term -> aux term - | None -> () - and aux_capture_var (_, ty_opt) = aux_opt ty_opt - and aux_branch (pattern, term) = - aux_pattern pattern ; - aux term - and aux_pattern (head, _, vars) = - List.iter aux_capture_var vars - and aux_definition (var, term, i) = - aux_capture_var var ; - aux term - and aux_substs substs = List.iter (fun (_, term) -> aux term) substs - and aux_meta_substs meta_substs = List.iter aux_opt meta_substs - and aux_variable = function - | Ast.NumVar name -> add_name name - | Ast.IdentVar name -> add_name name - | Ast.TermVar name -> add_name name - | Ast.FreshVar _ -> () - | Ast.Ascription _ -> assert false - and aux_magic = function - | Ast.Default (t1, t2) - | Ast.Fold (_, t1, _, t2) -> - aux t1 ; - aux t2 - | Ast.If (t1, t2, t3) -> - aux t1 ; - aux t2 ; - aux t3 - | Ast.Fail -> () - | _ -> assert false - in - aux term ; - !names - -let rectangular matrix = - let columns = Array.length matrix.(0) in - try - Array.iter (fun a -> if Array.length a <> columns then raise Exit) matrix; - true - with Exit -> false - -let ncombine ll = - let matrix = Array.of_list (List.map Array.of_list ll) in - assert (rectangular matrix); - let rows = Array.length matrix in - let columns = Array.length matrix.(0) in - let lists = ref [] in - for j = 0 to columns - 1 do - let l = ref [] in - for i = 0 to rows - 1 do - l := matrix.(i).(j) :: !l - done; - lists := List.rev !l :: !lists - done; - List.rev !lists - -let string_of_literal = function - | `Symbol s - | `Keyword s - | `Number s -> s - -let boxify = function - | [ a ] -> a - | l -> Ast.Layout (Ast.Box ((Ast.H, false, false), l)) - -let unboxify = function - | Ast.Layout (Ast.Box ((Ast.H, false, false), [ a ])) -> a - | l -> l - -let group = function - | [ a ] -> a - | l -> Ast.Layout (Ast.Group l) - -let ungroup = - let rec aux acc = - function - [] -> List.rev acc - | Ast.Layout (Ast.Group terms) :: terms' -> aux acc (terms @ terms') - | term :: terms -> aux (term :: acc) terms - in - aux [] - -let dress ~sep:sauce = - let rec aux = - function - | [] -> [] - | [hd] -> [hd] - | hd :: tl -> hd :: sauce :: aux tl - in - aux - -let dressn ~sep:sauces = - let rec aux = - function - | [] -> [] - | [hd] -> [hd] - | hd :: tl -> hd :: sauces @ aux tl - in - aux - -let find_appl_pattern_uris ap = - let rec aux acc = - function - | Ast.UriPattern uri -> uri :: acc - | Ast.ImplicitPattern - | Ast.VarPattern _ -> acc - | Ast.ApplPattern apl -> List.fold_left aux acc apl - in - let uris = aux [] ap in - HExtlib.list_uniq (List.fast_sort UriManager.compare uris) - -let rec find_branch = - function - Ast.Magic (Ast.If (_, Ast.Magic Ast.Fail, t)) -> find_branch t - | Ast.Magic (Ast.If (_, t, _)) -> find_branch t - | t -> t - -let cic_name_of_name = function - | Ast.Ident ("_", None) -> Cic.Anonymous - | Ast.Ident (name, None) -> Cic.Name name - | _ -> assert false - -let name_of_cic_name = -(* let add_dummy_xref t = Ast.AttributedTerm (`IdRef "", t) in *) - (* ZACK why we used to generate dummy xrefs? *) - let add_dummy_xref t = t in - function - | Cic.Name s -> add_dummy_xref (Ast.Ident (s, None)) - | Cic.Anonymous -> add_dummy_xref (Ast.Ident ("_", None)) - -let fresh_index = ref ~-1 - -type notation_id = int - -let fresh_id () = - incr fresh_index; - !fresh_index - - (* TODO ensure that names generated by fresh_var do not clash with user's *) -let fresh_name () = "fresh" ^ string_of_int (fresh_id ()) - -let rec freshen_term ?(index = ref 0) term = - let freshen_term = freshen_term ~index in - let fresh_instance () = incr index; !index in - let special_k = function - | Ast.AttributedTerm (attr, t) -> Ast.AttributedTerm (attr, freshen_term t) - | Ast.Layout l -> Ast.Layout (visit_layout freshen_term l) - | Ast.Magic m -> Ast.Magic (visit_magic freshen_term m) - | Ast.Variable v -> Ast.Variable (visit_variable freshen_term v) - | Ast.Literal _ as t -> t - | _ -> assert false - in - match term with - | Ast.Symbol (s, instance) -> Ast.Symbol (s, fresh_instance ()) - | Ast.Num (s, instance) -> Ast.Num (s, fresh_instance ()) - | t -> visit_ast ~special_k freshen_term t - -let freshen_obj obj = - let index = ref 0 in - let freshen_term = freshen_term ~index in - let freshen_name_ty = List.map (fun (n, t) -> (n, freshen_term t)) in - match obj with - | GrafiteAst.Inductive (params, indtypes) -> - let indtypes = - List.map - (fun (n, co, ty, ctors) -> (n, co, ty, freshen_name_ty ctors)) - indtypes - in - GrafiteAst.Inductive (freshen_name_ty params, indtypes) - | GrafiteAst.Theorem (flav, n, t, ty_opt) -> - let ty_opt = - match ty_opt with None -> None | Some ty -> Some (freshen_term ty) - in - GrafiteAst.Theorem (flav, n, freshen_term t, ty_opt) - | GrafiteAst.Record (params, n, ty, fields) -> - GrafiteAst.Record (freshen_name_ty params, n, freshen_term ty, - freshen_name_ty fields) - -let freshen_term = freshen_term ?index:None - diff --git a/helm/ocaml/cic_notation/cicNotationUtil.mli b/helm/ocaml/cic_notation/cicNotationUtil.mli deleted file mode 100644 index ad16a2eb6..000000000 --- a/helm/ocaml/cic_notation/cicNotationUtil.mli +++ /dev/null @@ -1,91 +0,0 @@ -(* Copyright (C) 2004-2005, 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 fresh_name: unit -> string - -val variables_of_term: CicNotationPt.term -> CicNotationPt.pattern_variable list -val names_of_term: CicNotationPt.term -> string list - - (** extract all keywords (i.e. string literals) from a level 1 pattern *) -val keywords_of_term: CicNotationPt.term -> string list - -val visit_ast: - ?special_k:(CicNotationPt.term -> CicNotationPt.term) -> - (CicNotationPt.term -> CicNotationPt.term) -> - CicNotationPt.term -> - CicNotationPt.term - -val visit_layout: - (CicNotationPt.term -> CicNotationPt.term) -> - CicNotationPt.layout_pattern -> - CicNotationPt.layout_pattern - -val visit_magic: - (CicNotationPt.term -> CicNotationPt.term) -> - CicNotationPt.magic_term -> - CicNotationPt.magic_term - -val visit_variable: - (CicNotationPt.term -> CicNotationPt.term) -> - CicNotationPt.pattern_variable -> - CicNotationPt.pattern_variable - -val strip_attributes: CicNotationPt.term -> CicNotationPt.term - - (** @return the list of proper (i.e. non recursive) IdRef of a term *) -val get_idrefs: CicNotationPt.term -> string list - - (** generalization of List.combine to n lists *) -val ncombine: 'a list list -> 'a list list - -val string_of_literal: CicNotationPt.literal -> string - -val dress: sep:'a -> 'a list -> 'a list -val dressn: sep:'a list -> 'a list -> 'a list - -val boxify: CicNotationPt.term list -> CicNotationPt.term -val group: CicNotationPt.term list -> CicNotationPt.term -val ungroup: CicNotationPt.term list -> CicNotationPt.term list - -val find_appl_pattern_uris: - CicNotationPt.cic_appl_pattern -> UriManager.uri list - -val find_branch: - CicNotationPt.term -> CicNotationPt.term - -val cic_name_of_name: CicNotationPt.term -> Cic.name -val name_of_cic_name: Cic.name -> CicNotationPt.term - - (** Symbol/Numbers instances *) - -val freshen_term: CicNotationPt.term -> CicNotationPt.term -val freshen_obj: GrafiteAst.obj -> GrafiteAst.obj - - (** Notation id handling *) - -type notation_id - -val fresh_id: unit -> notation_id - diff --git a/helm/ocaml/cic_notation/doc/.cvsignore b/helm/ocaml/cic_notation/doc/.cvsignore deleted file mode 100644 index 583537c57..000000000 --- a/helm/ocaml/cic_notation/doc/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -main.aux -main.dvi -main.log -main.out -main.pdf -main.ps diff --git a/helm/ocaml/cic_notation/doc/Makefile b/helm/ocaml/cic_notation/doc/Makefile deleted file mode 100644 index b7d8fb45c..000000000 --- a/helm/ocaml/cic_notation/doc/Makefile +++ /dev/null @@ -1,124 +0,0 @@ - -# -# Generic makefile for latex -# -# Author: Stefano Zacchiroli -# -# Created: Sun, 29 Jun 2003 12:00:55 +0200 zack -# Last-Modified: Mon, 10 Oct 2005 15:37:12 +0200 zack -# - -######################################################################## - -# list of .tex _main_ files -TEXS = main.tex - -# number of runs of latex (for table of contents, list of figures, ...) -RUNS = 1 - -# do you need bibtex? -BIBTEX = no - -# would you like to use pdflatex? -PDF_VIA_PDFLATEX = yes - -# which formats generated by default ("all" target)? -# (others will be generated by "world" target) -# see AVAILABLE_FORMATS below -BUILD_FORMATS = dvi - -# which format to be shown on "make show" -SHOW_FORMAT = dvi - -######################################################################## - -AVAILABLE_FORMATS = dvi ps ps.gz pdf html - -ADVI = advi -BIBTEX = bibtex -BROWSER = galeon -DVIPDF = dvipdf -DVIPS = dvips -GV = gv -GZIP = gzip -HEVEA = hevea -ISPELL = ispell -LATEX = latex -PDFLATEX = pdflatex -PRINT = lpr -XDVI = xdvi -XPDF = xpdf - -ALL_FORMATS = $(BUILD_FORMATS) -WORLD_FORMATS = $(AVAILABLE_FORMATS) - -all: $(ALL_FORMATS) -world: $(WORLD_FORMATS) - -DVIS = $(TEXS:.tex=.dvi) -PSS = $(TEXS:.tex=.ps) -PSGZS = $(TEXS:.tex=.ps.gz) -PDFS = $(TEXS:.tex=.pdf) -HTMLS = $(TEXS:.tex=.html) - -dvi: $(DVIS) -ps: $(PSS) -ps.gz: $(PSGZS) -pdf: $(PDFS) -html: $(HTMLS) - -show: show$(SHOW_FORMAT) -showdvi: $(DVIS) - $(XDVI) $< -showps: $(PSS) - $(GV) $< -showpdf: $(PDFS) - $(XPDF) $< -showpsgz: $(PSGZS) - $(GV) $< -showps.gz: showpsgz -showhtml: $(HTMLS) - $(BROWSER) $< - -print: $(PSS) - $(PRINT) $^ - -clean: - rm -f \ - $(TEXS:.tex=.dvi) $(TEXS:.tex=.ps) $(TEXS:.tex=.ps.gz) \ - $(TEXS:.tex=.pdf) $(TEXS:.tex=.aux) $(TEXS:.tex=.log) \ - $(TEXS:.tex=.html) $(TEXS:.tex=.out) $(TEXS:.tex=.haux) \ - $(TEXS:.tex=.htoc) $(TEXS:.tex=.tmp) - -%.dvi: %.tex - $(LATEX) $< - if [ "$(BIBTEX)" = "yes" ]; then $(BIBTEX) $*; fi - if [ "$(RUNS)" -gt 1 ]; then \ - for i in seq 1 `expr $(RUNS) - 1`; do \ - $(LATEX) $<; \ - done; \ - fi -ifeq ($(PDF_VIA_PDFLATEX),yes) -%.pdf: %.tex - $(PDFLATEX) $< - if [ "$(BIBTEX)" = "yes" ]; then $(BIBTEX) $*; fi - if [ "$(RUNS)" -gt 1 ]; then \ - for i in seq 1 `expr $(RUNS) - 1`; do \ - $(PDFLATEX) $<; \ - done; \ - fi -else -%.pdf: %.dvi - $(DVIPDF) $< $@ -endif -%.ps: %.dvi - $(DVIPS) $< -%.ps.gz: %.ps - $(GZIP) -c $< > $@ -%.html: %.tex - $(HEVEA) -fix $< - -.PHONY: all ps pdf html clean - -######################################################################## - diff --git a/helm/ocaml/cic_notation/doc/body.tex b/helm/ocaml/cic_notation/doc/body.tex deleted file mode 100644 index f1ce73577..000000000 --- a/helm/ocaml/cic_notation/doc/body.tex +++ /dev/null @@ -1,788 +0,0 @@ - -\section{Environment} - -\[ -\begin{array}{rcll} - V & ::= & & \mbox{(\bf values)} \\ - & & \verb+Term+~T & \mbox{(term)} \\ - & | & \verb+String+~s & \mbox{(string)} \\ - & | & \verb+Number+~n & \mbox{(number)} \\ - & | & \verb+None+ & \mbox{(optional value)} \\ - & | & \verb+Some+~V & \mbox{(optional value)} \\ - & | & [V_1,\dots,V_n] & \mbox{(list value)} \\[2ex] -\end{array} -\] - -An environment is a map $\mathcal E : \mathit{Name} -> V$. - -\section{Level 1: concrete syntax} - -\begin{table} -\caption{\label{tab:l1c} Concrete syntax of level 1 patterns.\strut} -\hrule -\[ -\begin{array}{rcll} - P & ::= & & \mbox{(\bf patterns)} \\ - & & S^{+} \\[2ex] - S & ::= & & \mbox{(\bf simple patterns)} \\ - & & l \\ - & | & S~\verb+\sub+~S\\ - & | & S~\verb+\sup+~S\\ - & | & S~\verb+\below+~S\\ - & | & S~\verb+\atop+~S\\ - & | & S~\verb+\over+~S\\ - & | & S~\verb+\atop+~S\\ - & | & \verb+\frac+~S~S \\ - & | & \verb+\sqrt+~S \\ - & | & \verb+\root+~S~\verb+\of+~S \\ - & | & \verb+(+~P~\verb+)+ \\ - & | & \verb+hbox (+~P~\verb+)+ \\ - & | & \verb+vbox (+~P~\verb+)+ \\ - & | & \verb+hvbox (+~P~\verb+)+ \\ - & | & \verb+hovbox (+~P~\verb+)+ \\ - & | & \verb+break+ \\ - & | & \verb+list0+~S~[\verb+sep+~l] \\ - & | & \verb+list1+~S~[\verb+sep+~l] \\ - & | & \verb+opt+~S \\ - & | & [\verb+term+]~x \\ - & | & \verb+number+~x \\ - & | & \verb+ident+~x \\ -\end{array} -\] -\hrule -\end{table} - -Rationale: while the layout schemata can occur in the concrete syntax -used by user, the box schemata and the magic patterns can only occur -when defining the notation. This is why the layout schemata are -``escaped'' with a backslash, so that they cannot be confused with -plain identifiers, wherease the others are not. Alternatively, they -could be defined as keywords, but this would prevent their names to be -used in different contexts. - -\begin{table} -\caption{\label{tab:l1a} Abstract syntax of level 1 terms and patterns.\strut} -\hrule -\[ -\begin{array}{@{}ll@{}} -\begin{array}[t]{rcll} - T & ::= & & \mbox{(\bf terms)} \\ - & & L_\kappa[T_1,\dots,T_n] & \mbox{(layout)} \\ - & | & B_\kappa^{ab}[T_1\cdots T_n] & \mbox{(box)} \\ - & | & \BREAK & \mbox{(breakpoint)} \\ - & | & \FENCED{T_1\cdots T_n} & \mbox{(fenced)} \\ - & | & l & \mbox{(literal)} \\[2ex] - P & ::= & & \mbox{(\bf patterns)} \\ - & & L_\kappa[P_1,\dots,P_n] & \mbox{(layout)} \\ - & | & B_\kappa^{ab}[P_1\cdots P_n] & \mbox{(box)} \\ - & | & \BREAK & \mbox{(breakpoint)} \\ - & | & \FENCED{P_1\cdots P_n} & \mbox{(fenced)} \\ - & | & M & \mbox{(magic)} \\ - & | & V & \mbox{(variable)} \\ - & | & l & \mbox{(literal)} \\ -\end{array} & -\begin{array}[t]{rcll} - V & ::= & & \mbox{(\bf variables)} \\ - & & \TVAR{x} & \mbox{(term variable)} \\ - & | & \NVAR{x} & \mbox{(number variable)} \\ - & | & \IVAR{x} & \mbox{(name variable)} \\[2ex] - M & ::= & & \mbox{(\bf magic patterns)} \\ - & & \verb+list0+~P~l? & \mbox{(possibly empty list)} \\ - & | & \verb+list1+~P~l? & \mbox{(non-empty list)} \\ - & | & \verb+opt+~P & \mbox{(option)} \\[2ex] -\end{array} -\end{array} -\] -\hrule -\end{table} - -\[ -\ITO{\cdot}{{}} : P -> \mathit{Env} -> T -\] - -\begin{table} -\caption{\label{tab:il1f2} Instantiation of level 1 patterns from level 2.\strut} -\hrule -\[ -\begin{array}{rcll} - \ITO{L_\kappa[P_1,\dots,P_n]}{E} & = & L_\kappa[\ITO{(P_1)}{E},\dots,\ITO{(P_n)}{E} ] \\ - \ITO{B_\kappa^{ab}[P_1\cdots P_n]}{E} & = & B_\kappa^{ab}[\ITO{P_1}{E}\cdots\ITO{P_n}{E}] \\ - \ITO{\BREAK}{E} & = & \BREAK \\ - \ITO{(P)}{E} & = & \ITO{P}{E} \\ - \ITO{(P_1\cdots P_n)}{E} & = & B_H^{00}[\ITO{P_1}{E}\cdots\ITO{P_n}{E}] \\ - \ITO{\TVAR{x}}{E} & = & t & \mathcal{E}(x) = \verb+Term+~t \\ - \ITO{\NVAR{x}}{E} & = & l & \mathcal{E}(x) = \verb+Number+~l \\ - \ITO{\IVAR{x}}{E} & = & l & \mathcal{E}(x) = \verb+String+~l \\ - \ITO{\mathtt{opt}~P}{E} & = & \varepsilon & \mathcal{E}(\NAMES(P)) = \{\mathtt{None}\} \\ - \ITO{\mathtt{opt}~P}{E} & = & \ITO{P}{E'} & \mathcal{E}(\NAMES(P)) = \{\mathtt{Some}~v_1,\dots,\mathtt{Some}~v_n\} \\ - & & & \mathcal{E}'(x)=\left\{ - \begin{array}{@{}ll} - v, & \mathcal{E}(x) = \mathtt{Some}~v \\ - \mathcal{E}(x), & \mbox{otherwise} - \end{array} - \right. \\ - \ITO{\mathtt{list}k~P~l?}{E} & = & \ITO{P}{{E}_1}~{l?}\cdots {l?}~\ITO{P}{{E}_n} & - \mathcal{E}(\NAMES(P)) = \{[v_{11},\dots,v_{1n}],\dots,[v_{m1},\dots,v_{mn}]\} \\ - & & & n\ge k \\ - & & & \mathcal{E}_i(x) = \left\{ - \begin{array}{@{}ll} - v_i, & \mathcal{E}(x) = [v_1,\dots,v_n] \\ - \mathcal{E}(x), & \mbox{otherwise} - \end{array} - \right. \\ - \ITO{l}{E} & = & l \\ - -%% & | & (P) & \mbox{(fenced)} \\ -%% & | & M & \mbox{(magic)} \\ -%% & | & V & \mbox{(variable)} \\ -%% & | & l & \mbox{(literal)} \\[2ex] -%% V & ::= & & \mbox{(\bf variables)} \\ -%% & & \TVAR{x} & \mbox{(term variable)} \\ -%% & | & \NVAR{x} & \mbox{(number variable)} \\ -%% & | & \IVAR{x} & \mbox{(name variable)} \\[2ex] -%% M & ::= & & \mbox{(\bf magic patterns)} \\ -%% & & \verb+list0+~S~l? & \mbox{(possibly empty list)} \\ -%% & | & \verb+list1+~S~l? & \mbox{(non-empty list)} \\ -%% & | & \verb+opt+~S & \mbox{(option)} \\[2ex] -\end{array} -\] -\hrule -\end{table} - -\begin{table} -\caption{\label{tab:wfl0} Well-formedness rules for level 1 patterns.\strut} -\hrule -\[ -\renewcommand{\arraystretch}{3.5} -\begin{array}[t]{@{}c@{}} - \inference[\sc layout] - {P_i :: D_i & \forall i,j, i\ne j => \DOMAIN(D_i) \cap \DOMAIN(D_j) = \emptyset} - {L_\kappa[P_1,\dots,P_n] :: D_1\oplus\cdots\oplus D_n} - \\ - \inference[\sc box] - {P_i :: D_i & \forall i,j, i\ne j => \DOMAIN(D_i) \cap \DOMAIN(D_j) = \emptyset} - {B_\kappa^{ab}[P_1\cdots P_n] :: D_1\oplus\cdots\oplus D_n} - \\ - \inference[\sc fenced] - {P_i :: D_i & \forall i,j, i\ne j => \DOMAIN(D_i) \cap \DOMAIN(D_j) = \emptyset} - {\FENCED{P_1\cdots P_n} :: D_1\oplus\cdots\oplus D_n} - \\ - \inference[\sc breakpoint] - {} - {\BREAK :: \emptyset} - \qquad - \inference[\sc literal] - {} - {l :: \emptyset} - \qquad - \inference[\sc tvar] - {} - {\TVAR{x} :: \TVAR{x}} - \\ - \inference[\sc nvar] - {} - {\NVAR{x} :: \NVAR{x}} - \qquad - \inference[\sc ivar] - {} - {\IVAR{x} :: \IVAR{x}} - \\ - \inference[\sc list0] - {P :: D & \forall x\in\DOMAIN(D), D'(x) = D(x)~\mathtt{List}} - {\mathtt{list0}~P~l? :: D'} - \\ - \inference[\sc list1] - {P :: D & \forall x\in\DOMAIN(D), D'(x) = D(x)~\mathtt{List}} - {\mathtt{list1}~P~l? :: D'} - \\ - \inference[\sc opt] - {P :: D & \forall x\in\DOMAIN(D), D'(x) = D(x)~\mathtt{Option}} - {\mathtt{opt}~P :: D'} -\end{array} -\] -\hrule -\end{table} - -\newcommand{\ATTRS}[1]{\langle#1\rangle} -\newcommand{\ANNPOS}[2]{\mathit{pos}(#1)_{#2}} - -\begin{table} -\caption{\label{tab:addparens} Can't read the AST and need parentheses? Here you go!.\strut} -\hrule -\[ -\begin{array}{rcll} - \ADDPARENS{l}{n} & = & l \\ - \ADDPARENS{\BREAK}{n} & = & \BREAK \\ - \ADDPARENS{\ATTRS{\mathit{prec}=m}T}{n} & = & \ADDPARENS{T}{m} & n < m \\ - \ADDPARENS{\ATTRS{\mathit{prec}=m}T}{n} & = & \FENCED{\ADDPARENS{T}{\bot}} & n > m \\ - \ADDPARENS{\ATTRS{\mathit{prec}=n,\mathit{assoc}=L,\mathit{pos}=R}T}{n} & = & \FENCED{\ADDPARENS{T}{\bot}} \\ - \ADDPARENS{\ATTRS{\mathit{prec}=n,\mathit{assoc}=R,\mathit{pos}=L}T}{n} & = & \FENCED{\ADDPARENS{T}{\bot}} \\ - \ADDPARENS{\ATTRS{\cdots}T}{n} & = & \ADDPARENS{T}{n} \\ - \ADDPARENS{L_\kappa[T_1,\dots,\underline{T_k},\dots,T_m]}{n} & = & L_\kappa[\ADDPARENS{T_1}{n},\dots,\ADDPARENS{T_k}{\bot},\dots,\ADDPARENS{T_m}{n}] \\ - \ADDPARENS{B_\kappa^{ab}[T_1,\dots,T_m]}{n} & = & B_\kappa^{ab}[\ADDPARENS{T_1}{n},\dots,\ADDPARENS{T_m}{n}] -\end{array} -\] -\hrule -\end{table} - -\begin{table} -\caption{\label{tab:annpos} Annotation of level 1 meta variable with position information.\strut} -\hrule -\[ -\begin{array}{rcll} - \ANNPOS{l}{p,q} & = & l \\ - \ANNPOS{\BREAK}{p,q} & = & \BREAK \\ - \ANNPOS{x}{1,0} & = & \ATTRS{\mathit{pos}=L}{x} \\ - \ANNPOS{x}{0,1} & = & \ATTRS{\mathit{pos}=R}{x} \\ - \ANNPOS{x}{p,q} & = & \ATTRS{\mathit{pos}=I}{x} \\ - \ANNPOS{B_\kappa^{ab}[P]}{p,q} & = & B_\kappa^{ab}[\ANNPOS{P}{p,q}] \\ - \ANNPOS{B_\kappa^{ab}[\{\BREAK\} P_1\cdots P_n\{\BREAK\}]}{p,q} & = & B_\kappa^{ab}[\begin{array}[t]{@{}l} - \{\BREAK\} \ANNPOS{P_1}{p,0} \\ - \ANNPOS{P_2}{0,0}\cdots\ANNPOS{P_{n-1}}{0,0} \\ - \ANNPOS{P_n}{0,q}\{\BREAK\}] - \end{array} - -%% & & L_\kappa[P_1,\dots,P_n] & \mbox{(layout)} \\ -%% & | & \BREAK & \mbox{(breakpoint)} \\ -%% & | & \FENCED{P_1\cdots P_n} & \mbox{(fenced)} \\ -%% V & ::= & & \mbox{(\bf variables)} \\ -%% & & \TVAR{x} & \mbox{(term variable)} \\ -%% & | & \NVAR{x} & \mbox{(number variable)} \\ -%% & | & \IVAR{x} & \mbox{(name variable)} \\[2ex] -%% M & ::= & & \mbox{(\bf magic patterns)} \\ -%% & & \verb+list0+~P~l? & \mbox{(possibly empty list)} \\ -%% & | & \verb+list1+~P~l? & \mbox{(non-empty list)} \\ -%% & | & \verb+opt+~P & \mbox{(option)} \\[2ex] -\end{array} -\] -\hrule -\end{table} - -\section{Level 2: abstract syntax} - -\newcommand{\NT}[1]{\langle\mathit{#1}\rangle} - -\begin{table} -\caption{\label{tab:synl2} Concrete syntax of level 2 patterns.\strut} -\hrule -\[ -\begin{array}{@{}rcll@{}} - \NT{term} & ::= & & \mbox{\bf terms} \\ - & & x & \mbox{(identifier)} \\ - & | & n & \mbox{(number)} \\ - & | & s & \mbox{(symbol)} \\ - & | & \mathrm{URI} & \mbox{(URI)} \\ - & | & \verb+?+ & \mbox{(implicit)} \\ - & | & \verb+%+ & \mbox{(placeholder)} \\ - & | & \verb+?+n~[\verb+[+~\{\NT{subst}\}~\verb+]+] & \mbox{(meta)} \\ - & | & \verb+let+~\NT{ptname}~\verb+\def+~\NT{term}~\verb+in+~\NT{term} \\ - & | & \verb+let+~\NT{kind}~\NT{defs}~\verb+in+~\NT{term} \\ - & | & \NT{binder}~\{\NT{ptnames}\}^{+}~\verb+.+~\NT{term} \\ - & | & \NT{term}~\NT{term} & \mbox{(application)} \\ - & | & \verb+Prop+ \mid \verb+Set+ \mid \verb+Type+ \mid \verb+CProp+ & \mbox{(sort)} \\ - & | & [\verb+[+~\NT{term}~\verb+]+]~\verb+match+~\NT{term}~\verb+with [+~[\NT{rule}~\{\verb+|+~\NT{rule}\}]~\verb+]+ & \mbox{(pattern match)} \\ - & | & \verb+(+~\NT{term}~\verb+:+~\NT{term}~\verb+)+ & \mbox{(cast)} \\ - & | & \verb+(+~\NT{term}~\verb+)+ \\ - & | & \BLOB(\NT{meta},\dots,\NT{meta}) & \mbox{(meta blob)} \\ - \NT{defs} & ::= & & \mbox{\bf mutual definitions} \\ - & & \NT{fun}~\{\verb+and+~\NT{fun}\} \\ - \NT{fun} & ::= & & \mbox{\bf functions} \\ - & & \NT{arg}~\{\NT{ptnames}\}^{+}~[\verb+on+~x]~\verb+\def+~\NT{term} \\ - \NT{binder} & ::= & & \mbox{\bf binders} \\ - & & \verb+\Pi+ \mid \verb+\exists+ \mid \verb+\forall+ \mid \verb+\lambda+ \\ - \NT{arg} & ::= & & \mbox{\bf single argument} \\ - & & \verb+_+ \mid x \mid \BLOB(\NT{meta},\dots,\NT{meta}) \\ - \NT{ptname} & ::= & & \mbox{\bf possibly typed name} \\ - & & \NT{arg} \\ - & | & \verb+(+~\NT{arg}~\verb+:+~\NT{term}~\verb+)+ \\ - \NT{ptnames} & ::= & & \mbox{\bf bound variables} \\ - & & \NT{arg} \\ - & | & \verb+(+~\NT{arg}~\{\verb+,+~\NT{arg}\}~[\verb+:+~\NT{term}]~\verb+)+ \\ - \NT{kind} & ::= & & \mbox{\bf induction kind} \\ - & & \verb+rec+ \mid \verb+corec+ \\ - \NT{rule} & ::= & & \mbox{\bf rules} \\ - & & x~\{\NT{ptname}\}~\verb+\Rightarrow+~\NT{term} \\[10ex] - - \NT{meta} & ::= & & \mbox{\bf meta} \\ - & & \BLOB(\NT{term},\dots,\NT{term}) & \mbox{(term blob)} \\ - & | & [\verb+term+]~x \\ - & | & \verb+number+~x \\ - & | & \verb+ident+~x \\ - & | & \verb+fresh+~x \\ - & | & \verb+anonymous+ \\ - & | & \verb+fold+~[\verb+left+\mid\verb+right+]~\NT{meta}~\verb+rec+~x~\NT{meta} \\ - & | & \verb+default+~\NT{meta}~\NT{meta} \\ - & | & \verb+if+~\NT{meta}~\verb+then+~\NT{meta}~\verb+else+~\NT{meta} \\ - & | & \verb+fail+ -\end{array} -\] -\hrule -\end{table} - -\begin{table} -\caption{\label{tab:wfl2} Well-formedness rules for level 2 patterns.\strut} -\hrule -\[ -\renewcommand{\arraystretch}{3.5} -\begin{array}{@{}c@{}} - \inference[\sc Constr] - {P_i :: D_i} - {\BLOB[P_1,\dots,P_n] :: D_i \oplus \cdots \oplus D_j} \\ - \inference[\sc TermVar] - {} - {\mathtt{term}~x :: x : \mathtt{Term}} - \quad - \inference[\sc NumVar] - {} - {\mathtt{number}~x :: x : \mathtt{Number}} - \\ - \inference[\sc IdentVar] - {} - {\mathtt{ident}~x :: x : \mathtt{String}} - \quad - \inference[\sc FreshVar] - {} - {\mathtt{fresh}~x :: x : \mathtt{String}} - \\ - \inference[\sc Success] - {} - {\mathtt{anonymous} :: \emptyset} - \\ - \inference[\sc Fold] - {P_1 :: D_1 & P_2 :: D_2 \oplus (x : \mathtt{Term}) & \DOMAIN(D_2)\ne\emptyset & \DOMAIN(D_1)\cap\DOMAIN(D_2)=\emptyset} - {\mathtt{fold}~P_1~\mathtt{rec}~x~P_2 :: D_1 \oplus D_2~\mathtt{List}} - \\ - \inference[\sc Default] - {P_1 :: D \oplus D_1 & P_2 :: D & \DOMAIN(D_1) \ne \emptyset & \DOMAIN(D) \cap \DOMAIN(D_1) = \emptyset} - {\mathtt{default}~P_1~P_2 :: D \oplus D_1~\mathtt{Option}} - \\ - \inference[\sc If] - {P_1 :: \emptyset & P_2 :: D & P_3 :: D } - {\mathtt{if}~P_1~\mathtt{then}~P_2~\mathtt{else}~P_3 :: D} - \qquad - \inference[\sc Fail] - {} - {\mathtt{fail} :: \emptyset} -%% & | & \verb+if+~\NT{meta}~\verb+then+~\NT{meta}~\verb+else+~\NT{meta} \\ -%% & | & \verb+fail+ -\end{array} -\] -\hrule -\end{table} - -\begin{table} - \caption{\label{tab:il2f1} Instantiation of level 2 patterns from level 1. - \strut} -\hrule -\[ -\begin{array}{rcll} - -\IOT{C[t_1,\dots,t_n]}{\mathcal{E}} & = -& C[\IOT{t_1}{\mathcal{E}},\dots,\IOT{t_n}{\mathcal{E}}] \\ - -\IOT{\mathtt{term}~x}{\mathcal{E}} & = & t & \mathcal{E}(x) = \mathtt{Term}~t \\ - -\IOT{\mathtt{number}~x}{\mathcal{E}} & = -& n & \mathcal{E}(x) = \mathtt{Number}~n \\ - -\IOT{\mathtt{ident}~x}{\mathcal{E}} & = -& y & \mathcal{E}(x) = \mathtt{String}~y \\ - -\IOT{\mathtt{fresh}~x}{\mathcal{E}} & = & y & \mathcal{E}(x) = \mathtt{String}~y \\ - -\IOT{\mathtt{default}~P_1~P_2}{\mathcal{E}} & = -& \IOT{P_1}{\UPDATE{\mathcal{E}}{x_i|->v_i}} -& \mathcal{E}(x_i)=\mathtt{Some}~v_i \\ -& & & \NAMES(P_1)\setminus\NAMES(P_2)=\{x_1,\dots,x_n\} \\ - -\IOT{\mathtt{default}~P_1~P_2}{\mathcal{E}} & = -& \IOT{P_2}{\UPDATE{\mathcal{E}}{x_i|->\bot}} -& \mathcal{E}(x_i)=\mathtt{None} \\ -& & & \NAMES(P_1)\setminus\NAMES(P_2)=\{x_1,\dots,x_n\} \\ - -\IOT{\mathtt{fold}~\mathtt{right}~P_1~\mathtt{rec}~x~P_2}{\mathcal{E}} -& = -& \IOT{P_1}{\mathcal{E}'} -& \mathcal{E}(\NAMES(P_2)\setminus\{x\}) = \{[],\dots,[]\} \\ -& & \multicolumn{2}{l}{\mathcal{E}'=\UPDATE{\mathcal{E}}{\NAMES(P_2)\setminus\{x\}|->\bot}} -\\ - -\IOT{\mathtt{fold}~\mathtt{right}~P_1~\mathtt{rec}~x~P_2}{\mathcal{E}} -& = -& \IOT{P_2}{\mathcal{E}'} -& \mathcal{E}(y_i) = [v_{i1},\dots,v_{in}] \\ -& & & \NAMES(P_2)\setminus\{x\}=\{y_1,\dots,y_m\} \\ -& & \multicolumn{2}{l}{\mathcal{E}'(y) = - \left\{ - \begin{array}{@{}ll} - \IOT{\mathtt{fold}~\mathtt{right}~P_1~\mathtt{rec}~x~P_e}{\mathcal{E}''} - & y=x \\ - v_{i1} & y=y_i \\ - \mathcal{E}(y) & \mbox{otherwise} \\ - \end{array} - \right.} \\ -& & \multicolumn{2}{l}{\mathcal{E}''(y) = - \left\{ - \begin{array}{@{}ll} - [v_{i2};\dots;v_{in}] & y=y_i \\ - \mathcal{E}(y) & \mbox{otherwise} \\ - \end{array} - \right.} \\ - -\IOT{\mathtt{fold}~\mathtt{left}~P_1~\mathtt{rec}~x~P_2}{\mathcal{E}} -& = -& \mathit{eval\_fold}(x,P_2,\mathcal{E}') -& \\ -& & \multicolumn{2}{l}{\mathcal{E}' = \UPDATE{\mathcal{E}}{x|-> -\IOT{P_1}{\UPDATE{\mathcal{E}}{\NAMES(P_2)|->\bot}}}} \\ - -\mathit{eval\_fold}(x,P,\mathcal{E}) -& = -& \mathcal{E}(x) -& \mathcal{E}(\NAMES(P)\setminus\{x\})=\{[],\dots,[]\} \\ - -\mathit{eval\_fold}(x,P,\mathcal{E}) -& = -& \mathit{eval\_fold}(x,P,\mathcal{E}') -& \mathcal{E}(y_i) = [v_{i1},\dots,v_{in}] \\ -& & & \NAMES(P)\setminus{x}=\{y_1,\dots,y_m\} \\ -& -& \multicolumn{2}{l}{\mathcal{E}' = \UPDATE{\mathcal{E}}{x|->\IOT{P}{\mathcal{E}''}; ~ y_i |-> [v_{i2};\dots;v_{in_i}]}} -\\ -& -& \multicolumn{2}{l}{\mathcal{E}''(y) = -\left\{ -\begin{array}{ll} - v_1 & y\in \NAMES(P)\setminus\{x\} \\ - \mathcal{E}(x) & y=x \\ - \bot & \mathit{otherwise} \\ -\end{array} -\right. -} -\\ - -\end{array} \\ -\] -\end{table} - -\begin{table} -\caption{\label{tab:l2match} Pattern matching of level 2 terms.\strut} -\hrule -\[ -\renewcommand{\arraystretch}{3.5} -\begin{array}{@{}c@{}} - \inference[\sc Constr] - {t_i \in P_i ~> \mathcal E_i & i\ne j => \DOMAIN(\mathcal E_i)\cap\DOMAIN(\mathcal E_j)=\emptyset} - {C[t_1,\dots,t_n] \in C[P_1,\dots,P_n] ~> \mathcal E_1 \oplus \cdots \oplus \mathcal E_n} - \\ - \inference[\sc TermVar] - {} - {t \in [\mathtt{term}]~x ~> [x |-> \mathtt{Term}~t]} - \quad - \inference[\sc NumVar] - {} - {n \in \mathtt{number}~x ~> [x |-> \mathtt{Number}~n]} - \\ - \inference[\sc IdentVar] - {} - {x \in \mathtt{ident}~x ~> [x |-> \mathtt{String}~x]} - \quad - \inference[\sc FreshVar] - {} - {x \in \mathtt{fresh}~x ~> [x |-> \mathtt{String}~x]} - \\ - \inference[\sc Success] - {} - {t \in \mathtt{anonymous} ~> \emptyset} - \\ - \inference[\sc DefaultT] - {t \in P_1 ~> \mathcal E} - {t \in \mathtt{default}~P_1~P_2 ~> \mathcal E'} - \quad - \mathcal E'(x) = \left\{ - \renewcommand{\arraystretch}{1} - \begin{array}{ll} - \mathtt{Some}~\mathcal{E}(x) & x \in \NAMES(P_1) \setminus \NAMES(P_2) \\ - \mathcal{E}(x) & \mbox{otherwise} - \end{array} - \right. - \\ - \inference[\sc DefaultF] - {t \not\in P_1 & t \in P_2 ~> \mathcal E} - {t \in \mathtt{default}~P_1~P_2 ~> \mathcal E'} - \quad - \mathcal E'(x) = \left\{ - \renewcommand{\arraystretch}{1} - \begin{array}{ll} - \mathtt{None} & x \in \NAMES(P_1) \setminus \NAMES(P_2) \\ - \mathcal{E}(x) & \mbox{otherwise} - \end{array} - \right. - \\ - \inference[\sc IfT] - {t \in P_1 ~> \mathcal E' & t \in P_2 ~> \mathcal E} - {t \in \mathtt{if}~P_1~\mathtt{then}~P_2~\mathtt{else}~P_3 ~> \mathcal E} - \quad - \inference[\sc IfF] - {t \not\in P_1 & t \in P_3 ~> \mathcal E} - {t \in \mathtt{if}~P_1~\mathtt{then}~P_2~\mathtt{else}~P_3 ~> \mathcal E} - \\ - \inference[\sc FoldRec] - {t \in P_2 ~> \mathcal E & \mathcal{E}(x) \in \mathtt{fold}~d~P_1~\mathtt{rec}~x~P_2 ~> \mathcal E'} - {t \in \mathtt{fold}~d~P_1~\mathtt{rec}~x~P_2 ~> \mathcal E''} - \\ - \mbox{where}~\mathcal{E}''(y) = \left\{ - \renewcommand{\arraystretch}{1} - \begin{array}{ll} - \mathcal{E}(y)::\mathcal{E}'(y) & y \in \NAMES(P_2) \setminus \{x\} \wedge d = \mathtt{right} \\ - \mathcal{E}'(y)@[\mathcal{E}(y)] & y \in \NAMES(P_2) \setminus \{x\} \wedge d = \mathtt{left} \\ - \mathcal{E}'(y) & \mbox{otherwise} - \end{array} - \right. - \\ - \inference[\sc FoldBase] - {t \not\in P_2 & t \in P_1 ~> \mathcal E} - {t \in \mathtt{fold}~P_1~\mathtt{rec}~x~P_2 ~> \mathcal E'} - \quad - \mathcal E'(y) = \left\{ - \renewcommand{\arraystretch}{1} - \begin{array}{ll} - [] & y \in \NAMES(P_2) \setminus \{x\} \\ - \mathcal{E}(y) & \mbox{otherwise} - \end{array} - \right. -\end{array} -\] -\hrule -\end{table} - -\begin{table} - \caption{\label{tab:synl3} Abstract syntax of level 3 terms and patterns.} - \hrule - \[ - \begin{array}{@{}ll@{}} - \begin{array}[t]{rcll} - T & : := & & \mbox{(\bf terms)} \\ - & & u & \mbox{(uri)} \\ - & | & \lambda x.T & \mbox{($\lambda$-abstraction)} \\ - & | & (T_1 \dots T_n) & \mbox{(application)} \\ - & | & \dots \\[2ex] - \end{array} & - \begin{array}[t]{rcll} - P & : := & & \mbox{(\bf patterns)} \\ - & & u & \mbox{(uri)} \\ - & | & V & \mbox{(variable)} \\ - & | & (P_1 \dots P_n) & \mbox{(application)} \\[2ex] - V & : := & & \mbox{(\bf variables)} \\ - & & \TVAR{x} & \mbox{(term variable)} \\ - & | & \IMPVAR & \mbox{(implicit variable)} \\ - \end{array} \\ - \end{array} - \] - \hrule -\end{table} - -\begin{table} -\caption{\label{tab:wfl3} Well-formedness rules for level 3 patterns.\strut} -\hrule -\[ -\renewcommand{\arraystretch}{3.5} -\begin{array}{@{}c@{}} - \inference[\sc Uri] {} {u :: \emptyset} \quad - \inference[\sc ImpVar] {} {\TVAR{x} :: \emptyset} \quad - \inference[\sc TermVar] {} {\TVAR{x} :: x:\mathtt{Term}} \\ - \inference[\sc Appl] - {P_i :: D_i - \quad \forall i,j,i\neq j=>\DOMAIN(D_i)\cap\DOMAIN(D_j)=\emptyset} - {P_1\cdots P_n :: D_1\oplus\cdots\oplus D_n} \\ -\end{array} -\] -\hrule -\end{table} - -\begin{table} - \caption{\label{tab:synargp} Abstract syntax of applicative symbol patterns.} - \hrule - \[ - \begin{array}{rcll} - P & : := & & \mbox{(\bf patterns)} \\ - & & s ~ \{ \mathit{arg} \} & \mbox{(symbol pattern)} \\[2ex] - \mathit{arg} & : := & & \mbox{(\bf argument)} \\ - & & \TVAR{x} & \mbox{(term variable)} \\ - & | & \eta.\mathit{arg} & \mbox{($\eta$-abstraction)} \\ - \end{array} - \] - \hrule -\end{table} - -\begin{table} -\caption{\label{tab:wfargp} Well-formedness rules for applicative symbol -patterns.\strut} -\hrule -\[ -\renewcommand{\arraystretch}{3.5} -\begin{array}{@{}c@{}} - \inference[\sc Pattern] - {\mathit{arg}_i :: D_i - \quad \forall i,j,i\neq j=>\DOMAIN(D_i)\cap\DOMAIN(D_j)=\emptyset} - {s~\mathit{arg}_1\cdots\mathit{arg}_n :: D_1\oplus\cdots\oplus D_n} \\ - \inference[\sc TermVar] - {} - {\TVAR{x} :: x : \mathtt{Term}} - \quad - \inference[\sc EtaAbs] - {\mathit{arg} :: D} - {\eta.\mathit{arg} :: D} - \\ -\end{array} -\] -\hrule -\end{table} - -\begin{table} -\caption{\label{tab:l3match} Pattern matching of level 3 terms.\strut} -\hrule -\[ -\renewcommand{\arraystretch}{3.5} -\begin{array}{@{}c@{}} - \inference[\sc Uri] {} {u\in u ~> []} \quad - \inference[\sc Appl] {t_i\in P_i ~> \mathcal{E}_i} - {(t_1\dots t_n)\in(P_1\dots P_n) ~> - \mathcal{E}_1\oplus\cdots\oplus\mathcal{E}_n} \\ - \inference[\sc TermVar] {} {t\in \TVAR{x} ~> [x |-> \mathtt{Term}~t]} \quad - \inference[\sc ImpVar] {} {t\in \IMPVAR ~> []} \\ -\end{array} -\] -\hrule -\end{table} - -\begin{table} -\caption{\label{tab:iapf3} Instantiation of applicative symbol patterns (from -level 3).\strut} -\hrule -\[ -\begin{array}{rcll} - \IAP{s~a_1\cdots a_n}{\mathcal{E}} & = & - (s~\IAPP{a_1}{\mathcal{E}}{0}\cdots\IAPP{a_n}{\mathcal{E}}{0}) & \\ - \IAPP{\TVAR{x}}{\mathcal{E}}{0} & = & t & \mathcal{E}(x)=\mathtt{Term}~t \\ - \IAPP{\TVAR{x}}{\mathcal{E}}{i+1} & = & \lambda y.\IAPP{t}{\mathcal{E}}{i} - & \mathcal{E}(x)=\mathtt{Term}~\lambda y.t \\ - \IAPP{\TVAR{x}}{\mathcal{E}}{i+1} & = - & \lambda y_1.\cdots.\lambda y_{i+1}.t~y_1\cdots y_{i+1} - & \mathcal{E}(x)=\mathtt{Term}~t\wedge\forall y,t\neq\lambda y.t \\ - \IAPP{\eta.a}{\mathcal{E}}{i} & = & \IAPP{a}{\mathcal{E}}{i+1} \\ -\end{array} -\] -\hrule -\end{table} - -\section{Type checking} - -\subsection{Level 1 $<->$ Level 2} - -\newcommand{\GUARDED}{\mathit{guarded}} -\newcommand{\TRUE}{\mathit{true}} -\newcommand{\FALSE}{\mathit{false}} - -\newcommand{\TN}{\mathit{tn}} - -\begin{table} -\caption{\label{tab:guarded} Guarded condition of level 2 -pattern. Note that the recursive case of the \texttt{fold} magic is -not explicitly required to be guarded. The point is that it must -contain at least two distinct names, and this guarantees that whatever -is matched by the recursive pattern, the terms matched by those two -names will be smaller than the whole matched term.\strut} \hrule -\[ -\begin{array}{rcll} - \GUARDED(C(M(P))) & = & \GUARDED(P) \\ - \GUARDED(C(t_1,\dots,t_n)) & = & \TRUE \\ - \GUARDED(\mathtt{term}~x) & = & \FALSE \\ - \GUARDED(\mathtt{number}~x) & = & \FALSE \\ - \GUARDED(\mathtt{ident}~x) & = & \FALSE \\ - \GUARDED(\mathtt{fresh}~x) & = & \FALSE \\ - \GUARDED(\mathtt{anonymous}) & = & \TRUE \\ - \GUARDED(\mathtt{default}~P_1~P_2) & = & \GUARDED(P_1) \wedge \GUARDED(P_2) \\ - \GUARDED(\mathtt{if}~P_1~\mathtt{then}~P_2~\mathtt{else}~P_3) & = & \GUARDED(P_2) \wedge \GUARDED(P_3) \\ - \GUARDED(\mathtt{fail}) & = & \TRUE \\ - \GUARDED(\mathtt{fold}~d~P_1~\mathtt{rec}~x~P_2) & = & \GUARDED(P_1) -\end{array} -\] -\hrule -\end{table} - -%% Assume that we have two corresponding patterns $P_1$ (level 1) and -%% $P_2$ (level 2) and that we have to check whether they are -%% ``correct''. First we define the notion of \emph{top-level names} of -%% $P_1$ and $P_2$, as follows: -%% \[ -%% \begin{array}{rcl} -%% \TN(C_1[P'_1,\dots,P'_2]) & = & \TN(P'_1) \cup \cdots \cup \TN(P'_2) \\ -%% \TN(\TVAR{x}) & = & \{x\} \\ -%% \TN(\NVAR{x}) & = & \{x\} \\ -%% \TN(\IVAR{x}) & = & \{x\} \\ -%% \TN(\mathtt{list0}~P'~l?) & = & \emptyset \\ -%% \TN(\mathtt{list1}~P'~l?) & = & \emptyset \\ -%% \TN(\mathtt{opt}~P') & = & \emptyset \\[3ex] -%% \TN(\BLOB(P''_1,\dots,P''_2)) & = & \TN(P''_1) \cup \cdots \cup \TN(P''_2) \\ -%% \TN(\mathtt{term}~x) & = & \{x\} \\ -%% \TN(\mathtt{number}~x) & = & \{x\} \\ -%% \TN(\mathtt{ident}~x) & = & \{x\} \\ -%% \TN(\mathtt{fresh}~x) & = & \{x\} \\ -%% \TN(\mathtt{anonymous}) & = & \emptyset \\ -%% \TN(\mathtt{fold}~P''_1~\mathtt{rec}~x~P''_2) & = & \TN(P''_1) \\ -%% \TN(\mathtt{default}~P''_1~P''_2) & = & \TN(P''_1) \cap \TN(P''_2) \\ -%% \TN(\mathtt{if}~P''_1~\mathtt{then}~P''_2~\mathtt{else}~P''_3) & = & \TN(P''_2) \\ -%% \TN(\mathtt{fail}) & = & \emptyset -%% \end{array} -%% \] - -We say that a \emph{bidirectional transformation} -\[ - P_1 <=> P_2 -\] -is well-formed if: -\begin{itemize} - \item $P_1$ is a well-formed \emph{level 1 pattern} in some context $D$ and - $P_2$ is a well-formed \emph{level 2 pattern} in the very same context $D$, - that is $P_1 :: D$ and $P_2 :: D$; - \item the pattern $P_2$ is guarded, that is $\GUARDED(P_2)=\TRUE$; - \item for any direct sub-pattern $\mathtt{opt}~P'_1$ of $P_1$ such - that $\mathtt{opt}~P'_1 :: X$ there is a sub-pattern - $\mathtt{default}~P'_2~P''_2$ of $P_2$ such that - $\mathtt{default}~P'_2~P''_2 :: X \oplus Y$ for some context $Y$; - \item for any direct sub-pattern $\mathtt{list}~P'_1~l?$ of $P_1$ - such that $\mathtt{list}~P'_1~l? :: X$ there is a sub-pattern - $\mathtt{fold}~P'_2~\mathtt{rec}~x~P''_2$ of $P_2$ such that - $\mathtt{fold}~P'_2~\mathtt{rec}~x~P''_2 :: X \oplus Y$ for some - context $Y$. -\end{itemize} - -A \emph{left-to-right transformation} -\[ - P_1 => P_2 -\] -is well-formed if $P_2$ does not contain \texttt{if}, \texttt{fail}, -or \texttt{anonymous} meta patterns. - -Note that the transformations are in a sense asymmetric. Moving from -the concrete syntax (level 1) to the abstract syntax (level 2) we -forget about syntactic details. Moving from the abstract syntax to the -concrete syntax we may want to forget about redundant structure -(types). - -Relationship with grammatical frameworks? - -\subsection{Level 2 $<->$ Level 3} - -We say that an \emph{interpretation} -\[ - P_2 <=> P_3 -\] -is well-formed if: -\begin{itemize} - \item $P_2$ is a well-formed \emph{applicative symbol pattern} in some context - $D$ and $P_3$ is a well-formed \emph{level 3 pattern} in the very same - context $D$, that is $P_2 :: D$ and $P_3 :: D$. -\end{itemize} - diff --git a/helm/ocaml/cic_notation/doc/infernce.sty b/helm/ocaml/cic_notation/doc/infernce.sty deleted file mode 100644 index fc4afeaaf..000000000 --- a/helm/ocaml/cic_notation/doc/infernce.sty +++ /dev/null @@ -1,217 +0,0 @@ -%% -%% This is file `infernce.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% semantic.dtx (with options: `allOptions,inference') -%% -%% IMPORTANT NOTICE: -%% -%% For the copyright see the source file. -%% -%% Any modified versions of this file must be renamed -%% with new filenames distinct from infernce.sty. -%% -%% For distribution of the original source see the terms -%% for copying and modification in the file semantic.dtx. -%% -%% This generated file may be distributed as long as the -%% original source files, as listed above, are part of the -%% same distribution. (The sources need not necessarily be -%% in the same archive or directory.) -%% -%% semantic.dtx (c)1995--2002 Peter M^^f8ller Neergaard and -%% Arne John Glenstrup -%% -\expandafter\ifx\csname sem@nticsLoader\endcsname\relax - \PackageError{semantic}{% - This file should not be loaded directly} - {% - This file is an option of the semantic package. It should not be - loaded directly\MessageBreak - but by using \protect\usepackage{semantic} in your document - preamble.\MessageBreak - No commands are defined.\MessageBreak - Type to proceed. - }% -\else -\TestForConflict{\@@tempa,\@@tempb,\@adjustPremises,\@inference} -\TestForConflict{\@inferenceBack,\@inferenceFront,\@inferenceOrPremis} -\TestForConflict{\@premises,\@processInference,\@processPremiseLine} -\TestForConflict{\@setLengths,\inference,\predicate,\predicatebegin} -\TestForConflict{\predicateend,\setnamespace,\setpremisesend} -\TestForConflict{\setpremisesspace,\@makeLength,\@@space} -\TestForConflict{\@@aLineBox,\if@@shortDivider} -\newtoks\@@tempa -\newtoks\@@tempb -\newcommand{\@makeLength}[4]{ - \@@tempa=\expandafter{\csname @@#2\endcsname} - \@@tempb=\expandafter{\csname @set#2\endcsname} % - \expandafter \newlength \the\@@tempa - \expandafter \newcommand \the\@@tempb {} - \expandafter \newcommand \csname set#1\endcsname[1]{} - \expandafter \xdef \csname set#1\endcsname##1% - {{\dimen0=##1}% - \noexpand\renewcommand{\the\@@tempb}{% - \noexpand\setlength{\the \@@tempa}{##1 #4}}% - }% - \csname set#1\endcsname{#3} - \@@tempa=\expandafter{\@setLengths} % - \edef\@setLengths{\the\@@tempa \the\@@tempb} % - } - -\newcommand{\@setLengths}{% - \setlength{\baselineskip}{1.166em}% - \setlength{\lineskip}{1pt}% - \setlength{\lineskiplimit}{1pt}} -\@makeLength{premisesspace}{pSpace}{1.5em}{plus 1fil} -\@makeLength{premisesend}{pEnd}{.75em}{plus 0.5fil} -\@makeLength{namespace}{nSpace}{.5em}{} -\newbox\@@aLineBox -\newif\if@@shortDivider -\newcommand{\@@space}{ } -\newcommand{\predicate}[1]{\predicatebegin #1\predicateend} -\newcommand{\predicatebegin}{$} -\newcommand{\predicateend}{$} -\def\inference{% - \@@shortDividerfalse - \expandafter\hbox\bgroup - \@ifstar{\@@shortDividertrue\@inferenceFront}% - \@inferenceFront -} -\def\@inferenceFront{% - \@ifnextchar[% - {\@inferenceFrontName}% - {\@inferenceMiddle}% -} -\def\@inferenceFrontName[#1]{% - \setbox3=\hbox{\footnotesize #1}% - \ifdim \wd3 > \z@ - \unhbox3% - \hskip\@@nSpace - \fi - \@inferenceMiddle -} -\long\def\@inferenceMiddle#1{% - \@setLengths% - \setbox\@@pBox= - \vbox{% - \@premises{#1}% - \unvbox\@@pBox - }% - \@inferenceBack -} -\long\def\@inferenceBack#1{% - \setbox\@@cBox=% - \hbox{\hskip\@@pEnd \predicate{\ignorespaces#1}\unskip\hskip\@@pEnd}% - \setbox1=\hbox{$ $}% - \setbox\@@pBox=\vtop{\unvbox\@@pBox - \vskip 4\fontdimen8\textfont3}% - \setbox\@@cBox=\vbox{\vskip 4\fontdimen8\textfont3% - \box\@@cBox}% - \if@@shortDivider - \ifdim\wd\@@pBox >\wd\@@cBox% - \dimen1=\wd\@@pBox% - \else% - \dimen1=\wd\@@cBox% - \fi% - \dimen0=\wd\@@cBox% - \hbox to \dimen1{% - \hss - $\frac{\hbox to \dimen0{\hss\box\@@pBox\hss}}% - {\box\@@cBox}$% - \hss - }% - \else - $\frac{\box\@@pBox}% - {\box\@@cBox}$% - \fi - \@ifnextchar[% - {\@inferenceBackName}%{}% - {\egroup} -} -\def\@inferenceBackName[#1]{% - \setbox3=\hbox{\footnotesize #1}% - \ifdim \wd3 > \z@ - \hskip\@@nSpace - \unhbox3% - \fi - \egroup -} -\newcommand{\@premises}[1]{% - \setbox\@@pBox=\vbox{}% - \dimen\@@maxwidth=\wd\@@cBox% - \@processPremises #1\\\end% - \@adjustPremises% -} -\newcommand{\@adjustPremises}{% - \setbox\@@pBox=\vbox{% - \@@moreLinestrue % - \loop % - \setbox\@@pBox=\vbox{% - \unvbox\@@pBox % - \global\setbox\@@aLineBox=\lastbox % - }% - \ifvoid\@@aLineBox % - \@@moreLinesfalse % - \else % - \hbox to \dimen\@@maxwidth{\unhbox\@@aLineBox}% - \fi % - \if@@moreLines\repeat% - }% -} -\def\@processPremises#1\\#2\end{% - \setbox\@@pLineBox=\hbox{}% - \@processPremiseLine #1&\end% - \setbox\@@pLineBox=\hbox{\unhbox\@@pLineBox \unskip}% - \ifdim \wd\@@pLineBox > \z@ % - \setbox\@@pLineBox=% - \hbox{\hskip\@@pEnd \unhbox\@@pLineBox \hskip\@@pEnd}% - \ifdim \wd\@@pLineBox > \dimen\@@maxwidth % - \dimen\@@maxwidth=\wd\@@pLineBox % - \fi % - \setbox\@@pBox=\vbox{\box\@@pLineBox\unvbox\@@pBox}% - \fi % - \def\sem@tmp{#2}% - \ifx \sem@tmp\empty \else % - \@ReturnAfterFi{% - \@processPremises #2\end % - }% - \fi% -} -\def\@processPremiseLine#1\end{% - \def\sem@tmp{#1}% - \ifx \sem@tmp\empty \else% - \ifx \sem@tmp\@@space \else% - \setbox\@@pLineBox=% - \hbox{\unhbox\@@pLineBox% - \@inferenceOrPremis #1\inference\end% - \hskip\@@pSpace}% - \fi% - \fi% - \def\sem@tmp{#2}% - \ifx \sem@tmp\empty \else% - \@ReturnAfterFi{% - \@processPremiseLine#2\end% - }% - \fi% -} -\def\@inferenceOrPremis#1\inference{% - \@ifnext \end - {\@dropnext{\predicate{\ignorespaces #1}\unskip}}% - {\@processInference #1\inference}% -} -\def\@processInference#1\inference\end{% - \ignorespaces #1% - \setbox3=\lastbox - \dimen3=\dp3 - \advance\dimen3 by -\fontdimen22\textfont2 - \advance\dimen3 by \fontdimen8\textfont3 - \expandafter\raise\dimen3\box3% -} -\long\def\@ReturnAfterFi#1\fi{\fi#1} -\fi -\endinput -%% -%% End of file `infernce.sty'. diff --git a/helm/ocaml/cic_notation/doc/ligature.sty b/helm/ocaml/cic_notation/doc/ligature.sty deleted file mode 100644 index a914d91d1..000000000 --- a/helm/ocaml/cic_notation/doc/ligature.sty +++ /dev/null @@ -1,169 +0,0 @@ -%% -%% This is file `ligature.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% semantic.dtx (with options: `allOptions,ligature') -%% -%% IMPORTANT NOTICE: -%% -%% For the copyright see the source file. -%% -%% Any modified versions of this file must be renamed -%% with new filenames distinct from ligature.sty. -%% -%% For distribution of the original source see the terms -%% for copying and modification in the file semantic.dtx. -%% -%% This generated file may be distributed as long as the -%% original source files, as listed above, are part of the -%% same distribution. (The sources need not necessarily be -%% in the same archive or directory.) -%% -%% semantic.dtx (c)1995--2002 Peter M^^f8ller Neergaard and -%% Arne John Glenstrup -%% -\expandafter\ifx\csname sem@nticsLoader\endcsname\relax - \PackageError{semantic}{% - This file should not be loaded directly} - {% - This file is an option of the semantic package. It should not be - loaded directly\MessageBreak - but by using \protect\usepackage{semantic} in your document - preamble.\MessageBreak - No commands are defined.\MessageBreak - Type to proceed. - }% -\else -\TestForConflict{\@addligto,\@addligtofollowlist,\@def@ligstep} -\TestForConflict{\@@trymathlig,\@defactive,\@defligstep} -\TestForConflict{\@definemathlig,\@domathligfirsts,\@domathligfollows} -\TestForConflict{\@exitmathlig,\@firstmathligs,\@ifactive,\@ifcharacter} -\TestForConflict{\@ifinlist,\@lastvalidmathlig,\@mathliglink} -\TestForConflict{\@mathligredefactive,\@mathligsoff,\@mathligson} -\TestForConflict{\@seentoks,\@setupfirstligchar,\@try@mathlig} -\TestForConflict{\@trymathlig,\if@mathligon,\mathlig,\mathligprotect} -\TestForConflict{\mathligsoff,\mathligson,\@startmathlig,\@pushedtoks} -\newif\if@mathligon -\DeclareRobustCommand\mathlig[1]{\@addligtolists#1\@@ - \if@mathligon\mathligson\fi - \@setupfirstligchar#1\@@ - \@defligstep{}#1\@@} -\def\@mathligson{\if@mathligon\mathligson\fi} -\def\@mathligsoff{\if@mathligon\mathligsoff\@mathligontrue\fi} -\DeclareRobustCommand\mathligprotect[1]{\expandafter - \def\expandafter#1\expandafter{% - \expandafter\@mathligsoff#1\@mathligson}} -\DeclareRobustCommand\mathligson{\def\do##1##2##3{\mathcode`##1="8000}% - \@domathligfirsts\@mathligontrue} -\AtBeginDocument{\mathligson} -\DeclareRobustCommand\mathligsoff{\def\do##1##2##3{\mathcode`##1=##2}% - \@domathligfirsts\@mathligonfalse} -\edef\@mathliglink{Error: \noexpand\verb|\string\@mathliglink| expanded} -{\catcode`\A=11\catcode`\1=12\catcode`\~=13 % Letter, Other and Active -\gdef\@ifcharacter#1{\ifcat A\noexpand#1\let\next\@firstoftwo - \else\ifcat 1\noexpand#1\let\next\@firstoftwo - \else\ifcat \noexpand~\noexpand#1\let\next\@firstoftwo - \else\let\next\@secondoftwo\fi\fi\fi\next}% -\gdef\@ifactive#1{\ifcat \noexpand~\noexpand#1\let\next\@firstoftwo - \else\let\next\@secondoftwo\fi\next}} -\def\@domathligfollows{}\def\@domathligfirsts{} -\def\@makemathligsactive{\mathligson - \def\do##1##2##3{\catcode`##1=12}\@domathligfollows} -\def\@makemathligsnormal{\mathligsoff - \def\do##1##2##3{\catcode`##1=##3}\@domathligfollows} -\def\@ifinlist#1#2{\@tempswafalse - \def\do##1##2##3{\ifnum`##1=`#2\relax\@tempswatrue\fi}#1% - \if@tempswa\let\next\@firstoftwo\else\let\next\@secondoftwo\fi\next} -\def\@addligto#1#2{% - \@ifinlist#1#2{\def\do##1##2##3{\noexpand\do\noexpand##1% - \ifnum`##1=`#2 {\the\mathcode`#2}{\the\catcode`#2}% - \else{##2}{##3}\fi}% - \edef#1{#1}}% - {\def\do##1##2##3{\noexpand\do\noexpand##1% - \ifnum`##1=`#2 {\the\mathcode`#2}{\the\catcode`#2}% - \else{##2}{##3}\fi}% - \edef#1{#1\do#2{\the\mathcode`#2}{\the\catcode`#2}}}} -\def\@addligtolists#1{\expandafter\@addligto - \expandafter\@domathligfirsts - \csname\string#1\endcsname\@addligtofollowlist} -\def\@addligtofollowlist#1{\ifx#1\@@\let\next\relax\else - \def\next{\expandafter\@addligto - \expandafter\@domathligfollows - \csname\string#1\endcsname - \@addligtofollowlist}\fi\next} -\def\@defligstep#1#2{\def\@tempa##1{\ifx##1\endcsname - \expandafter\endcsname\else - \string##1\expandafter\@tempa\fi}% - \expandafter\@def@ligstep\csname @mathlig\@tempa#1#2\endcsname{#1#2}} -\def\@def@ligstep#1#2#3{% - \ifx#3\@@ - \def\next{\def#1}% - \else - \ifx#1\relax - \def\next{\let#1\@mathliglink\@defligstep{#2}#3}% - \else - \def\next{\@defligstep{#2}#3}% - \fi - \fi\next} -\def\@setupfirstligchar#1#2\@@{% - \@ifactive{#1}{% - \expandafter\expandafter\expandafter\@mathligredefactive - \expandafter\string\expandafter#1\expandafter{#1}{#1}}% - {\@defactive#1{\@startmathlig #1}\@namedef{@mathlig#1}{#1}}} -\def\@mathligredefactive#1#2#3{% - \def#3{{}\ifmmode\def\next{\@startmathlig#1}\else - \def\next{#2}\fi\next}% - \@namedef{@mathlig#1}{#2}} -\def\@defactive#1{\@ifundefined{@definemathlig\string#1}% - {\@latex@error{Illegal first character in math ligature} - {You can only use \@firstmathligs\space as the first^^J - character of a math ligature}}% - {\csname @definemathlig\string#1\endcsname}} - -{\def\@firstmathligs{}\def\do#1{\catcode`#1=\active - \expandafter\gdef\expandafter\@firstmathligs - \expandafter{\@firstmathligs\space\string#1}\next} - \def\next#1{\expandafter\gdef\csname - @definemathlig\string#1\endcsname{\def#1}} - \do{"}"\do{@}@\do{/}/\do{(}(\do{)})\do{[}[\do{]}]\do{=}= - \do{?}?\do{!}!\do{`}`\do{'}'\do{|}|\do{~}~\do{<}<\do{>}> - \do{+}+\do{-}-\do{*}*\do{.}.\do{,},\do{:}:\do{;};} -\newtoks\@pushedtoks -\newtoks\@seentoks -\def\@startmathlig{\def\@lastvalidmathlig{}\@pushedtoks{}% - \@seentoks{}\@trymathlig} -\def\@trymathlig{\futurelet\next\@@trymathlig} -\def\@@trymathlig{\@ifcharacter\next{\@try@mathlig}{\@exitmathlig{}}} -\def\@exitmathlig#1{% - \expandafter\@makemathligsnormal\@lastvalidmathlig\mathligson - \the\@pushedtoks#1} -\def\@try@mathlig#1{%\typeout{char: #1 catcode: \the\catcode`#1 - \@ifundefined{@mathlig\the\@seentoks#1}{\@exitmathlig{#1}}% - {\expandafter\ifx - \csname @mathlig\the\@seentoks#1\endcsname - \@mathliglink - \expandafter\@pushedtoks - \expandafter=\expandafter{\the\@pushedtoks#1}% - \else - \expandafter\let\expandafter\@lastvalidmathlig - \csname @mathlig\the\@seentoks#1\endcsname - \@pushedtoks={}% - \fi - \expandafter\@seentoks\expandafter=\expandafter% - {\the\@seentoks#1}\@makemathligsactive\obeyspaces\@trymathlig}} -\edef\patch@newmcodes@{% - \mathcode\number`\'=39 - \mathcode\number`\*=42 - \mathcode\number`\.=\string "613A - \mathchardef\noexpand\std@minus=\the\mathcode`\-\relax - \mathcode\number`\-=45 - \mathcode\number`\/=47 - \mathcode\number`\:=\string "603A\relax -} -\AtBeginDocument{\let\newmcodes@=\patch@newmcodes@} -\fi -\endinput -%% -%% End of file `ligature.sty'. diff --git a/helm/ocaml/cic_notation/doc/main.tex b/helm/ocaml/cic_notation/doc/main.tex deleted file mode 100644 index 36d35026c..000000000 --- a/helm/ocaml/cic_notation/doc/main.tex +++ /dev/null @@ -1,43 +0,0 @@ -\documentclass[a4paper,draft]{article} - -\usepackage{manfnt} -\usepackage{a4wide} -\usepackage{pifont} -\usepackage{semantic} -\usepackage{stmaryrd,latexsym} - -\newcommand{\BLOB}{\raisebox{0ex}{\small\manstar}} - -\newcommand{\MATITA}{\ding{46}\textsf{\textbf{Matita}}} - -\title{Extensible notation for \MATITA} -\author{Luca Padovani \qquad Stefano Zacchiroli \\ -\small Department of Computer Science, University of Bologna \\ -\small Mura Anteo Zamboni, 7 -- 40127 Bologna, ITALY \\ -\small \{\texttt{lpadovan}, \texttt{zacchiro}\}\texttt{@cs.unibo.it}} - -\newcommand{\BREAK}{\mathtt{break}} -\newcommand{\TVAR}[1]{#1:\mathtt{term}} -\newcommand{\IMPVAR}{\TVAR{\_}} -\newcommand{\NVAR}[1]{#1:\mathtt{number}} -\newcommand{\IVAR}[1]{#1:\mathtt{name}} -\newcommand{\FENCED}[1]{\texttt{\char'050}#1\texttt{\char'051}} -\newcommand{\ITO}[2]{|[#1|]_{\mathcal#2}^1} -\newcommand{\IOT}[2]{|[#1|]_{#2}^2} -\newcommand{\IAP}[2]{|[#1|]_{#2}^a} -\newcommand{\IAPP}[3]{|[#1|]_{#2,#3}^a} -\newcommand{\ADDPARENS}[2]{\llparenthesis#1\rrparenthesis^{#2}} -\newcommand{\NAMES}{\mathit{names}} -\newcommand{\DOMAIN}{\mathit{domain}} -\newcommand{\UPDATE}[2]{#1[#2]} - -\mathlig{~>}{\leadsto} -\mathlig{|->}{\mapsto} - -\begin{document} - \maketitle - - \input{body} - -\end{document} - diff --git a/helm/ocaml/cic_notation/doc/manfnt.sty b/helm/ocaml/cic_notation/doc/manfnt.sty deleted file mode 100644 index c332cc6fc..000000000 --- a/helm/ocaml/cic_notation/doc/manfnt.sty +++ /dev/null @@ -1,74 +0,0 @@ -%% -%% This is file `manfnt.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% manfnt.dtx -%% -%% Copyright (C) 1998 - 99 by Axel Kielhorn, all rights reserved -%% Copyright (C) 1999 by Denis Kosygin, all rights reserved. -%% For additional copyright information see further down in this file. -%% -%% This file is to be used with the LaTeX2e system. -%% ------------------------------------------------ -%% -%% This program can be redistributed and/or modified under the terms -%% of the LaTeX Project Public License Distributed from CTAN -%% archives in directory macros/latex/base/lppl.txt; either -%% version 1 of the License, or any later version. -%% -%% Copyright (C) 1998 - 99 by Axel Kielhorn, all rights reserved -%% Copyright (C) 1999 by Denis Kosygin, all rights reserved. -%% -%% This program can be redistributed and/or modified under the terms -%% of the LaTeX Project Public License Distributed from CTAN -%% archives in directory macros/latex/base/lppl.txt; either -%% version 1 of the License, or any later version. -\def\fileversion{0.2} -\def\filedate{1999/07/01} -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{manfnt}[\filedate \fileversion LaTeX2e manfnt package] -\DeclareFontFamily{U}{manual}{} -\DeclareFontShape{U}{manual}{m}{n}{ <-> manfnt }{} -\newcommand{\manfntsymbol}[1]{% - {\fontencoding{U}\fontfamily{manual}\selectfont\symbol{#1}}} -\newcommand{\manhpennib}{\manfntsymbol{21}} -\newcommand{\mantiltpennib}{\manfntsymbol{22}} -\newcommand{\manvpennib}{\manfntsymbol{23}} -\newcommand{\mankidney}{\manfntsymbol{17}} -\newcommand{\manboldkidney}{\manfntsymbol{18}} -\newcommand{\manpenkidney}{\manfntsymbol{19}} -\newcommand{\manlhpenkidney}{\manfntsymbol{20}} -\newcommand{\manquartercircle}{\manfntsymbol{32}} -\newcommand{\manfilledquartercircle}{\manfntsymbol{33}} -\newcommand{\manrotatedquartercircle}{\manfntsymbol{34}} -\newcommand{\mancone}{\manfntsymbol{35}} -\newcommand{\manconcentriccircles}{\manfntsymbol{36}} -\newcommand{\manconcentricdiamond}{\manfntsymbol{37}} -\newcommand{\mantriangleright}{\manfntsymbol{120}}% Triangle for exercises -\newcommand{\mantriangleup}{% Upper triangle for Addison-Wesley logo - \manfntsymbol{54}} -\newcommand{\mantriangledown}{% Lower triangle for Addison-Wesley logo - \manfntsymbol{55}} -\newcommand{\mancube}{\manfntsymbol{28}} -\newcommand{\manimpossiblecube}{\manfntsymbol{29}} -\newcommand{\manquadrifolium}{\manfntsymbol{38}}% \fouru -\newcommand{\manrotatedquadrifolium}{\manfntsymbol{39}}% \fourc -\newcommand{\manstar}{\manfntsymbol{30}}% Bicentennial star -\newcommand{\manerrarrow}{\manfntsymbol{121}}% Arrow for errata lists -\newcommand{\dbend}{\manfntsymbol{127}}% Z-shaped -\newcommand{\lhdbend}{\manfntsymbol{126}}% Lefthanded (S-shaped) -\newcommand{\reversedvideodbend}{\manfntsymbol{0}}% Reversed video -\newcommand{\textdbend}{\text@dbend{\dbend}} -\newcommand{\textlhdbend}{\text@dbend{\lhdbend}} -\newcommand{\textreversedvideodbend}{\text@dbend{\reversedvideodbend}} -\newlength{\dbend@height} -\newcommand{\text@dbend}[1]{% - \settoheight{\dbend@height}{#1}% - \divide\dbend@height by 15% - \multiply\dbend@height by 22% - \raisebox{\dbend@height}{#1}} -\endinput -%% -%% End of file `manfnt.sty'. diff --git a/helm/ocaml/cic_notation/doc/reserved.sty b/helm/ocaml/cic_notation/doc/reserved.sty deleted file mode 100644 index c0d56b8aa..000000000 --- a/helm/ocaml/cic_notation/doc/reserved.sty +++ /dev/null @@ -1,80 +0,0 @@ -%% -%% This is file `reserved.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% semantic.dtx (with options: `allOptions,reservedWords') -%% -%% IMPORTANT NOTICE: -%% -%% For the copyright see the source file. -%% -%% Any modified versions of this file must be renamed -%% with new filenames distinct from reserved.sty. -%% -%% For distribution of the original source see the terms -%% for copying and modification in the file semantic.dtx. -%% -%% This generated file may be distributed as long as the -%% original source files, as listed above, are part of the -%% same distribution. (The sources need not necessarily be -%% in the same archive or directory.) -%% -%% semantic.dtx (c)1995--2002 Peter M^^f8ller Neergaard and -%% Arne John Glenstrup -%% -\expandafter\ifx\csname sem@nticsLoader\endcsname\relax - \PackageError{semantic}{% - This file should not be loaded directly} - {% - This file is an option of the semantic package. It should not be - loaded directly\MessageBreak - but by using \protect\usepackage{semantic} in your document - preamble.\MessageBreak - No commands are defined.\MessageBreak - Type to proceed. - }% -\else -\TestForConflict{\reservestyle,\@reservestyle,\setreserved,\<} -\TestForConflict{\@parseDefineReserved,\@xparseDefineReserved} -\TestForConflict{\@defineReserved,\@xdefineReserved} -\newcommand{\reservestyle}[3][]{ - \newcommand{#2}{\@parseDefineReserved{#1}{#3}} - \expandafter\expandafter\expandafter\def - \expandafter\csname set\expandafter\@gobble\string#2\endcsname##1% - {#1{#3{##1}}}} -\newtoks\@@spacing -\newtoks\@@formating -\def\@parseDefineReserved#1#2{% - \@ifnextchar[{\@xparseDefineReserved{#2}}% - {\@xparseDefineReserved{#2}[#1]}} -\def\@xparseDefineReserved#1[#2]#3{% - \@@formating{#1}% - \@@spacing{#2}% - \expandafter\@defineReserved#3,\end -} -\def\@defineReserved#1,{% - \@ifnextchar\end - {\@xdefineReserved #1[]\END\@gobble}% - {\@xdefineReserved#1[]\END\@defineReserved}} -\def\@xdefineReserved#1[#2]#3\END{% - \def\reserved@a{#2}% - \ifx \reserved@a\empty \toks0{#1}\else \toks0{#2} \fi - \expandafter\edef\csname\expandafter<#1>\endcsname - {\the\@@formating{\the\@@spacing{\the\toks0}}}} -\def\setreserved#1>{% - \expandafter\let\expandafter\reserved@a\csname<#1>\endcsname - \@ifundefined{reserved@a}{\PackageError{Semantic} - {``#1'' is not defined as a reserved word}% - {Before referring to a name as a reserved word, it % - should be defined\MessageBreak using an appropriate style - definer. A style definer is defined \MessageBreak - using \protect\reservestyle.\MessageBreak% - Type to proceed --- nothing will be set.}}% - {\reserved@a}} -\let\<=\setreserved -\fi -\endinput -%% -%% End of file `reserved.sty'. diff --git a/helm/ocaml/cic_notation/doc/samples.ma b/helm/ocaml/cic_notation/doc/samples.ma deleted file mode 100644 index ff6380151..000000000 --- a/helm/ocaml/cic_notation/doc/samples.ma +++ /dev/null @@ -1,139 +0,0 @@ - -notation - "\langle a , b \rangle" -for - @{ 'pair $a $b }. -check \langle 1, \langle 2, 3 \rangle \rangle. -check 'pair 1 ('pair 2 ('pair 3 4)). - -notation "a :: b" for @{ 'cons $a $b }. -check 1 :: 2 :: 'ugo. - -notation - "[ hovbox (list0 a sep ; ) ]" -for ${ - fold right - @'nil - rec acc - @{ 'cons $a $acc } -}. -check [1;2;3;4]. - -notation - "[ list1 a sep ; | b ]" -for ${ - if @{ 'cons $_ $_ } then - fold right - if @'nil then - fail - else if @{ 'cons $_ $_ } then - fail - else - b - rec acc - @{ 'cons $a $acc } - else - fail -}. -check 'cons 1 ('cons 2 ('cons 3 'ugo)). -check 'cons 1 ('cons 2 ('cons 3 'nil)). -check [1;2;3;4]. -check [1;2;3;4|5]. - -notation "a + b" left associative for @{ 'plus $a $b }. -check 1 + 2 + 3. -check 1 + (2 + 3). - -notation "a + b" left associative for @{ 'plus $a $b }. -notation "a * b" left associative for @{ 'mult $a $b }. -interpretation 'plus x y = (cic:/Coq/Init/Peano/plus.con x y). -interpretation 'mult x y = (cic:/Coq/Init/Peano/mult.con x y). -render cic:/Coq/Arith/Mult/mult_plus_distr_r.con. - -notation - "hvbox ('if' a 'then' break b break 'else' break c)" -for - @{ 'ifthenelse $a $b $c }. -check if even then \forall x:nat.x else bump x. - -notation - "a \vee b" -for - @{ if $a > $b then $a else $b } - -notation - "'fun' ident x \to a" - right associative with precedence 20 -for - @{ 'lambda ${ident x} $a }. - -notation - "hvbox(a break \to b)" -for - @{ \forall $_:$a.$b }. -check nat \to nat. - -NOTES - -@a e' un'abbreviazione per @{term a} -"x" e' un'abbreviazione per @{keyword x} -@_ e' un'abbreviazione per @{anonymous} - -\x simbolo della sintassi concreta -'x simbolo della sintassi astratta - -\lbrace \rbrace per le parentesi graffe al livello 1 - -OLD SAMPLES - -# sample mappings level 1 <--> level 2 - -notation \[ \TERM a ++ \OPT \NUM i \] for 'assign \TERM a ('plus \TERM a \DEFAULT \[\NUM i\] \[1\]). -check 1 ++ 2. - -notation \[ + \LIST0 \NUM a \] for \FOLD right \[ 'zero \] \LAMBDA acc \[ 'plus \NUM a \TERM acc \]. -check + 1 2 3 4. - -notation \[ [ \HOVBOX\[ \LIST0 \TERM a \SEP ; \] ] \] for \FOLD right \[ 'nil \] \LAMBDA acc \[ 'cons \TERM a \TERM acc \]. -check []. -check [1;2;3;4]. - -notation \[ [ \LIST0 \[ \TERM a ; \TERM b \] \SEP ; ] \] for \FOLD right \[ 'nil \] \LAMBDA acc \[ 'cons \TERM a ( 'cons \TERM b \TERM acc) \] . -check []. -check [1;2]. -check [1;2;3;4]. - -notation \[ | \LIST0 \[ \TERM a \OPT \[ , \TERM b \] \] \SEP ; | \] for \FOLD right \[ 'nil \] \LAMBDA acc \[ 'cons \DEFAULT \[ \TERM a \] \[ ('pair \TERM a \TERM b) \] \TERM acc \] . - -notation \[ | \LIST0 \[ \OPT \[ \NUM i \] \] \SEP ; | \] for \FOLD right \[ 'nil \] \LAMBDA acc \[ 'cons \DEFAULT \[ 'Some \NUM i \] \[ 'None \] \TERM acc \] . - -# sample mappings level 2 <--> level 3 - -interpretation 'plus x y = (cic:/Coq/Init/Peano/plus.con x y). -interpretation 'mult x y = (cic:/Coq/Init/Peano/mult.con x y). -render cic:/Coq/Arith/Mult/mult_plus_distr_r.con. - -notation \[ \TERM a \OVER \TERM b : \TERM c \SQRT \TERM d \] for 'megacoso \TERM a \TERM b \TERM c \TERM d. -interpretation "megacoso" 'megacoso x y z w = - (cic:/Coq/Init/Logic/eq.ind#xpointer(1/1) - cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1) - (cic:/Coq/Init/Peano/plus.con x y) - (cic:/Coq/Init/Peano/plus.con z w)). -render cic:/Coq/Arith/Plus/plus_comm.con. - -# full samples - -notation \[ \TERM a + \TERM b \] for 'plus \TERM a \TERM b. -check 1 + 2. -interpretation 'plus x y = (cic:/Coq/Init/Peano/plus.con x y). -render cic:/Coq/Arith/Plus/plus_comm.con. - -notation \[ \TERM a + \TERM b \] left associative with precedence 50 for 'plus \TERM a \TERM b. -notation \[ \TERM a * \TERM b \] left associative with precedence 60 for 'mult \TERM a \TERM b. -interpretation 'plus x y = (cic:/Coq/Init/Peano/plus.con x y). -interpretation 'mult x y = (cic:/Coq/Init/Peano/mult.con x y). -render cic:/Coq/Arith/Mult/mult_plus_distr_r.con. - -notation \[ \LIST \NUM a \] for \FOLD left \[ 'a \] \LAMBDA acc \[ 'b \NUM a \]. - - diff --git a/helm/ocaml/cic_notation/doc/semantic.sty b/helm/ocaml/cic_notation/doc/semantic.sty deleted file mode 100644 index 98257cab8..000000000 --- a/helm/ocaml/cic_notation/doc/semantic.sty +++ /dev/null @@ -1,137 +0,0 @@ -%% -%% This is file `semantic.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% semantic.dtx (with options: `general') -%% -%% IMPORTANT NOTICE: -%% -%% For the copyright see the source file. -%% -%% Any modified versions of this file must be renamed -%% with new filenames distinct from semantic.sty. -%% -%% For distribution of the original source see the terms -%% for copying and modification in the file semantic.dtx. -%% -%% This generated file may be distributed as long as the -%% original source files, as listed above, are part of the -%% same distribution. (The sources need not necessarily be -%% in the same archive or directory.) -%% -%% semantic.dtx (c)1995--2002 Peter M^^f8ller Neergaard and -%% Arne John Glenstrup -%% -\NeedsTeXFormat{LaTeX2e} -\newcommand{\semanticVersion}{2.0(epsilon)} -\newcommand{\semanticDate}{2003/10/28} -\ProvidesPackage{semantic} - [\semanticDate\space v\semanticVersion\space] -\typeout{Semantic Package v\semanticVersion\space [\semanticDate]} -\typeout{CVSId: $Id$} -\newcounter{@@conflict} -\newcommand{\@semanticNotDefinable}{% - \typeout{Command \@backslashchar\reserved@a\space already defined} - \stepcounter{@@conflict}} -\newcommand{\@oldNotDefinable}{} -\let\@oldNotDefinable=\@notdefinable -\let\@notdefinable=\@semanticNotDefinable -\newcommand{\TestForConflict}{} -\def\TestForConflict#1{\sem@test #1,,} -\newcommand{\sem@test}{} -\newcommand{\sem@tmp}{} -\newcommand{\@@next}{} -\def\sem@test#1,{% - \def\sem@tmp{#1}% - \ifx \sem@tmp\empty \let\@@next=\relax \else - \@ifdefinable{#1}{} \let\@@next=\sem@test \fi - \@@next} -\TestForConflict{\@inputLigature,\@inputInference,\@inputTdiagram} -\TestForConflict{\@inputReservedWords,\@inputShorthand} -\TestForConflict{\@ddInput,\sem@nticsLoader,\lo@d} -\def\@inputLigature{\input{ligature.sty}\message{ math mode ligatures,}% - \let\@inputLigature\relax} -\def\@inputInference{\input{infernce.sty}\message{ inference rules,}% - \let\@inputInference\relax} -\def\@inputTdiagram{\input{tdiagram.sty}\message{ T diagrams,}% - \let\@inputTdiagram\relax} -\def\@inputReservedWords{\input{reserved.sty}\message{ reserved words,}% - \let\@inputReservedWords\relax} -\def\@inputShorthand{\input{shrthand.sty}\message{ short hands,}% - \let\@inputShorthand\relax} -\toks1={} -\newcommand{\@ddInput}[1]{% - \toks1=\expandafter{\the\toks1\noexpand#1}} -\DeclareOption{ligature}{\@ddInput\@inputLigature} -\DeclareOption{inference}{\@ddInput\@inputInference} -\DeclareOption{tdiagram}{\@ddInput\@inputTdiagram} -\DeclareOption{reserved}{\@ddInput\@inputReservedWords} -\DeclareOption{shorthand}{\@ddInput\@inputLigature - \@ddInput\@inputShorthand} -\ProcessOptions* -\typeout{Loading features: } -\def\sem@nticsLoader{} -\edef\lo@d{\the\toks1} -\ifx\lo@d\empty - \@inputLigature - \@inputInference - \@inputTdiagram - \@inputReservedWords - \@inputShorthand -\else - \lo@d -\fi -\typeout{and general definitions.^^J} -\let\@ddInput\relax -\let\@inputInference\relax -\let\@inputLigature\relax -\let\@inputTdiagram\relax -\let\@inputReservedWords\relax -\let\@inputShorthand\relax -\let\sem@nticsLoader\realx -\let\lo@d\relax -\TestForConflict{\@dropnext,\@ifnext,\@ifn,\@ifNextMacro,\@ifnMacro} -\TestForConflict{\@@maxwidth,\@@pLineBox,\if@@Nested,\@@cBox} -\TestForConflict{\if@@moreLines,\@@pBox} -\def\@ifnext#1#2#3{% - \let\reserved@e=#1\def\reserved@a{#2}\def\reserved@b{#3}\futurelet% - \reserved@c\@ifn} -\def\@ifn{% - \ifx \reserved@c \reserved@e\let\reserved@d\reserved@a\else% - \let\reserved@d\reserved@b\fi \reserved@d} -\def\@ifNextMacro#1#2{% - \def\reserved@a{#1}\def\reserved@b{#2}% - \futurelet\reserved@c\@ifnMacro} -\def\@ifnMacro{% - \ifcat\noexpand\reserved@c\noexpand\@ifnMacro - \let\reserved@d\reserved@a - \else \let\reserved@d\reserved@b\fi \reserved@d} -\newcommand{\@dropnext}[2]{#1} -\ifnum \value{@@conflict} > 0 - \PackageError{Semantic} - {The \the@@conflict\space command(s) listed above have been - redefined.\MessageBreak - Please report this to turtle@bu.edu} - {Some of the commands defined in semantic was already defined % - and has\MessageBreak now be redefined. There is a risk that % - these commands will be used\MessageBreak by other packages % - leading to spurious errors.\MessageBreak - \space\space Type and cross your fingers% -}\fi -\let\@notdefinable=\@oldNotDefinable -\let\@semanticNotDefinable=\relax -\let\@oldNotDefinable=\relax -\let\TestForConflict=\relax -\let\@endmark=\relax -\let\sem@test=\relax -\newdimen\@@maxwidth -\newbox\@@pLineBox -\newbox\@@cBox -\newbox\@@pBox -\newif\if@@moreLines -\newif\if@@Nested \@@Nestedfalse -\endinput -%% -%% End of file `semantic.sty'. diff --git a/helm/ocaml/cic_notation/doc/shrthand.sty b/helm/ocaml/cic_notation/doc/shrthand.sty deleted file mode 100644 index b73af4470..000000000 --- a/helm/ocaml/cic_notation/doc/shrthand.sty +++ /dev/null @@ -1,96 +0,0 @@ -%% -%% This is file `shrthand.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% semantic.dtx (with options: `allOptions,shorthand') -%% -%% IMPORTANT NOTICE: -%% -%% For the copyright see the source file. -%% -%% Any modified versions of this file must be renamed -%% with new filenames distinct from shrthand.sty. -%% -%% For distribution of the original source see the terms -%% for copying and modification in the file semantic.dtx. -%% -%% This generated file may be distributed as long as the -%% original source files, as listed above, are part of the -%% same distribution. (The sources need not necessarily be -%% in the same archive or directory.) -%% -%% semantic.dtx (c)1995--2002 Peter M^^f8ller Neergaard and -%% Arne John Glenstrup -%% -\expandafter\ifx\csname sem@nticsLoader\endcsname\relax - \PackageError{semantic}{% - This file should not be loaded directly} - {% - This file is an option of the semantic package. It should not be - loaded directly\MessageBreak - but by using \protect\usepackage{semantic} in your document - preamble.\MessageBreak - No commands are defined.\MessageBreak - Type to proceed. - }% -\else -\IfFileExists{DONOTUSEmathbbol.sty}{% - \RequirePackage{mathbbol} - \newcommand{\@bblb}{\textbb{[}} - \newcommand{\@bbrb}{\textbb{]}} - \newcommand{\@mbblb}{\mathopen{\mbox{\textbb{[}}}} - \newcommand{\@mbbrb}{\mathclose{\mbox{\textbb{]}}}} -} -{ \newcommand{\@bblb}{\textnormal{[\kern-.15em[}} - \newcommand{\@bbrb}{\textnormal{]\kern-.15em]}} - \newcommand{\@mbblb}{\mathopen{[\mkern-2.67mu[}} - \newcommand{\@mbbrb}{\mathclose{]\mkern-2.67mu]}} -} -\mathlig{|-}{\vdash} -\mathlig{|=}{\models} -\mathlig{->}{\rightarrow} -\mathlig{->*}{\mathrel{\rightarrow^*}} -\mathlig{->+}{\mathrel{\rightarrow^+}} -\mathlig{-->}{\longrightarrow} -\mathlig{-->*}{\mathrel{\longrightarrow^*}} -\mathlig{-->+}{\mathrel{\longrightarrow^+}} -\mathlig{=>}{\Rightarrow} -\mathlig{=>*}{\mathrel{\Rightarrow^*}} -\mathlig{=>+}{\mathrel{\Rightarrow^+}} -\mathlig{==>}{\Longrightarrow} -\mathlig{==>*}{\mathrel{\Longrightarrow^*}} -\mathlig{==>+}{\mathrel{\Longrightarrow^+}} -\mathlig{<-}{\leftarrow} -\mathlig{*<-}{\mathrel{{}^*\mkern-1mu\mathord\leftarrow}} -\mathlig{+<-}{\mathrel{{}^+\mkern-1mu\mathord\leftarrow}} -\mathlig{<--}{\longleftarrow} -\mathlig{*<--}{\mathrel{{}^*\mkern-1mu\mathord{\longleftarrow}}} -\mathlig{+<--}{\mathrel{{}^+\mkern-1mu\mathord{\longleftarrow}}} -\mathlig{<=}{\Leftarrow} -\mathlig{*<=}{\mathrel{{}^*\mkern-1mu\mathord\Leftarrow}} -\mathlig{+<=}{\mathrel{{}^+\mkern-1mu\mathord\Leftarrow}} -\mathlig{<==}{\Longleftarrow} -\mathlig{*<==}{\mathrel{{}^*\mkern-1mu\mathord{\Longleftarrow}}} -\mathlig{+<==}{\mathrel{{}^+\mkern-1mu\mathord{\Longleftarrow}}} -\mathlig{<->}{\longleftrightarrow} -\mathlig{<=>}{\Longleftrightarrow} -\mathlig{|[}{\@mbblb} -\mathlig{|]}{\@mbbrb} -\newcommand{\evalsymbol}[1][]{\ensuremath{\mathcal{E}^{#1}}} -\newcommand{\compsymbol}[1][]{\ensuremath{\mathcal{C}^{#1}}} -\newcommand{\eval}[3][]% - {\mbox{$\mathcal{E}^{#1}$\@bblb \texttt{#2}\@bbrb}% - \ensuremath{\mathtt{#3}}} -\newcommand{\comp}[3][]% - {\mbox{$\mathcal{C}^{#1}$\@bblb \texttt{#2}\@bbrb}% - \ensuremath{\mathtt{#3}}} -\newcommand{\@exe}[3]{} -\newcommand{\exe}[1]{\@ifnextchar[{\@exe{#1}}{\@exe{#1}[]}} -\def\@exe#1[#2]#3{% - \mbox{\@bblb\texttt{#1}\@bbrb$^\mathtt{#2}\mathtt{(#3)}$}} -\fi -\endinput -%% -%% End of file `shrthand.sty'. diff --git a/helm/ocaml/cic_notation/doc/tdiagram.sty b/helm/ocaml/cic_notation/doc/tdiagram.sty deleted file mode 100644 index 02202b34a..000000000 --- a/helm/ocaml/cic_notation/doc/tdiagram.sty +++ /dev/null @@ -1,166 +0,0 @@ -%% -%% This is file `tdiagram.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% semantic.dtx (with options: `allOptions,Tdiagram') -%% -%% IMPORTANT NOTICE: -%% -%% For the copyright see the source file. -%% -%% Any modified versions of this file must be renamed -%% with new filenames distinct from tdiagram.sty. -%% -%% For distribution of the original source see the terms -%% for copying and modification in the file semantic.dtx. -%% -%% This generated file may be distributed as long as the -%% original source files, as listed above, are part of the -%% same distribution. (The sources need not necessarily be -%% in the same archive or directory.) -%% -%% semantic.dtx (c)1995--2002 Peter M^^f8ller Neergaard and -%% Arne John Glenstrup -%% -\expandafter\ifx\csname sem@nticsLoader\endcsname\relax - \PackageError{semantic}{% - This file should not be loaded directly} - {% - This file is an option of the semantic package. It should not be - loaded directly\MessageBreak - but by using \protect\usepackage{semantic} in your document - preamble.\MessageBreak - No commands are defined.\MessageBreak - Type to proceed. - }% -\else -\TestForConflict{\@getSymbol,\@interpreter,\@parseArg,\@program} -\TestForConflict{\@putSymbol,\@saveBeforeSymbolMacro,\compiler} -\TestForConflict{\interpreter,\machine,\program,\@compiler} -\newif\if@@Left -\newif\if@@Up -\newcount\@@xShift -\newcount\@@yShift -\newtoks\@@symbol -\newtoks\@@tempSymbol -\newcommand{\compiler}[1]{\@compiler#1\end} -\def\@compiler#1,#2,#3\end{% - \if@@Nested % - \if@@Up % - \@@yShift=40 \if@@Left \@@xShift=-50 \else \@@xShift=-30 \fi - \else% - \@@yShift=20 \@@xShift =0 % - \fi% - \else% - \@@yShift=40 \@@xShift=-40% - \fi - \hskip\@@xShift\unitlength\raise \@@yShift\unitlength\hbox{% - \put(0,0){\line(1,0){80}}% - \put(0,-20){\line(1,0){30}}% - \put(50,-20){\line(1,0){30}}% - \put(30,-40){\line(1,0){20}}% - \put(0,0){\line(0,-1){20}}% - \put(80,0){\line(0,-1){20}}% - \put(30,-20){\line(0,-1){20}}% - \put(50,-20){\line(0,-1){20}}% - \put(30,-20){\makebox(20,20){$\rightarrow$}} % - {\@@Uptrue \@@Lefttrue \@parseArg(0,-20)(5,-20)#1\end}% - \if@@Up \else \@@tempSymbol=\expandafter{\the\@@symbol}\fi - {\@@Uptrue \@@Leftfalse \@parseArg(80,-20)(55,-20)#3\end}% - {\@@Upfalse \@@Lefttrue \@parseArg(50,-40)(30,-40)#2\end}% - \if@@Up \@@tempSymbol=\expandafter{\the\@@symbol}\fi - \if@@Nested \global\@@symbol=\expandafter{\the\@@tempSymbol} \fi% - }% -} -\newcommand{\interpreter}[1]{\@interpreter#1\end} -\def\@interpreter#1,#2\end{% - \if@@Nested % - \if@@Up % - \@@yShift=40 \if@@Left \@@xShift=0 \else \@@xShift=20 \fi - \else% - \@@yShift=0 \@@xShift =0 % - \fi% - \else% - \@@yShift=40 \@@xShift=10% - \fi - \hskip\@@xShift\unitlength\raise \@@yShift\unitlength\hbox{% - \put(0,0){\line(-1,0){20}}% - \put(0,-40){\line(-1,0){20}}% - \put(0,0){\line(0,-1){40}}% - \put(-20,0){\line(0,-1){40}}% - {\@@Uptrue \@@Lefttrue \@parseArg(0,0)(-20,-20)#1\end}% - \if@@Up \else \@@tempSymbol=\expandafter{\the\@@symbol}\fi - {\@@Upfalse \@@Lefttrue \@parseArg(0,-40)(-20,-40)#2\end}% - \if@@Up \@@tempSymbol=\expandafter{\the\@@symbol}\fi - \if@@Nested \global\@@symbol=\expandafter{\the\@@tempSymbol} \fi% - }% -} -\newcommand{\program}[1]{\@program#1\end} -\def\@program#1,#2\end{% - \if@@Nested % - \if@@Up % - \@@yShift=0 \if@@Left \@@xShift=0 \else \@@xShift=20 \fi - \else% - \PackageError{semantic}{% - A program cannot be at the bottom} - {% - You have tried to use a \protect\program\space as the - bottom\MessageBreak parameter to \protect\compiler, - \protect\interpreter\space or \protect\program.\MessageBreak - Type to proceed --- Output can be distorted.}% - \fi% - \else% - \@@yShift=0 \@@xShift=10% - \fi - \hskip\@@xShift\unitlength\raise \@@yShift\unitlength\hbox{% - \put(0,0){\line(-1,0){20}}% - \put(0,0){\line(0,1){30}}% - \put(-20,0){\line(0,1){30}}% - \put(-10,30){\oval(20,20)[t]}% - \@putSymbol[#1]{-20,20}% - {\@@Upfalse \@@Lefttrue \@parseArg(0,0)(-20,0)#2\end}% - }% -} -\newcommand{\machine}[1]{% - \if@@Nested % - \if@@Up % - \PackageError{semantic}{% - A machine cannot be at the top} - {% - You have tried to use a \protect\machine\space as a - top\MessageBreak parameter to \protect\compiler or - \protect\interpreter.\MessageBreak - Type to proceed --- Output can be distorted.}% - \else \@@yShift=0 \@@xShift=0 - \fi% - \else% - \@@yShift=20 \@@xShift=10% - \fi - \hskip\@@xShift\unitlength\raise \@@yShift\unitlength\hbox{% - \put(0,0){\line(-1,0){20}} \put(-20,0){\line(3,-5){10}} - \put(0,0){\line(-3,-5){10}}% - {\@@Uptrue \@@Lefttrue \@parseArg(0,0)(-20,-15)#1\end}% - }% -} -\def\@parseArg(#1)(#2){% - \@ifNextMacro{\@doSymbolMacro(#1)(#2)}{\@getSymbol(#2)}} -\def\@getSymbol(#1)#2\end{\@putSymbol[#2]{#1}} -\def\@doSymbolMacro(#1)(#2)#3{% - \@ifnextchar[{\@saveBeforeSymbolMacro(#1)(#2)#3}% - {\@symbolMacro(#1)(#2)#3}} -\def\@saveBeforeSymbolMacro(#1)(#2)#3[#4]#5\end{% - \@@tempSymbol={#4}% - \@@Nestedtrue\put(#1){#3#5}% - \@putSymbol[\the\@@tempSymbol]{#2}} -\def\@symbolMacro(#1)(#2)#3\end{% - \@@Nestedtrue\put(#1){#3}% - \@putSymbol{#2}} -\newcommand{\@putSymbol}[2][\the\@@symbol]{% - \global\@@symbol=\expandafter{#1}% - \put(#2){\makebox(20,20){\texttt{\the\@@symbol}}}} -\fi -\endinput -%% -%% End of file `tdiagram.sty'. diff --git a/helm/ocaml/cic_notation/grafiteAst.ml b/helm/ocaml/cic_notation/grafiteAst.ml deleted file mode 100644 index cba5acd1f..000000000 --- a/helm/ocaml/cic_notation/grafiteAst.ml +++ /dev/null @@ -1,249 +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/ - *) - -module Ast = CicNotationPt - -type direction = [ `LeftToRight | `RightToLeft ] - -type loc = Ast.location - -type ('term, 'lazy_term, 'ident) pattern = - 'lazy_term option * ('ident * 'term) list * 'term - -type ('term, 'ident) type_spec = - | Ident of 'ident - | Type of UriManager.uri * int - -type reduction = - [ `Normalize - | `Reduce - | `Simpl - | `Unfold of CicNotationPt.term option - | `Whd ] - -type ('term, 'lazy_term, 'reduction, 'ident) tactic = - | Absurd of loc * 'term - | Apply of loc * 'term - | Assumption of loc - | Auto of loc * int option * int option * string option * string option - (* depth, width, paramodulation, full *) (* ALB *) - | Change of loc * ('term, 'lazy_term, 'ident) pattern * 'lazy_term - | Clear of loc * 'ident - | ClearBody of loc * 'ident - | Compare of loc * 'term - | Constructor of loc * int - | Contradiction of loc - | Cut of loc * 'ident option * 'term - | DecideEquality of loc - | Decompose of loc * ('term, 'ident) type_spec list * 'ident * 'ident list - | Discriminate of loc * 'term - | Elim of loc * 'term * 'term option * int option * 'ident list - | ElimType of loc * 'term * 'term option * int option * 'ident list - | Exact of loc * 'term - | Exists of loc - | Fail of loc - | Fold of loc * 'reduction * 'lazy_term * ('term, 'lazy_term, 'ident) pattern - | Fourier of loc - | FwdSimpl of loc * string * 'ident list - | Generalize of loc * ('term, 'lazy_term, 'ident) pattern * 'ident option - | Goal of loc * int (* change current goal, argument is goal number 1-based *) - | IdTac of loc - | Injection of loc * 'term - | Intros of loc * int option * 'ident list - | LApply of loc * int option * 'term list * 'term * 'ident option - | Left of loc - | LetIn of loc * 'term * 'ident - | Reduce of loc * 'reduction * ('term, 'lazy_term, 'ident) pattern - | Reflexivity of loc - | Replace of loc * ('term, 'lazy_term, 'ident) pattern * 'lazy_term - | Rewrite of loc * direction * 'term * - ('term, 'lazy_term, 'ident) pattern - | Right of loc - | Ring of loc - | Split of loc - | Symmetry of loc - | Transitivity of loc * 'term - -type thm_flavour = Cic.object_flavour - - (** - * true means inductive, false coinductive *) -type 'term inductive_type = string * bool * 'term * (string * 'term) list - -type search_kind = [ `Locate | `Hint | `Match | `Elim ] - -type print_kind = [ `Env | `Coer ] - -type 'term macro = - (* Whelp's stuff *) - | WHint of loc * 'term - | WMatch of loc * 'term - | WInstance of loc * 'term - | WLocate of loc * string - | WElim of loc * 'term - (* real macros *) -(* | Abort of loc *) - | Print of loc * string - | Check of loc * 'term - | Hint of loc - | Quit of loc -(* | Redo of loc * int option - | Undo of loc * int option *) -(* | Print of loc * print_kind *) - | Search_pat of loc * search_kind * string (* searches with string pattern *) - | Search_term of loc * search_kind * 'term (* searches with term pattern *) - -type alias_spec = - | Ident_alias of string * string (* identifier, uri *) - | Symbol_alias of string * int * string (* name, instance no, description *) - | Number_alias of int * string (* instance no, description *) - -type obj = - | Inductive of (string * Ast.term) list * - Ast.term inductive_type list - (** parameters, list of loc * mutual inductive types *) - | Theorem of thm_flavour * string * Ast.term * Ast.term option - (** flavour, name, type, body - * - name is absent when an unnamed theorem is being proved, tipically in - * interactive usage - * - body is present when its given along with the command, otherwise it - * will be given in proof editing mode using the tactical language - *) - | Record of (string * Ast.term) list * string * Ast.term * - (string * Ast.term) list - (** left parameters, name, type, fields *) - -type metadata = - | Dependency of string (* baseuri without trailing slash *) - | Baseuri of string - -let compare_metadata = Pervasives.compare - -let eq_metadata = (=) - -(** To be increased each time the command type below changes, used for "safe" - * marshalling *) -let magic = 2 - -type ('term,'obj) command = - | Default of loc * string * UriManager.uri list - | Include of loc * string - | Set of loc * string * string - | Drop of loc - | Qed of loc - (** name. - * Name is needed when theorem was started without providing a name - *) - | Coercion of loc * 'term - | Alias of loc * alias_spec - (** parameters, name, type, fields *) - | Obj of loc * 'obj - | Notation of loc * direction option * Ast.term * Gramext.g_assoc * - int * Ast.term - (* direction, l1 pattern, associativity, precedence, l2 pattern *) - | Interpretation of loc * - string * (string * Ast.argument_pattern list) * - Ast.cic_appl_pattern - (* description (i.e. id), symbol, arg pattern, appl pattern *) - - | Metadata of loc * metadata - - (* DEBUGGING *) - | Dump of loc (* dump grammar on stdout *) - (* DEBUGGING *) - | Render of loc * UriManager.uri (* render library object *) - -(* composed magic: term + command magics. No need to change this value *) -let magic = magic + 10000 * CicNotationPt.magic - -let reash_cmd_uris = - let reash_uri uri = UriManager.uri_of_string (UriManager.string_of_uri uri) in - function - | Default (loc, name, uris) -> - let uris = List.map reash_uri uris in - Default (loc, name, uris) - | Interpretation (loc, dsc, args, cic_appl_pattern) -> - let rec aux = - function - | CicNotationPt.UriPattern uri -> - CicNotationPt.UriPattern (reash_uri uri) - | CicNotationPt.ApplPattern args -> - CicNotationPt.ApplPattern (List.map aux args) - | CicNotationPt.VarPattern _ - | CicNotationPt.ImplicitPattern as pat -> pat - in - let appl_pattern = aux cic_appl_pattern in - Interpretation (loc, dsc, args, appl_pattern) - | cmd -> cmd - -type ('term, 'lazy_term, 'reduction, 'ident) tactical = - | Tactic of loc * ('term, 'lazy_term, 'reduction, 'ident) tactic - | Do of loc * int * ('term, 'lazy_term, 'reduction, 'ident) tactical - | Repeat of loc * ('term, 'lazy_term, 'reduction, 'ident) tactical - | Seq of loc * ('term, 'lazy_term, 'reduction, 'ident) tactical list - (* sequential composition *) - | Then of loc * ('term, 'lazy_term, 'reduction, 'ident) tactical * - ('term, 'lazy_term, 'reduction, 'ident) tactical list - | First of loc * ('term, 'lazy_term, 'reduction, 'ident) tactical list - (* try a sequence of loc * tactical until one succeeds, fail otherwise *) - | Try of loc * ('term, 'lazy_term, 'reduction, 'ident) tactical - (* try a tactical and mask failures *) - | Solve of loc * ('term, 'lazy_term, 'reduction, 'ident) tactical list - - | Dot of loc - | Semicolon of loc - | Branch of loc - | Shift of loc - | Pos of loc * int - | Merge of loc - | Focus of loc * int list - | Unfocus of loc - | Skip of loc - -let is_punctuation = - function - | Dot _ | Semicolon _ | Branch _ | Shift _ | Merge _ | Pos _ -> true - | _ -> false - -type ('term, 'lazy_term, 'reduction, 'obj, 'ident) code = - | Command of loc * ('term,'obj) command - | Macro of loc * 'term macro - | Tactical of loc * ('term, 'lazy_term, 'reduction, 'ident) tactical - * ('term, 'lazy_term, 'reduction, 'ident) tactical option(* punctuation *) - -type ('term, 'lazy_term, 'reduction, 'obj, 'ident) comment = - | Note of loc * string - | Code of loc * ('term, 'lazy_term, 'reduction, 'obj, 'ident) code - -type ('term, 'lazy_term, 'reduction, 'obj, 'ident) statement = - | Executable of loc * ('term, 'lazy_term, 'reduction, 'obj, 'ident) code - | Comment of loc * ('term, 'lazy_term, 'reduction, 'obj, 'ident) comment - - (* statements meaningful for matitadep *) -type dependency = - | IncludeDep of string - | BaseuriDep of string - | UriDep of UriManager.uri - diff --git a/helm/ocaml/cic_notation/grafiteAstPp.ml b/helm/ocaml/cic_notation/grafiteAstPp.ml deleted file mode 100644 index 3e19ed281..000000000 --- a/helm/ocaml/cic_notation/grafiteAstPp.ml +++ /dev/null @@ -1,366 +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 GrafiteAst - -module Ast = CicNotationPt - -let tactical_terminator = "" -let tactic_terminator = tactical_terminator -let command_terminator = tactical_terminator - -let pp_term_ast term = CicNotationPp.pp_term term -let pp_term_cic term = CicPp.ppterm term - -let pp_idents idents = "[" ^ String.concat "; " idents ^ "]" - -let pp_terms_ast terms = String.concat ", " (List.map pp_term_ast terms) - -let pp_reduction_kind = function - | `Normalize -> "normalize" - | `Reduce -> "reduce" - | `Simpl -> "simplify" - | `Unfold (Some t) -> "unfold " ^ pp_term_ast t - | `Unfold None -> "unfold" - | `Whd -> "whd" - - -let pp_pattern (t, hyp, goal) = - let pp_hyp_pattern l = - String.concat "; " - (List.map (fun (name, p) -> sprintf "%s : %s" name (pp_term_ast p)) l) in - let pp_t t = - match t with - None -> "" - | Some t -> pp_term_ast t - in - pp_t t ^ " in " ^ pp_hyp_pattern hyp ^ " \\vdash " ^ pp_term_ast goal - -let pp_intros_specs = function - | None, [] -> "" - | Some num, [] -> Printf.sprintf " names %i" num - | None, idents -> Printf.sprintf " names %s" (pp_idents idents) - | Some num, idents -> Printf.sprintf " names %i %s" num (pp_idents idents) - -let rec pp_tactic = function - | Absurd (_, term) -> "absurd" ^ pp_term_ast term - | Apply (_, term) -> "apply " ^ pp_term_ast term - | Auto _ -> "auto" - | Assumption _ -> "assumption" - | Change (_, where, with_what) -> - sprintf "change %s with %s" (pp_pattern where) (pp_term_ast with_what) - | Clear (_,id) -> sprintf "clear %s" id - | ClearBody (_,id) -> sprintf "clearbody %s" id - | Compare (_,term) -> "compare " ^ pp_term_ast term - | Constructor (_,n) -> "constructor " ^ string_of_int n - | Contradiction _ -> "contradiction" - | Cut (_, ident, term) -> - "cut " ^ pp_term_ast term ^ - (match ident with None -> "" | Some id -> " as " ^ id) - | DecideEquality _ -> "decide equality" - | Decompose (_, [], what, names) -> - sprintf "decompose %s%s" what (pp_intros_specs (None, names)) - | Decompose (_, types, what, names) -> - let to_ident = function - | Ident id -> id - | Type _ -> assert false - in - let types = List.rev_map to_ident types in - sprintf "decompose %s %s%s" (pp_idents types) what (pp_intros_specs (None, names)) - | Discriminate (_, term) -> "discriminate " ^ pp_term_ast term - | Elim (_, term, using, num, idents) -> - sprintf "elim " ^ pp_term_ast term ^ - (match using with None -> "" | Some term -> " using " ^ pp_term_ast term) - ^ pp_intros_specs (num, idents) - | ElimType (_, term, using, num, idents) -> - sprintf "elim type " ^ pp_term_ast term ^ - (match using with None -> "" | Some term -> " using " ^ pp_term_ast term) - ^ pp_intros_specs (num, idents) - | Exact (_, term) -> "exact " ^ pp_term_ast term - | Exists _ -> "exists" - | Fold (_, kind, term, pattern) -> - sprintf "fold %s %s %s" (pp_reduction_kind kind) - (pp_term_ast term) (pp_pattern pattern) - | FwdSimpl (_, hyp, idents) -> - sprintf "fwd %s%s" hyp - (match idents with [] -> "" | idents -> " " ^ pp_idents idents) - | Generalize (_, pattern, ident) -> - sprintf "generalize %s%s" (pp_pattern pattern) - (match ident with None -> "" | Some id -> " as " ^ id) - | Goal (_, n) -> "goal " ^ string_of_int n - | Fail _ -> "fail" - | Fourier _ -> "fourier" - | IdTac _ -> "id" - | Injection (_, term) -> "injection " ^ pp_term_ast term - | Intros (_, None, []) -> "intro" - | Intros (_, num, idents) -> - sprintf "intros%s%s" - (match num with None -> "" | Some num -> " " ^ string_of_int num) - (match idents with [] -> "" | idents -> " " ^ pp_idents idents) - | LApply (_, level_opt, terms, term, ident_opt) -> - sprintf "lapply %s%s%s%s" - (match level_opt with None -> "" | Some i -> " depth = " ^ string_of_int i ^ " ") - (pp_term_ast term) - (match terms with [] -> "" | _ -> " to " ^ pp_terms_ast terms) - (match ident_opt with None -> "" | Some ident -> " using " ^ ident) - | Left _ -> "left" - | LetIn (_, term, ident) -> sprintf "let %s in %s" (pp_term_ast term) ident - | Reduce (_, kind, pat) -> - sprintf "%s %s" (pp_reduction_kind kind) (pp_pattern pat) - | Reflexivity _ -> "reflexivity" - | Replace (_, pattern, t) -> - sprintf "replace %s with %s" (pp_pattern pattern) (pp_term_ast t) - | Rewrite (_, pos, t, pattern) -> - sprintf "rewrite %s %s %s" - (if pos = `LeftToRight then ">" else "<") - (pp_term_ast t) - (pp_pattern pattern) - | Right _ -> "right" - | Ring _ -> "ring" - | Split _ -> "split" - | Symmetry _ -> "symmetry" - | Transitivity (_, term) -> "transitivity " ^ pp_term_ast term - -let pp_flavour = function - | `Definition -> "Definition" - | `Fact -> "Fact" - | `Goal -> "Goal" - | `Lemma -> "Lemma" - | `Remark -> "Remark" - | `Theorem -> "Theorem" - | `Variant -> "Variant" - -let pp_search_kind = function - | `Locate -> "locate" - | `Hint -> "hint" - | `Match -> "match" - | `Elim -> "elim" - | `Instance -> "instance" - -let pp_macro pp_term = function - (* Whelp *) - | WInstance (_, term) -> "whelp instance " ^ pp_term term - | WHint (_, t) -> "whelp hint " ^ pp_term t - | WLocate (_, s) -> "whelp locate " ^ s - | WElim (_, t) -> "whelp elim " ^ pp_term t - | WMatch (_, term) -> "whelp match " ^ pp_term term - (* real macros *) -(* | Abort _ -> "Abort" *) - | Check (_, term) -> sprintf "Check %s" (pp_term term) - | Hint _ -> "hint" -(* | Redo (_, None) -> "Redo" - | Redo (_, Some n) -> sprintf "Redo %d" n *) - | Search_pat (_, kind, pat) -> - sprintf "search %s \"%s\"" (pp_search_kind kind) pat - | Search_term (_, kind, term) -> - sprintf "search %s %s" (pp_search_kind kind) (pp_term term) -(* | Undo (_, None) -> "Undo" - | Undo (_, Some n) -> sprintf "Undo %d" n *) - | Print (_, name) -> sprintf "Print \"%s\"" name - | Quit _ -> "Quit" - -let pp_macro_ast = pp_macro pp_term_ast -let pp_macro_cic = pp_macro pp_term_cic - -let pp_alias = function - | Ident_alias (id, uri) -> sprintf "alias id \"%s\" = \"%s\"" id uri - | Symbol_alias (symb, instance, desc) -> - sprintf "alias symbol \"%s\" (instance %d) = \"%s\"" - symb instance desc - | Number_alias (instance,desc) -> - sprintf "alias num (instance %d) = \"%s\"" instance desc - -let pp_params = function - | [] -> "" - | params -> - " " ^ - String.concat " " - (List.map - (fun (name, typ) -> sprintf "(%s:%s)" name (pp_term_ast typ)) - params) - -let pp_fields fields = - (if fields <> [] then "\n" else "") ^ - String.concat ";\n" - (List.map (fun (name,ty) -> " " ^ name ^ ": " ^ pp_term_ast ty) fields) - -let pp_obj = function - | Inductive (params, types) -> - let pp_constructors constructors = - String.concat "\n" - (List.map (fun (name, typ) -> sprintf "| %s: %s" name (pp_term_ast typ)) - constructors) - in - let pp_type (name, _, typ, constructors) = - sprintf "\nwith %s: %s \\def\n%s" name (pp_term_ast typ) - (pp_constructors constructors) - in - (match types with - | [] -> assert false - | (name, inductive, typ, constructors) :: tl -> - let fst_typ_pp = - sprintf "%sinductive %s%s: %s \\def\n%s" - (if inductive then "" else "co") name (pp_params params) - (pp_term_ast typ) (pp_constructors constructors) - in - fst_typ_pp ^ String.concat "" (List.map pp_type tl)) - | Theorem (flavour, name, typ, body) -> - sprintf "%s %s: %s %s" - (pp_flavour flavour) - name - (pp_term_ast typ) - (match body with - | None -> "" - | Some body -> "\\def " ^ pp_term_ast body) - | Record (params,name,ty,fields) -> - "record " ^ name ^ " " ^ pp_params params ^ " \\def {" ^ - pp_fields fields ^ "}" - -let pp_argument_pattern = function - | Ast.IdentArg (eta_depth, name) -> - let eta_buf = Buffer.create 5 in - for i = 1 to eta_depth do - Buffer.add_string eta_buf "\\eta." - done; - sprintf "%s%s" (Buffer.contents eta_buf) name - -let rec pp_cic_appl_pattern = function - | Ast.UriPattern uri -> UriManager.string_of_uri uri - | Ast.VarPattern name -> name - | Ast.ImplicitPattern -> "_" - | Ast.ApplPattern aps -> - sprintf "(%s)" (String.concat " " (List.map pp_cic_appl_pattern aps)) - -let pp_l1_pattern = CicNotationPp.pp_term -let pp_l2_pattern = CicNotationPp.pp_term - -let pp_associativity = function - | Gramext.LeftA -> "left associative" - | Gramext.RightA -> "right associative" - | Gramext.NonA -> "non associative" - -let pp_precedence i = sprintf "with precedence %d" i - -let pp_dir_opt = function - | None -> "" - | Some `LeftToRight -> "> " - | Some `RightToLeft -> "< " - -let pp_metadata = - function - | Dependency buri -> sprintf "dependency %s" buri - | Baseuri buri -> sprintf "baseuri %s" buri - -let pp_command = function - | Include (_,path) -> "include " ^ path - | Qed _ -> "qed" - | Drop _ -> "drop" - | Set (_, name, value) -> sprintf "set \"%s\" \"%s\"" name value - | Coercion (_,term) -> sprintf "coercion %s" (pp_term_ast term) - | Alias (_,s) -> pp_alias s - | Obj (_,obj) -> pp_obj obj - | Default (_,what,uris) -> - sprintf "default \"%s\" %s" what - (String.concat " " (List.map UriManager.string_of_uri uris)) - | Interpretation (_, dsc, (symbol, arg_patterns), cic_appl_pattern) -> - sprintf "interpretation \"%s\" '%s %s = %s" - dsc symbol - (String.concat " " (List.map pp_argument_pattern arg_patterns)) - (pp_cic_appl_pattern cic_appl_pattern) - | Notation (_, dir_opt, l1_pattern, assoc, prec, l2_pattern) -> - sprintf "notation %s\"%s\" %s %s for %s" - (pp_dir_opt dir_opt) - (pp_l1_pattern l1_pattern) - (pp_associativity assoc) - (pp_precedence prec) - (pp_l2_pattern l2_pattern) - | Metadata (_, m) -> sprintf "metadata %s" (pp_metadata m) - | Render _ - | Dump _ -> assert false (* ZACK: debugging *) - -let rec pp_tactical = function - | Tactic (_, tac) -> pp_tactic tac - | Do (_, count, tac) -> sprintf "do %d %s" count (pp_tactical tac) - | Repeat (_, tac) -> "repeat " ^ pp_tactical tac - | Seq (_, tacs) -> pp_tacticals ~sep:"; " tacs - | Then (_, tac, tacs) -> - sprintf "%s; [%s]" (pp_tactical tac) (pp_tacticals ~sep:" | " tacs) - | First (_, tacs) -> sprintf "tries [%s]" (pp_tacticals ~sep:" | " tacs) - | Try (_, tac) -> "try " ^ pp_tactical tac - | Solve (_, tac) -> sprintf "solve [%s]" (pp_tacticals ~sep:" | " tac) - - | Dot _ -> "." - | Semicolon _ -> ";" - | Branch _ -> "[" - | Shift _ -> "|" - | Pos (_, i) -> sprintf "%d:" i - | Merge _ -> "]" - | Focus (_, goals) -> - sprintf "focus %s" (String.concat " " (List.map string_of_int goals)) - | Unfocus _ -> "unfocus" - | Skip _ -> "skip" - -and pp_tacticals ~sep tacs = String.concat sep (List.map pp_tactical tacs) - -let pp_tactical tac = pp_tactical tac -let pp_tactic tac = pp_tactic tac -let pp_command tac = pp_command tac - -let pp_executable = function - | Macro (_,x) -> pp_macro_ast x - | Tactical (_, tac, Some punct) -> pp_tactical tac ^ pp_tactical punct - | Tactical (_, tac, None) -> pp_tactical tac - | Command (_,x) -> pp_command x - -let pp_comment = function - | Note (_,str) -> sprintf "(* %s *)" str - | Code (_,code) -> sprintf "(** %s. **)" (pp_executable code) - -let pp_statement = function - | Executable (_, ex) -> pp_executable ex - | Comment (_, c) -> pp_comment c - -let pp_cic_command = function - | Include (_,path) -> "include " ^ path - | Qed _ -> "qed" - | Drop _ -> "drop" - | Coercion (_,term) -> sprintf "coercion %s" (CicPp.ppterm term) - | Set _ - | Alias _ - | Default _ - | Render _ - | Dump _ - | Interpretation _ - | Metadata _ - | Notation _ - | Obj _ -> assert false (* not implemented *) - -let pp_dependency = function - | IncludeDep str -> "include \"" ^ str ^ "\"" - | BaseuriDep str -> "set \"baseuri\" \"" ^ str ^ "\"" - | UriDep uri -> "uri \"" ^ UriManager.string_of_uri uri ^ "\"" - diff --git a/helm/ocaml/cic_notation/grafiteAstPp.mli b/helm/ocaml/cic_notation/grafiteAstPp.mli deleted file mode 100644 index b8445095f..000000000 --- a/helm/ocaml/cic_notation/grafiteAstPp.mli +++ /dev/null @@ -1,69 +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 pp_tactic: - (CicNotationPt.term, CicNotationPt.term, GrafiteAst.reduction, string) - GrafiteAst.tactic -> - string - -val pp_obj: GrafiteAst.obj -> string -val pp_command: (CicNotationPt.term,GrafiteAst.obj) GrafiteAst.command -> string -val pp_metadata: GrafiteAst.metadata -> string -val pp_macro: ('a -> string) -> 'a GrafiteAst.macro -> string - -val pp_comment: - (CicNotationPt.term, CicNotationPt.term, GrafiteAst.reduction, GrafiteAst.obj, - string) - GrafiteAst.comment -> - string - -val pp_executable: - (CicNotationPt.term, CicNotationPt.term, GrafiteAst.reduction, GrafiteAst.obj, - string) - GrafiteAst.code -> - string - -val pp_statement: - (CicNotationPt.term, CicNotationPt.term, GrafiteAst.reduction, GrafiteAst.obj, - string) - GrafiteAst.statement -> - string - -val pp_macro_ast: CicNotationPt.term GrafiteAst.macro -> string -val pp_macro_cic: Cic.term GrafiteAst.macro -> string - -val pp_tactical: - (CicNotationPt.term, CicNotationPt.term, GrafiteAst.reduction, string) - GrafiteAst.tactical -> - string - -val pp_alias: GrafiteAst.alias_spec -> string - -val pp_cic_command: (Cic.term,Cic.obj) GrafiteAst.command -> string - -val pp_dependency: GrafiteAst.dependency -> string - -val pp_cic_appl_pattern: CicNotationPt.cic_appl_pattern -> string - diff --git a/helm/ocaml/cic_notation/grafiteParser.ml b/helm/ocaml/cic_notation/grafiteParser.ml deleted file mode 100644 index cf2f7b1fc..000000000 --- a/helm/ocaml/cic_notation/grafiteParser.ml +++ /dev/null @@ -1,556 +0,0 @@ -(* Copyright (C) 2005, 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 - -module Ast = CicNotationPt - -type statement = - (CicNotationPt.term, CicNotationPt.term, GrafiteAst.reduction, - GrafiteAst.obj, string) - GrafiteAst.statement - -let grammar = CicNotationParser.level2_ast_grammar - -let term = CicNotationParser.term -let statement = Grammar.Entry.create grammar "statement" - -let add_raw_attribute ~text t = Ast.AttributedTerm (`Raw text, t) - -let default_precedence = 50 -let default_associativity = Gramext.NonA - -EXTEND - GLOBAL: term statement; - arg: [ - [ LPAREN; names = LIST1 IDENT SEP SYMBOL ","; - SYMBOL ":"; ty = term; RPAREN -> names,ty - | name = IDENT -> [name],Ast.Implicit - ] - ]; - constructor: [ [ name = IDENT; SYMBOL ":"; typ = term -> (name, typ) ] ]; - tactic_term: [ [ t = term LEVEL "90N" -> t ] ]; - ident_list0: [ [ LPAREN; idents = LIST0 IDENT; RPAREN -> idents ] ]; - tactic_term_list1: [ - [ tactic_terms = LIST1 tactic_term SEP SYMBOL "," -> tactic_terms ] - ]; - reduction_kind: [ - [ IDENT "normalize" -> `Normalize - | IDENT "reduce" -> `Reduce - | IDENT "simplify" -> `Simpl - | IDENT "unfold"; t = OPT term -> `Unfold t - | IDENT "whd" -> `Whd ] - ]; - sequent_pattern_spec: [ - [ hyp_paths = - LIST0 - [ id = IDENT ; - path = OPT [SYMBOL ":" ; path = tactic_term -> path ] -> - (id,match path with Some p -> p | None -> Ast.UserInput) ]; - goal_path = OPT [ SYMBOL <:unicode>; term = tactic_term -> term ] -> - let goal_path = - match goal_path, hyp_paths with - None, [] -> Ast.UserInput - | None, _::_ -> Ast.Implicit - | Some goal_path, _ -> goal_path - in - hyp_paths,goal_path - ] - ]; - pattern_spec: [ - [ res = OPT [ - "in"; - wanted_and_sps = - [ "match" ; wanted = tactic_term ; - sps = OPT [ "in"; sps = sequent_pattern_spec -> sps ] -> - Some wanted,sps - | sps = sequent_pattern_spec -> - None,Some sps - ] -> - let wanted,hyp_paths,goal_path = - match wanted_and_sps with - wanted,None -> wanted, [], Ast.UserInput - | wanted,Some (hyp_paths,goal_path) -> wanted,hyp_paths,goal_path - in - wanted, hyp_paths, goal_path ] -> - match res with - None -> None,[],Ast.UserInput - | Some ps -> ps] - ]; - direction: [ - [ SYMBOL ">" -> `LeftToRight - | SYMBOL "<" -> `RightToLeft ] - ]; - int: [ [ num = NUMBER -> int_of_string num ] ]; - intros_spec: [ - [ num = OPT [ num = int -> num ]; idents = OPT ident_list0 -> - let idents = match idents with None -> [] | Some idents -> idents in - num, idents - ] - ]; - using: [ [ using = OPT [ IDENT "using"; t = tactic_term -> t ] -> using ] ]; - tactic: [ - [ IDENT "absurd"; t = tactic_term -> - GrafiteAst.Absurd (loc, t) - | IDENT "apply"; t = tactic_term -> - GrafiteAst.Apply (loc, t) - | IDENT "assumption" -> - GrafiteAst.Assumption loc - | IDENT "auto"; - depth = OPT [ IDENT "depth"; SYMBOL "="; i = int -> i ]; - width = OPT [ IDENT "width"; SYMBOL "="; i = int -> i ]; - paramodulation = OPT [ IDENT "paramodulation" ]; - full = OPT [ IDENT "full" ] -> (* ALB *) - GrafiteAst.Auto (loc,depth,width,paramodulation,full) - | IDENT "clear"; id = IDENT -> - GrafiteAst.Clear (loc,id) - | IDENT "clearbody"; id = IDENT -> - GrafiteAst.ClearBody (loc,id) - | IDENT "change"; what = pattern_spec; "with"; t = tactic_term -> - GrafiteAst.Change (loc, what, t) - | IDENT "compare"; t = tactic_term -> - GrafiteAst.Compare (loc,t) - | IDENT "constructor"; n = int -> - GrafiteAst.Constructor (loc, n) - | IDENT "contradiction" -> - GrafiteAst.Contradiction loc - | IDENT "cut"; t = tactic_term; ident = OPT [ "as"; id = IDENT -> id] -> - GrafiteAst.Cut (loc, ident, t) - | IDENT "decide"; IDENT "equality" -> - GrafiteAst.DecideEquality loc - | IDENT "decompose"; types = OPT ident_list0; what = IDENT; - (num, idents) = intros_spec -> - let types = match types with None -> [] | Some types -> types in - let to_spec id = GrafiteAst.Ident id in - GrafiteAst.Decompose (loc, List.rev_map to_spec types, what, idents) - | IDENT "discriminate"; t = tactic_term -> - GrafiteAst.Discriminate (loc, t) - | IDENT "elim"; what = tactic_term; using = using; - (num, idents) = intros_spec -> - GrafiteAst.Elim (loc, what, using, num, idents) - | IDENT "elimType"; what = tactic_term; using = using; - (num, idents) = intros_spec -> - GrafiteAst.ElimType (loc, what, using, num, idents) - | IDENT "exact"; t = tactic_term -> - GrafiteAst.Exact (loc, t) - | IDENT "exists" -> - GrafiteAst.Exists loc - | IDENT "fail" -> GrafiteAst.Fail loc - | IDENT "fold"; kind = reduction_kind; t = tactic_term; p = pattern_spec -> - let (pt,_,_) = p in - if pt <> None then - raise (CicNotationParser.Parse_error - (loc, "the pattern cannot specify the term to replace, only its" - ^ " paths in the hypotheses and in the conclusion")) - else - GrafiteAst.Fold (loc, kind, t, p) - | IDENT "fourier" -> - GrafiteAst.Fourier loc - | IDENT "fwd"; hyp = IDENT; idents = OPT ident_list0 -> - let idents = match idents with None -> [] | Some idents -> idents in - GrafiteAst.FwdSimpl (loc, hyp, idents) - | IDENT "generalize"; p=pattern_spec; id = OPT ["as" ; id = IDENT -> id] -> - GrafiteAst.Generalize (loc,p,id) - | IDENT "goal"; n = int -> - GrafiteAst.Goal (loc, n) - | IDENT "id" -> GrafiteAst.IdTac loc - | IDENT "injection"; t = tactic_term -> - GrafiteAst.Injection (loc, t) - | IDENT "intro"; ident = OPT IDENT -> - let idents = match ident with None -> [] | Some id -> [id] in - GrafiteAst.Intros (loc, Some 1, idents) - | IDENT "intros"; (num, idents) = intros_spec -> - GrafiteAst.Intros (loc, num, idents) - | IDENT "lapply"; - depth = OPT [ IDENT "depth"; SYMBOL "="; i = int -> i ]; - what = tactic_term; - to_what = OPT [ "to" ; t = tactic_term_list1 -> t ]; - ident = OPT [ IDENT "using" ; ident = IDENT -> ident ] -> - let to_what = match to_what with None -> [] | Some to_what -> to_what in - GrafiteAst.LApply (loc, depth, to_what, what, ident) - | IDENT "left" -> GrafiteAst.Left loc - | IDENT "letin"; where = IDENT ; SYMBOL <:unicode> ; t = tactic_term -> - GrafiteAst.LetIn (loc, t, where) - | kind = reduction_kind; p = pattern_spec -> - GrafiteAst.Reduce (loc, kind, p) - | IDENT "reflexivity" -> - GrafiteAst.Reflexivity loc - | IDENT "replace"; p = pattern_spec; "with"; t = tactic_term -> - GrafiteAst.Replace (loc, p, t) - | IDENT "rewrite" ; d = direction; t = tactic_term ; p = pattern_spec -> - let (pt,_,_) = p in - if pt <> None then - raise - (CicNotationParser.Parse_error - (loc,"the pattern cannot specify the term to rewrite, only its paths in the hypotheses and in the conclusion")) - else - GrafiteAst.Rewrite (loc, d, t, p) - | IDENT "right" -> - GrafiteAst.Right loc - | IDENT "ring" -> - GrafiteAst.Ring loc - | IDENT "split" -> - GrafiteAst.Split loc - | IDENT "symmetry" -> - GrafiteAst.Symmetry loc - | IDENT "transitivity"; t = tactic_term -> - GrafiteAst.Transitivity (loc, t) - ] - ]; - atomic_tactical: - [ "sequence" LEFTA - [ t1 = SELF; SYMBOL ";"; t2 = SELF -> - let ts = - match t1 with - | GrafiteAst.Seq (_, l) -> l @ [ t2 ] - | _ -> [ t1; t2 ] - in - GrafiteAst.Seq (loc, ts) - ] - | "then" NONA - [ tac = SELF; SYMBOL ";"; - SYMBOL "["; tacs = LIST0 SELF SEP SYMBOL "|"; SYMBOL "]"-> - (GrafiteAst.Then (loc, tac, tacs)) - ] - | "loops" RIGHTA - [ IDENT "do"; count = int; tac = SELF; IDENT "end" -> - GrafiteAst.Do (loc, count, tac) - | IDENT "repeat"; tac = SELF; IDENT "end" -> GrafiteAst.Repeat (loc, tac) - ] - | "simple" NONA - [ IDENT "first"; - SYMBOL "["; tacs = LIST0 SELF SEP SYMBOL "|"; SYMBOL "]"-> - GrafiteAst.First (loc, tacs) - | IDENT "try"; tac = SELF -> GrafiteAst.Try (loc, tac) - | IDENT "solve"; - SYMBOL "["; tacs = LIST0 SELF SEP SYMBOL "|"; SYMBOL "]"-> - GrafiteAst.Solve (loc, tacs) - | LPAREN; tac = SELF; RPAREN -> tac - | tac = tactic -> GrafiteAst.Tactic (loc, tac) - ] - ]; - punctuation_tactical: - [ - [ SYMBOL "[" -> GrafiteAst.Branch loc - | SYMBOL "|" -> GrafiteAst.Shift loc - | i = int; SYMBOL ":" -> GrafiteAst.Pos (loc, i) - | SYMBOL "]" -> GrafiteAst.Merge loc - | SYMBOL ";" -> GrafiteAst.Semicolon loc - | SYMBOL "." -> GrafiteAst.Dot loc - ] - ]; - tactical: - [ "simple" NONA - [ IDENT "focus"; goals = LIST1 int -> GrafiteAst.Focus (loc, goals) - | IDENT "unfocus" -> GrafiteAst.Unfocus loc - | IDENT "skip" -> GrafiteAst.Skip loc - | tac = atomic_tactical LEVEL "loops" -> tac - ] - ]; - theorem_flavour: [ - [ [ IDENT "definition" ] -> `Definition - | [ IDENT "fact" ] -> `Fact - | [ IDENT "lemma" ] -> `Lemma - | [ IDENT "remark" ] -> `Remark - | [ IDENT "theorem" ] -> `Theorem - ] - ]; - inductive_spec: [ [ - fst_name = IDENT; params = LIST0 [ arg=arg -> arg ]; - SYMBOL ":"; fst_typ = term; SYMBOL <:unicode>; OPT SYMBOL "|"; - fst_constructors = LIST0 constructor SEP SYMBOL "|"; - tl = OPT [ "with"; - types = LIST1 [ - name = IDENT; SYMBOL ":"; typ = term; SYMBOL <:unicode>; - OPT SYMBOL "|"; constructors = LIST0 constructor SEP SYMBOL "|" -> - (name, true, typ, constructors) ] SEP "with" -> types - ] -> - let params = - List.fold_right - (fun (names, typ) acc -> - (List.map (fun name -> (name, typ)) names) @ acc) - params [] - in - let fst_ind_type = (fst_name, true, fst_typ, fst_constructors) in - let tl_ind_types = match tl with None -> [] | Some types -> types in - let ind_types = fst_ind_type :: tl_ind_types in - (params, ind_types) - ] ]; - - record_spec: [ [ - name = IDENT; params = LIST0 [ arg = arg -> arg ] ; - SYMBOL ":"; typ = term; SYMBOL <:unicode>; SYMBOL "{" ; - fields = LIST0 [ - name = IDENT ; SYMBOL ":" ; ty = term -> (name,ty) - ] SEP SYMBOL ";"; SYMBOL "}" -> - let params = - List.fold_right - (fun (names, typ) acc -> - (List.map (fun name -> (name, typ)) names) @ acc) - params [] - in - (params,name,typ,fields) - ] ]; - - macro: [ - [ [ IDENT "quit" ] -> GrafiteAst.Quit loc -(* | [ IDENT "abort" ] -> GrafiteAst.Abort loc *) -(* | [ IDENT "undo" ]; steps = OPT NUMBER -> - GrafiteAst.Undo (loc, int_opt steps) - | [ IDENT "redo" ]; steps = OPT NUMBER -> - GrafiteAst.Redo (loc, int_opt steps) *) - | [ IDENT "check" ]; t = term -> - GrafiteAst.Check (loc, t) - | [ IDENT "hint" ] -> GrafiteAst.Hint loc - | [ IDENT "whelp"; "match" ] ; t = term -> - GrafiteAst.WMatch (loc,t) - | [ IDENT "whelp"; IDENT "instance" ] ; t = term -> - GrafiteAst.WInstance (loc,t) - | [ IDENT "whelp"; IDENT "locate" ] ; id = IDENT -> - GrafiteAst.WLocate (loc,id) - | [ IDENT "whelp"; IDENT "elim" ] ; t = term -> - GrafiteAst.WElim (loc, t) - | [ IDENT "whelp"; IDENT "hint" ] ; t = term -> - GrafiteAst.WHint (loc,t) - | [ IDENT "print" ]; name = QSTRING -> GrafiteAst.Print (loc, name) - ] - ]; - alias_spec: [ - [ IDENT "id"; id = QSTRING; SYMBOL "="; uri = QSTRING -> - let alpha = "[a-zA-Z]" in - let num = "[0-9]+" in - let ident_cont = "\\("^alpha^"\\|"^num^"\\|_\\|\\\\\\)" in - let ident = "\\("^alpha^ident_cont^"*\\|_"^ident_cont^"+\\)" in - let rex = Str.regexp ("^"^ident^"$") in - if Str.string_match rex id 0 then - if (try ignore (UriManager.uri_of_string uri); true - with UriManager.IllFormedUri _ -> false) - then - GrafiteAst.Ident_alias (id, uri) - else - raise (CicNotationParser.Parse_error (loc,sprintf "Not a valid uri: %s" uri)) - else - raise (CicNotationParser.Parse_error (loc, - sprintf "Not a valid identifier: %s" id)) - | IDENT "symbol"; symbol = QSTRING; - instance = OPT [ LPAREN; IDENT "instance"; n = int; RPAREN -> n ]; - SYMBOL "="; dsc = QSTRING -> - let instance = - match instance with Some i -> i | None -> 0 - in - GrafiteAst.Symbol_alias (symbol, instance, dsc) - | IDENT "num"; - instance = OPT [ LPAREN; IDENT "instance"; n = int; RPAREN -> n ]; - SYMBOL "="; dsc = QSTRING -> - let instance = - match instance with Some i -> i | None -> 0 - in - GrafiteAst.Number_alias (instance, dsc) - ] - ]; - argument: [ - [ l = LIST0 [ SYMBOL <:unicode> (* η *); SYMBOL "." -> () ]; - id = IDENT -> - Ast.IdentArg (List.length l, id) - ] - ]; - associativity: [ - [ IDENT "left"; IDENT "associative" -> Gramext.LeftA - | IDENT "right"; IDENT "associative" -> Gramext.RightA - | IDENT "non"; IDENT "associative" -> Gramext.NonA - ] - ]; - precedence: [ - [ "with"; IDENT "precedence"; n = NUMBER -> int_of_string n ] - ]; - notation: [ - [ dir = OPT direction; s = QSTRING; - assoc = OPT associativity; prec = OPT precedence; - IDENT "for"; - p2 = - [ blob = UNPARSED_AST -> - add_raw_attribute ~text:(sprintf "@{%s}" blob) - (CicNotationParser.parse_level2_ast - (Ulexing.from_utf8_string blob)) - | blob = UNPARSED_META -> - add_raw_attribute ~text:(sprintf "${%s}" blob) - (CicNotationParser.parse_level2_meta - (Ulexing.from_utf8_string blob)) - ] -> - let assoc = - match assoc with - | None -> default_associativity - | Some assoc -> assoc - in - let prec = - match prec with - | None -> default_precedence - | Some prec -> prec - in - let p1 = - add_raw_attribute ~text:s - (CicNotationParser.parse_level1_pattern - (Ulexing.from_utf8_string s)) - in - (dir, p1, assoc, prec, p2) - ] - ]; - level3_term: [ - [ u = URI -> Ast.UriPattern (UriManager.uri_of_string u) - | id = IDENT -> Ast.VarPattern id - | SYMBOL "_" -> Ast.ImplicitPattern - | LPAREN; terms = LIST1 SELF; RPAREN -> - (match terms with - | [] -> assert false - | [term] -> term - | terms -> Ast.ApplPattern terms) - ] - ]; - interpretation: [ - [ s = CSYMBOL; args = LIST0 argument; SYMBOL "="; t = level3_term -> - (s, args, t) - ] - ]; - command: [ [ - IDENT "set"; n = QSTRING; v = QSTRING -> - GrafiteAst.Set (loc, n, v) - | IDENT "drop" -> GrafiteAst.Drop loc - | IDENT "qed" -> GrafiteAst.Qed loc - | IDENT "variant" ; name = IDENT; SYMBOL ":"; - typ = term; SYMBOL <:unicode> ; newname = IDENT -> - GrafiteAst.Obj (loc, - GrafiteAst.Theorem - (`Variant,name,typ,Some (Ast.Ident (newname, None)))) - | flavour = theorem_flavour; name = IDENT; SYMBOL ":"; typ = term; - body = OPT [ SYMBOL <:unicode> (* ≝ *); body = term -> body ] -> - GrafiteAst.Obj (loc,GrafiteAst.Theorem (flavour, name, typ, body)) - | flavour = theorem_flavour; name = IDENT; SYMBOL <:unicode> (* ≝ *); - body = term -> - GrafiteAst.Obj (loc, - GrafiteAst.Theorem (flavour, name, Ast.Implicit, Some body)) - | "let"; ind_kind = [ "corec" -> `CoInductive | "rec"-> `Inductive ]; - defs = CicNotationParser.let_defs -> - let name,ty = - match defs with - | ((Ast.Ident (name, None), Some ty),_,_) :: _ -> name,ty - | ((Ast.Ident (name, None), None),_,_) :: _ -> - name, Ast.Implicit - | _ -> assert false - in - let body = Ast.Ident (name,None) in - GrafiteAst.Obj (loc,GrafiteAst.Theorem(`Definition, name, ty, - Some (Ast.LetRec (ind_kind, defs, body)))) - | IDENT "inductive"; spec = inductive_spec -> - let (params, ind_types) = spec in - GrafiteAst.Obj (loc,GrafiteAst.Inductive (params, ind_types)) - | IDENT "coinductive"; spec = inductive_spec -> - let (params, ind_types) = spec in - let ind_types = (* set inductive flags to false (coinductive) *) - List.map (fun (name, _, term, ctors) -> (name, false, term, ctors)) - ind_types - in - GrafiteAst.Obj (loc,GrafiteAst.Inductive (params, ind_types)) - | IDENT "coercion" ; name = IDENT -> - GrafiteAst.Coercion (loc, Ast.Ident (name,Some [])) - | IDENT "coercion" ; name = URI -> - GrafiteAst.Coercion (loc, Ast.Uri (name,Some [])) - | IDENT "alias" ; spec = alias_spec -> - GrafiteAst.Alias (loc, spec) - | IDENT "record" ; (params,name,ty,fields) = record_spec -> - GrafiteAst.Obj (loc,GrafiteAst.Record (params,name,ty,fields)) - | IDENT "include" ; path = QSTRING -> - GrafiteAst.Include (loc,path) - | IDENT "default" ; what = QSTRING ; uris = LIST1 URI -> - let uris = List.map UriManager.uri_of_string uris in - GrafiteAst.Default (loc,what,uris) - | IDENT "notation"; (dir, l1, assoc, prec, l2) = notation -> - GrafiteAst.Notation (loc, dir, l1, assoc, prec, l2) - | IDENT "interpretation"; id = QSTRING; - (symbol, args, l3) = interpretation -> - GrafiteAst.Interpretation (loc, id, (symbol, args), l3) - | IDENT "metadata"; [ IDENT "dependency" | IDENT "baseuri" ] ; URI -> - (** metadata commands lives only in .moo, where they are in marshalled - * form *) - raise (CicNotationParser.Parse_error (loc, "metadata not allowed here")) - - | IDENT "dump" -> GrafiteAst.Dump loc - | IDENT "render"; u = URI -> - GrafiteAst.Render (loc, UriManager.uri_of_string u) - ]]; - executable: [ - [ cmd = command; SYMBOL "." -> GrafiteAst.Command (loc, cmd) - | tac = tactical; punct = punctuation_tactical -> - GrafiteAst.Tactical (loc, tac, Some punct) - | punct = punctuation_tactical -> GrafiteAst.Tactical (loc, punct, None) - | mac = macro; SYMBOL "." -> GrafiteAst.Macro (loc, mac) - ] - ]; - comment: [ - [ BEGINCOMMENT ; ex = executable ; ENDCOMMENT -> - GrafiteAst.Code (loc, ex) - | str = NOTE -> - GrafiteAst.Note (loc, str) - ] - ]; - statement: [ - [ ex = executable -> GrafiteAst.Executable (loc,ex) - | com = comment -> GrafiteAst.Comment (loc, com) - | EOI -> raise End_of_file - ] - ]; -END - -let exc_located_wrapper f = - try - f () - with - | Stdpp.Exc_located (_, End_of_file) -> raise End_of_file - | Stdpp.Exc_located (floc, Stream.Error msg) -> - raise (CicNotationParser.Parse_error (floc, msg)) - | Stdpp.Exc_located (floc, exn) -> - raise (CicNotationParser.Parse_error (floc, (Printexc.to_string exn))) - -let parse_statement lexbuf = - exc_located_wrapper - (fun () -> (Grammar.Entry.parse statement (Obj.magic lexbuf))) - -let parse_dependencies lexbuf = - let tok_stream,_ = - CicNotationLexer.level2_ast_lexer.Token.tok_func (Obj.magic lexbuf) - in - let rec parse acc = - (parser - | [< '("URI", u) >] -> - parse (GrafiteAst.UriDep (UriManager.uri_of_string u) :: acc) - | [< '("IDENT", "include"); '("QSTRING", fname) >] -> - parse (GrafiteAst.IncludeDep fname :: acc) - | [< '("IDENT", "set"); '("QSTRING", "baseuri"); '("QSTRING", baseuri) >] -> - parse (GrafiteAst.BaseuriDep baseuri :: acc) - | [< '("EOI", _) >] -> acc - | [< 'tok >] -> parse acc - | [< >] -> acc) tok_stream - in - List.rev (parse []) - diff --git a/helm/ocaml/cic_notation/grafiteParser.mli b/helm/ocaml/cic_notation/grafiteParser.mli deleted file mode 100644 index fa732218f..000000000 --- a/helm/ocaml/cic_notation/grafiteParser.mli +++ /dev/null @@ -1,37 +0,0 @@ -(* Copyright (C) 2005, 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/ - *) - -type statement = - (CicNotationPt.term, CicNotationPt.term, GrafiteAst.reduction, - GrafiteAst.obj, string) - GrafiteAst.statement - -val parse_statement: Ulexing.lexbuf -> statement (** @raise End_of_file *) - - (** @raise End_of_file *) -val parse_dependencies: Ulexing.lexbuf -> GrafiteAst.dependency list - -val statement: statement Grammar.Entry.e - diff --git a/helm/ocaml/cic_notation/mpresentation.ml b/helm/ocaml/cic_notation/mpresentation.ml deleted file mode 100644 index 1303d1eb7..000000000 --- a/helm/ocaml/cic_notation/mpresentation.ml +++ /dev/null @@ -1,256 +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 *) -(* *) -(* Andrea Asperti *) -(* 16/62003 *) -(* *) -(**************************************************************************) - -type 'a mpres = - Mi of attr * string - | Mn of attr * string - | Mo of attr * string - | Mtext of attr * string - | Mspace of attr - | Ms of attr * string - | Mgliph of attr * string - | Mrow of attr * 'a mpres list - | Mfrac of attr * 'a mpres * 'a mpres - | Msqrt of attr * 'a mpres - | Mroot of attr * 'a mpres * 'a mpres - | Mstyle of attr * 'a mpres - | Merror of attr * 'a mpres - | Mpadded of attr * 'a mpres - | Mphantom of attr * 'a mpres - | Mfenced of attr * 'a mpres list - | Menclose of attr * 'a mpres - | Msub of attr * 'a mpres * 'a mpres - | Msup of attr * 'a mpres * 'a mpres - | Msubsup of attr * 'a mpres * 'a mpres *'a mpres - | Munder of attr * 'a mpres * 'a mpres - | Mover of attr * 'a mpres * 'a mpres - | Munderover of attr * 'a mpres * 'a mpres *'a mpres -(* | Multiscripts of ??? NOT IMPLEMEMENTED *) - | Mtable of attr * 'a row list - | Maction of attr * 'a mpres list - | Mobject of attr * 'a -and 'a row = Mtr of attr * 'a mtd list -and 'a mtd = Mtd of attr * 'a mpres -and attr = (string option * string * string) list -;; - -let smallskip = Mspace([None,"width","0.5em"]);; -let indentation = Mspace([None,"width","1em"]);; - -let indented elem = - Mrow([],[indentation;elem]);; - -let standard_tbl_attr = - [None,"align","baseline 1";None,"equalrows","false";None,"columnalign","left"] -;; - -let two_rows_table attr a b = - Mtable(attr@standard_tbl_attr, - [Mtr([],[Mtd([],a)]); - Mtr([],[Mtd([],b)])]);; - -let two_rows_table_with_brackets attr a b op = - (* only the open bracket is added; the closed bracket must be in b *) - Mtable(attr@standard_tbl_attr, - [Mtr([],[Mtd([],Mrow([],[Mtext([],"(");a]))]); - Mtr([],[Mtd([],Mrow([],[indentation;op;b]))])]);; - -let two_rows_table_without_brackets attr a b op = - Mtable(attr@standard_tbl_attr, - [Mtr([],[Mtd([],a)]); - Mtr([],[Mtd([],Mrow([],[indentation;op;b]))])]);; - -let row_with_brackets attr a b op = - (* by analogy with two_rows_table_with_brackets we only add the - open brackets *) - Mrow(attr,[Mtext([],"(");a;op;b;Mtext([],")")]) - -let row_without_brackets attr a b op = - Mrow(attr,[a;op;b]) - -(* MathML prefix *) -let prefix = "m";; - -let print_mpres obj_printer mpres = - let module X = Xml in - let rec aux = - function - Mi (attr,s) -> X.xml_nempty ~prefix "mi" attr (X.xml_cdata s) - | Mn (attr,s) -> X.xml_nempty ~prefix "mn" attr (X.xml_cdata s) - | Mo (attr,s) -> - let s = - let len = String.length s in - if len > 1 && s.[0] = '\\' - then String.sub s 1 (len - 1) - else s - in - X.xml_nempty ~prefix "mo" attr (X.xml_cdata s) - | Mtext (attr,s) -> X.xml_nempty ~prefix "mtext" attr (X.xml_cdata s) - | Mspace attr -> X.xml_empty ~prefix "mspace" attr - | Ms (attr,s) -> X.xml_nempty ~prefix "ms" attr (X.xml_cdata s) - | Mgliph (attr,s) -> X.xml_nempty ~prefix "mgliph" attr (X.xml_cdata s) - (* General Layout Schemata *) - | Mrow (attr,l) -> - X.xml_nempty ~prefix "mrow" attr - [< (List.fold_right (fun x i -> [< (aux x) ; i >]) l [<>]) - >] - | Mfrac (attr,m1,m2) -> - X.xml_nempty ~prefix "mfrac" attr [< aux m1; aux m2 >] - | Msqrt (attr,m) -> - X.xml_nempty ~prefix "msqrt" attr [< aux m >] - | Mroot (attr,m1,m2) -> - X.xml_nempty ~prefix "mroot" attr [< aux m1; aux m2 >] - | Mstyle (attr,m) -> X.xml_nempty ~prefix "mstyle" attr [< aux m >] - | Merror (attr,m) -> X.xml_nempty ~prefix "merror" attr [< aux m >] - | Mpadded (attr,m) -> X.xml_nempty ~prefix "mpadded" attr [< aux m >] - | Mphantom (attr,m) -> X.xml_nempty ~prefix "mphantom" attr [< aux m >] - | Mfenced (attr,l) -> - X.xml_nempty ~prefix "mfenced" attr - [< (List.fold_right (fun x i -> [< (aux x) ; i >]) l [<>]) - >] - | Menclose (attr,m) -> X.xml_nempty ~prefix "menclose" attr [< aux m >] - (* Script and Limit Schemata *) - | Msub (attr,m1,m2) -> - X.xml_nempty ~prefix "msub" attr [< aux m1; aux m2 >] - | Msup (attr,m1,m2) -> - X.xml_nempty ~prefix "msup" attr [< aux m1; aux m2 >] - | Msubsup (attr,m1,m2,m3) -> - X.xml_nempty ~prefix "msubsup" attr [< aux m1; aux m2; aux m3 >] - | Munder (attr,m1,m2) -> - X.xml_nempty ~prefix "munder" attr [< aux m1; aux m2 >] - | Mover (attr,m1,m2) -> - X.xml_nempty ~prefix "mover" attr [< aux m1; aux m2 >] - | Munderover (attr,m1,m2,m3) -> - X.xml_nempty ~prefix "munderover" attr [< aux m1; aux m2; aux m3 >] - (* | Multiscripts of ??? NOT IMPLEMEMENTED *) - (* Tables and Matrices *) - | Mtable (attr, rl) -> - X.xml_nempty ~prefix "mtable" attr - [< (List.fold_right (fun x i -> [< (aux_mrow x) ; i >]) rl [<>]) >] - (* Enlivening Expressions *) - | Maction (attr, l) -> - X.xml_nempty ~prefix "maction" attr - [< (List.fold_right (fun x i -> [< (aux x) ; i >]) l [<>]) >] - | Mobject (attr, obj) -> - let box_stream = obj_printer obj in - X.xml_nempty ~prefix "semantics" attr - [< X.xml_nempty ~prefix "annotation-xml" [None, "encoding", "BoxML"] - box_stream >] - - and aux_mrow = - let module X = Xml in - function - Mtr (attr, l) -> - X.xml_nempty ~prefix "mtr" attr - [< (List.fold_right (fun x i -> [< (aux_mtd x) ; i >]) l [<>]) - >] - and aux_mtd = - let module X = Xml in - function - Mtd (attr,m) -> X.xml_nempty ~prefix "mtd" attr - [< (aux m) ; - X.xml_nempty ~prefix "mphantom" [] - (X.xml_nempty ~prefix "mtext" [] (X.xml_cdata "(")) >] - in - aux mpres -;; - -let document_of_mpres pres = - [< Xml.xml_cdata "\n" ; - Xml.xml_cdata "\n"; - Xml.xml_nempty ~prefix "math" - [Some "xmlns","m","http://www.w3.org/1998/Math/MathML" ; - Some "xmlns","helm","http://www.cs.unibo.it/helm" ; - Some "xmlns","xlink","http://www.w3.org/1999/xlink" - ] (Xml.xml_nempty ~prefix "mstyle" [None, "mathvariant", "normal"; None, - "rowspacing", "0.6ex"] (print_mpres (fun _ -> assert false) pres)) - >] - -let get_attr = function - | Maction (attr, _) - | Menclose (attr, _) - | Merror (attr, _) - | Mfenced (attr, _) - | Mfrac (attr, _, _) - | Mgliph (attr, _) - | Mi (attr, _) - | Mn (attr, _) - | Mo (attr, _) - | Mobject (attr, _) - | Mover (attr, _, _) - | Mpadded (attr, _) - | Mphantom (attr, _) - | Mroot (attr, _, _) - | Mrow (attr, _) - | Ms (attr, _) - | Mspace attr - | Msqrt (attr, _) - | Mstyle (attr, _) - | Msub (attr, _, _) - | Msubsup (attr, _, _, _) - | Msup (attr, _, _) - | Mtable (attr, _) - | Mtext (attr, _) - | Munder (attr, _, _) - | Munderover (attr, _, _, _) -> - attr - -let set_attr attr = function - | Maction (_, x) -> Maction (attr, x) - | Menclose (_, x) -> Menclose (attr, x) - | Merror (_, x) -> Merror (attr, x) - | Mfenced (_, x) -> Mfenced (attr, x) - | Mfrac (_, x, y) -> Mfrac (attr, x, y) - | Mgliph (_, x) -> Mgliph (attr, x) - | Mi (_, x) -> Mi (attr, x) - | Mn (_, x) -> Mn (attr, x) - | Mo (_, x) -> Mo (attr, x) - | Mobject (_, x) -> Mobject (attr, x) - | Mover (_, x, y) -> Mover (attr, x, y) - | Mpadded (_, x) -> Mpadded (attr, x) - | Mphantom (_, x) -> Mphantom (attr, x) - | Mroot (_, x, y) -> Mroot (attr, x, y) - | Mrow (_, x) -> Mrow (attr, x) - | Ms (_, x) -> Ms (attr, x) - | Mspace _ -> Mspace attr - | Msqrt (_, x) -> Msqrt (attr, x) - | Mstyle (_, x) -> Mstyle (attr, x) - | Msub (_, x, y) -> Msub (attr, x, y) - | Msubsup (_, x, y, z) -> Msubsup (attr, x, y, z) - | Msup (_, x, y) -> Msup (attr, x, y) - | Mtable (_, x) -> Mtable (attr, x) - | Mtext (_, x) -> Mtext (attr, x) - | Munder (_, x, y) -> Munder (attr, x, y) - | Munderover (_, x, y, z) -> Munderover (attr, x, y, z) - diff --git a/helm/ocaml/cic_notation/mpresentation.mli b/helm/ocaml/cic_notation/mpresentation.mli deleted file mode 100644 index 8252517a6..000000000 --- a/helm/ocaml/cic_notation/mpresentation.mli +++ /dev/null @@ -1,86 +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/. - *) - -type 'a mpres = - (* token elements *) - Mi of attr * string - | Mn of attr * string - | Mo of attr * string - | Mtext of attr * string - | Mspace of attr - | Ms of attr * string - | Mgliph of attr * string - (* General Layout Schemata *) - | Mrow of attr * 'a mpres list - | Mfrac of attr * 'a mpres * 'a mpres - | Msqrt of attr * 'a mpres - | Mroot of attr * 'a mpres * 'a mpres - | Mstyle of attr * 'a mpres - | Merror of attr * 'a mpres - | Mpadded of attr * 'a mpres - | Mphantom of attr * 'a mpres - | Mfenced of attr * 'a mpres list - | Menclose of attr * 'a mpres - (* Script and Limit Schemata *) - | Msub of attr * 'a mpres * 'a mpres - | Msup of attr * 'a mpres * 'a mpres - | Msubsup of attr * 'a mpres * 'a mpres *'a mpres - | Munder of attr * 'a mpres * 'a mpres - | Mover of attr * 'a mpres * 'a mpres - | Munderover of attr * 'a mpres * 'a mpres *'a mpres - (* Tables and Matrices *) - | Mtable of attr * 'a row list - (* Enlivening Expressions *) - | Maction of attr * 'a mpres list - (* Embedding *) - | Mobject of attr * 'a - -and 'a row = Mtr of attr * 'a mtd list - -and 'a mtd = Mtd of attr * 'a mpres - - (** XML attribute: namespace, name, value *) -and attr = (string option * string * string) list - -;; - -val get_attr: 'a mpres -> attr -val set_attr: attr -> 'a mpres -> 'a mpres - -val smallskip : 'a mpres -val indented : 'a mpres -> 'a mpres -val standard_tbl_attr : attr -val two_rows_table : attr -> 'a mpres -> 'a mpres -> 'a mpres -val two_rows_table_with_brackets : - attr -> 'a mpres -> 'a mpres -> 'a mpres -> 'a mpres -val two_rows_table_without_brackets : - attr -> 'a mpres -> 'a mpres -> 'a mpres -> 'a mpres -val row_with_brackets : - attr -> 'a mpres -> 'a mpres -> 'a mpres -> 'a mpres -val row_without_brackets : - attr -> 'a mpres -> 'a mpres -> 'a mpres -> 'a mpres -val print_mpres : ('a -> Xml.token Stream.t) -> 'a mpres -> Xml.token Stream.t -val document_of_mpres : 'a mpres -> Xml.token Stream.t - diff --git a/helm/ocaml/cic_notation/print_grammar.ml b/helm/ocaml/cic_notation/print_grammar.ml deleted file mode 100644 index d7d6f3c96..000000000 --- a/helm/ocaml/cic_notation/print_grammar.ml +++ /dev/null @@ -1,285 +0,0 @@ -(* Copyright (C) 2005, 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 Gramext - -let tex_of_unicode s = - let contractions = ("\\Longrightarrow","=>") :: [] in - if String.length s <= 1 then s - else (* probably an extended unicode symbol *) - let s = Utf8Macro.tex_of_unicode s in - try List.assoc s contractions with Not_found -> s - -let needs_brackets t = - let rec count_brothers = function - | Node {brother = brother} -> 1 + count_brothers brother - | _ -> 0 - in - count_brothers t > 1 - -let visit_description desc fmt self = - let skip s = List.mem s [ ] in - let inline s = List.mem s [ "int" ] in - - let rec visit_entry e todo is_son nesting = - let { ename = ename; edesc = desc } = e in - if inline ename then - visit_desc desc todo is_son nesting - else - begin - Format.fprintf fmt "%s " ename; - if skip ename then - todo - else - todo @ [e] - end - - and visit_desc d todo is_son nesting = - match d with - | Dlevels [] -> todo - | Dlevels [lev] -> visit_level lev todo is_son nesting - | Dlevels (lev::levels) -> - let todo = visit_level lev todo is_son nesting in - List.fold_left - (fun acc l -> - Format.fprintf fmt "@ | "; - visit_level l acc is_son nesting) - todo levels; - | _ -> todo - - and visit_level l todo is_son nesting = - let { lsuffix = suff ; lprefix = pref } = l in - let todo = visit_tree suff todo is_son nesting in - visit_tree pref todo is_son nesting - - and visit_tree t todo is_son nesting = - match t with - | Node node -> visit_node node todo is_son nesting - | _ -> todo - - and visit_node n todo is_son nesting = - let is_tree_printable t = - match t with - | Node _ -> true - | _ -> false - in - let { node = symbol; son = son ; brother = brother } = n in - let todo = visit_symbol symbol todo is_son nesting in - let todo = - if is_tree_printable son then - begin - let need_b = needs_brackets son in - if not is_son then - Format.fprintf fmt "@["; - if need_b then - Format.fprintf fmt "( "; - let todo = visit_tree son todo true nesting in - if need_b then - Format.fprintf fmt ")"; - if not is_son then - Format.fprintf fmt "@]"; - todo - end - else - todo - in - if is_tree_printable brother then - begin - Format.fprintf fmt "@ | "; - visit_tree brother todo is_son nesting - end - else - todo - - and visit_symbol s todo is_son nesting = - match s with - | Smeta (name, sl, _) -> - Format.fprintf fmt "%s " name; - List.fold_left ( - fun acc s -> - let todo = visit_symbol s acc is_son nesting in - if is_son then - Format.fprintf fmt "@ "; - todo) - todo sl - | Snterm entry -> visit_entry entry todo is_son nesting - | Snterml (entry,_) -> visit_entry entry todo is_son nesting - | Slist0 symbol -> - Format.fprintf fmt "{@[ "; - let todo = visit_symbol symbol todo is_son (nesting+1) in - Format.fprintf fmt "@]} @ "; - todo - | Slist0sep (symbol,sep) -> - Format.fprintf fmt "[@[ "; - let todo = visit_symbol symbol todo is_son (nesting + 1) in - Format.fprintf fmt "{@[ "; - let todo = visit_symbol sep todo is_son (nesting + 2) in - Format.fprintf fmt " "; - let todo = visit_symbol symbol todo is_son (nesting + 2) in - Format.fprintf fmt "@]} @]] @ "; - todo - | Slist1 symbol -> - Format.fprintf fmt "{@[ "; - let todo = visit_symbol symbol todo is_son (nesting + 1) in - Format.fprintf fmt "@]}+ @ "; - todo - | Slist1sep (symbol,sep) -> - let todo = visit_symbol symbol todo is_son nesting in - Format.fprintf fmt "{@[ "; - let todo = visit_symbol sep todo is_son (nesting + 1) in - let todo = visit_symbol symbol todo is_son (nesting + 1) in - Format.fprintf fmt "@]} @ "; - todo - | Sopt symbol -> - Format.fprintf fmt "[@[ "; - let todo = visit_symbol symbol todo is_son (nesting + 1) in - Format.fprintf fmt "@]] @ "; - todo - | Sself -> Format.fprintf fmt "%s " self; todo - | Snext -> Format.fprintf fmt "next "; todo - | Stoken pattern -> - let constructor, keyword = pattern in - if keyword = "" then - Format.fprintf fmt "`%s' " constructor - else - Format.fprintf fmt "\"%s\" " (tex_of_unicode keyword); - todo - | Stree tree -> - if needs_brackets tree then - begin - Format.fprintf fmt "@[( "; - let todo = visit_tree tree todo is_son (nesting + 1) in - Format.fprintf fmt ")@] @ "; - todo - end - else - visit_tree tree todo is_son (nesting + 1) - in - visit_desc desc [] false 0 -;; - -let rec clean_dummy_desc = function - | Dlevels l -> Dlevels (clean_levels l) - | x -> x - -and clean_levels = function - | [] -> [] - | l :: tl -> clean_level l @ clean_levels tl - -and clean_level = function - | x -> - let pref = clean_tree x.lprefix in - let suff = clean_tree x.lsuffix in - match pref,suff with - | DeadEnd, DeadEnd -> [] - | _ -> [{x with lprefix = pref; lsuffix = suff}] - -and clean_tree = function - | Node n -> clean_node n - | x -> x - -and clean_node = function - | {node=node;son=son;brother=brother} -> - let bn = is_symbol_dummy node in - let bs = is_tree_dummy son in - let bb = is_tree_dummy brother in - let son = if bs then DeadEnd else son in - let brother = if bb then DeadEnd else brother in - if bb && bs && bn then - DeadEnd - else - if bn then - Node {node=Sself;son=son;brother=brother} - else - Node {node=node;son=son;brother=brother} - -and is_level_dummy = function - | {lsuffix=lsuffix;lprefix=lprefix} -> - is_tree_dummy lsuffix && is_tree_dummy lprefix - -and is_desc_dummy = function - | Dlevels l -> List.for_all is_level_dummy l - | Dparser _ -> true - -and is_entry_dummy = function - | {edesc=edesc} -> is_desc_dummy edesc - -and is_symbol_dummy = function - | Stoken ("DUMMY", _) -> true - | Stoken _ -> false - | Smeta (_, lt, _) -> List.for_all is_symbol_dummy lt - | Snterm e | Snterml (e, _) -> is_entry_dummy e - | Slist1 x | Slist0 x -> is_symbol_dummy x - | Slist1sep (x,y) | Slist0sep (x,y) -> is_symbol_dummy x && is_symbol_dummy y - | Sopt x -> is_symbol_dummy x - | Sself | Snext -> false - | Stree t -> is_tree_dummy t - -and is_tree_dummy = function - | Node {node=node} -> is_symbol_dummy node - | _ -> true -;; - - -let rec visit_entries todo pped = - let fmt = Format.std_formatter in - match todo with - | [] -> () - | hd :: tl -> - let todo = - if not (List.memq hd pped) then - begin - let { ename = ename; edesc = desc } = hd in - Format.fprintf fmt "@[%s ::=@ " ename; - let desc = clean_dummy_desc desc in - let todo = visit_description desc fmt ename @ todo in - Format.fprintf fmt "@]"; - Format.pp_print_newline fmt (); - Format.pp_print_newline fmt (); - todo - end - else - todo - in - let clean_todo todo = - let name_of_entry e = e.ename in - let pped = hd :: pped in - let todo = tl @ todo in - let todo = List.filter (fun e -> not(List.memq e pped)) todo in - HExtlib.list_uniq - ~eq:(fun e1 e2 -> (name_of_entry e1) = (name_of_entry e2)) - (List.sort - (fun e1 e2 -> - Pervasives.compare (name_of_entry e1) (name_of_entry e2)) - todo), - pped - in - let todo,pped = clean_todo todo in - visit_entries todo pped -;; - -let _ = - let g_entry = Grammar.Entry.obj GrafiteParser.statement in - visit_entries [g_entry] [] diff --git a/helm/ocaml/cic_notation/renderingAttrs.ml b/helm/ocaml/cic_notation/renderingAttrs.ml deleted file mode 100644 index 478ceff95..000000000 --- a/helm/ocaml/cic_notation/renderingAttrs.ml +++ /dev/null @@ -1,48 +0,0 @@ -(* Copyright (C) 2005, 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/ - *) - -type xml_attribute = string option * string * string -type markup = [ `MathML | `BoxML ] - -let keyword_attributes = function - | `MathML -> [ None, "mathcolor", "blue" ] - | `BoxML -> [ None, "color", "blue" ] - -let builtin_symbol_attributes = function - | `MathML -> [ None, "mathcolor", "blue" ] - | `BoxML -> [ None, "color", "blue" ] - -let object_keyword_attributes = function - | `MathML -> [ None, "mathcolor", "red" ] - | `BoxML -> [ None, "color", "red" ] - -let symbol_attributes _ = [] -let ident_attributes _ = [] -let number_attributes _ = [] - -let spacing_attributes _ = [ None, "spacing", "0.5em" ] -let indent_attributes _ = [ None, "indent", "0.5em" ] -let small_skip_attributes _ = [ None, "width", "0.5em" ] - diff --git a/helm/ocaml/cic_notation/renderingAttrs.mli b/helm/ocaml/cic_notation/renderingAttrs.mli deleted file mode 100644 index 64323598b..000000000 --- a/helm/ocaml/cic_notation/renderingAttrs.mli +++ /dev/null @@ -1,57 +0,0 @@ -(* Copyright (C) 2005, 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/ - *) - -(** XML attributes for MathML/BoxML rendering of terms and objects - * markup defaults to MathML in all functions below *) - -type xml_attribute = string option * string * string -type markup = [ `MathML | `BoxML ] - -(** High-level attributes *) - -val keyword_attributes: (* let, match, in, ... *) - markup -> xml_attribute list - -val builtin_symbol_attributes: (* \\Pi, \\to, ... *) - markup -> xml_attribute list - -val symbol_attributes: (* +, *, ... *) - markup -> xml_attribute list - -val ident_attributes: (* nat, plus, ... *) - markup -> xml_attribute list - -val number_attributes: (* 1, 2, ... *) - markup -> xml_attribute list - -val object_keyword_attributes: (* Body, Definition, ... *) - markup -> xml_attribute list - -(** Low-level attributes *) - -val spacing_attributes: markup -> xml_attribute list -val indent_attributes: markup -> xml_attribute list -val small_skip_attributes: markup -> xml_attribute list - diff --git a/helm/ocaml/cic_notation/test_dep.ml b/helm/ocaml/cic_notation/test_dep.ml deleted file mode 100644 index a2c7e392e..000000000 --- a/helm/ocaml/cic_notation/test_dep.ml +++ /dev/null @@ -1,38 +0,0 @@ -(* Copyright (C) 2005, 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 _ = - let ic = ref stdin in - let usage = "test_coarse_parser [ file ]" in - let open_file fname = - if !ic <> stdin then close_in !ic; - ic := open_in fname - in - Arg.parse [] open_file usage; - let deps = - GrafiteParser.parse_dependencies (Ulexing.from_utf8_channel !ic) - in - List.iter (fun dep -> print_endline (GrafiteAstPp.pp_dependency dep)) deps - diff --git a/helm/ocaml/cic_notation/test_lexer.ml b/helm/ocaml/cic_notation/test_lexer.ml deleted file mode 100644 index 569e86e44..000000000 --- a/helm/ocaml/cic_notation/test_lexer.ml +++ /dev/null @@ -1,58 +0,0 @@ -(* Copyright (C) 2005, 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 _ = - let level = ref "2@" in - let ic = ref stdin in - let arg_spec = [ "-level", Arg.Set_string level, "set the notation level" ] in - let usage = "test_lexer [ -level level ] [ file ]" in - let open_file fname = - if !ic <> stdin then close_in !ic; - ic := open_in fname - in - Arg.parse arg_spec open_file usage; - let lexer = - match !level with - "1" -> CicNotationLexer.level1_pattern_lexer - | "2@" -> CicNotationLexer.level2_ast_lexer - | "2$" -> CicNotationLexer.level2_meta_lexer - | l -> - prerr_endline (Printf.sprintf "Unsupported level %s" l); - exit 2 - in - let token_stream = - fst (lexer.Token.tok_func (Obj.magic (Ulexing.from_utf8_channel !ic))) - in - Printf.printf "Lexing notation level %s\n" !level; flush stdout; - let rec dump () = - let (a,b) = Stream.next token_stream in - if a = "EOI" then raise Stream.Failure; - print_endline (Printf.sprintf "%s '%s'" a b); - dump () - in - try - dump () - with Stream.Failure -> () - diff --git a/helm/ocaml/cic_notation/test_parser.conf.xml b/helm/ocaml/cic_notation/test_parser.conf.xml deleted file mode 100644 index 67b5dbefd..000000000 --- a/helm/ocaml/cic_notation/test_parser.conf.xml +++ /dev/null @@ -1,15 +0,0 @@ - -
    - - cic:/ - file:///projects/helm/library/coq_contribs/ - - - cic:/matita/ - file:///home/zacchiro/helm/matita/.matita/xml/matita/ - -
    -
    - ../../matita/core_notation.moo -
    -
    diff --git a/helm/ocaml/cic_notation/test_parser.ml b/helm/ocaml/cic_notation/test_parser.ml deleted file mode 100644 index b3685232e..000000000 --- a/helm/ocaml/cic_notation/test_parser.ml +++ /dev/null @@ -1,161 +0,0 @@ -(* Copyright (C) 2005, 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 _ = Helm_registry.load_from "test_parser.conf.xml" - -let xml_stream_of_markup = - let rec print_box (t: CicNotationPres.boxml_markup) = - Box.box2xml print_mpres t - and print_mpres (t: CicNotationPres.mathml_markup) = - Mpresentation.print_mpres print_box t - in - print_mpres - -let dump_xml t id_to_uri fname = - prerr_endline (sprintf "dumping MathML to %s ..." fname); - flush stdout; - let oc = open_out fname in - let markup = CicNotationPres.render id_to_uri t in - let xml_stream = CicNotationPres.print_xml markup in - Xml.pp_to_outchan xml_stream oc; - close_out oc - -let extract_loc = - function - | GrafiteAst.Executable (loc, _) - | GrafiteAst.Comment (loc, _) -> loc - -let pp_associativity = function - | Gramext.LeftA -> "left" - | Gramext.RightA -> "right" - | Gramext.NonA -> "non" - -let pp_precedence = string_of_int - -(* let last_rule_id = ref None *) - -let process_stream istream = - let char_count = ref 0 in - let module P = CicNotationPt in - let module G = GrafiteAst in - try - while true do - try - let statement = GrafiteParser.parse_statement istream in - let floc = extract_loc statement in - let (_, y) = P.loc_of_floc floc in - char_count := y + !char_count; - match statement with -(* | G.Executable (_, G.Macro (_, G.Check (_, - P.AttributedTerm (_, P.Ident _)))) -> - prerr_endline "mega hack"; - (match !last_rule_id with - | None -> () - | Some id -> - prerr_endline "removing last notation rule ..."; - CicNotationParser.delete id) *) - | G.Executable (_, G.Macro (_, G.Check (_, t))) -> - prerr_endline (sprintf "ast: %s" (CicNotationPp.pp_term t)); - let t' = CicNotationRew.pp_ast t in - prerr_endline (sprintf "rendered ast: %s" - (CicNotationPp.pp_term t')); - let tbl = Hashtbl.create 0 in - dump_xml t' tbl "out.xml" - | G.Executable (_, G.Command (_, - G.Notation (_, dir, l1, associativity, precedence, l2))) -> - prerr_endline "notation"; - prerr_endline (sprintf "l1: %s" (CicNotationPp.pp_term l1)); - prerr_endline (sprintf "l2: %s" (CicNotationPp.pp_term l2)); - prerr_endline (sprintf "prec: %s" (pp_precedence precedence)); - prerr_endline (sprintf "assoc: %s" (pp_associativity associativity)); - let keywords = CicNotationUtil.keywords_of_term l1 in - if keywords <> [] then - prerr_endline (sprintf "keywords: %s" - (String.concat " " keywords)); - if dir <> Some `RightToLeft then - ignore - (CicNotationParser.extend l1 ?precedence ?associativity - (fun env loc -> CicNotationFwd.instantiate_level2 env l2)); -(* last_rule_id := Some rule_id; *) - if dir <> Some `LeftToRight then - ignore (CicNotationRew.add_pretty_printer - ?precedence ?associativity l2 l1) - | G.Executable (_, G.Command (_, G.Interpretation (_, id, l2, l3))) -> - prerr_endline "interpretation"; - prerr_endline (sprintf "dsc: %s" id); - ignore (CicNotationRew.add_interpretation id l2 l3); - flush stdout - | G.Executable (_, G.Command (_, G.Dump _)) -> - CicNotationParser.print_l2_pattern (); print_newline () - | G.Executable (_, G.Command (_, G.Render (_, uri))) -> - let obj, _ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - let annobj, _, _, id_to_sort, _, _, _ = - Cic2acic.acic_object_of_cic_object obj - in - let annterm = - match annobj with - | Cic.AConstant (_, _, _, _, ty, _, _) - | Cic.AVariable (_, _, _, ty, _, _) -> ty - | _ -> assert false - in - let t, id_to_uri = - CicNotationRew.ast_of_acic id_to_sort annterm - in - prerr_endline "Raw AST"; - prerr_endline (CicNotationPp.pp_term t); - let t' = CicNotationRew.pp_ast t in - prerr_endline "Rendered AST"; - prerr_endline (CicNotationPp.pp_term t'); - dump_xml t' id_to_uri "out.xml" - | _ -> prerr_endline "Unsupported statement" - with - | End_of_file -> raise End_of_file - | CicNotationParser.Parse_error (floc, msg) -> - let (x, y) = P.loc_of_floc floc in -(* let before = String.sub line 0 x in - let error = String.sub line x (y - x) in - let after = String.sub line y (String.length line - y) in - eprintf "%s%s%s\n" before error after; - prerr_endline (sprintf "at character %d-%d: %s" x y msg) *) - prerr_endline (sprintf "Parse error at character %d-%d: %s" - (!char_count + x) (!char_count + y) msg) - | exn -> - prerr_endline - (sprintf "Uncaught exception: %s" (Printexc.to_string exn)) - done - with End_of_file -> () - -let _ = - let arg_spec = [ ] in - let usage = "" in - Arg.parse arg_spec (fun _ -> raise (Arg.Bad usage)) usage; - print_endline "Loading builtin notation ..."; - CicNotation.load_notation (Helm_registry.get "notation.core_file"); - print_endline "done."; - flush stdout; - process_stream (Ulexing.from_utf8_channel stdin) - diff --git a/helm/ocaml/cic_omdoc/.cvsignore b/helm/ocaml/cic_omdoc/.cvsignore deleted file mode 100644 index 6b3eba302..000000000 --- a/helm/ocaml/cic_omdoc/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.cm[iaox] *.cmxa diff --git a/helm/ocaml/cic_omdoc/.depend b/helm/ocaml/cic_omdoc/.depend deleted file mode 100644 index 2074968ba..000000000 --- a/helm/ocaml/cic_omdoc/.depend +++ /dev/null @@ -1,17 +0,0 @@ -contentPp.cmi: content.cmi -cic2content.cmi: content.cmi cic2acic.cmi -content2cic.cmi: content.cmi -eta_fixing.cmo: eta_fixing.cmi -eta_fixing.cmx: eta_fixing.cmi -doubleTypeInference.cmo: doubleTypeInference.cmi -doubleTypeInference.cmx: doubleTypeInference.cmi -cic2acic.cmo: eta_fixing.cmi doubleTypeInference.cmi cic2acic.cmi -cic2acic.cmx: eta_fixing.cmx doubleTypeInference.cmx cic2acic.cmi -content.cmo: content.cmi -content.cmx: content.cmi -contentPp.cmo: content.cmi contentPp.cmi -contentPp.cmx: content.cmx contentPp.cmi -cic2content.cmo: content.cmi cic2acic.cmi cic2content.cmi -cic2content.cmx: content.cmx cic2acic.cmx cic2content.cmi -content2cic.cmo: content.cmi content2cic.cmi -content2cic.cmx: content.cmx content2cic.cmi diff --git a/helm/ocaml/cic_omdoc/Makefile b/helm/ocaml/cic_omdoc/Makefile deleted file mode 100644 index 80d1d351a..000000000 --- a/helm/ocaml/cic_omdoc/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -PACKAGE = cic_omdoc -REQUIRES = helm-cic_proof_checking -PREDICATES = - -INTERFACE_FILES = \ - eta_fixing.mli \ - doubleTypeInference.mli \ - cic2acic.mli \ - content.mli \ - contentPp.mli \ - cic2content.mli \ - content2cic.mli \ - $(NULL) -IMPLEMENTATION_FILES = $(INTERFACE_FILES:%.mli=%.ml) - -EXTRA_OBJECTS_TO_INSTALL = \ -EXTRA_OBJECTS_TO_CLEAN = - -include ../Makefile.common diff --git a/helm/ocaml/cic_omdoc/cic2acic.ml b/helm/ocaml/cic_omdoc/cic2acic.ml deleted file mode 100644 index 1cdabc09f..000000000 --- a/helm/ocaml/cic_omdoc/cic2acic.ml +++ /dev/null @@ -1,733 +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/. - *) - -type sort_kind = [ `Prop | `Set | `Type of CicUniv.universe | `CProp ] - -let string_of_sort = function - | `Prop -> "Prop" - | `Set -> "Set" - | `Type u -> "Type:" ^ string_of_int (CicUniv.univno u) - | `CProp -> "CProp" - -let sort_of_sort = function - | Cic.Prop -> `Prop - | Cic.Set -> `Set - | Cic.Type u -> `Type u - | Cic.CProp -> `CProp - -(* let hashtbl_add_time = ref 0.0;; *) - -let xxx_add h k v = -(* let t1 = Sys.time () in *) - Hashtbl.add h k v ; -(* let t2 = Sys.time () in - hashtbl_add_time := !hashtbl_add_time +. t2 -. t1 *) -;; - -(* let number_new_type_of_aux' = ref 0;; -let type_of_aux'_add_time = ref 0.0;; *) - -let xxx_type_of_aux' m c t = -(* let t1 = Sys.time () in *) - let res,_ = - try - CicTypeChecker.type_of_aux' m c t CicUniv.empty_ugraph - with - | CicTypeChecker.AssertFailure _ - | CicTypeChecker.TypeCheckerFailure _ -> - Cic.Sort Cic.Prop, CicUniv.empty_ugraph - in -(* let t2 = Sys.time () in - type_of_aux'_add_time := !type_of_aux'_add_time +. t2 -. t1 ; *) - res -;; - -type anntypes = - {annsynthesized : Cic.annterm ; annexpected : Cic.annterm option} -;; - -let gen_id seed = - let res = "i" ^ string_of_int !seed in - incr seed ; - res -;; - -let fresh_id seed ids_to_terms ids_to_father_ids = - fun father t -> - let res = gen_id seed in - xxx_add ids_to_father_ids res father ; - xxx_add ids_to_terms res t ; - res -;; - -let source_id_of_id id = "#source#" ^ id;; - -exception NotEnoughElements;; - -(*CSC: cut&paste da cicPp.ml *) -(* get_nth l n returns the nth element of the list l if it exists or *) -(* raises NotEnoughElements if l has less than n elements *) -let rec get_nth l n = - match (n,l) with - (1, he::_) -> he - | (n, he::tail) when n > 1 -> get_nth tail (n-1) - | (_,_) -> raise NotEnoughElements -;; - -let acic_of_cic_context' ~computeinnertypes:global_computeinnertypes - seed ids_to_terms ids_to_father_ids ids_to_inner_sorts ids_to_inner_types - metasenv context idrefs t expectedty -= - let module D = DoubleTypeInference in - let module C = Cic in - let fresh_id' = fresh_id seed ids_to_terms ids_to_father_ids in -(* let time1 = Sys.time () in *) - let terms_to_types = -(* - let time0 = Sys.time () in - let prova = CicTypeChecker.type_of_aux' metasenv context t in - let time1 = Sys.time () in - prerr_endline ("*** Fine type_inference:" ^ (string_of_float (time1 -. time0))); - let res = D.double_type_of metasenv context t expectedty in - let time2 = Sys.time () in - prerr_endline ("*** Fine double_type_inference:" ^ (string_of_float (time2 -. time1))); - res -*) - if global_computeinnertypes then - D.double_type_of metasenv context t expectedty - else - D.CicHash.empty () - in -(* - let time2 = Sys.time () in - prerr_endline - ("++++++++++++ Tempi della double_type_of: "^ string_of_float (time2 -. time1)) ; -*) - let rec aux computeinnertypes father context idrefs tt = - let fresh_id'' = fresh_id' father tt in - (*CSC: computeinnertypes era true, il che e' proprio sbagliato, no? *) - let aux' = aux computeinnertypes (Some fresh_id'') in - (* First of all we compute the inner type and the inner sort *) - (* of the term. They may be useful in what follows. *) - (*CSC: This is a very inefficient way of computing inner types *) - (*CSC: and inner sorts: very deep terms have their types/sorts *) - (*CSC: computed again and again. *) - let sort_of t = - match CicReduction.whd context t with - C.Sort C.Prop -> `Prop - | C.Sort C.Set -> `Set - | C.Sort (C.Type u) -> `Type u - | C.Meta _ -> `Type (CicUniv.fresh()) - | C.Sort C.CProp -> `CProp - | t -> - prerr_endline ("Cic2acic.sort_of applied to: " ^ CicPp.ppterm t) ; - assert false - in - let ainnertypes,innertype,innersort,expected_available = -(*CSC: Here we need the algorithm for Coscoy's double type-inference *) -(*CSC: (expected type + inferred type). Just for now we use the usual *) -(*CSC: type-inference, but the result is very poor. As a very weak *) -(*CSC: patch, I apply whd to the computed type. Full beta *) -(*CSC: reduction would be a much better option. *) -(*CSC: solo per testare i tempi *) -(*XXXXXXX *) - try -(* *) - let {D.synthesized = synthesized; D.expected = expected} = - if computeinnertypes then - D.CicHash.find terms_to_types tt - else - (* We are already in an inner-type and Coscoy's double *) - (* type inference algorithm has not been applied. *) - { D.synthesized = -(***CSC: patch per provare i tempi - CicReduction.whd context (xxx_type_of_aux' metasenv context tt) ; *) - if global_computeinnertypes then - Cic.Sort (Cic.Type (CicUniv.fresh())) - else - CicReduction.whd context (xxx_type_of_aux' metasenv context tt); - D.expected = None} - in -(* incr number_new_type_of_aux' ; *) - let innersort = (*XXXXX *) xxx_type_of_aux' metasenv context synthesized (* Cic.Sort Cic.Prop *) in - let ainnertypes,expected_available = - if computeinnertypes then - let annexpected,expected_available = - match expected with - None -> None,false - | Some expectedty' -> - Some - (aux false (Some fresh_id'') context idrefs expectedty'), - true - in - Some - {annsynthesized = - aux false (Some fresh_id'') context idrefs synthesized ; - annexpected = annexpected - }, expected_available - else - None,false - in - ainnertypes,synthesized, sort_of innersort, expected_available -(*XXXXXXXX *) - with - Not_found -> (* l'inner-type non e' nella tabella ==> sort <> Prop *) - (* CSC: Type or Set? I can not tell *) - let u = CicUniv.fresh() in - None,Cic.Sort (Cic.Type u),`Type u,false - (* TASSI non dovrebbe fare danni *) -(* *) - in - let add_inner_type id = - match ainnertypes with - None -> () - | Some ainnertypes -> xxx_add ids_to_inner_types id ainnertypes - in - match tt with - C.Rel n -> - let id = - match get_nth context n with - (Some (C.Name s,_)) -> s - | _ -> "__" ^ string_of_int n - in - xxx_add ids_to_inner_sorts fresh_id'' innersort ; - if innersort = `Prop && expected_available then - add_inner_type fresh_id'' ; - C.ARel (fresh_id'', List.nth idrefs (n-1), n, id) - | C.Var (uri,exp_named_subst) -> - xxx_add ids_to_inner_sorts fresh_id'' innersort ; - if innersort = `Prop && expected_available then - add_inner_type fresh_id'' ; - let exp_named_subst' = - List.map - (function i,t -> i, (aux' context idrefs t)) exp_named_subst - in - C.AVar (fresh_id'', uri,exp_named_subst') - | C.Meta (n,l) -> - let (_,canonical_context,_) = CicUtil.lookup_meta n metasenv in - xxx_add ids_to_inner_sorts fresh_id'' innersort ; - if innersort = `Prop && expected_available then - add_inner_type fresh_id'' ; - C.AMeta (fresh_id'', n, - (List.map2 - (fun ct t -> - match (ct, t) with - | None, _ -> None - | _, Some t -> Some (aux' context idrefs t) - | Some _, None -> assert false (* due to typing rules *)) - canonical_context l)) - | C.Sort s -> C.ASort (fresh_id'', s) - | C.Implicit annotation -> C.AImplicit (fresh_id'', annotation) - | C.Cast (v,t) -> - xxx_add ids_to_inner_sorts fresh_id'' innersort ; - if innersort = `Prop then - add_inner_type fresh_id'' ; - C.ACast (fresh_id'', aux' context idrefs v, aux' context idrefs t) - | C.Prod (n,s,t) -> - xxx_add ids_to_inner_sorts fresh_id'' - (sort_of innertype) ; - let sourcetype = xxx_type_of_aux' metasenv context s in - xxx_add ids_to_inner_sorts (source_id_of_id fresh_id'') - (sort_of sourcetype) ; - let n' = - match n with - C.Anonymous -> n - | C.Name n' -> - if DoubleTypeInference.does_not_occur 1 t then - C.Anonymous - else - C.Name n' - in - C.AProd - (fresh_id'', n', aux' context idrefs s, - aux' ((Some (n, C.Decl s))::context) (fresh_id''::idrefs) t) - | C.Lambda (n,s,t) -> - xxx_add ids_to_inner_sorts fresh_id'' innersort ; - let sourcetype = xxx_type_of_aux' metasenv context s in - xxx_add ids_to_inner_sorts (source_id_of_id fresh_id'') - (sort_of sourcetype) ; - if innersort = `Prop then - begin - let father_is_lambda = - match father with - None -> false - | Some father' -> - match Hashtbl.find ids_to_terms father' with - C.Lambda _ -> true - | _ -> false - in - if (not father_is_lambda) || expected_available then - add_inner_type fresh_id'' - end ; - C.ALambda - (fresh_id'',n, aux' context idrefs s, - aux' ((Some (n, C.Decl s)::context)) (fresh_id''::idrefs) t) - | C.LetIn (n,s,t) -> - xxx_add ids_to_inner_sorts fresh_id'' innersort ; - if innersort = `Prop then - add_inner_type fresh_id'' ; - C.ALetIn - (fresh_id'', n, aux' context idrefs s, - aux' ((Some (n, C.Def(s,None)))::context) (fresh_id''::idrefs) t) - | C.Appl l -> - xxx_add ids_to_inner_sorts fresh_id'' innersort ; - if innersort = `Prop then - add_inner_type fresh_id'' ; - C.AAppl (fresh_id'', List.map (aux' context idrefs) l) - | C.Const (uri,exp_named_subst) -> - xxx_add ids_to_inner_sorts fresh_id'' innersort ; - if innersort = `Prop && expected_available then - add_inner_type fresh_id'' ; - let exp_named_subst' = - List.map - (function i,t -> i, (aux' context idrefs t)) exp_named_subst - in - C.AConst (fresh_id'', uri, exp_named_subst') - | C.MutInd (uri,tyno,exp_named_subst) -> - let exp_named_subst' = - List.map - (function i,t -> i, (aux' context idrefs t)) exp_named_subst - in - C.AMutInd (fresh_id'', uri, tyno, exp_named_subst') - | C.MutConstruct (uri,tyno,consno,exp_named_subst) -> - xxx_add ids_to_inner_sorts fresh_id'' innersort ; - if innersort = `Prop && expected_available then - add_inner_type fresh_id'' ; - let exp_named_subst' = - List.map - (function i,t -> i, (aux' context idrefs t)) exp_named_subst - in - C.AMutConstruct (fresh_id'', uri, tyno, consno, exp_named_subst') - | C.MutCase (uri, tyno, outty, term, patterns) -> - xxx_add ids_to_inner_sorts fresh_id'' innersort ; - if innersort = `Prop then - add_inner_type fresh_id'' ; - C.AMutCase (fresh_id'', uri, tyno, aux' context idrefs outty, - aux' context idrefs term, List.map (aux' context idrefs) patterns) - | C.Fix (funno, funs) -> - let fresh_idrefs = - List.map (function _ -> gen_id seed) funs in - let new_idrefs = List.rev fresh_idrefs @ idrefs in - let tys = - List.map (fun (name,_,ty,_) -> Some (C.Name name, C.Decl ty)) funs - in - xxx_add ids_to_inner_sorts fresh_id'' innersort ; - if innersort = `Prop then - add_inner_type fresh_id'' ; - C.AFix (fresh_id'', funno, - List.map2 - (fun id (name, indidx, ty, bo) -> - (id, name, indidx, aux' context idrefs ty, - aux' (tys@context) new_idrefs bo) - ) fresh_idrefs funs - ) - | C.CoFix (funno, funs) -> - let fresh_idrefs = - List.map (function _ -> gen_id seed) funs in - let new_idrefs = List.rev fresh_idrefs @ idrefs in - let tys = - List.map (fun (name,ty,_) -> Some (C.Name name, C.Decl ty)) funs - in - xxx_add ids_to_inner_sorts fresh_id'' innersort ; - if innersort = `Prop then - add_inner_type fresh_id'' ; - C.ACoFix (fresh_id'', funno, - List.map2 - (fun id (name, ty, bo) -> - (id, name, aux' context idrefs ty, - aux' (tys@context) new_idrefs bo) - ) fresh_idrefs funs - ) - in -(* - let timea = Sys.time () in - let res = aux true None context idrefs t in - let timeb = Sys.time () in - prerr_endline - ("+++++++++++++ Tempi della aux dentro alla acic_of_cic: "^ string_of_float (timeb -. timea)) ; - res -*) - aux global_computeinnertypes None context idrefs t -;; - -let acic_of_cic_context ~computeinnertypes metasenv context idrefs t = - let ids_to_terms = Hashtbl.create 503 in - let ids_to_father_ids = Hashtbl.create 503 in - let ids_to_inner_sorts = Hashtbl.create 503 in - let ids_to_inner_types = Hashtbl.create 503 in - let seed = ref 0 in - acic_of_cic_context' ~computeinnertypes seed ids_to_terms ids_to_father_ids ids_to_inner_sorts - ids_to_inner_types metasenv context idrefs t, - ids_to_terms, ids_to_father_ids, ids_to_inner_sorts, ids_to_inner_types -;; - -let aconjecture_of_conjecture seed ids_to_terms ids_to_father_ids - ids_to_inner_sorts ids_to_inner_types ids_to_hypotheses hypotheses_seed - metasenv (metano,context,goal) -= - let computeinnertypes = false in - let acic_of_cic_context = - acic_of_cic_context' seed ids_to_terms ids_to_father_ids ids_to_inner_sorts - ids_to_inner_types metasenv in - let _, acontext,final_idrefs = - (List.fold_right - (fun binding (context, acontext,idrefs) -> - let hid = "h" ^ string_of_int !hypotheses_seed in - Hashtbl.add ids_to_hypotheses hid binding ; - incr hypotheses_seed ; - match binding with - Some (n,Cic.Def (t,_)) -> - let acic = acic_of_cic_context ~computeinnertypes context idrefs t None in - (binding::context), - ((hid,Some (n,Cic.ADef acic))::acontext),(hid::idrefs) - | Some (n,Cic.Decl t) -> - let acic = acic_of_cic_context ~computeinnertypes context idrefs t None in - (binding::context), - ((hid,Some (n,Cic.ADecl acic))::acontext),(hid::idrefs) - | None -> - (* Invariant: "" is never looked up *) - (None::context),((hid,None)::acontext),""::idrefs - ) context ([],[],[]) - ) - in - let agoal = acic_of_cic_context ~computeinnertypes context final_idrefs goal None in - (metano,acontext,agoal) -;; - -let asequent_of_sequent (metasenv:Cic.metasenv) (sequent:Cic.conjecture) = - let ids_to_terms = Hashtbl.create 503 in - let ids_to_father_ids = Hashtbl.create 503 in - let ids_to_inner_sorts = Hashtbl.create 503 in - let ids_to_inner_types = Hashtbl.create 503 in - let ids_to_hypotheses = Hashtbl.create 23 in - let hypotheses_seed = ref 0 in - let seed = ref 1 in (* 'i0' is used for the whole sequent *) - let unsh_sequent = - let i,canonical_context,term = sequent in - let canonical_context' = - List.fold_right - (fun d canonical_context' -> - let d = - match d with - None -> None - | Some (n, Cic.Decl t)-> - Some (n, Cic.Decl (Unshare.unshare t)) - | Some (n, Cic.Def (t,None)) -> - Some (n, Cic.Def ((Unshare.unshare t),None)) - | Some (n,Cic.Def (bo,Some ty)) -> - Some (n, Cic.Def (Unshare.unshare bo,Some (Unshare.unshare ty))) - in - d::canonical_context' - ) canonical_context [] - in - let term' = Unshare.unshare term in - (i,canonical_context',term') - in - let (metano,acontext,agoal) = - aconjecture_of_conjecture seed ids_to_terms ids_to_father_ids - ids_to_inner_sorts ids_to_inner_types ids_to_hypotheses hypotheses_seed - metasenv unsh_sequent in - (unsh_sequent, - (("i0",metano,acontext,agoal), - ids_to_terms,ids_to_father_ids,ids_to_inner_sorts,ids_to_hypotheses)) -;; - -let acic_object_of_cic_object ?(eta_fix=true) obj = - let module C = Cic in - let module E = Eta_fixing in - let ids_to_terms = Hashtbl.create 503 in - let ids_to_father_ids = Hashtbl.create 503 in - let ids_to_inner_sorts = Hashtbl.create 503 in - let ids_to_inner_types = Hashtbl.create 503 in - let ids_to_conjectures = Hashtbl.create 11 in - let ids_to_hypotheses = Hashtbl.create 127 in - let hypotheses_seed = ref 0 in - let conjectures_seed = ref 0 in - let seed = ref 0 in - let acic_term_of_cic_term_context' = - acic_of_cic_context' seed ids_to_terms ids_to_father_ids ids_to_inner_sorts - ids_to_inner_types in - let acic_term_of_cic_term' = acic_term_of_cic_term_context' [] [] [] in - let aconjecture_of_conjecture' = aconjecture_of_conjecture seed - ids_to_terms ids_to_father_ids ids_to_inner_sorts ids_to_inner_types - ids_to_hypotheses hypotheses_seed in - let eta_fix metasenv context t = - let t = if eta_fix then E.eta_fix metasenv context t else t in - Unshare.unshare t in - let aobj = - match obj with - C.Constant (id,Some bo,ty,params,attrs) -> - let bo' = eta_fix [] [] bo in - let ty' = eta_fix [] [] ty in - let abo = acic_term_of_cic_term' ~computeinnertypes:true bo' (Some ty') in - let aty = acic_term_of_cic_term' ~computeinnertypes:false ty' None in - C.AConstant - ("mettereaposto",Some "mettereaposto2",id,Some abo,aty,params,attrs) - | C.Constant (id,None,ty,params,attrs) -> - let ty' = eta_fix [] [] ty in - let aty = acic_term_of_cic_term' ~computeinnertypes:false ty' None in - C.AConstant - ("mettereaposto",None,id,None,aty,params,attrs) - | C.Variable (id,bo,ty,params,attrs) -> - let ty' = eta_fix [] [] ty in - let abo = - match bo with - None -> None - | Some bo -> - let bo' = eta_fix [] [] bo in - Some (acic_term_of_cic_term' ~computeinnertypes:true bo' (Some ty')) - in - let aty = acic_term_of_cic_term' ~computeinnertypes:false ty' None in - C.AVariable - ("mettereaposto",id,abo,aty,params,attrs) - | C.CurrentProof (id,conjectures,bo,ty,params,attrs) -> - let conjectures' = - List.map - (function (i,canonical_context,term) -> - let canonical_context' = - List.fold_right - (fun d canonical_context' -> - let d = - match d with - None -> None - | Some (n, C.Decl t)-> - Some (n, C.Decl (eta_fix conjectures canonical_context' t)) - | Some (n, C.Def (t,None)) -> - Some (n, - C.Def ((eta_fix conjectures canonical_context' t),None)) - | Some (_,C.Def (_,Some _)) -> assert false - in - d::canonical_context' - ) canonical_context [] - in - let term' = eta_fix conjectures canonical_context' term in - (i,canonical_context',term') - ) conjectures - in - let aconjectures = - List.map - (function (i,canonical_context,term) as conjecture -> - let cid = "c" ^ string_of_int !conjectures_seed in - xxx_add ids_to_conjectures cid conjecture ; - incr conjectures_seed ; - let (i,acanonical_context,aterm) - = aconjecture_of_conjecture' conjectures conjecture in - (cid,i,acanonical_context,aterm)) - conjectures' in -(* let time1 = Sys.time () in *) - let bo' = eta_fix conjectures' [] bo in - let ty' = eta_fix conjectures' [] ty in -(* - let time2 = Sys.time () in - prerr_endline - ("++++++++++ Tempi della eta_fix: "^ string_of_float (time2 -. time1)) ; - hashtbl_add_time := 0.0 ; - type_of_aux'_add_time := 0.0 ; - DoubleTypeInference.syntactic_equality_add_time := 0.0 ; -*) - let abo = - acic_term_of_cic_term_context' ~computeinnertypes:true conjectures' [] [] bo' (Some ty') in - let aty = acic_term_of_cic_term_context' ~computeinnertypes:false conjectures' [] [] ty' None in -(* - let time3 = Sys.time () in - prerr_endline - ("++++++++++++ Tempi della hashtbl_add_time: " ^ string_of_float !hashtbl_add_time) ; - prerr_endline - ("++++++++++++ Tempi della type_of_aux'_add_time(" ^ string_of_int !number_new_type_of_aux' ^ "): " ^ string_of_float !type_of_aux'_add_time) ; - prerr_endline - ("++++++++++++ Tempi della type_of_aux'_add_time nella double_type_inference(" ^ string_of_int !DoubleTypeInference.number_new_type_of_aux'_double_work ^ ";" ^ string_of_int !DoubleTypeInference.number_new_type_of_aux'_prop ^ "/" ^ string_of_int !DoubleTypeInference.number_new_type_of_aux' ^ "): " ^ string_of_float !DoubleTypeInference.type_of_aux'_add_time) ; - prerr_endline - ("++++++++++++ Tempi della syntactic_equality_add_time: " ^ string_of_float !DoubleTypeInference.syntactic_equality_add_time) ; - prerr_endline - ("++++++++++ Tempi della acic_of_cic: " ^ string_of_float (time3 -. time2)) ; - prerr_endline - ("++++++++++ Numero di iterazioni della acic_of_cic: " ^ string_of_int !seed) ; -*) - C.ACurrentProof - ("mettereaposto","mettereaposto2",id,aconjectures,abo,aty,params,attrs) - | C.InductiveDefinition (tys,params,paramsno,attrs) -> - let tys = - List.map - (fun (name,i,arity,cl) -> - (name,i,Unshare.unshare arity, - List.map (fun (name,ty) -> name,Unshare.unshare ty) cl)) tys in - let context = - List.map - (fun (name,_,arity,_) -> - Some (C.Name name, C.Decl (Unshare.unshare arity))) tys in - let idrefs = List.map (function _ -> gen_id seed) tys in - let atys = - List.map2 - (fun id (name,inductive,ty,cons) -> - let acons = - List.map - (function (name,ty) -> - (name, - acic_term_of_cic_term_context' ~computeinnertypes:false [] context idrefs ty None) - ) cons - in - (id,name,inductive, - acic_term_of_cic_term' ~computeinnertypes:false ty None,acons) - ) (List.rev idrefs) tys - in - C.AInductiveDefinition ("mettereaposto",atys,params,paramsno,attrs) - in - aobj,ids_to_terms,ids_to_father_ids,ids_to_inner_sorts,ids_to_inner_types, - ids_to_conjectures,ids_to_hypotheses -;; - -let plain_acic_term_of_cic_term = - let module C = Cic in - let mk_fresh_id = - let id = ref 0 in - function () -> incr id; "i" ^ string_of_int !id in - let rec aux context t = - let fresh_id = mk_fresh_id () in - match t with - C.Rel n -> - let idref,id = - match get_nth context n with - idref,(Some (C.Name s,_)) -> idref,s - | idref,_ -> idref,"__" ^ string_of_int n - in - C.ARel (fresh_id, idref, n, id) - | C.Var (uri,exp_named_subst) -> - let exp_named_subst' = - List.map - (function i,t -> i, (aux context t)) exp_named_subst - in - C.AVar (fresh_id,uri,exp_named_subst') - | C.Implicit _ - | C.Meta _ -> assert false - | C.Sort s -> C.ASort (fresh_id, s) - | C.Cast (v,t) -> - C.ACast (fresh_id, aux context v, aux context t) - | C.Prod (n,s,t) -> - C.AProd - (fresh_id, n, aux context s, - aux ((fresh_id, Some (n, C.Decl s))::context) t) - | C.Lambda (n,s,t) -> - C.ALambda - (fresh_id,n, aux context s, - aux ((fresh_id, Some (n, C.Decl s))::context) t) - | C.LetIn (n,s,t) -> - C.ALetIn - (fresh_id, n, aux context s, - aux ((fresh_id, Some (n, C.Def(s,None)))::context) t) - | C.Appl l -> - C.AAppl (fresh_id, List.map (aux context) l) - | C.Const (uri,exp_named_subst) -> - let exp_named_subst' = - List.map - (function i,t -> i, (aux context t)) exp_named_subst - in - C.AConst (fresh_id, uri, exp_named_subst') - | C.MutInd (uri,tyno,exp_named_subst) -> - let exp_named_subst' = - List.map - (function i,t -> i, (aux context t)) exp_named_subst - in - C.AMutInd (fresh_id, uri, tyno, exp_named_subst') - | C.MutConstruct (uri,tyno,consno,exp_named_subst) -> - let exp_named_subst' = - List.map - (function i,t -> i, (aux context t)) exp_named_subst - in - C.AMutConstruct (fresh_id, uri, tyno, consno, exp_named_subst') - | C.MutCase (uri, tyno, outty, term, patterns) -> - C.AMutCase (fresh_id, uri, tyno, aux context outty, - aux context term, List.map (aux context) patterns) - | C.Fix (funno, funs) -> - let tys = - List.map - (fun (name,_,ty,_) -> mk_fresh_id (), Some (C.Name name, C.Decl ty)) funs - in - C.AFix (fresh_id, funno, - List.map2 - (fun (id,_) (name, indidx, ty, bo) -> - (id, name, indidx, aux context ty, aux (tys@context) bo) - ) tys funs - ) - | C.CoFix (funno, funs) -> - let tys = - List.map (fun (name,ty,_) -> - mk_fresh_id (),Some (C.Name name, C.Decl ty)) funs - in - C.ACoFix (fresh_id, funno, - List.map2 - (fun (id,_) (name, ty, bo) -> - (id, name, aux context ty, aux (tys@context) bo) - ) tys funs - ) - in - aux -;; - -let plain_acic_object_of_cic_object obj = - let module C = Cic in - let mk_fresh_id = - let id = ref 0 in - function () -> incr id; "it" ^ string_of_int !id - in - match obj with - C.Constant (id,Some bo,ty,params,attrs) -> - let abo = plain_acic_term_of_cic_term [] bo in - let aty = plain_acic_term_of_cic_term [] ty in - C.AConstant - ("mettereaposto",Some "mettereaposto2",id,Some abo,aty,params,attrs) - | C.Constant (id,None,ty,params,attrs) -> - let aty = plain_acic_term_of_cic_term [] ty in - C.AConstant - ("mettereaposto",None,id,None,aty,params,attrs) - | C.Variable (id,bo,ty,params,attrs) -> - let abo = - match bo with - None -> None - | Some bo -> Some (plain_acic_term_of_cic_term [] bo) - in - let aty = plain_acic_term_of_cic_term [] ty in - C.AVariable - ("mettereaposto",id,abo,aty,params,attrs) - | C.CurrentProof _ -> assert false - | C.InductiveDefinition (tys,params,paramsno,attrs) -> - let context = - List.map - (fun (name,_,arity,_) -> - mk_fresh_id (), Some (C.Name name, C.Decl arity)) tys in - let atys = - List.map2 - (fun (id,_) (name,inductive,ty,cons) -> - let acons = - List.map - (function (name,ty) -> - (name, - plain_acic_term_of_cic_term context ty) - ) cons - in - (id,name,inductive,plain_acic_term_of_cic_term [] ty,acons) - ) context tys - in - C.AInductiveDefinition ("mettereaposto",atys,params,paramsno,attrs) -;; diff --git a/helm/ocaml/cic_omdoc/cic2acic.mli b/helm/ocaml/cic_omdoc/cic2acic.mli deleted file mode 100644 index e6379283d..000000000 --- a/helm/ocaml/cic_omdoc/cic2acic.mli +++ /dev/null @@ -1,61 +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 NotEnoughElements - -val source_id_of_id : string -> string - -type anntypes = - {annsynthesized : Cic.annterm ; annexpected : Cic.annterm option} -;; - -type sort_kind = [ `Prop | `Set | `Type of CicUniv.universe | `CProp ] - -val string_of_sort: sort_kind -> string -(*val sort_of_string: string -> sort_kind*) -val sort_of_sort: Cic.sort -> sort_kind - -val acic_object_of_cic_object : - ?eta_fix: bool -> (* perform eta_fixing; default: true*) - Cic.obj -> (* object *) - 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, sort_kind) Hashtbl.t * (* ids_to_inner_sorts *) - (Cic.id, 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 *) - -val asequent_of_sequent : - Cic.metasenv -> (* metasenv *) - Cic.conjecture -> (* sequent *) - Cic.conjecture * (* unshared sequent *) - (Cic.annconjecture * (* annotated sequent *) - (Cic.id, Cic.term) Hashtbl.t * (* ids_to_terms *) - (Cic.id, Cic.id option) Hashtbl.t * (* ids_to_father_ids *) - (Cic.id, sort_kind) Hashtbl.t * (* ids_to_inner_sorts *) - (Cic.id, Cic.hypothesis) Hashtbl.t) (* ids_to_hypotheses *) - -val plain_acic_object_of_cic_object : Cic.obj -> Cic.annobj diff --git a/helm/ocaml/cic_omdoc/cic2content.ml b/helm/ocaml/cic_omdoc/cic2content.ml deleted file mode 100644 index 72699f7e3..000000000 --- a/helm/ocaml/cic_omdoc/cic2content.ml +++ /dev/null @@ -1,992 +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 *) -(* *) -(* Andrea Asperti *) -(* 16/6/2003 *) -(* *) -(**************************************************************************) - -let object_prefix = "obj:";; -let declaration_prefix = "decl:";; -let definition_prefix = "def:";; -let inductive_prefix = "ind:";; -let joint_prefix = "joint:";; -let proof_prefix = "proof:";; -let conclude_prefix = "concl:";; -let premise_prefix = "prem:";; -let lemma_prefix = "lemma:";; - -(* e se mettessi la conversione di BY nell'apply_context ? *) -(* sarebbe carino avere l'invariante che la proof2pres -generasse sempre prove con contesto vuoto *) - -let gen_id prefix seed = - let res = prefix ^ string_of_int !seed in - incr seed ; - res -;; - -let name_of = function - Cic.Anonymous -> None - | Cic.Name b -> Some b;; - -exception Not_a_proof;; -exception NotImplemented;; -exception NotApplicable;; - -(* we do not care for positivity, here, that in any case is enforced by - well typing. Just a brutal search *) - -let rec occur uri = - let module C = Cic in - function - C.Rel _ -> false - | C.Var _ -> false - | C.Meta _ -> false - | C.Sort _ -> false - | C.Implicit _ -> assert false - | C.Prod (_,s,t) -> (occur uri s) or (occur uri t) - | C.Cast (te,ty) -> (occur uri te) - | C.Lambda (_,s,t) -> (occur uri s) or (occur uri t) (* or false ?? *) - | C.LetIn (_,s,t) -> (occur uri s) or (occur uri t) - | C.Appl l -> - List.fold_left - (fun b a -> - if b then b - else (occur uri a)) false l - | C.Const (_,_) -> false - | C.MutInd (uri1,_,_) -> if uri = uri1 then true else false - | C.MutConstruct (_,_,_,_) -> false - | C.MutCase _ -> false (* presuming too much?? *) - | C.Fix _ -> false (* presuming too much?? *) - | C.CoFix (_,_) -> false (* presuming too much?? *) -;; - -let get_id = - let module C = Cic in - function - C.ARel (id,_,_,_) -> id - | C.AVar (id,_,_) -> id - | C.AMeta (id,_,_) -> id - | C.ASort (id,_) -> id - | C.AImplicit _ -> raise NotImplemented - | C.AProd (id,_,_,_) -> id - | C.ACast (id,_,_) -> id - | C.ALambda (id,_,_,_) -> id - | C.ALetIn (id,_,_,_) -> id - | C.AAppl (id,_) -> id - | C.AConst (id,_,_) -> id - | C.AMutInd (id,_,_,_) -> id - | C.AMutConstruct (id,_,_,_,_) -> id - | C.AMutCase (id,_,_,_,_,_) -> id - | C.AFix (id,_,_) -> id - | C.ACoFix (id,_,_) -> id -;; - -let test_for_lifting ~ids_to_inner_types ~ids_to_inner_sorts= - let module C = Cic in - let module C2A = Cic2acic in - (* atomic terms are never lifted, according to my policy *) - function - C.ARel (id,_,_,_) -> false - | C.AVar (id,_,_) -> - (try - ignore (Hashtbl.find ids_to_inner_types id).C2A.annsynthesized; - true; - with Not_found -> false) - | C.AMeta (id,_,_) -> - (try - Hashtbl.find ids_to_inner_sorts id = `Prop - with Not_found -> assert false) - | C.ASort (id,_) -> false - | C.AImplicit _ -> raise NotImplemented - | C.AProd (id,_,_,_) -> false - | C.ACast (id,_,_) -> - (try - ignore (Hashtbl.find ids_to_inner_types id).C2A.annsynthesized; - true; - with Not_found -> false) - | C.ALambda (id,_,_,_) -> - (try - ignore (Hashtbl.find ids_to_inner_types id).C2A.annsynthesized; - true; - with Not_found -> false) - | C.ALetIn (id,_,_,_) -> - (try - ignore (Hashtbl.find ids_to_inner_types id).C2A.annsynthesized; - true; - with Not_found -> false) - | C.AAppl (id,_) -> - (try - ignore (Hashtbl.find ids_to_inner_types id).C2A.annsynthesized; - true; - with Not_found -> false) - | C.AConst (id,_,_) -> - (try - ignore (Hashtbl.find ids_to_inner_types id).C2A.annsynthesized; - true; - with Not_found -> false) - | C.AMutInd (id,_,_,_) -> false - | C.AMutConstruct (id,_,_,_,_) -> - (try - ignore (Hashtbl.find ids_to_inner_types id).C2A.annsynthesized; - true; - with Not_found -> false) - (* oppure: false *) - | C.AMutCase (id,_,_,_,_,_) -> - (try - ignore (Hashtbl.find ids_to_inner_types id).C2A.annsynthesized; - true; - with Not_found -> false) - | C.AFix (id,_,_) -> - (try - ignore (Hashtbl.find ids_to_inner_types id).C2A.annsynthesized; - true; - with Not_found -> false) - | C.ACoFix (id,_,_) -> - (try - ignore (Hashtbl.find ids_to_inner_types id).C2A.annsynthesized; - true; - with Not_found -> false) -;; - -(* transform a proof p into a proof list, concatenating the last -conclude element to the apply_context list, in case context is -empty. Otherwise, it just returns [p] *) - -let flat seed p = - let module K = Content in - if (p.K.proof_context = []) then - if p.K.proof_apply_context = [] then [p] - else - let p1 = - { p with - K.proof_context = []; - K.proof_apply_context = [] - } in - p.K.proof_apply_context@[p1] - else - [p] -;; - -let rec serialize seed = - function - [] -> [] - | a::l -> (flat seed a)@(serialize seed l) -;; - -(* top_down = true if the term is a LAMBDA or a decl *) -let generate_conversion seed top_down id inner_proof ~ids_to_inner_types = - let module C2A = Cic2acic in - let module K = Content in - let exp = (try ((Hashtbl.find ids_to_inner_types id).C2A.annexpected) - with Not_found -> None) - in - match exp with - None -> inner_proof - | Some expty -> - if inner_proof.K.proof_conclude.K.conclude_method = "Intros+LetTac" then - { K.proof_name = inner_proof.K.proof_name; - K.proof_id = gen_id proof_prefix seed; - K.proof_context = [] ; - K.proof_apply_context = []; - K.proof_conclude = - { K.conclude_id = gen_id conclude_prefix seed; - K.conclude_aref = id; - K.conclude_method = "TD_Conversion"; - K.conclude_args = - [K.ArgProof {inner_proof with K.proof_name = None}]; - K.conclude_conclusion = Some expty - }; - } - else - { K.proof_name = inner_proof.K.proof_name; - K.proof_id = gen_id proof_prefix seed; - K.proof_context = [] ; - K.proof_apply_context = [{inner_proof with K.proof_name = None}]; - K.proof_conclude = - { K.conclude_id = gen_id conclude_prefix seed; - K.conclude_aref = id; - K.conclude_method = "BU_Conversion"; - K.conclude_args = - [K.Premise - { K.premise_id = gen_id premise_prefix seed; - K.premise_xref = inner_proof.K.proof_id; - K.premise_binder = None; - K.premise_n = None - } - ]; - K.conclude_conclusion = Some expty - }; - } -;; - -let generate_exact seed t id name ~ids_to_inner_types = - let module C2A = Cic2acic in - let module K = Content in - { K.proof_name = name; - K.proof_id = gen_id proof_prefix seed ; - K.proof_context = [] ; - K.proof_apply_context = []; - K.proof_conclude = - { K.conclude_id = gen_id conclude_prefix seed; - K.conclude_aref = id; - K.conclude_method = "Exact"; - K.conclude_args = [K.Term t]; - K.conclude_conclusion = - try Some (Hashtbl.find ids_to_inner_types id).C2A.annsynthesized - with Not_found -> None - }; - } -;; - -let generate_intros_let_tac seed id n s is_intro inner_proof name ~ids_to_inner_types = - let module C2A = Cic2acic in - let module C = Cic in - let module K = Content in - { K.proof_name = name; - K.proof_id = gen_id proof_prefix seed ; - K.proof_context = [] ; - K.proof_apply_context = []; - K.proof_conclude = - { K.conclude_id = gen_id conclude_prefix seed; - K.conclude_aref = id; - K.conclude_method = "Intros+LetTac"; - K.conclude_args = [K.ArgProof inner_proof]; - K.conclude_conclusion = - try Some - (Hashtbl.find ids_to_inner_types id).C2A.annsynthesized - with Not_found -> - (match inner_proof.K.proof_conclude.K.conclude_conclusion with - None -> None - | Some t -> - if is_intro then Some (C.AProd ("gen"^id,n,s,t)) - else Some (C.ALetIn ("gen"^id,n,s,t))) - }; - } -;; - -let build_decl_item seed id n s ~ids_to_inner_sorts = - let module K = Content in - let sort = - try - Some (Hashtbl.find ids_to_inner_sorts (Cic2acic.source_id_of_id id)) - with Not_found -> None - in - match sort with - | Some `Prop -> - `Hypothesis - { K.dec_name = name_of n; - K.dec_id = gen_id declaration_prefix seed; - K.dec_inductive = false; - K.dec_aref = id; - K.dec_type = s - } - | _ -> - `Declaration - { K.dec_name = name_of n; - K.dec_id = gen_id declaration_prefix seed; - K.dec_inductive = false; - K.dec_aref = id; - K.dec_type = s - } -;; - -let rec build_subproofs_and_args seed l ~ids_to_inner_types ~ids_to_inner_sorts = - let module C = Cic in - let module K = Content in - let rec aux = - function - [] -> [],[] - | t::l1 -> - let subproofs,args = aux l1 in - if (test_for_lifting t ~ids_to_inner_types ~ids_to_inner_sorts) then - let new_subproof = - acic2content - seed ~name:"H" ~ids_to_inner_types ~ids_to_inner_sorts t in - let new_arg = - K.Premise - { K.premise_id = gen_id premise_prefix seed; - K.premise_xref = new_subproof.K.proof_id; - K.premise_binder = new_subproof.K.proof_name; - K.premise_n = None - } in - new_subproof::subproofs,new_arg::args - else - let hd = - (match t with - C.ARel (idr,idref,n,b) -> - let sort = - (try - Hashtbl.find ids_to_inner_sorts idr - with Not_found -> `Type (CicUniv.fresh())) in - if sort = `Prop then - K.Premise - { K.premise_id = gen_id premise_prefix seed; - K.premise_xref = idr; - K.premise_binder = Some b; - K.premise_n = Some n - } - else (K.Term t) - | C.AConst(id,uri,[]) -> - let sort = - (try - Hashtbl.find ids_to_inner_sorts id - with Not_found -> `Type (CicUniv.fresh())) in - if sort = `Prop then - K.Lemma - { K.lemma_id = gen_id lemma_prefix seed; - K.lemma_name = UriManager.name_of_uri uri; - K.lemma_uri = UriManager.string_of_uri uri - } - else (K.Term t) - | C.AMutConstruct(id,uri,tyno,consno,[]) -> - let sort = - (try - Hashtbl.find ids_to_inner_sorts id - with Not_found -> `Type (CicUniv.fresh())) in - if sort = `Prop then - let inductive_types = - (let o,_ = - CicEnvironment.get_obj CicUniv.empty_ugraph uri - in - match o with - | Cic.InductiveDefinition (l,_,_,_) -> l - | _ -> assert false - ) in - let (_,_,_,constructors) = - List.nth inductive_types tyno in - let name,_ = List.nth constructors (consno - 1) in - K.Lemma - { K.lemma_id = gen_id lemma_prefix seed; - K.lemma_name = name; - K.lemma_uri = - UriManager.string_of_uri uri ^ "#xpointer(1/" ^ - string_of_int (tyno+1) ^ "/" ^ string_of_int consno ^ - ")" - } - else (K.Term t) - | _ -> (K.Term t)) in - subproofs,hd::args - in - match (aux l) with - [p],args -> - [{p with K.proof_name = None}], - List.map - (function - K.Premise prem when prem.K.premise_xref = p.K.proof_id -> - K.Premise {prem with K.premise_binder = None} - | i -> i) args - | p,a as c -> c - -and - -build_def_item seed id n t ~ids_to_inner_sorts ~ids_to_inner_types = - let module K = Content in - try - let sort = Hashtbl.find ids_to_inner_sorts id in - if sort = `Prop then - (let p = - (acic2content seed ?name:(name_of n) ~ids_to_inner_sorts ~ids_to_inner_types t) - in - `Proof p;) - else - `Definition - { K.def_name = name_of n; - K.def_id = gen_id definition_prefix seed; - K.def_aref = id; - K.def_term = t - } - with - Not_found -> assert false - -(* the following function must be called with an object of sort -Prop. For debugging purposes this is tested again, possibly raising an -Not_a_proof exception *) - -and acic2content seed ?name ~ids_to_inner_sorts ~ids_to_inner_types t = - let rec aux ?name t = - let module C = Cic in - let module K = Content in - let module C2A = Cic2acic in - let t1 = - match t with - C.ARel (id,idref,n,b) as t -> - let sort = Hashtbl.find ids_to_inner_sorts id in - if sort = `Prop then - generate_exact seed t id name ~ids_to_inner_types - else raise Not_a_proof - | C.AVar (id,uri,exp_named_subst) as t -> - let sort = Hashtbl.find ids_to_inner_sorts id in - if sort = `Prop then - generate_exact seed t id name ~ids_to_inner_types - else raise Not_a_proof - | C.AMeta (id,n,l) as t -> - let sort = Hashtbl.find ids_to_inner_sorts id in - if sort = `Prop then - generate_exact seed t id name ~ids_to_inner_types - else raise Not_a_proof - | C.ASort (id,s) -> raise Not_a_proof - | C.AImplicit _ -> raise NotImplemented - | C.AProd (_,_,_,_) -> raise Not_a_proof - | C.ACast (id,v,t) -> aux v - | C.ALambda (id,n,s,t) -> - let sort = Hashtbl.find ids_to_inner_sorts id in - if sort = `Prop then - let proof = aux t in - let proof' = - if proof.K.proof_conclude.K.conclude_method = "Intros+LetTac" then - match proof.K.proof_conclude.K.conclude_args with - [K.ArgProof p] -> p - | _ -> assert false - else proof in - let proof'' = - { proof' with - K.proof_name = None; - K.proof_context = - (build_decl_item seed id n s ids_to_inner_sorts):: - proof'.K.proof_context - } - in - generate_intros_let_tac seed id n s true proof'' name ~ids_to_inner_types - else raise Not_a_proof - | C.ALetIn (id,n,s,t) -> - let sort = Hashtbl.find ids_to_inner_sorts id in - if sort = `Prop then - let proof = aux t in - let proof' = - if proof.K.proof_conclude.K.conclude_method = "Intros+LetTac" then - match proof.K.proof_conclude.K.conclude_args with - [K.ArgProof p] -> p - | _ -> assert false - else proof in - let proof'' = - { proof' with - K.proof_name = None; - K.proof_context = - ((build_def_item seed id n s ids_to_inner_sorts - ids_to_inner_types):> Cic.annterm K.in_proof_context_element) - ::proof'.K.proof_context; - } - in - generate_intros_let_tac seed id n s false proof'' name ~ids_to_inner_types - else raise Not_a_proof - | C.AAppl (id,li) -> - (try rewrite - seed name id li ~ids_to_inner_types ~ids_to_inner_sorts - with NotApplicable -> - try inductive - seed name id li ~ids_to_inner_types ~ids_to_inner_sorts - with NotApplicable -> - let subproofs, args = - build_subproofs_and_args - seed li ~ids_to_inner_types ~ids_to_inner_sorts in -(* - let args_to_lift = - List.filter (test_for_lifting ~ids_to_inner_types) li in - let subproofs = - match args_to_lift with - [_] -> List.map aux args_to_lift - | _ -> List.map (aux ~name:"H") args_to_lift in - let args = build_args seed li subproofs - ~ids_to_inner_types ~ids_to_inner_sorts in *) - { K.proof_name = name; - K.proof_id = gen_id proof_prefix seed; - K.proof_context = []; - K.proof_apply_context = serialize seed subproofs; - K.proof_conclude = - { K.conclude_id = gen_id conclude_prefix seed; - K.conclude_aref = id; - K.conclude_method = "Apply"; - K.conclude_args = args; - K.conclude_conclusion = - try Some - (Hashtbl.find ids_to_inner_types id).C2A.annsynthesized - with Not_found -> None - }; - }) - | C.AConst (id,uri,exp_named_subst) as t -> - let sort = Hashtbl.find ids_to_inner_sorts id in - if sort = `Prop then - generate_exact seed t id name ~ids_to_inner_types - else raise Not_a_proof - | C.AMutInd (id,uri,i,exp_named_subst) -> raise Not_a_proof - | C.AMutConstruct (id,uri,i,j,exp_named_subst) as t -> - let sort = Hashtbl.find ids_to_inner_sorts id in - if sort = `Prop then - generate_exact seed t id name ~ids_to_inner_types - else raise Not_a_proof - | C.AMutCase (id,uri,typeno,ty,te,patterns) -> - let inductive_types,noparams = - (let o, _ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - match o with - Cic.Constant _ -> assert false - | Cic.Variable _ -> assert false - | Cic.CurrentProof _ -> assert false - | Cic.InductiveDefinition (l,_,n,_) -> l,n - ) in - let (_,_,_,constructors) = List.nth inductive_types typeno in - let name_and_arities = - let rec count_prods = - function - C.Prod (_,_,t) -> 1 + count_prods t - | _ -> 0 in - List.map - (function (n,t) -> Some n,((count_prods t) - noparams)) constructors in - let pp = - let build_proof p (name,arity) = - let rec make_context_and_body c p n = - if n = 0 then c,(aux p) - else - (match p with - Cic.ALambda(idl,vname,s1,t1) -> - let ce = - build_decl_item seed idl vname s1 ~ids_to_inner_sorts in - make_context_and_body (ce::c) t1 (n-1) - | _ -> assert false) in - let context,body = make_context_and_body [] p arity in - K.ArgProof - {body with K.proof_name = name; K.proof_context=context} in - List.map2 build_proof patterns name_and_arities in - let teid = get_id te in - let context,term = - (match - build_subproofs_and_args - seed ~ids_to_inner_types ~ids_to_inner_sorts [te] - with - l,[t] -> l,t - | _ -> assert false) in - { K.proof_name = name; - K.proof_id = gen_id proof_prefix seed; - K.proof_context = []; - K.proof_apply_context = serialize seed context; - K.proof_conclude = - { K.conclude_id = gen_id conclude_prefix seed; - K.conclude_aref = id; - K.conclude_method = "Case"; - K.conclude_args = - (K.Aux (UriManager.string_of_uri uri)):: - (K.Aux (string_of_int typeno))::(K.Term ty)::term::pp; - K.conclude_conclusion = - try Some - (Hashtbl.find ids_to_inner_types id).C2A.annsynthesized - with Not_found -> None - } - } - | C.AFix (id, no, funs) -> - let proofs = - List.map - (function (_,name,_,_,bo) -> `Proof (aux ~name bo)) funs in - let fun_name = - List.nth (List.map (fun (_,name,_,_,_) -> name) funs) no - in - let decreasing_args = - List.map (function (_,_,n,_,_) -> n) funs in - let jo = - { K.joint_id = gen_id joint_prefix seed; - K.joint_kind = `Recursive decreasing_args; - K.joint_defs = proofs - } - in - { K.proof_name = name; - K.proof_id = gen_id proof_prefix seed; - K.proof_context = [`Joint jo]; - K.proof_apply_context = []; - K.proof_conclude = - { K.conclude_id = gen_id conclude_prefix seed; - K.conclude_aref = id; - K.conclude_method = "Exact"; - K.conclude_args = - [ K.Premise - { K.premise_id = gen_id premise_prefix seed; - K.premise_xref = jo.K.joint_id; - K.premise_binder = Some fun_name; - K.premise_n = Some no; - } - ]; - K.conclude_conclusion = - try Some - (Hashtbl.find ids_to_inner_types id).C2A.annsynthesized - with Not_found -> None - } - } - | C.ACoFix (id,no,funs) -> - let proofs = - List.map - (function (_,name,_,bo) -> `Proof (aux ~name bo)) funs in - let jo = - { K.joint_id = gen_id joint_prefix seed; - K.joint_kind = `CoRecursive; - K.joint_defs = proofs - } - in - { K.proof_name = name; - K.proof_id = gen_id proof_prefix seed; - K.proof_context = [`Joint jo]; - K.proof_apply_context = []; - K.proof_conclude = - { K.conclude_id = gen_id conclude_prefix seed; - K.conclude_aref = id; - K.conclude_method = "Exact"; - K.conclude_args = - [ K.Premise - { K.premise_id = gen_id premise_prefix seed; - K.premise_xref = jo.K.joint_id; - K.premise_binder = Some "tiralo fuori"; - K.premise_n = Some no; - } - ]; - K.conclude_conclusion = - try Some - (Hashtbl.find ids_to_inner_types id).C2A.annsynthesized - with Not_found -> None - }; - } - in - let id = get_id t in - generate_conversion seed false id t1 ~ids_to_inner_types -in aux ?name t - -and inductive seed name id li ~ids_to_inner_types ~ids_to_inner_sorts = - let aux ?name = acic2content seed ~ids_to_inner_types ~ids_to_inner_sorts in - let module C2A = Cic2acic in - let module K = Content in - let module C = Cic in - match li with - C.AConst (idc,uri,exp_named_subst)::args -> - let uri_str = UriManager.string_of_uri uri in - let suffix = Str.regexp_string "_ind.con" in - let len = String.length uri_str in - let n = (try (Str.search_backward suffix uri_str len) - with Not_found -> -1) in - if n<0 then raise NotApplicable - else - let method_name = - if UriManager.eq uri HelmLibraryObjects.Logic.ex_ind_URI then "Exists" - else if UriManager.eq uri HelmLibraryObjects.Logic.and_ind_URI then "AndInd" - else if UriManager.eq uri HelmLibraryObjects.Logic.false_ind_URI then "FalseInd" - else "ByInduction" in - let prefix = String.sub uri_str 0 n in - let ind_str = (prefix ^ ".ind") in - let ind_uri = UriManager.uri_of_string ind_str in - let inductive_types,noparams = - (let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph ind_uri in - match o with - | Cic.InductiveDefinition (l,_,n,_) -> (l,n) - | _ -> assert false - ) in - let rec split n l = - if n = 0 then ([],l) else - let p,a = split (n-1) (List.tl l) in - ((List.hd l::p),a) in - let params_and_IP,tail_args = split (noparams+1) args in - let constructors = - (match inductive_types with - [(_,_,_,l)] -> l - | _ -> raise NotApplicable) (* don't care for mutual ind *) in - let constructors1 = - let rec clean_up n t = - if n = 0 then t else - (match t with - (label,Cic.Prod (_,_,t)) -> clean_up (n-1) (label,t) - | _ -> assert false) in - List.map (clean_up noparams) constructors in - let no_constructors= List.length constructors in - let args_for_cases, other_args = - split no_constructors tail_args in - let subproofs,other_method_args = - build_subproofs_and_args seed other_args - ~ids_to_inner_types ~ids_to_inner_sorts in - let method_args= - let rec build_method_args = - function - [],_-> [] (* extra args are ignored ???? *) - | (name,ty)::tlc,arg::tla -> - let idarg = get_id arg in - let sortarg = - (try (Hashtbl.find ids_to_inner_sorts idarg) - with Not_found -> `Type (CicUniv.fresh())) in - let hdarg = - if sortarg = `Prop then - let (co,bo) = - let rec bc = - function - Cic.Prod (_,s,t),Cic.ALambda(idl,n,s1,t1) -> - let ce = - build_decl_item - seed idl n s1 ~ids_to_inner_sorts in - if (occur ind_uri s) then - ( match t1 with - Cic.ALambda(id2,n2,s2,t2) -> - let inductive_hyp = - `Hypothesis - { K.dec_name = name_of n2; - K.dec_id = - gen_id declaration_prefix seed; - K.dec_inductive = true; - K.dec_aref = id2; - K.dec_type = s2 - } in - let (context,body) = bc (t,t2) in - (ce::inductive_hyp::context,body) - | _ -> assert false) - else - ( - let (context,body) = bc (t,t1) in - (ce::context,body)) - | _ , t -> ([],aux t) in - bc (ty,arg) in - K.ArgProof - { bo with - K.proof_name = Some name; - K.proof_context = co; - }; - else (K.Term arg) in - hdarg::(build_method_args (tlc,tla)) - | _ -> assert false in - build_method_args (constructors1,args_for_cases) in - { K.proof_name = name; - K.proof_id = gen_id proof_prefix seed; - K.proof_context = []; - K.proof_apply_context = serialize seed subproofs; - K.proof_conclude = - { K.conclude_id = gen_id conclude_prefix seed; - K.conclude_aref = id; - K.conclude_method = method_name; - K.conclude_args = - K.Aux (string_of_int no_constructors) - ::K.Term (C.AAppl(id,((C.AConst(idc,uri,exp_named_subst))::params_and_IP))) - ::method_args@other_method_args; - K.conclude_conclusion = - try Some - (Hashtbl.find ids_to_inner_types id).C2A.annsynthesized - with Not_found -> None - } - } - | _ -> raise NotApplicable - -and rewrite seed name id li ~ids_to_inner_types ~ids_to_inner_sorts = - let aux ?name = acic2content seed ~ids_to_inner_types ~ids_to_inner_sorts in - let module C2A = Cic2acic in - let module K = Content in - let module C = Cic in - match li with - C.AConst (sid,uri,exp_named_subst)::args -> - if UriManager.eq uri HelmLibraryObjects.Logic.eq_ind_URI or - UriManager.eq uri HelmLibraryObjects.Logic.eq_ind_r_URI then - let subproofs,arg = - (match - build_subproofs_and_args - seed ~ids_to_inner_types ~ids_to_inner_sorts [List.nth args 3] - with - l,[p] -> l,p - | _,_ -> assert false) in - let method_args = - let rec ma_aux n = function - [] -> [] - | a::tl -> - let hd = - if n = 0 then arg - else - let aid = get_id a in - let asort = (try (Hashtbl.find ids_to_inner_sorts aid) - with Not_found -> `Type (CicUniv.fresh())) in - if asort = `Prop then - K.ArgProof (aux a) - else K.Term a in - hd::(ma_aux (n-1) tl) in - (ma_aux 3 args) in - { K.proof_name = name; - K.proof_id = gen_id proof_prefix seed; - K.proof_context = []; - K.proof_apply_context = serialize seed subproofs; - K.proof_conclude = - { K.conclude_id = gen_id conclude_prefix seed; - K.conclude_aref = id; - K.conclude_method = "Rewrite"; - K.conclude_args = - K.Term (C.AConst (sid,uri,exp_named_subst))::method_args; - K.conclude_conclusion = - try Some - (Hashtbl.find ids_to_inner_types id).C2A.annsynthesized - with Not_found -> None - } - } - else raise NotApplicable - | _ -> raise NotApplicable -;; - -let map_conjectures - seed ~ids_to_inner_sorts ~ids_to_inner_types (id,n,context,ty) -= - let module K = Content in - let context' = - List.map - (function - (id,None) -> None - | (id,Some (name,Cic.ADecl t)) -> - Some - (* We should call build_decl_item, but we have not computed *) - (* the inner-types ==> we always produce a declaration *) - (`Declaration - { K.dec_name = name_of name; - K.dec_id = gen_id declaration_prefix seed; - K.dec_inductive = false; - K.dec_aref = get_id t; - K.dec_type = t - }) - | (id,Some (name,Cic.ADef t)) -> - Some - (* We should call build_def_item, but we have not computed *) - (* the inner-types ==> we always produce a declaration *) - (`Definition - { K.def_name = name_of name; - K.def_id = gen_id definition_prefix seed; - K.def_aref = get_id t; - K.def_term = t - }) - ) context - in - (id,n,context',ty) -;; - -(* map_sequent is similar to map_conjectures, but the for the hid -of the hypothesis, which are preserved instead of generating -fresh ones. We shall have to adopt a uniform policy, soon or later *) - -let map_sequent ((id,n,context,ty):Cic.annconjecture) = - let module K = Content in - let context' = - List.map - (function - (id,None) -> None - | (id,Some (name,Cic.ADecl t)) -> - Some - (* We should call build_decl_item, but we have not computed *) - (* the inner-types ==> we always produce a declaration *) - (`Declaration - { K.dec_name = name_of name; - K.dec_id = id; - K.dec_inductive = false; - K.dec_aref = get_id t; - K.dec_type = t - }) - | (id,Some (name,Cic.ADef t)) -> - Some - (* We should call build_def_item, but we have not computed *) - (* the inner-types ==> we always produce a declaration *) - (`Definition - { K.def_name = name_of name; - K.def_id = id; - K.def_aref = get_id t; - K.def_term = t - }) - ) context - in - (id,n,context',ty) -;; - -let rec annobj2content ~ids_to_inner_sorts ~ids_to_inner_types = - let module C = Cic in - let module K = Content in - let module C2A = Cic2acic in - let seed = ref 0 in - function - C.ACurrentProof (_,_,n,conjectures,bo,ty,params,_) -> - (gen_id object_prefix seed, params, - Some - (List.map - (map_conjectures seed ~ids_to_inner_sorts ~ids_to_inner_types) - conjectures), - `Def (K.Const,ty, - build_def_item seed (get_id bo) (C.Name n) bo - ~ids_to_inner_sorts ~ids_to_inner_types)) - | C.AConstant (_,_,n,Some bo,ty,params,_) -> - (gen_id object_prefix seed, params, None, - `Def (K.Const,ty, - build_def_item seed (get_id bo) (C.Name n) bo - ~ids_to_inner_sorts ~ids_to_inner_types)) - | C.AConstant (id,_,n,None,ty,params,_) -> - (gen_id object_prefix seed, params, None, - `Decl (K.Const, - build_decl_item seed id (C.Name n) ty - ~ids_to_inner_sorts)) - | C.AVariable (_,n,Some bo,ty,params,_) -> - (gen_id object_prefix seed, params, None, - `Def (K.Var,ty, - build_def_item seed (get_id bo) (C.Name n) bo - ~ids_to_inner_sorts ~ids_to_inner_types)) - | C.AVariable (id,n,None,ty,params,_) -> - (gen_id object_prefix seed, params, None, - `Decl (K.Var, - build_decl_item seed id (C.Name n) ty - ~ids_to_inner_sorts)) - | C.AInductiveDefinition (id,l,params,nparams,_) -> - (gen_id object_prefix seed, params, None, - `Joint - { K.joint_id = gen_id joint_prefix seed; - K.joint_kind = `Inductive nparams; - K.joint_defs = List.map (build_inductive seed) l - }) - -and - build_inductive seed = - let module K = Content in - fun (_,n,b,ty,l) -> - `Inductive - { K.inductive_id = gen_id inductive_prefix seed; - K.inductive_name = n; - K.inductive_kind = b; - K.inductive_type = ty; - K.inductive_constructors = build_constructors seed l - } - -and - build_constructors seed l = - let module K = Content in - List.map - (fun (n,t) -> - { K.dec_name = Some n; - K.dec_id = gen_id declaration_prefix seed; - K.dec_inductive = false; - K.dec_aref = ""; - K.dec_type = t - }) l -;; - -(* -and 'term cinductiveType = - id * string * bool * 'term * (* typename, inductive, arity *) - 'term cconstructor list (* constructors *) - -and 'term cconstructor = - string * 'term -*) - - diff --git a/helm/ocaml/cic_omdoc/cic2content.mli b/helm/ocaml/cic_omdoc/cic2content.mli deleted file mode 100644 index e1dfb82de..000000000 --- a/helm/ocaml/cic_omdoc/cic2content.mli +++ /dev/null @@ -1,33 +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/. - *) - -val annobj2content : - ids_to_inner_sorts:(Cic.id, Cic2acic.sort_kind) Hashtbl.t -> - ids_to_inner_types:(Cic.id, Cic2acic.anntypes) Hashtbl.t -> - Cic.annobj -> - Cic.annterm Content.cobj - -val map_sequent : - Cic.annconjecture -> Cic.annterm Content.conjecture diff --git a/helm/ocaml/cic_omdoc/content.ml b/helm/ocaml/cic_omdoc/content.ml deleted file mode 100644 index 9687e53fc..000000000 --- a/helm/ocaml/cic_omdoc/content.ml +++ /dev/null @@ -1,167 +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 *) -(* *) -(* Andrea Asperti *) -(* 16/6/2003 *) -(* *) -(**************************************************************************) - -type id = string;; -type joint_recursion_kind = - [ `Recursive of int list - | `CoRecursive - | `Inductive of int (* paramsno *) - | `CoInductive of int (* paramsno *) - ] -;; - -type var_or_const = Var | Const;; - -type 'term declaration = - { dec_name : string option; - dec_id : id ; - dec_inductive : bool; - dec_aref : string; - dec_type : 'term - } -;; - -type 'term definition = - { def_name : string option; - def_id : id ; - def_aref : string ; - def_term : 'term - } -;; - -type 'term inductive = - { inductive_id : id ; - inductive_name : string; - inductive_kind : bool; - inductive_type : 'term; - inductive_constructors : 'term declaration list - } -;; - -type 'term decl_context_element = - [ `Declaration of 'term declaration - | `Hypothesis of 'term declaration - ] -;; - -type ('term,'proof) def_context_element = - [ `Proof of 'proof - | `Definition of 'term definition - ] -;; - -type ('term,'proof) in_joint_context_element = - [ `Inductive of 'term inductive - | 'term decl_context_element - | ('term,'proof) def_context_element - ] -;; - -type ('term,'proof) joint = - { joint_id : id ; - joint_kind : joint_recursion_kind ; - joint_defs : ('term,'proof) in_joint_context_element list - } -;; - -type ('term,'proof) joint_context_element = - [ `Joint of ('term,'proof) joint ] -;; - -type 'term proof = - { proof_name : string option; - proof_id : id ; - proof_context : 'term in_proof_context_element list ; - proof_apply_context: 'term proof list; - proof_conclude : 'term conclude_item - } - -and 'term in_proof_context_element = - [ 'term decl_context_element - | ('term,'term proof) def_context_element - | ('term,'term proof) joint_context_element - ] - -and 'term conclude_item = - { conclude_id : id; - conclude_aref : string; - conclude_method : string; - conclude_args : ('term arg) list ; - conclude_conclusion : 'term option - } - -and 'term arg = - Aux of string - | Premise of premise - | Lemma of lemma - | Term of 'term - | ArgProof of 'term proof - | ArgMethod of string (* ???? *) - -and premise = - { premise_id: id; - premise_xref : string ; - premise_binder : string option; - premise_n : int option; - } - -and lemma = - { lemma_id: id; - lemma_name: string; - lemma_uri: string - } - -;; - -type 'term conjecture = id * int * 'term context * 'term - -and 'term context = 'term hypothesis list - -and 'term hypothesis = - ['term decl_context_element | ('term,'term proof) def_context_element ] option -;; - -type 'term in_object_context_element = - [ `Decl of var_or_const * 'term decl_context_element - | `Def of var_or_const * 'term * ('term,'term proof) def_context_element - | ('term,'term proof) joint_context_element - ] -;; - -type 'term cobj = - id * (* id *) - UriManager.uri list * (* params *) - 'term conjecture list option * (* optional metasenv *) - 'term in_object_context_element (* actual object *) -;; diff --git a/helm/ocaml/cic_omdoc/content.mli b/helm/ocaml/cic_omdoc/content.mli deleted file mode 100644 index c1122b8f2..000000000 --- a/helm/ocaml/cic_omdoc/content.mli +++ /dev/null @@ -1,157 +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/. - *) - -type id = string;; -type joint_recursion_kind = - [ `Recursive of int list (* decreasing arguments *) - | `CoRecursive - | `Inductive of int (* paramsno *) - | `CoInductive of int (* paramsno *) - ] -;; - -type var_or_const = Var | Const;; - -type 'term declaration = - { dec_name : string option; - dec_id : id ; - dec_inductive : bool; - dec_aref : string; - dec_type : 'term - } -;; - -type 'term definition = - { def_name : string option; - def_id : id ; - def_aref : string ; - def_term : 'term - } -;; - -type 'term inductive = - { inductive_id : id ; - inductive_name : string; - inductive_kind : bool; - inductive_type : 'term; - inductive_constructors : 'term declaration list - } -;; - -type 'term decl_context_element = - [ `Declaration of 'term declaration - | `Hypothesis of 'term declaration - ] -;; - -type ('term,'proof) def_context_element = - [ `Proof of 'proof - | `Definition of 'term definition - ] -;; - -type ('term,'proof) in_joint_context_element = - [ `Inductive of 'term inductive - | 'term decl_context_element - | ('term,'proof) def_context_element - ] -;; - -type ('term,'proof) joint = - { joint_id : id ; - joint_kind : joint_recursion_kind ; - joint_defs : ('term,'proof) in_joint_context_element list - } -;; - -type ('term,'proof) joint_context_element = - [ `Joint of ('term,'proof) joint ] -;; - -type 'term proof = - { proof_name : string option; - proof_id : id ; - proof_context : 'term in_proof_context_element list ; - proof_apply_context: 'term proof list; - proof_conclude : 'term conclude_item - } - -and 'term in_proof_context_element = - [ 'term decl_context_element - | ('term,'term proof) def_context_element - | ('term,'term proof) joint_context_element - ] - -and 'term conclude_item = - { conclude_id : id; - conclude_aref : string; - conclude_method : string; - conclude_args : ('term arg) list ; - conclude_conclusion : 'term option - } - -and 'term arg = - Aux of string - | Premise of premise - | Lemma of lemma - | Term of 'term - | ArgProof of 'term proof - | ArgMethod of string (* ???? *) - -and premise = - { premise_id: id; - premise_xref : string ; - premise_binder : string option; - premise_n : int option; - } - -and lemma = - { lemma_id: id; - lemma_name : string; - lemma_uri: string - } -;; - -type 'term conjecture = id * int * 'term context * 'term - -and 'term context = 'term hypothesis list - -and 'term hypothesis = - ['term decl_context_element | ('term,'term proof) def_context_element ] option -;; - -type 'term in_object_context_element = - [ `Decl of var_or_const * 'term decl_context_element - | `Def of var_or_const * 'term * ('term,'term proof) def_context_element - | ('term,'term proof) joint_context_element - ] -;; - -type 'term cobj = - id * (* id *) - UriManager.uri list * (* params *) - 'term conjecture list option * (* optional metasenv *) - 'term in_object_context_element (* actual object *) -;; diff --git a/helm/ocaml/cic_omdoc/content2cic.ml b/helm/ocaml/cic_omdoc/content2cic.ml deleted file mode 100644 index 339492d19..000000000 --- a/helm/ocaml/cic_omdoc/content2cic.ml +++ /dev/null @@ -1,268 +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 *) -(* *) -(* Andrea Asperti *) -(* 17/06/2003 *) -(* *) -(***************************************************************************) - -exception TO_DO;; - -let proof2cic deannotate p = - let rec proof2cic premise_env p = - let module C = Cic in - let module Con = Content in - let rec extend_premise_env current_env = - function - [] -> current_env - | p::atl -> - extend_premise_env - ((p.Con.proof_id,(proof2cic current_env p))::current_env) atl in - let new_premise_env = extend_premise_env premise_env p.Con.proof_apply_context in - let body = conclude2cic new_premise_env p.Con.proof_conclude in - context2cic premise_env p.Con.proof_context body - - and context2cic premise_env context body = - List.fold_right (ce2cic premise_env) context body - - and ce2cic premise_env ce target = - let module C = Cic in - let module Con = Content in - match ce with - `Declaration d -> - (match d.Con.dec_name with - Some s -> - C.Lambda (C.Name s, deannotate d.Con.dec_type, target) - | None -> - C.Lambda (C.Anonymous, deannotate d.Con.dec_type, target)) - | `Hypothesis h -> - (match h.Con.dec_name with - Some s -> - C.Lambda (C.Name s, deannotate h.Con.dec_type, target) - | None -> - C.Lambda (C.Anonymous, deannotate h.Con.dec_type, target)) - | `Proof p -> - (match p.Con.proof_name with - Some s -> - C.LetIn (C.Name s, proof2cic premise_env p, target) - | None -> - C.LetIn (C.Anonymous, proof2cic premise_env p, target)) - | `Definition d -> - (match d.Con.def_name with - Some s -> - C.LetIn (C.Name s, proof2cic premise_env p, target) - | None -> - C.LetIn (C.Anonymous, proof2cic premise_env p, target)) - | `Joint {Con.joint_kind = kind; Con.joint_defs = defs} -> - (match target with - C.Rel n -> - (match kind with - `Recursive l -> - let funs = - List.map2 - (fun n bo -> - match bo with - `Proof bo -> - (match - bo.Con.proof_conclude.Con.conclude_conclusion, - bo.Con.proof_name - with - Some ty, Some name -> - (name,n,deannotate ty, - proof2cic premise_env bo) - | _,_ -> assert false) - | _ -> assert false) - l defs in - C.Fix (n, funs) - | `CoRecursive -> - let funs = - List.map - (function bo -> - match bo with - `Proof bo -> - (match - bo.Con.proof_conclude.Con.conclude_conclusion, - bo.Con.proof_name - with - Some ty, Some name -> - (name,deannotate ty, - proof2cic premise_env bo) - | _,_ -> assert false) - | _ -> assert false) - defs in - C.CoFix (n, funs) - | _ -> (* no inductive types in local contexts *) - assert false) - | _ -> assert false) - - and conclude2cic premise_env conclude = - let module C = Cic in - let module Con = Content in - if conclude.Con.conclude_method = "TD_Conversion" then - (match conclude.Con.conclude_args with - [Con.ArgProof p] -> proof2cic [] p (* empty! *) - | _ -> prerr_endline "1"; assert false) - else if conclude.Con.conclude_method = "BU_Conversion" then - (match conclude.Con.conclude_args with - [Con.Premise prem] -> - (try List.assoc prem.Con.premise_xref premise_env - with Not_found -> - prerr_endline - ("Not_found in BU_Conversion: " ^ prem.Con.premise_xref); - raise Not_found) - | _ -> prerr_endline "2"; assert false) - else if conclude.Con.conclude_method = "Exact" then - (match conclude.Con.conclude_args with - [Con.Term t] -> deannotate t - | [Con.Premise prem] -> - (match prem.Con.premise_n with - None -> assert false - | Some n -> C.Rel n) - | _ -> prerr_endline "3"; assert false) - else if conclude.Con.conclude_method = "Intros+LetTac" then - (match conclude.Con.conclude_args with - [Con.ArgProof p] -> proof2cic [] p (* empty! *) - | _ -> prerr_endline "4"; assert false) - else if (conclude.Con.conclude_method = "ByInduction" || - conclude.Con.conclude_method = "AndInd" || - conclude.Con.conclude_method = "Exists" || - conclude.Con.conclude_method = "FalseInd") then - (match (List.tl conclude.Con.conclude_args) with - Con.Term (C.AAppl ( - id,((C.AConst(idc,uri,exp_named_subst))::params_and_IP)))::args -> - let subst = - List.map (fun (u,t) -> (u, deannotate t)) exp_named_subst in - let cargs = args2cic premise_env args in - let cparams_and_IP = List.map deannotate params_and_IP in - C.Appl (C.Const(uri,subst)::cparams_and_IP@cargs) - | _ -> prerr_endline "5"; assert false) - else if (conclude.Con.conclude_method = "Rewrite") then - (match conclude.Con.conclude_args with - Con.Term (C.AConst (sid,uri,exp_named_subst))::args -> - let subst = - List.map (fun (u,t) -> (u, deannotate t)) exp_named_subst in - let cargs = args2cic premise_env args in - C.Appl (C.Const(uri,subst)::cargs) - | _ -> prerr_endline "6"; assert false) - else if (conclude.Con.conclude_method = "Case") then - (match conclude.Con.conclude_args with - Con.Aux(uri)::Con.Aux(notype)::Con.Term(ty)::Con.Premise(prem)::patterns -> - C.MutCase - (UriManager.uri_of_string uri, - int_of_string notype, deannotate ty, - List.assoc prem.Con.premise_xref premise_env, - List.map - (function - Con.ArgProof p -> proof2cic [] p - | _ -> prerr_endline "7a"; assert false) patterns) - | Con.Aux(uri)::Con.Aux(notype)::Con.Term(ty)::Con.Term(te)::patterns -> C.MutCase - (UriManager.uri_of_string uri, - int_of_string notype, deannotate ty, deannotate te, - List.map - (function - (Con.ArgProof p) -> proof2cic [] p - | _ -> prerr_endline "7a"; assert false) patterns) - | _ -> (prerr_endline "7"; assert false)) - else if (conclude.Con.conclude_method = "Apply") then - let cargs = (args2cic premise_env conclude.Con.conclude_args) in - C.Appl cargs - else (prerr_endline "8"; assert false) - - and args2cic premise_env l = - List.map (arg2cic premise_env) l - - and arg2cic premise_env = - let module C = Cic in - let module Con = Content in - function - Con.Aux n -> prerr_endline "8"; assert false - | Con.Premise prem -> - (match prem.Con.premise_n with - Some n -> C.Rel n - | None -> - (try List.assoc prem.Con.premise_xref premise_env - with Not_found -> - prerr_endline ("Not_found in arg2cic: premise " ^ (match prem.Con.premise_binder with None -> "previous" | Some p -> p) ^ ", xref=" ^ prem.Con.premise_xref); - raise Not_found)) - | Con.Lemma lemma -> - CicUtil.term_of_uri (UriManager.uri_of_string lemma.Con.lemma_uri) - | Con.Term t -> deannotate t - | Con.ArgProof p -> proof2cic [] p (* empty! *) - | Con.ArgMethod s -> raise TO_DO - -in proof2cic [] p -;; - -exception ToDo;; - -let cobj2obj deannotate (id,params,metasenv,obj) = - let module K = Content in - match obj with - `Def (Content.Const,ty,`Proof bo) -> - (match metasenv with - None -> - Cic.Constant - (id, Some (proof2cic deannotate bo), deannotate ty, params, []) - | Some metasenv' -> - let metasenv'' = - List.map - (function (_,i,canonical_context,term) -> - let canonical_context' = - List.map - (function - None -> None - | Some (`Declaration d) - | Some (`Hypothesis d) -> - (match d with - {K.dec_name = Some n ; K.dec_type = t} -> - Some (Cic.Name n, Cic.Decl (deannotate t)) - | _ -> assert false) - | Some (`Definition d) -> - (match d with - {K.def_name = Some n ; K.def_term = t} -> - Some (Cic.Name n, Cic.Def ((deannotate t),None)) - | _ -> assert false) - | Some (`Proof d) -> - (match d with - {K.proof_name = Some n } -> - Some (Cic.Name n, - Cic.Def ((proof2cic deannotate d),None)) - | _ -> assert false) - ) canonical_context - in - (i,canonical_context',deannotate term) - ) metasenv' - in - Cic.CurrentProof - (id, metasenv'', proof2cic deannotate bo, deannotate ty, params, - [])) - | _ -> raise ToDo -;; - -let cobj2obj = cobj2obj Deannotate.deannotate_term;; diff --git a/helm/ocaml/cic_omdoc/content2cic.mli b/helm/ocaml/cic_omdoc/content2cic.mli deleted file mode 100644 index 9bb6509cc..000000000 --- a/helm/ocaml/cic_omdoc/content2cic.mli +++ /dev/null @@ -1,35 +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 *) -(* *) -(* Andrea Asperti *) -(* 27/6/2003 *) -(* *) -(**************************************************************************) - -val cobj2obj : Cic.annterm Content.cobj -> Cic.obj diff --git a/helm/ocaml/cic_omdoc/contentPp.ml b/helm/ocaml/cic_omdoc/contentPp.ml deleted file mode 100644 index 3967c6216..000000000 --- a/helm/ocaml/cic_omdoc/contentPp.ml +++ /dev/null @@ -1,156 +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 *) -(* *) -(* Andrea Asperti *) -(* 17/06/2003 *) -(* *) -(***************************************************************************) - -exception ContentPpInternalError;; -exception NotEnoughElements;; -exception TO_DO - -(* Utility functions *) - - -let string_of_name = - function - Some s -> s - | None -> "_" -;; - -(* get_nth l n returns the nth element of the list l if it exists or *) -(* raises NotEnoughElements if l has less than n elements *) -let rec get_nth l n = - match (n,l) with - (1, he::_) -> he - | (n, he::tail) when n > 1 -> get_nth tail (n-1) - | (_,_) -> raise NotEnoughElements -;; - -let rec blanks n = - if n = 0 then "" - else (" " ^ (blanks (n-1)));; - -let rec pproof (p: Cic.annterm Content.proof) indent = - let module Con = Content in - let new_indent = - (match p.Con.proof_name with - Some s -> - prerr_endline - ((blanks indent) ^ "(" ^ s ^ ")"); flush stderr ;(indent + 1) - | None ->indent) in - let new_indent1 = - if (p.Con.proof_context = []) then new_indent - else - (pcontext p.Con.proof_context new_indent; (new_indent + 1)) in - papply_context p.Con.proof_apply_context new_indent1; - pconclude p.Con.proof_conclude new_indent1; - -and pcontext c indent = - List.iter (pcontext_element indent) c - -and pcontext_element indent = - let module Con = Content in - function - `Declaration d -> - (match d.Con.dec_name with - Some s -> - prerr_endline - ((blanks indent) - ^ "Assume " ^ s ^ " : " - ^ (CicPp.ppterm (Deannotate.deannotate_term d.Con.dec_type))); - flush stderr - | None -> - prerr_endline ((blanks indent) ^ "NO NAME!!")) - | `Hypothesis h -> - (match h.Con.dec_name with - Some s -> - prerr_endline - ((blanks indent) - ^ "Suppose " ^ s ^ " : " - ^ (CicPp.ppterm (Deannotate.deannotate_term h.Con.dec_type))); - flush stderr - | None -> - prerr_endline ((blanks indent) ^ "NO NAME!!")) - | `Proof p -> pproof p indent - | `Definition d -> - (match d.Con.def_name with - Some s -> - prerr_endline - ((blanks indent) ^ "Let " ^ s ^ " = " - ^ (CicPp.ppterm (Deannotate.deannotate_term d.Con.def_term))); - flush stderr - | None -> - prerr_endline ((blanks indent) ^ "NO NAME!!")) - | `Joint ho -> - prerr_endline ((blanks indent) ^ "Joint Def"); - flush stderr - -and papply_context ac indent = - List.iter(function p -> (pproof p indent)) ac - -and pconclude concl indent = - let module Con = Content in - prerr_endline ((blanks indent) ^ "Apply method " ^ concl.Con.conclude_method ^ " to");flush stderr; - pargs concl.Con.conclude_args indent; - match concl.Con.conclude_conclusion with - None -> prerr_endline ((blanks indent) ^"No conclude conclusion");flush stderr - | Some t -> prerr_endline ((blanks indent) ^ "conclude" ^ concl.Con.conclude_method ^ (CicPp.ppterm (Deannotate.deannotate_term t)));flush stderr - -and pargs args indent = - List.iter (parg indent) args - -and parg indent = - let module Con = Content in - function - Con.Aux n -> prerr_endline ((blanks (indent+1)) ^ n) - | Con.Premise prem -> prerr_endline ((blanks (indent+1)) ^ "Premise") - | Con.Lemma lemma -> prerr_endline ((blanks (indent+1)) ^ "Lemma") - | Con.Term t -> - prerr_endline ((blanks (indent+1)) ^ (CicPp.ppterm (Deannotate.deannotate_term t))) - | Con.ArgProof p -> pproof p (indent+1) - | Con.ArgMethod s -> prerr_endline ((blanks (indent+1)) ^ "A Method !!!") -;; - -let print_proof p = pproof p 0;; - -let print_obj (_,_,_,obj) = - match obj with - `Decl (_,decl) -> - pcontext_element 0 (decl:> Cic.annterm Content.in_proof_context_element) - | `Def (_,_,def) -> - pcontext_element 0 (def:> Cic.annterm Content.in_proof_context_element) - | `Joint _ as jo -> pcontext_element 0 jo -;; - - - - - diff --git a/helm/ocaml/cic_omdoc/contentPp.mli b/helm/ocaml/cic_omdoc/contentPp.mli deleted file mode 100644 index a160ab1ff..000000000 --- a/helm/ocaml/cic_omdoc/contentPp.mli +++ /dev/null @@ -1,30 +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/. - *) - -val print_proof: Cic.annterm Content.proof -> unit - -val print_obj: Cic.annterm Content.cobj -> unit - -val parg: int -> Cic.annterm Content.arg ->unit diff --git a/helm/ocaml/cic_omdoc/doubleTypeInference.ml b/helm/ocaml/cic_omdoc/doubleTypeInference.ml deleted file mode 100644 index 692872439..000000000 --- a/helm/ocaml/cic_omdoc/doubleTypeInference.ml +++ /dev/null @@ -1,752 +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 Impossible of int;; -exception NotWellTyped of string;; -exception WrongUriToConstant of string;; -exception WrongUriToVariable of string;; -exception WrongUriToMutualInductiveDefinitions of string;; -exception ListTooShort;; -exception RelToHiddenHypothesis;; - -let syntactic_equality_add_time = ref 0.0;; -let type_of_aux'_add_time = ref 0.0;; -let number_new_type_of_aux'_double_work = ref 0;; -let number_new_type_of_aux' = ref 0;; -let number_new_type_of_aux'_prop = ref 0;; - -let double_work = ref 0;; - -let xxx_type_of_aux' m c t = - let t1 = Sys.time () in - let res,_ = CicTypeChecker.type_of_aux' m c t CicUniv.empty_ugraph in - let t2 = Sys.time () in - type_of_aux'_add_time := !type_of_aux'_add_time +. t2 -. t1 ; - res -;; - -type types = {synthesized : Cic.term ; expected : Cic.term option};; - -(* does_not_occur n te *) -(* returns [true] if [Rel n] does not occur in [te] *) -let rec does_not_occur n = - let module C = Cic in - function - C.Rel m when m = n -> false - | C.Rel _ - | C.Meta _ - | C.Sort _ - | C.Implicit _ -> true - | C.Cast (te,ty) -> - does_not_occur n te && does_not_occur n ty - | C.Prod (name,so,dest) -> - does_not_occur n so && - does_not_occur (n + 1) dest - | C.Lambda (name,so,dest) -> - does_not_occur n so && - does_not_occur (n + 1) dest - | C.LetIn (name,so,dest) -> - does_not_occur n so && - does_not_occur (n + 1) dest - | C.Appl l -> - List.fold_right (fun x i -> i && does_not_occur n x) l true - | C.Var (_,exp_named_subst) - | C.Const (_,exp_named_subst) - | C.MutInd (_,_,exp_named_subst) - | C.MutConstruct (_,_,_,exp_named_subst) -> - List.fold_right (fun (_,x) i -> i && does_not_occur n x) - exp_named_subst true - | C.MutCase (_,_,out,te,pl) -> - does_not_occur n out && does_not_occur n te && - List.fold_right (fun x i -> i && does_not_occur n x) pl true - | C.Fix (_,fl) -> - let len = List.length fl in - let n_plus_len = n + len in - let tys = - List.map (fun (n,_,ty,_) -> Some (C.Name n,(Cic.Decl ty))) fl - in - List.fold_right - (fun (_,_,ty,bo) i -> - i && does_not_occur n ty && - does_not_occur n_plus_len bo - ) fl true - | C.CoFix (_,fl) -> - let len = List.length fl in - let n_plus_len = n + len in - let tys = - List.map (fun (n,ty,_) -> Some (C.Name n,(Cic.Decl ty))) fl - in - List.fold_right - (fun (_,ty,bo) i -> - i && does_not_occur n ty && - does_not_occur n_plus_len bo - ) fl true -;; - -let rec beta_reduce = - let module S = CicSubstitution in - let module C = Cic in - function - C.Rel _ as t -> t - | C.Var (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (function (i,t) -> i, beta_reduce t) exp_named_subst - in - C.Var (uri,exp_named_subst) - | C.Meta (n,l) -> - C.Meta (n, - List.map - (function None -> None | Some t -> Some (beta_reduce t)) l - ) - | C.Sort _ as t -> t - | C.Implicit _ -> assert false - | C.Cast (te,ty) -> - C.Cast (beta_reduce te, beta_reduce ty) - | C.Prod (n,s,t) -> - C.Prod (n, beta_reduce s, beta_reduce t) - | C.Lambda (n,s,t) -> - C.Lambda (n, beta_reduce s, beta_reduce t) - | C.LetIn (n,s,t) -> - C.LetIn (n, beta_reduce s, beta_reduce t) - | C.Appl ((C.Lambda (name,s,t))::he::tl) -> - let he' = S.subst he t in - if tl = [] then - beta_reduce he' - else - (match he' with - C.Appl l -> beta_reduce (C.Appl (l@tl)) - | _ -> beta_reduce (C.Appl (he'::tl))) - | C.Appl l -> - C.Appl (List.map beta_reduce l) - | C.Const (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (function (i,t) -> i, beta_reduce t) exp_named_subst - in - C.Const (uri,exp_named_subst') - | C.MutInd (uri,i,exp_named_subst) -> - let exp_named_subst' = - List.map (function (i,t) -> i, beta_reduce t) exp_named_subst - in - C.MutInd (uri,i,exp_named_subst') - | C.MutConstruct (uri,i,j,exp_named_subst) -> - let exp_named_subst' = - List.map (function (i,t) -> i, beta_reduce t) exp_named_subst - in - C.MutConstruct (uri,i,j,exp_named_subst') - | C.MutCase (sp,i,outt,t,pl) -> - C.MutCase (sp,i,beta_reduce outt,beta_reduce t, - List.map beta_reduce pl) - | C.Fix (i,fl) -> - let fl' = - List.map - (function (name,i,ty,bo) -> - name,i,beta_reduce ty,beta_reduce bo - ) fl - in - C.Fix (i,fl') - | C.CoFix (i,fl) -> - let fl' = - List.map - (function (name,ty,bo) -> - name,beta_reduce ty,beta_reduce bo - ) fl - in - C.CoFix (i,fl') -;; - -(* syntactic_equality up to the *) -(* distinction between fake dependent products *) -(* and non-dependent products, alfa-conversion *) -(*CSC: must alfa-conversion be considered or not? *) -let syntactic_equality t t' = - let module C = Cic in - let rec syntactic_equality t t' = - if t = t' then true - else - match t, t' with - C.Var (uri,exp_named_subst), C.Var (uri',exp_named_subst') -> - UriManager.eq uri uri' && - syntactic_equality_exp_named_subst exp_named_subst exp_named_subst' - | C.Cast (te,ty), C.Cast (te',ty') -> - syntactic_equality te te' && - syntactic_equality ty ty' - | C.Prod (_,s,t), C.Prod (_,s',t') -> - syntactic_equality s s' && - syntactic_equality t t' - | C.Lambda (_,s,t), C.Lambda (_,s',t') -> - syntactic_equality s s' && - syntactic_equality t t' - | C.LetIn (_,s,t), C.LetIn(_,s',t') -> - syntactic_equality s s' && - syntactic_equality t t' - | C.Appl l, C.Appl l' -> - List.fold_left2 (fun b t1 t2 -> b && syntactic_equality t1 t2) true l l' - | C.Const (uri,exp_named_subst), C.Const (uri',exp_named_subst') -> - UriManager.eq uri uri' && - syntactic_equality_exp_named_subst exp_named_subst exp_named_subst' - | C.MutInd (uri,i,exp_named_subst), C.MutInd (uri',i',exp_named_subst') -> - UriManager.eq uri uri' && i = i' && - syntactic_equality_exp_named_subst exp_named_subst exp_named_subst' - | C.MutConstruct (uri,i,j,exp_named_subst), - C.MutConstruct (uri',i',j',exp_named_subst') -> - UriManager.eq uri uri' && i = i' && j = j' && - syntactic_equality_exp_named_subst exp_named_subst exp_named_subst' - | C.MutCase (sp,i,outt,t,pl), C.MutCase (sp',i',outt',t',pl') -> - UriManager.eq sp sp' && i = i' && - syntactic_equality outt outt' && - syntactic_equality t t' && - List.fold_left2 - (fun b t1 t2 -> b && syntactic_equality t1 t2) true pl pl' - | C.Fix (i,fl), C.Fix (i',fl') -> - i = i' && - List.fold_left2 - (fun b (_,i,ty,bo) (_,i',ty',bo') -> - b && i = i' && - syntactic_equality ty ty' && - syntactic_equality bo bo') true fl fl' - | C.CoFix (i,fl), C.CoFix (i',fl') -> - i = i' && - List.fold_left2 - (fun b (_,ty,bo) (_,ty',bo') -> - b && - syntactic_equality ty ty' && - syntactic_equality bo bo') true fl fl' - | _, _ -> false (* we already know that t != t' *) - and syntactic_equality_exp_named_subst exp_named_subst1 exp_named_subst2 = - List.fold_left2 - (fun b (_,t1) (_,t2) -> b && syntactic_equality t1 t2) true - exp_named_subst1 exp_named_subst2 - in - try - syntactic_equality t t' - with - _ -> false -;; - -let xxx_syntactic_equality t t' = - let t1 = Sys.time () in - let res = syntactic_equality t t' in - let t2 = Sys.time () in - syntactic_equality_add_time := !syntactic_equality_add_time +. t2 -. t1 ; - res -;; - - -let rec split l n = - match (l,n) with - (l,0) -> ([], l) - | (he::tl, n) -> let (l1,l2) = split tl (n-1) in (he::l1,l2) - | (_,_) -> raise ListTooShort -;; - -let type_of_constant uri = - let module C = Cic in - let module R = CicReduction in - let module U = UriManager in - let cobj = - match CicEnvironment.is_type_checked CicUniv.empty_ugraph uri with - CicEnvironment.CheckedObj (cobj,_) -> cobj - | CicEnvironment.UncheckedObj uobj -> - raise (NotWellTyped "Reference to an unchecked constant") - in - match cobj with - C.Constant (_,_,ty,_,_) -> ty - | C.CurrentProof (_,_,_,ty,_,_) -> ty - | _ -> raise (WrongUriToConstant (U.string_of_uri uri)) -;; - -let type_of_variable uri = - let module C = Cic in - let module R = CicReduction in - let module U = UriManager in - match CicEnvironment.is_type_checked CicUniv.empty_ugraph uri with - CicEnvironment.CheckedObj ((C.Variable (_,_,ty,_,_)),_) -> ty - | CicEnvironment.UncheckedObj (C.Variable _) -> - raise (NotWellTyped "Reference to an unchecked variable") - | _ -> raise (WrongUriToVariable (UriManager.string_of_uri uri)) -;; - -let type_of_mutual_inductive_defs uri i = - let module C = Cic in - let module R = CicReduction in - let module U = UriManager in - let cobj = - match CicEnvironment.is_type_checked CicUniv.empty_ugraph uri with - CicEnvironment.CheckedObj (cobj,_) -> cobj - | CicEnvironment.UncheckedObj uobj -> - raise (NotWellTyped "Reference to an unchecked inductive type") - in - match cobj with - C.InductiveDefinition (dl,_,_,_) -> - let (_,_,arity,_) = List.nth dl i in - arity - | _ -> raise (WrongUriToMutualInductiveDefinitions (U.string_of_uri uri)) -;; - -let type_of_mutual_inductive_constr uri i j = - let module C = Cic in - let module R = CicReduction in - let module U = UriManager in - let cobj = - match CicEnvironment.is_type_checked CicUniv.empty_ugraph uri with - CicEnvironment.CheckedObj (cobj,_) -> cobj - | CicEnvironment.UncheckedObj uobj -> - raise (NotWellTyped "Reference to an unchecked constructor") - in - match cobj with - C.InductiveDefinition (dl,_,_,_) -> - let (_,_,_,cl) = List.nth dl i in - let (_,ty) = List.nth cl (j-1) in - ty - | _ -> raise (WrongUriToMutualInductiveDefinitions (U.string_of_uri uri)) -;; - -module CicHash = - struct - module Tmp = - Hashtbl.Make - (struct - type t = Cic.term - let equal = (==) - let hash = Hashtbl.hash - end) - include Tmp - let empty () = Tmp.create 1 - end -;; - -(* type_of_aux' is just another name (with a different scope) for type_of_aux *) -let rec type_of_aux' subterms_to_types metasenv context t expectedty = - (* Coscoy's double type-inference algorithm *) - (* It computes the inner-types of every subterm of [t], *) - (* even when they are not needed to compute the types *) - (* of other terms. *) - let rec type_of_aux context t expectedty = - let module C = Cic in - let module R = CicReduction in - let module S = CicSubstitution in - let module U = UriManager in - let synthesized = - match t with - C.Rel n -> - (try - match List.nth context (n - 1) with - Some (_,C.Decl t) -> S.lift n t - | Some (_,C.Def (_,Some ty)) -> S.lift n ty - | Some (_,C.Def (bo,None)) -> - type_of_aux context (S.lift n bo) expectedty - | None -> raise RelToHiddenHypothesis - with - _ -> raise (NotWellTyped "Not a close term") - ) - | C.Var (uri,exp_named_subst) -> - visit_exp_named_subst context uri exp_named_subst ; - CicSubstitution.subst_vars exp_named_subst (type_of_variable uri) - | C.Meta (n,l) -> - (* Let's visit all the subterms that will not be visited later *) - let (_,canonical_context,_) = CicUtil.lookup_meta n metasenv in - let lifted_canonical_context = - let rec aux i = - function - [] -> [] - | (Some (n,C.Decl t))::tl -> - (Some (n,C.Decl (S.subst_meta l (S.lift i t))))::(aux (i+1) tl) - | (Some (n,C.Def (t,None)))::tl -> - (Some (n,C.Def ((S.subst_meta l (S.lift i t)),None))):: - (aux (i+1) tl) - | None::tl -> None::(aux (i+1) tl) - | (Some (_,C.Def (_,Some _)))::_ -> assert false - in - aux 1 canonical_context - in - let _ = - List.iter2 - (fun t ct -> - match t,ct with - _,None -> () - | Some t,Some (_,C.Def (ct,_)) -> - let expected_type = - R.whd context - (xxx_type_of_aux' metasenv context ct) - in - (* Maybe I am a bit too paranoid, because *) - (* if the term is well-typed than t and ct *) - (* are convertible. Nevertheless, I compute *) - (* the expected type. *) - ignore (type_of_aux context t (Some expected_type)) - | Some t,Some (_,C.Decl ct) -> - ignore (type_of_aux context t (Some ct)) - | _,_ -> assert false (* the term is not well typed!!! *) - ) l lifted_canonical_context - in - let (_,canonical_context,ty) = CicUtil.lookup_meta n metasenv in - (* Checks suppressed *) - CicSubstitution.subst_meta l ty - | C.Sort (C.Type t) -> (* TASSI: CONSTRAINT *) - C.Sort (C.Type (CicUniv.fresh())) - | C.Sort _ -> C.Sort (C.Type (CicUniv.fresh())) (* TASSI: CONSTRAINT *) - | C.Implicit _ -> raise (Impossible 21) - | C.Cast (te,ty) -> - (* Let's visit all the subterms that will not be visited later *) - let _ = type_of_aux context te (Some (beta_reduce ty)) in - let _ = type_of_aux context ty None in - (* Checks suppressed *) - ty - | C.Prod (name,s,t) -> - let sort1 = type_of_aux context s None - and sort2 = type_of_aux ((Some (name,(C.Decl s)))::context) t None in - sort_of_prod context (name,s) (sort1,sort2) - | C.Lambda (n,s,t) -> - (* Let's visit all the subterms that will not be visited later *) - let _ = type_of_aux context s None in - let expected_target_type = - match expectedty with - None -> None - | Some expectedty' -> - let ty = - match R.whd context expectedty' with - C.Prod (_,_,expected_target_type) -> - beta_reduce expected_target_type - | _ -> assert false - in - Some ty - in - let type2 = - type_of_aux ((Some (n,(C.Decl s)))::context) t expected_target_type - in - (* Checks suppressed *) - C.Prod (n,s,type2) - | C.LetIn (n,s,t) -> -(*CSC: What are the right expected types for the source and *) -(*CSC: target of a LetIn? None used. *) - (* Let's visit all the subterms that will not be visited later *) - let ty = type_of_aux context s None in - let t_typ = - (* Checks suppressed *) - type_of_aux ((Some (n,(C.Def (s,Some ty))))::context) t None - in (* CicSubstitution.subst s t_typ *) - if does_not_occur 1 t_typ then - (* since [Rel 1] does not occur in typ, substituting any term *) - (* in place of [Rel 1] is equivalent to delifting once *) - CicSubstitution.subst (C.Implicit None) t_typ - else - C.LetIn (n,s,t_typ) - | C.Appl (he::tl) when List.length tl > 0 -> - (* - let expected_hetype = - (* Inefficient, the head is computed twice. But I know *) - (* of no other solution. *) - (beta_reduce - (R.whd context (xxx_type_of_aux' metasenv context he))) - in - let hetype = type_of_aux context he (Some expected_hetype) in - let tlbody_and_type = - let rec aux = - function - _,[] -> [] - | C.Prod (n,s,t),he::tl -> - (he, type_of_aux context he (Some (beta_reduce s))):: - (aux (R.whd context (S.subst he t), tl)) - | _ -> assert false - in - aux (expected_hetype, tl) *) - let hetype = R.whd context (type_of_aux context he None) in - let tlbody_and_type = - let rec aux = - function - _,[] -> [] - | C.Prod (n,s,t),he::tl -> - (he, type_of_aux context he (Some (beta_reduce s))):: - (aux (R.whd context (S.subst he t), tl)) - | _ -> assert false - in - aux (hetype, tl) - in - eat_prods context hetype tlbody_and_type - | C.Appl _ -> raise (NotWellTyped "Appl: no arguments") - | C.Const (uri,exp_named_subst) -> - visit_exp_named_subst context uri exp_named_subst ; - CicSubstitution.subst_vars exp_named_subst (type_of_constant uri) - | C.MutInd (uri,i,exp_named_subst) -> - visit_exp_named_subst context uri exp_named_subst ; - CicSubstitution.subst_vars exp_named_subst - (type_of_mutual_inductive_defs uri i) - | C.MutConstruct (uri,i,j,exp_named_subst) -> - visit_exp_named_subst context uri exp_named_subst ; - CicSubstitution.subst_vars exp_named_subst - (type_of_mutual_inductive_constr uri i j) - | C.MutCase (uri,i,outtype,term,pl) -> - let outsort = type_of_aux context outtype None in - let (need_dummy, k) = - let rec guess_args context t = - match CicReduction.whd context t with - C.Sort _ -> (true, 0) - | C.Prod (name, s, t) -> - let (b, n) = guess_args ((Some (name,(C.Decl s)))::context) t in - if n = 0 then - (* last prod before sort *) - match CicReduction.whd context s with - C.MutInd (uri',i',_) when U.eq uri' uri && i' = i -> - (false, 1) - | C.Appl ((C.MutInd (uri',i',_)) :: _) - when U.eq uri' uri && i' = i -> (false, 1) - | _ -> (true, 1) - else - (b, n + 1) - | _ -> raise (NotWellTyped "MutCase: outtype ill-formed") - in - let (b, k) = guess_args context outsort in - if not b then (b, k - 1) else (b, k) - in - let (parameters, arguments,exp_named_subst) = - let type_of_term = - xxx_type_of_aux' metasenv context term - in - match - R.whd context (type_of_aux context term - (Some (beta_reduce type_of_term))) - with - (*CSC manca il caso dei CAST *) - C.MutInd (uri',i',exp_named_subst) -> - (* Checks suppressed *) - [],[],exp_named_subst - | C.Appl (C.MutInd (uri',i',exp_named_subst) :: tl) -> - let params,args = - split tl (List.length tl - k) - in params,args,exp_named_subst - | _ -> - raise (NotWellTyped "MutCase: the term is not an inductive one") - in - (* Checks suppressed *) - (* Let's visit all the subterms that will not be visited later *) - let (cl,parsno) = - let obj,_ = - try - CicEnvironment.get_cooked_obj CicUniv.empty_ugraph uri - with Not_found -> assert false - in - match obj with - C.InductiveDefinition (tl,_,parsno,_) -> - let (_,_,_,cl) = List.nth tl i in (cl,parsno) - | _ -> - raise (WrongUriToMutualInductiveDefinitions (U.string_of_uri uri)) - in - let _ = - List.fold_left - (fun j (p,(_,c)) -> - let cons = - if parameters = [] then - (C.MutConstruct (uri,i,j,exp_named_subst)) - else - (C.Appl (C.MutConstruct (uri,i,j,exp_named_subst)::parameters)) - in - let expectedtype = - type_of_branch context parsno need_dummy outtype cons - (xxx_type_of_aux' metasenv context cons) - in - ignore (type_of_aux context p - (Some (beta_reduce expectedtype))) ; - j+1 - ) 1 (List.combine pl cl) - in - if not need_dummy then - C.Appl ((outtype::arguments)@[term]) - else if arguments = [] then - outtype - else - C.Appl (outtype::arguments) - | C.Fix (i,fl) -> - (* Let's visit all the subterms that will not be visited later *) - let context' = - List.rev - (List.map - (fun (n,_,ty,_) -> - let _ = type_of_aux context ty None in - (Some (C.Name n,(C.Decl ty))) - ) fl - ) @ - context - in - let _ = - List.iter - (fun (_,_,ty,bo) -> - let expectedty = - beta_reduce (CicSubstitution.lift (List.length fl) ty) - in - ignore (type_of_aux context' bo (Some expectedty)) - ) fl - in - (* Checks suppressed *) - let (_,_,ty,_) = List.nth fl i in - ty - | C.CoFix (i,fl) -> - (* Let's visit all the subterms that will not be visited later *) - let context' = - List.rev - (List.map - (fun (n,ty,_) -> - let _ = type_of_aux context ty None in - (Some (C.Name n,(C.Decl ty))) - ) fl - ) @ - context - in - let _ = - List.iter - (fun (_,ty,bo) -> - let expectedty = - beta_reduce (CicSubstitution.lift (List.length fl) ty) - in - ignore (type_of_aux context' bo (Some expectedty)) - ) fl - in - (* Checks suppressed *) - let (_,ty,_) = List.nth fl i in - ty - in - let synthesized' = beta_reduce synthesized in - let types,res = - match expectedty with - None -> - (* No expected type *) - {synthesized = synthesized' ; expected = None}, synthesized - | Some ty when xxx_syntactic_equality synthesized' ty -> - (* The expected type is synthactically equal to *) - (* the synthesized type. Let's forget it. *) - {synthesized = synthesized' ; expected = None}, synthesized - | Some expectedty' -> - {synthesized = synthesized' ; expected = Some expectedty'}, - expectedty' - in - assert (not (CicHash.mem subterms_to_types t)); - CicHash.add subterms_to_types t types ; - res - - and visit_exp_named_subst context uri exp_named_subst = - let uris_and_types = - let obj,_ = - try - CicEnvironment.get_cooked_obj CicUniv.empty_ugraph uri - with Not_found -> assert false - in - let params = CicUtil.params_of_obj obj in - List.map - (function uri -> - let obj,_ = - try - CicEnvironment.get_cooked_obj CicUniv.empty_ugraph uri - with Not_found -> assert false - in - match obj with - Cic.Variable (_,None,ty,_,_) -> uri,ty - | _ -> assert false (* the theorem is well-typed *) - ) params - in - let rec check uris_and_types subst = - match uris_and_types,subst with - _,[] -> [] - | (uri,ty)::tytl,(uri',t)::substtl when uri = uri' -> - ignore (type_of_aux context t (Some ty)) ; - let tytl' = - List.map - (function uri,t' -> uri,(CicSubstitution.subst_vars [uri',t] t')) tytl - in - check tytl' substtl - | _,_ -> assert false (* the theorem is well-typed *) - in - check uris_and_types exp_named_subst - - and sort_of_prod context (name,s) (t1, t2) = - let module C = Cic in - let t1' = CicReduction.whd context t1 in - let t2' = CicReduction.whd ((Some (name,C.Decl s))::context) t2 in - match (t1', t2') with - (C.Sort _, C.Sort s2) - when (s2 = C.Prop or s2 = C.Set or s2 = C.CProp) -> - (* different from Coq manual!!! *) - C.Sort s2 - | (C.Sort (C.Type t1), C.Sort (C.Type t2)) -> - C.Sort (C.Type (CicUniv.fresh())) - | (C.Sort _,C.Sort (C.Type t1)) -> - (* TASSI: CONSRTAINTS: the same in cictypechecker,cicrefine *) - C.Sort (C.Type t1) (* c'e' bisogno di un fresh? *) - | (C.Meta _, C.Sort _) -> t2' - | (C.Meta _, (C.Meta (_,_) as t)) - | (C.Sort _, (C.Meta (_,_) as t)) when CicUtil.is_closed t -> - t2' - | (_,_) -> - raise - (NotWellTyped - ("Prod: sort1= " ^ CicPp.ppterm t1' ^ " ; sort2= " ^ CicPp.ppterm t2')) - - and eat_prods context hetype = - (*CSC: siamo sicuri che le are_convertible non lavorino con termini non *) - (*CSC: cucinati *) - function - [] -> hetype - | (hete, hety)::tl -> - (match (CicReduction.whd context hetype) with - Cic.Prod (n,s,t) -> - (* Checks suppressed *) - eat_prods context (CicSubstitution.subst hete t) tl - | _ -> raise (NotWellTyped "Appl: wrong Prod-type") - ) - -and type_of_branch context argsno need_dummy outtype term constype = - let module C = Cic in - let module R = CicReduction in - match R.whd context constype with - C.MutInd (_,_,_) -> - if need_dummy then - outtype - else - C.Appl [outtype ; term] - | C.Appl (C.MutInd (_,_,_)::tl) -> - let (_,arguments) = split tl argsno - in - if need_dummy && arguments = [] then - outtype - else - C.Appl (outtype::arguments@(if need_dummy then [] else [term])) - | C.Prod (name,so,de) -> - let term' = - match CicSubstitution.lift 1 term with - C.Appl l -> C.Appl (l@[C.Rel 1]) - | t -> C.Appl [t ; C.Rel 1] - in - C.Prod (C.Anonymous,so,type_of_branch - ((Some (name,(C.Decl so)))::context) argsno need_dummy - (CicSubstitution.lift 1 outtype) term' de) - | _ -> raise (Impossible 20) - - in - type_of_aux context t expectedty -;; - -let double_type_of metasenv context t expectedty = - let subterms_to_types = CicHash.create 503 in - ignore (type_of_aux' subterms_to_types metasenv context t expectedty) ; - subterms_to_types -;; diff --git a/helm/ocaml/cic_omdoc/doubleTypeInference.mli b/helm/ocaml/cic_omdoc/doubleTypeInference.mli deleted file mode 100644 index 138aad834..000000000 --- a/helm/ocaml/cic_omdoc/doubleTypeInference.mli +++ /dev/null @@ -1,32 +0,0 @@ -exception Impossible of int -exception NotWellTyped of string -exception WrongUriToConstant of string -exception WrongUriToVariable of string -exception WrongUriToMutualInductiveDefinitions of string -exception ListTooShort -exception RelToHiddenHypothesis - -val syntactic_equality_add_time: float ref -val type_of_aux'_add_time: float ref -val number_new_type_of_aux'_double_work: int ref -val number_new_type_of_aux': int ref -val number_new_type_of_aux'_prop: int ref - -type types = {synthesized : Cic.term ; expected : Cic.term option};; - -module CicHash : - sig - type 'a t - val find : 'a t -> Cic.term -> 'a - val empty: unit -> 'a t - end -;; - -val double_type_of : - Cic.metasenv -> Cic.context -> Cic.term -> Cic.term option -> types CicHash.t - -(** Auxiliary functions **) - -(* does_not_occur n te *) -(* returns [true] if [Rel n] does not occur in [te] *) -val does_not_occur : int -> Cic.term -> bool diff --git a/helm/ocaml/cic_omdoc/eta_fixing.ml b/helm/ocaml/cic_omdoc/eta_fixing.ml deleted file mode 100644 index 68dec37d6..000000000 --- a/helm/ocaml/cic_omdoc/eta_fixing.ml +++ /dev/null @@ -1,311 +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 ReferenceToNonVariable;; - -let prerr_endline _ = ();; - -(* -let rec fix_lambdas_wrt_type ty te = - let module C = Cic in - let module S = CicSubstitution in -(* prerr_endline ("entering fix_lambdas: type=" ^ CicPp.ppterm ty ^ "term=" ^ CicPp.ppterm te); *) - match ty with - C.Prod (_,_,ty') -> - (match CicReduction.whd [] te with - C.Lambda (n,s,te') -> - C.Lambda (n,s,fix_lambdas_wrt_type ty' te') - | t -> - let rec get_sources = - function - C.Prod (_,s,ty) -> s::(get_sources ty) - | _ -> [] in - let sources = get_sources ty in - let no_sources = List.length sources in - let rec mk_rels n shift = - if n = 0 then [] - else (C.Rel (n + shift))::(mk_rels (n - 1) shift) in - let t' = S.lift no_sources t in - let t2 = - match t' with - C.Appl l -> - C.LetIn - (C.Name "w",t',C.Appl ((C.Rel 1)::(mk_rels no_sources 1))) - | _ -> - C.Appl (t'::(mk_rels no_sources 0)) in - List.fold_right - (fun source t -> C.Lambda (C.Name "y",source,t)) - sources t2) - | _ -> te -;; *) - -let rec fix_lambdas_wrt_type ty te = - let module C = Cic in - let module S = CicSubstitution in -(* prerr_endline ("entering fix_lambdas: type=" ^ CicPp.ppterm ty ^ "term=" ^ CicPp.ppterm te); *) - match ty,te with - C.Prod (_,_,ty'), C.Lambda (n,s,te') -> - C.Lambda (n,s,fix_lambdas_wrt_type ty' te') - | C.Prod (_,s,ty'), t -> - let rec get_sources = - function - C.Prod (_,s,ty) -> s::(get_sources ty) - | _ -> [] in - let sources = get_sources ty in - let no_sources = List.length sources in - let rec mk_rels n shift = - if n = 0 then [] - else (C.Rel (n + shift))::(mk_rels (n - 1) shift) in - let t' = S.lift no_sources t in - let t2 = - match t' with - C.Appl l -> - C.LetIn (C.Name "w",t',C.Appl ((C.Rel 1)::(mk_rels no_sources 1))) - | _ -> C.Appl (t'::(mk_rels no_sources 0)) in - List.fold_right - (fun source t -> C.Lambda (C.Name "y",CicReduction.whd [] source,t)) sources t2 - | _, _ -> te -;; - -(* -let rec fix_lambdas_wrt_type ty te = - let module C = Cic in - let module S = CicSubstitution in -(* prerr_endline ("entering fix_lambdas: type=" ^ CicPp.ppterm ty ^ "term=" ^ CicPp.ppterm te); *) - match ty,te with - C.Prod (_,_,ty'), C.Lambda (n,s,te') -> - C.Lambda (n,s,fix_lambdas_wrt_type ty' te') - | C.Prod (_,s,ty'), ((C.Appl (C.Const _ ::_)) as t) -> - (* const have a fixed arity *) - (* prerr_endline ("******** fl - eta expansion 0: type=" ^ CicPp.ppterm ty ^ "term=" ^ CicPp.ppterm te); *) - let t' = S.lift 1 t in - C.Lambda (C.Name "x",s, - C.LetIn - (C.Name "H", fix_lambdas_wrt_type ty' t', - C.Appl [C.Rel 1;C.Rel 2])) - | C.Prod (_,s,ty'), C.Appl l -> - (* prerr_endline ("******** fl - eta expansion 1: type=" ^ CicPp.ppterm ty ^ "term=" ^ CicPp.ppterm te); *) - let l' = List.map (S.lift 1) l in - C.Lambda (C.Name "x",s, - fix_lambdas_wrt_type ty' (C.Appl (l'@[C.Rel 1]))) - | C.Prod (_,s,ty'), _ -> - (* prerr_endline ("******** fl - eta expansion 2: type=" ^ CicPp.ppterm ty ^ "term=" ^ CicPp.ppterm te); *) - flush stderr ; - let te' = S.lift 1 te in - C.Lambda (C.Name "x",s, - fix_lambdas_wrt_type ty' (C.Appl [te';C.Rel 1])) - | _, _ -> te -;;*) - -let fix_according_to_type ty hd tl = - let module C = Cic in - let module S = CicSubstitution in - let rec count_prods = - function - C.Prod (_,_,t) -> 1 + (count_prods t) - | _ -> 0 in - let expected_arity = count_prods ty in - let rec aux n ty tl res = - if n = 0 then - (match tl with - [] -> - (match res with - [] -> assert false - | [res] -> res - | _ -> C.Appl res) - | _ -> - match res with - [] -> assert false - | [a] -> C.Appl (a::tl) - | _ -> - (* prerr_endline ("******* too many args: type=" ^ CicPp.ppterm ty ^ "term=" ^ CicPp.ppterm (C.Appl res)); *) - C.LetIn - (C.Name "H", - C.Appl res, C.Appl (C.Rel 1::(List.map (S.lift 1) tl)))) - else - let name,source,target = - (match ty with - C.Prod (C.Name _ as n,s,t) -> n,s,t - | C.Prod (C.Anonymous, s,t) -> C.Name "z",s,t - | _ -> (* prods number may only increase for substitution *) - assert false) in - match tl with - [] -> - (* prerr_endline ("******* too few args: type=" ^ CicPp.ppterm ty ^ "term=" ^ CicPp.ppterm (C.Appl res)); *) - let res' = List.map (S.lift 1) res in - C.Lambda - (name, source, aux (n-1) target [] (res'@[C.Rel 1])) - | hd::tl' -> - let hd' = fix_lambdas_wrt_type source hd in - (* (prerr_endline ("++++++prima :" ^(CicPp.ppterm hd)); - prerr_endline ("++++++dopo :" ^(CicPp.ppterm hd'))); *) - aux (n-1) (S.subst hd' target) tl' (res@[hd']) in - aux expected_arity ty tl [hd] -;; - -let eta_fix metasenv context t = - let rec eta_fix' context t = - (* prerr_endline ("entering aux with: term=" ^ CicPp.ppterm t); - flush stderr ; *) - let module C = Cic in - let module S = CicSubstitution in - match t with - C.Rel n -> C.Rel n - | C.Var (uri,exp_named_subst) -> - let exp_named_subst' = fix_exp_named_subst context exp_named_subst in - C.Var (uri,exp_named_subst') - | C.Meta (n,l) -> - let (_,canonical_context,_) = CicUtil.lookup_meta n metasenv in - let l' = - List.map2 - (fun ct t -> - match (ct, t) with - None, _ -> None - | _, Some t -> Some (eta_fix' context t) - | Some _, None -> assert false (* due to typing rules *)) - canonical_context l - in - C.Meta (n,l') - | C.Sort s -> C.Sort s - | C.Implicit _ as t -> t - | C.Cast (v,t) -> C.Cast (eta_fix' context v, eta_fix' context t) - | C.Prod (n,s,t) -> - C.Prod - (n, eta_fix' context s, eta_fix' ((Some (n,(C.Decl s)))::context) t) - | C.Lambda (n,s,t) -> - C.Lambda - (n, eta_fix' context s, eta_fix' ((Some (n,(C.Decl s)))::context) t) - | C.LetIn (n,s,t) -> - C.LetIn - (n,eta_fix' context s,eta_fix' ((Some (n,(C.Def (s,None))))::context) t) - | C.Appl l as appl -> - let l' = List.map (eta_fix' context) l - in - (match l' with - [] -> assert false - | he::tl -> - let ty,_ = - CicTypeChecker.type_of_aux' metasenv context he - CicUniv.empty_ugraph - in - fix_according_to_type ty he tl -(* - C.Const(uri,exp_named_subst)::l'' -> - let constant_type = - (match CicEnvironment.get_obj uri with - C.Constant (_,_,ty,_) -> ty - | C.Variable _ -> raise ReferenceToVariable - | C.CurrentProof (_,_,_,_,params) -> raise ReferenceToCurrentProof - | C.InductiveDefinition _ -> raise ReferenceToInductiveDefinition - ) in - fix_according_to_type - constant_type (C.Const(uri,exp_named_subst)) l'' - | _ -> C.Appl l' *)) - | C.Const (uri,exp_named_subst) -> - let exp_named_subst' = fix_exp_named_subst context exp_named_subst in - C.Const (uri,exp_named_subst') - | C.MutInd (uri,tyno,exp_named_subst) -> - let exp_named_subst' = fix_exp_named_subst context exp_named_subst in - C.MutInd (uri, tyno, exp_named_subst') - | C.MutConstruct (uri,tyno,consno,exp_named_subst) -> - let exp_named_subst' = fix_exp_named_subst context exp_named_subst in - C.MutConstruct (uri, tyno, consno, exp_named_subst') - | C.MutCase (uri, tyno, outty, term, patterns) as prima -> - let outty' = eta_fix' context outty in - let term' = eta_fix' context term in - let patterns' = List.map (eta_fix' context) patterns in - let inductive_types,noparams = - let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - (match o with - Cic.Constant _ -> assert false - | Cic.Variable _ -> assert false - | Cic.CurrentProof _ -> assert false - | Cic.InductiveDefinition (l,_,n,_) -> l,n - ) in - let (_,_,_,constructors) = List.nth inductive_types tyno in - let constructor_types = - let rec clean_up t = - function - [] -> t - | a::tl -> - (match t with - Cic.Prod (_,_,t') -> clean_up (S.subst a t') tl - | _ -> assert false) in - if noparams = 0 then - List.map (fun (_,t) -> t) constructors - else - let term_type,_ = - CicTypeChecker.type_of_aux' metasenv context term - CicUniv.empty_ugraph - in - (match term_type with - C.Appl (hd::params) -> - let rec first_n n l = - if n = 0 then [] - else - (match l with - a::tl -> a::(first_n (n-1) tl) - | _ -> assert false) in - List.map - (fun (_,t) -> - clean_up t (first_n noparams params)) constructors - | _ -> prerr_endline ("QUA"); assert false) in - let patterns2 = - List.map2 fix_lambdas_wrt_type - constructor_types patterns in - C.MutCase (uri, tyno, outty',term',patterns2) - | C.Fix (funno, funs) -> - let fun_types = - List.map (fun (n,_,ty,_) -> Some (C.Name n,(Cic.Decl ty))) funs in - C.Fix (funno, - List.map - (fun (name, no, ty, bo) -> - (name, no, eta_fix' context ty, eta_fix' (fun_types@context) bo)) - funs) - | C.CoFix (funno, funs) -> - let fun_types = - List.map (fun (n,ty,_) -> Some (C.Name n,(Cic.Decl ty))) funs in - C.CoFix (funno, - List.map - (fun (name, ty, bo) -> - (name, eta_fix' context ty, eta_fix' (fun_types@context) bo)) funs) - and fix_exp_named_subst context exp_named_subst = - List.rev - (List.fold_left - (fun newsubst (uri,t) -> - let t' = eta_fix' context t in - let ty = - let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - match o with - Cic.Variable (_,_,ty,_,_) -> - CicSubstitution.subst_vars newsubst ty - | _ -> raise ReferenceToNonVariable - in - let t'' = fix_according_to_type ty t' [] in - (uri,t'')::newsubst - ) [] exp_named_subst) - in - eta_fix' context t -;; diff --git a/helm/ocaml/cic_omdoc/eta_fixing.mli b/helm/ocaml/cic_omdoc/eta_fixing.mli deleted file mode 100644 index c6c68119d..000000000 --- a/helm/ocaml/cic_omdoc/eta_fixing.mli +++ /dev/null @@ -1,28 +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/. - *) - -val eta_fix : Cic.metasenv -> Cic.context -> Cic.term -> Cic.term - - diff --git a/helm/ocaml/cic_proof_checking/.cvsignore b/helm/ocaml/cic_proof_checking/.cvsignore deleted file mode 100644 index 333bd154e..000000000 --- a/helm/ocaml/cic_proof_checking/.cvsignore +++ /dev/null @@ -1,4 +0,0 @@ -*.cm[iaox] *.cmxa -cicReduction.ml -.dep.dot -cic_proof_checking.ps diff --git a/helm/ocaml/cic_proof_checking/.depend b/helm/ocaml/cic_proof_checking/.depend deleted file mode 100644 index 630876902..000000000 --- a/helm/ocaml/cic_proof_checking/.depend +++ /dev/null @@ -1,30 +0,0 @@ -cicLogger.cmo: cicLogger.cmi -cicLogger.cmx: cicLogger.cmi -cicEnvironment.cmo: cicEnvironment.cmi -cicEnvironment.cmx: cicEnvironment.cmi -cicPp.cmo: cicEnvironment.cmi cicPp.cmi -cicPp.cmx: cicEnvironment.cmx cicPp.cmi -cicUnivUtils.cmo: cicEnvironment.cmi cicUnivUtils.cmi -cicUnivUtils.cmx: cicEnvironment.cmx cicUnivUtils.cmi -cicSubstitution.cmo: cicEnvironment.cmi cicSubstitution.cmi -cicSubstitution.cmx: cicEnvironment.cmx cicSubstitution.cmi -cicMiniReduction.cmo: cicSubstitution.cmi cicMiniReduction.cmi -cicMiniReduction.cmx: cicSubstitution.cmx cicMiniReduction.cmi -cicReduction.cmo: cicSubstitution.cmi cicPp.cmi cicEnvironment.cmi \ - cicReduction.cmi -cicReduction.cmx: cicSubstitution.cmx cicPp.cmx cicEnvironment.cmx \ - cicReduction.cmi -cicTypeChecker.cmo: cicUnivUtils.cmi cicSubstitution.cmi cicReduction.cmi \ - cicPp.cmi cicLogger.cmi cicEnvironment.cmi cicTypeChecker.cmi -cicTypeChecker.cmx: cicUnivUtils.cmx cicSubstitution.cmx cicReduction.cmx \ - cicPp.cmx cicLogger.cmx cicEnvironment.cmx cicTypeChecker.cmi -freshNamesGenerator.cmo: cicTypeChecker.cmi cicSubstitution.cmi \ - freshNamesGenerator.cmi -freshNamesGenerator.cmx: cicTypeChecker.cmx cicSubstitution.cmx \ - freshNamesGenerator.cmi -cicElim.cmo: freshNamesGenerator.cmi cicTypeChecker.cmi cicSubstitution.cmi \ - cicReduction.cmi cicPp.cmi cicEnvironment.cmi cicElim.cmi -cicElim.cmx: freshNamesGenerator.cmx cicTypeChecker.cmx cicSubstitution.cmx \ - cicReduction.cmx cicPp.cmx cicEnvironment.cmx cicElim.cmi -cicRecord.cmo: cicSubstitution.cmi cicEnvironment.cmi cicRecord.cmi -cicRecord.cmx: cicSubstitution.cmx cicEnvironment.cmx cicRecord.cmi diff --git a/helm/ocaml/cic_proof_checking/Makefile b/helm/ocaml/cic_proof_checking/Makefile deleted file mode 100644 index 352a53016..000000000 --- a/helm/ocaml/cic_proof_checking/Makefile +++ /dev/null @@ -1,41 +0,0 @@ - -PACKAGE = cic_proof_checking -REQUIRES = helm-cic helm-logger helm-getter helm-xml -PREDICATES = - -REDUCTION_IMPLEMENTATION = cicReductionMachine.ml - -INTERFACE_FILES = \ - cicLogger.mli \ - cicEnvironment.mli \ - cicPp.mli \ - cicUnivUtils.mli \ - cicSubstitution.mli \ - cicMiniReduction.mli \ - cicReduction.mli \ - cicTypeChecker.mli \ - freshNamesGenerator.mli \ - cicElim.mli \ - cicRecord.mli -IMPLEMENTATION_FILES = $(INTERFACE_FILES:%.mli=%.ml) - -# Metadata tools only need zeta-reduction -EXTRA_OBJECTS_TO_INSTALL = \ - cicSubstitution.cmo cicSubstitution.cmx cicSubstitution.o \ - cicMiniReduction.cmo cicMiniReduction.cmx cicMiniReduction.o -EXTRA_OBJECTS_TO_CLEAN = - -include ../Makefile.common - -all: all_utilities -opt: opt_utilities - -all_utilities: - $(MAKE) -C utilities/ all -opt_utilities: - $(MAKE) -C utilities/ opt - -clean: clean_utilities -clean_utilities: - $(MAKE) -C utilities/ clean - diff --git a/helm/ocaml/cic_proof_checking/cicElim.ml b/helm/ocaml/cic_proof_checking/cicElim.ml deleted file mode 100644 index c668d1c9b..000000000 --- a/helm/ocaml/cic_proof_checking/cicElim.ml +++ /dev/null @@ -1,415 +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 - -exception Elim_failure of string Lazy.t -exception Can_t_eliminate - -let debug_print = fun _ -> () -(*let debug_print s = prerr_endline (Lazy.force s) *) - -let counter = ref ~-1 ;; - -let fresh_binder () = Cic.Name "matita_dummy" -(* - incr counter; - Cic.Name ("e" ^ string_of_int !counter) *) - - (** verifies if a given inductive type occurs in a term in target position *) -let rec recursive uri typeno = function - | Cic.Prod (_, _, target) -> recursive uri typeno target - | Cic.MutInd (uri', typeno', []) - | Cic.Appl (Cic.MutInd (uri', typeno', []) :: _) -> - UriManager.eq uri uri' && typeno = typeno' - | _ -> false - - (** given a list of constructor types, return true if at least one of them is - * recursive, false otherwise *) -let recursive_type uri typeno constructors = - let rec aux = function - | Cic.Prod (_, src, tgt) -> recursive uri typeno src || aux tgt - | _ -> false - in - List.exists (fun (_, ty) -> aux ty) constructors - -let unfold_appl = function - | Cic.Appl ((Cic.Appl args) :: tl) -> Cic.Appl (args @ tl) - | t -> t - -let rec split l n = - match (l,n) with - (l,0) -> ([], l) - | (he::tl, n) -> let (l1,l2) = split tl (n-1) in (he::l1,l2) - | (_,_) -> assert false - - (** build elimination principle part related to a single constructor - * @param paramsno number of Prod to ignore in this constructor (i.e. number of - * inductive parameters) - * @param dependent true if we are in the dependent case (i.e. sort <> Prop) *) -let rec delta (uri, typeno) dependent paramsno consno t p args = - match t with - | Cic.MutInd (uri', typeno', []) when - UriManager.eq uri uri' && typeno = typeno' -> - if dependent then - (match args with - | [] -> assert false - | [arg] -> unfold_appl (Cic.Appl [p; arg]) - | _ -> unfold_appl (Cic.Appl [p; unfold_appl (Cic.Appl args)])) - else - p - | Cic.Appl (Cic.MutInd (uri', typeno', []) :: tl) when - UriManager.eq uri uri' && typeno = typeno' -> - let (lparams, rparams) = split tl paramsno in - if dependent then - (match args with - | [] -> assert false - | [arg] -> unfold_appl (Cic.Appl (p :: rparams @ [arg])) - | _ -> - unfold_appl (Cic.Appl (p :: - rparams @ [unfold_appl (Cic.Appl args)]))) - else (* non dependent *) - (match rparams with - | [] -> p - | _ -> Cic.Appl (p :: rparams)) - | Cic.Prod (binder, src, tgt) -> - if recursive uri typeno src then - let args = List.map (CicSubstitution.lift 2) args in - let phi = - let src = CicSubstitution.lift 1 src in - delta (uri, typeno) dependent paramsno consno src - (CicSubstitution.lift 1 p) [Cic.Rel 1] - in - let tgt = CicSubstitution.lift 1 tgt in - Cic.Prod (fresh_binder (), src, - Cic.Prod (Cic.Anonymous, phi, - delta (uri, typeno) dependent paramsno consno tgt - (CicSubstitution.lift 2 p) (args @ [Cic.Rel 2]))) - else (* non recursive *) - let args = List.map (CicSubstitution.lift 1) args in - Cic.Prod (fresh_binder (), src, - delta (uri, typeno) dependent paramsno consno tgt - (CicSubstitution.lift 1 p) (args @ [Cic.Rel 1])) - | _ -> assert false - -let rec strip_left_params consno leftno = function - | t when leftno = 0 -> t (* no need to lift, the term is (hopefully) closed *) - | Cic.Prod (_, _, tgt) (* when leftno > 0 *) -> - (* after stripping the parameters we lift of consno. consno is 1 based so, - * the first constructor will be lifted by 1 (for P), the second by 2 (1 - * for P and 1 for the 1st constructor), and so on *) - if leftno = 1 then - CicSubstitution.lift consno tgt - else - strip_left_params consno (leftno - 1) tgt - | _ -> assert false - -let delta (ury, typeno) dependent paramsno consno t p args = - let t = strip_left_params consno paramsno t in - delta (ury, typeno) dependent paramsno consno t p args - -let rec add_params binder indno ty eliminator = - if indno = 0 then - eliminator - else - match ty with - | Cic.Prod (name, src, tgt) -> - let name = - match name with - Cic.Name _ -> name - | Cic.Anonymous -> fresh_binder () - in - binder name src (add_params binder (indno - 1) tgt eliminator) - | _ -> assert false - -let rec mk_rels consno = function - | 0 -> [] - | n -> Cic.Rel (n+consno) :: mk_rels consno (n-1) - -let rec strip_pi = function - | Cic.Prod (_, _, tgt) -> strip_pi tgt - | t -> t - -let rec count_pi = function - | Cic.Prod (_, _, tgt) -> count_pi tgt + 1 - | t -> 0 - -let rec type_of_p sort dependent leftno indty = function - | Cic.Prod (n, src, tgt) when leftno = 0 -> - let n = - if dependent then - match n with - Cic.Name _ -> n - | Cic.Anonymous -> fresh_binder () - else - n - in - Cic.Prod (n, src, type_of_p sort dependent leftno indty tgt) - | Cic.Prod (_, _, tgt) -> type_of_p sort dependent (leftno - 1) indty tgt - | t -> - if dependent then - Cic.Prod (Cic.Anonymous, indty, Cic.Sort sort) - else - Cic.Sort sort - -let rec add_right_pi dependent strip liftno liftfrom rightno indty = function - | Cic.Prod (_, src, tgt) when strip = 0 -> - Cic.Prod (fresh_binder (), - CicSubstitution.lift_from liftfrom liftno src, - add_right_pi dependent strip liftno (liftfrom + 1) rightno indty tgt) - | Cic.Prod (_, _, tgt) -> - add_right_pi dependent (strip - 1) liftno liftfrom rightno indty tgt - | t -> - if dependent then - Cic.Prod (fresh_binder (), - CicSubstitution.lift_from (rightno + 1) liftno indty, - Cic.Appl (Cic.Rel (1 + liftno + rightno) :: mk_rels 0 (rightno + 1))) - else - Cic.Prod (Cic.Anonymous, - CicSubstitution.lift_from (rightno + 1) liftno indty, - if rightno = 0 then - Cic.Rel (1 + liftno + rightno) - else - Cic.Appl (Cic.Rel (1 + liftno + rightno) :: mk_rels 1 rightno)) - -let rec add_right_lambda dependent strip liftno liftfrom rightno indty case = -function - | Cic.Prod (_, src, tgt) when strip = 0 -> - Cic.Lambda (fresh_binder (), - CicSubstitution.lift_from liftfrom liftno src, - add_right_lambda dependent strip liftno (liftfrom + 1) rightno indty - case tgt) - | Cic.Prod (_, _, tgt) -> - add_right_lambda true (strip - 1) liftno liftfrom rightno indty - case tgt - | t -> - Cic.Lambda (fresh_binder (), - CicSubstitution.lift_from (rightno + 1) liftno indty, case) - -let rec branch (uri, typeno) insource paramsno t fix head args = - match t with - | Cic.MutInd (uri', typeno', []) when - UriManager.eq uri uri' && typeno = typeno' -> - if insource then - (match args with - | [arg] -> Cic.Appl (fix :: args) - | _ -> Cic.Appl (head :: [Cic.Appl args])) - else - (match args with - | [] -> head - | _ -> Cic.Appl (head :: args)) - | Cic.Appl (Cic.MutInd (uri', typeno', []) :: tl) when - UriManager.eq uri uri' && typeno = typeno' -> - if insource then - let (lparams, rparams) = split tl paramsno in - match args with - | [arg] -> Cic.Appl (fix :: rparams @ args) - | _ -> Cic.Appl (fix :: rparams @ [Cic.Appl args]) - else - (match args with - | [] -> head - | _ -> Cic.Appl (head :: args)) - | Cic.Prod (binder, src, tgt) -> - if recursive uri typeno src then - let args = List.map (CicSubstitution.lift 1) args in - let phi = - let fix = CicSubstitution.lift 1 fix in - let src = CicSubstitution.lift 1 src in - branch (uri, typeno) true paramsno src fix head [Cic.Rel 1] - in - Cic.Lambda (fresh_binder (), src, - branch (uri, typeno) insource paramsno tgt - (CicSubstitution.lift 1 fix) (CicSubstitution.lift 1 head) - (args @ [Cic.Rel 1; phi])) - else (* non recursive *) - let args = List.map (CicSubstitution.lift 1) args in - Cic.Lambda (fresh_binder (), src, - branch (uri, typeno) insource paramsno tgt - (CicSubstitution.lift 1 fix) (CicSubstitution.lift 1 head) - (args @ [Cic.Rel 1])) - | _ -> assert false - -let branch (uri, typeno) insource liftno paramsno t fix head args = - let t = strip_left_params liftno paramsno t in - branch (uri, typeno) insource paramsno t fix head args - -let elim_of ~sort uri typeno = - counter := ~-1; - let (obj, univ) = (CicEnvironment.get_obj CicUniv.empty_ugraph uri) in - match obj with - | Cic.InductiveDefinition (indTypes, params, leftno, _) -> - let (name, inductive, ty, constructors) = - try - List.nth indTypes typeno - with Failure _ -> assert false - in - let paramsno = count_pi ty in (* number of (left or right) parameters *) - let rightno = paramsno - leftno in - let dependent = (strip_pi ty <> Cic.Sort Cic.Prop) in -let head = match strip_pi ty with Cic.Sort s -> s in - let conslen = List.length constructors in - let consno = ref (conslen + 1) in - if - not - (CicTypeChecker.check_allowed_sort_elimination uri typeno head sort) - then - raise Can_t_eliminate; - let indty = - let indty = Cic.MutInd (uri, typeno, []) in - if paramsno = 0 then - indty - else - Cic.Appl (indty :: mk_rels 0 paramsno) - in - let mk_constructor consno = - let constructor = Cic.MutConstruct (uri, typeno, consno, []) in - if leftno = 0 then - constructor - else - Cic.Appl (constructor :: mk_rels consno leftno) - in - let p_ty = type_of_p sort dependent leftno indty ty in - let final_ty = - add_right_pi dependent leftno (conslen + 1) 1 rightno indty ty - in - let eliminator_type = - let cic = - Cic.Prod (Cic.Name "P", p_ty, - (List.fold_right - (fun (_, constructor) acc -> - decr consno; - let p = Cic.Rel !consno in - Cic.Prod (Cic.Anonymous, - (delta (uri, typeno) dependent leftno !consno - constructor p [mk_constructor !consno]), - acc)) - constructors final_ty)) - in - add_params (fun b s t -> Cic.Prod (b, s, t)) leftno ty cic - in - let consno = ref (conslen + 1) in - let eliminator_body = - let fix = Cic.Rel (rightno + 2) in - let is_recursive = recursive_type uri typeno constructors in - let recshift = if is_recursive then 1 else 0 in - let (_, branches) = - List.fold_right - (fun (_, ty) (shift, branches) -> - let head = Cic.Rel (rightno + shift + 1 + recshift) in - let b = - branch (uri, typeno) false - (rightno + conslen + 2 + recshift) leftno ty fix head [] - in - (shift + 1, b :: branches)) - constructors (1, []) - in - let shiftno = conslen + rightno + 2 + recshift in - let outtype = - if dependent then - Cic.Rel shiftno - else - let head = - if rightno = 0 then - CicSubstitution.lift 1 (Cic.Rel shiftno) - else - Cic.Appl - ((CicSubstitution.lift (rightno + 1) (Cic.Rel shiftno)) :: - mk_rels 1 rightno) - in - add_right_lambda true leftno shiftno 1 rightno indty head ty - in - let mutcase = - Cic.MutCase (uri, typeno, outtype, Cic.Rel 1, branches) - in - let body = - if is_recursive then - let fixfun = - add_right_lambda dependent leftno (conslen + 2) 1 rightno - indty mutcase ty - in - (* rightno is the decreasing argument, i.e. the argument of - * inductive type *) - Cic.Fix (0, ["f", rightno, final_ty, fixfun]) - else - add_right_lambda dependent leftno (conslen + 1) 1 rightno indty - mutcase ty - in - let cic = - Cic.Lambda (Cic.Name "P", p_ty, - (List.fold_right - (fun (_, constructor) acc -> - decr consno; - let p = Cic.Rel !consno in - Cic.Lambda (fresh_binder (), - (delta (uri, typeno) dependent leftno !consno - constructor p [mk_constructor !consno]), - acc)) - constructors body)) - in - add_params (fun b s t -> Cic.Lambda (b, s, t)) leftno ty cic - in -(* -debug_print (lazy (CicPp.ppterm eliminator_type)); -debug_print (lazy (CicPp.ppterm eliminator_body)); -*) - let eliminator_type = - FreshNamesGenerator.mk_fresh_names [] [] [] eliminator_type in - let eliminator_body = - FreshNamesGenerator.mk_fresh_names [] [] [] eliminator_body in -(* -debug_print (lazy (CicPp.ppterm eliminator_type)); -debug_print (lazy (CicPp.ppterm eliminator_body)); -*) - let (computed_type, ugraph) = - try - CicTypeChecker.type_of_aux' [] [] eliminator_body CicUniv.empty_ugraph - with CicTypeChecker.TypeCheckerFailure msg -> - raise (Elim_failure (lazy (sprintf - "type checker failure while type checking:\n%s\nerror:\n%s" - (CicPp.ppterm eliminator_body) (Lazy.force msg)))) - in - if not (fst (CicReduction.are_convertible [] - eliminator_type computed_type ugraph)) - then - raise (Failure (sprintf - "internal error: type mismatch on eliminator type\n%s\n%s" - (CicPp.ppterm eliminator_type) (CicPp.ppterm computed_type))); - let suffix = - match sort with - | Cic.Prop -> "_ind" - | Cic.Set -> "_rec" - | Cic.Type _ -> "_rect" - | _ -> assert false - in - let name = UriManager.name_of_uri uri ^ suffix in - let buri = UriManager.buri_of_uri uri in - let uri = UriManager.uri_of_string (buri ^ "/" ^ name ^ ".con") in - let obj_attrs = [`Class (`Elim sort); `Generated] in - uri, - Cic.Constant (name, Some eliminator_body, eliminator_type, [], obj_attrs) - | _ -> - failwith (sprintf "not an inductive definition (%s)" - (UriManager.string_of_uri uri)) - diff --git a/helm/ocaml/cic_proof_checking/cicElim.mli b/helm/ocaml/cic_proof_checking/cicElim.mli deleted file mode 100644 index f1f84c92e..000000000 --- a/helm/ocaml/cic_proof_checking/cicElim.mli +++ /dev/null @@ -1,41 +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/ - *) - - (** can't build the required elimination principle (e.g. elimination from Prop - * to Set *) -exception Can_t_eliminate - - (** internal error while generating elimination principle *) -exception Elim_failure of string Lazy.t - -(** @param sort target sort -* @param uri inductive type uri -* @param typeno inductive type number -* @raise Failure -* @raise Can_t_eliminate -* @return Cic constant corresponding to the required elimination principle -* and its uri -*) -val elim_of: sort:Cic.sort -> UriManager.uri -> int -> UriManager.uri * Cic.obj diff --git a/helm/ocaml/cic_proof_checking/cicEnvironment.ml b/helm/ocaml/cic_proof_checking/cicEnvironment.ml deleted file mode 100644 index 2849bc38a..000000000 --- a/helm/ocaml/cic_proof_checking/cicEnvironment.ml +++ /dev/null @@ -1,678 +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 *) -(* 24/01/2000 *) -(* *) -(* This module implements a trival cache system (an hash-table) for cic *) -(* objects. Uses the getter (getter.ml) and the parser (cicParser.ml) *) -(* *) -(*****************************************************************************) - - -(* ************************************************************************** * - CicEnvironment SETTINGS (trust and clean_tmp) - * ************************************************************************** *) - -let cleanup_tmp = true;; -let trust = ref (fun _ -> true);; -let set_trust f = trust := f -let trust_obj uri = !trust uri -let debug_print = fun x -> prerr_endline (Lazy.force x) - -(* ************************************************************************** * - TYPES - * ************************************************************************** *) - -type type_checked_obj = - CheckedObj of (Cic.obj * CicUniv.universe_graph) (* cooked obj *) - | UncheckedObj of Cic.obj (* uncooked obj to proof-check *) -;; - -exception AlreadyCooked of string;; -exception CircularDependency of string Lazy.t;; -exception CouldNotFreeze of string;; -exception CouldNotUnfreeze of string;; -exception Object_not_found of UriManager.uri;; - - -(* ************************************************************************** * - HERE STARTS THE CACHE MODULE - * ************************************************************************** *) - -(* I think this should be the right place to implement mecanisms and - * invasriants - *) - -(* Cache that uses == instead of = for testing equality *) -(* Invariant: an object is always in at most one of the *) -(* following states: unchecked, frozen and cooked. *) -module Cache : - sig - val find_or_add_to_unchecked : - UriManager.uri -> - get_object_to_add: - (UriManager.uri -> - Cic.obj * (CicUniv.universe_graph * CicUniv.universe list) option) -> - Cic.obj * CicUniv.universe_graph * CicUniv.universe list - val can_be_cooked: - UriManager.uri -> bool - val unchecked_to_frozen : - UriManager.uri -> unit - val frozen_to_cooked : - uri:UriManager.uri -> unit - val hack_univ: - UriManager.uri -> CicUniv.universe_graph * CicUniv.universe list -> unit - val find_cooked : - key:UriManager.uri -> - Cic.obj * CicUniv.universe_graph * CicUniv.universe list - val add_cooked : - key:UriManager.uri -> - (Cic.obj * CicUniv.universe_graph * CicUniv.universe list) -> unit - val remove: UriManager.uri -> unit - val dump_to_channel : ?callback:(string -> unit) -> out_channel -> unit - val restore_from_channel : ?callback:(string -> unit) -> in_channel -> unit - val empty : unit -> unit - val is_in_frozen: UriManager.uri -> bool - val is_in_unchecked: UriManager.uri -> bool - val is_in_cooked: UriManager.uri -> bool - val list_all_cooked_uris: unit -> UriManager.uri list - end -= - struct - (************************************************************************* - TASSI: invariant - The cacheOfCookedObjects will contain only objects with a valid universe - graph. valid means that not None (used if there is no universe file - in the universe generation phase). - **************************************************************************) - - (* DATA: the data structure that implements the CACHE *) - module HashedType = - struct - type t = UriManager.uri - let equal = UriManager.eq - let hash = Hashtbl.hash - end - ;; - - module HT = Hashtbl.Make(HashedType);; - - let cacheOfCookedObjects = HT.create 1009;; - - (* DATA: The parking lists - * the lists elements are (uri * (obj * universe_graph option)) - * ( u, ( o, None )) means that the object has no universes file, this - * should happen only in the universe generation phase. - * FIXME: if the universe generation is integrated in the library - * exportation phase, the 'option' MUST be removed. - * ( u, ( o, Some g)) means that the object has a universes file, - * the usual case. - *) - - (* frozen is used to detect circular dependency. *) - let frozen_list = ref [];; - (* unchecked is used to store objects just fetched, nothing more. *) - let unchecked_list = ref [];; - - (* FIXED: should be ok even if not touched *) - (* used to hash cons uris on restore to grant URI structure unicity *) - let restore_uris = - let module C = Cic in - let recons uri = - UriManager.uri_of_string (UriManager.string_of_uri uri) - in - let rec restore_in_term = - function - | (C.Rel _) as t -> t - | C.Var (uri,exp_named_subst) -> - let uri' = recons uri in - let exp_named_subst' = - List.map - (function (uri,t) ->(recons uri,restore_in_term t)) - exp_named_subst - in - C.Var (uri',exp_named_subst') - | C.Meta (i,l) -> - let l' = - List.map - (function - None -> None - | Some t -> Some (restore_in_term t) - ) l - in - C.Meta(i,l') - | C.Sort (C.Type u) -> - CicUniv.assert_univ u; - C.Sort (C.Type (CicUniv.recons_univ u)) - | C.Sort _ as t -> t - | C.Implicit _ as t -> t - | C.Cast (te,ty) -> C.Cast (restore_in_term te, restore_in_term ty) - | C.Prod (n,s,t) -> C.Prod (n, restore_in_term s, restore_in_term t) - | C.Lambda (n,s,t) -> C.Lambda (n, restore_in_term s, restore_in_term t) - | C.LetIn (n,s,t) -> C.LetIn (n, restore_in_term s, restore_in_term t) - | C.Appl l -> C.Appl (List.map restore_in_term l) - | C.Const (uri,exp_named_subst) -> - let uri' = recons uri in - let exp_named_subst' = - List.map - (function (uri,t) -> (recons uri,restore_in_term t)) exp_named_subst - in - C.Const (uri',exp_named_subst') - | C.MutInd (uri,tyno,exp_named_subst) -> - let uri' = recons uri in - let exp_named_subst' = - List.map - (function (uri,t) -> (recons uri,restore_in_term t)) exp_named_subst - in - C.MutInd (uri',tyno,exp_named_subst') - | C.MutConstruct (uri,tyno,consno,exp_named_subst) -> - let uri' = recons uri in - let exp_named_subst' = - List.map - (function (uri,t) -> (recons uri,restore_in_term t)) exp_named_subst - in - C.MutConstruct (uri',tyno,consno,exp_named_subst') - | C.MutCase (uri,i,outty,t,pl) -> - C.MutCase (recons uri, i, restore_in_term outty, restore_in_term t, - List.map restore_in_term pl) - | C.Fix (i, fl) -> - let len = List.length fl in - let liftedfl = - List.map - (fun (name, i, ty, bo) -> - (name, i, restore_in_term ty, restore_in_term bo)) - fl - in - C.Fix (i, liftedfl) - | C.CoFix (i, fl) -> - let len = List.length fl in - let liftedfl = - List.map - (fun (name, ty, bo) -> (name, restore_in_term ty, restore_in_term bo)) - fl - in - C.CoFix (i, liftedfl) - in - function - C.Constant (name,bo,ty,params,attrs) -> - let bo' = - match bo with - None -> None - | Some bo -> Some (restore_in_term bo) - in - let ty' = restore_in_term ty in - let params' = List.map recons params in - C.Constant (name, bo', ty', params',attrs) - | C.CurrentProof (name,conjs,bo,ty,params,attrs) -> - let conjs' = - List.map - (function (i,hyps,ty) -> - (i, - List.map (function - None -> None - | Some (name,C.Decl t) -> - Some (name,C.Decl (restore_in_term t)) - | Some (name,C.Def (bo,ty)) -> - let ty' = - match ty with - None -> None - | Some ty'' -> Some (restore_in_term ty'') - in - Some (name,C.Def (restore_in_term bo, ty'))) hyps, - restore_in_term ty)) - conjs - in - let bo' = restore_in_term bo in - let ty' = restore_in_term ty in - let params' = List.map recons params in - C.CurrentProof (name, conjs', bo', ty', params',attrs) - | C.Variable (name,bo,ty,params,attrs) -> - let bo' = - match bo with - None -> None - | Some bo -> Some (restore_in_term bo) - in - let ty' = restore_in_term ty in - let params' = List.map recons params in - C.Variable (name, bo', ty', params',attrs) - | C.InductiveDefinition (tl,params,paramsno,attrs) -> - let params' = List.map recons params in - let tl' = - List.map (function (name, inductive, ty, constructors) -> - name, - inductive, - restore_in_term ty, - (List.map - (function (name, ty) -> name, restore_in_term ty) - constructors)) - tl - in - C.InductiveDefinition (tl', params', paramsno, attrs) - ;; - - let empty () = - HT.clear cacheOfCookedObjects; - unchecked_list := [] ; - frozen_list := [] - ;; - - (* FIX: universe stuff?? *) - let dump_to_channel ?(callback = ignore) oc = - HT.iter (fun uri _ -> callback (UriManager.string_of_uri uri)) - cacheOfCookedObjects; - Marshal.to_channel oc cacheOfCookedObjects [] - ;; - - (* FIX: universes stuff?? *) - let restore_from_channel ?(callback = ignore) ic = - let restored = Marshal.from_channel ic in - (* FIXME: should this empty clean the frozen and unchecked? - * if not, the only-one-empty-end-not-3 patch is wrong - *) - empty (); - HT.iter - (fun k (v,u,l) -> - callback (UriManager.string_of_uri k); - let reconsed_entry = - restore_uris v,CicUniv.recons_graph u,List.map CicUniv.recons_univ l - in - HT.add cacheOfCookedObjects - (UriManager.uri_of_string (UriManager.string_of_uri k)) - reconsed_entry) - restored - ;; - - - let is_in_frozen uri = - List.mem_assoc uri !frozen_list - ;; - - let is_in_unchecked uri = - List.mem_assoc uri !unchecked_list - ;; - - let is_in_cooked uri = - HT.mem cacheOfCookedObjects uri - ;; - - - (******************************************************************* - TASSI: invariant - we need, in the universe generation phase, to traverse objects - that are not yet committed, so we search them in the frozen list. - Only uncommitted objects without a universe file (see the assertion) - can be searched with method - *******************************************************************) - - let find_or_add_to_unchecked uri ~get_object_to_add = - try - let o,g_and_l = List.assq uri !unchecked_list in - match g_and_l with - (* FIXME: we accept both cases, as at the end of this function - * maybe the None universe outside the cache module should be - * avoided elsewhere. - * - * another thing that should be removed if univ generation phase - * and lib exportation are unified. - *) - | None -> o,CicUniv.empty_ugraph,[] - | Some (g,l) -> o,g,l - with - Not_found -> - if List.mem_assq uri !frozen_list then - (* CIRCULAR DEPENDENCY DETECTED, print the error and raise *) - begin - print_endline "\nCircularDependency!\nfrozen list: \n"; - List.iter ( - fun (u,(_,o)) -> - let su = UriManager.string_of_uri u in - let univ = if o = None then "NO_UNIV" else "" in - print_endline (su^" "^univ)) - !frozen_list; - raise (CircularDependency (lazy (UriManager.string_of_uri uri))) - end - else - if HT.mem cacheOfCookedObjects uri then - (* DOUBLE COOK DETECTED, raise the exception *) - raise (AlreadyCooked (UriManager.string_of_uri uri)) - else - (* OK, it is not already frozen nor cooked *) - let obj,ugraph_and_univlist = get_object_to_add uri in - let ugraph_real, univlist_real = - match ugraph_and_univlist with - (* FIXME: not sure it is OK*) - None -> CicUniv.empty_ugraph, [] - | Some ((g,l) as g_and_l) -> g_and_l - in - unchecked_list := - (uri,(obj,ugraph_and_univlist))::!unchecked_list ; - obj, ugraph_real, univlist_real - ;; - - let unchecked_to_frozen uri = - try - let obj,ugraph_and_univlist = List.assq uri !unchecked_list in - unchecked_list := List.remove_assq uri !unchecked_list ; - frozen_list := (uri,(obj,ugraph_and_univlist))::!frozen_list - with - Not_found -> raise (CouldNotFreeze (UriManager.string_of_uri uri)) - ;; - - - (************************************************************ - TASSI: invariant - only object with a valid universe graph can be committed - - this should disappear if the universe generation phase and the - library exportation are unified. - *************************************************************) - let frozen_to_cooked ~uri = - try - let obj,ugraph_and_univlist = List.assq uri !frozen_list in - match ugraph_and_univlist with - | None -> assert false (* only NON dummy universes can be committed *) - | Some (g,l) -> - CicUniv.assert_univs_have_uri g l; - frozen_list := List.remove_assq uri !frozen_list ; - HT.add cacheOfCookedObjects uri (obj,g,l) - with - Not_found -> raise (CouldNotUnfreeze (UriManager.string_of_uri uri)) - ;; - - let can_be_cooked uri = - try - let obj,ugraph_and_univlist = List.assq uri !frozen_list in - (* FIXME: another thing to remove if univ generation phase and lib - * exportation are unified. - *) - match ugraph_and_univlist with - None -> false - | Some _ -> true - with - Not_found -> false - ;; - - (* this function injects a real universe graph in a (uri, (obj, None)) - * element of the frozen list. - * - * FIXME: another thing to remove if univ generation phase and lib - * exportation are unified. - *) - let hack_univ uri (real_ugraph, real_univlist) = - try - let o,ugraph_and_univlist = List.assq uri !frozen_list in - match ugraph_and_univlist with - None -> - frozen_list := List.remove_assoc uri !frozen_list; - frozen_list := - (uri,(o,Some (real_ugraph, real_univlist)))::!frozen_list; - | Some g -> - debug_print (lazy ( - "You are probably hacking an object already hacked or an"^ - " object that has the universe file but is not"^ - " yet committed.")); - assert false - with - Not_found -> - debug_print (lazy ( - "You are hacking an object that is not in the"^ - " frozen_list, this means you are probably generating an"^ - " universe file for an object that already"^ - " as an universe file")); - assert false - ;; - - let find_cooked ~key:uri = HT.find cacheOfCookedObjects uri ;; - - let add_cooked ~key:uri (obj,ugraph,univlist) = - HT.add cacheOfCookedObjects uri (obj,ugraph,univlist) - ;; - - (* invariant - * - * an object can be romeved from the cache only if we are not typechecking - * something. this means check and frozen must be empty. - *) - let remove uri = - if !frozen_list <> [] then - failwith "CicEnvironment.remove while type checking" - else - begin - HT.remove cacheOfCookedObjects uri; - unchecked_list := - List.filter (fun (uri',_) -> not (UriManager.eq uri uri')) !unchecked_list - end - ;; - - let list_all_cooked_uris () = - HT.fold (fun u _ l -> u::l) cacheOfCookedObjects [] - ;; - - end -;; - -(* ************************************************************************ - HERE ENDS THE CACHE MODULE - * ************************************************************************ *) - -(* exported cache functions *) -let dump_to_channel = Cache.dump_to_channel;; -let restore_from_channel = Cache.restore_from_channel;; -let empty = Cache.empty;; - -let total_parsing_time = ref 0.0 - -let get_object_to_add uri = - try - let filename = Http_getter.getxml' uri in - let bodyfilename = - match UriManager.bodyuri_of_uri uri with - None -> None - | Some bodyuri -> - if Http_getter.exists' bodyuri then - Some (Http_getter.getxml' bodyuri) - else - None - in - let obj = - try - let time = Unix.gettimeofday() in - let rc = CicParser.obj_of_xml uri filename bodyfilename in - total_parsing_time := - !total_parsing_time +. ((Unix.gettimeofday()) -. time ); - rc - with exn -> - (match exn with - | CicParser.Getter_failure ("key_not_found", uri) -> - raise (Object_not_found (UriManager.uri_of_string uri)) - | _ -> raise exn) - in - let ugraph_and_univlist,filename_univ = - try - let filename_univ = - let univ_uri = UriManager.univgraphuri_of_uri uri in - Http_getter.getxml' univ_uri - in - Some (CicUniv.ugraph_and_univlist_of_xml filename_univ), - Some filename_univ - with - | Http_getter_types.Key_not_found _ - | Http_getter_types.Unresolvable_URI _ -> - debug_print (lazy ( - "WE HAVE NO UNIVERSE FILE FOR " ^ (UriManager.string_of_uri uri))); - (* WE SHOULD FAIL (or return None, None *) - Some (CicUniv.empty_ugraph, []), None - in - obj, ugraph_and_univlist - with Http_getter_types.Key_not_found _ -> raise (Object_not_found uri) -;; - -(* this is the function to fetch the object in the unchecked list and - * nothing more (except returning it) - *) -let find_or_add_to_unchecked uri = - Cache.find_or_add_to_unchecked uri ~get_object_to_add - -(* set_type_checking_info uri *) -(* must be called once the type-checking of uri is finished *) -(* The object whose uri is uri is unfreezed *) -(* *) -(* the replacement ugraph must be the one returned by the *) -(* typechecker, restricted with the CicUnivUtils.clean_and_fill *) -let set_type_checking_info ?(replace_ugraph_and_univlist=None) uri = -(* - if not (Cache.can_be_cooked uri) && replace_ugraph <> None then begin - debug_print (lazy ( - "?replace_ugraph must be None if you are not committing an "^ - "object that has a universe graph associated "^ - "(can happen only in the fase of universes graphs generation).")); - assert false - else -*) - match Cache.can_be_cooked uri, replace_ugraph_and_univlist with - | true, Some _ - | false, None -> - debug_print (lazy ( - "?replace_ugraph must be (Some ugraph) when committing an object that "^ - "has no associated universe graph. If this is in make_univ phase you "^ - "should drop this exception and let univ_make commit thi object with "^ - "proper arguments")); - assert false - | _ -> - (match replace_ugraph_and_univlist with - | None -> () - | Some g_and_l -> Cache.hack_univ uri g_and_l); - Cache.frozen_to_cooked uri -;; - -(* fetch, unfreeze and commit an uri to the cacheOfCookedObjects and - * return the object,ugraph - *) -let add_trusted_uri_to_cache uri = - let o,u,_ = find_or_add_to_unchecked uri in - Cache.unchecked_to_frozen uri; - set_type_checking_info uri; - try - Cache.find_cooked uri - with Not_found -> assert false -;; - -(* get the uri, if we trust it will be added to the cacheOfCookedObjects *) -let get_cooked_obj_with_univlist ?(trust=true) base_univ uri = - try - (* the object should be in the cacheOfCookedObjects *) - let o,u,l = Cache.find_cooked uri in - o,(CicUniv.merge_ugraphs base_univ u),l - with Not_found -> - (* this should be an error case, but if we trust the uri... *) - if trust && trust_obj uri then - (* trusting means that we will fetch cook it on the fly *) - let o,u,l = add_trusted_uri_to_cache uri in - o,(CicUniv.merge_ugraphs base_univ u),l - else - (* we don't trust the uri, so we fail *) - begin - debug_print (lazy ("CACHE MISS: " ^ (UriManager.string_of_uri uri))); - raise Not_found - end - -let get_cooked_obj ?trust base_univ uri = - let o,g,_ = get_cooked_obj_with_univlist ?trust base_univ uri in - o,g - -(* This has not the old semantic :( but is what the name suggests - * - * let is_type_checked ?(trust=true) uri = - * try - * let _ = Cache.find_cooked uri in - * true - * with - * Not_found -> - * trust && trust_obj uri - * ;; - * - * as the get_cooked_obj but returns a type_checked_obj - * - *) -let is_type_checked ?(trust=true) base_univ uri = - try - let o,u,_ = Cache.find_cooked uri in - CheckedObj (o,(CicUniv.merge_ugraphs base_univ u)) - with Not_found -> - (* this should return UncheckedObj *) - if trust && trust_obj uri then - (* trusting means that we will fetch cook it on the fly *) - let o,u,_ = add_trusted_uri_to_cache uri in - CheckedObj ( o, CicUniv.merge_ugraphs u base_univ ) - else - let o,u,_ = find_or_add_to_unchecked uri in - Cache.unchecked_to_frozen uri; - UncheckedObj o -;; - -(* as the get cooked, but if not present the object is only fetched, - * not unfreezed and committed - *) -let get_obj base_univ uri = - try - (* the object should be in the cacheOfCookedObjects *) - let o,u,_ = Cache.find_cooked uri in - o,(CicUniv.merge_ugraphs base_univ u) - with Not_found -> - (* this should be an error case, but if we trust the uri... *) - let o,u,_ = find_or_add_to_unchecked uri in - o,(CicUniv.merge_ugraphs base_univ u) -;; - -let in_cache uri = - Cache.is_in_cooked uri || Cache.is_in_frozen uri || Cache.is_in_unchecked uri - -let add_type_checked_obj uri (obj,ugraph,univlist) = - Cache.add_cooked ~key:uri (obj,ugraph,univlist) - -let in_library uri = in_cache uri || Http_getter.exists' uri - -let remove_obj = Cache.remove - -let list_uri () = - Cache.list_all_cooked_uris () -;; - -let list_obj () = - try - List.map (fun u -> - let o,ug = get_obj CicUniv.empty_ugraph u in - (u,o,ug)) - (list_uri ()) - with - Not_found -> - debug_print (lazy "Who has removed the uri in the meanwhile?"); - raise Not_found -;; diff --git a/helm/ocaml/cic_proof_checking/cicEnvironment.mli b/helm/ocaml/cic_proof_checking/cicEnvironment.mli deleted file mode 100644 index 55566a614..000000000 --- a/helm/ocaml/cic_proof_checking/cicEnvironment.mli +++ /dev/null @@ -1,136 +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 *) -(* 24/01/2000 *) -(* *) -(* This module implements a trival cache system (an hash-table) for cic *) -(* ^^^^^^ *) -(* objects. Uses the getter (getter.ml) and the parser (cicParser.ml) *) -(* *) -(****************************************************************************) - -exception CircularDependency of string Lazy.t;; -exception Object_not_found of UriManager.uri;; - -(* as the get cooked, but if not present the object is only fetched, - * not unfreezed and committed - *) -val get_obj : - CicUniv.universe_graph -> UriManager.uri -> - Cic.obj * CicUniv.universe_graph - -type type_checked_obj = - CheckedObj of (Cic.obj * CicUniv.universe_graph) (* cooked obj *) - | UncheckedObj of Cic.obj (* uncooked obj *) - -(* - * I think this should be the real semantic: - * - * val is_type_checked: - * ?trust:bool -> UriManager.uri -> bool - * - * but the old semantic is similar to get_cooked_obj, but - * returns an unchecked object intead of a Not_found - *) -val is_type_checked : - ?trust:bool -> CicUniv.universe_graph -> UriManager.uri -> - type_checked_obj - -(* set_type_checking_info uri *) -(* must be called once the type-checking of uri is finished *) -(* The object whose uri is uri is unfreezed and won't be type-checked *) -(* again in the future (is_type_checked will return true) *) -(* *) -(* Since the universes are not exported directly, but generated *) -(* typecheking the library, we can't find them in the library as we *) -(* do for the types. This means that when we commit uris during *) -(* univ generation we can't associate the uri with the universe graph *) -(* we find in the library, we have to calculate it and then inject it *) -(* in the cacke. This is an orrible backdoor used by univ_maker. *) -(* see the .ml file for some reassuring invariants *) -(* WARNING: THIS FUNCTION MUST BE CALLED ONLY BY CicTypeChecker *) -val set_type_checking_info : - ?replace_ugraph_and_univlist: - ((CicUniv.universe_graph * CicUniv.universe list) option) -> - UriManager.uri -> unit - -(* this function is called by CicTypeChecker.typecheck_obj to add to the *) -(* environment a new well typed object that is not yet in the library *) -(* WARNING: THIS FUNCTION MUST BE CALLED ONLY BY CicTypeChecker *) -val add_type_checked_obj : - UriManager.uri -> - (Cic.obj * CicUniv.universe_graph * CicUniv.universe list) -> unit - - (** remove a type checked object - * @raise Object_not_found when given term is not in the environment - * @raise Failure when remove_term is invoked while type checking *) -val remove_obj: UriManager.uri -> unit - -(* get_cooked_obj ~trust uri *) -(* returns the object if it is already type-checked or if it can be *) -(* trusted (if [trust] = true and the trusting function accepts it) *) -(* Otherwise it raises Not_found *) -val get_cooked_obj : - ?trust:bool -> CicUniv.universe_graph -> UriManager.uri -> - Cic.obj * CicUniv.universe_graph - -(* get_cooked_obj_with_univlist ~trust uri *) -(* returns the object if it is already type-checked or if it can be *) -(* trusted (if [trust] = true and the trusting function accepts it) *) -(* Otherwise it raises Not_found *) -val get_cooked_obj_with_univlist : - ?trust:bool -> CicUniv.universe_graph -> UriManager.uri -> - Cic.obj * CicUniv.universe_graph * CicUniv.universe list - -(* FUNCTIONS USED ONLY IN THE TOPLEVEL/PROOF-ENGINE *) - -(* (de)serialization *) -val dump_to_channel : ?callback:(string -> unit) -> out_channel -> unit -val restore_from_channel : ?callback:(string -> unit) -> in_channel -> unit -val empty : unit -> unit - -(** Set trust function. Per default this function is set to (fun _ -> true) *) -val set_trust: (UriManager.uri -> bool) -> unit - - (** @return true for objects currently cooked/frozend/unchecked, false - * otherwise (i.e. objects already parsed from XML) *) -val in_cache : UriManager.uri -> bool - -(* to debug the matitac batch compiler *) -val list_obj: unit -> (UriManager.uri * Cic.obj * CicUniv.universe_graph) list -val list_uri: unit -> UriManager.uri list - - (** @return true for objects available in the library *) -val in_library: UriManager.uri -> bool - - (** total parsing time, only to benchmark the parser *) -val total_parsing_time: float ref - -(* EOF *) diff --git a/helm/ocaml/cic_proof_checking/cicLogger.ml b/helm/ocaml/cic_proof_checking/cicLogger.ml deleted file mode 100644 index 28d7a8c2c..000000000 --- a/helm/ocaml/cic_proof_checking/cicLogger.ml +++ /dev/null @@ -1,60 +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/. - *) - -type msg = - [ `Start_type_checking of UriManager.uri - | `Type_checking_completed of UriManager.uri - | `Trusting of UriManager.uri - ] - -let log ?(level = 1) = - let module U = UriManager in - function - | `Start_type_checking uri -> - HelmLogger.log (`Msg (`DIV (level, None, `T - ("Type-Checking of " ^ (U.string_of_uri uri) ^ " started")))) - | `Type_checking_completed uri -> - HelmLogger.log (`Msg (`DIV (level, Some "green", `T - ("Type-Checking of " ^ (U.string_of_uri uri) ^ " completed")))) - | `Trusting uri -> - HelmLogger.log (`Msg (`DIV (level, Some "blue", `T - ((U.string_of_uri uri) ^ " is trusted.")))) - -class logger = - object - val mutable level = 0 (* indentation level *) - method log (msg: msg) = - match msg with - | `Start_type_checking _ -> - level <- level + 1; - log ~level msg - | `Type_checking_completed _ -> - log ~level msg; - level <- level - 1; - | _ -> log ~level msg - end - -let log msg = log ~level:1 msg - diff --git a/helm/ocaml/cic_proof_checking/cicLogger.mli b/helm/ocaml/cic_proof_checking/cicLogger.mli deleted file mode 100644 index 408bc8879..000000000 --- a/helm/ocaml/cic_proof_checking/cicLogger.mli +++ /dev/null @@ -1,42 +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/. - *) - -type msg = - [ `Start_type_checking of UriManager.uri - | `Type_checking_completed of UriManager.uri - | `Trusting of UriManager.uri - ] - - (** Stateless logging. Each message is logged with indentation level 1 *) -val log: msg -> unit - - (** Stateful logging. Each `Start_type_checing message increase the - * indentation level by 1, each `Type_checking_completed message decrease it by - * the same amount. *) -class logger: - object - method log: msg -> unit - end - diff --git a/helm/ocaml/cic_proof_checking/cicMiniReduction.ml b/helm/ocaml/cic_proof_checking/cicMiniReduction.ml deleted file mode 100644 index bbf515a99..000000000 --- a/helm/ocaml/cic_proof_checking/cicMiniReduction.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 rec letin_nf = - let module C = Cic in - function - C.Rel _ as t -> t - | C.Var (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,letin_nf t)) exp_named_subst - in - C.Var (uri,exp_named_subst') - | C.Meta _ as t -> t - | C.Sort _ as t -> t - | C.Implicit _ as t -> t - | C.Cast (te,ty) -> C.Cast (letin_nf te, letin_nf ty) - | C.Prod (n,s,t) -> C.Prod (n, letin_nf s, letin_nf t) - | C.Lambda (n,s,t) -> C.Lambda (n, letin_nf s, letin_nf t) - | C.LetIn (n,s,t) -> CicSubstitution.subst (letin_nf s) t - | C.Appl l -> C.Appl (List.map letin_nf l) - | C.Const (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,letin_nf t)) exp_named_subst - in - C.Const (uri,exp_named_subst') - | C.MutInd (uri,typeno,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,letin_nf t)) exp_named_subst - in - C.MutInd (uri,typeno,exp_named_subst') - | C.MutConstruct (uri,typeno,consno,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,letin_nf t)) exp_named_subst - in - C.MutConstruct (uri,typeno,consno,exp_named_subst') - | C.MutCase (sp,i,outt,t,pl) -> - C.MutCase (sp,i,letin_nf outt, letin_nf t, List.map letin_nf pl) - | C.Fix (i,fl) -> - let substitutedfl = - List.map - (fun (name,i,ty,bo) -> (name, i, letin_nf ty, letin_nf bo)) - fl - in - C.Fix (i, substitutedfl) - | C.CoFix (i,fl) -> - let substitutedfl = - List.map - (fun (name,ty,bo) -> (name, letin_nf ty, letin_nf bo)) - fl - in - C.CoFix (i, substitutedfl) -;; diff --git a/helm/ocaml/cic_proof_checking/cicMiniReduction.mli b/helm/ocaml/cic_proof_checking/cicMiniReduction.mli deleted file mode 100644 index c923c6acf..000000000 --- a/helm/ocaml/cic_proof_checking/cicMiniReduction.mli +++ /dev/null @@ -1,26 +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/. - *) - -val letin_nf : Cic.term -> Cic.term diff --git a/helm/ocaml/cic_proof_checking/cicPp.ml b/helm/ocaml/cic_proof_checking/cicPp.ml deleted file mode 100644 index 9242d1fed..000000000 --- a/helm/ocaml/cic_proof_checking/cicPp.ml +++ /dev/null @@ -1,478 +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 *) -(* *) -(* This module implements a very simple Coq-like pretty printer that, given *) -(* an object of cic (internal representation) returns a string describing *) -(* the object in a syntax similar to that of coq *) -(* *) -(* It also contains the utility functions to check a name w.r.t the Matita *) -(* naming policy *) -(* *) -(*****************************************************************************) - -exception CicPpInternalError;; -exception NotEnoughElements;; - -(* Utility functions *) - -let ppname = - function - Cic.Name s -> s - | Cic.Anonymous -> "_" -;; - -(* get_nth l n returns the nth element of the list l if it exists or *) -(* raises NotEnoughElements if l has less than n elements *) -let rec get_nth l n = - match (n,l) with - (1, he::_) -> he - | (n, he::tail) when n > 1 -> get_nth tail (n-1) - | (_,_) -> raise NotEnoughElements -;; - -(* pp t l *) -(* pretty-prints a term t of cic in an environment l where l is a list of *) -(* identifier names used to resolve DeBrujin indexes. The head of l is the *) -(* name associated to the greatest DeBrujin index in t *) -let rec pp t l = - let module C = Cic in - match t with - C.Rel n -> - begin - try - (match get_nth l n with - Some (C.Name s) -> s - | Some C.Anonymous -> "__" ^ string_of_int n - | None -> "_hidden_" ^ string_of_int n - ) - with - NotEnoughElements -> string_of_int (List.length l - n) - end - | C.Var (uri,exp_named_subst) -> - UriManager.string_of_uri (*UriManager.name_of_uri*) uri ^ pp_exp_named_subst exp_named_subst l - | C.Meta (n,l1) -> - "?" ^ (string_of_int n) ^ "[" ^ - String.concat " ; " - (List.rev_map (function None -> "_" | Some t -> pp t l) l1) ^ - "]" - | C.Sort s -> - (match s with - C.Prop -> "Prop" - | C.Set -> "Set" - | C.Type _ -> "Type" - (*| C.Type u -> ("Type" ^ CicUniv.string_of_universe u)*) - | C.CProp -> "CProp" - ) - | C.Implicit (Some `Hole) -> "%" - | C.Implicit _ -> "?" - | C.Prod (b,s,t) -> - (match b with - C.Name n -> "(" ^ n ^ ":" ^ pp s l ^ ")" ^ pp t ((Some b)::l) - | C.Anonymous -> "(" ^ pp s l ^ "->" ^ pp t ((Some b)::l) ^ ")" - ) - | C.Cast (v,t) -> "(" ^ pp v l ^ ":" ^ pp t l ^ ")" - | C.Lambda (b,s,t) -> - "[" ^ ppname b ^ ":" ^ pp s l ^ "]" ^ pp t ((Some b)::l) - | C.LetIn (b,s,t) -> - "[" ^ ppname b ^ ":=" ^ pp s l ^ "]" ^ pp t ((Some b)::l) - | C.Appl li -> - "(" ^ - (List.fold_right - (fun x i -> pp x l ^ (match i with "" -> "" | _ -> " ") ^ i) - li "" - ) ^ ")" - | C.Const (uri,exp_named_subst) -> - UriManager.name_of_uri uri ^ pp_exp_named_subst exp_named_subst l - | C.MutInd (uri,n,exp_named_subst) -> - (try - match fst(CicEnvironment.get_obj CicUniv.empty_ugraph uri) with - C.InductiveDefinition (dl,_,_,_) -> - let (name,_,_,_) = get_nth dl (n+1) in - name ^ pp_exp_named_subst exp_named_subst l - | _ -> raise CicPpInternalError - with - _ -> UriManager.string_of_uri uri ^ "#1/" ^ string_of_int (n + 1) - ) - | C.MutConstruct (uri,n1,n2,exp_named_subst) -> - (try - match fst(CicEnvironment.get_obj CicUniv.empty_ugraph uri) with - C.InductiveDefinition (dl,_,_,_) -> - let (_,_,_,cons) = get_nth dl (n1+1) in - let (id,_) = get_nth cons n2 in - id ^ pp_exp_named_subst exp_named_subst l - | _ -> raise CicPpInternalError - with - _ -> - UriManager.string_of_uri uri ^ "#1/" ^ string_of_int (n1 + 1) ^ "/" ^ - string_of_int n2 - ) - | C.MutCase (uri,n1,ty,te,patterns) -> - let connames = - (match fst(CicEnvironment.get_obj CicUniv.empty_ugraph uri) with - C.InductiveDefinition (dl,_,_,_) -> - let (_,_,_,cons) = get_nth dl (n1+1) in - List.map (fun (id,_) -> id) cons - | _ -> raise CicPpInternalError - ) - in - let connames_and_patterns = - let rec combine = - function - [],[] -> [] - | [],l -> List.map (fun x -> "???",Some x) l - | l,[] -> List.map (fun x -> x,None) l - | x::tlx,y::tly -> (x,Some y)::(combine (tlx,tly)) - in - combine (connames,patterns) - in - "\n<" ^ pp ty l ^ ">Cases " ^ pp te l ^ " of " ^ - List.fold_right - (fun (x,y) i -> "\n " ^ x ^ " => " ^ - (match y with None -> "" | Some y -> pp y l) ^ i) - connames_and_patterns "" ^ - "\nend" - | C.Fix (no, funs) -> - let snames = List.map (fun (name,_,_,_) -> name) funs in - let names = - List.rev (List.map (function name -> Some (C.Name name)) snames) - in - "\nFix " ^ get_nth snames (no + 1) ^ " {" ^ - List.fold_right - (fun (name,ind,ty,bo) i -> "\n" ^ name ^ " / " ^ string_of_int ind ^ - " : " ^ pp ty l ^ " := \n" ^ - pp bo (names@l) ^ i) - funs "" ^ - "}\n" - | C.CoFix (no,funs) -> - let snames = List.map (fun (name,_,_) -> name) funs in - let names = - List.rev (List.map (function name -> Some (C.Name name)) snames) - in - "\nCoFix " ^ get_nth snames (no + 1) ^ " {" ^ - List.fold_right - (fun (name,ty,bo) i -> "\n" ^ name ^ - " : " ^ pp ty l ^ " := \n" ^ - pp bo (names@l) ^ i) - funs "" ^ - "}\n" -and pp_exp_named_subst exp_named_subst l = - if exp_named_subst = [] then "" else - "{" ^ - String.concat " ; " ( - List.map - (function (uri,t) -> UriManager.name_of_uri uri ^ ":=" ^ pp t l) - exp_named_subst - ) ^ "}" -;; - -let ppterm t = - pp t [] -;; - -(* ppinductiveType (typename, inductive, arity, cons) *) -(* pretty-prints a single inductive definition *) -(* (typename, inductive, arity, cons) *) -let ppinductiveType (typename, inductive, arity, cons) = - (if inductive then "\nInductive " else "\nCoInductive ") ^ typename ^ ": " ^ - pp arity [] ^ " =\n " ^ - List.fold_right - (fun (id,ty) i -> id ^ " : " ^ pp ty [] ^ - (if i = "" then "\n" else "\n | ") ^ i) - cons "" -;; - -let ppcontext ?(sep = "\n") context = - let separate s = if s = "" then "" else s ^ sep in - fst (List.fold_right - (fun context_entry (i,name_context) -> - match context_entry with - Some (n,Cic.Decl t) -> - Printf.sprintf "%s%s : %s" (separate i) (ppname n) - (pp t name_context), (Some n)::name_context - | Some (n,Cic.Def (bo,ty)) -> - Printf.sprintf "%s%s : %s := %s" (separate i) (ppname n) - (match ty with - None -> "_" - | Some ty -> pp ty name_context) - (pp bo name_context), (Some n)::name_context - | None -> - Printf.sprintf "%s_ :? _" (separate i), None::name_context - ) context ("",[])) - -(* ppobj obj returns a string with describing the cic object obj in a syntax *) -(* similar to the one used by Coq *) -let ppobj obj = - let module C = Cic in - let module U = UriManager in - match obj with - C.Constant (name, Some t1, t2, params, _) -> - "Definition of " ^ name ^ - "(" ^ String.concat ";" (List.map UriManager.string_of_uri params) ^ - ")" ^ ":\n" ^ pp t1 [] ^ " : " ^ pp t2 [] - | C.Constant (name, None, ty, params, _) -> - "Axiom " ^ name ^ - "(" ^ String.concat ";" (List.map UriManager.string_of_uri params) ^ - "):\n" ^ pp ty [] - | C.Variable (name, bo, ty, params, _) -> - "Variable " ^ name ^ - "(" ^ String.concat ";" (List.map UriManager.string_of_uri params) ^ - ")" ^ ":\n" ^ - pp ty [] ^ "\n" ^ - (match bo with None -> "" | Some bo -> ":= " ^ pp bo []) - | C.CurrentProof (name, conjectures, value, ty, params, _) -> - "Current Proof of " ^ name ^ - "(" ^ String.concat ";" (List.map UriManager.string_of_uri params) ^ - ")" ^ ":\n" ^ - let separate s = if s = "" then "" else s ^ " ; " in - List.fold_right - (fun (n, context, t) i -> - let conjectures',name_context = - List.fold_right - (fun context_entry (i,name_context) -> - (match context_entry with - Some (n,C.Decl at) -> - (separate i) ^ - ppname n ^ ":" ^ pp at name_context ^ " ", - (Some n)::name_context - | Some (n,C.Def (at,None)) -> - (separate i) ^ - ppname n ^ ":= " ^ pp at name_context ^ " ", - (Some n)::name_context - | None -> - (separate i) ^ "_ :? _ ", None::name_context - | _ -> assert false) - ) context ("",[]) - in - conjectures' ^ " |- " ^ "?" ^ (string_of_int n) ^ ": " ^ - pp t name_context ^ "\n" ^ i - ) conjectures "" ^ - "\n" ^ pp value [] ^ " : " ^ pp ty [] - | C.InductiveDefinition (l, params, nparams, _) -> - "Parameters = " ^ - String.concat ";" (List.map UriManager.string_of_uri params) ^ "\n" ^ - "NParams = " ^ string_of_int nparams ^ "\n" ^ - List.fold_right (fun x i -> ppinductiveType x ^ i) l "" -;; - -let ppsort = function - | Cic.Prop -> "Prop" - | Cic.Set -> "Set" - | Cic.Type _ -> "Type" - | Cic.CProp -> "CProp" - - -(* MATITA NAMING CONVENTION *) - -let is_prefix prefix string = - let len = String.length prefix in - let len1 = String.length string in - if len <= len1 then - begin - let head = String.sub string 0 len in - if - (String.compare (String.lowercase head) (String.lowercase prefix)=0) then - begin - let diff = len1-len in - let tail = String.sub string len diff in - if ((diff > 0) && (String.rcontains_from tail 0 '_')) then - Some (String.sub tail 1 (diff-1)) - else Some tail - end - else None - end - else None - -let remove_prefix prefix (last,string) = - if prefix="append" then - begin - prerr_endline last; - prerr_endline string; - end; - if string = "" then (last,string) - else - match is_prefix prefix string with - None -> - if last <> "" then - match is_prefix last prefix with - None -> (last,string) - | Some _ -> - (match is_prefix prefix (last^string) with - None -> (last,string) - | Some tail -> (prefix,tail)) - else (last,string) - | Some tail -> (prefix, tail) - -let legal_suffix string = - if string = "" then true else - begin - let legal_s = Str.regexp "_?\\([0-9]+\\|r\\|l\\|'\\|\"\\)" in - (Str.string_match legal_s string 0) && (Str.matched_string string = string) - end - -(** check if a prefix of string_name is legal for term and returns the tail. - chec_rec cannot fail: at worst it return string_name. - The algorithm is greedy, but last contains the last name matched, providing - a one slot buffer. - string_name is here a pair (last,string_name).*) - -let rec check_rec ctx string_name = - function - | Cic.Rel m -> - (match List.nth ctx (m-1) with - Cic.Name name -> - remove_prefix name string_name - | Cic.Anonymous -> string_name) - | Cic.Meta _ -> string_name - | Cic.Sort sort -> remove_prefix (ppsort sort) string_name - | Cic.Implicit _ -> string_name - | Cic.Cast (te,ty) -> check_rec ctx string_name te - | Cic.Prod (name,so,dest) -> - let l_string_name = check_rec ctx string_name so in - check_rec (name::ctx) string_name dest - | Cic.Lambda (name,so,dest) -> - let string_name = - match name with - Cic.Anonymous -> string_name - | Cic.Name name -> remove_prefix name string_name in - let l_string_name = check_rec ctx string_name so in - check_rec (name::ctx) l_string_name dest - | Cic.LetIn (name,so,dest) -> - let string_name = check_rec ctx string_name so in - check_rec (name::ctx) string_name dest - | Cic.Appl l -> - List.fold_left (check_rec ctx) string_name l - | Cic.Var (uri,exp_named_subst) -> - let name = UriManager.name_of_uri uri in - remove_prefix name string_name - | Cic.Const (uri,exp_named_subst) -> - let name = UriManager.name_of_uri uri in - remove_prefix name string_name - | Cic.MutInd (uri,_,exp_named_subst) -> - let name = UriManager.name_of_uri uri in - remove_prefix name string_name - | Cic.MutConstruct (uri,n,m,exp_named_subst) -> - let name = - (match fst(CicEnvironment.get_obj CicUniv.empty_ugraph uri) with - Cic.InductiveDefinition (dl,_,_,_) -> - let (_,_,_,cons) = get_nth dl (n+1) in - let (id,_) = get_nth cons m in - id - | _ -> assert false) in - remove_prefix name string_name - | Cic.MutCase (_,_,_,te,pl) -> - let strig_name = remove_prefix "match" string_name in - let string_name = check_rec ctx string_name te in - List.fold_right (fun t s -> check_rec ctx s t) pl string_name - | Cic.Fix (_,fl) -> - let strig_name = remove_prefix "fix" string_name in - let names = List.map (fun (name,_,_,_) -> name) fl in - let onames = - List.rev (List.map (function name -> Cic.Name name) names) - in - List.fold_right - (fun (_,_,_,bo) s -> check_rec (onames@ctx) s bo) fl string_name - | Cic.CoFix (_,fl) -> - let strig_name = remove_prefix "cofix" string_name in - let names = List.map (fun (name,_,_) -> name) fl in - let onames = - List.rev (List.map (function name -> Cic.Name name) names) - in - List.fold_right - (fun (_,_,bo) s -> check_rec (onames@ctx) s bo) fl string_name - -let check_name ?(allow_suffix=false) ctx name term = - let (_,tail) = check_rec ctx ("",name) term in - if (not allow_suffix) then (String.length tail = 0) - else legal_suffix tail - -let check_elim ctx conclusion_name = - let elim = Str.regexp "_elim\\|_case" in - if (Str.string_match elim conclusion_name 0) then - let len = String.length conclusion_name in - let tail = String.sub conclusion_name 5 (len-5) in - legal_suffix tail - else false - -let rec check_names ctx hyp_names conclusion_name t = - match t with - | Cic.Prod (name,s,t) -> - (match hyp_names with - [] -> check_names (name::ctx) hyp_names conclusion_name t - | hd::tl -> - if check_name ctx hd s then - check_names (name::ctx) tl conclusion_name t - else - check_names (name::ctx) hyp_names conclusion_name t) - | Cic.Appl ((Cic.Rel n)::args) -> - (match hyp_names with - | [] -> - (check_name ~allow_suffix:true ctx conclusion_name t) || - (check_elim ctx conclusion_name) - | [what_to_elim] -> - (* what to elim could be an argument - of the predicate: e.g. leb_elim *) - let (last,tail) = - List.fold_left (check_rec ctx) ("",what_to_elim) args in - (tail = "" && check_elim ctx conclusion_name) - | _ -> false) - | Cic.MutCase (_,_,Cic.Lambda(name,so,ty),te,_) -> - (match hyp_names with - | [] -> - (match is_prefix "match" conclusion_name with - None -> check_name ~allow_suffix:true ctx conclusion_name t - | Some tail -> check_name ~allow_suffix:true ctx tail t) - | [what_to_match] -> - (* what to match could be the term te or its type so; in this case the - conclusion name should match ty *) - check_name ~allow_suffix:true (name::ctx) conclusion_name ty && - (check_name ctx what_to_match te || check_name ctx what_to_match so) - | _ -> false) - | _ -> - hyp_names=[] && check_name ~allow_suffix:true ctx conclusion_name t - -let check name term = -(* prerr_endline name; - prerr_endline (ppterm term); *) - let names = Str.split (Str.regexp_string "_to_") name in - let hyp_names,conclusion_name = - match List.rev names with - [] -> assert false - | hd::tl -> - let elim = Str.regexp "_elim\\|_case" in - let len = String.length hd in - try - let pos = Str.search_backward elim hd len in - let hyp = String.sub hd 0 pos in - let concl = String.sub hd pos (len-pos) in - List.rev (hyp::tl),concl - with Not_found -> (List.rev tl),hd in - check_names [] hyp_names conclusion_name term -;; - - diff --git a/helm/ocaml/cic_proof_checking/cicPp.mli b/helm/ocaml/cic_proof_checking/cicPp.mli deleted file mode 100644 index e84ae4fed..000000000 --- a/helm/ocaml/cic_proof_checking/cicPp.mli +++ /dev/null @@ -1,55 +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 *) -(* 24/01/2000 *) -(* *) -(* This module implements a very simple Coq-like pretty printer that, given *) -(* an object of cic (internal representation) returns a string describing the*) -(* object in a syntax similar to that of coq *) -(* *) -(*****************************************************************************) - -(* ppobj obj returns a string with describing the cic object obj in a syntax*) -(* similar to the one used by Coq *) -val ppobj : Cic.obj -> string - -val ppterm : Cic.term -> string - -val ppcontext : ?sep:string -> Cic.context -> string - -(* Required only by the topLevel. It is the generalization of ppterm to *) -(* work with environments. *) -val pp : Cic.term -> (Cic.name option) list -> string - -val ppname : Cic.name -> string - -val ppsort: Cic.sort -> string - -val check: string -> Cic.term -> bool diff --git a/helm/ocaml/cic_proof_checking/cicRecord.ml b/helm/ocaml/cic_proof_checking/cicRecord.ml deleted file mode 100644 index a251bad87..000000000 --- a/helm/ocaml/cic_proof_checking/cicRecord.ml +++ /dev/null @@ -1,91 +0,0 @@ -(* Copyright (C) 2004-2005, 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 rec_ty uri leftno = - let rec_ty = Cic.MutInd (uri,0,[]) in - if leftno = 0 then rec_ty else - Cic.Appl (rec_ty :: (CicUtil.mk_rels leftno 0)) - -let generate_one_proj uri params paramsno fields t i = - let mk_lambdas l start = - List.fold_right (fun (name,ty) acc -> - Cic.Lambda (Cic.Name name,ty,acc)) l start in - let recty = rec_ty uri paramsno in - let outtype = Cic.Lambda (Cic.Name "w'", CicSubstitution.lift 1 recty, t) in - Some - (mk_lambdas params - (Cic.Lambda (Cic.Name "w", recty, - Cic.MutCase (uri,0,outtype, Cic.Rel 1, - [mk_lambdas fields (Cic.Rel i)])))) - -let projections_of uri field_names = - let buri = UriManager.buri_of_uri uri in - let obj,ugraph = CicEnvironment.get_cooked_obj CicUniv.empty_ugraph uri in - match obj with - Cic.InductiveDefinition ([_,_,sort,[_,ty]],params,paramsno,_) -> - assert (params = []); (* general case not implemented *) - let leftparams,ty = - let rec aux = - function - 0,ty -> [],ty - | n,Cic.Prod (Cic.Name name,s,t) -> - let leftparams,ty = aux (n - 1,t) in - (name,s)::leftparams,ty - | _,_ -> assert false - in - aux (paramsno,ty) - in - let fields = - let rec aux = - function - Cic.MutInd _, [] - | Cic.Appl _, [] -> [] - | Cic.Prod (_,s,t), name::tl -> (name,s)::aux (t,tl) - | _,_ -> assert false - in - aux ((CicSubstitution.lift 1 ty),field_names) - in - let rec aux i = - function - Cic.MutInd _, [] - | Cic.Appl _, [] -> [] - | Cic.Prod (_,s,t), name::tl -> - (match generate_one_proj uri leftparams paramsno fields s i with - Some p -> - let puri = - UriManager.uri_of_string (buri ^ "/" ^ name ^ ".con") - in - (puri,name,p) :: - aux (i - 1) - (CicSubstitution.subst - (Cic.Appl - (Cic.Const (puri,[]) :: - CicUtil.mk_rels paramsno 2 @ [Cic.Rel 1]) - ) t, tl) - | None -> assert false) - | _,_ -> assert false - in - aux (List.length fields) (CicSubstitution.lift 2 ty,field_names) - | _ -> assert false diff --git a/helm/ocaml/cic_proof_checking/cicRecord.mli b/helm/ocaml/cic_proof_checking/cicRecord.mli deleted file mode 100644 index b966f317c..000000000 --- a/helm/ocaml/cic_proof_checking/cicRecord.mli +++ /dev/null @@ -1,28 +0,0 @@ -(* Copyright (C) 2004-2005, 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/ - *) - -(** projections_of [uri] returns uri * name * term *) -val projections_of: - UriManager.uri -> string list -> (UriManager.uri * string * Cic.term) list diff --git a/helm/ocaml/cic_proof_checking/cicReduction.ml b/helm/ocaml/cic_proof_checking/cicReduction.ml deleted file mode 100644 index 813a589d6..000000000 --- a/helm/ocaml/cic_proof_checking/cicReduction.ml +++ /dev/null @@ -1,1136 +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/. - *) - -(* TODO unify exceptions *) - -exception CicReductionInternalError;; -exception WrongUriToInductiveDefinition;; -exception Impossible of int;; -exception ReferenceToConstant;; -exception ReferenceToVariable;; -exception ReferenceToCurrentProof;; -exception ReferenceToInductiveDefinition;; - -let debug = false -let profile = false -let debug_print s = if debug then prerr_endline (Lazy.force s) - -let fdebug = ref 1;; -let debug t env s = - let rec debug_aux t i = - let module C = Cic in - let module U = UriManager in - CicPp.ppobj (C.Variable ("DEBUG", None, t, [], [])) ^ "\n" ^ i - in - if !fdebug = 0 then - debug_print (lazy (s ^ "\n" ^ List.fold_right debug_aux (t::env) "")) -;; - -module type Strategy = - sig - type stack_term - type env_term - type ens_term - val to_stack : Cic.term -> stack_term - val to_stack_list : Cic.term list -> stack_term list - val to_env : Cic.term -> env_term - val to_ens : Cic.term -> ens_term - val from_stack : - unwind: - (int -> env_term list -> ens_term Cic.explicit_named_substitution -> - Cic.term -> Cic.term) -> - stack_term -> Cic.term - val from_stack_list : - unwind: - (int -> env_term list -> ens_term Cic.explicit_named_substitution -> - Cic.term -> Cic.term) -> - stack_term list -> Cic.term list - val from_env : env_term -> Cic.term - val from_ens : ens_term -> Cic.term - val stack_to_env : - reduce: - (int * env_term list * ens_term Cic.explicit_named_substitution * - Cic.term * stack_term list -> Cic.term) -> - unwind: - (int -> env_term list -> ens_term Cic.explicit_named_substitution -> - Cic.term -> Cic.term) -> - stack_term -> env_term - val compute_to_env : - reduce: - (int * env_term list * ens_term Cic.explicit_named_substitution * Cic.term * - stack_term list -> Cic.term) -> - unwind: - (int -> env_term list -> ens_term Cic.explicit_named_substitution -> - Cic.term -> Cic.term) -> - int -> env_term list -> ens_term Cic.explicit_named_substitution -> - Cic.term -> env_term - val compute_to_stack : - reduce: - (int * env_term list * ens_term Cic.explicit_named_substitution * Cic.term * - stack_term list -> Cic.term) -> - unwind: - (int -> env_term list -> ens_term Cic.explicit_named_substitution -> - Cic.term -> Cic.term) -> - int -> env_term list -> ens_term Cic.explicit_named_substitution -> - Cic.term -> stack_term - end -;; - -module CallByNameStrategy = - struct - type stack_term = Cic.term - type env_term = Cic.term - type ens_term = Cic.term - let to_stack v = v - let to_stack_list l = l - let to_env v = v - let to_ens v = v - let from_stack ~unwind v = v - let from_stack_list ~unwind l = l - let from_env v = v - let from_ens v = v - let stack_to_env ~reduce ~unwind v = v - let compute_to_stack ~reduce ~unwind k e ens t = unwind k e ens t - let compute_to_env ~reduce ~unwind k e ens t = unwind k e ens t - end -;; - -module CallByValueStrategy = - struct - type stack_term = Cic.term - type env_term = Cic.term - type ens_term = Cic.term - let to_stack v = v - let to_stack_list l = l - let to_env v = v - let to_ens v = v - let from_stack ~unwind v = v - let from_stack_list ~unwind l = l - let from_env v = v - let from_ens v = v - let stack_to_env ~reduce ~unwind v = v - let compute_to_stack ~reduce ~unwind k e ens t = reduce (k,e,ens,t,[]) - let compute_to_env ~reduce ~unwind k e ens t = reduce (k,e,ens,t,[]) - end -;; - -module CallByValueStrategyByNameOnConstants = - struct - type stack_term = Cic.term - type env_term = Cic.term - type ens_term = Cic.term - let to_stack v = v - let to_stack_list l = l - let to_env v = v - let to_ens v = v - let from_stack ~unwind v = v - let from_stack_list ~unwind l = l - let from_env v = v - let from_ens v = v - let stack_to_env ~reduce ~unwind v = v - let compute_to_stack ~reduce ~unwind k e ens = - function - Cic.Const _ as t -> unwind k e ens t - | t -> reduce (k,e,ens,t,[]) - let compute_to_env ~reduce ~unwind k e ens = - function - Cic.Const _ as t -> unwind k e ens t - | t -> reduce (k,e,ens,t,[]) - end -;; - -module LazyCallByValueStrategy = - struct - type stack_term = Cic.term lazy_t - type env_term = Cic.term lazy_t - type ens_term = Cic.term lazy_t - let to_stack v = lazy v - let to_stack_list l = List.map to_stack l - let to_env v = lazy v - let to_ens v = lazy v - let from_stack ~unwind v = Lazy.force v - let from_stack_list ~unwind l = List.map (from_stack ~unwind) l - let from_env v = Lazy.force v - let from_ens v = Lazy.force v - let stack_to_env ~reduce ~unwind v = v - let compute_to_stack ~reduce ~unwind k e ens t = lazy (reduce (k,e,ens,t,[])) - let compute_to_env ~reduce ~unwind k e ens t = lazy (reduce (k,e,ens,t,[])) - end -;; - -module LazyCallByValueStrategyByNameOnConstants = - struct - type stack_term = Cic.term lazy_t - type env_term = Cic.term lazy_t - type ens_term = Cic.term lazy_t - let to_stack v = lazy v - let to_stack_list l = List.map to_stack l - let to_env v = lazy v - let to_ens v = lazy v - let from_stack ~unwind v = Lazy.force v - let from_stack_list ~unwind l = List.map (from_stack ~unwind) l - let from_env v = Lazy.force v - let from_ens v = Lazy.force v - let stack_to_env ~reduce ~unwind v = v - let compute_to_stack ~reduce ~unwind k e ens t = - lazy ( - match t with - Cic.Const _ as t -> unwind k e ens t - | t -> reduce (k,e,ens,t,[])) - let compute_to_env ~reduce ~unwind k e ens t = - lazy ( - match t with - Cic.Const _ as t -> unwind k e ens t - | t -> reduce (k,e,ens,t,[])) - end -;; - -module LazyCallByNameStrategy = - struct - type stack_term = Cic.term lazy_t - type env_term = Cic.term lazy_t - type ens_term = Cic.term lazy_t - let to_stack v = lazy v - let to_stack_list l = List.map to_stack l - let to_env v = lazy v - let to_ens v = lazy v - let from_stack ~unwind v = Lazy.force v - let from_stack_list ~unwind l = List.map (from_stack ~unwind) l - let from_env v = Lazy.force v - let from_ens v = Lazy.force v - let stack_to_env ~reduce ~unwind v = v - let compute_to_stack ~reduce ~unwind k e ens t = lazy (unwind k e ens t) - let compute_to_env ~reduce ~unwind k e ens t = lazy (unwind k e ens t) - end -;; - -module - LazyCallByValueByNameOnConstantsWhenFromStack_ByNameStrategyWhenFromEnvOrEns -= - struct - type stack_term = reduce:bool -> Cic.term - type env_term = reduce:bool -> Cic.term - type ens_term = reduce:bool -> Cic.term - let to_stack v = - let value = lazy v in - fun ~reduce -> Lazy.force value - let to_stack_list l = List.map to_stack l - let to_env v = - let value = lazy v in - fun ~reduce -> Lazy.force value - let to_ens v = - let value = lazy v in - fun ~reduce -> Lazy.force value - let from_stack ~unwind v = (v ~reduce:false) - let from_stack_list ~unwind l = List.map (from_stack ~unwind) l - let from_env v = (v ~reduce:true) - let from_ens v = (v ~reduce:true) - let stack_to_env ~reduce ~unwind v = v - let compute_to_stack ~reduce ~unwind k e ens t = - let svalue = - lazy ( - match t with - Cic.Const _ as t -> unwind k e ens t - | t -> reduce (k,e,ens,t,[]) - ) in - let lvalue = - lazy (unwind k e ens t) - in - fun ~reduce -> - if reduce then Lazy.force svalue else Lazy.force lvalue - let compute_to_env ~reduce ~unwind k e ens t = - let svalue = - lazy ( - match t with - Cic.Const _ as t -> unwind k e ens t - | t -> reduce (k,e,ens,t,[]) - ) in - let lvalue = - lazy (unwind k e ens t) - in - fun ~reduce -> - if reduce then Lazy.force svalue else Lazy.force lvalue - end -;; - -module ClosuresOnStackByValueFromEnvOrEnsStrategy = - struct - type stack_term = - int * Cic.term list * Cic.term Cic.explicit_named_substitution * Cic.term - type env_term = Cic.term - type ens_term = Cic.term - let to_stack v = (0,[],[],v) - let to_stack_list l = List.map to_stack l - let to_env v = v - let to_ens v = v - let from_stack ~unwind (k,e,ens,t) = unwind k e ens t - let from_stack_list ~unwind l = List.map (from_stack ~unwind) l - let from_env v = v - let from_ens v = v - let stack_to_env ~reduce ~unwind (k,e,ens,t) = reduce (k,e,ens,t,[]) - let compute_to_env ~reduce ~unwind k e ens t = - unwind k e ens t - let compute_to_stack ~reduce ~unwind k e ens t = (k,e,ens,t) - end -;; - -module ClosuresOnStackByValueFromEnvOrEnsByNameOnConstantsStrategy = - struct - type stack_term = - int * Cic.term list * Cic.term Cic.explicit_named_substitution * Cic.term - type env_term = Cic.term - type ens_term = Cic.term - let to_stack v = (0,[],[],v) - let to_stack_list l = List.map to_stack l - let to_env v = v - let to_ens v = v - let from_stack ~unwind (k,e,ens,t) = unwind k e ens t - let from_stack_list ~unwind l = List.map (from_stack ~unwind) l - let from_env v = v - let from_ens v = v - let stack_to_env ~reduce ~unwind (k,e,ens,t) = - match t with - Cic.Const _ as t -> unwind k e ens t - | t -> reduce (k,e,ens,t,[]) - let compute_to_env ~reduce ~unwind k e ens t = - unwind k e ens t - let compute_to_stack ~reduce ~unwind k e ens t = (k,e,ens,t) - end -;; - -module Reduction(RS : Strategy) = - struct - type env = RS.env_term list - type ens = RS.ens_term Cic.explicit_named_substitution - type stack = RS.stack_term list - type config = int * env * ens * Cic.term * stack - - (* k is the length of the environment e *) - (* m is the current depth inside the term *) - let unwind' m k e ens t = - let module C = Cic in - let module S = CicSubstitution in - if k = 0 && ens = [] then - t - else - let rec unwind_aux m = - function - C.Rel n as t -> - if n <= m then t else - let d = - try - Some (RS.from_env (List.nth e (n-m-1))) - with _ -> None - in - (match d with - Some t' -> - if m = 0 then t' else S.lift m t' - | None -> C.Rel (n-k) - ) - | C.Var (uri,exp_named_subst) -> -(* -debug_print (lazy ("%%%%%UWVAR " ^ String.concat " ; " (List.map (function (uri,t) -> UriManager.string_of_uri uri ^ " := " ^ CicPp.ppterm t) ens))) ; -*) - if List.exists (function (uri',_) -> UriManager.eq uri' uri) ens then - CicSubstitution.lift m (RS.from_ens (List.assq uri ens)) - else - let params = - let o,_ = - CicEnvironment.get_cooked_obj CicUniv.empty_ugraph uri - in - (match o with - C.Constant _ -> raise ReferenceToConstant - | C.Variable (_,_,_,params,_) -> params - | C.CurrentProof _ -> raise ReferenceToCurrentProof - | C.InductiveDefinition _ -> raise ReferenceToInductiveDefinition - ) - in - let exp_named_subst' = - substaux_in_exp_named_subst params exp_named_subst m - in - C.Var (uri,exp_named_subst') - | C.Meta (i,l) -> - let l' = - List.map - (function - None -> None - | Some t -> Some (unwind_aux m t) - ) l - in - C.Meta (i, l') - | C.Sort _ as t -> t - | C.Implicit _ as t -> t - | C.Cast (te,ty) -> C.Cast (unwind_aux m te, unwind_aux m ty) (*CSC ???*) - | C.Prod (n,s,t) -> C.Prod (n, unwind_aux m s, unwind_aux (m + 1) t) - | C.Lambda (n,s,t) -> C.Lambda (n, unwind_aux m s, unwind_aux (m + 1) t) - | C.LetIn (n,s,t) -> C.LetIn (n, unwind_aux m s, unwind_aux (m + 1) t) - | C.Appl l -> C.Appl (List.map (unwind_aux m) l) - | C.Const (uri,exp_named_subst) -> - let params = - let o,_ = - CicEnvironment.get_cooked_obj CicUniv.empty_ugraph uri - in - (match o with - C.Constant (_,_,_,params,_) -> params - | C.Variable _ -> raise ReferenceToVariable - | C.CurrentProof (_,_,_,_,params,_) -> params - | C.InductiveDefinition _ -> raise ReferenceToInductiveDefinition - ) - in - let exp_named_subst' = - substaux_in_exp_named_subst params exp_named_subst m - in - C.Const (uri,exp_named_subst') - | C.MutInd (uri,i,exp_named_subst) -> - let params = - let o,_ = - CicEnvironment.get_cooked_obj CicUniv.empty_ugraph uri - in - (match o with - C.Constant _ -> raise ReferenceToConstant - | C.Variable _ -> raise ReferenceToVariable - | C.CurrentProof _ -> raise ReferenceToCurrentProof - | C.InductiveDefinition (_,params,_,_) -> params - ) - in - let exp_named_subst' = - substaux_in_exp_named_subst params exp_named_subst m - in - C.MutInd (uri,i,exp_named_subst') - | C.MutConstruct (uri,i,j,exp_named_subst) -> - let params = - let o,_ = - CicEnvironment.get_cooked_obj CicUniv.empty_ugraph uri - in - (match o with - C.Constant _ -> raise ReferenceToConstant - | C.Variable _ -> raise ReferenceToVariable - | C.CurrentProof _ -> raise ReferenceToCurrentProof - | C.InductiveDefinition (_,params,_,_) -> params - ) - in - let exp_named_subst' = - substaux_in_exp_named_subst params exp_named_subst m - in - C.MutConstruct (uri,i,j,exp_named_subst') - | C.MutCase (sp,i,outt,t,pl) -> - C.MutCase (sp,i,unwind_aux m outt, unwind_aux m t, - List.map (unwind_aux m) pl) - | C.Fix (i,fl) -> - let len = List.length fl in - let substitutedfl = - List.map - (fun (name,i,ty,bo) -> - (name, i, unwind_aux m ty, unwind_aux (m+len) bo)) - fl - in - C.Fix (i, substitutedfl) - | C.CoFix (i,fl) -> - let len = List.length fl in - let substitutedfl = - List.map - (fun (name,ty,bo) -> (name, unwind_aux m ty, unwind_aux (m+len) bo)) - fl - in - C.CoFix (i, substitutedfl) - and substaux_in_exp_named_subst params exp_named_subst' m = - (*CSC: Idea di Andrea di ordinare compatibilmente con l'ordine dei params - let ens' = - List.map (function (uri,t) -> uri, unwind_aux m t) exp_named_subst' @ - (*CSC: qui liftiamo tutti gli ens anche se magari me ne servono la meta'!!! *) - List.map (function (uri,t) -> uri, CicSubstitution.lift m t) ens - in - let rec filter_and_lift = - function - [] -> [] - | uri::tl -> - let r = filter_and_lift tl in - (try - (uri,(List.assq uri ens'))::r - with - Not_found -> r - ) - in - filter_and_lift params - *) - - (*CSC: invece di concatenare sarebbe meglio rispettare l'ordine dei params *) - (*CSC: e' vero???? una veloce prova non sembra confermare la teoria *) - - (*CSC: codice copiato e modificato dalla cicSubstitution.subst_vars *) - (*CSC: codice altamente inefficiente *) - let rec filter_and_lift already_instantiated = - function - [] -> [] - | (uri,t)::tl when - List.for_all - (function (uri',_)-> not (UriManager.eq uri uri')) exp_named_subst' - && - not (List.mem uri already_instantiated) - && - List.mem uri params - -> - (uri,CicSubstitution.lift m (RS.from_ens t)) :: - (filter_and_lift (uri::already_instantiated) tl) - | _::tl -> filter_and_lift already_instantiated tl -(* - | (uri,_)::tl -> -debug_print (lazy ("---- SKIPPO " ^ UriManager.string_of_uri uri)) ; -if List.for_all (function (uri',_) -> not (UriManager.eq uri uri')) -exp_named_subst' then debug_print (lazy "---- OK1") ; -debug_print (lazy ("++++ uri " ^ UriManager.string_of_uri uri ^ " not in " ^ String.concat " ; " (List.map UriManager.string_of_uri params))) ; -if List.mem uri params then debug_print (lazy "---- OK2") ; - filter_and_lift tl -*) - in - List.map (function (uri,t) -> uri, unwind_aux m t) exp_named_subst' @ - (filter_and_lift [] (List.rev ens)) - in - unwind_aux m t - ;; - - let unwind = unwind' 0;; - -(* - let unwind = - let profiler_unwind = HExtlib.profile ~enable:profile "are_convertible.unwind" in - fun k e ens t -> - profiler_unwind.HExtlib.profile (unwind k e ens) t - ;; -*) - - let reduce ~delta ?(subst = []) context : config -> Cic.term = - let module C = Cic in - let module S = CicSubstitution in - let rec reduce = - function - (k, e, _, (C.Rel n as t), s) -> - let d = - try - Some (RS.from_env (List.nth e (n-1))) - with - _ -> - try - begin - match List.nth context (n - 1 - k) with - None -> assert false - | Some (_,C.Decl _) -> None - | Some (_,C.Def (x,_)) -> Some (S.lift (n - k) x) - end - with - _ -> None - in - (match d with - Some t' -> reduce (0,[],[],t',s) - | None -> - if s = [] then - C.Rel (n-k) - else C.Appl (C.Rel (n-k)::(RS.from_stack_list ~unwind s)) - ) - | (k, e, ens, (C.Var (uri,exp_named_subst) as t), s) -> - if List.exists (function (uri',_) -> UriManager.eq uri' uri) ens then - reduce (0, [], [], RS.from_ens (List.assq uri ens), s) - else - ( let o,_ = - CicEnvironment.get_cooked_obj CicUniv.empty_ugraph uri - in - match o with - C.Constant _ -> raise ReferenceToConstant - | C.CurrentProof _ -> raise ReferenceToCurrentProof - | C.InductiveDefinition _ -> raise ReferenceToInductiveDefinition - | C.Variable (_,None,_,_,_) -> - let t' = unwind k e ens t in - if s = [] then t' else - C.Appl (t'::(RS.from_stack_list ~unwind s)) - | C.Variable (_,Some body,_,_,_) -> - let ens' = push_exp_named_subst k e ens exp_named_subst in - reduce (0, [], ens', body, s) - ) - | (k, e, ens, (C.Meta (n,l) as t), s) -> - (try - let (_, term,_) = CicUtil.lookup_subst n subst in - reduce (k, e, ens,CicSubstitution.subst_meta l term,s) - with CicUtil.Subst_not_found _ -> - let t' = unwind k e ens t in - if s = [] then t' else C.Appl (t'::(RS.from_stack_list ~unwind s))) - | (k, e, _, (C.Sort _ as t), s) -> t (* s should be empty *) - | (k, e, _, (C.Implicit _ as t), s) -> t (* s should be empty *) - | (k, e, ens, (C.Cast (te,ty) as t), s) -> - reduce (k, e, ens, te, s) (* s should be empty *) - | (k, e, ens, (C.Prod _ as t), s) -> - unwind k e ens t (* s should be empty *) - | (k, e, ens, (C.Lambda (_,_,t) as t'), []) -> unwind k e ens t' - | (k, e, ens, C.Lambda (_,_,t), p::s) -> - reduce (k+1, (RS.stack_to_env ~reduce ~unwind p)::e, ens, t,s) - | (k, e, ens, (C.LetIn (_,m,t) as t'), s) -> - let m' = RS.compute_to_env ~reduce ~unwind k e ens m in - reduce (k+1, m'::e, ens, t, s) - | (_, _, _, C.Appl [], _) -> assert false - | (k, e, ens, C.Appl (he::tl), s) -> - let tl' = - List.map - (function t -> RS.compute_to_stack ~reduce ~unwind k e ens t) tl - in - reduce (k, e, ens, he, (List.append tl') s) - (* CSC: Old Dead Code - | (k, e, ens, C.Appl ((C.Lambda _ as he)::tl), s) - | (k, e, ens, C.Appl ((C.Const _ as he)::tl), s) - | (k, e, ens, C.Appl ((C.MutCase _ as he)::tl), s) - | (k, e, ens, C.Appl ((C.Fix _ as he)::tl), s) -> - (* strict evaluation, but constants are NOT unfolded *) - let red = - function - C.Const _ as t -> unwind k e ens t - | t -> reduce (k,e,ens,t,[]) - in - let tl' = List.map red tl in - reduce (k, e, ens, he , List.append tl' s) - | (k, e, ens, C.Appl l, s) -> - C.Appl (List.append (List.map (unwind k e ens) l) s) - *) - | (k, e, ens, (C.Const (uri,exp_named_subst) as t), s) when delta=false-> - let t' = unwind k e ens t in - if s = [] then t' else C.Appl (t'::(RS.from_stack_list ~unwind s)) - | (k, e, ens, (C.Const (uri,exp_named_subst) as t), s) -> - (let o,_ = - CicEnvironment.get_cooked_obj CicUniv.empty_ugraph uri - in - match o with - C.Constant (_,Some body,_,_,_) -> - let ens' = push_exp_named_subst k e ens exp_named_subst in - (* constants are closed *) - reduce (0, [], ens', body, s) - | C.Constant (_,None,_,_,_) -> - let t' = unwind k e ens t in - if s = [] then t' else C.Appl (t'::(RS.from_stack_list ~unwind s)) - | C.Variable _ -> raise ReferenceToVariable - | C.CurrentProof (_,_,body,_,_,_) -> - let ens' = push_exp_named_subst k e ens exp_named_subst in - (* constants are closed *) - reduce (0, [], ens', body, s) - | C.InductiveDefinition _ -> raise ReferenceToInductiveDefinition - ) - | (k, e, ens, (C.MutInd _ as t),s) -> - let t' = unwind k e ens t in - if s = [] then t' else C.Appl (t'::(RS.from_stack_list ~unwind s)) - | (k, e, ens, (C.MutConstruct _ as t),s) -> - let t' = unwind k e ens t in - if s = [] then t' else C.Appl (t'::(RS.from_stack_list ~unwind s)) - | (k, e, ens, (C.MutCase (mutind,i,_,term,pl) as t),s) -> - let decofix = - function - C.CoFix (i,fl) as t -> - let (_,_,body) = List.nth fl i in - let body' = - let counter = ref (List.length fl) in - List.fold_right - (fun _ -> decr counter ; S.subst (C.CoFix (!counter,fl))) - fl - body - in - (* the term is the result of a reduction; *) - (* so it is already unwinded. *) - reduce (0,[],[],body',[]) - | C.Appl (C.CoFix (i,fl) :: tl) -> - let (_,_,body) = List.nth fl i in - let body' = - let counter = ref (List.length fl) in - List.fold_right - (fun _ -> decr counter ; S.subst (C.CoFix (!counter,fl))) - fl - body - in - (* the term is the result of a reduction; *) - (* so it is already unwinded. *) - reduce (0,[],[],body',RS.to_stack_list tl) - | t -> t - in - (match decofix (reduce (k,e,ens,term,[])) with - C.MutConstruct (_,_,j,_) -> - reduce (k, e, ens, (List.nth pl (j-1)), s) - | C.Appl (C.MutConstruct (_,_,j,_) :: tl) -> - let (arity, r) = - let o,_ = - CicEnvironment.get_cooked_obj CicUniv.empty_ugraph mutind - in - match o with - C.InductiveDefinition (tl,ingredients,r,_) -> - let (_,_,arity,_) = List.nth tl i in - (arity,r) - | _ -> raise WrongUriToInductiveDefinition - in - let ts = - let num_to_eat = r in - let rec eat_first = - function - (0,l) -> l - | (n,he::tl) when n > 0 -> eat_first (n - 1, tl) - | _ -> raise (Impossible 5) - in - eat_first (num_to_eat,tl) - in - (* ts are already unwinded because they are a sublist of tl *) - reduce (k, e, ens, (List.nth pl (j-1)), (RS.to_stack_list ts)@s) - | C.Cast _ | C.Implicit _ -> - raise (Impossible 2) (* we don't trust our whd ;-) *) - | _ -> - let t' = unwind k e ens t in - if s = [] then t' else C.Appl (t'::(RS.from_stack_list ~unwind s)) - ) - | (k, e, ens, (C.Fix (i,fl) as t), s) -> - let (_,recindex,_,body) = List.nth fl i in - let recparam = - try - Some (RS.from_stack ~unwind (List.nth s recindex)) - with - _ -> None - in - (match recparam with - Some recparam -> - (match reduce (0,[],[],recparam,[]) with - (* match recparam with *) - C.MutConstruct _ - | C.Appl ((C.MutConstruct _)::_) -> - (* OLD - let body' = - let counter = ref (List.length fl) in - List.fold_right - (fun _ -> decr counter ; S.subst (C.Fix (!counter,fl))) - fl - body - in - reduce (k, e, ens, body', s) *) - (* NEW *) - let leng = List.length fl in - let fl' = - let unwind_fl (name,recindex,typ,body) = - (name,recindex,unwind k e ens typ, - unwind' leng k e ens body) - in - List.map unwind_fl fl - in - let new_env = - let counter = ref 0 in - let rec build_env e = - if !counter = leng then e - else - (incr counter ; - build_env ((RS.to_env (C.Fix (!counter -1, fl')))::e)) - in - build_env e - in - reduce (k+leng, new_env, ens, body, s) - | _ -> - let t' = unwind k e ens t in - if s = [] then t' else - C.Appl (t'::(RS.from_stack_list ~unwind s)) - ) - | None -> - let t' = unwind k e ens t in - if s = [] then t' else - C.Appl (t'::(RS.from_stack_list ~unwind s)) - ) - | (k, e, ens, (C.CoFix (i,fl) as t),s) -> - let t' = unwind k e ens t in - if s = [] then t' else C.Appl (t'::(RS.from_stack_list ~unwind s)) - and push_exp_named_subst k e ens = - function - [] -> ens - | (uri,t)::tl -> - push_exp_named_subst k e ((uri,RS.to_ens (unwind k e ens t))::ens) tl - in - reduce - ;; - (* - let rec whd context t = - try - reduce context (0, [], [], t, []) - with Not_found -> - debug_print (lazy (CicPp.ppterm t)) ; - raise Not_found - ;; - *) - - let rec whd ?(delta=true) ?(subst=[]) context t = - reduce ~delta ~subst context (0, [], [], t, []) - ;; - - - end -;; - - -(* ROTTO = rompe l'unificazione poiche' riduce gli argomenti di un'applicazione - senza ridurre la testa -module R = Reduction CallByNameStrategy;; OK 56.368s -module R = Reduction CallByValueStrategy;; ROTTO -module R = Reduction CallByValueStrategyByNameOnConstants;; ROTTO -module R = Reduction LazyCallByValueStrategy;; ROTTO -module R = Reduction LazyCallByValueStrategyByNameOnConstants;; ROTTO -module R = Reduction LazyCallByNameStrategy;; OK 0m56.398s -module R = Reduction - LazyCallByValueByNameOnConstantsWhenFromStack_ByNameStrategyWhenFromEnvOrEns;; - OK 59.058s -module R = Reduction ClosuresOnStackByValueFromEnvOrEnsStrategy;; OK 58.583s -module R = Reduction - ClosuresOnStackByValueFromEnvOrEnsByNameOnConstantsStrategy;; OK 58.094s -module R = Reduction(ClosuresOnStackByValueFromEnvOrEnsStrategy);; OK 58.127s -*) -module R = Reduction(ClosuresOnStackByValueFromEnvOrEnsStrategy);; -module U = UriManager;; - -let whd = R.whd - -(* -let whd = - let profiler_whd = HExtlib.profile ~enable:profile "are_convertible.whd" in - fun ?(delta=true) ?(subst=[]) context t -> - profiler_whd.HExtlib.profile (whd ~delta ~subst context) t -*) - - (* mimic ocaml (<< 3.08) "=" behaviour. Tests physical equality first then - * fallbacks to structural equality *) -let (===) x y = - Pervasives.compare x y = 0 - -(* t1, t2 must be well-typed *) -let are_convertible whd ?(subst=[]) ?(metasenv=[]) = - let rec aux test_equality_only context t1 t2 ugraph = - let aux2 test_equality_only t1 t2 ugraph = - - (* this trivial euristic cuts down the total time of about five times ;-) *) - (* this because most of the time t1 and t2 are "sintactically" the same *) - if t1 === t2 then - true,ugraph - else - begin - let module C = Cic in - match (t1,t2) with - (C.Rel n1, C.Rel n2) -> (n1 = n2),ugraph - | (C.Var (uri1,exp_named_subst1), C.Var (uri2,exp_named_subst2)) -> - if U.eq uri1 uri2 then - (try - List.fold_right2 - (fun (uri1,x) (uri2,y) (b,ugraph) -> - let b',ugraph' = aux test_equality_only context x y ugraph in - (U.eq uri1 uri2 && b' && b),ugraph' - ) exp_named_subst1 exp_named_subst2 (true,ugraph) - with - Invalid_argument _ -> false,ugraph - ) - else - false,ugraph - | (C.Meta (n1,l1), C.Meta (n2,l2)) -> - if n1 = n2 then - let b2, ugraph1 = - let l1 = CicUtil.clean_up_local_context subst metasenv n1 l1 in - let l2 = CicUtil.clean_up_local_context subst metasenv n2 l2 in - List.fold_left2 - (fun (b,ugraph) t1 t2 -> - if b then - match t1,t2 with - None,_ - | _,None -> true,ugraph - | Some t1',Some t2' -> - aux test_equality_only context t1' t2' ugraph - else - false,ugraph - ) (true,ugraph) l1 l2 - in - if b2 then true,ugraph1 else false,ugraph - else - false,ugraph - (* TASSI: CONSTRAINTS *) - | (C.Sort (C.Type t1), C.Sort (C.Type t2)) when test_equality_only -> - true,(CicUniv.add_eq t2 t1 ugraph) - (* TASSI: CONSTRAINTS *) - | (C.Sort (C.Type t1), C.Sort (C.Type t2)) -> - true,(CicUniv.add_ge t2 t1 ugraph) - (* TASSI: CONSTRAINTS *) - | (C.Sort s1, C.Sort (C.Type _)) -> (not test_equality_only),ugraph - (* TASSI: CONSTRAINTS *) - | (C.Sort s1, C.Sort s2) -> (s1 = s2),ugraph - | (C.Prod (name1,s1,t1), C.Prod(_,s2,t2)) -> - let b',ugraph' = aux true context s1 s2 ugraph in - if b' then - aux test_equality_only ((Some (name1, (C.Decl s1)))::context) - t1 t2 ugraph' - else - false,ugraph - | (C.Lambda (name1,s1,t1), C.Lambda(_,s2,t2)) -> - let b',ugraph' = aux test_equality_only context s1 s2 ugraph in - if b' then - aux test_equality_only ((Some (name1, (C.Decl s1)))::context) - t1 t2 ugraph' - else - false,ugraph - | (C.LetIn (name1,s1,t1), C.LetIn(_,s2,t2)) -> - let b',ugraph' = aux test_equality_only context s1 s2 ugraph in - if b' then - aux test_equality_only - ((Some (name1, (C.Def (s1,None))))::context) t1 t2 ugraph' - else - false,ugraph - | (C.Appl l1, C.Appl l2) -> - (try - List.fold_right2 - (fun x y (b,ugraph) -> - if b then - aux test_equality_only context x y ugraph - else - false,ugraph) l1 l2 (true,ugraph) - with - Invalid_argument _ -> false,ugraph - ) - | (C.Const (uri1,exp_named_subst1), C.Const (uri2,exp_named_subst2)) -> - let b' = U.eq uri1 uri2 in - if b' then - (try - List.fold_right2 - (fun (uri1,x) (uri2,y) (b,ugraph) -> - if b && U.eq uri1 uri2 then - aux test_equality_only context x y ugraph - else - false,ugraph - ) exp_named_subst1 exp_named_subst2 (true,ugraph) - with - Invalid_argument _ -> false,ugraph - ) - else - false,ugraph - | (C.MutInd (uri1,i1,exp_named_subst1), - C.MutInd (uri2,i2,exp_named_subst2) - ) -> - let b' = U.eq uri1 uri2 && i1 = i2 in - if b' then - (try - List.fold_right2 - (fun (uri1,x) (uri2,y) (b,ugraph) -> - if b && U.eq uri1 uri2 then - aux test_equality_only context x y ugraph - else - false,ugraph - ) exp_named_subst1 exp_named_subst2 (true,ugraph) - with - Invalid_argument _ -> false,ugraph - ) - else - false,ugraph - | (C.MutConstruct (uri1,i1,j1,exp_named_subst1), - C.MutConstruct (uri2,i2,j2,exp_named_subst2) - ) -> - let b' = U.eq uri1 uri2 && i1 = i2 && j1 = j2 in - if b' then - (try - List.fold_right2 - (fun (uri1,x) (uri2,y) (b,ugraph) -> - if b && U.eq uri1 uri2 then - aux test_equality_only context x y ugraph - else - false,ugraph - ) exp_named_subst1 exp_named_subst2 (true,ugraph) - with - Invalid_argument _ -> false,ugraph - ) - else - false,ugraph - | (C.MutCase (uri1,i1,outtype1,term1,pl1), - C.MutCase (uri2,i2,outtype2,term2,pl2)) -> - let b' = U.eq uri1 uri2 && i1 = i2 in - if b' then - let b'',ugraph''=aux test_equality_only context - outtype1 outtype2 ugraph in - if b'' then - let b''',ugraph'''= aux test_equality_only context - term1 term2 ugraph'' in - List.fold_right2 - (fun x y (b,ugraph) -> - if b then - aux test_equality_only context x y ugraph - else - false,ugraph) - pl1 pl2 (b''',ugraph''') - else - false,ugraph - else - false,ugraph - | (C.Fix (i1,fl1), C.Fix (i2,fl2)) -> - let tys = - List.map (function (n,_,ty,_) -> Some (C.Name n,(C.Decl ty))) fl1 - in - if i1 = i2 then - List.fold_right2 - (fun (_,recindex1,ty1,bo1) (_,recindex2,ty2,bo2) (b,ugraph) -> - if b && recindex1 = recindex2 then - let b',ugraph' = aux test_equality_only context ty1 ty2 - ugraph in - if b' then - aux test_equality_only (tys@context) bo1 bo2 ugraph' - else - false,ugraph - else - false,ugraph) - fl1 fl2 (true,ugraph) - else - false,ugraph - | (C.CoFix (i1,fl1), C.CoFix (i2,fl2)) -> - let tys = - List.map (function (n,ty,_) -> Some (C.Name n,(C.Decl ty))) fl1 - in - if i1 = i2 then - List.fold_right2 - (fun (_,ty1,bo1) (_,ty2,bo2) (b,ugraph) -> - if b then - let b',ugraph' = aux test_equality_only context ty1 ty2 - ugraph in - if b' then - aux test_equality_only (tys@context) bo1 bo2 ugraph' - else - false,ugraph - else - false,ugraph) - fl1 fl2 (true,ugraph) - else - false,ugraph - | (C.Cast _, _) | (_, C.Cast _) - | (C.Implicit _, _) | (_, C.Implicit _) -> assert false - | (_,_) -> false,ugraph - end - in - begin - debug t1 [t2] "PREWHD"; - (* - (match t1 with - Cic.Meta _ -> - debug_print (lazy (CicPp.ppterm t1)); - debug_print (lazy (CicPp.ppterm (whd ~subst context t1))); - debug_print (lazy (CicPp.ppterm t2)); - debug_print (lazy (CicPp.ppterm (whd ~subst context t2))) - | _ -> ()); *) - let t1' = whd ?delta:(Some true) ?subst:(Some subst) context t1 in - let t2' = whd ?delta:(Some true) ?subst:(Some subst) context t2 in - debug t1' [t2'] "POSTWHD"; - aux2 test_equality_only t1' t2' ugraph - end - in - aux false (*c t1 t2 ugraph *) -;; - -(* DEBUGGING ONLY -let whd ?(delta=true) ?(subst=[]) context t = - let res = whd ~delta ~subst context t in - let rescsc = CicReductionNaif.whd ~delta ~subst context t in - if not (fst (are_convertible CicReductionNaif.whd ~subst context res rescsc CicUniv.empty_ugraph)) then - begin - debug_print (lazy ("PRIMA: " ^ CicPp.ppterm t)) ; - flush stderr ; - debug_print (lazy ("DOPO: " ^ CicPp.ppterm res)) ; - flush stderr ; - debug_print (lazy ("CSC: " ^ CicPp.ppterm rescsc)) ; - flush stderr ; -fdebug := 0 ; -let _ = are_convertible CicReductionNaif.whd ~subst context res rescsc CicUniv.empty_ugraph in - assert false ; - end - else - res -;; -*) - -let are_convertible = are_convertible whd - -let whd = R.whd - -(* -let profiler_other_whd = HExtlib.profile ~enable:profile "~are_convertible.whd" -let whd ?(delta=true) ?(subst=[]) context t = - let foo () = - whd ~delta ~subst context t - in - profiler_other_whd.HExtlib.profile foo () -*) - -let rec normalize ?(delta=true) ?(subst=[]) ctx term = - let module C = Cic in - let t = whd ~delta ~subst ctx term in - let aux = normalize ~delta ~subst in - let decl name t = Some (name, C.Decl t) in - let def name t = Some (name, C.Def (t,None)) in - match t with - | C.Rel n -> t - | C.Var (uri,exp_named_subst) -> - C.Var (uri, List.map (fun (n,t) -> n,aux ctx t) exp_named_subst) - | C.Meta (i,l) -> - C.Meta (i,List.map (function Some t -> Some (aux ctx t) | None -> None) l) - | C.Sort _ -> t - | C.Implicit _ -> t - | C.Cast (te,ty) -> C.Cast (aux ctx te, aux ctx ty) - | C.Prod (n,s,t) -> - let s' = aux ctx s in - C.Prod (n, s', aux ((decl n s')::ctx) t) - | C.Lambda (n,s,t) -> - let s' = aux ctx s in - C.Lambda (n, s', aux ((decl n s')::ctx) t) - | C.LetIn (n,s,t) -> - (* the term is already in weak head normal form *) - assert false - | C.Appl (h::l) -> C.Appl (h::(List.map (aux ctx) l)) - | C.Appl [] -> assert false - | C.Const (uri,exp_named_subst) -> - C.Const (uri, List.map (fun (n,t) -> n,aux ctx t) exp_named_subst) - | C.MutInd (uri,typeno,exp_named_subst) -> - C.MutInd (uri,typeno, List.map (fun (n,t) -> n,aux ctx t) exp_named_subst) - | C.MutConstruct (uri,typeno,consno,exp_named_subst) -> - C.MutConstruct (uri, typeno, consno, - List.map (fun (n,t) -> n,aux ctx t) exp_named_subst) - | C.MutCase (sp,i,outt,t,pl) -> - C.MutCase (sp,i, aux ctx outt, aux ctx t, List.map (aux ctx) pl) -(*CSC: to be completed, I suppose *) - | C.Fix _ -> t - | C.CoFix _ -> t - -let normalize ?delta ?subst ctx term = -(* prerr_endline ("NORMALIZE:" ^ CicPp.ppterm term); *) - let t = normalize ?delta ?subst ctx term in -(* prerr_endline ("NORMALIZED:" ^ CicPp.ppterm t); *) - t - - -(* performs an head beta/cast reduction *) -let rec head_beta_reduce = - function - (Cic.Appl (Cic.Lambda (_,_,t)::he'::tl')) -> - let he'' = CicSubstitution.subst he' t in - if tl' = [] then - he'' - else - let he''' = - match he'' with - Cic.Appl l -> Cic.Appl (l@tl') - | _ -> Cic.Appl (he''::tl') - in - head_beta_reduce he''' - | Cic.Cast (te,_) -> head_beta_reduce te - | t -> t diff --git a/helm/ocaml/cic_proof_checking/cicReduction.mli b/helm/ocaml/cic_proof_checking/cicReduction.mli deleted file mode 100644 index e3619053d..000000000 --- a/helm/ocaml/cic_proof_checking/cicReduction.mli +++ /dev/null @@ -1,42 +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 WrongUriToInductiveDefinition -exception ReferenceToConstant -exception ReferenceToVariable -exception ReferenceToCurrentProof -exception ReferenceToInductiveDefinition -val fdebug : int ref -val whd : - ?delta:bool -> ?subst:Cic.substitution -> Cic.context -> Cic.term -> Cic.term -val are_convertible : - ?subst:Cic.substitution -> ?metasenv:Cic.metasenv -> - Cic.context -> Cic.term -> Cic.term -> CicUniv.universe_graph -> - bool * CicUniv.universe_graph -val normalize: - ?delta:bool -> ?subst:Cic.substitution -> Cic.context -> Cic.term -> Cic.term - -(* performs an head beta/cast reduction *) -val head_beta_reduce: Cic.term -> Cic.term diff --git a/helm/ocaml/cic_proof_checking/cicSubstitution.ml b/helm/ocaml/cic_proof_checking/cicSubstitution.ml deleted file mode 100644 index a9fa1d9b1..000000000 --- a/helm/ocaml/cic_proof_checking/cicSubstitution.ml +++ /dev/null @@ -1,425 +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 CannotSubstInMeta;; -exception RelToHiddenHypothesis;; -exception ReferenceToVariable;; -exception ReferenceToConstant;; -exception ReferenceToCurrentProof;; -exception ReferenceToInductiveDefinition;; - -let debug_print = fun _ -> () - -let lift_from k n = - let rec liftaux k = - let module C = Cic in - function - C.Rel m -> - if m < k then - C.Rel m - else - C.Rel (m + n) - | C.Var (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,liftaux k t)) exp_named_subst - in - C.Var (uri,exp_named_subst') - | C.Meta (i,l) -> - let l' = - List.map - (function - None -> None - | Some t -> Some (liftaux k t) - ) l - in - C.Meta(i,l') - | C.Sort _ as t -> t - | C.Implicit _ as t -> t - | C.Cast (te,ty) -> C.Cast (liftaux k te, liftaux k ty) - | C.Prod (n,s,t) -> C.Prod (n, liftaux k s, liftaux (k+1) t) - | C.Lambda (n,s,t) -> C.Lambda (n, liftaux k s, liftaux (k+1) t) - | C.LetIn (n,s,t) -> C.LetIn (n, liftaux k s, liftaux (k+1) t) - | C.Appl l -> C.Appl (List.map (liftaux k) l) - | C.Const (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,liftaux k t)) exp_named_subst - in - C.Const (uri,exp_named_subst') - | C.MutInd (uri,tyno,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,liftaux k t)) exp_named_subst - in - C.MutInd (uri,tyno,exp_named_subst') - | C.MutConstruct (uri,tyno,consno,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,liftaux k t)) exp_named_subst - in - C.MutConstruct (uri,tyno,consno,exp_named_subst') - | C.MutCase (sp,i,outty,t,pl) -> - C.MutCase (sp, i, liftaux k outty, liftaux k t, - List.map (liftaux k) pl) - | C.Fix (i, fl) -> - let len = List.length fl in - let liftedfl = - List.map - (fun (name, i, ty, bo) -> (name, i, liftaux k ty, liftaux (k+len) bo)) - fl - in - C.Fix (i, liftedfl) - | C.CoFix (i, fl) -> - let len = List.length fl in - let liftedfl = - List.map - (fun (name, ty, bo) -> (name, liftaux k ty, liftaux (k+len) bo)) - fl - in - C.CoFix (i, liftedfl) - in - liftaux k - -let lift n t = - if n = 0 then - t - else - lift_from 1 n t -;; - -let subst arg = - let rec substaux k = - let module C = Cic in - function - C.Rel n as t -> - (match n with - n when n = k -> lift (k - 1) arg - | n when n < k -> t - | _ -> C.Rel (n - 1) - ) - | C.Var (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,substaux k t)) exp_named_subst - in - C.Var (uri,exp_named_subst') - | C.Meta (i, l) as t -> - let l' = - List.map - (function - None -> None - | Some t -> Some (substaux k t) - ) l - in - C.Meta(i,l') - | C.Sort _ as t -> t - | C.Implicit _ as t -> t - | C.Cast (te,ty) -> C.Cast (substaux k te, substaux k ty) - | C.Prod (n,s,t) -> C.Prod (n, substaux k s, substaux (k + 1) t) - | C.Lambda (n,s,t) -> C.Lambda (n, substaux k s, substaux (k + 1) t) - | C.LetIn (n,s,t) -> C.LetIn (n, substaux k s, substaux (k + 1) t) - | C.Appl (he::tl) -> - (* Invariant: no Appl applied to another Appl *) - let tl' = List.map (substaux k) tl in - begin - match substaux k he with - C.Appl l -> C.Appl (l@tl') - | _ as he' -> C.Appl (he'::tl') - end - | C.Appl _ -> assert false - | C.Const (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,substaux k t)) exp_named_subst - in - C.Const (uri,exp_named_subst') - | C.MutInd (uri,typeno,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,substaux k t)) exp_named_subst - in - C.MutInd (uri,typeno,exp_named_subst') - | C.MutConstruct (uri,typeno,consno,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,substaux k t)) exp_named_subst - in - C.MutConstruct (uri,typeno,consno,exp_named_subst') - | C.MutCase (sp,i,outt,t,pl) -> - C.MutCase (sp,i,substaux k outt, substaux k t, - List.map (substaux k) pl) - | C.Fix (i,fl) -> - let len = List.length fl in - let substitutedfl = - List.map - (fun (name,i,ty,bo) -> (name, i, substaux k ty, substaux (k+len) bo)) - fl - in - C.Fix (i, substitutedfl) - | C.CoFix (i,fl) -> - let len = List.length fl in - let substitutedfl = - List.map - (fun (name,ty,bo) -> (name, substaux k ty, substaux (k+len) bo)) - fl - in - C.CoFix (i, substitutedfl) - in - substaux 1 -;; - -(*CSC: i controlli di tipo debbono essere svolti da destra a *) -(*CSC: sinistra: i{B/A;b/a} ==> a{B/A;b/a} ==> a{b/a{B/A}} ==> b *) -(*CSC: la sostituzione ora e' implementata in maniera simultanea, ma *) -(*CSC: dovrebbe diventare da sinistra verso destra: *) -(*CSC: t{a=a/A;b/a} ==> \H:a=a.H{b/a} ==> \H:b=b.H *) -(*CSC: per la roba che proviene da Coq questo non serve! *) -let subst_vars exp_named_subst = -(* -debug_print (lazy ("@@@POSSIBLE BUG: SUBSTITUTION IS NOT SIMULTANEOUS")) ; -*) - let rec substaux k = - let module C = Cic in - function - C.Rel _ as t -> t - | C.Var (uri,exp_named_subst') -> - (try - let (_,arg) = - List.find - (function (varuri,_) -> UriManager.eq uri varuri) exp_named_subst - in - lift (k -1) arg - with - Not_found -> - let params = - let obj,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - (match obj with - C.Constant _ -> raise ReferenceToConstant - | C.Variable (_,_,_,params,_) -> params - | C.CurrentProof _ -> raise ReferenceToCurrentProof - | C.InductiveDefinition _ -> raise ReferenceToInductiveDefinition - ) - in -(* -debug_print (lazy "\n\n---- BEGIN ") ; -debug_print (lazy ("----params: " ^ String.concat " ; " (List.map UriManager.string_of_uri params))) ; -debug_print (lazy ("----S(" ^ UriManager.string_of_uri uri ^ "): " ^ String.concat " ; " (List.map (function (uri,_) -> UriManager.string_of_uri uri) exp_named_subst))) ; -debug_print (lazy ("----P: " ^ String.concat " ; " (List.map (function (uri,_) -> UriManager.string_of_uri uri) exp_named_subst'))) ; -*) - let exp_named_subst'' = - substaux_in_exp_named_subst uri k exp_named_subst' params - in -(* -debug_print (lazy ("----D: " ^ String.concat " ; " (List.map (function (uri,_) -> UriManager.string_of_uri uri) exp_named_subst''))) ; -debug_print (lazy "---- END\n\n ") ; -*) - C.Var (uri,exp_named_subst'') - ) - | C.Meta (i, l) as t -> - let l' = - List.map - (function - None -> None - | Some t -> Some (substaux k t) - ) l - in - C.Meta(i,l') - | C.Sort _ as t -> t - | C.Implicit _ as t -> t - | C.Cast (te,ty) -> C.Cast (substaux k te, substaux k ty) - | C.Prod (n,s,t) -> C.Prod (n, substaux k s, substaux (k + 1) t) - | C.Lambda (n,s,t) -> C.Lambda (n, substaux k s, substaux (k + 1) t) - | C.LetIn (n,s,t) -> C.LetIn (n, substaux k s, substaux (k + 1) t) - | C.Appl (he::tl) -> - (* Invariant: no Appl applied to another Appl *) - let tl' = List.map (substaux k) tl in - begin - match substaux k he with - C.Appl l -> C.Appl (l@tl') - | _ as he' -> C.Appl (he'::tl') - end - | C.Appl _ -> assert false - | C.Const (uri,exp_named_subst') -> - let params = - let obj,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - (match obj with - C.Constant (_,_,_,params,_) -> params - | C.Variable _ -> raise ReferenceToVariable - | C.CurrentProof (_,_,_,_,params,_) -> params - | C.InductiveDefinition _ -> raise ReferenceToInductiveDefinition - ) - in - let exp_named_subst'' = - substaux_in_exp_named_subst uri k exp_named_subst' params - in - C.Const (uri,exp_named_subst'') - | C.MutInd (uri,typeno,exp_named_subst') -> - let params = - let obj,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - (match obj with - C.Constant _ -> raise ReferenceToConstant - | C.Variable _ -> raise ReferenceToVariable - | C.CurrentProof _ -> raise ReferenceToCurrentProof - | C.InductiveDefinition (_,params,_,_) -> params - ) - in - let exp_named_subst'' = - substaux_in_exp_named_subst uri k exp_named_subst' params - in - C.MutInd (uri,typeno,exp_named_subst'') - | C.MutConstruct (uri,typeno,consno,exp_named_subst') -> - let params = - let obj,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - (match obj with - C.Constant _ -> raise ReferenceToConstant - | C.Variable _ -> raise ReferenceToVariable - | C.CurrentProof _ -> raise ReferenceToCurrentProof - | C.InductiveDefinition (_,params,_,_) -> params - ) - in - let exp_named_subst'' = - substaux_in_exp_named_subst uri k exp_named_subst' params - in - C.MutConstruct (uri,typeno,consno,exp_named_subst'') - | C.MutCase (sp,i,outt,t,pl) -> - C.MutCase (sp,i,substaux k outt, substaux k t, - List.map (substaux k) pl) - | C.Fix (i,fl) -> - let len = List.length fl in - let substitutedfl = - List.map - (fun (name,i,ty,bo) -> (name, i, substaux k ty, substaux (k+len) bo)) - fl - in - C.Fix (i, substitutedfl) - | C.CoFix (i,fl) -> - let len = List.length fl in - let substitutedfl = - List.map - (fun (name,ty,bo) -> (name, substaux k ty, substaux (k+len) bo)) - fl - in - C.CoFix (i, substitutedfl) - and substaux_in_exp_named_subst uri k exp_named_subst' params = -(*CSC: invece di concatenare sarebbe meglio rispettare l'ordine dei params *) -(*CSC: e' vero???? una veloce prova non sembra confermare la teoria *) - let rec filter_and_lift = - function - [] -> [] - | (uri,t)::tl when - List.for_all - (function (uri',_) -> not (UriManager.eq uri uri')) exp_named_subst' - && - List.mem uri params - -> - (uri,lift (k-1) t)::(filter_and_lift tl) - | _::tl -> filter_and_lift tl -(* - | (uri,_)::tl -> -debug_print (lazy ("---- SKIPPO " ^ UriManager.string_of_uri uri)) ; -if List.for_all (function (uri',_) -> not (UriManager.eq uri uri')) -exp_named_subst' then debug_print (lazy "---- OK1") ; -debug_print (lazy ("++++ uri " ^ UriManager.string_of_uri uri ^ " not in " ^ String.concat " ; " (List.map UriManager.string_of_uri params))) ; -if List.mem uri params then debug_print (lazy "---- OK2") ; - filter_and_lift tl -*) - in - List.map (function (uri,t) -> (uri,substaux k t)) exp_named_subst' @ - (filter_and_lift exp_named_subst) - in - substaux 1 -;; - -(* subst_meta [t_1 ; ... ; t_n] t *) -(* returns the term [t] where [Rel i] is substituted with [t_i] *) -(* [t_i] is lifted as usual when it crosses an abstraction *) -let subst_meta l t = - let module C = Cic in - if l = [] then t else - let rec aux k = function - C.Rel n as t -> - if n <= k then t else - (try - match List.nth l (n-k-1) with - None -> raise RelToHiddenHypothesis - | Some t -> lift k t - with - (Failure _) -> assert false - ) - | C.Var (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,aux k t)) exp_named_subst - in - C.Var (uri,exp_named_subst') - | C.Meta (i,l) -> - let l' = - List.map - (function - None -> None - | Some t -> - try - Some (aux k t) - with - RelToHiddenHypothesis -> None - ) l - in - C.Meta(i,l') - | C.Sort _ as t -> t - | C.Implicit _ as t -> t - | C.Cast (te,ty) -> C.Cast (aux k te, aux k ty) (*CSC ??? *) - | C.Prod (n,s,t) -> C.Prod (n, aux k s, aux (k + 1) t) - | C.Lambda (n,s,t) -> C.Lambda (n, aux k s, aux (k + 1) t) - | C.LetIn (n,s,t) -> C.LetIn (n, aux k s, aux (k + 1) t) - | C.Appl l -> C.Appl (List.map (aux k) l) - | C.Const (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,aux k t)) exp_named_subst - in - C.Const (uri,exp_named_subst') - | C.MutInd (uri,typeno,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,aux k t)) exp_named_subst - in - C.MutInd (uri,typeno,exp_named_subst') - | C.MutConstruct (uri,typeno,consno,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,aux k t)) exp_named_subst - in - C.MutConstruct (uri,typeno,consno,exp_named_subst') - | C.MutCase (sp,i,outt,t,pl) -> - C.MutCase (sp,i,aux k outt, aux k t, List.map (aux k) pl) - | C.Fix (i,fl) -> - let len = List.length fl in - let substitutedfl = - List.map - (fun (name,i,ty,bo) -> (name, i, aux k ty, aux (k+len) bo)) - fl - in - C.Fix (i, substitutedfl) - | C.CoFix (i,fl) -> - let len = List.length fl in - let substitutedfl = - List.map - (fun (name,ty,bo) -> (name, aux k ty, aux (k+len) bo)) - fl - in - C.CoFix (i, substitutedfl) - in - aux 0 t -;; - diff --git a/helm/ocaml/cic_proof_checking/cicSubstitution.mli b/helm/ocaml/cic_proof_checking/cicSubstitution.mli deleted file mode 100644 index 21a1f5d0e..000000000 --- a/helm/ocaml/cic_proof_checking/cicSubstitution.mli +++ /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/. - *) - -exception CannotSubstInMeta;; -exception RelToHiddenHypothesis;; -exception ReferenceToVariable;; -exception ReferenceToConstant;; -exception ReferenceToInductiveDefinition;; - -(* lift n t *) -(* lifts [t] of [n] *) -(* NOTE: the opposite function (delift_rels) is defined in CicMetaSubst *) -(* since it needs to restrict the metavariables in case of failure *) -val lift : int -> Cic.term -> Cic.term - - -(* lift from n t *) -(* as lift but lifts only indexes >= from *) -val lift_from: int -> int -> Cic.term -> Cic.term - -(* subst t1 t2 *) -(* substitutes [t1] for [Rel 1] in [t2] *) -val subst : Cic.term -> Cic.term -> Cic.term - -(* subst_vars exp_named_subst t2 *) -(* applies [exp_named_subst] to [t2] *) -val subst_vars : - Cic.term Cic.explicit_named_substitution -> Cic.term -> Cic.term - -(* subst_meta [t_1 ; ... ; t_n] t *) -(* returns the term [t] where [Rel i] is substituted with [t_i] *) -(* [t_i] is lifted as usual when it crosses an abstraction *) -val subst_meta : (Cic.term option) list -> Cic.term -> Cic.term - diff --git a/helm/ocaml/cic_proof_checking/cicTypeChecker.ml b/helm/ocaml/cic_proof_checking/cicTypeChecker.ml deleted file mode 100644 index af98ff0ef..000000000 --- a/helm/ocaml/cic_proof_checking/cicTypeChecker.ml +++ /dev/null @@ -1,2163 +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/. - *) - -(* TODO factorize functions to frequent errors (e.g. "Unknwon mutual inductive - * ...") *) - -open Printf - -exception AssertFailure of string Lazy.t;; -exception TypeCheckerFailure of string Lazy.t;; - -let fdebug = ref 0;; -let debug t context = - let rec debug_aux t i = - let module C = Cic in - let module U = UriManager in - CicPp.ppobj (C.Variable ("DEBUG", None, t, [], [])) ^ "\n" ^ i - in - if !fdebug = 0 then - raise (TypeCheckerFailure (lazy (List.fold_right debug_aux (t::context) ""))) -;; - -let debug_print = fun _ -> () ;; - -let rec split l n = - match (l,n) with - (l,0) -> ([], l) - | (he::tl, n) -> let (l1,l2) = split tl (n-1) in (he::l1,l2) - | (_,_) -> - raise (TypeCheckerFailure (lazy "Parameters number < left parameters number")) -;; - -let debrujin_constructor uri number_of_types = - let rec aux k = - let module C = Cic in - function - C.Rel n as t when n <= k -> t - | C.Rel _ -> - raise (TypeCheckerFailure (lazy "unbound variable found in constructor type")) - | C.Var (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,aux k t)) exp_named_subst - in - C.Var (uri,exp_named_subst') - | C.Meta (i,l) -> - let l' = List.map (function None -> None | Some t -> Some (aux k t)) l in - C.Meta (i,l) - | C.Sort _ - | C.Implicit _ as t -> t - | C.Cast (te,ty) -> C.Cast (aux k te, aux k ty) - | C.Prod (n,s,t) -> C.Prod (n, aux k s, aux (k+1) t) - | C.Lambda (n,s,t) -> C.Lambda (n, aux k s, aux (k+1) t) - | C.LetIn (n,s,t) -> C.LetIn (n, aux k s, aux (k+1) t) - | C.Appl l -> C.Appl (List.map (aux k) l) - | C.Const (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,aux k t)) exp_named_subst - in - C.Const (uri,exp_named_subst') - | C.MutInd (uri',tyno,exp_named_subst) when UriManager.eq uri uri' -> - if exp_named_subst != [] then - raise (TypeCheckerFailure - (lazy ("non-empty explicit named substitution is applied to "^ - "a mutual inductive type which is being defined"))) ; - C.Rel (k + number_of_types - tyno) ; - | C.MutInd (uri',tyno,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,aux k t)) exp_named_subst - in - C.MutInd (uri',tyno,exp_named_subst') - | C.MutConstruct (uri,tyno,consno,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> (uri,aux k t)) exp_named_subst - in - C.MutConstruct (uri,tyno,consno,exp_named_subst') - | C.MutCase (sp,i,outty,t,pl) -> - C.MutCase (sp, i, aux k outty, aux k t, - List.map (aux k) pl) - | C.Fix (i, fl) -> - let len = List.length fl in - let liftedfl = - List.map - (fun (name, i, ty, bo) -> (name, i, aux k ty, aux (k+len) bo)) - fl - in - C.Fix (i, liftedfl) - | C.CoFix (i, fl) -> - let len = List.length fl in - let liftedfl = - List.map - (fun (name, ty, bo) -> (name, aux k ty, aux (k+len) bo)) - fl - in - C.CoFix (i, liftedfl) - in - aux 0 -;; - -exception CicEnvironmentError;; - -let rec type_of_constant ~logger uri ugraph = - let module C = Cic in - let module R = CicReduction in - let module U = UriManager in - let cobj,ugraph = - match CicEnvironment.is_type_checked ~trust:true ugraph uri with - CicEnvironment.CheckedObj (cobj,ugraph') -> cobj,ugraph' - | CicEnvironment.UncheckedObj uobj -> - logger#log (`Start_type_checking uri) ; - (* let's typecheck the uncooked obj *) - -(**************************************************************** - TASSI: FIXME qui e' inutile ricordarselo, - tanto poi lo richiediamo alla cache che da quello su disco -*****************************************************************) - - let ugraph_dust = - (match uobj with - C.Constant (_,Some te,ty,_,_) -> - let _,ugraph = type_of ~logger ty ugraph in - let type_of_te,ugraph' = type_of ~logger te ugraph in - let b',ugraph'' = (R.are_convertible [] type_of_te ty ugraph') in - if not b' then - raise (TypeCheckerFailure (lazy (sprintf - "the constant %s is not well typed because the type %s of the body is not convertible to the declared type %s" - (U.string_of_uri uri) (CicPp.ppterm type_of_te) - (CicPp.ppterm ty)))) - else - ugraph' - | C.Constant (_,None,ty,_,_) -> - (* only to check that ty is well-typed *) - let _,ugraph' = type_of ~logger ty ugraph in - ugraph' - | C.CurrentProof (_,conjs,te,ty,_,_) -> - let _,ugraph1 = - List.fold_left - (fun (metasenv,ugraph) ((_,context,ty) as conj) -> - let _,ugraph' = - type_of_aux' ~logger metasenv context ty ugraph - in - (metasenv @ [conj],ugraph') - ) ([],ugraph) conjs - in - let _,ugraph2 = type_of_aux' ~logger conjs [] ty ugraph1 in - let type_of_te,ugraph3 = - type_of_aux' ~logger conjs [] te ugraph2 - in - let b,ugraph4 = (R.are_convertible [] type_of_te ty ugraph3) in - if not b then - raise (TypeCheckerFailure (lazy (sprintf - "the current proof %s is not well typed because the type %s of the body is not convertible to the declared type %s" - (U.string_of_uri uri) (CicPp.ppterm type_of_te) - (CicPp.ppterm ty)))) - else - ugraph4 - | _ -> - raise - (TypeCheckerFailure (lazy ("Unknown constant:" ^ U.string_of_uri uri)))) - in - try - CicEnvironment.set_type_checking_info uri; - logger#log (`Type_checking_completed uri) ; - match CicEnvironment.is_type_checked ~trust:false ugraph uri with - CicEnvironment.CheckedObj (cobj,ugraph') -> cobj,ugraph' - | CicEnvironment.UncheckedObj _ -> raise CicEnvironmentError - with Invalid_argument s -> - (*debug_print (lazy s);*) - uobj,ugraph_dust - in - match cobj,ugraph with - (C.Constant (_,_,ty,_,_)),g -> ty,g - | (C.CurrentProof (_,_,_,ty,_,_)),g -> ty,g - | _ -> - raise (TypeCheckerFailure (lazy ("Unknown constant:" ^ U.string_of_uri uri))) - -and type_of_variable ~logger uri ugraph = - let module C = Cic in - let module R = CicReduction in - let module U = UriManager in - (* 0 because a variable is never cooked => no partial cooking at one level *) - match CicEnvironment.is_type_checked ~trust:true ugraph uri with - CicEnvironment.CheckedObj ((C.Variable (_,_,ty,_,_)),ugraph') -> ty,ugraph' - | CicEnvironment.UncheckedObj (C.Variable (_,bo,ty,_,_)) -> - logger#log (`Start_type_checking uri) ; - (* only to check that ty is well-typed *) - let _,ugraph1 = type_of ~logger ty ugraph in - let ugraph2 = - (match bo with - None -> ugraph - | Some bo -> - let ty_bo,ugraph' = type_of ~logger bo ugraph1 in - let b,ugraph'' = (R.are_convertible [] ty_bo ty ugraph') in - if not b then - raise (TypeCheckerFailure - (lazy ("Unknown variable:" ^ U.string_of_uri uri))) - else - ugraph'') - in - (try - CicEnvironment.set_type_checking_info uri ; - logger#log (`Type_checking_completed uri) ; - match CicEnvironment.is_type_checked ~trust:false ugraph uri with - CicEnvironment.CheckedObj ((C.Variable (_,_,ty,_,_)),ugraph') -> - ty,ugraph' - | CicEnvironment.CheckedObj _ - | CicEnvironment.UncheckedObj _ -> raise CicEnvironmentError - with Invalid_argument s -> - (*debug_print (lazy s);*) - ty,ugraph2) - | _ -> - raise (TypeCheckerFailure (lazy ("Unknown variable:" ^ U.string_of_uri uri))) - -and does_not_occur ?(subst=[]) context n nn te = - let module C = Cic in - (*CSC: whd sembra essere superflua perche' un caso in cui l'occorrenza *) - (*CSC: venga mangiata durante la whd sembra presentare problemi di *) - (*CSC: universi *) - match CicReduction.whd ~subst context te with - C.Rel m when m > n && m <= nn -> false - | C.Rel _ - | C.Sort _ - | C.Implicit _ -> true - | C.Meta (_,l) -> - List.fold_right - (fun x i -> - match x with - None -> i - | Some x -> i && does_not_occur ~subst context n nn x) l true - | C.Cast (te,ty) -> - does_not_occur ~subst context n nn te && does_not_occur ~subst context n nn ty - | C.Prod (name,so,dest) -> - does_not_occur ~subst context n nn so && - does_not_occur ~subst ((Some (name,(C.Decl so)))::context) (n + 1) - (nn + 1) dest - | C.Lambda (name,so,dest) -> - does_not_occur ~subst context n nn so && - does_not_occur ~subst ((Some (name,(C.Decl so)))::context) (n + 1) (nn + 1) - dest - | C.LetIn (name,so,dest) -> - does_not_occur ~subst context n nn so && - does_not_occur ~subst ((Some (name,(C.Def (so,None))))::context) - (n + 1) (nn + 1) dest - | C.Appl l -> - List.fold_right (fun x i -> i && does_not_occur ~subst context n nn x) l true - | C.Var (_,exp_named_subst) - | C.Const (_,exp_named_subst) - | C.MutInd (_,_,exp_named_subst) - | C.MutConstruct (_,_,_,exp_named_subst) -> - List.fold_right (fun (_,x) i -> i && does_not_occur ~subst context n nn x) - exp_named_subst true - | C.MutCase (_,_,out,te,pl) -> - does_not_occur ~subst context n nn out && does_not_occur ~subst context n nn te && - List.fold_right (fun x i -> i && does_not_occur ~subst context n nn x) pl true - | C.Fix (_,fl) -> - let len = List.length fl in - let n_plus_len = n + len in - let nn_plus_len = nn + len in - let tys = - List.map (fun (n,_,ty,_) -> Some (C.Name n,(Cic.Decl ty))) fl - in - List.fold_right - (fun (_,_,ty,bo) i -> - i && does_not_occur ~subst context n nn ty && - does_not_occur ~subst (tys @ context) n_plus_len nn_plus_len bo - ) fl true - | C.CoFix (_,fl) -> - let len = List.length fl in - let n_plus_len = n + len in - let nn_plus_len = nn + len in - let tys = - List.map (fun (n,ty,_) -> Some (C.Name n,(Cic.Decl ty))) fl - in - List.fold_right - (fun (_,ty,bo) i -> - i && does_not_occur ~subst context n nn ty && - does_not_occur ~subst (tys @ context) n_plus_len nn_plus_len bo - ) fl true - -(*CSC l'indice x dei tipi induttivi e' t.c. n < x <= nn *) -(*CSC questa funzione e' simile alla are_all_occurrences_positive, ma fa *) -(*CSC dei controlli leggermente diversi. Viene invocata solamente dalla *) -(*CSC strictly_positive *) -(*CSC definizione (giusta???) tratta dalla mail di Hugo ;-) *) -and weakly_positive context n nn uri te = - let module C = Cic in -(*CSC: Che schifo! Bisogna capire meglio e trovare una soluzione ragionevole!*) - let dummy_mutind = - C.MutInd (HelmLibraryObjects.Datatypes.nat_URI,0,[]) - in - (*CSC: mettere in cicSubstitution *) - let rec subst_inductive_type_with_dummy_mutind = - function - C.MutInd (uri',0,_) when UriManager.eq uri' uri -> - dummy_mutind - | C.Appl ((C.MutInd (uri',0,_))::tl) when UriManager.eq uri' uri -> - dummy_mutind - | C.Cast (te,ty) -> subst_inductive_type_with_dummy_mutind te - | C.Prod (name,so,ta) -> - C.Prod (name, subst_inductive_type_with_dummy_mutind so, - subst_inductive_type_with_dummy_mutind ta) - | C.Lambda (name,so,ta) -> - C.Lambda (name, subst_inductive_type_with_dummy_mutind so, - subst_inductive_type_with_dummy_mutind ta) - | C.Appl tl -> - C.Appl (List.map subst_inductive_type_with_dummy_mutind tl) - | C.MutCase (uri,i,outtype,term,pl) -> - C.MutCase (uri,i, - subst_inductive_type_with_dummy_mutind outtype, - subst_inductive_type_with_dummy_mutind term, - List.map subst_inductive_type_with_dummy_mutind pl) - | C.Fix (i,fl) -> - C.Fix (i,List.map (fun (name,i,ty,bo) -> (name,i, - subst_inductive_type_with_dummy_mutind ty, - subst_inductive_type_with_dummy_mutind bo)) fl) - | C.CoFix (i,fl) -> - C.CoFix (i,List.map (fun (name,ty,bo) -> (name, - subst_inductive_type_with_dummy_mutind ty, - subst_inductive_type_with_dummy_mutind bo)) fl) - | C.Const (uri,exp_named_subst) -> - let exp_named_subst' = - List.map - (function (uri,t) -> (uri,subst_inductive_type_with_dummy_mutind t)) - exp_named_subst - in - C.Const (uri,exp_named_subst') - | C.MutInd (uri,typeno,exp_named_subst) -> - let exp_named_subst' = - List.map - (function (uri,t) -> (uri,subst_inductive_type_with_dummy_mutind t)) - exp_named_subst - in - C.MutInd (uri,typeno,exp_named_subst') - | C.MutConstruct (uri,typeno,consno,exp_named_subst) -> - let exp_named_subst' = - List.map - (function (uri,t) -> (uri,subst_inductive_type_with_dummy_mutind t)) - exp_named_subst - in - C.MutConstruct (uri,typeno,consno,exp_named_subst') - | t -> t - in - match CicReduction.whd context te with - C.Appl ((C.MutInd (uri',0,_))::tl) when UriManager.eq uri' uri -> true - | C.MutInd (uri',0,_) when UriManager.eq uri' uri -> true - | C.Prod (C.Anonymous,source,dest) -> - strictly_positive context n nn - (subst_inductive_type_with_dummy_mutind source) && - weakly_positive ((Some (C.Anonymous,(C.Decl source)))::context) - (n + 1) (nn + 1) uri dest - | C.Prod (name,source,dest) when - does_not_occur ((Some (name,(C.Decl source)))::context) 0 n dest -> - (* dummy abstraction, so we behave as in the anonimous case *) - strictly_positive context n nn - (subst_inductive_type_with_dummy_mutind source) && - weakly_positive ((Some (name,(C.Decl source)))::context) - (n + 1) (nn + 1) uri dest - | C.Prod (name,source,dest) -> - does_not_occur context n nn - (subst_inductive_type_with_dummy_mutind source)&& - weakly_positive ((Some (name,(C.Decl source)))::context) - (n + 1) (nn + 1) uri dest - | _ -> - raise (TypeCheckerFailure (lazy "Malformed inductive constructor type")) - -(* instantiate_parameters ps (x1:T1)...(xn:Tn)C *) -(* returns ((x_|ps|:T_|ps|)...(xn:Tn)C){ps_1 / x1 ; ... ; ps_|ps| / x_|ps|} *) -and instantiate_parameters params c = - let module C = Cic in - match (c,params) with - (c,[]) -> c - | (C.Prod (_,_,ta), he::tl) -> - instantiate_parameters tl - (CicSubstitution.subst he ta) - | (C.Cast (te,_), _) -> instantiate_parameters params te - | (t,l) -> raise (AssertFailure (lazy "1")) - -and strictly_positive context n nn te = - let module C = Cic in - let module U = UriManager in - match CicReduction.whd context te with - C.Rel _ -> true - | C.Cast (te,ty) -> - (*CSC: bisogna controllare ty????*) - strictly_positive context n nn te - | C.Prod (name,so,ta) -> - does_not_occur context n nn so && - strictly_positive ((Some (name,(C.Decl so)))::context) (n+1) (nn+1) ta - | C.Appl ((C.Rel m)::tl) when m > n && m <= nn -> - List.fold_right (fun x i -> i && does_not_occur context n nn x) tl true - | C.Appl ((C.MutInd (uri,i,exp_named_subst))::tl) -> - let (ok,paramsno,ity,cl,name) = - let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - match o with - C.InductiveDefinition (tl,_,paramsno,_) -> - let (name,_,ity,cl) = List.nth tl i in - (List.length tl = 1, paramsno, ity, cl, name) - | _ -> - raise (TypeCheckerFailure - (lazy ("Unknown inductive type:" ^ U.string_of_uri uri))) - in - let (params,arguments) = split tl paramsno in - let lifted_params = List.map (CicSubstitution.lift 1) params in - let cl' = - List.map - (fun (_,te) -> - instantiate_parameters lifted_params - (CicSubstitution.subst_vars exp_named_subst te) - ) cl - in - ok && - List.fold_right - (fun x i -> i && does_not_occur context n nn x) - arguments true && - (*CSC: MEGAPATCH3 (sara' quella giusta?)*) - List.fold_right - (fun x i -> - i && - weakly_positive - ((Some (C.Name name,(Cic.Decl ity)))::context) (n+1) (nn+1) uri - x - ) cl' true - | t -> does_not_occur context n nn t - -(* the inductive type indexes are s.t. n < x <= nn *) -and are_all_occurrences_positive context uri indparamsno i n nn te = - let module C = Cic in - match CicReduction.whd context te with - C.Appl ((C.Rel m)::tl) when m = i -> - (*CSC: riscrivere fermandosi a 0 *) - (* let's check if the inductive type is applied at least to *) - (* indparamsno parameters *) - let last = - List.fold_left - (fun k x -> - if k = 0 then 0 - else - match CicReduction.whd context x with - C.Rel m when m = n - (indparamsno - k) -> k - 1 - | _ -> - raise (TypeCheckerFailure - (lazy - ("Non-positive occurence in mutual inductive definition(s) [1]" ^ - UriManager.string_of_uri uri))) - ) indparamsno tl - in - if last = 0 then - List.fold_right (fun x i -> i && does_not_occur context n nn x) tl true - else - raise (TypeCheckerFailure - (lazy ("Non-positive occurence in mutual inductive definition(s) [2]"^ - UriManager.string_of_uri uri))) - | C.Rel m when m = i -> - if indparamsno = 0 then - true - else - raise (TypeCheckerFailure - (lazy ("Non-positive occurence in mutual inductive definition(s) [3]"^ - UriManager.string_of_uri uri))) - | C.Prod (C.Anonymous,source,dest) -> - strictly_positive context n nn source && - are_all_occurrences_positive - ((Some (C.Anonymous,(C.Decl source)))::context) uri indparamsno - (i+1) (n + 1) (nn + 1) dest - | C.Prod (name,source,dest) when - does_not_occur ((Some (name,(C.Decl source)))::context) 0 n dest -> - (* dummy abstraction, so we behave as in the anonimous case *) - strictly_positive context n nn source && - are_all_occurrences_positive - ((Some (name,(C.Decl source)))::context) uri indparamsno - (i+1) (n + 1) (nn + 1) dest - | C.Prod (name,source,dest) -> - does_not_occur context n nn source && - are_all_occurrences_positive ((Some (name,(C.Decl source)))::context) - uri indparamsno (i+1) (n + 1) (nn + 1) dest - | _ -> - raise - (TypeCheckerFailure (lazy ("Malformed inductive constructor type " ^ - (UriManager.string_of_uri uri)))) - -(* Main function to checks the correctness of a mutual *) -(* inductive block definition. This is the function *) -(* exported to the proof-engine. *) -and typecheck_mutual_inductive_defs ~logger uri (itl,_,indparamsno) ugraph = - let module U = UriManager in - (* let's check if the arity of the inductive types are well *) - (* formed *) - let ugrap1 = List.fold_left - (fun ugraph (_,_,x,_) -> let _,ugraph' = - type_of ~logger x ugraph in ugraph') - ugraph itl in - - (* let's check if the types of the inductive constructors *) - (* are well formed. *) - (* In order not to use type_of_aux we put the types of the *) - (* mutual inductive types at the head of the types of the *) - (* constructors using Prods *) - let len = List.length itl in - let tys = - List.map (fun (n,_,ty,_) -> Some (Cic.Name n,(Cic.Decl ty))) itl in - let _,ugraph2 = - List.fold_right - (fun (_,_,_,cl) (i,ugraph) -> - let ugraph'' = - List.fold_left - (fun ugraph (name,te) -> - let debrujinedte = debrujin_constructor uri len te in - let augmented_term = - List.fold_right - (fun (name,_,ty,_) i -> Cic.Prod (Cic.Name name, ty, i)) - itl debrujinedte - in - let _,ugraph' = type_of ~logger augmented_term ugraph in - (* let's check also the positivity conditions *) - if - not - (are_all_occurrences_positive tys uri indparamsno i 0 len - debrujinedte) - then - raise - (TypeCheckerFailure - (lazy ("Non positive occurence in " ^ U.string_of_uri uri))) - else - ugraph' - ) ugraph cl in - (i + 1),ugraph'' - ) itl (1,ugraph) - in - ugraph2 - -(* Main function to checks the correctness of a mutual *) -(* inductive block definition. *) -and check_mutual_inductive_defs uri obj ugraph = - match obj with - Cic.InductiveDefinition (itl, params, indparamsno, _) -> - typecheck_mutual_inductive_defs uri (itl,params,indparamsno) ugraph - | _ -> - raise (TypeCheckerFailure ( - lazy ("Unknown mutual inductive definition:" ^ - UriManager.string_of_uri uri))) - -and type_of_mutual_inductive_defs ~logger uri i ugraph = - let module C = Cic in - let module R = CicReduction in - let module U = UriManager in - let cobj,ugraph1 = - match CicEnvironment.is_type_checked ~trust:true ugraph uri with - CicEnvironment.CheckedObj (cobj,ugraph') -> cobj,ugraph' - | CicEnvironment.UncheckedObj uobj -> - logger#log (`Start_type_checking uri) ; - let ugraph1_dust = - check_mutual_inductive_defs ~logger uri uobj ugraph - in - (* TASSI: FIXME: check ugraph1 == ugraph ritornato da env *) - try - CicEnvironment.set_type_checking_info uri ; - logger#log (`Type_checking_completed uri) ; - (match CicEnvironment.is_type_checked ~trust:false ugraph uri with - CicEnvironment.CheckedObj (cobj,ugraph') -> (cobj,ugraph') - | CicEnvironment.UncheckedObj _ -> raise CicEnvironmentError - ) - with - Invalid_argument s -> - (*debug_print (lazy s);*) - uobj,ugraph1_dust - in - match cobj with - C.InductiveDefinition (dl,_,_,_) -> - let (_,_,arity,_) = List.nth dl i in - arity,ugraph1 - | _ -> - raise (TypeCheckerFailure - (lazy ("Unknown mutual inductive definition:" ^ U.string_of_uri uri))) - -and type_of_mutual_inductive_constr ~logger uri i j ugraph = - let module C = Cic in - let module R = CicReduction in - let module U = UriManager in - let cobj,ugraph1 = - match CicEnvironment.is_type_checked ~trust:true ugraph uri with - CicEnvironment.CheckedObj (cobj,ugraph') -> cobj,ugraph' - | CicEnvironment.UncheckedObj uobj -> - logger#log (`Start_type_checking uri) ; - let ugraph1_dust = - check_mutual_inductive_defs ~logger uri uobj ugraph - in - (* check ugraph1 validity ??? == ugraph' *) - try - CicEnvironment.set_type_checking_info uri ; - logger#log (`Type_checking_completed uri) ; - (match - CicEnvironment.is_type_checked ~trust:false ugraph uri - with - CicEnvironment.CheckedObj (cobj,ugraph') -> cobj,ugraph' - | CicEnvironment.UncheckedObj _ -> - raise CicEnvironmentError) - with - Invalid_argument s -> - (*debug_print (lazy s);*) - uobj,ugraph1_dust - in - match cobj with - C.InductiveDefinition (dl,_,_,_) -> - let (_,_,_,cl) = List.nth dl i in - let (_,ty) = List.nth cl (j-1) in - ty,ugraph1 - | _ -> - raise (TypeCheckerFailure - (lazy ("Unknown mutual inductive definition:" ^ UriManager.string_of_uri uri))) - -and recursive_args context n nn te = - let module C = Cic in - match CicReduction.whd context te with - C.Rel _ -> [] - | C.Var _ - | C.Meta _ - | C.Sort _ - | C.Implicit _ - | C.Cast _ (*CSC ??? *) -> - raise (AssertFailure (lazy "3")) (* due to type-checking *) - | C.Prod (name,so,de) -> - (not (does_not_occur context n nn so)) :: - (recursive_args ((Some (name,(C.Decl so)))::context) (n+1) (nn + 1) de) - | C.Lambda _ - | C.LetIn _ -> - raise (AssertFailure (lazy "4")) (* due to type-checking *) - | C.Appl _ -> [] - | C.Const _ -> raise (AssertFailure (lazy "5")) - | C.MutInd _ - | C.MutConstruct _ - | C.MutCase _ - | C.Fix _ - | C.CoFix _ -> raise (AssertFailure (lazy "6")) (* due to type-checking *) - -and get_new_safes ~subst context p c rl safes n nn x = - let module C = Cic in - let module U = UriManager in - let module R = CicReduction in - match (R.whd ~subst context c, R.whd ~subst context p, rl) with - (C.Prod (_,so,ta1), C.Lambda (name,_,ta2), b::tl) -> - (* we are sure that the two sources are convertible because we *) - (* have just checked this. So let's go along ... *) - let safes' = - List.map (fun x -> x + 1) safes - in - let safes'' = - if b then 1::safes' else safes' - in - get_new_safes ~subst ((Some (name,(C.Decl so)))::context) - ta2 ta1 tl safes'' (n+1) (nn+1) (x+1) - | (C.Prod _, (C.MutConstruct _ as e), _) - | (C.Prod _, (C.Rel _ as e), _) - | (C.MutInd _, e, []) - | (C.Appl _, e, []) -> (e,safes,n,nn,x,context) - | (c,p,l) -> - (* CSC: If the next exception is raised, it just means that *) - (* CSC: the proof-assistant allows to use very strange things *) - (* CSC: as a branch of a case whose type is a Prod. In *) - (* CSC: particular, this means that a new (C.Prod, x,_) case *) - (* CSC: must be considered in this match. (e.g. x = MutCase) *) - raise - (AssertFailure (lazy - (Printf.sprintf "Get New Safes: c=%s ; p=%s" - (CicPp.ppterm c) (CicPp.ppterm p)))) - -and split_prods ~subst context n te = - let module C = Cic in - let module R = CicReduction in - match (n, R.whd ~subst context te) with - (0, _) -> context,te - | (n, C.Prod (name,so,ta)) when n > 0 -> - split_prods ~subst ((Some (name,(C.Decl so)))::context) (n - 1) ta - | (_, _) -> raise (AssertFailure (lazy "8")) - -and eat_lambdas ~subst context n te = - let module C = Cic in - let module R = CicReduction in - match (n, R.whd ~subst context te) with - (0, _) -> (te, 0, context) - | (n, C.Lambda (name,so,ta)) when n > 0 -> - let (te, k, context') = - eat_lambdas ~subst ((Some (name,(C.Decl so)))::context) (n - 1) ta - in - (te, k + 1, context') - | (n, te) -> - raise (AssertFailure (lazy (sprintf "9 (%d, %s)" n (CicPp.ppterm te)))) - -(*CSC: Tutto quello che segue e' l'intuzione di luca ;-) *) -and check_is_really_smaller_arg ~subst context n nn kl x safes te = - (*CSC: forse la whd si puo' fare solo quando serve veramente. *) - (*CSC: cfr guarded_by_destructors *) - let module C = Cic in - let module U = UriManager in - match CicReduction.whd ~subst context te with - C.Rel m when List.mem m safes -> true - | C.Rel _ -> false - | C.Var _ - | C.Meta _ - | C.Sort _ - | C.Implicit _ - | C.Cast _ -(* | C.Cast (te,ty) -> - check_is_really_smaller_arg ~subst n nn kl x safes te && - check_is_really_smaller_arg ~subst n nn kl x safes ty*) -(* | C.Prod (_,so,ta) -> - check_is_really_smaller_arg ~subst n nn kl x safes so && - check_is_really_smaller_arg ~subst (n+1) (nn+1) kl (x+1) - (List.map (fun x -> x + 1) safes) ta*) - | C.Prod _ -> raise (AssertFailure (lazy "10")) - | C.Lambda (name,so,ta) -> - check_is_really_smaller_arg ~subst context n nn kl x safes so && - check_is_really_smaller_arg ~subst ((Some (name,(C.Decl so)))::context) - (n+1) (nn+1) kl (x+1) (List.map (fun x -> x + 1) safes) ta - | C.LetIn (name,so,ta) -> - check_is_really_smaller_arg ~subst context n nn kl x safes so && - check_is_really_smaller_arg ~subst ((Some (name,(C.Def (so,None))))::context) - (n+1) (nn+1) kl (x+1) (List.map (fun x -> x + 1) safes) ta - | C.Appl (he::_) -> - (*CSC: sulla coda ci vogliono dei controlli? secondo noi no, ma *) - (*CSC: solo perche' non abbiamo trovato controesempi *) - check_is_really_smaller_arg ~subst context n nn kl x safes he - | C.Appl [] -> raise (AssertFailure (lazy "11")) - | C.Const _ - | C.MutInd _ -> raise (AssertFailure (lazy "12")) - | C.MutConstruct _ -> false - | C.MutCase (uri,i,outtype,term,pl) -> - (match term with - C.Rel m when List.mem m safes || m = x -> - let (tys,len,isinductive,paramsno,cl) = - let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - match o with - C.InductiveDefinition (tl,_,paramsno,_) -> - let tys = - List.map - (fun (n,_,ty,_) -> Some (Cic.Name n,(Cic.Decl ty))) tl - in - let (_,isinductive,_,cl) = List.nth tl i in - let cl' = - List.map - (fun (id,ty) -> - (id, snd (split_prods ~subst tys paramsno ty))) cl - in - (tys,List.length tl,isinductive,paramsno,cl') - | _ -> - raise (TypeCheckerFailure - (lazy ("Unknown mutual inductive definition:" ^ - UriManager.string_of_uri uri))) - in - if not isinductive then - List.fold_right - (fun p i -> - i && check_is_really_smaller_arg ~subst context n nn kl x safes p) - pl true - else - let pl_and_cl = - try - List.combine pl cl - with - Invalid_argument _ -> - raise (TypeCheckerFailure (lazy "not enough patterns")) - in - List.fold_right - (fun (p,(_,c)) i -> - let rl' = - let debrujinedte = debrujin_constructor uri len c in - recursive_args tys 0 len debrujinedte - in - let (e,safes',n',nn',x',context') = - get_new_safes ~subst context p c rl' safes n nn x - in - i && - check_is_really_smaller_arg ~subst context' n' nn' kl x' safes' e - ) pl_and_cl true - | C.Appl ((C.Rel m)::tl) when List.mem m safes || m = x -> - let (tys,len,isinductive,paramsno,cl) = - let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - match o with - C.InductiveDefinition (tl,_,paramsno,_) -> - let (_,isinductive,_,cl) = List.nth tl i in - let tys = - List.map (fun (n,_,ty,_) -> - Some(Cic.Name n,(Cic.Decl ty))) tl - in - let cl' = - List.map - (fun (id,ty) -> - (id, snd (split_prods ~subst tys paramsno ty))) cl - in - (tys,List.length tl,isinductive,paramsno,cl') - | _ -> - raise (TypeCheckerFailure - (lazy ("Unknown mutual inductive definition:" ^ - UriManager.string_of_uri uri))) - in - if not isinductive then - List.fold_right - (fun p i -> - i && check_is_really_smaller_arg ~subst context n nn kl x safes p) - pl true - else - let pl_and_cl = - try - List.combine pl cl - with - Invalid_argument _ -> - raise (TypeCheckerFailure (lazy "not enough patterns")) - in - (*CSC: supponiamo come prima che nessun controllo sia necessario*) - (*CSC: sugli argomenti di una applicazione *) - List.fold_right - (fun (p,(_,c)) i -> - let rl' = - let debrujinedte = debrujin_constructor uri len c in - recursive_args tys 0 len debrujinedte - in - let (e, safes',n',nn',x',context') = - get_new_safes ~subst context p c rl' safes n nn x - in - i && - check_is_really_smaller_arg ~subst context' n' nn' kl x' safes' e - ) pl_and_cl true - | _ -> - List.fold_right - (fun p i -> - i && check_is_really_smaller_arg ~subst context n nn kl x safes p - ) pl true - ) - | C.Fix (_, fl) -> - let len = List.length fl in - let n_plus_len = n + len - and nn_plus_len = nn + len - and x_plus_len = x + len - and tys = List.map (fun (n,_,ty,_) -> Some (C.Name n,(C.Decl ty))) fl - and safes' = List.map (fun x -> x + len) safes in - List.fold_right - (fun (_,_,ty,bo) i -> - i && - check_is_really_smaller_arg ~subst (tys@context) n_plus_len nn_plus_len kl - x_plus_len safes' bo - ) fl true - | C.CoFix (_, fl) -> - let len = List.length fl in - let n_plus_len = n + len - and nn_plus_len = nn + len - and x_plus_len = x + len - and tys = List.map (fun (n,ty,_) -> Some (C.Name n,(C.Decl ty))) fl - and safes' = List.map (fun x -> x + len) safes in - List.fold_right - (fun (_,ty,bo) i -> - i && - check_is_really_smaller_arg ~subst (tys@context) n_plus_len nn_plus_len kl - x_plus_len safes' bo - ) fl true - -and guarded_by_destructors ~subst context n nn kl x safes = - let module C = Cic in - let module U = UriManager in - function - C.Rel m when m > n && m <= nn -> false - | C.Rel m -> - (match List.nth context (n-1) with - Some (_,C.Decl _) -> true - | Some (_,C.Def (bo,_)) -> - guarded_by_destructors ~subst context m nn kl x safes - (CicSubstitution.lift m bo) - | None -> raise (TypeCheckerFailure (lazy "Reference to deleted hypothesis")) - ) - | C.Meta _ - | C.Sort _ - | C.Implicit _ -> true - | C.Cast (te,ty) -> - guarded_by_destructors ~subst context n nn kl x safes te && - guarded_by_destructors ~subst context n nn kl x safes ty - | C.Prod (name,so,ta) -> - guarded_by_destructors ~subst context n nn kl x safes so && - guarded_by_destructors ~subst ((Some (name,(C.Decl so)))::context) - (n+1) (nn+1) kl (x+1) (List.map (fun x -> x + 1) safes) ta - | C.Lambda (name,so,ta) -> - guarded_by_destructors ~subst context n nn kl x safes so && - guarded_by_destructors ~subst ((Some (name,(C.Decl so)))::context) - (n+1) (nn+1) kl (x+1) (List.map (fun x -> x + 1) safes) ta - | C.LetIn (name,so,ta) -> - guarded_by_destructors ~subst context n nn kl x safes so && - guarded_by_destructors ~subst ((Some (name,(C.Def (so,None))))::context) - (n+1) (nn+1) kl (x+1) (List.map (fun x -> x + 1) safes) ta - | C.Appl ((C.Rel m)::tl) when m > n && m <= nn -> - let k = List.nth kl (m - n - 1) in - if not (List.length tl > k) then false - else - List.fold_right - (fun param i -> - i && guarded_by_destructors ~subst context n nn kl x safes param - ) tl true && - check_is_really_smaller_arg ~subst context n nn kl x safes (List.nth tl k) - | C.Appl tl -> - List.fold_right - (fun t i -> i && guarded_by_destructors ~subst context n nn kl x safes t) - tl true - | C.Var (_,exp_named_subst) - | C.Const (_,exp_named_subst) - | C.MutInd (_,_,exp_named_subst) - | C.MutConstruct (_,_,_,exp_named_subst) -> - List.fold_right - (fun (_,t) i -> i && guarded_by_destructors ~subst context n nn kl x safes t) - exp_named_subst true - | C.MutCase (uri,i,outtype,term,pl) -> - (match CicReduction.whd ~subst context term with - C.Rel m when List.mem m safes || m = x -> - let (tys,len,isinductive,paramsno,cl) = - let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - match o with - C.InductiveDefinition (tl,_,paramsno,_) -> - let len = List.length tl in - let (_,isinductive,_,cl) = List.nth tl i in - let tys = - List.map (fun (n,_,ty,_) -> - Some(Cic.Name n,(Cic.Decl ty))) tl - in - let cl' = - List.map - (fun (id,ty) -> - let debrujinedty = debrujin_constructor uri len ty in - (id, snd (split_prods ~subst tys paramsno ty), - snd (split_prods ~subst tys paramsno debrujinedty) - )) cl - in - (tys,len,isinductive,paramsno,cl') - | _ -> - raise (TypeCheckerFailure - (lazy ("Unknown mutual inductive definition:" ^ - UriManager.string_of_uri uri))) - in - if not isinductive then - guarded_by_destructors ~subst context n nn kl x safes outtype && - guarded_by_destructors ~subst context n nn kl x safes term && - (*CSC: manca ??? il controllo sul tipo di term? *) - List.fold_right - (fun p i -> - i && guarded_by_destructors ~subst context n nn kl x safes p) - pl true - else - let pl_and_cl = - try - List.combine pl cl - with - Invalid_argument _ -> - raise (TypeCheckerFailure (lazy "not enough patterns")) - in - guarded_by_destructors ~subst context n nn kl x safes outtype && - (*CSC: manca ??? il controllo sul tipo di term? *) - List.fold_right - (fun (p,(_,c,brujinedc)) i -> - let rl' = recursive_args tys 0 len brujinedc in - let (e,safes',n',nn',x',context') = - get_new_safes ~subst context p c rl' safes n nn x - in - i && - guarded_by_destructors ~subst context' n' nn' kl x' safes' e - ) pl_and_cl true - | C.Appl ((C.Rel m)::tl) when List.mem m safes || m = x -> - let (tys,len,isinductive,paramsno,cl) = - let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - match o with - C.InductiveDefinition (tl,_,paramsno,_) -> - let (_,isinductive,_,cl) = List.nth tl i in - let tys = - List.map - (fun (n,_,ty,_) -> Some(Cic.Name n,(Cic.Decl ty))) tl - in - let cl' = - List.map - (fun (id,ty) -> - (id, snd (split_prods ~subst tys paramsno ty))) cl - in - (tys,List.length tl,isinductive,paramsno,cl') - | _ -> - raise (TypeCheckerFailure - (lazy ("Unknown mutual inductive definition:" ^ - UriManager.string_of_uri uri))) - in - if not isinductive then - guarded_by_destructors ~subst context n nn kl x safes outtype && - guarded_by_destructors ~subst context n nn kl x safes term && - (*CSC: manca ??? il controllo sul tipo di term? *) - List.fold_right - (fun p i -> - i && guarded_by_destructors ~subst context n nn kl x safes p) - pl true - else - let pl_and_cl = - try - List.combine pl cl - with - Invalid_argument _ -> - raise (TypeCheckerFailure (lazy "not enough patterns")) - in - guarded_by_destructors ~subst context n nn kl x safes outtype && - (*CSC: manca ??? il controllo sul tipo di term? *) - List.fold_right - (fun t i -> - i && guarded_by_destructors ~subst context n nn kl x safes t) - tl true && - List.fold_right - (fun (p,(_,c)) i -> - let rl' = - let debrujinedte = debrujin_constructor uri len c in - recursive_args tys 0 len debrujinedte - in - let (e, safes',n',nn',x',context') = - get_new_safes ~subst context p c rl' safes n nn x - in - i && - guarded_by_destructors ~subst context' n' nn' kl x' safes' e - ) pl_and_cl true - | _ -> - guarded_by_destructors ~subst context n nn kl x safes outtype && - guarded_by_destructors ~subst context n nn kl x safes term && - (*CSC: manca ??? il controllo sul tipo di term? *) - List.fold_right - (fun p i -> i && guarded_by_destructors ~subst context n nn kl x safes p) - pl true - ) - | C.Fix (_, fl) -> - let len = List.length fl in - let n_plus_len = n + len - and nn_plus_len = nn + len - and x_plus_len = x + len - and tys = List.map (fun (n,_,ty,_) -> Some (C.Name n,(C.Decl ty))) fl - and safes' = List.map (fun x -> x + len) safes in - List.fold_right - (fun (_,_,ty,bo) i -> - i && guarded_by_destructors ~subst context n nn kl x_plus_len safes' ty && - guarded_by_destructors ~subst (tys@context) n_plus_len nn_plus_len kl - x_plus_len safes' bo - ) fl true - | C.CoFix (_, fl) -> - let len = List.length fl in - let n_plus_len = n + len - and nn_plus_len = nn + len - and x_plus_len = x + len - and tys = List.map (fun (n,ty,_) -> Some (C.Name n,(C.Decl ty))) fl - and safes' = List.map (fun x -> x + len) safes in - List.fold_right - (fun (_,ty,bo) i -> - i && - guarded_by_destructors ~subst context n nn kl x_plus_len safes' ty && - guarded_by_destructors ~subst (tys@context) n_plus_len nn_plus_len kl - x_plus_len safes' bo - ) fl true - -(* the boolean h means already protected *) -(* args is the list of arguments the type of the constructor that may be *) -(* found in head position must be applied to. *) -and guarded_by_constructors ~subst context n nn h te args coInductiveTypeURI = - let module C = Cic in - (*CSC: There is a lot of code replication between the cases X and *) - (*CSC: (C.Appl X tl). Maybe it will be better to define a function *) - (*CSC: that maps X into (C.Appl X []) when X is not already a C.Appl *) - match CicReduction.whd ~subst context te with - C.Rel m when m > n && m <= nn -> h - | C.Rel _ -> true - | C.Meta _ - | C.Sort _ - | C.Implicit _ - | C.Cast _ - | C.Prod _ - | C.LetIn _ -> - (* the term has just been type-checked *) - raise (AssertFailure (lazy "17")) - | C.Lambda (name,so,de) -> - does_not_occur ~subst context n nn so && - guarded_by_constructors ~subst ((Some (name,(C.Decl so)))::context) - (n + 1) (nn + 1) h de args coInductiveTypeURI - | C.Appl ((C.Rel m)::tl) when m > n && m <= nn -> - h && - List.fold_right (fun x i -> i && does_not_occur ~subst context n nn x) tl true - | C.Appl ((C.MutConstruct (uri,i,j,exp_named_subst))::tl) -> - let consty = - let obj,_ = - try - CicEnvironment.get_cooked_obj ~trust:false CicUniv.empty_ugraph uri - with Not_found -> assert false - in - match obj with - C.InductiveDefinition (itl,_,_,_) -> - let (_,_,_,cl) = List.nth itl i in - let (_,cons) = List.nth cl (j - 1) in - CicSubstitution.subst_vars exp_named_subst cons - | _ -> - raise (TypeCheckerFailure - (lazy ("Unknown mutual inductive definition:" ^ UriManager.string_of_uri uri))) - in - let rec analyse_branch context ty te = - match CicReduction.whd ~subst context ty with - C.Meta _ -> raise (AssertFailure (lazy "34")) - | C.Rel _ - | C.Var _ - | C.Sort _ -> - does_not_occur ~subst context n nn te - | C.Implicit _ - | C.Cast _ -> - raise (AssertFailure (lazy "24"))(* due to type-checking *) - | C.Prod (name,so,de) -> - analyse_branch ((Some (name,(C.Decl so)))::context) de te - | C.Lambda _ - | C.LetIn _ -> - raise (AssertFailure (lazy "25"))(* due to type-checking *) - | C.Appl ((C.MutInd (uri,_,_))::_) as ty - when uri == coInductiveTypeURI -> - guarded_by_constructors ~subst context n nn true te [] - coInductiveTypeURI - | C.Appl ((C.MutInd (uri,_,_))::_) as ty -> - guarded_by_constructors ~subst context n nn true te tl - coInductiveTypeURI - | C.Appl _ -> - does_not_occur ~subst context n nn te - | C.Const _ -> raise (AssertFailure (lazy "26")) - | C.MutInd (uri,_,_) when uri == coInductiveTypeURI -> - guarded_by_constructors ~subst context n nn true te [] - coInductiveTypeURI - | C.MutInd _ -> - does_not_occur ~subst context n nn te - | C.MutConstruct _ -> raise (AssertFailure (lazy "27")) - (*CSC: we do not consider backbones with a MutCase, Fix, Cofix *) - (*CSC: in head position. *) - | C.MutCase _ - | C.Fix _ - | C.CoFix _ -> - raise (AssertFailure (lazy "28"))(* due to type-checking *) - in - let rec analyse_instantiated_type context ty l = - match CicReduction.whd ~subst context ty with - C.Rel _ - | C.Var _ - | C.Meta _ - | C.Sort _ - | C.Implicit _ - | C.Cast _ -> raise (AssertFailure (lazy "29"))(* due to type-checking *) - | C.Prod (name,so,de) -> - begin - match l with - [] -> true - | he::tl -> - analyse_branch context so he && - analyse_instantiated_type - ((Some (name,(C.Decl so)))::context) de tl - end - | C.Lambda _ - | C.LetIn _ -> - raise (AssertFailure (lazy "30"))(* due to type-checking *) - | C.Appl _ -> - List.fold_left - (fun i x -> i && does_not_occur ~subst context n nn x) true l - | C.Const _ -> raise (AssertFailure (lazy "31")) - | C.MutInd _ -> - List.fold_left - (fun i x -> i && does_not_occur ~subst context n nn x) true l - | C.MutConstruct _ -> raise (AssertFailure (lazy "32")) - (*CSC: we do not consider backbones with a MutCase, Fix, Cofix *) - (*CSC: in head position. *) - | C.MutCase _ - | C.Fix _ - | C.CoFix _ -> - raise (AssertFailure (lazy "33"))(* due to type-checking *) - in - let rec instantiate_type args consty = - function - [] -> true - | tlhe::tltl as l -> - let consty' = CicReduction.whd ~subst context consty in - match args with - he::tl -> - begin - match consty' with - C.Prod (_,_,de) -> - let instantiated_de = CicSubstitution.subst he de in - (*CSC: siamo sicuri che non sia troppo forte? *) - does_not_occur ~subst context n nn tlhe & - instantiate_type tl instantiated_de tltl - | _ -> - (*CSC:We do not consider backbones with a MutCase, a *) - (*CSC:FixPoint, a CoFixPoint and so on in head position.*) - raise (AssertFailure (lazy "23")) - end - | [] -> analyse_instantiated_type context consty' l - (* These are all the other cases *) - in - instantiate_type args consty tl - | C.Appl ((C.CoFix (_,fl))::tl) -> - List.fold_left (fun i x -> i && does_not_occur ~subst context n nn x) true tl && - let len = List.length fl in - let n_plus_len = n + len - and nn_plus_len = nn + len - (*CSC: Is a Decl of the ty ok or should I use Def of a Fix? *) - and tys = List.map (fun (n,ty,_) -> Some (C.Name n,(C.Decl ty))) fl in - List.fold_right - (fun (_,ty,bo) i -> - i && does_not_occur ~subst context n nn ty && - guarded_by_constructors ~subst (tys@context) n_plus_len nn_plus_len - h bo args coInductiveTypeURI - ) fl true - | C.Appl ((C.MutCase (_,_,out,te,pl))::tl) -> - List.fold_left (fun i x -> i && does_not_occur ~subst context n nn x) true tl && - does_not_occur ~subst context n nn out && - does_not_occur ~subst context n nn te && - List.fold_right - (fun x i -> - i && - guarded_by_constructors ~subst context n nn h x args - coInductiveTypeURI - ) pl true - | C.Appl l -> - List.fold_right (fun x i -> i && does_not_occur ~subst context n nn x) l true - | C.Var (_,exp_named_subst) - | C.Const (_,exp_named_subst) -> - List.fold_right - (fun (_,x) i -> i && does_not_occur ~subst context n nn x) exp_named_subst true - | C.MutInd _ -> assert false - | C.MutConstruct (_,_,_,exp_named_subst) -> - List.fold_right - (fun (_,x) i -> i && does_not_occur ~subst context n nn x) exp_named_subst true - | C.MutCase (_,_,out,te,pl) -> - does_not_occur ~subst context n nn out && - does_not_occur ~subst context n nn te && - List.fold_right - (fun x i -> - i && - guarded_by_constructors ~subst context n nn h x args - coInductiveTypeURI - ) pl true - | C.Fix (_,fl) -> - let len = List.length fl in - let n_plus_len = n + len - and nn_plus_len = nn + len - (*CSC: Is a Decl of the ty ok or should I use Def of a Fix? *) - and tys = List.map (fun (n,_,ty,_)-> Some (C.Name n,(C.Decl ty))) fl in - List.fold_right - (fun (_,_,ty,bo) i -> - i && does_not_occur ~subst context n nn ty && - does_not_occur ~subst (tys@context) n_plus_len nn_plus_len bo - ) fl true - | C.CoFix (_,fl) -> - let len = List.length fl in - let n_plus_len = n + len - and nn_plus_len = nn + len - (*CSC: Is a Decl of the ty ok or should I use Def of a Fix? *) - and tys = List.map (fun (n,ty,_) -> Some (C.Name n,(C.Decl ty))) fl in - List.fold_right - (fun (_,ty,bo) i -> - i && does_not_occur ~subst context n nn ty && - guarded_by_constructors ~subst (tys@context) n_plus_len nn_plus_len - h bo - args coInductiveTypeURI - ) fl true - -and check_allowed_sort_elimination ~subst ~metasenv ~logger context uri i - need_dummy ind arity1 arity2 ugraph = - let module C = Cic in - let module U = UriManager in - let arity1 = CicReduction.whd ~subst context arity1 in - let rec check_allowed_sort_elimination_aux ugraph context arity2 need_dummy = - match arity1, CicReduction.whd ~subst context arity2 with - (C.Prod (_,so1,de1), C.Prod (_,so2,de2)) -> - let b,ugraph1 = - CicReduction.are_convertible ~subst ~metasenv context so1 so2 ugraph in - if b then - check_allowed_sort_elimination ~subst ~metasenv ~logger context uri i - need_dummy (C.Appl [CicSubstitution.lift 1 ind ; C.Rel 1]) de1 de2 - ugraph1 - else - false,ugraph1 - | (C.Sort _, C.Prod (name,so,ta)) when not need_dummy -> - let b,ugraph1 = - CicReduction.are_convertible ~subst ~metasenv context so ind ugraph in - if not b then - false,ugraph1 - else - check_allowed_sort_elimination_aux ugraph1 - ((Some (name,C.Decl so))::context) ta true - | (C.Sort C.Prop, C.Sort C.Prop) when need_dummy -> true,ugraph - | (C.Sort C.Prop, C.Sort C.Set) - | (C.Sort C.Prop, C.Sort C.CProp) - | (C.Sort C.Prop, C.Sort (C.Type _) ) when need_dummy -> - (let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - match o with - C.InductiveDefinition (itl,_,paramsno,_) -> - let itl_len = List.length itl in - let (name,_,ty,cl) = List.nth itl i in - let cl_len = List.length cl in - if (cl_len = 0 || (itl_len = 1 && cl_len = 1)) then - let non_informative,ugraph = - if cl_len = 0 then true,ugraph - else - is_non_informative ~logger [Some (C.Name name,C.Decl ty)] - paramsno (snd (List.nth cl 0)) ugraph - in - (* is it a singleton or empty non recursive and non informative - definition? *) - non_informative, ugraph - else - false,ugraph - | _ -> - raise (TypeCheckerFailure - (lazy ("Unknown mutual inductive definition:" ^ - UriManager.string_of_uri uri))) - ) - | (C.Sort C.Set, C.Sort C.Prop) when need_dummy -> true , ugraph - | (C.Sort C.CProp, C.Sort C.Prop) when need_dummy -> true , ugraph - | (C.Sort C.Set, C.Sort C.Set) when need_dummy -> true , ugraph - | (C.Sort C.Set, C.Sort C.CProp) when need_dummy -> true , ugraph - | (C.Sort C.CProp, C.Sort C.Set) when need_dummy -> true , ugraph - | (C.Sort C.CProp, C.Sort C.CProp) when need_dummy -> true , ugraph - | ((C.Sort C.Set, C.Sort (C.Type _)) | (C.Sort C.CProp, C.Sort (C.Type _))) - when need_dummy -> - (let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - match o with - C.InductiveDefinition (itl,_,paramsno,_) -> - let tys = - List.map (fun (n,_,ty,_) -> Some (Cic.Name n,(Cic.Decl ty))) itl - in - let (_,_,_,cl) = List.nth itl i in - (List.fold_right - (fun (_,x) (i,ugraph) -> - if i then - is_small ~logger tys paramsno x ugraph - else - false,ugraph - ) cl (true,ugraph)) - | _ -> - raise (TypeCheckerFailure - (lazy ("Unknown mutual inductive definition:" ^ - UriManager.string_of_uri uri))) - ) - | (C.Sort (C.Type _), C.Sort _) when need_dummy -> true , ugraph - | (_,_) -> false,ugraph - in - check_allowed_sort_elimination_aux ugraph context arity2 need_dummy - -and type_of_branch ~subst context argsno need_dummy outtype term constype = - let module C = Cic in - let module R = CicReduction in - match R.whd ~subst context constype with - C.MutInd (_,_,_) -> - if need_dummy then - outtype - else - C.Appl [outtype ; term] - | C.Appl (C.MutInd (_,_,_)::tl) -> - let (_,arguments) = split tl argsno - in - if need_dummy && arguments = [] then - outtype - else - C.Appl (outtype::arguments@(if need_dummy then [] else [term])) - | C.Prod (name,so,de) -> - let term' = - match CicSubstitution.lift 1 term with - C.Appl l -> C.Appl (l@[C.Rel 1]) - | t -> C.Appl [t ; C.Rel 1] - in - C.Prod (C.Anonymous,so,type_of_branch ~subst - ((Some (name,(C.Decl so)))::context) argsno need_dummy - (CicSubstitution.lift 1 outtype) term' de) - | _ -> raise (AssertFailure (lazy "20")) - -(* check_metasenv_consistency checks that the "canonical" context of a -metavariable is consitent - up to relocation via the relocation list l - -with the actual context *) - - -and check_metasenv_consistency ~logger ~subst metasenv context - canonical_context l ugraph -= - let module C = Cic in - let module R = CicReduction in - let module S = CicSubstitution in - let lifted_canonical_context = - let rec aux i = - function - [] -> [] - | (Some (n,C.Decl t))::tl -> - (Some (n,C.Decl (S.subst_meta l (S.lift i t))))::(aux (i+1) tl) - | (Some (n,C.Def (t,None)))::tl -> - (Some (n,C.Def ((S.subst_meta l (S.lift i t)),None)))::(aux (i+1) tl) - | None::tl -> None::(aux (i+1) tl) - | (Some (n,C.Def (t,Some ty)))::tl -> - (Some (n,C.Def ((S.subst_meta l (S.lift i t)),Some (S.subst_meta l (S.lift i ty)))))::(aux (i+1) tl) - in - aux 1 canonical_context - in - List.fold_left2 - (fun ugraph t ct -> - match (t,ct) with - | _,None -> ugraph - | Some t,Some (_,C.Def (ct,_)) -> - let b,ugraph1 = - R.are_convertible ~subst ~metasenv context t ct ugraph - in - if not b then - raise - (TypeCheckerFailure - (lazy (sprintf "Not well typed metavariable local context: expected a term convertible with %s, found %s" (CicPp.ppterm ct) (CicPp.ppterm t)))) - else - ugraph1 - | Some t,Some (_,C.Decl ct) -> - let type_t,ugraph1 = - type_of_aux' ~logger ~subst metasenv context t ugraph - in - let b,ugraph2 = - R.are_convertible ~subst ~metasenv context type_t ct ugraph1 - in - if not b then - raise (TypeCheckerFailure - (lazy (sprintf "Not well typed metavariable local context: expected a term of type %s, found %s of type %s" - (CicPp.ppterm ct) (CicPp.ppterm t) - (CicPp.ppterm type_t)))) - else - ugraph2 - | None, _ -> - raise (TypeCheckerFailure - (lazy ("Not well typed metavariable local context: "^ - "an hypothesis, that is not hidden, is not instantiated"))) - ) ugraph l lifted_canonical_context - - -(* - type_of_aux' is just another name (with a different scope) - for type_of_aux -*) - -and type_of_aux' ~logger ?(subst = []) metasenv context t ugraph = - let rec type_of_aux ~logger context t ugraph = - let module C = Cic in - let module R = CicReduction in - let module S = CicSubstitution in - let module U = UriManager in - match t with - C.Rel n -> - (try - match List.nth context (n - 1) with - Some (_,C.Decl t) -> S.lift n t,ugraph - | Some (_,C.Def (_,Some ty)) -> S.lift n ty,ugraph - | Some (_,C.Def (bo,None)) -> - debug_print (lazy "##### CASO DA INVESTIGARE E CAPIRE") ; - type_of_aux ~logger context (S.lift n bo) ugraph - | None -> raise - (TypeCheckerFailure (lazy "Reference to deleted hypothesis")) - with - _ -> - raise (TypeCheckerFailure (lazy "unbound variable")) - ) - | C.Var (uri,exp_named_subst) -> - incr fdebug ; - let ugraph1 = - check_exp_named_subst ~logger ~subst context exp_named_subst ugraph - in - let ty,ugraph2 = type_of_variable ~logger uri ugraph1 in - let ty1 = CicSubstitution.subst_vars exp_named_subst ty in - decr fdebug ; - ty1,ugraph2 - | C.Meta (n,l) -> - (try - let (canonical_context,term,ty) = CicUtil.lookup_subst n subst in - let ugraph1 = - check_metasenv_consistency ~logger - ~subst metasenv context canonical_context l ugraph - in - (* assuming subst is well typed !!!!! *) - ((CicSubstitution.subst_meta l ty), ugraph1) - (* type_of_aux context (CicSubstitution.subst_meta l term) *) - with CicUtil.Subst_not_found _ -> - let (_,canonical_context,ty) = CicUtil.lookup_meta n metasenv in - let ugraph1 = - check_metasenv_consistency ~logger - ~subst metasenv context canonical_context l ugraph - in - ((CicSubstitution.subst_meta l ty),ugraph1)) - (* TASSI: CONSTRAINTS *) - | C.Sort (C.Type t) -> - let t' = CicUniv.fresh() in - let ugraph1 = CicUniv.add_gt t' t ugraph in - (C.Sort (C.Type t')),ugraph1 - (* TASSI: CONSTRAINTS *) - | C.Sort s -> (C.Sort (C.Type (CicUniv.fresh ()))),ugraph - | C.Implicit _ -> raise (AssertFailure (lazy "21")) - | C.Cast (te,ty) as t -> - let _,ugraph1 = type_of_aux ~logger context ty ugraph in - let ty_te,ugraph2 = type_of_aux ~logger context te ugraph1 in - let b,ugraph3 = - R.are_convertible ~subst ~metasenv context ty_te ty ugraph2 - in - if b then - ty,ugraph3 - else - raise (TypeCheckerFailure - (lazy (sprintf "Invalid cast %s" (CicPp.ppterm t)))) - | C.Prod (name,s,t) -> - let sort1,ugraph1 = type_of_aux ~logger context s ugraph in - let sort2,ugraph2 = - type_of_aux ~logger ((Some (name,(C.Decl s)))::context) t ugraph1 - in - sort_of_prod ~subst context (name,s) (sort1,sort2) ugraph2 - | C.Lambda (n,s,t) -> - let sort1,ugraph1 = type_of_aux ~logger context s ugraph in - (match R.whd ~subst context sort1 with - C.Meta _ - | C.Sort _ -> () - | _ -> - raise - (TypeCheckerFailure (lazy (sprintf - "Not well-typed lambda-abstraction: the source %s should be a type; instead it is a term of type %s" (CicPp.ppterm s) - (CicPp.ppterm sort1)))) - ) ; - let type2,ugraph2 = - type_of_aux ~logger ((Some (n,(C.Decl s)))::context) t ugraph1 - in - (C.Prod (n,s,type2)),ugraph2 - | C.LetIn (n,s,t) -> - (* only to check if s is well-typed *) - let ty,ugraph1 = type_of_aux ~logger context s ugraph in - (* The type of a LetIn is a LetIn. Extremely slow since the computed - LetIn is later reduced and maybe also re-checked. - (C.LetIn (n,s, type_of_aux ((Some (n,(C.Def s)))::context) t)) - *) - (* The type of the LetIn is reduced. Much faster than the previous - solution. Moreover the inferred type is probably very different - from the expected one. - (CicReduction.whd ~subst context - (C.LetIn (n,s, type_of_aux ((Some (n,(C.Def s)))::context) t))) - *) - (* One-step LetIn reduction. Even faster than the previous solution. - Moreover the inferred type is closer to the expected one. *) - let ty1,ugraph2 = - type_of_aux ~logger - ((Some (n,(C.Def (s,Some ty))))::context) t ugraph1 - in - (CicSubstitution.subst s ty1),ugraph2 - | C.Appl (he::tl) when List.length tl > 0 -> - let hetype,ugraph1 = type_of_aux ~logger context he ugraph in - let tlbody_and_type,ugraph2 = - List.fold_right ( - fun x (l,ugraph) -> - let ty,ugraph1 = type_of_aux ~logger context x ugraph in - let _,ugraph1 = type_of_aux ~logger context ty ugraph1 in - ((x,ty)::l,ugraph1)) - tl ([],ugraph1) - in - (* TASSI: questa c'era nel mio... ma non nel CVS... *) - (* let _,ugraph2 = type_of_aux context hetype ugraph2 in *) - eat_prods ~subst context hetype tlbody_and_type ugraph2 - | C.Appl _ -> raise (AssertFailure (lazy "Appl: no arguments")) - | C.Const (uri,exp_named_subst) -> - incr fdebug ; - let ugraph1 = - check_exp_named_subst ~logger ~subst context exp_named_subst ugraph - in - let cty,ugraph2 = type_of_constant ~logger uri ugraph1 in - let cty1 = - CicSubstitution.subst_vars exp_named_subst cty - in - decr fdebug ; - cty1,ugraph2 - | C.MutInd (uri,i,exp_named_subst) -> - incr fdebug ; - let ugraph1 = - check_exp_named_subst ~logger ~subst context exp_named_subst ugraph - in - (* TASSI: da me c'era anche questa, ma in CVS no *) - let mty,ugraph2 = type_of_mutual_inductive_defs ~logger uri i ugraph1 in - (* fine parte dubbia *) - let cty = - CicSubstitution.subst_vars exp_named_subst mty - in - decr fdebug ; - cty,ugraph2 - | C.MutConstruct (uri,i,j,exp_named_subst) -> - let ugraph1 = - check_exp_named_subst ~logger ~subst context exp_named_subst ugraph - in - (* TASSI: idem come sopra *) - let mty,ugraph2 = - type_of_mutual_inductive_constr ~logger uri i j ugraph1 - in - let cty = - CicSubstitution.subst_vars exp_named_subst mty - in - cty,ugraph2 - | C.MutCase (uri,i,outtype,term,pl) -> - let outsort,ugraph1 = type_of_aux ~logger context outtype ugraph in - let (need_dummy, k) = - let rec guess_args context t = - let outtype = CicReduction.whd ~subst context t in - match outtype with - C.Sort _ -> (true, 0) - | C.Prod (name, s, t) -> - let (b, n) = - guess_args ((Some (name,(C.Decl s)))::context) t in - if n = 0 then - (* last prod before sort *) - match CicReduction.whd ~subst context s with -(*CSC: for _ see comment below about the missing named_exp_subst ?????????? *) - C.MutInd (uri',i',_) when U.eq uri' uri && i' = i -> - (false, 1) -(*CSC: for _ see comment below about the missing named_exp_subst ?????????? *) - | C.Appl ((C.MutInd (uri',i',_)) :: _) - when U.eq uri' uri && i' = i -> (false, 1) - | _ -> (true, 1) - else - (b, n + 1) - | _ -> - raise - (TypeCheckerFailure - (lazy (sprintf - "Malformed case analasys' output type %s" - (CicPp.ppterm outtype)))) - in -(* - let (parameters, arguments, exp_named_subst),ugraph2 = - let ty,ugraph2 = type_of_aux context term ugraph1 in - match R.whd ~subst context ty with - (*CSC manca il caso dei CAST *) -(*CSC: ma servono i parametri (uri,i)? Se si', perche' non serve anche il *) -(*CSC: parametro exp_named_subst? Se no, perche' non li togliamo? *) -(*CSC: Hint: nella DTD servono per gli stylesheet. *) - C.MutInd (uri',i',exp_named_subst) as typ -> - if U.eq uri uri' && i = i' then - ([],[],exp_named_subst),ugraph2 - else - raise - (TypeCheckerFailure - (lazy (sprintf - ("Case analysys: analysed term type is %s, but is expected to be (an application of) %s#1/%d{_}") - (CicPp.ppterm typ) (U.string_of_uri uri) i))) - | C.Appl - ((C.MutInd (uri',i',exp_named_subst) as typ):: tl) as typ' -> - if U.eq uri uri' && i = i' then - let params,args = - split tl (List.length tl - k) - in (params,args,exp_named_subst),ugraph2 - else - raise - (TypeCheckerFailure - (lazy (sprintf - ("Case analysys: analysed term type is %s, "^ - "but is expected to be (an application of) "^ - "%s#1/%d{_}") - (CicPp.ppterm typ') (U.string_of_uri uri) i))) - | _ -> - raise - (TypeCheckerFailure - (lazy (sprintf - ("Case analysis: "^ - "analysed term %s is not an inductive one") - (CicPp.ppterm term)))) -*) - let (b, k) = guess_args context outsort in - if not b then (b, k - 1) else (b, k) in - let (parameters, arguments, exp_named_subst),ugraph2 = - let ty,ugraph2 = type_of_aux ~logger context term ugraph1 in - match R.whd ~subst context ty with - C.MutInd (uri',i',exp_named_subst) as typ -> - if U.eq uri uri' && i = i' then - ([],[],exp_named_subst),ugraph2 - else raise - (TypeCheckerFailure - (lazy (sprintf - ("Case analysys: analysed term type is %s (%s#1/%d{_}), but is expected to be (an application of) %s#1/%d{_}") - (CicPp.ppterm typ) (U.string_of_uri uri') i' (U.string_of_uri uri) i))) - | C.Appl - ((C.MutInd (uri',i',exp_named_subst) as typ):: tl) as typ' -> - if U.eq uri uri' && i = i' then - let params,args = - split tl (List.length tl - k) - in (params,args,exp_named_subst),ugraph2 - else raise - (TypeCheckerFailure - (lazy (sprintf - ("Case analysys: analysed term type is %s (%s#1/%d{_}), but is expected to be (an application of) %s#1/%d{_}") - (CicPp.ppterm typ) (U.string_of_uri uri') i' (U.string_of_uri uri) i))) - | _ -> - raise - (TypeCheckerFailure - (lazy (sprintf - "Case analysis: analysed term %s is not an inductive one" - (CicPp.ppterm term)))) - in - (* - let's control if the sort elimination is allowed: - [(I q1 ... qr)|B] - *) - let sort_of_ind_type = - if parameters = [] then - C.MutInd (uri,i,exp_named_subst) - else - C.Appl ((C.MutInd (uri,i,exp_named_subst))::parameters) - in - let type_of_sort_of_ind_ty,ugraph3 = - type_of_aux ~logger context sort_of_ind_type ugraph2 in - let b,ugraph4 = - check_allowed_sort_elimination ~subst ~metasenv ~logger context uri i - need_dummy sort_of_ind_type type_of_sort_of_ind_ty outsort ugraph3 - in - if not b then - raise - (TypeCheckerFailure (lazy ("Case analasys: sort elimination not allowed"))); - (* let's check if the type of branches are right *) - let parsno = - let obj,_ = - try - CicEnvironment.get_cooked_obj ~trust:false CicUniv.empty_ugraph uri - with Not_found -> assert false - in - match obj with - C.InductiveDefinition (_,_,parsno,_) -> parsno - | _ -> - raise (TypeCheckerFailure - (lazy ("Unknown mutual inductive definition:" ^ - UriManager.string_of_uri uri))) - in - let (_,branches_ok,ugraph5) = - List.fold_left - (fun (j,b,ugraph) p -> - if b then - let cons = - if parameters = [] then - (C.MutConstruct (uri,i,j,exp_named_subst)) - else - (C.Appl - (C.MutConstruct (uri,i,j,exp_named_subst)::parameters)) - in - let ty_p,ugraph1 = type_of_aux ~logger context p ugraph in - let ty_cons,ugraph3 = type_of_aux ~logger context cons ugraph1 in - (* 2 is skipped *) - let ty_branch = - type_of_branch ~subst context parsno need_dummy outtype cons - ty_cons in - let b1,ugraph4 = - R.are_convertible - ~subst ~metasenv context ty_p ty_branch ugraph3 - in - if not b1 then - debug_print (lazy - ("#### " ^ CicPp.ppterm ty_p ^ - " <==> " ^ CicPp.ppterm ty_branch)); - (j + 1,b1,ugraph4) - else - (j,false,ugraph) - ) (1,true,ugraph4) pl - in - if not branches_ok then - raise - (TypeCheckerFailure (lazy "Case analysys: wrong branch type")); - let arguments' = - if not need_dummy then outtype::arguments@[term] - else outtype::arguments in - let outtype = - if need_dummy && arguments = [] then outtype - else CicReduction.head_beta_reduce (C.Appl arguments') - in - outtype,ugraph5 - | C.Fix (i,fl) -> - let types_times_kl,ugraph1 = - (* WAS: list rev list map *) - List.fold_left - (fun (l,ugraph) (n,k,ty,_) -> - let _,ugraph1 = type_of_aux ~logger context ty ugraph in - ((Some (C.Name n,(C.Decl ty)),k)::l,ugraph1) - ) ([],ugraph) fl - in - let (types,kl) = List.split types_times_kl in - let len = List.length types in - let ugraph2 = - List.fold_left - (fun ugraph (name,x,ty,bo) -> - let ty_bo,ugraph1 = - type_of_aux ~logger (types@context) bo ugraph - in - let b,ugraph2 = - R.are_convertible ~subst ~metasenv (types@context) - ty_bo (CicSubstitution.lift len ty) ugraph1 in - if b then - begin - let (m, eaten, context') = - eat_lambdas ~subst (types @ context) (x + 1) bo - in - (* - let's control the guarded by - destructors conditions D{f,k,x,M} - *) - if not (guarded_by_destructors ~subst context' eaten - (len + eaten) kl 1 [] m) then - raise - (TypeCheckerFailure - (lazy ("Fix: not guarded by destructors"))) - else - ugraph2 - end - else - raise (TypeCheckerFailure (lazy ("Fix: ill-typed bodies"))) - ) ugraph1 fl in - (*CSC: controlli mancanti solo su D{f,k,x,M} *) - let (_,_,ty,_) = List.nth fl i in - ty,ugraph2 - | C.CoFix (i,fl) -> - let types,ugraph1 = - List.fold_left - (fun (l,ugraph) (n,ty,_) -> - let _,ugraph1 = - type_of_aux ~logger context ty ugraph in - (Some (C.Name n,(C.Decl ty))::l,ugraph1) - ) ([],ugraph) fl - in - let len = List.length types in - let ugraph2 = - List.fold_left - (fun ugraph (_,ty,bo) -> - let ty_bo,ugraph1 = - type_of_aux ~logger (types @ context) bo ugraph - in - let b,ugraph2 = - R.are_convertible ~subst ~metasenv (types @ context) ty_bo - (CicSubstitution.lift len ty) ugraph1 - in - if b then - begin - (* let's control that the returned type is coinductive *) - match returns_a_coinductive ~subst context ty with - None -> - raise - (TypeCheckerFailure - (lazy "CoFix: does not return a coinductive type")) - | Some uri -> - (* - let's control the guarded by constructors - conditions C{f,M} - *) - if not (guarded_by_constructors ~subst - (types @ context) 0 len false bo [] uri) then - raise - (TypeCheckerFailure - (lazy "CoFix: not guarded by constructors")) - else - ugraph2 - end - else - raise - (TypeCheckerFailure (lazy "CoFix: ill-typed bodies")) - ) ugraph1 fl - in - let (_,ty,_) = List.nth fl i in - ty,ugraph2 - - and check_exp_named_subst ~logger ~subst context ugraph = - let rec check_exp_named_subst_aux ~logger esubsts l ugraph = - match l with - [] -> ugraph - | ((uri,t) as item)::tl -> - let ty_uri,ugraph1 = type_of_variable ~logger uri ugraph in - let typeofvar = - CicSubstitution.subst_vars esubsts ty_uri in - let typeoft,ugraph2 = type_of_aux ~logger context t ugraph1 in - let b,ugraph3 = - CicReduction.are_convertible ~subst ~metasenv - context typeoft typeofvar ugraph2 - in - if b then - check_exp_named_subst_aux ~logger (esubsts@[item]) tl ugraph3 - else - begin - CicReduction.fdebug := 0 ; - ignore - (CicReduction.are_convertible - ~subst ~metasenv context typeoft typeofvar ugraph2) ; - fdebug := 0 ; - debug typeoft [typeofvar] ; - raise (TypeCheckerFailure (lazy "Wrong Explicit Named Substitution")) - end - in - check_exp_named_subst_aux ~logger [] ugraph - - and sort_of_prod ~subst context (name,s) (t1, t2) ugraph = - let module C = Cic in - let t1' = CicReduction.whd ~subst context t1 in - let t2' = CicReduction.whd ~subst ((Some (name,C.Decl s))::context) t2 in - match (t1', t2') with - (C.Sort s1, C.Sort s2) - when (s2 = C.Prop or s2 = C.Set or s2 = C.CProp) -> - (* different from Coq manual!!! *) - C.Sort s2,ugraph - | (C.Sort (C.Type t1), C.Sort (C.Type t2)) -> - (* TASSI: CONSRTAINTS: the same in doubletypeinference, cicrefine *) - let t' = CicUniv.fresh() in - let ugraph1 = CicUniv.add_ge t' t1 ugraph in - let ugraph2 = CicUniv.add_ge t' t2 ugraph1 in - C.Sort (C.Type t'),ugraph2 - | (C.Sort _,C.Sort (C.Type t1)) -> - (* TASSI: CONSRTAINTS: the same in doubletypeinference, cicrefine *) - C.Sort (C.Type t1),ugraph (* c'e' bisogno di un fresh? *) - | (C.Meta _, C.Sort _) -> t2',ugraph - | (C.Meta _, (C.Meta (_,_) as t)) - | (C.Sort _, (C.Meta (_,_) as t)) when CicUtil.is_closed t -> - t2',ugraph - | (_,_) -> raise (TypeCheckerFailure (lazy (sprintf - "Prod: expected two sorts, found = %s, %s" (CicPp.ppterm t1') - (CicPp.ppterm t2')))) - - and eat_prods ~subst context hetype l ugraph = - (*CSC: siamo sicuri che le are_convertible non lavorino con termini non *) - (*CSC: cucinati *) - match l with - [] -> hetype,ugraph - | (hete, hety)::tl -> - (match (CicReduction.whd ~subst context hetype) with - Cic.Prod (n,s,t) -> - let b,ugraph1 = - CicReduction.are_convertible - ~subst ~metasenv context hety s ugraph - in - if b then - begin - CicReduction.fdebug := -1 ; - eat_prods ~subst context - (CicSubstitution.subst hete t) tl ugraph1 - (*TASSI: not sure *) - end - else - begin - CicReduction.fdebug := 0 ; - ignore (CicReduction.are_convertible - ~subst ~metasenv context s hety ugraph) ; - fdebug := 0 ; - debug s [hety] ; - raise - (TypeCheckerFailure - (lazy (sprintf - ("Appl: wrong parameter-type, expected %s, found %s") - (CicPp.ppterm hetype) (CicPp.ppterm s)))) - end - | _ -> - raise (TypeCheckerFailure - (lazy "Appl: this is not a function, it cannot be applied")) - ) - - and returns_a_coinductive ~subst context ty = - let module C = Cic in - match CicReduction.whd ~subst context ty with - C.MutInd (uri,i,_) -> - (*CSC: definire una funzioncina per questo codice sempre replicato *) - let obj,_ = - try - CicEnvironment.get_cooked_obj ~trust:false CicUniv.empty_ugraph uri - with Not_found -> assert false - in - (match obj with - C.InductiveDefinition (itl,_,_,_) -> - let (_,is_inductive,_,_) = List.nth itl i in - if is_inductive then None else (Some uri) - | _ -> - raise (TypeCheckerFailure - (lazy ("Unknown mutual inductive definition:" ^ - UriManager.string_of_uri uri))) - ) - | C.Appl ((C.MutInd (uri,i,_))::_) -> - (let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - match o with - C.InductiveDefinition (itl,_,_,_) -> - let (_,is_inductive,_,_) = List.nth itl i in - if is_inductive then None else (Some uri) - | _ -> - raise (TypeCheckerFailure - (lazy ("Unknown mutual inductive definition:" ^ - UriManager.string_of_uri uri))) - ) - | C.Prod (n,so,de) -> - returns_a_coinductive ~subst ((Some (n,C.Decl so))::context) de - | _ -> None - - in -(*CSC -debug_print (lazy ("INIZIO TYPE_OF_AUX " ^ CicPp.ppterm t)) ; flush stderr ; -let res = -*) - type_of_aux ~logger context t ugraph -(* -in debug_print (lazy "FINE TYPE_OF_AUX") ; flush stderr ; res -*) - -(* is a small constructor? *) -(*CSC: ottimizzare calcolando staticamente *) -and is_small_or_non_informative ~condition ~logger context paramsno c ugraph = - let rec is_small_or_non_informative_aux ~logger context c ugraph = - let module C = Cic in - match CicReduction.whd context c with - C.Prod (n,so,de) -> - let s,ugraph1 = type_of_aux' ~logger [] context so ugraph in - let b = condition s in - if b then - is_small_or_non_informative_aux - ~logger ((Some (n,(C.Decl so)))::context) de ugraph1 - else - false,ugraph1 - | _ -> true,ugraph (*CSC: we trust the type-checker *) - in - let (context',dx) = split_prods ~subst:[] context paramsno c in - is_small_or_non_informative_aux ~logger context' dx ugraph - -and is_small ~logger = - is_small_or_non_informative - ~condition:(fun s -> s=Cic.Sort Cic.Prop || s=Cic.Sort Cic.Set) - ~logger - -and is_non_informative ~logger = - is_small_or_non_informative - ~condition:(fun s -> s=Cic.Sort Cic.Prop) - ~logger - -and type_of ~logger t ugraph = -(*CSC -debug_print (lazy ("INIZIO TYPE_OF_AUX' " ^ CicPp.ppterm t)) ; flush stderr ; -let res = -*) - type_of_aux' ~logger [] [] t ugraph -(*CSC -in debug_print (lazy "FINE TYPE_OF_AUX'") ; flush stderr ; res -*) -;; - -let typecheck_obj0 ~logger uri ugraph = - let module C = Cic in - function - C.Constant (_,Some te,ty,_,_) -> - let _,ugraph = type_of ~logger ty ugraph in - let ty_te,ugraph = type_of ~logger te ugraph in - let b,ugraph = (CicReduction.are_convertible [] ty_te ty ugraph) in - if not b then - raise (TypeCheckerFailure - (lazy "the type of the body is not the one expected")) - else - ugraph - | C.Constant (_,None,ty,_,_) -> - (* only to check that ty is well-typed *) - let _,ugraph = type_of ~logger ty ugraph in - ugraph - | C.CurrentProof (_,conjs,te,ty,_,_) -> - let _,ugraph = - List.fold_left - (fun (metasenv,ugraph) ((_,context,ty) as conj) -> - let _,ugraph = - type_of_aux' ~logger metasenv context ty ugraph - in - metasenv @ [conj],ugraph - ) ([],ugraph) conjs - in - let _,ugraph = type_of_aux' ~logger conjs [] ty ugraph in - let type_of_te,ugraph = - type_of_aux' ~logger conjs [] te ugraph - in - let b,ugraph = CicReduction.are_convertible [] type_of_te ty ugraph in - if not b then - raise (TypeCheckerFailure (lazy (sprintf - "the current proof is not well typed because the type %s of the body is not convertible to the declared type %s" - (CicPp.ppterm type_of_te) (CicPp.ppterm ty)))) - else - ugraph - | C.Variable (_,bo,ty,_,_) -> - (* only to check that ty is well-typed *) - let _,ugraph = type_of ~logger ty ugraph in - (match bo with - None -> ugraph - | Some bo -> - let ty_bo,ugraph = type_of ~logger bo ugraph in - let b,ugraph = CicReduction.are_convertible [] ty_bo ty ugraph in - if not b then - raise (TypeCheckerFailure - (lazy "the body is not the one expected")) - else - ugraph - ) - | (C.InductiveDefinition _ as obj) -> - check_mutual_inductive_defs ~logger uri obj ugraph - -let typecheck uri = - let module C = Cic in - let module R = CicReduction in - let module U = UriManager in - let logger = new CicLogger.logger in - (* ??? match CicEnvironment.is_type_checked ~trust:true uri with ???? *) - match CicEnvironment.is_type_checked ~trust:false CicUniv.empty_ugraph uri with - CicEnvironment.CheckedObj (cobj,ugraph') -> - (* debug_print (lazy ("NON-INIZIO A TYPECHECKARE " ^ U.string_of_uri uri));*) - cobj,ugraph' - | CicEnvironment.UncheckedObj uobj -> - (* let's typecheck the uncooked object *) - logger#log (`Start_type_checking uri) ; - (* debug_print (lazy ("INIZIO A TYPECHECKARE " ^ U.string_of_uri uri)); *) - let ugraph = typecheck_obj0 ~logger uri CicUniv.empty_ugraph uobj in - try - CicEnvironment.set_type_checking_info uri; - logger#log (`Type_checking_completed uri); - match CicEnvironment.is_type_checked ~trust:false ugraph uri with - CicEnvironment.CheckedObj (cobj,ugraph') -> cobj,ugraph' - | _ -> raise CicEnvironmentError - with - (* - this is raised if set_type_checking_info is called on an object - that has no associated universe file. If we are in univ_maker - phase this is OK since univ_maker will properly commit the - object. - *) - Invalid_argument s -> - (*debug_print (lazy s);*) - uobj,ugraph -;; - -let typecheck_obj ~logger uri obj = - let ugraph = typecheck_obj0 ~logger uri CicUniv.empty_ugraph obj in - let ugraph, univlist, obj = CicUnivUtils.clean_and_fill uri obj ugraph in - CicEnvironment.add_type_checked_obj uri (obj,ugraph,univlist) - -(** wrappers which instantiate fresh loggers *) - -let type_of_aux' ?(subst = []) metasenv context t ugraph = - let logger = new CicLogger.logger in - type_of_aux' ~logger ~subst metasenv context t ugraph - -let typecheck_obj uri obj = - let logger = new CicLogger.logger in - typecheck_obj ~logger uri obj - -(* check_allowed_sort_elimination uri i s1 s2 - This function is used outside the kernel to determine in advance whether - a MutCase will be allowed or not. - [uri,i] is the type of the term to match - [s1] is the sort of the term to eliminate (i.e. the head of the arity - of the inductive type [uri,i]) - [s2] is the sort of the goal (i.e. the head of the type of the outtype - of the MutCase) *) -let check_allowed_sort_elimination uri i s1 s2 = - fst (check_allowed_sort_elimination ~subst:[] ~metasenv:[] - ~logger:(new CicLogger.logger) [] uri i true - (Cic.Implicit None) (* never used *) (Cic.Sort s1) (Cic.Sort s2) - CicUniv.empty_ugraph) diff --git a/helm/ocaml/cic_proof_checking/cicTypeChecker.mli b/helm/ocaml/cic_proof_checking/cicTypeChecker.mli deleted file mode 100644 index 28f134e07..000000000 --- a/helm/ocaml/cic_proof_checking/cicTypeChecker.mli +++ /dev/null @@ -1,54 +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/. - *) - -(* These are the only exceptions that will be raised *) -exception TypeCheckerFailure of string Lazy.t -exception AssertFailure of string Lazy.t - -val debrujin_constructor : UriManager.uri -> int -> Cic.term -> Cic.term - -val typecheck : UriManager.uri -> Cic.obj * CicUniv.universe_graph - -(* FUNCTIONS USED ONLY IN THE TOPLEVEL *) - -(* type_of_aux' metasenv context term *) -val type_of_aux': - ?subst:Cic.substitution -> Cic.metasenv -> Cic.context -> - Cic.term -> CicUniv.universe_graph -> - Cic.term * CicUniv.universe_graph - -(* typechecks the obj and puts it in the environment *) -val typecheck_obj : UriManager.uri -> Cic.obj -> unit - -(* check_allowed_sort_elimination uri i s1 s2 - This function is used outside the kernel to determine in advance whether - a MutCase will be allowed or not. - [uri,i] is the type of the term to match - [s1] is the sort of the term to eliminate (i.e. the head of the arity - of the inductive type [uri,i]) - [s2] is the sort of the goal (i.e. the head of the type of the outtype - of the MutCase) *) -val check_allowed_sort_elimination: - UriManager.uri -> int -> Cic.sort -> Cic.sort -> bool diff --git a/helm/ocaml/cic_proof_checking/cicUnivUtils.ml b/helm/ocaml/cic_proof_checking/cicUnivUtils.ml deleted file mode 100644 index ace4f844f..000000000 --- a/helm/ocaml/cic_proof_checking/cicUnivUtils.ml +++ /dev/null @@ -1,151 +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 *) -(* *) -(* Enrico Tassi *) -(* 23/04/2004 *) -(* *) -(* This module implements some useful function regarding univers graphs *) -(* *) -(*****************************************************************************) - -module C = Cic -module H = UriManager.UriHashtbl -let eq = UriManager.eq - -(* uri is the uri of the actual object that must be 'skipped' *) -let universes_of_obj uri t = - (* don't the same work twice *) - let visited_objs = H.create 31 in - let visited u = H.replace visited_objs u true in - let is_not_visited u = not (H.mem visited_objs u) in - visited uri; - (* the result *) - let results = ref [] in - let add_result l = results := l :: !results in - (* the iterators *) - let rec aux = function - | C.Const (u,exp_named_subst) when is_not_visited u -> - aux_uri u; - visited u; - C.Const (u, List.map (fun (x,t) -> x,aux t) exp_named_subst) - | C.Var (u,exp_named_subst) when is_not_visited u -> - aux_uri u; - visited u; - C.Var (u, List.map (fun (x,t) -> x,aux t) exp_named_subst) - | C.Const (u,exp_named_subst) -> - C.Const (u, List.map (fun (x,t) -> x,aux t) exp_named_subst) - | C.Var (u,exp_named_subst) -> - C.Var (u, List.map (fun (x,t) -> x,aux t) exp_named_subst) - | C.MutInd (u,x,exp_named_subst) when is_not_visited u -> - aux_uri u; - visited u; - C.MutInd (u,x,List.map (fun (x,t) -> x,aux t) exp_named_subst) - | C.MutInd (u,x,exp_named_subst) -> - C.MutInd (u,x, List.map (fun (x,t) -> x,aux t) exp_named_subst) - | C.MutConstruct (u,x,y,exp_named_subst) when is_not_visited u -> - aux_uri u; - visited u; - C.MutConstruct (u,x,y,List.map (fun (x,t) -> x,aux t) exp_named_subst) - | C.MutConstruct (x,y,z,exp_named_subst) -> - C.MutConstruct (x,y,z,List.map (fun (x,t) -> x,aux t) exp_named_subst) - | C.Meta (n,l1) -> C.Meta (n, List.map (HExtlib.map_option aux) l1) - | C.Sort (C.Type i) -> add_result [i]; - C.Sort (C.Type (CicUniv.name_universe i uri)) - | C.Rel _ - | C.Sort _ - | C.Implicit _ as x -> x - | C.Cast (v,t) -> C.Cast (aux v, aux t) - | C.Prod (b,s,t) -> C.Prod (b,aux s, aux t) - | C.Lambda (b,s,t) -> C.Lambda (b,aux s, aux t) - | C.LetIn (b,s,t) -> C.LetIn (b,aux s, aux t) - | C.Appl li -> C.Appl (List.map aux li) - | C.MutCase (uri,n1,ty,te,patterns) -> - C.MutCase (uri,n1,aux ty,aux te, List.map aux patterns) - | C.Fix (no, funs) -> - C.Fix(no, List.map (fun (x,y,b,c) -> (x,y,aux b,aux c)) funs) - | C.CoFix (no,funs) -> - C.CoFix(no, List.map (fun (x,b,c) -> (x,aux b,aux c)) funs) - and aux_uri u = - if is_not_visited u then - let _, _, l = - CicEnvironment.get_cooked_obj_with_univlist CicUniv.empty_ugraph u in - add_result l - and aux_obj = function - | C.Constant (x,Some te,ty,v,y) -> - List.iter aux_uri v; - C.Constant (x,Some (aux te),aux ty,v,y) - | C.Variable (x,Some te,ty,v,y) -> - List.iter aux_uri v; - C.Variable (x,Some (aux te),aux ty,v,y) - | C.Constant (x,None, ty, v,y) -> - List.iter aux_uri v; - C.Constant (x,None, aux ty, v,y) - | C.Variable (x,None, ty, v,y) -> - List.iter aux_uri v; - C.Variable (x,None, aux ty, v,y) - | C.CurrentProof (_,conjs,te,ty,v,_) -> assert false - | C.InductiveDefinition (l,v,x,y) -> - List.iter aux_uri v; - C.InductiveDefinition ( - List.map - (fun (x,y,t,l') -> - (x,y,aux t, List.map (fun (x,t) -> x,aux t) l')) - l,v,x,y) - in - let o = aux_obj t in - List.flatten !results, o - -let rec list_uniq = function - | [] -> [] - | h::[] -> [h] - | h1::h2::tl when CicUniv.eq h1 h2 -> list_uniq (h2 :: tl) - | h1::tl (* when h1 <> h2 *) -> h1 :: list_uniq tl - -let list_uniq l = - list_uniq (List.fast_sort CicUniv.compare l) - -let profiler = (HExtlib.profile "clean_and_fill").HExtlib.profile - -let clean_and_fill uri obj ugraph = - (* universes of obj fills the universes of the obj with the right uri *) - let list_of_universes, obj = universes_of_obj uri obj in - let list_of_universes = list_uniq list_of_universes in -(* CicUniv.print_ugraph ugraph;*) -(* List.iter (fun u -> prerr_endline (CicUniv.string_of_universe u))*) -(* list_of_universes;*) - let ugraph = CicUniv.clean_ugraph ugraph list_of_universes in -(* CicUniv.print_ugraph ugraph;*) - let ugraph, list_of_universes = - CicUniv.fill_empty_nodes_with_uri ugraph list_of_universes uri - in - ugraph, list_of_universes, obj - -let clean_and_fill u o g = - profiler (clean_and_fill u o) g - diff --git a/helm/ocaml/cic_proof_checking/cicUnivUtils.mli b/helm/ocaml/cic_proof_checking/cicUnivUtils.mli deleted file mode 100644 index eb55a47eb..000000000 --- a/helm/ocaml/cic_proof_checking/cicUnivUtils.mli +++ /dev/null @@ -1,32 +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/. - *) - - (** cleans the universe graph for a given object and fills universes with URI. - * to be used on qed - *) -val clean_and_fill: - UriManager.uri -> Cic.obj -> CicUniv.universe_graph -> - CicUniv.universe_graph * CicUniv.universe list * Cic.obj - diff --git a/helm/ocaml/cic_proof_checking/doc/inductive.txt b/helm/ocaml/cic_proof_checking/doc/inductive.txt deleted file mode 100644 index f2e49d398..000000000 --- a/helm/ocaml/cic_proof_checking/doc/inductive.txt +++ /dev/null @@ -1,41 +0,0 @@ -Table of allowed eliminations: - - +--------------------+----------------------------------+ - | Inductive Type | Elimination to | - +--------------------+----------------------------------+ - | Sort | "Smallness" | Prop | SetI | SetP | CProp| Type | - +--------------------+----------------------------------+ - | Prop empty | yes yes yes yes yes | - | Prop unit | yes yes yes yes yes | - | Prop small | yes no2 no2 no2 no12 | - | Prop | yes no2 no2 no2 no12 | - | SetI empty | yes yes -- yes yes | - | SetI small | yes yes -- yes yes | - | SetI | yes yes -- no1 no1 | - | SetP empty | yes -- yes yes yes | - | SetP small | yes -- yes yes yes | - | SetP | na3 na3 na3 na3 na3 | - | CProp empty | yes yes yes yes yes | - | CProp small | yes yes yes yes yes | - | CProp | yes yes yes yes yes | - | Type | yes yes yes yes yes | - +--------------------+----------------------------------+ - -Legenda: - no: elimination not allowed - na: not allowed, the inductive definition is rejected - - 1 : due to paradoxes a la Hurkens - 2 : due to code extraction + proof irreleveance incompatibility - (if you define Bool in Prop, you will be able to prove true<>false) - 3 : inductive type is rejected due to universe inconsistency - - SetP : Predicative Set - SetI : Impredicative Set - - non-informative : Constructor arguments are in Prop only - small : Constructor arguments are not in Type and SetP and CProp - unit : Non (mutually) recursive /\ only one constructor /\ non-informative - empty : in Coq: no constructors and non mutually recursive - in Matita: no constructors (but eventually mutually recursive - with non-empty types) diff --git a/helm/ocaml/cic_proof_checking/freshNamesGenerator.ml b/helm/ocaml/cic_proof_checking/freshNamesGenerator.ml deleted file mode 100755 index 113edd1ff..000000000 --- a/helm/ocaml/cic_proof_checking/freshNamesGenerator.ml +++ /dev/null @@ -1,352 +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://cs.unibo.it/helm/. - *) - -let debug_print = fun _ -> () - -let rec higher_name arity = - function - Cic.Sort Cic.Prop - | Cic.Sort Cic.CProp -> - if arity = 0 then "A" (* propositions *) - else if arity = 1 then "P" (* predicates *) - else "R" (*relations *) - | Cic.Sort Cic.Set - -> if arity = 0 then "S" else "F" - | Cic.Sort (Cic.Type _ ) -> - if arity = 0 then "T" else "F" - | Cic.Prod (_,_,t) -> higher_name (arity+1) t - | _ -> "f" - -let get_initial s = - if String.length s = 0 then "_" - else - let head = String.sub s 0 1 in - String.lowercase head - -(* only used when the sort is not Prop or CProp *) -let rec guess_a_name context ty = - match ty with - Cic.Rel n -> - (match List.nth context (n-1) with - None -> assert false - | Some (Cic.Anonymous,_) -> "eccomi_qua" - | Some (Cic.Name s,_) -> get_initial s) - | Cic.Var (uri,_) -> get_initial (UriManager.name_of_uri uri) - | Cic.Sort _ -> higher_name 0 ty - | Cic.Implicit _ -> assert false - | Cic.Cast (t1,t2) -> guess_a_name context t1 - | Cic.Prod (na_,_,t) -> higher_name 1 t - | Cic.Lambda _ -> assert false - | Cic.LetIn (_,s,t) -> guess_a_name context (CicSubstitution.subst s t) - | Cic.Appl [] -> assert false - | Cic.Appl (he::_) -> guess_a_name context he - | Cic.Const (uri,_) - | Cic.MutInd (uri,_,_) - | Cic.MutConstruct (uri,_,_,_) -> get_initial (UriManager.name_of_uri uri) - | _ -> "x" - -(* mk_fresh_name context name typ *) -(* returns an identifier which is fresh in the context *) -(* and that resembles [name] as much as possible. *) -(* [typ] will be the type of the variable *) -let mk_fresh_name ~subst metasenv context name ~typ = - let module C = Cic in - let basename = - match name with - C.Anonymous -> - (try - let ty,_ = - CicTypeChecker.type_of_aux' ~subst metasenv context typ - CicUniv.empty_ugraph in - (match ty with - C.Sort C.Prop - | C.Sort C.CProp -> "H" - | _ -> guess_a_name context typ - ) - with CicTypeChecker.TypeCheckerFailure _ -> "H" - ) - | C.Name name -> - Str.global_replace (Str.regexp "[0-9]*$") "" name - in - let already_used name = - List.exists (function Some (n,_) -> n=name | _ -> false) context - in - if name <> C.Anonymous && not (already_used name) then - name - else if not (already_used (C.Name basename)) then - C.Name basename - else - let rec try_next n = - let name' = C.Name (basename ^ string_of_int n) in - if already_used name' then - try_next (n+1) - else - name' - in - try_next 1 -;; - -(* let mk_fresh_names ~subst metasenv context t *) -let rec mk_fresh_names ~subst metasenv context t = - match t with - Cic.Rel _ -> t - | Cic.Var (uri,exp_named_subst) -> - let ens = - List.map - (fun (uri,t) -> - (uri,mk_fresh_names ~subst metasenv context t)) exp_named_subst in - Cic.Var (uri,ens) - | Cic.Meta (i,l) -> - let l' = - List.map - (fun t -> - match t with - None -> None - | Some t -> Some (mk_fresh_names ~subst metasenv context t)) l in - Cic.Meta(i,l') - | Cic.Sort _ - | Cic.Implicit _ -> t - | Cic.Cast (te,ty) -> - let te' = mk_fresh_names ~subst metasenv context te in - let ty' = mk_fresh_names ~subst metasenv context ty in - Cic.Cast (te', ty') - | Cic.Prod (n,s,t) -> - let s' = mk_fresh_names ~subst metasenv context s in - let n' = - match n with - Cic.Anonymous -> Cic.Anonymous - | Cic.Name "matita_dummy" -> - mk_fresh_name ~subst metasenv context Cic.Anonymous ~typ:s' - | _ -> n in - let t' = mk_fresh_names ~subst metasenv (Some(n',Cic.Decl s')::context) t in - Cic.Prod (n',s',t') - | Cic.Lambda (n,s,t) -> - let s' = mk_fresh_names ~subst metasenv context s in - let n' = - match n with - Cic.Anonymous -> Cic.Anonymous - | Cic.Name "matita_dummy" -> - mk_fresh_name ~subst metasenv context Cic.Anonymous ~typ:s' - | _ -> n in - let t' = mk_fresh_names ~subst metasenv (Some(n',Cic.Decl s')::context) t in - Cic.Lambda (n',s',t') - | Cic.LetIn (n,s,t) -> - let s' = mk_fresh_names ~subst metasenv context s in - let n' = - match n with - Cic.Anonymous -> Cic.Anonymous - | Cic.Name "matita_dummy" -> - mk_fresh_name ~subst metasenv context Cic.Anonymous ~typ:s' - | _ -> n in - let t' = mk_fresh_names ~subst metasenv (Some(n',Cic.Def (s',None))::context) t in - Cic.LetIn (n',s',t') - | Cic.Appl l -> - Cic.Appl (List.map (mk_fresh_names ~subst metasenv context) l) - | Cic.Const (uri,exp_named_subst) -> - let ens = - List.map - (fun (uri,t) -> - (uri,mk_fresh_names ~subst metasenv context t)) exp_named_subst in - Cic.Const(uri,ens) - | Cic.MutInd (uri,tyno,exp_named_subst) -> - let ens = - List.map - (fun (uri,t) -> - (uri,mk_fresh_names ~subst metasenv context t)) exp_named_subst in - Cic.MutInd (uri,tyno,ens) - | Cic.MutConstruct (uri,tyno,consno,exp_named_subst) -> - let ens = - List.map - (fun (uri,t) -> - (uri,mk_fresh_names ~subst metasenv context t)) exp_named_subst in - Cic.MutConstruct (uri,tyno,consno, ens) - | Cic.MutCase (sp,i,outty,t,pl) -> - let outty' = mk_fresh_names ~subst metasenv context outty in - let t' = mk_fresh_names ~subst metasenv context t in - let pl' = List.map (mk_fresh_names ~subst metasenv context) pl in - Cic.MutCase (sp, i, outty', t', pl') - | Cic.Fix (i, fl) -> - let tys = List.map - (fun (n,_,ty,_) -> - Some (Cic.Name n,(Cic.Decl ty))) fl in - let fl' = List.map - (fun (n,i,ty,bo) -> - let ty' = mk_fresh_names ~subst metasenv context ty in - let bo' = mk_fresh_names ~subst metasenv (tys@context) bo in - (n,i,ty',bo')) fl in - Cic.Fix (i, fl') - | Cic.CoFix (i, fl) -> - let tys = List.map - (fun (n,_,ty) -> - Some (Cic.Name n,(Cic.Decl ty))) fl in - let fl' = List.map - (fun (n,ty,bo) -> - let ty' = mk_fresh_names ~subst metasenv context ty in - let bo' = mk_fresh_names ~subst metasenv (tys@context) bo in - (n,ty',bo')) fl in - Cic.CoFix (i, fl') -;; - -(* clean_dummy_dependent_types term *) -(* returns a copy of [term] where every dummy dependent product *) -(* have been replaced with a non-dependent product and where *) -(* dummy let-ins have been removed. *) -let clean_dummy_dependent_types t = - let module C = Cic in - let rec aux k = - function - C.Rel m as t -> t,[k - m] - | C.Var (uri,exp_named_subst) -> - let exp_named_subst',rels = - List.fold_right - (fun (uri,t) (exp_named_subst,rels) -> - let t',rels' = aux k t in - (uri,t')::exp_named_subst, rels' @ rels - ) exp_named_subst ([],[]) - in - C.Var (uri,exp_named_subst'),rels - | C.Meta (i,l) -> - let l',rels = - List.fold_right - (fun t (l,rels) -> - let t',rels' = - match t with - None -> None,[] - | Some t -> - let t',rels' = aux k t in - Some t', rels' - in - t'::l, rels' @ rels - ) l ([],[]) - in - C.Meta(i,l'),rels - | C.Sort _ as t -> t,[] - | C.Implicit _ as t -> t,[] - | C.Cast (te,ty) -> - let te',rels1 = aux k te in - let ty',rels2 = aux k ty in - C.Cast (te', ty'), rels1@rels2 - | C.Prod (n,s,t) -> - let s',rels1 = aux k s in - let t',rels2 = aux (k+1) t in - let n' = - match n with - C.Anonymous -> - if List.mem k rels2 then -( - debug_print (lazy "If this happens often, we can do something about it (i.e. we can generate a new fresh name; problem: we need the metasenv and context ;-(. Alternative solution: mk_implicit does not generate entries for the elements in the context that have no name") ; - C.Anonymous -) - else - C.Anonymous - | C.Name _ as n -> - if List.mem k rels2 then n else C.Anonymous - in - C.Prod (n', s', t'), rels1@rels2 - | C.Lambda (n,s,t) -> - let s',rels1 = aux k s in - let t',rels2 = aux (k+1) t in - C.Lambda (n, s', t'), rels1@rels2 - | C.LetIn (n,s,t) -> - let s',rels1 = aux k s in - let t',rels2 = aux (k+1) t in - let rels = rels1 @ rels2 in - if List.mem k rels2 then - C.LetIn (n, s', t'), rels - else - (* (C.Rel 1) is just a dummy term; any term would fit *) - CicSubstitution.subst (C.Rel 1) t', rels - | C.Appl l -> - let l',rels = - List.fold_right - (fun t (exp_named_subst,rels) -> - let t',rels' = aux k t in - t'::exp_named_subst, rels' @ rels - ) l ([],[]) - in - C.Appl l', rels - | C.Const (uri,exp_named_subst) -> - let exp_named_subst',rels = - List.fold_right - (fun (uri,t) (exp_named_subst,rels) -> - let t',rels' = aux k t in - (uri,t')::exp_named_subst, rels' @ rels - ) exp_named_subst ([],[]) - in - C.Const (uri,exp_named_subst'),rels - | C.MutInd (uri,tyno,exp_named_subst) -> - let exp_named_subst',rels = - List.fold_right - (fun (uri,t) (exp_named_subst,rels) -> - let t',rels' = aux k t in - (uri,t')::exp_named_subst, rels' @ rels - ) exp_named_subst ([],[]) - in - C.MutInd (uri,tyno,exp_named_subst'),rels - | C.MutConstruct (uri,tyno,consno,exp_named_subst) -> - let exp_named_subst',rels = - List.fold_right - (fun (uri,t) (exp_named_subst,rels) -> - let t',rels' = aux k t in - (uri,t')::exp_named_subst, rels' @ rels - ) exp_named_subst ([],[]) - in - C.MutConstruct (uri,tyno,consno,exp_named_subst'),rels - | C.MutCase (sp,i,outty,t,pl) -> - let outty',rels1 = aux k outty in - let t',rels2 = aux k t in - let pl',rels3 = - List.fold_right - (fun t (exp_named_subst,rels) -> - let t',rels' = aux k t in - t'::exp_named_subst, rels' @ rels - ) pl ([],[]) - in - C.MutCase (sp, i, outty', t', pl'), rels1 @ rels2 @rels3 - | C.Fix (i, fl) -> - let len = List.length fl in - let fl',rels = - List.fold_right - (fun (name,i,ty,bo) (fl,rels) -> - let ty',rels1 = aux k ty in - let bo',rels2 = aux (k + len) bo in - (name,i,ty',bo')::fl, rels1 @ rels2 @ rels - ) fl ([],[]) - in - C.Fix (i, fl'),rels - | C.CoFix (i, fl) -> - let len = List.length fl in - let fl',rels = - List.fold_right - (fun (name,ty,bo) (fl,rels) -> - let ty',rels1 = aux k ty in - let bo',rels2 = aux (k + len) bo in - (name,ty',bo')::fl, rels1 @ rels2 @ rels - ) fl ([],[]) - in - C.CoFix (i, fl'),rels - in - fst (aux 0 t) -;; diff --git a/helm/ocaml/cic_proof_checking/freshNamesGenerator.mli b/helm/ocaml/cic_proof_checking/freshNamesGenerator.mli deleted file mode 100644 index b90c0f2f5..000000000 --- a/helm/ocaml/cic_proof_checking/freshNamesGenerator.mli +++ /dev/null @@ -1,46 +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://cs.unibo.it/helm/. - *) - -(* mk_fresh_name metasenv context name typ *) -(* returns an identifier which is fresh in the context *) -(* and that resembles [name] as much as possible. *) -(* [typ] will be the type of the variable *) -val mk_fresh_name : - subst:Cic.substitution -> - Cic.metasenv -> Cic.context -> Cic.name -> typ:Cic.term -> Cic.name - -(* mk_fresh_names metasenv context term *) -(* returns a term t' convertible with term where all *) -(* matita_dummies have been replaced by fresh names *) - -val mk_fresh_names : - subst:Cic.substitution -> - Cic.metasenv -> Cic.context -> Cic.term -> Cic.term - -(* clean_dummy_dependent_types term *) -(* returns a copy of [term] where every dummy dependent product *) -(* have been replaced with a non-dependent product and where *) -(* dummy let-ins have been removed. *) -val clean_dummy_dependent_types : Cic.term -> Cic.term diff --git a/helm/ocaml/cic_proof_checking/utilities/.cvsignore b/helm/ocaml/cic_proof_checking/utilities/.cvsignore deleted file mode 100644 index 3998fcc5b..000000000 --- a/helm/ocaml/cic_proof_checking/utilities/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -*.cm[iaox] *.cmxa -create_environment -create_environment.opt -list_uris -list_uris.opt -parse_library -parse_library.opt diff --git a/helm/ocaml/cic_proof_checking/utilities/Makefile b/helm/ocaml/cic_proof_checking/utilities/Makefile deleted file mode 100644 index 2cd98f894..000000000 --- a/helm/ocaml/cic_proof_checking/utilities/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -UTILITIES = create_environment parse_library list_uris -UTILITIES_OPT = $(patsubst %,%.opt,$(UTILITIES)) -LINKOPTS = -linkpkg -thread -LIBS = helm-cic_proof_checking -OCAMLC = ocamlfind ocamlc $(LINKOPTS) -package $(LIBS) -OCAMLOPT = ocamlfind opt $(LINKOPTS) -package $(LIBS) -all: $(UTILITIES) -opt: $(UTILITIES_OPT) -%: %.ml - $(OCAMLC) -o $@ $< -%.opt: %.ml - $(OCAMLOPT) -o $@ $< -clean: - rm -f $(UTILITIES) $(UTILITIES_OPT) *.cm[iox] *.o - diff --git a/helm/ocaml/cic_proof_checking/utilities/create_environment.ml b/helm/ocaml/cic_proof_checking/utilities/create_environment.ml deleted file mode 100644 index 8a8524d24..000000000 --- a/helm/ocaml/cic_proof_checking/utilities/create_environment.ml +++ /dev/null @@ -1,73 +0,0 @@ -(* Copyright (C) 2004-2005, 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 trust = true - -let outfname = - match Sys.argv.(1) with - | "-help" | "--help" | "-h" | "--h" -> - print_endline - ("Usage: create_environment \n" ^ - " is the file where environment will be dumped\n" ^ - " is the file containing the URIs, one per line,\n" ^ - " that will be typechecked. Could be \"-\" for\n" ^ - " standard input"); - flush stdout; - exit 0 - | f -> f -let _ = - CicEnvironment.set_trust (fun _ -> trust); - Helm_registry.set "getter.mode" "remote"; - Helm_registry.set "getter.url" "http://mowgli.cs.unibo.it:58081/"; - Sys.catch_break true; - if Sys.file_exists outfname then begin - let ic = open_in outfname in - CicEnvironment.restore_from_channel ic; - close_in ic - end -let urifname = - try - Sys.argv.(2) - with Invalid_argument _ -> "-" -let ic = - match urifname with - | "-" -> stdin - | fname -> open_in fname -let _ = - try - while true do -(* try *) - let uri = input_line ic in - print_endline uri; - flush stdout; - let uri = UriManager.uri_of_string uri in - ignore (CicTypeChecker.typecheck uri) -(* with Sys.Break -> () *) - done - with End_of_file | Sys.Break -> - let oc = open_out outfname in - CicEnvironment.dump_to_channel oc; - close_out oc - diff --git a/helm/ocaml/cic_proof_checking/utilities/list_uris.ml b/helm/ocaml/cic_proof_checking/utilities/list_uris.ml deleted file mode 100644 index 90ea51616..000000000 --- a/helm/ocaml/cic_proof_checking/utilities/list_uris.ml +++ /dev/null @@ -1,30 +0,0 @@ -(* Copyright (C) 2004-2005, 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 ic = open_in Sys.argv.(1) in -CicEnvironment.restore_from_channel ic; -List.iter - (fun uri -> print_endline (UriManager.string_of_uri uri)) - (CicEnvironment.list_uri ()) diff --git a/helm/ocaml/cic_proof_checking/utilities/parse_library.ml b/helm/ocaml/cic_proof_checking/utilities/parse_library.ml deleted file mode 100644 index 1d65291cb..000000000 --- a/helm/ocaml/cic_proof_checking/utilities/parse_library.ml +++ /dev/null @@ -1,54 +0,0 @@ -(* Copyright (C) 2004-2005, 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 trust = true - -let _ = - CicEnvironment.set_trust (fun _ -> trust); - Helm_registry.set "getter.mode" "remote"; - Helm_registry.set "getter.url" "http://mowgli.cs.unibo.it:58081/" -let urifname = - try - Sys.argv.(1) - with Invalid_argument _ -> "-" -let ic = - match urifname with - | "-" -> stdin - | fname -> open_in fname -let _ = - try - while true do - try - let uri = input_line ic in - prerr_endline uri; - let uri = UriManager.uri_of_string uri in - ignore (CicEnvironment.get_obj CicUniv.empty_ugraph uri) -(* with Sys.Break -> () *) - with - | End_of_file -> raise End_of_file - | exn -> () - done - with End_of_file -> Unix.sleep max_int - diff --git a/helm/ocaml/cic_transformations/.cvsignore b/helm/ocaml/cic_transformations/.cvsignore deleted file mode 100644 index 6b3eba302..000000000 --- a/helm/ocaml/cic_transformations/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.cm[iaox] *.cmxa diff --git a/helm/ocaml/cic_transformations/.depend b/helm/ocaml/cic_transformations/.depend deleted file mode 100644 index 3510045e9..000000000 --- a/helm/ocaml/cic_transformations/.depend +++ /dev/null @@ -1,14 +0,0 @@ -cic2Xml.cmo: cic2Xml.cmi -cic2Xml.cmx: cic2Xml.cmi -content2pres.cmo: content2pres.cmi -content2pres.cmx: content2pres.cmi -sequent2pres.cmo: sequent2pres.cmi -sequent2pres.cmx: sequent2pres.cmi -domMisc.cmo: domMisc.cmi -domMisc.cmx: domMisc.cmi -xml2Gdome.cmo: xml2Gdome.cmi -xml2Gdome.cmx: xml2Gdome.cmi -applyTransformation.cmo: xml2Gdome.cmi sequent2pres.cmi domMisc.cmi \ - content2pres.cmi applyTransformation.cmi -applyTransformation.cmx: xml2Gdome.cmx sequent2pres.cmx domMisc.cmx \ - content2pres.cmx applyTransformation.cmi diff --git a/helm/ocaml/cic_transformations/Makefile b/helm/ocaml/cic_transformations/Makefile deleted file mode 100644 index 4a8977aa7..000000000 --- a/helm/ocaml/cic_transformations/Makefile +++ /dev/null @@ -1,34 +0,0 @@ -PACKAGE = cic_transformations -REQUIRES = \ - gdome2 \ - helm-xml \ - helm-cic_proof_checking \ - helm-cic_omdoc \ - helm-registry \ - helm-utf8_macros \ - helm-cic_notation \ - $(NULL) -PREDICATES = - -# modules which have both a .ml and a .mli -INTERFACE_FILES = \ - cic2Xml.mli \ - content2pres.mli \ - sequent2pres.mli \ - domMisc.mli \ - xml2Gdome.mli \ - applyTransformation.mli \ - $(NULL) -IMPLEMENTATION_FILES = \ - $(INTERFACE_FILES:%.mli=%.ml) -EXTRA_OBJECTS_TO_INSTALL = -EXTRA_OBJECTS_TO_CLEAN = - -all: - -clean: extra_clean -distclean: extra_clean -extra_clean: - rm -f make_table - -include ../Makefile.common diff --git a/helm/ocaml/cic_transformations/applyTransformation.ml b/helm/ocaml/cic_transformations/applyTransformation.ml deleted file mode 100644 index 54402e0bc..000000000 --- a/helm/ocaml/cic_transformations/applyTransformation.ml +++ /dev/null @@ -1,70 +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/. - *) - -(***************************************************************************) -(* *) -(* PROJECT HELM *) -(* *) -(* Andrea Asperti *) -(* 21/11/2003 *) -(* *) -(* *) -(***************************************************************************) - -let mpres_document pres_box = - Xml.add_xml_declaration (CicNotationPres.print_box pres_box) - -let mml_of_cic_sequent metasenv sequent = - let unsh_sequent,(asequent,ids_to_terms, - ids_to_father_ids,ids_to_inner_sorts,ids_to_hypotheses) - = - Cic2acic.asequent_of_sequent metasenv sequent - in - let content_sequent = Cic2content.map_sequent asequent in - let pres_sequent = - (Sequent2pres.sequent2pres ~ids_to_inner_sorts content_sequent) - in - let xmlpres = mpres_document pres_sequent in - (Xml2Gdome.document_of_xml DomMisc.domImpl xmlpres, - unsh_sequent, - (asequent, - (ids_to_terms,ids_to_father_ids,ids_to_hypotheses,ids_to_inner_sorts))) - -let mml_of_cic_object obj = - 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 obj - in - let content = - Cic2content.annobj2content ~ids_to_inner_sorts ~ids_to_inner_types annobj - in - let pres = Content2pres.content2pres ~ids_to_inner_sorts content in - let xmlpres = mpres_document pres in - let mathml = Xml2Gdome.document_of_xml DomMisc.domImpl xmlpres in - (mathml,(annobj, - (ids_to_terms, ids_to_father_ids, ids_to_conjectures, ids_to_hypotheses, - ids_to_inner_sorts,ids_to_inner_types))) - diff --git a/helm/ocaml/cic_transformations/applyTransformation.mli b/helm/ocaml/cic_transformations/applyTransformation.mli deleted file mode 100644 index 8e023aea6..000000000 --- a/helm/ocaml/cic_transformations/applyTransformation.mli +++ /dev/null @@ -1,57 +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/. - *) - -(***************************************************************************) -(* *) -(* PROJECT HELM *) -(* *) -(* Andrea Asperti *) -(* 21/11/2003 *) -(* *) -(* *) -(***************************************************************************) - -val mml_of_cic_sequent: - Cic.metasenv -> (* metasenv *) - Cic.conjecture -> (* sequent *) - Gdome.document * (* Math ML *) - Cic.conjecture * (* unshared sequent *) - (Cic.annconjecture * (* annsequent *) - ((Cic.id, Cic.term) Hashtbl.t * (* id -> term *) - (Cic.id, Cic.id option) Hashtbl.t * (* id -> father id *) - (Cic.id, Cic.hypothesis) Hashtbl.t * (* id -> hypothesis *) - (Cic.id, Cic2acic.sort_kind) Hashtbl.t)) (* ids_to_inner_sorts *) - -val mml_of_cic_object: - Cic.obj -> (* object *) - Gdome.document * (* Math ML *) - (Cic.annobj * (* annobj *) - ((Cic.id, Cic.term) Hashtbl.t * (* id -> term *) - (Cic.id, Cic.id option) Hashtbl.t * (* id -> father id *) - (Cic.id, Cic.conjecture) Hashtbl.t * (* id -> conjecture *) - (Cic.id, Cic.hypothesis) Hashtbl.t * (* id -> hypothesis *) - (Cic.id, Cic2acic.sort_kind) Hashtbl.t * (* ids_to_inner_sorts *) - (Cic.id, Cic2acic.anntypes) Hashtbl.t)) (* ids_to_inner_types *) - diff --git a/helm/ocaml/cic_transformations/cic2Xml.ml b/helm/ocaml/cic_transformations/cic2Xml.ml deleted file mode 100644 index 5bd9fd1c9..000000000 --- a/helm/ocaml/cic_transformations/cic2Xml.ml +++ /dev/null @@ -1,479 +0,0 @@ -(* Copyright (C) 2000-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/ - *) - -(*CSC codice cut & paste da cicPp e xmlcommand *) - -exception NotImplemented;; - -let dtdname ~ask_dtd_to_the_getter dtd = - if ask_dtd_to_the_getter then - Helm_registry.get "getter.url" ^ "getdtd?uri=" ^ dtd - else - "http://mowgli.cs.unibo.it/dtd/" ^ dtd -;; - -let param_attribute_of_params params = - String.concat " " (List.map UriManager.string_of_uri params) -;; - -(*CSC ottimizzazione: al posto di curi cdepth (vedi codice) *) -let print_term ?ids_to_inner_sorts = - let find_sort name id = - match ids_to_inner_sorts with - None -> [] - | Some ids_to_inner_sorts -> - [None,name,Cic2acic.string_of_sort (Hashtbl.find ids_to_inner_sorts id)] - in - let rec aux = - let module C = Cic in - let module X = Xml in - let module U = UriManager in - function - C.ARel (id,idref,n,b) -> - let sort = find_sort "sort" id in - X.xml_empty "REL" - (sort @ - [None,"value",(string_of_int n) ; None,"binder",b ; None,"id",id ; - None,"idref",idref]) - | C.AVar (id,uri,exp_named_subst) -> - let sort = find_sort "sort" id in - aux_subst uri - (X.xml_empty "VAR" - (sort @ [None,"uri",U.string_of_uri uri;None,"id",id])) - exp_named_subst - | C.AMeta (id,n,l) -> - let sort = find_sort "sort" id in - X.xml_nempty "META" - (sort @ [None,"no",(string_of_int n) ; None,"id",id]) - (List.fold_left - (fun i t -> - match t with - Some t' -> - [< i ; X.xml_nempty "substitution" [] (aux t') >] - | None -> - [< i ; X.xml_empty "substitution" [] >] - ) [< >] l) - | C.ASort (id,s) -> - let string_of_sort s = - Cic2acic.string_of_sort (Cic2acic.sort_of_sort s) - in - X.xml_empty "SORT" [None,"value",(string_of_sort s) ; None,"id",id] - | C.AImplicit _ -> raise NotImplemented - | C.AProd (last_id,_,_,_) as prods -> - let rec eat_prods = - function - C.AProd (id,n,s,t) -> - let prods,t' = eat_prods t in - (id,n,s)::prods,t' - | t -> [],t - in - let prods,t = eat_prods prods in - let sort = find_sort "type" last_id in - X.xml_nempty "PROD" sort - [< List.fold_left - (fun i (id,binder,s) -> - let sort = find_sort "type" (Cic2acic.source_id_of_id id) in - let attrs = - sort @ ((None,"id",id):: - match binder with - C.Anonymous -> [] - | C.Name b -> [None,"binder",b]) - in - [< i ; X.xml_nempty "decl" attrs (aux s) >] - ) [< >] prods ; - X.xml_nempty "target" [] (aux t) - >] - | C.ACast (id,v,t) -> - let sort = find_sort "sort" id in - X.xml_nempty "CAST" (sort @ [None,"id",id]) - [< X.xml_nempty "term" [] (aux v) ; - X.xml_nempty "type" [] (aux t) - >] - | C.ALambda (last_id,_,_,_) as lambdas -> - let rec eat_lambdas = - function - C.ALambda (id,n,s,t) -> - let lambdas,t' = eat_lambdas t in - (id,n,s)::lambdas,t' - | t -> [],t - in - let lambdas,t = eat_lambdas lambdas in - let sort = find_sort "sort" last_id in - X.xml_nempty "LAMBDA" sort - [< List.fold_left - (fun i (id,binder,s) -> - let sort = find_sort "type" (Cic2acic.source_id_of_id id) in - let attrs = - sort @ ((None,"id",id):: - match binder with - C.Anonymous -> [] - | C.Name b -> [None,"binder",b]) - in - [< i ; X.xml_nempty "decl" attrs (aux s) >] - ) [< >] lambdas ; - X.xml_nempty "target" [] (aux t) - >] - | C.ALetIn (xid,C.Anonymous,s,t) -> - assert false - | C.ALetIn (last_id,C.Name _,_,_) as letins -> - let rec eat_letins = - function - C.ALetIn (id,n,s,t) -> - let letins,t' = eat_letins t in - (id,n,s)::letins,t' - | t -> [],t - in - let letins,t = eat_letins letins in - let sort = find_sort "sort" last_id in - X.xml_nempty "LETIN" sort - [< List.fold_left - (fun i (id,binder,s) -> - let sort = find_sort "sort" id in - let attrs = - sort @ ((None,"id",id):: - match binder with - C.Anonymous -> [] - | C.Name b -> [None,"binder",b]) - in - [< i ; X.xml_nempty "def" attrs (aux s) >] - ) [< >] letins ; - X.xml_nempty "target" [] (aux t) - >] - | C.AAppl (id,li) -> - let sort = find_sort "sort" id in - X.xml_nempty "APPLY" (sort @ [None,"id",id]) - [< (List.fold_right (fun x i -> [< (aux x) ; i >]) li [<>]) - >] - | C.AConst (id,uri,exp_named_subst) -> - let sort = find_sort "sort" id in - aux_subst uri - (X.xml_empty "CONST" - (sort @ [None,"uri",(U.string_of_uri uri) ; None,"id",id]) - ) exp_named_subst - | C.AMutInd (id,uri,i,exp_named_subst) -> - aux_subst uri - (X.xml_empty "MUTIND" - [None, "uri", (U.string_of_uri uri) ; - None, "noType", (string_of_int i) ; - None, "id", id] - ) exp_named_subst - | C.AMutConstruct (id,uri,i,j,exp_named_subst) -> - let sort = find_sort "sort" id in - aux_subst uri - (X.xml_empty "MUTCONSTRUCT" - (sort @ - [None,"uri", (U.string_of_uri uri) ; - None,"noType",(string_of_int i) ; - None,"noConstr",(string_of_int j) ; - None,"id",id]) - ) exp_named_subst - | C.AMutCase (id,uri,typeno,ty,te,patterns) -> - let sort = find_sort "sort" id in - X.xml_nempty "MUTCASE" - (sort @ - [None,"uriType",(U.string_of_uri uri) ; - None,"noType", (string_of_int typeno) ; - None,"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) -> - let sort = find_sort "sort" id in - X.xml_nempty "FIX" - (sort @ [None,"noFun", (string_of_int no) ; None,"id",id]) - [< List.fold_right - (fun (id,fi,ai,ti,bi) i -> - [< X.xml_nempty "FixFunction" - [None,"id",id ; None,"name", fi ; - None,"recIndex", (string_of_int ai)] - [< X.xml_nempty "type" [] [< aux ti >] ; - X.xml_nempty "body" [] [< aux bi >] - >] ; - i - >] - ) funs [<>] - >] - | C.ACoFix (id,no,funs) -> - let sort = find_sort "sort" id in - X.xml_nempty "COFIX" - (sort @ [None,"noFun", (string_of_int no) ; None,"id",id]) - [< List.fold_right - (fun (id,fi,ti,bi) i -> - [< X.xml_nempty "CofixFunction" [None,"id",id ; None,"name", fi] - [< X.xml_nempty "type" [] [< aux ti >] ; - X.xml_nempty "body" [] [< aux bi >] - >] ; - i - >] - ) funs [<>] - >] - and aux_subst buri target subst = -(*CSC: I have now no way to assign an ID to the explicit named substitution *) - let id = None in - if subst = [] then - target - else - Xml.xml_nempty "instantiate" - (match id with None -> [] | Some id -> [None,"id",id]) - [< target ; - List.fold_left - (fun i (uri,arg) -> - let relUri = - let buri_frags = - Str.split (Str.regexp "/") (UriManager.string_of_uri buri) in - let uri_frags = - Str.split (Str.regexp "/") (UriManager.string_of_uri uri) in - let rec find_relUri buri_frags uri_frags = - match buri_frags,uri_frags with - [_], _ -> String.concat "/" uri_frags - | he1::tl1, he2::tl2 -> - assert (he1 = he2) ; - find_relUri tl1 tl2 - | _,_ -> assert false (* uri is not relative to buri *) - in - find_relUri buri_frags uri_frags - in - [< i ; Xml.xml_nempty "arg" [None,"relUri", relUri] (aux arg) >] - ) [<>] subst - >] - in - aux -;; - -let xml_of_attrs attributes = - let class_of = function - | `Coercion -> Xml.xml_empty "class" [None,"value","coercion"] - | `Elim s -> - Xml.xml_nempty "class" [None,"value","elim"] - [< Xml.xml_empty - "SORT" [None,"value", - (Cic2acic.string_of_sort (Cic2acic.sort_of_sort s)) ; - None,"id","elimination_sort"] >] - | `Record field_names -> - Xml.xml_nempty "class" [None,"value","record"] - (List.fold_right - (fun name res -> - [< Xml.xml_empty "field" [None,"name",name]; res >] - ) field_names [<>]) - | `Projection -> Xml.xml_empty "class" [None,"value","projection"] - in - let flavour_of = function - | `Definition -> Xml.xml_empty "flavour" [None, "value", "definition"] - | `Fact -> Xml.xml_empty "flavour" [None, "value", "fact"] - | `Lemma -> Xml.xml_empty "flavour" [None, "value", "lemma"] - | `Remark -> Xml.xml_empty "flavour" [None, "value", "remark"] - | `Theorem -> Xml.xml_empty "flavour" [None, "value", "theorem"] - | `Variant -> Xml.xml_empty "flavour" [None, "value", "variant"] - in - let xml_attr_of = function - | `Generated -> Xml.xml_empty "generated" [] - | `Class c -> class_of c - | `Flavour f -> flavour_of f - in - let xml_attrs = - List.fold_right - (fun attr res -> [< xml_attr_of attr ; res >]) attributes [<>] - in - Xml.xml_nempty "attributes" [] xml_attrs - -let print_object uri ?ids_to_inner_sorts ~ask_dtd_to_the_getter obj = - let module C = Cic in - let module X = Xml in - let module U = UriManager in - let dtdname = dtdname ~ask_dtd_to_the_getter "cic.dtd" in - match obj with - C.ACurrentProof (id,idbody,n,conjectures,bo,ty,params,obj_attrs) -> - let params' = param_attribute_of_params params in - let xml_attrs = xml_of_attrs obj_attrs in - let xml_for_current_proof_body = -(*CSC: Should the CurrentProof also have the list of variables it depends on? *) -(*CSC: I think so. Not implemented yet. *) - X.xml_nempty "CurrentProof" - [None,"of",UriManager.string_of_uri uri ; None,"id", id] - [< xml_attrs; - List.fold_left - (fun i (cid,n,canonical_context,t) -> - [< i ; - X.xml_nempty "Conjecture" - [None,"id",cid ; None,"no",(string_of_int n)] - [< List.fold_left - (fun i (hid,t) -> - [< (match t with - Some (n,C.ADecl t) -> - X.xml_nempty "Decl" - (match n with - C.Name n' -> - [None,"id",hid;None,"name",n'] - | C.Anonymous -> [None,"id",hid]) - (print_term ?ids_to_inner_sorts t) - | Some (n,C.ADef t) -> - X.xml_nempty "Def" - (match n with - C.Name n' -> - [None,"id",hid;None,"name",n'] - | C.Anonymous -> [None,"id",hid]) - (print_term ?ids_to_inner_sorts t) - | None -> X.xml_empty "Hidden" [None,"id",hid] - ) ; - i - >] - ) [< >] canonical_context ; - X.xml_nempty "Goal" [] - (print_term ?ids_to_inner_sorts t) - >] - >]) - [< >] conjectures ; - X.xml_nempty "body" [] (print_term ?ids_to_inner_sorts bo) >] - in - let xml_for_current_proof_type = - X.xml_nempty "ConstantType" - [None,"name",n ; None,"params",params' ; None,"id", id] - (print_term ?ids_to_inner_sorts ty) - in - let xmlbo = - [< X.xml_cdata "\n" ; - X.xml_cdata ("\n"); - xml_for_current_proof_body - >] in - let xmlty = - [< X.xml_cdata "\n" ; - X.xml_cdata ("\n"); - xml_for_current_proof_type - >] - in - xmlty, Some xmlbo - | C.AConstant (id,idbody,n,bo,ty,params,obj_attrs) -> - let params' = param_attribute_of_params params in - let xml_attrs = xml_of_attrs obj_attrs in - let xmlbo = - match bo with - None -> None - | Some bo -> - Some - [< X.xml_cdata - "\n" ; - X.xml_cdata - ("\n") ; - X.xml_nempty "ConstantBody" - [None,"for",UriManager.string_of_uri uri ; - None,"params",params' ; None,"id", id] - [< print_term ?ids_to_inner_sorts bo >] - >] - in - let xmlty = - [< X.xml_cdata "\n" ; - X.xml_cdata ("\n"); - X.xml_nempty "ConstantType" - [None,"name",n ; None,"params",params' ; None,"id", id] - [< xml_attrs; print_term ?ids_to_inner_sorts ty >] - >] - in - xmlty, xmlbo - | C.AVariable (id,n,bo,ty,params,obj_attrs) -> - let params' = param_attribute_of_params params in - let xml_attrs = xml_of_attrs obj_attrs in - let xmlbo = - match bo with - None -> [< >] - | Some bo -> - X.xml_nempty "body" [] [< print_term ?ids_to_inner_sorts bo >] - in - let aobj = - [< X.xml_cdata "\n" ; - X.xml_cdata ("\n"); - X.xml_nempty "Variable" - [None,"name",n ; None,"params",params' ; None,"id", id] - [< xml_attrs; xmlbo; - X.xml_nempty "type" [] (print_term ?ids_to_inner_sorts ty) - >] - >] - in - aobj, None - | C.AInductiveDefinition (id,tys,params,nparams,obj_attrs) -> - let params' = param_attribute_of_params params in - let xml_attrs = xml_of_attrs obj_attrs in - [< X.xml_cdata "\n" ; - X.xml_cdata - ("\n") ; - X.xml_nempty "InductiveDefinition" - [None,"noParams",string_of_int nparams ; - None,"id",id ; - None,"params",params'] - [< xml_attrs; - (List.fold_left - (fun i (id,typename,finite,arity,cons) -> - [< i ; - X.xml_nempty "InductiveType" - [None,"id",id ; None,"name",typename ; - None,"inductive",(string_of_bool finite) - ] - [< X.xml_nempty "arity" [] - (print_term ?ids_to_inner_sorts arity) ; - (List.fold_left - (fun i (name,lc) -> - [< i ; - X.xml_nempty "Constructor" - [None,"name",name] - (print_term ?ids_to_inner_sorts lc) - >]) [<>] cons - ) - >] - >] - ) [< >] tys - ) - >] - >], None -;; - -let - print_inner_types curi ~ids_to_inner_sorts ~ids_to_inner_types - ~ask_dtd_to_the_getter -= - let module C2A = Cic2acic in - let module X = Xml in - let dtdname = dtdname ~ask_dtd_to_the_getter "cictypes.dtd" in - [< X.xml_cdata "\n" ; - X.xml_cdata - ("\n") ; - X.xml_nempty "InnerTypes" [None,"of",UriManager.string_of_uri curi] - (Hashtbl.fold - (fun id {C2A.annsynthesized = synty ; C2A.annexpected = expty} x -> - [< x ; - X.xml_nempty "TYPE" [None,"of",id] - [< X.xml_nempty "synthesized" [] - [< print_term ~ids_to_inner_sorts synty >] ; - match expty with - None -> [<>] - | Some expty' -> X.xml_nempty "expected" [] - [< print_term ~ids_to_inner_sorts expty' >] - >] - >] - ) ids_to_inner_types [<>] - ) - >] -;; diff --git a/helm/ocaml/cic_transformations/cic2Xml.mli b/helm/ocaml/cic_transformations/cic2Xml.mli deleted file mode 100644 index 22c5669df..000000000 --- a/helm/ocaml/cic_transformations/cic2Xml.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/. - *) - -exception NotImplemented - -val print_term : - ?ids_to_inner_sorts: (string, Cic2acic.sort_kind) Hashtbl.t -> - Cic.annterm -> - Xml.token Stream.t - -val print_object : - UriManager.uri -> - ?ids_to_inner_sorts: (string, Cic2acic.sort_kind) Hashtbl.t -> - ask_dtd_to_the_getter:bool -> - Cic.annobj -> - Xml.token Stream.t * Xml.token Stream.t option - -val print_inner_types : - UriManager.uri -> - ids_to_inner_sorts: (string, Cic2acic.sort_kind) Hashtbl.t -> - ids_to_inner_types: (string, Cic2acic.anntypes) Hashtbl.t -> - ask_dtd_to_the_getter:bool -> - Xml.token Stream.t - diff --git a/helm/ocaml/cic_transformations/content2pres.ml b/helm/ocaml/cic_transformations/content2pres.ml deleted file mode 100644 index ee3e64bd5..000000000 --- a/helm/ocaml/cic_transformations/content2pres.ml +++ /dev/null @@ -1,823 +0,0 @@ -(* Copyright (C) 2003-2005, 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 *) -(* *) -(* Andrea Asperti *) -(* 17/06/2003 *) -(* *) -(***************************************************************************) - -module P = Mpresentation -module B = Box -module Con = Content - -let p_mtr a b = Mpresentation.Mtr(a,b) -let p_mtd a b = Mpresentation.Mtd(a,b) -let p_mtable a b = Mpresentation.Mtable(a,b) -let p_mtext a b = Mpresentation.Mtext(a,b) -let p_mi a b = Mpresentation.Mi(a,b) -let p_mo a b = Mpresentation.Mo(a,b) -let p_mrow a b = Mpresentation.Mrow(a,b) -let p_mphantom a b = Mpresentation.Mphantom(a,b) - -let rec split n l = - if n = 0 then [],l - else let l1,l2 = - split (n-1) (List.tl l) in - (List.hd l)::l1,l2 - -let get_xref = function - | `Declaration d - | `Hypothesis d -> d.Con.dec_id - | `Proof p -> p.Con.proof_id - | `Definition d -> d.Con.def_id - | `Joint jo -> jo.Con.joint_id - -let hv_attrs = - RenderingAttrs.spacing_attributes `BoxML - @ RenderingAttrs.indent_attributes `BoxML - -let make_row items concl = - B.b_hv hv_attrs (items @ [ concl ]) -(* match concl with - B.V _ -> |+ big! +| - B.b_v attrs [B.b_h [] items; B.b_indent concl] - | _ -> |+ small +| - B.b_h attrs (items@[B.b_space; concl]) *) - -let make_concl ?(attrs=[]) verb concl = - B.b_hv (hv_attrs @ attrs) [ B.b_kw verb; concl ] -(* match concl with - B.V _ -> |+ big! +| - B.b_v attrs [ B.b_kw verb; B.b_indent concl] - | _ -> |+ small +| - B.b_h attrs [ B.b_kw verb; B.b_space; concl ] *) - -let make_args_for_apply term2pres args = - let make_arg_for_apply is_first arg row = - let res = - match arg with - Con.Aux n -> assert false - | Con.Premise prem -> - let name = - (match prem.Con.premise_binder with - None -> "previous" - | Some s -> s) in - (B.b_object (P.Mi ([], name)))::row - | Con.Lemma lemma -> - let lemma_attrs = [ - Some "helm", "xref", lemma.Con.lemma_id; - Some "xlink", "href", lemma.Con.lemma_uri ] - in - (B.b_object (P.Mi(lemma_attrs,lemma.Con.lemma_name)))::row - | Con.Term t -> - if is_first then - (term2pres t)::row - else (B.b_object (P.Mi([],"_")))::row - | Con.ArgProof _ - | Con.ArgMethod _ -> - (B.b_object (P.Mi([],"_")))::row - in - if is_first then res else B.skip::res - in - match args with - hd::tl -> - make_arg_for_apply true hd - (List.fold_right (make_arg_for_apply false) tl []) - | _ -> assert false - -let get_name = function - | Some s -> s - | None -> "_" - -let add_xref id = function - | B.Text (attrs, t) -> B.Text (((Some "helm", "xref", id) :: attrs), t) - | _ -> assert false (* TODO, add_xref is meaningful for all boxes *) - -let rec justification term2pres p = - if ((p.Con.proof_conclude.Con.conclude_method = "Exact") or - ((p.Con.proof_context = []) & - (p.Con.proof_apply_context = []) & - (p.Con.proof_conclude.Con.conclude_method = "Apply"))) then - let pres_args = - make_args_for_apply term2pres p.Con.proof_conclude.Con.conclude_args in - B.H([], - (B.b_kw "by")::B.b_space:: - B.Text([],"(")::pres_args@[B.Text([],")")]) - else proof2pres term2pres p - -and proof2pres term2pres p = - let rec proof2pres p = - let indent = - let is_decl e = - (match e with - `Declaration _ - | `Hypothesis _ -> true - | _ -> false) in - ((List.filter is_decl p.Con.proof_context) != []) in - let omit_conclusion = (not indent) && (p.Con.proof_context != []) in - let concl = - (match p.Con.proof_conclude.Con.conclude_conclusion with - None -> None - | Some t -> Some (term2pres t)) in - let body = - let presconclude = - conclude2pres p.Con.proof_conclude indent omit_conclusion in - let presacontext = - acontext2pres p.Con.proof_apply_context presconclude indent in - context2pres p.Con.proof_context presacontext in - match p.Con.proof_name with - None -> body - | Some name -> - let action = - match concl with - None -> body - | Some ac -> - B.Action - ([None,"type","toggle"], - [(make_concl ~attrs:[Some "helm", "xref", p.Con.proof_id] - "proof of" ac); body]) - in - B.V ([], - [B.Text ([],"(" ^ name ^ ")"); - B.indent action]) - - and context2pres c continuation = - (* we generate a subtable for each context element, for selection - purposes - The table generated by the head-element does not have an xref; - the whole context-proof is already selectable *) - match c with - [] -> continuation - | hd::tl -> - let continuation' = - List.fold_right - (fun ce continuation -> - let xref = get_xref ce in - B.V([Some "helm", "xref", xref ], - [B.H([Some "helm", "xref", "ce_"^xref], - [ce2pres_in_proof_context_element ce]); - continuation])) tl continuation in - let hd_xref= get_xref hd in - B.V([], - [B.H([Some "helm", "xref", "ce_"^hd_xref], - [ce2pres_in_proof_context_element hd]); - continuation']) - - and ce2pres_in_joint_context_element = function - | `Inductive _ -> assert false (* TODO *) - | (`Declaration _) as x -> ce2pres x - | (`Hypothesis _) as x -> ce2pres x - | (`Proof _) as x -> ce2pres x - | (`Definition _) as x -> ce2pres x - - and ce2pres_in_proof_context_element = function - | `Joint ho -> - B.H ([],(List.map ce2pres_in_joint_context_element ho.Content.joint_defs)) - | (`Declaration _) as x -> ce2pres x - | (`Hypothesis _) as x -> ce2pres x - | (`Proof _) as x -> ce2pres x - | (`Definition _) as x -> ce2pres x - - and ce2pres = - function - `Declaration d -> - (match d.Con.dec_name with - Some s -> - let ty = term2pres d.Con.dec_type in - B.H ([], - [(B.b_kw "Assume"); - B.b_space; - B.Object ([], P.Mi([],s)); - B.Text([],":"); - ty]) - | None -> - prerr_endline "NO NAME!!"; assert false) - | `Hypothesis h -> - (match h.Con.dec_name with - Some s -> - let ty = term2pres h.Con.dec_type in - B.H ([], - [(B.b_kw "Suppose"); - B.b_space; - B.Text([],"("); - B.Object ([], P.Mi ([],s)); - B.Text([],")"); - B.b_space; - ty]) - | None -> - prerr_endline "NO NAME!!"; assert false) - | `Proof p -> - proof2pres p - | `Definition d -> - (match d.Con.def_name with - Some s -> - let term = term2pres d.Con.def_term in - B.H ([], - [ B.b_kw "Let"; B.b_space; - B.Object ([], P.Mi([],s)); - B.Text([]," = "); - term]) - | None -> - prerr_endline "NO NAME!!"; assert false) - - and acontext2pres ac continuation indent = - List.fold_right - (fun p continuation -> - let hd = - if indent then - B.indent (proof2pres p) - else - proof2pres p in - B.V([Some "helm","xref",p.Con.proof_id], - [B.H([Some "helm","xref","ace_"^p.Con.proof_id],[hd]); - continuation])) ac continuation - - and conclude2pres conclude indent omit_conclusion = - let tconclude_body = - match conclude.Con.conclude_conclusion with - Some t when - not omit_conclusion or - (* CSC: I ignore the omit_conclusion flag in this case. *) - (* CSC: Is this the correct behaviour? In the stylesheets *) - (* CSC: we simply generated nothing (i.e. the output type *) - (* CSC: of the function should become an option. *) - conclude.Con.conclude_method = "BU_Conversion" -> - let concl = (term2pres t) in - if conclude.Con.conclude_method = "BU_Conversion" then - make_concl "that is equivalent to" concl - else if conclude.Con.conclude_method = "FalseInd" then - (* false ind is in charge to add the conclusion *) - falseind conclude - else - let conclude_body = conclude_aux conclude in - let ann_concl = - if conclude.Con.conclude_method = "TD_Conversion" then - make_concl "that is equivalent to" concl - else make_concl "we conclude" concl in - B.V ([], [conclude_body; ann_concl]) - | _ -> conclude_aux conclude in - if indent then - B.indent (B.H ([Some "helm", "xref", conclude.Con.conclude_id], - [tconclude_body])) - else - B.H ([Some "helm", "xref", conclude.Con.conclude_id],[tconclude_body]) - - and conclude_aux conclude = - if conclude.Con.conclude_method = "TD_Conversion" then - let expected = - (match conclude.Con.conclude_conclusion with - None -> B.Text([],"NO EXPECTED!!!") - | Some c -> term2pres c) in - let subproof = - (match conclude.Con.conclude_args with - [Con.ArgProof p] -> p - | _ -> assert false) in - let synth = - (match subproof.Con.proof_conclude.Con.conclude_conclusion with - None -> B.Text([],"NO SYNTH!!!") - | Some c -> (term2pres c)) in - B.V - ([], - [make_concl "we must prove" expected; - make_concl "or equivalently" synth; - proof2pres subproof]) - else if conclude.Con.conclude_method = "BU_Conversion" then - assert false - else if conclude.Con.conclude_method = "Exact" then - let arg = - (match conclude.Con.conclude_args with - [Con.Term t] -> term2pres t - | [Con.Premise p] -> - (match p.Con.premise_binder with - | None -> assert false; (* unnamed hypothesis ??? *) - | Some s -> B.Text([],s)) - | err -> assert false) in - (match conclude.Con.conclude_conclusion with - None -> - B.b_h [] [B.b_kw "Consider"; B.b_space; arg] - | Some c -> let conclusion = term2pres c in - make_row - [arg; B.b_space; B.b_kw "proves"] - conclusion - ) - else if conclude.Con.conclude_method = "Intros+LetTac" then - (match conclude.Con.conclude_args with - [Con.ArgProof p] -> proof2pres p - | _ -> assert false) -(* OLD CODE - let conclusion = - (match conclude.Con.conclude_conclusion with - None -> B.Text([],"NO Conclusion!!!") - | Some c -> term2pres c) in - (match conclude.Con.conclude_args with - [Con.ArgProof p] -> - B.V - ([None,"align","baseline 1"; None,"equalrows","false"; - None,"columnalign","left"], - [B.H([],[B.Object([],proof2pres p)]); - B.H([],[B.Object([], - (make_concl "we proved 1" conclusion))])]); - | _ -> assert false) -*) - else if (conclude.Con.conclude_method = "Case") then - case conclude - else if (conclude.Con.conclude_method = "ByInduction") then - byinduction conclude - else if (conclude.Con.conclude_method = "Exists") then - exists conclude - else if (conclude.Con.conclude_method = "AndInd") then - andind conclude - else if (conclude.Con.conclude_method = "FalseInd") then - falseind conclude - else if (conclude.Con.conclude_method = "Rewrite") then - let justif = - (match (List.nth conclude.Con.conclude_args 6) with - Con.ArgProof p -> justification term2pres p - | _ -> assert false) in - let term1 = - (match List.nth conclude.Con.conclude_args 2 with - Con.Term t -> term2pres t - | _ -> assert false) in - let term2 = - (match List.nth conclude.Con.conclude_args 5 with - Con.Term t -> term2pres t - | _ -> assert false) in - B.V ([], - [B.H ([],[ - (B.b_kw "rewrite"); - B.b_space; term1; - B.b_space; (B.b_kw "with"); - B.b_space; term2; - B.indent justif])]) - else if conclude.Con.conclude_method = "Apply" then - let pres_args = - make_args_for_apply term2pres conclude.Con.conclude_args in - B.H([], - (B.b_kw "by"):: - B.b_space:: - B.Text([],"(")::pres_args@[B.Text([],")")]) - else - B.V ([], [ - B.b_kw ("Apply method" ^ conclude.Con.conclude_method ^ " to"); - (B.indent (B.V ([], args2pres conclude.Con.conclude_args)))]) - - and args2pres l = List.map arg2pres l - - and arg2pres = - function - Con.Aux n -> B.b_kw ("aux " ^ n) - | Con.Premise prem -> B.b_kw "premise" - | Con.Lemma lemma -> B.b_kw "lemma" - | Con.Term t -> term2pres t - | Con.ArgProof p -> proof2pres p - | Con.ArgMethod s -> B.b_kw "method" - - and case conclude = - let proof_conclusion = - (match conclude.Con.conclude_conclusion with - None -> B.b_kw "No conclusion???" - | Some t -> term2pres t) in - let arg,args_for_cases = - (match conclude.Con.conclude_args with - Con.Aux(_)::Con.Aux(_)::Con.Term(_)::arg::tl -> - arg,tl - | _ -> assert false) in - let case_on = - let case_arg = - (match arg with - Con.Aux n -> B.b_kw "an aux???" - | Con.Premise prem -> - (match prem.Con.premise_binder with - None -> B.b_kw "the previous result" - | Some n -> B.Object ([], P.Mi([],n))) - | Con.Lemma lemma -> B.Object ([], P.Mi([],lemma.Con.lemma_name)) - | Con.Term t -> - term2pres t - | Con.ArgProof p -> B.b_kw "a proof???" - | Con.ArgMethod s -> B.b_kw "a method???") - in - (make_concl "we proceed by cases on" case_arg) in - let to_prove = - (make_concl "to prove" proof_conclusion) in - B.V ([], case_on::to_prove::(make_cases args_for_cases)) - - and byinduction conclude = - let proof_conclusion = - (match conclude.Con.conclude_conclusion with - None -> B.b_kw "No conclusion???" - | Some t -> term2pres t) in - let inductive_arg,args_for_cases = - (match conclude.Con.conclude_args with - Con.Aux(n)::_::tl -> - let l1,l2 = split (int_of_string n) tl in - let last_pos = (List.length l2)-1 in - List.nth l2 last_pos,l1 - | _ -> assert false) in - let induction_on = - let arg = - (match inductive_arg with - Con.Aux n -> B.b_kw "an aux???" - | Con.Premise prem -> - (match prem.Con.premise_binder with - None -> B.b_kw "the previous result" - | Some n -> B.Object ([], P.Mi([],n))) - | Con.Lemma lemma -> B.Object ([], P.Mi([],lemma.Con.lemma_name)) - | Con.Term t -> - term2pres t - | Con.ArgProof p -> B.b_kw "a proof???" - | Con.ArgMethod s -> B.b_kw "a method???") in - (make_concl "we proceed by induction on" arg) in - let to_prove = - (make_concl "to prove" proof_conclusion) in - B.V ([], induction_on::to_prove:: (make_cases args_for_cases)) - - and make_cases l = List.map make_case l - - and make_case = - function - Con.ArgProof p -> - let name = - (match p.Con.proof_name with - None -> B.b_kw "no name for case!!" - | Some n -> B.Object ([], P.Mi([],n))) in - let indhyps,args = - List.partition - (function - `Hypothesis h -> h.Con.dec_inductive - | _ -> false) p.Con.proof_context in - let pattern_aux = - List.fold_right - (fun e p -> - let dec = - (match e with - `Declaration h - | `Hypothesis h -> - let name = - (match h.Con.dec_name with - None -> "NO NAME???" - | Some n ->n) in - [B.b_space; - B.Object ([], P.Mi ([],name)); - B.Text([],":"); - (term2pres h.Con.dec_type)] - | _ -> [B.Text ([],"???")]) in - dec@p) args [] in - let pattern = - B.H ([], - (B.b_kw "Case"::B.b_space::name::pattern_aux)@ - [B.b_space; - B.Text([], Utf8Macro.unicode_of_tex "\\Rightarrow")]) in - let subconcl = - (match p.Con.proof_conclude.Con.conclude_conclusion with - None -> B.b_kw "No conclusion!!!" - | Some t -> term2pres t) in - let asubconcl = B.indent (make_concl "the thesis becomes" subconcl) in - let induction_hypothesis = - (match indhyps with - [] -> [] - | _ -> - let text = B.indent (B.b_kw "by induction hypothesis we know") in - let make_hyp = - function - `Hypothesis h -> - let name = - (match h.Con.dec_name with - None -> "no name" - | Some s -> s) in - B.indent (B.H ([], - [B.Text([],"("); - B.Object ([], P.Mi ([],name)); - B.Text([],")"); - B.b_space; - term2pres h.Con.dec_type])) - | _ -> assert false in - let hyps = List.map make_hyp indhyps in - text::hyps) in - (* let acontext = - acontext2pres_old p.Con.proof_apply_context true in *) - let body = conclude2pres p.Con.proof_conclude true false in - let presacontext = - let acontext_id = - match p.Con.proof_apply_context with - [] -> p.Con.proof_conclude.Con.conclude_id - | {Con.proof_id = id}::_ -> id - in - B.Action([None,"type","toggle"], - [ B.indent (add_xref acontext_id (B.b_kw "Proof")); - acontext2pres p.Con.proof_apply_context body true]) in - B.V ([], pattern::asubconcl::induction_hypothesis@[presacontext]) - | _ -> assert false - - and falseind conclude = - let proof_conclusion = - (match conclude.Con.conclude_conclusion with - None -> B.b_kw "No conclusion???" - | Some t -> term2pres t) in - let case_arg = - (match conclude.Con.conclude_args with - [Con.Aux(n);_;case_arg] -> case_arg - | _ -> assert false; - (* - List.map (ContentPp.parg 0) conclude.Con.conclude_args; - assert false *)) in - let arg = - (match case_arg with - Con.Aux n -> assert false - | Con.Premise prem -> - (match prem.Con.premise_binder with - None -> [B.b_kw "Contradiction, hence"] - | Some n -> - [ B.Object ([],P.Mi([],n)); B.skip; - B.b_kw "is contradictory, hence"]) - | Con.Lemma lemma -> - [ B.Object ([], P.Mi([],lemma.Con.lemma_name)); B.skip; - B.b_kw "is contradictory, hence" ] - | _ -> assert false) in - (* let body = proof2pres {proof with Con.proof_context = tl} in *) - make_row arg proof_conclusion - - and andind conclude = - let proof_conclusion = - (match conclude.Con.conclude_conclusion with - None -> B.b_kw "No conclusion???" - | Some t -> term2pres t) in - let proof,case_arg = - (match conclude.Con.conclude_args with - [Con.Aux(n);_;Con.ArgProof proof;case_arg] -> proof,case_arg - | _ -> assert false; - (* - List.map (ContentPp.parg 0) conclude.Con.conclude_args; - assert false *)) in - let arg = - (match case_arg with - Con.Aux n -> assert false - | Con.Premise prem -> - (match prem.Con.premise_binder with - None -> [] - | Some n -> [(B.b_kw "by"); B.b_space; B.Object([], P.Mi([],n))]) - | Con.Lemma lemma -> - [(B.b_kw "by");B.skip; - B.Object([], P.Mi([],lemma.Con.lemma_name))] - | _ -> assert false) in - match proof.Con.proof_context with - `Hypothesis hyp1::`Hypothesis hyp2::tl -> - let get_name hyp = - (match hyp.Con.dec_name with - None -> "_" - | Some s -> s) in - let preshyp1 = - B.H ([], - [B.Text([],"("); - B.Object ([], P.Mi([],get_name hyp1)); - B.Text([],")"); - B.skip; - term2pres hyp1.Con.dec_type]) in - let preshyp2 = - B.H ([], - [B.Text([],"("); - B.Object ([], P.Mi([],get_name hyp2)); - B.Text([],")"); - B.skip; - term2pres hyp2.Con.dec_type]) in - (* let body = proof2pres {proof with Con.proof_context = tl} in *) - let body = conclude2pres proof.Con.proof_conclude false true in - let presacontext = - acontext2pres proof.Con.proof_apply_context body false in - B.V - ([], - [B.H ([],arg@[B.skip; B.b_kw "we have"]); - preshyp1; - B.b_kw "and"; - preshyp2; - presacontext]); - | _ -> assert false - - and exists conclude = - let proof_conclusion = - (match conclude.Con.conclude_conclusion with - None -> B.b_kw "No conclusion???" - | Some t -> term2pres t) in - let proof = - (match conclude.Con.conclude_args with - [Con.Aux(n);_;Con.ArgProof proof;_] -> proof - | _ -> assert false; - (* - List.map (ContentPp.parg 0) conclude.Con.conclude_args; - assert false *)) in - match proof.Con.proof_context with - `Declaration decl::`Hypothesis hyp::tl - | `Hypothesis decl::`Hypothesis hyp::tl -> - let get_name decl = - (match decl.Con.dec_name with - None -> "_" - | Some s -> s) in - let presdecl = - B.H ([], - [(B.b_kw "let"); - B.skip; - B.Object ([], P.Mi([],get_name decl)); - B.Text([],":"); term2pres decl.Con.dec_type]) in - let suchthat = - B.H ([], - [(B.b_kw "such that"); - B.skip; - B.Text([],"("); - B.Object ([], P.Mi([],get_name hyp)); - B.Text([],")"); - B.skip; - term2pres hyp.Con.dec_type]) in - (* let body = proof2pres {proof with Con.proof_context = tl} in *) - let body = conclude2pres proof.Con.proof_conclude false true in - let presacontext = - acontext2pres proof.Con.proof_apply_context body false in - B.V - ([], - [presdecl; - suchthat; - presacontext]); - | _ -> assert false - - in - proof2pres p - -exception ToDo - -let counter = ref 0 - -let conjecture2pres term2pres (id, n, context, ty) = - (B.b_h [Some "helm", "xref", id] - (((List.map - (function - | None -> - B.b_h [] - [ B.b_object (p_mi [] "_") ; - B.b_object (p_mo [] ":?") ; - B.b_object (p_mi [] "_")] - | Some (`Declaration d) - | Some (`Hypothesis d) -> - let { Content.dec_name = - dec_name ; Content.dec_type = ty } = d - in - B.b_h [] - [ B.b_object - (p_mi [] - (match dec_name with - None -> "_" - | Some n -> n)); - B.b_text [] ":"; - term2pres ty ] - | Some (`Definition d) -> - let - { Content.def_name = def_name ; - Content.def_term = bo } = d - in - B.b_h [] - [ B.b_object (p_mi [] - (match def_name with - None -> "_" - | Some n -> n)) ; - B.b_text [] (Utf8Macro.unicode_of_tex "\\Assign"); - term2pres bo] - | Some (`Proof p) -> - let proof_name = p.Content.proof_name in - B.b_h [] - [ B.b_object (p_mi [] - (match proof_name with - None -> "_" - | Some n -> n)) ; - B.b_text [] (Utf8Macro.unicode_of_tex "\\Assign"); - proof2pres term2pres p]) - (List.rev context)) @ - [ B.b_text [] (Utf8Macro.unicode_of_tex "\\vdash"); - B.b_object (p_mi [] (string_of_int n)) ; - B.b_text [] ":" ; - term2pres ty ]))) - -let metasenv2pres term2pres = function - | None -> [] - | Some metasenv' -> - (* Conjectures are in their own table to make *) - (* diffing the DOM trees easier. *) - [B.b_v [] - ((B.b_kw ("Conjectures:" ^ - (let _ = incr counter; in (string_of_int !counter)))) :: - (List.map (conjecture2pres term2pres) metasenv'))] - -let params2pres params = - let param2pres uri = - B.b_text [Some "xlink", "href", UriManager.string_of_uri uri] - (UriManager.name_of_uri uri) - in - let rec spatiate = function - | [] -> [] - | hd :: [] -> [hd] - | hd :: tl -> hd :: B.b_text [] ", " :: spatiate tl - in - match params with - | [] -> [] - | p -> - let params = spatiate (List.map param2pres p) in - [B.b_space; - B.b_h [] (B.b_text [] "[" :: params @ [ B.b_text [] "]" ])] - -let recursion_kind2pres params kind = - let kind = - match kind with - | `Recursive _ -> "Recursive definition" - | `CoRecursive -> "CoRecursive definition" - | `Inductive _ -> "Inductive definition" - | `CoInductive _ -> "CoInductive definition" - in - B.b_h [] (B.b_kw kind :: params2pres params) - -let inductive2pres term2pres ind = - let constructor2pres decl = - B.b_h [] [ - B.b_text [] ("| " ^ get_name decl.Content.dec_name ^ ":"); - B.b_space; - term2pres decl.Content.dec_type - ] - in - B.b_v [] - (B.b_h [] [ - B.b_kw (ind.Content.inductive_name ^ " of arity"); - B.smallskip; - term2pres ind.Content.inductive_type ] - :: List.map constructor2pres ind.Content.inductive_constructors) - -let joint_def2pres term2pres def = - match def with - | `Inductive ind -> inductive2pres term2pres ind - | _ -> assert false (* ZACK or raise ToDo? *) - -let content2pres term2pres (id,params,metasenv,obj) = - match obj with - | `Def (Content.Const, thesis, `Proof p) -> - let name = get_name p.Content.proof_name in - B.b_v - [Some "helm","xref","id"] - ([ B.b_h [] (B.b_kw ("Proof " ^ name) :: params2pres params); - B.b_kw "Thesis:"; - B.indent (term2pres thesis) ] @ - metasenv2pres term2pres metasenv @ - [proof2pres term2pres p]) - | `Def (_, ty, `Definition body) -> - let name = get_name body.Content.def_name in - B.b_v - [Some "helm","xref","id"] - ([B.b_h [] (B.b_kw ("Definition " ^ name) :: params2pres params); - B.b_kw "Type:"; - B.indent (term2pres ty)] @ - metasenv2pres term2pres metasenv @ - [B.b_kw "Body:"; term2pres body.Content.def_term]) - | `Decl (_, `Declaration decl) - | `Decl (_, `Hypothesis decl) -> - let name = get_name decl.Content.dec_name in - B.b_v - [Some "helm","xref","id"] - ([B.b_h [] (B.b_kw ("Axiom " ^ name) :: params2pres params); - B.b_kw "Type:"; - B.indent (term2pres decl.Content.dec_type)] @ - metasenv2pres term2pres metasenv) - | `Joint joint -> - B.b_v [] - (recursion_kind2pres params joint.Content.joint_kind - :: List.map (joint_def2pres term2pres) joint.Content.joint_defs) - | _ -> raise ToDo - -let content2pres ~ids_to_inner_sorts = - content2pres - (fun annterm -> - let ast, ids_to_uris = - CicNotationRew.ast_of_acic ids_to_inner_sorts annterm - in - CicNotationPres.box_of_mpres - (CicNotationPres.render ids_to_uris - (CicNotationRew.pp_ast ast))) - diff --git a/helm/ocaml/cic_transformations/content2pres.mli b/helm/ocaml/cic_transformations/content2pres.mli deleted file mode 100644 index 793c31a4f..000000000 --- a/helm/ocaml/cic_transformations/content2pres.mli +++ /dev/null @@ -1,39 +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 *) -(* *) -(* Andrea Asperti *) -(* 27/6/2003 *) -(* *) -(**************************************************************************) - -val content2pres: - ids_to_inner_sorts:(Cic.id, Cic2acic.sort_kind) Hashtbl.t -> - Cic.annterm Content.cobj -> - CicNotationPres.boxml_markup - diff --git a/helm/ocaml/cic_transformations/content_expressions.ml b/helm/ocaml/cic_transformations/content_expressions.ml deleted file mode 100644 index 65216f5d6..000000000 --- a/helm/ocaml/cic_transformations/content_expressions.ml +++ /dev/null @@ -1,448 +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 *) -(* *) -(* Andrea Asperti *) -(* 27/6/2003 *) -(* *) -(**************************************************************************) - - -(* the type cexpr is inspired by OpenMath. A few primitive constructors - have been added, in order to take into account some special features - of functional expressions. Most notably: case, let in, let rec, and - explicit substitutions *) - -type cexpr = - Symbol of string option * string * subst option * string option - (* h:xref, name, subst, definitionURL *) - | LocalVar of (string option) * string (* h:xref, name *) - | Meta of string option * string * meta_subst (* h:xref, name, meta_subst *) - | Num of string option * string (* h:xref, value *) - | Appl of string option * cexpr list (* h:xref, args *) - | Binder of string option * string * decl * cexpr - (* h:xref, name, decl, body *) - | Letin of string option * def * cexpr (* h:xref, def, body *) - | Letrec of string option * def list * cexpr (* h:xref, def list, body *) - | Case of string option * cexpr * ((string * cexpr) list) - (* h:xref, case_expr, named-pattern list *) - -and - decl = string * cexpr (* name, type *) -and - def = string * cexpr (* name, body *) -and - subst = (UriManager.uri * cexpr) list -and - meta_subst = cexpr option list -;; - -(* NOTATION *) - -let symbol_table = Hashtbl.create 503;; - -(* eq *) -Hashtbl.add symbol_table HelmLibraryObjects.Logic.eq_XURI - (fun aid sid args acic2cexpr -> - Appl - (Some aid, (Symbol (Some sid, "eq", - None, Some HelmLibraryObjects.Logic.eq_SURI)) - :: List.map acic2cexpr (List.tl args)));; - -(* and *) -Hashtbl.add symbol_table HelmLibraryObjects.Logic.and_XURI - (fun aid sid args acic2cexpr -> - Appl - (Some aid, (Symbol (Some sid, "and", - None, Some HelmLibraryObjects.Logic.and_SURI)) - :: List.map acic2cexpr args));; - -(* or *) -Hashtbl.add symbol_table HelmLibraryObjects.Logic.or_XURI - (fun aid sid args acic2cexpr -> - Appl - (Some aid, (Symbol (Some sid, "or", - None, Some HelmLibraryObjects.Logic.or_SURI)) - :: List.map acic2cexpr args));; - -(* iff *) -Hashtbl.add symbol_table HelmLibraryObjects.Logic.iff_SURI - (fun aid sid args acic2cexpr -> - Appl - (Some aid, (Symbol (Some sid, "iff", - None, Some HelmLibraryObjects.Logic.iff_SURI)) - :: List.map acic2cexpr args));; - -(* not *) -Hashtbl.add symbol_table HelmLibraryObjects.Logic.not_SURI - (fun aid sid args acic2cexpr -> - Appl - (Some aid, (Symbol (Some sid, "not", - None, Some HelmLibraryObjects.Logic.not_SURI)) - :: List.map acic2cexpr args));; - -(* Rinv *) -Hashtbl.add symbol_table HelmLibraryObjects.Reals.rinv_SURI - (fun aid sid args acic2cexpr -> - Appl - (Some aid, (Symbol (Some sid, "inv", - None, Some HelmLibraryObjects.Reals.rinv_SURI)) - :: List.map acic2cexpr args));; - -(* Ropp *) -Hashtbl.add symbol_table HelmLibraryObjects.Reals.ropp_SURI - (fun aid sid args acic2cexpr -> - Appl - (Some aid, (Symbol (Some sid, "opp", - None, Some HelmLibraryObjects.Reals.ropp_SURI)) - :: List.map acic2cexpr args));; - -(* exists *) -Hashtbl.add symbol_table HelmLibraryObjects.Logic.ex_XURI - (fun aid sid args acic2cexpr -> - match (List.tl args) with - [Cic.ALambda (_,Cic.Name n,s,t)] -> - Binder - (Some aid, "Exists", (n,acic2cexpr s),acic2cexpr t) - | _ -> raise Not_found);; - -(* leq *) -Hashtbl.add symbol_table HelmLibraryObjects.Peano.le_XURI - (fun aid sid args acic2cexpr -> - Appl - (Some aid, (Symbol (Some sid, "leq", - None, Some HelmLibraryObjects.Peano.le_SURI)) - :: List.map acic2cexpr args));; - -Hashtbl.add symbol_table HelmLibraryObjects.Reals.rle_SURI - (fun aid sid args acic2cexpr -> - Appl - (Some aid, (Symbol (Some sid, "leq", - None, Some HelmLibraryObjects.Reals.rle_SURI)) - :: List.map acic2cexpr args));; - -(* lt *) -Hashtbl.add symbol_table HelmLibraryObjects.Peano.lt_SURI - (fun aid sid args acic2cexpr -> - Appl - (Some aid, (Symbol (Some sid, "lt", - None, Some HelmLibraryObjects.Peano.lt_SURI)) - :: List.map acic2cexpr args));; - -Hashtbl.add symbol_table HelmLibraryObjects.Reals.rlt_SURI - (fun aid sid args acic2cexpr -> - Appl - (Some aid, (Symbol (Some sid, "lt", - None, Some HelmLibraryObjects.Reals.rlt_SURI)) - :: List.map acic2cexpr args));; - -(* geq *) -Hashtbl.add symbol_table HelmLibraryObjects.Peano.ge_SURI - (fun aid sid args acic2cexpr -> - Appl - (Some aid, (Symbol (Some sid, "geq", - None, Some HelmLibraryObjects.Peano.ge_SURI)) - :: List.map acic2cexpr args));; - -Hashtbl.add symbol_table HelmLibraryObjects.Reals.rge_SURI - (fun aid sid args acic2cexpr -> - Appl - (Some aid, (Symbol (Some sid, "geq", - None, Some HelmLibraryObjects.Reals.rge_SURI)) - :: List.map acic2cexpr args));; - -(* gt *) -Hashtbl.add symbol_table HelmLibraryObjects.Peano.gt_SURI - (fun aid sid args acic2cexpr -> - Appl - (Some aid, (Symbol (Some sid, "gt", - None, Some HelmLibraryObjects.Peano.gt_SURI)) - :: List.map acic2cexpr args));; - -Hashtbl.add symbol_table HelmLibraryObjects.Reals.rgt_SURI - (fun aid sid args acic2cexpr -> - Appl - (Some aid, (Symbol (Some sid, "gt", - None, Some HelmLibraryObjects.Reals.rgt_SURI)) - :: List.map acic2cexpr args));; - -(* plus *) -Hashtbl.add symbol_table HelmLibraryObjects.Peano.plus_SURI - (fun aid sid args acic2cexpr -> - Appl - (Some aid, (Symbol (Some sid, "plus", - None, Some HelmLibraryObjects.Peano.plus_SURI)) - :: List.map acic2cexpr args));; - -Hashtbl.add symbol_table HelmLibraryObjects.BinInt.zplus_SURI - (fun aid sid args acic2cexpr -> - Appl - (Some aid, (Symbol (Some sid, "plus", - None, Some HelmLibraryObjects.BinInt.zplus_SURI)) - :: List.map acic2cexpr args));; - -Hashtbl.add symbol_table HelmLibraryObjects.Reals.rplus_SURI - (fun aid sid args acic2cexpr -> - let appl () = - Appl - (Some aid, (Symbol (Some sid, "plus", - None, Some HelmLibraryObjects.Reals.rplus_SURI)) - :: List.map acic2cexpr args) - in - let rec aux acc = function - | [ Cic.AConst (nid, uri, []); n] when - UriManager.eq uri HelmLibraryObjects.Reals.r1_URI -> - (match n with - | Cic.AConst (_, uri, []) when - UriManager.eq uri HelmLibraryObjects.Reals.r1_URI -> - Num (Some aid, string_of_int (acc + 2)) - | Cic.AAppl (_, Cic.AConst (_, uri, []) :: args) when - UriManager.eq uri HelmLibraryObjects.Reals.rplus_URI -> - aux (acc + 1) args - | _ -> appl ()) - | _ -> appl () - in - aux 0 args) -;; - -(* zero and one *) - -Hashtbl.add symbol_table HelmLibraryObjects.Reals.r0_SURI - (fun aid sid args acic2cexpr -> Num (Some sid, "0")) ;; - -Hashtbl.add symbol_table HelmLibraryObjects.Reals.r1_SURI - (fun aid sid args acic2cexpr -> Num (Some sid, "1")) ;; - -(* times *) -Hashtbl.add symbol_table HelmLibraryObjects.Peano.mult_SURI - (fun aid sid args acic2cexpr -> - Appl - (Some aid, (Symbol (Some sid, "times", - None, Some HelmLibraryObjects.Peano.mult_SURI)) - :: List.map acic2cexpr args));; - - -Hashtbl.add symbol_table HelmLibraryObjects.Reals.rmult_SURI - (fun aid sid args acic2cexpr -> - Appl - (Some aid, (Symbol (Some sid, "times", - None, Some HelmLibraryObjects.Reals.rmult_SURI)) - :: List.map acic2cexpr args));; -(* minus *) -Hashtbl.add symbol_table HelmLibraryObjects.Peano.minus_SURI - (fun aid sid args acic2cexpr -> - Appl - (Some aid, (Symbol (Some sid, "minus", - None, Some HelmLibraryObjects.Peano.minus_SURI)) - :: List.map acic2cexpr args));; - -Hashtbl.add symbol_table HelmLibraryObjects.Reals.rminus_SURI - (fun aid sid args acic2cexpr -> - Appl - (Some aid, (Symbol (Some sid, "minus", - None, Some HelmLibraryObjects.Reals.rminus_SURI)) - :: List.map acic2cexpr args));; - -(* div *) -Hashtbl.add symbol_table HelmLibraryObjects.Reals.rdiv_SURI - (fun aid sid args acic2cexpr -> - Appl - (Some aid, (Symbol (Some sid, "div", - None, Some HelmLibraryObjects.Reals.rdiv_SURI)) - :: List.map acic2cexpr args));; - - - - -(* END NOTATION *) - - -let string_of_sort = - function - Cic.Prop -> "Prop" - | Cic.Set -> "Set" - | Cic.Type _ -> "Type" (* TASSI *) - | Cic.CProp -> "Type" -;; - -let get_constructors uri i = - let inductive_types = - (let o,_ = CicEnvironment.get_obj uri CicUniv.empty_ugraph in - match o with - Cic.Constant _ -> assert false - | Cic.Variable _ -> assert false - | Cic.CurrentProof _ -> assert false - | Cic.InductiveDefinition (l,_,_) -> l - ) in - let (_,_,_,constructors) = List.nth inductive_types i in - constructors -;; - -exception NotImplemented;; - -let acic2cexpr ids_to_inner_sorts t = - let rec acic2cexpr t = - let module C = Cic in - let module X = Xml in - let module U = UriManager in - let module C2A = Cic2acic in - let make_subst = - function - [] -> None - | l -> Some (List.map (function (uri,t) -> (uri, acic2cexpr t)) l) in - match t with - C.ARel (id,idref,n,b) -> LocalVar (Some id,b) - | C.AVar (id,uri,subst) -> - Symbol (Some id, UriManager.name_of_uri uri, - make_subst subst, Some (UriManager.string_of_uri uri)) - | C.AMeta (id,n,l) -> - let l' = - List.rev_map - (function - None -> None - | Some t -> Some (acic2cexpr t) - ) l - in - Meta (Some id,("?" ^ (string_of_int n)),l') - | C.ASort (id,s) -> Symbol (Some id,string_of_sort s,None,None) - | C.AImplicit _ -> raise NotImplemented - | C.AProd (id,n,s,t) -> - (match n with - Cic.Anonymous -> - Appl (Some id, [Symbol (None, "arrow",None,None); - acic2cexpr s; acic2cexpr t]) - | Cic.Name name -> - let sort = - (try Hashtbl.find ids_to_inner_sorts id - with Not_found -> - (* if the Prod does not have the sort, it means - that it has been generated by cic2content, and - thus is a statement *) - "Prop") in - let binder = if sort = "Prop" then "Forall" else "Prod" in - let decl = (name, acic2cexpr s) in - Binder (Some id,binder,decl,acic2cexpr t)) - | C.ACast (id,v,t) -> acic2cexpr v - | C.ALambda (id,n,s,t) -> - let name = - (match n with - Cic.Anonymous -> "_" - | Cic.Name name -> name) in - let decl = (name, acic2cexpr s) in - Binder (Some id,"Lambda",decl,acic2cexpr t) - | C.ALetIn (id,n,s,t) -> - (match n with - Cic.Anonymous -> assert false - | Cic.Name name -> - let def = (name, acic2cexpr s) in - Letin (Some id,def,acic2cexpr t)) - | C.AAppl (aid,C.AConst (sid,uri,subst)::tl) -> - let uri_str = UriManager.string_of_uri uri in - (try - (let f = Hashtbl.find symbol_table uri_str in - f aid sid tl acic2cexpr) - with Not_found -> - Appl (Some aid, Symbol (Some sid,UriManager.name_of_uri uri, - make_subst subst, Some uri_str)::List.map acic2cexpr tl)) - | C.AAppl (aid,C.AMutInd (sid,uri,i,subst)::tl) -> - let inductive_types = - (let o,_ = CicEnvironment.get_obj uri CicUniv.empty_ugraph in - match o with - Cic.Constant _ -> assert false - | Cic.Variable _ -> assert false - | Cic.CurrentProof _ -> assert false - | Cic.InductiveDefinition (l,_,_) -> l - ) in - let (name,_,_,_) = List.nth inductive_types i in - let uri_str = UriManager.string_of_uri uri in - let puri_str = - uri_str ^ "#xpointer(1/" ^ (string_of_int (i + 1)) ^ ")" in - (try - (let f = Hashtbl.find symbol_table puri_str in - f aid sid tl acic2cexpr) - with Not_found -> - Appl (Some aid, Symbol (Some sid, name, - make_subst subst, Some uri_str)::List.map acic2cexpr tl)) - | C.AAppl (id,li) -> - Appl (Some id, List.map acic2cexpr li) - | C.AConst (id,uri,subst) -> - let uri_str = UriManager.string_of_uri uri in - (try - let f = Hashtbl.find symbol_table uri_str in - f "dummy" id [] acic2cexpr - with Not_found -> - Symbol (Some id, UriManager.name_of_uri uri, - make_subst subst, Some (UriManager.string_of_uri uri))) - | C.AMutInd (id,uri,i,subst) -> - let inductive_types = - (let o,_ = CicEnvironment.get_obj uri CicUniv.empty_ugraph in - match o with - Cic.Constant _ -> assert false - | Cic.Variable _ -> assert false - | Cic.CurrentProof _ -> assert false - | Cic.InductiveDefinition (l,_,_) -> l - ) in - let (name,_,_,_) = List.nth inductive_types i in - let uri_str = UriManager.string_of_uri uri in - Symbol (Some id, name, make_subst subst, Some uri_str) - | C.AMutConstruct (id,uri,i,j,subst) -> - let constructors = get_constructors uri i in - let (name,_) = List.nth constructors (j-1) in - let uri_str = UriManager.string_of_uri uri in - Symbol (Some id, name, make_subst subst, Some uri_str) - | C.AMutCase (id,uri,typeno,ty,te,patterns) -> - let constructors = get_constructors uri typeno in - let named_patterns = - List.map2 (fun c p -> (fst c, acic2cexpr p)) - constructors patterns in - Case (Some id, acic2cexpr te, named_patterns) - | C.AFix (id, no, funs) -> - let defs = - List.map (function (id1,n,_,_,bo) -> (n, acic2cexpr bo)) funs in - let (name,_) = List.nth defs no in - let body = LocalVar (None, name) in - Letrec (Some id, defs, body) - | C.ACoFix (id,no,funs) -> - let defs = - List.map (function (id1,n,_,bo) -> (n, acic2cexpr bo)) funs in - let (name,_) = List.nth defs no in - let body = LocalVar (None, name) in - Letrec (Some id, defs, body) in - acic2cexpr t -;; - - - - - - - - - - - diff --git a/helm/ocaml/cic_transformations/domMisc.ml b/helm/ocaml/cic_transformations/domMisc.ml deleted file mode 100644 index 56d542556..000000000 --- a/helm/ocaml/cic_transformations/domMisc.ml +++ /dev/null @@ -1,49 +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/. - *) - -(******************************************************************************) -(* *) -(* PROJECT HELM *) -(* *) -(* Claudio Sacerdoti Coen *) -(* 06/01/2002 *) -(* *) -(* *) -(******************************************************************************) - -let domImpl = Gdome.domImplementation () -let helm_ns = Gdome.domString "http://www.cs.unibo.it/helm" -let xlink_ns = Gdome.domString "http://www.w3.org/1999/xlink" -let mathml_ns = Gdome.domString "http://www.w3.org/1998/Math/MathML" -let boxml_ns = Gdome.domString "http://helm.cs.unibo.it/2003/BoxML" - - (* TODO BRRRRR .... *) - (** strip first 4 line of a string, used to strip xml declaration and doctype - declaration from XML strings generated by Xml.pp_to_string *) -let strip_xml_headings = - let xml_headings_RE = Pcre.regexp "^.*\n.*\n.*\n.*\n" in - fun s -> - Pcre.replace ~rex:xml_headings_RE s - diff --git a/helm/ocaml/cic_transformations/domMisc.mli b/helm/ocaml/cic_transformations/domMisc.mli deleted file mode 100644 index d0779d1e7..000000000 --- a/helm/ocaml/cic_transformations/domMisc.mli +++ /dev/null @@ -1,46 +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/. - *) - -(******************************************************************************) -(* *) -(* PROJECT HELM *) -(* *) -(* Claudio Sacerdoti Coen *) -(* 15/01/2003 *) -(* *) -(* *) -(******************************************************************************) - -(* TODO rename this module into at least something like CicMisc *) - -val domImpl : Gdome.domImplementation - -val helm_ns : Gdome.domString (** HELM namespace *) -val xlink_ns : Gdome.domString (** XLink namespace *) -val mathml_ns : Gdome.domString (** MathML namespace *) -val boxml_ns : Gdome.domString (** BoxML namespace *) - -val strip_xml_headings: string -> string - diff --git a/helm/ocaml/cic_transformations/sequent2pres.ml b/helm/ocaml/cic_transformations/sequent2pres.ml deleted file mode 100644 index b7de8499a..000000000 --- a/helm/ocaml/cic_transformations/sequent2pres.ml +++ /dev/null @@ -1,104 +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 *) -(* *) -(* Andrea Asperti *) -(* 19/11/2003 *) -(* *) -(***************************************************************************) - -let p_mtr a b = Mpresentation.Mtr(a,b) -let p_mtd a b = Mpresentation.Mtd(a,b) -let p_mtable a b = Mpresentation.Mtable(a,b) -let p_mtext a b = Mpresentation.Mtext(a,b) -let p_mi a b = Mpresentation.Mi(a,b) -let p_mo a b = Mpresentation.Mo(a,b) -let p_mrow a b = Mpresentation.Mrow(a,b) -let p_mphantom a b = Mpresentation.Mphantom(a,b) -let b_ink a = Box.Ink a - -module K = Content -module P = Mpresentation - -let sequent2pres term2pres (_,_,context,ty) = - let context2pres context = - let rec aux accum = - function - [] -> accum - | None::tl -> aux accum tl - | (Some (`Declaration d))::tl -> - let - { K.dec_name = dec_name ; - K.dec_id = dec_id ; - K.dec_type = ty } = d in - let r = - Box.b_h [Some "helm", "xref", dec_id] - [ Box.b_object (p_mi [] - (match dec_name with - None -> "_" - | Some n -> n)) ; - Box.b_text [] ":" ; - term2pres ty] in - aux (r::accum) tl - | (Some (`Definition d))::tl -> - let - { K.def_name = def_name ; - K.def_id = def_id ; - K.def_term = bo } = d in - let r = - Box.b_h [Some "helm", "xref", def_id] - [ Box.b_object (p_mi [] - (match def_name with - None -> "_" - | Some n -> n)) ; - Box.b_text [] (Utf8Macro.unicode_of_tex "\\def") ; - term2pres bo] in - aux (r::accum) tl - | _::_ -> assert false in - aux [] context in - let pres_context = (Box.b_v [] (context2pres context)) in - let pres_goal = term2pres ty in - (Box.b_h [] [ - Box.b_space; - (Box.b_v [] - [Box.b_space; - pres_context; - b_ink [None,"width","4cm"; None,"height","2px"]; (* sequent line *) - Box.b_space; - pres_goal])]) - -let sequent2pres ~ids_to_inner_sorts = - sequent2pres - (fun annterm -> - let ast, ids_to_uris = - CicNotationRew.ast_of_acic ids_to_inner_sorts annterm - in - CicNotationPres.box_of_mpres - (CicNotationPres.render ids_to_uris - (CicNotationRew.pp_ast ast))) - diff --git a/helm/ocaml/cic_transformations/sequent2pres.mli b/helm/ocaml/cic_transformations/sequent2pres.mli deleted file mode 100644 index 615c8e35f..000000000 --- a/helm/ocaml/cic_transformations/sequent2pres.mli +++ /dev/null @@ -1,39 +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 *) -(* *) -(* Andrea Asperti *) -(* 19/11/2003 *) -(* *) -(***************************************************************************) - -val sequent2pres : - ids_to_inner_sorts:(Cic.id, Cic2acic.sort_kind) Hashtbl.t -> - Cic.annterm Content.conjecture -> - CicNotationPres.boxml_markup - diff --git a/helm/ocaml/cic_transformations/xml2Gdome.ml b/helm/ocaml/cic_transformations/xml2Gdome.ml deleted file mode 100644 index 3d07bf21c..000000000 --- a/helm/ocaml/cic_transformations/xml2Gdome.ml +++ /dev/null @@ -1,133 +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/. - *) - -let document_of_xml (domImplementation : Gdome.domImplementation) strm = - let module G = Gdome in - let module X = Xml in - let rec update_namespaces ((defaultns,bindings) as namespaces) = - function - [] -> namespaces - | (None,"xmlns",value)::tl -> - update_namespaces (Some (Gdome.domString value),bindings) tl - | (prefix,name,value)::tl when prefix = Some "xmlns" -> - update_namespaces (defaultns,(name,Gdome.domString value)::bindings) tl - | _::tl -> update_namespaces namespaces tl in - let rec namespace_of_prefix (defaultns,bindings) = - function - None -> None - | Some "xmlns" -> Some (Gdome.domString "xml-ns") - | Some p' -> - try - Some (List.assoc p' bindings) - with - Not_found -> - raise - (Failure ("The prefix " ^ p' ^ " is not bound to any namespace")) in - let get_qualified_name p n = - match p with - None -> Gdome.domString n - | Some p' -> Gdome.domString (p' ^ ":" ^ n) in - let root_prefix,root_name,root_attributes,root_content = - ignore (Stream.next strm) ; (* to skip the declaration *) - ignore (Stream.next strm) ; (* to skip the DOCTYPE declaration *) - match Stream.next strm with - X.Empty(p,n,l) -> p,n,l,[<>] - | X.NEmpty(p,n,l,c) -> p,n,l,c - | _ -> assert false - in - let namespaces = update_namespaces (None,[]) root_attributes in - let namespaceURI = namespace_of_prefix namespaces root_prefix in - let document = - domImplementation#createDocument ~namespaceURI - ~qualifiedName:(get_qualified_name root_prefix root_name) - ~doctype:None - in - let rec aux namespaces (node : Gdome.node) = - parser - [< 'X.Str a ; s >] -> - let textnode = document#createTextNode ~data:(Gdome.domString a) in - ignore (node#appendChild ~newChild:(textnode :> Gdome.node)) ; - aux namespaces node s - | [< 'X.Empty(p,n,l) ; s >] -> - let namespaces' = update_namespaces namespaces l in - let namespaceURI = namespace_of_prefix namespaces' p in - let element = - document#createElementNS ~namespaceURI - ~qualifiedName:(get_qualified_name p n) - in - List.iter - (function (p,n,v) -> - if p = None then - element#setAttribute ~name:(Gdome.domString n) - ~value:(Gdome.domString v) - else - let namespaceURI = namespace_of_prefix namespaces' p in - element#setAttributeNS - ~namespaceURI - ~qualifiedName:(get_qualified_name p n) - ~value:(Gdome.domString v) - ) l ; - ignore - (node#appendChild - ~newChild:(element : Gdome.element :> Gdome.node)) ; - aux namespaces node s - | [< 'X.NEmpty(p,n,l,c) ; s >] -> - let namespaces' = update_namespaces namespaces l in - let namespaceURI = namespace_of_prefix namespaces' p in - let element = - document#createElementNS ~namespaceURI - ~qualifiedName:(get_qualified_name p n) - in - List.iter - (function (p,n,v) -> - if p = None then - element#setAttribute ~name:(Gdome.domString n) - ~value:(Gdome.domString v) - else - let namespaceURI = namespace_of_prefix namespaces' p in - element#setAttributeNS ~namespaceURI - ~qualifiedName:(get_qualified_name p n) - ~value:(Gdome.domString v) - ) l ; - ignore (node#appendChild ~newChild:(element :> Gdome.node)) ; - aux namespaces' (element :> Gdome.node) c ; - aux namespaces node s - | [< >] -> () - in - let root = document#get_documentElement in - List.iter - (function (p,n,v) -> - if p = None then - root#setAttribute ~name:(Gdome.domString n) - ~value:(Gdome.domString v) - else - let namespaceURI = namespace_of_prefix namespaces p in - root#setAttributeNS ~namespaceURI - ~qualifiedName:(get_qualified_name p n) - ~value:(Gdome.domString v) - ) root_attributes ; - aux namespaces (root : Gdome.element :> Gdome.node) root_content ; - document -;; diff --git a/helm/ocaml/cic_transformations/xml2Gdome.mli b/helm/ocaml/cic_transformations/xml2Gdome.mli deleted file mode 100644 index 45d0e9532..000000000 --- a/helm/ocaml/cic_transformations/xml2Gdome.mli +++ /dev/null @@ -1,27 +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/. - *) - -val document_of_xml : - Gdome.domImplementation -> Xml.token Stream.t -> Gdome.document diff --git a/helm/ocaml/cic_unification/.cvsignore b/helm/ocaml/cic_unification/.cvsignore deleted file mode 100644 index 6b3eba302..000000000 --- a/helm/ocaml/cic_unification/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.cm[iaox] *.cmxa diff --git a/helm/ocaml/cic_unification/.depend b/helm/ocaml/cic_unification/.depend deleted file mode 100644 index 8da4518c3..000000000 --- a/helm/ocaml/cic_unification/.depend +++ /dev/null @@ -1,15 +0,0 @@ -coercGraph.cmi: coercDb.cmi -cicMetaSubst.cmo: cicMetaSubst.cmi -cicMetaSubst.cmx: cicMetaSubst.cmi -cicMkImplicit.cmo: cicMkImplicit.cmi -cicMkImplicit.cmx: cicMkImplicit.cmi -cicUnification.cmo: cicMetaSubst.cmi cicUnification.cmi -cicUnification.cmx: cicMetaSubst.cmx cicUnification.cmi -coercDb.cmo: coercDb.cmi -coercDb.cmx: coercDb.cmi -coercGraph.cmo: coercDb.cmi coercGraph.cmi -coercGraph.cmx: coercDb.cmx coercGraph.cmi -cicRefine.cmo: coercGraph.cmi cicUnification.cmi cicMkImplicit.cmi \ - cicMetaSubst.cmi cicRefine.cmi -cicRefine.cmx: coercGraph.cmx cicUnification.cmx cicMkImplicit.cmx \ - cicMetaSubst.cmx cicRefine.cmi diff --git a/helm/ocaml/cic_unification/Makefile b/helm/ocaml/cic_unification/Makefile deleted file mode 100644 index 7f1c8f351..000000000 --- a/helm/ocaml/cic_unification/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -PACKAGE = cic_unification -REQUIRES = helm-cic_proof_checking -PREDICATES = - -INTERFACE_FILES = \ - cicMetaSubst.mli \ - cicMkImplicit.mli \ - cicUnification.mli \ - coercDb.mli \ - coercGraph.mli \ - cicRefine.mli -IMPLEMENTATION_FILES = $(INTERFACE_FILES:%.mli=%.ml) -EXTRA_OBJECTS_TO_INSTALL = - -include ../Makefile.common diff --git a/helm/ocaml/cic_unification/cicMetaSubst.ml b/helm/ocaml/cic_unification/cicMetaSubst.ml deleted file mode 100644 index 718951c68..000000000 --- a/helm/ocaml/cic_unification/cicMetaSubst.ml +++ /dev/null @@ -1,896 +0,0 @@ -(* Copyright (C) 2003, 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 - -(* PROFILING *) -(* -let deref_counter = ref 0 -let apply_subst_context_counter = ref 0 -let apply_subst_metasenv_counter = ref 0 -let lift_counter = ref 0 -let subst_counter = ref 0 -let whd_counter = ref 0 -let are_convertible_counter = ref 0 -let metasenv_length = ref 0 -let context_length = ref 0 -let reset_counters () = - apply_subst_counter := 0; - apply_subst_context_counter := 0; - apply_subst_metasenv_counter := 0; - lift_counter := 0; - subst_counter := 0; - whd_counter := 0; - are_convertible_counter := 0; - metasenv_length := 0; - context_length := 0 -let print_counters () = - debug_print (lazy (Printf.sprintf -"apply_subst: %d -apply_subst_context: %d -apply_subst_metasenv: %d -lift: %d -subst: %d -whd: %d -are_convertible: %d -metasenv length: %d (avg = %.2f) -context length: %d (avg = %.2f) -" - !apply_subst_counter !apply_subst_context_counter - !apply_subst_metasenv_counter !lift_counter !subst_counter !whd_counter - !are_convertible_counter !metasenv_length - ((float !metasenv_length) /. (float !apply_subst_metasenv_counter)) - !context_length - ((float !context_length) /. (float !apply_subst_context_counter)) - ))*) - - - -exception MetaSubstFailure of string Lazy.t -exception Uncertain of string Lazy.t -exception AssertFailure of string Lazy.t -exception DeliftingARelWouldCaptureAFreeVariable;; - -let debug_print = fun _ -> () - -type substitution = (int * (Cic.context * Cic.term)) list - -(* -let rec deref subst = - let third _,_,a = a in - function - Cic.Meta(n,l) as t -> - (try - deref subst - (CicSubstitution.subst_meta - l (third (CicUtil.lookup_subst n subst))) - with - CicUtil.Subst_not_found _ -> t) - | t -> t -;; -*) - -let lookup_subst = CicUtil.lookup_subst -;; - - -(* clean_up_meta take a metasenv and a term and make every local context -of each occurrence of a metavariable consistent with its canonical context, -with respect to the hidden hipothesis *) - -(* -let clean_up_meta subst metasenv t = - let module C = Cic in - let rec aux t = - match t with - C.Rel _ - | C.Sort _ -> t - | C.Implicit _ -> assert false - | C.Meta (n,l) as t -> - let cc = - (try - let (cc,_) = lookup_subst n subst in cc - with CicUtil.Subst_not_found _ -> - try - let (_,cc,_) = CicUtil.lookup_meta n metasenv in cc - with CicUtil.Meta_not_found _ -> assert false) in - let l' = - (try - List.map2 - (fun t1 t2 -> - match t1,t2 with - None , _ -> None - | _ , t -> t) cc l - with - Invalid_argument _ -> assert false) in - C.Meta (n, l') - | C.Cast (te,ty) -> C.Cast (aux te, aux ty) - | C.Prod (name,so,dest) -> C.Prod (name, aux so, aux dest) - | C.Lambda (name,so,dest) -> C.Lambda (name, aux so, aux dest) - | C.LetIn (name,so,dest) -> C.LetIn (name, aux so, aux dest) - | C.Appl l -> C.Appl (List.map aux l) - | C.Var (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (fun (uri,t) -> (uri, aux t)) exp_named_subst - in - C.Var (uri, exp_named_subst') - | C.Const (uri, exp_named_subst) -> - let exp_named_subst' = - List.map (fun (uri,t) -> (uri, aux t)) exp_named_subst - in - C.Const (uri, exp_named_subst') - | C.MutInd (uri,tyno,exp_named_subst) -> - let exp_named_subst' = - List.map (fun (uri,t) -> (uri, aux t)) exp_named_subst - in - C.MutInd (uri, tyno, exp_named_subst') - | C.MutConstruct (uri,tyno,consno,exp_named_subst) -> - let exp_named_subst' = - List.map (fun (uri,t) -> (uri, aux t)) exp_named_subst - in - C.MutConstruct (uri, tyno, consno, exp_named_subst') - | C.MutCase (uri,tyno,out,te,pl) -> - C.MutCase (uri, tyno, aux out, aux te, List.map aux pl) - | C.Fix (i,fl) -> - let fl' = - List.map - (fun (name,j,ty,bo) -> (name, j, aux ty, aux bo)) fl - in - C.Fix (i, fl') - | C.CoFix (i,fl) -> - let fl' = - List.map - (fun (name,ty,bo) -> (name, aux ty, aux bo)) fl - in - C.CoFix (i, fl') - in - aux t *) - -(*** Functions to apply a substitution ***) - -let apply_subst_gen ~appl_fun subst term = - let rec um_aux = - let module C = Cic in - let module S = CicSubstitution in - function - C.Rel _ as t -> t - | C.Var (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (fun (uri, t) -> (uri, um_aux t)) exp_named_subst - in - C.Var (uri, exp_named_subst') - | C.Meta (i, l) -> - (try - let (_, t,_) = lookup_subst i subst in - um_aux (S.subst_meta l t) - with CicUtil.Subst_not_found _ -> - (* unconstrained variable, i.e. free in subst*) - let l' = - List.map (function None -> None | Some t -> Some (um_aux t)) l - in - C.Meta (i,l')) - | C.Sort _ - | C.Implicit _ as t -> t - | C.Cast (te,ty) -> C.Cast (um_aux te, um_aux ty) - | C.Prod (n,s,t) -> C.Prod (n, um_aux s, um_aux t) - | C.Lambda (n,s,t) -> C.Lambda (n, um_aux s, um_aux t) - | C.LetIn (n,s,t) -> C.LetIn (n, um_aux s, um_aux t) - | C.Appl (hd :: tl) -> appl_fun um_aux hd tl - | C.Appl _ -> assert false - | C.Const (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (fun (uri, t) -> (uri, um_aux t)) exp_named_subst - in - C.Const (uri, exp_named_subst') - | C.MutInd (uri,typeno,exp_named_subst) -> - let exp_named_subst' = - List.map (fun (uri, t) -> (uri, um_aux t)) exp_named_subst - in - C.MutInd (uri,typeno,exp_named_subst') - | C.MutConstruct (uri,typeno,consno,exp_named_subst) -> - let exp_named_subst' = - List.map (fun (uri, t) -> (uri, um_aux t)) exp_named_subst - in - C.MutConstruct (uri,typeno,consno,exp_named_subst') - | C.MutCase (sp,i,outty,t,pl) -> - let pl' = List.map um_aux pl in - C.MutCase (sp, i, um_aux outty, um_aux t, pl') - | C.Fix (i, fl) -> - let fl' = - List.map (fun (name, i, ty, bo) -> (name, i, um_aux ty, um_aux bo)) fl - in - C.Fix (i, fl') - | C.CoFix (i, fl) -> - let fl' = - List.map (fun (name, ty, bo) -> (name, um_aux ty, um_aux bo)) fl - in - C.CoFix (i, fl') - in - um_aux term -;; - -let apply_subst = - let appl_fun um_aux he tl = - let tl' = List.map um_aux tl in - let t' = - match um_aux he with - Cic.Appl l -> Cic.Appl (l@tl') - | he' -> Cic.Appl (he'::tl') - in - begin - match he with - Cic.Meta (m,_) -> CicReduction.head_beta_reduce t' - | _ -> t' - end - in - fun s t -> -(* incr apply_subst_counter; *) - apply_subst_gen ~appl_fun s t -;; - -let rec apply_subst_context subst context = -(* - incr apply_subst_context_counter; - context_length := !context_length + List.length context; -*) - List.fold_right - (fun item context -> - match item with - | Some (n, Cic.Decl t) -> - let t' = apply_subst subst t in - Some (n, Cic.Decl t') :: context - | Some (n, Cic.Def (t, ty)) -> - let ty' = - match ty with - | None -> None - | Some ty -> Some (apply_subst subst ty) - in - let t' = apply_subst subst t in - Some (n, Cic.Def (t', ty')) :: context - | None -> None :: context) - context [] - -let apply_subst_metasenv subst metasenv = -(* - incr apply_subst_metasenv_counter; - metasenv_length := !metasenv_length + List.length metasenv; -*) - List.map - (fun (n, context, ty) -> - (n, apply_subst_context subst context, apply_subst subst ty)) - (List.filter - (fun (i, _, _) -> not (List.mem_assoc i subst)) - metasenv) - -(***** Pretty printing functions ******) - -let ppterm subst term = CicPp.ppterm (apply_subst subst term) - -let ppterm_in_name_context subst term name_context = - CicPp.pp (apply_subst subst term) name_context - -let ppterm_in_context subst term context = - let name_context = - List.map (function None -> None | Some (n,_) -> Some n) context - in - ppterm_in_name_context subst term name_context - -let ppcontext' ?(sep = "\n") subst context = - let separate s = if s = "" then "" else s ^ sep in - List.fold_right - (fun context_entry (i,name_context) -> - match context_entry with - Some (n,Cic.Decl t) -> - sprintf "%s%s : %s" (separate i) (CicPp.ppname n) - (ppterm_in_name_context subst t name_context), (Some n)::name_context - | Some (n,Cic.Def (bo,ty)) -> - sprintf "%s%s : %s := %s" (separate i) (CicPp.ppname n) - (match ty with - None -> "_" - | Some ty -> ppterm_in_name_context subst ty name_context) - (ppterm_in_name_context subst bo name_context), (Some n)::name_context - | None -> - sprintf "%s_ :? _" (separate i), None::name_context - ) context ("",[]) - -let ppsubst_unfolded subst = - String.concat "\n" - (List.map - (fun (idx, (c, t,_)) -> - let context,name_context = ppcontext' ~sep:"; " subst c in - sprintf "%s |- ?%d:= %s" context idx - (ppterm_in_name_context subst t name_context)) - subst) -(* - Printf.sprintf "?%d := %s" idx (CicPp.ppterm term)) - subst) *) -;; - -let ppsubst subst = - String.concat "\n" - (List.map - (fun (idx, (c, t, _)) -> - let context,name_context = ppcontext' ~sep:"; " [] c in - sprintf "%s |- ?%d:= %s" context idx - (ppterm_in_name_context [] t name_context)) - subst) -;; - -let ppcontext ?sep subst context = fst (ppcontext' ?sep subst context) - -let ppmetasenv ?(sep = "\n") subst metasenv = - String.concat sep - (List.map - (fun (i, c, t) -> - let context,name_context = ppcontext' ~sep:"; " subst c in - sprintf "%s |- ?%d: %s" context i - (ppterm_in_name_context subst t name_context)) - (List.filter - (fun (i, _, _) -> not (List.mem_assoc i subst)) - metasenv)) - -let tempi_type_of_aux_subst = ref 0.0;; -let tempi_subst = ref 0.0;; -let tempi_type_of_aux = ref 0.0;; - -(**** DELIFT ****) -(* the delift function takes in input a metavariable index, an ordered list of - * optional terms [t1,...,tn] and a term t, and substitutes every tk = Some - * (rel(nk)) with rel(k). Typically, the list of optional terms is the explicit - * substitution that is applied to a metavariable occurrence and the result of - * the delift function is a term the implicit variable can be substituted with - * to make the term [t] unifiable with the metavariable occurrence. In general, - * the problem is undecidable if we consider equivalence in place of alpha - * convertibility. Our implementation, though, is even weaker than alpha - * convertibility, since it replace the term [tk] if and only if [tk] is a Rel - * (missing all the other cases). Does this matter in practice? - * The metavariable index is the index of the metavariable that must not occur - * in the term (for occur check). - *) - -exception NotInTheList;; - -let position n = - let rec aux k = - function - [] -> raise NotInTheList - | (Some (Cic.Rel m))::_ when m=n -> k - | _::tl -> aux (k+1) tl in - aux 1 -;; - -exception Occur;; - -let rec force_does_not_occur subst to_be_restricted t = - let module C = Cic in - let more_to_be_restricted = ref [] in - let rec aux k = function - C.Rel r when List.mem (r - k) to_be_restricted -> raise Occur - | C.Rel _ - | C.Sort _ as t -> t - | C.Implicit _ -> assert false - | C.Meta (n, l) -> - (* we do not retrieve the term associated to ?n in subst since *) - (* in this way we can restrict if something goes wrong *) - let l' = - let i = ref 0 in - List.map - (function t -> - incr i ; - match t with - None -> None - | Some t -> - try - Some (aux k t) - with Occur -> - more_to_be_restricted := (n,!i) :: !more_to_be_restricted; - None) - l - in - C.Meta (n, l') - | C.Cast (te,ty) -> C.Cast (aux k te, aux k ty) - | C.Prod (name,so,dest) -> C.Prod (name, aux k so, aux (k+1) dest) - | C.Lambda (name,so,dest) -> C.Lambda (name, aux k so, aux (k+1) dest) - | C.LetIn (name,so,dest) -> C.LetIn (name, aux k so, aux (k+1) dest) - | C.Appl l -> C.Appl (List.map (aux k) l) - | C.Var (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (fun (uri,t) -> (uri, aux k t)) exp_named_subst - in - C.Var (uri, exp_named_subst') - | C.Const (uri, exp_named_subst) -> - let exp_named_subst' = - List.map (fun (uri,t) -> (uri, aux k t)) exp_named_subst - in - C.Const (uri, exp_named_subst') - | C.MutInd (uri,tyno,exp_named_subst) -> - let exp_named_subst' = - List.map (fun (uri,t) -> (uri, aux k t)) exp_named_subst - in - C.MutInd (uri, tyno, exp_named_subst') - | C.MutConstruct (uri,tyno,consno,exp_named_subst) -> - let exp_named_subst' = - List.map (fun (uri,t) -> (uri, aux k t)) exp_named_subst - in - C.MutConstruct (uri, tyno, consno, exp_named_subst') - | C.MutCase (uri,tyno,out,te,pl) -> - C.MutCase (uri, tyno, aux k out, aux k te, List.map (aux k) pl) - | C.Fix (i,fl) -> - let len = List.length fl in - let k_plus_len = k + len in - let fl' = - List.map - (fun (name,j,ty,bo) -> (name, j, aux k ty, aux k_plus_len bo)) fl - in - C.Fix (i, fl') - | C.CoFix (i,fl) -> - let len = List.length fl in - let k_plus_len = k + len in - let fl' = - List.map - (fun (name,ty,bo) -> (name, aux k ty, aux k_plus_len bo)) fl - in - C.CoFix (i, fl') - in - let res = aux 0 t in - (!more_to_be_restricted, res) - -let rec restrict subst to_be_restricted metasenv = - let names_of_context_indexes context indexes = - String.concat ", " - (List.map - (fun i -> - try - match List.nth context (i-1) with - | None -> assert false - | Some (n, _) -> CicPp.ppname n - with - Failure _ -> assert false - ) indexes) - in - let force_does_not_occur_in_context to_be_restricted = function - | None -> [], None - | Some (name, Cic.Decl t) -> - let (more_to_be_restricted, t') = - force_does_not_occur subst to_be_restricted t - in - more_to_be_restricted, Some (name, Cic.Decl t') - | Some (name, Cic.Def (bo, ty)) -> - let (more_to_be_restricted, bo') = - force_does_not_occur subst to_be_restricted bo - in - let more_to_be_restricted, ty' = - match ty with - | None -> more_to_be_restricted, None - | Some ty -> - let more_to_be_restricted', ty' = - force_does_not_occur subst to_be_restricted ty - in - more_to_be_restricted @ more_to_be_restricted', - Some ty' - in - more_to_be_restricted, Some (name, Cic.Def (bo', ty')) - in - let rec erase i to_be_restricted n = function - | [] -> [], to_be_restricted, [] - | hd::tl -> - let more_to_be_restricted,restricted,tl' = - erase (i+1) to_be_restricted n tl - in - let restrict_me = List.mem i restricted in - if restrict_me then - more_to_be_restricted, restricted, None:: tl' - else - (try - let more_to_be_restricted', hd' = - let delifted_restricted = - let rec aux = - function - [] -> [] - | j::tl when j > i -> (j - i)::aux tl - | _::tl -> aux tl - in - aux restricted - in - force_does_not_occur_in_context delifted_restricted hd - in - more_to_be_restricted @ more_to_be_restricted', - restricted, hd' :: tl' - with Occur -> - more_to_be_restricted, (i :: restricted), None :: tl') - in - let (more_to_be_restricted, metasenv) = (* restrict metasenv *) - List.fold_right - (fun (n, context, t) (more, metasenv) -> - let to_be_restricted = - List.map snd (List.filter (fun (m, _) -> m = n) to_be_restricted) - in - let (more_to_be_restricted, restricted, context') = - (* just an optimization *) - if to_be_restricted = [] then - [],[],context - else - erase 1 to_be_restricted n context - in - try - let more_to_be_restricted', t' = - force_does_not_occur subst restricted t - in - let metasenv' = (n, context', t') :: metasenv in - (more @ more_to_be_restricted @ more_to_be_restricted', - metasenv') - with Occur -> - raise (MetaSubstFailure (lazy (sprintf - "Cannot restrict the context of the metavariable ?%d over the hypotheses %s since metavariable's type depends on at least one of them" - n (names_of_context_indexes context to_be_restricted))))) - metasenv ([], []) - in - let (more_to_be_restricted', subst) = (* restrict subst *) - List.fold_right - (* TODO: cambiare dopo l'aggiunta del ty *) - (fun (n, (context, term,ty)) (more, subst') -> - let to_be_restricted = - List.map snd (List.filter (fun (m, _) -> m = n) to_be_restricted) - in - (try - let (more_to_be_restricted, restricted, context') = - (* just an optimization *) - if to_be_restricted = [] then - [], [], context - else - erase 1 to_be_restricted n context - in - let more_to_be_restricted', term' = - force_does_not_occur subst restricted term - in - let more_to_be_restricted'', ty' = - force_does_not_occur subst restricted ty in - let subst' = (n, (context', term',ty')) :: subst' in - let more = - more @ more_to_be_restricted - @ more_to_be_restricted'@more_to_be_restricted'' in - (more, subst') - with Occur -> - let error_msg = lazy (sprintf - "Cannot restrict the context of the metavariable ?%d over the hypotheses %s since ?%d is already instantiated with %s and at least one of the hypotheses occurs in the substituted term" - n (names_of_context_indexes context to_be_restricted) n - (ppterm subst term)) - in - (* DEBUG - debug_print (lazy error_msg); - debug_print (lazy ("metasenv = \n" ^ (ppmetasenv metasenv subst))); - debug_print (lazy ("subst = \n" ^ (ppsubst subst))); - debug_print (lazy ("context = \n" ^ (ppcontext subst context))); *) - raise (MetaSubstFailure error_msg))) - subst ([], []) - in - match more_to_be_restricted @ more_to_be_restricted' with - | [] -> (metasenv, subst) - | l -> restrict subst l metasenv -;; - -(*CSC: maybe we should rename delift in abstract, as I did in my dissertation *)(*Andrea: maybe not*) - -let delift n subst context metasenv l t = -(* INVARIANT: we suppose that t is not another occurrence of Meta(n,_), - otherwise the occur check does not make sense *) - -(* - debug_print (lazy ("sto deliftando il termine " ^ (CicPp.ppterm t) ^ " rispetto - al contesto locale " ^ (CicPp.ppterm (Cic.Meta(0,l))))); -*) - - let module S = CicSubstitution in - let l = - let (_, canonical_context, _) = CicUtil.lookup_meta n metasenv in - List.map2 (fun ct lt -> - match (ct, lt) with - | None, _ -> None - | Some _, _ -> lt) - canonical_context l - in - let to_be_restricted = ref [] in - let rec deliftaux k = - let module C = Cic in - function - C.Rel m -> - if m <=k then - C.Rel m (*CSC: che succede se c'e' un Def? Dovrebbe averlo gia' *) - (*CSC: deliftato la regola per il LetIn *) - (*CSC: FALSO! La regola per il LetIn non lo fa *) - else - (try - match List.nth context (m-k-1) with - Some (_,C.Def (t,_)) -> - (*CSC: Hmmm. This bit of reduction is not in the spirit of *) - (*CSC: first order unification. Does it help or does it harm? *) - deliftaux k (S.lift m t) - | Some (_,C.Decl t) -> - C.Rel ((position (m-k) l) + k) - | None -> raise (MetaSubstFailure (lazy "RelToHiddenHypothesis")) - with - Failure _ -> - raise (MetaSubstFailure (lazy "Unbound variable found in deliftaux")) - ) - | C.Var (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> uri,deliftaux k t) exp_named_subst - in - C.Var (uri,exp_named_subst') - | C.Meta (i, l1) as t -> - (try - let (_,t,_) = CicUtil.lookup_subst i subst in - deliftaux k (CicSubstitution.subst_meta l1 t) - with CicUtil.Subst_not_found _ -> - (* see the top level invariant *) - if (i = n) then - raise (MetaSubstFailure (lazy (sprintf - "Cannot unify the metavariable ?%d with a term that has as subterm %s in which the same metavariable occurs (occur check)" - i (ppterm subst t)))) - else - begin - (* I do not consider the term associated to ?i in subst since *) - (* in this way I can restrict if something goes wrong. *) - let rec deliftl j = - function - [] -> [] - | None::tl -> None::(deliftl (j+1) tl) - | (Some t)::tl -> - let l1' = (deliftl (j+1) tl) in - try - Some (deliftaux k t)::l1' - with - NotInTheList - | MetaSubstFailure _ -> - to_be_restricted := - (i,j)::!to_be_restricted ; None::l1' - in - let l' = deliftl 1 l1 in - C.Meta(i,l') - end) - | C.Sort _ as t -> t - | C.Implicit _ as t -> t - | C.Cast (te,ty) -> C.Cast (deliftaux k te, deliftaux k ty) - | C.Prod (n,s,t) -> C.Prod (n, deliftaux k s, deliftaux (k+1) t) - | C.Lambda (n,s,t) -> C.Lambda (n, deliftaux k s, deliftaux (k+1) t) - | C.LetIn (n,s,t) -> C.LetIn (n, deliftaux k s, deliftaux (k+1) t) - | C.Appl l -> C.Appl (List.map (deliftaux k) l) - | C.Const (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> uri,deliftaux k t) exp_named_subst - in - C.Const (uri,exp_named_subst') - | C.MutInd (uri,typeno,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> uri,deliftaux k t) exp_named_subst - in - C.MutInd (uri,typeno,exp_named_subst') - | C.MutConstruct (uri,typeno,consno,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> uri,deliftaux k t) exp_named_subst - in - C.MutConstruct (uri,typeno,consno,exp_named_subst') - | C.MutCase (sp,i,outty,t,pl) -> - C.MutCase (sp, i, deliftaux k outty, deliftaux k t, - List.map (deliftaux k) pl) - | C.Fix (i, fl) -> - let len = List.length fl in - let liftedfl = - List.map - (fun (name, i, ty, bo) -> - (name, i, deliftaux k ty, deliftaux (k+len) bo)) - fl - in - C.Fix (i, liftedfl) - | C.CoFix (i, fl) -> - let len = List.length fl in - let liftedfl = - List.map - (fun (name, ty, bo) -> (name, deliftaux k ty, deliftaux (k+len) bo)) - fl - in - C.CoFix (i, liftedfl) - in - let res = - try - deliftaux 0 t - with - NotInTheList -> - (* This is the case where we fail even first order unification. *) - (* The reason is that our delift function is weaker than first *) - (* order (in the sense of alpha-conversion). See comment above *) - (* related to the delift function. *) -(* debug_print (lazy "First Order UnificationFailure during delift") ; -debug_print(lazy (sprintf - "Error trying to abstract %s over [%s]: the algorithm only tried to abstract over bound variables" - (ppterm subst t) - (String.concat "; " - (List.map - (function Some t -> ppterm subst t | None -> "_") l - )))); *) - raise (Uncertain (lazy (sprintf - "Error trying to abstract %s over [%s]: the algorithm only tried to abstract over bound variables" - (ppterm subst t) - (String.concat "; " - (List.map - (function Some t -> ppterm subst t | None -> "_") - l))))) - in - let (metasenv, subst) = restrict subst !to_be_restricted metasenv in - res, metasenv, subst -;; - -(* delifts a term t of n levels strating from k, that is changes (Rel m) - * to (Rel (m - n)) when m > (k + n). if k <= m < k + n delift fails - *) -let delift_rels_from subst metasenv k n = - let rec liftaux subst metasenv k = - let module C = Cic in - function - C.Rel m -> - if m < k then - C.Rel m, subst, metasenv - else if m < k + n then - raise DeliftingARelWouldCaptureAFreeVariable - else - C.Rel (m - n), subst, metasenv - | C.Var (uri,exp_named_subst) -> - let exp_named_subst',subst,metasenv = - List.fold_right - (fun (uri,t) (l,subst,metasenv) -> - let t',subst,metasenv = liftaux subst metasenv k t in - (uri,t')::l,subst,metasenv) exp_named_subst ([],subst,metasenv) - in - C.Var (uri,exp_named_subst'),subst,metasenv - | C.Meta (i,l) -> - (try - let (_, t,_) = lookup_subst i subst in - liftaux subst metasenv k (CicSubstitution.subst_meta l t) - with CicUtil.Subst_not_found _ -> - let l',to_be_restricted,subst,metasenv = - let rec aux con l subst metasenv = - match l with - [] -> [],[],subst,metasenv - | he::tl -> - let tl',to_be_restricted,subst,metasenv = - aux (con + 1) tl subst metasenv in - let he',more_to_be_restricted,subst,metasenv = - match he with - None -> None,[],subst,metasenv - | Some t -> - try - let t',subst,metasenv = liftaux subst metasenv k t in - Some t',[],subst,metasenv - with - DeliftingARelWouldCaptureAFreeVariable -> - None,[i,con],subst,metasenv - in - he'::tl',more_to_be_restricted@to_be_restricted,subst,metasenv - in - aux 1 l subst metasenv in - let metasenv,subst = restrict subst to_be_restricted metasenv in - C.Meta(i,l'),subst,metasenv) - | C.Sort _ as t -> t,subst,metasenv - | C.Implicit _ as t -> t,subst,metasenv - | C.Cast (te,ty) -> - let te',subst,metasenv = liftaux subst metasenv k te in - let ty',subst,metasenv = liftaux subst metasenv k ty in - C.Cast (te',ty'),subst,metasenv - | C.Prod (n,s,t) -> - let s',subst,metasenv = liftaux subst metasenv k s in - let t',subst,metasenv = liftaux subst metasenv (k+1) t in - C.Prod (n,s',t'),subst,metasenv - | C.Lambda (n,s,t) -> - let s',subst,metasenv = liftaux subst metasenv k s in - let t',subst,metasenv = liftaux subst metasenv (k+1) t in - C.Lambda (n,s',t'),subst,metasenv - | C.LetIn (n,s,t) -> - let s',subst,metasenv = liftaux subst metasenv k s in - let t',subst,metasenv = liftaux subst metasenv (k+1) t in - C.LetIn (n,s',t'),subst,metasenv - | C.Appl l -> - let l',subst,metasenv = - List.fold_right - (fun t (l,subst,metasenv) -> - let t',subst,metasenv = liftaux subst metasenv k t in - t'::l,subst,metasenv) l ([],subst,metasenv) in - C.Appl l',subst,metasenv - | C.Const (uri,exp_named_subst) -> - let exp_named_subst',subst,metasenv = - List.fold_right - (fun (uri,t) (l,subst,metasenv) -> - let t',subst,metasenv = liftaux subst metasenv k t in - (uri,t')::l,subst,metasenv) exp_named_subst ([],subst,metasenv) - in - C.Const (uri,exp_named_subst'),subst,metasenv - | C.MutInd (uri,tyno,exp_named_subst) -> - let exp_named_subst',subst,metasenv = - List.fold_right - (fun (uri,t) (l,subst,metasenv) -> - let t',subst,metasenv = liftaux subst metasenv k t in - (uri,t')::l,subst,metasenv) exp_named_subst ([],subst,metasenv) - in - C.MutInd (uri,tyno,exp_named_subst'),subst,metasenv - | C.MutConstruct (uri,tyno,consno,exp_named_subst) -> - let exp_named_subst',subst,metasenv = - List.fold_right - (fun (uri,t) (l,subst,metasenv) -> - let t',subst,metasenv = liftaux subst metasenv k t in - (uri,t')::l,subst,metasenv) exp_named_subst ([],subst,metasenv) - in - C.MutConstruct (uri,tyno,consno,exp_named_subst'),subst,metasenv - | C.MutCase (sp,i,outty,t,pl) -> - let outty',subst,metasenv = liftaux subst metasenv k outty in - let t',subst,metasenv = liftaux subst metasenv k t in - let pl',subst,metasenv = - List.fold_right - (fun t (l,subst,metasenv) -> - let t',subst,metasenv = liftaux subst metasenv k t in - t'::l,subst,metasenv) pl ([],subst,metasenv) - in - C.MutCase (sp,i,outty',t',pl'),subst,metasenv - | C.Fix (i, fl) -> - let len = List.length fl in - let liftedfl,subst,metasenv = - List.fold_right - (fun (name, i, ty, bo) (l,subst,metasenv) -> - let ty',subst,metasenv = liftaux subst metasenv k ty in - let bo',subst,metasenv = liftaux subst metasenv (k+len) bo in - (name,i,ty',bo')::l,subst,metasenv - ) fl ([],subst,metasenv) - in - C.Fix (i, liftedfl),subst,metasenv - | C.CoFix (i, fl) -> - let len = List.length fl in - let liftedfl,subst,metasenv = - List.fold_right - (fun (name, ty, bo) (l,subst,metasenv) -> - let ty',subst,metasenv = liftaux subst metasenv k ty in - let bo',subst,metasenv = liftaux subst metasenv (k+len) bo in - (name,ty',bo')::l,subst,metasenv - ) fl ([],subst,metasenv) - in - C.CoFix (i, liftedfl),subst,metasenv - in - liftaux subst metasenv k - -let delift_rels subst metasenv n t = - delift_rels_from subst metasenv 1 n t - - -(**** END OF DELIFT ****) - - -(** {2 Format-like pretty printers} *) - -let fpp_gen ppf s = - Format.pp_print_string ppf s; - Format.pp_print_newline ppf (); - Format.pp_print_flush ppf () - -let fppsubst ppf subst = fpp_gen ppf (ppsubst subst) -let fppterm ppf term = fpp_gen ppf (CicPp.ppterm term) -let fppmetasenv ppf metasenv = fpp_gen ppf (ppmetasenv [] metasenv) - diff --git a/helm/ocaml/cic_unification/cicMetaSubst.mli b/helm/ocaml/cic_unification/cicMetaSubst.mli deleted file mode 100644 index 96f87205f..000000000 --- a/helm/ocaml/cic_unification/cicMetaSubst.mli +++ /dev/null @@ -1,92 +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 MetaSubstFailure of string Lazy.t -exception Uncertain of string Lazy.t -exception AssertFailure of string Lazy.t -exception DeliftingARelWouldCaptureAFreeVariable;; - -(* The entry (i,t) in a substitution means that *) -(* (META i) have been instantiated with t. *) -(* type substitution = (int * (Cic.context * Cic.term)) list *) - - (** @raise SubstNotFound *) - -(* apply_subst subst t *) -(* applies the substitution [subst] to [t] *) -(* [subst] must be already unwinded *) - -val apply_subst : Cic.substitution -> Cic.term -> Cic.term -val apply_subst_context : Cic.substitution -> Cic.context -> Cic.context -val apply_subst_metasenv: Cic.substitution -> Cic.metasenv -> Cic.metasenv - -(*** delifting ***) - -val delift : - int -> Cic.substitution -> Cic.context -> Cic.metasenv -> - (Cic.term option) list -> Cic.term -> - Cic.term * Cic.metasenv * Cic.substitution -val restrict : - Cic.substitution -> (int * int) list -> Cic.metasenv -> - Cic.metasenv * Cic.substitution - -(** delifts the Rels in t of n - * @raise DeliftingARelWouldCaptureAFreeVariable - *) -val delift_rels : - Cic.substitution -> Cic.metasenv -> int -> Cic.term -> - Cic.term * Cic.substitution * Cic.metasenv - -(** {2 Pretty printers} *) - -val ppsubst_unfolded: Cic.substitution -> string -val ppsubst: Cic.substitution -> string -val ppterm: Cic.substitution -> Cic.term -> string -val ppcontext: ?sep: string -> Cic.substitution -> Cic.context -> string -val ppterm_in_name_context: - Cic.substitution -> Cic.term -> (Cic.name option) list -> string -val ppterm_in_context: - Cic.substitution -> Cic.term -> Cic.context -> string -val ppmetasenv: ?sep: string -> Cic.substitution -> Cic.metasenv -> string - -(** {2 Format-like pretty printers} - * As above with prototypes suitable for toplevel/ocamldebug printers. No - * subsitutions are applied here since such printers are required to be invoked - * with only one argument. - *) - -val fppsubst: Format.formatter -> Cic.substitution -> unit -val fppterm: Format.formatter -> Cic.term -> unit -val fppmetasenv: Format.formatter -> Cic.metasenv -> unit - -(* -(* DEBUG *) -val print_counters: unit -> unit -val reset_counters: unit -> unit -*) - -(* val clean_up_meta : - Cic.substitution -> Cic.metasenv -> Cic.term -> Cic.term -*) diff --git a/helm/ocaml/cic_unification/cicMkImplicit.ml b/helm/ocaml/cic_unification/cicMkImplicit.ml deleted file mode 100644 index bc60a188d..000000000 --- a/helm/ocaml/cic_unification/cicMkImplicit.ml +++ /dev/null @@ -1,120 +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://cs.unibo.it/helm/. - *) - -(* identity_relocation_list_for_metavariable i canonical_context *) -(* returns the identity relocation list, which is the list [1 ; ... ; n] *) -(* where n = List.length [canonical_context] *) -(*CSC: ma mi basta la lunghezza del contesto canonico!!!*) -let identity_relocation_list_for_metavariable ?(start = 1) canonical_context = - let rec aux = - function - (_,[]) -> [] - | (n,None::tl) -> None::(aux ((n+1),tl)) - | (n,_::tl) -> (Some (Cic.Rel n))::(aux ((n+1),tl)) - in - aux (start,canonical_context) - -(* Returns the first meta whose number is above the *) -(* number of the higher meta. *) -let new_meta metasenv subst = - let rec aux = - function - None, [] -> 1 - | Some n, [] -> n - | None, n::tl -> aux (Some n,tl) - | Some m, n::tl -> if n > m then aux (Some n,tl) else aux (Some m,tl) - in - let indexes = - (List.map (fun (i, _, _) -> i) metasenv) @ (List.map fst subst) - in - 1 + aux (None, indexes) - -(* let apply_subst_context = CicMetaSubst.apply_subst_context;; *) -(* questa o la precedente sembrano essere equivalenti come tempi *) -let apply_subst_context _ context = context ;; - -let mk_implicit metasenv subst context = - let newmeta = new_meta metasenv subst in - let newuniv = CicUniv.fresh () in - let irl = identity_relocation_list_for_metavariable context in - (* in the following mk_* functions we apply substitution to canonical - * context since we have the invariant that the metasenv has already been - * instantiated with subst *) - let context = apply_subst_context subst context in - ([ newmeta, [], Cic.Sort (Cic.Type newuniv) ; - (* TASSI: ?? *) - newmeta + 1, context, Cic.Meta (newmeta, []); - newmeta + 2, context, Cic.Meta (newmeta + 1,irl) ] @ metasenv, - newmeta + 2) - -let mk_implicit_type metasenv subst context = - let newmeta = new_meta metasenv subst in - let newuniv = CicUniv.fresh () in - let context = apply_subst_context subst context in - ([ newmeta, [], Cic.Sort (Cic.Type newuniv); - (* TASSI: ?? *) - newmeta + 1, context, Cic.Meta (newmeta, []) ] @metasenv, - newmeta + 1) - -let mk_implicit_sort metasenv subst = - let newmeta = new_meta metasenv subst in - let newuniv = CicUniv.fresh () in - ([ newmeta, [], Cic.Sort (Cic.Type newuniv)] @ metasenv, newmeta) - (* TASSI: ?? *) - -let n_fresh_metas metasenv subst context n = - if n = 0 then metasenv, [] - else - let irl = identity_relocation_list_for_metavariable context in - let context = apply_subst_context subst context in - let newmeta = new_meta metasenv subst in - let newuniv = CicUniv.fresh () in - let rec aux newmeta n = - if n = 0 then metasenv, [] - else - let metasenv', l = aux (newmeta + 3) (n-1) in - (* TASSI: ?? *) - (newmeta, context, Cic.Sort (Cic.Type newuniv)):: - (newmeta + 1, context, Cic.Meta (newmeta, irl)):: - (newmeta + 2, context, Cic.Meta (newmeta + 1,irl))::metasenv', - Cic.Meta(newmeta+2,irl)::l in - aux newmeta n - -let fresh_subst metasenv subst context uris = - let irl = identity_relocation_list_for_metavariable context in - let context = apply_subst_context subst context in - let newmeta = new_meta metasenv subst in - let newuniv = CicUniv.fresh () in - let rec aux newmeta = function - [] -> metasenv, [] - | uri::tl -> - let metasenv', l = aux (newmeta + 3) tl in - (* TASSI: ?? *) - (newmeta, context, Cic.Sort (Cic.Type newuniv)):: - (newmeta + 1, context, Cic.Meta (newmeta, irl)):: - (newmeta + 2, context, Cic.Meta (newmeta + 1,irl))::metasenv', - (uri,Cic.Meta(newmeta+2,irl))::l in - aux newmeta uris - diff --git a/helm/ocaml/cic_unification/cicMkImplicit.mli b/helm/ocaml/cic_unification/cicMkImplicit.mli deleted file mode 100644 index 476270144..000000000 --- a/helm/ocaml/cic_unification/cicMkImplicit.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/ - *) - - -(* identity_relocation_list_for_metavariable i canonical_context *) -(* returns the identity relocation list, which is the list *) -(* [Rel 1 ; ... ; Rel n] where n = List.length [canonical_context] *) -val identity_relocation_list_for_metavariable : - ?start: int -> 'a option list -> Cic.term option list - -(* Returns the first meta whose number is above the *) -(* number of the higher meta. *) -val new_meta : Cic.metasenv -> Cic.substitution -> int - -(** [mk_implicit metasenv context] - * add a fresh metavariable to the given metasenv, using given context - * @return the new metasenv and the index of the added conjecture *) -val mk_implicit: Cic.metasenv -> Cic.substitution -> Cic.context -> Cic.metasenv * int - -(** as above, but the fresh metavariable represents a type *) -val mk_implicit_type: Cic.metasenv -> Cic.substitution -> Cic.context -> Cic.metasenv * int - -(** as above, but the fresh metavariable represents a sort *) -val mk_implicit_sort: Cic.metasenv -> Cic.substitution -> Cic.metasenv * int - -(** [mk_implicit metasenv context] create n fresh metavariables *) -val n_fresh_metas: - Cic.metasenv -> Cic.substitution -> Cic.context -> int -> Cic.metasenv * Cic.term list - -(** [fresh_subst metasenv context uris] takes in input a list of uri and -creates a fresh explicit substitution *) -val fresh_subst: - Cic.metasenv -> - Cic.substitution -> - Cic.context -> - UriManager.uri list -> - Cic.metasenv * (Cic.term Cic.explicit_named_substitution) - diff --git a/helm/ocaml/cic_unification/cicRefine.ml b/helm/ocaml/cic_unification/cicRefine.ml deleted file mode 100644 index d3a297d43..000000000 --- a/helm/ocaml/cic_unification/cicRefine.ml +++ /dev/null @@ -1,1371 +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/. - *) - -open Printf - -exception RefineFailure of string Lazy.t;; -exception Uncertain of string Lazy.t;; -exception AssertFailure of string Lazy.t;; - -let debug_print = fun _ -> () - -let profiler = HExtlib.profile "CicRefine.fo_unif" - -let fo_unif_subst subst context metasenv t1 t2 ugraph = - try -let foo () = - CicUnification.fo_unif_subst subst context metasenv t1 t2 ugraph -in profiler.HExtlib.profile foo () - with - (CicUnification.UnificationFailure msg) -> raise (RefineFailure msg) - | (CicUnification.Uncertain msg) -> raise (Uncertain msg) -;; - -let enrich f = - function - RefineFailure msg -> raise (RefineFailure (f msg)) - | Uncertain msg -> raise (Uncertain (f msg)) - | _ -> assert false - -let rec split l n = - match (l,n) with - (l,0) -> ([], l) - | (he::tl, n) -> let (l1,l2) = split tl (n-1) in (he::l1,l2) - | (_,_) -> raise (AssertFailure (lazy "split: list too short")) -;; - -let exp_impl metasenv subst context term = - let rec aux metasenv context = function - | (Cic.Rel _) as t -> metasenv, t - | (Cic.Sort _) as t -> metasenv, t - | Cic.Const (uri, subst) -> - let metasenv', subst' = do_subst metasenv context subst in - metasenv', Cic.Const (uri, subst') - | Cic.Var (uri, subst) -> - let metasenv', subst' = do_subst metasenv context subst in - metasenv', Cic.Var (uri, subst') - | Cic.MutInd (uri, i, subst) -> - let metasenv', subst' = do_subst metasenv context subst in - metasenv', Cic.MutInd (uri, i, subst') - | Cic.MutConstruct (uri, i, j, subst) -> - let metasenv', subst' = do_subst metasenv context subst in - metasenv', Cic.MutConstruct (uri, i, j, subst') - | Cic.Meta (n,l) -> - let metasenv', l' = do_local_context metasenv context l in - metasenv', Cic.Meta (n, l') - | Cic.Implicit (Some `Type) -> - let (metasenv', idx) = CicMkImplicit.mk_implicit_type metasenv subst context in - let irl = CicMkImplicit.identity_relocation_list_for_metavariable context in - metasenv', Cic.Meta (idx, irl) - | Cic.Implicit (Some `Closed) -> - let (metasenv', idx) = CicMkImplicit.mk_implicit metasenv subst [] in - metasenv', Cic.Meta (idx, []) - | Cic.Implicit None -> - let (metasenv', idx) = CicMkImplicit.mk_implicit metasenv subst context in - let irl = CicMkImplicit.identity_relocation_list_for_metavariable context in - metasenv', Cic.Meta (idx, irl) - | Cic.Implicit _ -> assert false - | Cic.Cast (te, ty) -> - let metasenv', ty' = aux metasenv context ty in - let metasenv'', te' = aux metasenv' context te in - metasenv'', Cic.Cast (te', ty') - | Cic.Prod (name, s, t) -> - let metasenv', s' = aux metasenv context s in - metasenv', Cic.Prod (name, s', t) - | Cic.Lambda (name, s, t) -> - let metasenv', s' = aux metasenv context s in - metasenv', Cic.Lambda (name, s', t) - | Cic.LetIn (name, s, t) -> - let metasenv', s' = aux metasenv context s in - metasenv', Cic.LetIn (name, s', t) - | Cic.Appl l when List.length l > 1 -> - let metasenv', l' = - List.fold_right - (fun term (metasenv, terms) -> - let new_metasenv, term = aux metasenv context term in - new_metasenv, term :: terms) - l (metasenv, []) - in - metasenv', Cic.Appl l' - | Cic.Appl _ -> assert false - | Cic.MutCase (uri, i, outtype, term, patterns) -> - let metasenv', l' = - List.fold_right - (fun term (metasenv, terms) -> - let new_metasenv, term = aux metasenv context term in - new_metasenv, term :: terms) - (outtype :: term :: patterns) (metasenv, []) - in - let outtype', term', patterns' = - match l' with - | outtype' :: term' :: patterns' -> outtype', term', patterns' - | _ -> assert false - in - metasenv', Cic.MutCase (uri, i, outtype', term', patterns') - | Cic.Fix (i, funs) -> - let metasenv', types = - List.fold_right - (fun (name, _, typ, _) (metasenv, types) -> - let new_metasenv, new_type = aux metasenv context typ in - (new_metasenv, (name, new_type) :: types)) - funs (metasenv, []) - in - let rec combine = function - | ((name, index, _, body) :: funs_tl), - ((_, typ) :: typ_tl) -> - (name, index, typ, body) :: combine (funs_tl, typ_tl) - | [], [] -> [] - | _ -> assert false - in - let funs' = combine (funs, types) in - metasenv', Cic.Fix (i, funs') - | Cic.CoFix (i, funs) -> - let metasenv', types = - List.fold_right - (fun (name, typ, _) (metasenv, types) -> - let new_metasenv, new_type = aux metasenv context typ in - (new_metasenv, (name, new_type) :: types)) - funs (metasenv, []) - in - let rec combine = function - | ((name, _, body) :: funs_tl), - ((_, typ) :: typ_tl) -> - (name, typ, body) :: combine (funs_tl, typ_tl) - | [], [] -> [] - | _ -> assert false - in - let funs' = combine (funs, types) in - metasenv', Cic.CoFix (i, funs') - and do_subst metasenv context subst = - List.fold_right - (fun (uri, term) (metasenv, substs) -> - let metasenv', term' = aux metasenv context term in - (metasenv', (uri, term') :: substs)) - subst (metasenv, []) - and do_local_context metasenv context local_context = - List.fold_right - (fun term (metasenv, local_context) -> - let metasenv', term' = - match term with - | None -> metasenv, None - | Some term -> - let metasenv', term' = aux metasenv context term in - metasenv', Some term' - in - metasenv', term' :: local_context) - local_context (metasenv, []) - in - aux metasenv context term -;; - -let rec type_of_constant uri ugraph = - let module C = Cic in - let module R = CicReduction in - let module U = UriManager in - let _ = CicTypeChecker.typecheck uri in - let obj,u = - try - CicEnvironment.get_cooked_obj ugraph uri - with Not_found -> assert false - in - match obj with - C.Constant (_,_,ty,_,_) -> ty,u - | C.CurrentProof (_,_,_,ty,_,_) -> ty,u - | _ -> - raise - (RefineFailure (lazy ("Unknown constant definition " ^ U.string_of_uri uri))) - -and type_of_variable uri ugraph = - let module C = Cic in - let module R = CicReduction in - let module U = UriManager in - let _ = CicTypeChecker.typecheck uri in - let obj,u = - try - CicEnvironment.get_cooked_obj ugraph uri - with Not_found -> assert false - in - match obj with - C.Variable (_,_,ty,_,_) -> ty,u - | _ -> - raise - (RefineFailure - (lazy ("Unknown variable definition " ^ UriManager.string_of_uri uri))) - -and type_of_mutual_inductive_defs uri i ugraph = - let module C = Cic in - let module R = CicReduction in - let module U = UriManager in - let _ = CicTypeChecker.typecheck uri in - let obj,u = - try - CicEnvironment.get_cooked_obj ugraph uri - with Not_found -> assert false - in - match obj with - C.InductiveDefinition (dl,_,_,_) -> - let (_,_,arity,_) = List.nth dl i in - arity,u - | _ -> - raise - (RefineFailure - (lazy ("Unknown mutual inductive definition " ^ U.string_of_uri uri))) - -and type_of_mutual_inductive_constr uri i j ugraph = - let module C = Cic in - let module R = CicReduction in - let module U = UriManager in - let _ = CicTypeChecker.typecheck uri in - let obj,u = - try - CicEnvironment.get_cooked_obj ugraph uri - with Not_found -> assert false - in - match obj with - C.InductiveDefinition (dl,_,_,_) -> - let (_,_,_,cl) = List.nth dl i in - let (_,ty) = List.nth cl (j-1) in - ty,u - | _ -> - raise - (RefineFailure - (lazy - ("Unkown mutual inductive definition " ^ U.string_of_uri uri))) - - -(* type_of_aux' is just another name (with a different scope) for type_of_aux *) - -(* the check_branch function checks if a branch of a case is refinable. - It returns a pair (outype_instance,args), a subst and a metasenv. - outype_instance is the expected result of applying the case outtype - to args. - The problem is that outype is in general unknown, and we should - try to synthesize it from the above information, that is in general - a second order unification problem. *) - -and check_branch n context metasenv subst left_args_no actualtype term expectedtype ugraph = - let module C = Cic in - (* let module R = CicMetaSubst in *) - let module R = CicReduction in - match R.whd ~subst context expectedtype with - C.MutInd (_,_,_) -> - (n,context,actualtype, [term]), subst, metasenv, ugraph - | C.Appl (C.MutInd (_,_,_)::tl) -> - let (_,arguments) = split tl left_args_no in - (n,context,actualtype, arguments@[term]), subst, metasenv, ugraph - | C.Prod (name,so,de) -> - (* we expect that the actual type of the branch has the due - number of Prod *) - (match R.whd ~subst context actualtype with - C.Prod (name',so',de') -> - let subst, metasenv, ugraph1 = - fo_unif_subst subst context metasenv so so' ugraph in - let term' = - (match CicSubstitution.lift 1 term with - C.Appl l -> C.Appl (l@[C.Rel 1]) - | t -> C.Appl [t ; C.Rel 1]) in - (* we should also check that the name variable is anonymous in - the actual type de' ?? *) - check_branch (n+1) - ((Some (name,(C.Decl so)))::context) - metasenv subst left_args_no de' term' de ugraph1 - | _ -> raise (AssertFailure (lazy "Wrong number of arguments"))) - | _ -> raise (AssertFailure (lazy "Prod or MutInd expected")) - -and type_of_aux' metasenv context t ugraph = - let metasenv, t = exp_impl metasenv [] context t in - let rec type_of_aux subst metasenv context t ugraph = - let module C = Cic in - let module S = CicSubstitution in - let module U = UriManager in - (* this stops on binders, so we have to call it every time *) - match t with - (* function *) - C.Rel n -> - (try - match List.nth context (n - 1) with - Some (_,C.Decl ty) -> - t,S.lift n ty,subst,metasenv, ugraph - | Some (_,C.Def (_,Some ty)) -> - t,S.lift n ty,subst,metasenv, ugraph - | Some (_,C.Def (bo,None)) -> - let ty,ugraph = - (* if it is in the context it must be already well-typed*) - CicTypeChecker.type_of_aux' ~subst metasenv context - (S.lift n bo) ugraph - in - t,ty,subst,metasenv,ugraph - | None -> raise (RefineFailure (lazy "Rel to hidden hypothesis")) - with - _ -> raise (RefineFailure (lazy "Not a close term"))) - | C.Var (uri,exp_named_subst) -> - let exp_named_subst',subst',metasenv',ugraph1 = - check_exp_named_subst - subst metasenv context exp_named_subst ugraph - in - let ty_uri,ugraph1 = type_of_variable uri ugraph in - let ty = - CicSubstitution.subst_vars exp_named_subst' ty_uri - in - C.Var (uri,exp_named_subst'),ty,subst',metasenv',ugraph1 - | C.Meta (n,l) -> - (try - let (canonical_context, term,ty) = - CicUtil.lookup_subst n subst - in - let l',subst',metasenv',ugraph1 = - check_metasenv_consistency n subst metasenv context - canonical_context l ugraph - in - (* trust or check ??? *) - C.Meta (n,l'),CicSubstitution.subst_meta l' ty, - subst', metasenv', ugraph1 - (* type_of_aux subst metasenv - context (CicSubstitution.subst_meta l term) *) - with CicUtil.Subst_not_found _ -> - let (_,canonical_context,ty) = CicUtil.lookup_meta n metasenv in - let l',subst',metasenv', ugraph1 = - check_metasenv_consistency n subst metasenv context - canonical_context l ugraph - in - C.Meta (n,l'),CicSubstitution.subst_meta l' ty, - subst', metasenv',ugraph1) - | C.Sort (C.Type tno) -> - let tno' = CicUniv.fresh() in - let ugraph1 = CicUniv.add_gt tno' tno ugraph in - t,(C.Sort (C.Type tno')),subst,metasenv,ugraph1 - | C.Sort _ -> - t,C.Sort (C.Type (CicUniv.fresh())),subst,metasenv,ugraph - | C.Implicit _ -> raise (AssertFailure (lazy "21")) - | C.Cast (te,ty) -> - let ty',_,subst',metasenv',ugraph1 = - type_of_aux subst metasenv context ty ugraph - in - let te',inferredty,subst'',metasenv'',ugraph2 = - type_of_aux subst' metasenv' context te ugraph1 - in - let subst''',metasenv''',ugraph3 = - fo_unif_subst subst'' context metasenv'' - inferredty ty' ugraph2 - in - C.Cast (te',ty'),ty',subst''',metasenv''',ugraph3 - | C.Prod (name,s,t) -> - let carr t subst context = CicMetaSubst.apply_subst subst t in - let coerce_to_sort - in_source tgt_sort t type_to_coerce subst ctx metasenv uragph - = - let coercion_src = carr type_to_coerce subst ctx in - match coercion_src with - | Cic.Sort _ -> - t,type_to_coerce,subst,metasenv,ugraph -(* - | Cic.Meta _ as meta when not in_source -> - let coercion_tgt = carr (Cic.Sort tgt_sort) subst ctx in - let subst, metasenv, ugraph = - fo_unif_subst - subst ctx metasenv meta coercion_tgt ugraph - in - t, Cic.Sort tgt_sort, subst, metasenv, ugraph -*) - | Cic.Meta _ as meta -> - t, meta, subst, metasenv, ugraph - | Cic.Cast _ as cast -> - t, cast, subst, metasenv, ugraph - | term -> - let coercion_tgt = carr (Cic.Sort tgt_sort) subst ctx in - let search = CoercGraph.look_for_coercion in - let boh = search coercion_src coercion_tgt in - (match boh with - | CoercGraph.NoCoercion - | CoercGraph.NotHandled _ -> - raise - (RefineFailure (lazy (CicMetaSubst.ppterm subst coercion_src ^ " is not a sort and cannoted be coerced to a sort"))) - | CoercGraph.NotMetaClosed -> - raise - (Uncertain (lazy (CicMetaSubst.ppterm subst coercion_src ^ " is not a sort and cannoted be coerced to a sort"))) - | CoercGraph.SomeCoercion c -> - Cic.Appl [c;t],Cic.Sort tgt_sort,subst, metasenv, ugraph) - in - let s',sort1,subst',metasenv',ugraph1 = - type_of_aux subst metasenv context s ugraph - in - let s',sort1,subst', metasenv',ugraph1 = - coerce_to_sort true (Cic.Type(CicUniv.fresh())) - s' sort1 subst' context metasenv' ugraph1 - in - let context_for_t = ((Some (name,(C.Decl s')))::context) in - let metasenv',t = exp_impl metasenv' subst' context_for_t t in - let t',sort2,subst'',metasenv'',ugraph2 = - type_of_aux subst' metasenv' - context_for_t t ugraph1 - in - let t',sort2,subst'',metasenv'',ugraph2 = - coerce_to_sort false (Cic.Type(CicUniv.fresh())) - t' sort2 subst'' context_for_t metasenv'' ugraph2 - in - let sop,subst''',metasenv''',ugraph3 = - sort_of_prod subst'' metasenv'' - context (name,s') (sort1,sort2) ugraph2 - in - C.Prod (name,s',t'),sop,subst''',metasenv''',ugraph3 - | C.Lambda (n,s,t) -> - - let s',sort1,subst',metasenv',ugraph1 = - type_of_aux subst metasenv context s ugraph in - let s',sort1 = - match CicReduction.whd ~subst:subst' context sort1 with - C.Meta _ - | C.Sort _ -> s',sort1 - | coercion_src -> - let coercion_tgt = Cic.Sort (Cic.Type (CicUniv.fresh ())) in - let search = CoercGraph.look_for_coercion in - let boh = search coercion_src coercion_tgt in - match boh with - | CoercGraph.SomeCoercion c -> - Cic.Appl [c;s'], coercion_tgt - | CoercGraph.NoCoercion - | CoercGraph.NotHandled _ - | CoercGraph.NotMetaClosed -> - raise (RefineFailure (lazy (sprintf - "Not well-typed lambda-abstraction: the source %s should be a type; instead it is a term of type %s" (CicPp.ppterm s) (CicPp.ppterm sort1)))) - in - let context_for_t = ((Some (n,(C.Decl s')))::context) in - let metasenv',t = exp_impl metasenv' subst' context_for_t t in - let t',type2,subst'',metasenv'',ugraph2 = - type_of_aux subst' metasenv' context_for_t t ugraph1 - in - C.Lambda (n,s',t'),C.Prod (n,s',type2), - subst'',metasenv'',ugraph2 - | C.LetIn (n,s,t) -> - (* only to check if s is well-typed *) - let s',ty,subst',metasenv',ugraph1 = - type_of_aux subst metasenv context s ugraph - in - let context_for_t = ((Some (n,(C.Def (s',Some ty))))::context) in - let metasenv',t = exp_impl metasenv' subst' context_for_t t in - - let t',inferredty,subst'',metasenv'',ugraph2 = - type_of_aux subst' metasenv' - context_for_t t ugraph1 - in - (* One-step LetIn reduction. - * Even faster than the previous solution. - * Moreover the inferred type is closer to the expected one. - *) - C.LetIn (n,s',t'),CicSubstitution.subst s' inferredty, - subst'',metasenv'',ugraph2 - | C.Appl (he::((_::_) as tl)) -> - let he',hetype,subst',metasenv',ugraph1 = - type_of_aux subst metasenv context he ugraph - in - let tlbody_and_type,subst'',metasenv'',ugraph2 = - List.fold_right - (fun x (res,subst,metasenv,ugraph) -> - let x',ty,subst',metasenv',ugraph1 = - type_of_aux subst metasenv context x ugraph - in - (x', ty)::res,subst',metasenv',ugraph1 - ) tl ([],subst',metasenv',ugraph1) - in - let tl',applty,subst''',metasenv''',ugraph3 = - try - eat_prods true subst'' metasenv'' context - hetype tlbody_and_type ugraph2 - with - exn -> - enrich - (fun msg -> - lazy ("The application " ^ - CicMetaSubst.ppterm_in_context subst'' t context ^ - " is not well typed:\n" ^ Lazy.force msg)) exn - in - C.Appl (he'::tl'), applty,subst''',metasenv''',ugraph3 - | C.Appl _ -> raise (RefineFailure (lazy "Appl: no arguments")) - | C.Const (uri,exp_named_subst) -> - let exp_named_subst',subst',metasenv',ugraph1 = - check_exp_named_subst subst metasenv context - exp_named_subst ugraph in - let ty_uri,ugraph2 = type_of_constant uri ugraph1 in - let cty = - CicSubstitution.subst_vars exp_named_subst' ty_uri - in - C.Const (uri,exp_named_subst'),cty,subst',metasenv',ugraph2 - | C.MutInd (uri,i,exp_named_subst) -> - let exp_named_subst',subst',metasenv',ugraph1 = - check_exp_named_subst subst metasenv context - exp_named_subst ugraph - in - let ty_uri,ugraph2 = type_of_mutual_inductive_defs uri i ugraph1 in - let cty = - CicSubstitution.subst_vars exp_named_subst' ty_uri in - C.MutInd (uri,i,exp_named_subst'),cty,subst',metasenv',ugraph2 - | C.MutConstruct (uri,i,j,exp_named_subst) -> - let exp_named_subst',subst',metasenv',ugraph1 = - check_exp_named_subst subst metasenv context - exp_named_subst ugraph - in - let ty_uri,ugraph2 = - type_of_mutual_inductive_constr uri i j ugraph1 - in - let cty = - CicSubstitution.subst_vars exp_named_subst' ty_uri - in - C.MutConstruct (uri,i,j,exp_named_subst'),cty,subst', - metasenv',ugraph2 - | C.MutCase (uri, i, outtype, term, pl) -> - (* first, get the inductive type (and noparams) - * in the environment *) - let (_,b,arity,constructors), expl_params, no_left_params,ugraph = - let _ = CicTypeChecker.typecheck uri in - let obj,u = CicEnvironment.get_cooked_obj ugraph uri in - match obj with - C.InductiveDefinition (l,expl_params,parsno,_) -> - List.nth l i , expl_params, parsno, u - | _ -> - raise - (RefineFailure - (lazy ("Unkown mutual inductive definition " ^ - U.string_of_uri uri))) - in - let rec count_prod t = - match CicReduction.whd ~subst context t with - C.Prod (_, _, t) -> 1 + (count_prod t) - | _ -> 0 - in - let no_args = count_prod arity in - (* now, create a "generic" MutInd *) - let metasenv,left_args = - CicMkImplicit.n_fresh_metas metasenv subst context no_left_params - in - let metasenv,right_args = - let no_right_params = no_args - no_left_params in - if no_right_params < 0 then assert false - else CicMkImplicit.n_fresh_metas - metasenv subst context no_right_params - in - let metasenv,exp_named_subst = - CicMkImplicit.fresh_subst metasenv subst context expl_params in - let expected_type = - if no_args = 0 then - C.MutInd (uri,i,exp_named_subst) - else - C.Appl - (C.MutInd (uri,i,exp_named_subst)::(left_args @ right_args)) - in - (* check consistency with the actual type of term *) - let term',actual_type,subst,metasenv,ugraph1 = - type_of_aux subst metasenv context term ugraph in - let expected_type',_, subst, metasenv,ugraph2 = - type_of_aux subst metasenv context expected_type ugraph1 - in - let actual_type = CicReduction.whd ~subst context actual_type in - let subst,metasenv,ugraph3 = - fo_unif_subst subst context metasenv - expected_type' actual_type ugraph2 - in - let rec instantiate_prod t = - function - [] -> t - | he::tl -> - match CicReduction.whd ~subst context t with - C.Prod (_,_,t') -> - instantiate_prod (CicSubstitution.subst he t') tl - | _ -> assert false - in - let arity_instantiated_with_left_args = - instantiate_prod arity left_args in - (* TODO: check if the sort elimination - * is allowed: [(I q1 ... qr)|B] *) - let (pl',_,outtypeinstances,subst,metasenv,ugraph4) = - List.fold_left - (fun (pl,j,outtypeinstances,subst,metasenv,ugraph) p -> - let constructor = - if left_args = [] then - (C.MutConstruct (uri,i,j,exp_named_subst)) - else - (C.Appl - (C.MutConstruct (uri,i,j,exp_named_subst)::left_args)) - in - let p',actual_type,subst,metasenv,ugraph1 = - type_of_aux subst metasenv context p ugraph - in - let constructor',expected_type, subst, metasenv,ugraph2 = - type_of_aux subst metasenv context constructor ugraph1 - in - let outtypeinstance,subst,metasenv,ugraph3 = - check_branch 0 context metasenv subst no_left_params - actual_type constructor' expected_type ugraph2 - in - (pl @ [p'],j+1, - outtypeinstance::outtypeinstances,subst,metasenv,ugraph3)) - ([],1,[],subst,metasenv,ugraph3) pl - in - - (* we are left to check that the outype matches his instances. - The easy case is when the outype is specified, that amount - to a trivial check. Otherwise, we should guess a type from - its instances - *) - - (match outtype with - | C.Meta (n,l) -> - (let candidate,ugraph5,metasenv,subst = - let exp_name_subst, metasenv = - let o,_ = - CicEnvironment.get_cooked_obj CicUniv.empty_ugraph uri - in - let uris = CicUtil.params_of_obj o in - List.fold_right ( - fun uri (acc,metasenv) -> - let metasenv',new_meta = - CicMkImplicit.mk_implicit metasenv subst context - in - let irl = - CicMkImplicit.identity_relocation_list_for_metavariable - context - in - (uri, Cic.Meta(new_meta,irl))::acc, metasenv' - ) uris ([],metasenv) - in - let ty = - match left_args,right_args with - [],[] -> Cic.MutInd(uri, i, exp_name_subst) - | _,_ -> - let rec mk_right_args = - function - 0 -> [] - | n -> (Cic.Rel n)::(mk_right_args (n - 1)) - in - let right_args_no = List.length right_args in - let lifted_left_args = - List.map (CicSubstitution.lift right_args_no) left_args - in - Cic.Appl (Cic.MutInd(uri,i,exp_name_subst):: - (lifted_left_args @ mk_right_args right_args_no)) - in - let fresh_name = - FreshNamesGenerator.mk_fresh_name ~subst metasenv - context Cic.Anonymous ~typ:ty - in - match outtypeinstances with - | [] -> - let extended_context = - let rec add_right_args = - function - Cic.Prod (name,ty,t) -> - Some (name,Cic.Decl ty)::(add_right_args t) - | _ -> [] - in - (Some (fresh_name,Cic.Decl ty)):: - (List.rev - (add_right_args arity_instantiated_with_left_args))@ - context - in - let metasenv,new_meta = - CicMkImplicit.mk_implicit metasenv subst extended_context - in - let irl = - CicMkImplicit.identity_relocation_list_for_metavariable - extended_context - in - let rec add_lambdas b = - function - Cic.Prod (name,ty,t) -> - Cic.Lambda (name,ty,(add_lambdas b t)) - | _ -> Cic.Lambda (fresh_name, ty, b) - in - let candidate = - add_lambdas (Cic.Meta (new_meta,irl)) - arity_instantiated_with_left_args - in - (Some candidate),ugraph4,metasenv,subst - | (constructor_args_no,_,instance,_)::tl -> - try - let instance',subst,metasenv = - CicMetaSubst.delift_rels subst metasenv - constructor_args_no instance - in - let candidate,ugraph,metasenv,subst = - List.fold_left ( - fun (candidate_oty,ugraph,metasenv,subst) - (constructor_args_no,_,instance,_) -> - match candidate_oty with - | None -> None,ugraph,metasenv,subst - | Some ty -> - try - let instance',subst,metasenv = - CicMetaSubst.delift_rels subst metasenv - constructor_args_no instance - in - let subst,metasenv,ugraph = - fo_unif_subst subst context metasenv - instance' ty ugraph - in - candidate_oty,ugraph,metasenv,subst - with - CicMetaSubst.DeliftingARelWouldCaptureAFreeVariable - | CicUnification.UnificationFailure _ - | CicUnification.Uncertain _ -> - None,ugraph,metasenv,subst - ) (Some instance',ugraph4,metasenv,subst) tl - in - match candidate with - | None -> None, ugraph,metasenv,subst - | Some t -> - let rec add_lambdas n b = - function - Cic.Prod (name,ty,t) -> - Cic.Lambda (name,ty,(add_lambdas (n + 1) b t)) - | _ -> - Cic.Lambda (fresh_name, ty, - CicSubstitution.lift (n + 1) t) - in - Some - (add_lambdas 0 t arity_instantiated_with_left_args), - ugraph,metasenv,subst - with CicMetaSubst.DeliftingARelWouldCaptureAFreeVariable -> - None,ugraph4,metasenv,subst - in - match candidate with - | None -> raise (Uncertain (lazy "can't solve an higher order unification problem")) - | Some candidate -> - let subst,metasenv,ugraph = - fo_unif_subst subst context metasenv - candidate outtype ugraph5 - in - C.MutCase (uri, i, outtype, term', pl'), - CicReduction.head_beta_reduce - (CicMetaSubst.apply_subst subst - (Cic.Appl (outtype::right_args@[term']))), - subst,metasenv,ugraph) - | _ -> (* easy case *) - let outtype,outtypety, subst, metasenv,ugraph4 = - type_of_aux subst metasenv context outtype ugraph4 - in - let tlbody_and_type,subst,metasenv,ugraph4 = - List.fold_right - (fun x (res,subst,metasenv,ugraph) -> - let x',ty,subst',metasenv',ugraph1 = - type_of_aux subst metasenv context x ugraph - in - (x', ty)::res,subst',metasenv',ugraph1 - ) (right_args @ [term']) ([],subst,metasenv,ugraph4) - in - let _,_,subst,metasenv,ugraph4 = - eat_prods false subst metasenv context - outtypety tlbody_and_type ugraph4 - in - let _,_, subst, metasenv,ugraph5 = - type_of_aux subst metasenv context - (C.Appl ((outtype :: right_args) @ [term'])) ugraph4 - in - let (subst,metasenv,ugraph6) = - List.fold_left - (fun (subst,metasenv,ugraph) - (constructor_args_no,context,instance,args) -> - let instance' = - let appl = - let outtype' = - CicSubstitution.lift constructor_args_no outtype - in - C.Appl (outtype'::args) - in - CicReduction.whd ~subst context appl - in - fo_unif_subst subst context metasenv - instance instance' ugraph) - (subst,metasenv,ugraph5) outtypeinstances - in - C.MutCase (uri, i, outtype, term', pl'), - CicReduction.head_beta_reduce - (CicMetaSubst.apply_subst subst - (C.Appl(outtype::right_args@[term]))), - subst,metasenv,ugraph6) - | C.Fix (i,fl) -> - let fl_ty',subst,metasenv,types,ugraph1 = - List.fold_left - (fun (fl,subst,metasenv,types,ugraph) (n,_,ty,_) -> - let ty',_,subst',metasenv',ugraph1 = - type_of_aux subst metasenv context ty ugraph - in - fl @ [ty'],subst',metasenv', - Some (C.Name n,(C.Decl ty')) :: types, ugraph - ) ([],subst,metasenv,[],ugraph) fl - in - let len = List.length types in - let context' = types@context in - let fl_bo',subst,metasenv,ugraph2 = - List.fold_left - (fun (fl,subst,metasenv,ugraph) ((name,x,_,bo),ty) -> - let metasenv, bo = exp_impl metasenv subst context' bo in - let bo',ty_of_bo,subst,metasenv,ugraph1 = - type_of_aux subst metasenv context' bo ugraph - in - let subst',metasenv',ugraph' = - fo_unif_subst subst context' metasenv - ty_of_bo (CicSubstitution.lift len ty) ugraph1 - in - fl @ [bo'] , subst',metasenv',ugraph' - ) ([],subst,metasenv,ugraph1) (List.combine fl fl_ty') - in - let ty = List.nth fl_ty' i in - (* now we have the new ty in fl_ty', the new bo in fl_bo', - * and we want the new fl with bo' and ty' injected in the right - * place. - *) - let rec map3 f l1 l2 l3 = - match l1,l2,l3 with - | [],[],[] -> [] - | h1::tl1,h2::tl2,h3::tl3 -> (f h1 h2 h3) :: (map3 f tl1 tl2 tl3) - | _ -> assert false - in - let fl'' = map3 (fun ty' bo' (name,x,ty,bo) -> (name,x,ty',bo') ) - fl_ty' fl_bo' fl - in - C.Fix (i,fl''),ty,subst,metasenv,ugraph2 - | C.CoFix (i,fl) -> - let fl_ty',subst,metasenv,types,ugraph1 = - List.fold_left - (fun (fl,subst,metasenv,types,ugraph) (n,ty,_) -> - let ty',_,subst',metasenv',ugraph1 = - type_of_aux subst metasenv context ty ugraph - in - fl @ [ty'],subst',metasenv', - Some (C.Name n,(C.Decl ty')) :: types, ugraph1 - ) ([],subst,metasenv,[],ugraph) fl - in - let len = List.length types in - let context' = types@context in - let fl_bo',subst,metasenv,ugraph2 = - List.fold_left - (fun (fl,subst,metasenv,ugraph) ((name,_,bo),ty) -> - let metasenv, bo = exp_impl metasenv subst context' bo in - let bo',ty_of_bo,subst,metasenv,ugraph1 = - type_of_aux subst metasenv context' bo ugraph - in - let subst',metasenv',ugraph' = - fo_unif_subst subst context' metasenv - ty_of_bo (CicSubstitution.lift len ty) ugraph1 - in - fl @ [bo'],subst',metasenv',ugraph' - ) ([],subst,metasenv,ugraph1) (List.combine fl fl_ty') - in - let ty = List.nth fl_ty' i in - (* now we have the new ty in fl_ty', the new bo in fl_bo', - * and we want the new fl with bo' and ty' injected in the right - * place. - *) - let rec map3 f l1 l2 l3 = - match l1,l2,l3 with - | [],[],[] -> [] - | h1::tl1,h2::tl2,h3::tl3 -> (f h1 h2 h3) :: (map3 f tl1 tl2 tl3) - | _ -> assert false - in - let fl'' = map3 (fun ty' bo' (name,ty,bo) -> (name,ty',bo') ) - fl_ty' fl_bo' fl - in - C.CoFix (i,fl''),ty,subst,metasenv,ugraph2 - - (* check_metasenv_consistency checks that the "canonical" context of a - metavariable is consitent - up to relocation via the relocation list l - - with the actual context *) - and check_metasenv_consistency - metano subst metasenv context canonical_context l ugraph - = - let module C = Cic in - let module R = CicReduction in - let module S = CicSubstitution in - let lifted_canonical_context = - let rec aux i = - function - [] -> [] - | (Some (n,C.Decl t))::tl -> - (Some (n,C.Decl (S.subst_meta l (S.lift i t))))::(aux (i+1) tl) - | (Some (n,C.Def (t,None)))::tl -> - (Some (n,C.Def ((S.subst_meta l (S.lift i t)),None)))::(aux (i+1) tl) - | None::tl -> None::(aux (i+1) tl) - | (Some (n,C.Def (t,Some ty)))::tl -> - (Some (n, - C.Def ((S.subst_meta l (S.lift i t)), - Some (S.subst_meta l (S.lift i ty))))) :: (aux (i+1) tl) - in - aux 1 canonical_context - in - try - List.fold_left2 - (fun (l,subst,metasenv,ugraph) t ct -> - match (t,ct) with - _,None -> - l @ [None],subst,metasenv,ugraph - | Some t,Some (_,C.Def (ct,_)) -> - let subst',metasenv',ugraph' = - (try - fo_unif_subst subst context metasenv t ct ugraph - with e -> raise (RefineFailure (lazy (sprintf "The local context is not consistent with the canonical context, since %s cannot be unified with %s. Reason: %s" (CicMetaSubst.ppterm subst t) (CicMetaSubst.ppterm subst ct) (match e with AssertFailure msg -> Lazy.force msg | _ -> (Printexc.to_string e)))))) - in - l @ [Some t],subst',metasenv',ugraph' - | Some t,Some (_,C.Decl ct) -> - let t',inferredty,subst',metasenv',ugraph1 = - type_of_aux subst metasenv context t ugraph - in - let subst'',metasenv'',ugraph2 = - (try - fo_unif_subst - subst' context metasenv' inferredty ct ugraph1 - with e -> raise (RefineFailure (lazy (sprintf "The local context is not consistent with the canonical context, since the type %s of %s cannot be unified with the expected type %s. Reason: %s" (CicMetaSubst.ppterm subst' inferredty) (CicMetaSubst.ppterm subst' t) (CicMetaSubst.ppterm subst' ct) (match e with AssertFailure msg -> Lazy.force msg | RefineFailure msg -> Lazy.force msg | _ -> (Printexc.to_string e)))))) - in - l @ [Some t'], subst'',metasenv'',ugraph2 - | None, Some _ -> - raise (RefineFailure (lazy (sprintf "Not well typed metavariable instance %s: the local context does not instantiate an hypothesis even if the hypothesis is not restricted in the canonical context %s" (CicMetaSubst.ppterm subst (Cic.Meta (metano, l))) (CicMetaSubst.ppcontext subst canonical_context))))) ([],subst,metasenv,ugraph) l lifted_canonical_context - with - Invalid_argument _ -> - raise - (RefineFailure - (lazy (sprintf - "Not well typed metavariable instance %s: the length of the local context does not match the length of the canonical context %s" - (CicMetaSubst.ppterm subst (Cic.Meta (metano, l))) - (CicMetaSubst.ppcontext subst canonical_context)))) - - and check_exp_named_subst metasubst metasenv context tl ugraph = - let rec check_exp_named_subst_aux metasubst metasenv substs tl ugraph = - match tl with - [] -> [],metasubst,metasenv,ugraph - | ((uri,t) as subst)::tl -> - let ty_uri,ugraph1 = type_of_variable uri ugraph in - let typeofvar = - CicSubstitution.subst_vars substs ty_uri in - (* CSC: why was this code here? it is wrong - (match CicEnvironment.get_cooked_obj ~trust:false uri with - Cic.Variable (_,Some bo,_,_) -> - raise - (RefineFailure (lazy - "A variable with a body can not be explicit substituted")) - | Cic.Variable (_,None,_,_) -> () - | _ -> - raise - (RefineFailure (lazy - ("Unkown variable definition " ^ UriManager.string_of_uri uri))) - ) ; - *) - let t',typeoft,metasubst',metasenv',ugraph2 = - type_of_aux metasubst metasenv context t ugraph1 - in - let metasubst'',metasenv'',ugraph3 = - try - fo_unif_subst - metasubst' context metasenv' typeoft typeofvar ugraph2 - with _ -> - raise (RefineFailure (lazy - ("Wrong Explicit Named Substitution: " ^ - CicMetaSubst.ppterm metasubst' typeoft ^ - " not unifiable with " ^ - CicMetaSubst.ppterm metasubst' typeofvar))) - in - (* FIXME: no mere tail recursive! *) - let exp_name_subst, metasubst''', metasenv''', ugraph4 = - check_exp_named_subst_aux - metasubst'' metasenv'' (substs@[subst]) tl ugraph3 - in - ((uri,t')::exp_name_subst), metasubst''', metasenv''', ugraph4 - in - check_exp_named_subst_aux metasubst metasenv [] tl ugraph - - - and sort_of_prod subst metasenv context (name,s) (t1, t2) ugraph = - let module C = Cic in - let context_for_t2 = (Some (name,C.Decl s))::context in - let t1'' = CicReduction.whd ~subst context t1 in - let t2'' = CicReduction.whd ~subst context_for_t2 t2 in - match (t1'', t2'') with - (C.Sort s1, C.Sort s2) - when (s2 = C.Prop or s2 = C.Set or s2 = C.CProp) -> - (* different than Coq manual!!! *) - C.Sort s2,subst,metasenv,ugraph - | (C.Sort (C.Type t1), C.Sort (C.Type t2)) -> - let t' = CicUniv.fresh() in - let ugraph1 = CicUniv.add_ge t' t1 ugraph in - let ugraph2 = CicUniv.add_ge t' t2 ugraph1 in - C.Sort (C.Type t'),subst,metasenv,ugraph2 - | (C.Sort _,C.Sort (C.Type t1)) -> - C.Sort (C.Type t1),subst,metasenv,ugraph - | (C.Meta _, C.Sort _) -> t2'',subst,metasenv,ugraph - | (C.Sort _,C.Meta _) | (C.Meta _,C.Meta _) -> - (* TODO how can we force the meta to become a sort? If we don't we - * brake the invariant that refine produce only well typed terms *) - (* TODO if we check the non meta term and if it is a sort then we - * are likely to know the exact value of the result e.g. if the rhs - * is a Sort (Prop | Set | CProp) then the result is the rhs *) - let (metasenv,idx) = - CicMkImplicit.mk_implicit_sort metasenv subst in - let (subst, metasenv,ugraph1) = - fo_unif_subst subst context_for_t2 metasenv - (C.Meta (idx,[])) t2'' ugraph - in - t2'',subst,metasenv,ugraph1 - | _,_ -> - raise - (RefineFailure - (lazy - (sprintf - ("Two sorts were expected, found %s " ^^ - "(that reduces to %s) and %s (that reduces to %s)") - (CicPp.ppterm t1) (CicPp.ppterm t1'') (CicPp.ppterm t2) - (CicPp.ppterm t2'')))) - - and eat_prods - allow_coercions subst metasenv context hetype tlbody_and_type ugraph - = - let rec mk_prod metasenv context = - function - [] -> - let (metasenv, idx) = - CicMkImplicit.mk_implicit_type metasenv subst context - in - let irl = - CicMkImplicit.identity_relocation_list_for_metavariable context - in - metasenv,Cic.Meta (idx, irl) - | (_,argty)::tl -> - let (metasenv, idx) = - CicMkImplicit.mk_implicit_type metasenv subst context - in - let irl = - CicMkImplicit.identity_relocation_list_for_metavariable context - in - let meta = Cic.Meta (idx,irl) in - let name = - (* The name must be fresh for context. *) - (* Nevertheless, argty is well-typed only in context. *) - (* Thus I generate a name (name_hint) in context and *) - (* then I generate a name --- using the hint name_hint *) - (* --- that is fresh in (context'@context). *) - let name_hint = - (* Cic.Name "pippo" *) - FreshNamesGenerator.mk_fresh_name ~subst metasenv - (* (CicMetaSubst.apply_subst_metasenv subst metasenv) *) - (CicMetaSubst.apply_subst_context subst context) - Cic.Anonymous - ~typ:(CicMetaSubst.apply_subst subst argty) - in - (* [] and (Cic.Sort Cic.prop) are dummy: they will not be used *) - FreshNamesGenerator.mk_fresh_name ~subst - [] context name_hint ~typ:(Cic.Sort Cic.Prop) - in - let metasenv,target = - mk_prod metasenv ((Some (name, Cic.Decl meta))::context) tl - in - metasenv,Cic.Prod (name,meta,target) - in - let metasenv,hetype' = mk_prod metasenv context tlbody_and_type in - let (subst, metasenv,ugraph1) = - try - fo_unif_subst subst context metasenv hetype hetype' ugraph - with exn -> - debug_print (lazy (Printf.sprintf "hetype=%s\nhetype'=%s\nmetasenv=%s\nsubst=%s" - (CicPp.ppterm hetype) - (CicPp.ppterm hetype') - (CicMetaSubst.ppmetasenv [] metasenv) - (CicMetaSubst.ppsubst subst))); - raise exn - - in - let rec eat_prods metasenv subst context hetype ugraph = - function - | [] -> [],metasenv,subst,hetype,ugraph - | (hete, hety)::tl -> - (match hetype with - Cic.Prod (n,s,t) -> - let arg,subst,metasenv,ugraph1 = - try - let subst,metasenv,ugraph1 = - fo_unif_subst subst context metasenv hety s ugraph - in - hete,subst,metasenv,ugraph1 - with exn when allow_coercions -> - (* we search a coercion from hety to s *) - let coer = - let carr t subst context = - CicMetaSubst.apply_subst subst t - in - let c_hety = carr hety subst context in - let c_s = carr s subst context in - CoercGraph.look_for_coercion c_hety c_s - in - match coer with - | CoercGraph.NoCoercion - | CoercGraph.NotHandled _ -> - let msg e = - lazy ("The term " ^ - CicMetaSubst.ppterm_in_context subst hete - context ^ " has type " ^ - CicMetaSubst.ppterm_in_context subst hety - context ^ " but is here used with type " ^ - CicMetaSubst.ppterm_in_context subst s context - (* "\nReason: " ^ Lazy.force e*)) - in - enrich msg exn - | CoercGraph.NotMetaClosed -> - raise (Uncertain (lazy "Coercions on meta")) - | CoercGraph.SomeCoercion c -> - (Cic.Appl [ c ; hete ]), subst, metasenv, ugraph - in - let coerced_args,metasenv',subst',t',ugraph2 = - eat_prods metasenv subst context - (CicSubstitution.subst arg t) ugraph1 tl - in - arg::coerced_args,metasenv',subst',t',ugraph2 - | _ -> assert false - ) - in - let coerced_args,metasenv,subst,t,ugraph2 = - eat_prods metasenv subst context hetype' ugraph1 tlbody_and_type - in - coerced_args,t,subst,metasenv,ugraph2 - in - - (* eat prods ends here! *) - - let t',ty,subst',metasenv',ugraph1 = - type_of_aux [] metasenv context t ugraph - in - let substituted_t = CicMetaSubst.apply_subst subst' t' in - let substituted_ty = CicMetaSubst.apply_subst subst' ty in - (* Andrea: ho rimesso qui l'applicazione della subst al - metasenv dopo che ho droppato l'invariante che il metsaenv - e' sempre istanziato *) - let substituted_metasenv = - CicMetaSubst.apply_subst_metasenv subst' metasenv' in - (* metasenv' *) - (* substituted_t,substituted_ty,substituted_metasenv *) - (* ANDREA: spostare tutta questa robaccia da un altra parte *) - let cleaned_t = - FreshNamesGenerator.clean_dummy_dependent_types substituted_t in - let cleaned_ty = - FreshNamesGenerator.clean_dummy_dependent_types substituted_ty in - let cleaned_metasenv = - List.map - (function (n,context,ty) -> - let ty' = FreshNamesGenerator.clean_dummy_dependent_types ty in - let context' = - List.map - (function - None -> None - | Some (n, Cic.Decl t) -> - Some (n, - Cic.Decl (FreshNamesGenerator.clean_dummy_dependent_types t)) - | Some (n, Cic.Def (bo,ty)) -> - let bo' = FreshNamesGenerator.clean_dummy_dependent_types bo in - let ty' = - match ty with - None -> None - | Some ty -> - Some (FreshNamesGenerator.clean_dummy_dependent_types ty) - in - Some (n, Cic.Def (bo',ty')) - ) context - in - (n,context',ty') - ) substituted_metasenv - in - (cleaned_t,cleaned_ty,cleaned_metasenv,ugraph1) -;; - -let type_of_aux' metasenv context term ugraph = - try - type_of_aux' metasenv context term ugraph - with - CicUniv.UniverseInconsistency msg -> raise (RefineFailure (lazy msg)) - -let undebrujin uri typesno tys t = - snd - (List.fold_right - (fun (name,_,_,_) (i,t) -> - (* here the explicit_named_substituion is assumed to be *) - (* of length 0 *) - let t' = Cic.MutInd (uri,i,[]) in - let t = CicSubstitution.subst t' t in - i - 1,t - ) tys (typesno - 1,t)) - -let map_first_n n start f g l = - let rec aux acc k l = - if k < n then - match l with - | [] -> raise (Invalid_argument "map_first_n") - | hd :: tl -> f hd k (aux acc (k+1) tl) - else - g acc l - in - aux start 0 l - -(*CSC: this is a very rough approximation; to be finished *) -let are_all_occurrences_positive metasenv ugraph uri tys leftno = - let number_of_types = List.length tys in - let subst,metasenv,ugraph,tys = - List.fold_right - (fun (name,ind,arity,cl) (subst,metasenv,ugraph,acc) -> - let subst,metasenv,ugraph,cl = - List.fold_right - (fun (name,ty) (subst,metasenv,ugraph,acc) -> - let rec aux ctx k subst = function - | Cic.Appl((Cic.MutInd (uri',_,_)as hd)::tl) when uri = uri'-> - let subst,metasenv,ugraph,tl = - map_first_n leftno - (subst,metasenv,ugraph,[]) - (fun t n (subst,metasenv,ugraph,acc) -> - let subst,metasenv,ugraph = - fo_unif_subst - subst ctx metasenv t (Cic.Rel (k-n)) ugraph - in - subst,metasenv,ugraph,(t::acc)) - (fun (s,m,g,acc) tl -> assert(acc=[]);(s,m,g,tl)) - tl - in - subst,metasenv,ugraph,(Cic.Appl (hd::tl)) - | Cic.MutInd(uri',_,_) as t when uri = uri'-> - subst,metasenv,ugraph,t - | Cic.Prod (name,s,t) -> - let ctx = (Some (name,Cic.Decl s))::ctx in - let subst,metasenv,ugraph,t = aux ctx (k+1) subst t in - subst,metasenv,ugraph,Cic.Prod (name,s,t) - | _ -> - raise - (RefineFailure - (lazy "not well formed constructor type")) - in - let subst,metasenv,ugraph,ty = aux [] 0 subst ty in - subst,metasenv,ugraph,(name,ty) :: acc) - cl (subst,metasenv,ugraph,[]) - in - subst,metasenv,ugraph,(name,ind,arity,cl)::acc) - tys ([],metasenv,ugraph,[]) - in - let substituted_tys = - List.map - (fun (name,ind,arity,cl) -> - let cl = - List.map (fun (name, ty) -> name,CicMetaSubst.apply_subst subst ty) cl - in - name,ind,CicMetaSubst.apply_subst subst arity,cl) - tys - in - metasenv,ugraph,substituted_tys - -let typecheck metasenv uri obj = - let ugraph = CicUniv.empty_ugraph in - match obj with - Cic.Constant (name,Some bo,ty,args,attrs) -> - let bo',boty,metasenv,ugraph = type_of_aux' metasenv [] bo ugraph in - let ty',_,metasenv,ugraph = type_of_aux' metasenv [] ty ugraph in - let subst,metasenv,ugraph = fo_unif_subst [] [] metasenv boty ty' ugraph in - let bo' = CicMetaSubst.apply_subst subst bo' in - let ty' = CicMetaSubst.apply_subst subst ty' in - let metasenv = CicMetaSubst.apply_subst_metasenv subst metasenv in - Cic.Constant (name,Some bo',ty',args,attrs),metasenv,ugraph - | Cic.Constant (name,None,ty,args,attrs) -> - let ty',_,metasenv,ugraph = type_of_aux' metasenv [] ty ugraph in - Cic.Constant (name,None,ty',args,attrs),metasenv,ugraph - | Cic.CurrentProof (name,metasenv',bo,ty,args,attrs) -> - assert (metasenv' = metasenv); - (* Here we do not check the metasenv for correctness *) - let bo',boty,metasenv,ugraph = type_of_aux' metasenv [] bo ugraph in - let ty',sort,metasenv,ugraph = type_of_aux' metasenv [] ty ugraph in - begin - match sort with - Cic.Sort _ - (* instead of raising Uncertain, let's hope that the meta will become - a sort *) - | Cic.Meta _ -> () - | _ -> raise (RefineFailure (lazy "The term provided is not a type")) - end; - let subst,metasenv,ugraph = fo_unif_subst [] [] metasenv boty ty' ugraph in - let bo' = CicMetaSubst.apply_subst subst bo' in - let ty' = CicMetaSubst.apply_subst subst ty' in - let metasenv = CicMetaSubst.apply_subst_metasenv subst metasenv in - Cic.CurrentProof (name,metasenv,bo',ty',args,attrs),metasenv,ugraph - | Cic.Variable _ -> assert false (* not implemented *) - | Cic.InductiveDefinition (tys,args,paramsno,attrs) -> - (*CSC: this code is greately simplified and many many checks are missing *) - (*CSC: e.g. the constructors are not required to build their own types, *) - (*CSC: the arities are not required to have as type a sort, etc. *) - let uri = match uri with Some uri -> uri | None -> assert false in - let typesno = List.length tys in - (* first phase: we fix only the types *) - let metasenv,ugraph,tys = - List.fold_right - (fun (name,b,ty,cl) (metasenv,ugraph,res) -> - let ty',_,metasenv,ugraph = type_of_aux' metasenv [] ty ugraph in - metasenv,ugraph,(name,b,ty',cl)::res - ) tys (metasenv,ugraph,[]) in - let con_context = - List.rev_map (fun (name,_,ty,_)-> Some (Cic.Name name,Cic.Decl ty)) tys in - (* second phase: we fix only the constructors *) - let metasenv,ugraph,tys = - List.fold_right - (fun (name,b,ty,cl) (metasenv,ugraph,res) -> - let metasenv,ugraph,cl' = - List.fold_right - (fun (name,ty) (metasenv,ugraph,res) -> - let ty = CicTypeChecker.debrujin_constructor uri typesno ty in - let ty',_,metasenv,ugraph = - type_of_aux' metasenv con_context ty ugraph in - let ty' = undebrujin uri typesno tys ty' in - metasenv,ugraph,(name,ty')::res - ) cl (metasenv,ugraph,[]) - in - metasenv,ugraph,(name,b,ty,cl')::res - ) tys (metasenv,ugraph,[]) in - (* third phase: we check the positivity condition *) - let metasenv,ugraph,tys = - are_all_occurrences_positive metasenv ugraph uri tys paramsno - in - Cic.InductiveDefinition (tys,args,paramsno,attrs),metasenv,ugraph - -(* DEBUGGING ONLY -let type_of_aux' metasenv context term = - try - let (t,ty,m) = - type_of_aux' metasenv context term in - debug_print (lazy - ("@@@ REFINE SUCCESSFUL: " ^ CicPp.ppterm t ^ " : " ^ CicPp.ppterm ty)); - debug_print (lazy - ("@@@ REFINE SUCCESSFUL (metasenv):\n" ^ CicMetaSubst.ppmetasenv ~sep:";" m [])); - (t,ty,m) - with - | RefineFailure msg as e -> - debug_print (lazy ("@@@ REFINE FAILED: " ^ msg)); - raise e - | Uncertain msg as e -> - debug_print (lazy ("@@@ REFINE UNCERTAIN: " ^ msg)); - raise e -;; *) - -let profiler2 = HExtlib.profile "CicRefine" - -let type_of_aux' metasenv context term ugraph = - profiler2.HExtlib.profile (type_of_aux' metasenv context term) ugraph - -let typecheck metasenv uri obj = - profiler2.HExtlib.profile (typecheck metasenv uri) obj diff --git a/helm/ocaml/cic_unification/cicRefine.mli b/helm/ocaml/cic_unification/cicRefine.mli deleted file mode 100644 index ef089cabf..000000000 --- a/helm/ocaml/cic_unification/cicRefine.mli +++ /dev/null @@ -1,43 +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 RefineFailure of string Lazy.t;; -exception Uncertain of string Lazy.t;; -exception AssertFailure of string Lazy.t;; - -(* type_of_aux' metasenv context term graph *) -(* refines [term] and returns the refined form of [term], *) -(* its type, the new metasenv and universe graph. *) -val type_of_aux': - Cic.metasenv -> Cic.context -> Cic.term -> CicUniv.universe_graph -> - Cic.term * Cic.term * Cic.metasenv * CicUniv.universe_graph - -(* typecheck metasenv uri obj graph *) -(* refines [obj] and returns the refined form of [obj], *) -(* the new metasenv and universe graph. *) -(* the [uri] is required only for inductive definitions *) -val typecheck : - Cic.metasenv -> UriManager.uri option -> Cic.obj -> - Cic.obj * Cic.metasenv * CicUniv.universe_graph diff --git a/helm/ocaml/cic_unification/cicUnification.ml b/helm/ocaml/cic_unification/cicUnification.ml deleted file mode 100644 index 9db77c5d5..000000000 --- a/helm/ocaml/cic_unification/cicUnification.ml +++ /dev/null @@ -1,748 +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/. - *) - -open Printf - -exception UnificationFailure of string Lazy.t;; -exception Uncertain of string Lazy.t;; -exception AssertFailure of string Lazy.t;; - -let verbose = false;; -let debug_print = fun _ -> () - -let profiler_toa = HExtlib.profile "fo_unif_subst.type_of_aux'" -let profiler_beta_expand = HExtlib.profile "fo_unif_subst.beta_expand" -let profiler_deref = HExtlib.profile "fo_unif_subst.deref'" -let profiler_are_convertible = HExtlib.profile "fo_unif_subst.are_convertible" - -let type_of_aux' metasenv subst context term ugraph = -let foo () = - try - CicTypeChecker.type_of_aux' ~subst metasenv context term ugraph - with - CicTypeChecker.TypeCheckerFailure msg -> - let msg = - lazy - (sprintf - "Kernel Type checking error: -%s\n%s\ncontext=\n%s\nmetasenv=\n%s\nsubstitution=\n%s\nException:\n%s.\nToo bad." - (CicMetaSubst.ppterm subst term) - (CicMetaSubst.ppterm [] term) - (CicMetaSubst.ppcontext subst context) - (CicMetaSubst.ppmetasenv subst metasenv) - (CicMetaSubst.ppsubst subst) (Lazy.force msg)) in - raise (AssertFailure msg) - | CicTypeChecker.AssertFailure msg -> - let msg = lazy - (sprintf - "Kernel Type checking assertion failure: -%s\n%s\ncontext=\n%s\nmetasenv=\n%s\nsubstitution=\n%s\nException:\n%s.\nToo bad." - (CicMetaSubst.ppterm subst term) - (CicMetaSubst.ppterm [] term) - (CicMetaSubst.ppcontext subst context) - (CicMetaSubst.ppmetasenv subst metasenv) - (CicMetaSubst.ppsubst subst) (Lazy.force msg)) in - raise (AssertFailure msg) -in profiler_toa.HExtlib.profile foo () -;; - -let exists_a_meta l = - List.exists (function Cic.Meta _ -> true | _ -> false) l - -let rec deref subst t = - let snd (_,a,_) = a in - match t with - Cic.Meta(n,l) -> - (try - deref subst - (CicSubstitution.subst_meta - l (snd (CicUtil.lookup_subst n subst))) - with - CicUtil.Subst_not_found _ -> t) - | Cic.Appl(Cic.Meta(n,l)::args) -> - (match deref subst (Cic.Meta(n,l)) with - | Cic.Lambda _ as t -> - deref subst (CicReduction.head_beta_reduce (Cic.Appl(t::args))) - | r -> Cic.Appl(r::args)) - | Cic.Appl(((Cic.Lambda _) as t)::args) -> - deref subst (CicReduction.head_beta_reduce (Cic.Appl(t::args))) - | t -> t -;; - -let deref subst t = - let foo () = deref subst t - in profiler_deref.HExtlib.profile foo () - -exception WrongShape;; -let eta_reduce after_beta_expansion after_beta_expansion_body - before_beta_expansion - = - try - match before_beta_expansion,after_beta_expansion_body with - Cic.Appl l, Cic.Appl l' -> - let rec all_but_last check_last = - function - [] -> assert false - | [Cic.Rel 1] -> [] - | [_] -> if check_last then raise WrongShape else [] - | he::tl -> he::(all_but_last check_last tl) - in - let all_but_last check_last l = - match all_but_last check_last l with - [] -> assert false - | [he] -> he - | l -> Cic.Appl l - in - let t = CicSubstitution.subst (Cic.Rel (-1)) (all_but_last true l') in - let all_but_last = all_but_last false l in - (* here we should test alpha-equivalence; however we know by - construction that here alpha_equivalence is equivalent to = *) - if t = all_but_last then - all_but_last - else - after_beta_expansion - | _,_ -> after_beta_expansion - with - WrongShape -> after_beta_expansion - -let rec beta_expand test_equality_only metasenv subst context t arg ugraph = - let module S = CicSubstitution in - let module C = Cic in -let foo () = - let rec aux metasenv subst n context t' ugraph = - try - - let subst,metasenv,ugraph1 = - fo_unif_subst test_equality_only subst context metasenv - (CicSubstitution.lift n arg) t' ugraph - - in - subst,metasenv,C.Rel (1 + n),ugraph1 - with - Uncertain _ - | UnificationFailure _ -> - match t' with - | C.Rel m -> subst,metasenv, - (if m <= n then C.Rel m else C.Rel (m+1)),ugraph - | C.Var (uri,exp_named_subst) -> - let subst,metasenv,exp_named_subst',ugraph1 = - aux_exp_named_subst metasenv subst n context exp_named_subst ugraph - in - subst,metasenv,C.Var (uri,exp_named_subst'),ugraph1 - | C.Meta (i,l) -> - (* andrea: in general, beta_expand can create badly typed - terms. This happens quite seldom in practice, UNLESS we - iterate on the local context. For this reason, we renounce - to iterate and just lift *) - let l = - List.map - (function - Some t -> Some (CicSubstitution.lift 1 t) - | None -> None) l in - subst, metasenv, C.Meta (i,l), ugraph - | C.Sort _ - | C.Implicit _ as t -> subst,metasenv,t,ugraph - | C.Cast (te,ty) -> - let subst,metasenv,te',ugraph1 = - aux metasenv subst n context te ugraph in - let subst,metasenv,ty',ugraph2 = - aux metasenv subst n context ty ugraph1 in - (* TASSI: sure this is in serial? *) - subst,metasenv,(C.Cast (te', ty')),ugraph2 - | C.Prod (nn,s,t) -> - let subst,metasenv,s',ugraph1 = - aux metasenv subst n context s ugraph in - let subst,metasenv,t',ugraph2 = - aux metasenv subst (n+1) ((Some (nn, C.Decl s))::context) t - ugraph1 - in - (* TASSI: sure this is in serial? *) - subst,metasenv,(C.Prod (nn, s', t')),ugraph2 - | C.Lambda (nn,s,t) -> - let subst,metasenv,s',ugraph1 = - aux metasenv subst n context s ugraph in - let subst,metasenv,t',ugraph2 = - aux metasenv subst (n+1) ((Some (nn, C.Decl s))::context) t ugraph1 - in - (* TASSI: sure this is in serial? *) - subst,metasenv,(C.Lambda (nn, s', t')),ugraph2 - | C.LetIn (nn,s,t) -> - let subst,metasenv,s',ugraph1 = - aux metasenv subst n context s ugraph in - let subst,metasenv,t',ugraph2 = - aux metasenv subst (n+1) ((Some (nn, C.Def (s,None)))::context) t - ugraph1 - in - (* TASSI: sure this is in serial? *) - subst,metasenv,(C.LetIn (nn, s', t')),ugraph2 - | C.Appl l -> - let subst,metasenv,revl',ugraph1 = - List.fold_left - (fun (subst,metasenv,appl,ugraph) t -> - let subst,metasenv,t',ugraph1 = - aux metasenv subst n context t ugraph in - subst,metasenv,(t'::appl),ugraph1 - ) (subst,metasenv,[],ugraph) l - in - subst,metasenv,(C.Appl (List.rev revl')),ugraph1 - | C.Const (uri,exp_named_subst) -> - let subst,metasenv,exp_named_subst',ugraph1 = - aux_exp_named_subst metasenv subst n context exp_named_subst ugraph - in - subst,metasenv,(C.Const (uri,exp_named_subst')),ugraph1 - | C.MutInd (uri,i,exp_named_subst) -> - let subst,metasenv,exp_named_subst',ugraph1 = - aux_exp_named_subst metasenv subst n context exp_named_subst ugraph - in - subst,metasenv,(C.MutInd (uri,i,exp_named_subst')),ugraph1 - | C.MutConstruct (uri,i,j,exp_named_subst) -> - let subst,metasenv,exp_named_subst',ugraph1 = - aux_exp_named_subst metasenv subst n context exp_named_subst ugraph - in - subst,metasenv,(C.MutConstruct (uri,i,j,exp_named_subst')),ugraph1 - | C.MutCase (sp,i,outt,t,pl) -> - let subst,metasenv,outt',ugraph1 = - aux metasenv subst n context outt ugraph in - let subst,metasenv,t',ugraph2 = - aux metasenv subst n context t ugraph1 in - let subst,metasenv,revpl',ugraph3 = - List.fold_left - (fun (subst,metasenv,pl,ugraph) t -> - let subst,metasenv,t',ugraph1 = - aux metasenv subst n context t ugraph in - subst,metasenv,(t'::pl),ugraph1 - ) (subst,metasenv,[],ugraph2) pl - in - subst,metasenv,(C.MutCase (sp,i,outt', t', List.rev revpl')),ugraph3 - (* TASSI: not sure this is serial *) - | C.Fix (i,fl) -> -(*CSC: not implemented - let tylen = List.length fl in - let substitutedfl = - List.map - (fun (name,i,ty,bo) -> (name, i, aux n ty, aux (n+tylen) bo)) - fl - in - C.Fix (i, substitutedfl) -*) - subst,metasenv,(CicSubstitution.lift 1 t' ),ugraph - | C.CoFix (i,fl) -> -(*CSC: not implemented - let tylen = List.length fl in - let substitutedfl = - List.map - (fun (name,ty,bo) -> (name, aux n ty, aux (n+tylen) bo)) - fl - in - C.CoFix (i, substitutedfl) - -*) - subst,metasenv,(CicSubstitution.lift 1 t'), ugraph - - and aux_exp_named_subst metasenv subst n context ens ugraph = - List.fold_right - (fun (uri,t) (subst,metasenv,l,ugraph) -> - let subst,metasenv,t',ugraph1 = aux metasenv subst n context t ugraph in - subst,metasenv,((uri,t')::l),ugraph1) ens (subst,metasenv,[],ugraph) - in - let argty,ugraph1 = type_of_aux' metasenv subst context arg ugraph in - let fresh_name = - FreshNamesGenerator.mk_fresh_name ~subst - metasenv context (Cic.Name "Hbeta") ~typ:argty - in - let subst,metasenv,t',ugraph2 = aux metasenv subst 0 context t ugraph1 in - let t'' = eta_reduce (C.Lambda (fresh_name,argty,t')) t' t in - subst, metasenv, t'', ugraph2 -in profiler_beta_expand.HExtlib.profile foo () - - -and beta_expand_many test_equality_only metasenv subst context t args ugraph = - let subst,metasenv,hd,ugraph = - List.fold_right - (fun arg (subst,metasenv,t,ugraph) -> - let subst,metasenv,t,ugraph1 = - beta_expand test_equality_only - metasenv subst context t arg ugraph - in - subst,metasenv,t,ugraph1 - ) args (subst,metasenv,t,ugraph) - in - subst,metasenv,hd,ugraph - - -(* NUOVA UNIFICAZIONE *) -(* A substitution is a (int * Cic.term) list that associates a - metavariable i with its body. - A metaenv is a (int * Cic.term) list that associate a metavariable - i with is type. - fo_unif_new takes a metasenv, a context, two terms t1 and t2 and gives back - a new substitution which is _NOT_ unwinded. It must be unwinded before - applying it. *) - -and fo_unif_subst test_equality_only subst context metasenv t1 t2 ugraph = - let module C = Cic in - let module R = CicReduction in - let module S = CicSubstitution in - let t1 = deref subst t1 in - let t2 = deref subst t2 in - let b,ugraph = -let foo () = - R.are_convertible ~subst ~metasenv context t1 t2 ugraph -in profiler_are_convertible.HExtlib.profile foo () - in - if b then - subst, metasenv, ugraph - else - match (t1, t2) with - | (C.Meta (n,ln), C.Meta (m,lm)) when n=m -> - let _,subst,metasenv,ugraph1 = - (try - List.fold_left2 - (fun (j,subst,metasenv,ugraph) t1 t2 -> - match t1,t2 with - None,_ - | _,None -> j+1,subst,metasenv,ugraph - | Some t1', Some t2' -> - (* First possibility: restriction *) - (* Second possibility: unification *) - (* Third possibility: convertibility *) - let b, ugraph1 = - R.are_convertible - ~subst ~metasenv context t1' t2' ugraph - in - if b then - j+1,subst,metasenv, ugraph1 - else - (try - let subst,metasenv,ugraph2 = - fo_unif_subst - test_equality_only - subst context metasenv t1' t2' ugraph - in - j+1,subst,metasenv,ugraph2 - with - Uncertain _ - | UnificationFailure _ -> -debug_print (lazy ("restringo Meta n." ^ (string_of_int n) ^ "on variable n." ^ (string_of_int j))); - let metasenv, subst = - CicMetaSubst.restrict - subst [(n,j)] metasenv in - j+1,subst,metasenv,ugraph1) - ) (1,subst,metasenv,ugraph) ln lm - with - Exit -> - raise - (UnificationFailure (lazy "1")) - (* - (sprintf - "Error trying to unify %s with %s: the algorithm tried to check whether the two substitutions are convertible; if they are not, it tried to unify the two substitutions. No restriction was attempted." - (CicMetaSubst.ppterm subst t1) - (CicMetaSubst.ppterm subst t2))) *) - | Invalid_argument _ -> - raise - (UnificationFailure (lazy "2"))) - (* - (sprintf - "Error trying to unify %s with %s: the lengths of the two local contexts do not match." - (CicMetaSubst.ppterm subst t1) - (CicMetaSubst.ppterm subst t2)))) *) - in subst,metasenv,ugraph1 - | (C.Meta (n,_), C.Meta (m,_)) when n>m -> - fo_unif_subst test_equality_only subst context metasenv t2 t1 ugraph - | (C.Meta (n,l), t) - | (t, C.Meta (n,l)) -> - let swap = - match t1,t2 with - C.Meta (n,_), C.Meta (m,_) when n < m -> false - | _, C.Meta _ -> false - | _,_ -> true - in - let lower = fun x y -> if swap then y else x in - let upper = fun x y -> if swap then x else y in - let fo_unif_subst_ordered - test_equality_only subst context metasenv m1 m2 ugraph = - fo_unif_subst test_equality_only subst context metasenv - (lower m1 m2) (upper m1 m2) ugraph - in - begin - let subst,metasenv,ugraph1 = - let (_,_,meta_type) = CicUtil.lookup_meta n metasenv in - (try - let tyt,ugraph1 = - type_of_aux' metasenv subst context t ugraph - in - fo_unif_subst - test_equality_only - subst context metasenv tyt (S.subst_meta l meta_type) ugraph1 - with - UnificationFailure _ as e -> raise e - | Uncertain msg -> raise (UnificationFailure msg) - | AssertFailure _ -> - debug_print (lazy "siamo allo huge hack"); - (* TODO huge hack!!!! - * we keep on unifying/refining in the hope that - * the problem will be eventually solved. - * In the meantime we're breaking a big invariant: - * the terms that we are unifying are no longer well - * typed in the current context (in the worst case - * we could even diverge) *) - (subst, metasenv,ugraph)) in - let t',metasenv,subst = - try - CicMetaSubst.delift n subst context metasenv l t - with - (CicMetaSubst.MetaSubstFailure msg)-> - raise (UnificationFailure msg) - | (CicMetaSubst.Uncertain msg) -> raise (Uncertain msg) - in - let t'',ugraph2 = - match t' with - C.Sort (C.Type u) when not test_equality_only -> - let u' = CicUniv.fresh () in - let s = C.Sort (C.Type u') in - let ugraph2 = - CicUniv.add_ge (upper u u') (lower u u') ugraph1 - in - s,ugraph2 - | _ -> t',ugraph1 - in - (* Unifying the types may have already instantiated n. Let's check *) - try - let (_, oldt,_) = CicUtil.lookup_subst n subst in - let lifted_oldt = S.subst_meta l oldt in - fo_unif_subst_ordered - test_equality_only subst context metasenv t lifted_oldt ugraph2 - with - CicUtil.Subst_not_found _ -> - let (_, context, ty) = CicUtil.lookup_meta n metasenv in - let subst = (n, (context, t'',ty)) :: subst in - let metasenv = - List.filter (fun (m,_,_) -> not (n = m)) metasenv in - subst, metasenv, ugraph2 - end - | (C.Var (uri1,exp_named_subst1),C.Var (uri2,exp_named_subst2)) - | (C.Const (uri1,exp_named_subst1),C.Const (uri2,exp_named_subst2)) -> - if UriManager.eq uri1 uri2 then - fo_unif_subst_exp_named_subst test_equality_only subst context metasenv - exp_named_subst1 exp_named_subst2 ugraph - else - raise (UnificationFailure (lazy - (sprintf - "Can't unify %s with %s due to different constants" - (CicMetaSubst.ppterm subst t1) - (CicMetaSubst.ppterm subst t2)))) - | C.MutInd (uri1,i1,exp_named_subst1),C.MutInd (uri2,i2,exp_named_subst2) -> - if UriManager.eq uri1 uri2 && i1 = i2 then - fo_unif_subst_exp_named_subst - test_equality_only - subst context metasenv exp_named_subst1 exp_named_subst2 ugraph - else - raise (UnificationFailure (lazy "4")) - (* (sprintf - "Can't unify %s with %s due to different inductive principles" - (CicMetaSubst.ppterm subst t1) - (CicMetaSubst.ppterm subst t2))) *) - | C.MutConstruct (uri1,i1,j1,exp_named_subst1), - C.MutConstruct (uri2,i2,j2,exp_named_subst2) -> - if UriManager.eq uri1 uri2 && i1 = i2 && j1 = j2 then - fo_unif_subst_exp_named_subst - test_equality_only - subst context metasenv exp_named_subst1 exp_named_subst2 ugraph - else - raise (UnificationFailure (lazy "5")) - (* (sprintf - "Can't unify %s with %s due to different inductive constructors" - (CicMetaSubst.ppterm subst t1) - (CicMetaSubst.ppterm subst t2))) *) - | (C.Implicit _, _) | (_, C.Implicit _) -> assert false - | (C.Cast (te,ty), t2) -> fo_unif_subst test_equality_only - subst context metasenv te t2 ugraph - | (t1, C.Cast (te,ty)) -> fo_unif_subst test_equality_only - subst context metasenv t1 te ugraph - | (C.Prod (n1,s1,t1), C.Prod (_,s2,t2)) -> - let subst',metasenv',ugraph1 = - fo_unif_subst true subst context metasenv s1 s2 ugraph - in - fo_unif_subst test_equality_only - subst' ((Some (n1,(C.Decl s1)))::context) metasenv' t1 t2 ugraph1 - | (C.Lambda (n1,s1,t1), C.Lambda (_,s2,t2)) -> - let subst',metasenv',ugraph1 = - fo_unif_subst test_equality_only subst context metasenv s1 s2 ugraph - in - fo_unif_subst test_equality_only - subst' ((Some (n1,(C.Decl s1)))::context) metasenv' t1 t2 ugraph1 - | (C.LetIn (_,s1,t1), t2) - | (t2, C.LetIn (_,s1,t1)) -> - fo_unif_subst - test_equality_only subst context metasenv t2 (S.subst s1 t1) ugraph - | (C.Appl l1, C.Appl l2) -> - (* andrea: this case should be probably rewritten in the - spirit of deref *) - (match l1,l2 with - | C.Meta (i,_)::args1, C.Meta (j,_)::args2 when i = j -> - (try - List.fold_left2 - (fun (subst,metasenv,ugraph) t1 t2 -> - fo_unif_subst - test_equality_only subst context metasenv t1 t2 ugraph) - (subst,metasenv,ugraph) l1 l2 - with (Invalid_argument msg) -> - raise (UnificationFailure (lazy msg))) - | C.Meta (i,l)::args, _ when not(exists_a_meta args) -> - (* we verify that none of the args is a Meta, - since beta expanding with respoect to a metavariable - makes no sense *) - (* - (try - let (_,t,_) = CicUtil.lookup_subst i subst in - let lifted = S.subst_meta l t in - let reduced = CicReduction.head_beta_reduce (Cic.Appl (lifted::args)) in - fo_unif_subst - test_equality_only - subst context metasenv reduced t2 ugraph - with CicUtil.Subst_not_found _ -> *) - let subst,metasenv,beta_expanded,ugraph1 = - beta_expand_many - test_equality_only metasenv subst context t2 args ugraph - in - fo_unif_subst test_equality_only subst context metasenv - (C.Meta (i,l)) beta_expanded ugraph1 - | _, C.Meta (i,l)::args when not(exists_a_meta args) -> - (* (try - let (_,t,_) = CicUtil.lookup_subst i subst in - let lifted = S.subst_meta l t in - let reduced = CicReduction.head_beta_reduce (Cic.Appl (lifted::args)) in - fo_unif_subst - test_equality_only - subst context metasenv t1 reduced ugraph - with CicUtil.Subst_not_found _ -> *) - let subst,metasenv,beta_expanded,ugraph1 = - beta_expand_many - test_equality_only - metasenv subst context t1 args ugraph - in - fo_unif_subst test_equality_only subst context metasenv - (C.Meta (i,l)) beta_expanded ugraph1 - | _,_ -> - let lr1 = List.rev l1 in - let lr2 = List.rev l2 in - let rec - fo_unif_l test_equality_only subst metasenv (l1,l2) ugraph = - match (l1,l2) with - [],_ - | _,[] -> assert false - | ([h1],[h2]) -> - fo_unif_subst - test_equality_only subst context metasenv h1 h2 ugraph - | ([h],l) - | (l,[h]) -> - fo_unif_subst test_equality_only subst context metasenv - h (C.Appl (List.rev l)) ugraph - | ((h1::l1),(h2::l2)) -> - let subst', metasenv',ugraph1 = - fo_unif_subst - test_equality_only - subst context metasenv h1 h2 ugraph - in - fo_unif_l - test_equality_only subst' metasenv' (l1,l2) ugraph1 - in - fo_unif_l - test_equality_only subst metasenv (lr1, lr2) ugraph) - | (C.MutCase (_,_,outt1,t1',pl1), C.MutCase (_,_,outt2,t2',pl2))-> - let subst', metasenv',ugraph1 = - fo_unif_subst test_equality_only subst context metasenv outt1 outt2 - ugraph in - let subst'',metasenv'',ugraph2 = - fo_unif_subst test_equality_only subst' context metasenv' t1' t2' - ugraph1 in - (try - List.fold_left2 - (fun (subst,metasenv,ugraph) t1 t2 -> - fo_unif_subst - test_equality_only subst context metasenv t1 t2 ugraph - ) (subst'',metasenv'',ugraph2) pl1 pl2 - with - Invalid_argument _ -> - raise (UnificationFailure (lazy "6.1"))) - (* (sprintf - "Error trying to unify %s with %s: the number of branches is not the same." - (CicMetaSubst.ppterm subst t1) - (CicMetaSubst.ppterm subst t2)))) *) - | (C.Rel _, _) | (_, C.Rel _) -> - if t1 = t2 then - subst, metasenv,ugraph - else - raise (UnificationFailure (lazy - (sprintf - "Can't unify %s with %s because they are not convertible" - (CicMetaSubst.ppterm subst t1) - (CicMetaSubst.ppterm subst t2)))) - | (C.Appl (C.Meta(i,l)::args),t2) when not(exists_a_meta args) -> - let subst,metasenv,beta_expanded,ugraph1 = - beta_expand_many - test_equality_only metasenv subst context t2 args ugraph - in - fo_unif_subst test_equality_only subst context metasenv - (C.Meta (i,l)) beta_expanded ugraph1 - | (t1,C.Appl (C.Meta(i,l)::args)) when not(exists_a_meta args) -> - let subst,metasenv,beta_expanded,ugraph1 = - beta_expand_many - test_equality_only metasenv subst context t1 args ugraph - in - fo_unif_subst test_equality_only subst context metasenv - beta_expanded (C.Meta (i,l)) ugraph1 - | (C.Sort _ ,_) | (_, C.Sort _) - | (C.Const _, _) | (_, C.Const _) - | (C.MutInd _, _) | (_, C.MutInd _) - | (C.MutConstruct _, _) | (_, C.MutConstruct _) - | (C.Fix _, _) | (_, C.Fix _) - | (C.CoFix _, _) | (_, C.CoFix _) -> - if t1 = t2 then - subst, metasenv, ugraph - else - let b,ugraph1 = - R.are_convertible ~subst ~metasenv context t1 t2 ugraph - in - if b then - subst, metasenv, ugraph1 - else - raise - (UnificationFailure (lazy (sprintf - "Can't unify %s with %s because they are not convertible" - (CicMetaSubst.ppterm subst t1) - (CicMetaSubst.ppterm subst t2)))) - | (C.Prod _, t2) -> - let t2' = R.whd ~subst context t2 in - (match t2' with - C.Prod _ -> - fo_unif_subst test_equality_only - subst context metasenv t1 t2' ugraph - | _ -> raise (UnificationFailure (lazy "8"))) - | (t1, C.Prod _) -> - let t1' = R.whd ~subst context t1 in - (match t1' with - C.Prod _ -> - fo_unif_subst test_equality_only - subst context metasenv t1' t2 ugraph - | _ -> (* raise (UnificationFailure "9")) *) - raise - (UnificationFailure (lazy (sprintf - "Can't unify %s with %s because they are not convertible" - (CicMetaSubst.ppterm subst t1) - (CicMetaSubst.ppterm subst t2))))) - | (_,_) -> - raise (UnificationFailure (lazy "10")) - (* (sprintf - "Can't unify %s with %s because they are not convertible" - (CicMetaSubst.ppterm subst t1) - (CicMetaSubst.ppterm subst t2))) *) - -and fo_unif_subst_exp_named_subst test_equality_only subst context metasenv - exp_named_subst1 exp_named_subst2 ugraph -= - try - List.fold_left2 - (fun (subst,metasenv,ugraph) (uri1,t1) (uri2,t2) -> - assert (uri1=uri2) ; - fo_unif_subst test_equality_only subst context metasenv t1 t2 ugraph - ) (subst,metasenv,ugraph) exp_named_subst1 exp_named_subst2 - with - Invalid_argument _ -> - let print_ens ens = - String.concat " ; " - (List.map - (fun (uri,t) -> - UriManager.string_of_uri uri ^ " := " ^ (CicMetaSubst.ppterm subst t) - ) ens) - in - raise (UnificationFailure (lazy (sprintf - "Error trying to unify the two explicit named substitutions (local contexts) %s and %s: their lengths is different." (print_ens exp_named_subst1) (print_ens exp_named_subst2)))) - -(* A substitution is a (int * Cic.term) list that associates a *) -(* metavariable i with its body. *) -(* metasenv is of type Cic.metasenv *) -(* fo_unif takes a metasenv, a context, two terms t1 and t2 and gives back *) -(* a new substitution which is already unwinded and ready to be applied and *) -(* a new metasenv in which some hypothesis in the contexts of the *) -(* metavariables may have been restricted. *) -let fo_unif metasenv context t1 t2 ugraph = - fo_unif_subst false [] context metasenv t1 t2 ugraph ;; - -let enrich_msg msg subst context metasenv t1 t2 ugraph = - lazy ( - if verbose then - sprintf "[Verbose] Unification error unifying %s of type %s with %s of type %s in context\n%s\nand metasenv\n%s\nand substitution\n%s\nbecause %s" - (CicMetaSubst.ppterm subst t1) - (try - let ty_t1,_ = type_of_aux' metasenv subst context t1 ugraph in - CicPp.ppterm ty_t1 - with - | UnificationFailure s - | Uncertain s - | AssertFailure s -> sprintf "MALFORMED(t1): \n%s\n" (Lazy.force s)) - (CicMetaSubst.ppterm subst t2) - (try - let ty_t2,_ = type_of_aux' metasenv subst context t2 ugraph in - CicPp.ppterm ty_t2 - with - | UnificationFailure s - | Uncertain s - | AssertFailure s -> sprintf "MALFORMED(t2): \n%s\n" (Lazy.force s)) - (CicMetaSubst.ppcontext subst context) - (CicMetaSubst.ppmetasenv subst metasenv) - (CicMetaSubst.ppsubst subst) (Lazy.force msg) - else - sprintf "Unification error unifying %s of type %s with %s of type %s in context\n%s\nand metasenv\n%s\nbecause %s" - (CicMetaSubst.ppterm_in_context subst t1 context) - (try - let ty_t1,_ = type_of_aux' metasenv subst context t1 ugraph in - CicMetaSubst.ppterm_in_context subst ty_t1 context - with - | UnificationFailure s - | Uncertain s - | AssertFailure s -> sprintf "MALFORMED(t1): \n%s\n" (Lazy.force s)) - (CicMetaSubst.ppterm_in_context subst t2 context) - (try - let ty_t2,_ = type_of_aux' metasenv subst context t2 ugraph in - CicMetaSubst.ppterm_in_context subst ty_t2 context - with - | UnificationFailure s - | Uncertain s - | AssertFailure s -> sprintf "MALFORMED(t2): \n%s\n" (Lazy.force s)) - (CicMetaSubst.ppcontext subst context) - (CicMetaSubst.ppmetasenv subst metasenv) - (Lazy.force msg) - ) - -let fo_unif_subst subst context metasenv t1 t2 ugraph = - try - fo_unif_subst false subst context metasenv t1 t2 ugraph - with - | AssertFailure msg -> - raise (AssertFailure (enrich_msg msg subst context metasenv t1 t2 ugraph)) - | UnificationFailure msg -> - raise (UnificationFailure (enrich_msg msg subst context metasenv t1 t2 ugraph)) -;; diff --git a/helm/ocaml/cic_unification/cicUnification.mli b/helm/ocaml/cic_unification/cicUnification.mli deleted file mode 100644 index e1a6c2899..000000000 --- a/helm/ocaml/cic_unification/cicUnification.mli +++ /dev/null @@ -1,58 +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 UnificationFailure of string Lazy.t;; -exception Uncertain of string Lazy.t;; -exception AssertFailure of string Lazy.t;; - -(* fo_unif metasenv context t1 t2 *) -(* unifies [t1] and [t2] in a context [context]. *) -(* Only the metavariables declared in [metasenv] *) -(* can be used in [t1] and [t2]. *) -(* The returned substitution can be directly *) -(* withouth first unwinding it. *) -val fo_unif : - Cic.metasenv -> Cic.context -> - Cic.term -> Cic.term -> CicUniv.universe_graph -> - Cic.substitution * Cic.metasenv * CicUniv.universe_graph - -(* fo_unif_subst metasenv subst context t1 t2 *) -(* unifies [t1] and [t2] in a context [context] *) -(* and with [subst] as the current substitution *) -(* (i.e. unifies ([subst] [t1]) and *) -(* ([subst] [t2]) in a context *) -(* ([subst] [context]) using the metasenv *) -(* ([subst] [metasenv]) *) -(* Only the metavariables declared in [metasenv] *) -(* can be used in [t1] and [t2]. *) -(* [subst] and the substitution returned are not *) -(* unwinded. *) -(*CSC: fare un tipo unione Unwinded o ToUnwind e fare gestire la - cosa all'apply_subst!!!*) -val fo_unif_subst : - Cic.substitution -> Cic.context -> Cic.metasenv -> - Cic.term -> Cic.term -> CicUniv.universe_graph -> - Cic.substitution * Cic.metasenv * CicUniv.universe_graph - diff --git a/helm/ocaml/cic_unification/coercDb.ml b/helm/ocaml/cic_unification/coercDb.ml deleted file mode 100644 index 437ad65ae..000000000 --- a/helm/ocaml/cic_unification/coercDb.ml +++ /dev/null @@ -1,75 +0,0 @@ -(* Copyright (C) 2005, 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/ - *) - -type coerc_carr = Uri of UriManager.uri | Sort of Cic.sort | Term of Cic.term -exception EqCarrNotImplemented of string Lazy.t -exception EqCarrOnNonMetaClosed - -let db = ref [] -let use_coercions = ref true - -let coerc_carr_of_term t = - try - Uri (CicUtil.uri_of_term t) - with Invalid_argument _ -> - match t with - | Cic.Sort s -> Sort s - | t -> Term t -;; - -let eq_carr src tgt = - match src, tgt with - | Uri src, Uri tgt -> UriManager.eq src tgt - | Sort (Cic.Type _), Sort (Cic.Type _) -> true - | Sort src, Sort tgt when src = tgt -> true - | Term t1, Term t2 -> - if CicUtil.is_meta_closed t1 && CicUtil.is_meta_closed t2 then - raise - (EqCarrNotImplemented - (lazy ("Unsupported carr for coercions: " ^ - CicPp.ppterm t1 ^ " or " ^ CicPp.ppterm t2))) - else raise EqCarrOnNonMetaClosed - | _, _ -> false - -let name_of_carr = function - | Uri u -> UriManager.name_of_uri u - | Sort s -> CicPp.ppsort s - | Term t -> CicPp.ppterm t - - -let to_list () = - !db - -let add_coercion c = - db := c :: !db - -let remove_coercion p = - db := List.filter (fun u -> not(p u)) !db - -let find_coercion f = - if !use_coercions then - List.map (fun (_,_,x) -> x) (List.filter (fun (s,t,_) -> f (s,t)) !db) - else [] - diff --git a/helm/ocaml/cic_unification/coercDb.mli b/helm/ocaml/cic_unification/coercDb.mli deleted file mode 100644 index 2d7a11cae..000000000 --- a/helm/ocaml/cic_unification/coercDb.mli +++ /dev/null @@ -1,48 +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/. - *) - - (** XXX WARNING: non-reentrant *) -type coerc_carr = Uri of UriManager.uri | Sort of Cic.sort | Term of Cic.term -exception EqCarrNotImplemented of string Lazy.t -exception EqCarrOnNonMetaClosed -val eq_carr: coerc_carr -> coerc_carr -> bool -val coerc_carr_of_term: Cic.term -> coerc_carr -val name_of_carr: coerc_carr -> string - -val use_coercions: bool ref (** initial status is true *) - -val to_list: - unit -> - (coerc_carr * coerc_carr * UriManager.uri) list - -val add_coercion: - coerc_carr * coerc_carr * UriManager.uri -> unit - -val remove_coercion: - (coerc_carr * coerc_carr * UriManager.uri -> bool) -> unit - -val find_coercion: - (coerc_carr * coerc_carr -> bool) -> UriManager.uri list - diff --git a/helm/ocaml/cic_unification/coercGraph.ml b/helm/ocaml/cic_unification/coercGraph.ml deleted file mode 100644 index d99fc6f79..000000000 --- a/helm/ocaml/cic_unification/coercGraph.ml +++ /dev/null @@ -1,210 +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/. - *) - -open Printf;; - -type coercion_search_result = - | SomeCoercion of Cic.term - | NoCoercion - | NotMetaClosed - | NotHandled of string Lazy.t - -let debug = false -let debug_print s = if debug then prerr_endline (Lazy.force s) else () - - -(* searches a coercion fron src to tgt in the !coercions list *) -let look_for_coercion src tgt = - try - let l = - CoercDb.find_coercion - (fun (s,t) -> CoercDb.eq_carr s src && CoercDb.eq_carr t tgt) - in - match l with - | [] -> - debug_print - (lazy - (sprintf ":-( coercion non trovata da %s a %s" - (CoercDb.name_of_carr src) - (CoercDb.name_of_carr tgt))); - NoCoercion - | [u] -> - debug_print (lazy ( - sprintf ":-) TROVATA 1 coercion da %s a %s: %s" - (CoercDb.name_of_carr src) - (CoercDb.name_of_carr tgt) - (UriManager.name_of_uri u))); - SomeCoercion (CicUtil.term_of_uri u) - | u::_ -> - debug_print (lazy ( - sprintf ":-/ TROVATE %d coercion(s) da %s a %s, prendo la prima: %s" - (List.length l) - (CoercDb.name_of_carr src) - (CoercDb.name_of_carr tgt) - (UriManager.name_of_uri u))); - SomeCoercion (CicUtil.term_of_uri u) - with - | CoercDb.EqCarrNotImplemented s -> NotHandled s - | CoercDb.EqCarrOnNonMetaClosed -> NotMetaClosed -;; - -let look_for_coercion src tgt = - let src_uri = CoercDb.coerc_carr_of_term src in - let tgt_uri = CoercDb.coerc_carr_of_term tgt in - look_for_coercion src_uri tgt_uri - -(* given the new coercion uri from src to tgt returns the list - * of new coercions to create. hte list elements are - * (source, list of coercions to follow, target) - *) -let get_closure_coercions src tgt uri coercions = - let eq_carr s t = - try - CoercDb.eq_carr s t - with - | CoercDb.EqCarrNotImplemented _ | CoercDb.EqCarrOnNonMetaClosed -> false - in - match src,tgt with - | CoercDb.Uri _, CoercDb.Uri _ -> - let c_from_tgt = - List.filter (fun (f,_,_) -> eq_carr f tgt) coercions - in - let c_to_src = - List.filter (fun (_,t,_) -> eq_carr t src) coercions - in - (List.map (fun (_,t,u) -> src,[uri; u],t) c_from_tgt) @ - (List.map (fun (s,_,u) -> s,[u; uri],tgt) c_to_src) @ - (List.fold_left ( - fun l (s,_,u1) -> - ((List.map (fun (_,t,u2) -> - (s,[u1;uri;u2],t) - )c_from_tgt)@l) ) - [] c_to_src) - | _ -> [] (* do not close in case source or target is not an indty ?? *) -;; - -let obj_attrs = [`Class `Coercion; `Generated] - -(* generate_composite_closure (c2 (c1 s)) in the universe graph univ *) -let generate_composite_closure c1 c2 univ = - let c1_ty,univ = CicTypeChecker.type_of_aux' [] [] c1 univ in - let rec mk_rels n = - match n with - | 0 -> [] - | _ -> (Cic.Rel n) :: (mk_rels (n-1)) - in - let rec compose k = - function - | Cic.Prod (name,src,tgt) -> - let name = - match name with - | Cic.Anonymous -> Cic.Name "x" - | _ -> name - in - Cic.Lambda (name,src,compose (k+1) tgt) - | Cic.Appl (he::tl) -> - Cic.Appl (c2 :: tl @ [Cic.Appl (c1 :: (mk_rels k)) ]) - | _ -> Cic.Appl (c2 :: [Cic.Appl (c1 :: (mk_rels k)) ]) - in - let c = compose 0 c1_ty in - let c_ty,univ = - try - CicTypeChecker.type_of_aux' [] [] c univ - with CicTypeChecker.TypeCheckerFailure s as exn -> - debug_print (lazy (sprintf "Generated composite coercion:\n%s\n%s" - (CicPp.ppterm c) (Lazy.force s))); - raise exn - in - let cleaned_ty = - FreshNamesGenerator.clean_dummy_dependent_types c_ty - in - let obj = Cic.Constant ("xxxx",Some c,cleaned_ty,[],obj_attrs) in - obj,univ -;; - -(* removes from l the coercions that are in !coercions *) -let filter_duplicates l coercions = - List.filter ( - fun (src,_,tgt) -> - not (List.exists (fun (s,t,u) -> - CoercDb.eq_carr s src && - CoercDb.eq_carr t tgt) - coercions)) - l - -let term_of_carr = function - | CoercDb.Uri u -> CicUtil.term_of_uri u - | CoercDb.Sort _ -> assert false - | CoercDb.Term _ -> assert false - -(* given a new coercion uri from src to tgt returns - * a list of (new coercion uri, coercion obj, universe graph) - *) -let close_coercion_graph src tgt uri = - (* check if the coercion already exists *) - let coercions = CoercDb.to_list () in - let todo_list = get_closure_coercions src tgt uri coercions in - let todo_list = filter_duplicates todo_list coercions in - let new_coercions, new_coercions_obj = - List.split ( - List.map ( - fun (src, l , tgt) -> - match l with - | [] -> assert false - | he :: tl -> - let first_step = - Cic.Constant ("", - Some (term_of_carr (CoercDb.Uri he)), Cic.Sort Cic.Prop, [], obj_attrs) - in - let o,u = - List.fold_left (fun (o,univ) coer -> - match o with - | Cic.Constant (_,Some c,_,[],_) -> - generate_composite_closure c (term_of_carr (CoercDb.Uri - coer)) univ - | _ -> assert false - ) (first_step, CicUniv.empty_ugraph) tl - in - let name_src = CoercDb.name_of_carr src in - let name_tgt = CoercDb.name_of_carr tgt in - let name = name_tgt ^ "_of_" ^ name_src in - let buri = UriManager.buri_of_uri uri in - let c_uri = - UriManager.uri_of_string (buri ^ "/" ^ name ^ ".con") - in - let named_obj = - match o with - | Cic.Constant (_,bo,ty,vl,attrs) -> - Cic.Constant (name,bo,ty,vl,attrs) - | _ -> assert false - in - ((src,tgt,c_uri),(c_uri,named_obj,u)) - ) todo_list) - in - List.iter CoercDb.add_coercion (new_coercions @ [src,tgt,uri]); - new_coercions_obj -;; - -(* EOF *) diff --git a/helm/ocaml/cic_unification/coercGraph.mli b/helm/ocaml/cic_unification/coercGraph.mli deleted file mode 100644 index fcbed3497..000000000 --- a/helm/ocaml/cic_unification/coercGraph.mli +++ /dev/null @@ -1,39 +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/. - *) - -type coercion_search_result = - | SomeCoercion of Cic.term - | NoCoercion - | NotMetaClosed - | NotHandled of string Lazy.t - -val look_for_coercion : - Cic.term -> Cic.term -> coercion_search_result - -(* also adds them to the Db *) -val close_coercion_graph: - CoercDb.coerc_carr -> CoercDb.coerc_carr -> UriManager.uri -> - (UriManager.uri * Cic.obj * CicUniv.universe_graph) list - diff --git a/helm/ocaml/configure.ac b/helm/ocaml/configure.ac deleted file mode 100644 index 36bd36194..000000000 --- a/helm/ocaml/configure.ac +++ /dev/null @@ -1,52 +0,0 @@ -AC_INIT(Makefile.in) - -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) -else - OCAMLFIND=ocamlfind -fi - -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_MSG_CHECKING("where to install the library") -OCAMLFIND_DEST_DIR="/public/sacerdot/prova" -AC_MSG_RESULT($OCAMLFIND_DEST_DIR) - -AC_MSG_CHECKING("where to install the META files") -OCAMLFIND_META_DIR=`pwd`/METAS -AC_MSG_RESULT($OCAMLFIND_META_DIR) - -AC_SUBST(OCAMLFIND) -AC_SUBST(OCAMLFIND_DEST_DIR) -AC_SUBST(OCAMLFIND_META_DIR) - -AC_OUTPUT([ - Makefile - Makefile.common -]) - diff --git a/helm/ocaml/extlib/.cvsignore b/helm/ocaml/extlib/.cvsignore deleted file mode 100644 index 8d64a5378..000000000 --- a/helm/ocaml/extlib/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -*.cm[iaox] -*.cmxa diff --git a/helm/ocaml/extlib/.depend b/helm/ocaml/extlib/.depend deleted file mode 100644 index cbb3fcdfe..000000000 --- a/helm/ocaml/extlib/.depend +++ /dev/null @@ -1,2 +0,0 @@ -hExtlib.cmo: hExtlib.cmi -hExtlib.cmx: hExtlib.cmi diff --git a/helm/ocaml/extlib/Makefile b/helm/ocaml/extlib/Makefile deleted file mode 100644 index d05af7c02..000000000 --- a/helm/ocaml/extlib/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -PACKAGE = extlib -REQUIRES = unix -PREDICATES = - -INTERFACE_FILES = \ - hExtlib.mli -IMPLEMENTATION_FILES = \ - $(INTERFACE_FILES:%.mli=%.ml) -EXTRA_OBJECTS_TO_INSTALL = -EXTRA_OBJECTS_TO_CLEAN = - -include ../Makefile.common diff --git a/helm/ocaml/extlib/hExtlib.ml b/helm/ocaml/extlib/hExtlib.ml deleted file mode 100644 index a76a5c76e..000000000 --- a/helm/ocaml/extlib/hExtlib.ml +++ /dev/null @@ -1,284 +0,0 @@ -(* Copyright (C) 2005, 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/. - *) - - -(** PROFILING *) - -(* we should use a key in te registry, but we can't see the registry.. *) -let profiling_enabled = true - -let profiling_printings = ref (fun () -> true) -let set_profiling_printings f = profiling_printings := f - -type profiler = { profile : 'a 'b. ('a -> 'b) -> 'a -> 'b } -let profile ?(enable = true) = - if profiling_enabled && enable then - function s -> - let total = ref 0.0 in - let profile f x = - let before = Unix.gettimeofday () in - try - let res = f x in - let after = Unix.gettimeofday () in - total := !total +. (after -. before); - res - with - exc -> - let after = Unix.gettimeofday () in - total := !total +. (after -. before); - raise exc - in - at_exit - (fun () -> - if !profiling_printings () then - prerr_endline - ("!! TOTAL TIME SPENT IN " ^ s ^ ": " ^ string_of_float !total)); - { profile = profile } - else - function _ -> { profile = fun f x -> f x } - -(** {2 Optional values} *) - -let map_option f = function None -> None | Some v -> Some (f v) -let iter_option f = function None -> () | Some v -> f v -let unopt = function None -> failwith "unopt: None" | Some v -> v - -(** {2 String processing} *) - -let split ?(sep = ' ') s = - let pieces = ref [] in - let rec aux idx = - match (try Some (String.index_from s idx sep) with Not_found -> None) with - | Some pos -> - pieces := String.sub s idx (pos - idx) :: !pieces; - aux (pos + 1) - | None -> pieces := String.sub s idx (String.length s - idx) :: !pieces - in - aux 0; - List.rev !pieces - -let trim_blanks s = - let rec find_left idx = - match s.[idx] with - | ' ' | '\t' | '\r' | '\n' -> find_left (idx + 1) - | _ -> idx - in - let rec find_right idx = - match s.[idx] with - | ' ' | '\t' | '\r' | '\n' -> find_right (idx - 1) - | _ -> idx - in - let s_len = String.length s in - let left, right = find_left 0, find_right (s_len - 1) in - String.sub s left (right - left + 1) - -(** {2 Char processing} *) - -let is_alpha c = - let code = Char.code c in - (code >= 65 && code <= 90) || (code >= 97 && code <= 122) - -let is_digit c = - let code = Char.code c in - code >= 48 && code <= 57 - -let is_blank c = - let code = Char.code c in - code = 9 || code = 10 || code = 13 || code = 32 - -let is_alphanum c = is_alpha c || is_digit c - -(** {2 List processing} *) - -let rec list_uniq ?(eq=(=)) = function - | [] -> [] - | h::[] -> [h] - | h1::h2::tl when eq h1 h2 -> list_uniq ~eq (h2 :: tl) - | h1::tl (* when h1 <> h2 *) -> h1 :: list_uniq ~eq tl - -let rec filter_map f = - function - | [] -> [] - | hd :: tl -> - (match f hd with - | None -> filter_map f tl - | Some v -> v :: filter_map f tl) - -let list_concat ?(sep = []) = - let rec aux acc = - function - | [] -> [] - | [ last ] -> List.flatten (List.rev (last :: acc)) - | hd :: tl -> aux ([sep; hd] @ acc) tl - in - aux [] - -(** {2 File predicates} *) - -let is_dir fname = - try - (Unix.stat fname).Unix.st_kind = Unix.S_DIR - with Unix.Unix_error _ -> false - -let is_regular fname = - try - (Unix.stat fname).Unix.st_kind = Unix.S_REG - with Unix.Unix_error _ -> false - -let mkdir path = - let components = split ~sep:'/' path in - let rec aux where = function - | [] -> () - | piece::tl -> - let path = where ^ "/" ^ piece in - (try - Unix.mkdir path 0o755 - with - | Unix.Unix_error (Unix.EEXIST,_,_) -> () - | Unix.Unix_error (e,_,_) -> - raise - (Failure - ("Unix.mkdir " ^ path ^ " 0o755 :" ^ (Unix.error_message e)))); - aux path tl - in - aux "" components - -(** {2 Filesystem} *) - -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 input_all ic = - let size = 10240 in - let buf = Buffer.create size in - let s = String.create size in - (try - while true do - let bytes = input ic s 0 size in - if bytes = 0 then raise End_of_file - else Buffer.add_substring buf s 0 bytes - done - with End_of_file -> ()); - Buffer.contents buf - -let output_file ~filename ~text = - let oc = open_out filename in - output_string oc text; - close_out oc - -let blank_split s = - let len = String.length s in - let buf = Buffer.create 0 in - let rec aux acc i = - if i >= len - then begin - if Buffer.length buf > 0 - then List.rev (Buffer.contents buf :: acc) - else List.rev acc - end else begin - if is_blank s.[i] then - if Buffer.length buf > 0 then begin - let s = Buffer.contents buf in - Buffer.clear buf; - aux (s :: acc) (i + 1) - end else - aux acc (i + 1) - else begin - Buffer.add_char buf s.[i]; - aux acc (i + 1) - end - end - in - aux [] 0 - - (* Rules: * "~name" -> home dir of "name" - * "~" -> value of $HOME if defined, home dir of the current user otherwise *) -let tilde_expand s = - let get_home login = (Unix.getpwnam login).Unix.pw_dir in - let expand_one s = - let len = String.length s in - if len > 0 && s.[0] = '~' then begin - let login_len = ref 1 in - while !login_len < len && is_alphanum (s.[!login_len]) do - incr login_len - done; - let login = String.sub s 1 (!login_len - 1) in - try - let home = - if login = "" then - try Sys.getenv "HOME" with Not_found -> get_home (Unix.getlogin ()) - else - get_home login - in - home ^ String.sub s !login_len (len - !login_len) - with Not_found | Invalid_argument _ -> s - end else - s - in - String.concat " " (List.map expand_one (blank_split s)) - -let find ?(test = fun _ -> true) path = - let rec aux acc todo = - match todo with - | [] -> acc - | path :: tl -> - try - let handle = Unix.opendir path in - let dirs = ref [] in - let matching_files = ref [] in - (try - while true do - match Unix.readdir handle with - | "." | ".." -> () - | entry -> - let qentry = path ^ "/" ^ entry in - (try - if is_dir qentry then - dirs := qentry :: !dirs - else if test qentry then - matching_files := qentry :: !matching_files; - with Unix.Unix_error _ -> ()) - done - with End_of_file -> Unix.closedir handle); - aux (!matching_files @ acc) (!dirs @ tl) - with Unix.Unix_error _ -> aux acc tl - in - aux [] [path] - -(** {2 Exception handling} *) - -let finally at_end f arg = - let res = - try f arg - with exn -> at_end (); raise exn - in - at_end (); - res - diff --git a/helm/ocaml/extlib/hExtlib.mli b/helm/ocaml/extlib/hExtlib.mli deleted file mode 100644 index 40a1aca15..000000000 --- a/helm/ocaml/extlib/hExtlib.mli +++ /dev/null @@ -1,79 +0,0 @@ -(* Copyright (C) 2005, 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 Optional values} *) - -val map_option: ('a -> 'b) -> 'a option -> 'b option -val iter_option: ('a -> unit) -> 'a option -> unit -val unopt: 'a option -> 'a (** @raise Failure *) - -(** {2 Filesystem} *) - -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 mkdir: string -> unit (** create dir and parents. @raise Failure *) -val tilde_expand: string -> string (** bash-like (head) tilde expansion *) - - (** find all _files_ matching test under a filesystem root *) -val find: ?test:(string -> bool) -> string -> string list - -(** {2 File I/O} *) - -val input_file: string -> string (** read all the contents of file to string *) -val input_all: in_channel -> string (** read all the contents of a channel *) -val output_file: filename:string -> text:string -> unit (** other way round *) - -(** {2 Exception handling} *) - -val finally: (unit -> unit) -> ('a -> 'b) -> 'a -> 'b - -(** {2 Char processing} *) - -val is_alpha: char -> bool -val is_blank: char -> bool -val is_digit: char -> bool -val is_alphanum: char -> bool (** is_alpha || is_digit *) - -(** {2 String processing} *) - -val split: ?sep:char -> string -> string list (** @param sep defaults to ' ' *) -val trim_blanks: string -> string (** strip heading and trailing blanks *) - -(** {2 List processing} *) - -val list_uniq: - ?eq:('a->'a->bool) -> 'a list -> 'a list (** uniq unix filter on lists *) -val filter_map: ('a -> 'b option) -> 'a list -> 'b list (** filter + map *) -val list_concat: ?sep:'a list -> 'a list list -> 'a list (**String.concat-like*) - -(** {2 Debugging & Profiling} *) - -type profiler = { profile : 'a 'b. ('a -> 'b) -> 'a -> 'b } - - (** @return a profiling function; [s] is used for labelling the total time at - * the end of the execution *) -val profile : ?enable:bool -> string -> profiler -val set_profiling_printings : (unit -> bool) -> unit - diff --git a/helm/ocaml/getter/.cvsignore b/helm/ocaml/getter/.cvsignore deleted file mode 100644 index 806547a56..000000000 --- a/helm/ocaml/getter/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -*.cm[iaox] *.cmxa -test diff --git a/helm/ocaml/getter/.depend b/helm/ocaml/getter/.depend deleted file mode 100644 index 9f77a2458..000000000 --- a/helm/ocaml/getter/.depend +++ /dev/null @@ -1,30 +0,0 @@ -http_getter_common.cmi: http_getter_types.cmo -http_getter.cmi: http_getter_types.cmo -http_getter_wget.cmo: http_getter_types.cmo http_getter_wget.cmi -http_getter_wget.cmx: http_getter_types.cmx http_getter_wget.cmi -http_getter_logger.cmo: http_getter_logger.cmi -http_getter_logger.cmx: http_getter_logger.cmi -http_getter_misc.cmo: http_getter_logger.cmi http_getter_misc.cmi -http_getter_misc.cmx: http_getter_logger.cmx http_getter_misc.cmi -http_getter_const.cmo: http_getter_const.cmi -http_getter_const.cmx: http_getter_const.cmi -http_getter_env.cmo: http_getter_types.cmo http_getter_misc.cmi \ - http_getter_logger.cmi http_getter_const.cmi http_getter_env.cmi -http_getter_env.cmx: http_getter_types.cmx http_getter_misc.cmx \ - http_getter_logger.cmx http_getter_const.cmx http_getter_env.cmi -http_getter_storage.cmo: http_getter_wget.cmi http_getter_types.cmo \ - http_getter_misc.cmi http_getter_env.cmi http_getter_storage.cmi -http_getter_storage.cmx: http_getter_wget.cmx http_getter_types.cmx \ - http_getter_misc.cmx http_getter_env.cmx http_getter_storage.cmi -http_getter_common.cmo: http_getter_types.cmo http_getter_misc.cmi \ - http_getter_logger.cmi http_getter_env.cmi http_getter_common.cmi -http_getter_common.cmx: http_getter_types.cmx http_getter_misc.cmx \ - http_getter_logger.cmx http_getter_env.cmx http_getter_common.cmi -http_getter.cmo: http_getter_wget.cmi http_getter_types.cmo \ - http_getter_storage.cmi http_getter_misc.cmi http_getter_logger.cmi \ - http_getter_env.cmi http_getter_const.cmi http_getter_common.cmi \ - http_getter.cmi -http_getter.cmx: http_getter_wget.cmx http_getter_types.cmx \ - http_getter_storage.cmx http_getter_misc.cmx http_getter_logger.cmx \ - http_getter_env.cmx http_getter_const.cmx http_getter_common.cmx \ - http_getter.cmi diff --git a/helm/ocaml/getter/.ocamlinit b/helm/ocaml/getter/.ocamlinit deleted file mode 100644 index 6512190cd..000000000 --- a/helm/ocaml/getter/.ocamlinit +++ /dev/null @@ -1,3 +0,0 @@ -#use "topfind";; -#require "helm-getter";; -Helm_registry.load_from "sample.conf.xml";; diff --git a/helm/ocaml/getter/Makefile b/helm/ocaml/getter/Makefile deleted file mode 100644 index c6450d178..000000000 --- a/helm/ocaml/getter/Makefile +++ /dev/null @@ -1,24 +0,0 @@ - -PACKAGE = getter - -REQUIRES = \ - http unix pcre zip \ - helm-xml helm-logger helm-urimanager helm-registry - -INTERFACE_FILES = \ - http_getter_wget.mli \ - http_getter_logger.mli \ - http_getter_misc.mli \ - http_getter_const.mli \ - http_getter_env.mli \ - http_getter_storage.mli \ - http_getter_common.mli \ - http_getter.mli \ - $(NULL) - -IMPLEMENTATION_FILES = \ - http_getter_types.ml \ - $(INTERFACE_FILES:%.mli=%.ml) - -include ../Makefile.common - diff --git a/helm/ocaml/getter/http_getter.ml b/helm/ocaml/getter/http_getter.ml deleted file mode 100644 index 191117a20..000000000 --- a/helm/ocaml/getter/http_getter.ml +++ /dev/null @@ -1,361 +0,0 @@ -(* Copyright (C) 2005, 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 Http_getter_common -open Http_getter_misc -open Http_getter_types - -exception Not_implemented of string -exception UnexpectedGetterOutput - -type resolve_result = - | Unknown - | Exception of exn - | Resolved of string - -type logger_callback = HelmLogger.html_tag -> unit - -let stdout_logger tag = print_string (HelmLogger.string_of_html_tag tag) - -let not_implemented s = raise (Not_implemented ("Http_getter." ^ s)) - -let index_line_sep_RE = Pcre.regexp "[ \t]+" -let index_sep_RE = Pcre.regexp "\r\n|\r|\n" -let trailing_types_RE = Pcre.regexp "\\.types$" -let heading_cic_RE = Pcre.regexp "^cic:" -let heading_theory_RE = Pcre.regexp "^theory:" -let heading_nuprl_RE = Pcre.regexp "^nuprl:" -let types_RE = Pcre.regexp "\\.types$" -let types_ann_RE = Pcre.regexp "\\.types\\.ann$" -let body_RE = Pcre.regexp "\\.body$" -let body_ann_RE = Pcre.regexp "\\.body\\.ann$" -let proof_tree_RE = Pcre.regexp "\\.proof_tree$" -let proof_tree_ann_RE = Pcre.regexp "\\.proof_tree\\.ann$" -let theory_RE = Pcre.regexp "\\.theory$" -let basepart_RE = Pcre.regexp - "^([^.]*\\.[^.]*)((\\.body)|(\\.proof_tree)|(\\.types))?(\\.ann)?$" -let slash_RE = Pcre.regexp "/" -let pipe_RE = Pcre.regexp "\\|" -let til_slash_RE = Pcre.regexp "^.*/" -let no_slashes_RE = Pcre.regexp "^[^/]*$" -let fix_regexp_RE = Pcre.regexp ("^" ^ (Pcre.quote "(cic|theory)")) -let showable_file_RE = - Pcre.regexp "(\\.con|\\.ind|\\.var|\\.body|\\.types|\\.proof_tree)$" - -let xml_suffix = ".xml" -let theory_suffix = ".theory" - - (* global maps, shared by all threads *) - -let ends_with_slash s = - try - s.[String.length s - 1] = '/' - with Invalid_argument _ -> false - - (* should we use a remote getter or not *) -let remote () = - try - Helm_registry.get "getter.mode" = "remote" - with Helm_registry.Key_not_found _ -> false - -let getter_url () = Helm_registry.get "getter.url" - -(* Remote interface: getter methods implemented using a remote getter *) - - (* *) -let getxml_remote uri = not_implemented "getxml_remote" -let getxslt_remote uri = not_implemented "getxslt_remote" -let getdtd_remote uri = not_implemented "getdtd_remote" -let clean_cache_remote () = not_implemented "clean_cache_remote" -let list_servers_remote () = not_implemented "list_servers_remote" -let add_server_remote ~logger ~position name = - not_implemented "add_server_remote" -let remove_server_remote ~logger position = - not_implemented "remove_server_remote" -let getalluris_remote () = not_implemented "getalluris_remote" -let ls_remote lsuri = not_implemented "ls_remote" -let exists_remote uri = not_implemented "exists_remote" - (* *) - -let resolve_remote uri = - (* deliver resolve request to http_getter *) - let doc = - Http_getter_wget.get (sprintf "%sresolve?uri=%s" (getter_url ()) uri) - in - let res = ref Unknown in - let start_element tag attrs = - match tag with - | "url" -> - (try - res := Resolved (List.assoc "value" attrs) - with Not_found -> ()) - | "unresolvable" -> res := Exception (Unresolvable_URI uri) - | "not_found" -> res := Exception (Key_not_found uri) - | _ -> () - in - let callbacks = { - XmlPushParser.default_callbacks with - XmlPushParser.start_element = Some start_element - } in - let xml_parser = XmlPushParser.create_parser callbacks in - XmlPushParser.parse xml_parser (`String doc); - XmlPushParser.final xml_parser; - match !res with - | Unknown -> raise UnexpectedGetterOutput - | Exception e -> raise e - | Resolved url -> url - -let deref_index_theory uri = - if Http_getter_storage.exists (uri ^ xml_suffix) then uri - else if is_theory_uri uri && Filename.basename uri = "index.theory" then - strip_trailing_slash (Filename.dirname uri) ^ theory_suffix - else - uri - -(* API *) - -let help () = Http_getter_const.usage_string (Http_getter_env.env_to_string ()) - -let exists uri = -(* prerr_endline ("Http_getter.exists " ^ uri); *) - if remote () then - exists_remote uri - else - let uri = deref_index_theory uri in - Http_getter_storage.exists (uri ^ xml_suffix) - -let resolve uri = - if remote () then - resolve_remote uri - else - let uri = deref_index_theory uri in - try - Http_getter_storage.resolve (uri ^ xml_suffix) - with Http_getter_storage.Resource_not_found _ -> raise (Key_not_found uri) - -let getxml uri = - if remote () then getxml_remote uri - else begin - let uri' = deref_index_theory uri in - (try - Http_getter_storage.filename (uri' ^ xml_suffix) - with Http_getter_storage.Resource_not_found _ -> raise (Key_not_found uri)) - end - -let getxslt uri = - if remote () then getxslt_remote uri - else Http_getter_storage.filename ~find:true ("xslt:/" ^ uri) - -let getdtd uri = - if remote () then - getdtd_remote uri - else begin - let fname = Lazy.force Http_getter_env.dtd_dir ^ "/" ^ uri in - if not (Sys.file_exists fname) then raise (Dtd_not_found uri); - fname - end - -let clean_cache () = - if remote () then - clean_cache_remote () - else - Http_getter_storage.clean_cache () - -let (++) (oldann, oldtypes, oldbody, oldtree) - (newann, newtypes, newbody, newtree) = - ((if newann > oldann then newann else oldann), - (if newtypes > oldtypes then newtypes else oldtypes), - (if newbody > oldbody then newbody else oldbody), - (if newtree > oldtree then newtree else oldtree)) - -let store_obj tbl o = -(* prerr_endline ("Http_getter.store_obj " ^ o); *) - if Pcre.pmatch ~rex:showable_file_RE o then begin - let basepart = Pcre.replace ~rex:basepart_RE ~templ:"$1" o in - let no_flags = false, No, No, No in - let oldflags = - try - Hashtbl.find tbl basepart - with Not_found -> (* no ann, no types, no body, no proof tree *) - no_flags - in - let newflags = - match o with - | s when Pcre.pmatch ~rex:types_RE s -> (false, Yes, No, No) - | s when Pcre.pmatch ~rex:types_ann_RE s -> (true, Ann, No, No) - | s when Pcre.pmatch ~rex:body_RE s -> (false, No, Yes, No) - | s when Pcre.pmatch ~rex:body_ann_RE s -> (true, No, Ann, No) - | s when Pcre.pmatch ~rex:proof_tree_RE s -> (false, No, No, Yes) - | s when Pcre.pmatch ~rex:proof_tree_ann_RE s -> (true, No, No, Ann) - | s -> no_flags - in - Hashtbl.replace tbl basepart (oldflags ++ newflags) - end - -let store_dir set_ref d = - set_ref := StringSet.add (List.hd (Pcre.split ~rex:slash_RE d)) !set_ref - -let collect_ls_items dirs_set objs_tbl = - let items = ref [] in - StringSet.iter (fun dir -> items := Ls_section dir :: !items) dirs_set; - Http_getter_misc.hashtbl_sorted_iter - (fun uri (annflag, typesflag, bodyflag, treeflag) -> - items := - Ls_object { - uri = uri; ann = annflag; - types = typesflag; body = bodyflag; proof_tree = treeflag - } :: !items) - objs_tbl; - List.rev !items - -let contains_object = (<>) [] - - (** non regexp-aware version of ls *) -let rec dumb_ls uri_prefix = -(* prerr_endline ("Http_getter.dumb_ls " ^ uri_prefix); *) - if is_cic_obj_uri uri_prefix then begin - let dirs = ref StringSet.empty in - let objs = Hashtbl.create 17 in - List.iter - (fun fname -> - if ends_with_slash fname then - store_dir dirs fname - else - try - store_obj objs (strip_suffix ~suffix:xml_suffix fname) - with Invalid_argument _ -> ()) - (Http_getter_storage.ls uri_prefix); - collect_ls_items !dirs objs - end else if is_theory_uri uri_prefix then begin - let items = ref [] in - let add_theory fname = - items := - Ls_object { - uri = fname; ann = false; types = No; body = No; proof_tree = No } - :: !items - in - let cic_uri_prefix = - Pcre.replace_first ~rex:heading_theory_RE ~templ:"cic:" uri_prefix - in - List.iter - (fun fname -> - if ends_with_slash fname then - items := Ls_section (strip_trailing_slash fname) :: !items - else - try - let fname = strip_suffix ~suffix:xml_suffix fname in - let theory_name = strip_suffix ~suffix:theory_suffix fname in - let sub_theory = normalize_dir cic_uri_prefix ^ theory_name ^ "/" in - if is_empty_theory sub_theory then add_theory fname - with Invalid_argument _ -> ()) - (Http_getter_storage.ls uri_prefix); - (try - if contains_object (dumb_ls cic_uri_prefix) - && exists (strip_trailing_slash uri_prefix ^ theory_suffix) - then - add_theory "index.theory"; - with Unresolvable_URI _ -> ()); - !items - end else - raise (Invalid_URI uri_prefix) - -and is_empty_theory uri_prefix = -(* prerr_endline ("is_empty_theory " ^ uri_prefix); *) - not (contains_object (dumb_ls uri_prefix)) - - (* handle simple regular expressions of the form "...(..|..|..)..." on cic - * uris, not meant to be a real implementation of regexp. The only we use is - * "(cic|theory):/..." *) -let explode_ls_regexp regexp = - try - let len = String.length regexp in - let lparen_idx = String.index regexp '(' in - let rparen_idx = String.index_from regexp lparen_idx ')' in - let choices_str = (* substring between parens, parens excluded *) - String.sub regexp (lparen_idx + 1) (rparen_idx - lparen_idx - 1) - in - let choices = Pcre.split ~rex:pipe_RE choices_str in - let prefix = String.sub regexp 0 lparen_idx in - let suffix = String.sub regexp (rparen_idx + 1) (len - (rparen_idx + 1)) in - List.map (fun choice -> prefix ^ choice ^ suffix) choices - with Not_found -> [regexp] - -let merge_results results = - let rec aux objects_acc dirs_acc = function - | [] -> dirs_acc @ objects_acc - | Ls_object _ as obj :: tl -> aux (obj :: objects_acc) dirs_acc tl - | Ls_section _ as dir :: tl -> - if List.mem dir dirs_acc then (* filters out dir duplicates *) - aux objects_acc dirs_acc tl - else - aux objects_acc (dir :: dirs_acc) tl - in - aux [] [] (List.concat results) - -let ls regexp = - if remote () then - ls_remote regexp - else - let prefixes = explode_ls_regexp regexp in - merge_results (List.map dumb_ls prefixes) - -let getalluris () = - let rec aux acc = function - | [] -> acc - | dir :: todo -> - let acc', todo' = - List.fold_left - (fun (acc, subdirs) result -> - match result with - | Ls_object obj -> (dir ^ obj.uri) :: acc, subdirs - | Ls_section sect -> acc, (dir ^ sect ^ "/") :: subdirs) - (acc, todo) - (dumb_ls dir) - in - aux acc' todo' - in - aux [] ["cic:/"] (* trailing slash required *) - -(* Shorthands from now on *) - -let getxml' uri = getxml (UriManager.string_of_uri uri) -let resolve' uri = resolve (UriManager.string_of_uri uri) -let exists' uri = exists (UriManager.string_of_uri uri) - -let tilde_expand_key k = - try - Helm_registry.set k (HExtlib.tilde_expand (Helm_registry.get k)) - with Helm_registry.Key_not_found _ -> () - -let init () = - List.iter tilde_expand_key ["getter.cache_dir"; "getter.dtd_dir"]; - Http_getter_logger.set_log_level - (Helm_registry.get_opt_default Helm_registry.int ~default:1 - "getter.log_level"); - Http_getter_logger.set_log_file - (Helm_registry.get_opt Helm_registry.string "getter.log_file") - diff --git a/helm/ocaml/getter/http_getter.mli b/helm/ocaml/getter/http_getter.mli deleted file mode 100644 index 4bbc447bd..000000000 --- a/helm/ocaml/getter/http_getter.mli +++ /dev/null @@ -1,66 +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 Http_getter_types - - (** {2 Loggers} *) - -type logger_callback = HelmLogger.html_tag -> unit - -val stdout_logger: logger_callback - - (** {2 Getter Web Service interface as API *) - -val help: unit -> string - - (** @raise Http_getter_types.Unresolvable_URI _ - * @raise Http_getter_types.Key_not_found _ *) -val resolve: string -> string (* uri -> url *) - -val exists: string -> bool - -val getxml : string -> string -val getxslt : string -> string -val getdtd : string -> string -val clean_cache: unit -> unit -val getalluris: unit -> string list - - (** @param baseuri uri to be listed, simple form or regular expressions (a - * single choice among parens) are permitted *) -val ls: string -> ls_item list - - (** {2 UriManager shorthands} *) - -val getxml' : UriManager.uri -> string -val resolve' : UriManager.uri -> string -val exists' : UriManager.uri -> bool - - (** {2 Misc} *) - -val init: unit -> unit - diff --git a/helm/ocaml/getter/http_getter_common.ml b/helm/ocaml/getter/http_getter_common.ml deleted file mode 100644 index d56cf6909..000000000 --- a/helm/ocaml/getter/http_getter_common.ml +++ /dev/null @@ -1,166 +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 Http_getter_types;; -open Printf;; - -let string_of_ls_flag = function No -> "NO" | Yes -> "YES" | Ann -> "ANN" -let string_of_encoding = function - | `Normal -> "Normal" - | `Gzipped -> "GZipped" - -let is_cic_obj_uri uri = Pcre.pmatch ~pat:"^cic:" uri -let is_theory_uri uri = Pcre.pmatch ~pat:"^theory:" uri -let is_cic_uri uri = is_cic_obj_uri uri || is_theory_uri uri -let is_nuprl_uri uri = Pcre.pmatch ~pat:"^nuprl:" uri -let is_rdf_uri uri = Pcre.pmatch ~pat:"^helm:rdf(.*):(.*)//(.*)" uri -let is_xsl_uri uri = Pcre.pmatch ~pat:"^\\w+\\.xsl" uri - -let rec uri_of_string = function - | uri when is_rdf_uri uri -> - (match Pcre.split ~pat:"//" uri with - | [ prefix; uri ] -> - let rest = - match uri_of_string uri with - | Cic_uri xmluri -> xmluri - | _ -> raise (Invalid_URI uri) - in - Rdf_uri (prefix, rest) - | _ -> raise (Invalid_URI uri)) - | uri when is_cic_obj_uri uri -> Cic_uri (Cic (Pcre.replace ~pat:"^cic:" uri)) - | uri when is_nuprl_uri uri -> Nuprl_uri (Pcre.replace ~pat:"^nuprl:" uri) - | uri when is_theory_uri uri -> - Cic_uri (Theory (Pcre.replace ~pat:"^theory:" uri)) - | uri -> raise (Invalid_URI uri) - -let patch_xsl ?(via_http = true) () = - fun line -> - let mk_patch_fun tag line = - Pcre.replace - ~pat:(sprintf "%s\\s+href=\"" tag) - ~templ:(sprintf "%s href=\"%s/getxslt?uri=" - tag (Lazy.force Http_getter_env.my_own_url)) - line - in - let (patch_import, patch_include) = - (mk_patch_fun "xsl:import", mk_patch_fun "xsl:include") - in - patch_include (patch_import line) - -let patch_system kind ?(via_http = true) () = - let rex = - Pcre.regexp (sprintf "%s (.*) SYSTEM\\s+\"((%s)/)?" kind - (String.concat "|" (Lazy.force Http_getter_env.dtd_base_urls))) - in - let templ = - if via_http then - sprintf "%s $1 SYSTEM \"%s/getdtd?uri=" kind - (Lazy.force Http_getter_env.my_own_url) - else - sprintf "%s $1 SYSTEM \"file://%s/" kind - (Lazy.force Http_getter_env.dtd_dir) - in - fun line -> Pcre.replace ~rex ~templ line - -let patch_entity = patch_system "ENTITY" -let patch_doctype = patch_system "DOCTYPE" - -let patch_xmlbase = - let rex = Pcre.regexp "^(\\s*<\\w[^ ]*)(\\s|>)" in - fun xmlbases baseurl baseuri s -> - let s' = - Pcre.replace ~rex - ~templ:(sprintf "$1 xml:base=\"%s\" helm:base=\"%s\"$2" baseurl baseuri) - s - in - if s <> s' then xmlbases := None; - s' - -let patch_dtd = patch_entity -let patch_xml ?via_http ?xmlbases () = - let xmlbases = ref xmlbases in - fun line -> - match !xmlbases with - | None -> patch_doctype ?via_http () (patch_entity ?via_http () line) - | Some (xmlbaseuri, xmlbaseurl) -> - patch_xmlbase xmlbases xmlbaseurl xmlbaseuri - (patch_doctype ?via_http () (patch_entity ?via_http () line)) - -let return_file - ~fname ?contype ?contenc ?patch_fun ?(gunzip = false) ?(via_http = true) - ~enc outchan -= - if via_http then begin - let headers = - match (contype, contenc) with - | (Some t, Some e) -> ["Content-Encoding", e; "Content-Type", t] - | (Some t, None) -> ["Content-Type" , t] - | (None, Some e) -> ["Content-Encoding", e] - | (None, None) -> [] - in - Http_daemon.send_basic_headers ~code:(`Code 200) outchan; - Http_daemon.send_headers headers outchan; - Http_daemon.send_CRLF outchan - end; - match gunzip, patch_fun with - | true, Some patch_fun -> - Http_getter_logger.log ~level:2 - "Patch required, uncompress/compress cycle needed :-("; - (* gunzip needed, uncompress file, apply patch_fun to it, compress the - * result and sent it to client *) - let (tmp1, tmp2) = - (Http_getter_misc.tempfile (), Http_getter_misc.tempfile ()) - in - (try - Http_getter_misc.gunzip ~keep:true ~output:tmp1 fname; (* gunzip tmp1 *) - let new_file = open_out tmp2 in - Http_getter_misc.iter_file (* tmp2 = patch(tmp1) *) - (fun line -> - output_string new_file (patch_fun line ^ "\n"); - flush outchan) - tmp1; - close_out new_file; - Http_getter_misc.gzip ~output:tmp1 tmp2;(* tmp1 = gzip(tmp2); rm tmp2 *) - Http_getter_misc.iter_file (* send tmp1 to client as is*) - (fun line -> output_string outchan (line ^ "\n"); flush outchan) - tmp1; - Sys.remove tmp1 (* rm tmp1 *) - with e -> - Sys.remove tmp1; - raise e) - | false, Some patch_fun -> - (match enc with - | `Normal -> - Http_getter_misc.iter_file - (fun line -> output_string outchan (patch_fun (line ^ "\n"))) - fname - | `Gzipped -> assert false) - (* dangerous case, if this happens it needs to be investigated *) - | _, None -> Http_getter_misc.iter_file_data (output_string outchan) fname -;; - diff --git a/helm/ocaml/getter/http_getter_common.mli b/helm/ocaml/getter/http_getter_common.mli deleted file mode 100644 index d1bc66f76..000000000 --- a/helm/ocaml/getter/http_getter_common.mli +++ /dev/null @@ -1,70 +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 Http_getter_types;; - -val string_of_ls_flag: ls_flag -> string -val string_of_encoding: encoding -> string - -val is_cic_uri: string -> bool -val is_cic_obj_uri: string -> bool -val is_theory_uri: string -> bool -val is_nuprl_uri: string -> bool -val is_rdf_uri: string -> bool -val is_xsl_uri: string -> bool - -val uri_of_string: string -> uri - - (** @param xmlbases (xml base URI * xml base URL) *) -val patch_xml : - ?via_http:bool -> ?xmlbases:(string * string) -> unit -> (string -> string) -val patch_dtd : ?via_http:bool -> unit -> (string -> string) - (* TODO via_http not yet supported for patch_xsl *) -val patch_xsl : ?via_http:bool -> unit -> (string -> string) - - (** - @param fname name of the file to be sent - @param contype Content-Type header value - @param contenc Content-Enconding header value - @param patch_fun function used to patch file contents - @param gunzip is meaningful only if a patch function is provided. If gunzip - is true and patch_fun is given (i.e. is not None), then patch_fun is applied - to the uncompressed version of the file. The file is then compressed again and - send to client - @param via_http (default: true) if true http specific communications are used - (e.g. headers, crlf before body) and sent via outchan, otherwise they're not. - Set it to false when saving to a local file - @param outchan output channel over which sent file fname *) -val return_file: - fname:string -> - ?contype:string -> ?contenc:string -> - ?patch_fun:(string -> string) -> ?gunzip:bool -> ?via_http:bool -> - enc:encoding -> - out_channel -> - unit - diff --git a/helm/ocaml/getter/http_getter_const.ml b/helm/ocaml/getter/http_getter_const.ml deleted file mode 100644 index 00fff4f37..000000000 --- a/helm/ocaml/getter/http_getter_const.ml +++ /dev/null @@ -1,100 +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;; - -let version = "0.4.0" -let conffile = "http_getter.conf.xml" - -let xhtml_ns = "http://www.w3.org/1999/xhtml" -let helm_ns = "http://www.cs.unibo.it/helm" - - (* TODO provide a better usage string *) -let usage_string configuration = - sprintf -" - - - HTTP Getter's help message - - -

    HTTP Getter, version %s

    -

    Usage information

    -

    - Usage: http://hostname:getterport/command -

    -

    - Available commands: -

    -

    - help
    - display this help message -

    -

    - getxml?uri=URI[&format=(normal|gz)][&patch_dtd=(yes|no)]
    -

    -

    - resolve?uri=URI
    -

    -

    - getdtd?uri=URI[&patch_dtd=(yes|no)]
    -

    -

    - getxslt?uri=URI[&patch_dtd=(yes|no)]
    -

    -

    - update
    -

    -

    - clean_cache
    -

    -

    - ls?baseuri=regexp&format=(txt|xml)
    -

    -

    - getalluris?format=(txt|xml)
    -

    -

    - getempty
    -

    -

    Current configuration

    -
    %s
    - - -" - xhtml_ns helm_ns - version configuration - -let empty_xml = -" - -]> - -" - diff --git a/helm/ocaml/getter/http_getter_const.mli b/helm/ocaml/getter/http_getter_const.mli deleted file mode 100644 index d532313f0..000000000 --- a/helm/ocaml/getter/http_getter_const.mli +++ /dev/null @@ -1,39 +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/ - *) - -val version: string -val conffile: string -val empty_xml: string - -val helm_ns: string (** helm namespace *) -val xhtml_ns: string (** xhtml namespace *) - - (** @return an HTML usage string including configuration information passed as - input parameter *) -val usage_string: string -> string - diff --git a/helm/ocaml/getter/http_getter_env.ml b/helm/ocaml/getter/http_getter_env.ml deleted file mode 100644 index c12709dcc..000000000 --- a/helm/ocaml/getter/http_getter_env.ml +++ /dev/null @@ -1,100 +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_types -open Http_getter_misc - -let version = Http_getter_const.version - -let prefix_RE = Pcre.regexp "^\\s*([^\\s]+)\\s+([^\\s]+)\\s*$" - -let cache_dir = lazy (normalize_dir (Helm_registry.get "getter.cache_dir")) -let dtd_dir = lazy (normalize_dir (Helm_registry.get "getter.dtd_dir")) -let dtd_base_urls = lazy ( - let rex = Pcre.regexp "/*$" in - let raw_urls = - match - Helm_registry.get_list Helm_registry.string "getter.dtd_base_urls" - with - | [] -> ["http://helm.cs.unibo.it/dtd"; "http://mowgli.cs.unibo.it/dtd"] - | urls -> urls - in - List.map (Pcre.replace ~rex) raw_urls) -let port = lazy ( - Helm_registry.get_opt_default Helm_registry.int ~default:58081 "getter.port") - -let prefixes = lazy ( - let prefixes = Helm_registry.get_list Helm_registry.string "getter.prefix" in - List.fold_left - (fun acc prefix -> - let subs = Pcre.extract ~rex:prefix_RE prefix in - try - (subs.(1), subs.(2)) :: acc - with Invalid_argument _ -> - Http_getter_logger.log ("skipping invalid prefix: " ^ prefix); - acc) - [] prefixes) - -let host = lazy (Http_getter_misc.backtick "hostname -f") - -let my_own_url = - lazy - (let (host, port) = (Lazy.force host, Lazy.force port) in - sprintf "http://%s%s" (* without trailing '/' *) - host (if port = 80 then "" else (sprintf ":%d" port))) - -let env_to_string () = - let pp_prefix (uri_prefix, url_prefix) = - " " ^ uri_prefix ^ " -- " ^ url_prefix - in - let pp_prefixes prefixes = - match prefixes with - | [] -> "" - | l -> "\n" ^ String.concat "\n" (List.map pp_prefix l) - in - sprintf -"HTTP Getter %s - -prefixes:%s -dtd_dir:\t%s -host:\t\t%s -port:\t\t%d -my_own_url:\t%s -dtd_base_urls:\t%s -log_file:\t%s -log_level:\t%d -" - version - (pp_prefixes (Lazy.force prefixes)) - (Lazy.force dtd_dir) (Lazy.force host) (Lazy.force port) - (Lazy.force my_own_url) (String.concat " " (Lazy.force dtd_base_urls)) - (match Http_getter_logger.get_log_file () with None -> "None" | Some f -> f) - (Http_getter_logger.get_log_level ()) - diff --git a/helm/ocaml/getter/http_getter_env.mli b/helm/ocaml/getter/http_getter_env.mli deleted file mode 100644 index fa90d354a..000000000 --- a/helm/ocaml/getter/http_getter_env.mli +++ /dev/null @@ -1,49 +0,0 @@ -(* Copyright (C) 2005, 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 general information} *) - -val version : string (* getter version *) - - (** {2 environment gathered data} *) - (** all *_dir values are returned with trailing "/" *) - -val cache_dir : string lazy_t (* cache root *) -val dtd_dir : string lazy_t (* DTDs' root directory *) -val port : int lazy_t (* port on which getter listens *) -val dtd_base_urls : string list lazy_t (* base URLs for document patching *) -val prefixes : (string * string) list lazy_t (* prefix map uri -> url *) - - (* {2 derived data} *) - -val host : string lazy_t (* host on which getter listens *) -val my_own_url : string lazy_t (* URL at which contact getter *) - - (* {2 misc} *) - -val env_to_string : unit -> string (* dump a textual representation of the - current http_getter settings on an output - channel *) - diff --git a/helm/ocaml/getter/http_getter_logger.ml b/helm/ocaml/getter/http_getter_logger.ml deleted file mode 100644 index f77b5eba8..000000000 --- a/helm/ocaml/getter/http_getter_logger.ml +++ /dev/null @@ -1,61 +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/ - *) - -let log_level = ref 1 -let get_log_level () = !log_level -let set_log_level l = log_level := l - -(* invariant: if logfile is set, then logchan is set too *) -let logfile = ref None -let logchan = ref None - -let set_log_file f = - (match !logchan with None -> () | Some oc -> close_out oc); - match f with - | Some f -> - logfile := Some f; - logchan := Some (open_out f) - | None -> - logfile := None; - logchan := None - -let get_log_file () = !logfile - -let close_log_file () = set_log_file None - -let log ?(level = 1) s = - if level <= !log_level then - let msg = "[HTTP-Getter] " ^ s in - match (!logfile, !logchan) with - | None, _ -> prerr_endline msg - | Some fname, Some oc -> - output_string oc msg; - output_string oc "\n"; - flush oc - | Some _, None -> assert false - diff --git a/helm/ocaml/getter/http_getter_logger.mli b/helm/ocaml/getter/http_getter_logger.mli deleted file mode 100644 index d39fe739d..000000000 --- a/helm/ocaml/getter/http_getter_logger.mli +++ /dev/null @@ -1,49 +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/ - *) - -(** {2 Debugger and logger} *) - - (** log level - * 0 -> logging disabled - * 1 -> standard logging - * >=2 -> verbose logging - * default is 1 *) -val get_log_level: unit -> int -val set_log_level: int -> unit - - (** log a message through the logger with a given log level - * level defaults to 1, higher level denotes more verbose messages which are - * ignored with the default log_level *) -val log: ?level: int -> string -> unit - - (** if set to Some fname, fname will be used as a logfile, otherwise stderr - * will be used *) -val get_log_file: unit -> string option -val set_log_file: string option -> unit -val close_log_file: unit -> unit - diff --git a/helm/ocaml/getter/http_getter_misc.ml b/helm/ocaml/getter/http_getter_misc.ml deleted file mode 100644 index b7b52bbf6..000000000 --- a/helm/ocaml/getter/http_getter_misc.ml +++ /dev/null @@ -1,313 +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 - -let file_scheme_prefix = "file://" - -let trailing_dot_gz_RE = Pcre.regexp "\\.gz$" (* for g{,un}zip *) -let url_RE = Pcre.regexp "^([\\w.-]+)(:(\\d+))?(/.*)?$" -let http_scheme_RE = Pcre.regexp ~flags:[`CASELESS] "^http://" -let file_scheme_RE = Pcre.regexp ~flags:[`CASELESS] ("^" ^ file_scheme_prefix) -let dir_sep_RE = Pcre.regexp "/" -let heading_slash_RE = Pcre.regexp "^/" - -let local_url = - let rex = Pcre.regexp ("^(" ^ file_scheme_prefix ^ ")(.*)(.gz)$") in - fun s -> - try - Some ((Pcre.extract ~rex s).(2)) - with Not_found -> None - -let bufsiz = 16384 (* for file system I/O *) -let tcp_bufsiz = 4096 (* for TCP I/O *) - -let fold_file f init fname = - let ic = open_in fname in - let rec aux acc = - let line = try Some (input_line ic) with End_of_file -> None in - match line with - | None -> acc - | Some line -> aux (f line acc) - in - let res = try aux init with e -> close_in ic; raise e in - close_in ic; - res - -let iter_file f = fold_file (fun line _ -> f line) () - -let iter_buf_size = 10240 - -let iter_file_data f fname = - let ic = open_in fname in - let buf = String.create iter_buf_size in - try - while true do - let bytes = input ic buf 0 iter_buf_size in - if bytes = 0 then raise End_of_file; - f (String.sub buf 0 bytes) - done - with End_of_file -> close_in ic - -let hashtbl_sorted_fold f tbl init = - let sorted_keys = - List.sort compare (Hashtbl.fold (fun key _ keys -> key::keys) tbl []) - in - List.fold_left (fun acc k -> f k (Hashtbl.find tbl k) acc) init sorted_keys - -let hashtbl_sorted_iter f tbl = - let sorted_keys = - List.sort compare (Hashtbl.fold (fun key _ keys -> key::keys) tbl []) - in - List.iter (fun k -> f k (Hashtbl.find tbl k)) sorted_keys - -let cp src dst = - try - let ic = open_in src in - try - let oc = open_out dst in - let buf = String.create bufsiz in - (try - while true do - let bytes = input ic buf 0 bufsiz in - if bytes = 0 then raise End_of_file else output oc buf 0 bytes - done - with - End_of_file -> () - ); - close_in ic; close_out oc - with - Sys_error s -> - Http_getter_logger.log s; - close_in ic - | e -> - Http_getter_logger.log (Printexc.to_string e); - close_in ic; - raise e - with - Sys_error s -> - Http_getter_logger.log s - | e -> - Http_getter_logger.log (Printexc.to_string e); - raise e - -let wget ?output url = - Http_getter_logger.log - (sprintf "wgetting %s (output: %s)" url - (match output with None -> "default" | Some f -> f)); - match url with - | url when Pcre.pmatch ~rex:file_scheme_RE url -> (* file:// *) - (let src_fname = Pcre.replace ~rex:file_scheme_RE url in - match output with - | Some dst_fname -> cp src_fname dst_fname - | None -> - let dst_fname = Filename.basename src_fname in - if src_fname <> dst_fname then - cp src_fname dst_fname - else (* src and dst are the same: do nothing *) - ()) - | url when Pcre.pmatch ~rex:http_scheme_RE url -> (* http:// *) - (let oc = - open_out (match output with Some f -> f | None -> Filename.basename url) - in - Http_user_agent.get_iter (fun data -> output_string oc data) url; - close_out oc) - | scheme -> (* unsupported scheme *) - failwith ("Http_getter_misc.wget: unsupported scheme: " ^ scheme) - -let gzip ?(keep = false) ?output fname = - let output = match output with None -> fname ^ ".gz" | Some fname -> fname in - Http_getter_logger.log ~level:3 - (sprintf "gzipping %s (keep: %b, output: %s)" fname keep output); - let (ic, oc) = (open_in fname, Gzip.open_out output) in - let buf = String.create bufsiz in - (try - while true do - let bytes = input ic buf 0 bufsiz in - if bytes = 0 then raise End_of_file else Gzip.output oc buf 0 bytes - done - with End_of_file -> ()); - close_in ic; Gzip.close_out oc; - if not keep then Sys.remove fname -;; - -let gunzip ?(keep = false) ?output fname = - (* assumption: given file name ends with ".gz" or output is set *) - let output = - match output with - | None -> - if (Pcre.pmatch ~rex:trailing_dot_gz_RE fname) then - Pcre.replace ~rex:trailing_dot_gz_RE fname - else - failwith - "Http_getter_misc.gunzip: unable to determine output file name" - | Some fname -> fname - in - Http_getter_logger.log ~level:3 - (sprintf "gunzipping %s (keep: %b, output: %s)" fname keep output); - (* Open the zipped file manually since Gzip.open_in may - * leak the descriptor if it raises an exception *) - let zic = open_in fname in - begin - try - let ic = Gzip.open_in_chan zic in - let oc = open_out output in - let buf = String.create bufsiz in - (try - while true do - let bytes = Gzip.input ic buf 0 bufsiz in - if bytes = 0 then raise End_of_file else Pervasives.output oc buf 0 bytes - done - with End_of_file -> ()); - close_out oc; - Gzip.close_in ic - with - e -> close_in zic ; raise e - end ; - if not keep then Sys.remove fname -;; - -let tempfile () = Filename.temp_file "http_getter_" "" - -exception Mkdir_failure of string * string;; (* dirname, failure reason *) -let dir_perm = 0o755 - -let mkdir ?(parents = false) dirname = - let mkdirhier () = - let (pieces, hd) = - let split = Pcre.split ~rex:dir_sep_RE dirname in - if Pcre.pmatch ~rex:heading_slash_RE dirname then - (List.tl split, "/") - else - (split, "") - in - ignore - (List.fold_left - (fun pre dir -> - let next_dir = - sprintf "%s%s%s" pre (match pre with "/" | "" -> "" | _ -> "/") dir - in - (try - (match (Unix.stat next_dir).Unix.st_kind with - | Unix.S_DIR -> () (* dir component already exists, go on! *) - | _ -> (* dir component already exists but isn't a dir, abort! *) - raise - (Mkdir_failure (dirname, - sprintf "'%s' already exists but is not a dir" next_dir))) - with Unix.Unix_error (Unix.ENOENT, "stat", _) -> - (* dir component doesn't exists, create it and go on! *) - Unix.mkdir next_dir dir_perm); - next_dir) - hd pieces) - in - if parents then mkdirhier () else Unix.mkdir dirname dir_perm - -let string_of_proc_status = function - | Unix.WEXITED code -> sprintf "[Exited: %d]" code - | Unix.WSIGNALED sg -> sprintf "[Killed: %d]" sg - | Unix.WSTOPPED sg -> sprintf "[Stopped: %d]" sg - -let http_get url = - if Pcre.pmatch ~rex:file_scheme_RE url then begin - (* file:// URL. Read data from file system *) - let fname = Pcre.replace ~rex:file_scheme_RE url in - try - let size = (Unix.stat fname).Unix.st_size in - let buf = String.create size in - let ic = open_in fname in - really_input ic buf 0 size ; - close_in ic; - Some buf - with Unix.Unix_error (Unix.ENOENT, "stat", _) -> None - end else (* other URL, pass it to Http_user_agent *) - try - Some (Http_user_agent.get url) - with e -> - Http_getter_logger.log (sprintf - "Warning: Http_user_agent failed on url %s with exception: %s" - url (Printexc.to_string e)); - None - -let is_blank_line = - let blank_line_RE = Pcre.regexp "(^#)|(^\\s*$)" in - fun line -> - Pcre.pmatch ~rex:blank_line_RE line - -let normalize_dir s = (* append "/" if missing *) - let len = String.length s in - try - if s.[len - 1] = '/' then s - else s ^ "/" - with Invalid_argument _ -> (* string is empty *) "/" - -let strip_trailing_slash s = - try - let len = String.length s in - if s.[len - 1] = '/' then String.sub s 0 (len - 1) - else s - with Invalid_argument _ -> s - -let strip_suffix ~suffix s = - try - let s_len = String.length s in - let suffix_len = String.length suffix in - let suffix_sub = String.sub s (s_len - suffix_len) suffix_len in - if suffix_sub <> suffix then raise (Invalid_argument ""); - String.sub s 0 (s_len - suffix_len) - with Invalid_argument _ -> - raise (Invalid_argument "Http_getter_misc.strip_suffix") - -let rec list_uniq = function - | [] -> [] - | h::[] -> [h] - | h1::h2::tl when h1 = h2 -> list_uniq (h2 :: tl) - | h1::tl (* when h1 <> h2 *) -> h1 :: list_uniq tl - -let extension s = - try - let idx = String.rindex s '.' in - String.sub s idx (String.length s - idx) - with Not_found -> "" - -let temp_file_of_uri uri = - let flat_string s s' c = - let cs = String.copy s in - for i = 0 to (String.length s) - 1 do - if String.contains s' s.[i] then cs.[i] <- c - done; - cs - in - let user = try Unix.getlogin () with _ -> "" in - Filename.open_temp_file (user ^ flat_string uri ".-=:;!?/&" '_') "" - -let backtick cmd = - let ic = Unix.open_process_in cmd in - let res = input_line ic in - ignore (Unix.close_process_in ic); - res - diff --git a/helm/ocaml/getter/http_getter_misc.mli b/helm/ocaml/getter/http_getter_misc.mli deleted file mode 100644 index e9b013ebd..000000000 --- a/helm/ocaml/getter/http_getter_misc.mli +++ /dev/null @@ -1,102 +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/ - *) - - (** 'mkdir' failed, arguments are: name of the directory to be created and - failure reason *) -exception Mkdir_failure of string * string - - (** @return Some localpart for URI belonging to the "file://" scheme, None for - * other URIs - * removes trailing ".gz", if any - * e.g.: local_url "file:///etc/passwd.gz" = Some "/etc/passwd" - * local_url "http://...." = None *) -val local_url: string -> string option - - (** "fold_left" like function on file lines, trailing newline is not passed to - the given function *) -val fold_file : (string -> 'a -> 'a) -> 'a -> string -> 'a - - (* "iter" like function on file lines, trailing newline is not passed to the - given function *) -val iter_file : (string -> unit) -> string -> unit - - (* "iter" like function on file data chunks of fixed size *) -val iter_file_data: (string -> unit) -> string -> unit - - (** like Hashtbl.fold but keys are processed ordered *) -val hashtbl_sorted_fold : - ('a -> 'b -> 'c -> 'c) -> ('a, 'b) Hashtbl.t -> 'c -> 'c - (** like Hashtbl.iter but keys are processed ordered *) -val hashtbl_sorted_iter : ('a -> 'b -> unit) -> ('a, 'b) Hashtbl.t -> unit - -val list_uniq: 'a list -> 'a list (* uniq unix filter on lists *) - - (** cp frontend *) -val cp: string -> string -> unit - (** wget frontend, if output is given it is the destination file, otherwise - standard wget rules are used. Additionally this function support also the - "file://" scheme for file system addressing *) -val wget: ?output: string -> string -> unit - (** gzip frontend. If keep = true original file will be kept, default is - false. output is the file on which gzipped data will be saved, default is - given file with an added ".gz" suffix *) -val gzip: ?keep: bool -> ?output: string -> string -> unit - (** gunzip frontend. If keep = true original file will be kept, default is - false. output is the file on which gunzipped data will be saved, default is - given file name without trailing ".gz" *) -val gunzip: ?keep: bool -> ?output: string -> string -> unit - (** tempfile frontend, return the name of created file. A special purpose - suffix is used (actually "_http_getter" *) -val tempfile: unit -> string - (** mkdir frontend, if parents = true also parent directories will be created. - If the given directory already exists doesn't act. - parents defaults to false *) -val mkdir: ?parents:bool -> string -> unit - - (** pretty printer for Unix.process_status values *) -val string_of_proc_status : Unix.process_status -> string - - (** raw URL downloader, return Some the contents of downloaded resource or - None if an error occured while downloading. This function support also - "file://" scheme for filesystem resources *) -val http_get: string -> string option - - (** true on blanks-only and #-commented lines, false otherwise *) -val is_blank_line: string -> bool - -val normalize_dir: string -> string (** add trailing "/" if missing *) -val strip_trailing_slash: string -> string -val strip_suffix: suffix:string -> string -> string - -val extension: string -> string (** @return string part after rightmost "." *) - -val temp_file_of_uri: string -> string * out_channel - - (** execute a command and return first line of what it prints on stdout *) -val backtick: string -> string - diff --git a/helm/ocaml/getter/http_getter_storage.ml b/helm/ocaml/getter/http_getter_storage.ml deleted file mode 100644 index 3418956ea..000000000 --- a/helm/ocaml/getter/http_getter_storage.ml +++ /dev/null @@ -1,261 +0,0 @@ -(* Copyright (C) 2004-2005, 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 Http_getter_misc -open Http_getter_types - -exception Not_found' -exception Resource_not_found of string * string (** method, uri *) - -let index_fname = "INDEX" - -let trailing_slash_RE = Pcre.regexp "/$" -let relative_RE_raw = "(^[^/]+(/[^/]+)*/?$)" -let relative_RE = Pcre.regexp relative_RE_raw -let file_scheme_RE_raw = "(^file://)" -let extended_file_scheme_RE = Pcre.regexp "(^file:/+)" -let file_scheme_RE = Pcre.regexp (relative_RE_raw ^ "|" ^ file_scheme_RE_raw) -let http_scheme_RE = Pcre.regexp "^http://" -let newline_RE = Pcre.regexp "\\n" -let cic_scheme_sep_RE = Pcre.regexp ":/" -let gz_suffix = ".gz" -let gz_suffix_len = String.length gz_suffix - -let path_of_file_url url = - assert (Pcre.pmatch ~rex:file_scheme_RE url); - if Pcre.pmatch ~rex:relative_RE url then - url - else (* absolute path, add heading "/" if missing *) - "/" ^ (Pcre.replace ~rex:extended_file_scheme_RE url) - - (** associative list regular expressions -> url prefixes - * sorted with longest prefixes first *) -let prefix_map = lazy ( - let map_w_length = - List.map - (fun (uri_prefix, url_prefix) -> - let uri_prefix = normalize_dir uri_prefix in - let url_prefix = normalize_dir url_prefix in - let regexp = Pcre.regexp ("^(" ^ Pcre.quote uri_prefix ^ ")") in - (regexp, String.length uri_prefix, uri_prefix, url_prefix)) - (Lazy.force Http_getter_env.prefixes) - in - let decreasing_length (_, len1, _, _) (_, len2, _, _) = compare len2 len1 in - List.map - (fun (regexp, len, uri_prefix, url_prefix) -> - (regexp, strip_trailing_slash uri_prefix, url_prefix)) - (List.fast_sort decreasing_length map_w_length)) - -let resolve_prefix uri = - let matches = - List.filter (fun (rex, _, _) -> Pcre.pmatch ~rex uri) - (Lazy.force prefix_map) - in - match matches with - | (rex, _, url_prefix) :: _ -> Pcre.replace_first ~rex ~templ:url_prefix uri - | [] -> raise (Unresolvable_URI uri) - -let resolve_prefixes uri = - let matches = - List.filter (fun (rex, _, _) -> Pcre.pmatch ~rex uri) - (Lazy.force prefix_map) - in - if matches = [] then raise (Unresolvable_URI uri); - List.map - (fun (rex, _, url_prefix) -> Pcre.replace_first ~rex ~templ:url_prefix uri) - matches - -let exists_http _ url = - Http_getter_wget.exists (url ^ gz_suffix) || Http_getter_wget.exists url - -let exists_file _ fname = - Sys.file_exists (fname ^ gz_suffix) || Sys.file_exists fname - -let resolve_http _ url = - try - List.find Http_getter_wget.exists [ url ^ gz_suffix; url ] - with Not_found -> raise Not_found' - -let resolve_file _ fname = - try - List.find Sys.file_exists [ fname ^ gz_suffix; fname ] - with Not_found -> raise Not_found' - -let strip_gz_suffix fname = - if extension fname = gz_suffix then - String.sub fname 0 (String.length fname - gz_suffix_len) - else - fname - -let remove_duplicates l = - Http_getter_misc.list_uniq (List.fast_sort Pervasives.compare l) - -let ls_file_single _ path_prefix = - let is_dir fname = (Unix.stat fname).Unix.st_kind = Unix.S_DIR in - let is_useless dir = try dir.[0] = '.' with _ -> false in - let entries = ref [] in - try - let dir_handle = Unix.opendir path_prefix in - (try - while true do - let entry = Unix.readdir dir_handle in - if is_useless entry then - () - else if is_dir (path_prefix ^ "/" ^ entry) then - entries := normalize_dir entry :: !entries - else - entries := strip_gz_suffix entry :: !entries - done - with End_of_file -> Unix.closedir dir_handle); - remove_duplicates !entries - with Unix.Unix_error (_, "opendir", _) -> [] - -let ls_http_single _ url_prefix = - try - let index = Http_getter_wget.get (normalize_dir url_prefix ^ index_fname) in - Pcre.split ~rex:newline_RE index - with Http_client_error _ -> raise Not_found' - -let get_file _ path = - if Sys.file_exists (path ^ gz_suffix) then - path ^ gz_suffix - else if Sys.file_exists path then - path - else - raise Not_found' - -let get_http uri url = - let scheme, path = - match Pcre.split ~rex:cic_scheme_sep_RE uri with - | [scheme; path] -> scheme, path - | _ -> assert false - in - let cache_name = - sprintf "%s%s/%s" (Lazy.force Http_getter_env.cache_dir) scheme path - in - if Sys.file_exists (cache_name ^ gz_suffix) then - cache_name ^ gz_suffix - else if Sys.file_exists cache_name then - cache_name - else begin (* fill cache *) - Http_getter_misc.mkdir ~parents:true (Filename.dirname cache_name); - (try - Http_getter_wget.get_and_save (url ^ gz_suffix) (cache_name ^ gz_suffix); - cache_name ^ gz_suffix - with Http_client_error _ -> - (try - Http_getter_wget.get_and_save url cache_name; - cache_name - with Http_client_error _ -> - raise Not_found')) - end - -let remove_file _ path = - if Sys.file_exists (path ^ gz_suffix) then Sys.remove (path ^ gz_suffix); - if Sys.file_exists path then Sys.remove path - -let remove_http _ _ = - prerr_endline "Http_getter_storage.remove: not implemented for HTTP scheme"; - assert false - -type 'a storage_method = { - name: string; - file: string -> string -> 'a; (* unresolved uri, resolved uri *) - http: string -> string -> 'a; (* unresolved uri, resolved uri *) -} - -let normalize_root uri = (* add trailing slash to roots *) - try - if uri.[String.length uri - 1] = ':' then uri ^ "/" - else uri - with Invalid_argument _ -> uri - -let invoke_method storage_method uri url = - try - if Pcre.pmatch ~rex:file_scheme_RE url then - storage_method.file uri (path_of_file_url url) - else if Pcre.pmatch ~rex:http_scheme_RE url then - storage_method.http uri url - else - raise (Unsupported_scheme url) - with Not_found' -> raise (Resource_not_found (storage_method.name, uri)) - -let dispatch_single storage_method uri = - assert (extension uri <> gz_suffix); - let uri = normalize_root uri in - let url = resolve_prefix uri in - invoke_method storage_method uri url - -let dispatch_multi storage_method uri = - let urls = resolve_prefixes uri in - let rec aux = function - | [] -> raise (Resource_not_found (storage_method.name, uri)) - | url :: tl -> - (try - invoke_method storage_method uri url - with Resource_not_found _ -> aux tl) - in - aux urls - -let exists = - dispatch_single { name = "exists"; file = exists_file; http = exists_http } - -let resolve = - dispatch_single { name = "resolve"; file = resolve_file; http = resolve_http } - -let ls_single = - dispatch_single { name = "ls"; file = ls_file_single; http = ls_http_single } - -let remove = - dispatch_single { name = "remove"; file = remove_file; http = remove_http } - -let filename ?(find = false) = - if find then - dispatch_multi { name = "filename"; file = get_file; http = get_http } - else - dispatch_single { name = "filename"; file = get_file; http = get_http } - - (* ls_single performs ls only below a single prefix, but prefixes which have - * common prefix (sorry) with a given one may need to be considered as well - * for example: when doing "ls cic:/" we would like to see the "cic:/matita" - * directory *) -let ls uri_prefix = -(* prerr_endline ("Http_getter_storage.ls " ^ uri_prefix); *) - let direct_results = ls_single uri_prefix in - List.fold_left - (fun results (_, uri_prefix', _) -> - if Filename.dirname uri_prefix' = strip_trailing_slash uri_prefix then - (Filename.basename uri_prefix' ^ "/") :: results - else - results) - direct_results - (Lazy.force prefix_map) - -let clean_cache () = - ignore (Sys.command - (sprintf "rm -rf %s/" (Lazy.force Http_getter_env.cache_dir))) - diff --git a/helm/ocaml/getter/http_getter_storage.mli b/helm/ocaml/getter/http_getter_storage.mli deleted file mode 100644 index 5dd997843..000000000 --- a/helm/ocaml/getter/http_getter_storage.mli +++ /dev/null @@ -1,67 +0,0 @@ -(* Copyright (C) 2004-2005, 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/ - *) - -(** Transparent handling of local/remote getter resources. - * Configuration of this module are prefix mappings (see - * Http_getter_env.prefixes). All functions of this module take as input an URI, - * resolve it using mappings and act on the resulting resource which can be - * local (file:/// scheme or relative path) or remote via HTTP (http:// scheme). - * - * Each resource could be either compressed (trailing ".gz") or non-compressed. - * All functions of this module will first loook for the compressed resource - * (i.e. the asked one ^ ".gz"), falling back to the non-compressed one. - * - * All filenames returned by functions of this module exists on the filesystem - * after function's return. - * - * Almost all functions may raise Resource_not_found, the following invariant - * holds: that exception is raised iff exists return false on a given resource - * *) - -exception Resource_not_found of string * string (** method, uri *) - - (** @return a list of string where dir are returned with a trailing "/" *) -val ls: string -> string list - - - (** @return the filename of the resource corresponding to a given uri. Handle - * download and caching for remote resources. - * @param find if set to true all matching prefixes will be searched for the - * asked resource, if not only the best matching prefix will be used. Note - * that the search is performed only if the asked resource is not found in - * cache (i.e. to perform the find again you need to clean the cache). - * Defaults to false *) -val filename: ?find:bool -> string -> string - - (** only works for local resources - * if both compressed and non-compressed versions of a resource exist, both of - * them are removed *) -val remove: string -> unit - -val exists: string -> bool -val resolve: string -> string - -val clean_cache: unit -> unit - diff --git a/helm/ocaml/getter/http_getter_types.ml b/helm/ocaml/getter/http_getter_types.ml deleted file mode 100644 index 172550652..000000000 --- a/helm/ocaml/getter/http_getter_types.ml +++ /dev/null @@ -1,68 +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/ - *) - -exception Bad_request of string -exception Unresolvable_URI of string -exception Invalid_URI of string -exception Invalid_URL of string -exception Invalid_RDF_class of string -exception Internal_error of string -exception Cache_failure of string -exception Dtd_not_found of string (* dtd's url *) -exception Key_already_in of string;; -exception Key_not_found of string;; -exception Http_client_error of string * string (* url, error message *) -exception Unsupported_scheme of string (** unsupported url scheme *) - -type encoding = [ `Normal | `Gzipped ] -type answer_format = [ `Text | `Xml ] -type ls_flag = No | Yes | Ann -type ls_object = - { - uri: string; - ann: bool; - types: ls_flag; - body: ls_flag; - proof_tree: ls_flag; - } -type ls_item = - | Ls_section of string - | Ls_object of ls_object - -type xml_uri = - | Cic of string - | Theory of string -type rdf_uri = string * xml_uri -type nuprl_uri = string -type uri = - | Cic_uri of xml_uri - | Nuprl_uri of nuprl_uri - | Rdf_uri of rdf_uri - -module StringSet = Set.Make (String) - diff --git a/helm/ocaml/getter/http_getter_wget.ml b/helm/ocaml/getter/http_getter_wget.ml deleted file mode 100644 index a6118c82c..000000000 --- a/helm/ocaml/getter/http_getter_wget.ml +++ /dev/null @@ -1,68 +0,0 @@ -(* Copyright (C) 2000-2005, 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 Http_getter_types - -let send cmd = - try - ignore (Http_user_agent.get cmd) - with exn -> raise (Http_client_error (cmd, Printexc.to_string exn)) - -let get url = - try - Http_user_agent.get url - with exn -> raise (Http_client_error (Printexc.to_string exn, url)) - -let get_and_save url dest_filename = - let out_channel = open_out dest_filename in - (try - Http_user_agent.get_iter (output_string out_channel) url; - with exn -> - close_out out_channel; - Sys.remove dest_filename; - raise (Http_client_error (Printexc.to_string exn, url))); - close_out out_channel - -let get_and_save_to_tmp url = - let flat_string s s' c = - let cs = String.copy s in - for i = 0 to (String.length s) - 1 do - if String.contains s' s.[i] then cs.[i] <- c - done; - cs - in - let user = try Unix.getlogin () with _ -> "" in - let tmp_file = - Filename.temp_file (user ^ flat_string url ".-=:;!?/&" '_') "" - in - get_and_save url tmp_file; - tmp_file - -let exists url = - try - ignore (Http_user_agent.head url); - true - with Http_user_agent.Http_error _ -> false - diff --git a/helm/ocaml/getter/http_getter_wget.mli b/helm/ocaml/getter/http_getter_wget.mli deleted file mode 100644 index 5d28df185..000000000 --- a/helm/ocaml/getter/http_getter_wget.mli +++ /dev/null @@ -1,35 +0,0 @@ -(* Copyright (C) 2000-2005, 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/. - *) - - (** try to guess if an HTTP resource exists using HEAD request - * @return true if HEAD response code = 200 *) -val exists: string -> bool - -val get: string -> string -val get_and_save: string -> string -> unit -val get_and_save_to_tmp: string -> string - -val send: string -> unit - diff --git a/helm/ocaml/getter/mkindexes.pl b/helm/ocaml/getter/mkindexes.pl deleted file mode 100755 index 3107846aa..000000000 --- a/helm/ocaml/getter/mkindexes.pl +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/perl -w -# To be invoked in a directory where a tree of XML files of the HELM library is -# rooted. This script will then creates INDEX files in all directories of the -# tree. -use strict; -my $index_fname = "INDEX"; -sub getcwd() { - my $pwd = `pwd`; - chomp $pwd; - return $pwd; -} -sub add_trailing_slash($) { - my ($dir) = @_; - return $dir if ($dir =~ /\/$/); - return "$dir/"; -} -sub indexable($) { - my ($fname) = @_; - return 1 if ($fname =~ /\.(ind|types|body|var|theory).xml/); - return 0; -} -my @todo = (getcwd()); -while (my $dir = shift @todo) { - print "$dir\n"; - chdir $dir or die "Can't chdir to $dir\n"; - open LS, 'ls | sed \'s/\\.gz//\' | sort | uniq |'; - open INDEX, "> $index_fname" - or die "Can't open $index_fname in " . getcwd() . "\n"; - while (my $entry = ) { - chomp $entry; - if (-d $entry) { - print INDEX add_trailing_slash($entry) . "\n"; - push @todo, getcwd() . "/$entry"; - } else { - print INDEX "$entry\n" if indexable($entry); - } - } - close INDEX; - close LS; -} diff --git a/helm/ocaml/getter/sample.conf.xml b/helm/ocaml/getter/sample.conf.xml deleted file mode 100644 index 87ce6cbc9..000000000 --- a/helm/ocaml/getter/sample.conf.xml +++ /dev/null @@ -1,44 +0,0 @@ - -
    - /tmp/helm/cache - /projects/helm/xml/dtd - 58081 - 180 - http_getter.log - - theory:/ file:///projects/helm/library/theories/ - - - xslt:/ file:///projects/helm/xml/stylesheets_ccorn/ - - - xslt:/ file:///projects/helm/xml/stylesheets_hanane/ - - - xslt:/ file:///projects/helm/xml/on-line/xslt/ - - - xslt:/ file:///projects/helm/nuprl/NuPRL/nuprl_stylesheets/ - - - nuprl:/ http://www.cs.uwyo.edu/~nuprl/helm-library/ - - - cic:/ file:///projects/helm/library/coq_contribs/ - - - xslt:/ file:///projects/helm/xml/stylesheets/ - - - xslt:/ file:///projects/helm/xml/stylesheets/generated/ - - - theory:/residual_theory_in_lambda_calculus/ - http://helm.cs.unibo.it/~sacerdot/huet_lambda_calculus_mowgli/residual_theory_in_lambda_calculus/ - - - theory:/IDA/ - http://mowgli.cs.unibo.it/~sacerdot/ida/IDA/ - -
    -
    diff --git a/helm/ocaml/getter/test.ml b/helm/ocaml/getter/test.ml deleted file mode 100644 index a35ed4d5b..000000000 --- a/helm/ocaml/getter/test.ml +++ /dev/null @@ -1,11 +0,0 @@ - -let _ = Helm_registry.load_from "foo.conf.xml" -let fname = Http_getter.getxml ~format:`Normal ~patch_dtd:true Sys.argv.(1) in -let ic = open_in fname in -(try - while true do - let line = input_line ic in - print_endline line - done -with End_of_file -> ()) - diff --git a/helm/ocaml/hbugs/.cvsignore b/helm/ocaml/hbugs/.cvsignore deleted file mode 100644 index ee95e49d9..000000000 --- a/helm/ocaml/hbugs/.cvsignore +++ /dev/null @@ -1,9 +0,0 @@ -hbugs_client_gui.ml -hbugs_client_gui.mli -.generated_tutors.ml -.tutors.ml -*.cma -*.cmi -*.cmo -*.cmx -*.cmxa diff --git a/helm/ocaml/hbugs/.depend b/helm/ocaml/hbugs/.depend deleted file mode 100644 index d6a85b905..000000000 --- a/helm/ocaml/hbugs/.depend +++ /dev/null @@ -1,20 +0,0 @@ -hbugs_common.cmi: hbugs_types.cmi -hbugs_id_generator.cmi: hbugs_types.cmi -hbugs_messages.cmi: hbugs_types.cmi -hbugs_client.cmi: hbugs_types.cmi -hbugs_misc.cmo: hbugs_misc.cmi -hbugs_misc.cmx: hbugs_misc.cmi -hbugs_common.cmo: hbugs_types.cmi hbugs_common.cmi -hbugs_common.cmx: hbugs_types.cmi hbugs_common.cmi -hbugs_id_generator.cmo: hbugs_id_generator.cmi -hbugs_id_generator.cmx: hbugs_id_generator.cmi -hbugs_messages.cmo: hbugs_types.cmi hbugs_misc.cmi hbugs_messages.cmi -hbugs_messages.cmx: hbugs_types.cmi hbugs_misc.cmx hbugs_messages.cmi -hbugs_client_gui.cmo: hbugs_client_gui.cmi -hbugs_client_gui.cmx: hbugs_client_gui.cmi -hbugs_client.cmo: hbugs_types.cmi hbugs_misc.cmi hbugs_messages.cmi \ - hbugs_id_generator.cmi hbugs_common.cmi hbugs_client_gui.cmi \ - hbugs_client.cmi -hbugs_client.cmx: hbugs_types.cmi hbugs_misc.cmx hbugs_messages.cmx \ - hbugs_id_generator.cmx hbugs_common.cmx hbugs_client_gui.cmx \ - hbugs_client.cmi diff --git a/helm/ocaml/hbugs/Makefile b/helm/ocaml/hbugs/Makefile deleted file mode 100644 index 542bd2e3a..000000000 --- a/helm/ocaml/hbugs/Makefile +++ /dev/null @@ -1,100 +0,0 @@ - -# Targets description: -# all (default) -> builds hbugs bytecode library hbugs.cma -# opt -> builds hbugs native library hbugs.cmxa -# daemons -> builds hbugs broker and tutors executables -# -# start -> starts up broker and tutors -# stop -> stop broker and tutors -# -# broker -> builds broker executable -# tutors -> builds tutors executables -# client -> builds hbugs client - -PACKAGE = hbugs -REQUIRES = \ - pcre lablgtk2.glade \ - helm-thread helm-xml helm-pxp helm-tactics helm-registry - -IMPLEMENTATION_FILES = \ - hbugs_misc.ml \ - hbugs_common.ml \ - hbugs_id_generator.ml \ - hbugs_messages.ml \ - hbugs_client_gui.ml \ - hbugs_client.ml -INTERFACE_FILES = \ - hbugs_types.mli \ - $(patsubst %.ml, %.mli, $(IMPLEMENTATION_FILES)) - -include ../Makefile.common -include .tutors.ml -include .generated_tutors.ml - -.tutors.ml: - echo -n "TUTORS_ML = " > $@ - scripts/ls_tutors.ml | xargs >> $@ -.generated_tutors.ml: - echo -n "GENERATED_TUTORS_ML = " > $@ - scripts/ls_tutors.ml -auto | xargs >> $@ - -TUTORS = $(patsubst %.ml, %, $(TUTORS_ML)) -TUTORS_OPT = $(patsubst %, %.opt, $(TUTORS)) -GENERATED_TUTORS = $(patsubst %.ml, %, $(GENERATED_TUTORS_ML)) - -hbugs_client_gui.ml hbugs_client_gui.mli: hbugs_client_gui.glade - lablgladecc2 $< > hbugs_client_gui.ml - $(OCAMLC) -i hbugs_client_gui.ml > hbugs_client_gui.mli - -clean: clean_mains -.PHONY: clean_mains -clean_mains: - rm -f $(TUTORS) $(TUTORS_OPT) broker{,.opt} client{,.opt} -distclean: clean - rm -f $(GENERATED_TUTORS_ML) hbugs_client_gui.ml{,i} - rm -f .tutors.ml .generated_tutors.ml - -MAINS_DEPS = \ - hbugs_misc.cmo \ - hbugs_messages.cmo \ - hbugs_id_generator.cmo -TUTOR_DEPS = $(MAINS_DEPS) \ - hbugs_tutors.cmo -BROKER_DEPS = $(MAINS_DEPS) \ - hbugs_broker_registry.cmo -CLIENT_DEPS = $(MAINS_DEPS) \ - hbugs_client_gui.cmo \ - hbugs_common.cmo \ - hbugs_client.cmo -TUTOR_DEPS_OPT = $(patsubst %.cmo, %.cmx, $(TUTOR_DEPS)) -BROKER_DEPS_OPT = $(patsubst %.cmo, %.cmx, $(BROKER_DEPS)) -CLIENT_DEPS_OPT = $(patsubst %.cmo, %.cmx, $(CLIENT_DEPS)) -$(GENERATED_TUTORS_ML): scripts/build_tutors.ml data/tutors_index.xml data/hbugs_tutor.TPL.ml - scripts/build_tutors.ml -hbugs_tutors.cmo: hbugs_tutors.cmi -hbugs_broker_registry.cmo: hbugs_broker_registry.cmi -.PHONY: daemons -daemons: tutors broker -.PHONY: tutors -tutors: all $(TUTORS) -%_tutor: $(TUTOR_DEPS) %_tutor.ml - $(OCAMLC) -linkpkg -o $@ $^ -%_tutor.opt: $(TUTOR_DEPS_OPT) %_tutor.ml - $(OCAMLOPT) -linkpkg -o $@ $^ -broker: $(BROKER_DEPS) broker.ml - $(OCAMLC) -linkpkg -o $@ $^ -broker.opt: $(BROKER_DEPS_OPT) broker.ml - $(OCAMLOPT) -linkpkg -o $@ $^ -client: $(CLIENT_DEPS) client.ml - $(OCAMLC) -linkpkg -o $@ $^ -client.opt: $(CLIENT_DEPS_OPT) client.ml - $(OCAMLOPT) -linkpkg -o $@ $^ - -.PHONY: start stop -start: - scripts/brokerctl.sh start - scripts/sabba.sh start -stop: - scripts/brokerctl.sh stop - scripts/sabba.sh stop - diff --git a/helm/ocaml/hbugs/broker.ml b/helm/ocaml/hbugs/broker.ml deleted file mode 100644 index 6b62af946..000000000 --- a/helm/ocaml/hbugs/broker.ml +++ /dev/null @@ -1,291 +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/ - *) - -open Hbugs_types;; -open Printf;; - -let debug = true ;; -let debug_print s = if debug then prerr_endline (Lazy.force s) ;; - -let daemon_name = "H-Bugs Broker" ;; -let default_port = 49081 ;; -let port_env_var = "HELM_HBUGS_BROKER_PORT" ;; -let port = - try - int_of_string (Sys.getenv port_env_var) - with - | Not_found -> default_port - | Failure "int_of_string" -> - prerr_endline "Warning: invalid port, reverting to default"; - default_port -;; -let usage_string = "HBugs Broker: usage string not yet written :-(";; - -exception Unexpected_msg of message;; - -let return_xml_msg body outchan = - Http_daemon.respond ~headers:["Content-Type", "text/xml"] ~body outchan -;; -let parse_musing_id = function - | Musing_started (_, musing_id) -> - prerr_endline ("#### Started musing ID: " ^ musing_id); - musing_id - | Musing_aborted (_, musing_id) -> musing_id - | msg -> - prerr_endline (sprintf "Assertion failed, received msg: %s" - (Hbugs_messages.string_of_msg msg)); - assert false -;; - -let do_critical = - let mutex = Mutex.create () in - fun action -> - try -(* debug_print (lazy "Acquiring lock ..."); *) - Mutex.lock mutex; -(* debug_print (lazy "Lock Acquired!"); *) - let res = Lazy.force action in -(* debug_print (lazy "Releaseing lock ..."); *) - Mutex.unlock mutex; -(* debug_print (lazy "Lock released!"); *) - res - with e -> Mutex.unlock mutex; raise e -;; - - (* registries *) -let clients = new Hbugs_broker_registry.clients in -let tutors = new Hbugs_broker_registry.tutors in -let musings = new Hbugs_broker_registry.musings in -let registries = - [ (clients :> Hbugs_broker_registry.registry); - (tutors :> Hbugs_broker_registry.registry); - (musings :> Hbugs_broker_registry.registry) ] -in - -let my_own_id = Hbugs_id_generator.new_broker_id () in - - (* debugging: dump broker internal status, used by '/dump' method *) -let dump_registries () = - assert debug; - String.concat "\n" (List.map (fun o -> o#dump) registries) -in - -let handle_msg outchan msg = - (* messages from clients *) - (match msg with - - | Help -> - Hbugs_messages.respond_msg (Usage usage_string) outchan - | Register_client (client_id, client_url) -> do_critical (lazy ( - try - clients#register client_id client_url; - Hbugs_messages.respond_msg (Client_registered my_own_id) outchan - with Hbugs_broker_registry.Client_already_in id -> - Hbugs_messages.respond_exc "already_registered" id outchan - )) - | Unregister_client client_id -> do_critical (lazy ( - if clients#isAuthenticated client_id then begin - clients#unregister client_id; - Hbugs_messages.respond_msg (Client_unregistered my_own_id) outchan - end else - Hbugs_messages.respond_exc "forbidden" client_id outchan - )) - | List_tutors client_id -> do_critical (lazy ( - if clients#isAuthenticated client_id then begin - Hbugs_messages.respond_msg - (Tutor_list (my_own_id, tutors#index)) - outchan - end else - Hbugs_messages.respond_exc "forbidden" client_id outchan - )) - | Subscribe (client_id, tutor_ids) -> do_critical (lazy ( - if clients#isAuthenticated client_id then begin - if List.length tutor_ids <> 0 then begin (* at least one tutor id *) - if List.for_all tutors#exists tutor_ids then begin - clients#subscribe client_id tutor_ids; - Hbugs_messages.respond_msg - (Subscribed (my_own_id, tutor_ids)) outchan - end else (* required subscription to at least one unexistent tutor *) - let missing_tutors = - List.filter (fun id -> not (tutors#exists id)) tutor_ids - in - Hbugs_messages.respond_exc - "tutor_not_found" (String.concat " " missing_tutors) outchan - end else (* no tutor id specified *) - Hbugs_messages.respond_exc "no_tutor_specified" "" outchan - end else - Hbugs_messages.respond_exc "forbidden" client_id outchan - )) - | State_change (client_id, new_state) -> do_critical (lazy ( - if clients#isAuthenticated client_id then begin - let active_musings = musings#getByClientId client_id in - prerr_endline (sprintf "ACTIVE MUSINGS: %s" (String.concat ", " active_musings)); - if List.length active_musings = 0 then - prerr_endline ("No active musings for client " ^ client_id); - prerr_endline "CSC: State change!!!" ; - let stop_answers = - List.map (* collect Abort_musing message's responses *) - (fun id -> (* musing id *) - let tutor = snd (musings#getByMusingId id) in - Hbugs_messages.submit_req - ~url:(tutors#getUrl tutor) (Abort_musing (my_own_id, id))) - active_musings - in - let stopped_musing_ids = List.map parse_musing_id stop_answers in - List.iter musings#unregister active_musings; - (match new_state with - | Some new_state -> (* need to start new musings *) - let subscriptions = clients#getSubscription client_id in - if List.length subscriptions = 0 then - prerr_endline ("No subscriptions for client " ^ client_id); - let started_musing_ids = - List.map (* register new musings and collect their ids *) - (fun tutor_id -> - let res = - Hbugs_messages.submit_req - ~url:(tutors#getUrl tutor_id) - (Start_musing (my_own_id, new_state)) - in - let musing_id = parse_musing_id res in - musings#register musing_id client_id tutor_id; - musing_id) - subscriptions - in - Hbugs_messages.respond_msg - (State_accepted (my_own_id, stopped_musing_ids, started_musing_ids)) - outchan - | None -> (* no need to start new musings *) - Hbugs_messages.respond_msg - (State_accepted (my_own_id, stopped_musing_ids, [])) - outchan) - end else - Hbugs_messages.respond_exc "forbidden" client_id outchan - )) - - (* messages from tutors *) - - | Register_tutor (tutor_id, tutor_url, hint_type, dsc) -> do_critical (lazy ( - try - tutors#register tutor_id tutor_url hint_type dsc; - Hbugs_messages.respond_msg (Tutor_registered my_own_id) outchan - with Hbugs_broker_registry.Tutor_already_in id -> - Hbugs_messages.respond_exc "already_registered" id outchan - )) - | Unregister_tutor tutor_id -> do_critical (lazy ( - if tutors#isAuthenticated tutor_id then begin - tutors#unregister tutor_id; - Hbugs_messages.respond_msg (Tutor_unregistered my_own_id) outchan - end else - Hbugs_messages.respond_exc "forbidden" tutor_id outchan - )) - - | Musing_completed (tutor_id, musing_id, result) -> do_critical (lazy ( - if not (tutors#isAuthenticated tutor_id) then begin (* unauthorized *) - Hbugs_messages.respond_exc "forbidden" tutor_id outchan; - end else if not (musings#isActive musing_id) then begin (* too late *) - Hbugs_messages.respond_msg (Too_late (my_own_id, musing_id)) outchan; - end else begin (* all is ok: autorhized and on time *) - (match result with - | Sorry -> () - | Eureka hint -> - let client_url = - clients#getUrl (fst (musings#getByMusingId musing_id)) - in - let res = - Hbugs_messages.submit_req ~url:client_url (Hint (my_own_id, hint)) - in - (match res with - | Wow _ -> () (* ok: client is happy with our hint *) - | unexpected_msg -> - prerr_endline - (sprintf - "Warning: unexpected msg from client: %s\nExpected was: Wow" - (Hbugs_messages.string_of_msg msg)))); - Hbugs_messages.respond_msg (Thanks (my_own_id, musing_id)) outchan; - musings#unregister musing_id - end - )) - - | msg -> (* unexpected message *) - debug_print (lazy "Unknown message!"); - Hbugs_messages.respond_exc - "unexpected_msg" (Hbugs_messages.string_of_msg msg) outchan) -in -(* (* DEBUGGING wrapper around 'handle_msg' *) -let handle_msg outchan = - if debug then - (fun msg -> (* filter handle_msg through a function which dumps input - messages *) - debug_print (lazy (Hbugs_messages.string_of_msg msg)); - handle_msg outchan msg) - else - handle_msg outchan -in -*) - - (* thread action *) -let callback (req: Http_types.request) outchan = - try - debug_print (lazy ("Connection from " ^ req#clientAddr)); - debug_print (lazy ("Received request: " ^ req#path)); - (match req#path with - (* TODO write help message *) - | "/help" -> return_xml_msg " not yet written " outchan - | "/act" -> - let msg = Hbugs_messages.msg_of_string req#body in - handle_msg outchan msg - | "/dump" -> - if debug then - Http_daemon.respond ~body:(dump_registries ()) outchan - else - Http_daemon.respond_error ~code:400 outchan - | _ -> Http_daemon.respond_error ~code:400 outchan); - debug_print (lazy "Done!\n") - with - | Http_types.Param_not_found attr_name -> - Hbugs_messages.respond_exc "missing_parameter" attr_name outchan - | exc -> - Hbugs_messages.respond_exc - "uncaught_exception" (Printexc.to_string exc) outchan -in - - (* thread who cleans up ancient client/tutor/musing registrations *) -let ragman () = - let delay = 3600.0 in (* 1 hour delay *) - while true do - Thread.delay delay; - List.iter (fun o -> o#purge) registries - done -in - - (* start daemon *) -printf "Listening on port %d ...\n" port; -flush stdout; -ignore (Thread.create ragman ()); -Http_daemon.start' ~port ~mode:`Thread callback - diff --git a/helm/ocaml/hbugs/client.ml b/helm/ocaml/hbugs/client.ml deleted file mode 100644 index 85972ace3..000000000 --- a/helm/ocaml/hbugs/client.ml +++ /dev/null @@ -1,44 +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/ - *) - -open Hbugs_common;; -open Printf;; - -let client = - new Hbugs_client.hbugsClient - ~use_hint_callback: - (fun hint -> - prerr_endline (sprintf "Using hint: %s" (string_of_hint hint))) - ~describe_hint_callback: - (fun hint -> - prerr_endline (sprintf "Describing hint: %s" (string_of_hint hint))) - () -in -client#show (); -GtkThread.main () - diff --git a/helm/ocaml/hbugs/data/.cvsignore b/helm/ocaml/hbugs/data/.cvsignore deleted file mode 100644 index 1fa56db7a..000000000 --- a/helm/ocaml/hbugs/data/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.environment diff --git a/helm/ocaml/hbugs/data/hbugs_tutor.TPL.ml b/helm/ocaml/hbugs/data/hbugs_tutor.TPL.ml deleted file mode 100644 index 947e351c7..000000000 --- a/helm/ocaml/hbugs/data/hbugs_tutor.TPL.ml +++ /dev/null @@ -1,42 +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/ - *) - -module TutorDescription = - struct - let addr = "@ADDR@" - let port = @PORT@ - let tactic = @TACTIC@ - let hint = @HINT@ - let hint_type = "@HINT_TYPE@" - let description = "@DESCRIPTION@" - let environment_file = "@ENVIRONMENT_FILE@" - end -;; -module Tutor = Hbugs_tutors.BuildTutor (TutorDescription) ;; -Tutor.start () ;; - diff --git a/helm/ocaml/hbugs/data/tutors_index.xml b/helm/ocaml/hbugs/data/tutors_index.xml deleted file mode 100644 index bd4baad45..000000000 --- a/helm/ocaml/hbugs/data/tutors_index.xml +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - 127.0.0.1 - 50001 - Ring.ring_tac - Hbugs_types.Use_ring_Luke - Use Ring Luke - Ring tutor - ring.environment - - - 127.0.0.1 - 50002 - FourierR.fourier_tac - Hbugs_types.Use_fourier_Luke - Use Fourier Luke - Fourier tutor - fourier.environment - - - 127.0.0.1 - 50003 - EqualityTactics.reflexivity_tac - Hbugs_types.Use_reflexivity_Luke - Use Reflexivity Luke - Reflexivity tutor - reflexivity.environment - - - 127.0.0.1 - 50004 - EqualityTactics.symmetry_tac - Hbugs_types.Use_symmetry_Luke - Use Symmetry Luke - Symmetry tutor - symmetry.environment - - - 127.0.0.1 - 50005 - VariousTactics.assumption_tac - Hbugs_types.Use_assumption_Luke - Use Assumption Luke - Assumption tutor - assumption.environment - - - 127.0.0.1 - 50006 - NegationTactics.contradiction_tac - Hbugs_types.Use_contradiction_Luke - Use Contradiction Luke - Contradiction tutor - contradiction.environment - - - 127.0.0.1 - 50007 - IntroductionTactics.exists_tac - Hbugs_types.Use_exists_Luke - Use Exists Luke - Exists tutor - exists.environment - - - 127.0.0.1 - 50008 - IntroductionTactics.split_tac - Hbugs_types.Use_split_Luke - Use Split Luke - Split tutor - split.environment - - - 127.0.0.1 - 50009 - IntroductionTactics.left_tac - Hbugs_types.Use_left_Luke - Use Left Luke - Left tutor - left.environment - - - 127.0.0.1 - 50010 - IntroductionTactics.right_tac - Hbugs_types.Use_right_Luke - Use Right Luke - Right tutor - right.environment - - - - 127.0.0.1 - 50011 - PrimitiveTactics.apply_tac - Hbugs_types.Use_apply_Luke - Use Apply Luke (with argument) - Search pattern apply tutor - search_pattern_apply.environment - - - diff --git a/helm/ocaml/hbugs/doc/.cvsignore b/helm/ocaml/hbugs/doc/.cvsignore deleted file mode 100644 index 743328ec1..000000000 --- a/helm/ocaml/hbugs/doc/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.dia~ diff --git a/helm/ocaml/hbugs/doc/hbugs.dia b/helm/ocaml/hbugs/doc/hbugs.dia deleted file mode 100644 index b1c4e64e294dfa83da49661e287419060021d95e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1927 zcmV;22YC1&iwFP!000001MOX1Z`(E$eb28j+?NV)W${~Tn-pDvVGk(=Y$^6=$TnkZ zktKtYljdc=ee_3SOP0;pCNH2u0b0Ncb1z999i4k9(Vss5m?fP@sq#2Wue-?eyB(R1 zvT>YFuDjpwet#cyKi^z^8pqKG{cob8Sx5gxnlC?Hcc(=$|IqJ0Jw18Ja~>6$@{)Mr z<+A@@lq6AKH|lq9t~#CF0OP2Lmd7?nqoPppa8bxk8qMT&cNmQxCMsK`qT}KZlDQ1zH#OZz>C8K0L5!eeb#xL`5dWxa@6p8y3%6*DBAIvjVs3

    z(+smLkx{zNRH%hKKTkf25(=4PLqX?9zmJO|GxYyHO7gc1V14-Y>N)jFoTzww{6Z|X zI1uG29v9QW4@c9rj{fW@`eU5O!$j8gK28g3;h!%If9ZK%#ABHo&UCrWfk@L$v%YEI z)plcHVbx<9n$uZQ0%4 zZS}o29$$C=^vlyz9gq&D$!BkV=Gp6cBt2Xm?*4f^6nZ$UMpnA-Q94QF3wLtXLtZG@ zN8%CI6WsGLJ1^lVOVfc&$E(i2c}R7?7W}*(s3M#15BTMJ_PsL)riNK@I4n9Z=vYNh zgZpf>*qf;%x15s`j8v8%Pf)ohoOHtH$spBt&gqlP_a>;0h)xQgXA5`1S3Q@J!=7Ih ze0^|DHfOUBx|DrT;FNxl*zykwzzC>3s@mVT6x32sOFmzQ9n(-JJCTm(HWe*%G)GRPN8M)E!CW9qyV3kpIA z`R8?^kU#cL`-_SCmz>0TA=O}%#4;^v9o3U^X&h8@$#gN>Fy8qCFsWnThzuJ5rWRB@ zLT(|9$qKTs5M~7T5QczoWpH&EN7z1wzpkJ=P#Y-Aag$MuAb6Nv&clcR5V3}BnTaV3 z6YmbL9_G|OjBho12gRbuRNiO+6952n8$8Sac$ijrm_zX}Gw?9C58%5cb_a=uaij6e z0Prg;l;YH_8yKRH^~f5&x*FH;6+N~@FX!$Ha%$jT=1>W*D7di*#?%N58vqV05HNQP zV9JR`>??o+pY;R?fXid6ca&Vw?@yqDF*8EL282Tk>%kBr7*|9v1`@&8B!aO65&U-% z6>>0|>Uoe&RuLFN1tSZOG#~*{$MH%X7Xa09!c@lv4j{Z3<|Ey@(fBpO!U}$EEQ+HL zpo|O3WgPaQ%DC`&8Has`_-(e224M#yY~!g82B3p6Eem11G9m=P(;dv9gfVxbB2+P$ zEpq*-$uby2coB%$crHKyxDl9_?Fbw|fVeWcdXziR5#Ltu9pp1~EZ=SM^*p8p(OlY(arR1cil_IYI#{Izq}79bqsP9Wgn>gtex`AqW!) zXBgR7nUtCw0`j+Nx?vLv5j>* zMj@UhCKU!|Kn%>NiGf+`Q5-7n7>F)r7IZP=0J@m5$}1fLNEb71Vq(#H6h~kTvFw3u ztlhD|y+^@B*`r_~kVnCS;~oVITaV(1pnzEPz&6(II0N8fPRm@(IS?0fX5eDZAv_AX zQ1T&av`N7sp3uZr-nJ6}5}EU|MCJjIMCQUEk$KRX6gBV#@z_Ee@C8s6yrL>Nl&atc zRlyyoia+9JZ}-D(XbCN?(s8858ozhTxvJT+%Emi(4x#IN!q-q;?)QTOCO$F`hdk&Z z59!Yq@8Z?nq$_O>ZM42ZR;gVDhLgK&ek&hka$qz6BO7ub+I~Gti@J=<r& diff --git a/helm/ocaml/hbugs/hbugs_broker_registry.ml b/helm/ocaml/hbugs/hbugs_broker_registry.ml deleted file mode 100644 index 879d746ac..000000000 --- a/helm/ocaml/hbugs/hbugs_broker_registry.ml +++ /dev/null @@ -1,315 +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/ - *) - -open Hbugs_misc;; -open Hbugs_types;; -open Printf;; - -exception Client_already_in of client_id;; -exception Client_not_found of client_id;; -exception Musing_already_in of musing_id;; -exception Musing_not_found of musing_id;; -exception Tutor_already_in of tutor_id;; -exception Tutor_not_found of tutor_id;; - -class type registry = - object - method dump: string - method purge: unit - end - -let expire_time = 1800. (* 30 minutes *) - -class clients = - object (self) - - inherit ThreadSafe.threadSafe -(* - (* *) - method private doCritical: 'a. 'a lazy_t -> 'a = fun act -> Lazy.force act - method private doWriter: 'a. 'a lazy_t -> 'a = fun act -> Lazy.force act - method private doReader: 'a. 'a lazy_t -> 'a = fun act -> Lazy.force act - (* *) -*) - - val timetable: (client_id, float) Hashtbl.t = Hashtbl.create 17 - val urls: (client_id, string) Hashtbl.t = Hashtbl.create 17 - val subscriptions: (client_id, tutor_id list) Hashtbl.t = Hashtbl.create 17 - - (** INVARIANT: each client registered has an entry in 'urls' hash table - _and_ in 'subscriptions hash table even if it hasn't yet invoked - 'subscribe' method *) - - method register id url = self#doWriter (lazy ( - if Hashtbl.mem urls id then - raise (Client_already_in id) - else begin - Hashtbl.add urls id url; - Hashtbl.add subscriptions id []; - Hashtbl.add timetable id (Unix.time ()) - end - )) - method private remove id = - Hashtbl.remove urls id; - Hashtbl.remove subscriptions id; - Hashtbl.remove timetable id - method unregister id = self#doWriter (lazy ( - if Hashtbl.mem urls id then - self#remove id - else - raise (Client_not_found id) - )) - method isAuthenticated id = self#doReader (lazy ( - Hashtbl.mem urls id - )) - method subscribe client_id tutor_ids = self#doWriter (lazy ( - if Hashtbl.mem urls client_id then - Hashtbl.replace subscriptions client_id tutor_ids - else - raise (Client_not_found client_id) - )) - method getUrl id = self#doReader (lazy ( - if Hashtbl.mem urls id then - Hashtbl.find urls id - else - raise (Client_not_found id) - )) - method getSubscription id = self#doReader (lazy ( - if Hashtbl.mem urls id then - Hashtbl.find subscriptions id - else - raise (Client_not_found id) - )) - - method dump = self#doReader (lazy ( - "\n" ^ - (Hashtbl.fold - (fun id url dump -> - (dump ^ - (sprintf "\n" id url) ^ - "\n" ^ - (String.concat "\n" (* id's subscriptions *) - (List.map - (fun tutor_id -> sprintf "\n" tutor_id) - (Hashtbl.find subscriptions id))) ^ - "\n\n")) - urls "") ^ - "" - )) - method purge = self#doWriter (lazy ( - let now = Unix.time () in - Hashtbl.iter - (fun id birthday -> - if now -. birthday > expire_time then - self#remove id) - timetable - )) - - end - -class tutors = - object (self) - - inherit ThreadSafe.threadSafe -(* - (* *) - method private doCritical: 'a. 'a lazy_t -> 'a = fun act -> Lazy.force act - method private doWriter: 'a. 'a lazy_t -> 'a = fun act -> Lazy.force act - method private doReader: 'a. 'a lazy_t -> 'a = fun act -> Lazy.force act - (* *) -*) - - val timetable: (tutor_id, float) Hashtbl.t = Hashtbl.create 17 - val tbl: (tutor_id, string * hint_type * string) Hashtbl.t = - Hashtbl.create 17 - - method register id url hint_type dsc = self#doWriter (lazy ( - if Hashtbl.mem tbl id then - raise (Tutor_already_in id) - else begin - Hashtbl.add tbl id (url, hint_type, dsc); - Hashtbl.add timetable id (Unix.time ()) - end - )) - method private remove id = - Hashtbl.remove tbl id; - Hashtbl.remove timetable id - method unregister id = self#doWriter (lazy ( - if Hashtbl.mem tbl id then - self#remove id - else - raise (Tutor_not_found id) - )) - method isAuthenticated id = self#doReader (lazy ( - Hashtbl.mem tbl id - )) - method exists id = self#doReader (lazy ( - Hashtbl.mem tbl id - )) - method getTutor id = self#doReader (lazy ( - if Hashtbl.mem tbl id then - Hashtbl.find tbl id - else - raise (Tutor_not_found id) - )) - method getUrl id = - let (url, _, _) = self#getTutor id in - url - method getHintType id = - let (_, hint_type, _) = self#getTutor id in - hint_type - method getDescription id = - let (_, _, dsc) = self#getTutor id in - dsc - method index = self#doReader (lazy ( - Hashtbl.fold - (fun id (url, hint_type, dsc) idx -> (id, dsc) :: idx) tbl [] - )) - - method dump = self#doReader (lazy ( - "\n" ^ - (Hashtbl.fold - (fun id (url, hint_type, dsc) dump -> - dump ^ - (sprintf -"\n%s\n%s\n" - id url hint_type dsc)) - tbl "") ^ - "" - )) - method purge = self#doWriter (lazy ( - let now = Unix.time () in - Hashtbl.iter - (fun id birthday -> - if now -. birthday > expire_time then - self#remove id) - timetable - )) - - end - -class musings = - object (self) - - inherit ThreadSafe.threadSafe -(* - (* *) - method private doCritical: 'a. 'a lazy_t -> 'a = fun act -> Lazy.force act - method private doWriter: 'a. 'a lazy_t -> 'a = fun act -> Lazy.force act - method private doReader: 'a. 'a lazy_t -> 'a = fun act -> Lazy.force act - (* *) -*) - - val timetable: (musing_id, float) Hashtbl.t = Hashtbl.create 17 - val musings: (musing_id, client_id * tutor_id) Hashtbl.t = Hashtbl.create 17 - val clients: (client_id, musing_id list) Hashtbl.t = Hashtbl.create 17 - val tutors: (tutor_id, musing_id list) Hashtbl.t = Hashtbl.create 17 - - (** INVARIANT: each registered musing has - an entry in 'musings' table, an entry in 'clients' (i.e. one of the - musings for client_id is musing_id) table, an entry in 'tutors' table - (i.e. one of the musings for tutor_id is musing_id) and an entry in - 'timetable' table *) - - - method register musing_id client_id tutor_id = self#doWriter (lazy ( - if Hashtbl.mem musings musing_id then - raise (Musing_already_in musing_id) - else begin - Hashtbl.add musings musing_id (client_id, tutor_id); - (* now add this musing as the first one of musings list for client and - tutor *) - Hashtbl.replace clients client_id - (musing_id :: - (try Hashtbl.find clients client_id with Not_found -> [])); - Hashtbl.replace tutors tutor_id - (musing_id :: - (try Hashtbl.find tutors tutor_id with Not_found -> [])); - Hashtbl.add timetable musing_id (Unix.time ()) - end - )) - method private remove id = - (* ASSUMPTION: this method is invoked under a 'writer' lock *) - let (client_id, tutor_id) = self#getByMusingId' id in - Hashtbl.remove musings id; - (* now remove this musing from the list of musings for client and tutor - *) - Hashtbl.replace clients client_id - (List.filter ((<>) id) - (try Hashtbl.find clients client_id with Not_found -> [])); - Hashtbl.replace tutors tutor_id - (List.filter ((<>) id) - (try Hashtbl.find tutors tutor_id with Not_found -> [])); - Hashtbl.remove timetable id - method unregister id = self#doWriter (lazy ( - if Hashtbl.mem musings id then - self#remove id - )) - method private getByMusingId' id = - (* ASSUMPTION: this method is invoked under a 'reader' lock *) - try - Hashtbl.find musings id - with Not_found -> raise (Musing_not_found id) - method getByMusingId id = self#doReader (lazy ( - self#getByMusingId' id - )) - method getByClientId id = self#doReader (lazy ( - try - Hashtbl.find clients id - with Not_found -> [] - )) - method getByTutorId id = self#doReader (lazy ( - try - Hashtbl.find tutors id - with Not_found -> [] - )) - method isActive id = self#doReader (lazy ( - Hashtbl.mem musings id - )) - - method dump = self#doReader (lazy ( - "\n" ^ - (Hashtbl.fold - (fun mid (cid, tid) dump -> - dump ^ - (sprintf "\n" - mid cid tid)) - musings "") ^ - "" - )) - method purge = self#doWriter (lazy ( - let now = Unix.time () in - Hashtbl.iter - (fun id birthday -> - if now -. birthday > expire_time then - self#remove id) - timetable - )) - - end - diff --git a/helm/ocaml/hbugs/hbugs_broker_registry.mli b/helm/ocaml/hbugs/hbugs_broker_registry.mli deleted file mode 100644 index ece9e07cf..000000000 --- a/helm/ocaml/hbugs/hbugs_broker_registry.mli +++ /dev/null @@ -1,87 +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/ - *) - -open Hbugs_types;; - -exception Client_already_in of client_id -exception Client_not_found of client_id -exception Musing_already_in of musing_id -exception Musing_not_found of musing_id -exception Tutor_already_in of tutor_id -exception Tutor_not_found of tutor_id - -class type registry = - object - method dump: string - method purge: unit - end - -class clients: - object - (** 'register client_id client_url' *) - method register: client_id -> string -> unit - method unregister: client_id -> unit - method isAuthenticated: client_id -> bool - (** subcribe a client to a set of tutor removing previous subcriptions *) - method subscribe: client_id -> tutor_id list -> unit - method getUrl: client_id -> string - method getSubscription: client_id -> tutor_id list - - method dump: string - method purge: unit - end - -class tutors: - object - method register: tutor_id -> string -> hint_type -> string -> unit - method unregister: tutor_id -> unit - method isAuthenticated: tutor_id -> bool - method exists: tutor_id -> bool - method getTutor: tutor_id -> string * hint_type * string - method getUrl: tutor_id -> string - method getHintType: tutor_id -> hint_type - method getDescription: tutor_id -> string - method index: tutor_dsc list - - method dump: string - method purge: unit - end - -class musings: - object - method register: musing_id -> client_id -> tutor_id -> unit - method unregister: musing_id -> unit - method getByMusingId: musing_id -> client_id * tutor_id - method getByClientId: client_id -> musing_id list - method getByTutorId: tutor_id -> musing_id list - method isActive: musing_id -> bool - - method dump: string - method purge: unit - end - diff --git a/helm/ocaml/hbugs/hbugs_client.ml b/helm/ocaml/hbugs/hbugs_client.ml deleted file mode 100644 index 4613dbf0d..000000000 --- a/helm/ocaml/hbugs/hbugs_client.ml +++ /dev/null @@ -1,524 +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/ - *) - -open Hbugs_common;; -open Hbugs_types;; -open Printf;; - -exception Invalid_URL of string;; - -let do_nothing _ = ();; - -module SmartHbugs_client_gui = - struct - class ['a] oneColumnCList gtree_view ~column_type ~column_title - = - let obj = - ((Gobject.unsafe_cast gtree_view#as_widget) : Gtk.tree_view Gtk.obj) in - let columns = new GTree.column_list in - let col = columns#add column_type in - let vcol = GTree.view_column ~title:column_title () - ~renderer:(GTree.cell_renderer_text[], ["text",col]) in - let store = GTree.list_store columns in - object(self) - inherit GTree.view obj - method clear = store#clear - method append (v : 'a) = - let row = store#append () in - store#set ~row ~column:col v; - method column = col - initializer - self#set_model (Some (store :> GTree.model)) ; - ignore (self#append_column vcol) - end - - class ['a,'b] twoColumnsCList gtree_view ~column1_type ~column2_type - ~column1_title ~column2_title - = - let obj = - ((Gobject.unsafe_cast gtree_view#as_widget) : Gtk.tree_view Gtk.obj) in - let columns = new GTree.column_list in - let col1 = columns#add column1_type in - let vcol1 = GTree.view_column ~title:column1_title () - ~renderer:(GTree.cell_renderer_text[], ["text",col1]) in - let col2 = columns#add column2_type in - let vcol2 = GTree.view_column ~title:column2_title () - ~renderer:(GTree.cell_renderer_text[], ["text",col2]) in - let store = GTree.list_store columns in - object(self) - inherit GTree.view obj - method clear = store#clear - method append (v1 : 'a) (v2 : 'b) = - let row = store#append () in - store#set ~row ~column:col1 v1; - store#set ~row ~column:col2 v2 - method column1 = col1 - method column2 = col2 - initializer - self#set_model (Some (store :> GTree.model)) ; - ignore (self#append_column vcol1) ; - ignore (self#append_column vcol2) ; - end - - class subscribeWindow () = - object(self) - inherit Hbugs_client_gui.subscribeWindow () - val mutable tutorsSmartCList = None - method tutorsSmartCList = - match tutorsSmartCList with - None -> assert false - | Some w -> w - initializer - tutorsSmartCList <- - Some - (new twoColumnsCList self#tutorsCList - ~column1_type:Gobject.Data.string ~column2_type:Gobject.Data.string - ~column1_title:"Id" ~column2_title:"Description") - end - - class hbugsMainWindow () = - object(self) - inherit Hbugs_client_gui.hbugsMainWindow () - val mutable subscriptionSmartCList = None - val mutable hintsSmartCList = None - method subscriptionSmartCList = - match subscriptionSmartCList with - None -> assert false - | Some w -> w - method hintsSmartCList = - match hintsSmartCList with - None -> assert false - | Some w -> w - initializer - subscriptionSmartCList <- - Some - (new oneColumnCList self#subscriptionCList - ~column_type:Gobject.Data.string ~column_title:"Description") - initializer - hintsSmartCList <- - Some - (new oneColumnCList self#hintsCList - ~column_type:Gobject.Data.string ~column_title:"Description") - end - - end -;; - -class hbugsClient - ?(use_hint_callback: hint -> unit = do_nothing) - ?(describe_hint_callback: hint -> unit = do_nothing) - ?(destroy_callback: unit -> unit = do_nothing) - () - = - - let http_url_RE = Pcre.regexp "^(http://)?(.*):(\\d+)" in - let port_of_http_url url = - try - let subs = Pcre.extract ~rex:http_url_RE url in - int_of_string subs.(3) - with e -> raise (Invalid_URL url) - in - - object (self) - - val mainWindow = new SmartHbugs_client_gui.hbugsMainWindow () - val subscribeWindow = new SmartHbugs_client_gui.subscribeWindow () - val messageDialog = new Hbugs_client_gui.messageDialog () - val myOwnId = Hbugs_id_generator.new_client_id () - val mutable use_hint_callback = use_hint_callback - val mutable myOwnUrl = "localhost:49082" - val mutable brokerUrl = "localhost:49081" - val mutable brokerId: broker_id option = None - (* all available tutors, saved last time a List_tutors message was sent to - broker *) - val mutable availableTutors: tutor_dsc list = [] - val mutable statusContext = None - val mutable subscribeWindowStatusContext = None - val mutable debug = false (* enable/disable debugging buttons *) - val mutable hints = [] (* actually available hints *) - - initializer - self#initGui; - self#startLocalHttpDaemon (); - self#testLocalHttpDaemon (); - self#testBroker (); - self#registerToBroker (); - self#reconfigDebuggingButtons - - method show = mainWindow#hbugsMainWindow#show - method hide = mainWindow#hbugsMainWindow#misc#hide - - method setUseHintCallback callback = - use_hint_callback <- callback - - method private debugButtons = - List.map - (fun (b: GButton.button) -> new GObj.misc_ops b#as_widget) - [ mainWindow#startLocalHttpDaemonButton; - mainWindow#testLocalHttpDaemonButton; mainWindow#testBrokerButton ] - - method private initGui = - - (* GUI: main window *) - - (* ignore delete events so that hbugs window is closable only using - menu; on destroy (e.g. while quitting gTopLevel) self#quit is invoked - *) - - ignore (mainWindow#hbugsMainWindow#event#connect#delete (fun _ -> true)); - ignore (mainWindow#hbugsMainWindow#event#connect#destroy - (fun _ -> self#quit (); false)); - - (* GUI main window's menu *) - mainWindow#toggleDebuggingMenuItem#set_active debug; - ignore (mainWindow#toggleDebuggingMenuItem#connect#toggled - self#toggleDebug); - - (* GUI: local HTTP daemon settings *) - ignore (mainWindow#clientUrlEntry#connect#changed - (fun _ -> myOwnUrl <- mainWindow#clientUrlEntry#text)); - mainWindow#clientUrlEntry#set_text myOwnUrl; - ignore (mainWindow#startLocalHttpDaemonButton#connect#clicked - self#startLocalHttpDaemon); - ignore (mainWindow#testLocalHttpDaemonButton#connect#clicked - self#testLocalHttpDaemon); - - (* GUI: broker choice *) - ignore (mainWindow#brokerUrlEntry#connect#changed - (fun _ -> brokerUrl <- mainWindow#brokerUrlEntry#text)); - mainWindow#brokerUrlEntry#set_text brokerUrl; - ignore (mainWindow#testBrokerButton#connect#clicked self#testBroker); - mainWindow#clientIdLabel#set_text myOwnId; - - (* GUI: client registration *) - ignore (mainWindow#registerClientButton#connect#clicked - self#registerToBroker); - - (* GUI: subscriptions *) - ignore (mainWindow#showSubscriptionWindowButton#connect#clicked - (fun () -> - self#listTutors (); - subscribeWindow#subscribeWindow#show ())); - - let get_selected_row_index () = - match mainWindow#hintsCList#selection#get_selected_rows with - [path] -> - (match GTree.Path.get_indices path with - [|n|] -> n - | _ -> assert false) - | _ -> assert false - in - (* GUI: hints list *) - ignore ( - let event_ops = new GObj.event_ops mainWindow#hintsCList#as_widget in - event_ops#connect#button_press - (fun event -> - if GdkEvent.get_type event = `TWO_BUTTON_PRESS then - use_hint_callback (self#hint (get_selected_row_index ())) ; - false)); - - ignore (mainWindow#hintsCList#selection#connect#changed - (fun () -> - describe_hint_callback (self#hint (get_selected_row_index ())))) ; - - (* GUI: main status bar *) - let ctxt = mainWindow#mainWindowStatusBar#new_context "0" in - statusContext <- Some ctxt; - ignore (ctxt#push "Ready"); - - (* GUI: subscription window *) - subscribeWindow#tutorsCList#selection#set_mode `MULTIPLE; - ignore (subscribeWindow#subscribeWindow#event#connect#delete - (fun _ -> subscribeWindow#subscribeWindow#misc#hide (); true)); - ignore (subscribeWindow#listTutorsButton#connect#clicked self#listTutors); - ignore (subscribeWindow#subscribeButton#connect#clicked - self#subscribeSelected); - ignore (subscribeWindow#subscribeAllButton#connect#clicked - self#subscribeAll); - (subscribeWindow#tutorsCList#get_column 0)#set_visible false; - let ctxt = subscribeWindow#subscribeWindowStatusBar#new_context "0" in - subscribeWindowStatusContext <- Some ctxt; - ignore (ctxt#push "Ready"); - - (* GUI: message dialog *) - ignore (messageDialog#messageDialog#event#connect#delete - (fun _ -> messageDialog#messageDialog#misc#hide (); true)); - ignore (messageDialog#okDialogButton#connect#clicked - (fun _ -> messageDialog#messageDialog#misc#hide ())) - - (* accessory methods *) - - (** pop up a (modal) dialog window showing msg to the user *) - method private showDialog msg = - messageDialog#dialogLabel#set_text msg; - messageDialog#messageDialog#show () - (** use showDialog to display an hbugs message to the user *) - method private showMsgInDialog msg = - self#showDialog (Hbugs_messages.string_of_msg msg) - - (** create a new thread which sends msg to broker, wait for an answer and - invoke callback passing response message as argument *) - method private sendReq ?(wait = false) ~msg callback = - let thread () = - try - callback (Hbugs_messages.submit_req ~url:(brokerUrl ^ "/act") msg) - with - | (Hbugs_messages.Parse_error (subj, reason)) as e -> - self#showDialog - (sprintf -"Parse_error, unable to fullfill request. Details follow. -Request: %s -Error: %s" - (Hbugs_messages.string_of_msg msg) (Printexc.to_string e)); - | (Unix.Unix_error _) as e -> - self#showDialog - (sprintf -"Can't connect to HBugs Broker -Url: %s -Error: %s" - brokerUrl (Printexc.to_string e)) - | e -> - self#showDialog - (sprintf "hbugsClient#sendReq: Uncaught exception: %s" - (Printexc.to_string e)) - in - let th = Thread.create thread () in - if wait then - Thread.join th - else () - - (** check if a broker is authenticated using its broker_id - [ Background: during client registration, client save broker_id of its - broker, further messages from broker are accepted only if they carry the - same broker id ] *) - method private isAuthenticated id = - match brokerId with - | None -> false - | Some broker_id -> (id = broker_id) - - (* actions *) - - method private startLocalHttpDaemon = - (* flatten an hint tree to an hint list *) - let rec flatten_hint = function - | Hints hints -> List.concat (List.map flatten_hint hints) - | hint -> [hint] - in - fun () -> - let callback req outchan = - try - (match Hbugs_messages.msg_of_string req#body with - | Help -> - Hbugs_messages.respond_msg - (Usage "Local Http Daemon up and running!") outchan - | Hint (broker_id, hint) -> - if self#isAuthenticated broker_id then begin - let received_hints = flatten_hint hint in - List.iter - (fun h -> - (match h with Hints _ -> assert false | _ -> ()); - ignore(mainWindow#hintsSmartCList#append(string_of_hint h))) - received_hints; - hints <- hints @ received_hints; - Hbugs_messages.respond_msg (Wow myOwnId) outchan - end else (* msg from unauthorized broker *) - Hbugs_messages.respond_exc "forbidden" broker_id outchan - | msg -> - Hbugs_messages.respond_exc - "unexpected_msg" (Hbugs_messages.string_of_msg msg) outchan) - with (Hbugs_messages.Parse_error _) as e -> - Hbugs_messages.respond_exc - "parse_error" (Printexc.to_string e) outchan - in - let addr = "0.0.0.0" in (* TODO actually user specified "My URL" is used - only as a value to be sent to broker, local HTTP - daemon will listen on "0.0.0.0", port is parsed - from My URL though *) - let httpDaemonThread () = - try - Http_daemon.start' - ~addr ~port:(port_of_http_url myOwnUrl) ~mode:`Single callback - with - | Invalid_URL url -> self#showDialog (sprintf "Invalid URL: \"%s\"" url) - | e -> - self#showDialog (sprintf "Can't start local HTTP daemon: %s" - (Printexc.to_string e)) - in - ignore (Thread.create httpDaemonThread ()) - - method private testLocalHttpDaemon () = - try - let msg = - Hbugs_misc.http_post ~body:(Hbugs_messages.string_of_msg Help) - myOwnUrl - in - ignore msg -(* self#showDialog msg *) - with - | Hbugs_misc.Malformed_URL url -> - self#showDialog - (sprintf - "Handshake with local HTTP daemon failed, Invalid URL: \"%s\"" - url) - | Hbugs_misc.Malformed_HTTP_response res -> - self#showDialog - (sprintf - "Handshake with local HTTP daemon failed, can't parse HTTP response: \"%s\"" - res) - | (Unix.Unix_error _) as e -> - self#showDialog - (sprintf - "Handshake with local HTTP daemon failed, can't connect: \"%s\"" - (Printexc.to_string e)) - - method private testBroker () = - self#sendReq ~msg:Help - (function - | Usage _ -> () - | unexpected_msg -> - self#showDialog - (sprintf - "Handshake with HBugs Broker failed, unexpected message:\n%s" - (Hbugs_messages.string_of_msg unexpected_msg))) - - method registerToBroker () = - (match brokerId with (* undo previous registration, if any *) - | Some id -> self#unregisterFromBroker () - | _ -> ()); - self#sendReq ~msg:(Register_client (myOwnId, myOwnUrl)) - (function - | Client_registered broker_id -> (brokerId <- Some broker_id) - | unexpected_msg -> - self#showDialog - (sprintf "Client NOT registered, unexpected message:\n%s" - (Hbugs_messages.string_of_msg unexpected_msg))) - - method unregisterFromBroker () = - self#sendReq ~wait:true ~msg:(Unregister_client myOwnId) - (function - | Client_unregistered _ -> (brokerId <- None) - | unexpected_msg -> ()) -(* - self#showDialog - (sprintf "Client NOT unregistered, unexpected message:\n%s" - (Hbugs_messages.string_of_msg unexpected_msg))) -*) - - method stateChange new_state = - mainWindow#hintsSmartCList#clear (); - hints <- []; - self#sendReq - ~msg:(State_change (myOwnId, new_state)) - (function - | State_accepted _ -> () - | unexpected_msg -> - self#showDialog - (sprintf "State NOT accepted by Hbugs, unexpected message:\n%s" - (Hbugs_messages.string_of_msg unexpected_msg))) - - method hint = List.nth hints - - method private listTutors () = - (* wait is set to true just to make sure that after invoking listTutors - "availableTutors" is correctly filled *) - self#sendReq ~wait:true ~msg:(List_tutors myOwnId) - (function - | Tutor_list (_, descriptions) -> - availableTutors <- (* sort accordingly to tutor description *) - List.sort (fun (a,b) (c,d) -> compare (b,a) (d,c)) descriptions; - subscribeWindow#tutorsSmartCList#clear (); - List.iter - (fun (id, dsc) -> - ignore (subscribeWindow#tutorsSmartCList#append id dsc)) - availableTutors - | unexpected_msg -> - self#showDialog - (sprintf "Can't list tutors, unexpected message:\n%s" - (Hbugs_messages.string_of_msg unexpected_msg))) - - (* low level used by subscribeSelected and subscribeAll *) - method private subscribe' tutors_id = - self#sendReq ~msg:(Subscribe (myOwnId, tutors_id)) - (function - | (Subscribed (_, subscribedTutors)) as msg -> - let sort = List.sort compare in - mainWindow#subscriptionSmartCList#clear (); - List.iter - (fun tutor_id -> - ignore - (mainWindow#subscriptionSmartCList#append - ( try - List.assoc tutor_id availableTutors - with Not_found -> assert false ))) - tutors_id; - subscribeWindow#subscribeWindow#misc#hide (); - if sort subscribedTutors <> sort tutors_id then - self#showDialog - (sprintf "Subscription mismatch\n: %s" - (Hbugs_messages.string_of_msg msg)) - | unexpected_msg -> - mainWindow#subscriptionSmartCList#clear (); - self#showDialog - (sprintf "Subscription FAILED, unexpected message:\n%s" - (Hbugs_messages.string_of_msg unexpected_msg))) - - method private subscribeSelected () = - let tutorsSmartCList = subscribeWindow#tutorsSmartCList in - let selectedTutors = - List.map - (fun p -> - tutorsSmartCList#model#get - ~row:(tutorsSmartCList#model#get_iter p) - ~column:tutorsSmartCList#column1) - tutorsSmartCList#selection#get_selected_rows - in - self#subscribe' selectedTutors - - method subscribeAll () = - self#listTutors (); (* this fills 'availableTutors' field *) - self#subscribe' (List.map fst availableTutors) - - method private quit () = - self#unregisterFromBroker (); - destroy_callback () - - (** enable/disable debugging *) - method private setDebug value = debug <- value - - method private reconfigDebuggingButtons = - List.iter (* debug value changed, reconfigure buttons *) - (fun (b: GObj.misc_ops) -> if debug then b#show () else b#hide ()) - self#debugButtons; - - method private toggleDebug () = - self#setDebug (not debug); - self#reconfigDebuggingButtons - - end -;; - diff --git a/helm/ocaml/hbugs/hbugs_client.mli b/helm/ocaml/hbugs/hbugs_client.mli deleted file mode 100644 index 0c2e93d80..000000000 --- a/helm/ocaml/hbugs/hbugs_client.mli +++ /dev/null @@ -1,33 +0,0 @@ - -open Hbugs_types - -exception Invalid_URL of string - - (* - @param use_hint_callback is called when the user double click on a hint - (default: do nothing) - @param describe_hint_callback is called when the user click on a hint - (default: do nothing) - *) -class hbugsClient : - ?use_hint_callback: (hint -> unit) -> - ?describe_hint_callback: (hint -> unit) -> - ?destroy_callback: (unit -> unit) -> - unit -> - object - - method show : unit -> unit - method hide : unit -> unit - - method setUseHintCallback : (hint -> unit) -> unit - method registerToBroker : unit -> unit - method unregisterFromBroker : unit -> unit - method subscribeAll : unit -> unit - - method stateChange : state option -> unit - - (** @return an hint by index *) - method hint : int -> hint - - end - diff --git a/helm/ocaml/hbugs/hbugs_client_gui.glade b/helm/ocaml/hbugs/hbugs_client_gui.glade deleted file mode 100644 index f88a8c388..000000000 --- a/helm/ocaml/hbugs/hbugs_client_gui.glade +++ /dev/null @@ -1,672 +0,0 @@ - - - - - - - - Hbugs: your personal proof trainer! - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False - True - False - - - - True - False - 0 - - - - - - - True - Tools - True - - - - True - - - - True - Debugging - True - False - - - - - - - - - 0 - False - False - - - - - - True - False - 2 - - - - True - My URL: - False - False - GTK_JUSTIFY_CENTER - False - False - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - True - Local HTTP daemon URL - True - False - True - 0 - - True - * - False - - - 0 - True - True - - - - - - True - Start the local HTTP daemon listening on the specified URL - True - Start! - True - GTK_RELIEF_NORMAL - - - 0 - False - False - - - - - - True - True - Test! - True - GTK_RELIEF_NORMAL - - - 0 - False - False - - - - - 0 - False - False - - - - - - True - False - 0 - - - - True - False - 2 - - - - True - Broker: - False - False - GTK_JUSTIFY_CENTER - False - False - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - True - HBugs broker URL - True - False - True - 0 - - True - * - False - - - 0 - True - True - - - - - - True - True - Test! - True - GTK_RELIEF_NORMAL - - - 0 - False - False - - - - - 0 - False - False - - - - - - True - False - 2 - - - - Client ID: - False - False - GTK_JUSTIFY_CENTER - False - False - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - - - 0 - True - True - - - - - - True - True - (Re)Register - True - GTK_RELIEF_NORMAL - - - 0 - False - False - - - - - 0 - False - False - - - - - 0 - False - True - - - - - - True - 0 - - - - 4 - True - 0 - 0.5 - GTK_SHADOW_ETCHED_IN - - - - True - False - 2 - - - - True - GTK_POLICY_ALWAYS - GTK_POLICY_ALWAYS - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - True - False - False - True - - - - - 0 - True - True - - - - - - True - - - - 0 - 0 - True - True - Subscribe ... - True - GTK_RELIEF_NORMAL - - - 0 - 0 - - - - - 0 - False - False - - - - - - - - True - Subscriptions - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - - - label_item - - - - - False - False - - - - - - 4 - True - 0 - 0.5 - GTK_SHADOW_ETCHED_IN - - - - True - False - 0 - - - - True - GTK_POLICY_ALWAYS - GTK_POLICY_ALWAYS - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - True - False - False - True - - - - - 0 - True - True - - - - - - - - True - Hints - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - - - label_item - - - - - True - True - - - - - 0 - True - True - - - - - - True - - - 0 - False - False - - - - - - - - Hbugs: subscribe ... - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False - True - False - - - - True - False - 0 - - - - True - True - Refresh - True - GTK_RELIEF_NORMAL - - - 0 - False - False - - - - - - True - GTK_POLICY_ALWAYS - GTK_POLICY_ALWAYS - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - True - False - False - True - - - - - 0 - True - True - - - - - - True - False - 0 - - - - True - True - Subscribe to Selected - True - GTK_RELIEF_NORMAL - - - 0 - True - True - - - - - - True - True - Subscribe to All - True - GTK_RELIEF_NORMAL - - - 0 - True - True - - - - - 0 - False - False - - - - - - True - True - - - 0 - False - False - - - - - - - - Message - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - True - 220 - 150 - True - False - True - - - - True - False - 0 - - - - True - GTK_BUTTONBOX_END - - - - True - True - OK - True - GTK_RELIEF_NORMAL - 0 - - - - - 0 - False - True - GTK_PACK_END - - - - - - 5 - True - 1 - 1 - False - 0 - 0 - - - - True - - False - False - GTK_JUSTIFY_CENTER - True - False - 0.5 - 0.5 - 0 - 0 - - - 0 - 1 - 0 - 1 - - - - - 0 - True - True - - - - - - - diff --git a/helm/ocaml/hbugs/hbugs_common.ml b/helm/ocaml/hbugs/hbugs_common.ml deleted file mode 100644 index 6e060de7a..000000000 --- a/helm/ocaml/hbugs/hbugs_common.ml +++ /dev/null @@ -1,46 +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/ - *) - -open Hbugs_types;; -open Printf;; - -let rec string_of_hint = function - | Use_ring -> "Use Ring, Luke!" - | Use_fourier -> "Use Fourier, Luke!" - | Use_reflexivity -> "Use reflexivity, Luke!" - | Use_symmetry -> "Use symmetry, Luke!" - | Use_assumption -> "Use assumption, Luke!" - | Use_contradiction -> "Use contradiction, Luke!" - | Use_exists -> "Use exists, Luke!" - | Use_split -> "Use split, Luke!" - | Use_left -> "Use left, Luke!" - | Use_right -> "Use right, Luke!" - | Use_apply term -> sprintf "Apply %s, Luke!" term - | Hints hints -> String.concat "; " (List.map string_of_hint hints) -;; - diff --git a/helm/ocaml/hbugs/hbugs_common.mli b/helm/ocaml/hbugs/hbugs_common.mli deleted file mode 100644 index 2d51075f3..000000000 --- a/helm/ocaml/hbugs/hbugs_common.mli +++ /dev/null @@ -1,32 +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/ - *) - -open Hbugs_types;; - -val string_of_hint: hint -> string - diff --git a/helm/ocaml/hbugs/hbugs_id_generator.ml b/helm/ocaml/hbugs/hbugs_id_generator.ml deleted file mode 100644 index f535f4739..000000000 --- a/helm/ocaml/hbugs/hbugs_id_generator.ml +++ /dev/null @@ -1,65 +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/ - *) - -let _ = Random.self_init () - -let id_length = 32 -let min_ascii = 33 -let max_ascii = 126 - (* characters forbidden inside an XML attribute value. Well, '>' and ''' - aren't really forbidden, but are listed here ... just to be sure *) -let forbidden_chars = (* i.e. [ '"'; '&'; '\''; '<'; '>' ] *) - [ 34; 38; 39; 60; 62 ] (* assumption: is sorted! *) -let chars_range = max_ascii - min_ascii + 1 - (List.length forbidden_chars) - - (* return a random id char c such that - (min_ascii <= Char.code c) && - (Char.code c <= max_ascii) && - (not (List.mem (Char.code c) forbidden_chars)) - *) -let random_id_char () = - let rec nth_char ascii shifts = function - | [] -> Char.chr (ascii + shifts) - | hd::tl when ascii + shifts < hd -> Char.chr (ascii + shifts) - | hd::tl (* when ascii + shifts >= hd *) -> nth_char ascii (shifts + 1) tl - in - nth_char (Random.int chars_range + min_ascii) 0 forbidden_chars - - (* return a random id string which have length id_length *) -let new_id () = - let str = String.create id_length in - for i = 0 to id_length - 1 do - String.set str i (random_id_char ()) - done; - str - -let new_broker_id = new_id -let new_client_id = new_id -let new_musing_id = new_id -let new_tutor_id = new_id - diff --git a/helm/ocaml/hbugs/hbugs_id_generator.mli b/helm/ocaml/hbugs/hbugs_id_generator.mli deleted file mode 100644 index dad0c9391..000000000 --- a/helm/ocaml/hbugs/hbugs_id_generator.mli +++ /dev/null @@ -1,35 +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/ - *) - -open Hbugs_types;; - -val new_broker_id: unit -> broker_id -val new_client_id: unit -> client_id -val new_musing_id: unit -> musing_id -val new_tutor_id: unit -> tutor_id - diff --git a/helm/ocaml/hbugs/hbugs_messages.ml b/helm/ocaml/hbugs/hbugs_messages.ml deleted file mode 100644 index a6aa34b31..000000000 --- a/helm/ocaml/hbugs/hbugs_messages.ml +++ /dev/null @@ -1,366 +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/ - *) - -open Hbugs_types;; -open Printf;; -open Pxp_document;; -open Pxp_dtd;; -open Pxp_types;; -open Pxp_yacc;; - -let debug = 2;; (* 0 -> no debug - 1 -> waiting for an answer / answer received - 2 -> XML messages dumping - *) - -exception Attribute_not_found of string;; -exception Empty_node;; (** found a node with no _element_ children *) -exception No_element_found of string;; -exception Parse_error of string * string;; (* parsing subject, reason *) -exception Unexpected_message of message;; - -let is_xml_element n = match n#node_type with T_element _ -> true | _ -> false -let get_attr node name = - try - (match node#attribute name with - | Value s -> s - | _ -> raise Not_found) - with Not_found -> raise (Attribute_not_found name) -let assert_element n name = - match n#node_type with - | T_element n when n = name -> - () - | _ -> raise (Parse_error ("", "Expected node: " ^ name)) - - (** given a string representation of a proof asistant state (e.g. the first - child of the XML root of a State_change or Start_musing message), build from - it an HBugs view of a proof assistant state *) -let parse_state (root: ('a node extension as 'a) node) = - if (List.filter is_xml_element root#sub_nodes) = [] then - raise Empty_node; - let buf = Buffer.create 10240 in - let node_to_string (node: ('a node extension as 'a) node) = - Buffer.clear buf; - node#write (`Out_buffer buf) `Enc_utf8; - let res = Buffer.contents buf in - Buffer.clear buf; - res - in - let (goal_node, type_node, body_node) = - try - (find_element "CurrentGoal" root, - find_element "ConstantType" root, - find_element "CurrentProof" root) - with Not_found -> - raise (Parse_error ("", "Malformed HBugs status XML document")) - in - assert_element root "gTopLevelStatus"; - assert_element goal_node "CurrentGoal"; - assert_element type_node "ConstantType"; - assert_element body_node "CurrentProof"; - goal_node#write (`Out_buffer buf) `Enc_utf8; - let (type_string, body_string) = - (node_to_string type_node, node_to_string body_node) - in - let goal = - try - int_of_string (goal_node#data) - with Failure "int_of_string" -> - raise (Parse_error (goal_node#data, "can't parse goal")) - in - (type_string, body_string, goal) - - (** parse an hint from an XML node, XML node should have type 'T_element _' - (the name is ignored), attributes on it are ignored *) -let parse_hint node = - let rec parse_hint_node node = - match node#node_type with - | T_element "ring" -> Use_ring - | T_element "fourier" -> Use_fourier - | T_element "reflexivity" -> Use_reflexivity - | T_element "symmetry" -> Use_symmetry - | T_element "assumption" -> Use_assumption - | T_element "contradiction" -> Use_contradiction - | T_element "exists" -> Use_exists - | T_element "split" -> Use_split - | T_element "left" -> Use_left - | T_element "right" -> Use_right - | T_element "apply" -> Use_apply node#data - | T_element "hints" -> - Hints - (List.map parse_hint_node (List.filter is_xml_element node#sub_nodes)) - | _ -> assert false (* CSC: should this assert false be a raise something? *) - in - match List.filter is_xml_element node#sub_nodes with - [node] -> parse_hint_node node - | _ -> assert false (* CSC: should this assert false be a raise something? *) - -let parse_hint_type n = n#data (* TODO parsare il possibile tipo di suggerimento *) -let parse_tutor_dscs n = - List.map - (fun n -> (get_attr n "id", n#data)) - (List.filter is_xml_element n#sub_nodes) -let parse_tutor_ids node = - List.map - (fun n -> get_attr n "id") (List.filter is_xml_element node#sub_nodes) - -let tutors_sep = Pcre.regexp ",\\s*" - -let pxp_config = PxpHelmConf.pxp_config -let msg_of_string' s = - let root = (* xml tree's root *) - parse_wfcontent_entity pxp_config (from_string s) PxpHelmConf.pxp_spec - in - match root#node_type with - - (* general purpose *) - | T_element "help" -> Help - | T_element "usage" -> Usage root#data - | T_element "exception" -> Exception (get_attr root "name", root#data) - - (* client -> broker *) - | T_element "register_client" -> - Register_client (get_attr root "id", get_attr root "url") - | T_element "unregister_client" -> Unregister_client (get_attr root "id") - | T_element "list_tutors" -> List_tutors (get_attr root "id") - | T_element "subscribe" -> - Subscribe (get_attr root "id", parse_tutor_ids root) - | T_element "state_change" -> - let state_node = - try - Some (find_element ~deeply:false "gTopLevelStatus" root) - with Not_found -> None - in - State_change - (get_attr root "id", - match state_node with - | Some n -> (try Some (parse_state n) with Empty_node -> None) - | None -> None) - | T_element "wow" -> Wow (get_attr root "id") - - (* tutor -> broker *) - | T_element "register_tutor" -> - let hint_node = find_element "hint_type" root in - let dsc_node = find_element "description" root in - Register_tutor - (get_attr root "id", get_attr root "url", - parse_hint_type hint_node, dsc_node#data) - | T_element "unregister_tutor" -> Unregister_tutor (get_attr root "id") - | T_element "musing_started" -> - Musing_started (get_attr root "id", get_attr root "musing_id") - | T_element "musing_aborted" -> - Musing_started (get_attr root "id", get_attr root "musing_id") - | T_element "musing_completed" -> - let main_node = - try - find_element "eureka" root - with Not_found -> find_element "sorry" root - in - Musing_completed - (get_attr root "id", get_attr root "musing_id", - (match main_node#node_type with - | T_element "eureka" -> - Eureka (parse_hint main_node) - | T_element "sorry" -> Sorry - | _ -> assert false)) (* can't be there, see 'find_element' above *) - - (* broker -> client *) - | T_element "client_registered" -> Client_registered (get_attr root "id") - | T_element "client_unregistered" -> Client_unregistered (get_attr root "id") - | T_element "tutor_list" -> - Tutor_list (get_attr root "id", parse_tutor_dscs root) - | T_element "subscribed" -> - Subscribed (get_attr root "id", parse_tutor_ids root) - | T_element "state_accepted" -> - State_accepted - (get_attr root "id", - List.map - (fun n -> get_attr n "id") - (List.filter is_xml_element (find_element "stopped" root)#sub_nodes), - List.map - (fun n -> get_attr n "id") - (List.filter is_xml_element (find_element "started" root)#sub_nodes)) - | T_element "hint" -> Hint (get_attr root "id", parse_hint root) - - (* broker -> tutor *) - | T_element "tutor_registered" -> Tutor_registered (get_attr root "id") - | T_element "tutor_unregistered" -> Tutor_unregistered (get_attr root "id") - | T_element "start_musing" -> - let state_node = - try - find_element ~deeply:false "gTopLevelStatus" root - with Not_found -> raise (No_element_found "gTopLevelStatus") - in - Start_musing (get_attr root "id", parse_state state_node) - | T_element "abort_musing" -> - Abort_musing (get_attr root "id", get_attr root "musing_id") - | T_element "thanks" -> Thanks (get_attr root "id", get_attr root "musing_id") - | T_element "too_late" -> - Too_late (get_attr root "id", get_attr root "musing_id") - - | _ -> raise (No_element_found s) - -let msg_of_string s = - try - msg_of_string' s - with e -> raise (Parse_error (s, Printexc.to_string e)) - -let pp_state = function - | Some (type_string, body_string, goal) -> - (* ASSUMPTION: type_string and body_string are well formed XML document - contents (i.e. they don't contain heading declaration nor - DOCTYPE one *) - "\n" ^ - (sprintf "%d\n" goal) ^ - type_string ^ "\n" ^ - body_string ^ "\n" ^ - "\n" - | None -> "\n" - -let rec pp_hint = function - | Use_ring -> sprintf "" - | Use_fourier -> sprintf "" - | Use_reflexivity -> sprintf "" - | Use_symmetry -> sprintf "" - | Use_assumption -> sprintf "" - | Use_contradiction -> sprintf "" - | Use_exists -> sprintf "" - | Use_split -> sprintf "" - | Use_left -> sprintf "" - | Use_right -> sprintf "" - | Use_apply term -> sprintf "%s" term - | Hints hints -> - sprintf "\n%s\n" - (String.concat "\n" (List.map pp_hint hints)) - -let pp_hint_type s = s (* TODO pretty print hint_type *) -let pp_tutor_dscs = - List.fold_left - (fun s (id, dsc) -> - sprintf "%s%s" s id dsc) - "" -let pp_tutor_ids = - List.fold_left (fun s id -> sprintf "%s" s id) "" - -let string_of_msg = function - | Help -> "" - | Usage usage_string -> sprintf "%s" usage_string - | Exception (name, value) -> - sprintf "%s" name value - | Register_client (id, url) -> - sprintf "" id url - | Unregister_client id -> sprintf "" id - | List_tutors id -> sprintf "" id - | Subscribe (id, tutor_ids) -> - sprintf "%s" - id (pp_tutor_ids tutor_ids) - | State_change (id, state) -> - sprintf "%s" - id (pp_state state) - | Wow id -> sprintf "" id - | Register_tutor (id, url, hint_type, dsc) -> - sprintf -" -%s -%s -" - id url (pp_hint_type hint_type) dsc - | Unregister_tutor id -> sprintf "" id - | Musing_started (id, musing_id) -> - sprintf "" id musing_id - | Musing_aborted (id, musing_id) -> - sprintf "" id musing_id - | Musing_completed (id, musing_id, result) -> - sprintf - "%s" - id musing_id - (match result with - | Sorry -> "" - | Eureka hint -> sprintf "%s" (pp_hint hint)) - | Client_registered id -> sprintf "" id - | Client_unregistered id -> sprintf "" id - | Tutor_list (id, tutor_dscs) -> - sprintf "%s" - id (pp_tutor_dscs tutor_dscs) - | Subscribed (id, tutor_ids) -> - sprintf "%s" - id (pp_tutor_ids tutor_ids) - | State_accepted (id, stop_ids, start_ids) -> - sprintf -" -%s -%s -" - id - (String.concat "" - (List.map (fun id -> sprintf "" id) stop_ids)) - (String.concat "" - (List.map (fun id -> sprintf "" id) start_ids)) - | Hint (id, hint) -> sprintf "%s" id (pp_hint hint) - | Tutor_registered id -> sprintf "" id - | Tutor_unregistered id -> sprintf "" id - | Start_musing (id, state) -> - sprintf "%s" - id (pp_state (Some state)) - | Abort_musing (id, musing_id) -> - sprintf "" id musing_id - | Thanks (id, musing_id) -> - sprintf "" id musing_id - | Too_late (id, musing_id) -> - sprintf "" id musing_id -;; - - (* debugging function that dump on stderr the sent messages *) -let dump_msg msg = - if debug >= 2 then - prerr_endline - (sprintf "\n%s\n" - (match msg with - | State_change _ -> "omissis ..." - | msg -> string_of_msg msg)) -;; - -let submit_req ~url msg = - dump_msg msg; - if debug >= 1 then (prerr_string "Waiting for an answer ... "; flush stderr); - let res = - msg_of_string (Hbugs_misc.http_post ~body:(string_of_msg msg) url) - in - if debug >= 1 then (prerr_string "answer received!\n"; flush stderr); - res -;; -let return_xml_msg body outchan = - Http_daemon.respond ~headers:["Content-Type", "text/xml"] ~body outchan -;; -let respond_msg msg outchan = - dump_msg msg; - return_xml_msg (string_of_msg msg) outchan -(* close_out outchan *) -;; -let respond_exc name value = respond_msg (Exception (name, value));; - diff --git a/helm/ocaml/hbugs/hbugs_messages.mli b/helm/ocaml/hbugs/hbugs_messages.mli deleted file mode 100644 index 642c0b0e2..000000000 --- a/helm/ocaml/hbugs/hbugs_messages.mli +++ /dev/null @@ -1,49 +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/ - *) - -open Hbugs_types;; - -exception Parse_error of string * string (* parsing subject, reason *) -exception Unexpected_message of message;; - -val msg_of_string: string -> message -val string_of_msg: message -> string - -val submit_req: url:string -> message -> message - (** close outchan afterwards *) -val respond_msg: message -> out_channel -> unit - (** close outchan afterwards *) - (* exception_name, exception_value, output_channel *) -val respond_exc: string -> string -> out_channel -> unit - -(* TODO the below functions are for debugging only and shouldn't be exposed *) -val parse_state: - ('a Pxp_document.node Pxp_document.extension as 'a) Pxp_document.node -> - (string * string * int) -val pp_state: (string * string * int) option -> string - diff --git a/helm/ocaml/hbugs/hbugs_misc.ml b/helm/ocaml/hbugs/hbugs_misc.ml deleted file mode 100644 index b826318e0..000000000 --- a/helm/ocaml/hbugs/hbugs_misc.ml +++ /dev/null @@ -1,120 +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/ - *) - -open Printf;; - -let rec hashtbl_remove_all tbl key = - if Hashtbl.mem tbl key then begin - Hashtbl.remove tbl key; - hashtbl_remove_all tbl key - end else - () - - (** follows cut and paste from zack's Http_client_smart module *) - -exception Malformed_URL of string;; -exception Malformed_HTTP_response of string;; - -let bufsiz = 16384;; -let tcp_bufsiz = 4096;; - -let body_sep_RE = Pcre.regexp "\r\n\r\n";; -let http_scheme_RE = Pcre.regexp ~flags:[`CASELESS] "^http://";; -let url_RE = Pcre.regexp "^([\\w.]+)(:(\\d+))?(/.*)?$";; -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 -> raise (Malformed_URL url) -;; -let get_body answer = - match Pcre.split ~rex:body_sep_RE answer with - | [_; body] -> body - | _ -> raise (Malformed_HTTP_response answer) -;; - -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 rec retrieve inchan buf = - Buffer.add_string buf (input_line inchan ^ "\n"); - retrieve inchan buf -;; - -let http_get_iter_buf ~callback url = - let (address, port, path) = parse_url url in - let buf = String.create tcp_bufsiz in - let (inchan, outchan) = init_socket address port in - output_string outchan (sprintf "GET %s\r\n" path); - flush outchan; - (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 http_get url = - let buf = Buffer.create (tcp_bufsiz * 10) in - http_get_iter_buf (fun data -> Buffer.add_string buf data) url; - get_body (Buffer.contents buf) -;; - -let http_post ?(body = "") url = - let (address, port, path) = parse_url url in - let (inchan, outchan) = init_socket address port in - output_string outchan (sprintf "POST %s HTTP/1.0\r\n" path); - output_string outchan (sprintf "Content-Length: %d\r\n" (String.length body)); - output_string outchan "\r\n"; - output_string outchan body; - flush outchan; - let buf = Buffer.create bufsiz in - (try - retrieve inchan buf - with End_of_file -> close_in inchan); (* close also outchan, same fd *) - get_body (Buffer.contents buf) -;; - diff --git a/helm/ocaml/hbugs/hbugs_misc.mli b/helm/ocaml/hbugs/hbugs_misc.mli deleted file mode 100644 index b0ef59719..000000000 --- a/helm/ocaml/hbugs/hbugs_misc.mli +++ /dev/null @@ -1,50 +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/ - *) - - (** helpers *) - - (** remove all bindings of a given key from an hash table *) -val hashtbl_remove_all: ('a, 'b) Hashtbl.t -> 'a -> unit - - (** follows cut and paste from zack's Http_client_smart module *) - - (** can't parse an HTTP url *) -exception Malformed_URL of string - (** can't parse an HTTP response *) -exception Malformed_HTTP_response of string - - (** HTTP GET request for a given url, return http response's body *) -val http_get: string -> string - (** HTTP POST request for a given url, return http response's body, - body argument, if specified, is sent as body along with request *) -val http_post: ?body:string -> string -> string - - (** perform an HTTP GET request and apply a given function on each - 'slice' of HTTP response read from server *) -val http_get_iter_buf: callback:(string -> unit) -> string -> unit - diff --git a/helm/ocaml/hbugs/hbugs_tutors.ml b/helm/ocaml/hbugs/hbugs_tutors.ml deleted file mode 100644 index 7bb732624..000000000 --- a/helm/ocaml/hbugs/hbugs_tutors.ml +++ /dev/null @@ -1,264 +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/ - *) - -open Hbugs_types;; -open Printf;; - -let broker_url = "localhost:49081/act";; -let dump_environment_on_exit = false;; - -let init_tutor = Hbugs_id_generator.new_tutor_id;; - - (** register a tutor to broker *) -let register_to_broker id url hint_type dsc = - try - let res = - Hbugs_messages.submit_req - ~url:broker_url (Register_tutor (id, url, hint_type, dsc)) - in - (match res with - | Tutor_registered id -> - prerr_endline (sprintf "Tutor registered, broker id: %s" id); - id - | unexpected_msg -> - raise (Hbugs_messages.Unexpected_message unexpected_msg)) - with e -> - failwith (sprintf "Can't register tutor to broker: uncaught exception: %s" - (Printexc.to_string e)) -;; - (** unregister a tutor from the broker *) -let unregister_from_broker id = - let res = Hbugs_messages.submit_req ~url:broker_url (Unregister_tutor id) in - match res with - | Tutor_unregistered _ -> prerr_endline "Tutor unregistered!" - | unexpected_msg -> - failwith - (sprintf "Can't unregister from broker, received unexpected msg: %s" - (Hbugs_messages.string_of_msg unexpected_msg)) -;; - - (* typecheck a loaded proof *) - (* TODO this is a cut and paste from gTopLevel.ml *) -let typecheck_loaded_proof metasenv bo ty = - let module T = CicTypeChecker in - ignore ( - List.fold_left - (fun metasenv ((_,context,ty) as conj) -> - ignore (T.type_of_aux' metasenv context ty) ; - metasenv @ [conj] - ) [] metasenv) ; - ignore (T.type_of_aux' metasenv [] ty) ; - ignore (T.type_of_aux' metasenv [] bo) -;; - -type xml_kind = Body | Type;; -let mk_dtdname ~ask_dtd_to_the_getter dtd = - if ask_dtd_to_the_getter then - Helm_registry.get "getter.url" ^ "getdtd?uri=" ^ dtd - else - "http://mowgli.cs.unibo.it/dtd/" ^ dtd -;; - (** this function must be the inverse function of GTopLevel.strip_xml_headings - *) -let add_xml_headings ~kind s = - let dtdname = mk_dtdname ~ask_dtd_to_the_getter:true "cic.dtd" in - let root = - match kind with - | Body -> "CurrentProof" - | Type -> "ConstantType" - in - "\n\n" ^ - "\n\n" ^ - s -;; - -let load_state (type_string, body_string, goal) = - prerr_endline "a0"; - let ((tmp1, oc1), (tmp2, oc2)) = - (Filename.open_temp_file "" "", Filename.open_temp_file "" "") - in - prerr_endline "a1"; - output_string oc1 (add_xml_headings ~kind:Type type_string); - output_string oc2 (add_xml_headings ~kind:Body body_string); - close_out oc1; close_out oc2; - prerr_endline (sprintf "Proof Type available in %s" tmp1); - prerr_endline (sprintf "Proof Body available in %s" tmp2); - let (proof, goal) = - prerr_endline "a2"; - (match CicParser.obj_of_xml tmp1 (Some tmp2) with - | Cic.CurrentProof (_,metasenv,bo,ty,_) -> (* TODO il primo argomento e' una URI valida o e' casuale? *) - prerr_endline "a3"; - let uri = UriManager.uri_of_string "cic:/foo.con" in - prerr_endline "a4"; - typecheck_loaded_proof metasenv bo ty; - prerr_endline "a5"; - ((uri, metasenv, bo, ty), goal) - | _ -> assert false) - in - prerr_endline "a6"; - Sys.remove tmp1; Sys.remove tmp2; - (proof, goal) - -(* tutors creation stuff from now on *) - -module type HbugsTutor = - sig - val start: unit -> unit - end - -module type HbugsTutorDescription = - sig - val addr: string - val port: int - val tactic: ProofEngineTypes.tactic - val hint: hint - val hint_type: hint_type - val description: string - val environment_file: string - end - -module BuildTutor (Dsc: HbugsTutorDescription) : HbugsTutor = - struct - let broker_id = ref None - let my_own_id = init_tutor () - let my_own_addr, my_own_port = Dsc.addr, Dsc.port - let my_own_url = sprintf "%s:%d" my_own_addr my_own_port - - let is_authenticated id = - match !broker_id with - | None -> false - | Some broker_id -> id = broker_id - - (* thread who do the dirty work *) - let slave (state, musing_id) = - prerr_endline (sprintf "Hi, I'm the slave for musing %s" musing_id); - let (proof, goal) = load_state state in - let success = - try - ignore (Dsc.tactic (proof, goal)); - true - with e -> false - in - let answer = - Musing_completed - (my_own_id, musing_id, (if success then Eureka Dsc.hint else Sorry)) - in - ignore (Hbugs_messages.submit_req ~url:broker_url answer); - prerr_endline - (sprintf "Bye, I've completed my duties (success = %b)" success) - - let hbugs_callback = - (* hashtbl mapping musings ids to PID of threads doing the related (dirty) - work *) - let slaves = Hashtbl.create 17 in - let forbidden () = - prerr_endline "ignoring request from unauthorized broker"; - Exception ("forbidden", "") - in - function (* _the_ callback *) - | Start_musing (broker_id, state) -> - if is_authenticated broker_id then begin - prerr_endline "received Start_musing"; - let new_musing_id = Hbugs_id_generator.new_musing_id () in - prerr_endline - (sprintf "starting a new musing (id = %s)" new_musing_id); -(* let slave_thread = Thread.create slave (state, new_musing_id) in *) - let slave_thread = - ExtThread.create slave (state, new_musing_id) - in - Hashtbl.add slaves new_musing_id slave_thread; - Musing_started (my_own_id, new_musing_id) - end else (* broker unauthorized *) - forbidden (); - | Abort_musing (broker_id, musing_id) -> - if is_authenticated broker_id then begin - (try (* kill thread responsible for "musing_id" *) - let slave_thread = Hashtbl.find slaves musing_id in - ExtThread.kill slave_thread; - Hashtbl.remove slaves musing_id - with - | ExtThread.Can_t_kill (_, reason) -> - prerr_endline (sprintf "Unable to kill slave: %s" reason) - | Not_found -> - prerr_endline (sprintf - "Can't find slave corresponding to musing %s, can't kill it" - musing_id)); - Musing_aborted (my_own_id, musing_id) - end else (* broker unauthorized *) - forbidden (); - | unexpected_msg -> - Exception ("unexpected_msg", - Hbugs_messages.string_of_msg unexpected_msg) - - let callback (req: Http_types.request) outchan = - try - let req_msg = Hbugs_messages.msg_of_string req#body in - let answer = hbugs_callback req_msg in - Http_daemon.respond ~body:(Hbugs_messages.string_of_msg answer) outchan - with Hbugs_messages.Parse_error (subj, reason) -> - Http_daemon.respond - ~body:(Hbugs_messages.string_of_msg - (Exception ("parse_error", reason))) - outchan - - let restore_environment () = - let ic = open_in Dsc.environment_file in - prerr_endline "Restoring environment ..."; - CicEnvironment.restore_from_channel - ~callback:(fun uri -> prerr_endline uri) ic; - prerr_endline "... done!"; - close_in ic - - let dump_environment () = - let oc = open_out Dsc.environment_file in - prerr_endline "Dumping environment ..."; - CicEnvironment.dump_to_channel - ~callback:(fun uri -> prerr_endline uri) oc; - prerr_endline "... done!"; - close_out oc - - let main () = - try - Sys.catch_break true; - at_exit (fun () -> - if dump_environment_on_exit then - dump_environment (); - unregister_from_broker my_own_id); - broker_id := - Some (register_to_broker - my_own_id my_own_url Dsc.hint_type Dsc.description); - if Sys.file_exists Dsc.environment_file then - restore_environment (); - Http_daemon.start' - ~addr:my_own_addr ~port:my_own_port ~mode:`Thread callback - with Sys.Break -> () (* exit nicely, invoking at_exit functions *) - - let start = main - - end - diff --git a/helm/ocaml/hbugs/hbugs_tutors.mli b/helm/ocaml/hbugs/hbugs_tutors.mli deleted file mode 100644 index 43cd99cce..000000000 --- a/helm/ocaml/hbugs/hbugs_tutors.mli +++ /dev/null @@ -1,60 +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/ - *) - -open Hbugs_types;; - -val broker_url: string - -val register_to_broker: - tutor_id -> string -> hint_type -> string -> - broker_id -val unregister_from_broker: tutor_id -> unit - -val init_tutor: unit -> tutor_id -val load_state: - Hbugs_types.state -> - ProofEngineTypes.proof * ProofEngineTypes.goal - -module type HbugsTutor = - sig - val start: unit -> unit - end - -module type HbugsTutorDescription = - sig - val addr: string - val port: int - val tactic: ProofEngineTypes.tactic - val hint: hint - val hint_type: hint_type - val description: string - val environment_file: string - end - -module BuildTutor (Dsc: HbugsTutorDescription) : HbugsTutor - diff --git a/helm/ocaml/hbugs/hbugs_types.mli b/helm/ocaml/hbugs/hbugs_types.mli deleted file mode 100644 index e3067f2e9..000000000 --- a/helm/ocaml/hbugs/hbugs_types.mli +++ /dev/null @@ -1,104 +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/ - *) - -type broker_id = string -type client_id = string -type musing_id = string -type tutor_id = string -type tutor_dsc = tutor_id * string (* tutor id, tutor description *) - -type state = (* proof assitant's state: proof type, proof body, goal *) - string * string * int - -type hint = - (* tactics usage related hints *) - | Use_ring - | Use_fourier - | Use_reflexivity - | Use_symmetry - | Use_assumption - | Use_contradiction - | Use_exists - | Use_split - | Use_left - | Use_right - | Use_apply of string (* use apply tactic on embedded term *) - (* hints list *) - | Hints of hint list - -type hint_type = string (* TODO tipo di consiglio per l'utente *) - -type musing_result = - | Eureka of hint (* extra information, if any, parsed depending - on tutor's hint_type *) - | Sorry - - (* for each message, first component is an ID that identify the sender *) -type message = - - (* general purpose *) - | Help (* help request *) - | Usage of string (* help response *) (* usage string *) - | Exception of string * string (* name, value *) - - (* client -> broker *) - | Register_client of client_id * string (* client id, client url *) - | Unregister_client of client_id (* client id *) - | List_tutors of client_id (* client_id *) - | Subscribe of client_id * tutor_id list (* client id, tutor id list *) - | State_change of client_id * state option (* client_id, new state *) - | Wow of client_id (* client_id *) - - (* tutor -> broker *) - | Register_tutor of tutor_id * string * hint_type * string - (* tutor id, tutor url, hint type, - tutor description *) - | Unregister_tutor of tutor_id (* tutor id *) - | Musing_started of tutor_id * musing_id (* tutor id, musing id *) - | Musing_aborted of tutor_id * musing_id (* tutor id, musing id *) - | Musing_completed of tutor_id * musing_id * musing_result - (* tutor id, musing id, result *) - - (* broker -> client *) - | Client_registered of broker_id (* broker id *) - | Client_unregistered of broker_id (* broker id *) - | Tutor_list of broker_id * tutor_dsc list (* broker id, tutor list *) - | Subscribed of broker_id * tutor_id list (* broker id, tutor list *) - | State_accepted of broker_id * musing_id list * musing_id list - (* broker id, stopped musing ids, - started musing ids *) - | Hint of broker_id * hint (* broker id, hint *) - - (* broker -> tutor *) - | Tutor_registered of broker_id (* broker id *) - | Tutor_unregistered of broker_id (* broker id *) - | Start_musing of broker_id * state (* broker id, state *) - | Abort_musing of broker_id * musing_id (* broker id, musing id *) - | Thanks of broker_id * musing_id (* broker id, musing id *) - | Too_late of broker_id * musing_id (* broker id, musing id *) - diff --git a/helm/ocaml/hbugs/run/.cvsignore b/helm/ocaml/hbugs/run/.cvsignore deleted file mode 100644 index 397b4a762..000000000 --- a/helm/ocaml/hbugs/run/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.log diff --git a/helm/ocaml/hbugs/scripts/brokerctl.sh b/helm/ocaml/hbugs/scripts/brokerctl.sh deleted file mode 100755 index 3da998d6c..000000000 --- a/helm/ocaml/hbugs/scripts/brokerctl.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -daemon="broker" -if [ "$1" = "--help" -o "$1" = "" ]; then - echo "ctl.sh { start | stop | --help }" - exit 0 -fi -if [ "$1" = "start" ]; then - echo -n "Starting HBugs broker ... " - ./$daemon &> run/$daemon.log & - echo "done!" -elif [ "$1" = "stop" ]; then - echo -n "Stopping HBugs broker ... " - killall -9 $daemon - echo "done!" -fi diff --git a/helm/ocaml/hbugs/scripts/build_tutors.ml b/helm/ocaml/hbugs/scripts/build_tutors.ml deleted file mode 100755 index 9b742d84d..000000000 --- a/helm/ocaml/hbugs/scripts/build_tutors.ml +++ /dev/null @@ -1,112 +0,0 @@ -#!/usr/bin/ocamlrun /usr/bin/ocaml -(* - * 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/ - *) -#use "topfind" -#require "pcre" -#require "pxp" -open Printf -open Pxp_document -open Pxp_dtd -open Pxp_types -open Pxp_yacc - -let index = "data/tutors_index.xml" -let template = "data/hbugs_tutor.TPL.ml" - - (* apply a set of regexp substitutions specified as a list of pairs - to a string *) -let rec apply_subst ~fill s = - match fill with - | [] -> s - | (pat, templ)::rest -> - apply_subst ~fill:rest (Pcre.replace ~pat ~templ s) - (* fill a ~template file with substitutions specified in ~fill (see - apply_subst) and save output to ~output *) -let fill_template ~template ~fill ~output = - printf "Creating %s ... " output; flush stdout; - let (ic, oc) = (open_in template, open_out output) in - let rec fill_template' () = - output_string oc ((apply_subst ~fill (input_line ic)) ^ "\n"); - fill_template' () - in - try - output_string oc (sprintf -"(* - THIS CODE IS GENERATED - DO NOT MODIFY! - - the source of this code is template \"%s\" - the template was filled with data read from \"%s\" -*)\n" - template index); - fill_template' () - with End_of_file -> - close_in ic; - close_out oc; - printf "done!\n"; flush stdout -let parse_xml fname = - parse_wfdocument_entity default_config (from_file fname) default_spec -let is_tutor node = - match node#node_type with T_element "tutor" -> true | _ -> false -let is_element node = - match node#node_type with T_element _ -> true | _ -> false -let main () = - (parse_xml index)#root#iter_nodes - (fun node -> - try - (match node with - | node when is_tutor node -> - (try (* skip hand-written tutors *) - ignore (find_element "no_auto" node); - raise Exit - with Not_found -> ()); - let output = - try - (match node#attribute "source" with - | Value s -> s - | _ -> assert false) - with Not_found -> assert false - in - let fill = - List.map (* create substitution list from index data *) - (fun node -> - let name = (* node name *) - (match node#node_type with - | T_element s -> s - | _ -> assert false) - in - let value = node#data in (* node value *) - (sprintf "@%s@" (String.uppercase name), (* pattern *) - value)) (* substitution *) - (List.filter is_element node#sub_nodes) - in - fill_template ~fill ~template ~output - | _ -> ()) - with Exit -> ()) - -let _ = main () - diff --git a/helm/ocaml/hbugs/scripts/ls_tutors.ml b/helm/ocaml/hbugs/scripts/ls_tutors.ml deleted file mode 100755 index 5fe796ca1..000000000 --- a/helm/ocaml/hbugs/scripts/ls_tutors.ml +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/ocamlrun /usr/bin/ocaml -(* - * 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/ - *) - -(* Usage: ls_tutors.ml # lists all tutors - * ls_tutors.ml -auto # lists only generated tutors - *) - -#use "topfind" -#require "pxp" -open Printf -open Pxp_document -open Pxp_dtd -open Pxp_types -open Pxp_yacc - -let index = "data/tutors_index.xml" -let auto_only = - try - (match Sys.argv.(1) with "-auto" -> true | _ -> false) - with Invalid_argument _ -> false -let parse_xml fname = - parse_wfdocument_entity default_config (from_file fname) default_spec -let is_tutor node = - match node#node_type with T_element "tutor" -> true | _ -> false -let main () = - List.iter - (fun tutor -> - try - (match tutor#attribute "source" with - | Value s -> - if not auto_only then - print_endline s - else (* we should print only generated tutors *) - (try - ignore (find_element "no_auto" tutor); - with Not_found -> - print_endline s) - | _ -> assert false) - with Not_found -> assert false) - (List.filter is_tutor (parse_xml index)#root#sub_nodes) -let _ = main () - diff --git a/helm/ocaml/hbugs/scripts/sabba.sh b/helm/ocaml/hbugs/scripts/sabba.sh deleted file mode 100755 index 2031e295f..000000000 --- a/helm/ocaml/hbugs/scripts/sabba.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# 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/ -if [ "$1" = "--help" -o "$1" = "" ]; then - echo "sabba.sh { start | stop | --help }" - exit 0 -fi - -./scripts/ls_tutors.ml | -while read line; do - tutor=`echo $line | sed 's/\.ml//'` - if [ "$1" = "stop" ]; then - echo -n "Stopping HBugs tutor $tutor ... " - killall -9 $tutor - echo "done!" - elif [ "$1" = "start" ]; then - echo -n "Starting HBugs tutor $tutor ... " - nice -n 19 ./$tutor &> run/$tutor.log & - echo "done!" - else - echo "Uh? Try --help" - exit 1 - fi -done diff --git a/helm/ocaml/hbugs/search_pattern_apply_tutor.ml b/helm/ocaml/hbugs/search_pattern_apply_tutor.ml deleted file mode 100644 index 1f5dad1bc..000000000 --- a/helm/ocaml/hbugs/search_pattern_apply_tutor.ml +++ /dev/null @@ -1,146 +0,0 @@ - -open Hbugs_types;; -open Printf;; - -exception Empty_must;; - -module MQI = MQueryInterpreter -module MQIC = MQIConn - -let broker_id = ref None -let my_own_id = Hbugs_tutors.init_tutor () -let my_own_addr, my_own_port = "127.0.0.1", 50011 -let my_own_url = sprintf "%s:%d" my_own_addr my_own_port -let environment_file = "search_pattern_apply.environment" -let dump_environment_on_exit = false - -let is_authenticated id = - match !broker_id with - | None -> false - | Some broker_id -> id = broker_id - - (* thread who do the dirty work *) -let slave mqi_handle (state, musing_id) = - try - prerr_endline (sprintf "Hi, I'm the slave for musing %s" musing_id); - let (proof, goal) = Hbugs_tutors.load_state state in - let hint = - try - let choose_must must only = (* euristic: use 2nd precision level - 1st is more precise but is more slow *) - match must with - | [] -> raise Empty_must - | _::hd::tl -> hd - | hd::tl -> hd - in - let uris = - TacticChaser.matchConclusion mqi_handle - ~output_html:prerr_endline ~choose_must () ~status:(proof, goal) - in - if uris = [] then - Sorry - else - Eureka (Hints (List.map (fun uri -> Use_apply uri) uris)) - with Empty_must -> Sorry - in - let answer = Musing_completed (my_own_id, musing_id, hint) in - ignore (Hbugs_messages.submit_req ~url:Hbugs_tutors.broker_url answer); - prerr_endline - (sprintf "Bye, I've completed my duties (success = %b)" (hint <> Sorry)) - with - (Pxp_types.At _) as e -> - let rec unbox_exception = - function - Pxp_types.At (_,e) -> unbox_exception e - | e -> e - in - prerr_endline ("Uncaught PXP exception: " ^ Pxp_types.string_of_exn e) ; - (* e could be the Thread.exit exception; otherwise we will release an *) - (* uncaught exception and the Pxp_types.At was already an uncaught *) - (* exception ==> no additional arm *) - raise (unbox_exception e) - -let hbugs_callback mqi_handle = - let ids = Hashtbl.create 17 in - let forbidden () = - prerr_endline "ignoring request from unauthorized broker"; - Exception ("forbidden", "") - in - function - | Start_musing (broker_id, state) -> - if is_authenticated broker_id then begin - prerr_endline "received Start_musing"; - let new_musing_id = Hbugs_id_generator.new_musing_id () in - let id = ExtThread.create (slave mqi_handle) (state, new_musing_id) in - prerr_endline (sprintf "starting a new musing (id = %s)" new_musing_id); - Hashtbl.add ids new_musing_id id; - (*ignore (Thread.create slave (state, new_musing_id));*) - Musing_started (my_own_id, new_musing_id) - end else (* broker unauthorized *) - forbidden (); - | Abort_musing (broker_id, musing_id) -> - prerr_endline "CSC: Abort_musing received" ; - if is_authenticated broker_id then begin - (* prerr_endline "Ignoring 'Abort_musing' message ..."; *) - (try - ExtThread.kill (Hashtbl.find ids musing_id) ; - Hashtbl.remove ids musing_id ; - with - Not_found - | ExtThread.Can_t_kill _ -> - prerr_endline ("Can not kill slave " ^ musing_id)) ; - Musing_aborted (my_own_id, musing_id) - end else (* broker unauthorized *) - forbidden (); - | unexpected_msg -> - Exception ("unexpected_msg", - Hbugs_messages.string_of_msg unexpected_msg) - -let callback mqi_handle (req: Http_types.request) outchan = - try - let req_msg = Hbugs_messages.msg_of_string req#body in - let answer = hbugs_callback mqi_handle req_msg in - Http_daemon.respond ~body:(Hbugs_messages.string_of_msg answer) outchan - with Hbugs_messages.Parse_error (subj, reason) -> - Http_daemon.respond - ~body:(Hbugs_messages.string_of_msg - (Exception ("parse_error", reason))) - outchan - -let restore_environment () = - let ic = open_in environment_file in - prerr_endline "Restoring environment ..."; - CicEnvironment.restore_from_channel - ~callback:(fun uri -> prerr_endline uri) ic; - prerr_endline "... done!"; - close_in ic - -let dump_environment () = - let oc = open_out environment_file in - prerr_endline "Dumping environment ..."; - CicEnvironment.dump_to_channel - ~callback:(fun uri -> prerr_endline uri) oc; - prerr_endline "... done!"; - close_out oc - -let main () = - try - Sys.catch_break true; - at_exit (fun () -> - if dump_environment_on_exit then - dump_environment (); - Hbugs_tutors.unregister_from_broker my_own_id); - broker_id := - Some (Hbugs_tutors.register_to_broker - my_own_id my_own_url "FOO" "Search_pattern_apply tutor"); - let mqi_handle = MQIC.init ~log:prerr_string () in - if Sys.file_exists environment_file then - restore_environment (); - Http_daemon.start' - ~addr:my_own_addr ~port:my_own_port ~mode:`Thread (callback mqi_handle); - MQIC.close mqi_handle - with Sys.Break -> () (* exit nicely, invoking at_exit functions *) -;; - -main () - diff --git a/helm/ocaml/hbugs/test/.cvsignore b/helm/ocaml/hbugs/test/.cvsignore deleted file mode 100644 index d9ed0701b..000000000 --- a/helm/ocaml/hbugs/test/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -*.cmi -*.cmo -*.cma -*.cmx -*.o -*.a -test_serialization diff --git a/helm/ocaml/hbugs/test/HBUGS_MESSAGES.xml b/helm/ocaml/hbugs/test/HBUGS_MESSAGES.xml deleted file mode 100644 index cf15dde3d..000000000 --- a/helm/ocaml/hbugs/test/HBUGS_MESSAGES.xml +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - usage string - - corpo dell'exc - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - descrizione del tutor - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - description 1 - description 2 - - description N - - - - description 1 - description 2 - - description N - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - diff --git a/helm/ocaml/hbugs/test/Makefile b/helm/ocaml/hbugs/test/Makefile deleted file mode 100644 index 0b3debf74..000000000 --- a/helm/ocaml/hbugs/test/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: test_serialization -test_serialization: test_serialization.ml - OCAMLPATH="../meta" ocamlfind ocamlc -linkpkg -package hbugs-common -o test_serialization test_serialization.ml -clean: - rm -f *.cm[io] test_serialization diff --git a/helm/ocaml/hbugs/test/test_serialization.ml b/helm/ocaml/hbugs/test/test_serialization.ml deleted file mode 100644 index 1afd74379..000000000 --- a/helm/ocaml/hbugs/test/test_serialization.ml +++ /dev/null @@ -1,70 +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/ - *) - -open Pxp_document;; -open Pxp_dtd;; -open Pxp_types;; -open Pxp_yacc;; - -open Printf;; - -let test_data = "HBUGS_MESSAGES.xml" ;; - -let test_message (n:('a Pxp_document.extension as 'b) Pxp_document.node as 'a) = - try - let msg_string = - let buf = Buffer.create 1000 in - n#write (`Out_buffer buf) `Enc_utf8; - Buffer.contents buf - in - let msg = Hbugs_messages.msg_of_string msg_string in - let pp = Hbugs_messages.string_of_msg msg in - let msg' = Hbugs_messages.msg_of_string pp in - if (msg <> msg') then - prerr_endline - (sprintf "Failure with msg %s" - (match n#node_type with T_element name -> name | _ -> assert false)) - with e -> - prerr_endline - (sprintf "Failure with msg %s: uncaught exception %s" - (match n#node_type with T_element name -> name | _ -> assert false) - (Printexc.to_string e)) -;; - -let is_xml_element n = - match n#node_type with T_element _ -> true | _ -> false -;; - -let root = - parse_wfcontent_entity default_config (from_file test_data) default_spec -in -printf "Testing all messages from %s ...\n" test_data; flush stdout; -List.iter test_message (List.filter is_xml_element root#sub_nodes); -printf "Done!\n" -;; - diff --git a/helm/ocaml/hmysql/.cvsignore b/helm/ocaml/hmysql/.cvsignore deleted file mode 100644 index 8d64a5378..000000000 --- a/helm/ocaml/hmysql/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -*.cm[iaox] -*.cmxa diff --git a/helm/ocaml/hmysql/.depend b/helm/ocaml/hmysql/.depend deleted file mode 100644 index e67a0660c..000000000 --- a/helm/ocaml/hmysql/.depend +++ /dev/null @@ -1,2 +0,0 @@ -hMysql.cmo: hMysql.cmi -hMysql.cmx: hMysql.cmi diff --git a/helm/ocaml/hmysql/Makefile b/helm/ocaml/hmysql/Makefile deleted file mode 100644 index f8ae01744..000000000 --- a/helm/ocaml/hmysql/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -PACKAGE = hmysql -REQUIRES = mysql helm-registry helm-extlib -PREDICATES = - -INTERFACE_FILES = \ - hMysql.mli -IMPLEMENTATION_FILES = \ - $(INTERFACE_FILES:%.mli=%.ml) -EXTRA_OBJECTS_TO_INSTALL = -EXTRA_OBJECTS_TO_CLEAN = - -include ../Makefile.common diff --git a/helm/ocaml/hmysql/hMysql.ml b/helm/ocaml/hmysql/hMysql.ml deleted file mode 100644 index c7bfb325e..000000000 --- a/helm/ocaml/hmysql/hMysql.ml +++ /dev/null @@ -1,78 +0,0 @@ -(* Copyright (C) 2005, 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/. - *) - -type dbd = Mysql.dbd option -type result = Mysql.result option -type error_code = Mysql.error_code - -let profiler = HExtlib.profile "mysql" - -let use_real_db () = - not (Helm_registry.get_opt_default Helm_registry.bool - ~default:false "db.nodb") - -let quick_connect ?host ?database ?port ?password ?user () = - profiler.HExtlib.profile - (fun () -> - if use_real_db () then - (Some (Mysql.quick_connect ?host ?database ?port ?password ?user ())) - else - None) - () - -let disconnect = function - | None -> () - | Some dbd -> profiler.HExtlib.profile Mysql.disconnect dbd - -let escape s = - profiler.HExtlib.profile Mysql.escape s - -let exec dbd s = - match dbd with - | None -> None - | Some dbd -> Some (profiler.HExtlib.profile (Mysql.exec dbd) s) - -let map res ~f = - match res with - | None -> [] - | Some res -> - let map f = Mysql.map res ~f in - profiler.HExtlib.profile map f - -let iter res ~f = - match res with - | None -> () - | Some res -> - let iter f = Mysql.iter res ~f in - profiler.HExtlib.profile iter f - -let errno = function - | None -> Mysql.Connection_error - | Some dbd -> profiler.HExtlib.profile Mysql.errno dbd - -let status = function - | None -> Mysql.StatusError Mysql.Connection_error - | Some dbd -> profiler.HExtlib.profile Mysql.status dbd - diff --git a/helm/ocaml/hmysql/hMysql.mli b/helm/ocaml/hmysql/hMysql.mli deleted file mode 100644 index a5b90593e..000000000 --- a/helm/ocaml/hmysql/hMysql.mli +++ /dev/null @@ -1,56 +0,0 @@ -(* Copyright (C) 2005, 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/. - *) - -(** - * {2 Proxy module around MySQL conection} - * - * The behaviour of this module is influenced by the Helm_registry boolean value - * of the "db.nodb" key. When set to "false" the module works as expected. When - * set to "true" all functions perform dummy action: connect and disconnect do - * nothing; exec, iter, and map work like the empty set of results has been - * returned; errno and status return Mysql.Connection_error - *) - -type dbd -type result - -(* the exceptions raised are from the Mysql module *) - -val quick_connect : - ?host:string -> - ?database:string -> - ?port:int -> ?password:string -> ?user:string -> unit -> dbd - -val disconnect : dbd -> unit - -val exec: dbd -> string -> result -val map : result -> f:(string option array -> 'a) -> 'a list -val iter : result -> f:(string option array -> unit) -> unit - -val errno : dbd -> Mysql.error_code -val status : dbd -> Mysql.status - -val escape: string -> string - diff --git a/helm/ocaml/license b/helm/ocaml/license deleted file mode 100644 index e51e9fcdc..000000000 --- a/helm/ocaml/license +++ /dev/null @@ -1,25 +0,0 @@ -(* Copyright (C) 2005, 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/ - *) - diff --git a/helm/ocaml/logger/.cvsignore b/helm/ocaml/logger/.cvsignore deleted file mode 100644 index f5a6b2ed3..000000000 --- a/helm/ocaml/logger/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -*.cma -*.cmo -*.cmx -*.cmi -*.cmxa -*.a -*.o diff --git a/helm/ocaml/logger/.depend b/helm/ocaml/logger/.depend deleted file mode 100644 index 28268d29e..000000000 --- a/helm/ocaml/logger/.depend +++ /dev/null @@ -1,2 +0,0 @@ -helmLogger.cmo: helmLogger.cmi -helmLogger.cmx: helmLogger.cmi diff --git a/helm/ocaml/logger/Makefile b/helm/ocaml/logger/Makefile deleted file mode 100644 index 95b8c5510..000000000 --- a/helm/ocaml/logger/Makefile +++ /dev/null @@ -1,10 +0,0 @@ - -PACKAGE = logger -REQUIRES = -INTERFACE_FILES = \ - helmLogger.mli -IMPLEMENTATION_FILES = \ - $(INTERFACE_FILES:%.mli=%.ml) - -include ../Makefile.common - diff --git a/helm/ocaml/logger/helmLogger.ml b/helm/ocaml/logger/helmLogger.ml deleted file mode 100644 index 7a1e63483..000000000 --- a/helm/ocaml/logger/helmLogger.ml +++ /dev/null @@ -1,61 +0,0 @@ - -open Printf - -(* HTML simulator (first in its kind) *) - -type html_tag = - [ `T of string - | `L of html_tag list - | `BR - | `DIV of int * string option * html_tag - ] - -type html_msg = [ `Error of html_tag | `Msg of html_tag ] - -type logger_fun = ?append_NL:bool -> html_msg -> unit - -let rec string_of_html_tag = - let rec aux indent = - let indent_str = String.make indent ' ' in - function - | `T s -> s - | `L msgs -> - String.concat ("\n" ^ indent_str) (List.map (aux indent) msgs) - | `BR -> "\n" ^ indent_str - | `DIV (local_indent, _, tag) -> - "\n" ^ indent_str ^ aux (indent + local_indent) tag - in - aux 0 - -let string_of_html_msg = function - | `Error tag -> "Error: " ^ string_of_html_tag tag - | `Msg tag -> string_of_html_tag tag - -let rec html_of_html_tag = function - | `T s -> s - | `L msgs -> - sprintf "

      \n%s\n
    " - (String.concat "\n" - (List.map - (fun msg -> sprintf "
  • %s
  • " (html_of_html_tag msg)) - msgs)) - | `BR -> "
    \n" - | `DIV (indent, color, tag) -> - sprintf "
    \n%s\n
    " - (match color with None -> "" | Some color -> "color: " ^ color ^ "; ") - (float_of_int indent *. 0.5) - (html_of_html_tag tag) - -let html_of_html_msg = - function - | `Error tag -> "Error: " ^ html_of_html_tag tag ^ "" - | `Msg tag -> html_of_html_tag tag - -let log_callbacks = ref [] - -let register_log_callback logger_fun = - log_callbacks := !log_callbacks @ [ logger_fun ] - -let log ?append_NL html_msg = - List.iter (fun logger_fun -> logger_fun ?append_NL html_msg) !log_callbacks - diff --git a/helm/ocaml/logger/helmLogger.mli b/helm/ocaml/logger/helmLogger.mli deleted file mode 100644 index 633b5c3ec..000000000 --- a/helm/ocaml/logger/helmLogger.mli +++ /dev/null @@ -1,27 +0,0 @@ - -type html_tag = - [ `BR - | `L of html_tag list - | `T of string - | `DIV of int * string option * html_tag (* indentation, color, tag *) - ] -type html_msg = [ `Error of html_tag | `Msg of html_tag ] - - (** html_msg to plain text converter *) -val string_of_html_msg: html_msg -> string - - (** html_tag to plain text converter *) -val string_of_html_tag: html_tag -> string - - (** html_msg to html text converter *) -val html_of_html_msg: html_msg -> string - - (** html_tag to html text converter *) -val html_of_html_tag: html_tag -> string - -type logger_fun = ?append_NL:bool -> html_msg -> unit - -val register_log_callback: logger_fun -> unit - -val log: logger_fun - diff --git a/helm/ocaml/mathql/.cvsignore b/helm/ocaml/mathql/.cvsignore deleted file mode 100644 index 6b3eba302..000000000 --- a/helm/ocaml/mathql/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.cm[iaox] *.cmxa diff --git a/helm/ocaml/mathql/.depend b/helm/ocaml/mathql/.depend deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/ocaml/mathql/Makefile b/helm/ocaml/mathql/Makefile deleted file mode 100644 index 203d04371..000000000 --- a/helm/ocaml/mathql/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -PACKAGE = mathql -REQUIRES = helm-cic -PREDICATES = - -INTERFACE_FILES = - -IMPLEMENTATION_FILES = mathQL.ml - -EXTRA_OBJECTS_TO_INSTALL = mathQL.ml mathQL.cmi - -EXTRA_OBJECTS_TO_CLEAN = - -include ../Makefile.common diff --git a/helm/ocaml/mathql/mathQL.ml b/helm/ocaml/mathql/mathQL.ml deleted file mode 100644 index 7e82fe547..000000000 --- a/helm/ocaml/mathql/mathQL.ml +++ /dev/null @@ -1,131 +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 - *) - -(* output data structures ***************************************************) - -type path = string list (* the name of an attribute *) - -type value = string list (* the value of an attribute *) - -type attribute = path * value (* an attribute *) - -type attribute_group = attribute list (* a group of attributes *) - -type attribute_set = attribute_group list (* the attributes of an URI *) - -type resource = string * attribute_set (* an attributed URI *) - -type resource_set = resource list (* the query result *) - -type result = resource_set - - -(* input data structures ****************************************************) - -type svar = string (* the name of a variable for a resource set *) - -type avar = string (* the name of a variable for a resource *) - -type vvar = string (* the name of a variable for an attribute value *) - -type inverse = bool - -type refine = RefineExact - | RefineSub - | RefineSuper - -type main = path - -type pattern = bool - -type exp = path * (path option) - -type exp_list = exp list - -type allbut = bool - -type xml = bool - -type source = bool - -type bin = BinFJoin (* full union - with attr handling *) - | BinFMeet (* full intersection - with attr handling *) - | BinFDiff (* full difference - with attr handling *) - -type gen = GenFJoin (* full union - with attr handling *) - | GenFMeet (* full intersection - with attr handling *) - -type test = Xor - | Or - | And - | Sub - | Meet - | Eq - | Le - | Lt - -type query = Empty - | SVar of svar - | AVar of avar - | Subj of msval - | Property of inverse * refine * path * - main * istrue * isfalse list * exp_list * - pattern * msval - | Select of avar * query * msval - | Bin of bin * query * query - | LetSVar of svar * query * query - | LetVVar of vvar * msval * query - | For of gen * avar * query * query - | Add of bool * groups * query - | If of msval * query * query - | Log of xml * source * query - | StatQuery of query - | Keep of allbut * path list * query - -and msval = False - | True - | Not of msval - | Ex of avar list * msval - | Test of test * msval * msval - | Const of string - | Set of msval list - | Proj of path option * query - | Dot of avar * path - | VVar of vvar - | StatVal of msval - | Count of msval - | Align of string * msval - -and groups = Attr of (path * msval) list list - | From of avar - -and con = pattern * path * msval - -and istrue = con list - -and isfalse = con list diff --git a/helm/ocaml/mathql_generator/.cvsignore b/helm/ocaml/mathql_generator/.cvsignore deleted file mode 100644 index 539f5b5ab..000000000 --- a/helm/ocaml/mathql_generator/.cvsignore +++ /dev/null @@ -1,5 +0,0 @@ -*.cmi -*.cmo -*.cma -*.cmx -*.cmxa diff --git a/helm/ocaml/mathql_generator/.depend b/helm/ocaml/mathql_generator/.depend deleted file mode 100644 index 0dc5572a0..000000000 --- a/helm/ocaml/mathql_generator/.depend +++ /dev/null @@ -1,15 +0,0 @@ -mQGUtil.cmi: mQGTypes.cmo -mQueryGenerator.cmi: mQGTypes.cmo -cGMatchConclusion.cmi: mQGTypes.cmo -cGSearchPattern.cmi: mQGTypes.cmo -cGLocateInductive.cmi: mQGTypes.cmo -mQGUtil.cmo: mQGTypes.cmo mQGUtil.cmi -mQGUtil.cmx: mQGTypes.cmx mQGUtil.cmi -mQueryGenerator.cmo: mQGUtil.cmi mQGTypes.cmo mQueryGenerator.cmi -mQueryGenerator.cmx: mQGUtil.cmx mQGTypes.cmx mQueryGenerator.cmi -cGMatchConclusion.cmo: mQGTypes.cmo cGMatchConclusion.cmi -cGMatchConclusion.cmx: mQGTypes.cmx cGMatchConclusion.cmi -cGSearchPattern.cmo: mQGUtil.cmi mQGTypes.cmo cGSearchPattern.cmi -cGSearchPattern.cmx: mQGUtil.cmx mQGTypes.cmx cGSearchPattern.cmi -cGLocateInductive.cmo: mQGTypes.cmo cGLocateInductive.cmi -cGLocateInductive.cmx: mQGTypes.cmx cGLocateInductive.cmi diff --git a/helm/ocaml/mathql_generator/Makefile b/helm/ocaml/mathql_generator/Makefile deleted file mode 100644 index a72f17ab2..000000000 --- a/helm/ocaml/mathql_generator/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -PACKAGE = mathql_generator - -REQUIRES = helm-cic helm-cic_proof_checking helm-mathql - -PREDICATES = - -INTERFACE_FILES = mQGUtil.mli mQueryGenerator.mli \ - cGMatchConclusion.mli cGSearchPattern.mli \ - cGLocateInductive.mli - -IMPLEMENTATION_FILES = mQGTypes.ml $(INTERFACE_FILES:%.mli=%.ml) - -EXTRA_OBJECTS_TO_INSTALL = mQGTypes.ml mQGTypes.cmi - -EXTRA_OBJECTS_TO_CLEAN = - -include ../Makefile.common diff --git a/helm/ocaml/mathql_generator/cGLocateInductive.ml b/helm/ocaml/mathql_generator/cGLocateInductive.ml deleted file mode 100644 index 04181fb23..000000000 --- a/helm/ocaml/mathql_generator/cGLocateInductive.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 - *) - -exception NotAnInductiveDefinition - -let get_constraints = function - | Cic.MutInd (uri, t, _) -> - let uri = UriManager.string_of_uriref (uri, [t]) in - let constr_obj = - [(`InHypothesis, uri); (`MainHypothesis (Some 0), uri)] - in - let constr_rel = [`MainConclusion None] in - let constr_sort = [(`MainHypothesis (Some 1), MQGTypes.Prop)] in - (constr_obj, constr_rel, constr_sort) - | _ -> raise NotAnInductiveDefinition diff --git a/helm/ocaml/mathql_generator/cGLocateInductive.mli b/helm/ocaml/mathql_generator/cGLocateInductive.mli deleted file mode 100644 index b6a51401e..000000000 --- a/helm/ocaml/mathql_generator/cGLocateInductive.mli +++ /dev/null @@ -1,31 +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 - *) - -val get_constraints : Cic.term -> MQGTypes.must_restrictions - -exception NotAnInductiveDefinition diff --git a/helm/ocaml/mathql_generator/cGMatchConclusion.ml b/helm/ocaml/mathql_generator/cGMatchConclusion.ml deleted file mode 100644 index 70dfde475..000000000 --- a/helm/ocaml/mathql_generator/cGMatchConclusion.ml +++ /dev/null @@ -1,159 +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 = MQGTypes - -let text_of_entries out entries = - out "(** MatchConclusion: results of the term inspection **)\n"; - let text_of_entry (u, b, v) = - out (string_of_int v ^ " "); - out (if b then "$MC " else "$IC "); - out (u ^ "\n") - in List.iter text_of_entry entries - -let sort_entries entries = - let comparator (_, _, v1) (_, _, v2) = compare v1 v2 in - List.fast_sort comparator entries - -let levels_of_term metasenv context term = - let module TC = CicTypeChecker in - let module Red = CicReduction in - let degree t = - let rec degree_aux = function - | Cic.Sort _ -> 1 - | Cic.Cast (u, _) -> degree_aux u - | Cic.Prod (_, _, t) -> degree_aux t - | _ -> 2 - in - let u,_ = TC.type_of_aux' metasenv context t CicUniv.empty_ugraph in - degree_aux (Red.whd context u) - in - let entry_eq (s1, b1, v1) (s2, b2, v2) = - s1 = s2 && b1 = b2 - in - let rec entry_in e = function - | [] -> [e] - | head :: tail -> - head :: if entry_eq head e then tail else entry_in e tail - in - let inspect_uri main l uri tc v term = - let d = degree term in - entry_in (UriManager.string_of_uriref (uri, tc), main, 2 * v + d - 1) l - in - let rec inspect_term main l v term = match term with - Cic.Rel _ -> l - | Cic.Meta _ -> l - | Cic.Sort _ -> l - | Cic.Implicit _ -> l - | Cic.Var (u,exp_named_subst) -> - inspect_exp_named_subst l (succ v) exp_named_subst -(* - let l' = inspect_uri main l u [] v term in - inspect_exp_named_subst l' (succ v) exp_named_subst -*) - | Cic.Const (u,exp_named_subst) -> - let l' = inspect_uri main l u [] v term in - inspect_exp_named_subst l' (succ v) exp_named_subst - | Cic.MutInd (u, t, exp_named_subst) -> - let l' = inspect_uri main l u [t] v term in - inspect_exp_named_subst l' (succ v) exp_named_subst - | Cic.MutConstruct (u, t, c, exp_named_subst) -> - let l' = inspect_uri main l u [t; c] v term in - inspect_exp_named_subst l' (succ v) exp_named_subst - | Cic.Cast (uu, _) -> - inspect_term main l v uu - | Cic.Prod (_, uu, tt) -> - let luu = inspect_term false l (succ v) uu in - inspect_term main luu (succ v) tt - | Cic.Lambda (_, uu, tt) -> - let luu = inspect_term false l (succ v) uu in - inspect_term false luu (succ v) tt - | Cic.LetIn (_, uu, tt) -> - let luu = inspect_term false l (succ v) uu in - inspect_term false luu (succ v) tt - | Cic.Appl m -> inspect_list main l true v m - | Cic.MutCase (u, t, tt, uu, m) -> - let lu = inspect_uri main l u [t] (succ v) term in - let ltt = inspect_term false lu (succ v) tt in - let luu = inspect_term false ltt (succ v) uu in - inspect_list main luu false (succ v) m - | Cic.Fix (_, m) -> inspect_ind l (succ v) m - | Cic.CoFix (_, m) -> inspect_coind l (succ v) m - and inspect_list main l head v = function - | [] -> l - | tt :: m -> - let ltt = inspect_term main l (if head then v else v + 1) tt in - inspect_list false ltt false v m - and inspect_exp_named_subst l v = function - [] -> l - | (_,t) :: tl -> - let l' = inspect_term false l v t in - inspect_exp_named_subst l' v tl - and inspect_ind l v = function - | [] -> l - | (_, _, tt, uu) :: m -> - let ltt = inspect_term false l v tt in - let luu = inspect_term false ltt v uu in - inspect_ind luu v m - and inspect_coind l v = function - | [] -> l - | (_, tt, uu) :: m -> - let ltt = inspect_term false l v tt in - let luu = inspect_term false ltt v uu in - inspect_coind luu v m - in - let rec inspect_backbone = function - | Cic.Cast (uu, _) -> inspect_backbone uu - | Cic.Prod (_, _, tt) -> inspect_backbone tt - | Cic.LetIn (_, uu, tt) -> inspect_backbone tt - | t -> inspect_term true [] 0 t - in - inspect_backbone term - -let get_constraints e c t = - let can = sort_entries (levels_of_term e c t) in (* can restrictions *) - text_of_entries prerr_string can; flush stderr; (* logging *) - let rest_of (u, b, _) = - let p = if b then `MainConclusion None else `InConclusion in (p, u) - in - let rec split vp = function - | [], ((_, _, v) as hd) :: tl -> split v ([rest_of hd], tl) - | prev, ((_, _, ve) as hd) :: tl when vp = ve -> - split vp (rest_of hd :: prev, tl) - | p, l -> p, l - in - let rec mk_musts prev acc = function - | [] -> prev, acc - | l -> - let slice, next = split 0 ([], l) in - let acc = acc @ slice in - mk_musts (prev @ [acc]) acc next - in - mk_musts [] [] can - -let universe = [T.MainConclusion; T.InConclusion] diff --git a/helm/ocaml/mathql_generator/cGMatchConclusion.mli b/helm/ocaml/mathql_generator/cGMatchConclusion.mli deleted file mode 100644 index a9fbef47f..000000000 --- a/helm/ocaml/mathql_generator/cGMatchConclusion.mli +++ /dev/null @@ -1,33 +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 - *) - -val get_constraints: Cic.metasenv -> Cic.context -> Cic.term -> - MQGTypes.r_obj list list * - MQGTypes.r_obj list - -val universe : MQGTypes.universe diff --git a/helm/ocaml/mathql_generator/cGSearchPattern.ml b/helm/ocaml/mathql_generator/cGSearchPattern.ml deleted file mode 100644 index 47345e9f3..000000000 --- a/helm/ocaml/mathql_generator/cGSearchPattern.ml +++ /dev/null @@ -1,195 +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 *) -(* 02/12/2002 *) -(* *) -(* Missing description *) -(* *) -(******************************************************************************) - -module T = MQGTypes -module U = MQGUtil - -type classification = - Backbone of int - | Branch of int - | InConclusion - | InHypothesis -;; - -let soften_classification = - function - Backbone _ -> InConclusion - | Branch _ -> InHypothesis - | k -> k -;; - -let (!!) = - function - Backbone n -> `MainConclusion (Some n) - | Branch n -> `MainHypothesis (Some n) - | _ -> assert false -;; - -let (!!!) = - function - Backbone n -> `MainConclusion (Some n) - | Branch n -> `MainHypothesis (Some n) - | InConclusion -> `InConclusion - | InHypothesis -> `InHypothesis -;; - - -let (@@) (l1,l2,l3) (l1',l2',l3') = - let merge l1 l2 = - List.fold_left (fun i t -> if List.mem t l2 then i else t::i) l2 l1 - in - merge l1 l1', merge l2 l2', merge l3 l3' -;; - -let get_constraints term = - let module U = UriManager in - let module C = Cic in - let rec process_type_aux kind = - function - C.Var (uri,expl_named_subst) -> - (* andrea: this is a bug: variable are not indexedin the db - ([!!!kind, UriManager.string_of_uri uri],[],[]) @@ *) - (process_type_aux_expl_named_subst kind expl_named_subst) - | C.Rel _ -> - (match kind with - | InConclusion - | InHypothesis -> [],[],[] - | _ -> [],[!!kind],[]) - | C.Sort s -> - (match kind with - Backbone _ - | Branch _ -> - let s' = - match s with - Cic.Prop -> T.Prop - | Cic.Set -> T.Set - | Cic.Type _ -> T.Type (* TASSI: ?? *) - | Cic.CProp -> T.CProp - in - [],[],[!!kind,s'] - | _ -> [],[],[]) - | C.Meta _ -> [],[],[] (* ???? To be understood *) - | C.Implicit _ -> assert false - | C.Cast (te,_) -> - (* type ignored *) - process_type_aux kind te - | C.Prod (_,sou,ta) -> - let (source_kind,target_kind) = - match kind with - Backbone n -> (Branch 0, Backbone (n+1)) - | Branch n -> (InHypothesis, Branch (n+1)) - | k -> (k,k) - in - process_type_aux source_kind sou @@ - process_type_aux target_kind ta - | C.Lambda (_,sou,ta) -> - let kind' = soften_classification kind in - process_type_aux kind' sou @@ - process_type_aux kind' ta - | C.LetIn (_,te,ta)-> - let kind' = soften_classification kind in - process_type_aux kind' te @@ - process_type_aux kind ta - | C.Appl (he::tl) -> - let kind' = soften_classification kind in - process_type_aux kind he @@ - List.fold_left (fun i t -> i @@ process_type_aux kind' t) ([],[],[]) tl - | C.Appl _ -> assert false - | C.Const (uri,_) -> - [!!!kind, UriManager.string_of_uri uri],[],[] - | C.MutInd (uri,typeno,expl_named_subst) -> - ([!!!kind, U.string_of_uri uri ^ "#xpointer(1/" ^ - string_of_int (typeno + 1) ^ ")"],[],[]) @@ - (process_type_aux_expl_named_subst kind expl_named_subst) - | C.MutConstruct (uri,typeno,consno,expl_named_subst) -> - ([!!!kind, U.string_of_uri uri ^ "#xpointer(1/" ^ - string_of_int (typeno + 1) ^ "/" ^ string_of_int consno ^ ")"],[],[]) - @@ (process_type_aux_expl_named_subst kind expl_named_subst) - | C.MutCase (_,_,_,term,patterns) -> - (* outtype ignored *) - let kind' = soften_classification kind in - process_type_aux kind' term @@ - List.fold_left (fun i t -> i @@ process_type_aux kind' t) - ([],[],[]) patterns - | C.Fix (_,funs) -> - let kind' = soften_classification kind in - List.fold_left - (fun i (_,_,bo,ty) -> - i @@ - process_type_aux kind' bo @@ - process_type_aux kind' ty - ) ([],[],[]) funs - | C.CoFix (_,funs) -> - let kind' = soften_classification kind in - List.fold_left - (fun i (_,bo,ty) -> - i @@ - process_type_aux kind' bo @@ - process_type_aux kind' ty - ) ([],[],[]) funs - and process_type_aux_expl_named_subst kind = - List.fold_left - (fun i (_,t) -> i @@ (process_type_aux (soften_classification kind) t)) - ([],[],[]) -in - let obj_constraints,rel_constraints,sort_constraints = - process_type_aux (Backbone 0) (CicMiniReduction.letin_nf term) - in - (obj_constraints,rel_constraints,sort_constraints) -;; - -(*CSC: Debugging only *) -(* -let get_constraints term = - let res = get_constraints term in - let (objs,rels,sorts) = res in - let text_of_pos p = - U.text_of_position p ^ " " ^ U.text_of_depth p "NULL" - in - prerr_endline "Constraints on objs:" ; - List.iter - (function (p, u) -> prerr_endline (text_of_pos p ^ " " ^ u)) objs ; - prerr_endline "Constraints on Rels:" ; - List.iter (function p -> prerr_endline (text_of_pos (p:>T.full_position))) rels ; - prerr_endline "Constraints on Sorts:" ; - List.iter - (function (p, s) -> prerr_endline (text_of_pos (p:>T.full_position) ^ " " ^ U.text_of_sort s) - ) sorts ; - res -;; *) - -let universe = - [T.MainHypothesis; T.InHypothesis; T.MainConclusion; T.InConclusion] diff --git a/helm/ocaml/mathql_generator/cGSearchPattern.mli b/helm/ocaml/mathql_generator/cGSearchPattern.mli deleted file mode 100644 index 528283387..000000000 --- a/helm/ocaml/mathql_generator/cGSearchPattern.mli +++ /dev/null @@ -1,39 +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 *) -(* 02/12/2002 *) -(* *) -(* Missing description *) -(* *) -(******************************************************************************) - -val get_constraints : Cic.term -> MQGTypes.must_restrictions - -val universe : MQGTypes.universe diff --git a/helm/ocaml/mathql_generator/mQGTypes.ml b/helm/ocaml/mathql_generator/mQGTypes.ml deleted file mode 100644 index a210aa68f..000000000 --- a/helm/ocaml/mathql_generator/mQGTypes.ml +++ /dev/null @@ -1,75 +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/. - *) - -(* AUTORS: Ferruccio Guidi - * Claudio Sacerdoti Coen - *) - -(* low level types *********************************************************) - -type uri = string -type position = MainHypothesis - | InHypothesis - | MainConclusion - | InConclusion - | InBody -type depth = int -type sort = Set - | Prop - | Type - | CProp - -type spec = MustObj of uri list * position list * depth list - | MustSort of sort list * position list * depth list - | MustRel of position list * depth list - | OnlyObj of uri list * position list * depth list - | OnlySort of sort list * position list * depth list - | OnlyRel of position list * depth list - | Universe of position list - -(* high-level types ********************************************************) - -type optional_depth = int option - -type full_position = [ `MainHypothesis of optional_depth - | `MainConclusion of optional_depth - | `InHypothesis - | `InConclusion - | `InBody - ] - -type main_position = [ `MainHypothesis of optional_depth - | `MainConclusion of optional_depth - ] - -type r_obj = full_position * uri -type r_sort = main_position * sort -type r_rel = main_position - -type must_restrictions = (r_obj list * r_rel list * r_sort list) -type only_restrictions = - (r_obj list option * r_rel list option * r_sort list option) - -type universe = position list diff --git a/helm/ocaml/mathql_generator/mQGUtil.ml b/helm/ocaml/mathql_generator/mQGUtil.ml deleted file mode 100644 index e30742649..000000000 --- a/helm/ocaml/mathql_generator/mQGUtil.ml +++ /dev/null @@ -1,148 +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 = MQGTypes - -(* low level functions *****************************************************) - -let string_of_position p = - let ns = "http://www.cs.unibo.it/helm/schemas/schema-helm#" in - match p with - | T.MainHypothesis -> ns ^ "MainHypothesis" - | T.InHypothesis -> ns ^ "InHypothesis" - | T.MainConclusion -> ns ^ "MainConclusion" - | T.InConclusion -> ns ^ "InConclusion" - | T.InBody -> ns ^ "InBody" - -let string_of_sort = function - | T.Set -> "Set" - | T.Prop -> "Prop" - | T.Type -> "Type" - | T.CProp -> "CProp" - -let string_of_depth = string_of_int - -let mathql_of_position = function - | T.MainHypothesis -> "$MH" - | T.InHypothesis -> "$IH" - | T.MainConclusion -> "$MC" - | T.InConclusion -> "$IC" - | T.InBody -> "$IB" - -let mathql_of_sort = function - | T.Set -> "$SET" - | T.Prop -> "$PROP" - | T.Type -> "$TYPE" - | T.CProp -> "$CPROP" - -let mathql_of_depth = string_of_int - -let mathql_of_uri u = u - -let mathql_of_specs out l = - let rec iter f = function - | [] -> () - | [s] -> out "\""; out (f s); out "\"" - | s :: tail -> out "\""; out (f s); out "\", "; iter f tail - in - let txt_uri l = out "{"; iter mathql_of_uri l; out "} " in - let txt_pos l = out "{"; iter mathql_of_position l; out "} " in - let txt_sort l = out "{"; iter mathql_of_sort l; out "} " in - let txt_depth l = out "{"; iter mathql_of_depth l; out "} " in - let txt_spec = function - | T.MustObj (u, p, d) -> out "mustobj "; txt_uri u; txt_pos p; txt_depth d; out "\n" - | T.MustSort (s, p, d) -> out "mustsort "; txt_sort s; txt_pos p; txt_depth d; out "\n" - | T.MustRel ( p, d) -> out "mustrel "; txt_pos p; txt_depth d; out "\n" - | T.OnlyObj (u, p, d) -> out "onlyobj "; txt_uri u; txt_pos p; txt_depth d; out "\n" - | T.OnlySort (s, p, d) -> out "onlysort "; txt_sort s; txt_pos p; txt_depth d; out "\n" - | T.OnlyRel ( p, d) -> out "onlyrel "; txt_pos p; txt_depth d; out "\n" - | T.Universe ( p ) -> out "universe "; txt_pos p; out "\n" - in - List.iter txt_spec l - -let position_of_mathql = function - | "$MH" -> T.MainHypothesis - | "$IH" -> T.InHypothesis - | "$MC" -> T.MainConclusion - | "$IC" -> T.InConclusion - | "$IB" -> T.InBody - | _ -> raise Parsing.Parse_error - -let sort_of_mathql = function - | "$SET" -> T.Set - | "$PROP" -> T.Prop - | "$TYPE" -> T.Type - | "$CPROP" -> T.CProp - | _ -> raise Parsing.Parse_error - -let depth_of_mathql s = - try - let d = int_of_string s in - if d < 0 then raise (Failure "") else d - with Failure _ -> raise Parsing.Parse_error - -let uri_of_mathql s = s - -(* high level functions ****************************************************) - -let text_of_position = function - | `MainHypothesis _ -> "MainHypothesis" - | `MainConclusion _ -> "MainConclusion" - | `InHypothesis -> "InHypothesis" - | `InConclusion -> "InConclusion" - | `InBody -> "InBody" - -let text_of_depth pos no_depth_text = match pos with - | `MainHypothesis (Some d) - | `MainConclusion (Some d) -> string_of_int d - | _ -> no_depth_text - -let text_of_sort = function - | T.Set -> "Set" - | T.Prop -> "Prop" - | T.Type -> "Type" - | T.CProp -> "CProp" - -let is_main_position = function - | `MainHypothesis _ - | `MainConclusion _ -> true - | _ -> false - -let is_conclusion = function - | `MainConclusion _ - | `InConclusion -> true - | _ -> false - -let set_full_position pos depth = match pos with - | `MainHypothesis _ -> `MainHypothesis depth - | `MainConclusion _ -> `MainConclusion depth - | _ -> pos - -let set_main_position pos depth = match pos with - | `MainHypothesis _ -> `MainHypothesis depth - | `MainConclusion _ -> `MainConclusion depth diff --git a/helm/ocaml/mathql_generator/mQGUtil.mli b/helm/ocaml/mathql_generator/mQGUtil.mli deleted file mode 100644 index 065abb157..000000000 --- a/helm/ocaml/mathql_generator/mQGUtil.mli +++ /dev/null @@ -1,69 +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 - *) - -(* low level functions *****************************************************) - -(* these functions give the string representation used in the db ----------*) - -val string_of_position : MQGTypes.position -> string -val string_of_depth : MQGTypes.depth -> string -val string_of_sort : MQGTypes.sort -> string - -(* these functions give the string representation used in MathQL ----------*) - -val mathql_of_position : MQGTypes.position -> string -val mathql_of_depth : MQGTypes.depth -> string -val mathql_of_uri : MQGTypes.uri -> string -val mathql_of_sort : MQGTypes.sort -> string - -val mathql_of_specs : (string -> unit) -> MQGTypes.spec list -> unit - -val position_of_mathql : string -> MQGTypes.position -val depth_of_mathql : string -> MQGTypes.depth -val uri_of_mathql : string -> MQGTypes.uri -val sort_of_mathql : string -> MQGTypes.sort - -(* high level functions ****************************************************) - -(* these functions give the textual representation used by umans ----------*) - -val text_of_position : MQGTypes.full_position -> string -val text_of_depth : MQGTypes.full_position -> string -> string -val text_of_sort : MQGTypes.sort -> string - -(* these functions classify the positions ---------------------------------*) - -val is_main_position : MQGTypes.full_position -> bool -val is_conclusion : MQGTypes.full_position -> bool - -(* these function apply changes to positions ------------------------------*) - -val set_full_position : MQGTypes.full_position -> MQGTypes.optional_depth -> - MQGTypes.full_position -val set_main_position : MQGTypes.main_position -> MQGTypes.optional_depth -> - MQGTypes.main_position diff --git a/helm/ocaml/mathql_generator/mQueryGenerator.ml b/helm/ocaml/mathql_generator/mQueryGenerator.ml deleted file mode 100644 index dd8b00ae3..000000000 --- a/helm/ocaml/mathql_generator/mQueryGenerator.ml +++ /dev/null @@ -1,189 +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 M = MathQL -module T = MQGTypes -module U = MQGUtil - -(* low level functions *****************************************************) - -let locate s = - let query = - M.Property (true,M.RefineExact,["objectName"],[],[],[],[],false,(M.Const s) ) - in query - -let unreferred target_pattern source_pattern = - let query = - M.Bin (M.BinFDiff, - ( - M.Property(false,M.RefineExact,[],[],[],[],[],true,(M.Const target_pattern)) - ), ( - M.Property(false,M.RefineExact,["refObj"],["h:occurrence"],[],[],[],true,(M.Const source_pattern)) - - )) - in query - -let compose cl = - let letin = ref [] in - let must = ref [] in - let onlyobj = ref [] in - let onlysort = ref [] in - let onlyrel = ref [] in - let only = ref true in - let univ = ref [] in - let set_val = function - | [s] -> M.Const s - | l -> - let msval = M.Set (List.map (fun s -> M.Const s) l) in - if ! only then begin - let vvar = "val" ^ string_of_int (List.length ! letin) in - letin := (vvar, msval) :: ! letin; - M.VVar vvar - end else msval - in - let cons o (r, s, p, d) = - let con p = function - | [] -> [] - | l -> [(false, [p], set_val l)] - in - only := o; - con "h:occurrence" r @ - con "h:sort" (List.map U.string_of_sort s) @ - con "h:position" (List.map U.string_of_position p) @ - con "h:depth" (List.map U.string_of_depth d) - in - let property_must n c = - M.Property(true,M.RefineExact,[n],[],(cons false c),[],[],false,(M.Const "")) - in - let property_only n cl = - let rec build = function - | [] -> [] - | c :: tl -> - let r = (cons true) c in - if r = [] then build tl else r :: build tl - in - let cll = build cl in - M.Property(false,M.RefineExact,[n],[],!univ,cll,[],false,(M.Proj(None,(M.AVar "obj")))) - in - let rec aux = function - | [] -> () - | T.Universe l :: tail -> - only := true; - let l = List.map U.string_of_position l in - univ := [(false, ["h:position"], set_val l)]; aux tail - | T.MustObj(r,p,d) :: tail -> - must := property_must "refObj" (r, [], p, d) :: ! must; aux tail - | T.MustSort(s,p,d) :: tail -> - must := property_must "refSort" ([], s, p, d) :: ! must; aux tail - | T.MustRel(p,d) :: tail -> - must := property_must "refRel" ([], [], p, d) :: ! must; aux tail - | T.OnlyObj(r,p,d) :: tail -> - onlyobj := (r, [], p, d) :: ! onlyobj; aux tail - | T.OnlySort(s,p,d) :: tail -> - onlysort := ([], s, p, d) :: ! onlysort; aux tail - | T.OnlyRel(p,d) :: tail -> - onlyrel := ([], [], p, d) :: ! onlyrel; aux tail - in - let rec iter f g = function - | [] -> raise (Failure "MQueryGenerator.iter") - | [head] -> (f head) - | head :: tail -> let t = (iter f g tail) in g (f head) t - in - (* prerr_endline "(** Compose: received constraints **)"; - U.mathql_of_specs prerr_string cl; flush stderr; *) - aux cl; - let must_query = - if ! must = [] then - M.Property(false,M.RefineExact,[],[],[],[],[],true,(M.Const ".*")) - else - iter (fun x -> x) (fun x y -> M.Bin(M.BinFMeet,x,y)) ! must - in - let onlyobj_val = M.Not (M.Proj(None,(property_only "refObj" ! onlyobj))) in - let onlysort_val = M.Not (M.Proj(None,(property_only "refSort" ! onlysort))) in - let onlyrel_val = M.Not (M.Proj(None,(property_only "refRel" ! onlyrel))) in - let select_query x = - match ! onlyobj, ! onlysort, ! onlyrel with - | [], [], [] -> x - | _, [], [] -> M.Select("obj",x,onlyobj_val) - | [], _, [] -> M.Select("obj",x,onlysort_val) - | [], [], _ -> M.Select("obj",x,onlyrel_val) - | _, _, [] -> M.Select("obj",x,(M.Test(M.And,onlyobj_val,onlysort_val))) - | _, [], _ -> M.Select("obj",x,(M.Test(M.And,onlyobj_val,onlyrel_val))) - | [], _, _ -> M.Select("obj",x,(M.Test(M.And,onlysort_val,onlyrel_val))) - | _, _, _ -> M.Select("obj",x,(M.Test(M.And,(M.Test(M.And,onlyobj_val,onlysort_val)),onlyrel_val))) - in - let letin_query = - if ! letin = [] then fun x -> x - else - let f (vvar, msval) x = M.LetVVar(vvar,msval,x) in - iter f (fun x y z -> x (y z)) ! letin - in - letin_query (select_query must_query) - -(* high-level functions ****************************************************) - -let query_of_constraints u (musts_obj, musts_rel, musts_sort) - (onlys_obj, onlys_rel, onlys_sort) = - let conv = function - | `MainHypothesis None -> [T.MainHypothesis], [] - | `MainHypothesis (Some d) -> [T.MainHypothesis], [d] - | `MainConclusion None -> [T.MainConclusion], [] - | `MainConclusion (Some d) -> [T.MainConclusion], [d] - | `InHypothesis -> [T.InHypothesis], [] - | `InConclusion -> [T.InConclusion], [] - | `InBody -> [T.InBody], [] - in - let must_obj (p, u) = let p, d = conv p in T.MustObj ([u], p, d) in - let must_sort (p, s) = let p, d = conv p in T.MustSort ([s], p, d) in - let must_rel p = let p, d = conv p in T.MustRel (p, d) in - let only_obj (p, u) = let p, d = conv p in T.OnlyObj ([u], p, d) in - let only_sort (p, s) = let p, d = conv p in T.OnlySort ([s], p, d) in - let only_rel p = let p, d = conv p in T.OnlyRel (p, d) in - let must = List.map must_obj musts_obj @ - List.map must_rel musts_rel @ - List.map must_sort musts_sort - in - let only = - (match onlys_obj with - | None -> [] - | Some [] -> [T.OnlyObj ([], [], [])] - | Some l -> List.map only_obj l - ) @ - (match onlys_rel with - | None -> [] - | Some [] -> [T.OnlyRel ([], [])] - | Some l -> List.map only_rel l - ) @ - (match onlys_sort with - | None -> [] - | Some [] -> [T.OnlySort ([], [], [])] - | Some l -> List.map only_sort l - ) - in - let univ = match u with None -> [] | Some l -> [T.Universe l] in - compose (must @ only @ univ) diff --git a/helm/ocaml/mathql_generator/mQueryGenerator.mli b/helm/ocaml/mathql_generator/mQueryGenerator.mli deleted file mode 100644 index decaa0ea7..000000000 --- a/helm/ocaml/mathql_generator/mQueryGenerator.mli +++ /dev/null @@ -1,42 +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 - *) - -(* interface for the low-level constraints *********************************) - -val locate : string -> MathQL.query - -val unreferred : string -> string -> MathQL.query - -val compose : MQGTypes.spec list -> MathQL.query - -(* interface for the high-level constraints ********************************) - -val query_of_constraints : MQGTypes.universe option -> - MQGTypes.must_restrictions -> - MQGTypes.only_restrictions -> - MathQL.query diff --git a/helm/ocaml/mathql_interpreter/.cvsignore b/helm/ocaml/mathql_interpreter/.cvsignore deleted file mode 100644 index cd9b591e3..000000000 --- a/helm/ocaml/mathql_interpreter/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.cm[iaox] *.cmxa mQueryTLexer.ml mQueryTParser.ml mQueryTParser.mli diff --git a/helm/ocaml/mathql_interpreter/.depend b/helm/ocaml/mathql_interpreter/.depend deleted file mode 100644 index 186c81793..000000000 --- a/helm/ocaml/mathql_interpreter/.depend +++ /dev/null @@ -1,27 +0,0 @@ -mQIPostgres.cmi: mQITypes.cmo -mQIMySql.cmi: mQITypes.cmo -mQIConn.cmi: mQITypes.cmo mQIMap.cmi -mQIProperty.cmi: mQITypes.cmo mQIConn.cmi -mQueryInterpreter.cmi: mQIConn.cmi -mQueryTParser.cmo: mQueryTParser.cmi -mQueryTParser.cmx: mQueryTParser.cmi -mQueryTLexer.cmo: mQueryTParser.cmi -mQueryTLexer.cmx: mQueryTParser.cmx -mQueryUtil.cmo: mQueryTParser.cmi mQueryTLexer.cmo mQueryUtil.cmi -mQueryUtil.cmx: mQueryTParser.cmx mQueryTLexer.cmx mQueryUtil.cmi -mQIUtil.cmo: mQIUtil.cmi -mQIUtil.cmx: mQIUtil.cmi -mQIPostgres.cmo: mQIPostgres.cmi -mQIPostgres.cmx: mQIPostgres.cmi -mQIMySql.cmo: mQIMySql.cmi -mQIMySql.cmx: mQIMySql.cmi -mQIMap.cmo: mQueryUtil.cmi mQIMap.cmi -mQIMap.cmx: mQueryUtil.cmx mQIMap.cmi -mQIConn.cmo: mQIPostgres.cmi mQIMySql.cmi mQIMap.cmi mQIConn.cmi -mQIConn.cmx: mQIPostgres.cmx mQIMySql.cmx mQIMap.cmx mQIConn.cmi -mQIProperty.cmo: mQIUtil.cmi mQIMap.cmi mQIConn.cmi mQIProperty.cmi -mQIProperty.cmx: mQIUtil.cmx mQIMap.cmx mQIConn.cmx mQIProperty.cmi -mQueryInterpreter.cmo: mQueryUtil.cmi mQIUtil.cmi mQIProperty.cmi mQIConn.cmi \ - mQueryInterpreter.cmi -mQueryInterpreter.cmx: mQueryUtil.cmx mQIUtil.cmx mQIProperty.cmx mQIConn.cmx \ - mQueryInterpreter.cmi diff --git a/helm/ocaml/mathql_interpreter/Makefile b/helm/ocaml/mathql_interpreter/Makefile deleted file mode 100644 index e47b37a53..000000000 --- a/helm/ocaml/mathql_interpreter/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -PACKAGE = mathql_interpreter -REQUIRES = helm-urimanager helm-mathql mysql postgres helm-registry -#natile-galax - -PREDICATES = - -INTERFACE_FILES = mQueryUtil.mli mQIUtil.mli \ - mQIPostgres.mli mQIMySql.mli mQIMap.mli mQIConn.mli \ - mQIProperty.mli mQueryInterpreter.mli - -IMPLEMENTATION_FILES = mQueryTParser.ml mQueryTLexer.ml \ - mQITypes.ml $(INTERFACE_FILES:%.mli=%.ml) - -EXTRA_OBJECTS_TO_INSTALL = mQueryTLexer.cmi \ - mQueryTLexer.mll mQueryTParser.mly \ - mQITypes.ml mQITypes.cmi - -EXTRA_OBJECTS_TO_CLEAN = mQueryTParser.ml mQueryTParser.mli \ - mQueryTLexer.ml - -include ../Makefile.common diff --git a/helm/ocaml/mathql_interpreter/mQIConn.ml b/helm/ocaml/mathql_interpreter/mQIConn.ml deleted file mode 100644 index aaf16fac4..000000000 --- a/helm/ocaml/mathql_interpreter/mQIConn.ml +++ /dev/null @@ -1,128 +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 - *) - -type connection = MySQL_C of HMysql.dbd - | Postgres_C of Postgres.connection - | No_C - -type flag = Galax | Postgres | Queries | Result | Source | Times | Warn - -type handle = { - log : string -> unit; (* logging function *) - set : flag list; (* options *) - pgc : connection; (* PG connection *) - pgm : MQIMap.pg_map; (* PG conversion function *) - pga : MQIMap.pg_alias (* PG table aliases *) -} - -let tables handle p = MQIMap.get_tables handle.pgm p - -let field handle p t = MQIMap.get_field handle.pgm p t - -let resolve handle a = MQIMap.resolve handle.pga a - -let log handle = handle.log - -let set handle flag = List.mem flag handle.set - -let pgc handle = handle.pgc - -let flags handle = handle.set - -let string_of_flag = function - | Galax -> "G" - | Postgres -> "P" - | Queries -> "Q" - | Result -> "R" - | Source -> "S" - | Times -> "T" - | Warn -> "W" - -let flag_of_char = function - | 'G' -> [Galax] - | 'P' -> [Postgres] - | 'Q' -> [Queries] - | 'R' -> [Result] - | 'S' -> [Source] - | 'T' -> [Times] - | 'W' -> [Warn] - | _ -> [] - -let string_fold_left f a s = - let l = String.length s in - let rec aux b i = if i = l then b else aux (f b s.[i]) (succ i) in - aux a 0 - -let string_of_flags flags = - List.fold_left (fun s flag -> s ^ string_of_flag flag) "" flags - -let flags_of_string s = - string_fold_left (fun l c -> l @ flag_of_char c) [] s - -let init ?(flags = []) ?(log = ignore) () = - let flags = - if flags = [] then - flags_of_string (Helm_registry.get "mathql_interpreter.flags") - else - flags - in - let m, a = - let g = - if List.mem Galax flags - then MQIMap.empty_map else MQIMap.read_map - in g () - in - {log = log; set = flags; - pgc = begin - try - if List.mem Galax flags then No_C else - if List.mem Postgres flags then Postgres_C (MQIPostgres.init ()) else - MySQL_C (MQIMySql.init ()) - with Failure "mqi_connection" -> No_C - end; - pgm = m; pga = a - } - -let close handle = - match pgc handle with - | MySQL_C c -> MQIMySql.close c - | Postgres_C c -> MQIPostgres.close c - | No_C -> () - -let exec handle out table cols ct cfl = - match pgc handle with - | MySQL_C c -> MQIMySql.exec (c, out) table cols ct cfl - | Postgres_C c -> MQIPostgres.exec (c, out) table cols ct cfl - | No_C -> [] - -let connected handle = - pgc handle <> No_C - -let init_if_connected ?(flags = []) ?(log = ignore) () = - let handle = init ~flags:flags ~log:log () in - if connected handle then handle else raise (Failure "mqi connection failed") diff --git a/helm/ocaml/mathql_interpreter/mQIConn.mli b/helm/ocaml/mathql_interpreter/mQIConn.mli deleted file mode 100644 index 35c8b3ef0..000000000 --- a/helm/ocaml/mathql_interpreter/mQIConn.mli +++ /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/. - *) - -(* AUTOR: Ferruccio Guidi - *) - -type connection = MySQL_C of HMysql.dbd - | Postgres_C of Postgres.connection - | No_C - -type flag = Galax | Postgres | Queries | Result | Source | Times | Warn - -type handle = { - log : string -> unit; (* logging function *) - set : flag list; (* options *) - pgc : connection; (* PG connection *) - pgm : MQIMap.pg_map; (* PG conversion function *) - pga : MQIMap.pg_alias (* PG table aliases *) -} - -val string_of_flags : flag list -> string -val flags_of_string : string -> flag list - -val init : ?flags:(flag list) -> ?log:(string -> unit) -> unit -> handle -val close : handle -> unit -val connected : handle -> bool -val exec : handle -> (MQITypes.query -> unit) -> - MQITypes.table -> MQITypes.columns -> - string MQITypes.con_true -> string MQITypes.con_false -> - MQITypes.result - -val init_if_connected : ?flags:(flag list) -> ?log:(string -> unit) -> unit -> handle - -(* The following functions allow to read the handle internal fields. - * For exclusive use of the interpreter. - *) - -val log : handle -> string -> unit -val set : handle -> flag -> bool -val flags : handle -> flag list -val tables : handle -> MathQL.path -> MQIMap.pg_tables -val field : handle -> MathQL.path -> string -> string -val resolve : handle -> string -> string diff --git a/helm/ocaml/mathql_interpreter/mQIMap.ml b/helm/ocaml/mathql_interpreter/mQIMap.ml deleted file mode 100644 index b215f366f..000000000 --- a/helm/ocaml/mathql_interpreter/mQIMap.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://cs.unibo.it/helm/. - *) - -(* AUTOR: Ferruccio Guidi - *) - -module U = MQueryUtil - -type pg_map = (MathQL.path * (bool * string * string option)) list - -type pg_tables = (bool * string) list - -type pg_alias = (string * string) list - -let empty_map () = [], [] - -let read_map () = - let map = Helm_registry.get "mathql_interpreter.db_map" in - let ich = open_in map in - let rec aux r s = - let d = input_line ich in - match Str.split (Str.regexp "[ \t]+") d with - | [] -> aux r s - | "#" :: _ -> aux r s - | t :: "<-" :: p -> aux ((p, (false, t, None)) :: r) s - | t :: c :: "<-" :: p -> aux ((p, (false, t, Some c)) :: r) s - | t :: "<+" :: p -> aux ((p, (true, t, None)) :: r) s - | t :: c :: "<+" :: p -> aux ((p, (true, t, Some c)) :: r) s - | [a; "->"; t] -> aux r ((a, t) :: s) - | ["->"] -> r, s - | _ -> raise (Failure "MQIMap.read_map") - in - let pgm, pga = aux [] [] in - close_in ich; - pgm, pga - -let comp c1 c2 = match c1, c2 with - | (_, t1), (_, t2) when t1 < t2 -> U.Lt - | (_, t1), (_, t2) when t1 > t2 -> U.Gt - | (b1, t), (b2, _) -> U.Eq (b1 || b2, t) - -let get_tables pgm p = - let aux l = function - | q, (b, t, _) when q = p -> U.list_join comp l [(b, t)] - | _, _ -> l - in - List.fold_left aux [] pgm - -let rec refine_tables l1 l2 = - U.list_meet comp l1 l2 - -let default_table = function - | [(_, a)] -> a - | l -> - try List.assoc true l - with Not_found -> raise (Failure "MQIMap.default_table") - -let get_field pgm p t = - let aux = function - | q, (_, u, _) when q = p && u = t -> true - | _ -> false - in - match List.filter aux pgm with - | [_, (_, _, None)] -> "" - | [_, (_, _, Some c)] -> c - | _ -> raise (Failure "MQIMap.get_field") - -let resolve pga a = - try List.assoc a pga with Not_found -> a diff --git a/helm/ocaml/mathql_interpreter/mQIMap.mli b/helm/ocaml/mathql_interpreter/mQIMap.mli deleted file mode 100644 index 50f5bb0fa..000000000 --- a/helm/ocaml/mathql_interpreter/mQIMap.mli +++ /dev/null @@ -1,47 +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 - *) - -type pg_map (* mathql path map for postgres *) - -type pg_tables - -type pg_alias - -val empty_map : unit -> pg_map * pg_alias - -val read_map : unit -> pg_map * pg_alias - -val get_tables : pg_map -> MathQL.path -> pg_tables - -val refine_tables : pg_tables -> pg_tables -> pg_tables - -val default_table : pg_tables -> string - -val get_field : pg_map -> MathQL.path -> string -> string - -val resolve : pg_alias -> string -> string diff --git a/helm/ocaml/mathql_interpreter/mQIMySql.ml b/helm/ocaml/mathql_interpreter/mQIMySql.ml deleted file mode 100644 index 46f350e21..000000000 --- a/helm/ocaml/mathql_interpreter/mQIMySql.ml +++ /dev/null @@ -1,94 +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 init () = - let module HR = Helm_registry in - let host = - HR.get_opt HR.get_string "mathql_interpreter.mysql_connection.host" in - let database = - HR.get_opt HR.get_string "mathql_interpreter.mysql_connection.database" in - let user = - HR.get_opt HR.get_string "mathql_interpreter.mysql_connection.user" in - let port = - HR.get_opt HR.get_int "mathql_interpreter.mysql_connection.port" in - let password = - HR.get_opt HR.get_string "mathql_interpreter.mysql_connection.password" in - try HMysql.quick_connect ?host ?database ?user ?port ?password () - with _ -> raise (Failure "mqi_connecion") - -let close c = HMysql.disconnect c - -let quote s = - let rec quote_aux s = - try - let l = String.length s in - let i = String.index s '\'' in - String.sub s 0 i ^ "\\'" ^ quote_aux (String.sub s (succ i) (l - (succ i))) - with Not_found -> s - in - "'" ^ quote_aux s ^ "'" - -let exec (c, out) q = - let g = function None -> "" | Some v -> v in - let f a = List.map g (Array.to_list a) in - out q; HMysql.map ~f:f (Mysql.exec c q) - -let exec c table cols ct cfl = - let rec iter f last sep = function - | [] -> last - | [head] -> f head - | head :: tail -> f head ^ sep ^ iter f last sep tail - in - let pg_cols = iter (fun x -> x) "" ", " cols in - let pg_msval v = iter quote "" ", " v in - let pg_con (pat, col, v) = - if col <> "" then - let f s = col ^ " regexp " ^ quote ("^" ^ s ^ "$") in - if pat then "(" ^ iter f "0" " or " v ^ ")" - else match v with - | [s] -> col ^ " = " ^ (quote s) - | v -> col ^ " in (" ^ pg_msval v ^ ")" - else "1" - in - let pg_cons l = iter pg_con "1" " and " l in - let pg_cons_not l = "not (" ^ pg_cons l ^ ")" in - let pg_cons_not_l ll = iter pg_cons_not "1" " and " ll in - let pg_where = match ct, cfl with - | [], [] -> "" - | lt, [] -> " where " ^ pg_cons lt - | [], llf -> " where " ^ pg_cons_not_l llf - | lt, llf -> " where " ^ pg_cons lt ^ " and " ^ pg_cons_not_l llf - in - if cols = [] then - let r = exec c ("select count(source) from " ^ table ^ pg_where) in - match r with - | [[s]] when int_of_string s > 0 -> [[]] - | _ -> [] - else - exec c ("select " ^ pg_cols ^ " from " ^ table ^ pg_where ^ - " order by " ^ List.hd cols ^ " asc") diff --git a/helm/ocaml/mathql_interpreter/mQIMySql.mli b/helm/ocaml/mathql_interpreter/mQIMySql.mli deleted file mode 100644 index 8afaf401d..000000000 --- a/helm/ocaml/mathql_interpreter/mQIMySql.mli +++ /dev/null @@ -1,36 +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 - *) - -val init : unit -> HMysql.dbd - -val close : HMysql.dbd -> unit - -val exec : HMysql.dbd * (MQITypes.query -> unit) -> - MQITypes.table -> MQITypes.columns -> - string MQITypes.con_true -> string MQITypes.con_false -> - MQITypes.result diff --git a/helm/ocaml/mathql_interpreter/mQIPostgres.ml b/helm/ocaml/mathql_interpreter/mQIPostgres.ml deleted file mode 100644 index 916f78732..000000000 --- a/helm/ocaml/mathql_interpreter/mQIPostgres.ml +++ /dev/null @@ -1,94 +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 init () = - let connection_string = - Helm_registry.get "mathql_interpreter.postgresql_connection_string" - in - try new Postgres.connection connection_string - with _ -> raise (Failure "mqi_connecion") - -let close c = c#close - -let quote s = - let rec quote_aux s = - try - let l = String.length s in - let i = String.index s '\'' in - String.sub s 0 i ^ "\\'" ^ quote_aux (String.sub s (succ i) (l - (succ i))) - with Not_found -> s - in - "'" ^ quote_aux s ^ "'" - -let exec (c, out) q = out q; (c#exec q)#get_list - -let exec c table cols ct cfl = - let rec iter f last sep = function - | [] -> last - | [head] -> f head - | head :: tail -> f head ^ sep ^ iter f last sep tail - in - let pg_cols = iter (fun x -> x) "" ", " cols in - let pg_msval v = iter quote "" ", " v in - let pg_con (pat, col, v) = - if col <> "" then - let f s = col ^ " ~ " ^ quote ("^" ^ s ^ "$") in - if pat then "(" ^ iter f "false" " or " v ^ ")" - else match v with - | [s] -> col ^ " = " ^ (quote s) - | v -> col ^ " in (" ^ pg_msval v ^ ")" - else "true" - in - let pg_cons l = iter pg_con "true" " and " l in - let pg_cons_not l = "not (" ^ pg_cons l ^ ")" in - let pg_cons_not_l ll = iter pg_cons_not "true" " and " ll in - let pg_where = match ct, cfl with - | [], [] -> "" - | lt, [] -> " where " ^ pg_cons lt - | [], llf -> " where " ^ pg_cons_not_l llf - | lt, llf -> " where " ^ pg_cons lt ^ " and " ^ pg_cons_not_l llf - in - if cols = [] then - let r = exec c ("select count(source) from " ^ table ^ pg_where) in - match r with - | [[s]] when int_of_string s > 0 -> [[]] - | _ -> [] - else - exec c ("select " ^ pg_cols ^ " from " ^ table ^ pg_where ^ - " order by " ^ List.hd cols ^ " asc") - -(* funzioni vecchie ********************************************************) -(* -let pg_name h s = - let q = "select id from registry where uri = " ^ quote s in - match exec h q with - | [[id]] -> "t" ^ id - | _ -> "" - -let get_id b = if b then ["B"] else ["F"] -*) diff --git a/helm/ocaml/mathql_interpreter/mQIPostgres.mli b/helm/ocaml/mathql_interpreter/mQIPostgres.mli deleted file mode 100644 index cbbf3929d..000000000 --- a/helm/ocaml/mathql_interpreter/mQIPostgres.mli +++ /dev/null @@ -1,36 +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 - *) - -val init : unit -> Postgres.connection - -val close : Postgres.connection -> unit - -val exec : Postgres.connection * (MQITypes.query -> unit) -> - MQITypes.table -> MQITypes.columns -> - string MQITypes.con_true -> string MQITypes.con_false -> - MQITypes.result diff --git a/helm/ocaml/mathql_interpreter/mQIProperty.ml b/helm/ocaml/mathql_interpreter/mQIProperty.ml deleted file mode 100644 index 60a003a32..000000000 --- a/helm/ocaml/mathql_interpreter/mQIProperty.ml +++ /dev/null @@ -1,101 +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 M = MathQL -module C = MQIConn -module U = MQIUtil -module A = MQIMap - -let not_supported s = - raise (Failure ("MQIProperty: feature not supported: " ^ s)) - -(* debugging ***************************************************************) - -let pg_print l = - let rec pg_record = function - | [] -> prerr_newline () - | head :: tail -> prerr_string (head ^ " "); pg_record tail - in - List.iter pg_record l - -let cl_print l = - let c_print (b, p, v) = - prerr_string (if b then "match " else "in "); - List.iter (fun x -> prerr_string ("/" ^ x)) p; - prerr_newline (); - List.iter prerr_endline v - in - List.iter c_print l - -(* Common functions ********************************************************) - -let pg_result distinct subj el res = - let compose = if distinct then List.map else fun f -> U.mql_iter (fun x -> [f x]) in - let get_name = function (p, None) -> p | (_, Some p) -> p in - let names = List.map get_name el in - let mk_grp l = - let grp = U.mql_iter2 (fun p s -> [(p, [s])]) names l in - if grp = [] then [] else [grp] - in - let mk_avs l = - if subj = "" then ("", mk_grp l) else (List.hd l, mk_grp (List.tl l)) - in - compose mk_avs res - -let get_table h mc ct cfl el = - let aux_c ts (_, p, _) = A.refine_tables ts (C.tables h p) in - let aux_e ts (p, _) = A.refine_tables ts (C.tables h p) in - let fst = C.tables h mc in - let snd = List.fold_left aux_c fst (ct @ (List.concat cfl)) in - let trd = List.fold_left aux_e snd el in - A.default_table trd - -let exec_single h mc ct cfl el table = - let conv p = C.field h p table in - let first = conv mc in - let mk_con l = List.map (fun (pat, p, v) -> (pat, conv p, v)) l in - let cons_true = mk_con ct in - let cons_false = List.map mk_con cfl in - let other_cols = List.map (fun (p, _) -> conv p) el in - let cols = if first = "" then other_cols else first :: other_cols in - let out q = if C.set h C.Queries then C.log h (q ^ "\n") in - let r = C.exec h out (C.resolve h table) cols cons_true cons_false in - pg_result false first el r - -let deadline = 100 - -let exec h refine mc ct cfl el = - if refine <> M.RefineExact then not_supported "exec"; - let table = get_table h mc ct cfl el in - let rec exec_aux ct = match ct with - | (pat, p, v) :: tail when List.length v > deadline -> - let single s = exec_aux ((pat, p, [s]) :: tail) in - U.mql_iter single v - | _ -> - exec_single h mc ct cfl el table - in exec_aux ct diff --git a/helm/ocaml/mathql_interpreter/mQIProperty.mli b/helm/ocaml/mathql_interpreter/mQIProperty.mli deleted file mode 100644 index f8159aaa8..000000000 --- a/helm/ocaml/mathql_interpreter/mQIProperty.mli +++ /dev/null @@ -1,32 +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 - *) - -val exec: MQIConn.handle -> - MathQL.refine -> MathQL.path -> - MathQL.path MQITypes.con_true -> MathQL.path MQITypes.con_false -> - MathQL.exp_list -> MathQL.result diff --git a/helm/ocaml/mathql_interpreter/mQITypes.ml b/helm/ocaml/mathql_interpreter/mQITypes.ml deleted file mode 100644 index 44b21ce18..000000000 --- a/helm/ocaml/mathql_interpreter/mQITypes.ml +++ /dev/null @@ -1,41 +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 - *) - -type 'a con = MathQL.pattern * 'a * MathQL.value - -type 'a con_true = 'a con list - -type 'a con_false = 'a con list list - -type table = string - -type columns = string list - -type result = string list list - -type query = string diff --git a/helm/ocaml/mathql_interpreter/mQIUtil.ml b/helm/ocaml/mathql_interpreter/mQIUtil.ml deleted file mode 100644 index 00f5390b5..000000000 --- a/helm/ocaml/mathql_interpreter/mQIUtil.ml +++ /dev/null @@ -1,153 +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 - *) - -(* boolean constants *******************************************************) - -let mql_false = [] - -let mql_true = [""] - -(* set theoretic operations *************************************************) - -let rec set_sub v1 v2 = - match v1, v2 with - | [], _ -> mql_true - | _, [] -> mql_false - | h1 :: _, h2 :: _ when h1 < h2 -> mql_false - | h1 :: _, h2 :: t2 when h1 > h2 -> set_sub v1 t2 - | _ :: t1, _ :: t2 -> set_sub t1 t2 - -let rec set_meet v1 v2 = - match v1, v2 with - | [], _ -> mql_false - | _, [] -> mql_false - | h1 :: t1, h2 :: _ when h1 < h2 -> set_meet t1 v2 - | h1 :: _, h2 :: t2 when h1 > h2 -> set_meet v1 t2 - | _, _ -> mql_true - -let set_eq v1 v2 = - if v1 = v2 then mql_true else mql_false - -let rec set_union v1 v2 = - match v1, v2 with - | [], v -> v - | v, [] -> v - | h1 :: t1, h2 :: t2 when h1 < h2 -> h1 :: set_union t1 v2 - | h1 :: t1, h2 :: t2 when h1 > h2 -> h2 :: set_union v1 t2 - | h1 :: t1, _ :: t2 -> h1 :: set_union t1 t2 - -let rec set_intersect v1 v2 = - match v1, v2 with - | [], v -> [] - | v, [] -> [] - | h1 :: t1, h2 :: _ when h1 < h2 -> set_intersect t1 v2 - | h1 :: _, h2 :: t2 when h1 > h2 -> set_intersect v1 t2 - | h1 :: t1, _ :: t2 -> h1 :: set_intersect t1 t2 - -let rec iter f = function - | [] -> [] - | head :: tail -> set_union (f head) (iter f tail) - -(* MathQL specific set operations ******************************************) - -let rec mql_union s1 s2 = - match s1, s2 with - | [], s -> s - | s, [] -> s - | (r1, g1) :: t1, (r2, _) :: _ when r1 < r2 -> - (r1, g1) :: mql_union t1 s2 - | (r1, _) :: _, (r2, g2) :: t2 when r1 > r2 -> - (r2, g2) :: mql_union s1 t2 - | (r1, g1) :: t1, (_, g2) :: t2 -> - (r1, set_union g1 g2) :: mql_union t1 t2 - -let rec mql_iter f = function - | [] -> [] - | head :: tail -> mql_union (f head) (mql_iter f tail) - -let rec mql_iter2 f l1 l2 = match l1, l2 with - | [], [] -> [] - | h1 :: t1, h2 :: t2 -> mql_union (f h1 h2) (mql_iter2 f t1 t2) - | _ -> raise (Invalid_argument "mql_iter2") - -let rec mql_prod g1 g2 = - let mql_prod_aux a = iter (fun h -> [mql_union a h]) g2 in - iter mql_prod_aux g1 - -let rec mql_intersect s1 s2 = - match s1, s2 with - | [], s -> [] - | s, [] -> [] - | (r1, _) :: t1, (r2, _) :: _ when r1 < r2 -> mql_intersect t1 s2 - | (r1, _) :: _, (r2, _) :: t2 when r1 > r2 -> mql_intersect s1 t2 - | (r1, g1) :: t1, (_, g2) :: t2 -> - (r1, set_intersect g1 g2) :: mql_intersect t1 t2 - -let rec mql_diff s1 s2 = - match s1, s2 with - | [], _ -> [] - | s, [] -> s - | (r1, g1) :: t1 , (r2, _) ::_ when r1 < r2 -> - (r1, g1) :: (mql_diff t1 s2) - | (r1, _) :: _, (r2, _) :: t2 when r1 > r2 -> mql_diff s1 t2 - | _ :: t1, _ :: t2 -> mql_diff t1 t2 - -(* logic operations ********************************************************) - -let xor v1 v2 = - let b = v1 <> mql_false in - if b && v2 <> mql_false then mql_false else - if b then v1 else v2 - -(* numeric operations ******************************************************) - -let int_of_list = function - | [s] -> int_of_string s - | _ -> raise (Failure "int_of_list") - -let le v1 v2 = - try if int_of_list v1 <= int_of_list v2 then mql_true else mql_false - with _ -> mql_false - -let lt v1 v2 = - try if int_of_list v1 < int_of_list v2 then mql_true else mql_false - with _ -> mql_false - -let align n v = - let c = String.length v in - try - let l = int_of_list [n] in - if c < l then [(String.make (l - c) ' ') ^ v] else [v] - with _ -> [v] - -(* context handling ********************************************************) - -let rec set ap = function - | [] -> [ap] - | head :: tail when fst head = fst ap -> ap :: tail - | head :: tail -> head :: set ap tail diff --git a/helm/ocaml/mathql_interpreter/mQIUtil.mli b/helm/ocaml/mathql_interpreter/mQIUtil.mli deleted file mode 100644 index 76735a863..000000000 --- a/helm/ocaml/mathql_interpreter/mQIUtil.mli +++ /dev/null @@ -1,69 +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 - *) - -val mql_true : MathQL.value - -val mql_false : MathQL.value - -val set_sub : MathQL.value -> MathQL.value -> MathQL.value - -val set_meet : MathQL.value -> MathQL.value -> MathQL.value - -val set_eq : MathQL.value -> MathQL.value -> MathQL.value - -val set_union : 'a list -> 'a list -> 'a list - -val set_intersect : 'a list -> 'a list -> 'a list - -val mql_union : ('a * 'b list) list -> ('a * 'b list) list -> - ('a * 'b list) list - -val mql_prod : MathQL.attribute_set -> MathQL.attribute_set -> - MathQL.attribute_set - -val mql_intersect : MathQL.result -> MathQL.result -> MathQL.result - -val mql_diff : MathQL.result -> MathQL.result -> MathQL.result - -val iter : ('a -> 'b list) -> 'a list -> 'b list - -val mql_iter : ('c -> ('a * 'b list) list) -> 'c list -> - ('a * 'b list) list - -val mql_iter2 : ('c -> 'd -> ('a * 'b list) list) -> 'c list -> - 'd list -> ('a * 'b list) list - -val xor : MathQL.value -> MathQL.value -> MathQL.value - -val le : MathQL.value -> MathQL.value -> MathQL.value - -val lt : MathQL.value -> MathQL.value -> MathQL.value - -val align : string -> string -> MathQL.value - -val set : string * 'a -> (string * 'a) list -> (string * 'a) list diff --git a/helm/ocaml/mathql_interpreter/mQueryInterpreter.ml b/helm/ocaml/mathql_interpreter/mQueryInterpreter.ml deleted file mode 100644 index 453b1643c..000000000 --- a/helm/ocaml/mathql_interpreter/mQueryInterpreter.ml +++ /dev/null @@ -1,245 +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 - *) - -(* contexts *****************************************************************) - -type svar_context = (MathQL.svar * MathQL.resource_set) list - -type avar_context = (MathQL.avar * MathQL.resource) list - -type group_context = (MathQL.avar * MathQL.attribute_group) list - -type vvar_context = (MathQL.vvar * MathQL.value) list - -type context = {svars: svar_context; - avars: avar_context; - groups: group_context; (* auxiliary context *) - vvars: vvar_context - } - -(* execute *****************************************************************) - -exception Found - -module M = MathQL -module P = MQueryUtil -module C = MQIConn -module U = MQIUtil - -let execute h x = - let warn q = - if C.set h C.Warn then - begin - C.log h "MQIExecute: waring: reference to undefined variables: "; - P.text_of_query (C.log h) "\n" q - end - in - let rec eval_val c = function - | M.False -> U.mql_false - | M.True -> U.mql_true - | M.Const s -> [s] - | M.Set l -> U.iter (eval_val c) l - | M.Test (k,y1,y2) -> - let cand y1 y2 = - if eval_val c y1 = U.mql_false then U.mql_false else eval_val c y2 - in - let cor y1 y2 = - let v1 = eval_val c y1 in - if v1 = U.mql_false then eval_val c y2 else v1 - in - let h f y1 y2 = f (eval_val c y1) (eval_val c y2) in - let f = match k with - | M.And -> cand - | M.Or -> cor - | M.Xor -> h U.xor - | M.Sub -> h U.set_sub - | M.Meet -> h U.set_meet - | M.Eq -> h U.set_eq - | M.Le -> h U.le - | M.Lt -> h U.lt - in - f y1 y2 - | M.Not y -> - if eval_val c y = U.mql_false then U.mql_true else U.mql_false - | M.VVar i -> begin - try List.assoc i c.vvars - with Not_found -> warn (M.Subj (M.VVar i)); [] end - | M.Dot (i,p) -> begin - try List.assoc p (List.assoc i c.groups) - with Not_found -> warn (M.Subj (M.Dot (i,p))); [] end - | M.Proj (None,x) -> List.map (fun (r, _) -> r) (eval_query c x) - | M.Proj ((Some p),x) -> - let proj_group_aux (q, v) = if q = p then v else [] in - let proj_group a = U.iter proj_group_aux a in - let proj_set (_, g) = U.iter proj_group g in - U.iter proj_set (eval_query c x) - | M.Ex (l,y) -> - let rec ex_aux h = function - | [] -> - let d = {c with groups = h} in - if eval_val d y = U.mql_false then () else raise Found - | i :: tail -> - begin - try - let (_, a) = List.assoc i c.avars in - let rec add_group = function - | [] -> () - | g :: t -> ex_aux ((i, g) :: h) tail; add_group t - in - add_group a - with Not_found -> () - end - in - (try ex_aux [] l; U.mql_false with Found -> U.mql_true) - | M.StatVal y -> - let t = P.start_time () in - let r = (eval_val c y) in - let s = P.stop_time t in - C.log h (Printf.sprintf "Stat: %s,%i\n" s (List.length r)); - r - | M.Count y -> [string_of_int (List.length (eval_val c y))] - | M.Align (s,y) -> U.iter (U.align s) (eval_val c y) - and eval_query c = function - | M.Empty -> [] - | M.Subj x -> - List.map (fun s -> (s, [])) (eval_val c x) - | M.Log (_,b,x) -> - if b then begin - let t = P.start_time () in - P.text_of_query (C.log h) "\n" x; - let s = P.stop_time t in - if C.set h C.Times then - C.log h (Printf.sprintf "Log source: %s\n" s); - eval_query c x - end else begin - let s = (eval_query c x) in - let t = P.start_time () in - P.text_of_result (C.log h) "\n" s; - let r = P.stop_time t in - if C.set h C.Times then - C.log h (Printf.sprintf "Log: %s\n" r); - s - end - | M.If (y,x1,x2) -> - if (eval_val c y) = U.mql_false - then (eval_query c x2) else (eval_query c x1) - | M.Bin (k,x1,x2) -> - let f = match k with - | M.BinFJoin -> U.mql_union - | M.BinFMeet -> U.mql_intersect - | M.BinFDiff -> U.mql_diff - in - f (eval_query c x1) (eval_query c x2) - | M.SVar i -> begin - try List.assoc i c.svars - with Not_found -> warn (M.SVar i); [] end - | M.AVar i -> begin - try [List.assoc i c.avars] - with Not_found -> warn (M.AVar i); [] end - | M.LetSVar (i,x1,x2) -> - let d = {c with svars = U.set (i, eval_query c x1) c.svars} in - eval_query d x2 - | M.LetVVar (i,y,x) -> - let d = {c with vvars = U.set (i, eval_val c y) c.vvars} in - eval_query d x - | M.For (k,i,x1,x2) -> - let f = match k with - | M.GenFJoin -> U.mql_union - | M.GenFMeet -> U.mql_intersect - in - let rec for_aux = function - | [] -> [] - | h :: t -> - let d = {c with avars = U.set (i, h) c.avars} in - f (eval_query d x2) (for_aux t) - in - for_aux (eval_query c x1) - | M.Add (b,z,x) -> - let f = if b then U.mql_prod else U.set_union in - let g a s = (fst a, f (snd a) (eval_grp c z)) :: s in - List.fold_right g (eval_query c x) [] - | M.Property (q0,q1,q2,mc,ct,cfl,el,pat,y) -> - let subj, mct = - if q0 then [], (pat, q2 @ mc, eval_val c y) - else (q2 @ mc), (pat, [], eval_val c y) - in - let eval_cons (pat, p, y) = (pat, q2 @ p, eval_val c y) in - let cons_true = mct :: List.map eval_cons ct in - let cons_false = List.map (List.map eval_cons) cfl in - let eval_exp (p, po) = (q2 @ p, po) in - let exp = List.map eval_exp el in - let t = P.start_time () in - let r = MQIProperty.exec h q1 subj cons_true cons_false exp in - let s = P.stop_time t in - if C.set h C.Times then - C.log h (Printf.sprintf "Property: %s,%i\n" s (List.length r)); - r - | M.StatQuery x -> - let t = P.start_time () in - let r = (eval_query c x) in - let s = P.stop_time t in - C.log h (Printf.sprintf "Stat: %s,%i\n" s (List.length r)); - r - | M.Select (i,x,y) -> - let rec select_aux = function - | [] -> [] - | h :: t -> - let d = {c with avars = U.set (i, h) c.avars} in - if eval_val d y = U.mql_false - then select_aux t else h :: select_aux t - in - select_aux (eval_query c x) - | M.Keep (b,l,x) -> - let keep_path (p, v) t = - if List.mem p l = b then t else (p, v) :: t in - let keep_grp a = List.fold_right keep_path a [] in - let keep_set a g = - let kg = keep_grp a in - if kg = [] then g else kg :: g - in - let keep_av (s, g) = (s, List.fold_right keep_set g []) in - List.map keep_av (eval_query c x) - and eval_grp c = function - | M.Attr gs -> - let attr_aux g (p, y) = U.mql_union g [(p, eval_val c y)] in - let attr_auxs s l = U.set_union s [List.fold_left attr_aux [] l] in - List.fold_left attr_auxs [] gs - | M.From i -> - try snd (List.assoc i c.avars) - with Not_found -> warn (M.AVar i); [] - in - let c = {svars = []; avars = []; groups = []; vvars = []} in - let t = P.start_time () in - if C.set h C.Source then P.text_of_query (C.log h) "\n" x; - let r = eval_query c x in - if C.set h C.Result then P.text_of_result (C.log h) "\n" r; - let s = P.stop_time t in - if C.set h C.Times then - C.log h (Printf.sprintf "MQIExecute: %s,%s\n" s - (C.string_of_flags (C.flags h))); - r diff --git a/helm/ocaml/mathql_interpreter/mQueryInterpreter.mli b/helm/ocaml/mathql_interpreter/mQueryInterpreter.mli deleted file mode 100644 index 9d7081fff..000000000 --- a/helm/ocaml/mathql_interpreter/mQueryInterpreter.mli +++ /dev/null @@ -1,29 +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 - *) - -val execute : MQIConn.handle -> MathQL.query -> MathQL.result diff --git a/helm/ocaml/mathql_interpreter/mQueryTLexer.mll b/helm/ocaml/mathql_interpreter/mQueryTLexer.mll deleted file mode 100644 index ca51751f0..000000000 --- a/helm/ocaml/mathql_interpreter/mQueryTLexer.mll +++ /dev/null @@ -1,133 +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 MQueryTParser - - 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 query_token = parse - | "(*" { comm_token lexbuf; query_token lexbuf } - | SPC { query_token lexbuf } - | '"' { let str = qstr string_token lexbuf in - out ("STR " ^ str); STR str } - | '(' { out "LP"; LP } - | ')' { out "RP"; RP } - | '{' { out "LC"; LC } - | '}' { out "RC"; RC } - | '@' { out "AT"; AT } - | '%' { out "PC"; PC } - | '$' { out "DL"; DL } - | '.' { out "FS"; FS } - | ',' { out "CM"; CM } - | ';' { out "SC"; SC } - | '/' { out "SL"; SL } - | "add" { out "ADD" ; ADD } - | "align" { out "ALIGN" ; ALIGN } - | "allbut" { out "BUT" ; BUT } - | "and" { out "AND" ; AND } - | "as" { out "AS" ; AS } - | "attr" { out "ATTR" ; ATTR } - | "be" { out "BE" ; BE } - | "count" { out "COUNT" ; COUNT } - | "diff" { out "DIFF" ; DIFF } - | "distr" { out "DISTR" ; DISTR } - | "else" { out "ELSE" ; ELSE } - | "empty" { out "EMPTY" ; EMPTY } - | "eq" { out "EQ" ; EQ } - | "ex" { out "EX" ; EX } - | "false" { out "FALSE" ; FALSE } - | "for" { out "FOR" ; FOR } - | "from" { out "FROM" ; FROM } - | "if" { out "IF" ; IF } - | "in" { out "IN" ; IN } - | "inf" { out "INF" ; INF } - | "intersect" { out "INTER" ; INTER } - | "inverse" { out "INV" ; INV } - | "istrue" { out "IST" ; IST } - | "isfalse" { out "ISF" ; ISF } - | "keep" { out "KEEP" ; KEEP } - | "le" { out "LE" ; LE } - | "let" { out "LET" ; LET } - | "log" { out "LOG" ; LOG } - | "lt" { out "LT" ; LT } - | "main" { out "MAIN" ; MAIN } - | "match" { out "MATCH" ; MATCH } - | "meet" { out "MEET" ; MEET } - | "not" { out "NOT" ; NOT } - | "of" { out "OF" ; OF } - | "or" { out "OR" ; OR } - | "pattern" { out "PAT" ; PAT } - | "proj" { out "PROJ" ; PROJ } - | "property" { out "PROP" ; PROP } - | "select" { out "SELECT"; SELECT } - | "source" { out "SOURCE"; SOURCE } - | "stat" { out "STAT" ; STAT } - | "sub" { out "SUB" ; SUB } - | "subj" { out "SUBJ" ; SUBJ } - | "sup" { out "SUP" ; SUP } - | "super" { out "SUPER" ; SUPER } - | "then" { out "THEN" ; THEN } - | "true" { out "TRUE" ; TRUE } - | "union" { out "UNION" ; UNION } - | "where" { out "WHERE" ; WHERE } - | "xor" { out "XOR" ; XOR } - | IDEN { let id = Lexing.lexeme lexbuf in - out ("ID " ^ id); ID id } - | eof { out "EOF" ; EOF } -and result_token = parse - | SPC { result_token lexbuf } - | "(*" { comm_token lexbuf; result_token lexbuf } - | '"' { STR (qstr string_token lexbuf) } - | '/' { out "SL"; SL } - | '{' { LC } - | '}' { RC } - | ',' { CM } - | ';' { SC } - | '=' { IS } - | "attr" { ATTR } - | eof { EOF } diff --git a/helm/ocaml/mathql_interpreter/mQueryTParser.mly b/helm/ocaml/mathql_interpreter/mQueryTParser.mly deleted file mode 100644 index 2f8896185..000000000 --- a/helm/ocaml/mathql_interpreter/mQueryTParser.mly +++ /dev/null @@ -1,314 +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 M = MathQL - - let analyze x = - let rec join l1 l2 = match l1, l2 with - | [], _ -> l2 - | _, [] -> l1 - | s1 :: tl1, s2 :: _ when s1 < s2 -> s1 :: join tl1 l2 - | s1 :: _, s2 :: tl2 when s2 < s1 -> s2 :: join l1 tl2 - | s1 :: tl1, s2 :: tl2 -> s1 :: join tl1 tl2 - in - let rec iter f = function - | [] -> [] - | head :: tail -> join (f head) (iter f tail) - in - let rec an_val = function - | M.True -> [] - | M.False -> [] - | M.Const _ -> [] - | M.VVar _ -> [] - | M.Ex _ -> [] - | M.Dot (rv,_) -> [rv] - | M.Not x -> an_val x - | M.StatVal x -> an_val x - | M.Count x -> an_val x - | M.Align (_,x) -> an_val x - | M.Proj (_,x) -> an_set x - | M.Test (_,x,y) -> iter an_val [x; y] - | M.Set l -> iter an_val l - and an_set = function - | M.Empty -> [] - | M.SVar _ -> [] - | M.AVar _ -> [] - | M.Subj x -> an_val x - | M.Keep (_,_,x) -> an_set x - | M.Log (_,_,x) -> an_set x - | M.StatQuery x -> an_set x - | M.Bin (_,x,y) -> iter an_set [x; y] - | M.LetSVar (_,x,y) -> iter an_set [x; y] - | M.For (_,_,x,y) -> iter an_set [x; y] - | M.Add (_,g,x) -> join (an_grp g) (an_set x) - | M.LetVVar (_,x,y) -> join (an_val x) (an_set y) - | M.Select (_,x,y) -> join (an_set x) (an_val y) - | M.Property (_,_,_,_,c,d,_,_,x) -> - join (an_val x) (iter an_con [c; List.concat d]) - | M.If (x,y,z) -> join (an_val x) (iter an_set [y; z]) - and fc (_, _, v) = an_val v - and an_con c = iter fc c - and fg (_, v) = an_val v - and an_grp = function - | M.Attr g -> iter (iter fg) g - | M.From _ -> [] - in - an_val x - - let f (x, y, z) = x - let s (x, y, z) = y - let t (x, y, z) = z -%} - %token ID STR - %token SL IS LC RC CM SC LP RP AT PC DL FS DQ EOF - %token ADD ALIGN AND AS ATTR BE BUT COUNT DIFF DISTR ELSE EMPTY EQ EX - %token FALSE FOR FROM IF IN INF INTER INV ISF IST KEEP LE LET LOG LT - %token MAIN MATCH MEET NOT OF OR PAT PROJ PROP SELECT SOURCE STAT SUB - %token SUBJ SUP SUPER THEN TRUE UNION WHERE XOR - %nonassoc IN SUP INF ELSE LOG STAT - %left DIFF - %left UNION - %left INTER - %nonassoc WHERE EX - %left XOR OR - %left AND - %nonassoc NOT - %nonassoc SUB MEET EQ LT LE - %nonassoc SUBJ OF PROJ COUNT ALIGN - - %start qstr query result - %type qstr - %type query - %type result -%% - qstr: - | DQ { "" } - | STR qstr { $1 ^ $2 } - ; - svar: - | PC ID { $2 } - ; - avar: - | AT ID { $2 } - ; - vvar: - | DL ID { $2 } - ; - strs: - | STR CM strs { $1 :: $3 } - | STR { [$1] } - ; - subpath: - | STR SL subpath { $1 :: $3 } - | STR { [$1] } - ; - path: - | subpath { $1 } - | SL subpath { $2 } - | SL { [] } - ; - paths: - | path CM paths { $1 :: $3 } - | path { [$1] } - inv: - | INV { true } - | { false } - ; - ref: - | SUB { M.RefineSub } - | SUPER { M.RefineSuper } - | { M.RefineExact } - ; - qualif: - | inv ref path { $1, $2, $3 } - ; - cons: - | path IN val_exp { (false, $1, $3) } - | path MATCH val_exp { (true, $1, $3) } - ; - conss: - | cons CM conss { $1 :: $3 } - | cons { [$1] } - ; - istrue: - | IST conss { $2 } - | { [] } - ; - isfalse: - | { [] } - | ISF conss isfalse { $2 :: $3 } - ; - mainc: - | MAIN path { $2 } - | { [] } - ; - exp: - | path AS path { $1, Some $3 } - | path { $1, None } - ; - exps: - | exp CM exps { $1 :: $3 } - | exp { [$1] } - ; - attrc: - | ATTR exps { $2 } - | { [] } - ; - pattern: - | PAT { true } - | { false } - ; - opt_path: - | path { Some $1 } - | { None } - ; - ass: - | val_exp AS path { ($3, $1) } - ; - asss: - | ass CM asss { $1 :: $3 } - | ass { [$1] } - ; - assg: - | asss SC assg { $1 :: $3 } - | asss { [$1] } - ; - distr: - | DISTR { true } - | { false } - ; - allbut: - | BUT { true } - | { false } - ; - bin_op: - | set_exp DIFF set_exp { M.BinFDiff, $1, $3 } - | set_exp UNION set_exp { M.BinFJoin, $1, $3 } - | set_exp INTER set_exp { M.BinFMeet, $1, $3 } - ; - gen_op: - | SUP set_exp { M.GenFJoin, $2 } - | INF set_exp { M.GenFMeet, $2 } - ; - test_op: - | val_exp XOR val_exp { M.Xor, $1, $3 } - | val_exp OR val_exp { M.Or, $1, $3 } - | val_exp AND val_exp { M.And, $1, $3 } - | val_exp SUB val_exp { M.Sub, $1, $3 } - | val_exp MEET val_exp { M.Meet, $1, $3 } - | val_exp EQ val_exp { M.Eq, $1, $3 } - | val_exp LE val_exp { M.Le, $1, $3 } - | val_exp LT val_exp { M.Lt, $1, $3 } - ; - source: - | SOURCE { true } - | { false } - ; - xml: - | { false} - ; - grp_exp: - | assg { M.Attr $1 } - | avar { M.From $1 } - ; - val_exp: - | TRUE { M.True } - | FALSE { M.False } - | STR { M.Const $1 } - | avar FS path { M.Dot ($1,$3) } - | vvar { M.VVar $1 } - | LC vals RC { M.Set $2 } - | LC RC { M.Set [] } - | LP val_exp RP { $2 } - | STAT val_exp { M.StatVal $2 } - | EX val_exp { M.Ex ((analyze $2),$2) } - | NOT val_exp { M.Not $2 } - | test_op { M.Test ((f $1),(s $1),(t $1)) } - | PROJ opt_path set_exp { M.Proj ($2,$3) } - | COUNT val_exp { M.Count $2 } - | ALIGN STR IN val_exp { M.Align ($2,$4) } - ; - vals: - | val_exp CM vals { $1 :: $3 } - | val_exp { [$1] } - ; - set_exp: - | EMPTY { M.Empty } - | LP set_exp RP { $2 } - | svar { M.SVar $1 } - | avar { M.AVar $1 } - | LET svar BE set_exp IN set_exp { M.LetSVar ($2,$4,$6) } - | LET vvar BE val_exp IN set_exp { M.LetVVar ($2,$4,$6) } - | FOR avar IN set_exp gen_op - { M.For ((fst $5),$2,$4,(snd $5)) } - | ADD distr grp_exp IN set_exp { M.Add ($2,$3,$5) } - | IF val_exp THEN set_exp ELSE set_exp { M.If ($2,$4,$6) } - | PROP qualif mainc istrue isfalse attrc OF pattern val_exp - { M.Property ((f $2),(s $2),(t $2),$3,$4,$5,$6,$8,$9) } - | LOG xml source set_exp { M.Log ($2,$3,$4) } - | STAT set_exp { M.StatQuery $2 } - | KEEP allbut paths IN set_exp { M.Keep ($2,$3,$5) } - | KEEP allbut IN set_exp { M.Keep ($2,[],$4) } - | bin_op - { M.Bin ((f $1),(s $1),(t $1)) } - | SELECT avar FROM set_exp WHERE val_exp { M.Select ($2,$4,$6) } - | SUBJ val_exp { M.Subj $2 } - ; - query: - | set_exp { $1 } - | set_exp error { $1 } - | EOF { raise End_of_file } - ; - attr: - | path IS strs { $1, $3 } - | path { $1, [] } - ; - attrs: - | attr SC attrs { $1 :: $3 } - | attr { [$1] } - ; - group: - LC attrs RC { $2 } - ; - groups: - | group CM groups { $1 :: $3 } - | group { [$1] } - ; - resource: - | STR ATTR groups { ($1, $3) } - | STR { ($1, []) } - ; - resources: - | resource SC resources { $1 :: $3 } - | resource { [$1] } - | { [] } - ; - result: - | resources { $1 } - | EOF { raise End_of_file } diff --git a/helm/ocaml/mathql_interpreter/mQueryUtil.ml b/helm/ocaml/mathql_interpreter/mQueryUtil.ml deleted file mode 100644 index e8344b0d6..000000000 --- a/helm/ocaml/mathql_interpreter/mQueryUtil.ml +++ /dev/null @@ -1,218 +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 - *) - -(* text linearization and parsing *******************************************) - -let rec txt_list out f s = function - | [] -> () - | [a] -> f a - | a :: tail -> f a; out s; txt_list out f s tail - -let txt_str out s = out ("\"" ^ s ^ "\"") - -let txt_path out p = out "/"; txt_list out (txt_str out) "/" p - -let text_of_query out sep x = - let module M = MathQL in - let txt_path_list l = txt_list out (txt_path out) ", " l in - let txt_svar sv = out ("%" ^ sv) in - let txt_avar av = out ("@" ^ av) in - let txt_vvar vv = out ("$" ^ vv) in - let txt_inv i = if i then out "inverse " in - let txt_ref = function - | M.RefineExact -> () - | M.RefineSub -> out "sub " - | M.RefineSuper -> out "super " - in - let txt_qualif i r p = txt_inv i; txt_ref r; txt_path out p in - let main = function - | [] -> () - | p -> out " main "; txt_path out p - in - let txt_exp = function - | (pl, None) -> txt_path out pl - | (pl, Some pr) -> txt_path out pl; out " as "; txt_path out pr - in - let txt_exp_list = function - | [] -> () - | l -> out " attr "; txt_list out txt_exp ", " l - in - let pattern b = if b then out "pattern " in - let txt_opt_path = function - | None -> () - | Some p -> txt_path out p; out " " - in - let txt_distr d = if d then out "distr " in - let txt_bin = function - | M.BinFJoin -> out " union " - | M.BinFMeet -> out " intersect " - | M.BinFDiff -> out " diff " - in - let txt_gen = function - | M.GenFJoin -> out " sup " - | M.GenFMeet -> out " inf " - in - let txt_test = function - | M.Xor -> out " xor " - | M.Or -> out " or " - | M.And -> out " and " - | M.Sub -> out " sub " - | M.Meet -> out " meet " - | M.Eq -> out " eq " - | M.Le -> out " le " - | M.Lt -> out " lt " - in - let txt_log a b = - if a then out "xml "; - if b then out "source " - in - let txt_allbut b = if b then out "allbut " in - let rec txt_con (pat, p, x) = - txt_path out p; - if pat then out " match " else out " in "; - txt_val x - and txt_con_list s = function - | [] -> () - | l -> out s; txt_list out txt_con ", " l - and txt_istrue lt = txt_con_list " istrue " lt - and txt_isfalse lf = txt_con_list " isfalse " lf - and txt_ass (p, x) = txt_val x; out " as "; txt_path out p - and txt_ass_list l = txt_list out txt_ass ", " l - and txt_assg_list g = txt_list out txt_ass_list "; " g - and txt_val_list = function - | [v] -> txt_val v - | l -> out "{"; txt_list out txt_val ", " l; out "}" - and txt_grp = function - | M.Attr g -> txt_assg_list g - | M.From av -> txt_avar av - and txt_val = function - | M.True -> out "true" - | M.False -> out "false" - | M.Const s -> txt_str out s - | M.Set l -> txt_val_list l - | M.VVar vv -> txt_vvar vv - | M.Dot (av,p) -> txt_avar av; out "."; txt_path out p - | M.Proj (op,x) -> out "proj "; txt_opt_path op; txt_set x - | M.Ex (b,x) -> out "ex "; txt_val x -(* | M.Ex b x -> out "ex ["; txt_list out txt_avar "," b; out "] "; txt_val x -*) | M.Not x -> out "not "; txt_val x - | M.Test (k,x,y) -> out "("; txt_val x; txt_test k; txt_val y; out ")" - | M.StatVal x -> out "stat "; txt_val x - | M.Count x -> out "count "; txt_val x - | M.Align (s,x) -> out "align "; txt_str out s; out " in "; txt_val x - and txt_set = function - | M.Empty -> out "empty" - | M.SVar sv -> txt_svar sv - | M.AVar av -> txt_avar av - | M.Property (q0,q1,q2,mc,ct,cfl,xl,b,x) -> - out "property "; txt_qualif q0 q1 q2; main mc; - txt_istrue ct; txt_list out txt_isfalse "" cfl; txt_exp_list xl; - out " of "; pattern b; txt_val x - | M.Bin (k,x,y) -> out "("; txt_set x; txt_bin k; txt_set y; - out ")" - | M.LetSVar (sv,x,y) -> out "let "; txt_svar sv; out " be "; - txt_set x; out " in "; txt_set y - | M.LetVVar (vv,x,y) -> out "let "; txt_vvar vv; out " be "; - txt_val x; out " in "; txt_set y - | M.Select (av,x,y) -> out "select "; txt_avar av; out " from "; - txt_set x; out " where "; txt_val y - | M.Subj x -> out "subj "; txt_val x - | M.For (k,av,x,y) -> out "for "; txt_avar av; out " in "; - txt_set x; txt_gen k; txt_set y - | M.If (x,y,z) -> out "if "; txt_val x; out " then "; - txt_set y; out " else "; txt_set z - | M.Add (d,g,x) -> out "add "; txt_distr d; txt_grp g; - out " in "; txt_set x - | M.Log (a,b,x) -> out "log "; txt_log a b; txt_set x - | M.StatQuery x -> out "stat "; txt_set x - | M.Keep (b,l,x) -> out "keep "; txt_allbut b; txt_path_list l; - txt_set x - in - txt_set x; out sep - -let text_of_result out sep x = - let txt_attr = function - | (p, []) -> txt_path out p - | (p, l) -> txt_path out p; out " = "; txt_list out (txt_str out) ", " l - in - let txt_group l = out "{"; txt_list out txt_attr "; " l; out "}" in - let txt_res = function - | (s, []) -> txt_str out s - | (s, l) -> txt_str out s; out " attr "; txt_list out txt_group ", " l - in - let txt_set l = txt_list out txt_res ("; " ^ sep) l; out sep in - txt_set x - -let query_of_text lexbuf = - MQueryTParser.query MQueryTLexer.query_token lexbuf - -let result_of_text lexbuf = - MQueryTParser.result MQueryTLexer.result_token lexbuf - -(* time handling ***********************************************************) - -type time = float * float - -let start_time () = - (Sys.time (), Unix.time ()) - -let stop_time (s0, u0) = - let s1 = Sys.time () in - let u1 = Unix.time () in - Printf.sprintf "%.2fs,%.2fs" (s1 -. s0) (u1 -. u0) - -(* operations on lists *****************************************************) - -type 'a comparison = Lt - | Gt - | Eq of 'a - -let list_join f l1 l2 = - let rec aux = function - | [], v - | v, [] -> v - | ((h1 :: t1) as v1), ((h2 :: t2) as v2) -> begin - match f h1 h2 with - | Lt -> h1 :: aux (t1, v2) - | Gt -> h2 :: aux (v1, t2) - | Eq h -> h :: aux (t1, t2) - end - in aux (l1, l2) - -let list_meet f l1 l2 = - let rec aux = function - | [], v - | v, [] -> [] - | ((h1 :: t1) as v1), ((h2 :: t2) as v2) -> begin - match f h1 h2 with - | Lt -> aux (t1, v2) - | Gt -> aux (v1, t2) - | Eq h -> h :: aux (t1, t2) - end - in aux (l1, l2) - diff --git a/helm/ocaml/mathql_interpreter/mQueryUtil.mli b/helm/ocaml/mathql_interpreter/mQueryUtil.mli deleted file mode 100644 index 575400298..000000000 --- a/helm/ocaml/mathql_interpreter/mQueryUtil.mli +++ /dev/null @@ -1,49 +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 - *) - -val text_of_query : (string -> unit) -> string -> MathQL.query -> unit - -val text_of_result : (string -> unit) -> string -> MathQL.result -> unit - -val query_of_text : Lexing.lexbuf -> MathQL.query - -val result_of_text : Lexing.lexbuf -> MathQL.result - -type time - -val start_time : unit -> time - -val stop_time : time -> string - -type 'a comparison = Lt - | Gt - | Eq of 'a - -val list_join : ('a -> 'a -> 'a comparison) -> 'a list -> 'a list -> 'a list - -val list_meet : ('a -> 'a -> 'a comparison) -> 'a list -> 'a list -> 'a list diff --git a/helm/ocaml/metadata/.cvsignore b/helm/ocaml/metadata/.cvsignore deleted file mode 100644 index 702e58bb7..000000000 --- a/helm/ocaml/metadata/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -*.cm[aiox] *.cmxa *.[ao] -test diff --git a/helm/ocaml/metadata/.depend b/helm/ocaml/metadata/.depend deleted file mode 100644 index 04197957b..000000000 --- a/helm/ocaml/metadata/.depend +++ /dev/null @@ -1,20 +0,0 @@ -metadataExtractor.cmi: metadataTypes.cmi -metadataPp.cmi: metadataTypes.cmi -metadataConstraints.cmi: metadataTypes.cmi -metadataDb.cmi: metadataTypes.cmi -sqlStatements.cmo: sqlStatements.cmi -sqlStatements.cmx: sqlStatements.cmi -metadataTypes.cmo: metadataTypes.cmi -metadataTypes.cmx: metadataTypes.cmi -metadataExtractor.cmo: metadataTypes.cmi metadataExtractor.cmi -metadataExtractor.cmx: metadataTypes.cmx metadataExtractor.cmi -metadataPp.cmo: metadataTypes.cmi metadataPp.cmi -metadataPp.cmx: metadataTypes.cmx metadataPp.cmi -metadataConstraints.cmo: metadataTypes.cmi metadataPp.cmi \ - metadataConstraints.cmi -metadataConstraints.cmx: metadataTypes.cmx metadataPp.cmx \ - metadataConstraints.cmi -metadataDb.cmo: metadataTypes.cmi metadataPp.cmi metadataExtractor.cmi \ - metadataConstraints.cmi metadataDb.cmi -metadataDb.cmx: metadataTypes.cmx metadataPp.cmx metadataExtractor.cmx \ - metadataConstraints.cmx metadataDb.cmi diff --git a/helm/ocaml/metadata/Makefile b/helm/ocaml/metadata/Makefile deleted file mode 100644 index c876b4810..000000000 --- a/helm/ocaml/metadata/Makefile +++ /dev/null @@ -1,38 +0,0 @@ -PACKAGE = metadata -REQUIRES = mysql helm-cic_proof_checking helm-hmysql -PREDICATES = - -INTERFACE_FILES = \ - sqlStatements.mli \ - metadataTypes.mli \ - metadataExtractor.mli \ - metadataPp.mli \ - metadataConstraints.mli \ - metadataDb.mli -IMPLEMENTATION_FILES = $(INTERFACE_FILES:%.mli=%.ml) -EXTRA_OBJECTS_TO_INSTALL = -EXTRA_OBJECTS_TO_CLEAN = - -include ../Makefile.common - -all: all_table_creator all_extractor -opt: opt_table_creator opt_extractor - -all_table_creator: - make -C table_creator/ all -opt_table_creator: - make -C table_creator/ opt - -all_extractor: - make -C extractor/ all -opt_extractor: - make -C extractor/ opt - -clean: clean_table_creator clean_extractor - -clean_table_creator: - make -C table_creator/ clean - -clean_extractor: - make -C extractor/ clean - diff --git a/helm/ocaml/metadata/dump_db/dump.sh b/helm/ocaml/metadata/dump_db/dump.sh deleted file mode 100755 index e7b43666e..000000000 --- a/helm/ocaml/metadata/dump_db/dump.sh +++ /dev/null @@ -1,20 +0,0 @@ -ALL_TABLES=`../table_creator/table_creator list all` - -if [ -z "$1" ]; then - echo "Dumps to stdout some tables of a given db on mowgli." - echo "If no tables are given the dump will contain:" - echo " $ALL_TABLES" - echo "" - echo "usage: dump.sh dbname [tables...]" - echo "" - exit 1 -fi -DB=$1 -shift -if [ -z "$1" ]; then - TABLES=$ALL_TABLES -else - TABLES=$@ -fi - -mysqldump -e --add-drop-table -u helm -h mowgli.cs.unibo.it $DB $TABLES diff --git a/helm/ocaml/metadata/extractor/.cvsignore b/helm/ocaml/metadata/extractor/.cvsignore deleted file mode 100644 index 8d810200f..000000000 --- a/helm/ocaml/metadata/extractor/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -*.cm[aiox] -*.cmxa -extractor -extractor.opt -extractor_manager -extractor_manager.opt diff --git a/helm/ocaml/metadata/extractor/.depend b/helm/ocaml/metadata/extractor/.depend deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/ocaml/metadata/extractor/Makefile b/helm/ocaml/metadata/extractor/Makefile deleted file mode 100644 index e58064b41..000000000 --- a/helm/ocaml/metadata/extractor/Makefile +++ /dev/null @@ -1,30 +0,0 @@ -OCAMLFIND=ocamlfind - -all: extractor extractor_manager -opt: extractor.opt extractor_manager.opt - -clean: - rm -f *.cm[ixo] *.[ao] extractor extractor.opt *.err *.out extractor_manager extractor_manager.opt - -extractor: extractor.ml - $(OCAMLFIND) ocamlc \ - -thread -package mysql,helm-metadata -linkpkg -o $@ $< - -extractor.opt: extractor.ml - $(OCAMLFIND) ocamlopt \ - -thread -package mysql,helm-metadata -linkpkg -o $@ $< - -extractor_manager: extractor_manager.ml - $(OCAMLFIND) ocamlc \ - -thread -package mysql,helm-metadata -linkpkg -o $@ $< - -extractor_manager.opt: extractor_manager.ml - $(OCAMLFIND) ocamlopt \ - -thread -package mysql,helm-metadata -linkpkg -o $@ $< - -export: extractor.opt extractor_manager.opt - nice -n 20 \ - time \ - ./extractor_manager.opt 1>export.out 2>export.err - -include .depend diff --git a/helm/ocaml/metadata/extractor/extractor.conf.xml b/helm/ocaml/metadata/extractor/extractor.conf.xml deleted file mode 100644 index 8dbc9a935..000000000 --- a/helm/ocaml/metadata/extractor/extractor.conf.xml +++ /dev/null @@ -1,19 +0,0 @@ - - -
    - .tmp/ -
    -
    - localhost - helm - mowgli -
    -
    - - file:///projects/helm/library/coq_contribs - - $(tmp.dir)/cache - $(tmp.dir)/maps - /projects/helm/xml/dtd -
    -
    diff --git a/helm/ocaml/metadata/extractor/extractor.ml b/helm/ocaml/metadata/extractor/extractor.ml deleted file mode 100644 index 418d5ff7c..000000000 --- a/helm/ocaml/metadata/extractor/extractor.ml +++ /dev/null @@ -1,78 +0,0 @@ -let _ = Helm_registry.load_from "extractor.conf.xml" - -let usage () = - prerr_endline " - -!! This binary should not be called by hand, use the extractor_manager. !! - -usage: ./extractor[.opt] path owner - -path: the path for the getter maps -owner: the owner of the tables to update - -" - -let _ = - try - let _ = Sys.argv.(2), Sys.argv.(1) in - if Sys.argv.(1) = "-h"||Sys.argv.(1) = "-help"||Sys.argv.(1) = "--help" then - begin - usage (); - exit 1 - end - with - Invalid_argument _ -> usage (); exit 1 - -let owner = Sys.argv.(2) -let path = Sys.argv.(1) - -let main () = - print_endline (Printf.sprintf "%d alive on path:%s owner:%s" - (Unix.getpid()) path owner); - Helm_registry.set "tmp.dir" path; - Http_getter.init (); - let dbd = - HMysql.quick_connect - ~host:(Helm_registry.get "db.host") - ~user:(Helm_registry.get "db.user") - ~database:(Helm_registry.get "db.database") () - in - MetadataTypes.ownerize_tables owner; - let uris = - let ic = open_in (path ^ "/todo") in - let acc = ref [] in - (try - while true do - let l = input_line ic in - acc := l :: !acc - done - with - End_of_file -> ()); - close_in ic; - !acc - in - let len = float_of_int (List.length uris) in - let i = ref 0 in - let magic = 45 in - List.iter (fun u -> - incr i; - let perc = ((float_of_int !i) /. len *. 100.0) in - let l = String.length u in - let short = - if l < magic then - u ^ String.make (magic + 3 - l) ' ' - else - "..." ^ String.sub u (l - magic) magic - in - Printf.printf "%d (%d of %.0f = %3.1f%%): %s\n" - (Unix.getpid ()) !i len perc short; - flush stdout; - let uri = UriManager.uri_of_string u in - MetadataDb.index_obj ~dbd ~uri; - CicEnvironment.empty ()) - uris; - print_string "END "; Unix.system "date" -;; - -main () - diff --git a/helm/ocaml/metadata/extractor/extractor_manager.ml b/helm/ocaml/metadata/extractor/extractor_manager.ml deleted file mode 100644 index 05393b63e..000000000 --- a/helm/ocaml/metadata/extractor/extractor_manager.ml +++ /dev/null @@ -1,306 +0,0 @@ -(* Copyright (C) 2004-2005, 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/ - *) - -(* HELPERS *) - -let create_all dbd = - let obj_tbl = MetadataTypes.obj_tbl () in - let sort_tbl = MetadataTypes.sort_tbl () in - let rel_tbl = MetadataTypes.rel_tbl () in - let name_tbl = MetadataTypes.name_tbl () in - let count_tbl = MetadataTypes.count_tbl () in - let tbls = [ - (obj_tbl,`RefObj) ; (sort_tbl,`RefSort) ; (rel_tbl,`RefRel) ; - (name_tbl,`ObjectName) ; (count_tbl,`Count) ] - in - let statements = - (SqlStatements.create_tables tbls) @ (SqlStatements.create_indexes tbls) - in - List.iter (fun statement -> - try - ignore (Mysql.exec dbd statement) - with - exn -> - let status = Mysql.status dbd in - match status with - | Mysql.StatusError Mysql.Table_exists_error -> () - | Mysql.StatusError _ -> raise exn - | _ -> () - ) statements - -let drop_all dbd = - let obj_tbl = MetadataTypes.obj_tbl () in - let sort_tbl = MetadataTypes.sort_tbl () in - let rel_tbl = MetadataTypes.rel_tbl () in - let name_tbl = MetadataTypes.name_tbl () in - let count_tbl = MetadataTypes.count_tbl () in - let tbls = [ - (obj_tbl,`RefObj) ; (sort_tbl,`RefSort) ; (rel_tbl,`RefRel) ; - (name_tbl,`ObjectName) ; (count_tbl,`Count) ] - in - let statements = - (SqlStatements.drop_tables tbls) @ (SqlStatements.drop_indexes tbls) - in - List.iter (fun statement -> - try - ignore (Mysql.exec dbd statement) - with Mysql.Error _ as exn -> - match Mysql.errno dbd with - | Mysql.Bad_table_error - | Mysql.No_such_index | Mysql.No_such_table -> () - | _ -> raise exn - ) statements - -let slash_RE = Str.regexp "/" - -let partition l = - let l = List.fast_sort Pervasives.compare l in - let matches s1 s2 = - let l1,l2 = Str.split slash_RE s1, Str.split slash_RE s2 in - match l1,l2 with - | _::x::_,_::y::_ -> x = y - | _ -> false - in - let rec chunk l = - match l with - | [] -> [],[] - | h::(h1::tl as rest) when matches h h1 -> - let ch,todo = chunk rest in - (h::ch),todo - | h::(h1::tl as rest)-> [h],rest - | h::_ -> [h],[] - in - let rec split l = - let ch, todo = chunk l in - match todo with - | [] -> [ch] - | _ -> ch :: split todo - in - split l - - -(* ARGV PARSING *) - -let _ = - try - if Sys.argv.(1) = "-h"||Sys.argv.(1) = "-help"||Sys.argv.(1) = "--help" then - begin - prerr_endline " -usage: ./extractor_manager[.opt] [processes] [owner] - -defaults: - processes = 2 - owner = NEW - -"; - exit 1 - end - with Invalid_argument _ -> () - -let processes = - try - int_of_string (Sys.argv.(1)) - with - Invalid_argument _ -> 2 - -let owner = - try - Sys.argv.(2) - with Invalid_argument _ -> "NEW" - -let create_peons i = - let rec aux = function - | 0 -> [] - | n -> (n,0) :: aux (n-1) - in - ref (aux i) - -let is_a_peon_idle peons = - List.exists (fun (_,x) -> x = 0) !peons - -let get_ide_peon peons = - let p = fst(List.find (fun (_,x) -> x = 0) !peons) in - peons := List.filter (fun (x,_) -> x <> p) !peons; - p - -let assign_peon peon pid peons = - peons := (peon,pid) :: !peons - -let wait_a_peon peons = - let pid,status = Unix.wait () in - (match status with - | Unix.WEXITED 0 -> () - | Unix.WEXITED s -> - prerr_endline (Printf.sprintf "PEON %d EXIT STATUS %d" pid s) - | Unix.WSIGNALED s -> - prerr_endline - (Printf.sprintf "PEON %d HAD A PROBLEM, KILLED BY SIGNAL %d" pid s) - | Unix.WSTOPPED s -> - prerr_endline - (Printf.sprintf "PEON %d HAD A PROBLEM, STOPPED BY %d" pid s)); - let p = fst(List.find (fun (_,x) -> x = pid) !peons) in - peons := List.filter (fun (x,_) -> x <> p) !peons; - peons := (p,0) :: !peons - -let is_a_peon_busy peons = - List.exists (fun (_,x) -> x <> 0) !peons - -(* MAIN *) -let main () = - Helm_registry.load_from "extractor.conf.xml"; - Http_getter.init (); - print_endline "Updating the getter...."; - let base = (Helm_registry.get "tmp.dir") ^ "/maps" in - let formats i = - (Helm_registry.get "tmp.dir") ^ "/"^(string_of_int i)^"/maps" - in - for i = 1 to processes do - let fmt = formats i in - ignore(Unix.system ("rm -rf " ^ fmt)); - ignore(Unix.system ("mkdir -p " ^ fmt)); - ignore(Unix.system ("cp -r " ^ base ^ " " ^ fmt ^ "/../")); - done; - let dbd = - Mysql.quick_connect - ~host:(Helm_registry.get "db.host") - ~user:(Helm_registry.get "db.user") - ~database:(Helm_registry.get "db.database") () - in - MetadataTypes.ownerize_tables owner; - let uri_RE = Str.regexp ".*\\(ind\\|var\\|con\\)$" in - drop_all dbd; - create_all dbd; - let uris = Http_getter.getalluris () in - let uris = List.filter (fun u -> Str.string_match uri_RE u 0) uris in - let todo = partition uris in - let cur = ref 0 in - let tot = List.length todo in - let peons = create_peons processes in - print_string "START "; flush stdout; - ignore(Unix.system "date"); - while !cur < tot do - if is_a_peon_idle peons then - let peon = get_ide_peon peons in - let fmt = formats peon in - let oc = open_out (fmt ^ "/../todo") in - List.iter (fun s -> output_string oc (s^"\n")) (List.nth todo !cur); - close_out oc; - let pid = Unix.fork () in - if pid = 0 then - Unix.execv - "./extractor.opt" [| "./extractor.opt" ; fmt ^ "/../" ; owner|] - else - begin - assign_peon peon pid peons; - incr cur - end - else - wait_a_peon peons - done; - while is_a_peon_busy peons do wait_a_peon peons done; - print_string "END "; flush stdout; - ignore(Unix.system "date"); - (* and now the rename table stuff *) - let obj_tbl = MetadataTypes.library_obj_tbl in - let sort_tbl = MetadataTypes.library_sort_tbl in - let rel_tbl = MetadataTypes.library_rel_tbl in - let name_tbl = MetadataTypes.library_name_tbl in - let count_tbl = MetadataTypes.library_count_tbl in - let hits_tbl = MetadataTypes.library_hits_tbl in - let obj_tbl_b = obj_tbl ^ "_BACKUP" in - let sort_tbl_b = sort_tbl ^ "_BACKUP" in - let rel_tbl_b = rel_tbl ^ "_BACKUP" in - let name_tbl_b = name_tbl ^ "_BACKUP" in - let count_tbl_b = count_tbl ^ "_BACKUP" in - let obj_tbl_c = MetadataTypes.obj_tbl () in - let sort_tbl_c = MetadataTypes.sort_tbl () in - let rel_tbl_c = MetadataTypes.rel_tbl () in - let name_tbl_c = MetadataTypes.name_tbl () in - let count_tbl_c = MetadataTypes.count_tbl () in - let stats = - SqlStatements.drop_tables [ - (obj_tbl_b,`RefObj); - (sort_tbl_b,`RefSort); - (rel_tbl_b,`RefRel); - (name_tbl_b,`ObjectName); - (count_tbl_b,`Count); - (hits_tbl,`Hits) ] @ - SqlStatements.drop_indexes [ - (obj_tbl,`RefObj); - (sort_tbl,`RefSort); - (rel_tbl,`RefRel); - (name_tbl,`ObjectName); - (count_tbl,`Count); - (obj_tbl_c,`RefObj); - (sort_tbl_c,`RefSort); - (rel_tbl_c,`RefRel); - (name_tbl_c,`ObjectName); - (count_tbl_c,`Count); - (hits_tbl,`Hits) ] @ - SqlStatements.rename_tables [ - (obj_tbl,obj_tbl_b); - (sort_tbl,sort_tbl_b); - (rel_tbl,rel_tbl_b); - (name_tbl,name_tbl_b); - (count_tbl,count_tbl_b) ] @ - SqlStatements.rename_tables [ - (obj_tbl_c,obj_tbl); - (sort_tbl_c,sort_tbl); - (rel_tbl_c,rel_tbl); - (name_tbl_c,name_tbl); - (count_tbl_c,count_tbl) ] @ - SqlStatements.create_tables [ - (hits_tbl,`Hits) ] @ - SqlStatements.fill_hits obj_tbl hits_tbl @ - SqlStatements.create_indexes [ - (obj_tbl,`RefObj); - (sort_tbl,`RefSort); - (rel_tbl,`RefRel); - (name_tbl,`ObjectName); - (count_tbl,`Count); - (hits_tbl,`Hits) ] - in - List.iter (fun statement -> - try -(* prerr_endline statement;*) - ignore (Mysql.exec dbd statement) - with exn -> - let status = Mysql.status dbd in - match status with - | Mysql.StatusError Mysql.Table_exists_error - | Mysql.StatusError Mysql.Bad_table_error - | Mysql.StatusError Mysql.Cant_drop_field_or_key - | Mysql.StatusError Mysql.Unknown_table -> () - | Mysql.StatusError status -> -(* prerr_endline (string_of_int (Obj.magic status));*) - prerr_endline (Printexc.to_string exn); - raise exn - | _ -> - prerr_endline (Printexc.to_string exn); - ()) - stats -;; - -main () diff --git a/helm/ocaml/metadata/metadataConstraints.ml b/helm/ocaml/metadata/metadataConstraints.ml deleted file mode 100644 index 7bc92eb66..000000000 --- a/helm/ocaml/metadata/metadataConstraints.ml +++ /dev/null @@ -1,647 +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 MetadataTypes - -let critical_value = 7 -let just_factor = 3 - -module UriManagerSet = UriManager.UriSet -module SetSet = Set.Make (UriManagerSet) - -type term_signature = (UriManager.uri * UriManager.uri list) option * UriManagerSet.t - -type cardinality_condition = - | Eq of int - | Gt of int - | Lt of int - -type rating_criterion = - [ `Hits (** order by number of hits, most used objects first *) - ] - -let default_tables = - (library_obj_tbl,library_rel_tbl,library_sort_tbl,library_count_tbl) - -let current_tables () = - (obj_tbl (),rel_tbl (),sort_tbl (), count_tbl ()) - -let tbln n = "table" ^ string_of_int n - -(* -let add_depth_constr depth_opt cur_tbl where = - match depth_opt with - | None -> where - | Some depth -> (sprintf "%s.h_depth = %d" cur_tbl depth) :: where -*) - -let mk_positions positions cur_tbl = - "(" ^ - String.concat " or " - (List.map - (fun pos -> - let pos_str = MetadataPp.pp_position_tag pos in - match pos with - | `InBody - | `InConclusion - | `InHypothesis - | `MainConclusion None - | `MainHypothesis None -> - sprintf "%s.h_position = \"%s\"" cur_tbl pos_str - | `MainConclusion (Some r) - | `MainHypothesis (Some r) -> - let depth = MetadataPp.pp_relation r in - sprintf "(%s.h_position = \"%s\" and %s.h_depth %s)" - cur_tbl pos_str cur_tbl depth) - (positions :> MetadataTypes.position list)) ^ - ")" - -let explode_card_constr = function - | Eq card -> "=", card - | Gt card -> ">", card - | Lt card -> "<", card - -let add_card_constr tbl col where = function - | None -> where - | Some constr -> - let op, card = explode_card_constr constr in - (* count(_utente).hypothesis = 3 *) - (sprintf "%s.%s %s %d" tbl col op card :: where) - -let add_diff_constr tbl where = function - | None -> where - | Some constr -> - let op, card = explode_card_constr constr in - (sprintf "%s.hypothesis - %s.conclusion %s %d" tbl tbl op card :: where) - -let add_all_constr ?(tbl=library_count_tbl) (n,from,where) concl full diff = - match (concl, full, diff) with - | None, None, None -> (n,from,where) - | _ -> - let cur_tbl = tbln n in - let from = (sprintf "%s as %s" tbl cur_tbl) :: from in - let where = add_card_constr cur_tbl "conclusion" where concl in - let where = add_card_constr cur_tbl "statement" where full in - let where = add_diff_constr cur_tbl where diff in - (n+2,from, - (if n > 0 then - sprintf "table0.source = %s.source" cur_tbl :: where - else - where)) - - -let add_constraint ?(start=0) ?(tables=default_tables) (n,from,where) metadata = - let obj_tbl,rel_tbl,sort_tbl,count_tbl = tables - in - let cur_tbl = tbln n in - let start_table = tbln start in - match metadata with - | `Obj (uri, positions) -> - let from = (sprintf "%s as %s" obj_tbl cur_tbl) :: from in - let where = - (sprintf "(%s.h_occurrence = \"%s\")" cur_tbl (UriManager.string_of_uri uri)) :: - mk_positions positions cur_tbl :: - (if n=start then [] - else [sprintf "%s.source = %s.source" start_table cur_tbl]) @ - where - in - ((n+2), from, where) - | `Rel positions -> - let from = (sprintf "%s as %s" rel_tbl cur_tbl) :: from in - let where = - mk_positions positions cur_tbl :: - (if n=start then [] - else [sprintf "%s.source = %s.source" start_table cur_tbl]) @ - where - in - ((n+2), from, where) - | `Sort (sort, positions) -> - let sort_str = CicPp.ppsort sort in - let from = (sprintf "%s as %s" sort_tbl cur_tbl) :: from in - let where = - (sprintf "%s.h_sort = \"%s\"" cur_tbl sort_str ) :: - mk_positions positions cur_tbl :: - (if n=start then - [] - else - [sprintf "%s.source = %s.source" start_table cur_tbl ]) @ where - in - ((n+2), from, where) - -let exec ~(dbd:HMysql.dbd) ?rating (n,from,where) = - let from = String.concat ", " from in - let where = String.concat " and " where in - let query = - match rating with - | None -> sprintf "select distinct table0.source from %s where %s" from where - | Some `Hits -> - sprintf - ("select distinct table0.source from %s, hits where %s - and table0.source = hits.source order by hits.no desc") - from where - in - (* prerr_endline query; *) - let result = HMysql.exec dbd query in - HMysql.map result - (fun row -> match row.(0) with Some s -> UriManager.uri_of_string s | _ -> assert false) - - -let at_least ~(dbd:HMysql.dbd) ?concl_card ?full_card ?diff ?rating tables - (metadata: MetadataTypes.constr list) -= - let obj_tbl,rel_tbl,sort_tbl, count_tbl = tables - in - if (metadata = []) && concl_card = None && full_card = None then - failwith "MetadataQuery.at_least: no constraints given"; - let (n,from,where) = - List.fold_left (add_constraint ~tables) (0,[],[]) metadata - in - let (n,from,where) = - add_all_constr ~tbl:count_tbl (n,from,where) concl_card full_card diff - in - exec ~dbd ?rating (n,from,where) - -let at_least - ~(dbd:HMysql.dbd) ?concl_card ?full_card ?diff ?rating - (metadata: MetadataTypes.constr list) -= - if are_tables_ownerized () then - (at_least - ~dbd ?concl_card ?full_card ?diff ?rating default_tables metadata) @ - (at_least - ~dbd ?concl_card ?full_card ?diff ?rating (current_tables ()) metadata) - else - at_least - ~dbd ?concl_card ?full_card ?diff ?rating default_tables metadata - - - (** Prefix handling *) - -let filter_by_card n = - SetSet.filter (fun t -> (UriManagerSet.cardinal t) <= n) - -let merge n a b = - let init = SetSet.union a b in - let merge_single_set s1 b = - SetSet.fold - (fun s2 res -> SetSet.add (UriManagerSet.union s1 s2) res) - b SetSet.empty in - let res = - SetSet.fold (fun s1 res -> SetSet.union (merge_single_set s1 b) res) a init - in - filter_by_card n res - -let rec inspect_children n childs = - List.fold_left - (fun res term -> merge n (inspect_conclusion n term) res) - SetSet.empty childs - -and add_root n root childs = - let childunion = inspect_children n childs in - let addroot = UriManagerSet.add root in - SetSet.fold - (fun child newsets -> SetSet.add (addroot child) newsets) - childunion - (SetSet.singleton (UriManagerSet.singleton root)) - -and inspect_conclusion n t = - if n = 0 then SetSet.empty - else match t with - Cic.Rel _ - | Cic.Meta _ - | Cic.Sort _ - | Cic.Implicit _ -> SetSet.empty - | Cic.Var (u,exp_named_subst) -> SetSet.empty - | Cic.Const (u,exp_named_subst) -> - SetSet.singleton (UriManagerSet.singleton u) - | Cic.MutInd (u, t, exp_named_subst) -> - SetSet.singleton (UriManagerSet.singleton - (UriManager.uri_of_uriref u t None)) - | Cic.MutConstruct (u, t, c, exp_named_subst) -> - SetSet.singleton (UriManagerSet.singleton - (UriManager.uri_of_uriref u t (Some c))) - | Cic.Cast (t, _) -> inspect_conclusion n t - | Cic.Prod (_, s, t) -> - merge n (inspect_conclusion n s) (inspect_conclusion n t) - | Cic.Lambda (_, s, t) -> - merge n (inspect_conclusion n s) (inspect_conclusion n t) - | Cic.LetIn (_, s, t) -> - merge n (inspect_conclusion n s) (inspect_conclusion n t) - | Cic.Appl ((Cic.Const (u,exp_named_subst))::l) -> - add_root (n-1) u l - | Cic.Appl ((Cic.MutInd (u, t, exp_named_subst))::l) -> - let uri = UriManager.uri_of_uriref u t None in - add_root (n-1) uri l - | Cic.Appl ((Cic.MutConstruct (u, t, c, exp_named_subst))::l) -> - let suri = UriManager.uri_of_uriref u t (Some c) in - add_root (n-1) suri l - | Cic.Appl l -> - SetSet.empty - | Cic.MutCase (u, t, tt, uu, m) -> - SetSet.empty - | Cic.Fix (_, m) -> - SetSet.empty - | Cic.CoFix (_, m) -> - SetSet.empty - -let rec inspect_term n t = - if n = 0 then - assert false - else - match t with - Cic.Rel _ - | Cic.Meta _ - | Cic.Sort _ - | Cic.Implicit _ -> None, SetSet.empty - | Cic.Var (u,exp_named_subst) -> None, SetSet.empty - | Cic.Const (u,exp_named_subst) -> - Some u, SetSet.empty - | Cic.MutInd (u, t, exp_named_subst) -> - let uri = UriManager.uri_of_uriref u t None in - Some uri, SetSet.empty - | Cic.MutConstruct (u, t, c, exp_named_subst) -> - let uri = UriManager.uri_of_uriref u t (Some c) in - Some uri, SetSet.empty - | Cic.Cast (t, _) -> inspect_term n t - | Cic.Prod (_, _, t) -> inspect_term n t - | Cic.LetIn (_, _, t) -> inspect_term n t - | Cic.Appl ((Cic.Const (u,exp_named_subst))::l) -> - let childunion = inspect_children (n-1) l in - Some u, childunion - | Cic.Appl ((Cic.MutInd (u, t, exp_named_subst))::l) -> - let suri = UriManager.uri_of_uriref u t None in - if u = HelmLibraryObjects.Logic.eq_URI && n>1 then - (* equality is handled in a special way: in particular, - the type, if defined, is always added to the prefix, - and n is not decremented - it should have been n-2 *) - match l with - Cic.Const (u1,exp_named_subst1)::l1 -> - let inconcl = add_root (n-1) u1 l1 in - Some suri, inconcl - | Cic.MutInd (u1, t1, exp_named_subst1)::l1 -> - let suri1 = UriManager.uri_of_uriref u1 t1 None in - let inconcl = add_root (n-1) suri1 l1 in - Some suri, inconcl - | Cic.MutConstruct (u1, t1, c1, exp_named_subst1)::l1 -> - let suri1 = UriManager.uri_of_uriref u1 t1 (Some c1) in - let inconcl = add_root (n-1) suri1 l1 in - Some suri, inconcl - | _ :: _ -> Some suri, SetSet.empty - | _ -> assert false (* args number must be > 0 *) - else - let childunion = inspect_children (n-1) l in - Some suri, childunion - | Cic.Appl ((Cic.MutConstruct (u, t, c, exp_named_subst))::l) -> - let suri = UriManager.uri_of_uriref u t(Some c) in - let childunion = inspect_children (n-1) l in - Some suri, childunion - | _ -> None, SetSet.empty - -let add_cardinality s = - let l = SetSet.elements s in - let res = - List.map - (fun set -> - let el = UriManagerSet.elements set in - (List.length el, el)) l in - (* ordered by descending cardinality *) - List.sort (fun (n,_) (m,_) -> m - n) ((0,[])::res) - -let prefixes n t = - match inspect_term n t with - Some a, set -> Some a, add_cardinality set - | None, set when (SetSet.is_empty set) -> None, [] - | _, _ -> assert false - - -let rec add children = - List.fold_left - (fun acc t -> UriManagerSet.union (signature_concl t) acc) - (UriManagerSet.empty) children - -(* this function creates the set of all different constants appearing in - the conclusion of the term *) -and signature_concl = - function - Cic.Rel _ - | Cic.Meta _ - | Cic.Sort _ - | Cic.Implicit _ -> UriManagerSet.empty - | Cic.Var (u,exp_named_subst) -> - (*CSC: TODO if the var has a body it must be processed *) - UriManagerSet.empty - | Cic.Const (u,exp_named_subst) -> - UriManagerSet.singleton u - | Cic.MutInd (u, t, exp_named_subst) -> - let uri = UriManager.uri_of_uriref u t None in - UriManagerSet.singleton uri - | Cic.MutConstruct (u, t, c, exp_named_subst) -> - let uri = UriManager.uri_of_uriref u t (Some c) in - UriManagerSet.singleton uri - | Cic.Cast (t, _) -> signature_concl t - | Cic.Prod (_, s, t) -> - UriManagerSet.union (signature_concl s) (signature_concl t) - | Cic.Lambda (_, s, t) -> - UriManagerSet.union (signature_concl s) (signature_concl t) - | Cic.LetIn (_, s, t) -> - UriManagerSet.union (signature_concl s) (signature_concl t) - | Cic.Appl l -> add l - | Cic.MutCase _ - | Cic.Fix _ - | Cic.CoFix _ -> - UriManagerSet.empty - -let rec signature_of = function - | Cic.Cast (t, _) -> signature_of t - | Cic.Prod (_, _, t) -> signature_of t - | Cic.LetIn (_, _, t) -> signature_of t - | Cic.Appl ((Cic.Const (u,exp_named_subst))::l) -> - Some (u, []), add l - | Cic.Appl ((Cic.MutInd (u, t, exp_named_subst))::l) -> - let suri = UriManager.uri_of_uriref u t None in - if u = HelmLibraryObjects.Logic.eq_URI then - (* equality is handled in a special way: in particular, - the type, if defined, is always added to the prefix, - and n is not decremented - it should have been n-2 *) - match l with - Cic.Const (u1,exp_named_subst1)::l1 -> - let inconcl = UriManagerSet.remove u1 (add l1) in - Some (suri, [u1]), inconcl - | Cic.MutInd (u1, t1, exp_named_subst1)::l1 -> - let suri1 = UriManager.uri_of_uriref u1 t1 None in - let inconcl = UriManagerSet.remove suri1 (add l1) in - Some (suri, [suri1]), inconcl - | Cic.MutConstruct (u1, t1, c1, exp_named_subst1)::l1 -> - let suri1 = UriManager.uri_of_uriref u1 t1 (Some c1) in - let inconcl = UriManagerSet.remove suri1 (add l1) in - Some (suri, [suri1]), inconcl - | _ :: _ -> Some (suri, []), UriManagerSet.empty - | _ -> assert false (* args number must be > 0 *) - else - Some (suri, []), add l - | Cic.Appl ((Cic.MutConstruct (u, t, c, exp_named_subst))::l) -> - let suri = UriManager.uri_of_uriref u t (Some c) in - Some (suri, []), add l - | t -> None, signature_concl t - -(* takes a list of lists and returns the list of all elements - without repetitions *) -let union l = - let rec drop_repetitions = function - [] -> [] - | [a] -> [a] - | u1::u2::l when u1 = u2 -> drop_repetitions (u2::l) - | u::l -> u::(drop_repetitions l) in - drop_repetitions (List.sort Pervasives.compare (List.concat l)) - -let must_of_prefix ?(where = `Conclusion) m s = - let positions = - match where with - | `Conclusion -> [`InConclusion] - | `Statement -> [`InConclusion; `InHypothesis; `MainHypothesis None] - in - let positions = - if m = None then `MainConclusion None :: positions else positions in - let s' = List.map (fun (u:UriManager.uri) -> `Obj (u, positions)) s in - match m with - None -> s' - | Some m -> `Obj (m, [`MainConclusion None]) :: s' - -let escape = Str.global_replace (Str.regexp_string "\'") "\\'" - -let get_constants (dbd:HMysql.dbd) ~where uri = - let uri = escape (UriManager.string_of_uri uri) in - let positions = - match where with - | `Conclusion -> [ MetadataTypes.mainconcl_pos; MetadataTypes.inconcl_pos ] - | `Statement -> - [ MetadataTypes.mainconcl_pos; MetadataTypes.inconcl_pos; - MetadataTypes.inhyp_pos; MetadataTypes.mainhyp_pos ] - in - let query = - let pos_predicate = - String.concat " OR " - (List.map (fun pos -> sprintf "(h_position = \"%s\")" pos) positions) - in - sprintf ("SELECT h_occurrence FROM %s WHERE source=\"%s\" AND (%s) UNION "^^ - "SELECT h_occurrence FROM %s WHERE source=\"%s\" AND (%s)") - (MetadataTypes.obj_tbl ()) uri pos_predicate - MetadataTypes.library_obj_tbl uri pos_predicate - - in - let result = HMysql.exec dbd query in - let set = ref UriManagerSet.empty in - HMysql.iter result - (fun col -> - match col.(0) with - | Some uri -> set := UriManagerSet.add (UriManager.uri_of_string uri) !set - | _ -> assert false); - !set - -let at_most ~(dbd:HMysql.dbd) ?(where = `Conclusion) only u = - let inconcl = get_constants dbd ~where u in - UriManagerSet.subset inconcl only - - (* Special handling of equality. The problem is filtering out theorems just - * containing variables (e.g. all the theorems in cic:/Coq/Ring/). Really - * ad-hoc, no better solution found at the moment *) -let myspeciallist_of_facts = - [0,UriManager.uri_of_string "cic:/Coq/Init/Logic/eq.ind#xpointer(1/1/1)"] -let myspeciallist = - [0,UriManager.uri_of_string "cic:/Coq/Init/Logic/eq.ind#xpointer(1/1/1)"; - (* 0,"cic:/Coq/Init/Logic/sym_eq.con"; *) - 0,UriManager.uri_of_string "cic:/Coq/Init/Logic/trans_eq.con"; - 0,UriManager.uri_of_string "cic:/Coq/Init/Logic/f_equal.con"; - 0,UriManager.uri_of_string "cic:/Coq/Init/Logic/f_equal2.con"; - 0,UriManager.uri_of_string "cic:/Coq/Init/Logic/f_equal3.con"] - - -let compute_exactly ~(dbd:HMysql.dbd) ?(facts=false) ~where main prefixes = - List.concat - (List.map - (fun (m,s) -> - let is_eq,card = - match main with - None -> false,m - | Some main -> - (m = 0 && - UriManager.eq main - (UriManager.uri_of_string (HelmLibraryObjects.Logic.eq_XURI))), - m+1 - in - if m = 0 && is_eq then - (if facts then myspeciallist_of_facts - else myspeciallist) - else - let res = - (* this gets rid of the ~750 objects of type Set/Prop/Type *) - if card = 0 then [] - else - let must = must_of_prefix ~where main s in - match where with - | `Conclusion -> at_least ~dbd ~concl_card:(Eq card) must - | `Statement -> at_least ~dbd ~full_card:(Eq card) must - in - List.map (fun uri -> (card, uri)) res) - prefixes) - - (* critical value reached, fallback to "only" constraints *) - -let compute_with_only ~(dbd:HMysql.dbd) ?(facts=false) ?(where = `Conclusion) - main prefixes constants -= - let max_prefix_length = - match prefixes with - | [] -> assert false - | (max,_)::_ -> max in - let maximal_prefixes = - let rec filter res = function - [] -> res - | (n,s)::l when n = max_prefix_length -> filter ((n,s)::res) l - | _::_-> res in - filter [] prefixes in - let greater_than = - let all = - union - (List.map - (fun (m,s) -> - let card = if main = None then m else m + 1 in - let must = must_of_prefix ~where main s in - (let res = - match where with - | `Conclusion -> at_least ~dbd ~concl_card:(Gt card) must - | `Statement -> at_least ~dbd ~full_card:(Gt card) must - in - (* we tag the uri with m+1, for sorting purposes *) - List.map (fun uri -> (card, uri)) res)) - maximal_prefixes) - in - Printf.fprintf stderr "all: %d\n" (List.length all);flush_all (); - List.filter (function (_,uri) -> at_most ~dbd ~where constants uri) all in - let equal_to = compute_exactly ~dbd ~facts ~where main prefixes in - greater_than @ equal_to - - (* real match query implementation *) - -let cmatch ~(dbd:HMysql.dbd) ?(facts=false) t = - let (main, constants) = signature_of t in - match main with - | None -> [] - | Some (main, types) -> - (* the type of eq is not counted in constants_no *) - let types_no = List.length types in - let constants_no = UriManagerSet.cardinal constants in - if (constants_no > critical_value) then - let prefixes = prefixes just_factor t in - (match prefixes with - | Some main, all_concl -> - let all_constants = - List.fold_right UriManagerSet.add types (UriManagerSet.add main constants) - in - compute_with_only ~dbd ~facts (Some main) all_concl all_constants - | _, _ -> []) - else - (* in this case we compute all prefixes, and we do not need - to apply the only constraints *) - let prefixes = - if constants_no = 0 then - (if types_no = 0 then - Some main, [0, []] - else - Some main, [0, []; types_no, types]) - else - prefixes (constants_no+types_no+1) t - in - (match prefixes with - Some main, all_concl -> - compute_exactly ~dbd ~facts ~where:`Conclusion (Some main) all_concl - | _, _ -> []) - -let power_upto upto consts = - let l = UriManagerSet.elements consts in - List.sort (fun (n,_) (m,_) -> m - n) - (List.fold_left - (fun res a -> - let res' = - List.filter (function (n,l) -> n <= upto) - (List.map (function (n,l) -> (n+1,a::l)) res) in - res@res') - [(0,[])] l) - -let power consts = - let l = UriManagerSet.elements consts in - List.sort (fun (n,_) (m,_) -> m - n) - (List.fold_left - (fun res a -> res@(List.map (function (n,l) -> (n+1,a::l)) res)) - [(0,[])] l) - -type where = [ `Conclusion | `Statement ] - -let sigmatch ~(dbd:HMysql.dbd) ?(facts=false) ?(where = `Conclusion) - (main, constants) -= - let main,types = - match main with - None -> None,[] - | Some (main, types) -> Some main,types - in - let constants_no = UriManagerSet.cardinal constants in - (* prerr_endline (("constants_no: ")^(string_of_int constants_no)); *) - if (constants_no > critical_value) then - let subsets = - let subsets = power_upto just_factor constants in - (* let _ = prerr_endline (("subsets: ")^ - (string_of_int (List.length subsets))) in *) - let types_no = List.length types in - List.map (function (n,l) -> (n+types_no,types@l)) subsets - in - let all_constants = - let all = match main with None -> types | Some m -> m::types in - List.fold_right UriManagerSet.add all constants - in - compute_with_only ~dbd ~where main subsets all_constants - else - let subsets = - let subsets = power constants in - let types_no = List.length types in - if types_no > 0 then - (0,[]) :: List.map (function (n,l) -> (n+types_no,types@l)) subsets - else subsets - in - compute_exactly ~dbd ~facts ~where main subsets - - (* match query wrappers *) - -let cmatch'= cmatch - -let cmatch ~dbd ?(facts=false) term = - List.map snd - (List.sort - (fun x y -> Pervasives.compare (fst y) (fst x)) - (cmatch' ~dbd ~facts term)) - -let constants_of = signature_concl - diff --git a/helm/ocaml/metadata/metadataConstraints.mli b/helm/ocaml/metadata/metadataConstraints.mli deleted file mode 100644 index 63757ae47..000000000 --- a/helm/ocaml/metadata/metadataConstraints.mli +++ /dev/null @@ -1,111 +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/ - *) - -module UriManagerSet : Set.S with type elt = UriManager.uri - - - (** @return - * main: constant in main position and, for polymorphic constants, type - * instantitation - * constants: constants appearing in term *) -type term_signature = (UriManager.uri * UriManager.uri list) option * UriManagerSet.t - -(** {2 Candidates filtering} *) - - (** @return sorted list of theorem URIs, first URIs in the least have higher - * relevance *) -val cmatch: dbd:HMysql.dbd -> ?facts:bool -> Cic.term -> UriManager.uri list - - (** as cmatch, but returned list is not sorted but rather tagged with - * relevance information: higher the tag, higher the relevance *) -val cmatch': dbd:HMysql.dbd -> ?facts:bool -> Cic.term -> (int * UriManager.uri) list - -type where = [ `Conclusion | `Statement ] (** signature matching extent *) - - (** @param where defaults to `Conclusion *) -val sigmatch: - dbd:HMysql.dbd -> - ?facts:bool -> - ?where:where -> - term_signature -> - (int * UriManager.uri) list - -(** {2 Constraint engine} *) - - (** constraing on the number of distinct constants *) -type cardinality_condition = - | Eq of int - | Gt of int - | Lt of int - -type rating_criterion = - [ `Hits (** order by number of hits, most used objects first *) - ] - -val add_constraint: - ?start:int -> - ?tables:string * string * string * string -> - int * string list * string list -> - MetadataTypes.constr -> - int * string list * string list - - (** @param concl_card cardinality condition on conclusion only - * @param full_card cardinality condition on the whole statement - * @param diff required difference between the number of different constants in - * hypothesis and the number of different constants in body - * @return list of URI satisfying given constraints *) - -val at_least: - dbd:HMysql.dbd -> - ?concl_card:cardinality_condition -> - ?full_card:cardinality_condition -> - ?diff:cardinality_condition -> - ?rating:rating_criterion -> - MetadataTypes.constr list -> - UriManager.uri list - - (** @param where defaults to `Conclusion *) -val at_most: - dbd:HMysql.dbd -> - ?where:where -> UriManagerSet.t -> - (UriManager.uri -> bool) - -val add_all_constr: - ?tbl:string -> - int * string list * string list -> - cardinality_condition option -> - cardinality_condition option -> - cardinality_condition option -> - int * string list * string list - -val exec: - dbd:HMysql.dbd -> - ?rating:[ `Hits ] -> - int * string list * string list -> - UriManager.uri list - -val signature_of: Cic.term -> term_signature -val constants_of: Cic.term -> UriManagerSet.t - diff --git a/helm/ocaml/metadata/metadataDb.ml b/helm/ocaml/metadata/metadataDb.ml deleted file mode 100644 index c5fbb79a8..000000000 --- a/helm/ocaml/metadata/metadataDb.ml +++ /dev/null @@ -1,191 +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 MetadataTypes - -open Printf - -let execute_insert dbd uri (sort_cols, rel_cols, obj_cols) = - let sort_tuples = - List.fold_left (fun s l -> match l with - | [`String a; `String b; `Int c; `String d] -> - sprintf "(\"%s\", \"%s\", %d, \"%s\")" a b c d :: s - | _ -> assert false ) - [] sort_cols - in - let rel_tuples = - List.fold_left (fun s l -> match l with - | [`String a; `String b; `Int c] -> - sprintf "(\"%s\", \"%s\", %d)" a b c :: s - | _ -> assert false) - [] rel_cols - in - let obj_tuples = List.fold_left (fun s l -> match l with - | [`String a; `String b; `String c; `Int d] -> - sprintf "(\"%s\", \"%s\", \"%s\", %d)" a b c d :: s - | [`String a; `String b; `String c; `Null] -> - sprintf "(\"%s\", \"%s\", \"%s\", %s)" a b c "NULL" :: s - | _ -> assert false) - [] obj_cols - in - if sort_tuples <> [] then - begin - let query_sort = - sprintf "INSERT %s VALUES %s;" (sort_tbl ()) (String.concat "," sort_tuples) - in - ignore (HMysql.exec dbd query_sort) - end; - if rel_tuples <> [] then - begin - let query_rel = - sprintf "INSERT %s VALUES %s;" (rel_tbl ()) (String.concat "," rel_tuples) - in - ignore (HMysql.exec dbd query_rel) - end; - if obj_tuples <> [] then - begin - let query_obj = - sprintf "INSERT %s VALUES %s;" (obj_tbl ()) (String.concat "," obj_tuples) - in - ignore (HMysql.exec dbd query_obj) - end - - -let count_distinct position l = - MetadataConstraints.UriManagerSet.cardinal - (List.fold_left (fun acc d -> - match position with - | `Conclusion -> - (match d with - | `Obj (name,`InConclusion) - | `Obj (name,`MainConclusion _ ) -> - MetadataConstraints.UriManagerSet.add name acc - | _ -> acc) - | `Hypothesis -> - (match d with - | `Obj (name,`InHypothesis) - | `Obj (name,`MainHypothesis _) -> - MetadataConstraints.UriManagerSet.add name acc - | _ -> acc) - | `Statement -> - (match d with - | `Obj (name,`InBody) -> acc - | `Obj (name,_) -> MetadataConstraints.UriManagerSet.add name acc - | _ -> acc) - ) MetadataConstraints.UriManagerSet.empty l) - -let insert_const_no ~dbd l = - let data = - List.fold_left - (fun acc (uri,_,metadata) -> - let no_concl = count_distinct `Conclusion metadata in - let no_hyp = count_distinct `Hypothesis metadata in - let no_full = count_distinct `Statement metadata in - (sprintf "(\"%s\", %d, %d, %d)" - (UriManager.string_of_uri uri) no_concl no_hyp no_full) :: acc - ) [] l in - let insert = - sprintf "INSERT INTO %s VALUES %s" (count_tbl ()) (String.concat "," data) - in - ignore (HMysql.exec dbd insert) - -let insert_name ~dbd l = - let data = - List.fold_left - (fun acc (uri,name,_) -> - (sprintf "(\"%s\", \"%s\")" (UriManager.string_of_uri uri) name) :: acc - ) [] l in - let insert = - sprintf "INSERT INTO %s VALUES %s" (name_tbl ()) (String.concat "," data) - in - ignore (HMysql.exec dbd insert) - -type columns = - MetadataPp.t list list * MetadataPp.t list list * MetadataPp.t list list - - (* TODO ZACK: verify if an object has already been indexed *) -let already_indexed _ = false - -(***** TENTATIVE HACK FOR THE DB SLOWDOWN - BEGIN *******) -let analyze_index = ref 0 -let eventually_analyze dbd = - incr analyze_index; - if !analyze_index > 30 then - begin - let analyze t = "OPTIMIZE TABLE " ^ t ^ ";" in - List.iter - (fun table -> ignore (HMysql.exec dbd (analyze table))) - [name_tbl (); rel_tbl (); sort_tbl (); obj_tbl(); count_tbl()] - end - -(***** TENTATIVE HACK FOR THE DB SLOWDOWN - END *******) - -let index_obj ~dbd ~uri = - if not (already_indexed uri) then begin - eventually_analyze dbd; - let metadata = MetadataExtractor.compute_obj uri in - let uri = UriManager.string_of_uri uri in - let columns = MetadataPp.columns_of_metadata metadata in - execute_insert dbd uri (columns :> columns); - insert_const_no ~dbd metadata; - insert_name ~dbd metadata - end - - -let tables_to_clean = - [sort_tbl; rel_tbl; obj_tbl; name_tbl; count_tbl] - -let clean ~(dbd:HMysql.dbd) = - let owned_uris = (* list of uris in list-of-columns format *) - let query = sprintf "SELECT source FROM %s" (name_tbl ()) in - let result = HMysql.exec dbd query in - let uris = HMysql.map result (fun cols -> - match cols.(0) with - | Some src -> src - | None -> assert false) in - (* and now some stuff to remove #xpointers and duplicates *) - uris - in - let del_from tbl = - let query s = - sprintf "DELETE FROM %s WHERE source LIKE \"%s%%\"" (tbl ()) s - in - List.iter - (fun source_col -> ignore (HMysql.exec dbd (query source_col))) - owned_uris - in - List.iter del_from tables_to_clean; - owned_uris - -let unindex ~dbd ~uri = - let uri = UriManager.string_of_uri uri in - let del_from tbl = - let query tbl = - sprintf "DELETE FROM %s WHERE source LIKE \"%s%%\"" (tbl ()) uri - in - ignore (HMysql.exec dbd (query tbl)) - in - List.iter del_from tables_to_clean - diff --git a/helm/ocaml/metadata/metadataDb.mli b/helm/ocaml/metadata/metadataDb.mli deleted file mode 100644 index 86820aafb..000000000 --- a/helm/ocaml/metadata/metadataDb.mli +++ /dev/null @@ -1,41 +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 index_obj: dbd:HMysql.dbd -> uri:UriManager.uri -> unit - -(* TODO Zack indexing of variables and (perhaps?) incomplete proofs *) - - (** remove from the db all metadata pertaining to a given owner - * @return list of uris removed from the db *) -val clean: dbd:HMysql.dbd -> string list - -val unindex: dbd:HMysql.dbd -> uri:UriManager.uri -> unit - -val count_distinct: - [`Conclusion | `Hypothesis | `Statement ] -> - MetadataTypes.metadata list -> - int diff --git a/helm/ocaml/metadata/metadataExtractor.ml b/helm/ocaml/metadata/metadataExtractor.ml deleted file mode 100644 index 50407ac7c..000000000 --- a/helm/ocaml/metadata/metadataExtractor.ml +++ /dev/null @@ -1,348 +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 MetadataTypes - -let is_main_pos = function - | `MainConclusion _ - | `MainHypothesis _ -> true - | _ -> false - -let main_pos (pos: position): main_position = - match pos with - | `MainConclusion depth -> `MainConclusion depth - | `MainHypothesis depth -> `MainHypothesis depth - | _ -> assert false - -let next_pos = function - | `MainConclusion _ -> `InConclusion - | `MainHypothesis _ -> `InHypothesis - | pos -> pos - -let string_of_uri = UriManager.string_of_uri - -module OrderedMetadata = - struct - type t = MetadataTypes.metadata - let compare m1 m2 = (* ignore universes in Cic.Type sort *) - match (m1, m2) with - | `Sort (Cic.Type _, pos1), `Sort (Cic.Type _, pos2) -> - Pervasives.compare pos1 pos2 - | _ -> Pervasives.compare m1 m2 - end - -module MetadataSet = Set.Make (OrderedMetadata) -module UriManagerSet = UriManager.UriSet - -module S = MetadataSet - -let unopt = function Some x -> x | None -> assert false - -let incr_depth = function - | `MainConclusion (Some (Eq depth)) -> `MainConclusion (Some (Eq (depth + 1))) - | `MainHypothesis (Some (Eq depth)) -> `MainHypothesis (Some (Eq (depth + 1))) - | _ -> assert false - -let var_has_body uri = - match CicEnvironment.get_obj CicUniv.empty_ugraph uri with - | Cic.Variable (_, Some body, _, _, _), _ -> true - | _ -> false - -let compute_term pos term = - let rec aux (pos: position) set = function - | Cic.Var (uri, subst) when var_has_body uri -> - (* handles variables with body as constants *) - aux pos set (Cic.Const (uri, subst)) - | Cic.Rel _ - | Cic.Var _ -> - if is_main_pos pos then - S.add (`Rel (main_pos pos)) set - else - set - | Cic.Meta (_, local_context) -> - List.fold_left - (fun set context -> - match context with - | None -> set - | Some term -> aux (next_pos pos) set term) - set - local_context - | Cic.Sort sort -> - if is_main_pos pos then - S.add (`Sort (sort, main_pos pos)) set - else - set - | Cic.Implicit _ -> assert false - | Cic.Cast (term, ty) -> - (* TODO consider also ty? *) - aux pos set term - | Cic.Prod (_, source, target) -> - (match pos with - | `MainConclusion _ -> - let set = aux (`MainHypothesis (Some (Eq 0))) set source in - aux (incr_depth pos) set target - | `MainHypothesis _ -> - let set = aux `InHypothesis set source in - aux (incr_depth pos) set target - | `InConclusion - | `InHypothesis - | `InBody -> - let set = aux pos set source in - aux pos set target) - | Cic.Lambda (_, source, target) -> - (*assert (not (is_main_pos pos));*) - let set = aux (next_pos pos) set source in - aux (next_pos pos) set target - | Cic.LetIn (_, term, target) -> - if is_main_pos pos then - aux pos set (CicSubstitution.subst term target) - else - let set = aux pos set term in - aux pos set target - | Cic.Appl [] -> assert false - | Cic.Appl (hd :: tl) -> - let set = aux pos set hd in - List.fold_left - (fun set term -> aux (next_pos pos) set term) - set tl - | Cic.Const (uri, subst) -> - let set = S.add (`Obj (uri, pos)) set in - List.fold_left - (fun set (_, term) -> aux (next_pos pos) set term) - set subst - | Cic.MutInd (uri, typeno, subst) -> - let uri = UriManager.uri_of_uriref uri typeno None in - let set = S.add (`Obj (uri, pos)) set in - List.fold_left (fun set (_, term) -> aux (next_pos pos) set term) - set subst - | Cic.MutConstruct (uri, typeno, consno, subst) -> - let uri = UriManager.uri_of_uriref uri typeno (Some consno) in - let set = S.add (`Obj (uri, pos)) set in - List.fold_left (fun set (_, term) -> aux (next_pos pos) set term) - set subst - | Cic.MutCase (uri, _, outtype, term, pats) -> - let pos = next_pos pos in - let set = aux pos set term in - let set = aux pos set outtype in - List.fold_left (fun set term -> aux pos set term) set pats - | Cic.Fix (_, funs) -> - let pos = next_pos pos in - List.fold_left - (fun set (_, _, ty, body) -> - let set = aux pos set ty in - aux pos set body) - set funs - | Cic.CoFix (_, funs) -> - let pos = next_pos pos in - List.fold_left - (fun set (_, ty, body) -> - let set = aux pos set ty in - aux pos set body) - set funs - in - aux pos S.empty term - -module OrderedInt = -struct - type t = int - let compare = Pervasives.compare -end - -module IntSet = Set.Make (OrderedInt) - -let compute_metas term = - let rec aux in_hyp ((concl_metas, hyp_metas) as acc) cic = - match cic with - | Cic.Rel _ - | Cic.Sort _ - | Cic.Var _ -> acc - | Cic.Meta (no, local_context) -> - let acc = - if in_hyp then - (concl_metas, IntSet.add no hyp_metas) - else - (IntSet.add no concl_metas, hyp_metas) - in - List.fold_left - (fun set context -> - match context with - | None -> set - | Some term -> aux in_hyp set term) - acc - local_context - | Cic.Implicit _ -> assert false - | Cic.Cast (term, ty) -> - (* TODO consider also ty? *) - aux in_hyp acc term - | Cic.Prod (_, source, target) -> - if in_hyp then - let acc = aux in_hyp acc source in - aux in_hyp acc target - else - let acc = aux true acc source in - aux in_hyp acc target - | Cic.Lambda (_, source, target) -> - let acc = aux in_hyp acc source in - aux in_hyp acc target - | Cic.LetIn (_, term, target) -> - aux in_hyp acc (CicSubstitution.subst term target) - | Cic.Appl [] -> assert false - | Cic.Appl (hd :: tl) -> - let acc = aux in_hyp acc hd in - List.fold_left (fun acc term -> aux in_hyp acc term) acc tl - | Cic.Const (_, subst) - | Cic.MutInd (_, _, subst) - | Cic.MutConstruct (_, _, _, subst) -> - List.fold_left (fun acc (_, term) -> aux in_hyp acc term) acc subst - | Cic.MutCase (uri, _, outtype, term, pats) -> - let acc = aux in_hyp acc term in - let acc = aux in_hyp acc outtype in - List.fold_left (fun acc term -> aux in_hyp acc term) acc pats - | Cic.Fix (_, funs) -> - List.fold_left - (fun acc (_, _, ty, body) -> - let acc = aux in_hyp acc ty in - aux in_hyp acc body) - acc funs - | Cic.CoFix (_, funs) -> - List.fold_left - (fun acc (_, ty, body) -> - let acc = aux in_hyp acc ty in - aux in_hyp acc body) - acc funs - in - aux false (IntSet.empty, IntSet.empty) term - - (** type of inductiveType *) -let compute_type pos uri typeno (name, _, ty, constructors) = - let consno = ref 0 in - let type_metadata = - (UriManager.uri_of_uriref uri typeno None, name, (compute_term pos ty)) - in - let constructors_metadata = - List.map - (fun (name, term) -> - incr consno; - let uri = UriManager.uri_of_uriref uri typeno (Some !consno) in - (uri, name, (compute_term pos term))) - constructors - in - type_metadata :: constructors_metadata - -let compute_ind pos ~uri ~types = - let idx = ref ~-1 in - List.map (fun ty -> incr idx; compute_type pos uri !idx ty) types - -let compute (pos:position) ~body ~ty = - let type_metadata = compute_term pos ty in - let body_metadata = - match body with - | None -> S.empty - | Some body -> compute_term `InBody body - in - let uris = - S.fold - (fun metadata uris -> - match metadata with - | `Obj (uri, _) -> UriManagerSet.add uri uris - | _ -> uris) - type_metadata UriManagerSet.empty - in - S.union - (S.filter - (function - | `Obj (uri, _) when UriManagerSet.mem uri uris -> false - | _ -> true) - body_metadata) - type_metadata - -let depth_offset params = - let non p x = not (p x) in - List.length (List.filter (non var_has_body) params) - -let rec compute_var pos uri = - let o, _ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - match o with - | Cic.Variable (_, Some _, _, _, _) -> S.empty - | Cic.Variable (_, None, ty, params, _) -> - let var_metadata = - List.fold_left - (fun metadata uri -> - S.union metadata (compute_var (next_pos pos) uri)) - S.empty - params - in - (match pos with - | `MainHypothesis (Some (Eq 0)) -> - let pos = `MainHypothesis (Some (Eq (depth_offset params))) in - let ty_metadata = compute_term pos ty in - S.union ty_metadata var_metadata - | `InHypothesis -> - let ty_metadata = compute_term pos ty in - S.union ty_metadata var_metadata - | _ -> assert false) - | _ -> assert false - -let compute_obj uri = - let o, _ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - match o with - | Cic.Variable (_, body, ty, params, _) - | Cic.Constant (_, body, ty, params, _) -> - let pos = `MainConclusion (Some (Eq (depth_offset params))) in - let metadata = compute pos ~body ~ty in - let var_metadata = - List.fold_left - (fun metadata uri -> - S.union metadata (compute_var (`MainHypothesis (Some (Eq 0))) uri)) - S.empty - params - in - [ uri, - UriManager.name_of_uri uri, - S.union metadata var_metadata ] - | Cic.InductiveDefinition (types, params, _, _) -> - let pos = `MainConclusion(Some (Eq (depth_offset params))) in - let metadata = compute_ind pos ~uri ~types in - let var_metadata = - List.fold_left - (fun metadata uri -> - S.union metadata (compute_var (`MainHypothesis (Some (Eq 0))) uri)) - S.empty params - in - List.fold_left - (fun acc m -> - (List.map (fun (uri,name,md) -> (uri,name,S.union md var_metadata)) m) - @ acc) - [] metadata - | Cic.CurrentProof _ -> assert false - -let compute_obj uri = - List.map (fun (u, n, md) -> (u, n, S.elements md)) (compute_obj uri) - -let compute ~body ~ty = - S.elements (compute (`MainConclusion (Some (Eq 0))) ~body ~ty) - diff --git a/helm/ocaml/metadata/metadataExtractor.mli b/helm/ocaml/metadata/metadataExtractor.mli deleted file mode 100644 index 68af269a9..000000000 --- a/helm/ocaml/metadata/metadataExtractor.mli +++ /dev/null @@ -1,42 +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 compute: - body:Cic.term option -> - ty:Cic.term -> - MetadataTypes.metadata list - - (** @return tuples *) -val compute_obj: - UriManager.uri -> - (UriManager.uri * string * MetadataTypes.metadata list) list - -module IntSet: Set.S with type elt = int - - (** given a term, returns a pair of sets corresponding respectively to the set - * of meta numbers occurring in term's conclusion and the set of meta numbers - * occurring in term's hypotheses *) -val compute_metas: Cic.term -> IntSet.t * IntSet.t - diff --git a/helm/ocaml/metadata/metadataPp.ml b/helm/ocaml/metadata/metadataPp.ml deleted file mode 100644 index acf425ce1..000000000 --- a/helm/ocaml/metadata/metadataPp.ml +++ /dev/null @@ -1,115 +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 MetadataTypes - -let pp_relation r = - match r with - | Eq i -> sprintf "= %d" i - | Ge i -> sprintf ">= %d" i - | Gt i -> sprintf "> %d" i - | Le i -> sprintf "<= %d" i - | Lt i -> sprintf "< %d" i - -let pp_position = function - | `MainConclusion (Some d) -> sprintf "MainConclusion(%s)" (pp_relation d) - | `MainConclusion None -> sprintf "MainConclusion" - | `MainHypothesis (Some d) -> sprintf "MainHypothesis(%s)" (pp_relation d) - | `MainHypothesis None -> "MainHypothesis" - | `InConclusion -> "InConclusion" - | `InHypothesis -> "InHypothesis" - | `InBody -> "InBody" - -let pp_position_tag = function - | `MainConclusion _ -> mainconcl_pos - | `MainHypothesis _ -> mainhyp_pos - | `InConclusion -> inconcl_pos - | `InHypothesis -> inhyp_pos - | `InBody -> inbody_pos - -let columns_of_position pos = - match pos with - | `MainConclusion (Some (Eq d)) -> `String mainconcl_pos, `Int d - | `MainConclusion None -> `String mainconcl_pos, `Null - | `MainHypothesis (Some (Eq d)) -> `String mainhyp_pos, `Int d - | `MainHypothesis None -> `String mainhyp_pos, `Null - | `InConclusion -> `String inconcl_pos, `Null - | `InHypothesis -> `String inhyp_pos, `Null - | `InBody -> `String inbody_pos, `Null - | _ -> assert false - -(* -let metadata_ns = "http://www.cs.unibo.it/helm/schemas/schema-helm" -let uri_of_pos pos = String.concat "#" [metadata_ns; pp_position pos] -*) - -type t = [ `Int of int | `String of string | `Null ] - -let columns_of_metadata_aux ~about metadata = - let sort s = `String (CicPp.ppsort s) in - let source = `String (UriManager.string_of_uri about) in - let occurrence u = `String (UriManager.string_of_uri u) in - List.fold_left - (fun (sort_cols, rel_cols, obj_cols) metadata -> - match metadata with - | `Sort (s, p) -> - let (p, d) = columns_of_position (p :> position) in - [source; p; d; sort s] :: sort_cols, rel_cols, obj_cols - | `Rel p -> - let (p, d) = columns_of_position (p :> position) in - sort_cols, [source; p; d] :: rel_cols, obj_cols - | `Obj (o, p) -> - let (p, d) = columns_of_position p in - sort_cols, rel_cols, - [source; occurrence o; p; d] :: obj_cols) - ([], [], []) metadata - -let columns_of_metadata metadata = - List.fold_left - (fun (sort_cols, rel_cols, obj_cols) (uri, _, metadata) -> - let (s, r, o) = columns_of_metadata_aux ~about:uri metadata in - (List.append sort_cols s, List.append rel_cols r, List.append obj_cols o)) - ([], [], []) metadata - -let pp_constr = - function - | `Sort (sort, p) -> - sprintf "Sort %s; [%s]" - (CicPp.ppsort sort) (String.concat ";" (List.map pp_position p)) - | `Rel p -> sprintf "Rel [%s]" (String.concat ";" (List.map pp_position p)) - | `Obj (uri, p) -> sprintf "Obj %s; [%s]" - (UriManager.string_of_uri uri) (String.concat ";" (List.map pp_position p)) - -(* -let pp_columns ?(sep = "\n") (sort_cols, rel_cols, obj_cols) = - String.concat sep - ([ "Sort" ] @ List.map Dbi.sdebug (sort_cols :> Dbi.sql_t list list) @ - [ "Rel" ] @ List.map Dbi.sdebug (rel_cols :> Dbi.sql_t list list) @ - [ "Obj" ] @ List.map Dbi.sdebug (obj_cols :> Dbi.sql_t list list)) -*) - - diff --git a/helm/ocaml/metadata/metadataPp.mli b/helm/ocaml/metadata/metadataPp.mli deleted file mode 100644 index cffb24c48..000000000 --- a/helm/ocaml/metadata/metadataPp.mli +++ /dev/null @@ -1,49 +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/ - *) - -(** metadata -> string *) - -val pp_position: MetadataTypes.position -> string -val pp_position_tag: MetadataTypes.position -> string -val pp_constr: MetadataTypes.constr -> string - -(** Pretty printer and OCamlDBI friendly interface *) - -type t = - [ `Int of int - | `String of string - | `Null ] - - (** @return columns for Sort, Rel, and Obj respectively *) -val columns_of_metadata: - (UriManager.uri * string * MetadataTypes.metadata list) list -> - t list list * t list list * t list list - -(* -val pp_columns: ?sep:string -> t list list * t list list * t list list -> string -*) - -val pp_relation: MetadataTypes.relation -> string - diff --git a/helm/ocaml/metadata/metadataTypes.ml b/helm/ocaml/metadata/metadataTypes.ml deleted file mode 100644 index 81eb35817..000000000 --- a/helm/ocaml/metadata/metadataTypes.ml +++ /dev/null @@ -1,113 +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 position_prefix = "http://www.cs.unibo.it/helm/schemas/schema-helm#" -(* let position_prefix = "" *) - -let inconcl_pos = position_prefix ^ "InConclusion" -let mainconcl_pos = position_prefix ^ "MainConclusion" -let mainhyp_pos = position_prefix ^ "MainHypothesis" -let inhyp_pos = position_prefix ^ "InHypothesis" -let inbody_pos = position_prefix ^ "InBody" - -type relation = - | Eq of int - | Le of int - | Lt of int - | Ge of int - | Gt of int - -type main_position = - [ `MainConclusion of relation option (* Pi depth *) - | `MainHypothesis of relation option (* Pi depth *) - ] - -type position = - [ main_position - | `InConclusion - | `InHypothesis - | `InBody - ] - -type pi_depth = int - -type metadata = - [ `Sort of Cic.sort * main_position - | `Rel of main_position - | `Obj of UriManager.uri * position - ] - -type constr = - [ `Sort of Cic.sort * main_position list - | `Rel of main_position list - | `Obj of UriManager.uri * position list - ] - -let constr_of_metadata: metadata -> constr = function - | `Sort (sort, pos) -> `Sort (sort, [pos]) - | `Rel pos -> `Rel [pos] - | `Obj (uri, pos) -> `Obj (uri, [pos]) - - (** the name of the tables in the DB *) -let sort_tbl_original = "refSort" -let rel_tbl_original = "refRel" -let obj_tbl_original = "refObj" -let name_tbl_original = "objectName" -let count_tbl_original = "count" -let hits_tbl_original = "hits" - - (** the names currently used *) -let sort_tbl_real = ref sort_tbl_original -let rel_tbl_real = ref rel_tbl_original -let obj_tbl_real = ref obj_tbl_original -let name_tbl_real = ref name_tbl_original -let count_tbl_real = ref count_tbl_original - - (** the exported symbols *) -let sort_tbl () = ! sort_tbl_real ;; -let rel_tbl () = ! rel_tbl_real ;; -let obj_tbl () = ! obj_tbl_real ;; -let name_tbl () = ! name_tbl_real ;; -let count_tbl () = ! count_tbl_real ;; - - (** to use the owned tables *) -let ownerize_tables owner = - sort_tbl_real := ( sort_tbl_original ^ "_" ^ owner) ; - rel_tbl_real := ( rel_tbl_original ^ "_" ^ owner) ; - obj_tbl_real := ( obj_tbl_original ^ "_" ^ owner) ; - name_tbl_real := ( name_tbl_original ^ "_" ^ owner); - count_tbl_real := ( count_tbl_original ^ "_" ^ owner) -;; - -let library_sort_tbl = sort_tbl_original -let library_rel_tbl = rel_tbl_original -let library_obj_tbl = obj_tbl_original -let library_name_tbl = name_tbl_original -let library_count_tbl = count_tbl_original -let library_hits_tbl = hits_tbl_original - -let are_tables_ownerized () = - sort_tbl () <> library_sort_tbl - diff --git a/helm/ocaml/metadata/metadataTypes.mli b/helm/ocaml/metadata/metadataTypes.mli deleted file mode 100644 index f86ff84f5..000000000 --- a/helm/ocaml/metadata/metadataTypes.mli +++ /dev/null @@ -1,84 +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 inconcl_pos : string -val mainconcl_pos : string -val mainhyp_pos : string -val inhyp_pos : string -val inbody_pos : string - -type relation = - | Eq of int - | Le of int - | Lt of int - | Ge of int - | Gt of int - -type main_position = - [ `MainConclusion of relation option (* Pi depth *) - | `MainHypothesis of relation option (* Pi depth *) - ] - -type position = - [ main_position - | `InConclusion - | `InHypothesis - | `InBody - ] - -type pi_depth = int - -type metadata = - [ `Sort of Cic.sort * main_position - | `Rel of main_position - | `Obj of UriManager.uri * position - ] - -type constr = - [ `Sort of Cic.sort * main_position list - | `Rel of main_position list - | `Obj of UriManager.uri * position list - ] - -val constr_of_metadata: metadata -> constr - - (** invoke this function to set the current owner. Afterwards the functions - * below will return the name of the table of the set owner *) -val ownerize_tables : string -> unit -val are_tables_ownerized : unit -> bool - -val sort_tbl: unit -> string -val rel_tbl: unit -> string -val obj_tbl: unit -> string -val name_tbl: unit -> string -val count_tbl: unit -> string - -val library_sort_tbl: string -val library_rel_tbl: string -val library_obj_tbl: string -val library_name_tbl: string -val library_count_tbl: string -val library_hits_tbl: string - diff --git a/helm/ocaml/metadata/sqlStatements.ml b/helm/ocaml/metadata/sqlStatements.ml deleted file mode 100644 index 262188e13..000000000 --- a/helm/ocaml/metadata/sqlStatements.ml +++ /dev/null @@ -1,198 +0,0 @@ -(* Copyright (C) 2004-2005, 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;; -type tbl = [ `RefObj| `RefSort| `RefRel| `ObjectName| `Hits| `Count] - -(* TABLES *) - -let sprintf_refObj_format name = [ -sprintf "CREATE TABLE %s ( - source varchar(255) binary not null, - h_occurrence varchar(255) binary not null, - h_position varchar(62) binary not null, - h_depth integer -);" name] - -let sprintf_refSort_format name = [ -sprintf "CREATE TABLE %s ( - source varchar(255) binary not null, - h_position varchar(62) binary not null, - h_depth integer not null, - h_sort varchar(5) binary not null -);" name] - -let sprintf_refRel_format name = [ -sprintf "CREATE TABLE %s ( - source varchar(255) binary not null, - h_position varchar(62) binary not null, - h_depth integer not null -);" name] - -let sprintf_objectName_format name = [ -sprintf "CREATE TABLE %s ( - source varchar(255) binary not null, - value varchar(255) binary not null -);" name] - -let sprintf_hits_format name = [ -sprintf "CREATE TABLE %s ( - source varchar(255) binary not null, - no integer not null -);" name] - -let sprintf_count_format name = [ -sprintf "CREATE TABLE %s ( - source varchar(255) binary unique not null, - conclusion smallint(6) not null, - hypothesis smallint(6) not null, - statement smallint(6) not null -);" name] - -let sprintf_refObj_drop name = [sprintf "DROP TABLE %s;" name] - -let sprintf_refSort_drop name = [sprintf "DROP TABLE %s;" name] - -let sprintf_refRel_drop name = [sprintf "DROP TABLE %s;" name] - -let sprintf_objectName_drop name = [sprintf "DROP TABLE %s;" name] - -let sprintf_hits_drop name = [sprintf "DROP TABLE %s;" name] - -let sprintf_count_drop name = [sprintf "DROP TABLE %s;" name] - -(* INDEXES *) - -let sprintf_refObj_index name = [ -sprintf "CREATE INDEX %s_index ON %s (source(219),h_occurrence(219),h_position);" name name; -sprintf "CREATE INDEX %s_occurrence ON %s (h_occurrence);" name name ] - -let sprintf_refSort_index name = [ -sprintf "CREATE INDEX %s_index ON %s (source,h_sort,h_position,h_depth);" name name] - -let sprintf_objectName_index name = [ -sprintf "CREATE INDEX %s_value ON %s (value);" name name] - -let sprintf_hits_index name = [ -sprintf "CREATE INDEX %s_source ON %s (source);" name name ; -sprintf "CREATE INDEX %s_no ON %s (no);" name name] - -let sprintf_count_index name = [ -sprintf "CREATE INDEX %s_conclusion ON %s (conclusion);" name name; -sprintf "CREATE INDEX %s_hypothesis ON %s (hypothesis);" name name; -sprintf "CREATE INDEX %s_statement ON %s (statement);" name name] - -let sprintf_refRel_index name = [ -sprintf "CREATE INDEX %s_index ON %s (source,h_position,h_depth);" name name] - -let sprintf_refObj_index_drop name = [ -sprintf "DROP INDEX %s_index ON %s;" name name ] - -let sprintf_refSort_index_drop name = [ -sprintf "DROP INDEX %s_index ON %s;" name name ] - -let sprintf_objectName_index_drop name = [ -sprintf "DROP INDEX %s_value ON %s;" name name] - -let sprintf_hits_index_drop name = [ -sprintf "DROP INDEX %s_source ON %s;" name name ; -sprintf "DROP INDEX %s_no ON %s;" name name] - -let sprintf_count_index_drop name = [ -sprintf "DROP INDEX %s_source ON %s;" name name; -sprintf "DROP INDEX %s_conclusion ON %s;" name name; -sprintf "DROP INDEX %s_hypothesis ON %s;" name name; -sprintf "DROP INDEX %s_statement ON %s;" name name] - -let sprintf_refRel_index_drop name = [ -sprintf "DROP INDEX %s_index ON %s;" name name] - -let sprintf_rename_table oldname newname = [ -sprintf "RENAME TABLE %s TO %s;" oldname newname -] - - -(* FUNCTIONS *) - -let get_table_format t named = - match t with - | `RefObj -> sprintf_refObj_format named - | `RefSort -> sprintf_refSort_format named - | `RefRel -> sprintf_refRel_format named - | `ObjectName -> sprintf_objectName_format named - | `Hits -> sprintf_hits_format named - | `Count -> sprintf_count_format named - -let get_index_format t named = - match t with - | `RefObj -> sprintf_refObj_index named - | `RefSort -> sprintf_refSort_index named - | `RefRel -> sprintf_refRel_index named - | `ObjectName -> sprintf_objectName_index named - | `Hits -> sprintf_hits_index named - | `Count -> sprintf_count_index named - -let get_table_drop t named = - match t with - | `RefObj -> sprintf_refObj_drop named - | `RefSort -> sprintf_refSort_drop named - | `RefRel -> sprintf_refRel_drop named - | `ObjectName -> sprintf_objectName_drop named - | `Hits -> sprintf_hits_drop named - | `Count -> sprintf_count_drop named - -let get_index_drop t named = - match t with - | `RefObj -> sprintf_refObj_index_drop named - | `RefSort -> sprintf_refSort_index_drop named - | `RefRel -> sprintf_refRel_index_drop named - | `ObjectName -> sprintf_objectName_index_drop named - | `Hits -> sprintf_hits_index_drop named - | `Count -> sprintf_count_index_drop named - -let create_tables l = - List.fold_left (fun s (name,table) -> s @ get_table_format table name) [] l - -let create_indexes l = - List.fold_left (fun s (name,table) -> s @ get_index_format table name) [] l - -let drop_tables l = - List.fold_left (fun s (name,table) -> s @ get_table_drop table name) [] l - -let drop_indexes l = - List.fold_left (fun s (name,table) -> s @ get_index_drop table name) [] l - -let rename_tables l = - List.fold_left (fun s (o,n) -> s @ sprintf_rename_table o n) [] l - -let fill_hits refObj hits = - [ sprintf - "INSERT INTO %s - SELECT h_occurrence, COUNT(source) - FROM %s - GROUP BY h_occurrence;" - hits refObj ] - - diff --git a/helm/ocaml/metadata/sqlStatements.mli b/helm/ocaml/metadata/sqlStatements.mli deleted file mode 100644 index 9f9af55ef..000000000 --- a/helm/ocaml/metadata/sqlStatements.mli +++ /dev/null @@ -1,45 +0,0 @@ -(* Copyright (C) 2004-2005, 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/ - *) - -(** table shape kinds *) -type tbl = [ `RefObj| `RefSort| `RefRel| `ObjectName| `Hits| `Count] - -(** all functions below return either an SQL statement or a list of SQL - * statements. - * For functions taking as argument (string * tbl) list, the meaning is a list - * of pairs ; where the type specify the desired kind of - * table and name the desired name (e.g. create a `RefObj like table name - * refObj_NEW) *) - -val create_tables: (string * tbl) list -> string list -val create_indexes: (string * tbl) list -> string list -val drop_tables: (string * tbl) list -> string list -val drop_indexes: (string * tbl) list -> string list -val rename_tables: (string * string) list -> string list - -(** @param refObj name of the refObj table - * @param hits name of the hits table *) -val fill_hits: string -> string -> string list - diff --git a/helm/ocaml/metadata/table_creator/.cvsignore b/helm/ocaml/metadata/table_creator/.cvsignore deleted file mode 100644 index acea566bd..000000000 --- a/helm/ocaml/metadata/table_creator/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -*.cm[aiox] -*.cmxa -table_creator -table_creator.opt -table_destructor -table_destructor.opt diff --git a/helm/ocaml/metadata/table_creator/.depend b/helm/ocaml/metadata/table_creator/.depend deleted file mode 100644 index 1cf113d91..000000000 --- a/helm/ocaml/metadata/table_creator/.depend +++ /dev/null @@ -1,4 +0,0 @@ -sql.cmo: sql.cmi -sql.cmx: sql.cmi -table_creator.cmo: sql.cmi -table_creator.cmx: sql.cmx diff --git a/helm/ocaml/metadata/table_creator/Makefile b/helm/ocaml/metadata/table_creator/Makefile deleted file mode 100644 index cb8ab7636..000000000 --- a/helm/ocaml/metadata/table_creator/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -REQUIRES = mysql helm-metadata -OCAMLFIND = ocamlfind - -INTERFACE_FILES = -IMPLEMENTATION_FILES = $(INTERFACE_FILES:%.mli=%.ml) -EXTRA_OBJECTS_TO_INSTALL = -EXTRA_OBJECTS_TO_CLEAN = \ - table_creator table_creator.opt table_destructor table_destructor.opt - -all: table_creator table_destructor -opt: table_creator.opt table_destructor.opt - -table_creator: table_creator.ml ../metadata.cma - $(OCAMLFIND) ocamlc \ - -thread -package mysql,helm-metadata -linkpkg -o $@ $< - -table_destructor: table_creator - ln -f $< $@ - -table_creator.opt: table_creator.ml ../metadata.cmxa - $(OCAMLFIND) ocamlopt \ - -thread -package mysql,helm-metadata -linkpkg -o $@ $< - -table_destructor.opt: table_creator.opt - ln -f $< $@ - -clean: - rm -f *.cm[iox] *.a *.o - rm -f table_creator table_creator.opt table_destructor table_destructor.opt - -include .depend diff --git a/helm/ocaml/metadata/table_creator/sync_db.sh b/helm/ocaml/metadata/table_creator/sync_db.sh deleted file mode 100755 index 7b201382a..000000000 --- a/helm/ocaml/metadata/table_creator/sync_db.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh - -# sync metadata from a source database (usually "mowgli") to a target one -# (usually "matita") -# Created: Fri, 13 May 2005 13:50:16 +0200 zacchiro -# Last-Modified: Fri, 13 May 2005 13:50:16 +0200 zacchiro - -SOURCE_DB="mowgli" -TARGET_DB="matita" -MYSQL_FLAGS="-u helm -h localhost" - -MYSQL="mysql $MYSQL_FLAGS -f" -MYSQLDUMP="mysqldump $MYSQL_FLAGS" -MYSQLRESTORE="mysqlrestore $MYSQL_FLAGS" -TABLES=`./table_creator list all` -DUMP="${SOURCE_DB}_dump.gz" - -echo "Dumping source db $SOURCE_DB ..." -$MYSQLDUMP $SOURCE_DB $TABLES | gzip -c > $DUMP -echo "Destroying old tables in target db $TARGET_DB ..." -./table_destructor table all | $MYSQL $TARGET_DB -echo "Creating table structure in target db $TARGET_DB ..." -echo "Filling target db $TARGET_DB ..." -zcat $DUMP | $MYSQL $TARGET_DB -./table_creator index all | $MYSQL $TARGET_DB -rm $DUMP -echo "Done." - diff --git a/helm/ocaml/metadata/table_creator/table_creator.ml b/helm/ocaml/metadata/table_creator/table_creator.ml deleted file mode 100644 index 423edfb27..000000000 --- a/helm/ocaml/metadata/table_creator/table_creator.ml +++ /dev/null @@ -1,83 +0,0 @@ - -open Printf - -let map = - (MetadataTypes.library_obj_tbl,`RefObj) :: - (MetadataTypes.library_sort_tbl,`RefSort) :: - (MetadataTypes.library_rel_tbl,`RefRel) :: - (MetadataTypes.library_name_tbl,`ObjectName) :: - (MetadataTypes.library_hits_tbl,`Hits) :: - (MetadataTypes.library_count_tbl,`Count) :: [] - -let usage argv_o = - prerr_string "\nusage:"; - prerr_string ("\t" ^ argv_o ^ " what tablename[=rename]\n"); - prerr_string ("\t" ^ argv_o ^ " what all\n\n"); - prerr_endline "what:"; - prerr_endline "\tlist\tlist table names"; - prerr_endline "\ttable\toutput SQL regarding tables"; - prerr_endline "\tindex\toutput SQL regarding indexes"; - prerr_endline "\tfill\toutput SQL filling tables (only \"hits\" supported)\n"; - prerr_string "known tables:\n\t"; - List.iter (fun (n,_) -> prerr_string (" " ^ n)) map; - prerr_endline "\n" - -let eq_RE = Str.regexp "=" - -let parse_args l = - List.map (fun s -> - let parts = Str.split eq_RE s in - let len = List.length parts in - assert (len = 1 || len = 2); - if len = 1 then (s,s) else (List.nth parts 0, List.nth parts 1)) - l - -let destructor_RE = Str.regexp "table_destructor\\(\\|\\.opt\\)$" - -let am_i_destructor () = - try - let _ = Str.search_forward destructor_RE Sys.argv.(0) 0 in true - with Not_found -> false - -let main () = - let len = Array.length Sys.argv in - if len < 3 then - begin - usage Sys.argv.(0); - exit 1 - end - else - begin - let tab,idx,fill = - if am_i_destructor () then - (SqlStatements.drop_tables,SqlStatements.drop_indexes, - fun _ t -> [sprintf "DELETE * FROM %s;" t]) - else - (SqlStatements.create_tables,SqlStatements.create_indexes, - SqlStatements.fill_hits) - in - let from = 2 in - let what = - match Sys.argv.(1) with - | "list" -> `List - | "index" -> `Index - | "table" -> `Table - | "fill" -> `Fill - | _ -> failwith "what must be one of \"index\", \"table\", \"fill\"" - in - let todo = Array.to_list (Array.sub Sys.argv from (len - from)) in - let todo = match todo with ["all"] -> List.map fst map | todo -> todo in - let todo = parse_args todo in - let todo = List.map (fun (x,name) -> name, (List.assoc x map)) todo in - match what with - | `Index -> print_endline (String.concat "\n" (idx todo)) - | `Table -> print_endline (String.concat "\n" (tab todo)) - | `Fill -> - print_endline (String.concat "\n" - (fill MetadataTypes.library_obj_tbl MetadataTypes.library_hits_tbl)) - | `List -> print_endline (String.concat " " (List.map fst map)) - end - -let _ = main () - - diff --git a/helm/ocaml/paramodulation/.cvsignore b/helm/ocaml/paramodulation/.cvsignore deleted file mode 100644 index b85367216..000000000 --- a/helm/ocaml/paramodulation/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -*.cm[iaox] *.cmxa -saturate -saturate.opt diff --git a/helm/ocaml/paramodulation/.depend b/helm/ocaml/paramodulation/.depend deleted file mode 100644 index 8a74093c5..000000000 --- a/helm/ocaml/paramodulation/.depend +++ /dev/null @@ -1,13 +0,0 @@ -inference.cmi: utils.cmi -utils.cmo: utils.cmi -utils.cmx: utils.cmi -inference.cmo: utils.cmi inference.cmi -inference.cmx: utils.cmx inference.cmi -path_indexing.cmo: utils.cmi trie.cmo inference.cmi -path_indexing.cmx: utils.cmx trie.cmx inference.cmx -discrimination_tree.cmo: utils.cmi trie.cmo inference.cmi -discrimination_tree.cmx: utils.cmx trie.cmx inference.cmx -indexing.cmo: utils.cmi inference.cmi discrimination_tree.cmo -indexing.cmx: utils.cmx inference.cmx discrimination_tree.cmx -saturation.cmo: utils.cmi inference.cmi indexing.cmo -saturation.cmx: utils.cmx inference.cmx indexing.cmx diff --git a/helm/ocaml/paramodulation/Makefile b/helm/ocaml/paramodulation/Makefile deleted file mode 100644 index 7a3dbf626..000000000 --- a/helm/ocaml/paramodulation/Makefile +++ /dev/null @@ -1,52 +0,0 @@ -PACKAGE = paramodulation - -REQUIRES = \ - helm-registry \ - helm-cic_transformations \ - helm-tactics \ - helm-cic_disambiguation \ - mysql - -INTERFACE_FILES = \ - utils.mli \ - inference.mli - -IMPLEMENTATION_FILES = $(INTERFACE_FILES:%.mli=%.ml) \ - trie.ml \ - path_indexing.ml \ - discrimination_tree.ml \ - indexing.ml \ - saturation.ml - -# saturate_main.ml -# test_indexing.ml - - -include ../Makefile.common - - -paramodulation.cmo: $(IMPLEMENTATION_FILES:%.ml=%.cmo) - $(OCAMLC) -pack -o $@ $(IMPLEMENTATION_FILES:%.ml=%.cmo) - -paramodulation.cmx: $(IMPLEMENTATION_FILES:%.ml=%.cmx) - $(OCAMLOPT) -pack -o $@ $(IMPLEMENTATION_FILES:%.ml=%.cmx) - - -$(ARCHIVE): paramodulation.cmo $(LIBRARIES) - $(OCAMLC) $(OCAMLARCHIVEOPTIONS) -a -o $@ \ - paramodulation.cmo - -$(ARCHIVE_OPT): paramodulation.cmx $(LIBRARIES_OPT) - $(OCAMLOPT) $(OCAMLARCHIVEOPTIONS) -a -o $@ \ - paramodulation.cmx - -PARAMOD_OBJS = $(IMPLEMENTATION_FILES:%.ml=%.cmo) \ - saturate_main.cmo -PARAMOD_OBJS_OPT = $(IMPLEMENTATION_FILES:%.ml=%.cmx) \ - saturate_main.cmx - -saturate: $(PARAMOD_OBJS) $(LIBRARIES) - $(OCAMLC) -thread -linkpkg -o $@ $(PARAMOD_OBJS) - -saturate.opt: $(PARAMOD_OBJS_OPT) $(LIBRARIES) - $(OCAMLOPT) -thread -linkpkg -o $@ $(PARAMOD_OBJS_OPT) diff --git a/helm/ocaml/paramodulation/README b/helm/ocaml/paramodulation/README deleted file mode 100644 index d7cd0b98d..000000000 --- a/helm/ocaml/paramodulation/README +++ /dev/null @@ -1,21 +0,0 @@ -make saturate per compilare l'eseguibile da riga di comando (make saturate.opt per la versione ottimizzata) - -./saturate -h per vedere una lista di parametri: - -./saturate: unknown option `-h'. -Usage: - -full Enable full mode - -f Enable/disable full-reduction strategy (default: enabled) - -r Weight-Age equality selection ratio (default: 4) - -s symbols-based selection ratio (relative to the weight ratio, default: 0) - -c Configuration file (for the db connection) - -o Term ordering. Possible values are: - kbo: Knuth-Bendix ordering - nr-kbo: Non-recursive variant of kbo (default) - lpo: Lexicographic path ordering - -l Time limit in seconds (default: no limit) - -w Maximal width (default: 3) - -d Maximal depth (default: 3) - -retrieve retrieve only - -help Display this list of options - --help Display this list of options diff --git a/helm/ocaml/paramodulation/discrimination_tree.ml b/helm/ocaml/paramodulation/discrimination_tree.ml deleted file mode 100644 index d73eb9c3a..000000000 --- a/helm/ocaml/paramodulation/discrimination_tree.ml +++ /dev/null @@ -1,303 +0,0 @@ -(* Copyright (C) 2005, 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/. - *) - -type path_string_elem = Cic.term;; -type path_string = path_string_elem list;; - - -(* needed by the retrieve_* functions, to know the arities of the "functions" *) -let arities = Hashtbl.create 11;; - - -let rec path_string_of_term = function - | Cic.Meta _ -> [Cic.Implicit None] - | Cic.Appl ((hd::tl) as l) -> - if not (Hashtbl.mem arities hd) then - Hashtbl.add arities hd (List.length tl); - List.concat (List.map path_string_of_term l) - | term -> [term] -;; - - -let string_of_path_string ps = - String.concat "." (List.map CicPp.ppterm ps) -;; - - -module OrderedPathStringElement = struct - type t = path_string_elem - - let compare = Pervasives.compare -end - -module PSMap = Map.Make(OrderedPathStringElement);; - - -module OrderedPosEquality = struct - type t = Utils.pos * Inference.equality - - let compare = Pervasives.compare -end - -module PosEqSet = Set.Make(OrderedPosEquality);; - - -module DiscriminationTree = Trie.Make(PSMap);; - - -let string_of_discrimination_tree tree = - let rec to_string level = function - | DiscriminationTree.Node (value, map) -> - let s = - match value with - | Some v -> - (String.make (2 * level) ' ') ^ - "{" ^ (String.concat "; " - (List.map - (fun (p, e) -> - "(" ^ (Utils.string_of_pos p) ^ ", " ^ - (Inference.string_of_equality e) ^ ")") - (PosEqSet.elements v))) ^ "}" - | None -> "" - in - let rest = - String.concat "\n" - (PSMap.fold - (fun k v s -> - let ks = CicPp.ppterm k in - let rs = to_string (level+1) v in - ((String.make (2 * level) ' ') ^ ks ^ "\n" ^ rs)::s) - map []) - in - s ^ rest - in - to_string 0 tree -;; - - -let index tree equality = - let _, _, (_, l, r, ordering), _, _ = equality in - let psl = path_string_of_term l - and psr = path_string_of_term r in - let index pos tree ps = - let ps_set = - try DiscriminationTree.find ps tree with Not_found -> PosEqSet.empty in - let tree = - DiscriminationTree.add ps (PosEqSet.add (pos, equality) ps_set) tree in - tree - in - match ordering with - | Utils.Gt -> index Utils.Left tree psl - | Utils.Lt -> index Utils.Right tree psr - | _ -> - let tree = index Utils.Left tree psl in - index Utils.Right tree psr -;; - - -let remove_index tree equality = - let _, _, (_, l, r, ordering), _, _ = equality in - let psl = path_string_of_term l - and psr = path_string_of_term r in - let remove_index pos tree ps = - try - let ps_set = - PosEqSet.remove (pos, equality) (DiscriminationTree.find ps tree) in - if PosEqSet.is_empty ps_set then - DiscriminationTree.remove ps tree - else - DiscriminationTree.add ps ps_set tree - with Not_found -> - tree - in - match ordering with - | Utils.Gt -> remove_index Utils.Left tree psl - | Utils.Lt -> remove_index Utils.Right tree psr - | _ -> - let tree = remove_index Utils.Left tree psl in - remove_index Utils.Right tree psr -;; - - -let in_index tree equality = - let _, _, (_, l, r, ordering), _, _ = equality in - let psl = path_string_of_term l - and psr = path_string_of_term r in - let meta_convertibility = Inference.meta_convertibility_eq equality in - let ok ps = - try - let set = DiscriminationTree.find ps tree in - PosEqSet.exists (fun (p, e) -> meta_convertibility e) set - with Not_found -> - false - in - (ok psl) || (ok psr) -;; - - -let head_of_term = function - | Cic.Appl (hd::tl) -> hd - | term -> term -;; - - -let rec subterm_at_pos pos term = - match pos with - | [] -> term - | index::pos -> - match term with - | Cic.Appl l -> - (try subterm_at_pos pos (List.nth l index) - with Failure _ -> raise Not_found) - | _ -> raise Not_found -;; - - -let rec after_t pos term = - let pos' = - match pos with - | [] -> raise Not_found - | pos -> List.fold_right (fun i r -> if r = [] then [i+1] else i::r) pos [] - in - try - let t = subterm_at_pos pos' term in pos' - with Not_found -> - let pos, _ = - List.fold_right - (fun i (r, b) -> if b then (i::r, true) else (r, true)) pos ([], false) - in - after_t pos term -;; - - -let next_t pos term = - let t = subterm_at_pos pos term in - try - let _ = subterm_at_pos [1] t in - pos @ [1] - with Not_found -> - match pos with - | [] -> [1] - | pos -> after_t pos term -;; - - -let retrieve_generalizations tree term = - let rec retrieve tree term pos = - match tree with - | DiscriminationTree.Node (Some s, _) when pos = [] -> s - | DiscriminationTree.Node (_, map) -> - let res = - try - let hd_term = head_of_term (subterm_at_pos pos term) in - let n = PSMap.find hd_term map in - match n with - | DiscriminationTree.Node (Some s, _) -> s - | DiscriminationTree.Node (None, _) -> - let newpos = try next_t pos term with Not_found -> [] in - retrieve n term newpos - with Not_found -> - PosEqSet.empty - in - try - let n = PSMap.find (Cic.Implicit None) map in - let newpos = try after_t pos term with Not_found -> [-1] in - if newpos = [-1] then - match n with - | DiscriminationTree.Node (Some s, _) -> PosEqSet.union s res - | _ -> res - else - PosEqSet.union res (retrieve n term newpos) - with Not_found -> - res - in - retrieve tree term [] -;; - - -let jump_list = function - | DiscriminationTree.Node (value, map) -> - let rec get n tree = - match tree with - | DiscriminationTree.Node (v, m) -> - if n = 0 then - [tree] - else - PSMap.fold - (fun k v res -> - let a = try Hashtbl.find arities k with Not_found -> 0 in - (get (n-1 + a) v) @ res) m [] - in - PSMap.fold - (fun k v res -> - let arity = try Hashtbl.find arities k with Not_found -> 0 in - (get arity v) @ res) - map [] -;; - - -let retrieve_unifiables tree term = - let rec retrieve tree term pos = - match tree with - | DiscriminationTree.Node (Some s, _) when pos = [] -> s - | DiscriminationTree.Node (_, map) -> - let subterm = - try Some (subterm_at_pos pos term) with Not_found -> None - in - match subterm with - | None -> PosEqSet.empty - | Some (Cic.Meta _) -> - let newpos = try next_t pos term with Not_found -> [] in - let jl = jump_list tree in - List.fold_left - (fun r s -> PosEqSet.union r s) - PosEqSet.empty - (List.map (fun t -> retrieve t term newpos) jl) - | Some subterm -> - let res = - try - let hd_term = head_of_term subterm in - let n = PSMap.find hd_term map in - match n with - | DiscriminationTree.Node (Some s, _) -> s - | DiscriminationTree.Node (None, _) -> - retrieve n term (next_t pos term) - with Not_found -> - PosEqSet.empty - in - try - let n = PSMap.find (Cic.Implicit None) map in - let newpos = try after_t pos term with Not_found -> [-1] in - if newpos = [-1] then - match n with - | DiscriminationTree.Node (Some s, _) -> PosEqSet.union s res - | _ -> res - else - PosEqSet.union res (retrieve n term newpos) - with Not_found -> - res - in - retrieve tree term [] -;; diff --git a/helm/ocaml/paramodulation/indexing.ml b/helm/ocaml/paramodulation/indexing.ml deleted file mode 100644 index c964e3a78..000000000 --- a/helm/ocaml/paramodulation/indexing.ml +++ /dev/null @@ -1,1051 +0,0 @@ -(* Copyright (C) 2005, 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_print = Utils.debug_print;; - - -type retrieval_mode = Matching | Unification;; - - -let print_candidates mode term res = - let _ = - match mode with - | Matching -> - Printf.printf "| candidates Matching %s\n" (CicPp.ppterm term) - | Unification -> - Printf.printf "| candidates Unification %s\n" (CicPp.ppterm term) - in - print_endline - (String.concat "\n" - (List.map - (fun (p, e) -> - Printf.sprintf "| (%s, %s)" (Utils.string_of_pos p) - (Inference.string_of_equality e)) - res)); - print_endline "|"; -;; - - -let indexing_retrieval_time = ref 0.;; - - -let apply_subst = CicMetaSubst.apply_subst - - - -(* -(* NO INDEXING *) -let init_index () = () - -let empty_table () = [] - -let index table equality = - let _, _, (_, l, r, ordering), _, _ = equality in - match ordering with - | Utils.Gt -> (Utils.Left, equality)::table - | Utils.Lt -> (Utils.Right, equality)::table - | _ -> (Utils.Left, equality)::(Utils.Right, equality)::table -;; - -let remove_index table equality = - List.filter (fun (p, e) -> e != equality) table -;; - -let in_index table equality = - List.exists (fun (p, e) -> e == equality) table -;; - -let get_candidates mode table term = table -*) - - -(* -(* PATH INDEXING *) -let init_index () = () - -let empty_table () = - Path_indexing.PSTrie.empty -;; - -let index = Path_indexing.index -and remove_index = Path_indexing.remove_index -and in_index = Path_indexing.in_index;; - -let get_candidates mode trie term = - let t1 = Unix.gettimeofday () in - let res = - let s = - match mode with - | Matching -> Path_indexing.retrieve_generalizations trie term - | Unification -> Path_indexing.retrieve_unifiables trie term -(* Path_indexing.retrieve_all trie term *) - in - Path_indexing.PosEqSet.elements s - in -(* print_candidates mode term res; *) - let t2 = Unix.gettimeofday () in - indexing_retrieval_time := !indexing_retrieval_time +. (t2 -. t1); - res -;; -*) - - -(* DISCRIMINATION TREES *) -let init_index () = - Hashtbl.clear Discrimination_tree.arities; -;; - -let empty_table () = - Discrimination_tree.DiscriminationTree.empty -;; - -let index = Discrimination_tree.index -and remove_index = Discrimination_tree.remove_index -and in_index = Discrimination_tree.in_index;; - -let get_candidates mode tree term = - let t1 = Unix.gettimeofday () in - let res = - let s = - match mode with - | Matching -> Discrimination_tree.retrieve_generalizations tree term - | Unification -> Discrimination_tree.retrieve_unifiables tree term - in - Discrimination_tree.PosEqSet.elements s - in -(* print_candidates mode term res; *) -(* print_endline (Discrimination_tree.string_of_discrimination_tree tree); *) -(* print_newline (); *) - let t2 = Unix.gettimeofday () in - indexing_retrieval_time := !indexing_retrieval_time +. (t2 -. t1); - res -;; - - -let match_unif_time_ok = ref 0.;; -let match_unif_time_no = ref 0.;; - - -(* - finds the first equality in the index that matches "term", of type "termty" - termty can be Implicit if it is not needed. The result (one of the sides of - the equality, actually) should be not greater (wrt the term ordering) than - term -*) -let rec find_matches metasenv context ugraph lift_amount term termty = - let module C = Cic in - let module U = Utils in - let module S = CicSubstitution in - let module M = CicMetaSubst in - let module HL = HelmLibraryObjects in - let cmp = !Utils.compare_terms in - let check = match termty with C.Implicit None -> false | _ -> true in - function - | [] -> None - | candidate::tl -> - let pos, (_, proof, (ty, left, right, o), metas, args) = candidate in - if check && not (fst (CicReduction.are_convertible - ~metasenv context termty ty ugraph)) then ( - find_matches metasenv context ugraph lift_amount term termty tl - ) else - let do_match c eq_URI = - let subst', metasenv', ugraph' = - let t1 = Unix.gettimeofday () in - try - let r = - Inference.matching (metasenv @ metas) context - term (S.lift lift_amount c) ugraph in - let t2 = Unix.gettimeofday () in - match_unif_time_ok := !match_unif_time_ok +. (t2 -. t1); - r - with Inference.MatchingFailure as e -> - let t2 = Unix.gettimeofday () in - match_unif_time_no := !match_unif_time_no +. (t2 -. t1); - raise e - in - Some (C.Rel (1 + lift_amount), subst', metasenv', ugraph', - (candidate, eq_URI)) - in - let c, other, eq_URI = - if pos = Utils.Left then left, right, Utils.eq_ind_URI () - else right, left, Utils.eq_ind_r_URI () - in - if o <> U.Incomparable then - try - do_match c eq_URI - with Inference.MatchingFailure -> - find_matches metasenv context ugraph lift_amount term termty tl - else - let res = - try do_match c eq_URI - with Inference.MatchingFailure -> None - in - match res with - | Some (_, s, _, _, _) -> - let c' = apply_subst s c - and other' = apply_subst s other in - let order = cmp c' other' in - let names = U.names_of_context context in - if order = U.Gt then - res - else - find_matches - metasenv context ugraph lift_amount term termty tl - | None -> - find_matches metasenv context ugraph lift_amount term termty tl -;; - - -(* - as above, but finds all the matching equalities, and the matching condition - can be either Inference.matching or Inference.unification -*) -let rec find_all_matches ?(unif_fun=Inference.unification) - metasenv context ugraph lift_amount term termty = - let module C = Cic in - let module U = Utils in - let module S = CicSubstitution in - let module M = CicMetaSubst in - let module HL = HelmLibraryObjects in - let cmp = !Utils.compare_terms in - function - | [] -> [] - | candidate::tl -> - let pos, (_, _, (ty, left, right, o), metas, args) = candidate in - let do_match c eq_URI = - let subst', metasenv', ugraph' = - let t1 = Unix.gettimeofday () in - try - let r = - unif_fun (metasenv @ metas) context - term (S.lift lift_amount c) ugraph in - let t2 = Unix.gettimeofday () in - match_unif_time_ok := !match_unif_time_ok +. (t2 -. t1); - r - with - | Inference.MatchingFailure - | CicUnification.UnificationFailure _ - | CicUnification.Uncertain _ as e -> - let t2 = Unix.gettimeofday () in - match_unif_time_no := !match_unif_time_no +. (t2 -. t1); - raise e - in - (C.Rel (1 + lift_amount), subst', metasenv', ugraph', - (candidate, eq_URI)) - in - let c, other, eq_URI = - if pos = Utils.Left then left, right, Utils.eq_ind_URI () - else right, left, Utils.eq_ind_r_URI () - in - if o <> U.Incomparable then - try - let res = do_match c eq_URI in - res::(find_all_matches ~unif_fun metasenv context ugraph - lift_amount term termty tl) - with - | Inference.MatchingFailure - | CicUnification.UnificationFailure _ - | CicUnification.Uncertain _ -> - find_all_matches ~unif_fun metasenv context ugraph - lift_amount term termty tl - else - try - let res = do_match c eq_URI in - match res with - | _, s, _, _, _ -> - let c' = apply_subst s c - and other' = apply_subst s other in - let order = cmp c' other' in - let names = U.names_of_context context in - if order <> U.Lt && order <> U.Le then - res::(find_all_matches ~unif_fun metasenv context ugraph - lift_amount term termty tl) - else - find_all_matches ~unif_fun metasenv context ugraph - lift_amount term termty tl - with - | Inference.MatchingFailure - | CicUnification.UnificationFailure _ - | CicUnification.Uncertain _ -> - find_all_matches ~unif_fun metasenv context ugraph - lift_amount term termty tl -;; - - -(* - returns true if target is subsumed by some equality in table -*) -let subsumption env table target = - let _, _, (ty, left, right, _), tmetas, _ = target in - let metasenv, context, ugraph = env in - let metasenv = metasenv @ tmetas in - let samesubst subst subst' = - let tbl = Hashtbl.create (List.length subst) in - List.iter (fun (m, (c, t1, t2)) -> Hashtbl.add tbl m (c, t1, t2)) subst; - List.for_all - (fun (m, (c, t1, t2)) -> - try - let c', t1', t2' = Hashtbl.find tbl m in - if (c = c') && (t1 = t1') && (t2 = t2') then true - else false - with Not_found -> - true) - subst' - in - let leftr = - match left with - | Cic.Meta _ -> [] - | _ -> - let leftc = get_candidates Matching table left in - find_all_matches ~unif_fun:Inference.matching - metasenv context ugraph 0 left ty leftc - in - let rec ok what = function - | [] -> false, [] - | (_, subst, menv, ug, ((pos, (_, _, (_, l, r, o), m, _)), _))::tl -> - try - let other = if pos = Utils.Left then r else l in - let subst', menv', ug' = - let t1 = Unix.gettimeofday () in - try - let r = - Inference.matching (metasenv @ menv @ m) context what other ugraph - in - let t2 = Unix.gettimeofday () in - match_unif_time_ok := !match_unif_time_ok +. (t2 -. t1); - r - with Inference.MatchingFailure as e -> - let t2 = Unix.gettimeofday () in - match_unif_time_no := !match_unif_time_no +. (t2 -. t1); - raise e - in - if samesubst subst subst' then - true, subst - else - ok what tl - with Inference.MatchingFailure -> - ok what tl - in - let r, subst = ok right leftr in - let r, s = - if r then - true, subst - else - let rightr = - match right with - | Cic.Meta _ -> [] - | _ -> - let rightc = get_candidates Matching table right in - find_all_matches ~unif_fun:Inference.matching - metasenv context ugraph 0 right ty rightc - in - ok left rightr - in - (if r then - debug_print - (lazy - (Printf.sprintf "SUBSUMPTION! %s\n%s\n" - (Inference.string_of_equality target) (Utils.print_subst s)))); - r, s -;; - - -let rec demodulation_aux ?(typecheck=false) - metasenv context ugraph table lift_amount term = - let module C = Cic in - let module S = CicSubstitution in - let module M = CicMetaSubst in - let module HL = HelmLibraryObjects in - let candidates = get_candidates Matching table term in - match term with - | C.Meta _ -> None - | term -> - let termty, ugraph = - if typecheck then - CicTypeChecker.type_of_aux' metasenv context term ugraph - else - C.Implicit None, ugraph - in - let res = - find_matches metasenv context ugraph lift_amount term termty candidates - in - if res <> None then - res - else - match term with - | C.Appl l -> - let res, ll = - List.fold_left - (fun (res, tl) t -> - if res <> None then - (res, tl @ [S.lift 1 t]) - else - let r = - demodulation_aux metasenv context ugraph table - lift_amount t - in - match r with - | None -> (None, tl @ [S.lift 1 t]) - | Some (rel, _, _, _, _) -> (r, tl @ [rel])) - (None, []) l - in ( - match res with - | None -> None - | Some (_, subst, menv, ug, eq_found) -> - Some (C.Appl ll, subst, menv, ug, eq_found) - ) - | C.Prod (nn, s, t) -> - let r1 = - demodulation_aux metasenv context ugraph table lift_amount s in ( - match r1 with - | None -> - let r2 = - demodulation_aux metasenv - ((Some (nn, C.Decl s))::context) ugraph - table (lift_amount+1) t - in ( - match r2 with - | None -> None - | Some (t', subst, menv, ug, eq_found) -> - Some (C.Prod (nn, (S.lift 1 s), t'), - subst, menv, ug, eq_found) - ) - | Some (s', subst, menv, ug, eq_found) -> - Some (C.Prod (nn, s', (S.lift 1 t)), - subst, menv, ug, eq_found) - ) - | C.Lambda (nn, s, t) -> - let r1 = - demodulation_aux metasenv context ugraph table lift_amount s in ( - match r1 with - | None -> - let r2 = - demodulation_aux metasenv - ((Some (nn, C.Decl s))::context) ugraph - table (lift_amount+1) t - in ( - match r2 with - | None -> None - | Some (t', subst, menv, ug, eq_found) -> - Some (C.Lambda (nn, (S.lift 1 s), t'), - subst, menv, ug, eq_found) - ) - | Some (s', subst, menv, ug, eq_found) -> - Some (C.Lambda (nn, s', (S.lift 1 t)), - subst, menv, ug, eq_found) - ) - | t -> - None -;; - - -let build_newtarget_time = ref 0.;; - - -let demod_counter = ref 1;; - -(** demodulation, when target is an equality *) -let rec demodulation_equality newmeta env table sign target = - let module C = Cic in - let module S = CicSubstitution in - let module M = CicMetaSubst in - let module HL = HelmLibraryObjects in - let metasenv, context, ugraph = env in - let _, proof, (eq_ty, left, right, order), metas, args = target in - let metasenv' = metasenv @ metas in - - let maxmeta = ref newmeta in - - let build_newtarget is_left (t, subst, menv, ug, (eq_found, eq_URI)) = - let time1 = Unix.gettimeofday () in - - let pos, (_, proof', (ty, what, other, _), menv', args') = eq_found in - let ty = - try fst (CicTypeChecker.type_of_aux' metasenv context what ugraph) - with CicUtil.Meta_not_found _ -> ty - in - let what, other = if pos = Utils.Left then what, other else other, what in - let newterm, newproof = - let bo = apply_subst subst (S.subst other t) in - let name = C.Name ("x_Demod_" ^ (string_of_int !demod_counter)) in - incr demod_counter; - let bo' = - let l, r = if is_left then t, S.lift 1 right else S.lift 1 left, t in - C.Appl [C.MutInd (LibraryObjects.eq_URI (), 0, []); - S.lift 1 eq_ty; l; r] - in - if sign = Utils.Positive then - (bo, - Inference.ProofBlock ( - subst, eq_URI, (name, ty), bo'(* t' *), eq_found, proof)) - else - let metaproof = - incr maxmeta; - let irl = - CicMkImplicit.identity_relocation_list_for_metavariable context in - debug_print (lazy (Printf.sprintf "\nADDING META: %d\n" !maxmeta)); - print_newline (); - C.Meta (!maxmeta, irl) - in - let eq_found = - let proof' = - let termlist = - if pos = Utils.Left then [ty; what; other] - else [ty; other; what] - in - Inference.ProofSymBlock (termlist, proof') - in - let what, other = - if pos = Utils.Left then what, other else other, what - in - pos, (0, proof', (ty, other, what, Utils.Incomparable), - menv', args') - in - let target_proof = - let pb = - Inference.ProofBlock (subst, eq_URI, (name, ty), bo', - eq_found, Inference.BasicProof metaproof) - in - match proof with - | Inference.BasicProof _ -> - print_endline "replacing a BasicProof"; - pb - | Inference.ProofGoalBlock (_, parent_proof) -> - print_endline "replacing another ProofGoalBlock"; - Inference.ProofGoalBlock (pb, parent_proof) - | _ -> assert false - in - let refl = - C.Appl [C.MutConstruct (* reflexivity *) - (LibraryObjects.eq_URI (), 0, 1, []); - eq_ty; if is_left then right else left] - in - (bo, - Inference.ProofGoalBlock (Inference.BasicProof refl, target_proof)) - in - let left, right = if is_left then newterm, right else left, newterm in - let m = (Inference.metas_of_term left) @ (Inference.metas_of_term right) in - let newmetasenv = List.filter (fun (i, _, _) -> List.mem i m) metas - and newargs = args - in - let ordering = !Utils.compare_terms left right in - - let time2 = Unix.gettimeofday () in - build_newtarget_time := !build_newtarget_time +. (time2 -. time1); - - let res = - let w = Utils.compute_equality_weight eq_ty left right in - (w, newproof, (eq_ty, left, right, ordering), newmetasenv, newargs) - in - !maxmeta, res - in - let res = demodulation_aux metasenv' context ugraph table 0 left in - let newmeta, newtarget = - match res with - | Some t -> - let newmeta, newtarget = build_newtarget true t in - if (Inference.is_identity (metasenv', context, ugraph) newtarget) || - (Inference.meta_convertibility_eq target newtarget) then - newmeta, newtarget - else - demodulation_equality newmeta env table sign newtarget - | None -> - let res = demodulation_aux metasenv' context ugraph table 0 right in - match res with - | Some t -> - let newmeta, newtarget = build_newtarget false t in - if (Inference.is_identity (metasenv', context, ugraph) newtarget) || - (Inference.meta_convertibility_eq target newtarget) then - newmeta, newtarget - else - demodulation_equality newmeta env table sign newtarget - | None -> - newmeta, target - in - (* newmeta, newtarget *) - (* tentiamo di ridurre usando CicReduction.normalize *) - let w, p, (ty, left, right, o), m, a = newtarget in - let left' = ProofEngineReduction.simpl context left in - let right' = ProofEngineReduction.simpl context right in - let newleft = - if !Utils.compare_terms left' left = Utils.Lt then left' else left in - let newright = - if !Utils.compare_terms right' right = Utils.Lt then right' else right in - if newleft != left || newright != right then ( - debug_print - (lazy - (Printf.sprintf "left: %s, left': %s\nright: %s, right': %s\n" - (CicPp.ppterm left) (CicPp.ppterm left') (CicPp.ppterm right) - (CicPp.ppterm right'))) - ); - let w' = Utils.compute_equality_weight ty newleft newright in - let o' = !Utils.compare_terms newleft newright in - newmeta, (w', p, (ty, newleft, newright, o'), m, a) -;; - - -(** - Performs the beta expansion of the term "term" w.r.t. "table", - i.e. returns the list of all the terms t s.t. "(t term) = t2", for some t2 - in table. -*) -let rec betaexpand_term metasenv context ugraph table lift_amount term = - let module C = Cic in - let module S = CicSubstitution in - let module M = CicMetaSubst in - let module HL = HelmLibraryObjects in - let candidates = get_candidates Unification table term in - let res, lifted_term = - match term with - | C.Meta (i, l) -> - let l', lifted_l = - List.fold_right - (fun arg (res, lifted_tl) -> - match arg with - | Some arg -> - let arg_res, lifted_arg = - betaexpand_term metasenv context ugraph table - lift_amount arg in - let l1 = - List.map - (fun (t, s, m, ug, eq_found) -> - (Some t)::lifted_tl, s, m, ug, eq_found) - arg_res - in - (l1 @ - (List.map - (fun (l, s, m, ug, eq_found) -> - (Some lifted_arg)::l, s, m, ug, eq_found) - res), - (Some lifted_arg)::lifted_tl) - | None -> - (List.map - (fun (r, s, m, ug, eq_found) -> - None::r, s, m, ug, eq_found) res, - None::lifted_tl) - ) l ([], []) - in - let e = - List.map - (fun (l, s, m, ug, eq_found) -> - (C.Meta (i, l), s, m, ug, eq_found)) l' - in - e, C.Meta (i, lifted_l) - - | C.Rel m -> - [], if m <= lift_amount then C.Rel m else C.Rel (m+1) - - | C.Prod (nn, s, t) -> - let l1, lifted_s = - betaexpand_term metasenv context ugraph table lift_amount s in - let l2, lifted_t = - betaexpand_term metasenv ((Some (nn, C.Decl s))::context) ugraph - table (lift_amount+1) t in - let l1' = - List.map - (fun (t, s, m, ug, eq_found) -> - C.Prod (nn, t, lifted_t), s, m, ug, eq_found) l1 - and l2' = - List.map - (fun (t, s, m, ug, eq_found) -> - C.Prod (nn, lifted_s, t), s, m, ug, eq_found) l2 in - l1' @ l2', C.Prod (nn, lifted_s, lifted_t) - - | C.Lambda (nn, s, t) -> - let l1, lifted_s = - betaexpand_term metasenv context ugraph table lift_amount s in - let l2, lifted_t = - betaexpand_term metasenv ((Some (nn, C.Decl s))::context) ugraph - table (lift_amount+1) t in - let l1' = - List.map - (fun (t, s, m, ug, eq_found) -> - C.Lambda (nn, t, lifted_t), s, m, ug, eq_found) l1 - and l2' = - List.map - (fun (t, s, m, ug, eq_found) -> - C.Lambda (nn, lifted_s, t), s, m, ug, eq_found) l2 in - l1' @ l2', C.Lambda (nn, lifted_s, lifted_t) - - | C.Appl l -> - let l', lifted_l = - List.fold_right - (fun arg (res, lifted_tl) -> - let arg_res, lifted_arg = - betaexpand_term metasenv context ugraph table lift_amount arg - in - let l1 = - List.map - (fun (a, s, m, ug, eq_found) -> - a::lifted_tl, s, m, ug, eq_found) - arg_res - in - (l1 @ - (List.map - (fun (r, s, m, ug, eq_found) -> - lifted_arg::r, s, m, ug, eq_found) - res), - lifted_arg::lifted_tl) - ) l ([], []) - in - (List.map - (fun (l, s, m, ug, eq_found) -> (C.Appl l, s, m, ug, eq_found)) l', - C.Appl lifted_l) - - | t -> [], (S.lift lift_amount t) - in - match term with - | C.Meta (i, l) -> res, lifted_term - | term -> - let termty, ugraph = - C.Implicit None, ugraph -(* CicTypeChecker.type_of_aux' metasenv context term ugraph *) - in - let r = - find_all_matches - metasenv context ugraph lift_amount term termty candidates - in - r @ res, lifted_term -;; - - -let sup_l_counter = ref 1;; - -(** - superposition_left - returns a list of new clauses inferred with a left superposition step - the negative equation "target" and one of the positive equations in "table" -*) -let superposition_left newmeta (metasenv, context, ugraph) table target = - let module C = Cic in - let module S = CicSubstitution in - let module M = CicMetaSubst in - let module HL = HelmLibraryObjects in - let module CR = CicReduction in - let module U = Utils in - let weight, proof, (eq_ty, left, right, ordering), _, _ = target in - let expansions, _ = - let term = if ordering = U.Gt then left else right in - betaexpand_term metasenv context ugraph table 0 term - in - let maxmeta = ref newmeta in - let build_new (bo, s, m, ug, (eq_found, eq_URI)) = - - debug_print (lazy "\nSUPERPOSITION LEFT\n"); - - let time1 = Unix.gettimeofday () in - - let pos, (_, proof', (ty, what, other, _), menv', args') = eq_found in - let what, other = if pos = Utils.Left then what, other else other, what in - let newgoal, newproof = - let bo' = apply_subst s (S.subst other bo) in - let name = C.Name ("x_SupL_" ^ (string_of_int !sup_l_counter)) in - incr sup_l_counter; - let bo'' = - let l, r = - if ordering = U.Gt then bo, S.lift 1 right else S.lift 1 left, bo in - C.Appl [C.MutInd (LibraryObjects.eq_URI (), 0, []); - S.lift 1 eq_ty; l; r] - in - incr maxmeta; - let metaproof = - let irl = - CicMkImplicit.identity_relocation_list_for_metavariable context in - C.Meta (!maxmeta, irl) - in - let eq_found = - let proof' = - let termlist = - if pos = Utils.Left then [ty; what; other] - else [ty; other; what] - in - Inference.ProofSymBlock (termlist, proof') - in - let what, other = - if pos = Utils.Left then what, other else other, what - in - pos, (0, proof', (ty, other, what, Utils.Incomparable), menv', args') - in - let target_proof = - let pb = - Inference.ProofBlock (s, eq_URI, (name, ty), bo'', eq_found, - Inference.BasicProof metaproof) - in - match proof with - | Inference.BasicProof _ -> - debug_print (lazy "replacing a BasicProof"); - pb - | Inference.ProofGoalBlock (_, parent_proof) -> - debug_print (lazy "replacing another ProofGoalBlock"); - Inference.ProofGoalBlock (pb, parent_proof) - | _ -> assert false - in - let refl = - C.Appl [C.MutConstruct (* reflexivity *) - (LibraryObjects.eq_URI (), 0, 1, []); - eq_ty; if ordering = U.Gt then right else left] - in - (bo', - Inference.ProofGoalBlock (Inference.BasicProof refl, target_proof)) - in - let left, right = - if ordering = U.Gt then newgoal, right else left, newgoal in - let neworder = !Utils.compare_terms left right in - - let time2 = Unix.gettimeofday () in - build_newtarget_time := !build_newtarget_time +. (time2 -. time1); - - let res = - let w = Utils.compute_equality_weight eq_ty left right in - (w, newproof, (eq_ty, left, right, neworder), [], []) - in - res - in - !maxmeta, List.map build_new expansions -;; - - -let sup_r_counter = ref 1;; - -(** - superposition_right - returns a list of new clauses inferred with a right superposition step - between the positive equation "target" and one in the "table" "newmeta" is - the first free meta index, i.e. the first number above the highest meta - index: its updated value is also returned -*) -let superposition_right newmeta (metasenv, context, ugraph) table target = - let module C = Cic in - let module S = CicSubstitution in - let module M = CicMetaSubst in - let module HL = HelmLibraryObjects in - let module CR = CicReduction in - let module U = Utils in - let _, eqproof, (eq_ty, left, right, ordering), newmetas, args = target in - let metasenv' = metasenv @ newmetas in - let maxmeta = ref newmeta in - let res1, res2 = - match ordering with - | U.Gt -> fst (betaexpand_term metasenv' context ugraph table 0 left), [] - | U.Lt -> [], fst (betaexpand_term metasenv' context ugraph table 0 right) - | _ -> - let res l r = - List.filter - (fun (_, subst, _, _, _) -> - let subst = apply_subst subst in - let o = !Utils.compare_terms (subst l) (subst r) in - o <> U.Lt && o <> U.Le) - (fst (betaexpand_term metasenv' context ugraph table 0 l)) - in - (res left right), (res right left) - in - let build_new ordering (bo, s, m, ug, (eq_found, eq_URI)) = - - let time1 = Unix.gettimeofday () in - - let pos, (_, proof', (ty, what, other, _), menv', args') = eq_found in - let what, other = if pos = Utils.Left then what, other else other, what in - let newgoal, newproof = - let bo' = apply_subst s (S.subst other bo) in - let t' = - let name = C.Name ("x_SupR_" ^ (string_of_int !sup_r_counter)) in - incr sup_r_counter; - let l, r = - if ordering = U.Gt then bo, S.lift 1 right else S.lift 1 left, bo in - (name, ty, S.lift 1 eq_ty, l, r) - in - let name = C.Name ("x_SupR_" ^ (string_of_int !sup_r_counter)) in - incr sup_r_counter; - let bo'' = - let l, r = - if ordering = U.Gt then bo, S.lift 1 right else S.lift 1 left, bo in - C.Appl [C.MutInd (LibraryObjects.eq_URI (), 0, []); - S.lift 1 eq_ty; l; r] - in - bo', - Inference.ProofBlock (s, eq_URI, (name, ty), bo'', eq_found, eqproof) - in - let newmeta, newequality = - let left, right = - if ordering = U.Gt then newgoal, apply_subst s right - else apply_subst s left, newgoal in - let neworder = !Utils.compare_terms left right - and newmenv = newmetas @ menv' - and newargs = args @ args' in - let eq' = - let w = Utils.compute_equality_weight eq_ty left right in - (w, newproof, (eq_ty, left, right, neworder), newmenv, newargs) - and env = (metasenv, context, ugraph) in - let newm, eq' = Inference.fix_metas !maxmeta eq' in - newm, eq' - in - maxmeta := newmeta; - - let time2 = Unix.gettimeofday () in - build_newtarget_time := !build_newtarget_time +. (time2 -. time1); - - newequality - in - let new1 = List.map (build_new U.Gt) res1 - and new2 = List.map (build_new U.Lt) res2 in - let ok e = not (Inference.is_identity (metasenv, context, ugraph) e) in - (!maxmeta, - (List.filter ok (new1 @ new2))) -;; - - -(** demodulation, when the target is a goal *) -let rec demodulation_goal newmeta env table goal = - let module C = Cic in - let module S = CicSubstitution in - let module M = CicMetaSubst in - let module HL = HelmLibraryObjects in - let metasenv, context, ugraph = env in - let maxmeta = ref newmeta in - let proof, metas, term = goal in - let metasenv' = metasenv @ metas in - - let build_newgoal (t, subst, menv, ug, (eq_found, eq_URI)) = - let pos, (_, proof', (ty, what, other, _), menv', args') = eq_found in - let what, other = if pos = Utils.Left then what, other else other, what in - let ty = - try fst (CicTypeChecker.type_of_aux' metasenv context what ugraph) - with CicUtil.Meta_not_found _ -> ty - in - let newterm, newproof = - let bo = apply_subst subst (S.subst other t) in - let bo' = apply_subst subst t in - let name = C.Name ("x_DemodGoal_" ^ (string_of_int !demod_counter)) in - incr demod_counter; - let metaproof = - incr maxmeta; - let irl = - CicMkImplicit.identity_relocation_list_for_metavariable context in - debug_print (lazy (Printf.sprintf "\nADDING META: %d\n" !maxmeta)); - C.Meta (!maxmeta, irl) - in - let eq_found = - let proof' = - let termlist = - if pos = Utils.Left then [ty; what; other] - else [ty; other; what] - in - Inference.ProofSymBlock (termlist, proof') - in - let what, other = - if pos = Utils.Left then what, other else other, what - in - pos, (0, proof', (ty, other, what, Utils.Incomparable), menv', args') - in - let goal_proof = - let pb = - Inference.ProofBlock (subst, eq_URI, (name, ty), bo', - eq_found, Inference.BasicProof metaproof) - in - let rec repl = function - | Inference.NoProof -> - debug_print (lazy "replacing a NoProof"); - pb - | Inference.BasicProof _ -> - debug_print (lazy "replacing a BasicProof"); - pb - | Inference.ProofGoalBlock (_, parent_proof) -> - debug_print (lazy "replacing another ProofGoalBlock"); - Inference.ProofGoalBlock (pb, parent_proof) - | (Inference.SubProof (term, meta_index, p) as subproof) -> - debug_print - (lazy - (Printf.sprintf "replacing %s" - (Inference.string_of_proof subproof))); - Inference.SubProof (term, meta_index, repl p) - | _ -> assert false - in repl proof - in - bo, Inference.ProofGoalBlock (Inference.NoProof, goal_proof) - in - let m = Inference.metas_of_term newterm in - let newmetasenv = List.filter (fun (i, _, _) -> List.mem i m) metas in - !maxmeta, (newproof, newmetasenv, newterm) - in - let res = - demodulation_aux ~typecheck:true metasenv' context ugraph table 0 term - in - match res with - | Some t -> - let newmeta, newgoal = build_newgoal t in - let _, _, newg = newgoal in - if Inference.meta_convertibility term newg then - newmeta, newgoal - else - demodulation_goal newmeta env table newgoal - | None -> - newmeta, goal -;; - - -(** demodulation, when the target is a theorem *) -let rec demodulation_theorem newmeta env table theorem = - let module C = Cic in - let module S = CicSubstitution in - let module M = CicMetaSubst in - let module HL = HelmLibraryObjects in - let metasenv, context, ugraph = env in - let maxmeta = ref newmeta in - let proof, metas, term = theorem in - let term, termty, metas = theorem in - let metasenv' = metasenv @ metas in - - let build_newtheorem (t, subst, menv, ug, (eq_found, eq_URI)) = - let pos, (_, proof', (ty, what, other, _), menv', args') = eq_found in - let what, other = if pos = Utils.Left then what, other else other, what in - let newterm, newty = - let bo = apply_subst subst (S.subst other t) in - let bo' = apply_subst subst t in - let name = C.Name ("x_DemodThm_" ^ (string_of_int !demod_counter)) in - incr demod_counter; - let newproof = - Inference.ProofBlock (subst, eq_URI, (name, ty), bo', eq_found, - Inference.BasicProof term) - in - (Inference.build_proof_term newproof, bo) - in - let m = Inference.metas_of_term newterm in - let newmetasenv = List.filter (fun (i, _, _) -> List.mem i m) metas in - !maxmeta, (newterm, newty, newmetasenv) - in - let res = - demodulation_aux ~typecheck:true metasenv' context ugraph table 0 termty - in - match res with - | Some t -> - let newmeta, newthm = build_newtheorem t in - let newt, newty, _ = newthm in - if Inference.meta_convertibility termty newty then - newmeta, newthm - else - demodulation_theorem newmeta env table newthm - | None -> - newmeta, theorem -;; diff --git a/helm/ocaml/paramodulation/inference.ml b/helm/ocaml/paramodulation/inference.ml deleted file mode 100644 index 105b708e9..000000000 --- a/helm/ocaml/paramodulation/inference.ml +++ /dev/null @@ -1,924 +0,0 @@ -(* Copyright (C) 2005, 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 Utils;; - - -type equality = - int * (* weight *) - proof * - (Cic.term * (* type *) - Cic.term * (* left side *) - Cic.term * (* right side *) - Utils.comparison) * (* ordering *) - Cic.metasenv * (* environment for metas *) - Cic.term list (* arguments *) - -and proof = - | NoProof - | BasicProof of Cic.term - | ProofBlock of - Cic.substitution * UriManager.uri * - (Cic.name * Cic.term) * Cic.term * (Utils.pos * equality) * proof - | ProofGoalBlock of proof * proof - | ProofSymBlock of Cic.term list * proof - | SubProof of Cic.term * int * proof -;; - - -let string_of_equality ?env = - match env with - | None -> ( - function - | w, _, (ty, left, right, o), _, _ -> - Printf.sprintf "Weight: %d, {%s}: %s =(%s) %s" w (CicPp.ppterm ty) - (CicPp.ppterm left) (string_of_comparison o) (CicPp.ppterm right) - ) - | Some (_, context, _) -> ( - let names = names_of_context context in - function - | w, _, (ty, left, right, o), _, _ -> - Printf.sprintf "Weight: %d, {%s}: %s =(%s) %s" w (CicPp.pp ty names) - (CicPp.pp left names) (string_of_comparison o) - (CicPp.pp right names) - ) -;; - - -let rec string_of_proof = function - | NoProof -> "NoProof" - | BasicProof t -> "BasicProof " ^ (CicPp.ppterm t) - | SubProof (t, i, p) -> - Printf.sprintf "SubProof(%s, %s, %s)" - (CicPp.ppterm t) (string_of_int i) (string_of_proof p) - | ProofSymBlock _ -> "ProofSymBlock" - | ProofBlock _ -> "ProofBlock" - | ProofGoalBlock (p1, p2) -> - Printf.sprintf "ProofGoalBlock(%s, %s)" - (string_of_proof p1) (string_of_proof p2) -;; - - -(* returns an explicit named subst and a list of arguments for sym_eq_URI *) -let build_ens_for_sym_eq sym_eq_URI termlist = - let obj, _ = CicEnvironment.get_obj CicUniv.empty_ugraph sym_eq_URI in - match obj with - | Cic.Constant (_, _, _, uris, _) -> - assert (List.length uris <= List.length termlist); - let rec aux = function - | [], tl -> [], tl - | (uri::uris), (term::tl) -> - let ens, args = aux (uris, tl) in - (uri, term)::ens, args - | _, _ -> assert false - in - aux (uris, termlist) - | _ -> assert false -;; - - -let build_proof_term proof = - let rec do_build_proof proof = - match proof with - | NoProof -> - Printf.fprintf stderr "WARNING: no proof!\n"; - Cic.Implicit None - | BasicProof term -> term - | ProofGoalBlock (proofbit, proof) -> - print_endline "found ProofGoalBlock, going up..."; - do_build_goal_proof proofbit proof - | ProofSymBlock (termlist, proof) -> - let proof = do_build_proof proof in - let ens, args = build_ens_for_sym_eq (Utils.sym_eq_URI ()) termlist in - Cic.Appl ([Cic.Const (Utils.sym_eq_URI (), ens)] @ args @ [proof]) - | ProofBlock (subst, eq_URI, (name, ty), bo, (pos, eq), eqproof) -> - let t' = Cic.Lambda (name, ty, bo) in - let proof' = - let _, proof', _, _, _ = eq in - do_build_proof proof' - in - let eqproof = do_build_proof eqproof in - let _, _, (ty, what, other, _), menv', args' = eq in - let what, other = - if pos = Utils.Left then what, other else other, what - in - CicMetaSubst.apply_subst subst - (Cic.Appl [Cic.Const (eq_URI, []); ty; - what; t'; eqproof; other; proof']) - | SubProof (term, meta_index, proof) -> - let proof = do_build_proof proof in - let eq i = function - | Cic.Meta (j, _) -> i = j - | _ -> false - in - ProofEngineReduction.replace - ~equality:eq ~what:[meta_index] ~with_what:[proof] ~where:term - - and do_build_goal_proof proofbit proof = - match proof with - | ProofGoalBlock (pb, p) -> - do_build_proof (ProofGoalBlock (replace_proof proofbit pb, p)) - | _ -> do_build_proof (replace_proof proofbit proof) - - and replace_proof newproof = function - | ProofBlock (subst, eq_URI, namety, bo, poseq, eqproof) -> - let eqproof' = replace_proof newproof eqproof in - ProofBlock (subst, eq_URI, namety, bo, poseq, eqproof') - | ProofGoalBlock (pb, p) -> - let pb' = replace_proof newproof pb in - ProofGoalBlock (pb', p) - | BasicProof _ -> newproof - | SubProof (term, meta_index, p) -> - SubProof (term, meta_index, replace_proof newproof p) - | p -> p - in - do_build_proof proof -;; - - -let rec metas_of_term = function - | Cic.Meta (i, c) -> [i] - | Cic.Var (_, ens) - | Cic.Const (_, ens) - | Cic.MutInd (_, _, ens) - | Cic.MutConstruct (_, _, _, ens) -> - List.flatten (List.map (fun (u, t) -> metas_of_term t) ens) - | Cic.Cast (s, t) - | Cic.Prod (_, s, t) - | Cic.Lambda (_, s, t) - | Cic.LetIn (_, s, t) -> (metas_of_term s) @ (metas_of_term t) - | Cic.Appl l -> List.flatten (List.map metas_of_term l) - | Cic.MutCase (uri, i, s, t, l) -> - (metas_of_term s) @ (metas_of_term t) @ - (List.flatten (List.map metas_of_term l)) - | Cic.Fix (i, il) -> - List.flatten - (List.map (fun (s, i, t1, t2) -> - (metas_of_term t1) @ (metas_of_term t2)) il) - | Cic.CoFix (i, il) -> - List.flatten - (List.map (fun (s, t1, t2) -> - (metas_of_term t1) @ (metas_of_term t2)) il) - | _ -> [] -;; - - -exception NotMetaConvertible;; - -let meta_convertibility_aux table t1 t2 = - let module C = Cic in - let print_table t = - String.concat ", " - (List.map - (fun (k, v) -> Printf.sprintf "(%d, %d)" k v) t) - in - let rec aux ((table_l, table_r) as table) t1 t2 = - match t1, t2 with - | C.Meta (m1, tl1), C.Meta (m2, tl2) -> - let m1_binding, table_l = - try List.assoc m1 table_l, table_l - with Not_found -> m2, (m1, m2)::table_l - and m2_binding, table_r = - try List.assoc m2 table_r, table_r - with Not_found -> m1, (m2, m1)::table_r - in - if (m1_binding <> m2) || (m2_binding <> m1) then - raise NotMetaConvertible - else ( - try - List.fold_left2 - (fun res t1 t2 -> - match t1, t2 with - | None, Some _ | Some _, None -> raise NotMetaConvertible - | None, None -> res - | Some t1, Some t2 -> (aux res t1 t2)) - (table_l, table_r) tl1 tl2 - with Invalid_argument _ -> - raise NotMetaConvertible - ) - | C.Var (u1, ens1), C.Var (u2, ens2) - | C.Const (u1, ens1), C.Const (u2, ens2) when (UriManager.eq u1 u2) -> - aux_ens table ens1 ens2 - | C.Cast (s1, t1), C.Cast (s2, t2) - | C.Prod (_, s1, t1), C.Prod (_, s2, t2) - | C.Lambda (_, s1, t1), C.Lambda (_, s2, t2) - | C.LetIn (_, s1, t1), C.LetIn (_, s2, t2) -> - let table = aux table s1 s2 in - aux table t1 t2 - | C.Appl l1, C.Appl l2 -> ( - try List.fold_left2 (fun res t1 t2 -> (aux res t1 t2)) table l1 l2 - with Invalid_argument _ -> raise NotMetaConvertible - ) - | C.MutInd (u1, i1, ens1), C.MutInd (u2, i2, ens2) - when (UriManager.eq u1 u2) && i1 = i2 -> aux_ens table ens1 ens2 - | C.MutConstruct (u1, i1, j1, ens1), C.MutConstruct (u2, i2, j2, ens2) - when (UriManager.eq u1 u2) && i1 = i2 && j1 = j2 -> - aux_ens table ens1 ens2 - | C.MutCase (u1, i1, s1, t1, l1), C.MutCase (u2, i2, s2, t2, l2) - when (UriManager.eq u1 u2) && i1 = i2 -> - let table = aux table s1 s2 in - let table = aux table t1 t2 in ( - try List.fold_left2 (fun res t1 t2 -> (aux res t1 t2)) table l1 l2 - with Invalid_argument _ -> raise NotMetaConvertible - ) - | C.Fix (i1, il1), C.Fix (i2, il2) when i1 = i2 -> ( - try - List.fold_left2 - (fun res (n1, i1, s1, t1) (n2, i2, s2, t2) -> - if i1 <> i2 then raise NotMetaConvertible - else - let res = (aux res s1 s2) in aux res t1 t2) - table il1 il2 - with Invalid_argument _ -> raise NotMetaConvertible - ) - | C.CoFix (i1, il1), C.CoFix (i2, il2) when i1 = i2 -> ( - try - List.fold_left2 - (fun res (n1, s1, t1) (n2, s2, t2) -> - let res = aux res s1 s2 in aux res t1 t2) - table il1 il2 - with Invalid_argument _ -> raise NotMetaConvertible - ) - | t1, t2 when t1 = t2 -> table - | _, _ -> raise NotMetaConvertible - - and aux_ens table ens1 ens2 = - let cmp (u1, t1) (u2, t2) = - compare (UriManager.string_of_uri u1) (UriManager.string_of_uri u2) - in - let ens1 = List.sort cmp ens1 - and ens2 = List.sort cmp ens2 in - try - List.fold_left2 - (fun res (u1, t1) (u2, t2) -> - if not (UriManager.eq u1 u2) then raise NotMetaConvertible - else aux res t1 t2) - table ens1 ens2 - with Invalid_argument _ -> raise NotMetaConvertible - in - aux table t1 t2 -;; - - -let meta_convertibility_eq eq1 eq2 = - let _, _, (ty, left, right, _), _, _ = eq1 - and _, _, (ty', left', right', _), _, _ = eq2 in - if ty <> ty' then - false - else if (left = left') && (right = right') then - true - else if (left = right') && (right = left') then - true - else - try - let table = meta_convertibility_aux ([], []) left left' in - let _ = meta_convertibility_aux table right right' in - true - with NotMetaConvertible -> - try - let table = meta_convertibility_aux ([], []) left right' in - let _ = meta_convertibility_aux table right left' in - true - with NotMetaConvertible -> - false -;; - - -let meta_convertibility t1 t2 = - let f t = - String.concat ", " - (List.map - (fun (k, v) -> Printf.sprintf "(%d, %d)" k v) t) - in - if t1 = t2 then - true - else - try - let l, r = meta_convertibility_aux ([], []) t1 t2 in - true - with NotMetaConvertible -> - false -;; - - -let rec check_irl start = function - | [] -> true - | None::tl -> check_irl (start+1) tl - | (Some (Cic.Rel x))::tl -> - if x = start then check_irl (start+1) tl else false - | _ -> false -;; - - -let rec is_simple_term = function - | Cic.Appl ((Cic.Meta _)::_) -> false - | Cic.Appl l -> List.for_all is_simple_term l - | Cic.Meta (i, l) -> check_irl 1 l - | Cic.Rel _ -> true - | Cic.Const _ -> true - | Cic.MutInd (_, _, []) -> true - | Cic.MutConstruct (_, _, _, []) -> true - | _ -> false -;; - - -let lookup_subst meta subst = - match meta with - | Cic.Meta (i, _) -> ( - try let _, (_, t, _) = List.find (fun (m, _) -> m = i) subst in t - with Not_found -> meta - ) - | _ -> assert false -;; - - -let unification_simple metasenv context t1 t2 ugraph = - let module C = Cic in - let module M = CicMetaSubst in - let module U = CicUnification in - let lookup = lookup_subst in - let rec occurs_check subst what where = - match where with - | t when what = t -> true - | C.Appl l -> List.exists (occurs_check subst what) l - | C.Meta _ -> - let t = lookup where subst in - if t <> where then occurs_check subst what t else false - | _ -> false - in - let rec unif subst menv s t = - let s = match s with C.Meta _ -> lookup s subst | _ -> s - and t = match t with C.Meta _ -> lookup t subst | _ -> t - in - match s, t with - | s, t when s = t -> subst, menv - | C.Meta (i, _), C.Meta (j, _) when i > j -> - unif subst menv t s - | C.Meta _, t when occurs_check subst s t -> - raise - (U.UnificationFailure (lazy "Inference.unification.unif")) - | C.Meta (i, l), t -> ( - try - let _, _, ty = CicUtil.lookup_meta i menv in - let subst = - if not (List.mem_assoc i subst) then (i, (context, t, ty))::subst - else subst - in - let menv = menv in (* List.filter (fun (m, _, _) -> i <> m) menv in *) - subst, menv - with CicUtil.Meta_not_found m -> - let names = names_of_context context in - debug_print - (lazy - (Printf.sprintf "Meta_not_found %d!: %s %s\n%s\n\n%s" m - (CicPp.pp t1 names) (CicPp.pp t2 names) - (print_metasenv menv) (print_metasenv metasenv))); - assert false - ) - | _, C.Meta _ -> unif subst menv t s - | C.Appl (hds::_), C.Appl (hdt::_) when hds <> hdt -> - raise (U.UnificationFailure (lazy "Inference.unification.unif")) - | C.Appl (hds::tls), C.Appl (hdt::tlt) -> ( - try - List.fold_left2 - (fun (subst', menv) s t -> unif subst' menv s t) - (subst, menv) tls tlt - with Invalid_argument _ -> - raise (U.UnificationFailure (lazy "Inference.unification.unif")) - ) - | _, _ -> - raise (U.UnificationFailure (lazy "Inference.unification.unif")) - in - let subst, menv = unif [] metasenv t1 t2 in - let menv = - List.filter - (fun (m, _, _) -> - try let _ = List.find (fun (i, _) -> m = i) subst in false - with Not_found -> true) - menv - in - List.rev subst, menv, ugraph -;; - - -let unification metasenv context t1 t2 ugraph = - let subst, menv, ug = - if not (is_simple_term t1) || not (is_simple_term t2) then ( - debug_print - (lazy - (Printf.sprintf "NOT SIMPLE TERMS: %s %s" - (CicPp.ppterm t1) (CicPp.ppterm t2))); - CicUnification.fo_unif metasenv context t1 t2 ugraph - ) else - unification_simple metasenv context t1 t2 ugraph - in - let rec fix_term = function - | (Cic.Meta (i, l) as t) -> - let t' = lookup_subst t subst in - if t <> t' then fix_term t' else t - | Cic.Appl l -> Cic.Appl (List.map fix_term l) - | t -> t - in - let rec fix_subst = function - | [] -> [] - | (i, (c, t, ty))::tl -> (i, (c, fix_term t, fix_term ty))::(fix_subst tl) - in - fix_subst subst, menv, ug -;; - - -let unification = CicUnification.fo_unif;; - -exception MatchingFailure;; - - -(* -let matching_simple metasenv context t1 t2 ugraph = - let module C = Cic in - let module M = CicMetaSubst in - let module U = CicUnification in - let lookup meta subst = - match meta with - | C.Meta (i, _) -> ( - try let _, (_, t, _) = List.find (fun (m, _) -> m = i) subst in t - with Not_found -> meta - ) - | _ -> assert false - in - let rec do_match subst menv s t = - match s, t with - | s, t when s = t -> subst, menv - | s, C.Meta (i, l) -> - let filter_menv i menv = - List.filter (fun (m, _, _) -> i <> m) menv - in - let subst, menv = - let value = lookup t subst in - match value with - | value when value = t -> - let _, _, ty = CicUtil.lookup_meta i menv in - (i, (context, s, ty))::subst, filter_menv i menv - | value when value <> s -> - raise MatchingFailure - | value -> do_match subst menv s value - in - subst, menv - | C.Appl ls, C.Appl lt -> ( - try - List.fold_left2 - (fun (subst, menv) s t -> do_match subst menv s t) - (subst, menv) ls lt - with Invalid_argument _ -> - raise MatchingFailure - ) - | _, _ -> - raise MatchingFailure - in - let subst, menv = do_match [] metasenv t1 t2 in - subst, menv, ugraph -;; -*) - - -let matching metasenv context t1 t2 ugraph = - try - let subst, metasenv, ugraph = - unification metasenv context t1 t2 ugraph - in - let t' = CicMetaSubst.apply_subst subst t1 in - if not (meta_convertibility t1 t') then - raise MatchingFailure - else - let metas = metas_of_term t1 in - let fix_subst = function - | (i, (c, Cic.Meta (j, lc), ty)) when List.mem i metas -> - (j, (c, Cic.Meta (i, lc), ty)) - | s -> s - in - let subst = List.map fix_subst subst in - subst, metasenv, ugraph - with - | CicUnification.UnificationFailure _ - | CicUnification.Uncertain _ -> - raise MatchingFailure -;; - - -let find_equalities context proof = - let module C = Cic in - let module S = CicSubstitution in - let module T = CicTypeChecker in - let eq_uri = LibraryObjects.eq_URI () in - let newmeta = ProofEngineHelpers.new_meta_of_proof ~proof in - let ok_types ty menv = - List.for_all (fun (_, _, mt) -> mt = ty) menv - in - let rec aux index newmeta = function - | [] -> [], newmeta - | (Some (_, C.Decl (term)))::tl -> - let do_find context term = - match term with - | C.Prod (name, s, t) -> - let (head, newmetas, args, newmeta) = - ProofEngineHelpers.saturate_term newmeta [] - context (S.lift index term) 0 - in - let p = - if List.length args = 0 then - C.Rel index - else - C.Appl ((C.Rel index)::args) - in ( - match head with - | C.Appl [C.MutInd (uri, _, _); ty; t1; t2] - when (UriManager.eq uri eq_uri) && (ok_types ty newmetas) -> - debug_print - (lazy - (Printf.sprintf "OK: %s" (CicPp.ppterm term))); - let o = !Utils.compare_terms t1 t2 in - let w = compute_equality_weight ty t1 t2 in - let proof = BasicProof p in - let e = (w, proof, (ty, t1, t2, o), newmetas, args) in - Some e, (newmeta+1) - | _ -> None, newmeta - ) - | C.Appl [C.MutInd (uri, _, _); ty; t1; t2] - when UriManager.eq uri eq_uri -> - let t1 = S.lift index t1 - and t2 = S.lift index t2 in - let o = !Utils.compare_terms t1 t2 in - let w = compute_equality_weight ty t1 t2 in - let e = (w, BasicProof (C.Rel index), (ty, t1, t2, o), [], []) in - Some e, (newmeta+1) - | _ -> None, newmeta - in ( - match do_find context term with - | Some p, newmeta -> - let tl, newmeta' = (aux (index+1) newmeta tl) in - (index, p)::tl, max newmeta newmeta' - | None, _ -> - aux (index+1) newmeta tl - ) - | _::tl -> - aux (index+1) newmeta tl - in - let il, maxm = aux 1 newmeta context in - let indexes, equalities = List.split il in - indexes, equalities, maxm -;; - - -(* -let equations_blacklist = - List.fold_left - (fun s u -> UriManager.UriSet.add (UriManager.uri_of_string u) s) - UriManager.UriSet.empty [ - "cic:/Coq/Init/Logic/eq.ind#xpointer(1/1/1)"; - "cic:/Coq/Init/Logic/trans_eq.con"; - "cic:/Coq/Init/Logic/f_equal.con"; - "cic:/Coq/Init/Logic/f_equal2.con"; - "cic:/Coq/Init/Logic/f_equal3.con"; - "cic:/Coq/Init/Logic/f_equal4.con"; - "cic:/Coq/Init/Logic/f_equal5.con"; - "cic:/Coq/Init/Logic/sym_eq.con"; - "cic:/Coq/Init/Logic/eq_ind.con"; - "cic:/Coq/Init/Logic/eq_ind_r.con"; - "cic:/Coq/Init/Logic/eq_rec.con"; - "cic:/Coq/Init/Logic/eq_rec_r.con"; - "cic:/Coq/Init/Logic/eq_rect.con"; - "cic:/Coq/Init/Logic/eq_rect_r.con"; - "cic:/Coq/Logic/Eqdep/UIP.con"; - "cic:/Coq/Logic/Eqdep/UIP_refl.con"; - "cic:/Coq/Logic/Eqdep_dec/eq2eqT.con"; - "cic:/Coq/ZArith/Zcompare/rename.con"; - (* ALB !!!! questo e` imbrogliare, ma x ora lo lasciamo cosi`... - perche' questo cacchio di teorema rompe le scatole :'( *) - "cic:/Rocq/SUBST/comparith/mult_n_2.con"; - - "cic:/matita/logic/equality/eq_f.con"; - "cic:/matita/logic/equality/eq_f2.con"; - "cic:/matita/logic/equality/eq_rec.con"; - "cic:/matita/logic/equality/eq_rect.con"; - ] -;; -*) -let equations_blacklist = UriManager.UriSet.empty;; - - -let find_library_equalities dbd context status maxmeta = - let module C = Cic in - let module S = CicSubstitution in - let module T = CicTypeChecker in - let blacklist = - List.fold_left - (fun s u -> UriManager.UriSet.add u s) - equations_blacklist - [eq_XURI (); sym_eq_URI (); trans_eq_URI (); eq_ind_URI (); - eq_ind_r_URI ()] - in - let candidates = - List.fold_left - (fun l uri -> - let suri = UriManager.string_of_uri uri in - if UriManager.UriSet.mem uri blacklist then - l - else - let t = CicUtil.term_of_uri uri in - let ty, _ = - CicTypeChecker.type_of_aux' [] context t CicUniv.empty_ugraph - in - (uri, t, ty)::l) - [] - (let t1 = Unix.gettimeofday () in - let eqs = (MetadataQuery.equations_for_goal ~dbd status) in - let t2 = Unix.gettimeofday () in - (debug_print - (lazy - (Printf.sprintf "Tempo di MetadataQuery.equations_for_goal: %.9f\n" - (t2 -. t1)))); - eqs) - in - let eq_uri1 = eq_XURI () - and eq_uri2 = LibraryObjects.eq_URI () in - let iseq uri = - (UriManager.eq uri eq_uri1) || (UriManager.eq uri eq_uri2) - in - let ok_types ty menv = - List.for_all (fun (_, _, mt) -> mt = ty) menv - in - let rec has_vars = function - | C.Meta _ | C.Rel _ | C.Const _ -> false - | C.Var _ -> true - | C.Appl l -> List.exists has_vars l - | C.Prod (_, s, t) | C.Lambda (_, s, t) - | C.LetIn (_, s, t) | C.Cast (s, t) -> - (has_vars s) || (has_vars t) - | _ -> false - in - let rec aux newmeta = function - | [] -> [], newmeta - | (uri, term, termty)::tl -> - debug_print - (lazy - (Printf.sprintf "Examining: %s (%s)" - (CicPp.ppterm term) (CicPp.ppterm termty))); - let res, newmeta = - match termty with - | C.Prod (name, s, t) when not (has_vars termty) -> - let head, newmetas, args, newmeta = - ProofEngineHelpers.saturate_term newmeta [] context termty 0 - in - let p = - if List.length args = 0 then - term - else - C.Appl (term::args) - in ( - match head with - | C.Appl [C.MutInd (uri, _, _); ty; t1; t2] - when (iseq uri) && (ok_types ty newmetas) -> - debug_print - (lazy - (Printf.sprintf "OK: %s" (CicPp.ppterm term))); - let o = !Utils.compare_terms t1 t2 in - let w = compute_equality_weight ty t1 t2 in - let proof = BasicProof p in - let e = (w, proof, (ty, t1, t2, o), newmetas, args) in - Some e, (newmeta+1) - | _ -> None, newmeta - ) - | C.Appl [C.MutInd (uri, _, _); ty; t1; t2] - when iseq uri && not (has_vars termty) -> - let o = !Utils.compare_terms t1 t2 in - let w = compute_equality_weight ty t1 t2 in - let e = (w, BasicProof term, (ty, t1, t2, o), [], []) in - Some e, (newmeta+1) - | _ -> None, newmeta - in - match res with - | Some e -> - let tl, newmeta' = aux newmeta tl in - (uri, e)::tl, max newmeta newmeta' - | None -> - aux newmeta tl - in - let found, maxm = aux maxmeta candidates in - let uriset, eqlist = - (List.fold_left - (fun (s, l) (u, e) -> - if List.exists (meta_convertibility_eq e) (List.map snd l) then ( - debug_print - (lazy - (Printf.sprintf "NO!! %s already there!" - (string_of_equality e))); - (UriManager.UriSet.add u s, l) - ) else (UriManager.UriSet.add u s, (u, e)::l)) - (UriManager.UriSet.empty, []) found) - in - uriset, eqlist, maxm -;; - - -let find_library_theorems dbd env status equalities_uris = - let module C = Cic in - let module S = CicSubstitution in - let module T = CicTypeChecker in - let blacklist = - let refl_equal = - UriManager.uri_of_string "cic:/Coq/Init/Logic/eq.ind#xpointer(1/1/1)" in - let s = - UriManager.UriSet.remove refl_equal - (UriManager.UriSet.union equalities_uris equations_blacklist) - in - List.fold_left - (fun s u -> UriManager.UriSet.add u s) - s [eq_XURI () ;sym_eq_URI (); trans_eq_URI (); eq_ind_URI (); - eq_ind_r_URI ()] - in - let metasenv, context, ugraph = env in - let candidates = - List.fold_left - (fun l uri -> - if UriManager.UriSet.mem uri blacklist then l - else - let t = CicUtil.term_of_uri uri in - let ty, _ = CicTypeChecker.type_of_aux' metasenv context t ugraph in - (t, ty, [])::l) - [] (MetadataQuery.signature_of_goal ~dbd status) - in - let refl_equal = - let u = eq_XURI () in - let t = CicUtil.term_of_uri u in - let ty, _ = CicTypeChecker.type_of_aux' [] [] t CicUniv.empty_ugraph in - (t, ty, []) - in - refl_equal::candidates -;; - - -let find_context_hypotheses env equalities_indexes = - let metasenv, context, ugraph = env in - let _, res = - List.fold_left - (fun (n, l) entry -> - match entry with - | None -> (n+1, l) - | Some _ -> - if List.mem n equalities_indexes then - (n+1, l) - else - let t = Cic.Rel n in - let ty, _ = - CicTypeChecker.type_of_aux' metasenv context t ugraph in - (n+1, (t, ty, [])::l)) - (1, []) context - in - res -;; - - -let fix_metas newmeta ((w, p, (ty, left, right, o), menv, args) as equality) = - let table = Hashtbl.create (List.length args) in - let newargs, newmeta = - List.fold_right - (fun t (newargs, index) -> - match t with - | Cic.Meta (i, l) -> - if Hashtbl.mem table i then - let idx = Hashtbl.find table i in - ((Cic.Meta (idx, l))::newargs, index+1) - else - let _ = Hashtbl.add table i index in - ((Cic.Meta (index, l))::newargs, index+1) - | _ -> assert false) - args ([], newmeta+1) - in - let repl where = - ProofEngineReduction.replace ~equality:(=) ~what:args ~with_what:newargs - ~where - in - let menv' = - List.fold_right - (fun (i, context, term) menv -> - try - let index = Hashtbl.find table i in - (index, context, term)::menv - with Not_found -> - (i, context, term)::menv) - menv [] - in - let ty = repl ty - and left = repl left - and right = repl right in - let metas = (metas_of_term left) @ (metas_of_term right) in - let menv' = List.filter (fun (i, _, _) -> List.mem i metas) menv' in - let newargs = - List.filter - (function Cic.Meta (i, _) -> List.mem i metas | _ -> assert false) newargs - in - let _ = - if List.length metas > 0 then - let first = List.hd metas in - (* this new equality might have less variables than its parents: here - we fill the gap with a dummy arg. Example: - with (f X Y) = X we can simplify - (g X) = (f X Y) in - (g X) = X. - So the new equation has only one variable, but it still has type like - \lambda X,Y:..., so we need to pass a dummy arg for Y - (I hope this makes some sense...) - *) - Hashtbl.iter - (fun k v -> - if not (List.exists - (function Cic.Meta (i, _) -> i = v | _ -> assert false) - newargs) then - Hashtbl.replace table k first) - (Hashtbl.copy table) - in - let rec fix_proof = function - | NoProof -> NoProof - | BasicProof term -> BasicProof (repl term) - | ProofBlock (subst, eq_URI, namety, bo, (pos, eq), p) -> - let subst' = - List.fold_left - (fun s arg -> - match arg with - | Cic.Meta (i, l) -> ( - try - let j = Hashtbl.find table i in - if List.mem_assoc i subst then - s - else - let _, context, ty = CicUtil.lookup_meta i menv in - (i, (context, Cic.Meta (j, l), ty))::s - with Not_found | CicUtil.Meta_not_found _ -> - s - ) - | _ -> assert false) - [] args - in - ProofBlock (subst' @ subst, eq_URI, namety, bo(* t' *), (pos, eq), p) - | p -> assert false - in - let neweq = (w, fix_proof p, (ty, left, right, o), menv', newargs) in - (newmeta + 1, neweq) -;; - - -let term_is_equality term = - let iseq uri = UriManager.eq uri (LibraryObjects.eq_URI ()) in - match term with - | Cic.Appl [Cic.MutInd (uri, _, _); _; _; _] when iseq uri -> true - | _ -> false -;; - - -exception TermIsNotAnEquality;; - -let equality_of_term proof term = - let eq_uri = LibraryObjects.eq_URI () in - let iseq uri = UriManager.eq uri eq_uri in - match term with - | Cic.Appl [Cic.MutInd (uri, _, _); ty; t1; t2] when iseq uri -> - let o = !Utils.compare_terms t1 t2 in - let w = compute_equality_weight ty t1 t2 in - let e = (w, BasicProof proof, (ty, t1, t2, o), [], []) in - e - | _ -> - raise TermIsNotAnEquality -;; - - -type environment = Cic.metasenv * Cic.context * CicUniv.universe_graph;; - - -let is_identity ((metasenv, context, ugraph) as env) = function - | ((_, _, (ty, left, right, _), menv, _) as equality) -> - (left = right || - (* (meta_convertibility left right) || *) - (fst (CicReduction.are_convertible - ~metasenv:(metasenv @ menv) context left right ugraph))) -;; diff --git a/helm/ocaml/paramodulation/inference.mli b/helm/ocaml/paramodulation/inference.mli deleted file mode 100644 index 55f3df414..000000000 --- a/helm/ocaml/paramodulation/inference.mli +++ /dev/null @@ -1,128 +0,0 @@ -(* Copyright (C) 2005, 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/. - *) - -type equality = - int * (* weight *) - proof * (* proof *) - (Cic.term * (* type *) - Cic.term * (* left side *) - Cic.term * (* right side *) - Utils.comparison) * (* ordering *) - Cic.metasenv * (* environment for metas *) - Cic.term list (* arguments *) - -and proof = - | NoProof - | BasicProof of Cic.term (* already a proof of a goal *) - | ProofBlock of (* proof of a rewrite step *) - Cic.substitution * UriManager.uri * (* eq_ind or eq_ind_r *) - (Cic.name * Cic.term) * Cic.term * (Utils.pos * equality) * proof - | ProofGoalBlock of proof * proof - (* proof of the new meta, proof of the goal from which this comes *) - | ProofSymBlock of Cic.term list * proof (* expl.named subst, proof *) - | SubProof of Cic.term * int * proof - (* parent proof, subgoal, proof of the subgoal *) - -type environment = Cic.metasenv * Cic.context * CicUniv.universe_graph - -(** builds the Cic.term encoded by proof *) -val build_proof_term: proof -> Cic.term - -val string_of_proof: proof -> string - -exception MatchingFailure - -(** matching between two terms. Can raise MatchingFailure *) -val matching: - Cic.metasenv -> Cic.context -> Cic.term -> Cic.term -> - CicUniv.universe_graph -> - Cic.substitution * Cic.metasenv * CicUniv.universe_graph - -(** - special unification that checks if the two terms are "simple", and in - such case should be significantly faster than CicUnification.fo_unif -*) -val unification: - Cic.metasenv -> Cic.context -> Cic.term -> Cic.term -> - CicUniv.universe_graph -> - Cic.substitution * Cic.metasenv * CicUniv.universe_graph - - -(** - scans the context to find all Declarations "left = right"; returns a - list of tuples (proof, (type, left, right), newmetas). Uses - PrimitiveTactics.new_metasenv_for_apply to replace bound variables with - fresh metas... -*) -val find_equalities: - Cic.context -> ProofEngineTypes.proof -> int list * equality list * int - -(** - searches the library for equalities that can be applied to the current goal -*) -val find_library_equalities: - HMysql.dbd -> Cic.context -> ProofEngineTypes.status -> int -> - UriManager.UriSet.t * (UriManager.uri * equality) list * int - -(** - searches the library for theorems that are not equalities (returned by the - function above) -*) -val find_library_theorems: - HMysql.dbd -> environment -> ProofEngineTypes.status -> UriManager.UriSet.t -> - (Cic.term * Cic.term * Cic.metasenv) list - -(** - searches the context for hypotheses that are not equalities -*) -val find_context_hypotheses: - environment -> int list -> (Cic.term * Cic.term * Cic.metasenv) list - - -exception TermIsNotAnEquality;; - -(** - raises TermIsNotAnEquality if term is not an equation. - The first Cic.term is a proof of the equation -*) -val equality_of_term: Cic.term -> Cic.term -> equality - -val term_is_equality: Cic.term -> bool - -(** tests a sort of alpha-convertibility between the two terms, but on the - metavariables *) -val meta_convertibility: Cic.term -> Cic.term -> bool - -(** meta convertibility between two equations *) -val meta_convertibility_eq: equality -> equality -> bool - -val is_identity: environment -> equality -> bool - -val string_of_equality: ?env:environment -> equality -> string - -val metas_of_term: Cic.term -> int list - -(** ensures that metavariables in equality are unique *) -val fix_metas: int -> equality -> int * equality diff --git a/helm/ocaml/paramodulation/path_indexing.ml b/helm/ocaml/paramodulation/path_indexing.ml deleted file mode 100644 index 06da404ab..000000000 --- a/helm/ocaml/paramodulation/path_indexing.ml +++ /dev/null @@ -1,287 +0,0 @@ -(* Copyright (C) 2005, 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/. - *) - -(* path indexing implementation *) - -(* position of the subterm, subterm (Appl are not stored...) *) -type path_string_elem = Index of int | Term of Cic.term;; -type path_string = path_string_elem list;; - - -let rec path_strings_of_term index = - let module C = Cic in function - | C.Meta _ -> [ [Index index; Term (C.Implicit None)] ] - | C.Appl (hd::tl) -> - let p = if index > 0 then [Index index; Term hd] else [Term hd] in - let _, res = - List.fold_left - (fun (i, r) t -> - let rr = path_strings_of_term i t in - (i+1, r @ (List.map (fun ps -> p @ ps) rr))) - (1, []) tl - in - res - | term -> [ [Index index; Term term] ] -;; - - -let string_of_path_string ps = - String.concat "." - (List.map - (fun e -> - let s = - match e with - | Index i -> "Index " ^ (string_of_int i) - | Term t -> "Term " ^ (CicPp.ppterm t) - in - "(" ^ s ^ ")") - ps) -;; - - -module OrderedPathStringElement = struct - type t = path_string_elem - - let compare t1 t2 = - match t1, t2 with - | Index i, Index j -> Pervasives.compare i j - | Term t1, Term t2 -> if t1 = t2 then 0 else Pervasives.compare t1 t2 - | Index _, Term _ -> -1 - | Term _, Index _ -> 1 -end - -module PSMap = Map.Make(OrderedPathStringElement);; - -module OrderedPosEquality = struct - type t = Utils.pos * Inference.equality - - let compare = Pervasives.compare -end - -module PosEqSet = Set.Make(OrderedPosEquality);; - - -module PSTrie = Trie.Make(PSMap);; - - -let index trie equality = - let _, _, (_, l, r, ordering), _, _ = equality in - let psl = path_strings_of_term 0 l - and psr = path_strings_of_term 0 r in - let index pos trie ps = - let ps_set = try PSTrie.find ps trie with Not_found -> PosEqSet.empty in - let trie = PSTrie.add ps (PosEqSet.add (pos, equality) ps_set) trie in - trie - in - match ordering with - | Utils.Gt -> List.fold_left (index Utils.Left) trie psl - | Utils.Lt -> List.fold_left (index Utils.Right) trie psr - | _ -> - let trie = List.fold_left (index Utils.Left) trie psl in - List.fold_left (index Utils.Right) trie psr -;; - - -let remove_index trie equality = - let _, _, (_, l, r, ordering), _, _ = equality in - let psl = path_strings_of_term 0 l - and psr = path_strings_of_term 0 r in - let remove_index pos trie ps = - try - let ps_set = PosEqSet.remove (pos, equality) (PSTrie.find ps trie) in - if PosEqSet.is_empty ps_set then - PSTrie.remove ps trie - else - PSTrie.add ps ps_set trie - with Not_found -> - trie - in - match ordering with - | Utils.Gt -> List.fold_left (remove_index Utils.Left) trie psl - | Utils.Lt -> List.fold_left (remove_index Utils.Right) trie psr - | _ -> - let trie = List.fold_left (remove_index Utils.Left) trie psl in - List.fold_left (remove_index Utils.Right) trie psr -;; - - -let in_index trie equality = - let _, _, (_, l, r, ordering), _, _ = equality in - let psl = path_strings_of_term 0 l - and psr = path_strings_of_term 0 r in - let meta_convertibility = Inference.meta_convertibility_eq equality in - let ok ps = - try - let set = PSTrie.find ps trie in - PosEqSet.exists (fun (p, e) -> meta_convertibility e) set - with Not_found -> - false - in - (List.exists ok psl) || (List.exists ok psr) -;; - - -let head_of_term = function - | Cic.Appl (hd::tl) -> hd - | term -> term -;; - - -let subterm_at_pos index term = - if index = 0 then - term - else - match term with - | Cic.Appl l -> - (try List.nth l index with Failure _ -> raise Not_found) - | _ -> raise Not_found -;; - - -let rec retrieve_generalizations trie term = - match trie with - | PSTrie.Node (value, map) -> - let res = - match term with - | Cic.Meta _ -> PosEqSet.empty - | term -> - let hd_term = head_of_term term in - try - let n = PSMap.find (Term hd_term) map in - match n with - | PSTrie.Node (Some s, _) -> s - | PSTrie.Node (None, m) -> - let l = - PSMap.fold - (fun k v res -> - match k with - | Index i -> - let t = subterm_at_pos i term in - let s = retrieve_generalizations v t in - s::res - | _ -> res) - m [] - in - match l with - | hd::tl -> - List.fold_left (fun r s -> PosEqSet.inter r s) hd tl - | _ -> PosEqSet.empty - with Not_found -> - PosEqSet.empty - in - try - let n = PSMap.find (Term (Cic.Implicit None)) map in - match n with - | PSTrie.Node (Some s, _) -> PosEqSet.union res s - | _ -> res - with Not_found -> - res -;; - - -let rec retrieve_unifiables trie term = - match trie with - | PSTrie.Node (value, map) -> - let res = - match term with - | Cic.Meta _ -> - PSTrie.fold - (fun ps v res -> PosEqSet.union res v) - (PSTrie.Node (None, map)) - PosEqSet.empty - | _ -> - let hd_term = head_of_term term in - try - let n = PSMap.find (Term hd_term) map in - match n with - | PSTrie.Node (Some v, _) -> v - | PSTrie.Node (None, m) -> - let l = - PSMap.fold - (fun k v res -> - match k with - | Index i -> - let t = subterm_at_pos i term in - let s = retrieve_unifiables v t in - s::res - | _ -> res) - m [] - in - match l with - | hd::tl -> - List.fold_left (fun r s -> PosEqSet.inter r s) hd tl - | _ -> PosEqSet.empty - with Not_found -> - PosEqSet.empty - in - try - let n = PSMap.find (Term (Cic.Implicit None)) map in - match n with - | PSTrie.Node (Some s, _) -> PosEqSet.union res s - | _ -> res - with Not_found -> - res -;; - - -let retrieve_all trie term = - PSTrie.fold - (fun k v s -> PosEqSet.union v s) trie PosEqSet.empty -;; - - -let string_of_pstrie trie = - let rec to_string level = function - | PSTrie.Node (v, map) -> - let s = - match v with - | Some v -> - (String.make (2 * level) ' ') ^ - "{" ^ (String.concat "; " - (List.map - (fun (p, e) -> - "(" ^ (Utils.string_of_pos p) ^ ", " ^ - (Inference.string_of_equality e) ^ ")") - (PosEqSet.elements v))) ^ "}" - | None -> "" - in - let rest = - String.concat "\n" - (PSMap.fold - (fun k v s -> - let ks = - match k with - | Index i -> "Index " ^ (string_of_int i) - | Term t -> "Term " ^ (CicPp.ppterm t) - in - let rs = to_string (level+1) v in - ((String.make (2 * level) ' ') ^ ks ^ "\n" ^ rs)::s) - map []) - in - s ^ rest - in - to_string 0 trie -;; - diff --git a/helm/ocaml/paramodulation/saturate_main.ml b/helm/ocaml/paramodulation/saturate_main.ml deleted file mode 100644 index ce4182e1a..000000000 --- a/helm/ocaml/paramodulation/saturate_main.ml +++ /dev/null @@ -1,108 +0,0 @@ -(* Copyright (C) 2005, 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 configuration_file = ref "../../matita/matita.conf.xml";; - -let core_notation_script = "../../matita/core_notation.moo";; - -let get_from_user ~(dbd:HMysql.dbd) = - let rec get () = - match read_line () with - | "" -> [] - | t -> t::(get ()) - in - let term_string = String.concat "\n" (get ()) in - let env, metasenv, term, ugraph = - List.nth (Disambiguate.Trivial.disambiguate_string dbd term_string) 0 - in - term, metasenv, ugraph -;; - -let full = ref false;; - -let retrieve_only = ref false;; - -let _ = - let module S = Saturation in - let set_ratio v = S.weight_age_ratio := v; S.weight_age_counter := v - and set_sel v = S.symbols_ratio := v; S.symbols_counter := v; - and set_conf f = configuration_file := f - and set_ordering o = - match o with - | "lpo" -> Utils.compare_terms := Utils.lpo - | "kbo" -> Utils.compare_terms := Utils.kbo - | "nr-kbo" -> Utils.compare_terms := Utils.nonrec_kbo - | o -> raise (Arg.Bad ("Unknown term ordering: " ^ o)) - and set_fullred b = S.use_fullred := b - and set_time_limit v = S.time_limit := float_of_int v - and set_width w = S.maxwidth := w - and set_depth d = S.maxdepth := d - and set_full () = full := true - and set_retrieve () = retrieve_only := true - in - Arg.parse [ - "-full", Arg.Unit set_full, "Enable full mode"; - "-f", Arg.Bool set_fullred, - "Enable/disable full-reduction strategy (default: enabled)"; - - "-r", Arg.Int set_ratio, "Weight-Age equality selection ratio (default: 4)"; - - "-s", Arg.Int set_sel, - "symbols-based selection ratio (relative to the weight ratio, default: 0)"; - - "-c", Arg.String set_conf, "Configuration file (for the db connection)"; - - "-o", Arg.String set_ordering, - "Term ordering. Possible values are:\n" ^ - "\tkbo: Knuth-Bendix ordering\n" ^ - "\tnr-kbo: Non-recursive variant of kbo (default)\n" ^ - "\tlpo: Lexicographic path ordering"; - - "-l", Arg.Int set_time_limit, "Time limit in seconds (default: no limit)"; - - "-w", Arg.Int set_width, - Printf.sprintf "Maximal width (default: %d)" !Saturation.maxwidth; - - "-d", Arg.Int set_depth, - Printf.sprintf "Maximal depth (default: %d)" !Saturation.maxdepth; - - "-retrieve", Arg.Unit set_retrieve, "retrieve only"; - ] (fun a -> ()) "Usage:" -in -Helm_registry.load_from !configuration_file; -CicNotation.load_notation core_notation_script; -CicNotation.load_notation "../../matita/coq.ma"; -let dbd = HMysql.quick_connect - ~host:(Helm_registry.get "db.host") - ~user:(Helm_registry.get "db.user") - ~database:(Helm_registry.get "db.database") - () -in -let term, metasenv, ugraph = get_from_user ~dbd in -if !retrieve_only then - Saturation.retrieve_and_print dbd term metasenv ugraph -else - Saturation.main dbd !full term metasenv ugraph -;; diff --git a/helm/ocaml/paramodulation/saturation.ml b/helm/ocaml/paramodulation/saturation.ml deleted file mode 100644 index 8e67bc7a0..000000000 --- a/helm/ocaml/paramodulation/saturation.ml +++ /dev/null @@ -1,2185 +0,0 @@ -(* Copyright (C) 2005, 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 Inference;; -open Utils;; - - -(* set to false to disable paramodulation inside auto_tac *) -let connect_to_auto = true;; - - -(* profiling statistics... *) -let infer_time = ref 0.;; -let forward_simpl_time = ref 0.;; -let forward_simpl_new_time = ref 0.;; -let backward_simpl_time = ref 0.;; -let passive_maintainance_time = ref 0.;; - -(* limited-resource-strategy related globals *) -let processed_clauses = ref 0;; (* number of equalities selected so far... *) -let time_limit = ref 0.;; (* in seconds, settable by the user... *) -let start_time = ref 0.;; (* time at which the execution started *) -let elapsed_time = ref 0.;; -(* let maximal_weight = ref None;; *) -let maximal_retained_equality = ref None;; - -(* equality-selection related globals *) -let use_fullred = ref true;; -let weight_age_ratio = ref (* 5 *) 4;; (* settable by the user *) -let weight_age_counter = ref !weight_age_ratio;; -let symbols_ratio = ref (* 0 *) 3;; -let symbols_counter = ref 0;; - -(* non-recursive Knuth-Bendix term ordering by default *) -Utils.compare_terms := Utils.nonrec_kbo;; - -(* statistics... *) -let derived_clauses = ref 0;; -let kept_clauses = ref 0;; - -(* index of the greatest Cic.Meta created - TODO: find a better way! *) -let maxmeta = ref 0;; - -(* varbiables controlling the search-space *) -let maxdepth = ref 3;; -let maxwidth = ref 3;; - - -type result = - | ParamodulationFailure - | ParamodulationSuccess of Inference.proof option * environment -;; - -type goal = proof * Cic.metasenv * Cic.term;; - -type theorem = Cic.term * Cic.term * Cic.metasenv;; - - -let symbols_of_equality ((_, _, (_, left, right, _), _, _) as equality) = - let m1 = symbols_of_term left in - let m = - TermMap.fold - (fun k v res -> - try - let c = TermMap.find k res in - TermMap.add k (c+v) res - with Not_found -> - TermMap.add k v res) - (symbols_of_term right) m1 - in - m -;; - - -module OrderedEquality = struct - type t = Inference.equality - - let compare eq1 eq2 = - match meta_convertibility_eq eq1 eq2 with - | true -> 0 - | false -> - let w1, _, (ty, left, right, _), _, a = eq1 - and w2, _, (ty', left', right', _), _, a' = eq2 in - match Pervasives.compare w1 w2 with - | 0 -> - let res = (List.length a) - (List.length a') in - if res <> 0 then res else ( - try - let res = Pervasives.compare (List.hd a) (List.hd a') in - if res <> 0 then res else Pervasives.compare eq1 eq2 - with Failure "hd" -> Pervasives.compare eq1 eq2 - ) - | res -> res -end - -module EqualitySet = Set.Make(OrderedEquality);; - - -(** - selects one equality from passive. The selection strategy is a combination - of weight, age and goal-similarity -*) -let select env goals passive (active, _) = - processed_clauses := !processed_clauses + 1; - let goal = - match (List.rev goals) with (_, goal::_)::_ -> goal | _ -> assert false - in - let (neg_list, neg_set), (pos_list, pos_set), passive_table = passive in - let remove eq l = - List.filter (fun e -> e <> eq) l - in - if !weight_age_ratio > 0 then - weight_age_counter := !weight_age_counter - 1; - match !weight_age_counter with - | 0 -> ( - weight_age_counter := !weight_age_ratio; - match neg_list, pos_list with - | hd::tl, pos -> - (* Negatives aren't indexed, no need to remove them... *) - (Negative, hd), - ((tl, EqualitySet.remove hd neg_set), (pos, pos_set), passive_table) - | [], hd::tl -> - let passive_table = - Indexing.remove_index passive_table hd - in - (Positive, hd), - (([], neg_set), (tl, EqualitySet.remove hd pos_set), passive_table) - | _, _ -> assert false - ) - | _ when (!symbols_counter > 0) && (EqualitySet.is_empty neg_set) -> ( - symbols_counter := !symbols_counter - 1; - let cardinality map = - TermMap.fold (fun k v res -> res + v) map 0 - in - let symbols = - let _, _, term = goal in - symbols_of_term term - in - let card = cardinality symbols in - let foldfun k v (r1, r2) = - if TermMap.mem k symbols then - let c = TermMap.find k symbols in - let c1 = abs (c - v) in - let c2 = v - c1 in - r1 + c2, r2 + c1 - else - r1, r2 + v - in - let f equality (i, e) = - let common, others = - TermMap.fold foldfun (symbols_of_equality equality) (0, 0) - in - let c = others + (abs (common - card)) in - if c < i then (c, equality) - else (i, e) - in - let e1 = EqualitySet.min_elt pos_set in - let initial = - let common, others = - TermMap.fold foldfun (symbols_of_equality e1) (0, 0) - in - (others + (abs (common - card))), e1 - in - let _, current = EqualitySet.fold f pos_set initial in - let passive_table = - Indexing.remove_index passive_table current - in - (Positive, current), - (([], neg_set), - (remove current pos_list, EqualitySet.remove current pos_set), - passive_table) - ) - | _ -> - symbols_counter := !symbols_ratio; - let set_selection set = EqualitySet.min_elt set in - if EqualitySet.is_empty neg_set then - let current = set_selection pos_set in - let passive = - (neg_list, neg_set), - (remove current pos_list, EqualitySet.remove current pos_set), - Indexing.remove_index passive_table current - in - (Positive, current), passive - else - let current = set_selection neg_set in - let passive = - (remove current neg_list, EqualitySet.remove current neg_set), - (pos_list, pos_set), - passive_table - in - (Negative, current), passive -;; - - -(* initializes the passive set of equalities *) -let make_passive neg pos = - let set_of equalities = - List.fold_left (fun s e -> EqualitySet.add e s) EqualitySet.empty equalities - in - let table = - List.fold_left (fun tbl e -> Indexing.index tbl e) - (Indexing.empty_table ()) pos - in - (neg, set_of neg), - (pos, set_of pos), - table -;; - - -let make_active () = - [], Indexing.empty_table () -;; - - -(* adds to passive a list of equalities: new_neg is a list of negative - equalities, new_pos a list of positive equalities *) -let add_to_passive passive (new_neg, new_pos) = - let (neg_list, neg_set), (pos_list, pos_set), table = passive in - let ok set equality = not (EqualitySet.mem equality set) in - let neg = List.filter (ok neg_set) new_neg - and pos = List.filter (ok pos_set) new_pos in - let table = - List.fold_left (fun tbl e -> Indexing.index tbl e) table pos - in - let add set equalities = - List.fold_left (fun s e -> EqualitySet.add e s) set equalities - in - (neg @ neg_list, add neg_set neg), - (pos_list @ pos, add pos_set pos), - table -;; - - -let passive_is_empty = function - | ([], _), ([], _), _ -> true - | _ -> false -;; - - -let size_of_passive ((_, ns), (_, ps), _) = - (EqualitySet.cardinal ns) + (EqualitySet.cardinal ps) -;; - - -let size_of_active (active_list, _) = - List.length active_list -;; - - -(* removes from passive equalities that are estimated impossible to activate - within the current time limit *) -let prune_passive howmany (active, _) passive = - let (nl, ns), (pl, ps), tbl = passive in - let howmany = float_of_int howmany - and ratio = float_of_int !weight_age_ratio in - let round v = - let t = ceil v in - int_of_float (if t -. v < 0.5 then t else v) - in - let in_weight = round (howmany *. ratio /. (ratio +. 1.)) - and in_age = round (howmany /. (ratio +. 1.)) in - debug_print - (lazy (Printf.sprintf "in_weight: %d, in_age: %d\n" in_weight in_age)); - let symbols, card = - match active with - | (Negative, e)::_ -> - let symbols = symbols_of_equality e in - let card = TermMap.fold (fun k v res -> res + v) symbols 0 in - Some symbols, card - | _ -> None, 0 - in - let counter = ref !symbols_ratio in - let rec pickw w ns ps = - if w > 0 then - if not (EqualitySet.is_empty ns) then - let e = EqualitySet.min_elt ns in - let ns', ps = pickw (w-1) (EqualitySet.remove e ns) ps in - EqualitySet.add e ns', ps - else if !counter > 0 then - let _ = - counter := !counter - 1; - if !counter = 0 then counter := !symbols_ratio - in - match symbols with - | None -> - let e = EqualitySet.min_elt ps in - let ns, ps' = pickw (w-1) ns (EqualitySet.remove e ps) in - ns, EqualitySet.add e ps' - | Some symbols -> - let foldfun k v (r1, r2) = - if TermMap.mem k symbols then - let c = TermMap.find k symbols in - let c1 = abs (c - v) in - let c2 = v - c1 in - r1 + c2, r2 + c1 - else - r1, r2 + v - in - let f equality (i, e) = - let common, others = - TermMap.fold foldfun (symbols_of_equality equality) (0, 0) - in - let c = others + (abs (common - card)) in - if c < i then (c, equality) - else (i, e) - in - let e1 = EqualitySet.min_elt ps in - let initial = - let common, others = - TermMap.fold foldfun (symbols_of_equality e1) (0, 0) - in - (others + (abs (common - card))), e1 - in - let _, e = EqualitySet.fold f ps initial in - let ns, ps' = pickw (w-1) ns (EqualitySet.remove e ps) in - ns, EqualitySet.add e ps' - else - let e = EqualitySet.min_elt ps in - let ns, ps' = pickw (w-1) ns (EqualitySet.remove e ps) in - ns, EqualitySet.add e ps' - else - EqualitySet.empty, EqualitySet.empty - in - let ns, ps = pickw in_weight ns ps in - let rec picka w s l = - if w > 0 then - match l with - | [] -> w, s, [] - | hd::tl when not (EqualitySet.mem hd s) -> - let w, s, l = picka (w-1) s tl in - w, EqualitySet.add hd s, hd::l - | hd::tl -> - let w, s, l = picka w s tl in - w, s, hd::l - else - 0, s, l - in - let in_age, ns, nl = picka in_age ns nl in - let _, ps, pl = picka in_age ps pl in - if not (EqualitySet.is_empty ps) then - maximal_retained_equality := Some (EqualitySet.max_elt ps); - let tbl = - EqualitySet.fold - (fun e tbl -> Indexing.index tbl e) ps (Indexing.empty_table ()) - in - (nl, ns), (pl, ps), tbl -;; - - -(** inference of new equalities between current and some in active *) -let infer env sign current (active_list, active_table) = - let new_neg, new_pos = - match sign with - | Negative -> - let maxm, res = - Indexing.superposition_left !maxmeta env active_table current in - maxmeta := maxm; - res, [] - | Positive -> - let maxm, res = - Indexing.superposition_right !maxmeta env active_table current in - maxmeta := maxm; - let rec infer_positive table = function - | [] -> [], [] - | (Negative, equality)::tl -> - let maxm, res = - Indexing.superposition_left !maxmeta env table equality in - maxmeta := maxm; - let neg, pos = infer_positive table tl in - res @ neg, pos - | (Positive, equality)::tl -> - let maxm, res = - Indexing.superposition_right !maxmeta env table equality in - maxmeta := maxm; - let neg, pos = infer_positive table tl in - neg, res @ pos - in - let curr_table = Indexing.index (Indexing.empty_table ()) current in - let neg, pos = infer_positive curr_table active_list in - neg, res @ pos - in - derived_clauses := !derived_clauses + (List.length new_neg) + - (List.length new_pos); - match !maximal_retained_equality with - | None -> new_neg, new_pos - | Some eq -> - (* if we have a maximal_retained_equality, we can discard all equalities - "greater" than it, as they will never be reached... An equality is - greater than maximal_retained_equality if it is bigger - wrt. OrderedEquality.compare and it is less similar than - maximal_retained_equality to the current goal *) - let symbols, card = - match active_list with - | (Negative, e)::_ -> - let symbols = symbols_of_equality e in - let card = TermMap.fold (fun k v res -> res + v) symbols 0 in - Some symbols, card - | _ -> None, 0 - in - let new_pos = - match symbols with - | None -> - List.filter (fun e -> OrderedEquality.compare e eq <= 0) new_pos - | Some symbols -> - let filterfun e = - if OrderedEquality.compare e eq <= 0 then - true - else - let foldfun k v (r1, r2) = - if TermMap.mem k symbols then - let c = TermMap.find k symbols in - let c1 = abs (c - v) in - let c2 = v - c1 in - r1 + c2, r2 + c1 - else - r1, r2 + v - in - let initial = - let common, others = - TermMap.fold foldfun (symbols_of_equality eq) (0, 0) in - others + (abs (common - card)) - in - let common, others = - TermMap.fold foldfun (symbols_of_equality e) (0, 0) in - let c = others + (abs (common - card)) in - if c < initial then true else false - in - List.filter filterfun new_pos - in - new_neg, new_pos -;; - - -let contains_empty env (negative, positive) = - let metasenv, context, ugraph = env in - try - let found = - List.find - (fun (w, proof, (ty, left, right, ordering), m, a) -> - fst (CicReduction.are_convertible context left right ugraph)) - negative - in - true, Some found - with Not_found -> - false, None -;; - - -(** simplifies current using active and passive *) -let forward_simplify env (sign, current) ?passive (active_list, active_table) = - let pl, passive_table = - match passive with - | None -> [], None - | Some ((pn, _), (pp, _), pt) -> - let pn = List.map (fun e -> (Negative, e)) pn - and pp = List.map (fun e -> (Positive, e)) pp in - pn @ pp, Some pt - in - let all = if pl = [] then active_list else active_list @ pl in - - let demodulate table current = - let newmeta, newcurrent = - Indexing.demodulation_equality !maxmeta env table sign current in - maxmeta := newmeta; - if is_identity env newcurrent then - if sign = Negative then Some (sign, newcurrent) - else ( -(* debug_print *) -(* (lazy *) -(* (Printf.sprintf "\ncurrent was: %s\nnewcurrent is: %s\n" *) -(* (string_of_equality current) *) -(* (string_of_equality newcurrent))); *) -(* debug_print *) -(* (lazy *) -(* (Printf.sprintf "active is: %s" *) -(* (String.concat "\n" *) -(* (List.map (fun (_, e) -> (string_of_equality e)) active_list)))); *) - None - ) - else - Some (sign, newcurrent) - in - let res = - let res = demodulate active_table current in - match res with - | None -> None - | Some (sign, newcurrent) -> - match passive_table with - | None -> res - | Some passive_table -> demodulate passive_table newcurrent - in - match res with - | None -> None - | Some (Negative, c) -> - let ok = not ( - List.exists - (fun (s, eq) -> s = Negative && meta_convertibility_eq eq c) - all) - in - if ok then res else None - | Some (Positive, c) -> - if Indexing.in_index active_table c then - None - else - match passive_table with - | None -> - if fst (Indexing.subsumption env active_table c) then - None - else - res - | Some passive_table -> - if Indexing.in_index passive_table c then None - else - let r1, _ = Indexing.subsumption env active_table c in - if r1 then None else - let r2, _ = Indexing.subsumption env passive_table c in - if r2 then None else res -;; - -type fs_time_info_t = { - mutable build_all: float; - mutable demodulate: float; - mutable subsumption: float; -};; - -let fs_time_info = { build_all = 0.; demodulate = 0.; subsumption = 0. };; - - -(** simplifies new using active and passive *) -let forward_simplify_new env (new_neg, new_pos) ?passive active = - let t1 = Unix.gettimeofday () in - - let active_list, active_table = active in - let pl, passive_table = - match passive with - | None -> [], None - | Some ((pn, _), (pp, _), pt) -> - let pn = List.map (fun e -> (Negative, e)) pn - and pp = List.map (fun e -> (Positive, e)) pp in - pn @ pp, Some pt - in - let all = active_list @ pl in - - let t2 = Unix.gettimeofday () in - fs_time_info.build_all <- fs_time_info.build_all +. (t2 -. t1); - - let demodulate sign table target = - let newmeta, newtarget = - Indexing.demodulation_equality !maxmeta env table sign target in - maxmeta := newmeta; - newtarget - in - let t1 = Unix.gettimeofday () in - - let new_neg, new_pos = - let new_neg = List.map (demodulate Negative active_table) new_neg - and new_pos = List.map (demodulate Positive active_table) new_pos in - match passive_table with - | None -> new_neg, new_pos - | Some passive_table -> - List.map (demodulate Negative passive_table) new_neg, - List.map (demodulate Positive passive_table) new_pos - in - - let t2 = Unix.gettimeofday () in - fs_time_info.demodulate <- fs_time_info.demodulate +. (t2 -. t1); - - let new_pos_set = - List.fold_left - (fun s e -> - if not (Inference.is_identity env e) then - if EqualitySet.mem e s then s - else EqualitySet.add e s - else s) - EqualitySet.empty new_pos - in - let new_pos = EqualitySet.elements new_pos_set in - - let subs = - match passive_table with - | None -> - (fun e -> not (fst (Indexing.subsumption env active_table e))) - | Some passive_table -> - (fun e -> not ((fst (Indexing.subsumption env active_table e)) || - (fst (Indexing.subsumption env passive_table e)))) - in -(* let t1 = Unix.gettimeofday () in *) -(* let t2 = Unix.gettimeofday () in *) -(* fs_time_info.subsumption <- fs_time_info.subsumption +. (t2 -. t1); *) - let is_duplicate = - match passive_table with - | None -> - (fun e -> not (Indexing.in_index active_table e)) - | Some passive_table -> - (fun e -> - not ((Indexing.in_index active_table e) || - (Indexing.in_index passive_table e))) - in - new_neg, List.filter subs (List.filter is_duplicate new_pos) -;; - - -(** simplifies active usign new *) -let backward_simplify_active env new_pos new_table min_weight active = - let active_list, active_table = active in - let active_list, newa = - List.fold_right - (fun (s, equality) (res, newn) -> - let ew, _, _, _, _ = equality in - if ew < min_weight then - (s, equality)::res, newn - else - match forward_simplify env (s, equality) (new_pos, new_table) with - | None -> res, newn - | Some (s, e) -> - if equality = e then - (s, e)::res, newn - else - res, (s, e)::newn) - active_list ([], []) - in - let find eq1 where = - List.exists (fun (s, e) -> meta_convertibility_eq eq1 e) where - in - let active, newa = - List.fold_right - (fun (s, eq) (res, tbl) -> - if List.mem (s, eq) res then - res, tbl - else if (is_identity env eq) || (find eq res) then ( - res, tbl - ) - else - (s, eq)::res, if s = Negative then tbl else Indexing.index tbl eq) - active_list ([], Indexing.empty_table ()), - List.fold_right - (fun (s, eq) (n, p) -> - if (s <> Negative) && (is_identity env eq) then ( - (n, p) - ) else - if s = Negative then eq::n, p - else n, eq::p) - newa ([], []) - in - match newa with - | [], [] -> active, None - | _ -> active, Some newa -;; - - -(** simplifies passive using new *) -let backward_simplify_passive env new_pos new_table min_weight passive = - let (nl, ns), (pl, ps), passive_table = passive in - let f sign equality (resl, ress, newn) = - let ew, _, _, _, _ = equality in - if ew < min_weight then - equality::resl, ress, newn - else - match forward_simplify env (sign, equality) (new_pos, new_table) with - | None -> resl, EqualitySet.remove equality ress, newn - | Some (s, e) -> - if equality = e then - equality::resl, ress, newn - else - let ress = EqualitySet.remove equality ress in - resl, ress, e::newn - in - let nl, ns, newn = List.fold_right (f Negative) nl ([], ns, []) - and pl, ps, newp = List.fold_right (f Positive) pl ([], ps, []) in - let passive_table = - List.fold_left - (fun tbl e -> Indexing.index tbl e) (Indexing.empty_table ()) pl - in - match newn, newp with - | [], [] -> ((nl, ns), (pl, ps), passive_table), None - | _, _ -> ((nl, ns), (pl, ps), passive_table), Some (newn, newp) -;; - - -let backward_simplify env new' ?passive active = - let new_pos, new_table, min_weight = - List.fold_left - (fun (l, t, w) e -> - let ew, _, _, _, _ = e in - (Positive, e)::l, Indexing.index t e, min ew w) - ([], Indexing.empty_table (), 1000000) (snd new') - in - let active, newa = - backward_simplify_active env new_pos new_table min_weight active in - match passive with - | None -> - active, (make_passive [] []), newa, None - | Some passive -> - let passive, newp = - backward_simplify_passive env new_pos new_table min_weight passive in - active, passive, newa, newp -;; - - -(* returns an estimation of how many equalities in passive can be activated - within the current time limit *) -let get_selection_estimate () = - elapsed_time := (Unix.gettimeofday ()) -. !start_time; - (* !processed_clauses * (int_of_float (!time_limit /. !elapsed_time)) *) - int_of_float ( - ceil ((float_of_int !processed_clauses) *. - ((!time_limit (* *. 2. *)) /. !elapsed_time -. 1.))) -;; - - -(** initializes the set of goals *) -let make_goals goal = - let active = [] - and passive = [0, [goal]] in - active, passive -;; - - -(** initializes the set of theorems *) -let make_theorems theorems = - theorems, [] -;; - - -let activate_goal (active, passive) = - match passive with - | goal_conj::tl -> true, (goal_conj::active, tl) - | [] -> false, (active, passive) -;; - - -let activate_theorem (active, passive) = - match passive with - | theorem::tl -> true, (theorem::active, tl) - | [] -> false, (active, passive) -;; - - -(** simplifies a goal with equalities in active and passive *) -let simplify_goal env goal ?passive (active_list, active_table) = - let pl, passive_table = - match passive with - | None -> [], None - | Some ((pn, _), (pp, _), pt) -> - let pn = List.map (fun e -> (Negative, e)) pn - and pp = List.map (fun e -> (Positive, e)) pp in - pn @ pp, Some pt - in - let all = if pl = [] then active_list else active_list @ pl in - - let demodulate table goal = - let newmeta, newgoal = - Indexing.demodulation_goal !maxmeta env table goal in - maxmeta := newmeta; - goal != newgoal, newgoal - in - let changed, goal = - match passive_table with - | None -> demodulate active_table goal - | Some passive_table -> - let changed, goal = demodulate active_table goal in - let changed', goal = demodulate passive_table goal in - (changed || changed'), goal - in - changed, goal -;; - - -let simplify_goals env goals ?passive active = - let a_goals, p_goals = goals in - let p_goals = - List.map - (fun (d, gl) -> - let gl = - List.map (fun g -> snd (simplify_goal env g ?passive active)) gl in - d, gl) - p_goals - in - let goals = - List.fold_left - (fun (a, p) (d, gl) -> - let changed = ref false in - let gl = - List.map - (fun g -> - let c, g = simplify_goal env g ?passive active in - changed := !changed || c; g) gl in - if !changed then (a, (d, gl)::p) else ((d, gl)::a, p)) - ([], p_goals) a_goals - in - goals -;; - - -let simplify_theorems env theorems ?passive (active_list, active_table) = - let pl, passive_table = - match passive with - | None -> [], None - | Some ((pn, _), (pp, _), pt) -> - let pn = List.map (fun e -> (Negative, e)) pn - and pp = List.map (fun e -> (Positive, e)) pp in - pn @ pp, Some pt - in - let all = if pl = [] then active_list else active_list @ pl in - let a_theorems, p_theorems = theorems in - let demodulate table theorem = - let newmeta, newthm = - Indexing.demodulation_theorem !maxmeta env table theorem in - maxmeta := newmeta; - theorem != newthm, newthm - in - let foldfun table (a, p) theorem = - let changed, theorem = demodulate table theorem in - if changed then (a, theorem::p) else (theorem::a, p) - in - let mapfun table theorem = snd (demodulate table theorem) in - match passive_table with - | None -> - let p_theorems = List.map (mapfun active_table) p_theorems in - List.fold_left (foldfun active_table) ([], p_theorems) a_theorems - | Some passive_table -> - let p_theorems = List.map (mapfun active_table) p_theorems in - let p_theorems, a_theorems = - List.fold_left (foldfun active_table) ([], p_theorems) a_theorems in - let p_theorems = List.map (mapfun passive_table) p_theorems in - List.fold_left (foldfun passive_table) ([], p_theorems) a_theorems -;; - - -(* applies equality to goal to see if the goal can be closed *) -let apply_equality_to_goal env equality goal = - let module C = Cic in - let module HL = HelmLibraryObjects in - let module I = Inference in - let metasenv, context, ugraph = env in - let _, proof, (ty, left, right, _), metas, args = equality in - let eqterm = - C.Appl [C.MutInd (LibraryObjects.eq_URI (), 0, []); ty; left; right] in - let gproof, gmetas, gterm = goal in -(* debug_print *) -(* (lazy *) -(* (Printf.sprintf "APPLY EQUALITY TO GOAL: %s, %s" *) -(* (string_of_equality equality) (CicPp.ppterm gterm))); *) - try - let subst, metasenv', _ = - let menv = metasenv @ metas @ gmetas in - Inference.unification menv context eqterm gterm ugraph - in - let newproof = - match proof with - | I.BasicProof t -> I.BasicProof (CicMetaSubst.apply_subst subst t) - | I.ProofBlock (s, uri, nt, t, pe, p) -> - I.ProofBlock (subst @ s, uri, nt, t, pe, p) - | _ -> assert false - in - let newgproof = - let rec repl = function - | I.ProofGoalBlock (_, gp) -> I.ProofGoalBlock (newproof, gp) - | I.NoProof -> newproof - | I.BasicProof p -> newproof - | I.SubProof (t, i, p) -> I.SubProof (t, i, repl p) - | _ -> assert false - in - repl gproof - in - true, subst, newgproof - with CicUnification.UnificationFailure _ -> - false, [], I.NoProof -;; - - - -let new_meta metasenv = - let m = CicMkImplicit.new_meta metasenv [] in - incr maxmeta; - while !maxmeta <= m do incr maxmeta done; - !maxmeta -;; - - -(* applies a theorem or an equality to goal, returning a list of subgoals or - an indication of failure *) -let apply_to_goal env theorems ?passive active goal = - let metasenv, context, ugraph = env in - let proof, metas, term = goal in - (* debug_print *) - (* (lazy *) - (* (Printf.sprintf "apply_to_goal with goal: %s" *) - (* (\* (string_of_proof proof) *\)(CicPp.ppterm term))); *) - let status = - let irl = - CicMkImplicit.identity_relocation_list_for_metavariable context in - let proof', newmeta = - let rec get_meta = function - | SubProof (t, i, p) -> - let t', i' = get_meta p in - if i' = -1 then t, i else t', i' - | ProofGoalBlock (_, p) -> get_meta p - | _ -> Cic.Implicit None, -1 - in - let p, m = get_meta proof in - if m = -1 then - let n = new_meta (metasenv @ metas) in - Cic.Meta (n, irl), n - else - p, m - in - let metasenv = (newmeta, context, term)::metasenv @ metas in - let bit = new_meta metasenv, context, term in - let metasenv' = bit::metasenv in - ((None, metasenv', Cic.Meta (newmeta, irl), term), newmeta) - in - let rec aux = function - | [] -> `No - | (theorem, thmty, _)::tl -> - try - let subst, (newproof, newgoals) = - PrimitiveTactics.apply_tac_verbose_with_subst ~term:theorem status - in - if newgoals = [] then - let _, _, p, _ = newproof in - let newp = - let rec repl = function - | Inference.ProofGoalBlock (_, gp) -> - Inference.ProofGoalBlock (Inference.BasicProof p, gp) - | Inference.NoProof -> Inference.BasicProof p - | Inference.BasicProof _ -> Inference.BasicProof p - | Inference.SubProof (t, i, p2) -> - Inference.SubProof (t, i, repl p2) - | _ -> assert false - in - repl proof - in - let _, m = status in - let subst = List.filter (fun (i, _) -> i = m) subst in - `Ok (subst, [newp, metas, term]) - else - let _, menv, p, _ = newproof in - let irl = - CicMkImplicit.identity_relocation_list_for_metavariable context - in - let goals = - List.map - (fun i -> - let _, _, ty = CicUtil.lookup_meta i menv in - let p' = - let rec gp = function - | SubProof (t, i, p) -> - SubProof (t, i, gp p) - | ProofGoalBlock (sp1, sp2) -> - ProofGoalBlock (sp1, gp sp2) - | BasicProof _ - | NoProof -> - SubProof (p, i, BasicProof (Cic.Meta (i, irl))) - | ProofSymBlock (s, sp) -> - ProofSymBlock (s, gp sp) - | ProofBlock (s, u, nt, t, pe, sp) -> - ProofBlock (s, u, nt, t, pe, gp sp) - in gp proof - in - (p', menv, ty)) - newgoals - in - let goals = - let weight t = - let w, m = weight_of_term t in - w + 2 * (List.length m) - in - List.sort - (fun (_, _, t1) (_, _, t2) -> - Pervasives.compare (weight t1) (weight t2)) - goals - in - let best = aux tl in - match best with - | `Ok (_, _) -> best - | `No -> `GoOn ([subst, goals]) - | `GoOn sl -> `GoOn ((subst, goals)::sl) - with ProofEngineTypes.Fail msg -> - aux tl - in - let r, s, l = - if Inference.term_is_equality term then - let rec appleq_a = function - | [] -> false, [], [] - | (Positive, equality)::tl -> - let ok, s, newproof = apply_equality_to_goal env equality goal in - if ok then true, s, [newproof, metas, term] else appleq_a tl - | _::tl -> appleq_a tl - in - let rec appleq_p = function - | [] -> false, [], [] - | equality::tl -> - let ok, s, newproof = apply_equality_to_goal env equality goal in - if ok then true, s, [newproof, metas, term] else appleq_p tl - in - let al, _ = active in - match passive with - | None -> appleq_a al - | Some (_, (pl, _), _) -> - let r, s, l = appleq_a al in if r then r, s, l else appleq_p pl - else - false, [], [] - in - if r = true then `Ok (s, l) else aux theorems -;; - - -(* sorts a conjunction of goals in order to detect earlier if it is - unsatisfiable. Non-predicate goals are placed at the end of the list *) -let sort_goal_conj (metasenv, context, ugraph) (depth, gl) = - let gl = - List.stable_sort - (fun (_, e1, g1) (_, e2, g2) -> - let ty1, _ = - CicTypeChecker.type_of_aux' (e1 @ metasenv) context g1 ugraph - and ty2, _ = - CicTypeChecker.type_of_aux' (e2 @ metasenv) context g2 ugraph - in - let prop1 = - let b, _ = - CicReduction.are_convertible context (Cic.Sort Cic.Prop) ty1 ugraph - in - if b then 0 else 1 - and prop2 = - let b, _ = - CicReduction.are_convertible context (Cic.Sort Cic.Prop) ty2 ugraph - in - if b then 0 else 1 - in - if prop1 = 0 && prop2 = 0 then - let e1 = if Inference.term_is_equality g1 then 0 else 1 - and e2 = if Inference.term_is_equality g2 then 0 else 1 in - e1 - e2 - else - prop1 - prop2) - gl - in - (depth, gl) -;; - - -let is_meta_closed goals = - List.for_all (fun (_, _, g) -> CicUtil.is_meta_closed g) goals -;; - - -(* applies a series of theorems/equalities to a conjunction of goals *) -let rec apply_to_goal_conj env theorems ?passive active (depth, goals) = - let aux (goal, r) tl = - let propagate_subst subst (proof, metas, term) = - let rec repl = function - | NoProof -> NoProof - | BasicProof t -> - BasicProof (CicMetaSubst.apply_subst subst t) - | ProofGoalBlock (p, pb) -> - let pb' = repl pb in - ProofGoalBlock (p, pb') - | SubProof (t, i, p) -> - let t' = CicMetaSubst.apply_subst subst t in - let p = repl p in - SubProof (t', i, p) - | ProofSymBlock (ens, p) -> ProofSymBlock (ens, repl p) - | ProofBlock (s, u, nty, t, pe, p) -> - ProofBlock (subst @ s, u, nty, t, pe, p) - in (repl proof, metas, term) - in - (* let r = apply_to_goal env theorems ?passive active goal in *) ( - match r with - | `No -> `No (depth, goals) - | `GoOn sl -> - let l = - List.map - (fun (s, gl) -> - let tl = List.map (propagate_subst s) tl in - sort_goal_conj env (depth+1, gl @ tl)) sl - in - `GoOn l - | `Ok (subst, gl) -> - if tl = [] then - `Ok (depth, gl) - else - let p, _, _ = List.hd gl in - let subproof = - let rec repl = function - | SubProof (_, _, p) -> repl p - | ProofGoalBlock (p1, p2) -> - ProofGoalBlock (repl p1, repl p2) - | p -> p - in - build_proof_term (repl p) - in - let i = - let rec get_meta = function - | SubProof (_, i, p) -> - let i' = get_meta p in - if i' = -1 then i else i' -(* max i (get_meta p) *) - | ProofGoalBlock (_, p) -> get_meta p - | _ -> -1 - in - get_meta p - in - let subst = - let _, (context, _, _) = List.hd subst in - [i, (context, subproof, Cic.Implicit None)] - in - let tl = List.map (propagate_subst subst) tl in - let conj = sort_goal_conj env (depth(* +1 *), tl) in - `GoOn ([conj]) - ) - in - if depth > !maxdepth || (List.length goals) > !maxwidth then - `No (depth, goals) - else - let rec search_best res = function - | [] -> res - | goal::tl -> - let r = apply_to_goal env theorems ?passive active goal in - match r with - | `Ok _ -> (goal, r) - | `No -> search_best res tl - | `GoOn l -> - let newres = - match res with - | _, `Ok _ -> assert false - | _, `No -> goal, r - | _, `GoOn l2 -> - if (List.length l) < (List.length l2) then goal, r else res - in - search_best newres tl - in - let hd = List.hd goals in - let res = hd, (apply_to_goal env theorems ?passive active hd) in - let best = - match res with - | _, `Ok _ -> res - | _, _ -> search_best res (List.tl goals) - in - let res = aux best (List.filter (fun g -> g != (fst best)) goals) in - match res with - | `GoOn ([conj]) when is_meta_closed (snd conj) && - (List.length (snd conj)) < (List.length goals)-> - apply_to_goal_conj env theorems ?passive active conj - | _ -> res -;; - - -(* -module OrderedGoals = struct - type t = int * (Inference.proof * Cic.metasenv * Cic.term) list - - let compare g1 g2 = - let d1, l1 = g1 - and d2, l2 = g2 in - let r = d2 - d1 in - if r <> 0 then r - else let r = (List.length l1) - (List.length l2) in - if r <> 0 then r - else - let res = ref 0 in - let _ = - List.exists2 - (fun (_, _, t1) (_, _, t2) -> - let r = Pervasives.compare t1 t2 in - if r <> 0 then ( - res := r; - true - ) else - false) l1 l2 - in !res -end - -module GoalsSet = Set.Make(OrderedGoals);; - - -exception SearchSpaceOver;; -*) - - -(* -let apply_to_goals env is_passive_empty theorems active goals = - debug_print (lazy "\n\n\tapply_to_goals\n\n"); - let add_to set goals = - List.fold_left (fun s g -> GoalsSet.add g s) set goals - in - let rec aux set = function - | [] -> - debug_print (lazy "HERE!!!"); - if is_passive_empty then raise SearchSpaceOver else false, set - | goals::tl -> - let res = apply_to_goal_conj env theorems active goals in - match res with - | `Ok newgoals -> - let _ = - let d, p, t = - match newgoals with - | (d, (p, _, t)::_) -> d, p, t - | _ -> assert false - in - debug_print - (lazy - (Printf.sprintf "\nOK!!!!\ndepth: %d\nProof: %s\ngoal: %s\n" - d (string_of_proof p) (CicPp.ppterm t))) - in - true, GoalsSet.singleton newgoals - | `GoOn newgoals -> - let set' = add_to set (goals::tl) in - let set' = add_to set' newgoals in - false, set' - | `No newgoals -> - aux set tl - in - let n = List.length goals in - let res, goals = aux (add_to GoalsSet.empty goals) goals in - let goals = GoalsSet.elements goals in - debug_print (lazy "\n\tapply_to_goals end\n"); - let m = List.length goals in - if m = n && is_passive_empty then - raise SearchSpaceOver - else - res, goals -;; -*) - - -(* sorts the list of passive goals to minimize the search for a proof (doesn't - work that well yet...) *) -let sort_passive_goals goals = - List.stable_sort - (fun (d1, l1) (d2, l2) -> - let r1 = d2 - d1 - and r2 = (List.length l1) - (List.length l2) in - let foldfun ht (_, _, t) = - let _ = List.map (fun i -> Hashtbl.replace ht i 1) (metas_of_term t) - in ht - in - let m1 = Hashtbl.length (List.fold_left foldfun (Hashtbl.create 3) l1) - and m2 = Hashtbl.length (List.fold_left foldfun (Hashtbl.create 3) l2) - in let r3 = m1 - m2 in - if r3 <> 0 then r3 - else if r2 <> 0 then r2 - else r1) - (* let _, _, g1 = List.hd l1 *) -(* and _, _, g2 = List.hd l2 in *) -(* let e1 = if Inference.term_is_equality g1 then 0 else 1 *) -(* and e2 = if Inference.term_is_equality g2 then 0 else 1 *) -(* in let r4 = e1 - e2 in *) -(* if r4 <> 0 then r3 else r1) *) - goals -;; - - -let print_goals goals = - (String.concat "\n" - (List.map - (fun (d, gl) -> - let gl' = - List.map - (fun (p, _, t) -> - (* (string_of_proof p) ^ ", " ^ *) (CicPp.ppterm t)) gl - in - Printf.sprintf "%d: %s" d (String.concat "; " gl')) goals)) -;; - - -(* tries to prove the first conjunction in goals with applications of - theorems/equalities, returning new sub-goals or an indication of success *) -let apply_goal_to_theorems dbd env theorems ?passive active goals = - let theorems, _ = theorems in - let a_goals, p_goals = goals in - let goal = List.hd a_goals in - let not_in_active gl = - not - (List.exists - (fun (_, gl') -> - if (List.length gl) = (List.length gl') then - List.for_all2 (fun (_, _, g1) (_, _, g2) -> g1 = g2) gl gl' - else - false) - a_goals) - in - let aux theorems = - let res = apply_to_goal_conj env theorems ?passive active goal in - match res with - | `Ok newgoals -> - true, ([newgoals], []) - | `No _ -> - false, (a_goals, p_goals) - | `GoOn newgoals -> - let newgoals = - List.filter - (fun (d, gl) -> - (d <= !maxdepth) && (List.length gl) <= !maxwidth && - not_in_active gl) - newgoals in - let p_goals = newgoals @ p_goals in - let p_goals = sort_passive_goals p_goals in - false, (a_goals, p_goals) - in - aux theorems -;; - - -let apply_theorem_to_goals env theorems active goals = - let a_goals, p_goals = goals in - let theorem = List.hd (fst theorems) in - let theorems = [theorem] in - let rec aux p = function - | [] -> false, ([], p) - | goal::tl -> - let res = apply_to_goal_conj env theorems active goal in - match res with - | `Ok newgoals -> true, ([newgoals], []) - | `No _ -> aux p tl - | `GoOn newgoals -> aux (newgoals @ p) tl - in - let ok, (a, p) = aux p_goals a_goals in - if ok then - ok, (a, p) - else - let p_goals = - List.stable_sort - (fun (d1, l1) (d2, l2) -> - let r = d2 - d1 in - if r <> 0 then r - else let r = (List.length l1) - (List.length l2) in - if r <> 0 then r - else - let res = ref 0 in - let _ = - List.exists2 - (fun (_, _, t1) (_, _, t2) -> - let r = Pervasives.compare t1 t2 in - if r <> 0 then (res := r; true) else false) l1 l2 - in !res) - p - in - ok, (a_goals, p_goals) -;; - - -(* given-clause algorithm with lazy reduction strategy *) -let rec given_clause dbd env goals theorems passive active = - let goals = simplify_goals env goals active in - let ok, goals = activate_goal goals in - (* let theorems = simplify_theorems env theorems active in *) - if ok then - let ok, goals = apply_goal_to_theorems dbd env theorems active goals in - if ok then - let proof = - match (fst goals) with - | (_, [proof, _, _])::_ -> Some proof - | _ -> assert false - in - ParamodulationSuccess (proof, env) - else - given_clause_aux dbd env goals theorems passive active - else -(* let ok', theorems = activate_theorem theorems in *) - let ok', theorems = false, theorems in - if ok' then - let ok, goals = apply_theorem_to_goals env theorems active goals in - if ok then - let proof = - match (fst goals) with - | (_, [proof, _, _])::_ -> Some proof - | _ -> assert false - in - ParamodulationSuccess (proof, env) - else - given_clause_aux dbd env goals theorems passive active - else - if (passive_is_empty passive) then ParamodulationFailure - else given_clause_aux dbd env goals theorems passive active - -and given_clause_aux dbd env goals theorems passive active = - let time1 = Unix.gettimeofday () in - - let selection_estimate = get_selection_estimate () in - let kept = size_of_passive passive in - let passive = - if !time_limit = 0. || !processed_clauses = 0 then - passive - else if !elapsed_time > !time_limit then ( - debug_print (lazy (Printf.sprintf "Time limit (%.2f) reached: %.2f\n" - !time_limit !elapsed_time)); - make_passive [] [] - ) else if kept > selection_estimate then ( - debug_print - (lazy (Printf.sprintf ("Too many passive equalities: pruning..." ^^ - "(kept: %d, selection_estimate: %d)\n") - kept selection_estimate)); - prune_passive selection_estimate active passive - ) else - passive - in - - let time2 = Unix.gettimeofday () in - passive_maintainance_time := !passive_maintainance_time +. (time2 -. time1); - - kept_clauses := (size_of_passive passive) + (size_of_active active); - match passive_is_empty passive with - | true -> (* ParamodulationFailure *) - given_clause dbd env goals theorems passive active - | false -> - let (sign, current), passive = select env (fst goals) passive active in - let time1 = Unix.gettimeofday () in - let res = forward_simplify env (sign, current) ~passive active in - let time2 = Unix.gettimeofday () in - forward_simpl_time := !forward_simpl_time +. (time2 -. time1); - match res with - | None -> - given_clause dbd env goals theorems passive active - | Some (sign, current) -> - if (sign = Negative) && (is_identity env current) then ( - debug_print - (lazy (Printf.sprintf "OK!!! %s %s" (string_of_sign sign) - (string_of_equality ~env current))); - let _, proof, _, _, _ = current in - ParamodulationSuccess (Some proof, env) - ) else ( - debug_print - (lazy "\n================================================"); - debug_print (lazy (Printf.sprintf "selected: %s %s" - (string_of_sign sign) - (string_of_equality ~env current))); - - let t1 = Unix.gettimeofday () in - let new' = infer env sign current active in - let t2 = Unix.gettimeofday () in - infer_time := !infer_time +. (t2 -. t1); - - let res, goal' = contains_empty env new' in - if res then - let proof = - match goal' with - | Some goal -> let _, proof, _, _, _ = goal in Some proof - | None -> None - in - ParamodulationSuccess (proof, env) - else - let t1 = Unix.gettimeofday () in - let new' = forward_simplify_new env new' active in - let t2 = Unix.gettimeofday () in - let _ = - forward_simpl_new_time := - !forward_simpl_new_time +. (t2 -. t1) - in - let active = - match sign with - | Negative -> active - | Positive -> - let t1 = Unix.gettimeofday () in - let active, _, newa, _ = - backward_simplify env ([], [current]) active - in - let t2 = Unix.gettimeofday () in - backward_simpl_time := - !backward_simpl_time +. (t2 -. t1); - match newa with - | None -> active - | Some (n, p) -> - let al, tbl = active in - let nn = List.map (fun e -> Negative, e) n in - let pp, tbl = - List.fold_right - (fun e (l, t) -> - (Positive, e)::l, - Indexing.index tbl e) - p ([], tbl) - in - nn @ al @ pp, tbl - in - match contains_empty env new' with - | false, _ -> - let active = - let al, tbl = active in - match sign with - | Negative -> (sign, current)::al, tbl - | Positive -> - al @ [(sign, current)], Indexing.index tbl current - in - let passive = add_to_passive passive new' in - let (_, ns), (_, ps), _ = passive in - given_clause dbd env goals theorems passive active - | true, goal -> - let proof = - match goal with - | Some goal -> - let _, proof, _, _, _ = goal in Some proof - | None -> None - in - ParamodulationSuccess (proof, env) - ) -;; - - -(** given-clause algorithm with full reduction strategy *) -let rec given_clause_fullred dbd env goals theorems passive active = - let goals = simplify_goals env goals ~passive active in - let ok, goals = activate_goal goals in -(* let theorems = simplify_theorems env theorems ~passive active in *) - if ok then -(* let _ = *) -(* debug_print *) -(* (lazy *) -(* (Printf.sprintf "\ngoals = \nactive\n%s\npassive\n%s\n" *) -(* (print_goals (fst goals)) (print_goals (snd goals)))); *) -(* let current = List.hd (fst goals) in *) -(* let p, _, t = List.hd (snd current) in *) -(* debug_print *) -(* (lazy *) -(* (Printf.sprintf "goal activated:\n%s\n%s\n" *) -(* (CicPp.ppterm t) (string_of_proof p))); *) -(* in *) - let ok, goals = - apply_goal_to_theorems dbd env theorems ~passive active goals - in - if ok then - let proof = - match (fst goals) with - | (_, [proof, _, _])::_ -> Some proof - | _ -> assert false - in - ParamodulationSuccess (proof, env) - else - given_clause_fullred_aux dbd env goals theorems passive active - else -(* let ok', theorems = activate_theorem theorems in *) -(* if ok' then *) -(* let ok, goals = apply_theorem_to_goals env theorems active goals in *) -(* if ok then *) -(* let proof = *) -(* match (fst goals) with *) -(* | (_, [proof, _, _])::_ -> Some proof *) -(* | _ -> assert false *) -(* in *) -(* ParamodulationSuccess (proof, env) *) -(* else *) -(* given_clause_fullred_aux env goals theorems passive active *) -(* else *) - if (passive_is_empty passive) then ParamodulationFailure - else given_clause_fullred_aux dbd env goals theorems passive active - -and given_clause_fullred_aux dbd env goals theorems passive active = - let time1 = Unix.gettimeofday () in - - let selection_estimate = get_selection_estimate () in - let kept = size_of_passive passive in - let passive = - if !time_limit = 0. || !processed_clauses = 0 then - passive - else if !elapsed_time > !time_limit then ( - debug_print (lazy (Printf.sprintf "Time limit (%.2f) reached: %.2f\n" - !time_limit !elapsed_time)); - make_passive [] [] - ) else if kept > selection_estimate then ( - debug_print - (lazy (Printf.sprintf ("Too many passive equalities: pruning..." ^^ - "(kept: %d, selection_estimate: %d)\n") - kept selection_estimate)); - prune_passive selection_estimate active passive - ) else - passive - in - - let time2 = Unix.gettimeofday () in - passive_maintainance_time := !passive_maintainance_time +. (time2 -. time1); - - kept_clauses := (size_of_passive passive) + (size_of_active active); - match passive_is_empty passive with - | true -> (* ParamodulationFailure *) - given_clause_fullred dbd env goals theorems passive active - | false -> - let (sign, current), passive = select env (fst goals) passive active in - let time1 = Unix.gettimeofday () in - let res = forward_simplify env (sign, current) ~passive active in - let time2 = Unix.gettimeofday () in - forward_simpl_time := !forward_simpl_time +. (time2 -. time1); - match res with - | None -> - given_clause_fullred dbd env goals theorems passive active - | Some (sign, current) -> - if (sign = Negative) && (is_identity env current) then ( - debug_print - (lazy (Printf.sprintf "OK!!! %s %s" (string_of_sign sign) - (string_of_equality ~env current))); - let _, proof, _, _, _ = current in - ParamodulationSuccess (Some proof, env) - ) else ( - debug_print - (lazy "\n================================================"); - debug_print (lazy (Printf.sprintf "selected: %s %s" - (string_of_sign sign) - (string_of_equality ~env current))); - - let t1 = Unix.gettimeofday () in - let new' = infer env sign current active in - let t2 = Unix.gettimeofday () in - infer_time := !infer_time +. (t2 -. t1); - - let active = - if is_identity env current then active - else - let al, tbl = active in - match sign with - | Negative -> (sign, current)::al, tbl - | Positive -> - al @ [(sign, current)], Indexing.index tbl current - in - let rec simplify new' active passive = - let t1 = Unix.gettimeofday () in - let new' = forward_simplify_new env new' ~passive active in - let t2 = Unix.gettimeofday () in - forward_simpl_new_time := - !forward_simpl_new_time +. (t2 -. t1); - let t1 = Unix.gettimeofday () in - let active, passive, newa, retained = - backward_simplify env new' ~passive active in - let t2 = Unix.gettimeofday () in - backward_simpl_time := !backward_simpl_time +. (t2 -. t1); - match newa, retained with - | None, None -> active, passive, new' - | Some (n, p), None - | None, Some (n, p) -> - let nn, np = new' in - simplify (nn @ n, np @ p) active passive - | Some (n, p), Some (rn, rp) -> - let nn, np = new' in - simplify (nn @ n @ rn, np @ p @ rp) active passive - in - let active, passive, new' = simplify new' active passive in - - let k = size_of_passive passive in - if k < (kept - 1) then - processed_clauses := !processed_clauses + (kept - 1 - k); - - let _ = - debug_print - (lazy - (Printf.sprintf "active:\n%s\n" - (String.concat "\n" - ((List.map - (fun (s, e) -> (string_of_sign s) ^ " " ^ - (string_of_equality ~env e)) - (fst active)))))) - in - let _ = - match new' with - | neg, pos -> - debug_print - (lazy - (Printf.sprintf "new':\n%s\n" - (String.concat "\n" - ((List.map - (fun e -> "Negative " ^ - (string_of_equality ~env e)) neg) @ - (List.map - (fun e -> "Positive " ^ - (string_of_equality ~env e)) pos))))) - in - match contains_empty env new' with - | false, _ -> - let passive = add_to_passive passive new' in - given_clause_fullred dbd env goals theorems passive active - | true, goal -> - let proof = - match goal with - | Some goal -> let _, proof, _, _, _ = goal in Some proof - | None -> None - in - ParamodulationSuccess (proof, env) - ) -;; - - - -let main dbd full term metasenv ugraph = - let module C = Cic in - let module T = CicTypeChecker in - let module PET = ProofEngineTypes in - let module PP = CicPp in - let proof = None, (1, [], term)::metasenv, C.Meta (1, []), term in - let status = PET.apply_tactic (PrimitiveTactics.intros_tac ()) (proof, 1) in - let proof, goals = status in - let goal' = List.nth goals 0 in - let _, metasenv, meta_proof, _ = proof in - let _, context, goal = CicUtil.lookup_meta goal' metasenv in - let eq_indexes, equalities, maxm = find_equalities context proof in - let lib_eq_uris, library_equalities, maxm = - find_library_equalities dbd context (proof, goal') (maxm+2) - in - let library_equalities = List.map snd library_equalities in - maxmeta := maxm+2; (* TODO ugly!! *) - let irl = CicMkImplicit.identity_relocation_list_for_metavariable context in - let new_meta_goal, metasenv, type_of_goal = - let _, context, ty = CicUtil.lookup_meta goal' metasenv in - debug_print - (lazy - (Printf.sprintf "\n\nTIPO DEL GOAL: %s\n\n" (CicPp.ppterm ty))); - Cic.Meta (maxm+1, irl), - (maxm+1, context, ty)::metasenv, - ty - in - let env = (metasenv, context, ugraph) in - let t1 = Unix.gettimeofday () in - let theorems = - if full then - let theorems = find_library_theorems dbd env (proof, goal') lib_eq_uris in - let context_hyp = find_context_hypotheses env eq_indexes in - context_hyp @ theorems, [] - else - let refl_equal = - let us = UriManager.string_of_uri (LibraryObjects.eq_URI ()) in - UriManager.uri_of_string (us ^ "#xpointer(1/1/1)") - in - let t = CicUtil.term_of_uri refl_equal in - let ty, _ = CicTypeChecker.type_of_aux' [] [] t CicUniv.empty_ugraph in - [(t, ty, [])], [] - in - let t2 = Unix.gettimeofday () in - debug_print - (lazy - (Printf.sprintf "Time to retrieve theorems: %.9f\n" (t2 -. t1))); - let _ = - debug_print - (lazy - (Printf.sprintf - "Theorems:\n-------------------------------------\n%s\n" - (String.concat "\n" - (List.map - (fun (t, ty, _) -> - Printf.sprintf - "Term: %s, type: %s" (CicPp.ppterm t) (CicPp.ppterm ty)) - (fst theorems))))) - in - try - let goal = Inference.BasicProof new_meta_goal, [], goal in - let equalities = - let equalities = equalities @ library_equalities in - debug_print - (lazy - (Printf.sprintf "equalities:\n%s\n" - (String.concat "\n" - (List.map string_of_equality equalities)))); - debug_print (lazy "SIMPLYFYING EQUALITIES..."); - let rec simpl e others others_simpl = - let active = others @ others_simpl in - let tbl = - List.fold_left - (fun t (_, e) -> Indexing.index t e) - (Indexing.empty_table ()) active - in - let res = forward_simplify env e (active, tbl) in - match others with - | hd::tl -> ( - match res with - | None -> simpl hd tl others_simpl - | Some e -> simpl hd tl (e::others_simpl) - ) - | [] -> ( - match res with - | None -> others_simpl - | Some e -> e::others_simpl - ) - in - match equalities with - | [] -> [] - | hd::tl -> - let others = List.map (fun e -> (Positive, e)) tl in - let res = - List.rev (List.map snd (simpl (Positive, hd) others [])) - in - debug_print - (lazy - (Printf.sprintf "equalities AFTER:\n%s\n" - (String.concat "\n" - (List.map string_of_equality res)))); - res - in - let active = make_active () in - let passive = make_passive [] equalities in - Printf.printf "\ncurrent goal: %s\n" - (let _, _, g = goal in CicPp.ppterm g); - Printf.printf "\ncontext:\n%s\n" (PP.ppcontext context); - Printf.printf "\nmetasenv:\n%s\n" (print_metasenv metasenv); - Printf.printf "\nequalities:\n%s\n" - (String.concat "\n" - (List.map - (string_of_equality ~env) equalities)); -(* (equalities @ library_equalities))); *) - print_endline "--------------------------------------------------"; - let start = Unix.gettimeofday () in - print_endline "GO!"; - start_time := Unix.gettimeofday (); - let res = - let goals = make_goals goal in - (if !use_fullred then given_clause_fullred else given_clause) - dbd env goals theorems passive active - in - let finish = Unix.gettimeofday () in - let _ = - match res with - | ParamodulationFailure -> - Printf.printf "NO proof found! :-(\n\n" - | ParamodulationSuccess (Some proof, env) -> - let proof = Inference.build_proof_term proof in - Printf.printf "OK, found a proof!\n"; - (* REMEMBER: we have to instantiate meta_proof, we should use - apply the "apply" tactic to proof and status - *) - let names = names_of_context context in - print_endline (PP.pp proof names); - let newmetasenv = - List.fold_left - (fun m (_, _, _, menv, _) -> m @ menv) metasenv equalities - in - let _ = - try - let ty, ug = - CicTypeChecker.type_of_aux' newmetasenv context proof ugraph - in - print_endline (string_of_float (finish -. start)); - Printf.printf - "\nGOAL was: %s\nPROOF has type: %s\nconvertible?: %s\n\n" - (CicPp.pp type_of_goal names) (CicPp.pp ty names) - (string_of_bool - (fst (CicReduction.are_convertible - context type_of_goal ty ug))); - with e -> - Printf.printf "\nEXCEPTION!!! %s\n" (Printexc.to_string e); - Printf.printf "MAXMETA USED: %d\n" !maxmeta; - print_endline (string_of_float (finish -. start)); - in - () - - | ParamodulationSuccess (None, env) -> - Printf.printf "Success, but no proof?!?\n\n" - in - Printf.printf ("infer_time: %.9f\nforward_simpl_time: %.9f\n" ^^ - "forward_simpl_new_time: %.9f\n" ^^ - "backward_simpl_time: %.9f\n") - !infer_time !forward_simpl_time !forward_simpl_new_time - !backward_simpl_time; - Printf.printf "passive_maintainance_time: %.9f\n" - !passive_maintainance_time; - Printf.printf " successful unification/matching time: %.9f\n" - !Indexing.match_unif_time_ok; - Printf.printf " failed unification/matching time: %.9f\n" - !Indexing.match_unif_time_no; - Printf.printf " indexing retrieval time: %.9f\n" - !Indexing.indexing_retrieval_time; - Printf.printf " demodulate_term.build_newtarget_time: %.9f\n" - !Indexing.build_newtarget_time; - Printf.printf "derived %d clauses, kept %d clauses.\n" - !derived_clauses !kept_clauses; - with exc -> - print_endline ("EXCEPTION: " ^ (Printexc.to_string exc)); - raise exc -;; - - -let default_depth = !maxdepth -and default_width = !maxwidth;; - -let reset_refs () = - maxmeta := 0; - symbols_counter := 0; - weight_age_counter := !weight_age_ratio; - processed_clauses := 0; - start_time := 0.; - elapsed_time := 0.; - maximal_retained_equality := None; - infer_time := 0.; - forward_simpl_time := 0.; - forward_simpl_new_time := 0.; - backward_simpl_time := 0.; - passive_maintainance_time := 0.; - derived_clauses := 0; - kept_clauses := 0; -;; - -let saturate - dbd ?(full=false) ?(depth=default_depth) ?(width=default_width) status = - let module C = Cic in - reset_refs (); - Indexing.init_index (); - maxdepth := depth; - maxwidth := width; - let proof, goal = status in - let goal' = goal in - let uri, metasenv, meta_proof, term_to_prove = proof in - let _, context, goal = CicUtil.lookup_meta goal' metasenv in - let eq_indexes, equalities, maxm = find_equalities context proof in - let new_meta_goal, metasenv, type_of_goal = - let irl = - CicMkImplicit.identity_relocation_list_for_metavariable context in - let _, context, ty = CicUtil.lookup_meta goal' metasenv in - debug_print - (lazy (Printf.sprintf "\n\nTIPO DEL GOAL: %s\n" (CicPp.ppterm ty))); - Cic.Meta (maxm+1, irl), - (maxm+1, context, ty)::metasenv, - ty - in - let ugraph = CicUniv.empty_ugraph in - let env = (metasenv, context, ugraph) in - let goal = Inference.BasicProof new_meta_goal, [], goal in - let res, time = - let t1 = Unix.gettimeofday () in - let lib_eq_uris, library_equalities, maxm = - find_library_equalities dbd context (proof, goal') (maxm+2) - in - let library_equalities = List.map snd library_equalities in - let t2 = Unix.gettimeofday () in - maxmeta := maxm+2; - let equalities = - let equalities = equalities @ library_equalities in - debug_print - (lazy - (Printf.sprintf "equalities:\n%s\n" - (String.concat "\n" - (List.map string_of_equality equalities)))); - debug_print (lazy "SIMPLYFYING EQUALITIES..."); - let rec simpl e others others_simpl = - let active = others @ others_simpl in - let tbl = - List.fold_left - (fun t (_, e) -> Indexing.index t e) - (Indexing.empty_table ()) active - in - let res = forward_simplify env e (active, tbl) in - match others with - | hd::tl -> ( - match res with - | None -> simpl hd tl others_simpl - | Some e -> simpl hd tl (e::others_simpl) - ) - | [] -> ( - match res with - | None -> others_simpl - | Some e -> e::others_simpl - ) - in - match equalities with - | [] -> [] - | hd::tl -> - let others = List.map (fun e -> (Positive, e)) tl in - let res = - List.rev (List.map snd (simpl (Positive, hd) others [])) - in - debug_print - (lazy - (Printf.sprintf "equalities AFTER:\n%s\n" - (String.concat "\n" - (List.map string_of_equality res)))); - res - in - debug_print - (lazy - (Printf.sprintf "Time to retrieve equalities: %.9f\n" (t2 -. t1))); - let t1 = Unix.gettimeofday () in - let theorems = - if full then - let thms = find_library_theorems dbd env (proof, goal') lib_eq_uris in - let context_hyp = find_context_hypotheses env eq_indexes in - context_hyp @ thms, [] - else - let refl_equal = - let us = UriManager.string_of_uri (LibraryObjects.eq_URI ()) in - UriManager.uri_of_string (us ^ "#xpointer(1/1/1)") - in - let t = CicUtil.term_of_uri refl_equal in - let ty, _ = CicTypeChecker.type_of_aux' [] [] t CicUniv.empty_ugraph in - [(t, ty, [])], [] - in - let t2 = Unix.gettimeofday () in - let _ = - debug_print - (lazy - (Printf.sprintf - "Theorems:\n-------------------------------------\n%s\n" - (String.concat "\n" - (List.map - (fun (t, ty, _) -> - Printf.sprintf - "Term: %s, type: %s" - (CicPp.ppterm t) (CicPp.ppterm ty)) - (fst theorems))))); - debug_print - (lazy - (Printf.sprintf "Time to retrieve theorems: %.9f\n" (t2 -. t1))); - in - let active = make_active () in - let passive = make_passive [] equalities in - let start = Unix.gettimeofday () in - let res = - let goals = make_goals goal in - given_clause_fullred dbd env goals theorems passive active - in - let finish = Unix.gettimeofday () in - (res, finish -. start) - in - match res with - | ParamodulationSuccess (Some proof, env) -> - debug_print (lazy "OK, found a proof!"); - let proof = Inference.build_proof_term proof in - let names = names_of_context context in - let newmetasenv = - let i1 = - match new_meta_goal with - | C.Meta (i, _) -> i | _ -> assert false - in - List.filter (fun (i, _, _) -> i <> i1 && i <> goal') metasenv - in - let newstatus = - try - let ty, ug = - CicTypeChecker.type_of_aux' newmetasenv context proof ugraph - in - debug_print (lazy (CicPp.pp proof [](* names *))); - debug_print - (lazy - (Printf.sprintf - "\nGOAL was: %s\nPROOF has type: %s\nconvertible?: %s\n" - (CicPp.pp type_of_goal names) (CicPp.pp ty names) - (string_of_bool - (fst (CicReduction.are_convertible - context type_of_goal ty ug))))); - let equality_for_replace i t1 = - match t1 with - | C.Meta (n, _) -> n = i - | _ -> false - in - let real_proof = - ProofEngineReduction.replace - ~equality:equality_for_replace - ~what:[goal'] ~with_what:[proof] - ~where:meta_proof - in - debug_print - (lazy - (Printf.sprintf "status:\n%s\n%s\n%s\n%s\n" - (match uri with Some uri -> UriManager.string_of_uri uri - | None -> "") - (print_metasenv newmetasenv) - (CicPp.pp real_proof [](* names *)) - (CicPp.pp term_to_prove names))); - ((uri, newmetasenv, real_proof, term_to_prove), []) - with CicTypeChecker.TypeCheckerFailure _ -> - debug_print (lazy "THE PROOF DOESN'T TYPECHECK!!!"); - debug_print (lazy (CicPp.pp proof names)); - raise (ProofEngineTypes.Fail - (lazy "Found a proof, but it doesn't typecheck")) - in - debug_print (lazy (Printf.sprintf "\nTIME NEEDED: %.9f" time)); - newstatus - | _ -> - raise (ProofEngineTypes.Fail (lazy "NO proof found")) -;; - -(* dummy function called within matita to trigger linkage *) -let init () = ();; - - -(* UGLY SIDE EFFECT... *) -if connect_to_auto then ( - AutoTactic.paramodulation_tactic := saturate; - AutoTactic.term_is_equality := Inference.term_is_equality; -);; - - -let retrieve_and_print dbd term metasenv ugraph = - let module C = Cic in - let module T = CicTypeChecker in - let module PET = ProofEngineTypes in - let module PP = CicPp in - let proof = None, (1, [], term)::metasenv, C.Meta (1, []), term in - let status = PET.apply_tactic (PrimitiveTactics.intros_tac ()) (proof, 1) in - let proof, goals = status in - let goal' = List.nth goals 0 in - let uri, metasenv, meta_proof, term_to_prove = proof in - let _, context, goal = CicUtil.lookup_meta goal' metasenv in - let eq_indexes, equalities, maxm = find_equalities context proof in - let new_meta_goal, metasenv, type_of_goal = - let irl = - CicMkImplicit.identity_relocation_list_for_metavariable context in - let _, context, ty = CicUtil.lookup_meta goal' metasenv in - debug_print - (lazy (Printf.sprintf "\n\nTIPO DEL GOAL: %s\n" (CicPp.ppterm ty))); - Cic.Meta (maxm+1, irl), - (maxm+1, context, ty)::metasenv, - ty - in - let ugraph = CicUniv.empty_ugraph in - let env = (metasenv, context, ugraph) in - let goal = Inference.BasicProof new_meta_goal, [], goal in - let t1 = Unix.gettimeofday () in - let lib_eq_uris, library_equalities, maxm = - find_library_equalities dbd context (proof, goal') (maxm+2) - in - let t2 = Unix.gettimeofday () in - maxmeta := maxm+2; - let equalities = - let equalities = (* equalities @ *) library_equalities in - debug_print - (lazy - (Printf.sprintf "\n\nequalities:\n%s\n" - (String.concat "\n" - (List.map - (fun (u, e) -> -(* Printf.sprintf "%s: %s" *) - (UriManager.string_of_uri u) -(* (string_of_equality e) *) - ) - equalities)))); - debug_print (lazy "SIMPLYFYING EQUALITIES..."); - let rec simpl e others others_simpl = - let (u, e) = e in - let active = List.map (fun (u, e) -> (Positive, e)) - (others @ others_simpl) in - let tbl = - List.fold_left - (fun t (_, e) -> Indexing.index t e) - (Indexing.empty_table ()) active - in - let res = forward_simplify env (Positive, e) (active, tbl) in - match others with - | hd::tl -> ( - match res with - | None -> simpl hd tl others_simpl - | Some e -> simpl hd tl ((u, (snd e))::others_simpl) - ) - | [] -> ( - match res with - | None -> others_simpl - | Some e -> (u, (snd e))::others_simpl - ) - in - match equalities with - | [] -> [] - | hd::tl -> - let others = tl in (* List.map (fun e -> (Positive, e)) tl in *) - let res = - List.rev (simpl (*(Positive,*) hd others []) - in - debug_print - (lazy - (Printf.sprintf "\nequalities AFTER:\n%s\n" - (String.concat "\n" - (List.map - (fun (u, e) -> - Printf.sprintf "%s: %s" - (UriManager.string_of_uri u) - (string_of_equality e) - ) - res)))); - res - in - debug_print - (lazy - (Printf.sprintf "Time to retrieve equalities: %.9f\n" (t2 -. t1))) -;; diff --git a/helm/ocaml/paramodulation/test_indexing.ml b/helm/ocaml/paramodulation/test_indexing.ml deleted file mode 100644 index 5681a5d08..000000000 --- a/helm/ocaml/paramodulation/test_indexing.ml +++ /dev/null @@ -1,251 +0,0 @@ -open Path_indexing - -(* -let build_equality term = - let module C = Cic in - C.Implicit None, (C.Implicit None, term, C.Rel 1, Utils.Gt), [], [] -;; - - -(* - f = Rel 1 - g = Rel 2 - a = Rel 3 - b = Rel 4 - c = Rel 5 -*) -let path_indexing_test () = - let module C = Cic in - let terms = [ - C.Appl [C.Rel 1; C.Appl [C.Rel 2; C.Rel 3; C.Meta (1, [])]; C.Rel 5]; - C.Appl [C.Rel 1; C.Appl [C.Rel 2; C.Meta (1, []); C.Rel 4]; C.Meta (1, [])]; - C.Appl [C.Rel 1; C.Appl [C.Rel 2; C.Rel 3; C.Rel 4]; C.Rel 5]; - C.Appl [C.Rel 1; C.Appl [C.Rel 2; C.Meta (1, []); C.Rel 5]; C.Rel 4]; - C.Appl [C.Rel 1; C.Meta (1, []); C.Meta (1, [])] - ] in - let path_strings = List.map (path_strings_of_term 0) terms in - let table = - List.fold_left index PSTrie.empty (List.map build_equality terms) in - let query = - C.Appl [C.Rel 1; C.Appl [C.Rel 2; C.Meta (1, []); C.Rel 4]; C.Rel 5] in - let matches = retrieve_generalizations table query in - let unifications = retrieve_unifiables table query in - let eq1 = build_equality (C.Appl [C.Rel 1; C.Meta (1, []); C.Meta (1, [])]) - and eq2 = build_equality (C.Appl [C.Rel 1; C.Meta (1, []); C.Meta (2, [])]) in - let res1 = in_index table eq1 - and res2 = in_index table eq2 in - let print_results res = - String.concat "\n" - (PosEqSet.fold - (fun (p, e) l -> - let s = - "(" ^ (Utils.string_of_pos p) ^ ", " ^ - (Inference.string_of_equality e) ^ ")" - in - s::l) - res []) - in - Printf.printf "path_strings:\n%s\n\n" - (String.concat "\n" - (List.map - (fun l -> - "{" ^ (String.concat "; " (List.map string_of_path_string l)) ^ "}" - ) path_strings)); - Printf.printf "table:\n%s\n\n" (string_of_pstrie table); - Printf.printf "matches:\n%s\n\n" (print_results matches); - Printf.printf "unifications:\n%s\n\n" (print_results unifications); - Printf.printf "in_index %s: %s\n" - (Inference.string_of_equality eq1) (string_of_bool res1); - Printf.printf "in_index %s: %s\n" - (Inference.string_of_equality eq2) (string_of_bool res2); -;; - - -let differing () = - let module C = Cic in - let t1 = - C.Appl [C.Rel 1; C.Appl [C.Rel 2; C.Rel 3; C.Meta (1, [])]; C.Rel 5] - and t2 = - C.Appl [C.Rel 1; C.Appl [C.Rel 5; C.Rel 4; C.Meta (1, [])]; C.Rel 5] - in - let res = Inference.extract_differing_subterms t1 t2 in - match res with - | None -> print_endline "NO DIFFERING SUBTERMS???" - | Some (t1, t2) -> - Printf.printf "OK: %s, %s\n" (CicPp.ppterm t1) (CicPp.ppterm t2); -;; - - -let next_after () = - let module C = Cic in - let t = - C.Appl [C.Rel 1; C.Appl [C.Rel 2; C.Rel 3; C.Rel 4]; C.Rel 5] - in - let pos1 = Discrimination_tree.next_t [1] t in - let pos2 = Discrimination_tree.after_t [1] t in - Printf.printf "next_t 1: %s\nafter_t 1: %s\n" - (CicPp.ppterm (Discrimination_tree.subterm_at_pos pos1 t)) - (CicPp.ppterm (Discrimination_tree.subterm_at_pos pos2 t)); -;; - - -let discrimination_tree_test () = - let module C = Cic in - let terms = [ - C.Appl [C.Rel 1; C.Appl [C.Rel 2; C.Rel 3; C.Meta (1, [])]; C.Rel 5]; - C.Appl [C.Rel 1; C.Appl [C.Rel 2; C.Meta (1, []); C.Rel 4]; C.Meta (1, [])]; - C.Appl [C.Rel 1; C.Appl [C.Rel 2; C.Rel 3; C.Rel 4]; C.Rel 5]; - C.Appl [C.Rel 1; C.Appl [C.Rel 2; C.Meta (1, []); C.Rel 5]; C.Rel 4]; - C.Appl [C.Rel 10; C.Meta (5, []); C.Rel 11] - ] in - let path_strings = - List.map Discrimination_tree.path_string_of_term terms in - let table = - List.fold_left - Discrimination_tree.index - Discrimination_tree.DiscriminationTree.empty - (List.map build_equality terms) - in -(* let query = *) -(* C.Appl [C.Rel 1; C.Appl [C.Rel 2; C.Meta (1, []); C.Rel 4]; C.Rel 5] in *) - let query = C.Appl [C.Rel 10; C.Meta (14, []); C.Meta (13, [])] in - let matches = Discrimination_tree.retrieve_generalizations table query in - let unifications = Discrimination_tree.retrieve_unifiables table query in - let eq1 = build_equality (C.Appl [C.Rel 1; C.Meta (1, []); C.Meta (1, [])]) - and eq2 = build_equality (C.Appl [C.Rel 1; C.Meta (1, []); C.Meta (2, [])]) in - let res1 = Discrimination_tree.in_index table eq1 - and res2 = Discrimination_tree.in_index table eq2 in - let print_results res = - String.concat "\n" - (Discrimination_tree.PosEqSet.fold - (fun (p, e) l -> - let s = - "(" ^ (Utils.string_of_pos p) ^ ", " ^ - (Inference.string_of_equality e) ^ ")" - in - s::l) - res []) - in - Printf.printf "path_strings:\n%s\n\n" - (String.concat "\n" - (List.map Discrimination_tree.string_of_path_string path_strings)); - Printf.printf "table:\n%s\n\n" - (Discrimination_tree.string_of_discrimination_tree table); - Printf.printf "matches:\n%s\n\n" (print_results matches); - Printf.printf "unifications:\n%s\n\n" (print_results unifications); - Printf.printf "in_index %s: %s\n" - (Inference.string_of_equality eq1) (string_of_bool res1); - Printf.printf "in_index %s: %s\n" - (Inference.string_of_equality eq2) (string_of_bool res2); -;; - - -let test_subst () = - let module C = Cic in - let module M = CicMetaSubst in - let term = C.Appl [ - C.Rel 1; - C.Appl [C.Rel 11; - C.Meta (43, []); - C.Appl [C.Rel 15; C.Rel 12; C.Meta (41, [])]]; - C.Appl [C.Rel 11; - C.Appl [C.Rel 15; C.Meta (10, []); C.Meta (11, [])]; - C.Appl [C.Rel 15; C.Meta (10, []); C.Meta (12, [])]] - ] in - let subst1 = [ - (43, ([], C.Appl [C.Rel 15; C.Meta (10, []); C.Meta (11, [])], C.Rel 16)); - (10, ([], C.Rel 12, C.Rel 16)); - (12, ([], C.Meta (41, []), C.Rel 16)) - ] - and subst2 = [ - (43, ([], C.Appl [C.Rel 15; C.Rel 12; C.Meta (11, [])], C.Rel 16)); - (10, ([], C.Rel 12, C.Rel 16)); - (12, ([], C.Meta (41, []), C.Rel 16)) - ] in - let t1 = M.apply_subst subst1 term - and t2 = M.apply_subst subst2 term in - Printf.printf "t1 = %s\nt2 = %s\n" (CicPp.ppterm t1) (CicPp.ppterm t2); -;; -*) - - -let test_refl () = - let module C = Cic in - let context = [ - Some (C.Name "H", C.Decl ( - C.Prod (C.Name "z", C.Rel 3, - C.Appl [ - C.MutInd (HelmLibraryObjects.Logic.eq_URI, 0, []); - C.Rel 4; C.Rel 3; C.Rel 1]))); - Some (C.Name "x", C.Decl (C.Rel 2)); - Some (C.Name "y", C.Decl (C.Rel 1)); - Some (C.Name "A", C.Decl (C.Sort C.Set)) - ] - in - let term = C.Appl [ - C.Const (HelmLibraryObjects.Logic.eq_ind_URI, []); C.Rel 4; - C.Rel 2; - C.Lambda (C.Name "z", C.Rel 4, - C.Appl [ - C.MutInd (HelmLibraryObjects.Logic.eq_URI, 0, []); - C.Rel 5; C.Rel 1; C.Rel 3 - ]); - C.Appl [C.MutConstruct - (HelmLibraryObjects.Logic.eq_URI, 0, 1, []); (* reflexivity *) - C.Rel 4; C.Rel 2]; - C.Rel 3; -(* C.Appl [C.Const (HelmLibraryObjects.Logic.sym_eq_URI, []); (\* symmetry *\) *) -(* C.Rel 4; C.Appl [C.Rel 1; C.Rel 2]] *) - C.Appl [ - C.Const (HelmLibraryObjects.Logic.eq_ind_URI, []); - C.Rel 4; C.Rel 3; - C.Lambda (C.Name "z", C.Rel 4, - C.Appl [ - C.MutInd (HelmLibraryObjects.Logic.eq_URI, 0, []); - C.Rel 5; C.Rel 1; C.Rel 4 - ]); - C.Appl [C.MutConstruct (HelmLibraryObjects.Logic.eq_URI, 0, 1, []); - C.Rel 4; C.Rel 3]; - C.Rel 2; C.Appl [C.Rel 1; C.Rel 2] - ] - ] in - let ens = [ - (UriManager.uri_of_string "cic:/Coq/Init/Logic/Logic_lemmas/equality/A.var", - C.Rel 4); - (UriManager.uri_of_string "cic:/Coq/Init/Logic/Logic_lemmas/equality/x.var", - C.Rel 3); - (UriManager.uri_of_string "cic:/Coq/Init/Logic/Logic_lemmas/equality/y.var", - C.Rel 2); - ] in - let term2 = C.Appl [ - C.Const (HelmLibraryObjects.Logic.sym_eq_URI, ens); - C.Appl [C.Rel 1; C.Rel 2] - ] in - let ty, ug = - CicTypeChecker.type_of_aux' [] context term CicUniv.empty_ugraph - in - Printf.printf "OK, %s ha tipo %s\n" (CicPp.ppterm term) (CicPp.ppterm ty); - let ty, ug = - CicTypeChecker.type_of_aux' [] context term2 CicUniv.empty_ugraph - in - Printf.printf "OK, %s ha tipo %s\n" (CicPp.ppterm term2) (CicPp.ppterm ty); -;; - - -let test_lib () = - let uri = Sys.argv.(1) in - let t = CicUtil.term_of_uri (UriManager.uri_of_string uri) in - let ty, _ = CicTypeChecker.type_of_aux' [] [] t CicUniv.empty_ugraph in - Printf.printf "Term of %s: %s\n" uri (CicPp.ppterm t); - Printf.printf "type: %s\n" (CicPp.ppterm ty); -;; - - -(* differing ();; *) -(* next_after ();; *) -(* discrimination_tree_test ();; *) -(* path_indexing_test ();; *) -(* test_subst ();; *) -Helm_registry.load_from "../../matita/matita.conf.xml"; -(* test_refl ();; *) -test_lib ();; diff --git a/helm/ocaml/paramodulation/trie.ml b/helm/ocaml/paramodulation/trie.ml deleted file mode 100644 index f60b2d45c..000000000 --- a/helm/ocaml/paramodulation/trie.ml +++ /dev/null @@ -1,153 +0,0 @@ -(* - * Trie: maps over lists. - * Copyright (C) 2000 Jean-Christophe FILLIATRE - * - * This software is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License version 2, as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * See the GNU Library General Public License version 2 for more details - * (enclosed in the file LGPL). - *) - -(* $Id$ *) - -(*s A trie is a tree-like structure to implement dictionaries over - keys which have list-like structures. The idea is that each node - branches on an element of the list and stores the value associated - to the path from the root, if any. Therefore, a trie can be - defined as soon as a map over the elements of the list is - given. *) - - -module Make (M : Map.S) = struct - -(*s Then a trie is just a tree-like structure, where a possible - information is stored at the node (['a option]) and where the sons - are given by a map from type [key] to sub-tries, so of type - ['a t M.t]. The empty trie is just the empty map. *) - - type key = M.key list - - type 'a t = Node of 'a option * 'a t M.t - - let empty = Node (None, M.empty) - -(*s To find a mapping in a trie is easy: when all the elements of the - key have been read, we just inspect the optional info at the - current node; otherwise, we descend in the appropriate sub-trie - using [M.find]. *) - - let rec find l t = match (l,t) with - | [], Node (None,_) -> raise Not_found - | [], Node (Some v,_) -> v - | x::r, Node (_,m) -> find r (M.find x m) - - let rec mem l t = match (l,t) with - | [], Node (None,_) -> false - | [], Node (Some _,_) -> true - | x::r, Node (_,m) -> try mem r (M.find x m) with Not_found -> false - -(*s Insertion is more subtle. When the final node is reached, we just - put the information ([Some v]). Otherwise, we have to insert the - binding in the appropriate sub-trie [t']. But it may not exists, - and in that case [t'] is bound to an empty trie. Then we get a new - sub-trie [t''] by a recursive insertion and we modify the - branching, so that it now points to [t''], with [M.add]. *) - - let add l v t = - let rec ins = function - | [], Node (_,m) -> Node (Some v,m) - | x::r, Node (v,m) -> - let t' = try M.find x m with Not_found -> empty in - let t'' = ins (r,t') in - Node (v, M.add x t'' m) - in - ins (l,t) - -(*s When removing a binding, we take care of not leaving bindings to empty - sub-tries in the nodes. Therefore, we test wether the result [t'] of - the recursive call is the empty trie [empty]: if so, we just remove - the branching with [M.remove]; otherwise, we modify it with [M.add]. *) - - let rec remove l t = match (l,t) with - | [], Node (_,m) -> Node (None,m) - | x::r, Node (v,m) -> - try - let t' = remove r (M.find x m) in - Node (v, if t' = empty then M.remove x m else M.add x t' m) - with Not_found -> - t - -(*s The iterators [map], [mapi], [iter] and [fold] are implemented in - a straigthforward way using the corresponding iterators [M.map], - [M.mapi], [M.iter] and [M.fold]. For the last three of them, - we have to remember the path from the root, as an extra argument - [revp]. Since elements are pushed in reverse order in [revp], - we have to reverse it with [List.rev] when the actual binding - has to be passed to function [f]. *) - - let rec map f = function - | Node (None,m) -> Node (None, M.map (map f) m) - | Node (Some v,m) -> Node (Some (f v), M.map (map f) m) - - let mapi f t = - let rec maprec revp = function - | Node (None,m) -> - Node (None, M.mapi (fun x -> maprec (x::revp)) m) - | Node (Some v,m) -> - Node (Some (f (List.rev revp) v), M.mapi (fun x -> maprec (x::revp)) m) - in - maprec [] t - - let iter f t = - let rec traverse revp = function - | Node (None,m) -> - M.iter (fun x -> traverse (x::revp)) m - | Node (Some v,m) -> - f (List.rev revp) v; M.iter (fun x t -> traverse (x::revp) t) m - in - traverse [] t - - let rec fold f t acc = - let rec traverse revp t acc = match t with - | Node (None,m) -> - M.fold (fun x -> traverse (x::revp)) m acc - | Node (Some v,m) -> - f (List.rev revp) v (M.fold (fun x -> traverse (x::revp)) m acc) - in - traverse [] t acc - - let compare cmp a b = - let rec comp a b = match a,b with - | Node (Some _, _), Node (None, _) -> 1 - | Node (None, _), Node (Some _, _) -> -1 - | Node (None, m1), Node (None, m2) -> - M.compare comp m1 m2 - | Node (Some a, m1), Node (Some b, m2) -> - let c = cmp a b in - if c <> 0 then c else M.compare comp m1 m2 - in - comp a b - - let equal eq a b = - let rec comp a b = match a,b with - | Node (None, m1), Node (None, m2) -> - M.equal comp m1 m2 - | Node (Some a, m1), Node (Some b, m2) -> - eq a b && M.equal comp m1 m2 - | _ -> - false - in - comp a b - - (* The base case is rather stupid, but constructable *) - let is_empty = function - | Node (None, m1) -> M.is_empty m1 - | _ -> false - -end diff --git a/helm/ocaml/paramodulation/utils.ml b/helm/ocaml/paramodulation/utils.ml deleted file mode 100644 index a558001a5..000000000 --- a/helm/ocaml/paramodulation/utils.ml +++ /dev/null @@ -1,520 +0,0 @@ -(* Copyright (C) 2005, 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 (Lazy.force s);; - - -let print_metasenv metasenv = - String.concat "\n--------------------------\n" - (List.map (fun (i, context, term) -> - (string_of_int i) ^ " [\n" ^ (CicPp.ppcontext context) ^ - "\n] " ^ (CicPp.ppterm term)) - metasenv) -;; - - -let print_subst ?(prefix="\n") subst = - String.concat prefix - (List.map - (fun (i, (c, t, ty)) -> - Printf.sprintf "?%d -> %s : %s" i - (CicPp.ppterm t) (CicPp.ppterm ty)) - subst) -;; - -(* (weight of constants, [(meta, weight_of_meta)]) *) -type weight = int * (int * int) list;; - -let string_of_weight (cw, mw) = - let s = - String.concat ", " - (List.map (function (m, w) -> Printf.sprintf "(%d,%d)" m w) mw) - in - Printf.sprintf "[%d; %s]" cw s - - -let weight_of_term ?(consider_metas=true) term = - let module C = Cic in - let vars_dict = Hashtbl.create 5 in - let rec aux = function - | C.Meta (metano, _) when consider_metas -> - (try - let oldw = Hashtbl.find vars_dict metano in - Hashtbl.replace vars_dict metano (oldw+1) - with Not_found -> - Hashtbl.add vars_dict metano 1); - 0 - | C.Meta _ -> 0 (* "variables" are lighter than constants and functions...*) - - | C.Var (_, ens) - | C.Const (_, ens) - | C.MutInd (_, _, ens) - | C.MutConstruct (_, _, _, ens) -> - List.fold_left (fun w (u, t) -> (aux t) + w) 1 ens - - | C.Cast (t1, t2) - | C.Lambda (_, t1, t2) - | C.Prod (_, t1, t2) - | C.LetIn (_, t1, t2) -> - let w1 = aux t1 in - let w2 = aux t2 in - w1 + w2 + 1 - - | C.Appl l -> List.fold_left (+) 0 (List.map aux l) - - | C.MutCase (_, _, outt, t, pl) -> - let w1 = aux outt in - let w2 = aux t in - let w3 = List.fold_left (+) 0 (List.map aux pl) in - w1 + w2 + w3 + 1 - - | C.Fix (_, fl) -> - List.fold_left (fun w (n, i, t1, t2) -> (aux t1) + (aux t2) + w) 1 fl - - | C.CoFix (_, fl) -> - List.fold_left (fun w (n, t1, t2) -> (aux t1) + (aux t2) + w) 1 fl - - | _ -> 1 - in - let w = aux term in - let l = - Hashtbl.fold (fun meta metaw resw -> (meta, metaw)::resw) vars_dict [] in - let compare w1 w2 = - match w1, w2 with - | (m1, _), (m2, _) -> m2 - m1 - in - (w, List.sort compare l) (* from the biggest meta to the smallest (0) *) -;; - - -module OrderedInt = struct - type t = int - - let compare = Pervasives.compare -end - -module IntSet = Set.Make(OrderedInt) - -let compute_equality_weight ty left right = - let metasw = ref 0 in - let weight_of t = - let w, m = (weight_of_term ~consider_metas:true t) in - metasw := !metasw + (2 * (List.length m)); - w - in - (* Warning: the following let cannot be expanded since it forces the - right evaluation order!!!! *) - let w = (weight_of ty) + (weight_of left) + (weight_of right) in - w + !metasw -;; - - -(* returns a "normalized" version of the polynomial weight wl (with type - * weight list), i.e. a list sorted ascending by meta number, - * from 0 to maxmeta. wl must be sorted descending by meta number. Example: - * normalize_weight 5 (3, [(3, 2); (1, 1)]) -> - * (3, [(1, 1); (2, 0); (3, 2); (4, 0); (5, 0)]) *) -let normalize_weight maxmeta (cw, wl) = - let rec aux = function - | 0 -> [] - | m -> (m, 0)::(aux (m-1)) - in - let tmpl = aux maxmeta in - let wl = - List.sort - (fun (m, _) (n, _) -> Pervasives.compare m n) - (List.fold_left - (fun res (m, w) -> (m, w)::(List.remove_assoc m res)) tmpl wl) - in - (cw, wl) -;; - - -let normalize_weights (cw1, wl1) (cw2, wl2) = - let rec aux wl1 wl2 = - match wl1, wl2 with - | [], [] -> [], [] - | (m, w)::tl1, (n, w')::tl2 when m = n -> - let res1, res2 = aux tl1 tl2 in - (m, w)::res1, (n, w')::res2 - | (m, w)::tl1, ((n, w')::_ as wl2) when m < n -> - let res1, res2 = aux tl1 wl2 in - (m, w)::res1, (m, 0)::res2 - | ((m, w)::_ as wl1), (n, w')::tl2 when m > n -> - let res1, res2 = aux wl1 tl2 in - (n, 0)::res1, (n, w')::res2 - | [], (n, w)::tl2 -> - let res1, res2 = aux [] tl2 in - (n, 0)::res1, (n, w)::res2 - | (m, w)::tl1, [] -> - let res1, res2 = aux tl1 [] in - (m, w)::res1, (m, 0)::res2 - | _, _ -> assert false - in - let cmp (m, _) (n, _) = compare m n in - let wl1, wl2 = aux (List.sort cmp wl1) (List.sort cmp wl2) in - (cw1, wl1), (cw2, wl2) -;; - - -type comparison = Lt | Le | Eq | Ge | Gt | Incomparable;; - -let string_of_comparison = function - | Lt -> "<" - | Le -> "<=" - | Gt -> ">" - | Ge -> ">=" - | Eq -> "=" - | Incomparable -> "I" - - -let compare_weights ?(normalize=false) - ((h1, w1) as weight1) ((h2, w2) as weight2)= - let (h1, w1), (h2, w2) = - if normalize then - normalize_weights weight1 weight2 - else - (h1, w1), (h2, w2) - in - let res, diffs = - try - List.fold_left2 - (fun ((lt, eq, gt), diffs) w1 w2 -> - match w1, w2 with - | (meta1, w1), (meta2, w2) when meta1 = meta2 -> - let diffs = (w1 - w2) + diffs in - let r = compare w1 w2 in - if r < 0 then (lt+1, eq, gt), diffs - else if r = 0 then (lt, eq+1, gt), diffs - else (lt, eq, gt+1), diffs - | (meta1, w1), (meta2, w2) -> - debug_print - (lazy - (Printf.sprintf "HMMM!!!! %s, %s\n" - (string_of_weight weight1) (string_of_weight weight2))); - assert false) - ((0, 0, 0), 0) w1 w2 - with Invalid_argument _ -> - debug_print - (lazy - (Printf.sprintf "Invalid_argument: %s{%s}, %s{%s}, normalize = %s\n" - (string_of_weight (h1, w1)) (string_of_weight weight1) - (string_of_weight (h2, w2)) (string_of_weight weight2) - (string_of_bool normalize))); - assert false - in - let hdiff = h1 - h2 in - match res with - | (0, _, 0) -> - if hdiff < 0 then Lt - else if hdiff > 0 then Gt - else Eq (* Incomparable *) - | (m, _, 0) -> - if hdiff <= 0 then - if m > 0 || hdiff < 0 then Lt - else if diffs >= (- hdiff) then Le else Incomparable - else - if diffs >= (- hdiff) then Le else Incomparable - | (0, _, m) -> - if hdiff >= 0 then - if m > 0 || hdiff > 0 then Gt - else if (- diffs) >= hdiff then Ge else Incomparable - else - if (- diffs) >= hdiff then Ge else Incomparable - | (m, _, n) when m > 0 && n > 0 -> - Incomparable - | _ -> assert false -;; - - -let rec aux_ordering ?(recursion=true) t1 t2 = - let module C = Cic in - let compare_uris u1 u2 = - let res = - compare (UriManager.string_of_uri u1) (UriManager.string_of_uri u2) in - if res < 0 then Lt - else if res = 0 then Eq - else Gt - in - match t1, t2 with - | C.Meta _, _ - | _, C.Meta _ -> Incomparable - - | t1, t2 when t1 = t2 -> Eq - - | C.Rel n, C.Rel m -> if n > m then Lt else Gt - | C.Rel _, _ -> Lt - | _, C.Rel _ -> Gt - - | C.Const (u1, _), C.Const (u2, _) -> compare_uris u1 u2 - | C.Const _, _ -> Lt - | _, C.Const _ -> Gt - - | C.MutInd (u1, _, _), C.MutInd (u2, _, _) -> compare_uris u1 u2 - | C.MutInd _, _ -> Lt - | _, C.MutInd _ -> Gt - - | C.MutConstruct (u1, _, _, _), C.MutConstruct (u2, _, _, _) -> - compare_uris u1 u2 - | C.MutConstruct _, _ -> Lt - | _, C.MutConstruct _ -> Gt - - | C.Appl l1, C.Appl l2 when recursion -> - let rec cmp t1 t2 = - match t1, t2 with - | [], [] -> Eq - | _, [] -> Gt - | [], _ -> Lt - | hd1::tl1, hd2::tl2 -> - let o = aux_ordering hd1 hd2 in - if o = Eq then cmp tl1 tl2 - else o - in - cmp l1 l2 - | C.Appl (h1::t1), C.Appl (h2::t2) when not recursion -> - aux_ordering h1 h2 - - | t1, t2 -> - debug_print - (lazy - (Printf.sprintf "These two terms are not comparable:\n%s\n%s\n\n" - (CicPp.ppterm t1) (CicPp.ppterm t2))); - Incomparable -;; - - -(* w1, w2 are the weights, they should already be normalized... *) -let nonrec_kbo_w (t1, w1) (t2, w2) = - match compare_weights w1 w2 with - | Le -> if aux_ordering t1 t2 = Lt then Lt else Incomparable - | Ge -> if aux_ordering t1 t2 = Gt then Gt else Incomparable - | Eq -> aux_ordering t1 t2 - | res -> res -;; - - -let nonrec_kbo t1 t2 = - let w1 = weight_of_term t1 in - let w2 = weight_of_term t2 in - match compare_weights ~normalize:true w1 w2 with - | Le -> if aux_ordering t1 t2 = Lt then Lt else Incomparable - | Ge -> if aux_ordering t1 t2 = Gt then Gt else Incomparable - | Eq -> aux_ordering t1 t2 - | res -> res -;; - - -let rec kbo t1 t2 = - let aux = aux_ordering ~recursion:false in - let w1 = weight_of_term t1 - and w2 = weight_of_term t2 in - let rec cmp t1 t2 = - match t1, t2 with - | [], [] -> Eq - | _, [] -> Gt - | [], _ -> Lt - | hd1::tl1, hd2::tl2 -> - let o = - kbo hd1 hd2 - in - if o = Eq then cmp tl1 tl2 - else o - in - let comparison = compare_weights ~normalize:true w1 w2 in - match comparison with - | Le -> - let r = aux t1 t2 in - if r = Lt then Lt - else if r = Eq then ( - match t1, t2 with - | Cic.Appl (h1::tl1), Cic.Appl (h2::tl2) when h1 = h2 -> - if cmp tl1 tl2 = Lt then Lt else Incomparable - | _, _ -> Incomparable - ) else Incomparable - | Ge -> - let r = aux t1 t2 in - if r = Gt then Gt - else if r = Eq then ( - match t1, t2 with - | Cic.Appl (h1::tl1), Cic.Appl (h2::tl2) when h1 = h2 -> - if cmp tl1 tl2 = Gt then Gt else Incomparable - | _, _ -> Incomparable - ) else Incomparable - | Eq -> - let r = aux t1 t2 in - if r = Eq then ( - match t1, t2 with - | Cic.Appl (h1::tl1), Cic.Appl (h2::tl2) when h1 = h2 -> - cmp tl1 tl2 - | _, _ -> Incomparable - ) else r - | res -> res -;; - - -let names_of_context context = - List.map - (function - | None -> None - | Some (n, e) -> Some n) - context -;; - - -module OrderedTerm = -struct - type t = Cic.term - - let compare = Pervasives.compare -end - -module TermSet = Set.Make(OrderedTerm);; -module TermMap = Map.Make(OrderedTerm);; - -let symbols_of_term term = - let module C = Cic in - let rec aux map = function - | C.Meta _ -> map - | C.Appl l -> - List.fold_left (fun res t -> (aux res t)) map l - | t -> - let map = - try - let c = TermMap.find t map in - TermMap.add t (c+1) map - with Not_found -> - TermMap.add t 1 map - in - map - in - aux TermMap.empty term -;; - - -let metas_of_term term = - let module C = Cic in - let rec aux = function - | C.Meta _ as t -> TermSet.singleton t - | C.Appl l -> - List.fold_left (fun res t -> TermSet.union res (aux t)) TermSet.empty l - | t -> TermSet.empty (* TODO: maybe add other cases? *) - in - aux term -;; - - -let rec lpo t1 t2 = - let module C = Cic in - match t1, t2 with - | t1, t2 when t1 = t2 -> Eq - | t1, (C.Meta _ as m) -> - if TermSet.mem m (metas_of_term t1) then Gt else Incomparable - | (C.Meta _ as m), t2 -> - if TermSet.mem m (metas_of_term t2) then Lt else Incomparable - | C.Appl (hd1::tl1), C.Appl (hd2::tl2) -> ( - let res = - let f o r t = - if r then true else - match lpo t o with - | Gt | Eq -> true - | _ -> false - in - let res1 = List.fold_left (f t2) false tl1 in - if res1 then Gt - else let res2 = List.fold_left (f t1) false tl2 in - if res2 then Lt - else Incomparable - in - if res <> Incomparable then - res - else - let f o r t = - if not r then false else - match lpo o t with - | Gt -> true - | _ -> false - in - match aux_ordering hd1 hd2 with - | Gt -> - let res = List.fold_left (f t1) false tl2 in - if res then Gt - else Incomparable - | Lt -> - let res = List.fold_left (f t2) false tl1 in - if res then Lt - else Incomparable - | Eq -> ( - let lex_res = - try - List.fold_left2 - (fun r t1 t2 -> if r <> Eq then r else lpo t1 t2) - Eq tl1 tl2 - with Invalid_argument _ -> - Incomparable - in - match lex_res with - | Gt -> - if List.fold_left (f t1) false tl2 then Gt - else Incomparable - | Lt -> - if List.fold_left (f t2) false tl1 then Lt - else Incomparable - | _ -> Incomparable - ) - | _ -> Incomparable - ) - | t1, t2 -> aux_ordering t1 t2 -;; - - -(* settable by the user... *) -let compare_terms = ref nonrec_kbo;; - - -type equality_sign = Negative | Positive;; - -let string_of_sign = function - | Negative -> "Negative" - | Positive -> "Positive" -;; - - -type pos = Left | Right - -let string_of_pos = function - | Left -> "Left" - | Right -> "Right" -;; - - -let eq_ind_URI () = LibraryObjects.eq_ind_URI ~eq:(LibraryObjects.eq_URI ()) -let eq_ind_r_URI () = LibraryObjects.eq_ind_r_URI ~eq:(LibraryObjects.eq_URI ()) -let sym_eq_URI () = LibraryObjects.sym_eq_URI ~eq:(LibraryObjects.eq_URI ()) -let eq_XURI () = - let s = UriManager.string_of_uri (LibraryObjects.eq_URI ()) in - UriManager.uri_of_string (s ^ "#xpointer(1/1/1)") -let trans_eq_URI () = LibraryObjects.trans_eq_URI ~eq:(LibraryObjects.eq_URI ()) diff --git a/helm/ocaml/paramodulation/utils.mli b/helm/ocaml/paramodulation/utils.mli deleted file mode 100644 index 9704c45ec..000000000 --- a/helm/ocaml/paramodulation/utils.mli +++ /dev/null @@ -1,78 +0,0 @@ -(* Copyright (C) 2005, 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/. - *) - -(* (weight of constants, [(meta, weight_of_meta)]) *) -type weight = int * (int * int) list;; - -type comparison = Lt | Le | Eq | Ge | Gt | Incomparable;; - -val print_metasenv: Cic.metasenv -> string - -val print_subst: ?prefix:string -> Cic.substitution -> string - -val string_of_weight: weight -> string - -val weight_of_term: ?consider_metas:bool -> Cic.term -> weight - -val normalize_weight: int -> weight -> weight - -val string_of_comparison: comparison -> string - -val compare_weights: ?normalize:bool -> weight -> weight -> comparison - -val nonrec_kbo: Cic.term -> Cic.term -> comparison - -val nonrec_kbo_w: (Cic.term * weight) -> (Cic.term * weight) -> comparison - -val names_of_context: Cic.context -> (Cic.name option) list - -module TermMap: Map.S with type key = Cic.term - -val symbols_of_term: Cic.term -> int TermMap.t - -val lpo: Cic.term -> Cic.term -> comparison - -val kbo: Cic.term -> Cic.term -> comparison - -(** term-ordering function settable by the user *) -val compare_terms: (Cic.term -> Cic.term -> comparison) ref - -type equality_sign = Negative | Positive - -val string_of_sign: equality_sign -> string - -type pos = Left | Right - -val string_of_pos: pos -> string - -val compute_equality_weight: Cic.term -> Cic.term -> Cic.term -> int - -val debug_print: string Lazy.t -> unit - -val eq_ind_URI: unit -> UriManager.uri -val eq_ind_r_URI: unit -> UriManager.uri -val sym_eq_URI: unit -> UriManager.uri -val eq_XURI: unit -> UriManager.uri -val trans_eq_URI: unit -> UriManager.uri diff --git a/helm/ocaml/registry/.cvsignore b/helm/ocaml/registry/.cvsignore deleted file mode 100644 index f72bbdfab..000000000 --- a/helm/ocaml/registry/.cvsignore +++ /dev/null @@ -1,8 +0,0 @@ -*.a -*.cma -*.cmi -*.cmo -*.cmxa -*.o -*.cmx -test diff --git a/helm/ocaml/registry/.depend b/helm/ocaml/registry/.depend deleted file mode 100644 index cf4f36b68..000000000 --- a/helm/ocaml/registry/.depend +++ /dev/null @@ -1,2 +0,0 @@ -helm_registry.cmo: helm_registry.cmi -helm_registry.cmx: helm_registry.cmi diff --git a/helm/ocaml/registry/.ocamlinit b/helm/ocaml/registry/.ocamlinit deleted file mode 100644 index 9aee6008e..000000000 --- a/helm/ocaml/registry/.ocamlinit +++ /dev/null @@ -1,4 +0,0 @@ -#use "topfind";; -#require "helm-registry";; -open Helm_registry;; -load_from "sample.xml";; diff --git a/helm/ocaml/registry/Makefile b/helm/ocaml/registry/Makefile deleted file mode 100644 index e92099f6e..000000000 --- a/helm/ocaml/registry/Makefile +++ /dev/null @@ -1,8 +0,0 @@ - -PACKAGE = registry -REQUIRES = str netstring unix helm-xml -INTERFACE_FILES = helm_registry.mli -IMPLEMENTATION_FILES = helm_registry.ml - -include ../Makefile.common - diff --git a/helm/ocaml/registry/helm_registry.ml b/helm/ocaml/registry/helm_registry.ml deleted file mode 100644 index 35726d4c9..000000000 --- a/helm/ocaml/registry/helm_registry.ml +++ /dev/null @@ -1,420 +0,0 @@ -(* Copyright (C) 2004-2005, 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 debug = false -let debug_print s = - if debug then prerr_endline ("Helm_registry debugging: " ^ (Lazy.force s)) - - (** *) - -let list_uniq l = - let rec aux last_element = function - | [] -> [] - | hd :: tl -> - (match last_element with - | Some elt when elt = hd -> aux last_element tl - | _ -> hd :: aux (Some hd) tl) - in - aux None l - -let starts_with prefix = -(* - let rex = Str.regexp (Str.quote prefix) in - fun s -> Str.string_match rex s 0 -*) - let prefix_len = String.length prefix in - fun s -> - try - String.sub s 0 prefix_len = prefix - with Invalid_argument _ -> false - -let hashtbl_keys tbl = Hashtbl.fold (fun k _ acc -> k :: acc) tbl [] -let hashtbl_pairs tbl = Hashtbl.fold (fun k v acc -> (k,v) :: acc) tbl [] - - (** *) - -exception Malformed_key of string -exception Key_not_found of string -exception Cyclic_definition of string -exception Type_error of string (* expected type, value, msg *) -exception Parse_error of string * int * int * string (* file, line, col, msg *) - - (* root XML tag: used by save_to, ignored by load_from *) -let root_tag = "helm_registry" - -let magic_size = 127 - -let backup_registry registry = Hashtbl.copy registry -let restore_registry backup registry = - Hashtbl.clear registry; - Hashtbl.iter (fun key value -> Hashtbl.add registry key value) backup - - (* as \\w but: - * - no sequences of '_' longer than 1 are permitted - *) -let valid_step_rex_raw = "[a-zA-Z0-9]+\\(_[a-z0A-Z-9]+\\)*" -let valid_key_rex_raw = - sprintf "%s\\(\\.%s\\)*" valid_step_rex_raw valid_step_rex_raw -let valid_key_rex = Str.regexp ("^" ^ valid_key_rex_raw ^ "$") -let interpolated_key_rex = Str.regexp ("\\$(" ^ valid_key_rex_raw ^ ")") -let dot_rex = Str.regexp "\\." -let spaces_rex = Str.regexp "[ \t\n\r]+" -let heading_spaces_rex = Str.regexp "^[ \t\n\r]+" -let margin_blanks_rex = - Str.regexp "^\\([ \t\n\r]*\\)\\([^ \t\n\r]*\\)\\([ \t\n\r]*\\)$" - -let strip_blanks s = Str.global_replace margin_blanks_rex "\\2" s - -let split s = - (* trailing blanks are removed per default by split *) - Str.split spaces_rex (Str.global_replace heading_spaces_rex "" s) -let merge l = String.concat " " l - -let handle_type_error f x = - try f x with exn -> raise (Type_error (Printexc.to_string exn)) - - (** marshallers/unmarshallers *) -let string x = x -let int = handle_type_error int_of_string -let float = handle_type_error float_of_string -let bool = handle_type_error bool_of_string -let of_string x = x -let of_int = handle_type_error string_of_int -let of_float = handle_type_error string_of_float -let of_bool = handle_type_error string_of_bool - - (* escapes for xml configuration file *) -let (escape, unescape) = - let (in_enc, out_enc) = (`Enc_utf8, `Enc_utf8) in - (Netencoding.Html.encode ~in_enc ~out_enc (), - Netencoding.Html.decode ~in_enc ~out_enc ~entity_base:`Xml ()) - -let key_is_valid key = - if not (Str.string_match valid_key_rex key 0) then - raise (Malformed_key key) - -let set' ?(replace=false) registry ~key ~value = - debug_print (lazy(sprintf "Setting (replace: %b) %s = %s" replace key value)); - key_is_valid key; - let add_fun = if replace then Hashtbl.replace else Hashtbl.add in - add_fun registry key value - -let unset registry = Hashtbl.remove registry - -let env_var_of_key = Str.global_replace dot_rex "__" - -let singleton = function - | [] -> - raise (Type_error ("empty list value found where singleton was expected")) - | hd :: _ -> hd - -let get registry key = - let rec aux stack key = - key_is_valid key; - if List.mem key stack then begin - let msg = (String.concat " -> " (List.rev stack)) ^ " -> " ^ key in - raise (Cyclic_definition msg) - end; - (* internal value *) - let registry_values = List.rev (Hashtbl.find_all registry key) in - let env_value = (* environment value *) - try - Some (Sys.getenv (env_var_of_key key)) - with Not_found -> None - in - let values = (* resulting value *) - match registry_values, env_value with - | _, Some env -> [env] - | [], None -> raise (Key_not_found key) - | values, None -> values - in - List.map (interpolate (key :: stack)) values - and interpolate stack value = - Str.global_substitute interpolated_key_rex - (fun s -> - let matched = Str.matched_string s in - (* "$(var)" -> "var" *) - let key = String.sub matched 2 (String.length matched - 3) in - singleton (aux stack key)) - value - in - List.map strip_blanks (aux [] key) - -let has registry key = Hashtbl.mem registry key - -let get_typed registry unmarshaller key = - let value = singleton (get registry key) in - unmarshaller value - -let set_typed registry marshaller ~key ~value = - set' ~replace:true registry ~key ~value:(marshaller value) - -let get_opt registry unmarshaller key = - try - Some (unmarshaller (singleton (get registry key))) - with Key_not_found _ -> None - -let get_opt_default registry unmarshaller ~default key = - match get_opt registry unmarshaller key with - | None -> default - | Some v -> v - -let set_opt registry marshaller ~key ~value = - match value with - | None -> unset registry key - | Some value -> set' ~replace:true registry ~key ~value:(marshaller value) - -let get_list registry unmarshaller key = - try - List.map unmarshaller (get registry key) - with Key_not_found _ -> [] - -let get_pair registry fst_unmarshaller snd_unmarshaller key = - let v = singleton (get registry key) in - match Str.split spaces_rex v with - | [fst; snd] -> fst_unmarshaller fst, snd_unmarshaller snd - | _ -> raise (Type_error "not a pair") - -let set_list registry marshaller ~key ~value = - Hashtbl.remove registry key; - List.iter - (fun v -> set' ~replace:false registry ~key ~value:(marshaller v)) - value - -type xml_tree = - | Cdata of string - | Element of string * (string * string) list * xml_tree list - -let dot_RE = Str.regexp "\\." - -let xml_tree_of_registry registry = - let has_child name elements = - List.exists - (function - | Element (_, ["name", name'], _) when name = name' -> true - | _ -> false) - elements - in - let rec get_child name = function - | [] -> assert false - | (Element (_, ["name", name'], _) as child) :: tl when name = name' -> - child, tl - | hd :: tl -> - let child, rest = get_child name tl in - child, hd :: rest - in - let rec add_key path value tree = - match path, tree with - | [key], Element (name, attrs, children) -> - Element (name, attrs, - Element ("key", ["name", key], - [Cdata (strip_blanks value)]) :: children) - | dir :: path, Element (name, attrs, children) -> - if has_child dir children then - let child, rest = get_child dir children in - Element (name, attrs, add_key path value child :: rest) - else - Element (name, attrs, - ((add_key path value (Element ("section", ["name", dir], []))) - :: children)) - | _ -> assert false - in - Hashtbl.fold - (fun k v tree -> add_key ((Str.split dot_RE k)) v tree) - registry - (Element (root_tag, [], [])) - -let rec stream_of_xml_tree = function - | Cdata s -> Xml.xml_cdata s - | Element (name, attrs, children) -> - Xml.xml_nempty name - (List.map (fun (n, v) -> (None, n, v)) attrs) - (stream_of_xml_trees children) -and stream_of_xml_trees = function - | [] -> [< >] - | hd :: tl -> [< stream_of_xml_tree hd; stream_of_xml_trees tl >] - -let save_to registry fname = - let token_stream = stream_of_xml_tree (xml_tree_of_registry registry) in - let oc = open_out fname in - Xml.pp_to_outchan token_stream oc; - close_out oc - -let rec load_from_absolute ?path registry fname = - let _path = ref (match path with None -> [] | Some p -> p)in - (*
    elements entered so far *) - let in_key = ref false in (* have we entered a element? *) - let cdata = ref "" in (* collected cdata (inside *) - let push_path name = _path := name :: !_path in - let pop_path () = _path := List.tl !_path in - let start_element tag attrs = - match tag, attrs with - | "section", ["name", name] -> push_path name - | "key", ["name", name] -> in_key := true; push_path name - | "helm_registry", _ -> () - | "include", ["href", fname] -> - debug_print (lazy ("including file " ^ fname)); - load_from_absolute ~path:!_path registry fname - | tag, _ -> - raise (Parse_error (fname, ~-1, ~-1, - (sprintf "unexpected element <%s> or wrong attribute set" tag))) - in - let end_element tag = - match tag with - | "section" -> pop_path () - | "key" -> - let key = String.concat "." (List.rev !_path) in - set' registry ~key ~value:!cdata; - cdata := ""; - in_key := false; - pop_path () - | "include" | "helm_registry" -> () - | _ -> assert false - in - let character_data text = - if !in_key then cdata := !cdata ^ text - in - let callbacks = { - XmlPushParser.default_callbacks with - XmlPushParser.start_element = Some start_element; - XmlPushParser.end_element = Some end_element; - XmlPushParser.character_data = Some character_data; - } in - let xml_parser = XmlPushParser.create_parser callbacks in - let backup = backup_registry registry in -(* if path = None then Hashtbl.clear registry; *) - try - XmlPushParser.parse xml_parser (`File fname) - with exn -> - restore_registry backup registry; - raise exn - -let load_from registry ?path fname = - if Filename.is_relative fname then begin - let no_file_found = ref true in - let path = - match path with - | Some path -> path (* path given as argument *) - | None -> [ Sys.getcwd () ] (* no path given, try with cwd *) - in - List.iter - (fun dir -> - let conffile = dir ^ "/" ^ fname in - if Sys.file_exists conffile then begin - no_file_found := false; - load_from_absolute registry conffile - end) - path; - if !no_file_found then - failwith (sprintf - "Helm_registry.init: no configuration file named %s in [ %s ]" - fname (String.concat "; " path)) - end else - load_from_absolute registry fname - -let fold registry ?prefix ?(interpolate = true) f init = - let value_of k v = - if interpolate then singleton (get registry k) else strip_blanks v - in - match prefix with - | None -> Hashtbl.fold (fun k v acc -> f acc k (value_of k v)) registry init - | Some s -> - let key_matches = starts_with (s ^ ".") in - let rec fold_filter acc = function - | [] -> acc - | (k,v) :: tl when key_matches k -> - fold_filter (f acc k (value_of k v)) tl - | _ :: tl -> fold_filter acc tl - in - fold_filter init (hashtbl_pairs registry) - -let iter registry ?prefix ?interpolate f = - fold registry ?prefix ?interpolate (fun _ k v -> f k v) () -let to_list registry ?prefix ?interpolate () = - fold registry ?prefix ?interpolate (fun acc k v -> (k, v) :: acc) [] - -let ls registry prefix = - let prefix = prefix ^ "." in - let prefix_len = String.length prefix in - let key_matches = starts_with prefix in - let matching_keys = (* collect matching keys' _postfixes_ *) - fold registry - (fun acc key _ -> - if key_matches key then - String.sub key prefix_len (String.length key - prefix_len) :: acc - else - acc) - [] - in - let (sections, keys) = - List.fold_left - (fun (sections, keys) postfix -> - match Str.split dot_rex postfix with - | [key] -> (sections, key :: keys) - | hd_key :: _ -> (* length > 1 => nested section found *) - (hd_key :: sections, keys) - | _ -> assert false) - ([], []) matching_keys - in - (list_uniq (List.sort Pervasives.compare sections), keys) - -(** {2 API implementation} - * functional methods above are wrapped so that they work on a default - * (imperative) registry*) - -let default_registry = Hashtbl.create magic_size - -let get key = singleton (get default_registry key) -let set = set' ~replace:true default_registry -let has = has default_registry -let fold ?prefix ?interpolate f init = - fold default_registry ?prefix ?interpolate f init -let iter = iter default_registry -let to_list = to_list default_registry -let ls = ls default_registry -let get_typed unmarshaller = get_typed default_registry unmarshaller -let get_opt unmarshaller = get_opt default_registry unmarshaller -let get_opt_default unmarshaller = get_opt_default default_registry unmarshaller -let get_list unmarshaller = get_list default_registry unmarshaller -let get_pair unmarshaller = get_pair default_registry unmarshaller -let set_typed marshaller = set_typed default_registry marshaller -let set_opt unmarshaller = set_opt default_registry unmarshaller -let set_list marshaller = set_list default_registry marshaller -let unset = unset default_registry -let save_to = save_to default_registry -let load_from = load_from default_registry -let clear () = Hashtbl.clear default_registry - -let get_string = get_typed string -let get_int = get_typed int -let get_float = get_typed float -let get_bool = get_typed bool -let set_string = set_typed of_string -let set_int = set_typed of_int -let set_float = set_typed of_float -let set_bool = set_typed of_bool - diff --git a/helm/ocaml/registry/helm_registry.mli b/helm/ocaml/registry/helm_registry.mli deleted file mode 100644 index 1ef1aa3b7..000000000 --- a/helm/ocaml/registry/helm_registry.mli +++ /dev/null @@ -1,199 +0,0 @@ -(* Copyright (C) 2004-2005, 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/ - *) - -(** Configuration repository for HELM applications. - * - * ++ Keys format ++ - * - * key ::= path - * path ::= component ( '.' component )* - * component ::= ( alpha | num | '_' )+ - * # with the only exception that sequences of '_' longer than 1 aren't valid - * # components - * - * Suggested usage .: - * e.g. gTopLevel.prooffile, http_getter.port, ... - * - * ++ Configuration file example ++ - * - * gTopLevel.prooffile = "/home/zack/prooffile" - * http_getter.port = "58080" - * - * ++ Environment variable override ++ - * - * each key has an associated environment variable name. At runtime (i.e. when - * "get" requests are performed) a variable with this name will be looked for, - * if it's defined it will override the value present (or absent) in the - * registry. - * Environment variables are _not_ considered when saving the configuration to - * a configuration file (via "save_to" function below) . - * - * Mapping between keys and environment variables is as follows: - * - each "." is converted to "__" - * E.g.: my.Foo_iSH.Application -> my__Foo_iSH__Application - * - * ++ Variable interpolation ++ - * - * Interpolation is supported with the following syntax: - * - * foo.bar = "quux" - * foo.baz = $(foo.bar)/baz - *) - - (** raised when a looked up key can't be found - * @param key looked up key *) -exception Key_not_found of string - - (** raised when a cyclic definitions is found, e.g. after - * Helm_registry.set "a" "$b" - * Helm_registry.set "b" "$a" - * @param msg brief description of the definition cycle *) -exception Cyclic_definition of string - - (** raised when a looked up key doesn't have the required type, parameter is - * an error message *) -exception Type_error of string - - (** raised when a malformed key is encountered - * @param key malformed key *) -exception Malformed_key of string - - (** raised when an error is encountered while parsing a configuration file - * @param fname file name - * @param line line number - * @param col column number - * @param msg error description - *) -exception Parse_error of string * int * int * string - -(** {2 Generic untyped interface} - * Using the functions below this module could be used as a repository of - * key/value pairs *) - - (** lookup key in registry with environment variable override *) -val get: string -> string -val set: key:string -> value:string -> unit -val has: string -> bool - - (** remove a key from the current environment, next get over this key will - * raise Key_not_found until the key will be redefined *) -val unset: string -> unit - - (** @param interpolate defaults to true *) -val fold: - ?prefix:string -> ?interpolate:bool -> - ('a -> string -> string -> 'a) -> 'a -> 'a - - (** @param interpolate defaults to true *) -val iter: - ?prefix:string -> ?interpolate:bool -> - (string -> string -> unit) -> unit - - (** @param interpolate defaults to true *) -val to_list: - ?prefix:string -> ?interpolate:bool -> - unit -> (string * string) list - - (** @param prefix key representing the section whose contents should be listed - * @return section list * key list *) -val ls: string -> string list * string list - -(** {2 Typed interface} - * Three basic types are supported: strings, int and strings list. Strings - * correspond literally to what is written inside double quotes; int to the - * parsing of an integer number from ; strings list to the splitting at blanks - * of it (heading and trailing blanks are removed before splitting) *) - -(** {3 Unmarshallers} *) - -val string: string -> string -val int: string -> int -val float: string -> float -val bool: string -> bool - -(** {3 Typed getters} *) - - (** like get, with an additional unmarshaller - * @param unmarshaller conversion function from string to the desired type. - * Use one of the above unmarshallers *) -val get_typed: (string -> 'a) -> string -> 'a - -val get_opt: (string -> 'a) -> string -> 'a option -val get_opt_default: (string -> 'a) -> default:'a -> string -> 'a - - (** never fails with Key_not_found, instead return the empty list *) -val get_list: (string -> 'a) -> string -> 'a list - - (** decode values which are blank separated list of values, of length 2 *) -val get_pair: (string -> 'a) -> (string -> 'b) -> string -> 'a * 'b - -(** {4 Shorthands} *) - -val get_string: string -> string -val get_int: string -> int -val get_float: string -> float -val get_bool: string -> bool - -(** {3 Marshallers} *) - -val of_string: string -> string -val of_int: int -> string -val of_float: float -> string -val of_bool: bool -> string - -(** {3 Typed setters} *) - - (** like set, with an additional marshaller - * @param marshaller conversion function to string. - * Use one of the above marshallers *) -val set_typed: ('a -> string) -> key:string -> value:'a -> unit - -val set_opt: ('a -> string) -> key:string -> value:'a option -> unit -val set_list: ('a -> string) -> key:string -> value:'a list -> unit - -(** {4 Shorthands} *) - -val set_string: key:string -> value:string -> unit -val set_int: key:string -> value:int -> unit -val set_float: key:string -> value:float -> unit -val set_bool: key:string -> value:bool -> unit - -(** {2 Persistent configuration} *) - - (** @param fname file to which save current configuration *) -val save_to: string -> unit - - (** @param fname file from which load new configuration. If it's an absolute - * file name "path" argument is ignored. - * Otherwise given file name is looked up in each directory member of the - * given path. Each matching file is loaded overriding previous settings. If - * no path is given a default path composed of just the current working - * directory is used. - *) -val load_from: ?path:string list -> string -> unit - - (** removes all keys *) -val clear: unit -> unit - diff --git a/helm/ocaml/registry/test.ml b/helm/ocaml/registry/test.ml deleted file mode 100644 index 644b0f0da..000000000 --- a/helm/ocaml/registry/test.ml +++ /dev/null @@ -1,30 +0,0 @@ -(* Copyright (C) 2004-2005, 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;; -Helm_registry.load_from Sys.argv.(1); -Helm_registry.iter ~interpolate:false (fun k v -> printf "%s = %s\n" k v); -Helm_registry.save_to Sys.argv.(2) - diff --git a/helm/ocaml/registry/tests/sample.xml b/helm/ocaml/registry/tests/sample.xml deleted file mode 100644 index b0f91f30b..000000000 --- a/helm/ocaml/registry/tests/sample.xml +++ /dev/null @@ -1,34 +0,0 @@ - - -
    - file:///home/zack/miohelm/objects - file:///home/zack/miohelm/objects -
    -
    - remote - http://localhost:58081 -
    -
    - yes -
    -
    - -
    -
    - yes -
    -
    - debian - 1 - false - 2.5 - 11 - 13 - 17 - 19 - 19 23.2 -
    -
    - http://localhost:58080/ -
    -
    diff --git a/helm/ocaml/registry/tests/sample_include.xml b/helm/ocaml/registry/tests/sample_include.xml deleted file mode 100644 index 8a6851998..000000000 --- a/helm/ocaml/registry/tests/sample_include.xml +++ /dev/null @@ -1,15 +0,0 @@ - -
    - aaa - bbb -
    -
    - quux -
    - /public/helm_library - $(triciclo.basedir)/constanttype - $(triciclo.basedir)/environment - $(triciclo.basedir)/innertypes - $(triciclo.basedir)/currentproof - $(triciclo.basedir)/currentprooftype -
    diff --git a/helm/ocaml/tactics/.cvsignore b/helm/ocaml/tactics/.cvsignore deleted file mode 100644 index 8d98e3ef1..000000000 --- a/helm/ocaml/tactics/.cvsignore +++ /dev/null @@ -1,9 +0,0 @@ -*.cmi -*.cma -*.cmo -*.cmx -*.cmxa -*.o -*.a -.dep.dot -tactics.ps diff --git a/helm/ocaml/tactics/.depend b/helm/ocaml/tactics/.depend deleted file mode 100644 index d667574fa..000000000 --- a/helm/ocaml/tactics/.depend +++ /dev/null @@ -1,121 +0,0 @@ -proofEngineHelpers.cmi: proofEngineTypes.cmi -continuationals.cmi: proofEngineTypes.cmi -tacticals.cmi: proofEngineTypes.cmi continuationals.cmi -reductionTactics.cmi: proofEngineTypes.cmi -proofEngineStructuralRules.cmi: proofEngineTypes.cmi -primitiveTactics.cmi: proofEngineTypes.cmi -metadataQuery.cmi: proofEngineTypes.cmi -variousTactics.cmi: proofEngineTypes.cmi -autoTactic.cmi: proofEngineTypes.cmi -introductionTactics.cmi: proofEngineTypes.cmi -eliminationTactics.cmi: proofEngineTypes.cmi -negationTactics.cmi: proofEngineTypes.cmi -equalityTactics.cmi: proofEngineTypes.cmi -discriminationTactics.cmi: proofEngineTypes.cmi -ring.cmi: proofEngineTypes.cmi -fourierR.cmi: proofEngineTypes.cmi -fwdSimplTactic.cmi: proofEngineTypes.cmi -statefulProofEngine.cmi: proofEngineTypes.cmi -tactics.cmi: proofEngineTypes.cmi -proofEngineTypes.cmo: proofEngineTypes.cmi -proofEngineTypes.cmx: proofEngineTypes.cmi -proofEngineHelpers.cmo: proofEngineTypes.cmi proofEngineHelpers.cmi -proofEngineHelpers.cmx: proofEngineTypes.cmx proofEngineHelpers.cmi -proofEngineReduction.cmo: proofEngineTypes.cmi proofEngineHelpers.cmi \ - proofEngineReduction.cmi -proofEngineReduction.cmx: proofEngineTypes.cmx proofEngineHelpers.cmx \ - proofEngineReduction.cmi -continuationals.cmo: proofEngineTypes.cmi continuationals.cmi -continuationals.cmx: proofEngineTypes.cmx continuationals.cmi -tacticals.cmo: proofEngineTypes.cmi continuationals.cmi tacticals.cmi -tacticals.cmx: proofEngineTypes.cmx continuationals.cmx tacticals.cmi -reductionTactics.cmo: proofEngineTypes.cmi proofEngineReduction.cmi \ - proofEngineHelpers.cmi reductionTactics.cmi -reductionTactics.cmx: proofEngineTypes.cmx proofEngineReduction.cmx \ - proofEngineHelpers.cmx reductionTactics.cmi -proofEngineStructuralRules.cmo: proofEngineTypes.cmi \ - proofEngineStructuralRules.cmi -proofEngineStructuralRules.cmx: proofEngineTypes.cmx \ - proofEngineStructuralRules.cmi -primitiveTactics.cmo: tacticals.cmi reductionTactics.cmi proofEngineTypes.cmi \ - proofEngineHelpers.cmi primitiveTactics.cmi -primitiveTactics.cmx: tacticals.cmx reductionTactics.cmx proofEngineTypes.cmx \ - proofEngineHelpers.cmx primitiveTactics.cmi -hashtbl_equiv.cmo: hashtbl_equiv.cmi -hashtbl_equiv.cmx: hashtbl_equiv.cmi -metadataQuery.cmo: proofEngineTypes.cmi primitiveTactics.cmi \ - hashtbl_equiv.cmi metadataQuery.cmi -metadataQuery.cmx: proofEngineTypes.cmx primitiveTactics.cmx \ - hashtbl_equiv.cmx metadataQuery.cmi -variousTactics.cmo: tacticals.cmi proofEngineTypes.cmi \ - proofEngineReduction.cmi proofEngineHelpers.cmi primitiveTactics.cmi \ - variousTactics.cmi -variousTactics.cmx: tacticals.cmx proofEngineTypes.cmx \ - proofEngineReduction.cmx proofEngineHelpers.cmx primitiveTactics.cmx \ - variousTactics.cmi -autoTactic.cmo: proofEngineTypes.cmi proofEngineHelpers.cmi \ - primitiveTactics.cmi metadataQuery.cmi autoTactic.cmi -autoTactic.cmx: proofEngineTypes.cmx proofEngineHelpers.cmx \ - primitiveTactics.cmx metadataQuery.cmx autoTactic.cmi -introductionTactics.cmo: proofEngineTypes.cmi primitiveTactics.cmi \ - introductionTactics.cmi -introductionTactics.cmx: proofEngineTypes.cmx primitiveTactics.cmx \ - introductionTactics.cmi -eliminationTactics.cmo: tacticals.cmi proofEngineTypes.cmi \ - proofEngineStructuralRules.cmi proofEngineHelpers.cmi \ - primitiveTactics.cmi metadataQuery.cmi eliminationTactics.cmi -eliminationTactics.cmx: tacticals.cmx proofEngineTypes.cmx \ - proofEngineStructuralRules.cmx proofEngineHelpers.cmx \ - primitiveTactics.cmx metadataQuery.cmx eliminationTactics.cmi -negationTactics.cmo: variousTactics.cmi tacticals.cmi proofEngineTypes.cmi \ - primitiveTactics.cmi eliminationTactics.cmi negationTactics.cmi -negationTactics.cmx: variousTactics.cmx tacticals.cmx proofEngineTypes.cmx \ - primitiveTactics.cmx eliminationTactics.cmx negationTactics.cmi -equalityTactics.cmo: tacticals.cmi reductionTactics.cmi proofEngineTypes.cmi \ - proofEngineStructuralRules.cmi proofEngineReduction.cmi \ - proofEngineHelpers.cmi primitiveTactics.cmi introductionTactics.cmi \ - equalityTactics.cmi -equalityTactics.cmx: tacticals.cmx reductionTactics.cmx proofEngineTypes.cmx \ - proofEngineStructuralRules.cmx proofEngineReduction.cmx \ - proofEngineHelpers.cmx primitiveTactics.cmx introductionTactics.cmx \ - equalityTactics.cmi -discriminationTactics.cmo: tacticals.cmi reductionTactics.cmi \ - proofEngineTypes.cmi primitiveTactics.cmi introductionTactics.cmi \ - equalityTactics.cmi eliminationTactics.cmi discriminationTactics.cmi -discriminationTactics.cmx: tacticals.cmx reductionTactics.cmx \ - proofEngineTypes.cmx primitiveTactics.cmx introductionTactics.cmx \ - equalityTactics.cmx eliminationTactics.cmx discriminationTactics.cmi -ring.cmo: tacticals.cmi proofEngineTypes.cmi proofEngineStructuralRules.cmi \ - primitiveTactics.cmi equalityTactics.cmi eliminationTactics.cmi ring.cmi -ring.cmx: tacticals.cmx proofEngineTypes.cmx proofEngineStructuralRules.cmx \ - primitiveTactics.cmx equalityTactics.cmx eliminationTactics.cmx ring.cmi -fourier.cmo: fourier.cmi -fourier.cmx: fourier.cmi -fourierR.cmo: tacticals.cmi ring.cmi reductionTactics.cmi \ - proofEngineTypes.cmi proofEngineHelpers.cmi primitiveTactics.cmi \ - fourier.cmi equalityTactics.cmi fourierR.cmi -fourierR.cmx: tacticals.cmx ring.cmx reductionTactics.cmx \ - proofEngineTypes.cmx proofEngineHelpers.cmx primitiveTactics.cmx \ - fourier.cmx equalityTactics.cmx fourierR.cmi -fwdSimplTactic.cmo: tacticals.cmi proofEngineTypes.cmi \ - proofEngineStructuralRules.cmi proofEngineHelpers.cmi \ - primitiveTactics.cmi metadataQuery.cmi fwdSimplTactic.cmi -fwdSimplTactic.cmx: tacticals.cmx proofEngineTypes.cmx \ - proofEngineStructuralRules.cmx proofEngineHelpers.cmx \ - primitiveTactics.cmx metadataQuery.cmx fwdSimplTactic.cmi -history.cmo: history.cmi -history.cmx: history.cmi -statefulProofEngine.cmo: proofEngineTypes.cmi history.cmi \ - statefulProofEngine.cmi -statefulProofEngine.cmx: proofEngineTypes.cmx history.cmx \ - statefulProofEngine.cmi -tactics.cmo: variousTactics.cmi tacticals.cmi ring.cmi reductionTactics.cmi \ - proofEngineStructuralRules.cmi primitiveTactics.cmi negationTactics.cmi \ - introductionTactics.cmi fwdSimplTactic.cmi fourierR.cmi \ - equalityTactics.cmi eliminationTactics.cmi discriminationTactics.cmi \ - autoTactic.cmi tactics.cmi -tactics.cmx: variousTactics.cmx tacticals.cmx ring.cmx reductionTactics.cmx \ - proofEngineStructuralRules.cmx primitiveTactics.cmx negationTactics.cmx \ - introductionTactics.cmx fwdSimplTactic.cmx fourierR.cmx \ - equalityTactics.cmx eliminationTactics.cmx discriminationTactics.cmx \ - autoTactic.cmx tactics.cmi diff --git a/helm/ocaml/tactics/Makefile b/helm/ocaml/tactics/Makefile deleted file mode 100644 index 7f48873a0..000000000 --- a/helm/ocaml/tactics/Makefile +++ /dev/null @@ -1,29 +0,0 @@ -PACKAGE = tactics -REQUIRES = \ - pcre \ - helm-cic_proof_checking \ - helm-cic_unification \ - mysql \ - helm-metadata - -INTERFACE_FILES = \ - proofEngineTypes.mli \ - proofEngineHelpers.mli proofEngineReduction.mli \ - continuationals.mli \ - tacticals.mli reductionTactics.mli proofEngineStructuralRules.mli \ - primitiveTactics.mli hashtbl_equiv.mli metadataQuery.mli \ - variousTactics.mli autoTactic.mli \ - introductionTactics.mli eliminationTactics.mli negationTactics.mli \ - equalityTactics.mli discriminationTactics.mli ring.mli fourier.mli \ - fourierR.mli fwdSimplTactic.mli history.mli statefulProofEngine.mli \ - tactics.mli -IMPLEMENTATION_FILES = $(INTERFACE_FILES:%.mli=%.ml) - -all: - -tactics.mli: tactics.ml *Tactics.mli *Tactic.mli fourierR.mli ring.mli - echo "(* GENERATED FILE, DO NOT EDIT *)" > $@ - $(OCAMLC) -i $< >> $@ - -include ../Makefile.common - diff --git a/helm/ocaml/tactics/autoTactic.ml b/helm/ocaml/tactics/autoTactic.ml deleted file mode 100644 index b232d9894..000000000 --- a/helm/ocaml/tactics/autoTactic.ml +++ /dev/null @@ -1,357 +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 = false - let debug_print s = if debug then prerr_endline (Lazy.force s) - -(* let debug_print = fun _ -> () *) - -(* Profiling code -let new_experimental_hint = - let profile = CicUtil.profile "new_experimental_hint" in - fun ~dbd ~facts ?signature ~universe status -> - profile.profile (MetadataQuery.new_experimental_hint ~dbd ~facts ?signature ~universe) status -*) let new_experimental_hint = MetadataQuery.new_experimental_hint - -(* In this versions of auto_tac we maintain an hash table of all inspected - goals. We assume that the context is invariant for application. - To this aim, it is essential to sall hint_verbose, that in turns calls - apply_verbose. *) - -type exitus = - No of int - | Yes of Cic.term * int - | NotYetInspected - -let inspected_goals = Hashtbl.create 503;; - -let search_theorems_in_context status = - let (proof, goal) = status in - let module C = Cic in - let module R = CicReduction in - let module S = CicSubstitution in - let module PET = ProofEngineTypes in - let module PT = PrimitiveTactics in - let _,metasenv,_,_ = proof in - let _,context,ty = CicUtil.lookup_meta goal metasenv in - let rec find n = function - | [] -> [] - | hd::tl -> - let res = - (* we should check that the hypothesys has not been cleared *) - if List.nth context (n-1) = None then - None - else - try - let (subst,(proof, goal_list)) = - PT.apply_tac_verbose ~term:(C.Rel n) status - in - (* - let goal_list = - List.stable_sort (compare_goal_list proof) goal_list in - *) - Some (subst,(proof, goal_list)) - with - PET.Fail _ -> None - in - (match res with - | Some res -> res::(find (n+1) tl) - | None -> find (n+1) tl) - in - try - find 1 context - with Failure s -> [] -;; - - -let compare_goals proof goal1 goal2 = - let _,metasenv,_,_ = proof in - let (_, ey1, ty1) = CicUtil.lookup_meta goal1 metasenv in - let (_, ey2, ty2) = CicUtil.lookup_meta goal2 metasenv in - let ty_sort1,_ = CicTypeChecker.type_of_aux' metasenv ey1 ty1 - CicUniv.empty_ugraph in - let ty_sort2,_ = CicTypeChecker.type_of_aux' metasenv ey2 ty2 - CicUniv.empty_ugraph in - let prop1 = - let b,_ = CicReduction.are_convertible ey1 (Cic.Sort Cic.Prop) ty_sort1 - CicUniv.empty_ugraph in - if b then 0 else 1 - in - let prop2 = - let b,_ = CicReduction.are_convertible ey2 (Cic.Sort Cic.Prop) ty_sort2 - CicUniv.empty_ugraph in - if b then 0 else 1 - in - prop1 - prop2 - - -let new_search_theorems f dbd proof goal depth sign = - let choices = f (proof,goal) - in - List.map - (function (subst,(proof, goallist)) -> - (* let goallist = reorder_goals dbd sign proof goallist in *) - let goallist = List.sort (compare_goals proof) goallist in - (subst,(proof,(List.map (function g -> (g,depth)) goallist), sign))) - choices -;; - -exception NoOtherChoices;; - -let is_in_metasenv goal metasenv = - try - let (_, ey ,ty) = - CicUtil.lookup_meta goal metasenv in - true - with CicUtil.Meta_not_found _ -> false - -let rec auto_single dbd proof goal ey ty depth width sign already_seen_goals - universe - = - if depth = 0 then [] else - if List.mem ty already_seen_goals then [] else - let already_seen_goals = ty::already_seen_goals in - let facts = (depth = 1) in - let _,metasenv,p,_ = proof in - (* first of all we check if the goal has been already - inspected *) - assert (is_in_metasenv goal metasenv); - let exitus = - try Hashtbl.find inspected_goals ty - with Not_found -> NotYetInspected in - let is_meta_closed = CicUtil.is_meta_closed ty in - begin - match exitus with - Yes (bo,_) -> - (* - debug_print (lazy "ALREADY PROVED!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); - debug_print (lazy (CicPp.ppterm ty)); - *) - let subst_in = - (* if we just apply the subtitution, the type - is irrelevant: we may use Implicit, since it will - be dropped *) - CicMetaSubst.apply_subst - [(goal,(ey, bo, Cic.Implicit None))] in - let (proof,_) = - ProofEngineHelpers.subst_meta_and_metasenv_in_proof - proof goal subst_in metasenv in - [(subst_in,(proof,[],sign))] - | No d when (d >= depth) -> - (* debug_print (lazy "PRUNED!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); *) - [] (* the empty list means no choices, i.e. failure *) - | No _ - | NotYetInspected -> - debug_print (lazy ("CURRENT GOAL = " ^ CicPp.ppterm ty)); - debug_print (lazy ("CURRENT PROOF = " ^ CicPp.ppterm p)); - debug_print (lazy ("CURRENT HYP = " ^ CicPp.ppcontext ey)); - let sign, new_sign = - if is_meta_closed then - None, Some (MetadataConstraints.signature_of ty) - else sign,sign in (* maybe the union ? *) - let local_choices = - new_search_theorems - search_theorems_in_context dbd - proof goal (depth-1) new_sign in - let global_choices = - new_search_theorems - (fun status -> - List.map snd - (new_experimental_hint - ~dbd ~facts:facts ?signature:sign ~universe status)) - dbd proof goal (depth-1) new_sign in - let all_choices = - local_choices@global_choices in - let sorted_choices = - List.stable_sort - (fun (_, (_, goals1, _)) (_, (_, goals2, _)) -> - Pervasives.compare - (List.length goals1) (List.length goals2)) - all_choices in - (match (auto_new dbd width already_seen_goals universe sorted_choices) - with - [] -> - (* no proof has been found; we update the - hastable *) - (* if is_meta_closed then *) - Hashtbl.add inspected_goals ty (No depth); - [] - | (subst,(proof,[],sign))::tl1 -> - (* a proof for goal has been found: - in order to get the proof we apply subst to - Meta[goal] *) - if is_meta_closed then - begin - let irl = - CicMkImplicit.identity_relocation_list_for_metavariable ey in - let meta_proof = - subst (Cic.Meta(goal,irl)) in - Hashtbl.add inspected_goals - ty (Yes (meta_proof,depth)); -(* - begin - let cty,_ = - CicTypeChecker.type_of_aux' metasenv ey meta_proof CicUniv.empty_ugraph - in - if not (cty = ty) then - begin - debug_print (lazy ("ty = "^CicPp.ppterm ty)); - debug_print (lazy ("cty = "^CicPp.ppterm cty)); - assert false - end - Hashtbl.add inspected_goals - ty (Yes (meta_proof,depth)); - end; -*) - end; - (subst,(proof,[],sign))::tl1 - | _ -> assert false) - end - -and auto_new dbd width already_seen_goals universe = function - | [] -> [] - | (subst,(proof, goals, sign))::tl -> - let _,metasenv,_,_ = proof in - let is_in_metasenv (goal, _) = - try - let (_, ey ,ty) = CicUtil.lookup_meta goal metasenv in - true - with CicUtil.Meta_not_found _ -> false - in - let goals'= List.filter is_in_metasenv goals in - auto_new_aux dbd - width already_seen_goals universe ((subst,(proof, goals', sign))::tl) - -and auto_new_aux dbd width already_seen_goals universe = function - | [] -> [] - | (subst,(proof, [], sign))::tl -> (subst,(proof, [], sign))::tl - | (subst,(proof, (goal,0)::_, _))::tl -> - auto_new dbd width already_seen_goals universe tl - | (subst,(proof, goals, _))::tl when - (List.length goals) > width -> - auto_new dbd width already_seen_goals universe tl - | (subst,(proof, (goal,depth)::gtl, sign))::tl -> - let _,metasenv,p,_ = proof in - let (_, ey ,ty) = CicUtil.lookup_meta goal metasenv in - match (auto_single dbd proof goal ey ty depth - (width - (List.length gtl)) sign already_seen_goals) universe - with - [] -> auto_new dbd width already_seen_goals universe tl - | (local_subst,(proof,[],sign))::tl1 -> - let new_subst f t = f (subst t) in - let is_meta_closed = CicUtil.is_meta_closed ty in - let all_choices = - if is_meta_closed then - (new_subst local_subst,(proof,gtl,sign))::tl - else - let tl2 = - (List.map - (function (f,(p,l,s)) -> (new_subst f,(p,l@gtl,s))) tl1) - in - (new_subst local_subst,(proof,gtl,sign))::tl2@tl in - auto_new dbd width already_seen_goals universe all_choices - | _ -> assert false - ;; - -let default_depth = 5 -let default_width = 3 - -(* -let auto_tac ?(depth=default_depth) ?(width=default_width) ~(dbd:HMysql.dbd) - () -= - let auto_tac dbd (proof,goal) = - let universe = MetadataQuery.signature_of_goal ~dbd (proof,goal) in - Hashtbl.clear inspected_goals; - debug_print (lazy "Entro in Auto"); - let id t = t in - let t1 = Unix.gettimeofday () in - match auto_new dbd width [] universe [id,(proof, [(goal,depth)],None)] with - [] -> debug_print (lazy "Auto failed"); - raise (ProofEngineTypes.Fail "No Applicable theorem") - | (_,(proof,[],_))::_ -> - let t2 = Unix.gettimeofday () in - debug_print (lazy "AUTO_TAC HA FINITO"); - let _,_,p,_ = proof in - debug_print (lazy (CicPp.ppterm p)); - Printf.printf "tempo: %.9f\n" (t2 -. t1); - (proof,[]) - | _ -> assert false - in - ProofEngineTypes.mk_tactic (auto_tac dbd) -;; -*) - -let paramodulation_tactic = ref - (fun dbd ?full ?depth ?width status -> - raise (ProofEngineTypes.Fail (lazy "Not Ready yet...")));; - -let term_is_equality = ref - (fun term -> debug_print (lazy "term_is_equality E` DUMMY!!!!"); false);; - - -let auto_tac ?(depth=default_depth) ?(width=default_width) ?paramodulation - ?full ~(dbd:HMysql.dbd) () = - let auto_tac dbd (proof, goal) = - let normal_auto () = - let universe = MetadataQuery.signature_of_goal ~dbd (proof, goal) in - Hashtbl.clear inspected_goals; - debug_print (lazy "Entro in Auto"); - let id t = t in - let t1 = Unix.gettimeofday () in - match - auto_new dbd width [] universe [id, (proof, [(goal, depth)], None)] - with - [] -> debug_print(lazy "Auto failed"); - raise (ProofEngineTypes.Fail (lazy "No Applicable theorem")) - | (_,(proof,[],_))::_ -> - let t2 = Unix.gettimeofday () in - debug_print (lazy "AUTO_TAC HA FINITO"); - let _,_,p,_ = proof in - debug_print (lazy (CicPp.ppterm p)); - debug_print (lazy (Printf.sprintf "tempo: %.9f\n" (t2 -. t1))); - (proof,[]) - | _ -> assert false - in - let full = match full with None -> false | Some _ -> true in - let paramodulation_ok = - match paramodulation with - | None -> false - | Some _ -> - let _, metasenv, _, _ = proof in - let _, _, meta_goal = CicUtil.lookup_meta goal metasenv in - full || (!term_is_equality meta_goal) - in - if paramodulation_ok then ( - debug_print (lazy "USO PARAMODULATION..."); -(* try *) - !paramodulation_tactic dbd ~depth ~width ~full (proof, goal) -(* with ProofEngineTypes.Fail _ -> *) -(* normal_auto () *) - ) else - normal_auto () - in - ProofEngineTypes.mk_tactic (auto_tac dbd) -;; diff --git a/helm/ocaml/tactics/autoTactic.mli b/helm/ocaml/tactics/autoTactic.mli deleted file mode 100644 index 696c97007..000000000 --- a/helm/ocaml/tactics/autoTactic.mli +++ /dev/null @@ -1,38 +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/. - *) - -val auto_tac: - ?depth:int -> ?width:int -> ?paramodulation:string -> ?full:string -> - dbd:HMysql.dbd -> unit -> - ProofEngineTypes.tactic - -val paramodulation_tactic: - (HMysql.dbd -> ?full:bool -> ?depth:int -> ?width:int -> - ProofEngineTypes.status -> - ProofEngineTypes.proof * ProofEngineTypes.goal list) ref - -val term_is_equality: - (Cic.term -> bool) ref diff --git a/helm/ocaml/tactics/continuationals.ml b/helm/ocaml/tactics/continuationals.ml deleted file mode 100644 index fd965dddd..000000000 --- a/helm/ocaml/tactics/continuationals.ml +++ /dev/null @@ -1,355 +0,0 @@ -(* Copyright (C) 2005, 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 debug = false -let debug_print s = if debug then prerr_endline (Lazy.force s) else () - -exception Error of string lazy_t -let fail msg = raise (Error msg) - -type goal = ProofEngineTypes.goal - -module Stack = -struct - type switch = Open of goal | Closed of goal - type locator = int * switch - type tag = [ `BranchTag | `FocusTag | `NoTag ] - type entry = locator list * locator list * locator list * tag - type t = entry list - - let empty = [ [], [], [], `NoTag ] - - let fold ~env ~cont ~todo init stack = - let rec aux acc depth = - function - | [] -> acc - | (locs, todos, conts, tag) :: tl -> - let acc = List.fold_left (fun acc -> env acc depth tag) acc locs in - let acc = List.fold_left (fun acc -> cont acc depth tag) acc conts in - let acc = List.fold_left (fun acc -> todo acc depth tag) acc todos in - aux acc (depth + 1) tl - in - assert (stack <> []); - aux init 0 stack - - let iter ~env ~cont ~todo = - fold ~env:(fun _ -> env) ~cont:(fun _ -> cont) ~todo:(fun _ -> todo) () - - let map ~env ~cont ~todo = - let depth = ref ~-1 in - List.map - (fun (s, t, c, tag) -> - incr depth; - let d = !depth in - env d tag s, todo d tag t, cont d tag c, tag) - - let is_open = function _, Open _ -> true | _ -> false - let close = function n, Open g -> n, Closed g | l -> l - let filter_open = List.filter is_open - let is_fresh = function n, Open _ when n > 0 -> true | _ -> false - let goal_of_loc = function _, Open g | _, Closed g -> g - let goal_of_switch = function Open g | Closed g -> g - let switch_of_loc = snd - - let zero_pos = List.map (fun g -> 0, Open g) - - let init_pos locs = - let pos = ref 0 in (* positions are 1-based *) - List.map (function _, sw -> incr pos; !pos, sw) locs - - let extract_pos i = - let rec aux acc = - function - | [] -> fail (lazy (sprintf "relative position %d not found" i)) - | (i', _) as loc :: tl when i = i' -> loc, (List.rev acc) @ tl - | hd :: tl -> aux (hd :: acc) tl - in - aux [] - - let deep_close gs = - let close _ _ = - List.map (fun l -> if List.mem (goal_of_loc l) gs then close l else l) - in - let rm _ _ = List.filter (fun l -> not (List.mem (goal_of_loc l) gs)) in - map ~env:close ~cont:rm ~todo:rm - - let rec find_goal = - function - | [] -> raise (Failure "Continuationals.find_goal") - | (l :: _, _ , _ , _) :: _ -> goal_of_loc l - | ( _ , _ , l :: _, _) :: _ -> goal_of_loc l - | ( _ , l :: _, _ , _) :: _ -> goal_of_loc l - | _ :: tl -> find_goal tl - - let is_empty = - function - | [] -> assert false - | [ [], [], [], `NoTag ] -> true - | _ -> false - - let of_metasenv metasenv = - let goals = List.map (fun (g, _, _) -> g) metasenv in - [ zero_pos goals, [], [], `NoTag ] - - let head_switches = - function - | (locs, _, _, _) :: _ -> List.map switch_of_loc locs - | [] -> assert false - - let head_goals = - function - | (locs, _, _, _) :: _ -> List.map goal_of_loc locs - | [] -> assert false - - let head_tag = - function - | (_, _, _, tag) :: _ -> tag - | [] -> assert false - - let shift_goals = - function - | _ :: (locs, _, _, _) :: _ -> List.map goal_of_loc locs - | [] -> assert false - | _ -> [] - - let open_goals stack = - let add_open acc _ _ l = if is_open l then goal_of_loc l :: acc else acc in - List.rev (fold ~env:add_open ~cont:add_open ~todo:add_open [] stack) - - let (@+) = (@) (* union *) - - let (@-) s1 s2 = (* difference *) - List.fold_right - (fun e acc -> if List.mem e s2 then acc else e :: acc) - s1 [] - - let (@~-) locs gs = (* remove some goals from a locators list *) - List.fold_right - (fun loc acc -> if List.mem (goal_of_loc loc) gs then acc else loc :: acc) - locs [] - - let pp stack = - let pp_goal = string_of_int in - let pp_switch = - function Open g -> "o" ^ pp_goal g | Closed g -> "c" ^ pp_goal g - in - let pp_loc (i, s) = string_of_int i ^ pp_switch s in - let pp_env env = sprintf "[%s]" (String.concat ";" (List.map pp_loc env)) in - let pp_tag = function `BranchTag -> "B" | `FocusTag -> "F" | `NoTag -> "N" in - let pp_stack_entry (env, todo, cont, tag) = - sprintf "(%s, %s, %s, %s)" (pp_env env) (pp_env todo) (pp_env cont) - (pp_tag tag) - in - String.concat " :: " (List.map pp_stack_entry stack) -end - -module type Status = -sig - type input_status - type output_status - - type tactic - - val id_tactic : tactic - val mk_tactic : (input_status -> output_status) -> tactic - val apply_tactic : tactic -> input_status -> output_status - - val goals : output_status -> goal list * goal list (** opened, closed goals *) - val set_goals: goal list * goal list -> output_status -> output_status - val get_stack : input_status -> Stack.t - val set_stack : Stack.t -> output_status -> output_status - - val inject : input_status -> output_status - val focus : goal -> output_status -> input_status -end - -module type C = -sig - type input_status - type output_status - type tactic - - type tactical = - | Tactic of tactic - | Skip - - type t = - | Dot - | Semicolon - - | Branch - | Shift - | Pos of int - | Merge - - | Focus of goal list - | Unfocus - - | Tactical of tactical - - val eval: t -> input_status -> output_status -end - -module Make (S: Status) = -struct - open Stack - - type input_status = S.input_status - type output_status = S.output_status - type tactic = S.tactic - - type tactical = - | Tactic of tactic - | Skip - - type t = - | Dot - | Semicolon - | Branch - | Shift - | Pos of int - | Merge - | Focus of goal list - | Unfocus - | Tactical of tactical - - let pp_t = - function - | Dot -> "Dot" - | Semicolon -> "Semicolon" - | Branch -> "Branch" - | Shift -> "Shift" - | Pos i -> "Pos " ^ string_of_int i - | Merge -> "Merge" - | Focus gs -> - sprintf "Focus [%s]" (String.concat "; " (List.map string_of_int gs)) - | Unfocus -> "Unfocus" - | Tactical _ -> "Tactical " - - let eval_tactical tactical ostatus switch = - match tactical, switch with - | Tactic tac, Open n -> - let ostatus = S.apply_tactic tac (S.focus n ostatus) in - let opened, closed = S.goals ostatus in - ostatus, opened, closed - | Skip, Closed n -> ostatus, [], [n] - | Tactic _, Closed _ -> fail (lazy "can't apply tactic to a closed goal") - | Skip, Open _ -> fail (lazy "can't skip an open goal") - - let eval cmd istatus = - let stack = S.get_stack istatus in - debug_print (lazy (sprintf "EVAL CONT %s <- %s" (pp_t cmd) (pp stack))); - let new_stack stack = S.inject istatus, stack in - let ostatus, stack = - match cmd, stack with - | _, [] -> assert false - | Tactical tac, (g, t, k, tag) :: s -> - if g = [] then fail (lazy "can't apply a tactic to zero goals"); - debug_print (lazy ("context length " ^string_of_int (List.length g))); - let rec aux s go gc = - function - | [] -> s, go, gc - | loc :: loc_tl -> - debug_print (lazy "inner eval tactical"); - let s, go, gc = - if List.exists ((=) (goal_of_loc loc)) gc then - s, go, gc - else - let s, go', gc' = eval_tactical tac s (switch_of_loc loc) in - s, (go @- gc') @+ go', gc @+ gc' - in - aux s go gc loc_tl - in - let s0, go0, gc0 = S.inject istatus, [], [] in - let sn, gon, gcn = aux s0 go0 gc0 g in - debug_print (lazy ("opened: " - ^ String.concat " " (List.map string_of_int gon))); - debug_print (lazy ("closed: " - ^ String.concat " " (List.map string_of_int gcn))); - let stack = - (zero_pos gon, t @~- gcn, k @~- gon, tag) :: deep_close gcn s - in - sn, stack - | Dot, ([], _, [], _) :: _ -> - (* backward compatibility: do-nothing-dot *) - new_stack stack - | Dot, (g, t, k, tag) :: s -> - (match filter_open g, k with - | loc :: loc_tl, _ -> new_stack (([ loc ], t, loc_tl @+ k, tag) :: s) - | [], loc :: k -> - assert (is_open loc); - new_stack (([ loc ], t, k, tag) :: s) - | _ -> fail (lazy "can't use \".\" here")) - | Semicolon, _ -> new_stack stack - | Branch, (g, t, k, tag) :: s -> - (match init_pos g with - | [] | [ _ ] -> fail (lazy "too few goals to branch"); - | loc :: loc_tl -> - new_stack - (([ loc ], [], [], `BranchTag) :: (loc_tl, t, k, tag) :: s)) - | Shift, (g, t, k, `BranchTag) :: (g', t', k', tag) :: s -> - (match g' with - | [] -> fail (lazy "no more goals to shift") - | loc :: loc_tl -> - new_stack - (([ loc ], t @+ filter_open g, [],`BranchTag) - :: (loc_tl, t', k', tag) :: s)) - | Shift, _ -> fail (lazy "can't shift goals here") - | Pos i, ([ loc ], [], [],`BranchTag) :: (g', t', k', tag) :: s - when is_fresh loc -> - let loc_i, g' = extract_pos i g' in - new_stack - (([ loc_i ], [], [],`BranchTag) - :: ([ loc ] @+ g', t', k', tag) :: s) - | Pos i, (g, t, k,`BranchTag) :: (g', t', k', tag) :: s -> - let loc_i, g' = extract_pos i g' in - new_stack - (([ loc_i ], [], [],`BranchTag) - :: (g', t' @+ filter_open g, k', tag) :: s) - | Pos _, _ -> fail (lazy "can't use relative positioning here") - | Merge, (g, t, k,`BranchTag) :: (g', t', k', tag) :: s -> - new_stack ((t @+ filter_open g @+ g' @+ k, t', k', tag) :: s) - | Merge, _ -> fail (lazy "can't merge goals here") - | Focus [], _ -> assert false - | Focus gs, s -> - let stack_locs = - let add_l acc _ _ l = if is_open l then l :: acc else acc in - Stack.fold ~env:add_l ~cont:add_l ~todo:add_l [] s - in - List.iter - (fun g -> - if not (List.exists (fun l -> goal_of_loc l = g) stack_locs) then - fail (lazy (sprintf "goal %d not found (or closed)" g))) - gs; - new_stack ((zero_pos gs, [], [], `FocusTag) :: deep_close gs s) - | Unfocus, ([], [], [], `FocusTag) :: s -> new_stack s - | Unfocus, _ -> fail (lazy "can't unfocus, some goals are still open") - in - debug_print (lazy (sprintf "EVAL CONT %s -> %s" (pp_t cmd) (pp stack))); - S.set_stack stack ostatus -end - diff --git a/helm/ocaml/tactics/continuationals.mli b/helm/ocaml/tactics/continuationals.mli deleted file mode 100644 index d40202d4b..000000000 --- a/helm/ocaml/tactics/continuationals.mli +++ /dev/null @@ -1,126 +0,0 @@ -(* Copyright (C) 2005, 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 Error of string Lazy.t - -type goal = ProofEngineTypes.goal - -(** {2 Goal stack} *) - -module Stack: -sig - type switch = Open of goal | Closed of goal - type locator = int * switch - type tag = [ `BranchTag | `FocusTag | `NoTag ] - type entry = locator list * locator list * locator list * tag - type t = entry list - - val empty: t - - val find_goal: t -> goal (** find "next" goal *) - val is_empty: t -> bool (** a singleton empty level *) - val of_metasenv: Cic.metasenv -> t - val head_switches: t -> switch list (** top level switches *) - val head_goals: t -> goal list (** top level goals *) - val head_tag: t -> tag (** top level tag *) - val shift_goals: t -> goal list (** second level goals *) - val open_goals: t -> goal list (** all (Open) goals *) - val goal_of_switch: switch -> goal - - (** @param int depth, depth 0 is the top of the stack *) - val fold: - env: ('a -> int -> tag -> locator -> 'a) -> - cont:('a -> int -> tag -> locator -> 'a) -> - todo:('a -> int -> tag -> locator -> 'a) -> - 'a -> t -> 'a - - val iter: (** @param depth as above *) - env: (int -> tag -> locator -> unit) -> - cont:(int -> tag -> locator -> unit) -> - todo:(int -> tag -> locator -> unit) -> - t -> unit - - val map: (** @param depth as above *) - env: (int -> tag -> locator list -> locator list) -> - cont:(int -> tag -> locator list -> locator list) -> - todo:(int -> tag -> locator list -> locator list) -> - t -> t - - val pp: t -> string -end - -(** {2 Functorial interface} *) - -module type Status = -sig - type input_status - type output_status - - type tactic - - val id_tactic : tactic - val mk_tactic : (input_status -> output_status) -> tactic - val apply_tactic : tactic -> input_status -> output_status - - val goals : output_status -> goal list * goal list (** opened, closed goals *) - val set_goals: goal list * goal list -> output_status -> output_status - val get_stack : input_status -> Stack.t - val set_stack : Stack.t -> output_status -> output_status - - val inject : input_status -> output_status - val focus : goal -> output_status -> input_status -end - -module type C = -sig - type input_status - type output_status - type tactic - - type tactical = - | Tactic of tactic - | Skip - - type t = - | Dot - | Semicolon - - | Branch - | Shift - | Pos of int - | Merge - | Focus of goal list - | Unfocus - - | Tactical of tactical - - val eval: t -> input_status -> output_status -end - -module Make (S: Status) : C - with type tactic = S.tactic - and type input_status = S.input_status - and type output_status = S.output_status - diff --git a/helm/ocaml/tactics/discriminationTactics.ml b/helm/ocaml/tactics/discriminationTactics.ml deleted file mode 100644 index c9feaaee6..000000000 --- a/helm/ocaml/tactics/discriminationTactics.ml +++ /dev/null @@ -1,552 +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_print = fun _ -> () - -let rec injection_tac ~term = - let injection_tac ~term status = - let (proof, goal) = status in - let module C = Cic in - let module U = UriManager in - let module P = PrimitiveTactics in - let module T = Tacticals in - let _,metasenv,_,_ = proof in - let _,context,_ = CicUtil.lookup_meta goal metasenv in - let termty,_ = (* TASSI: FIXME *) - CicTypeChecker.type_of_aux' metasenv context term CicUniv.empty_ugraph in - ProofEngineTypes.apply_tactic - (match termty with - (C.Appl [(C.MutInd (equri, 0, [])) ; tty ; t1 ; t2]) - when LibraryObjects.is_eq_URI equri -> ( - match tty with - (C.MutInd (turi,typeno,exp_named_subst)) - | (C.Appl (C.MutInd (turi,typeno,exp_named_subst)::_)) -> ( - match t1,t2 with - ((C.MutConstruct (uri1,typeno1,consno1,exp_named_subst1)), - (C.MutConstruct (uri2,typeno2,consno2,exp_named_subst2))) - when (uri1 = uri2) && (typeno1 = typeno2) && - (consno1 = consno2) && (exp_named_subst1 = exp_named_subst2) -> - (* raise (ProofEngineTypes.Fail "Injection: nothing to do") ; *) T.id_tac - | ((C.Appl ((C.MutConstruct (uri1,typeno1,consno1,exp_named_subst1))::applist1)), - (C.Appl ((C.MutConstruct (uri2,typeno2,consno2,exp_named_subst2))::applist2))) - when (uri1 = uri2) && (typeno1 = typeno2) && (consno1 = consno2) && (exp_named_subst1 = exp_named_subst2) -> - let rec traverse_list i l1 l2 = - match l1,l2 with - [],[] -> T.id_tac - | hd1::tl1,hd2::tl2 -> - T.then_ - ~start:(injection1_tac ~i ~term) - ~continuation:(traverse_list (i+1) tl1 tl2) - | _ -> raise (ProofEngineTypes.Fail (lazy "Discriminate: i 2 termini hanno in testa lo stesso costruttore, ma applicato a un numero diverso di termini. possibile???")) ; T.id_tac - in traverse_list 1 applist1 applist2 - | ((C.MutConstruct (uri1,typeno1,consno1,exp_named_subst1)), - (C.MutConstruct (uri2,typeno2,consno2,exp_named_subst2))) - | ((C.MutConstruct (uri1,typeno1,consno1,exp_named_subst1)), - (C.Appl ((C.MutConstruct (uri2,typeno2,consno2,exp_named_subst2))::_))) - | ((C.Appl ((C.MutConstruct (uri1,typeno1,consno1,exp_named_subst1))::_)), - (C.MutConstruct (uri2,typeno2,consno2,exp_named_subst2))) - | ((C.Appl ((C.MutConstruct (uri1,typeno1,consno1,exp_named_subst1))::_)), - (C.Appl ((C.MutConstruct (uri2,typeno2,consno2,exp_named_subst2))::_))) - when (consno1 <> consno2) || (exp_named_subst1 <> exp_named_subst2) -> - (* raise (ProofEngineTypes.Fail "Injection: not a projectable equality but a discriminable one") ; *) T.id_tac - | _ -> (* raise (ProofEngineTypes.Fail "Injection: not a projectable equality") ; *) T.id_tac - ) - | _ -> raise (ProofEngineTypes.Fail (lazy "Injection: not a projectable equality")) - ) - | _ -> raise (ProofEngineTypes.Fail (lazy "Injection: not an equation")) - ) status - in - ProofEngineTypes.mk_tactic (injection_tac ~term) - -and injection1_tac ~term ~i = - let injection1_tac ~term ~i status = - let (proof, goal) = status in - (* precondizione: t1 e t2 hanno in testa lo stesso costruttore ma differiscono (o potrebbero differire?) nell'i-esimo parametro del costruttore *) - let module C = Cic in - let module S = CicSubstitution in - let module U = UriManager in - let module P = PrimitiveTactics in - let module T = Tacticals in - let _,metasenv,_,_ = proof in - let _,context,_ = CicUtil.lookup_meta goal metasenv in - let termty,_ = (* TASSI: FIXME *) - CicTypeChecker.type_of_aux' metasenv context term CicUniv.empty_ugraph in - match termty with (* an equality *) - (C.Appl [(C.MutInd (equri, 0, [])) ; tty ; t1 ; t2]) - when LibraryObjects.is_eq_URI equri -> ( - match tty with (* some inductive type *) - (C.MutInd (turi,typeno,exp_named_subst)) - | (C.Appl (C.MutInd (turi,typeno,exp_named_subst)::_)) -> - let t1',t2',consno = (* sono i due sottotermini che differiscono *) - match t1,t2 with - ((C.Appl ((C.MutConstruct (uri1,typeno1,consno1,exp_named_subst1))::applist1)), - (C.Appl ((C.MutConstruct (uri2,typeno2,consno2,exp_named_subst2))::applist2))) - when (uri1 = uri2) && (typeno1 = typeno2) && (consno1 = consno2) && (exp_named_subst1 = exp_named_subst2) -> (* controllo ridondante *) - (List.nth applist1 (i-1)),(List.nth applist2 (i-1)),consno2 - | _ -> assert false - in - let tty',_ = - CicTypeChecker.type_of_aux' metasenv context t1' - CicUniv.empty_ugraph in - let pattern = - match fst(CicEnvironment.get_obj - CicUniv.empty_ugraph turi ) with - C.InductiveDefinition (ind_type_list,_,nr_ind_params_dx,_) -> - let _,_,_,constructor_list = (List.nth ind_type_list typeno) in - let i_constr_id,_ = List.nth constructor_list (consno - 1) in - List.map - (function (id,cty) -> - let reduced_cty = CicReduction.whd context cty in - let rec aux t k = - match t with - C.Prod (_,_,target) when (k <= nr_ind_params_dx) -> - aux target (k+1) - | C.Prod (binder,source,target) when (k > nr_ind_params_dx) -> - let binder' = - match binder with - C.Name b -> C.Name b - | C.Anonymous -> C.Name "y" - in - C.Lambda (binder',source,(aux target (k+1))) - | _ -> - let nr_param_constr = k - 1 - nr_ind_params_dx in - if (id = i_constr_id) - then C.Rel (nr_param_constr - i + 1) - else S.lift (nr_param_constr + 1) t1' (* + 1 per liftare anche il lambda agguinto esternamente al case *) - in aux reduced_cty 1 - ) - constructor_list - | _ -> raise (ProofEngineTypes.Fail (lazy "Discriminate: object is not an Inductive Definition: it's imposible")) - in - ProofEngineTypes.apply_tactic - (T.thens - ~start:(P.cut_tac (C.Appl [(C.MutInd (equri,0,[])) ; tty' ; t1' ; t2'])) - ~continuations:[ - T.then_ - ~start:(injection_tac ~term:(C.Rel 1)) - ~continuation:T.id_tac (* !!! qui devo anche fare clear di term tranne al primo passaggio *) - ; - T.then_ - ~start:(ProofEngineTypes.mk_tactic - (fun status -> - let (proof, goal) = status in - let _,metasenv,_,_ = proof in - let _,context,gty = CicUtil.lookup_meta goal metasenv in - let new_t1' = - match gty with - (C.Appl (C.MutInd (_,_,_)::arglist)) -> - List.nth arglist 1 - | _ -> raise (ProofEngineTypes.Fail (lazy "Injection: goal after cut is not correct")) - in - ProofEngineTypes.apply_tactic - (ReductionTactics.change_tac - ~pattern:(ProofEngineTypes.conclusion_pattern - (Some new_t1')) - (fun _ m u -> - C.Appl [ C.Lambda (C.Name "x", tty, - C.MutCase (turi, typeno, - (C.Lambda ((C.Name "x"), - (S.lift 1 tty), - (S.lift 2 tty'))), - (C.Rel 1), pattern - ) - ); - t1], m, u)) - status - )) - ~continuation: - (T.then_ - ~start: - (EqualityTactics.rewrite_simpl_tac - ~direction:`LeftToRight - ~pattern:(ProofEngineTypes.conclusion_pattern None) - term) - ~continuation:EqualityTactics.reflexivity_tac - ) - ]) - status - | _ -> raise (ProofEngineTypes.Fail (lazy "Discriminate: not a discriminable equality")) - ) - | _ -> raise (ProofEngineTypes.Fail (lazy "Discriminate: not an equality")) - in - ProofEngineTypes.mk_tactic (injection1_tac ~term ~i) -;; - -exception TwoDifferentSubtermsFound of int - -(* term ha tipo t1=t2; funziona solo se t1 e t2 hanno in testa costruttori -diversi *) - -let discriminate'_tac ~term = - let module C = Cic in - let module U = UriManager in - let module P = PrimitiveTactics in - let module T = Tacticals in - let fail msg = raise (ProofEngineTypes.Fail (lazy ("Discriminate: " ^ msg))) in - let find_discriminating_consno t1 t2 = - let rec aux t1 t2 = - match t1, t2 with - | C.MutConstruct _, C.MutConstruct _ when t1 = t2 -> None - | C.Appl ((C.MutConstruct _ as constr1) :: args1), - C.Appl ((C.MutConstruct _ as constr2) :: args2) - when constr1 = constr2 -> - let rec aux_list l1 l2 = - match l1, l2 with - | [], [] -> None - | hd1 :: tl1, hd2 :: tl2 -> - (match aux hd1 hd2 with - | None -> aux_list tl1 tl2 - | Some _ as res -> res) - | _ -> (* same constructor applied to a different number of args *) - assert false - in - aux_list args1 args2 - | ((C.MutConstruct (_,_,consno1,subst1)), - (C.MutConstruct (_,_,consno2,subst2))) - | ((C.MutConstruct (_,_,consno1,subst1)), - (C.Appl ((C.MutConstruct (_,_,consno2,subst2)) :: _))) - | ((C.Appl ((C.MutConstruct (_,_,consno1,subst1)) :: _)), - (C.MutConstruct (_,_,consno2,subst2))) - | ((C.Appl ((C.MutConstruct (_,_,consno1,subst1)) :: _)), - (C.Appl ((C.MutConstruct (_,_,consno2,subst2)) :: _))) - when (consno1 <> consno2) || (subst1 <> subst2) -> - Some consno2 - | _ -> fail "not a discriminable equality" - in - aux t1 t2 - in - let mk_pattern turi typeno consno context left_args = - (* a list of "True" except for the element in position consno which - * is "False" *) - match fst (CicEnvironment.get_obj CicUniv.empty_ugraph turi) with - | C.InductiveDefinition (ind_type_list,_,nr_ind_params,_) -> - let _,_,_,constructor_list = List.nth ind_type_list typeno in - let false_constr_id,_ = List.nth constructor_list (consno - 1) in - List.map - (fun (id,cty) -> - (* dubbio: e' corretto ridurre in questo context ??? *) - let red_ty = CicReduction.whd context cty in - let rec aux t k = - match t with - | C.Prod (_,_,target) when (k <= nr_ind_params) -> - CicSubstitution.subst (List.nth left_args (k-1)) - (aux target (k+1)) - | C.Prod (binder,source,target) when (k > nr_ind_params) -> - C.Lambda (binder, source, (aux target (k+1))) - | _ -> - if (id = false_constr_id) - then (C.MutInd(LibraryObjects.false_URI (),0,[])) - else (C.MutInd(LibraryObjects.true_URI (),0,[])) - in - (CicSubstitution.lift 1 (aux red_ty 1))) - constructor_list - | _ -> (* object is not an inductive definition *) - assert false - in - let discriminate'_tac ~term status = - let (proof, goal) = status in - let _,metasenv,_,_ = proof in - let _,context,_ = CicUtil.lookup_meta goal metasenv in - let termty,_ = - CicTypeChecker.type_of_aux' metasenv context term CicUniv.empty_ugraph - in - match termty with - | (C.Appl [(C.MutInd (equri, 0, [])) ; tty ; t1 ; t2]) - when LibraryObjects.is_eq_URI equri -> - let turi,typeno,exp_named_subst,left_args = - match tty with - | (C.MutInd (turi,typeno,exp_named_subst)) -> - turi,typeno,exp_named_subst,[] - | (C.Appl (C.MutInd (turi,typeno,exp_named_subst)::left_args)) -> - turi,typeno,exp_named_subst,left_args - | _ -> fail "not a discriminable equality" - in - let consno = - match find_discriminating_consno t1 t2 with - | Some consno -> consno - | None -> fail "discriminating terms are structurally equal" - in - let pattern = mk_pattern turi typeno consno context left_args in - let (proof',goals') = - ProofEngineTypes.apply_tactic - (EliminationTactics.elim_type_tac - (C.MutInd (LibraryObjects.false_URI (), 0, []))) - status - in - (match goals' with - | [goal'] -> - let _,metasenv',_,_ = proof' in - let _,context',gty' = CicUtil.lookup_meta goal' metasenv' in - ProofEngineTypes.apply_tactic - (T.then_ - ~start: - (ReductionTactics.change_tac - ~pattern:(ProofEngineTypes.conclusion_pattern (Some gty')) - (fun _ m u -> - C.Appl [ - C.Lambda ( C.Name "x", tty, - C.MutCase (turi, typeno, - (C.Lambda ((C.Name "x"), - (CicSubstitution.lift 1 tty), - (C.Sort C.Prop))), - (C.Rel 1), pattern)); - t2 ], m, u)) - ~continuation: - (T.then_ - ~start: - (EqualityTactics.rewrite_simpl_tac - ~direction:`RightToLeft - ~pattern:(ProofEngineTypes.conclusion_pattern None) - term) - ~continuation: - (IntroductionTactics.constructor_tac ~n:1))) - (proof',goal') - | [] -> fail "ElimType False left no goals" - | _ -> fail "ElimType False left more than one goal") - | _ -> fail "not an equality" - in - ProofEngineTypes.mk_tactic (discriminate'_tac ~term) - -let discriminate_tac ~term = - let discriminate_tac ~term status = - ProofEngineTypes.apply_tactic - (Tacticals.then_ - ~start:(* (injection_tac ~term) *) Tacticals.id_tac - ~continuation:(discriminate'_tac ~term)) (* NOOO!!! non term ma una (qualunque) delle nuove hyp introdotte da inject *) - status - in - ProofEngineTypes.mk_tactic (discriminate_tac ~term) - -let decide_equality_tac = -(* il goal e' un termine della forma t1=t2\/~t1=t2; la tattica decide se l'uguaglianza -e' vera o no e lo risolve *) - Tacticals.id_tac - -let compare_tac ~term = Tacticals.id_tac - (* -(* term is in the form t1=t2; the tactic leaves two goals: in the first you have to *) -(* demonstrate the goal with the additional hyp that t1=t2, in the second the hyp is ~t1=t2 *) - let module C = Cic in - let module U = UriManager in - let module P = PrimitiveTactics in - let module T = Tacticals in - let _,metasenv,_,_ = proof in - let _,context,gty = CicUtil.lookup_meta goal metasenv in - let termty = (CicTypeChecker.type_of_aux' metasenv context term) in - match termty with - (C.Appl [(C.MutInd (uri, 0, [])); _; t1; t2]) when (uri = (U.uri_of_string "cic:/Coq/Init/Logic/eq.ind")) -> - - let term' = (* (t1=t2)\/~(t1=t2) *) - C.Appl [ - (C.MutInd ((U.uri_of_string "cic:/Coq/Init/Logic/or.ind"), 0, [])) ; - term ; - C.Appl [ - (C.MutInd ((U.uri_of_string "cic:/Coq/Init/Logic/eq.ind"), 1, [])) ; - t1 ; - C.Appl [C.Const ((U.uri_of_string "cic:/Coq/Init/Logic/not.con"), []) ; t2] - ] - ] - in - T.thens - ~start:(P.cut_tac ~term:term') - ~continuations:[ - T.then_ ~start:(P.intros_tac) ~continuation:(P.elim_intros_simpl_tac ~term:(C.Rel 1)) ; - decide_equality_tac] - status - | (C.Appl [(C.MutInd (uri, 0, [])); _; t1; t2]) when (uri = (U.uri_of_string "cic:/Coq/Init/Logic_Type/eqT.ind")) -> - let term' = (* (t1=t2) \/ ~(t1=t2) *) - C.Appl [ - (C.MutInd ((U.uri_of_string "cic:/Coq/Init/Logic/or.ind"), 0, [])) ; - term ; - C.Appl [ - (C.MutInd ((U.uri_of_string "cic:/Coq/Init/Logic_Type/eqT.ind"), 1, [])) ; - t1 ; - C.Appl [C.Const ((U.uri_of_string "cic:/Coq/Init/Logic/not.con"), []) ; t2] - ] - ] - in - T.thens - ~start:(P.cut_tac ~term:term') - ~continuations:[ - T.then_ ~start:(P.intros_tac) ~continuation:(P.elim_intros_simpl_tac ~term:(C.Rel 1)) ; - decide_equality_tac] - status - | _ -> raise (ProofEngineTypes.Fail "Compare: Not an equality") -*) -;; - - - -(* DISCRIMINTATE SENZA INJECTION - -exception TwoDifferentSubtermsFound of (Cic.term * Cic.term * int) - -let discriminate_tac ~term status = - let module C = Cic in - let module U = UriManager in - let module P = PrimitiveTactics in - let module T = Tacticals in - let (proof, goal) = status in - let _,metasenv,_,_ = proof in - let _,context,_ = CicUtil.lookup_meta goal metasenv in - let termty = (CicTypeChecker.type_of_aux' metasenv context term) in - match termty with - (C.Appl [(C.MutInd (equri, 0, [])) ; tty ; t1 ; t2]) - when (U.eq equri (U.uri_of_string "cic:/Coq/Init/Logic/eq.ind")) - or (U.eq equri (U.uri_of_string "cic:/Coq/Init/Logic_Type/eqT.ind")) -> ( - match tty with - (C.MutInd (turi,typeno,exp_named_subst)) - | (C.Appl (C.MutInd (turi,typeno,exp_named_subst)::_)) -> - - let (t1',t2',consno2') = (* bruuutto: uso un eccezione per terminare con successo! buuu!! :-/ *) - try - let rec traverse t1 t2 = -debug_print (lazy ("XXXX t1 " ^ CicPp.ppterm t1)) ; -debug_print (lazy ("XXXX t2 " ^ CicPp.ppterm t2)) ; - match t1,t2 with - ((C.MutConstruct (uri1,typeno1,consno1,exp_named_subst1)), - (C.MutConstruct (uri2,typeno2,consno2,exp_named_subst2))) - when (uri1 = uri2) && (typeno1 = typeno2) && (consno1 = consno2) && (exp_named_subst1 = exp_named_subst2) -> - t1,t2,0 - | ((C.Appl ((C.MutConstruct (uri1,typeno1,consno1,exp_named_subst1))::applist1)), - (C.Appl ((C.MutConstruct (uri2,typeno2,consno2,exp_named_subst2))::applist2))) - when (uri1 = uri2) && (typeno1 = typeno2) && (consno1 = consno2) && (exp_named_subst1 = exp_named_subst2) -> - let rec traverse_list l1 l2 = - match l1,l2 with - [],[] -> t1,t2,0 - | hd1::tl1,hd2::tl2 -> traverse hd1 hd2; traverse_list tl1 tl2 - | _ -> raise (ProofEngineTypes.Fail "Discriminate: i 2 termini hanno in testa lo stesso costruttore, ma applicato a un numero diverso di termini. possibile???") - in traverse_list applist1 applist2 - - | ((C.MutConstruct (uri1,typeno1,consno1,exp_named_subst1)), - (C.MutConstruct (uri2,typeno2,consno2,exp_named_subst2))) - | ((C.MutConstruct (uri1,typeno1,consno1,exp_named_subst1)), - (C.Appl ((C.MutConstruct (uri2,typeno2,consno2,exp_named_subst2))::_))) - | ((C.Appl ((C.MutConstruct (uri1,typeno1,consno1,exp_named_subst1))::_)), - (C.MutConstruct (uri2,typeno2,consno2,exp_named_subst2))) - | ((C.Appl ((C.MutConstruct (uri1,typeno1,consno1,exp_named_subst1))::_)), - (C.Appl ((C.MutConstruct (uri2,typeno2,consno2,exp_named_subst2))::_))) - when (consno1 <> consno2) || (exp_named_subst1 <> exp_named_subst2) -> - raise (TwoDifferentSubtermsFound (t1,t2,consno2)) - | _ -> raise (ProofEngineTypes.Fail "Discriminate: not a discriminable equality") - in traverse t1 t2 - with (TwoDifferentSubtermsFound (t1,t2,consno2)) -> (t1,t2,consno2) - in -debug_print (lazy ("XXXX consno2' " ^ (string_of_int consno2'))) ; - if consno2' = 0 - then raise (ProofEngineTypes.Fail "Discriminate: Discriminating terms are structurally equal") - else - - let pattern = - (* a list of "True" except for the element in position consno2' which is "False" *) - match fst(CicEnvironment.get_obj turi - CicUniv.empty_ugraph) with - C.InductiveDefinition (ind_type_list,_,nr_ind_params) -> -debug_print (lazy ("XXXX nth " ^ (string_of_int (List.length ind_type_list)) ^ " " ^ (string_of_int typeno))) ; - let _,_,_,constructor_list = (List.nth ind_type_list typeno) in -debug_print (lazy ("XXXX nth " ^ (string_of_int (List.length constructor_list)) ^ " " ^ (string_of_int consno2'))) ; - let false_constr_id,_ = List.nth constructor_list (consno2' - 1) in -debug_print (lazy "XXXX nth funzionano ") ; - List.map - (function (id,cty) -> - let red_ty = CicReduction.whd context cty in (* dubbio: e' corretto ridurre in questo context ??? *) - let rec aux t k = - match t with - C.Prod (_,_,target) when (k <= nr_ind_params) -> - aux target (k+1) - | C.Prod (binder,source,target) when (k > nr_ind_params) -> - C.Lambda (binder,source,(aux target (k+1))) - | _ -> - if (id = false_constr_id) - then (C.MutInd (U.uri_of_string "cic:/Coq/Init/Logic/False.ind") 0 []) - else (C.MutInd (U.uri_of_string "cic:/Coq/Init/Logic/True.ind") 0 []) - in aux red_ty 1 - ) - constructor_list - | _ -> raise (ProofEngineTypes.Fail "Discriminate: object is not an Inductive Definition: it's imposible") - in - - let (proof',goals') = - EliminationTactics.elim_type_tac - ~term:(C.MutInd (U.uri_of_string "cic:/Coq/Init/Logic/False.ind") 0 [] ) - status - in - (match goals' with - [goal'] -> - let _,metasenv',_,_ = proof' in - let _,context',gty' = - CicUtil.lookup_meta goal' metasenv' - in - T.then_ - ~start: - (P.change_tac - ~what:gty' - ~with_what: - (C.Appl [ - C.Lambda ( - C.Name "x", tty, - C.MutCase ( - turi, typeno, - (C.Lambda ((C.Name "x"),tty,(C.Sort C.Prop))), - (C.Rel 1), pattern - ) - ); - t2'] - ) - ) - ~continuation: - ( -debug_print (lazy ("XXXX rewrite<-: " ^ CicPp.ppterm (CicTypeChecker.type_of_aux' metasenv' context' (C.Appl [(C.MutInd (equri,0,[])) ; tty ; t1' ; t2'])))); -debug_print (lazy ("XXXX rewrite<-: " ^ CicPp.ppterm (C.Appl [(C.MutInd (equri,0,[])) ; tty ; t1' ; t2']))) ; -debug_print (lazy ("XXXX equri: " ^ U.string_of_uri equri)) ; -debug_print (lazy ("XXXX tty : " ^ CicPp.ppterm tty)) ; -debug_print (lazy ("XXXX tt1': " ^ CicPp.ppterm (CicTypeChecker.type_of_aux' metasenv' context' t1'))) ; -debug_print (lazy ("XXXX tt2': " ^ CicPp.ppterm (CicTypeChecker.type_of_aux' metasenv' context' t2'))) ; -if (CicTypeChecker.type_of_aux' metasenv' context' t1') <> tty then debug_print (lazy ("XXXX tt1': " ^ CicPp.ppterm (CicTypeChecker.type_of_aux' metasenv' context' t1'))) ; -if (CicTypeChecker.type_of_aux' metasenv' context' t2') <> tty then debug_print (lazy ("XXXX tt2': " ^ CicPp.ppterm (CicTypeChecker.type_of_aux' metasenv' context' t2'))) ; -if (CicTypeChecker.type_of_aux' metasenv' context' t1') <> (CicTypeChecker.type_of_aux' metasenv' context' t2') - then debug_print (lazy ("XXXX tt1': " ^ CicPp.ppterm (CicTypeChecker.type_of_aux' - metasenv' context' t1'))) ; debug_print (lazy ("XXXX tt2': " ^ CicPp.ppterm (CicTypeChecker.type_of_aux' metasenv' context' t2'))) ; - - let termty' = ProofEngineReduction.replace_lifting ~equality:(==) ~what:t1 ~with_what:t1' ~where:termty in - let termty'' = ProofEngineReduction.replace_lifting ~equality:(==) ~what:t2 ~with_what:t2' ~where:termty' in - -debug_print (lazy ("XXXX rewrite<- " ^ CicPp.ppterm term ^ " : " ^ CicPp.ppterm (CicTypeChecker.type_of_aux' metasenv' context' term))); - T.then_ - ~start:(EqualityTactics.rewrite_back_simpl_tac ~term:term) - ~continuation:(IntroductionTactics.constructor_tac ~n:1) - ) - (proof',goal') - | _ -> raise (ProofEngineTypes.Fail "Discriminate: ElimType False left more (or less) than one goal") - ) - | _ -> raise (ProofEngineTypes.Fail "Discriminate: not a discriminable equality") - ) - | _ -> raise (ProofEngineTypes.Fail "Discriminate: not an equality") -;; - -*) - - - diff --git a/helm/ocaml/tactics/discriminationTactics.mli b/helm/ocaml/tactics/discriminationTactics.mli deleted file mode 100644 index f1153256f..000000000 --- a/helm/ocaml/tactics/discriminationTactics.mli +++ /dev/null @@ -1,30 +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/. - *) - -val injection_tac: term:Cic.term -> ProofEngineTypes.tactic -val discriminate_tac: term:Cic.term -> ProofEngineTypes.tactic -val decide_equality_tac: ProofEngineTypes.tactic -val compare_tac: term:Cic.term -> ProofEngineTypes.tactic - diff --git a/helm/ocaml/tactics/doc/.cvsignore b/helm/ocaml/tactics/doc/.cvsignore deleted file mode 100644 index 583537c57..000000000 --- a/helm/ocaml/tactics/doc/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -main.aux -main.dvi -main.log -main.out -main.pdf -main.ps diff --git a/helm/ocaml/tactics/doc/Makefile b/helm/ocaml/tactics/doc/Makefile deleted file mode 100644 index b7d8fb45c..000000000 --- a/helm/ocaml/tactics/doc/Makefile +++ /dev/null @@ -1,124 +0,0 @@ - -# -# Generic makefile for latex -# -# Author: Stefano Zacchiroli -# -# Created: Sun, 29 Jun 2003 12:00:55 +0200 zack -# Last-Modified: Mon, 10 Oct 2005 15:37:12 +0200 zack -# - -######################################################################## - -# list of .tex _main_ files -TEXS = main.tex - -# number of runs of latex (for table of contents, list of figures, ...) -RUNS = 1 - -# do you need bibtex? -BIBTEX = no - -# would you like to use pdflatex? -PDF_VIA_PDFLATEX = yes - -# which formats generated by default ("all" target)? -# (others will be generated by "world" target) -# see AVAILABLE_FORMATS below -BUILD_FORMATS = dvi - -# which format to be shown on "make show" -SHOW_FORMAT = dvi - -######################################################################## - -AVAILABLE_FORMATS = dvi ps ps.gz pdf html - -ADVI = advi -BIBTEX = bibtex -BROWSER = galeon -DVIPDF = dvipdf -DVIPS = dvips -GV = gv -GZIP = gzip -HEVEA = hevea -ISPELL = ispell -LATEX = latex -PDFLATEX = pdflatex -PRINT = lpr -XDVI = xdvi -XPDF = xpdf - -ALL_FORMATS = $(BUILD_FORMATS) -WORLD_FORMATS = $(AVAILABLE_FORMATS) - -all: $(ALL_FORMATS) -world: $(WORLD_FORMATS) - -DVIS = $(TEXS:.tex=.dvi) -PSS = $(TEXS:.tex=.ps) -PSGZS = $(TEXS:.tex=.ps.gz) -PDFS = $(TEXS:.tex=.pdf) -HTMLS = $(TEXS:.tex=.html) - -dvi: $(DVIS) -ps: $(PSS) -ps.gz: $(PSGZS) -pdf: $(PDFS) -html: $(HTMLS) - -show: show$(SHOW_FORMAT) -showdvi: $(DVIS) - $(XDVI) $< -showps: $(PSS) - $(GV) $< -showpdf: $(PDFS) - $(XPDF) $< -showpsgz: $(PSGZS) - $(GV) $< -showps.gz: showpsgz -showhtml: $(HTMLS) - $(BROWSER) $< - -print: $(PSS) - $(PRINT) $^ - -clean: - rm -f \ - $(TEXS:.tex=.dvi) $(TEXS:.tex=.ps) $(TEXS:.tex=.ps.gz) \ - $(TEXS:.tex=.pdf) $(TEXS:.tex=.aux) $(TEXS:.tex=.log) \ - $(TEXS:.tex=.html) $(TEXS:.tex=.out) $(TEXS:.tex=.haux) \ - $(TEXS:.tex=.htoc) $(TEXS:.tex=.tmp) - -%.dvi: %.tex - $(LATEX) $< - if [ "$(BIBTEX)" = "yes" ]; then $(BIBTEX) $*; fi - if [ "$(RUNS)" -gt 1 ]; then \ - for i in seq 1 `expr $(RUNS) - 1`; do \ - $(LATEX) $<; \ - done; \ - fi -ifeq ($(PDF_VIA_PDFLATEX),yes) -%.pdf: %.tex - $(PDFLATEX) $< - if [ "$(BIBTEX)" = "yes" ]; then $(BIBTEX) $*; fi - if [ "$(RUNS)" -gt 1 ]; then \ - for i in seq 1 `expr $(RUNS) - 1`; do \ - $(PDFLATEX) $<; \ - done; \ - fi -else -%.pdf: %.dvi - $(DVIPDF) $< $@ -endif -%.ps: %.dvi - $(DVIPS) $< -%.ps.gz: %.ps - $(GZIP) -c $< > $@ -%.html: %.tex - $(HEVEA) -fix $< - -.PHONY: all ps pdf html clean - -######################################################################## - diff --git a/helm/ocaml/tactics/doc/body.tex b/helm/ocaml/tactics/doc/body.tex deleted file mode 100644 index 3c537d43b..000000000 --- a/helm/ocaml/tactics/doc/body.tex +++ /dev/null @@ -1,247 +0,0 @@ - -\section{Semantics} - -\subsection{Language} - -\[ -\begin{array}{rcll} - S & ::= & & \mbox{(\textbf{continuationals})}\\ - & & \TACTIC{T} & \mbox{(tactic)}\\[2ex] - & | & \DOT & \mbox{(dot)} \\ - & | & \SEMICOLON & \mbox{(semicolon)} \\ - & | & \BRANCH & \mbox{(branch)} \\ - & | & \SHIFT & \mbox{(shift)} \\ - & | & \POS{i} & \mbox{(relative positioning)} \\ - & | & \MERGE & \mbox{(merge)} \\[2ex] - & | & \FOCUS{g_1,\dots,g_n} & \mbox{(absolute positioning)} \\ - & | & \UNFOCUS & \mbox{(unfocus)} \\[2ex] - & | & S ~ S & \mbox{(sequential composition)} \\[2ex] - T & : := & & \mbox{(\textbf{tactics})}\\ - & & \SKIP & \mbox{(skip)} \\ - & | & \mathtt{reflexivity} & \\ - & | & \mathtt{apply}~t & \\ - & | & \dots & -\end{array} -\] - -\subsection{Status} - -\[ -\begin{array}{rcll} - \xi & & & \mbox{(proof status)} \\ - \mathit{goal} & & & \mbox{(proof goal)} \\[2ex] - - \SWITCH & = & \OPEN~\mathit{goal} ~ | ~ \CLOSED~\mathit{goal} & \\ - \mathit{locator} & = & \INT\times\SWITCH & \\ - \mathit{tag} & = & \BRANCHTAG ~ | ~ \FOCUSTAG \\[2ex] - - \Gamma & = & \mathit{locator}~\LIST & \mbox{(context)} \\ - \tau & = & \mathit{locator}~\LIST & \mbox{(todo)} \\ - \kappa & = & \mathit{locator}~\LIST & \mbox{(dot's future)} \\[2ex] - - \mathit{stack} & = & (\Gamma\times\tau\times\kappa\times\mathit{tag})~\LIST - \\[2ex] - - \mathit{status} & = & \xi\times\mathit{stack} \\ -\end{array} -\] - -\paragraph{Utilities} -\begin{itemize} - \item $\ZEROPOS([g_1;\cdots;g_n]) = - [\langle 0,\OPEN~g_1\rangle;\cdots;\langle 0,\OPEN~g_n\rangle]$ - \item $\INITPOS([\langle i_1,s_1\rangle;\cdots;\langle i_n,s_n\rangle]) = - [\langle 1,s_1\rangle;\cdots;\langle n,s_n\rangle]$ - \item $\ISFRESH(s) = - \left\{ - \begin{array}{ll} - \mathit{true} & \mathrm{if} ~ s = \langle n, \OPEN~g\rangle\land n > 0 \\ - \mathit{false} & \mathrm{otherwise} \\ - \end{array} - \right.$ - \item $\FILTEROPEN(\mathit{locs})= - \left\{ - \begin{array}{ll} - [] & \mathrm{if}~\mathit{locs} = [] \\ - \langle i,\OPEN~g\rangle :: \FILTEROPEN(\mathit{tl}) - & \mathrm{if}~\mathit{locs} = \langle i,\OPEN~g\rangle :: \mathit{tl} \\ - \FILTEROPEN(\mathit{tl}) - & \mathrm{if}~\mathit{locs} = \mathit{hd} :: \mathit{tl} \\ - \end{array} - \right.$ - \item $\REMOVEGOALS(G,\mathit{locs}) = - \left\{ - \begin{array}{ll} - [] & \mathrm{if}~\mathit{locs} = [] \\ - \REMOVEGOALS(G,\mathit{tl}) - & \mathrm{if}~\mathit{locs} = \langle i,\OPEN~g\rangle :: \mathit{tl} - \land g\in G\\ - hd :: \REMOVEGOALS(G,\mathit{tl}) - & \mathrm{if}~\mathit{locs} = \mathit{hd} :: \mathit{tl} \\ - \end{array} - \right.$ - \item $\DEEPCLOSE(G,S)$: (intuition) given a set of goals $G$ and a stack $S$ - it returns a new stack $S'$ identical to the given one with the exceptions - that each locator whose goal is in $G$ is marked as closed in $\Gamma$ stack - components and removed from $\tau$ and $\kappa$ components. - \item $\GOALS(S)$: (inutition) return all goals appearing in whatever position - on a given stack $S$, appearing in an \OPEN{} switch. -\end{itemize} - -\paragraph{Invariants} -\begin{itemize} - \item $\forall~\mathrm{entry}~\ENTRY{\Gamma}{\tau}{\kappa}{t}, \forall s - \in\tau\cup\kappa, \exists g, s = \OPEN~g$ (each locator on the stack in - $\tau$ and $\kappa$ components has an \OPEN~switch). - \item Unless \FOCUS{} is used the stack contains no duplicate goals. - \item $\forall~\mathrm{locator}~l\in\Gamma \mbox{(with the exception of the - top-level $\Gamma$)}, \ISFRESH(l)$. -\end{itemize} - -\subsection{Semantics} - -\[ -\begin{array}{rcll} - \SEMOP{\cdot} & : & C -> \mathit{status} -> \mathit{status} & - \mbox{(continuationals semantics)} \\ - \TSEMOP{\cdot} & : & T -> \xi -> \SWITCH -> - \xi\times\GOAL~\LIST\times\GOAL~\LIST & \mbox{(tactics semantics)} \\ -\end{array} -\] - -\[ -\begin{array}{rcl} - \mathit{apply\_tac} & : & T -> \xi -> \GOAL -> - \xi\times\GOAL~\LIST\times\GOAL~\LIST -\end{array} -\] - -\[ -\begin{array}{rlcc} - \TSEM{T}{\xi}{\OPEN~g} & = & \mathit{apply\_tac}(T,\xi,n) & T\neq\SKIP\\ - \TSEM{\SKIP}{\xi}{\CLOSED~g} & = & \langle \xi, [], [g]\rangle & -\end{array} -\] - -\[ -\begin{array}{rcl} - - \SEM{\TACTIC{T}}{\ENTRY{\GIN}{\tau}{\kappa}{t}::S} - & = - & \langle - \xi_n, - \ENTRY{\Gamma'}{\tau'}{\kappa'}{t} -% \ENTRY{\ZEROPOS(G^o_n)}{\tau\setminus G^c_n}{\kappa\setminus G^o_n}{t} - :: \DEEPCLOSE(G^c_n,S) - \rangle - \\[1ex] - \multicolumn{3}{l}{\hspace{\sidecondlen}\mathit{where} ~ n\geq 1} - \\[1ex] - \multicolumn{3}{l}{\hspace{\sidecondlen}\mathit{and} ~ - \Gamma' = \ZEROPOS(G^o_n) - \land \tau' = \REMOVEGOALS(G^c_n,\tau) - \land \kappa' = \REMOVEGOALS(G^o_n,\kappa) - } - \\[1ex] - \multicolumn{3}{l}{\hspace{\sidecondlen}\mathit{and} ~ - \left\{ - \begin{array}{rcll} - \langle\xi_0, G^o_0, G^c_0\rangle & = & \langle\xi, [], []\rangle \\ - \langle\xi_{i+1}, G^o_{i+1}, G^c_{i+1}\rangle - & = - & \langle\xi_i, G^o_i, G^c_i\rangle - & l_{i+1}\in G^c_i \\ - \langle\xi_{i+1}, G^o_{i+1}, G^c_{i+1}\rangle - & = - & \langle\xi, (G^o_i\setminus G^c)\cup G^o, G^c_i\cup G^c\rangle - & l_{i+1}\not\in G^c_i \\[1ex] - & & \mathit{where} ~ \langle\xi,G^o,G^c\rangle=\TSEM{T}{\xi_i}{l_{i+1}} \\ - \end{array} - \right. - } - \\[6ex] - - \SEM{~\DOT~}{\ENTRY{\Gamma}{\tau}{\kappa}{t}::S} - & = - & \langle \xi, \ENTRY{l_1}{\tau}{\GIN[2]\cup\kappa}{t}::S \rangle - \\[1ex] - & & \mathrm{where} ~ \FILTEROPEN(\Gamma)=\GIN \land n\geq 1 - \\[2ex] - - \SEM{~\DOT~}{\ENTRY{\Gamma}{\tau}{l::\kappa}{t}::S} - & = - & \langle \xi, \ENTRY{[l]}{\tau}{\kappa}{t}::S \rangle - \\[1ex] - & & \mathrm{where} ~ \FILTEROPEN(\Gamma)=[] - \\[2ex] - - \SEM{~\SEMICOLON~}{S} & = & \langle \xi, S \rangle \\[1ex] - - \SEM{~\BRANCH~}{\ENTRY{\GIN}{\tau}{\kappa}{t}::S} - \quad - & = - & \langle\xi, \ENTRY{[l_1']}{[]}{[]}{\BRANCHTAG} - ::\ENTRY{[l_2';\cdots;l_n']}{\tau}{\kappa}{t}::S - \\[1ex] - & & \mathrm{where} ~ n\geq 2 ~ \land ~ \INITPOS(\GIN)=[l_1';\cdots;l_n'] - \\[2ex] - - \SEM{~\SHIFT~} - {\ENTRY{\Gamma}{\tau}{\kappa}{\BRANCHTAG}::\ENTRY{\GIN}{\tau'}{\kappa'}{t'} - ::S} - & = - & \langle - \xi, \ENTRY{[l_1]}{\tau\cup\FILTEROPEN(\Gamma)}{[]}{\BRANCHTAG} - ::\ENTRY{\GIN[2]}{\tau'}{\kappa'}{t'}::S - \rangle - \\[1ex] - & & \mathrm{where} ~ n\geq 1 - \\[2ex] - - \SEM{~\POS{i}~} - {\ENTRY{[l]}{[]}{[]}{\BRANCHTAG}::\ENTRY{\Gamma'}{\tau'}{\kappa'}{t'}::S} - & = - & \langle \xi, \ENTRY{[l_i]}{[]}{[]}{\BRANCHTAG} - ::\ENTRY{l :: (\Gamma'\setminus [l_i])}{\tau'}{\kappa'}{t'}::S \rangle - \\[1ex] - & & \mathrm{where} ~ \langle i,l'\rangle = l_i\in \Gamma'~\land~\ISFRESH(l) - \\[2ex] - - \SEM{~\POS{i}~} - {\ENTRY{\Gamma}{\tau}{\kappa}{\BRANCHTAG} - ::\ENTRY{\Gamma'}{\tau'}{\kappa'}{t'}::S} - & = - & \langle \xi, \ENTRY{[l_i]}{[]}{[]}{\BRANCHTAG} - ::\ENTRY{\Gamma'\setminus [l_i]}{\tau'\cup\FILTEROPEN(\Gamma)}{\kappa'}{t'}::S - \rangle - \\[1ex] - & & \mathrm{where} ~ \langle i, l'\rangle = l_i\in \Gamma' - \\[2ex] - - \SEM{~\MERGE~} - {\ENTRY{\Gamma}{\tau}{\kappa}{\BRANCHTAG}::\ENTRY{\Gamma'}{\tau'}{\kappa'}{t'} - ::S} - & = - & \langle \xi, - \ENTRY{\tau\cup\FILTEROPEN(\Gamma)\cup\Gamma'\cup\kappa}{\tau'}{\kappa'}{t'} - :: S - \rangle - \\[2ex] - - \SEM{\FOCUS{g_1,\dots,g_n}}{S} - & = - & \langle \xi, \ENTRY{\ZEROPOS([g_1;\cdots;g_n])}{[]}{[]}{\FOCUSTAG} - ::\DEEPCLOSE(S) - \rangle - \\[1ex] - & & \mathrm{where} ~ - \forall i=1,\dots,n,~g_i\in\GOALS(S) - \\[2ex] - - \SEM{\UNFOCUS}{\ENTRY{[]}{[]}{[]}{\FOCUSTAG}::S} - & = - & \langle \xi, S\rangle \\[2ex] - -\end{array} -\] - diff --git a/helm/ocaml/tactics/doc/infernce.sty b/helm/ocaml/tactics/doc/infernce.sty deleted file mode 100644 index fc4afeaaf..000000000 --- a/helm/ocaml/tactics/doc/infernce.sty +++ /dev/null @@ -1,217 +0,0 @@ -%% -%% This is file `infernce.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% semantic.dtx (with options: `allOptions,inference') -%% -%% IMPORTANT NOTICE: -%% -%% For the copyright see the source file. -%% -%% Any modified versions of this file must be renamed -%% with new filenames distinct from infernce.sty. -%% -%% For distribution of the original source see the terms -%% for copying and modification in the file semantic.dtx. -%% -%% This generated file may be distributed as long as the -%% original source files, as listed above, are part of the -%% same distribution. (The sources need not necessarily be -%% in the same archive or directory.) -%% -%% semantic.dtx (c)1995--2002 Peter M^^f8ller Neergaard and -%% Arne John Glenstrup -%% -\expandafter\ifx\csname sem@nticsLoader\endcsname\relax - \PackageError{semantic}{% - This file should not be loaded directly} - {% - This file is an option of the semantic package. It should not be - loaded directly\MessageBreak - but by using \protect\usepackage{semantic} in your document - preamble.\MessageBreak - No commands are defined.\MessageBreak - Type to proceed. - }% -\else -\TestForConflict{\@@tempa,\@@tempb,\@adjustPremises,\@inference} -\TestForConflict{\@inferenceBack,\@inferenceFront,\@inferenceOrPremis} -\TestForConflict{\@premises,\@processInference,\@processPremiseLine} -\TestForConflict{\@setLengths,\inference,\predicate,\predicatebegin} -\TestForConflict{\predicateend,\setnamespace,\setpremisesend} -\TestForConflict{\setpremisesspace,\@makeLength,\@@space} -\TestForConflict{\@@aLineBox,\if@@shortDivider} -\newtoks\@@tempa -\newtoks\@@tempb -\newcommand{\@makeLength}[4]{ - \@@tempa=\expandafter{\csname @@#2\endcsname} - \@@tempb=\expandafter{\csname @set#2\endcsname} % - \expandafter \newlength \the\@@tempa - \expandafter \newcommand \the\@@tempb {} - \expandafter \newcommand \csname set#1\endcsname[1]{} - \expandafter \xdef \csname set#1\endcsname##1% - {{\dimen0=##1}% - \noexpand\renewcommand{\the\@@tempb}{% - \noexpand\setlength{\the \@@tempa}{##1 #4}}% - }% - \csname set#1\endcsname{#3} - \@@tempa=\expandafter{\@setLengths} % - \edef\@setLengths{\the\@@tempa \the\@@tempb} % - } - -\newcommand{\@setLengths}{% - \setlength{\baselineskip}{1.166em}% - \setlength{\lineskip}{1pt}% - \setlength{\lineskiplimit}{1pt}} -\@makeLength{premisesspace}{pSpace}{1.5em}{plus 1fil} -\@makeLength{premisesend}{pEnd}{.75em}{plus 0.5fil} -\@makeLength{namespace}{nSpace}{.5em}{} -\newbox\@@aLineBox -\newif\if@@shortDivider -\newcommand{\@@space}{ } -\newcommand{\predicate}[1]{\predicatebegin #1\predicateend} -\newcommand{\predicatebegin}{$} -\newcommand{\predicateend}{$} -\def\inference{% - \@@shortDividerfalse - \expandafter\hbox\bgroup - \@ifstar{\@@shortDividertrue\@inferenceFront}% - \@inferenceFront -} -\def\@inferenceFront{% - \@ifnextchar[% - {\@inferenceFrontName}% - {\@inferenceMiddle}% -} -\def\@inferenceFrontName[#1]{% - \setbox3=\hbox{\footnotesize #1}% - \ifdim \wd3 > \z@ - \unhbox3% - \hskip\@@nSpace - \fi - \@inferenceMiddle -} -\long\def\@inferenceMiddle#1{% - \@setLengths% - \setbox\@@pBox= - \vbox{% - \@premises{#1}% - \unvbox\@@pBox - }% - \@inferenceBack -} -\long\def\@inferenceBack#1{% - \setbox\@@cBox=% - \hbox{\hskip\@@pEnd \predicate{\ignorespaces#1}\unskip\hskip\@@pEnd}% - \setbox1=\hbox{$ $}% - \setbox\@@pBox=\vtop{\unvbox\@@pBox - \vskip 4\fontdimen8\textfont3}% - \setbox\@@cBox=\vbox{\vskip 4\fontdimen8\textfont3% - \box\@@cBox}% - \if@@shortDivider - \ifdim\wd\@@pBox >\wd\@@cBox% - \dimen1=\wd\@@pBox% - \else% - \dimen1=\wd\@@cBox% - \fi% - \dimen0=\wd\@@cBox% - \hbox to \dimen1{% - \hss - $\frac{\hbox to \dimen0{\hss\box\@@pBox\hss}}% - {\box\@@cBox}$% - \hss - }% - \else - $\frac{\box\@@pBox}% - {\box\@@cBox}$% - \fi - \@ifnextchar[% - {\@inferenceBackName}%{}% - {\egroup} -} -\def\@inferenceBackName[#1]{% - \setbox3=\hbox{\footnotesize #1}% - \ifdim \wd3 > \z@ - \hskip\@@nSpace - \unhbox3% - \fi - \egroup -} -\newcommand{\@premises}[1]{% - \setbox\@@pBox=\vbox{}% - \dimen\@@maxwidth=\wd\@@cBox% - \@processPremises #1\\\end% - \@adjustPremises% -} -\newcommand{\@adjustPremises}{% - \setbox\@@pBox=\vbox{% - \@@moreLinestrue % - \loop % - \setbox\@@pBox=\vbox{% - \unvbox\@@pBox % - \global\setbox\@@aLineBox=\lastbox % - }% - \ifvoid\@@aLineBox % - \@@moreLinesfalse % - \else % - \hbox to \dimen\@@maxwidth{\unhbox\@@aLineBox}% - \fi % - \if@@moreLines\repeat% - }% -} -\def\@processPremises#1\\#2\end{% - \setbox\@@pLineBox=\hbox{}% - \@processPremiseLine #1&\end% - \setbox\@@pLineBox=\hbox{\unhbox\@@pLineBox \unskip}% - \ifdim \wd\@@pLineBox > \z@ % - \setbox\@@pLineBox=% - \hbox{\hskip\@@pEnd \unhbox\@@pLineBox \hskip\@@pEnd}% - \ifdim \wd\@@pLineBox > \dimen\@@maxwidth % - \dimen\@@maxwidth=\wd\@@pLineBox % - \fi % - \setbox\@@pBox=\vbox{\box\@@pLineBox\unvbox\@@pBox}% - \fi % - \def\sem@tmp{#2}% - \ifx \sem@tmp\empty \else % - \@ReturnAfterFi{% - \@processPremises #2\end % - }% - \fi% -} -\def\@processPremiseLine#1\end{% - \def\sem@tmp{#1}% - \ifx \sem@tmp\empty \else% - \ifx \sem@tmp\@@space \else% - \setbox\@@pLineBox=% - \hbox{\unhbox\@@pLineBox% - \@inferenceOrPremis #1\inference\end% - \hskip\@@pSpace}% - \fi% - \fi% - \def\sem@tmp{#2}% - \ifx \sem@tmp\empty \else% - \@ReturnAfterFi{% - \@processPremiseLine#2\end% - }% - \fi% -} -\def\@inferenceOrPremis#1\inference{% - \@ifnext \end - {\@dropnext{\predicate{\ignorespaces #1}\unskip}}% - {\@processInference #1\inference}% -} -\def\@processInference#1\inference\end{% - \ignorespaces #1% - \setbox3=\lastbox - \dimen3=\dp3 - \advance\dimen3 by -\fontdimen22\textfont2 - \advance\dimen3 by \fontdimen8\textfont3 - \expandafter\raise\dimen3\box3% -} -\long\def\@ReturnAfterFi#1\fi{\fi#1} -\fi -\endinput -%% -%% End of file `infernce.sty'. diff --git a/helm/ocaml/tactics/doc/ligature.sty b/helm/ocaml/tactics/doc/ligature.sty deleted file mode 100644 index a914d91d1..000000000 --- a/helm/ocaml/tactics/doc/ligature.sty +++ /dev/null @@ -1,169 +0,0 @@ -%% -%% This is file `ligature.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% semantic.dtx (with options: `allOptions,ligature') -%% -%% IMPORTANT NOTICE: -%% -%% For the copyright see the source file. -%% -%% Any modified versions of this file must be renamed -%% with new filenames distinct from ligature.sty. -%% -%% For distribution of the original source see the terms -%% for copying and modification in the file semantic.dtx. -%% -%% This generated file may be distributed as long as the -%% original source files, as listed above, are part of the -%% same distribution. (The sources need not necessarily be -%% in the same archive or directory.) -%% -%% semantic.dtx (c)1995--2002 Peter M^^f8ller Neergaard and -%% Arne John Glenstrup -%% -\expandafter\ifx\csname sem@nticsLoader\endcsname\relax - \PackageError{semantic}{% - This file should not be loaded directly} - {% - This file is an option of the semantic package. It should not be - loaded directly\MessageBreak - but by using \protect\usepackage{semantic} in your document - preamble.\MessageBreak - No commands are defined.\MessageBreak - Type to proceed. - }% -\else -\TestForConflict{\@addligto,\@addligtofollowlist,\@def@ligstep} -\TestForConflict{\@@trymathlig,\@defactive,\@defligstep} -\TestForConflict{\@definemathlig,\@domathligfirsts,\@domathligfollows} -\TestForConflict{\@exitmathlig,\@firstmathligs,\@ifactive,\@ifcharacter} -\TestForConflict{\@ifinlist,\@lastvalidmathlig,\@mathliglink} -\TestForConflict{\@mathligredefactive,\@mathligsoff,\@mathligson} -\TestForConflict{\@seentoks,\@setupfirstligchar,\@try@mathlig} -\TestForConflict{\@trymathlig,\if@mathligon,\mathlig,\mathligprotect} -\TestForConflict{\mathligsoff,\mathligson,\@startmathlig,\@pushedtoks} -\newif\if@mathligon -\DeclareRobustCommand\mathlig[1]{\@addligtolists#1\@@ - \if@mathligon\mathligson\fi - \@setupfirstligchar#1\@@ - \@defligstep{}#1\@@} -\def\@mathligson{\if@mathligon\mathligson\fi} -\def\@mathligsoff{\if@mathligon\mathligsoff\@mathligontrue\fi} -\DeclareRobustCommand\mathligprotect[1]{\expandafter - \def\expandafter#1\expandafter{% - \expandafter\@mathligsoff#1\@mathligson}} -\DeclareRobustCommand\mathligson{\def\do##1##2##3{\mathcode`##1="8000}% - \@domathligfirsts\@mathligontrue} -\AtBeginDocument{\mathligson} -\DeclareRobustCommand\mathligsoff{\def\do##1##2##3{\mathcode`##1=##2}% - \@domathligfirsts\@mathligonfalse} -\edef\@mathliglink{Error: \noexpand\verb|\string\@mathliglink| expanded} -{\catcode`\A=11\catcode`\1=12\catcode`\~=13 % Letter, Other and Active -\gdef\@ifcharacter#1{\ifcat A\noexpand#1\let\next\@firstoftwo - \else\ifcat 1\noexpand#1\let\next\@firstoftwo - \else\ifcat \noexpand~\noexpand#1\let\next\@firstoftwo - \else\let\next\@secondoftwo\fi\fi\fi\next}% -\gdef\@ifactive#1{\ifcat \noexpand~\noexpand#1\let\next\@firstoftwo - \else\let\next\@secondoftwo\fi\next}} -\def\@domathligfollows{}\def\@domathligfirsts{} -\def\@makemathligsactive{\mathligson - \def\do##1##2##3{\catcode`##1=12}\@domathligfollows} -\def\@makemathligsnormal{\mathligsoff - \def\do##1##2##3{\catcode`##1=##3}\@domathligfollows} -\def\@ifinlist#1#2{\@tempswafalse - \def\do##1##2##3{\ifnum`##1=`#2\relax\@tempswatrue\fi}#1% - \if@tempswa\let\next\@firstoftwo\else\let\next\@secondoftwo\fi\next} -\def\@addligto#1#2{% - \@ifinlist#1#2{\def\do##1##2##3{\noexpand\do\noexpand##1% - \ifnum`##1=`#2 {\the\mathcode`#2}{\the\catcode`#2}% - \else{##2}{##3}\fi}% - \edef#1{#1}}% - {\def\do##1##2##3{\noexpand\do\noexpand##1% - \ifnum`##1=`#2 {\the\mathcode`#2}{\the\catcode`#2}% - \else{##2}{##3}\fi}% - \edef#1{#1\do#2{\the\mathcode`#2}{\the\catcode`#2}}}} -\def\@addligtolists#1{\expandafter\@addligto - \expandafter\@domathligfirsts - \csname\string#1\endcsname\@addligtofollowlist} -\def\@addligtofollowlist#1{\ifx#1\@@\let\next\relax\else - \def\next{\expandafter\@addligto - \expandafter\@domathligfollows - \csname\string#1\endcsname - \@addligtofollowlist}\fi\next} -\def\@defligstep#1#2{\def\@tempa##1{\ifx##1\endcsname - \expandafter\endcsname\else - \string##1\expandafter\@tempa\fi}% - \expandafter\@def@ligstep\csname @mathlig\@tempa#1#2\endcsname{#1#2}} -\def\@def@ligstep#1#2#3{% - \ifx#3\@@ - \def\next{\def#1}% - \else - \ifx#1\relax - \def\next{\let#1\@mathliglink\@defligstep{#2}#3}% - \else - \def\next{\@defligstep{#2}#3}% - \fi - \fi\next} -\def\@setupfirstligchar#1#2\@@{% - \@ifactive{#1}{% - \expandafter\expandafter\expandafter\@mathligredefactive - \expandafter\string\expandafter#1\expandafter{#1}{#1}}% - {\@defactive#1{\@startmathlig #1}\@namedef{@mathlig#1}{#1}}} -\def\@mathligredefactive#1#2#3{% - \def#3{{}\ifmmode\def\next{\@startmathlig#1}\else - \def\next{#2}\fi\next}% - \@namedef{@mathlig#1}{#2}} -\def\@defactive#1{\@ifundefined{@definemathlig\string#1}% - {\@latex@error{Illegal first character in math ligature} - {You can only use \@firstmathligs\space as the first^^J - character of a math ligature}}% - {\csname @definemathlig\string#1\endcsname}} - -{\def\@firstmathligs{}\def\do#1{\catcode`#1=\active - \expandafter\gdef\expandafter\@firstmathligs - \expandafter{\@firstmathligs\space\string#1}\next} - \def\next#1{\expandafter\gdef\csname - @definemathlig\string#1\endcsname{\def#1}} - \do{"}"\do{@}@\do{/}/\do{(}(\do{)})\do{[}[\do{]}]\do{=}= - \do{?}?\do{!}!\do{`}`\do{'}'\do{|}|\do{~}~\do{<}<\do{>}> - \do{+}+\do{-}-\do{*}*\do{.}.\do{,},\do{:}:\do{;};} -\newtoks\@pushedtoks -\newtoks\@seentoks -\def\@startmathlig{\def\@lastvalidmathlig{}\@pushedtoks{}% - \@seentoks{}\@trymathlig} -\def\@trymathlig{\futurelet\next\@@trymathlig} -\def\@@trymathlig{\@ifcharacter\next{\@try@mathlig}{\@exitmathlig{}}} -\def\@exitmathlig#1{% - \expandafter\@makemathligsnormal\@lastvalidmathlig\mathligson - \the\@pushedtoks#1} -\def\@try@mathlig#1{%\typeout{char: #1 catcode: \the\catcode`#1 - \@ifundefined{@mathlig\the\@seentoks#1}{\@exitmathlig{#1}}% - {\expandafter\ifx - \csname @mathlig\the\@seentoks#1\endcsname - \@mathliglink - \expandafter\@pushedtoks - \expandafter=\expandafter{\the\@pushedtoks#1}% - \else - \expandafter\let\expandafter\@lastvalidmathlig - \csname @mathlig\the\@seentoks#1\endcsname - \@pushedtoks={}% - \fi - \expandafter\@seentoks\expandafter=\expandafter% - {\the\@seentoks#1}\@makemathligsactive\obeyspaces\@trymathlig}} -\edef\patch@newmcodes@{% - \mathcode\number`\'=39 - \mathcode\number`\*=42 - \mathcode\number`\.=\string "613A - \mathchardef\noexpand\std@minus=\the\mathcode`\-\relax - \mathcode\number`\-=45 - \mathcode\number`\/=47 - \mathcode\number`\:=\string "603A\relax -} -\AtBeginDocument{\let\newmcodes@=\patch@newmcodes@} -\fi -\endinput -%% -%% End of file `ligature.sty'. diff --git a/helm/ocaml/tactics/doc/main.tex b/helm/ocaml/tactics/doc/main.tex deleted file mode 100644 index 00208b0c2..000000000 --- a/helm/ocaml/tactics/doc/main.tex +++ /dev/null @@ -1,69 +0,0 @@ -\documentclass[a4paper]{article} - -\usepackage{a4wide} -\usepackage{pifont} -\usepackage{semantic} -\usepackage{stmaryrd} - -\newcommand{\MATITA}{\ding{46}\textsf{\textbf{Matita}}} - -\title{Continuationals semantics for \MATITA} -\author{Claudio Sacerdoti Coen \quad Enrico Tassi \quad Stefano Zacchiroli \\ -\small Department of Computer Science, University of Bologna \\ -\small Mura Anteo Zamboni, 7 -- 40127 Bologna, ITALY \\ -\small \{\texttt{sacerdot}, \texttt{tassi}, \texttt{zacchiro}\}\texttt{@cs.unibo.it}} - -\newcommand{\MATHIT}[1]{\ensuremath{\mathit{#1}}} -\newcommand{\MATHTT}[1]{\ensuremath{\mathtt{#1}}} - -\newcommand{\DOT}{\ensuremath{\mbox{\textbf{.}}}} -\newcommand{\SEMICOLON}{\ensuremath{\mbox{\textbf{;}}}} -\newcommand{\BRANCH}{\ensuremath{\mbox{\textbf{[}}}} -\newcommand{\SHIFT}{\ensuremath{\mbox{\textbf{\textbar}}}} -\newcommand{\POS}[1]{\ensuremath{#1\mbox{\textbf{:}}}} -\newcommand{\MERGE}{\ensuremath{\mbox{\textbf{]}}}} -\newcommand{\FOCUS}[1]{\ensuremath{\mathtt{focus}~#1}} -\newcommand{\UNFOCUS}{\ensuremath{\mathtt{unfocus}}} -\newcommand{\SKIP}{\MATHTT{skip}} -\newcommand{\TACTIC}[1]{\ensuremath{\mathtt{tactic}~#1}} - -\newcommand{\APPLY}[1]{\ensuremath{\mathtt{apply}~\mathit{#1}}} - -\newcommand{\GOAL}{\MATHIT{goal}} -\newcommand{\SWITCH}{\MATHIT{switch}} -\newcommand{\LIST}{\MATHTT{list}} -\newcommand{\INT}{\MATHTT{int}} -\newcommand{\OPEN}{\MATHTT{Open}} -\newcommand{\CLOSED}{\MATHTT{Closed}} - -\newcommand{\SEMOP}[1]{|[#1|]} -\newcommand{\TSEMOP}[1]{{}_t|[#1|]} -\newcommand{\SEM}[3][\xi]{\SEMOP{#2}_{{#1},{#3}}} -\newcommand{\ENTRY}[4]{\langle#1,#2,#3,#4\rangle} -\newcommand{\TSEM}[3]{\TSEMOP{#1}_{#2,#3}} - -\newcommand{\GIN}[1][1]{\ensuremath{[l_{#1};\cdots;l_n]}} - -\newcommand{\ZEROPOS}{\MATHIT{zero\_pos}} -\newcommand{\INITPOS}{\MATHIT{init\_pos}} -\newcommand{\ISFRESH}{\MATHIT{is\_fresh}} -\newcommand{\FILTER}{\MATHIT{filter}} -\newcommand{\FILTEROPEN}{\MATHIT{filter\_open}} -\newcommand{\ISOPEN}{\MATHIT{is\_open}} -\newcommand{\DEEPCLOSE}{\MATHIT{deep\_close}} -\newcommand{\REMOVEGOALS}{\MATHIT{remove\_goals}} -\newcommand{\GOALS}{\MATHIT{open\_goals}} - -\newcommand{\BRANCHTAG}{\ensuremath{\mathtt{B}}} -\newcommand{\FOCUSTAG}{\ensuremath{\mathtt{F}}} - -\newlength{\sidecondlen} -\setlength{\sidecondlen}{2cm} - -\begin{document} -\maketitle - -\input{body.tex} - -\end{document} - diff --git a/helm/ocaml/tactics/doc/reserved.sty b/helm/ocaml/tactics/doc/reserved.sty deleted file mode 100644 index c0d56b8aa..000000000 --- a/helm/ocaml/tactics/doc/reserved.sty +++ /dev/null @@ -1,80 +0,0 @@ -%% -%% This is file `reserved.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% semantic.dtx (with options: `allOptions,reservedWords') -%% -%% IMPORTANT NOTICE: -%% -%% For the copyright see the source file. -%% -%% Any modified versions of this file must be renamed -%% with new filenames distinct from reserved.sty. -%% -%% For distribution of the original source see the terms -%% for copying and modification in the file semantic.dtx. -%% -%% This generated file may be distributed as long as the -%% original source files, as listed above, are part of the -%% same distribution. (The sources need not necessarily be -%% in the same archive or directory.) -%% -%% semantic.dtx (c)1995--2002 Peter M^^f8ller Neergaard and -%% Arne John Glenstrup -%% -\expandafter\ifx\csname sem@nticsLoader\endcsname\relax - \PackageError{semantic}{% - This file should not be loaded directly} - {% - This file is an option of the semantic package. It should not be - loaded directly\MessageBreak - but by using \protect\usepackage{semantic} in your document - preamble.\MessageBreak - No commands are defined.\MessageBreak - Type to proceed. - }% -\else -\TestForConflict{\reservestyle,\@reservestyle,\setreserved,\<} -\TestForConflict{\@parseDefineReserved,\@xparseDefineReserved} -\TestForConflict{\@defineReserved,\@xdefineReserved} -\newcommand{\reservestyle}[3][]{ - \newcommand{#2}{\@parseDefineReserved{#1}{#3}} - \expandafter\expandafter\expandafter\def - \expandafter\csname set\expandafter\@gobble\string#2\endcsname##1% - {#1{#3{##1}}}} -\newtoks\@@spacing -\newtoks\@@formating -\def\@parseDefineReserved#1#2{% - \@ifnextchar[{\@xparseDefineReserved{#2}}% - {\@xparseDefineReserved{#2}[#1]}} -\def\@xparseDefineReserved#1[#2]#3{% - \@@formating{#1}% - \@@spacing{#2}% - \expandafter\@defineReserved#3,\end -} -\def\@defineReserved#1,{% - \@ifnextchar\end - {\@xdefineReserved #1[]\END\@gobble}% - {\@xdefineReserved#1[]\END\@defineReserved}} -\def\@xdefineReserved#1[#2]#3\END{% - \def\reserved@a{#2}% - \ifx \reserved@a\empty \toks0{#1}\else \toks0{#2} \fi - \expandafter\edef\csname\expandafter<#1>\endcsname - {\the\@@formating{\the\@@spacing{\the\toks0}}}} -\def\setreserved#1>{% - \expandafter\let\expandafter\reserved@a\csname<#1>\endcsname - \@ifundefined{reserved@a}{\PackageError{Semantic} - {``#1'' is not defined as a reserved word}% - {Before referring to a name as a reserved word, it % - should be defined\MessageBreak using an appropriate style - definer. A style definer is defined \MessageBreak - using \protect\reservestyle.\MessageBreak% - Type to proceed --- nothing will be set.}}% - {\reserved@a}} -\let\<=\setreserved -\fi -\endinput -%% -%% End of file `reserved.sty'. diff --git a/helm/ocaml/tactics/doc/semantic.sty b/helm/ocaml/tactics/doc/semantic.sty deleted file mode 100644 index 98257cab8..000000000 --- a/helm/ocaml/tactics/doc/semantic.sty +++ /dev/null @@ -1,137 +0,0 @@ -%% -%% This is file `semantic.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% semantic.dtx (with options: `general') -%% -%% IMPORTANT NOTICE: -%% -%% For the copyright see the source file. -%% -%% Any modified versions of this file must be renamed -%% with new filenames distinct from semantic.sty. -%% -%% For distribution of the original source see the terms -%% for copying and modification in the file semantic.dtx. -%% -%% This generated file may be distributed as long as the -%% original source files, as listed above, are part of the -%% same distribution. (The sources need not necessarily be -%% in the same archive or directory.) -%% -%% semantic.dtx (c)1995--2002 Peter M^^f8ller Neergaard and -%% Arne John Glenstrup -%% -\NeedsTeXFormat{LaTeX2e} -\newcommand{\semanticVersion}{2.0(epsilon)} -\newcommand{\semanticDate}{2003/10/28} -\ProvidesPackage{semantic} - [\semanticDate\space v\semanticVersion\space] -\typeout{Semantic Package v\semanticVersion\space [\semanticDate]} -\typeout{CVSId: $Id$} -\newcounter{@@conflict} -\newcommand{\@semanticNotDefinable}{% - \typeout{Command \@backslashchar\reserved@a\space already defined} - \stepcounter{@@conflict}} -\newcommand{\@oldNotDefinable}{} -\let\@oldNotDefinable=\@notdefinable -\let\@notdefinable=\@semanticNotDefinable -\newcommand{\TestForConflict}{} -\def\TestForConflict#1{\sem@test #1,,} -\newcommand{\sem@test}{} -\newcommand{\sem@tmp}{} -\newcommand{\@@next}{} -\def\sem@test#1,{% - \def\sem@tmp{#1}% - \ifx \sem@tmp\empty \let\@@next=\relax \else - \@ifdefinable{#1}{} \let\@@next=\sem@test \fi - \@@next} -\TestForConflict{\@inputLigature,\@inputInference,\@inputTdiagram} -\TestForConflict{\@inputReservedWords,\@inputShorthand} -\TestForConflict{\@ddInput,\sem@nticsLoader,\lo@d} -\def\@inputLigature{\input{ligature.sty}\message{ math mode ligatures,}% - \let\@inputLigature\relax} -\def\@inputInference{\input{infernce.sty}\message{ inference rules,}% - \let\@inputInference\relax} -\def\@inputTdiagram{\input{tdiagram.sty}\message{ T diagrams,}% - \let\@inputTdiagram\relax} -\def\@inputReservedWords{\input{reserved.sty}\message{ reserved words,}% - \let\@inputReservedWords\relax} -\def\@inputShorthand{\input{shrthand.sty}\message{ short hands,}% - \let\@inputShorthand\relax} -\toks1={} -\newcommand{\@ddInput}[1]{% - \toks1=\expandafter{\the\toks1\noexpand#1}} -\DeclareOption{ligature}{\@ddInput\@inputLigature} -\DeclareOption{inference}{\@ddInput\@inputInference} -\DeclareOption{tdiagram}{\@ddInput\@inputTdiagram} -\DeclareOption{reserved}{\@ddInput\@inputReservedWords} -\DeclareOption{shorthand}{\@ddInput\@inputLigature - \@ddInput\@inputShorthand} -\ProcessOptions* -\typeout{Loading features: } -\def\sem@nticsLoader{} -\edef\lo@d{\the\toks1} -\ifx\lo@d\empty - \@inputLigature - \@inputInference - \@inputTdiagram - \@inputReservedWords - \@inputShorthand -\else - \lo@d -\fi -\typeout{and general definitions.^^J} -\let\@ddInput\relax -\let\@inputInference\relax -\let\@inputLigature\relax -\let\@inputTdiagram\relax -\let\@inputReservedWords\relax -\let\@inputShorthand\relax -\let\sem@nticsLoader\realx -\let\lo@d\relax -\TestForConflict{\@dropnext,\@ifnext,\@ifn,\@ifNextMacro,\@ifnMacro} -\TestForConflict{\@@maxwidth,\@@pLineBox,\if@@Nested,\@@cBox} -\TestForConflict{\if@@moreLines,\@@pBox} -\def\@ifnext#1#2#3{% - \let\reserved@e=#1\def\reserved@a{#2}\def\reserved@b{#3}\futurelet% - \reserved@c\@ifn} -\def\@ifn{% - \ifx \reserved@c \reserved@e\let\reserved@d\reserved@a\else% - \let\reserved@d\reserved@b\fi \reserved@d} -\def\@ifNextMacro#1#2{% - \def\reserved@a{#1}\def\reserved@b{#2}% - \futurelet\reserved@c\@ifnMacro} -\def\@ifnMacro{% - \ifcat\noexpand\reserved@c\noexpand\@ifnMacro - \let\reserved@d\reserved@a - \else \let\reserved@d\reserved@b\fi \reserved@d} -\newcommand{\@dropnext}[2]{#1} -\ifnum \value{@@conflict} > 0 - \PackageError{Semantic} - {The \the@@conflict\space command(s) listed above have been - redefined.\MessageBreak - Please report this to turtle@bu.edu} - {Some of the commands defined in semantic was already defined % - and has\MessageBreak now be redefined. There is a risk that % - these commands will be used\MessageBreak by other packages % - leading to spurious errors.\MessageBreak - \space\space Type and cross your fingers% -}\fi -\let\@notdefinable=\@oldNotDefinable -\let\@semanticNotDefinable=\relax -\let\@oldNotDefinable=\relax -\let\TestForConflict=\relax -\let\@endmark=\relax -\let\sem@test=\relax -\newdimen\@@maxwidth -\newbox\@@pLineBox -\newbox\@@cBox -\newbox\@@pBox -\newif\if@@moreLines -\newif\if@@Nested \@@Nestedfalse -\endinput -%% -%% End of file `semantic.sty'. diff --git a/helm/ocaml/tactics/doc/shrthand.sty b/helm/ocaml/tactics/doc/shrthand.sty deleted file mode 100644 index b73af4470..000000000 --- a/helm/ocaml/tactics/doc/shrthand.sty +++ /dev/null @@ -1,96 +0,0 @@ -%% -%% This is file `shrthand.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% semantic.dtx (with options: `allOptions,shorthand') -%% -%% IMPORTANT NOTICE: -%% -%% For the copyright see the source file. -%% -%% Any modified versions of this file must be renamed -%% with new filenames distinct from shrthand.sty. -%% -%% For distribution of the original source see the terms -%% for copying and modification in the file semantic.dtx. -%% -%% This generated file may be distributed as long as the -%% original source files, as listed above, are part of the -%% same distribution. (The sources need not necessarily be -%% in the same archive or directory.) -%% -%% semantic.dtx (c)1995--2002 Peter M^^f8ller Neergaard and -%% Arne John Glenstrup -%% -\expandafter\ifx\csname sem@nticsLoader\endcsname\relax - \PackageError{semantic}{% - This file should not be loaded directly} - {% - This file is an option of the semantic package. It should not be - loaded directly\MessageBreak - but by using \protect\usepackage{semantic} in your document - preamble.\MessageBreak - No commands are defined.\MessageBreak - Type to proceed. - }% -\else -\IfFileExists{DONOTUSEmathbbol.sty}{% - \RequirePackage{mathbbol} - \newcommand{\@bblb}{\textbb{[}} - \newcommand{\@bbrb}{\textbb{]}} - \newcommand{\@mbblb}{\mathopen{\mbox{\textbb{[}}}} - \newcommand{\@mbbrb}{\mathclose{\mbox{\textbb{]}}}} -} -{ \newcommand{\@bblb}{\textnormal{[\kern-.15em[}} - \newcommand{\@bbrb}{\textnormal{]\kern-.15em]}} - \newcommand{\@mbblb}{\mathopen{[\mkern-2.67mu[}} - \newcommand{\@mbbrb}{\mathclose{]\mkern-2.67mu]}} -} -\mathlig{|-}{\vdash} -\mathlig{|=}{\models} -\mathlig{->}{\rightarrow} -\mathlig{->*}{\mathrel{\rightarrow^*}} -\mathlig{->+}{\mathrel{\rightarrow^+}} -\mathlig{-->}{\longrightarrow} -\mathlig{-->*}{\mathrel{\longrightarrow^*}} -\mathlig{-->+}{\mathrel{\longrightarrow^+}} -\mathlig{=>}{\Rightarrow} -\mathlig{=>*}{\mathrel{\Rightarrow^*}} -\mathlig{=>+}{\mathrel{\Rightarrow^+}} -\mathlig{==>}{\Longrightarrow} -\mathlig{==>*}{\mathrel{\Longrightarrow^*}} -\mathlig{==>+}{\mathrel{\Longrightarrow^+}} -\mathlig{<-}{\leftarrow} -\mathlig{*<-}{\mathrel{{}^*\mkern-1mu\mathord\leftarrow}} -\mathlig{+<-}{\mathrel{{}^+\mkern-1mu\mathord\leftarrow}} -\mathlig{<--}{\longleftarrow} -\mathlig{*<--}{\mathrel{{}^*\mkern-1mu\mathord{\longleftarrow}}} -\mathlig{+<--}{\mathrel{{}^+\mkern-1mu\mathord{\longleftarrow}}} -\mathlig{<=}{\Leftarrow} -\mathlig{*<=}{\mathrel{{}^*\mkern-1mu\mathord\Leftarrow}} -\mathlig{+<=}{\mathrel{{}^+\mkern-1mu\mathord\Leftarrow}} -\mathlig{<==}{\Longleftarrow} -\mathlig{*<==}{\mathrel{{}^*\mkern-1mu\mathord{\Longleftarrow}}} -\mathlig{+<==}{\mathrel{{}^+\mkern-1mu\mathord{\Longleftarrow}}} -\mathlig{<->}{\longleftrightarrow} -\mathlig{<=>}{\Longleftrightarrow} -\mathlig{|[}{\@mbblb} -\mathlig{|]}{\@mbbrb} -\newcommand{\evalsymbol}[1][]{\ensuremath{\mathcal{E}^{#1}}} -\newcommand{\compsymbol}[1][]{\ensuremath{\mathcal{C}^{#1}}} -\newcommand{\eval}[3][]% - {\mbox{$\mathcal{E}^{#1}$\@bblb \texttt{#2}\@bbrb}% - \ensuremath{\mathtt{#3}}} -\newcommand{\comp}[3][]% - {\mbox{$\mathcal{C}^{#1}$\@bblb \texttt{#2}\@bbrb}% - \ensuremath{\mathtt{#3}}} -\newcommand{\@exe}[3]{} -\newcommand{\exe}[1]{\@ifnextchar[{\@exe{#1}}{\@exe{#1}[]}} -\def\@exe#1[#2]#3{% - \mbox{\@bblb\texttt{#1}\@bbrb$^\mathtt{#2}\mathtt{(#3)}$}} -\fi -\endinput -%% -%% End of file `shrthand.sty'. diff --git a/helm/ocaml/tactics/doc/tdiagram.sty b/helm/ocaml/tactics/doc/tdiagram.sty deleted file mode 100644 index 02202b34a..000000000 --- a/helm/ocaml/tactics/doc/tdiagram.sty +++ /dev/null @@ -1,166 +0,0 @@ -%% -%% This is file `tdiagram.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% semantic.dtx (with options: `allOptions,Tdiagram') -%% -%% IMPORTANT NOTICE: -%% -%% For the copyright see the source file. -%% -%% Any modified versions of this file must be renamed -%% with new filenames distinct from tdiagram.sty. -%% -%% For distribution of the original source see the terms -%% for copying and modification in the file semantic.dtx. -%% -%% This generated file may be distributed as long as the -%% original source files, as listed above, are part of the -%% same distribution. (The sources need not necessarily be -%% in the same archive or directory.) -%% -%% semantic.dtx (c)1995--2002 Peter M^^f8ller Neergaard and -%% Arne John Glenstrup -%% -\expandafter\ifx\csname sem@nticsLoader\endcsname\relax - \PackageError{semantic}{% - This file should not be loaded directly} - {% - This file is an option of the semantic package. It should not be - loaded directly\MessageBreak - but by using \protect\usepackage{semantic} in your document - preamble.\MessageBreak - No commands are defined.\MessageBreak - Type to proceed. - }% -\else -\TestForConflict{\@getSymbol,\@interpreter,\@parseArg,\@program} -\TestForConflict{\@putSymbol,\@saveBeforeSymbolMacro,\compiler} -\TestForConflict{\interpreter,\machine,\program,\@compiler} -\newif\if@@Left -\newif\if@@Up -\newcount\@@xShift -\newcount\@@yShift -\newtoks\@@symbol -\newtoks\@@tempSymbol -\newcommand{\compiler}[1]{\@compiler#1\end} -\def\@compiler#1,#2,#3\end{% - \if@@Nested % - \if@@Up % - \@@yShift=40 \if@@Left \@@xShift=-50 \else \@@xShift=-30 \fi - \else% - \@@yShift=20 \@@xShift =0 % - \fi% - \else% - \@@yShift=40 \@@xShift=-40% - \fi - \hskip\@@xShift\unitlength\raise \@@yShift\unitlength\hbox{% - \put(0,0){\line(1,0){80}}% - \put(0,-20){\line(1,0){30}}% - \put(50,-20){\line(1,0){30}}% - \put(30,-40){\line(1,0){20}}% - \put(0,0){\line(0,-1){20}}% - \put(80,0){\line(0,-1){20}}% - \put(30,-20){\line(0,-1){20}}% - \put(50,-20){\line(0,-1){20}}% - \put(30,-20){\makebox(20,20){$\rightarrow$}} % - {\@@Uptrue \@@Lefttrue \@parseArg(0,-20)(5,-20)#1\end}% - \if@@Up \else \@@tempSymbol=\expandafter{\the\@@symbol}\fi - {\@@Uptrue \@@Leftfalse \@parseArg(80,-20)(55,-20)#3\end}% - {\@@Upfalse \@@Lefttrue \@parseArg(50,-40)(30,-40)#2\end}% - \if@@Up \@@tempSymbol=\expandafter{\the\@@symbol}\fi - \if@@Nested \global\@@symbol=\expandafter{\the\@@tempSymbol} \fi% - }% -} -\newcommand{\interpreter}[1]{\@interpreter#1\end} -\def\@interpreter#1,#2\end{% - \if@@Nested % - \if@@Up % - \@@yShift=40 \if@@Left \@@xShift=0 \else \@@xShift=20 \fi - \else% - \@@yShift=0 \@@xShift =0 % - \fi% - \else% - \@@yShift=40 \@@xShift=10% - \fi - \hskip\@@xShift\unitlength\raise \@@yShift\unitlength\hbox{% - \put(0,0){\line(-1,0){20}}% - \put(0,-40){\line(-1,0){20}}% - \put(0,0){\line(0,-1){40}}% - \put(-20,0){\line(0,-1){40}}% - {\@@Uptrue \@@Lefttrue \@parseArg(0,0)(-20,-20)#1\end}% - \if@@Up \else \@@tempSymbol=\expandafter{\the\@@symbol}\fi - {\@@Upfalse \@@Lefttrue \@parseArg(0,-40)(-20,-40)#2\end}% - \if@@Up \@@tempSymbol=\expandafter{\the\@@symbol}\fi - \if@@Nested \global\@@symbol=\expandafter{\the\@@tempSymbol} \fi% - }% -} -\newcommand{\program}[1]{\@program#1\end} -\def\@program#1,#2\end{% - \if@@Nested % - \if@@Up % - \@@yShift=0 \if@@Left \@@xShift=0 \else \@@xShift=20 \fi - \else% - \PackageError{semantic}{% - A program cannot be at the bottom} - {% - You have tried to use a \protect\program\space as the - bottom\MessageBreak parameter to \protect\compiler, - \protect\interpreter\space or \protect\program.\MessageBreak - Type to proceed --- Output can be distorted.}% - \fi% - \else% - \@@yShift=0 \@@xShift=10% - \fi - \hskip\@@xShift\unitlength\raise \@@yShift\unitlength\hbox{% - \put(0,0){\line(-1,0){20}}% - \put(0,0){\line(0,1){30}}% - \put(-20,0){\line(0,1){30}}% - \put(-10,30){\oval(20,20)[t]}% - \@putSymbol[#1]{-20,20}% - {\@@Upfalse \@@Lefttrue \@parseArg(0,0)(-20,0)#2\end}% - }% -} -\newcommand{\machine}[1]{% - \if@@Nested % - \if@@Up % - \PackageError{semantic}{% - A machine cannot be at the top} - {% - You have tried to use a \protect\machine\space as a - top\MessageBreak parameter to \protect\compiler or - \protect\interpreter.\MessageBreak - Type to proceed --- Output can be distorted.}% - \else \@@yShift=0 \@@xShift=0 - \fi% - \else% - \@@yShift=20 \@@xShift=10% - \fi - \hskip\@@xShift\unitlength\raise \@@yShift\unitlength\hbox{% - \put(0,0){\line(-1,0){20}} \put(-20,0){\line(3,-5){10}} - \put(0,0){\line(-3,-5){10}}% - {\@@Uptrue \@@Lefttrue \@parseArg(0,0)(-20,-15)#1\end}% - }% -} -\def\@parseArg(#1)(#2){% - \@ifNextMacro{\@doSymbolMacro(#1)(#2)}{\@getSymbol(#2)}} -\def\@getSymbol(#1)#2\end{\@putSymbol[#2]{#1}} -\def\@doSymbolMacro(#1)(#2)#3{% - \@ifnextchar[{\@saveBeforeSymbolMacro(#1)(#2)#3}% - {\@symbolMacro(#1)(#2)#3}} -\def\@saveBeforeSymbolMacro(#1)(#2)#3[#4]#5\end{% - \@@tempSymbol={#4}% - \@@Nestedtrue\put(#1){#3#5}% - \@putSymbol[\the\@@tempSymbol]{#2}} -\def\@symbolMacro(#1)(#2)#3\end{% - \@@Nestedtrue\put(#1){#3}% - \@putSymbol{#2}} -\newcommand{\@putSymbol}[2][\the\@@symbol]{% - \global\@@symbol=\expandafter{#1}% - \put(#2){\makebox(20,20){\texttt{\the\@@symbol}}}} -\fi -\endinput -%% -%% End of file `tdiagram.sty'. diff --git a/helm/ocaml/tactics/eliminationTactics.ml b/helm/ocaml/tactics/eliminationTactics.ml deleted file mode 100644 index 27cb1cc33..000000000 --- a/helm/ocaml/tactics/eliminationTactics.ml +++ /dev/null @@ -1,216 +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/. - *) - -module C = Cic -module P = PrimitiveTactics -module T = Tacticals -module S = ProofEngineStructuralRules -module F = FreshNamesGenerator -module E = ProofEngineTypes -module H = ProofEngineHelpers -module Q = MetadataQuery - -(* -let induction_tac ~term status = - let (proof, goal) = status in - let module C = Cic in - let module R = CicReduction in - let module P = PrimitiveTactics in - let module T = Tacticals in - let module S = ProofEngineStructuralRules in - let module U = UriManager in - let (_,metasenv,_,_) = proof in - let _,context,ty = CicUtil.lookup_meta goal metasenv in - let termty = CicTypeChecker.type_of_aux' metasenv context term in (* per ora non serve *) - - T.then_ ~start:(T.repeat_tactic - ~tactic:(T.then_ ~start:(VariousTactics.generalize_tac ~term) (* chissa' se cosi' funziona? *) - ~continuation:(P.intros)) - ~continuation:(P.elim_intros_simpl ~term) - status -;; -*) - -(* unexported tactics *******************************************************) - -let get_name context index = - try match List.nth context (pred index) with - | Some (Cic.Name name, _) -> Some name - | _ -> None - with Invalid_argument "List.nth" -> None - -let rec scan_tac ~old_context_length ~index ~tactic = - let scan_tac status = - let (proof, goal) = status in - let _, metasenv, _, _ = proof in - let _, context, _ = CicUtil.lookup_meta goal metasenv in - let context_length = List.length context in - let rec aux index = - match get_name context index with - | _ when index <= 0 -> (proof, [goal]) - | None -> aux (pred index) - | Some what -> - let tac = T.then_ ~start:(tactic ~what) - ~continuation:(scan_tac ~old_context_length:context_length ~index ~tactic) - in - try E.apply_tactic tac status - with E.Fail _ -> aux (pred index) - in aux (index + context_length - old_context_length - 1) - in - E.mk_tactic scan_tac - -let rec check_inductive_types types = function - | C.MutInd (uri, typeno, _) -> List.mem (uri, typeno) types - | C.Appl (hd :: tl) -> check_inductive_types types hd - | _ -> false - -let elim_clear_tac ~mk_fresh_name_callback ~types ~what = - let elim_clear_tac status = - let (proof, goal) = status in - let _, metasenv, _, _ = proof in - let _, context, _ = CicUtil.lookup_meta goal metasenv in - let index, ty = H.lookup_type metasenv context what in - if check_inductive_types types ty then - let tac = T.then_ ~start:(P.elim_intros_tac ~mk_fresh_name_callback (C.Rel index)) - ~continuation:(S.clear what) - in - E.apply_tactic tac status - else raise (E.Fail (lazy "unexported elim_clear: not an eliminable type")) - in - E.mk_tactic elim_clear_tac - -(* elim type ****************************************************************) - -let elim_type_tac ?(mk_fresh_name_callback = F.mk_fresh_name ~subst:[]) ?depth - ?using what -= - let elim what = - P.elim_intros_simpl_tac ?using ?depth ~mk_fresh_name_callback what - in - let elim_type_tac status = - let tac = - T.thens ~start: (P.cut_tac what) ~continuations:[elim (C.Rel 1); T.id_tac] - in - E.apply_tactic tac status - in - E.mk_tactic elim_type_tac - -(* decompose ****************************************************************) - -(* robaglia --------------------------------------------------------------- *) - - (** perform debugging output? *) -let debug = false -let debug_print = fun _ -> () - - (** debugging print *) -let warn s = debug_print (lazy ("DECOMPOSE: " ^ (Lazy.force s))) - -(* search in term the Inductive Types and return a list of uris as triples like this: (uri,typeno,exp_named_subst) *) -let search_inductive_types ty = - let rec aux types = function - | C.MutInd (uri, typeno, _) when (not (List.mem (uri, typeno) types)) -> - (uri, typeno) :: types - | C.Appl applist -> List.fold_left aux types applist - | _ -> types - in - aux [] ty -(* N.B: in un caso tipo (and A forall C:Prop.(or B C)) l'or *non* viene selezionato! *) - -(* roba seria ------------------------------------------------------------- *) - -let decompose_tac ?(mk_fresh_name_callback = F.mk_fresh_name ~subst:[]) - ?(user_types=[]) ~dbd what = - let decompose_tac status = - let (proof, goal) = status in - let _, metasenv,_,_ = proof in - let _, context, _ = CicUtil.lookup_meta goal metasenv in - let types = List.rev_append user_types (Q.decomposables dbd) in - let tactic = elim_clear_tac ~mk_fresh_name_callback ~types in - let old_context_length = List.length context in - let tac = T.then_ ~start:(tactic ~what) - ~continuation:(scan_tac ~old_context_length ~index:1 ~tactic) - in - E.apply_tactic tac status - in - E.mk_tactic decompose_tac - -(* -module R = CicReduction - - let rec elim_clear_tac ~term' ~nr_of_hyp_still_to_elim status = - let (proof, goal) = status in - warn (lazy ("nr_of_hyp_still_to_elim=" ^ (string_of_int nr_of_hyp_still_to_elim))); - if nr_of_hyp_still_to_elim <> 0 then - let _,metasenv,_,_ = proof in - let _,context,_ = CicUtil.lookup_meta goal metasenv in - let old_context_len = List.length context in - let termty,_ = - CicTypeChecker.type_of_aux' metasenv context term' - CicUniv.empty_ugraph in - warn (lazy ("elim_clear termty= " ^ CicPp.ppterm termty)); - match termty with - C.MutInd (uri,typeno,exp_named_subst) - | C.Appl((C.MutInd (uri,typeno,exp_named_subst))::_) - when (List.mem (uri,typeno,exp_named_subst) urilist) -> - warn (lazy ("elim " ^ CicPp.ppterm termty)); - ProofEngineTypes.apply_tactic - (T.then_ - ~start:(P.elim_intros_simpl_tac term') - ~continuation:( - (* clear the hyp that has just been eliminated *) - ProofEngineTypes.mk_tactic (fun status -> - let (proof, goal) = status in - let _,metasenv,_,_ = proof in - let _,context,_ = CicUtil.lookup_meta goal metasenv in - let new_context_len = List.length context in - warn (lazy ("newcon=" ^ (string_of_int new_context_len) ^ " & oldcon=" ^ (string_of_int old_context_len) ^ " & old_nr_of_hyp=" ^ (string_of_int nr_of_hyp_still_to_elim))); - let new_nr_of_hyp_still_to_elim = nr_of_hyp_still_to_elim + (new_context_len - old_context_len) - 1 in - let hyp_name = - match List.nth context new_nr_of_hyp_still_to_elim with - None - | Some (Cic.Anonymous,_) -> assert false - | Some (Cic.Name name,_) -> name - in - ProofEngineTypes.apply_tactic - (T.then_ - ~start:( - if (term'==term) (* if it's the first application of elim, there's no need to clear the hyp *) - then begin debug_print (lazy ("%%%%%%% no clear")); T.id_tac end - else begin debug_print (lazy ("%%%%%%% clear " ^ (string_of_int (new_nr_of_hyp_still_to_elim)))); (S.clear ~hyp:hyp_name) end) - ~continuation:(ProofEngineTypes.mk_tactic (elim_clear_tac ~term':(C.Rel new_nr_of_hyp_still_to_elim) ~nr_of_hyp_still_to_elim:new_nr_of_hyp_still_to_elim))) - status - ))) - status - | _ -> - let new_nr_of_hyp_still_to_elim = nr_of_hyp_still_to_elim - 1 in - warn (lazy ("fail; hyp=" ^ (string_of_int new_nr_of_hyp_still_to_elim))); - elim_clear_tac ~term':(C.Rel new_nr_of_hyp_still_to_elim) ~nr_of_hyp_still_to_elim:new_nr_of_hyp_still_to_elim status - else (* no hyp to elim left in this goal *) - ProofEngineTypes.apply_tactic T.id_tac status - - in - elim_clear_tac ~term':term ~nr_of_hyp_still_to_elim:1 status -*) diff --git a/helm/ocaml/tactics/eliminationTactics.mli b/helm/ocaml/tactics/eliminationTactics.mli deleted file mode 100644 index cf6589f9a..000000000 --- a/helm/ocaml/tactics/eliminationTactics.mli +++ /dev/null @@ -1,33 +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/. - *) - -val elim_type_tac: - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> - ?depth:int -> ?using:Cic.term -> Cic.term -> ProofEngineTypes.tactic - -val decompose_tac: - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> - ?user_types:((UriManager.uri * int) list) -> - dbd:HMysql.dbd -> string -> ProofEngineTypes.tactic diff --git a/helm/ocaml/tactics/equalityTactics.ml b/helm/ocaml/tactics/equalityTactics.ml deleted file mode 100644 index 7ed946170..000000000 --- a/helm/ocaml/tactics/equalityTactics.ml +++ /dev/null @@ -1,356 +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 rec rewrite_tac ~direction ~pattern equality = - let _rewrite_tac ~direction ~pattern:(wanted,hyps_pat,concl_pat) equality status - = - let module C = Cic in - let module U = UriManager in - let module PET = ProofEngineTypes in - let module PER = ProofEngineReduction in - let module PEH = ProofEngineHelpers in - let module PT = PrimitiveTactics in - assert (wanted = None); (* this should be checked syntactically *) - let proof,goal = status in - let curi, metasenv, pbo, pty = proof in - let (metano,context,gty) as conjecture = CicUtil.lookup_meta goal metasenv in - match hyps_pat with - he::(_::_ as tl) -> - PET.apply_tactic - (Tacticals.then_ - (rewrite_tac ~direction - ~pattern:(None,[he],Cic.Implicit None) equality) - (rewrite_tac ~direction ~pattern:(None,tl,concl_pat) equality) - ) status - | [_] as hyps_pat when concl_pat <> Cic.Implicit None -> - PET.apply_tactic - (Tacticals.then_ - (rewrite_tac ~direction - ~pattern:(None,hyps_pat,Cic.Implicit None) equality) - (rewrite_tac ~direction ~pattern:(None,[],concl_pat) equality) - ) status - | _ -> - let arg,dir2,tac,concl_pat,gty = - match hyps_pat with - [] -> None,true,(fun ~term _ -> PT.exact_tac term),concl_pat,gty - | [name,pat] -> - let rec find_hyp n = - function - [] -> assert false - | Some (Cic.Name s,Cic.Decl ty)::_ when name = s -> - Cic.Rel n, CicSubstitution.lift n ty - | Some (Cic.Name s,Cic.Def _)::_ -> assert false (*CSC: not implemented yet! But does this make any sense?*) - | _::tl -> find_hyp (n+1) tl - in - let arg,gty = find_hyp 1 context in - let last_hyp_name_of_status (proof,goal) = - let curi, metasenv, pbo, pty = proof in - let metano,context,gty = CicUtil.lookup_meta goal metasenv in - match context with - (Some (Cic.Name s,_))::_ -> s - | _ -> assert false - in - let dummy = "dummy" in - Some arg,false, - (fun ~term typ -> - Tacticals.seq - ~tactics: - [ProofEngineStructuralRules.rename name dummy; - PT.letin_tac - ~mk_fresh_name_callback:(fun _ _ _ ~typ -> Cic.Name name) term; - ProofEngineStructuralRules.clearbody name; - ReductionTactics.change_tac - ~pattern: - (None,[name,Cic.Implicit (Some `Hole)],Cic.Implicit None) - (ProofEngineTypes.const_lazy_term typ); - ProofEngineStructuralRules.clear dummy - ]), - pat,gty - | _::_ -> assert false - in - let if_right_to_left do_not_change a b = - match direction with - | `RightToLeft -> if do_not_change then a else b - | `LeftToRight -> if do_not_change then b else a - in - let ty_eq,ugraph = - CicTypeChecker.type_of_aux' metasenv context equality - CicUniv.empty_ugraph in - let (ty_eq,metasenv',arguments,fresh_meta) = - ProofEngineHelpers.saturate_term - (ProofEngineHelpers.new_meta_of_proof proof) metasenv context ty_eq 0 in - let equality = - if List.length arguments = 0 then - equality - else - C.Appl (equality :: arguments) in - (* t1x is t2 if we are rewriting in an hypothesis *) - let eq_ind, ty, t1, t2, t1x = - match ty_eq with - | C.Appl [C.MutInd (uri, 0, []); ty; t1; t2] - when LibraryObjects.is_eq_URI uri -> - let ind_uri = - if_right_to_left dir2 - LibraryObjects.eq_ind_URI LibraryObjects.eq_ind_r_URI - in - let eq_ind = C.Const (ind_uri uri,[]) in - if dir2 then - if_right_to_left true (eq_ind,ty,t2,t1,t2) (eq_ind,ty,t1,t2,t1) - else - if_right_to_left true (eq_ind,ty,t1,t2,t2) (eq_ind,ty,t2,t1,t1) - | _ -> raise (PET.Fail (lazy "Rewrite: argument is not a proof of an equality")) in - (* now we always do as if direction was `LeftToRight *) - let fresh_name = - FreshNamesGenerator.mk_fresh_name - ~subst:[] metasenv' context C.Anonymous ~typ:ty in - let lifted_t1 = CicSubstitution.lift 1 t1x in - let lifted_gty = CicSubstitution.lift 1 gty in - let lifted_conjecture = - metano,(Some (fresh_name,Cic.Decl ty))::context,lifted_gty in - let lifted_pattern = - Some (fun _ m u -> lifted_t1, m, u),[],CicSubstitution.lift 1 concl_pat - in - let subst,metasenv',ugraph,_,selected_terms_with_context = - ProofEngineHelpers.select - ~metasenv:metasenv' ~ugraph ~conjecture:lifted_conjecture - ~pattern:lifted_pattern in - let metasenv' = CicMetaSubst.apply_subst_metasenv subst metasenv' in - let what,with_what = - (* Note: Rel 1 does not live in the context context_of_t *) - (* The replace_lifting_csc 0 function will take care of lifting it *) - (* to context_of_t *) - List.fold_right - (fun (context_of_t,t) (l1,l2) -> t::l1, Cic.Rel 1::l2) - selected_terms_with_context ([],[]) in - let t1 = CicMetaSubst.apply_subst subst t1 in - let t2 = CicMetaSubst.apply_subst subst t2 in - let equality = CicMetaSubst.apply_subst subst equality in - let abstr_gty = - ProofEngineReduction.replace_lifting_csc 0 - ~equality:(==) ~what ~with_what:with_what ~where:lifted_gty in - let abstr_gty = CicMetaSubst.apply_subst subst abstr_gty in - let pred = C.Lambda (fresh_name, ty, abstr_gty) in - (* The argument is either a meta if we are rewriting in the conclusion - or the hypothesis if we are rewriting in an hypothesis *) - let metasenv',arg,newtyp = - match arg with - None -> - let gty' = CicSubstitution.subst t2 abstr_gty in - let irl = - CicMkImplicit.identity_relocation_list_for_metavariable context in - let metasenv' = (fresh_meta,context,gty')::metasenv' in - metasenv', C.Meta (fresh_meta,irl), Cic.Rel (-1) (* dummy term, never used *) - | Some arg -> - let gty' = CicSubstitution.subst t1 abstr_gty in - metasenv,arg,gty' - in - let exact_proof = - C.Appl [eq_ind ; ty ; t2 ; pred ; arg ; t1 ;equality] - in - let (proof',goals) = - PET.apply_tactic - (tac ~term:exact_proof newtyp) ((curi,metasenv',pbo,pty),goal) - in - let goals = - goals@(ProofEngineHelpers.compare_metasenvs ~oldmetasenv:metasenv - ~newmetasenv:metasenv') - in - (proof',goals) - in - ProofEngineTypes.mk_tactic (_rewrite_tac ~direction ~pattern equality) - - -let rewrite_simpl_tac ~direction ~pattern equality = - let rewrite_simpl_tac ~direction ~pattern equality status = - ProofEngineTypes.apply_tactic - (Tacticals.then_ - ~start:(rewrite_tac ~direction ~pattern equality) - ~continuation: - (ReductionTactics.simpl_tac - ~pattern:(ProofEngineTypes.conclusion_pattern None))) - status - in - ProofEngineTypes.mk_tactic (rewrite_simpl_tac ~direction ~pattern equality) -;; - -let replace_tac ~pattern ~with_what = - let replace_tac ~pattern:(wanted,hyps_pat,concl_pat) ~with_what status = - let (proof, goal) = status in - let module C = Cic in - let module U = UriManager in - let module P = PrimitiveTactics in - let module T = Tacticals in - let uri,metasenv,pbo,pty = proof in - let (_,context,ty) as conjecture = CicUtil.lookup_meta goal metasenv in - assert (hyps_pat = []); (*CSC: not implemented yet *) - let context_len = List.length context in - let subst,metasenv,u,_,selected_terms_with_context = - ProofEngineHelpers.select ~metasenv ~ugraph:CicUniv.empty_ugraph - ~conjecture ~pattern in - let metasenv = CicMetaSubst.apply_subst_metasenv subst metasenv in - let with_what, metasenv, u = with_what context metasenv u in - let with_what = CicMetaSubst.apply_subst subst with_what in - let pbo = CicMetaSubst.apply_subst subst pbo in - let pty = CicMetaSubst.apply_subst subst pty in - let status = (uri,metasenv,pbo,pty),goal in - let ty_of_with_what,u = - CicTypeChecker.type_of_aux' - metasenv context with_what CicUniv.empty_ugraph in - let whats = - match selected_terms_with_context with - [] -> raise (ProofEngineTypes.Fail (lazy "Replace: no term selected")) - | l -> - List.map - (fun (context_of_t,t) -> - let t_in_context = - try - let context_of_t_len = List.length context_of_t in - if context_of_t_len = context_len then t - else - (let t_in_context,subst,metasenv' = - CicMetaSubst.delift_rels [] metasenv - (context_of_t_len - context_len) t - in - assert (subst = []); - assert (metasenv = metasenv'); - t_in_context) - with - CicMetaSubst.DeliftingARelWouldCaptureAFreeVariable -> - (*CSC: we could implement something stronger by completely changing - the semantics of the tactic *) - raise (ProofEngineTypes.Fail - (lazy "Replace: one of the selected terms is not closed")) in - let ty_of_t_in_context,u = (* TASSI: FIXME *) - CicTypeChecker.type_of_aux' metasenv context t_in_context - CicUniv.empty_ugraph in - let b,u = CicReduction.are_convertible ~metasenv context - ty_of_with_what ty_of_t_in_context u in - if b then - let concl_pat_for_t = ProofEngineHelpers.pattern_of ~term:ty [t] in - let pattern_for_t = None,[],concl_pat_for_t in - t_in_context,pattern_for_t - else - raise - (ProofEngineTypes.Fail - (lazy "Replace: one of the selected terms and the term to be replaced with have not convertible types")) - ) l in - let rec aux n whats status = - match whats with - [] -> ProofEngineTypes.apply_tactic T.id_tac status - | (what,pattern)::tl -> - let what = CicSubstitution.lift n what in - let with_what = CicSubstitution.lift n with_what in - let ty_of_with_what = CicSubstitution.lift n ty_of_with_what in - ProofEngineTypes.apply_tactic - (T.thens - ~start:( - P.cut_tac - (C.Appl [ - (C.MutInd (LibraryObjects.eq_URI (), 0, [])) ; - ty_of_with_what ; - what ; - with_what])) - ~continuations:[ - T.then_ - ~start:( - rewrite_tac ~direction:`LeftToRight ~pattern (C.Rel 1)) - ~continuation:( - T.then_ - ~start:( - ProofEngineTypes.mk_tactic - (function ((proof,goal) as status) -> - let _,metasenv,_,_ = proof in - let _,context,_ = CicUtil.lookup_meta goal metasenv in - let hyp = - try - match List.hd context with - Some (Cic.Name name,_) -> name - | _ -> assert false - with (Failure "hd") -> assert false - in - ProofEngineTypes.apply_tactic - (ProofEngineStructuralRules.clear ~hyp) status)) - ~continuation:(aux_tac (n + 1) tl)); - T.id_tac]) - status - and aux_tac n tl = ProofEngineTypes.mk_tactic (aux n tl) in - aux 0 whats status - in - ProofEngineTypes.mk_tactic (replace_tac ~pattern ~with_what) -;; - - -(* All these tacs do is applying the right constructor/theorem *) - -let reflexivity_tac = - IntroductionTactics.constructor_tac ~n:1 -;; - -let symmetry_tac = - let symmetry_tac (proof, goal) = - let module C = Cic in - let module R = CicReduction in - let module U = UriManager in - let (_,metasenv,_,_) = proof in - let metano,context,ty = CicUtil.lookup_meta goal metasenv in - match (R.whd context ty) with - (C.Appl [(C.MutInd (uri, 0, [])); _; _; _]) - when LibraryObjects.is_eq_URI uri -> - ProofEngineTypes.apply_tactic - (PrimitiveTactics.apply_tac - ~term: (C.Const (LibraryObjects.sym_eq_URI uri, []))) - (proof,goal) - - | _ -> raise (ProofEngineTypes.Fail (lazy "Symmetry failed")) - in - ProofEngineTypes.mk_tactic symmetry_tac -;; - -let transitivity_tac ~term = - let transitivity_tac ~term status = - let (proof, goal) = status in - let module C = Cic in - let module R = CicReduction in - let module U = UriManager in - let module T = Tacticals in - let (_,metasenv,_,_) = proof in - let metano,context,ty = CicUtil.lookup_meta goal metasenv in - match (R.whd context ty) with - (C.Appl [(C.MutInd (uri, 0, [])); _; _; _]) - when LibraryObjects.is_eq_URI uri -> - ProofEngineTypes.apply_tactic - (T.thens - ~start:(PrimitiveTactics.apply_tac - ~term: (C.Const (LibraryObjects.trans_eq_URI uri, []))) - ~continuations: - [PrimitiveTactics.exact_tac ~term ; T.id_tac ; T.id_tac]) - status - - | _ -> raise (ProofEngineTypes.Fail (lazy "Transitivity failed")) - in - ProofEngineTypes.mk_tactic (transitivity_tac ~term) -;; - - diff --git a/helm/ocaml/tactics/equalityTactics.mli b/helm/ocaml/tactics/equalityTactics.mli deleted file mode 100644 index b9112deed..000000000 --- a/helm/ocaml/tactics/equalityTactics.mli +++ /dev/null @@ -1,40 +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/. - *) - -val rewrite_tac: - direction:[`LeftToRight | `RightToLeft] -> - pattern:ProofEngineTypes.pattern -> Cic.term -> ProofEngineTypes.tactic -val rewrite_simpl_tac: - direction:[`LeftToRight | `RightToLeft] -> - pattern:ProofEngineTypes.pattern -> Cic.term -> ProofEngineTypes.tactic - -val replace_tac: - pattern:ProofEngineTypes.pattern -> - with_what:ProofEngineTypes.lazy_term -> ProofEngineTypes.tactic - -val reflexivity_tac: ProofEngineTypes.tactic -val symmetry_tac: ProofEngineTypes.tactic -val transitivity_tac: term:Cic.term -> ProofEngineTypes.tactic - diff --git a/helm/ocaml/tactics/fourier.ml b/helm/ocaml/tactics/fourier.ml deleted file mode 100644 index d7728c0b3..000000000 --- a/helm/ocaml/tactics/fourier.ml +++ /dev/null @@ -1,244 +0,0 @@ -(***********************************************************************) -(* v * The Coq Proof Assistant / The Coq Development Team *) -(* match ie.coef with - [] -> raise (Failure "empty ineq") - |(c::r) -> if rinf c r0 - then pop ie lneg - else if rinf r0 c then pop ie lpos - else pop ie lnul) - s; - [!lneg;!lnul;!lpos] -;; -(* initialise les histoires d'une liste d'inéquations données par leurs listes de coefficients et leurs strictitudes (!): -(add_hist [(equation 1, s1);...;(équation n, sn)]) -= -[{équation 1, [1;0;...;0], s1}; - {équation 2, [0;1;...;0], s2}; - ... - {équation n, [0;0;...;1], sn}] -*) -let add_hist le = - let n = List.length le in - let i=ref 0 in - List.map (fun (ie,s) -> - let h =ref [] in - for k=1 to (n-(!i)-1) do pop r0 h; done; - pop r1 h; - for k=1 to !i do pop r0 h; done; - i:=!i+1; - {coef=ie;hist=(!h);strict=s}) - le -;; -(* additionne deux inéquations *) -let ie_add ie1 ie2 = {coef=List.map2 rplus ie1.coef ie2.coef; - hist=List.map2 rplus ie1.hist ie2.hist; - strict=ie1.strict || ie2.strict} -;; -(* multiplication d'une inéquation par un rationnel (positif) *) -let ie_emult a ie = {coef=List.map (fun x -> rmult a x) ie.coef; - hist=List.map (fun x -> rmult a x) ie.hist; - strict= ie.strict} -;; -(* on enlève le premier coefficient *) -let ie_tl ie = {coef=List.tl ie.coef;hist=ie.hist;strict=ie.strict} -;; -(* le premier coefficient: "tête" de l'inéquation *) -let hd_coef ie = List.hd ie.coef -;; - -(* calcule toutes les combinaisons entre inéquations de tête négative et inéquations de tête positive qui annulent le premier coefficient. -*) -let deduce_add lneg lpos = - let res=ref [] in - List.iter (fun i1 -> - List.iter (fun i2 -> - let a = rop (hd_coef i1) in - let b = hd_coef i2 in - pop (ie_tl (ie_add (ie_emult b i1) - (ie_emult a i2))) res) - lpos) - lneg; - !res -;; -(* élimination de la première variable à partir d'une liste d'inéquations: -opération qu'on itère dans l'algorithme de Fourier. -*) -let deduce1 s i= - match (partitionne s) with - [lneg;lnul;lpos] -> - let lnew = deduce_add lneg lpos in - (match lneg with [] -> print_string("non posso ridurre "^string_of_int i^"\n")|_->(); - match lpos with [] -> print_string("non posso ridurre "^string_of_int i^"\n")|_->()); - (List.map ie_tl lnul)@lnew - |_->assert false -;; -(* algorithme de Fourier: on élimine successivement toutes les variables. -*) -let deduce lie = - let n = List.length (fst (List.hd lie)) in - let lie=ref (add_hist lie) in - for i=1 to n-1 do - lie:= deduce1 !lie i; - done; - !lie -;; - -(* donne [] si le système a des find solutions, -sinon donne [c,s,lc] -où lc est la combinaison linéaire des inéquations de départ -qui donne 0 < c si s=true - ou 0 <= c sinon -cette inéquation étant absurde. -*) -(** Tryes to find if the system admits solutions. - @param lie the list of inequations - @return a list that can be empty if the system has solutions. Otherwise it returns a - one elements list [\[(c,s,lc)\]]. {b c} is the rational that can be obtained solving the system, - {b s} is true if the inequation that proves that the system is absurd is of type [c < 0], false if - [c <= 0], {b lc} is a list of rational that represents the liear combination to obtain the - absurd inequation *) -let unsolvable lie = - let lr = deduce lie in - let res = ref [] in - (try (List.iter (fun e -> - match e with - {coef=[c];hist=lc;strict=s} -> - if (rinf c r0 && (not s)) || (rinfeq c r0 && s) - then (res := [c,s,lc]; - raise (Failure "contradiction found")) - |_->assert false) - lr) - with _ -> ()); - !res -;; - -(* Exemples: - -let test1=[[r1;r1;r0],true;[rop r1;r1;r1],false;[r0;rop r1;rop r1],false];; -deduce test1;; -unsolvable test1;; - -let test2=[ -[r1;r1;r0;r0;r0],false; -[r0;r1;r1;r0;r0],false; -[r0;r0;r1;r1;r0],false; -[r0;r0;r0;r1;r1],false; -[r1;r0;r0;r0;r1],false; -[rop r1;rop r1;r0;r0;r0],false; -[r0;rop r1;rop r1;r0;r0],false; -[r0;r0;rop r1;rop r1;r0],false; -[r0;r0;r0;rop r1;rop r1],false; -[rop r1;r0;r0;r0;rop r1],false -];; -deduce test2;; -unsolvable test2;; - -*) diff --git a/helm/ocaml/tactics/fourier.mli b/helm/ocaml/tactics/fourier.mli deleted file mode 100644 index 8b26bc21a..000000000 --- a/helm/ocaml/tactics/fourier.mli +++ /dev/null @@ -1,27 +0,0 @@ -type rational = { num : int; den : int; } -val print_rational : rational -> unit -val pgcd : int -> int -> int -val r0 : rational -val r1 : rational -val rnorm : rational -> rational -val rop : rational -> rational -val rplus : rational -> rational -> rational -val rminus : rational -> rational -> rational -val rmult : rational -> rational -> rational -val rinv : rational -> rational -val rdiv : rational -> rational -> rational -val rinf : rational -> rational -> bool -val rinfeq : rational -> rational -> bool -type ineq = { coef : rational list; hist : rational list; strict : bool; } -val pop : 'a -> 'a list ref -> unit -val partitionne : ineq list -> ineq list list -val add_hist : (rational list * bool) list -> ineq list -val ie_add : ineq -> ineq -> ineq -val ie_emult : rational -> ineq -> ineq -val ie_tl : ineq -> ineq -val hd_coef : ineq -> rational -val deduce_add : ineq list -> ineq list -> ineq list -val deduce1 : ineq list -> int -> ineq list -val deduce : (rational list * bool) list -> ineq list -val unsolvable : - (rational list * bool) list -> (rational * bool * rational list) list diff --git a/helm/ocaml/tactics/fourierR.ml b/helm/ocaml/tactics/fourierR.ml deleted file mode 100644 index 13dd9f410..000000000 --- a/helm/ocaml/tactics/fourierR.ml +++ /dev/null @@ -1,1205 +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/. - *) - - -(******************** THE FOURIER TACTIC ***********************) - -(* La tactique Fourier ne fonctionne de manière sûre que si les coefficients -des inéquations et équations sont entiers. En attendant la tactique Field. -*) - -open Fourier -open ProofEngineTypes - - -let debug x = print_string ("____ "^x) ; flush stdout;; - -let debug_pcontext x = - let str = ref "" in - List.iter (fun y -> match y with Some(Cic.Name(a),_) -> str := !str ^ - a ^ " " | _ ->()) x ; - debug ("contesto : "^ (!str) ^ "\n") -;; - -(****************************************************************************** -Operations on linear combinations. - -Opérations sur les combinaisons linéaires affines. -La partie homogène d'une combinaison linéaire est en fait une table de hash -qui donne le coefficient d'un terme du calcul des constructions, -qui est zéro si le terme n'y est pas. -*) - - - -(** - The type for linear combinations -*) -type flin = {fhom:(Cic.term , rational)Hashtbl.t;fcste:rational} -;; - -(** - @return an empty flin -*) -let flin_zero () = {fhom = Hashtbl.create 50;fcste=r0} -;; - -(** - @param f a flin - @param x a Cic.term - @return the rational associated with x (coefficient) -*) -let flin_coef f x = - try - (Hashtbl.find f.fhom x) - with - _ -> r0 -;; - -(** - Adds c to the coefficient of x - @param f a flin - @param x a Cic.term - @param c a rational - @return the new flin -*) -let flin_add f x c = - match x with - Cic.Rel(n) ->( - let cx = flin_coef f x in - Hashtbl.remove f.fhom x; - Hashtbl.add f.fhom x (rplus cx c); - f) - |_->debug ("Internal error in Fourier! this is not a Rel "^CicPp.ppterm x^"\n"); - let cx = flin_coef f x in - Hashtbl.remove f.fhom x; - Hashtbl.add f.fhom x (rplus cx c); - f -;; -(** - Adds c to f.fcste - @param f a flin - @param c a rational - @return the new flin -*) -let flin_add_cste f c = - {fhom=f.fhom; - fcste=rplus f.fcste c} -;; - -(** - @return a empty flin with r1 in fcste -*) -let flin_one () = flin_add_cste (flin_zero()) r1;; - -(** - Adds two flin -*) -let flin_plus f1 f2 = - let f3 = flin_zero() in - Hashtbl.iter (fun x c -> let _=flin_add f3 x c in ()) f1.fhom; - Hashtbl.iter (fun x c -> let _=flin_add f3 x c in ()) f2.fhom; - flin_add_cste (flin_add_cste f3 f1.fcste) f2.fcste; -;; - -(** - Substracts two flin -*) -let flin_minus f1 f2 = - let f3 = flin_zero() in - Hashtbl.iter (fun x c -> let _=flin_add f3 x c in ()) f1.fhom; - Hashtbl.iter (fun x c -> let _=flin_add f3 x (rop c) in ()) f2.fhom; - flin_add_cste (flin_add_cste f3 f1.fcste) (rop f2.fcste); -;; - -(** - @return a times f -*) -let flin_emult a f = - let f2 = flin_zero() in - Hashtbl.iter (fun x c -> let _=flin_add f2 x (rmult a c) in ()) f.fhom; - flin_add_cste f2 (rmult a f.fcste); -;; - - -(*****************************************************************************) - - -(** - @param t a term - @raise Failure if conversion is impossible - @return rational proiection of t -*) -let rec rational_of_term t = - (* fun to apply f to the first and second rational-term of l *) - let rat_of_binop f l = - let a = List.hd l and - b = List.hd(List.tl l) in - f (rational_of_term a) (rational_of_term b) - in - (* as before, but f is unary *) - let rat_of_unop f l = - f (rational_of_term (List.hd l)) - in - match t with - | Cic.Cast (t1,t2) -> (rational_of_term t1) - | Cic.Appl (t1::next) -> - (match t1 with - Cic.Const (u,boh) -> - if UriManager.eq u HelmLibraryObjects.Reals.ropp_URI then - rat_of_unop rop next - else if UriManager.eq u HelmLibraryObjects.Reals.rinv_URI then - rat_of_unop rinv next - else if UriManager.eq u HelmLibraryObjects.Reals.rmult_URI then - rat_of_binop rmult next - else if UriManager.eq u HelmLibraryObjects.Reals.rdiv_URI then - rat_of_binop rdiv next - else if UriManager.eq u HelmLibraryObjects.Reals.rplus_URI then - rat_of_binop rplus next - else if UriManager.eq u HelmLibraryObjects.Reals.rminus_URI then - rat_of_binop rminus next - else failwith "not a rational" - | _ -> failwith "not a rational") - | Cic.Const (u,boh) -> - if UriManager.eq u HelmLibraryObjects.Reals.r1_URI then r1 - else if UriManager.eq u HelmLibraryObjects.Reals.r0_URI then r0 - else failwith "not a rational" - | _ -> failwith "not a rational" -;; - -(* coq wrapper -let rational_of_const = rational_of_term;; -*) -let fails f a = - try - let tmp = (f a) in - false - with - _-> true - ;; - -let rec flin_of_term t = - let fl_of_binop f l = - let a = List.hd l and - b = List.hd(List.tl l) in - f (flin_of_term a) (flin_of_term b) - in - try( - match t with - | Cic.Cast (t1,t2) -> (flin_of_term t1) - | Cic.Appl (t1::next) -> - begin - match t1 with - Cic.Const (u,boh) -> - begin - if UriManager.eq u HelmLibraryObjects.Reals.ropp_URI then - flin_emult (rop r1) (flin_of_term (List.hd next)) - else if UriManager.eq u HelmLibraryObjects.Reals.rplus_URI then - fl_of_binop flin_plus next - else if UriManager.eq u HelmLibraryObjects.Reals.rminus_URI then - fl_of_binop flin_minus next - else if UriManager.eq u HelmLibraryObjects.Reals.rmult_URI then - begin - let arg1 = (List.hd next) and - arg2 = (List.hd(List.tl next)) - in - if fails rational_of_term arg1 - then - if fails rational_of_term arg2 - then - ( (* prodotto tra 2 incognite ????? impossibile*) - failwith "Sistemi lineari!!!!\n" - ) - else - ( - match arg1 with - Cic.Rel(n) -> (*trasformo al volo*) - (flin_add (flin_zero()) arg1 (rational_of_term arg2)) - |_-> (* test this *) - let tmp = flin_of_term arg1 in - flin_emult (rational_of_term arg2) (tmp) - ) - else - if fails rational_of_term arg2 - then - ( - match arg2 with - Cic.Rel(n) -> (*trasformo al volo*) - (flin_add (flin_zero()) arg2 (rational_of_term arg1)) - |_-> (* test this *) - let tmp = flin_of_term arg2 in - flin_emult (rational_of_term arg1) (tmp) - - ) - else - ( (*prodotto tra razionali*) - (flin_add_cste (flin_zero()) (rmult (rational_of_term arg1) (rational_of_term arg2))) - ) - (*try - begin - (*let a = rational_of_term arg1 in - debug("ho fatto rational of term di "^CicPp.ppterm arg1^ - " e ho ottenuto "^string_of_int a.num^"/"^string_of_int a.den^"\n");*) - let a = flin_of_term arg1 - try - begin - let b = (rational_of_term arg2) in - debug("ho fatto rational of term di "^CicPp.ppterm arg2^ - " e ho ottenuto "^string_of_int b.num^"/"^string_of_int b.den^"\n"); - (flin_add_cste (flin_zero()) (rmult a b)) - end - with - _ -> debug ("ho fallito2 su "^CicPp.ppterm arg2^"\n"); - (flin_add (flin_zero()) arg2 a) - end - with - _-> debug ("ho fallito1 su "^CicPp.ppterm arg1^"\n"); - (flin_add(flin_zero()) arg1 (rational_of_term arg2)) - *) - end - else if UriManager.eq u HelmLibraryObjects.Reals.rinv_URI then - let a=(rational_of_term (List.hd next)) in - flin_add_cste (flin_zero()) (rinv a) - else if UriManager.eq u HelmLibraryObjects.Reals.rdiv_URI then - begin - let b=(rational_of_term (List.hd(List.tl next))) in - try - begin - let a = (rational_of_term (List.hd next)) in - (flin_add_cste (flin_zero()) (rdiv a b)) - end - with - _-> (flin_add (flin_zero()) (List.hd next) (rinv b)) - end - else assert false - end - |_ -> assert false - end - | Cic.Const (u,boh) -> - begin - if UriManager.eq u HelmLibraryObjects.Reals.r1_URI then flin_one () - else if UriManager.eq u HelmLibraryObjects.Reals.r0_URI then flin_zero () - else assert false - end - |_-> assert false) - with _ -> debug("eccezione = "^CicPp.ppterm t^"\n");flin_add (flin_zero()) t r1 -;; - -(* coq wrapper -let flin_of_constr = flin_of_term;; -*) - -(** - Translates a flin to (c,x) list - @param f a flin - @return something like (c1,x1)::(c2,x2)::...::(cn,xn) -*) -let flin_to_alist f = - let res=ref [] in - Hashtbl.iter (fun x c -> res:=(c,x)::(!res)) f; - !res -;; - -(* Représentation des hypothèses qui sont des inéquations ou des équations. -*) - -(** - The structure for ineq -*) -type hineq={hname:Cic.term; (* le nom de l'hypothèse *) - htype:string; (* Rlt, Rgt, Rle, Rge, eqTLR ou eqTRL *) - hleft:Cic.term; - hright:Cic.term; - hflin:flin; - hstrict:bool} -;; - -(* Transforme une hypothese h:t en inéquation flin<0 ou flin<=0 -*) - -let ineq1_of_term (h,t) = - match t with (* match t *) - Cic.Appl (t1::next) -> - let arg1= List.hd next in - let arg2= List.hd(List.tl next) in - (match t1 with (* match t1 *) - Cic.Const (u,boh) -> - if UriManager.eq u HelmLibraryObjects.Reals.rlt_URI then - [{hname=h; - htype="Rlt"; - hleft=arg1; - hright=arg2; - hflin= flin_minus (flin_of_term arg1) - (flin_of_term arg2); - hstrict=true}] - else if UriManager.eq u HelmLibraryObjects.Reals.rgt_URI then - [{hname=h; - htype="Rgt"; - hleft=arg2; - hright=arg1; - hflin= flin_minus (flin_of_term arg2) - (flin_of_term arg1); - hstrict=true}] - else if UriManager.eq u HelmLibraryObjects.Reals.rle_URI then - [{hname=h; - htype="Rle"; - hleft=arg1; - hright=arg2; - hflin= flin_minus (flin_of_term arg1) - (flin_of_term arg2); - hstrict=false}] - else if UriManager.eq u HelmLibraryObjects.Reals.rge_URI then - [{hname=h; - htype="Rge"; - hleft=arg2; - hright=arg1; - hflin= flin_minus (flin_of_term arg2) - (flin_of_term arg1); - hstrict=false}] - else assert false - | Cic.MutInd (u,i,o) -> - if UriManager.eq u HelmLibraryObjects.Logic.eq_URI then - let t0= arg1 in - let arg1= arg2 in - let arg2= List.hd(List.tl (List.tl next)) in - (match t0 with - Cic.Const (u,boh) -> - if UriManager.eq u HelmLibraryObjects.Reals.r_URI then - [{hname=h; - htype="eqTLR"; - hleft=arg1; - hright=arg2; - hflin= flin_minus (flin_of_term arg1) - (flin_of_term arg2); - hstrict=false}; - {hname=h; - htype="eqTRL"; - hleft=arg2; - hright=arg1; - hflin= flin_minus (flin_of_term arg2) - (flin_of_term arg1); - hstrict=false}] - else assert false - |_-> assert false) - else assert false - |_-> assert false)(* match t1 *) - |_-> assert false (* match t *) -;; -(* coq wrapper -let ineq1_of_constr = ineq1_of_term;; -*) - -(* Applique la méthode de Fourier à une liste d'hypothèses (type hineq) -*) - -let rec print_rl l = - match l with - []-> () - | a::next -> Fourier.print_rational a ; print_string " " ; print_rl next -;; - -let rec print_sys l = - match l with - [] -> () - | (a,b)::next -> (print_rl a; - print_string (if b=true then "strict\n"else"\n"); - print_sys next) - ;; - -(*let print_hash h = - Hashtbl.iter (fun x y -> print_string ("("^"-"^","^"-"^")")) h -;;*) - -let fourier_lineq lineq1 = - let nvar=ref (-1) in - let hvar=Hashtbl.create 50 in (* la table des variables des inéquations *) - List.iter (fun f -> - Hashtbl.iter (fun x c -> - try (Hashtbl.find hvar x;()) - with _-> nvar:=(!nvar)+1; - Hashtbl.add hvar x (!nvar); - debug("aggiungo una var "^ - string_of_int !nvar^" per "^ - CicPp.ppterm x^"\n")) - f.hflin.fhom) - lineq1; - (*print_hash hvar;*) - debug("Il numero di incognite e' "^string_of_int (!nvar+1)^"\n"); - let sys= List.map (fun h-> - let v=Array.create ((!nvar)+1) r0 in - Hashtbl.iter (fun x c -> v.(Hashtbl.find hvar x) <- c) - h.hflin.fhom; - ((Array.to_list v)@[rop h.hflin.fcste],h.hstrict)) - lineq1 in - debug ("chiamo unsolvable sul sistema di "^ - string_of_int (List.length sys) ^"\n"); - print_sys sys; - unsolvable sys -;; - -(***************************************************************************** -Construction de la preuve en cas de succès de la méthode de Fourier, -i.e. on obtient une contradiction. -*) - - -let _eqT = Cic.MutInd(HelmLibraryObjects.Logic.eq_URI, 0, []) ;; -let _False = Cic.MutInd (HelmLibraryObjects.Logic.false_URI, 0, []) ;; -let _not = Cic.Const (HelmLibraryObjects.Logic.not_URI,[]);; -let _R0 = Cic.Const (HelmLibraryObjects.Reals.r0_URI,[]);; -let _R1 = Cic.Const (HelmLibraryObjects.Reals.r1_URI,[]);; -let _R = Cic.Const (HelmLibraryObjects.Reals.r_URI,[]);; -let _Rfourier_eqLR_to_le=Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rfourier_eqLR_to_le.con"), []) ;; -let _Rfourier_eqRL_to_le=Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rfourier_eqRL_to_le.con"), []) ;; -let _Rfourier_ge_to_le =Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rfourier_ge_to_le.con"), []) ;; -let _Rfourier_gt_to_lt =Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rfourier_gt_to_lt.con"), []) ;; -let _Rfourier_le=Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rfourier_le.con"), []) ;; -let _Rfourier_le_le =Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rfourier_le_le.con"), []) ;; -let _Rfourier_le_lt =Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rfourier_le_lt.con"), []) ;; -let _Rfourier_lt=Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rfourier_lt.con"), []) ;; -let _Rfourier_lt_le =Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rfourier_lt_le.con"), []) ;; -let _Rfourier_lt_lt =Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rfourier_lt_lt.con"), []) ;; -let _Rfourier_not_ge_lt = Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rfourier_not_ge_lt.con"), []) ;; -let _Rfourier_not_gt_le = Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rfourier_not_gt_le.con"), []) ;; -let _Rfourier_not_le_gt = Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rfourier_not_le_gt.con"), []) ;; -let _Rfourier_not_lt_ge = Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rfourier_not_lt_ge.con"), []) ;; -let _Rinv = Cic.Const (HelmLibraryObjects.Reals.rinv_URI, []);; -let _Rinv_R1 = Cic.Const(HelmLibraryObjects.Reals.rinv_r1_URI, []);; -let _Rle = Cic.Const (HelmLibraryObjects.Reals.rle_URI, []);; -let _Rle_mult_inv_pos = Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rle_mult_inv_pos.con"), []) ;; -let _Rle_not_lt = Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rle_not_lt.con"), []) ;; -let _Rle_zero_1 = Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rle_zero_1.con"), []) ;; -let _Rle_zero_pos_plus1 = Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rle_zero_pos_plus1.con"), []) ;; -let _Rlt = Cic.Const (HelmLibraryObjects.Reals.rlt_URI, []);; -let _Rlt_mult_inv_pos = Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rlt_mult_inv_pos.con"), []) ;; -let _Rlt_not_le = Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rlt_not_le.con"), []) ;; -let _Rlt_zero_1 = Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rlt_zero_1.con"), []) ;; -let _Rlt_zero_pos_plus1 = Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rlt_zero_pos_plus1.con"), []) ;; -let _Rminus = Cic.Const (HelmLibraryObjects.Reals.rminus_URI, []);; -let _Rmult = Cic.Const (HelmLibraryObjects.Reals.rmult_URI, []);; -let _Rnot_le_le =Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rnot_le_le.con"), []) ;; -let _Rnot_lt0 = Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rnot_lt0.con"), []) ;; -let _Rnot_lt_lt =Cic.Const ((UriManager.uri_of_string - "cic:/Coq/fourier/Fourier_util/Rnot_lt_lt.con"), []) ;; -let _Ropp = Cic.Const (HelmLibraryObjects.Reals.ropp_URI, []);; -let _Rplus = Cic.Const (HelmLibraryObjects.Reals.rplus_URI, []);; - -(******************************************************************************) - -let is_int x = (x.den)=1 -;; - -(* fraction = couple (num,den) *) -let rec rational_to_fraction x= (x.num,x.den) -;; - -(* traduction -3 -> (Ropp (Rplus R1 (Rplus R1 R1))) -*) - -let rec int_to_real_aux n = - match n with - 0 -> _R0 (* o forse R0 + R0 ????? *) - | 1 -> _R1 - | _ -> Cic.Appl [ _Rplus ; _R1 ; int_to_real_aux (n-1) ] -;; - - -let int_to_real n = - let x = int_to_real_aux (abs n) in - if n < 0 then - Cic.Appl [ _Ropp ; x ] - else - x -;; - - -(* -1/2 -> (Rmult (Ropp R1) (Rinv (Rplus R1 R1))) -*) - -let rational_to_real x = - let (n,d)=rational_to_fraction x in - Cic.Appl [ _Rmult ; int_to_real n ; Cic.Appl [ _Rinv ; int_to_real d ] ] -;; - -(* preuve que 0 - pall "n0" status _Rlt_zero_1 ; - apply_tactic (PrimitiveTactics.apply_tac ~term:_Rlt_zero_1) status )) in - let tacd=ref (mk_tactic (fun status -> - pall "d0" status _Rlt_zero_1 ; - apply_tactic (PrimitiveTactics.apply_tac ~term:_Rlt_zero_1) status )) in - - - for i=1 to n-1 do - tacn:=(Tacticals.then_ - ~start:(mk_tactic (fun status -> - pall ("n"^string_of_int i) status _Rlt_zero_pos_plus1; - apply_tactic - (PrimitiveTactics.apply_tac ~term:_Rlt_zero_pos_plus1) - status)) - ~continuation:!tacn); - done; - for i=1 to d-1 do - tacd:=(Tacticals.then_ - ~start:(mk_tactic (fun status -> - pall "d" status _Rlt_zero_pos_plus1 ; - apply_tactic - (PrimitiveTactics.apply_tac ~term:_Rlt_zero_pos_plus1) status)) - ~continuation:!tacd); - done; - -debug("TAC ZERO INF POS\n"); - apply_tactic - (Tacticals.thens - ~start:(PrimitiveTactics.apply_tac ~term:_Rlt_mult_inv_pos) - ~continuations:[!tacn ;!tacd ] ) - status - in - mk_tactic (tac_zero_inf_pos (n,d)) -;; - - - -(* preuve que 0<=n*1/d -*) - -let tac_zero_infeq_pos gl (n,d) = - let tac_zero_infeq_pos gl (n,d) status = - (*let cste = pf_parse_constr gl in*) - debug("inizio tac_zero_infeq_pos\n"); - let tacn = ref - (*(if n=0 then - (PrimitiveTactics.apply_tac ~term:_Rle_zero_zero ) - else*) - (PrimitiveTactics.apply_tac ~term:_Rle_zero_1 ) - (* ) *) - in - let tacd=ref (PrimitiveTactics.apply_tac ~term:_Rlt_zero_1 ) in - for i=1 to n-1 do - tacn:=(Tacticals.then_ ~start:(PrimitiveTactics.apply_tac - ~term:_Rle_zero_pos_plus1) ~continuation:!tacn); - done; - for i=1 to d-1 do - tacd:=(Tacticals.then_ ~start:(PrimitiveTactics.apply_tac - ~term:_Rlt_zero_pos_plus1) ~continuation:!tacd); - done; - apply_tactic - (Tacticals.thens - ~start:(PrimitiveTactics.apply_tac ~term:_Rle_mult_inv_pos) - ~continuations:[!tacn;!tacd]) status - in - mk_tactic (tac_zero_infeq_pos gl (n,d)) -;; - - - -(* preuve que 0<(-n)*(1/d) => False -*) - -let tac_zero_inf_false gl (n,d) = - let tac_zero_inf_false gl (n,d) status = - if n=0 then - apply_tactic (PrimitiveTactics.apply_tac ~term:_Rnot_lt0) status - else - apply_tactic (Tacticals.then_ - ~start:( mk_tactic (fun status -> - let (proof, goal) = status in - let curi,metasenv,pbo,pty = proof in - let metano,context,ty = CicUtil.lookup_meta goal metasenv in - apply_tactic (PrimitiveTactics.apply_tac ~term:_Rle_not_lt) status)) - ~continuation:(tac_zero_infeq_pos gl (-n,d))) - status - in - mk_tactic (tac_zero_inf_false gl (n,d)) -;; - -(* preuve que 0<=n*(1/d) => False ; n est negatif -*) - -let tac_zero_infeq_false gl (n,d) = - let tac_zero_infeq_false gl (n,d) status = - let (proof, goal) = status in - let curi,metasenv,pbo,pty = proof in - let metano,context,ty = CicUtil.lookup_meta goal metasenv in - - debug("faccio fold di " ^ CicPp.ppterm - (Cic.Appl - [_Rle ; _R0 ; - Cic.Appl - [_Rmult ; int_to_real n ; Cic.Appl [_Rinv ; int_to_real d]] - ] - ) ^ "\n") ; - debug("apply di _Rlt_not_le a "^ CicPp.ppterm ty ^"\n"); - (*CSC: Patch to undo the over-simplification of RewriteSimpl *) - apply_tactic - (Tacticals.then_ - ~start: - (ReductionTactics.fold_tac - ~reduction:(const_lazy_reduction CicReduction.whd) - ~pattern:(ProofEngineTypes.conclusion_pattern None) - ~term: - (const_lazy_term - (Cic.Appl - [_Rle ; _R0 ; - Cic.Appl - [_Rmult ; int_to_real n ; Cic.Appl [_Rinv ; int_to_real d]]]))) - ~continuation: - (Tacticals.then_ - ~start:(PrimitiveTactics.apply_tac ~term:_Rlt_not_le) - ~continuation:(tac_zero_inf_pos (-n,d)))) - status - in - mk_tactic (tac_zero_infeq_false gl (n,d)) -;; - - -(* *********** ********** ******** ??????????????? *********** **************) - -let apply_type_tac ~cast:t ~applist:al = - let apply_type_tac ~cast:t ~applist:al (proof,goal) = - let curi,metasenv,pbo,pty = proof in - let metano,context,ty = CicUtil.lookup_meta goal metasenv in - let fresh_meta = ProofEngineHelpers.new_meta_of_proof proof in - let irl = - CicMkImplicit.identity_relocation_list_for_metavariable context in - let metasenv' = (fresh_meta,context,t)::metasenv in - let proof' = curi,metasenv',pbo,pty in - let proof'',goals = - apply_tactic - (PrimitiveTactics.apply_tac - (*~term:(Cic.Appl ((Cic.Cast (Cic.Meta (fresh_meta,irl),t))::al)) *) - ~term:(Cic.Appl ((Cic.Meta (fresh_meta,irl))::al))) (* ??? *) - (proof',goal) - in - proof'',fresh_meta::goals - in - mk_tactic (apply_type_tac ~cast:t ~applist:al) -;; - -let my_cut ~term:c = - let my_cut ~term:c (proof,goal) = - let curi,metasenv,pbo,pty = proof in - let metano,context,ty = CicUtil.lookup_meta goal metasenv in - let fresh_meta = ProofEngineHelpers.new_meta_of_proof proof in - let irl = - CicMkImplicit.identity_relocation_list_for_metavariable context in - let metasenv' = (fresh_meta,context,c)::metasenv in - let proof' = curi,metasenv',pbo,pty in - let proof'',goals = - apply_tactic - (apply_type_tac - ~cast:(Cic.Prod(Cic.Name "Anonymous",c,CicSubstitution.lift 1 ty)) - ~applist:[Cic.Meta(fresh_meta,irl)]) - (proof',goal) - in - (* We permute the generated goals to be consistent with Coq *) - match goals with - [] -> assert false - | he::tl -> proof'',he::fresh_meta::tl - in - mk_tactic (my_cut ~term:c) -;; - -let exact = PrimitiveTactics.exact_tac;; - -let tac_use h = - let tac_use h status = - let (proof, goal) = status in - debug("Inizio TC_USE\n"); - let curi,metasenv,pbo,pty = proof in - let metano,context,ty = CicUtil.lookup_meta goal metasenv in - debug ("hname = "^ CicPp.ppterm h.hname ^"\n"); - debug ("ty = "^ CicPp.ppterm ty^"\n"); - apply_tactic - (match h.htype with - "Rlt" -> exact ~term:h.hname - | "Rle" -> exact ~term:h.hname - | "Rgt" -> (Tacticals.then_ - ~start:(PrimitiveTactics.apply_tac ~term:_Rfourier_gt_to_lt) - ~continuation:(exact ~term:h.hname)) - | "Rge" -> (Tacticals.then_ - ~start:(PrimitiveTactics.apply_tac ~term:_Rfourier_ge_to_le) - ~continuation:(exact ~term:h.hname)) - | "eqTLR" -> (Tacticals.then_ - ~start:(PrimitiveTactics.apply_tac ~term:_Rfourier_eqLR_to_le) - ~continuation:(exact ~term:h.hname)) - | "eqTRL" -> (Tacticals.then_ - ~start:(PrimitiveTactics.apply_tac ~term:_Rfourier_eqRL_to_le) - ~continuation:(exact ~term:h.hname)) - | _->assert false) - status - in - mk_tactic (tac_use h) -;; - -let is_ineq (h,t) = - match t with - Cic.Appl ( Cic.Const(u,boh)::next) -> - (if UriManager.eq u HelmLibraryObjects.Reals.rlt_URI or - UriManager.eq u HelmLibraryObjects.Reals.rgt_URI or - UriManager.eq u HelmLibraryObjects.Reals.rle_URI or - UriManager.eq u HelmLibraryObjects.Reals.rge_URI then true - else if UriManager.eq u HelmLibraryObjects.Logic.eq_URI then - (match (List.hd next) with - Cic.Const (uri,_) when - UriManager.eq uri HelmLibraryObjects.Reals.r_URI - -> true - | _ -> false) - else false) - |_->false -;; - -let list_of_sign s = List.map (fun (x,_,z)->(x,z)) s;; - -let mkAppL a = - Cic.Appl(Array.to_list a) -;; - -(* Résolution d'inéquations linéaires dans R *) -let rec strip_outer_cast c = match c with - | Cic.Cast (c,_) -> strip_outer_cast c - | _ -> c -;; - -(*let find_in_context id context = - let rec find_in_context_aux c n = - match c with - [] -> failwith (id^" not found in context") - | a::next -> (match a with - Some (Cic.Name(name),_) when name = id -> n - (*? magari al posto di _ qualcosaltro?*) - | _ -> find_in_context_aux next (n+1)) - in - find_in_context_aux context 1 -;; - -(* mi sembra quadratico *) -let rec filter_real_hyp context cont = - match context with - [] -> [] - | Some(Cic.Name(h),Cic.Decl(t))::next -> ( - let n = find_in_context h cont in - debug("assegno "^string_of_int n^" a "^CicPp.ppterm t^"\n"); - [(Cic.Rel(n),t)] @ filter_real_hyp next cont) - | a::next -> debug(" no\n"); filter_real_hyp next cont -;;*) - -let filter_real_hyp context _ = - let rec filter_aux context num = - match context with - [] -> [] - | Some(Cic.Name(h),Cic.Decl(t))::next -> - [(Cic.Rel(num),t)] @ filter_aux next (num+1) - | a::next -> filter_aux next (num+1) - in - filter_aux context 1 -;; - - -(* lifts everithing at the conclusion level *) -let rec superlift c n= - match c with - [] -> [] - | Some(name,Cic.Decl(a))::next -> - [Some(name,Cic.Decl(CicSubstitution.lift n a))]@ superlift next (n+1) - | Some(name,Cic.Def(a,None))::next -> - [Some(name,Cic.Def((CicSubstitution.lift n a),None))]@ superlift next (n+1) - | Some(name,Cic.Def(a,Some ty))::next -> - [Some(name, - Cic.Def((CicSubstitution.lift n a),Some (CicSubstitution.lift n ty))) - ] @ superlift next (n+1) - | _::next -> superlift next (n+1) (*?? ??*) - -;; - -let equality_replace a b = - let equality_replace a b status = - debug("inizio EQ\n"); - let module C = Cic in - let proof,goal = status in - let curi,metasenv,pbo,pty = proof in - let metano,context,ty = CicUtil.lookup_meta goal metasenv in - let a_eq_b = C.Appl [ _eqT ; _R ; a ; b ] in - let fresh_meta = ProofEngineHelpers.new_meta_of_proof proof in - let irl = - CicMkImplicit.identity_relocation_list_for_metavariable context in - let metasenv' = (fresh_meta,context,a_eq_b)::metasenv in - debug("chamo rewrite tac su"^CicPp.ppterm (C.Meta (fresh_meta,irl))); - let (proof,goals) = apply_tactic - (EqualityTactics.rewrite_simpl_tac - ~direction:`LeftToRight - ~pattern:(ProofEngineTypes.conclusion_pattern None) - (C.Meta (fresh_meta,irl))) - ((curi,metasenv',pbo,pty),goal) - in - let new_goals = fresh_meta::goals in - debug("fine EQ -> goals : "^string_of_int( List.length new_goals) ^" = " - ^string_of_int( List.length goals)^"+ meta\n"); - (proof,new_goals) - in - mk_tactic (equality_replace a b) -;; - -let tcl_fail a (proof,goal) = - match a with - 1 -> raise (ProofEngineTypes.Fail (lazy "fail-tactical")) - | _ -> (proof,[goal]) -;; - -(* Galla: moved in variousTactics.ml -let assumption_tac (proof,goal)= - let curi,metasenv,pbo,pty = proof in - let metano,context,ty = CicUtil.lookup_meta goal metasenv in - let num = ref 0 in - let tac_list = List.map - ( fun x -> num := !num + 1; - match x with - Some(Cic.Name(nm),t) -> (nm,exact ~term:(Cic.Rel(!num))) - | _ -> ("fake",tcl_fail 1) - ) - context - in - Tacticals.first ~tactics:tac_list (proof,goal) -;; -*) -(* Galla: moved in negationTactics.ml -(* !!!!! fix !!!!!!!!!! *) -let contradiction_tac (proof,goal)= - Tacticals.then_ - (*inutile sia questo che quello prima della chiamata*) - ~start:PrimitiveTactics.intros_tac - ~continuation:(Tacticals.then_ - ~start:(VariousTactics.elim_type_tac ~term:_False) - ~continuation:(assumption_tac)) - (proof,goal) -;; -*) - -(* ********************* TATTICA ******************************** *) - -let rec fourier (s_proof,s_goal)= - let s_curi,s_metasenv,s_pbo,s_pty = s_proof in - let s_metano,s_context,s_ty = CicUtil.lookup_meta s_goal s_metasenv in - debug ("invoco fourier_tac sul goal "^string_of_int(s_goal)^" e contesto:\n"); - debug_pcontext s_context; - - let fhyp = String.copy "new_hyp_for_fourier" in - -(* here we need to negate the thesis, but to do this we need to apply the - right theoreme,so let's parse our thesis *) - - let th_to_appl = ref _Rfourier_not_le_gt in - (match s_ty with - Cic.Appl ( Cic.Const(u,boh)::args) -> - th_to_appl := - (if UriManager.eq u HelmLibraryObjects.Reals.rlt_URI then - _Rfourier_not_ge_lt - else if UriManager.eq u HelmLibraryObjects.Reals.rle_URI then - _Rfourier_not_gt_le - else if UriManager.eq u HelmLibraryObjects.Reals.rgt_URI then - _Rfourier_not_le_gt - else if UriManager.eq u HelmLibraryObjects.Reals.rge_URI then - _Rfourier_not_lt_ge - else failwith "fourier can't be applyed") - |_-> failwith "fourier can't be applyed"); - (* fix maybe strip_outer_cast goes here?? *) - - (* now let's change our thesis applying the th and put it with hp *) - - let proof,gl = apply_tactic - (Tacticals.then_ - ~start:(PrimitiveTactics.apply_tac ~term:!th_to_appl) - ~continuation:(PrimitiveTactics.intros_tac ())) - (s_proof,s_goal) - in - let goal = if List.length gl = 1 then List.hd gl - else failwith "a new goal" in - - debug ("port la tesi sopra e la nego. contesto :\n"); - debug_pcontext s_context; - - (* now we have all the right environment *) - - let curi,metasenv,pbo,pty = proof in - let metano,context,ty = CicUtil.lookup_meta goal metasenv in - - (* now we want to convert hp to inequations, but first we must lift - everyting to thesis level, so that a variable has the save Rel(n) - in each hp ( needed by ineq1_of_term ) *) - - (* ? fix if None ?????*) - (* fix change superlift with a real name *) - - let l_context = superlift context 1 in - let hyps = filter_real_hyp l_context l_context in - - debug ("trasformo in diseq. "^ string_of_int (List.length hyps)^" ipotesi\n"); - - let lineq =ref [] in - - (* transform hyps into inequations *) - - List.iter (fun h -> try (lineq:=(ineq1_of_term h)@(!lineq)) - with _-> ()) - hyps; - - debug ("applico fourier a "^ string_of_int (List.length !lineq)^ - " disequazioni\n"); - - let res=fourier_lineq (!lineq) in - let tac=ref Tacticals.id_tac in - if res=[] then - (print_string "Tactic Fourier fails.\n";flush stdout; - failwith "fourier_tac fails") - else - ( - match res with (*match res*) - [(cres,sres,lc)]-> - - (* in lc we have the coefficient to "reduce" the system *) - - print_string "Fourier's method can prove the goal...\n";flush stdout; - - debug "I coeff di moltiplicazione rit sono: "; - - let lutil=ref [] in - List.iter - (fun (h,c) -> if c<>r0 then (lutil:=(h,c)::(!lutil); - (* DBG *)Fourier.print_rational(c);print_string " "(* DBG *)) - ) - (List.combine (!lineq) lc); - - print_string (" quindi lutil e' lunga "^ - string_of_int (List.length (!lutil))^"\n"); - - (* on construit la combinaison linéaire des inéquation *) - - (match (!lutil) with (*match (!lutil) *) - (h1,c1)::lutil -> - debug ("elem di lutil ");Fourier.print_rational c1;print_string "\n"; - - let s=ref (h1.hstrict) in - - - let t1 = ref (Cic.Appl [_Rmult;rational_to_real c1;h1.hleft] ) in - let t2 = ref (Cic.Appl [_Rmult;rational_to_real c1;h1.hright]) in - - List.iter (fun (h,c) -> - s:=(!s)||(h.hstrict); - t1:=(Cic.Appl [_Rplus;!t1;Cic.Appl - [_Rmult;rational_to_real c;h.hleft ] ]); - t2:=(Cic.Appl [_Rplus;!t2;Cic.Appl - [_Rmult;rational_to_real c;h.hright] ])) - lutil; - - let ineq=Cic.Appl [(if (!s) then _Rlt else _Rle);!t1;!t2 ] in - let tc=rational_to_real cres in - - -(* ora ho i termini che descrivono i passi di fourier per risolvere il sistema *) - - debug "inizio a costruire tac1\n"; - Fourier.print_rational(c1); - - let tac1=ref ( mk_tactic (fun status -> - apply_tactic - (if h1.hstrict then - (Tacticals.thens - ~start:(mk_tactic (fun status -> - debug ("inizio t1 strict\n"); - let curi,metasenv,pbo,pty = proof in - let metano,context,ty = CicUtil.lookup_meta goal metasenv in - debug ("th = "^ CicPp.ppterm _Rfourier_lt ^"\n"); - debug ("ty = "^ CicPp.ppterm ty^"\n"); - apply_tactic - (PrimitiveTactics.apply_tac ~term:_Rfourier_lt) status)) - ~continuations:[tac_use h1; - tac_zero_inf_pos (rational_to_fraction c1)]) - else - (Tacticals.thens - ~start:(PrimitiveTactics.apply_tac ~term:_Rfourier_le) - ~continuations:[tac_use h1;tac_zero_inf_pos - (rational_to_fraction c1)])) - status)) - - in - s:=h1.hstrict; - List.iter (fun (h,c) -> - (if (!s) then - (if h.hstrict then - (debug("tac1 1\n"); - tac1:=(Tacticals.thens - ~start:(PrimitiveTactics.apply_tac ~term:_Rfourier_lt_lt) - ~continuations:[!tac1;tac_use h;tac_zero_inf_pos - (rational_to_fraction c)])) - else - (debug("tac1 2\n"); - Fourier.print_rational(c1); - tac1:=(Tacticals.thens - ~start:(mk_tactic (fun status -> - debug("INIZIO TAC 1 2\n"); - let curi,metasenv,pbo,pty = proof in - let metano,context,ty = CicUtil.lookup_meta goal metasenv in - debug ("th = "^ CicPp.ppterm _Rfourier_lt_le ^"\n"); - debug ("ty = "^ CicPp.ppterm ty^"\n"); - apply_tactic - (PrimitiveTactics.apply_tac ~term:_Rfourier_lt_le) - status)) - ~continuations:[!tac1;tac_use h;tac_zero_inf_pos - (rational_to_fraction c)]))) - else - (if h.hstrict then - (debug("tac1 3\n"); - tac1:=(Tacticals.thens - ~start:(PrimitiveTactics.apply_tac ~term:_Rfourier_le_lt) - ~continuations:[!tac1;tac_use h;tac_zero_inf_pos - (rational_to_fraction c)])) - else - (debug("tac1 4\n"); - tac1:=(Tacticals.thens - ~start:(PrimitiveTactics.apply_tac ~term:_Rfourier_le_le) - ~continuations:[!tac1;tac_use h;tac_zero_inf_pos - (rational_to_fraction c)])))); - s:=(!s)||(h.hstrict)) (* end fun -> *) - lutil;(*end List.iter*) - - let tac2 = - if sres then - tac_zero_inf_false goal (rational_to_fraction cres) - else - tac_zero_infeq_false goal (rational_to_fraction cres) - in - tac:=(Tacticals.thens - ~start:(my_cut ~term:ineq) - ~continuations:[Tacticals.then_ - ~start:( mk_tactic (fun status -> - let (proof, goal) = status in - let curi,metasenv,pbo,pty = proof in - let metano,context,ty = CicUtil.lookup_meta goal metasenv in - apply_tactic - (ReductionTactics.change_tac - ~pattern:(ProofEngineTypes.conclusion_pattern (Some ty)) - (const_lazy_term (Cic.Appl [ _not; ineq]))) - status)) - ~continuation:(Tacticals.then_ - ~start:(PrimitiveTactics.apply_tac ~term: - (if sres then _Rnot_lt_lt else _Rnot_le_le)) - ~continuation:(Tacticals.thens - ~start:(mk_tactic (fun status -> - debug("t1 ="^CicPp.ppterm !t1 ^"t2 ="^ - CicPp.ppterm !t2 ^"tc="^ CicPp.ppterm tc^"\n"); - let r = apply_tactic - (equality_replace (Cic.Appl [_Rminus;!t2;!t1] ) tc) - status - in - (match r with (p,gl) -> - debug("eq1 ritorna "^string_of_int(List.length gl)^"\n" )); - r)) - ~continuations:[(Tacticals.thens - ~start:(mk_tactic (fun status -> - let r = apply_tactic - (equality_replace (Cic.Appl[_Rinv;_R1]) _R1) - status - in - (match r with (p,gl) -> - debug("eq2 ritorna "^string_of_int(List.length gl)^"\n" )); - r)) - ~continuations: - [PrimitiveTactics.apply_tac ~term:_Rinv_R1; - Tacticals.first - ~tactics:[ "ring",Ring.ring_tac; "id", Tacticals.id_tac] - ]) - ;(*Tacticals.id_tac*) - Tacticals.then_ - ~start:(mk_tactic (fun status -> - let (proof, goal) = status in - let curi,metasenv,pbo,pty = proof in - let metano,context,ty = CicUtil.lookup_meta goal metasenv in - (* check if ty is of type *) - let w1 = - debug("qui c'e' gia' l'or "^CicPp.ppterm ty^"\n"); - (match ty with - Cic.Prod (Cic.Anonymous,a,b) -> (Cic.Appl [_not;a]) - |_ -> assert false) - in - let r = apply_tactic - (ReductionTactics.change_tac - ~pattern:(ProofEngineTypes.conclusion_pattern (Some ty)) - (const_lazy_term w1)) status - in - debug("fine MY_CHNGE\n"); - r)) - ~continuation:(*PORTINGTacticals.id_tac*)tac2])) - ;(*Tacticals.id_tac*)!tac1]);(*end tac:=*) - - |_-> assert false)(*match (!lutil) *) - |_-> assert false); (*match res*) - debug ("finalmente applico tac\n"); - ( - let r = apply_tactic !tac (proof,goal) in - debug("\n\n]]]]]]]]]]]]]]]]]) That's all folks ([[[[[[[[[[[[[[[[[[[\n\n");r - - ) -;; - -let fourier_tac = mk_tactic fourier - - diff --git a/helm/ocaml/tactics/fourierR.mli b/helm/ocaml/tactics/fourierR.mli deleted file mode 100644 index e5790ec0f..000000000 --- a/helm/ocaml/tactics/fourierR.mli +++ /dev/null @@ -1,5 +0,0 @@ -(* -val rewrite_tac: term:Cic.term -> ProofEngineTypes.tactic -val rewrite_simpl_tac: term:Cic.term -> ProofEngineTypes.tactic -*) -val fourier_tac: ProofEngineTypes.tactic diff --git a/helm/ocaml/tactics/fwdSimplTactic.ml b/helm/ocaml/tactics/fwdSimplTactic.ml deleted file mode 100644 index a5c7878c7..000000000 --- a/helm/ocaml/tactics/fwdSimplTactic.ml +++ /dev/null @@ -1,143 +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/. - *) - - -module PEH = ProofEngineHelpers -module U = CicUniv -module TC = CicTypeChecker -module PET = ProofEngineTypes -module S = CicSubstitution -module PT = PrimitiveTactics -module T = Tacticals -module FNG = FreshNamesGenerator -module MI = CicMkImplicit -module PESR = ProofEngineStructuralRules - -let fail_msg0 = "unexported clearbody: invalid argument" -let fail_msg2 = "fwd: no applicable simplification" - -let error msg = raise (PET.Fail (lazy msg)) - -(* unexported tactics *******************************************************) - -let id_tac = - let id_tac (proof,goal) = - try - let _, metasenv, _, _ = proof in - let _, _, _ = CicUtil.lookup_meta goal metasenv in - (proof,[goal]) - with CicUtil.Meta_not_found _ -> (proof, []) - in - PET.mk_tactic id_tac - -let clearbody ~index = - let rec find_name index = function - | Some (Cic.Name name, _) :: _ when index = 1 -> name - | _ :: tail when index > 1 -> find_name (pred index) tail - | _ -> error fail_msg0 - in - let clearbody status = - let (proof, goal) = status in - let _, metasenv, _, _ = proof in - let _, context, _ = CicUtil.lookup_meta goal metasenv in - PET.apply_tactic (PESR.clearbody ~hyp:(find_name index context)) status - in - PET.mk_tactic clearbody - -(* lapply *******************************************************************) - -let strip_prods metasenv context ?how_many to_what term = - let irl = MI.identity_relocation_list_for_metavariable context in - let mk_meta metasenv its_type = - let index = MI.new_meta metasenv [] in - let metasenv = [index, context, its_type] @ metasenv in - metasenv, Cic.Meta (index, irl), index - in - let update_counters = function - | None, [] -> None, false, id_tac, [] - | None, to_what :: tail -> None, true, PT.apply_tac ~term:to_what, tail - | Some hm, [] -> Some (pred hm), false, id_tac, [] - | Some hm, to_what :: tail -> Some (pred hm), true, PT.apply_tac ~term:to_what, tail - in - let rec aux metasenv metas conts tw = function - | Some hm, _ when hm <= 0 -> metasenv, metas, conts - | xhm, Cic.Prod (Cic.Name _, t1, t2) -> - let metasenv, meta, index = mk_meta metasenv t1 in - aux metasenv (meta :: metas) (conts @ [id_tac, index]) tw (xhm, (S.subst meta t2)) - | xhm, Cic.Prod (Cic.Anonymous, t1, t2) -> - let xhm, pos, tac, tw = update_counters (xhm, tw) in - let metasenv, meta, index = mk_meta metasenv t1 in - let conts = if pos then (tac, index) :: conts else conts @ [tac, index] in - aux metasenv (meta :: metas) conts tw (xhm, (S.subst meta t2)) - | _, t -> metasenv, metas, conts - in - aux metasenv [] [] to_what (how_many, term) - -let lapply_tac ?(mk_fresh_name_callback = FreshNamesGenerator.mk_fresh_name ~subst:[]) - (* ?(substs = []) *) ?how_many ?(to_what = []) what = - let letin_tac term = PT.letin_tac ~mk_fresh_name_callback term in - let lapply_tac (proof, goal) = - let xuri, metasenv, u, t = proof in - let _, context, _ = CicUtil.lookup_meta goal metasenv in - let lemma, _ = TC.type_of_aux' metasenv context what U.empty_ugraph in - let lemma = FNG.clean_dummy_dependent_types lemma in - let metasenv, metas, conts = strip_prods metasenv context ?how_many to_what lemma in - let conclusion = - match metas with [] -> what | _ -> Cic.Appl (what :: List.rev metas) - in - let tac = T.then_ ~start:(letin_tac conclusion) - ~continuation:(clearbody ~index:1) - in - let proof = (xuri, metasenv, u, t) in - let aux (proof, goals) (tac, goal) = - let proof, new_goals = PET.apply_tactic tac (proof, goal) in - proof, goals @ new_goals - in - List.fold_left aux (proof, []) ((tac, goal) :: conts) - in - PET.mk_tactic lapply_tac - -(* fwd **********************************************************************) - -let fwd_simpl_tac - ?(mk_fresh_name_callback = FNG.mk_fresh_name ~subst:[]) - ~dbd hyp = - let lapply_tac to_what lemma = - lapply_tac ~mk_fresh_name_callback ~how_many:1 ~to_what:[to_what] lemma - in - let fwd_simpl_tac status = - let (proof, goal) = status in - let _, metasenv, _, _ = proof in - let _, context, ty = CicUtil.lookup_meta goal metasenv in - let index, major = PEH.lookup_type metasenv context hyp in - match MetadataQuery.fwd_simpl ~dbd major with - | [] -> error fail_msg2 - | uri :: _ -> - Printf.eprintf "fwd: %s\n" (UriManager.string_of_uri uri); flush stderr; - let start = lapply_tac (Cic.Rel index) (Cic.Const (uri, [])) in - let tac = T.then_ ~start ~continuation:(PESR.clear hyp) in - PET.apply_tactic tac status - in - PET.mk_tactic fwd_simpl_tac diff --git a/helm/ocaml/tactics/fwdSimplTactic.mli b/helm/ocaml/tactics/fwdSimplTactic.mli deleted file mode 100644 index d75b83320..000000000 --- a/helm/ocaml/tactics/fwdSimplTactic.mli +++ /dev/null @@ -1,32 +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/. - *) - -val lapply_tac: - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> - ?how_many:int -> ?to_what:Cic.term list -> Cic.term -> ProofEngineTypes.tactic - -val fwd_simpl_tac: - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> - dbd:HMysql.dbd -> string -> ProofEngineTypes.tactic diff --git a/helm/ocaml/tactics/hashtbl_equiv.ml b/helm/ocaml/tactics/hashtbl_equiv.ml deleted file mode 100644 index 543528de6..000000000 --- a/helm/ocaml/tactics/hashtbl_equiv.ml +++ /dev/null @@ -1,189 +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/. - *) - -(*********************************************************************) -(* *) -(* PROJECT HELM *) -(* *) -(* Andrea Asperti *) -(* 8/09/2004 *) -(* *) -(* *) -(*********************************************************************) - - -(* the file contains an hash table of objects of the library - equivalent to some object in the standard subset; it is - mostly used to filter useless cases in auto *) - - -let equivalent_objects = -(* finte costanti; i.e. costanti senza corpo *) -[UriManager.uri_of_string "cic:/Rocq/DEMOS/Demo_AutoRewrite/Ack0.con"(*,"finte costanti"*); - UriManager.uri_of_string "cic:/Rocq/DEMOS/Demo_AutoRewrite/Ac10.con"(*,"finte costanti"*); - UriManager.uri_of_string "cic:/Rocq/DEMOS/Demo_AutoRewrite/Ack2.con"(*,"finte costanti"*) - ]@ -(* inutili mostri *) -[UriManager.uri_of_string "cic:/Rocq/DEMOS/Demo_AutoRewrite/Resg0.con"(*,"useless monster"*); - UriManager.uri_of_string "cic:/Rocq/DEMOS/Demo_AutoRewrite/Resg1.con"(*,"useless monster"*); - UriManager.uri_of_string "cic:/Rocq/DEMOS/Demo_AutoRewrite/ResAck0.con"(*,"useless monster"*) - ]@ -(* istanze *) - (UriManager.uri_of_string "cic:/Coq/Init/Peano/eq_S.con"(*,UriManager.uri_of_string "cic:/Coq/Init/Logic/f_equal.con"*)):: -[ -UriManager.uri_of_string "cic:/Paris/ZF/src/useful/lem_iff_sym.con"(*,UriManager.uri_of_string "cic:/Coq/Init/Logic/iff_sym.con"*); -UriManager.uri_of_string "cic:/Lyon/AUTOMATA/Ensf_types/False_imp_P.con"(*,UriManager.uri_of_string "cic:/Coq/Init/Logic/False_ind.con"*); -UriManager.uri_of_string "cic:/Rocq/TreeAutomata/bases/plus_O_r.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Plus/plus_0_r.con"*); -UriManager.uri_of_string "cic:/Coq/Reals/Rfunctions/sum_f_R0_triangle.con"(*,UriManager.uri_of_string "cic:/Coq/Reals/PartSum/Rabs_triang_gen.con"*); -UriManager.uri_of_string "cic:/Sophia-Antipolis/Bertrand/Misc/eq_plus.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Plus/plus_reg_l.con"*); -UriManager.uri_of_string "cic:/Suresnes/BDD/rauzy/algorithme1/Prelude_BDT/deMorgan_not_and.con"(*,UriManager.uri_of_string "cic:/Coq/Logic/Classical_Prop/or_not_and.con"*); -UriManager.uri_of_string "cic:/Rocq/DEMOS/Sorting/diff_true_false.con"(*,UriManager.uri_of_string "cic:/Coq/Bool/Bool/diff_true_false.con"*); -UriManager.uri_of_string "cic:/CoRN/metrics/CMetricSpaces/nz.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Max/le_max_l.con"*); -UriManager.uri_of_string "cic:/Coq/Logic/Decidable/not_or.con"(*,UriManager.uri_of_string "cic:/Coq/Logic/Classical_Prop/not_or_and.con"*); -UriManager.uri_of_string "cic:/Coq/Init/Logic/sym_not_equal.con"(*,UriManager.uri_of_string "cic:/Coq/Init/Logic/sym_not_eq.con"*); -UriManager.uri_of_string "cic:/Coq/Reals/R_sqrt/sqrt_sqrt.con"(*,UriManager.uri_of_string "cic:/Coq/Reals/R_sqrt/sqrt_def.con"*); -UriManager.uri_of_string "cic:/Coq/Reals/Rlimit/eps2_Rgt_R0_subproof.con"(*,UriManager.uri_of_string "cic:/Coq/Reals/Rlimit/eps2_Rgt_R0.con"*); -UriManager.uri_of_string "cic:/Coq/Logic/Eqdep_dec/eqT2eq.con"(*,UriManager.uri_of_string "cic:/Coq/Logic/Eqdep_dec/eq2eqT.con"*); -UriManager.uri_of_string "cic:/Coq/Reals/R_sqr/Rsqr_eq_0.con"(*,UriManager.uri_of_string "cic:/Coq/Reals/RIneq/Rsqr_0_uniq.con"*); -UriManager.uri_of_string "cic:/Rocq/THREE_GAP/Nat_compl/en_plus.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Plus/plus_0_r.con"*); -UriManager.uri_of_string "cic:/Nijmegen/QArith/Zaux/Zabs_10.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/Zabs/Zabs_pos.con"*); -UriManager.uri_of_string "cic:/Coq/Reals/Rlimit/Rlt_eps4_eps_subproof0.con"(*,UriManager.uri_of_string "cic:/Coq/Reals/Rlimit/Rlt_eps2_eps_subproof.con"*); -UriManager.uri_of_string "cic:/Coq/Arith/Le/le_refl.con"(*,UriManager.uri_of_string "cic:/Coq/Init/Peano/le.ind#xpointer(1/1/1)"*); -UriManager.uri_of_string "cic:/Rocq/TreeAutomata/bases/le_n_n.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Le/le_refl.con"*); -UriManager.uri_of_string "cic:/Coq/ZArith/auxiliary/Zred_factor1.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/BinInt/Zplus_diag_eq_mult_2.con"*); -UriManager.uri_of_string "cic:/Coq/Relations/Newman/caseRxy.con"(*,UriManager.uri_of_string "cic:/Coq/Relations/Newman/Ind_proof.con"*); -UriManager.uri_of_string "cic:/Rocq/TreeAutomata/bases/S_plus_r.con"(*,UriManager.uri_of_string "cic:/Coq/Init/Peano/plus_n_Sm.con"*); -UriManager.uri_of_string "cic:/Eindhoven/POCKLINGTON/lemmas/Zmult_ab0a0b0.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/BinInt/Zmult_integral.con"*); -UriManager.uri_of_string "cic:/Sophia-Antipolis/Algebra/Z_group/ax8.con"(*,UriManager.uri_of_string "cic:/Coq/NArith/BinPos/ZC2.con"*); -UriManager.uri_of_string "cic:/Sophia-Antipolis/Algebra/Z_group/Zlt_reg_l.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/Zorder/Zplus_lt_compat_l.con"*); -UriManager.uri_of_string "cic:/Sophia-Antipolis/MATHS/Z/Nat_complements/mult_neutr.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Mult/mult_1_l.con"*); -UriManager.uri_of_string "cic:/Coq/fourier/Fourier_util/Rlt_zero_1.con"(*,UriManager.uri_of_string "cic:/Coq/Reals/RIneq/Rlt_0_1.con"*); -UriManager.uri_of_string "cic:/Suresnes/BDD/rauzy/algorithme1/Prelude_BDT/Classic.con"(*,UriManager.uri_of_string "cic:/Coq/Logic/Classical_Prop/NNPP.con"*); -UriManager.uri_of_string "cic:/Coq/Reals/R_sqr/Rsqr_pos_lt.con"(*,UriManager.uri_of_string "cic:/Coq/Reals/RIneq/Rlt_0_sqr.con"*); -UriManager.uri_of_string "cic:/Rocq/THREE_GAP/Nat_compl/lt_minus2.con"(*,UriManager.uri_of_string "cic:/Coq/Reals/ArithProp/lt_minus_O_lt.con"*); -UriManager.uri_of_string "cic:/Coq/Reals/Rtrigo_def/sin_antisym.con"(*,UriManager.uri_of_string "cic:/Coq/Reals/Rtrigo/sin_neg.con"*); -UriManager.uri_of_string "cic:/Sophia-Antipolis/Functions_in_ZFC/Functions_in_ZFC/false_implies_everything.con"(*,UriManager.uri_of_string "cic:/Coq/Init/Logic/False_ind.con"*); -UriManager.uri_of_string "cic:/Coq/ring/Setoid_ring_normalize/index_eq_prop.con"(*,UriManager.uri_of_string "cic:/Coq/ring/Ring_normalize/index_eq_prop.con"*); -UriManager.uri_of_string "cic:/CoRN/algebra/Basics/le_pred.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Le/le_pred.con"*); -UriManager.uri_of_string "cic:/Lannion/continuations/FOUnify_cps/nat_complements/le_S_eqP.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Compare/le_le_S_eq.con"*); -UriManager.uri_of_string "cic:/Coq/Sorting/Permutation/permut_right.con"(*,UriManager.uri_of_string "cic:/Coq/Sorting/Permutation/permut_cons.con"*); -UriManager.uri_of_string "cic:/Eindhoven/POCKLINGTON/lemmas/Zlt_mult_l.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/Zorder/Zmult_lt_compat_l.con"*); -UriManager.uri_of_string "cic:/Coq/Reals/RIneq/Rplus_lt_0_compat.con"(*,UriManager.uri_of_string "cic:/Coq/Reals/DiscrR/Rplus_lt_pos.con"*); -UriManager.uri_of_string "cic:/Nijmegen/QArith/Zaux/Zpower_1_subproof.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/BinInt/Zmult_1_r.con"*); -UriManager.uri_of_string "cic:/CoRN/fta/KeyLemma/lem_1c.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Minus/le_minus.con"*); -UriManager.uri_of_string "cic:/Coq/omega/OmegaLemmas/OMEGA20.con"(*,UriManager.uri_of_string "cic:/Coq/omega/OmegaLemmas/OMEGA17.con"*); -UriManager.uri_of_string "cic:/Nijmegen/QArith/Zaux/pair_2.con"(*,UriManager.uri_of_string "cic:/Coq/Init/Datatypes/injective_projections.con"*); -UriManager.uri_of_string "cic:/Coq/Reals/Rlimit/Rlt_eps4_eps_subproof.con"(*,UriManager.uri_of_string "cic:/Coq/Reals/Rlimit/Rlt_eps2_eps_subproof.con"*); -UriManager.uri_of_string "cic:/CoRN/algebra/Basics/le_mult_right.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Mult/mult_le_compat_r.con"*); -UriManager.uri_of_string "cic:/Nijmegen/QArith/Zaux/Zle_lt_plus_plus.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/Zorder/Zplus_le_lt_compat.con"*); -UriManager.uri_of_string "cic:/Rocq/ARITH/Chinese/Nat_complements/lt_minus2.con"(*,UriManager.uri_of_string "cic:/Coq/Reals/ArithProp/lt_minus_O_lt.con"*); -UriManager.uri_of_string "cic:/Rocq/THREE_GAP/Nat_compl/not_gt_le.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Compare_dec/not_gt.con"*); -UriManager.uri_of_string "cic:/Rocq/ARITH/Chinese/Nat_complements/mult_commut.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Mult/mult_comm.con"*); -UriManager.uri_of_string "cic:/CoRN/algebra/Basics/lt_mult_right.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Mult/mult_lt_compat_r.con"*); -UriManager.uri_of_string "cic:/Rocq/ARITH/Chinese/Nat_complements/mult_neutr.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Mult/mult_1_l.con"*); -UriManager.uri_of_string "cic:/Nijmegen/QArith/Zaux/Zabs_neg.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/Zabs/Zabs_non_eq.con"*); -UriManager.uri_of_string "cic:/Lyon/FIRING-SQUAD/bib/plus_S.con"(*,UriManager.uri_of_string "cic:/Coq/Init/Peano/plus_Sn_m.con"*); -UriManager.uri_of_string "cic:/Nijmegen/QArith/Qhomographic_Qpositive_to_Qpositive/one_non_negative.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/Zorder/Zle_0_1.con"*); -UriManager.uri_of_string "cic:/Coq/fourier/Fourier_util/Rle_zero_1.con"(*,UriManager.uri_of_string "cic:/Coq/Reals/RIneq/Rle_0_1.con"*); -UriManager.uri_of_string "cic:/Coq/Logic/Diaconescu/proof_irrel.con"(*,UriManager.uri_of_string "cic:/Coq/Logic/Classical_Prop/proof_irrelevance.con"*); -UriManager.uri_of_string "cic:/Coq/Init/Logic/sym_equal.con"(*,UriManager.uri_of_string "cic:/Coq/Init/Logic/sym_eq.con"*); -UriManager.uri_of_string "cic:/Coq/IntMap/Mapiter/pair_sp.con"(*,UriManager.uri_of_string "cic:/Coq/Init/Datatypes/surjective_pairing.con"*); -UriManager.uri_of_string "cic:/Coq/Logic/ProofIrrelevance/proof_irrelevance_cci.con"(*,UriManager.uri_of_string "cic:/Coq/Logic/Classical_Prop/proof_irrelevance.con"*); -UriManager.uri_of_string "cic:/Suresnes/BDD/rauzy/algorithme1/Prelude_BDT/deMorgan_or_not.con"(*,UriManager.uri_of_string "cic:/Coq/Logic/Classical_Prop/not_and_or.con"*); -UriManager.uri_of_string "cic:/CoRN/model/structures/Zsec/Zplus_wd0.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/BinInt/Zplus_eq_compat.con"*); -UriManager.uri_of_string "cic:/Coq/ZArith/auxiliary/Zred_factor6.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/BinInt/Zplus_0_r_reverse.con"*); -UriManager.uri_of_string "cic:/Eindhoven/POCKLINGTON/lemmas/S_inj.con"(*,UriManager.uri_of_string "cic:/Coq/Init/Peano/eq_add_S.con"*); -UriManager.uri_of_string "cic:/Coq/ZArith/Wf_Z/Z_of_nat_complete.con"(*,UriManager.uri_of_string "cic:/Coq/Reals/RIneq/IZN.con"*); -UriManager.uri_of_string "cic:/Suresnes/BDD/rauzy/algorithme1/Prelude_BDT/Commutative_orb.con"(*,UriManager.uri_of_string "cic:/Coq/Bool/Bool/orb_comm.con"*); -UriManager.uri_of_string "cic:/Coq/Reals/PartSum/plus_sum.con"(*,UriManager.uri_of_string "cic:/Coq/Reals/Cauchy_prod/sum_plus.con"*); -UriManager.uri_of_string "cic:/Nijmegen/QArith/Qpositive/minus_le.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Minus/le_minus.con"*); -UriManager.uri_of_string "cic:/Lyon/FIRING-SQUAD/bib/plus_zero.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Plus/plus_0_r.con"*); -UriManager.uri_of_string "cic:/Sophia-Antipolis/Cours-de-Coq/ex1_auto/not_not_converse.con"(*,UriManager.uri_of_string "cic:/Coq/Logic/Classical_Prop/NNPP.con"*); -UriManager.uri_of_string "cic:/Suresnes/BDD/rauzy/algorithme1/Prelude_BDT/deMorgan_and_not.con"(*,UriManager.uri_of_string "cic:/Coq/Logic/Classical_Prop/not_or_and.con"*); -UriManager.uri_of_string "cic:/Suresnes/BDD/rauzy/algorithme1/Prelude_BDT/Commutative_andb.con"(*,UriManager.uri_of_string "cic:/Coq/Bool/Bool/andb_comm.con"*); -UriManager.uri_of_string "cic:/Sophia-Antipolis/MATHS/Z/Nat_complements/lt_minus2.con"(*,UriManager.uri_of_string "cic:/Coq/Reals/ArithProp/lt_minus_O_lt.con"*); -UriManager.uri_of_string "cic:/Suresnes/BDD/canonicite/Prelude0/Morgan_and_not.con"(*,UriManager.uri_of_string "cic:/Coq/Logic/Classical_Prop/not_or_and.con"*); -UriManager.uri_of_string "cic:/Coq/Logic/ClassicalFacts/TrueP.con"(*,UriManager.uri_of_string "cic:/Coq/Logic/ClassicalFacts/FalseP.con"*); -UriManager.uri_of_string "cic:/Nijmegen/QArith/Zaux/Zminus_eq.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/BinInt/Zminus_eq.con"*); -UriManager.uri_of_string "cic:/Sophia-Antipolis/Cours-de-Coq/ex1/not_not_converse.con"(*,UriManager.uri_of_string "cic:/Coq/Logic/Classical_Prop/NNPP.con"*); -UriManager.uri_of_string "cic:/Nijmegen/QArith/Zaux/pair_1.con"(*,UriManager.uri_of_string "cic:/Coq/Init/Datatypes/surjective_pairing.con"*); -UriManager.uri_of_string "cic:/Orsay/Maths/divide/Zabs_ind.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/Zabs/Zabs_ind.con"*); -UriManager.uri_of_string "cic:/CoRN/algebra/Basics/Zmult_minus_distr_r.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/BinInt/Zmult_minus_distr_l.con"*); -UriManager.uri_of_string "cic:/Coq/fourier/Fourier_util/Rfourier_eqLR_to_le.con"(*,UriManager.uri_of_string "cic:/Coq/Reals/RIneq/Req_le.con"*); -UriManager.uri_of_string "cic:/Rocq/TreeAutomata/bases/Sn_eq_Sm_n_eq_m.con"(*,UriManager.uri_of_string "cic:/Coq/Init/Peano/eq_add_S.con"*); -UriManager.uri_of_string "cic:/Coq/Init/Logic/trans_equal.con"(*,UriManager.uri_of_string "cic:/Coq/Init/Logic/trans_eq.con"*); -UriManager.uri_of_string "cic:/Coq/omega/OmegaLemmas/OMEGA2.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/Zorder/Zplus_le_0_compat.con"*); -UriManager.uri_of_string "cic:/Sophia-Antipolis/Bertrand/Raux/P_Rmin.con"(*,UriManager.uri_of_string "cic:/Coq/Reals/Rpower/P_Rmin.con"*); -UriManager.uri_of_string "cic:/Sophia-Antipolis/MATHS/Z/Nat_complements/mult_commut.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Mult/mult_comm.con"*); -UriManager.uri_of_string "cic:/Sophia-Antipolis/Huffman/Aux/le_minus.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Minus/le_minus.con"*); -UriManager.uri_of_string "cic:/Coq/Init/Peano/plus_O_n.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Plus/plus_0_l.con"*); -UriManager.uri_of_string "cic:/Coq/Logic/Berardi/inv2.con"(*,UriManager.uri_of_string "cic:/Coq/Logic/Berardi/AC.con"*); -UriManager.uri_of_string "cic:/Coq/Reals/SeqProp/not_Rlt.con"(*,UriManager.uri_of_string "cic:/Coq/Reals/RIneq/Rnot_lt_ge.con"*); -UriManager.uri_of_string "cic:/Nancy/FOUnify/nat_complements/le_S_eqP.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Compare/le_le_S_eq.con"*); -UriManager.uri_of_string "cic:/Rocq/TreeAutomata/bases/le_mult_l.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Mult/mult_le_compat_r.con"*); -UriManager.uri_of_string "cic:/Eindhoven/POCKLINGTON/natZ/isnat_mult.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/Zorder/Zmult_le_0_compat.con"*); -UriManager.uri_of_string "cic:/Coq/fourier/Fourier_util/Rfourier_eqRL_to_le.con"(*,UriManager.uri_of_string "cic:/Coq/Reals/RIneq/Req_le_sym.con"*); -UriManager.uri_of_string "cic:/Nijmegen/QArith/Zaux/Zabs_mult.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/Zabs/Zabs_Zmult.con"*); -UriManager.uri_of_string "cic:/Rocq/TreeAutomata/bases/plus_n_O.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Plus/plus_0_r.con"*); -UriManager.uri_of_string "cic:/Suresnes/BDD/rauzy/algorithme1/Prelude_BDT/excluded_middle.con"(*,UriManager.uri_of_string "cic:/Coq/Logic/Classical_Prop/classic.con"*); -UriManager.uri_of_string "cic:/Rocq/TreeAutomata/bases/le_mult_mult.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Mult/mult_le_compat.con"*); -UriManager.uri_of_string "cic:/Coq/Bool/Bool/Is_true_eq_true2.con"(*,UriManager.uri_of_string "cic:/Coq/Bool/Bool/Is_true_eq_left.con"*); -UriManager.uri_of_string "cic:/Eindhoven/POCKLINGTON/natZ/isnat_plus.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/Zorder/Zplus_le_0_compat.con"*); -UriManager.uri_of_string "cic:/Eindhoven/POCKLINGTON/lemmas/lt_plus_plus.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Plus/plus_lt_compat.con"*); -UriManager.uri_of_string "cic:/Rocq/TreeAutomata/bases/le_mult_r.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Mult/mult_le_compat_l.con"*); -UriManager.uri_of_string "cic:/Sophia-Antipolis/Functions_in_ZFC/Functions_in_ZFC/excluded_middle.con"(*,UriManager.uri_of_string "cic:/Coq/Logic/Classical_Prop/NNPP.con"*); -UriManager.uri_of_string "cic:/Sophia-Antipolis/Algebra/Z_group/ax3.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/Zorder/Zgt_pos_0.con"*); -UriManager.uri_of_string "cic:/Nijmegen/QArith/Zaux/Zabs_plus.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/Zabs/Zabs_triangle.con"*); -UriManager.uri_of_string "cic:/Sophia-Antipolis/Buchberger/Buch/Sdep.con"(*,UriManager.uri_of_string "cic:/Coq/Init/Datatypes/prod_ind.con"*); -UriManager.uri_of_string "cic:/Coq/Reals/PartSum/Rsum_abs.con"(*,UriManager.uri_of_string "cic:/Coq/Reals/PartSum/Rabs_triang_gen.con"*); -UriManager.uri_of_string "cic:/Cachan/SMC/mu/minus_n_m_le_n.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Minus/le_minus.con"*); -UriManager.uri_of_string "cic:/Marseille/GC/lib_arith/lib_S_pred/eqnm_eqSnSm.con"(*,UriManager.uri_of_string "cic:/Coq/Init/Peano/eq_S.con"*); -UriManager.uri_of_string "cic:/Nijmegen/QArith/Zaux/Zpower_1_subproof_subproof.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/BinInt/Zmult_1_r.con"*); -UriManager.uri_of_string "cic:/Eindhoven/POCKLINGTON/lemmas/predminus1.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Minus/pred_of_minus.con"*); -UriManager.uri_of_string "cic:/Sophia-Antipolis/Bertrand/Raux/Rpower_pow.con"(*,UriManager.uri_of_string "cic:/Coq/Reals/Rpower/Rpower_pow.con"*); -UriManager.uri_of_string "cic:/Lyon/FIRING-SQUAD/bib/lt_plus_plus.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Plus/plus_lt_compat.con"*); -UriManager.uri_of_string "cic:/Eindhoven/POCKLINGTON/lemmas/Zlt_neq.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/Zorder/Zlt_not_eq.con"*); -UriManager.uri_of_string "cic:/Coq/Arith/Lt/nat_total_order.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Compare_dec/not_eq.con"*); -UriManager.uri_of_string "cic:/Rocq/TreeAutomata/bases/plus_O_l.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Plus/plus_0_r.con"*); -UriManager.uri_of_string "cic:/Coq/Logic/ClassicalFacts/boolP.ind#xpointer(1/1/2)"(*,UriManager.uri_of_string "cic:/Coq/Logic/ClassicalFacts/boolP.ind#xpointer(1/1/1)"*); -UriManager.uri_of_string "cic:/Nijmegen/QArith/Zaux/Zmult_pos_pos.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/Zorder/Zmult_lt_O_compat.con"*); -UriManager.uri_of_string "cic:/Nijmegen/QArith/Zaux/Zlt_plus_plus.con"(*,UriManager.uri_of_string "cic:/Coq/ZArith/Zorder/Zplus_lt_compat.con"*); -UriManager.uri_of_string "cic:/Coq/Logic/Diaconescu/pred_ext_and_rel_choice_imp_EM.con"(*,UriManager.uri_of_string "cic:/Coq/Logic/Classical_Prop/classic.con"*); -UriManager.uri_of_string "cic:/Sophia-Antipolis/Rsa/MiscRsa/eq_plus.con"(*,UriManager.uri_of_string "cic:/Coq/Arith/Plus/plus_reg_l.con"*) -] -;; - -let equiv_table = Hashtbl.create 503 -;; - -let _ = List.iter (fun a -> Hashtbl.add equiv_table a "") equivalent_objects -;; - -let not_a_duplicate u = - try - ignore(Hashtbl.find equiv_table u); false - with - Not_found -> true -;; diff --git a/helm/ocaml/tactics/hashtbl_equiv.mli b/helm/ocaml/tactics/hashtbl_equiv.mli deleted file mode 100644 index d2608b862..000000000 --- a/helm/ocaml/tactics/hashtbl_equiv.mli +++ /dev/null @@ -1,38 +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/. - *) - -(*********************************************************************) -(* *) -(* PROJECT HELM *) -(* *) -(* Andrea Asperti *) -(* 8/09/2004 *) -(* *) -(* *) -(*********************************************************************) - - -val not_a_duplicate : UriManager.uri -> bool - diff --git a/helm/ocaml/tactics/history.ml b/helm/ocaml/tactics/history.ml deleted file mode 100644 index 3a966b56f..000000000 --- a/helm/ocaml/tactics/history.ml +++ /dev/null @@ -1,84 +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 History_failure - -class ['a] history size = - let unsome = function Some x -> x | None -> assert false in - object (self) - - val history_data = Array.create (size + 1) None - - val mutable history_hd = 0 (* rightmost index *) - val mutable history_cur = 0 (* current index *) - val mutable history_tl = 0 (* leftmost index *) - - method private is_empty = history_data.(history_cur) = None - - method push (status: 'a) = - if self#is_empty then - history_data.(history_cur) <- Some status - else begin - history_cur <- (history_cur + 1) mod size; - history_data.(history_cur) <- Some status; - history_hd <- history_cur; (* throw away fake future line *) - if history_hd = history_tl then (* tail overwritten *) - history_tl <- (history_tl + 1) mod size - end - - method undo = function - | 0 -> unsome history_data.(history_cur) - | steps when steps > 0 -> - let max_undo_steps = - if history_cur >= history_tl then - history_cur - history_tl - else - history_cur + (size - history_tl) - in - if steps > max_undo_steps then - raise History_failure; - history_cur <- history_cur - steps; - if history_cur < 0 then (* fix underflow *) - history_cur <- size + history_cur; - unsome history_data.(history_cur) - | steps (* when steps > 0 *) -> self#redo ~-steps - - method redo = function - | 0 -> unsome history_data.(history_cur) - | steps when steps > 0 -> - let max_redo_steps = - if history_hd >= history_cur then - history_hd - history_cur - else - history_hd + (size - history_cur) - in - if steps > max_redo_steps then - raise History_failure; - history_cur <- (history_cur + steps) mod size; - unsome history_data.(history_cur) - | steps (* when steps > 0 *) -> self#undo ~-steps - - end - diff --git a/helm/ocaml/tactics/history.mli b/helm/ocaml/tactics/history.mli deleted file mode 100644 index 86bad463f..000000000 --- a/helm/ocaml/tactics/history.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 History_failure - -class ['a] history : - int -> - object - method push : 'a -> unit - method redo : int -> 'a - method undo : int -> 'a - end - diff --git a/helm/ocaml/tactics/introductionTactics.ml b/helm/ocaml/tactics/introductionTactics.ml deleted file mode 100644 index 6bf8ab6c1..000000000 --- a/helm/ocaml/tactics/introductionTactics.ml +++ /dev/null @@ -1,47 +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 fake_constructor_tac ~n (proof, goal) = - let module C = Cic in - let module R = CicReduction in - let (_,metasenv,_,_) = proof in - let metano,context,ty = CicUtil.lookup_meta goal metasenv in - match (R.whd context ty) with - (C.MutInd (uri, typeno, exp_named_subst)) - | (C.Appl ((C.MutInd (uri, typeno, exp_named_subst))::_)) -> - ProofEngineTypes.apply_tactic ( - PrimitiveTactics.apply_tac - ~term: (C.MutConstruct (uri, typeno, n, exp_named_subst))) - (proof, goal) - | _ -> raise (ProofEngineTypes.Fail (lazy "Constructor: failed")) -;; - -let constructor_tac ~n = ProofEngineTypes.mk_tactic (fake_constructor_tac ~n) - -let exists_tac = ProofEngineTypes.mk_tactic (fake_constructor_tac ~n:1) ;; -let split_tac = ProofEngineTypes.mk_tactic (fake_constructor_tac ~n:1) ;; -let left_tac = ProofEngineTypes.mk_tactic (fake_constructor_tac ~n:1) ;; -let right_tac = ProofEngineTypes.mk_tactic (fake_constructor_tac ~n:2) ;; - diff --git a/helm/ocaml/tactics/introductionTactics.mli b/helm/ocaml/tactics/introductionTactics.mli deleted file mode 100644 index c3a12720b..000000000 --- a/helm/ocaml/tactics/introductionTactics.mli +++ /dev/null @@ -1,31 +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/. - *) - -val constructor_tac: n:int -> ProofEngineTypes.tactic - -val exists_tac: ProofEngineTypes.tactic -val split_tac: ProofEngineTypes.tactic -val left_tac: ProofEngineTypes.tactic -val right_tac: ProofEngineTypes.tactic diff --git a/helm/ocaml/tactics/metadataQuery.ml b/helm/ocaml/tactics/metadataQuery.ml deleted file mode 100644 index eaa146ed1..000000000 --- a/helm/ocaml/tactics/metadataQuery.ml +++ /dev/null @@ -1,633 +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 - -module Constr = MetadataConstraints -module PET = ProofEngineTypes - -exception Goal_is_not_an_equation - -let debug = false -let debug_print s = if debug then prerr_endline (Lazy.force s) - - (** maps a shell like pattern (which uses '*' and '?') to a sql pattern for - * the "like" operator (which uses '%' and '_'). Does not support escaping. *) -let sqlpat_of_shellglob = - let star_RE, qmark_RE, percent_RE, uscore_RE = - Pcre.regexp "\\*", Pcre.regexp "\\?", Pcre.regexp "%", Pcre.regexp "_" - in - fun shellglob -> - Pcre.replace ~rex:star_RE ~templ:"%" - (Pcre.replace ~rex:qmark_RE ~templ:"_" - (Pcre.replace ~rex:percent_RE ~templ:"\\%" - (Pcre.replace ~rex:uscore_RE ~templ:"\\_" - shellglob))) - -let nonvar uri = not (UriManager.uri_is_var uri) - -let locate ~(dbd:HMysql.dbd) ?(vars = false) pat = - let sql_pat = sqlpat_of_shellglob pat in - let query = - sprintf ("SELECT source FROM %s WHERE value LIKE \"%s\" UNION "^^ - "SELECT source FROM %s WHERE value LIKE \"%s\"") - (MetadataTypes.name_tbl ()) sql_pat - MetadataTypes.library_name_tbl sql_pat - in - let result = HMysql.exec dbd query in - List.filter nonvar - (HMysql.map result - (fun cols -> match cols.(0) with Some s -> UriManager.uri_of_string s | _ -> assert false)) - -let match_term ~(dbd:HMysql.dbd) ty = -(* debug_print (lazy (CicPp.ppterm ty)); *) - let metadata = MetadataExtractor.compute ~body:None ~ty in - let constants_no = - MetadataConstraints.UriManagerSet.cardinal (MetadataConstraints.constants_of ty) - in - let full_card, diff = - if CicUtil.is_meta_closed ty then - Some (MetadataConstraints.Eq constants_no), None - else - let diff_no = - let (hyp_constants, concl_constants) = - (* collect different constants in hypotheses and conclusions *) - List.fold_left - (fun ((hyp, concl) as acc) metadata -> - match (metadata: MetadataTypes.metadata) with - | `Sort _ | `Rel _ -> acc - | `Obj (uri, `InConclusion) | `Obj (uri, `MainConclusion _) - when not (List.mem uri concl) -> (hyp, uri :: concl) - | `Obj (uri, `InHypothesis) | `Obj (uri, `MainHypothesis _) - when not (List.mem uri hyp) -> (uri :: hyp, concl) - | `Obj _ -> acc) - ([], []) - metadata - in - List.length hyp_constants - List.length concl_constants - in - let (concl_metas, hyp_metas) = MetadataExtractor.compute_metas ty in - let diff = - if MetadataExtractor.IntSet.equal concl_metas hyp_metas then - Some (MetadataConstraints.Eq diff_no) - else if MetadataExtractor.IntSet.subset concl_metas hyp_metas then - Some (MetadataConstraints.Gt (diff_no - 1)) - else if MetadataExtractor.IntSet.subset hyp_metas concl_metas then - Some (MetadataConstraints.Lt (diff_no + 1)) - else - None - in - None, diff - in - let constraints = List.map MetadataTypes.constr_of_metadata metadata in - Constr.at_least ~dbd ?full_card ?diff constraints - -let ( ** ) x y = int_of_float ((float_of_int x) ** (float_of_int y)) - -let signature_of_hypothesis context = - List.fold_left - (fun set hyp -> - match hyp with - | None -> set - | Some (_, Cic.Decl t) - | Some (_, Cic.Def (t, _)) -> - Constr.UriManagerSet.union set (Constr.constants_of t)) - Constr.UriManagerSet.empty context - -let intersect uris siguris = - let set1 = List.fold_right Constr.UriManagerSet.add uris Constr.UriManagerSet.empty in - let set2 = - List.fold_right Constr.UriManagerSet.add siguris Constr.UriManagerSet.empty - in - let inter = Constr.UriManagerSet.inter set1 set2 in - List.filter (fun s -> Constr.UriManagerSet.mem s inter) uris - -(* Profiling code -let at_most = - let profiler = CicUtil.profile "at_most" in - fun ~dbd ~where uri -> profiler.profile (Constr.at_most ~dbd ~where) uri - -let sigmatch = - let profiler = CicUtil.profile "sigmatch" in - fun ~dbd ~facts ~where signature -> - profiler.profile (MetadataConstraints.sigmatch ~dbd ~facts ~where) signature -*) let at_most = Constr.at_most let sigmatch = MetadataConstraints.sigmatch - -let filter_uris_forward ~dbd (main, constants) uris = - let main_uris = - match main with - | None -> [] - | Some (main, types) -> main :: types - in - let full_signature = - List.fold_right Constr.UriManagerSet.add main_uris constants - in - List.filter (at_most ~dbd ~where:`Statement full_signature) uris - -let filter_uris_backward ~dbd ~facts signature uris = - let siguris = - List.map snd - (sigmatch ~dbd ~facts ~where:`Statement signature) - in - intersect uris siguris - -let compare_goal_list proof goal1 goal2 = - let _,metasenv,_,_ = proof in - let (_, ey1, ty1) = CicUtil.lookup_meta goal1 metasenv in - let (_, ey2, ty2) = CicUtil.lookup_meta goal2 metasenv in - let ty_sort1,_ = - CicTypeChecker.type_of_aux' metasenv ey1 ty1 CicUniv.empty_ugraph - in - let ty_sort2,_ = - CicTypeChecker.type_of_aux' metasenv ey2 ty2 CicUniv.empty_ugraph - in - let prop1 = - let b,_ = - CicReduction.are_convertible - ey1 (Cic.Sort Cic.Prop) ty_sort1 CicUniv.empty_ugraph - in - if b then 0 - else 1 - in - let prop2 = - let b,_ = - CicReduction.are_convertible - ey2 (Cic.Sort Cic.Prop) ty_sort2 CicUniv.empty_ugraph - in - if b then 0 - else 1 - in - prop1 - prop2 - -(* experimental_hint is a version of hint for experimental - purposes. It uses auto_tac_verbose instead of auto tac. - Auto_tac verbose also returns a substitution - for the moment - as a function from cic to cic, to be changed into an association - list in the future -. This substitution is used to build a - hash table of the inspected goals with their associated proofs. - The cose is a cut and paste of the previous one: at the end - of the experimentation we shall make a choice. *) - -let close_with_types s metasenv context = - Constr.UriManagerSet.fold - (fun e bag -> - let t = CicUtil.term_of_uri e in - let ty, _ = - CicTypeChecker.type_of_aux' metasenv context t CicUniv.empty_ugraph - in - Constr.UriManagerSet.union bag (Constr.constants_of ty)) - s s - -let close_with_constructors s metasenv context = - Constr.UriManagerSet.fold - (fun e bag -> - let t = CicUtil.term_of_uri e in - match t with - Cic.MutInd (uri,_,_) - | Cic.MutConstruct (uri,_,_,_) -> - (match fst (CicEnvironment.get_obj CicUniv.empty_ugraph uri) with - Cic.InductiveDefinition(tl,_,_,_) -> - snd - (List.fold_left - (fun (i,s) (_,_,_,cl) -> - let _,s = - List.fold_left - (fun (j,s) _ -> - let curi = UriManager.uri_of_uriref uri i (Some j) in - j+1,Constr.UriManagerSet.add curi s) (1,s) cl in - (i+1,s)) (0,bag) tl) - | _ -> assert false) - | _ -> bag) - s s - -(* Profiling code -let apply_tac_verbose = - let profiler = CicUtil.profile "apply_tac_verbose" in - fun ~term status -> profiler.profile (PrimitiveTactics.apply_tac_verbose ~term) status - -let sigmatch = - let profiler = CicUtil.profile "sigmatch" in - fun ~dbd ~facts ?(where=`Conclusion) signature -> profiler.profile (Constr.sigmatch ~dbd ~facts ~where) signature - -let cmatch' = - let profiler = CicUtil.profile "cmatch'" in - fun ~dbd ~facts signature -> profiler.profile (Constr.cmatch' ~dbd ~facts) signature -*) let apply_tac_verbose = PrimitiveTactics.apply_tac_verbose let cmatch' = Constr.cmatch' - -let signature_of_goal ~(dbd:HMysql.dbd) ((proof, goal) as status) = - let (_, metasenv, _, _) = proof in - let (_, context, ty) = CicUtil.lookup_meta goal metasenv in - let main, sig_constants = Constr.signature_of ty in - let set = signature_of_hypothesis context in - let set = - match main with - None -> set - | Some (main,l) -> - List.fold_right Constr.UriManagerSet.add (main::l) set in - let set = Constr.UriManagerSet.union set sig_constants in - let all_constants_closed = close_with_types set metasenv context in - let uris = - sigmatch ~dbd ~facts:false ~where:`Statement (None,all_constants_closed) in - let uris = List.filter nonvar (List.map snd uris) in - let uris = List.filter Hashtbl_equiv.not_a_duplicate uris in - uris - -let equations_for_goal ~(dbd:HMysql.dbd) ((proof, goal) as status) = - let to_string set = - "{ " ^ - (String.concat ", " - (Constr.UriManagerSet.fold - (fun u l -> (UriManager.string_of_uri u)::l) set [])) - ^ " }" - in - let (_, metasenv, _, _) = proof in - let (_, context, ty) = CicUtil.lookup_meta goal metasenv in - let main, sig_constants = Constr.signature_of ty in -(* Printf.printf "\nsig_constants: %s\n\n" (to_string sig_constants); *) -(* match main with *) -(* None -> raise Goal_is_not_an_equation *) -(* | Some (m,l) -> *) - let m, l = - let eq_URI = - let us = UriManager.string_of_uri (LibraryObjects.eq_URI ()) in - UriManager.uri_of_string (us ^ "#xpointer(1/1)") - in - match main with - | None -> eq_URI, [] - | Some (m, l) when UriManager.eq m eq_URI -> m, l - | Some (m, l) -> eq_URI, [] - in - Printf.printf "\nSome (m, l): %s, [%s]\n\n" - (UriManager.string_of_uri m) - (String.concat "; " (List.map UriManager.string_of_uri l)); - (* if m == UriManager.uri_of_string HelmLibraryObjects.Logic.eq_XURI then ( *) - let set = signature_of_hypothesis context in - (* Printf.printf "\nsignature_of_hypothesis: %s\n\n" (to_string set); *) - let set = Constr.UriManagerSet.union set sig_constants in - let set = close_with_types set metasenv context in - (* Printf.printf "\ndopo close_with_types: %s\n\n" (to_string set); *) - let set = close_with_constructors set metasenv context in - (* Printf.printf "\ndopo close_with_constructors: %s\n\n" (to_string set); *) - let set = List.fold_right Constr.UriManagerSet.remove (m::l) set in - let uris = - sigmatch ~dbd ~facts:false ~where:`Statement (main,set) in - let uris = List.filter nonvar (List.map snd uris) in - let uris = List.filter Hashtbl_equiv.not_a_duplicate uris in - uris - (* ) *) - (* else raise Goal_is_not_an_equation *) - -let experimental_hint - ~(dbd:HMysql.dbd) ?(facts=false) ?signature ((proof, goal) as status) = - let (_, metasenv, _, _) = proof in - let (_, context, ty) = CicUtil.lookup_meta goal metasenv in - let (uris, (main, sig_constants)) = - match signature with - | Some signature -> - (sigmatch ~dbd ~facts signature, signature) - | None -> - (cmatch' ~dbd ~facts ty, Constr.signature_of ty) - in - let uris = List.filter nonvar (List.map snd uris) in - let uris = List.filter Hashtbl_equiv.not_a_duplicate uris in - let types_constants = - match main with - | None -> Constr.UriManagerSet.empty - | Some (main, types) -> - List.fold_right Constr.UriManagerSet.add (main :: types) - Constr.UriManagerSet.empty - in - let all_constants = - let hyp_and_sug = - Constr.UriManagerSet.union - (signature_of_hypothesis context) - sig_constants - in - let main = - match main with - | None -> Constr.UriManagerSet.empty - | Some (main,_) -> - let ty, _ = - CicTypeChecker.type_of_aux' - metasenv context (CicUtil.term_of_uri main) CicUniv.empty_ugraph - in - Constr.constants_of ty - in - Constr.UriManagerSet.union main hyp_and_sug - in -(* Constr.UriManagerSet.iter debug_print hyp_constants; *) - let all_constants_closed = close_with_types all_constants metasenv context in - let other_constants = - Constr.UriManagerSet.diff all_constants_closed types_constants - in - debug_print (lazy "all_constants_closed"); - if debug then Constr.UriManagerSet.iter (fun s -> debug_print (lazy (UriManager.string_of_uri s))) all_constants_closed; - debug_print (lazy "other_constants"); - if debug then Constr.UriManagerSet.iter (fun s -> debug_print (lazy (UriManager.string_of_uri s))) other_constants; - let uris = - let pow = 2 ** (Constr.UriManagerSet.cardinal other_constants) in - if ((List.length uris < pow) or (pow <= 0)) - then begin - debug_print (lazy "MetadataQuery: large sig, falling back to old method"); - filter_uris_forward ~dbd (main, other_constants) uris - end else - filter_uris_backward ~dbd ~facts (main, other_constants) uris - in - let rec aux = function - | [] -> [] - | uri :: tl -> - (let status' = - try - let (subst,(proof, goal_list)) = - (* debug_print (lazy ("STO APPLICANDO" ^ uri)); *) - apply_tac_verbose - ~term:(CicUtil.term_of_uri uri) - status - in - let goal_list = - List.stable_sort (compare_goal_list proof) goal_list - in - Some (uri, (subst,(proof, goal_list))) - with ProofEngineTypes.Fail _ -> None - in - match status' with - | None -> aux tl - | Some status' -> status' :: aux tl) - in - List.stable_sort - (fun (_,(_, (_, goals1))) (_,(_, (_, goals2))) -> - Pervasives.compare (List.length goals1) (List.length goals2)) - (aux uris) - -let new_experimental_hint - ~(dbd:HMysql.dbd) ?(facts=false) ?signature ~universe - ((proof, goal) as status) -= - let (_, metasenv, _, _) = proof in - let (_, context, ty) = CicUtil.lookup_meta goal metasenv in - let (uris, (main, sig_constants)) = - match signature with - | Some signature -> - (sigmatch ~dbd ~facts signature, signature) - | None -> - (cmatch' ~dbd ~facts ty, Constr.signature_of ty) in - let universe = - List.fold_left - (fun res u -> Constr.UriManagerSet.add u res) - Constr.UriManagerSet.empty universe in - let uris = - List.fold_left - (fun res (_,u) -> Constr.UriManagerSet.add u res) - Constr.UriManagerSet.empty uris in - let uris = Constr.UriManagerSet.inter uris universe in - let uris = Constr.UriManagerSet.elements uris in - let rec aux = function - | [] -> [] - | uri :: tl -> - (let status' = - try - let (subst,(proof, goal_list)) = - (* debug_print (lazy ("STO APPLICANDO" ^ uri)); *) - apply_tac_verbose - ~term:(CicUtil.term_of_uri uri) - status - in - let goal_list = - List.stable_sort (compare_goal_list proof) goal_list - in - Some (uri, (subst,(proof, goal_list))) - with ProofEngineTypes.Fail _ -> None - in - match status' with - | None -> aux tl - | Some status' -> status' :: aux tl) - in - List.stable_sort - (fun (_,(_, (_, goals1))) (_,(_, (_, goals2))) -> - Pervasives.compare (List.length goals1) (List.length goals2)) - (aux uris) - -let elim ~dbd uri = - let constraints = - [`Rel [`MainConclusion None]; - `Sort (Cic.Prop,[`MainHypothesis (Some (MetadataTypes.Ge 1))]); - `Obj (uri,[`MainHypothesis (Some (MetadataTypes.Eq 0))]); - `Obj (uri,[`InHypothesis]); - ] - in - MetadataConstraints.at_least ~rating:`Hits ~dbd constraints - - -let fill_with_dummy_constants t = - let rec aux i types = - function - Cic.Lambda (n,s,t) -> - let dummy_uri = - UriManager.uri_of_string ("cic:/dummy_"^(string_of_int i)^".con") in - (aux (i+1) (s::types) - (CicSubstitution.subst (Cic.Const(dummy_uri,[])) t)) - | t -> t,types - in - let t,types = aux 0 [] t in - t, List.rev types - -let instance ~dbd t = - let t',types = fill_with_dummy_constants t in - let metadata = MetadataExtractor.compute ~body:None ~ty:t' in -(* List.iter - (fun x -> - debug_print - (lazy (MetadataPp.pp_constr (MetadataTypes.constr_of_metadata x)))) - metadata; *) - let no_concl = MetadataDb.count_distinct `Conclusion metadata in - let no_hyp = MetadataDb.count_distinct `Hypothesis metadata in - let no_full = MetadataDb.count_distinct `Statement metadata in - let is_dummy = function - | `Obj(s, _) -> (String.sub (UriManager.string_of_uri s) 0 10) <> "cic:/dummy" - | _ -> true - in - let rec look_for_dummy_main = function - | [] -> None - | `Obj(s,`MainConclusion (Some (MetadataTypes.Eq d)))::_ - when (String.sub (UriManager.string_of_uri s) 0 10 = "cic:/dummy") -> - let s = UriManager.string_of_uri s in - let len = String.length s in - let dummy_index = int_of_string (String.sub s 11 (len-15)) in - let dummy_type = List.nth types dummy_index in - Some (d,dummy_type) - | _::l -> look_for_dummy_main l - in - match (look_for_dummy_main metadata) with - | None-> -(* debug_print (lazy "Caso None"); *) - (* no dummy in main position *) - let metadata = List.filter is_dummy metadata in - let constraints = List.map MetadataTypes.constr_of_metadata metadata in - let concl_card = Some (MetadataConstraints.Eq no_concl) in - let full_card = Some (MetadataConstraints.Eq no_full) in - let diff = Some (MetadataConstraints.Eq (no_hyp - no_concl)) in - Constr.at_least ~dbd ?concl_card ?full_card ?diff constraints - | Some (depth, dummy_type) -> -(* debug_print - (lazy (sprintf "Caso Some %d %s" depth (CicPp.ppterm dummy_type))); *) - (* a dummy in main position *) - let metadata_for_dummy_type = - MetadataExtractor.compute ~body:None ~ty:dummy_type in - (* Let us skip this for the moment - let main_of_dummy_type = - look_for_dummy_main metadata_for_dummy_type in *) - let metadata = List.filter is_dummy metadata in - let constraints = List.map MetadataTypes.constr_of_metadata metadata in - let metadata_for_dummy_type = - List.filter is_dummy metadata_for_dummy_type in - let metadata_for_dummy_type, depth' = - (* depth' = the depth of the A -> A -> Prop *) - List.fold_left (fun (acc,dep) c -> - match c with - | `Sort (s,`MainConclusion (Some (MetadataTypes.Eq i))) -> - (`Sort (s,`MainConclusion (Some (MetadataTypes.Ge i))))::acc, i - | `Obj (s,`MainConclusion (Some (MetadataTypes.Eq i))) -> - (`Obj (s,`MainConclusion (Some (MetadataTypes.Ge i))))::acc, i - | `Rel (`MainConclusion (Some (MetadataTypes.Eq i))) -> - (`Rel (`MainConclusion (Some (MetadataTypes.Ge i))))::acc, i - | _ -> (c::acc,dep)) ([],0) metadata_for_dummy_type - in - let constraints_for_dummy_type = - List.map MetadataTypes.constr_of_metadata metadata_for_dummy_type in - (* start with the dummy constant in main conlusion *) - let from = ["refObj as table0"] in - let where = - [sprintf "table0.h_position = \"%s\"" MetadataTypes.mainconcl_pos; - sprintf "table0.h_depth >= %d" depth] in - let (n,from,where) = - List.fold_left - (MetadataConstraints.add_constraint ~start:2) - (2,from,where) constraints in - let concl_card = Some (MetadataConstraints.Eq no_concl) in - let full_card = Some (MetadataConstraints.Eq no_full) in - let diff = Some (MetadataConstraints.Eq (no_hyp - no_concl)) in - let (n,from,where) = - MetadataConstraints.add_all_constr - (n,from,where) concl_card full_card diff in - (* join with the constraints over the type of the constant *) - let where = - (sprintf "table0.h_occurrence = table%d.source" n)::where in - let where = - sprintf "table0.h_depth - table%d.h_depth = %d" - n (depth - depth')::where - in - let (m,from,where) = - List.fold_left - (MetadataConstraints.add_constraint ~start:n) - (n,from,where) constraints_for_dummy_type in - Constr.exec ~dbd (m,from,where) - -(* fwd_simpl ****************************************************************) - -let rec map_filter f n = function - | [] -> [] - | hd :: tl -> - match f n hd with - | None -> map_filter f (succ n) tl - | Some hd -> hd :: map_filter f (succ n) tl - -let get_uri t = - let aux = function - | Cic.Appl (hd :: tl) -> Some (CicUtil.uri_of_term hd, tl) - | hd -> Some (CicUtil.uri_of_term hd, []) - in - try aux t with - | Invalid_argument "uri_of_term" -> None - -let get_metadata t = - let f n t = - match get_uri t with - | None -> None - | Some (uri, _) -> Some (n, uri) - in - match get_uri t with - | None -> None - | Some (uri, args) -> Some (uri, map_filter f 1 args) - -let debug_metadata = function - | None -> () - | Some (outer, inners) -> - let f (n, uri) = Printf.eprintf "%s: %i %s\n" "fwd" n (UriManager.string_of_uri uri) in - Printf.eprintf "\n%s: %s\n" "fwd" (UriManager.string_of_uri outer); - List.iter f inners; prerr_newline () - -let fwd_simpl ~dbd t = - let map inners row = - match row.(0), row.(1), row.(2) with - | Some source, Some inner, Some index -> - source, - List.mem - (int_of_string index, (UriManager.uri_of_string inner)) inners - | _ -> "", false - in - let rec rank ranks (source, ok) = - match ranks, ok with - | [], false -> [source, 0] - | [], true -> [source, 1] - | (uri, i) :: tl, false when uri = source -> (uri, 0) :: tl - | (uri, 0) :: tl, true when uri = source -> (uri, 0) :: tl - | (uri, i) :: tl, true when uri = source -> (uri, succ i) :: tl - | hd :: tl, _ -> hd :: rank tl (source, ok) - in - let compare (_, x) (_, y) = compare x y in - let filter n (uri, rank) = - if rank > 0 then Some (UriManager.uri_of_string uri) else None - in - let metadata = get_metadata t in debug_metadata metadata; - match metadata with - | None -> [] - | Some (outer, inners) -> - let select = "source, h_inner, h_index" in - let from = "genLemma" in - let where = - Printf.sprintf "h_outer = \"%s\"" - (HMysql.escape (UriManager.string_of_uri outer)) in - let query = Printf.sprintf "SELECT %s FROM %s WHERE %s" select from where in - let result = HMysql.exec dbd query in - let lemmas = HMysql.map ~f:(map inners) result in - let ranked = List.fold_left rank [] lemmas in - let ordered = List.rev (List.fast_sort compare ranked) in - map_filter filter 0 ordered - -(* get_decomposables ********************************************************) - -let decomposables ~dbd = - let map row = match row.(0) with - | None -> None - | Some str -> - match CicUtil.term_of_uri (UriManager.uri_of_string str) with - | Cic.MutInd (uri, typeno, _) -> Some (uri, typeno) - | _ -> - raise (UriManager.IllFormedUri str) - in - let select, from = "source", "decomposables" in - let query = Printf.sprintf "SELECT %s FROM %s" select from in - let decomposables = HMysql.map ~f:map (HMysql.exec dbd query) in - map_filter (fun _ x -> x) 0 decomposables diff --git a/helm/ocaml/tactics/metadataQuery.mli b/helm/ocaml/tactics/metadataQuery.mli deleted file mode 100644 index 747844226..000000000 --- a/helm/ocaml/tactics/metadataQuery.mli +++ /dev/null @@ -1,69 +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 vars if set variables (".var" URIs) are considered. Defaults to - * false - * @param pat shell like pattern matching over object names, a string where "*" - * is interpreted as 0 or more characters and "?" as exactly one character *) - -val signature_of_goal: - dbd:HMysql.dbd -> ProofEngineTypes.status -> UriManager.uri list - -val equations_for_goal: - dbd:HMysql.dbd -> ProofEngineTypes.status -> UriManager.uri list - -val locate: - dbd:HMysql.dbd -> - ?vars:bool -> string -> UriManager.uri list - -val experimental_hint: - dbd:HMysql.dbd -> - ?facts:bool -> - ?signature:MetadataConstraints.term_signature -> - ProofEngineTypes.status -> - (UriManager.uri * - ((Cic.term -> Cic.term) * - (ProofEngineTypes.proof * ProofEngineTypes.goal list))) list - -val new_experimental_hint: - dbd:HMysql.dbd -> - ?facts:bool -> - ?signature:MetadataConstraints.term_signature -> - universe:UriManager.uri list -> - ProofEngineTypes.status -> - (UriManager.uri * - ((Cic.term -> Cic.term) * - (ProofEngineTypes.proof * ProofEngineTypes.goal list))) list - -val match_term: dbd:HMysql.dbd -> Cic.term -> UriManager.uri list - - (** @param string is an uri *) -val elim: dbd:HMysql.dbd -> UriManager.uri -> UriManager.uri list - -val instance: dbd:HMysql.dbd -> Cic.term -> UriManager.uri list - -val fwd_simpl: dbd:HMysql.dbd -> Cic.term -> UriManager.uri list - -val decomposables: dbd:HMysql.dbd -> (UriManager.uri * int) list diff --git a/helm/ocaml/tactics/negationTactics.ml b/helm/ocaml/tactics/negationTactics.ml deleted file mode 100644 index 8f05ae436..000000000 --- a/helm/ocaml/tactics/negationTactics.ml +++ /dev/null @@ -1,86 +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 absurd_tac ~term = - let absurd_tac ~term status = - let (proof, goal) = status in - let module C = Cic in - let module U = UriManager in - let module P = PrimitiveTactics in - let _,metasenv,_,_ = proof in - let _,context,ty = CicUtil.lookup_meta goal metasenv in - let ty_term,_ = - CicTypeChecker.type_of_aux' metasenv context term CicUniv.empty_ugraph in - if (ty_term = (C.Sort C.Prop)) (* ma questo controllo serve?? *) - then ProofEngineTypes.apply_tactic - (P.apply_tac - ~term:( - C.Appl [(C.Const (LibraryObjects.absurd_URI (), [] )) ; - term ; ty]) - ) - status - else raise (ProofEngineTypes.Fail (lazy "Absurd: Not a Proposition")) - in - ProofEngineTypes.mk_tactic (absurd_tac ~term) -;; - -(* FG: METTERE I NOMI ANCHE QUI? CSC: in teoria si', per la intros*) -let contradiction_tac = - let contradiction_tac status = - let module C = Cic in - let module U = UriManager in - let module P = PrimitiveTactics in - let module T = Tacticals in - try - ProofEngineTypes.apply_tactic ( - T.then_ - ~start:(P.intros_tac ()) - ~continuation:( - T.then_ - ~start: - (EliminationTactics.elim_type_tac - (C.MutInd (LibraryObjects.false_URI (), 0, []))) - ~continuation: VariousTactics.assumption_tac)) - status - with - ProofEngineTypes.Fail msg when Lazy.force msg = "Assumption: No such assumption" -> raise (ProofEngineTypes.Fail (lazy "Contradiction: No such assumption")) - (* sarebbe piu' elegante se Assumtion sollevasse un'eccezione tutta sua che questa cattura, magari con l'aiuto di try_tactics *) - in - ProofEngineTypes.mk_tactic contradiction_tac -;; - -(* Questa era in fourierR.ml -(* !!!!! fix !!!!!!!!!! *) -let contradiction_tac (proof,goal)= - Tacticals.then_ - ~start:(PrimitiveTactics.intros_tac ~name:"bo?" ) (*inutile sia questo che quello prima della chiamata*) - ~continuation:(Tacticals.then_ - ~start:(VariousTactics.elim_type_tac ~term:_False) - ~continuation:(assumption_tac)) - (proof,goal) -;; -*) - - diff --git a/helm/ocaml/tactics/negationTactics.mli b/helm/ocaml/tactics/negationTactics.mli deleted file mode 100644 index bfa3e8d5d..000000000 --- a/helm/ocaml/tactics/negationTactics.mli +++ /dev/null @@ -1,28 +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/. - *) - -val absurd_tac: term:Cic.term -> ProofEngineTypes.tactic -val contradiction_tac: ProofEngineTypes.tactic - diff --git a/helm/ocaml/tactics/primitiveTactics.ml b/helm/ocaml/tactics/primitiveTactics.ml deleted file mode 100644 index ca6b0e582..000000000 --- a/helm/ocaml/tactics/primitiveTactics.ml +++ /dev/null @@ -1,565 +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 ProofEngineHelpers -open ProofEngineTypes - -exception TheTypeOfTheCurrentGoalIsAMetaICannotChooseTheRightElimiantionPrinciple -exception NotAnInductiveTypeToEliminate -exception WrongUriToVariable of string - -(* lambda_abstract newmeta ty *) -(* returns a triple [bo],[context],[ty'] where *) -(* [ty] = Pi/LetIn [context].[ty'] ([context] is a vector!) *) -(* and [bo] = Lambda/LetIn [context].(Meta [newmeta]) *) -(* So, lambda_abstract is the core of the implementation of *) -(* the Intros tactic. *) -(* howmany = -1 means Intros, howmany > 0 means Intros n *) -let lambda_abstract ?(howmany=(-1)) metasenv context newmeta ty mk_fresh_name = - let module C = Cic in - let rec collect_context context howmany ty = - match howmany with - | 0 -> - let irl = - CicMkImplicit.identity_relocation_list_for_metavariable context - in - context, ty, (C.Meta (newmeta,irl)) - | _ -> - match ty with - C.Cast (te,_) -> collect_context context howmany te - | C.Prod (n,s,t) -> - let n' = mk_fresh_name metasenv context n ~typ:s in - let (context',ty,bo) = - collect_context ((Some (n',(C.Decl s)))::context) (howmany - 1) t - in - (context',ty,C.Lambda(n',s,bo)) - | C.LetIn (n,s,t) -> - let (context',ty,bo) = - collect_context ((Some (n,(C.Def (s,None))))::context) (howmany - 1) t - in - (context',ty,C.LetIn(n,s,bo)) - | _ as t -> - if howmany <= 0 then - let irl = - CicMkImplicit.identity_relocation_list_for_metavariable context - in - context, t, (C.Meta (newmeta,irl)) - else - raise (Fail (lazy "intro(s): not enough products or let-ins")) - in - collect_context context howmany ty - -let eta_expand metasenv context t arg = - let module T = CicTypeChecker in - let module S = CicSubstitution in - let module C = Cic in - let rec aux n = - function - t' when t' = S.lift n arg -> C.Rel (1 + n) - | C.Rel m -> if m <= n then C.Rel m else C.Rel (m+1) - | C.Var (uri,exp_named_subst) -> - let exp_named_subst' = aux_exp_named_subst n exp_named_subst in - C.Var (uri,exp_named_subst') - | C.Meta (i,l) -> - let l' = - List.map (function None -> None | Some t -> Some (aux n t)) l - in - C.Meta (i, l') - | C.Sort _ - | C.Implicit _ as t -> t - | C.Cast (te,ty) -> C.Cast (aux n te, aux n ty) - | C.Prod (nn,s,t) -> C.Prod (nn, aux n s, aux (n+1) t) - | C.Lambda (nn,s,t) -> C.Lambda (nn, aux n s, aux (n+1) t) - | C.LetIn (nn,s,t) -> C.LetIn (nn, aux n s, aux (n+1) t) - | C.Appl l -> C.Appl (List.map (aux n) l) - | C.Const (uri,exp_named_subst) -> - let exp_named_subst' = aux_exp_named_subst n exp_named_subst in - C.Const (uri,exp_named_subst') - | C.MutInd (uri,i,exp_named_subst) -> - let exp_named_subst' = aux_exp_named_subst n exp_named_subst in - C.MutInd (uri,i,exp_named_subst') - | C.MutConstruct (uri,i,j,exp_named_subst) -> - let exp_named_subst' = aux_exp_named_subst n exp_named_subst in - C.MutConstruct (uri,i,j,exp_named_subst') - | C.MutCase (sp,i,outt,t,pl) -> - C.MutCase (sp,i,aux n outt, aux n t, - List.map (aux n) pl) - | C.Fix (i,fl) -> - let tylen = List.length fl in - let substitutedfl = - List.map - (fun (name,i,ty,bo) -> (name, i, aux n ty, aux (n+tylen) bo)) - fl - in - C.Fix (i, substitutedfl) - | C.CoFix (i,fl) -> - let tylen = List.length fl in - let substitutedfl = - List.map - (fun (name,ty,bo) -> (name, aux n ty, aux (n+tylen) bo)) - fl - in - C.CoFix (i, substitutedfl) - and aux_exp_named_subst n = - List.map (function uri,t -> uri,aux n t) - in - let argty,_ = - T.type_of_aux' metasenv context arg CicUniv.empty_ugraph (* TASSI: FIXME *) - in - let fresh_name = - FreshNamesGenerator.mk_fresh_name ~subst:[] - metasenv context (Cic.Name "Heta") ~typ:argty - in - (C.Appl [C.Lambda (fresh_name,argty,aux 0 t) ; arg]) - -(*CSC: ma serve solamente la prima delle new_uninst e l'unione delle due!!! *) -let classify_metas newmeta in_subst_domain subst_in metasenv = - List.fold_right - (fun (i,canonical_context,ty) (old_uninst,new_uninst) -> - if in_subst_domain i then - old_uninst,new_uninst - else - let ty' = subst_in canonical_context ty in - let canonical_context' = - List.fold_right - (fun entry canonical_context' -> - let entry' = - match entry with - Some (n,Cic.Decl s) -> - Some (n,Cic.Decl (subst_in canonical_context' s)) - | Some (n,Cic.Def (s,None)) -> - Some (n,Cic.Def ((subst_in canonical_context' s),None)) - | None -> None - | Some (n,Cic.Def (bo,Some ty)) -> - Some - (n, - Cic.Def - (subst_in canonical_context' bo, - Some (subst_in canonical_context' ty))) - in - entry'::canonical_context' - ) canonical_context [] - in - if i < newmeta then - ((i,canonical_context',ty')::old_uninst),new_uninst - else - old_uninst,((i,canonical_context',ty')::new_uninst) - ) metasenv ([],[]) - -(* Useful only inside apply_tac *) -let - generalize_exp_named_subst_with_fresh_metas context newmeta uri exp_named_subst -= - let module C = Cic in - let params = - let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - CicUtil.params_of_obj o - in - let exp_named_subst_diff,new_fresh_meta,newmetasenvfragment,exp_named_subst'= - let next_fresh_meta = ref newmeta in - let newmetasenvfragment = ref [] in - let exp_named_subst_diff = ref [] in - let rec aux = - function - [],[] -> [] - | uri::tl,[] -> - let ty = - let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - match o with - C.Variable (_,_,ty,_,_) -> - CicSubstitution.subst_vars !exp_named_subst_diff ty - | _ -> raise (WrongUriToVariable (UriManager.string_of_uri uri)) - in -(* CSC: patch to generate ?1 : ?2 : Type in place of ?1 : Type to simulate ?1 :< Type - (match ty with - C.Sort (C.Type _) as s -> (* TASSI: ?? *) - let fresh_meta = !next_fresh_meta in - let fresh_meta' = fresh_meta + 1 in - next_fresh_meta := !next_fresh_meta + 2 ; - let subst_item = uri,C.Meta (fresh_meta',[]) in - newmetasenvfragment := - (fresh_meta,[],C.Sort (C.Type (CicUniv.fresh()))) :: - (* TASSI: ?? *) - (fresh_meta',[],C.Meta (fresh_meta,[])) :: !newmetasenvfragment ; - exp_named_subst_diff := !exp_named_subst_diff @ [subst_item] ; - subst_item::(aux (tl,[])) - | _ -> -*) - let irl = - CicMkImplicit.identity_relocation_list_for_metavariable context - in - let subst_item = uri,C.Meta (!next_fresh_meta,irl) in - newmetasenvfragment := - (!next_fresh_meta,context,ty)::!newmetasenvfragment ; - exp_named_subst_diff := !exp_named_subst_diff @ [subst_item] ; - incr next_fresh_meta ; - subst_item::(aux (tl,[]))(*)*) - | uri::tl1,((uri',_) as s)::tl2 -> - assert (UriManager.eq uri uri') ; - s::(aux (tl1,tl2)) - | [],_ -> assert false - in - let exp_named_subst' = aux (params,exp_named_subst) in - !exp_named_subst_diff,!next_fresh_meta, - List.rev !newmetasenvfragment, exp_named_subst' - in - new_fresh_meta,newmetasenvfragment,exp_named_subst',exp_named_subst_diff -;; - -let new_metasenv_and_unify_and_t newmeta' metasenv' context term' ty termty goal_arity = - let (consthead,newmetasenv,arguments,_) = - saturate_term newmeta' metasenv' context termty goal_arity in - let subst,newmetasenv',_ = - CicUnification.fo_unif newmetasenv context consthead ty CicUniv.empty_ugraph - in - let t = - if List.length arguments = 0 then term' else Cic.Appl (term'::arguments) - in - subst,newmetasenv',t - -let rec count_prods context ty = - match CicReduction.whd context ty with - Cic.Prod (n,s,t) -> 1 + count_prods (Some (n,Cic.Decl s)::context) t - | _ -> 0 - -let apply_tac_verbose_with_subst ~term (proof, goal) = - (* Assumption: The term "term" must be closed in the current context *) - let module T = CicTypeChecker in - let module R = CicReduction in - let module C = Cic in - let (_,metasenv,_,_) = proof in - let metano,context,ty = CicUtil.lookup_meta goal metasenv in - let newmeta = new_meta_of_proof ~proof in - let exp_named_subst_diff,newmeta',newmetasenvfragment,term' = - match term with - C.Var (uri,exp_named_subst) -> - let newmeta',newmetasenvfragment,exp_named_subst',exp_named_subst_diff = - generalize_exp_named_subst_with_fresh_metas context newmeta uri - exp_named_subst - in - exp_named_subst_diff,newmeta',newmetasenvfragment, - C.Var (uri,exp_named_subst') - | C.Const (uri,exp_named_subst) -> - let newmeta',newmetasenvfragment,exp_named_subst',exp_named_subst_diff = - generalize_exp_named_subst_with_fresh_metas context newmeta uri - exp_named_subst - in - exp_named_subst_diff,newmeta',newmetasenvfragment, - C.Const (uri,exp_named_subst') - | C.MutInd (uri,tyno,exp_named_subst) -> - let newmeta',newmetasenvfragment,exp_named_subst',exp_named_subst_diff = - generalize_exp_named_subst_with_fresh_metas context newmeta uri - exp_named_subst - in - exp_named_subst_diff,newmeta',newmetasenvfragment, - C.MutInd (uri,tyno,exp_named_subst') - | C.MutConstruct (uri,tyno,consno,exp_named_subst) -> - let newmeta',newmetasenvfragment,exp_named_subst',exp_named_subst_diff = - generalize_exp_named_subst_with_fresh_metas context newmeta uri - exp_named_subst - in - exp_named_subst_diff,newmeta',newmetasenvfragment, - C.MutConstruct (uri,tyno,consno,exp_named_subst') - | _ -> [],newmeta,[],term - in - let metasenv' = metasenv@newmetasenvfragment in - let termty,_ = - CicTypeChecker.type_of_aux' metasenv' context term' CicUniv.empty_ugraph - in - let termty = - CicSubstitution.subst_vars exp_named_subst_diff termty in - let goal_arity = count_prods context ty in - let subst,newmetasenv',t = - let rec add_one_argument n = - try - new_metasenv_and_unify_and_t newmeta' metasenv' context term' ty - termty n - with CicUnification.UnificationFailure _ when n > 0 -> - add_one_argument (n - 1) - in - add_one_argument goal_arity - in - let in_subst_domain i = List.exists (function (j,_) -> i=j) subst in - let apply_subst = CicMetaSubst.apply_subst subst in - let old_uninstantiatedmetas,new_uninstantiatedmetas = - (* subst_in doesn't need the context. Hence the underscore. *) - let subst_in _ = CicMetaSubst.apply_subst subst in - classify_metas newmeta in_subst_domain subst_in newmetasenv' - in - let bo' = apply_subst t in - let newmetasenv'' = new_uninstantiatedmetas@old_uninstantiatedmetas in - let subst_in = - (* if we just apply the subtitution, the type is irrelevant: - we may use Implicit, since it will be dropped *) - CicMetaSubst.apply_subst ((metano,(context,bo',Cic.Implicit None))::subst) - in - let (newproof, newmetasenv''') = - subst_meta_and_metasenv_in_proof proof metano subst_in newmetasenv'' - in - (((metano,(context,bo',Cic.Implicit None))::subst)(* subst_in *), (* ALB *) - (newproof, - List.map (function (i,_,_) -> i) new_uninstantiatedmetas)) - - -(* ALB *) -let apply_tac_verbose_with_subst ~term status = - try -(* apply_tac_verbose ~term status *) - apply_tac_verbose_with_subst ~term status - (* TODO cacciare anche altre eccezioni? *) - with - | CicUnification.UnificationFailure msg - | CicTypeChecker.TypeCheckerFailure msg -> - raise (Fail msg) - -(* ALB *) -let apply_tac_verbose ~term status = - let subst, status = apply_tac_verbose_with_subst ~term status in - (CicMetaSubst.apply_subst subst), status - -let apply_tac ~term status = snd (apply_tac_verbose ~term status) - - (* TODO per implementare i tatticali e' necessario che tutte le tattiche - sollevino _solamente_ Fail *) -let apply_tac ~term = - let apply_tac ~term status = - try - apply_tac ~term status - (* TODO cacciare anche altre eccezioni? *) - with - | CicUnification.UnificationFailure msg - | CicTypeChecker.TypeCheckerFailure msg -> - raise (Fail msg) - in - mk_tactic (apply_tac ~term) - -let intros_tac ?howmany ?(mk_fresh_name_callback = FreshNamesGenerator.mk_fresh_name ~subst:[]) ()= - let intros_tac - ?(mk_fresh_name_callback = (FreshNamesGenerator.mk_fresh_name ~subst:[])) () - (proof, goal) - = - let module C = Cic in - let module R = CicReduction in - let (_,metasenv,_,_) = proof in - let metano,context,ty = CicUtil.lookup_meta goal metasenv in - let newmeta = new_meta_of_proof ~proof in - let (context',ty',bo') = - lambda_abstract ?howmany metasenv context newmeta ty mk_fresh_name_callback - in - let (newproof, _) = - subst_meta_in_proof proof metano bo' [newmeta,context',ty'] - in - (newproof, [newmeta]) - in - mk_tactic (intros_tac ~mk_fresh_name_callback ()) - -let cut_tac ?(mk_fresh_name_callback = FreshNamesGenerator.mk_fresh_name ~subst:[]) term = - let cut_tac - ?(mk_fresh_name_callback = FreshNamesGenerator.mk_fresh_name ~subst:[]) - term (proof, goal) - = - let module C = Cic in - let curi,metasenv,pbo,pty = proof in - let metano,context,ty = CicUtil.lookup_meta goal metasenv in - let newmeta1 = new_meta_of_proof ~proof in - let newmeta2 = newmeta1 + 1 in - let fresh_name = - mk_fresh_name_callback metasenv context (Cic.Name "Hcut") ~typ:term in - let context_for_newmeta1 = - (Some (fresh_name,C.Decl term))::context in - let irl1 = - CicMkImplicit.identity_relocation_list_for_metavariable - context_for_newmeta1 - in - let irl2 = - CicMkImplicit.identity_relocation_list_for_metavariable context - in - let newmeta1ty = CicSubstitution.lift 1 ty in - let bo' = - C.Appl - [C.Lambda (fresh_name,term,C.Meta (newmeta1,irl1)) ; - C.Meta (newmeta2,irl2)] - in - let (newproof, _) = - subst_meta_in_proof proof metano bo' - [newmeta2,context,term; newmeta1,context_for_newmeta1,newmeta1ty]; - in - (newproof, [newmeta1 ; newmeta2]) - in - mk_tactic (cut_tac ~mk_fresh_name_callback term) - -let letin_tac ?(mk_fresh_name_callback=FreshNamesGenerator.mk_fresh_name ~subst:[]) term = - let letin_tac - ?(mk_fresh_name_callback = FreshNamesGenerator.mk_fresh_name ~subst:[]) - term (proof, goal) - = - let module C = Cic in - let curi,metasenv,pbo,pty = proof in - let metano,context,ty = CicUtil.lookup_meta goal metasenv in - let _,_ = (* TASSI: FIXME *) - CicTypeChecker.type_of_aux' metasenv context term CicUniv.empty_ugraph in - let newmeta = new_meta_of_proof ~proof in - let fresh_name = - mk_fresh_name_callback metasenv context (Cic.Name "Hletin") ~typ:term in - let context_for_newmeta = - (Some (fresh_name,C.Def (term,None)))::context in - let irl = - CicMkImplicit.identity_relocation_list_for_metavariable - context_for_newmeta - in - let newmetaty = CicSubstitution.lift 1 ty in - let bo' = C.LetIn (fresh_name,term,C.Meta (newmeta,irl)) in - let (newproof, _) = - subst_meta_in_proof - proof metano bo'[newmeta,context_for_newmeta,newmetaty] - in - (newproof, [newmeta]) - in - mk_tactic (letin_tac ~mk_fresh_name_callback term) - - (** functional part of the "exact" tactic *) -let exact_tac ~term = - let exact_tac ~term (proof, goal) = - (* Assumption: the term bo must be closed in the current context *) - let (_,metasenv,_,_) = proof in - let metano,context,ty = CicUtil.lookup_meta goal metasenv in - let module T = CicTypeChecker in - let module R = CicReduction in - let ty_term,u = T.type_of_aux' metasenv context term CicUniv.empty_ugraph in - let b,_ = R.are_convertible context ty_term ty u in (* TASSI: FIXME *) - if b then - begin - let (newproof, metasenv') = - subst_meta_in_proof proof metano term [] in - (newproof, []) - end - else - raise (Fail (lazy "The type of the provided term is not the one expected.")) - in - mk_tactic (exact_tac ~term) - -(* not really "primitive" tactics .... *) -let elim_tac ~term = - let elim_tac ~term (proof, goal) = - let module T = CicTypeChecker in - let module U = UriManager in - let module R = CicReduction in - let module C = Cic in - let (curi,metasenv,proofbo,proofty) = proof in - let metano,context,ty = CicUtil.lookup_meta goal metasenv in - let termty,_ = T.type_of_aux' metasenv context term CicUniv.empty_ugraph in - let (termty,metasenv',arguments,fresh_meta) = - ProofEngineHelpers.saturate_term - (ProofEngineHelpers.new_meta_of_proof proof) metasenv context termty 0 in - let term = if arguments = [] then term else Cic.Appl (term::arguments) in - let uri,exp_named_subst,typeno,args = - match termty with - C.MutInd (uri,typeno,exp_named_subst) -> (uri,exp_named_subst,typeno,[]) - | C.Appl ((C.MutInd (uri,typeno,exp_named_subst))::args) -> - (uri,exp_named_subst,typeno,args) - | _ -> raise NotAnInductiveTypeToEliminate - in - let eliminator_uri = - let buri = U.buri_of_uri uri in - let name = - let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - match o with - C.InductiveDefinition (tys,_,_,_) -> - let (name,_,_,_) = List.nth tys typeno in - name - | _ -> assert false - in - let ty_ty,_ = T.type_of_aux' metasenv' context ty CicUniv.empty_ugraph in - let ext = - match ty_ty with - C.Sort C.Prop -> "_ind" - | C.Sort C.Set -> "_rec" - | C.Sort C.CProp -> "_rec" - | C.Sort (C.Type _)-> "_rect" - | C.Meta (_,_) -> raise TheTypeOfTheCurrentGoalIsAMetaICannotChooseTheRightElimiantionPrinciple - | _ -> assert false - in - U.uri_of_string (buri ^ "/" ^ name ^ ext ^ ".con") - in - let eliminator_ref = C.Const (eliminator_uri,exp_named_subst) in - let ety,_ = - T.type_of_aux' metasenv' context eliminator_ref CicUniv.empty_ugraph in - let rec find_args_no = - function - C.Prod (_,_,t) -> 1 + find_args_no t - | C.Cast (s,_) -> find_args_no s - | C.LetIn (_,_,t) -> 0 + find_args_no t - | _ -> 0 - in - let args_no = find_args_no ety in - let term_to_refine = - let rec make_tl base_case = - function - 0 -> [base_case] - | n -> (C.Implicit None)::(make_tl base_case (n - 1)) - in - C.Appl (eliminator_ref :: make_tl term (args_no - 1)) - in - let refined_term,_,metasenv'',_ = - CicRefine.type_of_aux' metasenv' context term_to_refine - CicUniv.empty_ugraph - in - let new_goals = - ProofEngineHelpers.compare_metasenvs - ~oldmetasenv:metasenv ~newmetasenv:metasenv'' - in - let proof' = curi,metasenv'',proofbo,proofty in - let proof'', new_goals' = - apply_tactic (apply_tac ~term:refined_term) (proof',goal) - in - (* The apply_tactic can have closed some of the new_goals *) - let patched_new_goals = - let (_,metasenv''',_,_) = proof'' in - List.filter - (function i -> List.exists (function (j,_,_) -> j=i) metasenv''' - ) new_goals @ new_goals' - in - proof'', patched_new_goals - in - mk_tactic (elim_tac ~term) -;; - -let elim_intros_tac ?(mk_fresh_name_callback = FreshNamesGenerator.mk_fresh_name ~subst:[]) - ?depth ?using what = - Tacticals.then_ ~start:(elim_tac ~term:what) - ~continuation:(intros_tac ~mk_fresh_name_callback ?howmany:depth ()) -;; - -(* The simplification is performed only on the conclusion *) -let elim_intros_simpl_tac ?(mk_fresh_name_callback = FreshNamesGenerator.mk_fresh_name ~subst:[]) - ?depth ?using what = - Tacticals.then_ ~start:(elim_tac ~term:what) - ~continuation: - (Tacticals.thens - ~start:(intros_tac ~mk_fresh_name_callback ?howmany:depth ()) - ~continuations: - [ReductionTactics.simpl_tac - ~pattern:(ProofEngineTypes.conclusion_pattern None)]) -;; diff --git a/helm/ocaml/tactics/primitiveTactics.mli b/helm/ocaml/tactics/primitiveTactics.mli deleted file mode 100644 index 01d200eb7..000000000 --- a/helm/ocaml/tactics/primitiveTactics.mli +++ /dev/null @@ -1,59 +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/. - *) - -(* ALB, needed by the new paramodulation... *) -val apply_tac_verbose_with_subst: - term:Cic.term -> ProofEngineTypes.proof * int -> - Cic.substitution * (ProofEngineTypes.proof * int list) - -(* not a real tactic *) -val apply_tac_verbose : - term:Cic.term -> - ProofEngineTypes.proof * int -> - (Cic.term -> Cic.term) * (ProofEngineTypes.proof * int list) - -val apply_tac: - term: Cic.term -> ProofEngineTypes.tactic -val exact_tac: - term: Cic.term -> ProofEngineTypes.tactic -val intros_tac: - ?howmany:int -> - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> unit -> - ProofEngineTypes.tactic -val cut_tac: - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> - Cic.term -> - ProofEngineTypes.tactic -val letin_tac: - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> - Cic.term -> - ProofEngineTypes.tactic - -val elim_intros_simpl_tac: - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> - ?depth:int -> ?using:Cic.term -> Cic.term -> ProofEngineTypes.tactic -val elim_intros_tac: - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> - ?depth:int -> ?using:Cic.term -> Cic.term -> ProofEngineTypes.tactic diff --git a/helm/ocaml/tactics/proofEngineHelpers.ml b/helm/ocaml/tactics/proofEngineHelpers.ml deleted file mode 100644 index fd336910e..000000000 --- a/helm/ocaml/tactics/proofEngineHelpers.ml +++ /dev/null @@ -1,685 +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/. - *) - -exception Bad_pattern of string Lazy.t - -let new_meta_of_proof ~proof:(_, metasenv, _, _) = - CicMkImplicit.new_meta metasenv [] - -let subst_meta_in_proof proof meta term newmetasenv = - let uri,metasenv,bo,ty = proof in - (* empty context is ok for term since it wont be used by apply_subst *) - (* hack: since we do not know the context and the type of term, we - create a substitution with cc =[] and type = Implicit; they will be - in any case dropped by apply_subst, but it would be better to rewrite - the code. Cannot we just use apply_subst_metasenv, etc. ?? *) - let subst_in = CicMetaSubst.apply_subst [meta,([], term,Cic.Implicit None)] in - let metasenv' = - newmetasenv @ (List.filter (function (m,_,_) -> m <> meta) metasenv) - in - let metasenv'' = - List.map - (function i,canonical_context,ty -> - let canonical_context' = - List.map - (function - Some (n,Cic.Decl s) -> Some (n,Cic.Decl (subst_in s)) - | Some (n,Cic.Def (s,None)) -> Some (n,Cic.Def (subst_in s,None)) - | None -> None - | Some (n,Cic.Def (bo,Some ty)) -> - Some (n,Cic.Def (subst_in bo,Some (subst_in ty))) - ) canonical_context - in - i,canonical_context',(subst_in ty) - ) metasenv' - in - let bo' = subst_in bo in - (* Metavariables can appear also in the *statement* of the theorem - * since the parser does not reject as statements terms with - * metavariable therein *) - let ty' = subst_in ty in - let newproof = uri,metasenv'',bo',ty' in - (newproof, metasenv'') - -(*CSC: commento vecchio *) -(* refine_meta_with_brand_new_metasenv meta term subst_in newmetasenv *) -(* This (heavy) function must be called when a tactic can instantiate old *) -(* metavariables (i.e. existential variables). It substitues the metasenv *) -(* of the proof with the result of removing [meta] from the domain of *) -(* [newmetasenv]. Then it replaces Cic.Meta [meta] with [term] everywhere *) -(* in the current proof. Finally it applies [apply_subst_replacing] to *) -(* current proof. *) -(*CSC: A questo punto perche' passare un bo' gia' istantiato, se tanto poi *) -(*CSC: ci ripasso sopra apply_subst!!! *) -(*CSC: Attenzione! Ora questa funzione applica anche [subst_in] a *) -(*CSC: [newmetasenv]. *) -let subst_meta_and_metasenv_in_proof proof meta subst_in newmetasenv = - let (uri,_,bo,ty) = proof in - let bo' = subst_in bo in - (* Metavariables can appear also in the *statement* of the theorem - * since the parser does not reject as statements terms with - * metavariable therein *) - let ty' = subst_in ty in - let metasenv' = - List.fold_right - (fun metasenv_entry i -> - match metasenv_entry with - (m,canonical_context,ty) when m <> meta -> - let canonical_context' = - List.map - (function - None -> None - | Some (i,Cic.Decl t) -> Some (i,Cic.Decl (subst_in t)) - | Some (i,Cic.Def (t,None)) -> - Some (i,Cic.Def (subst_in t,None)) - | Some (i,Cic.Def (bo,Some ty)) -> - Some (i,Cic.Def (subst_in bo,Some (subst_in ty))) - ) canonical_context - in - (m,canonical_context',subst_in ty)::i - | _ -> i - ) newmetasenv [] - in - let newproof = uri,metasenv',bo',ty' in - (newproof, metasenv') - -let compare_metasenvs ~oldmetasenv ~newmetasenv = - List.map (function (i,_,_) -> i) - (List.filter - (function (i,_,_) -> - not (List.exists (fun (j,_,_) -> i=j) oldmetasenv)) newmetasenv) -;; - -(** finds the _pointers_ to subterms that are alpha-equivalent to wanted in t *) -let find_subterms ~subst ~metasenv ~ugraph ~wanted ~context t = - let rec find subst metasenv ugraph context w t = - try - let subst,metasenv,ugraph = - CicUnification.fo_unif_subst subst context metasenv w t ugraph - in - subst,metasenv,ugraph,[context,t] - with - CicUnification.UnificationFailure _ - | CicUnification.Uncertain _ -> - match t with - | Cic.Sort _ - | Cic.Rel _ -> subst,metasenv,ugraph,[] - | Cic.Meta (_, ctx) -> - List.fold_left ( - fun (subst,metasenv,ugraph,acc) e -> - match e with - | None -> subst,metasenv,ugraph,acc - | Some t -> - let subst,metasenv,ugraph,res = - find subst metasenv ugraph context w t - in - subst,metasenv,ugraph, res @ acc - ) (subst,metasenv,ugraph,[]) ctx - | Cic.Lambda (name, t1, t2) - | Cic.Prod (name, t1, t2) -> - let subst,metasenv,ugraph,rest1 = - find subst metasenv ugraph context w t1 in - let subst,metasenv,ugraph,rest2 = - find subst metasenv ugraph (Some (name, Cic.Decl t1)::context) - (CicSubstitution.lift 1 w) t2 - in - subst,metasenv,ugraph,rest1 @ rest2 - | Cic.LetIn (name, t1, t2) -> - let subst,metasenv,ugraph,rest1 = - find subst metasenv ugraph context w t1 in - let subst,metasenv,ugraph,rest2 = - find subst metasenv ugraph (Some (name, Cic.Def (t1,None))::context) - (CicSubstitution.lift 1 w) t2 - in - subst,metasenv,ugraph,rest1 @ rest2 - | Cic.Appl l -> - List.fold_left - (fun (subst,metasenv,ugraph,acc) t -> - let subst,metasenv,ugraph,res = - find subst metasenv ugraph context w t - in - subst,metasenv,ugraph,res @ acc) - (subst,metasenv,ugraph,[]) l - | Cic.Cast (t, ty) -> - let subst,metasenv,ugraph,rest = - find subst metasenv ugraph context w t in - let subst,metasenv,ugraph,resty = - find subst metasenv ugraph context w ty - in - subst,metasenv,ugraph,rest @ resty - | Cic.Implicit _ -> assert false - | Cic.Const (_, esubst) - | Cic.Var (_, esubst) - | Cic.MutInd (_, _, esubst) - | Cic.MutConstruct (_, _, _, esubst) -> - List.fold_left - (fun (subst,metasenv,ugraph,acc) (_, t) -> - let subst,metasenv,ugraph,res = - find subst metasenv ugraph context w t - in - subst,metasenv,ugraph,res @ acc) - (subst,metasenv,ugraph,[]) esubst - | Cic.MutCase (_, _, outty, indterm, patterns) -> - let subst,metasenv,ugraph,resoutty = - find subst metasenv ugraph context w outty in - let subst,metasenv,ugraph,resindterm = - find subst metasenv ugraph context w indterm in - let subst,metasenv,ugraph,respatterns = - List.fold_left - (fun (subst,metasenv,ugraph,acc) p -> - let subst,metaseng,ugraph,res = - find subst metasenv ugraph context w p - in - subst,metasenv,ugraph,res @ acc - ) (subst,metasenv,ugraph,[]) patterns - in - subst,metasenv,ugraph,resoutty @ resindterm @ respatterns - | Cic.Fix (_, funl) -> - let tys = - List.map (fun (n,_,ty,_) -> Some (Cic.Name n,(Cic.Decl ty))) funl - in - List.fold_left ( - fun (subst,metasenv,ugraph,acc) (_, _, ty, bo) -> - let subst,metasenv,ugraph,resty = - find subst metasenv ugraph context w ty in - let subst,metasenv,ugraph,resbo = - find subst metasenv ugraph (tys @ context) w bo - in - subst,metasenv,ugraph, resty @ resbo @ acc - ) (subst,metasenv,ugraph,[]) funl - | Cic.CoFix (_, funl) -> - let tys = - List.map (fun (n,ty,_) -> Some (Cic.Name n,(Cic.Decl ty))) funl - in - List.fold_left ( - fun (subst,metasenv,ugraph,acc) (_, ty, bo) -> - let subst,metasenv,ugraph,resty = - find subst metasenv ugraph context w ty in - let subst,metasenv,ugraph,resbo = - find subst metasenv ugraph (tys @ context) w bo - in - subst,metasenv,ugraph, resty @ resbo @ acc - ) (subst,metasenv,ugraph,[]) funl - in - find subst metasenv ugraph context wanted t - -let select_in_term ~metasenv ~context ~ugraph ~term ~pattern:(wanted,where) = - let add_ctx context name entry = - (Some (name, entry)) :: context - in - let map2 error_msg f l1 l2 = - try - List.map2 f l1 l2 - with - | Invalid_argument _ -> raise (Bad_pattern (lazy error_msg)) - in - let rec aux context where term = - match (where, term) with - | Cic.Implicit (Some `Hole), t -> [context,t] - | Cic.Implicit (Some `Type), t -> [] - | Cic.Implicit None,_ -> [] - | Cic.Meta (_, ctxt1), Cic.Meta (_, ctxt2) -> - List.concat - (map2 "wrong number of argument in explicit substitution" - (fun t1 t2 -> - (match (t1, t2) with - Some t1, Some t2 -> aux context t1 t2 - | _ -> [])) - ctxt1 ctxt2) - | Cic.Cast (te1, ty1), Cic.Cast (te2, ty2) -> - aux context te1 te2 @ aux context ty1 ty2 - | Cic.Prod (Cic.Anonymous, s1, t1), Cic.Prod (name, s2, t2) - | Cic.Lambda (Cic.Anonymous, s1, t1), Cic.Lambda (name, s2, t2) -> - aux context s1 s2 @ aux (add_ctx context name (Cic.Decl s2)) t1 t2 - | Cic.Prod (Cic.Name n1, s1, t1), - Cic.Prod ((Cic.Name n2) as name , s2, t2) - | Cic.Lambda (Cic.Name n1, s1, t1), - Cic.Lambda ((Cic.Name n2) as name, s2, t2) when n1 = n2-> - aux context s1 s2 @ aux (add_ctx context name (Cic.Decl s2)) t1 t2 - | Cic.Prod (name1, s1, t1), Cic.Prod (name2, s2, t2) - | Cic.Lambda (name1, s1, t1), Cic.Lambda (name2, s2, t2) -> [] - | Cic.LetIn (Cic.Anonymous, s1, t1), Cic.LetIn (name, s2, t2) -> - aux context s1 s2 @ aux (add_ctx context name (Cic.Def (s2,None))) t1 t2 - | Cic.LetIn (Cic.Name n1, s1, t1), - Cic.LetIn ((Cic.Name n2) as name, s2, t2) when n1 = n2-> - aux context s1 s2 @ aux (add_ctx context name (Cic.Def (s2,None))) t1 t2 - | Cic.LetIn (name1, s1, t1), Cic.LetIn (name2, s2, t2) -> [] - | Cic.Appl terms1, Cic.Appl terms2 -> auxs context terms1 terms2 - | Cic.Var (_, subst1), Cic.Var (_, subst2) - | Cic.Const (_, subst1), Cic.Const (_, subst2) - | Cic.MutInd (_, _, subst1), Cic.MutInd (_, _, subst2) - | Cic.MutConstruct (_, _, _, subst1), Cic.MutConstruct (_, _, _, subst2) -> - auxs context (List.map snd subst1) (List.map snd subst2) - | Cic.MutCase (_, _, out1, t1, pat1), Cic.MutCase (_ , _, out2, t2, pat2) -> - aux context out1 out2 @ aux context t1 t2 @ auxs context pat1 pat2 - | Cic.Fix (_, funs1), Cic.Fix (_, funs2) -> - let tys = - List.map (fun (n,_,ty,_) -> Some (Cic.Name n,(Cic.Decl ty))) funs2 - in - List.concat - (map2 "wrong number of mutually recursive functions" - (fun (_, _, ty1, bo1) (_, _, ty2, bo2) -> - aux context ty1 ty2 @ aux (tys @ context) bo1 bo2) - funs1 funs2) - | Cic.CoFix (_, funs1), Cic.CoFix (_, funs2) -> - let tys = - List.map (fun (n,ty,_) -> Some (Cic.Name n,(Cic.Decl ty))) funs2 - in - List.concat - (map2 "wrong number of mutually co-recursive functions" - (fun (_, ty1, bo1) (_, ty2, bo2) -> - aux context ty1 ty2 @ aux (tys @ context) bo1 bo2) - funs1 funs2) - | x,y -> - raise (Bad_pattern - (lazy (Printf.sprintf "Pattern %s versus term %s" - (CicPp.ppterm x) - (CicPp.ppterm y)))) - and auxs context terms1 terms2 = (* as aux for list of terms *) - List.concat (map2 "wrong number of arguments in application" - (fun t1 t2 -> aux context t1 t2) terms1 terms2) - in - let context_len = List.length context in - let roots = aux context where term in - match wanted with - None -> [],metasenv,ugraph,roots - | Some wanted -> - let rec find_in_roots = - function - [] -> [],metasenv,ugraph,[] - | (context',where)::tl -> - let subst,metasenv,ugraph,tl' = find_in_roots tl in - let subst,metasenv,ugraph,found = - let wanted, metasenv, ugraph = wanted context' metasenv ugraph in - find_subterms ~subst ~metasenv ~ugraph ~wanted ~context:context' - where - in - subst,metasenv,ugraph,found @ tl' - in - find_in_roots roots - -(** create a pattern from a term and a list of subterms. -* the pattern is granted to have a ? for every subterm that has no selected -* subterms -* @param equality equality function used while walking the term. Defaults to -* physical equality (==) *) -let pattern_of ?(equality=(==)) ~term terms = - let (===) x y = equality x y in - let not_found = false, Cic.Implicit None in - let rec aux t = - match t with - | t when List.exists (fun t' -> t === t') terms -> - true,Cic.Implicit (Some `Hole) - | Cic.Var (uri, subst) -> - let b,subst = aux_subst subst in - if b then - true,Cic.Var (uri, subst) - else - not_found - | Cic.Meta (i, ctxt) -> - let b,ctxt = - List.fold_right - (fun e (b,ctxt) -> - match e with - None -> b,None::ctxt - | Some t -> let bt,t = aux t in b||bt ,Some t::ctxt - ) ctxt (false,[]) - in - if b then - true,Cic.Meta (i, ctxt) - else - not_found - | Cic.Cast (te, ty) -> - let b1,te = aux te in - let b2,ty = aux ty in - if b1||b2 then true,Cic.Cast (te, ty) - else - not_found - | Cic.Prod (name, s, t) -> - let b1,s = aux s in - let b2,t = aux t in - if b1||b2 then - true, Cic.Prod (name, s, t) - else - not_found - | Cic.Lambda (name, s, t) -> - let b1,s = aux s in - let b2,t = aux t in - if b1||b2 then - true, Cic.Lambda (name, s, t) - else - not_found - | Cic.LetIn (name, s, t) -> - let b1,s = aux s in - let b2,t = aux t in - if b1||b2 then - true, Cic.LetIn (name, s, t) - else - not_found - | Cic.Appl terms -> - let b,terms = - List.fold_right - (fun t (b,terms) -> - let bt,t = aux t in - b||bt,t::terms - ) terms (false,[]) - in - if b then - true,Cic.Appl terms - else - not_found - | Cic.Const (uri, subst) -> - let b,subst = aux_subst subst in - if b then - true, Cic.Const (uri, subst) - else - not_found - | Cic.MutInd (uri, tyno, subst) -> - let b,subst = aux_subst subst in - if b then - true, Cic.MutInd (uri, tyno, subst) - else - not_found - | Cic.MutConstruct (uri, tyno, consno, subst) -> - let b,subst = aux_subst subst in - if b then - true, Cic.MutConstruct (uri, tyno, consno, subst) - else - not_found - | Cic.MutCase (uri, tyno, outty, t, pat) -> - let b1,outty = aux outty in - let b2,t = aux t in - let b3,pat = - List.fold_right - (fun t (b,pat) -> - let bt,t = aux t in - bt||b,t::pat - ) pat (false,[]) - in - if b1 || b2 || b3 then - true, Cic.MutCase (uri, tyno, outty, t, pat) - else - not_found - | Cic.Fix (funno, funs) -> - let b,funs = - List.fold_right - (fun (name, i, ty, bo) (b,funs) -> - let b1,ty = aux ty in - let b2,bo = aux bo in - b||b1||b2, (name, i, ty, bo)::funs) funs (false,[]) - in - if b then - true, Cic.Fix (funno, funs) - else - not_found - | Cic.CoFix (funno, funs) -> - let b,funs = - List.fold_right - (fun (name, ty, bo) (b,funs) -> - let b1,ty = aux ty in - let b2,bo = aux bo in - b||b1||b2, (name, ty, bo)::funs) funs (false,[]) - in - if b then - true, Cic.CoFix (funno, funs) - else - not_found - | Cic.Rel _ - | Cic.Sort _ - | Cic.Implicit _ -> not_found - and aux_subst subst = - List.fold_right - (fun (uri, t) (b,subst) -> - let b1,t = aux t in - b||b1,(uri, t)::subst) subst (false,[]) - in - snd (aux term) - -exception Fail of string Lazy.t - - (** select metasenv conjecture pattern - * select all subterms of [conjecture] matching [pattern]. - * It returns the set of matched terms (that can be compared using physical - * equality to the subterms of [conjecture]) together with their contexts. - * The representation of the set mimics the ProofEngineTypes.pattern type: - * a list of hypothesis (names of) together with the list of its matched - * subterms (and their contexts) + the list of matched subterms of the - * with their context conclusion. Note: in the result the list of hypothesis - * has an entry for each entry in the context and in the same order. - * Of course the list of terms (with their context) associated to the - * hypothesis name may be empty. - * - * @raise Bad_pattern - * *) - let select ~metasenv ~ugraph ~conjecture:(_,context,ty) - ~pattern:(what,hyp_patterns,goal_pattern) - = - let find_pattern_for name = - try Some (snd (List.find (fun (n, pat) -> Cic.Name n = name) hyp_patterns)) - with Not_found -> None in - let subst,metasenv,ugraph,ty_terms = - select_in_term ~metasenv ~context ~ugraph ~term:ty - ~pattern:(what,goal_pattern) in - let context_len = List.length context in - let subst,metasenv,ugraph,context_terms = - let subst,metasenv,ugraph,res,_ = - (List.fold_right - (fun entry (subst,metasenv,ugraph,res,context) -> - match entry with - None -> subst,metasenv,ugraph,(None::res),(None::context) - | Some (name,Cic.Decl term) -> - (match find_pattern_for name with - | None -> - subst,metasenv,ugraph,((Some (`Decl []))::res),(entry::context) - | Some pat -> - let subst,metasenv,ugraph,terms = - select_in_term ~metasenv ~context ~ugraph ~term - ~pattern:(what,pat) - in - subst,metasenv,ugraph,((Some (`Decl terms))::res), - (entry::context)) - | Some (name,Cic.Def (bo, ty)) -> - (match find_pattern_for name with - | None -> - let selected_ty=match ty with None -> None | Some _ -> Some [] in - subst,metasenv,ugraph,((Some (`Def ([],selected_ty)))::res), - (entry::context) - | Some pat -> - let subst,metasenv,ugraph,terms_bo = - select_in_term ~metasenv ~context ~ugraph ~term:bo - ~pattern:(what,pat) in - let subst,metasenv,ugraph,terms_ty = - match ty with - None -> subst,metasenv,ugraph,None - | Some ty -> - let subst,metasenv,ugraph,res = - select_in_term ~metasenv ~context ~ugraph ~term:ty - ~pattern:(what,pat) - in - subst,metasenv,ugraph,Some res - in - subst,metasenv,ugraph,((Some (`Def (terms_bo,terms_ty)))::res), - (entry::context)) - ) context (subst,metasenv,ugraph,[],[])) - in - subst,metasenv,ugraph,res - in - subst,metasenv,ugraph,context_terms, ty_terms - -(** locate_in_term equality what where context -* [what] must match a subterm of [where] according to [equality] -* It returns the matched terms together with their contexts in [where] -* [equality] defaults to physical equality -* [context] must be the context of [where] -*) -let locate_in_term ?(equality=(fun _ -> (==))) what ~where context = - let add_ctx context name entry = - (Some (name, entry)) :: context in - let rec aux context where = - if equality context what where then [context,where] - else - match where with - | Cic.Implicit _ - | Cic.Meta _ - | Cic.Rel _ - | Cic.Sort _ - | Cic.Var _ - | Cic.Const _ - | Cic.MutInd _ - | Cic.MutConstruct _ -> [] - | Cic.Cast (te, ty) -> aux context te @ aux context ty - | Cic.Prod (name, s, t) - | Cic.Lambda (name, s, t) -> - aux context s @ aux (add_ctx context name (Cic.Decl s)) t - | Cic.LetIn (name, s, t) -> - aux context s @ aux (add_ctx context name (Cic.Def (s,None))) t - | Cic.Appl tl -> auxs context tl - | Cic.MutCase (_, _, out, t, pat) -> - aux context out @ aux context t @ auxs context pat - | Cic.Fix (_, funs) -> - let tys = - List.map (fun (n,_,ty,_) -> Some (Cic.Name n,(Cic.Decl ty))) funs - in - List.concat - (List.map - (fun (_, _, ty, bo) -> - aux context ty @ aux (tys @ context) bo) - funs) - | Cic.CoFix (_, funs) -> - let tys = - List.map (fun (n,ty,_) -> Some (Cic.Name n,(Cic.Decl ty))) funs - in - List.concat - (List.map - (fun (_, ty, bo) -> - aux context ty @ aux (tys @ context) bo) - funs) - and auxs context tl = (* as aux for list of terms *) - List.concat (List.map (fun t -> aux context t) tl) - in - aux context where - -(** locate_in_conjecture equality what where context -* [what] must match a subterm of [where] according to [equality] -* It returns the matched terms together with their contexts in [where] -* [equality] defaults to physical equality -* [context] must be the context of [where] -*) -let locate_in_conjecture ?(equality=fun _ -> (==)) what (_,context,ty) = - let context,res = - List.fold_right - (fun entry (context,res) -> - match entry with - None -> entry::context, res - | Some (_, Cic.Decl ty) -> - let res = res @ locate_in_term what ~where:ty context in - let context' = entry::context in - context',res - | Some (_, Cic.Def (bo,ty)) -> - let res = res @ locate_in_term what ~where:bo context in - let res = - match ty with - None -> res - | Some ty -> - res @ locate_in_term what ~where:ty context in - let context' = entry::context in - context',res - ) context ([],[]) - in - res @ locate_in_term what ~where:ty context - -(* saturate_term newmeta metasenv context ty goal_arity *) -(* Given a type [ty] (a backbone), it returns its suffix of length *) -(* [goal_arity] head and a new metasenv in which there is new a META for each *) -(* hypothesis, a list of arguments for the new applications and the index of *) -(* the last new META introduced. The nth argument in the list of arguments is *) -(* just the nth new META. *) -let saturate_term newmeta metasenv context ty goal_arity = - let module C = Cic in - let module S = CicSubstitution in - assert (goal_arity >= 0); - let rec aux newmeta ty = - match ty with - C.Cast (he,_) -> aux newmeta he -(* CSC: patch to generate ?1 : ?2 : Type in place of ?1 : Type to simulate ?1 :< Type - (* If the expected type is a Type, then also Set is OK ==> - * we accept any term of type Type *) - (*CSC: BUG HERE: in this way it is possible for the term of - * type Type to be different from a Sort!!! *) - | C.Prod (name,(C.Sort (C.Type _) as s),t) -> - (* TASSI: ask CSC if BUG HERE refers to the C.Cast or C.Propd case *) - let irl = - CicMkImplicit.identity_relocation_list_for_metavariable context - in - let newargument = C.Meta (newmeta+1,irl) in - let (res,newmetasenv,arguments,lastmeta) = - aux (newmeta + 2) (S.subst newargument t) - in - res, - (newmeta,[],s)::(newmeta+1,context,C.Meta (newmeta,[]))::newmetasenv, - newargument::arguments,lastmeta -*) - | C.Prod (name,s,t) -> - let irl = - CicMkImplicit.identity_relocation_list_for_metavariable context - in - let newargument = C.Meta (newmeta,irl) in - let res,newmetasenv,arguments,lastmeta,prod_no = - aux (newmeta + 1) (S.subst newargument t) - in - if prod_no + 1 = goal_arity then - let head = CicReduction.normalize ~delta:false context ty in - head,[],[],lastmeta,goal_arity + 1 - else - (** NORMALIZE RATIONALE - * we normalize the target only NOW since we may be in this case: - * A1 -> A2 -> T where T = (\lambda x.A3 -> P) k - * and we want a mesasenv with ?1:A1 and ?2:A2 and not - * ?1, ?2, ?3 (that is the one we whould get if we start from the - * beta-normalized A1 -> A2 -> A3 -> P **) - let s' = CicReduction.normalize ~delta:false context s in - res,(newmeta,context,s')::newmetasenv,newargument::arguments, - lastmeta,prod_no + 1 - | t -> - let head = CicReduction.normalize ~delta:false context t in - match CicReduction.whd context head with - C.Prod _ as head' -> aux newmeta head' - | _ -> head,[],[],newmeta,0 - in - (* WARNING: here we are using the invariant that above the most *) - (* recente new_meta() there are no used metas. *) - let res,newmetasenv,arguments,lastmeta,_ = aux newmeta ty in - res,metasenv @ newmetasenv,arguments,lastmeta - -let lookup_type metasenv context hyp = - let rec aux p = function - | Some (Cic.Name name, Cic.Decl t) :: _ when name = hyp -> p, t - | Some (Cic.Name name, Cic.Def (_, Some t)) :: _ when name = hyp -> p, t - | Some (Cic.Name name, Cic.Def (u, _)) :: tail when name = hyp -> - p, fst (CicTypeChecker.type_of_aux' metasenv tail u CicUniv.empty_ugraph) - | _ :: tail -> aux (succ p) tail - | [] -> raise (ProofEngineTypes.Fail (lazy "lookup_type: not premise in the current goal")) - in - aux 1 context diff --git a/helm/ocaml/tactics/proofEngineHelpers.mli b/helm/ocaml/tactics/proofEngineHelpers.mli deleted file mode 100644 index e28e1425d..000000000 --- a/helm/ocaml/tactics/proofEngineHelpers.mli +++ /dev/null @@ -1,118 +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/. - *) - -exception Bad_pattern of string Lazy.t - -(* Returns the first meta whose number is above the *) -(* number of the higher meta. *) -val new_meta_of_proof : proof:ProofEngineTypes.proof -> int - -val subst_meta_in_proof : - ProofEngineTypes.proof -> - int -> Cic.term -> Cic.metasenv -> - ProofEngineTypes.proof * Cic.metasenv -val subst_meta_and_metasenv_in_proof : - ProofEngineTypes.proof -> - int -> (Cic.term -> Cic.term) -> Cic.metasenv -> - ProofEngineTypes.proof * Cic.metasenv - -(* returns the list of goals that are in newmetasenv and were not in - oldmetasenv *) -val compare_metasenvs : - oldmetasenv:Cic.metasenv -> newmetasenv:Cic.metasenv -> int list - - -(** { Patterns } - * A pattern is a Cic term in which Cic.Implicit terms annotated with `Hole - * appears *) - -(** create a pattern from a term and a list of subterms. -* the pattern is granted to have a ? for every subterm that has no selected -* subterms -* @param equality equality function used while walking the term. Defaults to -* physical equality (==) *) -val pattern_of: - ?equality:(Cic.term -> Cic.term -> bool) -> term:Cic.term -> Cic.term list -> - Cic.term - - -(** select metasenv conjecture pattern -* select all subterms of [conjecture] matching [pattern]. -* It returns the set of matched terms (that can be compared using physical -* equality to the subterms of [conjecture]) together with their contexts. -* The representation of the set mimics the conjecture type (but for the id): -* a list of (possibly removed) hypothesis (without their names) together with -* the list of its matched subterms (and their contexts) + the list of matched -* subterms of the conclusion with their context. Note: in the result the list -* of hypotheses * has an entry for each entry in the context and in the same -* order. Of course the list of terms (with their context) associated to one -* hypothesis may be empty. -* -* @raise Bad_pattern -* *) -val select: - metasenv:Cic.metasenv -> - ugraph:CicUniv.universe_graph -> - conjecture:Cic.conjecture -> - pattern:ProofEngineTypes.pattern -> - Cic.substitution * Cic.metasenv * CicUniv.universe_graph * - [ `Decl of (Cic.context * Cic.term) list - | `Def of (Cic.context * Cic.term) list * (Cic.context * Cic.term) list option - ] option list * - (Cic.context * Cic.term) list - -(** locate_in_term equality what where context -* [what] must match a subterm of [where] according to [equality] -* It returns the matched terms together with their contexts in [where] -* [equality] defaults to physical equality -* [context] must be the context of [where] -*) -val locate_in_term: - ?equality:(Cic.context -> Cic.term -> Cic.term -> bool) -> - Cic.term -> where:Cic.term -> Cic.context -> (Cic.context * Cic.term) list - -(** locate_in_conjecture equality what where context -* [what] must match a subterm of [where] according to [equality] -* It returns the matched terms together with their contexts in [where] -* [equality] defaults to physical equality -* [context] must be the context of [where] -*) -val locate_in_conjecture: - ?equality:(Cic.context -> Cic.term -> Cic.term -> bool) -> - Cic.term -> Cic.conjecture -> (Cic.context * Cic.term) list - -(* saturate_term newmeta metasenv context ty goal_arity *) -(* Given a type [ty] (a backbone), it returns its suffix of length *) -(* [goal_arity] head and a new metasenv in which there is new a META for each *) -(* hypothesis, a list of arguments for the new applications and the index of *) -(* the last new META introduced. The nth argument in the list of arguments is *) -(* just the nth new META. *) -val saturate_term: - int -> Cic.metasenv -> Cic.context -> Cic.term -> int -> - Cic.term * Cic.metasenv * Cic.term list * int - -(* returns the index and the type of a premise in a context *) -val lookup_type: Cic.metasenv -> Cic.context -> string -> int * Cic.term - diff --git a/helm/ocaml/tactics/proofEngineReduction.ml b/helm/ocaml/tactics/proofEngineReduction.ml deleted file mode 100644 index 62c2adab5..000000000 --- a/helm/ocaml/tactics/proofEngineReduction.ml +++ /dev/null @@ -1,992 +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/. - *) - -(******************************************************************************) -(* *) -(* PROJECT HELM *) -(* *) -(* Claudio Sacerdoti Coen *) -(* 12/04/2002 *) -(* *) -(* *) -(******************************************************************************) - - -(* The code of this module is derived from the code of CicReduction *) - -exception Impossible of int;; -exception ReferenceToConstant;; -exception ReferenceToVariable;; -exception ReferenceToCurrentProof;; -exception ReferenceToInductiveDefinition;; -exception WrongUriToInductiveDefinition;; -exception WrongUriToConstant;; -exception RelToHiddenHypothesis;; - -let alpha_equivalence = - let module C = Cic in - let rec aux t t' = - if t = t' then true - else - match t,t' with - C.Var (uri1,exp_named_subst1), C.Var (uri2,exp_named_subst2) -> - UriManager.eq uri1 uri2 && - aux_exp_named_subst exp_named_subst1 exp_named_subst2 - | C.Cast (te,ty), C.Cast (te',ty') -> - aux te te' && aux ty ty' - | C.Prod (_,s,t), C.Prod (_,s',t') -> - aux s s' && aux t t' - | C.Lambda (_,s,t), C.Lambda (_,s',t') -> - aux s s' && aux t t' - | C.LetIn (_,s,t), C.LetIn(_,s',t') -> - aux s s' && aux t t' - | C.Appl l, C.Appl l' -> - (try - List.fold_left2 - (fun b t1 t2 -> b && aux t1 t2) true l l' - with - Invalid_argument _ -> false) - | C.Const (uri,exp_named_subst1), C.Const (uri',exp_named_subst2) -> - UriManager.eq uri uri' && - aux_exp_named_subst exp_named_subst1 exp_named_subst2 - | C.MutInd (uri,i,exp_named_subst1), C.MutInd (uri',i',exp_named_subst2) -> - UriManager.eq uri uri' && i = i' && - aux_exp_named_subst exp_named_subst1 exp_named_subst2 - | C.MutConstruct (uri,i,j,exp_named_subst1), - C.MutConstruct (uri',i',j',exp_named_subst2) -> - UriManager.eq uri uri' && i = i' && j = j' && - aux_exp_named_subst exp_named_subst1 exp_named_subst2 - | C.MutCase (sp,i,outt,t,pl), C.MutCase (sp',i',outt',t',pl') -> - UriManager.eq sp sp' && i = i' && - aux outt outt' && aux t t' && - (try - List.fold_left2 - (fun b t1 t2 -> b && aux t1 t2) true pl pl' - with - Invalid_argument _ -> false) - | C.Fix (i,fl), C.Fix (i',fl') -> - i = i' && - (try - List.fold_left2 - (fun b (_,i,ty,bo) (_,i',ty',bo') -> - b && i = i' && aux ty ty' && aux bo bo' - ) true fl fl' - with - Invalid_argument _ -> false) - | C.CoFix (i,fl), C.CoFix (i',fl') -> - i = i' && - (try - List.fold_left2 - (fun b (_,ty,bo) (_,ty',bo') -> - b && aux ty ty' && aux bo bo' - ) true fl fl' - with - Invalid_argument _ -> false) - | _,_ -> false (* we already know that t != t' *) - and aux_exp_named_subst exp_named_subst1 exp_named_subst2 = - try - List.fold_left2 - (fun b (uri1,t1) (uri2,t2) -> - b && UriManager.eq uri1 uri2 && aux t1 t2 - ) true exp_named_subst1 exp_named_subst2 - with - Invalid_argument _ -> false - in - aux -;; - -exception WhatAndWithWhatDoNotHaveTheSameLength;; - -(* "textual" replacement of several subterms with other ones *) -let replace ~equality ~what ~with_what ~where = - let module C = Cic in - let find_image t = - let rec find_image_aux = - function - [],[] -> raise Not_found - | what::tl1,with_what::tl2 -> - if equality what t then with_what else find_image_aux (tl1,tl2) - | _,_ -> raise WhatAndWithWhatDoNotHaveTheSameLength - in - find_image_aux (what,with_what) - in - let rec aux t = - try - find_image t - with Not_found -> - match t with - C.Rel _ -> t - | C.Var (uri,exp_named_subst) -> - C.Var (uri,List.map (function (uri,t) -> uri, aux t) exp_named_subst) - | C.Meta _ -> t - | C.Sort _ -> t - | C.Implicit _ as t -> t - | C.Cast (te,ty) -> C.Cast (aux te, aux ty) - | C.Prod (n,s,t) -> C.Prod (n, aux s, aux t) - | C.Lambda (n,s,t) -> C.Lambda (n, aux s, aux t) - | C.LetIn (n,s,t) -> C.LetIn (n, aux s, aux t) - | C.Appl l -> - (* Invariant enforced: no application of an application *) - (match List.map aux l with - (C.Appl l')::tl -> C.Appl (l'@tl) - | l' -> C.Appl l') - | C.Const (uri,exp_named_subst) -> - C.Const (uri,List.map (function (uri,t) -> uri, aux t) exp_named_subst) - | C.MutInd (uri,i,exp_named_subst) -> - C.MutInd - (uri,i,List.map (function (uri,t) -> uri, aux t) exp_named_subst) - | C.MutConstruct (uri,i,j,exp_named_subst) -> - C.MutConstruct - (uri,i,j,List.map (function (uri,t) -> uri, aux t) exp_named_subst) - | C.MutCase (sp,i,outt,t,pl) -> - C.MutCase (sp,i,aux outt, aux t,List.map aux pl) - | C.Fix (i,fl) -> - let substitutedfl = - List.map - (fun (name,i,ty,bo) -> (name, i, aux ty, aux bo)) - fl - in - C.Fix (i, substitutedfl) - | C.CoFix (i,fl) -> - let substitutedfl = - List.map - (fun (name,ty,bo) -> (name, aux ty, aux bo)) - fl - in - C.CoFix (i, substitutedfl) - in - aux where -;; - -(* replaces in a term a term with another one. *) -(* Lifting are performed as usual. *) -let replace_lifting ~equality ~what ~with_what ~where = - let module C = Cic in - let module S = CicSubstitution in - let find_image what t = - let rec find_image_aux = - function - [],[] -> raise Not_found - | what::tl1,with_what::tl2 -> - if equality what t then with_what else find_image_aux (tl1,tl2) - | _,_ -> raise WhatAndWithWhatDoNotHaveTheSameLength - in - find_image_aux (what,with_what) - in - let rec substaux k what t = - try - S.lift (k-1) (find_image what t) - with Not_found -> - match t with - C.Rel n as t -> t - | C.Var (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> uri,substaux k what t) exp_named_subst - in - C.Var (uri,exp_named_subst') - | C.Meta (i, l) as t -> - let l' = - List.map - (function - None -> None - | Some t -> Some (substaux k what t) - ) l - in - C.Meta(i,l') - | C.Sort _ as t -> t - | C.Implicit _ as t -> t - | C.Cast (te,ty) -> C.Cast (substaux k what te, substaux k what ty) - | C.Prod (n,s,t) -> - C.Prod - (n, substaux k what s, substaux (k + 1) (List.map (S.lift 1) what) t) - | C.Lambda (n,s,t) -> - C.Lambda - (n, substaux k what s, substaux (k + 1) (List.map (S.lift 1) what) t) - | C.LetIn (n,s,t) -> - C.LetIn - (n, substaux k what s, substaux (k + 1) (List.map (S.lift 1) what) t) - | C.Appl (he::tl) -> - (* Invariant: no Appl applied to another Appl *) - let tl' = List.map (substaux k what) tl in - begin - match substaux k what he with - C.Appl l -> C.Appl (l@tl') - | _ as he' -> C.Appl (he'::tl') - end - | C.Appl _ -> assert false - | C.Const (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> uri,substaux k what t) exp_named_subst - in - C.Const (uri,exp_named_subst') - | C.MutInd (uri,i,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> uri,substaux k what t) exp_named_subst - in - C.MutInd (uri,i,exp_named_subst') - | C.MutConstruct (uri,i,j,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> uri,substaux k what t) exp_named_subst - in - C.MutConstruct (uri,i,j,exp_named_subst') - | C.MutCase (sp,i,outt,t,pl) -> - C.MutCase (sp,i,substaux k what outt, substaux k what t, - List.map (substaux k what) pl) - | C.Fix (i,fl) -> - let len = List.length fl in - let substitutedfl = - List.map - (fun (name,i,ty,bo) -> - (name, i, substaux k what ty, - substaux (k+len) (List.map (S.lift len) what) bo) - ) fl - in - C.Fix (i, substitutedfl) - | C.CoFix (i,fl) -> - let len = List.length fl in - let substitutedfl = - List.map - (fun (name,ty,bo) -> - (name, substaux k what ty, - substaux (k+len) (List.map (S.lift len) what) bo) - ) fl - in - C.CoFix (i, substitutedfl) - in - substaux 1 what where -;; - -(* replaces in a term a list of terms with other ones. *) -(* Lifting are performed as usual. *) -let replace_lifting_csc nnn ~equality ~what ~with_what ~where = - let module C = Cic in - let module S = CicSubstitution in - let find_image t = - let rec find_image_aux = - function - [],[] -> raise Not_found - | what::tl1,with_what::tl2 -> - if equality what t then with_what else find_image_aux (tl1,tl2) - | _,_ -> raise WhatAndWithWhatDoNotHaveTheSameLength - in - find_image_aux (what,with_what) - in - let rec substaux k t = - try - S.lift (k-1) (find_image t) - with Not_found -> - match t with - C.Rel n as t -> - if n < k then C.Rel n else C.Rel (n + nnn) - | C.Var (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> uri,substaux k t) exp_named_subst - in - C.Var (uri,exp_named_subst') - | C.Meta (i, l) as t -> - let l' = - List.map - (function - None -> None - | Some t -> Some (substaux k t) - ) l - in - C.Meta(i,l') - | C.Sort _ as t -> t - | C.Implicit _ as t -> t - | C.Cast (te,ty) -> C.Cast (substaux k te, substaux k ty) - | C.Prod (n,s,t) -> - C.Prod (n, substaux k s, substaux (k + 1) t) - | C.Lambda (n,s,t) -> - C.Lambda (n, substaux k s, substaux (k + 1) t) - | C.LetIn (n,s,t) -> - C.LetIn (n, substaux k s, substaux (k + 1) t) - | C.Appl (he::tl) -> - (* Invariant: no Appl applied to another Appl *) - let tl' = List.map (substaux k) tl in - begin - match substaux k he with - C.Appl l -> C.Appl (l@tl') - | _ as he' -> C.Appl (he'::tl') - end - | C.Appl _ -> assert false - | C.Const (uri,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> uri,substaux k t) exp_named_subst - in - C.Const (uri,exp_named_subst') - | C.MutInd (uri,i,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> uri,substaux k t) exp_named_subst - in - C.MutInd (uri,i,exp_named_subst') - | C.MutConstruct (uri,i,j,exp_named_subst) -> - let exp_named_subst' = - List.map (function (uri,t) -> uri,substaux k t) exp_named_subst - in - C.MutConstruct (uri,i,j,exp_named_subst') - | C.MutCase (sp,i,outt,t,pl) -> - C.MutCase (sp,i,substaux k outt, substaux k t, - List.map (substaux k) pl) - | C.Fix (i,fl) -> - let len = List.length fl in - let substitutedfl = - List.map - (fun (name,i,ty,bo) -> - (name, i, substaux k ty, substaux (k+len) bo)) - fl - in - C.Fix (i, substitutedfl) - | C.CoFix (i,fl) -> - let len = List.length fl in - let substitutedfl = - List.map - (fun (name,ty,bo) -> - (name, substaux k ty, substaux (k+len) bo)) - fl - in - C.CoFix (i, substitutedfl) - in - substaux 1 where -;; - -(* Takes a well-typed term and fully reduces it. *) -(*CSC: It does not perform reduction in a Case *) -let reduce context = - let rec reduceaux context l = - let module C = Cic in - let module S = CicSubstitution in - function - C.Rel n as t -> - (match List.nth context (n-1) with - Some (_,C.Decl _) -> if l = [] then t else C.Appl (t::l) - | Some (_,C.Def (bo,_)) -> reduceaux context l (S.lift n bo) - | None -> raise RelToHiddenHypothesis - ) - | C.Var (uri,exp_named_subst) -> - let exp_named_subst' = - reduceaux_exp_named_subst context l exp_named_subst - in - (let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - match o with - C.Constant _ -> raise ReferenceToConstant - | C.CurrentProof _ -> raise ReferenceToCurrentProof - | C.InductiveDefinition _ -> raise ReferenceToInductiveDefinition - | C.Variable (_,None,_,_,_) -> - let t' = C.Var (uri,exp_named_subst') in - if l = [] then t' else C.Appl (t'::l) - | C.Variable (_,Some body,_,_,_) -> - (reduceaux context l - (CicSubstitution.subst_vars exp_named_subst' body)) - ) - | C.Meta _ as t -> if l = [] then t else C.Appl (t::l) - | C.Sort _ as t -> t (* l should be empty *) - | C.Implicit _ as t -> t - | C.Cast (te,ty) -> - C.Cast (reduceaux context l te, reduceaux context l ty) - | C.Prod (name,s,t) -> - assert (l = []) ; - C.Prod (name, - reduceaux context [] s, - reduceaux ((Some (name,C.Decl s))::context) [] t) - | C.Lambda (name,s,t) -> - (match l with - [] -> - C.Lambda (name, - reduceaux context [] s, - reduceaux ((Some (name,C.Decl s))::context) [] t) - | he::tl -> reduceaux context tl (S.subst he t) - (* when name is Anonimous the substitution should be superfluous *) - ) - | C.LetIn (n,s,t) -> - reduceaux context l (S.subst (reduceaux context [] s) t) - | C.Appl (he::tl) -> - let tl' = List.map (reduceaux context []) tl in - reduceaux context (tl'@l) he - | C.Appl [] -> raise (Impossible 1) - | C.Const (uri,exp_named_subst) -> - let exp_named_subst' = - reduceaux_exp_named_subst context l exp_named_subst - in - (let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - match o with - C.Constant (_,Some body,_,_,_) -> - (reduceaux context l - (CicSubstitution.subst_vars exp_named_subst' body)) - | C.Constant (_,None,_,_,_) -> - let t' = C.Const (uri,exp_named_subst') in - if l = [] then t' else C.Appl (t'::l) - | C.Variable _ -> raise ReferenceToVariable - | C.CurrentProof (_,_,body,_,_,_) -> - (reduceaux context l - (CicSubstitution.subst_vars exp_named_subst' body)) - | C.InductiveDefinition _ -> raise ReferenceToInductiveDefinition - ) - | C.MutInd (uri,i,exp_named_subst) -> - let exp_named_subst' = - reduceaux_exp_named_subst context l exp_named_subst - in - let t' = C.MutInd (uri,i,exp_named_subst') in - if l = [] then t' else C.Appl (t'::l) - | C.MutConstruct (uri,i,j,exp_named_subst) as t -> - let exp_named_subst' = - reduceaux_exp_named_subst context l exp_named_subst - in - let t' = C.MutConstruct (uri,i,j,exp_named_subst') in - if l = [] then t' else C.Appl (t'::l) - | C.MutCase (mutind,i,outtype,term,pl) -> - let decofix = - function - C.CoFix (i,fl) as t -> - let tys = - List.map (function (name,ty,_) -> Some (C.Name name, C.Decl ty)) fl - in - let (_,_,body) = List.nth fl i in - let body' = - let counter = ref (List.length fl) in - List.fold_right - (fun _ -> decr counter ; S.subst (C.CoFix (!counter,fl))) - fl - body - in - reduceaux context [] body' - | C.Appl (C.CoFix (i,fl) :: tl) -> - let tys = - List.map (function (name,ty,_) -> Some (C.Name name, C.Decl ty)) fl - in - let (_,_,body) = List.nth fl i in - let body' = - let counter = ref (List.length fl) in - List.fold_right - (fun _ -> decr counter ; S.subst (C.CoFix (!counter,fl))) - fl - body - in - let tl' = List.map (reduceaux context []) tl in - reduceaux context tl' body' - | t -> t - in - (match decofix (reduceaux context [] term) with - C.MutConstruct (_,_,j,_) -> reduceaux context l (List.nth pl (j-1)) - | C.Appl (C.MutConstruct (_,_,j,_) :: tl) -> - let (arity, r) = - let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph mutind in - match o with - C.InductiveDefinition (tl,_,r,_) -> - let (_,_,arity,_) = List.nth tl i in - (arity,r) - | _ -> raise WrongUriToInductiveDefinition - in - let ts = - let rec eat_first = - function - (0,l) -> l - | (n,he::tl) when n > 0 -> eat_first (n - 1, tl) - | _ -> raise (Impossible 5) - in - eat_first (r,tl) - in - reduceaux context (ts@l) (List.nth pl (j-1)) - | C.Cast _ | C.Implicit _ -> - raise (Impossible 2) (* we don't trust our whd ;-) *) - | _ -> - let outtype' = reduceaux context [] outtype in - let term' = reduceaux context [] term in - let pl' = List.map (reduceaux context []) pl in - let res = - C.MutCase (mutind,i,outtype',term',pl') - in - if l = [] then res else C.Appl (res::l) - ) - | C.Fix (i,fl) -> - let tys = - List.map (function (name,_,ty,_) -> Some (C.Name name, C.Decl ty)) fl - in - let t' () = - let fl' = - List.map - (function (n,recindex,ty,bo) -> - (n,recindex,reduceaux context [] ty, reduceaux (tys@context) [] bo) - ) fl - in - C.Fix (i, fl') - in - let (_,recindex,_,body) = List.nth fl i in - let recparam = - try - Some (List.nth l recindex) - with - _ -> None - in - (match recparam with - Some recparam -> - (match reduceaux context [] recparam with - C.MutConstruct _ - | C.Appl ((C.MutConstruct _)::_) -> - let body' = - let counter = ref (List.length fl) in - List.fold_right - (fun _ -> decr counter ; S.subst (C.Fix (!counter,fl))) - fl - body - in - (* Possible optimization: substituting whd recparam in l*) - reduceaux context l body' - | _ -> if l = [] then t' () else C.Appl ((t' ())::l) - ) - | None -> if l = [] then t' () else C.Appl ((t' ())::l) - ) - | C.CoFix (i,fl) -> - let tys = - List.map (function (name,ty,_) -> Some (C.Name name, C.Decl ty)) fl - in - let t' = - let fl' = - List.map - (function (n,ty,bo) -> - (n,reduceaux context [] ty, reduceaux (tys@context) [] bo) - ) fl - in - C.CoFix (i, fl') - in - if l = [] then t' else C.Appl (t'::l) - and reduceaux_exp_named_subst context l = - List.map (function uri,t -> uri,reduceaux context [] t) - in - reduceaux context [] -;; - -exception WrongShape;; -exception AlreadySimplified;; - -(* Takes a well-typed term and *) -(* 1) Performs beta-iota-zeta reduction until delta reduction is needed *) -(* 2) Attempts delta-reduction. If the residual is a Fix lambda-abstracted *) -(* w.r.t. zero or more variables and if the Fix can be reductaed, than it*) -(* is reduced, the delta-reduction is succesfull and the whole algorithm *) -(* is applied again to the new redex; Step 3.1) is applied to the result *) -(* of the recursive simplification. Otherwise, if the Fix can not be *) -(* reduced, than the delta-reductions fails and the delta-redex is *) -(* not reduced. Otherwise, if the delta-residual is not the *) -(* lambda-abstraction of a Fix, then it performs step 3.2). *) -(* 3.1) Folds the application of the constant to the arguments that did not *) -(* change in every iteration, i.e. to the actual arguments for the *) -(* lambda-abstractions that precede the Fix. *) -(* 3.2) Computes the head beta-zeta normal form of the term. Then it tries *) -(* reductions. If the reduction cannot be performed, it returns the *) -(* original term (not the head beta-zeta normal form of the definiendum) *) -(*CSC: It does not perform simplification in a Case *) - -let simpl context = - let mk_appl t l = - if l = [] then - t - else - match t with - | Cic.Appl l' -> Cic.Appl (l'@l) - | _ -> Cic.Appl (t::l) - in - (* reduceaux is equal to the reduceaux locally defined inside *) - (* reduce, but for the const case. *) - (**** Step 1 ****) - let rec reduceaux context l = - let module C = Cic in - let module S = CicSubstitution in - function - C.Rel n as t -> - (try - match List.nth context (n-1) with - Some (_,C.Decl _) -> if l = [] then t else C.Appl (t::l) - | Some (_,C.Def (bo,_)) -> - try_delta_expansion context l t (S.lift n bo) - | None -> raise RelToHiddenHypothesis - with - Failure _ -> assert false) - | C.Var (uri,exp_named_subst) -> - let exp_named_subst' = - reduceaux_exp_named_subst context l exp_named_subst - in - (let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - match o with - C.Constant _ -> raise ReferenceToConstant - | C.CurrentProof _ -> raise ReferenceToCurrentProof - | C.InductiveDefinition _ -> raise ReferenceToInductiveDefinition - | C.Variable (_,None,_,_,_) -> - let t' = C.Var (uri,exp_named_subst') in - if l = [] then t' else C.Appl (t'::l) - | C.Variable (_,Some body,_,_,_) -> - reduceaux context l - (CicSubstitution.subst_vars exp_named_subst' body) - ) - | C.Meta _ as t -> if l = [] then t else C.Appl (t::l) - | C.Sort _ as t -> t (* l should be empty *) - | C.Implicit _ as t -> t - | C.Cast (te,ty) -> - C.Cast (reduceaux context l te, reduceaux context l ty) - | C.Prod (name,s,t) -> - assert (l = []) ; - C.Prod (name, - reduceaux context [] s, - reduceaux ((Some (name,C.Decl s))::context) [] t) - | C.Lambda (name,s,t) -> - (match l with - [] -> - C.Lambda (name, - reduceaux context [] s, - reduceaux ((Some (name,C.Decl s))::context) [] t) - | he::tl -> reduceaux context tl (S.subst he t) - (* when name is Anonimous the substitution should be superfluous *) - ) - | C.LetIn (n,s,t) -> - reduceaux context l (S.subst (reduceaux context [] s) t) - | C.Appl (he::tl) -> - let tl' = List.map (reduceaux context []) tl in - reduceaux context (tl'@l) he - | C.Appl [] -> raise (Impossible 1) - | C.Const (uri,exp_named_subst) -> - let exp_named_subst' = - reduceaux_exp_named_subst context l exp_named_subst - in - (let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - match o with - C.Constant (_,Some body,_,_,_) -> - try_delta_expansion context l - (C.Const (uri,exp_named_subst')) - (CicSubstitution.subst_vars exp_named_subst' body) - | C.Constant (_,None,_,_,_) -> - let t' = C.Const (uri,exp_named_subst') in - if l = [] then t' else C.Appl (t'::l) - | C.Variable _ -> raise ReferenceToVariable - | C.CurrentProof (_,_,body,_,_,_) -> reduceaux context l body - | C.InductiveDefinition _ -> raise ReferenceToInductiveDefinition - ) - | C.MutInd (uri,i,exp_named_subst) -> - let exp_named_subst' = - reduceaux_exp_named_subst context l exp_named_subst - in - let t' = C.MutInd (uri,i,exp_named_subst') in - if l = [] then t' else C.Appl (t'::l) - | C.MutConstruct (uri,i,j,exp_named_subst) -> - let exp_named_subst' = - reduceaux_exp_named_subst context l exp_named_subst - in - let t' = C.MutConstruct(uri,i,j,exp_named_subst') in - if l = [] then t' else C.Appl (t'::l) - | C.MutCase (mutind,i,outtype,term,pl) -> - let decofix = - function - C.CoFix (i,fl) as t -> - let tys = - List.map (function (name,ty,_) -> Some (C.Name name, C.Decl ty)) fl in - let (_,_,body) = List.nth fl i in - let body' = - let counter = ref (List.length fl) in - List.fold_right - (fun _ -> decr counter ; S.subst (C.CoFix (!counter,fl))) - fl - body - in - reduceaux context [] body' - | C.Appl (C.CoFix (i,fl) :: tl) -> - let tys = - List.map (function (name,ty,_) -> Some (C.Name name, C.Decl ty)) fl in - let (_,_,body) = List.nth fl i in - let body' = - let counter = ref (List.length fl) in - List.fold_right - (fun _ -> decr counter ; S.subst (C.CoFix (!counter,fl))) - fl - body - in - let tl' = List.map (reduceaux context []) tl in - reduceaux context tl body' - | t -> t - in - (match decofix (CicReduction.whd context term) with - C.MutConstruct (_,_,j,_) -> reduceaux context l (List.nth pl (j-1)) - | C.Appl (C.MutConstruct (_,_,j,_) :: tl) -> - let (arity, r) = - let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph mutind in - match o with - C.InductiveDefinition (tl,ingredients,r,_) -> - let (_,_,arity,_) = List.nth tl i in - (arity,r) - | _ -> raise WrongUriToInductiveDefinition - in - let ts = - let rec eat_first = - function - (0,l) -> l - | (n,he::tl) when n > 0 -> eat_first (n - 1, tl) - | _ -> raise (Impossible 5) - in - eat_first (r,tl) - in - reduceaux context (ts@l) (List.nth pl (j-1)) - | C.Cast _ | C.Implicit _ -> - raise (Impossible 2) (* we don't trust our whd ;-) *) - | _ -> - let outtype' = reduceaux context [] outtype in - let term' = reduceaux context [] term in - let pl' = List.map (reduceaux context []) pl in - let res = - C.MutCase (mutind,i,outtype',term',pl') - in - if l = [] then res else C.Appl (res::l) - ) - | C.Fix (i,fl) -> - let tys = - List.map (function (name,_,ty,_) -> Some (C.Name name, C.Decl ty)) fl - in - let t' () = - let fl' = - List.map - (function (n,recindex,ty,bo) -> - (n,recindex,reduceaux context [] ty, reduceaux (tys@context) [] bo) - ) fl - in - C.Fix (i, fl') - in - let (_,recindex,_,body) = List.nth fl i in - let recparam = - try - Some (List.nth l recindex) - with - _ -> None - in - (match recparam with - Some recparam -> - (match reduceaux context [] recparam with - C.MutConstruct _ - | C.Appl ((C.MutConstruct _)::_) -> - let body' = - let counter = ref (List.length fl) in - List.fold_right - (fun _ -> decr counter ; S.subst (C.Fix (!counter,fl))) - fl - body - in - (* Possible optimization: substituting whd recparam in l*) - reduceaux context l body' - | _ -> if l = [] then t' () else C.Appl ((t' ())::l) - ) - | None -> if l = [] then t' () else C.Appl ((t' ())::l) - ) - | C.CoFix (i,fl) -> - let tys = - List.map (function (name,ty,_) -> Some (C.Name name, C.Decl ty)) fl - in - let t' = - let fl' = - List.map - (function (n,ty,bo) -> - (n,reduceaux context [] ty, reduceaux (tys@context) [] bo) - ) fl - in - C.CoFix (i, fl') - in - if l = [] then t' else C.Appl (t'::l) - and reduceaux_exp_named_subst context l = - List.map (function uri,t -> uri,reduceaux context [] t) - (**** Step 2 ****) - and try_delta_expansion context l term body = - let module C = Cic in - let module S = CicSubstitution in - try - let res,constant_args = - let rec aux rev_constant_args l = - function - C.Lambda (name,s,t) as t' -> - begin - match l with - [] -> raise WrongShape - | he::tl -> - (* when name is Anonimous the substitution should *) - (* be superfluous *) - aux (he::rev_constant_args) tl (S.subst he t) - end - | C.LetIn (_,s,t) -> - aux rev_constant_args l (S.subst s t) - | C.Fix (i,fl) as t -> - let tys = - List.map (function (name,_,ty,_) -> - Some (C.Name name, C.Decl ty)) fl - in - let (_,recindex,_,body) = List.nth fl i in - let recparam = - try - List.nth l recindex - with - _ -> raise AlreadySimplified - in - (match CicReduction.whd context recparam with - C.MutConstruct _ - | C.Appl ((C.MutConstruct _)::_) -> - let body' = - let counter = ref (List.length fl) in - List.fold_right - (function _ -> - decr counter ; S.subst (C.Fix (!counter,fl)) - ) fl body - in - (* Possible optimization: substituting whd *) - (* recparam in l *) - reduceaux context l body', - List.rev rev_constant_args - | _ -> raise AlreadySimplified - ) - | _ -> raise WrongShape - in - aux [] l body - in - (**** Step 3.1 ****) - let term_to_fold, delta_expanded_term_to_fold = - match constant_args with - [] -> term,body - | _ -> C.Appl (term::constant_args), C.Appl (body::constant_args) - in - let simplified_term_to_fold = - reduceaux context [] delta_expanded_term_to_fold - in - replace (=) [simplified_term_to_fold] [term_to_fold] res - with - WrongShape -> - (**** Step 3.2 ****) - let rec aux l = - function - C.Lambda (name,s,t) -> - (match l with - [] -> raise AlreadySimplified - | he::tl -> - (* when name is Anonimous the substitution should *) - (* be superfluous *) - aux tl (S.subst he t)) - | C.LetIn (_,s,t) -> aux l (S.subst s t) - | t -> - let simplified = reduceaux context l t in - if t = simplified then - raise AlreadySimplified - else - simplified - in - (try aux l body - with - AlreadySimplified -> - if l = [] then term else C.Appl (term::l)) - | AlreadySimplified -> - (* If we performed delta-reduction, we would find a Fix *) - (* not applied to a constructor. So, we refuse to perform *) - (* delta-reduction. *) - if l = [] then term else C.Appl (term::l) - in - reduceaux context [] -;; - -let unfold ?what context where = - let contextlen = List.length context in - let first_is_the_expandable_head_of_second context' t1 t2 = - match t1,t2 with - Cic.Const (uri,_), Cic.Const (uri',_) - | Cic.Var (uri,_), Cic.Var (uri',_) - | Cic.Const (uri,_), Cic.Appl (Cic.Const (uri',_)::_) - | Cic.Var (uri,_), Cic.Appl (Cic.Var (uri',_)::_) -> UriManager.eq uri uri' - | Cic.Const _, _ - | Cic.Var _, _ -> false - | Cic.Rel n, Cic.Rel m - | Cic.Rel n, Cic.Appl (Cic.Rel m::_) -> - n + (List.length context' - contextlen) = m - | Cic.Rel _, _ -> false - | _,_ -> - raise - (ProofEngineTypes.Fail - (lazy "The term to unfold is not a constant, a variable or a bound variable ")) - in - let appl he tl = - if tl = [] then he else Cic.Appl (he::tl) in - let cannot_delta_expand t = - raise - (ProofEngineTypes.Fail - (lazy ("The term " ^ CicPp.ppterm t ^ " cannot be delta-expanded"))) in - let rec hd_delta_beta context tl = - function - Cic.Rel n as t -> - (try - match List.nth context (n-1) with - Some (_,Cic.Decl _) -> cannot_delta_expand t - | Some (_,Cic.Def (bo,_)) -> - CicReduction.head_beta_reduce - (appl (CicSubstitution.lift n bo) tl) - | None -> raise RelToHiddenHypothesis - with - Failure _ -> assert false) - | Cic.Const (uri,exp_named_subst) as t -> - let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - (match o with - Cic.Constant (_,Some body,_,_,_) -> - CicReduction.head_beta_reduce - (appl (CicSubstitution.subst_vars exp_named_subst body) tl) - | Cic.Constant (_,None,_,_,_) -> cannot_delta_expand t - | Cic.Variable _ -> raise ReferenceToVariable - | Cic.CurrentProof _ -> raise ReferenceToCurrentProof - | Cic.InductiveDefinition _ -> raise ReferenceToInductiveDefinition - ) - | Cic.Var (uri,exp_named_subst) as t -> - let o,_ = CicEnvironment.get_obj CicUniv.empty_ugraph uri in - (match o with - Cic.Constant _ -> raise ReferenceToConstant - | Cic.CurrentProof _ -> raise ReferenceToCurrentProof - | Cic.InductiveDefinition _ -> raise ReferenceToInductiveDefinition - | Cic.Variable (_,Some body,_,_,_) -> - CicReduction.head_beta_reduce - (appl (CicSubstitution.subst_vars exp_named_subst body) tl) - | Cic.Variable (_,None,_,_,_) -> cannot_delta_expand t - ) - | Cic.Appl [] -> assert false - | Cic.Appl (he::tl) -> hd_delta_beta context tl he - | t -> cannot_delta_expand t - in - let context_and_matched_term_list = - match what with - None -> [context, where] - | Some what -> - let res = - ProofEngineHelpers.locate_in_term - ~equality:first_is_the_expandable_head_of_second - what ~where context - in - if res = [] then - raise - (ProofEngineTypes.Fail - (lazy ("Term "^ CicPp.ppterm what ^ " not found in " ^ CicPp.ppterm where))) - else - res - in - let reduced_terms = - List.map - (function (context,where) -> hd_delta_beta context [] where) - context_and_matched_term_list in - let whats = List.map snd context_and_matched_term_list in - replace ~equality:(==) ~what:whats ~with_what:reduced_terms ~where -;; diff --git a/helm/ocaml/tactics/proofEngineReduction.mli b/helm/ocaml/tactics/proofEngineReduction.mli deleted file mode 100644 index 67247876a..000000000 --- a/helm/ocaml/tactics/proofEngineReduction.mli +++ /dev/null @@ -1,49 +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/. - *) - -exception Impossible of int -exception ReferenceToConstant -exception ReferenceToVariable -exception ReferenceToCurrentProof -exception ReferenceToInductiveDefinition -exception WrongUriToInductiveDefinition -exception RelToHiddenHypothesis -exception WrongShape -exception AlreadySimplified -exception WhatAndWithWhatDoNotHaveTheSameLength;; - -val alpha_equivalence: Cic.term -> Cic.term -> bool -val replace : - equality:('a -> Cic.term -> bool) -> - what:'a list -> with_what:Cic.term list -> where:Cic.term -> Cic.term -val replace_lifting : - equality:(Cic.term -> Cic.term -> bool) -> - what:Cic.term list -> with_what:Cic.term list -> where:Cic.term -> Cic.term -val replace_lifting_csc : - int -> equality:(Cic.term -> Cic.term -> bool) -> - what:Cic.term list -> with_what:Cic.term list -> where:Cic.term -> Cic.term -val reduce : Cic.context -> Cic.term -> Cic.term -val simpl : Cic.context -> Cic.term -> Cic.term -val unfold : ?what:Cic.term -> Cic.context -> Cic.term -> Cic.term diff --git a/helm/ocaml/tactics/proofEngineStructuralRules.ml b/helm/ocaml/tactics/proofEngineStructuralRules.ml deleted file mode 100644 index 8995fbbeb..000000000 --- a/helm/ocaml/tactics/proofEngineStructuralRules.ml +++ /dev/null @@ -1,193 +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 ProofEngineTypes - -let clearbody ~hyp = - let clearbody ~hyp (proof, goal) = - let module C = Cic in - let curi,metasenv,pbo,pty = proof in - let metano,_,_ = CicUtil.lookup_meta goal metasenv in - let string_of_name = - function - C.Name n -> n - | C.Anonymous -> "_" - in - let metasenv' = - List.map - (function - (m,canonical_context,ty) when m = metano -> - let canonical_context' = - List.fold_right - (fun entry context -> - match entry with - Some (C.Name hyp',C.Def (term,ty)) when hyp = hyp' -> - let cleared_entry = - let ty = - match ty with - Some ty -> ty - | None -> - fst - (CicTypeChecker.type_of_aux' metasenv context term - CicUniv.empty_ugraph) (* TASSI: FIXME *) - in - Some (C.Name hyp, Cic.Decl ty) - in - cleared_entry::context - | None -> None::context - | Some (n,C.Decl t) - | Some (n,C.Def (t,None)) -> - let _,_ = - try - CicTypeChecker.type_of_aux' metasenv context t - CicUniv.empty_ugraph (* TASSI: FIXME *) - with - _ -> - raise - (Fail - (lazy ("The correctness of hypothesis " ^ - string_of_name n ^ - " relies on the body of " ^ hyp) - )) - in - entry::context - | Some (_,Cic.Def (_,Some _)) -> assert false - ) canonical_context [] - in - let _,_ = - try - CicTypeChecker.type_of_aux' metasenv canonical_context' ty - CicUniv.empty_ugraph (* TASSI: FIXME *) - with - _ -> - raise - (Fail - (lazy ("The correctness of the goal relies on the body of " ^ - hyp))) - in - m,canonical_context',ty - | t -> t - ) metasenv - in - (curi,metasenv',pbo,pty), [goal] - in - mk_tactic (clearbody ~hyp) - -let clear ~hyp = - let clear ~hyp (proof, goal) = - let module C = Cic in - let curi,metasenv,pbo,pty = proof in - let metano,context,ty = - CicUtil.lookup_meta goal metasenv - in - let string_of_name = - function - C.Name n -> n - | C.Anonymous -> "_" - in - let metasenv' = - List.map - (function - (m,canonical_context,ty) when m = metano -> - let context_changed, canonical_context' = - List.fold_right - (fun entry (b, context) -> - match entry with - Some (Cic.Name hyp',_) when hyp' = hyp -> - (true, None::context) - | None -> (b, None::context) - | Some (n,C.Decl t) - | Some (n,Cic.Def (t,Some _)) - | Some (n,C.Def (t,None)) -> - if b then - let _,_ = - try - CicTypeChecker.type_of_aux' metasenv context t - CicUniv.empty_ugraph - with _ -> - raise - (Fail - (lazy ("Hypothesis " ^ string_of_name n ^ - " uses hypothesis " ^ hyp))) - in - (b, entry::context) - else - (b, entry::context) - ) canonical_context (false, []) - in - if not context_changed then - raise (Fail (lazy ("Hypothesis " ^ hyp ^ " does not exist"))); - let _,_ = - try - CicTypeChecker.type_of_aux' metasenv canonical_context' ty - CicUniv.empty_ugraph - with _ -> - raise (Fail (lazy ("Hypothesis " ^ hyp ^ " occurs in the goal"))) - in - m,canonical_context',ty - | t -> t - ) metasenv - in - (curi,metasenv',pbo,pty), [goal] - in - mk_tactic (clear ~hyp) - -(* Warning: this tactic has no effect on the proof term. - It just changes the name of an hypothesis in the current sequent *) -let rename ~from ~to_ = - let rename ~from ~to_ (proof, goal) = - let module C = Cic in - let curi,metasenv,pbo,pty = proof in - let metano,context,ty = - CicUtil.lookup_meta goal metasenv - in - let metasenv' = - List.map - (function - (m,canonical_context,ty) when m = metano -> - let canonical_context' = - List.map - (function - Some (Cic.Name hyp,decl_or_def) when hyp = from -> - Some (Cic.Name to_,decl_or_def) - | item -> item - ) canonical_context - in - m,canonical_context',ty - | t -> t - ) metasenv - in - (curi,metasenv',pbo,pty), [goal] - in - mk_tactic (rename ~from ~to_) - -let set_goal n = - ProofEngineTypes.mk_tactic - (fun (proof, goal) -> - let (_, metasenv, _, _) = proof in - if CicUtil.exists_meta n metasenv then - (proof, [n]) - else - raise (ProofEngineTypes.Fail (lazy ("no such meta: " ^ string_of_int n)))) diff --git a/helm/ocaml/tactics/proofEngineStructuralRules.mli b/helm/ocaml/tactics/proofEngineStructuralRules.mli deleted file mode 100644 index 91ebfecfb..000000000 --- a/helm/ocaml/tactics/proofEngineStructuralRules.mli +++ /dev/null @@ -1,34 +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/. - *) - -val clearbody: hyp:string -> ProofEngineTypes.tactic -val clear: hyp:string -> ProofEngineTypes.tactic - -(* Warning: this tactic has no effect on the proof term. - It just changes the name of an hypothesis in the current sequent *) -val rename: from:string -> to_:string -> ProofEngineTypes.tactic - - (* change the current goal to those referred by the given meta number *) -val set_goal: int -> ProofEngineTypes.tactic diff --git a/helm/ocaml/tactics/proofEngineTypes.ml b/helm/ocaml/tactics/proofEngineTypes.ml deleted file mode 100644 index 58dafd1a6..000000000 --- a/helm/ocaml/tactics/proofEngineTypes.ml +++ /dev/null @@ -1,100 +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/. - *) - - (** - current proof (proof uri * metas * (in)complete proof * term to be prooved) - *) -type proof = UriManager.uri option * Cic.metasenv * Cic.term * Cic.term - (** current goal, integer index *) -type goal = int -type status = proof * goal - -let initial_status ty metasenv = - let rec aux max = function - | [] -> max + 1 - | (idx, _, _) :: tl -> - if idx > max then - aux idx tl - else - aux max tl - in - let newmeta_idx = aux 0 metasenv in - let proof = - None, (newmeta_idx, [], ty) :: metasenv, Cic.Meta (newmeta_idx, []), ty - in - (proof, newmeta_idx) - - (** - a tactic: make a transition from one status to another one or, usually, - raise a "Fail" (@see Fail) exception in case of failure - *) - (** an unfinished proof with the optional current goal *) -type tactic = status -> proof * goal list - - (** creates an opaque tactic from a status->proof*goal list function *) -let mk_tactic t = t - -type reduction = Cic.context -> Cic.term -> Cic.term - -type lazy_term = - Cic.context -> Cic.metasenv -> CicUniv.universe_graph -> - Cic.term * Cic.metasenv * CicUniv.universe_graph - -let const_lazy_term t = - (fun _ metasenv ugraph -> t, metasenv, ugraph) - -type lazy_reduction = - Cic.context -> Cic.metasenv -> CicUniv.universe_graph -> - reduction * Cic.metasenv * CicUniv.universe_graph - -let const_lazy_reduction red = - (fun _ metasenv ugraph -> red, metasenv, ugraph) - -type pattern = lazy_term option * (string * Cic.term) list * Cic.term - -let conclusion_pattern t = - let t' = - match t with - | None -> None - | Some t -> Some (fun _ m u -> t, m, u) - in - t',[],Cic.Implicit (Some `Hole) - - (** tactic failure *) -exception Fail of string Lazy.t - - (** - calls the opaque tactic on the status, restoring the original - universe graph if the tactic Fails - *) -let apply_tactic t status = - t status - - (** constraint: the returned value will always be constructed by Cic.Name **) -type mk_fresh_name_type = - Cic.metasenv -> Cic.context -> Cic.name -> typ:Cic.term -> Cic.name - -let goals_of_proof (_,metasenv,_,_) = List.map (fun (g,_,_) -> g) metasenv - diff --git a/helm/ocaml/tactics/proofEngineTypes.mli b/helm/ocaml/tactics/proofEngineTypes.mli deleted file mode 100644 index 40a9e6c80..000000000 --- a/helm/ocaml/tactics/proofEngineTypes.mli +++ /dev/null @@ -1,77 +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/. - *) - - (** - current proof (proof uri * metas * (in)complete proof * term to be prooved) - *) -type proof = UriManager.uri option * Cic.metasenv * Cic.term * Cic.term - (** current goal, integer index *) -type goal = int -type status = proof * goal - - (** @param goal - * @param goal's metasenv - * @return initial proof status for the given goal *) -val initial_status: Cic.term -> Cic.metasenv -> status - - (** - a tactic: make a transition from one status to another one or, usually, - raise a "Fail" (@see Fail) exception in case of failure - *) - (** an unfinished proof with the optional current goal *) -type tactic -val mk_tactic: (status -> proof * goal list) -> tactic - -type reduction = Cic.context -> Cic.term -> Cic.term - -type lazy_term = - Cic.context -> Cic.metasenv -> CicUniv.universe_graph -> - Cic.term * Cic.metasenv * CicUniv.universe_graph - -val const_lazy_term: Cic.term -> lazy_term - -type lazy_reduction = - Cic.context -> Cic.metasenv -> CicUniv.universe_graph -> - reduction * Cic.metasenv * CicUniv.universe_graph - -val const_lazy_reduction: reduction -> lazy_reduction - - (** what, hypothesis patterns, conclusion pattern *) -type pattern = lazy_term option * (string * Cic.term) list * Cic.term - - (** conclusion_pattern [t] returns the pattern (t,[],%) *) -val conclusion_pattern : Cic.term option -> pattern - - (** tactic failure *) -exception Fail of string Lazy.t - -val apply_tactic: tactic -> status -> proof * goal list - - (** constraint: the returned value will always be constructed by Cic.Name **) -type mk_fresh_name_type = - Cic.metasenv -> Cic.context -> Cic.name -> typ:Cic.term -> Cic.name - -val goals_of_proof: proof -> goal list - diff --git a/helm/ocaml/tactics/reductionTactics.ml b/helm/ocaml/tactics/reductionTactics.ml deleted file mode 100644 index 4fc192a5b..000000000 --- a/helm/ocaml/tactics/reductionTactics.ml +++ /dev/null @@ -1,218 +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 ProofEngineTypes - -(* Note: this code is almost identical to change_tac and -* it could be unified by making the change function a callback *) -let reduction_tac ~reduction ~pattern (proof,goal) = - let curi,metasenv,pbo,pty = proof in - let (metano,context,ty) as conjecture = CicUtil.lookup_meta goal metasenv in - let change subst where terms metasenv ugraph = - if terms = [] then where, metasenv, ugraph - else - let pairs, metasenv, ugraph = - List.fold_left - (fun (pairs, metasenv, ugraph) (context, t) -> - let reduction, metasenv, ugraph = reduction context metasenv ugraph in - ((t, reduction context t) :: pairs), metasenv, ugraph) - ([], metasenv, ugraph) - terms - in - let terms, terms' = List.split pairs in - let where' = - ProofEngineReduction.replace ~equality:(==) ~what:terms ~with_what:terms' - ~where:where - in - CicMetaSubst.apply_subst subst where', metasenv, ugraph - in - let (subst,metasenv,ugraph,selected_context,selected_ty) = - ProofEngineHelpers.select ~metasenv ~ugraph:CicUniv.empty_ugraph - ~conjecture ~pattern - in - let ty', metasenv, ugraph = change subst ty selected_ty metasenv ugraph in - let context', metasenv, ugraph = - List.fold_right2 - (fun entry selected_entry (context', metasenv, ugraph) -> - match entry,selected_entry with - None,None -> None::context', metasenv, ugraph - | Some (name,Cic.Decl ty),Some (`Decl selected_ty) -> - let ty', metasenv, ugraph = - change subst ty selected_ty metasenv ugraph - in - Some (name,Cic.Decl ty')::context', metasenv, ugraph - | Some (name,Cic.Def (bo,ty)),Some (`Def (selected_bo,selected_ty)) -> - let bo', metasenv, ugraph = - change subst bo selected_bo metasenv ugraph - in - let ty', metasenv, ugraph = - match ty,selected_ty with - None,None -> None, metasenv, ugraph - | Some ty,Some selected_ty -> - let ty', metasenv, ugraph = - change subst ty selected_ty metasenv ugraph - in - Some ty', metasenv, ugraph - | _,_ -> assert false - in - (Some (name,Cic.Def (bo',ty'))::context'), metasenv, ugraph - | _,_ -> assert false - ) context selected_context ([], metasenv, ugraph) in - let metasenv' = - List.map (function - | (n,_,_) when n = metano -> (metano,context',ty') - | _ as t -> t - ) metasenv - in - (curi,metasenv',pbo,pty), [metano] -;; - -let simpl_tac ~pattern = - mk_tactic (reduction_tac - ~reduction:(const_lazy_reduction ProofEngineReduction.simpl) ~pattern) - -let reduce_tac ~pattern = - mk_tactic (reduction_tac - ~reduction:(const_lazy_reduction ProofEngineReduction.reduce) ~pattern) - -let unfold_tac what ~pattern = - let reduction = - match what with - | None -> const_lazy_reduction (ProofEngineReduction.unfold ?what:None) - | Some lazy_term -> - (fun context metasenv ugraph -> - let what, metasenv, ugraph = lazy_term context metasenv ugraph in - ProofEngineReduction.unfold ~what, metasenv, ugraph) - in - mk_tactic (reduction_tac ~reduction ~pattern) - -let whd_tac ~pattern = - mk_tactic (reduction_tac - ~reduction:(const_lazy_reduction CicReduction.whd) ~pattern) - -let normalize_tac ~pattern = - mk_tactic (reduction_tac - ~reduction:(const_lazy_reduction CicReduction.normalize) ~pattern) - -exception NotConvertible - -(* Note: this code is almost identical to reduction_tac and -* it could be unified by making the change function a callback *) -(* CSC: with_what is parsed in the context of the goal, but it should replace - something that lives in a completely different context. Thus we - perform a delift + lift phase to move it in the right context. However, - in this way the tactic is less powerful than expected: with_what cannot - reference variables that are local to the term that is going to be - replaced. To fix this we should parse with_what in the context of the - term(s) to be replaced. *) -let change_tac ~pattern with_what = - let change_tac ~pattern ~with_what (proof, goal) = - let curi,metasenv,pbo,pty = proof in - let (metano,context,ty) as conjecture = CicUtil.lookup_meta goal metasenv in - let change subst where terms metasenv ugraph = - if terms = [] then where, metasenv, ugraph - else - let pairs, metasenv, ugraph = - List.fold_left - (fun (pairs, metasenv, ugraph) (context_of_t, t) -> - let with_what, metasenv, ugraph = - with_what context_of_t metasenv ugraph - in - let _,u = - CicTypeChecker.type_of_aux' metasenv context_of_t with_what ugraph - in - let b,_ = - CicReduction.are_convertible ~metasenv context_of_t t with_what u - in - if b then - ((t, with_what) :: pairs), metasenv, ugraph - else - raise NotConvertible) - ([], metasenv, ugraph) - terms - in - let terms, terms' = List.split pairs in - let where' = - ProofEngineReduction.replace ~equality:(==) ~what:terms ~with_what:terms' - ~where:where - in - CicMetaSubst.apply_subst subst where', metasenv, ugraph - in - let (subst,metasenv,ugraph,selected_context,selected_ty) = - ProofEngineHelpers.select ~metasenv ~ugraph:CicUniv.empty_ugraph ~conjecture - ~pattern in - let ty', metasenv, ugraph = change subst ty selected_ty metasenv ugraph in - let context', metasenv, ugraph = - List.fold_right2 - (fun entry selected_entry (context', metasenv, ugraph) -> - match entry,selected_entry with - None,None -> (None::context'), metasenv, ugraph - | Some (name,Cic.Decl ty),Some (`Decl selected_ty) -> - let ty', metasenv, ugraph = - change subst ty selected_ty metasenv ugraph - in - (Some (name,Cic.Decl ty')::context'), metasenv, ugraph - | Some (name,Cic.Def (bo,ty)),Some (`Def (selected_bo,selected_ty)) -> - let bo', metasenv, ugraph = - change subst bo selected_bo metasenv ugraph - in - let ty', metasenv, ugraph = - match ty,selected_ty with - None,None -> None, metasenv, ugraph - | Some ty,Some selected_ty -> - let ty', metasenv, ugraph = - change subst ty selected_ty metasenv ugraph - in - Some ty', metasenv, ugraph - | _,_ -> assert false - in - (Some (name,Cic.Def (bo',ty'))::context'), metasenv, ugraph - | _,_ -> assert false - ) context selected_context ([], metasenv, ugraph) in - let metasenv' = - List.map - (function - | (n,_,_) when n = metano -> (metano,context',ty') - | _ as t -> t) - metasenv - in - (curi,metasenv',pbo,pty), [metano] - in - mk_tactic (change_tac ~pattern ~with_what) - -let fold_tac ~reduction ~term ~pattern = - let fold_tac ~reduction ~term ~pattern:(wanted,hyps_pat,concl_pat) status = - assert (wanted = None); (* this should be checked syntactically *) - let reduced_term = - (fun context metasenv ugraph -> - let term, metasenv, ugraph = term context metasenv ugraph in - let reduction, metasenv, ugraph = reduction context metasenv ugraph in - reduction context term, metasenv, ugraph) - in - apply_tactic - (change_tac ~pattern:(Some reduced_term,hyps_pat,concl_pat) term) status - in - mk_tactic (fold_tac ~reduction ~term ~pattern) - diff --git a/helm/ocaml/tactics/reductionTactics.mli b/helm/ocaml/tactics/reductionTactics.mli deleted file mode 100644 index dbec3fb72..000000000 --- a/helm/ocaml/tactics/reductionTactics.mli +++ /dev/null @@ -1,47 +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/. - *) - -val simpl_tac: pattern:ProofEngineTypes.pattern -> ProofEngineTypes.tactic -val reduce_tac: pattern:ProofEngineTypes.pattern -> ProofEngineTypes.tactic -val whd_tac: pattern:ProofEngineTypes.pattern -> ProofEngineTypes.tactic -val normalize_tac: pattern:ProofEngineTypes.pattern -> ProofEngineTypes.tactic - -(* The default of term is the thesis of the goal to be prooved *) -val unfold_tac: - ProofEngineTypes.lazy_term option -> - pattern:ProofEngineTypes.pattern -> - ProofEngineTypes.tactic - -val change_tac: - pattern:ProofEngineTypes.pattern -> - ProofEngineTypes.lazy_term -> - ProofEngineTypes.tactic - -val fold_tac: - reduction:ProofEngineTypes.lazy_reduction -> - term:ProofEngineTypes.lazy_term -> - pattern:ProofEngineTypes.pattern -> - ProofEngineTypes.tactic - diff --git a/helm/ocaml/tactics/ring.ml b/helm/ocaml/tactics/ring.ml deleted file mode 100644 index 1d7cc10e6..000000000 --- a/helm/ocaml/tactics/ring.ml +++ /dev/null @@ -1,594 +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 CicReduction -open PrimitiveTactics -open ProofEngineTypes -open UriManager - -(** DEBUGGING *) - - (** perform debugging output? *) -let debug = false -let debug_print = fun _ -> () - - (** debugging print *) -let warn s = debug_print (lazy ("RING WARNING: " ^ (Lazy.force s))) - -(** CIC URIS *) - -(** - Note: For constructors URIs aren't really URIs but rather triples of - the form (uri, typeno, consno). This discrepancy is to preserver an - uniformity of invocation of "mkXXX" functions. -*) - -let equality_is_a_congruence_A = - uri_of_string "cic:/Coq/Init/Logic/Logic_lemmas/equality/A.var" -let equality_is_a_congruence_x = - uri_of_string "cic:/Coq/Init/Logic/Logic_lemmas/equality/x.var" -let equality_is_a_congruence_y = - uri_of_string "cic:/Coq/Init/Logic/Logic_lemmas/equality/y.var" - -let apolynomial_uri = - uri_of_string "cic:/Coq/ring/Ring_abstract/apolynomial.ind" -let apvar_uri = (apolynomial_uri, 0, 1) -let ap0_uri = (apolynomial_uri, 0, 2) -let ap1_uri = (apolynomial_uri, 0, 3) -let applus_uri = (apolynomial_uri, 0, 4) -let apmult_uri = (apolynomial_uri, 0, 5) -let apopp_uri = (apolynomial_uri, 0, 6) - -let quote_varmap_A_uri = uri_of_string "cic:/Coq/ring/Quote/variables_map/A.var" -let varmap_uri = uri_of_string "cic:/Coq/ring/Quote/varmap.ind" -let empty_vm_uri = (varmap_uri, 0, 1) -let node_vm_uri = (varmap_uri, 0, 2) -let varmap_find_uri = uri_of_string "cic:/Coq/ring/Quote/varmap_find.con" -let index_uri = uri_of_string "cic:/Coq/ring/Quote/index.ind" -let left_idx_uri = (index_uri, 0, 1) -let right_idx_uri = (index_uri, 0, 2) -let end_idx_uri = (index_uri, 0, 3) - -let abstract_rings_A_uri = - uri_of_string "cic:/Coq/ring/Ring_abstract/abstract_rings/A.var" -let abstract_rings_Aplus_uri = - uri_of_string "cic:/Coq/ring/Ring_abstract/abstract_rings/Aplus.var" -let abstract_rings_Amult_uri = - uri_of_string "cic:/Coq/ring/Ring_abstract/abstract_rings/Amult.var" -let abstract_rings_Aone_uri = - uri_of_string "cic:/Coq/ring/Ring_abstract/abstract_rings/Aone.var" -let abstract_rings_Azero_uri = - uri_of_string "cic:/Coq/ring/Ring_abstract/abstract_rings/Azero.var" -let abstract_rings_Aopp_uri = - uri_of_string "cic:/Coq/ring/Ring_abstract/abstract_rings/Aopp.var" -let abstract_rings_Aeq_uri = - uri_of_string "cic:/Coq/ring/Ring_abstract/abstract_rings/Aeq.var" -let abstract_rings_vm_uri = - uri_of_string "cic:/Coq/ring/Ring_abstract/abstract_rings/vm.var" -let abstract_rings_T_uri = - uri_of_string "cic:/Coq/ring/Ring_abstract/abstract_rings/T.var" -let interp_ap_uri = uri_of_string "cic:/Coq/ring/Ring_abstract/interp_ap.con" -let interp_sacs_uri = - uri_of_string "cic:/Coq/ring/Ring_abstract/interp_sacs.con" -let apolynomial_normalize_uri = - uri_of_string "cic:/Coq/ring/Ring_abstract/apolynomial_normalize.con" -let apolynomial_normalize_ok_uri = - uri_of_string "cic:/Coq/ring/Ring_abstract/apolynomial_normalize_ok.con" - -(** CIC PREDICATES *) - - (** - check whether a term is a constant or not, if argument "uri" is given and is - not "None" also check if the constant correspond to the given one or not - *) -let cic_is_const ?(uri: uri option = None) term = - match uri with - | None -> - (match term with - | Cic.Const _ -> true - | _ -> false) - | Some realuri -> - (match term with - | Cic.Const (u, _) when (eq u realuri) -> true - | _ -> false) - -(** PROOF AND GOAL ACCESSORS *) - - (** - @param proof a proof - @return the uri of a given proof - *) -let uri_of_proof ~proof:(uri, _, _, _) = uri - - (** - @param status current proof engine status - @raise Failure if proof is None - @return current goal's metasenv - *) -let metasenv_of_status ((_,m,_,_), _) = m - - (** - @param status a proof engine status - @raise Failure when proof or goal are None - @return context corresponding to current goal - *) -let context_of_status status = - let (proof, goal) = status in - let metasenv = metasenv_of_status status in - let _, context, _ = CicUtil.lookup_meta goal metasenv in - context - -(** CIC TERM CONSTRUCTORS *) - - (** - Create a Cic term consisting of a constant - @param uri URI of the constant - @proof current proof - @exp_named_subst explicit named substitution - *) -let mkConst ~uri ~exp_named_subst = - Cic.Const (uri, exp_named_subst) - - (** - Create a Cic term consisting of a constructor - @param uri triple where uri is the uri of an inductive - type, typeno is the type number in a mutind structure (0 based), consno is - the constructor number (1 based) - @exp_named_subst explicit named substitution - *) -let mkCtor ~uri:(uri, typeno, consno) ~exp_named_subst = - Cic.MutConstruct (uri, typeno, consno, exp_named_subst) - - (** - Create a Cic term consisting of a type member of a mutual induction - @param uri pair where uri is the uri of a mutual inductive - type and typeno is the type number (0 based) in the mutual induction - @exp_named_subst explicit named substitution - *) -let mkMutInd ~uri:(uri, typeno) ~exp_named_subst = - Cic.MutInd (uri, typeno, exp_named_subst) - -(** EXCEPTIONS *) - - (** - raised when the current goal is not ringable; a goal is ringable when is an - equality on reals (@see r_uri) - *) -exception GoalUnringable - -(** RING's FUNCTIONS LIBRARY *) - - (** - Check whether the ring tactic can be applied on a given term (i.e. that is - an equality on reals) - @param term to be tested - @return true if the term is ringable, false otherwise - *) -let ringable = - let is_equality = function - | Cic.MutInd (uri, 0, []) when (eq uri HelmLibraryObjects.Logic.eq_URI) -> true - | _ -> false - in - let is_real = function - | Cic.Const (uri, _) when (eq uri HelmLibraryObjects.Reals.r_URI) -> true - | _ -> false - in - function - | Cic.Appl (app::set::_::_::[]) when (is_equality app && is_real set) -> - warn (lazy "Goal Ringable!"); - true - | _ -> - warn (lazy "Goal Not Ringable :-(("); - false - - (** - split an equality goal of the form "t1 = t2" in its two subterms t1 and t2 - after checking that the goal is ringable - @param goal the current goal - @return a pair (t1,t2) that are two sides of the equality goal - @raise GoalUnringable if the goal isn't ringable - *) -let split_eq = function - | (Cic.Appl (_::_::t1::t2::[])) as term when ringable term -> - warn (lazy ("" ^ (CicPp.ppterm t1) ^ "")); - warn (lazy ("" ^ (CicPp.ppterm t2) ^ "")); - (t1, t2) - | _ -> raise GoalUnringable - - (** - @param i an integer index representing a 1 based number of node in a binary - search tree counted in a fbs manner (i.e.: 1 is the root, 2 is the left - child of the root (if any), 3 is the right child of the root (if any), 4 is - the left child of the left child of the root (if any), ....) - @param proof the current proof - @return an index representing the same node in a varmap (@see varmap_uri), - the returned index is as defined in index (@see index_uri) - *) -let path_of_int n = - let rec digits_of_int n = - if n=1 then [] else (n mod 2 = 1)::(digits_of_int (n lsr 1)) - in - List.fold_right - (fun digit path -> - Cic.Appl [ - mkCtor (if (digit = true) then right_idx_uri else left_idx_uri) []; - path]) - (List.rev (digits_of_int n)) (* remove leading true (i.e. digit 1) *) - (mkCtor end_idx_uri []) - - (** - Build a variable map (@see varmap_uri) from a variables array. - A variable map is almost a binary tree so this function receiving a var list - like [v;w;x;y;z] will build a varmap of shape: v - / \ - w x - / \ - y z - @param vars variables array - @return a cic term representing the variable map containing vars variables - *) -let btree_of_array ~vars = - let r = HelmLibraryObjects.Reals.r in - let empty_vm_r = mkCtor empty_vm_uri [quote_varmap_A_uri,r] in - let node_vm_r = mkCtor node_vm_uri [quote_varmap_A_uri,r] in - let size = Array.length vars in - let halfsize = size lsr 1 in - let rec aux n = (* build the btree starting from position n *) - (* - n is the position in the vars array _1_based_ in order to access - left and right child using (n*2, n*2+1) trick - *) - if n > size then - empty_vm_r - else if n > halfsize then (* no more children *) - Cic.Appl [node_vm_r; vars.(n-1); empty_vm_r; empty_vm_r] - else (* still children *) - Cic.Appl [node_vm_r; vars.(n-1); aux (n*2); aux (n*2+1)] - in - aux 1 - - (** - abstraction function: - concrete polynoms -----> (abstract polynoms, varmap) - @param terms list of conrete polynoms - @return a pair where aterms is a list of abstract polynoms - and varmap is the variable map needed to interpret them - *) -let abstract_poly ~terms = - let varhash = Hashtbl.create 19 in (* vars hash, to speed up lookup *) - let varlist = ref [] in (* vars list in reverse order *) - let counter = ref 1 in (* index of next new variable *) - let rec aux = function (* TODO not tail recursive *) - (* "bop" -> binary operator | "uop" -> unary operator *) - | Cic.Appl (bop::t1::t2::[]) - when (cic_is_const ~uri:(Some HelmLibraryObjects.Reals.rplus_URI) bop) -> (* +. *) - Cic.Appl [mkCtor applus_uri []; aux t1; aux t2] - | Cic.Appl (bop::t1::t2::[]) - when (cic_is_const ~uri:(Some HelmLibraryObjects.Reals.rmult_URI) bop) -> (* *. *) - Cic.Appl [mkCtor apmult_uri []; aux t1; aux t2] - | Cic.Appl (uop::t::[]) - when (cic_is_const ~uri:(Some HelmLibraryObjects.Reals.ropp_URI) uop) -> (* ~-. *) - Cic.Appl [mkCtor apopp_uri []; aux t] - | t when (cic_is_const ~uri:(Some HelmLibraryObjects.Reals.r0_URI) t) -> (* 0. *) - mkCtor ap0_uri [] - | t when (cic_is_const ~uri:(Some HelmLibraryObjects.Reals.r1_URI) t) -> (* 1. *) - mkCtor ap1_uri [] - | t -> (* variable *) - try - Hashtbl.find varhash t (* use an old var *) - with Not_found -> begin (* create a new var *) - let newvar = - Cic.Appl [mkCtor apvar_uri []; path_of_int !counter] - in - incr counter; - varlist := t :: !varlist; - Hashtbl.add varhash t newvar; - newvar - end - in - let aterms = List.map aux terms in (* abstract vars *) - let varmap = (* build varmap *) - btree_of_array ~vars:(Array.of_list (List.rev !varlist)) - in - (aterms, varmap) - - (** - given a list of abstract terms (i.e. apolynomials) build the ring "segments" - that is triples like (t', t'', t''') where - t' = interp_ap(varmap, at) - t'' = interp_sacs(varmap, (apolynomial_normalize at)) - t''' = apolynomial_normalize_ok(varmap, at) - at is the abstract term built from t, t is a single member of aterms - *) -let build_segments ~terms = - let theory_args_subst varmap = - [abstract_rings_A_uri, HelmLibraryObjects.Reals.r ; - abstract_rings_Aplus_uri, HelmLibraryObjects.Reals.rplus ; - abstract_rings_Amult_uri, HelmLibraryObjects.Reals.rmult ; - abstract_rings_Aone_uri, HelmLibraryObjects.Reals.r1 ; - abstract_rings_Azero_uri, HelmLibraryObjects.Reals.r0 ; - abstract_rings_Aopp_uri, HelmLibraryObjects.Reals.ropp ; - abstract_rings_vm_uri, varmap] in - let theory_args_subst' eq varmap t = - [abstract_rings_A_uri, HelmLibraryObjects.Reals.r ; - abstract_rings_Aplus_uri, HelmLibraryObjects.Reals.rplus ; - abstract_rings_Amult_uri, HelmLibraryObjects.Reals.rmult ; - abstract_rings_Aone_uri, HelmLibraryObjects.Reals.r1 ; - abstract_rings_Azero_uri, HelmLibraryObjects.Reals.r0 ; - abstract_rings_Aopp_uri, HelmLibraryObjects.Reals.ropp ; - abstract_rings_Aeq_uri, eq ; - abstract_rings_vm_uri, varmap ; - abstract_rings_T_uri, t] in - let interp_ap varmap = - mkConst interp_ap_uri (theory_args_subst varmap) in - let interp_sacs varmap = - mkConst interp_sacs_uri (theory_args_subst varmap) in - let apolynomial_normalize = mkConst apolynomial_normalize_uri [] in - let apolynomial_normalize_ok eq varmap t = - mkConst apolynomial_normalize_ok_uri (theory_args_subst' eq varmap t) in - let lxy_false = (** Cic funcion "fun (x,y):R -> false" *) - Cic.Lambda (Cic.Anonymous, HelmLibraryObjects.Reals.r, - Cic.Lambda (Cic.Anonymous, HelmLibraryObjects.Reals.r, HelmLibraryObjects.Datatypes.falseb)) - in - let (aterms, varmap) = abstract_poly ~terms in (* abstract polys *) - List.map (* build ring segments *) - (fun t -> - Cic.Appl [interp_ap varmap ; t], - Cic.Appl ( - [interp_sacs varmap ; Cic.Appl [apolynomial_normalize; t]]), - Cic.Appl [apolynomial_normalize_ok lxy_false varmap HelmLibraryObjects.Reals.rtheory ; t] - ) aterms - - -let status_of_single_goal_tactic_result = - function - proof,[goal] -> proof,goal - | _ -> - raise (Fail (lazy "status_of_single_goal_tactic_result: the tactic did not produce exactly a new goal")) - -(* Galla: spostata in variousTactics.ml - (** - auxiliary tactic "elim_type" - @param status current proof engine status - @param term term to cut - *) -let elim_type_tac ~term status = - warn (lazy "in Ring.elim_type_tac"); - Tacticals.thens ~start:(cut_tac ~term) - ~continuations:[elim_simpl_intros_tac ~term:(Cic.Rel 1) ; Tacticals.id_tac] status -*) - - (** - auxiliary tactic, use elim_type and try to close 2nd subgoal using proof - @param status current proof engine status - @param term term to cut - @param proof term used to prove second subgoal generated by elim_type - *) -(* FG: METTERE I NOMI ANCHE QUI? *) -let elim_type2_tac ~term ~proof = - let elim_type2_tac ~term ~proof status = - let module E = EliminationTactics in - warn (lazy "in Ring.elim_type2"); - ProofEngineTypes.apply_tactic - (Tacticals.thens ~start:(E.elim_type_tac term) - ~continuations:[Tacticals.id_tac ; exact_tac ~term:proof]) status - in - ProofEngineTypes.mk_tactic (elim_type2_tac ~term ~proof) - -(* Galla: spostata in variousTactics.ml - (** - Reflexivity tactic, try to solve current goal using "refl_eqT" - Warning: this isn't equale to the coq's Reflexivity because this one tries - only refl_eqT, coq's one also try "refl_equal" - @param status current proof engine status - *) -let reflexivity_tac (proof, goal) = - warn (lazy "in Ring.reflexivity_tac"); - let refl_eqt = mkCtor ~uri:refl_eqt_uri ~exp_named_subst:[] in - try - apply_tac (proof, goal) ~term:refl_eqt - with (Fail _) as e -> - let e_str = Printexc.to_string e in - raise (Fail ("Reflexivity failed with exception: " ^ e_str)) -*) - - (** lift an 8-uple of debrujins indexes of n *) -let lift ~n (a,b,c,d,e,f,g,h) = - match (List.map (CicSubstitution.lift n) [a;b;c;d;e;f;g;h]) with - | [a;b;c;d;e;f;g;h] -> (a,b,c,d,e,f,g,h) - | _ -> assert false - - (** - remove hypothesis from a given status starting from the last one - @param count number of hypotheses to remove - @param status current proof engine status - *) -let purge_hyps_tac ~count = - let purge_hyps_tac ~count status = - let module S = ProofEngineStructuralRules in - let (proof, goal) = status in - let rec aux n context status = - assert(n>=0); - match (n, context) with - | (0, _) -> status - | (n, hd::tl) -> - let name_of_hyp = - match hd with - None - | Some (Cic.Anonymous,_) -> assert false - | Some (Cic.Name name,_) -> name - in - aux (n-1) tl - (status_of_single_goal_tactic_result - (ProofEngineTypes.apply_tactic (S.clear ~hyp:name_of_hyp) status)) - | (_, []) -> failwith "Ring.purge_hyps_tac: no hypotheses left" - in - let (_, metasenv, _, _) = proof in - let (_, context, _) = CicUtil.lookup_meta goal metasenv in - let proof',goal' = aux count context status in - assert (goal = goal') ; - proof',[goal'] - in - ProofEngineTypes.mk_tactic (purge_hyps_tac ~count) - -(** THE TACTIC! *) - - (** - Ring tactic, does associative and commutative rewritings in Reals ring - @param status current proof engine status - *) - -let ring_tac status = - let (proof, goal) = status in - warn (lazy "in Ring tactic"); - let eqt = mkMutInd (HelmLibraryObjects.Logic.eq_URI, 0) [] in - let r = HelmLibraryObjects.Reals.r in - let metasenv = metasenv_of_status status in - let (metano, context, ty) = CicUtil.lookup_meta goal metasenv in - let (t1, t2) = split_eq ty in (* goal like t1 = t2 *) - match (build_segments ~terms:[t1; t2]) with - | (t1', t1'', t1'_eq_t1'')::(t2', t2'', t2'_eq_t2'')::[] -> begin - if debug then - List.iter (* debugging, feel free to remove *) - (fun (descr, term) -> - warn (lazy (descr ^ " " ^ (CicPp.ppterm term)))) - (List.combine - ["t1"; "t1'"; "t1''"; "t1'_eq_t1''"; - "t2"; "t2'"; "t2''"; "t2'_eq_t2''"] - [t1; t1'; t1''; t1'_eq_t1''; - t2; t2'; t2''; t2'_eq_t2'']); - try - let new_hyps = ref 0 in (* number of new hypotheses created *) - ProofEngineTypes.apply_tactic - (Tacticals.first - ~tactics:[ - "reflexivity", EqualityTactics.reflexivity_tac ; - "exact t1'_eq_t1''", exact_tac ~term:t1'_eq_t1'' ; - "exact t2'_eq_t2''", exact_tac ~term:t2'_eq_t2'' ; - "exact sym_eqt su t1 ...", exact_tac - ~term:( - Cic.Appl - [mkConst HelmLibraryObjects.Logic.sym_eq_URI - [equality_is_a_congruence_A, HelmLibraryObjects.Reals.r; - equality_is_a_congruence_x, t1'' ; - equality_is_a_congruence_y, t1 - ] ; - t1'_eq_t1'' - ]) ; - "elim_type eqt su t1 ...", ProofEngineTypes.mk_tactic (fun status -> - let status' = (* status after 1st elim_type use *) - let context = context_of_status status in - let b,_ = (*TASSI : FIXME*) - are_convertible context t1'' t1 CicUniv.empty_ugraph in - if not b then begin - warn (lazy "t1'' and t1 are NOT CONVERTIBLE"); - let newstatus = - ProofEngineTypes.apply_tactic - (elim_type2_tac (* 1st elim_type use *) - ~proof:t1'_eq_t1'' - ~term:(Cic.Appl [eqt; r; t1''; t1])) - status - in - incr new_hyps; (* elim_type add an hyp *) - match newstatus with - (proof,[goal]) -> proof,goal - | _ -> assert false - end else begin - warn (lazy "t1'' and t1 are CONVERTIBLE"); - status - end - in - let (t1,t1',t1'',t1'_eq_t1'',t2,t2',t2'',t2'_eq_t2'') = - lift 1 (t1,t1',t1'',t1'_eq_t1'', t2,t2',t2'',t2'_eq_t2'') - in - let status'' = - ProofEngineTypes.apply_tactic - (Tacticals.first (* try to solve 1st subgoal *) - ~tactics:[ - "exact t2'_eq_t2''", exact_tac ~term:t2'_eq_t2''; - "exact sym_eqt su t2 ...", - exact_tac - ~term:( - Cic.Appl - [mkConst HelmLibraryObjects.Logic.sym_eq_URI - [equality_is_a_congruence_A, HelmLibraryObjects.Reals.r; - equality_is_a_congruence_x, t2'' ; - equality_is_a_congruence_y, t2 - ] ; - t2'_eq_t2'' - ]) ; - "elim_type eqt su t2 ...", - ProofEngineTypes.mk_tactic (fun status -> - let status' = - let context = context_of_status status in - let b,_ = (* TASSI:FIXME *) - are_convertible context t2'' t2 CicUniv.empty_ugraph - in - if not b then begin - warn (lazy "t2'' and t2 are NOT CONVERTIBLE"); - let newstatus = - ProofEngineTypes.apply_tactic - (elim_type2_tac (* 2nd elim_type use *) - ~proof:t2'_eq_t2'' - ~term:(Cic.Appl [eqt; r; t2''; t2])) - status - in - incr new_hyps; (* elim_type add an hyp *) - match newstatus with - (proof,[goal]) -> proof,goal - | _ -> assert false - end else begin - warn (lazy "t2'' and t2 are CONVERTIBLE"); - status - end - in - try (* try to solve main goal *) - warn (lazy "trying reflexivity ...."); - ProofEngineTypes.apply_tactic - EqualityTactics.reflexivity_tac status' - with (Fail _) -> (* leave conclusion to the user *) - warn (lazy "reflexivity failed, solution's left as an ex :-)"); - ProofEngineTypes.apply_tactic - (purge_hyps_tac ~count:!new_hyps) status')]) - status' - in - status'')]) - status - with (Fail s) -> - raise (Fail (lazy ("Ring failure: " ^ Lazy.force s))) - end - | _ -> (* impossible: we are applying ring exacty to 2 terms *) - assert false - - (* wrap ring_tac catching GoalUnringable and raising Fail *) - -let ring_tac status = - try - ring_tac status - with GoalUnringable -> - raise (Fail (lazy "goal unringable")) - -let ring_tac = ProofEngineTypes.mk_tactic ring_tac - diff --git a/helm/ocaml/tactics/ring.mli b/helm/ocaml/tactics/ring.mli deleted file mode 100644 index b6eb34b69..000000000 --- a/helm/ocaml/tactics/ring.mli +++ /dev/null @@ -1,12 +0,0 @@ - - (* ring tactics *) -val ring_tac: ProofEngineTypes.tactic - -(*Galla: spostata in variuosTactics.ml - (* auxiliary tactics *) -val elim_type_tac: term: Cic.term -> ProofEngineTypes.tactic -*) - -(* spostata in variousTactics.ml -val reflexivity_tac: ProofEngineTypes.tactic -*) diff --git a/helm/ocaml/tactics/statefulProofEngine.ml b/helm/ocaml/tactics/statefulProofEngine.ml deleted file mode 100644 index f75442922..000000000 --- a/helm/ocaml/tactics/statefulProofEngine.ml +++ /dev/null @@ -1,212 +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 default_history_size = 20 - -exception No_goal_left -exception Uri_redefinition -type event = [ `Proof_changed | `Proof_completed ] -let all_events = [ `Proof_changed; `Proof_completed ] -let default_events: event list = [ `Proof_changed ] - -type proof_status = ProofEngineTypes.proof * ProofEngineTypes.goal option - -type 'a observer = (proof_status * 'a) option -> (proof_status * 'a) -> unit -type observer_id = int - -exception Observer_failures of (observer_id * exn) list -exception Tactic_failure of exn -exception Data_failure of exn - -class ['a] status - ?(history_size = default_history_size) - ?uri ~typ ~body ~metasenv init_data compute_data () - = - let next_observer_id = - let next_id = ref 0 in - fun () -> - incr next_id; - !next_id - in - let initial_proof = ((uri: UriManager.uri option), metasenv, body, typ) in - let next_goal (goals, proof) = - match goals, proof with - | goal :: _, _ -> Some goal - | [], (_, (goal, _, _) :: _, _, _) -> - (* the tactic left no open goal: let's choose the first open goal *) - Some goal - | _, _ -> None - in - let initial_goal = next_goal ([], initial_proof) in - object (self) - - val mutable _proof = initial_proof - val mutable _goal = initial_goal - val mutable _data: 'a = init_data (initial_proof, initial_goal) - - (* event -> (id, observer) list *) - val observers = Hashtbl.create 7 - - (* assumption: all items in history are uncompleted proofs, thus option on - * goal could be ignored and goal are stored as bare integers *) - val history = new History.history history_size - - initializer - history#push self#internal_status - - method proof = _proof - method private status = (_proof, _goal) (* logic status *) - method private set_status (proof, (goal: int option)) = - _proof <- proof; - _goal <- goal - - method goal = - match _goal with - | Some goal -> goal - | None -> raise No_goal_left - - (* what will be kept in history *) - method private internal_status = (self#status, _data) - method private set_internal_status (status, data) = - self#set_status status; - _data <- data - - method set_goal goal = - _goal <- Some goal -(* - let old_internal_status = self#internal_status in - _goal <- Some goal; - try - self#update_data old_internal_status; - history#push self#internal_status; - self#private_notify (Some old_internal_status) - with (Data_failure _) as exn -> - self#set_internal_status old_internal_status; - raise exn -*) - - method uri = let (uri, _, _, _) = _proof in uri - method metasenv = let (_, metasenv, _, _) = _proof in metasenv - method body = let (_, _, body, _) = _proof in body - method typ = let (_, _, _, typ) = _proof in typ - - method set_metasenv metasenv = - let (uri, _, body, typ) = _proof in - _proof <- (uri, metasenv, body, typ) - - method set_uri uri = - let (old_uri, metasenv, body, typ) = _proof in - if old_uri <> None then - raise Uri_redefinition; - _proof <- (Some uri, metasenv, body, typ) - - method conjecture goal = - let (_, metasenv, _, _) = _proof in - CicUtil.lookup_meta goal metasenv - - method apply_tactic tactic = - let old_internal_status = self#internal_status in - let (new_proof, new_goals) = - try - ProofEngineTypes.apply_tactic tactic (_proof, self#goal) - with exn -> raise (Tactic_failure exn) - in - _proof <- new_proof; - _goal <- next_goal (new_goals, new_proof); - try - self#update_data old_internal_status; - history#push self#internal_status; - self#private_notify (Some old_internal_status) - with (Data_failure _) as exn -> - self#set_internal_status old_internal_status; - raise exn - - method proof_completed = _goal = None - - method attach_observer ?(interested_in = default_events) observer - = - let id = next_observer_id () in - List.iter - (fun event -> - let prev_observers = - try Hashtbl.find observers event with Not_found -> [] - in - Hashtbl.replace observers event ((id, observer)::prev_observers)) - interested_in; - id - - method detach_observer id = - List.iter - (fun event -> - let prev_observers = - try Hashtbl.find observers event with Not_found -> [] - in - let new_observers = - List.filter (fun (id', _) -> id' <> id) prev_observers - in - Hashtbl.replace observers event new_observers) - all_events - - method private private_notify old_internal_status = - let cur_internal_status = (self#status, _data) in - let exns = ref [] in - let notify (id, observer) = - try - observer old_internal_status cur_internal_status - with exn -> exns := (id, exn) :: !exns - in - List.iter notify - (try Hashtbl.find observers `Proof_changed with Not_found -> []); - if self#proof_completed then - List.iter notify - (try Hashtbl.find observers `Proof_completed with Not_found -> []); - match !exns with - | [] -> () - | exns -> raise (Observer_failures exns) - - method private update_data old_internal_status = - (* invariant: _goal and/or _proof has been changed - * invariant: proof is not yet completed *) - let status = self#status in - try - _data <- compute_data old_internal_status status - with exn -> raise (Data_failure exn) - - method undo ?(steps = 1) () = - let ((proof, goal), data) = history#undo steps in - _proof <- proof; - _goal <- goal; - _data <- data; - self#private_notify None - - method redo ?(steps = 1) () = self#undo ~steps:~-steps () - - method notify = self#private_notify None - - end - -let trivial_status ?uri ~typ ~body ~metasenv () = - new status ?uri ~typ ~body ~metasenv (fun _ -> ()) (fun _ _ -> ()) () - diff --git a/helm/ocaml/tactics/statefulProofEngine.mli b/helm/ocaml/tactics/statefulProofEngine.mli deleted file mode 100644 index 4198876ca..000000000 --- a/helm/ocaml/tactics/statefulProofEngine.mli +++ /dev/null @@ -1,120 +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/ - *) - -(** Stateful handling of proof status *) - -exception No_goal_left -exception Uri_redefinition - -type event = [ `Proof_changed | `Proof_completed ] - -val all_events: event list - - (** from our point of view a status is the status of an incomplete proof, thus - * we have an optional goal which is None if the proof is not yet completed - * (i.e. some goal is still open) *) -type proof_status = ProofEngineTypes.proof * ProofEngineTypes.goal option - - (** Proof observer. First callback argument is Some extended_status - * when a 'real 'change of the proof happened and None when Proof_changed event - * was triggered by a time travel by the means of undo/redo actions or by an - * external "#notify" invocation. Embedded status is the status _before_ the - * current change. Second status is the status reached _after_ the current - * change. *) -type 'a observer = (proof_status * 'a) option -> (proof_status * 'a) -> unit - - (** needed to detach previously attached observers *) -type observer_id - - (** tactic application failed. @see apply_tactic *) -exception Tactic_failure of exn - - (** one or more observers failed. @see apply_tactic *) -exception Observer_failures of (observer_id * exn) list - - (** failure while updating internal data (: 'a). @see apply_tactic *) -exception Data_failure of exn - -(** {2 OO interface} *) - -class ['a] status: - ?history_size:int -> (** default 20 *) - ?uri:UriManager.uri -> - typ:Cic.term -> body:Cic.term -> metasenv:Cic.metasenv -> - (proof_status -> 'a) -> (* init data *) - (proof_status * 'a -> proof_status -> 'a) -> (* update data *) - unit -> - object - - method proof: ProofEngineTypes.proof - method metasenv: Cic.metasenv - method body: Cic.term - method typ: Cic.term - - (** change metasenv _without_ triggering any notification *) - method set_metasenv: Cic.metasenv -> unit - - (** goal -> conjecture - * @raise CicUtil.Meta_not_found *) - method conjecture: int -> Cic.conjecture - - method proof_completed: bool - method goal: int (** @raise No_goal_left *) - method set_goal: int -> unit (** @raise Data_failure *) - - method uri: UriManager.uri option - method set_uri: UriManager.uri -> unit (** @raise Uri_redefinition *) - - (** @raise Tactic_failure - * @raise Observer_failures - * @raise Data_failure - * - * In case of tactic failure, internal status is left unchanged. - * In case of observer failures internal status will be changed and is - * granted that all observer will be invoked collecting their failures. - * In case of data failure, internal status is left unchanged (rolling back - * last tactic application if needed) - *) - method apply_tactic: ProofEngineTypes.tactic -> unit - - method undo: ?steps:int -> unit -> unit - method redo: ?steps:int -> unit -> unit - - method attach_observer: - ?interested_in:(event list) -> 'a observer -> observer_id - - method detach_observer: observer_id -> unit - - (** force a notification to all observer, old status is passed as None *) - method notify: unit - - end - -val trivial_status: - ?uri:UriManager.uri -> - typ:Cic.term -> body:Cic.term -> metasenv:Cic.metasenv -> - unit -> - unit status - diff --git a/helm/ocaml/tactics/tacticChaser.ml b/helm/ocaml/tactics/tacticChaser.ml deleted file mode 100644 index de356a3d1..000000000 --- a/helm/ocaml/tactics/tacticChaser.ml +++ /dev/null @@ -1,257 +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/. - *) - -(*****************************************************************************) -(* *) -(* PROJECT HELM *) -(* *) -(* Claudio Sacerdoti Coen *) -(* 18/02/2003 *) -(* *) -(* *) -(*****************************************************************************) - -module MQI = MQueryInterpreter -module MQIC = MQIConn -module I = MQueryInterpreter -module U = MQGUtil -module G = MQueryGenerator - - (* search arguments on which Apply tactic doesn't fail *) -let matchConclusion mqi_handle ?(output_html = (fun _ -> ())) ~choose_must() status = - let ((_, metasenv, _, _), metano) = status in - let (_, ey ,ty) = CicUtil.lookup_meta metano metasenv in - let list_of_must, only = CGMatchConclusion.get_constraints metasenv ey ty in -match list_of_must with - [] -> [] -|_ -> - let must = choose_must list_of_must only in - let result = - I.execute mqi_handle - (G.query_of_constraints - (Some CGMatchConclusion.universe) - (must,[],[]) (Some only,None,None)) in - let uris = - List.map - (function uri,_ -> - MQueryMisc.wrong_xpointer_format_from_wrong_xpointer_format' uri - ) result - in - let uris = - (* TODO ristretto per ragioni di efficienza *) - prerr_endline "STO FILTRANDO"; - List.filter (fun uri -> Pcre.pmatch ~pat:"^cic:/Coq/" uri) uris - in - prerr_endline "HO FILTRATO"; - let uris',exc = - let rec filter_out = - function - [] -> [],"" - | uri::tl -> - let tl',exc = filter_out tl in - try - if - let time = Unix.gettimeofday() in - (try - ignore(ProofEngineTypes.apply_tactic - (PrimitiveTactics.apply_tac - ~term:(MQueryMisc.term_of_cic_textual_parser_uri - (MQueryMisc.cic_textual_parser_uri_of_string uri))) - status); - let time1 = Unix.gettimeofday() in - prerr_endline (Printf.sprintf "%1.3f" (time1 -. time) ); - true - with ProofEngineTypes.Fail _ -> - let time1 = Unix.gettimeofday() in - prerr_endline (Printf.sprintf "%1.3f" (time1 -. time)); false) - then - uri::tl',exc - else - tl',exc - with - (ProofEngineTypes.Fail _) as e -> - let exc' = - "

    ^ Exception raised trying to apply " ^ - uri ^ ": " ^ Printexc.to_string e ^ "

    " ^ exc - in - tl',exc' - in - filter_out uris - in - let html' = - "

    Objects that can actually be applied:

    " ^ - String.concat "
    " uris' ^ exc ^ - "

    Number of false matches: " ^ - string_of_int (List.length uris - List.length uris') ^ "

    " ^ - "

    Number of good matches: " ^ - string_of_int (List.length uris') ^ "

    " - in - output_html html' ; - uris' -;; - - -(*matchConclusion modificata per evitare una doppia apply*) -let matchConclusion2 mqi_handle ?(output_html = (fun _ -> ())) ~choose_must() status = - let ((_, metasenv, _, _), metano) = status in - let (_, ey ,ty) = CicUtil.lookup_meta metano metasenv in - let conn = - match mqi_handle.MQIConn.pgc with - MQIConn.MySQL_C conn -> conn - | _ -> assert false in - let uris = Match_concl.cmatch conn ty in - (* List.iter - (fun (n,u) -> prerr_endline ((string_of_int n) ^ " " ^u)) uris; *) - (* delete all .var uris *) - let uris = List.filter UriManager.is_var uris in - (* delete all not "cic:/Coq" uris *) - (* - let uris = - (* TODO ristretto per ragioni di efficienza *) - List.filter (fun _,uri -> Pcre.pmatch ~pat:"^cic:/Coq/" uri) uris in - *) - (* concl_cost are the costants in the conclusion of the proof - while hyp_const are the constants in the hypothesis *) - let (main_concl,concl_const) = NewConstraints.mainandcons ty in - prerr_endline ("Ne sono rimasti" ^ string_of_int (List.length uris)); - let hyp t set = - match t with - Some (_,Cic.Decl t) -> (NewConstraints.StringSet.union set (NewConstraints.constants_concl t)) - | Some (_,Cic.Def (t,_)) -> (NewConstraints.StringSet.union set (NewConstraints.constants_concl t)) - | _ -> set in - let hyp_const = - List.fold_right hyp ey NewConstraints.StringSet.empty in - prerr_endline (NewConstraints.pp_StringSet (NewConstraints.StringSet.union hyp_const concl_const)); - (* uris with new constants in the proof are filtered *) - let all_const = NewConstraints.StringSet.union hyp_const concl_const in - let uris = - if (List.length uris < (Filter_auto.power 2 (List.length (NewConstraints.StringSet.elements all_const)))) - then - (prerr_endline("metodo vecchio");List.filter (Filter_auto.filter_new_constants conn all_const) uris) - else Filter_auto.filter_uris conn all_const uris main_concl in -(* - let uris = - (* ristretto all cache *) - prerr_endline "SOLO CACHE"; - List.filter - (fun uri -> CicEnvironment.in_cache (UriManager.uri_of_string uri)) uris - in - prerr_endline "HO FILTRATO2"; -*) - let uris = - List.map - (fun (n,u) -> - (n,MQueryMisc.wrong_xpointer_format_from_wrong_xpointer_format' u)) - uris in - let uris' = - let rec filter_out = - function - [] -> [] - | (m,uri)::tl -> - let tl' = filter_out tl in - try - prerr_endline ("STO APPLICANDO " ^ uri); - let res = (m, - (ProofEngineTypes.apply_tactic( PrimitiveTactics.apply_tac - ~term:(MQueryMisc.term_of_cic_textual_parser_uri - (MQueryMisc.cic_textual_parser_uri_of_string uri))) - status))::tl' in - prerr_endline ("OK");res - (* with ProofEngineTypes.Fail _ -> tl' *) - (* patch to cover CSC's exportation bug *) - with _ -> prerr_endline ("FAIL");tl' - in - prerr_endline ("Ne sono rimasti 2 " ^ string_of_int (List.length uris)); - filter_out uris - in - prerr_endline ("Ne sono rimasti 3 " ^ string_of_int (List.length uris')); - - uris' -;; - -(*funzione che sceglie il penultimo livello di profondita' dei must*) - -(* -let choose_must list_of_must only= -let n = (List.length list_of_must) - 1 in - List.nth list_of_must n -;;*) - -(* questa prende solo il main *) -let choose_must list_of_must only = - List.nth list_of_must 0 - -(* livello 1 -let choose_must list_of_must only = - try - List.nth list_of_must 1 - with _ -> - List.nth list_of_must 0 *) - -let searchTheorems mqi_handle (proof,goal) = - let subproofs = - matchConclusion2 mqi_handle ~choose_must() (proof, goal) in - let res = - List.sort - (fun (n1,(_,gl1)) (n2,(_,gl2)) -> - let l1 = List.length gl1 in - let l2 = List.length gl2 in - (* if the list of subgoals have the same lenght we use the - prefix tag, where higher tags have precedence *) - if l1 = l2 then n2 - n1 - else l1 - l2) - subproofs - in - (* now we may drop the prefix tag *) - (*let res' = - List.map snd res in*) - let order_goal_list proof goal1 goal2 = - let _,metasenv,_,_ = proof in - let (_, ey1, ty1) = CicUtil.lookup_meta goal1 metasenv in - let (_, ey2, ty2) = CicUtil.lookup_meta goal2 metasenv in -(* - prerr_endline "PRIMA DELLA PRIMA TYPE OF " ; -*) - let ty_sort1,u = (*TASSI: FIXME *) - CicTypeChecker.type_of_aux' metasenv ey1 ty1 CicUniv.empty_ugraph in -(* - prerr_endline (Printf.sprintf "PRIMA DELLA SECONDA TYPE OF %s \n### %s @@@%s " (CicMetaSubst.ppmetasenv metasenv []) (CicMetaSubst.ppcontext [] ey2) (CicMetaSubst.ppterm [] ty2)); -*) - let ty_sort2,u1 = CicTypeChecker.type_of_aux' metasenv ey2 ty2 u in -(* - prerr_endline "DOPO LA SECONDA TYPE OF " ; -*) - let b,u2 = - CicReduction.are_convertible ey1 (Cic.Sort Cic.Prop) ty_sort1 u1 in - let prop1 = if b then 0 else 1 in - let b,_ = CicReduction.are_convertible ey2 (Cic.Sort Cic.Prop) ty_sort2 u2 in - let prop2 = if b then 0 else 1 in - prop1 - prop2 in - List.map ( - fun (level,(proof,goallist)) -> - (proof, (List.stable_sort (order_goal_list proof) goallist)) - ) res -;; - diff --git a/helm/ocaml/tactics/tacticals.ml b/helm/ocaml/tactics/tacticals.ml deleted file mode 100644 index b0a9f452e..000000000 --- a/helm/ocaml/tactics/tacticals.ml +++ /dev/null @@ -1,349 +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 CicReduction -open ProofEngineTypes -open UriManager *) - -(** DEBUGGING *) - - (** perform debugging output? *) -let debug = false -let debug_print = fun _ -> () - - (** debugging print *) -let info s = debug_print (lazy ("TACTICALS INFO: " ^ (Lazy.force s))) - -let id_tac = - let id_tac (proof,goal) = - let _, metasenv, _, _ = proof in - let _, _, _ = CicUtil.lookup_meta goal metasenv in - (proof,[goal]) - in - ProofEngineTypes.mk_tactic id_tac - -let fail_tac = - let fail_tac (proof,goal) = - let _, metasenv, _, _ = proof in - let _, _, _ = CicUtil.lookup_meta goal metasenv in - raise (ProofEngineTypes.Fail (lazy "fail tactical")) - in - ProofEngineTypes.mk_tactic fail_tac - -type goal = ProofEngineTypes.goal - - (** TODO needed until tactics start returning both opened and closed goals - * First part of the function performs a diff among goals ~before tactic - * application and ~after it. Second part will add as both opened and closed - * the goals which are returned as opened by the tactic *) -let goals_diff ~before ~after ~opened = - let sort_opened opened add = - opened @ (List.filter (fun g -> not (List.mem g opened)) add) - in - let remove = - List.fold_left - (fun remove e -> if List.mem e after then remove else e :: remove) - [] before - in - let add = - List.fold_left - (fun add e -> if List.mem e before then add else e :: add) - [] - after - in - let add, remove = (* adds goals which have been both opened _and_ closed *) - List.fold_left - (fun (add, remove) opened_goal -> - if List.mem opened_goal before - then opened_goal :: add, opened_goal :: remove - else add, remove) - (add, remove) - opened - in - sort_opened opened add, remove - -module type T = -sig - type tactic - val first: tactics: (string * tactic) list -> tactic - val thens: start: tactic -> continuations: tactic list -> tactic - val then_: start: tactic -> continuation: tactic -> tactic - val seq: tactics: tactic list -> tactic - val repeat_tactic: tactic: tactic -> tactic - val do_tactic: n: int -> tactic: tactic -> tactic - val try_tactic: tactic: tactic -> tactic - val solve_tactics: tactics: (string * tactic) list -> tactic - - val tactic: tactic -> tactic - val skip: tactic - val dot: tactic - val semicolon: tactic - val branch: tactic - val shift: tactic - val pos: int -> tactic - val merge: tactic - val focus: int list -> tactic - val unfocus: tactic -end - -module Make (S: Continuationals.Status) : T with type tactic = S.tactic = -struct - module C = Continuationals.Make (S) - - type tactic = S.tactic - - let fold_eval status ts = - let istatus = - List.fold_left (fun istatus t -> S.focus ~-1 (C.eval t istatus)) status ts - in - S.inject istatus - - (** - naive implementation of ORELSE tactical, try a sequence of tactics in turn: - if one fails pass to the next one and so on, eventually raises (failure "no - tactics left") - *) - let first ~tactics = - let rec first ~(tactics: (string * tactic) list) istatus = - info (lazy "in Tacticals.first"); - match tactics with - | (descr, tac)::tactics -> - info (lazy ("Tacticals.first IS TRYING " ^ descr)); - (try - let res = S.apply_tactic tac istatus in - info (lazy ("Tacticals.first: " ^ descr ^ " succedeed!!!")); - res - with - e -> - match e with - | (ProofEngineTypes.Fail _) - | (CicTypeChecker.TypeCheckerFailure _) - | (CicUnification.UnificationFailure _) -> - info (lazy ( - "Tacticals.first failed with exn: " ^ - Printexc.to_string e)); - first ~tactics istatus - | _ -> raise e) (* [e] must not be caught ; let's re-raise it *) - | [] -> raise (ProofEngineTypes.Fail (lazy "first: no tactics left")) - in - S.mk_tactic (first ~tactics) - - let thens ~start ~continuations = - S.mk_tactic - (fun istatus -> - fold_eval istatus - ([ C.Tactical (C.Tactic start); C.Branch ] - @ (HExtlib.list_concat ~sep:[ C.Shift ] - (List.map (fun t -> [ C.Tactical (C.Tactic t) ]) continuations)) - @ [ C.Merge ])) - - let then_ ~start ~continuation = - S.mk_tactic - (fun istatus -> - let ostatus = C.eval (C.Tactical (C.Tactic start)) istatus in - let opened,closed = S.goals ostatus in - match opened with - [] -> ostatus - | _ -> - fold_eval (S.focus ~-1 ostatus) - [ C.Semicolon; - C.Tactical (C.Tactic continuation) ]) - - let seq ~tactics = - S.mk_tactic - (fun istatus -> - fold_eval istatus - (HExtlib.list_concat ~sep:[ C.Semicolon ] - (List.map (fun t -> [ C.Tactical (C.Tactic t) ]) tactics))) - - (* TODO: x debug: i due tatticali seguenti non contano quante volte hanno - * applicato la tattica *) - - let rec step f output_status opened closed = - match opened with - | [] -> output_status, [], closed - | head :: tail -> - let status = S.focus head output_status in - let output_status' = f status in - let opened', closed' = S.goals output_status' in - let output_status'', opened'', closed'' = - step f output_status' tail [] - in - output_status'', opened' @ opened'', closed' @ closed'' - - (* This keep on appling tactic until it fails. When generates more - * than one goal, you have a tree of application on the tactic, repeat_tactic - * works in depth on this tree *) - let repeat_tactic ~tactic = - let rec repeat_tactic ~tactic status = - info (lazy "in repeat_tactic"); - try - let output_status = S.apply_tactic tactic status in - let opened, closed = S.goals output_status in - let output_status, opened', closed' = - step (repeat_tactic ~tactic) output_status opened closed - in - S.set_goals (opened', closed') output_status - with - (ProofEngineTypes.Fail _) as e -> - info (lazy - ("Tacticals.repeat_tactic failed after nth time with exception: " - ^ Printexc.to_string e)); - S.apply_tactic S.id_tactic status - in - S.mk_tactic (repeat_tactic ~tactic) - - (* This tries to apply tactic n times *) - let do_tactic ~n ~tactic = - let rec do_tactic ~n ~tactic status = - if n = 0 then - S.apply_tactic S.id_tactic status - else - try - let output_status = S.apply_tactic tactic status in - let opened, closed = S.goals output_status in - let output_status, opened', closed' = - step (do_tactic ~n:(n-1) ~tactic) output_status opened closed - in - S.set_goals (opened', closed') output_status - with - (ProofEngineTypes.Fail _) as e -> - info (lazy - ("Tacticals.do_tactic failed after nth time with exception: " - ^ Printexc.to_string e)) ; - S.apply_tactic S.id_tactic status - in - S.mk_tactic (do_tactic ~n ~tactic) - - (* This applies tactic and catches its possible failure *) - let try_tactic ~tactic = - let rec try_tactic ~tactic status = - info (lazy "in Tacticals.try_tactic"); - try - S.apply_tactic tactic status - with - (ProofEngineTypes.Fail _) as e -> - info (lazy ( - "Tacticals.try_tactic failed with exn: " ^ Printexc.to_string e)); - S.apply_tactic S.id_tactic status - in - S.mk_tactic (try_tactic ~tactic) - - (* This tries tactics until one of them doesn't _solve_ the goal *) - (* TODO: si puo' unificare le 2(due) chiamate ricorsive? *) - let solve_tactics ~tactics = - let rec solve_tactics ~(tactics: (string * tactic) list) status = - info (lazy "in Tacticals.solve_tactics"); - match tactics with - | (descr, currenttactic)::moretactics -> - info (lazy ("Tacticals.solve_tactics is trying " ^ descr)); - (try - let output_status = S.apply_tactic currenttactic status in - let opened, closed = S.goals output_status in - match opened with - | [] -> info (lazy ("Tacticals.solve_tactics: " ^ descr ^ - " solved the goal!!!")); - (* questo significa che non ci sono piu' goal, o che current_tactic non ne ha - * aperti di nuovi? (la 2a!) ##### nel secondo caso basta per dire che - * solve_tactics has solved the goal? (si!) *) - output_status - | _ -> info (lazy ("Tacticals.solve_tactics: try the next tactic")); - solve_tactics ~tactics:(moretactics) status - with - (ProofEngineTypes.Fail _) as e -> - info (lazy ( - "Tacticals.solve_tactics: current tactic failed with exn: " - ^ Printexc.to_string e)); - solve_tactics ~tactics status - ) - | [] -> - raise (ProofEngineTypes.Fail - (lazy "solve_tactics cannot solve the goal")) - in - S.mk_tactic (solve_tactics ~tactics) - - let cont_proxy cont = S.mk_tactic (C.eval cont) - - let tactic t = cont_proxy (C.Tactical (C.Tactic t)) - let skip = cont_proxy (C.Tactical C.Skip) - let dot = cont_proxy C.Dot - let semicolon = cont_proxy C.Semicolon - let branch = cont_proxy C.Branch - let shift = cont_proxy C.Shift - let pos i = cont_proxy (C.Pos i) - let merge = cont_proxy C.Merge - let focus goals = cont_proxy (C.Focus goals) - let unfocus = cont_proxy C.Unfocus -end - -module ProofEngineStatus = -struct - module Stack = Continuationals.Stack - - type input_status = - ProofEngineTypes.status (* (proof, goal) *) * Stack.t - - type output_status = - (ProofEngineTypes.proof * goal list * goal list) * Stack.t - - type tactic = ProofEngineTypes.tactic - - let id_tactic = id_tac - - let mk_tactic f = - ProofEngineTypes.mk_tactic - (fun (proof, goal) as pstatus -> - let stack = [ [ 1, Stack.Open goal ], [], [], `NoTag ] in - let istatus = pstatus, stack in -(* let ostatus = f istatus in - let ((proof, opened, _), _) = ostatus in *) - let (proof, _, _), stack = f istatus in - let opened = Continuationals.Stack.open_goals stack in - proof, opened) - - let apply_tactic tac ((proof, _) as pstatus, stack) = - let proof', opened = ProofEngineTypes.apply_tactic tac pstatus in -(* let _ = prerr_endline ("goal aperti dalla tattica " ^ String.concat "," (List.map string_of_int opened)) in *) - let before = ProofEngineTypes.goals_of_proof proof in - let after = ProofEngineTypes.goals_of_proof proof' in - let opened_goals, closed_goals = goals_diff ~before ~after ~opened in -(* let _ = prerr_endline ("goal ritornati dalla tattica " ^ String.concat "," (List.map string_of_int opened_goals)) in *) - (proof', opened_goals, closed_goals), stack - - let goals ((_, opened, closed), _) = opened, closed - let set_goals (opened, closed) ((proof, _, _), stack) = - (proof, opened, closed), stack - - let get_stack = snd - let set_stack stack (opstatus, _) = opstatus, stack - - let inject ((proof, _), stack) = ((proof, [], []), stack) - let focus goal ((proof, _, _), stack) = (proof, goal), stack -end - -module ProofEngineTacticals = Make (ProofEngineStatus) - -include ProofEngineTacticals - diff --git a/helm/ocaml/tactics/tacticals.mli b/helm/ocaml/tactics/tacticals.mli deleted file mode 100644 index 88fafc1f8..000000000 --- a/helm/ocaml/tactics/tacticals.mli +++ /dev/null @@ -1,92 +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/. - *) - -val id_tac : ProofEngineTypes.tactic -val fail_tac: ProofEngineTypes.tactic - -(* module type Status = - sig -|+ type external_input_status +| - type input_status - type output_status -|+ type external_output_status +| - -|+ val internalize: external_input_status -> input_status - val externalize: output_status -> external_output_status +| - - type tactic - - val mk_tactic : (input_status -> output_status) -> tactic - val apply_tactic : tactic -> input_status -> output_status - - val id_tac : tactic - - val goals : output_status -> ProofEngineTypes.goal list - val get_stack : input_status -> stack - val set_stack : stack -> output_status -> output_status - - val inject : input_status -> output_status - val focus : goal -> output_status -> input_status - end *) - -module type T = -sig - type tactic - - val first: tactics: (string * tactic) list -> tactic - val thens: start: tactic -> continuations: tactic list -> tactic - val then_: start: tactic -> continuation: tactic -> tactic - val seq: tactics: tactic list -> tactic (** "folding" of then_ *) - val repeat_tactic: tactic: tactic -> tactic - val do_tactic: n: int -> tactic: tactic -> tactic - val try_tactic: tactic: tactic -> tactic - val solve_tactics: tactics: (string * tactic) list -> tactic - -(* module C: - sig *) - val tactic: tactic -> tactic (** apply tactic to all goal in env *) - val skip: tactic - val dot: tactic - val semicolon: tactic - val branch: tactic - val shift: tactic - val pos: int -> tactic - val merge: tactic - val focus: int list -> tactic - val unfocus: tactic -(* end *) -end - -module Make (S: Continuationals.Status) : T with type tactic = S.tactic - -include T with type tactic = ProofEngineTypes.tactic - -(* TODO temporary *) -val goals_diff: - before:ProofEngineTypes.goal list -> - after:ProofEngineTypes.goal list -> - opened:ProofEngineTypes.goal list -> - ProofEngineTypes.goal list * ProofEngineTypes.goal list - diff --git a/helm/ocaml/tactics/tactics.ml b/helm/ocaml/tactics/tactics.ml deleted file mode 100644 index e75677caf..000000000 --- a/helm/ocaml/tactics/tactics.ml +++ /dev/null @@ -1,70 +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://cs.unibo.it/helm/. - *) - -let absurd = NegationTactics.absurd_tac -let apply = PrimitiveTactics.apply_tac -let assumption = VariousTactics.assumption_tac -let auto = AutoTactic.auto_tac -let change = ReductionTactics.change_tac -let clear = ProofEngineStructuralRules.clear -let clearbody = ProofEngineStructuralRules.clearbody -let compare = DiscriminationTactics.compare_tac -let constructor = IntroductionTactics.constructor_tac -let contradiction = NegationTactics.contradiction_tac -let cut = PrimitiveTactics.cut_tac -let decide_equality = DiscriminationTactics.decide_equality_tac -let decompose = EliminationTactics.decompose_tac -let discriminate = DiscriminationTactics.discriminate_tac -let elim_intros = PrimitiveTactics.elim_intros_tac -let elim_intros_simpl = PrimitiveTactics.elim_intros_simpl_tac -let elim_type = EliminationTactics.elim_type_tac -let exact = PrimitiveTactics.exact_tac -let exists = IntroductionTactics.exists_tac -let fail = Tacticals.fail_tac -let fold = ReductionTactics.fold_tac -let fourier = FourierR.fourier_tac -let fwd_simpl = FwdSimplTactic.fwd_simpl_tac -let generalize = VariousTactics.generalize_tac -let id = Tacticals.id_tac -let injection = DiscriminationTactics.injection_tac -let intros = PrimitiveTactics.intros_tac -let lapply = FwdSimplTactic.lapply_tac -let left = IntroductionTactics.left_tac -let letin = PrimitiveTactics.letin_tac -let normalize = ReductionTactics.normalize_tac -let reduce = ReductionTactics.reduce_tac -let reflexivity = EqualityTactics.reflexivity_tac -let replace = EqualityTactics.replace_tac -let rewrite = EqualityTactics.rewrite_tac -let rewrite_simpl = EqualityTactics.rewrite_simpl_tac -let right = IntroductionTactics.right_tac -let ring = Ring.ring_tac -let set_goal = ProofEngineStructuralRules.set_goal -let simpl = ReductionTactics.simpl_tac -let split = IntroductionTactics.split_tac -let symmetry = EqualityTactics.symmetry_tac -let transitivity = EqualityTactics.transitivity_tac -let unfold = ReductionTactics.unfold_tac -let whd = ReductionTactics.whd_tac diff --git a/helm/ocaml/tactics/tactics.mli b/helm/ocaml/tactics/tactics.mli deleted file mode 100644 index 6d5240935..000000000 --- a/helm/ocaml/tactics/tactics.mli +++ /dev/null @@ -1,86 +0,0 @@ -(* GENERATED FILE, DO NOT EDIT *) -val absurd : term:Cic.term -> ProofEngineTypes.tactic -val apply : term:Cic.term -> ProofEngineTypes.tactic -val assumption : ProofEngineTypes.tactic -val auto : - ?depth:int -> - ?width:int -> - ?paramodulation:string -> - ?full:string -> dbd:HMysql.dbd -> unit -> ProofEngineTypes.tactic -val change : - pattern:ProofEngineTypes.pattern -> - ProofEngineTypes.lazy_term -> ProofEngineTypes.tactic -val clear : hyp:string -> ProofEngineTypes.tactic -val clearbody : hyp:string -> ProofEngineTypes.tactic -val compare : term:Cic.term -> ProofEngineTypes.tactic -val constructor : n:int -> ProofEngineTypes.tactic -val contradiction : ProofEngineTypes.tactic -val cut : - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> - Cic.term -> ProofEngineTypes.tactic -val decide_equality : ProofEngineTypes.tactic -val decompose : - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> - ?user_types:(UriManager.uri * int) list -> - dbd:HMysql.dbd -> string -> ProofEngineTypes.tactic -val discriminate : term:Cic.term -> ProofEngineTypes.tactic -val elim_intros : - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> - ?depth:int -> ?using:Cic.term -> Cic.term -> ProofEngineTypes.tactic -val elim_intros_simpl : - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> - ?depth:int -> ?using:Cic.term -> Cic.term -> ProofEngineTypes.tactic -val elim_type : - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> - ?depth:int -> ?using:Cic.term -> Cic.term -> ProofEngineTypes.tactic -val exact : term:Cic.term -> ProofEngineTypes.tactic -val exists : ProofEngineTypes.tactic -val fail : ProofEngineTypes.tactic -val fold : - reduction:ProofEngineTypes.lazy_reduction -> - term:ProofEngineTypes.lazy_term -> - pattern:ProofEngineTypes.pattern -> ProofEngineTypes.tactic -val fourier : ProofEngineTypes.tactic -val fwd_simpl : - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> - dbd:HMysql.dbd -> string -> ProofEngineTypes.tactic -val generalize : - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> - ProofEngineTypes.pattern -> ProofEngineTypes.tactic -val id : ProofEngineTypes.tactic -val injection : term:Cic.term -> ProofEngineTypes.tactic -val intros : - ?howmany:int -> - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> - unit -> ProofEngineTypes.tactic -val lapply : - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> - ?how_many:int -> - ?to_what:Cic.term list -> Cic.term -> ProofEngineTypes.tactic -val left : ProofEngineTypes.tactic -val letin : - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> - Cic.term -> ProofEngineTypes.tactic -val normalize : pattern:ProofEngineTypes.pattern -> ProofEngineTypes.tactic -val reduce : pattern:ProofEngineTypes.pattern -> ProofEngineTypes.tactic -val reflexivity : ProofEngineTypes.tactic -val replace : - pattern:ProofEngineTypes.pattern -> - with_what:ProofEngineTypes.lazy_term -> ProofEngineTypes.tactic -val rewrite : - direction:[ `LeftToRight | `RightToLeft ] -> - pattern:ProofEngineTypes.pattern -> Cic.term -> ProofEngineTypes.tactic -val rewrite_simpl : - direction:[ `LeftToRight | `RightToLeft ] -> - pattern:ProofEngineTypes.pattern -> Cic.term -> ProofEngineTypes.tactic -val right : ProofEngineTypes.tactic -val ring : ProofEngineTypes.tactic -val set_goal : int -> ProofEngineTypes.tactic -val simpl : pattern:ProofEngineTypes.pattern -> ProofEngineTypes.tactic -val split : ProofEngineTypes.tactic -val symmetry : ProofEngineTypes.tactic -val transitivity : term:Cic.term -> ProofEngineTypes.tactic -val unfold : - ProofEngineTypes.lazy_term option -> - pattern:ProofEngineTypes.pattern -> ProofEngineTypes.tactic -val whd : pattern:ProofEngineTypes.pattern -> ProofEngineTypes.tactic diff --git a/helm/ocaml/tactics/variousTactics.ml b/helm/ocaml/tactics/variousTactics.ml deleted file mode 100644 index 927552f0a..000000000 --- a/helm/ocaml/tactics/variousTactics.ml +++ /dev/null @@ -1,176 +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/. - *) - - -(* TODO se ce n'e' piu' di una, prende la prima che trova... sarebbe meglio -chiedere: find dovrebbe restituire una lista di hyp (?) da passare all'utonto con una -funzione di callback che restituisce la (sola) hyp da applicare *) - -let assumption_tac = - let module PET = ProofEngineTypes in - let assumption_tac status = - let (proof, goal) = status in - let module C = Cic in - let module R = CicReduction in - let module S = CicSubstitution in - let module PT = PrimitiveTactics in - let _,metasenv,_,_ = proof in - let _,context,ty = CicUtil.lookup_meta goal metasenv in - let rec find n = function - hd::tl -> - (match hd with - (Some (_, C.Decl t)) when - fst (R.are_convertible context (S.lift n t) ty - CicUniv.empty_ugraph) -> n - | (Some (_, C.Def (_,Some ty'))) when - fst (R.are_convertible context (S.lift n ty') ty - CicUniv.empty_ugraph) -> n - | (Some (_, C.Def (t,None))) -> - let ty_t, u = (* TASSI: FIXME *) - CicTypeChecker.type_of_aux' metasenv context (S.lift n t) - CicUniv.empty_ugraph in - let b,_ = R.are_convertible context ty_t ty u in - if b then n else find (n+1) tl - | _ -> find (n+1) tl - ) - | [] -> raise (PET.Fail (lazy "Assumption: No such assumption")) - in PET.apply_tactic (PT.apply_tac ~term:(C.Rel (find 1 context))) status - in - PET.mk_tactic assumption_tac -;; - -(* ANCORA DA DEBUGGARE *) - -exception UnableToDetectTheTermThatMustBeGeneralizedYouMustGiveItExplicitly;; -exception TheSelectedTermsMustLiveInTheGoalContext -exception AllSelectedTermsMustBeConvertible;; -exception GeneralizationInHypothesesNotImplementedYet;; - -let generalize_tac - ?(mk_fresh_name_callback = FreshNamesGenerator.mk_fresh_name ~subst:[]) - pattern - = - let module PET = ProofEngineTypes in - let generalize_tac mk_fresh_name_callback - ~pattern:(term,hyps_pat,concl_pat) status - = - if hyps_pat <> [] then raise GeneralizationInHypothesesNotImplementedYet; - let (proof, goal) = status in - let module C = Cic in - let module P = PrimitiveTactics in - let module T = Tacticals in - let uri,metasenv,pbo,pty = proof in - let (_,context,ty) as conjecture = CicUtil.lookup_meta goal metasenv in - let subst,metasenv,u,selected_hyps,terms_with_context = - ProofEngineHelpers.select ~metasenv ~ugraph:CicUniv.empty_ugraph - ~conjecture ~pattern in - let context = CicMetaSubst.apply_subst_context subst context in - let metasenv = CicMetaSubst.apply_subst_metasenv subst metasenv in - let pbo = CicMetaSubst.apply_subst subst pbo in - let pty = CicMetaSubst.apply_subst subst pty in - let status = (uri,metasenv,pbo,pty),goal in - let term = - match term with - None -> None - | Some term -> - Some (fun context metasenv ugraph -> - let term, metasenv, ugraph = term context metasenv ugraph in - CicMetaSubst.apply_subst subst term, metasenv, ugraph) - in - let u,typ,term, metasenv = - let context_of_t, (t, metasenv, u) = - match terms_with_context, term with - [], None -> - raise - UnableToDetectTheTermThatMustBeGeneralizedYouMustGiveItExplicitly - | [], Some t -> context, t context metasenv u - | (context_of_t, _)::_, Some t -> - context_of_t, t context_of_t metasenv u - | (context_of_t, t)::_, None -> context_of_t, (t, metasenv, u) - in - let t,subst,metasenv' = - try - CicMetaSubst.delift_rels [] metasenv - (List.length context_of_t - List.length context) t - with - CicMetaSubst.DeliftingARelWouldCaptureAFreeVariable -> - raise TheSelectedTermsMustLiveInTheGoalContext in - (*CSC: I am not sure about the following two assertions; - maybe I need to propagate the new subst and metasenv *) - assert (subst = []); - assert (metasenv' = metasenv); - let typ,u = CicTypeChecker.type_of_aux' ~subst metasenv context t u in - u,typ,t,metasenv - in - (* We need to check: - 1. whether they live in the context of the goal; - if they do they are also well-typed since they are closed subterms - of a well-typed term in the well-typed context of the well-typed - term - 2. whether they are convertible - *) - ignore ( - (* TASSI: FIXME *) - List.fold_left - (fun u (context_of_t,t) -> - (* 1 *) - let t,subst,metasenv' = - try - CicMetaSubst.delift_rels [] metasenv - (List.length context_of_t - List.length context) t - with - CicMetaSubst.DeliftingARelWouldCaptureAFreeVariable -> - raise TheSelectedTermsMustLiveInTheGoalContext in - (*CSC: I am not sure about the following two assertions; - maybe I need to propagate the new subst and metasenv *) - assert (subst = []); - assert (metasenv' = metasenv); - (* 2 *) - let b,u1 = CicReduction.are_convertible ~subst context term t u in - if not b then - raise AllSelectedTermsMustBeConvertible - else - u1 - ) u terms_with_context) ; - PET.apply_tactic - (T.thens - ~start: - (P.cut_tac - (C.Prod( - (mk_fresh_name_callback metasenv context C.Anonymous ~typ:typ), - typ, - (ProofEngineReduction.replace_lifting_csc 1 - ~equality:(==) - ~what:(List.map snd terms_with_context) - ~with_what:(List.map (function _ -> C.Rel 1) terms_with_context) - ~where:ty) - ))) - ~continuations: - [(P.apply_tac ~term:(C.Appl [C.Rel 1; CicSubstitution.lift 1 term])) ; - T.id_tac]) - status - in - PET.mk_tactic (generalize_tac mk_fresh_name_callback ~pattern) -;; diff --git a/helm/ocaml/tactics/variousTactics.mli b/helm/ocaml/tactics/variousTactics.mli deleted file mode 100644 index f792666c2..000000000 --- a/helm/ocaml/tactics/variousTactics.mli +++ /dev/null @@ -1,34 +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/. - *) - -exception AllSelectedTermsMustBeConvertible;; - -val assumption_tac: ProofEngineTypes.tactic - -val generalize_tac: - ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> - ProofEngineTypes.pattern -> - ProofEngineTypes.tactic diff --git a/helm/ocaml/thread/.cvsignore b/helm/ocaml/thread/.cvsignore deleted file mode 100644 index 88689d91a..000000000 --- a/helm/ocaml/thread/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.cm[iaox] *.cmxa *.[ao] diff --git a/helm/ocaml/thread/.depend b/helm/ocaml/thread/.depend deleted file mode 100644 index 7759190c6..000000000 --- a/helm/ocaml/thread/.depend +++ /dev/null @@ -1,4 +0,0 @@ -threadSafe.cmo: threadSafe.cmi -threadSafe.cmx: threadSafe.cmi -extThread.cmo: extThread.cmi -extThread.cmx: extThread.cmi diff --git a/helm/ocaml/thread/Makefile b/helm/ocaml/thread/Makefile deleted file mode 100644 index e39e5993c..000000000 --- a/helm/ocaml/thread/Makefile +++ /dev/null @@ -1,28 +0,0 @@ - -PACKAGE = thread -REQUIRES = threads -INTERFACE_FILES = threadSafe.mli extThread.mli -IMPLEMENTATION_FILES = $(INTERFACE_FILES:%.mli=%.ml) - -all: thread_fake.cma -opt: thread_fake.cmxa - -include ../Makefile.common - -fake/threadSafe.cmi: fake/threadSafe.mli - cd fake/ \ - && ocamlfind ocamlc -c threadSafe.mli -thread_fake.cma: fake/threadSafe.cmi - cd fake/ \ - && ocamlfind ocamlc -a -o $@ threadSafe.ml \ - && cp $@ ../ -thread_fake.cmxa: fake/threadSafe.cmi - cd fake/ \ - && ocamlfind opt -a -o $@ threadSafe.ml \ - && cp $@ ../ - -clean: clean_fake -clean_fake: - rm -f fake/*.cm[aiox] fake/*.cmxa fake/*.[ao] - rm -f thread_fake.cma thread_fake.cmxa - diff --git a/helm/ocaml/thread/extThread.ml b/helm/ocaml/thread/extThread.ml deleted file mode 100644 index 2162251ac..000000000 --- a/helm/ocaml/thread/extThread.ml +++ /dev/null @@ -1,108 +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/ - *) - -let debug = true -let debug_print s = if debug then prerr_endline (Lazy.force s) - -exception Can_t_kill of Thread.t * string (* thread, reason *) -exception Thread_not_found of Thread.t - -module OrderedPid = - struct - type t = int - let compare = Pervasives.compare - end -module PidSet = Set.Make (OrderedPid) - - (* perform an action inside a critical section controlled by given mutex *) -let do_critical mutex = - fun action -> - try - Mutex.lock mutex; - let res = Lazy.force action in - Mutex.unlock mutex; - res - with e -> Mutex.unlock mutex; raise e - -let kill_signal = Sys.sigusr2 (* signal used to kill children *) -let chan = Event.new_channel () (* communication channel between threads *) -let creation_mutex = Mutex.create () -let dead_threads_walking = ref PidSet.empty -let pids: (Thread.t, int) Hashtbl.t = Hashtbl.create 17 - - (* given a thread body (i.e. first argument of a Thread.create invocation) - return a new thread body which unblock the kill signal and send its pid to - parent over "chan" *) -let wrap_thread body = - fun arg -> - ignore (Unix.sigprocmask Unix.SIG_UNBLOCK [ kill_signal ]); - Event.sync (Event.send chan (Unix.getpid ())); - body arg - -(* -(* FAKE IMPLEMENTATION *) -let create = Thread.create -let kill _ = () -*) - -let create body arg = - do_critical creation_mutex (lazy ( - let thread_t = Thread.create (wrap_thread body) arg in - let pid = Event.sync (Event.receive chan) in - Hashtbl.add pids thread_t pid; - thread_t - )) - -let kill thread_t = - try - let pid = - try - Hashtbl.find pids thread_t - with Not_found -> raise (Thread_not_found thread_t) - in - dead_threads_walking := PidSet.add pid !dead_threads_walking; - Unix.kill pid kill_signal - with e -> raise (Can_t_kill (thread_t, Printexc.to_string e)) - - (* "kill_signal" handler, check if current process must die, if this is the - case exits with Thread.exit *) -let _ = - ignore (Sys.signal kill_signal (Sys.Signal_handle - (fun signal -> - let myself = Unix.getpid () in - match signal with - | sg when (sg = kill_signal) && - (PidSet.mem myself !dead_threads_walking) -> - dead_threads_walking := PidSet.remove myself !dead_threads_walking; - debug_print (lazy "AYEEEEH!"); - Thread.exit () - | _ -> ()))) - - (* block kill signal in main process *) -let _ = ignore (Unix.sigprocmask Unix.SIG_BLOCK [ kill_signal ]) - diff --git a/helm/ocaml/thread/extThread.mli b/helm/ocaml/thread/extThread.mli deleted file mode 100644 index 5fb3bd487..000000000 --- a/helm/ocaml/thread/extThread.mli +++ /dev/null @@ -1,35 +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/ - *) - -(** {2 Extended Thread module with killing capabilities} *) - -exception Can_t_kill of Thread.t * string - -val create: ('a -> 'b) -> 'a -> Thread.t -val kill: Thread.t -> unit - diff --git a/helm/ocaml/thread/fake/.cvsignore b/helm/ocaml/thread/fake/.cvsignore deleted file mode 100644 index 88689d91a..000000000 --- a/helm/ocaml/thread/fake/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.cm[iaox] *.cmxa *.[ao] diff --git a/helm/ocaml/thread/fake/threadSafe.ml b/helm/ocaml/thread/fake/threadSafe.ml deleted file mode 100644 index b2c427710..000000000 --- a/helm/ocaml/thread/fake/threadSafe.ml +++ /dev/null @@ -1,35 +0,0 @@ -(* - * Copyright (C) 2003-2005: - * 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/ - *) - -class threadSafe = - object - method private doCritical: 'a. 'a lazy_t -> 'a = fun a -> Lazy.force a - method private doReader: 'a. 'a lazy_t -> 'a = fun a -> Lazy.force a - method private doWriter: 'a. 'a lazy_t -> 'a = fun a -> Lazy.force a - end - diff --git a/helm/ocaml/thread/fake/threadSafe.mli b/helm/ocaml/thread/fake/threadSafe.mli deleted file mode 100644 index 78166abcc..000000000 --- a/helm/ocaml/thread/fake/threadSafe.mli +++ /dev/null @@ -1,44 +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/ - *) - -class threadSafe: - object - - (** execute 'action' in mutual exclusion between all other threads *) - method private doCritical: 'a. 'a lazy_t -> 'a - - (** execute 'action' acting as a 'reader' i.e.: multiple readers can act - at the same time but no writer can act until no readers are acting *) - method private doReader: 'a. 'a lazy_t -> 'a - - (** execute 'action' acting as a 'writer' i.e.: when a writer is acting, - no readers or writer can act, beware that writers can starve *) - method private doWriter: 'a. 'a lazy_t -> 'a - - end - diff --git a/helm/ocaml/thread/threadSafe.ml b/helm/ocaml/thread/threadSafe.ml deleted file mode 100644 index affeae137..000000000 --- a/helm/ocaml/thread/threadSafe.ml +++ /dev/null @@ -1,98 +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/ - *) - -let debug = false -let debug_print s = if debug then prerr_endline (Lazy.force s) - -class threadSafe = - object (self) - - val mutex = Mutex.create () - - (** condition variable: 'no readers is currently reading' *) - val noReaders = Condition.create () - - (** readers count *) - val mutable readersCount = 0 - - method private incrReadersCount = (* internal, not exported *) - self#doCritical (lazy ( - readersCount <- readersCount + 1 - )) - - method private decrReadersCount = (* internal, not exported *) - self#doCritical (lazy ( - if readersCount > 0 then readersCount <- readersCount - 1; - )) - - method private signalNoReaders = (* internal, not exported *) - self#doCritical (lazy ( - if readersCount = 0 then Condition.signal noReaders - )) - - method private doCritical: 'a. 'a lazy_t -> 'a = - fun action -> - debug_print (lazy ""); - (try - Mutex.lock mutex; - let res = Lazy.force action in - Mutex.unlock mutex; - debug_print (lazy ""); - res - with e -> - Mutex.unlock mutex; - raise e); - - method private doReader: 'a. 'a lazy_t -> 'a = - fun action -> - debug_print (lazy ""); - let cleanup () = - self#decrReadersCount; - self#signalNoReaders - in - self#incrReadersCount; - let res = (try Lazy.force action with e -> (cleanup (); raise e)) in - cleanup (); - debug_print (lazy ""); - res - - (* TODO may starve!!!! is what we want or not? *) - method private doWriter: 'a. 'a lazy_t -> 'a = - fun action -> - debug_print (lazy ""); - self#doCritical (lazy ( - while readersCount > 0 do - Condition.wait noReaders mutex - done; - let res = Lazy.force action in - debug_print (lazy ""); - res - )) - - end - diff --git a/helm/ocaml/thread/threadSafe.mli b/helm/ocaml/thread/threadSafe.mli deleted file mode 100644 index 78166abcc..000000000 --- a/helm/ocaml/thread/threadSafe.mli +++ /dev/null @@ -1,44 +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/ - *) - -class threadSafe: - object - - (** execute 'action' in mutual exclusion between all other threads *) - method private doCritical: 'a. 'a lazy_t -> 'a - - (** execute 'action' acting as a 'reader' i.e.: multiple readers can act - at the same time but no writer can act until no readers are acting *) - method private doReader: 'a. 'a lazy_t -> 'a - - (** execute 'action' acting as a 'writer' i.e.: when a writer is acting, - no readers or writer can act, beware that writers can starve *) - method private doWriter: 'a. 'a lazy_t -> 'a - - end - diff --git a/helm/ocaml/urimanager/.cvsignore b/helm/ocaml/urimanager/.cvsignore deleted file mode 100644 index 6b3eba302..000000000 --- a/helm/ocaml/urimanager/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.cm[iaox] *.cmxa diff --git a/helm/ocaml/urimanager/.depend b/helm/ocaml/urimanager/.depend deleted file mode 100644 index 482148423..000000000 --- a/helm/ocaml/urimanager/.depend +++ /dev/null @@ -1,2 +0,0 @@ -uriManager.cmo: uriManager.cmi -uriManager.cmx: uriManager.cmi diff --git a/helm/ocaml/urimanager/Makefile b/helm/ocaml/urimanager/Makefile deleted file mode 100644 index 8d5691aaf..000000000 --- a/helm/ocaml/urimanager/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -PACKAGE = urimanager -REQUIRES = str -PREDICATES = - -INTERFACE_FILES = uriManager.mli -IMPLEMENTATION_FILES = $(INTERFACE_FILES:%.mli=%.ml) -EXTRA_OBJECTS_TO_INSTALL = -EXTRA_OBJECTS_TO_CLEAN = - -include ../Makefile.common diff --git a/helm/ocaml/urimanager/uriManager.ml b/helm/ocaml/urimanager/uriManager.ml deleted file mode 100644 index b4bf073e2..000000000 --- a/helm/ocaml/urimanager/uriManager.ml +++ /dev/null @@ -1,223 +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/. - *) - -(* - * "cic:/a/b/c.con" => ("cic:/a/b/c.con", id ) - * "cic:/a/b/c.ind#xpointer(1/1)" => ("cic:/a/b/c.con#xpointer(1/1)", id) - * "cic:/a/b/c.ind#xpointer(1/1/1)" => ("cic:/a/b/c.con#xpointer(1/1/1)", id) - *) - -let fresh_id = - let id = ref 0 in - function () -> - incr id; - !id - -(* (uriwithxpointer, uniqueid) - * where uniqueid is used to build a set of uri *) -type uri = string * int;; - -let eq uri1 uri2 = - uri1 == uri2 -;; - -let string_of_uri (uri,_) = - uri - -let name_of_uri (uri, _) = - let xpointer_offset = - try String.rindex uri '#' with Not_found -> String.length uri - 1 - in - let index1 = String.rindex_from uri xpointer_offset '/' + 1 in - let index2 = String.rindex uri '.' in - String.sub uri index1 (index2 - index1) - -let buri_of_uri (uri,_) = - let xpointer_offset = - try String.rindex uri '#' with Not_found -> String.length uri - 1 - in - let index = String.rindex_from uri xpointer_offset '/' in - String.sub uri 0 index - -module OrderedStrings = - struct - type t = string - let compare (s1 : t) (s2 : t) = compare s1 s2 - end -;; - -module MapStringsToUri = Map.Make(OrderedStrings);; - -(* Invariant: the map is the identity function, - * i.e. - * let str' = (MapStringsToUri.find str !set_of_uri) in - * str' == (MapStringsToUri.find str' !set_of_uri) - *) -let set_of_uri = ref MapStringsToUri.empty;; - -exception IllFormedUri of string;; - -let _dottypes = ".types" -let _types = "types",5 -let _dotuniv = ".univ" -let _univ = "univ",4 -let _dotann = ".ann" -let _ann = "ann",3 -let _var = "var",3 -let _dotbody = ".body" -let _con = "con",3 -let _ind = "ind",3 -let _xpointer = "#xpointer(1/" -let _con3 = "con" -let _var3 = "var" -let _ind3 = "ind" -let _ann3 = "ann" -let _univ4 = "univ" -let _types5 = "types" -let _xpointer8 = "xpointer" -let _cic5 = "cic:/" - -let is_malformed suri = - try - if String.sub suri 0 5 <> _cic5 then true - else - let len = String.length suri - 5 in - let last5 = String.sub suri len 5 in - let last4 = String.sub last5 1 4 in - let last3 = String.sub last5 2 3 in - if last3 = _con3 || last3 = _var3 || last3 = _ind3 || - last3 = _ann3 || last5 = _types5 || last5 = _dotbody || - last4 = _univ4 then - false - else - try - let index = String.rindex suri '#' + 1 in - let xptr = String.sub suri index 8 in - if xptr = _xpointer8 then - false - else - true - with Not_found -> true - with Invalid_argument _ -> true - -(* hash conses an uri *) -let uri_of_string suri = - try - MapStringsToUri.find suri !set_of_uri - with Not_found -> - if is_malformed suri then - raise (IllFormedUri suri) - else - let new_uri = suri, fresh_id () in - set_of_uri := MapStringsToUri.add suri new_uri !set_of_uri; - new_uri - - -let strip_xpointer ((uri,_) as olduri) = - try - let index = String.rindex uri '#' in - let no_xpointer = String.sub uri 0 index in - uri_of_string no_xpointer - with - Not_found -> olduri - -let clear_suffix uri ?(pat2="",0) pat1 = - try - let index = String.rindex uri '.' in - let index' = index + 1 in - let suffix = String.sub uri index' (String.length uri - index') in - if fst pat1 = suffix || fst pat2 = suffix then - String.sub uri 0 index - else - uri - with - Not_found -> assert false - -let has_suffix uri (pat,n) = - try - let suffix = String.sub uri (String.length uri - n) n in - pat = suffix - with - Not_found -> assert false - - -let cicuri_of_uri (uri, _) = uri_of_string (clear_suffix uri ~pat2:_types _ann) - -let annuri_of_uri (uri , _) = uri_of_string ((clear_suffix uri _ann) ^ _dotann) - -let uri_is_annuri (uri, _) = has_suffix uri _ann - -let uri_is_var (uri, _) = has_suffix uri _var - -let uri_is_con (uri, _) = has_suffix uri _con - -let uri_is_ind (uri, _) = has_suffix uri _ind - -let bodyuri_of_uri (uri, _) = - if has_suffix uri _con then - Some (uri_of_string (uri ^ _dotbody)) - else - None -;; - -(* these are bugged! - * we should remove _types, _univ, _ann all toghether *) -let innertypesuri_of_uri (uri, _) = - uri_of_string ((clear_suffix uri _types) ^ _dottypes) -;; -let univgraphuri_of_uri (uri,_) = - uri_of_string ((clear_suffix uri _univ) ^ _dotuniv) -;; - - -let uri_of_uriref (uri, _) typeno consno = - let typeno = typeno + 1 in - let suri = - match consno with - | None -> Printf.sprintf "%s%s%d)" uri _xpointer typeno - | Some n -> Printf.sprintf "%s%s%d/%d)" uri _xpointer typeno n - in - uri_of_string suri - -let compare (_,id1) (_,id2) = id1 - id2 - -module OrderedUri = -struct - type t = uri - let compare = compare (* the one above, not Pervasives.compare *) -end - -module UriSet = Set.Make (OrderedUri) - -module HashedUri = -struct - type t = uri - let equal = eq - let hash = snd -end - -module UriHashtbl = Hashtbl.Make (HashedUri) - - diff --git a/helm/ocaml/urimanager/uriManager.mli b/helm/ocaml/urimanager/uriManager.mli deleted file mode 100644 index 8250cc839..000000000 --- a/helm/ocaml/urimanager/uriManager.mli +++ /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/. - *) - -exception IllFormedUri of string;; - -type uri - -val eq : uri -> uri -> bool -val compare : uri -> uri -> int - -val uri_of_string : string -> uri - -val string_of_uri : uri -> string (* complete uri *) -val name_of_uri : uri -> string (* name only (without extension)*) -val buri_of_uri : uri -> string (* base uri only, without trailing '/' *) - -(* given an uri, returns the uri of the corresponding cic file, *) -(* i.e. removes the [.types][.ann] suffix *) -val cicuri_of_uri : uri -> uri - -val strip_xpointer: uri -> uri (* remove trailing #xpointer..., if any *) - -(* given an uri, returns the uri of the corresponding annotation file, *) -(* i.e. adds the .ann suffix if not already present *) -val annuri_of_uri : uri -> uri - -val uri_is_annuri : uri -> bool -val uri_is_var : uri -> bool -val uri_is_con : uri -> bool -val uri_is_ind : uri -> bool - -(* given an uri of a constant, it gives back the uri of its body *) -(* it gives back None if the uri refers to a Variable or MutualInductiveType *) -val bodyuri_of_uri : uri -> uri option - -(* given an uri, it gives back the uri of its inner types *) -val innertypesuri_of_uri : uri -> uri -(* given an uri, it gives back the uri of its univgraph *) -val univgraphuri_of_uri : uri -> uri - -(* builder for MutInd and MutConstruct URIs - * [uri] -> [typeno] -> [consno option] - *) -val uri_of_uriref : uri -> int -> int option -> uri - -module UriSet: Set.S with type elt = uri - -module UriHashtbl : Hashtbl.S with type key = uri - diff --git a/helm/ocaml/utf8_macros/.cvsignore b/helm/ocaml/utf8_macros/.cvsignore deleted file mode 100644 index 0c5eea419..000000000 --- a/helm/ocaml/utf8_macros/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -*.cm[iaox] *.cmxa -make_table -test diff --git a/helm/ocaml/utf8_macros/.depend b/helm/ocaml/utf8_macros/.depend deleted file mode 100644 index f3c6a8bd1..000000000 --- a/helm/ocaml/utf8_macros/.depend +++ /dev/null @@ -1,2 +0,0 @@ -utf8Macro.cmo: utf8MacroTable.cmo utf8Macro.cmi -utf8Macro.cmx: utf8MacroTable.cmx utf8Macro.cmi diff --git a/helm/ocaml/utf8_macros/Makefile b/helm/ocaml/utf8_macros/Makefile deleted file mode 100644 index 31a1939ce..000000000 --- a/helm/ocaml/utf8_macros/Makefile +++ /dev/null @@ -1,37 +0,0 @@ -PACKAGE = utf8_macros -REQUIRES = -PREDICATES = -MAKE_TABLE_PACKAGES = helm-xml - -# modules which have both a .ml and a .mli -INTERFACE_FILES = utf8Macro.mli -IMPLEMENTATION_FILES = utf8MacroTable.ml $(INTERFACE_FILES:%.mli=%.ml) -EXTRA_OBJECTS_TO_INSTALL = -EXTRA_OBJECTS_TO_CLEAN = - -all: utf8_macros.cma pa_unicode_macro.cma - -make_table: make_table.ml - $(OCAMLFIND) ocamlc -package $(MAKE_TABLE_PACKAGES) -linkpkg -o $@ $^ - -utf8MacroTable.ml: - ./make_table $@ -utf8MacroTable.cmo: utf8MacroTable.ml - $(OCAMLFIND) ocamlc -c $< - -pa_unicode_macro.cmo: pa_unicode_macro.ml utf8Macro.cmo - $(OCAMLFIND) ocamlc -package camlp4 -pp "camlp4o q_MLast.cmo pa_extend.cmo" -c $< -pa_unicode_macro.cma: utf8MacroTable.cmo utf8Macro.cmo pa_unicode_macro.cmo - $(OCAMLFIND) ocamlc -a -o $@ $^ - -.PHONY: test -test: test.ml - $(OCAMLFIND) ocamlc -package helm-utf8_macros -syntax camlp4o $< -o $@ - -clean: -distclean: extra_clean -extra_clean: - rm -f make_table test - -include ../Makefile.common - diff --git a/helm/ocaml/utf8_macros/README.syntax b/helm/ocaml/utf8_macros/README.syntax deleted file mode 100644 index 210ecc095..000000000 --- a/helm/ocaml/utf8_macros/README.syntax +++ /dev/null @@ -1,15 +0,0 @@ - -Helm Utf8 macro syntax extension for Camlp4 - -Sample file: - - --- test.ml --- - - prerr_endline <:unicode> - - --------------- - -Compile it with: - - ocamlfind ocamlc -package helm-utf8_macros -syntax camlp4o test.ml - diff --git a/helm/ocaml/utf8_macros/data/dictionary-tex.xml b/helm/ocaml/utf8_macros/data/dictionary-tex.xml deleted file mode 100644 index 47995454f..000000000 --- a/helm/ocaml/utf8_macros/data/dictionary-tex.xml +++ /dev/null @@ -1,378 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/ocaml/utf8_macros/data/entities-table.xml b/helm/ocaml/utf8_macros/data/entities-table.xml deleted file mode 100644 index c283631b4..000000000 --- a/helm/ocaml/utf8_macros/data/entities-table.xml +++ /dev/null @@ -1,2079 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/ocaml/utf8_macros/data/extra-entities.xml b/helm/ocaml/utf8_macros/data/extra-entities.xml deleted file mode 100644 index 73b12ad5e..000000000 --- a/helm/ocaml/utf8_macros/data/extra-entities.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/helm/ocaml/utf8_macros/make_table.ml b/helm/ocaml/utf8_macros/make_table.ml deleted file mode 100644 index 68309b1c4..000000000 --- a/helm/ocaml/utf8_macros/make_table.ml +++ /dev/null @@ -1,100 +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 debug = false -let debug_print s = if debug then prerr_endline (Lazy.force s) - - (* source files for tables xml parsing (if unmarshall=false) *) -let xml_tables = [ -(* - `Entities, "/usr/share/gtkmathview/entities-table.xml"; - `Dictionary, "/usr/share/editex/dictionary-tex.xml" -*) - `Entities, "data/entities-table.xml"; - `Dictionary, "data/dictionary-tex.xml"; - `Entities, "data/extra-entities.xml"; - (** extra-entities.xml should be the last one since it is used to override - * previous mappings. Add there overrides as needed. *) -] - -let iter_gen record_tag name_field value_field f fname = - let start_element tag attrs = - if tag = record_tag then - try - let name = List.assoc name_field attrs in - let value = List.assoc value_field attrs in - f name value - with Not_found -> () - in - let callbacks = { - XmlPushParser.default_callbacks with - XmlPushParser.start_element = Some start_element - } in - let xml_parser = XmlPushParser.create_parser callbacks in - XmlPushParser.parse xml_parser (`File fname) - -let iter_entities_file = iter_gen "entity" "name" "value" -let iter_dictionary_file = iter_gen "entry" "name" "val" - -let parse_from_xml () = - let (macro2utf8, utf82macro) = (Hashtbl.create 2000, Hashtbl.create 2000) in - let add_macro macro utf8 = - debug_print (lazy (sprintf "Adding macro %s = '%s'" macro utf8)); - Hashtbl.replace macro2utf8 macro utf8; - Hashtbl.replace utf82macro utf8 macro - in - let fill_table () = - List.iter - (fun (typ, fname) -> - match typ with - | `Entities -> iter_entities_file add_macro fname - | `Dictionary -> iter_dictionary_file add_macro fname) - xml_tables - in - fill_table (); - macro2utf8, utf82macro - -let main () = - let oc = open_out Sys.argv.(1) in - output_string oc "(* GENERATED by make_table: DO NOT EDIT! *)\n"; - output_string oc "let macro2utf8 = Hashtbl.create 2000\n"; - output_string oc "let utf82macro = Hashtbl.create 2000\n"; - let macro2utf8, utf82macro = parse_from_xml () in - Hashtbl.iter - (fun macro utf8 -> - fprintf oc "let _ = Hashtbl.replace macro2utf8 \"%s\" \"%s\"\n" - macro (String.escaped utf8)) - macro2utf8; - Hashtbl.iter - (fun utf8 macro -> - fprintf oc "let _ = Hashtbl.replace utf82macro \"%s\" \"%s\"\n" - (String.escaped utf8) macro) - utf82macro; - close_out oc - -let _ = main () - diff --git a/helm/ocaml/utf8_macros/pa_unicode_macro.ml b/helm/ocaml/utf8_macros/pa_unicode_macro.ml deleted file mode 100644 index d14401f84..000000000 --- a/helm/ocaml/utf8_macros/pa_unicode_macro.ml +++ /dev/null @@ -1,65 +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 = false -let debug_print s = if debug then prerr_endline (Lazy.force s) - -let loc = - let dummy_pos = - { Lexing.pos_fname = ""; Lexing.pos_lnum = -1; Lexing.pos_bol = -1; - Lexing.pos_cnum = -1 } - in - (dummy_pos, dummy_pos) - -let expand_unicode_macro macro = - debug_print (lazy (Printf.sprintf "Expanding macro '%s' ..." macro)); - let expansion = Utf8Macro.expand macro in - <:expr< $str:expansion$ >> - -let _ = - Quotation.add "unicode" - (Quotation.ExAst (expand_unicode_macro, (fun _ -> assert false))) - -open Pa_extend - -EXTEND - symbol: FIRST - [ - [ x = UIDENT; q = QUOTATION -> - let (quotation, arg) = - let pos = String.index q ':' in - (String.sub q 0 pos, - String.sub q (pos + 1) (String.length q - pos - 1)) - in - debug_print (lazy (Printf.sprintf "QUOTATION = %s; ARG = %s" quotation arg)); - if quotation = "unicode" then - let text = TXtok (loc, x, expand_unicode_macro arg) in - {used = []; text = text; styp = STlid (loc, "string")} - else - assert false - ] - ]; -END - diff --git a/helm/ocaml/utf8_macros/test.ml b/helm/ocaml/utf8_macros/test.ml deleted file mode 100644 index 7e1a48373..000000000 --- a/helm/ocaml/utf8_macros/test.ml +++ /dev/null @@ -1 +0,0 @@ -prerr_endline <:unicode> diff --git a/helm/ocaml/utf8_macros/utf8Macro.ml b/helm/ocaml/utf8_macros/utf8Macro.ml deleted file mode 100644 index 3d0b5bc4c..000000000 --- a/helm/ocaml/utf8_macros/utf8Macro.ml +++ /dev/null @@ -1,45 +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 Macro_not_found of string -exception Utf8_not_found of string - -let expand macro = - try - Hashtbl.find Utf8MacroTable.macro2utf8 macro - with Not_found -> raise (Macro_not_found macro) - -let unicode_of_tex s = - try - if s.[0] = '\\' then - expand (String.sub s 1 (String.length s - 1)) - else s - with Macro_not_found _ -> s - -let tex_of_unicode s = - try - "\\" ^ Hashtbl.find Utf8MacroTable.utf82macro s - with Not_found -> s - diff --git a/helm/ocaml/utf8_macros/utf8Macro.mli b/helm/ocaml/utf8_macros/utf8Macro.mli deleted file mode 100644 index d92f60b37..000000000 --- a/helm/ocaml/utf8_macros/utf8Macro.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/ - *) - -exception Macro_not_found of string -exception Utf8_not_found of string - - (** @param macro name - @return utf8 string *) -val expand: string -> string - - (** @param tex TeX like command (e.g. \forall, \lnot, ...) - * @return unicode character corresponding to the command if it exists, or the - * unchanged command if not *) -val unicode_of_tex: string -> string - - (** ... the other way round *) -val tex_of_unicode: string -> string - diff --git a/helm/ocaml/utf8_macros/utf8MacroTable.ml b/helm/ocaml/utf8_macros/utf8MacroTable.ml deleted file mode 100644 index 8b4a02e47..000000000 --- a/helm/ocaml/utf8_macros/utf8MacroTable.ml +++ /dev/null @@ -1,3625 +0,0 @@ -(* GENERATED by make_table: DO NOT EDIT! *) -let macro2utf8 = Hashtbl.create 2000 -let utf82macro = Hashtbl.create 2000 -let _ = Hashtbl.replace macro2utf8 "nscr" "\240\157\147\131" -let _ = Hashtbl.replace macro2utf8 "LJcy" "\208\137" -let _ = Hashtbl.replace macro2utf8 "dd" "\226\133\134" -let _ = Hashtbl.replace macro2utf8 "Omacr" "\197\140" -let _ = Hashtbl.replace macro2utf8 "npreceq" "\226\170\175\204\184" -let _ = Hashtbl.replace macro2utf8 "Gcirc" "\196\156" -let _ = Hashtbl.replace macro2utf8 "utilde" "\197\169" -let _ = Hashtbl.replace macro2utf8 "rdca" "\226\164\183" -let _ = Hashtbl.replace macro2utf8 "racute" "\197\149" -let _ = Hashtbl.replace macro2utf8 "mstpos" "\226\136\190" -let _ = Hashtbl.replace macro2utf8 "supnE" "\226\138\139" -let _ = Hashtbl.replace macro2utf8 "NotLessLess" "\226\137\170\204\184\239\184\128" -let _ = Hashtbl.replace macro2utf8 "iiint" "\226\136\173" -let _ = Hashtbl.replace macro2utf8 "uscr" "\240\157\147\138" -let _ = Hashtbl.replace macro2utf8 "Sfr" "\240\157\148\150" -let _ = Hashtbl.replace macro2utf8 "nsupseteqq" "\226\138\137" -let _ = Hashtbl.replace macro2utf8 "nwarrow" "\226\134\150" -let _ = Hashtbl.replace macro2utf8 "twoheadrightarrow" "\226\134\160" -let _ = Hashtbl.replace macro2utf8 "sccue" "\226\137\189" -let _ = Hashtbl.replace macro2utf8 "NotSquareSuperset" "\226\138\144\204\184" -let _ = Hashtbl.replace macro2utf8 "ee" "\226\133\135" -let _ = Hashtbl.replace macro2utf8 "boxbox" "\226\167\137" -let _ = Hashtbl.replace macro2utf8 "andand" "\226\169\149" -let _ = Hashtbl.replace macro2utf8 "LeftVectorBar" "\226\165\146" -let _ = Hashtbl.replace macro2utf8 "eg" "\226\170\154" -let _ = Hashtbl.replace macro2utf8 "csc" "csc" -let _ = Hashtbl.replace macro2utf8 "NotRightTriangleEqual" "\226\139\173" -let _ = Hashtbl.replace macro2utf8 "filig" "\239\172\129" -let _ = Hashtbl.replace macro2utf8 "atilde" "\195\163" -let _ = Hashtbl.replace macro2utf8 "ring" "\203\154" -let _ = Hashtbl.replace macro2utf8 "congdot" "\226\169\173" -let _ = Hashtbl.replace macro2utf8 "gE" "\226\137\167" -let _ = Hashtbl.replace macro2utf8 "rcedil" "\197\151" -let _ = Hashtbl.replace macro2utf8 "el" "\226\170\153" -let _ = Hashtbl.replace macro2utf8 "HorizontalLine" "\226\148\128" -let _ = Hashtbl.replace macro2utf8 "incare" "\226\132\133" -let _ = Hashtbl.replace macro2utf8 "hoarr" "\226\135\191" -let _ = Hashtbl.replace macro2utf8 "SOFTcy" "\208\172" -let _ = Hashtbl.replace macro2utf8 "conint" "\226\136\174" -let _ = Hashtbl.replace macro2utf8 "OverParenthesis" "\239\184\181" -let _ = Hashtbl.replace macro2utf8 "Uogon" "\197\178" -let _ = Hashtbl.replace macro2utf8 "supne" "\226\138\139" -let _ = Hashtbl.replace macro2utf8 "num" "#" -let _ = Hashtbl.replace macro2utf8 "zcy" "\208\183" -let _ = Hashtbl.replace macro2utf8 "Hfr" "\226\132\140" -let _ = Hashtbl.replace macro2utf8 "dtri" "\226\150\191" -let _ = Hashtbl.replace macro2utf8 "FilledSmallSquare" "\226\151\190" -let _ = Hashtbl.replace macro2utf8 "SucceedsEqual" "\226\137\189" -let _ = Hashtbl.replace macro2utf8 "leftthreetimes" "\226\139\139" -let _ = Hashtbl.replace macro2utf8 "ycirc" "\197\183" -let _ = Hashtbl.replace macro2utf8 "sqcup" "\226\138\148" -let _ = Hashtbl.replace macro2utf8 "DoubleLeftArrow" "\226\135\144" -let _ = Hashtbl.replace macro2utf8 "gtrless" "\226\137\183" -let _ = Hashtbl.replace macro2utf8 "ge" "\226\137\165" -let _ = Hashtbl.replace macro2utf8 "Product" "\226\136\143" -let _ = Hashtbl.replace macro2utf8 "NotExists" "\226\136\132" -let _ = Hashtbl.replace macro2utf8 "gg" "\226\137\171" -let _ = Hashtbl.replace macro2utf8 "curlyvee" "\226\139\142" -let _ = Hashtbl.replace macro2utf8 "ntrianglerighteq" "\226\139\173" -let _ = Hashtbl.replace macro2utf8 "Colon" "\226\136\183" -let _ = Hashtbl.replace macro2utf8 "rbrke" "\226\166\140" -let _ = Hashtbl.replace macro2utf8 "LeftDownVector" "\226\135\131" -let _ = Hashtbl.replace macro2utf8 "gl" "\226\137\183" -let _ = Hashtbl.replace macro2utf8 "lrcorner" "\226\140\159" -let _ = Hashtbl.replace macro2utf8 "mapstodown" "\226\134\167" -let _ = Hashtbl.replace macro2utf8 "excl" "!" -let _ = Hashtbl.replace macro2utf8 "cdots" "\226\139\175" -let _ = Hashtbl.replace macro2utf8 "larr" "\226\134\144" -let _ = Hashtbl.replace macro2utf8 "dtdot" "\226\139\177" -let _ = Hashtbl.replace macro2utf8 "kgreen" "\196\184" -let _ = Hashtbl.replace macro2utf8 "rtri" "\226\150\185" -let _ = Hashtbl.replace macro2utf8 "rbarr" "\226\164\141" -let _ = Hashtbl.replace macro2utf8 "ocy" "\208\190" -let _ = Hashtbl.replace macro2utf8 "gt" ">" -let _ = Hashtbl.replace macro2utf8 "DownLeftRightVector" "\226\165\144" -let _ = Hashtbl.replace macro2utf8 "cup" "\226\136\170" -let _ = Hashtbl.replace macro2utf8 "updownarrow" "\226\134\149" -let _ = Hashtbl.replace macro2utf8 "Imacr" "\196\170" -let _ = Hashtbl.replace macro2utf8 "cross" "\226\156\151" -let _ = Hashtbl.replace macro2utf8 "Acirc" "\195\130" -let _ = Hashtbl.replace macro2utf8 "lvertneqq" "\226\137\168\239\184\128" -let _ = Hashtbl.replace macro2utf8 "ccaps" "\226\169\141" -let _ = Hashtbl.replace macro2utf8 "NotLeftTriangleEqual" "\226\139\172" -let _ = Hashtbl.replace macro2utf8 "IJlig" "\196\178" -let _ = Hashtbl.replace macro2utf8 "boxplus" "\226\138\158" -let _ = Hashtbl.replace macro2utf8 "epsilon" "\207\181" -let _ = Hashtbl.replace macro2utf8 "zfr" "\240\157\148\183" -let _ = Hashtbl.replace macro2utf8 "late" "\226\170\173" -let _ = Hashtbl.replace macro2utf8 "ic" "\226\128\139" -let _ = Hashtbl.replace macro2utf8 "lrhar" "\226\135\139" -let _ = Hashtbl.replace macro2utf8 "gsim" "\226\137\179" -let _ = Hashtbl.replace macro2utf8 "inf" "inf" -let _ = Hashtbl.replace macro2utf8 "top" "\226\138\164" -let _ = Hashtbl.replace macro2utf8 "odsold" "\226\166\188" -let _ = Hashtbl.replace macro2utf8 "circlearrowright" "\226\134\187" -let _ = Hashtbl.replace macro2utf8 "rtimes" "\226\139\138" -let _ = Hashtbl.replace macro2utf8 "ii" "\226\133\136" -let _ = Hashtbl.replace macro2utf8 "DoubleRightTee" "\226\138\168" -let _ = Hashtbl.replace macro2utf8 "dcy" "\208\180" -let _ = Hashtbl.replace macro2utf8 "boxdL" "\226\149\149" -let _ = Hashtbl.replace macro2utf8 "duhar" "\226\165\175" -let _ = Hashtbl.replace macro2utf8 "vert" "|" -let _ = Hashtbl.replace macro2utf8 "sacute" "\197\155" -let _ = Hashtbl.replace macro2utf8 "in" "\226\136\136" -let _ = Hashtbl.replace macro2utf8 "Assign" "\226\137\148" -let _ = Hashtbl.replace macro2utf8 "nsim" "\226\137\129" -let _ = Hashtbl.replace macro2utf8 "boxdR" "\226\149\146" -let _ = Hashtbl.replace macro2utf8 "o" "\206\191" -let _ = Hashtbl.replace macro2utf8 "radic" "\226\136\154" -let _ = Hashtbl.replace macro2utf8 "it" "\226\129\162" -let _ = Hashtbl.replace macro2utf8 "int" "\226\136\171" -let _ = Hashtbl.replace macro2utf8 "cwint" "\226\136\177" -let _ = Hashtbl.replace macro2utf8 "ForAll" "\226\136\128" -let _ = Hashtbl.replace macro2utf8 "simplus" "\226\168\164" -let _ = Hashtbl.replace macro2utf8 "isindot" "\226\139\181" -let _ = Hashtbl.replace macro2utf8 "rightthreetimes" "\226\139\140" -let _ = Hashtbl.replace macro2utf8 "supseteqq" "\226\138\135" -let _ = Hashtbl.replace macro2utf8 "bnot" "\226\140\144" -let _ = Hashtbl.replace macro2utf8 "rppolint" "\226\168\146" -let _ = Hashtbl.replace macro2utf8 "def" "\226\137\157" -let _ = Hashtbl.replace macro2utf8 "TScy" "\208\166" -let _ = Hashtbl.replace macro2utf8 "lE" "\226\137\166" -let _ = Hashtbl.replace macro2utf8 "ffilig" "\239\172\131" -let _ = Hashtbl.replace macro2utf8 "deg" "deg" -let _ = Hashtbl.replace macro2utf8 "{" "{" -let _ = Hashtbl.replace macro2utf8 "RightVector" "\226\135\128" -let _ = Hashtbl.replace macro2utf8 "ofr" "\240\157\148\172" -let _ = Hashtbl.replace macro2utf8 "|" "|" -let _ = Hashtbl.replace macro2utf8 "liminf" "liminf" -let _ = Hashtbl.replace macro2utf8 "}" "}" -let _ = Hashtbl.replace macro2utf8 "LeftUpTeeVector" "\226\165\160" -let _ = Hashtbl.replace macro2utf8 "scirc" "\197\157" -let _ = Hashtbl.replace macro2utf8 "scedil" "\197\159" -let _ = Hashtbl.replace macro2utf8 "ufisht" "\226\165\190" -let _ = Hashtbl.replace macro2utf8 "LeftUpDownVector" "\226\165\145" -let _ = Hashtbl.replace macro2utf8 "questeq" "\226\137\159" -let _ = Hashtbl.replace macro2utf8 "leftarrow" "\226\134\144" -let _ = Hashtbl.replace macro2utf8 "Ycy" "\208\171" -let _ = Hashtbl.replace macro2utf8 "Coproduct" "\226\136\144" -let _ = Hashtbl.replace macro2utf8 "det" "det" -let _ = Hashtbl.replace macro2utf8 "boxdl" "\226\148\144" -let _ = Hashtbl.replace macro2utf8 "Aopf" "\240\157\148\184" -let _ = Hashtbl.replace macro2utf8 "srarr" "\226\134\146\239\184\128" -let _ = Hashtbl.replace macro2utf8 "lbrke" "\226\166\139" -let _ = Hashtbl.replace macro2utf8 "boxdr" "\226\148\140" -let _ = Hashtbl.replace macro2utf8 "Ntilde" "\195\145" -let _ = Hashtbl.replace macro2utf8 "gnap" "\226\170\138" -let _ = Hashtbl.replace macro2utf8 "Cap" "\226\139\146" -let _ = Hashtbl.replace macro2utf8 "swarhk" "\226\164\166" -let _ = Hashtbl.replace macro2utf8 "ogt" "\226\167\129" -let _ = Hashtbl.replace macro2utf8 "emptyset" "\226\136\133\239\184\128" -let _ = Hashtbl.replace macro2utf8 "harrw" "\226\134\173" -let _ = Hashtbl.replace macro2utf8 "lbarr" "\226\164\140" -let _ = Hashtbl.replace macro2utf8 "Tilde" "\226\136\188" -let _ = Hashtbl.replace macro2utf8 "delta" "\206\180" -let _ = Hashtbl.replace macro2utf8 "Hopf" "\226\132\141" -let _ = Hashtbl.replace macro2utf8 "dfr" "\240\157\148\161" -let _ = Hashtbl.replace macro2utf8 "le" "\226\137\164" -let _ = Hashtbl.replace macro2utf8 "lg" "lg" -let _ = Hashtbl.replace macro2utf8 "ohm" "\226\132\166" -let _ = Hashtbl.replace macro2utf8 "Jsercy" "\208\136" -let _ = Hashtbl.replace macro2utf8 "quaternions" "\226\132\141" -let _ = Hashtbl.replace macro2utf8 "DoubleLongLeftArrow" "\239\149\185" -let _ = Hashtbl.replace macro2utf8 "Ncy" "\208\157" -let _ = Hashtbl.replace macro2utf8 "nabla" "\226\136\135" -let _ = Hashtbl.replace macro2utf8 "ltcir" "\226\169\185" -let _ = Hashtbl.replace macro2utf8 "ll" "\226\137\170" -let _ = Hashtbl.replace macro2utf8 "ln" "ln" -let _ = Hashtbl.replace macro2utf8 "rmoust" "\226\142\177" -let _ = Hashtbl.replace macro2utf8 "Oopf" "\240\157\149\134" -let _ = Hashtbl.replace macro2utf8 "nbsp" "\194\160" -let _ = Hashtbl.replace macro2utf8 "Kcedil" "\196\182" -let _ = Hashtbl.replace macro2utf8 "vdots" "\226\139\174" -let _ = Hashtbl.replace macro2utf8 "NotLessTilde" "\226\137\180" -let _ = Hashtbl.replace macro2utf8 "lt" "<" -let _ = Hashtbl.replace macro2utf8 "djcy" "\209\146" -let _ = Hashtbl.replace macro2utf8 "DownRightTeeVector" "\226\165\159" -let _ = Hashtbl.replace macro2utf8 "Ograve" "\195\146" -let _ = Hashtbl.replace macro2utf8 "boxhD" "\226\149\165" -let _ = Hashtbl.replace macro2utf8 "nsime" "\226\137\132" -let _ = Hashtbl.replace macro2utf8 "egsdot" "\226\170\152" -let _ = Hashtbl.replace macro2utf8 "mDDot" "\226\136\186" -let _ = Hashtbl.replace macro2utf8 "bigodot" "\226\138\153" -let _ = Hashtbl.replace macro2utf8 "Vopf" "\240\157\149\141" -let _ = Hashtbl.replace macro2utf8 "looparrowright" "\226\134\172" -let _ = Hashtbl.replace macro2utf8 "yucy" "\209\142" -let _ = Hashtbl.replace macro2utf8 "trade" "\226\132\162" -let _ = Hashtbl.replace macro2utf8 "Yfr" "\240\157\148\156" -let _ = Hashtbl.replace macro2utf8 "kjcy" "\209\156" -let _ = Hashtbl.replace macro2utf8 "mp" "\226\136\147" -let _ = Hashtbl.replace macro2utf8 "leftrightarrows" "\226\135\134" -let _ = Hashtbl.replace macro2utf8 "uharl" "\226\134\191" -let _ = Hashtbl.replace macro2utf8 "ncap" "\226\169\131" -let _ = Hashtbl.replace macro2utf8 "Iogon" "\196\174" -let _ = Hashtbl.replace macro2utf8 "NotSubset" "\226\138\132" -let _ = Hashtbl.replace macro2utf8 "Bumpeq" "\226\137\142" -let _ = Hashtbl.replace macro2utf8 "mu" "\206\188" -let _ = Hashtbl.replace macro2utf8 "FilledVerySmallSquare" "\239\150\155" -let _ = Hashtbl.replace macro2utf8 "breve" "\203\152" -let _ = Hashtbl.replace macro2utf8 "boxhU" "\226\149\168" -let _ = Hashtbl.replace macro2utf8 "Sigma" "\206\163" -let _ = Hashtbl.replace macro2utf8 "uharr" "\226\134\190" -let _ = Hashtbl.replace macro2utf8 "xrArr" "\239\149\186" -let _ = Hashtbl.replace macro2utf8 "ne" "\226\137\160" -let _ = Hashtbl.replace macro2utf8 "oS" "\226\147\136" -let _ = Hashtbl.replace macro2utf8 "xodot" "\226\138\153" -let _ = Hashtbl.replace macro2utf8 "ni" "\226\136\139" -let _ = Hashtbl.replace macro2utf8 "mdash" "\226\128\148" -let _ = Hashtbl.replace macro2utf8 "Verbar" "\226\128\150" -let _ = Hashtbl.replace macro2utf8 "die" "\194\168" -let _ = Hashtbl.replace macro2utf8 "veebar" "\226\138\187" -let _ = Hashtbl.replace macro2utf8 "UpArrowBar" "\226\164\146" -let _ = Hashtbl.replace macro2utf8 "Ncaron" "\197\135" -let _ = Hashtbl.replace macro2utf8 "RightArrowBar" "\226\135\165" -let _ = Hashtbl.replace macro2utf8 "LongLeftArrow" "\239\149\182" -let _ = Hashtbl.replace macro2utf8 "rceil" "\226\140\137" -let _ = Hashtbl.replace macro2utf8 "LeftDownVectorBar" "\226\165\153" -let _ = Hashtbl.replace macro2utf8 "umacr" "\197\171" -let _ = Hashtbl.replace macro2utf8 "Hacek" "\203\135" -let _ = Hashtbl.replace macro2utf8 "odblac" "\197\145" -let _ = Hashtbl.replace macro2utf8 "lmidot" "\197\128" -let _ = Hashtbl.replace macro2utf8 "dopf" "\240\157\149\149" -let _ = Hashtbl.replace macro2utf8 "boxhd" "\226\148\172" -let _ = Hashtbl.replace macro2utf8 "dim" "dim" -let _ = Hashtbl.replace macro2utf8 "vnsub" "\226\138\132" -let _ = Hashtbl.replace macro2utf8 "Bscr" "\226\132\172" -let _ = Hashtbl.replace macro2utf8 "plussim" "\226\168\166" -let _ = Hashtbl.replace macro2utf8 "doublebarwedge" "\226\140\134" -let _ = Hashtbl.replace macro2utf8 "nu" "\206\189" -let _ = Hashtbl.replace macro2utf8 "eqcolon" "\226\137\149" -let _ = Hashtbl.replace macro2utf8 "luruhar" "\226\165\166" -let _ = Hashtbl.replace macro2utf8 "Nfr" "\240\157\148\145" -let _ = Hashtbl.replace macro2utf8 "preceq" "\226\170\175" -let _ = Hashtbl.replace macro2utf8 "LeftTee" "\226\138\163" -let _ = Hashtbl.replace macro2utf8 "div" "\195\183" -let _ = Hashtbl.replace macro2utf8 "nVDash" "\226\138\175" -let _ = Hashtbl.replace macro2utf8 "kopf" "\240\157\149\156" -let _ = Hashtbl.replace macro2utf8 "Iscr" "\226\132\144" -let _ = Hashtbl.replace macro2utf8 "vnsup" "\226\138\133" -let _ = Hashtbl.replace macro2utf8 "gneq" "\226\137\169" -let _ = Hashtbl.replace macro2utf8 "backepsilon" "\207\182" -let _ = Hashtbl.replace macro2utf8 "boxhu" "\226\148\180" -let _ = Hashtbl.replace macro2utf8 "ominus" "\226\138\150" -let _ = Hashtbl.replace macro2utf8 "or" "\226\136\168" -let _ = Hashtbl.replace macro2utf8 "lesdot" "\226\169\191" -let _ = Hashtbl.replace macro2utf8 "RightVectorBar" "\226\165\147" -let _ = Hashtbl.replace macro2utf8 "tcedil" "\197\163" -let _ = Hashtbl.replace macro2utf8 "hstrok" "\196\167" -let _ = Hashtbl.replace macro2utf8 "nrarrc" "\226\164\179\204\184" -let _ = Hashtbl.replace macro2utf8 "ropf" "\240\157\149\163" -let _ = Hashtbl.replace macro2utf8 "diamond" "\226\139\132" -let _ = Hashtbl.replace macro2utf8 "smid" "\226\136\163\239\184\128" -let _ = Hashtbl.replace macro2utf8 "nltri" "\226\139\170" -let _ = Hashtbl.replace macro2utf8 "Pscr" "\240\157\146\171" -let _ = Hashtbl.replace macro2utf8 "vartheta" "\207\145" -let _ = Hashtbl.replace macro2utf8 "therefore" "\226\136\180" -let _ = Hashtbl.replace macro2utf8 "pi" "\207\128" -let _ = Hashtbl.replace macro2utf8 "ntrianglelefteq" "\226\139\172" -let _ = Hashtbl.replace macro2utf8 "nearrow" "\226\134\151" -let _ = Hashtbl.replace macro2utf8 "pm" "\194\177" -let _ = Hashtbl.replace macro2utf8 "natural" "\226\153\174" -let _ = Hashtbl.replace macro2utf8 "ucy" "\209\131" -let _ = Hashtbl.replace macro2utf8 "olt" "\226\167\128" -let _ = Hashtbl.replace macro2utf8 "Cfr" "\226\132\173" -let _ = Hashtbl.replace macro2utf8 "yopf" "\240\157\149\170" -let _ = Hashtbl.replace macro2utf8 "Otilde" "\195\149" -let _ = Hashtbl.replace macro2utf8 "ntriangleleft" "\226\139\170" -let _ = Hashtbl.replace macro2utf8 "pr" "\226\137\186" -let _ = Hashtbl.replace macro2utf8 "Wscr" "\240\157\146\178" -let _ = Hashtbl.replace macro2utf8 "midcir" "\226\171\176" -let _ = Hashtbl.replace macro2utf8 "Lacute" "\196\185" -let _ = Hashtbl.replace macro2utf8 "DoubleDot" "\194\168" -let _ = Hashtbl.replace macro2utf8 "Tstrok" "\197\166" -let _ = Hashtbl.replace macro2utf8 "nrarrw" "\226\134\157\204\184" -let _ = Hashtbl.replace macro2utf8 "uArr" "\226\135\145" -let _ = Hashtbl.replace macro2utf8 "nLtv" "\226\137\170\204\184\239\184\128" -let _ = Hashtbl.replace macro2utf8 "rangle" "\226\140\170" -let _ = Hashtbl.replace macro2utf8 "olcir" "\226\166\190" -let _ = Hashtbl.replace macro2utf8 "Auml" "\195\132" -let _ = Hashtbl.replace macro2utf8 "Succeeds" "\226\137\187" -let _ = Hashtbl.replace macro2utf8 "DoubleLongLeftRightArrow" "\239\149\187" -let _ = Hashtbl.replace macro2utf8 "TSHcy" "\208\139" -let _ = Hashtbl.replace macro2utf8 "gammad" "\207\156" -let _ = Hashtbl.replace macro2utf8 "epsiv" "\201\155" -let _ = Hashtbl.replace macro2utf8 "notinva" "\226\136\137\204\184" -let _ = Hashtbl.replace macro2utf8 "notinvb" "\226\139\183" -let _ = Hashtbl.replace macro2utf8 "eqvparsl" "\226\167\165" -let _ = Hashtbl.replace macro2utf8 "notinvc" "\226\139\182" -let _ = Hashtbl.replace macro2utf8 "nsubE" "\226\138\136" -let _ = Hashtbl.replace macro2utf8 "supplus" "\226\171\128" -let _ = Hashtbl.replace macro2utf8 "RightUpDownVector" "\226\165\143" -let _ = Hashtbl.replace macro2utf8 "Tab" "\t" -let _ = Hashtbl.replace macro2utf8 "Lcedil" "\196\187" -let _ = Hashtbl.replace macro2utf8 "backslash" "\\" -let _ = Hashtbl.replace macro2utf8 "pointint" "\226\168\149" -let _ = Hashtbl.replace macro2utf8 "jcy" "\208\185" -let _ = Hashtbl.replace macro2utf8 "iocy" "\209\145" -let _ = Hashtbl.replace macro2utf8 "escr" "\226\132\175" -let _ = Hashtbl.replace macro2utf8 "submult" "\226\171\129" -let _ = Hashtbl.replace macro2utf8 "iiota" "\226\132\169" -let _ = Hashtbl.replace macro2utf8 "lceil" "\226\140\136" -let _ = Hashtbl.replace macro2utf8 "omacr" "\197\141" -let _ = Hashtbl.replace macro2utf8 "gneqq" "\226\137\169" -let _ = Hashtbl.replace macro2utf8 "gcirc" "\196\157" -let _ = Hashtbl.replace macro2utf8 "dotsquare" "\226\138\161" -let _ = Hashtbl.replace macro2utf8 "ccaron" "\196\141" -let _ = Hashtbl.replace macro2utf8 "Square" "\226\150\161" -let _ = Hashtbl.replace macro2utf8 "RightDownTeeVector" "\226\165\157" -let _ = Hashtbl.replace macro2utf8 "Ouml" "\195\150" -let _ = Hashtbl.replace macro2utf8 "lurdshar" "\226\165\138" -let _ = Hashtbl.replace macro2utf8 "SuchThat" "\226\136\139" -let _ = Hashtbl.replace macro2utf8 "setminus" "\226\136\150" -let _ = Hashtbl.replace macro2utf8 "lscr" "\226\132\147" -let _ = Hashtbl.replace macro2utf8 "LessLess" "\226\170\161" -let _ = Hashtbl.replace macro2utf8 "Sub" "\226\139\144" -let _ = Hashtbl.replace macro2utf8 "sc" "\226\137\187" -let _ = Hashtbl.replace macro2utf8 "rx" "\226\132\158" -let _ = Hashtbl.replace macro2utf8 "RightFloor" "\226\140\139" -let _ = Hashtbl.replace macro2utf8 "blacksquare" "\226\150\170" -let _ = Hashtbl.replace macro2utf8 "ufr" "\240\157\148\178" -let _ = Hashtbl.replace macro2utf8 "block" "\226\150\136" -let _ = Hashtbl.replace macro2utf8 "dots" "\226\128\166" -let _ = Hashtbl.replace macro2utf8 "nvsim" "\226\137\129\204\184" -let _ = Hashtbl.replace macro2utf8 "caret" "\226\129\129" -let _ = Hashtbl.replace macro2utf8 "demptyv" "\226\166\177" -let _ = Hashtbl.replace macro2utf8 "Sum" "\226\136\145" -let _ = Hashtbl.replace macro2utf8 "sscr" "\240\157\147\136" -let _ = Hashtbl.replace macro2utf8 "nsube" "\226\138\136" -let _ = Hashtbl.replace macro2utf8 "Sup" "\226\139\145" -let _ = Hashtbl.replace macro2utf8 "ccupssm" "\226\169\144" -let _ = Hashtbl.replace macro2utf8 "Because" "\226\136\181" -let _ = Hashtbl.replace macro2utf8 "harrcir" "\226\165\136" -let _ = Hashtbl.replace macro2utf8 "capbrcup" "\226\169\137" -let _ = Hashtbl.replace macro2utf8 "RightUpVectorBar" "\226\165\148" -let _ = Hashtbl.replace macro2utf8 "caps" "\226\136\169\239\184\128" -let _ = Hashtbl.replace macro2utf8 "ohbar" "\226\166\181" -let _ = Hashtbl.replace macro2utf8 "laemptyv" "\226\166\180" -let _ = Hashtbl.replace macro2utf8 "uacute" "\195\186" -let _ = Hashtbl.replace macro2utf8 "straightphi" "\207\134" -let _ = Hashtbl.replace macro2utf8 "RightDoubleBracket" "\227\128\155" -let _ = Hashtbl.replace macro2utf8 "zscr" "\240\157\147\143" -let _ = Hashtbl.replace macro2utf8 "uogon" "\197\179" -let _ = Hashtbl.replace macro2utf8 "Uarr" "\226\134\159" -let _ = Hashtbl.replace macro2utf8 "nsucc" "\226\138\129" -let _ = Hashtbl.replace macro2utf8 "RBarr" "\226\164\144" -let _ = Hashtbl.replace macro2utf8 "NotRightTriangleBar" "\226\167\144\204\184" -let _ = Hashtbl.replace macro2utf8 "to" "\226\134\146" -let _ = Hashtbl.replace macro2utf8 "rpar" ")" -let _ = Hashtbl.replace macro2utf8 "rdsh" "\226\134\179" -let _ = Hashtbl.replace macro2utf8 "jfr" "\240\157\148\167" -let _ = Hashtbl.replace macro2utf8 "ldquor" "\226\128\158" -let _ = Hashtbl.replace macro2utf8 "bsime" "\226\139\141" -let _ = Hashtbl.replace macro2utf8 "lAtail" "\226\164\155" -let _ = Hashtbl.replace macro2utf8 "Hcirc" "\196\164" -let _ = Hashtbl.replace macro2utf8 "aacute" "\195\161" -let _ = Hashtbl.replace macro2utf8 "dot" "\203\153" -let _ = Hashtbl.replace macro2utf8 "Tcy" "\208\162" -let _ = Hashtbl.replace macro2utf8 "nsub" "\226\138\132" -let _ = Hashtbl.replace macro2utf8 "kappa" "\206\186" -let _ = Hashtbl.replace macro2utf8 "ovbar" "\226\140\189" -let _ = Hashtbl.replace macro2utf8 "shcy" "\209\136" -let _ = Hashtbl.replace macro2utf8 "kappav" "\207\176" -let _ = Hashtbl.replace macro2utf8 "ropar" "\227\128\153" -let _ = Hashtbl.replace macro2utf8 "gtcc" "\226\170\167" -let _ = Hashtbl.replace macro2utf8 "ecolon" "\226\137\149" -let _ = Hashtbl.replace macro2utf8 "circledast" "\226\138\155" -let _ = Hashtbl.replace macro2utf8 "colon" ":" -let _ = Hashtbl.replace macro2utf8 "timesbar" "\226\168\177" -let _ = Hashtbl.replace macro2utf8 "precnsim" "\226\139\168" -let _ = Hashtbl.replace macro2utf8 "ord" "\226\169\157" -let _ = Hashtbl.replace macro2utf8 "real" "\226\132\156" -let _ = Hashtbl.replace macro2utf8 "nexists" "\226\136\132" -let _ = Hashtbl.replace macro2utf8 "nsup" "\226\138\133" -let _ = Hashtbl.replace macro2utf8 "zhcy" "\208\182" -let _ = Hashtbl.replace macro2utf8 "imacr" "\196\171" -let _ = Hashtbl.replace macro2utf8 "egrave" "\195\168" -let _ = Hashtbl.replace macro2utf8 "acirc" "\195\162" -let _ = Hashtbl.replace macro2utf8 "grave" "`" -let _ = Hashtbl.replace macro2utf8 "biguplus" "\226\138\142" -let _ = Hashtbl.replace macro2utf8 "HumpEqual" "\226\137\143" -let _ = Hashtbl.replace macro2utf8 "GreaterSlantEqual" "\226\169\190" -let _ = Hashtbl.replace macro2utf8 "capand" "\226\169\132" -let _ = Hashtbl.replace macro2utf8 "yuml" "\195\191" -let _ = Hashtbl.replace macro2utf8 "orv" "\226\169\155" -let _ = Hashtbl.replace macro2utf8 "Icy" "\208\152" -let _ = Hashtbl.replace macro2utf8 "rightharpoondown" "\226\135\129" -let _ = Hashtbl.replace macro2utf8 "upsilon" "\207\133" -let _ = Hashtbl.replace macro2utf8 "preccurlyeq" "\226\137\188" -let _ = Hashtbl.replace macro2utf8 "ShortUpArrow" "\226\140\131\239\184\128" -let _ = Hashtbl.replace macro2utf8 "searhk" "\226\164\165" -let _ = Hashtbl.replace macro2utf8 "commat" "@" -let _ = Hashtbl.replace macro2utf8 "Sqrt" "\226\136\154" -let _ = Hashtbl.replace macro2utf8 "wp" "\226\132\152" -let _ = Hashtbl.replace macro2utf8 "succnapprox" "\226\139\169" -let _ = Hashtbl.replace macro2utf8 "wr" "\226\137\128" -let _ = Hashtbl.replace macro2utf8 "NotTildeTilde" "\226\137\137" -let _ = Hashtbl.replace macro2utf8 "dcaron" "\196\143" -let _ = Hashtbl.replace macro2utf8 "Tfr" "\240\157\148\151" -let _ = Hashtbl.replace macro2utf8 "bigwedge" "\226\139\128" -let _ = Hashtbl.replace macro2utf8 "DScy" "\208\133" -let _ = Hashtbl.replace macro2utf8 "nrtrie" "\226\139\173" -let _ = Hashtbl.replace macro2utf8 "esim" "\226\137\130" -let _ = Hashtbl.replace macro2utf8 "Not" "\226\171\172" -let _ = Hashtbl.replace macro2utf8 "xmap" "\239\149\189" -let _ = Hashtbl.replace macro2utf8 "rect" "\226\150\173" -let _ = Hashtbl.replace macro2utf8 "Fouriertrf" "\226\132\177" -let _ = Hashtbl.replace macro2utf8 "xi" "\206\190" -let _ = Hashtbl.replace macro2utf8 "NotTilde" "\226\137\129" -let _ = Hashtbl.replace macro2utf8 "gbreve" "\196\159" -let _ = Hashtbl.replace macro2utf8 "par" "\226\136\165" -let _ = Hashtbl.replace macro2utf8 "ddots" "\226\139\177" -let _ = Hashtbl.replace macro2utf8 "nhArr" "\226\135\142" -let _ = Hashtbl.replace macro2utf8 "lsim" "\226\137\178" -let _ = Hashtbl.replace macro2utf8 "RightCeiling" "\226\140\137" -let _ = Hashtbl.replace macro2utf8 "nedot" "\226\137\160\239\184\128" -let _ = Hashtbl.replace macro2utf8 "thksim" "\226\136\188\239\184\128" -let _ = Hashtbl.replace macro2utf8 "lEg" "\226\139\154" -let _ = Hashtbl.replace macro2utf8 "Ifr" "\226\132\145" -let _ = Hashtbl.replace macro2utf8 "emsp" "\226\128\131" -let _ = Hashtbl.replace macro2utf8 "lopar" "\227\128\152" -let _ = Hashtbl.replace macro2utf8 "iiiint" "\226\168\140" -let _ = Hashtbl.replace macro2utf8 "straightepsilon" "\206\181" -let _ = Hashtbl.replace macro2utf8 "intlarhk" "\226\168\151" -let _ = Hashtbl.replace macro2utf8 "image" "\226\132\145" -let _ = Hashtbl.replace macro2utf8 "sqsubseteq" "\226\138\145" -let _ = Hashtbl.replace macro2utf8 "lnapprox" "\226\170\137" -let _ = Hashtbl.replace macro2utf8 "Leftrightarrow" "\226\135\148" -let _ = Hashtbl.replace macro2utf8 "cemptyv" "\226\166\178" -let _ = Hashtbl.replace macro2utf8 "alpha" "\206\177" -let _ = Hashtbl.replace macro2utf8 "uml" "\194\168" -let _ = Hashtbl.replace macro2utf8 "barwedge" "\226\138\188" -let _ = Hashtbl.replace macro2utf8 "KHcy" "\208\165" -let _ = Hashtbl.replace macro2utf8 "tilde" "\203\156" -let _ = Hashtbl.replace macro2utf8 "Superset" "\226\138\131" -let _ = Hashtbl.replace macro2utf8 "gesles" "\226\170\148" -let _ = Hashtbl.replace macro2utf8 "bigoplus" "\226\138\149" -let _ = Hashtbl.replace macro2utf8 "boxuL" "\226\149\155" -let _ = Hashtbl.replace macro2utf8 "rbbrk" "\227\128\149" -let _ = Hashtbl.replace macro2utf8 "nrightarrow" "\226\134\155" -let _ = Hashtbl.replace macro2utf8 "hkswarow" "\226\164\166" -let _ = Hashtbl.replace macro2utf8 "DiacriticalDoubleAcute" "\203\157" -let _ = Hashtbl.replace macro2utf8 "nbumpe" "\226\137\143\204\184" -let _ = Hashtbl.replace macro2utf8 "uhblk" "\226\150\128" -let _ = Hashtbl.replace macro2utf8 "NotSupersetEqual" "\226\138\137" -let _ = Hashtbl.replace macro2utf8 "ntgl" "\226\137\185" -let _ = Hashtbl.replace macro2utf8 "Fopf" "\240\157\148\189" -let _ = Hashtbl.replace macro2utf8 "boxuR" "\226\149\152" -let _ = Hashtbl.replace macro2utf8 "swarr" "\226\134\153" -let _ = Hashtbl.replace macro2utf8 "nsqsube" "\226\139\162" -let _ = Hashtbl.replace macro2utf8 "pluscir" "\226\168\162" -let _ = Hashtbl.replace macro2utf8 "pcy" "\208\191" -let _ = Hashtbl.replace macro2utf8 "leqslant" "\226\169\189" -let _ = Hashtbl.replace macro2utf8 "lnap" "\226\170\137" -let _ = Hashtbl.replace macro2utf8 "lthree" "\226\139\139" -let _ = Hashtbl.replace macro2utf8 "smte" "\226\170\172" -let _ = Hashtbl.replace macro2utf8 "olcross" "\226\166\187" -let _ = Hashtbl.replace macro2utf8 "nvrArr" "\226\135\143" -let _ = Hashtbl.replace macro2utf8 "andslope" "\226\169\152" -let _ = Hashtbl.replace macro2utf8 "MediumSpace" "\226\129\159" -let _ = Hashtbl.replace macro2utf8 "boxvH" "\226\149\170" -let _ = Hashtbl.replace macro2utf8 "Nacute" "\197\131" -let _ = Hashtbl.replace macro2utf8 "nGtv" "\226\137\171\204\184\239\184\128" -let _ = Hashtbl.replace macro2utf8 "Mopf" "\240\157\149\132" -let _ = Hashtbl.replace macro2utf8 "dfisht" "\226\165\191" -let _ = Hashtbl.replace macro2utf8 "boxvL" "\226\149\161" -let _ = Hashtbl.replace macro2utf8 "pertenk" "\226\128\177" -let _ = Hashtbl.replace macro2utf8 "NotPrecedes" "\226\138\128" -let _ = Hashtbl.replace macro2utf8 "profalar" "\226\140\174" -let _ = Hashtbl.replace macro2utf8 "roplus" "\226\168\174" -let _ = Hashtbl.replace macro2utf8 "boxvR" "\226\149\158" -let _ = Hashtbl.replace macro2utf8 "utrif" "\226\150\180" -let _ = Hashtbl.replace macro2utf8 "uHar" "\226\165\163" -let _ = Hashtbl.replace macro2utf8 "nltrie" "\226\139\172" -let _ = Hashtbl.replace macro2utf8 "NotNestedGreaterGreater" "\226\146\162\204\184" -let _ = Hashtbl.replace macro2utf8 "smtes" "\226\170\172\239\184\128" -let _ = Hashtbl.replace macro2utf8 "LeftAngleBracket" "\226\140\169" -let _ = Hashtbl.replace macro2utf8 "iogon" "\196\175" -let _ = Hashtbl.replace macro2utf8 "ExponentialE" "\226\133\135" -let _ = Hashtbl.replace macro2utf8 "Topf" "\240\157\149\139" -let _ = Hashtbl.replace macro2utf8 "GreaterEqual" "\226\137\165" -let _ = Hashtbl.replace macro2utf8 "DownTee" "\226\138\164" -let _ = Hashtbl.replace macro2utf8 "boxul" "\226\148\152" -let _ = Hashtbl.replace macro2utf8 "wreath" "\226\137\128" -let _ = Hashtbl.replace macro2utf8 "sigma" "\207\131" -let _ = Hashtbl.replace macro2utf8 "ENG" "\197\138" -let _ = Hashtbl.replace macro2utf8 "Ncedil" "\197\133" -let _ = Hashtbl.replace macro2utf8 "ecy" "\209\141" -let _ = Hashtbl.replace macro2utf8 "nsubset" "\226\138\132" -let _ = Hashtbl.replace macro2utf8 "LessFullEqual" "\226\137\166" -let _ = Hashtbl.replace macro2utf8 "bsolb" "\226\167\133" -let _ = Hashtbl.replace macro2utf8 "boxur" "\226\148\148" -let _ = Hashtbl.replace macro2utf8 "ThinSpace" "\226\128\137" -let _ = Hashtbl.replace macro2utf8 "supdsub" "\226\171\152" -let _ = Hashtbl.replace macro2utf8 "colone" "\226\137\148" -let _ = Hashtbl.replace macro2utf8 "curren" "\194\164" -let _ = Hashtbl.replace macro2utf8 "boxvh" "\226\148\188" -let _ = Hashtbl.replace macro2utf8 "ecaron" "\196\155" -let _ = Hashtbl.replace macro2utf8 "UnderBrace" "\239\184\184" -let _ = Hashtbl.replace macro2utf8 "caron" "\203\135" -let _ = Hashtbl.replace macro2utf8 "ultri" "\226\151\184" -let _ = Hashtbl.replace macro2utf8 "boxvl" "\226\148\164" -let _ = Hashtbl.replace macro2utf8 "scap" "\226\137\191" -let _ = Hashtbl.replace macro2utf8 "boxvr" "\226\148\156" -let _ = Hashtbl.replace macro2utf8 "bopf" "\240\157\149\147" -let _ = Hashtbl.replace macro2utf8 "pfr" "\240\157\148\173" -let _ = Hashtbl.replace macro2utf8 "nspar" "\226\136\166\239\184\128" -let _ = Hashtbl.replace macro2utf8 "NegativeMediumSpace" "\226\129\159\239\184\128" -let _ = Hashtbl.replace macro2utf8 "simgE" "\226\170\160" -let _ = Hashtbl.replace macro2utf8 "nvDash" "\226\138\173" -let _ = Hashtbl.replace macro2utf8 "NotGreaterFullEqual" "\226\137\176" -let _ = Hashtbl.replace macro2utf8 "uparrow" "\226\134\145" -let _ = Hashtbl.replace macro2utf8 "nsupset" "\226\138\133" -let _ = Hashtbl.replace macro2utf8 "simeq" "\226\137\131" -let _ = Hashtbl.replace macro2utf8 "Zcy" "\208\151" -let _ = Hashtbl.replace macro2utf8 "RightTriangle" "\226\138\179" -let _ = Hashtbl.replace macro2utf8 "Lang" "\227\128\138" -let _ = Hashtbl.replace macro2utf8 "Ucirc" "\195\155" -let _ = Hashtbl.replace macro2utf8 "iopf" "\240\157\149\154" -let _ = Hashtbl.replace macro2utf8 "leftrightsquigarrow" "\226\134\173" -let _ = Hashtbl.replace macro2utf8 "Gscr" "\240\157\146\162" -let _ = Hashtbl.replace macro2utf8 "lfloor" "\226\140\138" -let _ = Hashtbl.replace macro2utf8 "lbbrk" "\227\128\148" -let _ = Hashtbl.replace macro2utf8 "bigvee" "\226\139\129" -let _ = Hashtbl.replace macro2utf8 "ordf" "\194\170" -let _ = Hashtbl.replace macro2utf8 "rsquo" "\226\128\153" -let _ = Hashtbl.replace macro2utf8 "parallel" "\226\136\165" -let _ = Hashtbl.replace macro2utf8 "half" "\194\189" -let _ = Hashtbl.replace macro2utf8 "supseteq" "\226\138\135" -let _ = Hashtbl.replace macro2utf8 "ngeqq" "\226\137\177" -let _ = Hashtbl.replace macro2utf8 "popf" "\240\157\149\161" -let _ = Hashtbl.replace macro2utf8 "NonBreakingSpace" "\194\160" -let _ = Hashtbl.replace macro2utf8 "softcy" "\209\140" -let _ = Hashtbl.replace macro2utf8 "ordm" "\194\186" -let _ = Hashtbl.replace macro2utf8 "Nscr" "\240\157\146\169" -let _ = Hashtbl.replace macro2utf8 "owns" "\226\136\139" -let _ = Hashtbl.replace macro2utf8 "phi" "\207\149" -let _ = Hashtbl.replace macro2utf8 "efr" "\240\157\148\162" -let _ = Hashtbl.replace macro2utf8 "nesear" "\226\164\168" -let _ = Hashtbl.replace macro2utf8 "marker" "\226\150\174" -let _ = Hashtbl.replace macro2utf8 "lneq" "\226\137\168" -let _ = Hashtbl.replace macro2utf8 "parallet" "????" -let _ = Hashtbl.replace macro2utf8 "ndash" "\226\128\147" -let _ = Hashtbl.replace macro2utf8 "DoubleLeftTee" "\226\171\164" -let _ = Hashtbl.replace macro2utf8 "lArr" "\226\135\144" -let _ = Hashtbl.replace macro2utf8 "becaus" "\226\136\181" -let _ = Hashtbl.replace macro2utf8 "RightTee" "\226\138\162" -let _ = Hashtbl.replace macro2utf8 "Ocy" "\208\158" -let _ = Hashtbl.replace macro2utf8 "ntlg" "\226\137\184" -let _ = Hashtbl.replace macro2utf8 "cacute" "\196\135" -let _ = Hashtbl.replace macro2utf8 "wopf" "\240\157\149\168" -let _ = Hashtbl.replace macro2utf8 "Cup" "\226\139\147" -let _ = Hashtbl.replace macro2utf8 "Uscr" "\240\157\146\176" -let _ = Hashtbl.replace macro2utf8 "NotHumpEqual" "\226\137\143\204\184" -let _ = Hashtbl.replace macro2utf8 "rnmid" "\226\171\174" -let _ = Hashtbl.replace macro2utf8 "nsupE" "\226\138\137" -let _ = Hashtbl.replace macro2utf8 "bemptyv" "\226\166\176" -let _ = Hashtbl.replace macro2utf8 "lsqb" "[" -let _ = Hashtbl.replace macro2utf8 "nrarr" "\226\134\155" -let _ = Hashtbl.replace macro2utf8 "egs" "\226\139\157" -let _ = Hashtbl.replace macro2utf8 "reals" "\226\132\157" -let _ = Hashtbl.replace macro2utf8 "CupCap" "\226\137\141" -let _ = Hashtbl.replace macro2utf8 "Oacute" "\195\147" -let _ = Hashtbl.replace macro2utf8 "Zfr" "\226\132\168" -let _ = Hashtbl.replace macro2utf8 "ReverseEquilibrium" "\226\135\139" -let _ = Hashtbl.replace macro2utf8 "ccedil" "\195\167" -let _ = Hashtbl.replace macro2utf8 "bigtriangleup" "\226\150\179" -let _ = Hashtbl.replace macro2utf8 "piv" "\207\150" -let _ = Hashtbl.replace macro2utf8 "cirscir" "\226\167\130" -let _ = Hashtbl.replace macro2utf8 "exists" "\226\136\131" -let _ = Hashtbl.replace macro2utf8 "Uarrocir" "\226\165\137" -let _ = Hashtbl.replace macro2utf8 "Dcy" "\208\148" -let _ = Hashtbl.replace macro2utf8 "cscr" "\240\157\146\184" -let _ = Hashtbl.replace macro2utf8 "zcaron" "\197\190" -let _ = Hashtbl.replace macro2utf8 "isinE" "\226\139\185" -let _ = Hashtbl.replace macro2utf8 "gtcir" "\226\169\186" -let _ = Hashtbl.replace macro2utf8 "hookrightarrow" "\226\134\170" -let _ = Hashtbl.replace macro2utf8 "Int" "\226\136\172" -let _ = Hashtbl.replace macro2utf8 "nsupe" "\226\138\137" -let _ = Hashtbl.replace macro2utf8 "dotplus" "\226\136\148" -let _ = Hashtbl.replace macro2utf8 "ncup" "\226\169\130" -let _ = Hashtbl.replace macro2utf8 "jscr" "\240\157\146\191" -let _ = Hashtbl.replace macro2utf8 "angmsdaa" "\226\166\168" -let _ = Hashtbl.replace macro2utf8 "Iukcy" "\208\134" -let _ = Hashtbl.replace macro2utf8 "flat" "\226\153\173" -let _ = Hashtbl.replace macro2utf8 "bNot" "\226\171\173" -let _ = Hashtbl.replace macro2utf8 "angmsdab" "\226\166\169" -let _ = Hashtbl.replace macro2utf8 "angmsdac" "\226\166\170" -let _ = Hashtbl.replace macro2utf8 "xdtri" "\226\150\189" -let _ = Hashtbl.replace macro2utf8 "iota" "\206\185" -let _ = Hashtbl.replace macro2utf8 "angmsdad" "\226\166\171" -let _ = Hashtbl.replace macro2utf8 "angmsdae" "\226\166\172" -let _ = Hashtbl.replace macro2utf8 "rightarrowtail" "\226\134\163" -let _ = Hashtbl.replace macro2utf8 "angmsdaf" "\226\166\173" -let _ = Hashtbl.replace macro2utf8 "Ocirc" "\195\148" -let _ = Hashtbl.replace macro2utf8 "angmsdag" "\226\166\174" -let _ = Hashtbl.replace macro2utf8 "Ofr" "\240\157\148\146" -let _ = Hashtbl.replace macro2utf8 "maltese" "\226\156\160" -let _ = Hashtbl.replace macro2utf8 "angmsdah" "\226\166\175" -let _ = Hashtbl.replace macro2utf8 "Del" "\226\136\135" -let _ = Hashtbl.replace macro2utf8 "Barwed" "\226\140\134" -let _ = Hashtbl.replace macro2utf8 "drbkarow" "\226\164\144" -let _ = Hashtbl.replace macro2utf8 "qscr" "\240\157\147\134" -let _ = Hashtbl.replace macro2utf8 "ETH" "\195\144" -let _ = Hashtbl.replace macro2utf8 "operp" "\226\166\185" -let _ = Hashtbl.replace macro2utf8 "daleth" "\226\132\184" -let _ = Hashtbl.replace macro2utf8 "bull" "\226\128\162" -let _ = Hashtbl.replace macro2utf8 "simlE" "\226\170\159" -let _ = Hashtbl.replace macro2utf8 "lsquo" "\226\128\152" -let _ = Hashtbl.replace macro2utf8 "Larr" "\226\134\158" -let _ = Hashtbl.replace macro2utf8 "curarr" "\226\134\183" -let _ = Hashtbl.replace macro2utf8 "blacktriangleleft" "\226\151\130" -let _ = Hashtbl.replace macro2utf8 "hellip" "\226\128\166" -let _ = Hashtbl.replace macro2utf8 "DoubleVerticalBar" "\226\136\165" -let _ = Hashtbl.replace macro2utf8 "rBarr" "\226\164\143" -let _ = Hashtbl.replace macro2utf8 "chcy" "\209\135" -let _ = Hashtbl.replace macro2utf8 "varpi" "\207\150" -let _ = Hashtbl.replace macro2utf8 "Cconint" "\226\136\176" -let _ = Hashtbl.replace macro2utf8 "xlarr" "\239\149\182" -let _ = Hashtbl.replace macro2utf8 "xscr" "\240\157\147\141" -let _ = Hashtbl.replace macro2utf8 "DoubleLongRightArrow" "\239\149\186" -let _ = Hashtbl.replace macro2utf8 "CounterClockwiseContourIntegral" "\226\136\179" -let _ = Hashtbl.replace macro2utf8 "urcrop" "\226\140\142" -let _ = Hashtbl.replace macro2utf8 "RightAngleBracket" "\226\140\170" -let _ = Hashtbl.replace macro2utf8 "Rcaron" "\197\152" -let _ = Hashtbl.replace macro2utf8 "latail" "\226\164\153" -let _ = Hashtbl.replace macro2utf8 "pitchfork" "\226\139\148" -let _ = Hashtbl.replace macro2utf8 "nvinfin" "\226\167\158" -let _ = Hashtbl.replace macro2utf8 "hcirc" "\196\165" -let _ = Hashtbl.replace macro2utf8 "nexist" "\226\136\132" -let _ = Hashtbl.replace macro2utf8 "checkmark" "\226\156\147" -let _ = Hashtbl.replace macro2utf8 "tridot" "\226\151\172" -let _ = Hashtbl.replace macro2utf8 "vcy" "\208\178" -let _ = Hashtbl.replace macro2utf8 "isins" "\226\139\180" -let _ = Hashtbl.replace macro2utf8 "fllig" "\239\172\130" -let _ = Hashtbl.replace macro2utf8 "Dfr" "\240\157\148\135" -let _ = Hashtbl.replace macro2utf8 "hercon" "\226\138\185" -let _ = Hashtbl.replace macro2utf8 "gEl" "\226\139\155" -let _ = Hashtbl.replace macro2utf8 "bump" "\226\137\142" -let _ = Hashtbl.replace macro2utf8 "aleph" "\226\132\181" -let _ = Hashtbl.replace macro2utf8 "Ubreve" "\197\172" -let _ = Hashtbl.replace macro2utf8 "isinv" "\226\136\136" -let _ = Hashtbl.replace macro2utf8 "smile" "\226\140\163" -let _ = Hashtbl.replace macro2utf8 "llcorner" "\226\140\158" -let _ = Hashtbl.replace macro2utf8 "boxH" "\226\149\144" -let _ = Hashtbl.replace macro2utf8 "ecir" "\226\137\150" -let _ = Hashtbl.replace macro2utf8 "varnothing" "\226\136\133" -let _ = Hashtbl.replace macro2utf8 "iuml" "\195\175" -let _ = Hashtbl.replace macro2utf8 "mlcp" "\226\171\155" -let _ = Hashtbl.replace macro2utf8 "leftrightharpoons" "\226\135\139" -let _ = Hashtbl.replace macro2utf8 "ncong" "\226\137\135" -let _ = Hashtbl.replace macro2utf8 "Vert" "\226\128\150" -let _ = Hashtbl.replace macro2utf8 "vee" "\226\136\168" -let _ = Hashtbl.replace macro2utf8 "star" "\226\139\134" -let _ = Hashtbl.replace macro2utf8 "boxV" "\226\149\145" -let _ = Hashtbl.replace macro2utf8 "LeftRightArrow" "\226\134\148" -let _ = Hashtbl.replace macro2utf8 "leftrightarrow" "\226\134\148" -let _ = Hashtbl.replace macro2utf8 "lstrok" "\197\130" -let _ = Hashtbl.replace macro2utf8 "ell" "\226\132\147" -let _ = Hashtbl.replace macro2utf8 "VerticalSeparator" "\226\157\152" -let _ = Hashtbl.replace macro2utf8 "Ubrcy" "\208\142" -let _ = Hashtbl.replace macro2utf8 "NotGreater" "\226\137\175" -let _ = Hashtbl.replace macro2utf8 "Abreve" "\196\130" -let _ = Hashtbl.replace macro2utf8 "TildeTilde" "\226\137\136" -let _ = Hashtbl.replace macro2utf8 "CircleTimes" "\226\138\151" -let _ = Hashtbl.replace macro2utf8 "subsetneq" "\226\138\138" -let _ = Hashtbl.replace macro2utf8 "ltcc" "\226\170\166" -let _ = Hashtbl.replace macro2utf8 "els" "\226\139\156" -let _ = Hashtbl.replace macro2utf8 "succneqq" "\226\170\182" -let _ = Hashtbl.replace macro2utf8 "kcy" "\208\186" -let _ = Hashtbl.replace macro2utf8 "nshortmid" "\226\136\164\239\184\128" -let _ = Hashtbl.replace macro2utf8 "mldr" "\226\128\166" -let _ = Hashtbl.replace macro2utf8 "harr" "\226\134\148" -let _ = Hashtbl.replace macro2utf8 "gimel" "\226\132\183" -let _ = Hashtbl.replace macro2utf8 "Otimes" "\226\168\183" -let _ = Hashtbl.replace macro2utf8 "vsubnE" "\226\138\138\239\184\128" -let _ = Hashtbl.replace macro2utf8 "ltdot" "\226\139\150" -let _ = Hashtbl.replace macro2utf8 "boxh" "\226\148\128" -let _ = Hashtbl.replace macro2utf8 "notin" "\226\136\137" -let _ = Hashtbl.replace macro2utf8 "RuleDelayed" "\226\167\180" -let _ = Hashtbl.replace macro2utf8 "sqsube" "\226\138\145" -let _ = Hashtbl.replace macro2utf8 "macr" "\194\175" -let _ = Hashtbl.replace macro2utf8 "Icirc" "\195\142" -let _ = Hashtbl.replace macro2utf8 "comma" "," -let _ = Hashtbl.replace macro2utf8 "Cayleys" "\226\132\173" -let _ = Hashtbl.replace macro2utf8 "rightleftharpoons" "\226\135\140" -let _ = Hashtbl.replace macro2utf8 "Rarrtl" "\226\164\150" -let _ = Hashtbl.replace macro2utf8 "SquareSubsetEqual" "\226\138\145" -let _ = Hashtbl.replace macro2utf8 "NotGreaterEqual" "\226\137\177\226\131\165" -let _ = Hashtbl.replace macro2utf8 "vfr" "\240\157\148\179" -let _ = Hashtbl.replace macro2utf8 "utri" "\226\150\181" -let _ = Hashtbl.replace macro2utf8 "simne" "\226\137\134" -let _ = Hashtbl.replace macro2utf8 "LeftUpVectorBar" "\226\165\152" -let _ = Hashtbl.replace macro2utf8 "hksearow" "\226\164\165" -let _ = Hashtbl.replace macro2utf8 "boxv" "\226\148\130" -let _ = Hashtbl.replace macro2utf8 "curvearrowleft" "\226\134\182" -let _ = Hashtbl.replace macro2utf8 "eng" "\197\139" -let _ = Hashtbl.replace macro2utf8 "gtrarr" "\226\165\184" -let _ = Hashtbl.replace macro2utf8 "iecy" "\208\181" -let _ = Hashtbl.replace macro2utf8 "varr" "\226\134\149" -let _ = Hashtbl.replace macro2utf8 "lBarr" "\226\164\142" -let _ = Hashtbl.replace macro2utf8 "ker" "ker" -let _ = Hashtbl.replace macro2utf8 "imath" "\196\177" -let _ = Hashtbl.replace macro2utf8 "Dstrok" "\196\144" -let _ = Hashtbl.replace macro2utf8 "rlarr" "\226\135\132" -let _ = Hashtbl.replace macro2utf8 "leftleftarrows" "\226\135\135" -let _ = Hashtbl.replace macro2utf8 "DifferentialD" "\226\133\134" -let _ = Hashtbl.replace macro2utf8 "because" "\226\136\181" -let _ = Hashtbl.replace macro2utf8 "ulcrop" "\226\140\143" -let _ = Hashtbl.replace macro2utf8 "prE" "\226\170\175" -let _ = Hashtbl.replace macro2utf8 "oast" "\226\138\155" -let _ = Hashtbl.replace macro2utf8 "DotEqual" "\226\137\144" -let _ = Hashtbl.replace macro2utf8 "vsubne" "\226\138\138\239\184\128" -let _ = Hashtbl.replace macro2utf8 "hbar" "\226\132\143\239\184\128" -let _ = Hashtbl.replace macro2utf8 "subset" "\226\138\130" -let _ = Hashtbl.replace macro2utf8 "UpTeeArrow" "\226\134\165" -let _ = Hashtbl.replace macro2utf8 "LeftFloor" "\226\140\138" -let _ = Hashtbl.replace macro2utf8 "kfr" "\240\157\148\168" -let _ = Hashtbl.replace macro2utf8 "nisd" "\226\139\186" -let _ = Hashtbl.replace macro2utf8 "scnE" "\226\170\182" -let _ = Hashtbl.replace macro2utf8 "Ucy" "\208\163" -let _ = Hashtbl.replace macro2utf8 "nprec" "\226\138\128" -let _ = Hashtbl.replace macro2utf8 "ltrPar" "\226\166\150" -let _ = Hashtbl.replace macro2utf8 "Scaron" "\197\160" -let _ = Hashtbl.replace macro2utf8 "InvisibleComma" "\226\128\139" -let _ = Hashtbl.replace macro2utf8 "SquareUnion" "\226\138\148" -let _ = Hashtbl.replace macro2utf8 "ffllig" "\239\172\132" -let _ = Hashtbl.replace macro2utf8 "approxeq" "\226\137\138" -let _ = Hashtbl.replace macro2utf8 "yacute" "\195\189" -let _ = Hashtbl.replace macro2utf8 "pre" "\226\170\175" -let _ = Hashtbl.replace macro2utf8 "nsqsupe" "\226\139\163" -let _ = Hashtbl.replace macro2utf8 "supset" "\226\138\131" -let _ = Hashtbl.replace macro2utf8 "bsolhsub" "\\\226\138\130" -let _ = Hashtbl.replace macro2utf8 "nshortparallel" "\226\136\166\239\184\128" -let _ = Hashtbl.replace macro2utf8 "lozenge" "\226\151\138" -let _ = Hashtbl.replace macro2utf8 "lnot" "\194\172" -let _ = Hashtbl.replace macro2utf8 "Dopf" "\240\157\148\187" -let _ = Hashtbl.replace macro2utf8 "leftharpoonup" "\226\134\188" -let _ = Hashtbl.replace macro2utf8 "Jcy" "\208\153" -let _ = Hashtbl.replace macro2utf8 "rightarrow" "\226\134\146" -let _ = Hashtbl.replace macro2utf8 "ntriangleright" "\226\139\171" -let _ = Hashtbl.replace macro2utf8 "Ccirc" "\196\136" -let _ = Hashtbl.replace macro2utf8 "eacute" "\195\169" -let _ = Hashtbl.replace macro2utf8 "acute" "\194\180" -let _ = Hashtbl.replace macro2utf8 "Precedes" "\226\137\186" -let _ = Hashtbl.replace macro2utf8 "middot" "\194\183" -let _ = Hashtbl.replace macro2utf8 "lHar" "\226\165\162" -let _ = Hashtbl.replace macro2utf8 "eparsl" "\226\167\163" -let _ = Hashtbl.replace macro2utf8 "psi" "\207\136" -let _ = Hashtbl.replace macro2utf8 "parsl" "\226\136\165\239\184\128" -let _ = Hashtbl.replace macro2utf8 "UpperLeftArrow" "\226\134\150" -let _ = Hashtbl.replace macro2utf8 "oror" "\226\169\150" -let _ = Hashtbl.replace macro2utf8 "Kopf" "\240\157\149\130" -let _ = Hashtbl.replace macro2utf8 "apacir" "\226\169\175" -let _ = Hashtbl.replace macro2utf8 "dharl" "\226\135\131" -let _ = Hashtbl.replace macro2utf8 "nequiv" "\226\137\162" -let _ = Hashtbl.replace macro2utf8 "rightleftarrows" "\226\135\132" -let _ = Hashtbl.replace macro2utf8 "UnderParenthesis" "\239\184\182" -let _ = Hashtbl.replace macro2utf8 "notni" "\226\136\140" -let _ = Hashtbl.replace macro2utf8 "dagger" "\226\128\160" -let _ = Hashtbl.replace macro2utf8 "dharr" "\226\135\130" -let _ = Hashtbl.replace macro2utf8 "twoheadleftarrow" "\226\134\158" -let _ = Hashtbl.replace macro2utf8 "frac12" "\194\189" -let _ = Hashtbl.replace macro2utf8 "varsubsetneqq" "\226\138\138\239\184\128" -let _ = Hashtbl.replace macro2utf8 "frac13" "\226\133\147" -let _ = Hashtbl.replace macro2utf8 "Ufr" "\240\157\148\152" -let _ = Hashtbl.replace macro2utf8 "NestedLessLess" "\226\137\170" -let _ = Hashtbl.replace macro2utf8 "llarr" "\226\135\135" -let _ = Hashtbl.replace macro2utf8 "frac14" "\194\188" -let _ = Hashtbl.replace macro2utf8 "frac15" "\226\133\149" -let _ = Hashtbl.replace macro2utf8 "Ropf" "\226\132\157" -let _ = Hashtbl.replace macro2utf8 "frac16" "\226\133\153" -let _ = Hashtbl.replace macro2utf8 "lrtri" "\226\138\191" -let _ = Hashtbl.replace macro2utf8 "frac18" "\226\133\155" -let _ = Hashtbl.replace macro2utf8 "cedil" "\194\184" -let _ = Hashtbl.replace macro2utf8 "subsim" "\226\171\135" -let _ = Hashtbl.replace macro2utf8 "PrecedesTilde" "\226\137\190" -let _ = Hashtbl.replace macro2utf8 "igrave" "\195\172" -let _ = Hashtbl.replace macro2utf8 "gjcy" "\209\147" -let _ = Hashtbl.replace macro2utf8 "LeftVector" "\226\134\188" -let _ = Hashtbl.replace macro2utf8 "notniva" "\226\136\140" -let _ = Hashtbl.replace macro2utf8 "notnivb" "\226\139\190" -let _ = Hashtbl.replace macro2utf8 "ogon" "\203\155" -let _ = Hashtbl.replace macro2utf8 "notnivc" "\226\139\189" -let _ = Hashtbl.replace macro2utf8 "Yopf" "\240\157\149\144" -let _ = Hashtbl.replace macro2utf8 "there4" "\226\136\180" -let _ = Hashtbl.replace macro2utf8 "udarr" "\226\135\133" -let _ = Hashtbl.replace macro2utf8 "bkarow" "\226\164\141" -let _ = Hashtbl.replace macro2utf8 "frac23" "\226\133\148" -let _ = Hashtbl.replace macro2utf8 "frac25" "\226\133\150" -let _ = Hashtbl.replace macro2utf8 "njcy" "\209\154" -let _ = Hashtbl.replace macro2utf8 "Dashv" "\226\171\164" -let _ = Hashtbl.replace macro2utf8 "eta" "\206\183" -let _ = Hashtbl.replace macro2utf8 "bcong" "\226\137\140" -let _ = Hashtbl.replace macro2utf8 "Ugrave" "\195\153" -let _ = Hashtbl.replace macro2utf8 "csube" "\226\171\145" -let _ = Hashtbl.replace macro2utf8 "clubs" "\226\153\163" -let _ = Hashtbl.replace macro2utf8 "supmult" "\226\171\130" -let _ = Hashtbl.replace macro2utf8 "MinusPlus" "\226\136\147" -let _ = Hashtbl.replace macro2utf8 "Jfr" "\240\157\148\141" -let _ = Hashtbl.replace macro2utf8 "ensp" "\226\128\130" -let _ = Hashtbl.replace macro2utf8 "ucirc" "\195\187" -let _ = Hashtbl.replace macro2utf8 "supsim" "\226\171\136" -let _ = Hashtbl.replace macro2utf8 "eth" "\195\176" -let _ = Hashtbl.replace macro2utf8 "OverBrace" "\239\184\183" -let _ = Hashtbl.replace macro2utf8 "Dot" "\194\168" -let _ = Hashtbl.replace macro2utf8 "xcap" "\226\139\130" -let _ = Hashtbl.replace macro2utf8 "vangrt" "\226\138\190" -let _ = Hashtbl.replace macro2utf8 "NotSubsetEqual" "\226\138\136" -let _ = Hashtbl.replace macro2utf8 "frac34" "\194\190" -let _ = Hashtbl.replace macro2utf8 "frac35" "\226\133\151" -let _ = Hashtbl.replace macro2utf8 "planck" "\226\132\143\239\184\128" -let _ = Hashtbl.replace macro2utf8 "lnsim" "\226\139\166" -let _ = Hashtbl.replace macro2utf8 "gopf" "\240\157\149\152" -let _ = Hashtbl.replace macro2utf8 "frac38" "\226\133\156" -let _ = Hashtbl.replace macro2utf8 "DotDot" "\226\131\156" -let _ = Hashtbl.replace macro2utf8 "mapstoup" "\226\134\165" -let _ = Hashtbl.replace macro2utf8 "Escr" "\226\132\176" -let _ = Hashtbl.replace macro2utf8 "Integral" "\226\136\171" -let _ = Hashtbl.replace macro2utf8 "Agrave" "\195\128" -let _ = Hashtbl.replace macro2utf8 "longleftarrow" "????;" -let _ = Hashtbl.replace macro2utf8 "Tcaron" "\197\164" -let _ = Hashtbl.replace macro2utf8 "nopf" "\240\157\149\159" -let _ = Hashtbl.replace macro2utf8 "LongLeftRightArrow" "\239\149\184" -let _ = Hashtbl.replace macro2utf8 "Emacr" "\196\146" -let _ = Hashtbl.replace macro2utf8 "omid" "\226\166\182" -let _ = Hashtbl.replace macro2utf8 "spades" "\226\153\160" -let _ = Hashtbl.replace macro2utf8 "naturals" "\226\132\149" -let _ = Hashtbl.replace macro2utf8 "Lscr" "\226\132\146" -let _ = Hashtbl.replace macro2utf8 "udblac" "\197\177" -let _ = Hashtbl.replace macro2utf8 "SucceedsTilde" "\226\137\191" -let _ = Hashtbl.replace macro2utf8 "frac45" "\226\133\152" -let _ = Hashtbl.replace macro2utf8 "clubsuit" "\226\153\163" -let _ = Hashtbl.replace macro2utf8 "mumap" "\226\138\184" -let _ = Hashtbl.replace macro2utf8 "vltri" "\226\138\178" -let _ = Hashtbl.replace macro2utf8 "LeftArrowBar" "\226\135\164" -let _ = Hashtbl.replace macro2utf8 "zacute" "\197\186" -let _ = Hashtbl.replace macro2utf8 "szlig" "\195\159" -let _ = Hashtbl.replace macro2utf8 "suplarr" "\226\165\187" -let _ = Hashtbl.replace macro2utf8 "RightDownVector" "\226\135\130" -let _ = Hashtbl.replace macro2utf8 "male" "\226\153\130" -let _ = Hashtbl.replace macro2utf8 "RightDownVectorBar" "\226\165\149" -let _ = Hashtbl.replace macro2utf8 "gdot" "\196\161" -let _ = Hashtbl.replace macro2utf8 "nleqq" "\226\137\176" -let _ = Hashtbl.replace macro2utf8 "uopf" "\240\157\149\166" -let _ = Hashtbl.replace macro2utf8 "YIcy" "\208\135" -let _ = Hashtbl.replace macro2utf8 "Sscr" "\240\157\146\174" -let _ = Hashtbl.replace macro2utf8 "empty" "\226\136\133\239\184\128" -let _ = Hashtbl.replace macro2utf8 "Vdash" "\226\138\169" -let _ = Hashtbl.replace macro2utf8 "sqsubset" "\226\138\143" -let _ = Hashtbl.replace macro2utf8 "efDot" "\226\137\146" -let _ = Hashtbl.replace macro2utf8 "times" "\195\151" -let _ = Hashtbl.replace macro2utf8 "Oslash" "\195\152" -let _ = Hashtbl.replace macro2utf8 "itilde" "\196\169" -let _ = Hashtbl.replace macro2utf8 "frac56" "\226\133\154" -let _ = Hashtbl.replace macro2utf8 "numero" "\226\132\150" -let _ = Hashtbl.replace macro2utf8 "malt" "\226\156\160" -let _ = Hashtbl.replace macro2utf8 "npart" "\226\136\130\204\184" -let _ = Hashtbl.replace macro2utf8 "frac58" "\226\133\157" -let _ = Hashtbl.replace macro2utf8 "Zscr" "\240\157\146\181" -let _ = Hashtbl.replace macro2utf8 "integers" "\226\132\164" -let _ = Hashtbl.replace macro2utf8 "CloseCurlyQuote" "\226\128\153" -let _ = Hashtbl.replace macro2utf8 "NewLine" "\n" -let _ = Hashtbl.replace macro2utf8 "fcy" "\209\132" -let _ = Hashtbl.replace macro2utf8 "nwarr" "\226\134\150" -let _ = Hashtbl.replace macro2utf8 "thicksim" "\226\136\188\239\184\128" -let _ = Hashtbl.replace macro2utf8 "nprcue" "\226\139\160" -let _ = Hashtbl.replace macro2utf8 "lcub" "{" -let _ = Hashtbl.replace macro2utf8 "forall" "\226\136\128" -let _ = Hashtbl.replace macro2utf8 "plusacir" "\226\168\163" -let _ = Hashtbl.replace macro2utf8 "ascr" "\240\157\146\182" -let _ = Hashtbl.replace macro2utf8 "plustwo" "\226\168\167" -let _ = Hashtbl.replace macro2utf8 "Utilde" "\197\168" -let _ = Hashtbl.replace macro2utf8 "lambda" "\206\187" -let _ = Hashtbl.replace macro2utf8 "odash" "\226\138\157" -let _ = Hashtbl.replace macro2utf8 "iukcy" "\209\150" -let _ = Hashtbl.replace macro2utf8 "sqsupset" "\226\138\144" -let _ = Hashtbl.replace macro2utf8 "Racute" "\197\148" -let _ = Hashtbl.replace macro2utf8 "Longleftarrow" "????" -let _ = Hashtbl.replace macro2utf8 "capcap" "\226\169\139" -let _ = Hashtbl.replace macro2utf8 "ocirc" "\195\180" -let _ = Hashtbl.replace macro2utf8 "nless" "\226\137\174" -let _ = Hashtbl.replace macro2utf8 "Wedge" "\226\139\128" -let _ = Hashtbl.replace macro2utf8 "qfr" "\240\157\148\174" -let _ = Hashtbl.replace macro2utf8 "natur" "\226\153\174" -let _ = Hashtbl.replace macro2utf8 "hscr" "\240\157\146\189" -let _ = Hashtbl.replace macro2utf8 "ldca" "\226\164\182" -let _ = Hashtbl.replace macro2utf8 "ClockwiseContourIntegral" "\226\136\178" -let _ = Hashtbl.replace macro2utf8 "exp" "exp" -let _ = Hashtbl.replace macro2utf8 "RightTeeArrow" "\226\134\166" -let _ = Hashtbl.replace macro2utf8 "orarr" "\226\134\187" -let _ = Hashtbl.replace macro2utf8 "tanh" "tanh" -let _ = Hashtbl.replace macro2utf8 "frac78" "\226\133\158" -let _ = Hashtbl.replace macro2utf8 "Atilde" "\195\131" -let _ = Hashtbl.replace macro2utf8 "arcsin" "arcsin" -let _ = Hashtbl.replace macro2utf8 "Rcedil" "\197\150" -let _ = Hashtbl.replace macro2utf8 "oscr" "\226\132\180" -let _ = Hashtbl.replace macro2utf8 "InvisibleTimes" "\226\129\162" -let _ = Hashtbl.replace macro2utf8 "sime" "\226\137\131" -let _ = Hashtbl.replace macro2utf8 "simg" "\226\170\158" -let _ = Hashtbl.replace macro2utf8 "Conint" "\226\136\175" -let _ = Hashtbl.replace macro2utf8 "Yuml" "\197\184" -let _ = Hashtbl.replace macro2utf8 "rlhar" "\226\135\140" -let _ = Hashtbl.replace macro2utf8 "rarrbfs" "\226\164\160" -let _ = Hashtbl.replace macro2utf8 "siml" "\226\170\157" -let _ = Hashtbl.replace macro2utf8 "DownRightVectorBar" "\226\165\151" -let _ = Hashtbl.replace macro2utf8 "vscr" "\240\157\147\139" -let _ = Hashtbl.replace macro2utf8 "divide" "\195\183" -let _ = Hashtbl.replace macro2utf8 "PlusMinus" "\194\177" -let _ = Hashtbl.replace macro2utf8 "ffr" "\240\157\148\163" -let _ = Hashtbl.replace macro2utf8 "DownLeftTeeVector" "\226\165\158" -let _ = Hashtbl.replace macro2utf8 "EmptySmallSquare" "\226\151\189" -let _ = Hashtbl.replace macro2utf8 "SHCHcy" "\208\169" -let _ = Hashtbl.replace macro2utf8 "cirmid" "\226\171\175" -let _ = Hashtbl.replace macro2utf8 "sigmav" "\207\130" -let _ = Hashtbl.replace macro2utf8 "csub" "\226\171\143" -let _ = Hashtbl.replace macro2utf8 "npar" "\226\136\166" -let _ = Hashtbl.replace macro2utf8 "bsemi" "\226\129\143" -let _ = Hashtbl.replace macro2utf8 "swArr" "\226\135\153" -let _ = Hashtbl.replace macro2utf8 "Pcy" "\208\159" -let _ = Hashtbl.replace macro2utf8 "sinh" "sinh" -let _ = Hashtbl.replace macro2utf8 "lharul" "\226\165\170" -let _ = Hashtbl.replace macro2utf8 "Jukcy" "\208\132" -let _ = Hashtbl.replace macro2utf8 "permil" "\226\128\176" -let _ = Hashtbl.replace macro2utf8 "ndivides" "\226\136\164" -let _ = Hashtbl.replace macro2utf8 "Aring" "\195\133" -let _ = Hashtbl.replace macro2utf8 "longmapsto" "????" -let _ = Hashtbl.replace macro2utf8 "Esim" "\226\169\179" -let _ = Hashtbl.replace macro2utf8 "csup" "\226\171\144" -let _ = Hashtbl.replace macro2utf8 "trie" "\226\137\156" -let _ = Hashtbl.replace macro2utf8 "ubrcy" "\209\158" -let _ = Hashtbl.replace macro2utf8 "NotEqualTilde" "\226\137\130\204\184" -let _ = Hashtbl.replace macro2utf8 "dotminus" "\226\136\184" -let _ = Hashtbl.replace macro2utf8 "diamondsuit" "\226\153\162" -let _ = Hashtbl.replace macro2utf8 "xnis" "\226\139\187" -let _ = Hashtbl.replace macro2utf8 "Eogon" "\196\152" -let _ = Hashtbl.replace macro2utf8 "cuvee" "\226\139\142" -let _ = Hashtbl.replace macro2utf8 "DZcy" "\208\143" -let _ = Hashtbl.replace macro2utf8 "nRightarrow" "\226\135\143" -let _ = Hashtbl.replace macro2utf8 "sqsupe" "\226\138\146" -let _ = Hashtbl.replace macro2utf8 "nsccue" "\226\139\161" -let _ = Hashtbl.replace macro2utf8 "drcrop" "\226\140\140" -let _ = Hashtbl.replace macro2utf8 "DownBreve" "\204\145" -let _ = Hashtbl.replace macro2utf8 "Ecy" "\208\173" -let _ = Hashtbl.replace macro2utf8 "rdquor" "\226\128\157" -let _ = Hashtbl.replace macro2utf8 "rAtail" "\226\164\156" -let _ = Hashtbl.replace macro2utf8 "icirc" "\195\174" -let _ = Hashtbl.replace macro2utf8 "gacute" "\199\181" -let _ = Hashtbl.replace macro2utf8 "hyphen" "\226\128\144" -let _ = Hashtbl.replace macro2utf8 "uuml" "\195\188" -let _ = Hashtbl.replace macro2utf8 "thorn" "\195\190" -let _ = Hashtbl.replace macro2utf8 "ltri" "\226\151\131" -let _ = Hashtbl.replace macro2utf8 "eqslantgtr" "\226\139\157" -let _ = Hashtbl.replace macro2utf8 "DoubleContourIntegral" "\226\136\175" -let _ = Hashtbl.replace macro2utf8 "lescc" "\226\170\168" -let _ = Hashtbl.replace macro2utf8 "DiacriticalGrave" "`" -let _ = Hashtbl.replace macro2utf8 "NotPrecedesEqual" "\226\170\175\204\184" -let _ = Hashtbl.replace macro2utf8 "RightArrow" "\226\134\146" -let _ = Hashtbl.replace macro2utf8 "race" "\226\167\154" -let _ = Hashtbl.replace macro2utf8 "topbot" "\226\140\182" -let _ = Hashtbl.replace macro2utf8 "Pfr" "\240\157\148\147" -let _ = Hashtbl.replace macro2utf8 "napprox" "\226\137\137" -let _ = Hashtbl.replace macro2utf8 "Sacute" "\197\154" -let _ = Hashtbl.replace macro2utf8 "cupor" "\226\169\133" -let _ = Hashtbl.replace macro2utf8 "OverBar" "\194\175" -let _ = Hashtbl.replace macro2utf8 "bepsi" "\207\182" -let _ = Hashtbl.replace macro2utf8 "plankv" "\226\132\143" -let _ = Hashtbl.replace macro2utf8 "lap" "\226\137\178" -let _ = Hashtbl.replace macro2utf8 "orslope" "\226\169\151" -let _ = Hashtbl.replace macro2utf8 "beta" "\206\178" -let _ = Hashtbl.replace macro2utf8 "ShortDownArrow" "\226\140\132\239\184\128" -let _ = Hashtbl.replace macro2utf8 "perp" "\226\138\165" -let _ = Hashtbl.replace macro2utf8 "lat" "\226\170\171" -let _ = Hashtbl.replace macro2utf8 "CenterDot" "\194\183" -let _ = Hashtbl.replace macro2utf8 "urcorner" "\226\140\157" -let _ = Hashtbl.replace macro2utf8 "models" "\226\138\167" -let _ = Hashtbl.replace macro2utf8 "beth" "\226\132\182" -let _ = Hashtbl.replace macro2utf8 "subE" "\226\138\134" -let _ = Hashtbl.replace macro2utf8 "subnE" "\226\138\138" -let _ = Hashtbl.replace macro2utf8 "ldots" "\226\128\166" -let _ = Hashtbl.replace macro2utf8 "yacy" "\209\143" -let _ = Hashtbl.replace macro2utf8 "udhar" "\226\165\174" -let _ = Hashtbl.replace macro2utf8 "Scedil" "\197\158" -let _ = Hashtbl.replace macro2utf8 "subsub" "\226\171\149" -let _ = Hashtbl.replace macro2utf8 "nvrtrie" "\226\139\173\204\184" -let _ = Hashtbl.replace macro2utf8 "Phi" "\206\166" -let _ = Hashtbl.replace macro2utf8 "Efr" "\240\157\148\136" -let _ = Hashtbl.replace macro2utf8 "larrfs" "\226\164\157" -let _ = Hashtbl.replace macro2utf8 "angle" "\226\136\160" -let _ = Hashtbl.replace macro2utf8 "TildeFullEqual" "\226\137\133" -let _ = Hashtbl.replace macro2utf8 "Jcirc" "\196\180" -let _ = Hashtbl.replace macro2utf8 "THORN" "\195\158" -let _ = Hashtbl.replace macro2utf8 "acE" "\226\167\155" -let _ = Hashtbl.replace macro2utf8 "Longleftrightarrow" "????" -let _ = Hashtbl.replace macro2utf8 "xuplus" "\226\138\142" -let _ = Hashtbl.replace macro2utf8 "searr" "\226\134\152" -let _ = Hashtbl.replace macro2utf8 "gvertneqq" "\226\137\169\239\184\128" -let _ = Hashtbl.replace macro2utf8 "subsup" "\226\171\147" -let _ = Hashtbl.replace macro2utf8 "NotSucceedsEqual" "\226\170\176\204\184" -let _ = Hashtbl.replace macro2utf8 "gtrsim" "\226\137\179" -let _ = Hashtbl.replace macro2utf8 "nrArr" "\226\135\143" -let _ = Hashtbl.replace macro2utf8 "NotSquareSupersetEqual" "\226\139\163" -let _ = Hashtbl.replace macro2utf8 "notindot" "\226\139\182\239\184\128" -let _ = Hashtbl.replace macro2utf8 "HARDcy" "\208\170" -let _ = Hashtbl.replace macro2utf8 "jmath" "j\239\184\128" -let _ = Hashtbl.replace macro2utf8 "aelig" "\195\166" -let _ = Hashtbl.replace macro2utf8 "slarr" "\226\134\144\239\184\128" -let _ = Hashtbl.replace macro2utf8 "dlcrop" "\226\140\141" -let _ = Hashtbl.replace macro2utf8 "sube" "\226\138\134" -let _ = Hashtbl.replace macro2utf8 "cuepr" "\226\139\158" -let _ = Hashtbl.replace macro2utf8 "supsub" "\226\171\148" -let _ = Hashtbl.replace macro2utf8 "trianglelefteq" "\226\138\180" -let _ = Hashtbl.replace macro2utf8 "subne" "\226\138\138" -let _ = Hashtbl.replace macro2utf8 "between" "\226\137\172" -let _ = Hashtbl.replace macro2utf8 "measuredangle" "\226\136\161" -let _ = Hashtbl.replace macro2utf8 "swnwar" "\226\164\170" -let _ = Hashtbl.replace macro2utf8 "lcy" "\208\187" -let _ = Hashtbl.replace macro2utf8 "ccirc" "\196\137" -let _ = Hashtbl.replace macro2utf8 "larrhk" "\226\134\169" -let _ = Hashtbl.replace macro2utf8 "DiacriticalTilde" "\203\156" -let _ = Hashtbl.replace macro2utf8 "brvbar" "\194\166" -let _ = Hashtbl.replace macro2utf8 "triangledown" "\226\150\191" -let _ = Hashtbl.replace macro2utf8 "dtrif" "\226\150\190" -let _ = Hashtbl.replace macro2utf8 "Bopf" "\240\157\148\185" -let _ = Hashtbl.replace macro2utf8 "xwedge" "\226\139\128" -let _ = Hashtbl.replace macro2utf8 "rightsquigarrow" "\226\134\157" -let _ = Hashtbl.replace macro2utf8 "acd" "\226\136\191" -let _ = Hashtbl.replace macro2utf8 "supsup" "\226\171\150" -let _ = Hashtbl.replace macro2utf8 "UpEquilibrium" "\226\165\174" -let _ = Hashtbl.replace macro2utf8 "succ" "\226\137\187" -let _ = Hashtbl.replace macro2utf8 "eqslantless" "\226\139\156" -let _ = Hashtbl.replace macro2utf8 "coprod" "\226\136\144" -let _ = Hashtbl.replace macro2utf8 "OpenCurlyDoubleQuote" "\226\128\156" -let _ = Hashtbl.replace macro2utf8 "NotGreaterSlantEqual" "\226\137\177" -let _ = Hashtbl.replace macro2utf8 "solb" "\226\167\132" -let _ = Hashtbl.replace macro2utf8 "HumpDownHump" "\226\137\142" -let _ = Hashtbl.replace macro2utf8 "gtrapprox" "\226\137\179" -let _ = Hashtbl.replace macro2utf8 "Iopf" "\240\157\149\128" -let _ = Hashtbl.replace macro2utf8 "leg" "\226\139\154" -let _ = Hashtbl.replace macro2utf8 "wfr" "\240\157\148\180" -let _ = Hashtbl.replace macro2utf8 "mapstoleft" "\226\134\164" -let _ = Hashtbl.replace macro2utf8 "gnapprox" "\226\170\138" -let _ = Hashtbl.replace macro2utf8 "lgE" "\226\170\145" -let _ = Hashtbl.replace macro2utf8 "CloseCurlyDoubleQuote" "\226\128\157" -let _ = Hashtbl.replace macro2utf8 "NotNestedLessLess" "\226\146\161\204\184" -let _ = Hashtbl.replace macro2utf8 "acy" "\208\176" -let _ = Hashtbl.replace macro2utf8 "leq" "\226\137\164" -let _ = Hashtbl.replace macro2utf8 "Popf" "\226\132\153" -let _ = Hashtbl.replace macro2utf8 "les" "\226\169\189" -let _ = Hashtbl.replace macro2utf8 "succcurlyeq" "\226\137\189" -let _ = Hashtbl.replace macro2utf8 "heartsuit" "\226\153\161" -let _ = Hashtbl.replace macro2utf8 "angmsd" "\226\136\161" -let _ = Hashtbl.replace macro2utf8 "cuesc" "\226\139\159" -let _ = Hashtbl.replace macro2utf8 "lesseqgtr" "\226\139\154" -let _ = Hashtbl.replace macro2utf8 "vartriangleright" "\226\138\179" -let _ = Hashtbl.replace macro2utf8 "csupe" "\226\171\146" -let _ = Hashtbl.replace macro2utf8 "rthree" "\226\139\140" -let _ = Hashtbl.replace macro2utf8 "Idot" "\196\176" -let _ = Hashtbl.replace macro2utf8 "gtdot" "\226\139\151" -let _ = Hashtbl.replace macro2utf8 "dashv" "\226\138\163" -let _ = Hashtbl.replace macro2utf8 "Odblac" "\197\144" -let _ = Hashtbl.replace macro2utf8 "Lmidot" "\196\191" -let _ = Hashtbl.replace macro2utf8 "andd" "\226\169\156" -let _ = Hashtbl.replace macro2utf8 "Wopf" "\240\157\149\142" -let _ = Hashtbl.replace macro2utf8 "nvltrie" "\226\139\172\204\184" -let _ = Hashtbl.replace macro2utf8 "nhpar" "\226\171\178" -let _ = Hashtbl.replace macro2utf8 "geqslant" "\226\169\190" -let _ = Hashtbl.replace macro2utf8 "xlArr" "\239\149\185" -let _ = Hashtbl.replace macro2utf8 "SquareSubset" "\226\138\143" -let _ = Hashtbl.replace macro2utf8 "intcal" "\226\138\186" -let _ = Hashtbl.replace macro2utf8 "ljcy" "\209\153" -let _ = Hashtbl.replace macro2utf8 "lfr" "\240\157\148\169" -let _ = Hashtbl.replace macro2utf8 "gtlPar" "\226\166\149" -let _ = Hashtbl.replace macro2utf8 "zigrarr" "\226\135\157" -let _ = Hashtbl.replace macro2utf8 "nvap" "\226\137\137\204\184" -let _ = Hashtbl.replace macro2utf8 "boxtimes" "\226\138\160" -let _ = Hashtbl.replace macro2utf8 "raquo" "\194\187" -let _ = Hashtbl.replace macro2utf8 "CircleMinus" "\226\138\150" -let _ = Hashtbl.replace macro2utf8 "centerdot" "\194\183" -let _ = Hashtbl.replace macro2utf8 "xoplus" "\226\138\149" -let _ = Hashtbl.replace macro2utf8 "simdot" "\226\169\170" -let _ = Hashtbl.replace macro2utf8 "Vcy" "\208\146" -let _ = Hashtbl.replace macro2utf8 "profline" "\226\140\146" -let _ = Hashtbl.replace macro2utf8 "ltquest" "\226\169\187" -let _ = Hashtbl.replace macro2utf8 "andv" "\226\169\154" -let _ = Hashtbl.replace macro2utf8 "lessgtr" "\226\137\182" -let _ = Hashtbl.replace macro2utf8 "lesdoto" "\226\170\129" -let _ = Hashtbl.replace macro2utf8 "NotSquareSubset" "\226\138\143\204\184" -let _ = Hashtbl.replace macro2utf8 "bullet" "\226\128\162" -let _ = Hashtbl.replace macro2utf8 "rarrsim" "\226\165\180" -let _ = Hashtbl.replace macro2utf8 "Tcedil" "\197\162" -let _ = Hashtbl.replace macro2utf8 "Hstrok" "\196\166" -let _ = Hashtbl.replace macro2utf8 "eopf" "\240\157\149\150" -let _ = Hashtbl.replace macro2utf8 "Theta" "\206\152" -let _ = Hashtbl.replace macro2utf8 "Cscr" "\240\157\146\158" -let _ = Hashtbl.replace macro2utf8 "emacr" "\196\147" -let _ = Hashtbl.replace macro2utf8 "UnionPlus" "\226\138\142" -let _ = Hashtbl.replace macro2utf8 "Vee" "\226\139\129" -let _ = Hashtbl.replace macro2utf8 "arctan" "arctan" -let _ = Hashtbl.replace macro2utf8 "afr" "\240\157\148\158" -let _ = Hashtbl.replace macro2utf8 "thinsp" "\226\128\137" -let _ = Hashtbl.replace macro2utf8 "bottom" "\226\138\165" -let _ = Hashtbl.replace macro2utf8 "lopf" "\240\157\149\157" -let _ = Hashtbl.replace macro2utf8 "larrlp" "\226\134\171" -let _ = Hashtbl.replace macro2utf8 "lbrace" "{" -let _ = Hashtbl.replace macro2utf8 "Jscr" "\240\157\146\165" -let _ = Hashtbl.replace macro2utf8 "Kcy" "\208\154" -let _ = Hashtbl.replace macro2utf8 "shortparallel" "\226\136\165\239\184\128" -let _ = Hashtbl.replace macro2utf8 "hairsp" "\226\128\138" -let _ = Hashtbl.replace macro2utf8 "osol" "\226\138\152" -let _ = Hashtbl.replace macro2utf8 "lbrack" "[" -let _ = Hashtbl.replace macro2utf8 "hArr" "\226\135\148" -let _ = Hashtbl.replace macro2utf8 "vdash" "\226\138\162" -let _ = Hashtbl.replace macro2utf8 "UpDownArrow" "\226\134\149" -let _ = Hashtbl.replace macro2utf8 "edot" "\196\151" -let _ = Hashtbl.replace macro2utf8 "vzigzag" "\226\166\154" -let _ = Hashtbl.replace macro2utf8 "sopf" "\240\157\149\164" -let _ = Hashtbl.replace macro2utf8 "NotLessGreater" "\226\137\184" -let _ = Hashtbl.replace macro2utf8 "Qscr" "\240\157\146\172" -let _ = Hashtbl.replace macro2utf8 "Gammad" "\207\156" -let _ = Hashtbl.replace macro2utf8 "SubsetEqual" "\226\138\134" -let _ = Hashtbl.replace macro2utf8 "uplus" "\226\138\142" -let _ = Hashtbl.replace macro2utf8 "LeftTriangle" "\226\138\178" -let _ = Hashtbl.replace macro2utf8 "ange" "\226\166\164" -let _ = Hashtbl.replace macro2utf8 "lim" "lim" -let _ = Hashtbl.replace macro2utf8 "triangleright" "\226\150\185" -let _ = Hashtbl.replace macro2utf8 "angrt" "\226\136\159" -let _ = Hashtbl.replace macro2utf8 "rfloor" "\226\140\139" -let _ = Hashtbl.replace macro2utf8 "bigtriangledown" "\226\150\189" -let _ = Hashtbl.replace macro2utf8 "ofcir" "\226\166\191" -let _ = Hashtbl.replace macro2utf8 "Vfr" "\240\157\148\153" -let _ = Hashtbl.replace macro2utf8 "zopf" "\240\157\149\171" -let _ = Hashtbl.replace macro2utf8 "UpArrowDownArrow" "\226\135\133" -let _ = Hashtbl.replace macro2utf8 "Xscr" "\240\157\146\179" -let _ = Hashtbl.replace macro2utf8 "digamma" "\207\156" -let _ = Hashtbl.replace macro2utf8 "SmallCircle" "\226\136\152" -let _ = Hashtbl.replace macro2utf8 "vArr" "\226\135\149" -let _ = Hashtbl.replace macro2utf8 "eqsim" "\226\137\130" -let _ = Hashtbl.replace macro2utf8 "downharpoonright" "\226\135\130" -let _ = Hashtbl.replace macro2utf8 "Ccaron" "\196\140" -let _ = Hashtbl.replace macro2utf8 "sdot" "\226\139\133" -let _ = Hashtbl.replace macro2utf8 "frown" "\226\140\162" -let _ = Hashtbl.replace macro2utf8 "angst" "\226\132\171" -let _ = Hashtbl.replace macro2utf8 "lesges" "\226\170\147" -let _ = Hashtbl.replace macro2utf8 "iacute" "\195\173" -let _ = Hashtbl.replace macro2utf8 "wedge" "\226\136\167" -let _ = Hashtbl.replace macro2utf8 "ssetmn" "\226\136\150\239\184\128" -let _ = Hashtbl.replace macro2utf8 "rotimes" "\226\168\181" -let _ = Hashtbl.replace macro2utf8 "laquo" "\194\171" -let _ = Hashtbl.replace macro2utf8 "bigstar" "\226\152\133" -let _ = Hashtbl.replace macro2utf8 "Rrightarrow" "\226\135\155" -let _ = Hashtbl.replace macro2utf8 "erDot" "\226\137\147" -let _ = Hashtbl.replace macro2utf8 "subseteq" "\226\138\134" -let _ = Hashtbl.replace macro2utf8 "leftharpoondown" "\226\134\189" -let _ = Hashtbl.replace macro2utf8 "infin" "\226\136\158" -let _ = Hashtbl.replace macro2utf8 "zdot" "\197\188" -let _ = Hashtbl.replace macro2utf8 "solbar" "\226\140\191" -let _ = Hashtbl.replace macro2utf8 "Iuml" "\195\143" -let _ = Hashtbl.replace macro2utf8 "Kfr" "\240\157\148\142" -let _ = Hashtbl.replace macro2utf8 "fscr" "\240\157\146\187" -let _ = Hashtbl.replace macro2utf8 "DJcy" "\208\130" -let _ = Hashtbl.replace macro2utf8 "veeeq" "\226\137\154" -let _ = Hashtbl.replace macro2utf8 "Star" "\226\139\134" -let _ = Hashtbl.replace macro2utf8 "lsquor" "\226\128\154" -let _ = Hashtbl.replace macro2utf8 "Uacute" "\195\154" -let _ = Hashtbl.replace macro2utf8 "weierp" "\226\132\152" -let _ = Hashtbl.replace macro2utf8 "rang" "\226\140\170" -let _ = Hashtbl.replace macro2utf8 "hamilt" "\226\132\139" -let _ = Hashtbl.replace macro2utf8 "angsph" "\226\136\162" -let _ = Hashtbl.replace macro2utf8 "YUcy" "\208\174" -let _ = Hashtbl.replace macro2utf8 "Wcirc" "\197\180" -let _ = Hashtbl.replace macro2utf8 "supsetneq" "\226\138\139" -let _ = Hashtbl.replace macro2utf8 "gap" "\226\137\179" -let _ = Hashtbl.replace macro2utf8 "mscr" "\240\157\147\130" -let _ = Hashtbl.replace macro2utf8 "KJcy" "\208\140" -let _ = Hashtbl.replace macro2utf8 "qprime" "\226\129\151" -let _ = Hashtbl.replace macro2utf8 "EqualTilde" "\226\137\130" -let _ = Hashtbl.replace macro2utf8 "vBar" "\226\171\168" -let _ = Hashtbl.replace macro2utf8 "larrpl" "\226\164\185" -let _ = Hashtbl.replace macro2utf8 "nvge" "\226\137\177" -let _ = Hashtbl.replace macro2utf8 "approx" "\226\137\136" -let _ = Hashtbl.replace macro2utf8 "lnE" "\226\137\168" -let _ = Hashtbl.replace macro2utf8 "NotGreaterLess" "\226\137\185" -let _ = Hashtbl.replace macro2utf8 "epar" "\226\139\149" -let _ = Hashtbl.replace macro2utf8 "bigotimes" "\226\138\151" -let _ = Hashtbl.replace macro2utf8 "xharr" "\239\149\184" -let _ = Hashtbl.replace macro2utf8 "roang" "\239\149\153" -let _ = Hashtbl.replace macro2utf8 "xcup" "\226\139\131" -let _ = Hashtbl.replace macro2utf8 "tscr" "\240\157\147\137" -let _ = Hashtbl.replace macro2utf8 "thkap" "\226\137\136\239\184\128" -let _ = Hashtbl.replace macro2utf8 "Aacute" "\195\129" -let _ = Hashtbl.replace macro2utf8 "rcy" "\209\128" -let _ = Hashtbl.replace macro2utf8 "jukcy" "\209\148" -let _ = Hashtbl.replace macro2utf8 "hookleftarrow" "\226\134\169" -let _ = Hashtbl.replace macro2utf8 "napid" "\226\137\139\204\184" -let _ = Hashtbl.replace macro2utf8 "tscy" "\209\134" -let _ = Hashtbl.replace macro2utf8 "nvgt" "\226\137\175" -let _ = Hashtbl.replace macro2utf8 "lpar" "(" -let _ = Hashtbl.replace macro2utf8 "ldsh" "\226\134\178" -let _ = Hashtbl.replace macro2utf8 "aring" "\195\165" -let _ = Hashtbl.replace macro2utf8 "nGg" "\226\139\153\204\184" -let _ = Hashtbl.replace macro2utf8 "LessEqualGreater" "\226\139\154" -let _ = Hashtbl.replace macro2utf8 "gcd" "gcd" -let _ = Hashtbl.replace macro2utf8 "oplus" "\226\138\149" -let _ = Hashtbl.replace macro2utf8 "lcaron" "\196\190" -let _ = Hashtbl.replace macro2utf8 "DownArrow" "\226\134\147" -let _ = Hashtbl.replace macro2utf8 "xutri" "\226\150\179" -let _ = Hashtbl.replace macro2utf8 "Psi" "\206\168" -let _ = Hashtbl.replace macro2utf8 "lesssim" "\226\137\178" -let _ = Hashtbl.replace macro2utf8 "topcir" "\226\171\177" -let _ = Hashtbl.replace macro2utf8 "puncsp" "\226\128\136" -let _ = Hashtbl.replace macro2utf8 "origof" "\226\138\182" -let _ = Hashtbl.replace macro2utf8 "gnsim" "\226\139\167" -let _ = Hashtbl.replace macro2utf8 "eogon" "\196\153" -let _ = Hashtbl.replace macro2utf8 "spar" "\226\136\165\239\184\128" -let _ = Hashtbl.replace macro2utf8 "LowerRightArrow" "\226\134\152" -let _ = Hashtbl.replace macro2utf8 "Lleftarrow" "\226\135\154" -let _ = Hashtbl.replace macro2utf8 "nGt" "\226\137\171\204\184" -let _ = Hashtbl.replace macro2utf8 "euml" "\195\171" -let _ = Hashtbl.replace macro2utf8 "reg" "\194\174" -let _ = Hashtbl.replace macro2utf8 "exponentiale" "\226\133\135" -let _ = Hashtbl.replace macro2utf8 "qint" "\226\168\140" -let _ = Hashtbl.replace macro2utf8 "sqcups" "\226\138\148\239\184\128" -let _ = Hashtbl.replace macro2utf8 "lne" "\226\137\168" -let _ = Hashtbl.replace macro2utf8 "LessSlantEqual" "\226\169\189" -let _ = Hashtbl.replace macro2utf8 "Egrave" "\195\136" -let _ = Hashtbl.replace macro2utf8 "orderof" "\226\132\180" -let _ = Hashtbl.replace macro2utf8 "cirE" "\226\167\131" -let _ = Hashtbl.replace macro2utf8 "nleqslant" "\226\137\176" -let _ = Hashtbl.replace macro2utf8 "gcy" "\208\179" -let _ = Hashtbl.replace macro2utf8 "curvearrowright" "\226\134\183" -let _ = Hashtbl.replace macro2utf8 "ratail" "\226\134\163" -let _ = Hashtbl.replace macro2utf8 "emsp13" "\226\128\132" -let _ = Hashtbl.replace macro2utf8 "sdotb" "\226\138\161" -let _ = Hashtbl.replace macro2utf8 "horbar" "\226\128\149" -let _ = Hashtbl.replace macro2utf8 "emsp14" "\226\128\133" -let _ = Hashtbl.replace macro2utf8 "npre" "\226\170\175\204\184" -let _ = Hashtbl.replace macro2utf8 "rbrksld" "\226\166\142" -let _ = Hashtbl.replace macro2utf8 "sdote" "\226\169\166" -let _ = Hashtbl.replace macro2utf8 "varsupsetneqq" "\226\138\139\239\184\128" -let _ = Hashtbl.replace macro2utf8 "VeryThinSpace" "\226\128\138" -let _ = Hashtbl.replace macro2utf8 "DownArrowBar" "\226\164\147" -let _ = Hashtbl.replace macro2utf8 "Rightarrow" "\226\135\146" -let _ = Hashtbl.replace macro2utf8 "ocir" "\226\138\154" -let _ = Hashtbl.replace macro2utf8 "NotHumpDownHump" "\226\137\142\204\184" -let _ = Hashtbl.replace macro2utf8 "darr" "\226\134\147" -let _ = Hashtbl.replace macro2utf8 "geqq" "\226\137\167" -let _ = Hashtbl.replace macro2utf8 "sup1" "\194\185" -let _ = Hashtbl.replace macro2utf8 "log" "log" -let _ = Hashtbl.replace macro2utf8 "sup2" "\194\178" -let _ = Hashtbl.replace macro2utf8 "micro" "\194\181" -let _ = Hashtbl.replace macro2utf8 "amp" "&" -let _ = Hashtbl.replace macro2utf8 "arccos" "arccos" -let _ = Hashtbl.replace macro2utf8 "sup3" "\194\179" -let _ = Hashtbl.replace macro2utf8 "GreaterTilde" "\226\137\179" -let _ = Hashtbl.replace macro2utf8 "circeq" "\226\137\151" -let _ = Hashtbl.replace macro2utf8 "rfr" "\240\157\148\175" -let _ = Hashtbl.replace macro2utf8 "dash" "\226\128\144" -let _ = Hashtbl.replace macro2utf8 "rbrkslu" "\226\166\144" -let _ = Hashtbl.replace macro2utf8 "Dcaron" "\196\142" -let _ = Hashtbl.replace macro2utf8 "and" "\226\136\167" -let _ = Hashtbl.replace macro2utf8 "Vbar" "\226\171\171" -let _ = Hashtbl.replace macro2utf8 "angzarr" "\226\141\188" -let _ = Hashtbl.replace macro2utf8 "gel" "\226\139\155" -let _ = Hashtbl.replace macro2utf8 "ang" "\226\136\160" -let _ = Hashtbl.replace macro2utf8 "lor" "\226\136\168" -let _ = Hashtbl.replace macro2utf8 "circ" "\226\136\152" -let _ = Hashtbl.replace macro2utf8 "upharpoonright" "\226\134\190" -let _ = Hashtbl.replace macro2utf8 "dblac" "\203\157" -let _ = Hashtbl.replace macro2utf8 "subsetneqq" "\226\138\138" -let _ = Hashtbl.replace macro2utf8 "rhard" "\226\135\129" -let _ = Hashtbl.replace macro2utf8 "Intersection" "\226\139\130" -let _ = Hashtbl.replace macro2utf8 "cire" "\226\137\151" -let _ = Hashtbl.replace macro2utf8 "apE" "\226\137\138" -let _ = Hashtbl.replace macro2utf8 "sung" "\226\153\170" -let _ = Hashtbl.replace macro2utf8 "geq" "\226\137\165" -let _ = Hashtbl.replace macro2utf8 "succsim" "\226\137\191" -let _ = Hashtbl.replace macro2utf8 "ges" "\226\169\190" -let _ = Hashtbl.replace macro2utf8 "Gbreve" "\196\158" -let _ = Hashtbl.replace macro2utf8 "intercal" "\226\138\186" -let _ = Hashtbl.replace macro2utf8 "supE" "\226\138\135" -let _ = Hashtbl.replace macro2utf8 "NotCupCap" "\226\137\173" -let _ = Hashtbl.replace macro2utf8 "loz" "\226\151\138" -let _ = Hashtbl.replace macro2utf8 "capcup" "\226\169\135" -let _ = Hashtbl.replace macro2utf8 "larrtl" "\226\134\162" -let _ = Hashtbl.replace macro2utf8 "AElig" "\195\134" -let _ = Hashtbl.replace macro2utf8 "rarr" "\226\134\146" -let _ = Hashtbl.replace macro2utf8 "varkappa" "\207\176" -let _ = Hashtbl.replace macro2utf8 "upsi" "\207\133" -let _ = Hashtbl.replace macro2utf8 "loang" "\239\149\152" -let _ = Hashtbl.replace macro2utf8 "looparrowleft" "\226\134\171" -let _ = Hashtbl.replace macro2utf8 "IOcy" "\208\129" -let _ = Hashtbl.replace macro2utf8 "backprime" "\226\128\181" -let _ = Hashtbl.replace macro2utf8 "sstarf" "\226\139\134" -let _ = Hashtbl.replace macro2utf8 "rharu" "\226\135\128" -let _ = Hashtbl.replace macro2utf8 "gesl" "\226\139\155\239\184\128" -let _ = Hashtbl.replace macro2utf8 "xotime" "\226\138\151" -let _ = Hashtbl.replace macro2utf8 "minus" "\226\136\146" -let _ = Hashtbl.replace macro2utf8 "gvnE" "\226\137\169\239\184\128" -let _ = Hashtbl.replace macro2utf8 "gfr" "\240\157\148\164" -let _ = Hashtbl.replace macro2utf8 "lfisht" "\226\165\188" -let _ = Hashtbl.replace macro2utf8 "jcirc" "\196\181" -let _ = Hashtbl.replace macro2utf8 "roarr" "\226\135\190" -let _ = Hashtbl.replace macro2utf8 "rho" "\207\129" -let _ = Hashtbl.replace macro2utf8 "nvle" "\226\137\176" -let _ = Hashtbl.replace macro2utf8 "sect" "\194\167" -let _ = Hashtbl.replace macro2utf8 "ggg" "\226\139\153" -let _ = Hashtbl.replace macro2utf8 "plusb" "\226\138\158" -let _ = Hashtbl.replace macro2utf8 "NotTildeFullEqual" "\226\137\135" -let _ = Hashtbl.replace macro2utf8 "NegativeVeryThinSpace" "\226\128\138\239\184\128" -let _ = Hashtbl.replace macro2utf8 "ape" "\226\137\138" -let _ = Hashtbl.replace macro2utf8 "pluse" "\226\169\178" -let _ = Hashtbl.replace macro2utf8 "dollar" "$" -let _ = Hashtbl.replace macro2utf8 "divonx" "\226\139\135" -let _ = Hashtbl.replace macro2utf8 "partial" "\226\136\130" -let _ = Hashtbl.replace macro2utf8 "DoubleLeftRightArrow" "\226\135\148" -let _ = Hashtbl.replace macro2utf8 "varepsilon" "\206\181" -let _ = Hashtbl.replace macro2utf8 "supe" "\226\138\135" -let _ = Hashtbl.replace macro2utf8 "nvlt" "\226\137\174" -let _ = Hashtbl.replace macro2utf8 "angrtvb" "\226\166\157\239\184\128" -let _ = Hashtbl.replace macro2utf8 "gets" "\226\134\144" -let _ = Hashtbl.replace macro2utf8 "nparallel" "\226\136\166" -let _ = Hashtbl.replace macro2utf8 "varphi" "\207\134" -let _ = Hashtbl.replace macro2utf8 "nsupseteq" "\226\138\137" -let _ = Hashtbl.replace macro2utf8 "circledR" "\194\174" -let _ = Hashtbl.replace macro2utf8 "circledS" "\226\147\136" -let _ = Hashtbl.replace macro2utf8 "primes" "\226\132\153" -let _ = Hashtbl.replace macro2utf8 "cuwed" "\226\139\143" -let _ = Hashtbl.replace macro2utf8 "cupcap" "\226\169\134" -let _ = Hashtbl.replace macro2utf8 "nLl" "\226\139\152\204\184" -let _ = Hashtbl.replace macro2utf8 "lozf" "\226\167\171" -let _ = Hashtbl.replace macro2utf8 "ShortLeftArrow" "\226\134\144\239\184\128" -let _ = Hashtbl.replace macro2utf8 "nLt" "\226\137\170\204\184" -let _ = Hashtbl.replace macro2utf8 "lesdotor" "\226\170\131" -let _ = Hashtbl.replace macro2utf8 "Fcy" "\208\164" -let _ = Hashtbl.replace macro2utf8 "scnsim" "\226\139\169" -let _ = Hashtbl.replace macro2utf8 "VerticalLine" "|" -let _ = Hashtbl.replace macro2utf8 "nwArr" "\226\135\150" -let _ = Hashtbl.replace macro2utf8 "LeftTeeArrow" "\226\134\164" -let _ = Hashtbl.replace macro2utf8 "iprod" "\226\168\188" -let _ = Hashtbl.replace macro2utf8 "lsh" "\226\134\176" -let _ = Hashtbl.replace macro2utf8 "Congruent" "\226\137\161" -let _ = Hashtbl.replace macro2utf8 "NotLeftTriangle" "\226\139\170" -let _ = Hashtbl.replace macro2utf8 "rdldhar" "\226\165\169" -let _ = Hashtbl.replace macro2utf8 "varpropto" "\226\136\157" -let _ = Hashtbl.replace macro2utf8 "nvlArr" "\226\135\141" -let _ = Hashtbl.replace macro2utf8 "arg" "arg" -let _ = Hashtbl.replace macro2utf8 "lhard" "\226\134\189" -let _ = Hashtbl.replace macro2utf8 "surd" "????" -let _ = Hashtbl.replace macro2utf8 "napos" "\197\137" -let _ = Hashtbl.replace macro2utf8 "lparlt" "\226\166\147" -let _ = Hashtbl.replace macro2utf8 "hslash" "\226\132\143" -let _ = Hashtbl.replace macro2utf8 "Gopf" "\240\157\148\190" -let _ = Hashtbl.replace macro2utf8 "SHcy" "\208\168" -let _ = Hashtbl.replace macro2utf8 "triangle" "\226\150\181" -let _ = Hashtbl.replace macro2utf8 "Qfr" "\240\157\148\148" -let _ = Hashtbl.replace macro2utf8 "DiacriticalAcute" "\194\180" -let _ = Hashtbl.replace macro2utf8 "tbrk" "\226\142\180" -let _ = Hashtbl.replace macro2utf8 "Implies" "\226\135\146" -let _ = Hashtbl.replace macro2utf8 "comp" "\226\136\129" -let _ = Hashtbl.replace macro2utf8 "ddarr" "\226\135\138" -let _ = Hashtbl.replace macro2utf8 "Colone" "\226\169\180" -let _ = Hashtbl.replace macro2utf8 "smashp" "\226\168\179" -let _ = Hashtbl.replace macro2utf8 "ccups" "\226\169\140" -let _ = Hashtbl.replace macro2utf8 "triangleq" "\226\137\156" -let _ = Hashtbl.replace macro2utf8 "NotSquareSubsetEqual" "\226\139\162" -let _ = Hashtbl.replace macro2utf8 "Nopf" "\226\132\149" -let _ = Hashtbl.replace macro2utf8 "ZHcy" "\208\150" -let _ = Hashtbl.replace macro2utf8 "map" "\226\134\166" -let _ = Hashtbl.replace macro2utf8 "lharu" "\226\134\188" -let _ = Hashtbl.replace macro2utf8 "glE" "\226\170\146" -let _ = Hashtbl.replace macro2utf8 "cong" "\226\137\133" -let _ = Hashtbl.replace macro2utf8 "Ecaron" "\196\154" -let _ = Hashtbl.replace macro2utf8 "Uring" "\197\174" -let _ = Hashtbl.replace macro2utf8 "blacktriangleright" "\226\150\184" -let _ = Hashtbl.replace macro2utf8 "ntilde" "\195\177" -let _ = Hashtbl.replace macro2utf8 "max" "max" -let _ = Hashtbl.replace macro2utf8 "loarr" "\226\135\189" -let _ = Hashtbl.replace macro2utf8 "LeftArrow" "\226\134\144" -let _ = Hashtbl.replace macro2utf8 "Gdot" "\196\160" -let _ = Hashtbl.replace macro2utf8 "Uopf" "\240\157\149\140" -let _ = Hashtbl.replace macro2utf8 "bigsqcup" "\226\138\148" -let _ = Hashtbl.replace macro2utf8 "wedgeq" "\226\137\153" -let _ = Hashtbl.replace macro2utf8 "RoundImplies" "\226\165\176" -let _ = Hashtbl.replace macro2utf8 "prap" "\226\137\190" -let _ = Hashtbl.replace macro2utf8 "gescc" "\226\170\169" -let _ = Hashtbl.replace macro2utf8 "realine" "\226\132\155" -let _ = Hashtbl.replace macro2utf8 "ast" "*" -let _ = Hashtbl.replace macro2utf8 "subedot" "\226\171\131" -let _ = Hashtbl.replace macro2utf8 "LeftTeeVector" "\226\165\154" -let _ = Hashtbl.replace macro2utf8 "female" "\226\153\128" -let _ = Hashtbl.replace macro2utf8 "circlearrowleft" "\226\134\186" -let _ = Hashtbl.replace macro2utf8 "Ffr" "\240\157\148\137" -let _ = Hashtbl.replace macro2utf8 "VDash" "\226\138\171" -let _ = Hashtbl.replace macro2utf8 "jsercy" "\209\152" -let _ = Hashtbl.replace macro2utf8 "Proportional" "\226\136\157" -let _ = Hashtbl.replace macro2utf8 "OverBracket" "\226\142\180" -let _ = Hashtbl.replace macro2utf8 "gla" "\226\170\165" -let _ = Hashtbl.replace macro2utf8 "NotElement" "\226\136\137" -let _ = Hashtbl.replace macro2utf8 "theta" "\206\184" -let _ = Hashtbl.replace macro2utf8 "kcedil" "\196\183" -let _ = Hashtbl.replace macro2utf8 "smeparsl" "\226\167\164" -let _ = Hashtbl.replace macro2utf8 "rarrb" "\226\135\165" -let _ = Hashtbl.replace macro2utf8 "rarrc" "\226\164\179" -let _ = Hashtbl.replace macro2utf8 "ograve" "\195\178" -let _ = Hashtbl.replace macro2utf8 "glj" "\226\170\164" -let _ = Hashtbl.replace macro2utf8 "infty" "\226\136\158" -let _ = Hashtbl.replace macro2utf8 "gnE" "\226\137\169" -let _ = Hashtbl.replace macro2utf8 "copf" "\240\157\149\148" -let _ = Hashtbl.replace macro2utf8 "LeftArrowRightArrow" "\226\135\134" -let _ = Hashtbl.replace macro2utf8 "cwconint" "\226\136\178" -let _ = Hashtbl.replace macro2utf8 "Ascr" "\240\157\146\156" -let _ = Hashtbl.replace macro2utf8 "NegativeThinSpace" "\226\128\137\239\184\128" -let _ = Hashtbl.replace macro2utf8 "varsubsetneq" "\226\138\138\239\184\128" -let _ = Hashtbl.replace macro2utf8 "trisb" "\226\167\141" -let _ = Hashtbl.replace macro2utf8 "rightharpoonup" "\226\135\128" -let _ = Hashtbl.replace macro2utf8 "imagline" "\226\132\144" -let _ = Hashtbl.replace macro2utf8 "mcy" "\208\188" -let _ = Hashtbl.replace macro2utf8 "Cacute" "\196\134" -let _ = Hashtbl.replace macro2utf8 "bumpeq" "\226\137\143" -let _ = Hashtbl.replace macro2utf8 "jopf" "\240\157\149\155" -let _ = Hashtbl.replace macro2utf8 "shchcy" "\209\137" -let _ = Hashtbl.replace macro2utf8 "rarrw" "\226\134\157" -let _ = Hashtbl.replace macro2utf8 "uuarr" "\226\135\136" -let _ = Hashtbl.replace macro2utf8 "doteq" "\226\137\144" -let _ = Hashtbl.replace macro2utf8 "cudarrl" "\226\164\184" -let _ = Hashtbl.replace macro2utf8 "varsigma" "\207\130" -let _ = Hashtbl.replace macro2utf8 "Hscr" "\226\132\139" -let _ = Hashtbl.replace macro2utf8 "DownArrowUpArrow" "\226\135\181" -let _ = Hashtbl.replace macro2utf8 "Ecirc" "\195\138" -let _ = Hashtbl.replace macro2utf8 "DD" "\226\133\133" -let _ = Hashtbl.replace macro2utf8 "copy" "\194\169" -let _ = Hashtbl.replace macro2utf8 "SquareIntersection" "\226\138\147" -let _ = Hashtbl.replace macro2utf8 "RightUpVector" "\226\134\190" -let _ = Hashtbl.replace macro2utf8 "NotSucceedsSlantEqual" "\226\139\161" -let _ = Hashtbl.replace macro2utf8 "cudarrr" "\226\164\181" -let _ = Hashtbl.replace macro2utf8 "verbar" "|" -let _ = Hashtbl.replace macro2utf8 "ncaron" "\197\136" -let _ = Hashtbl.replace macro2utf8 "prurel" "\226\138\176" -let _ = Hashtbl.replace macro2utf8 "nearr" "\226\134\151" -let _ = Hashtbl.replace macro2utf8 "cdot" "\196\139" -let _ = Hashtbl.replace macro2utf8 "qopf" "\240\157\149\162" -let _ = Hashtbl.replace macro2utf8 "SucceedsSlantEqual" "\226\137\189" -let _ = Hashtbl.replace macro2utf8 "Oscr" "\240\157\146\170" -let _ = Hashtbl.replace macro2utf8 "xfr" "\240\157\148\181" -let _ = Hashtbl.replace macro2utf8 "gne" "\226\137\169" -let _ = Hashtbl.replace macro2utf8 "Ccedil" "\195\135" -let _ = Hashtbl.replace macro2utf8 "nlarr" "\226\134\154" -let _ = Hashtbl.replace macro2utf8 "inodot" "\196\177" -let _ = Hashtbl.replace macro2utf8 "prec" "\226\137\186" -let _ = Hashtbl.replace macro2utf8 "percnt" "%" -let _ = Hashtbl.replace macro2utf8 "Exists" "\226\136\131" -let _ = Hashtbl.replace macro2utf8 "bcy" "\208\177" -let _ = Hashtbl.replace macro2utf8 "xopf" "\240\157\149\169" -let _ = Hashtbl.replace macro2utf8 "nsimeq" "\226\137\132" -let _ = Hashtbl.replace macro2utf8 "nrtri" "\226\139\171" -let _ = Hashtbl.replace macro2utf8 "barvee" "\226\138\189" -let _ = Hashtbl.replace macro2utf8 "Vscr" "\240\157\146\177" -let _ = Hashtbl.replace macro2utf8 "Zcaron" "\197\189" -let _ = Hashtbl.replace macro2utf8 "ReverseElement" "\226\136\139" -let _ = Hashtbl.replace macro2utf8 "npolint" "\226\168\148" -let _ = Hashtbl.replace macro2utf8 "NotGreaterTilde" "\226\137\181" -let _ = Hashtbl.replace macro2utf8 "lmoustache" "\226\142\176" -let _ = Hashtbl.replace macro2utf8 "forkv" "\226\171\153" -let _ = Hashtbl.replace macro2utf8 "rmoustache" "\226\142\177" -let _ = Hashtbl.replace macro2utf8 "DownLeftVectorBar" "\226\165\150" -let _ = Hashtbl.replace macro2utf8 "cosh" "cosh" -let _ = Hashtbl.replace macro2utf8 "mfr" "\240\157\148\170" -let _ = Hashtbl.replace macro2utf8 "LessGreater" "\226\137\182" -let _ = Hashtbl.replace macro2utf8 "zeetrf" "\226\132\168" -let _ = Hashtbl.replace macro2utf8 "DiacriticalDot" "\203\153" -let _ = Hashtbl.replace macro2utf8 "Poincareplane" "\226\132\140" -let _ = Hashtbl.replace macro2utf8 "curlyeqsucc" "\226\139\159" -let _ = Hashtbl.replace macro2utf8 "Equal" "\226\169\181" -let _ = Hashtbl.replace macro2utf8 "divides" "\226\136\163" -let _ = Hashtbl.replace macro2utf8 "scpolint" "\226\168\147" -let _ = Hashtbl.replace macro2utf8 "ngsim" "\226\137\181" -let _ = Hashtbl.replace macro2utf8 "larrbfs" "\226\164\159" -let _ = Hashtbl.replace macro2utf8 "HilbertSpace" "\226\132\139" -let _ = Hashtbl.replace macro2utf8 "otilde" "\195\181" -let _ = Hashtbl.replace macro2utf8 "larrb" "\226\135\164" -let _ = Hashtbl.replace macro2utf8 "wcirc" "\197\181" -let _ = Hashtbl.replace macro2utf8 "dscr" "\240\157\146\185" -let _ = Hashtbl.replace macro2utf8 "phmmat" "\226\132\179" -let _ = Hashtbl.replace macro2utf8 "lacute" "\196\186" -let _ = Hashtbl.replace macro2utf8 "tstrok" "\197\167" -let _ = Hashtbl.replace macro2utf8 "NotDoubleVerticalBar" "\226\136\166" -let _ = Hashtbl.replace macro2utf8 "lagran" "\226\132\146" -let _ = Hashtbl.replace macro2utf8 "NotRightTriangle" "\226\139\171" -let _ = Hashtbl.replace macro2utf8 "dscy" "\209\149" -let _ = Hashtbl.replace macro2utf8 "rightrightarrows" "\226\135\137" -let _ = Hashtbl.replace macro2utf8 "seArr" "\226\135\152" -let _ = Hashtbl.replace macro2utf8 "RightTriangleBar" "\226\167\144" -let _ = Hashtbl.replace macro2utf8 "coth" "coth" -let _ = Hashtbl.replace macro2utf8 "swarrow" "\226\134\153" -let _ = Hashtbl.replace macro2utf8 "semi" ";" -let _ = Hashtbl.replace macro2utf8 "kscr" "\240\157\147\128" -let _ = Hashtbl.replace macro2utf8 "NotLessEqual" "\226\137\176\226\131\165" -let _ = Hashtbl.replace macro2utf8 "cularr" "\226\134\182" -let _ = Hashtbl.replace macro2utf8 "blacklozenge" "\226\167\171" -let _ = Hashtbl.replace macro2utf8 "realpart" "\226\132\156" -let _ = Hashtbl.replace macro2utf8 "LeftTriangleEqual" "\226\138\180" -let _ = Hashtbl.replace macro2utf8 "bfr" "\240\157\148\159" -let _ = Hashtbl.replace macro2utf8 "Uuml" "\195\156" -let _ = Hashtbl.replace macro2utf8 "longleftrightarrow" "????" -let _ = Hashtbl.replace macro2utf8 "lcedil" "\196\188" -let _ = Hashtbl.replace macro2utf8 "complement" "\226\136\129" -let _ = Hashtbl.replace macro2utf8 "rscr" "\240\157\147\135" -let _ = Hashtbl.replace macro2utf8 "mho" "\226\132\167" -let _ = Hashtbl.replace macro2utf8 "mcomma" "\226\168\169" -let _ = Hashtbl.replace macro2utf8 "wedbar" "\226\169\159" -let _ = Hashtbl.replace macro2utf8 "NotVerticalBar" "\226\136\164" -let _ = Hashtbl.replace macro2utf8 "Lcy" "\208\155" -let _ = Hashtbl.replace macro2utf8 "tprime" "\226\128\180" -let _ = Hashtbl.replace macro2utf8 "precneqq" "\226\170\181" -let _ = Hashtbl.replace macro2utf8 "Downarrow" "\226\135\147" -let _ = Hashtbl.replace macro2utf8 "rsh" "\226\134\177" -let _ = Hashtbl.replace macro2utf8 "mid" "\226\136\163" -let _ = Hashtbl.replace macro2utf8 "blank" "\226\144\163" -let _ = Hashtbl.replace macro2utf8 "square" "\226\150\161" -let _ = Hashtbl.replace macro2utf8 "squarf" "\226\150\170" -let _ = Hashtbl.replace macro2utf8 "fflig" "\239\172\128" -let _ = Hashtbl.replace macro2utf8 "downdownarrows" "\226\135\138" -let _ = Hashtbl.replace macro2utf8 "yscr" "\240\157\147\142" -let _ = Hashtbl.replace macro2utf8 "subdot" "\226\170\189" -let _ = Hashtbl.replace macro2utf8 "ShortRightArrow" "\226\134\146\239\184\128" -let _ = Hashtbl.replace macro2utf8 "NotCongruent" "\226\137\162" -let _ = Hashtbl.replace macro2utf8 "Gg" "\226\139\153" -let _ = Hashtbl.replace macro2utf8 "Lstrok" "\197\129" -let _ = Hashtbl.replace macro2utf8 "min" "max" -let _ = Hashtbl.replace macro2utf8 "Laplacetrf" "\226\132\146" -let _ = Hashtbl.replace macro2utf8 "rarrap" "\226\165\181" -let _ = Hashtbl.replace macro2utf8 "NotLessSlantEqual" "\226\137\176" -let _ = Hashtbl.replace macro2utf8 "DoubleRightArrow" "\226\135\146" -let _ = Hashtbl.replace macro2utf8 "Wfr" "\240\157\148\154" -let _ = Hashtbl.replace macro2utf8 "subrarr" "\226\165\185" -let _ = Hashtbl.replace macro2utf8 "numsp" "\226\128\135" -let _ = Hashtbl.replace macro2utf8 "khcy" "\209\133" -let _ = Hashtbl.replace macro2utf8 "oint" "\226\136\174" -let _ = Hashtbl.replace macro2utf8 "vprop" "\226\136\157" -let _ = Hashtbl.replace macro2utf8 "hardcy" "\209\138" -let _ = Hashtbl.replace macro2utf8 "boxminus" "\226\138\159" -let _ = Hashtbl.replace macro2utf8 "GreaterLess" "\226\137\183" -let _ = Hashtbl.replace macro2utf8 "thetav" "\207\145" -let _ = Hashtbl.replace macro2utf8 "scE" "\226\137\190" -let _ = Hashtbl.replace macro2utf8 "Gt" "\226\137\171" -let _ = Hashtbl.replace macro2utf8 "Acy" "\208\144" -let _ = Hashtbl.replace macro2utf8 "backcong" "\226\137\140" -let _ = Hashtbl.replace macro2utf8 "gtquest" "\226\169\188" -let _ = Hashtbl.replace macro2utf8 "awint" "\226\168\145" -let _ = Hashtbl.replace macro2utf8 "profsurf" "\226\140\147" -let _ = Hashtbl.replace macro2utf8 "capdot" "\226\169\128" -let _ = Hashtbl.replace macro2utf8 "supdot" "\226\170\190" -let _ = Hashtbl.replace macro2utf8 "oelig" "\197\147" -let _ = Hashtbl.replace macro2utf8 "doteqdot" "\226\137\145" -let _ = Hashtbl.replace macro2utf8 "rharul" "\226\165\172" -let _ = Hashtbl.replace macro2utf8 "cylcty" "\226\140\173" -let _ = Hashtbl.replace macro2utf8 "epsi" "\206\181" -let _ = Hashtbl.replace macro2utf8 "eqcirc" "\226\137\150" -let _ = Hashtbl.replace macro2utf8 "nLeftarrow" "\226\135\141" -let _ = Hashtbl.replace macro2utf8 "rtrie" "\226\138\181" -let _ = Hashtbl.replace macro2utf8 "para" "\194\182" -let _ = Hashtbl.replace macro2utf8 "Lfr" "\240\157\148\143" -let _ = Hashtbl.replace macro2utf8 "rtrif" "\226\150\184" -let _ = Hashtbl.replace macro2utf8 "NotReverseElement" "\226\136\140" -let _ = Hashtbl.replace macro2utf8 "emptyv" "\226\136\133" -let _ = Hashtbl.replace macro2utf8 "nldr" "\226\128\165" -let _ = Hashtbl.replace macro2utf8 "leqq" "\226\137\166" -let _ = Hashtbl.replace macro2utf8 "CapitalDifferentialD" "\226\133\133" -let _ = Hashtbl.replace macro2utf8 "supsetneqq" "\226\138\139" -let _ = Hashtbl.replace macro2utf8 "boxDL" "\226\149\151" -let _ = Hashtbl.replace macro2utf8 "Im" "\226\132\145" -let _ = Hashtbl.replace macro2utf8 "sce" "\226\137\189" -let _ = Hashtbl.replace macro2utf8 "prsim" "\226\137\190" -let _ = Hashtbl.replace macro2utf8 "diams" "\226\153\166" -let _ = Hashtbl.replace macro2utf8 "gtreqqless" "\226\139\155" -let _ = Hashtbl.replace macro2utf8 "boxDR" "\226\149\148" -let _ = Hashtbl.replace macro2utf8 "vartriangleleft" "\226\138\178" -let _ = Hashtbl.replace macro2utf8 "SupersetEqual" "\226\138\135" -let _ = Hashtbl.replace macro2utf8 "Omega" "\206\169" -let _ = Hashtbl.replace macro2utf8 "nsubseteqq" "\226\138\136" -let _ = Hashtbl.replace macro2utf8 "Subset" "\226\139\144" -let _ = Hashtbl.replace macro2utf8 "ncongdot" "\226\169\173\204\184" -let _ = Hashtbl.replace macro2utf8 "minusb" "\226\138\159" -let _ = Hashtbl.replace macro2utf8 "ltimes" "\226\139\137" -let _ = Hashtbl.replace macro2utf8 "seswar" "\226\164\169" -let _ = Hashtbl.replace macro2utf8 "part" "\226\136\130" -let _ = Hashtbl.replace macro2utf8 "bumpE" "\226\170\174" -let _ = Hashtbl.replace macro2utf8 "minusd" "\226\136\184" -let _ = Hashtbl.replace macro2utf8 "Amacr" "\196\128" -let _ = Hashtbl.replace macro2utf8 "nleq" "\226\137\176" -let _ = Hashtbl.replace macro2utf8 "nles" "\226\137\176" -let _ = Hashtbl.replace macro2utf8 "NotLess" "\226\137\174" -let _ = Hashtbl.replace macro2utf8 "scy" "\209\129" -let _ = Hashtbl.replace macro2utf8 "iinfin" "\226\167\156" -let _ = Hashtbl.replace macro2utf8 "Afr" "\240\157\148\132" -let _ = Hashtbl.replace macro2utf8 "isinsv" "\226\139\179" -let _ = Hashtbl.replace macro2utf8 "prnE" "\226\170\181" -let _ = Hashtbl.replace macro2utf8 "lesg" "\226\139\154\239\184\128" -let _ = Hashtbl.replace macro2utf8 "cups" "\226\136\170\239\184\128" -let _ = Hashtbl.replace macro2utf8 "thickapprox" "\226\137\136\239\184\128" -let _ = Hashtbl.replace macro2utf8 "RightTeeVector" "\226\165\155" -let _ = Hashtbl.replace macro2utf8 "LowerLeftArrow" "\226\134\153" -let _ = Hashtbl.replace macro2utf8 "utdot" "\226\139\176" -let _ = Hashtbl.replace macro2utf8 "homtht" "\226\136\187" -let _ = Hashtbl.replace macro2utf8 "ddotseq" "\226\169\183" -let _ = Hashtbl.replace macro2utf8 "bowtie" "\226\139\136" -let _ = Hashtbl.replace macro2utf8 "succnsim" "\226\139\169" -let _ = Hashtbl.replace macro2utf8 "boxDl" "\226\149\150" -let _ = Hashtbl.replace macro2utf8 "quot" "\"" -let _ = Hashtbl.replace macro2utf8 "lvnE" "\226\137\168\239\184\128" -let _ = Hashtbl.replace macro2utf8 "CircleDot" "\226\138\153" -let _ = Hashtbl.replace macro2utf8 "lsime" "\226\170\141" -let _ = Hashtbl.replace macro2utf8 "Yacute" "\195\157" -let _ = Hashtbl.replace macro2utf8 "esdot" "\226\137\144" -let _ = Hashtbl.replace macro2utf8 "Supset" "\226\139\145" -let _ = Hashtbl.replace macro2utf8 "lsimg" "\226\170\143" -let _ = Hashtbl.replace macro2utf8 "eDot" "\226\137\145" -let _ = Hashtbl.replace macro2utf8 "sec" "sec" -let _ = Hashtbl.replace macro2utf8 "boxDr" "\226\149\147" -let _ = Hashtbl.replace macro2utf8 "plus" "+" -let _ = Hashtbl.replace macro2utf8 "ddagger" "\226\128\161" -let _ = Hashtbl.replace macro2utf8 "Vdashl" "\226\171\166" -let _ = Hashtbl.replace macro2utf8 "equest" "\226\137\159" -let _ = Hashtbl.replace macro2utf8 "quest" "?" -let _ = Hashtbl.replace macro2utf8 "divideontimes" "\226\139\135" -let _ = Hashtbl.replace macro2utf8 "nsmid" "\226\136\164\239\184\128" -let _ = Hashtbl.replace macro2utf8 "fnof" "\198\146" -let _ = Hashtbl.replace macro2utf8 "bumpe" "\226\137\143" -let _ = Hashtbl.replace macro2utf8 "lhblk" "\226\150\132" -let _ = Hashtbl.replace macro2utf8 "prnap" "\226\139\168" -let _ = Hashtbl.replace macro2utf8 "compfn" "\226\136\152" -let _ = Hashtbl.replace macro2utf8 "nsucceq" "\226\170\176\204\184" -let _ = Hashtbl.replace macro2utf8 "RightArrowLeftArrow" "\226\135\132" -let _ = Hashtbl.replace macro2utf8 "sharp" "\226\153\175" -let _ = Hashtbl.replace macro2utf8 "CHcy" "\208\167" -let _ = Hashtbl.replace macro2utf8 "dwangle" "\226\166\166" -let _ = Hashtbl.replace macro2utf8 "angrtvbd" "\226\166\157" -let _ = Hashtbl.replace macro2utf8 "period" "." -let _ = Hashtbl.replace macro2utf8 "phone" "\226\152\142" -let _ = Hashtbl.replace macro2utf8 "Eacute" "\195\137" -let _ = Hashtbl.replace macro2utf8 "dzigrarr" "\239\150\162" -let _ = Hashtbl.replace macro2utf8 "Ll" "\226\139\152" -let _ = Hashtbl.replace macro2utf8 "succapprox" "\226\137\191" -let _ = Hashtbl.replace macro2utf8 "rarrfs" "\226\164\158" -let _ = Hashtbl.replace macro2utf8 "dbkarow" "\226\164\143" -let _ = Hashtbl.replace macro2utf8 "zeta" "\206\182" -let _ = Hashtbl.replace macro2utf8 "Lt" "\226\137\170" -let _ = Hashtbl.replace macro2utf8 "triminus" "\226\168\186" -let _ = Hashtbl.replace macro2utf8 "odiv" "\226\168\184" -let _ = Hashtbl.replace macro2utf8 "ltrie" "\226\138\180" -let _ = Hashtbl.replace macro2utf8 "Dagger" "\226\128\161" -let _ = Hashtbl.replace macro2utf8 "ltrif" "\226\151\130" -let _ = Hashtbl.replace macro2utf8 "boxHD" "\226\149\166" -let _ = Hashtbl.replace macro2utf8 "timesb" "\226\138\160" -let _ = Hashtbl.replace macro2utf8 "check" "\226\156\147" -let _ = Hashtbl.replace macro2utf8 "urcorn" "\226\140\157" -let _ = Hashtbl.replace macro2utf8 "timesd" "\226\168\176" -let _ = Hashtbl.replace macro2utf8 "tshcy" "\209\155" -let _ = Hashtbl.replace macro2utf8 "sfr" "\240\157\148\176" -let _ = Hashtbl.replace macro2utf8 "lmoust" "\226\142\176" -let _ = Hashtbl.replace macro2utf8 "ruluhar" "\226\165\168" -let _ = Hashtbl.replace macro2utf8 "bne" "=\226\131\165" -let _ = Hashtbl.replace macro2utf8 "prod" "\226\136\143" -let _ = Hashtbl.replace macro2utf8 "Eopf" "\240\157\148\188" -let _ = Hashtbl.replace macro2utf8 "scsim" "\226\137\191" -let _ = Hashtbl.replace macro2utf8 "GreaterEqualLess" "\226\139\155" -let _ = Hashtbl.replace macro2utf8 "Igrave" "\195\140" -let _ = Hashtbl.replace macro2utf8 "Longrightarrow" "\226\135\146" -let _ = Hashtbl.replace macro2utf8 "bigcap" "\226\139\130" -let _ = Hashtbl.replace macro2utf8 "boxHU" "\226\149\169" -let _ = Hashtbl.replace macro2utf8 "uring" "\197\175" -let _ = Hashtbl.replace macro2utf8 "equivDD" "\226\169\184" -let _ = Hashtbl.replace macro2utf8 "prop" "\226\136\157" -let _ = Hashtbl.replace macro2utf8 "Lopf" "\240\157\149\131" -let _ = Hashtbl.replace macro2utf8 "ldrushar" "\226\165\139" -let _ = Hashtbl.replace macro2utf8 "rarrhk" "\226\134\170" -let _ = Hashtbl.replace macro2utf8 "Leftarrow" "\226\135\144" -let _ = Hashtbl.replace macro2utf8 "lltri" "\226\151\186" -let _ = Hashtbl.replace macro2utf8 "NestedGreaterGreater" "\226\137\171" -let _ = Hashtbl.replace macro2utf8 "GreaterFullEqual" "\226\137\167" -let _ = Hashtbl.replace macro2utf8 "robrk" "\227\128\155" -let _ = Hashtbl.replace macro2utf8 "larrsim" "\226\165\179" -let _ = Hashtbl.replace macro2utf8 "boxHd" "\226\149\164" -let _ = Hashtbl.replace macro2utf8 "vDash" "\226\138\168" -let _ = Hashtbl.replace macro2utf8 "hfr" "\240\157\148\165" -let _ = Hashtbl.replace macro2utf8 "Edot" "\196\150" -let _ = Hashtbl.replace macro2utf8 "Vvdash" "\226\138\170" -let _ = Hashtbl.replace macro2utf8 "Sopf" "\240\157\149\138" -let _ = Hashtbl.replace macro2utf8 "upuparrows" "\226\135\136" -let _ = Hashtbl.replace macro2utf8 "RightUpTeeVector" "\226\165\156" -let _ = Hashtbl.replace macro2utf8 "DownLeftVector" "\226\134\189" -let _ = Hashtbl.replace macro2utf8 "xhArr" "\239\149\187" -let _ = Hashtbl.replace macro2utf8 "triplus" "\226\168\185" -let _ = Hashtbl.replace macro2utf8 "bot" "\226\138\165" -let _ = Hashtbl.replace macro2utf8 "Rcy" "\208\160" -let _ = Hashtbl.replace macro2utf8 "eDDot" "\226\169\183" -let _ = Hashtbl.replace macro2utf8 "subseteqq" "\226\138\134" -let _ = Hashtbl.replace macro2utf8 "cirfnint" "\226\168\144" -let _ = Hashtbl.replace macro2utf8 "spadesuit" "\226\153\160" -let _ = Hashtbl.replace macro2utf8 "nacute" "\197\132" -let _ = Hashtbl.replace macro2utf8 "Zopf" "\226\132\164" -let _ = Hashtbl.replace macro2utf8 "upharpoonleft" "\226\134\191" -let _ = Hashtbl.replace macro2utf8 "shy" "\194\173" -let _ = Hashtbl.replace macro2utf8 "nparsl" "\226\136\165\239\184\128\226\131\165" -let _ = Hashtbl.replace macro2utf8 "boxHu" "\226\149\167" -let _ = Hashtbl.replace macro2utf8 "ThickSpace" "\226\128\137\226\128\138\226\128\138" -let _ = Hashtbl.replace macro2utf8 "Or" "\226\169\148" -let _ = Hashtbl.replace macro2utf8 "raemptyv" "\226\166\179" -let _ = Hashtbl.replace macro2utf8 "Aogon" "\196\132" -let _ = Hashtbl.replace macro2utf8 "IEcy" "\208\149" -let _ = Hashtbl.replace macro2utf8 "sim" "\226\136\188" -let _ = Hashtbl.replace macro2utf8 "sin" "sin" -let _ = Hashtbl.replace macro2utf8 "copysr" "\226\132\151" -let _ = Hashtbl.replace macro2utf8 "scnap" "\226\139\169" -let _ = Hashtbl.replace macro2utf8 "rdquo" "\226\128\157" -let _ = Hashtbl.replace macro2utf8 "aopf" "\240\157\149\146" -let _ = Hashtbl.replace macro2utf8 "Pi" "\206\160" -let _ = Hashtbl.replace macro2utf8 "Udblac" "\197\176" -let _ = Hashtbl.replace macro2utf8 "expectation" "\226\132\176" -let _ = Hashtbl.replace macro2utf8 "Zacute" "\197\185" -let _ = Hashtbl.replace macro2utf8 "urtri" "\226\151\185" -let _ = Hashtbl.replace macro2utf8 "NotTildeEqual" "\226\137\132" -let _ = Hashtbl.replace macro2utf8 "ncedil" "\197\134" -let _ = Hashtbl.replace macro2utf8 "Gamma" "\206\147" -let _ = Hashtbl.replace macro2utf8 "ecirc" "\195\170" -let _ = Hashtbl.replace macro2utf8 "dsol" "\226\167\182" -let _ = Hashtbl.replace macro2utf8 "Gcy" "\208\147" -let _ = Hashtbl.replace macro2utf8 "Pr" "Pr" -let _ = Hashtbl.replace macro2utf8 "Zdot" "\197\187" -let _ = Hashtbl.replace macro2utf8 "mnplus" "\226\136\147" -let _ = Hashtbl.replace macro2utf8 "hopf" "\240\157\149\153" -let _ = Hashtbl.replace macro2utf8 "blacktriangledown" "\226\150\190" -let _ = Hashtbl.replace macro2utf8 "LeftCeiling" "\226\140\136" -let _ = Hashtbl.replace macro2utf8 "ulcorn" "\226\140\156" -let _ = Hashtbl.replace macro2utf8 "searrow" "\226\134\152" -let _ = Hashtbl.replace macro2utf8 "GreaterGreater" "\226\170\162" -let _ = Hashtbl.replace macro2utf8 "Fscr" "\226\132\177" -let _ = Hashtbl.replace macro2utf8 "cupcup" "\226\169\138" -let _ = Hashtbl.replace macro2utf8 "NotEqual" "\226\137\160" -let _ = Hashtbl.replace macro2utf8 "sext" "\226\156\182" -let _ = Hashtbl.replace macro2utf8 "CirclePlus" "\226\138\149" -let _ = Hashtbl.replace macro2utf8 "erarr" "\226\165\177" -let _ = Hashtbl.replace macro2utf8 "dArr" "\226\135\147" -let _ = Hashtbl.replace macro2utf8 "PrecedesSlantEqual" "\226\137\188" -let _ = Hashtbl.replace macro2utf8 "Itilde" "\196\168" -let _ = Hashtbl.replace macro2utf8 "gesdoto" "\226\170\130" -let _ = Hashtbl.replace macro2utf8 "Rang" "\227\128\139" -let _ = Hashtbl.replace macro2utf8 "nwarhk" "\226\164\163" -let _ = Hashtbl.replace macro2utf8 "minusdu" "\226\168\170" -let _ = Hashtbl.replace macro2utf8 "oopf" "\240\157\149\160" -let _ = Hashtbl.replace macro2utf8 "Mscr" "\226\132\179" -let _ = Hashtbl.replace macro2utf8 "Rfr" "\226\132\156" -let _ = Hashtbl.replace macro2utf8 "langle" "\226\140\169" -let _ = Hashtbl.replace macro2utf8 "And" "\226\169\147" -let _ = Hashtbl.replace macro2utf8 "bprime" "\226\128\181" -let _ = Hashtbl.replace macro2utf8 "nLeftrightarrow" "\226\135\142" -let _ = Hashtbl.replace macro2utf8 "Re" "\226\132\156" -let _ = Hashtbl.replace macro2utf8 "OpenCurlyQuote" "\226\128\152" -let _ = Hashtbl.replace macro2utf8 "vopf" "\240\157\149\167" -let _ = Hashtbl.replace macro2utf8 "ulcorner" "\226\140\156" -let _ = Hashtbl.replace macro2utf8 "nap" "\226\137\137" -let _ = Hashtbl.replace macro2utf8 "Tscr" "\240\157\146\175" -let _ = Hashtbl.replace macro2utf8 "gtreqless" "\226\139\155" -let _ = Hashtbl.replace macro2utf8 "rarrlp" "\226\134\172" -let _ = Hashtbl.replace macro2utf8 "Lambda" "\206\155" -let _ = Hashtbl.replace macro2utf8 "lobrk" "\227\128\154" -let _ = Hashtbl.replace macro2utf8 "rbrace" "}" -let _ = Hashtbl.replace macro2utf8 "rArr" "\226\135\146" -let _ = Hashtbl.replace macro2utf8 "coloneq" "\226\137\148" -let _ = Hashtbl.replace macro2utf8 "UpArrow" "\226\134\145" -let _ = Hashtbl.replace macro2utf8 "odot" "\226\138\153" -let _ = Hashtbl.replace macro2utf8 "LeftDownTeeVector" "\226\165\161" -let _ = Hashtbl.replace macro2utf8 "complexes" "\226\132\130" -let _ = Hashtbl.replace macro2utf8 "rbrack" "]" -let _ = Hashtbl.replace macro2utf8 "DownTeeArrow" "\226\134\167" -let _ = Hashtbl.replace macro2utf8 "sqcap" "\226\138\147" -let _ = Hashtbl.replace macro2utf8 "Sc" "\226\170\188" -let _ = Hashtbl.replace macro2utf8 "ycy" "\209\139" -let _ = Hashtbl.replace macro2utf8 "Prime" "\226\128\179" -let _ = Hashtbl.replace macro2utf8 "Gfr" "\240\157\148\138" -let _ = Hashtbl.replace macro2utf8 "trianglerighteq" "\226\138\181" -let _ = Hashtbl.replace macro2utf8 "rangd" "\226\166\146" -let _ = Hashtbl.replace macro2utf8 "gtrdot" "\226\139\151" -let _ = Hashtbl.replace macro2utf8 "range" "\226\166\165" -let _ = Hashtbl.replace macro2utf8 "rsqb" "]" -let _ = Hashtbl.replace macro2utf8 "Euml" "\195\139" -let _ = Hashtbl.replace macro2utf8 "Therefore" "\226\136\180" -let _ = Hashtbl.replace macro2utf8 "nesim" "\226\137\130\204\184" -let _ = Hashtbl.replace macro2utf8 "order" "\226\132\180" -let _ = Hashtbl.replace macro2utf8 "vsupnE" "\226\138\139\239\184\128" -let _ = Hashtbl.replace macro2utf8 "awconint" "\226\136\179" -let _ = Hashtbl.replace macro2utf8 "bscr" "\240\157\146\183" -let _ = Hashtbl.replace macro2utf8 "lesseqqgtr" "\226\139\154" -let _ = Hashtbl.replace macro2utf8 "cap" "\226\136\169" -let _ = Hashtbl.replace macro2utf8 "ldquo" "\226\128\156" -let _ = Hashtbl.replace macro2utf8 "nsubseteq" "\226\138\136" -let _ = Hashtbl.replace macro2utf8 "rhov" "\207\177" -let _ = Hashtbl.replace macro2utf8 "xvee" "\226\139\129" -let _ = Hashtbl.replace macro2utf8 "olarr" "\226\134\186" -let _ = Hashtbl.replace macro2utf8 "nang" "\226\136\160\204\184" -let _ = Hashtbl.replace macro2utf8 "uwangle" "\226\166\167" -let _ = Hashtbl.replace macro2utf8 "nlsim" "\226\137\180" -let _ = Hashtbl.replace macro2utf8 "smt" "\226\170\170" -let _ = Hashtbl.replace macro2utf8 "nVdash" "\226\138\174" -let _ = Hashtbl.replace macro2utf8 "napE" "\226\169\176\204\184" -let _ = Hashtbl.replace macro2utf8 "ngeq" "\226\137\177" -let _ = Hashtbl.replace macro2utf8 "iscr" "\240\157\146\190" -let _ = Hashtbl.replace macro2utf8 "GJcy" "\208\131" -let _ = Hashtbl.replace macro2utf8 "nges" "\226\137\177" -let _ = Hashtbl.replace macro2utf8 "exist" "\226\136\131" -let _ = Hashtbl.replace macro2utf8 "cent" "\194\162" -let _ = Hashtbl.replace macro2utf8 "oacute" "\195\179" -let _ = Hashtbl.replace macro2utf8 "Darr" "\226\134\161" -let _ = Hashtbl.replace macro2utf8 "yen" "\194\165" -let _ = Hashtbl.replace macro2utf8 "bigcirc" "\226\151\175" -let _ = Hashtbl.replace macro2utf8 "ncy" "\208\189" -let _ = Hashtbl.replace macro2utf8 "midast" "*" -let _ = Hashtbl.replace macro2utf8 "UpperRightArrow" "\226\134\151" -let _ = Hashtbl.replace macro2utf8 "precnapprox" "\226\139\168" -let _ = Hashtbl.replace macro2utf8 "OElig" "\197\146" -let _ = Hashtbl.replace macro2utf8 "hybull" "\226\129\131" -let _ = Hashtbl.replace macro2utf8 "cupbrcap" "\226\169\136" -let _ = Hashtbl.replace macro2utf8 "rationals" "\226\132\154" -let _ = Hashtbl.replace macro2utf8 "VerticalTilde" "\226\137\128" -let _ = Hashtbl.replace macro2utf8 "pscr" "\240\157\147\133" -let _ = Hashtbl.replace macro2utf8 "NJcy" "\208\138" -let _ = Hashtbl.replace macro2utf8 "NotSucceedsTilde" "\226\137\191\204\184" -let _ = Hashtbl.replace macro2utf8 "vsupne" "\226\138\139\239\184\128" -let _ = Hashtbl.replace macro2utf8 "Updownarrow" "\226\135\149" -let _ = Hashtbl.replace macro2utf8 "Lsh" "\226\134\176" -let _ = Hashtbl.replace macro2utf8 "rAarr" "\226\135\155" -let _ = Hashtbl.replace macro2utf8 "precapprox" "\226\137\190" -let _ = Hashtbl.replace macro2utf8 "rsquor" "\226\128\153" -let _ = Hashtbl.replace macro2utf8 "pound" "\194\163" -let _ = Hashtbl.replace macro2utf8 "lbrksld" "\226\166\143" -let _ = Hashtbl.replace macro2utf8 "gesdot" "\226\170\128" -let _ = Hashtbl.replace macro2utf8 "Element" "\226\136\136" -let _ = Hashtbl.replace macro2utf8 "xcirc" "\226\151\175" -let _ = Hashtbl.replace macro2utf8 "wscr" "\240\157\147\140" -let _ = Hashtbl.replace macro2utf8 "toea" "\226\164\168" -let _ = Hashtbl.replace macro2utf8 "setmn" "\226\136\150" -let _ = Hashtbl.replace macro2utf8 "neg" "\194\172" -let _ = Hashtbl.replace macro2utf8 "sol" "/" -let _ = Hashtbl.replace macro2utf8 "yfr" "\240\157\148\182" -let _ = Hashtbl.replace macro2utf8 "DoubleDownArrow" "\226\135\147" -let _ = Hashtbl.replace macro2utf8 "Rarr" "\226\134\160" -let _ = Hashtbl.replace macro2utf8 "ngE" "\226\137\177" -let _ = Hashtbl.replace macro2utf8 "Upsi" "\207\146" -let _ = Hashtbl.replace macro2utf8 "opar" "\226\166\183" -let _ = Hashtbl.replace macro2utf8 "rarrpl" "\226\165\133" -let _ = Hashtbl.replace macro2utf8 "auml" "\195\164" -let _ = Hashtbl.replace macro2utf8 "bmod" "mod" -let _ = Hashtbl.replace macro2utf8 "SquareSuperset" "\226\138\144" -let _ = Hashtbl.replace macro2utf8 "neq" "\226\137\160" -let _ = Hashtbl.replace macro2utf8 "circleddash" "\226\138\157" -let _ = Hashtbl.replace macro2utf8 "xrarr" "\239\149\183" -let _ = Hashtbl.replace macro2utf8 "barwed" "\226\138\188" -let _ = Hashtbl.replace macro2utf8 "lbrkslu" "\226\166\141" -let _ = Hashtbl.replace macro2utf8 "planckh" "\226\132\142" -let _ = Hashtbl.replace macro2utf8 "ldrdhar" "\226\165\167" -let _ = Hashtbl.replace macro2utf8 "circledcirc" "\226\138\154" -let _ = Hashtbl.replace macro2utf8 "ctdot" "\226\139\175" -let _ = Hashtbl.replace macro2utf8 "fallingdotseq" "\226\137\146" -let _ = Hashtbl.replace macro2utf8 "Map" "\226\164\133" -let _ = Hashtbl.replace macro2utf8 "VerticalBar" "\226\136\163" -let _ = Hashtbl.replace macro2utf8 "succeq" "\226\137\189" -let _ = Hashtbl.replace macro2utf8 "tint" "\226\136\173" -let _ = Hashtbl.replace macro2utf8 "imof" "\226\138\183" -let _ = Hashtbl.replace macro2utf8 "diam" "\226\139\132" -let _ = Hashtbl.replace macro2utf8 "twixt" "\226\137\172" -let _ = Hashtbl.replace macro2utf8 "NoBreak" "\239\187\191" -let _ = Hashtbl.replace macro2utf8 "langd" "\226\166\145" -let _ = Hashtbl.replace macro2utf8 "Bernoullis" "\226\132\172" -let _ = Hashtbl.replace macro2utf8 "rcaron" "\197\153" -let _ = Hashtbl.replace macro2utf8 "hom" "hom" -let _ = Hashtbl.replace macro2utf8 "nfr" "\240\157\148\171" -let _ = Hashtbl.replace macro2utf8 "backsimeq" "\226\139\141" -let _ = Hashtbl.replace macro2utf8 "target" "\226\140\150" -let _ = Hashtbl.replace macro2utf8 "ouml" "\195\182" -let _ = Hashtbl.replace macro2utf8 "nge" "\226\137\177\226\131\165" -let _ = Hashtbl.replace macro2utf8 "LeftTriangleBar" "\226\167\143" -let _ = Hashtbl.replace macro2utf8 "subplus" "\226\170\191" -let _ = Hashtbl.replace macro2utf8 "parsim" "\226\171\179" -let _ = Hashtbl.replace macro2utf8 "Gcedil" "\196\162" -let _ = Hashtbl.replace macro2utf8 "bnequiv" "\226\137\161\226\131\165" -let _ = Hashtbl.replace macro2utf8 "ubreve" "\197\173" -let _ = Hashtbl.replace macro2utf8 "iexcl" "\194\161" -let _ = Hashtbl.replace macro2utf8 "Xi" "\206\158" -let _ = Hashtbl.replace macro2utf8 "omega" "\207\137" -let _ = Hashtbl.replace macro2utf8 "elsdot" "\226\170\151" -let _ = Hashtbl.replace macro2utf8 "propto" "\226\136\157" -let _ = Hashtbl.replace macro2utf8 "squ" "\226\150\161" -let _ = Hashtbl.replace macro2utf8 "Ycirc" "\197\182" -let _ = Hashtbl.replace macro2utf8 "amacr" "\196\129" -let _ = Hashtbl.replace macro2utf8 "curlyeqprec" "\226\139\158" -let _ = Hashtbl.replace macro2utf8 "ngt" "\226\137\175" -let _ = Hashtbl.replace macro2utf8 "plusdo" "\226\136\148" -let _ = Hashtbl.replace macro2utf8 "ngeqslant" "\226\137\177" -let _ = Hashtbl.replace macro2utf8 "LongRightArrow" "\239\149\183" -let _ = Hashtbl.replace macro2utf8 "LeftUpVector" "\226\134\191" -let _ = Hashtbl.replace macro2utf8 "asymp" "\226\137\141" -let _ = Hashtbl.replace macro2utf8 "imped" "\240\157\149\131" -let _ = Hashtbl.replace macro2utf8 "tritime" "\226\168\187" -let _ = Hashtbl.replace macro2utf8 "rpargt" "\226\166\148" -let _ = Hashtbl.replace macro2utf8 "DDotrahd" "\226\164\145" -let _ = Hashtbl.replace macro2utf8 "prnsim" "\226\139\168" -let _ = Hashtbl.replace macro2utf8 "plusdu" "\226\168\165" -let _ = Hashtbl.replace macro2utf8 "cfr" "\240\157\148\160" -let _ = Hashtbl.replace macro2utf8 "abreve" "\196\131" -let _ = Hashtbl.replace macro2utf8 "suphsol" "\226\138\131/" -let _ = Hashtbl.replace macro2utf8 "NegativeThickSpace" "\226\128\133\239\184\128" -let _ = Hashtbl.replace macro2utf8 "Mcy" "\208\156" -let _ = Hashtbl.replace macro2utf8 "uarr" "\226\134\145" -let _ = Hashtbl.replace macro2utf8 "LeftRightVector" "\226\165\142" -let _ = Hashtbl.replace macro2utf8 "lAarr" "\226\135\154" -let _ = Hashtbl.replace macro2utf8 "bsim" "\226\136\189" -let _ = Hashtbl.replace macro2utf8 "simrarr" "\226\165\178" -let _ = Hashtbl.replace macro2utf8 "otimes" "\226\138\151" -let _ = Hashtbl.replace macro2utf8 "NotSucceeds" "\226\138\129" -let _ = Hashtbl.replace macro2utf8 "Cross" "\226\168\175" -let _ = Hashtbl.replace macro2utf8 "downarrow" "\226\134\147" -let _ = Hashtbl.replace macro2utf8 "blacktriangle" "\226\150\180" -let _ = Hashtbl.replace macro2utf8 "TripleDot" "\226\131\155" -let _ = Hashtbl.replace macro2utf8 "smallsetminus" "\226\136\150\239\184\128" -let _ = Hashtbl.replace macro2utf8 "supedot" "\226\171\132" -let _ = Hashtbl.replace macro2utf8 "NotPrecedesSlantEqual" "\226\139\160" -let _ = Hashtbl.replace macro2utf8 "neArr" "\226\135\151" -let _ = Hashtbl.replace macro2utf8 "rarrtl" "\226\134\163" -let _ = Hashtbl.replace macro2utf8 "isin" "\226\136\136" -let _ = Hashtbl.replace macro2utf8 "rrarr" "\226\135\137" -let _ = Hashtbl.replace macro2utf8 "Upsilon" "\207\146" -let _ = Hashtbl.replace macro2utf8 "sqsub" "\226\138\143" -let _ = Hashtbl.replace macro2utf8 "boxUL" "\226\149\157" -let _ = Hashtbl.replace macro2utf8 "LessTilde" "\226\137\178" -let _ = Hashtbl.replace macro2utf8 "Xfr" "\240\157\148\155" -let _ = Hashtbl.replace macro2utf8 "nis" "\226\139\188" -let _ = Hashtbl.replace macro2utf8 "chi" "\207\135" -let _ = Hashtbl.replace macro2utf8 "DownRightVector" "\226\135\129" -let _ = Hashtbl.replace macro2utf8 "niv" "\226\136\139" -let _ = Hashtbl.replace macro2utf8 "boxUR" "\226\149\154" -let _ = Hashtbl.replace macro2utf8 "nlArr" "\226\135\141" -let _ = Hashtbl.replace macro2utf8 "Bcy" "\208\145" -let _ = Hashtbl.replace macro2utf8 "tan" "tan" -let _ = Hashtbl.replace macro2utf8 "EmptyVerySmallSquare" "\239\150\156" -let _ = Hashtbl.replace macro2utf8 "dstrok" "\196\145" -let _ = Hashtbl.replace macro2utf8 "rfisht" "\226\165\189" -let _ = Hashtbl.replace macro2utf8 "easter" "\226\137\155" -let _ = Hashtbl.replace macro2utf8 "nlE" "\226\137\176" -let _ = Hashtbl.replace macro2utf8 "Mellintrf" "\226\132\179" -let _ = Hashtbl.replace macro2utf8 "lotimes" "\226\168\180" -let _ = Hashtbl.replace macro2utf8 "sqsup" "\226\138\144" -let _ = Hashtbl.replace macro2utf8 "boxVH" "\226\149\172" -let _ = Hashtbl.replace macro2utf8 "bbrk" "\226\142\181" -let _ = Hashtbl.replace macro2utf8 "tau" "\207\132" -let _ = Hashtbl.replace macro2utf8 "UpTee" "\226\138\165" -let _ = Hashtbl.replace macro2utf8 "NotLeftTriangleBar" "\226\167\143\204\184" -let _ = Hashtbl.replace macro2utf8 "boxVL" "\226\149\163" -let _ = Hashtbl.replace macro2utf8 "Proportion" "\226\136\183" -let _ = Hashtbl.replace macro2utf8 "equiv" "\226\137\161" -let _ = Hashtbl.replace macro2utf8 "blk12" "\226\150\146" -let _ = Hashtbl.replace macro2utf8 "blk14" "\226\150\145" -let _ = Hashtbl.replace macro2utf8 "fpartint" "\226\168\141" -let _ = Hashtbl.replace macro2utf8 "boxVR" "\226\149\160" -let _ = Hashtbl.replace macro2utf8 "starf" "\226\152\133" -let _ = Hashtbl.replace macro2utf8 "risingdotseq" "\226\137\147" -let _ = Hashtbl.replace macro2utf8 "Equilibrium" "\226\135\140" -let _ = Hashtbl.replace macro2utf8 "ijlig" "\196\179" -let _ = Hashtbl.replace macro2utf8 "yicy" "\209\151" -let _ = Hashtbl.replace macro2utf8 "sum" "\226\136\145" -let _ = Hashtbl.replace macro2utf8 "cir" "\226\151\139" -let _ = Hashtbl.replace macro2utf8 "telrec" "\226\140\149" -let _ = Hashtbl.replace macro2utf8 "Mfr" "\240\157\148\144" -let _ = Hashtbl.replace macro2utf8 "dHar" "\226\165\165" -let _ = Hashtbl.replace macro2utf8 "boxUl" "\226\149\156" -let _ = Hashtbl.replace macro2utf8 "apid" "\226\137\139" -let _ = Hashtbl.replace macro2utf8 "nleftarrow" "\226\134\154" -let _ = Hashtbl.replace macro2utf8 "curarrm" "\226\164\188" -let _ = Hashtbl.replace macro2utf8 "Scirc" "\197\156" -let _ = Hashtbl.replace macro2utf8 "Copf" "\226\132\130" -let _ = Hashtbl.replace macro2utf8 "RightTriangleEqual" "\226\138\181" -let _ = Hashtbl.replace macro2utf8 "boxUr" "\226\149\153" -let _ = Hashtbl.replace macro2utf8 "loplus" "\226\168\173" -let _ = Hashtbl.replace macro2utf8 "varsupsetneq" "\226\138\139\239\184\128" -let _ = Hashtbl.replace macro2utf8 "scaron" "\197\161" -let _ = Hashtbl.replace macro2utf8 "Diamond" "\226\139\132" -let _ = Hashtbl.replace macro2utf8 "lowast" "\226\136\151" -let _ = Hashtbl.replace macro2utf8 "nle" "\226\137\176\226\131\165" -let _ = Hashtbl.replace macro2utf8 "phiv" "\207\149" -let _ = Hashtbl.replace macro2utf8 "gesdotol" "\226\170\132" -let _ = Hashtbl.replace macro2utf8 "boxVh" "\226\149\171" -let _ = Hashtbl.replace macro2utf8 "nleftrightarrow" "\226\134\174" -let _ = Hashtbl.replace macro2utf8 "Jopf" "\240\157\149\129" -let _ = Hashtbl.replace macro2utf8 "boxVl" "\226\149\162" -let _ = Hashtbl.replace macro2utf8 "nearhk" "\226\164\164" -let _ = Hashtbl.replace macro2utf8 "vBarv" "\226\171\169" -let _ = Hashtbl.replace macro2utf8 "rHar" "\226\165\164" -let _ = Hashtbl.replace macro2utf8 "boxVr" "\226\149\159" -let _ = Hashtbl.replace macro2utf8 "lessdot" "\226\139\150" -let _ = Hashtbl.replace macro2utf8 "LeftDoubleBracket" "\227\128\154" -let _ = Hashtbl.replace macro2utf8 "Delta" "\206\148" -let _ = Hashtbl.replace macro2utf8 "limsup" "limsup" -let _ = Hashtbl.replace macro2utf8 "tcy" "\209\130" -let _ = Hashtbl.replace macro2utf8 "nlt" "\226\137\174" -let _ = Hashtbl.replace macro2utf8 "Cdot" "\196\138" -let _ = Hashtbl.replace macro2utf8 "blk34" "\226\150\147" -let _ = Hashtbl.replace macro2utf8 "Bfr" "\240\157\148\133" -let _ = Hashtbl.replace macro2utf8 "lowbar" "_" -let _ = Hashtbl.replace macro2utf8 "lneqq" "\226\137\168" -let _ = Hashtbl.replace macro2utf8 "TildeEqual" "\226\137\131" -let _ = Hashtbl.replace macro2utf8 "shortmid" "\226\136\163\239\184\128" -let _ = Hashtbl.replace macro2utf8 "Qopf" "\226\132\154" -let _ = Hashtbl.replace macro2utf8 "drcorn" "\226\140\159" -let _ = Hashtbl.replace macro2utf8 "ZeroWidthSpace" "\226\128\139" -let _ = Hashtbl.replace macro2utf8 "aogon" "\196\133" -let _ = Hashtbl.replace macro2utf8 "Rsh" "\226\134\177" -let _ = Hashtbl.replace macro2utf8 "lrarr" "\226\135\134" -let _ = Hashtbl.replace macro2utf8 "cupdot" "\226\138\141" -let _ = Hashtbl.replace macro2utf8 "Xopf" "\240\157\149\143" -let _ = Hashtbl.replace macro2utf8 "Backslash" "\226\136\150" -let _ = Hashtbl.replace macro2utf8 "Union" "\226\139\131" -let _ = Hashtbl.replace macro2utf8 "ratio" "\226\136\182" -let _ = Hashtbl.replace macro2utf8 "duarr" "\226\135\181" -let _ = Hashtbl.replace macro2utf8 "lates" "\226\170\173\239\184\128" -let _ = Hashtbl.replace macro2utf8 "suphsub" "\226\171\151" -let _ = Hashtbl.replace macro2utf8 "squf" "\226\150\170" -let _ = Hashtbl.replace macro2utf8 "gamma" "\206\179" -let _ = Hashtbl.replace macro2utf8 "lrhard" "\226\165\173" -let _ = Hashtbl.replace macro2utf8 "intprod" "\226\168\188" -let _ = Hashtbl.replace macro2utf8 "ReverseUpEquilibrium" "\226\165\175" -let _ = Hashtbl.replace macro2utf8 "icy" "\208\184" -let _ = Hashtbl.replace macro2utf8 "quatint" "\226\168\150" -let _ = Hashtbl.replace macro2utf8 "nbump" "\226\137\142\204\184" -let _ = Hashtbl.replace macro2utf8 "downharpoonleft" "\226\135\131" -let _ = Hashtbl.replace macro2utf8 "otimesas" "\226\168\182" -let _ = Hashtbl.replace macro2utf8 "nvHarr" "\226\135\142" -let _ = Hashtbl.replace macro2utf8 "ContourIntegral" "\226\136\174" -let _ = Hashtbl.replace macro2utf8 "bsol" "\\" -let _ = Hashtbl.replace macro2utf8 "DoubleUpDownArrow" "\226\135\149" -let _ = Hashtbl.replace macro2utf8 "disin" "\226\139\178" -let _ = Hashtbl.replace macro2utf8 "Breve" "\203\152" -let _ = Hashtbl.replace macro2utf8 "YAcy" "\208\175" -let _ = Hashtbl.replace macro2utf8 "precsim" "\226\137\190" -let _ = Hashtbl.replace macro2utf8 "NotGreaterGreater" "\226\137\171\204\184\239\184\128" -let _ = Hashtbl.replace macro2utf8 "fopf" "\240\157\149\151" -let _ = Hashtbl.replace macro2utf8 "SquareSupersetEqual" "\226\138\146" -let _ = Hashtbl.replace macro2utf8 "Dscr" "\240\157\146\159" -let _ = Hashtbl.replace macro2utf8 "gsime" "\226\170\142" -let _ = Hashtbl.replace macro2utf8 "PartialD" "\226\136\130" -let _ = Hashtbl.replace macro2utf8 "Umacr" "\197\170" -let _ = Hashtbl.replace macro2utf8 "tfr" "\240\157\148\177" -let _ = Hashtbl.replace macro2utf8 "cularrp" "\226\164\189" -let _ = Hashtbl.replace macro2utf8 "UnderBracket" "\226\142\181" -let _ = Hashtbl.replace macro2utf8 "ugrave" "\195\185" -let _ = Hashtbl.replace macro2utf8 "mopf" "\240\157\149\158" -let _ = Hashtbl.replace macro2utf8 "gsiml" "\226\170\144" -let _ = Hashtbl.replace macro2utf8 "iquest" "\194\191" -let _ = Hashtbl.replace macro2utf8 "nmid" "\226\136\164" -let _ = Hashtbl.replace macro2utf8 "leftarrowtail" "\226\134\162" -let _ = Hashtbl.replace macro2utf8 "not" "\194\172" -let _ = Hashtbl.replace macro2utf8 "Kscr" "\240\157\146\166" -let _ = Hashtbl.replace macro2utf8 "xsqcup" "\226\138\148" -let _ = Hashtbl.replace macro2utf8 "triangleleft" "\226\151\131" -let _ = Hashtbl.replace macro2utf8 "amalg" "\226\168\191" -let _ = Hashtbl.replace macro2utf8 "prcue" "\226\137\188" -let _ = Hashtbl.replace macro2utf8 "ac" "\226\164\143" -let _ = Hashtbl.replace macro2utf8 "nharr" "\226\134\174" -let _ = Hashtbl.replace macro2utf8 "dzcy" "\209\159" -let _ = Hashtbl.replace macro2utf8 "topf" "\240\157\149\165" -let _ = Hashtbl.replace macro2utf8 "iff" "\226\135\148" -let _ = Hashtbl.replace macro2utf8 "af" "\226\129\161" -let _ = Hashtbl.replace macro2utf8 "Uparrow" "\226\135\145" -let _ = Hashtbl.replace macro2utf8 "Iacute" "\195\141" -let _ = Hashtbl.replace macro2utf8 "Rscr" "\226\132\155" -let _ = Hashtbl.replace macro2utf8 "vrtri" "\226\138\179" -let _ = Hashtbl.replace macro2utf8 "multimap" "\226\138\184" -let _ = Hashtbl.replace macro2utf8 "Hat" "\204\130" -let _ = Hashtbl.replace macro2utf8 "rtriltri" "\226\167\142" -let _ = Hashtbl.replace macro2utf8 "npr" "\226\138\128" -let _ = Hashtbl.replace macro2utf8 "agrave" "\195\160" -let _ = Hashtbl.replace macro2utf8 "UnderBar" "\204\178" -let _ = Hashtbl.replace macro2utf8 "prime" "\226\128\178" -let _ = Hashtbl.replace macro2utf8 "plusmn" "\194\177" -let _ = Hashtbl.replace macro2utf8 "eplus" "\226\169\177" -let _ = Hashtbl.replace macro2utf8 "ap" "\226\137\136" -let _ = Hashtbl.replace macro2utf8 "dlcorn" "\226\140\158" -let _ = Hashtbl.replace macro2utf8 "backsim" "\226\136\189" -let _ = Hashtbl.replace macro2utf8 "ifr" "\240\157\148\166" -let _ = Hashtbl.replace macro2utf8 "bigcup" "\226\139\131" -let _ = Hashtbl.replace macro2utf8 "tcaron" "\197\165" -let _ = Hashtbl.replace macro2utf8 "sqcaps" "\226\138\147\239\184\128" -let _ = Hashtbl.replace macro2utf8 "equals" "=" -let _ = Hashtbl.replace macro2utf8 "curlywedge" "\226\139\143" -let _ = Hashtbl.replace macro2utf8 "Yscr" "\240\157\146\180" -let _ = Hashtbl.replace macro2utf8 "longrightarrow" "????" -let _ = Hashtbl.replace macro2utf8 "fork" "\226\139\148" -let _ = Hashtbl.replace macro2utf8 "cos" "cos" -let _ = Hashtbl.replace macro2utf8 "cot" "cot" -let _ = Hashtbl.replace macro2utf8 "ImaginaryI" "\226\133\136" -let _ = Hashtbl.replace macro2utf8 "Scy" "\208\161" -let _ = Hashtbl.replace macro2utf8 "mapsto" "\226\134\166" -let _ = Hashtbl.replace macro2utf8 "tdot" "\226\131\155" -let _ = Hashtbl.replace macro2utf8 "vellip" "\226\139\174" -let _ = Hashtbl.replace macro2utf8 "sqsupseteq" "\226\138\146" -let _ = Hashtbl.replace macro2utf8 "nvdash" "\226\138\172" -let _ = Hashtbl.replace macro2utf8 "NotSuperset" "\226\138\133" -let _ = Hashtbl.replace macro2utf8 "DoubleUpArrow" "\226\135\145" -let _ = Hashtbl.replace macro2utf8 "land" "\226\136\167" -let _ = Hashtbl.replace macro2utf8 "topfork" "\226\171\154" -let _ = Hashtbl.replace macro2utf8 "llhard" "\226\165\171" -let _ = Hashtbl.replace macro2utf8 "apos" "'" -let _ = Hashtbl.replace macro2utf8 "oslash" "\195\184" -let _ = Hashtbl.replace macro2utf8 "lang" "\226\140\169" -let _ = Hashtbl.replace macro2utf8 "bernou" "\226\132\172" -let _ = Hashtbl.replace macro2utf8 "varrho" "\207\177" -let _ = Hashtbl.replace macro2utf8 "rcub" "}" -let _ = Hashtbl.replace macro2utf8 "Cedilla" "\194\184" -let _ = Hashtbl.replace macro2utf8 "ApplyFunction" "\226\129\161" -let _ = Hashtbl.replace macro2utf8 "nsce" "\226\170\176\204\184" -let _ = Hashtbl.replace macro2utf8 "gscr" "\226\132\138" -let _ = Hashtbl.replace macro2utf8 "imagpart" "\226\132\145" -let _ = Hashtbl.replace macro2utf8 "ngtr" "\226\137\175" -let _ = Hashtbl.replace macro2utf8 "nsc" "\226\138\129" -let _ = Hashtbl.replace macro2utf8 "Barv" "\226\171\167" -let _ = Hashtbl.replace macro2utf8 "tosa" "\226\164\169" -let _ = Hashtbl.replace macro2utf8 "nwnear" "\226\164\167" -let _ = Hashtbl.replace macro2utf8 "ltlarr" "\226\165\182" -let _ = Hashtbl.replace macro2utf8 "PrecedesEqual" "\226\170\175" -let _ = Hashtbl.replace macro2utf8 "lessapprox" "\226\137\178" -let _ = Hashtbl.replace macro2utf8 "Lcaron" "\196\189" -let _ = Hashtbl.replace utf82macro "\204\130" "Hat" -let _ = Hashtbl.replace utf82macro "\t" "Tab" -let _ = Hashtbl.replace utf82macro "\203\152" "Breve" -let _ = Hashtbl.replace utf82macro "\n" "NewLine" -let _ = Hashtbl.replace utf82macro "\203\153" "dot" -let _ = Hashtbl.replace utf82macro "\203\154" "ring" -let _ = Hashtbl.replace utf82macro "\203\155" "ogon" -let _ = Hashtbl.replace utf82macro "\203\156" "tilde" -let _ = Hashtbl.replace utf82macro "\203\157" "DiacriticalDoubleAcute" -let _ = Hashtbl.replace utf82macro "\226\137\171\204\184" "nGt" -let _ = Hashtbl.replace utf82macro "\204\145" "DownBreve" -let _ = Hashtbl.replace utf82macro "csc" "csc" -let _ = Hashtbl.replace utf82macro "\239\187\191" "NoBreak" -let _ = Hashtbl.replace utf82macro "!" "excl" -let _ = Hashtbl.replace utf82macro "\"" "quot" -let _ = Hashtbl.replace utf82macro "#" "num" -let _ = Hashtbl.replace utf82macro "$" "dollar" -let _ = Hashtbl.replace utf82macro "%" "percnt" -let _ = Hashtbl.replace utf82macro "&" "amp" -let _ = Hashtbl.replace utf82macro "'" "apos" -let _ = Hashtbl.replace utf82macro "(" "lpar" -let _ = Hashtbl.replace utf82macro ")" "rpar" -let _ = Hashtbl.replace utf82macro "\226\139\155\239\184\128" "gesl" -let _ = Hashtbl.replace utf82macro "*" "ast" -let _ = Hashtbl.replace utf82macro "+" "plus" -let _ = Hashtbl.replace utf82macro "\226\167\144\204\184" "NotRightTriangleBar" -let _ = Hashtbl.replace utf82macro "," "comma" -let _ = Hashtbl.replace utf82macro "." "period" -let _ = Hashtbl.replace utf82macro "/" "sol" -let _ = Hashtbl.replace utf82macro "\204\178" "UnderBar" -let _ = Hashtbl.replace utf82macro ":" "colon" -let _ = Hashtbl.replace utf82macro ";" "semi" -let _ = Hashtbl.replace utf82macro "<" "lt" -let _ = Hashtbl.replace utf82macro "\207\128" "pi" -let _ = Hashtbl.replace utf82macro "\206\147" "Gamma" -let _ = Hashtbl.replace utf82macro "=" "equals" -let _ = Hashtbl.replace utf82macro "\207\129" "rho" -let _ = Hashtbl.replace utf82macro ">" "gt" -let _ = Hashtbl.replace utf82macro "\206\148" "Delta" -let _ = Hashtbl.replace utf82macro "\207\130" "varsigma" -let _ = Hashtbl.replace utf82macro "?" "quest" -let _ = Hashtbl.replace utf82macro "\207\131" "sigma" -let _ = Hashtbl.replace utf82macro "@" "commat" -let _ = Hashtbl.replace utf82macro "\207\132" "tau" -let _ = Hashtbl.replace utf82macro "\207\133" "upsilon" -let _ = Hashtbl.replace utf82macro "\206\152" "Theta" -let _ = Hashtbl.replace utf82macro "\207\134" "varphi" -let _ = Hashtbl.replace utf82macro "\207\135" "chi" -let _ = Hashtbl.replace utf82macro "\207\136" "psi" -let _ = Hashtbl.replace utf82macro "\206\155" "Lambda" -let _ = Hashtbl.replace utf82macro "\207\137" "omega" -let _ = Hashtbl.replace utf82macro "\206\158" "Xi" -let _ = Hashtbl.replace utf82macro "\206\160" "Pi" -let _ = Hashtbl.replace utf82macro "\206\163" "Sigma" -let _ = Hashtbl.replace utf82macro "\207\145" "vartheta" -let _ = Hashtbl.replace utf82macro "\207\146" "Upsilon" -let _ = Hashtbl.replace utf82macro "\206\166" "Phi" -let _ = Hashtbl.replace utf82macro "\208\129" "IOcy" -let _ = Hashtbl.replace utf82macro "\206\168" "Psi" -let _ = Hashtbl.replace utf82macro "\207\149" "phi" -let _ = Hashtbl.replace utf82macro "\208\130" "DJcy" -let _ = Hashtbl.replace utf82macro "\207\150" "varpi" -let _ = Hashtbl.replace utf82macro "\206\169" "Omega" -let _ = Hashtbl.replace utf82macro "\208\131" "GJcy" -let _ = Hashtbl.replace utf82macro "\208\132" "Jukcy" -let _ = Hashtbl.replace utf82macro "\208\133" "DScy" -let _ = Hashtbl.replace utf82macro "\208\134" "Iukcy" -let _ = Hashtbl.replace utf82macro "\208\135" "YIcy" -let _ = Hashtbl.replace utf82macro "\208\136" "Jsercy" -let _ = Hashtbl.replace utf82macro "\208\137" "LJcy" -let _ = Hashtbl.replace utf82macro "\207\156" "Gammad" -let _ = Hashtbl.replace utf82macro "\208\138" "NJcy" -let _ = Hashtbl.replace utf82macro "\208\139" "TSHcy" -let _ = Hashtbl.replace utf82macro "[" "lbrack" -let _ = Hashtbl.replace utf82macro "\206\177" "alpha" -let _ = Hashtbl.replace utf82macro "\208\140" "KJcy" -let _ = Hashtbl.replace utf82macro "\\" "backslash" -let _ = Hashtbl.replace utf82macro "\206\178" "beta" -let _ = Hashtbl.replace utf82macro "]" "rbrack" -let _ = Hashtbl.replace utf82macro "\206\179" "gamma" -let _ = Hashtbl.replace utf82macro "\208\142" "Ubrcy" -let _ = Hashtbl.replace utf82macro "\206\180" "delta" -let _ = Hashtbl.replace utf82macro "^" "circ" -let _ = Hashtbl.replace utf82macro "_" "lowbar" -let _ = Hashtbl.replace utf82macro "\206\181" "varepsilon" -let _ = Hashtbl.replace utf82macro "\208\143" "DZcy" -let _ = Hashtbl.replace utf82macro "\206\182" "zeta" -let _ = Hashtbl.replace utf82macro "`" "grave" -let _ = Hashtbl.replace utf82macro "\208\144" "Acy" -let _ = Hashtbl.replace utf82macro "inf" "inf" -let _ = Hashtbl.replace utf82macro "\206\183" "eta" -let _ = Hashtbl.replace utf82macro "\208\145" "Bcy" -let _ = Hashtbl.replace utf82macro "\208\146" "Vcy" -let _ = Hashtbl.replace utf82macro "\206\184" "theta" -let _ = Hashtbl.replace utf82macro "\209\128" "rcy" -let _ = Hashtbl.replace utf82macro "\226\139\172\204\184" "nvltrie" -let _ = Hashtbl.replace utf82macro "\206\185" "iota" -let _ = Hashtbl.replace utf82macro "\208\147" "Gcy" -let _ = Hashtbl.replace utf82macro "\209\129" "scy" -let _ = Hashtbl.replace utf82macro "\206\186" "kappa" -let _ = Hashtbl.replace utf82macro "\208\148" "Dcy" -let _ = Hashtbl.replace utf82macro "\209\130" "tcy" -let _ = Hashtbl.replace utf82macro "\226\164\179\204\184" "nrarrc" -let _ = Hashtbl.replace utf82macro "\206\187" "lambda" -let _ = Hashtbl.replace utf82macro "\208\149" "IEcy" -let _ = Hashtbl.replace utf82macro "\208\150" "ZHcy" -let _ = Hashtbl.replace utf82macro "\209\131" "ucy" -let _ = Hashtbl.replace utf82macro "\206\188" "mu" -let _ = Hashtbl.replace utf82macro "\208\151" "Zcy" -let _ = Hashtbl.replace utf82macro "\206\189" "nu" -let _ = Hashtbl.replace utf82macro "\209\132" "fcy" -let _ = Hashtbl.replace utf82macro "\206\190" "xi" -let _ = Hashtbl.replace utf82macro "\209\133" "khcy" -let _ = Hashtbl.replace utf82macro "\208\152" "Icy" -let _ = Hashtbl.replace utf82macro "\206\191" "o" -let _ = Hashtbl.replace utf82macro "\209\134" "tscy" -let _ = Hashtbl.replace utf82macro "\208\153" "Jcy" -let _ = Hashtbl.replace utf82macro "\208\154" "Kcy" -let _ = Hashtbl.replace utf82macro "\209\135" "chcy" -let _ = Hashtbl.replace utf82macro "\209\136" "shcy" -let _ = Hashtbl.replace utf82macro "\208\155" "Lcy" -let _ = Hashtbl.replace utf82macro "\209\137" "shchcy" -let _ = Hashtbl.replace utf82macro "\208\156" "Mcy" -let _ = Hashtbl.replace utf82macro "\208\157" "Ncy" -let _ = Hashtbl.replace utf82macro "\207\176" "varkappa" -let _ = Hashtbl.replace utf82macro "\209\138" "hardcy" -let _ = Hashtbl.replace utf82macro "\209\139" "ycy" -let _ = Hashtbl.replace utf82macro "\207\177" "varrho" -let _ = Hashtbl.replace utf82macro "\208\158" "Ocy" -let _ = Hashtbl.replace utf82macro "\209\140" "softcy" -let _ = Hashtbl.replace utf82macro "\208\159" "Pcy" -let _ = Hashtbl.replace utf82macro "\208\160" "Rcy" -let _ = Hashtbl.replace utf82macro "\209\141" "ecy" -let _ = Hashtbl.replace utf82macro "\209\142" "yucy" -let _ = Hashtbl.replace utf82macro "\208\161" "Scy" -let _ = Hashtbl.replace utf82macro "\207\181" "epsilon" -let _ = Hashtbl.replace utf82macro "\209\143" "yacy" -let _ = Hashtbl.replace utf82macro "\208\162" "Tcy" -let _ = Hashtbl.replace utf82macro "\208\163" "Ucy" -let _ = Hashtbl.replace utf82macro "\207\182" "bepsi" -let _ = Hashtbl.replace utf82macro "\209\145" "iocy" -let _ = Hashtbl.replace utf82macro "\208\164" "Fcy" -let _ = Hashtbl.replace utf82macro "\208\165" "KHcy" -let _ = Hashtbl.replace utf82macro "\209\146" "djcy" -let _ = Hashtbl.replace utf82macro "\208\166" "TScy" -let _ = Hashtbl.replace utf82macro "\209\147" "gjcy" -let _ = Hashtbl.replace utf82macro "\209\148" "jukcy" -let _ = Hashtbl.replace utf82macro "\208\167" "CHcy" -let _ = Hashtbl.replace utf82macro "????" "longmapsto" -let _ = Hashtbl.replace utf82macro "\208\168" "SHcy" -let _ = Hashtbl.replace utf82macro "\209\149" "dscy" -let _ = Hashtbl.replace utf82macro "\208\169" "SHCHcy" -let _ = Hashtbl.replace utf82macro "\209\150" "iukcy" -let _ = Hashtbl.replace utf82macro "deg" "deg" -let _ = Hashtbl.replace utf82macro "\209\151" "yicy" -let _ = Hashtbl.replace utf82macro "\208\170" "HARDcy" -let _ = Hashtbl.replace utf82macro "\208\171" "Ycy" -let _ = Hashtbl.replace utf82macro "{" "{" -let _ = Hashtbl.replace utf82macro "\209\152" "jsercy" -let _ = Hashtbl.replace utf82macro "|" "vert" -let _ = Hashtbl.replace utf82macro "\208\172" "SOFTcy" -let _ = Hashtbl.replace utf82macro "\209\153" "ljcy" -let _ = Hashtbl.replace utf82macro "liminf" "liminf" -let _ = Hashtbl.replace utf82macro "}" "}" -let _ = Hashtbl.replace utf82macro "\209\154" "njcy" -let _ = Hashtbl.replace utf82macro "\208\173" "Ecy" -let _ = Hashtbl.replace utf82macro "\208\174" "YUcy" -let _ = Hashtbl.replace utf82macro "\209\155" "tshcy" -let _ = Hashtbl.replace utf82macro "\208\175" "YAcy" -let _ = Hashtbl.replace utf82macro "\209\156" "kjcy" -let _ = Hashtbl.replace utf82macro "\208\176" "acy" -let _ = Hashtbl.replace utf82macro "\209\158" "ubrcy" -let _ = Hashtbl.replace utf82macro "\208\177" "bcy" -let _ = Hashtbl.replace utf82macro "\208\178" "vcy" -let _ = Hashtbl.replace utf82macro "\209\159" "dzcy" -let _ = Hashtbl.replace utf82macro "\208\179" "gcy" -let _ = Hashtbl.replace utf82macro "\208\180" "dcy" -let _ = Hashtbl.replace utf82macro "\208\181" "iecy" -let _ = Hashtbl.replace utf82macro "\208\182" "zhcy" -let _ = Hashtbl.replace utf82macro "det" "det" -let _ = Hashtbl.replace utf82macro "\208\183" "zcy" -let _ = Hashtbl.replace utf82macro "\208\184" "icy" -let _ = Hashtbl.replace utf82macro "\208\185" "jcy" -let _ = Hashtbl.replace utf82macro "\208\186" "kcy" -let _ = Hashtbl.replace utf82macro "\208\187" "lcy" -let _ = Hashtbl.replace utf82macro "\208\188" "mcy" -let _ = Hashtbl.replace utf82macro "\226\146\161\204\184" "NotNestedLessLess" -let _ = Hashtbl.replace utf82macro "\208\189" "ncy" -let _ = Hashtbl.replace utf82macro "\208\190" "ocy" -let _ = Hashtbl.replace utf82macro "\208\191" "pcy" -let _ = Hashtbl.replace utf82macro "\226\128\130" "ensp" -let _ = Hashtbl.replace utf82macro "\226\128\131" "emsp" -let _ = Hashtbl.replace utf82macro "\226\128\132" "emsp13" -let _ = Hashtbl.replace utf82macro "\226\128\133" "emsp14" -let _ = Hashtbl.replace utf82macro "\226\128\135" "numsp" -let _ = Hashtbl.replace utf82macro "\226\128\136" "puncsp" -let _ = Hashtbl.replace utf82macro "lg" "lg" -let _ = Hashtbl.replace utf82macro "\226\128\137" "ThinSpace" -let _ = Hashtbl.replace utf82macro "\226\128\138" "VeryThinSpace" -let _ = Hashtbl.replace utf82macro "\226\128\139" "ZeroWidthSpace" -let _ = Hashtbl.replace utf82macro "ln" "ln" -let _ = Hashtbl.replace utf82macro "\226\128\144" "hyphen" -let _ = Hashtbl.replace utf82macro "\226\128\147" "ndash" -let _ = Hashtbl.replace utf82macro "\226\128\148" "mdash" -let _ = Hashtbl.replace utf82macro "\226\129\129" "caret" -let _ = Hashtbl.replace utf82macro "\226\128\149" "horbar" -let _ = Hashtbl.replace utf82macro "\226\128\150" "Vert" -let _ = Hashtbl.replace utf82macro "\226\129\131" "hybull" -let _ = Hashtbl.replace utf82macro "\226\128\152" "OpenCurlyQuote" -let _ = Hashtbl.replace utf82macro "\226\128\153" "rsquor" -let _ = Hashtbl.replace utf82macro "\226\170\176\204\184" "nsucceq" -let _ = Hashtbl.replace utf82macro "\226\128\154" "lsquor" -let _ = Hashtbl.replace utf82macro "\226\128\156" "OpenCurlyDoubleQuote" -let _ = Hashtbl.replace utf82macro "\226\128\157" "rdquor" -let _ = Hashtbl.replace utf82macro "\226\128\158" "ldquor" -let _ = Hashtbl.replace utf82macro "\226\128\160" "dagger" -let _ = Hashtbl.replace utf82macro "\226\128\161" "ddagger" -let _ = Hashtbl.replace utf82macro "\226\136\133\239\184\128" "emptyset" -let _ = Hashtbl.replace utf82macro "\226\128\162" "bullet" -let _ = Hashtbl.replace utf82macro "\226\129\143" "bsemi" -let _ = Hashtbl.replace utf82macro "\226\128\165" "nldr" -let _ = Hashtbl.replace utf82macro "\226\128\166" "ldots" -let _ = Hashtbl.replace utf82macro "\226\129\151" "qprime" -let _ = Hashtbl.replace utf82macro "\226\128\176" "permil" -let _ = Hashtbl.replace utf82macro "\226\128\177" "pertenk" -let _ = Hashtbl.replace utf82macro "\226\128\178" "prime" -let _ = Hashtbl.replace utf82macro "\226\129\159" "MediumSpace" -let _ = Hashtbl.replace utf82macro "\226\128\179" "Prime" -let _ = Hashtbl.replace utf82macro "\226\128\180" "tprime" -let _ = Hashtbl.replace utf82macro "\226\129\161" "ApplyFunction" -let _ = Hashtbl.replace utf82macro "\226\129\162" "it" -let _ = Hashtbl.replace utf82macro "\226\128\181" "bprime" -let _ = Hashtbl.replace utf82macro "dim" "dim" -let _ = Hashtbl.replace utf82macro "\226\132\130" "Copf" -let _ = Hashtbl.replace utf82macro "\226\132\133" "incare" -let _ = Hashtbl.replace utf82macro "\226\131\155" "TripleDot" -let _ = Hashtbl.replace utf82macro "\226\169\173\204\184" "ncongdot" -let _ = Hashtbl.replace utf82macro "\226\131\156" "DotDot" -let _ = Hashtbl.replace utf82macro "\226\132\138" "gscr" -let _ = Hashtbl.replace utf82macro "\226\132\139" "Hscr" -let _ = Hashtbl.replace utf82macro "\226\132\140" "Poincareplane" -let _ = Hashtbl.replace utf82macro "\226\132\141" "quaternions" -let _ = Hashtbl.replace utf82macro "\226\132\142" "planckh" -let _ = Hashtbl.replace utf82macro "\226\132\143" "plankv" -let _ = Hashtbl.replace utf82macro "\226\132\144" "Iscr" -let _ = Hashtbl.replace utf82macro "\226\132\145" "Im" -let _ = Hashtbl.replace utf82macro "\226\132\146" "Lscr" -let _ = Hashtbl.replace utf82macro "\226\132\147" "ell" -let _ = Hashtbl.replace utf82macro "\226\132\149" "Nopf" -let _ = Hashtbl.replace utf82macro "\226\132\150" "numero" -let _ = Hashtbl.replace utf82macro "\226\132\151" "copysr" -let _ = Hashtbl.replace utf82macro "\226\132\152" "wp" -let _ = Hashtbl.replace utf82macro "\226\133\133" "DD" -let _ = Hashtbl.replace utf82macro "\226\132\153" "primes" -let _ = Hashtbl.replace utf82macro "\226\133\134" "DifferentialD" -let _ = Hashtbl.replace utf82macro "\226\132\154" "rationals" -let _ = Hashtbl.replace utf82macro "\226\133\135" "ExponentialE" -let _ = Hashtbl.replace utf82macro "\226\132\155" "Rscr" -let _ = Hashtbl.replace utf82macro "\226\133\136" "ImaginaryI" -let _ = Hashtbl.replace utf82macro "\226\132\156" "Re" -let _ = Hashtbl.replace utf82macro "\226\132\157" "Ropf" -let _ = Hashtbl.replace utf82macro "\226\132\158" "rx" -let _ = Hashtbl.replace utf82macro "\226\132\162" "trade" -let _ = Hashtbl.replace utf82macro "\226\132\164" "Zopf" -let _ = Hashtbl.replace utf82macro "\226\132\166" "ohm" -let _ = Hashtbl.replace utf82macro "\226\133\147" "frac13" -let _ = Hashtbl.replace utf82macro "\226\132\167" "mho" -let _ = Hashtbl.replace utf82macro "\226\133\148" "frac23" -let _ = Hashtbl.replace utf82macro "\226\132\168" "Zfr" -let _ = Hashtbl.replace utf82macro "\226\133\149" "frac15" -let _ = Hashtbl.replace utf82macro "\226\132\169" "iiota" -let _ = Hashtbl.replace utf82macro "\226\133\150" "frac25" -let _ = Hashtbl.replace utf82macro "\226\133\151" "frac35" -let _ = Hashtbl.replace utf82macro "\226\133\152" "frac45" -let _ = Hashtbl.replace utf82macro "\226\132\171" "angst" -let _ = Hashtbl.replace utf82macro "\226\133\153" "frac16" -let _ = Hashtbl.replace utf82macro "\226\132\172" "Bscr" -let _ = Hashtbl.replace utf82macro "\226\129\159\239\184\128" "NegativeMediumSpace" -let _ = Hashtbl.replace utf82macro "\226\133\154" "frac56" -let _ = Hashtbl.replace utf82macro "\226\132\173" "Cfr" -let _ = Hashtbl.replace utf82macro "\226\133\155" "frac18" -let _ = Hashtbl.replace utf82macro "\226\133\156" "frac38" -let _ = Hashtbl.replace utf82macro "\226\132\175" "escr" -let _ = Hashtbl.replace utf82macro "\226\133\157" "frac58" -let _ = Hashtbl.replace utf82macro "\226\132\176" "expectation" -let _ = Hashtbl.replace utf82macro "\226\133\158" "frac78" -let _ = Hashtbl.replace utf82macro "\226\132\177" "Fscr" -let _ = Hashtbl.replace utf82macro "\226\132\179" "phmmat" -let _ = Hashtbl.replace utf82macro "\226\132\180" "oscr" -let _ = Hashtbl.replace utf82macro "\226\132\181" "aleph" -let _ = Hashtbl.replace utf82macro "\226\134\144" "gets" -let _ = Hashtbl.replace utf82macro "\226\132\182" "beth" -let _ = Hashtbl.replace utf82macro "\226\134\145" "uparrow" -let _ = Hashtbl.replace utf82macro "\226\132\183" "gimel" -let _ = Hashtbl.replace utf82macro "\226\134\146" "to" -let _ = Hashtbl.replace utf82macro "\226\132\184" "daleth" -let _ = Hashtbl.replace utf82macro "\226\135\128" "RightVector" -let _ = Hashtbl.replace utf82macro "\226\134\147" "downarrow" -let _ = Hashtbl.replace utf82macro "\226\134\148" "leftrightarrow" -let _ = Hashtbl.replace utf82macro "\226\135\129" "rightharpoondown" -let _ = Hashtbl.replace utf82macro "\226\134\149" "updownarrow" -let _ = Hashtbl.replace utf82macro "\226\135\130" "RightDownVector" -let _ = Hashtbl.replace utf82macro "\226\134\150" "nwarrow" -let _ = Hashtbl.replace utf82macro "\226\135\131" "LeftDownVector" -let _ = Hashtbl.replace utf82macro "\226\135\132" "rlarr" -let _ = Hashtbl.replace utf82macro "\226\134\151" "nearrow" -let _ = Hashtbl.replace utf82macro "\226\135\133" "UpArrowDownArrow" -let _ = Hashtbl.replace utf82macro "\226\134\152" "searrow" -let _ = Hashtbl.replace utf82macro "\226\134\153" "swarrow" -let _ = Hashtbl.replace utf82macro "\226\135\134" "lrarr" -let _ = Hashtbl.replace utf82macro "\226\134\154" "nleftarrow" -let _ = Hashtbl.replace utf82macro "\226\135\135" "llarr" -let _ = Hashtbl.replace utf82macro "\226\135\136" "uuarr" -let _ = Hashtbl.replace utf82macro "\226\134\155" "nrightarrow" -let _ = Hashtbl.replace utf82macro "\226\135\137" "rrarr" -let _ = Hashtbl.replace utf82macro "\226\134\157" "rightsquigarrow" -let _ = Hashtbl.replace utf82macro "\226\135\138" "downdownarrows" -let _ = Hashtbl.replace utf82macro "\226\135\139" "ReverseEquilibrium" -let _ = Hashtbl.replace utf82macro "\226\134\158" "twoheadleftarrow" -let _ = Hashtbl.replace utf82macro "\226\134\159" "Uarr" -let _ = Hashtbl.replace utf82macro "\226\135\140" "rlhar" -let _ = Hashtbl.replace utf82macro "\226\134\160" "twoheadrightarrow" -let _ = Hashtbl.replace utf82macro "\226\135\141" "nvlArr" -let _ = Hashtbl.replace utf82macro "\226\135\142" "nvHarr" -let _ = Hashtbl.replace utf82macro "\226\134\161" "Darr" -let _ = Hashtbl.replace utf82macro "\226\135\143" "nvrArr" -let _ = Hashtbl.replace utf82macro "\226\134\162" "leftarrowtail" -let _ = Hashtbl.replace utf82macro "\226\134\163" "rightarrowtail" -let _ = Hashtbl.replace utf82macro "\226\135\144" "Leftarrow" -let _ = Hashtbl.replace utf82macro "\226\134\164" "mapstoleft" -let _ = Hashtbl.replace utf82macro "\226\135\145" "Uparrow" -let _ = Hashtbl.replace utf82macro "\226\134\165" "UpTeeArrow" -let _ = Hashtbl.replace utf82macro "\226\135\146" "Longrightarrow" -let _ = Hashtbl.replace utf82macro "\226\134\166" "mapsto" -let _ = Hashtbl.replace utf82macro "\226\136\128" "forall" -let _ = Hashtbl.replace utf82macro "\226\135\147" "Downarrow" -let _ = Hashtbl.replace utf82macro "\226\134\167" "mapstodown" -let _ = Hashtbl.replace utf82macro "\226\135\148" "Leftrightarrow" -let _ = Hashtbl.replace utf82macro "\226\136\129" "complement" -let _ = Hashtbl.replace utf82macro "\226\136\130" "partial" -let _ = Hashtbl.replace utf82macro "\226\135\149" "vArr" -let _ = Hashtbl.replace utf82macro "\226\135\150" "nwArr" -let _ = Hashtbl.replace utf82macro "\226\134\169" "hookleftarrow" -let _ = Hashtbl.replace utf82macro "\226\136\131" "exists" -let _ = Hashtbl.replace utf82macro "\226\136\132" "NotExists" -let _ = Hashtbl.replace utf82macro "\226\135\151" "neArr" -let _ = Hashtbl.replace utf82macro "\226\134\170" "hookrightarrow" -let _ = Hashtbl.replace utf82macro "\226\135\152" "seArr" -let _ = Hashtbl.replace utf82macro "\226\134\171" "looparrowleft" -let _ = Hashtbl.replace utf82macro "\226\136\133" "varnothing" -let _ = Hashtbl.replace utf82macro "\226\135\153" "swArr" -let _ = Hashtbl.replace utf82macro "\226\134\172" "rarrlp" -let _ = Hashtbl.replace utf82macro "\226\135\154" "Lleftarrow" -let _ = Hashtbl.replace utf82macro "\226\134\173" "leftrightsquigarrow" -let _ = Hashtbl.replace utf82macro "\226\136\135" "nabla" -let _ = Hashtbl.replace utf82macro "\226\135\155" "Rrightarrow" -let _ = Hashtbl.replace utf82macro "\226\134\174" "nleftrightarrow" -let _ = Hashtbl.replace utf82macro "\226\136\136" "in" -let _ = Hashtbl.replace utf82macro "\226\136\137" "notin" -let _ = Hashtbl.replace utf82macro "\226\135\157" "zigrarr" -let _ = Hashtbl.replace utf82macro "\226\134\176" "Lsh" -let _ = Hashtbl.replace utf82macro "\226\134\177" "Rsh" -let _ = Hashtbl.replace utf82macro "\226\136\139" "owns" -let _ = Hashtbl.replace utf82macro "\226\136\140" "NotReverseElement" -let _ = Hashtbl.replace utf82macro "\226\134\178" "ldsh" -let _ = Hashtbl.replace utf82macro "\226\134\179" "rdsh" -let _ = Hashtbl.replace utf82macro "\226\136\143" "prod" -let _ = Hashtbl.replace utf82macro "\226\134\182" "curvearrowleft" -let _ = Hashtbl.replace utf82macro "\226\136\144" "coprod" -let _ = Hashtbl.replace utf82macro "\226\136\145" "sum" -let _ = Hashtbl.replace utf82macro "\226\135\164" "LeftArrowBar" -let _ = Hashtbl.replace utf82macro "\226\134\183" "curvearrowright" -let _ = Hashtbl.replace utf82macro "\226\135\165" "RightArrowBar" -let _ = Hashtbl.replace utf82macro "\226\136\146" "minus" -let _ = Hashtbl.replace utf82macro "\226\137\128" "wr" -let _ = Hashtbl.replace utf82macro "\226\136\147" "mp" -let _ = Hashtbl.replace utf82macro "\226\137\129" "nsim" -let _ = Hashtbl.replace utf82macro "\226\136\148" "plusdo" -let _ = Hashtbl.replace utf82macro "\226\134\186" "olarr" -let _ = Hashtbl.replace utf82macro "\226\137\130" "esim" -let _ = Hashtbl.replace utf82macro "\226\134\187" "orarr" -let _ = Hashtbl.replace utf82macro "\226\137\131" "simeq" -let _ = Hashtbl.replace utf82macro "\226\134\188" "lharu" -let _ = Hashtbl.replace utf82macro "\226\136\150" "setminus" -let _ = Hashtbl.replace utf82macro "\226\137\132" "nsimeq" -let _ = Hashtbl.replace utf82macro "\226\136\151" "lowast" -let _ = Hashtbl.replace utf82macro "\226\134\189" "lhard" -let _ = Hashtbl.replace utf82macro "\226\134\190" "upharpoonright" -let _ = Hashtbl.replace utf82macro "\226\137\133" "cong" -let _ = Hashtbl.replace utf82macro "\226\136\152" "circ" -let _ = Hashtbl.replace utf82macro "\226\137\134" "simne" -let _ = Hashtbl.replace utf82macro "\226\134\191" "upharpoonleft" -let _ = Hashtbl.replace utf82macro "\226\136\154" "Sqrt" -let _ = Hashtbl.replace utf82macro "\226\137\135" "NotTildeFullEqual" -let _ = Hashtbl.replace utf82macro "\226\137\136" "approx" -let _ = Hashtbl.replace utf82macro "\226\137\137" "NotTildeTilde" -let _ = Hashtbl.replace utf82macro "\226\136\157" "propto" -let _ = Hashtbl.replace utf82macro "\226\137\138" "approxeq" -let _ = Hashtbl.replace utf82macro "\226\136\158" "infty" -let _ = Hashtbl.replace utf82macro "\226\137\139" "apid" -let _ = Hashtbl.replace utf82macro "\226\137\140" "bcong" -let _ = Hashtbl.replace utf82macro "\226\136\159" "angrt" -let _ = Hashtbl.replace utf82macro "\226\137\141" "asymp" -let _ = Hashtbl.replace utf82macro "\226\136\160" "angle" -let _ = Hashtbl.replace utf82macro "\226\137\142" "HumpDownHump" -let _ = Hashtbl.replace utf82macro "\226\136\161" "measuredangle" -let _ = Hashtbl.replace utf82macro "\226\135\181" "duarr" -let _ = Hashtbl.replace utf82macro "\226\137\143" "HumpEqual" -let _ = Hashtbl.replace utf82macro "\226\136\162" "angsph" -let _ = Hashtbl.replace utf82macro "\226\136\163" "divides" -let _ = Hashtbl.replace utf82macro "\226\137\144" "doteq" -let _ = Hashtbl.replace utf82macro "\226\136\164" "ndivides" -let _ = Hashtbl.replace utf82macro "\226\137\145" "eDot" -let _ = Hashtbl.replace utf82macro "\226\137\146" "fallingdotseq" -let _ = Hashtbl.replace utf82macro "\226\136\165" "parallel" -let _ = Hashtbl.replace utf82macro "\226\138\128" "nprec" -let _ = Hashtbl.replace utf82macro "\226\136\166" "nparallel" -let _ = Hashtbl.replace utf82macro "\226\137\147" "risingdotseq" -let _ = Hashtbl.replace utf82macro "\226\138\129" "nsucc" -let _ = Hashtbl.replace utf82macro "\226\137\148" "coloneq" -let _ = Hashtbl.replace utf82macro "\226\136\167" "land" -let _ = Hashtbl.replace utf82macro "\226\138\130" "subset" -let _ = Hashtbl.replace utf82macro "\226\136\168" "lor" -let _ = Hashtbl.replace utf82macro "\226\137\149" "eqcolon" -let _ = Hashtbl.replace utf82macro "????;" "longleftarrow" -let _ = Hashtbl.replace utf82macro "\226\138\131" "supset" -let _ = Hashtbl.replace utf82macro "\226\137\150" "eqcirc" -let _ = Hashtbl.replace utf82macro "\226\136\169" "cap" -let _ = Hashtbl.replace utf82macro "\226\138\132" "vnsub" -let _ = Hashtbl.replace utf82macro "\226\135\189" "loarr" -let _ = Hashtbl.replace utf82macro "\226\136\170" "cup" -let _ = Hashtbl.replace utf82macro "\226\137\151" "cire" -let _ = Hashtbl.replace utf82macro "\226\135\190" "roarr" -let _ = Hashtbl.replace utf82macro "\226\138\133" "vnsup" -let _ = Hashtbl.replace utf82macro "\226\136\171" "int" -let _ = Hashtbl.replace utf82macro "\226\137\153" "wedgeq" -let _ = Hashtbl.replace utf82macro "\226\138\134" "subseteq" -let _ = Hashtbl.replace utf82macro "\226\136\172" "Int" -let _ = Hashtbl.replace utf82macro "\226\135\191" "hoarr" -let _ = Hashtbl.replace utf82macro "\226\137\154" "veeeq" -let _ = Hashtbl.replace utf82macro "\226\138\135" "supseteq" -let _ = Hashtbl.replace utf82macro "\226\136\173" "tint" -let _ = Hashtbl.replace utf82macro "\226\138\136" "nsubseteqq" -let _ = Hashtbl.replace utf82macro "\226\137\155" "easter" -let _ = Hashtbl.replace utf82macro "\226\136\174" "oint" -let _ = Hashtbl.replace utf82macro "\226\137\156" "trie" -let _ = Hashtbl.replace utf82macro "\226\138\137" "nsupseteqq" -let _ = Hashtbl.replace utf82macro "\226\136\175" "DoubleContourIntegral" -let _ = Hashtbl.replace utf82macro "\226\137\157" "def" -let _ = Hashtbl.replace utf82macro "\226\138\138" "subsetneqq" -let _ = Hashtbl.replace utf82macro "\226\136\176" "Cconint" -let _ = Hashtbl.replace utf82macro "\226\138\139" "supsetneqq" -let _ = Hashtbl.replace utf82macro "\226\136\177" "cwint" -let _ = Hashtbl.replace utf82macro "\226\137\159" "questeq" -let _ = Hashtbl.replace utf82macro "\226\136\178" "cwconint" -let _ = Hashtbl.replace utf82macro "\226\137\160" "neq" -let _ = Hashtbl.replace utf82macro "\226\138\141" "cupdot" -let _ = Hashtbl.replace utf82macro "\226\136\179" "CounterClockwiseContourIntegral" -let _ = Hashtbl.replace utf82macro "\226\136\180" "Therefore" -let _ = Hashtbl.replace utf82macro "\226\137\161" "equiv" -let _ = Hashtbl.replace utf82macro "\226\138\142" "uplus" -let _ = Hashtbl.replace utf82macro "\226\138\143" "SquareSubset" -let _ = Hashtbl.replace utf82macro "\226\137\162" "NotCongruent" -let _ = Hashtbl.replace utf82macro "\226\136\181" "Because" -let _ = Hashtbl.replace utf82macro "\226\138\144" "SquareSuperset" -let _ = Hashtbl.replace utf82macro "\226\136\182" "ratio" -let _ = Hashtbl.replace utf82macro "\226\138\145" "SquareSubsetEqual" -let _ = Hashtbl.replace utf82macro "\226\137\164" "leq" -let _ = Hashtbl.replace utf82macro "\226\136\183" "Proportion" -let _ = Hashtbl.replace utf82macro "\226\138\146" "sqsupseteq" -let _ = Hashtbl.replace utf82macro "\226\137\165" "geq" -let _ = Hashtbl.replace utf82macro "\226\136\184" "minusd" -let _ = Hashtbl.replace utf82macro "\226\138\147" "sqcap" -let _ = Hashtbl.replace utf82macro "\226\137\166" "LessFullEqual" -let _ = Hashtbl.replace utf82macro "\226\139\128" "bigwedge" -let _ = Hashtbl.replace utf82macro "\226\136\186" "mDDot" -let _ = Hashtbl.replace utf82macro "\226\137\167" "GreaterFullEqual" -let _ = Hashtbl.replace utf82macro "\226\139\129" "bigvee" -let _ = Hashtbl.replace utf82macro "\226\138\148" "sqcup" -let _ = Hashtbl.replace utf82macro "\226\137\168" "lneqq" -let _ = Hashtbl.replace utf82macro "\226\136\187" "homtht" -let _ = Hashtbl.replace utf82macro "\226\138\149" "oplus" -let _ = Hashtbl.replace utf82macro "\226\139\130" "bigcap" -let _ = Hashtbl.replace utf82macro "\226\136\188" "sim" -let _ = Hashtbl.replace utf82macro "\226\137\169" "gneqq" -let _ = Hashtbl.replace utf82macro "\226\138\150" "ominus" -let _ = Hashtbl.replace utf82macro "\226\139\131" "bigcup" -let _ = Hashtbl.replace utf82macro "\226\137\170" "ll" -let _ = Hashtbl.replace utf82macro "\226\139\132" "diamond" -let _ = Hashtbl.replace utf82macro "\226\138\151" "otimes" -let _ = Hashtbl.replace utf82macro "\226\136\189" "bsim" -let _ = Hashtbl.replace utf82macro "\226\139\133" "sdot" -let _ = Hashtbl.replace utf82macro "\226\138\152" "osol" -let _ = Hashtbl.replace utf82macro "\226\136\130\204\184" "npart" -let _ = Hashtbl.replace utf82macro "\226\136\190" "mstpos" -let _ = Hashtbl.replace utf82macro "\226\137\171" "gg" -let _ = Hashtbl.replace utf82macro "\226\139\134" "star" -let _ = Hashtbl.replace utf82macro "\226\138\153" "odot" -let _ = Hashtbl.replace utf82macro "\226\137\172" "twixt" -let _ = Hashtbl.replace utf82macro "\226\136\191" "acd" -let _ = Hashtbl.replace utf82macro "\226\137\173" "NotCupCap" -let _ = Hashtbl.replace utf82macro "\226\139\135" "divonx" -let _ = Hashtbl.replace utf82macro "\226\138\154" "ocir" -let _ = Hashtbl.replace utf82macro "\226\137\174" "nvlt" -let _ = Hashtbl.replace utf82macro "\226\138\155" "oast" -let _ = Hashtbl.replace utf82macro "\226\139\136" "bowtie" -let _ = Hashtbl.replace utf82macro "\226\137\175" "nvgt" -let _ = Hashtbl.replace utf82macro "\226\139\137" "ltimes" -let _ = Hashtbl.replace utf82macro "\226\139\138" "rtimes" -let _ = Hashtbl.replace utf82macro "\226\137\176" "nleq" -let _ = Hashtbl.replace utf82macro "\226\138\157" "odash" -let _ = Hashtbl.replace utf82macro "\226\137\177" "ngeq" -let _ = Hashtbl.replace utf82macro "\226\139\139" "lthree" -let _ = Hashtbl.replace utf82macro "\226\138\158" "plusb" -let _ = Hashtbl.replace utf82macro "\226\139\140" "rthree" -let _ = Hashtbl.replace utf82macro "\226\137\178" "lsim" -let _ = Hashtbl.replace utf82macro "\226\138\159" "minusb" -let _ = Hashtbl.replace utf82macro "\226\137\179" "gtrsim" -let _ = Hashtbl.replace utf82macro "\226\138\160" "timesb" -let _ = Hashtbl.replace utf82macro "\226\139\141" "bsime" -let _ = Hashtbl.replace utf82macro "\226\137\180" "NotLessTilde" -let _ = Hashtbl.replace utf82macro "\226\138\161" "sdotb" -let _ = Hashtbl.replace utf82macro "\226\139\142" "cuvee" -let _ = Hashtbl.replace utf82macro "\226\138\162" "vdash" -let _ = Hashtbl.replace utf82macro "\226\137\181" "NotGreaterTilde" -let _ = Hashtbl.replace utf82macro "\226\139\143" "cuwed" -let _ = Hashtbl.replace utf82macro "\226\139\144" "Subset" -let _ = Hashtbl.replace utf82macro "\226\137\182" "lg" -let _ = Hashtbl.replace utf82macro "\226\138\163" "dashv" -let _ = Hashtbl.replace utf82macro "\226\139\145" "Supset" -let _ = Hashtbl.replace utf82macro "\226\137\183" "gtrless" -let _ = Hashtbl.replace utf82macro "\226\138\164" "top" -let _ = Hashtbl.replace utf82macro "\226\137\184" "ntlg" -let _ = Hashtbl.replace utf82macro "\226\139\146" "Cap" -let _ = Hashtbl.replace utf82macro "\226\138\165" "perp" -let _ = Hashtbl.replace utf82macro "\226\137\185" "ntgl" -let _ = Hashtbl.replace utf82macro "\226\139\147" "Cup" -let _ = Hashtbl.replace utf82macro "\226\137\186" "prec" -let _ = Hashtbl.replace utf82macro "\226\138\167" "models" -let _ = Hashtbl.replace utf82macro "\226\139\148" "pitchfork" -let _ = Hashtbl.replace utf82macro "\226\137\187" "succ" -let _ = Hashtbl.replace utf82macro "\226\139\149" "epar" -let _ = Hashtbl.replace utf82macro "\226\138\168" "vDash" -let _ = Hashtbl.replace utf82macro "\226\138\169" "Vdash" -let _ = Hashtbl.replace utf82macro "\226\137\188" "PrecedesSlantEqual" -let _ = Hashtbl.replace utf82macro "\226\139\150" "ltdot" -let _ = Hashtbl.replace utf82macro "\226\138\170" "Vvdash" -let _ = Hashtbl.replace utf82macro "\226\137\189" "succeq" -let _ = Hashtbl.replace utf82macro "\226\139\151" "gtrdot" -let _ = Hashtbl.replace utf82macro "\226\138\171" "VDash" -let _ = Hashtbl.replace utf82macro "\226\137\190" "scE" -let _ = Hashtbl.replace utf82macro "\226\139\152" "Ll" -let _ = Hashtbl.replace utf82macro "\226\137\191" "succsim" -let _ = Hashtbl.replace utf82macro "\226\138\172" "nvdash" -let _ = Hashtbl.replace utf82macro "\226\139\153" "ggg" -let _ = Hashtbl.replace utf82macro "\226\140\134" "doublebarwedge" -let _ = Hashtbl.replace utf82macro "\226\138\173" "nvDash" -let _ = Hashtbl.replace utf82macro "\226\139\154" "LessEqualGreater" -let _ = Hashtbl.replace utf82macro "\226\138\174" "nVdash" -let _ = Hashtbl.replace utf82macro "\226\140\136" "lceil" -let _ = Hashtbl.replace utf82macro "\226\139\155" "gtreqqless" -let _ = Hashtbl.replace utf82macro "\226\140\137" "rceil" -let _ = Hashtbl.replace utf82macro "\226\138\175" "nVDash" -let _ = Hashtbl.replace utf82macro "\226\139\156" "eqslantless" -let _ = Hashtbl.replace utf82macro "\226\138\176" "prurel" -let _ = Hashtbl.replace utf82macro "\226\140\138" "lfloor" -let _ = Hashtbl.replace utf82macro "\226\139\157" "eqslantgtr" -let _ = Hashtbl.replace utf82macro "\226\140\139" "rfloor" -let _ = Hashtbl.replace utf82macro "\226\139\158" "curlyeqprec" -let _ = Hashtbl.replace utf82macro "\226\138\178" "vltri" -let _ = Hashtbl.replace utf82macro "\226\140\140" "drcrop" -let _ = Hashtbl.replace utf82macro "\226\139\159" "curlyeqsucc" -let _ = Hashtbl.replace utf82macro "\226\138\179" "vrtri" -let _ = Hashtbl.replace utf82macro "\226\139\160" "nprcue" -let _ = Hashtbl.replace utf82macro "\226\140\141" "dlcrop" -let _ = Hashtbl.replace utf82macro "\226\140\142" "urcrop" -let _ = Hashtbl.replace utf82macro "\226\139\161" "nsccue" -let _ = Hashtbl.replace utf82macro "\226\138\180" "trianglelefteq" -let _ = Hashtbl.replace utf82macro "\226\140\143" "ulcrop" -let _ = Hashtbl.replace utf82macro "\226\138\181" "trianglerighteq" -let _ = Hashtbl.replace utf82macro "\226\134\157\204\184" "nrarrw" -let _ = Hashtbl.replace utf82macro "\226\139\162" "nsqsube" -let _ = Hashtbl.replace utf82macro "\226\138\182" "origof" -let _ = Hashtbl.replace utf82macro "\226\139\163" "nsqsupe" -let _ = Hashtbl.replace utf82macro "\226\140\144" "bnot" -let _ = Hashtbl.replace utf82macro "\226\138\183" "imof" -let _ = Hashtbl.replace utf82macro "\226\140\146" "profline" -let _ = Hashtbl.replace utf82macro "\226\138\184" "mumap" -let _ = Hashtbl.replace utf82macro "\226\140\147" "profsurf" -let _ = Hashtbl.replace utf82macro "\226\139\166" "lnsim" -let _ = Hashtbl.replace utf82macro "\226\138\185" "hercon" -let _ = Hashtbl.replace utf82macro "\226\138\186" "intercal" -let _ = Hashtbl.replace utf82macro "\226\139\167" "gnsim" -let _ = Hashtbl.replace utf82macro "\226\138\187" "veebar" -let _ = Hashtbl.replace utf82macro "\226\140\149" "telrec" -let _ = Hashtbl.replace utf82macro "\226\139\168" "prnsim" -let _ = Hashtbl.replace utf82macro "\226\140\150" "target" -let _ = Hashtbl.replace utf82macro "\226\139\169" "succnsim" -let _ = Hashtbl.replace utf82macro "\226\138\188" "barwedge" -let _ = Hashtbl.replace utf82macro "\226\139\170" "ntriangleleft" -let _ = Hashtbl.replace utf82macro "\226\138\189" "barvee" -let _ = Hashtbl.replace utf82macro "\226\138\190" "vangrt" -let _ = Hashtbl.replace utf82macro "\226\139\171" "ntriangleright" -let _ = Hashtbl.replace utf82macro "\226\139\172" "ntrianglelefteq" -let _ = Hashtbl.replace utf82macro "\226\138\191" "lrtri" -let _ = Hashtbl.replace utf82macro "\226\139\173" "ntrianglerighteq" -let _ = Hashtbl.replace utf82macro "\226\139\174" "vdots" -let _ = Hashtbl.replace utf82macro "\226\140\156" "ulcorner" -let _ = Hashtbl.replace utf82macro "\226\139\175" "cdots" -let _ = Hashtbl.replace utf82macro "\226\139\176" "utdot" -let _ = Hashtbl.replace utf82macro "\226\140\157" "urcorner" -let _ = Hashtbl.replace utf82macro "\226\139\177" "ddots" -let _ = Hashtbl.replace utf82macro "\226\140\158" "llcorner" -let _ = Hashtbl.replace utf82macro "\226\140\159" "lrcorner" -let _ = Hashtbl.replace utf82macro "\226\139\178" "disin" -let _ = Hashtbl.replace utf82macro "\226\139\179" "isinsv" -let _ = Hashtbl.replace utf82macro "\226\139\180" "isins" -let _ = Hashtbl.replace utf82macro "\226\139\181" "isindot" -let _ = Hashtbl.replace utf82macro "\226\140\162" "frown" -let _ = Hashtbl.replace utf82macro "\226\140\163" "smile" -let _ = Hashtbl.replace utf82macro "\226\139\182" "notinvc" -let _ = Hashtbl.replace utf82macro "\226\139\183" "notinvb" -let _ = Hashtbl.replace utf82macro "\226\139\185" "isinE" -let _ = Hashtbl.replace utf82macro "\226\139\186" "nisd" -let _ = Hashtbl.replace utf82macro "\226\139\187" "xnis" -let _ = Hashtbl.replace utf82macro "\226\139\188" "nis" -let _ = Hashtbl.replace utf82macro "\226\140\169" "langle" -let _ = Hashtbl.replace utf82macro "\226\140\170" "rangle" -let _ = Hashtbl.replace utf82macro "\226\139\189" "notnivc" -let _ = Hashtbl.replace utf82macro "\226\139\190" "notnivb" -let _ = Hashtbl.replace utf82macro "\226\140\173" "cylcty" -let _ = Hashtbl.replace utf82macro "\226\140\174" "profalar" -let _ = Hashtbl.replace utf82macro "\226\166\157\239\184\128" "angrtvb" -let _ = Hashtbl.replace utf82macro "\226\140\182" "topbot" -let _ = Hashtbl.replace utf82macro "\226\140\189" "ovbar" -let _ = Hashtbl.replace utf82macro "\226\140\191" "solbar" -let _ = Hashtbl.replace utf82macro "\226\141\188" "angzarr" -let _ = Hashtbl.replace utf82macro "\226\139\173\204\184" "nvrtrie" -let _ = Hashtbl.replace utf82macro "\226\142\176" "lmoustache" -let _ = Hashtbl.replace utf82macro "\226\142\177" "rmoustache" -let _ = Hashtbl.replace utf82macro "\226\142\180" "tbrk" -let _ = Hashtbl.replace utf82macro "\226\142\181" "UnderBracket" -let _ = Hashtbl.replace utf82macro "\226\137\139\204\184" "napid" -let _ = Hashtbl.replace utf82macro "\226\144\163" "blank" -let _ = Hashtbl.replace utf82macro "\226\138\131/" "suphsol" -let _ = Hashtbl.replace utf82macro "\226\146\162\204\184" "NotNestedGreaterGreater" -let _ = Hashtbl.replace utf82macro "\226\147\136" "oS" -let _ = Hashtbl.replace utf82macro "\227\128\138" "Lang" -let _ = Hashtbl.replace utf82macro "\227\128\139" "Rang" -let _ = Hashtbl.replace utf82macro "\226\148\128" "HorizontalLine" -let _ = Hashtbl.replace utf82macro "\226\136\166\239\184\128" "nspar" -let _ = Hashtbl.replace utf82macro "\227\128\148" "lbbrk" -let _ = Hashtbl.replace utf82macro "\227\128\149" "rbbrk" -let _ = Hashtbl.replace utf82macro "\226\148\130" "boxv" -let _ = Hashtbl.replace utf82macro "\227\128\152" "lopar" -let _ = Hashtbl.replace utf82macro "\227\128\153" "ropar" -let _ = Hashtbl.replace utf82macro "\227\128\154" "lobrk" -let _ = Hashtbl.replace utf82macro "\227\128\155" "robrk" -let _ = Hashtbl.replace utf82macro "\226\148\140" "boxdr" -let _ = Hashtbl.replace utf82macro "\226\148\144" "boxdl" -let _ = Hashtbl.replace utf82macro "\226\148\148" "boxur" -let _ = Hashtbl.replace utf82macro "\226\148\152" "boxul" -let _ = Hashtbl.replace utf82macro "\226\148\156" "boxvr" -let _ = Hashtbl.replace utf82macro "\226\149\144" "boxH" -let _ = Hashtbl.replace utf82macro "\226\148\164" "boxvl" -let _ = Hashtbl.replace utf82macro "\226\149\145" "boxV" -let _ = Hashtbl.replace utf82macro "\226\149\146" "boxdR" -let _ = Hashtbl.replace utf82macro "\226\150\128" "uhblk" -let _ = Hashtbl.replace utf82macro "\226\149\147" "boxDr" -let _ = Hashtbl.replace utf82macro "\226\149\148" "boxDR" -let _ = Hashtbl.replace utf82macro "\226\137\168\239\184\128" "lvnE" -let _ = Hashtbl.replace utf82macro "\226\149\149" "boxdL" -let _ = Hashtbl.replace utf82macro "\226\149\150" "boxDl" -let _ = Hashtbl.replace utf82macro "\226\150\132" "lhblk" -let _ = Hashtbl.replace utf82macro "\226\149\151" "boxDL" -let _ = Hashtbl.replace utf82macro "\226\149\152" "boxuR" -let _ = Hashtbl.replace utf82macro "\226\149\153" "boxUr" -let _ = Hashtbl.replace utf82macro "\226\148\172" "boxhd" -let _ = Hashtbl.replace utf82macro "\226\149\154" "boxUR" -let _ = Hashtbl.replace utf82macro "\226\149\155" "boxuL" -let _ = Hashtbl.replace utf82macro "\226\150\136" "block" -let _ = Hashtbl.replace utf82macro "\226\149\156" "boxUl" -let _ = Hashtbl.replace utf82macro "\226\149\157" "boxUL" -let _ = Hashtbl.replace utf82macro "\226\149\158" "boxvR" -let _ = Hashtbl.replace utf82macro "\226\149\159" "boxVr" -let _ = Hashtbl.replace utf82macro "\226\149\160" "boxVR" -let _ = Hashtbl.replace utf82macro "\226\149\161" "boxvL" -let _ = Hashtbl.replace utf82macro "\226\148\180" "boxhu" -let _ = Hashtbl.replace utf82macro "\226\149\162" "boxVl" -let _ = Hashtbl.replace utf82macro "\226\149\163" "boxVL" -let _ = Hashtbl.replace utf82macro "\226\149\164" "boxHd" -let _ = Hashtbl.replace utf82macro "\226\150\145" "blk14" -let _ = Hashtbl.replace utf82macro "\226\149\165" "boxhD" -let _ = Hashtbl.replace utf82macro "\226\150\146" "blk12" -let _ = Hashtbl.replace utf82macro "\226\149\166" "boxHD" -let _ = Hashtbl.replace utf82macro "\226\150\147" "blk34" -let _ = Hashtbl.replace utf82macro "\226\149\167" "boxHu" -let _ = Hashtbl.replace utf82macro "\226\149\168" "boxhU" -let _ = Hashtbl.replace utf82macro "\226\151\130" "ltrif" -let _ = Hashtbl.replace utf82macro "\226\151\131" "triangleleft" -let _ = Hashtbl.replace utf82macro "\226\148\188" "boxvh" -let _ = Hashtbl.replace utf82macro "\226\149\169" "boxHU" -let _ = Hashtbl.replace utf82macro "\226\149\170" "boxvH" -let _ = Hashtbl.replace utf82macro "\226\149\171" "boxVh" -let _ = Hashtbl.replace utf82macro "\226\149\172" "boxVH" -let _ = Hashtbl.replace utf82macro "\226\151\138" "lozenge" -let _ = Hashtbl.replace utf82macro "\226\151\139" "cir" -let _ = Hashtbl.replace utf82macro "\226\170\172\239\184\128" "smtes" -let _ = Hashtbl.replace utf82macro "\226\150\161" "Square" -let _ = Hashtbl.replace utf82macro "\226\140\132\239\184\128" "ShortDownArrow" -let _ = Hashtbl.replace utf82macro "\226\150\170" "squf" -let _ = Hashtbl.replace utf82macro "\226\152\133" "starf" -let _ = Hashtbl.replace utf82macro "\226\150\173" "rect" -let _ = Hashtbl.replace utf82macro "\226\150\174" "marker" -let _ = Hashtbl.replace utf82macro "\226\150\179" "bigtriangleup" -let _ = Hashtbl.replace utf82macro "\226\152\142" "phone" -let _ = Hashtbl.replace utf82macro "\226\150\180" "utrif" -let _ = Hashtbl.replace utf82macro "\226\150\181" "triangle" -let _ = Hashtbl.replace utf82macro "\226\150\184" "rtrif" -let _ = Hashtbl.replace utf82macro "\226\150\185" "triangleright" -let _ = Hashtbl.replace utf82macro "\226\153\128" "female" -let _ = Hashtbl.replace utf82macro "\226\153\130" "male" -let _ = Hashtbl.replace utf82macro "\226\150\189" "bigtriangledown" -let _ = Hashtbl.replace utf82macro "\226\150\190" "dtrif" -let _ = Hashtbl.replace utf82macro "\226\151\172" "tridot" -let _ = Hashtbl.replace utf82macro "\226\128\137\226\128\138\226\128\138" "ThickSpace" -let _ = Hashtbl.replace utf82macro "\226\150\191" "triangledown" -let _ = Hashtbl.replace utf82macro "\226\151\175" "bigcirc" -let _ = Hashtbl.replace utf82macro "\226\137\177\226\131\165" "NotGreaterEqual" -let _ = Hashtbl.replace utf82macro "\226\151\184" "ultri" -let _ = Hashtbl.replace utf82macro "=\226\131\165" "bne" -let _ = Hashtbl.replace utf82macro "\226\151\185" "urtri" -let _ = Hashtbl.replace utf82macro "\226\151\186" "lltri" -let _ = Hashtbl.replace utf82macro "\226\151\189" "EmptySmallSquare" -let _ = Hashtbl.replace utf82macro "\226\151\190" "FilledSmallSquare" -let _ = Hashtbl.replace utf82macro "\226\153\160" "spadesuit" -let _ = Hashtbl.replace utf82macro "\226\153\161" "heartsuit" -let _ = Hashtbl.replace utf82macro "\226\153\162" "diamondsuit" -let _ = Hashtbl.replace utf82macro "\226\153\163" "clubsuit" -let _ = Hashtbl.replace utf82macro "\226\153\166" "diams" -let _ = Hashtbl.replace utf82macro "ker" "ker" -let _ = Hashtbl.replace utf82macro "\226\153\170" "sung" -let _ = Hashtbl.replace utf82macro "\226\153\173" "flat" -let _ = Hashtbl.replace utf82macro "\226\153\174" "natural" -let _ = Hashtbl.replace utf82macro "\226\153\175" "sharp" -let _ = Hashtbl.replace utf82macro "\226\156\147" "checkmark" -let _ = Hashtbl.replace utf82macro "\226\156\151" "cross" -let _ = Hashtbl.replace utf82macro "\226\134\146\239\184\128" "srarr" -let _ = Hashtbl.replace utf82macro "\226\156\160" "maltese" -let _ = Hashtbl.replace utf82macro "\226\157\152" "VerticalSeparator" -let _ = Hashtbl.replace utf82macro "\226\156\182" "sext" -let _ = Hashtbl.replace utf82macro "\226\138\143\204\184" "NotSquareSubset" -let _ = Hashtbl.replace utf82macro "\226\136\150\239\184\128" "ssetmn" -let _ = Hashtbl.replace utf82macro "\226\136\164\239\184\128" "nsmid" -let _ = Hashtbl.replace utf82macro "\226\164\133" "Map" -let _ = Hashtbl.replace utf82macro "\226\164\140" "lbarr" -let _ = Hashtbl.replace utf82macro "\226\164\141" "rbarr" -let _ = Hashtbl.replace utf82macro "\226\164\142" "lBarr" -let _ = Hashtbl.replace utf82macro "\226\164\143" "rBarr" -let _ = Hashtbl.replace utf82macro "\226\164\144" "RBarr" -let _ = Hashtbl.replace utf82macro "\226\164\145" "DDotrahd" -let _ = Hashtbl.replace utf82macro "\226\164\146" "UpArrowBar" -let _ = Hashtbl.replace utf82macro "\226\138\147\239\184\128" "sqcaps" -let _ = Hashtbl.replace utf82macro "\226\164\147" "DownArrowBar" -let _ = Hashtbl.replace utf82macro "\226\164\150" "Rarrtl" -let _ = Hashtbl.replace utf82macro "exp" "exp" -let _ = Hashtbl.replace utf82macro "\226\165\133" "rarrpl" -let _ = Hashtbl.replace utf82macro "tanh" "tanh" -let _ = Hashtbl.replace utf82macro "\226\164\153" "latail" -let _ = Hashtbl.replace utf82macro "\226\164\155" "lAtail" -let _ = Hashtbl.replace utf82macro "\226\165\136" "harrcir" -let _ = Hashtbl.replace utf82macro "arcsin" "arcsin" -let _ = Hashtbl.replace utf82macro "\226\165\137" "Uarrocir" -let _ = Hashtbl.replace utf82macro "\226\164\156" "rAtail" -let _ = Hashtbl.replace utf82macro "\226\137\129\204\184" "nvsim" -let _ = Hashtbl.replace utf82macro "\226\165\138" "lurdshar" -let _ = Hashtbl.replace utf82macro "\226\164\157" "larrfs" -let _ = Hashtbl.replace utf82macro "\226\164\158" "rarrfs" -let _ = Hashtbl.replace utf82macro "\226\165\139" "ldrushar" -let _ = Hashtbl.replace utf82macro "\226\164\159" "larrbfs" -let _ = Hashtbl.replace utf82macro "\226\164\160" "rarrbfs" -let _ = Hashtbl.replace utf82macro "\226\165\142" "LeftRightVector" -let _ = Hashtbl.replace utf82macro "\226\165\143" "RightUpDownVector" -let _ = Hashtbl.replace utf82macro "\226\164\163" "nwarhk" -let _ = Hashtbl.replace utf82macro "\226\165\144" "DownLeftRightVector" -let _ = Hashtbl.replace utf82macro "\226\164\164" "nearhk" -let _ = Hashtbl.replace utf82macro "\226\165\145" "LeftUpDownVector" -let _ = Hashtbl.replace utf82macro "\226\165\146" "LeftVectorBar" -let _ = Hashtbl.replace utf82macro "\226\164\165" "searhk" -let _ = Hashtbl.replace utf82macro "\226\165\147" "RightVectorBar" -let _ = Hashtbl.replace utf82macro "\226\164\166" "swarhk" -let _ = Hashtbl.replace utf82macro "\226\165\148" "RightUpVectorBar" -let _ = Hashtbl.replace utf82macro "\226\164\167" "nwnear" -let _ = Hashtbl.replace utf82macro "\226\165\149" "RightDownVectorBar" -let _ = Hashtbl.replace utf82macro "\226\164\168" "toea" -let _ = Hashtbl.replace utf82macro "\226\164\169" "tosa" -let _ = Hashtbl.replace utf82macro "\226\165\150" "DownLeftVectorBar" -let _ = Hashtbl.replace utf82macro "\226\164\170" "swnwar" -let _ = Hashtbl.replace utf82macro "\226\165\151" "DownRightVectorBar" -let _ = Hashtbl.replace utf82macro "\226\165\152" "LeftUpVectorBar" -let _ = Hashtbl.replace utf82macro "\226\165\153" "LeftDownVectorBar" -let _ = Hashtbl.replace utf82macro "\226\165\154" "LeftTeeVector" -let _ = Hashtbl.replace utf82macro "\226\165\155" "RightTeeVector" -let _ = Hashtbl.replace utf82macro "\226\165\156" "RightUpTeeVector" -let _ = Hashtbl.replace utf82macro "\226\165\157" "RightDownTeeVector" -let _ = Hashtbl.replace utf82macro "\226\139\152\204\184" "nLl" -let _ = Hashtbl.replace utf82macro "\226\166\139" "lbrke" -let _ = Hashtbl.replace utf82macro "\226\165\158" "DownLeftTeeVector" -let _ = Hashtbl.replace utf82macro "\226\166\140" "rbrke" -let _ = Hashtbl.replace utf82macro "\226\165\159" "DownRightTeeVector" -let _ = Hashtbl.replace utf82macro "\226\164\179" "rarrc" -let _ = Hashtbl.replace utf82macro "\226\165\160" "LeftUpTeeVector" -let _ = Hashtbl.replace utf82macro "\226\166\141" "lbrkslu" -let _ = Hashtbl.replace utf82macro "\226\166\142" "rbrksld" -let _ = Hashtbl.replace utf82macro "\226\165\161" "LeftDownTeeVector" -let _ = Hashtbl.replace utf82macro "\226\165\162" "lHar" -let _ = Hashtbl.replace utf82macro "\226\166\143" "lbrksld" -let _ = Hashtbl.replace utf82macro "\226\164\181" "cudarrr" -let _ = Hashtbl.replace utf82macro "sinh" "sinh" -let _ = Hashtbl.replace utf82macro "\226\165\163" "uHar" -let _ = Hashtbl.replace utf82macro "\226\166\144" "rbrkslu" -let _ = Hashtbl.replace utf82macro "\226\164\182" "ldca" -let _ = Hashtbl.replace utf82macro "\226\165\164" "rHar" -let _ = Hashtbl.replace utf82macro "\226\164\183" "rdca" -let _ = Hashtbl.replace utf82macro "\226\166\145" "langd" -let _ = Hashtbl.replace utf82macro "\226\166\146" "rangd" -let _ = Hashtbl.replace utf82macro "\226\165\165" "dHar" -let _ = Hashtbl.replace utf82macro "\226\164\184" "cudarrl" -let _ = Hashtbl.replace utf82macro "\226\167\128" "olt" -let _ = Hashtbl.replace utf82macro "\226\136\137\204\184" "notinva" -let _ = Hashtbl.replace utf82macro "\226\165\166" "luruhar" -let _ = Hashtbl.replace utf82macro "\226\166\147" "lparlt" -let _ = Hashtbl.replace utf82macro "\226\164\185" "larrpl" -let _ = Hashtbl.replace utf82macro "\226\166\148" "rpargt" -let _ = Hashtbl.replace utf82macro "\226\167\129" "ogt" -let _ = Hashtbl.replace utf82macro "\226\165\167" "ldrdhar" -let _ = Hashtbl.replace utf82macro "\226\165\168" "ruluhar" -let _ = Hashtbl.replace utf82macro "\226\166\149" "gtlPar" -let _ = Hashtbl.replace utf82macro "\226\167\130" "cirscir" -let _ = Hashtbl.replace utf82macro "\226\165\169" "rdldhar" -let _ = Hashtbl.replace utf82macro "\226\166\150" "ltrPar" -let _ = Hashtbl.replace utf82macro "\226\164\188" "curarrm" -let _ = Hashtbl.replace utf82macro "\226\167\131" "cirE" -let _ = Hashtbl.replace utf82macro "\226\137\161\226\131\165" "bnequiv" -let _ = Hashtbl.replace utf82macro "\226\167\132" "solb" -let _ = Hashtbl.replace utf82macro "\226\165\170" "lharul" -let _ = Hashtbl.replace utf82macro "\226\164\189" "cularrp" -let _ = Hashtbl.replace utf82macro "\226\165\171" "llhard" -let _ = Hashtbl.replace utf82macro "\226\167\133" "bsolb" -let _ = Hashtbl.replace utf82macro "\226\165\172" "rharul" -let _ = Hashtbl.replace utf82macro "\226\166\154" "vzigzag" -let _ = Hashtbl.replace utf82macro "\226\165\173" "lrhard" -let _ = Hashtbl.replace utf82macro "\226\165\174" "UpEquilibrium" -let _ = Hashtbl.replace utf82macro "\226\165\175" "ReverseUpEquilibrium" -let _ = Hashtbl.replace utf82macro "\226\167\137" "boxbox" -let _ = Hashtbl.replace utf82macro "\226\165\176" "RoundImplies" -let _ = Hashtbl.replace utf82macro "\226\166\157" "angrtvbd" -let _ = Hashtbl.replace utf82macro "\226\165\177" "erarr" -let _ = Hashtbl.replace utf82macro "\226\165\178" "simrarr" -let _ = Hashtbl.replace utf82macro "\226\167\141" "trisb" -let _ = Hashtbl.replace utf82macro "\226\165\179" "larrsim" -let _ = Hashtbl.replace utf82macro "\226\167\142" "rtriltri" -let _ = Hashtbl.replace utf82macro "\226\165\180" "rarrsim" -let _ = Hashtbl.replace utf82macro "\226\165\181" "rarrap" -let _ = Hashtbl.replace utf82macro "\226\167\143" "LeftTriangleBar" -let _ = Hashtbl.replace utf82macro "\226\167\144" "RightTriangleBar" -let _ = Hashtbl.replace utf82macro "\226\165\182" "ltlarr" -let _ = Hashtbl.replace utf82macro "\226\166\164" "ange" -let _ = Hashtbl.replace utf82macro "\226\166\165" "range" -let _ = Hashtbl.replace utf82macro "\226\165\184" "gtrarr" -let _ = Hashtbl.replace utf82macro "\226\165\185" "subrarr" -let _ = Hashtbl.replace utf82macro "\226\166\166" "dwangle" -let _ = Hashtbl.replace utf82macro "\226\166\167" "uwangle" -let _ = Hashtbl.replace utf82macro "\226\165\187" "suplarr" -let _ = Hashtbl.replace utf82macro "\226\166\168" "angmsdaa" -let _ = Hashtbl.replace utf82macro "\226\165\188" "lfisht" -let _ = Hashtbl.replace utf82macro "\226\166\169" "angmsdab" -let _ = Hashtbl.replace utf82macro "\226\165\189" "rfisht" -let _ = Hashtbl.replace utf82macro "\226\166\170" "angmsdac" -let _ = Hashtbl.replace utf82macro "\226\165\190" "ufisht" -let _ = Hashtbl.replace utf82macro "\226\166\171" "angmsdad" -let _ = Hashtbl.replace utf82macro "\226\165\191" "dfisht" -let _ = Hashtbl.replace utf82macro "\226\166\172" "angmsdae" -let _ = Hashtbl.replace utf82macro "\226\167\154" "race" -let _ = Hashtbl.replace utf82macro "\226\166\173" "angmsdaf" -let _ = Hashtbl.replace utf82macro "\226\166\174" "angmsdag" -let _ = Hashtbl.replace utf82macro "\226\167\155" "acE" -let _ = Hashtbl.replace utf82macro "\226\167\156" "iinfin" -let _ = Hashtbl.replace utf82macro "\226\166\175" "angmsdah" -let _ = Hashtbl.replace utf82macro "\226\166\176" "bemptyv" -let _ = Hashtbl.replace utf82macro "\226\167\158" "nvinfin" -let _ = Hashtbl.replace utf82macro "\226\166\177" "demptyv" -let _ = Hashtbl.replace utf82macro "\226\168\140" "qint" -let _ = Hashtbl.replace utf82macro "\226\166\178" "cemptyv" -let _ = Hashtbl.replace utf82macro "\226\166\179" "raemptyv" -let _ = Hashtbl.replace utf82macro "\226\168\141" "fpartint" -let _ = Hashtbl.replace utf82macro "\226\166\180" "laemptyv" -let _ = Hashtbl.replace utf82macro "\226\166\181" "ohbar" -let _ = Hashtbl.replace utf82macro "\226\166\182" "omid" -let _ = Hashtbl.replace utf82macro "\226\167\163" "eparsl" -let _ = Hashtbl.replace utf82macro "\226\168\144" "cirfnint" -let _ = Hashtbl.replace utf82macro "\226\167\164" "smeparsl" -let _ = Hashtbl.replace utf82macro "\226\166\183" "opar" -let _ = Hashtbl.replace utf82macro "\226\168\145" "awint" -let _ = Hashtbl.replace utf82macro "\226\168\146" "rppolint" -let _ = Hashtbl.replace utf82macro "\226\167\165" "eqvparsl" -let _ = Hashtbl.replace utf82macro "\226\168\147" "scpolint" -let _ = Hashtbl.replace utf82macro "\226\166\185" "operp" -let _ = Hashtbl.replace utf82macro "\226\169\128" "capdot" -let _ = Hashtbl.replace utf82macro "\226\168\148" "npolint" -let _ = Hashtbl.replace utf82macro "\226\168\149" "pointint" -let _ = Hashtbl.replace utf82macro "\226\166\187" "olcross" -let _ = Hashtbl.replace utf82macro "\226\169\130" "ncup" -let _ = Hashtbl.replace utf82macro "\226\168\150" "quatint" -let _ = Hashtbl.replace utf82macro "\226\166\188" "odsold" -let _ = Hashtbl.replace utf82macro "\226\169\131" "ncap" -let _ = Hashtbl.replace utf82macro "\226\168\151" "intlarhk" -let _ = Hashtbl.replace utf82macro "\226\169\132" "capand" -let _ = Hashtbl.replace utf82macro "\226\166\190" "olcir" -let _ = Hashtbl.replace utf82macro "\226\169\133" "cupor" -let _ = Hashtbl.replace utf82macro "\226\167\171" "lozf" -let _ = Hashtbl.replace utf82macro "\226\166\191" "ofcir" -let _ = Hashtbl.replace utf82macro "\226\169\134" "cupcap" -let _ = Hashtbl.replace utf82macro "\226\169\135" "capcup" -let _ = Hashtbl.replace utf82macro "\226\169\136" "cupbrcap" -let _ = Hashtbl.replace utf82macro "\226\169\137" "capbrcup" -let _ = Hashtbl.replace utf82macro "\226\169\138" "cupcup" -let _ = Hashtbl.replace utf82macro "\226\169\139" "capcap" -let _ = Hashtbl.replace utf82macro "\226\169\140" "ccups" -let _ = Hashtbl.replace utf82macro "\226\169\141" "ccaps" -let _ = Hashtbl.replace utf82macro "\226\167\180" "RuleDelayed" -let _ = Hashtbl.replace utf82macro "\226\168\162" "pluscir" -let _ = Hashtbl.replace utf82macro "\226\168\163" "plusacir" -let _ = Hashtbl.replace utf82macro "\226\167\182" "dsol" -let _ = Hashtbl.replace utf82macro "\226\169\144" "ccupssm" -let _ = Hashtbl.replace utf82macro "\226\168\164" "simplus" -let _ = Hashtbl.replace utf82macro "\226\168\165" "plusdu" -let _ = Hashtbl.replace utf82macro "\226\168\166" "plussim" -let _ = Hashtbl.replace utf82macro "\226\170\128" "gesdot" -let _ = Hashtbl.replace utf82macro "\226\169\147" "And" -let _ = Hashtbl.replace utf82macro "\226\168\167" "plustwo" -let _ = Hashtbl.replace utf82macro "\226\169\148" "Or" -let _ = Hashtbl.replace utf82macro "\226\170\129" "lesdoto" -let _ = Hashtbl.replace utf82macro "\226\170\130" "gesdoto" -let _ = Hashtbl.replace utf82macro "\226\169\149" "andand" -let _ = Hashtbl.replace utf82macro "\226\169\150" "oror" -let _ = Hashtbl.replace utf82macro "\226\168\169" "mcomma" -let _ = Hashtbl.replace utf82macro "\226\170\131" "lesdotor" -let _ = Hashtbl.replace utf82macro "\226\169\151" "orslope" -let _ = Hashtbl.replace utf82macro "\226\168\170" "minusdu" -let _ = Hashtbl.replace utf82macro "\226\170\132" "gesdotol" -let _ = Hashtbl.replace utf82macro "\226\169\152" "andslope" -let _ = Hashtbl.replace utf82macro "\226\168\173" "loplus" -let _ = Hashtbl.replace utf82macro "\226\169\154" "andv" -let _ = Hashtbl.replace utf82macro "\226\168\174" "roplus" -let _ = Hashtbl.replace utf82macro "\226\169\155" "orv" -let _ = Hashtbl.replace utf82macro "\226\170\137" "lnapprox" -let _ = Hashtbl.replace utf82macro "\226\168\175" "Cross" -let _ = Hashtbl.replace utf82macro "\226\169\156" "andd" -let _ = Hashtbl.replace utf82macro "\226\168\176" "timesd" -let _ = Hashtbl.replace utf82macro "\226\169\157" "ord" -let _ = Hashtbl.replace utf82macro "\226\170\138" "gnapprox" -let _ = Hashtbl.replace utf82macro "\226\168\177" "timesbar" -let _ = Hashtbl.replace utf82macro "\226\169\159" "wedbar" -let _ = Hashtbl.replace utf82macro "\226\168\179" "smashp" -let _ = Hashtbl.replace utf82macro "\226\170\141" "lsime" -let _ = Hashtbl.replace utf82macro "j\239\184\128" "jmath" -let _ = Hashtbl.replace utf82macro "\226\168\180" "lotimes" -let _ = Hashtbl.replace utf82macro "\226\170\142" "gsime" -let _ = Hashtbl.replace utf82macro "\226\168\181" "rotimes" -let _ = Hashtbl.replace utf82macro "\226\170\143" "lsimg" -let _ = Hashtbl.replace utf82macro "\226\168\182" "otimesas" -let _ = Hashtbl.replace utf82macro "\226\170\144" "gsiml" -let _ = Hashtbl.replace utf82macro "\226\168\183" "Otimes" -let _ = Hashtbl.replace utf82macro "\226\170\145" "lgE" -let _ = Hashtbl.replace utf82macro "\226\168\184" "odiv" -let _ = Hashtbl.replace utf82macro "\226\170\146" "glE" -let _ = Hashtbl.replace utf82macro "\226\168\185" "triplus" -let _ = Hashtbl.replace utf82macro "\226\171\128" "supplus" -let _ = Hashtbl.replace utf82macro "\226\169\166" "sdote" -let _ = Hashtbl.replace utf82macro "\226\170\147" "lesges" -let _ = Hashtbl.replace utf82macro "\226\168\186" "triminus" -let _ = Hashtbl.replace utf82macro "\226\171\129" "submult" -let _ = Hashtbl.replace utf82macro "\226\170\148" "gesles" -let _ = Hashtbl.replace utf82macro "\226\168\187" "tritime" -let _ = Hashtbl.replace utf82macro "\226\171\130" "supmult" -let _ = Hashtbl.replace utf82macro "\226\171\131" "subedot" -let _ = Hashtbl.replace utf82macro "\226\168\188" "iprod" -let _ = Hashtbl.replace utf82macro "\226\171\132" "supedot" -let _ = Hashtbl.replace utf82macro "\226\169\170" "simdot" -let _ = Hashtbl.replace utf82macro "\226\170\151" "elsdot" -let _ = Hashtbl.replace utf82macro "\226\170\152" "egsdot" -let _ = Hashtbl.replace utf82macro "\226\170\153" "el" -let _ = Hashtbl.replace utf82macro "\226\168\191" "amalg" -let _ = Hashtbl.replace utf82macro "\226\171\135" "subsim" -let _ = Hashtbl.replace utf82macro "\226\170\154" "eg" -let _ = Hashtbl.replace utf82macro "\226\169\173" "congdot" -let _ = Hashtbl.replace utf82macro "\226\171\136" "supsim" -let _ = Hashtbl.replace utf82macro "\226\169\175" "apacir" -let _ = Hashtbl.replace utf82macro "\226\170\157" "siml" -let _ = Hashtbl.replace utf82macro "\226\170\158" "simg" -let _ = Hashtbl.replace utf82macro "\226\169\177" "eplus" -let _ = Hashtbl.replace utf82macro "\226\170\159" "simlE" -let _ = Hashtbl.replace utf82macro "\226\169\178" "pluse" -let _ = Hashtbl.replace utf82macro "\226\170\160" "simgE" -let _ = Hashtbl.replace utf82macro "\226\169\179" "Esim" -let _ = Hashtbl.replace utf82macro "\226\170\161" "LessLess" -let _ = Hashtbl.replace utf82macro "\226\169\180" "Colone" -let _ = Hashtbl.replace utf82macro "\226\170\162" "GreaterGreater" -let _ = Hashtbl.replace utf82macro "\226\169\181" "Equal" -let _ = Hashtbl.replace utf82macro "\226\171\143" "csub" -let _ = Hashtbl.replace utf82macro "\226\171\144" "csup" -let _ = Hashtbl.replace utf82macro "\226\170\164" "glj" -let _ = Hashtbl.replace utf82macro "\226\169\183" "eDDot" -let _ = Hashtbl.replace utf82macro "\226\171\145" "csube" -let _ = Hashtbl.replace utf82macro "\226\170\165" "gla" -let _ = Hashtbl.replace utf82macro "\226\169\184" "equivDD" -let _ = Hashtbl.replace utf82macro "\226\171\146" "csupe" -let _ = Hashtbl.replace utf82macro "\226\171\147" "subsup" -let _ = Hashtbl.replace utf82macro "\226\169\185" "ltcir" -let _ = Hashtbl.replace utf82macro "\226\170\166" "ltcc" -let _ = Hashtbl.replace utf82macro "\226\171\148" "supsub" -let _ = Hashtbl.replace utf82macro "\226\169\186" "gtcir" -let _ = Hashtbl.replace utf82macro "\226\170\167" "gtcc" -let _ = Hashtbl.replace utf82macro "\226\171\149" "subsub" -let _ = Hashtbl.replace utf82macro "\226\169\187" "ltquest" -let _ = Hashtbl.replace utf82macro "\226\170\168" "lescc" -let _ = Hashtbl.replace utf82macro "\226\171\150" "supsup" -let _ = Hashtbl.replace utf82macro "\226\169\188" "gtquest" -let _ = Hashtbl.replace utf82macro "\226\170\169" "gescc" -let _ = Hashtbl.replace utf82macro "\226\171\151" "suphsub" -let _ = Hashtbl.replace utf82macro "\226\170\170" "smt" -let _ = Hashtbl.replace utf82macro "\226\169\189" "LessSlantEqual" -let _ = Hashtbl.replace utf82macro "\226\171\152" "supdsub" -let _ = Hashtbl.replace utf82macro "\226\134\144\239\184\128" "slarr" -let _ = Hashtbl.replace utf82macro "\226\170\171" "lat" -let _ = Hashtbl.replace utf82macro "\226\169\190" "GreaterSlantEqual" -let _ = Hashtbl.replace utf82macro "\226\170\172" "smte" -let _ = Hashtbl.replace utf82macro "\226\169\191" "lesdot" -let _ = Hashtbl.replace utf82macro "\226\171\153" "forkv" -let _ = Hashtbl.replace utf82macro "\226\171\154" "topfork" -let _ = Hashtbl.replace utf82macro "\226\170\173" "late" -let _ = Hashtbl.replace utf82macro "\226\171\155" "mlcp" -let _ = Hashtbl.replace utf82macro "\226\170\174" "bumpE" -let _ = Hashtbl.replace utf82macro "\226\170\175" "preceq" -let _ = Hashtbl.replace utf82macro "\226\170\181" "prnE" -let _ = Hashtbl.replace utf82macro "\226\170\182" "succneqq" -let _ = Hashtbl.replace utf82macro "\226\171\164" "DoubleLeftTee" -let _ = Hashtbl.replace utf82macro "\226\171\166" "Vdashl" -let _ = Hashtbl.replace utf82macro "\226\171\167" "Barv" -let _ = Hashtbl.replace utf82macro "\226\171\168" "vBar" -let _ = Hashtbl.replace utf82macro "\226\170\187" "Pr" -let _ = Hashtbl.replace utf82macro "\226\171\169" "vBarv" -let _ = Hashtbl.replace utf82macro "\226\170\188" "Sc" -let _ = Hashtbl.replace utf82macro "\226\170\189" "subdot" -let _ = Hashtbl.replace utf82macro "\226\171\171" "Vbar" -let _ = Hashtbl.replace utf82macro "\226\170\190" "supdot" -let _ = Hashtbl.replace utf82macro "\226\170\191" "subplus" -let _ = Hashtbl.replace utf82macro "\226\171\172" "Not" -let _ = Hashtbl.replace utf82macro "\226\171\173" "bNot" -let _ = Hashtbl.replace utf82macro "\226\171\174" "rnmid" -let _ = Hashtbl.replace utf82macro "\226\171\175" "cirmid" -let _ = Hashtbl.replace utf82macro "\226\171\176" "midcir" -let _ = Hashtbl.replace utf82macro "\226\171\177" "topcir" -let _ = Hashtbl.replace utf82macro "\226\171\178" "nhpar" -let _ = Hashtbl.replace utf82macro "\226\171\179" "parsim" -let _ = Hashtbl.replace utf82macro "\226\128\137\239\184\128" "NegativeThinSpace" -let _ = Hashtbl.replace utf82macro "arctan" "arctan" -let _ = Hashtbl.replace utf82macro "\226\137\136\239\184\128" "thkap" -let _ = Hashtbl.replace utf82macro "lim" "lim" -let _ = Hashtbl.replace utf82macro "\226\136\169\239\184\128" "caps" -let _ = Hashtbl.replace utf82macro "\226\138\138\239\184\128" "vsubnE" -let _ = Hashtbl.replace utf82macro "\226\137\170\204\184\239\184\128" "NotLessLess" -let _ = Hashtbl.replace utf82macro "\226\138\144\204\184" "NotSquareSuperset" -let _ = Hashtbl.replace utf82macro "gcd" "gcd" -let _ = Hashtbl.replace utf82macro "\226\139\154\239\184\128" "lesg" -let _ = Hashtbl.replace utf82macro "\226\136\160\204\184" "nang" -let _ = Hashtbl.replace utf82macro "log" "log" -let _ = Hashtbl.replace utf82macro "arccos" "arccos" -let _ = Hashtbl.replace utf82macro "\226\137\130\204\184" "NotEqualTilde" -let _ = Hashtbl.replace utf82macro "\226\137\171\204\184\239\184\128" "NotGreaterGreater" -let _ = Hashtbl.replace utf82macro "\226\139\182\239\184\128" "notindot" -let _ = Hashtbl.replace utf82macro "\226\137\191\204\184" "NotSucceedsTilde" -let _ = Hashtbl.replace utf82macro "\226\139\153\204\184" "nGg" -let _ = Hashtbl.replace utf82macro "\239\149\152" "loang" -let _ = Hashtbl.replace utf82macro "\239\149\153" "roang" -let _ = Hashtbl.replace utf82macro "\239\150\155" "FilledVerySmallSquare" -let _ = Hashtbl.replace utf82macro "\239\150\156" "EmptyVerySmallSquare" -let _ = Hashtbl.replace utf82macro "arg" "arg" -let _ = Hashtbl.replace utf82macro "\239\150\162" "dzigrarr" -let _ = Hashtbl.replace utf82macro "\239\149\182" "xlarr" -let _ = Hashtbl.replace utf82macro "\239\149\183" "xrarr" -let _ = Hashtbl.replace utf82macro "\239\149\184" "xharr" -let _ = Hashtbl.replace utf82macro "\239\149\185" "xlArr" -let _ = Hashtbl.replace utf82macro "\239\149\186" "xrArr" -let _ = Hashtbl.replace utf82macro "\239\149\187" "xhArr" -let _ = Hashtbl.replace utf82macro "\239\149\189" "xmap" -let _ = Hashtbl.replace utf82macro "max" "min" -let _ = Hashtbl.replace utf82macro "\226\169\176\204\184" "napE" -let _ = Hashtbl.replace utf82macro "\\\226\138\130" "bsolhsub" -let _ = Hashtbl.replace utf82macro "\226\136\165\239\184\128\226\131\165" "nparsl" -let _ = Hashtbl.replace utf82macro "cosh" "cosh" -let _ = Hashtbl.replace utf82macro "coth" "coth" -let _ = Hashtbl.replace utf82macro "\226\136\188\239\184\128" "thksim" -let _ = Hashtbl.replace utf82macro "\226\137\169\239\184\128" "gvnE" -let _ = Hashtbl.replace utf82macro "\226\170\173\239\184\128" "lates" -let _ = Hashtbl.replace utf82macro "\226\132\143\239\184\128" "hbar" -let _ = Hashtbl.replace utf82macro "sec" "sec" -let _ = Hashtbl.replace utf82macro "\226\137\142\204\184" "NotHumpDownHump" -let _ = Hashtbl.replace utf82macro "mod" "bmod" -let _ = Hashtbl.replace utf82macro "\226\128\133\239\184\128" "NegativeThickSpace" -let _ = Hashtbl.replace utf82macro "sin" "sin" -let _ = Hashtbl.replace utf82macro "Pr" "Pr" -let _ = Hashtbl.replace utf82macro "\226\137\170\204\184" "nLt" -let _ = Hashtbl.replace utf82macro "\226\136\165\239\184\128" "spar" -let _ = Hashtbl.replace utf82macro "\239\172\128" "fflig" -let _ = Hashtbl.replace utf82macro "\239\172\129" "filig" -let _ = Hashtbl.replace utf82macro "\239\172\130" "fllig" -let _ = Hashtbl.replace utf82macro "\239\172\131" "ffilig" -let _ = Hashtbl.replace utf82macro "\239\172\132" "ffllig" -let _ = Hashtbl.replace utf82macro "\226\167\143\204\184" "NotLeftTriangleBar" -let _ = Hashtbl.replace utf82macro "\226\137\160\239\184\128" "nedot" -let _ = Hashtbl.replace utf82macro "\226\138\148\239\184\128" "sqcups" -let _ = Hashtbl.replace utf82macro "\226\140\131\239\184\128" "ShortUpArrow" -let _ = Hashtbl.replace utf82macro "\226\137\137\204\184" "nvap" -let _ = Hashtbl.replace utf82macro "\240\157\147\128" "kscr" -let _ = Hashtbl.replace utf82macro "\240\157\147\130" "mscr" -let _ = Hashtbl.replace utf82macro "\240\157\147\131" "nscr" -let _ = Hashtbl.replace utf82macro "hom" "hom" -let _ = Hashtbl.replace utf82macro "\240\157\147\133" "pscr" -let _ = Hashtbl.replace utf82macro "\240\157\147\134" "qscr" -let _ = Hashtbl.replace utf82macro "\240\157\147\135" "rscr" -let _ = Hashtbl.replace utf82macro "\240\157\147\136" "sscr" -let _ = Hashtbl.replace utf82macro "\240\157\147\137" "tscr" -let _ = Hashtbl.replace utf82macro "\240\157\146\156" "Ascr" -let _ = Hashtbl.replace utf82macro "\240\157\147\138" "uscr" -let _ = Hashtbl.replace utf82macro "\240\157\147\139" "vscr" -let _ = Hashtbl.replace utf82macro "\240\157\146\158" "Cscr" -let _ = Hashtbl.replace utf82macro "\240\157\147\140" "wscr" -let _ = Hashtbl.replace utf82macro "\240\157\146\159" "Dscr" -let _ = Hashtbl.replace utf82macro "\240\157\147\141" "xscr" -let _ = Hashtbl.replace utf82macro "\240\157\147\142" "yscr" -let _ = Hashtbl.replace utf82macro "\240\157\147\143" "zscr" -let _ = Hashtbl.replace utf82macro "\240\157\146\162" "Gscr" -let _ = Hashtbl.replace utf82macro "\226\137\176\226\131\165" "NotLessEqual" -let _ = Hashtbl.replace utf82macro "\240\157\146\165" "Jscr" -let _ = Hashtbl.replace utf82macro "\240\157\146\166" "Kscr" -let _ = Hashtbl.replace utf82macro "\240\157\146\169" "Nscr" -let _ = Hashtbl.replace utf82macro "\240\157\146\170" "Oscr" -let _ = Hashtbl.replace utf82macro "\240\157\148\132" "Afr" -let _ = Hashtbl.replace utf82macro "\240\157\146\171" "Pscr" -let _ = Hashtbl.replace utf82macro "\240\157\148\133" "Bfr" -let _ = Hashtbl.replace utf82macro "\240\157\146\172" "Qscr" -let _ = Hashtbl.replace utf82macro "\240\157\148\135" "Dfr" -let _ = Hashtbl.replace utf82macro "\240\157\146\174" "Sscr" -let _ = Hashtbl.replace utf82macro "\240\157\148\136" "Efr" -let _ = Hashtbl.replace utf82macro "\240\157\146\175" "Tscr" -let _ = Hashtbl.replace utf82macro "\240\157\148\137" "Ffr" -let _ = Hashtbl.replace utf82macro "\240\157\146\176" "Uscr" -let _ = Hashtbl.replace utf82macro "\240\157\148\138" "Gfr" -let _ = Hashtbl.replace utf82macro "\240\157\146\177" "Vscr" -let _ = Hashtbl.replace utf82macro "\240\157\146\178" "Wscr" -let _ = Hashtbl.replace utf82macro "\240\157\146\179" "Xscr" -let _ = Hashtbl.replace utf82macro "\240\157\148\141" "Jfr" -let _ = Hashtbl.replace utf82macro "\240\157\146\180" "Yscr" -let _ = Hashtbl.replace utf82macro "\240\157\148\142" "Kfr" -let _ = Hashtbl.replace utf82macro "\240\157\146\181" "Zscr" -let _ = Hashtbl.replace utf82macro "\240\157\148\143" "Lfr" -let _ = Hashtbl.replace utf82macro "\240\157\148\144" "Mfr" -let _ = Hashtbl.replace utf82macro "\240\157\146\182" "ascr" -let _ = Hashtbl.replace utf82macro "\240\157\148\145" "Nfr" -let _ = Hashtbl.replace utf82macro "\240\157\146\183" "bscr" -let _ = Hashtbl.replace utf82macro "\240\157\148\146" "Ofr" -let _ = Hashtbl.replace utf82macro "\240\157\146\184" "cscr" -let _ = Hashtbl.replace utf82macro "\240\157\148\147" "Pfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\128" "Iopf" -let _ = Hashtbl.replace utf82macro "\240\157\146\185" "dscr" -let _ = Hashtbl.replace utf82macro "\240\157\148\148" "Qfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\129" "Jopf" -let _ = Hashtbl.replace utf82macro "\240\157\149\130" "Kopf" -let _ = Hashtbl.replace utf82macro "\240\157\146\187" "fscr" -let _ = Hashtbl.replace utf82macro "\240\157\148\150" "Sfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\131" "Lopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\151" "Tfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\132" "Mopf" -let _ = Hashtbl.replace utf82macro "\240\157\146\189" "hscr" -let _ = Hashtbl.replace utf82macro "\240\157\148\152" "Ufr" -let _ = Hashtbl.replace utf82macro "\240\157\146\190" "iscr" -let _ = Hashtbl.replace utf82macro "\240\157\148\153" "Vfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\134" "Oopf" -let _ = Hashtbl.replace utf82macro "\240\157\146\191" "jscr" -let _ = Hashtbl.replace utf82macro "\240\157\148\154" "Wfr" -let _ = Hashtbl.replace utf82macro "\240\157\148\155" "Xfr" -let _ = Hashtbl.replace utf82macro "\240\157\148\156" "Yfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\138" "Sopf" -let _ = Hashtbl.replace utf82macro "\240\157\149\139" "Topf" -let _ = Hashtbl.replace utf82macro "\240\157\148\158" "afr" -let _ = Hashtbl.replace utf82macro "\240\157\149\140" "Uopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\159" "bfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\141" "Vopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\160" "cfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\142" "Wopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\161" "dfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\143" "Xopf" -let _ = Hashtbl.replace utf82macro "\226\170\175\204\184" "npreceq" -let _ = Hashtbl.replace utf82macro "\240\157\148\162" "efr" -let _ = Hashtbl.replace utf82macro "\240\157\149\144" "Yopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\163" "ffr" -let _ = Hashtbl.replace utf82macro "\240\157\148\164" "gfr" -let _ = Hashtbl.replace utf82macro "\240\157\148\165" "hfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\146" "aopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\166" "ifr" -let _ = Hashtbl.replace utf82macro "\240\157\149\147" "bopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\167" "jfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\148" "copf" -let _ = Hashtbl.replace utf82macro "\240\157\148\168" "kfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\149" "dopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\169" "lfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\150" "eopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\170" "mfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\151" "fopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\171" "nfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\152" "gopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\172" "ofr" -let _ = Hashtbl.replace utf82macro "\240\157\149\153" "hopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\173" "pfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\154" "iopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\174" "qfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\155" "jopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\175" "rfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\156" "kopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\176" "sfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\157" "lopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\177" "tfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\158" "mopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\178" "ufr" -let _ = Hashtbl.replace utf82macro "\240\157\149\159" "nopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\179" "vfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\160" "oopf" -let _ = Hashtbl.replace utf82macro "tan" "tan" -let _ = Hashtbl.replace utf82macro "\240\157\148\180" "wfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\161" "popf" -let _ = Hashtbl.replace utf82macro "\240\157\148\181" "xfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\162" "qopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\182" "yfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\163" "ropf" -let _ = Hashtbl.replace utf82macro "\240\157\148\183" "zfr" -let _ = Hashtbl.replace utf82macro "\240\157\149\164" "sopf" -let _ = Hashtbl.replace utf82macro "\240\157\149\165" "topf" -let _ = Hashtbl.replace utf82macro "\240\157\148\184" "Aopf" -let _ = Hashtbl.replace utf82macro "\195\128" "Agrave" -let _ = Hashtbl.replace utf82macro "\240\157\149\166" "uopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\185" "Bopf" -let _ = Hashtbl.replace utf82macro "\195\129" "Aacute" -let _ = Hashtbl.replace utf82macro "\240\157\149\167" "vopf" -let _ = Hashtbl.replace utf82macro "\195\130" "Acirc" -let _ = Hashtbl.replace utf82macro "\240\157\149\168" "wopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\187" "Dopf" -let _ = Hashtbl.replace utf82macro "\195\131" "Atilde" -let _ = Hashtbl.replace utf82macro "\240\157\149\169" "xopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\188" "Eopf" -let _ = Hashtbl.replace utf82macro "\195\132" "Auml" -let _ = Hashtbl.replace utf82macro "\240\157\149\170" "yopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\189" "Fopf" -let _ = Hashtbl.replace utf82macro "\195\133" "Aring" -let _ = Hashtbl.replace utf82macro "\240\157\149\171" "zopf" -let _ = Hashtbl.replace utf82macro "\240\157\148\190" "Gopf" -let _ = Hashtbl.replace utf82macro "\195\134" "AElig" -let _ = Hashtbl.replace utf82macro "\195\135" "Ccedil" -let _ = Hashtbl.replace utf82macro "\195\136" "Egrave" -let _ = Hashtbl.replace utf82macro "\195\137" "Eacute" -let _ = Hashtbl.replace utf82macro "\195\138" "Ecirc" -let _ = Hashtbl.replace utf82macro "\195\139" "Euml" -let _ = Hashtbl.replace utf82macro "\195\140" "Igrave" -let _ = Hashtbl.replace utf82macro "\194\160" "NonBreakingSpace" -let _ = Hashtbl.replace utf82macro "\195\141" "Iacute" -let _ = Hashtbl.replace utf82macro "\194\161" "iexcl" -let _ = Hashtbl.replace utf82macro "\195\142" "Icirc" -let _ = Hashtbl.replace utf82macro "\195\143" "Iuml" -let _ = Hashtbl.replace utf82macro "\194\162" "cent" -let _ = Hashtbl.replace utf82macro "\194\163" "pound" -let _ = Hashtbl.replace utf82macro "\195\144" "ETH" -let _ = Hashtbl.replace utf82macro "\195\145" "Ntilde" -let _ = Hashtbl.replace utf82macro "\194\164" "curren" -let _ = Hashtbl.replace utf82macro "\194\165" "yen" -let _ = Hashtbl.replace utf82macro "\195\146" "Ograve" -let _ = Hashtbl.replace utf82macro "\195\147" "Oacute" -let _ = Hashtbl.replace utf82macro "\194\166" "brvbar" -let _ = Hashtbl.replace utf82macro "\196\128" "Amacr" -let _ = Hashtbl.replace utf82macro "\194\167" "sect" -let _ = Hashtbl.replace utf82macro "\195\148" "Ocirc" -let _ = Hashtbl.replace utf82macro "\196\129" "amacr" -let _ = Hashtbl.replace utf82macro "\195\149" "Otilde" -let _ = Hashtbl.replace utf82macro "\194\168" "uml" -let _ = Hashtbl.replace utf82macro "\196\130" "Abreve" -let _ = Hashtbl.replace utf82macro "\195\150" "Ouml" -let _ = Hashtbl.replace utf82macro "\194\169" "copy" -let _ = Hashtbl.replace utf82macro "\196\131" "abreve" -let _ = Hashtbl.replace utf82macro "\195\151" "times" -let _ = Hashtbl.replace utf82macro "\194\170" "ordf" -let _ = Hashtbl.replace utf82macro "\196\132" "Aogon" -let _ = Hashtbl.replace utf82macro "\195\152" "Oslash" -let _ = Hashtbl.replace utf82macro "\194\171" "laquo" -let _ = Hashtbl.replace utf82macro "\196\133" "aogon" -let _ = Hashtbl.replace utf82macro "\195\153" "Ugrave" -let _ = Hashtbl.replace utf82macro "\194\172" "lnot" -let _ = Hashtbl.replace utf82macro "\196\134" "Cacute" -let _ = Hashtbl.replace utf82macro "\195\154" "Uacute" -let _ = Hashtbl.replace utf82macro "\194\173" "shy" -let _ = Hashtbl.replace utf82macro "\196\135" "cacute" -let _ = Hashtbl.replace utf82macro "\195\155" "Ucirc" -let _ = Hashtbl.replace utf82macro "\194\174" "reg" -let _ = Hashtbl.replace utf82macro "\196\136" "Ccirc" -let _ = Hashtbl.replace utf82macro "\195\156" "Uuml" -let _ = Hashtbl.replace utf82macro "\194\175" "OverBar" -let _ = Hashtbl.replace utf82macro "\196\137" "ccirc" -let _ = Hashtbl.replace utf82macro "\195\157" "Yacute" -let _ = Hashtbl.replace utf82macro "\194\176" "deg" -let _ = Hashtbl.replace utf82macro "\196\138" "Cdot" -let _ = Hashtbl.replace utf82macro "\195\158" "THORN" -let _ = Hashtbl.replace utf82macro "\194\177" "pm" -let _ = Hashtbl.replace utf82macro "\196\139" "cdot" -let _ = Hashtbl.replace utf82macro "\195\159" "szlig" -let _ = Hashtbl.replace utf82macro "\194\178" "sup2" -let _ = Hashtbl.replace utf82macro "\196\140" "Ccaron" -let _ = Hashtbl.replace utf82macro "\194\179" "sup3" -let _ = Hashtbl.replace utf82macro "\196\141" "ccaron" -let _ = Hashtbl.replace utf82macro "\195\160" "agrave" -let _ = Hashtbl.replace utf82macro "\196\142" "Dcaron" -let _ = Hashtbl.replace utf82macro "\194\180" "DiacriticalAcute" -let _ = Hashtbl.replace utf82macro "\195\161" "aacute" -let _ = Hashtbl.replace utf82macro "\194\181" "micro" -let _ = Hashtbl.replace utf82macro "\196\143" "dcaron" -let _ = Hashtbl.replace utf82macro "\195\162" "acirc" -let _ = Hashtbl.replace utf82macro "\194\182" "para" -let _ = Hashtbl.replace utf82macro "\196\144" "Dstrok" -let _ = Hashtbl.replace utf82macro "\195\163" "atilde" -let _ = Hashtbl.replace utf82macro "\196\145" "dstrok" -let _ = Hashtbl.replace utf82macro "\194\183" "middot" -let _ = Hashtbl.replace utf82macro "\195\164" "auml" -let _ = Hashtbl.replace utf82macro "\196\146" "Emacr" -let _ = Hashtbl.replace utf82macro "\194\184" "Cedilla" -let _ = Hashtbl.replace utf82macro "\195\165" "aring" -let _ = Hashtbl.replace utf82macro "\194\185" "sup1" -let _ = Hashtbl.replace utf82macro "\197\128" "lmidot" -let _ = Hashtbl.replace utf82macro "\196\147" "emacr" -let _ = Hashtbl.replace utf82macro "\195\166" "aelig" -let _ = Hashtbl.replace utf82macro "\194\186" "ordm" -let _ = Hashtbl.replace utf82macro "\197\129" "Lstrok" -let _ = Hashtbl.replace utf82macro "\195\167" "ccedil" -let _ = Hashtbl.replace utf82macro "\194\187" "raquo" -let _ = Hashtbl.replace utf82macro "\197\130" "lstrok" -let _ = Hashtbl.replace utf82macro "\195\168" "egrave" -let _ = Hashtbl.replace utf82macro "\197\131" "Nacute" -let _ = Hashtbl.replace utf82macro "\194\188" "frac14" -let _ = Hashtbl.replace utf82macro "\196\150" "Edot" -let _ = Hashtbl.replace utf82macro "\195\169" "eacute" -let _ = Hashtbl.replace utf82macro "\197\132" "nacute" -let _ = Hashtbl.replace utf82macro "\194\189" "half" -let _ = Hashtbl.replace utf82macro "\196\151" "edot" -let _ = Hashtbl.replace utf82macro "\195\170" "ecirc" -let _ = Hashtbl.replace utf82macro "\197\133" "Ncedil" -let _ = Hashtbl.replace utf82macro "\194\190" "frac34" -let _ = Hashtbl.replace utf82macro "\195\171" "euml" -let _ = Hashtbl.replace utf82macro "\196\152" "Eogon" -let _ = Hashtbl.replace utf82macro "\197\134" "ncedil" -let _ = Hashtbl.replace utf82macro "\194\191" "iquest" -let _ = Hashtbl.replace utf82macro "\195\172" "igrave" -let _ = Hashtbl.replace utf82macro "\196\153" "eogon" -let _ = Hashtbl.replace utf82macro "limsup" "limsup" -let _ = Hashtbl.replace utf82macro "\197\135" "Ncaron" -let _ = Hashtbl.replace utf82macro "\195\173" "iacute" -let _ = Hashtbl.replace utf82macro "\196\154" "Ecaron" -let _ = Hashtbl.replace utf82macro "\197\136" "ncaron" -let _ = Hashtbl.replace utf82macro "\195\174" "icirc" -let _ = Hashtbl.replace utf82macro "\196\155" "ecaron" -let _ = Hashtbl.replace utf82macro "\197\137" "napos" -let _ = Hashtbl.replace utf82macro "\195\175" "iuml" -let _ = Hashtbl.replace utf82macro "\196\156" "Gcirc" -let _ = Hashtbl.replace utf82macro "\196\157" "gcirc" -let _ = Hashtbl.replace utf82macro "\195\176" "eth" -let _ = Hashtbl.replace utf82macro "\197\138" "ENG" -let _ = Hashtbl.replace utf82macro "\195\177" "ntilde" -let _ = Hashtbl.replace utf82macro "\196\158" "Gbreve" -let _ = Hashtbl.replace utf82macro "\197\139" "eng" -let _ = Hashtbl.replace utf82macro "\197\140" "Omacr" -let _ = Hashtbl.replace utf82macro "\195\178" "ograve" -let _ = Hashtbl.replace utf82macro "\196\159" "gbreve" -let _ = Hashtbl.replace utf82macro "\197\141" "omacr" -let _ = Hashtbl.replace utf82macro "\195\179" "oacute" -let _ = Hashtbl.replace utf82macro "\196\160" "Gdot" -let _ = Hashtbl.replace utf82macro "\195\180" "ocirc" -let _ = Hashtbl.replace utf82macro "\196\161" "gdot" -let _ = Hashtbl.replace utf82macro "\195\181" "otilde" -let _ = Hashtbl.replace utf82macro "\196\162" "Gcedil" -let _ = Hashtbl.replace utf82macro "\195\182" "ouml" -let _ = Hashtbl.replace utf82macro "\197\144" "Odblac" -let _ = Hashtbl.replace utf82macro "\197\145" "odblac" -let _ = Hashtbl.replace utf82macro "\196\164" "Hcirc" -let _ = Hashtbl.replace utf82macro "\195\183" "div" -let _ = Hashtbl.replace utf82macro "\195\184" "oslash" -let _ = Hashtbl.replace utf82macro "\197\146" "OElig" -let _ = Hashtbl.replace utf82macro "\196\165" "hcirc" -let _ = Hashtbl.replace utf82macro "\195\185" "ugrave" -let _ = Hashtbl.replace utf82macro "\197\147" "oelig" -let _ = Hashtbl.replace utf82macro "\196\166" "Hstrok" -let _ = Hashtbl.replace utf82macro "\195\186" "uacute" -let _ = Hashtbl.replace utf82macro "\197\148" "Racute" -let _ = Hashtbl.replace utf82macro "\196\167" "hstrok" -let _ = Hashtbl.replace utf82macro "\195\187" "ucirc" -let _ = Hashtbl.replace utf82macro "\197\149" "racute" -let _ = Hashtbl.replace utf82macro "\196\168" "Itilde" -let _ = Hashtbl.replace utf82macro "\195\188" "uuml" -let _ = Hashtbl.replace utf82macro "\197\150" "Rcedil" -let _ = Hashtbl.replace utf82macro "\196\169" "itilde" -let _ = Hashtbl.replace utf82macro "\195\189" "yacute" -let _ = Hashtbl.replace utf82macro "\197\151" "rcedil" -let _ = Hashtbl.replace utf82macro "\196\170" "Imacr" -let _ = Hashtbl.replace utf82macro "\195\190" "thorn" -let _ = Hashtbl.replace utf82macro "\197\152" "Rcaron" -let _ = Hashtbl.replace utf82macro "\196\171" "imacr" -let _ = Hashtbl.replace utf82macro "\195\191" "yuml" -let _ = Hashtbl.replace utf82macro "\197\153" "rcaron" -let _ = Hashtbl.replace utf82macro "\197\154" "Sacute" -let _ = Hashtbl.replace utf82macro "\197\155" "sacute" -let _ = Hashtbl.replace utf82macro "\196\174" "Iogon" -let _ = Hashtbl.replace utf82macro "\197\156" "Scirc" -let _ = Hashtbl.replace utf82macro "\196\175" "iogon" -let _ = Hashtbl.replace utf82macro "\197\157" "scirc" -let _ = Hashtbl.replace utf82macro "\196\176" "Idot" -let _ = Hashtbl.replace utf82macro "\197\158" "Scedil" -let _ = Hashtbl.replace utf82macro "\196\177" "imath" -let _ = Hashtbl.replace utf82macro "\197\159" "scedil" -let _ = Hashtbl.replace utf82macro "\196\178" "IJlig" -let _ = Hashtbl.replace utf82macro "\197\160" "Scaron" -let _ = Hashtbl.replace utf82macro "\196\179" "ijlig" -let _ = Hashtbl.replace utf82macro "\197\161" "scaron" -let _ = Hashtbl.replace utf82macro "\196\180" "Jcirc" -let _ = Hashtbl.replace utf82macro "\197\162" "Tcedil" -let _ = Hashtbl.replace utf82macro "\196\181" "jcirc" -let _ = Hashtbl.replace utf82macro "\197\163" "tcedil" -let _ = Hashtbl.replace utf82macro "\196\182" "Kcedil" -let _ = Hashtbl.replace utf82macro "\197\164" "Tcaron" -let _ = Hashtbl.replace utf82macro "\226\128\138\239\184\128" "NegativeVeryThinSpace" -let _ = Hashtbl.replace utf82macro "\196\183" "kcedil" -let _ = Hashtbl.replace utf82macro "\197\165" "tcaron" -let _ = Hashtbl.replace utf82macro "\196\184" "kgreen" -let _ = Hashtbl.replace utf82macro "\198\146" "fnof" -let _ = Hashtbl.replace utf82macro "\197\166" "Tstrok" -let _ = Hashtbl.replace utf82macro "\196\185" "Lacute" -let _ = Hashtbl.replace utf82macro "\197\167" "tstrok" -let _ = Hashtbl.replace utf82macro "\196\186" "lacute" -let _ = Hashtbl.replace utf82macro "\197\168" "Utilde" -let _ = Hashtbl.replace utf82macro "\196\187" "Lcedil" -let _ = Hashtbl.replace utf82macro "\197\169" "utilde" -let _ = Hashtbl.replace utf82macro "\226\137\143\204\184" "NotHumpEqual" -let _ = Hashtbl.replace utf82macro "\196\188" "lcedil" -let _ = Hashtbl.replace utf82macro "\197\170" "Umacr" -let _ = Hashtbl.replace utf82macro "\196\189" "Lcaron" -let _ = Hashtbl.replace utf82macro "\197\171" "umacr" -let _ = Hashtbl.replace utf82macro "\196\190" "lcaron" -let _ = Hashtbl.replace utf82macro "\197\172" "Ubreve" -let _ = Hashtbl.replace utf82macro "\196\191" "Lmidot" -let _ = Hashtbl.replace utf82macro "\197\173" "ubreve" -let _ = Hashtbl.replace utf82macro "\197\174" "Uring" -let _ = Hashtbl.replace utf82macro "\197\175" "uring" -let _ = Hashtbl.replace utf82macro "\197\176" "Udblac" -let _ = Hashtbl.replace utf82macro "\197\177" "udblac" -let _ = Hashtbl.replace utf82macro "\197\178" "Uogon" -let _ = Hashtbl.replace utf82macro "\197\179" "uogon" -let _ = Hashtbl.replace utf82macro "\197\180" "Wcirc" -let _ = Hashtbl.replace utf82macro "\197\181" "wcirc" -let _ = Hashtbl.replace utf82macro "\197\182" "Ycirc" -let _ = Hashtbl.replace utf82macro "\197\183" "ycirc" -let _ = Hashtbl.replace utf82macro "\197\184" "Yuml" -let _ = Hashtbl.replace utf82macro "\197\185" "Zacute" -let _ = Hashtbl.replace utf82macro "\197\186" "zacute" -let _ = Hashtbl.replace utf82macro "\197\187" "Zdot" -let _ = Hashtbl.replace utf82macro "\197\188" "zdot" -let _ = Hashtbl.replace utf82macro "\197\189" "Zcaron" -let _ = Hashtbl.replace utf82macro "\197\190" "zcaron" -let _ = Hashtbl.replace utf82macro "\226\136\163\239\184\128" "smid" -let _ = Hashtbl.replace utf82macro "\239\184\181" "OverParenthesis" -let _ = Hashtbl.replace utf82macro "\239\184\182" "UnderParenthesis" -let _ = Hashtbl.replace utf82macro "\239\184\183" "OverBrace" -let _ = Hashtbl.replace utf82macro "\239\184\184" "UnderBrace" -let _ = Hashtbl.replace utf82macro "\199\181" "gacute" -let _ = Hashtbl.replace utf82macro "cos" "cos" -let _ = Hashtbl.replace utf82macro "\226\136\170\239\184\128" "cups" -let _ = Hashtbl.replace utf82macro "cot" "cot" -let _ = Hashtbl.replace utf82macro "\201\155" "varepsilon" -let _ = Hashtbl.replace utf82macro "\226\138\139\239\184\128" "vsupnE" -let _ = Hashtbl.replace utf82macro "\203\135" "Hacek" diff --git a/helm/ocaml/xml/.cvsignore b/helm/ocaml/xml/.cvsignore deleted file mode 100644 index ee126863f..000000000 --- a/helm/ocaml/xml/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -*.cm[iaox] *.cmxa -test -test.opt diff --git a/helm/ocaml/xml/.depend b/helm/ocaml/xml/.depend deleted file mode 100644 index 5ef59bdc9..000000000 --- a/helm/ocaml/xml/.depend +++ /dev/null @@ -1,4 +0,0 @@ -xml.cmo: xml.cmi -xml.cmx: xml.cmi -xmlPushParser.cmo: xmlPushParser.cmi -xmlPushParser.cmx: xmlPushParser.cmi diff --git a/helm/ocaml/xml/Makefile b/helm/ocaml/xml/Makefile deleted file mode 100644 index fabd2dfce..000000000 --- a/helm/ocaml/xml/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -PACKAGE = xml -REQUIRES = zip expat helm-extlib -PREDICATES = - -INTERFACE_FILES = \ - xml.mli \ - xmlPushParser.mli -IMPLEMENTATION_FILES = $(INTERFACE_FILES:%.mli=%.ml) -EXTRA_OBJECTS_TO_INSTALL = -EXTRA_OBJECTS_TO_CLEAN = - -include ../Makefile.common diff --git a/helm/ocaml/xml/test.ml b/helm/ocaml/xml/test.ml deleted file mode 100644 index 516ba77c6..000000000 --- a/helm/ocaml/xml/test.ml +++ /dev/null @@ -1,59 +0,0 @@ - -(* Parsing test: - * - XmlPushParser version *) -open Printf -open XmlPushParser - -let print s = print_endline s; flush stdout - -let callbacks = - { default_callbacks with - start_element = - Some (fun tag attrs -> - let length = List.length attrs in - print (sprintf "opening %s [%s]" - tag (String.concat ";" (List.map fst attrs)))); - end_element = Some (fun tag -> print ("closing " ^ tag)); - character_data = Some (fun data -> print "character data ..."); - } - -let xml_parser = create_parser callbacks - -let is_gzip f = - try - let len = String.length f in - String.sub f (len - 3) 3 = ".gz" - with Invalid_argument _ -> false - -let _ = - let xml_source = - if is_gzip Sys.argv.(1) then - `Gzip_file Sys.argv.(1) - else - `File Sys.argv.(1) - in - parse xml_parser xml_source - -(* Parsing test: - * - Pure expat version (without XmlPushParser mediation). - * Originally written only to test if XmlPushParser mediation caused overhead. - * That was not the case. *) - -(*let _ =*) -(* let ic = open_in Sys.argv.(1) in*) -(* let expat_parser = Expat.parser_create ~encoding:None in*) -(* Expat.set_start_element_handler expat_parser*) -(* (fun tag attrs ->*) -(* let length = List.length attrs in*) -(* print (sprintf "opening %s [%d attribute%s]"*) -(* tag length (if length = 1 then "" else "s")));*) -(* Expat.set_end_element_handler expat_parser*) -(* (fun tag -> print ("closing " ^ tag));*) -(* Expat.set_character_data_handler expat_parser*) -(* (fun data -> print "character data ...");*) -(* try*) -(* while true do*) -(* Expat.parse expat_parser (input_line ic ^ "\n")*) -(* done*) -(* with End_of_file -> Expat.final expat_parser*) - diff --git a/helm/ocaml/xml/xml.ml b/helm/ocaml/xml/xml.ml deleted file mode 100644 index 42ce7ba57..000000000 --- a/helm/ocaml/xml/xml.ml +++ /dev/null @@ -1,162 +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 *) -(* *) -(* A tactic to print Coq objects in XML *) -(* *) -(* Claudio Sacerdoti Coen *) -(* 18/10/2000 *) -(* *) -(* This module defines a pretty-printer and the stream of commands to the pp *) -(* *) -(******************************************************************************) - - -(* the type token for XML cdata, empty elements and not-empty elements *) -(* Usage: *) -(* Str cdata *) -(* Empty (prefix, element_name, *) -(* [prefix1, attrname1, value1 ; ... ; prefixn, attrnamen, valuen] *) -(* NEmpty (prefix, element_name, *) -(* [prefix1, attrname1, value1 ; ... ; prefixn, attrnamen, valuen], *) -(* content *) -type token = - Str of string - | Empty of string option * string * (string option * string * string) list - | NEmpty of string option * string * (string option * string * string) list * - token Stream.t -;; - -(* currified versions of the constructors make the code more readable *) -let xml_empty ?prefix name attrs = - [< 'Empty(prefix,name,attrs) >] -let xml_nempty ?prefix name attrs content = - [< 'NEmpty(prefix,name,attrs,content) >] -let xml_cdata str = - [< 'Str str >] - -(** low level for other PPs: pretty print each token of strm applying 'f' to a -canonical string representation of each token *) -let pp_gen f strm = - let pprefix = - function - None -> "" - | Some p -> p ^ ":" in - let rec pp_r m = - parser - | [< 'Str a ; s >] -> - print_spaces m ; - f (a ^ "\n") ; - pp_r m s - | [< 'Empty(p,n,l) ; s >] -> - print_spaces m ; - f ("<" ^ (pprefix p) ^ n) ; - List.iter (fun (p,n,v) -> f (" " ^ (pprefix p) ^ n ^ "=\"" ^ v ^ "\"")) l; - f "/>\n" ; - pp_r m s - | [< 'NEmpty(p,n,l,c) ; s >] -> - print_spaces m ; - f ("<" ^ (pprefix p) ^ n) ; - List.iter (fun (p,n,v) -> f (" " ^ (pprefix p) ^ n ^ "=\"" ^ v ^ "\"")) l; - f ">\n" ; - pp_r (m+1) c ; - print_spaces m ; - f ("\n") ; - pp_r m s - | [< >] -> () - and print_spaces m = - for i = 1 to m do f " " done - in - pp_r 0 strm -;; - -(** pretty printer on output channels *) -let pp_to_outchan strm oc = - pp_gen (fun s -> output_string oc s) strm; - flush oc -;; - -let pp_to_gzipchan strm oc = - pp_gen (fun s -> Gzip.output oc s 0 (String.length s)) strm -;; - -(** pretty printer to string *) -let pp_to_string strm = - let buf = Buffer.create 10240 in - pp_gen (Buffer.add_string buf) strm; - Buffer.contents buf -;; - -(** pretty printer to file *) -(* Usage: *) -(* pp tokens None pretty prints the output on stdout *) -(* pp tokens (Some filename) pretty prints the output on the file filename *) -let pp ?(gzip=false) strm fn = - if gzip then - match fn with - | Some filename -> - let outchan = Gzip.open_out filename in - (try - pp_to_gzipchan strm outchan; - with e -> - Gzip.close_out outchan; - raise e); - Gzip.close_out outchan - | None -> failwith "Can't sent gzipped output to stdout" - else - match fn with - | Some filename -> - let outchan = open_out filename in - (try - pp_to_outchan strm outchan; - with e -> - close_out outchan; - raise e); - close_out outchan - | None -> pp_to_outchan strm stdout -;; - -let pp = - let profiler = HExtlib.profile "Xml.pp" in - fun ?gzip strm fn -> - profiler.HExtlib.profile (pp ?gzip strm) fn -;; - -let add_xml_declaration stream = - let box_prefix = "b" in - [< - xml_cdata "\n" ; - xml_cdata "\n"; - xml_nempty ~prefix:box_prefix "box" - [ Some "xmlns","m","http://www.w3.org/1998/Math/MathML" ; - Some "xmlns","b","http://helm.cs.unibo.it/2003/BoxML" ; - Some "xmlns","helm","http://www.cs.unibo.it/helm" ; - Some "xmlns","xlink","http://www.w3.org/1999/xlink" - ] stream - >] - diff --git a/helm/ocaml/xml/xml.mli b/helm/ocaml/xml/xml.mli deleted file mode 100644 index 43547eaa0..000000000 --- a/helm/ocaml/xml/xml.mli +++ /dev/null @@ -1,73 +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 *) -(* *) -(* A tactic to print Coq objects in XML *) -(* *) -(* Claudio Sacerdoti Coen *) -(* 18/10/2000 *) -(* *) -(* This module defines a pretty-printer and the stream of commands to the pp *) -(* *) -(******************************************************************************) - -(* Tokens for XML cdata, empty elements and not-empty elements *) -(* Usage: *) -(* Str cdata *) -(* Empty (prefix, element_name, *) -(* [prefix1, attrname1, value1 ; ... ; prefixn, attrnamen, valuen] *) -(* NEmpty (prefix, element_name, *) -(* [prefix1, attrname1, value1 ; ... ; prefixn, attrnamen, valuen], *) -(* content *) -type token = - Str of string - | Empty of string option * string * (string option * string * string) list - | NEmpty of string option * string * (string option * string * string) list * - token Stream.t -;; - -(* currified versions of the token constructors make the code more readable *) -val xml_empty : - ?prefix:string -> string -> (string option * string * string) list -> - token Stream.t -val xml_nempty : - ?prefix:string -> string -> (string option * string * string) list -> - token Stream.t -> token Stream.t -val xml_cdata : string -> token Stream.t - -(* The pretty printer for streams of token *) -(* Usage: *) -(* pp tokens None pretty prints the output on stdout *) -(* pp tokens (Some filename) pretty prints the output on the file filename -* @param gzip if set to true files are gzipped. Defaults to false *) -val pp : ?gzip:bool -> token Stream.t -> string option -> unit -val pp_to_outchan : token Stream.t -> out_channel -> unit -val pp_to_string : token Stream.t -> string - -val add_xml_declaration: token Stream.t -> token Stream.t - diff --git a/helm/ocaml/xml/xmlPushParser.ml b/helm/ocaml/xml/xmlPushParser.ml deleted file mode 100644 index 6cab0ead3..000000000 --- a/helm/ocaml/xml/xmlPushParser.ml +++ /dev/null @@ -1,116 +0,0 @@ -(* Copyright (C) 2004-2005, 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 gzip_bufsize = 10240 - -type callbacks = { - start_element: (string -> (string * string) list -> unit) option; - end_element: (string -> unit) option; - character_data: (string -> unit) option; - processing_instruction: (string -> string -> unit) option; - comment: (string -> unit) option; -} - -let default_callbacks = { - start_element = None; - end_element = None; - character_data = None; - processing_instruction = None; - comment = None; -} - -type xml_source = - [ `Channel of in_channel - | `File of string - | `Gzip_channel of Gzip.in_channel - | `Gzip_file of string - | `String of string - ] - -type position = int * int - -type xml_parser = Expat.expat_parser - -exception Parse_error of string - -let create_parser callbacks = - let expat_parser = Expat.parser_create ~encoding:None in - (match callbacks.start_element with - | Some f -> Expat.set_start_element_handler expat_parser f - | _ -> ()); - (match callbacks.end_element with - | Some f -> Expat.set_end_element_handler expat_parser f - | _ -> ()); - (match callbacks.character_data with - | Some f -> Expat.set_character_data_handler expat_parser f - | _ -> ()); - (match callbacks.processing_instruction with - | Some f -> Expat.set_processing_instruction_handler expat_parser f - | _ -> ()); - (match callbacks.comment with - | Some f -> Expat.set_comment_handler expat_parser f - | _ -> ()); - expat_parser - -let final = Expat.final - -let get_position expat_parser = - (Expat.get_current_line_number expat_parser, - Expat.get_current_column_number expat_parser) - -let parse expat_parser = - let parse_fun = Expat.parse expat_parser in - let rec aux = function - | `Channel ic -> - (try - while true do parse_fun (input_line ic ^ "\n") done - with End_of_file -> final expat_parser) - | `File fname -> - let ic = open_in fname in - aux (`Channel ic); - close_in ic - | `Gzip_channel ic -> - let buf = String.create gzip_bufsize in - (try - while true do - let bytes = Gzip.input ic buf 0 gzip_bufsize in - if bytes = 0 then raise End_of_file; - parse_fun (String.sub buf 0 bytes) - done - with End_of_file -> final expat_parser) - | `Gzip_file fname -> - let ic = Gzip.open_in fname in - aux (`Gzip_channel ic); - Gzip.close_in ic - | `String s -> parse_fun s - in - aux - -let parse expat_parser xml_source = - try - parse expat_parser xml_source - with Expat.Expat_error xml_error -> - raise (Parse_error (Expat.xml_error_to_string xml_error)) - diff --git a/helm/ocaml/xml/xmlPushParser.mli b/helm/ocaml/xml/xmlPushParser.mli deleted file mode 100644 index c13481c91..000000000 --- a/helm/ocaml/xml/xmlPushParser.mli +++ /dev/null @@ -1,78 +0,0 @@ -(* Copyright (C) 2004-2005, 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 XLM push parser generic interface} - * Do not depend on CIC *) - - (** callbacks needed to instantiate a parser *) -type callbacks = { - start_element: - (string -> (string * string) list -> unit) option; (* tag, attr list *) - end_element: (string -> unit) option; (* tag *) - character_data: (string -> unit) option; (* data *) - processing_instruction: - (string -> string -> unit) option; (* target, value *) - comment: (string -> unit) option; (* value *) -} - - (** do nothing callbacks (all set to None) *) -val default_callbacks: callbacks - - (** source from which parse an XML file *) -type xml_source = - [ `Channel of in_channel - | `File of string - | `Gzip_channel of Gzip.in_channel - | `Gzip_file of string - | `String of string - ] - - (** source position in a XML source. - * A position is a pair *) -type position = int * int - -type xml_parser - - (** raised when a parse error occurs, argument is an error message. - * This exception carries no position information, but it should be get using - * get_position below *) -exception Parse_error of string - - (** Create a push parser which invokes the given callbacks *) -val create_parser: callbacks -> xml_parser - - (** Parse XML data from a given source with a given parser - * @raise Parse_error *) -val parse: xml_parser -> xml_source -> unit - - (** Inform the parser that parsing is completed, needed only when source is - * `String, for other sources it is automatically invoked when the end of file - * is reached - * @raise Parse_error *) -val final: xml_parser -> unit - - (** @return current pair *) -val get_position: xml_parser -> position - diff --git a/helm/ocaml/xmldiff/.cvsignore b/helm/ocaml/xmldiff/.cvsignore deleted file mode 100644 index 6b3eba302..000000000 --- a/helm/ocaml/xmldiff/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.cm[iaox] *.cmxa diff --git a/helm/ocaml/xmldiff/.depend b/helm/ocaml/xmldiff/.depend deleted file mode 100644 index e2832de33..000000000 --- a/helm/ocaml/xmldiff/.depend +++ /dev/null @@ -1,2 +0,0 @@ -xmlDiff.cmo: xmlDiff.cmi -xmlDiff.cmx: xmlDiff.cmi diff --git a/helm/ocaml/xmldiff/Makefile b/helm/ocaml/xmldiff/Makefile deleted file mode 100644 index 20a49c097..000000000 --- a/helm/ocaml/xmldiff/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -PACKAGE = xmldiff -REQUIRES = gdome2 -PREDICATES = - -INTERFACE_FILES = xmlDiff.mli -IMPLEMENTATION_FILES = $(INTERFACE_FILES:%.mli=%.ml) -EXTRA_OBJECTS_TO_INSTALL = -EXTRA_OBJECTS_TO_CLEAN = - -include ../Makefile.common diff --git a/helm/ocaml/xmldiff/xmlDiff.ml b/helm/ocaml/xmldiff/xmlDiff.ml deleted file mode 100644 index c3a35ad34..000000000 --- a/helm/ocaml/xmldiff/xmlDiff.ml +++ /dev/null @@ -1,343 +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/. - *) - -let mathmlns = "http://www.w3.org/1998/Math/MathML";; -let xmldiffns = "http://helm.cs.unibo.it/XmlDiff";; -let helmns = "http://www.cs.unibo.it/helm";; - -let ds_selection = Gdome.domString "selection";; -let ds_2 = Gdome.domString "2";; -let ds_mathmlns = Gdome.domString mathmlns;; -let ds_m_style = Gdome.domString "m:mstyle";; -let ds_mathbackground = Gdome.domString "mathbackground";; -let ds_xmldiffns = Gdome.domString xmldiffns;; -let ds_xmldiff_type = Gdome.domString "xmldiff:type";; -let ds_fake = Gdome.domString "fake";; -let ds_helmns = Gdome.domString helmns;; -let ds_xref = Gdome.domString "xref";; -let ds_type = Gdome.domString "type";; -let ds_yellow = Gdome.domString "yellow";; -let ds_green = Gdome.domString "#00ff00";; -let ds_maction = Gdome.domString "maction";; -let ds_mtr = Gdome.domString "mtr";; -let ds_mtd = Gdome.domString "mtd";; - -type highlighted_nodes = Gdome.node list;; - -let rec make_visible (n: Gdome.node) = - match n#get_parentNode with - None -> () - | Some p -> - match p#get_namespaceURI, p#get_localName with - Some nu, Some ln when - nu#equals ds_mathmlns && ln#equals ds_maction -> - (new Gdome.element_of_node p)#setAttribute - ~name:ds_selection - ~value:ds_2 ; - make_visible p - | _,_ -> make_visible p -;; - -let highlight_node_total_time = ref 0.0;; - -let highlight_node ?(color=ds_yellow) (doc: Gdome.document) (n: Gdome.node) = - let highlight (n: Gdome.node) = - let highlighter = - doc#createElementNS - ~namespaceURI:(Some ds_mathmlns) - ~qualifiedName:ds_m_style - in - highlighter#setAttribute ~name:ds_mathbackground ~value:color ; - highlighter#setAttributeNS - ~namespaceURI:(Some ds_xmldiffns) - ~qualifiedName:ds_xmldiff_type - ~value:ds_fake ; - let parent = - match n#get_parentNode with - None -> assert false - | Some p -> p - in - ignore - (parent#replaceChild ~oldChild:n ~newChild:(highlighter :> Gdome.node)) ; - ignore (highlighter#appendChild n) ; - (highlighter :> Gdome.node) - in - let rec find_mstylable_node n = - match n#get_namespaceURI, n#get_localName with - Some nu, Some ln when - nu#equals ds_mathmlns && - (not (ln#equals ds_mtr)) && (not (ln#equals ds_mtd)) -> n - | Some nu, Some ln when - nu#equals ds_mathmlns && - ln#equals ds_mtr || ln#equals ds_mtd -> - let true_child = - match n#get_firstChild with - None -> assert false - | Some n -> n - in - find_mstylable_node true_child - | _,_ -> - match n#get_parentNode with - None -> assert false - | Some p -> find_mstylable_node p - in - let highlighter = highlight (find_mstylable_node n) in - make_visible highlighter ; - highlighter -;; - -let iter_children ~f (n:Gdome.node) = - let rec aux = - function - None -> () - | Some n -> - let sibling = n#get_nextSibling in - (f n) ; - aux sibling - in - aux n#get_firstChild -;; - -let highlight_nodes ~xrefs (doc:Gdome.document) = - let highlighted = ref [] in - let rec aux (n:Gdome.element) = - let attributeNS = - (n#getAttributeNS ~namespaceURI:ds_helmns - ~localName:ds_xref)#to_string in - if List.mem attributeNS xrefs then - highlighted := - (highlight_node ~color:ds_green doc (n :> Gdome.node)):: - !highlighted ; - iter_children (n :> Gdome.node) - ~f:(function n -> - if n#get_nodeType = GdomeNodeTypeT.ELEMENT_NODE then - aux (new Gdome.element_of_node n)) - in - aux doc#get_documentElement ; - !highlighted -;; - -let dim_nodes = - List.iter - (function (n : Gdome.node) -> - assert - (n#get_nodeType = GdomeNodeTypeT.ELEMENT_NODE && - ((new Gdome.element_of_node n)#getAttributeNS - ~namespaceURI:ds_xmldiffns - ~localName:ds_type)#equals ds_fake) ; - let true_child = - match n#get_firstChild with - None -> assert false - | Some n -> n in - let p = - match n#get_parentNode with - None -> assert false - | Some n -> n - in - ignore (p#replaceChild ~oldChild:n ~newChild:true_child) - ) -;; - -let update_dom ~(from : Gdome.document) (d : Gdome.document) = - let rec aux (p: Gdome.node) (f: Gdome.node) (t: Gdome.node) = - let replace t1 = - if - t1 = GdomeNodeTypeT.ELEMENT_NODE && - ((new Gdome.element_of_node f)#getAttributeNS - ~namespaceURI:ds_xmldiffns - ~localName:ds_type)#equals ds_fake - then - let true_child = - match f#get_firstChild with - None -> assert false - | Some n -> n - in - begin - ignore (p#replaceChild ~oldChild:f ~newChild:true_child) ; - aux p true_child t - end - else - let t' = from#importNode t true in - ignore (p#replaceChild ~newChild:t' ~oldChild:f) ; - (* ignore (highlight_node from t') *) - in - match - f#get_nodeType,t#get_nodeType - with - GdomeNodeTypeT.TEXT_NODE,GdomeNodeTypeT.TEXT_NODE -> - (match f#get_nodeValue, t#get_nodeValue with - Some v, Some v' when v#equals v' -> () - | Some _, (Some _ as v') -> f#set_nodeValue v' - | _,_ -> assert false) - | GdomeNodeTypeT.ELEMENT_NODE as t1,GdomeNodeTypeT.ELEMENT_NODE -> - (match - f#get_namespaceURI,t#get_namespaceURI,f#get_localName,t#get_localName - with - Some nu, Some nu', Some ln, Some ln' when - ln#equals ln' && nu#equals nu' -> - begin - match f#get_attributes, t#get_attributes with - Some fattrs, Some tattrs -> - let flen = fattrs#get_length in - let tlen = tattrs#get_length in - let processed = ref [] in - for i = 0 to flen -1 do - match fattrs#item i with - None -> () (* CSC: sigh, togliere un nodo rompe fa decrescere la lunghezza ==> passare a un while *) - | Some attr -> - match attr#get_namespaceURI with - None -> - (* Back to DOM Level 1 ;-( *) - begin - let name = attr#get_nodeName in - match tattrs#getNamedItem ~name with - None -> - ignore (fattrs#removeNamedItem ~name) - | Some attr' -> - processed := - (None,Some name)::!processed ; - match attr#get_nodeValue, attr'#get_nodeValue with - Some v1, Some v2 when - v1#equals v2 - || (name#equals ds_selection && - nu#equals ds_mathmlns && - ln#equals ds_maction) - -> - () - | Some v1, Some v2 -> - let attr'' = from#importNode attr' true in - ignore (fattrs#setNamedItem attr'') - | _,_ -> assert false - end - | Some namespaceURI -> - let localName = - match attr#get_localName with - Some v -> v - | None -> assert false - in - match - tattrs#getNamedItemNS ~namespaceURI ~localName - with - None -> - ignore - (fattrs#removeNamedItemNS - ~namespaceURI ~localName) - | Some attr' -> - processed := - (Some namespaceURI,Some localName)::!processed ; - match attr#get_nodeValue, attr'#get_nodeValue with - Some v1, Some v2 when - v1#equals v2 -> - () - | Some _, Some _ -> - let attr'' = from#importNode attr' true in - ignore (fattrs#setNamedItem attr'') - | _,_ -> assert false - done ; - for i = 0 to tlen -1 do - match tattrs#item i with - None -> assert false - | Some attr -> - let namespaceURI,localName = - match attr#get_namespaceURI with - None -> - None,attr#get_nodeName - | Some namespaceURI as v -> - v, match attr#get_localName with - None -> assert false - | Some v -> v - in - if - not - (List.exists - (function - None,Some localName' -> - (match namespaceURI with - None -> - localName#equals localName' - | Some _ -> false) - | Some namespaceURI', Some localName' -> - (match namespaceURI with - None -> false - | Some namespaceURI -> - localName#equals localName' && - namespaceURI#equals namespaceURI' - ) - | _,_ -> assert false - ) !processed) - then - let attr' = from#importNode attr false in - ignore (fattrs#setNamedItem attr') - done - | _,_ -> assert false - end ; - let rec dumb_diff = - function - [],[] -> () - | he1::tl1,he2::tl2 -> - aux f he1 he2 ; - dumb_diff (tl1,tl2) - | [],tl2 -> - List.iter - (function n -> - let n' = from#importNode n true in - ignore (f#appendChild n') ; - (* ignore (highlight_node from n') *) - () - ) tl2 - | tl1,[] -> - List.iter (function n -> ignore (f#removeChild n)) tl1 - in - let node_list_of_nodeList n = - let rec aux = - function - None -> [] - | Some n when - n#get_nodeType = GdomeNodeTypeT.ELEMENT_NODE - or n#get_nodeType = GdomeNodeTypeT.TEXT_NODE -> - n::(aux n#get_nextSibling) - | Some n -> - aux n#get_nextSibling - in - aux n#get_firstChild - in - dumb_diff - (node_list_of_nodeList f, node_list_of_nodeList t) - | _,_,_,_ -> replace t1 - ) - | t1,t2 when - (t1 = GdomeNodeTypeT.ELEMENT_NODE || t1 = GdomeNodeTypeT.TEXT_NODE) && - (t2 = GdomeNodeTypeT.ELEMENT_NODE || t2 = GdomeNodeTypeT.TEXT_NODE) -> - replace t1 - | _,_ -> assert false - in - try - aux (d :> Gdome.node) - (from#get_documentElement :> Gdome.node) - (d#get_documentElement :> Gdome.node) - with - (GdomeInit.DOMException (e,msg) as ex) -> raise ex - | e -> raise e -;; diff --git a/helm/ocaml/xmldiff/xmlDiff.mli b/helm/ocaml/xmldiff/xmlDiff.mli deleted file mode 100644 index cf084af94..000000000 --- a/helm/ocaml/xmldiff/xmlDiff.mli +++ /dev/null @@ -1,30 +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/. - *) - -val update_dom: from: Gdome.document -> Gdome.document -> unit - -type highlighted_nodes -val highlight_nodes: xrefs:(string list) -> Gdome.document -> highlighted_nodes -val dim_nodes: highlighted_nodes -> unit diff --git a/helm/on-line/html/cic/control.html b/helm/on-line/html/cic/control.html deleted file mode 100644 index 8e6aeaf1f..000000000 --- a/helm/on-line/html/cic/control.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - - - -
    - - User: - -
    - [HELM home] - -
    -
    -
    -
    - -

    - -
    -
    - -
      - -
    • - View - -
    • -
    • - -
    • -
    • - -
    • -
    • - -
    • -
    • - Analyse dependencies -
        -
      • - -
      • -
      • - -
      • -
      • - -
      • -
      • - -
      • -
      -
    • -
    -
    -
      -
    • Download -
        -
      • - -
      • -
      • - -
      • -
      • - -
      • -
      • - -
      • -
      -
    • -
    • - Download metadata -
        -
      • - -
      • -
      • - -
      • -
      • - -
      • -
      -
    • -
    - - diff --git a/helm/on-line/html/cic/index.html b/helm/on-line/html/cic/index.html deleted file mode 100644 index ff3b7ba20..000000000 --- a/helm/on-line/html/cic/index.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - <subst:CICURI/> - - - diff --git a/helm/on-line/html/configuration.html b/helm/on-line/html/configuration.html deleted file mode 100644 index f183ed118..000000000 --- a/helm/on-line/html/configuration.html +++ /dev/null @@ -1,373 +0,0 @@ - - - - - -Configuration - - - - - - - - - -
    - -
    HELM Library Configuration
    - -
    -
    -When you are done with the changes, please do not forget to click on the Save button at the -bottom of the page. -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Profile
    -
    - -
    -
    -
    - - -
    -
    - (changing the profile will update all the fields below) -
    UWOBO URL -
    -
    - -
    -
    -
    - -
    -
    -
    - -    - [UWOBO panel] -
    -
    Getter URL -
    -
    - -
    -
    -
    - -
    -
    -
    - -    - [Getter panel] -
    -
    URI-Set URL
    -
    - -
    -
    -
    - -
    -
    -
    - -
    -
    Graph Drawer URL
    -
    - -
    -
    -
    - -
    -
    -
    - -
    -
    Proof-Checker URL
    -
    - -
    -
    -
    - -
    -
    -
    - -
    -
    Search Engine URL
    -
    - -
    -
    -
    - -
    -
    -
    - -
    -
    RDFly URL
    -
    - -
    -
    -
    - -
    -
    -
    - -
    -
    Interface URL
    -
    - -
    -
    -
    - -
    -
    -
    - - - - - - - - - -
    Natural language rendering -
    - -
    -
    Maximum size of dependency graph -
    - -
    -
    -
    - - - - - - - - - - - - - -
    Browser
    - Only new browsers support UNICODE, that is needed to render - mathematical documents. Some old browsers, though, can render - the most common symbols through the "symbol" font. -
    - To make us understand what kind of browser you have, please - select below the symbol for "not belongs to". If both options - do not show that symbol, then you will be only able to use - the MathML mode with an external plug-out for MathML presentation. -
    -
    - Where do you see the "not belongs to" symbol? - - Ï - - ∉ -
    -
    -
    - -
    -
    - - -
    -
    - - - - diff --git a/helm/on-line/html/folder/control.html b/helm/on-line/html/folder/control.html deleted file mode 100644 index 32c5d71ed..000000000 --- a/helm/on-line/html/folder/control.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - -
    - - User: - -
    - [
    HELM home] - - -
    -
    -
    - -

    - -
    - - - diff --git a/helm/on-line/html/folder/index.html b/helm/on-line/html/folder/index.html deleted file mode 100644 index 428a3ed0c..000000000 --- a/helm/on-line/html/folder/index.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - <subst:CICURI/> - - - diff --git a/helm/on-line/html/theory/control.html b/helm/on-line/html/theory/control.html deleted file mode 100644 index b855a6a84..000000000 --- a/helm/on-line/html/theory/control.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - -
    - - User: - -
    - [HELM home] - -
    -
    -
    -
    - -

    - -
    - - - diff --git a/helm/on-line/html/theory/index.html b/helm/on-line/html/theory/index.html deleted file mode 100644 index 6627247d2..000000000 --- a/helm/on-line/html/theory/index.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - <subst:CICURI/> - - - diff --git a/helm/on-line/icons/folder.png b/helm/on-line/icons/folder.png deleted file mode 100644 index ec0cc0839a93d4aa6ac9b015b2441998dfc59591..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 706 zcmV;z0zLhSP)IO)ML|uO5>e0~ zK}8TEN=E@oLjybjR8UX>L5YHLacqa!bN)jyv+Hr}+>mG(>1e&H+4G(MTxJdb&6=5+ zSpfV5yE!&KRy(iXBKz$RAKf3i>C5M@JbAoAF;d)c`J3|qM)I4>moCz7?bB{HXzlOO zZ0yl!>@quhg~dC!arx_0ROWVlsDhvC>o|Zr?%;CdqQ)rHic=$QHe0k>2fSE*1yIxn zHte?}%^iT9od&BbYkyta0YIyL&<9vuS!4P6Q|9NdA&FpyyW>)Il{=Df7l)nS{P@1k zt%b!wz`eUm0};GjdB)t_RW>%iAvwVUl8^~Wn1sv-!H^l<5ZK!KHC(~RPal|^oC0?g z3xMNnZ*O9G ziOCZns<0r;W0BpfB9GRS^9utCEIC$xajRM=SCFMp5t`O?9jF0Q<&zLXR?HqCe_4uY z^E`kM0eIgWOw`kfI+_DwpL=goj{wWa%XY35;?zb)NTXM!NWdY$yZ3KtwVNr|>L0W! zWrn9H<7CGfiG%DEMZw0#RuymANz=fCbDZ^Ou_a)pNL^F|#Hq)$ diff --git a/helm/on-line/icons/object.png b/helm/on-line/icons/object.png deleted file mode 100644 index fe89a30e81ef3c6651b4256010395eed9caa9159..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 893 zcmV-@1A_dCP)cYZ;4h{~6z$-vUMY{rTlGJp4{fXYX^_`YVB~?`|7K=JO zJnVpcgQSJ2udi=g|5P=dMZ~XRb90m4-d+GkMn;&LnhJV)daeO|fXVJu7*+Kl7!#l> zcrLQpEOA_?P$;xN_C8PmV$+JH9f5D&{1#Qk7~_>B_nkdE&i(uMc=Yfgzs}#r0FT2J zuFrfE0v`YmvfVOP1y$kPxsO{3R53w797PNa3~==58|>ZpGUalaCu@HJya;4ES|s99 z;09SP*SR+T{JlKPr_CRFZ42A2~uMlL0bRs}*cL z=Fq`|^fx!k)4M1o@F6OQ2wz>f0>BraPbb$@SYG~}IF5+oh`1i7&%btHe`9Gn6F7$x zhjR{b3E1)Xj&u3)C5p4NOizE=OhAM^7dPAa`MCpR#sM6 zT3Vu7ts){=YY`EGz@)vgBSEK8E|-~`o8$1|LwtJveA-yM8Bgi5&Nd6{i~PskyWE(W z;iK_!&YbxW=N#77)2>z#)c>5g?g|p`9nRWhEy9Hh7b%tgYg|cN=Nt;D2 z1aTav8Q}pj@cj=(42ILEPcb|DBdUqQ(b1EMO^sTpqTMXo*x2wsDwrhuAP5*cHHtCG zRva4}MMN;ZUaIQn=GnDvk;59K4O zO)^&B|H*$Q^}7KoD$L*cEiGSreLs7~mwvan2pj`)rcKR0A3gu`OQsI20c-yOdfwOL Tclo~_00000NkvXXu0mjf+{>YP diff --git a/helm/on-line/icons/theory.png b/helm/on-line/icons/theory.png deleted file mode 100644 index 389152ef306f55bf5322ad4102da6526e33e2f79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1287 zcmV+i1^D`jP)`cH5LoX(LOkA`mekloD!`3Q_C> z@IXKxOh^+n8hL4e2x_93Xp9uwR3eGKXca*dASn{kDv?Sph1%P8d)xbEZr{xM z(AnBTQTQh(GY|9qzWobSN=aseBG^FaPCA_hc(Ffafd03^p9;7iIXtHW;}Z)0>a zMov-CbPZM2(RB??)6jJNwnZMdM0#SFOXq&d$H)3NNq2y^wX_~X(RDQ4V0bKws;a1} zief*7FaU5%(hOKP1ZHd$NpcBbk#in!uqaU0w0v0&sZ5UWcofq#5q6k%6l4g2Aq08y zD5)rkc!bH3zWsnQAN-RY&+P{wtEkgZVPFb@DFi|Y@_B3S0Xe5J!q5o@{1)&j@b|6o zGGJ%pmTg2P6GSExwrgvS^MY(9Zns1#Izeps8c%I)az47D9w2lp{GDfCI808_$mVhg z+o?G#EbCvmWr4%tK$2VtL#N2?%y(YC#GXBS0g7kCOM#ZnPi(ak=^SHI$(j6$SutOQ zq@v@*!#%8Bvr?_9uI9@VpHKhUtna#7THhqA=uSmZXYxD8xhZagOD-3NF!9T7Qpu!m z<%*Sbb#(#+3#GUW2(8~x&s0Jqn#|0pj61oOBo}HXPJHMp+nXBk$!=kWR#?xv!4ii{Bf-7ll&v1A7u=4nxv{xy|5G^1cqTC zOhGQEFd0u`nRA^hs!n)l0CU_=d9a+Snh+m-eAo$`0+K*ja(KMEHf?Fycl|fE-4UtR54cqk~kd=ykzPg^?UMgG}%4M0-7jg|`fV^|j!bPY` zj$qvedZI3F_7C8eJv>yqoK>M}ULFxV)7;G9;2?=ulte5_Y-*B*hK-!-xJ)RtoZru$ zRLNT>fmFdYfOMm;_sJXYzkXKo6vfsx?eaLluU0H|7$p^?A|s^bB>VQigyi)id)$-+ zil^_1_daCp>N*qyrXoWQ;LL2-g^4o^v{|MxIMVk=nPrNa=RHZMHqb|EJi<3=k9Bjx z(9U#p89$!ybh|xnihME+_3P=qeuG1=9u?VS^ef;B&||{^C`=-^UGEEkj&C0+4@Oke zS0TF`yRSqIKn2V-jm>hPq+ALH%aJ@@Q!~-p+uoJ)rm+vW3S0+fO0LlU29U6K?YI!r zc05?@%#Y^`tFFkE=*yWsz^N-2zFQA$04f2?Zu1X-xII7T%)a?%=;l?$(uvml7L?>H z%kyxlS8ljCmH>9!IrRe-fX`m90R6y-ZSp@Q0b^GitJEbPhyH8Bk_<2fJZ%pXFHmf! xaDn~qzU$6&z(HUX_*$Ay*Abuz2;55t{{!UdqH-zUjSBz(002ovPDHLkV1jP)TPOek diff --git a/helm/on-line/javascript/.cvsignore b/helm/on-line/javascript/.cvsignore deleted file mode 100644 index e268d4aeb..000000000 --- a/helm/on-line/javascript/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.js_xml diff --git a/helm/on-line/javascript/Makefile b/helm/on-line/javascript/Makefile deleted file mode 100644 index 874bf8674..000000000 --- a/helm/on-line/javascript/Makefile +++ /dev/null @@ -1,19 +0,0 @@ - -TARGETS = helmjsmenu.js_xml - -.SUFFIXES: -.SUFFIXES: .js .js_xml - -.js.js_xml: - @echo "" >$@ - @echo "" >>$@ - -all: $(TARGETS) - -clean: - rm -rf $(TARGETS) - diff --git a/helm/on-line/javascript/helmjsmenu.js b/helm/on-line/javascript/helmjsmenu.js deleted file mode 100644 index 0d7654315..000000000 --- a/helm/on-line/javascript/helmjsmenu.js +++ /dev/null @@ -1,58 +0,0 @@ -// Global variables. -var HJMmenu; - -function initializeMenu() { - HJMmenu = - document.getElementById ? - // A DOM browser - document.getElementById("HJMmenu").style - : // Probably Netscape Navigator 4.0 - document.HJMmenu; - HJMmenu.visibility="hidden"; -} - -function showMenu() { - HJMmenu.visibility="visible"; -} - -function hideMenu() { - HJMmenu.visibility="hidden"; -} - -function moveMenu(x,y) { - var y2 = y - 25; - var x2 = x - 25; - if (document.getElementById) { - // Not Netscape Navigator 4.0 - HJMmenu.left = x2 + "px"; - HJMmenu.top = y2 + "px"; - } else { - // Probably Netscape Navigator 4.0 - HJMmenu.left = x2; - HJMmenu.top = y2; - } -} - -function getX(event) { - if(!event.pageX) - // Probably Internet Explorer - return event.clientX + document.body.scrollLeft; - else - // Probably Netscape Navigator - return event.pageX; -} - -function getY(event) { - if(!event.pageY) - // Probably Internet Explorer - return event.clientY + document.body.scrollTop; - else - // Probably Netscape Navigator - return event.pageY; -} - -if (!document.getElementById) { - // Probably Netscape Navigator - document.captureEvents(Event.MOUSEDOWN); - document.onmousedown = hideMenu; -} diff --git a/helm/on-line/javascript/prelude.js b/helm/on-line/javascript/prelude.js deleted file mode 100644 index d89ae566d..000000000 --- a/helm/on-line/javascript/prelude.js +++ /dev/null @@ -1,178 +0,0 @@ -function getProfileId() -{ - return document.profile.elements[0].value; -} - -function getUwoboURL() -{ - return document.uwoboURL.elements[0].value; -} - -function getGetterURL() -{ - return document.getterURL.elements[0].value; -} - -function getProofCheckerURL() -{ - return document.proofcheckerURL.elements[0].value; -} - -function getSearchEngineURL() -{ - return document.searchengineURL.elements[0].value; -} - -function getDrawGraphURL() -{ - return document.draw_graphURL.elements[0].value; -} - -function getURISetQueueURL() -{ - return document.uri_set_queueURL.elements[0].value; -} - -function getRdflyURL() -{ - return document.rdflyURL.elements[0].value; -} - -function getInterfaceURL() -{ - return document.interfaceURL.elements[0].value; -} - -function getUNICODEvsSYMBOL() -{ - if (document.UNICODEvsSYMBOL.radioUNICODEvsSYMBOL[0].checked) - return 'symbol'; - else - return 'unicode'; -} - -function getNaturalLanguage() -{ - if (document.naturalLanguage.elements[0].checked) - return 'yes'; - else - return 'no'; -} - -function getMaxGraphSize() -{ - return document.maxGraphSize.elements[0].value; -} - -function getUpdateURL() -{ - return '¶m.processorURL=' + escape(getUwoboURL()) + - '¶m.getterURL=' + escape(getGetterURL()) + - '¶m.uri_set_queueURL=' + escape(getURISetQueueURL()) + - '¶m.draw_graphURL=' + escape(getDrawGraphURL()) + - '¶m.proofcheckerURL=' + escape(getProofCheckerURL()) + - '¶m.searchengineURL=' + escape(getSearchEngineURL()) + - '¶m.rdflyURL=' + escape(getRdflyURL()) + - '¶m.interfaceURL=' + escape(getInterfaceURL()) + - '¶m.naturalLanguage=' + escape(getNaturalLanguage()) + - '¶m.uri_set_size=' + escape(getMaxGraphSize()) + - '¶m.UNICODEvsSYMBOL=' + escape(getUNICODEvsSYMBOL()); -} - -function selectUwoboURL(ss) -{ - if (ss.selectedIndex == 0) { - document.uwoboURL.elements[0].value = ""; - } else { - document.uwoboURL.elements[0].value = "http://" + ss.options[ss.selectedIndex].value + ":58080/"; - } -} - -function selectGetterURL(ss) -{ - if (ss.selectedIndex == 0) { - document.getterURL.elements[0].value = ""; - } else { - document.getterURL.elements[0].value = "http://" + ss.options[ss.selectedIndex].value + ":58081/"; - } -} - -function selectProofCheckerURL(ss) -{ - if (ss.selectedIndex == 0) { - document.proofcheckerURL.elements[0].value = ""; - } else { - document.proofcheckerURL.elements[0].value = "http://" + ss.options[ss.selectedIndex].value + ":58084/"; - } -} - -function selectSearchEngineURL(ss) -{ - if (ss.selectedIndex == 0) { - document.searchengineURL.elements[0].value = ""; - } else { - document.searchengineURL.elements[0].value = "http://" + ss.options[ss.selectedIndex].value + ":58085/"; - } -} - -function selectDrawGraphURL(ss) -{ - if (ss.selectedIndex == 0) { - document.draw_graphURL.elements[0].value = ""; - } else { - document.draw_graphURL.elements[0].value = "http://" + ss.options[ss.selectedIndex].value + ":58083/"; - } -} - -function selectURISetQueueURL(ss) -{ - if (ss.selectedIndex == 0) { - document.uri_set_queueURL.elements[0].value = ""; - } else { - document.uri_set_queueURL.elements[0].value = "http://" + ss.options[ss.selectedIndex].value + ":58082/"; - } -} - -function selectRdflyURL(ss) -{ - if (ss.selectedIndex == 0) { - document.rdflyURL.elements[0].value = ""; - } else { - document.rdflyURL.elements[0].value = "http://" + ss.options[ss.selectedIndex].value + ":58086/"; - } -} - -function selectInterfaceURL(ss) -{ - if (ss.selectedIndex == 0) { - document.interfaceURL.elements[0].value = ""; - } else { - document.interfaceURL.elements[0].value = "http://helm.cs.unibo.it/helm"; - } -} - -function selectProfile(ss, interfaceURL) -{ - location = getUwoboURL() + - 'apply?keys=SPK¶m.processorURL=' + escape(getUwoboURL()) + - '¶m.profile=' + escape(ss.options[ss.selectedIndex].value) + - '&xmluri=' + escape(interfaceURL + 'html/configuration.html'); -} - -function saveProfile(origProfileId) -{ - var profileId = getProfileId(); - var exists = false; - var i; - var options = document.profileList.elements[0]; - for (i = 0; i < options.length; i++) - if (profileId == options[i].value) exists = true; - if (exists) { - if (confirm('Update the profile \'' + profileId + '\'?')) - location = getUwoboURL() + 'setparams?id=' + profileId + getUpdateURL(); - } else { - if (confirm('Create a new profile \'' + profileId + '\' with the current settings?')) - location = getUwoboURL() + 'createprofile?id=' + profileId + '&orig=' + origProfileId + getUpdateURL(); - } -} - diff --git a/helm/on-line/xslt/getParam.xsl b/helm/on-line/xslt/getParam.xsl deleted file mode 100644 index 0ec71a869..000000000 --- a/helm/on-line/xslt/getParam.xsl +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/on-line/xslt/ls2theory.xsl b/helm/on-line/xslt/ls2theory.xsl deleted file mode 100644 index 86eb20849..000000000 --- a/helm/on-line/xslt/ls2theory.xsl +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - -
      - - - - - - - - -
    - - -
    - - -
  • - - - - / -
  • -
    - - - - -
  • - - - -
  • -
    - -
  • - - - -
  • -
    -
    -
    - -
    diff --git a/helm/on-line/xslt/makeGraphLinks.xsl b/helm/on-line/xslt/makeGraphLinks.xsl deleted file mode 100644 index 4ee9dcc24..000000000 --- a/helm/on-line/xslt/makeGraphLinks.xsl +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - hideMenu(); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - lastX = getX(event); lastY = getY(event); selectedURI=''; selectedCICURL=''; selectedForwardURL=''; selectedBackwardURL=''; - javascript:moveMenu(lastX,lastY); showMenu(); - - - - - - diff --git a/helm/on-line/xslt/metadataControl.xsl b/helm/on-line/xslt/metadataControl.xsl deleted file mode 100644 index 059c0dbe5..000000000 --- a/helm/on-line/xslt/metadataControl.xsl +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - Metadata of <xsl:value-of select="$CICURI"/> - - - - - - - - - - - - - - - - - - - diff --git a/helm/on-line/xslt/resolve_topurl.xsl b/helm/on-line/xslt/resolve_topurl.xsl deleted file mode 100644 index c7f664374..000000000 --- a/helm/on-line/xslt/resolve_topurl.xsl +++ /dev/null @@ -1,285 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - .theory - .con - .ind - .var - .con.body - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    diff --git a/helm/on-line/xslt/search.xsl b/helm/on-line/xslt/search.xsl deleted file mode 100644 index 17fbee744..000000000 --- a/helm/on-line/xslt/search.xsl +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/on-line/xslt/substKey.xsl b/helm/on-line/xslt/substKey.xsl deleted file mode 100644 index a5acc094d..000000000 --- a/helm/on-line/xslt/substKey.xsl +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/on-line/xslt/toplevel_header.xsl b/helm/on-line/xslt/toplevel_header.xsl deleted file mode 100644 index 88650a5a7..000000000 --- a/helm/on-line/xslt/toplevel_header.xsl +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - - - - - - / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - / - - - - - - - - - - - - - - - [search] - - - - - - - - - - - diff --git a/helm/on-line/xslt/utils.xsl b/helm/on-line/xslt/utils.xsl deleted file mode 100644 index 9213c2436..000000000 --- a/helm/on-line/xslt/utils.xsl +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/on-line/xslt/xslt_index.txt b/helm/on-line/xslt/xslt_index.txt deleted file mode 100644 index 94ee0c595..000000000 --- a/helm/on-line/xslt/xslt_index.txt +++ /dev/null @@ -1,9 +0,0 @@ -getParam.xsl -ls2theory.xsl -makeGraphLinks.xsl -metadataControl.xsl -resolve_topurl.xsl -substKey.xsl -toplevel_header.xsl -utils.xsl -search.xsl diff --git a/helm/pacchetti/Makefile b/helm/pacchetti/Makefile deleted file mode 100644 index e47e23f45..000000000 --- a/helm/pacchetti/Makefile +++ /dev/null @@ -1,76 +0,0 @@ -all: helm_configuration helm_data helm_http_getter helm_xsltd helm_gtk_interface -clean: - rm -f helm_*.spec helm_*.tar.gz - -helm_configuration: prep_helm_configuration clean_helm_configuration - -prep_helm_configuration: - cvs export -D20100101 configuration - mv configuration/helm_configuration-0.0.1-1.spec . - (cd configuration ; autoconf) - mv configuration helm_configuration-0.0.1 - tar -zcvf helm_configuration-0.0.1-1.tar.gz helm_configuration-0.0.1 - -clean_helm_configuration: - rm -rf helm_configuration-0.0.1 - - - -helm_data: prep_helm_data clean_helm_data - -prep_helm_data: - cvs export -D20100101 helm_data - mv helm_data/helm_data-0.0.1-1.spec . - (cd helm_data ; cvs export -D20100101 dtd ; cvs export -D20100101 style ; autoconf) - mv helm_data helm_data-0.0.1 - tar -zcvf helm_data-0.0.1-1.tar.gz helm_data-0.0.1 - -clean_helm_data: - rm -rf helm_data-0.0.1 - - - -helm_http_getter: prep_helm_http_getter clean_helm_http_getter - -prep_helm_http_getter: - cvs export -D20100101 http_getter - mv http_getter/helm_http_getter-0.0.1-1.spec . - (cd http_getter ; autoconf) - mv http_getter helm_http_getter-0.0.1 - tar -zcvf helm_http_getter-0.0.1-1.tar.gz helm_http_getter-0.0.1 - -clean_helm_http_getter: - rm -rf helm_http_getter-0.0.1 - - - -helm_xsltd: prep_helm_xsltd clean_helm_xsltd - -prep_helm_xsltd: - cvs export -D20100101 xsltd - mv xsltd/helm_xsltd-0.0.1-1.spec . - (cd xsltd ; autoconf) - mv xsltd helm_xsltd-0.0.1 - tar -zcvf helm_xsltd-0.0.1-1.tar.gz helm_xsltd-0.0.1 - -clean_helm_xsltd: - rm -rf helm_xsltd-0.0.1 - - - -helm_gtk_interface: prep_helm_gtk_interface clean_helm_gtk_interface - -prep_helm_gtk_interface: - cvs export -D20100101 interface - mv interface/helm_gtk_interface-0.0.1-1.spec . - (cd interface ; autoconf) - mv interface helm_gtk_interface-0.0.1 - tar -zcvf helm_gtk_interface-0.0.1-1.tar.gz helm_gtk_interface-0.0.1 - -clean_helm_gtk_interface: - rm -rf helm_gtk_interface-0.0.1 - - - - -PHONY: all clean helm_configuration prep_helm_configuration clean_helm_configuration diff --git a/helm/papers/calculemus-2003/.cvsignore b/helm/papers/calculemus-2003/.cvsignore deleted file mode 100644 index 8f1b5b05a..000000000 --- a/helm/papers/calculemus-2003/.cvsignore +++ /dev/null @@ -1,4 +0,0 @@ -*.aux -*.dvi -*.log -*.ps diff --git a/helm/papers/calculemus-2003/Makefile b/helm/papers/calculemus-2003/Makefile deleted file mode 100644 index 0563097ab..000000000 --- a/helm/papers/calculemus-2003/Makefile +++ /dev/null @@ -1,95 +0,0 @@ - -# -# Generic makefile for latex -# -# Author: Stefano Zacchiroli -# -# Created: Sun, 29 Jun 2003 12:00:55 +0200 zack -# Last-Modified: Sun, 29 Jun 2003 12:00:55 +0200 zack -# - -######################################################################## - -# list of .tex _main_ files -TEXS = hbugs-calculemus-2003.tex - -# number of runs of latex (for table of contents, list of figures, ...) -RUNS = 3 - -# do you need bibtex? -BIBTEX = no - -# which formats generated by default ("all" target)? -# (others will be generated by "world" target) -FORMATS = $(AVAILABLE_FORMATS) -AVAILABLE_FORMATS = dvi ps ps.gz pdf - -######################################################################## - -ADVI = advi -BIBTEX = bibtex -BROWSER = galeon -DVIPDF = dvipdf -DVIPS = dvips -GV = gv -GZIP = gzip -HEVEA = hevea -ISPELL = ispell -LATEX = latex -XDVI = xdvi - -ALL_FORMATS = $(FORMATS) -WORLD_FORMATS = $(AVAILABLE_FORMATS) - -all: $(ALL_FORMATS) -world: $(WORLD_FORMATS) - -DVIS = $(TEXS:.tex=.dvi) -PSS = $(TEXS:.tex=.ps) -PSGZS = $(TEXS:.tex=.ps.gz) -PDFS = $(TEXS:.tex=.pdf) -HTMLS = $(TEXS:.tex=.html) - -dvi: $(DVIS) -ps: $(PSS) -ps.gz: $(PSGZS) -pdf: $(PDFS) -html: $(HTMLS) - -show: showps -showdvi: $(DVIS) - $(XDVI) $< -showps: $(PSS) - $(GV) $< -showpdf: $(PDFS) - $(GV) $< -showpsgz: $(PSGZS) - $(GV) $< -showhtml: $(HTMLS) - $(BROWSER) $< - -clean: - rm -f \ - $(TEXS:.tex=.dvi) $(TEXS:.tex=.ps) $(TEXS:.tex=.ps.gz) \ - $(TEXS:.tex=.pdf) $(TEXS:.tex=.aux) $(TEXS:.tex=.log) \ - $(TEXS:.tex=.html) - -%.dvi: %.tex - $(LATEX) $< - if [ "$(BIBTEX)" = "yes" ]; then $(BIBTEX) $*; fi - if [ "$(RUNS)" -gt 1 ]; then \ - for i in seq 1 `expr $(RUNS) - 1`; do \ - $(LATEX) $<; \ - done; \ - fi -%.ps: %.dvi - $(DVIPS) -o $@ $< -%.ps.gz: %.ps - $(GZIP) -c $< > $@ -%.pdf: %.dvi - $(DVIPDF) $< $@ -%.html: %.tex - $(HEVEA) $< - -.PHONY: all ps pdf html clean - diff --git a/helm/papers/calculemus-2003/draftstamp.sty b/helm/papers/calculemus-2003/draftstamp.sty deleted file mode 100644 index 6ac8e22e1..000000000 --- a/helm/papers/calculemus-2003/draftstamp.sty +++ /dev/null @@ -1,45 +0,0 @@ -% PostScript Draftstamp Style Option. -% -% $Log$ -% Revision 1.1 2003/05/22 16:05:12 sacerdot -% ed and draftstamp packages committed and activated -% -% Revision 1.1 2002/10/21 14:41:51 kohlhase -% more restructuring of definitions -% -% Revision 1.1 1999/04/28 16:21:57 kohlhase -% bla -% -% Revision 1.1 1998/10/01 10:54:41 kohlhase -% *** empty log message *** -% -% Revision 1.1 1998/01/05 10:53:56 mmueller -% blurb -% -% Revision 1.1 1997/05/05 17:15:35 tmueller -% fset wlp 97 paper -% -% Revision 1.1 1997/03/18 18:14:15 tmueller -% starting ilps version of cpi paper -% -% Revision 1.1 91/02/17 01:53:51 schwarze -% Initial revision -% - -\special{header=stamp.pro} - -\def\draftenglish{\special{! userdict begin /StampText (Draft) def - /StampDate (\number\day/\number\month/\number\year) def end}} - -\def\draftgerman{\special{! userdict begin /StampText (Entwurf) def - /StampDate (\number\day.\number\month.\number\year) def end}} - -\def\draftfrench{\special{! userdict begin /StampText (Concepte) def - /StampDate (\number\day.\number\month.\number\year) def end}} - -\ifcase\language - \draftenglish \or % US English - \draftgerman \or % German - \draftgerman \or % Austrian - \draftfrench \or % French - \draftenglish \fi % English diff --git a/helm/papers/calculemus-2003/ed.sty b/helm/papers/calculemus-2003/ed.sty deleted file mode 100644 index aec692cc6..000000000 --- a/helm/papers/calculemus-2003/ed.sty +++ /dev/null @@ -1,79 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% 22/05/2003: New command 'oldpart' introduced by % -% Claudio Sacerdoti Coen % -% (a new environment would have been better) % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Editorials -% -% the font shape of ednotes is governed by the parameter \ednoteshape -% the default is sans serif, specialize it to say italic by -% \def\ednoteshape{\it} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage{verbatim} -\def\ednoteshape{\sf} -\newif\ifshowednotes\showednotesfalse -\def\edshownotes{\showednotestrue} -\DeclareOption{show}{\showednotestrue} -\DeclareOption{hide}{\showednotesfalse} -\ProcessOptions - -\newcounter{ednote} -\def\ed@foot#1#2#3% text, type, label -{\def\test{#3}\def\empty{}\footnotetext[\value{ednote}]% -{{\sc{#2}\if\test\empty\else\label{ed:#3}[{#3}]\fi:} \ednoteshape #1}} -\def\ed@note#1#2#3% text, type, label -{\addtocounter{ednote}{1}\message{#2!}% -\ifshowednotes% -\footnotemark[\arabic{ednote}]\ed@foot{#1}{#2}{#3}% -\marginpar{#2(\arabic{ednote})}% -\fi} -\newcommand{\ednote}[2][]{\ed@note{#2}{EdNote}{#1}} -\newcommand{\issue}[2][]{\ed@note{#2}{Issue}{#1}} -\newenvironment{newpart}[1]% text -{\addtocounter{ednote}{1}\edef\new@number{\theednote}\message{New Part!\new@number} -\ifshowednotes\ed@foot{#1}{New Part}{}\marginpar{BegNP(\new@number)}\fi} -{\ifshowednotes\marginpar{EndNP(\new@number)}\fi} - -\def\ednotemessage{\ifnum\value{ednote}>0\typeout{}% -\typeout{There are still \arabic{ednote} EdNotes and Issues to resolve!}% -\typeout{}\fi} - -\ifshowednotes -\def\todolist#1{\message{todolist!}% -{{\sf To Do: #1}}\bgroup\sf\marginpar{{\sf ToDo}}\begin{itemize}} -\def\endtodolist{\end{itemize}\egroup} -\else\def\todolist#1{\comment}\def\endtodolist{\endcomment}\fi - -\newenvironment{neu}{\begin{newpart}{no explanation given}}{\end{newpart}} - -\def\tweak#1{\ifshowednotes\marginpar{{\sf tweak}(#1)}\fi} - -\newcommand{\oldpart}[2]% motivation text -{\addtocounter{ednote}{1}\edef\new@number{\theednote}\message{Old Part!\new@number} -\ifshowednotes\ed@foot{#1}{Old Part}{}\marginpar{OldPart~Missing(\new@number)}\fi} - -\def\ednotemessage{\ifnum\value{ednote}>0\typeout{}% -\typeout{There are still \arabic{ednote} EdNotes and Issues to resolve!}% -\typeout{}\fi} - -\def\df#1{\bf{#1}} -\def\dfi#1{\bf{\index*{#1}}} -\def\defemph{\textbf} -\def\defin#1{\defemph{\index*{#1}}} -\def\defins#1{\defemph{#1s}\index{#1}} -\def\emin#1{\em{\index*{#1}}\/} -\def\emins#1{{\em{#1s}\/}\index{#1}} -\def\edin#1{\index*{#1}} -\def\edins#1{\index*{#1}s} -\def\ttin#1{{\tt{#1}}\index{#1@{\tt{#1}}}} -\def\ttins#1{{\tt{#1}}s\index{#1@{\tt{#1}}}} - -\newenvironment{myfig}[2]% -{\begin{figure}[!htb]\def\myfiglabel{#1}\def\myfigcaption{{#2}}\begin{center}} -{\caption{\myfigcaption}\label{fig:\myfiglabel}\end{center}\end{figure}} -\def\myfigref#1{Figure~\ref{fig:#1}} -\def\myfigsref#1#2{Figures~\ref{fig:#1} and~\ref{fig:#2}} -\def\myfiglref#1#2{Figures~\ref{fig:#1} to~\ref{fig:#2}} -\def\Myfigref#1{Figure~\ref{fig:#1}} % this one is capitalized for sentence beginnings diff --git a/helm/papers/calculemus-2003/eps/arch.dia b/helm/papers/calculemus-2003/eps/arch.dia deleted file mode 100644 index 837f37e3aa9aabbb041dc628c1816f9f96d15dbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1938 zcmV;D2W|KtiwFP!000001MQqkbK5o$$M5+R9Ocr^*btrs8O6>dok?@(BQtfUM-4^7 z5*vzCNy>_Q=x6T&l4V(<972Ze*rsRvkZGu~iMSjvF2=_dd z$3>FnXCIG)-n-LRZ<9271E1qEntE_XUg=jSy-8iq-t_y6#R6rQRa6%x%F;Qi zRR6yy%c4H~QNMS(d3F-j(ef8jU6<)-UMnw;rs||OisCQhvY6+|>WsL^iqgA?vXkEH zbMw*bpT6ziIJeobYdl~hO?rq%P6f^mPSR9sVH9>tIN4+YpRN) z4CZ5JK%}jK^R%vurcsFc{0P5Z~v4PiVa?<-9 z@3}NE2b#OO@L93G?UW&YL?jB@PN23l8m(O^uA_XMskJf2snqtQ7|;L_|A=Blg>3B~ zDpS*8T$K5m&UYECv1Yt~$M-psm`Y(~X`<5cq;8-e$C9+Z#A;G3hC9pL!3aFh(%EoQ zl$EwrVfwftbBu#+EhzTYHYip-gU+X=Z-Z->#tIcY?wU&Q6{xBa` zuj)C(DF>|T=Wv@>7WI$bc{EM4%adMQ%*#~kTP=ECRbOgB2cXO4SwAh09)BpZr0q5D zaW~xF|C=Q*K%E4H6u@`px3y*Bu!finn~%0uV7VUWQ?R;4&5oNLH@8*fBVxEIK&2fw4L7MZHwgmH!51go zB*-`1gzvyjA8}t}jyU6{?O;1@cHHc^xve6Ou;C^Jl|E~3{-)|hQGNkx{;U8fa07oW z@)V}s`{A#&o_K!%ypkUqFv@H(dJO(-DmO=jxgaUnB`6FSV;xbS6j9?W1!2ELq+;Y_P^ZwbsE_dribWH3p5`inAB$L3 zRRc@8ElYi!95dvEqdwA;!Vm?5!qf;Enkf=a_-Q-PTi6+(0Lvh76ODGMrH9u zy~t1$ayg1wsFTDlf7h@Swy-1tVn+dzHoJzm0Tb*|ox+1j4kibbA?)j%+u5ekAtUbc z_>P`k9>1N(L)5AB_)u>f3I2@vY4Y@_OaPzn%eVoXzBM)x)tNPSf=ooXkW@pGPz-@4 zL5vD+DxbK0W*rxKK2&*PM){2)?^{MKg3)+hUZ`P`R&Xh?+HuZfUBacLJy-K&7?owQ z*zpHuZDN?IeB6L~3&C95YF;&NF{S4LCK&vy+Wv(%0YB6{AU&@xOm5>{9|c8j^rCDS zY3{v&W7Zdg69ULx@inb+rt z`@kCaSAZ051VNAxm;~CM;G7Ihd>jV4g#&Zx4*6Td-dPb$JveZOd?~2k5xUtio*mpE-eDfxaGiAB zk_(8Nr}%eV81@N)+(8I|6t1KobXAZ-f-B^J5^b65cL-Vge><^|!fN1+?LZWTxP2Ex zCx$zVA#5QA`Y>Xk2a7>>_PW!8F~~xu%jF@g20AQ<1R-=Tg{xsVHWUjaJ0(15^p9Ie zfjo>9*uhc|2vcWT;JRgrLueHG1KnsAn52P-P&(JbdfdBWkW84MnM0D^>EYq@Kw9Vl z-#ka$PXbM>+fIUIGn|gDo&59NhCM0<>sJIl#$MSyC(qlt^CPFthfL+uPMi0sKpe0t zm==3CJ7XOA!ps62Ktv>s<*?f`c+eIb+X;Q1Lhui0tXU?PPJ|$h5U8%DLO7&_z#gZP z`htaEJE6~02-cg)6eE*(x)DN%0+S$s5Gbq#(){;cCxi#?8?u|w=P3mHP2>;>XOHI4 z$*HkMK?oQLX?EH=Aw1}cU^}7Dv6q5`2Rv$FSzif}kA<7fHHNUnL{lkXzOJGM7@KF+ z5J6lOjvB_j?GO-@VPV%M@~x%{im)$&u8;24I?`56NVX^=ZI_97 zr0Q#T4Iyigh|?nonQ+&C@qjCY?OZ;~<_l{7G#&)LN)d7LPzhKAwBzf>Q!2DsXWMF< z!`$h-vAcq9_rL*b?YDEWLq`h`(S9ZXwiGdA*MAh)o}GR6O7+iNRre0v;CqCw?WBJH Y(Cx1uH+l0}l&7!$2didDjOtea09VPpvj6}9 diff --git a/helm/papers/calculemus-2003/eps/arch.eps b/helm/papers/calculemus-2003/eps/arch.eps deleted file mode 100644 index 499761f17..000000000 --- a/helm/papers/calculemus-2003/eps/arch.eps +++ /dev/null @@ -1,5109 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: eps/arch.dia -%%Creator: Dia v0.91 -%%CreationDate: Fri May 23 10:44:24 2003 -%%For: zack -%%Orientation: Portrait -%%Magnification: 1.0000 -%%BoundingBox: 0 0 823 402 -%%BeginSetup -%%EndSetup -%%EndComments -%%BeginProlog -[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright -/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one -/two /three /four /five /six /seven /eight /nine /colon /semicolon -/less /equal /greater /question /at /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 /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /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 /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright -/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior -/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf -/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla -/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde -/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex -/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring -/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis -/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave -/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def -/cp {closepath} bind def -/c {curveto} bind def -/f {fill} bind def -/a {arc} bind def -/ef {eofill} bind def -/ex {exch} 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 pop} bind def -/tr {translate} bind def - -/ellipsedict 8 dict def -ellipsedict /mtrx matrix put -/ellipse -{ ellipsedict begin - /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 - savematrix setmatrix - end -} def - -/mergeprocs { -dup length -3 -1 roll -dup -length -dup -5 1 roll -3 -1 roll -add -array cvx -dup -3 -1 roll -0 exch -putinterval -dup -4 2 roll -putinterval -} bind def -/dpi_x 300 def -/dpi_y 300 def -/conicto { - /to_y exch def - /to_x exch def - /conic_cntrl_y exch def - /conic_cntrl_x exch def - currentpoint - /p0_y exch def - /p0_x exch def - /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def - /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def - /p2_x p1_x to_x p0_x sub 1 3 div mul add def - /p2_y p1_y to_y p0_y sub 1 3 div mul add def - p1_x p1_y p2_x p2_y to_x to_y curveto -} bind def -/start_ol { gsave 1.1 dpi_x div dup scale} bind def -/end_ol { closepath fill grestore } bind def -28.346000 -28.346000 scale -0.441525 -22.900000 translate -%%EndProlog - - -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 24.071821 17.800000 m 27.430929 17.800000 l 28.102750 19.003555 l 27.430929 20.207110 l 24.071821 20.207110 l 23.400000 19.003555 l 24.071821 17.800000 l f -0.000000 0.000000 0.000000 srgb -n 24.071821 17.800000 m 27.430929 17.800000 l 28.102750 19.003555 l 27.430929 20.207110 l 24.071821 20.207110 l 23.400000 19.003555 l 24.071821 17.800000 l s -gsave 24.680342 18.753555 translate 0.035278 -0.035278 scale -start_ol -1920 1152 moveto -896 1152 lineto -896 448 lineto -960 448 lineto -1138 448 lineto -1280 328 lineto -1280 224 lineto -1280 120 lineto -1138 0 lineto -960 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 2176 lineto -270 2176 lineto -128 2296 lineto -128 2400 lineto -128 2504 lineto -270 2624 lineto -448 2624 lineto -960 2624 lineto -1138 2624 lineto -1280 2504 lineto -1280 2400 lineto -1280 2296 lineto -1138 2176 lineto -960 2176 lineto -896 2176 lineto -896 1600 lineto -1920 1600 lineto -1920 2176 lineto -1856 2176 lineto -1678 2176 lineto -1536 2296 lineto -1536 2400 lineto -1536 2504 lineto -1678 2624 lineto -1856 2624 lineto -2368 2624 lineto -2546 2624 lineto -2688 2504 lineto -2688 2400 lineto -2688 2296 lineto -2546 2176 lineto -2368 2176 lineto -2368 448 lineto -2546 448 lineto -2546 448 lineto -2688 328 lineto -2688 224 lineto -2688 120 lineto -2546 0 lineto -2368 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1920 448 lineto -1920 1152 lineto -end_ol grestore -gsave 25.044408 18.753555 translate 0.035278 -0.035278 scale -start_ol -2368 1088 moveto -384 1088 lineto -384 1536 lineto -2368 1536 lineto -2368 1088 lineto -end_ol grestore -gsave 25.408475 18.753555 translate 0.035278 -0.035278 scale -start_ol -448 448 moveto -448 2176 lineto -384 2176 lineto -206 2176 lineto -64 2296 lineto -64 2400 lineto -64 2504 lineto -206 2624 lineto -384 2624 lineto -1526 2624 lineto -1935 2624 2183 2414 conicto -2432 2204 2432 1914 conicto -2432 1777 2369 1656 conicto -2306 1535 2176 1432 conicto -2401 1301 2512 1125 conicto -2624 950 2624 727 conicto -2624 551 2546 399 conicto -2489 283 2404 216 conicto -2291 120 2127 60 conicto -1963 0 1718 0 conicto -384 0 lineto -206 0 lineto -64 120 lineto -64 224 lineto -64 328 lineto -206 448 lineto -384 448 lineto -448 448 lineto -896 1600 moveto -1407 1600 lineto -1681 1600 1862 1718 conicto -1984 1797 1984 1915 conicto -1984 2020 1868 2098 conicto -1753 2176 1501 2176 conicto -896 2176 lineto -896 1600 lineto -896 448 moveto -1692 448 lineto -1973 448 2088 536 conicto -2176 602 2176 724 conicto -2176 870 2002 1011 conicto -1829 1152 1506 1152 conicto -896 1152 lineto -896 448 lineto -end_ol grestore -gsave 25.772542 18.753555 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 26.136608 18.753555 translate 0.035278 -0.035278 scale -start_ol -1856 1856 moveto -1856 1984 lineto -2368 1984 lineto -2546 1984 lineto -2688 1864 lineto -2688 1760 lineto -2688 1656 lineto -2546 1536 lineto -2368 1536 lineto -2304 1536 lineto -2304 -68 lineto -2304 -301 2201 -474 conicto -2099 -647 1887 -771 conicto -1675 -896 1408 -896 conicto -885 -896 lineto -718 -896 647 -834 conicto -576 -772 576 -673 conicto -576 -572 648 -510 conicto -720 -448 889 -448 conicto -1406 -448 lineto -1620 -448 1738 -343 conicto -1856 -238 1856 -78 conicto -1856 127 lineto -1704 31 1547 -16 conicto -1390 -64 1224 -64 conicto -757 -64 442 240 conicto -128 544 128 991 conicto -128 1440 442 1744 conicto -757 2048 1224 2048 conicto -1398 2048 1555 2000 conicto -1713 1952 1856 1856 conicto -1856 992 moveto -1856 1239 1667 1419 conicto -1479 1600 1216 1600 conicto -953 1600 764 1419 conicto -576 1239 576 992 conicto -576 743 764 563 conicto -953 384 1216 384 conicto -1479 384 1667 563 conicto -1856 743 1856 992 conicto -end_ol grestore -gsave 26.500675 18.753555 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave 24.849675 19.553555 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 25.213742 19.553555 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 25.577808 19.553555 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 25.941875 19.553555 translate 0.035278 -0.035278 scale -start_ol -2560 961 moveto -2560 704 2413 463 conicto -2267 222 1978 79 conicto -1689 -64 1375 -64 conicto -1062 -64 776 76 conicto -491 217 341 459 conicto -192 702 192 966 conicto -192 1234 344 1492 conicto -496 1751 780 1899 conicto -1064 2048 1375 2048 conicto -1687 2048 1976 1896 conicto -2265 1744 2412 1488 conicto -2560 1232 2560 961 conicto -2112 959 moveto -2112 1175 1951 1356 conicto -1732 1600 1374 1600 conicto -1060 1600 850 1406 conicto -640 1212 640 957 conicto -640 748 852 566 conicto -1065 384 1374 384 conicto -1687 384 1899 566 conicto -2112 748 2112 959 conicto -end_ol grestore -gsave 26.305942 19.553555 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 24.471821 14.500000 m 27.830929 14.500000 l 28.502750 15.703555 l 27.830929 16.907110 l 24.471821 16.907110 l 23.800000 15.703555 l 24.471821 14.500000 l f -0.000000 0.000000 0.000000 srgb -n 24.471821 14.500000 m 27.830929 14.500000 l 28.502750 15.703555 l 27.830929 16.907110 l 24.471821 16.907110 l 23.800000 15.703555 l 24.471821 14.500000 l s -gsave 25.080342 15.453555 translate 0.035278 -0.035278 scale -start_ol -1920 1152 moveto -896 1152 lineto -896 448 lineto -960 448 lineto -1138 448 lineto -1280 328 lineto -1280 224 lineto -1280 120 lineto -1138 0 lineto -960 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 2176 lineto -270 2176 lineto -128 2296 lineto -128 2400 lineto -128 2504 lineto -270 2624 lineto -448 2624 lineto -960 2624 lineto -1138 2624 lineto -1280 2504 lineto -1280 2400 lineto -1280 2296 lineto -1138 2176 lineto -960 2176 lineto -896 2176 lineto -896 1600 lineto -1920 1600 lineto -1920 2176 lineto -1856 2176 lineto -1678 2176 lineto -1536 2296 lineto -1536 2400 lineto -1536 2504 lineto -1678 2624 lineto -1856 2624 lineto -2368 2624 lineto -2546 2624 lineto -2688 2504 lineto -2688 2400 lineto -2688 2296 lineto -2546 2176 lineto -2368 2176 lineto -2368 448 lineto -2546 448 lineto -2546 448 lineto -2688 328 lineto -2688 224 lineto -2688 120 lineto -2546 0 lineto -2368 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1920 448 lineto -1920 1152 lineto -end_ol grestore -gsave 25.444408 15.453555 translate 0.035278 -0.035278 scale -start_ol -2368 1088 moveto -384 1088 lineto -384 1536 lineto -2368 1536 lineto -2368 1088 lineto -end_ol grestore -gsave 25.808475 15.453555 translate 0.035278 -0.035278 scale -start_ol -448 448 moveto -448 2176 lineto -384 2176 lineto -206 2176 lineto -64 2296 lineto -64 2400 lineto -64 2504 lineto -206 2624 lineto -384 2624 lineto -1526 2624 lineto -1935 2624 2183 2414 conicto -2432 2204 2432 1914 conicto -2432 1777 2369 1656 conicto -2306 1535 2176 1432 conicto -2401 1301 2512 1125 conicto -2624 950 2624 727 conicto -2624 551 2546 399 conicto -2489 283 2404 216 conicto -2291 120 2127 60 conicto -1963 0 1718 0 conicto -384 0 lineto -206 0 lineto -64 120 lineto -64 224 lineto -64 328 lineto -206 448 lineto -384 448 lineto -448 448 lineto -896 1600 moveto -1407 1600 lineto -1681 1600 1862 1718 conicto -1984 1797 1984 1915 conicto -1984 2020 1868 2098 conicto -1753 2176 1501 2176 conicto -896 2176 lineto -896 1600 lineto -896 448 moveto -1692 448 lineto -1973 448 2088 536 conicto -2176 602 2176 724 conicto -2176 870 2002 1011 conicto -1829 1152 1506 1152 conicto -896 1152 lineto -896 448 lineto -end_ol grestore -gsave 26.172542 15.453555 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 26.536608 15.453555 translate 0.035278 -0.035278 scale -start_ol -1856 1856 moveto -1856 1984 lineto -2368 1984 lineto -2546 1984 lineto -2688 1864 lineto -2688 1760 lineto -2688 1656 lineto -2546 1536 lineto -2368 1536 lineto -2304 1536 lineto -2304 -68 lineto -2304 -301 2201 -474 conicto -2099 -647 1887 -771 conicto -1675 -896 1408 -896 conicto -885 -896 lineto -718 -896 647 -834 conicto -576 -772 576 -673 conicto -576 -572 648 -510 conicto -720 -448 889 -448 conicto -1406 -448 lineto -1620 -448 1738 -343 conicto -1856 -238 1856 -78 conicto -1856 127 lineto -1704 31 1547 -16 conicto -1390 -64 1224 -64 conicto -757 -64 442 240 conicto -128 544 128 991 conicto -128 1440 442 1744 conicto -757 2048 1224 2048 conicto -1398 2048 1555 2000 conicto -1713 1952 1856 1856 conicto -1856 992 moveto -1856 1239 1667 1419 conicto -1479 1600 1216 1600 conicto -953 1600 764 1419 conicto -576 1239 576 992 conicto -576 743 764 563 conicto -953 384 1216 384 conicto -1479 384 1667 563 conicto -1856 743 1856 992 conicto -end_ol grestore -gsave 26.900675 15.453555 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave 25.249675 16.253555 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 25.613742 16.253555 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 25.977808 16.253555 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 26.341875 16.253555 translate 0.035278 -0.035278 scale -start_ol -2560 961 moveto -2560 704 2413 463 conicto -2267 222 1978 79 conicto -1689 -64 1375 -64 conicto -1062 -64 776 76 conicto -491 217 341 459 conicto -192 702 192 966 conicto -192 1234 344 1492 conicto -496 1751 780 1899 conicto -1064 2048 1375 2048 conicto -1687 2048 1976 1896 conicto -2265 1744 2412 1488 conicto -2560 1232 2560 961 conicto -2112 959 moveto -2112 1175 1951 1356 conicto -1732 1600 1374 1600 conicto -1060 1600 850 1406 conicto -640 1212 640 957 conicto -640 748 852 566 conicto -1065 384 1374 384 conicto -1687 384 1899 566 conicto -2112 748 2112 959 conicto -end_ol grestore -gsave 26.705942 16.253555 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 22.371821 11.700000 m 25.730929 11.700000 l 26.402750 12.903555 l 25.730929 14.107110 l 22.371821 14.107110 l 21.700000 12.903555 l 22.371821 11.700000 l f -0.000000 0.000000 0.000000 srgb -n 22.371821 11.700000 m 25.730929 11.700000 l 26.402750 12.903555 l 25.730929 14.107110 l 22.371821 14.107110 l 21.700000 12.903555 l 22.371821 11.700000 l s -gsave 22.980342 12.653555 translate 0.035278 -0.035278 scale -start_ol -1920 1152 moveto -896 1152 lineto -896 448 lineto -960 448 lineto -1138 448 lineto -1280 328 lineto -1280 224 lineto -1280 120 lineto -1138 0 lineto -960 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 2176 lineto -270 2176 lineto -128 2296 lineto -128 2400 lineto -128 2504 lineto -270 2624 lineto -448 2624 lineto -960 2624 lineto -1138 2624 lineto -1280 2504 lineto -1280 2400 lineto -1280 2296 lineto -1138 2176 lineto -960 2176 lineto -896 2176 lineto -896 1600 lineto -1920 1600 lineto -1920 2176 lineto -1856 2176 lineto -1678 2176 lineto -1536 2296 lineto -1536 2400 lineto -1536 2504 lineto -1678 2624 lineto -1856 2624 lineto -2368 2624 lineto -2546 2624 lineto -2688 2504 lineto -2688 2400 lineto -2688 2296 lineto -2546 2176 lineto -2368 2176 lineto -2368 448 lineto -2546 448 lineto -2546 448 lineto -2688 328 lineto -2688 224 lineto -2688 120 lineto -2546 0 lineto -2368 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1920 448 lineto -1920 1152 lineto -end_ol grestore -gsave 23.344408 12.653555 translate 0.035278 -0.035278 scale -start_ol -2368 1088 moveto -384 1088 lineto -384 1536 lineto -2368 1536 lineto -2368 1088 lineto -end_ol grestore -gsave 23.708475 12.653555 translate 0.035278 -0.035278 scale -start_ol -448 448 moveto -448 2176 lineto -384 2176 lineto -206 2176 lineto -64 2296 lineto -64 2400 lineto -64 2504 lineto -206 2624 lineto -384 2624 lineto -1526 2624 lineto -1935 2624 2183 2414 conicto -2432 2204 2432 1914 conicto -2432 1777 2369 1656 conicto -2306 1535 2176 1432 conicto -2401 1301 2512 1125 conicto -2624 950 2624 727 conicto -2624 551 2546 399 conicto -2489 283 2404 216 conicto -2291 120 2127 60 conicto -1963 0 1718 0 conicto -384 0 lineto -206 0 lineto -64 120 lineto -64 224 lineto -64 328 lineto -206 448 lineto -384 448 lineto -448 448 lineto -896 1600 moveto -1407 1600 lineto -1681 1600 1862 1718 conicto -1984 1797 1984 1915 conicto -1984 2020 1868 2098 conicto -1753 2176 1501 2176 conicto -896 2176 lineto -896 1600 lineto -896 448 moveto -1692 448 lineto -1973 448 2088 536 conicto -2176 602 2176 724 conicto -2176 870 2002 1011 conicto -1829 1152 1506 1152 conicto -896 1152 lineto -896 448 lineto -end_ol grestore -gsave 24.072542 12.653555 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 24.436608 12.653555 translate 0.035278 -0.035278 scale -start_ol -1856 1856 moveto -1856 1984 lineto -2368 1984 lineto -2546 1984 lineto -2688 1864 lineto -2688 1760 lineto -2688 1656 lineto -2546 1536 lineto -2368 1536 lineto -2304 1536 lineto -2304 -68 lineto -2304 -301 2201 -474 conicto -2099 -647 1887 -771 conicto -1675 -896 1408 -896 conicto -885 -896 lineto -718 -896 647 -834 conicto -576 -772 576 -673 conicto -576 -572 648 -510 conicto -720 -448 889 -448 conicto -1406 -448 lineto -1620 -448 1738 -343 conicto -1856 -238 1856 -78 conicto -1856 127 lineto -1704 31 1547 -16 conicto -1390 -64 1224 -64 conicto -757 -64 442 240 conicto -128 544 128 991 conicto -128 1440 442 1744 conicto -757 2048 1224 2048 conicto -1398 2048 1555 2000 conicto -1713 1952 1856 1856 conicto -1856 992 moveto -1856 1239 1667 1419 conicto -1479 1600 1216 1600 conicto -953 1600 764 1419 conicto -576 1239 576 992 conicto -576 743 764 563 conicto -953 384 1216 384 conicto -1479 384 1667 563 conicto -1856 743 1856 992 conicto -end_ol grestore -gsave 24.800675 12.653555 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave 23.149675 13.453555 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 23.513742 13.453555 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 23.877808 13.453555 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 24.241875 13.453555 translate 0.035278 -0.035278 scale -start_ol -2560 961 moveto -2560 704 2413 463 conicto -2267 222 1978 79 conicto -1689 -64 1375 -64 conicto -1062 -64 776 76 conicto -491 217 341 459 conicto -192 702 192 966 conicto -192 1234 344 1492 conicto -496 1751 780 1899 conicto -1064 2048 1375 2048 conicto -1687 2048 1976 1896 conicto -2265 1744 2412 1488 conicto -2560 1232 2560 961 conicto -2112 959 moveto -2112 1175 1951 1356 conicto -1732 1600 1374 1600 conicto -1060 1600 850 1406 conicto -640 1212 640 957 conicto -640 748 852 566 conicto -1065 384 1374 384 conicto -1687 384 1899 566 conicto -2112 748 2112 959 conicto -end_ol grestore -gsave 24.605942 13.453555 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n -0.399999 12.999999 m -0.399999 14.512710 l 1.616949 14.512710 l 1.616949 12.999999 l f -0.000000 0.000000 0.000000 srgb -n -0.399999 12.999999 m -0.399999 14.512710 l 1.616949 14.512710 l 1.616949 12.999999 l cp s -0.100000 slw -0 slc -0 slj -[] 0 sd -n -0.181496 13.218502 m -0.181496 14.260591 l 1.398446 14.260591 l 1.398446 13.218502 l f -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n -0.126871 14.512710 m 0.911017 14.512710 l 0.911017 14.748020 l -0.072245 14.748020 l f -0.000000 0.000000 0.000000 srgb -n -0.126871 14.512710 m 0.911017 14.512710 l 0.911017 14.748020 l -0.072245 14.748020 l cp s -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 0.911017 14.512710 m 1.343821 14.512710 l 1.289195 14.748020 l 0.911017 14.748020 l f -0.000000 0.000000 0.000000 srgb -n 0.911017 14.512710 m 1.343821 14.512710 l 1.289195 14.748020 l 0.911017 14.748020 l cp s -0.025000 slw -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 0.981610 14.583303 m 0.981610 14.677427 l 1.075735 14.677427 l 1.075735 14.583303 l f -0.000000 0.000000 0.000000 srgb -n 0.981610 14.583303 m 0.981610 14.677427 l 1.075735 14.677427 l 1.075735 14.583303 l cp s -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 0.406780 14.748020 m 0.810170 14.748020 l 0.810170 14.865676 l 1.011865 14.865676 l 1.011865 14.983331 l 0.205085 14.983331 l 0.205085 14.865676 l 0.406780 14.865676 l f -0.000000 0.000000 0.000000 srgb -n 0.406780 14.748020 m 0.810170 14.748020 l 0.810170 14.865676 l 1.011865 14.865676 l 1.011865 14.983331 l 0.205085 14.983331 l 0.205085 14.865676 l 0.406780 14.865676 l cp s -gsave -0.462558 15.600563 translate 0.035278 -0.035278 scale -start_ol -1920 1152 moveto -896 1152 lineto -896 448 lineto -960 448 lineto -1138 448 lineto -1280 328 lineto -1280 224 lineto -1280 120 lineto -1138 0 lineto -960 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 2176 lineto -270 2176 lineto -128 2296 lineto -128 2400 lineto -128 2504 lineto -270 2624 lineto -448 2624 lineto -960 2624 lineto -1138 2624 lineto -1280 2504 lineto -1280 2400 lineto -1280 2296 lineto -1138 2176 lineto -960 2176 lineto -896 2176 lineto -896 1600 lineto -1920 1600 lineto -1920 2176 lineto -1856 2176 lineto -1678 2176 lineto -1536 2296 lineto -1536 2400 lineto -1536 2504 lineto -1678 2624 lineto -1856 2624 lineto -2368 2624 lineto -2546 2624 lineto -2688 2504 lineto -2688 2400 lineto -2688 2296 lineto -2546 2176 lineto -2368 2176 lineto -2368 448 lineto -2546 448 lineto -2546 448 lineto -2688 328 lineto -2688 224 lineto -2688 120 lineto -2546 0 lineto -2368 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1920 448 lineto -1920 1152 lineto -end_ol grestore -gsave -0.098492 15.600563 translate 0.035278 -0.035278 scale -start_ol -2368 1088 moveto -384 1088 lineto -384 1536 lineto -2368 1536 lineto -2368 1088 lineto -end_ol grestore -gsave 0.265575 15.600563 translate 0.035278 -0.035278 scale -start_ol -448 448 moveto -448 2176 lineto -384 2176 lineto -206 2176 lineto -64 2296 lineto -64 2400 lineto -64 2504 lineto -206 2624 lineto -384 2624 lineto -1526 2624 lineto -1935 2624 2183 2414 conicto -2432 2204 2432 1914 conicto -2432 1777 2369 1656 conicto -2306 1535 2176 1432 conicto -2401 1301 2512 1125 conicto -2624 950 2624 727 conicto -2624 551 2546 399 conicto -2489 283 2404 216 conicto -2291 120 2127 60 conicto -1963 0 1718 0 conicto -384 0 lineto -206 0 lineto -64 120 lineto -64 224 lineto -64 328 lineto -206 448 lineto -384 448 lineto -448 448 lineto -896 1600 moveto -1407 1600 lineto -1681 1600 1862 1718 conicto -1984 1797 1984 1915 conicto -1984 2020 1868 2098 conicto -1753 2176 1501 2176 conicto -896 2176 lineto -896 1600 lineto -896 448 moveto -1692 448 lineto -1973 448 2088 536 conicto -2176 602 2176 724 conicto -2176 870 2002 1011 conicto -1829 1152 1506 1152 conicto -896 1152 lineto -896 448 lineto -end_ol grestore -gsave 0.629642 15.600563 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 0.993708 15.600563 translate 0.035278 -0.035278 scale -start_ol -1856 1856 moveto -1856 1984 lineto -2368 1984 lineto -2546 1984 lineto -2688 1864 lineto -2688 1760 lineto -2688 1656 lineto -2546 1536 lineto -2368 1536 lineto -2304 1536 lineto -2304 -68 lineto -2304 -301 2201 -474 conicto -2099 -647 1887 -771 conicto -1675 -896 1408 -896 conicto -885 -896 lineto -718 -896 647 -834 conicto -576 -772 576 -673 conicto -576 -572 648 -510 conicto -720 -448 889 -448 conicto -1406 -448 lineto -1620 -448 1738 -343 conicto -1856 -238 1856 -78 conicto -1856 127 lineto -1704 31 1547 -16 conicto -1390 -64 1224 -64 conicto -757 -64 442 240 conicto -128 544 128 991 conicto -128 1440 442 1744 conicto -757 2048 1224 2048 conicto -1398 2048 1555 2000 conicto -1713 1952 1856 1856 conicto -1856 992 moveto -1856 1239 1667 1419 conicto -1479 1600 1216 1600 conicto -953 1600 764 1419 conicto -576 1239 576 992 conicto -576 743 764 563 conicto -953 384 1216 384 conicto -1479 384 1667 563 conicto -1856 743 1856 992 conicto -end_ol grestore -gsave 1.357775 15.600563 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave -0.479492 16.400563 translate 0.035278 -0.035278 scale -start_ol -2145 1920 moveto -2232 1984 2323 1984 conicto -2427 1984 2493 1914 conicto -2560 1844 2560 1682 conicto -2560 1390 lineto -2560 1225 2493 1156 conicto -2427 1088 2318 1088 conicto -2221 1088 2152 1142 conicto -2103 1182 2075 1306 conicto -2047 1431 1940 1536 conicto -1749 1600 1454 1600 conicto -1115 1600 909 1415 conicto -704 1230 704 948 conicto -704 687 901 535 conicto -1098 384 1555 384 conicto -1855 384 2045 440 conicto -2157 474 2257 557 conicto -2358 640 2426 640 conicto -2507 640 2565 572 conicto -2624 505 2624 414 conicto -2624 267 2414 134 conicto -2102 -64 1502 -64 conicto -962 -64 662 152 conicto -256 442 256 945 conicto -256 1422 592 1735 conicto -929 2048 1469 2048 conicto -1666 2048 1834 2016 conicto -2002 1984 2145 1920 conicto -end_ol grestore -gsave -0.115425 16.400563 translate 0.035278 -0.035278 scale -start_ol -1600 2816 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 2368 lineto -768 2368 lineto -590 2368 lineto -448 2488 lineto -448 2592 lineto -448 2696 lineto -590 2816 lineto -768 2816 lineto -1600 2816 lineto -end_ol grestore -gsave 0.248642 16.400563 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 0.612708 16.400563 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 0.976775 16.400563 translate 0.035278 -0.035278 scale -start_ol -896 1984 moveto -896 1856 lineto -1019 1952 1167 2000 conicto -1315 2048 1488 2048 conicto -1888 2048 2120 1801 conicto -2304 1603 2304 1284 conicto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1856 1297 lineto -1856 1444 1777 1512 conicto -1673 1600 1467 1600 conicto -1311 1600 1193 1539 conicto -1076 1478 896 1280 conicto -896 448 lineto -1074 448 lineto -1074 448 lineto -1216 328 lineto -1216 224 lineto -1216 120 lineto -1074 0 lineto -896 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 1536 lineto -270 1536 lineto -128 1656 lineto -128 1760 lineto -128 1864 lineto -270 1984 lineto -448 1984 lineto -896 1984 lineto -end_ol grestore -gsave 1.340842 16.400563 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 6.800000 13.300000 m 6.800000 15.600000 l 15.607880 15.600000 l 15.607880 13.300000 l f -0.000000 0.000000 0.000000 srgb -n 6.800000 13.300000 m 6.800000 15.600000 l 15.607880 15.600000 l 15.607880 13.300000 l cp s -0 slc -0 slj -[] 0 sd -n 7.680788 13.300000 m 7.680788 15.600000 l s -0 slc -0 slj -[] 0 sd -n 14.727092 13.300000 m 14.727092 15.600000 l s -gsave 8.845973 14.600000 translate 0.035278 -0.035278 scale -start_ol -1920 1152 moveto -896 1152 lineto -896 448 lineto -960 448 lineto -1138 448 lineto -1280 328 lineto -1280 224 lineto -1280 120 lineto -1138 0 lineto -960 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 2176 lineto -270 2176 lineto -128 2296 lineto -128 2400 lineto -128 2504 lineto -270 2624 lineto -448 2624 lineto -960 2624 lineto -1138 2624 lineto -1280 2504 lineto -1280 2400 lineto -1280 2296 lineto -1138 2176 lineto -960 2176 lineto -896 2176 lineto -896 1600 lineto -1920 1600 lineto -1920 2176 lineto -1856 2176 lineto -1678 2176 lineto -1536 2296 lineto -1536 2400 lineto -1536 2504 lineto -1678 2624 lineto -1856 2624 lineto -2368 2624 lineto -2546 2624 lineto -2688 2504 lineto -2688 2400 lineto -2688 2296 lineto -2546 2176 lineto -2368 2176 lineto -2368 448 lineto -2546 448 lineto -2546 448 lineto -2688 328 lineto -2688 224 lineto -2688 120 lineto -2546 0 lineto -2368 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1920 448 lineto -1920 1152 lineto -end_ol grestore -gsave 9.210040 14.600000 translate 0.035278 -0.035278 scale -start_ol -2368 1088 moveto -384 1088 lineto -384 1536 lineto -2368 1536 lineto -2368 1088 lineto -end_ol grestore -gsave 9.574107 14.600000 translate 0.035278 -0.035278 scale -start_ol -448 448 moveto -448 2176 lineto -384 2176 lineto -206 2176 lineto -64 2296 lineto -64 2400 lineto -64 2504 lineto -206 2624 lineto -384 2624 lineto -1526 2624 lineto -1935 2624 2183 2414 conicto -2432 2204 2432 1914 conicto -2432 1777 2369 1656 conicto -2306 1535 2176 1432 conicto -2401 1301 2512 1125 conicto -2624 950 2624 727 conicto -2624 551 2546 399 conicto -2489 283 2404 216 conicto -2291 120 2127 60 conicto -1963 0 1718 0 conicto -384 0 lineto -206 0 lineto -64 120 lineto -64 224 lineto -64 328 lineto -206 448 lineto -384 448 lineto -448 448 lineto -896 1600 moveto -1407 1600 lineto -1681 1600 1862 1718 conicto -1984 1797 1984 1915 conicto -1984 2020 1868 2098 conicto -1753 2176 1501 2176 conicto -896 2176 lineto -896 1600 lineto -896 448 moveto -1692 448 lineto -1973 448 2088 536 conicto -2176 602 2176 724 conicto -2176 870 2002 1011 conicto -1829 1152 1506 1152 conicto -896 1152 lineto -896 448 lineto -end_ol grestore -gsave 9.938173 14.600000 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 10.302240 14.600000 translate 0.035278 -0.035278 scale -start_ol -1856 1856 moveto -1856 1984 lineto -2368 1984 lineto -2546 1984 lineto -2688 1864 lineto -2688 1760 lineto -2688 1656 lineto -2546 1536 lineto -2368 1536 lineto -2304 1536 lineto -2304 -68 lineto -2304 -301 2201 -474 conicto -2099 -647 1887 -771 conicto -1675 -896 1408 -896 conicto -885 -896 lineto -718 -896 647 -834 conicto -576 -772 576 -673 conicto -576 -572 648 -510 conicto -720 -448 889 -448 conicto -1406 -448 lineto -1620 -448 1738 -343 conicto -1856 -238 1856 -78 conicto -1856 127 lineto -1704 31 1547 -16 conicto -1390 -64 1224 -64 conicto -757 -64 442 240 conicto -128 544 128 991 conicto -128 1440 442 1744 conicto -757 2048 1224 2048 conicto -1398 2048 1555 2000 conicto -1713 1952 1856 1856 conicto -1856 992 moveto -1856 1239 1667 1419 conicto -1479 1600 1216 1600 conicto -953 1600 764 1419 conicto -576 1239 576 992 conicto -576 743 764 563 conicto -953 384 1216 384 conicto -1479 384 1667 563 conicto -1856 743 1856 992 conicto -end_ol grestore -gsave 10.666307 14.600000 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave 11.030373 14.600000 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave 11.394440 14.600000 translate 0.035278 -0.035278 scale -start_ol -768 2816 moveto -768 1833 lineto -938 1941 1114 1994 conicto -1290 2048 1469 2048 conicto -1953 2048 2288 1727 conicto -2624 1406 2624 952 conicto -2624 519 2304 227 conicto -1984 -64 1460 -64 conicto -1274 -64 1101 -11 conicto -929 41 768 144 conicto -768 0 lineto -256 0 lineto -78 0 lineto --64 120 lineto --64 224 lineto --64 328 lineto -78 448 lineto -256 448 lineto -320 448 lineto -320 2368 lineto -256 2368 lineto -78 2368 lineto --64 2488 lineto --64 2592 lineto --64 2696 lineto -78 2816 lineto -256 2816 lineto -768 2816 lineto -2176 940 moveto -2176 1217 1972 1408 conicto -1768 1600 1471 1600 conicto -1177 1600 972 1408 conicto -768 1217 768 946 conicto -768 700 952 542 conicto -1136 384 1471 384 conicto -1806 384 1991 542 conicto -2176 700 2176 940 conicto -end_ol grestore -gsave 11.758507 14.600000 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -gsave 12.122573 14.600000 translate 0.035278 -0.035278 scale -start_ol -2560 961 moveto -2560 704 2413 463 conicto -2267 222 1978 79 conicto -1689 -64 1375 -64 conicto -1062 -64 776 76 conicto -491 217 341 459 conicto -192 702 192 966 conicto -192 1234 344 1492 conicto -496 1751 780 1899 conicto -1064 2048 1375 2048 conicto -1687 2048 1976 1896 conicto -2265 1744 2412 1488 conicto -2560 1232 2560 961 conicto -2112 959 moveto -2112 1175 1951 1356 conicto -1732 1600 1374 1600 conicto -1060 1600 850 1406 conicto -640 1212 640 957 conicto -640 748 852 566 conicto -1065 384 1374 384 conicto -1687 384 1899 566 conicto -2112 748 2112 959 conicto -end_ol grestore -gsave 12.486640 14.600000 translate 0.035278 -0.035278 scale -start_ol -960 841 moveto -960 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -448 448 lineto -512 448 lineto -512 2368 lineto -448 2368 lineto -270 2368 lineto -128 2488 lineto -128 2592 lineto -128 2696 lineto -270 2816 lineto -448 2816 lineto -960 2816 lineto -960 1261 lineto -1326 1606 lineto -1216 1700 1216 1759 conicto -1216 1860 1281 1922 conicto -1347 1984 1502 1984 conicto -1994 1984 lineto -2162 1984 lineto -2304 1864 lineto -2304 1760 lineto -2304 1656 lineto -2162 1536 lineto -1994 1536 lineto -1866 1536 lineto -1399 1081 lineto -2148 448 lineto -2276 448 lineto -2418 448 lineto -2560 328 lineto -2560 224 lineto -2560 120 lineto -2418 0 lineto -2276 0 lineto -1686 0 lineto -1502 0 1423 62 conicto -1344 124 1344 225 conicto -1344 310 1543 393 conicto -1046 813 lineto -960 841 lineto -end_ol grestore -gsave 12.850707 14.600000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 13.214773 14.600000 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 18.971821 8.799990 m 22.330929 8.799990 l 23.002750 10.003545 l 22.330929 11.207100 l 18.971821 11.207100 l 18.300000 10.003545 l 18.971821 8.799990 l f -0.000000 0.000000 0.000000 srgb -n 18.971821 8.799990 m 22.330929 8.799990 l 23.002750 10.003545 l 22.330929 11.207100 l 18.971821 11.207100 l 18.300000 10.003545 l 18.971821 8.799990 l s -gsave 19.580342 9.753545 translate 0.035278 -0.035278 scale -start_ol -1920 1152 moveto -896 1152 lineto -896 448 lineto -960 448 lineto -1138 448 lineto -1280 328 lineto -1280 224 lineto -1280 120 lineto -1138 0 lineto -960 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 2176 lineto -270 2176 lineto -128 2296 lineto -128 2400 lineto -128 2504 lineto -270 2624 lineto -448 2624 lineto -960 2624 lineto -1138 2624 lineto -1280 2504 lineto -1280 2400 lineto -1280 2296 lineto -1138 2176 lineto -960 2176 lineto -896 2176 lineto -896 1600 lineto -1920 1600 lineto -1920 2176 lineto -1856 2176 lineto -1678 2176 lineto -1536 2296 lineto -1536 2400 lineto -1536 2504 lineto -1678 2624 lineto -1856 2624 lineto -2368 2624 lineto -2546 2624 lineto -2688 2504 lineto -2688 2400 lineto -2688 2296 lineto -2546 2176 lineto -2368 2176 lineto -2368 448 lineto -2546 448 lineto -2546 448 lineto -2688 328 lineto -2688 224 lineto -2688 120 lineto -2546 0 lineto -2368 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1920 448 lineto -1920 1152 lineto -end_ol grestore -gsave 19.944408 9.753545 translate 0.035278 -0.035278 scale -start_ol -2368 1088 moveto -384 1088 lineto -384 1536 lineto -2368 1536 lineto -2368 1088 lineto -end_ol grestore -gsave 20.308475 9.753545 translate 0.035278 -0.035278 scale -start_ol -448 448 moveto -448 2176 lineto -384 2176 lineto -206 2176 lineto -64 2296 lineto -64 2400 lineto -64 2504 lineto -206 2624 lineto -384 2624 lineto -1526 2624 lineto -1935 2624 2183 2414 conicto -2432 2204 2432 1914 conicto -2432 1777 2369 1656 conicto -2306 1535 2176 1432 conicto -2401 1301 2512 1125 conicto -2624 950 2624 727 conicto -2624 551 2546 399 conicto -2489 283 2404 216 conicto -2291 120 2127 60 conicto -1963 0 1718 0 conicto -384 0 lineto -206 0 lineto -64 120 lineto -64 224 lineto -64 328 lineto -206 448 lineto -384 448 lineto -448 448 lineto -896 1600 moveto -1407 1600 lineto -1681 1600 1862 1718 conicto -1984 1797 1984 1915 conicto -1984 2020 1868 2098 conicto -1753 2176 1501 2176 conicto -896 2176 lineto -896 1600 lineto -896 448 moveto -1692 448 lineto -1973 448 2088 536 conicto -2176 602 2176 724 conicto -2176 870 2002 1011 conicto -1829 1152 1506 1152 conicto -896 1152 lineto -896 448 lineto -end_ol grestore -gsave 20.672542 9.753545 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 21.036608 9.753545 translate 0.035278 -0.035278 scale -start_ol -1856 1856 moveto -1856 1984 lineto -2368 1984 lineto -2546 1984 lineto -2688 1864 lineto -2688 1760 lineto -2688 1656 lineto -2546 1536 lineto -2368 1536 lineto -2304 1536 lineto -2304 -68 lineto -2304 -301 2201 -474 conicto -2099 -647 1887 -771 conicto -1675 -896 1408 -896 conicto -885 -896 lineto -718 -896 647 -834 conicto -576 -772 576 -673 conicto -576 -572 648 -510 conicto -720 -448 889 -448 conicto -1406 -448 lineto -1620 -448 1738 -343 conicto -1856 -238 1856 -78 conicto -1856 127 lineto -1704 31 1547 -16 conicto -1390 -64 1224 -64 conicto -757 -64 442 240 conicto -128 544 128 991 conicto -128 1440 442 1744 conicto -757 2048 1224 2048 conicto -1398 2048 1555 2000 conicto -1713 1952 1856 1856 conicto -1856 992 moveto -1856 1239 1667 1419 conicto -1479 1600 1216 1600 conicto -953 1600 764 1419 conicto -576 1239 576 992 conicto -576 743 764 563 conicto -953 384 1216 384 conicto -1479 384 1667 563 conicto -1856 743 1856 992 conicto -end_ol grestore -gsave 21.400675 9.753545 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave 19.749675 10.553545 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 20.113742 10.553545 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 20.477808 10.553545 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 20.841875 10.553545 translate 0.035278 -0.035278 scale -start_ol -2560 961 moveto -2560 704 2413 463 conicto -2267 222 1978 79 conicto -1689 -64 1375 -64 conicto -1062 -64 776 76 conicto -491 217 341 459 conicto -192 702 192 966 conicto -192 1234 344 1492 conicto -496 1751 780 1899 conicto -1064 2048 1375 2048 conicto -1687 2048 1976 1896 conicto -2265 1744 2412 1488 conicto -2560 1232 2560 961 conicto -2112 959 moveto -2112 1175 1951 1356 conicto -1732 1600 1374 1600 conicto -1060 1600 850 1406 conicto -640 1212 640 957 conicto -640 748 852 566 conicto -1065 384 1374 384 conicto -1687 384 1899 566 conicto -2112 748 2112 959 conicto -end_ol grestore -gsave 21.205942 10.553545 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.621139 19.755053 8.581566 8.581566 238.989825 305.506992 ellipse s -0 slj -n 10.339970 13.068579 m 11.203940 13.300000 l 10.870695 12.469971 l f -gsave 4.628957 10.600000 translate 0.035278 -0.035278 scale -start_ol -768 128 moveto -703 46 664 23 conicto -625 0 568 0 conicto -456 0 388 68 conicto -320 137 320 297 conicto -320 597 lineto -320 759 383 827 conicto -447 896 553 896 conicto -633 896 688 855 conicto -743 815 772 719 conicto -801 623 832 589 conicto -893 522 1049 453 conicto -1205 384 1391 384 conicto -1680 384 1866 522 conicto -1984 606 1984 728 conicto -1984 809 1928 881 conicto -1873 953 1748 1001 conicto -1666 1033 1381 1089 conicto -1036 1156 850 1251 conicto -664 1346 556 1519 conicto -448 1692 448 1893 conicto -448 2211 691 2449 conicto -935 2688 1324 2688 conicto -1481 2688 1614 2640 conicto -1747 2593 1856 2496 conicto -1954 2624 2053 2624 conicto -2163 2624 2233 2553 conicto -2304 2482 2304 2318 conicto -2304 1972 lineto -2304 1806 2240 1735 conicto -2176 1664 2076 1664 conicto -1991 1664 1929 1716 conicto -1879 1755 1855 1870 conicto -1831 1986 1792 2036 conicto -1736 2122 1623 2181 conicto -1510 2240 1363 2240 conicto -1147 2240 1021 2129 conicto -896 2018 896 1898 conicto -896 1816 950 1740 conicto -1004 1664 1109 1621 conicto -1179 1590 1502 1523 conicto -1825 1457 2007 1377 conicto -2190 1297 2311 1126 conicto -2432 956 2432 720 conicto -2432 392 2207 196 conicto -1908 -64 1445 -64 conicto -1266 -64 1097 -15 conicto -928 33 768 128 conicto -end_ol grestore -gsave 4.993023 10.600000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 5.357090 10.600000 translate 0.035278 -0.035278 scale -start_ol -1792 0 moveto -1792 256 lineto -1619 97 1409 16 conicto -1199 -64 1028 -64 conicto -657 -64 424 122 conicto -192 309 192 535 conicto -192 810 488 1045 conicto -785 1280 1307 1280 conicto -1517 1280 1792 1236 conicto -1792 1353 lineto -1792 1462 1700 1531 conicto -1609 1600 1352 1600 conicto -1143 1600 807 1507 conicto -682 1472 612 1472 conicto -516 1472 450 1539 conicto -384 1606 384 1711 conicto -384 1769 407 1812 conicto -430 1856 471 1881 conicto -512 1907 642 1943 conicto -815 1992 996 2020 conicto -1177 2048 1323 2048 conicto -1758 2048 1999 1867 conicto -2240 1687 2240 1373 conicto -2240 448 lineto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1792 0 lineto -1792 783 moveto -1507 832 1267 832 conicto -978 832 769 708 conicto -640 628 640 547 conicto -640 488 703 451 conicto -819 384 1019 384 conicto -1191 384 1407 443 conicto -1623 502 1792 604 conicto -1792 783 lineto -end_ol grestore -gsave 5.721157 10.600000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 6.085223 10.600000 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 6.449290 10.600000 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.685364 10.466538 7.537050 7.537050 42.929430 116.088007 ellipse s -0 slj -n 2.588792 16.900241 m 1.700000 16.800000 l 2.153082 17.571179 l f -gsave 5.876090 18.900000 translate 0.035278 -0.035278 scale -start_ol -1920 1152 moveto -896 1152 lineto -896 448 lineto -960 448 lineto -1138 448 lineto -1280 328 lineto -1280 224 lineto -1280 120 lineto -1138 0 lineto -960 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 2176 lineto -270 2176 lineto -128 2296 lineto -128 2400 lineto -128 2504 lineto -270 2624 lineto -448 2624 lineto -960 2624 lineto -1138 2624 lineto -1280 2504 lineto -1280 2400 lineto -1280 2296 lineto -1138 2176 lineto -960 2176 lineto -896 2176 lineto -896 1600 lineto -1920 1600 lineto -1920 2176 lineto -1856 2176 lineto -1678 2176 lineto -1536 2296 lineto -1536 2400 lineto -1536 2504 lineto -1678 2624 lineto -1856 2624 lineto -2368 2624 lineto -2546 2624 lineto -2688 2504 lineto -2688 2400 lineto -2688 2296 lineto -2546 2176 lineto -2368 2176 lineto -2368 448 lineto -2546 448 lineto -2546 448 lineto -2688 328 lineto -2688 224 lineto -2688 120 lineto -2546 0 lineto -2368 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1920 448 lineto -1920 1152 lineto -end_ol grestore -gsave 6.240157 18.900000 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 6.604223 18.900000 translate 0.035278 -0.035278 scale -start_ol -896 1984 moveto -896 1856 lineto -1019 1952 1167 2000 conicto -1315 2048 1488 2048 conicto -1888 2048 2120 1801 conicto -2304 1603 2304 1284 conicto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1856 1297 lineto -1856 1444 1777 1512 conicto -1673 1600 1467 1600 conicto -1311 1600 1193 1539 conicto -1076 1478 896 1280 conicto -896 448 lineto -1074 448 lineto -1074 448 lineto -1216 328 lineto -1216 224 lineto -1216 120 lineto -1074 0 lineto -896 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 1536 lineto -270 1536 lineto -128 1656 lineto -128 1760 lineto -128 1864 lineto -270 1984 lineto -448 1984 lineto -896 1984 lineto -end_ol grestore -gsave 6.968290 18.900000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 15.607880 13.300000 m 17.793971 10.623169 l s -0 slj -n 18.103783 10.876184 m 18.300000 10.003545 l 17.484158 10.370155 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 15.607880 13.875000 m 20.909981 13.029531 l s -0 slj -n 20.972969 13.424540 m 21.700000 12.903555 l 20.846993 12.634521 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 15.607880 14.450000 m 23.009205 15.582548 l s -0 slj -n 22.948701 15.977945 m 23.800000 15.703555 l 23.069708 15.187150 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 15.607880 15.025000 m 22.997130 18.094852 l s -0 slj -n 22.843667 18.464243 m 23.735911 18.401778 l 23.150593 17.725462 l f -gsave 14.628967 11.400000 translate 0.035278 -0.035278 scale -start_ol -768 128 moveto -703 46 664 23 conicto -625 0 568 0 conicto -456 0 388 68 conicto -320 137 320 297 conicto -320 597 lineto -320 759 383 827 conicto -447 896 553 896 conicto -633 896 688 855 conicto -743 815 772 719 conicto -801 623 832 589 conicto -893 522 1049 453 conicto -1205 384 1391 384 conicto -1680 384 1866 522 conicto -1984 606 1984 728 conicto -1984 809 1928 881 conicto -1873 953 1748 1001 conicto -1666 1033 1381 1089 conicto -1036 1156 850 1251 conicto -664 1346 556 1519 conicto -448 1692 448 1893 conicto -448 2211 691 2449 conicto -935 2688 1324 2688 conicto -1481 2688 1614 2640 conicto -1747 2593 1856 2496 conicto -1954 2624 2053 2624 conicto -2163 2624 2233 2553 conicto -2304 2482 2304 2318 conicto -2304 1972 lineto -2304 1806 2240 1735 conicto -2176 1664 2076 1664 conicto -1991 1664 1929 1716 conicto -1879 1755 1855 1870 conicto -1831 1986 1792 2036 conicto -1736 2122 1623 2181 conicto -1510 2240 1363 2240 conicto -1147 2240 1021 2129 conicto -896 2018 896 1898 conicto -896 1816 950 1740 conicto -1004 1664 1109 1621 conicto -1179 1590 1502 1523 conicto -1825 1457 2007 1377 conicto -2190 1297 2311 1126 conicto -2432 956 2432 720 conicto -2432 392 2207 196 conicto -1908 -64 1445 -64 conicto -1266 -64 1097 -15 conicto -928 33 768 128 conicto -end_ol grestore -gsave 14.993033 11.400000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 15.357100 11.400000 translate 0.035278 -0.035278 scale -start_ol -1792 0 moveto -1792 256 lineto -1619 97 1409 16 conicto -1199 -64 1028 -64 conicto -657 -64 424 122 conicto -192 309 192 535 conicto -192 810 488 1045 conicto -785 1280 1307 1280 conicto -1517 1280 1792 1236 conicto -1792 1353 lineto -1792 1462 1700 1531 conicto -1609 1600 1352 1600 conicto -1143 1600 807 1507 conicto -682 1472 612 1472 conicto -516 1472 450 1539 conicto -384 1606 384 1711 conicto -384 1769 407 1812 conicto -430 1856 471 1881 conicto -512 1907 642 1943 conicto -815 1992 996 2020 conicto -1177 2048 1323 2048 conicto -1758 2048 1999 1867 conicto -2240 1687 2240 1373 conicto -2240 448 lineto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1792 0 lineto -1792 783 moveto -1507 832 1267 832 conicto -978 832 769 708 conicto -640 628 640 547 conicto -640 488 703 451 conicto -819 384 1019 384 conicto -1191 384 1407 443 conicto -1623 502 1792 604 conicto -1792 783 lineto -end_ol grestore -gsave 15.721167 11.400000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 16.085233 11.400000 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 16.449300 11.400000 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave 17.628967 12.900000 translate 0.035278 -0.035278 scale -start_ol -768 128 moveto -703 46 664 23 conicto -625 0 568 0 conicto -456 0 388 68 conicto -320 137 320 297 conicto -320 597 lineto -320 759 383 827 conicto -447 896 553 896 conicto -633 896 688 855 conicto -743 815 772 719 conicto -801 623 832 589 conicto -893 522 1049 453 conicto -1205 384 1391 384 conicto -1680 384 1866 522 conicto -1984 606 1984 728 conicto -1984 809 1928 881 conicto -1873 953 1748 1001 conicto -1666 1033 1381 1089 conicto -1036 1156 850 1251 conicto -664 1346 556 1519 conicto -448 1692 448 1893 conicto -448 2211 691 2449 conicto -935 2688 1324 2688 conicto -1481 2688 1614 2640 conicto -1747 2593 1856 2496 conicto -1954 2624 2053 2624 conicto -2163 2624 2233 2553 conicto -2304 2482 2304 2318 conicto -2304 1972 lineto -2304 1806 2240 1735 conicto -2176 1664 2076 1664 conicto -1991 1664 1929 1716 conicto -1879 1755 1855 1870 conicto -1831 1986 1792 2036 conicto -1736 2122 1623 2181 conicto -1510 2240 1363 2240 conicto -1147 2240 1021 2129 conicto -896 2018 896 1898 conicto -896 1816 950 1740 conicto -1004 1664 1109 1621 conicto -1179 1590 1502 1523 conicto -1825 1457 2007 1377 conicto -2190 1297 2311 1126 conicto -2432 956 2432 720 conicto -2432 392 2207 196 conicto -1908 -64 1445 -64 conicto -1266 -64 1097 -15 conicto -928 33 768 128 conicto -end_ol grestore -gsave 17.993033 12.900000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 18.357100 12.900000 translate 0.035278 -0.035278 scale -start_ol -1792 0 moveto -1792 256 lineto -1619 97 1409 16 conicto -1199 -64 1028 -64 conicto -657 -64 424 122 conicto -192 309 192 535 conicto -192 810 488 1045 conicto -785 1280 1307 1280 conicto -1517 1280 1792 1236 conicto -1792 1353 lineto -1792 1462 1700 1531 conicto -1609 1600 1352 1600 conicto -1143 1600 807 1507 conicto -682 1472 612 1472 conicto -516 1472 450 1539 conicto -384 1606 384 1711 conicto -384 1769 407 1812 conicto -430 1856 471 1881 conicto -512 1907 642 1943 conicto -815 1992 996 2020 conicto -1177 2048 1323 2048 conicto -1758 2048 1999 1867 conicto -2240 1687 2240 1373 conicto -2240 448 lineto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1792 0 lineto -1792 783 moveto -1507 832 1267 832 conicto -978 832 769 708 conicto -640 628 640 547 conicto -640 488 703 451 conicto -819 384 1019 384 conicto -1191 384 1407 443 conicto -1623 502 1792 604 conicto -1792 783 lineto -end_ol grestore -gsave 18.721167 12.900000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 19.085233 12.900000 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 19.449300 12.900000 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave 19.828967 14.900000 translate 0.035278 -0.035278 scale -start_ol -768 128 moveto -703 46 664 23 conicto -625 0 568 0 conicto -456 0 388 68 conicto -320 137 320 297 conicto -320 597 lineto -320 759 383 827 conicto -447 896 553 896 conicto -633 896 688 855 conicto -743 815 772 719 conicto -801 623 832 589 conicto -893 522 1049 453 conicto -1205 384 1391 384 conicto -1680 384 1866 522 conicto -1984 606 1984 728 conicto -1984 809 1928 881 conicto -1873 953 1748 1001 conicto -1666 1033 1381 1089 conicto -1036 1156 850 1251 conicto -664 1346 556 1519 conicto -448 1692 448 1893 conicto -448 2211 691 2449 conicto -935 2688 1324 2688 conicto -1481 2688 1614 2640 conicto -1747 2593 1856 2496 conicto -1954 2624 2053 2624 conicto -2163 2624 2233 2553 conicto -2304 2482 2304 2318 conicto -2304 1972 lineto -2304 1806 2240 1735 conicto -2176 1664 2076 1664 conicto -1991 1664 1929 1716 conicto -1879 1755 1855 1870 conicto -1831 1986 1792 2036 conicto -1736 2122 1623 2181 conicto -1510 2240 1363 2240 conicto -1147 2240 1021 2129 conicto -896 2018 896 1898 conicto -896 1816 950 1740 conicto -1004 1664 1109 1621 conicto -1179 1590 1502 1523 conicto -1825 1457 2007 1377 conicto -2190 1297 2311 1126 conicto -2432 956 2432 720 conicto -2432 392 2207 196 conicto -1908 -64 1445 -64 conicto -1266 -64 1097 -15 conicto -928 33 768 128 conicto -end_ol grestore -gsave 20.193033 14.900000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 20.557100 14.900000 translate 0.035278 -0.035278 scale -start_ol -1792 0 moveto -1792 256 lineto -1619 97 1409 16 conicto -1199 -64 1028 -64 conicto -657 -64 424 122 conicto -192 309 192 535 conicto -192 810 488 1045 conicto -785 1280 1307 1280 conicto -1517 1280 1792 1236 conicto -1792 1353 lineto -1792 1462 1700 1531 conicto -1609 1600 1352 1600 conicto -1143 1600 807 1507 conicto -682 1472 612 1472 conicto -516 1472 450 1539 conicto -384 1606 384 1711 conicto -384 1769 407 1812 conicto -430 1856 471 1881 conicto -512 1907 642 1943 conicto -815 1992 996 2020 conicto -1177 2048 1323 2048 conicto -1758 2048 1999 1867 conicto -2240 1687 2240 1373 conicto -2240 448 lineto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1792 0 lineto -1792 783 moveto -1507 832 1267 832 conicto -978 832 769 708 conicto -640 628 640 547 conicto -640 488 703 451 conicto -819 384 1019 384 conicto -1191 384 1407 443 conicto -1623 502 1792 604 conicto -1792 783 lineto -end_ol grestore -gsave 20.921167 14.900000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 21.285233 14.900000 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 21.649300 14.900000 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave 18.428967 17.800000 translate 0.035278 -0.035278 scale -start_ol -768 128 moveto -703 46 664 23 conicto -625 0 568 0 conicto -456 0 388 68 conicto -320 137 320 297 conicto -320 597 lineto -320 759 383 827 conicto -447 896 553 896 conicto -633 896 688 855 conicto -743 815 772 719 conicto -801 623 832 589 conicto -893 522 1049 453 conicto -1205 384 1391 384 conicto -1680 384 1866 522 conicto -1984 606 1984 728 conicto -1984 809 1928 881 conicto -1873 953 1748 1001 conicto -1666 1033 1381 1089 conicto -1036 1156 850 1251 conicto -664 1346 556 1519 conicto -448 1692 448 1893 conicto -448 2211 691 2449 conicto -935 2688 1324 2688 conicto -1481 2688 1614 2640 conicto -1747 2593 1856 2496 conicto -1954 2624 2053 2624 conicto -2163 2624 2233 2553 conicto -2304 2482 2304 2318 conicto -2304 1972 lineto -2304 1806 2240 1735 conicto -2176 1664 2076 1664 conicto -1991 1664 1929 1716 conicto -1879 1755 1855 1870 conicto -1831 1986 1792 2036 conicto -1736 2122 1623 2181 conicto -1510 2240 1363 2240 conicto -1147 2240 1021 2129 conicto -896 2018 896 1898 conicto -896 1816 950 1740 conicto -1004 1664 1109 1621 conicto -1179 1590 1502 1523 conicto -1825 1457 2007 1377 conicto -2190 1297 2311 1126 conicto -2432 956 2432 720 conicto -2432 392 2207 196 conicto -1908 -64 1445 -64 conicto -1266 -64 1097 -15 conicto -928 33 768 128 conicto -end_ol grestore -gsave 18.793033 17.800000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 19.157100 17.800000 translate 0.035278 -0.035278 scale -start_ol -1792 0 moveto -1792 256 lineto -1619 97 1409 16 conicto -1199 -64 1028 -64 conicto -657 -64 424 122 conicto -192 309 192 535 conicto -192 810 488 1045 conicto -785 1280 1307 1280 conicto -1517 1280 1792 1236 conicto -1792 1353 lineto -1792 1462 1700 1531 conicto -1609 1600 1352 1600 conicto -1143 1600 807 1507 conicto -682 1472 612 1472 conicto -516 1472 450 1539 conicto -384 1606 384 1711 conicto -384 1769 407 1812 conicto -430 1856 471 1881 conicto -512 1907 642 1943 conicto -815 1992 996 2020 conicto -1177 2048 1323 2048 conicto -1758 2048 1999 1867 conicto -2240 1687 2240 1373 conicto -2240 448 lineto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1792 0 lineto -1792 783 moveto -1507 832 1267 832 conicto -978 832 769 708 conicto -640 628 640 547 conicto -640 488 703 451 conicto -819 384 1019 384 conicto -1191 384 1407 443 conicto -1623 502 1792 604 conicto -1792 783 lineto -end_ol grestore -gsave 19.521167 17.800000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 19.885233 17.800000 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 20.249300 17.800000 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 20.883919 11.539682 8.555033 8.555033 70.526546 146.134059 ellipse s -0 slj -n 14.133795 16.119792 m 13.405910 15.600000 l 13.426808 16.494183 l f -gsave 15.976100 20.500000 translate 0.035278 -0.035278 scale -start_ol -1920 1152 moveto -896 1152 lineto -896 448 lineto -960 448 lineto -1138 448 lineto -1280 328 lineto -1280 224 lineto -1280 120 lineto -1138 0 lineto -960 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 2176 lineto -270 2176 lineto -128 2296 lineto -128 2400 lineto -128 2504 lineto -270 2624 lineto -448 2624 lineto -960 2624 lineto -1138 2624 lineto -1280 2504 lineto -1280 2400 lineto -1280 2296 lineto -1138 2176 lineto -960 2176 lineto -896 2176 lineto -896 1600 lineto -1920 1600 lineto -1920 2176 lineto -1856 2176 lineto -1678 2176 lineto -1536 2296 lineto -1536 2400 lineto -1536 2504 lineto -1678 2624 lineto -1856 2624 lineto -2368 2624 lineto -2546 2624 lineto -2688 2504 lineto -2688 2400 lineto -2688 2296 lineto -2546 2176 lineto -2368 2176 lineto -2368 448 lineto -2546 448 lineto -2546 448 lineto -2688 328 lineto -2688 224 lineto -2688 120 lineto -2546 0 lineto -2368 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1920 448 lineto -1920 1152 lineto -end_ol grestore -gsave 16.340167 20.500000 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 16.704233 20.500000 translate 0.035278 -0.035278 scale -start_ol -896 1984 moveto -896 1856 lineto -1019 1952 1167 2000 conicto -1315 2048 1488 2048 conicto -1888 2048 2120 1801 conicto -2304 1603 2304 1284 conicto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1856 1297 lineto -1856 1444 1777 1512 conicto -1673 1600 1467 1600 conicto -1311 1600 1193 1539 conicto -1076 1478 896 1280 conicto -896 448 lineto -1074 448 lineto -1074 448 lineto -1216 328 lineto -1216 224 lineto -1216 120 lineto -1074 0 lineto -896 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 1536 lineto -270 1536 lineto -128 1656 lineto -128 1760 lineto -128 1864 lineto -270 1984 lineto -448 1984 lineto -896 1984 lineto -end_ol grestore -gsave 17.068300 20.500000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 2.200000 22.100000 m 5.400000 22.100000 l s -0 slj -n 5.400000 22.500000 m 6.200000 22.100000 l 5.400000 21.700000 l f -gsave 8.011367 22.100000 translate 0.035278 -0.035278 scale -start_ol -2165 1152 moveto -1179 1152 lineto -1018 448 lineto -1189 448 lineto -1300 448 lineto -1408 355 lineto -1408 256 lineto -1408 157 lineto -1408 157 lineto -1201 0 lineto -1088 0 lineto -478 0 lineto -365 0 lineto -256 93 lineto -256 192 lineto -256 291 lineto -463 448 lineto -463 448 lineto -560 448 lineto -955 2176 lineto -748 2176 lineto -640 2269 lineto -640 2368 lineto -640 2467 lineto -640 2467 lineto -847 2624 lineto -960 2624 lineto -1551 2624 lineto -1683 2624 lineto -1792 2531 lineto -1792 2432 lineto -1792 2333 lineto -1585 2176 lineto -1585 2176 lineto -1472 2176 lineto -1413 2176 lineto -1281 1600 lineto -2267 1600 lineto -2399 2176 lineto -2225 2176 lineto -2093 2176 lineto -1984 2269 lineto -1984 2368 lineto -1984 2467 lineto -1984 2467 lineto -2191 2624 lineto -2304 2624 lineto -2979 2624 lineto -3092 2624 lineto -3200 2531 lineto -3200 2432 lineto -3200 2333 lineto -2993 2176 lineto -2857 2176 lineto -2462 448 lineto -2643 448 lineto -2643 448 lineto -2752 355 lineto -2752 256 lineto -2752 157 lineto -2752 157 lineto -2545 0 lineto -2432 0 lineto -1819 0 lineto -1709 0 lineto -1600 93 lineto -1600 192 lineto -1600 291 lineto -1807 448 lineto -1807 448 lineto -1920 448 lineto -2004 448 lineto -2165 1152 lineto -end_ol grestore -gsave 8.375433 22.100000 translate 0.035278 -0.035278 scale -start_ol -2068 2176 moveto -1671 448 lineto -2082 448 lineto -2196 448 lineto -2304 355 lineto -2304 256 lineto -2304 157 lineto -2304 157 lineto -2097 0 lineto -1984 0 lineto -798 0 lineto -685 0 lineto -576 93 lineto -576 192 lineto -576 291 lineto -783 448 lineto -783 448 lineto -896 448 lineto -1213 448 lineto -1610 2176 lineto -1113 2176 lineto -1007 1762 lineto -966 1605 886 1538 conicto -806 1472 698 1472 conicto -617 1472 564 1520 conicto -512 1568 512 1632 conicto -512 1677 536 1765 conicto -768 2624 lineto -3136 2624 lineto -2944 1763 lineto -2910 1606 2829 1539 conicto -2749 1472 2644 1472 conicto -2564 1472 2512 1522 conicto -2460 1572 2460 1640 conicto -2460 1684 2479 1769 conicto -2579 2176 lineto -2068 2176 lineto -end_ol grestore -gsave 8.739500 22.100000 translate 0.035278 -0.035278 scale -start_ol -2068 2176 moveto -1671 448 lineto -2082 448 lineto -2196 448 lineto -2304 355 lineto -2304 256 lineto -2304 157 lineto -2304 157 lineto -2097 0 lineto -1984 0 lineto -798 0 lineto -685 0 lineto -576 93 lineto -576 192 lineto -576 291 lineto -783 448 lineto -783 448 lineto -896 448 lineto -1213 448 lineto -1610 2176 lineto -1113 2176 lineto -1007 1762 lineto -966 1605 886 1538 conicto -806 1472 698 1472 conicto -617 1472 564 1520 conicto -512 1568 512 1632 conicto -512 1677 536 1765 conicto -768 2624 lineto -3136 2624 lineto -2944 1763 lineto -2910 1606 2829 1539 conicto -2749 1472 2644 1472 conicto -2564 1472 2512 1522 conicto -2460 1572 2460 1640 conicto -2460 1684 2479 1769 conicto -2579 2176 lineto -2068 2176 lineto -end_ol grestore -gsave 9.103567 22.100000 translate 0.035278 -0.035278 scale -start_ol -1045 896 moveto -940 448 lineto -1509 448 lineto -1619 448 lineto -1728 355 lineto -1728 256 lineto -1728 157 lineto -1728 157 lineto -1521 0 lineto -1408 0 lineto -347 0 lineto -173 0 lineto -64 93 lineto -64 192 lineto -64 291 lineto -271 448 lineto -271 448 lineto -448 448 lineto -482 448 lineto -855 2176 lineto -689 2176 lineto -492 2176 lineto -384 2269 lineto -384 2368 lineto -384 2467 lineto -384 2467 lineto -591 2624 lineto -768 2624 lineto -1909 2622 lineto -2351 2622 2583 2431 conicto -2816 2240 2816 1946 conicto -2816 1722 2687 1505 conicto -2592 1343 2458 1239 conicto -2211 1050 1990 973 conicto -1769 896 1485 896 conicto -1045 896 lineto -1145 1344 moveto -1583 1344 lineto -1810 1344 2030 1439 conicto -2194 1513 2281 1629 conicto -2368 1745 2368 1857 conicto -2368 1988 2244 2082 conicto -2120 2176 1871 2176 conicto -1312 2176 lineto -1145 1344 lineto -end_ol grestore -gsave 9.467633 22.100000 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave 9.831700 22.100000 translate 0.035278 -0.035278 scale -start_ol -1725 1984 moveto -1665 1677 lineto -1998 1883 2177 1965 conicto -2357 2048 2502 2048 conicto -2697 2048 2846 1936 conicto -2995 1825 2995 1732 conicto -2995 1631 2907 1551 conicto -2819 1472 2709 1472 conicto -2625 1472 2549 1536 conicto -2473 1600 2400 1600 conicto -2317 1600 2132 1505 conicto -1947 1411 1534 1113 conicto -1388 448 lineto -2149 448 lineto -2323 448 lineto -2432 355 lineto -2432 256 lineto -2432 157 lineto -2432 157 lineto -2225 0 lineto -2048 0 lineto -563 0 lineto -429 0 lineto -320 93 lineto -320 192 lineto -320 291 lineto -527 448 lineto -527 448 lineto -704 448 lineto -930 448 lineto -1169 1536 lineto -872 1536 lineto -684 1536 lineto -576 1629 lineto -576 1728 lineto -576 1827 lineto -576 1827 lineto -783 1984 lineto -960 1984 lineto -1725 1984 lineto -end_ol grestore -gsave 10.195767 22.100000 translate 0.035278 -0.035278 scale -start_ol -2750 768 moveto -832 768 lineto -864 598 1026 491 conicto -1189 384 1514 384 conicto -1783 384 2245 475 conicto -2437 512 2510 512 conicto -2586 512 2637 467 conicto -2688 422 2688 348 conicto -2688 241 2584 157 conicto -2481 74 2096 5 conicto -1712 -64 1402 -64 conicto -914 -64 649 170 conicto -384 405 384 769 conicto -384 1072 574 1377 conicto -764 1683 1115 1865 conicto -1467 2048 1839 2048 conicto -2274 2048 2545 1813 conicto -2816 1579 2816 1159 conicto -2816 1070 2794 958 conicto -2750 768 lineto -2368 1216 moveto -2305 1400 2148 1500 conicto -1992 1600 1746 1600 conicto -1500 1600 1301 1504 conicto -1103 1409 948 1216 conicto -2368 1216 lineto -end_ol grestore -gsave 10.559833 22.100000 translate 0.035278 -0.035278 scale -start_ol -2769 1536 moveto -2322 -448 lineto -2454 -448 lineto -2643 -448 lineto -2752 -541 lineto -2752 -640 lineto -2752 -739 lineto -2752 -739 lineto -2545 -896 lineto -2368 -896 lineto -1459 -896 lineto -1324 -896 lineto -1216 -803 lineto -1216 -704 lineto -1216 -605 lineto -1423 -448 lineto -1423 -448 lineto -1600 -448 lineto -1865 -448 lineto -2013 208 lineto -1643 0 1299 0 conicto -892 0 638 240 conicto -384 480 384 809 conicto -384 1257 799 1652 conicto -1214 2048 1747 2048 conicto -2106 2048 2380 1839 conicto -2413 1984 lineto -2904 1984 lineto -3091 1984 lineto -3200 1891 lineto -3200 1792 lineto -3200 1693 lineto -2993 1536 lineto -2993 1536 lineto -2816 1536 lineto -2769 1536 lineto -1409 448 moveto -1739 448 1978 673 conicto -2217 898 2217 1114 conicto -2217 1323 2062 1461 conicto -1907 1600 1653 1600 conicto -1330 1600 1081 1367 conicto -832 1134 832 920 conicto -832 738 990 593 conicto -1148 448 1409 448 conicto -end_ol grestore -gsave 10.923900 22.100000 translate 0.035278 -0.035278 scale -start_ol -2876 1984 moveto -2540 448 lineto -2836 448 lineto -2944 355 lineto -2944 256 lineto -2944 157 lineto -2944 157 lineto -2737 0 lineto -2560 0 lineto -2078 0 lineto -2103 103 lineto -1626 -64 1258 -64 conicto -967 -64 789 82 conicto -611 229 611 450 conicto -611 510 627 584 conicto -847 1536 lineto -680 1536 lineto -493 1536 lineto -384 1629 lineto -384 1728 lineto -384 1827 lineto -384 1827 lineto -591 1984 lineto -768 1984 lineto -1407 1984 lineto -1115 658 lineto -1102 590 1102 549 conicto -1102 481 1163 432 conicto -1224 384 1347 384 conicto -1493 384 1669 438 conicto -1845 493 2125 641 conicto -2321 1536 lineto -2024 1536 lineto -1836 1536 lineto -1728 1629 lineto -1728 1728 lineto -1728 1827 lineto -1728 1827 lineto -1935 1984 lineto -2112 1984 lineto -2876 1984 lineto -end_ol grestore -gsave 11.287967 22.100000 translate 0.035278 -0.035278 scale -start_ol -2750 768 moveto -832 768 lineto -864 598 1026 491 conicto -1189 384 1514 384 conicto -1783 384 2245 475 conicto -2437 512 2510 512 conicto -2586 512 2637 467 conicto -2688 422 2688 348 conicto -2688 241 2584 157 conicto -2481 74 2096 5 conicto -1712 -64 1402 -64 conicto -914 -64 649 170 conicto -384 405 384 769 conicto -384 1072 574 1377 conicto -764 1683 1115 1865 conicto -1467 2048 1839 2048 conicto -2274 2048 2545 1813 conicto -2816 1579 2816 1159 conicto -2816 1070 2794 958 conicto -2750 768 lineto -2368 1216 moveto -2305 1400 2148 1500 conicto -1992 1600 1746 1600 conicto -1500 1600 1301 1504 conicto -1103 1409 948 1216 conicto -2368 1216 lineto -end_ol grestore -gsave 11.652033 22.100000 translate 0.035278 -0.035278 scale -start_ol -2112 1472 moveto -2019 1536 1907 1568 conicto -1796 1600 1664 1600 conicto -1451 1600 1301 1542 conicto -1152 1484 1152 1426 conicto -1152 1386 1204 1351 conicto -1276 1304 1542 1269 conicto -1952 1214 2143 1155 conicto -2334 1097 2447 966 conicto -2560 835 2560 676 conicto -2560 355 2207 145 conicto -1854 -64 1387 -64 conicto -1188 -64 1024 -32 conicto -861 0 736 64 conicto -653 0 576 0 conicto -490 0 437 50 conicto -384 101 384 170 conicto -384 215 406 307 conicto -442 462 lineto -479 630 565 699 conicto -651 768 763 768 conicto -853 768 901 710 conicto -950 653 960 512 conicto -1044 449 1180 416 conicto -1316 384 1504 384 conicto -1836 384 2027 493 conicto -2112 543 2112 606 conicto -2112 693 2002 744 conicto -1892 794 1538 837 conicto -1029 897 866 1021 conicto -704 1145 704 1339 conicto -704 1508 817 1659 conicto -930 1811 1154 1915 conicto -1446 2048 1782 2048 conicto -1939 2048 2077 2016 conicto -2216 1985 2336 1920 conicto -2438 1984 2504 1984 conicto -2580 1984 2634 1935 conicto -2688 1886 2688 1821 conicto -2688 1775 2668 1687 conicto -2641 1577 lineto -2602 1417 2515 1348 conicto -2429 1280 2316 1280 conicto -2225 1280 2168 1333 conicto -2112 1386 2112 1472 conicto -end_ol grestore -gsave 12.016100 22.100000 translate 0.035278 -0.035278 scale -start_ol -1580 1536 moveto -1385 650 lineto -1371 581 1371 537 conicto -1371 478 1424 442 conicto -1511 384 1712 384 conicto -2057 384 2379 523 conicto -2503 576 2566 576 conicto -2641 576 2689 528 conicto -2737 480 2737 402 conicto -2737 301 2655 226 conicto -2539 118 2193 27 conicto -1848 -64 1596 -64 conicto -1388 -64 1199 7 conicto -1061 58 977 169 conicto -894 280 894 423 conicto -894 496 909 567 conicto -1122 1536 lineto -935 1536 lineto -764 1536 702 1583 conicto -640 1630 640 1713 conicto -640 1846 784 1936 conicto -861 1984 1039 1984 conicto -1221 1984 lineto -1325 2388 lineto -1359 2550 1438 2619 conicto -1517 2688 1619 2688 conicto -1697 2688 1749 2648 conicto -1802 2609 1802 2558 conicto -1802 2522 1781 2450 conicto -1679 1984 lineto -2499 1984 lineto -2648 1984 2701 1937 conicto -2755 1890 2755 1805 conicto -2755 1676 2630 1587 conicto -2561 1536 2404 1536 conicto -1580 1536 lineto -end_ol grestore -showpage diff --git a/helm/papers/calculemus-2003/eps/interfaces.dia b/helm/papers/calculemus-2003/eps/interfaces.dia deleted file mode 100644 index e62bb5f234f2b441e2676a41e1a79caa12f40a01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2276 zcmVM+tWN@$YBF@sAAwhUJ zP-&P&aXP;l{_Ddp*WU2Q+pG6c9Q**^^E_A%;EJ@+f87ihWx4ucG}>%7D0wJ?GRsjC zuTh~!{|k~N7{QxH!`t1fqo54x7lN|PFP z%Vm(y<8*5(S3y!&gCdVo+O`%`D^?OKR&py=;$pJO@-h$Na%*XtWr+&X+E|&dRa;X< z7$ndi2M&?824-Y7)*;CjeHpdUPb$pzZ>2VhV79gyu%aL!J$kgE?NClVVIT@&M-; zo?F3r2VYNsT_9pIE1Uv6L4FVT^8lV2Gde@mAxK!_bOHcJ95~$rW_JW~Em69mmnU$} zk#7s!STc)8pL;@4qD3 zCR_x034s4ct|B!9CnI>8g{mkT@Xt;0PpBhp0G|-8+cnn5lmhs*)V2eA6Aw?|onRYK zr|lOImf<-|;?-o4rp6`A0y*uL`CTu=Uq0jY~lCcfZHwVo<^5`v#P_#;YSslP2ij* zkT_&SY08KgaYxz-7hPlIR;CtF*f!QtjggJ zn5oY}%g|iqy0}b2Hty6nNyx@I1;Ao@UkID*J3hn8J|j%Cukt|jKC>2V z-E;eZwFN9ug-NBJqi09AMi|T-bu%u`i2wK5uFKCSft$A94K+>Vs4&t~Dz>w*4I35MF zULXDa_LOYerEijpWe4HPP3Y_7K!Da~uB>voxKH&F1}>`DFUMF?Yh=9R@_rGmid;)% zOpxGQdOaB%k+Ii_jJYKY3Ww=@25udLg*Y$ zBCB;H#RN0ENkgIZ;g2B{N?~RcFExfzB|=?r z2*tG9-{xpBKLo2YM~J1ZALPpV<|%CK>OhJ^*m>gaKi2`pBZK73rK_3ROtM?d#VT%#KNv6~L{0=~M(rSV3n4*WSp z*f|+q8{Hk1{`A;Hlul^59WjhRgX8-` -rPJ"&!5a9eJH3(Xmf*:(mf*:(mf34%!J(6%Tn/ngTn/p!U$hp\_X@F(_XIMT~> -rOqY!!53rRJXj- -rOi42n%A^JJH16$[/^4,n%AaKs6mW%HiNQJ!.4[X!IFftS:R2]S:R3lS,iTX]`EK[n%AaKs7!^P~> -rPAR7n%o'UJH16$[/^4,n%o*Vs6mf*JcG2U!.k*c!J(6%Tn/ngTn/p!T`G,]_?#5fn%o*Vs7!mU~> -rOi42n%A^JJXh:][@@6sn%AaKs6mW%HiNQJ!.4[X!IFftS:R2]S:R3lS,iTX]`EK[n%AaKs7!^P~> -rOi42n%A^JJH16$[/^4,n%AaKs6mW%HiNQJ!.4[X!IFftS:R2]S:R3lS,iTX]`EK[n%AaKs7!^P~> -rPAR7n%o'UJH16$[/^4,n%o*Vs6mf*JcG2U!.k*c!J(6%Tn/ngTn/p!T`G,]_?#5fn%o*Vs7!mU~> -rOi42n%A^JJXh:][@@6sn%AaKs6mW%HiNQJ!.4[X!IFftS:R2]S:R3lS,iTX]`EK[n%AaKs7!^P~> -rOi42n%A^JJH16$[/^7-^%'&D]mKdmn\kUDHiLeL` -rPAR7n%o'UJH16$[/^4,n%o*Vs6mf*JcG2U!.k*c!J(6%Tn/ngTn/p!T`G,]_?#5fn%o*Vs7!mU~> -rOi42n%A^JJXh:][@@9t^%'&D]mKdmn\kUDHiLeL` -rOi42n%AgM!<<)r!<<*!!<<(M!9sRas3q&Ks5a7\s5X1[s2b6As1RsA"20']^%'&D]mKdmn\kOB -Hi:VYHN8VeJXh:]JXkhl!WTk'`<3f#s1RsA"20']^%''l~> -rPAR7n%o0X!<<)r!<<*!!<<(M!9sRas3q&Ks5a7\s5X1[s2b6@s6mf*JcG2U!J1:>_>o/c_?#2f -JY@XgJY@Xgje2\Sn%o*Vs6mf*JcG5VJ,~> -rOi42n%AgMSH&WdSH&WhSH&V?SEcXEs4!S=s5fdNs5]^Ms2gc3s1RsA"20']^%'&D]mKdmn\kOB -Hi:VYHN8VeJXh:]JXkhl!WTk'`<3f#s1RsA"20']^%''l~> -rOi:4]tOCEq7Qe.rk/D\!<<)r!<<*!!<<(M!9sRas4%,Ks7lZps6fsfs5X1[s2b6As1RsA"hf9_ -]u@t`!<:"?]mKdmrl+m;qo/R8rl"oOHi:VYHN8VeJXh:]JXkhl!WTk'` -rPAX9_SZ6Oq8*+3rk\bg!<<)r!<<*!!<<(M!9sRas4%,Ks7lZps6fsfs5X1[s2b6@s6mf*JcG_d -o`5!.!J1:L_Z'W5_Z'W7_>o/c_?#2fJY@XgJY@Xgje2\Sn%o*Vs8Kn.!<0h9JcG\crrDr5rrE&8 -J,~> -rOi:4]tO@Eq7Qb.rk/D\SH&WdSH&WhSH&V?SEcXEs4*Y=s7r2bs6lKXs5]^Ms2gc3s1RsA"hf9_ -]u@t`!<:"?]mKdmrl+m;qo/R8rl"oOHi:VYHN8VeJXh:]JXkhl!WTk'` -rOi42rk8:1qn3"0rOi;[!<<)r!<<*!!<<(M!9sRas4%,Ls7cTos3LcGs2b6As1RsA"hf9_]u@t` -!<:"?]mKdmrl+j:rPea9rl"oOHi:VYHN8VeJXh:]JXkhl!WTk'` -rPAR7rkeU6qn`=5rPAYf!<<)r!<<*!!<<(M!9sRas4%,Ls7cTos3LcGs2b6@s6mf*JcG_do`5!. -!J1:L_YsQ6_YsQ6_>o/c_?#2fJY@XgJY@Xgje2\Sn%o*Vs8Kn.!<0h9JcG\crW)o6rW)r7J,~> -rOi42rk871qn2t0rOi;[SH&WdSH&WhSH&V?SEcXEs4*Y>s7i,as3R;9s2gc3s1RsA"hf9_]u@t` -!<:"?]mKdmrl+j:rPea9rl"oOHi:VYHN8VeJXh:]JXkhl!WTk'` -rOi42rOr10rOi42r4N2Z!<<)r!<<*!!<<'!!<3#s!<<)t!<<)t!<3!"!<<)u!;uli!<<)t!<<)t -!<)rr!<<)t!<<*!!<<'#!<<)r!<<'!!<3#q!<)rr!<<'%!<<'!!;ulp!<)rr!<<'!!<)rr!;ulr -!<<)q!<<'!!<3#s!<<'#!<<)u!<)rp!<)rr!<)ro!<)rt!<<'%!<<'!!;ulr!<<*!!<<'!!<)rq -!<)rr!<<''!<<'!!<<)@!!3,5n\k^GHiLdu`;oYO"ouW]]mKdmrPea9s2Fs;rP\fNHi:VYHN8Ve -JXh:]JXkhl!WTk'` -rPAR7rPJL5rPAO7r5&Pe!<<)r!<<*!!<<'!!<3#s!<<)t!<<)t!<3!"!<<)u!;uli!<<)t!<<)t -!<)rr!<<)t!<<*!!<<'#!<<)r!<<'!!<3#q!<)rr!<<'%!<<'!!;ulp!<)rr!<<'!!<)rr!;ulr -!<<)q!<<'!!<3#s!<<'#!<<)u!<)rp!<)rr!<)ro!<)rt!<<'%!<<'!!;ulr!<<*!!<<'!!<)rq -!<)rr!<<''!<<'!!<<)@!!*&f_?#5frk\X8pVHn1rk\\es89b5!<9q8!;s\6Jc3FdJH17pJY@Xg -JYD2!!<;N)!J1:M_>jT1_>jT8_?#5fr5/F5s2+a8rPF'~> -rOi42rOr.0rOi12r4N2ZSH&WdSH&WhSH&ThSGrQeSH&WfSH&WfSGrNiSH&WgSG`E[SH&WfSH&Wf -SGiKdSH&WfSH&WhSH&TjSH&WdSH&ThSGrQcSGiKdSH&TlSH&VZSG`EbSGiKdSH&ThSGiKdSG`Ed -SH&WcSH&ThSGrQeSH&TjSH&WgSGiKbSGiKdSGiKaSGiKfSH&TlSH&VZSG`EdSH&WhSH&ThSGiKc -SGiKdSH&TnSH&VZSH&W2S,rZ'n\k^GHiLdu`;oYO"ouW]]mKdmrPea9s2Fs;rP\fNHi:VYHN8Ve -JXh:]JXkhl!WTk'` -rOi42r4W(/s1JF4qn3#W!;HNn!;c`p!<<)t!<<)u!;c`q!;c`p!<<)r!<<)t!<<)u!;lfq!<<)t -!<<*!!;ulo!;c`o!;lfq!;uis!;c`p!;lfq!;ZZp!;c`q!<<)q!;c`p!;uls!;lfp!;lfq!<)ro -!<)rt!;uis!;c`q!<<*!!;ZZo!;lfq!;uls!<<)@!!3,5n\k^GHiLdu`;oYO"ouW]]mKdmr5JO5 -r5A]MHi:VYHN8VeJXh:]JXkhl!WTk'` -rPAR7r5/C4s2"a9qn`Ab!;HNn!;c`p!<<)t!<<)u!;c`q!;c`p!<<)r!<<)t!<<)u!;lfq!<<)t -!<<*!!;ulo!;c`o!;lfq!;uis!;c`p!;lfq!;ZZp!;c`q!<<)q!;c`p!;uls!;lfp!;lfq!<)ro -!<)rt!;uis!;c`q!<<*!!;ZZo!;lfq!;uls!<<)@!!*&f_?#5frk\X8pVHn1rk\\es80\1!;jV5 -Jc3FdJH17pJY@XgJYD2!!<;N)!J1:M_>jT1_>jT8_?#5fqni41r5*s~> -rOi42r4W%/s1JC4qn3#WSG3'`SGN9bSH&WfSH&WgSGN9cSGN9bSH&WdSH&WfSH&WgSGW?cSH&Wf -SH&WhSG`EaSGN9aSGW?cSG`BeSGN9bSGW?cSGE3bSGN9cSH&WcSGN9bSG`EeSGW?bSGW?cSGiKa -SGiKfSG`BeSGN9cSH&WhSGE3aSGW?cSG`EeSH&W2S,rZ'n\k^GHiLdu`;oYO"ouW]]mKdmr5JO5 -r5A]MHi:VYHN8VeJXh:]JXkhl!WTk'` -rOi42qn<"/!PSO0]`EH[p](6nrr;uurr;uus8W#ts8W*!rr;uurr;uus8W&us8W&us8Voqs8W&u -s8W*!rr;uurr;uus8W#ts8W*!rr;corr;uurr;uus8W#ts8W*!rr;rts8W&us8W*!rr;uurr;uu -rr;rts8W*!s8W&us8W*!s8Voqrr;uurr;uurr;rtrr;uurr;uurr;uurr;rts8Vios8W&urr;rt -s8W&us8W*!s8W*!rr;rts8W*!s8W#ts8W*!rr;oss8U1@!WTk'` -rPAR7qni=4!Q"j5_?#2fp](6nrr;uurr;uus8W#ts8W*!rr;uurr;uus8W&us8W&us8Voqs8W&u -s8W*!rr;uurr;uus8W#ts8W*!rr;corr;uurr;uus8W#ts8W*!rr;rts8W&us8W*!rr;uurr;uu -rr;rts8W*!s8W&us8W*!s8Voqrr;uurr;uurr;rtrr;uurr;uurr;uurr;rts8Vios8W&urr;rt -s8W&us8W*!s8W*!rr;rts8W*!s8W#ts8W*!rr;oss8U1@!<;N)!J1:M_>jT1_>jT8_?#5fqSN12 -qSE5`rPASd!.ghpTn/ngU#hsJs6mf*JcG_d!!)c1!!*#8!J1:I_YjK3_LM~> -rOi42qn;t/!PJL0]`EJMp](8`rr<"grr<"gs8W%fs8W+hrr<"grr<"gs8W(gs8W(gs8Vqcs8W(g -s8W+hrr<"grr<"gs8W%fs8W+hrr;earr<"grr<"gs8W%fs8W+hrr;tfs8W(gs8W+hrr<"grr<"g -rr;tfs8W+hs8W(gs8W+hs8Vqcrr<"grr<"grr;tfrr<"grr<"grr<"grr;tfs8Vkas8W(grr;tf -s8W(gs8W+hs8W+hrr;tfs8W+hs8W%fs8W+hrr;qes8U32!WTk'` -rOi42qRm"2^&S-/]`WT]s8Vrrs8W*!s8W#ts8W*!s8W#ts8W*!s8W#ts8W*!rVuEgs8W*!s8W&u -s8W#ts8W*!s8W#ts8W*!s8Vios8W#ts8W*!q>^Hps8W#trVucqs8W#ts8W*!s8W#ts8Vrrrr;uu -s8Voqs8W#ts8W*!s8W#ts8W#ts8W*!s8W#ts8W&us8Vios8W&us8Vlprr;uus8W*!s8W#ts8W*! -q>^Hps8Vus!<:+?!WTk'` -rPAR7qSE=7_>jT4_?5>hs8Vrrs8W*!s8W#ts8W*!s8W#ts8W*!s8W#ts8W*!rVuEgs8W*!s8W&u -s8W#ts8W*!s8W#ts8W*!s8Vios8W#ts8W*!q>^Hps8W#trVucqs8W#ts8W*!s8W#ts8Vrrrr;uu -s8Voqs8W#ts8W*!s8W#ts8W#ts8W*!s8W#ts8W&us8Vios8W&us8Vlprr;uus8W*!s8W#ts8W*! -q>^Hps8Vus!<:+?!<;N)!J1:M_>jT1_>jT8_?#5fqSN12qSE5`rPASd!.ghpTn/ngU#hsJs6mf* -JcG_d!!)c1!!*#8!J1:I_YjK3_LM~> -rOi42qRlt2]`8'/]`WVOs8Vtds8W+hs8W%fs8W+hs8W%fs8W+hs8W%fs8W+hrVuGYs8W+hs8W(g -s8W%fs8W+hs8W%fs8W+hs8Vkas8W%fs8W+hq>^Jbs8W%frVuecs8W%fs8W+hs8W%fs8Vtdrr<"g -s8Vqcs8W%fs8W+hs8W%fs8W%fs8W+hs8W%fs8W(gs8Vkas8W(gs8Vnbrr<"gs8W+hs8W%fs8W+h -q>^Jbs8W"e!<:-1!WTk'` -rOi42qn3%1^&A!.]`WT]s8Vrrs8W*!s8W#ts8W*!s8W#ts8W*!s8W#ts8W&ur;Z?gs8N-#s8W&u -s8W#ts8W*!s8W#ts8W*!s8Vios8W#ts8W*!q>^Hps8Vusr;Z`rs8W#ts8W*!s8W#ts8W&uqu?Zr -s8Voqs8W#ts8W*!s8W#ts8W#ts8W*!s8W#ts8W&us8Vios8W&us8Vusqu?Zrs8W*!s8W#ts8W*! -q>^Hps8Vus!<:+?!WTk'` -rPAR7qn`@6_YjK3_?5>hs8Vrrs8W*!s8W#ts8W*!s8W#ts8W*!s8W#ts8W&ur;Z?gs8N-#s8W&u -s8W#ts8W*!s8W#ts8W*!s8Vios8W#ts8W*!q>^Hps8Vusr;Z`rs8W#ts8W*!s8W#ts8W&uqu?Zr -s8Voqs8W#ts8W*!s8W#ts8W#ts8W*!s8W#ts8W&us8Vios8W&us8Vusqu?Zrs8W*!s8W#ts8W*! -q>^Hps8Vus!<:+?!<;N)!J1:M_>jT1_>jT8_?#5fqni41qn`>arPASd!.ghpTn/ngU#hsJs6mf* -JcG_d!!)c1!!*#8!J1:J_YX?2_LM~> -rOi42qn3"1^&7s.]`WVOs8Vtds8W+hs8W%fs8W+hs8W%fs8W+hs8W%fs8W(gr;ZAYs8N.js8W(g -s8W%fs8W+hs8W%fs8W+hs8Vkas8W%fs8W+hq>^Jbs8W"er;Zbds8W%fs8W+hs8W%fs8W(gqu?\d -s8Vqcs8W%fs8W+hs8W%fs8W%fs8W+hs8W%fs8W(gs8Vkas8W(gs8W"equ?\ds8W+hs8W%fs8W+h -q>^Jbs8W"e!<:-1!WTk'` -rOi42r4N+1rk8:1r4N2Z!<<)r!<<*!!<<)t!<<*!!<<)t!<<*!!<<)t!<<)r!<3#j!<<'#!<<)u -!<<)t!<<*!!<<)t!<<*!!<<)o!<<)t!<<*!!<<)p!<<)p!<3#u!<<)t!<<*!!<<)t!<<*!!<3#u -!<<*!!<<)q!<<)t!<<*!!<<)t!<<)t!<<*!!<<)t!<<)u!<<)o!<<)u!<<)t!<3#u!<<*!!<<*! -!<<)t!<<*!!<<)p!<<)s!!*&?!!3,5n\k^GHiLdu`;oYO"ouW]]mKdmrPea9s2Fs;rP\fNHi:VY -HN8VeJXh:]JXkhl!WTk'` -rPAR7r5&F6rkeU6r5&Pe!<<)r!<<*!!<<)t!<<*!!<<)t!<<*!!<<)t!<<)r!<3#j!<<'#!<<)u -!<<)t!<<*!!<<)t!<<*!!<<)o!<<)t!<<*!!<<)p!<<)p!<3#u!<<)t!<<*!!<<)t!<<*!!<3#u -!<<*!!<<)q!<<)t!<<*!!<<)t!<<)t!<<*!!<<)t!<<)u!<<)o!<<)u!<<)t!<3#u!<<*!!<<*! -!<<)t!<<*!!<<)p!<<)s!!*&?!!*&f_?#5frk\X8pVHn1rk\\es89b5!<9q8!;s\6Jc3FdJH17p -JY@XgJYD2!!<;N)!J1:M_>jT1_>jT8_?#5fr5/F5s2+a8rPF'~> -rOi42r4N(1rk871r4N2ZSH&WdSH&WhSH&WfSH&WhSH&WfSH&WhSH&WfSH&WdSGrQ\SH&TjSH&Wg -SH&WfSH&WhSH&WfSH&WhSH&WaSH&WfSH&WhSH&WbSH&WbSGrQgSH&WfSH&WhSH&WfSH&WhSGrQg -SH&WhSH&WcSH&WfSH&WhSH&WfSH&WfSH&WhSH&WfSH&WgSH&WaSH&WgSH&WfSGrQgSH&WhSH&Wh -SH&WfSH&WhSH&WbSH&WeS,iT1S,rZ'n\k^GHiLdu`;oYO"ouW]]mKdmrPea9s2Fs;rP\fNHi:VY -HN8VeJXh:]JXkhl!WTk'` -rOi42rOi42r4W(/rOi;[!<<)r!<<*!!<3#u!<3#u!<<)u!<3#u!<3#u!<3#u!<<)u!<<)k!<)rr -!<3#u!<3#u!<<)u!<3#u!<<)o!<3#u!<3#u!<3#u!<3#u!<<)t!<<)u!<<*!!<3#u!<3#u!<<)t -!<<*!!<<)u!<<*!!<<)q!<3#u!<3#u!<<)t!<3#u!<3#u!<3#u!<3#t!<<)o!<<)u!<<)t!<<)u -!<<*!!<<*!!<<)t!<<*!!<3#u!<3#u!<<)9!!3,5rl+[5r5AlRHiLdu`;oYO"ouW]]mKdmrl+j: -rPea9rl"oOHi:VYHN8VeJXh:]JXkhl!WTk4`VBN3` -rPAR7rPAO7r5/C4rPAYf!<<)r!<<*!!<3#u!<3#u!<<)u!<3#u!<3#u!<3#u!<<)u!<<)k!<)rr -!<3#u!<3#u!<<)u!<3#u!<<)o!<3#u!<3#u!<3#u!<3#u!<<)t!<<)u!<<*!!<3#u!<3#u!<<)t -!<<*!!<<)u!<<*!!<<)q!<3#u!<3#u!<<)t!<3#u!<3#u!<3#u!<3#t!<<)o!<<)u!<<)t!<<)u -!<<*!!<<*!!<<)t!<<*!!<3#u!<3#u!<<)9!!*&t_YF3/_?#5frk\X8pVHn1rk\\es8Bh6!<'e6 -!<'b7Jc3FdJH17pJY@XgJYD2!!<<#7q#LjT1_>jT8_?#5frPJO6rPJO6rka0~> -rOi42rOi12r4W%/rOi;[SH&WdSH&WhSGrQgSGrQgSH&WgSGrQgSGrQgSGrQgSH&WgSH&W]SGiKd -SGrQgSGrQgSH&WgSGrQgSH&WaSGrQgSGrQgSGrQgSGrQgSH&WfSH&WgSH&WhSGrQgSGrQgSH&Wf -SH&WhSH&WgSH&WhSH&WcSGrQgSGrQgSH&WfSGrQgSGrQgSGrQgSGrQfSH&WaSH&WgSH&WfSH&Wg -SH&WhSH&WhSH&WfSH&WhSGrQgSGrQgSH&W+S,rZ'rl+[5r5AlRHiLdu`;oYO"ouW]]mKdmrl+j: -rPea9rl"oOHi:VYHN8VeJXh:]JXkhl!WTk4`VBN3` -rOi42rk/=3qRuk-rk/D\!<<)r!<<*!!;c`p!;ZZo!;c`q!;c`p!<<)o!<3#r!;lfq!;ZZp!<<)o -!;c`o!;lfq!<<)t!;c`p!;lfq!<<)t!<<*!!;c`q!<<)q!;c`p!<<)s!;lfp!;lfp!<<)o!<3#u -!<<)t!;c`q!<<*!!<<)t!<<)u!;lfq!<<)s!<<)@!!3,5rl+[5r5AiQHiLdu`Us62`<3f#s1SEN -rrDr8rrE&;!PNjY]`EH[JXh:]JXh:]jdZAO^&H"H!;se>]mKdm`PqKMs2>)RHiLeY`W#r8`W#r; -`II~> -rPAR7rk\X8qSN12rk\bg!<<)r!<<*!!;c`p!;ZZo!;c`q!;c`p!<<)o!<3#r!;lfq!;ZZp!<<)o -!;c`o!;lfq!<<)t!;c`p!;lfq!<<)t!<<*!!;c`q!<<)q!;c`p!<<)s!;lfp!;lfp!<<)o!<3#u -!<<)t!;c`q!<<*!!<<)t!<<)u!;lfq!<<)s!<<)@!!*&t_YF3/_?#5frke=.rk\\es8Bh7!;jY5 -!<'b7Jc3FdJH17pJY@XgJYD2!!<<#7q#L -rOi42rk/:3qRuh-rk/D\SH&WdSH&WhSGN9bSGE3aSGN9cSGN9bSH&WaSGrQdSGW?cSGE3bSH&Wa -SGN9aSGW?cSH&WfSGN9bSGW?cSH&WfSH&WhSGN9cSH&WcSGN9bSH&WeSGW?bSGW?bSH&WaSGrQg -SH&WfSGN9cSH&WhSH&WfSH&WgSGW?cSH&WeSH&W2S,rZ'rl+[5r5AiQHiLdu`Us62`<3f#s1SEN -rrDr8rrE&;!PNjY]`EH[JXh:]JXh:]jdZAO^&H"H!;se>]mKdm`PqKMs2>)RHiLeY`W#r8`W#r; -`II~> -rOi=5]tOI@^&A!2]`WT]s8Vrrs8W*!s8N'!rr;lrrVlp!s8W#trr3$"s8W&ur;Z]qs8Vios8Voq -rVucqrVm'%s8N'!s8Vios8N'!rr;iqrVufrs8Vusr;ZZprVufrs8W#ts8W&urr2rurr3$"s8Voq -s8N'!rr;oss8VrrrVu`prVucqs8Vfns8W*!s8Vusrr2rurr30&s8N'!s8W#ts8W#trVufrs8Vus -s8U1@!WTk'`<3f#s1RsA"20']^%'&B]mK^k!IFftS:R2]S:R3lS,rZ'n\kUDHiLeL`<3f#s1RsA -J,~> -rPA[:_SQhs8Vrrs8W*!s8N'!rr;lrrVlp!s8W#trr3$"s8W&ur;Z]qs8Vios8Voq -rVucqrVm'%s8N'!s8Vios8N'!rr;iqrVufrs8Vusr;ZZprVufrs8W#ts8W&urr2rurr3$"s8Voq -s8N'!rr;oss8VrrrVu`prVucqs8Vfns8W*!s8Vusrr2rurr30&s8N'!s8W#ts8W#trVufrs8Vus -s8U1@!<;N)!J1:>_?#5fn%o'UrPASd!.ghpTn/ngU#hsJs6mf*JcG2U!J1:?_LM~> -rOi=5]tFF@^&7s2]`WVOs8Vtds8W+hs8N(hrr;ndrVlqhs8W%frr3%is8W(gr;Z_cs8Vkas8Vqc -rVuecrVm(ls8SUZs8Vkas8N(hrr;kcrVuhds8W"er;Z\brVuhds8W%fs8W(grr2tgrr3%is8Vqc -s8N(hrr;qes8VtdrVubbrVuecs8Vh`s8W+hs8W"err2tgrr31ms8SUZs8W%fs8W%frVuhds8W"e -s8U32!WTk'`<3f#s1RsA"20']^%'&B]mK^k!IFftS:R2]S:R3lS,rZ'n\kUDHiLeL`<3f#s1RsA -J,~> -rOi42n%A^Jg&V0Ql2^kah#RKT\cDd1JH4g4!WTk'`<3f#s1RsA"20']^%'&B]mK^k!IFftS:R2] -S:R3lS,rZ'n\kUDHiLeL`<3f#s1RsAJ,~> -rPAR7n%o'Ug&V0Ql2^kah#RKT\cDd1JH4g4!<;N)!J1:>_?#5fn%o'UrPASd!.ghpTn/ngU#hsJ -s6mf*JcG2U!J1:?_LM~> -rOi42n%A^Jg783ClC@nSh44NF\t&g#JXkkm!WTk'`<3f#s1RsA"20']^%'&B]mK^k!IFftS:R2] -S:R3lS,rZ'n\kUDHiLeL`<3f#s1RsAJ,~> -rOi42n%A^JhuNcVrrE&ul2^kah#RKT\cDd1JH4g4!<;N$!IOk8]`EK[n%A^JrOi5Y!.gYkS:R2] -SE67@s6mW%HiNQJ!IOk9]mp~> -rPAR7n%o'UhuNcVrrE&ul2^kah#RKT\cDd1JH4g4!<;N)!J1:>_?#5fn%o'UrPASd!.ghpTn/ng -U#hsJs6mf*JcG2U!J1:?_LM~> -rOi42n%A^Ji10fHs.')glC@nSh44NF\t&g#JXkkm!<;N$!IOk8]`EK[n%A^JrOi5Y!.gYkS:R2] -SE67@s6mW%HiNQJ!IOk9]mp~> -rOi42n%A^JhZ3QRlN$qag]7BS\cDd1JH4g4!<;N$!IOk8]`EK[n%A^JrOi5Y!.gYkS:R2]SE67@ -s6mW%HiNQJ!IOk9]mp~> -rPAR7n%o'UhZ3QRlN$qag]7BS\cDd1JH4g4!<;N)!J1:>_?#5fn%o'UrPASd!.ghpTn/ngU#hsJ -s6mf*JcG2U!J1:?_LM~> -rOi42n%A^JhjjTDl^[tSgmnEE\t&g#JXkkm!<;N$!IOk8]`EK[n%A^JrOi5Y!.gYkS:R2]SE67@ -s6mW%HiNQJ!IOk9]mp~> -r4VNFh>mNSl2^kagAq9R\cDd1JH4g4!57fI!57fI!57fIrOi5Y!.gYkS:R2]SE67@^$^4I^$^4I -^$pB!~> -r5.lQh>mNSl2^kagAq9R\cDd1JH4g4!5e/T!5e/T!5e/TrPASd!.ghpTn/ngU#hsJ_X;sT_X;sT -_XN,,~> -r4VNFhOOQElC@nSgRS -rOmd4J^o>%k1'I%rOi5Y!.i[OeUc8%eZ75N~> -rPF-6J^T+tk0a6trPASd!.iRLdXfhtd]:fH~> -rOmd4J^o>%k1'HrrOi5Y!.i[OeUc8%eZ75N~> -rOi3]JY[jmJY_J)!+Po?!IFftUk,=mUk,>BUjr~> -rPAQ_JY@XgJYD8#!+#Q?!J(6%Tn/ngTn/o -rOi3]JY[jmJY_J)!*]?7!IFftUk,=mUk,>BUjr~> -rOi3]JY[jmJY_J)!+Po?!IFftUk,=mUk,>BUjr~> -rPAQ_JY@XgJYD8#!+#Q?!J(6%Tn/ngTn/o -rOi3]JY[jmJY_J)!*]?7!IFftUk,=mUk,>BUjr~> -rOi3]JY[jmJY_J)!+Po?!IFftUk,=mUk,>BUjr~> -rPAQ_JY@XgJYD8#!+#Q?!J(6%Tn/ngTn/o -rOi3]JY[jmJY_J)!*]?7!IFftUk,=mUk,>BUjr~> -rOi3]JY[jmJY_J)!+Po?!IFftUk,=mUk,>BUjr~> -rPAQ_JY@XgJYD8#!+#Q?!J(6%Tn/ngTn/o -rOi3]JY[jmJY_J)!*]?7!IFftUk,=mUk,>BUjr~> -rOi3]JY[jmJY_J)!+Po?!IFftUk,=mUk,>BUjr~> -rPAQ_JY@XgJYD8#!+#Q?!J(6%Tn/ngTn/o -rOi3]JY[jmJY_J)!*]?7!IFftUk,=mUk,>BUjr~> -rOi3]JY[jmJY_J)!+Po?!IFftUk,=mUk,>BUjr~> -rPAQ_JY@XgJYD8#!+#Q?!J(6%Tn/ngTn/o -rOi3]JY[jmJY_J)!*]?7!IFftUk,=mUk,>BUjr~> -rOi3]qkX,ioV;HeJY[jmJYW=B@f -rPAQ_qk -rOi3]qkX,ioV;HeJY[jmJYW=B>5c,8HN8VmJY[jmJY]?BJ,~> -rOi3]q4mujntZ6cJY[jmJYW=B@f -rPAQ_q4Rcgnt?$`JY@XgJY<+ -rOi3]q4mujntZ6cJY[jmJYW=B>5c,8HN8VmJY[jmJY]?BJ,~> -rOi3]q4mujntZ6cJY[jmJYW=B@f -rPAQ_q4Rcgnt?$`JY@XgJY<+ -rOi3]q4mujntZ6cJY[jmJYW=B>5c,8HN;ourW)Ja!!%SGJY[jmJY_;$J,~> -rOi3]q4mujrM9DmrhTMns.fbtUndtjJY[jmKVSTWrOi5Y!8jRP! -rPAQ_q4RcgrLs2jrh9;ks.KPqTqMGdJY@XgKV8BOrPASd!8jIM! -rOi3]q4mujrM9DmrhTMns.fbtUndtjJY[jmKVSTOrOi5Y!8jRP! -rOi3]q4mujrhKMorhKSqU]CCi#6:P"U]@3d!.gqsUkPTE@f -rPAQ_q4Rcgrh0;lrh0AnT`G(c#6:FtT`Cd[!.ghpTnT0??2_V@JH4T$!!)\c!!*"l!!%SDJY@Xg -JYCtpJ,~> -rOi3]q4mujrhKMorhKSqU]CCi#6:P"U]@3d!.gqsUkPTE>5c,8HN;s!!!)\f!!*"o!!%SGJY[jm -JY_2!J,~> -rOi3]q4mujrhKMorhKSqU]CCi"TY=uUne!AUk,=oU]=m&]`NN\!oV#C>uU]@1jU]:DoV#LDuU]@3d!!%SGJY[jmJY_k4J,~> -rPAQ_q4Rcgrh0;lrh0AnT`G(c"TY4rTqMI;Tn/niT`ABs_?,8g!)\T`>)i -U&G&lU&G#lU&G#rT`CbdT`>)lU&P)rT`Cd[!!%SDJY@XgJYDY.J,~> -rOi3]q4mujrhKMorhKSqU]CCi"TY=uUne!AUk,=oU]=Ts]`NN\!oV#C>uU]@1jU]:DoV#LDuU]@3d!!%SGJY[jmJY_k4J,~> -rOi3]q4mujrhKMorhKSqU]CCi!W]"rrhKMoJY[jmKVSTWrOi8Z!!*"o$NQt&UndtjU]@3d!:HZ^ -!<8hp! -rPAQ_q4Rcgrh0;lrh0AnT`G(c!W\norh0;lJY@XgKV8BOrPAVe!!*"l$NQk#TqMGdT`Cd[!:HQ[ -!<8_m!(d!26(dJY@XgJY@Xgo:^[~> -rOi3]q4mujrhKMorhKSqU]CCi!W]"rrhKMoJY[jmKVSTOrOi8Z!!*"o$NQt&UndtjU]@3d!:HZ^ -!<8hp! -rOi3]q4mujrhKMorhKSqU]CCi#6:P"U]@3d!.gqsUkPTE@f -rPAQ_q4Rcgrh0;lrh0AnT`G(c#6:FtT`Cd[!.ghpTnT0??2_VAJH,]LT`P4f!)lT`kFiT`Cbdrh0AnT`G(c!s#$g!.ghpTn/ngU%+h,~> -rOi3]q4mujrhKMorhKSqU]CCi#6:P"U]@3d!.gqsUkPTE>5c,9HN4'FU]LOl! -rOi3]q4mujrM9DmrhTMns.fbtUndtjJY[jmKVSTWrOi8Z!!*"o!W]"rrhKMorhKMolD+I]U]C:f -!!*"o"TY?o!2KVoU]LOl! -rPAQ_q4RcgrLs2jrh9;ks.KPqTqMGdJY@XgKV8BOrPAVe!!*"l!W\norh0;lrh0;llCe7ZT`Ft` -!!*"l"TY6i!20DlT`P4f! -rOi3]q4mujrM9DmrhTMns.fbtUndtjJY[jmKVSTOrOi8Z!!*"o!W]"rrhKMorhKMolD+I]U]C:f -!!*"o"TY?o!2KVoU]LOl! -rOi3]JY[jmJY_J)!+Po?&UOKXUndtjU]@3d!!&epUne"ZU]:DoU]LOl! -rPAQ_JY@XgJYD8#!+#Q?&V0o^TqMGdT`Cd[!!&\mTqMJTT`>)lT`P4f!(d!26(dJY@XgJY@Xgo:^[~> -rOi3]JY[jmJY_J)!*]?7&UOKXUndtjU]@3d!!&epUne"ZU]:DoU]LOl! -rOi3]JY[jmJY_J)!+Po?&:4DQ!!&epUndtjU]@3d!!)D^rW)qnrW)nm!!*"o"9>4tU]CCi$36lt -!!&epUndtjJY[jmJY[jmnt^d~> -rPAQ_JY@XgJYD8#!+#Q?&:jhT!!&\mTqMGdT`Cd[!!)D[rW)qkrW)nj!!*"l"9>+qT`G(c$36cn -!!&\mTqMGdJY@XgJY@XgntCR~> -rOi3]JY[jmJY_J)!*]?7&:4DQ!!&epUndtjU]@3d!!)D^rW)qnrW)nm!!*"o"9>4tU]CCi$36lt -!!&epUndtjJY[jmJY[jmnt^d~> -rOi3]JY[jmJY_J)!+Po?!IFh@U]:D;U]:CGUk,=mUk,?0Ujr~> -rPAQ_JY@XgJYD8#!+#Q?!J(7FT`>)8T`>(DTn/ngTn/p*Tn!~> -rOi3]JY[jmJY_J)!*]?7!IFh@U]:D;U]:CGUk,=mUk,?0Ujr~> -rOi3]JY[jmJY_J)!+Po?!IFhCV#CA -rPAQ_JY@XgJYD8#!+#Q?!J(7IU&G&9U&G%CTn/ngTn/p)Tn!~> -rOi3]JY[jmJY_J)!*]?7!IFhCV#CA -rOi3]JY[jmJY_J)!+Po?!IFftUk,=mUk,>BUjr~> -rPAQ_JY@XgJYD8#!+#Q?!J(6%Tn/ngTn/o -rOi3]JY[jmJY_J)!*]?7!IFftUk,=mUk,>BUjr~> -rOi3]JY[jmJY_J)!+Po?!IFftUk,=mUk,>BUjr~> -rPAQ_JY@XgJYD8#!+#Q?!J(6%Tn/ngTn/o -rOi3]JY[jmJY_J)!*]?7!IFftUk,=mUk,>BUjr~> -rOi3$JRX1>JR[bNrOi5Y!.gqsUk,=mUoU;A~> -rPAQ&JR*h4JR.DDrPASd!.ghpTn/ngTrXl;~> -rOi2qJQdV.JQh2>rOi5Y!.gqsUk,=mUoU;A~> -rOmd4J^o>%jjj=C!IFftUk,=mUk,>BUjr~> -rPF-6J^T+tjjO+E!J(6%Tn/ngTn/o -rOmd4J^o>%jjj=C!IFftUk,=mUk,>BUjr~> -rOi3]e"hP(JRXmR!1a#$!IFftUk,=mUk,>BUjr~> -rPAQ_e"M=uJR+OH!1Ef&!J(6%Tn/ngTn/o -rOi3]e"hOuJQe=B!0mGq!IFftUk,=mUk,>BUjr~> -rOi3]e"ctQJH16$QN.%qec!/^HN8VmJY[jmJY]?BJ,~> -rPAQ_e"HbIJH16$QN.%ldf%#`JH17pJY@XgJYB- -rOi3]e"ctIJH16$QN.%iec!/^HN8VmJY[jmJY]?BJ,~> -rOi3]e"d"R!.hM.[$\3$s4.(]!IFftUk,=mUk,>BUjr~> -rPAQ_e"HeJ!.hG,ZC%ous3gk_!J(6%Tn/ngTn/o -rOi3]e"d"J!.hM.[$\3$s4.(]!IFftUk,=mUk,>BUjr~> -rOi3]e"d"R!.hM.[$\3$s4.(]!IFft@Y&!>@Y&!h@Xn~> -rPAQ_e"HeJ!.hG,ZC%ous3gk_!J(6%?%H:4?%H:^?%;~> -rOi3]e"d"J!.hM.[$\3$s4.(]!IFft>(Kk.>(KkX>(?~> -rOi3]e"d"R!.hM.[$\3$s4.(]!IFftUk,=mUk,>BUjr~> -rPAQ_e"HeJ!.hG,ZC%ous3gk_!J(6%Tn/ngTn/o -rOi3]e"d"J!.hM.[$\3$s4.(]!IFftUk,=mUk,>BUjr~> -rOi3]e"d"R!.hM.[$\3$s4.(]!IFftUk,=mUk,>BUjr~> -rPAQ_e"HeJ!.hG,ZC%ous3gk_!J(6%Tn/ngTn/o -rOi3]e"d"J!.hM.[$\3$s4.(]!IFftUk,=mUk,>BUjr~> -rOi6^!;rVm!;*&e!<&\p!2QFh! -rPAT`!;rMj!;)rb!<&Sm!26+b!l_19!:I,o!3uTUZ@T -rOi6^!;rVm!;*&e!<&\p!2QFh! -rOi6^!;rVm!;*&e!<&\q!2QCjrhKVrUne"bU]b-,['Ti$ZiU67!:[>q!;Wu%!<0A)!<0A)!<0A) -!<0A)!.hM.[,eRps4.(]!IFftUk,=mUk,>BUjr~> -rPAT`!;rMj!;)rb!<&Sn!26(drh0DoTqMJ\T`eX$ZEaJuZ2t$3!:[8o!;Wo#!<0;'!<0;'!<0;' -!<0;'!.hG,ZK/:ls3gk_!J(6%Tn/ngTn/o -rOi6^!;rVm!;*&e!<&\q!2QCjrhKVrUne"bU]aj$['Ti$ZiU67!:[>q!;Wu%!<0A)!<0A)!<0A) -!<0A)!.hM.[,eRps4.(]!IFftUk,=mUk,>BUjr~> -rOi9_!!*"orrD\e!!)tn!s#-m! -rPAWa!!*"lrrD\b!!)tk!s#$g! -rOi9_!!*"orrD\e!!)tn!s#-m! -rOi9_!!*"orr<(q!,!42b*ZiU67!<0>*!;s2(!.hM.[,nXqs4.(]!IFft -Uk,=mUk,>BUjr~> -rPAWa!!*"lrr<(n! -rOi9_!!*"orr<(q!,!42b*ZiU67!<0>*!;s2(!.hM.[,nXqs4.(]!IFft -Uk,=mUk,>BUjr~> -rOiNf!2KUj!2KUj!*!;s22 -!42a5!!'C5!42b*Zj6Z=!49*5['Ti4Zj6Z=ZiIH5['Ti4ZiU67!<0>,!49-4!;s2(!.hM.[,eRp -s4.(]!IFftUk,=mUk,>BUjr~> -rPAlh!20Cd!20Cd!l_19!3uV(Z2t$3!<08(!;s,0 -!3uU1!!'=1!3uV(Z3UH9!4&m1ZEaK0Z3UH9Z2h01ZEaK0Z2t$3!<08*!4&p0!;s,&!.hG,ZK/:l -s3gk_!J(6%Tn/ngTn/o -rOiNf!2KUj!2KUj!*!;s22 -!42a5!!'C5!42b*Zj6Z=!49*5['Ti4Zj6Z=ZiIH5['Ti4ZiU67!<0>,!49-4!;s2(!.hM.[,eRp -s4.(]!IFftUk,=mUk,>BUjr~> -rOiWi!2KUj!2KUjU]@1jq4mujrM0SsUne!d!<&\n!;E8n@K,!42b*ZiC+*ZiC)W["5UEZiU3WrOi5Y!.gqs -Uk,=mUoU;A~> -rPAuk!20Cd!20CdT`Cbdq4RcgrLjApTqMI[!<&Sk!;E/k>l_19!3uV(Z2t$3!;j)#!!BM,Z2jm0 -!W]M+riuV+ZEaK/Z2an&Z3(*4Z2jm0r;Zl(!<08*!3uV(Z2an(Z2alUZ@T=AZ2t!RrPASd!.ghp -Tn/ngTrXl;~> -rOiWi!2KUj!2KUjU]@1jq4mujrM0SsUne!d!<&\n!;E8n=obq:!42b*ZiU67!;j/%!!BS.ZiL*4 -!W]S-rj2b-['Ti3ZiC+(Zi^<8ZiL*4r;Zl*!<0>,!42b*ZiC+*ZiC)W["5UEZiU3WrOi5Y!.gqs -Uk,=mUoU;A~> -rOiWi!2QCjUne!dU]@1jq4mujrM0VtUne!dU]CCi!!)bh#%@S>ZiIH5rj2_,ZiL$2!!*#*"9>e/ -ZiL*4!W]S-rj2Y*rj2Y*rj2Y*r3ZA%r3QM*ZiL*4!W]S-rj2b-['Tga["5UDZiU3WrOi5Y!.gqs -Uk,=mUoU;A~> -rPAuk!26(dTqMI[T`Cbdq4RcgrLjDqTqMI[T`G(c!!)be#$h57Z2h01riuS*Z2jg.!!*#("9>_- -Z2jm0!W]M+riuM(riuM(riuM(r3H5#r3?A(Z2jm0!W]M+riuV+ZEaI]Z@T=@Z2t!RrPASd!.ghp -Tn/ngTrXl;~> -rOiWi!2QCjUne!dU]@1jq4mujrM0VtUne!dU]CCi!!)bh#$M#6ZiIH5rj2_,ZiL$2!!*#*"9>e/ -ZiL*4!W]S-rj2Y*rj2Y*rj2Y*r3ZA%r3QM*ZiL*4!W]S-rj2b-['Tga["5UDZiU3WrOi5Y!.gqs -Uk,=mUoU;A~> -rOiHd!2QCjUne"iU]:DiU]:DnU]UUmU]CCi!s#-m!;E8n@K4!42a5ZiC*5 -!42b*ZiU67!<0>2!42a5ZiIJ?!;Wu(!49*5rj2_,ZiL*4!W]S-rj2_,ZiGZaJ[FCC!WU^K]`EH[ -JY[jmJY[jmX/(7~> -rPAff!26(dTqMJcT`>)fT`>)kT`Y:gT`G(c!s#$g!;E/k>l_19!3uV(Z2t$3!<082!3uU1Z2am1 -!3uV(Z2t$3!<080!3uU1Z2h29!;Wo&!4&m1riuS*Z2jm0!W]M+riuS*Z2fH]J[47?!WUUH_?#2f -JY@XgJY@XgX.b%~> -rOiHd!2QCjUne"iU]:DiU]:DnU]UUmU]CCi!s#-m!;E8n=obq:!42b*ZiU67!<0>4!42a5ZiC*5 -!42b*ZiU67!<0>2!42a5ZiIJ?!;Wu(!49*5rj2_,ZiL*4!W]S-rj2_,ZiGZaJ[FCC!WU^K]`EH[ -JY[jmJY[jmX/(7~> -rOi6^!;rVm! -rPAT`!;rMj!l_19!4&p0!<0;'!<0;(!!TY.Z2h01 -riuS*ZEjH0rj)P(rNZM*ZEaK/Z2an(ZMjk'ZMjk'ZMjk(ZMX]RZ@T=CZ2t!RrPASd!.gikT`V[^ -qXsjihS,h;Tn/ngU$\P(~> -rOi6^!;rVm! -rOi3]pnRlih4t'\!.hM.[$\3$s4.(]!IFftUsc%?eb8.teH -rPAQ_pn7Zfh4XjT!.hG,ZC%ous3gk_!J(6%U!fV:de;\Op!Nr^\uM0LTn/ngU$eV)~> -rOi3]pnRlih4t'T!.hM.[$\3$s4.(]!IFftUsc%?eb8.teH -rOi3]pnRlih4t'\!.hM.[$\3$s4.(]!IFftV!"NS[-%#\!T(NhU]f69e[2FMU^*ukMi4C,[-%#\ -!T(M@Uk,=nUjr~> -rPAQ_pn7Zfh4XjT!.hG,ZC%ous3gk_!J(6%U$&*N[c7/Vrs@PrV4jU2lI*,;oqDD^#G$j2TqSpS -qXsjihS,h;Tn/niTn!~> -rOi3]pnRlih4t'T!.hM.[$\3$s4.(]!IFftV!"NS[-%#\!T(NhU]]08e[4nC#+UU(UnkB[o`"sK -]n)u1Uk5Cm~> -rOi3]e"d"R!.hM.[$\3$s4.(]!IFftV!+TUeb7klbm(kgUn"gceaK:;P[]m-p>5Gd"22(;S:RJe -UkGOo~> -rPAQ_e"HeJ!.hG,ZC%ous3gk_!J(6%U$/0Pde;D?ou[KQZDEttpVde;D?ou[BNZDEt? -Tn/njTn!~> -rOi3]e"d"J!.hM.[$\3$s4.(]!IFftV!+TUeb7klbm(kgUn"gceaK:;P[]R$p>5Gd"22(;S:RJe -UkGOo~> -rOi3]e"d"R!.hM.[$\3$s4.(]!IFftV!4ZWe`P,Xo99EKP`+\d[-sdoP[[hYc)gN$".YU6Mh.[T -UkPUp~> -rPAQ_e"HeJ!.hG,ZC%ous3gk_!J(6%U$86RdcS]KQ1^7DQ'mnkio7E8Ta$cn=m!l'Q1^7BQ'mnk -M1M@OTnT1j~> -rOi3]e"d"J!.hM.[$\3$s4.(]!IFftV!4ZWe`P,Po99EKP_8,\[-sdoP[[hYc(srq".YU.K7ThL -UkPUp~> -rOi3]e"d"R!.hM.[$\3$s4.(]!IFftV!=`W[._c5PQQjDeZA58".WgCc0pkuMcu?rUk,=rUjr~> -rPAQ_e"HeJ!.hG,ZC%ous3gk_!J(6%U$A -rOi3]e"d"J!.hM.[$\3$s4.(]!IFftV!=`W[._c5PQHdCeaB48S73Vcn!!m3>)Rs-JY\$rJ,~> -rOi3]e"m"QJcC<$Qi@'9rOi5Y!.gs2U]T]8XRDATKE'KhU]P!*XRDATK48#8Uk,=rUjr~> -rPAQ_e"QeIJcC<$Qi@'6rPASd!.gj/T`X6-V=0NJL&]TgT`SL"V=0NJKje,8Tn/nlTn!~> -rOi3]e"m"IJcC<$Qi@'9rOi5Y!.gs2U]T]8V!jNLKE'KhU]O^"V!jNLK48#8Uk,=rUjr~> -rOi3]e"cu6J^o>%Q.>iH!IFftV!=`Vs39tr!fR*/mA'bl!:H'QMcq6SUk,=rUjr~> -rPAQ_e"Hc0J^T+tQ.#WJ!J(6%U$Al^/YOTLMJ,_;Y?Tn]7k~> -rOi3]e"cu.J^o>%Q.>iH!IFftV!=`Vs39tr!fR*/mA'bd!:H'QMcq6SUk,=rUjr~> -rOi3]g8':/JRXXK!1a#$!IFftV!=`Vs39qq!WU^;U]Fp)m?@WL!.gqsUkY[q~> -rPAQ_g7a('JR+:A!1Ef&!J(6%U$A -rOi3]g8':'JQe(;!0mGq!IFftV!=`Vs39qq!WU^;U]FX!m?@WL!.gqsUkY[q~> -rOi3]g8"^XJH16$O8o;jec!/^HN8VmlD+I\c0^_rs4.%CrW)Ve!Fc&rPQ=Y^JY[jmL89>~> -rPAQ_g7\LPJH16$O8o;edf%#`JH17plCe7Yb3b;ls3gh=rW)Vb!F5]mOTAG^JY@XgL7s+~> -rOi3]g8"^PJH16$O8o;bec!/^HN8VmlD+I\c0^_rs4.%CrW)Ve!EoKjPQ=Y^JY[jmL89>~> -rOi3]g8"aY!.hM.[#q]rs4.(]!IFg/V!hamSF**Qs3:J+rW)VU!WU^KU]:DoU]LOlV#CAkU]Fp) -r070\oooJT!.gqsUkY[q~> -rPAQ_g7\OQ!.hG,ZB;Ens3gk_!J(65U$l7eRI-[Ks2t8%rW)VR!WUUHT`>)lT`P4fU&G&hT`JF! -r/psYooT8T!.ghpTn]7k~> -rOi3]g8"aQ!.hM.[#q]rs4.(]!IFg/V!hIePjP7Is3:J+rW)VU!WU^KU]:DoU]LOlV#CAkU]FX! -r070\oooJT!.gqsUkY[q~> -rOi3]g8"aY!.hM.[#q]rs4.(]!IFg2@KW-rUgiio!FjUHU]LM?rKI9^rfdHaPa).Iqih-]ebQ!B -!2KVoU]:DmU]Fp)rKI9^rfdE`Pl(OZPQ=Y^JY[jmL89>~> -rPAQ_g7\OQ!.hG,ZB;Ens3gk_!J(68>m$LgTj@0g!F=.@T`P29rK.'[rfI6^OcfVCqiLpZdeTR< -!20DlT`>)jT`JF!rK.'[rfI3]Oo,4WOTAG^JY@XgL7s+~> -rOi3]g8"aQ!.hM.[#q]rs4.(]!IFg2=p("bUg!9g!F"%@U]LM?rKI9^rfdHaPa).Iqih-]ebQ!B -!2KVoU]:DmU]FX!rKI9^rfdE`Pl(OZPQ=Y^JY[jmL89>~> -rOi3]g8"aY!.hM.[#q]rs4.(]!IFg2rrglJUga>qrrT"rea9.5s3:A(!W\GbrfdB_r0.6^ebQ!B -!2KViU]Fp)q31jZr0.0]r0.4[!.gqsUkY[q~> -rPAQ_g7\OQ!.hG,ZB;Ens3gk_!J(68rrgcDTj7ZirrT%sdd<_/s2t/"!W\>_rfI0\r/h$[deTR< -!20DfT`JF!q2kXWr/gsZr/h"[!.ghpTn]7k~> -rOi3]g8"aQ!.hM.[#q]rs4.(]!IFg2rrglJUfmcirrT"rea9.5s3:A(!W\GbrfdB_r0.6^ebQ!B -!2KViU]FX!q31jZr0.0]r0.4[!.gqsUkY[q~> -rOi3]g8"aY!.hM.[#q]rs4.(]!IFg2rrprKUga?(p"feH!<:U:U]LM?q31jZr0.0]r0.6^ebZ'G -!2QCjU]:DlU]Fp)q31jZrKI9^qih+Z!.gqsUkY[q~> -rPAQ_g7\OQ!.hG,ZB;Ens3gk_!J(68rrpiETj7Zup"feI!<:L7T`P29q2kXWr/gsZr/h$[de]XA -!26(dT`>)iT`JF!q2kXWrK.'[qiLnZ!.ghpTn]7k~> -rOi3]g8"aQ!.hM.[#q]rs4.(]!IFg2rrprKUfmcup"feH!<:U:U]LM?q31jZr0.0]r0.6^ebZ'G -!2QCjU]:DlU]FX!q31jZrKI9^qih+Z!.gqsUkY[q~> -rOi3]r;cJc!!)A]"C_A -rPAQ_r;cJ`!!)AZ"C2#5Z2jlao]p:^WG!<:L7T`P29 -qN1aXrK7*[qiLpZdef^la_`!!)qZ!!)nY!EB,NTn/nlTn!~> -rOi3]r;cJc!!)A]"Bkf4ZiKO$!W]S-J[C!8WjDg,ec!/^HN9<1#1]NF=oeTZp:UQC!<:U:U]LM? -qNLs[rKR<^qih-]ebc-B! -rOi6^!ZiU3W -rOi5Y!0mKfeYK!M!<:pL]`W!Ls4-M4!WUFAPQ1^[PQ1^]PQCg7qkO2lrhKMorhKMor1j@&!;hu\ -!;r&]!;_o\;?29DJY\$rJ,~> -rPAT`!l_19!:I,o!3uUoZ2an#Z2an(ZMjk'ZMjk'ZMjk&Z2alUZ@T=:Z2t!R -rPASd!0mKfd\3@?!<:pL^&r3Ps3g;.!WU=>OT5CXOT5CZOTGL1qk3uirh0;lrh0;lr1O-s!;hlY -!;qrZ!;_fY<<.TDJY@glJ,~> -rOi6^!ZiU3W -rOi5Y!0mKfeYK!E!<:pL]`W!Ls4-M4!WUFAPQ1^[PQ1^]PQCg7qkO2lrhKMorhKMor1j?s!;hu\ -!;r&]!;_o\;?29DJY\$rJ,~> -rOi6^!,!42b*ZigB9ZiC)W -["5U>ZiU3WrOi5Y!0mKfeYK!M!<:pL]`W!Ls4-M4!WUFAPQ1^[PQ1^]PQCg7pS7chrhKMor1j@& -!;hu\!;r&]!;_o\;?29DJY\$rJ,~> -rPAT`!l_19!:I,o!3uUoZ2an$ZMsq)Z2an(Z2t$3!<08*!3uV(Z3105Z2alU -Z@T=:Z2t!RrPASd!0mKfd\3@?!<:pL^&r3Ps3g;.!WU=>OT5CXOT5CZOTGL1pRqQerh0;lr1O-s -!;hlY!;qrZ!;_fY<<.TDJY@glJ,~> -rOi6^!,!42b*ZigB9ZiC)W -["5U>ZiU3WrOi5Y!0mKfeYK!E!<:pL]`W!Ls4-M4!WUFAPQ1^[PQ1^]PQCg7pS7chrhKMor1j?s -!;hu\!;r&]!;_o\;?29DJY\$rJ,~> -rOi6^!,!42b*ZiC+*ZiC)W["5U>ZiU3WrOi5Y -!0mKfeYK!M!<:pL]`W!Ls4-M4!WUF=PQ1^_PQ1^]PQCg7qkO2lrM9DmqkO7%!;;WW!;Vi[;?29D -JY\$rJ,~> -rPAT`!l_19!4&p0!<0;'!<0;'!<9>. -!3uU1!!*#(rW)r'rrE))rW)l%"TYh.ZEaK0Z2t$3!<08*!3uV(Z2an(Z2alUZ@T=:Z2t!RrPASd -!0mKfd\3@?!<:pL^&r3Ps3g;.!WU=:OT5C\OT5CZOTGL1qk3uirLs2jqk4$r!;;NT!;V`X<<.TD -JY@glJ,~> -rOi6^!,!42b*ZiC+*ZiC)W["5U>ZiU3WrOi5Y -!0mKfeYK!E!<:pL]`W!Ls4-M4!WUF=PQ1^_PQ1^]PQCg7qkO2lrM9DmqkO6r!;;WW!;Vi[;?29D -JY\$rJ,~> -rOi3]r;cknrrE%o!!*"o#QUY#Une!dU]CCi!s#+s!<&\n!*!;s22 -!42a5!!'C5!42b*Zj6Z=!49*5['Ti4Zj6Z=ZiIH5['Ti4ZiU67!<0>,!49-4!<'8)!.hM.[+r"h -s4.(]!IFg2rs%#LUga?(hY+VbC&n:amA'd_c23_*!<&/]!;hu]s4-M4!Fc'+PQ1^^PQ1^ZPQ=Y^ -JY[jmL89>~> -rPAQ_r;ckkrrE%l!!*"l#QUOuTqMI[T`G(c!s#"p!<&Sk!l_19!3uV(Z2t$3!<08(!;s,0 -!3uU1!!'=1!3uV(Z3UH9!4&m1ZEaK0Z3UH9Z2h01ZEaK0Z2t$3!<08*!4&p0!<'2'!.hG,ZJ;_d -s3gk_!J(68rs$oFTj7ZuhY+YcD#jUam@aR\b57;$!<&&Z!;hlZs3g;.!F5^&OT5C[OT5CWOTAG^ -JY@XgL7s+~> -rOi3]r;cknrrE%o!!*"o#QUY#Une!dU]CCi!s#+s!<&\n!*!;s22 -!42a5!!'C5!42b*Zj6Z=!49*5['Ti4Zj6Z=ZiIH5['Ti4ZiU67!<0>,!49-4!<'8)!.hM.[+r"h -s4.(]!IFg2rs%#LUfmcuhY+VbC&n:amA'd_c23_*!<&/]!;hu]s4-M4!EoL#PQ1^^PQ1^ZPQ=Y^ -JY[jmL89>~> -rOi6^!o@K,!42b*ZiC+*ZiC)W["5U>ZiU3WrOi5Y!0mKfeYK!M -!<:pL]`W!Ls4-M4!WUF3PQCg7mA'bl!:?!O;?29DJY\$rJ,~> -rPAT`!)lT`G.erW)qkqu?bk!;N5l>l_19!3uV(Z2t$3!;j)#!!BM,Z2jm0!W]M+ -riuV+ZEaK/Z2an&Z3(*4Z2jm0r;Zl(!<08*!3uV(Z2an(Z2alUZ@T=:Z2t!RrPASd!0mKfd\3@? -!<:pL^&r3Ps3g;.!WU=0OTGL1m@aPd!:>mL<<.TDJY@glJ,~> -rOi6^!o=obq:!42b*ZiU67!;j/%!!BS.ZiL*4!W]S- -rj2b-['Ti3ZiC+(Zi^<8ZiL*4r;Zl*!<0>,!42b*ZiC+*ZiC)W["5U>ZiU3WrOi5Y!0mKfeYK!E -!<:pL]`W!Ls4-M4!WUF3PQCg7mA'bd!:?!O;?29DJY\$rJ,~> -rOi6^!,!42b(ZiC+*ZigB9!42b* -ZiU67!<0>*!<0>*!<0>*!;s5%!;s2*!42b*ZiU67!<0>*!<0>*!.hM.[+r"hs4.(]!IFg2rs%#L -Uga?(hY+VbC&n:amA'd_c0^_rs4-M4!Fc&rPQ=Y^JY[jmL89>~> -rPAT`!)lT`b@h!20DlT`>)jT`>)fTa"d&ZEaJ9!<08*!3uV&Z2an(Z3105!3uV( -Z2t$3!<08(!<08(!<08(!;s/#!;s,(!3uV(Z2t$3!<08(!<08(!.hG,ZJ;_ds3gk_!J(68rs$oF -Tj7ZuhY+YcD#jUam@aR\b3b;ls3g;.!F5]mOTAG^JY@XgL7s+~> -rOi6^!,!42b(ZiC+*ZigB9!42b* -ZiU67!<0>*!<0>*!<0>*!;s5%!;s2*!42b*ZiU67!<0>*!<0>*!.hM.[+r"hs4.(]!IFg2rs%#L -UfmcuhY+VbC&n:amA'd_c0^_rs4-M4!EoKjPQ=Y^JY[jmL89>~> -rOi6^!o@K4!42a5ZiC*5 -!42b*ZiU67!<0>2!42a5ZiIJ?!;Wu(!49*5rj2_,ZiL*4!W]S-rj2Y*rj2Y*J[C!8gp@+^ec!/^ -HN9<1#1]NF@K?Gbp:UQC!<:U:U]LM?m?@YOea9.5@K>e[!E&oKUk,=rUjr~> -rPAT`!)lTa1Xl!26(dTqMJcT`P4f!;N5l>l_19!3uV(Z2t$3!<082!3uU1Z2am1 -!3uV(Z2t$3!<080!3uU1Z2h29!;Wo&!4&m1riuS*Z2jm0!W]M+riuM(riuM(J[0j4gp-t\df%#` -JH1r7#1B3=>lao]p:^WG!<:L7T`P29m?%GLdd<_/>la8S!EB,NTn/nlTn!~> -rOi6^!o=obq:!42b*ZiU67!<0>4!42a5ZiC*5 -!42b*ZiU67!<0>2!42a5ZiIJ?!;Wu(!49*5rj2_,ZiL*4!W]S-rj2Y*rj2Y*J[C!8gp@+^ec!/^ -HN9<1#1]NF=oeTZp:UQC!<:U:U]LM?m?@YOea9.5=odrS!E&oKUk,=rUjr~> -rOi3]r;ckn!!)qmrW)to!!*"o!W]$lrW)to!!)qm!!*"o#%@S>ZiIJ?rW)r)rW)r)rr<50!42a5 -!<0>,!49-4!<0A*!<'8,!49*5rNlP)rj;Y)rj;Y)rj;Y)rNlP)J[C!8gp@+^ec!/^HN9<1#1]NF -@K?Gbp:UQC!<:U:U]LM?m?@YOea9.5@K>e[!E&oKUk,=rUjr~> -rPAQ_r;ckk!!)qjrW)tl!!*"l!W\pfrW)tl!!)qj!!*"l#$h57Z2h29rW)r'rW)r'rr<5.!3uU1 -!<08*!4&p0!<0;(!<'2*!4&m1rNZD'rj)M'rj)M'rj)M'rNZD'J[0j4gp-t\df%#`JH1r7#1B3= ->lao]p:^WG!<:L7T`P29m?%GLdd<_/>la8S!EB,NTn/nlTn!~> -rOi3]r;ckn!!)qmrW)to!!*"o!W]$lrW)to!!)qm!!*"o#$M#6ZiIJ?rW)r)rW)r)rr<50!42a5 -!<0>,!49-4!<0A*!<'8,!49*5rNlP)rj;Y)rj;Y)rj;Y)rNlP)J[C!8gp@+^ec!/^HN9<1#1]NF -=oeTZp:UQC!<:U:U]LM?m?@YOea9.5=odrS!E&oKUk,=rUjr~> -rOi3]g8"aY!.hM.[#q]rs4.(]!IFg2rs%#LUga?(hY+VbC&n:amA'd_c0^_rs4-M4!Fc&rPQ=Y^ -JY[jmL89>~> -rPAQ_g7\OQ!.hG,ZB;Ens3gk_!J(68rs$oFTj7ZuhY+YcD#jUam@aR\b3b;ls3g;.!F5]mOTAG^ -JY@XgL7s+~> -rOi3]g8"aQ!.hM.[#q]rs4.(]!IFg2rs%#LUfmcuhY+VbC&n:amA'd_c0^_rs4-M4!EoKjPQ=Y^ -JY[jmL89>~> -rOi3]g8"aY!.hM.[#q]rs4.(]!IFg2rs%#LUga?(hY+VbC&n:amA'd_c0^_rs4-M4!Fc&rPQ=Y^ -JY[jmL89>~> -rPAQ_g7\OQ!.hG,ZB;Ens3gk_!J(68rs$oFTj7ZuhY+YcD#jUam@aR\b3b;ls3g;.!F5]mOTAG^ -JY@XgL7s+~> -rOi3]g8"aQ!.hM.[#q]rs4.(]!IFg2rs%#LUfmcuhY+VbC&n:amA'd_c0^_rs4-M4!EoKjPQ=Y^ -JY[jmL89>~> -rOi3]g8"aY!.hM.[#q]rs4.(]!IFg2rs%#LUga?(hY+VbC&n:amA'd_c0_;-s4-M4!Fc&rU]F?n -JY[jmL89>~> -rPAQ_g7\OQ!.hG,ZB;Ens3gk_!J(68rs$oFTj7ZuhY+YcD#jUam@aR\b3bl's3g;.!F5]mT`J-n -JY@XgL7s+~> -rOi3]g8"aQ!.hM.[#q]rs4.(]!IFg2rs%#LUfmcuhY+VbC&n:amA'd_c0_;-s4-M4!EoKjU]F?n -JY[jmL89>~> -rOi3]g8"aY!.hM.[#q]rs4.(]!IFg2rs%#LUga?(hY+VbC&n:amA0%IlD0"2JcC<$o`"o]rhP&~> -rPAQ_g7\OQ!.hG,ZB;Ens3gk_!J(68rs$oFTj7ZuhY+YcD#jUam@ihFlCie/JcC<$o`"oZrh4i~> -rOi3]g8"aQ!.hM.[#q]rs4.(]!IFg2rs%#LUfmcuhY+VbC&n:amA0%IlD0"2JcC<$o`"oUrhP&~> -rOi3]g8"aY!.hM.[#q]rs4.(]!IFg2rs%#LUga?(hY+VbC&n:amA'a^ldb9rJ^o>%J^sGD!Ls/h -Ujr~> -rPAQ_g7\OQ!.hG,ZB;Ens3gk_!J(68rs$oFTj7ZuhY+YcD#jUam@aO[ldG'lJ^T+tJ^X5>!LWre -Tn!~> -rOi3]g8"aQ!.hM.[#q]rs4.(]!IFg2rs%#LUfmcuhY+VbC&n:amA'a^ldb9rJ^o>%J^sGD!L*T` -Ujr~> -rOi3]g8+aXJcC<$OT,=2rOi5Y!0mKfeYK!M!<:pL]`W!Ls4-M4!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_g7eOPJcC<$OT,=/rPASd!0mKfd\3@?!<:pL^&r3Ps3g;.!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]g8+aPJcC<$OT,=2rOi5Y!0mKfeYK!E!<:pL]`W!Ls4-M4!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]g8"_=J^o>%Nn+*A!IFg2rs%#LUga?(hY+VbC&n:amA'd_eUaNIUk,>`U]Fp)rhP&~> -rPAQ_g7\M7J^T+tNmdmC!J(68rs$oFTj7ZuhY+YcD#jUam@aR\dXe*CTn/oZT`JF!rh4i~> -rOi3]g8"_5J^o>%Nn+*A!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eUaNIUk,>`U]FX!rhP&~> -rOi3]JY[jmJY_J)!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eUaNIUk,>`U]Fp)rhP&~> -rPAQ_JY@XgJYD8#!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\dXe*CTn/oZT`JF!rh4i~> -rOi3]JY[jmJY_J)!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eUaNIUk,>`U]FX!rhP&~> -rOi3]JY[jmJY_J)!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eUaNIUk,>`U]Fp)rhP&~> -rPAQ_JY@XgJYD8#!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\dXe*CTn/oZT`JF!rh4i~> -rOi3]JY[jmJY_J)!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eUaNIUk,>`U]FX!rhP&~> -rOi3]JY[jmJY_J)!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eUaNIUk,>`U]Fp)rhP&~> -rPAQ_JY@XgJYD8#!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\dXe*CTn/oZT`JF!rh4i~> -rOi3]JY[jmJY_J)!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eUaNIUk,>`U]FX!rhP&~> -rOi9_Unmqhs.f\rU]B\U!W]$lr;`^jr;c_j!!)tn!!)nl!!)tn!!*"o!!)Sc!!)kk!!)eir;cbk -!!)bhr;chmrrE%o!s#+s! -rPAWaTqVDbs.KJoT`FAO!W\pfr;`^gr;c_g!!)tk!!)ni!!)tk!!*"l!!)S`!!)kh!!)efr;cbh -!!)ber;chjrrE%l!s#"p!laktJ,~> -rOi9_Unmqhs.f\rU]B\U!W]$lr;`^jr;c_j!!)tn!!)nl!!)tn!!*"o!!)Sc!!)kk!!)eir;cbk -!!)bhr;chmrrE%o!s#+s! -rOi9_U]C@h!W]"rnY?-bq4n)mUne"iU]:CqU]:DoU]:DoU]:DmU]:DnU]:DlU]:DnU]CIkquHbm -rW)bi!!)kk!!)hj!!)tn!!*"o!!)tn!!)qm!!)tn%fiC*Une!dU]:CjU]@3d!;WGh!:Q]`! -rPAWaT`G%b!W\nonY#p_q4RljTqMJcT`>(nT`>)lT`>)lT`>)jT`>)kT`>)iT`>)kT`G.equHbj -rW)bf!!)kh!!)hg!!)tk!!*"l!!)tk!!)qj!!)tk%fi:'TqMI[T`>(dT`Cd[!;W>e!:QT]!)kT`>)kT`>)kT`>)lT`>)kT`>)lTb.9uT`Cd[!26(dT`Cd[!26(drh0;l[%RJ* -rPASd!0mKfd\3@?!<:pL^&r3Ps3g;.!WUT!Tn/ngTuiu/>laktJ,~> -rOi9_U]C@h!W]"rnY?-bq4n)mUne"iU]:CqU]:DoU]:DoU]:DmU]:DnU]:DlU]:DnU]CIkquHbm -rW)bi!!)kk!!)hj!!)tn!!*"o!!)tn!!)qm!!)tn%fiC*Une!dU]:CjU]@3d!;WGh!:Q]`! -rOi6^!;`Jk!:cib!;WDm!2QCjrM0DnXebssrhKMorM0DnrhKSqU]CCi!!)nl!!)tn#QUZr!2KUj -U]CCi!!)kk!!*"o!!*"o!!)hj!!)tn!!*"o!!*"orW)qn!!)kk!!*"orr<(q!`U]Fp)rhP&~> -rPAT`!;`Ah!:c`_!;W;j!26(drLj2kXeGaprh0;lrLj2krh0AnT`G(c!!)ni!!)tk#QUQl!20Cd -T`G(c!!)kh!!*"l!!*"l!!)hg!!)tk!!*"l!!*"lrW)qk!!)kh!!*"lrr<(n!)kT`>)lU&P,lT`>)kT`>)lT`>)lU&P,mT`Y:gT`G(crrE"k -!!'C"!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\dXe*CTn/oZT`JF!rh4i~> -rOi6^!;`Jk!:cib!;WDm!2QCjrM0DnXebssrhKMorM0DnrhKSqU]CCi!!)nl!!)tn#QUZr!2KUj -U]CCi!!)kk!!*"o!!*"o!!)hj!!)tn!!*"o!!*"orW)qn!!)kk!!*"orr<(q!`U]FX!rhP&~> -rOi6^!;`Jo!2KUjV#CAoU]gao!!&gjrW)ej!s#-m!<&\n!3W+!!2KVoU]:DnU]:DoU]LOl!
    -rPAT`!;`Al!20CdU&G&lT`kFi!!&^drW)eg!s#$g!<&Sk!3W!s!20DlT`>)kT`>)lT`P4f!l"JGghT`G%b!!*"l$36cn!20Cd!26(d -l_4:Xs.K\uTqMI[!20CdrW!"n!!)ef!!)qj!W\norh0VuT`CbdT`Cd[!<&Sp!26(dT`G(c!!)tk -!!*"l!!)ni!!)be!s#$g!48F"?2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2AJY@XgJYC2Z!F5^) -Tn!~> -rOi6^!;`Jo!2KUjV#CAoU]gao!!&gjrW)ej!s#-m!<&\n!3W+!!2KVoU]:DnU]:DoU]LOl!
    5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGJY[jmJY^D`!EoL& -Ujr~> -rOi6^!;`Jo!2KUj!4tU]C@h!!)tn"TY?o -!2KVoU]:DnU]:DoU]:DmU]:DgU]UUmU]@ct!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eUaNI -Uk,>`U]Fp)rhP&~> -rPAT`!;`Al!20Cd!)lT`>)lT`Y:g!!)qj!!*"l&-/C(T`CbdTqMI[T`>(dT`G%b!!*"l"TY6i -!20DkT`>)ZT`>)lTb.9u!20Cd!!&\mT`Cd[!26(dpn@Zes.KJoT`G(c"9>+qT`G%b!!)tk"TY6i -!20DlT`>)kT`>)lT`>)jT`>)dT`Y:gT`DHn!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\dXe*C -Tn/oZT`JF!rh4i~> -rOi6^!;`Jo!2KUj!4tU]C@h!!)tn"TY?o -!2KVoU]:DnU]:DoU]:DmU]:DgU]UUmU]@ct!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eUaNI -Uk,>`U]FX!rhP&~> -rOi6^!;`Jn!2KUjqu?bn! -rPAT`!;`Ak!20Cdqu?bk!(rT`Y:gT`G(c!!)tk!s#$g!)hU&P,mT`>)lT`>)kTa:^m!20Cd!26(drh0DoTqMJbT`Y:g!!)tkrW)qk!!)AZ -!!*"l&HJL)T`Cd[!20Cd!26(dTqMJZT`b@h!26+b!<8bl!lao]p:^WG!<:L7T`P2AJY@XgJYC2Z!F5^)Tn!~> -rOi6^!;`Jn!2KUjqu?bn!5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGJY[jmJY^D`!EoL&Ujr~> -rOi6^!;`Jo!2KUj!;rVm!6n!!)ei!s#-m!48O%@f -rPAT`!;`Al!20Cd!;rMj!(rU&4ojT`>)kT`P4fU&4ojT`>)lT`Y:g -T`G%b!!)kh!!*"l!s#$g!;iGi!-h!!)ef!s#$g!48F"?2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2AJY@XgJYC2Z!F5^)Tn!~> -rOi6^!;`Jo!2KUj!;rVm!6n!!)ei!s#-m!48O%>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGJY[jmJY^D`!EoL&Ujr~> -rOi9_U]C@h"otG!U]@1jrhKSqU]CCi!s#-m!;WDm!2QCjrhKMoX/#^qrhKMorhKVrUne"gU]LOl -!`U]Fp)rhP&~> -rPAWaT`G%b"ot=sT`Cbdrh0AnT`G(c!s#$g!;W;j!26(drh0;lX.]Lnrh0;lrh0DoTqMJaT`P4f -! -rOi9_U]C@h"otG!U]@1jrhKSqU]CCi!s#-m!;WDm!2QCjrhKMoX/#^qrhKMorhKVrUne"gU]LOl -!`U]FX!rhP&~> -rOi9_Unmqhs.fbtU]@3drW)to!!*"o!!*"o!!)kk!W]$lr;cel!!'3u!!*"or;chm!!)qm!W]"r -rhKMorhTJmpn[lhs.oPmrhKMorhKMorM9Gn!Mf_pV#:;lU]:DoV#CAlV#:;_V#CAnU]:DkU]pgp -U]@3d!;NAh!<8hr!2QFi!l!2QCj[%m\2rOi5Y!0mKf -eYK!M!<:pL]`W!Ls4-M4!WU]$Uk,=mUrfD5@K?D'J,~> -rPAWaTqVDbs.KPqT`Cd[rW)tl!!*"l!!*"l!!)kh!W\pfr;cei!!'3r!!*"lr;chj!!)qj!W\no -rh0;lrh98jpn@Zes.T>jrh0;lrh0;lrLs5k!MKMmU&=uiT`>)lU&G&iU&=u\U&G&kT`>)hT`tLj -T`Cd[!;N8e!<8_o!26+c!laktJ,~> -rOi9_Unmqhs.fbtU]@3drW)to!!*"o!!*"o!!)kk!W]$lr;cel!!'3u!!*"or;chm!!)qm!W]"r -rhKMorhTJmpn[lhs.oPmrhKMorhKMorM9Gn!Mf_pV#:;lU]:DoV#CAlV#:;_V#CAnU]:DkU]pgp -U]@3d!;NAh!<8hr!2QFi!l!2QCj[%m\*rOi5Y!0mKf -eYK!E!<:pL]`W!Ls4-M4!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]JY^)W!!)kk!!*"o!!)tn!!(oPquH#X!!)ei!!);[!!*"o!!)D^!!'C%!+Po?!IFg2rs%#L -Uga?(hY+VbC&n:amA'd_eUaNIUk,>`U]Fp)rhP&~> -rPAQ_JYBlQ!!)kh!!*"l!!)tk!!(oMquH#U!!)ef!!);X!!*"l!!)D[!!'C"!+#Q?!J(68rs$oF -Tj7ZuhY+YcD#jUam@aR\dXe*CTn/oZT`JF!rh4i~> -rOi3]JY^)W!!)kk!!*"o!!)tn!!(oPquH#X!!)ei!!);[!!*"o!!)D^!!'C%!*]?7!IFg2rs%#L -UfmcuhY+VbC&n:amA'd_eUaNIUk,>`U]FX!rhP&~> -rOi3]JY^)W!!)\f!!(6=qZ-Jg!!(cL!!)J`!!'@$!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_ -eUaNIUk,?(V!hamSG/f[@K?D'J,~> -rPAQ_JYBlQ!!)\c!!(6:qZ-Jd!!(cI!!)J]!!'@!!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\ -dXe*CTn/p"U$l7eRJ3BU>laktJ,~> -rOi3]JY^)W!!)\f!!(6=qZ-Jg!!(cL!!)J`!!'@$!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_ -eUaNIUk,?(V!hIePkUsS=oePtJ,~> -rOi3]JY[jmJY_J)!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eb5ei@Y&!>@e=+3S>;rinGiT! -eb>j?@K?D'J,~> -rPAQ_JY@XgJYD8#!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\de9Ac?%H:4?1_D)RA$<[nGiSq -deBF9>laktJ,~> -rOi3]JY[jmJY_J)!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb5ei>(Kk.>4bu#Pbb*YnGiSn -eb>j?=oePtJ,~> -rOi3]JY[jmJY_J)!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eb5d=@Y+Q1s+14CrrglJUga>q -rrT"reb>j?@K?D'J,~> -rPAQ_JY@XgJYD8#!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\de9@7?%N$,s+14CrrgcDTj7Zi -rrT%sdeBF9>laktJ,~> -rOi3]JY[jmJY_J)!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb5d=>(Q^)s+14CrrglJUfmci -rrT"reb>j?=oePtJ,~> -rOi3]JY[jmJY_J)!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eb5d=@fHE,!;lfq!7q2I0nK@U -s0_k1eYK!M!<;`K"/Gqseb>j?@K?D'J,~> -rPAQ_JY@XgJYD8#!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\de9@7?2jm'!;lfq!7q2IAV'l4 -s0_k1d\3@?!<;`K"/Q"tdeBF9>laktJ,~> -rOi3]JY[jmJY_J)!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb5d=>5nR$!;lfq!7q2IMh1nZ -s0_k1eYK!E!<;`K"/Gqseb>j?=oePtJ,~> -rOi3]JY[jmJY_J)!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eb5d@@fQH.rr2rurr;uudf0;% -rVljPJcC<$[f6Q^UnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_JY@XgJYD8#!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\de9@:?2sp)rr2rurr;uudf0;Y -rVlk/JcC<$[f6Q[TqP`ls5*I`")S&laktJ,~> -rOi3]JY[jmJY_J)!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb5d@>6"U&rr2rurr;uudf0<* -rVlkUJcC<$[f6Q^Unh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]JY[jmJY_J)!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eb5d@@fQH.rr3'#s8N)Hs8OhP -rr=d)s+13Yrs%#LUga?(hY+VbC&n:apS7h!! -rPAQ_JY@XgJYD8#!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\de9@:?2sp)rr3'#s8N)Hs8Q[/ -rr?V]s+13Yrs$oFTj7ZuhY+YcD#jUapRqUn! -rOi3]JY[jmJY_J)!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb5d@>6"U&rr3'#s8N)Hs8S#U -rr@t.s+13Yrs%#LUfmcuhY+VbC&n:apS7gn! -rOi3]JY[jmJY_J)!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eb5d=@f-0-!<<'!pAY*mo)J^i -s8W*!r;Q`sq#:=Kr;QaOJcC<$[f6Q^UnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_JY@XgJYD8#!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\de9@7?2OX(!<<'!pAY*mo)J^i -s8W*!r;Q`sq#:>*r;Qb.JcC<$[f6Q[TqP`ls5*I`")S&laktJ,~> -rOi3]JY[jmJY_J)!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb5d=>5S=%!<<'!pAY*mo)J^i -s8W*!r;Q`sq#:>Pr;QbTJcC<$[f6Q^Unh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]JY[jmJY_J)!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eb5d=@f662!<<'!s8N'!q>UEp -nc&XjrrDoq!!)fo!&=KQs"T*)JcE.X#1]NF@K?Gbp:UQC!<:UDU]Fp)rhP&~> -rPAQ_JY@XgJYD8#!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\de9@7?2X^-!<<'!s8N'!q>UEp -nc&XjrrDoq!!)fo!+l00s(-c]JcE.X#1B3=>lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]JY[jmJY_J)!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb5d=>5\C*!<<'!s8N'!q>UEp -nc&XjrrDoq!!)fo!/pjVs,2I.JcE.X#1]NF=oeTZp:UQC!<:UDU]FX!rhP&~> -rOi3]JY[jmJY_J)!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eb5d=@f?<,!<3#t!<<'!!9jI_ -!:g*e0nK@Us0M_0eYK!M!<:pL]`W!Ls4-k>!Fc'.Ujr~> -rPAQ_JY@XgJYD8#!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\de9@7?2ad'!<3#t!<<'!!9jI_ -!:g*eAV'l4s0M_0d\3@?!<:pL^&r3Ps3gY8!F5^)Tn!~> -rOi3]JY[jmJY_J)!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb5d=>5eI$!<3#t!<<'!!9jI_ -!:g*eMh1nZs0M_0eYK!E!<:pL]`W!Ls4-k>!EoL&Ujr~> -rOi3]pS@fgq4n#jm%aX]p7q]gJY[jmT;2HrrOi5Y!0mKfeYK!M!<:pL]`W!Ls4-M4!WU^DU]=m& -rr<&urr<&srr<&`s8N)hrrY"Us"T*)JcE%U#1]NF@K?Gbp:UQC!<:UDU]Fp)rhP&~> -rPAQ_pS%Tdq4Rfgm%FFZp7VKdJY@XgT:l6jrPASd!0mKfd\3@?!<:pL^&r3Ps3g;.!WUUAT`ABs -rr<&urr<&srr<&`s8N)hrrZj4s(-c]JcE%U#1B3=>lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]pS@fgq4n#jm%aX]p7q]gJY[jmT;2HjrOi5Y!0mKfeYK!E!<:pL]`W!Ls4-M4!WU^DU]=Ts -rr<&urr<&srr<&`s8N)hrr\2Zs,2I.JcE%U#1]NF=oeTZp:UQC!<:UDU]FX!rhP&~> -rOi3]pnS&mU]:DpqP4/l!:6K]!;`Jks8Jeo!.gqsUnFL`@fUEpr;Q`sl2Ub`nc&SDrr2sQJcC<$Zi:6[UnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_pn7ijT`>)mqOmri!:6BZ!;`Ahs8J\l!.ghpTqJ(Z?2_V@JH1r7#1B3=>lao]p:^WG!<:L7 -T`P2Ap7VIlq>UEpr;Q`sl2Ub`nc&T#rr2t0JcC<$Zi:6XTqP`ls5*I`")S&laktJ,~> -rOi3]pnS&mU]:DpqP4/l!:6K]!;`Jks8Jeo!.gqsUnFL`>5c,8HN9<1#1]NF=oeTZp:UQC!<:U: -U]LMGp7q[lq>UEpr;Q`sl2Ub`nc&TIrr2tVJcC<$Zi:6[Unh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]pnRrj!4U]=m&]`EH[PlCsj?@K?D'J,~> -rPAQ_pn7`g!laktJ,~> -rOi3]pnRrj!4U]=Ts]`EH[PlCsj?=oePtJ,~> -rOi3]pnRrj!<&\ns8Jets.oYps8W(os8W(orr<"o%0*.'s.o[js.o\pUnn"i"/PsmV#LDoU]^Xm -s8W(os8RYGJY]KF!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eb5d=@f?<,!<)ot!<2uu!;c]q -!:g'l!<3'!!;uis!;c]q1&V%O0nK@Us0Ve1eYK!M!<:pL]`W!Ls4-k>!Fc'.Ujr~> -rPAQ_pn7`g!<&Sks8J\qs.TGms8W(ls8W(lrr<"l%0*%$s.TIds.TJmTqVJc"/5agU&P)lT`b=g -s8W(ls8RYDJYB9@!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\de9@7?2ad'!<)ot!<2uu!;c]q -!:g'l!<3'!!;uis!;c]qAc2Q.AV'l4s0Ve1d\3@?!<:pL^&r3Ps3gY8!F5^)Tn!~> -rOi3]pnRrj!<&\ns8Jets.oYps8W(os8W(orr<"o%0*.'s.o[js.o\pUnn"i"/PsmV#LDoU]^Xm -s8W(os8RYGJY]KF!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb5d=>5eI$!<)ot!<2uu!;c]q -!:g'l!<3'!!;uis!;c]qMu!EoL&Ujr~> -rOi3]rhTI$s.oYos.haV!2QFj!<<(p!<8kpU]CFjs.fVps.o\pU]:Dp!<<(p!<8jjrr<'!!<8hp -!<8kps.fYpV#R4js.lHA@Y&!s@K;qtU]=m&]`EH[PlCs -rPAQ_rh96qs.TGls.MOS!26+d!<<(m!<8bmT`G+ds.KDms.TJmT`>)m!<<(m!<8adrr<'!!<8_m -!<8bms.KGmU&Ueds.Q-;?%H:i>l^;lT`ABs_?#2fPlCs9TqP`ls5*I`")S&lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhTHqs.oYos.haV!2QFj!<<(p!<8kpU]CFjs.fVps.o\pU]:Dp!<<(p!<8jjrr<'!!<8hp -!<8kps.fYpV#R4js.lHA>(Kkc=oafdU]=Ts]`EH[PlCs -rOi3]rhKO'rRLnCrr -rPAQ_rh0 -rOi3]rhKNtrRLnCrr(Q^)s+14Crs%#LUfmcuhY+VbC&n:apS7gn! -rOi3]rhKR(ebQ!TrrE'!Unn"jrrAjjrrAjjs.lIj!<&\orrE%o*<-$=!2QFj!2TVpV#LGp!2QFj -!<3%pV#LFjV#Q"AJY]ZK!FjUYU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0?udeTRNrrE'!TqVJdrrAadrrAads.Q.d!<&SlrrE%l*<-$=!26+d!29DmU&P,m!26+d -!<3%mU&P+dU&T\;JYBHE!F=.QT`ABs_?#2fPlCs9TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKQuebQ!TrrE'!Unn"jrrAjjrrAjjs.lIj!<&\orrE%o*<-$=!2QFj!2TVpV#LGp!2QFj -!<3%pV#LFjV#Q"AJY]ZK!F"%QU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKR(ebu9Ds8Jf4rrE'!V#UGps8SmjrrE(pV#R7j!2QFjV#LGoU`KI8s8SmjrrAkp!2TVp -rrAjjrrE'!Unn"js.lIjJY[jm[A3h4ec)?E@f -rPAQ_rh0?udf#j>s8J]1rrE'!U&Y,ms8SddrrE(mU&Uhd!26+dU&P,lTcO.5s8SddrrAbm!29Dm -rrAadrrE'!TqVJds.Q.dJY@Xg[@mV,df,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIl -JcC<$JcGEC#1B3=>lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKQuebu9Ds8Jf4rrE'!V#UGps8SmjrrE(pV#R7j!2QFjV#LGoU`KI8s8SmjrrAkp!2TVp -rrAjjrrE'!Unn"js.lIjJY[jm[A3h,ec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[l -JcC<$JcGEC#1]NF=oeTZp:UQC!<:UDU]FX!rhP&~> -rOi3]rhKR(ebl6BrtD1.V#UIjrrE'!s8SkpV#UIj!2TVo"/Gqs!MU]FrTrhKO'rOi5Y!0mKfeYK!M!<:pL]`W!Ls4-M4!WU^DU]=kT -s+13$s7QBreYK!M!<:pL]`W!Ls4-k>!Fc'.Ujr~> -rPAQ_rh0?udeog -rOi3]rhKQuebl6BrtD1.V#UIjrrE'!s8SkpV#UIj!2TVo"/Gqs!MU]FZLrhKNtrOi5Y!0mKfeYK!E!<:pL]`W!Ls4-M4!WU^DU]=SL -s+13$s7QBreYK!E!<:pL]`W!Ls4-k>!EoL&Ujr~> -rOi3]rhKR(ebc0A!4tUnmtis.fVp -rhKYsUndtjJY[jm[A3h4ec)?E@f -rPAQ_rh0?udefa;!+qTqVGcs.KDm -rh0GpTqMGdJY@Xg[@mV,df,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC -#1B3=>lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKQuebc0A!4tUnmtis.fVp -rhKYsUndtjJY[jm[A3h,ec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC -#1]NF=oeTZp:UQC!<:UDU]FX!rhP&~> -rOi3]rhKR(e_-`!rr@VGJY\d2!FjUYU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0?udb1;prr@VDJYAR,!F=.QT`ABs_?#2fPlCs9TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKQue_-`!rr@VGJY\d2!F"%QU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKR(e_$Yt!.gqsUmn.\@b(IR!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eb5d=@Y+Q1 -s+14Crs%#LUga?(hY+VbC&n:apS7h!! -rPAQ_rh0?udb(5n!.ghpTpq_V?./_G!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\de9@7?%N$, -s+14Crs$oFTj7ZuhY+YcD#jUapRqUn! -rOi3]rhKQue_$Yt!.gqsUmn.\>1NVJ!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb5d=>(Q^) -s+14Crs%#LUfmcuhY+VbC&n:apS7gn! -rOi3]rhKR(eUaNIUk,?3U]FrTrhKO'rOi5Y!0mKfeYK!M!<:pL]`W!Ls4-M4!WU^DU]=kTs+13$ -s7QBreYK!M!<:pL]`W!Ls4-k>!Fc'.Ujr~> -rPAQ_rh0?udXe*CTn/p-T`JHIrh0 -rOi3]rhKQueUaNIUk,?3U]FZLrhKNtrOi5Y!0mKfeYK!E!<:pL]`W!Ls4-M4!WU^DU]=SLs+13$ -s7QBreYK!E!<:pL]`W!Ls4-k>!EoL&Ujr~> -rOi3]rhKR(eU_1\@`r3]S>>U_!1^\%!FjUYU]=m&]`EH[PlCs -rPAQ_rh0?udXb\T?-?LSRA'(T!1CJ"!F=.QT`ABs_?#2fPlCs9TqP`ls5*I`")S&lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKQueU^nT>0C(MPbdbO!0k+r!F"%QU]=Ts]`EH[PlCs -rOi3]rhKU)eRF(0JH3pp"(KfV@dsF"@atInrr]>&@b(IR!+Po?!IFg2rs%#LUga?(hY+VbC&n:a -mA'd_eb5d=@bLb]!;uis!;$3j!<2uu!:9^c1&h1Q0nK@Us3^iNeYK!M!<:pL]`W!Ls4-k>!Fc'. -Ujr~> -rPAQ_rh0C!dTqD(JH3pp"'s?K?1@mr?.&_frr]D(?./_G!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUa -m@aR\de9@7?.o5X!;uis!;$3j!<2uu!:9^cAcD]0AV'l4s3^iNd\3@?!<:pL^&r3Ps3gY8!F5^) -Tn!~> -rOi3]rhKU!eQRM(JH3pp"'X6N>4DRo>1EVfrr]>&>1NVJ!*]?7!IFg2rs%#LUfmcuhY+VbC&n:a -mA'd_eb5d=>1roU!;uis!;$3j!<2uu!:9^cMuN_VMh1nZs3^iNeYK!E!<:pL]`W!Ls4-k>!EoL& -Ujr~> -rOi3]rhKX*eRAN0s+13prr^fI@K?$""Jl(J!<9ml"KVS'@b(IR!+Po?!IFg2rs%#LUga?(hY+Vb -C&n:amA'd_eb5d=@bUk^!<)rt!;-9k!;uis!;?Em!;ZWp1&h1Q0nK@Us3^iNeYK!M!<:pL]`W!L -s4-k>!Fc'.Ujr~> -rPAQ_rh0F"dTlj(s+13prr^]C>laKr"Ju.H!<9ml"Kh_)?./_G!+#Q?!J(68rs$oFTj7ZuhY+Yc -D#jUam@aR\de9@7?/#>Y!<)rt!;-9k!;uis!;?Em!;ZWpAcD]0AV'l4s3^iNd\3@?!<:pL^&r3P -s3gY8!F5^)Tn!~> -rOi3]rhKX"eQMs(s+13prr^fI=oe0o"Jl(J!<9ml"KVS'>1NVJ!*]?7!IFg2rs%#LUfmcuhY+Vb -C&n:amA'd_eb5d=>2'#V!<)rt!;-9k!;uis!;?Em!;ZWpMuN_VMh1nZs3^iNeYK!E!<:pL]`W!L -s4-k>!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXP/h?Er0Uga?(p"fnK!<:RLs5(W+"FC+K@b(IR!+Po?!IFg2rs%#LUga?( -hY+VbC&n:amA'd_eb5d=@bUh^!;uis!;c]q!;6?l!;?Em!;c]q1&V%O0nK@Us3goOeYK!M!<:pL -]`W!Ls4-k>!Fc'.Ujr~> -rPAQ_rh0F"dTlj(hLXP/h?Er-Tj7Zup"fnL!<:IIs5(W,"FU7M?./_G!+#Q?!J(68rs$oFTj7Zu -hY+YcD#jUam@aR\de9@7?/#;Y!;uis!;c]q!;6?l!;?Em!;c]qAc2Q.AV'l4s3goOd\3@?!<:pL -^&r3Ps3gY8!F5^)Tn!~> -rOi3]rhKX"eQMs(hLXP/h?Er0Ufmcup"fnK!<:RLs5(W+"FC+K>1NVJ!*]?7!IFg2rs%#LUfmcu -hY+VbC&n:amA'd_eb5d=>2&uV!;uis!;c]q!;6?l!;?Em!;c]qMu!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&lao] -p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&lao]p:^WG!<:LA -T`JF!rh4i~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs -rOi3]rhKX*eRAOUhYmM+hLXP8h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs< -UnhH"s5*I_")7i9ea9.5s4-h=!+O^_!!)rs!!)He!!)`m!!)fo!&=EO!&9')JcF0u#1]NF@K?Gb -p:UQC!<:UDU]Fp)rhP&~> -rPAQ_rh0F"dTlkMhYmM+hLXP8h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9 -TqP`ls5*I`")S&lao] -p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMtMhYmM+hLXP8h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs< -Unh/os5*I_")7i9ea9.5s4-h=!*\.W!!)rs!!)He!!)`m!!)fo!/pdT!/lF.JcF0u#1]NF=oeTZ -p:UQC!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAOVh>dQTh>dQ9h>dQDh>dQNh>dP,hNcq%s4*oS!<:pL]`r3Os4%,LhSQr/HN4%T -ec)?E@f!lq#:=Kr;QaO -JcC<$df0O%UnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlkNh>dQTh>dQ9h>dQDh>dQNh>dP,hNcq%s3dTH!<:pL^'8ESs3^oIhSQu0I/j7Q -df,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlg]%6Rr;Q`sn,E@fp&>!lq#:>*r;Qb. -JcC<$df0O"TqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtNh>dQTh>dQ9h>dQDh>dQNh>dP,hNcq%s4*oK!<:pL]`r3Os4%,LhSQr/HN4%L -ec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lg]%6Rr;Q`sn,E@fp&>!lq#:>Pr;QbT -JcC<$df0O%Unh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAOVh>dQ5h>dQDh>dQNh>dP,hNcq%s4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E -@fj?@K?D'J,~> -rPAQ_rh0F"dTlkNh>dQ5h>dQDh>dQNh>dP,hNcq%s3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p? -?2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlh#IBSrVultnG`Igq#C*hqu6Y-rr2t0JcC<$ -dJjF!TqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtNh>dQ5h>dQDh>dQNh>dP,hNcq%s4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E ->5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lh#IBSrVultnG`Igq#C*hqu6YSrr2tVJcC<$ -dJjF$Unh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAOVh>dQRh>dQTh>mW5rW!)X!!(m4rW!#V!!*#TrW)uTrW!/Z!8[\Uh>mQ3!!)oQ -rVuuU!<1gU!8d\Ts5*_Ts5!hXh>dP,hP&d1s4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E@fUEppAY+Irr2sQ -JcC<$dJjF$UnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlkNh>dQRh>dQTh>mW5rW!)X!!(m4rW!#V!!*#TrW)uTrW!/Z!8[\Uh>mQ3!!)oQ -rVuuU!<1gU!8d\Ts5*_Ts5!hXh>dP,hP&d1s3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p??2_V@ -JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlh#@?Sr;Q`sq#:UEppAY,(rr2t0 -JcC<$dJjF!TqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtNh>dQRh>dQTh>mW5rW!)X!!(m4rW!#V!!*#TrW)uTrW!/Z!8[\Uh>mQ3!!)oQ -rVuuU!<1gU!8d\Ts5*_Ts5!hXh>dP,hP&d1s4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E>5c,8 -HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lh#@?Sr;Q`sq#:UEppAY,Nrr2tV -JcC<$dJjF$Unh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAOUhYmNTh>dQTh@]hF!8cQ4hVJ7h!8cQ4hVJ7h!<1g[!8cQ4hVJ54rn[VTrn[VT -qVD;ShVJ83h?Eu:h>lEh!<1gW!8[\UJ_m$U#635L@K?Gbp:UZF!<:RLs5(W+"FC+K@b(IR!+Po? -"a^4Ls8N(drs%#LUga?(hY+VbC&n:amA'd_eb5d=@bq(`!<3#t!;ZWp!;lfn!;ZWp!;-!Fc'.Ujr~> -rPAQ_rh0F"dTlkMhYmNTh>dQTh@]hF!8cQ4hVJ7h!8cQ4hVJ7h!<1g[!8cQ4hVJ54rn[VTrn[VT -qVD;ShVJ83h?Eu:h>lEh!<1gW!8[\UJ_m$U#63,F>lao]p:^`J!<:IIs5(W,"FU7M?./_G!+#Q? -"b?XRs8N(drs$oFTj7ZuhY+YcD#jUam@aR\de9@7?/>P[!<3#t!;ZWp!;lfn!;ZWp!;- -rOi3]rhKX"eQMtMhYmNTh>dQTh@]hF!8cQ4hVJ7h!8cQ4hVJ7h!<1g[!8cQ4hVJ54rn[VTrn[VT -qVD;ShVJ83h?Eu:h>lEh!<1gW!8[\UJ_m$U#635L=oeTZp:UZF!<:RLs5(W+"FC+K>1NVJ!*]?7 -"a^4Ls8N(drs%#LUfmcuhY+VbC&n:amA'd_eb5d=>2B5X!<3#t!;ZWp!;lfn!;ZWp!;-!EoL&Ujr~> -rOi3]rhKX*eRAORhA61Kh>lC4hVJ7hh>lEh!8[_4h>lEh!8dVRs5!hXhVJ81h?!]6!;YIR!8cQ4 -rn[hZhVJ7hh>mQ3!W_'WJ_m!T#635L@K?Gbp:UZF!<:RLs5(W+"FC+K@b(IR!+Po?#($@M!<<'! -RK!KAUnhH"s5*I_")7i9ea9.5s4-h=!+NG;!!%TMJcEOc#1]NF@K?Gbp:UQC!<:UDU]Fp)rhP&~> -rPAQ_rh0F"dTlkJhA61Kh>lC4hVJ7hh>lEh!8[_4h>lEh!8dVRs5!hXhVJ81h?!]6!;YIR!8cQ4 -rn[hZhVJ7hh>mQ3!W_'WJ_m!T#63,F>lao]p:^`J!<:IIs5(W,"FU7M?./_G!+#Q?#(ZdS!<<'! -RK!K>TqP`ls5*I`")S&lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMtJhA61Kh>lC4hVJ7hh>lEh!8[_4h>lEh!8dVRs5!hXhVJ81h?!]6!;YIR!8cQ4 -rn[hZhVJ7hh>mQ3!W_'WJ_m!T#635L=oeTZp:UZF!<:RLs5(W+"FC+K>1NVJ!*]?7#($@M!<<'! -RK!KAUnh/os5*I_")7i9ea9.5s4-h=!*Zl3!!%TMJcEOc#1]NF=oeTZp:UQC!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAORhA?7Lh>lC4hVJ7hh>lEh!8[_4h>lEh!8[_Qh?*c7h>mK1!W_'Wq;)2RhVJ83 -h?Eu:h>lEh!<1gV!8[^,hO`R.s4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E@f6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlkJhA?7Lh>lC4hVJ7hh>lEh!8[_4h>lEh!8[_Qh?*c7h>mK1!W_'Wq;)2RhVJ83 -h?Eu:h>lEh!<1gV!8[^,hO`R.s3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p??2_VFJH5`M!<<'! -Rf6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtJhA?7Lh>lC4hVJ7hh>lEh!8[_4h>lEh!8[_Qh?*c7h>mK1!W_'Wq;)2RhVJ83 -h?Eu:h>lEh!<1gV!8[^,hO`R.s4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E>5c,>HN=*G!<<'! -Rf6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAOVh>dQTh>dQTh>dQTh@K\Dh>lEh!8[_4h>lEh!8[_Th?Eu:h>lEh!;kUQ!;PC[ -!8cQ4hVJ54hVJ7hh>mQ3!W_'WJ_m!T#635L@K?Gbp:UZF!<:RLs5(W+"FC+K@b(IR!+Po?#C?IN -rrE*!!1NoleYK!M!<:pL]`W!Ls4-M4!WU^DU]=kTs+13$s7QBreYK!M!<:pL]`W!Ls4-k>!Fc'. -Ujr~> -rPAQ_rh0F"dTlkNh>dQTh>dQTh>dQTh@K\Dh>lEh!8[_4h>lEh!8[_Th?Eu:h>lEh!;kUQ!;PC[ -!8cQ4hVJ54hVJ7hh>mQ3!W_'WJ_m!T#63,F>lao]p:^`J!<:IIs5(W,"FU7M?./_G!+#Q?#CumT -rrE*!!1Nold\3@?!<:pL^&r3Ps3g;.!WUUAT`AALs+13$s7QBrd\3@?!<:pL^&r3Ps3gY8!F5^) -Tn!~> -rOi3]rhKX"eQMtNh>dQTh>dQTh>dQTh@K\Dh>lEh!8[_4h>lEh!8[_Th?Eu:h>lEh!;kUQ!;PC[ -!8cQ4hVJ54hVJ7hh>mQ3!W_'WJ_m!T#635L=oeTZp:UZF!<:RLs5(W+"FC+K>1NVJ!*]?7#C?IN -rrE*!!1NoleYK!E!<:pL]`W!Ls4-M4!WU^DU]=SLs+13$s7QBreYK!E!<:pL]`W!Ls4-k>!EoL& -Ujr~> -rOi3]rhKX*eRAOUhYmNRh>dQTh@K\Dh>lEh!8[_4h>lEh!8cT3!<(aU!8[_Qh>dQMh?Eu:h>dQ4 -!<1gV!8cT3!<:mU!.j!uh?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]``Z^s8N)urr<%g -rs%#LUga?(hY+VbC&n:amA'd_eb5d=@Y+Q1s+14Crs%#LUga?(hY+VbC&n:apS7h!! -rPAQ_rh0F"dTlkMhYmNRh>dQTh@K\Dh>lEh!8[_4h>lEh!8cT3!<(aU!8[_Qh>dQMh?Eu:h>dQ4 -!<1gV!8cT3!<:mU!.j!uh?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?>Dis8N)urr<%g -rs$oFTj7ZuhY+YcD#jUam@aR\de9@7?%N$,s+14Crs$oFTj7ZuhY+YcD#jUapRqUn! -rOi3]rhKX"eQMtMhYmNRh>dQTh@K\Dh>lEh!8[_4h>lEh!8cT3!<(aU!8[_Qh>dQMh?Eu:h>dQ4 -!<1gV!8cT3!<:mU!.j!uh?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]``Z^s8N)urr<%g -rs%#LUfmcuhY+VbC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcuhY+VbC&n:apS7gn! -rOi3]rhKX*eRAOOh>dQ3h>dP,hLXMghZ)-%@K?Gbp:UZF!<:RLs5(W+"FC+K@b(IR!+Po?"+(%J -!<)ot!1WumeYK!M!<:pL]`W!Ls4-M4!WU^DU]=kTs+13$s7QBreYK!M!<:pL]`W!Ls4-k>!Fc'. -Ujr~> -rPAQ_rh0F"dTlkGh>dQ3h>dP,hLXMghZ)#t>lao]p:^`J!<:IIs5(W,"FU7M?./_G!+#Q?"+^IP -!<)ot!1Wumd\3@?!<:pL^&r3Ps3g;.!WUUAT`AALs+13$s7QBrd\3@?!<:pL^&r3Ps3gY8!F5^) -Tn!~> -rOi3]rhKX"eQMtGh>dQ3h>dP,hLXMghZ)-%=oeTZp:UZF!<:RLs5(W+"FC+K>1NVJ!*]?7"+(%J -!<)ot!1WumeYK!E!<:pL]`W!Ls4-M4!WU^DU]=SLs+13$s7QBreYK!E!<:pL]`W!Ls4-k>!EoL& -Ujr~> -rOi3]rhKX*eRAOOh>dQ3h>dP,hLXMghZ)-%@K?Gbp:UZF!<:RLs5(W+"FC+K@b(IR!+Po?!danI -r;Q`sS,W]CUnhH"s5*I_")7i9ea9.5s4-h=!+OdaJH16$n,TKg#1]NF@K?Gbp:UQC!<:UDU]Fp) -rhP&~> -rPAQ_rh0F"dTlkGh>dQ3h>dP,hLXMghZ)#t>lao]p:^`J!<:IIs5(W,"FU7M?./_G!+#Q?!eC=O -r;Q`sS,W]@TqP`ls5*I`")S&lao]p:^WG!<:LAT`JF! -rh4i~> -rOi3]rhKX"eQMtGh>dQ3h>dP,hLXMghZ)-%=oeTZp:UZF!<:RLs5(W+"FC+K>1NVJ!*]?7!danI -r;Q`sS,W]CUnh/os5*I_")7i9ea9.5s4-h=!*\4YJH16$n,TKg#1]NF=oeTZp:UQC!<:UDU]FX! -rhP&~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[qu6WrS,W]C -UnhH"s5*I_")7i9ea9.5s4-h=!+LNZJcC<$p&>6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fqu6WrS,W]@ -TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[qu6WrS,W]C -Unh/os5*I_")7i9ea9.5s4-h=!*XsRJcC<$p&>6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0s+13prrprK@K?Gbp:UZF!<:RLs5(W+"FC+K@b(IR!+Po?!IFhDrr<%grs%#L -Uga?(hY+VbC&n:amA'd_eb5d=@Y+Q1s+14Crs%#LUga?(hY+VbC&n:apS7h!! -rPAQ_rh0F"dTlj(s+13prrpiE>lao]p:^`J!<:IIs5(W,"FU7M?./_G!+#Q?!J(7Jrr<%grs$oF -Tj7ZuhY+YcD#jUam@aR\de9@7?%N$,s+14Crs$oFTj7ZuhY+YcD#jUapRqUn! -rOi3]rhKX"eQMs(s+13prrprK=oeTZp:UZF!<:RLs5(W+"FC+K>1NVJ!*]?7!IFhDrr<%grs%#L -UfmcuhY+VbC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcuhY+VbC&n:apS7gn! -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]``Z^s8N)urr<%g -rs%#LUga?(hY+VbC&n:amA'd_eb5d=@Y+Q1s+14Crs%#LUga?(hY+VbC&n:apS7h!! -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?>Dis8N)urr<%g -rs$oFTj7ZuhY+YcD#jUam@aR\de9@7?%N$,s+14Crs$oFTj7ZuhY+YcD#jUapRqUn! -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]``Z^s8N)urr<%g -rs%#LUfmcuhY+VbC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcuhY+VbC&n:apS7gn! -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]` -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_>o/d!<2uu!1Nol -d\3@?!<:pL^&r3Ps3g;.!WUUAT`ABPrr<&ts8E#ps8E#ss8E#ts8E#hs8E#orr?V]s+14$rs$oF -Tj7ZuhY+YcD#jUapRqUn! -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]` -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[r;Q`sRfTp2s"T*) -JcFC]NF@K?Gbp:UQC!<:UDU]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fr;Q`sRflao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[r;Q`sRf -rOi3]rhKX*eRAOUhYmNNh?!]6!.j!XhW!Ars4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E@fj?@K?D'J,~> -rPAQ_rh0F"dTlkMhYmNNh?!]6!.j!XhW!Ars3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p??2_V@ -JH5ZK!!&Ge#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlh#@?Sr;Q`srr2ruqu6Wrqu?ZrrVultn,E@f -qZ$P+JcC<$fDc''TqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtMhYmNNh?!]6!.j!XhW!Ars4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E>5c,8 -HN=$E!!&Ge#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lh#@?Sr;Q`srr2ruqu6Wrqu?ZrrVultn,E@f -qZ$PQJcC<$fDc'*Unh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAOVh>dQTh>dQPh>dQSh>dQOh>dQNh>dP,hLXPYh?O#1Uga?(hY+VeC&n:a!<:om -]``Z^!+OLXU]=m&]`EH[rr2ruR/[B@UnhH"s5*I_")7i9ea9.5s4-h=!+Oa`!!)fo!!)or!!)or -!!)rs!!*#u!!)lqrrE*!rrE*!!!)lqr\= -rPAQ_rh0F"dTlkNh>dQTh>dQPh>dQSh>dQOh>dQNh>dP,hLXPYh?O#.Tj7ZuhY+YfD#jUa!<:om -^'&ia!+"%PT`ABs_?#2frr2ruR/[B=TqP`ls5*I`")S&lao]p:^WG!<:LAT`JF! -rh4i~> -rOi3]rhKX"eQMtNh>dQTh>dQPh>dQSh>dQOh>dQNh>dP,hLXPYh?O#1UfmcuhY+VeC&n:a!<:om -]``Z^!*[qPU]=Ts]`EH[rr2ruR/[B@Unh/os5*I_")7i9ea9.5s4-h=!*\1X!!)fo!!)or!!)or -!!)rs!!*#u!!)lqrrE*!rrE*!!!)lqrep[RrrE*!rr@WMJcFd1#1]NF=oeTZp:UQC!<:UDU]FX! -rhP&~> -rOi3]rhKX*eRAOVh>dQLh>dQSh>dQOh>dQNh>dP,hLXPYh?O#1Uga?(hY+VeC&n:a!<:om]``Z^ -!+OLXU]=m&]`EH[PlCs -rPAQ_rh0F"dTlkNh>dQLh>dQSh>dQOh>dQNh>dP,hLXPYh?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia -!+"%PT`ABs_?#2fPlCs9TqP`ls5*I`")S&lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMtNh>dQLh>dQSh>dQOh>dQNh>dP,hLXPYh?O#1UfmcuhY+VeC&n:a!<:om]``Z^ -!*[qPU]=Ts]`EH[PlCs -rOi3]rhKX*eRAOVh>dQRh?a2=!!(m4!8[_4rW)iPrVuuU!<1gU!8d\Ts5*_Ts5!hXh>dP,hLs_i -s4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E@f[HTq>UEpq>UEpr;ZQmo`+pkrVlitq>UFLq#C?oJcC<$iVs,4UnhH"s5*I_")7i9eb>j?@K?D' -J,~> -rPAQ_rh0F"dTlkNh>dQRh?a2=!!(m4!8[_4rW)iPrVuuU!<1gU!8d\Ts5*_Ts5!hXh>dP,hLs_i -s3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIl -h>[HTq>UEpq>UEpr;ZQmo`+pkrVlitq>UG+q#C?oJcC<$iVs,1TqP`ls5*I`")S&lakt -J,~> -rOi3]rhKX"eQMtNh>dQRh?a2=!!(m4!8[_4rW)iPrVuuU!<1gU!8d\Ts5*_Ts5!hXh>dP,hLs_i -s4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[l -h>[HTq>UEpq>UEpr;ZQmo`+pkrVlitq>UGQq#C?oJcC<$iVs,4Unh/os5*I_")7i9eb>j?=oePt -J,~> -rOi3]rhKX*eRAOUhYmNThZ!TUh?O&;!8[_4h>mB.!s%37!<1gZ!8cQ4hVJ83h?*c7!!%T,K&-_3 -eYHXSs5*I_#&4/ -rPAQ_rh0F"dTlkMhYmNThZ!TUh?O&;!8[_4h>mB.!s%37!<1gZ!8cQ4hVJ83h?*c7!!%T,K&-_3 -d\0qHs5*I`#&OA?dK'=(_S-/$!!$ -rOi3]rhKX"eQMtMhYmNThZ!TUh?O&;!8[_4h>mB.!s%37!<1gZ!8cQ4hVJ83h?*c7!!%T,K&-_3 -eYH@Ks5*I_#&4/ -rOi3]rhKX*eRAORh?!]6!<1g[!8[_4!8cQ4q;)2RhVJ83h?Eu:h>lEh!<1gV!8[^,hLXMfs4*oS -!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E@f[HT -qYpNqq#:j?@K?D'J,~> -rPAQ_rh0F"dTlkJh?!]6!<1g[!8[_4!8cQ4q;)2RhVJ83h?Eu:h>lEh!<1gV!8[^,hLXMfs3dTH -!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlh>[HT -qYpNqq#:laktJ,~> -rOi3]rhKX"eQMtJh?!]6!<1g[!8[_4!8cQ4q;)2RhVJ83h?Eu:h>lEh!<1gV!8[^,hLXMfs4*oK -!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lh>[HT -qYpNqq#:j?=oePtJ,~> -rOi3]rhKX*eRAORh?!]6!<1g[!8[_4!8cQ4q;)2RhVJ83h?Eu:h>lEh!<1gV!8[^,hLXMfs4*oS -!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E@f[HT -nG`IgrVultrVulto`"smrrE#t!!)Ng!W`6#JcC<$iVs,4UnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlkJh?!]6!<1g[!8[_4!8cQ4q;)2RhVJ83h?Eu:h>lEh!<1gV!8[^,hLXMfs3dTH -!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlh>[HT -nG`IgrVultrVulto`"smrrE#t!!)Ng!W`6#JcC<$iVs,1TqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtJh?!]6!<1g[!8[_4!8cQ4q;)2RhVJ83h?Eu:h>lEh!<1gV!8[^,hLXMfs4*oK -!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lh>[HT -nG`IgrVultrVulto`"smrrE#t!!)Ng!W`6#JcC<$iVs,4Unh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAOVh>dQTh@0JA!!(m4!8[_4!8cQ4q;)P\hVJ7hh>dQ4h>lEh!<1gV!8[^,hLXMf -s4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E@f[HTqu6Wrqu?Zrs8N'!rVlitr;Q`sr;Q`sq>U["rrE'!s8N)grr`?%!<3%Ms+141rs%#LUga?( -hY+VbC&n:apS7h!! -rPAQ_rh0F"dTlkNh>dQTh@0JA!!(m4!8[_4!8cQ4q;)P\hVJ7hh>dQ4h>lEh!<1gV!8[^,hLXMf -s3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIl -h>[HTqu6Wrqu?Zrs8N'!rVlitr;Q`sr;Q`sq>U["rrE'!s8N)grr`?%!<3%Ms+141rs$oFTj7Zu -hY+YcD#jUapRqUn! -rOi3]rhKX"eQMtNh>dQTh@0JA!!(m4!8[_4!8cQ4q;)P\hVJ7hh>dQ4h>lEh!<1gV!8[^,hLXMf -s4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[l -h>[HTqu6Wrqu?Zrs8N'!rVlitr;Q`sr;Q`sq>U["rrE'!s8N)grr`?%!<3%Ms+141rs%#LUfmcu -hY+VbC&n:apS7gn! -rOi3]rhKX*eRAOUhYmNTh?X,dQOh?Eu:h>dQ4!<1gV!8cT3!<:mU!.j!Xh?O#1 -Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCsj?@K?D'J,~> -rPAQ_rh0F"dTlkMhYmNTh?X,dQOh?Eu:h>dQ4!<1gV!8cT3!<:mU!.j!Xh?O#. -Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtMhYmNTh?X,dQOh?Eu:h>dQ4!<1gV!8cT3!<:mU!.j!Xh?O#1 -UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCsj?=oePtJ,~> -rOi3]rhKX*eRAOPh>dP,hLXP;h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs< -UnhH"s5*I_")7i9ea9.5s4-h=!+Oa`!!)Zk!s&B$!:p-i!:g'h!.k0$s3:QJeYK!M!<:pL]`W!L -s4-k>!Fc'.Ujr~> -rPAQ_rh0F"dTlkHh>dP,hLXP;h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9 -TqP`ls5*I`")S& -rOi3]rhKX"eQMtHh>dP,hLXP;h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs< -Unh/os5*I_")7i9ea9.5s4-h=!*\1X!!)Zk!s&B$!:p-i!:g'h!.k0$s3:QJeYK!E!<:pL]`W!L -s4-k>!EoL&Ujr~> -rOi3]rhKX*eRAOPh>dP,hLXP;h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs< -UnhH"s5*I_")7i9ea9.5s4-h=!+O^_!!)Zk!W`6#iVrlXJcC<$c2S!uUnhH"s5*I_")7i9eb>j? -@K?D'J,~> -rPAQ_rh0F"dTlkHh>dP,hLXP;h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9 -TqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtHh>dP,hLXP;h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs< -Unh/os5*I_")7i9ea9.5s4-h=!*\.W!!)Zk!W`6#iVrlXJcC<$c2S!uUnh/os5*I_")7i9eb>j? -=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs!Fc'. -Ujr~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S& -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs!EoL& -Ujr~> -rOi3]rhKX*eRAN0s+13prrprK@K?Gbp:UZF!<:RLs5(W+"FC+K@b(IR!+Po?!IFg2rs%#LUga?( -hY+VbC&n:amA'd_eb5d=@aG)S!.k0$s/H#&eYK!M!<:pL]`W!Ls4-k>!Fc'.Ujr~> -rPAQ_rh0F"dTlj(s+13prrpiE>lao]p:^`J!<:IIs5(W,"FU7M?./_G!+#Q?!J(68rs$oFTj7Zu -hY+YcD#jUam@aR\de9@7?-iQN!.k0$s/H#&d\3@?!<:pL^&r3Ps3gY8!F5^)Tn!~> -rOi3]rhKX"eQMs(s+13prrprK=oeTZp:UZF!<:RLs5(W+"FC+K>1NVJ!*]?7!IFg2rs%#LUfmcu -hY+VbC&n:amA'd_eb5d=>0m6K!.k0$s/H#&eYK!E!<:pL]`W!Ls4-k>!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAOUhYmN=h>dPdh>dP,hR_PJs4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E@f -rPAQ_rh0F"dTlkMhYmN=h>dPdh>dP,hR_PJs3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p??2_V@ -JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC#1B3=>lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMtMhYmN=h>dPdh>dP,hR_PJs4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E>5c,8 -HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC#1]NF=oeTZp:UQC!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAOVh>dQTh>dQ?h>dQ?h>dQTh>dQ,h>dQJh>dQNh>dP,hU:6bs4*oS!<:pL]`r3O -s4%,LhSQr/HN4%Tec)?E@f -rPAQ_rh0F"dTlkNh>dQTh>dQ?h>dQ?h>dQTh>dQ,h>dQJh>dQNh>dP,hU:6bs3dTH!<:pL^'8ES -s3^oIhSQu0I/j7Qdf,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC#1B3= ->lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMtNh>dQTh>dQ?h>dQ?h>dQTh>dQ,h>dQJh>dQNh>dP,hU:6bs4*oK!<:pL]`r3O -s4%,LhSQr/HN4%Lec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC#1]NF -=oeTZp:UQC!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAOVh>dQ;h>dQ?h>dQTh>dQ,h>dQJh>dQNh>dP,hU:6bs4*oS!<:pL]`r3Os4%,L -hSQr/HN4%Tec)?E@f -rPAQ_rh0F"dTlkNh>dQ;h>dQ?h>dQTh>dQ,h>dQJh>dQNh>dP,hU:6bs3dTH!<:pL^'8ESs3^oI -hSQu0I/j7Qdf,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC#1B3=>lao] -p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMtNh>dQ;h>dQ?h>dQTh>dQ,h>dQJh>dQNh>dP,hU:6bs4*oK!<:pL]`r3Os4%,L -hSQr/HN4%Lec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC#1]NF=oeTZ -p:UQC!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAOVh>dQQhYmNShYmNTh?dQ4!8[\UptkuMs5"4ch>dQ4h>lC4!8cQ4h>mQ3!!)oQrVuuU!<1gU!8d\Ts5*_T -s5!hXh>dP,hVR)ns4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E@f -rPAQ_rh0F"dTlkNh>dQQhYmNShYmNTh?dQ4!8[\UptkuMs5"4ch>dQ4h>lC4!8cQ4h>mQ3!!)oQrVuuU!<1gU!8d\Ts5*_T -s5!hXh>dP,hVR)ns3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p??2_V@JH1r7#1B3=>lao]p:^WG -!<:L7T`P2Ap7VIlJcC<$JcGEC#1B3=>lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMtNh>dQQhYmNShYmNTh?dQ4!8[\UptkuMs5"4ch>dQ4h>lC4!8cQ4h>mQ3!!)oQrVuuU!<1gU!8d\Ts5*_T -s5!hXh>dP,hVR)ns4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E>5c,8HN9<1#1]NF=oeTZp:UQC -!<:U:U]LMGp7q[lJcC<$JcGEC#1]NF=oeTZp:UQC!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAOUhYmNTh>dQTh>dQRh?*c7!!*#T!!*#T"p!K[!8cQ4qVM5Ps5!_Ur8%MUhVJ83 -h?*c7h>mQ3!s%0X!<1jT!<:mU!;>7\!8[\UhVJ7h!!(m4!8[_4!<1gT!;bOS!8cQ4rn[hZhVJ7h -h>mQ3!s%0X!.j"^h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlkMhYmNTh>dQTh>dQRh?*c7!!*#T!!*#T"p!K[!8cQ4qVM5Ps5!_Ur8%MUhVJ83 -h?*c7h>mQ3!s%0X!<1jT!<:mU!;>7\!8[\UhVJ7h!!(m4!8[_4!<1gT!;bOS!8cQ4rn[hZhVJ7h -h>mQ3!s%0X!.j"^h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`ls5*I` -")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtMhYmNTh>dQTh>dQRh?*c7!!*#T!!*#T"p!K[!8cQ4qVM5Ps5!_Ur8%MUhVJ83 -h?*c7h>mQ3!s%0X!<1jT!<:mU!;>7\!8[\UhVJ7h!!(m4!8[_4!<1gT!;bOS!8cQ4rn[hZhVJ7h -h>mQ3!s%0X!.j"^h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAORh>mW5quHcRr;ZlT!<(aS!;t[R!<1gT!;bOP!<1gV!8cT2!<:mU!<1gV!8cT1 -!!1pVrS@MSrn[VTq;2&M!T!hUh?!]6!<1g[!8[_4h>lC4q;)2RhVJ83h?Eu:h>lEh!<1gV!8[^, -hV6lks4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E@fUFLq#:!lp\t4Jrr;rtVuHtOUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlkJh>mW5quHcRr;ZlT!<(aS!;t[R!<1gT!;bOP!<1gV!8cT2!<:mU!<1gV!8cT1 -!!1pVrS@MSrn[VTq;2&M!T!hUh?!]6!<1g[!8[_4h>lC4q;)2RhVJ83h?Eu:h>lEh!<1gV!8[^, -hV6lks3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2A -p7VIl\c;X/qZ$NprVuisrr;rto)J[hq>UG+q#:!lp\t5)rr;rtVuHtLTqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtJh>mW5quHcRr;ZlT!<(aS!;t[R!<1gT!;bOP!<1gV!8cT2!<:mU!<1gV!8cT1 -!!1pVrS@MSrn[VTq;2&M!T!hUh?!]6!<1g[!8[_4h>lC4q;)2RhVJ83h?Eu:h>lEh!<1gV!8[^, -hV6lks4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMG -p7q[l\c;X/qZ$NprVuisrr;rto)J[hq>UGQq#:rr2rupAY,Nq#:rr2ru -mf*9FjSo4!lp\t5Orr;rtVuHtOUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAORh?!]6!;t[R!<1gV!8[_Sh>dQRh>dQTh>dQPh>dQTh?!]6!<1gW!8cQ4rn[_W -hVJ81h>dQSh>dQTh>dQPh>dQTh?!]6!<1gV!8[_Th?O&;!8cQ4h>mB.!s%37!<1gZ!8cQ4hVJ83 -h?!]6!.j"]h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs!!*#u!!)or!!)lq!!)rs!!)Kf!!)or">Tp2s"XEN!!)ut!!)0]s"XKP!!)ip -">Tp2s"XEN!!)0]s"XKP!!)Ngs"W[9">Tp2s"X6I!!)fo"#9iU!<2uu!3#o%eYK!M!<:pL]`W!L -s4-k>!Fc'.Ujr~> -rPAQ_rh0F"dTlkJh?!]6!;t[R!<1gV!8[_Sh>dQRh>dQTh>dQPh>dQTh?!]6!<1gW!8cQ4rn[_W -hVJ81h>dQSh>dQTh>dQPh>dQTh?!]6!<1gV!8[_Th?O&;!8cQ4h>mB.!s%37!<1gZ!8cQ4hVJ83 -h?!]6!.j"]h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`ls5*I`")S&< -dd<_/s3gV7!+!29!!*#u!!)or!!)lq!!)rs!!)Kf!!)or"D.UEs(2*-!!)ut!!)0]s(20/!!)ip -"D.UEs(2*-!!)0]s(20/!!)Ngs(1?m"D.UEs(1p(!!)fo"(hN4!<2uu!3#o%d\3@?!<:pL^&r3P -s3gY8!F5^)Tn!~> -rOi3]rhKX"eQMtJh?!]6!;t[R!<1gV!8[_Sh>dQRh>dQTh>dQPh>dQTh?!]6!<1gW!8cQ4rn[_W -hVJ81h>dQSh>dQTh>dQPh>dQTh?!]6!<1gV!8[_Th?O&;!8cQ4h>mB.!s%37!<1gZ!8cQ4hVJ83 -h?!]6!.j"]h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs"H3;!EoL&Ujr~> -rOi3]rhKX*eRAOVh>dQTh?!]6!<1g\!8[_4h>dQ4!<(aS!<1gV!8[_Th>dQPhZ!TUh?a2=!8cQ4 -!8cQ4rn[_WhVJ83h?!]6!<(aS!<1gT!;bOb!8cQ4!8[\UhVJ7h!!(m4!8[_Th>dQNh@0JAh>lEh -!!(m4!8cQ4rn[\Vh>i,`gYN/7eYHXSs5*I_#&4/ -rPAQ_rh0F"dTlkNh>dQTh?!]6!<1g\!8[_4h>dQ4!<(aS!<1gV!8[_Th>dQPhZ!TUh?a2=!8cQ4 -!8cQ4rn[_WhVJ83h?!]6!<(aS!<1gT!;bOb!8cQ4!8[\UhVJ7h!!(m4!8[_Th>dQNh@0JAh>lEh -!!(m4!8cQ4rn[\Vh>i,`gYN/7d\0qHs5*I`#&OA?dK'=(_S-/$!!$rr<&irrQd3A``skAb?!&!;ZWrAcDc.rr<%urs$oFTj7ZuhY+Yc -D#jUapRqUn! -rOi3]rhKX"eQMtNh>dQTh?!]6!<1g\!8[_4h>dQ4!<(aS!<1gV!8[_Th>dQPhZ!TUh?a2=!8cQ4 -!8cQ4rn[_WhVJ83h?!]6!<(aS!<1gT!;bOb!8cQ4!8[\UhVJ7h!!(m4!8[_Th>dQNh@0JAh>lEh -!!(m4!8cQ4rn[\Vh>i,`gYN/7eYH@Ks5*I_#&4/ -rOi3]rhKX*eRAOUhYmNShYmNShZ!QXh>lC4r8.DQs5!_Urn[VTqVD;Sh>dQThZ!QVh>mQ3!!*#T -!W_*6rW)uT!!)uS!!*#T!!)iOrrdQMh?Eu:h>dQ4!<1gV!8cT3 -!<:mU!.j"]h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs!Fc'.Ujr~> -rPAQ_rh0F"dTlkMhYmNShYmNShZ!QXh>lC4r8.DQs5!_Urn[VTqVD;Sh>dQThZ!QVh>mQ3!!*#T -!W_*6rW)uT!!)uS!!*#T!!)iOrrdQMh?Eu:h>dQ4!<1gV!8cT3 -!<:mU!.j"]h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`ls5*I`")S&< -dd<_/s3gV7!+!&5!!)or!!)or!!)rs!!*#u!!)lqrrE*!rrE*!!!)lqral!,!!)ut!!)utrrE*! -rrDlp!+kp)!+l*.!!)ipral!,!!)utrrE*!rrDoq!+km(!+l*.!!)Ng!+k["rrE*!rrDusral!, -rrE*!rr<*"!;c]qAbl?+!3,u&d\3@?!<:pL^&r3Ps3gY8!F5^)Tn!~> -rOi3]rhKX"eQMtMhYmNShYmNShZ!QXh>lC4r8.DQs5!_Urn[VTqVD;Sh>dQThZ!QVh>mQ3!!*#T -!W_*6rW)uT!!)uS!!*#T!!)iOrrdQMh?Eu:h>dQ4!<1gV!8cT3 -!<:mU!.j"]h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs!EoL&Ujr~> -rOi3]rhKX*eRAO-h>dQ'h>dQRh>dQOh>dP,hS%bMs4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E -@fUKrrrE#t -!!)or">Tp2s"XKP!!)ut!!)or!W`6#p\t4Jp\t4Jqu6Wrqu6dRs"XO.rVlitqu6]trrDio!&=3I -!&=BN!!)Qh!& -rPAQ_rh0F"dTlk%h>dQ'h>dQRh>dQOh>dP,hS%bMs3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p? -?2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIl\,QF.qYpNqqu6Wrr;Q`srr2ruq>UKrrrE#t -!!)or"D.UEs(20/!!)ut!!)or!W`6#p\t5)p\t5)qu6Wrqu6e1s(24ArVlitqu6]trrDio!+km( -!+l'-!!)Qh!+kX!!W`6#qu6e1s(24Aqu6]trrE#t!!)or!+l!+!!'"u#1B3=>lao]p:^WG!<:LA -T`JF!rh4i~> -rOi3]rhKX"eQMt%h>dQ'h>dQRh>dQOh>dP,hS%bMs4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E ->5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[l\,QF.qYpNqqu6Wrr;Q`srr2ruq>UKrrrE#t -!!)or"H3; -rOi3]rhKX*eRAO3hYI6.hYRdQRh>dQOh>dP,hS%bMs4*oS!<:pL]`r3Os4%,LhSQr/HN4%T -ec)?E@fUEpr;ZQmo`+pkrVlit -q>UFLqu6WrrVlitqZ$Qqp\t4Jp\t4Jqu6Wrq>UFLqu6WrqZ$Qqq#:=KpAY+Iqu6Wrnc&SDmf3:e -q>UFLq#C?orVlitr;QaOq>UEpW;d(PUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlk+hYI6.hYRdQRh>dQOh>dP,hS%bMs3dTH!<:pL^'8ESs3^oIhSQu0I/j7Q -df,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlaoD2;p\t3nq>UEpr;ZQmo`+pkrVlit -q>UG+qu6WrrVlitqZ$Qqp\t5)p\t5)qu6Wrq>UG+qu6WrqZ$Qqq#:>*pAY,(qu6Wrnc&T#mf3:e -q>UG+q#C?orVlitr;Qb.q>UEpW;d(MTqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMt+hYI6.hYRdQRh>dQOh>dP,hS%bMs4*oK!<:pL]`r3Os4%,LhSQr/HN4%L -ec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[laoD2;p\t3nq>UEpr;ZQmo`+pkrVlit -q>UGQqu6WrrVlitqZ$Qqp\t5Op\t5Oqu6Wrq>UGQqu6WrqZ$Qqq#:>PpAY,Nqu6Wrnc&TImf3:e -q>UGQq#C?orVlitr;QbTq>UEpW;d(PUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs -rOi3]rhKX*eRAN0s+13prrprK@K?Gbp:UZF!<:RLs5(W+"FC+K@b(IR!+Po?!IFg2rs%#LUga?( -hY+VbC&n:amA'd_eb5d=@_)L=!;QQo!;uis!;uis!;$6j!<)ot!:p-i!<)ot!;c`q!;HKn1&(\J -1&LtN!:p-i!;c`q!;QQo1%tVI1&LtN!:g'h1%,)A!:Tsf!<)ot!;uis1&LtN!2fc#eYK!M!<:pL -]`W!Ls4-k>!Fc'.Ujr~> -rPAQ_rh0F"dTlj(s+13prrpiE>lao]p:^`J!<:IIs5(W,"FU7M?./_G!+#Q?!J(68rs$oFTj7Zu -hY+YcD#jUam@aR\de9@7?+Kt8!;QQo!;uis!;uis!;$6j!<)ot!:p-i!<)ot!;c`q!;HKnAbZ3) -Ac)K-!:p-i!;c`q!;QQoAbQ-(Ac)K-!:g'hAa]Tu!:Tsf!<)ot!;uisAc)K-!2fc#d\3@?!<:pL -^&r3Ps3gY8!F5^)Tn!~> -rOi3]rhKX"eQMs(s+13prrprK=oeTZp:UZF!<:RLs5(W+"FC+K>1NVJ!*]?7!IFg2rs%#LUfmcu -hY+VbC&n:amA'd_eb5d=>.OY5!;QQo!;uis!;uis!;$6j!<)ot!:p-i!<)ot!;c`q!;HKnMtd5O -Mu3MS!:p-i!;c`q!;QQoMt[/NMu3MS!:g'hMsgWF!:Tsf!<)ot!;uisMu3MS!2fc#eYK!E!<:pL -]`W!Ls4-k>!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCsfs`!!)utrrE#trrD]k!W`6#rVlito)A[irVlitqu6]trrDfn -!&=6J!&=BN!!)Ti!!)or!W`6#q#:=KpAY+Iqu6Wrnc&SDn,EFhrrDQg!W`6#rVlitrVljPqu6Wr -V>gbMUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&fs`!!)utrrE#trrD]k!W`6#rVlito)A[irVlitqu6]trrDfn -!+kp)!+l'-!!)Ti!!)or!W`6#q#:>*pAY,(qu6Wrnc&T#n,EFhrrDQg!W`6#rVlitrVlk/qu6Wr -V>gbJTqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCsfs`!!)utrrE#trrD]k!W`6#rVlito)A[irVlitqu6]trrDfn -!/pUO!/paS!!)Ti!!)or!W`6#q#:>PpAY,Nqu6Wrnc&TIn,EFhrrDQg!W`6#rVlitrVlkUqu6Wr -V>gbMUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs!!)orrrE*!!!)ut!!)rs!!)rs!!)ip#6=c(rrE*!!:p-i!<)ot -!;ld!!<3'!!;ZWp1&(\J1&LtN!:p-i!;ld!!<3'!!;c]q1%tVI1&LtN!:g'h1%5,F!<3'!!:p-p -!<3'!!<<'!rVljPr;Q`srVlitWW*1QUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCsj?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs!!)ip!W`6#rr;rtrr;rtrVlitqu?Zrrr2rurr2runc&RhrVlit -rr;uurr2rumf38@rVlitnG`Igrr;uurr2rumf38@rVlitnc/SCo)J^irr2ruoDegjrr3'#s8N)s -rr=ePs8)eprs%#LUga?(hY+VbC&n:apS7h!! -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S& -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs -rOi3]rhKX*eRAOVhYdHSh>dP,hLXP;h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[ -PlCs!Fc'.Ujr~> -rPAQ_rh0F"dTlkNhYdHSh>dP,hLXP;h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2f -PlCs9TqP`ls5*I`")S& -rOi3]rhKX"eQMtNhYdHSh>dP,hLXP;h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[ -PlCs!EoL&Ujr~> -rOi3]rhKX*eRAOVh>dQTh>dQBh>dQNh>dP,hLXPYh?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLX -U]=m&]`EH[PlCsj?@K?D'J,~> -rPAQ_rh0F"dTlkNh>dQTh>dQBh>dQNh>dP,hLXPYh?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%P -T`ABs_?#2fPlCs9TqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtNh>dQTh>dQBh>dQNh>dP,hLXPYh?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qP -U]=Ts]`EH[PlCsj?=oePtJ,~> -rOi3]rhKX*eRAOVh>dQTh>dQBh>dQNh>dP,hLXPYh?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLX -U]=m&]`EH[PlCs!Fc'.Ujr~> -rPAQ_rh0F"dTlkNh>dQTh>dQBh>dQNh>dP,hLXPYh?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%P -T`ABs_?#2fPlCs9TqP`ls5*I`")S& -rOi3]rhKX"eQMtNh>dQTh>dQBh>dQNh>dP,hLXPYh?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qP -U]=Ts]`EH[PlCs!EoL&Ujr~> -rOi3]rhKX*eRAOVh>dQTh?O&;!8[_4!!*#Trr<)V!;kXP!!1pVrn[YUhYmNThYmNTh?*c7!!%T, -K\cq5eYHXSs5*I_#&4/ -rPAQ_rh0F"dTlkNh>dQTh?O&;!8[_4!!*#Trr<)V!;kXP!!1pVrn[YUhYmNThYmNTh?*c7!!%T, -K\cq5d\0qHs5*I`#&OA?dK'=(_S-/$!!$ -rOi3]rhKX"eQMtNh>dQTh?O&;!8[_4!!*#Trr<)V!;kXP!!1pVrn[YUhYmNThYmNTh?*c7!!%T, -K\cq5eYH@Ks5*I_#&4/ -rOi3]rhKX*eRAOVhYdHSh@'D@!!(m4!8[_4h>dQPh?*c7h>mQ3"p!N:!8cQ4rn[_Wh>dP,hLaSg -s4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E@f -rPAQ_rh0F"dTlkNhYdHSh@'D@!!(m4!8[_4h>dQPh?*c7h>mQ3"p!N:!8cQ4rn[_Wh>dP,hLaSg -s3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIl -JcC<$JcGEC#1B3=>lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMtNhYdHSh@'D@!!(m4!8[_4h>dQPh?*c7h>mQ3"p!N:!8cQ4rn[_Wh>dP,hLaSg -s4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[l -JcC<$JcGEC#1]NF=oeTZp:UQC!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAOVh?!]6!<1gV!8[_Th?!]6!<1gT!;bOS!8cQ4rn[hZhVJ7hh>mQ3!W_'WJ_kt7 -#635L@K?Gbp:UZF!<:RLs5(W+"FC+K@b(IR!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eb5d= -@Y+Q1s+14Crs%#LUga?(hY+VbC&n:apS7h!! -rPAQ_rh0F"dTlkNh?!]6!<1gV!8[_Th?!]6!<1gT!;bOS!8cQ4rn[hZhVJ7hh>mQ3!W_'WJ_kt7 -#63,F>lao]p:^`J!<:IIs5(W,"FU7M?./_G!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\de9@7 -?%N$,s+14Crs$oFTj7ZuhY+YcD#jUapRqUn! -rOi3]rhKX"eQMtNh?!]6!<1gV!8[_Th?!]6!<1gT!;bOS!8cQ4rn[hZhVJ7hh>mQ3!W_'WJ_kt7 -#635L=oeTZp:UZF!<:RLs5(W+"FC+K>1NVJ!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb5d= ->(Q^)s+14Crs%#LUfmcuhY+VbC&n:apS7gn! -rOi3]rhKX*eRAOVh?X,lEh!8[_Th?!]6!<1gT!;bOS!8cQ4rn[hZhVJ7hh>mQ3!W_'WJ_kt7 -#635L@K?Gbp:UZF!<:RLs5(W+"FC+K@b(IR!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eb5d= -@Y+Q1s+14Crs%#LUga?(hY+VbC&n:apS7h!! -rPAQ_rh0F"dTlkNh?X,lEh!8[_Th?!]6!<1gT!;bOS!8cQ4rn[hZhVJ7hh>mQ3!W_'WJ_kt7 -#63,F>lao]p:^`J!<:IIs5(W,"FU7M?./_G!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\de9@7 -?%N$,s+14Crs$oFTj7ZuhY+YcD#jUapRqUn! -rOi3]rhKX"eQMtNh?X,lEh!8[_Th?!]6!<1gT!;bOS!8cQ4rn[hZhVJ7hh>mQ3!W_'WJ_kt7 -#635L=oeTZp:UZF!<:RLs5(W+"FC+K>1NVJ!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb5d= ->(Q^)s+14Crs%#LUfmcuhY+VbC&n:apS7gn! -rOi3]rhKX*eRAOVh>dQTh?3i8!8[_Th?Eu:!8cQ4!;bO]!8cQ4hVJ54hVJ7hh>mQ3!W_'WJ_kt7 -#635L@K?Gbp:UZF!<:RLs5(W+"FC+K@b(IR!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eb5d= -@Y+Q1s+14Crs%#LUga?(hY+VbC&n:apS7h!! -rPAQ_rh0F"dTlkNh>dQTh?3i8!8[_Th?Eu:!8cQ4!;bO]!8cQ4hVJ54hVJ7hh>mQ3!W_'WJ_kt7 -#63,F>lao]p:^`J!<:IIs5(W,"FU7M?./_G!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\de9@7 -?%N$,s+14Crs$oFTj7ZuhY+YcD#jUapRqUn! -rOi3]rhKX"eQMtNh>dQTh?3i8!8[_Th?Eu:!8cQ4!;bO]!8cQ4hVJ54hVJ7hh>mQ3!W_'WJ_kt7 -#635L=oeTZp:UZF!<:RLs5(W+"FC+K>1NVJ!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb5d= ->(Q^)s+14Crs%#LUfmcuhY+VbC&n:apS7gn! -rOi3]rhKX*eRAOVh>dQTh?3i8!8[_Th?Eu:h>dQ4!;YIU!8cQ4!8[_Th?!]6hYmNTh>dP,hLXMf -s4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E@f -rPAQ_rh0F"dTlkNh>dQTh?3i8!8[_Th?Eu:h>dQ4!;YIU!8cQ4!8[_Th?!]6hYmNTh>dP,hLXMf -s3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIl -JcC<$JcGEC#1B3=>lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMtNh>dQTh?3i8!8[_Th?Eu:h>dQ4!;YIU!8cQ4!8[_Th?!]6hYmNTh>dP,hLXMf -s4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[l -JcC<$JcGEC#1]NF=oeTZp:UQC!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAODh>dP,hLXPGh?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs< -UnhH"s5*I_")7i9ea9.5s4-h=!+LNZJcC<$p&>6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlkdP,hLXPGh?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9 -TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtdP,hLXPGh?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs< -Unh/os5*I_")7i9ea9.5s4-h=!*XsRJcC<$p&>6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAOGhYmM+hLXPFh?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs< -UnhH"s5*I_")7i9ea9.5s4-h=!+LNZJcC<$p&>6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlk?hYmM+hLXPFh?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9 -TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMt?hYmM+hLXPFh?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs< -Unh/os5*I_")7i9ea9.5s4-h=!*XsRJcC<$p&>6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0s+13prrprK@K?Gbp:UZF!<:RLs5(W+"FC+K@b(IR!+Po?!IFg2rs%#LUga?( -hY+VbC&n:amA'd_eb5d=@c%+b!.k0$s-`lkeYK!M!<:pL]`W!Ls4-k>!Fc'.Ujr~> -rPAQ_rh0F"dTlj(s+13prrpiE>lao]p:^`J!<:IIs5(W,"FU7M?./_G!+#Q?!J(68rs$oFTj7Zu -hY+YcD#jUam@aR\de9@7?/GS]!.k0$s-`lkd\3@?!<:pL^&r3Ps3gY8!F5^)Tn!~> -rOi3]rhKX"eQMs(s+13prrprK=oeTZp:UZF!<:RLs5(W+"FC+K>1NVJ!*]?7!IFg2rs%#LUfmcu -hY+VbC&n:amA'd_eb5d=>2K8Z!.k0$s-`lkeYK!E!<:pL]`W!Ls4-k>!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs#1]NF@K?Gbp:UQC!<:UDU]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&#1B3=>lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs#1]NF=oeTZp:UQC!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs#1]NF@K?Gbp:UQC!<:UDU]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&#1B3=>lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs#1]NF=oeTZp:UQC!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAOVhYdHSh>dQPh>dP,hLXPCh?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m& -]`EH[PlCs -rPAQ_rh0F"dTlkNhYdHSh>dQPh>dP,hLXPCh?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs -_?#2fPlCs9TqP`ls5*I`")S&lao]p:^WG!<:LAT`JF! -rh4i~> -rOi3]rhKX"eQMtNhYdHSh>dQPh>dP,hLXPCh?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts -]`EH[PlCs -rOi3]rhKX*eRAOVh>dQTh>dQNh>dQQh>dQOh>dQNh>dP,hLXP]h?O#1Uga?(hY+VeC&n:a!<:om -]``Z^!+OLXU]=m&]`EH[PlCs -rPAQ_rh0F"dTlkNh>dQTh>dQNh>dQQh>dQOh>dQNh>dP,hLXP]h?O#.Tj7ZuhY+YfD#jUa!<:om -^'&ia!+"%PT`ABs_?#2fPlCs9TqP`ls5*I`")S&lao] -p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMtNh>dQTh>dQNh>dQQh>dQOh>dQNh>dP,hLXP]h?O#1UfmcuhY+VeC&n:a!<:om -]``Z^!*[qPU]=Ts]`EH[PlCs -rOi3]rhKX*eRAOVh>dQTh>dQNh>dQQh>dQOh>dQNh>dP,hLXP]h?O#1Uga?(hY+VeC&n:a!<:om -]``Z^!+OLXU]=m&]`EH[PlCs -rPAQ_rh0F"dTlkNh>dQTh>dQNh>dQQh>dQOh>dQNh>dP,hLXP]h?O#.Tj7ZuhY+YfD#jUa!<:om -^'&ia!+"%PT`ABs_?#2fPlCs9TqP`ls5*I`")S&lao] -p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMtNh>dQTh>dQNh>dQQh>dQOh>dQNh>dP,hLXP]h?O#1UfmcuhY+VeC&n:a!<:om -]``Z^!*[qPU]=Ts]`EH[PlCs -rOi3]rhKX*eRAOVh>dQTh@BVC!8cQ4!8[_4!8[\UhVS53qqh;P!T!hUh>mW5rW)uTrW)uT!s%0X -!.j!_h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs -rPAQ_rh0F"dTlkNh>dQTh@BVC!8cQ4!8[_4!8[\UhVS53qqh;P!T!hUh>mW5rW)uTrW)uT!s%0X -!.j!_h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`ls5*I`")S&lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMtNh>dQTh@BVC!8cQ4!8[_4!8[\UhVS53qqh;P!T!hUh>mW5rW)uTrW)uT!s%0X -!.j!_h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs -rOi3]rhKX*eRAOVhYdHSh@BVC!8cQ4!8[\UhVJ7hh>mB.!s%37!<1gZ!8cQ4hVJ83h?*c7!!%T, -L>E.7eYHXSs5*I_#&4/ -rPAQ_rh0F"dTlkNhYdHSh@BVC!8cQ4!8[\UhVJ7hh>mB.!s%37!<1gZ!8cQ4hVJ83h?*c7!!%T, -L>E.7d\0qHs5*I`#&OA?dK'=(_S-/$!!$ -rOi3]rhKX"eQMtNhYdHSh@BVC!8cQ4!8[\UhVJ7hh>mB.!s%37!<1gZ!8cQ4hVJ83h?*c7!!%T, -L>E.7eYH@Ks5*I_#&4/ -rOi3]rhKX*eRAOVh?!]6!<1gV!8[_Th?!]6!<1gW!8cQ4q;)2RhVJ83h?Eu:h>lEh!<1gV!8[^, -hM'ejs4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E@fj?@K?D'J,~> -rPAQ_rh0F"dTlkNh?!]6!<1gV!8[_Th?!]6!<1gW!8cQ4q;)2RhVJ83h?Eu:h>lEh!<1gV!8[^, -hM'ejs3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2A -p7VIlg]%6RJcC<$SGrfATqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtNh?!]6!<1gV!8[_Th?!]6!<1gW!8cQ4q;)2RhVJ83h?Eu:h>lEh!<1gV!8[^, -hM'ejs4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMG -p7q[lg]%6RJcC<$SGrfDUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAOVh?X,lEh!8[_Th?!]6!<1gW!8cQ4q;)2RhVJ83h?Eu:h>lEh!<1gV!8[^, -hM'ejs4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E@fj?@K?D'J,~> -rPAQ_rh0F"dTlkNh?X,lEh!8[_Th?!]6!<1gW!8cQ4q;)2RhVJ83h?Eu:h>lEh!<1gV!8[^, -hM'ejs3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2A -p7VIlh#@?SJcC<$S,W]@TqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtNh?X,lEh!8[_Th?!]6!<1gW!8cQ4q;)2RhVJ83h?Eu:h>lEh!<1gV!8[^, -hM'ejs4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMG -p7q[lh#@?SJcC<$S,W]CUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAOVh>dQTh?j8>!8[_4h>dQ4!<1gW!8cQ4q;)P\hVJ7hh>dQ4h>lEh!<1gV!8[^, -hM'ejs4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E@fj?@K?D'J,~> -rPAQ_rh0F"dTlkNh>dQTh?j8>!8[_4h>dQ4!<1gW!8cQ4q;)P\hVJ7hh>dQ4h>lEh!<1gV!8[^, -hM'ejs3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2A -p7VIlh#@?SJcC<$S,W]@TqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtNh>dQTh?j8>!8[_4h>dQ4!<1gW!8cQ4q;)P\hVJ7hh>dQ4h>lEh!<1gV!8[^, -hM'ejs4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMG -p7q[lh#@?SJcC<$S,W]CUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAOVh>dQTh?j8>!8cQ4!8[_4!<1gT!<1gT!;YIU!8cQ4!8[_Th?!]6hYmNTh>dP, -hM'ejs4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E@f[HTJcC<$Rfj?@K?D'J,~> -rPAQ_rh0F"dTlkNh>dQTh?j8>!8cQ4!8[_4!<1gT!<1gT!;YIU!8cQ4!8[_Th?!]6hYmNTh>dP, -hM'ejs3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2A -p7VIlh>[HTJcC<$RflaktJ,~> -rOi3]rhKX"eQMtNh>dQTh?j8>!8cQ4!8[_4!<1gT!<1gT!;YIU!8cQ4!8[_Th?!]6hYmNTh>dP, -hM'ejs4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMG -p7q[lh>[HTJcC<$Rfj?=oePtJ,~> -rOi3]rhKX*eRAOJh>dP,hLXPAh?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs< -UnhH"s5*I_")7i9ea9.5s4-h=!+Ogb!!%TMJcD/<#1]NF@K?Gbp:UQC!<:UDU]Fp)rhP&~> -rPAQ_rh0F"dTlkBh>dP,hLXPAh?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9 -TqP`ls5*I`")S&lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMtBh>dP,hLXPAh?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs< -Unh/os5*I_")7i9ea9.5s4-h=!*\7Z!!%TMJcD/<#1]NF=oeTZp:UQC!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAOMhYmM+hLXP@h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs< -UnhH"s5*I_")7i9ea9.5s4-h=!+LNZJcC<$p&>6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlkEhYmM+hLXP@h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9 -TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtEhYmM+hLXP@h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs< -Unh/os5*I_")7i9ea9.5s4-h=!*XsRJcC<$p&>6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0s+13prrprK@K?Gbp:UZF!<:RLs5(W+"FC+K@b(IR!+Po?!IFg2rs%#LUga?( -hY+VbC&n:amA'd_eb5d=@Y+Q1s+14Crs%#LUga?(hY+VbC&n:apS7h!! -rPAQ_rh0F"dTlj(s+13prrpiE>lao]p:^`J!<:IIs5(W,"FU7M?./_G!+#Q?!J(68rs$oFTj7Zu -hY+YcD#jUam@aR\de9@7?%N$,s+14Crs$oFTj7ZuhY+YcD#jUapRqUn! -rOi3]rhKX"eQMs(s+13prrprK=oeTZp:UZF!<:RLs5(W+"FC+K>1NVJ!*]?7!IFg2rs%#LUfmcu -hY+VbC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcuhY+VbC&n:apS7gn! -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAOVhYdHKh?!]6!;,+J!;bOP!.j!XhYQ(5s4*oS!<:pL]`r3Os4%,LhSQr/HN4%T -ec)?E@f -rPAQ_rh0F"dTlkNhYdHKh?!]6!;,+J!;bOP!.j!XhYQ(5s3dTH!<:pL^'8ESs3^oIhSQu0I/j7Q -df,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC#1B3=>lao]p:^WG!<:LA -T`JF!rh4i~> -rOi3]rhKX"eQMtNhYdHKh?!]6!;,+J!;bOP!.j!XhYQ(5s4*oK!<:pL]`r3Os4%,LhSQr/HN4%L -ec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC#1]NF=oeTZp:UQC!<:UD -U]FX!rhP&~> -rOi3]rhKX*eRAOVh>dQTh>dQOh?*c7h>lfs!!)WI!!)fN!!%T,QJMiGeYHXSs5*I_#&4/!Fc'.Ujr~> -rPAQ_rh0F"dTlkNh>dQTh>dQOh?*c7h>lfs!!)WI!!)fN!!%T,QJMiGd\0qHs5*I`#&OA?dK'=( -_S-/$!!$ -rOi3]rhKX"eQMtNh>dQTh>dQOh?*c7h>lfs!!)WI!!)fN!!%T,QJMiGeYH@Ks5*I_#&4/!EoL&Ujr~> -rOi3]rhKX*eRAOVh>dQTh>dQOh?*c7h>lfs!!)WI!!)fN!!%T,QJMiGeYHXSs5*I_#&4/!Fc'.Ujr~> -rPAQ_rh0F"dTlkNh>dQTh>dQOh?*c7h>lfs!!)WI!!)fN!!%T,QJMiGd\0qHs5*I`#&OA?dK'=( -_S-/$!!$ -rOi3]rhKX"eQMtNh>dQTh>dQOh?*c7h>lfs!!)WI!!)fN!!%T,QJMiGeYH@Ks5*I_#&4/!EoL&Ujr~> -rOi3]rhKX*eRAOVh>dQTh?!]6hYmNThYmKWh>lEhrW)uT!!*#T"9@9Yh>mQ3!s%0XhYmKUh>mQ3 -!!)oQrVuuU!<1gU!8d\Ts5*_Ts5!hXh>dP,hP/j2s4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E -@f -rPAQ_rh0F"dTlkNh>dQTh?!]6hYmNThYmKWh>lEhrW)uT!!*#T"9@9Yh>mQ3!s%0XhYmKUh>mQ3 -!!)oQrVuuU!<1gU!8d\Ts5*_Ts5!hXh>dP,hP/j2s3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p? -?2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC#1B3=>lao]p:^WG!<:LAT`JF! -rh4i~> -rOi3]rhKX"eQMtNh>dQTh?!]6hYmNThYmKWh>lEhrW)uT!!*#T"9@9Yh>mQ3!s%0XhYmKUh>mQ3 -!!)oQrVuuU!<1gU!8d\Ts5*_Ts5!hXh>dP,hP/j2s4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E ->5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC#1]NF=oeTZp:UQC!<:UDU]FX! -rhP&~> -rOi3]rhKX*eRAOVhYdHSh>dQTh?X,lEh!8[_Th?j8>h>lC4hVJ7h!<1g\!8[_4h>lEh!<1gT -!;bOS!8cQ4rn[hZhVJ7hh>mQ3!s%0X!.j""h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m& -]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D' -J,~> -rPAQ_rh0F"dTlkNhYdHSh>dQTh?X,lEh!8[_Th?j8>h>lC4hVJ7h!<1g\!8[_4h>lEh!<1gT -!;bOS!8cQ4rn[hZhVJ7hh>mQ3!s%0X!.j""h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs -_?#2fPlCs9TqP`ls5*I`")S&6ETqP`ls5*I`")S&lakt -J,~> -rOi3]rhKX"eQMtNhYdHSh>dQTh?X,lEh!8[_Th?j8>h>lC4hVJ7h!<1g\!8[_4h>lEh!<1gT -!;bOS!8cQ4rn[hZhVJ7hh>mQ3!s%0X!.j""h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts -]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePt -J,~> -rOi3]rhKX*eRAOVh?!]6!<1jQ!<:mY!8cQ4hY[BQh>dQTh?s>?h>lC4hVJ7hh>mQ3!W_'Wq;)2R -hVJ83h?Eu:h>lEh!<1gV!8[^,hOiX/s4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E@f -rPAQ_rh0F"dTlkNh?!]6!<1jQ!<:mY!8cQ4hY[BQh>dQTh?s>?h>lC4hVJ7hh>mQ3!W_'Wq;)2R -hVJ83h?Eu:h>lEh!<1gV!8[^,hOiX/s3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p??2_V@JH1r7 -#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC#1B3=>lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMtNh?!]6!<1jQ!<:mY!8cQ4hY[BQh>dQTh?s>?h>lC4hVJ7hh>mQ3!W_'Wq;)2R -hVJ83h?Eu:h>lEh!<1gV!8[^,hOiX/s4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E>5c,8HN9<1 -#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC#1]NF=oeTZp:UQC!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAOVh?Eu:h>lEh!;kUV!8cQ4h>mE/!!*#T$NT&?!8[_4h>lEh!<1gV!8[_Oh?*c7 -h>mQ3"p!N:!8cQ4rn[\Vh>i,`TABePeYHXSs5*I_#&4/!Fc'.Ujr~> -rPAQ_rh0F"dTlkNh?Eu:h>lEh!;kUV!8cQ4h>mE/!!*#T$NT&?!8[_4h>lEh!<1gV!8[_Oh?*c7 -h>mQ3"p!N:!8cQ4rn[\Vh>i,`TABePd\0qHs5*I`#&OA?dK'=(_S-/$!!$ -rOi3]rhKX"eQMtNh?Eu:h>lEh!;kUV!8cQ4h>mE/!!*#T$NT&?!8[_4h>lEh!<1gV!8[_Oh?*c7 -h>mQ3"p!N:!8cQ4rn[\Vh>i,`TABePeYH@Ks5*I_#&4/!EoL&Ujr~> -rOi3]rhKX*eRAOVh>dQTh?!]6!<1g\!8cQ4hVJ7h!<1g\!8cQ4h>lEh!<1gT!<1gW!8cQ4rS@MS -ptcG[hVJ7hh>dQ4h>lEh!<1gV!8[^,hOiX/s4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E@f -rPAQ_rh0F"dTlkNh>dQTh?!]6!<1g\!8cQ4hVJ7h!<1g\!8cQ4h>lEh!<1gT!<1gW!8cQ4rS@MS -ptcG[hVJ7hh>dQ4h>lEh!<1gV!8[^,hOiX/s3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p??2_V@ -JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC#1B3=>lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMtNh>dQTh?!]6!<1g\!8cQ4hVJ7h!<1g\!8cQ4h>lEh!<1gT!<1gW!8cQ4rS@MS -ptcG[hVJ7hh>dQ4h>lEh!<1gV!8[^,hOiX/s4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E>5c,8 -HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC#1]NF=oeTZp:UQC!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAOVh>dQTh?!]6hYmNSh?lEhrW)uT!!*#T!W_'Wrn[VTrn[VTrn[VTrn[VT -pYH)ShVJ54h>mQ3!W_*6rW)uT!!%T,TABePeYHXSs5*I_#&4/!Fc'.Ujr~> -rPAQ_rh0F"dTlkNh>dQTh?!]6hYmNSh?lEhrW)uT!!*#T!W_'Wrn[VTrn[VTrn[VTrn[VT -pYH)ShVJ54h>mQ3!W_*6rW)uT!!%T,TABePd\0qHs5*I`#&OA?dK'=(_S-/$!!$ -rOi3]rhKX"eQMtNh>dQTh?!]6hYmNSh?lEhrW)uT!!*#T!W_'Wrn[VTrn[VTrn[VTrn[VT -pYH)ShVJ54h>mQ3!W_*6rW)uT!!%T,TABePeYH@Ks5*I_#&4/!EoL&Ujr~> -rOi3]rhKX*eRAO)h>dP,hLXMfs4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E@fj? -@K?D'J,~> -rPAQ_rh0F"dTlk!h>dP,hLXMfs3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p??2_V@JH1r7#1B3= ->lao]rk8J?!!$='^&r3Ps3g;.!WUUAT`AALs+13$s7QBrd\3@?!<:pT^&qX@!+#Q;")S&laktJ,~> -rOi3]rhKX"eQMt!h>dP,hLXMfs4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E>5c,8HN9<1#1]NF -=oeTZrk/D;!!$4$]`W!Ls4-M4!WU^DU]=SLs+13$s7QBreYK!E!<:pT]`VFj? -=oePtJ,~> -rOi3]rhKX*eRAO)h>dP,hLXMfs4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E@f!Fc'.Ujr~> -rPAQ_rh0F"dTlk!h>dP,hLXMfs3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p??2_VCJH5`MAc;W/ -!;HKnAbc9*!9X:]AcD]0!:BddA`j"&d\3@?!<:oi^0L^u -rOi3]rhKX"eQMt!h>dP,hLXMfs4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E>5c,;HN=*GMuEYU -!;HKnMtm;P!9X:]MuN_V!:BddMrt$LeYK!E!<:oh]ikCj;Gr/H]`W!Ls4-M4!WU^DU]=SLs+13$ -s7QC%eYK!E!<:oh]ikCj;Gr/H]`W!Ls4-k>!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]``Z^s"Q8+rr<&q -rrb(V1&j!*rr<&]s8OhPrr<&fs8Oh:rspj7UnhH"s5(H&!'*r(XK;E7")7i9ea9.5s4-h=!+LNZ -JcC<$p&>NPUnhH"s5(H&!'*r(XK;E7")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?>Dis(,d>rr<&q -rrcp5AcH?=rr<&]s8Q[/rr<&fs8QZnrsr\hTqP`ls5(K(!'!u,WiH'4")S&NMTqP`ls5(K(!'!u,WiH'4")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]``Z^s,2g5rr<&q -rre8[MuS_4rr<&]s8S#Urr<&fs8S#?rst%NPUnh/os5(H&!&7AuUnn"'")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0s+13prrprK@K?Gbp:UZF!<:RLs5(W+"FC+K@b(IR!+Po?"FC,'s"XEN!!)lq -r\= -rPAQ_rh0F"dTlj(s+13prrpiE>lao]p:^`J!<:IIs5(W,"FU7M?./_G!+#Q?"G$Pas(2*-!!)lq -ral!,!!)0]!bMCCr;Q`snc&Z%s(1?m%aq&E>lao]^:jSIIB*>Irk8JO!<:L7T`P2Ap7VIlJcC<$ -JcGEC%aq&E>lao]^:jSIIB*>Irk8JO!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMs(s+13prrprK=oeTZp:UZF!<:RLs5(W+"FC+K>1NVJ!*]?7"FC-,s,6dS!!)lq -rep[R!!)0]!fR):r;Q`snc&ZKs,6%>%b7AN=oeTZ]tFDDH_g]Ark/DK!<:U:U]LMGp7q[lJcC<$ -JcGEC%b7AN=oeTZ]tFDDH_g]Ark/DK!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hYt1j=o\P+rOiDM!<:RLs5(W+"FC+K@b(IR!+Po?"FC.K -s"XEN!!)lqr\= -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhYt4k>lXk1rOrJQ!<:IIs5(W,"FU7M?./_G!+#Q?"G$RQ -s(2*-!!)lqral!,!!)utrrE*!rrDlp!+kp)!+l*.!!)Kf!+k["rrE*!rrE#t%aq&E>lao]^:mlQ -WrN+Urk8JO!<:L7T`P2Ap7VIlJcC<$JcGEC%aq&E>lao]^:mlQWrN+Urk8JO!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhYt1j=o\P+rOiDM!<:RLs5(W+"FC+K>1NVJ!*]?7"FC.K -s,6dS!!)lqrep[R!!)utrrE*!rrDlp!/pUO!/pdT!!)Kf!/p@HrrE*!rrE#t%b7AN=oeTZ]tITI -V#UJOrk/DK!<:U:U]LMGp7q[lJcC<$JcGEC%b7AN=oeTZ]tITIV#UJOrk/DK!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXP/h@BS9Uga?(hS$U+!'*qTMuLBoC&n:a!<:om]``Z^!+OLXU]=m&]``Z^ -s8OhMrr<&srrb(V1&j!,rr<&rrrN3#!;HKn1&(\J1&LtN!:^!g1%5,D!<3&srs(:/UnhH"s5*ag -",j8\hYk+iC&n:amA'd_eb5d=@Y+Q1s+14Crs%#LUga?(hYt1jMlcs8rOi;J!<:UDU]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXP/h@BS6Tj7ZuhS-^0!'!tYL&SdjD#jUa!<:om^'&ia!+"%PT`ABs_?>Di -s8Q[,rr<&srrcp5AcH??rr<&rrrN3#!;HKnAbZ3)Ac)K-!:^!gAafX#!<3&srs*,`TqP`ls5*ah -",3cThYk.jD#jUam@aR\de9@7?%N$,s+14Crs$oFTj7ZuhYt4kKrY10rOrAN!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXP/h@BS9UfmcuhS$U+!&7ALKDrOgC&n:a!<:om]``Z^!*[qPU]=Ts]``Z^ -s8S#Rrr<&srre8[MuS_6rr<&rrrN3#!;HKnMtd5OMu3MS!:^!gMspZI!<3&srs+J4Unh/os5*ag -",!ELhYk+iC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcuhYt1jK;AP(rOi;J!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXP/h@BS9Uga?(hS$T&3Dt4*XT#m;C&n:a!<:om]``Z^!+OLXU]=m&]``Z^ -s8OhMrr<&qrr=eNrr<&qs8N)nrr=eJrr=eNrr<&grr=eAs8N)rrs%#LUga?(hY+VbC&n:amA'd_ -eb5d=@Y+Q1s+14Crs%#LUga?(hY+VbC&n:apS7h!! -rPAQ_rh0F"dTlj(hLXP/h@BS6Tj7ZuhS-](3)tC,WrB^:D#jUa!<:om^'&ia!+"%PT`ABs_?>Di -s8Q[,rr<&qrr?X-rr<&qs8N)nrr?X)rr?X-rr<&grr?Wus8N)rrs$oFTj7ZuhY+YcD#jUam@aR\ -de9@7?%N$,s+14Crs$oFTj7ZuhY+YcD#jUapRqUn! -rOi3]rhKX"eQMs(hLXP/h@BS9UfmcuhS$T&0iE@oV#J%3C&n:a!<:om]``Z^!*[qPU]=Ts]``Z^ -s8S#Rrr<&qrr@uSrr<&qs8N)nrr@uOrr@uSrr<&grr@uFs8N)rrs%#LUfmcuhY+VbC&n:amA'd_ -eb5d=>(Q^)s+14Crs%#LUfmcuhY+VbC&n:apS7gn! -rOi3]rhKX*eRAOVh>dQJh>dP,hLXPCh@BS9Uga?(hS$T&;L>MFs8K\9C&n:a!<:om]``Z^!+OLX -U]=m&]``Z^s8OhMrr<&jrr<&qs8N)qs8"JHrr=eNrr<&rs8=\Krr=eMs8=\Js8N)rrs%#LUga?( -hY+VbC&n:amA'd_eb5d=@Y+Q1s+14Crs%#LUga?(hY+VbC&n:apS7h!! -rPAQ_rh0F"dTlkNh>dQJh>dP,hLXPCh@BS6Tj7ZuhS-](Dis8Q[,rr<&jrr<&qs8N)qs8$='rr?X-rr<&rs8?O*rr?X,s8?O)s8N)rrs$oFTj7Zu -hY+YcD#jUam@aR\de9@7?%N$,s+14Crs$oFTj7ZuhY+YcD#jUapRqUn! -rOi3]rhKX"eQMtNh>dQJh>dP,hLXPCh@BS9UfmcuhS$T&;L>5>s8K\9C&n:a!<:om]``Z^!*[qP -U]=Ts]``Z^s8S#Rrr<&jrr<&qs8N)qs8%ZMrr@uSrr<&rs8@lPrr@uRs8@lOs8N)rrs%#LUfmcu -hY+VbC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcuhY+VbC&n:apS7gn! -rOi3]rhKX*eRAOVh>dQKh>dQTh>dQOh>dQNh>dP,hLXPYh@BS9Uga?(hS$U+;QTouhYt1mC&n:a -!<:om]``Z^!+OLXU]=m&]``Z^s8OhMrr<&jrr<&qs8N)nrr=eJrr=eNrr<&grr=eAs8N)rrs%#L -Uga?(hY+VbC&n:amA'd_eb5d=@Y+Q1s+14Crs%#LUga?(hY+VbC&n:apS7h!! -rPAQ_rh0F"dTlkNh>dQKh>dQTh>dQOh>dQNh>dP,hLXPYh@BS6Tj7ZuhS-^0Dis8Q[,rr<&jrr<&qs8N)nrr?X)rr?X-rr<&grr?Wus8N)rrs$oF -Tj7ZuhY+YcD#jUam@aR\de9@7?%N$,s+14Crs$oFTj7ZuhY+YcD#jUapRqUn! -rOi3]rhKX"eQMtNh>dQKh>dQTh>dQOh>dQNh>dP,hLXPYh@BS9UfmcuhS$U+;Pa?mhYt1mC&n:a -!<:om]``Z^!*[qPU]=Ts]``Z^s8S#Rrr<&jrr<&qs8N)nrr@uOrr@uSrr<&grr@uFs8N)rrs%#L -UfmcuhY+VbC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcuhY+VbC&n:apS7gn! -rOi3]rhKX*eRAOVh>dQKh>dQTh>dQOh>dQNh>dP,hLXPYh?O#1Uga?(hYt1jMlcs8rOiDM!<:RL -s5(W+"FC+K@b(IR!+Po?"FC.Ks"XBM!!)Wj!!)or!W`6#p\t4Jp\t4Jqu6WrnG`JCn,EFhrrDrr -#1]NF@K?Gbp:UQC!<:U:U]LMGp7q[tJcC<$JcGEC#1]NF@K?Gbp:UQC!<:UDU]Fp)rhP&~> -rPAQ_rh0F"dTlkNh>dQKh>dQTh>dQOh>dQNh>dP,hLXPYh?O#.Tj7ZuhYt4kKrY10rOrJQ!<:II -s5(W,"FU7M?./_G!+#Q?"G$RQs(2',!!)Wj!!)or!W`6#p\t5)p\t5)qu6WrnG`K"n,EFhrrDrr -#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC#1B3=>lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMtNh>dQKh>dQTh>dQOh>dQNh>dP,hLXPYh?O#1UfmcuhYt1jK;AP(rOiDM!<:RL -s5(W+"FC+K>1NVJ!*]?7"FC.Ks,6aR!!)Wj!!)or!W`6#p\t5Op\t5Oqu6WrnG`KHn,EFhrrDrr -#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC#1]NF=oeTZp:UQC!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAOVh>dQQhYmNThYmKThYmNPhYmKUh>mQ3! -rPAQ_rh0F"dTlkNh>dQQhYmNThYmKThYmNPhYmKUh>mQ3!lao]p:^`J!<:IIs5(W,"FU7M?./_G!+#Q?"G$RQs(2',!!)Wj!!)or"9AH%rrDlp!+kp)!+l'- -!!)Ng!+kX!"9AH%rrE#t#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC#1B3=>lao]p:^WG -!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMtNh>dQQhYmNThYmKThYmNPhYmKUh>mQ3!1NVJ!*]?7"FC.Ks,6aR!!)Wj!!)or"9AH%rrDlp!/pUO!/paS -!!)Ng!/p=G"9AH%rrE#t#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC#1]NF=oeTZp:UQC -!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAOVh>dQRh>dQTh?*c7h>mQ3!!)iO!s%37!<1gZ!8cQ4hVJ83h?*c7!!%T,K&-_3 -eYHXSs5*I_#&4/6HUnhH"s5*I_")7i9 -eb>j?@K?D'J,~> -rPAQ_rh0F"dTlkNh>dQRh>dQTh?*c7h>mQ3!!)iO!s%37!<1gZ!8cQ4hVJ83h?*c7!!%T,K&-_3 -d\0qHs5*I`#&OA?dK'=(_S-/$!!$6ETqP`ls5*I`")S&< -deBF9>laktJ,~> -rOi3]rhKX"eQMtNh>dQRh>dQTh?*c7h>mQ3!!)iO!s%37!<1gZ!8cQ4hVJ83h?*c7!!%T,K&-_3 -eYH@Ks5*I_#&4/6HUnh/os5*I_")7i9 -eb>j?=oePtJ,~> -rOi3]rhKX*eRAOVh>dQRhY[BRh>dQTh>dQOh?*c7h>mQ3"p!N:!8cQ4rn[\Vh>i,`J_gV2eYHXS -s5*I_#&4/!Fc'.Ujr~> -rPAQ_rh0F"dTlkNh>dQRhY[BRh>dQTh>dQOh?*c7h>mQ3"p!N:!8cQ4rn[\Vh>i,`J_gV2d\0qH -s5*I`#&OA?dK'=(_S-/$!!$ -rOi3]rhKX"eQMtNh>dQRhY[BRh>dQTh>dQOh?*c7h>mQ3"p!N:!8cQ4rn[\Vh>i,`J_gV2eYH@K -s5*I_#&4/!EoL&Ujr~> -rOi3]rhKX*eRAOVh>dQRh>dQQh>dQTh>dQOh?*c7h>mQ3"p!N:!8cQ4rn[\Vh>i,`J_gV2eYHXS -s5*I_#&4/!Fc'.Ujr~> -rPAQ_rh0F"dTlkNh>dQRh>dQQh>dQTh>dQOh?*c7h>mQ3"p!N:!8cQ4rn[\Vh>i,`J_gV2d\0qH -s5*I`#&OA?dK'=(_S-/$!!$ -rOi3]rhKX"eQMtNh>dQRh>dQQh>dQTh>dQOh?*c7h>mQ3"p!N:!8cQ4rn[\Vh>i,`J_gV2eYH@K -s5*I_#&4/!EoL&Ujr~> -rOi3]rhKX*eRAOVh>dQRh>dQTh?*c7h>mQ3!!)iO%058A!8cQ4!8cQ4hVJ83h?!]6!.j!Xh?O#1 -Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[qYpNqmJd.dir8uYdJjF$UnhH"s5*I_")7i9 -ea9.5s4-h=!+LNZJcC<$p&>6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlkNh>dQRh>dQTh?*c7h>mQ3!!)iO%058A!8cQ4!8cQ4hVJ83h?!]6!.j!Xh?O#. -Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fqYpNqmJd.dir8uYdJjF!TqP`ls5*I`")S&< -dd<_/s3gV7!*t0UJcC<$p&>6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtNh>dQRh>dQTh?*c7h>mQ3!!)iO%058A!8cQ4!8cQ4hVJ83h?!]6!.j!Xh?O#1 -UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[qYpNqmJd.dir8uYdJjF$Unh/os5*I_")7i9 -ea9.5s4-h=!*XsRJcC<$p&>6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAOVhY[BRhYmNSh>dQSh>dQOh?Eu:h>dQ4!<1gV!8cT3!<:mU!.j!Xh?O#1Uga?( -hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlkNhY[BRhYmNSh>dQSh>dQOh?Eu:h>dQ4!<1gV!8cT3!<:mU!.j!Xh?O#.Tj7Zu -hY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtNhY[BRhYmNSh>dQSh>dQOh?Eu:h>dQ4!<1gV!8cT3!<:mU!.j!Xh?O#1Ufmcu -hY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0s+13prrprK@K?Gbp:UZF!<:RLs5(W+"FC+K@b(IR!+Po?!IFg2rs%#LUga?( -hY+VbC&n:amA'd_eb5d=@Y+Q1s+14Crs%#LUga?(hY+VbC&n:apS7h!! -rPAQ_rh0F"dTlj(s+13prrpiE>lao]p:^`J!<:IIs5(W,"FU7M?./_G!+#Q?!J(68rs$oFTj7Zu -hY+YcD#jUam@aR\de9@7?%N$,s+14Crs$oFTj7ZuhY+YcD#jUapRqUn! -rOi3]rhKX"eQMs(s+13prrprK=oeTZp:UZF!<:RLs5(W+"FC+K>1NVJ!*]?7!IFg2rs%#LUfmcu -hY+VbC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcuhY+VbC&n:apS7gn! -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAOVhY[BBh>dP,hLXPLh?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[ -PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlkNhY[BBh>dP,hLXPLh?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2f -PlCs9TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtNhY[BBh>dP,hLXPLh?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[ -PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAOVh>dQ.h>dQNh>dP,hMC"ms4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E@f -rPAQ_rh0F"dTlkNh>dQ.h>dQNh>dP,hMC"ms3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p??2_V@ -JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC#1B3=>lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMtNh>dQ.h>dQNh>dP,hMC"ms4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E>5c,8 -HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC#1]NF=oeTZp:UQC!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAOVh>dQ.h>dQNh>dP,hMC"ms4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E@f -rPAQ_rh0F"dTlkNh>dQ.h>dQNh>dP,hMC"ms3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p??2_V@ -JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC#1B3=>lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMtNh>dQ.h>dQNh>dP,hMC"ms4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E>5c,8 -HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC#1]NF=oeTZp:UQC!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAOVh>dQQhYmNTh>dQTh?a2=!8[\Uh>lEhrW)uT!s%0X!;kXP!!1pVrn[YUhYmNT -hYmNTh?*c7!!%T,PhlWEeYHXSs5*I_#&4/!Fc'.Ujr~> -rPAQ_rh0F"dTlkNh>dQQhYmNTh>dQTh?a2=!8[\Uh>lEhrW)uT!s%0X!;kXP!!1pVrn[YUhYmNT -hYmNTh?*c7!!%T,PhlWEd\0qHs5*I`#&OA?dK'=(_S-/$!!$ -rOi3]rhKX"eQMtNh>dQQhYmNTh>dQTh?a2=!8[\Uh>lEhrW)uT!s%0X!;kXP!!1pVrn[YUhYmNT -hYmNTh?*c7!!%T,PhlWEeYH@Ks5*I_#&4/!EoL&Ujr~> -rOi3]rhKX*eRAOVhYdHSh>dQTh?!]6!<1gW!8[\Urn[\Vh>mQ3!s%0X!;PCQ!8cQ4rn[hZhVJ7h -h>mQ3!s%0X!.j!ih?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlkNhYdHSh>dQTh?!]6!<1gW!8[\Urn[\Vh>mQ3!s%0X!;PCQ!8cQ4rn[hZhVJ7h -h>mQ3!s%0X!.j!ih?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`ls5*I` -")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtNhYdHSh>dQTh?!]6!<1gW!8[\Urn[\Vh>mQ3!s%0X!;PCQ!8cQ4rn[hZhVJ7h -h>mQ3!s%0X!.j!ih?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAOVh>dQRh>dQTh?!]6!<1gV!8[_Sh>mW5qu?cS!;G=P!8cQ4rn[hZhVJ7hh>mQ3 -!W_'WJ_lOG#635L@K?Gbp:U`H!<:RLs5(H&rW)c-!!)B!!W]n6ke.+G!!$KYrhKO'rOi5Y!0mKf -eYK!M!<:pL]`W!Ls4-M4!WU^DU]=kTs+13$s7QBreYK!M!<:pL]`W!Ls4-k>!Fc'.Ujr~> -rPAQ_rh0F"dTlkNh>dQRh>dQTh?!]6!<1gV!8[_Sh>mW5qu?cS!;G=P!8cQ4rn[hZhVJ7hh>mQ3 -!W_'WJ_lOG#63,F>lao]p:^fL!<:IIs5(K(rW)c.!!)B"!W]q7ke71J!!$ -rOi3]rhKX"eQMtNh>dQRh>dQTh?!]6!<1gV!8[_Sh>mW5qu?cS!;G=P!8cQ4rn[hZhVJ7hh>mQ3 -!W_'WJ_lOG#635L=oeTZp:U`H!<:RLs5(H&rW)c-!!)B!!W]n6ke.+G!!$3QrhKNtrOi5Y!0mKf -eYK!E!<:pL]`W!Ls4-M4!WU^DU]=SLs+13$s7QBreYK!E!<:pL]`W!Ls4-k>!EoL&Ujr~> -rOi3]rhKX*eRAOVh>dQRh>dQTh?!]6!<1gV!8[_Sh?!]6!;t[R!;G=P!8cQ4rn[hZhVJ7hh>mQ3 -!W_'WJ_lOG#635L@K?Gbp:U`H!<:RLs5(Ehrk/:3qRlk/lFd/tke.+G!!$KYrhKO'rOi5Y!0mKf -eYK!M!<:pL]`W!Ls4-M4!WU^DU]=kTs+13$s7QBreYK!M!<:pL]`W!Ls4-k>!Fc'.Ujr~> -rPAQ_rh0F"dTlkNh>dQRh>dQTh?!]6!<1gV!8[_Sh?!]6!;t[R!;G=P!8cQ4rn[hZhVJ7hh>mQ3 -!W_'WJ_lOG#63,F>lao]p:^fL!<:IIs5(Hirk8@4qRuq0lFm5uke71J!!$ -rOi3]rhKX"eQMtNh>dQRh>dQTh?!]6!<1gV!8[_Sh?!]6!;t[R!;G=P!8cQ4rn[hZhVJ7hh>mQ3 -!W_'WJ_lOG#635L=oeTZp:U`H!<:RLs5(Ehrk/:3qRlk/lFd/tke.+G!!$3QrhKNtrOi5Y!0mKf -eYK!E!<:pL]`W!Ls4-M4!WU^DU]=SLs+13$s7QBreYK!E!<:pL]`W!Ls4-k>!EoL&Ujr~> -rOi3]rhKX*eRAOVh>dQRh>dQTh?X,lEh!!(m4!8cQ4 -rn[\Vh>i,`OkpeH#X+]`@c>!!);t!!)5r"FC+K@b(IR!+Po?!IFg2rs%#L -Uga?(hY+VbC&n:amA'd_eb5d=@Y+Q1s+14Crs%#LUga?(hY+VbC&n:apS7h!! -rPAQ_rh0F"dTlkNh>dQRh>dQTh?X,lEh!!(m4!8cQ4 -rn[\Vh>i,`Okp -rOi3]rhKX"eQMtNh>dQRh>dQTh?X,lEh!!(m4!8cQ4 -rn[\Vh>i,`OkpeH#X+]`@c>!!);t!!)5r"FC+K>1NVJ!*]?7!IFg2rs%#L -UfmcuhY+VbC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcuhY+VbC&n:apS7gn! -rOi3]rhKX*eRAOVh>dQQhYmNShZ!QXh>lC4rS@SUhVS53s5!_Up>,uRhVJ54h>mQ3!W_*6rW)uT -!!%T,OkpeH#X+]`@uD!!*#3"TZ49]`8'3^&J*3^&A$3]a=bQ!!'\4]`>_G -!<0\2!:d`*HN4%Tec)?E@f -rPAQ_rh0F"dTlkNh>dQQhYmNShZ!QXh>lC4rS@SUhVS53s5!_Up>,uRhVJ54h>mQ3!W_*6rW)uT -!!%T,Okplao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC#1B3= ->lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMtNh>dQQhYmNShZ!QXh>lC4rS@SUhVS53s5!_Up>,uRhVJ54h>mQ3!W_*6rW)uT -!!%T,OkpeH#X+]`@uD!!*#3"TZ49]`8'3^&J*3^&A$3]a=bQ!!'\4]`>_G -!<0\2!:d`*HN4%Lec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC#1]NF -=oeTZp:UQC!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VgC&n:a!<:oh^&A$3]`8'3]aXtT!!'^G!5/BG]`>_G -rk/C6]`8'3]a+VO!!'^G!5/C3]`8'']``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YhD#jUa!<:oi^A\-4^&S04^'t(V!!'aI!58HI^&YkI -rk8I7^&S04^'F_Q!!'aI!58I4^&S0(^'&ia!+"%PT`ABs_?#2fPlCs9TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VgC&n:a!<:oh^&A$3]`8'3]aXtT!!'^G!5/BG]`>_G -rk/C6]`8'3]a+VO!!'^G!5/C3]`8'']``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:pR]`J2I!<0Y5!5/C3]`S8J]`A&F!!)r1 -!!)u2!W]n6rk/=4^&.m$]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:pR^&e;K!<0\6!58I4^&nAL^&\/H!!)r2 -!!)u3!W]q7rk8C5^AJ!%^'&ia!+"%PT`ABs_?#2fPlCs9TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:pR]`J2I!<0Y5!5/C3]`S8J]`A&F!!)r1 -!!)u2!W]n6rk/=4^&.m$]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:pR]`J2I!<0Y5!5/C3]`8'3]`S8J]`@uD -!!)u2!W]n6rk/@5]`@K6"FC+K@b(IR!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eb5d=@Y+Q1 -s+14Crs%#LUga?(hY+VbC&n:apS7h!! -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:pR^&e;K!<0\6!58I4^&S04^&nAL^&\)F -!!)u3!W]q7rk8F6^&[T8"FU7M?./_G!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\de9@7?%N$, -s+14Crs$oFTj7ZuhY+YcD#jUapRqUn! -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:pR]`J2I!<0Y5!5/C3]`8'3]`S8J]`@uD -!!)u2!W]n6rk/@5]`@K6"FC+K>1NVJ!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb5d=>(Q^) -s+14Crs%#LUfmcuhY+VbC&n:apS7gn! -rOi3]rhKX*eRAN0s+13prrprK@K?Gbp:U`H!<:RLs5(Ehrk/sF]`>aZ!!'\4!56&G]`>aZ!5/C3 -]`J2I!<'S:!5/@4]tFEZ!<0Y3!:mf+HN4%Tec)?E@f -rPAQ_rh0F"dTlj(s+13prrpiE>lao]p:^fL!<:IIs5(Hirk9$G^&Ym]!!'_5!5?/I^&Ym]!58I4 -^&e;K!<'V;!58F5^:jT]!<0\4!:mi,I/j7Qdf,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2A -p7VIlJcC<$JcGEC#1B3=>lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMs(s+13prrprK=oeTZp:U`H!<:RLs5(Ehrk/sF]`>aZ!!'\4!56&G]`>aZ!5/C3 -]`J2I!<'S:!5/@4]tFEZ!<0Y3!:mf+HN4%Lec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMG -p7q[lJcC<$JcGEC#1]NF=oeTZp:UQC!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VgC&n:a!<:oh^&A$2^&J':]`>_G]`8'3^&J*3^&A$3 -]`8'2]`eDL!5/@4rk8:2q7R1:]tFEZ]`>`m!!$KYrhKO'rOi5Y!0mKfeYK!M!<:pL]`W!Ls4-M4 -!WU^DU]=kTs+13$s7QBreYK!M!<:pL]`W!Ls4-k>!Fc'.Ujr~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YhD#jUa!<:oi^A\-3^Ae0;^&YkI^&S04^Ae34^A\-4 -^&S03^'+MN!58F5rkA@3q7[7;^:jT]^&Ylq!!$ -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VgC&n:a!<:oh^&A$2^&J':]`>_G]`8'3^&J*3^&A$3 -]`8'2]`eDL!5/@4rk8:2q7R1:]tFEZ]`>`m!!$3QrhKNtrOi5Y!0mKfeYK!E!<:pL]`W!Ls4-M4 -!WU^DU]=SLs+13$s7QBreYK!E!<:pL]`W!Ls4-k>!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAOVhY[BMh>dP,hLXPAh?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[ -PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlkNhY[BMh>dP,hLXPAh?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2f -PlCs9TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtNhY[BMh>dP,hLXPAh?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[ -PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAOVh>dQDh>dQJh>dQNh>dP,hLXMghZ)-%@K?Gbp:UZF!<:RLs5(W+"FC+K@b(IR -!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eb5d=@Y+Q1s+14Crs%#LUga?(hY+VbC&n:apS7h! -! -rPAQ_rh0F"dTlkNh>dQDh>dQJh>dQNh>dP,hLXMghZ)#t>lao]p:^`J!<:IIs5(W,"FU7M?./_G -!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\de9@7?%N$,s+14Crs$oFTj7ZuhY+YcD#jUapRqUn -! -rOi3]rhKX"eQMtNh>dQDh>dQJh>dQNh>dP,hLXMghZ)-%=oeTZp:UZF!<:RLs5(W+"FC+K>1NVJ -!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcuhY+VbC&n:apS7gn -! -rOi3]rhKX*eRAOVh>dQDh>dQJh>dQNh>dP,hLXMghZ)-%@K?Gbp:UZF!<:RLs5(W+"FC+K@b(IR -!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eb5d=@Y+Q1s+14Crs%#LUga?(hY+VbC&n:apS7h! -! -rPAQ_rh0F"dTlkNh>dQDh>dQJh>dQNh>dP,hLXMghZ)#t>lao]p:^`J!<:IIs5(W,"FU7M?./_G -!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\de9@7?%N$,s+14Crs$oFTj7ZuhY+YcD#jUapRqUn -! -rOi3]rhKX"eQMtNh>dQDh>dQJh>dQNh>dP,hLXMghZ)-%=oeTZp:UZF!<:RLs5(W+"FC+K>1NVJ -!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcuhY+VbC&n:apS7gn -! -rOi3]rhKX*eRAOVh>dQRh>dQTh?X,!Fc'.Ujr~> -rPAQ_rh0F"dTlkNh>dQRh>dQTh?X, -rOi3]rhKX"eQMtNh>dQRh>dQTh?X,!EoL&Ujr~> -rOi3]rhKX*eRAOVhYdHRh@fnG!8cQ4h>lEh!8cQ4hVJ7hh>mE/!s%37!<1gZ!8cQ4hVJ83h?*c7 -!!%T,MV\R;eYHXSs5*I_#&4/!Fc'.Ujr~> -rPAQ_rh0F"dTlkNhYdHRh@fnG!8cQ4h>lEh!8cQ4hVJ7hh>mE/!s%37!<1gZ!8cQ4hVJ83h?*c7 -!!%T,MV\R;d\0qHs5*I`#&OA?dK'=(_S-/$!!$ -rOi3]rhKX"eQMtNhYdHRh@fnG!8cQ4h>lEh!8cQ4hVJ7hh>mE/!s%37!<1gZ!8cQ4hVJ83h?*c7 -!!%T,MV\R;eYH@Ks5*I_#&4/!EoL&Ujr~> -rOi3]rhKX*eRAOVh>dQPh>dQTh?*c7h>mN2!!*#T!!)fN!s%37!<1gZ!8cQ4hVJ83h?!]6!.j!` -h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlkNh>dQPh>dQTh?*c7h>mN2!!*#T!!)fN!s%37!<1gZ!8cQ4hVJ83h?!]6!.j!` -h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtNh>dQPh>dQTh?*c7h>mN2!!*#T!!)fN!s%37!<1gZ!8cQ4hVJ83h?!]6!.j!` -h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAOVh>dQPh>dQTh>dQTh>dQTh>dQSh>dQOh?*c7h>mQ3"p!N:!8cQ4rn[\Vh>i,` -M;AI:eYHXSs5*I_#&4/!Fc'.Ujr~> -rPAQ_rh0F"dTlkNh>dQPh>dQTh>dQTh>dQTh>dQSh>dQOh?*c7h>mQ3"p!N:!8cQ4rn[\Vh>i,` -M;AI:d\0qHs5*I`#&OA?dK'=(_S-/$!!$ -rOi3]rhKX"eQMtNh>dQPh>dQTh>dQTh>dQTh>dQSh>dQOh?*c7h>mQ3"p!N:!8cQ4rn[\Vh>i,` -M;AI:eYH@Ks5*I_#&4/!EoL&Ujr~> -rOi3]rhKX*eRAOVh>dQQh@fnG!8cQ4h>lEh!8cQ4hVJ7hh>mE/%058A!8cQ4!8cQ4hVJ83h?!]6 -!.j!`h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlkNh>dQQh@fnG!8cQ4h>lEh!8cQ4hVJ7hh>mE/%058A!8cQ4!8cQ4hVJ83h?!]6 -!.j!`h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtNh>dQQh@fnG!8cQ4h>lEh!8cQ4hVJ7hh>mE/%058A!8cQ4!8cQ4hVJ83h?!]6 -!.j!`h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAOVhY[?Sh>mQ3"p!K[hVJ54rS@YWhVJ54ptc2ThVJ54h>mQ3!W_*6rW)uT!!%T, -M;AI:eYHXSs5*I_#&4/!Fc'.Ujr~> -rPAQ_rh0F"dTlkNhY[?Sh>mQ3"p!K[hVJ54rS@YWhVJ54ptc2ThVJ54h>mQ3!W_*6rW)uT!!%T, -M;AI:d\0qHs5*I`#&OA?dK'=(_S-/$!!$ -rOi3]rhKX"eQMtNhY[?Sh>mQ3"p!K[hVJ54rS@YWhVJ54ptc2ThVJ54h>mQ3!W_*6rW)uT!!%T, -M;AI:eYH@Ks5*I_#&4/!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0s+13prrprK@K?Gbp:UZF!<:RLs5(W+"FC+K@b(IR!+Po?!IFg2rs%#LUga?( -hY+VbC&n:amA'd_eb5d=@Y+Q1s+14Crs%#LUga?(hY+VbC&n:apS7h!! -rPAQ_rh0F"dTlj(s+13prrpiE>lao]p:^`J!<:IIs5(W,"FU7M?./_G!+#Q?!J(68rs$oFTj7Zu -hY+YcD#jUam@aR\de9@7?%N$,s+14Crs$oFTj7ZuhY+YcD#jUapRqUn! -rOi3]rhKX"eQMs(s+13prrprK=oeTZp:UZF!<:RLs5(W+"FC+K>1NVJ!*]?7!IFg2rs%#LUfmcu -hY+VbC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcuhY+VbC&n:apS7gn! -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAOThYdH4h?!]6!;>7L!.j!`h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m& -]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D' -J,~> -rPAQ_rh0F"dTlkLhYdH4h?!]6!;>7L!.j!`h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs -_?#2fPlCs9TqP`ls5*I`")S&6ETqP`ls5*I`")S&lakt -J,~> -rOi3]rhKX"eQMtLhYdH4h?!]6!;>7L!.j!`h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts -]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePt -J,~> -rOi3]rhKX*eRAOUh>dQSh>dQIh>dQFh>dQMh>dQAh>dQNh>dP,hP]37s4*oS!<:pL]`r3Os4%,L -hSQr/HN4%Tec)?E@f -rPAQ_rh0F"dTlkMh>dQSh>dQIh>dQFh>dQMh>dQAh>dQNh>dP,hP]37s3dTH!<:pL^'8ESs3^oI -hSQu0I/j7Qdf,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC#1B3=>lao] -p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMtMh>dQSh>dQIh>dQFh>dQMh>dQAh>dQNh>dP,hP]37s4*oK!<:pL]`r3Os4%,L -hSQr/HN4%Lec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC#1]NF=oeTZ -p:UQC!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAOVh>dQCh>dQFh>dQMh>dQAh>dQNh>dP,hP]37s4*oS!<:pL]`r3Os4%,LhSQr/ -HN4%Tec)?E@f -rPAQ_rh0F"dTlkNh>dQCh>dQFh>dQMh>dQAh>dQNh>dP,hP]37s3dTH!<:pL^'8ESs3^oIhSQu0 -I/j7Qdf,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC#1B3=>lao]p:^WG -!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMtNh>dQCh>dQFh>dQMh>dQAh>dQNh>dP,hP]37s4*oK!<:pL]`r3Os4%,LhSQr/ -HN4%Lec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC#1]NF=oeTZp:UQC -!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAOVh>dQOhYmNTh?dQPhYmKUh>mQ3! -rPAQ_rh0F"dTlkNh>dQOhYmNTh?dQPhYmKUh>mQ3!lao]p:^`J!<:IIs5(W, -"FU7M?./_G!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\de9@7?%N$,s+14Crs$oFTj7ZuhY+Yc -D#jUapRqUn! -rOi3]rhKX"eQMtNh>dQOhYmNTh?dQPhYmKUh>mQ3!1NVJ!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcuhY+Vb -C&n:apS7gn! -rOi3]rhKX*eRAOVh>dQPh>dQTh@0JA!!(m4!8cQ4hVJ54qVDPZh>lEh!!(jUh>mQ3#QW`mQ3"p!K[!8cQ4qVD;ShVJ83h?Eu:h>lEh!<1gW!8[\UJ_mZg#635L@K?Gbp:UZF!<:RLs5(W+ -"FC+K@b(IR!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eb5d=@Y+Q1s+14Crs%#LUga?(hY+Vb -C&n:apS7h!! -rPAQ_rh0F"dTlkNh>dQPh>dQTh@0JA!!(m4!8cQ4hVJ54qVDPZh>lEh!!(jUh>mQ3#QW`mQ3"p!K[!8cQ4qVD;ShVJ83h?Eu:h>lEh!<1gW!8[\UJ_mZg#63,F>lao]p:^`J!<:IIs5(W, -"FU7M?./_G!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\de9@7?%N$,s+14Crs$oFTj7ZuhY+Yc -D#jUapRqUn! -rOi3]rhKX"eQMtNh>dQPh>dQTh@0JA!!(m4!8cQ4hVJ54qVDPZh>lEh!!(jUh>mQ3#QW`mQ3"p!K[!8cQ4qVD;ShVJ83h?Eu:h>lEh!<1gW!8[\UJ_mZg#635L=oeTZp:UZF!<:RLs5(W+ -"FC+K>1NVJ!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcuhY+Vb -C&n:apS7gn! -rOi3]rhKX*eRAOVh>dQPh>dQTh?!]6!<1gZ!8cQ4hVJ81hYdETh>mQ3"9@9Yh>mH0"T[E9!8[_T -h?!]6!<1gT!;bOS!8cQ4rn[hZhVJ7hh>mQ3!W_'WJ_mWf#635L@K?Gbp:UZF!<:RLs5(W+"FC+K -@b(IR!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eb5d=@Y+Q1s+14Crs%#LUga?(hY+VbC&n:a -pS7h!! -rPAQ_rh0F"dTlkNh>dQPh>dQTh?!]6!<1gZ!8cQ4hVJ81hYdETh>mQ3"9@9Yh>mH0"T[E9!8[_T -h?!]6!<1gT!;bOS!8cQ4rn[hZhVJ7hh>mQ3!W_'WJ_mWf#63,F>lao]p:^`J!<:IIs5(W,"FU7M -?./_G!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\de9@7?%N$,s+14Crs$oFTj7ZuhY+YcD#jUa -pRqUn! -rOi3]rhKX"eQMtNh>dQPh>dQTh?!]6!<1gZ!8cQ4hVJ81hYdETh>mQ3"9@9Yh>mH0"T[E9!8[_T -h?!]6!<1gT!;bOS!8cQ4rn[hZhVJ7hh>mQ3!W_'WJ_mWf#635L=oeTZp:UZF!<:RLs5(W+"FC+K ->1NVJ!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcuhY+VbC&n:a -pS7gn! -rOi3]rhKX*eRAOVh>dQPh>dQTh?!]6!<1gZ!8cQ4hVJ82h>dQTh?!]6!<1gX!8[_4!;kUV!8cQ4 -h>mQ3!W_'Wrn[VTqVD;ShVJ83h?Eu:h>lEh!<1gV!8[^,hQYi@s4*oS!<:pL]`r3Os4%,LhSQr/ -HN4%Tec)?E@f -rPAQ_rh0F"dTlkNh>dQPh>dQTh?!]6!<1gZ!8cQ4hVJ82h>dQTh?!]6!<1gX!8[_4!;kUV!8cQ4 -h>mQ3!W_'Wrn[VTqVD;ShVJ83h?Eu:h>lEh!<1gV!8[^,hQYi@s3dTH!<:pL^'8ESs3^oIhSQu0 -I/j7Qdf,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC#1B3=>lao]p:^WG -!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMtNh>dQPh>dQTh?!]6!<1gZ!8cQ4hVJ82h>dQTh?!]6!<1gX!8[_4!;kUV!8cQ4 -h>mQ3!W_'Wrn[VTqVD;ShVJ83h?Eu:h>lEh!<1gV!8[^,hQYi@s4*oK!<:pL]`r3Os4%,LhSQr/ -HN4%Lec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC#1]NF=oeTZp:UQC -!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAOUh>dQSh?!]6!<1gV!8[_Th?Eu:h>lEh!<(aa!8cQ4!8[_4h>dQ4!8[_Th?X,< -h>lEh!8[_Th?!]6!<1gT!;bO]!8cQ4hVJ54hVJ7hh>mQ3!W_'WJ_mWf#635L@K?Gbp:UZF!<:RL -s5(W+"FC+K@b(IR!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eb5d=@Y+Q1s+14Crs%#LUga?( -hY+VbC&n:apS7h!! -rPAQ_rh0F"dTlkMh>dQSh?!]6!<1gV!8[_Th?Eu:h>lEh!<(aa!8cQ4!8[_4h>dQ4!8[_Th?X,< -h>lEh!8[_Th?!]6!<1gT!;bO]!8cQ4hVJ54hVJ7hh>mQ3!W_'WJ_mWf#63,F>lao]p:^`J!<:II -s5(W,"FU7M?./_G!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\de9@7?%N$,s+14Crs$oFTj7Zu -hY+YcD#jUapRqUn! -rOi3]rhKX"eQMtMh>dQSh?!]6!<1gV!8[_Th?Eu:h>lEh!<(aa!8cQ4!8[_4h>dQ4!8[_Th?X,< -h>lEh!8[_Th?!]6!<1gT!;bO]!8cQ4hVJ54hVJ7hh>mQ3!W_'WJ_mWf#635L=oeTZp:UZF!<:RL -s5(W+"FC+K>1NVJ!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcu -hY+VbC&n:apS7gn! -rOi3]rhKX*eRAOThYdHRhYmNTh>dQTh>dQTh?!]6!;t^R!"7W`hVJ54h>lC4hVS53rS@YWh>lEh -rW)uT!!*#T!!)iO"p!N:!!(jUrn[\VhVS53s5!_UJ_mWf#635L@K?Gbp:UZF!<:RLs5(W+"FC+K -@b(IR!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eb5d=@Y+Q1s+14Crs%#LUga?(hY+VbC&n:a -pS7h!! -rPAQ_rh0F"dTlkLhYdHRhYmNTh>dQTh>dQTh?!]6!;t^R!"7W`hVJ54h>lC4hVS53rS@YWh>lEh -rW)uT!!*#T!!)iO"p!N:!!(jUrn[\VhVS53s5!_UJ_mWf#63,F>lao]p:^`J!<:IIs5(W,"FU7M -?./_G!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\de9@7?%N$,s+14Crs$oFTj7ZuhY+YcD#jUa -pRqUn! -rOi3]rhKX"eQMtLhYdHRhYmNTh>dQTh>dQTh?!]6!;t^R!"7W`hVJ54h>lC4hVS53rS@YWh>lEh -rW)uT!!*#T!!)iO"p!N:!!(jUrn[\VhVS53s5!_UJ_mWf#635L=oeTZp:UZF!<:RLs5(W+"FC+K ->1NVJ!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcuhY+VbC&n:a -pS7gn! -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0s+13prrprK@K?Gbp:UZF!<:RLs5(W+"FC+K@b(IR!+Po?!IFg2rs%#LUga?( -hY+VbC&n:amA'd_eb5d=@Y+Q1s+14Crs%#LUga?(hY+VbC&n:apS7h!! -rPAQ_rh0F"dTlj(s+13prrpiE>lao]p:^`J!<:IIs5(W,"FU7M?./_G!+#Q?!J(68rs$oFTj7Zu -hY+YcD#jUam@aR\de9@7?%N$,s+14Crs$oFTj7ZuhY+YcD#jUapRqUn! -rOi3]rhKX"eQMs(s+13prrprK=oeTZp:UZF!<:RLs5(W+"FC+K>1NVJ!*]?7!IFg2rs%#LUfmcu -hY+VbC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcuhY+VbC&n:apS7gn! -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAOTh>dQ1h>dP,hLXP^h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[ -PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlkLh>dQ1h>dP,hLXP^h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2f -PlCs9TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtLh>dQ1h>dP,hLXP^h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[ -PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAOTh>dQ4h>dQAh>dQNh>dP,hOE@+s4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E -@f -rPAQ_rh0F"dTlkLh>dQ4h>dQAh>dQNh>dP,hOE@+s3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p? -?2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC#1B3=>lao]p:^WG!<:LAT`JF! -rh4i~> -rOi3]rhKX"eQMtLh>dQ4h>dQAh>dQNh>dP,hOE@+s4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E ->5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC#1]NF=oeTZp:UQC!<:UDU]FX! -rhP&~> -rOi3]rhKX*eRAOUh?!]6!8lW5!:/JA!;PCN!.j!rh?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLX -U]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j? -@K?D'J,~> -rPAQ_rh0F"dTlkMh?!]6!8lW5!:/JA!;PCN!.j!rh?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%P -T`ABs_?#2fPlCs9TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtMh?!]6!8lW5!:/JA!;PCN!.j!rh?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qP -U]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j? -=oePtJ,~> -rOi3]rhKX*eRAOUh?!]6!<(dS!<1jT!<:mU!<1gU!8d\T$Jka_hVJ7h!!(m4rW!&W!8cT3!<:mX -!8[\UqVM2O!T!hUh>mW5rW)uTrW)uT!s%0X!.j")h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLX -U]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j? -@K?D'J,~> -rPAQ_rh0F"dTlkMh?!]6!<(dS!<1jT!<:mU!<1gU!8d\T$Jka_hVJ7h!!(m4rW!&W!8cT3!<:mX -!8[\UqVM2O!T!hUh>mW5rW)uTrW)uT!s%0X!.j")h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%P -T`ABs_?#2fPlCs9TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMtMh?!]6!<(dS!<1jT!<:mU!<1gU!8d\T$Jka_hVJ7h!!(m4rW!&W!8cT3!<:mX -!8[\UqVM2O!T!hUh>mW5rW)uTrW)uT!s%0X!.j")h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qP -U]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j? -=oePtJ,~> -rOi3]rhKX*eRAOVh>dQTh@0JAh>lEh!8[_4h>lC4rn\Cjh>lEh!8cQ4h>dQ4h>lEh!8cQ4h>mQ3 -"p!K[!8cQ4qVD;ShVJ83h?Eu:h>lEh!<1gW!8[\UJ_m6[#635L@K?Gbp:UZF!<:RLs5(W+"FC+K -@b(IR!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eb5d=@Y+Q1s+14Crs%#LUga?(hY+VbC&n:a -pS7h!! -rPAQ_rh0F"dTlkNh>dQTh@0JAh>lEh!8[_4h>lC4rn\Cjh>lEh!8cQ4h>dQ4h>lEh!8cQ4h>mQ3 -"p!K[!8cQ4qVD;ShVJ83h?Eu:h>lEh!<1gW!8[\UJ_m6[#63,F>lao]p:^`J!<:IIs5(W,"FU7M -?./_G!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\de9@7?%N$,s+14Crs$oFTj7ZuhY+YcD#jUa -pRqUn! -rOi3]rhKX"eQMtNh>dQTh@0JAh>lEh!8[_4h>lC4rn\Cjh>lEh!8cQ4h>dQ4h>lEh!8cQ4h>mQ3 -"p!K[!8cQ4qVD;ShVJ83h?Eu:h>lEh!<1gW!8[\UJ_m6[#635L=oeTZp:UZF!<:RLs5(W+"FC+K ->1NVJ!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcuhY+VbC&n:a -pS7gn! -rOi3]rhKX*eRAOVh>dQTh>dQTh>dQSh>dQTh>dQTh?j8>!8cQ4hVJ7h!<1g\!8cQ4hVJ7h!<1gV -!8[_Th>dQPh?*c7h>mQ3"p!N:!8cQ4rn[\Vh>i,`Utu=UeYHXSs5*I_#&4/ -!Fc'.Ujr~> -rPAQ_rh0F"dTlkNh>dQTh>dQTh>dQSh>dQTh>dQTh?j8>!8cQ4hVJ7h!<1g\!8cQ4hVJ7h!<1gV -!8[_Th>dQPh?*c7h>mQ3"p!N:!8cQ4rn[\Vh>i,`Utu=Ud\0qHs5*I`#&OA?dK'=(_S-/$!!$ -rOi3]rhKX"eQMtNh>dQTh>dQTh>dQSh>dQTh>dQTh?j8>!8cQ4hVJ7h!<1g\!8cQ4hVJ7h!<1gV -!8[_Th>dQPh?*c7h>mQ3"p!N:!8cQ4rn[\Vh>i,`Utu=UeYH@Ks5*I_#&4/ -!EoL&Ujr~> -rOi3]rhKX*eRAOVhY[BPh>dQSh?*c7h>mQ3$38o_hVJ7hh>lC4rn[n\hVJ7hh>lC4rn[\Vh>mQ3 -!!)lP!s%37!<1gZ!8cQ4hVJ83h?!]6!.j"&h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m& -]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D' -J,~> -rPAQ_rh0F"dTlkNhY[BPh>dQSh?*c7h>mQ3$38o_hVJ7hh>lC4rn[n\hVJ7hh>lC4rn[\Vh>mQ3 -!!)lP!s%37!<1gZ!8cQ4hVJ83h?!]6!.j"&h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs -_?#2fPlCs9TqP`ls5*I`")S&6ETqP`ls5*I`")S&lakt -J,~> -rOi3]rhKX"eQMtNhY[BPh>dQSh?*c7h>mQ3$38o_hVJ7hh>lC4rn[n\hVJ7hh>lC4rn[\Vh>mQ3 -!!)lP!s%37!<1gZ!8cQ4hVJ83h?!]6!.j"&h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts -]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePt -J,~> -rOi3]rhKX*eRAOWh>dQRhBi6Z!8cQ4h>lEh!8[_4h>dQ4!8cQ4hVJ7h!!(m4!8cQ4hVJ7h!<1gV -!8[_Th>dQPh@0JAh>lEh!!(m4!8cQ4rn[\Vh>i,`Utu=UeYHXSs5*I_#&4/ -!Fc'.Ujr~> -rPAQ_rh0F"dTlkOh>dQRhBi6Z!8cQ4h>lEh!8[_4h>dQ4!8cQ4hVJ7h!!(m4!8cQ4hVJ7h!<1gV -!8[_Th>dQPh@0JAh>lEh!!(m4!8cQ4rn[\Vh>i,`Utu=Ud\0qHs5*I`#&OA?dK'=(_S-/$!!$ -rOi3]rhKX"eQMtOh>dQRhBi6Z!8cQ4h>lEh!8[_4h>dQ4!8cQ4hVJ7h!!(m4!8cQ4hVJ7h!<1gV -!8[_Th>dQPh@0JAh>lEh!!(m4!8cQ4rn[\Vh>i,`Utu=UeYH@Ks5*I_#&4/ -!EoL&Ujr~> -rOi3]rhKX*eRAOWh>dQRh?3i8h>dQThZ!TThZ!Qch>lC4hVJ7hh>lC4h>dQSh?3i8!8cT3!<:mU -!<1gT!;YIU!8cQ4!8[_Th?!]6hYmNTh>dP,hPB!4s4*oS!<:pL]`r3Os4%,LhSQr/HN4%Tec)?E -@f -rPAQ_rh0F"dTlkOh>dQRh?3i8h>dQThZ!TThZ!Qch>lC4hVJ7hh>lC4h>dQSh?3i8!8cT3!<:mU -!<1gT!;YIU!8cQ4!8[_Th?!]6hYmNTh>dP,hPB!4s3dTH!<:pL^'8ESs3^oIhSQu0I/j7Qdf,p? -?2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC#1B3=>lao]p:^WG!<:LAT`JF! -rh4i~> -rOi3]rhKX"eQMtOh>dQRh?3i8h>dQThZ!TThZ!Qch>lC4hVJ7hh>lC4h>dQSh?3i8!8cT3!<:mU -!<1gT!;YIU!8cQ4!8[_Th?!]6hYmNTh>dP,hPB!4s4*oK!<:pL]`r3Os4%,LhSQr/HN4%Lec)?E ->5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC#1]NF=oeTZp:UQC!<:UDU]FX! -rhP&~> -rOi3]rhKX*eRAO7h>dP,hLXPTh?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs< -UnhH"s5*I_")7i9ea9.5s4-h=!+LNZJcC<$p&>6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlk/h>dP,hLXPTh?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9 -TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMt/h>dP,hLXPTh?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs< -Unh/os5*I_")7i9ea9.5s4-h=!*XsRJcC<$p&>6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAO7h>dP,hLXPTh?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs< -UnhH"s5*I_")7i9ea9.5s4-h=!+LNZJcC<$p&>6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlk/h>dP,hLXPTh?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9 -TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMt/h>dP,hLXPTh?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs< -Unh/os5*I_")7i9ea9.5s4-h=!*XsRJcC<$p&>6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0s+13prrprK@K?Gbp:UZF!<:RLs5(W+"FC+K@b(IR!+Po?!IFg2rs%#LUga?( -hY+VbC&n:amA'd_eb5d=@Y+Q1s+14Crs%#LUga?(hY+VbC&n:apS7h!! -rPAQ_rh0F"dTlj(s+13prrpiE>lao]p:^`J!<:IIs5(W,"FU7M?./_G!+#Q?!J(68rs$oFTj7Zu -hY+YcD#jUam@aR\de9@7?%N$,s+14Crs$oFTj7ZuhY+YcD#jUapRqUn! -rOi3]rhKX"eQMs(s+13prrprK=oeTZp:UZF!<:RLs5(W+"FC+K>1NVJ!*]?7!IFg2rs%#LUfmcu -hY+VbC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcuhY+VbC&n:apS7gn! -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(V"JI+!<:RLs5(W+"FC+K@b(IR!+Po?!IFg2rs%#LUga?( -hY+VbC&n:amA'd_eb5d=@Y+Q1s+14Crs%#LUga?(hY+VbC&n:apS7h!! -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuV=e[/!<:IIs5(W,"FU7M?./_G!+#Q?!J(68rs$oFTj7Zu -hY+YcD#jUam@aR\de9@7?%N$,s+14Crs$oFTj7ZuhY+YcD#jUapRqUn! -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuV"JI+!<:RLs5(W+"FC+K>1NVJ!*]?7!IFg2rs%#LUfmcu -hY+VbC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcuhY+VbC&n:apS7gn! -rOi3]rhKX*eRAN0hLXP/h?Er0Uga>"o)JpneH#X+_S$)!!!$KYrhKO'rOi5Y!0mKfeYK!M!<:pL -]`W!Ls4-M4!WU^DU]=kTs+13$s7QBreYK!M!<:pL]`W!Ls4-k>!Fc'.Ujr~> -rPAQ_rh0F"dTlj(hLXP/h?Er-Tj7Ypo)JpndK'=(_S-/$!!$ -rOi3]rhKX"eQMs(hLXP/h?Er0Ufmboo)JpneH#X+_S$)!!!$3QrhKNtrOi5Y!0mKfeYK!E!<:pL -]`W!Ls4-M4!WU^DU]=SLs+13$s7QBreYK!E!<:pL]`W!Ls4-k>!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXP/h?qrro4ueH#X+_S$)!!!$KYrhKO'rOi5Y!0mKfeYK!M!<:pL -]`W!Ls4-M4!WU^DU]=kTs+13$s7QBreYK!M!<:pL]`W!Ls4-k>!Fc'.Ujr~> -rPAQ_rh0F"dTlj(hLXP/h? -rOi3]rhKX"eQMs(hLXP/h?!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXP/h?Er0Uga?(p"fnK!<:RLs5(W+"FC+K@b(IR!+Po?!IFg2rs%#LUga?( -hY+VbC&n:amA'd_eb5d=@Y+Q1s+14Crs%#LUga?(hY+VbC&n:apS7h!! -rPAQ_rh0F"dTlj(hLXP/h?Er-Tj7Zup"fnL!<:IIs5(W,"FU7M?./_G!+#Q?!J(68rs$oFTj7Zu -hY+YcD#jUam@aR\de9@7?%N$,s+14Crs$oFTj7ZuhY+YcD#jUapRqUn! -rOi3]rhKX"eQMs(hLXP/h?Er0Ufmcup"fnK!<:RLs5(W+"FC+K>1NVJ!*]?7!IFg2rs%#LUfmcu -hY+VbC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcuhY+VbC&n:apS7gn! -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hYb%e>5Z&6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhYb(f?2VD@D#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9 -TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhYb%e>5Z&6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hYb%e!;sM7C&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs< -UnhH"s5*I_")7i9ea9.5s4-h=!+LNZJcC<$p&>6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhYb(f!;sP8D#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9 -TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhYb%e!;sM7C&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs< -Unh/os5*I_")7i9ea9.5s4-h=!*XsRJcC<$p&>6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hYk+h=o_b)]`r3Os4%,LhSQr/HN4%Tec)?E@f -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhYk.i>l\1/^'8ESs3^oIhSQu0I/j7Qdf,p??2_V@JH1r7 -#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC#1B3=>lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhYk+h=o_b)]`r3Os4%,LhSQr/HN4%Lec)?E>5c,8HN9<1 -#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC#1]NF=oeTZp:UQC!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hYk.e!<'S8C&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs< -UnhH"s5*I_")7i9ea9.5s4-h=!+LNZJcC<$p&>6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhYk1f!<'V9D#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9 -TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhYk.e!<'S8C&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs< -Unh/os5*I_")7i9ea9.5s4-h=!*XsRJcC<$p&>6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hYt1g>5eL%>5l2>C&n:a!<:om]``Z^!+OLXU]=m&]`EH[ -PlCs6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhYt4h?2ag(?2hPBD#jUa!<:om^'&ia!+"%PT`ABs_?#2f -PlCs9TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhYt1g>5eL%>5l2>C&n:a!<:om]``Z^!*[qPU]=Ts]`EH[ -PlCs6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hYt4d!<0Y9C&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs< -UnhH"s5*I_")7i9ea9.5s4-h=!+LNZJcC<$p&>6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhYt7e!<0\:D#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9 -TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhYt4d!<0Y9C&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs< -Unh/os5*I_")7i9ea9.5s4-h=!*XsRJcC<$p&>6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?j54Uga?(hS$U+qu@%,]tJ.\s4%,LhSQr/HN4%Tec)?E@f -rPAQ_rh0F"dTlj(hLXP/h?j51Tj7ZuhS-^0qu@%/^:nFas3^oIhSQu0I/j7Qdf,p??2_V@JH1r7 -#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC#1B3=>lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXP/h?j54UfmcuhS$U+qu@%,]tJ.\s4%,LhSQr/HN4%Lec)?E>5c,8HN9<1 -#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC#1]NF=oeTZp:UQC!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXP/h?a/3Uga?(hS$W!!<9_:C&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs< -UnhH"s5*I_")7i9ea9.5s4-h=!+LNZJcC<$p&>6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?a/0Tj7ZuhS-`#!<9b;D#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9 -TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?a/3UfmcuhS$W!!<9_:C&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs< -Unh/os5*I_")7i9ea9.5s4-h=!*XsRJcC<$p&>6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s.o=&!W`8NpS7h!! -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls/#C*!W`8KpRqUn! -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os.o=&!W`8NpS7gn! -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs3GUnhH"V"4Qes4-k>!Fc'.Ujr~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&3DTqP`lV=OZfs3gY8!F5^)Tn!~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs3GUnh/oV"4Qes4-k>!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(V"JI+!<:RLs5(W+"FC+K@b(IR!+Po?!IFg2rs%#LUga?( -hY+VbC&n:amA'd_eb5d=@Y+Q1s+14CrrglJUga>qrrT"reb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuV=e[/!<:IIs5(W,"FU7M?./_G!+#Q?!J(68rs$oFTj7Zu -hY+YcD#jUam@aR\de9@7?%N$,s+14CrrgcDTj7ZirrT%sdeBF9>laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuV"JI+!<:RLs5(W+"FC+K>1NVJ!*]?7!IFg2rs%#LUfmcu -hY+VbC&n:amA'd_eb5d=>(Q^)s+14CrrglJUfmcirrT"reb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?Er0Uga>"o)JpneH#X+_S$)!!!$KYrhKO'rOi5Y!0mKfeYK!M!<:pL -]`W!Ls4-M4!WU^DU]=kTs+13$s7QBqeYK!M!<;`K"/Gqseb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?Er-Tj7Ypo)JpndK'=(_S-/$!!$laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?Er0Ufmboo)JpneH#X+_S$)!!!$3QrhKNtrOi5Y!0mKfeYK!E!<:pL -]`W!Ls4-M4!WU^DU]=SLs+13$s7QBqeYK!E!<;`K"/Gqseb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?qrro4ueH#X+_S$)!!!$KYrhKO'rOi5Y!0mKfeYK!M!<:pL -]`W!Ls4-M4!WU^DU]=kTs+13$s7QBreYK!M!<:pL]`W!Ls4-k>!Fc'.Ujr~> -rPAQ_rh0F"dTlj(hLXP/h? -rOi3]rhKX"eQMs(hLXP/h?!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXP/h?Er0Uga?(p"fnK!<:RLs5(W+"FC+K@b(IR!+Po?!IFg2rs%#LUga?( -hY+VbC&n:amA'd_eb5d=@Y+Q1s+14Crs%#LUga?(hYb%e>5Z&9C&n:apS7h!! -rPAQ_rh0F"dTlj(hLXP/h?Er-Tj7Zup"fnL!<:IIs5(W,"FU7M?./_G!+#Q?!J(68rs$oFTj7Zu -hY+YcD#jUam@aR\de9@7?%N$,s+14Crs$oFTj7ZuhYb(f?2VD=D#jUapRqUn! -rOi3]rhKX"eQMs(hLXP/h?Er0Ufmcup"fnK!<:RLs5(W+"FC+K>1NVJ!*]?7!IFg2rs%#LUfmcu -hY+VbC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcuhYb%e>5Z&9C&n:apS7gn! -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*[e!!)r1")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*[f!!)r2")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*[e!!)r1")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?a/3Uga?(hS$W!!<9_:C&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs< -UnhH"s5*I_")7i9ea9.5s4-h=!+LNZJcC<$p&>6HUnhH"s5*^f!a5S-rOi;J!<:UDU]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXP/h?a/0Tj7ZuhS-`#!<9b;D#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9 -TqP`ls5*I`")S&6ETqP`ls5*^g!aPe3rOrAN!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXP/h?a/3UfmcuhS$W!!<9_:C&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs< -Unh/os5*I_")7i9ea9.5s4-h=!*XsRJcC<$p&>6HUnh/os5*^f!a5S-rOi;J!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXP/h?j54Uga?(hS$U+qu@%,]tJ.\s4%,LhSQr/HN4%Tec)?E@f -rPAQ_rh0F"dTlj(hLXP/h?j51Tj7ZuhS-^0qu@%/^:nFas3^oIhSQu0I/j7Qdf,p??2_V@JH1r7 -#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC#1B3=>lao]rP&72rOrAN!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXP/h?j54UfmcuhS$U+qu@%,]tJ.\s4%,LhSQr/HN4%Lec)?E>5c,8HN9<1 -#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC#1]NF=oeTZrOr11rOi;J!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hYt4d!<0Y9C&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs< -UnhH"s5*I_")7i9ea9.5s4-h=!+LNZJcC<$p&>6HUnhH"s5*ag!*]@%!*]B8")7i9eb>j?@K?D' -J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhYt7e!<0\:D#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9 -TqP`ls5*I`")S&6ETqP`ls5*ah!+#R(!+#T<")S&lakt -J,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhYt4d!<0Y9C&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs< -Unh/os5*I_")7i9ea9.5s4-h=!*XsRJcC<$p&>6HUnh/os5*ag!*]@%!*]B8")7i9eb>j?=oePt -J,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hYt1g>5eL%>5l2>C&n:a!<:om]``Z^!+OLXU]=m&]`EH[ -PlCs6HUnhH"s5*agquH`0")7i9eb>j?@K?D' -J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhYt4h?2ag(?2hPBD#jUa!<:om^'&ia!+"%PT`ABs_?#2f -PlCs9TqP`ls5*I`")S&6ETqP`ls5*ahquH`1")S&lakt -J,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhYt1g>5eL%>5l2>C&n:a!<:om]``Z^!*[qPU]=Ts]`EH[ -PlCs6HUnh/os5*agquH`0")7i9eb>j?=oePt -J,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hYk.e!<'S8C&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs< -UnhH"s5*I_")7i9ea9.5s4-h=!+LNZJcC<$p&>?KUnhH"s5(H&>5S@)>.qUa!<:UDU]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhYk1f!<'V9D#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9 -TqP`ls5*I`")S&?HTqP`ls5(K(?2O[,?,"$i!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhYk.e!<'S8C&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs< -Unh/os5*I_")7i9ea9.5s4-h=!*XsRJcC<$p&>?KUnh/os5(H&>5S@)>.qUa!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hYk+h=o_b)]`r3Os4%,LhSQr/HN4%Tec)?E@f`H@K?Gb]tO7Bs1JML!<:UDU]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhYk.i>l\1/^'8ESs3^oIhSQu0I/j7Qdf,p??2_V@JH1r7 -#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC#h#E?>lao]^:sFDs1SSP!<:LAT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhYk+h=o_b)]`r3Os4%,LhSQr/HN4%Lec)?E>5c,8HN9<1 -#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC#h>`H=oeTZ]tO7Bs1JML!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hYb%e!;sM7C&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs< -UnhH"s5*I_")7i9ea9.5s4-h=!+LNZJcC<$p&>6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhYb(f!;sP8D#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9 -TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhYb%e!;sM7C&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs< -Unh/os5*I_")7i9ea9.5s4-h=!*XsRJcC<$p&>6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hYb%e>5Z&6HUnhH"s5*I_")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhYb(f?2VD@D#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9 -TqP`ls5*I`")S&6ETqP`ls5*I`")S&laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhYb%e>5Z&6HUnh/os5*I_")7i9eb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s.o=&!W`8NpS7h!! -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls/#C*!W`8KpRqUn! -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os.o=&!W`8NpS7gn! -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(hY+VeC&n:a!<:om]``Z^!+OLXU]=m&]`EH[PlCs3GUnhH"V"4Qes4-k>!Fc'.Ujr~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuhY+YfD#jUa!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&3DTqP`lV=OZfs3gY8!F5^)Tn!~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuhY+VeC&n:a!<:om]``Z^!*[qPU]=Ts]`EH[PlCs3GUnh/oV"4Qes4-k>!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXP/h?O#1Uga?(V"JI+!<:RLs5(W+"FC+K@b(IR!+Po?!IFg2rs%#LUga?( -hY+VbC&n:amA'd_eb5d=@Y+Q1s+14CrrglJUga>qrrT"reb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?O#.Tj7ZuV=e[/!<:IIs5(W,"FU7M?./_G!+#Q?!J(68rs$oFTj7Zu -hY+YcD#jUam@aR\de9@7?%N$,s+14CrrgcDTj7ZirrT%sdeBF9>laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?O#1UfmcuV"JI+!<:RLs5(W+"FC+K>1NVJ!*]?7!IFg2rs%#LUfmcu -hY+VbC&n:amA'd_eb5d=>(Q^)s+14CrrglJUfmcirrT"reb>j?=oePtJ,~> -rOi3]rhKX*eRAN0hLXP/h?Er0Uga>"o)JpneH#X+_S$)!!!$KYrhKO'rOi5Y!0mKfeYK!M!<:pL -]`W!Ls4-M4!WU^DU]=kTs+13$s7QBqeYK!M!<;`K"/Gqseb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(hLXP/h?Er-Tj7Ypo)JpndK'=(_S-/$!!$laktJ,~> -rOi3]rhKX"eQMs(hLXP/h?Er0Ufmboo)JpneH#X+_S$)!!!$3QrhKNtrOi5Y!0mKfeYK!E!<:pL -]`W!Ls4-M4!WU^DU]=SLs+13$s7QBqeYK!E!<;`K"/Gqseb>j?=oePtJ,~> -rOi3]rhKX*eRE!=s+13prr^fI@Uem-"4[DOhSQr/HN4%Tec)?E@f -rPAQ_rh0F"dTp.0s+13prr^]C?!["#"4@2LhSQu0I/j7Qdf,p??2_V@JH1r7#1B3=>lao]p:^WG -!<:L7T`P2Ap7VIlJcC<$JcGEC#1B3=>lao]p:^WG!<:LAT`JF!rh4i~> -rOi3]rhKX"eQQ.-s+13prr^fI>$CIr"4[DOhSQr/HN4%Lec)?E>5c,8HN9<1#1]NF=oeTZp:UQC -!<:U:U]LMGp7q[lJcC<$JcGEC#1]NF=oeTZp:UQC!<:UDU]FX!rhP&~> -rOi3]rhKU)eXV3@J^qro!Ml7SeH,aNhSQr/HN4%Tec)?E@f`H@K?Gb]tO7Bs1JML!<:UDU]Fp)rhP&~> -rPAQ_rh0C!d[>[7J^V`i!MPqMdK0FKhSQu0I/j7Qdf,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7 -T`P2Ap7VIlJcC<$JcGEC#h#E?>lao]^:sFDs1SSP!<:LAT`JF!rh4i~> -rOi3]rhKU!eWbX8J^qro!MktKeH,aNhSQr/HN4%Lec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U: -U]LMGp7q[lJcC<$JcGEC#h>`H=oeTZ]tO7Bs1JML!<:UDU]FX!rhP&~> -rOi3]rhKR(eUaNIUpd'#!<:om]``Z^!+OLXU]=m&]`EH[PlCs?KUnhH"s5(H&>5S@)>.qUa!<:UDU]Fp)rhP&~> -rPAQ_rh0?udXe*CTsgWr!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`ls5*I`")S&?HTqP`ls5(K(?2O[,?,"$i!<:LAT`JF!rh4i~> -rOi3]rhKQueUaNIUpd'#!<:om]``Z^!*[qPU]=Ts]`EH[PlCs?KUnh/os5(H&>5S@)>.qUa!<:UDU]FX!rhP&~> -rOi3]rhKR(eU_1\@`r3\SF**R!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*agquH`0")7i9eb>j?@K?D'J,~> -rPAQ_rh0?udXb\T?-?LRRI-[L!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`ls5*I`")S&6ETqP`ls5*ahquH`1")S&laktJ,~> -rOi3]rhKQueU^nT>0C(LPjP7J!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*agquH`0")7i9eb>j?=oePtJ,~> -rOi3]rhKU)eRF(0JH3pp!FjUHU]LPrhSQr/HN4%Tec)?E@f -rPAQ_rh0C!dTqD(JH3pp!F=.@T`P5ohSQu0I/j7Qdf,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7 -T`P2Ap7VIlJcC<$JcGEC#1B3=>lao]rk8A -rOi3]rhKU!eQRM(JH3pp!F"%@U]LPrhSQr/HN4%Lec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U: -U]LMGp7q[lJcC<$JcGEC#1]NF=oeTZrk/;8rVuq%rk/DK!<:UDU]FX!rhP&~> -rOi3]rhKX*eRAN0s+14;rrAkdrrAkdrrT"rea9.6!<:om]``Z^!+OLXU]=m&]`EH[PlCs6HUnhH"s5*^frW)o1")7i9eb>j?@K?D'J,~> -rPAQ_rh0F"dTlj(s+14;rrAnerrAnerrT%sdd<_0!<:om^'&ia!+"%PT`ABs_?#2fPlCs9TqP`l -s5*I`")S&6ETqP`ls5*^grW)o2")S&laktJ,~> -rOi3]rhKX"eQMs(s+14;rrAkdrrAkdrrT"rea9.6!<:om]``Z^!*[qPU]=Ts]`EH[PlCs6HUnh/os5*^frW)o1")7i9eb>j?=oePtJ,~> -rOi3]rhK[+eRAOYJ_kt7n(n,A!<;`K!i,hrp"feH!<:U:U]LPrhSQr/HN4%Tec)?E@fj?@K?D' -J,~> -rPAQ_rh0I#dTlkQJ_kt7n(n,B!<;`K!i5nsp"feI!<:L7T`P5ohSQu0I/j7Qdf,p??2_V@JH1r7 -#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC#1B3=>lao]rOr>=!+#Q;")S&lakt -J,~> -rOi3]rhK[#eQMtQJ_kt7n(n,A!<;`K!i,hrp"feH!<:U:U]LPrhSQr/HN4%Lec)?E>5c,8HN9<1 -#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC#1]NF=oeTZrOi89!*]?7")7i9eb>j?=oePt -J,~> -rOi3]rhK^,eRAOYhLW@k^$r];C&n:jp:UQC!<:pL]`W!Ls4-M4!W`8W_S$)!!!$KYrhKO'rOi5Y -!0mKfeYK!M!<:pL]`W!Ls4-M4!WU^DU]=kTs+13$s7QBreYK!M!<:pR]`8'1]`W!Ls4-k>!Fc'. -Ujr~> -rPAQ_rh0L$dTlkQhLWCl^@8i=D#jUmp:^WG!<:pL^&r3Ps3g;.!W`8W_S-/$!!$ -rOi3]rhK^$eQMtQhLW@k^$r];C&n:jp:UQC!<:pL]`W!Ls4-M4!W`8W_S$)!!!$3QrhKNtrOi5Y -!0mKfeYK!E!<:pL]`W!Ls4-M4!WU^DU]=SLs+13$s7QBreYK!E!<:pR]`8'1]`W!Ls4-k>!EoL& -Ujr~> -rOi3]rhK^,eRAOYhLW@k^$r];C&n:jp:UQC!<:pL]`W!Ls4-M4!W`8W_S$)!!!$KYrhKO'rOi5Y -!0mKfeYK!M!<:pL]`W!Ls4-M4!WU^DU]=kTs+13$s7QBreYK!M!<:pR]`;76]`W!Ls4-k>!Fc'. -Ujr~> -rPAQ_rh0L$dTlkQhLWCl^@8i=D#jUmp:^WG!<:pL^&r3Ps3g;.!W`8W_S-/$!!$ -rOi3]rhK^$eQMtQhLW@k^$r];C&n:jp:UQC!<:pL]`W!Ls4-M4!W`8W_S$)!!!$3QrhKNtrOi5Y -!0mKfeYK!E!<:pL]`W!Ls4-M4!WU^DU]=SLs+13$s7QBreYK!E!<:pR]`;76]`W!Ls4-k>!EoL& -Ujr~> -rOi3]rhK^,eRAOYhLWB;]`VF5>i6C&n:amA'd`s5(W+ -"FC+K@b(IR!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eb5d=@Y+Q1s+14Crs%#LUga?(hY+Vb -C&n:apS7h!! -rPAQ_rh0L$dTlkQhLWE<^&qX@!*t/iqS!&K!<:pP^'\-G^:nFas5(Hi?2;2:D#jUam@aR]s5(W, -"FU7M?./_G!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\de9@7?%N$,s+14Crs$oFTj7ZuhY+Yc -D#jUapRqUn! -rOi3]rhK^$eQMtQhLWB;]`VF5>i6C&n:amA'd`s5(W+ -"FC+K>1NVJ!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb5d=>(Q^)s+14Crs%#LUfmcuhY+Vb -C&n:apS7gn! -rOi3]rhK^,eRAOYhLWB<]`hR>3Drb5J\Cro")7i9hYb%e>5eO%]``'Ms5(Hg!!$4"]`W!Ls4-M4 -!W`8W_S$)!!!$KYrhKO'rOi5Y!0mKfeYK!M!<:pL]`W!Ls4-M4!WU^DU]=kTs+13$s7QBreYK!M -!<:pL]`W!Ls4-k>!Fc'.Ujr~> -rPAQ_rh0L$dTlkQhLWE=^'.dB3)rt4J\M#q")S& -rOi3]rhK^$eQMtQhLWB<]`hR>0iCo%J\Cro")7i9hYb%e>5eO%]``'Ms5(Hg!!$4"]`W!Ls4-M4 -!W`8W_S$)!!!$3QrhKNtrOi5Y!0mKfeYK!E!<:pL]`W!Ls4-M4!WU^DU]=SLs+13$s7QBreYK!E -!<:pL]`W!Ls4-k>!EoL&Ujr~> -rOi3]rhK^,eRAOYhLWB<]`eBr;L>LHJ\Cro")7i9hYt1g>5SC#]``'Ms5(He!!$4$]`W!Ls4-M4 -!W`8W_S$)!!!$KYrhKO'rOi5Y!0mKfeYK!M!<:pL]`W!Ls4-M4!WU^DU]=kTs+13$s7QBreYK!M -!<8kfC'"D8eb>j?@K?D'J,~> -rPAQ_rh0L$dTlkQhLWE=^'+KrlaktJ,~> -rOi3]rhK^$eQMtQhLWB<]`eBj;L>48J\Cro")7i9hYt1g>5SC#]``'Ms5(He!!$4$]`W!Ls4-M4 -!W`8W_S$)!!!$3QrhKNtrOi5Y!0mKfeYK!E!<:pL]`W!Ls4-M4!WU^DU]=SLs+13$s7QBreYK!E -!<8kfC'"D8eb>j?=oePtJ,~> -rOi3]rhK^,eRAOYhLWB<]`eC6H`[8IJ\Cro"_n&;hS!+h!<9_8C&n:j^%q^5>.qUa!<:U:U]LPr -hSQr/HN4%Tec)?E@f -rPAQ_rh0L$dTlkQhLWE=^'+L:IB*>IJ\M#q"`48>hS*:l!<9b9D#jUm^A7g6?,"$i!<:L7T`P5o -hSQu0I/j7Qdf,p??2_V@JH1r7#1B3=>lao]p:^WG!<:L7T`P2Ap7VIlJcC<$JcGEC"k'*<>l^_m -!!3,JpRqUn! -rOi3]rhK^$eQMtQhLWB<]`eC6H_g]AJ\Cro"_n&;hS!+h!<9_8C&n:j^%q^5>.qUa!<:U:U]LPr -hSQr/HN4%Lec)?E>5c,8HN9<1#1]NF=oeTZp:UQC!<:U:U]LMGp7q[lJcC<$JcGEC"kBEE=obAi -!!3,MpS7gn! -rOi3]rhK^,eRAOYhLWB<]`hS;XT/=WJ\Cro")7i9hYt1g>5SC#]``'Ms5(He!!$4$]`W!Ls4-M4 -!W`8W_S$)!!!$KYrhKO'rOi5Y!0mKfeYK!M!<:pL]`W!Ls4-M4!WU^DU]?p9eUc8%eb%DlV#Ooo -rrCUDU]Fp)rhP&~> -rPAQ_rh0L$dTlkQhLWE=^'.eBWrN+UJ\M#q")S& -rOi3]rhK^$eQMtQhLWB<]`hS;V#UJOJ\Cro")7i9hYt1g>5SC#]``'Ms5(He!!$4$]`W!Ls4-M4 -!W`8W_S$)!!!$3QrhKNtrOi5Y!0mKfeYK!E!<:pL]`W!Ls4-M4!WU^DU]?X1eUc8%eb%DlV#OWg -rrCUDU]FX!rhP&~> -rOi3]rhK^,eRAOYhLWB;]`X1os5&=?qRluG!<:pR]`;78!<9_8C&n:j^&A!3>5Pu8C&n:amA'd` -s5(W+"FC+K@b(IR!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eUaNIUk,?(U]?qReb>j?@K?D' -J,~> -rPAQ_rh0L$dTlkQhLWE<^&s(hs5&=@qS!&K!<:pR^&VIlakt -J,~> -rOi3]rhK^$eQMtQhLWB;]`Wn_s5&=?qRluG!<:pR]`;78!<9_8C&n:j^&A!3>5Pu8C&n:amA'd` -s5(W+"FC+K>1NVJ!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eUaNIUk,?(U]?YJeb>j?=oePt -J,~> -rOi3]rhK^,eRAOYhLW@k^$r];C&n:jqRm5>!56'\!<:oh!*]33")7i9ea9.6!<:om]``Z^!+OLX -U]=m&]`EH[PlCs`U]Fp)rhP&~> -rPAQ_rh0L$dTlkQhLWCl^@8i=D#jUmqS!;B!5?0a!<:oi!+#E7")S& -rOi3]rhK^$eQMtQhLW@k^$r];C&n:jqRm5>!56'\!<:oh!*]33")7i9ea9.6!<:om]``Z^!*[qP -U]=Ts]`EH[PlCs`U]FX!rhP&~> -rOi3]rhK^,eRAOYhLW@k^$r];C&n:jp:UQC!<:pL]`W!Ls4-M4!W`8W_S$)!!!$KYrhKO'rOi5Y -!<)ot!;HKn1&h4P!36&&eYK!M!2T2d!WU^;U]LMGpS<@LJRX1>nmVThj.l]b! -rPAQ_rh0L$dTlkQhLWCl^@8i=D#jUmp:^WG!<:pL^&r3Ps3g;.!W`8W_S-/$!!$ -rOi3]rhK^$eQMtQhLW@k^$r];C&n:jp:UQC!<:pL]`W!Ls4-M4!W`8W_S$)!!!$3QrhKNtrOi5Y -!<)ot!;HKnMuNbU!36&&eYK!E!2T2d!WU^;U]LMGpS<@DJQdV.nlc$Xj.l]Z! -rOi3]rhK^,eRAOYhLW@k^$r];C&n:jp:UQC!<:pL]`W!Ls4-M4!W`8W_S$)!!!$KYrhKO'rOi5Y -!;uis!;QQr1&q7Rrr2ruX8`=QUnhH"nq-uCea9.5s4-k>!+LKZJH16$oDeo$e`3G+@K?D'J,~> -rPAQ_rh0L$dTlkQhLWCl^@8i=D#jUmp:^WG!<:pL^&r3Ps3g;.!W`8W_S-/$!!$laktJ,~> -rOi3]rhK^$eQMtQhLW@k^$r];C&n:jp:UQC!<:pL]`W!Ls4-M4!W`8W_S$)!!!$3QrhKNtrOi5Y -!;uis!;QQrMuWeWrr2ruX8`=QUnh/onq-uCea9.5s4-k>!*XpRJH16$oDenqe`3G+=oePtJ,~> -rOi3]rhK^,eRAOYUk*93C@>m=!<8kfC'"D8V"JI(!<:U:U]LPrhSQr/HN4%Tec)?E@f!Fc%[s+137rrAkdrrAkdrrT"re`3G+@K?D' -J,~> -rPAQ_rh0L$dTlkQV1EK7D=;lakt -J,~> -rOi3]rhK^$eQMtQUk*93C@>m=!<8kfC'"D8V"JI(!<:U:U]LPrhSQr/HN4%Lec)?E>5c,8HN!EoJSs+137rrAkdrrAkdrrT"re`3G+=oePt -J,~> -rOi3]rhK[+eRANSJH16$m/R-^o)Jcdo)Jgkea9.6!<9.:HiF'H@b(IR!+Po?#^ZOOs8N'!rrDoq -!&=tO!WU^;U]LMGpS7k"!<7W,J_l^L!i,hrp"fbG!<;`K"/Gqse`3G+@K?D' -J,~> -rPAQ_rh0I#dTljLJH16$m/R-_o)Jceo)Jgkdd<_0!<94laGH!WUU8T`P2ApRqXo!<7W,J_l^L!i5nsp"fbH!<;`K"/Q"tdc7#%>lakt -J,~> -rOi3]rhK[#eQMsKJH16$m/R-^o)Jcdo)Jgkea9.6!<9.:HiF'H>1NVJ!*]?7#^ZOOs8N'!rrDoq -!/p[Q!!',#"P' -rOi3]rhKX*eRE!=s+13prrCU:U]CIs^&S1Cec)?E@f -rPAQ_rh0F"dTp.0s+13prrCL7T`G.r^&S1>df,p??2_VCJH,]M!<)ot!;lcrAbl?+!3H2'd\3@? -!:k[As3g;.!WUUBT`\R#s5&=@J\IJb")S& -rOi3]rhKX"eQQ.-s+13prrCU:U]CIs^&S1;ec)?E>5c,;HN4'G!<)ot!;lcrMu!AQ!3H2'eYK!E -!:kaCs4-M4!WU^EU]Xd#s5&=?J\@D`")7i9hY+VbC&n:jp:UQC!<:U0U]FX!rhP&~> -rOi3]rhKU)eXV3@J^qromA.Ap!FjUYU]=m&]``Z^rr<&trr<&srr=eLrr<&"rrglJUga>pK)u#& -mA'd_eb>jA@K?GbJ\?WJQb -rPAQ_rh0C!d[>[7J^V`im@h/m!F=.QT`ABs_?>Dirr<&trr<&srr?X+rr<&"rrgcDTj7ZhJH>f! -m@aR\deBF;>lao]J\H]LQbEQ=!<:pL^&r3Ps5*I`")S&laktJ,~> -rOi3]rhKU!eWbX8J^qromA.Ap!F"%QU]=Ts]``Z^rr<&trr<&srr@uQrr<&"rrglJUfmchK)u#& -mA'd_eb>jA=oeTZJ\?WJQb -rOi3]rhKR(S:P.#@Y&"X@K=sXU]=m&]``Z^rr<&trr<&srr=eMrr<&!rrglJUga>pK)u#&mA'd_ -eb>jA@K?GbJ\B@B"'P[)>(OB4]`W!Ls5*Uc$ -rPAQ_rh0?uR=SXp?%H;N>l`=PT`ABs_?>Dirr<&trr<&srr?X,rr<&!rrgcDTj7ZhJH>f!m@aR\ -deBF;>lao]J\KFD"'km,?%K`8^&r3Ps5*Ud$=*YG^23lMhS&tqq7ZrJ!<:L-T`JF!rh4i~> -rOi3]rhKQuP_!"h>(KlH=od+PU]=Ts]``Z^rr<&trr<&srr@uRrr<&!rrglJUfmchK)u#&mA'd_ -eb>jA=oeTZJ\B@B"'P[)>(OB4]`W!Ls5*Uc$ -rOi3]rhKOaJ^o>%J^s2=rhKO'rOi>\!<3$!rVlitr;QaOqu6WrWW*+OUnhH"nq-uCea9.5s4-k> -"(D91hLWAd]`hR>3Drb5J\BCC")7i9hYb%e>5eO%]``'Ms5(Hg!!$4"]`W!Ls4-/*!Fc'.Ujr~> -rPAQ_rh0=[J^T+tJ^Wu7rh0 -rOi3]rhKOYJ^o>%J^s2=rhKNtrOi>\!<3$!rVlitr;QbTqu6WrWW*+OUnh/onq-uCea9.5s4-k> -"'P^)hLWAd]`hR>0iCo%J\BCC")7i9hYb%e>5eO%]``'Ms5(Hg!!$4"]`W!Ls4-/*!EoL&Ujr~> -rOi3]JY[jmJY_J)!+Po?"FC+KrrE#t!!)ut!&=BN!!&tt"P'tO!WU^;U]LMGpS7n#!<:o, -^!F@q!'*r(XK6udcb0Eq!<:pT]`;76!<9_8C&n:j^&.j1>5c,:C&n:aj.l]b! -rPAQ_JY@XgJYD8#!+#Q?"G$OQrrE#t!!)ut!+l'-!!&tt"Oa!;>laGH!WUU8T`P2ApRq[p!<:o, -^D#jUaj.QKZ! -rOi3]JY[jmJY_J)!*]?7"FC+KrrE#t!!)ut!/paS!!&tt"P'5c,:C&n:aj.l]Z! -rOi3]JY[jmJY_J)!+Po?$$uXPrrE'!s8N)trr=eOrr<&trr<&#rrglJUga>pK)u#&mA'd_eb>jA -@K?GbJ\BCC"TVGIXT/^_']tJ.\s4-/*!Fc'.Ujr~> -rPAQ_JY@XgJYD8#!+#Q?$%W'VrrE'!s8N)trr?X.rr<&trr<&#rrgcDTj7ZhJH>f!m@aR\deBF; ->lao]J\KIE"TVPNWrN*M^^_*^:nFas3fr$!F5^)Tn!~> -rOi3]JY[jmJY_J)!*]?7$$uXPrrE'!s8N)trr@uTrr<&trr<&#rrglJUfmchK)u#&mA'd_eb>jA -=oeTZJ\BCC"TVGIV#UIG^!F@qC&n:j]it74s1JPM!<:ohq>^_']tJ.\s4-/*!EoL&Ujr~> -rOi3]JY[jmJY_J)!+Po?!IFhGrrW9$rrDus!&=HPqZ*\s"P'tO!WU^;U]LMGpS7n#!<:o, -^!F@q>#MI%s5&=?cb0Eq!<:pT]`;76!<9_8C&n:j^&.j1>5c,:C&n:aj.l]b! -rPAQ_JY@XgJYD8#!+#Q?!J(7MrrW9$rrDus!+l-/qZ*\s"Oa!;>laGH!WUU8T`P2ApRq[p!<:o, -^udp)s5&=@cb9Ku!<:pT^&VI:!<9b9D#jUm^AIs2?2_J>D#jUaj.QKZ! -rOi3]JY[jmJY_J)!*]?7!IFhGrrW9$rrDus!/pgUqZ*\s"P'#M0rs5&=?cb0Eq!<:pT]`;76!<9_8C&n:j^&.j1>5c,:C&n:aj.l]Z! -rOi3]JY[jmJY_J)!+Po?!IFhDrr<&trr=dHrrglJUga>pK)u#&mA'd_eb>jA@K?GbJ\B@B",j8\ -hLWAc]`W!Ls5*[e!*]@%s1JPM!<:ohrVuq%qn3)H!<:U0U]Fp)rhP&~> -rPAQ_JY@XgJYD8#!+#Q?!J(7Jrr<&trr?W'rrgcDTj7ZhJH>f!m@aR\deBF;>lao]J\KFD",3cT -hLWDd^&r3Ps5*[f!+#R(s1SVQ!<:oirVuq(qn -rOi3]JY[jmJY_J)!*]?7!IFhDrr<&trr@tMrrglJUfmchK)u#&mA'd_eb>jA=oeTZJ\B@B",!EL -hLWAc]`W!Ls5*[e!*]@%s1JPM!<:ohrVuq%qn3)H!<:U0U]FX!rhP&~> -rOi3]JY[jmJY_J)!+Po?!IFhErr<&srr=dHrrglJUga>pK)u#&mA'd_eb>jA@K?GbJ\?WJQb5>i6C&n:aj.l]b! -rPAQ_JY@XgJYD8#!+#Q?!J(7Krr<&srr?W'rrgcDTj7ZhJH>f!m@aR\deBF;>lao]J\H]LQbEQ= -!<:pP^'\-G^:nFas5(Hi?2;2:D#jUaj.QKZ! -rOi3]JY[jmJY_J)!*]?7!IFhErr<&srr@tMrrglJUfmchK)u#&mA'd_eb>jA=oeTZJ\?WJQb5>i6C&n:aj.l]Z! -rOi3]JY[jmJY_J)!+Po?!IFhFrr<%errglJUga>pK)u#&mA'd_eb>jA@K?GbJ\?WJQb -rPAQ_JY@XgJYD8#!+#Q?!J(7Lrr<%errgcDTj7ZhJH>f!m@aR\deBF;>lao]J\H]LQbEQ=!<:pL -^&r3Ps5*I`")S&laktJ,~> -rOi3]JY[jmJY_J)!*]?7!IFhFrr<%errglJUfmchK)u#&mA'd_eb>jA=oeTZJ\?WJQb -rOi3]JY[jmJY_J)!+Po?!IFg2rrglJUga>pK)u#&mA'd_eb>jA@K?GbJ\?WJQb -rPAQ_JY@XgJYD8#!+#Q?!J(68rrgcDTj7ZhJH>f!m@aR\deBF;>lao]J\H]LQbEQ=!<:pL^&r3P -s5*I`")S&laktJ,~> -rOi3]JY[jmJY_J)!*]?7!IFg2rrglJUfmchK)u#&mA'd_eb>jA=oeTZJ\?WJQb -rOi3]JY[jmJY_J)!+Po?!IFg2rrglJUga>qrrT"rea9.5s4-k>"(D91Uk*93C6iT9!<8kfC'"D8 -V"JI(!<:U0U]Fp)rhP&~> -rPAQ_JY@XgJYD8#!+#Q?!J(68rrgcDTj7ZirrT%sdd<_/s3gY8"'kp,V1EK7D3f#?!<8ngD#s_; -V=e[,!<:L-T`JF!rh4i~> -rOi3]JY[jmJY_J)!*]?7!IFg2rrglJUfmcirrT"rea9.5s4-k>"'P^)Uk*93C6iT9!<8kfC'"D8 -V"JI(!<:U0U]FX!rhP&~> -rOi3]JY[jmJY_J)!+Po?!IFg2rrprKUga?(p"feH!<:U:U]LMGpS7k"!2P/GJH1o7!2T2d!2T2d -!WU^1U]Fp)rhP&~> -rPAQ_JY@XgJYD8#!+#Q?!J(68rrpiETj7Zup"feI!<:L7T`P2ApRqXo!2Y5HJH1o7!2]8e!2]8e -!WUU.T`JF!rh4i~> -rOi3]JY[jmJY_J)!*]?7!IFg2rrprKUfmcup"feH!<:U:U]LMGpS7jo!2P/GJH1o7!2T2d!2T2d -!WU^1U]FX!rhP&~> -rOi3]JY[jmJY_J)!+Po?!IFg2rs%#LUga?(hY+VbC&n:amA'd_eb>m>@Y+Q1s+14BrrCU0U]Fp) -rhP&~> -rPAQ_JY@XgJYD8#!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUam@aR\deBI8?%N$,s+14BrrCL-T`JF! -rh4i~> -rOi3]JY[jmJY_J)!*]?7!IFg2rs%#LUfmcuhY+VbC&n:amA'd_eb>m>>(Q^)s+14BrrCU0U]FX! -rhP&~> -rOi3]pnRoirM0MpV#Q"AJY[jmpnRn!rOi5Y!0mKfeYK!M!<:pR]`;76]`W!Ls4-M4!WU^EU]?p9 -eUc8%eah8NU]Fp)rhP&~> -rPAQ_pn7]frLj;mU&T\;JY@Xgpn7[nrPASd!0mKfd\3@?!<:pR^&VI:^&r3Ps3g;.!WUUBT`CL3 -dXfhtddkiHT`JF!rh4i~> -rOi3]pnRoirM0MpV#Q"AJY[jmpnRmnrOi5Y!0mKfeYK!E!<:pR]`;76]`W!Ls4-M4!WU^EU]?X1 -eUc8%eah8NU]FX!rhP&~> -rOi3]pnRrj! -rPAQ_pn7`g!laktJ,~> -rOi3]pnRrj! -rOi3]pnRrj! -rPAQ_pn7`g! -rOi3]pnRrj! -rOi3]pnRrj! -rPAQ_pn7`g!laktJ,~> -rOi3]pnRrj! -rOi3]rhTI$!2TMl&chq3s8Skps.lIj!!*%p!<8jjJRX1>NFDmXrhKO'rOi5Y!0mKfeYK!M!<:pT -]`;78!!$4%]`W!Ls4-M4!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh96q!29;i&chq3s8Sbms.Q.d!!*%m!<8adJR*h4NElOPrh0laktJ,~> -rOi3]rhTHq!2TMl&chq3s8Skps.lIj!!*%p!<8jjJQdV.NEQ=HrhKNtrOi5Y!0mKfeYK!E!<:pT -]`;78!!$4%]`W!Ls4-M4!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKO'rRCqEs8;p2rrE'!rr<%prrAkp!2QFjUne!dJ^o>%Nn"0#ec)?E@f -rPAQ_rh0lao]rkA:1rk8JO!<:L7T`P2AJY@XgJYC2Z!F5^)Tn!~> -rOi3]rhKNtrRCqEs8;p2rrE'!rr<%prrAkp!2QFjUne!dJ^o>%Nn"/pec)?E>5c,8HN9<1#1]NF -=oeTZrk840rk/DK!<:U:U]LMGJY[jmJY^D`!EoL&Ujr~> -rOi3]rhKR(ebu9ErrE%o%0$>-!<3%pV#LFjrrE%o!<7VGJY\4"!FjUYU]=m&]`EH[PlD'?UnhH" -s5(H&>5S@)>.qUa!<:U:U]LMGJY[jmJY^D`!Fc'.Ujr~> -rPAQ_rh0?udf#j?rrE%l%0$>-!<3%mU&P+drrE%l!<7VDJYA!q!F=.QT`ABs_?#2fPlD' -rOi3]rhKQuebu9ErrE%o%0$>-!<3%pV#LFjrrE%o!<7VGJY\4"!F"%QU]=Ts]`EH[PlD'?Unh/o -s5(H&>5S@)>.qUa!<:U:U]LMGJY[jmJY^D`!EoL&Ujr~> -rOi3]rhKR(ebu9ErrE%o&cVk2!<3%pV#LFjrrAkpUnn$AUk,>#U]FrTrhKO'rOi5Y!0mKheYK!M -!<:oh^%qa/]`W!Ls4-M4!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0?udf#j?rrE%l&cVk2!<3%mU&P+drrAbmTqVL;Tn/nrT`JHIrh0laktJ,~> -rOi3]rhKQuebu9ErrE%o&cVk2!<3%pV#LFjrrAkpUnn$AUk,>#U]FZLrhKNtrOi5Y!0mKheYK!E -!<:oh^%qa/]`W!Ls4-M4!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKR(ebu9ErrE%o')qt3!<3%pV#LFjV#R6ds8SkpJY[jmNMHSaec)?E@f -rPAQ_rh0?udf#j?rrE%l')qt3!<3%mU&P+dU&Ug[s8SbmJY@XgNM-AYdf,p??2_V@JH1r7#1B3= ->lao]p:^WG!<:L7T`P2AJY@XgJYC2Z!F5^)Tn!~> -rOi3]rhKQuebu9ErrE%o')qt3!<3%pV#LFjV#R6ds8SkpJY[jmNMHSYec)?E>5c,8HN9<1#1]NF -=oeTZp:UQC!<:U:U]LMGJY[jmJY^D`!EoL&Ujr~> -rOi3]rhKR(ebl3C!<&\r!2KUj!`U]Fp)rhP&~> -rPAQ_rh0?udeod=!<&So!20Cd!ZG?./_G!+#Q?!J(68rs$oFTj7Zu -hY+YcD#jUam@aR\dXe*CTn/oZT`JF!rh4i~> -rOi3]rhKQuebl3C!<&\r!2KUj!1NVJ!*]?7!IFg2rs%#LUfmcu -hY+VbC&n:amA'd_eUaNIUk,>`U]FX!rhP&~> -rOi3]rhKR(eUaNIUk,?3U]FrTrhKO'rOi5Y!0mKfeYK!M!<8kfC'"D8ea9.5s4)[rJY[jmaeSrH -! -rPAQ_rh0?udXe*CTn/p-T`JHIrh0 -rOi3]rhKQueUaNIUk,?3U]FZLrhKNtrOi5Y!0mKfeYK!E!<8kfC'"D8ea9.5s4)[rJY[jmaeSr@ -! -rOi3]rhKR(eUaNIUk,?3U]FrTrhKO'rOi5Y!0mKeeYK!M!2T2d!WU^;U]LMGJY[jmJY^D`!Fc'. -Ujr~> -rPAQ_rh0?udXe*CTn/p-T`JHIrh0 -rOi3]rhKQueUaNIUk,?3U]FZLrhKNtrOi5Y!0mKeeYK!E!2T2d!WU^;U]LMGJY[jmJY^D`!EoL& -Ujr~> -rOi3]rhKR(eUaNIUk,?3U]FrTrhKO'rOi5Y!0mKdeYK!M!;$3lV#T!4U]LMGJY[jmJY^D`!Fc'. -Ujr~> -rPAQ_rh0?udXe*CTn/p-T`JHIrh0o!2T`P2AJY@XgJYC2Z!F5^) -Tn!~> -rOi3]rhKQueUaNIUk,?3U]FZLrhKNtrOi5Y!0mKdeYK!E!;$3lV#T!4U]LMGJY[jmJY^D`!EoL& -Ujr~> -rOi3]rhKR(eU_1\@YS=mS>>U_!h<`MrhKO'rOi5Y!0mKeeYK!M!<;`K"/Gqsea9.5s4)[rJY[jm -aeSrH! -rPAQ_rh0?udXb\T?%uVcRA'(T!h!?Brh0 -rOi3]rhKQueU^nT>)$2]PbdbO!gHm=rhKNtrOi5Y!0mKeeYK!E!<;`K"/Gqsea9.5s4)[rJY[jm -aeSr@! -rOi3]rhKU)eRF(0JH1K+"(KfV@dsF#@b"r -rPAQ_rh0C!dTqD(JH1K+"'s?K?1@ms?.*$,rh0laktJ,~> -rOi3]rhKU!eQRM(JH1K+"'X6N>4DRp>1Hg,rhKNtrOi5Y!0mKfeYK!E!<:pL]`W!Ls4-M4!WU]$ -Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?qrrf.teRI).U]=m&]`EH[PlD$>UnhH"s5(H&q>gQ/")7i9 -ea9.5s4)[rJY[jmaeSrH! -rPAQ_rh0F"dTlj(hLXO?h?gQ0")S&< -dd<_/s3cIlJY@Xgae8`@! -rOi3]rhKX"eQMs(hLXO?h?Unh/os5(H&q>gQ/")7i9 -ea9.5s4)[rJY[jmaeSr@! -rOi3]rhKX*eRAN0hLXO?h?Er0Uga?(p"fkJ!<:SYec)?E@f -rPAQ_rh0F"dTlj(hLXO?h?Er-Tj7Zup"fkK!<:JQdf,p??2_V@JH1r7$.>N@>lao]^:mnN!!Z`C -^23lMdd<_/s3cIlJY@Xgae8`@! -rOi3]rhKX"eQMs(hLXO?h?Er0Ufmcup"fkJ!<:SQec)?E>5c,8HN9<1$.YiI=oeTZ]tIVI!!ZW? -]kRQIea9.5s4)[rJY[jmaeSr@! -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg2rs%#LUga?(hYt4d!<0Y6 -C&n:amA'd_eUaNIUk,>`U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(68rs$oFTj7ZuhYt7e!<0\7 -D#jUam@aR\dXe*CTn/oZT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg2rs%#LUfmcuhYt4d!<0Y6 -C&n:amA'd_eUaNIUk,>`U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg2rs%#LUga?(hYt1g>5eL% ->5l2;C&n:amA'd_eUaNIUk,>`U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(68rs$oFTj7ZuhYt4h?2ag( -?2hP?D#jUam@aR\dXe*CTn/oZT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg2rs%#LUfmcuhYt1g>5eL% ->5l2;C&n:amA'd_eUaNIUk,>`U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg2rs%#LUga?(hYk.e!<'S5 -C&n:amA'd_eUaNIUk,>`U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(68rs$oFTj7ZuhYk1f!<'V6 -D#jUam@aR\dXe*CTn/oZT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg2rs%#LUfmcuhYk.e!<'S5 -C&n:amA'd_eUaNIUk,>`U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg2rs%#LUga?(hYk+h=o_b) -]`W!Ls4-M4!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(68rs$oFTj7ZuhYk.i>l\1/ -^&r3Ps3g;.!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg2rs%#LUfmcuhYk+h=o_b) -]`W!Ls4-M4!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg2rs%#LUga?(hYb%e!;sM4 -C&n:amA'd_ebl6+rrB.pUt>VHXS8O4rrB.pUrr];XS8O/rrB.pUq$F)XM:P3@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(68rs$oFTj7ZuhYb(f!;sP5 -D#jUam@aR\deog%rrB4rU"B;EY4nX3rrB4rU!!B8Y4nX.rrB4rTt(+&Y.pY2>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg2rs%#LUfmcuhYb%e!;sM4 -C&n:amA'd_ebl6+rrB.pUt>VHXS8O4rrB.pUrr];XS8O/rrB.pUq$F)XM:P3=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg2rs%#LUga?(hYb%e>5Z&9 -C&n:amA'd_ebl3Cs68A@X8r!j!<:a/!NZ:qU]CGs\XpS7fhbh`B%!;E8hs2NmrX8r!j!<9Xe -!NZ:9U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(68rs$oFTj7ZuhYb(f?2VD= -D#jUam@aR\deod=s68A@XoS3i!<:a/!NlFsT`G,9h>sbZpRqTebh`B'!;E/es2NmrXoS3i!<9Xe -!NlF;T`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg2rs%#LUfmcuhYb%e>5Z&9 -C&n:amA'd_ebl3Cs68A@X8r!j!<:a/!NZ:qU]CGs\XpS7fhbh`B%!;E8hs2NmrX8r!j!<9Xe -!NZ:9U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg2rs%#LUga?(hY+VbC&n:a -mA'd_ebl3Ds5*%S!IFh@U]LMPg:[N6!;E8is5(u5!IFh@U]LMPc+O.)!;E8is5(f0!IFh@U]LMP -]=e5l!5G<1@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUa -m@aR\deod>s5*%T!IXtBT`P2Mg:dT9!;E/fs5(u6!IXtBT`P2Mc+X4,!;E/fs5(f1!IXtBT`P2M -]=n;o!5G3.>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg2rs%#LUfmcuhY+VbC&n:a -mA'd_ebl3Ds5*%S!IFh@U]LMPg:[N6!;E8is5(u5!IFh@U]LMPc+O.)!;E8is5(f0!IFh@U]LMP -]=e5l!5G<1=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg2rs%#LUga?(hY+VbC&n:a -mA'd_ebl3Ds5*%S!IFh@U]LMPg:[N6!;E8is5(u5!IFh@U]LMPc+O.)!;E8is5(f0!IFh@U]LMP -]=e5l!5G<1@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(68rs$oFTj7ZuhY+YcD#jUa -m@aR\deod>s5*%T!IXtBT`P2Mg:dT9!;E/fs5(u6!IXtBT`P2Mc+X4,!;E/fs5(f1!IXtBT`P2M -]=n;o!5G3.>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg2rs%#LUfmcuhY+VbC&n:a -mA'd_ebl3Ds5*%S!IFh@U]LMPg:[N6!;E8is5(u5!IFh@U]LMPc+O.)!;E8is5(f0!IFh@U]LMP -]=e5l!5G<1=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg2rs%#LUga?(V"JI(!<:U: -U]LMGr1jAnhWhcTHN! -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(68rs$oFTj7ZuV=e[,!<:L7 -T`P2Ar1O/khWhfUI/s#8!WV$1^&`W^pRqWfhTW\7I/s#8!WV$$^&`W^pRqWfhT*>2I/s#8!WV#g -^&`W^^S([6! -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg2rs%#LUfmcuV"JI(!<:U: -U]LMGr1jAnhWhcTHN -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFhArr=ePrr<&err=e8rr=eG -rr<&nrr=eQs8E#irrprKUga>"o)Jgkea9.5s4.%C!WV$A]`EH[pS7iihV,XDHN -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(7Grr?X/rr<&err?Wlrr?X& -rr<&nrr?X0s8E#irrpiETj7Ypo)Jgkdd<_/s3gh=!WV$A^&`W^pRqWfhV,[EI/s#8!WV$#^&`W^ -pRqWfhT`b8I/s#8!WV#s^&`W^pRqWfhRgK&I/q$U!F5^)Tn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFhArr@uUrr<&err@u=rr@uL -rr<&nrr@uVs8E#irrprKUfmboo)Jgkea9.5s4.%C!WV$A]`EH[pS7iihV,XDHN -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg1ec2HF@e'Huea9.5s4.%C -"975k^&7s2]`8'(]`EH[pS7okhS$W#!:RT$!;*r*HN -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(67df6$@?1Ippdd<_/s3gh= -"975l^AS'3^&S0)^&`W^pRq]hhS-`%!:RW%!;*u+I/s#8"975l^AS'+^&e;K!;*u*!;aD0!;4&, -I/s#8!WV$U^A\,]^&`W^pRqWfhYk.g!8G3f!;!o*I/s#8!WV$T^AS&i^&e;K!;=,,!;!o*I/q$U -!F5^)Tn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg1ec2HF>4MUmea9.5s4.%C -"975k^&7s2]`8'(]`EH[pS7okhS$W#!:RT$!;*r*HN -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg/U]?qRea9.5s4.%C"TR>l -]`A&F!!)Q&!IFh@U]g_S]tFF%]`EH[pS7rlhS$T&rk/:3q7Qk1]tFF1]`8'-]`EH[pS7rlhS$T& -rk/:3j1PEmo=Y0O!;E8is5*^f!!(lh!!)N%!IFh@U]LMPrk/:3rOi12o=Y,(n@\f%pUpP,n@\jL -!5G<1@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(65T`CMLdd<_/s3gh="TR>m -^&\/H!!)Q'!IXtBT`kDP^:jU'^&`W^pRq`ihS-](rk8@4q7Zq2^:jU3^&S0.^&`W^pRq`ihS-]( -rk8@4j1YKno=b6R!;E/fs5*^g!!(li!!)N&!IXtBT`P2Mrk8@4rOr73o=b2)n@el&pV$V-n@epO -!5G3.>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg/U]?YJea9.5s4.%C"TR>l -]`A&F!!)Q&!IFh@U]g_S]tFF%]`EH[pS7rlhS$T&rk/:3q7Qk1]tFF1]`8'-]`EH[pS7rlhS$T& -rk/:3j1PEmo=Y0O!;E8is5*^f!!(lh!!)N%!IFh@U]LMPrk/:3rOi12o=Y,(n@\f%pUpP,n@\jL -!5G<1=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4.%C"TR>l]`A&F -!!)Q&!IFh@U]g_S]tFF%]`EH[pS7rlhS$T&rk/:3q7Qk1]tFF1]`8'-]`EH[pS7rlhS$T&hn9!i -o=Y0O!;E8is5*ag!W]n6hn9!in@\jL!;E8ls5(H&!:@H"!:[Z%!;F/,!:[Z&HN:gV!Fc'.Ujr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$Am^&\/H -!!)Q'!IXtBT`kDP^:jU'^&`W^pRq`ihS-](rk8@4q7Zq2^:jU3^&S0.^&`W^pRq`ihS-](hnB'j -o=b6R!;E/fs5*ah!W]q7hnB'jn@epO!;E/is5(K(!:@K#!:[]&!;F2-!:[]'I/q$U!F5^)Tn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4.%C"TR>l]`A&F -!!)Q&!IFh@U]g_S]tFF%]`EH[pS7rlhS$T&rk/:3q7Qk1]tFF1]`8'-]`EH[pS7rlhS$T&hn9!i -o=Y0O!;E8is5*ag!W]n6hn9!in@\jL!;E8ls5(H&!:@H"!:[Z%!;F/,!:[Z&HN:gV!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg1@K;qOU]LMGr1jJqhS$T& -rk/O:]`>_G]`8'3^&J'9]`>aZHNl]`@rCrW)u3!!*#3#lqX=]`8&G!56)F!<9_;!5/@4 -]tJampS7rlhS$T&rk/@5]tOCFs1SC3"2+]J^&A$3]`8'3]`\>K!5/C3]`S8J!58@3!PJL4]`\>K -]mBbRU]g_S]tFFD]`8'3]`A,HrW!)7!!'^GrW!#5!!*#3rW)u3rW!/9!5/@4]`A&F"9?-KHN]tFEZ!!'^GrW!&6!56)F!<9_7!5/@4rk/>Z -!;E8ls5(H&!;X>-!<9_9!5/@4]tOCF#/(#M!!'^GrW)r2rr<59!5/BG^&A$3^&A!6]`>aZrW)u3 -!s$"7!<0Y4HN:gV!Fc'.Ujr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(67>l^;GT`P2Ar1O8nhS-]( -rk8U;^&YkI^&S04^Ae0:^&Ym]I/s#8"TR>m^&\&ErW)u4!!*#4#lq[>^&S/I!5?2H!<9b -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg1=oaf?U]LMGr1jJqhS$T& -rk/O:]`>_G]`8'3^&J'9]`>aZHNl]`@rCrW)u3!!*#3#lqX=]`8&G!56)F!<9_;!5/@4 -]tJampS7rlhS$T&rk/@5]tOCFs1SC3"2+]J^&A$3]`8'3]`\>K!5/C3]`S8J!58@3!PJL4]`\>K -]mBbRU]g_S]tFFD]`8'3]`A,HrW!)7!!'^GrW!#5!!*#3rW)u3rW!/9!5/@4]`A&F"9?-KHN]tFEZ!!'^GrW!&6!56)F!<9_7!5/@4rk/>Z -!;E8ls5(H&!;X>-!<9_9!5/@4]tOCF#/(#M!!'^GrW)r2rr<59!5/BG^&A$3^&A!6]`>aZrW)u3 -!s$"7!<0Y4HN:gV!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!.0n0!FjU4U]LMGr1jGphS$W$ -!<9_D!5/@4]tFEZ!56&G!56'm!;E8ks5(H&r;cl2!!*#3!W]n6rk/C6]`8'3]`J2I!<0Y6!5/@4 -rOi5Y!;E8ks5(H&r;cl2!!*#3#QVQO!56&G]`A&F$37cQ!5/BG]`>_Grk/R;]`>aZ!56&Grk/F7 -]tJampS7iihYt4f!<9_4!<0YE!5/BG]`>aZ!5/BG]`>aZ!5/C3]a"PN]`>aZ!!*#3!!*#3"9?-K -HNl]`A&F%04)T!56&G]`>aZ!5/C3]bUU]!56&G]tFEZ!!'^G!56&G]tFEZ!<0Y=!5/@4 -]tFEZ]mBbRU]g_S]tFFB]`8'3]aXtT!!'^G!56&G]tFCGqRm49]`>aZ!!'\4]`A&F#QVQO!56&G -]`A&F$37a>!56&G]tJam^SCm>! -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!.g=6!F=.,T`P2Ar1O5mhS-`& -!<9bE!58F5^:jT]!5?/I!5?0q!;E/hs5(K(r;cl3!!*#4!W]q7rk8I7^&S04^&e;K!<0\7!58F5 -rOr;\!;E/hs5(K(r;cl3!!*#4#QVTQ!5?/I^&\/H$37fS!58HI^&YkIrk8X<^&Ym]!5?/Irk8L8 -^:o!qpRqWfhYt7g!<9b5!<0\F!58HI^&Ym]!58HI^&Ym]!58I4^'=YP^&Ym]!!*#4!!*#4"9?0M -I/s#8"TR>m^&\/H%04,V!5?/I^&Ym]!58I4^(p^_!5?/I^:jT]!!'aI!5?/I^:jT]!<0\>!58F5 -^:jT]^3p"UT`kDP^:jUD^&S04^'t(V!!'aI!5?/I^:jRIqS!::^&Ym]!!'_5^&\/H#QVTQ!5?/I -^&\/H$37d?!5?/I^:o!q^S([6! -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!.0n0!F"%,U]LMGr1jGphS$W$ -!<9_D!5/@4]tFEZ!56&G!56'm!;E8ks5(H&r;cl2!!*#3!W]n6rk/C6]`8'3]`J2I!<0Y6!5/@4 -rOi5Y!;E8ks5(H&r;cl2!!*#3#QVQO!56&G]`A&F$37cQ!5/BG]`>_Grk/R;]`>aZ!56&Grk/F7 -]tJampS7iihYt4f!<9_4!<0YE!5/BG]`>aZ!5/BG]`>aZ!5/C3]a"PN]`>aZ!!*#3!!*#3"9?-K -HNl]`A&F%04)T!56&G]`>aZ!5/C3]bUU]!56&G]tFEZ!!'^G!56&G]tFEZ!<0Y=!5/@4 -]tFEZ]mBbRU]g_S]tFFB]`8'3]aXtT!!'^G!56&G]tFCGqRm49]`>aZ!!'\4]`A&F#QVQO!56&G -]`A&F$37a>!56&G]tJam^SCm6! -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFgprrAkSKCf*CV"=TfV#Suu -U]LMGr1jPshS$T&]`A&F!W]n6rk/@5]`A&F"9?-KHNl]`@uD!!*#3!W]n6rk/@5]`A#E -!K]`>bD!<0Y3!<0Y>!56&G]`>aZ!56&Grk/@5 -]`A&F!IFh@U]LMPqn3dG]tFEZ!56&G]tFEZ]`>_G]tFEZ]`>bD!<9_7!56&Gr4N.3]`A&F!IFh@ -U]g_S]tFFF]`8'3]`8'2]`8'3]`8'3]a=bQ!56&G]tFEZ!<0Y;!56&G]tFEZ!<0Y5!5/C3]`\>K -]mBbRU]g_S]tFFB]`8'3]`J2I!<0Y9!56&G]tFFD^&7p3]`A&F"9?+8]`@rC"TZ6L!5/C3]`J2I -!<0Y7!56'm!5G<1@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(7!rrAnTJb/mAV=X]gV>nus -T`P2Ar1O>phS-](^&\/H!W]q7rk8F6^&\/H"9?0MI/s#8"TR>m^&\)F!!*#4!W]q7rk8F6^&\,G -!laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFgprrAkSKCf*CV"=TfV#Suu -U]LMGr1jPshS$T&]`A&F!W]n6rk/@5]`A&F"9?-KHNl]`@uD!!*#3!W]n6rk/@5]`A#E -!K]`>bD!<0Y3!<0Y>!56&G]`>aZ!56&Grk/@5 -]`A&F!IFh@U]LMPqn3dG]tFEZ!56&G]tFEZ]`>_G]tFEZ]`>bD!<9_7!56&Gr4N.3]`A&F!IFh@ -U]g_S]tFFF]`8'3]`8'2]`8'3]`8'3]a=bQ!56&G]tFEZ!<0Y;!56&G]tFEZ!<0Y5!5/C3]`\>K -]mBbRU]g_S]tFFB]`8'3]`J2I!<0Y9!56&G]tFFD^&7p3]`A&F"9?+8]`@rC"TZ6L!5/C3]`J2I -!<0Y7!56'm!5G<1=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFgqh>sDPie%72p"fbG!<;`K -"/Gqse_-`!s4.%C%0,1t]`>aZ!56&G]`A&F!W]n6rk/F7]tJampS7rlhS$T&r4N(1rk/@5]`A&F -!W]n6rOi74]`@uD!!)r1!IFh@U^I.Y]tFEZ]`>aZ!;jG5!56&G]`@oB!!*#3$NRlR!5/BG]`>aZ -!<0Y5!5/C3]`EH[pS7iihYXu'!56&G]`>aZ!56&G]tFEZ!56&G]tFEZ!;jG3!56&Gr4N.3]`A&F -!IFh@U]^YR]tO=DrOi12rOi:5]tFFF]a=bQ!56&G]tFEZ!<0Y;!56&G]tFEZ!<0Y5!5/C3]`\>K -]mBbRU]g_S]tFFB]`8'3]`J2I!<0Y9!56&G]tFFE]`8'3]`J2I!<0Y7!5/BG!;jG5!56&G]`A&F -!W]n6rk/F7]tJam^SCm>! -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(7"h>sGQidh+0p"fbH!<;`K -"/Q"tdb1;ps3gh=%0,1u^&Ym]!5?/I^&\/H!W]q7rk8L8^:o!qpRq`ihS-](r4W.2rk8F6^&\/H -!W]q7rOr=5^&\)F!!)r2!IXtBTaLhV^:jT]^&Ym]!;jJ6!5?/I^&\#D!!*#4$NRoT!58HI^&Ym] -!<0\6!58I4^&`W^pRqWfhYY#(!5?/I^&Ym]!5?/I^:jT]!5?/I^:jT]!;jJ4!5?/Ir4W44^&\/H -!IXtBT`b>O^:sLFrOr73rOr@6^:jUH^'XkS!5?/I^:jT]!<0\ -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFgqh>sDPie%72p"fbG!<;`K -"/Gqse_-`!s4.%C%0,1t]`>aZ!56&G]`A&F!W]n6rk/F7]tJampS7rlhS$T&r4N(1rk/@5]`A&F -!W]n6rOi74]`@uD!!)r1!IFh@U^I.Y]tFEZ]`>aZ!;jG5!56&G]`@oB!!*#3$NRlR!5/BG]`>aZ -!<0Y5!5/C3]`EH[pS7iihYXu'!56&G]`>aZ!56&G]tFEZ!56&G]tFEZ!;jG3!56&Gr4N.3]`A&F -!IFh@U]^YR]tO=DrOi12rOi:5]tFFF]a=bQ!56&G]tFEZ!<0Y;!56&G]tFEZ!<0Y5!5/C3]`\>K -]mBbRU]g_S]tFFB]`8'3]`J2I!<0Y9!56&G]tFFE]`8'3]`J2I!<0Y7!5/BG!;jG5!56&G]`A&F -!W]n6rk/F7]tJam^SCm6! -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFgq]`DjJie%:3hY+VbC&n:j -p:UQC!<:U&U]LMGr1jJqhS$T&rk/F7]`>_Grk/X=]`>aZ!!'^GHNl]`@uD!!*#3#QVO< -]tFCG]`A#E!W]n6rk/@5]`@uD!IFh@U]g_S]tFFF]`J2I!<0Y;!56&G]tFEZ!<0Y;!56&G]`>aZ -!<0Y3!<0Y6!56&GrOi12rOi5Y!;E8ls5(H&!<0Y3!<0Y3!<0YC!56&G]tFEZ!56&G]tFEZ!<0Y9 -!56&G]tFFC]`8'2]`EH[pS7okhRrpe]d<`m!56&G]`>aZ!5/BG]`8&G!56&G]tFEZ!!'^G!56&G -]tFEZ!<0Y5!5/C3]`\>K]mBbRU]LMPrk/:3rOi74]`A&F!W]n6rk/L9]tFEZ]`A#E%KO2U!!'\4 -]tFCG]`>_Grk/R;]tFEZ]`>_Grk/@5]`A&F"9?-KHN:gV!Fc'.Ujr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(7"^&`'Nidh.1hY+YcD#jUm -p:^WG!<:L#T`P2Ar1O8nhS-](rk8L8^&YkIrk8^>^&Ym]!!'aII/s#8"TR>m^&\)F!!*#4#QVR= -^:jRI^&\,G!W]q7rk8F6^&\)F!IXtBT`kDP^:jUH^&e;K!<0\ -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFgq]`DjJie%:3hY+VbC&n:j -p:UQC!<:U&U]LMGr1jJqhS$T&rk/F7]`>_Grk/X=]`>aZ!!'^GHNl]`@uD!!*#3#QVO< -]tFCG]`A#E!W]n6rk/@5]`@uD!IFh@U]g_S]tFFF]`J2I!<0Y;!56&G]tFEZ!<0Y;!56&G]`>aZ -!<0Y3!<0Y6!56&GrOi12rOi5Y!;E8ls5(H&!<0Y3!<0Y3!<0YC!56&G]tFEZ!56&G]tFEZ!<0Y9 -!56&G]tFFC]`8'2]`EH[pS7okhRrpe]d<`m!56&G]`>aZ!5/BG]`8&G!56&G]tFEZ!!'^G!56&G -]tFEZ!<0Y5!5/C3]`\>K]mBbRU]LMPrk/:3rOi74]`A&F!W]n6rk/L9]tFEZ]`A#E%KO2U!!'\4 -]tFCG]`>_Grk/R;]tFEZ]`>_Grk/@5]`A&F"9?-KHN:gV!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFgq]`DjJie%:3hY+VbC&n:j -p:UQC!<:U&U]LMGr1jJqhS$T&rk/F7]`>_Grk/X=]tFCG]`>aZHNl]`@rCrW)r2rraZ!5/BG]`>aZ!56)F!<'S4!5/C0 -]`8'2]`EH[pS7okhRrpe]`\>K]`8'3^&J*3^&J'B]`>_G]tFEZ]`>_G]`8'2]`\>K!56)F!<9_4 -!<0Y7!56'm!;E8is5*^fr;ci1rW)u3!!*#3!!*#3!W]n6r4W+1$bZPR]`8&G!5/BG^&A$1]`\>K -!56)F!<9_4!<0Y7!56'm!5G<1@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(7"^&`'Nidh.1hY+YcD#jUm -p:^WG!<:L#T`P2Ar1O8nhS-](rk8L8^&YkIrk8^>^:jRI^&Ym]I/s#8"TR>m^&\&ErW)r3rrlaktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFgq]`DjJie%:3hY+VbC&n:j -p:UQC!<:U&U]LMGr1jJqhS$T&rk/F7]`>_Grk/X=]tFCG]`>aZHNl]`@rCrW)r2rraZ!5/BG]`>aZ!56)F!<'S4!5/C0 -]`8'2]`EH[pS7okhRrpe]`\>K]`8'3^&J*3^&J'B]`>_G]tFEZ]`>_G]`8'2]`\>K!56)F!<9_4 -!<0Y7!56'm!;E8is5*^fr;ci1rW)u3!!*#3!!*#3!W]n6r4W+1$bZPR]`8&G!5/BG^&A$1]`\>K -!56)F!<9_4!<0Y7!56'm!5G<1=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFgq]`DjJie%:3hYOnm=oc7L -C&n:j]`;73]`W!Ls4,eu!WU^JU]LMPmC`W&]tJampS7iihV,XDHN -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(7"^&`'Nidh.1hYOqn>l_UQ -D#jUm^&VI7^&r3Ps3fSo!WUUGT`P2MmCi]'^:o!qpRqWfhV,[EI/s#8!WV$)^&S02^&`W^pRqWf -hY=eb!8Y?h!;sP3I/s#8!WV$7^&S/t^&`W^pRqWfhRgK&I/q$U!F5^)Tn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFgq]`DjJie%:3hYOnm=oc7L -C&n:j]`;73]`W!Ls4,eu!WU^JU]LMPmC`W&]tJampS7iihV,XDHN -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFgq]`DjJie%:3hYb%e>5eO% -]``'Ms5(Hg!!$4"]`W!Ls4,eu!WU^JU]LMPn@ef$rk/>Z!;E8is5)JC!IFh@U]LMPd_,V\r4N,X -!;E8is5*Oa!!(ig!!)r1!IFh@U]LMPi4T*jl+I+E!;E8is5(B$!IFg]U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(7"^&`'Nidh.1hYb(f?2aj( -^'&9Qs5(Kh!!$=%^&r3Ps3fSo!WUUGT`P2Mn@nl%rk8D]!;E/fs5)JD!IXtBT`P2Md_5\]r4W2[ -!;E/fs5*Ob!!(ih!!)r2!IXtBT`P2Mi4]0kl+R1H!;E/fs5(B%!IXs_T`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFgq]`DjJie%:3hYb%e>5eO% -]``'Ms5(Hg!!$4"]`W!Ls4,eu!WU^JU]LMPn@ef$rk/>Z!;E8is5)JC!IFh@U]LMPd_,V\r4N,X -!;E8is5*Oa!!(ig!!)r1!IFh@U]LMPi4T*jl+I+E!;E8is5(B$!IFg]U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFgq]`DjJie%:3hYt1g>5SC# -]``'Ms5(He!!$4$]`W!Ls4,eu!WU^JU]LMPlFd4F!;E8is5)JC!IFh@U]LMPbe4%(!;E8is5)#6 -!IFh@U]LMPa1VM#!;E8is5(B$!IFg]U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(7"^&`'Nidh.1hYt4h?2O^& -^'&9Qs5(Kf!!$='^&r3Ps3fSo!WUUGT`P2MlFm:I!;E/fs5)JD!IXtBT`P2Mbe=++!;E/fs5)#7 -!IXtBT`P2Ma1_S&!;E/fs5(B%!IXs_T`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFgq]`DjJie%:3hYt1g>5SC# -]``'Ms5(He!!$4$]`W!Ls4,eu!WU^JU]LMPlFd4F!;E8is5)JC!IFh@U]LMPbe4%(!;E8is5)#6 -!IFh@U]LMPa1VM#!;E8is5(B$!IFg]U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFgq]`DjJie%@5hS!+h!<9_8 -C&n:j^%q^5>.qUa!<:U&U]LMGr1jAnhWhcTHN! -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(7"^&`'Nidh43hS*:l!<9b9 -D#jUm^A7g6?,"$i!<:L#T`P2Ar1O/khWhfUI/s#8!WV$1^&`W^pRqWfhTW\7I/s#8!WV$$^&`W^ -pRqWfhT*>2I/s#8!WV#g^&`W^^S([6! -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFgq]`DjJie%@5hS!+h!<9_8 -C&n:j^%q^5>.qUa!<:U&U]LMGr1jAnhWhcTHN -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFgq]`DjJie%:3hYt1g>5SC# -]``'Ms5(He!!$4$]`W!Ls4,eu!WU^JU]LMPlFd4F!;E8is5)JC!IFh@U]LMPbe4%(!;E8is5)#6 -!IFh@U]LMPa1VM#!;E8is5(B$!IFg]U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(7"^&`'Nidh.1hYt4h?2O^& -^'&9Qs5(Kf!!$='^&r3Ps3fSo!WUUGT`P2MlFm:I!;E/fs5)JD!IXtBT`P2Mbe=++!;E/fs5)#7 -!IXtBT`P2Ma1_S&!;E/fs5(B%!IXs_T`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFgq]`DjJie%:3hYt1g>5SC# -]``'Ms5(He!!$4$]`W!Ls4,eu!WU^JU]LMPlFd4F!;E8is5)JC!IFh@U]LMPbe4%(!;E8is5)#6 -!IFh@U]LMPa1VM#!;E8is5(B$!IFg]U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFgq]`DjJie%:3hYb%e>5eO% -]``'Ms5(Hg!!$4"]`W!Ls4,eu!WU^JU]LLsl$EC1pS7iiXP%q#!;E8is/aCj!!)bh!WT7FHN4'? -U]LLs`d7[cpS7iiXL``Y!5G<1@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(7"^&`'Nidh.1hYb(f?2aj( -^'&9Qs5(Kh!!$=%^&r3Ps3fSo!WUUGT`P1rl$WO3pRqWfY1\4'!;E/fs/sOn!!)be!WT=HI/j9A -T`P1r`dIgepRqWfY.B#]!5G3.>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFgq]`DjJie%:3hYb%e>5eO% -]``'Ms5(Hg!!$4"]`W!Ls4,eu!WU^JU]LLsl$EC1pS7iiXP%q#!;E8is/aCj!!)bh!WT7FHN4'? -U]LLs`d7[cpS7iiXL``Y!5G<1=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFgq]`DjJie%:3hYOnm=oc7L -C&n:j]`;73]`W!Ls4,eu!WU^JU]@LZ!;E8hXOdIHU]@L -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(7"^&`'Nidh.1hYOqn>l_UQ -D#jUm^&VI7^&r3Ps3fSo!WUUGT`D7Y!;E/eY1E[JT`D7;!;E/eY0$b=T`D76!;E/eY.+JHT`JF! -rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFgq]`DjJie%:3hYOnm=oc7L -C&n:j]`;73]`W!Ls4,eu!WU^JU]@LZ!;E8hXOdIHU]@L -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFgq]`DjJie%:3hY+VbC&n:j -p:UQC!<:U&U]LMGJY[jmJY^D`!Fc'.Ujr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(7"^&`'Nidh.1hY+YcD#jUm -p:^WG!<:L#T`P2AJY@XgJYC2Z!F5^)Tn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFgq]`DjJie%:3hY+VbC&n:j -p:UQC!<:U&U]LMGJY[jmJY^D`!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFgq]`DjJie%:3hY+VbC&n:j -p:UQC!<:U&U]LMGJY[jmJY^D`!Fc'.Ujr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(7"^&`'Nidh.1hY+YcD#jUm -p:^WG!<:L#T`P2AJY@XgJYC2Z!F5^)Tn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFgq]`DjJie%:3hY+VbC&n:j -p:UQC!<:U&U]LMGJY[jmJY^D`!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFgpC&e7nK)u"JokFO.s.o=& -!W`8Nfq\ZKeUaNIUk,>`U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(7!D#aRqJH>eIokaa1s/#C* -!W`8KfqAHHdXe*CTn/oZT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFgpC&e7nK)u"JokFO.s.o=& -!W`8Nfq\ZKeUaNIUk,>`U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!.3&mie%6,o)Jcdo)Jgke_-`! -s4)[rJY[jmaeSrH! -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!.iJsidh*+o)Jceo)Jgkdb1;p -s3cIlJY@Xgae8`@! -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!.3&mie%6,o)Jcdo)Jgke_-`! -s4)[rJY[jmaeSr@! -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg1rrCU&U]LMGJY[jmJY^D` -!Fc'.Ujr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(67rrCL#T`P2AJY@XgJYC2Z -!F5^)Tn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg1rrCU&U]LMGJY[jmJY^D` -!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0e_-`!s4)[rJY[jmaeSrH -! -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66db1;ps3cIlJY@Xgae8`@ -! -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0e_-`!s4)[rJY[jmaeSr@ -! -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4)[rJY[jmaeSrH -! -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$A -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4)[rJY[jmaeSr@ -! -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4)[rJY[jmaeSrH -! -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$A -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4)[rJY[jmaeSr@ -! -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4)[rJY[jmaeSrH -! -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$A -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4)[rJY[jmaeSr@ -! -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4)[rJY[jmaeSrH -! -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$A -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4)[rJY[jmaeSr@ -! -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4.%Chu<\XpS@!P -!3GpjkPkO`pS?jL!3GpjOT,<^JY_5"!Fc'.Ujr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$A -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4.%Chu<\XpS@!P -!3GpjkPkO`pS?jL!3GpjOT,<^JY_5"!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4.%C!<;$7!NZ:q -U]CGZh>s\XpS7fhl.uHB!;E8hs5i) -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$AsbZpRqTel.uHD!;E/es5i)laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4.%C!<;$7!NZ:q -U]CGZh>s\XpS7fhl.uHB!;E8hs5i) -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4.%C!WV$9]`EH[ -pS7iihWhcTHN -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$A -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4.%C!WV$9]`EH[ -pS7iihWhcTHN -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4.%C!WV$9]`EH[ -pS7iihWhcTHN -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$A -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4.%C!WV$9]`EH[ -pS7iihWhcTHN -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4.%C!WV$9]`EH[ -pS7iihWhcTHN -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$A -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4.%C!WV$9]`EH[ -pS7iihWhcTHN -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4.%C!WV$9]`EH[ -pS7iihWhcTHN -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$A -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4.%C!WV$9]`EH[ -pS7iihWhcTHN -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4.%C"975k^&.m, -]`8'&]`EH[pS7iihYt4f!;X;0!5/C0]`EH[pS7rlhS$T&oXt5)qn3#W!;E8ks5(H&r;cl2!!)l/ -!!)c,!IFh@U]LMPrk8:2ke-rrqn;q.f=_.an\"o&q7QfU!.gs(U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$A1!58I1^&`W^pRq`ihS-](oY(;*qn<)Z!;E/hs5(K(r;cl3!!)l0 -!!)c-!IXtBT`P2MrkA@3ke7#sqnE"/f=h4bn\+u'q7ZlX!.gj%T`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4.%C"975k^&.m, -]`8'&]`EH[pS7iihYt4f!;X;0!5/C0]`EH[pS7rlhS$T&oXt5)qn3#W!;E8ks5(H&r;cl2!!)l/ -!!)c,!IFh@U]LMPrk8:2ke-rrqn;q.f=_.an\"o&q7QfU!.gs(U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4.%C"TR>l]`@K6 -!!)i.!IFh@U]g_S]tFFF]`8'/]`8'2]`8'3]`EH[pS7rlhS$T&ot:>*rk/:3rk/>Z!;E8ls5(H& -!<0Y3!;O5-!;jG0!<0Y4HNl]`A&F!!)8s!!)o0!!*#3!!)i.!!*#3!!),o!!)Q&!!)i. -!IFftUu8$L@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$Am^&[T8 -!!)i/!IXtBT`kDP^:jUH^&S00^&S03^&S04^&`W^pRq`ihS-](otCD+rk8@4rk8D]!;E/is5(K( -!<0\4!;O8.!;jJ1!<0\5I/s#8"TR>m^&\/H!!)8t!!)o1!!*#4!!)i/!!*#4!!),p!!)Q'!!)i/ -!IXs!U#;UF>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4.%C"TR>l]`@K6 -!!)i.!IFh@U]g_S]tFFF]`8'/]`8'2]`8'3]`EH[pS7rlhS$T&ot:>*rk/:3rk/>Z!;E8ls5(H& -!<0Y3!;O5-!;jG0!<0Y4HNl]`A&F!!)8s!!)o0!!*#3!!)i.!!*#3!!),o!!)Q&!!)i. -!IFftUu8$L=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4.%C"TR>l]`@K6 -!!)i.!IFh@U]g_S]tFF>]`8'2]`8'3]`EH[pS7rlhS$T&ot:>*rk/:3rk/>Z!;E8ls5(H&!<0Y3 -!;O5-!;jG0!<0Y4HNl]`@0-!!)o0!!*#3!!)i.!!*#3!!)/p!W]n6o">#'q7QfU!.gs( -U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$Am^&[T8 -!!)i/!IXtBT`kDP^:jU@^&S03^&S04^&`W^pRq`ihS-](otCD+rk8@4rk8D]!;E/is5(K(!<0\4 -!;O8.!;jJ1!<0\5I/s#8"TR>m^&[9/!!)o1!!*#4!!)i/!!*#4!!)/q!W]q7o"G)(q7ZlX!.gj% -T`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4.%C"TR>l]`@K6 -!!)i.!IFh@U]g_S]tFF>]`8'2]`8'3]`EH[pS7rlhS$T&ot:>*rk/:3rk/>Z!;E8ls5(H&!<0Y3 -!;O5-!;jG0!<0Y4HNl]`@0-!!)o0!!*#3!!)i.!!*#3!!)/p!W]n6o">#'q7QfU!.gs( -U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4.%C"TR>l]`@uD -!!*#3#QVO<]tFCG]tOCFs1SF4rk/>Z!;E8ls5(H&!;sM:!5/@4]tFEZ!58@3s1JG[!;E8ls5(H& -!;jJ/!<9b3!!'_3!<9_5HNl]`A&F%fj9C]tFCG]`>_G]`8&G^&A$3]`EH[pS7rlhS$T& -qn;t/rk8:2s1JR9]`8&G^&A$3]`S8J!!*#3!!*#3!W]pIrW)u3rVur3rW)u3rW)u3#QVO_G!56&G]`A&F"9?-KHN8Vmi1pB_! -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$Am^&\)F -!!*#4#QVR=^:jRI^:sRHs1\L5rk8D]!;E/is5(K(!;sP;!58F5^:jT]!5AF4s1SM^!;E/is5(K( -!;jM0!<9e4!!'b4!<9b6I/s#8"TR>m^&\/H%fj -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4.%C"TR>l]`@uD -!!*#3#QVO<]tFCG]tOCFs1SF4rk/>Z!;E8ls5(H&!;sM:!5/@4]tFEZ!58@3s1JG[!;E8ls5(H& -!;jJ/!<9b3!!'_3!<9_5HNl]`A&F%fj9C]tFCG]`>_G]`8&G^&A$3]`EH[pS7rlhS$T& -qn;t/rk8:2s1JR9]`8&G^&A$3]`S8J!!*#3!!*#3!W]pIrW)u3rVur3rW)u3rW)u3#QVO_G!56&G]`A&F"9?-KHN8Vmi1pBW! -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4.%C"975k^&7s1 -]b^[^!56&G]`>aZ!56&G]tFEZ]`>aZHNaZ!!'\4!56&G]tFFF]`EH[pS7ii -hYt4f!<9_4!<0Y3!;sM4!5/@4rk/:3rk/R;]`8&G]`>aZr;c`.!s$$J!<0Y6!56&Grk/C6]`8'3 -^&J*4]`8'.]`8'3]b(7X]`8&G]`>_G!56&G]`>_Grk/F7]tJamJY_5"!Fc'.Ujr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$AO^:sOGs1T!D^&Ym]!!'_5!5?/I^:jUH^&`W^pRqWf -hYt7g!<9b5!<0\4!;sP5!58F5rk8@4rk8X<^&S/I^&Ym]r;c`/!s$'L!<0\7!5?/Irk8I7^&S04 -^Ae35^&S0/^&S04^(C@Z^&S/I^&YkI!5?/I^&YkIrk8L8^:o!qJYD"q!F5^)Tn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4.%C"975k^&7s1 -]b^[^!56&G]`>aZ!56&G]tFEZ]`>aZHNaZ!!'\4!56&G]tFFF]`EH[pS7ii -hYt4f!<9_4!<0Y3!;sM4!5/@4rk/:3rk/R;]`8&G]`>aZr;c`.!s$$J!<0Y6!56&Grk/C6]`8'3 -^&J*4]`8'.]`8'3]b(7X]`8&G]`>_G!56&G]`>_Grk/F7]tJamJY_5"!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4.%C"TR>l]`@oB -!!*#3!s$$J!<'S2!<0Y3!<'S3HNZ!;E8ls5(H&!;sP. -!<9_4!<0Y3!<0Y4HN_Grk/@5]`A&F!W]n6rk/C6]tFFF]`EH[pS7iihYXte!58:1 -s1S@2!PJL3]`8'1]`8'3]`S8J]`@rCr;cl2!!*#3!W]pIqu?c2!<'S2!<0Y3!;X;.!<0Y6!56&G -rk/@5]`A&F#6;F;]tFEZ!<0Y4HN8Vmi1pB_! -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$Am^&\#D -!!*#4!s$'L!<'V3!<0\4!<'V4I/s#8!WV$R^&e;K!<0\;!58HI!5?/Irk8D]!;E/is5(K(!;sS/ -!<9b5!<0\4!<0\5I/s#8#63Po^&YkIrk8F6^&\/H!W]q7rk8I7^:jUH^&`W^pRqWfhYY"f!5A@2 -s1\F3!PSR4^&S02^&S04^&nAL^&\&Er;cl3!!*#4!W]sKqu?c3!<'V3!<0\4!;X>/!<0\7!5?/I -rk8F6^&\/H#6;I<^:jT]!<0\5I/nhli1U0W! -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4.%C"TR>l]`@oB -!!*#3!s$$J!<'S2!<0Y3!<'S3HNZ!;E8ls5(H&!;sP. -!<9_4!<0Y3!<0Y4HN_Grk/@5]`A&F!W]n6rk/C6]tFFF]`EH[pS7iihYXte!58:1 -s1S@2!PJL3]`8'1]`8'3]`S8J]`@rCr;cl2!!*#3!W]pIqu?c2!<'S2!<0Y3!;X;.!<0Y6!56&G -rk/@5]`A&F#6;F;]tFEZ!<0Y4HN8Vmi1pBW! -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4.%C"TR>l]`@oB -!!*#3!!*#3!!*#3!!)u2!!*#3!IFh@U]LMPqn3%2]`A&F#6;F;]`>aZ!<0Y4HNl]`@uD -!!)o0!!*#3!!*#3!IFh@U^[:[]tFEZ]`>aZ!5/C3]`J2I!<0Y6!56&Grk/>Z!;E8is5*Xd!W]n6 -r4N(1rk/@5]`A#E!!)r1!!*#3!s$$J!;sM1!<0Y6!56&Grk/C6]tFFD]`8'2]`8'3]`8'.^&.m1 -]`8'3]`J2I!<0Y:!5/BG]`>_Grk/>Z!.gs(U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$Am^&\#D -!!*#4!!*#4!!*#4!!)u3!!*#4!IXtBT`P2Mqn<+3^&\/H#6;I<^&Ym]!<0\5I/s#8"TR>m^&\)F -!!)o1!!*#4!!*#4!IXtBTa^tX^:jT]^&Ym]!58I4^&e;K!<0\7!5?/Irk8D]!;E/fs5*Xe!W]q7 -r4W.2rk8F6^&\,G!!)r2!!*#4!s$'L!;sP2!<0\7!5?/Irk8I7^:jUF^&S03^&S04^&S0/^AJ!2 -^&S04^&e;K!<0\;!58HI^&YkIrk8D]!.gj%T`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4.%C"TR>l]`@oB -!!*#3!!*#3!!*#3!!)u2!!*#3!IFh@U]LMPqn3%2]`A&F#6;F;]`>aZ!<0Y4HNl]`@uD -!!)o0!!*#3!!*#3!IFh@U^[:[]tFEZ]`>aZ!5/C3]`J2I!<0Y6!56&Grk/>Z!;E8is5*Xd!W]n6 -r4N(1rk/@5]`A#E!!)r1!!*#3!s$$J!;sM1!<0Y6!56&Grk/C6]tFFD]`8'2]`8'3]`8'.^&.m1 -]`8'3]`J2I!<0Y:!5/BG]`>_Grk/>Z!.gs(U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4.%C"TR>l]`@rC -(BD,K]tFEZ!56&G]tFEZ]`>aZ!56'm!;E8ls5(H&!<0Y@!5/@4]tFEZ!5/BG]`A&F!IFh@U]g_S -]tFFD]`8'3]`S8J]`A&F!!*#3!IFh@U]g_S]tFFF]a=bQ!5/BG]`8&G!<0Y6!56&Grk/>Z!;E8l -s5(H&!<0Y5!5/C3]a+VO!56&G!5/C2]`8'3]`J2I!<0Y6!56&Gr4N=8]tFCG]tFFF]`S8J]`A&F -!W]n6rOi12rk/:3qRlk/r4NR?]`8&G]`>_G!56&G]`A&F!!)u2!IFftUu8$L@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$Am^&\&E -(BD/L^:jT]!5?/I^:jT]^&Ym]!5?0q!;E/is5(K(!<0\A!58F5^:jT]!58HI^&\/H!IXtBT`kDP -^:jUF^&S04^&nAL^&\/H!!*#4!IXtBT`kDP^:jUH^'XkS!58HI^&S/I!<0\7!5?/Irk8D]!;E/i -s5(K(!<0\6!58I4^'F_Q!5?/I!58I3^&S04^&e;K!<0\7!5?/Ir4WC9^:jRI^:jUH^&nAL^&\/H -!W]q7rOr73rk8@4qRuq0r4WX@^&S/I^&YkI!5?/I^&\/H!!)u3!IXs!U#;UF>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4.%C"TR>l]`@rC -(BD,K]tFEZ!56&G]tFEZ]`>aZ!56'm!;E8ls5(H&!<0Y@!5/@4]tFEZ!5/BG]`A&F!IFh@U]g_S -]tFFD]`8'3]`S8J]`A&F!!*#3!IFh@U]g_S]tFFF]a=bQ!5/BG]`8&G!<0Y6!56&Grk/>Z!;E8l -s5(H&!<0Y5!5/C3]a+VO!56&G!5/C2]`8'3]`J2I!<0Y6!56&Gr4N=8]tFCG]tFFF]`S8J]`A&F -!W]n6rOi12rk/:3qRlk/r4NR?]`8&G]`>_G!56&G]`A&F!!)u2!IFftUu8$L=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4.%C"975k^&.j2 -]`A&F"ou=:]tFCGrOi=6]tFCGrk/>Z!;E8is5*agrW)u3#QVOK]mBbRU]g_S]tFFF]a=bQ!56&G!5/BG!<0Y3!<0Y7!56'm!;E8is5*ag -rW)r2rW)r2rr -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$A -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4.%C"975k^&.j2 -]`A&F"ou=:]tFCGrOi=6]tFCGrk/>Z!;E8is5*agrW)u3#QVOK]mBbRU]g_S]tFFF]a=bQ!56&G!5/BG!<0Y3!<0Y7!56'm!;E8is5*ag -rW)r2rW)r2rr -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4.%C!WV$9]`EH[ -pS7iihYFhb!;!l)HN -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$A -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4.%C!WV$9]`EH[ -pS7iihYFhb!;!l)HN -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4.%C!WV$9]`EH[ -pS7iihYFhb!;!l)HN -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$A -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4.%C!WV$9]`EH[ -pS7iihYFhb!;!l)HN -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4.%C!WV$9]`EH[ -pS7iihWhcTHN -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$A -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4.%C!WV$9]`EH[ -pS7iihWhcTHN -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4.%C!WV$9]`EH[ -pS7iihWhcTHN -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$A -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4.%C!WV$9]`EH[ -pS7iihWhcTHN -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4.%C!WV$9]`EH[ -pS7iihWhcTHN -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$A -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4.%C!WV$9]`EH[ -pS7iihWhcTHN -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4.%C!WT7[HN4'? -U]LLsl$EC1pS7iiXQb'3!;E8is/b=/!!)bh!WT6aHN4%sUu8$L@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$AlaktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4.%C!WT7[HN4'? -U]LLsl$EC1pS7iiXQb'3!;E8is/b=/!!)bh!WT6aHN4%sUu8$L=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV!=`Vs4.%C!3G&XpS7ej -k5b7P!3G>`pS7ejirJhL!3D7^JY_5"!Fc'.Ujr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U$A -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV!=`Vs4.%C!3G&XpS7ej -k5b7P!3G>`pS7ejirJhL!3D7^JY_5"!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFft@eF11SG/f[s4)[rJY[jm -aeSrH! -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%?1hJ'RJ3BUs3cIlJY@Xg -ae8`@! -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFft>4l&!PkUsSs4)[rJY[jm -aeSr@! -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFfteb7MoSCRA0!WU]$Uk,=m -UrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%de;)iRF:i'!WUT!Tn/ng -Tuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFfteb7MoPh#N(!WU]$Uk,=m -UrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV"USb@b(4K!WU]$Uk,=m -UrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U%Y/\?./J@!WUT!Tn/ng -Tuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV"USb>1NAC!WU]$Uk,=m -UrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV"USb@b(4K!WU]$Uk,=m -UrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U%Y/\?./J@!WUT!Tn/ng -Tuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV"USb>1NAC!WU]$Uk,=m -UrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV"USb@b(4K!WU]$Uk,=m -UrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U%Y/\?./J@!WUT!Tn/ng -Tuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV"USb>1NAC!WU]$Uk,=m -UrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV"USb@b(4K!WU]$Uk,=m -UrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U%Y/\?./J@!WUT!Tn/ng -Tuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV"USb>1NAC!WU]$Uk,=m -UrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV"USb@b(4K!WU]$Uk,=m -UrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U%Y/\?./J@!WUT!Tn/ng -Tuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV"USb>1NAC!WU]$Uk,=m -UrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV"USb@b(4K!WU]$Uk,=m -UrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U%Y/\?./J@!WUT!Tn/ng -Tuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV"USb>1NAC!WU]$Uk,=m -UrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV"USb@b(4K!WU]$Uk,=m -UrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U%Y/\?./J@!WUT!Tn/ng -Tuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV"USb>1NAC!WU]$Uk,=m -UrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV"USb@b(4K!WU]$Uk,=m -UrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U%Y/\?./J@!WUT!Tn/ng -Tuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV"USb>1NAC!WU]$Uk,=m -UrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV"USb@b(4K!WU^JUu21P -XS8OJrrB.pUu;7QXS8NsrrB.pUs]2BXS8O8rrB.pUqZj/XQuY_@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U%Y/\?./J@!WUUGU#5kM -Y4nXIrrB4rU#>qNY4nWrrrB4rU!`l?Y4nX7rrB4rTt^O,Y3Vb^>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV"USb>1NAC!WU^JUu21P -XS8OJrrB.pUu;7QXS8NsrrB.pUs]2BXS8O8rrB.pUqZj/XQuY_=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV"USb@b(4K!WU^JU]CGR -h>s\XpS7fhiSFU:!;E8hs5Ml9X8r!j!<9I`!NZ:qU]CGDh>s\XpS7fhce\](!;E8hs1mIlX8qR^ -!Fc'.Ujr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U%Y/\?./J@!WUUGT`G,O -h>sbZpRqTeiSFUsbZpRqTece\]*!;E/es1mIlXoRd] -!F5^)Tn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV"USb>1NAC!WU^JU]CGR -h>s\XpS7fhiSFU:!;E8hs5Ml9X8r!j!<9I`!NZ:qU]CGDh>s\XpS7fhce\](!;E8hs1mIlX8qR^ -!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV"USb@b(4K!WU^JU]LMP -ik5A>!;E8is5)bK!IFh@U]LMPj1PJ?!;E8is5(2t!IFh@U]LMPe@bm0!;E8is5),9!IFh@U]LMP -_7]kr!:-E]@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U%Y/\?./J@!WUUGT`P2M -ik>GA!;E/fs5)bL!IXtBT`P2Mj1YPB!;E/fs5(2u!IXtBT`P2Me@ks3!;E/fs5),:!IXtBT`P2M -_7fqu!:-laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV"USb>1NAC!WU^JU]LMP -ik5A>!;E8is5)bK!IFh@U]LMPj1PJ?!;E8is5(2t!IFh@U]LMPe@bm0!;E8is5),9!IFh@U]LMP -_7]kr!:-E]=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFftV"USb@b(4K!WU^JU]LMP -ik5A>!;E8is5)bK!IFh@U]LMPj1PJ?!;E8is5(2t!IFh@U]LMPe@bm0!;E8is5),9!IFh@U]LMP -_7]kr!:-E]@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(6%U%Y/\?./J@!WUUGT`P2M -ik>GA!;E/fs5)bL!IXtBT`P2Mj1YPB!;E/fs5(2u!IXtBT`P2Me@ks3!;E/fs5),:!IXtBT`P2M -_7fqu!:-laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFftV"USb>1NAC!WU^JU]LMP -ik5A>!;E8is5)bK!IFh@U]LMPj1PJ?!;E8is5(2t!IFh@U]LMPe@bm0!;E8is5),9!IFh@U]LMP -_7]kr!:-E]=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg.@KE!pmpZ9er1j@&eb>j? -s4.%C!WV$9]`EH[pS7iihVu3LHN -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(64>lg@emp,p]r1O-sdeBF9 -s3gh=!WV$9^&`W^pRqWfhVu6MI/s#8!WV$:^&`W^pRqWfhR:-!I/s#8!WV$+^&`W^pRqWfhU&t; -I/s#8!WV#m^&`W^l_+>b! -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg.=ojk`mof^Ur1j?seb>j? -s4.%C!WV$9]`EH[pS7iihVu3LHN -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!.0e-"(KfV@dsF!@b(CP!FjUR -U]LMGr1jAnhVu3LHNHN -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!.g43"'s?K?1@mq?./YE!F=.J -T`P2Ar1O/khVu6MI/s#8!WV$9^&`W^pRqWfhW) -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!.0e-"'X6N>4DRn>1NPH!F"%J -U]LMGr1jAnhVu3LHNHN -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg/U]g_JUga>qrrT"rebl3D -@b(4K!WU^JU]^YR]tO=Dl+I+E!;E8ls5(H&!9LlpHN_Gpq?S*mC`OI!;E8ks5(H&quHT, -!!)r1!!)T'!!)f-"9?-KHN -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(65T`kDDTj7ZirrT%sdeod> -?./J@!WUUGT`b>O^:sLFl+R1H!;E/is5(K(!9LoqI/s#8!WV$T^&S0'^&S0/^&`W^pRq]hhS-`% -!!Bq8^&[oA!!))orW)u4!!)T("9?0MI/s#8"975l^AIs5^&YkIpqHY+mCiUL!;E/hs5(K(quHT- -!!)r2!!)T(!!)f."9?0MI/s#8"975l^AJ!-^&S02^&S0!^&S0#^&`W^l_+>b! -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg/U]g_JUfmcirrT"rebl3D ->1NAC!WU^JU]^YR]tO=Dl+I+E!;E8ls5(H&!9LlpHN_Gpq?S*mC`OI!;E8ks5(H&quHT, -!!)r1!!)T'!!)f-"9?-KHN -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?KeUeYHXSs7P4NU]CGF -r1j@&eb>j?s4.%C"TR>l]`@<1!!*#3!IFh@U]g_S]tFFA]`8'#]`EH[pS7iihYk+f!:d`&!;X;/ -HNl]`@uD!!)]*!!)i.!!)H#!!*#3!!)N%"9?-KHNl]`@uD!!)Z)!!)>u!IFh@ -U]g_S]tFF>]`8'1]`8'']`8'-]`\>K]mBbRU]g_S]tFF>]`8'1]`8&u]`8'"]`EH[l_FPj! -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?K\Rd\0qHs7P4NV#^PD -r1O-sdeBF9s3gh="TR>m^&[E3!!*#4!IXtBT`kDP^:jUC^&S0$^&`W^pRqWfhYk.g!:dc'!;X>0 -I/s#8"TR>m^&\)F!!)]+!!)i/!!)H$!!*#4!!)N&"9?0MI/s#8"TR>m^&\)F!!)Z*!!)?!!IXtB -T`kDP^:jU@^&S02^&S0(^&S0.^'"GM^3p"UT`kDP^:jU@^&S02^&S0!^&S0#^&`W^l_+>b! -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?KeUeYH@Ks7P4NU]CGF -r1j?seb>j?s4.%C"TR>l]`@<1!!*#3!IFh@U]g_S]tFFA]`8'#]`EH[pS7iihYk+f!:d`&!;X;/ -HNl]`@uD!!)]*!!)i.!!)H#!!*#3!!)N%"9?-KHNl]`@uD!!)Z)!!)>u!IFh@ -U]g_S]tFF>]`8'1]`8'']`8'-]`\>K]mBbRU]g_S]tFF>]`8'1]`8&u]`8'"]`EH[l_FPb! -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]g_S]tFF1]`8'3]`EH[pS7rlhS$T&q7Qb.m_&XJ!;E8is5*ag!W]n6o">#' -q7QfU!;E8ls5(H&!;sM1!;4#*!;X;.!:IN#!:7B%!56'm!;E8ls5(H&!;sM1!;*r)!:.l]`@c>!!)r1!!)T'!!)f-"9?-KHNl]`@c>!!)r1!!)>u!!)E"!IFh4U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`kDP^:jU3^&S04^&`W^pRq`ihS-](q7Zh/m_/^M!;E/fs5*ah!W]q7o"G)( -q7ZlX!;E/is5(K(!;sP2!;4&+!;X>/!:IQ$!:7E&!5?0q!;E/is5(K(!;sP2!;*u*!:.?"I/s#8 -"TR>m^&[l@!!)r2!!)T(!!)f."9?0MI/s#8"TR>m^&[l@!!)r2!!)?!!!)E#!IXt6T`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]g_S]tFF1]`8'3]`EH[pS7rlhS$T&q7Qb.m_&XJ!;E8is5*ag!W]n6o">#' -q7QfU!;E8ls5(H&!;sM1!;4#*!;X;.!:IN#!:7B%!56'm!;E8ls5(H&!;sM1!;*r)!:.l]`@c>!!)r1!!)T'!!)f-"9?-KHNl]`@c>!!)r1!!)>u!!)E"!IFh4U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]g_S]tFFD]`8'3]`J2I^&A$2^&A$3^&A$3]`EH[pS82shS$T&]`>_G!56)F -!!^+:]`8&G^&A$2^&J*3]`EH[pS7iihYt1i!5/C3]ab%U!!'^G!5/@4]tFEZ!<0Y7!56'm!;E8l -s5(H&!;sM4!5/BGrW!#5!!*#3#6;F;]`8&G^&A!9]`>_G!56)F!<0\3!<0Y3!;sM2!58@3&%qrC -]tFEZ!!'^G!56'm!;E8ls5(H&!;sM4!5/BGrW!#5!!)u2!!*#3!!*#3"TZ49]`8'3^&A$2]`EH[ -pS7rlhS$T&qn;t/s1JU:]tFCG]`@oB$NRlR!56&G]`>_G!<0\3!!U%9]tJampS7rlhS$T&qn;t/ -s1JU:]tFCG]`@oB"TZ49!56)F!<0\3!!Bn7]`A&F!W]pIrW)r2rW)r2!IFh4U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`kDP^:jUF^&S04^&e;K^A\-3^A\-4^A\-4^&`W^pRquphS-](^&YkI!5?2H -!!^.;^&S/I^A\-3^Ae34^&`W^pRqWfhYt4j!58I4^((.W!!'aI!58F5^:jT]!<0\8!5?0q!;E/i -s5(K(!;sP5!58HIrW!#6!!*#4#6;I<^&S/I^A\*:^&YkI!5?2H!<0_4!<0\4!;sP3!5AF4&&&#D -^:jT]!!'aI!5?0q!;E/is5(K(!;sP5!58HIrW!#6!!)u3!!*#4!!*#4"TZ7:^&S04^A\-3^&`W^ -pRq`ihS-](qnE%0s1S[;^:jRI^&\#D$NRoT!5?/I^&YkI!<0_4!!U(:^:o!qpRq`ihS-](qnE%0 -s1S[;^:jRI^&\#D"TZ7:!5?2H!<0_4!!Bq8^&\/H!W]sKrW)r3rW)r3!IXt6T`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]g_S]tFFD]`8'3]`J2I^&A$2^&A$3^&A$3]`EH[pS82shS$T&]`>_G!56)F -!!^+:]`8&G^&A$2^&J*3]`EH[pS7iihYt1i!5/C3]ab%U!!'^G!5/@4]tFEZ!<0Y7!56'm!;E8l -s5(H&!;sM4!5/BGrW!#5!!*#3#6;F;]`8&G^&A!9]`>_G!56)F!<0\3!<0Y3!;sM2!58@3&%qrC -]tFEZ!!'^G!56'm!;E8ls5(H&!;sM4!5/BGrW!#5!!)u2!!*#3!!*#3"TZ49]`8'3^&A$2]`EH[ -pS7rlhS$T&qn;t/s1JU:]tFCG]`@oB$NRlR!56&G]`>_G!<0\3!!U%9]tJampS7rlhS$T&qn;t/ -s1JU:]tFCG]`@oB"TZ49!56)F!<0\3!!Bn7]`A&F!W]pIrW)r2rW)r2!IFh4U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]^YR]tO@Erk/@5]`@rC!W]n6rk/C6]tFFF]`EH[pS8E$hS$T&]`8&G]`>aZ -!56&G!<0Y3!<0YaZHNl]`A&F&HKMX!!'^G!5/@4]tFEZ!5/C3]`\>K]mBbR -U]^YR]tO@Es1K_G]tFEZ]`>aZ!5/@4]tFEZ]`>aZ!!*#3!!*#3"TZ49]tFFF^&A$3]bCI[ -!56&G]tFEZ!!'^G!5/BG]mBbRU]^YR]tO@Es1Ja>]`>_G]tFEZ]`A&F!!*#3!!*#3#QVOaZ!5/@4]tFEZ!56&G!56'm -!;E8ks5(H&r;cl2!!*#3#QVO<]`>aZ!!)l/rrE&3!!*#3#QVO<]tFCG]`A&F!W]n6rk/@5]`A&F -"9?-KHN -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`b>O^:sOGrk8F6^&\&E!W]q7rk8I7^:jUH^&`W^pRr3!hS-](^&S/I^&Ym] -!5?/I!<0\4!<0\=!58HI^&Ym]I/s#8"TR>m^&\/H&HKPZ!!'aI!58F5^:jT]!58I4^'"GM^3p"U -T`b>O^:sOGs1TBO^&YkI^:jT]^&Ym]!58F5^:jT]^&Ym]!!*#4!!*#4"TZ7:^:jUH^A\-4^(^R] -!5?/I^:jT]!!'aI!58HI^3p"UT`b>O^:sOGs1Sg?^&YkI^:jT]^&\/H!!*#4!!*#4#QVR=!5?/I -^&\/H"9?0MI/s#8"975l^AS'3^&S04^'F_Q!58HI^&S00^(p^_^&Ym]!58F5^:jT]!5?/I!5?0q -!;E/hs5(K(r;cl3!!*#4#QVR=^&Ym]!!)l0rrE&4!!*#4#QVR=^:jRI^&\/H!W]q7rk8F6^&\/H -"9?0MI/rT,!F5^)Tn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]^YR]tO@Erk/@5]`@rC!W]n6rk/C6]tFFF]`EH[pS8E$hS$T&]`8&G]`>aZ -!56&G!<0Y3!<0YaZHNl]`A&F&HKMX!!'^G!5/@4]tFEZ!5/C3]`\>K]mBbR -U]^YR]tO@Es1K_G]tFEZ]`>aZ!5/@4]tFEZ]`>aZ!!*#3!!*#3"TZ49]tFFF^&A$3]bCI[ -!56&G]tFEZ!!'^G!5/BG]mBbRU]^YR]tO@Es1Ja>]`>_G]tFEZ]`A&F!!*#3!!*#3#QVOaZ!5/@4]tFEZ!56&G!56'm -!;E8ks5(H&r;cl2!!*#3#QVO<]`>aZ!!)l/rrE&3!!*#3#QVO<]tFCG]`A&F!W]n6rk/@5]`A&F -"9?-KHN -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]g_S]tFFB]`8'2^&7p3]`@rC!!*#3!IFh@U^$kU]tFEZ!<0Y9!56&G]tFFE -]`8'3]`S8J]`A#E!IFh@U]g_S]tFFF]`S8J]`A&F!W]n6rk/O:]`>aZ!5/C3]`EH[pS7rlhS$T& -r4NU@]`>_G]tFEZ]`>aZ!5/C3]`nJM]`>aZ!<'S2!<0Y6!56&Gq7R1:]`>_G]tFEZ]`>_Grk/L9 -]`>aZHNl]`@uD$37a>]`>aZ!56&Grk/:3rOi@7]`>aZ!<0Y4!58:1s1JG[!;E8ls5(H& -!;sM1!<0Y7!5/BG!<0Y3!;aA7!5/BG!5/BG!<0Y5!5/C3]`\>K]mBbRU]g_S]tFFD]`8'3]`\>K -!5/C3]`8'/]`8'2^&.j2]`A&F!W]n6rk/@5]`@uDquHc1!IFh4U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`kDP^:jUD^&S03^AS$4^&\&E!!*#4!IXtBTa(PR^:jT]!<0\:!5?/I^:jUG -^&S04^&nAL^&\,G!IXtBT`kDP^:jUH^&nAL^&\/H!W]q7rk8U;^&Ym]!58I4^&`W^pRq`ihS-]( -r4W[A^&YkI^:jT]^&Ym]!58I4^'4SO^&Ym]!<'V3!<0\7!5?/Iq7[7;^&YkI^:jT]^&YkIrk8R: -^&Ym]I/s#8"TR>m^&\)F$37d?^&Ym]!5?/Irk8@4rOrF8^&Ym]!<0\5!5A@2s1SM^!;E/is5(K( -!;sP2!<0\8!58HI!<0\4!;aD8!58HI!58HI!<0\6!58I4^'"GM^3p"UT`kDP^:jUF^&S04^'"GM -!58I4^&S00^&S03^AIs3^&\/H!W]q7rk8F6^&\)FquHc2!IXt6T`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]g_S]tFFB]`8'2^&7p3]`@rC!!*#3!IFh@U^$kU]tFEZ!<0Y9!56&G]tFFE -]`8'3]`S8J]`A#E!IFh@U]g_S]tFFF]`S8J]`A&F!W]n6rk/O:]`>aZ!5/C3]`EH[pS7rlhS$T& -r4NU@]`>_G]tFEZ]`>aZ!5/C3]`nJM]`>aZ!<'S2!<0Y6!56&Gq7R1:]`>_G]tFEZ]`>_Grk/L9 -]`>aZHNl]`@uD$37a>]`>aZ!56&Grk/:3rOi@7]`>aZ!<0Y4!58:1s1JG[!;E8ls5(H& -!;sM1!<0Y7!5/BG!<0Y3!;aA7!5/BG!5/BG!<0Y5!5/C3]`\>K]mBbRU]g_S]tFFD]`8'3]`\>K -!5/C3]`8'/]`8'2^&.j2]`A&F!W]n6rk/@5]`@uDquHc1!IFh4U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]g_S]tFFB]`8'3]`8'3]`J2I!;jG0!<0Y4HN_Grk/L9]tFEZ -]`A#E!!*#3!!*#3!!*#3!IFh@U]^YR]tO=Ds1JC4rk/@5]`A&F#6;F;]tFEZ!<0Y4HNl -]`@uD%fj9C]`>aZ!56&G]tFEZ!<0Y9!56&G]tFFE]`8'3]`8'3]`8'/]aOnS!5/BG]`>aZ!5/C3 -]`nJM!56'm!;E8ls5(H&!;sM;!5/BG!56&G]tFFF]`8'2]`eDL!56&Grk/@5]`@rC!IFh@U]g_S -]tFFD]`8'3]`\>K!5/C3]`8'/]a+VO!5/BG!5/C3]`J2I!<0Y7!56'm!;E8ls5(H&!;sM1!<0Y7 -!5/BG!<0Y3!;aA/!<'S2!;sM1!<0Y5!5/C3]`J2I!;sM1!;jG1HN -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`kDP^:jUD^&S04^&S04^&e;K!;jJ1!<0\5I/s#8#63Po^&YkIrk8R:^:jT] -^&\,G!!*#4!!*#4!!*#4!IXtBT`b>O^:sLFs1SI5rk8F6^&\/H#6;I<^:jT]!<0\5I/s#8"TR>m -^&\)F%fj -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]g_S]tFFB]`8'3]`8'3]`J2I!;jG0!<0Y4HN_Grk/L9]tFEZ -]`A#E!!*#3!!*#3!!*#3!IFh@U]^YR]tO=Ds1JC4rk/@5]`A&F#6;F;]tFEZ!<0Y4HNl -]`@uD%fj9C]`>aZ!56&G]tFEZ!<0Y9!56&G]tFFE]`8'3]`8'3]`8'/]aOnS!5/BG]`>aZ!5/C3 -]`nJM!56'm!;E8ls5(H&!;sM;!5/BG!56&G]tFFF]`8'2]`eDL!56&Grk/@5]`@rC!IFh@U]g_S -]tFFD]`8'3]`\>K!5/C3]`8'/]a+VO!5/BG!5/C3]`J2I!<0Y7!56'm!;E8ls5(H&!;sM1!<0Y7 -!5/BG!<0Y3!;aA/!<'S2!;sM1!<0Y5!5/C3]`J2I!;sM1!;jG1HN -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]g_S]tFFC]aFhR!56&G]tFCG]`A&F!s$$J!<0Y4HN_Grk/L9 -]tFEZ]`A#E!!*#3#lqX=]tFEZ]mBbRU]^YR]`@uD%KO0B!56&G]`8&G]`>_Grk/:3rOi5Y!;E8l -s5(H&!;sM@!5/BG!56&G]tFEZ]`>_Grk/L9]tFEZ]`A#E!!*#3#QVO<]tFEZ]`A&F(')#J]`>aZ -!56&G]`8&G]`>_G]tJampS7rlhS$T&r4NF;]`>_G]tFEZ]`A&F!!)r1!!*#3rrE)4!W]n6rk/F7 -]tJampS7rlhS$T&r4N(1rk/R;]`>_G]tFCGq7Qb.rk/C6]tFFF]a=bQ!56&G!56'm!;E8ls5(H& -!;sM1!<0Y;!5/BG!56&G!;aA/!<'S2!<0YA!5/BG]`8&G!56&G!5/C3]`J2I!<0Y7!56'm!:-E] -@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`kDP^:jUE^'aqT!5?/I^:jRI^&\/H!s$'L!<0\5I/s#8#63Po^&YkIrk8R: -^:jT]^&\,G!!*#4#lq[>^:jT]^3p"UT`b>O^&\)F%KO3C!5?/I^&S/I^&YkIrk8@4rOr;\!;E/i -s5(K(!;sPA!58HI!5?/I^:jT]^&YkIrk8R:^:jT]^&\,G!!*#4#QVR=^:jT]^&\/H(')&K^&Ym] -!5?/I^&S/I^&YkI^:o!qpRq`ihS-](r4WL<^&YkI^:jT]^&\/H!!)r2!!*#4rrE)5!W]q7rk8L8 -^:o!qpRq`ihS-](r4W.2rk8X<^&YkI^:jRIq7Zh/rk8I7^:jUH^'XkS!5?/I!5?0q!;E/is5(K( -!;sP2!<0\laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]g_S]tFFC]aFhR!56&G]tFCG]`A&F!s$$J!<0Y4HN_Grk/L9 -]tFEZ]`A#E!!*#3#lqX=]tFEZ]mBbRU]^YR]`@uD%KO0B!56&G]`8&G]`>_Grk/:3rOi5Y!;E8l -s5(H&!;sM@!5/BG!56&G]tFEZ]`>_Grk/L9]tFEZ]`A#E!!*#3#QVO<]tFEZ]`A&F(')#J]`>aZ -!56&G]`8&G]`>_G]tJampS7rlhS$T&r4NF;]`>_G]tFEZ]`A&F!!)r1!!*#3rrE)4!W]n6rk/F7 -]tJampS7rlhS$T&r4N(1rk/R;]`>_G]tFCGq7Qb.rk/C6]tFFF]a=bQ!56&G!56'm!;E8ls5(H& -!;sM1!<0Y;!5/BG!56&G!;aA/!<'S2!<0YA!5/BG]`8&G!56&G!5/C3]`J2I!<0Y7!56'm!:-E] -=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]^YR]tO=D!PJL4]a+VO]`8&G!56)F!<'S6!56'm!;E8ns5(H&!5/C3]`8'3 -]`J2I!;sP0!<0\3!<0Y4HN_G]tFEZ]`>aZ!5/C3]`8'3]`J2I!;sP0!<0\3!<'V1!<9_H!5/BG]`>aZ!5/BG!!'^G -!56'm!;E8ks5(H&qu@,aZHNl]`@rCrW)u3"ou?M!!'\4 -qRlk/r4W(0rk8=3$,$>P]`8&G!56)F!<0\2!<0Y4HN -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`b>O^:sLF!PSR5^'F_Q^&S/I!5?2H!<'V7!5?0q!;E/ks5(K(!58I4^&S04 -^&e;K!;sS1!<0_4!<0\5I/s#8"975l!;sP@!58HI!!'aI!58F5^:jUH^&S03^&`W^pRq]hhS-`% -!"cjE^&YkI^:jT]^&Ym]!58I4^&S04^&e;K!;sS1!<0_4!<'Y2!<9bI!58HI^&Ym]!58HI!!'aI -!5?0q!;E/hs5(K(qu@,=!58HI!5?/I^:jUH^&S02^&S04^&nAL!!*#4rW)r3!IXtBT`kDP^:jUE -^A\-4^'4SO^&S/I!;X>/!<0\7!5?/Irk8^>^:jRI^&Ym]I/s#8"TR>m^&\&ErW)u4"ouBO!!'_5 -qRuq0r4`.1rkAC4$,-DR^&S/I!5?2H!<0_3!<0\5I/rT,!F5^)Tn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]^YR]tO=D!PJL4]a+VO]`8&G!56)F!<'S6!56'm!;E8ns5(H&!5/C3]`8'3 -]`J2I!;sP0!<0\3!<0Y4HN_G]tFEZ]`>aZ!5/C3]`8'3]`J2I!;sP0!<0\3!<'V1!<9_H!5/BG]`>aZ!5/BG!!'^G -!56'm!;E8ks5(H&qu@,aZHNl]`@rCrW)u3"ou?M!!'\4 -qRlk/r4W(0rk8=3$,$>P]`8&G!56)F!<0\2!<0Y4HN -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPik5A>!;E8is5)bK!IFh@U]LMPpq6Y-r4N(1q7Qb.r4N,X!;E8is5(N( -!!)i.!IFh@U]LMPk.L`prOi12ot:BQ!;E8is5),9!IFh@U]LMP_7]kr!:-E]@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2Mik>GA!;E/fs5)bL!IXtBT`P2Mpq?_.r4W.2q7Zh/r4W2[!;E/fs5(N) -!!)i/!IXtBT`P2Mk.UfqrOr73otCHT!;E/fs5),:!IXtBT`P2M_7fqu!:-laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPik5A>!;E8is5)bK!IFh@U]LMPpq6Y-r4N(1q7Qb.r4N,X!;E8is5(N( -!!)i.!IFh@U]LMPk.L`prOi12ot:BQ!;E8is5),9!IFh@U]LMP_7]kr!:-E]=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPik5A>!;E8is5)bK!IFh@U]LMPpq6Y-r4N(1q7Qb.r4N,X!;E8is5(N( -!!)i.!IFh@U]LMPk.L`prOi12ot:BQ!;E8is5*(TqZ,ur!IFh@U]LMPlb3/qh7Wi9!:-E]@K?D' -J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2Mik>GA!;E/fs5)bL!IXtBT`P2Mpq?_.r4W.2q7Zh/r4W2[!;E/fs5(N) -!!)i/!IXtBT`P2Mk.UfqrOr73otCHT!;E/fs5*(UqZ,us!IXtBT`P2Mlb<5rh7`olakt -J,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPik5A>!;E8is5)bK!IFh@U]LMPpq6Y-r4N(1q7Qb.r4N,X!;E8is5(N( -!!)i.!IFh@U]LMPk.L`prOi12ot:BQ!;E8is5*(TqZ,ur!IFh@U]LMPlb3/qh7Wi9!:-E]=oePt -J,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPik5A>!;E8is5)bK!IFh@U]LMPj1PJ?!;E8is5(2t!IFh@U]LMPe@bm0 -!;E8is5),9!IFh@U]LMP_7]kr!:-E]@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2Mik>GA!;E/fs5)bL!IXtBT`P2Mj1YPB!;E/fs5(2u!IXtBT`P2Me@ks3 -!;E/fs5),:!IXtBT`P2M_7fqu!:-laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPik5A>!;E8is5)bK!IFh@U]LMPj1PJ?!;E8is5(2t!IFh@U]LMPe@bm0 -!;E8is5),9!IFh@U]LMP_7]kr!:-E]=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPik5A>!;E8is5)bK!IFh@U]LMPj1PJ?!;E8is5(2t!IFh@U]LMPe@bm0 -!;E8is5),9!IFh@U]LMP_7]kr!:-E]@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2Mik>GA!;E/fs5)bL!IXtBT`P2Mj1YPB!;E/fs5(2u!IXtBT`P2Me@ks3 -!;E/fs5),:!IXtBT`P2M_7fqu!:-laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPik5A>!;E8is5)bK!IFh@U]LMPj1PJ?!;E8is5(2t!IFh@U]LMPe@bm0 -!;E8is5),9!IFh@U]LMP_7]kr!:-E]=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPik5A>!;E8is5)bK!IFh@U]LMPj1PJ?!;E8is5(2t!IFh@U]LMPe@bm0 -!;E8is5),9!IFh@U]LMP_7]kr!:-E]@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2Mik>GA!;E/fs5)bL!IXtBT`P2Mj1YPB!;E/fs5(2u!IXtBT`P2Me@ks3 -!;E/fs5),:!IXtBT`P2M_7fqu!:-laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPik5A>!;E8is5)bK!IFh@U]LMPj1PJ?!;E8is5(2t!IFh@U]LMPe@bm0 -!;E8is5),9!IFh@U]LMP_7]kr!:-E]=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LLsiHkP)pS7iiXPnL+!;E8is/b4,!!)bh!WT7/HN4'?U]LLsdsD&ppS7ii -XNu4n!;E8is/a"_!!)>\!Fc'.Ujr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P1riI(\+pRqWfY2Od/!;E/fs/t@0!!)be!WT=1I/j9AT`P1rdsV2rpRqWf -Y0VLr!;E/fs/s.c!!)>Y!F5^)Tn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LLsiHkP)pS7iiXPnL+!;E8is/b4,!!)bh!WT7/HN4'?U]LLsdsD&ppS7ii -XNu4n!;E8is/a"_!!)>\!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]@LR!;E8hXPX$PU]@LS!;E8hXKqp$U]@LD!;E8hXN^b>U]@L1!:-E]@K?D' -J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`D7Q!;E/eY296RT`D7R!;E/eY-S-&T`D7C!;E/eY0?t@T`D70!:-lakt -J,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]@LR!;E8hXPX$PU]@LS!;E8hXKqp$U]@LD!;E8hXN^b>U]@L1!:-E]=oePt -J,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hYt1j=o\P+rOiAL!<:SYec)?E@fj?s4)[rJY[jmaeSrH! -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhYt4k>lXk1rOrGP!<:JQdf,p??2_V@JH1ki#GM1GTj7Zu -hY+YcD#jUar1O-sdeBF9s3cIlJY@Xgae8`@! -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhYt1j=o\P+rOiAL!<:SQec)?E>5c,8HN95c#GhCMUfmcu -hY+VbC&n:ar1j?seb>j?s4)[rJY[jmaeSr@! -rOi3]rhKX*eRAN0hLXO?h@BS9Uga?(hS$U+!'*qTMuLBnC&n:a@b(IR!+Po?!IFg0h?TkVeYHXS -s5*I_")7i9ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h@BS6Tj7ZuhS-^0!'!tYL&SdiD#jUa?./_G!+#Q?!J(66h?TbSd\0qH -s5*I`")S&?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h@BS9UfmcuhS$U+!&7ALKDrOfC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@K -s5*I_")7i9ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h@BS9Uga?(hS$T&3Dt4*XT#m:C&n:a@b(IR!+Po?!IFg0h?TkVeYHXS -s5*I_")7i9ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h@BS6Tj7ZuhS-](3)tC,WrB^9D#jUa?./_G!+#Q?!J(66h?TbSd\0qH -s5*I`")S&?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h@BS9UfmcuhS$T&0iE@oV#J%2C&n:a>1NVJ!*]?7!IFg0h?TkVeYH@K -s5*I_")7i9ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h@BS9Uga?(hS$T&;L>MFs8K\8C&n:a@b(IR!+Po?!IFg0h?TkVeYHXS -s5*I_")7i9ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h@BS6Tj7ZuhS-](?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h@BS9UfmcuhS$T&;L>5>s8K\8C&n:a>1NVJ!*]?7!IFg0h?TkVeYH@K -s5*I_")7i9ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h@BS9Uga?(hS$U+;QTouhYt1lC&n:a@b(IR!+Po?!IFg0h?TkVeYHXS -s5*I_")7i9ebl3D@b(4K!WU^JUrr];XS8OTrrB.pUt,JFXS8O:rrB.pUoaRrXS8NlrrB.VU]Fp) -rhP&~> -rPAQ_rh0F"dTlj(hLXO?h@BS6Tj7ZuhS-^0?./J@!WUUGU!!B8Y4nXSrrB4rU"0/CY4nX9rrB4rTre7oY4nWkrrB4XT`JF! -rh4i~> -rOi3]rhKX"eQMs(hLXO?h@BS9UfmcuhS$U+;Pa?mhYt1lC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@K -s5*I_")7i9ebl3D>1NAC!WU^JUrr];XS8OTrrB.pUt,JFXS8O:rrB.pUoaRrXS8NlrrB.VU]FX! -rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hYt1jMlcs8rOiAL!<:SYec)?E@fj?s4.%C!<::"!NZ:qU]CG\h>s\XpS7fhfA6P0!;E8hs3][(X8r!j!<94Y -!NZ:qU]CFth>s\Xh4t'\! -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhYt4kKrY10rOrGP!<:JQdf,p??2_V@JH1ki#GM1GTj7Zu -hY+YcD#jUar1O-sdeBF9s3gh=!<::"!NlFsT`G,Yh>sbZpRqTefA6P2!;E/es3][(XoS3i!<94Y -!NlFsT`G+qh>sbZh4XjT! -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhYt1jK;AP(rOiAL!<:SQec)?E>5c,8HN95c#GhCMUfmcu -hY+VbC&n:ar1j?seb>j?s4.%C!<::"!NZ:qU]CG\h>s\XpS7fhfA6P0!;E8hs3][(X8r!j!<94Y -!NZ:qU]CFth>s\Xh4t'T! -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPc+O.)!;E8is5*+U!IFh@U]LMPfY%<4!;E8is5)2;!IFh@U]LMPYIss` -!;E8is5'rm!IFh&U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2Mc+X4,!;E/fs5*+V!IXtBT`P2MfY.B7!;E/fs5)2 -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPc+O.)!;E8is5*+U!IFh@U]LMPfY%<4!;E8is5)2;!IFh@U]LMPYIss` -!;E8is5'rm!IFh&U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPc+O.)!;E8is5*+U!IFh@U]LMPfY%<4!;E8is5)2;!IFh@U]LMPYIss` -!;E8is5'rm!IFh&U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2Mc+X4,!;E/fs5*+V!IXtBT`P2MfY.B7!;E/fs5)2 -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPc+O.)!;E8is5*+U!IFh@U]LMPfY%<4!;E8is5)2;!IFh@U]LMPYIss` -!;E8is5'rm!IFh&U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPc+O.)!;E8is5*+U!IFh@U]LMPfY%<4!;E8is5)2;!IFh@U]LMPYIss` -!;E8is5'rm!IFh&U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2Mc+X4,!;E/fs5*+V!IXtBT`P2MfY.B7!;E/fs5)2 -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPc+O.)!;E8is5*+U!IFh@U]LMPfY%<4!;E8is5)2;!IFh@U]LMPYIss` -!;E8is5'rm!IFh&U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPc+O.)!;E8is5*+U!IFh@U]LMPfY%<4!;E8is5)2;!IFh@U]LMPYIss` -!;E8is5'rm!IFh&U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2Mc+X4,!;E/fs5*+V!IXtBT`P2MfY.B7!;E/fs5)2 -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPc+O.)!;E8is5*+U!IFh@U]LMPfY%<4!;E8is5)2;!IFh@U]LMPYIss` -!;E8is5'rm!IFh&U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]^YR]tO=DqRlk/r4N(1ot:>*o">/+]tJampS7iihYk.d!;*r*HN#'m_&XJ!8XFO@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`b>O^:sLFqRuq0r4W.2otCD+o"G5,^:o!qpRqWfhYk1e!;*u+I/s#8!WV$T -^AS'3^&S/n^&`W^pRq`ihS-](hS&siq7ZlX!;E/hs5(K(r;c2u!!)Z*rW)u4!!)T(!!)H$!IXtB -T`b>O^:sOGm(NH"oY1;)s1SI5o"G)(m_/^M!8X=L>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]^YR]tO=DqRlk/r4N(1ot:>*o">/+]tJampS7iihYk.d!;*r*HN#'m_&XJ!8XFO=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]g_S]tFF>]`8'1]`8&o]`\>K]mBbRU]LMPrk/:3rOi12q7Qb.rk/>Z!;E8i -s5*ag!!)u2!W]n6j1PJ?!;E8ls5(H&!;4#*!:.;u!;X;/HNl]`A&F!!);t!!)f-!!*#3 -!!)N%!!)H#!IFh@U]g_S]tFFF]`8&t]`8'-]`8'3]`8'%]`8'#]`EH[h4t'\! -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`kDP^:jU@^&S02^&S/p^'"GM^3p"UT`P2Mrk8@4rOr73q7Zh/rk8D]!;E/f -s5*ah!!)u3!W]q7j1YPB!;E/is5(K(!;4&+!:.?!!;X>0I/s#8"TR>m^&\/H!!);u!!)f.!!*#4 -!!)N&!!)H$!IXtBT`kDP^:jUH^&S/u^&S0.^&S04^&S0&^&S0$^&`W^h4XjT! -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]g_S]tFF>]`8'1]`8&o]`\>K]mBbRU]LMPrk/:3rOi12q7Qb.rk/>Z!;E8i -s5*ag!!)u2!W]n6j1PJ?!;E8ls5(H&!;4#*!:.;u!;X;/HNl]`A&F!!);t!!)f-!!*#3 -!!)N%!!)H#!IFh@U]g_S]tFFF]`8&t]`8'-]`8'3]`8'%]`8'#]`EH[h4t'T! -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]g_S]tFF>]`8'1]`8&o]`\>K]mBbRU]g_S]tFF;]`8'3]`EH[pS7rlhS$T& -qRlk/j1PJ?!;E8ls5(H&!;4#*!:.;u!;X;/HNl]`A&F!!);t!!)f-!!)B!!!)Z)!!)r1 -!IFh@U]g_S]tFFF]`8&t]`8'-]`8'!]`8'-]`8'-]`EH[h4t'\! -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`kDP^:jU@^&S02^&S/p^'"GM^3p"UT`kDP^:jU=^&S04^&`W^pRq`ihS-]( -qRuq0j1YPB!;E/is5(K(!;4&+!:.?!!;X>0I/s#8"TR>m^&\/H!!);u!!)f.!!)B"!!)Z*!!)r2 -!IXtBT`kDP^:jUH^&S/u^&S0.^&S0"^&S0.^&S0.^&`W^h4XjT! -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]g_S]tFF>]`8'1]`8&o]`\>K]mBbRU]g_S]tFF;]`8'3]`EH[pS7rlhS$T& -qRlk/j1PJ?!;E8ls5(H&!;4#*!:.;u!;X;/HNl]`A&F!!);t!!)f-!!)B!!!)Z)!!)r1 -!IFh@U]g_S]tFFF]`8&t]`8'-]`8'!]`8'-]`8'-]`EH[h4t'T! -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]g_S]tFFC^&A$3]`nJM]`8&G!;X>.!<9_5!58@3&%qrC]tFEZ!!'^G!56'm -!;E8ls5(H&!;aA/!<0Y4!58@3s1JG[!;E8ls5(H&!;aA2!5/@4rk8:2s1JL7]`8'3^&J'7]`>aZ -rW)r2!IFh@U]g_S]tFFC^&A$3^&A#u]`eDL!5/@4rk/>Z!;E8ls5(H&!<0Y5!56)F!<9_B!56&G -]tFEZ!5/@4]`>bF!<9b3!<0Y3!;sM2!58@3$bZN?]tFEZ!!'^G!;!l(!<'S3HNl]`A&F -!W]pIrW)u3%KO2U!56&G]`>_G!5/BGrW)u3rW)r2!!)r1! -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`kDP^:jUE^A\-4^'4SO^&S/I!;XA/!<9b6!5AF4&&&#D^:jT]!!'aI!5?0q -!;E/is5(K(!;aD0!<0\5!5AF4s1SM^!;E/is5(K(!;aD3!58F5rkA@3s1SR8^&S04^Ae08^&Ym] -rW)r3!IXtBT`kDP^:jUE^A\-4^A\-!^'+MN!58F5rk8D]!;E/is5(K(!<0\6!5?2H!<9bC!5?/I -^:jT]!58F5^&YnH!<9e4!<0\4!;sP3!5AF4$bcT@^:jT]!!'aI!;!o)!<'V4I/s#8"TR>m^&\/H -!W]sKrW)u4%KO5W!5?/I^&YkI!58HIrW)u4rW)r3!!)r2! -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]g_S]tFFC^&A$3]`nJM]`8&G!;X>.!<9_5!58@3&%qrC]tFEZ!!'^G!56'm -!;E8ls5(H&!;aA/!<0Y4!58@3s1JG[!;E8ls5(H&!;aA2!5/@4rk8:2s1JL7]`8'3^&J'7]`>aZ -rW)r2!IFh@U]g_S]tFFC^&A$3^&A#u]`eDL!5/@4rk/>Z!;E8ls5(H&!<0Y5!56)F!<9_B!56&G -]tFEZ!5/@4]`>bF!<9b3!<0Y3!;sM2!58@3$bZN?]tFEZ!!'^G!;!l(!<'S3HNl]`A&F -!W]pIrW)u3%KO2U!56&G]`>_G!5/BGrW)u3rW)r2!!)r1! -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]^YR]tO@Es1JC4rk/R;]`>_G]tFCGqRmaH]tFEZ!5/BG]`>aZ!5/@4]tFEZ -!56'm!;E8ls5(H&!;aA/!<0Y6!56&Grk/>Z!;E8ls5(H&!;aD/!<9_4!;sM?!5/@4]tFEZ!56&G -!5/C3]`\>K]mBbRU]g_S]tFFD]`8'3]`S8J]`@B3$37a>!56&G]tJampS7okhS$W$!<9_4!<0Y> -!5/BG]`>aZ!5/@4rk/L9]tFEZ]`A&F!!*#3rW)u3&-0BD]tFEZ]`>_G!56&G]`@W:!!*#3!IFh@ -U]^YR]tO@Es1JC4rk/[>]`>aZ!56&G]`8'3]`nJM]`>aZ!<0Y3!<0\2!<9_D!5/BG]`>aZ!5/@4 -]tFEZ!;aA/!;=),HN;lt!Fc'.Ujr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`b>O^:sOGs1SI5rk8X<^&YkI^:jRIqS!gI^:jT]!58HI^&Ym]!58F5^:jT] -!5?0q!;E/is5(K(!;aD0!<0\7!5?/Irk8D]!;E/is5(K(!;aG0!<9b5!;sP@!58F5^:jT]!5?/I -!58I4^'"GM^3p"UT`kDP^:jUF^&S04^&nAL^&[K5$37d?!5?/I^:o!qpRq]hhS-`&!<9b5!<0\? -!58HI^&Ym]!58F5rk8R:^:jT]^&\/H!!*#4rW)u4&-0EE^:jT]^&YkI!5?/I^&[`O^:sOGs1SI5rk8a?^&Ym]!5?/I^&S04^'4SO^&Ym]!<0\4!<0_3!<9bE!58HI^&Ym]!58F5 -^:jT]!;aD0!;=,-I/r)s!F5^)Tn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]^YR]tO@Es1JC4rk/R;]`>_G]tFCGqRmaH]tFEZ!5/BG]`>aZ!5/@4]tFEZ -!56'm!;E8ls5(H&!;aA/!<0Y6!56&Grk/>Z!;E8ls5(H&!;aD/!<9_4!;sM?!5/@4]tFEZ!56&G -!5/C3]`\>K]mBbRU]g_S]tFFD]`8'3]`S8J]`@B3$37a>!56&G]tJampS7okhS$W$!<9_4!<0Y> -!5/BG]`>aZ!5/@4rk/L9]tFEZ]`A&F!!*#3rW)u3&-0BD]tFEZ]`>_G!56&G]`@W:!!*#3!IFh@ -U]^YR]tO@Es1JC4rk/[>]`>aZ!56&G]`8'3]`nJM]`>aZ!<0Y3!<0\2!<9_D!5/BG]`>aZ!5/@4 -]tFEZ!;aA/!;=),HN;lt!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]g_S]tFFD]`8'3]`\>K!5/C3]`8'.]`8'3]a=bQ!56&G]tFEZ!<0Y9!5/BG -]mBbRU]g_S]tFFB]`8'3]`S8J]`A&F!IFh@U]g_S]tFFB]`8'3]`J2I^&7p3]`A&F!W]n6rk/=4 -^&.m1]`EH[pS7rlhS$T&r4W".s1JC4lb*?"]`A&F"9?-KHN_Grk840$,$>P!5/BG -!5/C2]`eDL]`>aZquHW-$ims@]`>aZ!56&G]`A&F!W]n6qRue,rOi=6]tJampS8#nhS$T&]`A&F -qu@&:!5/BG!5/BG!<'S7!56&G]tO=Dqn3C<]`>_G]tFEZ]`>_Grk/@5]`@rC!!)r1quHc1!IFh& -U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`kDP^:jUF^&S04^'"GM!58I4^&S0/^&S04^'XkS!5?/I^:jT]!<0\:!58HI -^3p"UT`kDP^:jUD^&S04^&nAL^&\/H!IXtBT`kDP^:jUD^&S04^&e;K^AS$4^&\/H!W]q7rk8C5 -^AJ!2^&`W^pRq`ihS-](r4`(/s1SI5lb3E#^&\/H"9?0MI/s#8#63Po^&YkIrkA:1$,-DR!58HI -!58I3^'+MN^&Ym]quHW.$in!A^&Ym]!5?/I^&\/H!W]q7qS)k-rOrC7^:o!qpRqfkhS-](^&\/H -qu@&;!58HI!58HI!<'V8!5?/I^:sLFqn -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]g_S]tFFD]`8'3]`\>K!5/C3]`8'.]`8'3]a=bQ!56&G]tFEZ!<0Y9!5/BG -]mBbRU]g_S]tFFB]`8'3]`S8J]`A&F!IFh@U]g_S]tFFB]`8'3]`J2I^&7p3]`A&F!W]n6rk/=4 -^&.m1]`EH[pS7rlhS$T&r4W".s1JC4lb*?"]`A&F"9?-KHN_Grk840$,$>P!5/BG -!5/C2]`eDL]`>aZquHW-$ims@]`>aZ!56&G]`A&F!W]n6qRue,rOi=6]tJampS8#nhS$T&]`A&F -qu@&:!5/BG!5/BG!<'S7!56&G]tO=Dqn3C<]`>_G]tFEZ]`>_Grk/@5]`@rC!!)r1quHc1!IFh& -U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]g_S]tFFD]`8'3]`\>K!5/C3]`8'-]aXtT]`>_G]tFEZ]`>_Grk/L9]`>aZ -HNl]`@oB!!*#3!s$$J!<0Y4HNl]`@oB!!*#3!W]n6rk/@5]`A&F!W]n6rk/@5 -]`@rC!IFh@U]g_S]tFFD]`8'0]`8&u]`J2I!<0Y7!56'm!;E8rs5(H&!56&G]tFFD]a+VO!5/BG -!5/C2]`nJM]`>aZ!;F/8!5/BG!56&G]tFEZ!<0Y5!5/C']`8'3]`EH[pS8/rhS$T&]tFEZ]`@uD -#QVO<]`>_G]`A#E"ou?M!56&GpUpt8]`>_G]tFEZ]`>_Grk/@5]`@oB!!)`+!IFh&U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`kDP^:jUF^&S04^'"GM!58I4^&S0.^'t(V^&YkI^:jT]^&YkIrk8R:^&Ym] -I/s#8"TR>m^&\#D!!*#4!s$'L!<0\5I/s#8"TR>m^&\#D!!*#4!W]q7rk8F6^&\/H!W]q7rk8F6 -^&\&E!IXtBT`kDP^:jUF^&S01^&S0!^&e;K!<0\8!5?0q!;E/os5(K(!5?/I^:jUF^'F_Q!58HI -!58I3^'4SO^&Ym]!;F29!58HI!5?/I^:jT]!<0\6!58I(^&S04^&`W^pRqrohS-](^:jT]^&\)F -#QVR=^&YkI^&\,G"ouBO!5?/IpV%%9^&YkI^:jT]^&YkIrk8F6^&\#D!!)`,!IXt(T`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]g_S]tFFD]`8'3]`\>K!5/C3]`8'-]aXtT]`>_G]tFEZ]`>_Grk/L9]`>aZ -HNl]`@oB!!*#3!s$$J!<0Y4HNl]`@oB!!*#3!W]n6rk/@5]`A&F!W]n6rk/@5 -]`@rC!IFh@U]g_S]tFFD]`8'0]`8&u]`J2I!<0Y7!56'm!;E8rs5(H&!56&G]tFFD]a+VO!5/BG -!5/C2]`nJM]`>aZ!;F/8!5/BG!56&G]tFEZ!<0Y5!5/C']`8'3]`EH[pS8/rhS$T&]tFEZ]`@uD -#QVO<]`>_G]`A#E"ou?M!56&GpUpt8]`>_G]tFEZ]`>_Grk/@5]`@oB!!)`+!IFh&U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]g_S]tFFD]`8'3]a+VO!5/BG]`8'/]bpg`]`>_G]`>aZ!56&G]`8&G]`>_G -]tJampS7iihYt1g!<'S;!5/BG]`8&G]`A&F!IFh@U]LMPrk/:3rOi74]`A&F#QVO<]tFCG]`A&F -#QVO<]tFCG]`A&F"9?-KHNl]`@uD!!*#3!s$$J!:.<"!5/C3]`\>K]mBbRU]g_S]tFFF -]`J2I!<0Y6!56&Grk/C6]tFFE]`nJM]`>aZ!<0Y6!56&Grk/pE]`>_G]tFEZ]`>_G!56&G]`@Z; -!!)u2!IFh@U]g_S]tFFF]`J2I!<0Y6!56&Grk/C6]tFFE]`nJM]`>aZ!<0Y6!56&Grk/pE]`>_G -]tFEZ]`>_G!56&G]`@lA!!)c,!IFh&U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`kDP^:jUF^&S04^'F_Q!58HI^&S00^)6pb^&YkI^&Ym]!5?/I^&S/I^&YkI -^:o!qpRqWfhYt4h!<'Vm^&\)F!!*#4!s$'L!:.?#!58I4^'"GM^3p"UT`kDP^:jUH -^&e;K!<0\7!5?/Irk8I7^:jUG^'4SO^&Ym]!<0\7!5?/Irk9!F^&YkI^:jT]^&YkI!5?/I^&[c= -!!)u3!IXtBT`kDP^:jUH^&e;K!<0\7!5?/Irk8I7^:jUG^'4SO^&Ym]!<0\7!5?/Irk9!F^&YkI -^:jT]^&YkI!5?/I^&[uC!!)c-!IXt(T`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]g_S]tFFD]`8'3]a+VO!5/BG]`8'/]bpg`]`>_G]`>aZ!56&G]`8&G]`>_G -]tJampS7iihYt1g!<'S;!5/BG]`8&G]`A&F!IFh@U]LMPrk/:3rOi74]`A&F#QVO<]tFCG]`A&F -#QVO<]tFCG]`A&F"9?-KHNl]`@uD!!*#3!s$$J!:.<"!5/C3]`\>K]mBbRU]g_S]tFFF -]`J2I!<0Y6!56&Grk/C6]tFFE]`nJM]`>aZ!<0Y6!56&Grk/pE]`>_G]tFEZ]`>_G!56&G]`@Z; -!!)u2!IFh@U]g_S]tFFF]`J2I!<0Y6!56&Grk/C6]tFFE]`nJM]`>aZ!<0Y6!56&Grk/pE]`>_G -]tFEZ]`>_G!56&G]`@lA!!)c,!IFh&U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]g_S]tFFC^&A$3]`nJM]`8&G!;X>.!<9_H!5/BG]`>aZ!5/BG!!'^G!56'm -!;E8is5*^fr;ci1rr<)5!<0Y7!56'm!;E8is5*^fr;cl2!!*#3#QVQO!!'\4]`A&F#QVQO!!'\4 -]tOCFrk/>Z!;E8ks5(H&quHc1rW)o1!!)l/"ou?M!56&GqRlq1]`A&F"9?-KHNl]`A&F -!W]pIrW)r2!!*#3!s$$J!<'S2!<0Y5!56)F!<'V1!<9_D!5/BG]`>aZ!5/BG!!'^G!;*r)!;sM2 -HNl]`A&F!W]pIrW)r2!!*#3!s$$J!<'S2!<0Y5!56)F!<'V1!<9_D!5/BG]`>aZ!5/BG -!!'^G!;O5-!;O5.HN;lt!Fc'.Ujr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`kDP^:jUE^A\-4^'4SO^&S/I!;XA/!<9bI!58HI^&Ym]!58HI!!'aI!5?0q -!;E/fs5*^gr;ci2rr<)6!<0\8!5?0q!;E/fs5*^gr;cl3!!*#4#QVTQ!!'_5^&\/H#QVTQ!!'_5 -^:sRHrk8D]!;E/hs5(K(quHc2rW)o2!!)l0"ouBO!5?/IqS!"2^&\/H"9?0MI/s#8"TR>m^&\/H -!W]sKrW)r3!!*#4!s$'L!<'V3!<0\6!5?2H!<'Y2!<9bE!58HI^&Ym]!58HI!!'aI!;*u*!;sP3 -I/s#8"TR>m^&\/H!W]sKrW)r3!!*#4!s$'L!<'V3!<0\6!5?2H!<'Y2!<9bE!58HI^&Ym]!58HI -!!'aI!;O8.!;O8/I/r)s!F5^)Tn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]g_S]tFFC^&A$3]`nJM]`8&G!;X>.!<9_H!5/BG]`>aZ!5/BG!!'^G!56'm -!;E8is5*^fr;ci1rr<)5!<0Y7!56'm!;E8is5*^fr;cl2!!*#3#QVQO!!'\4]`A&F#QVQO!!'\4 -]tOCFrk/>Z!;E8ks5(H&quHc1rW)o1!!)l/"ou?M!56&GqRlq1]`A&F"9?-KHNl]`A&F -!W]pIrW)r2!!*#3!s$$J!<'S2!<0Y5!56)F!<'V1!<9_D!5/BG]`>aZ!5/BG!!'^G!;*r)!;sM2 -HNl]`A&F!W]pIrW)r2!!*#3!s$$J!<'S2!<0Y5!56)F!<'V1!<9_D!5/BG]`>aZ!5/BG -!!'^G!;O5-!;O5.HN;lt!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPf"D%`q7QfU!;E8is5*+U!IFh@U]LMPiOo3kq7QfU!;E8is5)2;!IFh@ -U]LMPah7ZSke."D!;E8is5(l2!!)5r!IFh&U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2Mf"M+aq7ZlX!;E/fs5*+V!IXtBT`P2MiP#9lq7ZlX!;E/fs5)2 -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPf"D%`q7QfU!;E8is5*+U!IFh@U]LMPiOo3kq7QfU!;E8is5)2;!IFh@ -U]LMPah7ZSke."D!;E8is5(l2!!)5r!IFh&U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPlb3/qo">#'q7QfU!;E8is5*+U!IFh@U]LMPjLtNmpq6]T!;E8is5)2; -!IFh@U]LMPah7ZSke."D!;E8is5(l2!!)5r!IFh&U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2Mlb<5ro"G)(q7ZlX!;E/fs5*+V!IXtBT`P2MjM(Tnpq?cW!;E/fs5)2< -!IXtBT`P2Mah@`Tke7(G!;E/fs5(l3!!)5s!IXt(T`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPlb3/qo">#'q7QfU!;E8is5*+U!IFh@U]LMPjLtNmpq6]T!;E8is5)2; -!IFh@U]LMPah7ZSke."D!;E8is5(l2!!)5r!IFh&U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPc+O.)!;E8is5*+U!IFh@U]LMPfY%<4!;E8is5)2;!IFh@U]LMPYIss` -!;E8is5'rm!IFh&U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2Mc+X4,!;E/fs5*+V!IXtBT`P2MfY.B7!;E/fs5)2 -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPc+O.)!;E8is5*+U!IFh@U]LMPfY%<4!;E8is5)2;!IFh@U]LMPYIss` -!;E8is5'rm!IFh&U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPc+O.)!;E8is5*+U!IFh@U]LMPfY%<4!;E8is5)2;!IFh@U]LMPYIss` -!;E8is5'rm!IFh&U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2Mc+X4,!;E/fs5*+V!IXtBT`P2MfY.B7!;E/fs5)2 -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPc+O.)!;E8is5*+U!IFh@U]LMPfY%<4!;E8is5)2;!IFh@U]LMPYIss` -!;E8is5'rm!IFh&U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPc+O.)!;E8is5*+U!IFh@U]LMPfY%<4!;E8is5)2;!IFh@U]LMPYIss` -!;E8is5'rm!IFh&U]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2Mc+X4,!;E/fs5*+V!IXtBT`P2MfY.B7!;E/fs5)2 -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPc+O.)!;E8is5*+U!IFh@U]LMPfY%<4!;E8is5)2;!IFh@U]LMPYIss` -!;E8is5'rm!IFh&U]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LLsb^0 -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P1rb^BHkpRqWfY3UK9!;E/fs/st%!!)be!WT=MI/j9AT`P1rY'g9MpRqWf -Y-*0Q!8X=L>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LLsb^0 -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]@L=!;E8hXQ]`ZU]@LH!;E8hXNpn@U]@Kt!;E8hXK2EXU]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`D7r\T`D7G!;E/eY0R+BT`D6s!;E/eY,hWZT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]@L=!;E8hXQ]`ZU]@LH!;E8hXNpn@U]@Kt!;E8hXK2EXU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JUtG\IXS8O.rrB.pUrNE7XS8O@rrB.pUso>DXS8O+rrB. -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGU"KAFY4nX-rrB4rTuR*4Y4nX?rrB4rU!s#AY4nX*rrB4>T`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JUtG\IXS8O.rrB.pUrNE7XS8O@rrB.pUso>DXS8O+rrB. -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]CGKh>s\XpS7fh`SLWs!;E8hs2a$tX8r!j!<:[-!NZ:qU]CGFh>s\XpS7fh -_VP -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`G,Hh>sbZpRqTe`SLWu!;E/es2a$tXoS3i!<:[-!NlFsT`G,Ch>sbZpRqTe -_VPlaktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]CGKh>s\XpS7fh`SLWs!;E8hs2a$tX8r!j!<:[-!NZ:qU]CGFh>s\XpS7fh -_VP -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPgV!W7!;E8is5(c/!IFh@U]LMPah7_%!;E8is5)DA!IFh@U]LMPf"D*2 -!;E8is5(Z,!IFgaU]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2MgV*]:!;E/fs5(c0!IXtBT`P2Mah@e(!;E/fs5)DB!IXtBT`P2Mf"M05 -!;E/fs5(Z-!IXscT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPgV!W7!;E8is5(c/!IFh@U]LMPah7_%!;E8is5)DA!IFh@U]LMPf"D*2 -!;E8is5(Z,!IFgaU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPgV!W7!;E8is5(c/!IFh@U]LMPah7_%!;E8is5)DA!IFh@U]LMPf"D*2 -!;E8is5(Z,!IFgaU]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2MgV*]:!;E/fs5(c0!IXtBT`P2Mah@e(!;E/fs5)DB!IXtBT`P2Mf"M05 -!;E/fs5(Z-!IXscT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPgV!W7!;E8is5(c/!IFh@U]LMPah7_%!;E8is5)DA!IFh@U]LMPf"D*2 -!;E8is5(Z,!IFgaU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPgV!W7!;E8is5(c/!IFh@U]LMPah7_%!;E8is5)DA!IFh@U]LMPf"D*2 -!;E8is5(Z,!IFgaU]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2MgV*]:!;E/fs5(c0!IXtBT`P2Mah@e(!;E/fs5)DB!IXtBT`P2Mf"M05 -!;E/fs5(Z-!IXscT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPgV!W7!;E8is5(c/!IFh@U]LMPah7_%!;E8is5)DA!IFh@U]LMPf"D*2 -!;E8is5(Z,!IFgaU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPgV!W7!;E8is5(c/!IFh@U]LMPah7_%!;E8is5)DA!IFh@U]LMPf"D*2 -!;E8is5(Z,!IFgaU]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2MgV*]:!;E/fs5(c0!IXtBT`P2Mah@e(!;E/fs5)DB!IXtBT`P2Mf"M05 -!;E/fs5(Z-!IXscT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPgV!W7!;E8is5(c/!IFh@U]LMPah7_%!;E8is5)DA!IFh@U]LMPf"D*2 -!;E8is5(Z,!IFgaU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPrOi12rOi12ke.*!]tJampS7okhS$W$!6i+WHN -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2MrOr73rOr73ke70"^:o!qpRq]hhS-`&!6i.XI/s#8!rq,kquH#r!!)r2 -!!)l0!!)]+!IXtBT`b>O^:sOGo=b2)mCiUL!;E/is5(K(!;aD0!:[]&!;!o*I/s#8"975l^AS'2 -^&S0&^&S0.^&S/t^&`W^_k@*:! -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPrOi12rOi12ke.*!]tJampS7okhS$W$!6i+WHN -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*ag"'P[) ->5c,:C&n:ar1j@&eb>j?s4.%C!WV$T]`8'2]`8&r]`\>K]mBbRU]g_S]tFFF]`8&W]`EH[pS7ii -hYt1g!9Llo!;*r)!;O5.HNl]`A&F!!)Z)!!)E"!IFh@U]g_S]tFF3]`8'%]`EH[pS7rl -hS$T&rk/:3e@bh^pq6]T!5kT5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*ah"'km, -?2_J>D#jUar1O-sdeBF9s3gh=!WV$T^&S03^&S/s^'"GM^3p"UT`kDP^:jUH^&S/X^&`W^pRqWf -hYt4h!9Lop!;*u*!;O8/I/s#8"TR>m^&\/H!!)Z*!!)E#!IXtBT`kDP^:jU5^&S0&^&`W^pRq`i -hS-](rk8@4e@kn_pq?cW!5kK2>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*ag"'P[) ->5c,:C&n:ar1j?seb>j?s4.%C!WV$T]`8'2]`8&r]`\>K]mBbRU]g_S]tFFF]`8&W]`EH[pS7ii -hYt1g!9Llo!;*r)!;O5.HNl]`A&F!!)Z)!!)E"!IFh@U]g_S]tFF3]`8'%]`EH[pS7rl -hS$T&rk/:3e@bh^pq6]T!5kT5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h@HF^eYHXSs5(H&=o^Q\ -;N(Of")7i9ebl3D@b(4K!WU^JU]LMPrk/@5]`A&F!!)5r"9?-KHNl]`A#E!!(l]`@B3!!)N%!IFh@ -U]g_S]tFFE]`8&_]`8'-]`EH[_k[ -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h@H=[d\0qHs5(K(>lZia -?./J@!WUUGT`P2Mrk8F6^&\/H!!)5s"9?0MI/s#8"TR>m^&\,G!!(m^&[K5!!)N&!IXtB -T`kDP^:jUG^&S/`^&S0.^&`W^_k@*:! -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h@HF^eYH@Ks5(H&=o^9T -;M4t^")7i9ebl3D>1NAC!WU^JU]LMPrk/@5]`A&F!!)5r"9?-KHNl]`A#E!!(l]`@B3!!)N%!IFh@ -U]g_S]tFFE]`8&_]`8'-]`EH[_k[<:! -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h@HF^eYHXSs5(H&!'*r( -XK;E7")7i9ebl3D@b(4K!WU^JU]LMPrk/@5]`A&F!s$"7!<0\3!<9_4!<0YB!5/BG!!'^G!!'\4 -]tJampS7rlhS$T&rOi74]tOCFrk8:2rk8:2s1SC3#e^3<]tFEZ!!*#3rW)r2rrE&3rW)r2!IFh@ -U]LMPrk/:3rk/I8]`8&G^&A$3]`S8J!!*#3rrE)4!l]`A&F!W]pIrW)u3#QVOZ!;E9!s5(H&!5/BG!!'^G -!56)F!<0\2!<9b3!!Bn7]tOCFs1JL7]`8'3]`EH[pS7rlhS$T&rOiC8]`>aZ!!*#3rW)u3"ou=: -!5/BGrW!;=!!'^G!5/BG!!*#3rW)u3rW)u3rW)r2!IFgaU]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h@H=[d\0qHs5(K(!'!u, -WiH'4")S&?./J@!WUUGT`P2Mrk8F6^&\/H!s$%8!<0_4!<9b5!<0\C!58HI!!'aI!!'_5 -^:o!qpRq`ihS-](rOr=5^:sRHrkA@3rkA@3s1\I4#eg9=^:jT]!!*#4rW)r3rrE&4rW)r3!IXtB -T`P2Mrk8@4rk8O9^&S/I^A\-4^&nAL!!*#4rrE)5!m^&\/H!W]sKrW)u4#QVR=!5?/I^:sRHrkA@3rkA@3rk8D]!;E/ss5(K(!58HI!!'aI -!5?2H!<0_3!<9e4!!Bq8^:sRHs1SR8^&S04^&`W^pRq`ihS-](rOrI9^&Ym]!!*#4rW)u4"ou@; -!58HIrW!;>!!'aI!58HI!!*#4rW)u4rW)u4rW)r3!IXscT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h@HF^eYH@Ks5(H&!&7Au -Unn"'")7i9ebl3D>1NAC!WU^JU]LMPrk/@5]`A&F!s$"7!<0\3!<9_4!<0YB!5/BG!!'^G!!'\4 -]tJampS7rlhS$T&rOi74]tOCFrk8:2rk8:2s1SC3#e^3<]tFEZ!!*#3rW)r2rrE&3rW)r2!IFh@ -U]LMPrk/:3rk/I8]`8&G^&A$3]`S8J!!*#3rrE)4!l]`A&F!W]pIrW)u3#QVOZ!;E9!s5(H&!5/BG!!'^G -!56)F!<0\2!<9b3!!Bn7]tOCFs1JL7]`8'3]`EH[pS7rlhS$T&rOiC8]`>aZ!!*#3rW)u3"ou=: -!5/BGrW!;=!!'^G!5/BG!!*#3rW)u3rW)u3rW)r2!IFgaU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h@HF^eYHXSs5(H&!)e0F -s8W)3")7i9ebl3D@b(4K!WU^JU]g_S]tFFF]ab%U]`8&G]`>_G]tFEZ!<0Y6!5/@4rk/R;]tFCG -]tJampS7rlhS$T&rOi74]`A&F!W]n6rk/@5]`A&F&-0BD]tFEZ]`>_G!56&G]`A&F#6;F;]tFEZ -!<0Y7!56'm!;E8is5*ag!!*#3rrDo/'`boI!56&G]`>aZ!5/BG]`>aZ!5/C3]a+VO!56&G]tFFF -]`\>K]mBbRU]^YR]tO@Es1JC4rk/R;]`8&G]`>_Gr4N.3]`A&F!W]n6rk/F7]tJampS8_G]`A&F!W]n6rk/R;]tFEZ]`>_Grk/X=]`8&G]`>aZHNl]`A#E#lqX=]`>aZ -!5/C3]`S8J!!*#3&-0BD]tFEZ]`>_G]`8&G]`@uD"ou?M!56&Grk/F7]tJam_k[ -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h@H=[d\0qHs5(K(!*+HI -s8W)4")S&?./J@!WUUGT`kDP^:jUH^((.W^&S/I^&YkI^:jT]!<0\7!58F5rk8X<^:jRI -^:o!qpRq`ihS-](rOr=5^&\/H!W]q7rk8F6^&\/H&-0EE^:jT]^&YkI!5?/I^&\/H#6;I<^:jT] -!<0\8!5?0q!;E/fs5*ah!!*#4rrDo0'`brJ!5?/I^&Ym]!58HI^&Ym]!58I4^'F_Q!5?/I^:jUH -^'"GM^3p"UT`b>O^:sOGs1SI5rk8X<^&S/I^&YkIr4W44^&\/H!W]q7rk8L8^:o!qpRr)shS-]( -^&S/I^&YkI^&\/H!W]q7rk8X<^:jT]^&YkIrk8^>^&S/I^&Ym]I/s#8"TR>m^&\,G#lq[>^&Ym] -!58I4^&nAL!!*#4&-0EE^:jT]^&YkI^&S/I^&\)F"ouBO!5?/Irk8L8^:o!q_k@*:! -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h@HF^eYH@Ks5(H&!)e0> -s8W)3")7i9ebl3D>1NAC!WU^JU]g_S]tFFF]ab%U]`8&G]`>_G]tFEZ!<0Y6!5/@4rk/R;]tFCG -]tJampS7rlhS$T&rOi74]`A&F!W]n6rk/@5]`A&F&-0BD]tFEZ]`>_G!56&G]`A&F#6;F;]tFEZ -!<0Y7!56'm!;E8is5*ag!!*#3rrDo/'`boI!56&G]`>aZ!5/BG]`>aZ!5/C3]a+VO!56&G]tFFF -]`\>K]mBbRU]^YR]tO@Es1JC4rk/R;]`8&G]`>_Gr4N.3]`A&F!W]n6rk/F7]tJampS8_G]`A&F!W]n6rk/R;]tFEZ]`>_Grk/X=]`8&G]`>aZHNl]`A#E#lqX=]`>aZ -!5/C3]`S8J!!*#3&-0BD]tFEZ]`>_G]`8&G]`@uD"ou?M!56&Grk/F7]tJam_k[<:! -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h@HF^eYHXSs5(H&>#MI% -s5*ag")7i9ebl3D@b(4K!WU^JU]g_S]tFFF]`S8J]`A&F!s$$J!<0Y3!<0Y5!5/C2]`8'3]`\>K -]mBbRU]g_S]tFFE]`A,Hqu?c2!;sM1!<0Y=!5/BG]`>aZ!5/C3]`J2I!<0Y6!56&Grk840s1JG[ -!;E8is5*ag!!*#3!!)r1r;Zl3!<0Y6!56&Grk/mD]tFEZ]`>aZ!5/BG]`>aZ!<0Y5!5/C3]`EH[ -pS8#nhS$T&]`A&Fqu?c2!<0Y7!5/BG^&7p3]`@uDquHc1!IFh@U^$kU]tFEZ!<0Y6!5/BGqu?c2 -!;jG5!56&G]`A&F!W]n6rk/F7]tJampS7rlhS$T&rOi@7]`>aZ!<0Y3!;sM1!<'S>!5/BG]`>aZ -!5/BG!<0Y5!56)E!<9_6!56)D!<9_5HN:sZ!Fc'.Ujr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h@H=[d\0qHs5(K(>udp) -s5*ah")S&?./J@!WUUGT`kDP^:jUH^&nAL^&\/H!s$'L!<0\4!<0\6!58I3^&S04^'"GM -^3p"UT`kDP^:jUG^&\5Jqu?c3!;sP2!<0\>!58HI^&Ym]!58I4^&e;K!<0\7!5?/IrkA:1s1SM^ -!;E/fs5*ah!!*#4!!)r2r;Zl4!<0\7!5?/Irk8sE^:jT]^&Ym]!58HI^&Ym]!<0\6!58I4^&`W^ -pRqfkhS-](^&\/Hqu?c3!<0\8!58HI^AS$4^&\)FquHc2!IXtBTa(PR^:jT]!<0\7!58HIqu?c3 -!;jJ6!5?/I^&\/H!W]q7rk8L8^:o!qpRq`ihS-](rOrF8^&Ym]!<0\4!;sP2!<'V?!58HI^&Ym] -!58HI!<0\6!5?2G!<9b7!5?2F!<9b6I/q0Y!F5^)Tn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h@HF^eYH@Ks5(H&>#M0r -s5*ag")7i9ebl3D>1NAC!WU^JU]g_S]tFFF]`S8J]`A&F!s$$J!<0Y3!<0Y5!5/C2]`8'3]`\>K -]mBbRU]g_S]tFFE]`A,Hqu?c2!;sM1!<0Y=!5/BG]`>aZ!5/C3]`J2I!<0Y6!56&Grk840s1JG[ -!;E8is5*ag!!*#3!!)r1r;Zl3!<0Y6!56&Grk/mD]tFEZ]`>aZ!5/BG]`>aZ!<0Y5!5/C3]`EH[ -pS8#nhS$T&]`A&Fqu?c2!<0Y7!5/BG^&7p3]`@uDquHc1!IFh@U^$kU]tFEZ!<0Y6!5/BGqu?c2 -!;jG5!56&G]`A&F!W]n6rk/F7]tJampS7rlhS$T&rOi@7]`>aZ!<0Y3!;sM1!<'S>!5/BG]`>aZ -!5/BG!<0Y5!56)E!<9_6!56)D!<9_5HN:sZ!EoL&Ujr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*ag",j8\ -hYk+iC&n:ar1j@&eb>j?s4.%C"975k^&.m1]`8'3]`8'3]`S8J]`A&F!W]n6rOi12rk/F7]tJam -pS7rlhS$T&rOi74]`@uD!!)r1!!*#3$37a>]tFEZ]`>_Grk/@5]`A&F!!*#3!s$$J!;jG1HNaZ!5/BG]`>aZ!<0Y5!5/C3]`EH[ -pS8/rhS$T&]tFEZ]`@uD!!*#3"9?+8]`A&F!W]n6r4N(1qn3#W!;E8ns5(H&!5/C3]`\>K!5/C1 -]`8'0]`eDL]`>_Grk/@5]`A&F"9?-KHNl]`A#E!W]n6rk/C6]tFFD]`8'2]aOnS!56&G -]tFEZ!5/C3]`J2I!<0Y9!56&G]tFFC]`EH[_k[ -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*ah",3cT -hYk.jD#jUar1O-sdeBF9s3gh="975l^AJ!2^&S04^&S04^&nAL^&\/H!W]q7rOr73rk8L8^:o!q -pRq`ihS-](rOr=5^&\)F!!)r2!!*#4$37d?^:jT]^&YkIrk8F6^&\/H!!*#4!s$'L!;jJ2I/s#8 -!WV$U^&S04^&S03^&S04^&e;K!<0\4!<0\H!5?/I^:jT]^&Ym]!58HI^&Ym]!<0\6!58I4^&`W^ -pRqrohS-](^:jT]^&\)F!!*#4"9?.9^&\/H!W]q7r4W.2qn<)Z!;E/ks5(K(!58I4^'"GM!58I2 -^&S01^'+MN^&YkIrk8F6^&\/H"9?0MI/s#8"TR>m^&\,G!W]q7rk8I7^:jUF^&S03^'k"U!5?/I -^:jT]!58I4^&e;K!<0\:!5?/I^:jUE^&`W^_k@*:! -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*ag",!EL -hYk+iC&n:ar1j?seb>j?s4.%C"975k^&.m1]`8'3]`8'3]`S8J]`A&F!W]n6rOi12rk/F7]tJam -pS7rlhS$T&rOi74]`@uD!!)r1!!*#3$37a>]tFEZ]`>_Grk/@5]`A&F!!*#3!s$$J!;jG1HNaZ!5/BG]`>aZ!<0Y5!5/C3]`EH[ -pS8/rhS$T&]tFEZ]`@uD!!*#3"9?+8]`A&F!W]n6r4N(1qn3#W!;E8ns5(H&!5/C3]`\>K!5/C1 -]`8'0]`eDL]`>_Grk/@5]`A&F"9?-KHNl]`A#E!W]n6rk/C6]tFFD]`8'2]aOnS!56&G -]tFEZ!5/C3]`J2I!<0Y9!56&G]tFFC]`EH[_k[<:! -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]^YR]`@uD'*,]G!56&G]`>aZ!5/BG]`8&G!<'S:!56&G!56'm!;E8ls5(H& -!<0Y6!56&Grk/@5]`A&F!W]n6rk/jC]`>aZ!56&G]`8&G]`>_Grk/O:]`>aZ!5/C3]`\>K]mBbR -U]LMPrk/:3rk/:3rOiC8]tFCG]`A&F%04'A]tFEZ!56&G]tFFF]`8'3]`S8J]`A#E!!)u2!IFh@ -U]g_S]tFFF]`J2I!<0YC!5/@4]tFEZ!5/BG]`8&G!<0Y5!5/C3]`\>K]mBbRU^$kU]tFEZ!<0Y7 -!5/BG!<0Y5!5/C3]a+VO]`>aZ!5/C3]`J2I!<0Y7!56'm!;E8ls5(H&!<0Y=!56&G]`>aZ!5/C3 -]`J2I!<'S>!5/BG]`>aZ!5/BG!<0Y?!5/BG]`8&G]`>aZ!<0Y7!56'm!5kT5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`b>O^&\)F'*,`H!5?/I^&Ym]!58HI^&S/I!<'V;!5?/I!5?0q!;E/is5(K( -!<0\7!5?/Irk8F6^&\/H!W]q7rk8pD^&Ym]!5?/I^&S/I^&YkIrk8U;^&Ym]!58I4^'"GM^3p"U -T`P2Mrk8@4rk8@4rOrI9^:jRI^&\/H%04*B^:jT]!5?/I^:jUH^&S04^&nAL^&\,G!!)u3!IXtB -T`kDP^:jUH^&e;K!<0\D!58F5^:jT]!58HI^&S/I!<0\6!58I4^'"GM^3p"UTa(PR^:jT]!<0\8 -!58HI!<0\6!58I4^'F_Q^&Ym]!58I4^&e;K!<0\8!5?0q!;E/is5(K(!<0\>!5?/I^&Ym]!58I4 -^&e;K!<'V?!58HI^&Ym]!58HI!<0\@!58HI^&S/I^&Ym]!<0\8!5?0q!5kK2>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]^YR]`@uD'*,]G!56&G]`>aZ!5/BG]`8&G!<'S:!56&G!56'm!;E8ls5(H& -!<0Y6!56&Grk/@5]`A&F!W]n6rk/jC]`>aZ!56&G]`8&G]`>_Grk/O:]`>aZ!5/C3]`\>K]mBbR -U]LMPrk/:3rk/:3rOiC8]tFCG]`A&F%04'A]tFEZ!56&G]tFFF]`8'3]`S8J]`A#E!!)u2!IFh@ -U]g_S]tFFF]`J2I!<0YC!5/@4]tFEZ!5/BG]`8&G!<0Y5!5/C3]`\>K]mBbRU^$kU]tFEZ!<0Y7 -!5/BG!<0Y5!5/C3]a+VO]`>aZ!5/C3]`J2I!<0Y7!56'm!;E8ls5(H&!<0Y=!56&G]`>aZ!5/C3 -]`J2I!<'S>!5/BG]`>aZ!5/BG!<0Y?!5/BG]`8&G]`>aZ!<0Y7!56'm!5kT5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]^YR]`@uD"TZ49]`8'3^&J*3^&J'7]`>_Gr4W+1"haoL]mBbRU]^YR]tO@E -rOr11rk8:2rk8:2s1Jd?]tFEZ]`>_G]`8'3^&A$2^&J*3^&A$2]`EH[pS7iihYt1g!<0Y3!;sP1 -!!Bn7]`A&F#6;HN!!'^G!<0Y5!5/C3]`8'3]`8'3]`8'3]`8'2]`EH[pS7rlhS$T&rk/@5]tOCF -s1JmB]`8&G]`>aZ!!'\4]tOCFrk8:2rk/>Z!;E8ns5(H&!5/C3]`\>K!56)F!<0\2!<'S6!5/BG -^&A$3]`8'3]`\>K]mBbRU]^YR]tO@Erk/F7]tFCGrk8:2s1JC4rOiU>]`>aZ!56&G]`>_Grk/L9 -]tFCG]`A&F!W]pIrW)r2!IFgaU]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`b>O^&\)F"TZ7:^&S04^Ae34^Ae08^&YkIr4`12"hjuN^3p"UT`b>O^:sOG -rP&72rkA@3rkA@3s1Sj@^:jT]^&YkI^&S04^A\-3^Ae34^A\-3^&`W^pRqWfhYt4h!<0\4!;sS2 -!!Bq8^&\/H#6;KP!!'aI!<0\6!58I4^&S04^&S04^&S04^&S03^&`W^pRq`ihS-](rk8F6^:sRH -s1SsC^&S/I^&Ym]!!'_5^:sRHrkA@3rk8D]!;E/ks5(K(!58I4^'"GM!5?2H!<0_3!<'V7!58HI -^A\-4^&S04^'"GM^3p"UT`b>O^:sOGrk8L8^:jRIrkA@3s1SI5rOr[?^&Ym]!5?/I^&YkIrk8R: -^:jRI^&\/H!W]sKrW)r3!IXscT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]^YR]`@uD"TZ49]`8'3^&J*3^&J'7]`>_Gr4W+1"haoL]mBbRU]^YR]tO@E -rOr11rk8:2rk8:2s1Jd?]tFEZ]`>_G]`8'3^&A$2^&J*3^&A$2]`EH[pS7iihYt1g!<0Y3!;sP1 -!!Bn7]`A&F#6;HN!!'^G!<0Y5!5/C3]`8'3]`8'3]`8'3]`8'2]`EH[pS7rlhS$T&rk/@5]tOCF -s1JmB]`8&G]`>aZ!!'\4]tOCFrk8:2rk/>Z!;E8ns5(H&!5/C3]`\>K!56)F!<0\2!<'S6!5/BG -^&A$3]`8'3]`\>K]mBbRU]^YR]tO@Erk/F7]tFCGrk8:2s1JC4rOiU>]`>aZ!56&G]`>_Grk/L9 -]tFCG]`A&F!W]pIrW)r2!IFgaU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPgV!W7!;E8is5)VG!!);t!IFh@U]LMPcb0;Yr4N,X!;E8is5*@\!!)2q -!IFh@U]LMPpUpP,iOo8=!;E8is5(Z,!IFgaU]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2MgV*]:!;E/fs5)VH!!);u!IXtBT`P2Mcb9AZr4W2[!;E/fs5*@]!!)2r -!IXtBT`P2MpV$V-iP#>@!;E/fs5(Z-!IXscT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPgV!W7!;E8is5)VG!!);t!IFh@U]LMPcb0;Yr4N,X!;E8is5*@\!!)2q -!IFh@U]LMPpUpP,iOo8=!;E8is5(Z,!IFgaU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPgV!W7!;E8is5)VG!!);t!IFh@U]LMPcb0;Yr4N,X!;E8is5*@\!!)2q -!IFh@U]LMPpq6Y-i4T/ -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2MgV*]:!;E/fs5)VH!!);u!IXtBT`P2Mcb9AZr4W2[!;E/fs5*@]!!)2r -!IXtBT`P2Mpq?_.i4]5?!;E/fs5(Z-!IXscT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPgV!W7!;E8is5)VG!!);t!IFh@U]LMPcb0;Yr4N,X!;E8is5*@\!!)2q -!IFh@U]LMPpq6Y-i4T/ -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPgV!W7!;E8is5(c/!IFh@U]LMPah7_%!;E8is5)DA!IFh@U]LMPf"D*2 -!;E8is5(Z,!IFgaU]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2MgV*]:!;E/fs5(c0!IXtBT`P2Mah@e(!;E/fs5)DB!IXtBT`P2Mf"M05 -!;E/fs5(Z-!IXscT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPgV!W7!;E8is5(c/!IFh@U]LMPah7_%!;E8is5)DA!IFh@U]LMPf"D*2 -!;E8is5(Z,!IFgaU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPgV!W7!;E8is5(c/!IFh@U]LMPah7_%!;E8is5)DA!IFh@U]LMPf"D*2 -!;E8is5(Z,!IFgaU]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2MgV*]:!;E/fs5(c0!IXtBT`P2Mah@e(!;E/fs5)DB!IXtBT`P2Mf"M05 -!;E/fs5(Z-!IXscT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPgV!W7!;E8is5(c/!IFh@U]LMPah7_%!;E8is5)DA!IFh@U]LMPf"D*2 -!;E8is5(Z,!IFgaU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LMPgV!W7!;E8is5(c/!IFh@U]LMPah7_%!;E8is5)DA!IFh@U]LMPf"D*2 -!;E8is5(Z,!IFgaU]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P2MgV*]:!;E/fs5(c0!IXtBT`P2Mah@e(!;E/fs5)DB!IXtBT`P2Mf"M05 -!;E/fs5(Z-!IXscT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LMPgV!W7!;E8is5(c/!IFh@U]LMPah7_%!;E8is5)DA!IFh@U]LMPf"D*2 -!;E8is5(Z,!IFgaU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]LLsg3Wf"pS7iiXMoMd!;E8is/a:g!!)bh!WT7QHN4'?U]LLseU%8rpS7ii -XMT;a!5kT5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`P1rg3ir$pRqWfY/Peh!;E/fs/sFk!!)be!WT=SI/j9AT`P1reU7DtpRqWf -Y/5Se!5kK2>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]LLsg3Wf"pS7iiXMoMd!;E8is/a:g!!)bh!WT7QHN4'?U]LLseU%8rpS7ii -XMT;a!5kT5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU^JU]@LK!;E8hXMY&4U]@L9!;E8hXOR=FU]@LF!;E8hXM=hRU]Fp)rhP&~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUUGT`D7J!;E/eY/:86T`D78!;E/eY13OHT`D7E!;E/eY.t%TT`JF!rh4i~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU^JU]@LK!;E8hXMY&4U]@L9!;E8hXOR=FU]@LF!;E8hXM=hRU]FX!rhP&~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WU]$Uk,=mUrfD5@K?D'J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WUT!Tn/ngTuiu/>laktJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WU]$Uk,=mUrfD5=oePtJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!WS[@@Y&!>@`W!Y! -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!WSR=?%H:4?-$:O! -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!WSC8>(Kk.>0'kI! -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(4K!1\T?JH16$`W6"6J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./J@!1AB -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1NAC!0i$7JH16$`W6"6J,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b$%*JY[jm\>4W~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?.+:tJY@Xg\=nE~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1J2"JY[jm\>4W~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b$%*JY[jm\>4W~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?.+:tJY@Xg\=nE~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1J2"JY[jm\>4W~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b$%*JY[jm\>4W~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?.+:tJY@Xg\=nE~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1J2"JY[jm\>4W~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b$%*JY[jm\>4W~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?.+:tJY@Xg\=nE~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1J2"JY[jm\>4W~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b$%*JY[jm\>4W~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?.+:tJY@Xg\=nE~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1J2"JY[jm\>4W~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b$%*JY[jm\>4W~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?.+:tJY@Xg\=nE~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1J2"JY[jm\>4W~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b$%*JY[jm\>4W~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?.+:tJY@Xg\=nE~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1J2"JY[jm\>4W~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b$%*JY[jm\>4W~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?.+:tJY@Xg\=nE~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1J2"JY[jm\>4W~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b$%*JY[jm\>4W~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?.+:tJY@Xg\=nE~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1J2"JY[jm\>4W~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b$%*JY[jm\>4W~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?.+:tJY@Xg\=nE~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1J2"JY[jm\>4W~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b$%*JY[jm\>4W~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?.+:tJY@Xg\=nE~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1J2"JY[jm\>4W~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1JJRX1>JRZ]0!1a"`J,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?JR*h4JR-?&!1EeZJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>BJQdV.JQg,u!0mGXJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+N_CrW%QMrW)osrW%NLWrMNs!M%^=Ujr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!+!A>rW%QMrW)osrW%NLWrMNn!L_C7Tn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*[/;rW%QMrW)osrW%NLWrMNk!L2.5Ujr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+LNZJcC<$h#@@`nGiW"e^aVoJ,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!*t0UJcC<$h#@@[nGiVrdaJ)fJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*XsRJcC<$h#@@XnGiVoe^aVoJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+LNZJcC<$h#@Ca!:kaDs4,ZuUjr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!*t0UJcC<$h#@C\!:k[Bs3f?oTn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*XsRJcC<$h#@CY!:kaDs4,ZuUjr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+P'i!!)Ti!!*#ur;Zlu!:Tsa!:^$g!;HNi!;c`q!;HNn!!3*"q#: -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!+"^d!!)Ti!!*#ur;Zlu!:Tsa!:^$g!;HNi!;c`q!;HNn!!3*"q#: -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*\La!!)Ti!!*#ur;Zlu!:Tsa!:^$g!;HNi!;c`q!;HNn!!3*"q#: -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+P'i!!)Ti"9AK%!!*#urrDNf#6=f(!<<'!!:^!g!;HKu!<<'!s8N'!qYpNqq#:Hs -rrE'!q#:Ers8N)urr<&`rs&Q(rrE*!!!*#u!!(UM!!)`m!!)Bc!!)Wj!!%TMq#:A(!:kaDs4,Zu -Ujr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!+"^d!!)Ti"9AK%!!*#urrDNf#6=f(!<<'!!:^!g!;HKu!<<'!s8N'!qYpNqq#:Hs -rrE'!q#:Ers8N)urr<&`rs&Q(rrE*!!!*#u!!(UM!!)`m!!)Bc!!)Wj!!%TMq#:A#!:k[Bs3f?o -Tn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*\La!!)Ti"9AK%!!*#urrDNf#6=f(!<<'!!:^!g!;HKu!<<'!s8N'!qYpNqq#:Hs -rrE'!q#:Ers8N)urr<&`rs&Q(rrE*!!!*#u!!(UM!!)`m!!)Bc!!)Wj!!%TMq#:@u!:kaDs4,Zu -Ujr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+OOZ"9AK%!!)rs!!)Ng!!*#u!!*#u!!)Ng!!)fo!!*#u!!*#u!!)lq!!)fo!!)Qh -!!)0]!!*#u!!*#u!!(%=!!)Bc!!)Wj!!%TMq#:A(!:kaDs4,ZuUjr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!+"1U"9AK%!!)rs!!)Ng!!*#u!!*#u!!)Ng!!)fo!!*#u!!*#u!!)lq!!)fo!!)Qh -!!)0]!!*#u!!*#u!!(%=!!)Bc!!)Wj!!%TMq#:A#!:k[Bs3f?oTn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*[tR"9AK%!!)rs!!)Ng!!*#u!!*#u!!)Ng!!)fo!!*#u!!*#u!!)lq!!)fo!!)Qh -!!)0]!!*#u!!*#u!!(%=!!)Bc!!)Wj!!%TMq#:@u!:kaDs4,ZuUjr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+P9or;Zp!!!*#ur;clt!!)ut!s&B$!;lcr!<3#t!<)rr!<2uu!<2uu!<2uu!<)rs -!<)rs!<2uu!<3#t!<2uu!<2uu!<2uu!<)rr!<3#t!<<)r!"/`+!<3$!s8N'!s8)fqs8E#us8N'# -rr<&ts8E#trr<&urr<&ursSo-rr<'!!!*$!!<<)u!!*&u!;ulq!<3#t!<<*!!!<0#!;uls!<3#t -!<)rq!!*&s!<<*!!<3#t!!*&t!<<)u!<)rr!.k1FrrHR/nq.#De^aVoJ,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!+"pjr;Zp!!!*#ur;clt!!)ut!s&B$!;lcr!<3#t!<)rr!<2uu!<2uu!<2uu!<)rs -!<)rs!<2uu!<3#t!<2uu!<2uu!<2uu!<)rr!<3#t!<<)r!"/`+!<3$!s8N'!s8)fqs8E#us8N'# -rr<&ts8E#trr<&urr<&ursSo-rr<'!!!*$!!<<)u!!*&u!;ulq!<3#t!<<*!!!<0#!;uls!<3#t -!<)rq!!*&s!<<*!!<3#t!!*&t!<<)u!<)rr!.k1FrrHC*npplBdaJ)fJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*\^gr;Zp!!!*#ur;clt!!)ut!s&B$!;lcr!<3#t!<)rr!<2uu!<2uu!<2uu!<)rs -!<)rs!<2uu!<3#t!<2uu!<2uu!<2uu!<)rr!<3#t!<<)r!"/`+!<3$!s8N'!s8)fqs8E#us8N'# -rr<&ts8E#trr<&urr<&ursSo-rr<'!!!*$!!<<)u!!*&u!;ulq!<3#t!<<*!!!<0#!;uls!<3#t -!<)rq!!*&s!<<*!!<3#t!!*&t!<<)u!<)rr!.k1FrrH:'nq.#De^aVoJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+PtO!rpg$rM4r~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!+"skrrE*!%06G.!<<'!!<<'!s8N)trrW9$rrDiorrlaGH!rp]srLn`~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*\ahrrE*!%06G.!<<'!!<<'!s8N)trrW9$rrDiorr -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+PtO!rpg$rM4r~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!+"sk!!)or!s&B$!;HKn!<2uu!;QQo!<3!#!<<'!rr3'#s8N)ts8;rrs82lps8N*! -rr`?%rr<&trr<&ts8;rrrr<&urrN3#s82lsrr<&urrW9$rrE&u"p"]'!<<'!rr3'#s8N)urrW9$ -rrE&u"9AK%!!)ut!!)utr;cfr!s&B$!<3!#!<<'!rr2rur;Q`squ6Wrrr3'#s8N)urr<&srr`?% -rr<&qrr<&urr<&trr<&urr`?%rr<&trr<&us82lsrr<&urr<%Ms7lTp>laGH!rp]srLn`~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*\ah!!)or!s&B$!;HKn!<2uu!;QQo!<3!#!<<'!rr3'#s8N)ts8;rrs82lps8N*! -rr`?%rr<&trr<&ts8;rrrr<&urrN3#s82lsrr<&urrW9$rrE&u"p"]'!<<'!rr3'#s8N)urrW9$ -rrE&u"9AK%!!)ut!!)utr;cfr!s&B$!<3!#!<<'!rr2rur;Q`squ6Wrrr3'#s8N)urr<&srr`?% -rr<&qrr<&urr<&trr<&urr`?%rr<&trr<&us82lsrr<&urr<%Ms7lTp=oe,G!rpg$rM4r~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+P -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!+"sk!!)or!s&B$!;HKn!<2uu!;QQo!<3!#!<<'!rr3'#s8N)trrW9$rrE#t!!)lq -rr<3%!<<'!rr;uurr2rurVls"s8N)trr<&urrW9$rrDrr!!*#u!s&B$!<3!&!<<'!s8N)urrW9$ -rrE&u!s&B$!<2uu!<3#u!<2uu!<)p"!<<'!rVls"s8N)urr<&urrN3#!;lcr!;lcr!<3!#!<<'! -rr2rur;Q`srr;uuqu6Wrrr2rurVlitrr2rurr;uurr2rurr2ruqu6Wrrr2ruJcGNF!F5]rJHGl" -df#ki~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*\ah!!)or!s&B$!;HKn!<2uu!;QQo!<3!#!<<'!rr3'#s8N)trrW9$rrE#t!!)lq -rr<3%!<<'!rr;uurr2rurVls"s8N)trr<&urrW9$rrDrr!!*#u!s&B$!<3!&!<<'!s8N)urrW9$ -rrE&u!s&B$!<2uu!<3#u!<2uu!<)p"!<<'!rVls"s8N)urr<&urrN3#!;lcr!;lcr!<3!#!<<'! -rr2rur;Q`srr;uuqu6Wrrr2rurVlitrr2rurr;uurr2rurr2ruqu6Wrrr2ruJcGNF!EoKoK*))' -ebu:o~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+PtO!rpg$rM4r~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!+"sk!!)or!s&B$!;HKn!<3#u!;uj!!<<'!rr3'#s8N)urrW9$rrE#t!!*#u!!*#u -!!)or!!*#u!s&B$!<)rt!<<'!!<)ot!<2uu!<2uu!<3!#!<<'!qu6Wrrr3'#s8N)urrrK'rrE*! -!<3!#!<<'!rr3'#s8N)urr<&ts8N*!rr<&trr<&urr<&urrW9$rrE&u!!*#u!W`6#qu6Wrqu6Wr -rr3'#s8N)urr<&srr<&ts8N)srr<&urr<&trr<&urr<&ts8N*!rr<&urr<&rrr<&urr<%Ms7lTp ->laGH!rp]srLn`~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*\ah!!)or!s&B$!;HKn!<3#u!;uj!!<<'!rr3'#s8N)urrW9$rrE#t!!*#u!!*#u -!!)or!!*#u!s&B$!<)rt!<<'!!<)ot!<2uu!<2uu!<3!#!<<'!qu6Wrrr3'#s8N)urrrK'rrE*! -!<3!#!<<'!rr3'#s8N)urr<&ts8N*!rr<&trr<&urr<&urrW9$rrE&u!!*#u!W`6#qu6Wrqu6Wr -rr3'#s8N)urr<&srr<&ts8N)srr<&urr<&trr<&urr<&ts8N*!rr<&urr<&rrr<&urr<%Ms7lTp -=oe,G!rpg$rM4r~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+P -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!+"skrrE&u"p"Z's8N'!rr3-%rrE*!!;uls!<2uu!<3#u!"8f,!<<'!!<3$!rrDus -!!*#urrE*!rrE&u&HMh2!<<'!s8N*!rrE*!!<3&srr<&us8N*!s8N''rr<'!rr<&urrN3#!<3!# -!<<'!rr30&s8N*!rrE&u$3:,+!!*$!!<<'!rr36(s8N*!rrE'!r;Q`srr;uus8N0$s8N)urr<&t -rr<&trr`?%rr<&urs8]*!!*$!!<<'!rr2rur;Qs$s8N*!rrDus!!*#u!!)utrr -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*\ahrrE&u"p"Z's8N'!rr3-%rrE*!!;uls!<2uu!<3#u!"8f,!<<'!!<3$!rrDus -!!*#urrE*!rrE&u&HMh2!<<'!s8N*!rrE*!!<3&srr<&us8N*!s8N''rr<'!rr<&urrN3#!<3!# -!<<'!rr30&s8N*!rrE&u$3:,+!!*$!!<<'!rr36(s8N*!rrE'!r;Q`srr;uus8N0$s8N)urr<&t -rr<&trr`?%rr<&urs8]*!!*$!!<<'!rr2rur;Qs$s8N*!rrDus!!*#u!!)utrr -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+P9or;ZitrW)uur;clt!s&B$!;lfp!;ulr!<)rt!!E6$rrE&ur;cisrrE*!r;cis -rVurur;ZitrW)uu!!*#ur;cisrrE*!rW!'#!<<)t!!*&n!!*&r!<<)s!<<)u!<<)u!!*&u!!*&u -!<<'!!<3#s!<3#o!!*&u!<2uu!<)ot!<3#s!<3#t!<<)u!!*&u!<3#t!!*&u!;c`n!<)rt!!E6$ -!<<#urVults8W#trr;rt"9/B$!.k1IrrHR/nq.#De^aVoJ,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!+"pjr;ZitrW)uur;clt!s&B$!;lfp!;ulr!<)rt!!E6$rrE&ur;cisrrE*!r;cis -rVurur;ZitrW)uu!!*#ur;cisrrE*!rW!'#!<<)t!!*&n!!*&r!<<)s!<<)u!<<)u!!*&u!!*&u -!<<'!!<3#s!<3#o!!*&u!<2uu!<)ot!<3#s!<3#t!<<)u!!*&u!<3#t!!*&u!;c`n!<)rt!!E6$ -!<<#urVults8W#trr;rt"9/B$!.k1IrrHC*npplBdaJ)fJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*\^gr;ZitrW)uur;clt!s&B$!;lfp!;ulr!<)rt!!E6$rrE&ur;cisrrE*!r;cis -rVurur;ZitrW)uu!!*#ur;cisrrE*!rW!'#!<<)t!!*&n!!*&r!<<)s!<<)u!<<)u!!*&u!!*&u -!<<'!!<3#s!<3#o!!*&u!<2uu!<)ot!<3#s!<3#t!<<)u!!*&u!<3#t!!*&u!;c`n!<)rt!!E6$ -!<<#urVults8W#trr;rt"9/B$!.k1IrrH:'nq.#De^aVoJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+OX]!!)3^rrCpU!!'Y2!!%TMN;iof!:kaDs4,ZuUjr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!+":X!!)3^rrCpU!!'Y2!!%TMN;ioa!:k[Bs3f?oTn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*\(U!!)3^rrCpU!!'Y2!!%TMN;io^!:kaDs4,ZuUjr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+OX]!!)3^rrCpU!!'Y2!!%TMN;iof!:kaDs4,ZuUjr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!+":X!!)3^rrCpU!!'Y2!!%TMN;ioa!:k[Bs3f?oTn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*\(U!!)3^rrCpU!!'Y2!!%TMN;io^!:kaDs4,ZuUjr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+N_CrW%NLJcDGD!Fc'"K*))'ebu:o~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!+!A>rW%NLJcDGD!F5]rJHGl"df#ki~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*[/;rW%NLJcDGD!EoKoK*))'ebu:o~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+LNZJcC<$h#@Ca!:kaDs4,ZuUjr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!*t0UJcC<$h#@C\!:k[Bs3f?oTn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*XsRJcC<$h#@CY!:kaDs4,ZuUjr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+LNZJcC<$h#@Ca!:kaDs4,ZuUjr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!*t0UJcC<$h#@C\!:k[Bs3f?oTn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*XsRJcC<$h#@CY!:kaDs4,ZuUjr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+P'i!!)Ti!!*#ur;Zlu!:Tpg!<<#uq#:UHqs8E#crr<&mrrE-"q>gBlrrDNf -!!)]lrrDus!!(IIrr@WMb5VKO!:kaDs4,ZuUjr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!+"^d!!)Ti!!*#ur;Zlu!:Tpg!<<#uq#:UHqs8E#crr<&mrrE-"q>gBlrrDNf -!!)]lrrDus!!(IIrr@WMb5VKJ!:k[Bs3f?oTn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*\La!!)Ti!!*#ur;Zlu!:Tpg!<<#uq#:UHqs8E#crr<&mrrE-"q>gBlrrDNf -!!)]lrrDus!!(IIrr@WMb5VKG!:kaDs4,ZuUjr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+P'i!!)Ti"9AK%!!*#urrDNf!s&B$!;HKq!<<'!r;Qj!s8N)crr<&mrrW9$rrE#t -!!)ip!!)Kf!!)Zk!!)rs!!)`m!!)Bc!!)Wj!!%TMb5VKO!:kaDs4,ZuUjr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!+"^d!!)Ti"9AK%!!*#urrDNf!s&B$!;HKq!<<'!r;Qj!s8N)crr<&mrrW9$rrE#t -!!)ip!!)Kf!!)Zk!!)rs!!)`m!!)Bc!!)Wj!!%TMb5VKJ!:k[Bs3f?oTn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*\La!!)Ti"9AK%!!*#urrDNf!s&B$!;HKq!<<'!r;Qj!s8N)crr<&mrrW9$rrE#t -!!)ip!!)Kf!!)Zk!!)rs!!)`m!!)Bc!!)Wj!!%TMb5VKG!:kaDs4,ZuUjr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+OOZ"9AK%!!)rs!!)Ng!!*#u!!)Zk!!)ut!!*#u!!)!X!!*#u!!)Zk!!)!X!!)Ng -!!)Bc!!)Wj!!%TMb5VKO!:kaDs4,ZuUjr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!+"1U"9AK%!!)rs!!)Ng!!*#u!!)Zk!!)ut!!*#u!!)!X!!*#u!!)Zk!!)!X!!)Ng -!!)Bc!!)Wj!!%TMb5VKJ!:k[Bs3f?oTn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*[tR"9AK%!!)rs!!)Ng!!*#u!!)Zk!!)ut!!*#u!!)!X!!*#u!!)Zk!!)!X!!)Ng -!!)Bc!!)Wj!!%TMb5VKG!:kaDs4,ZuUjr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+P9or;Zp!!!*#ur;clt!!)ut!s&B$!;lcr!<3#t!<)rr!<2uu!<3!,!<<'!!<3$! -s8N'!s8;rtrr<&urr<&ps8E#ss8;p!rr<&us8;rsrr<&urr<&urr<&us8E#trr<&us8E#ts8E#r -s8N'&rr<'!!!)utr;cfrrrE&urW)osqu?`squHcsrrE&urVurur;cltrW)osr;_EKb5VKO!:kaD -s4,ZuUjr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!+"pjr;Zp!!!*#ur;clt!!)ut!s&B$!;lcr!<3#t!<)rr!<2uu!<3!,!<<'!!<3$! -s8N'!s8;rtrr<&urr<&ps8E#ss8;p!rr<&us8;rsrr<&urr<&urr<&us8E#trr<&us8E#ts8E#r -s8N'&rr<'!!!)utr;cfrrrE&urW)osqu?`squHcsrrE&urVurur;cltrW)osr;_EKb5VKJ!:k[B -s3f?oTn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*\^gr;Zp!!!*#ur;clt!!)ut!s&B$!;lcr!<3#t!<)rr!<2uu!<3!,!<<'!!<3$! -s8N'!s8;rtrr<&urr<&ps8E#ss8;p!rr<&us8;rsrr<&urr<&urr<&us8E#trr<&us8E#ts8E#r -s8N'&rr<'!!!)utr;cfrrrE&urW)osqu?`squHcsrrE&urVurur;cltrW)osr;_EKb5VKG!:kaD -s4,ZuUjr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+P -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!+"skrrE*!%06G.!<<'!!<<'!s8N)trrW9$rrDiorr -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*\ahrrE*!%06G.!<<'!!<<'!s8N)trrW9$rrDiorr -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+P -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!+"sk!!)or!s&B$!;HKn!<2uu!;QQo!<3!#!<<'!rr3'#s8N)trr<&urr<&urrrK' -rrE*!!<2uu!<)ot!;c]q!<3!#!<<'!rr30&s8N*!rrDrr!!)ut!!*#u!!)rsrrE*!"9AK%!!)ut -quHZp!s&B$!<3!#!<<'!rr2rur;Qm"s8N'!qYpNqrr2rurVlitrr3*$s8N'!rVlitrr;lrs8N'! -rr2ruJcEmm!F5]rJHGl"df#ki~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*\ah!!)or!s&B$!;HKn!<2uu!;QQo!<3!#!<<'!rr3'#s8N)trr<&urr<&urrrK' -rrE*!!<2uu!<)ot!;c]q!<3!#!<<'!rr30&s8N*!rrDrr!!)ut!!*#u!!)rsrrE*!"9AK%!!)ut -quHZp!s&B$!<3!#!<<'!rr2rur;Qm"s8N'!qYpNqrr2rurVlitrr3*$s8N'!rVlitrr;lrs8N'! -rr2ruJcEmm!EoKoK*))'ebu:o~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+P -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!+"sk!!)or!s&B$!;HKn!<2uu!;QQo!<3!#!<<'!rr3'#s8N)trr<&urr<&urrrK' -rrE*!!<2uu!<)ot!;c]q!<3!-!<<'!!<<'!s8N*!rrDrr!!)ut!!)lqrr<3%!<<'!rr;uurr2ru -q#:Ers8N)urrW9$rrE&u!!)rs!!*#urrDrr!!*#u!!)ut!!*#u!!*#urrE&u!!*#u!!)or!!*#u -!!%TMb5VKJ!:k[Bs3f?oTn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*\ah!!)or!s&B$!;HKn!<2uu!;QQo!<3!#!<<'!rr3'#s8N)trr<&urr<&urrrK' -rrE*!!<2uu!<)ot!;c]q!<3!-!<<'!!<<'!s8N*!rrDrr!!)ut!!)lqrr<3%!<<'!rr;uurr2ru -q#:Ers8N)urrW9$rrE&u!!)rs!!*#urrDrr!!*#u!!)ut!!*#u!!*#urrE&u!!*#u!!)or!!*#u -!!%TMb5VKG!:kaDs4,ZuUjr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(V"JI*!<:SYec)?E@ftO!rpg$rM4r~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuV=e[.!<:JQdf,p??2_V@JH1ki#GM1GTj7ZuhY+YcD#jUa -r1O-sde9@7?0qRk!;lcu!<<'!p\t3nrr;uur;Qj!s8N)urrW9$rrE&u!s&B$!<)ot!<2uu!<3!& -!<<'!s8N)urr<&trr<&qrr<&urr<&us8E#trrW9$rrDrr!!)ut!!)or!!*#u!s&B$!<)rt!<<'! -!;QQr!<<'!rr3'#s8N)urr<&srr<&ts8N)srr<&urr<&trr<&urr<&ts8N*!rr<&urr<&rrr<&u -rr<%Ms2t?B>laGH!rp]srLn`~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuV"JI*!<:SQec)?E>5c,8HN95c#GhCMUfmcuhY+VbC&n:a -r1j?seb5d=>3u7h!;lcu!<<'!p\t3nrr;uur;Qj!s8N)urrW9$rrE&u!s&B$!<)ot!<2uu!<3!& -!<<'!s8N)urr<&trr<&qrr<&urr<&us8E#trrW9$rrDrr!!)ut!!)or!!*#u!s&B$!<)rt!<<'! -!;QQr!<<'!rr3'#s8N)urr<&srr<&ts8N)srr<&urr<&trr<&urr<&ts8N*!rr<&urr<&rrr<&u -rr<%Ms2t?B=oe,G!rpg$rM4r~> -rOi3]rhKX*eRAN0hLXO?h?Er0Uga>"o)JmmeRI).U]=m&]`EH[P26G>s4*oS!<:pL]`W!Ls4.%C -!FjUQU]=ljs8N)urrrK'!<<'!!<3!%!<3'!rrDusrrE&u!!*#urrtO!rpg$rM4r~> -rPAQ_rh0F"dTlj(hLXO?h?Er-Tj7Ypo)JmmdTt<#T`ABs_?#2fP26G;s3dTH!<:pL^&r3Ps3gh= -!F=.IT`ABbs8N)urrrK'!<<'!!<3!%!<3'!rrDusrrE&u!!*#urrlaGH!rp]srLn`~> -rOi3]rhKX"eQMs(hLXO?h?Er0Ufmboo)JmmeQUN&U]=Ts]`EH[P26G>s4*oK!<:pL]`W!Ls4.%C -!F"%IU]=Tbs8N)urrrK'!<<'!!<3!%!<3'!rrDusrrE&u!!*#urr -rOi3]rhKX*eRAN0hLXO?h?qrrf.teRI).U]=m&]`EH[P26G>s4*oS!<:pL]`W!Ls4.%C -!FjUQU]=lis8;ots8E#us8;rtrrW9$rrDrrr;ccqrW)osrr<0$!<3&ts8Duus8Duus8)frs8E#s -s7u`ps8E#ss8;ots8E#us8;ourrE#trW)iqrVurur;ZitrW)osr;clt! -rPAQ_rh0F"dTlj(hLXO?h? -rOi3]rhKX"eQMs(hLXO?h?s4*oK!<:pL]`W!Ls4.%C -!F"%IU]=Tas8;ots8E#us8;rtrrW9$rrDrrr;ccqrW)osrr<0$!<3&ts8Duus8Duus8)frs8E#s -s7u`ps8E#ss8;ots8E#us8;ourrE#trW)iqrVurur;ZitrW)osr;clt! -rOi3]rhKX*eRAN0hLXO?h?Er0Uga?(p"fkJ!<:SYec)?E@ftO!rpg$rM4r~> -rPAQ_rh0F"dTlj(hLXO?h?Er-Tj7Zup"fkK!<:JQdf,p??2_V@JH1ki#GM1GTj7ZuhY+YcD#jUa -r1O-sde9@7?.o5X!9aC^!:0Xb!:9^c!<)ot!;QQo!.k0$s5!\U>laGH!rp]srLn`~> -rOi3]rhKX"eQMs(hLXO?h?Er0Ufmcup"fkJ!<:SQec)?E>5c,8HN95c#GhCMUfmcuhY+VbC&n:a -r1j?seb5d=>1roU!9aC^!:0Xb!:9^c!<)ot!;QQo!.k0$s5!\U=oe,G!rpg$rM4r~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_")7i9 -ebl3D@b(1J!+OX]!!)3^rrDBb!!)BcrrE*!rrDio!!%TMJcFR+!Fc'"K*))'ebu:o~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I`")S&< -deod>?./G?!+":X!!)3^rrDBb!!)BcrrE*!rrDio!!%TMJcFR+!F5]rJHGl"df#ki~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_")7i9 -ebl3D>1N>B!*\(U!!)3^rrDBb!!)BcrrE*!rrDio!!%TMJcFR+!EoKoK*))'ebu:o~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hYb%e>5Z&;C&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_ -")7i9ebl3D@b(1J!+N_CrW(IJrW%NLJcF-t!Fc'"K*))'ebu:o~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhYb(f?2VD?D#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I` -")S&?./G?!+!A>rW(IJrW%NLJcF-t!F5]rJHGl"df#ki~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhYb%e>5Z&;C&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_ -")7i9ebl3D>1N>B!*[/;rW(IJrW%NLJcF-t!EoKoK*))'ebu:o~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hYb%e!;sM6C&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_ -")7i9ebl3D@b(1J!+LNZJcC<$h#@Ca!:kaDs4,ZuUjr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhYb(f!;sP7D#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I` -")S&?./G?!*t0UJcC<$h#@C\!:k[Bs3f?oTn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhYb%e!;sM6C&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_ -")7i9ebl3D>1N>B!*XsRJcC<$h#@CY!:kaDs4,ZuUjr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hYk+h=o_b)]`i-Ns4(T/rhKO'rOi5Y!0Z1DV#Su@@K?Gb -p:UQC!<:UIU]FrTp7q[tJcC<$JcFO*!Fc'"K*))'ebu:o~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhYk.i>l\1/^'/?Rs3b3$rh0lao] -p:^WG!<:LFT`JHIp7VIlJcC<$JcFO*!F5]rJHGl"df#ki~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhYk+h=o_b)]`i-Ns4(<'rhKNtrOi5Y!0Z1DV#Su@=oeTZ -p:UQC!<:UIU]FZLp7q[lJcC<$JcFO*!EoKoK*))'ebu:o~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hYk.e!<'S7C&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_ -")7i9ebl3D@b(1J!+LNZJcC<$h#@Ca!:kaDs4,ZuUjr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhYk1f!<'V8D#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I` -")S&?./G?!*t0UJcC<$h#@C\!:k[Bs3f?oTn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhYk.e!<'S7C&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_ -")7i9ebl3D>1N>B!*XsRJcC<$h#@CY!:kaDs4,ZuUjr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hYt1g>5eL%>5l2=C&n:a@b(IR!+Po?!IFg0h?TkVeYHXS -s5*I_")7i9ebl3D@b(1J!+LNZJcC<$h#@Ca!:kaDs4,ZuUjr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhYt4h?2ag(?2hPAD#jUa?./_G!+#Q?!J(66h?TbSd\0qH -s5*I`")S&?./G?!*t0UJcC<$h#@C\!:k[Bs3f?oTn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhYt1g>5eL%>5l2=C&n:a>1NVJ!*]?7!IFg0h?TkVeYH@K -s5*I_")7i9ebl3D>1N>B!*XsRJcC<$h#@CY!:kaDs4,ZuUjr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hYt4d!<0Y8C&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_ -")7i9ebl3D@b(1J!+LNZJcC<$h#@Ca!:kaDs4,ZuUjr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhYt7e!<0\9D#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I` -")S&?./G?!*t0UJcC<$h#@C\!:k[Bs3f?oTn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhYt4d!<0Y8C&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_ -")7i9ebl3D>1N>B!*XsRJcC<$h#@CY!:kaDs4,ZuUjr~> -rOi3]rhKX*eRAN0hLXO?h?j54Uga?(hS$U+qu@"+]tJ.\s4(T/rhKO'rOi5Y!0Z1DV#Su@@K?G( -okFO.s4.%C!FjUQU]=kTs+13$s4mVT@K>tO!rpg$rM4r~> -rPAQ_rh0F"dTlj(hLXO?h?j51Tj7ZuhS-^0qu@".^:nFas3b3$rh0lao$ -okaa1s3gh=!F=.IT`AALs+13$s4mVT>laGH!rp]srLn`~> -rOi3]rhKX"eQMs(hLXO?h?j54UfmcuhS$U+qu@"+]tJ.\s4(<'rhKNtrOi5Y!0Z1DV#Su@=oeSu -okFO.s4.%C!F"%IU]=SLs+13$s4mVT=oe,G!rpg$rM4r~> -rOi3]rhKX*eRAN0hLXO?h?a/3Uga?(hS$W!!<9_9C&n:a@b(IR!+Po?!IFg0h?KeUeYHXSV"4Qe -s4.%C!FjUQU]=kTs+13$s4mVT@K>tO!rpg$rM4r~> -rPAQ_rh0F"dTlj(hLXO?h?a/0Tj7ZuhS-`#!<9b:D#jUa?./_G!+#Q?!J(66h?K\Rd\0qHV=OZf -s3gh=!F=.IT`AALs+13$s4mVT>laGH!rp]srLn`~> -rOi3]rhKX"eQMs(hLXO?h?a/3UfmcuhS$W!!<9_9C&n:a>1NVJ!*]?7!IFg0h?KeUeYH@KV"4Qe -s4.%C!F"%IU]=SLs+13$s4mVT=oe,G!rpg$rM4r~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?B_TeYHXSoD\lfs4.%C -!FjUQU]=kTs+13$s4mVT@K>tO!rpg$rM4r~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?BVQd\0qHoD\lgs3gh= -!F=.IT`AALs+13$s4mVT>laGH!rp]srLn`~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?B_TeYH@KoD\lfs4.%C -!F"%IU]=SLs+13$s4mVT=oe,G!rpg$rM4r~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?KeUeYHXSs7P4NU]CGF -r1j@&eb5d=@Y+Q1s+14*rrHR/nq.#De^aVoJ,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?K\Rd\0qHs7P4NV#^PD -r1O-sde9@7?%N$,s+14*rrHC*npplBdaJ)fJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?KeUeYH@Ks7P4NU]CGF -r1j?seb5d=>(Q^)s+14*rrH:'nq.#De^aVoJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(V"JI*!<:SYec)?E@f -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuV=e[.!<:JQdf,p??2_V@JH1ki#GM1GTj7ZuhY+YcD#jUa -r1O-sde9@7?%N$,s+14*rrHC*npplBdaJ)fJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuV"JI*!<:SQec)?E>5c,8HN95c#GhCMUfmcuhY+VbC&n:a -r1j?seb5d=>(Q^)s+14*rrH:'nq.#De^aVoJ,~> -rOi3]rhKX*eRAN0hLXO?h?Er0Uga>"o)JmmeRI).U]=m&]`EH[P26G>s4*oS!<:pR]`;76]`W!L -s4.%C!FjUQU]=kTs+13$s4mVT@K>tO!rpg$rM4r~> -rPAQ_rh0F"dTlj(hLXO?h?Er-Tj7Ypo)JmmdTt<#T`ABs_?#2fP26G;s3dTH!<:pR^&VI:^&r3P -s3gh=!F=.IT`AALs+13$s4mVT>laGH!rp]srLn`~> -rOi3]rhKX"eQMs(hLXO?h?Er0Ufmboo)JmmeQUN&U]=Ts]`EH[P26G>s4*oK!<:pR]`;76]`W!L -s4.%C!F"%IU]=SLs+13$s4mVT=oe,G!rpg$rM4r~> -rOi3]rhKX*eRAN0hLXO?h?qrrf.teRI).U]=m&]`EH[P26G>s4*oS!<:pR]`8'1]`W!L -s4.%C!FjUQU]=kTs+13$s4mVT@K>tO!rpg$rM4r~> -rPAQ_rh0F"dTlj(hLXO?h?laGH!rp]srLn`~> -rOi3]rhKX"eQMs(hLXO?h?s4*oK!<:pR]`8'1]`W!L -s4.%C!F"%IU]=SLs+13$s4mVT=oe,G!rpg$rM4r~> -rOi3]rhKX*eRAN0hLXO?h?Er0Uga?(p"fkJ!<:SYec)?E@ftO!rpg$rM4r~> -rPAQ_rh0F"dTlj(hLXO?h?Er-Tj7Zup"fkK!<:JQdf,p??2_V@JH1ki#GM1GTj7ZuhYk.i>l\1/ -^&r3Ps3gh=!F=.IT`AALs+13$s4mVT>laGH!rp]srLn`~> -rOi3]rhKX"eQMs(hLXO?h?Er0Ufmcup"fkJ!<:SQec)?E>5c,8HN95c#GhCMUfmcuhYk+h=o_b) -]`W!Ls4.%C!F"%IU]=SLs+13$s4mVT=oe,G!rpg$rM4r~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*^frW)o1 -")7i9ebl3D@b(1J!+LNZJcC<$h#@Ca!:kaDs4,ZuUjr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*^grW)o2 -")S&?./G?!*t0UJcC<$h#@C\!:k[Bs3f?oTn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*^frW)o1 -")7i9ebl3D>1N>B!*XsRJcC<$h#@CY!:kaDs4,ZuUjr~> -rOi3]rhKX*eRAN0hLXO?h?a/3Uga?(hS$W!!<9_9C&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*ag -!*]@%!*]B8")7i9ebl3D@b(1J!+LNZJcC<$h#@Ca!:kaDs4,ZuUjr~> -rPAQ_rh0F"dTlj(hLXO?h?a/0Tj7ZuhS-`#!<9b:D#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*ah -!+#R(!+#T<")S&?./G?!*t0UJcC<$h#@C\!:k[Bs3f?oTn!~> -rOi3]rhKX"eQMs(hLXO?h?a/3UfmcuhS$W!!<9_9C&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*ag -!*]@%!*]B8")7i9ebl3D>1N>B!*XsRJcC<$h#@CY!:kaDs4,ZuUjr~> -rOi3]rhKX*eRAN0hLXO?h?j54Uga?(hS$U+qu@"+]tJ.\s4(T/rhKO'rOi5Y!0Z1DV#Su@@K?Gb -rk840rk/DK!<:UIU]FrTp7q[tJcC<$JcFO*!Fc'"K*))'ebu:o~> -rPAQ_rh0F"dTlj(hLXO?h?j51Tj7ZuhS-^0qu@".^:nFas3b3$rh0lao] -rkA:1rk8JO!<:LFT`JHIp7VIlJcC<$JcFO*!F5]rJHGl"df#ki~> -rOi3]rhKX"eQMs(hLXO?h?j54UfmcuhS$U+qu@"+]tJ.\s4(<'rhKNtrOi5Y!0Z1DV#Su@=oeTZ -rk840rk/DK!<:UIU]FZLp7q[lJcC<$JcFO*!EoKoK*))'ebu:o~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hYt4d!<0Y8C&n:a@b(IR!+Po?!IFg0h?p(YeYHXSs5(H& ->5S@)>.qUa!<:UIU]FrTp7q[tJcC<$JcFO*!Fc'#rr](se^aVoJ,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhYt7e!<0\9D#jUa?./_G!+#Q?!J(66h?otVd\0qHs5(K( -?2O[,?,"$i!<:LFT`JHIp7VIlJcC<$JcFO*!F5]srr]+tdaJ)fJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhYt4d!<0Y8C&n:a>1NVJ!*]?7!IFg0h?p(YeYH@Ks5(H& ->5S@)>.qUa!<:UIU]FZLp7q[lJcC<$JcFO*!EoKprr](se^aVoJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hYt1g>5eL%>5l2=C&n:a@b(IR!+Po?!IFg0h?g"XeYHXS -s5(H&q>gQ/")7i9ebl3D@b(1J!+LNZJcC<$h#@Fb!<;`K"Jc%te^aVoJ,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhYt4h?2ag(?2hPAD#jUa?./_G!+#Q?!J(66h?fnUd\0qH -s5(K(q>gQ0")S&?./G?!*t0UJcC<$h#@F]!<;`K"Jl+udaJ)fJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhYt1g>5eL%>5l2=C&n:a>1NVJ!*]?7!IFg0h?g"XeYH@K -s5(H&q>gQ/")7i9ebl3D>1N>B!*XsRJcC<$h#@FZ!<;`K"Jc%te^aVoJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hYk.e!<'S7C&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs5*I_ -")7i9ebl3D@b(1J!+LNZJcC<$h#@Ic!<:pL]``'Ms4,ZuUjr~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhYk1f!<'V8D#jUa?./_G!+#Q?!J(66h?TbSd\0qHs5*I` -")S&?./G?!*t0UJcC<$h#@I^!<:pL^'&9Qs3f?oTn!~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhYk.e!<'S7C&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*I_ -")7i9ebl3D>1N>B!*XsRJcC<$h#@I[!<:pL]``'Ms4,ZuUjr~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hYk+h=o_b)]`i-Ns4(T/rhKO'rOi5Y!0Z1DV#Su@@K?Gb -p:UQC!<:UIU]FrTp7q[tJcC<$JcFO*"(D91hY+VcC&n:aebu:o~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhYk.i>l\1/^'/?Rs3b3$rh0lao] -p:^WG!<:LFT`JHIp7VIlJcC<$JcFO*"'kp,hY+YdD#jUadf#ki~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhYk+h=o_b)]`i-Ns4(<'rhKNtrOi5Y!0Z1DV#Su@=oeTZ -p:UQC!<:UIU]FZLp7q[lJcC<$JcFO*"'P^)hY+VcC&n:aebu:o~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hYb%e!;sM6C&n:a@b(IR!+Po?!IFg0h?TkVeYHXSs.o=& -!W`8Nr1j@&eb5d=@Y+Q1s+14*rrZ^1s5*ag"'P[)>5c,;C&n:aebu:o~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhYb(f!;sP7D#jUa?./_G!+#Q?!J(66h?TbSd\0qHs/#C* -!W`8Kr1O-sde9@7?%N$,s+14*rrZO,s5*ah"'km,?2_J?D#jUadf#ki~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhYb%e!;sM6C&n:a>1NVJ!*]?7!IFg0h?TkVeYH@Ks.o=& -!W`8Nr1j?seb5d=>(Q^)s+14*rrZF)s5*ag"'P[)>5c,;C&n:aebu:o~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hYb%e>5Z&;C&n:a@b(IR!+Po?!IFg0h?KeUeYHXSV"4Qe -s4.%C!FjUQU]=kTs+13$s4mV^@K?Gb]tISL3Drb5rk/GL!<:U"rM4r~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhYb(f?2VD?D#jUa?./_G!+#Q?!J(66h?K\Rd\0qHV=OZf -s3gh=!F=.IT`AALs+13$s4mV^>lao]^:mkQ3)rt4rk8MP!<:KqrLn`~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhYb%e>5Z&;C&n:a>1NVJ!*]?7!IFg0h?KeUeYH@KV"4Qe -s4.%C!F"%IU]=SLs+13$s4mV^=oeTZ]tISL0iCo%rk/GL!<:U"rM4r~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?B_TeYHXSoD\lfs4.%C -!FjUQU]=kTs+13$s4mV^@K?Gb]tFD+;L>LHrk/GL!<:U"rM4r~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?BVQd\0qHoD\lgs3gh= -!F=.IT`AALs+13$s4mV^>lao]^:jS, -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?B_TeYH@KoD\lfs4.%C -!F"%IU]=SLs+13$s4mV^=oeTZ]tFD#;L>48rk/GL!<:U"rM4r~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(hY+VdC&n:a@b(IR!+Po?!IFg0h?KeUeYHXSs7P4NU]CGF -r1j@&eb5d=@Y+Q1s+14*rsN99s5(H&!)e0Fs8W)3"DRr:e^aVoJ,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuhY+YeD#jUa?./_G!+#Q?!J(66h?K\Rd\0qHs7P4NV#^PD -r1O-sde9@7?%N$,s+14*rsN*4s5(K(!*+HIs8W)4"Dn/=daJ)fJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuhY+VdC&n:a>1NVJ!*]?7!IFg0h?KeUeYH@Ks7P4NU]CGF -r1j?seb5d=>(Q^)s+14*rsN!1s5(H&!)e0>s8W)3"DRr:e^aVoJ,~> -rOi3]rhKX*eRAN0hLXO?h?O#1Uga?(V"JI*!<:SYec)?E@f#MI%s5*ag"DRr:e^aVoJ,~> -rPAQ_rh0F"dTlj(hLXO?h?O#.Tj7ZuV=e[.!<:JQdf,p??2_V@JH1ki#GM1GTj7ZuhY+YcD#jUa -r1O-sde9@7?%N$,s+14*rsN*4s5(K(>udp)s5*ah"Dn/=daJ)fJ,~> -rOi3]rhKX"eQMs(hLXO?h?O#1UfmcuV"JI*!<:SQec)?E>5c,8HN95c#GhCMUfmcuhY+VbC&n:a -r1j?seb5d=>(Q^)s+14*rsN!1s5(H&>#M0rs5*ag"DRr:e^aVoJ,~> -rOi3]rhKX*eRAN0hLXO?h?Er0Uga>"o)JmmeRI).U]=m&]`EH[P26M@s4*oS!<:oh^%qa/]`W!L -s4.%C!FjUQU]=kTs+13$s4mVV@K?Gbrk/DlXT./U]``'Ms4,ZuUjr~> -rPAQ_rh0F"dTlj(hLXO?h?Er-Tj7Ypo)JmmdTt<#T`ABs_?#2fP26M=s3dTH!<:oi^A7j0^&r3P -s3gh=!F=.IT`AALs+13$s4mVV>lao]rk8JgWrLrS^'&9Qs3f?oTn!~> -rOi3]rhKX"eQMs(hLXO?h?Er0Ufmboo)JmmeQUN&U]=Ts]`EH[P26M@s4*oK!<:oh^%qa/]`W!L -s4.%C!F"%IU]=SLs+13$s4mVV=oeTZrk/DdV#T -rOi3]rhKX*eRE!=s+13+rr^fI@Uem-!nCc1rhKO'rOi5Y!0Z1GV#Su@@K?Gb]tIVI!!ZW?]kRQI -ebl3D@b(1J!+LNZJcC<$h#@Ic!<:pL]``'Ms4,ZuUjr~> -rPAQ_rh0F"dTp.0s+13+rr^]C?!["#!n(B&rh0lao]^:mnN!!Z`C^23lM -deod>?./G?!*t0UJcC<$h#@I^!<:pL^'&9Qs3f?oTn!~> -rOi3]rhKX"eQQ.-s+13+rr^fI>$CIr!nCK)rhKNtrOi5Y!0Z1GV#Su@=oeTZ]tIVI!!ZW?]kRQI -ebl3D>1N>B!*XsRJcC<$h#@I[!<:pL]``'Ms4,ZuUjr~> -rOi3]rhKU)eXV3@J^oM*!Ml7SeH'.0rhKO'rOi5Y!0Z1DV#Su@@K?Gbrk840rk/DK!<:UIU]FrT -p7q[tJcC<$JcFO*"(D91hY+VcC&n:aebu:o~> -rPAQ_rh0C!d[>[7J^T;$!MPqMdK*Y%rh0lao]rkA:1rk8JO!<:LFT`JHI -p7VIlJcC<$JcFO*"'kp,hY+YdD#jUadf#ki~> -rOi3]rhKU!eWbX8J^oM*!MktKeH&k(rhKNtrOi5Y!0Z1DV#Su@=oeTZrk840rk/DK!<:UIU]FZL -p7q[lJcC<$JcFO*"'P^)hY+VcC&n:aebu:o~> -rOi3]rhKR(eUaNIUk,?3U]FrTrhKO'rOi5Y!0Z1DV#Su@@K?Gbrk/;8rVuq%rk/DK!<:UIU]FrT -p7q[tJcC<$JcFO*"(D91hY+VcC&n:aebu:o~> -rPAQ_rh0?udXe*CTn/p-T`JHIrh0lao]rk8A -rOi3]rhKQueUaNIUk,?3U]FZLrhKNtrOi5Y!0Z1DV#Su@=oeTZrk/;8rVuq%rk/DK!<:UIU]FZL -p7q[lJcC<$JcFO*"'P^)hY+VcC&n:aebu:o~> -rOi3]rhKR(eU_1\@YS=lSF**Q@b(IR!+Po?!IFg0h?TkVeYHXSs5*^frW)o1")7i9ebl3D@b(1J -!+LNZJcC<$h#@Ic!<8kfC'+J9e^aVoJ,~> -rPAQ_rh0?udXb\T?%uVbRI-[K?./_G!+#Q?!J(66h?TbSd\0qHs5*^grW)o2")S&?./G? -!*t0UJcC<$h#@I^!<8ngD$'e -rOi3]rhKQueU^nT>)$2\PjP7I>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*^frW)o1")7i9ebl3D>1N>B -!*XsRJcC<$h#@I[!<8kfC'+J9e^aVoJ,~> -rOi3]rhKU)eRF(0JH1K+!FjUHU]FrTrhKO'rOi5Y!0Z1DV#Su@@K?GbrOi89!*]?7")7i9ebl3D -@b(1J!+LNZJcC<$h#@Fb!2T2d!rpg$rM4r~> -rPAQ_rh0C!dTqD(JH1K+!F=.@T`JHIrh0lao]rOr>=!+#Q;")S& -?./G?!*t0UJcC<$h#@F]!2]8e!rp]srLn`~> -rOi3]rhKU!eQRM(JH1K+!F"%@U]FZLrhKNtrOi5Y!0Z1DV#Su@=oeTZrOi89!*]?7")7i9ebl3D ->1N>B!*XsRJcC<$h#@FZ!2T2d!rpg$rM4r~> -rOi3]rhKX*eRAN0s+13KrrAkdrrAkdrrT"rea9.5@b(IR!+Po?!IFg0h?TkVeYHXSs5*[e!!)r1 -")7i9ebl3D@b(1J!+LNZJcC<$h#@Ca!:kaDs4,ZuUjr~> -rPAQ_rh0F"dTlj(s+13KrrAnerrAnerrT%sdd<_/?./_G!+#Q?!J(66h?TbSd\0qHs5*[f!!)r2 -")S&?./G?!*t0UJcC<$h#@C\!:k[Bs3f?oTn!~> -rOi3]rhKX"eQMs(s+13KrrAkdrrAkdrrT"rea9.5>1NVJ!*]?7!IFg0h?TkVeYH@Ks5*[e!!)r1 -")7i9ebl3D>1N>B!*XsRJcC<$h#@CY!:kaDs4,ZuUjr~> -rOi3]rhK[+eRAOYJ_kt7WnmfQ!<;`K!i,hrp"feH!<:U:U]FrTrhKO'rOi5Y!0Z1DV#Su@@K?Gb -r4N)6r4N2I!<:UIU]FrTp7q[tJcC<$JcFO*!Fc'#rr](se^aVoJ,~> -rPAQ_rh0I#dTlkQJ_kt7WnmfR!<;`K!i5nsp"feI!<:L7T`JHIrh0lao] -r4W/:r4W8M!<:LFT`JHIp7VIlJcC<$JcFO*!F5]srr]+tdaJ)fJ,~> -rOi3]rhK[#eQMtQJ_kt7WnmfQ!<;`K!i,hrp"feH!<:U:U]FZLrhKNtrOi5Y!0Z1DV#Su@=oeTZ -r4N)6r4N2I!<:UIU]FZLp7q[lJcC<$JcFO*!EoKprr](se^aVoJ,~> -rOi3]rhK^,eRAOYhLW@k]rSgKC&n:jp:UQC!<:pL]`W!Ls4-M4!FjUYU]=m&]`EH[P26G>s4*oS -!<:pL]`W!Ls4.%C!FjUQU]=kTs+13$s4mVU@K?H$h?9VSs4,ZuUjr~> -rPAQ_rh0L$dTlkQhLWCl^8nsMD#jUmp:^WG!<:pL^&r3Ps3g;.!F=.QT`ABs_?#2fP26G;s3dTH -!<:pL^&r3Ps3gh=!F=.IT`AALs+13$s4mVU>laoth?9YTs3f?oTn!~> -rOi3]rhK^$eQMtQhLW@k]rSgKC&n:jp:UQC!<:pL]`W!Ls4-M4!F"%QU]=Ts]`EH[P26G>s4*oK -!<:pL]`W!Ls4.%C!F"%IU]=SLs+13$s4mVU=oeTqh?9VSs4,ZuUjr~> -rOi3]rhK^,eRAOYhLW@k]rSgKC&n:jp:UQC!<:pL]`W!Ls4-M4!FjUYU]=m&]`EH[Okp -rPAQ_rh0L$dTlkQhLWCl^8nsMD#jUmp:^WG!<:pL^&r3Ps3g;.!F=.QT`ABs_?#2fOkp?./G?!*t0UJcC<$h#@I^!<:pL^'&9Qs3f?oTn!~> -rOi3]rhK^$eQMtQhLW@k]rSgKC&n:jp:UQC!<:pL]`W!Ls4-M4!F"%QU]=Ts]`EH[Okp1N>B!*XsRJcC<$h#@I[!<:pL]``'Ms4,ZuUjr~> -rOi3]rhK^,eRAOYhLWAm]`VF5>i6C&n:amA'blec)?E -@f -rPAQ_rh0L$dTlkQhLWDn^&qX@!*t/ifY.H)!<:pP^'\-G^:nFas5(Hi?2;2:D#jUam@aPddf,p? -?2_V@JH1hh#63,F>lao$okaa1s3gh=!F=.IT`AALs+13$s4mVV>lao]r4W/:r4W;N!<:KqrLn`~> -rOi3]rhK^$eQMtQhLWAm]`VF5>i6C&n:amA'bdec)?E ->5c,8HN92b#635L=oeSuokFO.s4.%C!F"%IU]=SLs+13$s4mVV=oeTZr4N)6r4N5J!<:U"rM4r~> -rOi3]rhK^,eRAOYhLWAn]`hR>3Drb5J\BaM")7i9hYb%e>5eO%]``'Ms5(Hg!!$4"]`W!Ls4-M4 -!FjUYU]=m&]`EH[Oe`0\eYHXSV"4Qes4.%C!FjUQU]=kTs+13$s4mVV@K?Gbr4N(1r4N5J!<:U" -rM4r~> -rPAQ_rh0L$dTlkQhLWDo^'.dB3)rt4J\KgO")S&lao]r4W.2r4W;N!<:Kq -rLn`~> -rOi3]rhK^$eQMtQhLWAn]`hR>0iCo%J\BaM")7i9hYb%e>5eO%]``'Ms5(Hg!!$4"]`W!Ls4-M4 -!F"%QU]=Ts]`EH[Oe`0\eYH@KV"4Qes4.%C!F"%IU]=SLs+13$s4mVV=oeTZr4N(1r4N5J!<:U" -rM4r~> -rOi3]rhK^,eRAOYhLWAn]`eBr;L>LHJ\BaM")7i9hYt1g>5SC#]``'Ms5(He!!$4$]`W!Ls4-M4 -!FjUYU]=m&]`EH[OT,F5Ugdg'rrCUIU]FrTp7q[tJcC<$JcFO*"(D91hYk+h=o_b)]``'Ms4,Zu -Ujr~> -rPAQ_rh0L$dTlkQhLWDo^'+Krl\1/^'&9Qs3f?o -Tn!~> -rOi3]rhK^$eQMtQhLWAn]`eBj;L>48J\BaM")7i9hYt1g>5SC#]``'Ms5(He!!$4$]`W!Ls4-M4 -!F"%QU]=Ts]`EH[OT,F5UfpslrrCUIU]FZLp7q[lJcC<$JcFO*"'P^)hYk+h=o_b)]``'Ms4,Zu -Ujr~> -rOi3]rhK^,eRAOYhLWAn]`eC6H`[8IJ\BaM"_n&;hS!+h!<9_8C&n:j^%q^5>.qUa!<:U:U]FrT -rhKO'rOi5Y!0>Y2Un$o(r1j@&eb5d=@Y+Q1s+14*rrZ^1s5*^frW)o1"DRr:e^aVoJ,~> -rPAQ_rh0L$dTlkQhLWDo^'+L:IB*>IJ\KgO"`48>hS*:l!<9b9D#jUm^A7g6?,"$i!<:L7T`JHI -rh0P/TpbAtr1O-sde9@7?%N$,s+14*rrZO,s5*^grW)o2"Dn/=daJ)fJ,~> -rOi3]rhK^$eQMtQhLWAn]`eC6H_g]AJ\BaM"_n&;hS!+h!<9_8C&n:j^%q^5>.qUa!<:U:U]FZL -rhKNtrOi5Y!0>Y2Um1>ur1j?seb5d=>(Q^)s+14*rrZF)s5*^frW)o1"DRr:e^aVoJ,~> -rOi3]rhK^,eRAOYhLWAn]`hS;XT/=WJ\BaM")7i9hYt1g>5SC#]``'Ms5(He!!$4$]`W!Ls4-M4 -!FjUYU]=m&]`EH[JY`"8!FjUQU]=kTs+13$s4mVV@K?Gbrk/;8rVuq%rk/GL!<:U"rM4r~> -rPAQ_rh0L$dTlkQhLWDo^'.eBWrN+UJ\KgO")S&lao]rk8A -rOi3]rhK^$eQMtQhLWAn]`hS;V#UJOJ\BaM")7i9hYt1g>5SC#]``'Ms5(He!!$4$]`W!Ls4-M4 -!F"%QU]=Ts]`EH[JY`"8!F"%IU]=SLs+13$s4mVV=oeTZrk/;8rVuq%rk/GL!<:U"rM4r~> -rOi3]rhK^,eRAOYhLWAm]`X1os5&=?fY%B%!<:pR]`;78!<9_8C&n:j^&A!3>5Pu8C&n:amA'bl -ec)?E@f -rPAQ_rh0L$dTlkQhLWDn^&s(hs5&=@fY.H)!<:pR^&VIlao]rkA:1rk8MP!<:KqrLn`~> -rOi3]rhK^$eQMtQhLWAm]`Wn_s5&=?fY%B%!<:pR]`;78!<9_8C&n:j^&A!3>5Pu8C&n:amA'bd -ec)?E>5c,8HN9.2!0l]C!F"%IU]=SLs+13$s4mVV=oeTZrk840rk/GL!<:U"rM4r~> -rOi3]rhK^,eRAOYhLW@k]rSgKC&n:jqRm5>!56'\!<:oh!*]33")7i9ea9.5@b(IR!+Po?!.0e- -!FjUCU]FrTp7q[tJcC<$JcFO*#%@T4hS$U+qu?t*]tJ.\s4,ZuUjr~> -rPAQ_rh0L$dTlkQhLWCl^8nsMD#jUmqS!;B!5?0a!<:oi!+#E7")S& -rOi3]rhK^$eQMtQhLW@k]rSgKC&n:jqRm5>!56'\!<:oh!*]33")7i9ea9.5>1NVJ!*]?7!.0e- -!F"%;U]FZLp7q[lJcC<$JcFO*#$M$,hS$U+qu?t*]tJ.\s4,ZuUjr~> -rOi3]rhK^,eRAOYhLW@k]rSgKC&n:jp:UQC!<:pL]`W!Ls4-M4!FjUYU]=m&]`EH[Yl=^!oD\fd -oD\lfs4->/!FjUQU]=kTs+13$s4mVX@K?Gb]tO7Bs1JPM!<:U"rM4r~> -rPAQ_rh0L$dTlkQhLWCl^8nsMD#jUmp:^WG!<:pL^&r3Ps3g;.!F=.QT`ABs_?#2fYl=^"oD\fe -oD\lgs3g,)!F=.IT`AALs+13$s4mVX>lao]^:sFDs1SVQ!<:KqrLn`~> -rOi3]rhK^$eQMtQhLW@k]rSgKC&n:jp:UQC!<:pL]`W!Ls4-M4!F"%QU]=Ts]`EH[Yl=^!oD\fd -oD\lfs4->/!F"%IU]=SLs+13$s4mVX=oeTZ]tO7Bs1JPM!<:U"rM4r~> -rOi3]rhK^,eRAOYhLW@k]rSgKC&n:jp:UQC!<:pL]`W!Ls4-M4!FjUYU]=m&]`EH[Z/,PX!<;`K -!i,hrp"feH!<:U5U]FrTp7q[tJcC<$JcFO*"(D91hY+VcC&n:aebu:o~> -rPAQ_rh0L$dTlkQhLWCl^8nsMD#jUmp:^WG!<:pL^&r3Ps3g;.!F=.QT`ABs_?#2fZ/,PY!<;`K -!i5nsp"feI!<:L2T`JHIp7VIlJcC<$JcFO*"'kp,hY+YdD#jUadf#ki~> -rOi3]rhK^$eQMtQhLW@k]rSgKC&n:jp:UQC!<:pL]`W!Ls4-M4!F"%QU]=Ts]`EH[Z/,PX!<;`K -!i,hrp"feH!<:U5U]FZLp7q[lJcC<$JcFO*"'P^)hY+VcC&n:aebu:o~> -rOi3]rhK^,eRAOYUk*93C8u"M!<8kfC'"D8V"JI(!<:U:U]FrTrhKO'rOi5Y!3s3>C&n:jp:UQC -!<:pL]`W!Ls4->/!FjUQU]=kTs+13$s4mVV@K?Gbp:UTD!<:U"rM4r~> -rPAQ_rh0L$dTlkQV1EK7D5qFS!<8ngD#s_;V=e[,!<:L7T`JHIrh0lao]p:^ZH!<:KqrLn`~> -rOi3]rhK^$eQMtQUk*93C8u"M!<8kfC'"D8V"JI(!<:U:U]FZLrhKNtrOi5Y!3s3>C&n:jp:UQC -!<:pL]`W!Ls4->/!F"%IU]=SLs+13$s4mVV=oeTZp:UTD!<:U"rM4r~> -rOi3]rhK[+eRANSJH16$VuQgno)Jcdo)Jgkea9.5@b(IR!+Po?!IFgO]`W!Ls5*I_")7i9hY+Vb -C&n:akbJ5geb5d=@Y+Q1s+14*rrZ^1s.o=&!s&AOebu:o~> -rPAQ_rh0I#dTljLJH16$VuQgoo)Jceo)Jgkdd<_/?./_G!+#Q?!J(6U^&r3Ps5*I`")S& -rOi3]rhK[#eQMsKJH16$VuQgno)Jcdo)Jgkea9.5>1NVJ!*]?7!IFgO]`W!Ls5*I_")7i9hY+Vb -C&n:akbJ5_eb5d=>(Q^)s+14*rrZF)s.o=&!s&AOebu:o~> -rOi3]rhKX*eRE!=s+13+rrCU:U]FrTrhKO'rOi5Y!3s3>C&n:jqRm5>!56'\!<:oh!*]33")7i9 -e``e0@b(1J!+LNZJcC<$h#@Fb!2T2d!rpg$rM4r~> -rPAQ_rh0F"dTp.0s+13+rrCL7T`JHIrh0 -rOi3]rhKX"eQQ.-s+13+rrCU:U]FZLrhKNtrOi5Y!3s3>C&n:jqRm5>!56'\!<:oh!*]33")7i9 -e``e0>1N>B!*XsRJcC<$h#@FZ!2T2d!rpg$rM4r~> -rOi3]rhKU)eXV3@J^oM*mA'blec)?E@f5eO%]``'Ms5(Hg!!$4"]`W!L -s4->/!FjUQU]=kTs+13$s4mVT@K?$""/PtIebu:o~> -rPAQ_rh0C!d[>[7J^T;$m@aPddf,p??2_V@JH2sh")S&laKr"/Z%Gdf#ki~> -rOi3]rhKU!eWbX8J^oM*mA'bdec)?E>5c,8HN:=a")7i9hYb%e>5eO%]``'Ms5(Hg!!$4"]`W!L -s4->/!F"%IU]=SLs+13$s4mVT=oe0o"/PtIebu:o~> -rOi3]rhKR(S:P.#@Y&"X@K=sXU]=m&]`EH[Z+U6S!<:pT]`;76!<9_8C&n:j^&.j1>5c,:C&n:a -kbJ5geb5d=@Y+Q1s+14*rrQX0s7P4OU]CGFebu:o~> -rPAQ_rh0?uR=SXp?%H;N>l`=PT`ABs_?#2fZ+^D#jUa -kb/#_de9@7?%N$,s+14*rrQI+s7P4OV#^PDdf#ki~> -rOi3]rhKQuP_!"h>(KlH=od+PU]=Ts]`EH[Z+U6S!<:pT]`;76!<9_8C&n:j^&.j1>5c,:C&n:a -kbJ5_eb5d=>(Q^)s+14*rrQ@(s7P4OU]CGFebu:o~> -rOi3]rhKOaJ^o>%J^s2=rhKO'rOi5Y!3s3@C&n:j]it74s1JPM!<:ohq>^_']tJ.\s4->/!FjUQ -U]=kTs+13$s4mVV@K?Gbp:UTD!<:U"rM4r~> -rPAQ_rh0=[J^T+tJ^Wu7rh0^_*^:nFas3g,)!F=.I -T`AALs+13$s4mVV>lao]p:^ZH!<:KqrLn`~> -rOi3]rhKOYJ^o>%J^s2=rhKNtrOi5Y!3s3@C&n:j]it74s1JPM!<:ohq>^_']tJ.\s4->/!F"%I -U]=SLs+13$s4mVV=oeTZp:UTD!<:U"rM4r~> -rOi3]JY[jmJY_J)!+Po?!IFgO]`W!Ls5*ag!*]:#s1JPM!<:ohqu?_#rOi;J!<:U5U]FrTp7q[t -JcC<$JcFO*"_%K3hS$W!!<9_8C&n:aebu:o~> -rPAQ_JY@XgJYD8#!+#Q?!J(6U^&r3Ps5*ah!+#L&s1SVQ!<:oiqu?_&rOrAN!<:L2T`JHIp7VIl -JcC<$JcFO*"^M-.hS-`#!<9b9D#jUadf#ki~> -rOi3]JY[jmJY_J)!*]?7!IFgO]`W!Ls5*ag!*]:#s1JPM!<:ohqu?_#rOi;J!<:U5U]FZLp7q[l -JcC<$JcFO*"^1p+hS$W!!<9_8C&n:aebu:o~> -rOi3]JY[jmJY_J)!+Po?!IFgO]`W!Ls5*[e!*]@%s1JPM!<:ohrVuq%qn3)H!<:U5U]FrTp7q[t -JcC<$JcFO*#%@T4hS$U+qu?t*]tJ.\s4,ZuUjr~> -rPAQ_JY@XgJYD8#!+#Q?!J(6U^&r3Ps5*[f!+#R(s1SVQ!<:oirVuq(qn -rOi3]JY[jmJY_J)!*]?7!IFgO]`W!Ls5*[e!*]@%s1JPM!<:ohrVuq%qn3)H!<:U5U]FZLp7q[l -JcC<$JcFO*#$M$,hS$U+qu?t*]tJ.\s4,ZuUjr~> -rOi3]JY[jmJY_J)!+Po?!IFgO]`W!Ls5*Uc$ -rPAQ_JY@XgJYD8#!+#Q?!J(6U^&r3Ps5*Ud$=*YG^23lMhS&tqq7ZrJ!<:L2T`JHIp7VIlJcC<$ -JcFO*"'kp,hYt7e!<0\8D#jUadf#ki~> -rOi3]JY[jmJY_J)!*]?7!IFgO]`W!Ls5*Uc$ -rOi3]JY[jmJY_J)!+Po?!IFgO]`W!Ls5*I_")7i9hY+VbC&n:akbJ5geb5d=@Y+Q1s+14*rrZ^1 -s5*ag!*]@%!*]B8"DRr:e^aVoJ,~> -rPAQ_JY@XgJYD8#!+#Q?!J(6U^&r3Ps5*I`")S& -rOi3]JY[jmJY_J)!*]?7!IFgO]`W!Ls5*I_")7i9hY+VbC&n:akbJ5_eb5d=>(Q^)s+14*rrZF) -s5*ag!*]@%!*]B8"DRr:e^aVoJ,~> -rOi3]JY[jmJY_J)!+Po?!IFgO]`W!Ls5*I_")7i9hY+VbC&n:akbJ5geb5d=@Y+Q1s+14*rrZ^1 -s5*^frW)o1"DRr:e^aVoJ,~> -rPAQ_JY@XgJYD8#!+#Q?!J(6U^&r3Ps5*I`")S& -rOi3]JY[jmJY_J)!*]?7!IFgO]`W!Ls5*I_")7i9hY+VbC&n:akbJ5_eb5d=>(Q^)s+14*rrZF) -s5*^frW)o1"DRr:e^aVoJ,~> -rOi3]JRX1>JR[hP!M!Wt]`EH[Y\F4>s.o=&!W`7rokFO.s4->/!FjUQU]=kTs+13$s4mVV@K?Gb -rOi89!*]?7"DRr:e^aVoJ,~> -rPAQ_JR*h4JR.JF!L[6l_?#2fY\aFAs/#C*!W`7sokaa1s3g,)!F=.IT`AALs+13$s4mVV>lao] -rOr>=!+#Q;"Dn/=daJ)fJ,~> -rOi3]JQdV.JQh8@!L-dd]`EH[Y\F4>s.o=&!W`7rokFO.s4->/!F"%IU]=SLs+13$s4mVV=oeTZ -rOi89!*]?7"DRr:e^aVoJ,~> -rOi6^@Y(>+Uk,?+U]K"TrOi2XXoJHto)Jcdo)Jgke``e0@b(1J!+LNZJcC<$h#@Ic!<:pR]`8'1 -]``'Ms4,ZuUjr~> -rPAT`?%J]#Tn/p%T`NSIrPAPcXoJHuo)Jceo)JgkdcdA*?./G?!*t0UJcC<$h#@I^!<:pR^&S02 -^'&9Qs3f?oTn!~> -rOi6^>(NK#Uk,?+U]K"LrOi2XXoJHto)Jcdo)Jgke``e0>1N>B!*XsRJcC<$h#@I[!<:pR]`8'1 -]``'Ms4,ZuUjr~> -rOi6^@Y(>+Uk,?+U]K"TrOi5Y!0I3\e``e0@b(1J!+LNZJcC<$h#@Ic!<:pR]`;76]``'Ms4,Zu -Ujr~> -rPAT`?%J]#Tn/p%T`NSIrPASd!0I3\dcdA*?./G?!*t0UJcC<$h#@I^!<:pR^&VI:^'&9Qs3f?o -Tn!~> -rOi6^>(NK#Uk,?+U]K"LrOi5Y!0I3\e``e0>1N>B!*XsRJcC<$h#@I[!<:pR]`;76]``'Ms4,Zu -Ujr~> -rOi6^@Y(>+Uk,?+U]K"TrOi5Y!0>[oU]FrTp7q[tJcC<$JcFO*"(D91hY+VcC&n:aebu:o~> -rPAT`?%J]#Tn/p%T`NSIrPASd!0>RlT`JHIp7VIlJcC<$JcFO*"'kp,hY+YdD#jUadf#ki~> -rOi6^>(NK#Uk,?+U]K"LrOi5Y!0>[oU]FZLp7q[lJcC<$JcFO*"'P^)hY+VcC&n:aebu:o~> -rOi9_@\ir&n"]p`JY[jmJYW=s@f -rPAWa?(q2sn"B^]JY@XgJY<+m?2_V@JH17pp7VLmde9@7?%N$,s+14*rrZO,s5*I`"Dn/=daJ)f -J,~> -rOi9_>,;)sn"]p`JY[jmJYW=s>5c,8HN8Vmp7q^meb5d=>(Q^)s+14*rrZF)s5*I_"DRr:e^aVo -J,~> -rOi<`@\a#'U]:DaU]:CGUk,=mU]K"TrOi5Y!.gs>U]FrTp7q[tJcC<$JcFO*"(D91V"JI)!<:U" -rM4r~> -rPAZb?(h8tT`>)^T`>(DTn/ngT`NSIrPASd!.gj;T`JHIp7VIlJcC<$JcFO*"'kp,V=e[-!<:Kq -rLn`~> -rOi<`>,2/tU]:DaU]:CGUk,=mU]K"LrOi5Y!.gs>U]FZLp7q[lJcC<$JcFO*"'P^)V"JI)!<:U" -rM4r~> -rOi<`@\a#'U]:DaU]:CGUk,=mU]K"TrOi5Y!.gs>U]FrTp7q[tJcC<$JcFO*!b)/*o)Jjle^aVo -J,~> -rPAZb?(h8tT`>)^T`>(DTn/ngT`NSIrPASd!.gj;T`JHIp7VIlJcC<$JcFO*!aPf&o)JjldaJ)f -J,~> -rOi<`>,2/tU]:DaU]:CGUk,=mU]K"LrOi5Y!.gs>U]FZLp7q[lJcC<$JcFO*!a5T"o)Jjle^aVo -J,~> -rOi<`@\a#'U]LOlV#CAnV#CAnV#LDsU]@1jrhKMoJY[jmLSOt$@f -rPAZb?(h8tT`P4fU&G&kU&G&kU&P)pT`Cbdrh0;lJY@XgLS4as?2_V@JH17pp7VLmde9@7?%N$, -s+14*s8QBps8UOGTn!~> -rOi<`>,2/tU]LOlV#CAnV#CAnV#LDsU]@1jrhKMoJY[jmLSOt$>5c,8HN8Vmp7q^meb5d=>(Q^) -s+14*s8Q9ms8UXJUjr~> -rOi9_@\ir&s.fVprhKMor1jSuU]@3d!!&eprhKMoJY[jmLSOt$@f -rPAWa?(q2ss.KDmrh0;lr1OArT`Cd[!!&\mrh0;lJY@XgLS4as?2_V@JH17pp7VLmde9@7?%N$, -s+14*rrAJTdf#ki~> -rOi9_>,;)ss.fVprhKMor1jSuU]@3d!!&eprhKMoJY[jmLSOt$>5c,8HN8Vmp7q^meb5d=>(Q^) -s+14*rrA;Oebu:o~> -rOiBb@\a""! -rPA`d?(h7l! -rOiBb>,2.o!4l&!eb5d=P_%A9eUc8l -ebu:o~> -rOiNf@\a""U]@3d!;rVm!4W~> -rPAlh?(h7lT`Cd[!;rMj! -rOiNf>,2.oU]@3d!;rVm!5c,8HN8WIo[SMgJY[jm\>4W~> -rOi<`@\a#'U]LOl!BUjr~> -rPAZb?(h8tT`P4f!(d!26(d! -rOi<`>,2/tU]LOl!BUjr~> -rOi<`@\a#'U]LOlV#CAnV#LE"U]@3d!!&eprhKMoJY[jmKqnb"@f -rPAZb?(h8tT`P4fU&G&kU&P)tT`Cd[!!&\mrh0;lJY@XgKqSOq?2_V@JH17pJY@XgJYB- -rOi<`>,2/tU]LOlV#CAnV#LE"U]@3d!!&eprhKMoJY[jmKqnb">5c,8HN8VmJY[jmJY]?BJ,~> -rOi6^@csNe!.gqsUkGNEeRJKj!IFftUk,=mUk,>BUjr~> -rPAT`?0@m]!.ghpTnK*?dTugg!J(6%Tn/ngTn/o -rOi6^>3D[]!.gqsUkGNEeQVpb!IFftUk,=mUk,>BUjr~> -rOi6^@csNe!.gqsUkGNEeRJKj!IFftUk,=mUk,>BUjr~> -rPAT`?0@m]!.ghpTnK*?dTugg!J(6%Tn/ngTn/o -rOi6^>3D[]!.gqsUkGNEeQVpb!IFftUk,=mUk,>BUjr~> -rOi6^@Y(>+Uk,?+U]K"TrOi5Y!.gqsUk,=mUoU;A~> -rPAT`?%J]#Tn/p%T`NSIrPASd!.ghpTn/ngTrXl;~> -rOi6^>(NK#Uk,?+U]K"LrOi5Y!.gqsUk,=mUoU;A~> -rOi6^@Y(>+Uk,?+U]K"TrOi5Y!.gqsUk,=mUoU;A~> -rPAT`?%J]#Tn/p%T`NSIrPASd!.ghpTn/ngTrXl;~> -rOi6^>(NK#Uk,?+U]K"LrOi5Y!.gqsUk,=mUoU;A~> -rOi6^S:T4AeUc97eGs(W]`EH[JY[jmJY[jmX/(7~> -rPAT`R=We;dXfj1dK!SO_?#2fJY@XgJY@XgX.b%~> -rOi6^P_%A9eUc97eGreO]`EH[JY[jmJY[jmX/(7~> -rOi3$JRX1>JR[bNrOi5Y!.gqsUk,=mUoU;A~> -rPAQ&JR*h4JR.DDrPASd!.ghpTn/ngTrXl;~> -rOi2qJQdV.JQh2>rOi5Y!.gqsUk,=mUoU;A~> -J\?WJJ\BmQ!IFftUk,=mUk,>BUjr~> -J\luTJ\p6[!J(6%Tn/ngTn/o -J\?WJJ\BmQ!IFftUk,=mUk,>BUjr~> -J\?WJJ\BmQ!IFft@Y&!>@Y&!h@Xn~> -J\luTJ\p6[!J(6%?%H:4?%H:^?%;~> -J\?WJJ\BmQ!IFft>(Kk.>(KkX>(?~> -o)A]kJ^o>%J^o>%J^o>%J^pXJ!1`TZJ,~> -o)A]mJ^T+tJ^T+tJ^T+tJ^UFD!1EBWJ,~> -o)A]kJ^o>%J^o>%J^o>%J^pXJ!0m$RJ,~> -%%EndData -showpage -%%Trailer -end -%%EOF diff --git a/helm/papers/calculemus-2003/hbugs-calculemus-2003.pdf b/helm/papers/calculemus-2003/hbugs-calculemus-2003.pdf deleted file mode 100644 index ab4fd2bdb8e6b1395ca13bf19d70ace4671a0fb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 359155 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

    `8&*$?lMt>w*jS1Q!PDIN*wJ;(i*w$c$Er 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 IkG|Uc8=p5J&j0`b diff --git a/helm/papers/calculemus-2003/hbugs-calculemus-2003.ps.gz b/helm/papers/calculemus-2003/hbugs-calculemus-2003.ps.gz deleted file mode 100644 index 085afb245893ae29b1f45b4dbb3efcf244e68c6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206733 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%0AypfBG%+Y3C2W3 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
    M1Wj8e2['m$*SYr[#]=GSjaiM06_mZeV['6dCZ_j7[ -Q^Y%e^:_%j_o&aRS>;pGPFnSOZa\0?lJL(3_T'EtWN!&#URn0VVP'EOUo(,o\%fJ]Yc==\Od)<0 -Whl5ORA-OZX;7\/Xh2N]YcFn/X/`8#W3!JIbfIZ9b5Tj'cca5@[]ud#S>2gWU7\-UX1#XIripm_ -a4&l'jQ,@Sa0M>!P*quAZG+B%^TO<'WkQ^)cHO;2>-bg4bhe^`*c\?W9K`mNAcg>LuEeBuh'jQcF0 -o(DeLq>C0kqY'prpuUJrkkb)IlgalHrr_QSo(mq;JcC<$JcC<$JcGZJJ,~> -nc'm-3^!n+?8Al0@j9JcC<$g&D*MrS[\UrVZZrrV,"F!<.QLJcCo5!<)co!<)os -s7cTmr;Qlso^M>JrrW&dp%\P9qX!2*q>^3To'>H,qu60Mnb;M>rr;`\lKe$;rV#aKn+lP9kjA!8 -qY'p_!;c]p)#isdl1"98lgO9,kj7g0kjS9Cp$_MFrr2lr4o=mFlJgpop%S4Rna#K/p\k-lp$hJ< -kN(pomHWitmIU#:lL+?@o^2&4n*]W2mdfuBrVZ0Nn+6/Nq!.;Es!RL(jll:2oBblAs8M`dnF#T1 -qZ$s82cpr:01>jR`BNIeN'dlh:;Sp%.b?o(;>7pA+=NnEfT6o(2YVrVuogk2u1- -p[e"Nq!dP5o()>Ana5]0pAb0iq!I;9s7,:^-Mk32*smd]rBqYBjRlKIU'qY0UMoChhFk3ML, -qY^'Rmd9K9qtfpPp\+(Bn+QPOs82BXp%A(SpZq2ErVmT1n`oQ7o_&%InGE7coBblBrVQEgrr69l -lK@F(r:TC?l/_!trqZ$Lq>U0XnFun]r;-6`p%%\?pA"7Fl1=oQs8VcYlLXrGo^hYGq>C*`q>9jR -meHh^r:fmQkj8$?rr<#tqXWq;lKIEsn+6/Ko()G@p&=tCrq5jUrVuorp$:l/o()52p](9kqY^?h -naZ5Dr:]CFnET?0o^:f*nb2eXq>1*j2tu_'kjA$2lK@R-q=a=Kna>l8nbE.ap@%JEqXs7AkN:pm -nG)hTp@@S5lLb#Pq"F@Kl0.F+rr)jZq=Ee;o(VkJn+#]+lLt8Xn`TK;p@7S@rr;ldl0@sArUoRG -nbN4bqXsUYq=jLQq#(0co()JJq"F:GoD\bBp$:r6p$qPFqY9aTnaGc*lKn99o(2A8jQ,_&o]5!# -s8VZZp](9hpA4gZioKb2s"!s7nFlJEn)s00mcj'/p[R\:me-;EmHjB=!oCVD0jm<$Ep@S%KlfRjT4q"a^VoC2GPrseu(qYgHflKIR(o^M,9rVm?# -l07m@s8MWZmHa-.p&=_WqXO1EjQ,n/qu6Wjn+?8?md'-%meQn_p@7_Krr;uln*]iJs8;BSoDAC\ -q!m_?q#CBfmHEj*p\Faco]k]-md]]1n+HPRpAY)*r:]dTp#tc;s8W&dmJm"Jj5T1akOniSp[7JE -q==:[s8;KWnE]H/m-X62o^VJCo(;PGoC;DBnaGr7n*TW7oCMM@l0%@+s8VcSj7)pDo]k]4rU]ON -qu--TmI0iMs82HWlhL;Mq#::tpA+^eo^V\RqtBm]o^VJHqtB^Ql0%I)o)8CYp[[\gEkj8$Brri,kme-8PnR:nOp%8.]q<[M?qY'pgs6oCPq!$f*q>'[Q -s8W&em.L5Ip\Od_p$_83nFQJUs8Munr;-']s8V]]o]tu@p\Fd`m-3d%pA=[Rnauk]q==:Qk3h^2 -rUoUNr:fL8iSWo!rVmK)qYpBiq"F=Lo'u8:m-jWCqYgF@r;Zfrp\+.GmdKW2mdTQ/p](3`mdorA -s8Vo_n+H/Dqu6KVh<">/ru_75lf[j.mHjBoCD\VrqZHjs!%7-p](9doD8Ids7ba@ -m-sN5q#1'WpAb0epA=@Hp&G!YnGWA!q!@DRBoDS^_m-O<p\t3mqu610pA=mir:p$^q>UEkoBlDPrql?Vo()SRrq>aElg!p,o`"k;p#kH* -p\b'krV-0am-"*?p%&+ZqY'LMo_/=_o&\cjp&=g`oBl5Ms'GKilgOTGs8MQ_q>^Koq>^rqcEYnb;hSqtBjbs8VZSoDejalg=TLs8Dodj5]V)rVZ3Rp\t1V -qt]XIp&G'elfdg3nEK<-mIC5Vr:0LSp%SIcs7bsKp&4aXn*B<:s8Viep\=afs8)Kap$V&-p&F[M -lgXiOrsJAajlPq,s8W#dnc&P:p[mq>k32=4s8Vils8W)oq"a:Is8W)frVuopp%@qFnFuGJrqZ*S -rVlg*rUK4=lK@U2s8DHQo`"kTp@%VBmeH_SqZ$BYlg='/p@.J:nF-DSo]YN-qY^Bmp$M5Ap[7D5 -nc&Rdqu6Hdp@IkIqY]UJp$V)6qZ$u:qu63NjR)[:qYTjLn+ZhR,P1U&p?_JOr:/t9nFQ,8mI0]Gs8W#gmHsE>s7#a^ -s8;6PqYpL2o'#9*o^DDCmdBZ;nF-/Pqt9UXp%\OdqX:!Tp\b$krVZZrq=spg!ri)pq>UKoqgncus+13$ -s+13Cs*t~> -oD]^(i3er0M1C#'H[0m]G'/"TI>3TBVS(76rIP!"s7$$grUTsmr;Z`]io0(\rsSDZj7**Ip?^nu -nG3"^!VuWls8VuprsA;_pAb0ks8Vomp](9l!V6*`rs&Aoq=En:pjrHrs/#`qq!meAm.'rPs8Dfm -o(r=XkiqR6s6f%2i7QQ1j6HUk1mTqnN\R\$.BS>*$dW3EnL]XGDig"b?7eC)OZa1ACQX/DV\ -R?j)*Ts)&D_R?SHUR@C6PEqZ/VQmV=W2$,fY,eIsSXuIJUoCQ)\A5kdXg#1>]sXiEaNhoOb^@@9 -UR.::Tq.UI]#r7;\A,hr_76D3R$atg`P/^XTVeiqW19*5N1m/@R@p7A -R[K\@YID6dcbmc:XI5R -O-,3VR%p=@QCY=k^;A%Dh;,`NXK&G-VjWd6Od2`LZ_jCqYGn1iZ+U(RHG6kmW2#cRVPKcTWjT4A -Z)3qRS>DpRTU_UOY-PRQ_n`ae\A-,"\?r?6W3WnF^r!t'\#u['S!K;'PEVN%S"umda3rYf`P91) -_SNXZSXQ+BTUq^_bg+AP`l#V43a8At,E]PE;$!TUM(* -N/a!eSZ&m&X.l>fX/)2MP)k]iSYE!VU7Ra9Q(OtPW2Zo'ZF@NlfA506f#kLjQCFP>R[BS4R%CFk -]<@irS!oV*R&$s^TUDCP\$W3)SZ9BKeBZ"J]XP5R>.MPpcG-TZSXZ:NYI;9lbeL3PX0oLG[(s3FcHF8G_Run7NfT?gR\dI/^q7(TS"$=`]="iCXfSb8]=kb]Y+D,HMNFU=\\uOuVk]cFP)kW_ -P+8;=Q'@T(U8=ccAYuW@`Q5]nUnt2pXJqqbTrGK*Vk0?IUT1Q*Z(mSENK0*\Ng?B=Xf]FT]sk5G -Vl,uSWO]XEU7A3TQ^48DYdD0`_Qf\uR%:%V\$`3*P`^cXL4k24LPgkBKnP&/JUi)pIsui2I=Hco -IY*?3MiPOKOI)8qQC!qSS>s-5]<&!;_TL-?WLg6*^ppJ=QB@)fS"[1*_6'2kOclEBZ*_?e^:V(gWhH&\ -Y.;6SYG\1bP`q]B^U:,:UoLGgR$*i5ZF@3J[A0"GP+JPKW3X"M_S -ZRViOVkTcPR$4,4VQ[%mU9MJPbgOP>ZFm]HU91u;[BdQ_Z_!AFOG8RLNrG,LOcl9/Vld/+Y,nk3 -XL#aVYH4[mTVnT\V4a$6OHuN9US4j"a2YB\VPB9AS><c$b -PE_9#VR!bH`6639]thInWM#E4LPh+SRA-EYUSt5gQB[l/VmQAR%:+[[^3!&OHuZP^:1Yrd_W8s`6uo@U6^tAY,nY.]t(2=Wii7fPE_N<\@@!g -U84`cRZE>dOcYft[(!08[`$)"\\#>PVm4.c^U:Yj^UpkNX/DYe[)L,$\#uHqR$jYISrebdMhd+K -Od)&nS#3$RT;AZq['R'DWP$Bp]sXr:R%g^gYHG.=XehYYS?KQ1VOj0AQ^*l)USFNTS=5k6T:M^[ -Z`^UI_SS.G^9jo=WjK4D]>`+Cc-Oqmd(?Eb]<7s/]#W:I_Q9K$Q&UNXT"2;:[AodfVl$N.cc`l0 -D9CJ_cafmDTr"foZ*(CCZ`:^V_6pGP\%&?$PaR\uTrbT%VPKuZS"-+FXhDHTW2HZ&]!\fO^rXpC -]sY)T\u_O)_9^NZd(H'HV67JL^pg\UZ*UsN[^*BHXKf4BZEU*pSt;FHV4ZDs`"Z$`[LT:i!c\[\c:St):BTVf*1]s"-"UT:W)Z)jh%W1BBVYcFe9 -]!erJX/rJ7[&TdhU9h_Yc,I<0bK@Q%TpM1=TqeKWWj9@_c-4bdahbm6^TaK*XL5FA[_'5RTpV=L -]"bhb^V$P5Q^jY9SYN3iYc"(YSYW0`Yd:YQ\[\uFUSFHNSXuC>QC=D;X/_n[N/a:(YPtk?ZF@Qc -^r*[ZTrkT&WhZJs[Ca2e^r=F5Z`(+C`OiRndbrp0bdO45T;\`cR@UV0jPS8!Vjs0LW26/[U8XcT -USt?)e(;dV]!\WB]#2=gU7@dGQ]I2mUVGL?5P+Sne -]==rC\@o/CU7I[8Q_Udr^pq8*ccaDNbe1d@ftjl&ahkNgW1fTGSX,tLX/E&3bgt7`\#ZC!S"Qgh -Z)FM']Y:nUTV.dDVQR#(ZDsCXQ_(+SVPBraVK]JVXeVSiZan)o\#H4%TpCn*SZ]H1\@oMd\$WHJ -\%ATG]XbPfce$Fbc-XPBZF.K__pHuY\#6O>[(!H@T<,fD_o9R-[&gRHb07r?Xe;8XTV80ZWiDtl -VQmM-S!KP=Tq\BQQ_Cgq['?pH^rOC@f$(IkP*0XFP*V`A\]WU[d)3H#YdD*O]Z%muV5Ul@aMkWe -USXoaVP^&ZUSXc]UTL_nSuAccSu&g,\?W9O]X"]EV4!dFV6$_nTrYf2Xe_S]U8Flm[(XW4f?1Y4 -Xe_PYTWG]2Z*h6SXf/;&\AH8+rl]?%d*95-YI([E^;7@\Tq.d]_8j^W33>+Y-kpGYHb4*R$O2,S"QIGS=l[QVl?Yu]#Mn,\$<*9WN*// -\\cVAf$_d\bK@cGf%%pPY-(j,USkB$X/2M_SXu^`ZEpmF]Z&1Gdam1,d_W&WQ^XSFY.)$XbJLZf -X0]IWaihfBZD4(gUSY66fAYiSh:pfJp$UV\cGd?!ZF7'>ZF7KieC)FQ]X>.4^WY$UgY_,ao]FoZ -f\Y&o]",Mi_p$HObK.T5['Qd.W3a4Q^;eOMd)Nl;`QZfdj5f:]iRuuCioK.Zip#[jnb`>.p>OEC -e(rs@j5T+]meZeJlMpnVk2YL\hr*V]mcrWlr;Qcir;R&fkjmp$nb2\RqYpWpq>Bsd!<%KKJcC<$ -JcC<$XT*e~> -oD]^'et%/*D.dmq"!Y4pjrHrs/#`qp$1]&io]q6s8Dlp -p\k*cl/q:-s7#75hpp-%hrjt5h:1-@oCMD4iS<)8bIk-nce$OZ]ZsVm3hNb.k[!UlU=hNf&OEM2d=DJ:DloKSbVMR&IF'\$W37Y-asgPb4S2JUW-&Ll@F[Q^jS5 -Oc,*VO-u8pMiNs]L3e9"M3OKsOHYkkQ(">8PDbK`PF88P[Bd0;R$!MmOdDZ1UV,",f$q[DSs5+\ -G'7hIK921PM3=jC\\H8:h;5iNW1frYPCrja@t^2JX.>HDTUM(4WOTphaM>3_SX,+nR$Wr"UTU`# -VjWHqM3=!cP)k`nTqeNh['H^1YIVQ`Z`^*pT;eor[^WcUZ)!_HM1^G4K8#DHP+A2G_U$o`_nHeP^em]YfP,7ai(lmR$3r9]"k>-J9lX#P*;-)YI(dHW1g5jUR@*qK8,8;Iscj*OH"p@ -G^=ptP+Sk[V4*dARZiPZIXHWuNK]`qQ]mGdNgQK4T:r0^Xg5IWd+Hjsd)T`QZ<9]t:e[Z*V'Za1.q3O,fHrWO'Icb-mt/U91]$Wir\/ -Un!^0K6quuS!f\5Q]R,^P+.hnKp&1/TVAQu]X+oP\>>IRSYrBZO+Dn>Lkge=Ng,flRA?j\Vfnc' -R?NMbN1-WJXJi5&XJVhoYHFe'Z*'mtYJ\>gU7%.,QBI2eQ`d3XR[TItIY3N:L5qXkPaS,:T9te$ -OeoS2c-!r:[&K7F2]V5Cl9\$2g) -SXYV!R]*6UNes6kNK0F(YHbdX]r@3QMN4'tWhu2@IsZ0SD/4!+EHH2=Ch[QpA7JnO?sd;NA7Tjk -@qTRsFE_tWK9rUAUR779V5^,QPaS/*MiX9uS=6.S]YhRqYGnA(['dKcdETMMd*9>8['6EqQB@)_ -O-lN3TUCn&Q(+>FVPB`ILkUYRTrb;gW3<)#ZF$g:Y,nXtSsl7NYbR;2JV8oKXLuH`Wh#f]WMr=d -WKr*YI>!0!JV8lCVRO:OX/<,7`QGojQ)(gtZ(mPF`hnSH[L3iIufkaTqe?UT;/0S -VmWh+TULe$QB[W#P(S:8KoZ1rAqglQ&:P[Z`g-qVms[SXg5RM[^)a,T:;@O]YCkVU6^gqLQIg[I!0aZ1j4+l -Jqeu6NgQ8uPa\DKY-"b)UU.eMZDaF^Mj:';Vkp>mSs#"dN2!VXSl0kTrkZ+XgGj_cbd5q -VQI"oQ_h@sP`q8q -Ts)/Qe_/RtufZP`qE(Uo'iMM27:^S"HLTVlctoR?EYlLkpqFKS"r>@DLPUP0Iu'H!cdpRpc,R`@^pL;LYGe(`W3WY,U8"K^TppjhI=REPWirV$ -UTL_mP)Y9MJVKA_XgYFG`Q?0=`+@!#^!YHGX1#sXY+qSSNf9-ZQ(ObAV7+Chb.XmMS!B"tSuAHT -S#S"6+RXf%\YUTLf8\ZDBiRZrV^L6A=7Y-PODZ`pL0X08q* -YI1^C6bLOicH=/G]WA*7^;%Y6dD2TBUo:8nY+M2]]Y1tk\[&-.Ye8#q]W[ibNfK9gR@U"BR[0GA -X.YT4O-PonR$!ApWW&rJY-YaT]#2\)W0E="K7JZ=Up\>!h9j-LXJ`)&Vm*hJZ(\&"]Y:tVSS!g%LR['>=XK&(n[C*07Um6UiQCk"LS!BVKV4Em6P*MH)U8P?5cI'P6Wh>`A -OHcNGYHP:C[AfpuVm3kH^qdk']>DIms/>t!@]HcCXeM5LQ`Rj9\ZW'C]qq6hTq@R2R@:%W\BO!t -imuN%aLS4CVPg/WQ'e/6Q^FDAV4s]`Z)4FtVON^-P)PNhQ'.5mQ^XJ:SYE9t]s4W7US4?TW2Zr/ -_p$KRbf.iOGK7hQcbm#cVP9NMVPB`NQ^3o(U8t)bVldJJce-h>L)fV3?XjPFnk]]">nkWLoi^ -[CsJs`4`=GS"H@JYJA]Ej5\hFhWXh/j4)DkZ)=S(XJ`8.\\cS5_7@1c[_L#3dFR(4o((ekdaQpp -^pghd^qn%2a!f$L_7-VLTp_OT]"l"qb0eSV_o0X@e(Wa?i8rUoa]s75.(gtLH:jm2I(h<"S7!;69i#jpsLkihI-p%nOb!rDTbpAY-kJcC<$JcC<$ -JcDhOJ,~> -nGa6ol0Rg+p%%P:kih=#o_%eBlg+!/qLSZts7uZproO.^r:9ITir9&Wp\k*or:TIUn,ECdmJd1c -p&>$jp\t6lp&>$knc/XgJcC<$ec,^EoDJOd*<#X(p%%kWrqZ6Yp$heWs7u<]rr<#rr:ojOnb`=c -"8:pFq"k"Br:/h$iqEEJnF#Grm/I%VjQc7"k5,,NjlYdqqYg-Wme?bWkiV$mnauJLqu$His8Nr, -lKIX+o^;)0jll4/rUp-hs75F@m.BoGrr6C%nF>o3m.0c?o_J4NnF?,Dp@7G6nb2VDmcs<6naH&@ -p$V,1m-a3(mI9`=o'u>Eq>C9mo'#B+mJ6JDo`+sgr;6<\ki1gooCD8n% -lg4-6rr6m7q!mY:oB#NBs8DNNi8j7qn*TQ5lLOT9l1+<0m.9c>qt]gSs82iro]YB$nFZ2=q"sgS -n+#i4lfmTtnF-8SrqlmIpGRo'5lCo^qnOn*_4_ -lg4-2mHX<9lf7-soC))5lL"6;p$q\;i9^C@rtG7rk3V[+mdf]/n+,u8o_SUfrqu`p([pVJk3r!5 -lK[TojRE*@l/hR9p?:T*q>UC\rVH3ZnaZJUq=!V=qtg9hp$(]1qsEb:me-PYrqZKkq![SCrr;om -q=3\6nEfiAoCVqUo'c#3kih@&o_7hGp@%VPrt"ekm.0oIr:o^DlLFK9m-jiOs8=kHmI'K>q!IA4 -kNVL/o^D5Ap%.hGp&G'jp@7V?o(DM?lgFB;oC2GEnF?2JrVuT[lL=TEoBH8:(?auOo(;_Qp?L\u -oDSIWp\Ogbp@7qWrVn/8n)j'0p[mnCoBtl+m.9c.g["S4p$1f9s82EOl1P)QoCVeSrr7-;o_/%Q -p%J.UqXEh;nb;hQp$(Z.s8VcYkjA*=nFln^qtKdVp\+.Fm/6\Xrqc-Hhrt"n*]fBq=O.EnacAHn*B?-l2(>Wr:fp_s8)9Rqu6UVn+cYO -p$L_umecqWoCr+QlL=E5kj.j0l0Rm2q"a^YoC;YVrqQ*Wp&FdQlL"6=o'u\Ys8;okkN;:5s(M)h -j6Gpto(;D>nauPHm-3s0o(i%Ijn&BBnEK0#mJ-_]qXC!Wo_\[^o'Yc-mdfoJr;?Njp%.\?o(r1QoCh\LqYBgWq"t'j -r:BOXs8)9Uo'l):p@e=^qr;Zflm,m[1rVuWSh!=h:rV,aDlKRd0 -n+6GUqs8MWVm.0uOs8VsEoChqLnFQDIq=a[bp?Ci/p$D>Ns7>j^rUfUOq"4.Ls8W)c -lhUPRnbr+[nH/1XrVlgPr:omZp[IhTs7GjOmIgAKo(M\Fo(2JIq=sIFmf3=\nFQ/;naH,FmHjWJ -p#bE'j5p(8rs/Mno_eahrqQKb$24#Zo(MqYs8W)rrtPA'p[dh>naYr2mcs<@s8V`\oBQ)Ls8Va" -q=X[cs8M9=k3V^;rr32to`+gZm.:2U'):\JhraS-q=FCVn`K$%s8DBLrr3&ep&4mi5POR0nb2J8 -m/-VHnc&Rgp?_8?rr<#nm-F35o'bu;o^:l&o(D8+m.gAOp&"^\lK\$@q![nRq=O7Eo^hG2o)AY3 -rq>dEjQH.7qXa+Fna,T2oCMD9n+ZSJk3MX2p%7nLli$i-oB53%o_%hCmdg,9lg!Trrr;`foBkr6 -n+$#Bo'l#8pA=[`rsnnuq!@SHqtKaYrr)clr;Q`rrVca)nb)qXm-=3>s8W#hnG_bVme->Rrq6<^ -#l"8blgk#Qp\b!i&bGA[o^D>Cq"+4VrV#pYq"4:Ys!dL-p[7DEs8Vi]n+QYWrq#OEnF5`-m.(#R -p$1`,nc/1ImI'Z>jQZ"*rVoUZjlc%'rr;lgq"=4Ilfd^+s8)9RnF?2NoC)>Gq>UB]k4/6Bp\Xg[ -lLXrRrV,mNp$qVHs8Vobp@.SJs82Qds8N#oo'c;Lo_/%Lli-,Mkj8$Bs!I?shrX1opA4X]s8VWK -lM(#Dr:BLPo'c/Hs8VEAg>;5hp\+1Fq#:;!qX!G9qYC-jqY^3hs7lIq#Cp$qVHq"aRLlKn$>mf2htmf3:ap@7Y@mI0H2n*]T1 -md00)qZ$TioC2>@p\t1=q>U?ho^q_Cl1OfGr;?B^n*'$,s8W)kme$;RrqH$Wr;ZQ\nG3(`/,&Q( -md0/rh -o)B'Y]q((:IscZjG^043$[I&GIt39:TWuSml%/khs8DosrVld2qt0=Aki:^ck2YOch;$fCiSihZ -l0803s6C-Vjl>1C`Q$3Yi8a"blMg$cm-*Hek4&!>lf[O+rVQ6UkMY7UhUTioeCrU+dE9>SfA5HH -i7ll6g"kE7f%]-Ehq$6.iSr\Lgt^oTn*K9#k2bR\hVI&AhW3tflK7-ag=Fj*daQk1kj%Kujl"tO -jR2jAq"4.Urr;rpqZ$QorrW0!rr)lqrW2uqJcC<$kl1h^n`Jilp%89&lK@j?rUfF>hq-<*d+7(2 -gXt06fA>WMh:C65f[8!kcH=8Pe_]HFb.54.f%AU)e'ZF[\>l4$]ue."YGItu`65s&]>M=mb1+D< -['dQba1o'h]#2%UUSFZi^Ve.8aiMB9dD;oUR@9V9Q^*_s8X?'MYcG.D](n_ -YH+LjQ^3huQ(+PJXf.qbUSOHIQBRo>'S"!'9 -P*_];W2#oJPF%l5SX>k=WMQ/KS=lFEUnjQPS!f_9S!T8#Pa%K0[(!69SX#M4USOZ]S!pFpbg=_X -[&0UhOc51JnYGS(mW1TB?P)ka!YcOI_UT1)TQ)(e(`l>g'YGRnYTr4cY -S><GpoWk,pISQ^=54 -R$aPHWLf6;SYDX:Oaj"-VkKKIW3`_)T;8^,bg4AF]=+rIZFI]g]+VmEe8 -ZbaMfZE:+)URII6YHbICZDa@]TX;2)TWu,<[&^CF_7$_c`3lA2UTCZ%Um$q.R[fn3S#30]W3`q; -ZEpj=UR[mKV67,.XK8J#\@T;`['Y:m_mchM\]N+/WMcG`U77=2TWbMsUnt&`OcPQ`O-l`@TqnTe -X/D\_SYEF)_7mRn\%8Q+OHGfrS?B`N^UUhVS!p4`_n`RVUSXifYd(4'TUV=4Nffj0Ye\)YTr"TS -P)YEYNL-3)Q'.>uTVeQZTVSj/`3uP8TqnN[TVDIaI&3g?UnXNSSXZFUWh,?4Nf]HcOI)cCV4aro -ZamQMX/i.uY-k^>TpqmMR\-^qb0\8O_R$#,R@KhIZE^6mO,f'TN/E@DLl@+DKS+i+It)`jI=6Kj -It;opK8P\PP*:rnVR3S(Tr,0([BHO.Z*pd/SYE'_Wi`VCb/tsH^:1AZ^r+(/aMkp?e^DIP]XFo6 -TqImCTrbZ*WhPuOStr:_\o4mOSXuda['6O3Z*D$]`P8sn[BZX)UT:r@ZCmGDNfg!A_Ss@tQ_1"S]Y(,-P*hlCZE'n5^U^tp]r7Ef -S#RZ*5lSY;jYXKf:Q`4)VEY-5:K];hEfR@gF^ -ZaI3=WMQ5US=H%>Sti<^S"-Fh\%g51\$a)d['7!L\@&`X^9X5kR$EM[Ko(eOPa7]7WiW>)WhuSl -WhQH%\9Y-OU7@sVSsl4=R%'V:Tr+``W3`Wp=gb?&Q'.N.X1PpNYbRMPV81'^\'3F?Y.;Bia1A=DR\-CLS"d6sW2Hi+X.#-6S?'33 -Y+hYdU77C3R[fb/P+nnIR&.-q['7$LZDst8`4`Og^q-qYVl?Y-U7\O'a25KpVOa'>SYhg8MN1Pa7W&R@Kh;Q^*o/TqS]p -[_9;][(3BJ]=bSY[_'5g_T1!Sf$Vlhe()m^Y-5I9St`X4f@e?ZY+_2ENfopC\$2d%R\6d^Xh)Wp -^;8+Jh9<1"USONYYI:gI^:h(l_nNRc\%B2MQ'@c$OJ&kp[&'IkUnt#bU8G&pW26AjZb!TKZFR`q -^UCGOZE'LgVmj[hd)WDfUnt0$]XY8Q=Kem0Wi<)'_7$DEX0/hAVk0EJRA$@BQ`.=$\%&lMTV\Wd -TUM:=X0B+Od+6FRZDXS*\$E0@[^EKEUn=HcZ+%3FV4jNPR\$Oi_nE(Dq?^pB`%T;83YYcFt4]>VG"da,hA^;IXeTV\ZkXK&A)X.l&J -S#Ws0\@9/]W1KWVUS+QfXg#+2SWf\CU7nTkZ+RWMUn=9MR$j>.Q'@T$Q_LCUSro-QSZT9.[^YZc0YdZ+\K;f?V48R[0\NYcX_!\'Nsec,?l_Su&IJYH4t-R?X54XLYjDWNa+_be^WdX/rA" -ZFR?CWj0(:Wh,ZLQ^")EZFe#dW1BN_\@&-%V6@,4]X+K4[D0Dj^9ji3TUhF6PaeVSXg>^T^:h+_ -Xg5O<[CWcP^!"gGbg4PP\$NC`]YDM8f#kCqZELFB^9+*3^V7\2`j;J5Z,4r:ahOpFUAgp,Uo(,j -Z`C%,Xe_AKR@g=XY+V2Z[C39;VQI>A_pR/^Z^d5DQ]dQ%V6Rh\ai(m#XJi;3[_B_uZ(\#$\%oei -YctF@W3*5&WNEJ5V5:Q1WLKNWV4aHZZF70K^qI(Z[&KObSXlX_Xei/6Ybn(gUMZQjSu]'*a4/be -_n)hs4]th\/]sFuLZ*hBf^osDtR&dsB^TaiK_7$SMXf%haVk0in -]Zf0ji6p*'d)*&dWN)kjStW'ZTVem!Z`^C6[]$1-XJ2&EQC453rgGjuR2^<+L9a3r]#iRlT, -f@S3[]>"9_B?AEA`k]*`SthjGTWPW0Zb+#i]t(bj_o0^Hg>1N7dE9SVf%Ja-f@nm0hWXq?Gk2"G/bg"J_f%JpCp&=spq<$Mi -k5P;Y#Q4;UiS<;Mnq$gls+13$s+13Qs*t~> -o)B$NV15hY5>[LuRC2A!DPc)@JjamGds8DlrqYpFBq!R>*j5&PLi8*8Kf@JO+gY:QB -jQ,@]jQ,F_hr!5?ahPX4g"t]LkNMp.&F/E9hW4+qqWd2*p&4aXlJqm"0AFss`QQ`WcH*o6bKe\l -gt1'$cHt.jd*:(lhU^#pdFd4)f@AF*io]:Yh;-i>f`'JMd*gY)iniMDf?hjgcH4>Zi8j%`k2P7P -gYqGmqXs:AqYgHjqXsmerr3&rs8Dors8)co!W)SBs+146rrr)`kN;%&o`&XjkOnlRo&nu`bfIiE -c.C\(g>1]Cj6Gj`eCE1&dE^(ab/h`Th<*V:\\6/8f$r'kb/1`lT9Z(X_S*7TT:N$u`Or@]^::Pk -d_iDt[(4&m]X4lO^9jT)S"?Xh]Yh_-_7mM$\"Jh=LdQrSL4k22Lm4L.TW>H*Vk0T]^V\(7c,mc/ -[&g'oR?^<"4*[&9:UR#@<0Y,\+XN/`p\L4=Pp -GDh]FKSt_@LQ[mqY-YLJa1/XcTT4YXKnY#*J;B5FLOshpGC+gmNgH<>[Bm6AVldD(Q^+&0O+Vt; -NJr[LN00[%R?*,WMN3dVLPV"UObnOCNf9$`QB@;jNJrjUL4b>BMi=%&XeqbYOH#BbO,]HcOJ9;) -aiV;sRZrYVF*;VII"R-.Oe9%j\%To7g=Ng7Ssl(5MLL!RHWbi]USF'1P+%SjLmtTbaN2-$V4*F# -OdVT"P+8JKW2,c9JVTADLPL\HR\?UTXg>.*Su/ZrXfA4dOcYljR@]tDWN)VYOGedCJV8f;Lle$l -TsVST_RHbR9!5:rT9G.kP*D,lS[?DYc-XP>WKrL)T!>r+LjO>mLm+6sUp./+Vk'4FP,#.[WLp#q]!&hT9>.qQCk1^X/2P]RB3QsY,eM*\#uL#Xh_cZSX,A#P`LNTPbOnCQ^=)"JU`3#JVo_[ -PEqT+S!fJ$OIN>a^:LeWW2>`,G'\^pNLmMgZ)apuNfBI.\$r?/R\$(BU7n$>O,]*RKS>MUU:7UY -TT"ngIs?-\H@:R/MM$G1L67spQBdc1ZaHj&Q'IDkNfB*cR@'M5Q'78eM2.=bR>cQ=G^=mgIYjGb -T:)UVXg,%*St).6S=u[DN/![`O-Z]Ra3DZC];_0XMN!XeV4s6.H?F7LF)c/;EcuGAD/*Zo@U`PI -?=72MBk1g_@q]h+H[gQqLRG'MIsZ`U.1[_',b_SNk.eBbq< -ZE'X_Q^*ShOdi)9S!8qqQ("5GXK&7nQ]@/pTW"c_V5gK&]"5;QY-"[uT:2:IW1&YDK3=%tW3s.F -Wh#`WV4sKFLjOH#N/E1HN0'R6_8O!iVQ@29]sXMnR]WltU6:(VH%Cj9TsLtfJ:<01S>DjKXgG78 -\[%ciO-,m+VkB?;O,o<_QD_9nTTk_,7Z`CUMj:0J\$2m-R"fp6KoD.ZSYE'f]=tPFWiW8'Z`BRU -LPqCgV5^StR[KM'M2@+FMi*R]P)"j\YckOS^9"?BZ)FP#riduW['HNfJqnr#DK0fFIY*3+R%0b? -T:D:6S!oV2Wi;MRObo0cNJrpWLl.+NP5^bQT;]0*T9GCqLPh%TSX,V;WLJj*P)GSro"pMjpfPV4!X=S><*_UlU4jQ(Y4` -\@>AAX/r(_Nfp!1Uo9lIMMR:^UopbuUmI"!Qa*otW56fnWNiqH]<7`gNKKNkNgHZDSt)ONQ\0L0 -Lmb6HUQq%-O,/C@MN3OIL6nKtOe8eZGH\!KZ)XLlY.:sAZ+.3GXeMS`R?aSV^:(8BR#crRN0K'C -GC4g`H@U^*KnG/AP)tHZQCOVCVPp/rb/UlbQ]@#fR\6=JVl5fANerq$\uM6\L4t;6KntS@Kn>)A -QBe,8VQdA.Y-b:9\@8cGY-YLD\\H>da#D#V66)@PH)@Ee&8J`Ne2Y'I>Y#&Tpq7-QCs\< -X1Z-T^!,$YaK1r&S!9;8WiNG;^::SYYc"7pXK%\CKoC_=a0_\1RA@!bVl?l&X.u,JR&$^cY,.VQP)tZcSZK?.UQC1cOdD]8V51>uRu*2o -R$k1[WMuV]S>3HeObA7?QDhU?_RdV1c+^BNO->iiP+8%SV5U`5]"QD4]sY;[[%W\PT;SKYUS=UR%4EYb@>MT:M:4R\H[XWO]F=W2H#;M3=3uW2,oXZ(m_OQBmVmOe/;M^X(EO -]X+8oNK0'iYcq01Z+@cbZ`Tt&\%]Se[Bd0O]X=i@Wi<)-]X4Q&O--0D^pg8=Z+@'8US4*;NgGm" -Wj^"&io/A9eBYb,T:_^EQBRZ+SYgdQ'%B/YI(O@\\#D\\@oYl`6Hf`e^Mjfbg=tqf[SF(f%/^ArVuie -lK$U<^W"UEe_o`Yl00V[jPSeJf?V=Oc-+8Ug#M8Tair>kiS`GAgY_,Vhp]lsc-=V_f%] -nGaUEo -p&P!frsJ`&r;-9cqtp!ZrVZ[-q"4.Kp%7tPr;-BkrqcB]oD84]!r`&rrr3)uq>'sfs8VusrVccq -qZ-QkrrE%Ls+14?rsAPppA4[dr:]g\qu6cml/qR8rsA\ulK.0nnFu\Jrp0[LpAY()p@J%Tq"+.N -na5c4q>^KbjQZ=5rrr)_k2be&rr3f-lf[[5s7GC;n`f02s7kgCl0e?BoBklCrs%rWkjJ09n,DkW -mi1ZorU]F?lLOZCn*&p"nb)VTs8W)glL+-0me6Y[*r,6op%eFXo^_\QqtK^PnF,`&iTg:>s8DQW -pAOsdrqU0tnF,rCme$;LnEK'%nF5],mIKW5p@IbFoBbl6nbN+Vm.()T(]F*slg*s, -lKn0?qtTsPlfmZsjlbsqq#::rrV-9jr:'1Ip[deAq#:3_lK[d1p\!q:jQl=)mHa-5s8Vlgs8Vub -oD&.To'bu5n*KB0p@IP3mHs-"kj.a2p@%88k2>Ltq=jLWmcj-0md'3&jlbjkm.gS[!W)Tis#0Z@ -kNVO-na,T,kNDF7qCmJ[(bq>C9mq>9UC -kjJHMqWmM4lLFZKrVHNflfmU#s8D`bnalMMq!mtJo`"@qp%7kCn+6APqXNt>oD8I[m-O'+naZVI -$hjDkmGm:#s7,LIqYpL$p%.nOp@\"@kk"fJ:%IcFq>0aPnFcA7hra\5s7>LDq"*tFp&+gXlhC,: -l1+`Ps7GI8oC;;AoBYW)oC_nQoC;>>mdTH&p]($Vjll'sn+?DFl/h:,qtBC=h!"V7rpfIKm-O'* -p\smLmdKZ:o'PPrlgj`:kj%X-p@%>;q"jOFp%A.\rq>dIs8W&mp\=FNs8)H`r;?Rq=Np%%J6mJ6e^qu$?_ -l/h*nnFlYGkjJHMrU07Fo_nghq![\Dq>0p`q>0a[qt'4Gr;ZH^o_A"Bme$PPoDej[mIgGX%/9;a -qu-QilKe0@p$htN61XR9n,*"Yp[dh=l1FQ2lhpeXp%%YMr9`_;oD8Leq!dbBmcj$2r:BCHlL=K> -qY]mPqu?K[p&FUElMpn_n`fN@rsnqto(;VKp\F^`s8Vi[q#143p%%hLn*Tc@nF,u;p&G'jna5`0 -q>^Klo(2VRrr36"k25LjlKe!;rr_u^oD\ah-i3AmguJ//qX3eCp@%MEs8VcWqZ$?VnFH;Ps8VcX -jQu9slLXT2pAY'pp$M2=oD\brr38sk2PIbmIL&N -rr3E!iofn,p]'s[q=a@Prr4J=l/q0uoD&(So_eahqt'(:o_.\Ds8W&ioC_M^KjmHj<2md'<5q#CB_ip?O@r;QrpmHj<3qYpL6r;Zfop%.nL -md090r;ZZ]kje92mIg/?kMkb#rr3)up\4Ubrt+e`m/HhHm.0rCpAb-Xi8X8)rs8Amp%nFTn*fuL -q%iu0qY0a[q=*tDnG)VBnF6#Js8VobnG`Fom+^XrrVZ]qo(;q]62^]Wna,Z3n*&p"o_J4Us8Dor -s7YjNqt0g_mHO0;q"k$jrUo^NnE0*0rr;objmMsIlg+!5s7YdFq>^Kln)Ea0rqlB- -oCi"WqXjX`s!@@&k3;0ol1"KAnFuhZq=3kAo^25Dq"!bs8)ZnqXa@Qp[@;.m-!QsnFZJKoBu,=oCqnKo()eT(A[h!lgOH> -oBkl4o_A"Dme-JRp%%PCrr4/9m-aH7nFZ\ZrVuopp[[eAnbi@`qtg*_p[.;:'fqYBjSlg4-3p%S.Lm-a6&iTTq.o^h_Mr;Zcmp$qPDrVufgo^qV@p&4msr;HZm -n)`g)nbE+`&,Ghhp%S4RmcWj'p@[qEp\t1!o'c/CrqlBUo_JLd$1dEImd03%lL=WIrrqiKip$.2 -rVm3#nDiWso(r=\qYgEur;6Kns8MqIs+13$s+13$s1A;]~> -o)B![_Oc[>I=-Hir-A*q>C'Vk24qLhr3b]k2tac -j5^-q(Ym]odEKYI_8XF5a3;9/]"c(r_8aU>b5TQobfe/L_RckGWNs(J_8aXsb^[m_bJhEBd*gIi -aN2ZVf$r9q_S3as['$XC]=>5QXJW2-]>27s\?rHH\$`KF[CX8h['@*V_S*Ce]Z8IOe'H(S_na"" -]Y1hf_T9j?`59'mZa@'E[(49$c-FPS_SNK&mU -RAHRFS!T5!R%::d[^!Eb_7[1VTU:t.P)bWmUSX]XMi!:MO,oQsT!,Z:^q$e^^pBo5VPp5XR\HaX -SX5\3TV7pCO,fEmR@'5*TW4raTWYMqS=laWUn='@Pa%;jNg9X6F.o_#Z)+%i^W*U]]>V@oXK0"L[^Ero^9!uuU9(VqPE;-$Uo0oRUog\u -[(EuV[Blm)S"Q[^[CNiSXeM8p^:gnTXgPgOYH"nC_6fu2SXuLCP*Vc=X/DS_Vk]TANf/maU8+ER -TV8$LR?j.\Su&KhY-G11[&BFUP*VQ,ZGF;YW3<=qTVo9;_R?J@W2$)cVk008QBRMtQ^abP\@er< -WihqWM2[CNMiE^RNK''kU7RgBQ_qC3[\K=_Q^F,/V5pAVS=Q@LV4a3=Str0MOH,EcQ]dN$W3*"i -VP^H&[4e\^W49:AXJVbaRAd![XguI!f@8!XZDX7ZPaA)DWh5N8MMmLUNerLGM2-h8`4NL`X/MhfUogl!R$!GgOeK5#_H=OX -V4srlWM#TBOHZ<8Um[aIWNN_H_nWaf[CN]OYb[_aYdLj@U6h"(R\HLTZEKpaPbk_#\u27)Z`^^Q -\YGUZQ("MIUn4-IT;AKd[D9YbV5'l\St)!%,^V.\,['-sS_8="![^j,_\#PdVQ'-rUKSYSLQC+):V50fU -S!]SSYE:p -PE_,hQ'n)/Q^F84S<&u+T:hmSWhmATd!EL1U77:,Pb"bWZa?@#W2-B.b-[h-OHl9)SY2=:PE1s% -Vl?f)]>)%eYH+_.[CNo^\[])bbgY1tf@&$ldE]D(VQQSVR&[pNhU]KER?$*`P/C@PEhQ0W33P=]tC5( -Od_l:]XG,RYc4Y1`3c;.Q^X\Q_og$:ajSDFYG.YdUn"*^ZE^L5ZE1:K`43%\]st)9Uo()hWi`7o -S!B5-Vm*S:]=Y>BSu&KfW\(QdYcb74TU2LST:)@T[_fVYUS+?RR@g(@SXYt1PFebXXe;2XXL,IE -Z*UpKIBouc\#QOA^UCM>SZJs$^q.%_[^WK@Z,!iQY.2X(d`SnlQ^O\SZEBt&]?]$V`431QTV8!G -R\6">S!TS7W4gI)`j2V?Stra0_Qfc&Q][8bQ)(h2f$;7\eBu@W`l5m.Za-g>\%fhkZ*:@*R?j8- -Q'@]3YIM$?U8Oo=T:VsVT:)(>ZcCV4]XYSiaND]=XKfOKVl$GrVQ$r,SW]53Zbs\hWi<26]=+iB -Y-4t0[(*KL\%9,MW1]cZTq%mVY.M]jZ)+81aht'DTsM>@^qI"Z_T'@#\?W!+TV8'JR%C=]Xg,LN -^;7LgVl?u)\@SrL]ZA:Ef@7mQs0@*[XL,gcb.t6UWM6)m^946:^:M"s^TF0$[`6_?`P&CEWMl_k -Unt)m^U:,@V4X-@RAR4!\Ykpp[(!??VQR>9^s:QW\##alSsPb3TVo-/[^s/^WM-<$^VRasVO*mX -XKf+;Za[NTWiiP*WNWY:VQ.;HXdYcRZ)aRgU9"VX0odfa0D5$RA@F7^oscD]YM=q[&BUg -UR.XT\&$;;f$`%"fZ^k)rh+V/S>3*_U8kK*Z`U:2ZDXV#WM5cGR@g%;QC!u,R]WcrY->45US+IdF6Iba1]I+YI)I'cG6p"]!SoW[&U4/X.u,NSXZ7KZ+\/uai)-7^qR=_WhH8hYI;'N -WiN8*Y,SJ.]>M:hZaRBOZELIDdc08.e]G\Ia2u]Zd`]VCZDjXnU8,!"\\Gtt]t12>X1,aN\A?81 -bf@K4_oU3F]t;(r^qS+Ff?hURYb@STS"ZgbYck74VkpK*^q[e+ajAPcbJ^s$^<4gJbKS5SbL>;- -jQ,7YhpfNN\])\@iTK7Tda-"S`]V/O[^a&j`l#a>g"b0#`l?9Od`KGKd+R:,aM5I'^VRt9f\tuU -kj%0Ua3NH.md'B8lK@3Yd`g"fi9U+8rs&&^qZ$Tlnq$gls+13$s+13^s*t~> -o)BZdWe,/(@UW_O>?Y06?=78SA8#n)HA7rqb1cE;s.TGqqt]pYq#14+qXX=Up#k2`eC3(&gY(63 -f@SU)rmDM-c,mr?]XbSd^:h;"[^*3J\[T,`rkK,^_SF"(^V%(\Tp_IMZ*q6Y_u@W)`lH$3]u.t8 -dE9AEaNi)Ubf%*%[C!'4U8P)jV4aBETVANkZE:+$TqnZaUS+Nb[B6="WNih6XKJnCa32QA]=PM[ -['R*EW2d/3]!f#NWhcGcV4sig]tqV)_nWdl\A-)/cd0n_g"P35f@AO+h:^B-e(*1-gXk-4h;@,H -s4S%=gu%/Umc`irkjnNDp%\C^rVulqJcCB&F6_T3ccsnmj8JQ4kNMU6puh55h9XpV\[JiDSX#4mP+o.bXe_JSTX),2TVeoj -UUS+IUo^W"[^E98TsD/.R$*MmT;SZgW^*M[Tq&0WPD"=.H\%$.It*-2P*_f=XJD8JRA$^d\A#hp -[]QX8YGe"RMM-G*H[g[)NfT!PN0p6+O,8slYI(_:\Q>u4U8+EOR?s5(R%:(W\\>u&^oa9"SslON -S"['lXfo"1SW/D[Kn+N!OKH@9\?`B:Tr+`XOGJXXR[0G;X160f^pg>8SYMC5R\-:CP)GB]LOFDi -G'8@hP)b9TLk1/:P+etZWO'FNZ)O=YLkC;0H$b.$Nf/^6E,g&JIYX#LVQ[A9Yc=q9WgfukKS,D[S<&D`Q^!VkN0^37U77^KX0Ak4X/W%qV5'ldXJ__XQB[JmPaA#J]saPl -Mk-lNVl-Z!U8"-EStM@*JXWF?[]Z?tWE@:<\Y@:sJ#H$t3oJ;TekSsGqJ[B?BuR@KtLSCOdMlK\[JZ;QA9p9It`uQTU_LJ]#DCeZE:@=[&fp_ -MMmR[R%C+KQC*nnJqSu?KS,)@NJNXd^U:D^\uDL,[^WfX[BR'LY,\%JIY)uhDJsT@IY3B2QBlKT -P)bHVLQ[aQLR=TrO,8[TP(S7>MNjU$Q]R>oQ^j\IW1&j/Ko(hQR\?1=WO/LgSu%a0Ni&nYVPLE4 -cd'A3T9YS$O-H-/W3Wn8Tr>-&[\oCKM1BeoJr#5BQ^FA@V43L&N/aF3Xe:uFR\d'cJ#AruKTVF^ -R\R=._n<^hTotM(S.n\I!^L$M26k?M2I4CMNF'gR%0h?Z,OVcSs#"dL5V@mWiW.[Od2&r[(iW*L4Ou5Ll.(AJq/9$ -OdMW0V6721X/;YeWirh>\$`QF\])e@e^VpibKIr4Ssl7-I>")qb14V>RtZ07G("gkV5KoHLlIdp -PaeGHXL5g]dEo\+StVU2PbP7]Zb=8j[BHR)U8Ff_PD4pTLP1tk\?)9kS=5h4S"61FSX,G$Q(tI\ -VlmYMcFpZoYc=:QR?seY^;IX^T:VdTX/DbdWi)_gSXH.N[&]pnT:i-`R#6`WIu'5OM2%7dTW#)t -UmdsMQ%a[@PbkFe]u\C2X.#0:V6I"tVQ-`!V3m:/W2m86Z)X^sSX#S9YI_'7O+rCJPF\JJXgGC& -KS5;GR'`upWhc,QU9^MVM2$nOU:nUd_8t$I\ZDNf/XJNh*T#d`AbmS<]SG\[eJqKRnJrH&%fh`6cWBbL+VU_nj(!Z)FRuWj0.MZ`C(#Q]-]W -LkgeHRAmHpTUMC>O,]?eNf8m_WkZceZELOD_8XC&V5q,/St95^V4OB\UlgCeQD_4&Y+h\hZEUC' -TVA0RTW,#mWiiV2U7IL.PDkE`S>ER,\ttaZZG3r@NgQiPZ+.9DXh;HYXf8(^Nf8mSKS5AVVPgQ) -[^EWPVk'K[Uogl!Van,1`m`Sg`3QACY,\hB`P]*UOd_K!VR<7lXLbjL^:'f%Qa4KO`4<%COIVi3 -R[9D3TXCkmQ][/[L6/".[^)B]QDCOXTV-8'Z*LpZbJUEOR@94lKo2(`Vm*5(Z)X7US#j$/]%_Rm=k_T9O$[CEi[\B3+Kd`fS5TTtV$QCk(TWi2_bSYWO$\%0,ea32TD^UgtiajJDXbg+DT -eDBBPjkSVEcbHfq_T1'\k2kLRf$DL\`4N:Z34HW;^;8+KiS)>f_oL*K`kodAf\b<&^q[Ur^V\1D -hrX"bkhj\$_p7<'k3hp+iS2`)c-Y2(kjn]P#5%B]s8VrfJcC<$JcC<$JcE@^J,~> -nGa?ukj.U*p%%YAmHj61oCr"TqXs18kNqp=JcE+W!<)$Z)Z9L3s82T^lf[O!nb2YLp%7nJoCV\H -o'u,4rTas_o()JMmcis'n*960nF$;Fs70+[o^VA7jl,CjjQ5[oo(2PIpA"FRoCi+ZrqGsMnb)_S -rV5jLn*o`0m-jK2l0.9hiT9ConEoH$jQGaijQ,LhoC2&.m.Bu?k32:.s8W)on*TNAli6?2kN_L* -oCDD>kiLmilKRX$mHa3/n*B6#kO%j7p\+:PrVZTip\+@Wq=a@Hmd^#FmHa-/p\Oa\rpL0_oD&7_ -p$qSFqYpKprdk*Srr`9!r;HNm!W2`mq#13sqY:'is7c8 -pAY*lrr;l_hr42,s8Mceo&\fikjJ'8o'Yl1lM:GZIerX-oC2/:na5W,jQlO9n`T3-r;Zfrs8Vra -kND*sp&+jirq>dKpA4CFmdTK(qZ$E\o^_\PqXa(=r;ZW^m-O9?rU]@;jQGdpoCDG>mdU&Os7bpI -nF>u9r;ZfnnF#rAnaH8Qs8;NXnGE7cq==(JqYBjVnF#T(i8a/$rr3&hme-SZC&\#*mdp>Us7G[D -nF,W*lgj`Ds8W)hm.:)Qs8D6FmHj-0rVH'Jme?JEm-![2s8Vrhqt0U^s751*ht6^5o'u5>qYL6l -rq?'_o^MACo^M;9qtfpMlL=E6mJ$GKq"*n@nG*%`p$_YSrsAPrp@@V;lK@F&rqHm!mdBK2nEfH, -l1Y#RrsJT"s8Vc^o(2MHp\t1+q=3h=naZ2;lKR[(n*TK-o_ngdrr3c4nF-/Ps8;NZn*ol:oD&+Q -nF#W+nFceT54n4(lKIR(q"O4Squ$?am-4$6p\+FYp@@Y:mI0H- -lLOfJs8W&mnaZDSq0mSoC__Fn+?MMp$qMCqYKmUmdBcIs8;EWoD&.Uo^M;>p\OIFl1Y/KnFZ_Z -s!I@*md9H0lf[O2rV?0Znau\Sp%%hQqL=:rV?'Qlg!g+q"F4Cmd]i: -o_SU`oBtr5q#0sRkj%mAs7uZb$LI?NnGE7]l.YJ%rr5%QlJ_"-s7,CKs8VfUj7)g5nbN4bpZgo) -oD\@BjQuL6rqPF8nFQ2Aqu?Nlr:&t7mdTT2p&"^^mH"9H+S=sdoC_hFl0\0:lf7L(oD%tDlLFNA -p[I_IqY'gXlK\B8s6G.%na>f/lg+$+k2PRjmd'N=oBkr9o^M\Rpugc0q==%Eq>^KhmdU8Onb)VC -k2l""q#C^Kfnb)>;nG3+ao\f92o_A1QmHO*3 -oBki1naZ>BmdpAVqtB^Rn+HDFoD&=b$M!HOp%/"Sq>'perVn,8oCVP=k3)%#p[mknF,cCmRZm>o'l#1jlu@0mc3a7s7YgElgOTJqY'CHo_A4PoCi1^rVZNcp&>!i -n)s$*q>^Kio'l#.k4STDo_\X`p[I\Js8MWSp[\%WrsAPkj6lR3q"!_=rr4JFp@RtIp%7\8kjJ$4 -nFZ;@o`"a^p%@e?o`"g^lgF91o_J1Diq39Nq"aph)>Et*o^;&)jmi-BqY0XPn+$DWq=sXRn*0<> -s$cPHp%e:WrUo@Io^(i+lg=0;q>('gp%A:`s7,LGo(rCdq""+VrVlihnE]<$lLt8Xp?Ci8s8DT[ -m.:8VqtKIAnFZADrq&_Mq"XFHnGE7TmdBQ3mI^8Tq===Vo'Z,ArVufdmIUAUrU]FDo(;MFo^VMC -nF,`8p%J"ElK[a.o]YE/rqZBZmeZhJkOSEIrtkIojlu!pl1=W9mI9H'nbN4brq?3grq??k#OCRM -q!mS0mf!/,rUfOHnacJRqtBmdp?(]7s8W#cn+cYEn+lqUoD/CbrttV%mHsHBs8;BNmI'`FrVH6L -i:$7)k3DX;s',3bnb)YNqu-9Ri90k7s7#=Do'Yo:qZ$B\p\F@Llg+!:s8Vu^i9g=9q"=+Cp\t3i -oC)/;lh^Y[o^VJ>kO8Hp[@M>rVl`kq"OUZmdg)Dmcs'&lhLM[rUB%8lg4'6rVcBRjm2I'lMLVUn*]K0p%S4UnFQ/6 -m/$b^nFlk]%/okdkj.^1rVuojjRW9L!ri)rrr38skN(snhV7)Wrr3`/mG?[_o()2CrV5R5l1=N* -k3D-squ-OSrUTUVo&K34p@@kTs8Vudm-F6L?krr54WkihI.n`K-1rVGpDl/h+$q![YErV5mPo^qYAp%n@NlgF?; -p@7S?qtp!HjR;g8p%S.Hm.0iAo)/FTk3D^?s!%=3q#1'[oCDSMp[7/$nG<1bqsj.Do_/"Nq#CBg -kk4fGq#14Np$M2:pAOjUlgt,SnaZJRoC);Ms8W)^jlGb%s8MiapAY*lrp]7Fq"j^Tn*fc.n*]Q. -kj/*Eru1M!mHa0-r;ZKWmI0E3lg+!-q"sI=oDejhqu6TuoBu2Bp\t14rV66co^_YGna>c0nbN1W -n*KE+l0e92l/gshoD\alp#tQ2rr3T-kN(snjm2@+nFQSVn)E-boD\b6p@.MrVH9] -o^M,/nFle[p@S.Qq"sdYr;?m-aH6qZ$TelLt8Xq>:$Xkj\WGo'GW/o^hV< -naPo3o(VqIoDej\j5o@gm-<`up\agaq=4%Qp[\"FkO&6Jr;6Kn!:KjO3UQG+l/q6uo(i=^oBYZ. -o_ea]lKn6Es7YdBm.L/Fl/^phkjA0Fs7#"5pAb0hlg4-/qu?]cl0\-Ars\o#p$qJ>o_8%JoD&7^ -s"sQ9hra.ckj\ECoD/4Uo'GZ/nF5o:oCDJGr;-0Ynac>GpAb-gq>'gQj6,Xhjll.)nbDnYs"+0C -nFZSQm-OH?p@%J@p[e%Nn+Q>BnET0$na#N0p\k-iq![hKr;HE[mI'iLrs8SmlL+0*jm)[@s8Vln -rr`&fo(r@c1A'f&q=a=LqYpBhr;$'UmIC#Ps8Midp%\R`o_8:WlgO]Jq=3V+jR)R=rqlQeq"O:U -r;S,Bq!n%Nq>'aTnFQ).hWak9q=jRSq#10coBki3qu?Tgq"F@Pp\k*ks7u]p)#*:ZnGE1aqt0=F -o^_bNoBYT.r;-?fpAFmh#lFAmrV?'Rnb<%_$iBMbmHa$(o_\[gqu6U"n)EL!oCMq[rs/DilKIX+ -qZ$Qns8NK*q"O^dr:T[Wq=XRZrri;tnF-=,s+13$s+13$s31Ln~> -o)B`o_OcU:I=$BhH[L3fH@(!bG'JFcJ:j#[]?B(!rdk*YrrDols$HVJm.0rEm-!BdhV-W5f%&C/ -ioB"Pg"G00beq'%\@TAf]tM(j]=PSa\[],TYH4^sSXlLNUo1;eS!p"DS=QIOV>I'4U7e!BO,K-i -Q'n/9Uo1,iW3!"rV5g]%Yc=LoVld/,Z`KjjS=5_+Q^sb;Q^3ktO-?!&Ssu%0O-5]iO,oHhSsu". -Q_0q?PEqcMf_ns=1 -`PT="]"Pu#rkel[cI(%brl-/&b0SMcb/qcMeCiR/g"Y?@io8qVioB"Xj5oFelg=?q#16m -k1e8$]=Yhuc/7=1gYLcDgt:E7b.P@0gtL)n_RQV>TUqp][^`r`_8=RThU0*EXeVJZV5p`$YGn_6 -[&04XT<>Q.YctC1R?l2VQ[/,['Qd+SZK&mR?Wo&WO/n.Tq@sM -TIch1RZihpQ(+Y=O,fBgPEVcAXJD8QTVnoqZb3u\Z*1OMa1e^MR$3MfM2I8kNbjQ1OeAbSRuj,@ -]Z&%;ahkBi[(3ZKVPBiUSYN"XgQ*gcHaA;Z*L=(UoCDmU7eWeSN/a$dQ'[r/Wj0"F\?E9Q[B$.#VPU)aWNNA#Ssbq5R[KJ(P*;9!QBRQ'VPp8m\$i<- -S>NHjVOa$9OcYWbR%U:SWi2_kW2HDaT9kV"OHuWF[BQXD[B-7"SX#:sPEqQ%9:Vl_[]ZO+[)'Ph -^pU5CWM>oHP*D/oT<"ubPFJGISOc`Y8Y-G@D^W=O2YcY%1YHb@9Wii4lSXGe3T;%pJTr4i]Q]RlFZD2EUSa`[Y-Y-pMk[Z$be^W`T;o]H -[B@3a`ODb@Z+.*F]#_aqVOaBZZ(mMER\$FXVidLJY-54G`j`F`VOa?VY-#%A^:^\FQaj`?XJ2Pl -XfeOpV6-kpQ^X80Tq.C3S"?@HR@'S=rOcbuoQ(Y:fZE'^hS>WHjYd_Kd\##L]RO"8oVQ6r2_TUBV -`3l_ESWf,"SYN!OQ&^`\NK0$WLP:D;L4b'UIWBd`It)lqIt3-(LPh(PO-#EhUo^DbWOomQXfSY/ -ZF$U&QBn&;WNStN'bXKoI^\>,R^RA6sn -YH>1E]t1\MSsGM#P+JbZVkBlsb0%K,XL?$^\Z_QfQ^F//USt,?T;&$GO-,g"OH5TmS"?O`cG6p' -]sP#M[(XAl[B[9[\?VirP*1i]MMd=QPF%Z)TVA3SR[9G3US3s:U8ar_R$OA;P)bs&WjT:4R@0V= -VkpDpTq7jCP+JSV\Zr-=_n<=b_R,r)Yd(@1X16L5g4\A#9KSS+k.\Z_]tTU:[r -RA$:LXgYaJYG.DLQCk@kZ_X([T!,T1Yc*hLTVSNBgT9l.M\\>>GWMlPe -Y.M`m]u%UpZ_sRoYe.HISW]\L['[0CWN3)!T9G7qPa$?j[BZU'TU_:9 -Z*1:2Un4?bZ)jt,Xf87sVgk8+Q^",?Tq&*dXg#=AVlR,1WL&d?Xg5=C]uJ+*XI>ZW[_B;SUoCK% -Z(dPTYI2-caiD?7\>Z=+Zb!WES!TA*Su/Ts]tV+TOH#?eUqs^Q[B67"WNrFnT:hdNY/8H0bKn__ -];VR)XJM;RVm*>"StVdNYd:@.YdL[4UnMXuUT(T0YG.;GQ(=\JY-b^JX.5QPY-GIK]<\QAXeq_f -WM,]NXh)?[Y,A1uV4Fq;S>Eg@d`K&*WLfc\\\5/FA -]u\OD_76q^WhQ&VU8+TcX0o[RWhHH+cH4#8VjX3_XKJ_1\\Z+oX0&CtU8FohT;8m)Um[^AVl6>Y -SZ&`pZa6^4Y,.SZT:)7KXJ;Je[\]:SQ^FAAT:]Gf\AlnGfYk(eQ'\)A['d6G]#M_"XJr;,[BHF" -TW"fi[(O&VVR""]b-[e.SuBPbYHl!c_Q9N3XfJV1 -X0A\)Un*m@TUqmW\&?J6bJM08`PK'cUn+Ej\\Z4qXJD_hT:Mjiaiq`:]>DY+\@&c]e`,B-]Yhb/ -_T'jE_n*1TUn4'LWjoOJs0b5&\\,>PXg543ZGXf+_7$SS]=uA*^Uq"`ZaA-:i7ZGq[]#U]R\6R[ -YH=h$SXZUla2Gm3^r4=8^q-YHYJ/)t`Vmjub0\Yfe'umtd)*)o^!>3_f[.d\a1f4"\#ud<^qTfa -6cmp6f$;:P`Q6!3]"Go)e^;@K\[/ZQ_U$lih:($4f?1qPg>UrCg>:]Dgt'flaO&f/n)rp"jPShV -pu^PmjlPOaqYU9rqY'@=jS=B,JcC<$JcC<$bl<1~> -o)AsPX+4tt@UEUD>nUCH?"%5R@:a.hCiFibWOpU>rIP!XrrDijrs\\_k3hp5kMk@RgXt*Ve/$Tf -gtgZ5d*U7`_7?bMWirY1XK8J&Wr8n3W2HGaSXG_(OHl0!R\,e(NK]TfOI,m2s-H]MP`L`XJ9la( -Ll@F[R$sM7S=cC@R@U(HVP'BFS=u[PVOj$6NfAmKK85>;Jq/>sH@:I%M1pM/H[UBlH[:-kMM?\1 -K8PVCK8>SVU8=TVQ'7>jrf'1$JV/c9NJiXKJUMrrJU`9-QC454S!T>#PF8&>Vl-Jn\@T8][C!?N -\$W??XKT"=XfAM/\@]GcZEgjF\@oc!rkSr\bL"Y`d*gFpf\$,Rs4@V2h;72TmdfrFqu6]qq18S/ -rrN#lli.@XjlGI_k3DX9p?Li?j8e<@rttUrk48QNkN1smjlc@/k2+qRjlGF^kN_s@s*FP@s8V?7 -a1\pj]uA.If$i.$gtUQ5f[RpN\B3=O`O`FVR#mDpSYr["\A#hscJ74"]<8'#PF%rCXg#(2Z*q$5 -Oc>U"Vl-;`TTt=`J:WH:Q_'tIT9u%AWM>lSTUD(DZ)=4oX/iJ,URRODV43F"Ko2:pTU:n(OF!%L -Oc+sCGB\CeQApNKL5:S=Q(4M6O,oTtUo(6$\$2j/WNrq6RuW5RG]\(PI"$WuItT:CmoPGY_# -^r*t"XfSb4Y+hAMP)kZgTWPZ9`5o]qTq\?YVOrs2S"?4LYGdeDKo(G-F`rM9]=tkb[\on$WgSg# -L-(fpR%9qIXh)3]^p^29UR7:1R@9G)NgZ)eHZO=QFb5^:M2R(;JVfYfWi2i&_7$G=SI"Hs*N/sO,X0Jb%W3WFpQ^*l$PEM<*SsGCpLl7+HKn4`+KnP)0J;BAQO.)f=R#R&l -St)()KReK!I"70?R%0e@S"QFGR$*A[H[:!iOeJ\JT!GDhR?W\`H[:0nL5:kYUo^GdTQmWN]Un3^, -Ng#QcOH5BNKfc_IMMR7WQ]R#SP,"e=M2$kFNfT0]S#*'S -StDaPUnXTVV5^AcS"HIPT:;77O,T'aU9V)*R>m2sVlQKiR;nIYPEVT6SVqlVU9qJ6U6^k0Z+6m0 -ZG!iPSsu[`X/iSD\Z;9cPb+S-G^+gsOdVGaN1$<3V6IS8Z)X4QOI2]:XgYjOWg\pKYHFI_Q_0nE -R$F#3T9kCkKo1tNKnYJHPECZWN/`[PKn4o9O-5]jDO-NILk1#*MN3[ZS"Q=:Oc4j9G^kI+TW"TH -N0]s!PaJ5P\#ua/WLB'i-An,=Z?X@2M@U`k\BP_[2H$k'kJr?"iSsH+W[]Q?tStDaQ -R#m,[NgH3-YI_H[\[JcFXL5^MXJ`2-`m;rI[B?3eMj0KgOIDi6R?E`&USFBHWi3&-]!.oqPG+kN -G,qL8X3&Q(]RS?9<(R?aD>TqnWYMi`dIJ:WB-KT;"QR\$(EXhh*)Mh["MTrY,j -Gd+]bZ)NnBJpr3&P+nnLR\I72`k/UXZ+73?TT"JXM2@1SR$`nrNeDh/K8"VsIYPD4R7G]InJFaAUmLP_+UQ'.)_Ll.@VK78fEO,egBMN*+5LQ@t(W1&[(OHc?, -TqNTnOcYBNNgZ]HWM?K'Y+qr!T88/iSXZ(?Y/o2?_m,r$rf:`]U8=WbZDj(NR\cpOMhR%?H$bC2 -Od2K8WMuY[Nf/j[U8t)UNfTC!X/VqcMM.1\Q'@fA_90j?\YPFKMMd7RR@BA"R&da)U7%L?Q'Ir@ -['Hd=[&g3rQ^OVPY+Lf0PG+qSVkouV=.PY7HZXI[JXEC2R?NVcJ;BMaUR[C"Q_9h1S"c[SR\?jj -ZDj_"WMHT$YHPIEX.kuHQ_COgZ_j(KKR\N'IsQKpK6qonMMmCLLPL\ELQRmiP`q>uQU%@PZ)*bF -M1UD?Suo5pSI<*W2H`+^UpqSU7@gJ -SXPIlNff!MQ(Y(PTqeHSP)Yj"V5U/WN/*FaW2HJr_TpE<\%]J\W0s''PFo(k_niUPUoh&1V4*XG -US=HMP*`&FUnOT\Tq@jAMi*=FOdM5iR\67LYHFRkUna0,IZ'hrXg5LS_mH.uNL?fRY,%P[V5pP^ -MNO[9]"l1t]="c2R@U4ZXe(Z5L5D"ZTW,3%Y*afjJV]W"ZE'prQ'%?(P)PB\N00aE?-1:1bgX_G -VOsNVR#?ohSt;4/Q'Ii<6o[]67-[BQF" -Vk]lZZ,P)4^n?pLN0jO8J"3LJaNhc4Wi2_aP`:KUN.R"FLP^tXZ,k>8\?2EgQD(RiT8SDSH$t$n -Pc2FEbJV]Zd)3K+]=4oAYHbFE_n<+HTq%4$LkgeCMisU0Z)OIhR$3SnQA^]^PFS_jcF0RItNWJZbaPjToG2.X0&7rI''ZX -\A?/$[B6O4T9YM#PE_E'S#*.@_SW[XU8+`iVOEd6 -S=Da7X0oC;TW,B9^T*HWPFSbe[&0IjW3Ne?Xe(`:N/j3uXgPaYd+-e'g!7+%P*;#hOI2`7S"ZLK -S=#V2Sc54"SXYt3R[&qiK7SW-L7Y*2StDX@N0'0`NffZtSZfH9a3;Z?\$s#\XKK+J[@EGLTUhgT -TVeBOQA^ELNJs'lXh2QnaM5R-^q$V?Q&:j&Y.2-MUR7F5NfTU3_90^.[_';aXK&>2c/%'p\\>r! -`+[9>cbd,lT9te'R\d -nGaF"kj.[-p@@hEmd9E2nb)bQp\"+Elg!m+o_a:?\GlX+o^hnY!;QKl)#X1"oCDD@o(D_Lq"sjX -o(;_Jna#B#kNW!5+7AO_m-F!,n*]T1lg!d"jlP^klL"02kN;-sjQ5[hjo4EBk<%njjQ5Ocj6,dh -io]CglL+')mIBQ1n+,r:m-VlAoC)2=m,dNok3Vg?rquZfn)WEjr;ZfmmI'H+kO%X+ -o_/"OoC2>Lrr4bLoC_YBm.0l@n*K6(oD87PnF?2Gp[n:]rpo48m-X95q"k$gp$_GFq=aINkNVjC -qtU*h&Gbe\q#'aMmd^&Os82BUmI'uC"Rb[Fo_SRe.f&N$o^qY@pAFj[mI0]=n*]rMrq>jLq#CBl -p$hG>o(2GBnaPr3lKIU/rr3)fkjA3Frr`2pme$MY&GkqfoC(f'me6JRs8W)hm.^MZ8,Vc>nEoQ7 -rr)NUnG2nKo'5N8s8W)us7>d\s7G=-iq<*;oCD;9p\4UcrqH'Yo'u>Go^2#7rVQ3Pm.0f9mJ-MJ -o^M/5o`"l2oCDhZs7u<[o^M89lfmg/p[n+QqtBXUq"*n=kj\-8s8;Wes8VobmI'WEqY^?kqXs=E -n*or=oC2;Fp%.hNp[[b@rVuoqp%%P;mdTf>p@Re9qtp*U -p&G%uo',K0n*KN:r;#mGjR)d=o)8:Rr;HEYl0Rs1n+6JSo'>]6p@%/+lKn9Bp@S(Qo()GFo'uGP -s8Mohn*]Q2o^1u2mI'H;rq?*[na5f?rUo^Mnb;kSoChbEn*foHrsS\oo(i=]nF>o+kl1P\)?0F' -p\XOIlL=E4nb3"]qXEY.m.C&=l0\6Ers&>pnEK0,rr)j-m,?mdp[mk>nbE%Yp$_G@rph<-qt9[S -nFlhYq=="Co_eafo^VPNs8DZ]m-OEEqss1Ip%A(Xs![d6mHa')naPu=r;66^p@@bFp%.bKr;6$K -kO\]Qp[%)*lL=B5me-PVrri/hn*T]Fs!@C+mI^#>o(`+VoC2ALs8DQWn*p,Lqt9:9k3;0soDejg -khP=rrr6m/kM>=ts7>ULrr;TOi9Kn'nFZbZq=6kje?Ar:B+8n+ukOo`"ghqq>0:< -nbrLfp[.kXrU/k:oC2/4kj%R$j50+ipAb0cmdKN4p@IeCo_8CYmI0N2n+HPVs82BOl0I^$jQ')# -nb2VBp@n+Cn+,rDr;#dHo(DVClgk)UqtU3krpf[Xo]tc-n,<:dp@7_CrVQ0_s7>C?pA=XVnF>l1 -kjeZPq"+4JnbW:ap@\:QoDJUf(@pMUpA=miqXj=Np[RV:nal>Cmd0NBrr32rmHO'2o(W+_$M!BM -p\!n?o_.tQrr3l1n*ff6lg*s-o_8+PnEfT4oChnMn*K];rpEAHo(2MFnaG`, -o(_nFo`+g]nFH,=p&=sgp[[nHo^M_Rr:fpXp$qhSrqZ*Mn+6;Rs7c!Lki:gsq=XIYqXjLQp](9j -mcO69rVlg'qs`\1-al1"]P.JNB%o'u5Ana#E)o(DJCo'Z/Mrq5aPo'Z5Orq,aUp[@SBn`]-+ -rr)`nrt58&q>^Kin)N^+r;-*Vna5o>rVm#so'ku9rVq!,n+cq_qt07oC_qHk48_(rVml1md'6.p&4XQnG;tJn+-)C -o'Z/Kq.mlg=3=s8MZYnG3%_ -oC2AAk2l+(rVcWkoBc)@naQDTs8DHLnGWCdnF$#FqXsLQoCDA;oCh_EoCM8-m/$b^p$:W*qtfpZ -qY0[Oo`"mdmd0K:nbN4]q#:2n+cYKnEK<1rppHcp@RY6oDA:Jo_ne%qXNV-kO8o< -q>U*QlLOoGnauSKoCVnRp[mqKs7c6es7>^Qq===YrV#[Hp&=g_pA"Rao]P#imIpS[q!@53p\sgJ -kO%[0r;S>Gm-!Qup\OROnEK#rl0J$Brqu6GjluF;s8;]amHAoBu89jm)X=o'#01s8VlWj6Q:6 -s8W)sr:TRHo^qS7jQuL0m-jfNr;$3`o_A=UlgXiPs7kjDq>TpUrr;WRkj7[*nEoW9rr3i)nacYY -rqHHkoBGE&o(MbHmdg8Rp[e%Rrr4;Cq"Xads8D]`o^q\GrVcHao^qkLq>^9err;]hqu-Nmr;HZo -q>U"On*TN7r;Zfglh1;Xq"t'eoD/F]o'Yl:r;QZep@@P8n*oc.l14H4n+>u0n+,i4q>U6ep[.56 -m-XH7lgXZFqYpLRrp8b2nG3(Wm,R@$p%eXbq=*Y:qZ$Qco(i.Zq"4.Mp%S1MkiV0rkjJ9Hs7#%4 -p&G'fkj7p;rr3,llg4'6rr<#os8*&tq>UBdm-j`Is"!m2jmML!kO89Gq>9mSlg*p+o(_b@n+-2O -s7l9Xn*fi?pAXs`o_%qJlLFlF#5S0dRpAb0dnalGIna?)K -s"X36me$DUp\=damI'cLrq,F6rr3N'oC);H -qY'OJlL+WNs8Doqr#tt6p\+7SpAFshn*BQBqtfpNm.C2Nq=jOLlgjrKrr)Qfrr45Bqtg6eo^heL -p\t3mqt0LIlg=EGs8MfeqZ$TlnF#o>nb;t\rrr>ooCMYQr;R3%q"O^ds7l3Xp\""Jqu6p"q=aF@ -i:$[=rrW&lq>L>gDJcC<$JcC<$jo9i~> -o)Bfp^mp.2I!gBiIXZ]mH?sj^G]e1VIt*68T<5lVj6chss1SG-p?:Mjf]22ZjPo4Yg!8$sg=Xfq -`4W[j[C*HO\%')`\[/KDZDsalR$rAjLPCJ6K7SN)M1gS>0[L]<&EK7JN*KS"i3NKB6aOH#-RNKB?j -R$sP:rhU@(T:V[JSXZ%6Q^O>7R@'A4Uo1&`T)P94St`*]Tq7gKW3*5(XKSt=\@B)\^V@Fo]thP* -bL+qoe^iL7p\XFUNilhL,P!r_K_f)PdK -mf*=dqYL3np$_\Ss&8XVjPf%Uj42]6j7NBOqBfAGNGj5].Vhp^!!cHjqhfA><7eBlRi -dGO$GgsOEuini/0d*Kn]g=FQhaj8AU^U_,(i:Qm5k3;0nhqr\=h9WgAWi<52]=l>/bKnYcbJq]G -^pUATb1Y.TXfJCmR[fV0TrbZ7^r+4>f@.^GW2#Q;P+AMOX/r4tXK/+_OHH',Tq.jSUR-muO-5`p -SY<*`U7@jRWMZJcQ'\GOVl7,7\@]5NT:)FLRZNYpR&II!WM?/\I\34"QB@8lQC=AGSWT)%Q]mQ" -T:hX;Q^j\CUoL]'WMZW&^r*[\SWo+fK7o#=O-#EbO-#g+V4!=1W4L!ncca85[CX2g[&g7"R?jAE -]ZA:Bd`JkpX0Jt0Umd[FUS=isZ(mSJR$/ -Nff^$Y-kC/V4X'9PE_B&Up%87Z)jgrT:r'KPE:ohGa+f#WN<.rR['51S=Q+:SXl47QBI>kP*_oG -\%K>]YHPCKZDXRmP*MuR]t_4eWhlMfS!&o#Q^!l4[^roKTU_[OUmI=7W4^'WUR[R/OI`Pd`Ql;t -R$3l6VP0KLT:q^;NK99gR\$=QSt;F>Str-QQ&^c\OH=UCL5V7cT:M=3OH5j*U7%:9VROF_`l,Wt -VkTo]WNWV6ZE9poSXYt2Q^aA2T;AEVQB@]9XJMJTQ^a\DSXQ1IW1p/hXf\Y'WNc-rWii:q -U7[j?R%pt#\Z2?oS>N9bUR@C6R[p%HZam6/OINDh_.L3[U7.pj_mck\_o/pZTrYN*Z*hE][]ZU- -Vl?;OP+A2?VP'.jMj^QHV5CN-`Or@WYFguIUT1/[Q]dGnP*r2FTqJB^XL5R@TUD77RA-poXdkKFUo^i+3NfBOd)0!QC=VPXJrD:]!euS[^39IXehMQR@pCT^;Ik&]",;T -\@o\k[BR$N`QuoO^::;uRA619T;eis]tgeCR$*T&Y.V0J[C3KM[BHO$R$3]&VQQtt -W4'^jb-n4R`50$hR?3`&Q^=89SsPk5.?fjUOH5V.XT:D=6 -OcPQ`O->q0S9(="XK&"cT;8?_RZsAi`qVO)^VYcjsuTV8*WWiDqgS=5Y.Ts;;EZDjt.Yc+>%]sOGr -N/s8'QW03[QYbRbgW3*;&S=Z[dYcb@B[BQg9Un3p6 -R\ZXT\%T/P[^<*>Z`p9oR%pjhZaI?W]Wn5uSu8m,^9sr:WNik2s-mc$ZG=]4e'H%HWhZ2\WiW%f -S<2]nVm3kR -c-=5;XJVtpR[0M>TU;FIV5Kr[[)UG7^UgVAStETqe9K -R%g[aVPpf/Z`g^D['dZc:5,\uVHsYI_?PYHtL8[^s;oa2lBD]sY#GXJV\bWNj%C -WhQW1dEKSEYG7u#X0&V6_TpNP\[JZ;Tqe?SR$shITV\`eUo^PgTW52uYcjjpTUM.=Una``VP0`` -YbI;AR%pgjWM6<$bLP;!E6,PaQ'S2HZ*q<]_nj$qZa-g?Yc+.`TV\B[Ye%ELV6[k\bI*q1Up@eU -]s+K9WiinGZDOCmV5LE%]XbMdbh:b+f?Cq1TV7sEQ_1:[X0&CuUSFcfXg"^sU8=fiYb7JMO,f9a -Q)1:OTVJE[S>H4_.]p(bYI_?\aO/>KZELO=[_BYnZ^[2LV5C>sW3)tnU7[sGTVJBe]?&:CI*0:B -`5B?Ssc%E]?/%1_8=::_mZk[`7!2Z]sY_r_S4%8ah+XRVPB`QV6R_G[]ca5 -Z+%6IZ+.0@Xh;fs]s4cN^;%P&^q$VIWj9q.k1\(s[A]R\Q("VTZ)t"'US4m1cHF):[^j,e]U_na11]t(SVWMci,[Ca,_^s:KY_nWq$^::Y`\\#]!a1f$h -WN*2;d+?[e_oL'KbJhWQf?q[[cI^q2gX='Yb1G_=iS<&8fA,BIgXb!4gXk3GrVm/nlK.$\d*:DA -pAYBclK\6Gs8DNfrrVNOrIP!"s+13$s+144s*t~> -o)BfgVg`>k@UN\O?!LZ??!^oI@UEMQA7TP#LmP6^g#r`/ChIEpDJjE0CM.Bq -BkD$jBP2-sCM.I%EGfT4G'e];J3\C)F`VSDF)l&2D/=*+D/3p!BkhL!CiFTFI!pBfG'&"WItE9) -Knu"\Q^!VoOckcbMi!:KNK&XCJVK5KOH#1tM@Y`1QC=,)PaJ)=UnXTZW2oiuri6d9YdCjP`Qc`Q -cI:VBqX37kdad+9o(`4brVc`urUop`r;ZfnrVm)uo'Yf.o(r1^!qkjRo`#!klMB*3s8DBc!WDlk -rrVl]q#14ro&\`]fA#-3f%]3Ts8Vl[kN1[Zg"+U*gYLZ?gY(0#aiDB?air)cg=F]ucHjhmio8Y: -bL>>"c,n5Taj&Gcahbp>ccEu<`mN`8pugSskiUg_kMadrW1fo!Vm*P9^qmn.c-48I`PT3iWj'Cg -a0MD.QAL?QLle%"YI2$W_9:9P^9+,sLOk5HUT(>sW2ZepS;`&NN0'-[Ng5]ZG^=dfJVB#GTqRp> -Pan>7R?`YfS>)OEZE^^CYG%8BQ'RA[J:MftQDL@FQ'%,fM2$P,GBnReKq+6VK8>86J;B5JMM?tL -Pa7`1Vl6;[SuAitV3[$kH>[M8EHlq^J:iE*MjK`eJ!$M4^Vn43^9+QG\[AB,RZ`VdO.NSd]tqUu -Vjj9TUmm[/N0]j!UT(&UL4Y22F`qhUS$W(*BVh8uX.,-+LROg%S=lONZF%3U[&K^iQBIK"Q<X -Q&^KAFE_tOIu]SDL4=Q"M41B>T;/^+WLfE>Obn^BHZsdcJq/B(J9cKnLPU\@Lm43oUnO3JW2H8S -OHGcrQC"#,Q&prZKSBD[s+DADKnP#)J;B/DS=H"2NJNXaSX#+bH['g`JVB)Mrgm>dX08RqP)4j> -GBeXqPa\&-XfS7_Q'mklKSbYIMN=-rSsb\&T<,/lZDjOlSW8/AGC4jhLQ[saJqAZ/I<^0tQ)1UY -R?EJXIY*6.NgZ`IX/;SWOc,3YJU;_uI"-a.R?s>/P`1K[Oc"jFJVAc.I"$HhI"6s6TWPN)WLocY -X.Y]@Ne)nPWO0.@WLj*T@u>khLPU\BQ)Ud_T9PG#QBHlNLmP9SW/lX^I"INVZ+7]XR"p6GOckTV -LlIISL4Fr6NKBBmS;N&TKo2%UN.ZJ!F`qnHCN=cTLP:;,H[U^4P)4mPQ`.:']=PMRTq.[CT)PKP -U7@F+Mhlt8J:iK-Mij0]KReuKSU-[]H@2]=b8Vlunr[D'D]T9>qIVO!=0S=#V*Ocl#oN.HV3M3X?bKnb59MhZh8DMF"1 -M2$nKOHl<.Una?8IX?HnK8,;NTV.U*LP'nrI"[RZu$aP_FFlsS>E3YPE(TOIYaAcRZ2o_R%L1MBqC]TNJ`@6GBnUa -J:WH>Up%)-R#?ldS"?FWY-+X]I=?d"KTVauWNa+Y_6Ki+P_jsBMia'_N.cP"F*)MJH$==KG&qP8 -B4YU`@:E_U@q0+`DK0cDIY*6.LlIdsV4acp['-L1W1fntUn![.LP_+WR^TrC[Bd!;Vlm>5Z`U1/ -[D'Vu\Z_s&OGoHlPaA&:R[B>+Tr"ELPc:al^VR:SSXItW,MOU?> -U6(S3WMZAYP),*SJphunJ:ir=L6.gmU9:ksOG876N1dM\YHbC:X/;DLN/*+@OIiAJUntH8b/Uic -Xh(m>SqhfKLk^V?N/E@FL4B2K06hS\H@U^,Pb5.YV5:)cVQ-;j[^<3A]"tD8Nei@;H?jd\G^Y:& -NK0-gT:M7/P5^doLjt8AMMQb.JV\l0NKKd1VjE:%PaA):UnEg0PELWcTV\ipVP\gHYGIqhRYc`Z -NfT?nWkZcp]Wn5sNK0*hUnaEOW2Gl=MN3aUKSPJ?H@1[=QC";LY,@eSOckooUSsfKO-,WpV5L8b -Nej%!URn!Q[`$84\tt^OI=-O*R%Kq@Vm<\:T:)18N/a6tXg#(8W1fuUQBe&AXJ(o=RB*^!V57h' -Ss>1_H$4IZJW?+`PEV#ZI"dfUSX5=iPG"S8S"5t6QCY"XWM-#aXJiA3YH5(7Um[C0P*2B;[%`Y; -K7A8sI=-KuL4+E!NJi[LK7\i;NgZN4RZs##Q'[u/P`(9MKSl.s[^N16SI([KVRNXiJU2`srdns9 -KnFYrKT)%ZVm!;+WM#T:OdDiM`lPrp[_p2-a2>X7cH!AfP`13Obeg$N0BX( -XfJ:_K7%ooPd%TUq@/PE(cl -U9V)'Q%FRAN/j$lWiW=sNJ*:`X1Q*XZ)ORsUmm[6PC/FRR\d!WR?X).P_t6RPFnP7N/!O`T:h[; -Nf0*gR@9qWZDj=hWMH2`Y-b:2Tq&3m]"YMQYe.<9Q^O2+S?B]M^pK`"OH>`pR$jhW]>;7mXeMJb -TTP.kNf/XSOcY`dPGl4=aM,$ZQB@N5XIG*'L44W%N16uhe'?6df\=Z\Y-,%7YHtgN[D'eoVj`m5 -LkU_CM2dXeVQmV(US=3ES=H%+OdM`9Z,+P`SN^&Vj"@T<#2qWNNA&Z*_'S]tM.n[&g'tSsPS%@[d^?0QS!KA*P)5*`R$3o1S=HCJPE;3*TV\EQP*(HHLm40kS=H"9Tr=<5JqoJX -TUD(;[ER:[h8cmlMMR@]TrtuB^qI:aY,nV%?)F6XOcu3!R]!O#X.ZN$_8!"4O-cZH\?D^!StDj^ -Z)*hPPE_?&Vm*A0]?/[YgsjHTVO!rUR$F#, -QB.C3R=1^)VPCH'\&$2-\ur0;Y-GLIZD3;.Mj9^'Un+6LQ'.&ZKSkq[TWc)Ma2Pa+^UpkNQAUN` -TV\j'\?)3dNJEI[YJS5r^qIP#[\fk"\B3%:]!B#a^V.Y5ag\+s!&XehY_W33A)X0Sk' -VmOI^\?)X6[^WcVIC?8QT:r4(gu[D?`jr"5N/!7WU84NZURdgJ\%fP^Y,e_6\$`E7SY`d4`5Kd> -bKJ,QaMbg,]"PngWN!2@aN;H<^W+C/\$E'/St`6bZF%!Oc.::S[C!BLY-5.9Zb42m\[&K=W3*YS -dEBGC_og0?]Y;D-`5'43dFHb`d`]VJc.Lt7iS`JDg>CuSh:UE;gt1?HrVm/kjPJYBaiE*0pAYBf -lKe?Is8DNfs8V9_rIP!"s+13$s+144s*t~> -nGaI"kN_L-p[e%Hn*TN2nFQJImdp5Ko'PZ)m.C:.s185'q=!P0pA=jap@e.Hl0nEFr:TF=jQ,Fa -kN_L)mIKr?lf[U'mdBK/lg*s+oCDPDnF,f5n*]W2nF5u;mHf2nF5l5mdKT2 -l0[s,mdfo7m-X6-lKRX%m-'p`q"O:HmI'H5p%SLdr:fmVoCW%^(]*CYnc&:Nm.9l? -pAamQjQlU>o]kH"oD\b3qXEtLqtL!fqXa=LmI0fFo'#8tl14iRs7uTaki(Xrrr3N%jlc!tn+cGF -p%\C[q"=L_ruM(2nb2PCnFuq\q"FCQqZ$Tlo^M;;md'NFs820Nrp^WmpA"[eq![\Js8Vi`jluX? -qYpEm?i9EZq"jRJnalSVs8DlmqtT^Ln*9*#o(r:]s7,7:oCVYEoCr%Lm-X<0lKe'=q=3nCrVuok -naGl2mdKZ8oC_bIp$V2;s8W)ciop%4s8W)onb)n]s8D]hr:]IBp&=trqu?QZkjeTNp\FIVs7u9^ -qu-6Tn+lhPp?Ur4qYU'cs7#:Ms7kgD -n*B0'pAb0klg4EHo^M8;n5AT=na,`9q=sOMp&FgXp@n+Bk2bgjlhL>Lp](6hn`f?2rVQB`p\=IP -md0B3oC__Elh0o?lKn*:pAadQn*K3%oDe^[nF,l>o_%S;p%n=OpAY'lqu--dpO)T"mI9Z9q>U*S -o)Jabn*of2k3MX8o^(VtmeQbQq"+7[s7u!BmI^)@o(`"OoBko4m,mHrnbW.Rm.'Z6q=X7EnbE.a -qY'IHn+-2ImdBT7n*TfJs8;W]mHsQ?p?q53p&4pgoBYW,mdL,Ss8N&oo'c>QlKI^-lL"TMs!7U< -o_&.^p[R\Bna,oIq"js_jkAhjrUK@KqZ$TlrVGsCj6lmEs#0?+iTKh+n*KWBrV?$Una>l:p%A%I -o'u,;qYU!Tm-=$4qYB^NoD\dip@.G4oDejfnaZ#9q#::LqXj1>l0Ig0o_&%Rp%8"SoBki:p%J:_ -rUfF=lgaQ:n*TH3q"aRNnFQ8IrVuosp[dkIrr3E$lKn05lg+'5p%7nQrr4nJnauJJoC222iT9Cj -mem+brpAb-p](9koB"]dp](0`o_J@WmH1$]naPu3mcX!7qu6oipAasXmI'QEs*se0nFut_q"t!XipQO:q"4+Dki1Uh -qYTjQpAb*irqc<_rTs"Os8W&bkN;73s8Voam.g>ElgFE>o^D/3n+Zh]s8DWYoCVG;o_\[go]kuB -p$1uC$[n+#r?q#($^n+QDEnaQ)?o^h_Ho'ZME(@LS[p%eL_qsj(F -rVu`irqQ6arV?'Yrr4YLoBu)6kl:VYo^MA=lhU>Np@[tJp\=dgp$_81iTKe+o_/1Um.L)Ns8VcX -k4/-DrsJ\qmH+*>rr;fZo)AY;oBYl:oBu8EnE]K5p[IhFmIL8Sna#c=nFln\nb<"Zmcj33mI'<) -nGW@gp?M5JrsSM^mJ?k[oBki,mdU2T7/ZQDm-s]>na>E&q>^KomHEj1q"*k8kjJ-AmH!O!me-VS -o'u>>k3;O(kj.d0n+-5Qr:TUKmdp;SrqQ$Mnb<%SjR3$I)#<4UpAXs]o'GN)nFQ8Hq=X+GnaGf, -jll[.s6"Oin+6#ArVH-Xqu?K]m.L;PqZ$9]oCVePp[deGs8DNPm.'iInE962n*ou:o(r1YrqZTo -rp8\/mHjB6qtK:9oD%hTs7uZop[I_Jo'H&DoC_P;k2YLanFu_Sr:]RElg43>pZL]3r:p$Vl0@X( -p]('Vm2Z!&p@@tVq=oDJOUjQQ79qu?]no_.tSnETN0j6ZgGrU/t>o()G@mIU;Tp@S1YqtTgPme$AQrr36#oC28> -m-^Konb;nTp@Rk> -rr3<'o'bo-lK.6tnbiCurq5sZq"F7Xs6f%AqtKF>oD\b#qYTOGq>'^TpA"Xan)WU(rr4J?lKe!4 -oC2MSs7k[Aq""(BlgXWBp%7YApA4dfs7u6bs8DKYrr;l[m/?n_"7POGrVlg3q=0jTm-O<:p@\%Lq"XC?hrX(ep](9il0J$Br9`\3 -k4&BLs!Ia;m,d-bme?PMqXEb5l0@jnb)bOmHaHErrN,gr;R<,rVuodkjId$m.^P[ -r:Tg_p_rqufpnG3+a -qsWk=o)&Ccs8;Eas8Vi\lg*a#p&4[Yo'l;Fq;q,;o(W1aqaIoD\diqXF"MqXEqD -mJm%Pn+Zk^p?h/0lL=KAp$Co/pAY(8qu$EelKRm1m/$G>j6c0sme#i3q>KpKj6ZR@s7GXAlMLSW -)Yijbj6l[s8VTPm.0];p%7\Bp$qA=rr3W+l0eTOp$M_Xr:9LUq>^6Uk4/HN)>F%*s8Vud -pA+:EkjeQLq!dM8qu69VmdKuHrttJ#oD&%Xs8VTXn+6/@q#0s]rVZ9^p%J4Yru1e4qt0:Bp%eU` -nEKN?p?qSNr:g'fmdBH/pAFptqt'@Mna,N'lKn$>ruLh5s7G[Lp[\4UlJgpel1=rRr:faNq#CBh -m-!g4rr4V@jm;a=qu?Wno]bfDs8;Kbs8W#jqu?]pr;60Sme-5@oDARenE'!0s8VfTl1FuT'`R^k -mdBTCs7PdQs8W)ss8MTOlLt2V$3'Vfnb2P=kO/6Hs!%:.m-XE=q>^*Rm.'lNs82Zcn*]Z:p&+XY -n+$,Go(MkRq>UC9q"3t?pAb0ckN_@$rVuoaip,t'qtpBlp$_;C*`rq$3brVnhTp@e:Wp[IG. -nbDbCmf*7dqXj1>kjJ0Bo_ACas8Vl[k3riskp%J"Ts8Voiq=j[UmIC)Rp[S"Vp[.JLrsJMilg=?=o^VJ;n+co@q"+"C -oC2JRqsNb:oC_kLnacVXs8)EYmHX*0n+ZSFnGWCen+-8Np$VGNs8Drss8)?Yn*foIrrVidq>UBu -qXX.Lo(2YSrr`&hp&"^f"8D6Op\t0sqY'^]p@.kSrsJ`$p@-tnm/?t`rVQTuqY0LKo_SRe"oA9! -r:BW5s+13$s+13$s5j92~> -o)Blq^6sY*I!gBhI=?QkH?jaZHZO.MItNE/MNjsJcJIdNrUg-irIP"8rr`5sqtL*`"SDB-J:N&qIXlp"LPg\6L4t#&KDpE1J:;rpI=-?eI=?QjIf4j3K7nr5I=m9-KSG57 -J:`K.K7\`/rIFs!rdH#;JV&E#IslZmJ:W?)JUW#uIXHKiI=-BcH[U6gJ:DurJc:61KSG;)2It!$(L51M>MilrQC+;9S!oh=USjum[^WTL]#<=WeA\l#[_UGKiofRhio&qXhqm5J -j6#%Hf\Yc`p$Cc#k3_d3mH)dCcdLG&kjIp0nEoK!g==a,hW*b]k2kgcgu%5T&)>[eh;mnlq"jsh -r:TUMrV$9krVcY;qtBCQ'[l,Q&q9'UmdC/UUA"bd`o_=[^j)`[Bd*6RZsAH_p6]OaM"L?SYDsL -SsuIWX/E)'Y+q2BQB[5_EIs";Ydh?]ag%_M]s46"S$&rkUo:2k]Y)"p\Zi'4Tq\KdUm[O5W1o]Brepu?P)PKprhp+)]>(tZTU_I;rKVl% -U8Y&t[]H'nY-"CjUS=6ERA$RRSXVlQed -R]*L(\?Mq3U49#mB'VOEmEWOTO=U77=(NLR&__p6)qQB7B+Whc;]VP]oK -Q'IT$TV\TcStM^FStr0QP)G$JM2R.ALQS$tSa!7[AK^m -TVJ-LS!8qrR[B_L]YLnLR?shZ[]cX"P+]5#^9tJ`]t(;EYIM1C\I#aQ[C!0;Tq%40rL\5!VkL$! -\ur$9YcX^lU9h_W[Ck/R$=)B\[f;e]r%3jWhc#FO---D[:uY>Z+J,o -YH=msOeJeZY,J.dQB$ujU8+3KVma"@ZDa=]S;ri.ZEgrNSYDjPU7n*Arf'+%P*VAoM2dFLKS"f,Jq/E( -J:E#tJ:r]8OHl?/URn'RZa[/[i's]Y2;)^pgYM -SsuLOU8Y?$VlH\qYH+@dS?938bf7)jV5Ci:]Y_%RZddKSb.=dXWi;_lX.l#IP`^WTM2\+<_7[+a -[Ap1+TokV2Ss>Y9VPL/eUT1rOeC)+=]Zna>Ya_2^Z)sglP`UrhTs:r4Z_sIaSYMmQT9Z"M]YCeK -SXc7@R?WhsQCFP/M3FU3[_f/@St24/QDL=PX0K"6Y-PdKW1K<+[_05\\A?4lURRpMR[9QDO:mhKTqnKVWjAt, -StDgZXeD&MT)P+,O-?'%StV^RYH4=`U8b)nXKnstR&$^TYck%1Z)X_'[&g%#VkKoVS"$"EXLH![ -^:LG=R$aD?Za-C#Xg"[lP`_2tS"HRHN/X=*Uo(?,[&BIZR%9nCY-b:*U84ZYYID*LT9l@c]X=iA -\&cqI^oaH$Lkh+gY-t[B['Hg9H_dF:V4+$[Wjoj^_6Kl;WhQ#UW3!"qU8YK6[A^7BWLoH;P*D5s -R[]b5SY_sDQD(FdY,7bUT!#2mVPK]MSY`QrVk0Zg^:V;&\?WBFZ)"(kUn4Ko`Nl&"P`q8mNJs$j -S<];*SXc.7OcYm#Uoh&3XJMYeV4aBNSemlbS!0;>\AZG)^:(>MUR.UTWhbr=Midq#)3gY\NJER\ -R&%(#\$`TEURe*RWOU!k`4Ehba(<6+]?\sR^TOK,QB7#jV6\(lf@e?VWMHAeTUDg^TUrI*_RHkb -cHa&+[&UI@Ybn1mXL>XCV5:Q6_RchBT;8S!9%rN0Bp/S=HLdaNhoNe'>e/YdqHTWM6#`Y+_)MU7RjNUSk8nS=HCGStrR*`3l;$ -PF8#2R&%$g['?3bS?fuZc,RB#Y-Y^CURe*PSY)g^VkKf_Y,@hTRA[X4\>lC)WN)tHWMZ>ZU8FZV -VR*S+Xg,14TUr'f[DB5M]u\:@b.kX,\YYdgR@9kT_8X$kXfJ@sVl6Jg^V[h"[^*!3VQm=rR%^:F -SuAcqZ)+.r^WO[7^pB`(V7=1Vl?VnY-Y=7 -YG[teZEgg:TrPlI^;8=Rb.G3q[_/oBTW>cF_R-h^^;[^i\%8oFVlmP@\@]5\_S3.BQB@Z9[_Kr8 -h:U&dV3R=>u -Y-b^GXgQ.!g=all]!AE:U7.F?X8]AIX/)DaWiiS;Y,%kmY-b[;Un![1O-,[%U7RjFUnsiaWiE2. -]=4rIXg#FZah"ONV5h,Lb.F[GRA-dd[(*<=W2Ql%W2$)aW3]OVl-8f]#)4` -V4:^UC>N\@fAXW1^$!a2lC$c?.1F]=,)Y -[^a#YW2Ho5_oTj6_8OO4\[&?8U8+]aYHb16^rXU$ZFINSY-YjW]tVA!\[&H9V6@bdf?(Y:]Y_k: -aMu?L`k&^tdGF!@d_`]8d+mU4c,@WJf\>03eCNF,dFmdPo()#)hV$H(^:V\Nmc`s6rt+b^iRc]8 -i9'7ai9fsng">9_kQ(:,s+13$s+13$s6BW7~> -o)AjKV0ZcbraGh4(L16N?!UfEA6N&=?t*VYDL.AA_Udc2rUg-irIP"8rrW/qqYg*dncA%:roF7C -iSNAdi@NmCgt0ol\Zr3F]XkDPXf8"^S>E-^T9kUuMMm:KN0'3_OctcZJ:E)sG]e!(C`dS5DJa3* -C2.O!C2%EtCM[]p@Us(^BPh^%Ao)6l@VbsV$tj0aARf1W@:E_R?Xs%L#]"6nDImU$Ci')g#Ae9s -Des3*D>n5KBDuKF?t7Z+S2t\?`QODmHmj -]sOoI]t^nPTW,QLh;?f-a3;]D`QH'$R#[,gTW5,qZ*_'Xa2Yj#\?Mg$U9DG[]V1=@L4Or4Jr,Y] -WjK=K_oBd4Z(RJHHZjn%U8tK&YH+UuRu)H7I=ZosL6Rs\I=6]tJqSo;S=c42O>*)sUm?siKTqab -S[,W1\$2NdL6.IMI=?TsPbFkGSt21+KS+SkEHck\JX;1>I>*B%Jpr6+M1^;2M27%IPan5-PF/>O -WLJs'IroF=CiXcMKnbD;JV9)JMLg_XYe8$!`k8OZZF.!9U8+*:MNFU?^VRCiYaUT8R@&hiMj'm- -R\6CKPCn=:IW]dOG`nu/['mW?Q(k=OOc5*aSX#V7StE3hYck("S"#P&=-o;:KS"r9KmRrbH$OR_ -NfAX?H?OXkS>`!@QDUjPNf/gPJq8W)I=['(I=$BqIZ)OV'[@3AJR#Hoj -UTgnsS!9)#QAgKJKnb5>SY;s[T8S,LOHYHRMjC9@R#QfJH%(aIZFI]VQ\9d;NK]?YN09HdLl%"I -Ng6')Ru<2^L5_=[B8_:bEGol:D.mg3Jqeu.H?XLbP*V,aLlJ7>^q-bKT9k_(PFA2>V59KaYhP_b$@JVT&5I=R0 -R?`PTO.;u=RZ`MXFE2egO,/^[V5C,aRZWPfFa&V.SWSVXKor"*Vk932Mh?G"G'njlJ:E98TWGE' -SWJhsS!okCWNiFaIXZcr(P@g=T:r3k_6^,7S!/Y^M3=$`O,f!CFT-DIH%19gF*MkKD/!WpB4GI_ -ARo:_Bl7p7I"dH?Q&q,rW335(Za$dB\$2[&UnO9?LkUYDP.\]GZ`L+%Ts(W%riLUQ[(!`]ZDaLb -NK'6lQCObHR$X&+U7mp(N.Z\5Jp;`pK9WCBXJW"s -St)C:K8>MHK7]#EPFS,/T!-#Sbe16maMbHYL4kYWR?NP]I!L!qStrBfTTtFrQ'7DnKoV_*XDOVm -MMR.DJUD]fIY3Q-GD)'GVmE+aOGnj?KUA7$WNWJ'V5(&^P`1EPMj0g1WiWM>bg*SfW4B@>TRqZL -NJ`IFKRSK(J:2inG&;DHH@LO%Ng??3TUV@>Tr"Nc[^NNO^r3.7MN!LIJ:r2nF*iIqOHu5sSYi3P -PEhT.TTY"cMM-S4G(#(!M3*adU7ma1QCaYCUoC)KMjKlsUSOKYWhc>bX.Y]@OGSgIKSGMRTs2)7 -Z`^*kOH>ZqV5'9FV43R*O-GrqTr+EHQ%,3lPG,%[WK`C2Yd1@* -TrYiGca]g?Mg0>jN1-K;X0T.9V3dL=R#R6$S#ENrYb7;OSs>A"R\64KH$Xjc -L5LnFNfoERJ;]eeSX5IrPbb1KTUh=/P*r)CSs5bE[^*KWYGeIsU6Lh.QB.E4[%E;.JUd]I1jXLu -M2?h7KnkD6I<]saLQS(%URddu0`O-GlkNKg!2RYd6$U9^ekS!K4tOc`S0USaudT:;CP[BHL. -\AbqQV6dM5Z`]FMTX;PWaL\@>Od;E%OH5j$UT1&OOIEbeXg5CE[^;luP(e44N/=@>]WS39ZE1%" -R#ZiQNgZW@XKSgHWgo',P*_]>\[o&;TW#/rR#m`2Zba`*`4<"EQ]I/nSt)+5O,K$^Q_LUZT8nMN -F*j.PXf.eOL4=PsG(5L5MMmn)_8jO8cca"uX0]16Ss>G%Q]6WWQBRN'R[^"=Mi*XWO-cTI\#5=; -JVK,AMftMfVQQkZJr-2+`l,X#XJW#$TTY=sP)YTkSS=5\(Q^X5' -R\lpMTVSHXQB[r>WO/Xr[(jAq_mZq_YaU]=MiF(&]>1hQTUD%,P*2&oZ*q!BW2-&TT;ncRMNEmS -Ng?*'S2-7hTXMeX^:LA0Nh*AWRu2oPI"$a9X1HR.d+6t'`N>l/V6@5=`4`LibeC*HP`LTTNrGAN -S"Qad[@X1jStN'^SWfMP+nP9R]!O$YGRqZQBdc$P`_,oT<>Z0 -VlHr%U8>'!VPou>IYB_V!Ye\@&ZGZ`9R^Ts;,5Uo:;t]/[BQpH[%WV@LQS71[CsW. -e&nbLFE<"u]@br^[@iD6S?/lkVQ-SfW2Qi+^;S%1aMGEnXIb]=Q^a_DI[ZUu[`HG%\>u$_RZ<`. -YK#D`ji>!:US"*DOH#*XP*rJbZ`U[?Ru`c$Q_^CBMhlh0Ml<\TTU(b,SXkt$LQA"&VPK]T\C9Ep -h93@$MM@@bSZfuXbJ(Hp\[AW@W1K9=S!o_5VR!J+UTM#D^o3VlZGUNe2\)I"@QMP`V&qR?j;4SY)d] -WM-5cW3a:TZD4+dV6n+TXdb9'O.2i@XJ;>SR5CD#OGSjXR\?t"`PfX*]!\fBSrnefPa@Z,Z+.05 -P_k*PQ_q*r]>)"m]<@lsUp\%S[BHe5Z;e3Kbeg?JQ'7JqP+Ab`Yc=7\QCXnNU9(r8V4OKu]Wn?5 -[(EoV[^E**QCb4uhs0+G`OD_4Mh-VLV59o\Vkp#`\A5e^Whl]![^E63R\7(+`Q-4%c#h(E]X=uH -W2m2*TV&3k]Y_It]uA..Z`9glQBmu,USjof]uS'hVQ?u%UoC`0['dHUZ`L1$U8kiNd)*/t\%Tbu -]t(_j\ZrHRb151oahPL,cIUe(cc4#Pg"b?5e(*1&ce%CMoCD)'g!\*b\$jN?mcs0:rtP%dj4`5A -iTTRhiTf^ff\#3Jlg".os+13$s+13$s6BW7~> -nGa!ll0Rd+p%.kHnF#`5nF?MK$M!]YoC;87l0.R3rVlrur;?Bj!r_rfmf*=dr9""[q>AY?!W2i` -rrW,urpg$gquH`krr`8lr;QHj2Zf4r9sXQr9Xp_nF#]1lg!d%mI'H4rUD3&naH#:naH,@o^VPAnF,i6mI0T:oCD>mHa''mJQDPmf`.MnF,fDmJcPQn,MnWmJuYRn,Mbdm-jK9n*K?)me->IoCDMEo_J(qp%.hG -o'l5?n*floBGN1r;QNan+QVOnF?,Bo^MGHq"!kBrr<#mlf[R%o();< -n+-8LoCMVFnaQ)9lgOZLrr)Zdo(`4a*rbp/s823MrVuoqn*fi?p[[eCm-4!7s8Mfgp%eFWrpt:' -na5Z3oC_qWqX!JFs8D6Bk3)=7rq#aZs8D]^mdTf;oD&:`p[.D?p[ID4oD/.MmI^/Al0[j!nG2qL -m.1&Ro'PZ*mdfl8o(MqRmd9K8oBtr2nac5m.'WArVo%Wo^h_JqY0RNmd9WCs8MTRoDej^n,*.V -k2u+*p[mh5jmM^.lgsoGp\=CHo_.tKmdB]?mcs-.na5Z1r;Q^Fo'5N/nau>2kP>/Xqt'7En*KN< -naPr3n+Ze\qtfsNm.'`9o^D;?p@nR[*Ui=YlgXcNpA+^^mdpGXp\"C^qX3nNs8Vl_m-srPruCn- -mdKf?q>^K`hrF.pqXj:KqYKjSoC(u1m-aZIs)%Gnio]IunF?8IoC2;Hq=!bIq=*nq>UBtp?LW$oD/Cc&,?(omdU)Mna,`1nFQ/@qY^@MrV,jOnEfc>me-V[qs3bE -p$Cl0q#:$Yn+#l7lKIL(s8Vc^p]'mPn+6#7m-nc&OlrUK1;kkP/WB(kfcn*]N3rVlER -lJ_=6s8MWarTrk=p\t'Zk2P\!r;QQeq=!e>nbN.[p%%YBmI'ZGs8Vubm-X6-l0%d?r:BIMnDNU) -p@S(SqX="Hna5Z/n,)kOp\t3fo'c)>p@n=So'l2>rpp*\?hEsZmd^#BlgOH@p?q;Hs8Vols8Vcc -s8Vuns8W&jo_A=Zo',B,o`+mcnEf];oC_P=p&4d[nE]2uo_nLNl0J0Fs7u3Kk3_j`7q"F4IqZ$TlqWm23r -quZlp\OdWo)/OdrVH0Xp@[q?l1=Z;nG<(Pm-X?1l0Rs4nF5u9l0Im-pAORJqZ$TjoBPN&mJ$YVn -ETN:p[[e=jlYjqm-sZ?s8Qs*jQQC;jl5h1s7,XXs8VQOm.C,Ps7l!Gn+-#9s7lEis82EZm.1&Rq -ssL]q=sshs7#:Ap%%VDo'Gi@rq5dQrr;igp?h)3o'l>Mq^KbnGMtUCSp&"USp$V5>nE0-;s7bU7o)/@Rlg+!0p%S4Sq=X7DlgF?9pA"Uds8;ZbqWm2.n -a5`3k4/?Kr;?Nn+oV#ulhLM[q!$u.n*ol>p%7e?kjS*5r;ZT_o^hJ;mdp>TrtkRsmJ$JNlfI7$q ->C$]p%%YJnEfiCo_8=a&,#,Tp$2>ProDo*s8VrZnG`Fop$1c3q#CBjm-O`O"8D3NqYpL9o'l8Bn -a62Qs5MYoq=sa^qn*00)nb2PAnFY`/p?qMNrsA5VnGiOeq -=m=jlkppnauGKqsO.Wr:BFNqsaF]s -7l*Us8MQMj6ug?pA=acs7km=k3D^>r:fpZp@RkJqX!J:p[e4\r9)f"rr3i2o^h\Ls8VlaoCM>9n -aPl3p&"LTn)<-rrVuod)ufm;p[dk;lh1)Cme$&3me$DOoC)/;o_A+MqY^@?q"t*alh1#>jm)F1q -#'p]qZ$BVmeQn\o'5>sjlbq*s8MQSmI'KBrrh`Mmd]uLrse_qoDARfo]u#=n*TiJrr4hNo(`7bo -]YB!l1+KEqtBUPq>^*QkiUmjq#C9ks8)0OpZq89oD\dir8mJKs8MZ[o^;&8rr4#8p?D5Ls8;N[o -(VhDlL+EHs7>XBlh1/Llf7a>r;Q^\qtU!]naQ/Ao^V;8mHX<@qYKRFrVuobiSs8$s7u*KmJHq`n -EB6'j6-+7s7c-Xq>^E^jl>Rqp$hVOqsEP:rr4\MnEKB9rVQWpr:fs_rr<#lmHO'3r:TgZp\Fjhq -Yp?_mI9oNs8DKYr;H3Plgj]Drr<#qs83c1n)rp)p\t3mqs8VNKkjJ'1nG3%\p\4CJk2bn*rVm*#q=a:@lh15@!V-*ds)[u$mJ-YXp$h>6k2bq#qss@No -()e[s7GL>nacPVrpf@Ns82Tis8VoalgOQ@o)/Ofp@nRds8D]^m-XHBs7c*Zs8W)kmI1#Rp#PB6r -;$^Dlgk#S$i9>Vm.gV[q!dbErVcbGo^_G8n -+ZeSnEfQ6r;ZfoqY^BnrV,aFmJ$Y\n`8`lmJHq`nDs'/nFun]s8DEZoC2>:mJ-\HkP"rUqt'ORo -_84Vn)rp'oC2ANs8VrhnEfW9p@\7WqY^Bno]P;qnGiOep%\4MnalMOrr;imq"+4Yr:TmbqWm2*m --*j,rr3)nmcF*>rs\o"p@nUeqX!D9pAFmgruLh(p&FjYp&+g^o(DbQqtpEnr9`e7n+QSKoBkr:r -;Zforr4kMnF?&7mIgAOp@\.LmI^GRq#CBlp@@V8lL4*1p$_8?qu66ZmcWa"o_7kPs8Dimp[[\Bq ->UC)rV5pSrVuojnb3"Rn+6GTrVn;Ep%8(VqY'RLmIgJYr;Zfpo'uMSr;Zfrs8VrenET0%q>^Ejq -Y^0drVmN*n*9H@rUT:@qu?KWl1Xo@kkG&U!r`/urr<#s"oeGnp\+FYrrE"Ks+13$s+13(s*t~> -o)C&u^RKt.H$F^_IXcfpH[0j\H@'p_H@(-lK8>SWWOpF0kN(U[j66IA$2a)Oi7ccIo(DnNrrVEI -rTF1_jlbq)qYpWpq>KCS&Gl2"q!n:Pm-a]KrV-'_rVlcq&Gl%ho(DYDl0Ra(p\4+?lgFcO@/ocb -s7YpIlg=?Ar9`e7m-WugbL+beeCE$qdE^+dd*0PG]ZA7<`k]:%_TKg0Z`BmnR\ZdUTq7aCS<9&' -S!o_.Oc50RMMmFNLP^e=JUW&rIX?EhI!pN/I"$KlI!U![I"-^!Isus#Jq&2q -H@(!dqKj',IXccoH[L0gG^FgcH?speH[^KpI!g?mrdOltC4h1oLl.+JMi!:HMisEmOcl31]YhI^ -Q&q9"Xgc3mcH*o?`QQ62\]WLV_7./(e_&R(^qIbCm-)s;ZEUF5[D0o5e(34+d`0&;[CQmdfMnf%]'8e'H1T_SsaIf[em6c,.EIh;d57 -c.D";iRZZ9e]u_!cH!lEe_]6@h:B][\\ZD3bJ(NkWMQGgVl$,bY-Z1'hoN:)Vl[&%VZ!E?UnF9I -R[K\=SsuIV]sOf;XgP^Na2>NpXf\n=[(O5fXJ2Z%^U^YV]">&4P+JklbgXnW]t(JSZa-X+Q]R)a -S?TH,\\Q2%]Ssl+A[Ca&PR#_0's+kTNO-Z?2S=H(:QBRJrS>s0?bg"2E -\%0)^]!eoGW1/p:Z,Xl!Z)t%(T9P=oMiEsqXK8G%Vl-;ZP`CWWKS58OWNs+N]W.g8^U0]#R@0bL -Vk9`f\\#AWWhuSdUo1;qU6q79S2mSRZ`r/VPBiaXJhti -RZEc#Q'7ApR%9S-PF%PsPF8JY\ZqilOHG`oQ&_02^W!ajYHFt,X0.tXO,K$cUo^SsV3m@*N/3mj -R@9V7R[9A&N/V2+Pb>1c]u%Il]ZAI7]"#;RT:W!fYbmqVRA6maVOs9AQCFVU^q6D)Od;E-S=,tF -Vk]cKO,fEiS>s*,[^)ctOHGp3Wi<%uU7IdOV4F3[YGeCmPaJ8EW25oOR$!/VKDpOGLQ%IcR?EPh -Ng?E:T9ktO_T'6jVPKuPTV.XAYdq*6T:VO=Pa%AqTr4HHR@BP*OcuB9ZF.'DZ)j^jR[B85U7[sG -StMa`^;R^fUn!m>St_jEPaJ,:[D98NVPg8`U7e'BOH>TfRAmd4[A]^_OHcKDY\g8-SuoK.YHtaL -Xfet@_8SsYn6Q^!^lR[B8%NK96kYJS)ZSsPq6Pb54dY-"q3 -Y-PRR\Z2*`R?s&'TsMACb1tjgWMd/:]SXZCOR@9bEVl?f,\?`37TphLIV6IP7UTV&*Q]R,bOHuQiSu&<^ -W1ofPR?a27Vma4gUS=]n\?W$0Q^jnSWM?DuWi<87 -[A9@dSX,V3S=6.R[]cj@^r3soVj32?NaIa/StVF1QCjqCR?seTX.c/[V6R\DWMm,'Q)(+NWhc)S -Wj^'q]WnrSWMuVfX/MVd[_Ji+NgH<'NJ`[UPEqT'Q^X5'NfB-bR%L4VZ*CL4VlZJSS"H1\EWL'$]c-aYA]$8C.X.uStZa@0@StEX5`OMnGYd_0BS=6">S!p=d -Z^R#P\%',c[\Nke7\6KIU8"<^9d*0(tU7RjGUoC>uW3*hG -U6hRV[^EESd*9;1XItl@Od;NE`PJd_rj?mc[\odkU8"K+Z[K!SRuru*QCG"cY-bjNU6ht*fZqFK[]lp=YG.M\UnFE[ -Un=6QUnYsqVOO!I -Xg>C@Whu_rVjsHb]t1SSX/W"nTW52mR?X#*SZT?/FKV.%WNitPahY0[WOBa_YFqMYP`V?6]#rRT -eCi[-^SdZpTWPT6^q7%a]>V.WUn!a@WNWM2\[SlP]W/$3X0fUPYaMK&_nW^i\#,do]>hUmYbSA3 -]V3e'bV4b'3 -cd^Uq`5'L8[]$+#]Y(2:V67AG`l>`rUS"3NT;K$=fA"s!^:(>ES"6FFRVSCbWOU+$aMP6VSu8`p -X/MnjRZj,7]!o&NW2-N*ZCmJRW3[`Qt=]Y)"p^:15?St2[YZDs_# -\%fVd[_9f+[[`ebYd1[I[AojgXK/+cS"HIMURe!TZ*@E:[`d.I_6^DS[]lQrR%0qU]XbGPU7@jT -[CN]JXg5LQ`Q#6ZSCG]"Pqs[]67&ZcL>'[(3f\]YVV/ -`PK$iX/2f$ZE:LG\#,alWMZ`%`m;N0Y,/MB`4ir<]!&6=\%8f:S#3^MkjR`d`3cSJTp_RV\$iH8 -U9;#Bd+$.EYcG"=^V..TUT2!+aEPhKaNW&S]=H]t;/(_7Rh1]sFl?TUqpOWNE5& -[_Teh[BQX/YI;!I]u.Ut]st8;Uoq>I_nW^`XgZ-b]=l52]r\?C^g"@P&h;$lJlK6mPbJq]Te]P_Hf\Y2t^WF[9^ -o)C&lVgN2h?[(K>?X6i:='/X4@r$:CR^1&eiSWJHhrjt<$2WlFg==U7o(DkMrrVlX*P -s75C7jQ>n*qVpDiioJtB_8sa?b0.rI`l#[2_S3ReYIhK^]!S`K\%fDUUn*a0LQIRXMM?\5Jp)@M33] -@UNSN?t!>G>[:W?>[:]GA,Km:A,KdEARo=]@q&kT@preR?N+71?R0&e@:*GMA7B(X@p`VL?<^Z> -?smGN?!LcE@UEPM?sd2E?!h%>@f^%Ira6=H??_91-Tg#:iCf\,-AjmM6ikkb8NkNL[Hc-t:ocHF5C^;7n9dEU1i`43J% -eCr3'qd+,n8St2OHR?a/- -R[KG'Nf8jPN0'!TOI`YUT:DUSXff:FY,.eaV5U/iZEBjdS>`ZkU8+clTob;'W3j:V^9t/GW2Qbt -HDHmaJ9ud/UoU>mZ*q'EWi<#&WLJs6W49LAR>#p5K8bqGKnb_[WNWP;\@8`CSs>.WF*E8(WOBFH -[&KOTM1KttIXQX"PaI_kI!^L$J:<08P*VZ.P*DGlKn4])M3+%-YGn7`Ne`:BMh6(pG'o:AU8+N[ -Sr\GRIXZN^FF/FdLk:,3Nf8^DI"R93KnkVHO,K$^Q&q&kVQ?bbL4";lEGf]8GCPF/Ll$tDKRnZ. -Q)1h#_o'4!Z*L^AY,J(dSWAMbUURe;U7IgCPDFg@H?b"%S=Z:BR[K=qJ9lrH[pm:UTM2F\[&WW`3QJEWh>H8R\ljIN.m"KR[94tLP:JBPbbI]OaVV/ -KoChBMNO0cLk'brAq,MpSu\fhV3cm_I"@KCOd),nNK0EqOcuH4R[T:jLm49qQ&CTUIWTLED/3p( -F*`CfHZs[ZJWH"SKnuM0\?2HpR@0#"Q&C]rW2#N;NJN4:I=6EtNe`+;L4Xo*KT2FsW2HDcJ"N!d -MhcnJP`UoePEh?2Z+7*6R$*D^N0KKbN0'?jW3`IoS=Z::QBdMcIt<-&M41QPWh,B(H@V$GSsPM# -U91GpXgGI6WNES>]53I>3fUV5U2[Q'\#;sTUS!j0JphumKoV1_Wi)24I!pBbG(G^= -NJE.GHQ(tOhTp:Y!QCFG7Q_C7CL4"5lH&S5bUoLW' -V50fQOGAOEP`Ui_NJ`71F)lAHH[C'_FE;G>CM72mTSX#4oN/`piW2#fDMM$P4IX-3gIX?QkI=mELZa$9hLl-q< -O//eSWiW5!WN<8!Q\gKWNf'$kYIM)i`S0"VU7S?dWh>B.L4t2/IsufsH[1-nH?!h=H%LU+StqsU -VO`s>U7mmAT;T!/`5B9pVO+6WN)kdRA6XSUS+'FTV.pGQ_'_+LQ@LMKd2M@S"HR\Xeh_`R?No+S><0WQ(Y+GL3n&cG^G., -L4"<#OI,s66^!LlO,T0eS#NKZNffp3R[U(XX-o3E]W7QmVR4+U`NYhlLk0hoMMmasZEC4(OH5d$ -S!9>:S!p%NV3Ht#O,&RONDYY!T;\NZW3s1BW1&KeG]n+RKoLb:LQR[WL4bYZR?3JpR&.$hSXcOJ -LR"'kSsb_-UTVJQZ`'t+SXYe+R[K5&VllD=HA%-,G^"I\ItE?,6%ai@H$+4QH\%->S"QLJSXQ12 -K8>D=JV8W=VQdD6\%&iFRuiYpV6QPGG]nLcJV&T1Kn=VpIZ'l([&9F_R#mDFPb+qc^;.C^ZFn#e -Z`U79\$`61SsG7bGCGgQVQRD=YG7/1M3<[ZUSWKk -S<&SgN/EFYVPB''RB*O%]<7KSKT;F\Q'ml)VQ-VhXg518?a?r>S=?%AW33>'PDl!9`6ZW:SsPIp -NK]d"V4=3^ViQXuVm*J0\Al@fU7%'sJV&Z8V7*Y'Vlm;.\>YaQMiEg\S"ZjaVONm>Nh*&AW49UQ -W10Tl[AfppR]O9FaD/GlTph70PF\J>P+A&*OIMf/SYMR1KR\E#Lln:'URm?gH[9j^J:W6,QDD%. -_76n`]s5&[\>YmdUn*NuK8l7fR%9hDVkB32MM71dV5C#[QAL$AM2.+cY,SV1W02h']ZeC0\?W!- -UMlffN00BePF7YrNKB?^KRnN"QaXQ3Um.+?Y,@k_RZs5:WM,r]UR7UIVk]cKQC"&4TUr6u`l,a( -XK8UsOdVJoN0pKCX/__SPF%DdO.WSVV4jHLR[9;3Umd3oK8#;SU7n!1L75'I_8NpaSt9]#]XXSn -MMZh3Mk@>od+-Roe]t_!QBdf2W3a"C[CNr_X.>Tm2eP+AYf -bJLojP`:ouT:VRCZLQ.XjV6HbdW5REHg"=ZaUQ'kYMj^`fcGd<']"5AS -Un![4R@g4BR%U^p\$N9D^:pM*NLHN5VQ-P`PE2E/QAplcP*(lVN/j@'VlR&Bccs,+XKJb(R?*>g -QD:XbVO`g+MjU6hRr`kf$^ -UR@7)PE;6*TVJ^%]rS$(R[^%NXJ`A6['R-CVja9X[(O\A5;CV675Dd*BkQ\$s2s -ccF,A^W4dQdFd.$b/r&_f.c:Cg=t)t]XP2M\]WRXg>1cHj6?$si7ZArc.LUj_o:3^eAK,HcH!fN -i;!?Pq#CXlK@C0s8VbCs+13$s+13(s*t~> -nGad-lL"$2q"+1MnF#`5nF>u7mI9Z:p@\+Kmd091qY^Bjp[e(Vqu6cpn*]W3rrMrjkPkYYlgt#L -rrN&rhZ!]Uq=j^arrW,trq69tq=41Oq>^Kkp@eFa%Jobpr:fmTp\=^er;HWos!RI&k3;7$nF?)? -nF?/BnEfE%nFH8Cm-=!/oC;22kiV!fkNV'g\qYBp]qt:9hq"a[Zp%%SMmf2_`lg4$,n*fc8o'u;?rU9dUrpg!Y+7Sainal;BnaPu9mdTZ6 -nal>BnF,f4lg=01n+-#>o(hnUoE4^TnF-AH'(Y\fo^hVDo_%qNo^_YFnaGl4rU9dUs7--\!qPmN -rU9dUrpTjUs7$lqo^qhKoCDMFp%%V>md^#DoCDGBo_&(Q$ha5gp\+:Qp@e.Op&=Z'p\==Op@\"H -o(;PFo()DEp%IqHnF5l6m-3d%md03'nacSUrq#@:l/qC!nFukYq"=7QoB>H4s8VKLnGiIcr:o[C -li-qarU&e3lK[a*p%S%Kq>U9_natr,lg=*-nF5u5kjJIqo_SL]oC226mIKuFp%eFMj5ob'rUT(,jR;mBmHsTBo_SLWlg43;s8VofrqPjEo(`(Vna>`. -l0\!0kMbL^hWk.@p[@G;p%%G3m-sQ8n*KE,lg!j*m-4'7qt0CIoCr+Ws8M`]m-aN@qYpNp1&()' -o_nIPme6MMl0n9l1"]Ps8;orp@.PAnFlDmI^;Ss'>TsoD&(Mlg!d!lh:8To]YK-p@7YCn*T`Hs7Z-_o^M,-kO%m6 -s8Mc_mHa0-nb;S>md9K:nF6/KrqQ*Rm-Cna,Q3q"t!eq$Rkiq[lh^YVrp:Zj -oDAL^p@e.JoC_eIo_J@UqXNn;n+?JTr:]d^o*G'eqo^hV=kNqd>r:KLP -qXs(;q#C9]n+?ARqXNh7n+6)>pA+FVqY9XXqY0OGkj.R$k32@/oC))Ds8W)hmdp)@o'>?&rr4_H -nF,uCo^qtYq<[5+n+m"`rq>^Enal/=nFH2Cp%7qHmdK]9n*of1kOA3:lgk)RrVlg(n*BK:o^M54 -mIpMXs$H\Zp%@qGq>9R@lhCAUp$_DCp[n"HmHNitkjeQHq=O4FmHs90mIBi@md0B:r:p!ap[@V9 -iop%/q>9m[p@Ib?n,Di4n+-2KqtK[XoC2DHoCMPC3h -na#cGs8DZ`lLOQ:o^_SMs8Vrgo'l&5l0I^3s8VrnkNDF9s8)3Kmdfu>o(i1YqY^9bnEo`:n+QMN -rVuosnFH5En*K`HqtTjVoCDG>m-XNFr:omVp[7/*mdfl8mc`s-o]t])r;Zfhk2u(%rVmQ*o^_PE -o_AIdo^(o+meZq[o^h\Rm2PQco'P`/nb;qXp@S+KnF#lCrVZHdp$h;5o)&Fd?2!m^p%7h@oDA@S -mIKr=p&4^Zo'u/4n+QPJn*]`Bp@S%Rq"=.En+-)Co^_PAnaGo7nFH5AnaGl;qtp*Xp%nIPm/$b^ -r;-Hko'lDRqYL3jq"=FTp%J"CkjS6Eru^q(o_A4WpA"Udq""(GlKn?HqXX.KrVuoqp?1>uo_e^g -IeE!inG)nTnaQ#Do^hV@mdp;Ts82*BlgXB:qtp!Sp](9emHX?Ds8Mceq"t*krV,mQmI'N7nFQGM -oBYH(qu6An+6DKn*or=l0\)"78"s82N[nFZYYrVQ -p%%A0k3DR:s7PdJo_/"NmH<^%oC25;rr6g)jm2^ -r:KLNoCDSPq=+(WqtL!fqX!D7p[RV:lg+6Ds7YX=o)8UgqX3M3o'u>Fo',?-rVZ?Wlh'rAlKdj* -r;Zc`nG;b8l0e3>n`K-0rr7$7mIBoCp@\:^qWdD@rq,Fn,N@XnF?#:mectTj501up\t-cm,mX)p$D&1lLt8Xrq60fqYp-go'ZMG#Oq9mI'E2n,!([lg=?@s8Vr]jlbppkMkXoqY0LHlL"BH -qYgEn!q#%:rVoC[iU6[Es7bmAh;mqprr;uls8Vogqt916nEoW2nF-&Fp@%SPs7,1=nEfN2o^qkJ -q#(0gmHaBAm.UJZp$MDOs7PXCp](6lp`0;5qsNS2mem+]naZJUs7cN.o^hJ7lf\$As%E=[lLOfHp%7nHo`+semHa'%kj.X%nbW1ZlK[Tol1P#S -rquE\qsj.Ts7GLKp\4UcpZh/>p%7kElfdHmlLXlIo^_J:nGN:c([pDKlgOiQs8;T[qu?]o -o(W(Wm-=!2rVlg5q#CBln`oN2o^h\Ip\4CSq=!Y:lJpsnrVm?)lK7O-p@@hPs8;BMnc&OlrUK4: -l1FuT)uB3knb`@bp@@bEoC;8:oDARfo]PB.r:oUBq#(.%p?M#2me?_\r:TOIlf[jn*KfHqXj=Kp&G'hnEB*(o`"jmrUK4Frr45?lf74%q"aa^q"k!irVcQ^ -lg!s1p@\(Lnb)_Sq"ssbp\+L`rtk=tqZ$B`p@7V@o_.nIp%.kJmHNp(n+lt_0C@lkrqcK]nbi+K -q>9XElLXiKr:ogRrr;oipAP$kl/1Xmq"jgbqtp3bq!%&2pAFq!rV6!Ol0\69n*8urnbiD3mca3; -s8;HSl0.C%p@n+KoBu&Bs8)0ImdfuFs8;Z`pA"CYrr3B&nEfT7oC)SVs7uQks%N1Tm.'lMs8;T^ -p](9inE0!0rq#17qY'FKpA=RPm-O61lKR[(m-p\X^Pl0@g6qtp3^lf@7! -q#'XDkjeQLrs\hrna>]3qYU$YnF?8Pruh7:qY0^SnF,`4qZ$Tfk3;:(q#C?cnaQ&8n+65Fo_/:` -rttb.qY9@?p&G'foC_VAp](9hm-=6>qtgjl#=gl0Rs>rr`&flgOfPFSG4nqu?]il0.g9oCi4aq==%Is82EWo_%bDp[n1U -qu?]kl0@X.r;ZTeo'c)Gs8Vunq>($is7YjHlfdU*r;69`q=a@Ss8W#ss8Moko'Pr@q=X1Dq#CBh -o^hS=mdp)?nFlYLpA=RRlLO`GoBtl,lKTD\qtfaGmd]K%lgXB4p](6go(2\Pp[%D=oD/Fdq>UBu -p@@nQqtp'RJnG<%Yp@@eDm-XWIrtG2'rr;rhnauPL -o^hVDq"sjTo(DtY"8quhrdk*#s+13$s,-i,~> -o)B!U]:"A(H[:*drdK'>H[0j]I!g9eH$XjdJ:`N6Pb>.fcHOANbgt_8kj%BgcbmK1f%&@(gu@M_ -nb<"]rpo@;j6#=Me)0ESm-3WmkNhR+p&G$Ym.p24jlu*tq"j=7b0JStlgXB1mHEK_gY_,ZnFubM -md'<3nb;_Fmdg,Hqu$@Dp$h>8m-*]qhqd2HgXjs'eCra7g>(QCj5oFdkhk1LgY:?*`lQ3Dda?4W -aOL4F(u3Q^e'ZLab085\e'#nWcd9eGYH+b,XfhZ,/$,kTXJr%hSYrHdVP'NRUS=?KQBRGlN/`jW -Mhm+AKntVCMM[.ELP(,,JGt-+J:W6#I!^0bHMr0qH?a[YH$FOWqfW3gG^4U[H@()=I/eU'H$Xgb -I=6QnIsuckH2`-iHNJM?HN&:7H[U9kI=HZpH@1$dH@1$cI=-EjI!pBjIsuipH[C'bI/83gHl@?W -G^"CTF`r"TG^":RG^4U\G^4X_H?spdIf=m!It%?D!dT$7rHA*_rceHhHN&9kGnG4BGC+^cH@('h -J:2cjH$XjdqKsN7I=-BfH$O^^G^4R\H$O^_G^=aaH?jgaI=6TpJ:W<)J:W=OJcC6EIt`]7Knk\S -V5pJ[LkU\FQ^jnTZ`pI-WNW@qTs;;GWM?Wq]mm]'V4jj'e'bn.R[98'RA$UaYHkUIZ`C"(S"?=L -VlHi"WM,iVY-b@.St`9m]Y_\/aMl$4_o^0LdETnahW3_Re]GA/\\,M]XfA4oVl[,1]"u.gX0B4T -begip\Acb@^:qP*_8XI/[(!`fc-FDG]NbPE:ceS>E!QT;8EdXL5=6V4jZ`YI;$S[AKC`VmW3SR\?po[nWutOc,?iTVIO0Q_U^o^;7Iu`4r^YT:(^sMis[5[CWoX -Y+V/IOc,0]P)tp#Vl-,OPb"J;S"QIIUopkqT;A*HP)kcnStia#XJDGYrg[huR?[Q^!]$SY2I@T;SZXPE(p%W2,uW -U7e!>O,f?kQ&q,rTqnHXT:D=;S"-+ATqS'MUS40GWNW(aQC!f%S=Z19Q[+jYPa7W!Q("21V4a9G -Sti3`VOs9BPE:roQApliStW0n^r!^bSsPY'PEM,pPEM?/['$6sTV@s>S#s-&Tq.mQX/DPTQ_:.L -V5gVpV50]KS=5e,N/Wd\Q][ArR[9;*Wj]OCT9kn3Q'dbtS[?;R[^*3G[^39FEiGRgKnkhaWN`S( -R?*>aL6nC!S=H%9R$3YsR$j>0TW,-)^qR=oc,RZ=_R6)*Sti!MQBRT'U8b/kUn=3MUoh,5TTGA, -StDI;R@p:HR?EPhOd)9/YH"LoS!TG/S>N3`XJqqdTWGB!XL5@6X/)2Wri7ZNTUqU:N/!(BLP^kH -OHu5tP+%W"R@Kb8Tr>H7\>uR-X.cD`Q_(ImYbIe]R?dc9(R:YgRZs/,Q&q3!W3s@S]XbPUV4X9E -Oo:SdR@BY5V6IA3VkTiVS>E9eURRU:Trkc0WMQDdXKAIsS!B/!QC=e`^pg;8P`:ZiUo:2gTVnc` -TVnrtXKf7L`5/sfWOTpc^V%.dSY)OBO,B!bVlmA/U7S*[YH+S#YID6^\[Auc^osB#RA6RPV5'f0 -XKo(2VPBiVS!0/'Ts1SiT88;cUSjQ@N0Tp+TVJNgWiN1tT9G:sPEVK1Vm*_>XI,?=PE1foV4aBH -Q'.2eLk^hRTqe2^GR[TV-Nf&aRO-,TdNf&XGKS"f.Jq&8uIYEc@M2@7XQ&^otZEL:0ZEe#?WjB@L]YM@o -Z)sajR@'/$Sup)W`O`@^[C3QO[(Eu\ZEKskTsMGBYH+b0['mHNXIu,UUoCAmTUV[Y]">;JU8,#t -WhlD_WjU$n_60T1VP0ukX.brMStD+#M4Clc^:_.mID!(qVj`a0N/j3nT;Jg!YG7P[ZF[NHY-Yj[ -]Vh*WQ("53R@Kn;PE_T0T;f9-['-?tR$X2:YdUa1SXc19S"#k;T:;%+MMmO\WkH$JSWoM0R&@U1 -^:Le[ZadTX\#Z*eQ^*VhQ`n->cJ$gaVP'feYd17"S=,\,OHGZDOGf!XP)bBWL5hCaVRF.J^qdLb -ZF6p.R@L1__Ss:"[BZ[%P`Lc^Od))qTX2/5Yd(F9YHk[NZEpmAXK%t]Q^XhT9+naLl@F`TqIX0 -P+8>IXK/1jTq@jET=r1YY+VPkZE("1]XXo9XhCp2T<5lLaMYBZQBIJqO-5g%XKSV!UR@F;VP]r[ -Ybe%gW2,iIS!oM$PEhT8\%T)FWO0L\_lB#ZMiNdZR$s5(U8t>AT9th4TUqXFV5^u@]WSEJYaV#M -U8k#ZTru5Vb-n:OZEU@-Y.1d3UT_)'Q]mc+R?Wo!OcbilQ'I])S=Gt4Q'IZ*TqnN_Vl6SaQCahC -S=lLOXg>IF\$ifLTpLq-UU%"nOcY`hOH,NgP)kNZOI)cK\[/60TqJ<])6:0Z^q$eIZc().\ZVp8 -\%9#QXf.thQB\*BXT,LsZ*0maQCX8(W3;ke]$oB[_8=F8\#c=&[^`fRVkC!!_Sj'eU7RjRSWf8& -Q^F8D['-0rZ+drj_R?5,R\?UMU84Zl_8*O_[^igFY5k[&W.1eIYHXmnTsMY^aL%\2P`qZ<[(3`N -X08b*T:Mje]Xko#`O;V:S!K5#QC4e`[&Bt,Z+.NRU7.L@T:_^PYd^j3S"$@e^V%>(bJLEXYJn`+ -]WRs4_99p7Z`BdqW3!5/Wh?>lVPg`(VPUGqUnO6CR%URaXh)0?P*q]#NKO7)I[-G2`QZ6.[(O;] -]"u+^TVf'&Vjj0QXfA1oW3E_8VP'NJUp7/+Y-G:0R$XA8VR3k>]#2:cU9Vkibeq6.ZE'q"SY3'i -WhlSiSsc+>R#m>nR&IX2\Z_g#W3EM.XK8J,]YLtXX/`(pVkp)^WiW1iSsu4EZ+@Z`\Zi6>=ehXl -Z(m_YWNNA)V4j`cV4=3\Yd(I;XJV_`Str9YSXZ"2SZ/iuXIYZNW3a=``O;bC\B)e&WMuegOcc'5 -_URE"e^`'`Xe;;^XKT%C]tM%h^p^GKVjj0%UU.JH`kJ[\\$iWGXg>L@Un"Ep`Q5j(Y+M5^]Z%Of -XIlJu\?rB9Un43PUoUl>bK@>kStr6RP+8bg\\#_lYbn@uY.2?d]VqBhQB7ZA\A#D\_8sO(YG7nn -ZaI$>Yee>pYcY=AX.#WVV4sZ[X1PpLXJ2GeYJ\75_7?M7TWPN)Wh,WSZG"9"aMl'5]X4l?Ssl.D -Wj&V/Xf\n@^:_1o]=,&S^WFU2\A#[nZ)++YPF&/R]uJ=:^9F5mOd`)[dG<3XU8+j!]!8EHXIlJj -T:)L_`66NM_njF7]sG#Ra1nLDVmF:fcc<]$V4jWQU9;8Wf\+fr^9t/@S=c^STq7dKZ,P5?b.=C: -TW>E)XJVbaS=lpq]LocCXJW,1XIu)[Xg5OVZ`ppXd+-_"d(lZMPEh`:Zc:;1^:qJ%\ZVa#USt8s -Xf%to[($S>NU"YcY(BaN;0#Y->15V43g@U8b5qWhc)I -Q(G"`YG\A+]thG&[&0LaP*V`=V4jKQV6.).Y-"k0Xf81oUT(]=^p'K)U8bK7aMbWbSXQ.GW2HMl -Z*LaEWhHAlTV8X-`P9!s[^!6O\Z;?lVm*M7\@T2RV4!X=UT:Tu\959j]tUeJT:`4!^pUAV^qn"2 -b/_9-ZEU@+X0]1:X0Sq'S"cgYY-uL%`k&LUXMDfi\uqj)Y-YF4S"$@edc9`Ve\nu&[&BOfWNib3 -VkU9'`RNGVYH+_2^rOL4YG\D2`lH*?`l?-Fa18@PU77UGWiN;/rk1_ -o)CDqUO$Q`?[(K??!:<1<)m"'?Y""uK9W4:`59=)`mQdF?XldaQb!g=tE;d*0YUbK%?*\[];i_n:bbK@lC_SsU>aM#-q^VRF[Ssu1=SXuIFSsc%:R[95!N0]j!QB7,gP*(]WJU`&lFT-=^ -Def/_s(NNfB4kaa@Uit]An>[iA7AtS?!LW<>?Y03$Cf+"'So6>lIq-=oDJ&=U\;2='/U. ->$PHB?$P69?!goG?5he,=T_`-=C1i3rF$jW??b?=?X@#B>[CcF?X?uB=^"m0=Bo*;>[:N;=oMY,?!R>4r*95,(g^HO?>$"p5?X-i=?!h2T -@q&kUA7bUJ(Lpo^?X@#F?sm;L@:E_VA7].XA7K%U@K'd:A7oIcB4bO[@:NbWA7K1eEH#f7H%D9P -RYlK;H[UX,P+ADDTUhUGS<8u.Y-=F^TWbW*Yc*kIQ)VL/W0E0oLP:YJR@]qAV5^;^S=bt0R%'_A -US40?O-H?8TpLn*S"cpcZaRKX]"2st`m2rZc-4Vjhqlo(\>lF,YHFn#TU_LBU8FokZE^6tU91l< -[&Tt'\&-4r\A,no_8EjhZamooaht]qUmdX?Tq\-BO,&:9It<6,LQ7XcVnBsNTTk_-ObeXBKnb>8 -J:;opH@(*fG'o(0P)bQdQ^X@jUS!p:Nf]QsTqeQ[Q&(B_T9tn+R$`teMNXF#USjo[Q'.5kQC4"u -Jpr#kLRY9P)Y=tLOP27H$ad^Lm4=!TqId5 -Lk:,(I=Hg"L5:D2Ll[LKJ9lWnJVB,IPEV)lQ'IGpRA[-bQ@X7)G'7nGFEi@nNL5rlLk:)(Js`C? -]tV(aWj&b7Yc=FgR?`baKp/:1UR77.OGngBJ9Z3_Ko_C]Q(45'L44;fEH-#JPGk^o[X5-FQDL^X -P)>'KNL?B+Q_(%QWh>cHQ^3hrOH,*GJ;/MuFaJe!MMR4VQB$]PIt!$+N/3=MQC!DXH\%0@OGJgQ -MM$;"Fa/IbGC#"'OcY]cMhd(DMN!LTOcGKcOG\gZRZE)QJ:3$*MM?b9JUN'#Jq8Q1M2.4QLPL;; -P*_W(Ne`:9H$b'mH@(@-Pb5(bZ`K[VKRnJpFaAF`IYX)^TpUq*P`CBRR\l^?O->m#R?35_OdDB# -S=Gn,NJ;k6JU_rgGC4mmI5J:`T:Nf][,Y.)-V[(4/g\$rfEP`(WgOc>'FJV]AQQ^3eqO-#WtVkT,sI>!K; -LkLMANf&I:Fa/=dLmFd-S!/eaJq8Q6NffWnP)kfuU7\'UURRd=N09^%St2(,Mh64qrc.sWF`VbU -IslWrIXd$-LPV%ZVm!%jS"?4:R?EGhU8aiOP)Y9MJU`,sLl6k6JV/N&JW,tpYd(@3WM#N:MM6S6 -KnkGAO,o9fU8XfTPa%;eOe&/7PE1]fT;SHSS"6+DTUV.(KRnT+M3t\>>IPLm!saP`h3! -Tq@d=P)tZ\rdm.iS=#7pG'8D!QAU-LPpn=J:)m-QBRT*ZFI*-LP:eY[`$;&ZE9skMhHnLP_t6SMNjd.RZ3&P -G&qkSJqS`-L5qRhS!K;#IX$!\JVAi4MN!IOOe&PXU77I9Su&?]SY2R>KQ_QfL6\F*Tqe?TR[p+C -PDb3OOGo$OKReAkE,frAH$Oj`GB@nFDJNs"B4PO^@VTq*EccYZJ:2j*Tq@jJW2H;]WjK%9Z`g9u -R#m8_L4Fc3T"rF`[&^7/WiN(tYHtC1W1B9EWN`=mS"$+LW2QM^Nf/m_SY;[DPaJ2IYGe"ZQD:(A -R$X59Y/8#`URI[CQ'I]#MhR"JPD"C8P,J>cI]flXXfA.`M1C)&IY"QQ&Cd"YHY(2[(ErQ -P'h@tJr#8@MiEC=Iu0;PTWYN$W1B*0MMRLhU774#Lk^G3Jq/H,Jpi&lH@U^PEqQ(S!f.dM2d=D -Lkq1_UT1ApWMlALLkgt^WgeimH[pWqI"Hp"IhXnWh?)gZE^O)QCY%][&KR\P*)>uLP1D; -LP_LqT95>7ZF.Q`YaUK,OI),sR[^.YY+qMaWhuPfVkg!bU48r7Vl,oAQ`IjD`j)"nKn>;SVld+s -S"6(6Nfg!@]=GSj\>5=LMhQe9L5MFtUmRaNX0T.1PD=jKO-,WsWj/RlO,TL,Z`gaN_RZM4VS'aY -YbIJ\[_KJ\W1]HFSY2jXTU)(nO+r[dTV8'OS!K5!OdDK"N/E=ANL?9+Q\^uJP`qB"S"cso_83:BOHl/lJrHD)X09(@W1BQSV6@D>ZC[29Jp`EGVmMMTTtq; -Vl?SiVRO7JVl$W#U5k7GP)tQUM2n7%Ssbn3TrP`:\#c!UNgZK0Q]@#mWOKdca25X+[&]siNerd^ -Tr+NVTqJBh[^[_9Z&`PTX4[]67-]sO>rTWZ&Wd)EJkRZikhOJ981h;d>2[B-0lP*;E%P`_&mV7=Xi`3>Sa -NLHW=U7@X6N/a4)Wi;keR%URSPE(luSuArjUp%SZeCN$R?X&0UnF3EQ'[brM2@+FL5V@mW2?>g]#2LsX/DtsURI:'Ng6-*SXG[s -J:NTEURd[;Uopu-\>GRQKm\?.R$j5&PF8,AUS4?R*1rgkR@K_Vm=(W`kJ=>U9VGJ^r4.-`Q5m&VkB0-M3OU)UT"0tHb@>2\\Z.nZE'U`PaIo+ -QC=hb]X"T:V4jZaX/Dl!Z)t7R#]"Q)- -bf8#Ycc3iAbKeJ^e'Z1BWi;tr[)UPBd*gCpgYLN4e()ph`Q?3:]=c5,aMYg-^)jr%cI^q8inWPb -q=3S+jQ>LYf?qsmd`oe\gZ7GWlMg2OrIP!"s+13$s,-i,~> -nc's8oBYl9o_J4SoC229nF?#6lKR[(nb)VLoC2,1lKdd.lf[?lnb`7a$h!!6kP+W;mdToHrVQWp -r<<3#qo)A1YliHMArpTjX"S2'MmHjc@r9t0dnal>Bna5]2 -mdKW6nc&([na?DDrU0jZnac8Ho`+InoCDJAn*]`7mdK]:naGu;o)A7\ne1WenaGl4mdKZ6n*]]8 -oCMVGnG_kWmdL)As6gfonauPKq"OLUp%A%LnaGr7nF#Z.lg=34q=+FU!:p*Ys7-ZinF?)@o'u2< -naZ#6mdL/E&+T/YnauGIp@e.MnaPu7n,D_Yo(2GFp[eCP+m\FUiof^tmc`s&l/Lakp@mY/nbhtE -m-3cqjnJfTq<@/Cl7hJgm-E`pm.'N.l0[a%kiCt!o^M>7k3)1(oC(l*l0Rm/o()8;n*fc:o^qbB -l0nNJs#9Z;k3DI-n`oB'kj%L&md'6*i7d,SmdfZ'hrF(rs6]%?qY9gZnEKN?r;ZflnG)YBlgaZ> -nF$8B1@F`'lKId.l0eTOo^VMLs8)6NlgXQ=o'l5@n*ff:md0E6mHj<5p@n7Qq"4(BlL+?@rVn&: -mHj98p$qPDp@R_EqY0OHlK@^Kgmd0H4m-*a#kND7,rVH'QpA4IQo^1u7rr;ieo_7qAk2kjq -n,2nHjl>IgnFukRnau87m,[9rp\OIPq!dY:o(;GBp[IG4p&4jbo^M50k3i'Bp\k*k"8_]cr;Q^( -q<6o*nFZ29lKn-=rr35tmd'-%lL=KGruLgtipusGrq>dGnbN%OlL"9?p[@M=oCVYLqtTUErp*qZ -o`+j_naGu=lg=BDq=!M0 -m.^JWp[n.No(DeRq"jsep%Rq@mI^;Rr:opTp%7kKq>0[Pp\FOVq>^Kno'>T1naH,Gq!I5.nbi.T -qYKgNk3;X>s"F@p?_#4qu?Zhn*]c]8rr2rtr[.U>oCVhOnEfK.o(VeFkND7(md0NBs7Q-bs8DZ]me6GQr;#pQo`"jqrV,pNl0n*7 -rr3])nFQ,6mI^8Ts8MlakND7)o^VPOrr5Xam-4NLs8)Wls7lWop$(T&med%aq^HfoCr4` -rqH'[rql6So'cGRqu$0[rr<#no^qhOq=a@Cmf*1Tn)`^&s8W)hkk+QIoFCZjp%%bJmcs',p@7\G -qu6ULrqH'Una>l=rq?-_q"4.JnaH,Gp\+CVo^MD8ip$.2nac&2n+ZVEjR;p=lJgpqq#:rr;ur.0';EnF#i= -n*094rVuorp@.>+lLb,Vr:BFJp\4@Po'l/;mdKZ9oC;hLs6hN,n+$#@nF5i4o_e^`oC_nPm-4*? -s7l?er:KONqY'XWp@S%SoBu,?nEB<9rr3,up%8%Ur;RN)oD.kBnc/Xdo_/1[r;HTjkhP:hr;Q^B -q!.8=qtKF0scp[[q@lK.!l -q>1$[lg=*-q>L=*oBu>OrqH6cp[dtHmcEa/s8Dor'D(AKkOA?Ep\XsdoBu#6n*96,oD\@bo'>Q. -qtU1,r9WnBpAb0lnDim&mc`]jkNqL#lL"EHrrDcloE"X^qu73*q=X:Mp@%2,meQeEj5KM*rrDik -s!mU2na5f:o^V>=s8Vleq=aLRmdKuOs7YIl2KmQn+QeTmHjB7p%InB -nFcVMo'cVYqoDe[[pA"4D -l1=rLmHWp"q#CBcj5B8"s8W&gl0nEHq]G1hm/6n`p?V,:n*B3+p%A=arU94Kn)Uss820Qp[dYLs7,7Drr39%s8Vofo]b]?mI1&Ss7GaOp[dkCoCVYJp@7P8mITo1jRN6Ls7>L8i8jA(s8W#in*p8TrpTIW -s8Momp[782n+?8CnEo`rr35lj6QO@q=41X -rrVlap\t1+q!RYBs8ViYm/6n`qtU$`r;ZQgrVq<;p](9jq#16gna5]-n,34_oCDVAk3MO*lK7C" -p\k-lq6oCqtL -o)/Ofo]>?5s8MKPnGN:c&,Pk_ki_@4s8Vodn+6/>pAY(Qq=aX]q"++@io01op%.eTs7b^@pA4RT -q"O@JmdKW?rVu``mIKuNs8DZXk3_j?s7ksEmf!1[p%8%YruD"/nET6&md]l@o^D)4oCr"PqYg?h -r;ZfrnETTDq#gWjna$2A.Id&tlfm^$md'$'qZ$Q]j6cU@s7PdRqXsUTn`o/qm.9f:me$>Ss8Drr -rt+JUlhCDUqYpKkq=sXGlLOoPrso&(oBb]'lLFN>o'>H(qYgF=m,7$us8W&hmd0<3p%J"LoBYT/ -r9rq8o(MbOs7u]lo'GuGrr3W-nE]H/m-soPs7lNls82?LlhUP[=8MX_pA=[Vl07L,rqG^Ls7km> -m.pSSo^2>Io^1u2lf.4(s8;HSm-jcMqXO%FpAFaTkNqs;n+QJImcWg(p\*k2kk4uRq#9sRm-3[" -p%7kKp%S:\s8Ma&p$hA7lg=',p&+^WjmMpBs8Vouq"O7Emf)\Vp&+dg1\UV6l0.[7r:fjWmHO3A -s8DENo_ndequ$Bls7G[Do)&Fdq!mnKq!Hqpi9U48nacVWrr2p3r:KIIoC;8=o^V85o'tu-md]c2 -n,E=hr;6'QrVq?;lL+05oBk`)naGo:s8;NWnFZ\Vna,T1nb)VEmI^8Trp8P&lLk2Wq"FLQmeHh\ -p\+7Oq#CBflf[KokOA?GqY'd\pAP$krVuopqtTjQo(`(Qm-jfNs7GjMmI0fHoB>Q.lg+3Bq=*\A -qY0IClL"!(m.9l:l0R]qjQQX,,jP%%q!m_Bq=a@@me$>Ss8M]js8VuenauSFp\k!Yk3)7(o(r@c -'D_1eq>^HenbiFerq6$[na>l@q#::6p@7eIrr;onp@J(XqtKUMq>^Kjo'l8Gp?^_slLt5T"SM3N -o)=4?JcC<$JcCZ.J,~> -o)B!NZ]p)oI!^-1eCi[7ro-?%g!e9mb0.f>]=kngYH4h0[^`fRYd1[I]Y;1s\$i`S[BQO"SXlFMV4aBM -X0f=F\#Z1"Wi)ScUSargUnjlgXJ_PMrJguAP*D72OXQP*(ifHBOP]SYE'YSDS#XeqYRPa\26R$3YlMM[.GMMmUiW2?c6`2o`+Uo:#UOc,-W -Nf8jPM2$b?LP185NK0-cR%'V:SY2RCQBmu5Vma"=XIbT;R%gFPTV%g@Mj0['TV8-U31lFtNK9`d+]tL\\^V$eISX]V>H^("qXKf7@ -Vjip5Nf&dYPE:rrVQ?hoU8b2kUo'fWUp.,&T:_jKQ'%8sS=Zp`TU;"2R\$@RTpqR%)S=QFHS=,k9R@Be6Nf9=(Z`Kmp -TqIpAP*(loOc5?hV6$l$V4)jV -WN3"nU7n3LTUhF3Mi!@PR$*PtSXc(3W4BUDS=,h5Q'IGnTt&"XI^ZMc\%B/VY,e+PKSP_]Up7,# -R?*>aLmO[*TUhR@S!oe:UnjTMS#NEsa2GEq`Pfa9`j_V+QC!l#OcPWiRA?g_WM?,[VQ@/.Srf,) -T:_O;Q^aM5P`:T\Od29)UnF'9O-lT8UnXZaWi)SfXgYsW]"GDMXK/.tZ)jn&#c+#[Q&po[LPYqa -Iu'&EOH>inOcu&qQCOMHZE9mqVQ-MiSX#hQ\?Vp,T:;15Q'IZ)S!/nsQ'.)hS?'06]stV\XJ28T -Q&gudOHl6&R$aGCX/2D[U8F`cY-+^sR[9eIXKS\$V5_/=Z`KsmP`_9!UUItNY,%ABLQ%LhV6$Ph -SsPe8V5gf2_Z._o_R6JE^WN<,# -V5(0!Y,A%iUo1/dSs,S?V3[="LQeR8TotA+U8+K[WMlSbTq7O-M2mmeR@pRc[B?L!QB7/fOIDr4 -RksYP*MH8 -_8spC]X,)Y\?rWHV43d6Ne`aq\\QM@bIXI;SY2m_Vjs9FQ&q#gPa%5fNfT-VN/W[TS$0TH`lH-: -]tV1cU8+Qd[_95PSuJ]dT9PG!P`LriQDV4+\?;uCYHbII_ofa2^ULGJURRO4N.cnGR@oY'OefS& -_UH?3^;R^s]t15CV4jTZVPBcYYd1.$Vkg)^T:rI%]!.j,Z*C4%Y.VHT\@AE'QB[;\K8,8CPFA52 -N/s@!W3EQBmf(UTLf8`P8^_\?VTk -R\d']SYWU,`P]$XUg1(1W2d;D]VqKuWi)MZQBdc(R$NquOcu&sQ^shCS!TP4T;/6YTV%mNUmdXC -V5'`]Y-5(;]=bVYY,.SNN/j:%V4EsASsu".QC*u$NfK6eT;T!&XeDGdZ*(67[(i(3YbnA&Y-"FdU9_2.S=#V0S"HXaZa6X- -U77^W\u_NqUSX`[T:_jSTphOMU8b?&Z)jgsTVA0SV5KrPUT(5oXF6e-RA-q%c,dAlTs_q_\YuC$ -TTP5"Z,tA=bgO_U^p'K'Vm3J2\\cG._n`gh['$7"V7!qUcGQicXh2'JY->..SY2mga3`&BXdGEH -YHt@-VPL8u\$iH9SsuFQXfo1LbKRJkT;o#gR%C@f]Y(h_XeqkfWk60VkTuhZa@9YYID9^_opNZbIaX=Pa7l8Z,+T"]=kto[A]Xf -X1,RFWMQ>dY-P=8[(*um[@s:uVjisCXg5+0UT:MoTU_L?PF\b`[k"\aXg>^Y]2+k]WnH=]"P;AS>`j*\@&]J[B#j`R%pgn^V$t]\@AT/R[KtVZDjh3 -^r4FCcc3Q#XJhtiVQHu%Y-bF0T;J]mXgZYskTVSAkSsYq?YfY_bimPi]\[S`9 -St`9kZDX:l\&Qk@\"KCi[)C;9agnOS\])S-`P]O0a2>?aT:2"-R\ZscYe7`da3DK1^rXR5]X+W; -Xf\OsVmaIY\@8rT\%fhmYdCdCZ@9F)^p0H+Xfn_"U8+9HRAHp_X0Je"P`qH*ZGb84ZDat?a2G3h -]"c8-`kTU?ccEl8_8O%'_nN=KTr=rl[`$D3_nX%3eBl.LaO8Y\]tM%cZ*M!T_op*3[CNunc-Fb` -cIUq5hV-cGlKd9Vc-4GP\Ziing>M#PinWJTrV$6pq!.nXq"fRAJcC<$JcD8?J,~> -o)EdYS9ALU?s[2F>[(H;>[1TA>Zt0.;cHe#>$b`SE-HkhS=,_1TW>Q:_T9d-UQ^e*X/i5"Y.29d -c-tA!e]l+N^:gqRW3a4R_nN[j]>Mb8cIC7`aNDN9\@oi)e'c4BSYNC%a3)ND`4`LYXgPsbbg+Ki -b/M68`Q??I`l6*GcdUCnd)j5B^q@@iYcY+4XJ;J_V5gVtW2-;iXKSn8Z)OY!W2HAWrfA.aR$a)! -OeJhYYHO[fSt_gFR@Bb>S=[ -?X$Z:>@(Q;<`W:)>$+j-=Bf$8>?kE=>?Y-1p3HW=]JF"=BAR(=&`."='/[0>Zt?7<`E.$=BAX/>?bB;r`TV1>$>'2=B/F)?i"42 -?P$UP?X6o@?!CK:?!^f@>[:\8?PHgO>?P'/='&O->?P*1=BAX.>[:V5>6%q->Q7t.>o6dK=Bep4 -=BS^-=Bem1<`rU7@:*;H?t3dE@i/W]?!LT$G36=^#&/>m+J@?XR:@=oVZK ->?Y9:?=@8OA8#n,IslEUCM[j+EH6AXL4Xf#J:2TbK8kn@IuThYN/WFZ\KSu1fURdg=S>EO&W2-K$Z*(7-T;f*']=tYJRZ)uRM2R4DIXH?\EcQ8GH%:sBQ(G1d -SsGG"P)=^4F*DqTG'%hIE,]f8Chdg1G^P!nLAlsXMMHh6IY*E;S=?%6Mg^&*NJrgOMMQn2KT(tO -N/`dQJ:;lqKSYD:H?sj\I>j_qZFI01O,]$HMi!=LPb+YBP)+L0H\$m+I"RBEUT(AsU8kGuTp:Uo -GBS7\M3X[-Whl)>IX?3WFaS[dIYa8YRZ`c!RZihpN/3RaSM2[=FIsZE`H\[lWR@9M3R$Ef#Su8`kQ$m^qG'\@SG'\k( -R%Tq6N/*(>M3jsB]Y1\OSuT!!X.blEPE1QPJ;0/MPDY*KK7J;sJ:2Q_IsZd&Ng-6+O+Ve%F`qtQ -KUT3Y]=+Q&QDLUQO,&LALm+6lOd2H3VOs9ER[B4oL4k/,ItMrfG_(j=R$jJ;TU_1$M2mFGKSG89 -Ll?q3G_;9QQ]6r_M1gA(G^+^aFaAe+S"?+7MM6_9Jq8H,N/NRON/3:OP`UQDGC"puLhhTnJq8E) -LPUbDNJrXPLk^_JR%0S0NJ`OGJ:W?)H@:O-OdD]@Y,I_EJ:DohH\-s&I"IBKQ^*i#MLp;2QDgaS -R?s;3RZi\jOd;9%SXGY#NJ`@DKR\8iF*DteJpi3'K7JK=Wj/4TKnXGpI!U'bNMj.iVkTf[VkTZG -NIGh_FF]@8U7[[+IslZhKo;"OMMI"ELl.7[R[0/'V5Uf@_QpM`]XtnhWfr0kLP18.I!pU"Od2?# -P)tlpSthj4G^4puNJN=DLkp\3G'%tWIt`uNP`:9FKo1b*M2RFYQ^*`!SYiQlX/r+cS=c1@Un=-H -QB-oXJ9uH]Ec>l4Dfg2KG_1?kIY*-(M2n%!SZ*Ud3S!B"b -EcZ\oT;Arcjr1AD2W2H,CL5D1iW2,fC -RA6gZQ]7#gR\-+5M3"7/Za6[$Q^aM0P`h&]KSYYONJNFYWjB%=XKAV)TpCI^GB.teP`h<)Yc!hG -LQ.^tY.23]\##+3DKL;YL5V=eP)G-UOdE#Y[^E?L -Mk[Vm]tV.fZ*LU1Q'Rf2XgPI3Q_9k;OFqn-IX6BjK9W==X.lJiWNN_HaM#=!Ybn%ZN.HA#DfU2] -OoL#_L6o'J[`Q+d\@]/SZ`]mkR$(Itr -OckrnHAR<5OGo$SQ'e);XK\_!S<8VZJ:s)UP_b!JN/<1;LPCJ3H[C-kP+APNTpCq3UnON]Ycssm -PGc7>`3Q,)SuArtVkg&VRYc]ZR[f\,Od);sKSl%WKUo-8S[-Ae`kTF-[BZp3V6RJ9X.>WUXKSe$ -RZWDTN.ZS.:4I_HN1Zc7Su/g)^<49pRZESqQCOSAVR3t>SX#\;SX>n3*SR&-mEJ;]=^Is?6g -J:ria^;7.QUp%>9\@Sl0LQ.[nQ&V$(WM>lKT;f)uUn!d4R\c[FS#36VMM-nPTs1c0]"YeVS>3F% -\$WWNV3R$sLl\.)U7@^DOoC/9JpVd"P+/2BVP'9b&Abfe&L_S3LUPEM<.Tr"p+a3)?3Y,J:kP`V-*WOKXMUn=EhYGn=nUR@1+R]O6G -a1A4-Kohq(TUVF>TV\T`SW]"oQCjtNY.MWlY*Y<@STrPH+[(*ZTYd([P]!&!1X.u8WPDtQ7Q(b1b^UC22ML^/1O/TnGbcR1k -R'jN.UoUMiT9tn)Ng6BD\%p#)aMks,\&$;'UnOm"`mE&O\Yu$`P)#0s]?]']d_E#aSSuf-!I]K-0T;nBFQ(=\EW3E"s[CO&ocd9S8Ru2iPN0L9S`kAgh -\[S]7Pa8#FY,@SKPaePOXfAP-\%/E"PG"5#Lln@,US!pFTUCn"MMZqCS#E9]U84it]<\B1VP^/\ -P`1]nR?<_sO+i"0L5q^eOdW5V['-g4R?3,NJW#h_s-n)"St`*PSXl:=Q^*f#PaA)BVji^5UT_&8 -^qmRUR?R#R;qQ'S2M[^**AVk9`eY+h)6\S"Q=AT:D(+Q^jReS"mI.[BHX,U:A(PZ(I;IQ'[huM27:f_:[u3 -e&K#+Xe(Z4O-l]AWhcPu]>VF_Q^XYS`6Q]IYb7_p]t_:s^:h4q]<.]fL44T.Q_'tLZ*^sQ`OiOh -_7[7^V4*d?R?`r&WOB7;WMl\mYdU^0Vl?Sl>dD#OW0a'OURd[7QBI5iS"H:DURR@%N/j1"[`?"^ -Vm*hM^94fQ^;\45]uJ:@`Orgs_7[V$];_3`R[p+R^<+I6_SjjRe&]GLeCM^R]XtPTZ+.?]b/_*& -]u'`n%*HZ@io]7UgYq>Yg!BZ<%DoNS]?/[\hr -o)F4:p@%;9oC_qPp%%S=mdBT4lKIKtmI0]@o^qbFmHj3*ki1FRh;mkio_SR[l/:UdkiUpbjQPsu -o_\[gqXX(BnFGr*hWOD"o'PT%lLFWEo'l/7m-j<'hrEtkq>9R>g>qSmqtp-ZnE]2qjQlO8o^_P? -lK@Brn+-#8m.'fLpBLEhp[[\:lMg1"k2kgllfma%mdfu>mH*KolgF94o'u>Ep\=FOm-3d%nF5i2 -lL"9>qu66So(MYCmI'K6n*&lrlL!s!hW3_XjQ5Rhm-jK5md9B.mI'H4md9B/nEfN-mI0T:o'l8C -oCDGBoCMM?lfm^%n*fc9oChqSp$Cu1mdKT4mdKTPmd0B0nF5o7m-3a!rp'[NlK[^7km-VFo(2JD -naQJC$LR9Lnac;Co'l)6rppBcnaZ,= -md'*!jlYgon+l;OmI'EAmJlS]nF#]3n*oc3lg*s:liQM>m/HAem-X98qtg3dq"OLSoC2;@o_%hF -nFZ_Q6hKm:lfdEll0IQumH`otmIBZ/lM15CjlY[jkN274r:0(@nal8=md0<(l0Rs.l0@a6qt07I -s8W)jo^VA;n+-)r;?Bfp?h,1n*fcEm2tcco^qhHlJLI^o(MM9 -kjJ0As8Vr^nb`+Qna,Q9s8N#t9_S5TnF?2GoBu2@o^qhKp\+.Ls8W)qs8MQXp&>!ho'c,Aq"jdY -pA"7Op%@nGoC_A7oCr%Qo^q_En*K?.pA"[erVZEYlg!s3q=jm^)"RFuqtBLFkiM'nlgOB4md]W5 -p@[tGp%JCbIHotcp?_5:o'u8Es8V`Zl0@d6s8W#io(Dt[p?pl$mITuAo_7nJna>l8oCr:\o'>]4 -oCD87l0%9up\b'hqYpKio^_M>o)8Udp@J"Ln*TT6nF-8Hlf-m`kNr0Iqt^0\k3(mdl1XuGp&4RP -n+ZPGo_nCIl1"E?oCDG^lJgmrs8Vihrr;ohoCr7`rtbFojR2[8n*9*%p&G'hq"+"Fo(2PCp&=tD -q<6`&o_\IQkiM1'p[[_>p%S.KnF#f8o(i=cp?h&,lgt)Ts7PgJn+6;JmI'lNs!IO(j6cmHq!$r- -lL=TGp[[hEp\Xd_s8Vufn*p#Gp[n(@k3)+(rr2pBqu-QhnG<1bp%%kPna>u7kNDC8s82o^M,5oCDAp$Ci*nb;PIs8VfZmIp5@o)8LVm-s?8r;V-Cr;66^p%J.Rq"=4Hmd^#F -q"XLNmI0W9na#Q3p%7\;pAb0hm-X9-n*B&nl2:S]p[ISBqY0ROq=X(=nFlVJr:TRElgXT>o(;eT -o^VMEq"44Qp$_5.mdBlMs7GjTp\Y!jqL'Yo(;SD -mdBT3lfdR!na5W)m.UGY#PRi^mH!6kp\t1Rrr;fanG2_Srq5aOo'l,=p%.V:lKdj(lg=-.mHa*- -p%\+Dj5o\"o'>T0p%S7MkjAsRrr2p&rqlHZlg3s-rr3Z/q=O4BlgOB?s8W#emI9cCo_A=_ -ruh4-kO&;o'Yc-oD81Mo)/OfrVu]cnF#`2mIU&Jr;-*Vnac8HqXX1M -q"!kLq!78ArqGsQn+$AVpZgl/n*9*&oD\A$o'c5LrV5XDnFu_MoCVeHnFQSToBPT(kj.[-rp^!Z -rq$ipnac,9m-O01o'uYQp\+1HnFZPV&b>/MnF5Z,o)/IdrV,mIi:?jGrtk=pmIKrEp@@_Bna5f7 -naGl4n*ol=oC`+Ts77i1m-jZBoC28@n`f&so();@qu?Tgp[mqAo(;MEo^M/4o'ki0q>1$hs7umd'*-qu$?bmJcMRq#14In`]N=pA"XerqGpLlg3s.p\+Rc -rVuHPlgOTDnF?5Kq"41Np\FCJnFu\KmIf]&m/6b\!;uir!;?Bk&H;7`guRS\l0Rm3qWmG1l1=oS -"nM9UoC_qWrt5%rmdK]:p%.S:m-X6&kND=5rVn/@s8W)qrV5sTnF#lAq"4+Os8W&pr:]gYo^DYV -s7c!Vs8Vrjrr7!*l0n6:o^2DEmd09(mIgAIlg4'/o(;JCq>C-_o^hMBn`8Zss8VWTo)JacnF-)@ -lK\3Fs8)-QlJ_"&s8)?Wo_81ToCN"Rkje93nc/=Uo_.nFn+cq]o^M/0o`+sbmI']Gr;HE^nFZYX -s8VQRnc&OpnE9?9p[IVBqY^?m,P1^B[h:LojrsAYol0nNLs8Dflrr4)5n*TK,lKIa9qsa.Mn`'9Bp$VSSs7cBi -q![kOna?8Qs&8IUr;ZfknF,r;md]o>nEfE-o_eCQoChhLq>^KelL"38meQYMo`"min`fT9o'u>H -r:0FQo^M87mHs$#o_A@[mHWfqnbiFbq"O4;jmrELo_ndh./#r:odGm.'W5l/V:+oD&1Smd/leiTKP%r;SD=k3VsEs7Y[D -s8Vf`lKIKoi8jA$q=3b;lg4EHqt'=El07R+q"jdUl0%Bom.pY\'E.k#oCDJJrql9ar:p*fpZ1/l -n,E>/o^(i3qu?9NlLalBkj&-HrT`MAq"ascmdU&Pqss4Nrr3<%o'Po8n+?JVrVlg+p#Y6*p\FUX -o^q\>me-SZ(]!L`kiqL%lgFBArVlisq1o(W"Xqu6U.p[.SPs7kpElM(>YqY'^Rl/_72s!@=' -meZt]rVlQbqZ$Tpq!mb:k2bk!o^hYRrpo4;q>L-ap[[e@rpUlmo(i.Wp\XphrqZ'FhrO+urVu`f -r;Zfkp@e@^s%r[eo'>Q+nauMMp?gu*nbDtRp@n=Wr;Zfnna#Q1o)&Icp$V23lL"6/jl5FkoBkW# -n+cSBkjeNLs7kpLr;#pTq=0mcrt+S_o(VnJp&G'hp%@tLoC`(]rttb-o^Cu( -kNV9up&4j_nau_Ys7k[0iU-F>s"XB?md]f>pA"=Hk3MX,lL"6>q"Xd^s8VQQo_ngirV#XDlg*g* -qZ$?]o_J:Xo'5ZArr3i.o^qhOp$_)7n+Q\RmJ-_]n)EU.s82H_rr2ukrpEA>lLOcJp[e%Gq#:-] -nb)k\s7YaKs8DBWp@n1Gme$5ElKn-As8McdnE]5qhrX1gmIpJWqtg0XnFZGMp@IhBmd9T?p$Uu. -rr2pOrqZ?gs7P^Dn+#o=p@7hSp@.\@lKIU*qYL$co'>]=s8)lhUSVqY]sPrr3W1mcNftlL+-/n+5o8 -q#C0Yn+?VUIe2jfnbW:an*TfHs7tg5j6lgEs7l9^o'Q5Prq5jNn+?MWq5lg!m2qYKmVq"k$j -qt^9ip@\.PoCMV@mdKW7oC__Elg46Cs82'Ek2kh%s8V]]qYg?bnalMJn*TW;oC2;>lg*p$k3`'G -p?_/Qq?QZWioot&oDJUf#l!`Qq#C9]n+cn^#Q+N!p$Cu6q#16m -r?;+=s7lqu7*(q"4@\rqu]nq=jabJcC<$JcC<$ -Sc=3~> -oD]-qeZ=d^JU;ZiHN&WiN"kU8G'!\@K8]YcY%,TphXPZG+2dWKijFXL,IDYcXjtS"$.PZF.3O -['6[8YdM!MZEgsP]tM.n]!SW=Vl$=+U77O>S=#CuO-5fqQ'@5gOd)3#R[O/>)jZhTNJW@DLPq%G -KS5/CPEqVtLQ.FUMMR+IN;ehANKB?dM1^Q^K`Qpare`^mLPCM9K7ec.KS"]&J:`9!I"$TtJq8?! -Isu`jH[LQ(+2&QC452S"ZgaSX#.lOHuB+S!onH[_BDbX0/b5X/)G^Q'I]'R\-IXZ`KjgQ'RZ!OHGZe -PFJGO\?N*?Z)ab!DPX#(YHb+$StV^CR\$1HTrk2_P`V&pR]EQfUnsQAOdME'VPp2\VOj-?StDIB -VkTZIS=lLCQ^Ts1ktPE;)oPa\). -PaJ)BYH=n/WM>uMQ'n)-P`pr]N0U-=[CE`S[Blm*V6ZndQCFD0P*V/fO.*)RWhQ&USt2:9QC!bo -MNOI0ZF$^-Q][GoFHMZDPF.c*R$jJ7S"HIHOGo9gR[TJ(Pa.K!SY;[GS=5h:SX>e:UnO9PSt2ID -R@0S;QB@>qQC4AFZEgMOcGHgT;/0P -R@0P%oKi`q]LPh"LN/s6p -TUV1-R%^CNR$7X0St1WL]94MN!OXR$jG5Q]?iULPLqR -NK9HrR$OPGSXlgaV4*j@TWu;GXI>ZJOcPg%W33M9[(=,g[$d5IT:_[IVlm)!s/H@"Q&:Q[N/s0h -rg3_TSGo,[S3W7!N/WdZPE_]3TqeBWUo:W.\@K;j`l><\SY):+LQ\RuDN0TWg -S?KWFa2>KqZ*M?jbJgliYIC!hUU.M:X/r7tUo(5uX.GQBTWPGrRZsMHZE9a`OHQ!+V4!I3Sti?h -WhZDnY,7nbS!K8&Q'S#5Uos^(/%)F\Z*^g:Ss>7hNMb/qB%T94qiQ'RZ& -UopYpX8];H\&#J]\\,DQURnEi\#Pp]Od),uS"?:DQB%#`Nfog4]t()0OHG`pWP-F&cFU-`[BQsF -[]cBkOH,EdU9:rCc,-`TQCO\LW10$:PECofQ^sh=P*2#kMhdFOMk.5laNDK;\[8fUZ`117[C*9< -SUrPED''Z*q!;X/rM1\A,u,be^Q[TUhL7P)tZ\NKB<_PaJ5S^;\UF_8=7-]=PAN -X/;VeWi;hgW49IDY-P.0Y,\>&^V-hOZamQKY.;TgYGnV$Umm=#KnP8?NffZsOc#*]R\[!fZa6j6 -U7nEZXfZlCSZ'!1Y,eb<]WnE5Y,eFt]$8I5W2>u?MO0p(R%0qNVkT]LUm$n3UnFHaSX#7tO,fEl -U7%71PF&5[^:(5L\A#\fWgo<=R@BkIQC+AO\?MNcPae23SYrd'^;e$sXKALoT;&ZaRp,hoE^T]s>2`[^*KV]!\H3[)'J`WM6#ONerOHIu9/EQ_UdeYdhE_ -_oL*BZ_X:jV4t3$[CF)q^osK/W2?>dWii+pX0/M'WN)kgVQ[>6Y+D#DPbY\'_SEgbR#mW+U7es> -gt'KZ[]ls;W262VP`V<+SXc=CUpn1JUR%:@Wj0OZ]t(AEU8Fot]=Pf%cH3c*Z*_!R[%*)@VKoDO -Zb4>r]Wn>kU7IdHT:DUV['cm+T:)+D[B?O.Un=-F -S=Q:FS=#_:S>33o\$N6V67SN\Z`BQZ_jFjRui`+Zam`d -`koL*^:V>0_QBrL]Y_V.aF(b,V4jW]X1#pkd`oeA[&]mhR@0M6VmX(F\A#r4aKh7nOIiJm`kf3i -Wi3#2_8EskX0&b1W2[&0[C!EG]>2"ia3;WZ*^U.SYra#Z*:C5[]Q6kS>j$;a2,9m\$m-OQ^F27WMZAd[(F6!d*9G5Vkg#W -S=feVH+1>jW2$;oYc4qHaM,9rYH#7R^9sc(R['81SXl@HW5m]Tgs='^_n*.OSXugh]WS$/]#i=; -X-oEO[E6qKcG$Nb]ZJ:6_nNgt^q[:RR@9>#Pb"\QYI20aa2bcs]uS+-]XP,FVk9ZYVQ$c*[CE]T -^WY$D[Bd)6Y-YsjaLA(JZa?s9`5/mn]Y;2!^Uq.ubf@B) -\@oVi\Z_ZlRA6@LYeA#m]!AiddE9,3^rk$Crk9qjX/E&*^W=L5^VRk6bJhH9^WY?fgt16;k3(LF -a2uNAZDY%MgZ.;Lf[Sa=qu76&jPJeQhqZo>g">-Bq#CB^JcC<$JcC<$U&TW~> -oDa:?b98>$P<=>Zt30<)ck!=BA[7@V':mFF&1TG^bC/QC=J>QA'U1J;&`3L5hFe -TVns"ZE0dkR[BD&L4kPPR@0;#O-?$*VPU2dSt)@>P)GEgTrbGnQ%b$VS"c^PSXPh(M2IFaTVJ$P98=]SU);c-=d:fC=n;c6Ik<;ont<[LmK<`N1#=]ej/ -=B/9s;c-Ik[1K7%=8u2&<)lt#=BPK)r`B/(rE9/$!E`\)@/O== -?!LT<>$5'8??P*0=&rC(=]ed,='&L,>[:V5>6%q,>Q7q1?!CH5qcNl"!*K2$#[1J< ->$5$7?t9%@"(#58=oMSH>?tTA?=.)K?X6c7=]\a-=]em3>[(K$G07r`X2B>$G?B@V'=m -ChdQoA7TChCM[m0FDbu8DJ2B6JoZG&2#3CMIU#D/X?3FE_nJFF/b"KReoN -Tp:1TG&q\FG'@tJFEMeQH[UL&PFeVMY-bsQY,\Y2YbRJ?IsH?fH[>X79R(r8KSbS=H@(F1RZint -S#!*h[],^dVk]cMP`h`?WNWb5Ru2cEI=HfrG'J7UF`DA?FF&S+UnX]dVj*0uNJi@1E,]rEG][qG -F):hmIV#R%UC[W02IGEd31aG^"XqR\Z=;P*(lkQ'HZXR]O-: -Z_Eh\VPp5TO,]0VL4ao)Ll$n=IsQB`Fa8IkI]*Mi*FRLNmi`JV8]*IXm!"KSttRreu8\N/<=FO-Gif -P`Cc`Mhd%BL4+DuLP^tQS=uR;KR\N'H\@QJN.d"LP)5-_PD"C;KU&F8Vk9EGQ^3l"PEqQ'SXPe& -M2-h=Kn4VrG^=jmOcP9PKn=i+PcM*^MM-V-H$4:RLRt]UVkBNPVOj-6KQqHVI>O)MT:;(&KDp?Z -Ko;+UMM6hBNfB0fR[9;,Xg>^_`O<(ZYck:4T8\M[MhQV*H$t0oM2dRVN/j3qWiDSDFEDhXrepf8 -@#08UF*2k]KSkkWNeMn/KoD(UO->flO,oa.Z*gg9X.Y`DUS+N_S!0,"MM?k>JU2EXDJX*)E,p&C -G'JOmN/)t5L67^^L4b2urKJ:EHJYd(7$KlqBVH$tO8SsPP"PaS/= -[_Ki'_6p/3UUItHZb!lYS!]@nI".'=Str0USY)jc^p0GmPFnn^[CtObejLJ9GmVJ:iQ8R\cdMR#$-1E-$5QL51VCKRJ&d -Fa&CjJV9&INJNd_LPL&;Q]HlVLl\75WL]9@Q&1-KPFJGMY,nh4XIXliJ;K8EOI)T/R@Be7MgT\h -F*N4hLkpqINfB$ULkU+uFEDbSItE]?OHYihPaJ>JX0&\<]=Xr*O,Sa5E.!k?U7e'FOGB7!X/MJF -K7\f3L4OYnEcZ,;Ec_2%s*&[0FE)25C1_'g@VB\$EH6/HG]RkMKo1eOT;A?R#R#ZKS"o7Mj9Q@RA?mbX/qqdU8=NJML]qlH]X_bR\R*_P_t3MPG,M,d*0(tMfrlV -I"I'1QCsV2R\$1IYJ%]uI^_Obf!YQBd5WKS"Z"H%(I*L4+>oG]7PGF*N_D\\c:t[]QF+X/25X -V5^GlT9bM,SXc%0O-#HRIt!!3U8auYT;&3_[(X?"aLnRDP`^lRH[Bs\H[gZtL5V@tZ+7uo]=kth -ZE^C'T:(q1R[S_nQCY+\VPL,`TVJ-JV6[>!Su/]qWiNPD\YPddQ][,MF`)#5EcZJSLOOMrJVfJU -T;8B]TUM:>uY+Ur3JV&Q2P(\XWVQHPOI=d31M2[k"X0T4@U6q:0Ko1q[SX5V6 -Y,nk5Wh#?BVjR@W3H<-E3,Y!VR!=tQ]dDdJpr,rI!^6qOJ&2< -Wj/n?^,R$O/3Um[jOVPKr[Tq.I>W33D(Q]-TPQ`Rd6^UU%rI".!7 -QF+usfu:J"StDUDQ^!G`JV];ENKTEnYe.$(M2?YDSuB?7\?i-&Pa.]7Y-5:M`kf'_VlQr)ViH.[ -QD((MYIqBNVOX*HTq@I.LlJ(/Y-Y41XKet1WN<4rR%0b+JW>qNIsQKmM3G$R^9OK.XL,RJZ(mG6 -KT27XNLHiKSr]54Ye.TTVk0*@Tq%L>V5p#>K8>\d['[KX]4e[RSt2^TUSOrjT8eS[KSYqeU8"KX -QApf\L4=Z(Pa[u2Tq.R<$[ -WMZ;MLlRgpWj&tJ`Q#0US=c7-JWQ7qZaHs9XJDDSTX)27SreqqQ&_#rS#*L.`5&aYT9t\!Pb+P? -T!>GnQ_(:_WLfH>MMHq@KS,5NTVA9c\&,keU5j_MJ;fYWR%:7e^Tk,R\\Q")Z(6c%G'J\+V5U,Z -R$4&=[(!EM['R!A[(*HBU8"?QTr+?GOd2N:Zb*E8P`LlgPE;<:]XFZ(Q_Cq([&9q0VjWj=P(eXU -UTCrA`kf@&]str(^oOKA\A#eu`OW"=QB[`+Vmsjqcc<8gTTtS!NfTsf0 -]t:VNTq@s\ZaHs4SY2gPR[g(MV5L8cYICgF_8X*nU6(%]Lldn#[_&iGX0/P)U6h:HZaQlrNKT^' -W2ci+[(!NBQ'eGAO+`LcW2?2]XKe^nP*(f]NgQR?V-p7!YI1U4U8FoiVjia5US!R-O,f!FI=mE? -P*_rK]=G5OV4;H^CA1\#ug5UnP-,[]GsYO,AmVO,T'\S&*e@hU'B_]WS#rMiF4,[BZX. -[(aDcSWK)/[E-eFag7eS<_9(!@]=b\YVkKrg]#D\+^qn"8bJM',]#`[bhV$T= -io/J/_8F7+XeW,?g#:lDf@&I9qu76&jl#.[jPf"ThVI/Sq>^KcJcC<$JcC<$U&TW~> -o)Eh+nET3*nalMJp%%S=mI'N7m-t!kNM9tk2PCZj5oC]iTKIimI'H5o'l)7m-F$*mdKW6n*]]8rphZ2mI0W;oCDJ@ -mIB`=qXa.Kq"=1Hnac8@md'-&m-a6*m-Es#kiqC"o();nF5u=oC;>?oCVYF -o(2MGo();Kmf)_to(D_Mo'>T.nF?#9mHj6+lKRU"m-O''l07L!lK[X5lMfuRm-jK8oCDGAmd:#? -$LR9Mn+$#Ao^hYDrq$Edo()>@nF6DH%e/rTmdKZ8o(2JFo()>?rpKgT"n;'So_%nQnc&"enaQ&: -md9B-md]l=nacPH#P@WXnaGl3m/HAWn*oi;oCDG@r9aRPrTjLM#4:sOo^qhLrq6ioo'u8=n*TB% -jlGOelg=H4rp'OL!poCCrTjgUlKRNtl0@U#rp!qYlg*d!lLalHq>'g[p%@qHo(D_Mo'l)^<[jlQ+6s75C8n,E:c -+RSLdna5],n,34_r;Zfkp%IqIp%@kAoCi"Uq"47Nnal_Z*r>3gm.0uKp$_;'aSp\k$dp$V)9nauVMoCMbIoC_hMo'l)? -rV,L=q>^6UoD/1NmIpSSn`o<)o_SOdp$D5Js)@brjlP^rp\Xp`q"4+Gnb)_Uo^2&:p\k-eo'>N) -n+$&Mr;-?hq=F+Hn*p,MqXj@Mo(;bWrV6$]q!dS1k3;=/qtU'go]PH+k32I7q=ja\o'uADnb<(X -mHNp(mdKZ -rr48@oBYW.oCVVAn+-&=md]uEn*g,No'5Q-nF>r5n+#o=rr<#orq%r>p%.YBoBt`1nF?5Ho^hhS -p$hJCo^V>3mdf`*kOSE^Kkm-XK7kjA3An*Tc8p&=tqrqcH_p%SC`rVZZgo'Yl0lg=66nF#]4 -o_J7UpA":Km-Ep(s8W#enF,]6nEJuspAb0fn*BN>q"44Uo]ti7qY9^Zp%%YEp%nOToD&%Ln*fc; -nF6/FnEK$,r;U=,p$VAAna5W3q>L!NioKCoo_.nDkN(t*s8Mlgmca!*nbW"Rq>0pWn*]f=o'c&= -p?_58nFcYWs8MldkhOtXqu?]io(r.Nn+cPQrpf=EoBl#>rVZ3NlL4<8o'u2:m-*p7rr7H=kj.[- -na#?$m.'cBn*TiIrr<#pp@\%InaH#:lgFE@q=jUWq>'gYo^h\Cm.'cBnEf?'nFQ&2k4ncDlK%7) -r:BLOp\"4Oo'PrAqt'.Hs8W&pq>'dTlga9-q>^KmqtBUJn*fQ1q>^9^q>^Ejp&=sjs8)9Nk4nuV -qYC0k(A[h*p#Y6#q>^Knp@7\Fq>L?ilK%7)r;R<'n)`g$meZt^qX3G.lKe-Bs(2'$q"jLEn*TH1 -q!m_=o_/(Ts8)EYmcs'$lgOK9mdBcEqss7Mr;6Hmp@7V?nF#]4qu-Heo'Po9nbMqIm.9l:kl(PS -n,*.anau>;o)8O\o(2;5kjS'0p%7_?o)&1Jl0S!9rq[H0oBu&9oCMG;kiV+"rr;lckj%U*oCMPP -nIk9UlKdp.s7l9[nETE3s8W)oqYpLtq!7/7p$M,9n+?MRq=a:>o_ngirq#LBmIg;Oq"41NmdTf; -md0?0nauYRr:p!Wo(2D=mdp&=mHj9/ki1dmlKR[1s8VrgnEK0+p%7_?o'G`6n*098nFZ_[!ql'O -rVmE#kj\WFoD&@cp@%PAp%ItUmre$[m.p\]q!6r(lL+00lK@6qpA+:KoC;#1lfdHur;QWao(2GA -m-*U'p&4pgoC)82kj\?Dq=F"?kO&0Hr;HZqp@7bKo^V>@rVuorp$V/6q"XUQme-JOqu?]jnacA9 -lLk2WqXO"Cqu69QkjS3:o()DD'(PJZoC2ADnG)qXrql?[nF#lCrr4_@j6Q@/qZ$Tpo]tf-nEf`> -oDAOar:&q;pAb0_n+6;Io_/.YrUfOIqu66Oo]G,ur;HXBrpf7?o_.kQs8W&im-jK1kNVC,qu6Wf -nET6)o_8(Np%@tIo(D_Urt=thkNq^6q=aCHl0.0dPpAb0e -q"saVqtosWs8Vflq%i_tp\k-cnaG`-q#0aYp@.PmeHh^rVlis -p[[bAoC_eNqu??Xnb`@]m,[U1rqGmMp%eUes826Jl0J*Arqc'Jo)8F\r;,sLpAadPn,NDNrp/M) -nbVqDjQc@*p%\@Tna>c>qY9OCkO8-2o)/Ofr:KOQmcj*-p&"[[q>^Kop[[nBnFukVoC),0k48KN -Iei^7rV-!Zq=XdXnbi@WnbN4[naubUmbug]pAP$kr:fdXr;$!WpA"R^o',E-q#0OEp%InFo^(Q) -p@\%Os8V`dr:TLQrqGsVpAFs_mIpSXnETNqWmM0k4noT -(\dIlqtp0_rVuTXlg!a.s8W)gl0eEJqu6U1o'c5Ks7l0UoCDVOmcs38s8VH=k48KN5l1*Cp$q>4 -nFleRnFH2Ar;ZWjqu-Qop@RtCkiq^8p[[_:k32@2rr<#nna5i;o'bu2q=a.CoCD\Tm,6d]kkb;Y -"TJ8jnFlk]E;]"aoD%eGlg4-.kND@7s7YmQp%.eJpA4^XkN2%%qYKjOlg!ctlgjoPs8Dc_na>]0 -o(;DJqXa:Vq<6_unc/Xcm-F68r;Q9PmeQnXlK%F2s8;oqp%%kKlKn6Eqt04>p&>!kqtU!`q"add -p%&+^-2?lrq#C?enFlhFlgOH>p[R\BnaGo3l0e3;p\=^eqss(?n+?MTrt>>*p\=CLl1+09s8Vca -r:9+5mf*5TqYBjSnFH2Bo'5W6q>L3j"nh!5 -iop:;s$6S^o_A7Xqu-Kirqc3Qme6MWs82'OHnFQ2Gp@7YIrr<#f(@h+rrV?'[nFHAHm.LDYpZLuDs8Vcdrr3W$lKRQpl1"HGr:ogR -q#1'[n+H\[2Yub1s8MKWo^q\Amdp&Bp&+jirV?-]na5Q#iT9.\lh^Y]r:]dOmIC,Ss8DW_p%.eI -oBti0rr3l3p%7qUs7GOrioTUsnFH8I -r:^$fs8)3Tq>U9jp?Ll6rr3<"o`"mjqW[22pAY(Lq=XCJm.gVZo'Pf4p&"dfo',W3lg4-:qtTCL -rVQE[oDed]o(2_Up[[P5m-a9.md0N2nG*"_"S2!Imd^;V48&=DqY0[PmHjK5kj7p9q>C'\na5T( -nc/XcnacJPo'cDQqt0IOp%7_Ls8VudoD/Fcr;-*TnFQ& -oD]-mdA2VJJ9c?bGl<'jI/eQnIK=eArch[nGBeF[I!pNsIt3$#KSG>AOctuiM1gS@W2cntV3mjY_oK?eSYE$` -WhGrRT9tn,Od2B&P*:oaM1^D;QD9q4OHc<;\\PJCR$*MlQC4&1[`m+;];(gbWN2PMNgQ9*S!B(t -Q^XbOXg>O?T9PM(SY2C5N/!+GPb5%d^;7CgZ)OFq[\fIWR$j(rOc>HgSu/E\SXc@H8=uB=R$j8) -PFA>NZ*0mjOGf*[O,]-\PEhAtR@g.>R%g=@NfT9dQ'.2kP`qE,WMH&NQC",4R[BS;SNK%t?PaS,8X08@cOHGfoU9LnuQBe#-O--$(OH,ZqUp7A4Vk]uWT;8HgY-5+/Un=-CPa.Q$ -P`LidQ(";CWhuASPa%K+ZFmE9SX>P(P)YB`V7+4EVk^2mX/2P`Q&LWcT;AHjXf8+eR$2jNSu8cr]="c=U7I^;O,f-RLlR[`P*MK0Wir\5Z*'sqR[TP*P`UriPECup -Za[<>S!]eBUSauiWi)\gStW0gWhm#>_nNXcXJMALQBIQ2[CNZHRZ<5`N-pJDS?&76Wii\>^;dRSR%:1`]Y;.oZ_NhNR%::^Y,e1[R@B_DZad+ -[(!NJTp1V!Q'@rAYIqc_W0EF5V6I(hOH9C#=co/HVO`p8R@97kP)>0i\Al_7`42e=Tr+`_Wir\. -U7IpSXK8G(YHkF:U7Ra;S>E3`VPpJoX0&\8aN2#pSIHXgGLBY,nk:^:L_WVOs`[N/NFFMiE^XP`q,cOHc-*W33YC -[]#mqX.lr3YG8#%\ur*=]Y:\JTrtW(\]E:C\Y>a]M2@OkU6V%3T;JWaS=u41SYr?^Wg8d,NK96g -R@9G-<19/>U9hnW^;%M!\#c3lR[BA)S"uXHUTUo%R?!K&VP0QSX0]CT`3uS:St2OMVkfiOV6[A3 -[^<-5YIp^'TsMG@V440XYG[bKP*hH!R@9M.PEU$]UnXBEQCb"HVQdS>ZDsb#T9tt5SY;p[[DBl# -\Zi'(R$X2(N/XL5U6T;86NStMI.S?037bgY+Z_80]o[DC))\$iWO\#Q4+^q$P?T:q^8Ll.7VO-#a*XKT.K -]sbGcc,?ufVlHboZF[c^^Vn"!USFW]UnjohT;&gW10-L[E-S'WMHZ,`Po9aVlQnkPED]VcI^dn -\ZVp&Nffs:ZEg[?^rjpKaMGX&['6^AWN!PTb.P'd\\>YWVPp_hSti?kZ`^=*U7e-KS"QXXWii_= -[&]ppVQ@2=_84"3]s4]=U7%EKY-5CT_mQb[Xe_Pb]>qUcR?s\KV5:)_VROL_^q6kKV4scaWMQAc -]!ec=WO0.>YH"=gS=H(;P*huF[Cj>qaj%o7SW8\kTWGN/[C3ZX[(*`Z\p(]gUn -]"5bs^UL\[Zb=8bUoCf6]YDM.]rRd"WP?'V^rX^;]!#[]QI/YH+n0W26W+\[.p"TVo!& -\@KMk]tU_DU9CqtPFSebZE(.=^UL2:TV.gJVm!M:ZE:=;\[JT>YdhQ_XIl;qYFqP4T:;()MiO$t -Xgl0b_S$\uhj,Wi`P.YHkI;XK8P(VOs9HW4C$l`4NIh\ZMHhQ^sqHTW5K1F2#Z8_mZJ6 -S=5h5SYDs[\$W61StW*bX0TIRYcb.*VR3bS>Wj0\ZW9V -cHa2$R[^.acJ%%%]<89Lb/hE3\[oAb]70b -dE^7_^r++&WhH]?i9&qKe'Zt5r;RN.jOhf(cH=/H`59L8dF[++f&?2urVca%q>L3js8)N_r.4m! -s+13$s0DZT~> -oD`h*`f+V?A6rJF=Bes3=B\m6?!CE3$,$;@U`k[C1V$kBkqR*F*W+YG&V55EGf`8EclYW -JVAuBMh?A'H?jaYE,TfAH$ORSF*;kXIXQWkG^"CSDf0K6GCkX(HZXCTI"6`rI!9aWF`r%WI/\Tq -IK"R0I=Hj"I=-X$LOar.JUD]`Ec5r8C1qF#rbOo$XR+E?XR2D>$G6;>Q.e4>?P$/ -=BSd.?P*2<`E$s -<)cn"=Bf';?<^T9?!CN9=]ea,<`o<'$!:80<``C+>$G5/>lRt-=Sc2%>?^l.r`]h:>?b96=BAR, ->[:W??27_;=^"p1='8U.=BS^.='Ag5>?^u.!*]A)s'#D+qc`u'r`];*#[1G8=BAU/?=[1Q??t3XD@NJrc>$"j/>?Y98>[(N>?<^Z;>[(E;>[C]A?X6l@?iFGGAnP[eARo:\B5V^)BPVO( -C1q3g@qKFgBl83@Ch[d%ART"[C1q3kBP1siB4u!oD/F<8Ec,rDLQ$t;j?JU2KaH[BsVGC"X_G&hSCGCc*\X/VkXNJE1@Is5aEE-HYUGB7_DDK'Q5Ci+'/Ci=H> -GBA"NF`VVGE,p#HJ;f;:Jq&&iG^5"'NJN7KnP&0KoVO_J:3?8 -KR/91N/!%HR?*/PG^P$rM3Str$EO,f9V -K7SN)L4Xf%H?F:IDK^PeJU)KiLmY*CSW8AOGBeUmLm,!^be^WRMi=!kNe2e:M2[CKJqAi:Q(+>A -X.tf-H@CO'JpMW^FaJe)T<#Kn4i.JUi6*P+A>@ -P)=^6I!p?eH@CEuKnYGHO,&FLMLBVjH%1?mI=Qp#KohagNJNIJMM[.EN0''TPEM,qP`Lc]L4"/h -JVK/FOID]%Jpi0$K9)RrPD=pUM1L8;Mgg&-Ko_auT9bY&N/j-jS=Q:GS!T4oL&QWhJphohI"@$2 -S"5q+K7JK*OJT.UPDb-?H?aOSJ!?q>UmmX;T:(q&K6M9UJrQ%^U7Ra8N/!%=Jqo>CKn"Z,M2?)/ -QCOA/Q`ds:^Uq(aW1BBFP`:EUP*V&VGBeLeL5UnCK8,M]XgP@'LN76NG)2'>Q'.&QFE2VXLl@Oa -R#-KGI"-j,O->ijN/!:_Z+[WEStML1NLcN3Tok.iMhH\;N/E+0FE2ACF`heLG#EI3N0]ruMh-P: -LkgM-I=[06Oc>EjUSb>uURI@)Kn+GmFDu8FI=Qj%Mj'X'Unj]UQ&:!B1LPqt+UR$dp -OHYWaR\HXTTq%7,QN!A$XMD?LW1o`BL4+W%K9W77W1\ifEclSLI#=>RN0Ts(R\7=2`ko6dTq/Bs -]!Sr^_6]]"Ne2_!Q?P*ho4S!ob4P)=d7FEW7tQ&pfOJVAi8 -LkUD/I!KmZG^b4,NJigULl7LrXKAP-\\>bXQ]@,aHusajP+.u4RZiVrT;SKOM1L/*KSG//G]e1J -EHH8DFE`"TH@(!VG]IV7BPD*hB5DL'DfB`>E,KiLItUSWS_\Nf]NjNJ;k+J;B,:KStkIPF%PsQ_:"< -L4b-XJn9RgQCb+^Y,7qhQ'Rl0RZ`GTH?Xk#R@'J@XIkN.KSGP[\^B9d_5E69BlJEMKSPYUOcu<0 -V5^c8[^j5q_m,o%PF7i!Jq8]:M2$b?LOjr&IXHg,OJ/hTR#?TJJq]Jf^i`nT:)4CQ_pjX -QCFhXV4sonZ_s1SU84]k_U$<.O,8C1Fb>X6JUrH2Q("&$PCn@AP`h<$LkUD1IXQWoJUN%IK4gFE -]=>8W\@/Q9R$!>^Ism$6NK9L'VOWQmIYj5LO-H<:YI:p;PDY-MN0'?jOHH0;X/rJ&SX,hIQB@H0 -ZDs=OP+%o)K6hotI"6p*K7JK'O->]`K7f/LO-lZ@Whl8QR>uuRKnXu4NKU$>\$`<1R"g-?J:2]h -I<^*oR&$LHQ'%E!O,AmUN1cN)VlchnY-k=(TVJ-ALPVD!Z*^jAWM6>kV4XBQRZNJgNgZ]EY*G'3 -Oc,1c-!i!NIcJ'KpfX,kM4(dXf&8! -TUD%'K78B/MiEm`S?o`-RZET#WO'jh]Wn5sP*D?.VkpB"^;.Cj\$`?Vm!_>Whl`#ZEL=1X.PK4L4Y>QQ]6NAIuKhq\A>_YX0At;W10*7M271ILQ%e)X-e^1 -VROI`^9OArPaIi.U84EAJUrQb^V$S1N0]fmRZs/1T:27FZa$6iR$EbpPa\AGTTkFprel/YKnthQ -MN!^cS=5h.Mi*:BKSYPCT:hC.QBR/]R'",Xm\AGt\R$3f%NIleO\&ZhC^ojH'OFMb=S"HFN -XLud'bf%*"Yc"1fVOd^:CJFR$a,(R[fb2Q`mHaR\6^`W2,uM -OGesNL44f:S>NL"^;S(/X,haUI#FAcV5UN$Z)Fb.Z*^a1Q&C-8GCu -W-tSEUnOQ_VPKi\Z*^^>]t124O+W" -\?D]sR[p+HU8=ihVkp/]R$3G`O.EVp`kf0iYcXLWK7o-]OCXcXW3X(N\u_?\LkC;3N0Ba%V4sKD -Od2H/R\6dbTqSOHlNJbLG"` -ZD=A,`PfI"[C!6GYbm\=IsQDdI>=,^VP1<-\[/32\AlCt[BZd)Q%k*ROd29'TWYK']?8L@\,N]Z -\B34B[&Kt#US+$=NK]6QMjC'9X/))CMM[Fn_9' -o)B^%mHNm)nalSMo^_J -nalACnF#`2nF,f6nac5>ZnaZ,;n*]T1n+-)A -o(2GBrp]sXrphE+n*fZ1mI'H3nF?,Bo'u2:md9E.m-F$)lKdd'n+#r;naZ8Ep%/1Q$LmNNlg*j% -m-X92qX+p]mHa-)m-O0-nF6#;mHa-+rp10_n*of6mI'E2mHj-&nF?)Ko4mjdoCMPDoCMP@n*KQ: -q"=7KnFu_FjQQ"%p%@nFnaPu4n*T]7k3DF$oC;57kMtapoC_eKo'l,:mHj6/md'?7qY9aQp%e.A -o(`(Vo'Z&?p@IeAm-X60lg=BDqX3V6s8W&gnauDBmeu\fnF?#'[On*oo@ -p%.eJp[[e@mdKZ6mdBQ3md9B0o^__DmI9]9n*]K5r;$!Vp@[bAq#16lp?hJCp\ajXo_\=Lm-O3. -mdT]ap$q;5q>^f5oChVBo(i=Wl0e02m-sfIq"4:Qo^M;= -q>U3Zkj%O$mdTr>lKn^Kbj59(i -qY^-Zn+#l;naQ,Cp@.hMoC;26p&G'emcW`uq#C@$r:07Fn+?DGm-XfOs*+8#i9:%;q!meBp&>!f -oC256o(MeVs8VZRlgt,UrUfOAkND'qnbN.`qt9LGn+cqYp%%eMp%.eDnauVNn`f-$o(`"OnalJI -naQ/HrVH6Zn*90(o(D\InaQ,?nalMMnal\Yp[7A1mI9T4nF>r;rVuolo(%%qo_A7Sp%\4GmHj?9 -q"4.Np%%M=pA=[YkOJ97k2u1*nFln^p?Ci1n*'$-oBY]2md^,Qqt0CJn*p#JrVZZpo^M>=md'3, -na>`.me$>Lq>:0cn*B<)lLk,SqtB^Rq"O:Bl1=rTp?q8:q"jpfs7u$Em.C/N2>m4Bq>9s_qXX7M -o'Yi0m.0Z^Bal/:F`qu?]`jmhs2nF5i=qXEkDq!mkKs8Vf\naZ;Hp$qG8kN_U5 -rr<#mmdKZ7o^qV>me$ARp?qJFqZ$Tmq"OIOn*]Z6mdKcCrqQ3ZnF,o^Koq"==GhW4>.s*jh9nFQMTs8VlZjmDd;q#:0an`o6#lJh:,qY]pGk4%d0rVuQY -m.C8Pn*]N,nal8?nFZJPr;ZZip?q#%kOA'8o^h\Jq"*k;lL4B=q"""Fo_.qLpAb*do'Pi4naQ2C -n*BB-l/h^>o'Z;Qs75mQk2l+0s8W)hjQ5^rn,N$*naH5Pr9ik;o_A4Wq>0XPo^qhKo_.Y:mJ?k_ -rp]%3l0\-7o^hbLo^D,3nb)qWnEoK&n+Z_Rn`oTBs8W&flLF]Fp$q,0p\Xj`o^;&:qu?Tdmd'93 -q>:!]p\41Ko^_J;mIBfAqtpAoC28@o^MAkiV!lmeHh^p%%_>m.'fCn`o6$lL=QDq$R#us7l9Yp@[q=p&4norqZ9Vp@n4I -lg*s(n+H5;lLFT8meQn_rUK=@nF#H!m/$bYo^VMCn*ff;nbW1Xq>'USp@7Y=l0@X7s8VZQkk+ZK -r;63Uk3)'sm.L2Jqtp*cn`T0.s8Vroo+:Qep\=OPlg=NJp?Cu+jR)mDs*";)ioK=gkjnWMp?Lo8 -rqQ!QoDJUdqtp6^n*BB0o(VnPo'Pi4nGE7cp[.>9oDejcn`o6"m.(,Ul0%[4oD.eEq=F4Rq=O7G -mIBrEn*fuMrUKX]q=OO]oC;MKo_S=Qmdg2Oq!e1\o&T9:p\O[Un*B6&nG`,'p[mtFo'?#Ls8)H^ -pZ;,Kq!dkQs7GsZs8VcUiU61/rVn&=mdT`5n+?GRp[IM:rVuoop[72,mI9W8lL+36p%@nHoD\A- -mGmI's8W)pqY0FAme6VVp$hVKp$hMIrUfC;jn8QGlfdd-qu6Uuo]ki7o(D\FlK[s;s8W)kmHaNH -oBPN2s8VfYk3_m8na,c,pA+[aoBkr6kNVR8s8;EMq=L!Sn+HJJm,7$lmI^DXrU97Emdp8Kp$D8q#C'PmJ?MDmIgDRnFcPQr:B7?nGE4b0)Y2,p&=mb -o_/4]q"=R_o'c8Js7,aQq"aUSnalDKs8Vu`ipcX@s7u9\p@I\Arr3<%rVuW^oCD56o_ne%o^_nZ -qY0XSp%IqAl14B2n+?VZ"T7o\oD8Fc&,c7rnF5i6o(;A6m.C,CoD\arp$Lf#lgOE5mIgJY*V\mj -qYKjFlK7:"p\Opiq!7>@q"!tNs8(s@kiqX:rrr#Wl1FiJr;Zfr&cM:bm.:&Lp[R\Crr<#fh;n)( -s!@U5o()/4me-5Bn*KN8o`"mep\+@WqtTgRmHa03q=X@Nl0Ip^Kor:B+2lLX]Eo^hePp\+@]s82<\s8;WWnbW7Yl0.U2rVQ-Po(DYAlfmm2 -q"*kCo'kr/mI9Q8o'>T7qqY07F0g^q"OUNiT'V*o&o<7s8Muno^1o3rVoUfp[n%J -p[7VGo'l5Is7u9Wp&>!kq<.&3oC;AFs82cps7bsEjmVX+oCVbPrV6!PlgONCqt0OTn)j!/lKI[. -q"sRDlh^AHmdKlKrVlfur:Kgar<3/sm-+'?rsAGns8Mlfkj7p;rr5.QnF#Z0p\ssTl0Im6r;Z`g -mcs91m-scIqW7AGp@@P@s8Vohp\Y!ip@7G4nFlMDkO7g/qZ$TonFl\Sr;Q^+p$;,'dZrVlNZlg407qYpNkmIC&QqXjCJ -l0n?Ert=nenGW=Sn,3+Qp&"OUp[[_=rVlg+qt9RPs7l9ds8DQSm/-e^"T%i_q>C3k$3'u)r:9FM -mI0`Iq?cukoCDD5nG2tZrr3;uoCDMKrVcQgrIP!"s+13$s0DZT~> -oD]0hcCou@Is?-^H$oU>%=ESNI=?WlH?a[[H$F]7Hj"kII!pJCJ22S%KnFr,IsuioH$k'mKntSB -N/`dQJpi#pIt3*"I=?ZsK7SN'K7nl0L4t84Jq/5oHiAC+K8GM@JU`-!JqJ`0It3-)KnP#.re:B* -$\a=iK8557Jqf,>LAm#<>H[:$cI!U-i -IXHQkH$XplOI(u]L5C_;I27Jqf;NQ^3o, -Un3^3Pa%8cKS5,;M>i6XLPh"FMj:$3SXZ=b]X=c9VkooFNf8gNL4k24KnP#-KoVLoT9bIsTWQeVPpPuXJMMTQ_Ut! -YG%GXVQ?k,W2-2aSXZ%4QC!eoOc>6TK7o2OU7.:.Pb"kd_69N#Q&q,qR@0h^dF?:QW103NVON^2 -S"cgURZiu'RAI$fZF@!,OH5ZuTUCn"LPh.YT<#E7_S!7YVPC,qTp_./P:X0/Y3[\fdl -Ssu"0QBm\mMiX-lSuo<&VO<[7Q^at\Z`U-tR[BA%NKB^6];VBnU8FicVH0O^NJW^cVlmD4Z*:1! -R$X#'R$NnrO-,m#TrkW'W2-f<`k/ap[\fCYQ^!c(Vm/PF8,;Q&Uf^NK0'Z -MMR(KQD(4WWhGcBOcu0#Q^=/8WiMtgTr4s)\?W'1T9te&O,SsQNK]]kP*D?,VlmA7\$;j'SX>Y1 -R$jM5Q'nJV]==l2Q^OD9W3a"AXJ5`bAu)Q1V5:T?]XkSYXJDAQS<]>0W3!)#SrnqmOG]$cV3mRD -WM?,^_o^*A]3$^ZE^R1SsP\,OeAYRXeV2K -Tq8'_Ybn%b+0DuUUnF0AR[]\1Q^aVBVQ[)$Vk969OdMQ(Q&q&gQ2[8&St`*XTTtRsNfoWnSZA]] -Q&^`YMM[=RN/EUWOGoj2T:;^XUm77/N0C-J]XP#5NJipcR%gCOT;8HYP*20%T:_gTY,nh3YGn7d -RZW\pT<5;kP`1T`Q'n,1R@0D,OGo-]R&Q^ER$X)0XLPgIXK]I[`jVe6StMU=Q&hE2s/BP,TUV=A -W2c\bQ]mMqR@'8&OcbN\OH>E[Nff?_P*1lbKn=l/KRn`1LPCP;L5C_CO-c/tQ(FqTV4X9GSZ8op -TU)18OcbflTrkT1_9'[*Whd#2\[/0)VmNY/ZbaSgW1orXB:b?JOdMZ&PaeDimS><*`Ye7ul_0sMYe%r2aS=Z43N0U0>Tq.XAR?WemMMmakUTh50S<]1uOd)B7 -_Tg?)nTUL:sSWoP7TUV1,NM*/KWMH2ZTpq^SZa[6H)VkToZQAU`eR[oh1 -R%ggr`lGcuZFRoj\Zi0>Z*1CF_S*Or_ni:HTr"W\S=Q@NYI_N^Z)4e5_SNIRV4O-AT!c\ddF6=J -V4<^)O.jA9gt'We`lPm'Y,A%eS!]S=Un=uT[B$1)[_g2:c,I?#Un+*Z\%8rMZb+#^]#`.5 -[B#aQLle$rTs2A`a0VV=WhuAIPED!!V5gu?Z`::D_SEdm]s+#mQ^=/FYG[_ENgZ]H^<"C5^q[Uo -WgfEFR?j/(Q_1Fn]RR)VW3jC_b/1HZSXuILY-kF/R?gVk]lU -St)@HWj9%&[Ca/c\\b_QUR[dGY-tc2]>2"ZWjKCBUnk9+YFq;IR\6=KV4=9a[^333oaP,M$c-Xk^_n`OKR%ggn -\#m'U`kf$SR$jYTajo"i\?)gFa25Er\@T;^[BQBkNffH!O-H?@[].$]^p^;D]?\[@^q[RgVk06@ -T;elgV7+"OaOA__]u.k1ajJ_b];VX/ZEpa2St_U5P+]"j_Rce;Q'7`Id+?FP[C*KV^;Iij]sFcB -ZF$[>_8NphYI:sJZ*UX0R$3c'UT:c5\$3ThccO#;\?N?O_8jO,Y+q_nYc4hB`P0:4_n -oD]Wt_hi#6@9lu?=^#!3=B\p7>[1E7=B\o->U3]c@:!8I@:*AN@UikU?ta._@prhS@:<\YBPM=" -D/XE8E,0+cBMN2RAn5F`B5)!iAnYmlB4tpiAnP^d@:NeV@:j=mBkM$hAnYmmBObUeCMRZuB5D@! -C2.O#Ch[a'BkV=$Dea$&CM7[UrJ?=$oB=oDG*?=.#D>Q.h+>l\./>=De#=BAR,>?b95=BSg2=BAU- -='&F&;c6Ih<)Z[n@(TC?=$lC>[(?8=]nj/=^,$5=BS^.=B\j3>$YE=>[C\7?2n+0=^:r0s',;%&m/:>>$>'2 -=BAO(=Bf$8>?kB9r`T2'&6rCC=^,$6>$G-6>$YB:=]kW(r`K/&r`]>+'jOmG=^50<>?kB>?!^f? ->$5$5>[Ce5>l\40>od<]@:Nn^ARf1Y@p`JG?!guI?XR;N@UWYN>[CZ@rEaMM@:3GJ?s[2HARf4\ -A7&\PA8ug2Bkq^-BOkOZ@:E\SARoUmA8#gkAn5C^@:!ATB4b^dAnPgmC2%L%DJX<>K7no0MNEdF -H?sp^E,9B1EcGu6D/O<4D/ao_OGo3cZEpO#Q^*biGBS+MEc>r7Df9?-CMIa2IYil1Fa8n9Vj`Ko -M4CKK[[`/)KS5/=JrZ([NK'*`M1'YmGC"RZFF&FhJp_`^EHlnnUT1;dNf]*PK7%`VD/FEDI<]dO -DfKi>Df9W8DJjB4E-$#>E-$#?E,foDI#*H+J/s,eH[U9sOH#!HJ:DfpN/s0_Km.lgIt`]3NKoKU -rdI4]I=Qs,L3n<&MLou(P*_2_M3=-`K6qrpKo)"LJrZb?^U^54P`M'!St)(/N/*.FN/rpMItN]F -R[SqVF*2kZJVB?sG^+UkQ`%!WNJ2n/H@gp1R'Y&b`jhRuMNaBcKnYDG -QB[>^KnkJJS=FGlWhPK!G'o%$JpDN]H%Cj0YPE_,` -J:<--LPC\MQBdSkKRA#jH@'p`H[^O!L5_7VLPUnJJ9H$VI"-TpJV&B)O-u5lLkpb>MN!ISQ^
    VSObnjLLP_1_SXlLPR?`nr -MhHY5K7.ueH\$p1TW+`PLk1/3N1?iFTU(UkIsQ<^IZC)(SsGM(R[9A(M0s;^I>aMdVPBiUQApZQ -ItE<(I<^!TI"mE;S>DpLQ_gsrYHG::SW/VdK7JQ4Q^Nk`G^=prM3EpQJr6&#^:^_@Klh*JFG#L: -R$EVXEc?;XMia9rS;`;YIX-0dKT;+RMi!Fe[)08CO-5NVKoM(VQ\gBPMh6M6NfAX!-&L5M+^Tr"W`TTb7eJ9up% -M2m[TO-lfEVO3J;fqgSskL\FEr1SH%_?8L4>AU -Q'%HMaNDB0XJ`#.\$WNWa2>6TQA^LmtEJWLSllF*WCnQC4/*QC*Y[H@Ug2O-?!)SY)UKSKnkSOUoq/A`4iCJR&I!bV4*R:X/`/$\@AE'OcPZfLk:;;NIlhDQB[5]M3O-cPa7MiJqo)1 -H@:I$Kp.mlP*D?#NIZJ.K7d$PKSl%dXL5C6USO9ER[TM#J9Q?eJrGeSQCk+HNIlV2MjD!*kMaOg -R=T'gGC>!pM2R.JPF8#=[`$&$c.::QV3m=*Mgp),P+7YnM26q"DJjE6EHHPZJ:dcS -4,K&dWO&b$S"-+5V6[+nTW,2nVl[;5WLK-IUp%GSbJ:38Isu]kJVoSMMM6hJR$*8^KS55JR@0=n -JGss0H[9mVEI!+eJWZ\A]=,#MXJ;6`Qu.h6H@^s8P*r,BR>QK@!"YIM<__nWgo\@08o\?)U$WNr=bRAZ^CO-#EXI"?s-MhZe; -Nh*5Z]m#bQ&q3"Xh_i]UntHCd)`M`P)bKULQ8"7 -ajJJFW0`NrH$b1-T;SNb]$&LHbJqE1XIPHAM2%J*\Zi0@\\>MKQ'e/,PEqZ/T:qjCPaIo,rfhkp -PEqc7URmp?R\-Uf]Y;"qZD!SBJV98^V6./0USP'"W1B?PX.PK3K8,>BO-#:pQ(tRq^V.:fXgYU.PaIbr -Lle@6ZFIQ\]stP\^r*CIVma+FGf%P=Z_3\TUU@5$W33>'U84]`S=Za^Um%IRZa@0S_S2t4O->fn -Pc2+6bJ_'#YdCsS]!o)OWj&V+W2?>\RAd9lX08t6RYlZCIuTqnVk^2eS=61MV5C5hTVJQgTS7rO -Pc2.0`5B0q[AK.MR\5e#QDq'fUSE.=[]Z9iQ'./lSY`HjV4"*SW2,oIR\dNsS<&f$QAL]^KRA&h -H$Y@7UoL;fVlm_AX.buFNfKL)\%T;QU7Id@S#<[&W0iX&M2$hAKS5bo[B?^Iai_K4Wfi!dJUDZj -J;0/ELl\C5Vk0Wg]=>8QW1B3@V6IM;Ycr/MVkKZ>Ll$nHQ`@U4^:CVVYbdY9J;0#DP+ASKXg>C9 -Tp(@kK7euCS>WNeT9bOuPb"PBV6$JYR%BS7VlHi!SWAl'R$!AePFSVmhi%4]stDJXK]4J]We/tR&$UOVRaFM]u%IjZ`9b#bhM.5 -dE0>Cbe:?k\#c3kYfPYYg!\6ngZ.r*rs\emh9*LF]!J]O]Y2&X^^S&kaOAbriT9.Se^MtGecsUW -i99k4rIP!"s+13$s0hrX~> -o)BU"n*93.nalYQo^VD;mI0T:oCDD>nF5u=o)A7\n1F5)qYU-`oC;88o'l/=p%\@Xq"FFRna>f1 -l0@X&n*]]8p%S7To^_SFp@IhErq$0Y61+.4p@n@WpA"@NmdKT4p%7hFo(2A>n*ouBp@e7Qp@RtJ -o^qhLnFcMHo(;VElKR^&m-X<5m.'Z;oCr"Ko'u8Ln1!hqmd9H1m-F!&lg!m)m-Es'lgO?0m-sT4 -m-j6+o'PZ0nEoQ-m-X3.rpg'\rq$3^rpg0_naZ,Hn,;bXp%.ePnegldnb)MDn*oomdKZ8nF5up\47Mp%@qHnEfT2mIg8Bq=sRPmcj*0pA"@So()>@oC;>>mcj04o(2PMqtKF;me$8H -naZ>LoCDA:lL"'1o^MMKo&f'$q#CBlp%@kBmdp,DoCM_Pp%S4Om-O66p@[t>lh^V\AaeO8lLFiQ -s7,@>med"Rqt^!XnF#c:p@e(Inal>An+Q_[q=F(Cna,lCp@e=QmI0`Cp@.M?jR)a>p@%J>nFZ>@ -md]f4md09+n*o`/n*fc6mdTl@oBko4n*B<,nFcSHlg40@n.bKgrr;iao(2YTp[.AAnEfH.mHX'; -n/C`\me6MPnFZb\qsWtFs7u-Jk3DF'oB>/rpAY'qqss(:n+cn^%/TM]nFc_Xp[.,1pAFpiF8PV" -n*90'nF,l;p@e+Em-X<3md9B,naZ;Os8Vrdp%@kDnFcVUn+65Lrp].Ap%e=Oo_n^Zn+cYFlLO`G -p@7P=o'l/>o^_D9oDS^dpA"@Mlg=0-o_8(Im.'lHs7Z!Mlg4-3nF?,GrVZ -s8Mido(MtWoBku9o(M_In`oE3s8DTVkN(dsrr;`ZmdTW5oBYN'rVlg(rTiJ)p](-`oBu;Ns'5Ej -lK\->n*g&Fn*B?1q#1$]o^D;@oCDPJqYBpWm-O97p@%SCn+$,HoC_bKq>'[IiT]t2q=3nEq"XIM -nb)SHmIB]6mI'Q=p[mqCo_%hGp%J4\s82HVlfRU5o6Tolnb;qVp@[tCnbiF`q#13dlK[m6qXsCO -nF,c6q#C3\l1Y,Mlfdj0m-suRp?V,=n*B?1oC229n*T]Ap?q86md0?4o'uDPo'l8IqXj=Lo^M55 -n+HPNp%\R`p%.\:lg=qY^?ms!%:,kj%[4qt'@Mr;ZTfq=s^Wo'c#7 -m.U&Cqu?WhnaH,HqYpL1p[7S?lf[U-rql9PlgsuNqYp*JiTKn5s*X_8md9E1nF,o=q"jdYo'Z2E -o^VVMq"jsfq=*_8n,!"\q!dV=qu?Z]ip,t$p$M&9q=*nLr:KLNs8Vf`q"=IXp$_21k3_a5p\OaZ -n+6#:q#:3boD&.Una5f=pAb$ap@e.Hlg4'0md0?7rqZ6VlK@?qlgacJp[n))p@I_@r;Zfprr;fj -p?gu)n*oZ9s8W)hl/qO4rUf@@p&4:Go(;SRo)ngYlKeH;&GH+olL=B2o)8OQkOSE;mdL,S&Gbto -rVuQYp&=sao_.qBiU$RD"oS)anFQPVs&\sYjm;[9q"F7Gm-jN7m,77'rVuldmeHAEqtTL:i:-[C -oC;24nFQAKp@e7Wqt9aas826Oo(VhJnF?,CoBYZ)jlu:*mI^)Dp@n:Xrr;ldl0.I$o(E"S)Y*+W -lL=N=lg=HEp@\:Yp$qSIrr;ujl/h4%rq?rqnbN4bp[%>AqY9m^q"47Xq'Z+>oC2;Gs8Vl]mHa'( -nalGGo_%nHlg=mIKo?nFH/;nEoZ5nacGPs7l'KnauA;lg=?AqXa4Js8W#fme$>Ko^M\V -s7km?md^)Jna,f@q=F=[s7ba;lh:2Jn+$&AmI'`JqXX=Zrr`/jo_\Ue*Vo9soC;>;p\XdWnb)PE -nFH5DnETB1l/qC0s8Vrpp]("&o^1\pk4/6>o(DbMqYgBcoChe=p\b'krI4D6o^VA9lKR[+q=a:F -oCr(RrVuosnF5Z/m-3g.s8VlbnFQ8?n+-)Ds8W#mo'#Q4md03%lKe9Drq>aEp](9ho'Y`(lgsc@ -q=sOSq=jj_nEfK:s7c<[nF,rAp[e(ImcsB:'e -qt]s^r;?r;ZHWme-PYs7l3Qk3;:/s8VTPk3(sskk"]Ep&4m_oBbc2o^_;8 -oD8(Do`+m]p@[tCm-X<6o'u2As8W&gp](-ZoDJL`q=F(@kiqR8rr;uln*ol1o)AY(qt0:5nc&CZ -qu?]mqu6Wqq=!V7l1=oSs7h!1nFunYo'lAQqXX+Ls8Vf]na>`2p[mh:mI9Z;o'Yi3n*f].iT^(9 -s7l3UmcWX!p\t-co'u2;lL=ZMqXEb.n+ZD>lL"*4q#CBinaZ8=mdBK0mdg#Ms8;NVmd]u;kMtt, -s8;WZnb)VMp@S%Hq>^Kin*&m"nbE+_>l"$]md'95rr)KRq"*n -mcs01p\"+Jmf!1\mdK]8r:g!`qtKpdr:K=?nFueSo^q\@pAb0lmHWg!qu?ZekOJ'-mf!1cnac\Z -/,oSJlLXrRq==(Lp?h>Bqu?T`m-X3:s7YU>naGf3q#C($gp$(W%qu6U9r:04BnFZSNpA4gg -q#1-[lL+?@p%.bOs7l'Hp%nXe%.rlUo`+saoDJRXnb<%_$2=;rs7l*On*ofFru(b/o_JC[p@IqR -r;60`s8D6JnG`Ifp\"7Ur;T:_p[mn@lL+EHqX*A,m,R4(s8Vf[lgsc>o'PQ'o`+j[lgjoMqsjCL -l0@R'qu?Q]n+?AGp@S:RlKdWnm.pSUmcWg%n*g#LrtPD*qX3P2nb2\Kp[n4Ys8V]RkjeKJs!@O1 -o^_G:naPl-m-!F"qYBsUnbDnKlh(/TrrMfZroX=Gp\k+&p$MJGn*B<,n*ToMs7Z!Xq>UWklKR9d -mf)u+qY9serUK%7o(VkQqYBmWn+?ALq=s[Smd'3*nb)YMp%J1XrqufnB)V8`kN(h!s7l0Xp$Ll+ -p&G'cn+-2Ajltgkp\k-hl0%I#k3i9Lq"+:Zs8V`\nb;bKn*ffOp$_MMrr3)lkNDO;rtP.nme6MOp&4j_nEoZ9p\"+Ip&"^e -rrW,gpAY(Et'p@IbCq"*k:pAb0flf[^1r;ZfmnFc_Xs"=*5nbN4aq"+"Cq=a=Emdp,B -oC;ABq>C'_q>L$Qlh12Pp\OUPo(r1RkiV!pr;Q^`p@7kVrpoUUp?h5Bs8Vrcm.gV\r:]^KlLarM -qtfmJo_AC_o',T9s7km?kO.d(s8)o9p%%eMr;ZcllgF96o'u>IpA"FUnEfQ4qt^'drVlfr*r,lh(2Vs7PdP -s8D]_n*ou@rVpU-rr2Zfs7bd@o`+sen+->HmH`s)o_8@bqs

    o^_hUoBbi4p\b!fqtBLDo_\FU -q"jdOp%InFn+ZkXq"j^Xq>9s\o(2YTp[mnBo)&Ierpo1BqYgBmI'ZCp$hD=oCDJGr;,jXs8W&lp$^u,nbW1[ -q"+(Nq"!_:p@n.BnaQ,GpZq#3rVuorp\=[dq"=Xdr:fgRq#14*qt9pes8W&npA4gdo'l)5nG<.` -ru(Y(nF5]2oCi"XrV?!NkND0umcs-*p%S:\JcC<$JcC<$[f:j~> -oD]0hcCp#BJ9Z6aH[Pg@5C@m+I"$KjH$FRZH?ad`I!^3hIX69bH[C-eH\$WmH$OUXG'A4XI"6d! -JqAQ(IslWfGC4abI=$6cI"$KjHiAFGI"?crI=6HeG'%tSGBeReIXQQgH$k$gI!g?kIsufmH[^El -I=?WpIsQTpI=-MCIfb.PJc:-,J9QFpOGSdP -OctukP*hW&OI2iCUR7C>WM,Z?NK96fSsPY0WjfUOZDjF`S><0dWM5fHR%9tHSWf)!T;8EeQ]I#^ -N/<*]TU;CMXJVGMPaS/7 -R\$7JSX5_.OcGE^O-,EZN0BWqR%0_?USONJNf/dXrKq_mOHl<-SXPt3O--!-StN*bVjsG!R%BqBTr4uqZa[BHWhlP]R$jYIW19!5 -OH5NhR@0G0R?itoNg?62R?df=?^.%[[^;s(VnC*j\#>XYSY2F9O.<2MW2#oNNg--4VkKQBP`q;n -OH5HbNffNgNK'$aOcPN^M2$S2IY3?,Jq\o2L4k8;+`WN*##X/M\WNg600SXR%0V0NfK$XS#3-gYb72>Mi3OXS>X$?bJUZgZb3`L -V4O$9Pb"D:Vl?PrZ`0U]Ocbm&Vj`j/KnP;DPaA&8Q]dT$QB7&iS>a-Icbm,iTqJ*PRZj&.Tpq4/ -TWuJU`5'$pZ2^qUY-"XrSY2dNSt)7)^r4*t -Z)=:iVP9NRWjfC@_U?iN`l#HpX/`2'Xf82#]>D@m]Y_1QS=Ph%LPCYDMN*^gS!oh6Q^jnL[(X)W -X/)ASXh;9P[Ca)VZFI]d]-GEUb.b*\S!TP8S!0,0Xf8"_S=l=5Pb4hP[(WoEQB7&_N/s'\ -M2.(ROcuHDa25BoZ)aUfTV\NZR$!PrR@9nT[&fjbMjL*/R[TkBUo:AnSWSnoNg#`nCR1H`VRO(A -XJMhpXIb]@TWu#8Z`C11Xf8.kT9G\:U7@I/Ng?99Yct7.VPKu`XgYX;T;n]WQ'@Z,TV\g!ZDO.\ -S!T>&QC!brOdME#SY;XES!U"RU6qC>S#<-_Z*h$Q_nWUXU8+NZUOK)?VkpQ/^U^8:S>!*qZ(mMS -USY02bK-um[^rcK[BQ*t]#W"8a2c$&ZFe''e],)%X1#^DStrNhUnONXQ].<%USXQKQ("qja2>Bg -WiNM<]!AE?ZaI3V`4`Xl^qH_?T;AN]Q]\&C\AH;(\[&ZQ^qQnHVP09@UqY1'dWsEg^T3c_N0BdC -ak#%gaMl'3\$)g2W265f\$2EkSY`WtYcOt5^<+aLbJLosUn!pU]Z.aoY-GC7XME3'[]?$`MiF!g -R%^e&]WS*-WiDnaT:(k,QCY+o[]d-VaN;H/[&BRdQB@H+Un1qW48q#UR[sk_o'-lXL,gecdL"Q_91-N^p9`(Q'S)D\[J`G[(Eqq[CX/YStN!WVPU8q['-X/`5(Za@!;WNWhJb0\,;Z+8$*aL\CEP`_B2[Cs/W\@AiY`O;_@U7RdBWk5gP -^;n7-]>).uZ)+hI`b<93b/CloVl6YuZ*UjEYGnD.]sXc:\@SrEYI;$T^rFL+WM-?"[&KaoYJ%lr -aM5'd[_0An`P&Ue]tV"WTUVFPYctC?\?i-)Q'%B-YI1gFZ`TsrXL#17Z*1+,Za-R!Q'IuI_T0\` -_nX%+\>,I`RZiu1Yd:I1V6n%S]!SW?V6$u/Za-U)XKJn9WM#uf]<7isSt_pLYG7ACN/`dUS#3?i -V513"`4`MVY>)$p[)1&2_6Tu5Vkp8o\[\c8Tq.X>QBdYsW3s(:ZGtDCbK%,eQ^O;-N006dR?Wo. -[Cs,QYeS,g\[Sf?T;&O&a1\sn\Zhm#QCFP?Gb(G&YJS8q]XbJPU6:_-StVs[Yc4\*XJ_baSYVjI -U8P*$_S3@PR[0G>YHkXKYF_MfUT:uA_n`@HV6-_mT:DIIWP?g4da6Om`kK-gR?X;BX/Vnu]Xb8E -R?Wo'WP?^)bIk*b]Y_@j[^Wo^['$?uPDYToR@/GsY-bCI_Rd.YY.Vg!aM53jXeqb[S#*0bVPpr< -aN`&S^TtYqb/h`Nah=CHZb!fXYGeOsQ^"#B]>M1[S!K>1ZcL;-]t1\^^W4"&^9juDZ*^I6]YV.\ -X0Ab,W3!%pR[9G5TVS]u\$O3+f$;:Q]<8EJ]Y1qcZ)t")(H3bf%<3^q@7rbL>+u -iTU5ks+13$s+13[s*t~> -oD]^!_hr,9@U3)B>?P'2=B\p7>[:N:>?tNB@K'X=?@Cc?r`:+?ZtE=>$>6>?=I;K?=72L?XI2M@q/tV?tEkY -@q9+]ARK(]@q&t[@:*DO@:!8G?<163<`W=(;cm1*r`B8*>$+o+=oVSP='8^2>?Y03=]ep6=BJg5 -=BSm1=^P?4>[:N8=BSg2=^,'7>@(T?>5_V(=92K(q-*o,>[.,0'3SC>>?tN==^59>?!CK9>Zt94 -!c]>Zk00$G3;>[:N;=^50:>?tH=?!^iG?iFF=?X$Z;>$>'5=nu2"=8c8$=!CgM='/U/ -=BA^1=BAO)=BJa1?!L]@?!CW??ZtE<@9m2F@:3JL?!^iE -rF#G.s'Yk6,@G"lA7]LmC1UjbBk1^_@qTIfAS>dmC2%MF_G2i?X[FC@t.lsAS,k$B5D9rC1q-iCM[d#BP;-sDK9]9EGoZ6I"$U$O-YufI=$sUF)c2@F`V\JEG]T7H[^KoGC5@BXeC`*L6.du -XdFfjI=R9:JW#DAKn=o/Jpr#iGBnO^H?t$kLPLD*F`r.[NLQQ8Vk0*4N/)k(DK0K;Jq\`!F`qqQ -GB7eGEGfc7DfBf?Ec-#AG'.tPI".!-JqAN#I"-j0OGSL:It*'(M2[X]M0jPnJ;B&7MNs3WK7SJr -H$t0nIX-3fIslNjNKfKXL5hXcM1C#&JV/i3Iu9eu['Y"XU6q+.R@U"AQA^HMLPh"DH[(+%QCOCp -F`MVMG^G$uLPUhGMM6M0K7nr2JqJZ2N0L!7WM5]9Jq/<%LQ7OPNK9EpN/*R_R?NMbNJW+/JV&8q -KoV4NJU2N_E,T`@G^P()TrP&cU7[d8P*D)qR$*)HF`i+XO,\sLKSb\MP*;6(UnsWGNIceGS!]M1 -Q(+PHUS"$APEM#\HZsXSF`VS@CMJ$DJ:)QcH@qEUX-nj#KR.lnKSl5-d+-@VUQ1+jPDtBTM343q -Q&UNLLmO^!QCOG'INfB']O,/4,EcZ[-Ki*JOL5_:WO,f*MJW#YOP+828P*;<+ -TpqC2Hus@OJrYtUP+nqHM0s]#M3OX,R#HobLk'l&Is?-]ItEH8MLpA1L4tMIQ'Ii7R$Er*Q]6cU ->D@WQG^P*uNhEDNSZ[DK_cRY>ftCib&^P*_Dj -Hus7OKo1qXSXPb'LjsVhEd3:tP*VK*WO0CHRu)lPItWE(M2m7@Ll$S,IY`f/I"-BeH['XOEH-AZ -MiEm`NeDn,H%Ls1LP:eRPECuSPae>QY,.bZPD4L2G]n.IEHm(bJ:`E1OI;Z5V5'?4J:2fsLm4I$ -Q(=tSXf@tSM2I.EPH21$XItiFR@9A)TXDV=XJhq_O,8RGJUW30PF%YsH#\(UGCPU3Is[!5M2.>- -`lZ'-YctICXJiD<_7d4NRuiGjWN`M,>-+^*[D']&^o`oYLQ%@ZR$X)$P)P-IIZTtkWhP`@SH$=L[JVfAFP*qSjKmRrdH[^d7Ss>.]rHNU6 -H$XpgH[C6rNJrLDO-,ZdSXYt$Jq]2N -QApKHIXQZqJUi6$KS"VuI"dNALOk)0IYEu]UR@:9[D^"jU5t+hNJ)_,N16B,Q&poTKo_L`O+r.7 -J9u`kH$=FVEclYOG'/+[IXHEbFDPW$@q]UjBl7g(E,KT8G'\e!Q&UKPNKfQbMN*plS!&_fQ^*Vd -LQ\1)['mW`]r[cfR[^"FS!KVDYH"_9\u:jMLl71DI=Hm'KS>GNOGJpeV4<[/OcbTYM1Ku!I=R$- -Q_0q=PEQ-1Ljsi're#BSR[TbBZFdQIV4sQQR?<5ME-R"nMM[=TQ(ak8J9ZO$PeG`5iQJ[#LhpjI -H%:U)Ll%:aTVJU$aOJVfh:B9:S;rScKS5AQSWSkgMhlt6Isus3R[p.FObA.-G^=k#S@?DY_Qg&> -ZEL3rPD4L9L51VKR$`2mWL]*$I=-R*PDFm?F`_eSItEW:K6hlmHZX=WMk%2ucbciVQBRPqMLpJ< -Nf&C>P,6%7_7HtQUR[a@S8FS"caYW1&a&N/j3aLOsr!I>!f]VN[+(PF](f^rF+" -]==o:Q]R5hMh?qSVPpH*d*NoS_S!%EQ&q,uSt2LR\\Pn`['cioLkgA$Df9T8E--D`reOa2JV9&J -V6I/%U77F+TWYAnWNWY.XK]1AY,%_cTrl&L]Wn5aH%1R&JV/uPQAgNQMM?P1M2m^gV4j*-JUMfh -G][k@CijrNJ!$S>\$2p3URRI8R[TCoIXZTpN/sI+Wh>N.FFfC1N/s6mSY)XHOF_h/H@UX'N0Bg, -ZE^L(QBdc(Oc#$^W3<;"S"-";Q&pr\I"R?;LOjl#KoVUsUS"$DQ^*o0Wi;PPSX#+aJ:NB1Pb>"R -SWJbbIa^V-nW\%Tl&[]-!nX0e[cQ(FG-O-,T^I><]AOc"^?L7PKZ -]7-uaWNcdpI]_op?M];hB_MMmdoY,nS!Xg>=7YdC9iPaRi%OHcB5 -V4*[5OH>BNL7>9HR#Q]NN/i^DLl.(EKnkG;NKoESNgQ<4V6IVFZDjn7cHjM:Sre\WI#O`!\&?:u -YbRG;I6]=5Mj^9ji4T`1WWUSO`\SXQO[VOF$UYGRqhXg#4C^Vd@NQ(4YDRZs8@ -]Z&%8^9XuM\[fAd[A^15[]lTuR$FJEUna`_SWAGOH%_K]ZEgO2Um[W>UTCJnWi;_hXfS+HH@CmN -\\c8!\@K2PQA^ldLl.V!XJ_baX1,L>VP0HEStr3\VOj'GTr+WSO-6$8Tot@oP)kHgOG!LYEI*A$ -R[]V3Up%VHZ)k",V4acp^qmLZT:;LFT;SosUm7.%LkLA1It=)gY,AG=d*KhPZ'C#rJ9l-XH\7?? -Oe/kgZ_se4]X+iEVjim8UThG=Z*gs=RurG]Nf]EhTW>iC^:(8HSrnPRKSkeOQ_0mLUSju_S!B/# -Mi*UbTs2,2UR.%%Pb"VIWN2\VS"lLIY-kgJUR%@CSsGLtNKTmKf&><5g!RXEZ(R,;SZK&oT;J`e -S!&J\MNOXA^r!dkX0&qK^&GHO\?i61R#QQ8H\I0/PG+tOZa[0>VPq&Hc,[K&X.u,IN/a*nS=6%Q -]>Vh7a1SUh`lZ9Cd*'(hSY`?dURRL:P`1K_UU%A.RZNPhOeoP"\%&rY\%KSc[C3*3UoUPjW4'7D -VP\U;W1olSQ]6QDIYpJcC<$JcC<$\Gq'~> -o)B'inEoT5o(;eTo'u_H$h*]Zp%7hFnF?)?nG_q_nF?/Gp\FOTrUU!\(A7=mpA4[\p@e+JnaQ#4 -m-aH;p@\(Trq[H)o^qnQp@IeFoC__KoCM_Sqt^-[p\OX`o+^cmqY9gZo^_JEp%.hJp@n@Xp\"4Y -p*B>&q>9s]q"OCImI0N5nauSFp%S1Sp\+(FmI0H2md]o:n*oiGmPXCokO%[)m-F!&mdB?)n*fT- -mHX*3nEKB.m-rpL!XmHjK=rV-?bs6pfoo'c#5mI'N;p\=ISo(2MGo'u5n*]W6nEoW2mdKW6nFZDQoE=^Rn+#rGn-&4Qp%.hTo*+^Mlg=*.rp]aSs6p$Yrpp*Z -')(tgnaZ,:m.9f;n*]Z5nF#c6rp]mSs6pKgoC_eHn*]T1lg*p)mJcJOm/lbEmeuJRmITfGm0iCM -m.0lEq>'m_q"Xd\s7HQfo(2GDo`"M$qu?QamIL&FoC;DFp\+7Sp\=OZp[mt>kir*5rp9gWo'u,H -lP/XJm.'Q1m.9N4o^;5FrVH9_oC_nXpCm#\mI9cIs75mUnFQ8?mdKlBoC2_H&H2CtoC(u4p$M5B -s8W&emHOW='^kJbr:T[NmI'N;p@[nCn`o)omdgAW)>a$ql1"<:o'u;Fq=XLWp$_57na,c7lgF`N -s)mbijQ>Uprr2NUl0eNMmdoo8nF#Q,oCDGZ,m.pSTmcN^#nFuMDo(rC`oCMPKs7bgD -F7](sq>^<[m-X6,lKn!1o^qY>md]c0l0eTLoBYZ)l0.?liT0:qp\Opeo^D5>rVuommHX38qu$3T -jmDg>rr;chp@[k:lh'c=o^qnNn*'*,p%.Y=lfmm,nbN4bp$VVLo'c#r5nFut_qY9sV -kNqa.p&=@MrVuoqo'QDUs7bjFnbDbJo'Yf.oDe^\mHrr3Dsip?UCn)`p*n*]]7rq$Bep@S.YrVl[or:^!\n*p,GmcsE8lg+9@oD.tJp\t*[jlc76 -qXX"EqYKgRp&"[`p%@tKo'l5Cq"*qBpA4FMnFZ_[s7l'Mm-F6XLp$;)Es82H_s6f4>nFcMJnF>u=qYKaLn*^2>8*K+(qt9XW -s8Vldq"*t?lgOK@p?qSLqY^6^kOIj*qu??Zp\jgRn+65Go^q_Fq"spcrqH$QmdKcAqU$rr;r`io]Orqt'4Kqss@Tr:B@Fq"aLOqYgElp[RY< -m.0oKr;Q]in+#`/p](9ip%nCOl07X-nbMhIo_8(Lm-X92mH*?lo(VkHl0.9pm-FV<(lK7Lrq/2Eq=3_4kNV@-s7>FAo()\XrorG/nEK90p@nL] -oC;SSq!7/9rV5sVr;5sHp&G'jp@RqHo_JLd&cCkNkOncQp$qD;qZ$Qfjmi3Hru:b*q""+WqWm%o -kP"cGq>'[Vq>:'^nF?5IlLb)U2#[=Or:TLBm-aH7mI^#9meHPCqtg*^o^hhVs7kp@jQc:.qY'X\ -p?Li.rqG^=lh0r@mI:&M0)=u+o_A:Zqu-Hhq"ad]o'H,A -m-F*1o^q_HoBtf,o_nCLnG2eElgFH3h:(B_rr3T(jkoG"pZgl2s8Vrfn*B'"p&=t&oBZ/Co'Yr8 -o(;PJq"4"?mf)elnEoW0lg3s-p$qM=mHF*.mIBiCr;Q^*o'>c=p@@VErr;c]n+Qb\.e)m&s8)Wa -q#CBilJgmhnG)hPq"saOo)JabkMYIip%.bIo^_GUC/rV#X?h<">/p$_MFnauk]p[IkLm.UGY'DqY$pA"CRn*f]3lL=`O -s8MihqYU:+o^_)0nauVTs82ETmIKl9lgONBrr5jpoB#N7na>f3nb)VNrquBTq>^KknET3"n,34b -rUfIJrr;rqr:B.>oBc8Dm-F07p$_\Np?_)5o'kc-mdBoNrUB%8m.LAVo^C`&nac/>rqudmr:fp\ -o_SUfp$D)=nF5](jQcC7qu?T_jm)X@rqcEcoBPN'rVuonmblsamHXHGq=adep@[k@nb2P;kj7m* -ipm'Kq"4+HmHEd"lL463q>UBqq!@SMrs8K#qXsIKlg=9Brs/Jnlg=0#m/$_]$hE<@pAb*frr<#r -r;Q_$qY0[Kjm`p[RM:q"saNp%e4Rs8VQTn*of8na5T5naGl,iU-RCs82Ta -n`SoqnFu_Oo^:o(jmN'HrUT:5lLFB4o(;VBn+?MRo^VA:meuWmn*TcDqt0CKmHEm!jQc@6r;HKf -q"jpbo^V;Bs8Vlbmd/uuo)&IerVQ9SkO8?Ks82H]o'Z#>q"amgrUf=6k3hs8o(D\Gn*]u?lg=01 -o(;_Ws8DHRnF#Q3qYg9es8W#ilfII&q"k$jqt9sfs%`"Eip?^FrTrqFp%%qYs8MQ^s8W&mqtf^T -s8W#cn+cD4k4\iTrpf@Bn,<:Wip-.(m-aZKs7u?\qu-9Tj5fb1s8MWVl/CmsqY9^VrVca+p$V>= -nb)MEr;Z]`jmrU'IjR`-5p\Omeq!dV5o^VA>pA"=Mrr3>i -ip?I?oBu&;q#:9m,kpfol/q0mmem+bnDiWrmHFBGs7c$Sp\"%HmGm?tqtKUFmJ$SZFSP%\kOSZQ -qXF"Fo^r"Pn`fN8khbOgnF5c.md96#mJ$V[s7l'Ql/h1"pA=^ZnaH)AoBtl2oD&+ZrqGmRoC;AE -qtTaPl0.R2s8VKKlLO`Jr:odTp\k*clf[NslgXTEqtBOKpAb0dlK@Esr:op]lK8'F$MNo[rVZ3Z -o]YW>rr3,rlKdm/r;RZ,pAY![qu?QUjmMd6p?h5:p%@qOqZ$BVmJd+fqt'1Grr5RbnaGr7nac&, -j6Psko)A[hq=XLVo^VSLnaQ,?o^qbHl2:SYpAY$cpA+:Fm.'T0n+ltYp\t3gr;?Nms8VrekihI. -o'Z2Np\sb(lf-men+-,Ks8MZYs8W#mp\FXZo_/"Op%7eCrr2p1p[e(Trpo@>jl#@kqtBdUmd'QF -rs8Afo(MbDk25S)s(1KYn*fW>s8W&eoCr4]p@@bGp%.Y=n+6,Ao_A:WoC;>:oD8:PlK[^*q>^Hk -p?q)2o'kbrgYLi]p$q8/kiqBsn+?/=nG*%`rpSt3p&G'ip[e"Mp@\"Vs7GmTq=sXMlKe$:r;Qfj -qu6U@rqlQ`m-F3=s8)'IkM,.qq>1'is7PaIqXBmd9K1n*o`0m.:&Qrql]mrt,2$lg4-9qtp3cn)sEEro`qQrsSA^pAFpir:TOE -k4ecQ8bDWMo]PK5s8Vc[p&4LJmHsNmRs8V`WlLXrRrq>gJkiM%"o(E"^ -s7c9fmJ$PPn+$)FlgXiPrUK:Fo'G]1oCVkWo()56me-5=q>^Kio'u),m.'`Dp\+I`p[7M:lLb,Orr<#nn*TK7p@n=X -r;-'_o^1u4naPo+k3MF&p%n[grqucsrr%EJJcC<$JcE^hJ,~> -oD]-lc(^#EJU)HgJ,4O)H[^BiH?a^]H?a^^I!^9lJ9Cj5*-QOPH[U9fG]e+NG'.qNG^=acIXHKh -I!pEgGC0=8#^LW>I!p?dGBj+5&q>:UI!pE2Isl]l -H[0gaI=$9cH?sp^G'A1WHMr3iH45.JI!U*aG^+LZH@:5@If=g!JU`)prco$#I=-?gIXlloH$FU] -H[9u6GlN'hHm!c`I=?ZqIY7%PF@i+TUqC#IX?KpKS+u.H@LU'Pa-rWJqAc7LP1A;L4b)0Ko(bZR[0.rLPq=SOIWG\XJ23` -O(=6-MN3mYM2$_=M2dXXMiNfT*QNfTM274]R$*i7YcXt) -SW8JaNfK0`PEc'0F-)QNP`UunWhZ#GNfB'[QBRJsS>E6fZ`KsmS=c^^X.Y`?Q(4J>R?!,dS=cOP -O,T'[O,T6kR@0G1S=Q".Q("85QBRJoQ^F>@YHOjoSX>V&P*ho>T;/6\V3I"0U9:SgR\HRGM4'ls -OI`/;R[')&Q;!F%Nf9!VN0U3C[(!QNVkKfWS"QLHPDb9RM3F3iQC+).R[BM6V6-r$UmmC'RAQsc -[\9OuYd(@1VRF+EUQ:4hNf&[NLk^_LTpqDJPA$A\Z+?p(R[B1tP`V-)^=:icbcmS#S=uF:R$XMH -Yct'pO.NVbW19NUSsGP$P)tZbQ'\/EZa@6T^U^taX/N%pR?EhtLP:bMNLH9*UogboR@9qQVjip; -T;A9STVSEXS=,b1P)kZ!*jVk9WNOGSpZR$sM5R$aD5R$aA.P`LlgR\ZsVU8bK'UR7@> -S!K<(P*r5R -XeVu3\%f_aU6q10T;oB1Z)FFmYd_$@VQdYF[(3cVXJDGZRZ`YlQCObNW0<("QBk4:YG75;PaISs -TsMDJ^UU\^^:(#<[(j8`]"#)FUp.bU]!J`N\A-,6g!@7&PE_Z8W1TZPTW,)nUQ_FQ[_fYVVlHPj -YH+(NNLm>WI&X0FU84ZdWM?&WUSs]\\&,h]WNN+iPDkE[O-,ZuTq.pXV3RR:O,fW`nRZEDf -Ocl&pQ(=D,OHuW1Oc,HoR?*N!Uo^\tWN;hmVjia/RA$LSSdQ'@>fNL-<(Od2N0Q'S)KY+CiL]#`"$VNZt(TU_10UT^l!SsPY!Odr>M -VOWg:PE1WZN/j!\PEqGoO->onOGemHJ:E#qJqJZ)J:Dp!JV/c=P+/8UWgf9DUns]KSu],sU8"Qh -Y,%;FTW5*)\@KAfYFq8TUogr-X/d8FZECONa1%_*NffH^Ll..NQ'\#6RZsSX]!/!!R/WOjQAgWY -Nf0!fX1#UGWi2VZOH#<`O---BX/2`%`58m\YHP+1W1T?7PG>+KPEhK!T<,&[Ng?<3\BNOK^UC&, -Mhd"BO-GrsTWYrD^qdt5g=4[.f>=eoS"QONU84KTR[9A2Si8OUmmjFT:;+.NJs$eV7+(EV4ZEq9]['-gATru;Zbf.K?\Yc6G[`?hF_m?MJ\\P;:U8t/`SY;pRR@g:RWhPfA -PGGOu[],siQDLgoYc+S+[_'Js]d5[Vm!\Lb0.Z1Y,7_VRA@C;be1-ZXK&)*bfI?# -X.5?8Q^"S=Z[_Z*(=)OGo3hYe7<9mZ*(FC\[T)XXeDJbVldGA[&KXZNKpHV`3ckYZ`gC(R#m]+VQ6S`QC+&0U8tT/ -Z`U:4[BcTlNff^3WhungR(BoJ_mZbY_T0R5^dS#*O4_6pAK]""lM]s!cdS"?FX -Wi<)%WMH8^V4Nm>ZGXYdVOF!OXJVPSR$sG3S!8koS!TA5YIMK\\[oA[Y-5:C]">GWX/);JUT^f+ -`QlQ3Xe:l=P*(cnXLYsWa3)ED`koL&[A]XYP+/8EVAc_S[^\5X15jV^V-qLUoh&2Z*gp?ZFdTGS!/o# -X1>sX\[K2i\=\kFNfB6tYHFarT!,oJ_nEI\YdV!CVl-JiXKT(@X.Q#^Xe;#JStMaMZ(mJ>MN3XQ -Pae87R@^Ol_S!:`]>(tb^<"UA\uVNqYck=?]"58MX/DbdS=9JGEgil*VQ[q`aN2B0Ss,D(Nf0!Y -NL$$/\\6#"['[]d['mIWhc8ZVT$Zs]sY#5UZFmfh`OW%GUnaBOXK\Xr -Up@_Yf@eZr],Y!`7EDW -^;%M(\$**AVkU,s]u/">f%&.(i8`kRf@83f\#ud/TVo2u[(O#ZYHP7I`5g$HeC5#Ue]bkA\[\uN -YI2!X`Qd0:jTXi2mdfrDrr3#tqLSZts+13$s2G"g~> -oD^E;`J\J@@9Q`;?!(65>$P?>>[CW=>[:ZE@9m2F>?G!1>>\6q;,gOt=^,'3@.;7#[:G8?!^c==BYW-,@+JU>?tH8=AMt$=BAX/=^PH?>?tE9?G!3>Z=d-r`0&!:]+5r='Aj2=o;G\=]/7&>?Y-1=&iC+<)d"'?q/5!aJr4r`CIJ<*34(=^,'3Zk02 -=^>66<`N1&=^"s0='/O)<*$+g)$>'4='&L)=oMP$>Qe87=^,,.=o__)?iOL9?X[>Er`K5'p0%Ds!*K5's&]q@>Zt95 -=B8C*>$+j,='&L,>?kJ0?3XbE@:*2>[UuI?2e(>?"%)G?=75M?!^lG@U`bR -r*KS8?X[;Mra6dWA7]=aCiF3%?=dncAn5RkDJa0.E,fl8Ch[NlA7b^O?"@PZBP1jb@UiqX@qB+U -@Vok(IsZX!Ljj)K@Us.dC27HkAnl:4I;Wq;Bl.d)C27a'CM.6mCN"lWIX?3XG(4dbM4($'N.lCt -G'%bGG^X^SE,9B1FEMM;D0C)HFFTF?Wj8UpPDOX.Ecc>AFEr:\I=?NcE,p/GH[U3iO.rhGMh-P8 -KoVL_K6qijMi;q2H?spaGBn[aG&hSDG'\IUH@gcsF`;8EG_1m6RAd*FMhm(6E,'9.H\dW:K7SW& -IXQ?ZF`D/:Df0Q=G][kJH@($e/:W;.NJN:AJ9uZnO->ZZH[1$iO,]$TOHYTOH[:7!L44`8PED)o -N.-,$IXM*?s*6PJGC+mjI"$a:PDXs>H[L6mJ:WH9S"ca[V4Ej5Pa\;;P_Xa?LPU_9F`MkeOHYrU -GBeL^H@UqQM+`V\LOj]!K8558K7nl:Ng$'3VO`g,KR\AtKoM7TPE_K%LkLnTTUgspNJ`7)J:i/m -L5q(DIX6BfFE2JGGC+arS>rZmY,RtZQ^%K0Iu&MqFEMe[KnY8:L5(J=M3"(!VP0H2=*OHYTOG^"FYH@CO%P+S\UZF@KT[]cEqSWnhUHsCo5CiaiELl%%SS=Ge"MNaNpLk()7 -OcPBYOd)&iN/NICIX6-KS>,9N/rdBIu9GMOdi#9Nf]U# -U7.C1HZjIRJV]+YKo_n.To=JKJVB/SURd^H@gZpKo1G1KnaqrFb#$hH@^["JUDZ_F`r7h -NK0-bN.HJ$G(Pd9MM@4RN/X[K%SO,A[FI!C'nN0TiqH>n(VI>F5MHZX^gH[h-X -\@oGWX0/h0SXQRcZ)k%'SWo80[^r`GYHkOG_p-WJY*+EhMisG+OCOE?R?W\bQ(Ft_Y+:oMQ^XY? -NIcV>S!oV/PDtWfQ^a8'Pae5)Q`@HqT:;F;Mh-2!G^=^gO->ZiSX5"eIsH9`H\[iZR"p$5H$ask -IY*E4It*0;Ne;b4N/E7COI`2CTqQh*MiE[GG'J_$Q'dVaI=ZZ^I>F#NQ_'tMTr"]eV4sNKNe`CH -N/E:;M1^5(I=Hg!It<,sG'eq'KR\T3MLg>9T:CstQEe>48I=QouH[pZuKnbYQNej"'XIkT.Jc:7BJ9Q6fKS##A -Su8T]Q^!SeIsup$K8>hlTp_IQ]Y(JCUnO?IP)+L-H]=;ML5V+PR%^"$Fb#L?]@5]h^TEfQFE)DJ -K8Y_MQ(kIh[CNYF(K;Str'FMg9l0 -M2=HVRAn*GaM5*]UnO-FTq@[4Oct6?H$FapRA-LUToakYNL,`cMMm19H@V9TUR@:"KpK!Q`QuN= -^qHtMRZW_OP)FpGNglQ0[a!.@_Rd"KQ]RAoR@L"T^W4=%Unao_QAg6;FE)>@Ecl\gN/NLDI=[EC -V6I81WLAa0V6[A1['m?HZF%0P['?d1T;T64Wh5`-F+BC7JUWH:NeVh*IXZ]qPFJ&lMPG5(ZUmmpPXgGm^\[&MjYc!qMNL-6)N/![p[D0Mk\[ScEYcXF]Q]cfOTuGdBh:g)eV1WuD -N/t-Wd*p(IWM?`!V4jTTSUnF0MOGpOd`8\[B#stYH=OuZD*51MiEjfR@/Mp -Tq%I7Oct`UN2F2!Um?t!R@T\&KS>/6L51;+Koh.DOIiDXYHbLEYc+M)[^`cLVOWj/IZpM"Wk?9_ -W1T<.IXlopL7"sC[D^/*aMbg&Z)F+OJ:WWER@:"^YcY")Ru<#UN/`siV59`JU7n6PTV\Q_Tq@sI -S!]J,X0DW5s0Z1C]Xt/4PDFU9O0H+&Z`^=5\@f&7) -QB7B1\%]>WY-"k.WM[&+Vl$GpW2#`EPb+n`_TT^%[)1AHbdaO[B$O;['m9?Ss>8&VlZkpV5CT-Wg/iuUSj`^XKo@I]=u%ZSXQCYWgo?> -T<,WEbe:*RWii\>]sFQ3[(Wi@P)bZoS!ob4R$*D`K7JiNY.2!KZ)=+]Vlm/%XfA1s['?9YH[1C< -YI1gDY-GI9Ob8:>KSu7qUn3s?Vmj=JZ)OCiVl-/UR[]\:Tr=oZO,oX#PDY7tOT1>jTTObKGBnFU -IYEZ:N0C*F^:LYV]"P\Z[CsJlYb7>IVl$AmZ*::'TpV%&LP1>8MO:'0W5-Kma2P9JJq8;jEHc\V -N0^9N]"l"_YIqKKY,\7bOd)B7Z`L13[&9.CN0Bd%R?sD;^r!jnX.bf8L4k;G%7GR%0kQ\[JH(NJ`a_Str9`Ss?"OWh6N/_7HG0TqnK\Tph.)PdeukeCE6t]2"c[^ETOW19'.IWpO1PAZPLTr"ftZ)Xn+WO9:T_mQ>4SX>@uS=l71 -QDM+5e()gb\#ZgI^qIM%aM4=BZF$d0R['Y8N.m+TVlle[Mhm4JR&R*eZ+%9S_9K6n\?`*5XKA+j -Yd^j4U8=i`S=#V(OHYNZNf]d1Y,oXjd9"5q[&T^nW2H>ZSYE!POc,HuX0]F@[^ENQY*t]X_pZiG -[^EWWY,8.qT:;OX]"uM9f[nO.iT&qRf[\<]X.l2SQ(=tLWN`Y-USOg#_o'I7bfRfE^pa6I&[&7: -Yd_<`c.hCFlL"$3pA"L`rrN)qJcC<$JcC<$`W(G~> -oD]3ona5c1m-F39o(2DNmN(ffo_.nGmHj3,mdKT2m-O--nF5uErUUEfnaQ&>oCDGCo(;SRnc/1WoFp]\m-aB;p\+=Ro^q_Cnac8?nF?;Frq%*"o'u5< -nF,f5nF?,CoCMPCoCDG?lg!m+o)A1Zmf)\Sn.+jOm-3g"l0.BrlKdj*n,DhUnc/.\naHJF)slt[ -n+#u@oC;AAo^qbHnaGl4mdBZ9o()DCoDS4jnac5>mHs?2nF?&?r9jp\n*]W2mdBT6rU9aR -,Ok9pnF,l:o'c#6mI'K6nac>Do^hbKnF5uoC),:rppTinaGo5mIKf9 -md9E0n,D\kmd9H2nF#c7n*oi;o^D/2kj.[-oBPZ.mJcPQli$*Wm-F',n*fc8n*ff9naQ&l6o^hYCn*ff@q=j@BlL!s'nGN=`na#f@q"FIUnEK)tkiq@!p%nFSnF,l8mHNs&kiqU& -l1400q>UEnq"++Hlg43;qY1!Q/FW?1q"4+InEoK+nFZMJnF,Z*lg*j#mHj*%mdT]6q#CBln*0*( -o(i(NoDAOZ%J0,]q"aINo'bu5nalVVrttb1n*0QBqtp'Uo(`(YqtBFBnFQ,8lg=HFs*!klkjIp1 -p&"=ImI^/ElL"!/p@.A6o^hVAnFH5Ep?1i6p$qJ:m-sE1o(2MNs6]%7o(VV?nEB60qY^9gq=3qA -mdKZ9naGr7m-sT5jQZ:3p$q\Qs8Vrip$_26oDejgn)s$+n+lhUnaZJOnETB1p%@nLpAP#2p@.J6 -lKI[/nE9*/naGo3lKn$4pA=[Ul07Nulfma&lg!m.rV#dOpA=a^qY^*Tlgk#SoBYc6q"OR]nauA6 -iofe&rV6$VoCD82n+62En*0**oBc&CoC);@q"F4Em-jH5qYC*ir:0%6nFZSPo($borV?$NmIKo? -o]ko8o'u/6l1ac9lKIU.rr)`jo^:r+l0[p+m-aB8oB>6!p&+LQme62>p%\=Uqt0=Am-srQp[@YD -p\=RZp\FRUoC__Gn+cGAna#?,s8W&dkMP%Mk4JHCmcj*.o'#9#nGE7c+o1`nkNhX7s7tmGq>^Eb -lfdg3q!RG8md'E3nbE%Xo^MGKs&AFNoD&+Zs826PpA".FnFGr9kNr'Fs7G[Np@n:Qp%S:KnbDkM -o_eabp\":Om-j`GoC)AElfd[.qYpB_m-3cunbiF^o^qnOnaGu@q"=1Jq>L6irs%oXnG3+^o`"I^ -n3HU9mH*m;s8Vlbo^hSFqY9XSs8V]Rip?7(l0[p,o(VnLnac,6lL"'1p\t0ls8Dchp[n4LlgXT> -nF5uEs8Vfln4`<9mJ-PImeQYNn*TW8o^qVDq#1-cp\47Kna>i7o_@n=lhUS\q"4=Sp\Xsdo^)2A -n`oE2rVuQ\o)&Iep@J:^q=F(@lKe$@s7c0brs&JklgF03rr2pBq!d_>nabu.lLX`?m-X-/p\Oa\ -o^r.Yp\"+DlfmBmr;Zfqrr4,6m-!^)q"Og`na>i9p%S+KmdTZ4o(`.Sn+6,:m-sfHrqnYMp@7Y6 -l1+KIs7GUHp@I\:nFl>mca!)qYU;Brr;lcp$^Vr -n,<:dr:94Lq>9pWme6YLo(W(Vmc`p"mH`s"o_eahrU&h8r;Zfgm-='0mcrosm-sE1o_.hFl1G#I -kj\QNs7>LJs8VWTnb)PNs8W)uq^Klp@RtMl07sAn`AfukO&$>naH)J -rr33$o'c#'q"*_/lLjuI -nalYXs7Z$Tp%@nJqZ$KfpZgr4p$V&,lL+BAnEB?:m-3s9s8W)poD\bWp?Ur,n*oc0l0e!*oCVS> -lKn'7nFQJRrqZ*Kp%Ie2jno)XpupYtlg!m)n+m"YmHEg$oBYlAr;ZW\o'P],mHs?4rq.3#n*B6( -oCr"On*TW9n*ouDo^2&:oCh\Cq>UBn'`.Fko)/O[mJHnUmI0W:pAb$VnGN:c-1UX-s7ts;hrF(r -q"jscmHa96p%7\>p$V,4nac/9kNh[,m-jiNs#9lQp$M5Arqcp%nIYs8V]TnF,Z*m.p\] -n`oN8rr)T`p%.qWr9rY%kkG,Sn*TT4pAY'k)>X%#p@.\Qs7c$PoCqb?nG;nEnbiFep\+U^rt=tm -n*orAq"smVki_6ulg*s#pAY(\r:9+>o'YZ+qZ$Hdq>UEmq>1*jq=!\5jR<*Js8;HTn+ZbXs8VTQ -lLFoOnEK91p@%51o(2>9n+ZVHp%@b?p%IqJo(`1`#l3N?kOeT@o_8@b')q_$oBb]0p\FOSnFcGJ -mH*L$rqQNn3V;LtnFZ#2nb;kOnale\r9ikBsWq>'OKp&G'ko(;P@lf@=*rr4VEq=O4Lo_\Xf@eTBYkNM@/s8Vc\o'Y`/r;5sNq>^?bp[783p\=4C -mc=6Es7lB]lKeBHnaZPUnEfc@q"=1Io()8;o(VkHkj%s>nF-2Lo'>`.j5ob*s7c3`s8Vr_mdp5L -p\+=Ro'P`3rr4GAo_%nInb<"XnFH8Cm-jT:lMp_To^:r/o_nXXmdg8NmdTlDp[[b?nc&OkqsL%s8V`Wo)A[bjk]%go_8@b$N9ASjnSiPp%S(Lrr3?!kiD++rUTCEoCr7a -&bbYWl0IU"n+un\s6AG$lg=TJrt,#!oDJ:DhW*qgmIg#:oChtYs)n&$kjA6Hs7PR:nG2tZoCr%S -p[dhp\FLQp\t0qp[.86 -o_ndnp$1i3p\4[e.e2HVme$DFm-a6'n,*.bq!$f+rr;f^l1b5Xrpf:>mI0Q3lfmZrjlu@7rVm2r -mHa33o^M;9o)AY%oBlSXqsWt@n`fK4q"XOTpZh>Grrr,_k3_p:rp35Jrql6Wrr29Finihgp[@G8 -p](9bli7"[nacDGmed"ZnaZ;CkktJ\p%J%Fn+Qe[mbm$flLarOnDrm3s8VrZl14QCq!789pAY'o -oBYoCrVmK"iU-I=q=O@Tp\jmQjm2^Kmo'u)0m,mX' -nbE"NnaZ2?rUL?oqY'FKpAY*lp$MMQrrMZ`rr4J=k2bdup\"%Jqtp-fs7GmSo^V>Hs8;`ns6o.G -s823GmIKf=o'#6'nFlk]*W>[*r;??]p\47JnbN4bme$PWo'+i`o`+sanFubXs$$)An*fQ,q>U$N -kj\66p%\.Gn,!(arVZQenbE.aq!mV3lL43-r;ZBXqZ$?[o(i.PlK[m9o(E"Wk2bt"o(rA!qXX%A -pAb0ilg"9FqXa:Tp$qkWruLe,qXsO]rqQ9as8M`_p%@hDrVuoomd9T>p[[eIrr3T"p](0^mI'T6 -p](9mp%J(Pp\k+"nDX*9p[ReKrr;N]rr69kk3Mg>q"jdXlfI6jmIU2Kq#C?hpAaaVqu6Qo -s6f.:q>^KhnFQ8Hna6)KqYg'Ulfm^)p\=Ubs82EXlf@[4qXa%;o(r4MjQ#Rrp\X@Lqtp*TmI']< -q#14(rqH$OlKdm-n+,o=s8Vunrr2pLrU8_0qu?6Qo(VbKqXO"Dq=Nt -oD]upaIe<>I!'X]H@C?lI!^0bH$t'cG'.qNGBe=TF`hkPGl;afG'J:YHMr3jH3&;8rHS-5F`VX$FoQP/F*2\N -F`_bLGBS+NFEMePH$XjbGBS+ODJjB4EcZ>FF`qnOGQ)geG5HImG^":PFa/1SEcZ;DFERS,"*A[0 -H2`*qH$Xa]H@(!`G5cdeH7F;hI!Bp_H$=IXH[L0eI"$NlH?t!hIX69dIY!'#Isl]kH[pToI!^3f -IK"F-G^=^aI=$?iI!U*dIXHEaFa/=cJpDZhI/SKnIfFiqHiJD*H[L3hI=-EkI=$9bG]n7UH[U?j -I=?ZkI"$TqI=-ElKo1\:H@(*gH\%6DP)"UFNK9!TLOsl#IXZZlIt`c8K7JN+KnFr/K7&#rI"%'6 -R&$^\V43R$JUDm!N/imJItETBQ]mMeLa@e.J:`T9Nf&XJKnP8DR%'P2OGo0[N/sC)XeqSONK'*f -P`:Zdre`dmKnYDFNf]BbO-?$,Y.hohZ)O7PNJigVMi*[gUo:8bOGAUMOHGWdR]Ep1Y+:W9Oc5*V -S=#M(R[oiFO*?_NNeW@OOH,9ZO-,QfK85DELkLA3Ll%.XS>*$hSNLcf>Tp_7:Tq.L4Q(=YC -T8o#"S",h,MNNgQMNXX>`5p#9_muqGSt)==Q&q#cOHYcdP+A;9P)l&tQ_(%OVl5rCOdVuN\>u9p -Tr"fo['mWUXJ(r>Kn5,:M2mLLOeJS=PEqT)Su&QiU6::bLl7+NS$']Ze&](qR[BJ:W2,lUX0\t& -R$XDDWhGrTT3dqPOcP`lPEM0"Z+RZ_`Or1FWN<,$Y+q/?P`goYLl$tVQ^k"ZXeD/UTqJ$KStMmP -V5BrQQ(+J8QC!r#M2RR[MMdR^OH>^!U84?CLkC>5NgZE)Pa.W&P)kZfPAlVBNg6''UTC]%R?sD= -WMQ/OMM-S:Ng#WfT<>W+SWSnlOd_u;T;/^,Um7"-RZrhnNK'-hR$3]!P)kTaPa7i6TW,-!ZF-s: -VOE^8U8FokY.)-SWhH&WSlsQ'%)dMi!FYSsPY+P`1HXPEhK& -R9c/CP*qMuR\$@QR?F#6UnFE]Z`gO5X.trA;uY> -X0AFcOHZ?+OG]0jTUV47UT:MqV5BrSP)kfpStW-XUoLA\Mi*t!Y-P1/Z+[EEXgc!RX.kiKUS4!3 -M2ICYOc56]PE(fiP)t`hR@KD'QCFMcgPFeMHUQq+) -M#N9LMia-fQBmc!P*;9#Q]d2ZKSG#,JV8T"H%:F"JV0&NSZ&Q[R[T_CWL]*@VPBf]XKJeVOcu'&VlQbhStrEs\\?)#YF^u8M1p\I -Tqn6V[_]_h]Z/7Ga25p@_mQYMYct7-TUV@9QBdf'Q'7JlR\cs]V4Ea+NfJRHQE@a1]"c+u\Zr<@ -XJ22QR$F>K]!J<&OH5QkQ_pLAOHPj"QAL*GPFIu*PF7o)OHuT>VQR/&VlQhnUSG*/`QQ9,P`(Ni -U8+Zm^W"4.\[AH0Q(+GCVl6SoS=#FrO.<&DVQ[+mO,]?iOHQ!&Ssbn3W2c\`R@g+?Xi(1`J'cE] -cGHf\Vl?D]T;.sFTWP`=`3RJ0^TXE/Z`TmkXLuEjcEXFIVld5&RZiSaO-,kRB=$,X/MekXgc9q`O2_?Q&LckRZsS=S=FD^ -PEqc9U7%11SXPb0SYDaFR%'_T^V-V1N/`j[Q(=eV]#)G-\>uR'SYNF"[CE]P]=b>:OcuE@^:Bu* -VQ?\r]>(eIV6$u1[^EB:Zc^M(]ZSO5[Aops^s^?4WN3\HXI>HFS=,\5WN`_5rj$gKSX>h6TVJ6O -Q^=/2S"6CVXK/G/]u@goWMlhlR?Eo8ZDj7dZG+/qdaQCKXK&A"UnNXKK+S^9*f^N09QrR\$@Y]>i.0[B6I,Tq@sOWPZrpX/)>PUU7kW`[JX2VQ-M[ -Od2<#Pa[i"S>3-q\?DTiN00[0Z`Bn$\&65%XfA@sTU:f>MK=W6PF%PrR%:+Y[BHJiaihcA]"H,6_mZM:S=Fu&YI1^6=`k]R2]"#;_[%WYGS#!X;b.=^Y]YqgiP)fO)9U1j2S"HX_Vj`mBY.;?R#[8mS>DpMX1uE]]Yh_'[BHI/WLolcZa$R,TV.mANJidVQBm#^R]j'%Z`Kdi -X1?$RXK&G(UoC`-Y->LN[]Z^-U7I^M]>VLn]>iC\i6T'?SW8f%W40[V]X=]5XL>a@XKSe&S=upQ -TVJX$]Xl%lYd(^N`4`1R]="ZE[AosaThbI=C\]XY8O[_0AXZbOVuXeV\lVkBHIUo^_pSX>_1SYW9fV5:E,^<+m<]"c/"a25'[Wj]pb -ZDk"6]!869Xf8CsU7uA!YIhj#e_]-/_n31NZ*q-IWiEJCa1/"?U8tc?_9CKZ`3Q23W26`2]YD4k -Y,S4mWN`hA]Xbf&eBue&k2YFP^T+9B\Z)@&X/DnuV4slmY,8)&^W+OCaMu9Bcd0M7VlHbqX/W5, -Z5^0gf@A[=kh=;0ir.]af@/I;q#BO8jR2U.n+?VZ!<)os!;1pCJcC<$JcFF'J,~> -oD]uu`//89=&2Xn$bB6<`N.#='/O);c?Xp)r`fD)%p)e3<)cdq<)lt$=^#!0$+i)=8l>A>?Y98=&rC)=^#!5>$>'2=&r=#;H$Oq<``@'r`B/%qc3r%<)cdn;,^El;#a<*;,gRs -<)Zar<``=%$+s2=oMS*<`f3!+BDQD<)m%'<`;ssE*s'.$X?!CB4=]e^*=B\p4>$G9<>?P*6?$YKB??Y04 ->$Lu/(g:-K?!^cA??q/5"C,;@?=*V:&mS^K?XI2K?XI5L?X@#D?=%&L -ra[`mA7T"TA7]:\@:<\]DJWlj?t3e]D0pqcGB%tXI!9^SCLgseAn>OeDfTi5BP;-rC&V^o?t*ka -C3b,YOHl,qMLBDS@:EqiFE;)/CNOrSIsH'TE,B?+Df^)@Des-#CNY5aLkC/&I!g3bK92@XJU2E[ -H%(-`FF%tHEc#T.EHQ8BEH6,GL681;^pg53N-]_mH@1'dJr>hYP`1'5FEr7]I=@$AV5]o>H[UBh -G^G0qs*8p?JphZ^F*MtQDK'lJH[0j^I!U-UE-6>EDJEp)EHZhfNL->sJUW6$EboZ.E-[(pOckrd -Kn+GkF)Z&=G'.nMH?X7JIt`N'JVoMGL4b,-H@Ud;R#cfCG^Ot*S=#=qOGeU1Ecu_RGC+t3Tq[j1 -K7SN)J;&o3EcO?kIXQZlH@(3sLPgnHD%11QAgE>E,'B2Ed)YIJ!$"RKS>/:N0B`tNI,JSBPM=,M5%c3d)3#QMMR4[VkK3: -T;J6ELkL\OQAp]\NeDh'G(#$tKo(tj[BmE\\YP^dT:MI?O*u1uH#[\>F**D#Odr2;O,&[RNJr^O -N/rgUOG\X@MNj*[I>`r4EcH;MF`r7cI=-R'N/WF8DJEp'H%^s)IXcs#I!L*iJUVifI=m95Q^X=r -K85PSP`1mF`qtVKp\?kNglT'PD"[OQDV4/a17q'IWfjYH$Y.' -Mh6.pCib&\N/`g+O-bufLOjbqI"RTWY,eG$['6BnMM$A(G_^ltG^4^fJq&,lH?aX\J;&GuI!]sU -FanspKS4r+IYN<%L5M(TKRS]?Q'Rf3Xf\S!T9=eHCN4*)EHZV`R>ZZMN/`RGN/3:)M2I(>H$+Re -MNEjdSsGk;V4sKSSqW#_TrbDoTUr6fYH"7_S#)aMUS=*/G][qJGC"t3W2ZABG]S(cP`1-n: -O,][&PD+O>H%(X1LPh:iXh)'HU7IdFR%LRfVkg8^Mh$D5Jq8N)Ko1kRQAg6BJ:i>rH&\T&S:uB> -H[C0kN1H`3MM6kLMLp5.NfoK]NgZQ7S=>h$J9lQqMistH@19sH[UI$Mi3:@Q'[SbM4^uURYZHDL4b,6Q_UIJMh-D0LOXu< -Q^aD"KR.c_F`VYKH@:3cLRu`G`MNsQfK9MajQCXbF -VQQSKLQ.C_X.u;_Tp:IfMj0p8WMQAaTq\?YTU(OhLO4,dI!p?jJVJu4I".3JUnF9ELjF/eIeWgK'9S=uL=O,8RJPELZIH%hKTQ\pNRN0^$)QAUTdV7F=Yah=I+ -I;M1L_TS!]FsHZO@TG(Q9cYHYCD -\?;[$U8+3?O,JaRS>MmALOXf.MiXEpL&ZU&Jr>;,DfgVgLkC55LOjl,P+8)AX.l5ZS -L68(.[_KS[Q\LWqYdV9`^9tAY]Y&a)[^*!5TqA$JOH#0;Ee'%+L4F]&G]n1MEdXfeXl -O+;FpFaSjoGBA4]IZ'enS=m's\[/H)KRnl0GB\XiU:RqAZE'O`USO6BTUq-sLl$k9H?XUZH[gg4 -QB[MqTqdp;R@0(fL51JAS#NTfStiKlSs#%dKS+jUJH(&tH>/,'W2,uQQ("AF]#(tTS"2WNWLuMh$JC -V7F(.Pb+P8R&@'`PanVMWMZGaRB"*>CU:Fdb.P'YS"-n)\Y>=WXKnO[Ll7+DK8uJ!WM?2aV4EX& -L4tJEO,]*ZP*:ogR@g.GU8kZ8\Z;?oSX,+cM4:<2NL?fT]"cG4_m#l-TUD(*K7B,odbEL4gsO-I -Q%F[JOdiAa^pU)4T5qHS[]?F*WOKgYVilRXItilCPFJDS]uIL`V4jKGP*DQ8]>LnHRZr_sVQ[J? -\$)??DL4b)6K7JlBQ`$^PNIQ/"N1-Z=S>!$n\?hs'SR\ZsZQ&13J -J9GgJH%hf_Tgt]NYd^sEX/;SdV4Nj3R&@7#\?W&fIX$4(X0/8!UnF6@Kn4o0Ngu`-MLKi-MiF!s -XKSh&WjK+,O+rRWQ'n21MhmIeU9+@#3k)oGbfdu=^rk-BYb@DGP+&,CURd[;TV\H`Xeh&)H\dl` -Tph@3M2[[dS=5M#Uq4LMU7.g\XIP6"rdTBGH['gbJ:NH?U8tT6[&BXeR[g+RY,S;#YbR55RAHLD -TVnWHMiO!`NffQbRBjcM]u&%:];V-`QAg6>IuKtpU8k`0TU:t&OdMMpKS>MYT9bJ-S!ohEYHOn. -Y+_)APE:g-^V..k]XG/T\?;+$R\6IK[(EiMTU(IaIY!KEP`_ZK]",Dh`P&LQR[ot3Q)(R_U7.F9P_aX,Fa&LpLQSL9 -WiW%`Pb5(aVk0KSTU_^YY,eS.[B?@$S!]D!R&dHrZ$s=(ce6pj[&TFJMNaX5]">_bUn"3\YFhMb -TpC[uR?Er*UTq&,\Zi*8Z*q?STqA?\S"cgOQ%Y6rZa$I-Y.VBMTUD:DV5go1Y-c0i]rId!VQ6Sb -R@p@QV5LGqTqABiXL5mVV5CK%WLo&tMNs^+Tph1,OHPNZQDUdkZr+65V4aWcYcY.:['R9OX-JWUK8c%ZSY;a$ -TVJZuYc4IlR?Er4W2#cBN/s-dPGPCTT;f#pYID-SXe_YeY+qhsWKrdFZF\<5eC)UY\ZD0WKS>AL -RZNMtT9Y:kQ'@Z8^s:3D_83^o`59!jYct-uQB[JfM3t6@TUD@IXf\IoV6-o$WO9=BURIU?Q(+SF -@@2t1Q*\uOcH3r9]=G\l[%s:f -Un=9LTr>#r_:[DulgEc_g?8Fff\G -oD]3so^;,2lg+'5nFQ,JmJueVoF:B[m-F!(mI0K2mHs?0rpTjS"RkjMo()bNs763Zs7$opn*]W4 -n*olf3mdC&BqX+aYlg!j+nF#Z/m-jHCnI5![o^qhInEoT/ -lg!g8mK2eEn,)T%mdKZ5mHsB3nF#`5nF>u8mdKZ7n*]Z6naQ&:n*]T1naPu6m-X60rTj[SmdTc4 -rp:-\mI9];n*B<-o(D_FrU0^Q"7,=>li-8Nm/lYBn,2a(md9N5naZ,;nFH/?md9K4mI9]> -mIBl@md'3(n*KN?s8M]\md]o=o(DYDmd9H/m-aK>q=aFNnaPu6lL4')mcWa&p%eRcrr)Q[naGf2 -nb)YKl0.@!o(DSCo();Rru:[tl0@U'q"XFLoCDMGoCDPK -qWmMo(2A9 -k3Va6o'Q#Es8W&np@7J9oDARcn`oN4nauSNnacMMo',K0p%@qNq#:L*Xm-H1ko_A(Gm.UJYoBGT5q=O7Mp[[e>mHsE9 -o^;#1o(;JCo_SO^oBkl0m/HAsmd]f5lLF]Hp$q_Jo(2YQo^;8DnEoT.o_S"EnFH8Jrr2ldrpG(# -nauGLo'Pf,i9L7?r9NM-kjA$:r;6'Omdfl8lK@C$qu-?^lg4'.qZ$NdoD8CYlfR?tqYp6\o^V8= -nF?;Qr:KCIqu?Hfs8;9Po_JFbs7l*Op%\1Jnac#1jmW0Js7YpSp@e7Vq"3tDp&+^^p\t3jp@S(N -oG79&rUo[PoBbf4mI^5Ln`oE*m-s`Dq#0jnnaGu?q"O@LpA"@Yrr4D8lg=?@q=jgaq==%Dmcig" -q#C6^mdKZ6pA4LPnbiFalJUmrnFH>FrUCiro(`"Lm-jT@r;ZB_q"41Ss8V]ZmI9uOqXjR^s![[2 -m-O0,o(r4Qm.9f=nF?/Ep[mtGo_%nLo_.tKmd'6.oC_YBnbE%]pc\ZSq=j[Zp@S1Tna,iEs8Vrh -p\t3koBu;Hp[[\7kj7^2p@.PGrVQ?Yo(_kNrVuosp$V5:p%@_^Klqu?]lnE]N6q"aj]na5`4o(2A=n+#r9nFH&7o(MeFlg=65o(2MIqYBXBlgXH@s7u3V -o^;#3p\sjUoCi"Sq>C$Ul0.0bl1si3kO\KBoCqYAoC_kOo^D,4p%\4Ys7uHb,Q7E,pA!t=oD\di -qXo`+sboD&7Skih@!mdp/Io^D>Bo'GZ4qu-9\qu?]jlK[g,nF,f>rr7Ei1med%arVH9gs82?Pl0Id.nEfN4o^hhOoBb]) -lgOE>s8Vuflfn9Co&]68s8VfXj6?""n+$2Nr:9(9nFlMAnb;\OqXa7Hmdfr(l14WG -q#'pUme-DOp@RnLnEfT6na>`+l2L#go)8Udq>'m]nF6,HqY0LDmJ-_Vp?qJNs7bjCrotg#qY^3[ -mHjB:p%.bKoC;GClJppkrVuopoC2/;q#C=n*]]: -p\+LTp[[Y:nF,W3qu?BUl0n3,lLaoFnFZVXrq>dHn+,o7qu6URr;$BeoC`"VnacMMmcN^)r;#pQ -s8Vu`jQZUBo&T!#n+?PMo^_VNs8)9Vmd9Z>n*]c;p\"1Xqucutq>UBn"7Y=;q>L=SoBG]9qYKpV -md9cBp\"%@lLOQ@q"3q9lL=E9o(;PCoCi(To'Z)Hs8VoakMtaoqZ$Tlq>9sSme62Mm:>SIk3_^) -meH\Nm-O]2pA"[alKS$9nF$#Fp>kT7s8;HQmI0uQs7#UY -ru(Y(m-FTLs7YjEp&"IOn,)tQm-sfMrU]LQrr38tn*]K+m-jH6rpL*ds8VugnalYWrt"u!p[n%E -meZt`pu(E*n+Qb\s7$m#s8W)ol/1_"s8Vi^pAb0lmbZa^oDS[g$Ma)TlL=`Or;#sVrr6*pl/V%' -s8Dlin*ToMs6]1BoC;/2mITl=oAn`kme?YWrVuono'lGIlK%-olgXW;mIg)?p%nFSlKIU.rVuWU -k3hs1-ejPfV.s8M`dq>L?gki2")q"":]rqZ6Vlga]Fq!dVAr:9CQ -s8W#nqtpElp%%qSp[.>=qu6nF>o:qu6BaqYTsTo)&:Tm-O97 -oCV_Mqu$Els8O8Ao^hbLq#(0lp#tK(qZ$Ehr;?6UlgaQAo'lDKo_SUXnc&P:qRs8;E_q=*nNrV6?cp@\%NqtTUIp](9e -lKIL#nF,imJd,:rp/A.pA+R]qt]sWp\b!alK.7&qY'CFo_\[] -oBu&6n+6;Io(;eUp@J1Xqu$I&o]GK8s8Vlcp\F[UnGWAnGE7[l/hO: -rUT@@l0J!>qYL*_mH3^(oC)AMqu6UHqtBOGmI9Z -oD^&tbFj`DIWp'dH@CX9"*f*: -HN&6tH?jd\GBe@YI")'E!e,NErdFcps*Xins*FWh#^UiEI!pBeGBj+4rHeKj$[dANI!pKoIXQTk -IJ\I.I=-6_G^4U^I!g9fH?jd\GBe7RGBs(3s*=Whs*4ruH?jaZG'.qOGBWn,$ZgH8G^"@VH$FRX -G5cUhG'SC[G]n4Orc83^EcQ5CrH/-aGPud_G7/Y=Fa&+VGBItKFERS+"Eeg/GC'78$@7)HH@($e -H$FX]qg0]9H@'p^G^=^bH[C-gIXHKhI!pEjH[L6jI=6KjH[:!eI=$9cH@(&6VM27+SUoCAiR?!2aO-5m)UR[R0N/Na_P`CW\Ll$tDKS>8CLQ.@WNf]Ko -Vn0gXXehVRNJ`UQN@^-WUU%/*TTb:kNK96dP*r8T\>YjWP`q#[M3jHgOHuB'PECrhP)G!HMi`tu -N@]T9G:qOID]7W1]<7R%p:@P)tcfP*;9$ -PE1bFNfB@"XfeLiR\$CMStW'_WhuG[R?Ni'St;1)LlD=oH]jAPR@0SAXKJCkQB[c+SXGb/R@KY1 -R\R$aY-=XiSXZ19OH5NgP`qW.Tr"EIOcu9.U7IO5S"l^GOd;`?V4X-AR$jG4QBIAgLP_:n[Cj>o -aMb]pUn*g9OcPK^Od)3"S=uUBOcu&pQ_:1MTUq[;PaS,DY+hS\So:C*[Cj8`Z)*hJL4k2N0U0Jb0A#%eM2[^j -SXQ1P\uhKbQCF;/R?3DgOH>NeR@01qNg#crS<0,3Vm!VD\ttp_S#Wp-\@KAj]<7p"S"#_6Vl65X -T9tk,Q'n,1QB7/fN_kXjMN!UVMi*LWQ^jG/R%L(CS=ls_U7[pAOcGZkPEVN;ZaHR!Su8WaQ&:KX -MM[1KP*V6"US=ZkYc""QPb4eX`5os1X.>E9P*M&hQCa[hQ]I&YLl[deS"HFOTUhU@PDtZkUp%/- -VQ7,=\?Da!Q&gliP)Y?YOcu#lO,f<^M2@:YQ'e)/NeiOMN/WaVP*VQ.R$sV8T;8!CR\$.EVmO4H -Yc=UmPDtQWJUrW9OJ0(`TphOBP`_5lPa\28S!B2$-C13oR@^1BS"HOSU9(PmTr+ilWM6&Z[D9o& -ZCmVVSt`3aU6:=erf)DfS?TcDYapr;Oe8PBPDkE`R[B;%T<,K2]tq=aVk0Z^S!9A5XK8@qWjoRB -X0B%D`R*)Y]X"H-SY)RKSXQ4QXe_S^V5U>eTr>9+ZDO=oWh>Q9P)bWkR?EYuY.Vlu]WS01VP0or -[]64*Y+_,DPE_;sOHGfrTr4QJM2RGpPAlng]"G#0Pa.GnNf9='ZEL$nS=>e)NffQkQB7`@Z)XUp -V4*^3Mi3ahVQd5.\$2KkR]`ZjZb!cY\$`EC\@oDSUR%=&P,+qEP*W&PYG7GGQCOHbSYNEu[&01RQ^a>'Pae2;W1T?;O-,QaMi]th+WTV/6f -[C3<;T:)12M2R@OLl.7WPE1]cSZ/FaU1g!VMN*a]Oc>?gY.q]d[^3]YTT4qiO-?*4XfS:iSXl@A -Q^+&,Q^aG-NK'=)['-6mQBe#:VkTQFTrYi@`ll6%S<]%mMi*guY,n_7^9t#BZFIc^Za[NQY,ne1 -Z)jaiOcPThT;nn4TU(_*SYMmMS!/_bMiaS>2^CQ("50Q(=kW[(X2]VOa'=Od;uZ_T0BhP)PEhT:Vj_\%&iMYHb.'S=#S0TrP?# -Q^3hrOdDK%SuAW\OcPZjOdDZ5SVOa:]rn9)S=l^OQB$ZPN/`UIN0'BlRAHm`[(a;k`Pfm5kR$mPaeSFRZs55TUCq-S=cLITV8^) -\>54DM2@+NQCb+c`QcTC[]Q@"Xgl-W\[J]IY+V,EQCt1a[\T:aW2HZ$['#jiWO0+[Bd*>Tp_47S=cIEQ]R5oS>EEoX/)MeYIM0NXJ_na -QBIQ0Yd1?sV6@5;aNDAqSYN3_W2?#LVSCX8f\"m&ahFa>Ng69;Zb!_fZE:10ZbO;f\?r`baMG3S -N/XeVGUQ'ntr\uhcsQ("PT^rXC%X08V!S!oY)O-,?ZR\?OZY,IqTMN!mr -ZE'e!ZFml^YH"FmS!8keNJiXOO->cjPFeeZY,7\QR$j1rKS3]lR&?pZT;/QqZ*LU7VlHo"U7eHi -\$r`LYah/JR&RX(UoC8iVOj$8QB@]H^;n=: -c-+;N]sY;`b/UriS<]@SRA$UYU7\6aZa-sHY+(H8T;fB0Y,.SQS#<^*ZDOS0`5od%XL#LFU6LV! -QC!i!PEh/hPFSPT['d]XVkBc_YI1R7Vl6i(Um%=LZ*(%+WM>cJV66u!TqS3^]u\%!\AZD(\?`65 -S!9.aQ(bFhYHtmFVl[,%Wj/e)SD\3GJUl#Z*gs@ZG+>qY+qGQR?WktPE_K#O.ES`YI1g=T:i9nWhZ;eVk^/q\[Ao[^ppYO -YcFOhT;]'&[(XT4hVH]']V^pXSZ0'3]t:YNVm3kKZ)t%+VkTu`SY;dU\\>_l`3-/L]"#,IVlcbe -Xfn:UPFo(m]i)>M^raF!W2?]&Z`U=.WOU1#ah=gMUoUSsW3E\;YcOjuR%((`^s:NT\?N9>VPT]E -SuT0.[A]X_QC4>@Y-b^L\AQ(hWi3),[D'T!`PK0dSGnX7QDLt"\#ud9[]Z*\OI;c7S"HdfYbdnf -\@oYn]!&*0TUM:AWhZSuXfJP*XJMM\TUqsVS=,_-OcYZaN0'-KO,]9mWjB+>\&m@Zc+UKn]Xb,; -R[BtT[^`l\]tChWW2HYnSWfA1R[p^s^Vdn.`3cG:RZWSmQ(P=i]#`%2]=c,+bK.`A]XIc)f[]Z9kS>!6rZ)=1_R$=):W1K3:R%:.UYHG%9_Tp$/YG[tZQu&FnWi;hhU7e'T[(3HB -YdLsJ^W"+#Z*LmR\$s&XVQ.;@]ZJXLccWr/Yc!qOO-Q9.SXlONTV%mRUSkN>c,dZ@aM,:)`4Wdi -YcFUuWMQ/XWjK18UnX]dXJr+uZF.$C]"G8CT:hjNX1,QHWgoQUX1QO(e&JYdZ*q3P[^WZKXg,IN -\#Q-oVl$,TS#* -oD^''ac("A=&)Li;HmI9@UWYN>$P32;c6Ll<*!"!<)cjt<`N0!?kE=>[1Q?>[(B8?!LT;r`K8*=Sc+u<6eD=?!LT;=]kZ+ -"'A]/>5h_4>$5!1='&F)>$V&4!aJo4r`fA,s'#G*s&f5$#Zt54>$G-1?tQ> -=]ea-=B\p4?$G51=ohi1r`T>)=8Go(;c6Rr=&i0r;H$Qn<=r21='8[.=&rC' -[1Q@?X6oA?!^iC>[:ZC?=$oC>[(E>??kJ4=p/&7?=-k7 ->7=\>?=78N>[1WGAnPNM?iFC-?ijV??i4:4?XWkAs'ITh?t*\YA7T:b?t*YYAS#C_@VBRnAn,=_ -D/F?GNJrO?I=HZiG'7nCD/O3*BPD='EH#f5rblmpB52'lD/+'AMNjR!R$*>SDeEQkD/sfBD/=07 -I"-TiH$4:KDJjE7G][qFChms8OIDW'M10bsI!gO&MLp+rEcQ>OI!0LODJsH1BkhO+D/XH7EHZhh -S[6,@Vjrj#H?FL]IXd3;U7Ra2J9uWjH@16nG);QZV3HX[I"$9[Fb5$cGC+jhGBJ"NG]IS;G(+md -H?jj`HZ=.MFDko,B5_^/H%1R0Q]?fOIX?3ZF),T6IZ9\]R#m2XHZa:HDfp8LI!^-]EI!+hJUW0. -NerC?J:2`nKo_=SIs,s\Jl:E,g&C -Edj%9MhHnKR%C(ERZDf2B4YXdE.F1X`lZ-$Rui_oT<52gSti'MNJ)n@Q'm_oNJrF:F`r7jMMa'F -RB!Tu[Cil>Q^4&+QB?rIFEr.QE,p#DMia:"Vjrd"M2$hCNJr^JNKK6VJ:E@RO;a1>KmnE"IWos_ -J:)j#J;/i1G&(`*E-H_\JGjmEH$+:VI!KmWG^Y!mMiNgIIXd*2Mi*C@G]RtNH$=@ZM3*O@F`hkO -K)U[=PG,.QO+;e7IXHWnI=$BjI!pX"H['mfK8>MEP*_N(Sti!ANfTR.\\5M[[^`T;Q&^`YKoMFf -PED,kMLpA-I!^0aI"-WoGBA"RGBe=YJ;B/?L5(\JLkgkSPE(QYLP:>9LiA-'NLHT;P)G9_Q&C$2 -F`qnLEclYWJrYtPNg5okM1UVOSuK?<_6]enIsZNlH@:O+N.H4pDK9uNJqo8DP)YBXM1L))MO:9C -W1fraY,%JEKRA)iJ9uH\Fa/=`H[0sdHZs^^I -\?i93RZ)W8EG8rsEd<5$W0`0Y+_;HQ'mMZJV3r_&<*'Z -ZEURE^V\.?cc<;cR#h6*6]HqYNglW,Od2B+SW3PP`guYIt30+MMm.NU84BI -QBd)NH[LC$Q(4\DU8=QHMN!pdQCt:\Xg"t-Wj9+>VO<'gKR\2cF*2hZJUN!#LP:D7Jp_fgH$ajd -Knb;5J:EcIMh$SMU7[X)IYaQA^HOHZXFXI!L$hKS+\uIZ9kdR@-L0MgTSfG'SF\J<-P9Za?^-Y,@8,H$askNLHN4Q]mMo -P)tQSKRSE)L4Xl)NLm/HQ]?u\PF7i#L4thf]"uJ1\tFh-IK"eINhEDMVQmS2U7\6[Z)O\+\$iNB -X/`%kQ]6`LI!pm;RZN>[Mij9eO,/@/DK9iDLn:WFXKo:@Wgf-2P*;,nNJNRXTph!pI=-NtPFe.t -KnP2>LO=8nMis$PJqo29K8c=uYIV?NS<&;PIY!`\Xg+spLP(GJR$Eu1VPg8aDkj/(SX,CtO->lr -Q\'j>H@CR(KT;LnQ&19UNe`IRPDk3NNKTB]KS>;EPc;OCc-OYTaLA7IUn3d6R$*5VLmk9CVPh5K -[]#akYH!qNRAR'i[\fUZMiE^MH$4+DF*);:Fa&=eL6@mlVn'LT^14dWR>R<,\%ou&_mcq[]=bY\ -YcP%.V4<^&JU_NTG^Y*mJqAGqEH,r;G_;BQR$F)9Xfn:WJTc0\J;K&6K8>;7LQn'iS>3!ZW2>r: -K85/-G^tmS[^<9FY+M8]TTktGUQ>D(GC=g]FEDbQIYa8XQB7#lT:;49Q]HTEI=[ELVPp)VU8t>b -P)b6KJUW&rI!Km[Js;t'SsGb3Tru8U^T3ojLjF8kID:eVOWsVjisTUD.9U9:YtT:;7. -LP(DJU8=KBS>N?n_8EmRP*VT*Q^!>^R^USuh;7":dE0%sN.QhFR%UCYVP0`_ZG+,`['-jUaMP6N -K6_cqO-l<"RAmg:WMZVnU6gt)Q'e_bY+_8FMN*dkYIhKSUo:&QMM?_2I!p9cLPq.YSsbI`EHHbn -Un4'IVm*A*URmm9Mh6.lGB@hFGC"XcKoqt%U6pmmLk^M*DJjN=JsW(#TW5K8]!e`9R[KV0NJWdl -WNE1rSUl06I?CD+S"lXHR#HWGKRo,QTpq'oIY3E:R]3X&\$*$=WLAg)Pb";.O,&::KnbV\ZbaT# -bfS#J^q$tjahtBVPDY0WQ("&%N09^*U8Or`MLBr0Pc_'0U6pjmMNam8UmdmY^VI@YU8Y>sR#6HH -KS"MnFa8=^K8l=pWNT -_Sj*o[CX&TR=p!8GBJCcMNEm\ObnX]Y(2>Zbjbu[^ETU]sFK*WO0+?\\#,BR>llWO-lE+ -S>j$*\\cS7_mlqLW26,b[_fbVSNerRTS<]V>TUhXFT:;16I[H=eRu`J]JU;WcF)lGKH$Y('Su8ZiZGtYUd(luq[]lNk -MM@=aVPpW%[C!9>T9tk(KR/0+N0C0H\@fSp^oX&jLjsc%KTW4:\AuV&[C3ola2>^)Z_s@\QC4D- -T!>JtT9,82WM5Z=PaJAJUR71'M1^\MQ]6TJL5_Rps.j\3WjfjSXJ2/GMN*pmTq7^?R$3W&WN`=s -WNWS3\\Pk`WN352Y-,+2R@URh\Ace>bJq&qWLT!!I=mQEPEV;tO,T-bQCb4rbf[`>_7-ba]<\cA -Un3s@S!AqoR\m$WR[Tb@Tq.UAU8+HUY-FstR$]@gPFSDBPD"RNTX;SX`OVb-Uo^f*ZaROcG3IL6SC/Q';31FHM`MOH#I!YI;9k`ko[3]tV%SQCG"j^9OfEZa6X/[_92ZXfSP$XL,gf -daH7Q\ZqrsS><0ZQ'A&P_RHJ6PaJAY`QZcO[@ikMOG]6lT;ATbURmsFUoUi1Z`q$^d*L8"in`5/ -ZC@>^XeM8QR?<`&P*/(tUo^`'[_U)4bepusY.1p?S!]_:Q^X;1SY)dgaNrAmhq$$%jQ4q>cHOo' -l.O1h[_B]"aOB,3k2G4SgYM&dJcC<$JcC<$g])d~> -o)B3rnEoK-m-s`I&b5>Vlg*p(mdKW6nF,i6nF5oFmKr@Pnac;Co'u8>rUC3`n*fc8 -naZ2AoD\C]o`t-\o(;PEnF-AEq=,6fmdBH-lgF<2mdKW6nac8>nac5>n*p,BrUL*]nF,f7rUC?d -n*filFnfI>mo^h_HnaPr4 -mdTi>naQ&:n*]W4n+#r?o^2&6n,;bUn,;bUnH\[VnaQ&9mHsoD%.WoYnaPl3n*oi8nac\J(%1JU -lKRd(mHs?2o()JGp$qPAnF>rGmJZGTnF,f4rTjXRm-O0>n-\UKm-a?5o'u8>nc&+^na5Z0rp9XR -!U]CSmf)S_mdKT1m-aB5n*]Z6naHGE"Ru!QnaQAB#k7f4 -lL"EIs7l0Uo^qYBpA"=OnaZ)9mdTf?p%J(LnaQ&9o'l#7lKS!BoCr"DmI^)CmHNg' -rr4)2mI0Zo_JCarq#F=l0n61n+,u>qZ$TfkN;74p&FXfm-p\FRRn+?SYr;HTho^D/9o(DhRo^)#= -rqufrn*9K?rV#[GnF>o1lgFEp@.M8kO.s+naGr9p\k-lmd0B.mI0`Dr:KIDk2Pb) -s7GF5l1"NKqu?Tcm/H<;nF,W'lLk&Rp?qJAnbE.ar;69^mH!6cmed%_q=sOGo'c/Hs8V`WmeH_R -p\XXLn*p&MrqPsMmI^/EmdBQ/iT0Y1s*=5'o^h\LrVH'Hmdp/Ho^heQo^1r1nalMRrV#dSo^D;C -kOAmHsB4o(;D9kj.[*mI9Q4rpbC2r;ZfknF6&Cq>'XKl1"NGq"4.Kq#0sUlg404 -nET9)oC))3lL+-/na>oDs8Dlqs8Mf_lL"0=qt'@NqtopMlgOB5mdBT8p%IqFo_7tIlfIF+s8;Q^ -q#'pXmd9Q>q=sLHlK[d*nEfQ6p\+(Bm-*j6s8DNTmHNp$@HctFqZ$9Vnb)ADrVH-Slfm^(r;Zfo -p@\%Kp\j^Ol07?np&G$[l1"NEp%@hHq#1-fqtK@=n+#]4p$V8:p@@PDs8)0^IkNi$?o'lAOrtYG'o()e[o'#2tn+ZYPnF?5Lrr<#trp_N8qsa">l1+H;mH3NsoD8Fb -s8Dlho_%tPo^_VFp$M2ArquEZq>C$TjQ5q2s$?PUq"jaRkNV3tp\=1?kO86Hs8M]aq"!hCrr)6H -l1su=kNVO3q=aLKkiqO*n`B-2qY9g^s8VcZme$/@mHF$:rr3>sna>`3p\FIRp[.t[(\R4bo^;8> -md9N:q#:$_qtKUNqYKaLpAY)1$`nET9'mIKuEoCMbUs7uK`n*&lpkjJ0Dr:9.9 -kkY&Hm-j]Fp[mb7md]l@q>^Kklf@@)s8)E_p$D2Cqt'IQqtfsQm-a?3n*fcl;p@nOcp?_>@p&4pcnb3"_ -o]YZ5p$_;;p%SFb7J5d&kO@a$mI'cKpu^l5qY'=Ep@n(>iTK_(p\j^JkjeNJs75mRm-=!*lL+HG -p[@J=o'c,Eq=3e@r;60VmI'H9p@A4]s$HMYoD/Fdq=+%Vr:T@=o`+UEnc/XcnETNCs7tp@jl5Cg -qYBgRnb)PDmHX'0o^;,:mHs93rqlTms8D`gqY'FDo_e_ep[7PEr;?jWp[72C -lZ2k%s6f(9mdT`6mHa<1n+QbXo'"rnp%nU]q>B[IjlGh'q"4%Equ?]im-sZ?nac>Eo'l#5me$JX -qssLQm-siLp?VAJqt9IImHj-'lgF0+m.0rCmcs?;q=We1meHh^qXaXbqsNS3o^hbImHWm'rVca" -o&o90r:^-[+n"sun`oB1p\+I[o'l;DoC)/qtTdVrr3o/lLjZ:oD&(Pm-F*;s8W)glg40=s8W)jnEU#@!;?El''e`Dip6F?s7,RO -qXsUWm,mX.rr3#prr2p;r9)_inc/Rao^D28nETuPrqQ'Xs8W&jkMP7grr2q-mH*m9rUB@PrV?!Q -p%.V?oBkl8o_eLOlh18Pn+HVUq=O1Ckje<5lgsZ1l0e'2mHNm)pAajOkj\!ioBGT3oDejin`T30qu$<]lgk&TC-bpA47:gu\/+ -s7bsIoDJITlKRm7p@n=Oki:t$rr)HTm.0cGs8)0Np%e=Ys8V]Vm-sH7rVuZer:'4Ts8W&rrsJPj -m-O-1nb;bKnc&.[mhk`trpo=9m/6kVp\"+OrVlisqsj4MqXa=Xp)Eo/n`o<'mI'WBlgk#Op@.M9 -k2bdmlLX]2n,!%`!W;rrruM+,k3r0GnG3+`p@@_Aq>^Kmp%.qQlgXfOrqH0brr3#pqYpL'r:]dW -q=3V'kjeWJoD\aip\t2#nDrd$mcs33p[e+Ws8)Tks8Dfks8M`[jl,=gpA+Xaq"F^es8MZ]pA"CW -s8Vi[m.^P[rq5aMo^_A7o(hbknb)GBp[S7H!:g'g0DP/.lh1,Lp%Iq@nb)VHoD&=a -rVcZkqt]pRl0\!4q"s^KkiM7/rqH$Up\+1GoD\b:n`T<9rVu`akj7d,lKIg:nF-#Gq=sgds82`i -o(rC^naPr6nal>NmMGEcpA4dflepjus8Vi_k3MO/q"4%>nbE+`'__4tp[mn?n+-#=qu?Tcp%7_C -lM(8W"o.NMmdBlJrs&&VmIg8Orr2p@rV6!Tmcrg$s8W)llgXfOrqQ3^p\44Gn*oZ/mIg>Rp$D\C -s8E,so^MSRs*O_9mHX$,na?&Ks8W&ilM1>Xr:]aWr:KmdrqH$Zr:p*fs7PO?q"3qEr;?HckjA!8 -o^DALs7c9`o'c/Fr:97Cp](9gmecqPn+leQq=X:Fme6YUmI'Q>q=sLGk3D9tl0Ip5oC;_Wp$q_H -lKI^3qXH -q>9scr9`Y7r;Zfjnb)_OlgFcP#6+Mpo^MDHrr3H#m-siHnEB39s82'CpAY'pqt'(:p&4nhq!-o) -oCD58naH,HpA+COnFH;Hp[7PEr;63bs8W)sqPs82BTm.^AK -lg=KCo_SRco'>`rr3l/jP&u#s7bsBiTT^slKS$BrV6'XoCr%Tqu-Nprdk*#s+13$ -s5F!.~> -oD]3hd%Q>IIs?6dH$t/@HkgsQH$aj^F`__JFa&(TH$OXZGBe@VrH8BhH$O^_H[>[:rH\cqG^+LZ -H?spcI/\QnIKt:KH[U9gH$K=4q0Eg"GB\1OFE`%VH$Xd`I!pEhI!pBhH@,F7rI"frH[9s_rH\ou -G^+R^H?jd\GBeCZI/\QqI=2$@rd=`orHn6a$[Ho=G^4U]H$FX^IJnWpHjP7PJ:;opIXQZordXrr -!."Qgs*=Wjs*=Qfs*4]hGBeE3HN/9hHN/Gl;h/G^"@WH[C$^EH?8GGB\4RF*;eSI!g9eI!^0cH[C$_ -HMi-hH4>4KH[0m`I=?QjI!pHkrHeZqIt)oqq0NBqI!^0bH@($drd#N1I"$NgG^4OYH$k*pJUW'! -KSPA8JU`,sI=?YEJH16!JH:.Hr-f$%H[UBoJ:;fhH@12@J-LUYIXZctK)UBGJV/]5MM[.ELkLPJ -T:VC4PEV,eMN*XUN/NOHJUi?*KnoY`8r8FaM2d=DL4b;NUT(;kTpq."L4b&0LlICQM26tGOctof -P*(c^Lkg_?OGo'SM2@1VWO'+?UR%")S=H.BS!/knNf9$`Q'$u^reGTMKS>5?Ko;(VOH#9_U:.qL -Vk9NKOG\jRP*r)J^:LMBQ]R5gOdDDuPF\VQT9YJ&Q&LENOcYTbPF%Z)QB[Z!NeiLNPEM#gO-,Wj -N/s$ZM2$eBP`_#gP*;E4WMQ&GN/`gSMMHtLTW>/oTq7X8NJWCE.#NqGS!oJ!O-c<&OGo6cQ^KfR[ok2Q(4M@T9kY%R\QRDOdW2TY,%b^R?sBAS9gVkfiGNfoTjR\ZgSR[0G.R@KeFWh6&YSY<'j]=tPQUQp^iKo(hIMiNgH`ZaN;)uWi;ht\[SlJXJqhWOHH$0X/MhhS!',"OE$VWRZrr+XgbaI -\?M^$TqnWbSWf(kOHGNYLl%%NQ_q-tWLT6AQ^=59T9bM-T:VI5OHl9%P`qB"R$jG1NJ`maPaJ)* -R%Kh.KS5,:M2I:SPE_;qO,JmSNJraNN/s!]R%'S2P*(rlPa\82Oc>9[rfV>eSY)7/MM[4GOI2E# -S?0<)SpQ^aP?X0An*U7Ip\_oT[1^q6qQTq%XDS=us`U7S!D -QC+,4SX>S#N/34CLl74RMhd(HOcu#rQ^F50R@U.XWM#WBPEqW)QB71;R\m*]R?a/4URR="JqX,Y -5`M/&QBdf-UnscUPE;?8XgZ0h^U']%P*;6%Pa7i8U7%+&Mi3RUPF8,BWMH;cVP'BHTVeipWM62i -\$`H;S!3i4(QF6+MN*^[NK03hPDk9RNg6<8Ss"qdK`6Z5L5hXtUn=ip#VPTu[U7n6NY.2EfY*b<7 -SYN3cU6LRoQ'.,hTq6U9:u?a3)0!V4XQZR@'G,PBE4]S=Q@SZadZ` -`6-EOaLAIWW265^TU;+?X/_ngWN<(kQ^O_V\@&K;VPg2VO-5QeR$j,!Q)1n,`k/IVXeh\eZEKpf -R]*!MOcc$$Rui\mOdMf7RY?KTPF%f=[^E''S"6%4NJj!r\%AuIV3mF1S"5q65+Rt?]XF`3V5TrS -P`:HVQ_Ldm\\,5DStr9WTWZ&L`59*m[(O5eYc!tXPDk9OMN*gdR?j/.U8+!=QB[Pnrf19JQ^PS"d*s\U1]c['6U-QAq6&S=cUKP)km2]ue@*Vjj-SZF[TO -VOjYH4LmT:D76Q^O;5 -QB@5hNfT?tYILm8SXGn7Tqe*=NgcrX_p6TCWg]36Pa$HUR&I9qZ+.BJU7J!SWhuMdV5'iaZF.-H -W19$2Od`5V[&BFXStVgHQ'7/]LP^qJR&I'^YID3XZ)!_JOe&AHU7\$KWM>oGOH5KcS>)O>S",q= -T9G.pTVnNMPF.`%P*r)F]>DM"WK`="Q'.W4X1,X@P)tp!SLg8)Y-4k%Tr5-#Y-":WOIN5SZ'LT8 -NK9?jPaJ2CTp:e*R%'hJVONg;US+(TQ#N+^Vl[\Vd+[*rbIG!gZD/Q^X8&Panb[\[AZI\\,,CT:D1) -LQ&@H^q$qe[]6$tTq8?uZ'^Q3O,o9YLk^kJP+APQVOs-FW2legSXbOlLlS+0Yc=CiVQd5!StDL< -P*;,pP)tZcQCY%\XJ;Se:o_+Pe]4tsV4*F'O->`cMi3[ZOHc0,S<]8'SXu:.O-ZE8Vkg#hZ`T[T -MMm=MOHc-)XM2p&bJ: -\#ua.Xg>+,Unaoo[Bm$FY+LoBU9:o8[BQp;TpLn7U8=caSs58!S#Ws.YG.PWUT:c0YGIePPEV9' -YIhNAUS=Ka]u7a^S"QRLTqn6MWP$[6gt^Z/ai(Z[N0'^9Y-)06X0&\8Yf"Q"]skZ"ai1ccOc#9j -V6I(oSZTQ@['dHUZ`0aqR$b+q_n3+FSM2@@aYc4Fs -Z+@QXZ`BaePECf[LkgeDrf(rWOIiMUUm[I2QBm\lLP_1`VPpJnZ+Ifd]!\T6TqeNHrYcP(<]sPAi -c,[K+\[ArTZ+.fube^QVR[0/"O-lH.Q'%rW]k2R?sVM\%KPiZ`UFC_o9$^T:r3_Vk]ubUntWB`kfTjTXK8>!W3*D.Ru`PsSt;RS\%9#CR@^Xn^VI:S -USFQQR@pROTVSZmYd1aCX/r1kVQ-D[Q'%,iOcGD"Ndm1VSZ&ipWjU.0gWI73XKA_2X.u2\Xgl0\ -\@K;WWMZJhUn*d:SQ);70]!SH> -\%B)LW2Q\tVkTlVR$3c)USXTNR@BbOZ*CO;\Alt?]re'!Q'@]4Ydj_FG.4WMZF@ETZEUaL\\cA' -\?`NQZaIH[Z)"A1\[B)j`PfEjWiE"hP)b`tTr4f\R@L%OUSOp"a3;Q;aN(m#^:gt`YGn4gVlZbc -T;ATlY,eCnVPg5`U8FleY.;'CU8Ff\TW5B(TotP-UUA%`bJ^ljZamc_H+pu!XK/M-XJr(jS"ZOG -Q^FPO[@s=iVQ6l'XIGH?Up7GIbf.<2^q7=kX.lW)`PJse[Cs5VYJJ;n[^39DZ*qQtgXsTZ]=thW -TV8U$Z_XA'b1P+YZ([ep`Rir$c*a=;T:D:@VP^K#WiN%nVm,dGWp;fZ^asTrbZ) -W2QSeUTC2aUT(Z9]!AuhdF-+L[B[6NXJ)8`Un+<_XJ_hp\AQ(u`lGg(`nTS2e%rH/eC)+=X0&tS -c-4A]gt9rpa2Q6Ke_]Tks8DW]on!-os+13$s5X-0~> -oD^*0d?&3Q>#.pm;-I:7@UWYN>$G*0;c6Ll;cQk!='&F'[786ra#h8>[(K=>?P)-=8>r7<)lps;GpLs<`W:'=BSg2='8^0=BAU-q-3f&"C#&4=BYT+ -#[(83>?b96=]kZ)!E`P)>QJ&4r`T5(s',G*p/qK!<)cot?bH@ -?X$4s/[(H:>$G6;rEK;,r`TA+=BGH#+'2KD=B\m2=&N!u='/R+=&i=)>?kB8=B\j0=B\m2=8Q8% ->7FhC>Zt<9?=-uC?!^lDrEKJ3?sm>Jq-423?!LT;>?kH=r`^=H?!gr@=^"s2>$YNJ@pi\SAnc!j -@prbP?XR:?@f9dn,Nei10F`V\IE,]rRNK&[BJq\uDPEhGnIX?X3O+i(4I=-BhK85/5Jpr'!RB3J+ -RuE/\M2-nFOHYieM1pD*IYNT/Is5jPrcDn!JV]>GOdVo>QB@&XJU`-#Jqf;KOcGWrWMchsQAq,p -P_jp;IsuWaGC"jpKn+f6Ockf\IXQp1N.QG1R%p7:O,&44I"-^!H@'m_LRY$2XLGmW[\o@DI!U$\ -F`r.`Nf]EaKR%]cH[C'kNfo?VKSY56Ll%CdP*_DrPa\AGWh,W?Jp20RF*DYGG'.qYO-,-GKp&") -XJ)5JIW9(5@qfn0Mkdo&_m,l%R$XSSZ)OIiS!&MUIYj5SPE:f\I!g$[J;]ABLm=mBXg#+3S1Jq]/@JTuj'L4FSqJr5PHMMm:EJ:`>sGC>$nKSt/.LOjVa -Bl8';G^=ddIXZ]jF`hqSG'%_GG'/([KS+`"H[UEqLl[:?H?aa`H[:'nLk0enF`qkTL5CbLTs:AS -JqA`.H?k$hH$FLWJ;K59GBeUgJVB&FOc55HP*h`%PEhT>_o]^,\$Dp%PDtKYMNO?uP`_/jMhZq< -JUD`gH?j^YrcJ3drcEO6ItWK1L4tD:K8>PXQ&LBJK8,5@LOju6QC3qlK8#2@Jp2-LDf]r>G^t[- -M2-qGN/*+;JkPLQ%7MOe&%RMM6e@LOODgG'A:^JV8l>LkC,#F`D84ARoCd -B4GLeDfp,?H@LX5OG\mLJW5tZMMdI\UTgu'Uo:)\P_474M2RLaQAUHSSufK6YG@_YUoCMuU6^ao -LjsVoI!^$\It)imHXq\eQ&CT]O,8:,EHQSVItj2j`5&s^UTgk`J9lZuNgcZ6QB[SoMi!@MLk^>' -H$asiKpSU;W1&j,N09TqMg]r1T=)M[b-d[lJ:3-,Ko_n,XK/Y5V4!O6R$a,(S>)^QV6-kJXJVJJ -L44Q&PG"_=NJE[^P)G'FH>mbAFEiS/SsuU[Z`p?oM1UJGS!oV(O,]HfLOjo(JV05WPDP6TLPgt= -H%1j>NIcY7L4=]/Q(YOt_RH%fGB\[jMNO:$WLep%Ng>rlQ(XhBQ^+&;WMcV[LkL_QR[SeVIS"-%CWM#K2K7SMuF)Gr?GB%SEF*N%eQ'Ri>]XtMPW1fN;RARI/`5BBuYdD!R[]cg7ZE^Eu -Mh?P,EH6DVJqJc/J9Z-VEH6>XR%0M)OIN2PUQU1QGYEF6LkgY;LP(#)M41JH^ah -Trt\drgA84[Cj#;OHYrkOHbccS[?\ti8NYBaMP6JIt/X0Ak.SX5_1Q`I[+YG@JGM1gqe\\,/IXK/+dObJ+0IWp!gKnG/CP)+O-EI3P:T:DOP -YHFq'T9P4dIsH$SEH-("GQ2o*J<-7oR#H`OL4b##E,p;ZPa\8CZba]%]Wn9!Pa%>hKSbtcTq.U9 -IX69iPGY7KTq\6LMLBo+IuTtlRuW)JIYMXKe=cWjT"/XK&"bOGJODMiERTS"cph[Bup-T:qg8KScA7_S*b#\[oD\Za$BtS>s<<^V7=g -[^VccJUDZ]E.*>$S!K"eJ:;rsK9)FoZ+6sA]#D\)]">Yg^q$GMqX0J[mMiF'hP*VZ3S=useXg,CK]!euSXe:o: -LQ%_-^WFaEaN)B5VjNdAV6.#;]!/-5Zb!fN@\/mOS!o\/S"uXGY.D-N\Xf+bXJ_kbQ'dYhOHPEP -Ll\()Xfeq?^q-eLXg575Sh=P_k!>H$OXVEHQDJIY<`NV4jQaaPGXr_5aE0V50WFMNXF- -Z*LL:[]H6mQ'%&YI"I97E/^?gZFmZ]_R?J:O+;P-L7#9W]Z/"#XgGgY^r"73\>u9gOcPW_S[#N' -VOO6YYH":dT:M^FQ'@AdKnPDHP`CNRMN+F2W26An]>hOhTpC^pLQ.^uY-G12U6qm]YcXn&XL#7F -^q-ePYHb11Za4bNQCG(aYdqZg_76;8Tq%6tIY3ZFS=>XuMisEiQ(>+rb/M$3^U(&NZ`U@+SWo>* -SsG:rQ(=YETq.U@S=#M(QBml/X/r%bT:V=2R\?=2I=-mZ*1LAZ)=P7aM>?p['-R8\\uhC`OE7` -YG%2FUTLAXPGGk5`4)S.QDhLFf@@mCR?NkpL5qI_S"cFHSXc:MYd_-DY-u0eaO8r%g="!DR[g7W -V4F*BOHZ/tP=Ut0X1#F?^<4jK`3lV?WMc>PPFJ,,PEqQ"Q(Y=n]tq\.^:D8;hV$>r^!,?e_Qou3 -Xh2He_p6i]bJqK>bgG,'nGiOfqYC#>s+13$s+141s*t~> -nc'9omcj-,nFZ2>n*]T2n+-#>naPuGm0rFPnac;Co'u5>naGoEmJl\Snc/+Ync&+Znc&%Xnc/1Y -oD\C^oDe@cnaQ#8mHs?;nI+aPmd9B.nFQ)9n*g8F#k@EToCDD>nF?>Dr:13bnF,r>o^qbFn*U,E -s7$$V&+8iSn+#i7m-X-,m-a90n,)VSnc&%Xn,MeWn*TWDnceRQmdKZ8rpg!X -nEoQ/nF?&JmfW.Nn*U,@*:<1_n*ol;o'u&4n+$#@o'u/;o(2JBmd0E0 -m-O`@rU9^Q)"$e]nF,f4n+#unaZ5Bp@[qHq"XIJ -kMtq-s8VQNl1+B4kj7j6rVp^1mcW`unFQAHmHO!0p?q&'m.0c?o'PZ-nF>u:oCDPHp%%VBoD&"P -o^h\Kq=+%Lo_%qTs8Vufmcim#oDejdm-O?9mdf]-lh(&Mq=*tKp@\%Kn*0$,s8MEKn,*"Wna5rB -q=sUQna5Q(H0ahgq=X+?nacMRs82TboC)5Jp\".Os8VrorqGsMmd]c;q>9mR -mIL#Is8VTTr;ZdOqnFukVo^MA; -meHh\p$:]$meZq_./NH!l0%4$o^1i,q#CBko(2MEq>^?hq"+"@jPf1gq#($ap$h58mIU>WJ+Mda -nG<([q=*M8nFchZn`oQ1oCheDlg3ijjSAiUqsa"Co(;_Sp[ID3lgXH7o(;V@jl>OnoCMPMo^V_O -o()PAp&=p^mI0Z8mdBH.mI9`=na,Q-mdBK.m-Ep%lg='*l0.9lkOSZOq=F.IoC_bHq"saSn*]N, -n+?/9nGiM6r9rn=q"L=?qXX%=lKdp5pA"Ra -p[e1LnaZ8Hq=O.HnaGl6o^hVBmHX'.na,HL:m.gPMjll=, -o(`1Xn*]oLqsj4LrVccop&=FjqYfmDkNq^/o(2GHq>1'hrt+\cnG)_HpA"+@m-EushWk"9s'>Ki -me$8Iq"jmap[@>1mI0N=s8Mi_kNhj>rVuosqYU0[kO%X,q>'RHkihO3qXj7KqXEnEs8VNHjmi!4 -kN_d@s7Z'Ol07U,q<[S>oCDDErVH$LmI^)BlfI@%rr3,nmI'?3rr3&ts7ZHl#k%'Lo_A.QnEp5A% -/08bqtp'Zq!@>7p\k*k!ql*Vrr4tPpA+OSlKRX%n+-2Go^hhUs8)Qco^1f&l07^1o^:r*kOeTJp -@7YDo_._>oCVSHr;Zfjk2>P#rVpm7lg4?BqY:!gs7u3Qlg=00nFZSTnEfH+n*f]1nF6&Ao^_SCm -doo5o()PTp@J%NmIpS[na5fo:r:]RJqZ$6Qn -FlSElL"*1rqufr7/#d+nG;YAl0%[;q!.DJs7u0TqY9O>iTg+7s8W)dkjJ3Cs7u?Rjlc43s7ZqYL-is7AVKrVuoqnaZJUr:B:HrUf(?s8Voip%/%[r:07DkiLt*r -qc0OmHs3$kNqd1md9N3m-40@o^i+Uo^hVBn+#rAr;Q^1rqcHdrVuomnF6/Ms8Vl_nauJEpAXeWo -BbN.naQ)U6Om --X9@s8(a=nb;kPnc%uhnb)\Qp$_,)kO86Bn*p2Io',?)p@e"Fo`"mjp$VGIp$hMEo'c#6n*TH4r -r)NanEKNCs7GOJq"=1HnE]B'lg=-/mdKW4m-3j*o^hS6jm)R>s8)9Yp[RD-meHPTqXWn0j7*$Hs -!mI$o_\URjQGgoo)/:Ik3r!9rVuckp$qV?l0\3>nFch]nE0*3o'ku-nG`G:p@ItDl0.0mp%@eAo -_8(Zs7YdAnFZ;Ho_AFcp$Ci9q"ajcq=aCElLb)U%ef8Ynb)k\rpf16lKms3rr3W1p#Xrgo`"mao -()85lh0oj -lPk%p[[_=nc%t`m-F-:r:omUp\Omh'E8%3p\":So'l&6nFQAKqs*V>pAY(+o^_hXs7PdJo'lGSs -8MWVl0Rm1qYgF+rV-$Yo^_YIrVuoimHj0#nb<%_0DtJ3r;6Beq"k$jp$hMGqY'UTnF5f0mITo:o -Cr%PnF6#=s8W)glga`CkN:jgq#::Dp%J.Zs7u'GlLO`EnET?,lL4HDr;$!UnE/Q\j7E0Hs82Kdr -U]@=jm)=/rr3)rmHX';mMk`np$_GEp$1]'o^_nZs7bmMp%%\MrquZno_&4`s8])m -.U>Qq"ajdmdBrOs7Y^Amem"Uqu-OirqcKalgt/VrVHB`n+6J@io0"`kj@s.q>^KflK[g)l0IKjm -JHbXrVcWhqZ$Tps8W&hoD&1VqZ$BZl0Rp=s8W&kp\"%Cme6POn*frKrrVrer;Q^;r:p-dp$1W!m -.g/>s8W&ipAFselJgplme$GTp%%bSp&P$gs"!s7m-!?jnG`CaqtBUTs8Vl`nFc\TqZ$TgmIC)Rs -8)0GlLOT9m.L;Fk4elT)ti:Po(MkQnaZYXnET3'r9rq4mIpGQp\=U_rr)k$n`8d(s8Vi]o^M>Br -;-'Ro_%qLn*]Z6o^)&Fs7u<`qt]^Lq=Eh3kjncRrq>sSmed%[q"saHhWXFrmIgJYq>:0gq"F@Pn -+6;KqtfmIn*KN:qtB[PnacGNrr3i-ki;"'qYpB`jm)F5q=O1Im-!a1qt9X[rr51Wo)&IenaGo7o -CVVAna>l9o^qqTmG6Xns8V]Ul0Rm2qu6Keo^r(]s7GmZnaGf/mI'K5r;ZESnau8=l1P#T"o7WQm -HO0=rs&#Um-X$&p&=srrq5aJm-*X*rr4MCn+6DUs8Mump\XIIp@dq=mI'Qs -8W&elK[a*m-jZGs)IZ*q"jp^mIU;Trr;ljp\4@Eo`+sflKe-9m-slJq!R#%mI9Q3nGE4]s8DBKo -)8RSlKn0@rqQ'Yqt0IWq=*qMo'G]5p%.P:lgOQHs7YmNn*K9$lL"!/qYp0^s8Vc^o(D\Cjlbgln -G)_Nq>'^]r;SYMp@S7SlKIa/n+6>Jmd'E?s8Mf]l0S6Gs7l-NnFGr3o'u#5naQ&:ip67:s8MTXn -ac87li-nfq>^?ao(`1`%JK/[r:]I>kkG,Un*9ZHrri;pn*p8Rs#0lGkO&!:md9?&m.9Z;o'l8Fq -Y0^Qp&+jhq>L?mqt]sQl1G#Uq!mnGnF6&Bp@IYBrqbmNq>UC3p[ReCoBtl3qYKjQq>'FAnbiCVn -*fT&i:$XE+Re=`s8VZWk2u.-p\!e?o^D#+lL4E9lK[s;q""+Sr;D3HJcC<$JcFg2J,~> -oD]-qf;FRZJU2TfGlE'rIXHNhH@'s`GQ)ajGBnL]I!g9ercnNgG5ZR`Gl;pfGlN*hHiJEkH2i3j -Hi8?kIK+]pHNneAG^"=SGPQOmG'A.RF`r%XH$O^^rd+ouH[U?kH[:$dq0W$f$@I2HH[L6iI!U$\ -rd+Tirces!H[C0gI!U*`H$O^]H[:#8HiJKmHiJElGmek>Fa&.XH$FRZH@>dAs*Y&sI"$NmI/\Hn -I=D0F"Fb`DG^014!.+Whs*+Hc#'4p1G^+LZrceHhHMr0qI!^0aGBJ"Lrc]0%F`_\HFa/4YH$O^_ -G^4U^H?j^XI!^,:G6iA;G^"@VH$k):H2i6mH?fF5$[?rCH@($eH[9^RG5c^uGBS+QH$k'iI=$Ej -H?spbH$K=9rHfB-I!pEjH[:'gIsl]lI=?TkI!U*eJV&E#rd4Zmrd>'%IXHKhI!pHlrd4frIXckH -HP:[LH$k-rJq&9%KnkG:Jq/N0'9hPE_H#QBdYo -MMmIZP`q5kOHYrgNfT3[Ng#g!QB@8hO-cNAXItZ3NJrOJL5(\UUSju[S=>k-MhZq?Lm4^0P)ks) -UJ7;DOHZ#uPE:fbN/*7KN09HfLP:PFTrP2mU7[p?PE1`aMM6b@Od;5jLl7F]WN32*V3d@0VP'9@ -QBm\oO-cE/St272O/04mVk'6Frg!SQRf8jtSt)(,OI)E'P`CQTMiTpLh!NK]ZuV5BoSR$X&,TV/?jW2?5ZT;AUfY6D)+R#H`S -retoYP*(s!W1B\/be^ZjYcY=G\$<$4UR[O0P+&)@US+0CNKT)ULWMPo@Nf/s[NJN@EM2dt+]!eH&P*M8rR%'M*M3*j]O,]3cR?WkuQ^jQX -R$3hrN0TftR\5q:Und.CmCPE_)iUTgr1`5fHmT9PJ'R[o_3TrFlXP)kWaOcu-(W39iXL,=-P`LlTOdhr+Ll7@\R$a;3VQI8<`ll)sSXlFEQ_:.@ -KS>GOQC+Yc`5]pBbfe&B[]cg7XfSM!SE9eZ*14+W2Q;MPED)uRZs#%SufK6 -Z)Xk.US+NmZ(I5ETV7g9Oe&;AOckllR%L+IO,JmTP*_uJXeV>RJ"N=!OGoouQ^4)7VO!L7 -R?s(sO,8jXO,]'WP+ehTVkTl\V50WLSY)@BVn9I=Q]70$W2?>gV3m^MXJ2>\U_fboOcG?ZO-#To -T;7j=O,T$UL4Or-JV*lO5_4ZNN/NmdSue]]VPBZXZ*0glU9(c4Z`^R>ZaR0/NL-'$SY2@1Oe02+ -d)relR%(+b^V-kJT:_^?OHGZbLP>_eIufh]R@9.rP*M;qO,]3^O,f?p\BE(7[^<9k -Vjs"St;^NSXGb*N/*4HMKt,AR\-1LYI(R6U6h%,V6[;'W2HA[R$*Sp -QC!u1TU1q9SsG\3Ob\j_UnEs>S!oP%Pb"PV[CE`FPDkWmPa@i1XKngfPanG>S>YeeE*f@@sZ\@T;]Vja*NXfS7g -VQd"cWOB4:XJ_kmZ)FFqXJhkdYcOL`OHG]eL4kDEO,JmTNfB'gVk]rlY-+k)U]-keUo_!&\pq9# -]Y_Ou['[Y@JQ("/+Nf8pTOI2`=VPBcPS"cjTQBR_sN/WjiWi`.k -U8P)lU7_I[HCC+aQBRDkOd),qSZAfdUnXj$dalC@XeM&;MN*[WLl%"LOHPioQ^*_sR%0Y5NK''i -V5^8`VQ$8QMN3dXPa@f)Q_:UuaND5tVmO4QW1]o`Vl[,#P)bcuUTh;9WM6,`V4j]eY+qo+]<%j. -YGnV*XLcKl`j;bJJ#9'>TV8BfWN*2-XgG4&Pa%c;XLYaCYGR_KNMEGSY,S._Pa%N/Zb!HTqA'`\?hutP`gun -V7=Uia2H$Je'5qM_T0p8]"#;[XeVMUR[TeCX/M\`SXPk.Q(";O\?MTjR\$(3PEh]Gb0S)6Y-54? -X.GWDS>)[EPE_ArQCk"RX/`.sTU1n6X0]-[]W\<:X.Y`@O-H02Zb3iPU8"K`XKK"H]=#)Z\?;a. -Z*(LN\ttgaSXc@QZ*UjKVPU]=^UghTUS+-CQ'RYrOIWA[^rX[?ZDt%=\"f=\VnBm^b0eJVaLSR[ -W1g9+c,df<\[&NMSs#"jMM6hKR]O!(TTbP(Q^=>;TPh'Q_SO%$]XbYg_S*q/]X"iR]tM>#\>Z$k -Trb`6Z`ppL[C3]baMPElZF79MXg#L\cd0;(Tq@jCR$a>0NJs^H\#QF2[]Z3fR%BtJY,nIoUnsuk -\]2kT=_nsI8`P]X4]sFN'S?p;Z_76qTV5L;jVl7#7]="]5R[Ke?XMiQ5ai_K/ -U77jFOd2cJ\[ST2S=cL]]t(YbZD=+jVkTc[Zb=%e_T'F%Y,7qbTV8*UW2-#bWN3/"RuiVkR%ULi -^UC/3Q(G+d^;7:QUT(DtV4jZTR@^LdYHP=>YHXssVm*+eP`LlfP)bKeP)tilS#3EnWNsk/gW-h, -XK/M0ZEC4)Vm*hFZEh!=UnOK2U7e$BR@BA$UTq;C[_BVo]!7uoOHP`u[(Eujbdt'g]!\u\cHRAWiN+pSsu:BTW,?+W2Hr.X/W5*Y+Uu>Pbth#]">\j]"Z&!_o0I) -ZDOUuSXu^TS=H.V]ioT(PhW!SZp%\+Qp%A+YJcC<$JcC<$mJh\~> -oD]R)f9^Je>uONr:g%(4@pr_O>$G*1$>'2r`9,#<;fbqQ7n+=oV\* ->Q%h+?2n10>6\86=BAO(=8>r+<)lpt;cHh%<`W:'r`BG/=B\p4=BAU-q-*]$$?kH>>Zt61 -r`]>)rE(LM>$5'3=]SU(=B8O*=]\d/>$+s1>?P-3>$"j-=B8@![./0r`Jtts%rns<)cjtr_rnu$4s.5h_.>#SC%r`Kh8=&rF,>[:T==^5-4 -=B\m2=T2V)>Sp[N?=$oB>?tTD??bEC@pr^C>lS+/?3jqG?!LW??=.%<>m"D??srt= -'3\OB?!q;U@:<\ZBk_0i@UNSPA,^'>AH-0>@fKg9@JjRF?=@>SA7K%U@qB:bAS,UiraU(^BPM9u -Ci=B>I=H]mGAqSPMi3=?LP:8$E-$/EF)l29CMIX$C2S$2Df0Q:Fa/"KI"6m3OctoaKn=brChI?n -DK'Z;Ec?)DI"6j"K7/#hG'%\@F)Po4C2%O1Oef+[SHEc?,JP,l7%T9+teJ9>mWJrQ7uYH+@\KRJ5tKntM5H%(O-Kme8nI!'CHF*2\RI!U-fI=-Eg -G&qbLJ:W6"H[C-hFE_tRFEMnYJ9lHaH$b1(S!]4_FEV_ADea-2KTDC_NJiUFH?*q@DfU;dMg]l' -O,m_-K7S`7Ljs\oH$ORWH@19tIWKFKI$L=tRZi\aH[9jVFEDG>F*`@gI!L3sM4:!*Rui5NJWYhA -J:W9#H@(:$MMd7DIt!W[VO3@#Mhd%BM2R@RN/NLCH[C?sJUVi_E,0K9F`r7iN0'6lU8=$6MLg2% -I=m65QCO>+Q(4SDX/;)?S"Z@5Jp`-$I!9XTH[:'gLQIsgLjj`%L5U\8KTDe,VO*`FN/*%>Jr,MKS"c@>Q'7H"R[fn=S!8YQ -EH?;GF*2bUJ;]bRLP(8=RAR-_SWA8BDeWcuEdNV5[)9kjV>d#WW3`Y(Ssbe%Jpi'%NKK9\LOaPk -E-?qsO,&@IT!#E*Y,.DLOHPuoJU)K^GBn@PE,^#OO.`VRP_=I6H[L?rJ9Z-[H$FLTG_,jO-B*tI -MhQS2G^+gqKSGG:LQ$t6EH$)EH?sg_I"-ZuI!9[SF`_VArbuq"G'\I^H$X^[H%V'2J9lHdI=H`p -K8"f#GBS%LI>!5BR%pdgZ_s4MIs,sZF`V_SJrZV7WKi_h4b/hK4Z)=7dS=?"6PDY*MO-Gs(XeVDLLl7F`QCOM6Q^F5'J9uHdKSY>;Mj'j< -Z)OLpWLK9GW2,N,JW5_IItsNhj"bTp:=YK9i!k -OdV?0Z)!_QSXu:7NeMq1J:s5VT;SNUR[T%gOJ&_a^;[RfZamWNUR-dcG&VGBGBn[jLP:G=OHkV# -L1Pm[F*2JGI!pBfH[_$@R$NktQ'R_rM2[@IMNb*?S;;THOHu,qR[/hkS=c%*O-5TZHZjIQH$Xsp -N0&^CH?OFPD.dKmB4tpkBPD=+F`W%cN16#nQ'-ueS=5FsP+ASRWMHJk@&KrqKm%rtLQ7[^L5D+r -\\c%_T:;CLYI1[2Q&U`]JU2]lH$"+WIX?HlK8>G;KSPA9IWfdVH%(6uRBjcO]r\0p$X08e1U6^doM2RRdS!B+uQ]mJeK7A/dEcZAJJW5nYSuA]fTU1XnLRP'6R@/,^Oc,!F -It33,LmFEgLQ7=FJV\_tH%qH>ItWW3IX6U*QEIEsZ($;gI>Wf9M2dt"S;E5kS!T;*V5'TGQ_CLc -YI1$^K8#>MP_4@+EHm.uQB%5rP)>3_S=u[OS;`#PMhlq6KS>#8S#sNHajSJL\[&MK[BQuQQ^jtEQ^aY>R@'qHQ%XL/GB@eDFF&7TF*;eRH\n&OPGb@\W1ocGPEVB-XgGUK -]=PAX]=YGOXKJh:Y+:N.LOjYrKoVLdN.?S/GlDl'I"mZHP`LchUT:2UL4Xr)IY<<,K7SN"JVobf -Vl6`.^9s`*R$*5QH@1mIUnOZi[BPseR[g7WS:?-FM26e2H$OaeLQIgePE(QZP*_AeKSb8/H[h*H -Ssbk1St_jAOHGTZJq/H$H?jgdJUpFPS"5h1Q(>/$cb6-JPCn($G'J.JE-$2MI=d-*Jq&<(L4t;1 -JUrZ@Q'78sSX+tSG^"4XJ;8u?Q`.:(\uhHiW3s%*Q(">:U8!.'IX$F%Q`.NffWpQ][5_LP_=pY,%GD -OHGg!TUUsnH$k'lNM!>[Un3d0Q`7C$S<0k\@0Dp -[]cjEc-4&2T8\>PMO139PE;E:VmEP.XJ__^TVA0f`Q5p&SWS\VLnM/fYcXt0YcO=MHA$s"H@UKo -KStnMJTc-_L7t95Uo^l.Z)jOUJU`3!HZ*hFI"$?bH%:d:P)FpAJU;`[G]RnJIuBP_Wjg!qeBl"? -WL/d-N.uk5Lm"3sR#uQ6FFKCMWMZSpX.G2rI"R-8Tqe-=K7/3#NL[&Y^qm^jX.u,FMit$DXI4s# -Jp`KCX1uWk_SssNc,dc>`lbirXfSFjQ&pl]N/a*mS,SXnOG\^DL5`"1UQL4bN/N1:L6/CMa1eIG -Tr4i\ObejROc>*FJ:`6'Ng?3,T:hjENJ`plVl6enS"Q=8L4b#3NgZfNYbI2;PF8#Mp;J:<-,M3=0nY/8#g]=YP][^s2`_8EdcY-PRL^qI%H -P`h9&W2uqrY-G18\%p&&\?E!9X/;Pd[)L81[\TC[NeW(7CP@RqK:K-GT:_sZTob(dOcu3-UR[gE -Tq\Eh]Yqe-\uM9cNerde[(XAu`PK:)[%s%SU91f1^pgJEXgbsWXIG<8SYD[FV66Yf[Dp+qX-A^7 -StM^BOdh_rK7J`EOcY]rXgYdO^qmas]6V&rWLAm0VnKjQXJqh\SY;[HS>N'Wh>ZCQ^=VUXfeq.R#[H"Q'\2H[^3HRZ`KmiQApuhQ("51Odh`*R[/e\IYWuM -SuT#oSWShrUoh#4XHJ^5St)14QB7)hT;SHZD5aG2Vk''BURHpgHZs^[FE)YQH@CL)R%pCGWQ3iJ -aLA1EU8"EWS%TWPAoWN`+gQBI5aJprB2KnYqoYdh$O]sk,=Ob/%4K9N=C[_^%mXg>I@Ydqfl -\u_B`Mi3XYTsD/2VOsW`YHG$WXf8(iQ'%ArL4Fl.LQ7FWPa7iAXJV_dW3j:QYFL]3LP:MOWjfUQ -\Zr!2WiiS-UoC`/]"#&JX/`(bU9_2*R$sqXXg5UR\uh?iS!K%dJ:roMUnNg&NgZE!PFSbha2Yg) -\?N'AYG@kgRurbpQ&pl`Od;W>Xf.kcSX>Q=NHU>NV5KoVWN)V\StMU4IX?[9Wj/b0Yct46\%KGk -_S!(BSXbt1SXGLpMMHb:PGPI\TUD"1TVncUOH?$4Ye%fi[^EHCVkT?@UpRbDZ*L^>YGJ54`kJt! -\?E!>\\H&,]WSNGW0i[.T<+u^R]*g?a187ASTD!ReCrTrXdG98Obo'WN0B`qR[KV;X0]7BX09(M -`5U'We^DUUX.5f]YGIb[S=,e6St_pJVQm;%]u\RG_6^&6S=5\&P+8,-KoD(LMjpiVXfeq4VkgZA -f\bN,]Z\mKZDO4f[E6hB]YMCqZ)t:?_8-c$aOoY>jlG^mm-siIp%e=Tq#,dDJcC<$JcG-;J,~> -nc':!nEB<.n+6#oCDGMn-edWo_%nLo'u;@n*^/@s6opUs6g$YnaZVLs7-*Xr:0gV -!:g'Zs7--XrU'^TnG2VSmfr:MmdK`=o)A1ZnGhq^nalACnF,l:q=+FSrpg0]nF-#Ko`b!YnF#i: -rUBdS%IrrXn*]Q0mI'B1mdKWAnbr"jnaQ&:mdBK1nF?&s60gSm-O-,m-O-.rU:cpnF,f4mHa'&mdBK0md9B+mI'K4md0?/mI'KC -ne(E]mHa*)n+#o9naZ,=oCVbOqc0lg4$-nF?&?rpg0XmI0TEne(E\n+#o;nF5l9n*TN3 -o();>rpTgR$h*TTnF#`6o(2D>mf)\Tmf2YanFZDEn*]W4nF5u;m-a<1nF?&UC-r;6'RpAb*bnFcPIm-3s0p@\%HrpTjS0C\W+nF#f;qu$$SrVufpo^hM7lgaZ@md9E1 -nFH2@m-O',oD/CcqtTdRoCVPGtkP"rTnEK<2q![>*kjJ3Ds*a_.jQZ43qtB=:kjnH9kN(gnnFH,7kj\??md'9.n*oc5 -n+#omd]r;nG3"Yp[dhrVn_Po'l2DoC)/= -na5N+oD8CarqZ$Go)/7QmdKQ6nac5Ap&"dfrV,^Dme6MGmHWs'o^qbJrq76&p\k-grquKXlgOB0 -n+m"[nETB5pAb0_nG`H(q!@58q"a[Rna,AskjnWNrp8b3nac,1lgjfLs7l0[p?q>=q#:q>^Kop$M&0k2u70na5iCrr3l.o(DSJq!dqInac5;lgF96p@RqHmcj!$oD\b/ -n`&Ejqu?]mm,R[,pAXjSkj\*3o^_D5l/q$mrr2uqrpP@.p@n7NnF#c6nF?)?oC:r&k3r-Eq"+4M -oD/=Vnb2\Ss8DQXo(VYCoBto.nG)qVo^D8:n*fW/lK[^!l07R"lfdEimeQVJmHNs(nalAIq=aFM -lJq=)p?q,/q#Cu9o_J4QnaGl3o(rCaq=En5kO&9Krsn\iqu?]np@.VBmd0EA -qYp1?o_87Rn*ol=p$qJ?o()8Bq"*h>n+-5Pqt'.:jlYk!p\4:On*&fnmIg;Or;?Qh54n@,jlG[m -m.'iAp%7Y8mem+bp$2,>kMbXfmf3=_qu?]nn`f6&oD&.LnG3+^o'>Z2o(;SGp%\CYo'uJRrVo=^ -o^VJ@o(VV?ki1XdoDA(Flg+!-n*o`6qZ$Thn*T<0s8VfYkND1$oBt]!m.^PTp\t'ao',K*mIKoA -nac_[p[mtCnG`(_oC2/nFlk[q=jmgqsEJ0n*TB3qt0LNmdB8s -med#qq!d_Do'Z&Fs8W#hk25=ip&>!kqss%>oC_YMrr)irs7YmHmdTi?n*9-,oCVS=l0nB3l1Y/W -o&f-%o'kr3r;Zfhp$qSAnFlhTo'GZ*kj\ECn`]6.q"=(;j6?LAs6o(;m.1/U*r5^)qY0=;m.C#O -qY0[TnET'!kjJ9Hs8;ccn*]rKrr4,UC!r:'4Sqss=JrppEfp$Lc(o_.eGrr4/: -p$Ci&l0[j8qY0RHl0Rj-q#C3Zkj%[-q>^KelK70rr;?R'qX4(Sp@@_Al.t@ali--Dkk"QGrVcTi -r;-0_qY9[Sq"OCNnaPr1lgsuInE]K5p@@qOoC;MFm-43CqtBm`q=!Y7l0Rs6p\FCAj6ls8;Nas8;ENl1+TJrsSD`mIU&KrUoL@mJ-Y[ -"8MBPnG`G)rVH6Vl0@a-md^&EmdToIs8DforUTLQrr2pip$_>DqY0IHoC1u5p[n1Zs7l0`qtpEn -q=3kIr;,sKl/pp_jQl@,md0B0lK@a6naQPIq#CqY^0\ -naZ5Ls7GCCnac;@mI9cp&"^`oC2AJoC)2=m-3b6 -o(;A5lhCAQqt':Rs8Vl\p%.V>naZ#3mI'E0mdKW2m-0m]qYr;Jq>^0KjS8cNo'uDKqt^-ho]GB,qZ$TcjPo7anFuYRo\nZpq=FLWoCr.X -pA"X_qu$Idna5AplhLDQoCVnZs8;0Ap&=gWmH3Hrm.0oFo'c/@s7u6Up%n[fs82$>kk+]Ln*ouF -q==1Pn*KB*lKdg)md9?(kN_^4q=jg_rtYJ+p\+4Qmca'2r;HKXm-O9=s8Voorr3,pm-aB=rVm,s -nEo]7o(MqYrs&5gn*]T5o`"kMqX!D.ipHC:s7u3VqYBm[q"aphs8)BYq"sgYp%J4Wq"ssZkj@s9 -qtp*[oD/7Un*p2Mna#K*n,E?0qX=%Os8W&jnaQ/Gq=jIKmI9]>q"a^Xo'>T)k3_p;o`+m`q=sFE -lfdNsnGE7cp&+CIlgFHGs8MQUo_@q:iU,q's8Vrco_.kEoCr%Xs7u9]s8D]^l07U(n+HA@ip6@< -rqucqs6T+Ms8Vr]m.:/Jm/6h^"o.cbnETZFrtPD)n*]lKn)rZllg*s,lLt8XnDrg4ndbEckjJBK -rV5sRp%\:Ro`"mjqu$I.p?C]*pAY*lrqlTblLOH8q"XORq#:9up?qPPs8Mcfrr4#8pZ(E(kiD:. -mJ$#9rVuf]jQQ"+rqu0sdrqPmU -o'c)?o'l,:nG*"_9_[f1ipcd=r;HBSlL4ZNs7c*OjlZ45q"=FTpA"1Eq#C<_n*]Z9o^qSFmHj91 -nb2qZkMu:9s7>CGq=jRVq>L7lgF92m-j]Jrsec$p$M&/lgF?2pA4L]rr3Q)o^_\Hn*fW6p\=7D -o(;JLr;RT/o^VbJlKe0AqtBgYm-4$8rVu`^kNr*Fs#fuAnal8?p[db?p[n(Gip6=mVqu?Kdp@S%TrtP.nnFcYKn*B'&p@.G8me-PYrVHHj -rt>;.s7Z-Vn*0-2s8V]Um.^;HmJd+io'c>Hl14ZLru(Y+p[IeDlgXcGn`KE5kMtt)rVQ?\nE/a" -rVn&=n,<:^lg*g$p&=j_m.9i:k2YXlo'br3oD%qDn+HJMqY^?sq"O[cs8ITLJcC<$JcG6>J,~> -o)B*TY`aWkI!Bp]H[L8@IKb(EI!g9erHScsH[U?lI=$9dH$=H1FT6R`GlMshH$Xf9HiJEkH2N!g -GlW0iHiJElGl;geG^9+2s*+`nG^"CZI=;*Bs*Ocl#CLuLI=$9eI//-hI/\NrI!^0frdG$!H[0g] -HMr-gGThE[I!U-`G]n@VH$FX[H$Xg`H[:$cI!^6eH?jd[GBJ(RrcnZlGBeCZHi8=!H@13kI!U$^ -H$XoANfT3ZNg6'&Q&q#cNg606WLf60NJ`=BLP_"SR@Tt7R@Ke5NJ<+A -Mj^N?PE2'-VkKH>Pa7SqN/NXSLkghFOHPZ[JqT&TW2ltsU77F3NfB'WLPCYEOcG6OMisC0ZF.'? -T:)(:R$PS>;jIR$X/.S!oh9T;/?^VP0?=QCOP1Nf&[QOckfhQ_("NWirb& -SsYXuN0B`uT;f)sTq.gQVm3IuSZK?-VNm7,R$EekNJr^OPG"n`V3?n%R@9J(R\Qpj\[&*'QBIH! -StM[:Q'78nUogl2[^3:fZ)X@YR$jD0OcYcoW2?2TQBRDiPE_H+TU_LBQ^4AFXL5XCV50l^rMBOs -H`3HpKnY>BXJ2AVR?s+qKnbD>M343mOGf$XQCjh=P`LleQ(+G=S!fM#MiO*rVkp;g -rh=+uQ\C$EMiNgYOc#$QL5D1r]!eB'V5TlGPDkWuWi*#5^UU>6OcYfpRZWr2WMQ&GNf/p\QCFYM -Z*^^=[_9Dj_RQeHTq7gLX/DheQAgZ[P)+jILl7=UOcbltTq.C)MMmjsUR-poL+J4FQBI)^Pb>:U -Tr4WVR?3Z"Su/ZrZ)k(&RZrkkMia$`Pa.T/Zc0SYS=6)LUL^C0[^)g&S"6+>T:V.(P)kBWR@KJ0 -VPgA^N/aI4WgoQU[_Ao1Ng?-)USt#ZQ^F/#Ko)%bUS=*5Ll%"VSs55#St213R@pU`Yd1pY[\K+P -QB@2tV3m$jM3OF!YJeH"a32Y2aMPWrWMQPt['Hg3R?'ROe8\STU2"9Tq7U5OZ],<^qHnB -Q]73*XeVDYRA6ULS"m-l]X=c3R$3MfR%'qX\$N38R?a2<[(O5o_SF".a1\^SRZi_gMiNqtP!tLs -R@]\.R@g%:Pa78cLl.(KNK0L*YcspmTW5#bS",q4QCkFaU6L\&SYN$YYcaXmXKJV#V5U2[P`gi[ -N/s*eS>):3rf@AELOk)1JUi=NJpDp*MMdUaS>`-WXfJ.lXfJ+gX1,XFX/`J.XgPO.O-uH)R@94p -PGH7Ge]P:rTV\j)`5&^XV59cKOHG`eLkUkKNg#iuP`LlgPa.N"QBdSlM2RUq]?/.5]!f5UTUM16 -R[p4NT9c(IW1fodY,RnVO,JsZQ^OeNFJYUsPEq`8Xg"^hNKKX$X0o71R?[C`uSW1ou^V5C2cSXc@FS!fY1P`^o]MiSX5b7Up7;(Q(+)'PECumSXuXQS=-+V]=+Z1T:D++Q'nAFURn$K -TqeH\W4BsbZ*h*KUl^@gNg$-8W2Qo-\#HO3VlQtpO-H97VONa0P)GNqV5:&fXJ_\]T9kImOckig -O-lZ=V4aNWV4jHPU8=BHR$NkoNGFlKQB%3'VkpAjYJo5La0D_:NJEFONJ`RMMiEd]P`qAsQC=D: -S!]A#OHZ-'S!]tJT9+qlP)trsR[9>2X1-!a\#HOIa1nsYVlQeuYc44UO.)iL]="liY,eqH`Nu%nR%9S) -OcYd!SY2X*RZWYpR]WZlYdV0X^:^G1MN!deR#$T[QBm`"S=,e4P`_&gNf&[LKnP>GR]Nm4ce-n" -cGdW.V4!U2NgGojQD1@UT8SSaOe8_[YIVKbZCR)StDdMT6@$1Y-YR6T;]6/[B?3nS!TD.S<\toT8h -f$VUTZDsq%TWZ8Wa2,BnYI(s>R?*GkN/a'kXgtd0O-?-,UTL`![)U8(\ZrBG\$iWL^;[q"]"l>/ -bJgrfS=caa\\,G^]Xb8[]mdf<`P&^f]">AMVQdtdbeC9^Y-+t3R$ZT<#&`RA?UHP`D'2Y,._f]ZS@5b5]e8ai)$-[ATUh[)Bbk\@/WBW1oiTV74%J\#uR#Tqn?` -aO/&B_8EaXSu&'CQDUdgX.l2\WjBCS]"GkeUm7XNU7S-b]#L -^W=O8[\T:UR]!I&_SN[]WiWP;]=ttdX0JCjV50?7OcaaMSYiKn[(!TPXf/5(]Y_LmUR@F6P`r#Q -^:qG&^U1GW]>;+a[)'Mj\$NHLYG7A[\%JuEX0]@C\\l>#[A0XpSX,J)S"QpmY+1lWZa$='X0od` -`PJ[^ZF7QZW2-PpU7Ia@SY;aMUTM,B\[&QDURn!GJ"NL3XfeS&\%T8VZ*1=.SsYqG[C36>ZaR3T -`lu]OaM5'TTq7U?VPp8YS!K.uSZB''YGe.o[_9>WURe9f\\ue6]Y(qcY,7S[Xh)9\]Y;.m^:1Jb -_RmA&^Tt,S]t:_m]=#&PUmRI8UTUl&X0TCbaLnj[XLZBqe(;gPV>m*9Un=N*ONgQ8uP+]"d\$WKG -VP:<6d+mU*]uA"!Unsok_q3\o^V7ChWhcSr\%'#bbh1Usd+$[ug#D2WkMb.Jh;d\aJcC<$JcC<$ -nGe"~> -o)AmMUNpK^=8l#(='As?@UNPH>Zt94rDsA/=^,-9>?P'1=&i5u;ZBbqQ7n+=o;J' -=TDY)>Q7n,=T);%=BYH%s&K>*<`N1'>?_#/s&f;&#?b88>$+j.=nu8$>Q.k0>?Y08ra#b6>?P$2 ->5_V(=T;D?=BAU*#nX' -<``L1?[%&.r`K2%%TZS/<)?Fi<)cjt<)ck!rE("?>$4s-<)QRi;c-@f:JOVY;c["%<`E(" -6=]\U(=BSg1r`oY6@qKFjrF,\4$=.%H>Zb'/=BSj5ra#M.!``9'rE9>,=BSj5rET\8 ->Zk35>?Y09ra>\3$XdCP@:*AM@q&hO?2e11?2n.>?XmVT?FaejaGDD9CR$!MhJU;`g -F(f,rIqNS9EcQ,LjO8jKoCb9H?XRRDf0K5H%LTn -GBnR^H$4:OF`i([IH$XUWItroVUnsfS -NJN=GK7AB&JUDWfJqo2?M@"ueIZ9YVN/2JqAK*PF\AGVkp5_Q\^'@K7nf'H[pd6Oc"dBI<]m]HOYO_N/*.DKS>GPRA?jXrgNkTH^C%` -S",h&HuX.JDfBlJKo;4ePEqMsNK^*=TpgpjH?aRMD/suXS?]iF\##dkTrG5kSKn+DqKo:\?MMdFSL3mu_H[L?rIscTpLlR7AH[0dXFDu/;EcZ;FGC4^`G]RnRL4ju! -F)uJKH?t'lIX??^Dg[1nKn>/OX.PW6MiEL=EI2qSrcqImL4au&H$+1QK9;@ZM1L#$Iup.jR%CV$ -_6To0SXP_$O.)B!Pa7W'T9kauK78,gE-?PSH\$m"F`__OK8kkJK7SK$JV]8CLPCA+GC"k"P*(rn -rfK=(LN70HEccDHH?==SFa&J*WN)>GQ'6lIIX-I-S=HC\[BQEeJpi*"KR\]*ZI -StVaIIAEpGYHk1&R[BD+R@]e1N.6(nGC=UTEcZDLH@'sdKo:b9G'A+^OcG-?F`VhWKRJ#cJ;g%] -OHbicLOb#4O-u`>VkToOMhHP(H%(3lJqJl@Up[4iMi*[bR$XATqS6_ZDX"E -LPUP0L5pn4G^kR2Pc2C7`5BU4]X+]6R$S><0_T:;FJQ^48GWg&0gKntJ5JruFdL51SBN/j'eN.cV+I"70BQApQLM2dCFI!g^@Y,n.P -K6Mg-S!&boNgZ?"P+&2EXJMAIM1U(uK85V_Wi;kiOc>NsXgG[S]=,-V]==o3ObJ7/Fa/7^J,Fgo -Jr#GAKnkS@I1Ng$$)P)G6SJqT,XTTt7]L5hC^QD'n5Oe/8;Q^*l"Ljj_k -F*2bTJr#D=J:2cjG&Cr,BPD-oCi!m&B5_d/I=m?@OHZ3'NKKTnMiO4'Xf%e_VkTfZU54&DKSG>D -Lk1GN]>M\(XeMSeX0fLJVj`j7Mh-2%I!B^QIXQQmJqAQ&JVAr9Jq8>sH$=O_N1dSr`4iIVYG@>? -KS>5@P*_>fOdhhIP`q]3R>HNDH$k7%Mk-B)Oc"gIOJ&PMR=om9Lm+I3W0rBfG`%o`U7nEZT95M0 -PDk6LIs-0kLPLeLQ)1I`XJ;5KO-#EbPECfaP*(`^LkUG/G&qkPH$b:1SXcCI/XhujOc>BlV4a3E -R$<>WI=$EqL5_LbMMRCQIT73#WI"R02PF.Z'P_FjPR%'J-SYrEZ -S"Qgg[^egWg\a$JUMllI"RB:OcYHTOe8VKQ]6r[Iscj'Od2)i -NffTpS""GmZGF2PV5L2VKR%lmK92LgR\['hU8=WVTqdp)KoVOcM10i%H\INFQ'Rf,QB-uaKm@oo -KS"Z$KohUePa7`*Q&^lcObeXAJUD]eJqS`'K9D[iS!g%`eC;:5UQBnGF`qtNEcQ8EH[^QtKS+l3 -MMhCdD1[4fKnkG[L6.^eV50r[OF__*LQ7[bO,8^ANfo?Z -R&$FAM2dCLNg#QXGBJ+TIuKnmUnF0X-8O'N.HeQSY<$pe)96CgW$Y*Z_WV@T;eZ]V6@DD -^W"=,WN!5>e'Pk4U6pssNKp0*MN"10WNiCtV50`QS"upmbgF\JUPOMMLRtof\>c:([^MofH%q92 -I!d;eHARZFO,/71Iu'eoV5g`)['?g*LO=N'LPBqpH\$g!JVf2(8IX6g7W3s.G_9L3Ha2Q$=b07]2Z*::%R$*MnQC=MAR#?o_NfGlRLkghVSs>1hNJrIkHWMQ/KN/`aQN/i[@L6\R:[_9PqW1g9([[N&8VRa+= -^Wjg5\#Q6uSX#q[_o$u;\$)g7[@NA2JUVifIu9bnT8@oEM3!ssVPLH7aM"m]Wj&b4Xf]+J]<6kY->=?XLGaR_o03qYHb7/SXQLkc,I/kVPg)WQ[sX8G'/\2QCsP1Uo^8MKSkhZ -TUq@+M3!ghVROIaaL\=;:mYcb7.SXc[d]=>JUV4jfj[CE?1Q("SNXKJqDYc>=Y -_mc>-QBRQ+TT4klOb\I4K:&3pNgm>k_S!e-a2,BtZE'OYPGkpsXK&4mSt).1Q'nVPXfA.dR@9e> -VnpNi\@T>VS!0.sIt)p3SYMgDPFA/BYdCR;[]Z*QNgH#qS>`ckVlZnnSXc1>S=,e7Sskh5R$3Yl -KmnB$Mj:!=Y+_)=NLd#LZad6*PF&#BVOa*[^NQJWhGZ2It3-4V6$]&_7-b[ -[&U4=_SEd`Q\pQUQ(Y+]ZDX4`T;SfpZa-U'UQLS$PCe+0IY*NBR\6LVYcOXnTVo'([&91ILkpb< -R&I9pZa[<@X/`;.XeVf$[C!*:XK6oKRuX#@YG@YYVmEP5^;%:aR\#k-LkUM=NhEAFNJEglSWfA1 -WjfaZ]qq^.XgbL+R%g+9OGo*VP*D/rTWYW*W2cPWOGo0ZP*)9-R\6jjXeqe`Ss*t~> -nG`O\l2L)PnaQ#GmK;kFnFZ_Os763[s76-[s7-9^nF#]BliHMArU0mWmI0N5rUBmWq?nFcJHo^hYCn+lGWmdKZ8nF,fE -mJlVQn,;eTnG_tXnG_nUn,VqUn13tqmd0<-mdBB-n*of5lg4',n*of5lg"!0naPu6mHj9.m-O-, -m-Es%m-Xc>3:6/&naZ,;mdBK0m-F$(lgF3.m-X0*kjIp0naGo7nF#c8o(2MGo'>Q*m.'Z8lg=-/ -nb)VNqXORUrUC9fo'l)7mdK]:o_%kTo)J4ZnJCfhp%7hEnF,l9o(2JBmd9Q8oC;>=nF6AGs7-Qf -nF5u>o^_JoC)#2mI9T3p%7tRrr<#t)YNUm -rr)KUmdou5kjJ0>rVH6Zo()89nF?/Crpjdpqu-0Vqu?ZqqY'FCl1"H@md9H2n+-/Emd9B/o(i=c -qt0CIp%\4Lo'Yo5m-X?9q#16mqt9XYqtTjWo'Gc6o^qY=mI9Z9lg4-3p@n7Np\=UXnET9!jQu[< -o^VSOr:K:8iSiter;Q_9n)s-4rVcEQkO89IoBb`)lgF?6l0.^;r:0+nFZDDmI'Q9nF5f2kjSBIrV,pOm-a`Mr9E;%nb2bJm-X60mHj0. -nEoQ.nacAIo^MkM!V#j_ru:h.oC25>oC;;;l0Rj)mI^/Hrr)fmq=XCOoC;hK)=HeOmI9c>pA"=K -mI9W/k3MF"nFH/?naubYrs&Jpn+-ATmJcGqnFlSHp%7tRp@J(ZrVcTam-X?5lgFZMrq5aLqYC0k -oC;h[GP(._n+QSPo^hM5jR)U9s8VEGmI]r7jmi3FrVc?RnF5c0o(W%Zp\=LSnFH;Ms8Mfeq>'UL -p\Ojap%.nOp@.J8nFu\KnaQ)?nEoZ8nF#rDq>UEfmI^;Pp[[eBoC_qQoC;>>mHsK;q>1-kqu?]k -lKS'Cs%*"Wl0Ig)n+6>En+?SYs8MZ`p[[qHl0n-3q#'s_qXF"Cn*of4ki_1%s8W#aj4rhqs8Vu_ -k4&'=q=Eq;nF,l:na5N)m-jZIrsehpna>u@p%._Eo_.qJrpa[hki(Uhp&G'ioCDDAqYg'VoDSXc -p?q>=p@J"Sp@%>;q>^Kkp@IqMp[@P"k3)!rpA=RNna,H$m.9uHnFlh[rr`)hmd0r=39p&/q"O=Cjm2aB -s7PmYrUB%L9l9CqQ>mdg)@m-!Hi -lLFZ=mHj92oCMPBnbE%[p%%\BqZ$ThnF#]4q>^3PhW!o%o(2kZq!mP9o(i:bq=*kHp[e"InacGG -p%IqDoD\c2rq#ULp%J(Io_J4NnG3+`p&"[UlL+-+m.^>EnbDhSn)`['s7k^:m/I%bo^;2@nFHAP -q>1$fp@%J>mHX$)kiV'np\smVqu?BVl1+QKs7l-VqY'7=lgaB)nFuYQq"+%@jm2X7p%SC`q""(E -lf[U.rr3,tkhtk*rr6d5qsin7md]`6nb<%_s82NZnac8@naQ#Is7u3NlL+9.kk4uUp$(f.mI0Q; -rVuieo(;YJo(W1\p$V#'jR2j>oBPN/qtp'Ni8XD/r9NA4oD/Fdqss:Fl/h'qpAP$jq=XIVo^1f# -j6QO>rr`2ek4ATPs8N&os8@07lKe!3o'l5Cq"a^VmdTclg=*6qu?]im-F$)nb)J@lKRm.'T2lg![,qZ$Tpr;Q`goCr(T -nF6)@mHsH:o'l8DqY'IJoDej_p[mh=o(;;6n+HAGp%S1[mn;s/k3M[9qXWb0na5Atnal,0mJ-MG -oChnKo(`.[p@7P;mdB`Dq=XX]o(;SmIC2Us7l*OlK@R0rr5@^p\OjeoBkZ& -o`+m[naQ,@o'Z)Dq"aI?hWak9r:9FQp$1c+k4AWQrVccms8;K`s8W)cpAb0ckN1mklgaZ=mdg8S -s!dm8o(r1QlM(>Yp[IbIlL=WIq>1-kr:9+Eq=O+@nF?#9nFH/;lKRX(o^V>8rp_3#lg!Zqp@n1BkOJBEp@Rn?jll:6 -rr)KWq#CBjq![eKp\b$jE:<#WoDS^erU]73hr=,'s7,.9o_/+\s7bj@jR`BIr:K^Xo_.qDm/?t_ -oBYT"m-sN4nFH)5p\Y!gn`Am!mIU/HmI'`Ks7,CDqtfjIlg!g(naGZ#jQG^nq>^Hfo_%nPrVcTd -lL"EDm-=*/rr2fp(&IRqrV5dLs8VocnFle[rVuoah<4M2ru(7ckO7j-naZ;>gY;/rs7uBas8W#h -o(VkUr;SnAjkeq]qu?]dmIL;Wr93&,qtT[Hk2u7.q>0m[p%A%Yq=O4Io(DhYqs!/-q#(*_nF,l5 -lh(5To'>N*rpKg[-1U6^kNhI1q#:T/q#(.&n)ij!oD&=ap@.hVqtU!ar;R#tmd0?-m.'uNrtY+dlgX]L -s82Tdp@7P:o_S:JlL"-6rr3)lmIL&OruM(6oCi+^s8)BWo^VGBp\4CQn+chXr;H9Tq"=+CrpC9d -l0%@%q#10cs7YpOq#13lE;K8*s757-k32F:s82EYo'u,7mdg/QqsWtGo'u/0lgF*'n+cSAn+Q_W -qY^BnkNMX>s7u*Pq>TsJpAb0gmIC#Mp$_VSqtg$Slh(5Wp$1Z'mHNs(kjJmg -q!@8=s8VfXn+Qe]rq,O=mI9T6p\k+:o]kc3p\XsirUfjYm,?drqY0[XqtKg`p#tK$me6SXo'GoE -r;TpklhLJQo'H&Ho^Vt]oD/4Qo(VP4li6YAlhpe_p\=U]p%.nQqt9:=nbW.]s8W)mnET0#meleN -o^hSCp$h8=s8VWOkk=];nGE"Ln+cSImd'96qZ$TpqYpL/p#5<4p@7_MrTiec6oC__>li$i!p%7qSs8Vl`kj@a0s7ksK -q"4=Vo]u)Hs*FS4lg=*2rVufno'#N9q>1$cq!@/=p%%nPlf[X)o(`+\p\=Xap[7;3nFukToBki3 -pA+1Fo(MVDqYBULo(i=]o(;qXqY9a]s8;?LnG)\Gnb;nRnb<%Zq=a+Gn*B0&nbDq[s7u!Iq#Cqu6U-oBkl3nF6&Brr<#i -m-sH(mem%`(@g\Xp%.VAq>^KmqXa";oD8@Zq=O4Orr4ADnEf`AqY^Bfn+Qe]qX`n8p%e=Sq>'m` -s8M]eqY'^arpT7IqtKUYs!R[2lKdj.q"jg]qYC*_oCMVIq"sd\rVQ9WoCi"Pna,K3s7kgAlh:/S -1]6q:nFcJFmHX0>s8MEHlh^YTl21M\p$VDAlL+9Bs82K\p%S=Xo()PGlf[^'jl,=ip\t1ArUT:I -s7?0grq-3in*9<,me-SQn*frDp[[S4kjS->r;Q]hnFHDMo(;n\#PdZNo_e^^qLSZts+13$s7-,>~> -o)B<`]U4J.IX$0aH$k$iIsuclIK"WoHiJElHi8?lHNSP-'JqSc-IXZcrJ:RWM*.rioJ:N6(KS"c+J:W9'JqSf/IXHQoK7\W% -IXqEL%"NhWJ:`H/LkC>3J:IQH6@aW=K7no1K8,#/I!^3hIY*6*K7SW.Lk^M1ItWW7M3=*iSu&Hd -VP9B=RA$:?OHPijM2$nLPaRi#O,SsOKSG>BrJjg;Q'dVlS>`NqZEU3mNJ`ICJ:W<)Ko1kNMM[1J -P*qu>S!8nlP*M/gN/31@Jq8W7R%pjiXJrA/ZE:$tQ]6l]Ock`]M2[@LK7\c2Ll$nANK0#pM1gJ8 -N09p@[]ZU1Y,\(VN/NadVn0gg]r.9bSu&0KMhdIfW1KHBO,JgHJqJlBTV.X6P+%l,OcY]fO,]6a -Oc50SMiWs]NJNIPP*1lcrf.JQS=lI?Oc>BZLP(DCP*Gs28Wf@2SsPFkKT)+eX/22FP+\YGRZiks -P)Y?UNf]6XMiNdWNf&IALmXd0WN2qgR$3PgN/`XJLl7:OLPChSR&I'iYH"CiS=#WAP]`1MM34$f -Pa.T"O-,fsOH,NiP*h],R@0S@X/N(tSsPn>Ulgb!N0'?kP*ME+UnsocX.l/NNerXUR@L(W\$N$- -UT:AuYFqJfZa-HpO-#KcNJWOLLQ%UqWOJ[bN0Tp%Q'A#G[(!TMTpLk#O-Z9)R?3PnCm('RVm*\7 -Vk^&^RZa&-SXGY&PF.u6QBRT'R$3YoP*_Q%R@]k:Vm3\F^p9c6X/`(nV5UJqUR@'oJUrH1P*qr: -V5U&gYc!t\W3W=oQB7?%Tp^XhLQA(5]t_:h[^`ZO[&U!uUoLJmUSE:*Q'7;hN/34EM3+7"R#m5d -T=E"a[A0.`U8=WROH,HaNK0$VLPh4eXLl?ZUR%+&NfT0VLPUhELP:MAOd29"TW,0([A]LUMiX9t -R?j;ZkPECo`L5hOmS7OHPfkQC!Ye -Q(4G5O,]O%X.PT;Pa@`%LkgnNP)tinNfK0]M274]Unso\Q&:BVQ_0tDUpe=d\?W?K[Afmp[&p*n -S"?IVW2#oNQBI)XJ:rZ7QD'n5O-,g(W2QDZOHG`nTVS3FP`L]^Q_C:VU8Y/pX/Ve\Mhm4KMi3"C -P)kQWK8>em]!\B/Y-=XdQA^clSX?.UZ+$^$OH>WiP`:p#W2#ZJ-Unh"^P`V31]"+i0R?Nr2UR[U7P`h5t -Up.DB_Rm%NU7@C)Ng$':\\5GUUQpt;^<=X9`PB7*^9ji3QBRAkOd)3"R?WhtPa7c0PEM<-UR[gG -PE(HTMZ/SiRA6phUR@dYZDF%YQB72pUnjQIPF.l1S"HghWiEA/XJ_nmUmdO2Ll.+MNffWqQ^Ic? -Fd.lBKS>#.JVJo3LQ@@RQ^F,2TVScnTqeT`SY3*u\u_d.YH"J'\#5XaS6Oc5*SQ`7U9^q[:]Ybmq_St;F=R\6@HV6I1* -USP&oTTkY%NKTd'T:hgKTUhI:S$'--YFh&@Pa7o9TUV:2OI`J\['?p=Um[dFR?WhoMi3geP`_/q -RB3d,\[&96W1Tc[VkKQHS=5_-R%0Y6Q]-o`4,f5hW3iA!V4NSX5h;SPl@!^T;%sOSretuTVA'MUog_qVm*f4^N$`^Q]I2k -QB[SmMia6qV6$bpSoR_QL2U -[\AbW3TStD^RX0&D!R%'tNR[BeD[(+!!f$r*n\Z`6HZD=G/]="iI\\cA,cH^jLWO'RmhpoWP -ZE^C(TVA?WOclZU_R6\U\@8W=USOs.f%\p'[>g-.T!HAX`N#`8_8ipPN0Kj!O,oh,eD&Ns`PfX%UmI4)O(auG -MiO0rS!8ecL5V7cU85NA^os2gNfos0Y-4dqQ&h,nQ^t"X\\Q7uXJ22PTW,iN`3PqtOHZ64Z+@KX -`RN8ZaiMQIcdC:`]!S]@US+?YX0T7BUm$t*Q^s\:SY;gMQ^*u0Q]6u3PaeMW_S!"?R\I!o[Bd$: -Xg#+9X.YoPR[K_BW2QSiYI:pM\Zqp&R$iisRZ3Q,Uo:i?]=c%r[Bd!C\[SZ6W36-+34d/YeBl4GWhQApZF7?Z -_83[d^;%V1cH*l<\$W62SYs*Cc,7#u['dEUW1&d#IZ'Y^XIl&`\$pjbR@^1QX/DMOMiO!jVROUk -bf-rdU8FrnZ+[NP_8j6mVRWt7X0f[]^pg>;UoL`0]Xb),QZ)O@cVmucIBf4[q!(XV4ac\ -R%:=[VkBNOWO0R^^q..kZ_j.fY,\7mXgP(+Xg"n)Vl[;2W2$2hVOjZZSXPn/Nf''fSuT3,XeV8P -VQ[58_n3+GS>3n3NKpija2Ya%[^W]LV4*O4RA7$iVQ7DDJ&'";\@ou(`k\pTR$F,D -]Y:qcWh?5l[CX)f^UU;GT:;ICNf&m`R\QshZF.6PZ)ak*[(F,_Z)+"]T:D=K\%B)X^q[:c\A,tr -['m]W['6U7[B-!dTW"c_V5pi*XgYpT]!\QBWLoQCR%9nQZDsFaWNrb-X0B"D^:h+LV1,DL^::)8 -W2HPhS=#nIWMZSq\%K5V[&K^jTVA9]T;/3WVmd`Au"S=H(; -S><0bT:M:1QDCamZa?s=Zbf]#2bCcGRTB^pBu,S#E[%]Z87>_ofp3`5TR1eA\brYHb+& -\c90V[B#pgS"6=TYHP4<]#qn"Z`^C7]">i!^p0]+SYMmQTqS^"YF:iLWOp3na1oI.^UU\]]uJ(. -[]-.)[BZX$V7!tBVn'a`[B$L7X0fOV^p^8=U7e9SS"?INR?*StNf0-rX2)E\\#cF0_8.eKe]YV> -\tkjgUoqVcfZh"9\$W63T:r9l^WFmSeBZ@fdEBefiSiY@`P]pMf@oeHs+13$s+14?s*t~> -o)B<_YCg_*=]/-p@piSG>Q.h+=oVV(=oDP(=T_`+<)``n!E2tr<?kB7='/W$>7XnA>?kE;>$>6=?!U]>=]kN'#?Oo* -<``=%<;ohr<;fhq=8c2!=8u>#$G?tWC?X6o?>ZtB9 ->[(K;>?G$/=&`-s<`N7&=B8L(=]ns2=]ed-=&r=";GpIm;GU%^9MJMg>?P*0=]ed->?Y<;?=$]5 -<*!1,>#ng3?Xd\bDK,Pb!+Z":.qE$o>[(B9?!^oK?sm5G>[(?9>$YB??!^cB>[LiJ@U`VJ=^50: ->[UrJ@JjU7@gcaS@:EbY@:!2E?=*V:$=@7Q@pr\M?XI2Kra?dV@UWYP@UiqX@:@q0%]BPM?sBP1me@UW\UAS,OeB4bajB4PFY@:Wq`C2%?nB5)-o@prhZD/aKA -IY!?=QBm\nJpi<5NeMh.IX?'OEd)hZI!BdTEGfQ0E-$1$FDlAQKR8$&Pa@o/QApB;FEDD5AS,Rj -Dfg/CEHHAOK8kqGI!0[[IX-$VDes6'B5;^KR%g@HR@9b?R$!;[H$=LZH$+(GFE2>6BPM@#DJX-3 -G'%S7B5`$LQ`@0`SXc.3K6hW]H%_3NX0AF]K7b/$O,\m>GCba=MM-J'F`MDOH5WpOH#!BG'/(_ -O.3/SXeM>VUnFQZP)c!*S -CN"KKLQ%C]NL66#MN"%&SX#%^J;&Z*EH?DXR&ma(ZD=:&VP9rcS!B%rQC*ntOG&.5H?aRPCMIR, -KStY;I=[N]]tCD7O-GloP)+I1HZsXWGBInIIZpD+ZDEY6H?41OFE)5>D/slLKSl+kX0A^t -Ndu>$L5^k?Llmg:Mh-%lFF8^uNerF>L5hO`Mh?M.I=?9YFEi(TH$asdI!TpUH\7--I'JNgl]+M1U>5K7@l\GC4daH[p]Y:JAUSsuV -OH;GpRZ`SfO-Z?+QAgKHH#mqEG^OspN.Z=uH@q0BQB@&UJqSl>Oc4jCI<^'iMij6_P*qc-R$3;K -rc!@-Df^2MH?XITKUJpBS)mQPDY?^Q]IAnIs$!YE--YaIY!H=R$!/Y -QD:(4O-Z`QX-/-kOc>?_OG\X@HZEtCG^P$mIs6$XG_:p*IYj&PF8>W[^3iFMLTo$Pbt=DKS+W$N0&pM -L5C_BNgloMZa[*2RurMTG'7MGMOgiUZE0[ZN1[W!`4`moZa-^+P)4a25It<6+M2m7A -LQ7=HJq\MqG'/(WH[1@,S=l.)OeJV=NJN7:I>*oPO,/IHN/W[TSYDRAUS=EMQBm\iJ:)?XFEVkT -J;&^VLL,[_G&V85BkM4"Dej00EcZb`Jr>\RSt(h&P`LTVR&[6\R\6OMR@^49J:rW/L5CP4MO_N& -a1ejZXg5.=]sjr3R[K(bH?sp`F`i%XI"$WrH?P((PDt6KJqA8kG'eUsU:%_G\#Q:"R#[5dMi!4G -OHYcnUS='>TUh0sJU`-%N099TUqI.P*D&eLkU>' -J;/c4M2[LhW331qR[0:uMia*`M2I=PLP1J@Lk^M*G^=[cN1R#F"LPUV5Itj,RS!fS+Mh6>.MN*jdOcto\K8u=fQ^+)MUn!X)Iu'#G -OcG9TMi!IONLZT"K8Pe_X0]%/SXGb'JTl3TD0q"sOcG6PL51P:L5q%DPFnq`Y+Cc*`TX/M_^R['V: -R%q41\tu7(WK`!^J:WN>S"#k>WNkNf/dON/`gPL5:M.GBo"%M1gM%GBnS#R?N8LH[L*aI"[96R&7'hWLoZ[^VmU]TV\`jXK84eJTua-UTpr!R#$6=IZC,,TTl"E -UnjukTUV@?Xgk[AVl$DgVl6>WYDpTULq(N/<=KP*V=2U2l][I=$R#N0BoMNX7(Y.W$1f@Ad&hSX,"eT!>c)V5L>mTpM(>%.Jr5;1H?agt -R$s7rJq8Z9USauiX/`5!Y+15rK8PSDIa>\Ss>+\GC>!qNgclO\&#DFPDY'OR(C/KW0)dc -JrZ4rZ*_!YdE9MK`Q?ZDaV%\%\](Mi!4IJ]X=fM\A-,0`kf6jW1fN?T!l\Y]WnZCW2?ARKmn2cIu/rQQ&qQ:W0W7!PFS>24nX.>`NTVSKpY-,7IZ_jA%Z)jn/\@f8TV43rJTr>-#ZDF+fZ+7N^_oB9p_oKBlU7nuYc+.ZO,K0iX/N"rUn4-OU26L,aj7]+ -ZFI'/Q(!efLn($)P`V*$W3s(?Y->:9T8Jl*SWLB -S>W?[Q]I<&W2[&3Yb.)T:NKB3ZNK]`sR@Kn@S!T1nLPLVVl?u$W2-)_X.to;Q(=A0Q^snOWj91DZ`g(!SW\haLl7@hV43I%R%Bn;S>*$h[^if3 -S>*!jXdtiKS!o\(MNF9sR@9eLYcOb%SWKnTq%L(Z[D9f$^;Rgt^qm_! -cb?HTV5BoRrj%$WVOE^5QCaqQXKAe9`kJaYVPU?#\%fhlW0`O(P`_)gO.E5BNfB6rZ+I`\ZaRHT -[BmBU[&pGNX/)5QS#*=#`Qlu]c-Y(nd*ge3jPeV.`6Hlcg%0dpJcC<$JcG9? -J,~> -nG`O]k5O]OnF>u9mdBKAmJueVoDeC\nc/+Yn,Mk[naQ#8mJZDOmJZJQmJlSXn*ol;nF68As6U*[ -n*oi8n+#o:rU0aUq!eRZnaGo6nFHJHs6p6ao_%hGn*p,B$LmTUo()>@nFQ5@o^E+QmdTc:nF,fE -n,DhVnc/1[nc/+Ymf;qUnL*hrnF,f6n+$#?md06(m-jE5oC_eJnF,f4n+-)?nEoT1nF5o9n*^2B -$1@9MnF,i5lg=-=mg&1GmdKW4m-=N7rpBaR#jq!ElKRO!mI:,F!V5m]mhkQao()25lgON?na,T. -nFH;Hq"XFPo^h\RniZR9nF#`6o(;SJp\"(Fn*or>naZ2Bp\4=Lmd9H3o_7qHn*TZ9oC;>i4mdTcRq=aIQoC2/;n*oo?oC22@rqGgNp\=adqXWn9o(`"Mn*fc8o_JCTna>f4o_eac -n`fB3qYKmUn*]Z4mdp2OrVucfnalPHnF-DL!:g'WE:`_jmI0Q3lg+!/p\=FOo_81Uo^D56l0@[, -p%SCarV?'OjPA_RoD&=\na,iDr;#mJlh18Wq"+"AmI9`;lKIa;s7PdHq>'aRnauMEmIBlAn*93( -p@e.Hlf[U&md'6,m-*g*p$V27naQ,An*bPpqu$3UkNha;rqZ3VmHa6;s82Bp\FOToBtl5qu?]oo_%bBnaZ#3lKIU'n+$5Pqm4e,+p@._Go_A+InbE.`p[R\?o^hPAr;ZfoqYgBe -qu$!Qq>1$\mHa<7p\".Mn*BE@p29p,m-*g+na,N4qYL6lp$D/9l07^2p@\+Hme$5BnbN4[nF-&F -o^25Dr;-$Tp%S%Ina5i?qY0RNnF5l3me#u6oD8Fcs75ROs8M`^o_S=Up%._EnF,o=q"jg\p%%DA -r:K:@p](9hn*065p([>qq![SBrr;igo_nd\n+#f6mdU)Pr[Rs=n*ff;na5Q)kjeNGo^(i(lhg_^ -q!RPCmcs65qY0OE -jluF7p@.bTs7u'IkNh^+j66%!qsin4lgaK2lmD9"s8;`@s8W)nn*TW;p[RqPo^2)Bs8;KcrU&_3lgO99qXO.Op%J.Pmdg5Il0Rg6s8R<9 -n+?JJnFukXqYBmVnFQ2:lL"$&kj.X4s7l^0TmIBZ8oCDD>n+$)Dna#Q8rqZ?aoC_eMqtfpPm-O00nF,f7n+65Ns8W&mp[@\A -m-s]@mIKf7m.U):lgOEBqXF(Po'#*%s8V`\q"OCGoDe[NkOA$7p[ID4oDejgp[[nOrpod\qt9OQ -r:94>nGW$)md]rFr:o^@m.C&Cmdg/Mo'br4nbN4br:K.3m-O9Brr)QVkNha4p](-YnG`@Sm.'N2 -oDS^hnEfK0na>u=qYgHop[IS:oCDA9mdfi0k3hd,me-;EoD&4Yqu?]ppA+RVmdBQ1qu6WqqtBg] -lgFHAp[I_GolTWgoD8@^s7uEZnFQJUs75sZnaZAJlg='/q"jaUoCDJ?l/qC2s8DZWmeZS?m-aN: -lKn0:md0B0lgFE>pA=d`nE]H3o)/4To^;DLo^2>MrV6$Wp\=CNpA"@Vrr;]Ylh(&Jnb;VEpA"CU -q=sFBk2u+/s"=$2lL+3=rV,sUp$qnWo'#K2o_ngfp@@nMn`f3!o(qt>j6GmtmIL;Wp[IVBqYgFD -qt0XUo()JEl0S$?s8W#nq>L9`lg*]kk4JNMrq>pQoD&%Po^MDKs8VflkQ0r>rr60rnF6)Js7Z!G -iTpFAqsa(FoC25@qtp?akiD(*s8)?[r:oRCnal_Zr:]p^p\XIEnb`4Slh(/QlJh$plhgVWp\"=[ -rr<#qo(W1aqsoB5<+p%\FZ -n*0<9na,cEs#f`1mI^DXs7bmGoCMMAo_\U]n*0-*nE]?)qu6Wjm,d^Kin*0H@s![I#l0\6Fs7l0Ji8oD8Lep?h29q>'XLoDAOep[IS;rpg<`mHj90nF,]BrsnhjlL"!, -o(MhLlfmU$nc&(cp%eLbqXa.Bnc&Id&,Ynbn+QGLr;63`s8W)srqud&p#tT)m-aKBrr2os,P'pY -m.C,Ko_8@^na#W7na5W(me-8MrV#UBmIU;Vs82T^qYpL&rqQ0Wmd'95q=a=Kr;R2pkj7j*jQH"* -q"+7Zqu6romIgGXs8N&rrr69ojQ#:hrr<#oo'Pl8o'l,;o`"^Wn+#i7na?/Jo]bZ6q=O@UqtKg] -rVbmAnGN4UoCi._q<@POqXES;s8V`YoDA4Vo&]-6s8VWVn+6#4l0dp,o^h8(lhpPMrVlg-qXF%K -qu?ZilJ_'pm-O6:rr3<$p@IY9o)/4Squ6U[n`K-)q>^Korr;cdmc`m&q#1'^p\b$fqu?Zco(DJ= -m,mm-lgFKDp[7hTs8W)op%7hJn*KN:q"4FVo'GoDrr3o5nb)V@iSF>/rqH*Yn*^#AkND-tp&G'c -mI^;U$ha/iqXF(FpAF[Sq>UC6q@ -r;60[p\FUUnF5]6oD&@cna5rBr;QEXnbMhInalMOqY^?`lgXWCp@[qCnFchV$2jhlm-X3+lLXlO -rs%uXnabf)q#::/q<[A4nauMIpAY*lrUT=DqYpNfqYBpcrrr2gl07m?rr3&onGE4b&GG;Qo_%\D -rVuijs8;Ncrqucq#4q3KnauDMrr3Z)o(;VHo_.tNq#(-hp\4LYp%.nTn.5*cqt]mUmHOHHr9ih6 -n,31bs84bOp$_>:m/-VPn*]iJs82L=BqX=(ToCMqYp\k-_mIKi^9\p\Oaaq=="Bo(rCdrVQBarVuc`med"`$h<6:oDSUVpAY*i -r.4m!s+13$s7QDB~> -o)ApZa.A0DIX(j;"aYTHJ:E"FI/eQmHN/9jGlN$lH?aXWFo?F^Fo?L`FoQXhG^4U]H$T40s)nZl -G^4RZG^=X\rHJ)3rIY$$$\EnXI=Hp+K7SN& -K)UE&J-CLUK7nr3rdjuts+5QLKS>/6Ko1Y=Jq&5uIt<3'K7el7NJ`F?J;&iHZLP^kFNf]<^N0'HlN0U'6Za[MN='p -Vlm;0[(*03S!8kgO.!,Y]XF],S"QIHP`(EaUSsr]S!8qjKS"l3OJ/J>Q'\5?Ss>J'P)bNcQ^3bm -MMmddD3U';LP_"LMiO!dQCFSDS!0"qMMR.DM340rS<]/!R%9_1MM-YAQ_UU\U7%:8USj`MPEM)h -Mi2;OH#-SM2I1ILP1D6JV8rFQC+AHZaR?LV3d@(NL$$! -Q'nYJR#Zu[OHlB2V50]QStN0`TU:q,QC3eoOdV]+QC=2*OH5M, -UT15]Pa7i?UR.('Pa7SiLQ@afPEV;oO,oB]MN*q!V5'TAJq8]?PaS5H\A5tgX/iJ.Vl-]0[&0:W -R@g=UVP0QLQ&UQJJqf2QWMc,HPaeGEUnOBES"?7IUn3j@P)b]rW2chfUT(B!Xe(W4MdhX,N/3@P -Oc5'LM3b$DWM?H$\>YdYN/j6jOI;r?ZDX+POHP`eOI;rHV3['rKS5,=Ng633Uo:K)\%'/l];hEk -T;8HhXf8"`QB@2dLPL_GOd)/sQ'7DsOH#9`Pb4hGR/WD$Q`%0lRZEZ&T9,;2T:;@=UT:f8^:CSN -P)>*SN/s0kR@p7DQ'eDQX/Mb_S"d$mZb!fST9bktr\#lHrQ'.,jSYiQrZEBmcP,,h9bfIc;\$N33S!]D&OckrsStVa@OHc0&StV@1Q_UFMSu%X6 -NJrfHO->p(UT(GoS"[*tVjWj8Nf9-iSXc+9SXl14QDLdeYI(@.USFZZR#d2_rf$l8AW;_;St`$S -RZrkeKn=f*Lkp_GQB@H*T9u";TrY/`T;A6SSuB0.VP'lcURe9jYFqASQBd_rMjC?\b07o<[C!HM -]"PVWW2HVaOc,3]O,T$QLP_%SP)bBbU8X`QQ^XG-O,T#;Pb5.i\?r-,URdjLTq\*CQCb"UXgYO0 -Trb5[O8b8hR]!6gSsl(;V5'H=LPh1d -VPBH=QC=;1Q^*l*Up.D5XfAJ5`PoNlV6@VL_Sa$pRuWZ#WO9+4TTtLrQDLn%YG%M[W3X(JY,A.q -\A5PZY-+n1]u%.OVlm>3Yc7Vr<2#qZWiW5'XJqt_OHQ'+USFHMSu]<.WhH)ZS!&emP*M>tOGepN -MN*dfT:D.2R\R!eVk9HHTWbSlR%BnV[(*ic^:h=]WNj%CYI29`\?;m<]uL&p=LY-2`6[,^_S*au -Y+V;YWN2\[U:/(K\%B;[X/W.pXMW9-ccrQ^k%ZWhGlJR@U%Q -Y-G78YHY7>Um-q,SS=67X`PfO$X.GWETVJTs]YDJ4 -dETbQaNDYJaj.`0YHFk$TqeKdZamTEQBRJtS!o_9VkfcEPE_5hMi!^kVQ[J7UQLY)VQdA1Z*(OK -^Ug\KU7[j=R\Qm]USt`C`PB-iSreqhLQ%XsW2HZ#\%92^]Y1b[^!"mSeCDjgbe^?LQ'J#G\@/T> -V5UGrX/gQJYd'jaR&-jh\$<'XX0]"*Tr>?5\?*6^^9F*(ZEgL.Z+IES -ZDFP5`PJUNU8+9CPF\VRZ)jIZS?8ch[DU#+a1JX`\@oVcX.l\sXf\e9`6cfN^q$YJXgPC<[_p8+ -\$*3RaO8JW_SU`)Vk09FV7"1c`k&R_Z+.Q[Um7(!NL?66V4jW^XJVJ]VlHbnTUM4+OI)Q@]YhP$ -]!&!.Y-YFDXfT(K\?)R?]t1Y^^;.=cVP0feZ+7ZeZ)FnCbKe>Rahu'Ec+ploY,nCcTrY#\P)5O(_8!Oi[g]XHVk06FWO9CR_6p9AUhHX,[]lp>ZEUR@Y-#7Wcc!K0]=4c7VP'HU -[]lQsR\I$u`l,U$ZEC(!SZB*%WMlo%WMZPmVk]ua\?Md%VlZedTq7^>R$a%rPa7i=ZaI'=UnOZb -X16!TZ_NnXVmlU2Un=]hR?Ei$P`_&jQ^a2"PEhK0ZH:,!\&$;1]u%LmY,%VW -R@U%ESt;XLTVncgUn=*ER?j8*S@6>M^:CYZC:V!cW1B6FStiEcU8boHb0.lD_Sj=(Z)OIhS"-Om -[]69sQD:^n]"Geq^U0l-QB[JiO-cK5XL#47Y-YXCX/iG3\[o&MWhlMgV4as&]X5)\^9k2V_83L'Z_X=tYc"P9dFQ[^[]5d`S=uUL -VllnjR?jPO]t_"d\[B&c\ZDTsT!6&Qcdg@^bL4G@Vj;M']XY5JXT,X,[84!(US=KXU8F`^[(Wf=S!g"W_oKd,[^*!5X08hKa2,3b -WN`qqe]"u+`R3&ViqiW;jo'c1JcC<$JcGHDJ,~> -o)B*_]o@)K>uOU"$/4='&Q$>Q7k2?!^lD>?P/)>7+P<>?kE;>?Y99>4l#(=&W$t<`W4" -;uTbq$$5$1>$5-:?HF -?WpT;@q][sEH1tks(D@C2Ig?j9qGAS,L`@esO5@fKsD@q&nXAnP^erFGn=$Y3^S?X[P]B4YR` -B)ZHCA-HOVB4u!nrau.@s().@%VB?eBP1spD/*`rAn5Icrb+Z2BP_X'An,=aDK0ZBIYGV59rNLkC(uEHm"tS>)O7L51bIM1U#!KoqX]MhZV(FDu,7D0UkrK7AE3N/3"5IX-?eFaALb -G]RnHIXZZfE,KW:F)lDMJUrW=PDOj=GB7_BD/acOLPLG-It``6I<9=DG_;'DP`CHKLln!aKn=i' -FDYuAI=$9eI!9dZG&V>@K8>JNR?NDRH?F1IFDu,8D/jW\$W05 -Wi)G[SWJenQ'mbhIXQNcF)c8DFb#F6O-b]MG^tO)LPqRsWjB.:RY5s-FF/OgI=?BcJr#5-N0Tci -KS+u6Is??lL4ju%JVJuGQBHQ>H@V6WY,eCpX/r"cTp^t!N0K]rQ'I#OH$=CMCM.8NQ`6L6IsZQkI=[?0=M2m1BPECiaM3XU/Xfne$ -S:>^*H$XmgKoM+WQ&UNRPb=J3PDkQfT;SK`Wh>N4O-Q,tQ^!&AFE)DDI"6KhKo)"[QB7?$RZEYs -TWP)QKo2(PLQ.=OJp_]YD/scBGCP'eH@($pNeN+CMh?D,LlI[dPEMLQ.IYMiX3hOGnsHItiuCL4"5tO-5EOG^GICU6UF]JVSu3IXm*,J:s>k -Z*LdK[&T^\LOFDfHA@c[Wi`:lO,fmEaN)04Z`0[hO+`)_ITh>YN/rpMIY*?3N0/aDL6%@MKoLM. -H[0pcJq];KR@]b)PG>4JMhQe1G^k[5Nf8mWO,J^IPb+G;Tq%RK9)\;^qdXlZF%-E -ZF6s5SXPt(IWp$_H$4CTGB\@\H['^hPadhiJq/AsGBS=ePbbOeWg]'7N/<^YO+*"?KoVRlTW+]N -P+J(uJ:iH,N1-K7P)bH]Ner[YYI1[6P_OU6K8,#0KSY>1JVoGEMNO$\N/s$WMN3^RK8>G>K85DG -Tr+ieSWo8#KSY_SOGSgRNJ<+EP*2#lIX$'aKp&%)R@p1?R%0V-R@0M8SIXd-BZb*o^[A9%GM2.(NLkC;3L7YEBUoh)9^q?nFQ'%,`Jqo>QTpgpsOGo6Y -Mgh%]MLpM=QD:I\V4E^-L4+DqH$+n,S=l@9OcGTiMh[+DKSu@pW25uKPa7l0SY)OJXh1m2PE_B# -Up%D3RZ*#XN0KHjP*;QDZDN_>KS>,8Od;)iM1:#5S>;aBQ^X+iJrc\5\>c!dQ][PlMjgWKWhZDi -U5jeWLPD1dS8XmfTqnTnZ)F:hW2ZJQPELu`L5(M7KSYYVUTCbuR"]p4G^"7VH$FapR%'J%M1gJ6 -LlRUSLl@CPI=6d+NKB3WJr#\VQD_RIb-dt7Q'.2bI<9OQG'8+\N0'*VKS>5Q'$cCDK:#_ -Q'HNJIXm'&J:E3+NL6TFTUqXDXhDQ[URJ'g\[f2NU5*uBMOgiOU6UL\G_)$P[AfX\Q^XVKYG%GQ -S#WcqWhu\kVmNq1Q("GHXfA(^P`^o]Ng?3'SXGh-LOXl0N/j!YLlIk$WL]9:Oc"X7I!pNrIsZ?[ -FEDSJI>*Z;Jq]/KTVJ'DOH,KtU6(:pOf5@d]>;7t_5*j+ZEC()]""rAVQRPMb/_K'R\R=0ccEc. -\?_Z`LmFd1R#m`<\u;U1XeqSUStDml`59I+XFYbEL7c#s`2T9![(E5pIXQm$It<0&P,+_6LkUP3 -MNFO1X/r>"VkpD]LP1PFMLpA)H@0s[Js;joNerOGJprT4JphunJ:ruMXMN6*_S!@aV3QjmO,f$E -G]e:ZH?XFLDf^8WLlJXHX-J3ZG^P.%PE_#VGB.nSK8PtfX09(:T9P7gN1@Pp\Zh`gLkh+XT<>Z9 -`QcZK`5Kasa[F+h[\odgR$P+8JLT:;UZ -X0ARnTX2>CURRXQ.JpW!&MOU'!Q(+>0Mj'O"TUhI8OGAXOOe8ea -ZF7!7StMs]X'r92V6@>0Un>30\[&WP\?E!,R@BnIYID0GUTM2J`l?0F`59^<[]lX'UR7"(SX,:g -H%1d0L6JjEW2d2=^pgb\['$L2WM5iDM2n%%Xg#+.S!TM0S=ljUU8=ifWNN8$I(%&<^ppqaZD3hV -Obo=#URI=,R&$jnZ`U4(UnO9>S>E!NS=lUGQ^=)+Occ$2U6q7=VOs*?Oc"mIKReE&LQ7k#W265[ -S"ZUQYI:O1QA^lqVm!P(SQ]I#jWNEG3\%&iFR#QiPIX$3lMN4$sURe$SYH"@lW3*8,Vk]fJPa7MoTs1f$X0f44W33S: -Y,.qmR\6<%R[]q(VWYcP"6XIklCR&dm>bL4YSaj7r5UQUk5V5CW>cc`r<^q7M*a32rJXe;&I -Q'A&GYc47bTV8$SWN*)*\\Q.u\?`03VQI#+Z)O=\OcYflQBRQ/Y,%;COI3&W]"+lAWMQ>cWij.Q -\ZMX%B<8D9Ssc7RZDa:eXg5(-VPKl`Yd_!?T9bY*S=Q%6S=5RoKS4u,JWHD0ZEg[2R@^Ug]YqOl -Z`B@MO-cWUg#(,aWi)bgR?X&1Xh2Bea2uNSf[Im\e)'$6`j`Iuda?:tqYf^Frdk*#s+13$s7ZJC~> -nG`mej6>jonFZ2=rpKLM'^k>SmdTZ5n*oi:o()DEp%._BnF?>Fs6p$Yrpp'Y"n;!JmI'H< -n-A=In*ol:n*^2Ds7$$Xs7-?`nF,f5mJ?>pnFQ5>mHsB5oCDA:lK[d,nFu\QqY0UOnaH#>p%7hD -rpKgT#k7OGnbr"`m-X92n*TH*rp0UN!:BaRC@:KTlg!^"m-sW=p%\CRnF,c3 -mdKW6n+$)Kr:]RCm-jQ>p\":Pp@\+No^h\IoC;;?n+$#CoC))7rpL*Zo(MhMnF5uDn,Mq]naQ)>o`"M#o^h\Ho_%bD -n*]W7p\OORnaZ5Co^hP@nc&+ZnH&4Qrpp?doCMG>nF?MH!q#UMrp^-\n*oi;rp^L3_mHa31 -nG_`Kmd]l>o_%tGkjnZJnE9<6p@%>7o(2YLo()GFo'c#5m-aH8mcj6>q!@;4nG<"VnEK60qtfmQ -nF?&BrVuT`nEfK0pA=XRkNVX:qtT^[mM>3\pAb'fp[ReGq=!V8p%e@Rna,oDo`"@ZlY,_Wq"aUQ -o(N"ZqtTjUoBbc0o_JLdq>:$_mc;q>'dUm-3g&lg*s.oC2;DrUK7BnE]K6o'lDQru^gonb<"Zp$qP>k3`!BqY9O@ -ipcd:mHX$+mHa-2q=jm]C%(Qbqt^'\mcNp5s8Voap[R\?n*B0!l0\!0p\k-jkNM='q#(0lo^q\@ -lKn'6p%%J5lgaZ;kO8!+kO8'6q>L?hnET?.lKdm-p\k'bm-jB0oD&"GnF,uAn`oE/s8DWYmd^#C -o(2kYs',Emo_%S:nEg&Fo^_\Ip%.\EoCDVRq"+FYn*99-naGi8p%JFcr:'7GkihI-p%%_9k4JQA -n+QMGlKn0n+Gu/nG<.aEq8_ss8MTVoDSR^oC;>@oC2MN -s8W)mmcNBlo^M;?rr<#on*0B@rr;cgmd'QGs7u-Us8Vc[p%RtDn+ZeYrr;QZnFZGIn*96)nFZ>? -mdKQ3q>^Kfn+5uDrUB%8nF5o5mdTc7pAOjbs8W#ckiqR)C[gumqtBOVq"=CYrV,gSq"spcq=3_> -mHjH:n*fiIrU8k0lgjcLrr;urqY0X^r:omRoD8I[o_8CcqtKpXmcs-)m.L5LoCDD?nb2hUp@@bI -qtKLGqZ$Tim-3j8r:f^Jlg4$,nb<%[p&=Len*TW8n*]Z=rq$ijk3Vg;nEfcCp@%JCmH<]tlhUP[ -?hs$Kk3_R)mI9fHrquT^o'c#@s8)0Qp\b!dp@Ie@p%nFTo^VALq!IJ@p[mk;mIU8Us7kdGnb)VG -lg=?Bq"!e9lgXN2mJ?k_r9WM1m-sB$kO.O0o',B*naGc5p\t1En`T6/o'l#2lg=-1oChqLm-jfJ -o',N4q>L?nrV?6ap[[_rr3T0 -q>0sSm-j]Fo^VM5m.9l?pAY(:oBPuGr:]gJnb2_Op@@VGn*p8Qna6)IqXs@IpAOphs8Diorr3f5 -o_JOeo^;>CmI0uQqsj(=l0n65lgXcMqfqo'jlYt&o'5H.rr2QThr!i$s7PjFr;Z]^kj@p(gu/#. -rq5mZp@[n=k3ML$nauD?mI'K1lK[m5q>:3lp@.A3jQ,OmnF?&?q#CBjmcNm.p\=^ZnalYSnb)qM -o(DVAm.'fHo'uGCjluR?p?Lu7o(D\FnFH,jpA4OQl/qI1p%J"AmdBZ?q!mS2mI'N6mHa*&o(W+_ -Ierj.nF,`4o^qPBo^D>KqX3\:me6;=n+ZACkO/BMp@A+OmH!X4qWQl.oCr+Qlg46;p@\(KoD&7N -nauG@mIBo>l0.L+p%A+Jn+-/Go^1f'o(hkAm-sZ@p@[tEnbE%]o&/o_S@Ume?SPq>^?Yo'H#Ks8;KYnac8;lLY#T(AmUns8)6V -lh0u<'oD\denEK?3oC(o*oDejUj6c4+o()\Sna5f8 -oCr+[r;,gJm-=$2oBPK+qYg?ep@J:`qXF+Mp%\%Ho(;VKp\=U\r;?<\q#CBiki_@'rr<#qkiM'r -qu?Hd*V&=Yq>^H]mdK]8n+6JRs82BTnb2\PoCr7[m.'oNs"X-0me6DKmHX?-jRE*Hs!%*siT^15kiM$pp%%M8lh18W4SngFna#<"me-JSp$Lu*kNq[-oCheDn+-;Pq=*_6 -lgXoPm-4'4p%%\FnaH&EkOSZQrV$0hs7YU4jRN3K%e\lIq>UEio(N+`oB><(rr3&ilLk)T&bGA] -s7#OMn`o`Gs7#7*f]rG7s8V]irtO_Wi9]n'qYL!cs8ViboCr"Pq"F:Xmh,*as7l!Lq>BmLnaQ8L -p$;,Frr6-up[dnAq"F@Op%SFbmd0QDs7c!Om.9f4k3i'FqY9^Olg439n*]W6o'c&6qY^9]kihF$ -mdp2Jo^D5;mIBc=o_.tPna>i6mdBiIrq6*es8)-IkN(k!r;QZps8W#ss"jZMp?h)3q"jg_q>'d] -s8MTNj6,dumd'KEs7PdJmc`fun+m"\q=a.8kNhR0rqc.mdT`=rVlgFnFZbSm-"3ErTr_6o_SRYiTU:@p[IeOs7YaFoCh_IoBYW4s8VWY -rr2ouq"Odf=oJ!]lM:2Ip\4Oas7l*Mmd9<0qsj(Es8W&ajP]A%s8V]_qt9C>kOA9FqsWh>p%\@\ -s8VQXqY'FHm-O<3jlGasmJ6\Zr;-6cr:KaQl0Ip2mI^5MmdL&Pru1V!p%7P/jS&NOp[[b;l1ac6 -lgF9=s8VcWnG`FtqYpHeq>^Baq![YDp[7SNrs&;bkNLpirVlg%p%J7XnFQ>NrVm&qmHNZopAP!m -q==C]rtkP+n*BTBrr<#tp\4U`pA"[bqt9OQo(;q]+nOp]meH_Xp@IkDlgOH1p&G'gq>:*coC;JD -mI'E?oBl,JrsS]#p@IhIp@ReAo(W.`2Z!.Dna>c0pA+.So'5H-q#CBjn`/Ejs8Vlap%InCr;>^D -o(_qMnb2hRm-XH;n+$8Ss7bX>r;Ro9p[mt@k3MdjRm,dBup%@_=qXs+=k2l=8r;-'Xp@@hCo'GT'm.UJZrr<#lkiD%-q!dY= -naZ)6nFQ5Frr;Z`qYTjSq=a+?p](6foC;GAq=a+CmI]u5mJ["`*r,*cme$,E -p@@\Bp\aXUqYgEgo^qnTp@J4Vlg"6@rr4/5nau>>mdBT8q#(-]lgt&Mo'Z5?o(VkGo)/1Uq=a4> -p&=t7p>P!!p$CrlFs8VfhqtL*i$i'#Ik4eoUrVZK]rr2p-q'gZpA+Ucs8)9Uq>UBn'(5)]s8W)bhrOM2s7#OO -qXO+Rrr3*"p\=Z;s+13$s+14Ks*t~> -o)B?kcD?JVIs?3aGC"[eJ:N&qH[>[<%=3;FG^"=RF`qtRGBS-.FT6IkFEM_LG'.qLG'8(SrcnKg -qf`!^s)nEeGlDslG^XscH$K=4p3IEsF`hnRH$Xd`H[L6iIXclsI!U-eq0i9i!.=cos*P#sH$FLU -GBin.#BY*4G^4OXG5c^cGlE!gH3JS=GBS.Pq0=E:H['aYH$k-lIX??cI"6j-NKB0XKn+Z$ItE?- -K7\T"H[L9lJ:W<&JGXfuH@('hrI5&tH@1-gH?aW4GlN$hHiA=gG^"@SF)l8CH$t3oJq\u/I=-?e -H[L9lIXZm'L4FVoH\.$4OHGTXKS+o/Jq8K*Jq/nJqJ]/J:E#r -I=[-2KnP&0KS>,5J:W=OKE$N2IsuouJV&Q.JqJ`1reK\reO4)NfK!PMjfulO-cTH\$MrsMMHk:K7no3 -LQ7XgP)tZ[MiX-mR#d#ZPan5/O,A[FJ:2s'R%0eBUoLc5Y,J+kTU(OmL6.[^MMd5hK3*_^N/`[J -KSGAAM2I@YSXuOSYdM$RVkp,YP)5-]Tr4riTUVFBT::t"Mj9p/VP^&VP)b9KKnPDWV4X0HTq\$= -MiN^MOI)N/Q][;hR@0D)N/6^QB[DgOI)Q8URIF6R@*uKZK7Si9 -MiNdTNgQE8[(j/NTV7jNV3d1%Ocb]`NffKfRAR$g['W<#P_t6QKnP8@NJ;tUSt&bUN`;rU6gn'T;eieTq\HfZ`fjQ -L51bNNeiILOc>0QNL-HATqea&];_'SOHGlpO-lT0YbmbLOckfcR%LLeWL8a&L4k54LQ7^nV5po2 -ZECIBXe1lIUoUc-Z`^7%SsYRpLPL_HP*VH#P`Lf_M27+SN0p3)Pa$W_PF\kh[\B(VUm$UqS=,b: -UT(H-]tCk^YEY!%MMdCWRA$LTSW],)US+EVR?jAE\%ou#[@rkRUSFKZVj*!oLldOWP`CimR@1"U -Un=H[U84q/S"cO@NJ`CALl.+MPE:Z]OHQ32R[Te9Q'Ir8TUMFDTW8%%Cp0=nS=Pb% -Q^Eu.XgPaR_SWRXVlQkpU84'HVQ$Gm[_]Y\Vm3nH\$`'3W1ocIMhI(EMjpN7T;A0JOc,6fVQS%[ -^Uq.h[BQm8X0f(%Q^aA&Ngui4OH,HeR@Te3R\ZdTUS*s7OHu5qM2=9XU8+6DNK0X:[]H0\R%Th( -LQ7X\KoiCL\?N?Z`4W=IR$EquQ^sb@TVJ?USY)mf]"l;)\uqm#QBM60s,pfTRA$OJO,8paR[]k2 -O-ZN:T:`$BP*1lcOd`&HVl6c!Tr#'.W0ig4O,T0eR[fn>U7[m2>$]=>>[Y-PF=W2$,`RZNAbrK$r2A;H5*NJj!qX.u#GPa.JtOc>9]T;o2sR$3r*RAQOHR?3Jt -Vm*G;Z(@VkX-Sd.Pa.rH]"+T(PEqT*UTLu7[]cQtQ'.c/PE2'(SX,e=S!&u)SX>\-PED-#TV8$S -TpLt1S=G#+Y-G(&R?sA0S"ZUNS"6@PS=-(NY-YU.Obo$bU8Ff\Wj&V/Z`g10Xg,FGVO*O/PEV,n -Tt&7OYGeY;Z_O1TP`^`TO->TgQ'.)bPF.f=[BlThN/W[[R%gOUW2Q2SUT(8kVPgAkV5q)=]tVA! -WfrL1S!/ViMMR:TO`lqWOGf!UOI3#\aNi,Q[%NhWS"ldHOd29!WNiM#Y.26f`3uG-Q("/0T:iC( -]Vh?tUT(#\V5'<%ZWMQ8YVlcb`TVS?^U8=`cWN*#"Yck@=Y,\e? -^T3lqV5q,Hag.D#PRWqOY,ee/VQ@;>[@WbOrg@GmVOaBOR?sM@VlHPhX.b`BVomQ5Z(7>RR?`hq -TrkQ+\ur66QBI`/Q`dEfUo:ArWj/e0XgGdOXeVDPQC4;8Ss5:qQ)(e!^:C;3N/j*aM2[7HPc21' -YFLo=N0Ks5X.5`VX/22NF/#5!W2Z8FOIr>H[*7.G\#?!tYd1!`K7o/CNKBR+XfS:hSY2XHSY<-i -Z)*V>Mj'O&UR@@:Unso\R?a/5XL"_!VldD@^:C2:Yf+T#^UCM;N/s7#[^rB1Q]6umWjB^YY+M)R -XgksFVl$B!]!/?=XFI7Q_TBUp7V?Y,S:kQB$oe -QCOG0NJN@GNKB-aL7qH -]>Vq6_8FI7Y+(`MYe@K@SZBH2\@Z"RVk9lpUT;)F]=keZR$*T#Z,O_t[\g(BcFT[4MNEsbT;&-_ -[]H*fQC=D>Wi`P3YctF>Yb@>HSXu(&O,oQqQ&_-+\[AN8TUM+,R$X)&QC=JCQ("bic-48MJ%iP! -SWJu'TU(k*Mh[%HOGSdNNffKgQE@HoRuNAeOd;N2U7IX6OG]'`S>*$eZ`^=*U77L?VmWh9]=4]) -P)k`oX1Q9ib0J)D^V@Ru]Y1\UZaR0@W2$5hZ+@QKS!/qsQBd]*Whu5JP)kBPMisa5XK8P%RYur] -SZ/]jWai0Ba2l''XK%q\PaS>KVkL$%bfR`6XdY6/MM$bUWii8%[CWcLXKKFMZb=W5dEfhQbfdYp -QC+#>^;7@bXfAM1\[SoN['QHlSZ&Qo]Y(tnZ_!DMT:`'aYd1dT`5A^VWiCQGU8G-'a2,$j_7$;2 -X0o.*Trk`4]Wm&V5h/KdEfY;]>;=s[BQgI]=GG]\\Q8)^:C\W -Xg#=Wi)>PS=c7DUnjabTM(oJ -MiX*kW40IN]=kYOUoq,5ZDXY/])+l\@fG\Z`'[uYdV9f`jDVI`R)oPb/qZJg!R[RYGJ(j -QC4bXRZ`A\OclPST:)Xj^U:2FXJ;DeV2g\(R$NhoPFA#+OHbumRAdp=\Z)^H -aMGKuZ)jgpR?X#3Vk9EMTUr!XVkTWFPa.T,S=m-rZ*:U@[_KbnX.Q)\SXjVnTq\a3d*g4^a1o*o -Y+_G\US"'P\#l6lP`_]?YHbFE^VRLURZi_eMjC$2Vm*V7WN!&3Z`U=3ZEga6XJr%lVkfrd]"PGV -]t1AK\A>nfYH=jtWN2b_S&S=Q1CVkfiXUoLJhVmj@R^*gImSX,b=SY)RFQ^OPHTr5-(]"#/Q -WiMniXJ_PVVlI&3Ybe%lVPjEjIAj6MYbIPYVPBZLUn+'MTUV[]Z*q6NURIdSZa6HjQ)_0nXhW0- -aM53gR[B\EV4aWgX/;DWWP$6l]YD+g]Y_:^SXH.X`QHENe'$.ncb6?GSu8Wj]$]3Z[(3ZVajens -gsE^4R[9P.6YI20g_ns8m^ppVP['[*s*5^U:;G -Unk*"\\l>!Z)=M&[^*-A[_ThnZ*1XP_S3O`WjB=R^pBi*Q'nGIVl6f)WhQ&SSXGe -o)B?j`g(df?W9s(<**@6@UE>C=BPQ*%9Q\5<`N*t;cHat$G6:?!^lD>?P-6q-;?5_SY<`N'q:eskg>$bWH@qKC]? ->[:ZC>[LuSBOkFP?"IbhEH-#6C2%BqBP1pjA7GOG*b/boBkh9j?XI2O@UNPM@V'4cA78kSASQ*p -@p`MJra-@K@q9.`BkhBpB4kgfA7fLhA7/_Nra5t;@qTId@:@UW_UAc?9YARo=_AS,C[ -?sd8NBPhHsAnG^jBkV$gB)ZHCB)cEAAHlaZBP:shBDcELE,T]4CM@ElA7kgR6>LO^DeW`nCN=N< -G'ejtO-,TgNIcJ1Nf8I0H[^EeE,p&CH?XIQG'7tIDf0H3FEDJ>GDCp"I"I4Ao[(3ZMZ*^9lQ'@,]Mi*pfNJ2q0F)Yu9G'\t.P`1KPH?jsmMN*adUT(Z:\=e\)EcQDQIWl -\$2QcK6MQlL4Y#4RZDr=E-$;SQ("21R$EbmQ'$rUIXQg&I=-U&MhZn?JUD\@G%H)UM2-_4H?a^^ -H?XFQI>*9$LR4m8SpWH[gj5Q^jS-K7Jc?Ng#Q^Ll\+*YI(R2PDbKhQ&q8rJ9,d;EHuYPHZjU_Jr#kh -R$3l)Q'm_sS=#4jP)k9FK8>2-EcGr7FEVbMIt<'"JqArCL4b23I=6m/MM[@RNL?ZCU5b%lNdlD, -KoV\$Y-5.=[A07]SXu(.OG&UXQBk14VmEY(SuK'(ZE'.NP)Y3HG]A(OH&.Q>Mi`mRJq&K:T;964 -['-^]NrHR%C%?Q^XbT[Cj8iYbIGCJpi&sI=Qj"LQ@^WIRS;MrNI!L*pNK9-KOHblcKS,>SS"6(4P`h8qOFqaqF)uJG -EGof;LQ7^fP)"O6D/O-&D00oNffB[N0BNbLle!oTV@3fF*`V+R$j23V4scbU6_F@SuANQLkUA1 -JTQ9fM4_/PU7.^RTok@aK7@r^G^=O`JU2BXH@q!BWMl#0G&h\[NgZH*S!f7pPan84R[p1RWiib= -Z*LdESVM`ON.H&"G'84]I=[0&H$=O`L6o*Ya2blmP)5*SOckHKK8,/RW2,oXXgGgUYFCK-MMR'q -OHcKEXI#!6PaR\qP`gcQK85MRT;&!HL4O\oGC4abL6eI*S!B+pQCO4uP*VH)QC+)0S=Q7FV51)j -Vk^8u[@`MAR@gRj\tP%5J:`]KS"ujQVmNh4Ob\UDL5M.^rerjmL5qReS!B>2Q%b$^]#;:WOH>Zg -Ne`IZU8=loV5B`=KoM+JSsu%0R%L%CVl6DeX0f++R?7pR@BkCPC7RqG'J=[Lm=R$P)P9XMhZtF -S"ZI8H>[bOKTD:QJr#DHNJN=D22mioVj3R8SufE5[@W_`]=tkaW1nujH\IihZ(72;I!UL3U:IY. -Q]I<#W3)b_R$snSUnsnaVPBut^TK8>YMM2$kLT<+o`SX5Ch -H?XdfL4au"EcH,DH@1pXf%MHQ`-IN[^`TKZ)!8.H%V]u`4rRKTsqb:ObA(4J:dcZ -E0mT!PDFmJN09j2X0&G'WMlY[M2@=WLjO`'Ko:Y4K9E..S*'bTTFtbM2R.AN0]]`It2lfEd<4tSY)XPSr\>F -IZ'JWQ'@Z8\%K5RWMGZ1JV]VaS<]_R`P]BsVNH@VG]7bYP*D#nUT1>kVB)G7U7e[+cI("\aNM]4 -Q\^NWUU[qFZ*142[C21\UnOKOQ'\8Qa1\LU[]5gY -T;nZQQ(FkSZDX%][CWH8V5U>_NfBI(VPg&LN0gK;Q_(M#c-rWfXJ))UWiW4tV4F-PY-GCH[Bd-P_SF%/ -^U^A:RZWPuZ)O1ROd`2OZE:+&SWf2$O.3#CTUqgKT9kh.PDtN`W1fH?T;S?DP`L`[Mi2G-It!!0 -SZ&TfVQ->]SY3-mVlH5MPFA8M\#Q0gOIrkeXJD\fR?Eu&H@13oIX--bJqnl*KSG,=S?oZ*Stid3 -\?)R!Q]R)WIY*THO,fBgP*qc-PDb*GKSGMIPGG:XVlZo#[CNH1Nf]EbO%bn*R&7aCbf[oA]!/H7 -QB7>rOGSpeQ\gWTL7"d9X0&_<]!7NZK6qcdJ;TANSYMmIS"m9jV5'uiWMZ;[S<]>)P)c3>ZDsq4 -ZDOKfYICg;U7e'>R\,h+O,\dKO-#BbR?ir*Su8EST]X4Z1TrP;oUnaop[B--tWjB1@XeqegXgPR;SlNQ'EkfTWPW,Y-c$gfA"`i^ -k3)=3me-@+s+13$s+C?%~> -n,EpcjQGjup?qA9lg4!*mI'KCnJ^ocmd9H4oCDD\lg4'.nF,f4 -oCDJBnc&"io'u2:mdK]:oCDJBnaQ&:naQMG$LmTRmHa**mdBK3rp^3^n*]W8o'uVH([gYVmdTc: -nF,i6mdKW6oCDD>mdBQ5nG_rFnF,f4n*ol;o()>@mdK]:o'u2:m-X60nF,f4naQ&6lL"3i8nal>@nal;?nFH/>md]rBp%.bCn*ol=p%\@TnEoW3naZ)9mdg/KoD\4Y -n.tQ`n*TK6oC;>=nF?&@o'u>Ep$h;6mf)YfnFZJIoCDDCq>'[Tp%7hEn*orIngX)!o(DP@nFQ;B -n+$5GmdBT8naQ#:o()>Bp%S4Ro'Yl0lKINsl0e3Arr3Dulh(5RmcX!,p%J(MrpkO+lKIO#nF5f6 -n*0'&m-*p.nEK*#n+-#8kNVL.p\":Nn*fZ2pAXdTl0Id/p\FOPl07[2rVuT_nE]H/o^q_Ho^D&1 -o(qb=meHbSnF,]2pAFdYo(;MAo(VkJnbDbMqYBp\p@IY7kNqa5qZ$Bequ?]gmHX-)kihL2s8RTG -oC259m.'fIs8Vi`nau;?nF,uGs8Voeo^VD@p%%J>p%n[er:osVp@Rh@mHWfom.1,Ts7H-Yn+$#A -n*]W6md^)OrqGgFm.0rIna,K"k3qm3oCDPAoDJOXlg=Ei7mHNm%rqGjFkO/0Dr:p3hs*t%JqXj@MlepX^lgF<0m-aK8o^_SEoCV_O -p%.P7m-X3+mdKZ=s8W)oo'Yf2nETB3nFQ,;p\!qClK[X$o_%hEmdK`^KfnFZ8C -p@IeBn*KN2o_J1Jn+H8?o(M\AlgsT2kPj`Ho)AYZqW-Grq>9aWq!n"Urq6$Up%\4Tp$M27lL"6< -q"FIXrr;rmq>C9kn*0?>qXWk9lgFH>na#]8o(;PCnb<%XnET^llga`Gp\"7WrVZ]qp$(T,r;Zfpp@7_BmHsB4 -oCD5=p[R\@naZVYI/WL&pA=LHkje92nGi+Rs8V`Ulh0rGmca'/na,H;s7l'JmIp;Go_%eCnFHSY -s8DTWp]'gLoDej\m.'c>q"F(CqY0@Ts7YmSp[.57o_&%Wq""(Dk3VU*md]N4s8Vo^lgF')lgauS -qYTaLlg4?FqsX+JmcN^)s8NAqlh^Y[oAA^!qu70'o'c/Bp$qYKn*^5Unb)n]-2$Hdq#C!Hm.gMO -oD&1Sp[RbGp$_DHqtfmMlga]Cq"t*jp@8"XrtYG%m-3p,n+HSRo'u;AmHj9.kj.d9rr4Y?k2u%) -oBu,Aq"4(?lKdsnacPVs8)BYkiVC)nG)PBlg!m.r;Z6Wp$_88p](9il/Usln,E:Wlg"!1p%.bAnbN"Nm-`io -p&Fsan`K6-rpkR,m-Eg&p%%P?oCM22p](9mo^MDlKdHhjm)F2p@S4Ro(;PAlKI9nq"sL>lMCAK -nFQAJp%.b=kjJ$5qZ$KfmcNX4mJ-\\$1mTZp[@J4lg=9ArtYG%lK@X0qtKLIo^VD?n*BK0kND@4 -rr4MEm-O'$l1"<9o()DFp\=I^rUT@Kq"=.Kp%7b@lK70nq>^E_mdp/AkNVd@rt>;'mI0]lL4NJr;Q^& -p$;MSnETN8n+Q_[s7R6)pZq,3mI^5Hq>0dMkO.m/mH!3dm.:/T>Pn!XlgFTDoC;DCp@\FZn*B9- -nb2eKlKRX&q#BpVr;ZNYme-JQoBu5Fo]bZ,p&+CMq>U0an`fB2oBYc1oDARYl1=cIp@@Y@pA4.: -kkb>Uq>^9bq"F"4nc&Ojm,R=(rr3`.kN(ginb;bUrq,a[s8VoooB,E5r;Q^#q![G0lKe3Cp&Osg -rtPD0o',E.p@\4PmIC2Uq<[P5ip6I?rsJYqoChnJmIg#=o`"k"q"+1Nna,Q1q!IJ8n,!%`%/BG] -k3MU0naPu7p&=sj+n+@IkjA$?q=3b=na,lFqt^*gs7bX@q>:!]q>^Kij66.7ruh:4n+?);naZ8M -s8V]UmdKE+nc/Ugs7YX@o'l5Blf\3Fs!7L;o^MhZoCMbLlL"E@n*K0#q#CBmmIfo3i8OG1s7Q!W -o',cDru(CrlK\-CrUAh0q"a=C4kj@p2mdU#Gn+lA:mdKrNq"XIIlgt#JnF-/D -j5]b,o^VVDme$&;p?qJAqu?3Mm-*a'mHqY'@Lrr32s -n+,`,o)/Fc5PXa:lgFZCoCVhUqtK^Np&"[crUoO9jm;O+lgFWIqt9LDk3_s8p\b'krU/e7lg4$' -mIKQ(oDS[fs82BVo)A,0o(2MLrr<#tr;63fqWm8(l1b5Xr:'+JoBbf4rVuQ^qY'16li$k`p$1c, -r;Q^HoD&.Wm-XWKq=+%Sr:fpUnFut[s8;-Ao)/:SoCDMIrr<#ehrjFek4ncNrr3](nEf3(rVc3L -mH`d'o]Y0(s8Vocrr2uprpU9ls8Vl_kj80:n,*(`?iBfpqZ$TkmH43As8Vrbn+?;Ip[dqIqYTgL -m.LDYo\\Qgq>^Kclg=E/lL3s0s8Vo_n*KEnEK6)q>UCBo^hG0kkG,WrU]RSp@IeGo_/+XqY:!ana#oKr9`qCrr;lip[R_?n,DkkpAb0f -m,[!Xli-q_qYU!Olh'W?rVm?*p#tr5l0\!8s8;Q]qYpL!rU&q:mdTrLrrVocrVZ[Vp?^o'mIpAU -s7Ya@m.'W2pA!t5k4/!5me$PZq"as]p%A%Oo^hM:kj7p>s8D`Zm-a?9r;$!Smd9]Hq.TZrnE8iu -p[[VHr:B+4me6ASqX*>,oD8=^o]bT/p@7A9nF>r5mdp/@kNr$Ep[ReNrVGsFm/$b^rq>mPo^qY> -nFlkZoC2;Cs8Vo^lKd^1rU]CNrq5[Nn+$>Urq,XKp\FRTnauGOs'ks(p[RG.jmMp=n)Ws,oC2/4 -m-jcGp%SLdqYp0WkiqL%md^&Ls8MWVm-soOpZpu.pAY$\m.9rAo(D\Ip\X^UmHa':s8DHRlg!d- -o()YQn*TH,mdp2Jp@A(Ys7u9XrVca;pu^`/qu?]poBYc8rVH0Xqu?]qr;Z]lqtfsQmJQq]s"!p8 -n*^,MkO8EFqtTjTn*KH2meHMFn*0$)o`+s`mIU2KoD/+Ek3r-Cp\"Oc,l[H$lKRL!pA4dgs8)*E -oDejhp\=@LqZ$Thk25:us8VlanGN7b%IrcNnF#W6s8Mfdr;6?irtkV5rU8_)meHSUnETK:r;Zfm -r;Z`fnFlh\.dZHclgjuMp\+4Nqu?B]n*TN2o(DbMo'u8>n*p,Hp$qMBq>^Knp?Uu6rr3<$o_SR` -n*&m&qu6UIqsWqFs8VrblKIX-q"3t?nFuDKs7u*Nqu?]qr;ZKMj7;d0qYpV%JoSj -q!mqFs8N&pn)sKs7ksGo`"mjq#:3k#QFc#qYpNnrdk*# -s+132s*t~> -nc'3U]UXe-H?ss^GC"[dIXHKfH2`+.H$FOVGC"X`H$4:OG'J=[H?aXZG]n4OF`qs(Gmne;GBeCX -GBS@\H[:#;GnGCLG^"@VH@($dH[:!`H$FX\rHJZpH?jaYG'J:XG^KF;#((ZAH%(0hqg0-)GB\=Z -I!g3aG^"@VG^4[`H$FOWG^4Q5GoM!PG'/"RH$O^^H$OX[H[L3fH$FLVG^4U\G]s(4*-c[RJ;8c. -I)3KnfSWs+:6&!ec2Yrdk6)KS>*XJkCQBIXHKhI!p?fH$XjeIt)lp -IXHKgH?jd^It3*%K7ei2J:N,uI=-EhI=d00MMQt#gS -Z+I36TV.gA -OcGBZPb"h\Yb@5>LOtA?N0Bp9XJV\bT)P1#PDkWhR\$+@R$El$QB@5hN/*.IQ_q0oV5g8[R$Wql -KS5,:MjBs,R$!DgO-G`]It*67RA$ITWiW(uYcjddQCaD)OHl,qPa[MeM2R+>J;0&GQ_LR\RZ)uV -M26tBLP^hBKntk[Sstt:Unk#uZ)*MCO;*\:R[on:PE1`_Mi3!WR?_q^p0Z(R#m>lP)PBeWM,?+MN3abUSFZbX/Mb`UnaKIQC4/* -OH5WqS=#e>R$a2(Nf&sjSs>S/PEM#`NJ;t;Ng>urSXump\u2-q[CQXKoV_,\>-(3]Wn)oPs^LoSY;L8Q_LCO -StDUAPED*(W2m"lO,JgBH%1X0O--'9[BZ^-U7R[6Q(FqUX/DkqVk]uZQ%jmKR%^4EQ^*brNJd[o -:Q(L+PE(`gPGGRrXIl8gXIPB4R@Tb>Z)=\9_69Z5VNHahJVfYYQ'82MU7%4.S",q:SY)OQZc0u) -];V-eV5'`]YGdbGNfT-\Obf!aQu/+fZ)""iW1K9CS=?%?RZs/"Ng?-#PECBMOd1u_Ll[RZO-H?4 -S",\,PF//KWh,]OSXH(O\@S8qSt_mFLl[h"^;@b5e&&>eTUhL8QCXG7Z+$O.^VRUgUo1`>[A0\& -X.YfEObnsMM3OHt/t])8RZ`SgQ_CFd]>D@hWNa[beU6TYcaRcS=5\*QC45GZaI0FZFIWg -\u1s[P*;,mPa%H(VPTiMQ&CK]P*),mO-#QmTVe]PP*(c`PG,.cYFqA[W3*_AWL8p3NJ`[\Q'n>> -:RRN9Ng$EM[Bm'2TqJ'NS!K.oK8YeLLl.1RMijL,Vjid*LP(,-Jqf)=P`CZbR$sM7QBmf#P*DH5 -UnFPE(`pVl?D]Umd^;Q>E:tWOfp_]",ShZa?s?YcX^mS<&SaMiX'`MiijMLP^hFOHQ3: -Y+:Q4S!T1lM2dU]R%0Y7SXl.;U77O6O-#j2\$i]BU8k/`R?!DnR]=*?^orW1ooP -PE_)_LQS7.VmE&qPAcD?Q'R`$Q'Rf+S!Te@Q^48?U7J!PSsl%3PEh`>ZDsI_SY2F9R&RX0\>>UV -Q_0tCSX-"KWj]gVW2l_p]Y1>7R[9+qOcl'3_Qp#2Xh_i\TpLt(NK&sWMjTusN09hM3!sqXh2m+beL?YU7\Tr"p#]=keVS<]8#SZ/Tp]YCqXXKf1t -TpLh!O-H!-U7\$IStiI)ahk9QQ'Rf%R[KReUq"1MVPKfNT<5E%Yc+7gUo0u[Vkg)f[Cs#NW2QSf -S!TV:OcbiqW49IKX/22DN/rsRJUrTBVmEb9R>HTUP+/;DTUVUKSYE0`USOrnSrA`*YID*XbgO;( -USt;rV3d-pMi!7MP*r,NY+V2RTpqODWMQG@Um?dpR[]qER#mrBV4F*IStWEtWMchuV6.JL\uha- -]Yh[uV5BcGMiOaJ[A]mrRuWl=\%0]"Y,S(`W3EV.TW#H4X.H2hYe7ugWM#cTXhDcq_mR"ZU7A$Z -WL0J-Up$JTNL$HJ\[SrFSt)@@Q'@W(SX>V#Mhd:Vrg%PgP)l3/TqRd,Ko;_0VkU9'^9k8I -R?aGCUnjHT[_BSp]YM4m\$NH[e]YtAW26T&['@3]bJLHRP+K%p]!A3/Ycb"*W19-J\ZEB\_Rd%M -Ruj,7VmssiYbIej^WO?nSuA3CP+/;HUSt)aR[9G2RU2Si^:^te]=4T%RBO#nP)kcqV50H9M34C* -UR[mLSs,_,NffKqUn*m>RA@C9bf.?7[%*DTV4\#Q@$VRO"@[CEZKV4aBWZ+7T_Z_itP -R%'M2TW+`ZR?EA[NgZ9-WNs"BWgJm%Mia*mVP9cgrk!$Y[B$1$US4BVUSOop^qmRn]WIifKS>5E -VRj.=US+N[R@C+c_7@.r_mQSM]uRd\P*2HG`7)f6]Y;+eZbOMp[]lNtTW,0'^WO7*[%!8OWMl\n -XKK"H`Q#<_X0.t]WN3>AahG0eW10H\X+$_4W2ubtYb[bndEo>*]>VIgUnXg&ccWi#TV/HbV6e(\ -cHjD:ZaRTa]!8HBR%^7QZa?g8ZMpXT -V50l\Tr+QUT:hjGQB%/qR@pCLQ]-faT<,<([B$0qS>j$.XL#.-R[U%SYe7EDTV]!o\fn8PSt`$M -OHl&mNf9!^Q^!GfR$s;(RB3a&WhH2i[^WTBrhBstSsPqAX/_tgTr,'#Vjm[Q3N0*XTWGDsUTUYu -[(*E?Tq\B]V4jNUVSC*j`59C*\?)U'VQ?bfPG>"OT9k_*QD(7TZGju*_l0%'OT1>\P+/;PZEUL; -[_',XX/;u,^:LA>V50WLT<#0&\@/ZDXJrhL\#5soSsuLIS>;jFQ'.>sSYW-YUT:W(Y,JA-^;7k+ -XI>NNWMubgQ]I5sV5'c[Y.;0RZ`pI-WMlP]S#i`s[C3BAVl$E$ZCRbpWMt9AT:D:6QC4)5T:)%3 -Q_q"'_Qor5US"$LTU2%D[Ca&`aj\PW^TO,oQCk+XY->"*SXm%/e'#\G\?NEW\uM9eTtJ[p_SOCJ -f[7pTURI[IVl[V^g!I@D^r+FIf$MpgZ^m>LSt;pSS>*-o^;RUt`P]C#^radG_5sN2I]'F3Xg5"#TWc,G[^NiSStNBqZb*oVY-"OhR%(8"g>CT,W19WUQ^*o8XKo4:Y.rB?i6oQ^ -.E9Q]`O`ImcdBhNbgb.c`llf\lJ^:BfA535cd^\*i8WeTj5K+coC;O*s+13$s,[21~> -nc'3NY_d@/=B8L%?Y50=V4kA=BAR+>$G69>?Y35=]ej1rE'D0>$+j+?b64=BAR+=BSm5=]ea,=BGH%4&o6Y;H-Xs<``@'<`E(#=BJX)<)QXo?Y[1]OEHutWE,BH*@9d2NAS,LeCAqfBAcQKBAcua[B4toUA/&K\?s[,E?=-uC>?kKB@:*>F>[(D0 -="n#k@q9.^AnPR^@:3GK?<^]DASH!sBOtIXB5MX-DJX3.ChdToBPV9nARo=]AS,WTBbP,i@UNYV -B4PCXA8,glA7]FhC2*ZZ,%G"f?t!SWBPVF#C2%9lB4u$rDf9?$@U`k[An5C]B5MO"rac%?(1q,g -@UWtaAn>LaAnGaiAnYpoARJqVraZXQBl%O!BkM4#E,06*CM@EnB5.)mXToXtbMhlh,H@g]tJVB#DO,/C;I=-Ep -Mj9g$LjXAdD/aQ=I>aJ[P`LlaL5(D3G'SIdKnb82I=$EkG]n7ODJaTLP+eD1RurS_JpMBNC2\$% -FFAn#JpM]dH@:*ZBPDL7LldgeS"5n9TUh-sK8=nrFEr:\IY;leFEMV>BQ/9IL6.acK62!KE,T]5 -E,]T-CiY#_O,o'ZQ^42@VO2dZH['pkLP1A1H?sj]H@Ug4Mh-MCR[O/AI$TkMK7SJuH$b1$L44Gn -H%(?sJV&AtI"6crIY3iAJ9Z-XIu^M3Yd:U7VkooKPELcOIYE]?MLTkmEGf]6FaA^uO-,$@F`r.b -LlI[gTW,<3\uCU5FEi+QFa\XgIXm91It)KWDf^5QIQ&^QGH%_BIO,*^js,1TDF`(r2EH,ri`YG7,1Jp2X#OG\^MQ^X.uN/<.9 -J;0>[SXYO[E,B,oC3+]MK9W%/V4O*@P)+dIOI;`3R[BM1OcYNOEGp2[OH,0KIXQNbF*)PJH$bC- -LOt27LN/ZXWgf$2R%'+fK8ktNPba_>YHsmeR$Du=DJjcTN/NObUQp^gJ;B&]mP)>'DH@LKnG^*k>H@C-YEI37lJq];JLPU>* -MP-f1RBX$&VOO3]\ZV?cQBmG\ -J:;WaEd!"hKo2(SN.uqk,+V6%/Aa17_'R?iJUKnY/6N0BO)Wi`D(Y-b^TZ(6i+ -J:W<%JqJ`8Q'@5]K6_ZjJ:EB,JUW-%Ll[aKIt<#qJWQFsS<&VpS>!0hSrJDQH$4IgLPq@]NJWRD -Kp\a2SsbZ>P9lHSMLp1rCiaiDEH?>NI"@6AQ%jR*Dej$"CiFKUIJV8uMTpgstNff6QLR>$@UlU+UK8YhP -O,9*kSuT9&R$j&'X/qeLMhcb.I!g@(X.u&ESuo8jNeN%3H$OXUF+8juHuaFUH\d`TToX\LFE3D8 -VP'QXSre\nT9PG*T:W$m`Q,a#YcXU[L4O`&Kmn`1K6_WgK7\W!G'eq'S#sWO`3lJ2PE;#hLkLG8 -L5D7_Q^abNZ*^j4P)=pFMO:':ZaHp/TVSQ^R?No(OG&.8O-u5rS"5\!J95p^J:N-4S=ZOQQAL]g -P`^rbOHuK$N00p;W2R#%W2lqgPbPUoUlgLrTs2)9Sr82NI=[ENZF@'C]Y1VAR>?0@Odr;:Ob\F7 -JVT2PQ^*_rOdD`H\?qulMiEgVP)t`nY-Y='S!/bmSY;UGQB@8pR$Nr,R[^"S[]l[(TUM.'KnkZf -JocX'R]*9bR? -P_ag5G]S"QJ;0;]T9+ebMhQhAR$EbkI;X(WL5h@PIuTeSKS,2BPbb:KR@Ke5UU\+JUmId^]=V=P -Q^*>TGC5g_XIbcBLjOiFVQ@YGV4Ws/Q_^ROP*rAQT9c+HWjTOISs5D+Vn9sc];VZuN/!=VQ%b0[ -NIub;P+IbdI#!u\WN)neOc,'OJ:OckfsT9kLjL51VMWO]OH[=,EbR>HouWgJQoL5_F`Lj=8rO-GlhO->ZY -NdlJ-JW#YJMN![h[Dg.uZa6EaLm=HmKnOhsH$"%PF*W4kO+Vb7PF%MgH#e+[MhmF[OaqOsEHcea -R&-[LS!oe3MLU5>VPg>nWh,9*MM@(\Z+\)r_SNX[W2-?"Z)t+/G,h7&P*)3/WNWM%RYlu^Nf&RM -P`UcUIW][YLPCkZV6-knNe)A"IX[$4N/XC2ZF.3MVjWa2P*2,uRA6al]1t^T3leP+\20Vn0^ebeL<\ -XgP[DWM?l3_8<^`Xgc-d_n3=a\@/K;W+EBUah":@Vn^^,]W\<5OH,NbT")JP\Zhj"X1,I8Q%FI9 -LQS1,Un*m8MiO'^Mi3UZRA-L4L5:eTUoLApY,%JPR%q4+X.lMhTrPcJahkNq^V."MUSb-!\$rcT -\#ujEbK.B1DSsiPcGdQ'VOWs:PED0#ObA"'F*&?QCF2%PEq`>U7RmN -ZF@*-O,oBgWi2MPOI2]:TWPAfNfB3`QBdr:VOjrLlR:JNM!)FSX5eAXJ_YTNK%k:NJW:CPFJ/1Q'Ri3Um[4"Lkh=hQBIl#g -RZWf#R?s2&Q^kS"^q[Oo\$;a!Q^XP8O+N=MO,SmLMN47'UTM>O_7Q:uJq/;rG^P7.SYDdNVlR,. -XJ28\XgG@*Q'dkqLQJ1+XK\pYXf/.o[CiW5Q^!SjP*(`jPDb3LKo1tXR$O&6Wi`4oTrYK,\[%fc -Mj9d&S!K"dKo_XiQC+JP['?^1T:MREQ][B)Uo12nW1ffRSuefPQDC%?Q&poZKS>/5NJr[MLl@as -ZF6QrR@9D#PEUo`RB!NsZbk#1`Oi",Jq]AXs.aV1SsPItV8L[&^q-bJXgG4$O,KC3aN;64a48_c -agRh-Q^shH[`d(>\[oGf`m)cKb.O[7Ll[a`Ss>D)Uo^u9Zb!uh]"#Jpb0IYpSXZ4J[Bm'7S!/r" -Od22tR@Be?Ssu(4R[ftAU7e*IS"Zpn]=W0lW1]uiZE^:%Wj8h*U7S?k]=tq_VPpc2\?)9eP*_]4 -TU_OGV3msRT9PS7ZF-^6ZDWnQWNT2bKn\f&(/YPgYUoKiSNSPiofn#on!-os+132s*t~> -n,Fg*iT'4mnaGr9mdKT2md0E5o^q_CmHs?1nF5l4lg4'/naZ,;mdT]5rp0[QmeQ;QmI'KCnH/4K -o)A1ZnGhq`naQ&:n*oi:o()bLrUBdSs6pEdn*TK/md9B3o'u8Ln-/:QoCDG@rUC!YmHsB?nHeXQ -n*ol;oCDDMn,MnWo)J7Wn,W"WncJ@Nnbr#FnaPr6n*ol:n*]W2mHa''nFcA@mHa-.q#16mrqZ6^ -p[dhCp%7nLp\OXYp%7qLp%.eGnac8Bp@e7Sp%A%OoC22Imlp1,m-O!&mI9Z:oCDJBo()>@o'u;@ -o()DEp%@tKo'u5o^hYEo_.nInc&%Xnc//FoCDG?nF,l;p%%P= -nb2\In*olnac2>oCV_Io'u2;nF?)Ap@n1KmdBT6n*TN/nFlSGmdKZ7n,;YSn,D_a -n*oo?p%%YCo_A1OmI'uB'CPA]p[I_Bn+6AMo^qhLoC;>>o)A/=nF,i:oC),8oCVVCnbMkImI'E2 -nF5u>o()DFp[dqCmHs?1n*0'!lL=QHs8V]VnFuSBkNqa2pAX_;p[IP5k32-tmI'Q9m-*g(m-X6/ -ki_@)p$h;1kj\Jq"*qCp%J@\Ie34&lfdWuk2Y[nr;Zfjp$1i2pA+CQo^hP=nb;hOna5Z3 -o_%bBlfRBunac;Gq"4@]s8)9So_%_@o(;MDp$V8;oCVPCo'#3#o`"mdna>o;o'l,:nEfH*n+ZeZ -p[RnHmdpARp$M;U3^nal>Co'Yi5q#0p[r;QNao'u8AoC_eMp$qD9oDACUm-aNCp[@>.li-9mQlM(&Fn+-;Np[dqEp%7kKqtp6eq"!kF -qX3D-n*p&Io_%eClg=-/lf[UEdn+HDHp$hVKp\44=mdTW4o_%nJpA+[crqu]os8;BPoDSOU -mdKT2nFZ29rpClto'c2EqXj7Dn+?GRl0nKKrU]FDkNqsAqXO%Gn*p/Ps"*m2l1"9;s8)0RqXs@K -p[n%DoD/F^na>c2n+,o7o(V_>oCr"Ts8Vr_jR<*IrrW,kmJcDZn+-/Co_8(JmIL#Krr7B?m-jW@ -qXp@eC]q!n%Oo',`Fs7YgGo'Z2E -md^#>n,34^p%S(GmHj?9rVcNan*&itmd9E2mIgMZqsa+Hl0@Hur;?-WlL"*6rVuNQl0IQom/$b^ -<;H(`s8;NKkN_d@s8)cqp@.M>pA"@Uq!72?rUBO\s8Mfao(rC]n*]f=nFceXo(;JCp@IS3lLOQ: -m-='2o_A(Mo^_JBq>L3gp$M#-l0e!1p\"OR#k.3Rp[RP4mJ$V[GkL@dmIg,@o(`"Nm-XBH"hsp@6qY9d\rVlW_lK[m7r;-*Vme$GSp%7tG -l1+<7r:TXKmdp2Os6oONnacGRs8W)ekjIg,rVuNSkj@p9q==(Ps8OnImHj!#qu?BZna#Q0n*]W2 -mI0T?qY'LOo^V,.n+lhPn*fc5m-O34oCW"Tn+6>Nrr;Nfml'\*qZ$KdoCi"Ro'l8#U.J)uuo_%hElf[R$lK7O(mIg2Lq=!V:oBl&As8;iqs7l*QmHa-.o_/.\ -s#^5MmIBi7mIBcAqXaabp[@J;o_.n>j6Z@.q>L3bq"*k9m.0lDo'Yf0mI'rGlg!p0p%A+Kki_3s -o_JIc1A^\Bs8;]algOKNp[72,ki:UcpA+@Qrq[$% -s75=;r;ZWUiTp7;rtXqXi9BOom-s]Dp%8(ZrqHHln*]Z9rr7'5nF?,>lh0rFq"k!is7Q$VmHEj' -nbE.^o'lAHo(VnKlL+NKqZ$TgnalMHnFcDDo_SR^oC2DGq=X=Kp%n:Elh(,Trq#[Klga`CoCVM; -nG*"\q0[Vs8Mio -s7l'Fjn/NOp#YH:s7>CDqYpNppZUf+mIgAV3rSX8m-X9,o(htHl0n](o_eahqrr_o^m-FZN*rbToqY9^Qm,mF%s8;ikn)rm"kjJ3p[de?n*TNAm/HH!mI^AUo'c5?n*BE;s8;HMjlYdklgsoHn+$/OrV?*_oBGK. -r;HXDrU9%5kOJKFp\Opfp[7A7o_SR`p@IG7p%Rq:kOSZQqXa1Dp%n7Rqu6UWn`]H3oC;#-lfdO( -s82QdqY0aXoC;>?o()8Bs8W#rs8VoflfmWrnbr.QkiD$mj6,h&p[7VKp?:Z,rr3,tn*9*6rr4&3 -s8VobnbW:co^htUnaGi1nbW4aq<-o6s8VKPme-SZ.K&l%mI9/ro'uMTs7PaImcj0;s7c3ds7Z3] -lJV+1s7tsUs8W#go(2GOs'#*[lM0]/nG<(_s7u0QnG2tTn*9WBrVZ6On,!"^s8;]iqY0RImeQn_ -q=!V:qu?]gk2YmjlgsQ=s8M]Xo^hMEr:TpTlgOH>q>C0jr:9@NrVZ0RmHs?6r;Q^1n)ij'oC;>H -o]ti1p&G'gnF?#9p&=srqXO4Xs8;`lrqmu8p$qePp$VPRrq5mYs8VcYlf\'?qtK^Rp&+g]lf[Hm -m.^GX(\I.]lgOH;p\FILq#CBmr:B4BoBto4qu6U(p[[\=oD&1Yqt0FQrr2p8r:K@;kO/-Cs8VfW -jm2U8o_J1@hWFJ(nFce\C\m\rnFZJJo'l5BoC))9p%\7OlKR^-p\44HoC2,:p%J1YrVQ?lK.0rna>].p%J%LnF?,AmIBoFp@@P/j6#b$qtfmJnac/8lKn*: -pA+IZs8Vrqr:K:Bp%@qIp@e7Qo'u;Fs8Vudm-srQs7YgKoC228o'uDIo^D)0meQhToChnJnb;\H -s8Viam-s`Dp%8"Rs8N9#p$hD?pAY('o&fB5p\Og^na5f;q"XLNp&=tcqu?K`naPr7oDA@Zqu6Nf -nF#cApZ_5Js7uH]n*B3'lh1,Jnal58nEouKq=O@Qna6#Bl/_.$o_e@Uq"=FYq!@;3oD&(RpA4LL -jmrEN&cMInlgt&Qp[$l!pAb0io(;n[rsS_klL4<6mI^ATq"t!h*;fL(p?pu$lh0uAkihL0rr<#r -s8W#hn+-8Rs8Dr^($tJbq"F@Kmd]rBp@[q>kNh[8qt]sanM'e5p%%bMrVuorp$_JKs8W&ko(;VG -mHj'*pA=miq<@&1rr;`]lK[s7qtT^Jm.']HrtkD$rr<#nqu?QUj7)F#o_\@WqXj1?lLb#S1&:>6 -p@7\Dqt]sYn*K`Hs8Vr^nb;bQlJpsprVu]bp&>!cmI'`Fs8)-JmIB]6nb2q[rsSf&qu-QpqtTsb -rVhBJJcC<$PQ-.~> -nc(*$b,:2KI"+#3:HN&aH?sg[H@LU!J:;loK8Yk[ -S=#FtN/E=;J:rZ2L5LnCKnbA=Ll%"ELAlo+K`?c+KER!^Jq&4JIL:LNH[C!`I"-ZtJGt&uIK+[* -H[L-)KnkJL5(J=KnFu/K7AB!IXQa!KnFu2MMm=IN0TNa -LP:D5Jq/H+KS>/;Mhd"?K8#,?O,]-\Q(=eRYcOC[Q^jG'LQ%:WP5UMRMM?_7KSPGCN0''UKSG;= -MN*UPMNsm5VP'clOc>0QNgQN;R?NP^It*$%LlIUbRA-t"ZE0t% -Tp1CgK8>YXR#m8dM27(POc,!NJUi9#Im8RBO->s'WN`_6XIkuNS!T.lN/s'_PEhN%QC!esOH,9^ -RAmKqTTbFqLQ7@PNgZZ:S>;sSSXuOEP`CihQC%T>;3R6-NJ`[QLkL_NV7R[0"kLl$nB -NKffqOc>9XNf/R@Jr,SVT;AQkZ`^XC[&KR_S)[AMhm8iN&urV -Nf&XGL5_=aR@C%OVQ$f#T9>A!OI)`@VP'67Mi3RWQ^abFR[KkIV5:,jVO`s7Pa7MoNg-$#OH9C( ->*G8>R?WktP`q/fO.Ml.OGf']T!,Q2[&p0uT;8-PT:VRAS=cXRR>clTKn=u5N0B^%SXl+0OHPs! -S=ZOUZ+7W]ZD!G>NJW=DO-,]iQD1"6NeiCDMNO3irf[;GEfZ$6Od_u>TpLk%OcbrqO-,cpOGfBs -WNs%BYHkLAZ)XXtVl?2IM1pY@P+S>7P`1EQLPM%^SY)^RTob+cN1I2a]Xt;:Q^O>2Q'7`7W2-#R -RA-:AT:qjGR[&qoPE_&\KSk\FLkLJCSZA`jZ*1$qrgEbSH'jqaP)tfnTV7mBS>)mRQ&:YWM?4"V4*U2QB[Q$WN2b\PE1ZZM>iSq -P)P-POd)B6XKAS)WM#iRS!]P5Vld/"P`M<4Y-GLCUR.7.MMm:RS>!!_R?ESiOI)K0Tr4onri\#X -XItuDOI`GRV4s`XS!f\-M1gJ7MiE[RNK&dKLm+L6[%jM"Y,.JHOH5[$Wi2P\rh3SoXf\=aP*)<. -Uo^>UO,/74Jr5PJOI;rIX/DhjTpM(2S"m!\S=uXJStVpKNe<@_WNE.mR?!2]LP^tKNK]ctOc>Nl -SYrd!VOaH]WM5]DTr"HZZ*:IF^T3orJ"2LVLk^bNS=Z4QYG7MKOdhf,R@9P5V6[YD^:UJ;R@U.I -VQm:nNJW[ONKK-ZP`V3-Y,eM$VOa'Vk]ZJS!8bd -LlI[cPE_E%Q]mJlR%p^i[^`cKV5(#oZ*'smOGf!SMN![YMMdI^S"?7>NfTI!Z+I<6P`UueM2$qO -Q^*YsS"QLQVBh[mM2dUUL51kZP_kU&Wi3,.`QH')Z+%$8SY2RBQ'Rf*Y-u"B^N.-,_7$8/OcYco -R[TJ'Q_0k:Q^NtpP*2$!PEM)qSu&EcPEV)iP+/DUZa$C&WiWG<^9!cbNf8pYQ'nAJWh,QFPaekd -YH4k(TV%dEQ^*\oNg,ciN/`jXMN!^eR?<>]L4b)0Ko(\FQ&^]^Q'n5=PQ$\eOHGs*V4a?LS!B(q -OGf'`U8Y&iWg]-8S$'9,_8O'r\A5niYHY==Z)smrRZNAbOHGWdPE(HRLQ7IZSu8j$WL&^0PE(NW -NK]NgQ^4)4T:;7W>Q^shGU8\'mBT:2"1U9_>>YF^rEU8O`XR&6se -[`-+kWM-2t\>YjbS!T>#NKBa7URI[P^r3XTQ^*btOT(;WR%0A#P*1rrT;86KNJi^SUpIP7Y-kO4 -U8+N[V5UJrY.Mg"_mm%YXIPQ@P*MK"T:_R8O-5j!RZNMpT;&9k^VIOlXJDSeV4abp\OHGp*]>;M*]=,Dq]!\T4Tj4CfR?*;nU7S!QUS=6=LlIgoSY[^rE(PFo%g]Xt#'PEqK!RA[F)]"#Db[A^=,Q^*u4XJD;IOHl6%Q_C,P -TOX^nYI;*PWLT9=PFA2>St`BpYcb++TVf!#X1#%#S"QUSU8OiaWj/t:XJr8%X/;S^StD=1Q(b=c -Z_jLdPEM/lM1pP7OeJkWVNlmkP*hrBVk9ENVl$JqURn0WV4!:)U:gKAJ'$!OY,\IsSsGCmL4Fo3 -Mi3[fXK\LnVQ-GbUoU5YQApfjY,%b_Q][c4R[95*SY)pcV67&#SYj$=_Q]r>\@]D\Tq\*JQ'JD_ -\Z)@!T9GY>W3+([[],^[Ts(o.UT2)EZ(S)$\&6>'XeDGe[`$>1_md%SSX5_5SX5tIW(*MSVQ@#% -T9PD'VmO4NZ)++cSoS=#D(TqIm@OcY]hQ^42>U6COtN/WgaVma$A -Y+hPYS!T>*TsCi%XfnatS"cF>S>s3Bc,%<+V4O*EVmj(@[^<0/R%0tU]>21kZ(@YcV4EpBUpI"h -P`UrlT:)CPZFRNKSs#"pP`M$!SY37$]=>D_[^3-:V4s]WTK]!F[C`o]_R>kjL5CkMSZSfeS!TV3 -PF85NZ`^XL\u_j3\\l"QPE_]PaO.u:`lZ'/]Z&.<^U']*Su&Nn\c0HMZ^mM`[C)g.WNs1T`5'*k -ZE^$iUSG!)_R6JGVOa3RWhZK$]sk>QVOX^,aLJ7Y_8*CVW3dQ -['@E``ko3eZG+K,bf7K8GJ1JkYHbgbc,@3#]#iRT_5sH1Q^jkEWk?*d^pgJCYeI]\W0<4'R]*R% -]=+`8W2lndR?j/-T;eraR$!T*Z+@EO]!.j!Su0!+XJi8+[D'l7cc!K5cHsS=[(!`c_S!Ci\[A`W -cdBhMa4Ate^Ug\[[B?F&UJIefTTY4nP*DTB^:qD#]WnH9YI1pN\\#5M[(X&YZDsUqWMH8f\%o_h -XehY`X0T1D\Zr;(TQBk.4S=QRc^:^_LVOa*P)bZkTVS9LP)YB\S#EKq\@/cGWNs.GX0]",R[0SGY._9HX08qD^r*X`WMu_aQ&u!/s,fj: -Q]6obS=Pn,Q(kFeVjNa?VQ$GcSXuLGRuro+X0A\#TrYH)XJ)2ZWjB16SYN-XTV.jIUo1#]T;ST` -Tq7jKUnk0%\[o8SrhiSmY-G.)R\QUJQBIDuSt;gXYee;o^p9]#QC4,)PFJ2AX0/e>]YV@lY,SY< -`5JmSU84?IR\d'fZEUC/W2d55Xer%pU7S0PS>WZCdDKS"-%EL&_op$AbfRc:^r=RC]W1t0Dm$IQYGn4bR[p(HWMl\k -W2Zu$Vkg)`WN3;+W2-5gZF[uk]X5#T\$iWGXKo7@Z*LO?]"c/"[]?RB`Pf6dUnjup\$iWJZa6dA -]=4lA[(j,V\&,bSUp7#$Zad3>W1K<>S$'idgXX -nc()t_3fFV>ZOa%?G!,<`rX2=]SL$5qb*=:&/6=]ed/=^#$6rEB/&rE0)&$X6b8<``C)Q.e0=^GB=>?^u0"'J],=oMY* -=pS85=BSg2>[(A1=T;M6=BAR)<`N1#<`N4&=BAW(C>$YE<>$PKJ@q&hP -?Y!tqJ;&JrDf9E%?!q2SB4u.#rG)@Js(h^NC&M`FBaAHdAnG[fA78jE?m/l`?!UW=?=@;Q@pi\M ->[1K9=^,?E@q0%\AnGUb@q&kSra-ONA7oXjARf"RASH!uCi+$,DJO!%Ci!g!BDuHCAnV*V5A+S= -@q&qZB4PCX@q]XkAnPjoC1q3lB4YO[?t*_]C27X#BkV*jB4u!pD/O$!@q0(]A7B"VASZ'n@q9.^ -AGp!Z`OLP1"sG'J=Z"akoVLk^W_ -Iis2fJ;9AYR>607G&hbJF*NA"OGfCJpr&oH?=.JEc5i>JI<9CI -F)uGEF`hP:CN+TPMN*X`S!]_@TTXhSI!^I)P)tQOG^"CYItruJQ&LWbRK&V'R[fb+L4k/-H?aX^ -KRnDoH[L3hJ:rT'GC"aiIXZg-MhZ\+H%M'QXKJV!SJ:E#sJ:`B$GBn[oNKK6TIXZcrAV,GX -G^Xs`H%h?JTr=i_WN*%tTphF;QABs4EcZDOL4k&%F)Z&3:#^9j]$N.-2+J9cU!Q&g<2rc;V!OHGWjR$3>WN/<48I"-Wn -I=$?kIt!!*Lkg_:H?4@`IW]m_H@:6dG&qYCFEi+[L51teTotG$Vl6PdPDkK]Jp_rsJ:EEBR?<2Q -H?O=LG^+O_H$4IbKT)4eSXc4;N/*.B7Y?AOPFS5.JpiNCT;A]eOFr%2H@C@#OckrjI!KjYHA.6: -OI2N2U8"9ORZ)oJH\R`LNJ`XOL5(J7G&1c(D/X?5Fa81TF*r_-TW"9LTVIp2IsuZoNgQ9!P*V>q -PaRo!Kn+f:Pa7c!H?=%:ASu[=ItEHukdS"lRBR[/niLl%1[R[&n_GBA4^H[0jTF*i@]EHQe`M1^ME -NIub*H\.0AS6P+eqN -OG/:;IKSbbPPCA"3ItEWITq\6IPb4\IZaHHcJp_feH\@WI"Hj"LkgS4KR\T)J:ruWY,n[qQ^X8"Ng,bdPE_T8Y-=O_LOb#6MiX4!VPL&` -SJEH6D[Ng,caIX66^Fa/XuNJN17J;&`6KRnuKUnNSCL.R;_NJsL&T9kLjNL5ieL5(qfWhl,; -H\%0?OH,0aT:`'jZ_WqJPbY.CMi!:EIsZ<^KU.aZMjgfTU611`Jq&2oG^4psIs-*_EI*>!Q'R8R -G&hemW2l\eUnaEW1T<@R?rtfIu0>LO-Pu+P`LEAI"[?7R%^1I -V4*I-NK]ZkM1p\AMi3gpWMlf$ZEgpIVja3WXdY-%P+enXXHnHhKRn]0T!#W4\%/oJR@K@iK8>_` -Q]-WMMN3aWrg.eoQ^=/7VlcqgO,JpQOI)B!QD1=RVkfiHR%U4CUm[='P*_Q%S"#tBWirJ#USOTU -Q]R/aNJE%=Oe/;?P)k?IIXcZbEc,lFNL-#sKQ_TmL6%U`MhmF]Q^aV4P*;?$LjXflD/FcDG^4atS"Q"*PEq5eO.;>fI<9CWPE1`cM1CGDJpr'#N0Bj.R%L%>Oe&u#^SmZu -ZF@9CQ'@/]JV9MtXe(iCNIchKR@q.*Wh#-%Oe\tRQ(,"bV3n!XZb=;fV3dRCZ,Ff)]rRuqLjsr/ -LkUhTQBI;qSYMa=LOt;IV6mIQV3mC*LjsVoI=H]nH[9j^JV&B!H[0dgNfociJU`3/QC=MP]th(T -R?Nl)UoC&QS#`j*]skPd^Ug\S[^s)\WgJd-Q^aJE]"YD=Nf0!sZ`Tp_NguQ*Q'%#cT!>B(]="`8 -Q&(3YR%CFq_602fR'!p%S'Knk\\PD=[9I>!T:P+AJSYGIG8I"?lrIYW`Vq^WOF&`Q5j*\A,qqZ)=4\QC=JAWjB(@WK`UAYHNGF -St`)(dXKfI\cHF5C^V$tYWiiqRaM>*[Xh`E6^8mm"NK9?gTXD5@\$E!*VQZqt -QA'jBMj:"OW33.jQ^aP6NJrgUOI2`_e&Y-"q8 -\%&cL\$rcM^!"^?_T:6Y`4<4PYH=[nR$a>4P_FO5IXd9DWN382Z`3r"8ZAhoY-=q!WN`P'V43X7 -S=,\6WjB"6U77F7T;JThXf/,"\\ZA2]sFT(P*;0#XfS4ZNgHQCWj&LhMMm[_Q(=kYXe;&HNK9,e -NJiaWQCaM-O-#B[L4Ou3Ng,]bK78)pMO:'6YHkC3V6$u)TW"ZUOGoEqUp@%tU8=or[_/lAT:V@+ -Jpi)tIsl`kJq\PsJrc%OKo2+gUm[1!PFIr$MMR+IM2$D/Nh)u?QB@)[Jq&6"M3!RN -NK0*hS>iclT:D1,L5h@SMO('<[^!Ej4_>>P*_AiMMmjhS"QIOZ,=o< -a1B%)`5fBmYe80(a1f4(`OrRf`Qd2b`P&jmZa%!Q`6-HSd*C"cf&,B=f@]'Bjlbq%JcC<$JcD&9 -J,~> -n,EUahVdemmIU>IrpL0_lgFBmJZG^mHj0,n*ol:n*]Q2md:#?s6]XNs6U!Xn*oi8n,;bS -n,MnUnbqtUnc/1Un-\gYn*]Z5mHjK:nc&"^nac>EoCDGNne1K]mdBT7naQ,?naQ&AnF,l:o'l/=nbr%Xnc/1[nH8:Im-ai@$1@*Em-O')n*fZCmK;tNqu-No%/BJep%7Vna>c4o(DVGrpg9_md9N7 -o'u_Ks7-?bo^hYCn,;_ZnalDHoCDnN+n4pdm-F*3o^M89n*fZ1mI'K6lg4$-nalDGnaZ2Eqtg!a -n0.5emdg&=nF5o;p@e(Ko_%nJnaQ)=nF5f3mI9Z8mdKf>rpbL3o'u/8lgF61nac8@nauPDmd'3, -nb2bKn*TH/o(Vt[p?qA^llgjlJp@\.Oo'PZ+o_ngirUfIBn+#f.jQQ(1oFCZcmdTf8lK[j+o)&Idp\s[i -o_%bAnFl_NnFH8OoIBA%q>C-bq>'UOoD/Fcn`8j$p@Rb7l0[g'm-sW>o^VVDlg!g'oChY?p&=t` -qtBaSmdBB%lLY&Umc*Bmkj\$'l1FlIn)s?8o'Pl:o^VMAmI'B/nFln^rqc9To(_M-k3VI,q"!kB -n*TE*mdB8rkk+N2jR)mEs"X<@o_SO]n*K2uoDejbkND0smHs6*n+?5Bo_8(Xs7u6Sl/V+&p@%/, -mI9oJp?Ur6rr)ls8+u34nFQ;@oD/1WmbR7"n*TT6nacJMq>'sdrVucjo'uMTr:KIImcs'(n*of4 -l0Ig,nauMFnF?/HqY9OJnb2YGm-5l0S0lDp#b]0m.'oNp?^r.qYgF0p?Cf*lgXTCp\k!_mHa99qu?]qnaH,Lpabn'q"aLOp\smc -s7542kjA$3lfmm3q=jphp[RY=qtKj[p[ISAr:omSoCMtM7J-$As8Vr^k3V@&p@.YFlh1#Ns8Vob -n+5l3q#Cp[[V4kO\B@p@@bGp@dk7kj.[, -oDe^`p$hA8mHj0-o'lYDDs[,rs8)*GlgOfPs7c!KmdTf;o_J@TmIgDWs8;T\m-!d+n*B91q=*M0 -md9N9nb)JEo(;hVq>1-kq=F+CkOA*?s8W)qq>0jVm-XHFs8DZ\l0Im1n+?MMmI9Q6rVlWaoCr.\ -qsEh@nb2n\rt55-oC2DCnbrLZk2PUmq"jUSrr4A:kiqI)s8MBImd]uAnEfN/mdg,LqtKdWo^M21 -lgXK6nFQ/=n*ooIoa1Kcm-aH=rVuT]rpLBcp&+gbp%@tGmdg#;m.:/Rs$cYEjmE*Jq>^?^lL4]O -rU'@Uqu6Wqp@d_0lgsZ:q"jp\lKn-3k4\KIs8VralgOH9nb<%Ym-a3,o_SCXp@.V@m-O9Arr3o8 -p\XaYqZ$Tlp$_DIs8VfXkO%pq=a:BkNM*tn+6;Rq"k$jq"!S(jR2I)o(r@c48.doj5].co(;hZ -q>C!Xn*]Z;rVPmCp\sjUnaG],nF5c4qYg?ep$h;1kOn<,lLXoMqYp6Vl0Ia1pAP#>qXjads8M`Z -m.'cBnEB3,lKn'3rVH*NmIg;Hn+-&>qtfjOm.^JRm,R3kk3MR/o'uJPrr)ipoB>H5s7td;o`+sg -p#FW[m-jB*l0S0BqXjCOo)Jacn*968r:fUIpA"(9mIBf@p\F^\nEfT0nFlSIo)/IXm-X0*s8NQ' -nal\WpAb0bmd]uAo)/(mnaQ&9o(`7brqZ6ep?V/?o^VPBrp_B0r;66`nEK3-p%.V9iTTq0rr;lk -mI9uOs8Vl`q#'pSl1+NJs8Moprr`#enEp5=7-s=%lgsf;lh:AYp\+RcqY9m`n`f9&mf*7dp$_;5 -n+5r9kj7p1oD%qVrU]%2pAOj_naQ#6md0#smJ$29pAb0anG<.a!r_`Xrr3JujQ5n/s82$Hs8VlS -meHe]"n_$FnaubWs#U/ToBbZ(md9ZErVH6`rVccqmbHR^qZ$NfmHa3/mHsB5p%S=\r:Tg[q"!e7 -k2Yk"p&FmZo^;#/oDJV2mc*I"o(rCdnEf];qY^!VrVufgo^M8Drr)EQkih3nqu6Ttp%%_?rr3f- -jQ6")o^1c"mJ6eXqXs:BmI9T8rVuiqru(UujQQOAoB5E7p@@tWs82QWlfmKkm-a67r;R)plK@U/ -s8Vobn,<8\p$V>?p$Cl)l0\9GqX3D)me6;Bp%\.Hmdg)Eq#'dGjmr9Em.C,Ps7PXCs8DEOp](9l -qXX(Co_%e?lKRm:qXO1Pp[db=pAb0jmcaZ2)WpM\p[@D5nFZGGq=X(4kP5)WpAb$TlKdd)qu6fr -mH3U(rr6O(qX4.Ys7Y^>nc/X[m-mIgMVm,m[4s8Vl`lJqdAs7>RUs8Momrr4VClh:#>n*ff= -q#CBgkNVsFs7#79nGWCerr2Q]o',H4oC`.]m,[BskN_a8oCi1`0)bS2jQudDq;h,Hs7YmLn*U)R -rq,I?qsEP2n*]f?md0<0p\FRToC_kSo]kZ3qYr#@nbVhJrVuijp[[qSs8VlTgudYao^DANrVH-_ -q!@A:lL*m"l0nm.'lFoDALd#PRHI -ki:O]nbrIkqXX4Ts8N#l!ql0Yrr3l2o'P`1o)&@_q=Ee0m/-h\r:9%4nGN4Qr;Q^>q!RG;q#1!Z -o)&Ieqt0CJoCDA>mIgMZq=*qJo'Po8o_SOd5Q(K[p$DVVpZ^]"nb;nPoD&1Wrr<#rp\=ILlgO63 -p@[tFnaki)pAb0fnF5f=rUT%.lLOH1l0Rm.md''"oD\aqq!n7Xr;QHZq>UCeoASp&o_.S5kj%Ht -m.9i=md9E1nEeumn+-)Bn*B?/o(MkRp\"1Ona>f5p%nF\qYL6ip\k-dmdpGXr:g'Ym-F3:q>:3l -qt'@Orr3W-m-aH5m-O]Ns8Mcan*]`>p\=af'DV7pnaZYZrV,XMr;6*Up\t3mp\s\pn*9]Js7,=H -q=41Po'u5?oCDSHn*g#NrUK[Rn*TN/nFcVLo(2SKp$qPAq"3kAs8Vfco'Yf.mI0fHp[IkGmIBK1 -q#::o(VkOp%S@^rr2Z\mIpS[qt0FHn*`1#mIKW2n+6MXqX!D9rr)NXn+6ASs8Voa -lK[s -nc'!jf!:BhJpqieH$Xl;I0k:CGC4miI!BdWrHA]oF`_eNG^4OXG'%qOFoHL_Fnp=_G6N5:H?sj] -rH\?ds*=QhrH\?fs*OQe$@[AJG^4RYG(+jdrd"cqI"-WpI=2$B#(1`BH$apdrd+osH$O^_H[L0d -rHSftI!^0bG^4U^H$O^^rHeltI!g?jI!g9bGBs.5+F/0VH?sj_I=QcrIt<6-Ng-$)SJq8H&JUr?'Jq&/oI=R'+KnbG@ -LP>_\!J>n$Hj>=ZLPU_?KS05V"bh_fLkLE[Jg#\pI=6KmKnY),It3&uI=?ZsJp_uqJ:`H.L4Y#0 -Ll@7HrIHSNIXd!)J:`B(KSYG;KnbA6SU -K7\Z*L5V4[PEV/mQ^jbHWh>ZCQ&piVN/`mYNJrmYLP12-Jq\u9O-GlgKnbGBM2dIMMNaX-U7IU4 -Nf/O@K7\aTKkQ=(LkgbCOHYfeNJiXKMj0m4S!K%hJq/E)LQ%=YQD(RsZ`U.$RuiGZJqoGUR?EPh -LP_%UP`1?KI=6KiI"@*7R%C1[\[euESX>b1P)G*PL5:eOQ'78gO,f6]NJig^WNiRsP)tcBN00*U -MNj^'QD(%GStDdLR#d8eNfTBhQ^4#'NJijZNerd\VRs@:U6Le'R@'.qMMd.AL5M(TOc5-QM26e8 -L5V.ZS><3j\$WKL[&fmcQC3nsPaIi'P*(`]MM6Y7MNa\[AT9 -R#d5_JqfASS!]bHV3-RhKnbMKR$a5,rg%nnMiZ*1:0 -Vkp/`S!&_dM3+4#RurP\KS+r6PF\>"Nerd_VPKE2MN!O\QB7<%W2,iESXc",NffE_O,]*XNfK?mTqJ!GOc#*^ -Ne`LON/s*XKnkJ?LPh.YR[KeKX.PlUZ*^pCVkTnDUn3j5OcP[![(3#tOH>EYNKK?bO,SmSQC=h\ -ZE:.%R[KeBRZs)+T;AK]Q'7`8Wj'(DV36l6L -J:rc;N/a*nUS=HVTUV46R@'bRWL96@OHH!(RZN;cSZB'#Umd0sKnY;?N/jF"R?3>gR\$FWVk0KX -Xf8%]R&$^WVQ[G2[^rH,R$WhpOFE.KR%pRUZ`p-jP*)9%R$j>+Q(bFiZE^R1SX#P?VQ-u.Tob"b -Ko;%ONfo?hSuK$%Y,%Y[P)u32V4jKFO,]6bOGepQMiNdQK8Gk_SLP1><-_ -URd[2LPq1OLl%:bP`:p!TVelp\\#G_\[o,GU8+HQR@KnA<3WjJaNDQ>^:U\IR$!Q!T:ha>NK9?k -Pa@u/OHGTeSXc+7S>E3aV3-gtOI;lFZ)b")W3W_:_8<=AN/2[ER$NW5,_Q_0_5OGJXI -LkV"`Vk]WBRA-CFP`hZE\?hcmOHQ')St3'n]!\?!P*i#>SXQ.N[(*N:Od;iGX/DVkYH+tF`P&CJ -TrkMlQB[i/R?*/_PaI\tQ);41Z(@2HR[B;$PaS8DT9kt3QCaY7P)bBPLQJ[N]77&cZ*1(&S!TeG -VPU2p^!"R1X.l5QOHc-"T;JUnFZjYHP45V5LK!X/2GWQ'%)jO-,s9]tqFs -Y+:`:OI)TQ`6$$2[D0r$]X"H0Uo:/VNg60+T;%sRSHTrkAdQ]mf4S. -X08S"TqIpBQCt(HSti6\ZEp^5Y.1j<]<%KeS"lgUV5:&gWiE,#WNEJ6[BZ['VO!=1TVJ<[USFHM -R[f_)MhQhDR\QUJPDG0bSu&KeW1KccYd_'?TVe]_QBIW2^;Ih&`6635[&fsfO,JdKItj&LOcl?= -Xa[.DXKSV#Vl6)IN/E^l\$)U#SsPh3Nf]-\S=Q@NUo^_qS>X-Hb.k?l\?rWHTq7pSTphpk];_O# -UmmjHS"IF;^T3Z]R]a62W341_\=]_)]#;b-Z)F_0^W=X?_n3.MS;1dV4F*BOoLDeNfTNdOH5^'[CWlKUn!d6 -O-Q??XJDJ[SnFO[St2.0S[?;R[Cri:R[]kC]">Pd\ZhZhQ_1P'c,RH.Wii_8Vjs?TZ_NhJNK9OYGRk^VQmVC^r4*qTVAm6`iZ29XgupVPpc7bL+hb_77;*c,7$#^W":5]stP^[^I!ecI:%V -aOf"\\@8`U^q?nNXKet)QB@U7TmAXZ`gC4]#De'\$;s0UnjrmYc4(WU:%qU_7-83TVJ9PYJA)iZ)*qZT:qmITrtu;YG.DJPEM)s -R\[6qVO3R0MiO1"XL>gZ_S*Fi^q6bPBWS%uQCOqZ[]m$F\@0&ibe^fsXeD2PQ'[o+P`q>uNKBO& -T9GA$QDLaZP)GEiS!fV3SXu=.Hb/q#d -U84HNR]s62\[/L=XoGU`Xg,:N"F -be:Hq`5fX%[C(InZ_WtSR\$%=Trb`W2m&&Z+.-GZa[Zb\#c[A_nrmcYHtdR`5KF#ZEUO@]=G5M -ZFR0?\B)XoX0JV#Ydh$DX.TEU;k(#4f@\EbVOaBKPaIi.R@9bGZ+\6)e&&W5d*0PB\@fo1d)sAE -bKR]'Ye\TDgsX9WZ`0^sW3*MA_83q%`6?c\bJ_?Ge_&I%f&Q2blL4`Pq18Qss+13As*t~> -nc&shc_Pr%@TuZ0='GT-$<^G.#nR$rDa;+;c6Rp<``=%<)Q^q;uT\p;u'Gn;[$-#<`W4$ -rE9)$s&o;(s&oA+rETA.q-+26?<^T;>?P'9?X?b98>?Y04>$G39 ->?^u.5[%Dq>$"g->$5!0>$,!3>?P-4>?Y97>?Fp*=BAX,=]ej6?XI,H@UrqX@q91dEHd(kKR%NQ -CM7![?t*\\DK>Yl#&\?uDJa3*rb;FIrb)7F(2.5e@:X%a@piYO?!h&OAn>O`@UW\PrE]V9A7]=a -rb)7F(MIGmA7K%U@V'1bARo7U?Xm__C2@^%D>nGZD/O9/C2%?oBDlKRB4b^dAnGUeBOtX\@qKNU -CB&)SC1q6nBkV)W@g?dcD/O3,C2*W]"`%smD.mS]Ag(_q@:G@Uj%cAS5XfBl.^$C27X%BkV-mB4b[`@q94cBP(mnD/3p+H[9mVDJcFO,/4+DesE> -K7ePnFDPi9H$=1@BPD0l@:3V_G_V6HV6@"rQAL3FKRS,dF)Q)AI=m0(IXZ3]I=H]mI=mcQQ\Bd3 -H?X[XEHHbiNJEXZOc>B_Mh?1oF`hnSIXlouIWop[H?aOWJE-?Y^ -MNaR&S=ZIGOaM@qG(>L3NJDt+G'SIcLP_=dQ'%>uQ'Rl.P_t-JKn+JlEHHMQFa8OlIslp)KR%im -JqAAtJ;K8HLk1#.N16T@Tp:RmLm!m\O-lK+OG]0aLjaJkH#dqIGCP0rIt;rlGp7`nO-5d"VQ6l) -XeLf'G^"=PGCYI*KSbtSHZDKC/VK`$NCIsH?iLl@CQKmeAuItNOIY!#uKT2:cP`:ENLkC>7M2-_8 -L4F`'J9GdBAnYstDf9rWOH,9[OG\dILQ%=UNJWCEJUiH6QC!JWI"I0+G]%D;Ci+$/GC+X]I<97< -BJ"(JM3""$]"kbPR#Q`KJ:DlpLmO9TEcZ;BIY``5OdMAhIYif/G'8+TG'nU]rd'$AK8YVAJpMK] -IV'Q(=D,LP:GAN/j'ZGB.Y: -BlA0AI=[6HoYJUrW8K6q`iN1$?.O+VOnDJjH8Fa8q,MLg2-MiX6oQAg`c -R$_BIN/jFEr%gQCaqJS!&\iKS,DXS!T:kI!L'cF`D>AFa84PD/t2fObnp5Oc4d7F*i_-S!f1]ItEE6 -R]3QtVjX3KR?E2]P+8DLW3WRoObn[@IscZpJqK)GNL-QDU8FibVl[&#Oc"^;Jr,,'Fa/@fK786! -OHc#qP*V`>XehSZR[','WMZAUMh$.uE,KW7EG]Q5K92Un4-"c;Jr#eiTTY(]I&=L44W#J;oVLLl%1VOcFg9I"-s9SY;UGR@:"OX1,U6Mg]ejFF/\"S#<$DM2RI^USO$3PEqT$ -Ne`49I=-HnIsZHgH[:$dH[^?aEH,l2BkhU.FED\DD/afQN0T9SK7cmLJ:rlDN/3=FJq8Q0JqAoG -S>)jUO+`:SZG3l_]s4Q;['m-.V5gMrYc+(\LO=],IX?TsJp;-OI"Hm;TrbJrPC[dkBk_7"H$OCT -H#.n\Kn+MrH$t0nKoht.WiVqbSX>S.V5'ZOQC">IUmR!hJr#;EN0^*6YI1X4Ndc+oH[UU.N/E74 -Fa%tJH\RT=J9lg+Oc4pBMk6c=NeN"7Ll.(GTrP5nR#$KSQ^3_kOIW5ISqhWAO-uDSQB@Z/S"m6t -Y+1T6S">^rK8>G>H?"%PJ:`<*Q)UpYNJ<7HLOsr%Jrc+QJ:DusM2R.BIWo^JHCqFGUn46MP)k9I -Mj9WtTs;GXa0hS*P)=pKNJisePE_,cLP:JAPa$cOP+.YrRA[!_W2,iLAtYcbQ&poYJq/T,JrcY3 -[^<9SM2@_$X/DYMI"7$/G_LpCWjogW[&BUYR?NAVJ;BJPLkCJIQ]d/fQ'ISu -P*)!!SXYn/PEC`ZPF7YuQCF;BX.u/VV5'BXSW/DbQ^O5/S"?:JUo(#bVPpMmTp:S%L44lXe1`/Iug@Za-TuP)tlfM4:]P -Ss>S)Mi2qCNK^ZaZ_*))NMNh^S>!L+XHoN[[DKqsWh5ue]ZSL>^9OGtLjjVrK8#AVTqe?ZWMlhm -P_FdVXLPX:R?38XH?F=QG'\ReJU`9+Kn4SqGBA=gMNj0YN/!%CR'"-Ca1J79R[ot@WM>`ETr>?1 -\@BAo\ur!,S>)a+RuDoKKo;4u_Si[IO-#?sYG@D8Jrl.ZOc#'bVm3>.\$N36R>m,lU8bK4\YP48 -MP@/DPa%i.PE_Q-S!oY.Mh-;/Ng-KUcHaPJZ(Hu5Q(FY9OH-*1Tq%:&Mj0p-R?`r#S"l=+I!^L( -M1UA:OdW#L\@&WGToY;,W2Lc(S!K4uIrp%$Q&:9XQB@H,SWJV[J9uKdIu9>GH[#I9IXQp9W3EJ" -R?!&PH[UgKUmdI.NJN:HM1gMEX1Z6O\?;EmS=QF`['[0DV3ZppOJ0(q[BHa(USt&WMMR:_N.H>& -I"I68Q(4_T[&faQK8PJ2I#!T=Ts(W'\%fP[W1ooTS!fV#OJ&SMXgP9mJ9Z6_G_(j6P)P0SN0'Ku -rgt^A\[83(T;o/pPD"^U\A5qdXhV`g^V@V+`j_e:R?sJAX08k?\>u'gYeIhoUn4-T\AQ8%`O`I\ -SX,_6WjoI2QB[PfKT;1VR]Ns'Y,IqYTsD58SuK-)Vjs6O[)pP-Y+(`OP)GHlTW##kTV&$_[C!?M -]"YqkYcYCQbK\>Vai;$!]!AZV`PK3tXff@be\J/ORZ/tWNj"CZEg9lQ'RPnQ_h!q[B-'e -Q_UX_V5:&cUT(cAa1/CRTq%L=Su8KZP)bs0[B[!5Q&h3"S!Kt[[]Q0dMMdIXO,K$gVlHGVN/<=E -K8>=sPG+h?Ne`+/I#!oWX0fRU]<\fSYbRqdR?!,bS#**ZV5gVsYe7uhZ)jabM2$S7LPCD3K8=o) -N0ffdKSP>LT9P"XKo:_>Jq]#;M2$V:PGG:YSsGk5R@0;"S#im#TT+trQ'dYnO8b=VQCOJ3P)YEX -MMm.MT;8HfWMQJirhsq7TULq#MM?kCP*qf9Vl[D;[CEQ;QBdi'NJNOLMNad=\[])PX/)Pk\&#k[ -R$F##N/jj@[C!0@Y,eY,XJ_trU6Un)MMdjpQB6l`R$a,%S#!?jTp_=9Q'.`DYaLWIUm@.%LkgeD -N/a$bOcl65V4!m?rK;MpTVS?VU8FicUnsogUm7:?SWA\aJUMrrJr>\ILQ@O[S!ftMXf._MLOkAJ -Nf00sW3r\+X/WA7Ya:K?UT1)WPa7MpP,Q=Lf?M%9WM,`FQBR8kWP?6Y[*.+N`ko'WSti?jZbFW. -a1/C\^VRF`XfJS&RZ<8eP`CcJPb>(a^WFF8aMu'1]Xu5#Y+;2YTr+uuYbmkNMMmdnVPBTFR%9tF -SsY_)QCFS?T:MXOXKf:BYH>4F]!.ouS=ZFKVlcntX08q@Y+V5\Za-U*V5^]+\[f&GUS=Wg['Ha/ -X0JOsYJJ#UVlZP^W3EA&Tp(1a;i[`mf%e]bRZ`qtMiE^[O,oNqVR!qTb.=djb/V9*ZF@`qbJh6& -]>(\LWP$C-dDrf#V43jFV5gi5^:h1l^rXpL`kT7.bg4MVcJ7UGjQc^DpjrHrs+13As*t~> -n,E^cgtqMnn+-)?nG_k^nEfW7o^q_Dmf)\Tmf)SRnG_qZnF,fDmJcJPmJ6/OlKdd6m.g#ZnF?)? -naQ#9nF5urU9gWrUTpW -3V)k6na>l8oCMPCo'u;AoCMM@naH#:naGi0mHj9.n*TH-mI'H1mdBH.n*ol=q"X[^qXj7Cnb);K -ljrLQp%\1No'u5=o(2MFoC;hN)Yo^_JoCV\Ho'u>Co()DDo_%hToF(9\md0?-mdp)?n+$DE$1@9NnF5i5n*oiG -nc/(^oD&7]p[\=Q&ao#Qn+#oC3fo^M87nFHPRo^VD:lKRj0o^VA8m-jH2lKRR!mHsQBrV?$QnaYr2md'30 -q>0mWm-='/na>r8nFZ>@nF>i2lg4*4oC26hnaGl3n+ZhUo^V>;nFQ;CnEfE'n,!(Zp%._Bm-K+md]l?q"ssdp@nLbs7l0VpA=jgqtKaIkjA'>q"4+Bl0\!0m-F*;s8VWT -o(i1Zp$M)8p@7;.lKms2p[[\Co^VqJs6iMRq=a:Fnac/7nF?DUs7,F;jQZ1/p\"1NnE]?)mI9]7 -m-O95nac5@n+-/Fq>C6hq>:3lq=*hHo'Z)DqY'LNn*TN-kNhO/rq$BbnaGu;o`"Raom-<"mIBf? -naZ,?p%\7WrVZHQkN1pto^hM;jlPjuoC_kHpAXp_q#($er;#gHlL4?=o^:l,mdTN2r;ZN^pA"7C -meQkVm-*Zuo(_kGmdp#9oDJ@OlL+05o'bu>rq5I?o_A(JoCV\Ho'u8BoC28BoC;;=oCr%Urr3W- -q"=7Lna>o7lKn$5q"O[cs7?3VB(>Tjq=jRQo(DS@mI9lFq=O(^Ebk2GCcmdKT:qYBaOn+68@l0\0=p@RV2jm)F2oBki3o_/(PoCDD8l0n01 -l0%X.+S>L.r:f^Kn+-/BmdTlCnE]B+n+HDBo)&@]pA+OWpA+^f'(Fi>me?DAlgFB3lg!m-oCVVA -rp)u=lg!^#m.UJZrq5mSna>f/k3M[>s7Y[Bm-XH1i8aJ0s7PjRp%%J:nF>o:nEoT,l0@^6q>'gV -mI9c5j6,^oo_@nErUG.(p@[_5meZ_Dj5f_$q=jIJmI9oBnFZGDpAb0bkj.^'m-jH5o_.tKoC2>N -s82K]mGm[5r9re6oCW"\p[.57q=sdcs7b[9me6>BoD/7[o&&ZumHNs,p\=[]p%A(SqYU']o(2h[ -rV#UFlK%'mo(hqGkNM=#'^tPaoC;GGqYU*co^M>>o'l#3oDJUf'E7n(pA+^dq==%Ip$V8?nEB99 -q#9n`nF?)Gr;HEao^D5;qXa(Gs8V][m-*d-q=O%;lL4TLs8;KQlK[a-p\OX`qY'FHmd9H?q=="G -r;QTanaueUnFHGOm.:8Mkj%^1p@7D5nbDqZs)R`"lgXlGp%J(JmIgJYp$(Z'l0Rg5pA=miqXmdff>nb3"_q==1Tnac\Zp$VPKq!me;k2bUooC_bDlgXTIr9s+Nq!@8.n+m"_o]=cglgF62 -oDARfp\js`pZq;8kN_C"p@deEqYU*^p\t1Ip@7M4lLX`9nal8?q#CBdn`f*$r;6*So(DYGoC_hS -r;Z`gn*fuDlJ^^alLafMq=XaXs7$E_mdKT1lKma#qYpL$mcj''nb2bPp$r"J,kCa,p[n(Pqtg'Z -naPc1nF#W.o(VV>n*fK2rql6PmIpGQp\=af7elZOqtKgXqZ$Tno^;VMmd0K@s8Vofn`o<$m-jWI -rUK=@mJ6e^p%.nQqY0:=kjJ3Ds8;N`o'uJHoDej\jPJq^o(DVFrr5ISk3D^7r:]:6mdgDWp@%A7 -nFH8Gp%.hLp$hG:mIKo@p\OOPn*fl@q"j[PlKdj.q>^9\m-jE1nbE%Vo^hS=n+H8AoDAIc./2rg -mf3=cq=X+tB.qsj.LoD%tCmeQS'o_ngiq"O:BmJ6\UqXNqCp?q,- -oDJORk3_^+n*TE4s8VlYm.^PZp@%VHs8VonnJV/qk2,+Zip6(*p\XRPq>0UNl/h7&p$qDBrr427 -in`JEiq3$9o_SCSm-!krUK^]oBYf9p%7nMp%eXfrq#a\nO;p7lf[a4s8;Werq>mPp\OXWp@R_9 -lKn$9s8Vieq=Et=k3h9nna>c9q"OXWkj89JrVuooo]YZ3lfIR1oB#?;s7GaSrVmQ$k4eoUo]PK- -qu?]bnGiObjmW'Fs$chUq#($fs8W&rs8D]do'>Z8m.0lIrVlisqu?]klg"3Ds8M]WkN_F#nF5o8 -o(W%Yp\+CVoBb](m-Efto_.tWqsN\=rVn&=o'Z,Eo_&+]mcN]rnbMbFrr;c`o'G>tlKmm)lK7$d -qu6UIrVQH]s8Vo`io0:tq=<\1oDA4OoCDJFqZ$Thqtpgo^:o* -n+?/JrVm6'm+gRcoCMG;m-alQ1&LJ+oDJ@Po(i"HmIg/CkN;:+nauMLp%%_Lq=XFTn)rj)rVu`l -rVc`ak3W-Jp$28Ls#9fIpA4UVlKdg-q"=1NrVQ?\n*p#Ks8W#im,[3ooCVM8j5fOpmd'E2jQQ@8 -o^M\HkOJKJqt^0i"T%HDjSAfT4SSdBpAY*gn*BE9o'GZ*jlYgrnFZMUs82Q`q"sjUoDJIOp%e4K -o()>EpA"Oas82QUlgsi8kN_?lkO&'Dr:]j]qY9dTmdU)QqYU6js![a3s7c'[rUfOHnFHPX -s7k[2jQlL2l0%^=s8;omki_@"kNM9ulL=]Ls!$mol0@C$o'l#0lLFlQpZ^f1qtKIFs8Vohq"41N -oBk`.rVca%p$1u@qt9FOrVlgDqtBXQnacMUqt0UYs8VZZq"jX_s8;NaqYL!VlLOlNo^2GRs7c9d -rtPA%n*p#Ir;-?an+6)8n)N?`jmi9JrrW)kp&>!kqB,b9oCDhZrq#^OoC_hQp[7P@k2Ye,s8Vrc -lgXcNrU0[b$2O,YkjS?Hq=4(UrtYJ)nF5o7lh0iIs8VuboD8.ImI0]HqYr\Tp%8(PlJh!urpf@G -rVcEds8W)srUf:8nGE.\p$V/8p$VDJs8DQZo^2>Jo',B,o^1o.nal>>lh0rKrr39#q>KgMo_.eK -rr5XdjlZ+/s7,RKoBtr9rU]OInb)M@k1o+fn*p#Ls8VuhnauSQrqH9ao^VMDpAP$jp\FLRr;HB^ -q>UEorVc9s8W&lm.0rEnF65Q -s7l'Pq"s^LlM:JRp&"RUp[de=o(DYFnFZ>>nFlG8na>i9o'bu7p\4COmdBZ=p@\1NlgFKBnauJC -mI9lFo_S@Qo'Yl9naH,Ks7c$Ll1Oi>kj8$'mes7u6Smd9?'mJ6e^)#j@-s7tp= -kNCa]o`+sak4\cRqY^'Tn+lh[(]3gnq"O"2jm)I7o]kW/qtg![p\=O^s8M^,o^_S?mecnJjmi!3 -nFukYp[[qLq#:9m1\U>1qY'^Yn`o?)o(2PMq"FI\rqQ!IkjnWKq"*t@m-X31q"!k;m.gV\p@J1] -rU]OOrqud2o]kW*nFcJEn*or6lLt8Xp?V8^Knp\FFYs7GL -nc'F!gprW%LkKtrG^4R\H@'s\G^FjeH[0i7GlN!eFoZddGli57G5ZR_FT6LZGQMu0Fo6FXGRf"F -H[C'aG^+LZH?spbI/\KmI/\I9IXHHeH@'s`IslZiH@('hIt)oqI=?WpI=$9dI!pBhH[>X9!.+Tj -rH^GMIXQNfG^FgeH[L0fH[U9jH[U6hH[U6hG'J4WG^F^^H$XgbI=?ZqI=Hj$KSPMJQ'do"LOt59 -rI,<.K8>G?KnP/8Ll.+LMi*=Fre1<$(P%-kJphrnJr#25I!gBlIt<6*KS"i.K)L9"J,b'!JcC7KnP)0J:N3&K7SW+J:2clIY`,9KS"]%IXQ^!Kn4c+rdG0'J:N3%IXcm!Jc:9$ -JH^^`NK&aHrdbZ2I=?^"JqSf/K8,)2KS>2:L&Q^EKRnW%It<3'Kn=r3LP:D;NKKBbM1gM6JV&N+ -JqJf5Jq8H'KoD4_SXZ"2P*D<&Vk]cLP)Y6NNJrgQL4tA;L4b#-K85;?OHu;uMM6hDMiWmSLl[pp -TU_:/NJN16K7\c4M2-nFLPUbCO-GfeLPYqdBTJRSR?`beK7\`1M2[FSPFeneXJhk`P`:HPJqT&H -Q&pubLP^tOOG\[?J:;ooI"I6QBdPjMM?\6MOU0,RZrkiLkgkJOHPclQ]I/dNJ`UP -P+AJOXKJb,U5=VZN0^'+R[0"lNK=+"Dip6VVPKiYUnslaTp_(.Q^X;+Mh["INJ`gfT9bV)Q^!St -SXkt"LlRgsX/25IOd2K;YGdkQP*D<$R@^LiZ_X7hUR[R1Nf/^KLl.:YPECuhO-,]tUoCK(]=G;S -YH"CfP`LWRLle.%U8P/jOT(#VM2mmjS=H%9R@9J(OHZ90U7IO0NfT?mR['&%Q&^lmV5g]*\$``M -Vk^#aVl-5XP`CWXPFnD2Mh?V6KS5,DS"6%:Q^3noKoDCmVPp#QPEV?$Q^*o.Uo'iSPED)lOdMW* -PED<#Q'Rc"M1^A2K8,&4F,QV6USOWRR$X2.P*;B.Tr>?0VOK@U84-:QCX_IW1fN?Q_'kM\%&;tMisKqPF8/DY,@GArf)DhR\ZpcXJr2"YHFstQ]mc0 -Vkp&OQBR;eP*qbsJpi9/MMHqBKnYMRUo^c+Wh,K -U9:c'S=-%NX/;o(Z_je2WLKBKR@0A(Pb+_MYI1F$PE(`rQC!o%O-#m5\#uO"SYbRA< -L5(eRMi;d>NJj!lVPp2PLQe1# -Vld>:]!eN:VP^;`VPKucXKK%;SY)@9O,K$aT;%mEQBRf7WM6;iVPgT*\YGa\N09a#OGo?eQ'I`, -Su8TiWhlGhZb!H?US49MU9^u#TUM.-N.ckZObn^BL5qXmT:VUJ -V4sQKQ'7#^NJiUMPF@]"S=Q+G[^WKEZFn#dZ`C%%TU;.AWNNP:^;\+0]!K&SUmdX>TVe3KR$!;c -OHc-.TTkLqNgZc:R@L(PV4ip+LQ.auWMuSfUoC`/\AZ4eR#?]R@#0c-S>iouRZs;@Wj&UrSYrKp -XeV>LOcbfiPECf`OcYQ`N/WgYNK'$UKnG#5MiNmTJq&B,N0p?/PE(cgOHc6)Q^!\qN/s6eOd2Q8 -W3!>1T9bqE_99^1]!&*9[^L1\TrkT&ZbF)VW0WR:U6^n,O-5QZNh<#4ZF@Q`\Z2'ZM2d=AJW#D; -N/`pcR[B.kMM[4MPb+bSVQ?_nVk^#kZ`^:#QBS&O[&9=TPae;=P*hoF]u@k$Vj*!sP)tfmR%Bh/ -Mi`sQMjU?9R?a8:UHP6:QCb1]WhG`;NKKEiRA.%)`3PnmM6*q`VPL<$\?MNcQ(tOh[&gI3Vm!hO -]<\6'USF3lNb.4C=QA^cnTUDIRWh>iJR$X/1VkoT@WO&LmT<"rp\@/K?Zb!RDY\gA1OG\pVT!,iH -a2PHZOc5?dS$'9?`ji+Q\%obgYGeA#YbIDMTqeNcUS4*:MiX:#VmO4KZ+%0>SsZ"St)IMU7@=5TV8-ZWi32,YH5%?ZD=q+Q]d`0US=EVVl?MfVm!/)[(*c[Y+hSOO.W>CS"-4J -TUV@AWMQekSu8g)]3MP7WN)VVQCXhT[^WcZ`Q,p,Z`L$qQB$iUN0p<4 -Sti?_TV/0]Una]YR?3MjP+Jb]W2QbjR?WVkKoMOgR%U:OWMZDoaOAJ_a2>X![^W?3Uo^AZTXD>3 -TV/+[TDt9IZc9ncR?N`rf)2iZ,k,#X.uD\XfnLdMhmXhUS+!GYIM!DZam]Z[B-3nV7"%U^oNf\L68I= -Tq/'gY,SP.YH4\&Vk00 -PDk]sXK8._Od))kN0TZjR]j6.XgG*uUTCW%ZF[rk]<7]ePFT)0fZ:_;.bT:)4=PaJ;GSZK6+Zs^P\]=kec\$iQ@UR%7AWMQW%Y,[nKMMd@[Unb)jS=Q=N[]HI& -UT_23TpqXMXJh\TR&7sL_5jEB\A?/(`llW>U7e$KWj]XU]tq@cVQIb^d(Z`ZTrGK$UoqS[cd9qT\\,nu\Z2pIaN_rK_7@%][_pD:a1oC3 -bJ:j0_6q.s[BI*S\u_KjTrY5hS>ij"X0&tJ]"5AUXg#:I^qRUmYd:L3X.>ZKV6dnP_6Bi0Ts25F -\[T/WVPC<(]!f)W.($1WV50rhW190I[`-%p[&L"*Whu>n_nWX_Um[XATq.XH[D]MUU6tqCFd/Vr -ZGOAUR$X"tNg?E@]#D_3`4Wh%_6p)5TU:t5WOAn,Y.MXeTr4NVUo1#`X0o"*Tq@r`SYHPIHZE(%-WhuMdS!K\N^V[apZELC5ZbFMu[Ap4* -UnFBp`Q,g*['R*@Yd1XG\ZMKsTU(qEZ)+(WS>)`LStW0k[AoppWi`4lSuo?#X0Jk&SX#7tQCFD6 -R@p7ETW"ZTUS+9UVP9i]XKJ\*Vl-T![C*BCTqJ3YR[]_/OHZ$#RA$.h:9QUXf%nfSXlRYZF%$I\\Q5']t1nl_SEdm]ZAXTdFR:9guJ<`s+13$s.KCB~> -nc'EueuaI;Bjah=<``F,=&r@#<`rX2=]\W&a>e=:SJ; ->?b96=B\p5>[1Q??N+71?N+4R?s[)B>[:T=@:*;F>[:]E?=$oB>[:WA>Zt95>?kB9>?^u.!*]>* -rE;3c?$>6$5'6?=.)K@U`hW@:Ee[B52@-IY3/qDJ3a" -@/aFC@:X.kCMIQtC27[(Df0E-CAqoaA7K._BP([Z@:j=kARJnT@:Ee\BP;$iAGos=?X@.>AH-6@ -Am&b]BkV-kARo:[@qB7`@q/tT?t3b\BPVL&Df]r=Df9K3E,TN,C2%BqB4b^dAnPdhB4tme@:Eb] -BkhF!C1q3lBkhBqARo@gCi+'-D/=!)D/=$*D/O9,rb2aRAn,7Y@:NtbARoEP@L6OTA7]=]@q9.^ -rau1A"__amEGT:eAJ&E\@Us+aBk_3nCMIHqC2@^$rb+6)An5C^AnPajAnPjoBP;7)G^=UUDJa3' -BkV-jAnGdiAS,RlF*rOoKnFl)J;&lLQB6oRH#dd$F*DS?Ci+'-CM7BrD/X?9I"-H^D/XN;G^+@R -I#!Q9K6hZ\D.dqF`2#2F,#O+JpVZ[Df9Z=GC+[bIWKOP -GC"UdL6.anT:r!NPBV(gGCbO(Jq&#fH$k!fJqT8RQ'%:0Q?AOXMM-\?Lk9tqDK'cDFF&\#K78E, -JpMs'N.cP*K8Gh^P_t*HL5q[oQ\pBIKntYGOe8_QP`:]`L4=PpG'%eJGCY9sIET)E+s$&DK']ILPUY9K7no(FaJk&O-,6MH['pfIY!9;S"5q-Kn+Z" -I>*Q8KS#/:K7A>pDJ!?fB5;@%GCbX-KS"f+JV&JGMia!YLPCVQfRI!BsdIXclr -I=R$4UTC>bSX+t^MN!+5JrGbXR?3,PKoD1iZ)j4=Fa]%%Lle!mRZMc8FEMbRLQ\+"St)=BTV.d3 -JUN'+O,o-KJq&&lJ;8l%BOb[lD/O65FE_tZN0g02V4Ed,K7A8qIu9\mY,\=jR$!GiMM?b=OdD8n -ObImrEGK<,EcZMTMis%Jqei(H@:I-R$Wb^FDu)6DfTrDN/idKJ:N3& -OH,3SO.)W-NK'3qT:;FNVja6VRu<5cLPL>2IY!HAQ(Fh@MhHM/ML^/+JU`62Su8*CNf8gNMP?oB -V4`p#F`2/BHZO7RH]O5SVQ$&JP*CcYQ(4/(Q%sp=I=-6\DgZeRFDbo:KVbK/Ng#HOG]\=kPa@Md -H%h*;R%:(SY-+@jS=5k+Q^aA4SY)dQNK/mNIsHBlMidssDhj./R@fh9Ssu1BWN;8AJ9ZR#LO45m -JV/T0N0'R%U8"0HTrP;mR?WkrPF/;ES!8kbIs>mJD/cHQ&pl^Q(+DBX0]CO]XG#QWgf'.O-5ij -Nf&C8I=[!*PE(6CH$kI:PDY9ZP)tQHF`r1kPa\#(R@'PGXK]@IUPjJ@DfBlQMjgK7N/3LaS>)O2 -M34$sS<8PVI!^6fI!U'aIsu]nI!^6fGBJ(Hrb6=gF*;eJCMRd0I>F,KLOt54JV/i=LP1;3IY!?1 -Ko;1aSY;sYPDYHp\Al7p[]6'uXfS@bTVeKa[Bc["M1^kNK7&<$K6qQ\KoC\[WjB.9RYQ*$C2%0k -FEVJDG'JLfIs?'\H@(-sOdi#4TUV@;H^0ehW2HAXO,TR0WLSouJqf,@JV]Sh\\l1iRXoR)I!gEu -N0BBUH[gB^Fb,O0JUE-2P`^`RMjBj"O+i"/IXcm$Q)_C,W/uUYTqe9LR@pRYRtQ'9NgZN6S=lC= -TWYZ'UQg_#Ob\@3Ko:e4EHleSH[L=&Su%g/L3/H=NeW+=NhE25LOji%M2Hb,H$!e;I%msPT9Y_+ -M2d:HOI;T+RBO?I`j)%pLjt&=P`:s"S!&YcLl."NR?rV\RA6(+P+n_LYH=IhV6-VhU84?BJpVfo -O.`bh]tLS8KRJ8uM5[u&^p'Q-X0Jq1U7RrtVQ#u?MNX0iRZ`knK7&0)OI*#XZDaq*RZ3&ZN.ut; -Mj0U+XfAD*]Z%b"[B?9qUTL\dLlA%3Y,.SHKntbLNKB^2]>qdkS<8D[Lk'u&JWYtNNL-B6R?!]* -S%OH#9VMl+(pU5X__VRNq/WP6-OR%gdp`llH8Y-5=NaihQ5[\AqAJ9ZBqK8c1mX0Ak9 -Xg"q&Q^Oha^:^Vb&?`3Gu%P`VN2P_j^4LQ@acN0:!?X/Du'['['8SrJu)Vm$K9Dh0]uA%/]"#D]WL9-=N/*F`W1BEOXfnY(^<4C.\#5=DMij*\Lk1/7 -O,K'aR$!/ZNJNdeOG&.;M1U5.Ll@=MM)(9]TW>5oTq7g6L6%LYS?TB2W031)Q^a2'Q^X8+T;eHN -P`_&cKRS<-R%9qO[Cs2[Xo>4ZWMPiBOcPNbQ'nMOX/N2'XL5L=UnOHOP`Lu`Koi.>]XOo:TqS9^ -[D0;TTq7d@PE`Sl_nNUeZa6h6X^/*2T9#"mKnc"gQ][)bQ'@GrSZ&T^Q^459R#d8uV4XEZVO<[, -KnYGHOH,BeQBIN'R#RGrPaIl+R\$CTVl$;eWNEA*X.koDQB[/]LOt#-LPgkJNJ`aWP+A;?J#96C -R>clPO-c#lS>rg!VPBr^VlZYaR%gU`VONg1NK9:"^!YEV^q-tPO+rUSMNOgK]WeBYg""3`[]$"' -[_BStc-ab@Unb,tVP'`_YHXmfN0Bd#R\$@YZG4Mt_o9O0^q7"bZ(RM[VPC&lZa$EuQ^!f/VlZno -TVA -n,Eafhqmbmn+6,?n*g5CrpTmVrUKmVrpTjWs7$3\n*fW>mJ62Kli6>OmJ62_nF?)@oCDG@n*oi: -nac8BoCW"S#5%NXnF,l;rppotoC;>>nalGGoCMPDoCV\HnaQ)>oC;hL"n1mIn*oiGo)8/&o(;G@ -mI0K7o(2AAn+-#@oC),9mI'E2mdBK1mdT`:nc%t]nF?)>n*BB?mfDqKrp_r>o'G]4p@7V=lg4*2 -o^VG>m-X62nFH,?naGu:na,Z2nFH)8kj.d5p@.G8mdTc;oCDG@n*oiGoDe@`nF,f5rU35Fo'u8> -n*f]4nF,on*TT4naZ2@nEoT- -mdK]9nF6GI"7PaLo)A5%o^h\Fo(2MIp%J.Ro^VDn*TH,mI0W=p%%VBn*KQ6oCDD>nF?)nbDqRoC_qNp\OmhIdl:Wn+?;Bn+68Dn*KB,nalGFo'l&6md06( -mIL&Elf[U%n*f]0kjJ-Ds8MKUnauYDi8XJ1s7u6TnaGf3oChbFo'u27lKII%n*ff8m-aN8lg=-, -o_@eCnF6#Dr;HKZm.^P[p#tH"lgXE1l07R.nacVXqXa=Up@e:Qs6;N2md]uDp@RhC*_n*]H# -ip645qXa":m-O0/q=s[VpA"O_s8)6On+6,;m.:/Ss8DrsqtKaSnEoT0s8Voep[[V=p\"(Gm-3j) -r;Q_+r;63[mJ$2;p&G'koBkc.oD&"JnE]<*p%e=Nl07EtnFcSKo^_bQqt048naGf3pAOp`n+HYZ -qt'X`pZ1W;p[.PKqY'=?lgaQ6s8Vr_lfdd8nF5uI;kj%U(rr64#qY0XOmIL2Pl/qF% -p$M;Ls8)Ebs7uTmr9NP=oCqhDmI9]>q"OLSnF#uHs8Vf]p@[_9m.'iFo]tMom.:,KmHO0?s7lE^ -pAOUZpZU`&lLOQ3pAb0gn+$AUs$-,YF78G[nET-!oDA=Omd9<+nFcJGmd'6.o_%qOnFH/= -lg=??md^&@jmiBNr:fpbs8;Wbs8Vucn+Qe]q=j^^qY'IHrq>^Do)A[hq"jjZl/V!rp](9fn*0-1 -s829Pnb2eRlKIEuq#1!Zp%\1Nq"44Ys',*Xj6,atnaG`7s8D?Oq#C-_n)`j+p&G$amcs--oC_hL -naZ8Cn*fW3p%S1TrV6$Rm-jQAr:fjRo'l5Gs7u*Hmdfo?rV#gOnEfE,naH,Ks8W)rrquqZ$^Kkl -fmp4q>9sZo_nggnEolAqYp9ZmH1!gs8)9\nEp)Oo^)#8oCDDBp@e+Mp@[q@lga]Bm -IL&Fp%RtMl0.d;s8VZRn+,l1n+QJAmdp)Eq>0jTp&4pjqs`h4lh1;X#5n2dm-3d$rpCirp[R\:l -07X,s8)cqqXO"nbVh8jRiKLrVuoonEKuQqDrr<#rqtg3bnE]Z9o^hP>pAY!fqt'(9o_ne2qL6kp$_YTs8DN]r;Zfln -auGQq=O1JmIC5SoC;A7l07'^mJd.cq>:3iqY0[WrVuosr;?Nns826`n)s38o^2#2o)AY+o]4uho -DegXhra_6qZ$Qame$/;oD.tDo`"k,q=3kDr;?3Vp&G'dm.9`;o^VbWs7$'gr:Kmbqt9@JqYU']na5o@mcj09s8Vl[k3Vj=p -Zh_Ws7c'NkihR3oBYfmWp[@D9qXa=Oqu6H^jkT.ooBYlCs8W&goD&=_qY^?goBbo=r;ZfroC;8s7l'In -GWC^m,I1!s8W#gpAXaNlLOcHp?D2Eo^VJ@lLXE/n+#l6m.^JYq^Klo^V;6naH5Jo^MMLq -X+.Xp[RP8q>BmUp%ItFmcsK>n*BWGs8DEPlQkccp@8"Sq>:-boC_P?mdKcDrVZ]mrr;r]ip#ppj -m`3JqX"(Wrr_u[lM15UB)D,^mdB6"mIL8VrU/k?s8W)qq"=7Qr:BXVp%A%JlgXB(jnAN?o(W%Vm -HX-3p](9mqYBp`s7H!WnET9+o^;AJp[I\HrqQ0Tkj%X.p@Rh;l0e*6q"aOHkjnZMqYL6lq=*nPq -u7E*mHX$'m-F$+n*T9"o)Jafo(M_GpAP"3o'>`:r;Zfoqss1Ena5oIs7l3Mhr*l#s8W&Yf^8M7$ -2X>gme$/>kNV^>s!IU3lK[m4q -nc&ski5(q>LkBnqG'l;I=$9dH[UBnIXZ]nIXcirI!^6hIXHKfH$FOWG^4T6Hi8=! -H[^BhH?jjcIslbEI/eY!J:)cmI!^9hI=$?gI=6TpJ:2irJV&N+JUN$!K7ei3M2m[[NeW1?MM-S1 -I"-a%LP(84JqJf7MiE[QLP:D7K78<#JqS`)H@:F&Lk:))J:`E,KnP,1J:W:NJc^LQJ,XusJKTPt -K7ec,JUi<*L5(D7Jq/>uI=?]tK8##3L5CeDKnP*XM\1i'Lkg_'%JV&Q. -K7\]0reCc4Jq8Q-KnbA=reV\RM2@%EM2I1GLl$qBK7SQ(It<<.K7eo,IXm$&JqYSP)4mMOHc/u -OcPNZK7AT.L5V"JLP^nHMMR=ZQ&^HMMMmCOOHl&lMhct?L5CeINK0-iVlutoTU:q(NJ`==KSthJ -MN!@IM2@+HK7/<$IslcuN0K^"TrP?#W1f`MQ][;eMMd%?NgcK&Mi*FLLl.+KBTSU^Z)jFUNK/pQ -LPUqVTV7mHU8OrhUmR%$NJiXJKnP,lL5_"GNKTTkOoC:TNKTa)W3EeD\$<*: -W1olOP`1EUP+ScRXF?e%Mhm7NPF7u5Ssu1=T:VC7R%pINS!9"pO-Q9,P`LujN0Bg1WNEG5Zam<< -Uo(,kW1fZENeiFMR%0G#L4k53J;0&JQ^*i(TU1UmNKoirQBdYsPE_;pOIDoEYcORbO,SsWR@p.@ -R%Tt:P`^u^K7AB$K7\]4PF\51O8k,eNK9*bS",n4R@TY6Tr>/tSr/A`OcbT\NKT<\Mi<^^R[p+A -Q&UQRL51bQSu/6MPa.MuP`q,dOI)oKUQh"0R\?"(N1dGYU7@U;Oc50XNf&dUOH,9XN/Wp]O,f'L -Ko:eBLl$tQR#R8kOHPlsR[]\6VR!J"Oc>HdPa%:/NHCMMQ_psfWN3A,W2?)GMia0iQBRDlP*;NG -_76VIT9>M5SreemTr4rhT9>4tR%1.`\Z;$VQ(O\hL5;"\S!]V.Od;T4S!8ebJq8N*KS>VVR[oq4MhdO]P*_lC -X/;;WX0Sn/Zbj&AUp?thT;\Z_S:X/M_^Q]mMjLkg_H]YR@0D.StMF,M27"LQ_1%KT:D@? -St2=$LM3O="Y,[t]WjSq.VOX?\WjSt( -R?EYoPEM,jN/WjZMiN^SOHGN_Oc"pFJ:i]>P)>$LM2RC^V4a*8QCF>6Um@1*OC=31P*hQ)V6$_n -U8FcXT;Ss5ccEW'Y,\S-XJ_YgWMQZ,]X+>uRB*EZOd1oiPE;34X.Qo9_S37KQ]d>jMh-D6MMRFX -Od)<&Obf!QKo;=nV59QNT:_dFR]EEdUmdC,H_IdQVjEL-QCFG*Q(YG#aMbikPD+mYQ^*l,W2Z5M -R$ESmS"ZLBP*2-&USjufXKAOhN/!+BMNOI+ZFmcOTUD.L['d0C[CWuMS2dFQ_:In]QpTHP)PBeSre_cLOXl=Z+[ZDQ^F%uR]3No -Yd:@$Y.i-*_Q]`&RA7'iS=Z^\U7RgBR@0VCUm.+C[&BLbX/rYA^9XlE[]lsF`5/RCK8GhcX160q -b.+('LlIXcSZ0-3Z)+>"ZaRBOY-,.DX.5c[Xg,12SX#1oJ!6G%Ye\Ar\@fDQTTYG!P*MN1Vl7)B -_7[It`50-sZ)k+=`3l>%Q`[s4ZE'q$UnFgPanqX[_&W5R#mGdNgQ&qGG(h0Wi)Yub1G+pcH*f2_8sEoX/r"VR'=0) -SX>q8R[on3V7F@ET9b\D]t_%hc,mGoYdhNle()pg_na()_S*FmY+V;NNfTNiQ(P4l`5KHuYcY+: -]Z&%?bJ(*PT:VR>Oc"sNN/s'aPEqZ)P*)$#RZ`r2UK4%dVjj'L[_g,._oBEoUS=ENV4!U;TsMYQ -^rF3oVPg&LLP(5:Pa.;dO/'"eX/W"pUo9oKO,JjZSYi9VVmsCEYHk^P]X4f@S"6Ia^Up8%O,]O+ -WD&nWYdgsAZa?g0T=MA1T:MdYYIr*3g!\!LTpD4ASX#A+TZ4p`Y+(QCXLl*[aM=mKS=ugMPae&( -S=Z@IWO9INYH"IkS"?Uf^;e0A^:183MjCBOYG%_iVlR,+Vk]lQQ&h9#S!]4kN0K^#TUhOCYeSN+ -]rd]^P+StdXIGBmX1,UNZ)Y1I`P/ag]u.RkXff%Yd`9)4Y,f"4Tq@sES",\0W4g?p`6-ZW -c,[f@`l?'BbK7oOc,$d(Z`LRL]sb8LZGY/=]W.ZpWjT++Q_M"1^:(/9UpRb(']=5Vt`3Z;0TrP/dQCOkOSY3=']X4uIWi)o-_TKp/XKJY)YG\A%Zb!cZ[@s4_ -S#*I$[^*BHURS$XWjB7M^:1/:SuK$$V4=6`]tUqSUSOlfU78I*_76\GRuru'QBRiA]V_EnR/WCn -Q_C4^`4_t1P*V2jQD(Cmb0J;O]tMD'\X](UQBRZ4ZE:14]=4lE^)4 -P_t3`VPg;n]ZA73[^S<8u' -USXcTV5pPkW2H;fUS4N`VPL)n[^rfCUT:f<^ppVHT:278S=Gk,Q'n)(Tqn9JQCb@m[BQm6Rur\l -T;A6TY.VZgZ`L4*Xg"_*X0&Y2WhZ>VS=ujg`mE8jccF&/Q]RZ5USbB3^U:8ji8E56_6L/R_p$C( -b?hQOSY`6XUTC`4^pg/2VR3\5Xg#+?^rs[YHG%.S<]M9V5UGtYHkRCZF@T\[]H=#Wj91O]=l8*#f"=,g"bNHl1BQ,JcC<$ -VZ2/~> -nc&pjgU<#YC11(?<;fhs;ufqt$G6:>?Y05 ->?b?;?!UcC?i=@:?X@&D>?kM6?QWZ_?!LW??X[8H?!LW??=$oA>$G6;>?Y04=BAR+=]t`.rELCJ -?s[/D?!LfG@:!>I?sdAO?X7#D?LaramQkAn>L_@q9.bC2@d*EHH>EDJa33EH,r9DJO!%BkV-mBkqO!C2.HqracdVBkhEu -BkV-pCi+$(Bk_=!D/O92rc'!"EH,r:EH6#7D/O3+BP(gfA7fRlBP;0j@qB:dB4h'QCM%3mBP1pj -D/jQ4BOtdfA7B"YAnu='Chda"Anl*uChd[!CM[]tB526uC2IZuCMIHnCN+QLJUM``E+`isAn,@] -B4kmlC2J!:I"[-'I!U'cJsMgjO+ht(DfK`7ChdX!Ci=0+CMn*3E`mL2J:D`ZCi=NEH?F7PItEE) -G][tCBk(jjC2\-2DK'W;F`VhYJpMBUF`heJG'\@SE,B?+DK'N7FE`.fPb+/)N.cP$EH#`0DKU/G -EH>u6DJj9+AR]IlF_>2lAT3!MMj9j0UmmL%Kn4]!G]n+DDKphmKRS;pFa/4[H[gd9R[&GJG'J+K -E,g)TO-5NbQ("20P(e%'FE2>>DJa34G^=RZH[9jaLPq=fT9bb.Mh$2#Ec,`7FE;J?DJsN4Ci499 -EH$)\Pa\;FY-G6CYc4P"UR-ggIX63dLlm^SMM6Y2GAqMCKo(Y>I!'CGCi=?9G^=gfGBA.]Jpi'! -MNXL%TU_@0H?ajmNfJsKJU;TcH?t$pM34$aNK0-cR$WkeK8YkOJpVQTDfpANH%h33JUo(sI!^U4 -Q&'g:Lm+O4UmR1!KS>PUNe2_3Kn>,AR&RX%T8nb]rdK?@Dg$5FH%Uj)IWB@HFaJk*R\QpdX/2P^ -R#$DH\@98NJ`RNNJ`C>K9)+TM1gD/IYE];IaFD/aiVPFInuL4k21Jq8E"KSu7hOoBiZJ;])/J!$CmNeN"3GAqMAF)cGRIslQcF`i(XGB\(E -Dfp5DFEM\SJp2ThH@16rKnk>9PF\5%IJTq.XDTqIj-H?ajk -LPLM0I=$*[Iu&u2EG90*DJa68H$b'tP+/2GTT=_QI=6BkN1HcCVl-A[Nei=9H@:I=V4a3?LN[f] -Chmj'D0(#]P*M8oOc>-@JqS`?X0/%RK6_`nKnFu3K78H1NJ;k'DuOPPD)-*_Ko(bHKR7lpJq/N6 -QBm_lP+SYJT;f;uPF/2:NKKTpPDOsHMiEHsUSF3Z9J;&c/J;onf -U8=ffTphOL[B-!cMhmI_Tq.I/M1U/"Ec>r3B5)1%J!-OtMgK\rL4k,0MN3I=GBS4[LQIdfP)kW` -OcPEVI=-EfGBnh!K8PhQLR,'MZ*1CC^U0o2U7.*nJW6(jU8P)s['[*?\uhKcPF%`.Od)(rNe2S* -KSc+`LjjSmKUIsWL5M%QNI5qnI>jDUP*26$TWG<$^:U;)JTu-ME.$i -J;/i-FaeU[IZ0V_R>mF0P&uY@SY)XJP_t9bWMuDEIXd!)LO"E6X2<#u]q0puFFJjpKTD[qNe<(; -GC5($Lk0u'KT_[hQB[]%R"]s5GBS+UM4CZTZDEkJMPR5NVP^E"YEacgIu0A[VPKlOPbPOoX/2#: -Mi3:;H\RQ>H?=L]FEi%ZH@h9KP_FmRQ]d2ZNLHuORY6$0Fb5R%H$smQCjr.bY+1H.L3nT:S"$(K -URJ9taN1ieQApomW2#H:S",\&NJidSPF7bmLRY00NK9j2XgYX7T:i-XU8tc1TSdi9KTM_(]>h[j -P_"+*I"dlb['lp$QCO\GW265_X0\K!Oa*=dTV@m9M1U51N0^0H_7HhUXdtN'I=6QsM3!sgW3`n< -[Cj;g\[/?3U8t`%P_G!fZ*'ppR?s2#N/j7$Z,+PuWKN!`I!'OXI!pg1R&$mkYc+7nXK&"bR$3Gk -N.uk:M2?n8L5qUoVl-8aU7[pITpCG!O,AgDOd;>tPa@u8SsuR_[C!-?XJqbJKQh]uP)G-TO-,HX -KnFo$GC"ajKSbhYQ&:Q`NfB-YQA^`jUogYdOd25lL5:eORAI*r^r4.)YcY"*TTk4XF*<4uQ]dJm -N/<:GM2-e@Q]ZrKFE;b\R[g@[TTP([HZ+:fL51t\QC=7bR&\0YeC;U[_7RS*]VM0kPCe^iYb6u2 -Mhm7MMMIS$Z_N\5 -]Z\F-V3I!tKR\8eDfU#HI"6d$Lk^D.JVo22JW>bMQBl9FMO1BQ^Vd^t[A9+RPE22oN00O2^:h(n -\YYa`ObJ1,F*E(_H?Oh)WN)Y^R$O#(Ne2e,HA.EJR['GJ[Ap+'ZF76IWMGT6Nh*>ZW/u[[L6e-b -Oe]"TV5gShQ^"h[Tot@rR%LY&e^\Ta`NY_cMis*VLQIk;]nJr6/.]"c4sVjWgWhu/LQ]mf7Un!O(JU2KkL5Ue7FEW+aM2mUUPGbk/^p0Mf -H$kOGWh>9#JUMZVHA$rpNLm#AW2lP[Y.;!HSZKB1Wgf$%LlS:B]re05Tp_47R?EJ_I=?m.LkCGA -QCObP[_KJ[Q%amCI>!`ELR+^9]unR7_7I1f[B#g[O,o^'T;A]lUQU=`J:3$-MNsE_NKp':W1ocP -VPT]=OHGfoQ&q&lWQi\)]qUgjUStE([Cs;YS!ob9Vm3Y7XgGFs)8IYjYsX0AOtXLl3WYckLH[AfgnX4,\C^UL2;XJ(oCP`:fiNKU'G`PK:+d)sGK -_o9aAb/jS%s2n3RZGEiFZ+.6GW1^$"cd9A)T9Q%ITp1D!XLkgDWLKBUWh?#TO,9""^qmCWURRF2 -R\HROU7n?[W0rQqKpJL.R%LUfVl6GbTqnKVS#F'EbBD.U`ji@^Y,@bc[_p51`l#U%[(=?)`j`4N -XK\t@`Pejj_RHnc_S)k6Ng#s$OGAg_RZWf2Z`g4#TUhRHYe7lhZ)4CoTVeHYVQ$c'Xf7\RPE2'' -URmjFT9YY3V5CE%[^<34S=#tJWLf?BV6R;(R?No+S:6roYIqBET9P1_L5Lb?Mk-o8P)b?RKS+l9 -OeT7iSWJb`H[LI.T!Q8Vc,I9']t(8-NfAjJMO1*/S"Zm_T;&a:bK%>sPDtZoR?<8VKT_n#Tq7U. -Ko2+[R@'%mMMmCFItN]CNf&acTVSN^T:r*SL4"f?P+Ahb^9X/fO)9uEOHc9,R$OACTq.[BR?<,H -FblBPQ_1Rt^q$VKYHtI3S!fS)Ng$$1[(*?;Vkg2r]Y(\RTU:n'Ob\XQX1cQ^sG)Mi<^X.?g0nVkBB=QD11ENJ!+VW2unkTUh*tL5qRg -R#RK)R[9G0PFRr'R%9d[S"?Xc\?Vs,XgGaMYGI\KM2HtCMM$D2M2HhGP`Ul_P,57WTV7mWZuZa-d<[C\2b.ja@Z,Oi,bfnG_dE'5= -VPgAhU8PTFf[7[IW1flWSWJ\gQC458USFcfW2?W"XehMQQCOhR[B?gK^ULr$e(EF6jmn!&JcC<$ -VZ2/~> -n,F4&lJh$qmIKo>n*fZ4mdBK/m-X93o'u8Lnc\LPn+#rFn,htDmf)\TmeH8LmK2kHnbqqTnGi%W -o)J7[nGVnWne(Kcp@n=To^hVAmdK`=p%7hFrpU!ZoCW%Q"nD0To^qbSnce[WnaGu9rU'gWnF?)@ -rU^HfnF,f4mdKZ8o()eL)tNUmnEo]2md9K2o'l5?o^qnQo^hVDo_%hGm/HGQm18RLmHj<4nF,rD -q"4+Fn+$DJ%.WcQmI'N9o'u;?n*g2D%J'/_nEoW5o^q\AmdK`Go*+^Sn*]Z6rpp6_naGrFme?/Z -mdT`:naZ2BoCDJDoCW%R&b5Mep@RnDn+QJLp\+:PoC)/In07DnoC2;@o'u5>nF,o=naGf1m-sQ8 -n*]]8oC)2rp^$Yn,;Wbn+-/Go'l/?p@e(F -mI0T8n*]W4oD&.So();;n*oi8mHsB4nEoW4o_%nJo^M>>nEfN/lgFQIs8DcfmdKZ6m-O'*naQ#9 -nF?/DoCMVEmHsH7pA"O[p@RqFn+-,CoC;DDo^`"OJ+N7$o(N%^qss4Eo^qkInFcSOp$h;4mI9Q2 -oC;GIq"*tAmd]c4n+lbNmdg#Cna,Q(lg*j%n+6AOo'u2:m-aN?q"jdUmdBT8m-oCDA; -mI0B(m-jK7oCr"Sp@7_Gp[n%FlL496o_A1Plfd^2rUo^LoC2>Bo)J/co(i:]mH3a*p%A%NmdBQ4 -kjeEFs8W&gkO.p3naZ,;m-jN;naZ5?lgFE9nFueRqZ$9Wm.'Z=p%7tRp[RY;md9E2o_7tLoDe[a -r;?Hdo_%bHr;Z]eo'l/9mIgGUrV.c:p[IYAmdK`=o^hYEmdK`:naQ)=mdBfKs7PdDm-scHqXa.A -lL=TJs"a?@p@7J6lgOcOs8)HZmHsB4r;QKYlh(&Oq"aLGlgaW=nFZPPp@@_@m.C>XrpT.=q#::R -r:fmPoD\damHsQ>nalGNs8Vocp\=7HoCqkAnEoZ8q>L0_n*f]1lL"39q>UBho_%qNmI9];oCMtS% -Johkq"*qFm-aE:p%7hSnTFO&qtBXOqt^!WmHX'*p\t3bmdTf8qu6Ndn*TB%p%J.Ur;63[p$h>5k -iV4#qt9LImI0Q6p%.bCkiqd?p[%28p@7M7jll4.rVlT_nalYXs7u-HkNVF/rquH\pA"FSn*]]7o -(2MJp@@bFp%%J2jmDa6(@LYap\".Mp$MAEp\OgVjlc%$o()>Brq%6&n*TQ:q>^EemHsQBqsj1Io -^Cu*lKn*7oBtr5oD\c3naQ2GrUT%1p](6an*99+lgX`KqXO7OoC28;lgO3,mHj-+oCVSEnF$&Im -IBW4nb2kXp[.DFs8W&ckj.X+naPu8n+lMFr;QOAm-O33nalDAk3;O:q=j[[q"X^Wk -Mb\"s8W&glfmm2q#14(mcE^'p@A"Uq>L-Um.0W/mJ[&hp@%JDqYBpSlK.@%o_%kMp$Ll(mIU/Rq -=!V7lKn*?s8D]_nb)bWq=3b=o^qS=o(;MBo_SOZoCDJBlKdj7qt0ITp$D,:nac27jQ>duq#1-dq -"41Go^M)5rr3,glK@L'rppBin*'*+oC;;KkQgD?nau;:lM(;X/FhoilK[d,o^_M;oDAL[nbW:]j -QQO9lh(5Wp[@>3md&s3rUfOGl0\?5l0J?9B_(ujmd0H6o(2MRs8)9Vq>0aVq#C:!YnF?&9md0E7p -@IqOq"*q?mdp5Lo^hYCmdBiLqs3A4p\"@^oCDD?md0<.nFlk]#PITWmHa?;pAY(qmdToDq=sUNm -dp#;oD\dhl/qO9s7>OCmdp)Ds8W&crVuopo'Pf2mIBf;mHsN>qt0=Cp%e4Fp@@S?qu?]mnFQ;Gp -?h5Amd9?#guIr's7YdAm.C)JmHjKEruq:;lfI*go_nXWoD\ddo_8+Nnb2hSo'G]-pAFsioBYis8W)upZq/6n*B<6rr)EVpA4LTo^D2>r -qc$Io_nXUme?_\+8Yr6o(`+WmHaNHr:'"?nb`@dr:KFFlKnKLs8DHRp\FIKnbrIe,k^Bdo_eONme?MIlgFN2m.9uFq -#CBnnF?>Orr2Z\m-F$,o(i:b&,uD(rV#sCioTFqp@e(Do)AY?p[754oD/1Ro_\[goB,?6s8Vicq ->BpNjQPt'r;ZfrnE/]nmHX-5n`fUqXsmgp@%M@l -.bFip%eFVnF#i>q>'F?mf!1crq?!Xn)s<3mIKo>o(_tUqtTp]q"F7Oq"=.Hp\jsXp%e4KnE]B&o -D\atr9E>*m-jNp%S:Xs8W#amIU5Or -sJJgnal>As8)BWmJcI%n*9-*q>L-^naQ)Bs8Vrds8W&hnFHAOqtTaOnal8jm)C,qt]R!ioCVSPm0)tTqtg0grs\8Lj7N?HnF,c5p% -\:\q%EGkm.^2EnF#];q>1$hq!-o-rVlgnqsN\8o`"mjna6&GoBZ&FoC;MJo(DS?o)Jaan`06@s7 -u?Wkj.U+p[RG4p]'pTp&"OSm-*s9s8;HVnG)eQq>UEnq=!V6lg"!7nEo`:p\t0onbrIds""*Z;rq#LJq=s[Xp@.8,me -d%aq![b@mI^2NrVZK_mdBQ>r:]aUp%%J@p@IkIoC2GIr;?Hcp$__Us8)9Tp\b'`j4rY\n*K63rr -4/6lf[O%p@[nCnbM\Hp\Od^o'PW+q>^Kbl0nWJna,T1qYgF/r;6Nkp[7YBm,mBqo`+daqt9:Anb -iCd$M<]PoDejdmcWs8rr5sqn)rs+r;Zfmo^__Op@RhEqu66SlL498o^1i0qu5j9kOS3;s8N&umc -Wd$q=aRZq=3_;q"""Ip&"ORjl>n0q=*e@o_A%Kqu?]mo)/I\lf.1)rr30"n*f]7qu6U%qXEn@o' -u#*lh^V\#l45gq"O7FnG3(`9`";GlL+KHo]to^*OkOSNMroieDq=s^Yq>KgEk3_[.o(`4a.J3#uq>^Knq>0O@lgjuRp@.YGo' -?8SrUfFDs8Vlblg4'0md0N:mdBoMs!RU/lK\'BrV#jRp%7eGp[e(Pqu6TjoDe[_r:]ICp](!Slg -joPqYpHn"S(R3nc&Of$iKl$p[75/mHa33q#::ro'>uKs8M``o'c2Fp&4pfqtg!Qmd9&uq>'UQrr -;o`k3_d5qY9^OnFQJRq"XOPmIBoGo(DeKm-OEDs8VudlKds5o^D)4o(2MJrquNZmIKoAp\FRRmd -gAW&c);'s7l*Qq"!h=oCVYDjlPt1rrr/moBl&Frr3Jsme$;Mp@S%Ro'l>DmIpPZ"T.`Kj7*$I"Q -eP1qYg?l3r\a=nETH2mH -nG`dWcE!%\I?SN/dgq#`t%(LPL_ENfF%">EP5BTq\?VR?WnuOG&.7L5C\AMMm@I -KntV@ItE3#IXQd'Ng#j'VQ-YnU7%F7Nf&aPM1p\ER\#b%Mis-]O,f6`RA[3fR>d&_LkghFNg$!+ -SuJp!['Hd'N;eW%M26qAL5CqONfK3^N0Bg&SZ&ZkY-OmhOH#-RM2I:SNf/[ILkg\=MMd.BLn:98 -Wir_6Z*LL5Yct$qQBI>iOdMlNeiLSTVeW^Ssl+<2OctrpU92)H^9ji4R$cl[PECicNK93cP`h2nRA7$s[]5dWMi*XgVP^&ZT:ha>N/<=B -JUMutJq>2&OIMc+NJ<7HMiO!gR[BD.R?F&3Tr4raO,&LHM2I4NOHKL+:7.ZO\$D]iM2[OZN0'Br -R?'RZN_oN0UEQ]s=`9Vlm>1XI>6-N006aO-,TcLl@Xk -Ssk^pL51M?! -X1-*XTVA`jR%17`Y+qPZTUV+CVjrs5N/a)dGP)P9QM3FUN^oa<(RZEJkPaIr+P*MQ2Y.VENW3X:TXfA(m -\$WfVUn=HYUR[@)Q'RDbNhEMNUQgb&R%1(XX.YoOU8"0PVPBKBS>2mMUn&qWiC->Um[4"Ng[#PT9YFq -PF@_tPFSADUQLLmP+JJDS>3!ZW3N\@bK[\tS!/eeM3*ddXKA=u\\,#>TqA;sYY*P33PEhCtQ^jVCYdCI%R$sG4W3j1Z -e'#,)Z*:F5VP9TSTV&'c[BZ6iTs(ViPE_2nQ'nGRZ)>4N_R?;/P)turQ&UNQIuTbcSX>h;U6gar -L4kMTV5L2^USXc]Q^";>VkoiGR&7$iU6COqOd)/mQDV:9b/D)lQ\p]dSXYt:Wi`"bS=5Y)Q^aM3 -P`h90ZbO8`Xf&"]N.lq9Jr?(qZF@6GXJ_hpYHkLE^V[aaSWf8(S><6jW1Tfk`PoEkSs,G0S5G]? -Tr+NHMia!VKnkJES>i9U8PK1WN2qkT;/3X<2#YDUop_kSu]-+]t:YOUnXHTZcC.rTn\MnStrR)bK@DkOH#Nn -RZX#4W2-&^Yb\5$ZE^XD^oj?*Yd:dGWh#H>QCOeU]Yqq,[^`ZBV2^CmOdH':Gb(hC_8)jWUnOQ_XJV_o]uA")Z`^I+P`pu^PF7r7WiA:bWhQ)TQ][&^ -Pa\/;Wj&FmSY;OASX>b-TsD2=YFUuJStMdPVlmJ@^r+%+^q[ItaiV/nQ&:Q^R&6s^T:2)FPlR'J -PCB[6Ss"ncNgQcI]"YAFTpCq(QCF)'TVJQiVOjm0f[nQo`4NS&e^(t;Y+UiDZ+mZ9Ock]bQ'[Z% -YIq*6R?+AT\@oo+^oj]@\%fu/eCN$e]Y)"q]=#5QSs>=mM2[U\R]O6E_n*(QVm!bP`PKmE_Qp,: -US40AN/3:IML:8CO-?*'QBn&8TUi!eXIl/UQBR`6[D'N"cGHKGSYMsVSY)UP\B)b0_RQV@VPBWA -L4kYZSs>;.WiDb\S"?.HU6:=kNf]a&W2lo&]tLbZ\A#bfWh?#VR@g^t\=ntGP+&2BTVo0%X/r_9 -W1B?i]!%p'VQ-`-aOJ^XdETJ4TqnQ^RZj2=b/_9%SsH%R_84%1`OW(HUp?ngTTtJ)VP^8n\\GSO -Un*j=S"m-t`lZ6=\t+hIY.M6HVkBKOW2ZYgSXGb+S=Q+4MM?tKQCXhGR[U:jbf@K'T9GP4[_TJM -R%'S-M3OL!J"EU@Y.;'EYJ%ZSXIuo6\Z;EiNgH97Z*1()Z*U9qStr3US!9A+ -\tP@NOGf6fPE_Z<\'*LVaj&&PaMYBXOHGWqWN!)6]rI]nSXbk%NgHK4R%^Uf]!noFYHk4$Pae26 -T:VUBS$1)``iY`,U7\?f\Gs2]Yb\>&[(*ca]<\iP['dTidaH=S[]cU(Y/&00b5So#Yck.>^Tsf; -UR@jDMh[ClYd1U=YeA6*^TXuQ\[8K?Zb4cTbK&/^ -bJqTE_7-eQVm!hR^ppDK^X19;Whc,i_7m1ER]Ws"YHb+0]=tPVX.5HL]$8R7ZF-s5Up785\%0,_ -?FdMIUR.48VPg/^WN)u#Wi*&0[B?O:`6QTKbf@E-\[/3)Wk-@!cH4#J^q%A2f>t>(VQ-l.^s'p, -^;Rk'aNVf9XJ);_UmdI.T;8$HUog_tWiE"oVR++^c,7-(7^ob8\%9Am^q$VFS=uOCSZ/luV5L,[ -R%9tL[(O;m\>u9p[_TY_UnOck]s+/tR\6=DR&e*G_mQA1Ocu#pQ_(.[SXl@Erh)`STW,H<\>#1M -Q][DqS>Wj7cHF#5]#2@lR[9>+PaA&E\$`]TYbn>'aj8>Q[A]jrY,\4^O-QTO^q?nEP`q`?[^WNA -VP\[6Ssbh0U8O]RS"Z[YXJMVhZ*9RNO-lE6\%^52YF^u?R@^4TXf%qo['$F,VPB]ELl.\%XJ`)& -[_0,Z^W4@)XK&:tSsc:\a2Z01XK&8"\&HJ.\#5deS!oM&T*-hV4*U3U:In:V5gYkQBe,EZ*L"!Y-G47 -ZF%-BTV/3aXf\qD`4rOTXgc7I_Q^)M_TgM=`U9)&5WhubuZb48rc-OSUahY3[Un=X!^U1>Z]<\-"UTCPsW2Q`![(!TIW1fZGR\['e -Z*1*sSS>+6_8sa6\[]5]X.c)[Y-b[N_nijcWiN1uV5L;kX1$(!cc)p[YcFh/YcOq4_T:$KcdUV-nbIb9JcC<$WrIS~> -nG`[R`0tp_>Q.M#<;of(;H$Rp;c?Xr=BSa.r`KA+=&rC(qc3br;cN`rs&AbnrDWl!<``?$=T)D& ->5_\*>5qh*>lS(A?=.,M@UWVM?!CK:?=72L?=!P8!aT/@r`fV2>[:ZB?2e(4??q,4:gRO:?sR/I@UWeV@UNYSAS#@Z@UEPO@UWhXARoFdC27KqB4u$qC1q*gAnGUcAo)[ASGdiB)ZEZAn>OcB523tDJsTrgnA* -R?EJZH?F1EF*`LiH#mk=BPDR5H[L'aL67".Dg$MRGC"agI=$0\H$tU:FE_qRJV/N%I=$3bG&hVACMn39 -FE_nOJqn]&I!^6kre"!rKTM[nNI>kjGBnFWF`qt`K8Q(kSsbtCWiVtWJ:)]iI=H`sL5:YMUTUSj -SXGLgI:SX4s-G<'eqQDgs`T:27BUnaH3G&hbQI"$Kn -IscEbJr,>;H#RS:Ci+-=It3*$Lm+C)S;_oBI!g6kN0p*(:S=MYP_t3II!L*mS=lC=QAU!1EGf]7 -D/!j0Its)FNJ`LCG^b0mNhWPJLOODjI=d*+O,AL?KntA/F)G]*B4tpnG(#46Rui2FI!g?oL]32E -Lm"F,TqSX&X-K!IRu35uV4WtNML1#&OH>3IJ9ud&F)Gi4E,pA_Ll%(QP)bQeYHOgiP*1fYJqAl8 -F`;VRLP1__Wgo9>P)kfmQ&_)uKnFr*JV]>GK7A2jF)lVd\$i#pOG8+-H[^^+L5(VKPb>.[TUMdf -[\fjgT<"opX-o3=QB[AVIY;a@N/WjYMj0WpLOt>CNJQN;DK'oJLRXp'SZT)fQB@,iR[01uL4+An -H$k*mJ:)`mIXHHbG'/%REGf]4Bk1[aCN=QJI>XGYLk:SKOcl/eJUi?)JqJi:P+\VBOcGN` -OIrS[_p?B/Ycb"'T:(k&PEM)sVlcq]O-ZQ6Ne2k5K7ei72URmjHVPgDt\@],6Kn"T*M3FF'R?Ef6\[no;OG/FH -MM-P(J4GC#%(Q(bS%_6KA\ -I"?m(M3OR'Q]I<"O-?*.U*$24[\]7UTqnT^RZE;\M2mjpXLl%TUG`8)j[^iiQ -YID*V[]?@.YG78:O.rh]W2$;lTot4iPcVI9`k842IsH*LCjUMSJr?5*]Y(_]Z*:U@W1ffPP*D,f -JU`6&J:`H4Q(XqJSY)ODQCFD,Itic>PaS&2R?j24UnF?\]>MIoWhQ,LJph`^I>!B7QBjk)Q][5a -L4=DpKSYPKR\6+1Od1oaMhm4GQD^mhVj3:(P*(idPFAAS^;S1:`kJaa[^)isLO48jK9DXfO,AaK -KnXDsJq/HISW/#8D01;nSZT5pRZiGRG(bd-Lm+0rSsbb;`7iki`l#O'c.C7MWh>K+NN':]N.?J- -Itic5M5%,GQ&:6jY-PCG^pU#7XLQ'gdFZsj]XYMf`4iUbTT+JHEcQ>UL5h_-]!nuFVP\jD[(<`Q -bf[Z$S<].lK7%`YEccDGJ:3!*Lk:57Nf/^VSsG:oN/31HS#`p,_8NgPMN3j_R?Nl&S[-/O]t:G= -QBdViJ9H!\KS=l#O.;i-N/ipVP`L?;H[UF%OIVr7W40:>Y-5@HZ_s@_P)+j\Xg+ddKmn`:OcYp, -VkU!eXaZq-OLMQmQ]I>tS#amY,A4q -[C<'$Q]d)bLO=?$RA6[[VPpl?a1A:PY-=k!T;8dChUg/t[AKsrPECuIN00BeQ`.^EcH+;`c-OYY -cI:1bda#nM`5]R"Z`'Xu\%K2OS>*I9c+L'NQDq3nU5b&%VkU2mV5CH#Tr"KJNL$WZ`3cPGW1'3P -WiN8+ZEUR7U6UUkO-uQ+R\HRMU7@UBVP^,^YJ\T-a2c$)YHNAPSslUg`llKB^rX7#_U-cLXf.b] -V5Uf>_61Gf^q[h0`2oMoP*_JnKS,DTOGoNuSsc%;S=,qK]uJ1/['d-?Za7*P]!ni^Q_07rNfB'XMM[4S -Up@1pP)Y3DH\%0EY.i*%^pUV][],=HMi!1DP+APJVl6;UR&A$OcbZcTQBdu.ObeXJS>rioTTOn\ -H&\2cT:(h%O,f*PJVB2OOc5Q(FeAJTQI&P+AYZ_RZ8!L4kPJPanA7Q_17PSsl"2Mgonp -MOL'&R\[!iYckOO^U'`-R[&njP,>_"]%SXkt#JUs)fZ)++gTok.dP+ADE -Iup"hU7n6SUoBlHPb"SFVQRPL^p0rE\A>tfWhY].JV9#AK78?(Jq0)VR?NYtX08OrQB6uZKSP\W -Q(4qe]u@:QSt)RUUR7=6T:h^BQ]@,nTs2,F_pH6/Yb$f3Q)1(?S#!-j\'a9ufZgq&T<,QAa2,I( -^8@3YQC=;:W+)m<]sjf*UTgSeS"QUY\&#o&bK%W@]WS$#P*i5LV5^l5Z_* -R[KM)PbYk2`P/mYRA@=1b/:?XVl?`!Z+7QOWN2haT<5/jUR[L6W5$O%^8%7']>)J:d*U(\^q7.Q -Tr+]_Vma\"d) -mf*ppm,mR&p@\%Hn*ff9m-F!(mI'uB#k7EVo'l)7mdC)A$1@9NmI'H4naZ,DmfDqHrpC![nac/; -nF6GI$M*fZo'u8@o(2GCrUKpW%.Wr]p@e.Mnac2mQ0h.o'l,;nalGDn*f]5mdT`:nac5Ao_81SoCDMFp@RqBmI'E- -lKmj'l0S$6o()PNp$qPAo'u2@oD\1\nFZDEr:0gY$M*`Vo(2JDnF#c7rpg!W!:g'Z"S(sKn*p>K -"7ksMn+uJPm2tcbnF5u;nF,i8nacAHoCV_Jp%7nIn*oo=nF,f6nF?MK$1[NRnF5unFH):lgF94naGr6mdg&Lnc//ooCVPAn*oi:o(;MFp%.\AnauGBnFQ>Ep%e7OnaGr9o(2GA -md9H5pA"=On*oo=md'91p%S.NnaZ5HqtTjWo^_J>md06)n*of4n+?GPp[[qEn+$#=nal5;p%n[d -q=a=JnaPr5m-aiAs7'[kna5ii7oCDMFr:fj_o,dDhmHNs-p@I_n*'3; -s7GU>mdpAVs7PaBkjS?Is7YpLoCV\Gmd9fLs7u6Qli-/Ro`+scmdg,Oq\JnlmIBi?o^;2Cq=F7R -mHs]Ks7bpDqYpNpqg\;)oDS[Yl0\'5n*p)Os7u3Ys8Vlbo_A+Hm->mGmI'rVlh4q=*tNs8Vrblg!j, -rVuihnaH8Mo^(r5o(MeMp\"(HoChkIki_@-o^M>Cq>C'[nEfc>o(2\MnEo]3n+?>Go(2VRq!mbE -q>^BblKnJp@@_Ns7,OGnF?)Ap%@nHq#CBmo'Gr^?YjQ,b,s82?Wp@RtLo^D;@ -o',T4q>'aVqZ$HbmHBsVn*B)tme-5Amd9N6me$;Jn`]?< -r9ik:n+ZPEjPf1ao)/CXo'Pl:p$V&/o`"mZmHj<2md]rDo'c)=oBtr/l0@X)o_7q@kP"oTHM?dj -l0Rj*md]o;nac8@nG3+^jm)j=kOSZQrqQ$Pmd&s'o^h_KnE]c7l0@^.o_81LnFcVNoD8LeqX*A4 -s8VcboDALUmI'6(l14lSp@.\@nFlPHnaZJQs7u*Knb;kHlg*j#lL=EFrq,RGlK.:$_pA+X^r:oaHn+?,5m.9`7o(;PRoASNhqZ$Bbo(2GFp@\.L -mI'iNs82WjqtKUJo)&Iep%.\6lMCPXq"44Qp$Lo;qXj+>nFQ2@o_.nJpAY*jq!dM/m.gS[,l7?0 -m,d6os8Vuhn*BB1mHX!(n+$#9lL+?DrUfLQr:B@Gnb<%_Ab5B\nal83hYn)s37o(;qQo'uGMp[n%Ep&G'c -l07U(mIpJSs8Vl\oDAL`o^M?-naPu8nauSKkjJ0Ap?h/5nF#]9rVuWYp&"UVmHsE1n*p&Hn`oWC -s7u6Sq#'dJo_%eHp\Fgc2uimWrp]4Go_S=Jkk4oOqXWq6lgjcCn+$8Ss82H]me$,aJq>^Kl -s7u$Inal;=q"jaSnFukYo_7qEo`"^Tkj\?Yrpf:Ms8Vu_oDA:Hp\OIRrr6C%oBl&BrV,aJp\amarV#L4h;e)+s82N_rqZ$GkO89I -rU]@Equ?NYlL=B6n+6G=kjA!4o(rCdoCr:brquE`p%7qMoD&:`qsj%DnF?JDm-X93oC_eGlgk&T -p?h):rr3]-nFHAJn*9<7r;#sTrr<#ilKdj3rr3H'oBYN&m-F9Bp[%2+n,E>8qXa7Lr;-!Pnac/H -s8Vf\m-X0.n+?GPq"++Rqt0@Kp[@(tm/-h_rVlQqqY^<^kj\QN-M-WnlJh1#nEoT1oD%qQrVH?c -p[n%Ho()MMqu$3Xq#:'ZnET3'rVm9)lfI9qp\aj`rVHC -nF#Q@rqZ!Ciof_%pAOp^q"F%@o_eLNn+ZMRr:&e1qu6Tuq=!D)q#13pp?UT!rr5OXlgjT8o^C_k -mJm%Vq<@A2mf!1co]PB)p%e@ToD8LbmHO07o^htWp@%D>o'Z/:l14fQp?M&8p\t3moBl/Dq=O1I -p%J4UrUNMKlgsN5p\4(AoCqkHrr;u`m.Bo6i8aA"n,)nJjQ#Y+s8W#op?qYSs75XDlga`Gr:91> -p](9dli-qan`AorjRi*.ip?73rVoFbq>0dQq#(-jp[7YMrpT%As8Mlgrqc6SmdTf=lfn$@s7GO8 -rVlT^mI'<&l1FlJpA+U^o_8:`o]>?2s8Vremd9iLq=XFVrr63tnGiCWrUJq:oBtr3p&+a^r:]aS -o'uDHo'lGSs6\e4q>C$]p[%,4naZ8HrVcK]p@S"GmdTi>p@\7VnETN?s8Dfip$V55qu?]clhCAO -o(i=bq==+FnEocFs#fZ4lgsl?n+-&6nFlYLlK.C+s82E\qYU-`nalVWrV#gSrVQEbq>0[KkihL, -mdKi:oCr"Ts8W&do_&"Ys#K]:kN)..o^r%[p[I\JrUfOEq#C'SpAOpbrqcWos7u0OnauPLoBk\o -kPYA[rTEY;n+H\[s8)6Rrr42@r;Zfqq>C3dp\=U`s82`nr:'1Hq>^BYp&"CJkk"T:0k%/08ls7Z$SnFuqWnaue[,5qH5r;QTirVulss7l'Pp%S%C -n*]Z?s8VfYmJ-_]r9`e;rVm&fhsBapq>UC-rV5aMp@RtNq=aj^oCr.To(Dt[rVnGDpAFs_lKI[, -o(VtSqYBO?nb;SBoDS^hrV#dGk48NJm-=*C9lq"j[Us8;lr)uB*ilL=]Np@@nKn*'')o(_tTqtU!_q"=7Q -oD\b"rUodTp\aRCjQl7%l0@m>s)mnslLalLrquN]na6#FrVlZcmcEm5s8)?Uo`+gYlK.-pp](9g -nb)ePme->Hp@IbEq#CBmp$_55l1+ZNq!dhGo(`+WnETB;s8W)jki(Ukp%nLXn*fi>o_A%Ns8Vi_ -n*''+o'bf,o(;2,l0n3;rqQNn+7\LTmeQh\s8DTXoDSCQmd'<0nEolCr;$'Wn*03,pAY((p?_8B -p$(;inGi@`oBc&>p&"ag$2*`QmHs?*jQcL=rtY>#nb)J;kNqm?s8W#hmHE['qs`k?rr54]p[n1O -nF,Q5q=aXZp%nUZlfmg0r;Z]fnF?2EmcW`rp&G'doD/4Nk2u43s8VQOlLarJqZ$TgkN_d:0k'`.4ShsC4>s8;?Sp%.\?n+HJOp\"Oc"o%?Ts8Vuo -o)eUVrr)j'r:KjYl0S0;mdpGX*;/dnq"t$eo]kQ&o_eaeq=O:Pqu-Heo'Pf3p%eUe0DkD5o_\:R -oC_hLq"t'js8DTXn+$#Bo'c&>rVufbmIpGOo_8Cbp%8.\q=<\/nG`Ifq#g?XmJ6b]%e&cVq"!Y3 -n+lSKr:K=KrVlunl0J*Crrr>cm.pAKrVmN0p[7D;mI^5IkhkY"s8Vi^o(i:b%Jf;VoC)#2m-F', -m-a]KrttM"nb)YMp$hD=o(2A9o_A=TkMk[kp%J<7s+13$s/Z0M~> -nGa!lgV',1H[0gYFE;JEF`m\*!d/[1rceTlH[L0cGQ)dbFUE;9GBJ(QG^4RZGPQLbH?oL7#'tWD -G^+LZrd"ouI!^3dH@(!dH[>X9s*+rtH[L9kI!^-dH?jd`rd=clrd+Tkr-T!$I!pHnIsuirJ:Drm -H?oI6"F5<>H[YmBs*aons*O`m7"'W:IXQZpJV/Q+J:W6%JV/T.K7no5Ll-q?K7nu8L4k).JqAQ) -K8#5@Mia$XLl74JKS+r3KnG2:KnY;?O-5QaN/@Lg$A=%`KS>,5Jq/E(re(6&$&""eL4k22JUi=N -K*$URIeeNoIhI9_JqAW.LPU\=KS+o/I!pHoJc10+KnkGLl%"DL51J7JV/]2JqA]3KnkS@KnFr-JqSi2 -Jq/?$KSYM@KRn`.KReK#K85;=KnG#5NK9$TM26n=K7\W&ItNLTLE)88P)Y9QK7SZ-J:WH9P*VQ+ -Q]R/YKnY22JqJdVJf',nKS>26Ll71JMNh.P`^lTKSPE_Lj"B$JV&W5MMdISNfT'LJ;'A] -R>loSLl."DLl.1PMhm4CKo:qJKnP5@Nf9-jQ]-NJLPh+PNJijWN/ELNNffEdPEV,lPE_]7Tph10 -P`^]OJr#>ALPUqMN/l=MMd1HO,o9^R\Zpf[CEZPY+Lf2L5(J?Mi*IRP*(fePa%?$TpM"Tph75S!o_0Oc>3PK8#/@Nf]Eh -PDkNgR#ZuZQD(LiYb[SGLQ%UtVkBNLT:VR=Mh[7^Xf.q`Rf8^,UT^u#SY;pVR$EYcKStkLNJWOV -PDtThP*ME(R#m8eXLuNcZ)O4RS#3$GLPc"j,F#"2^:h+eXeqYUR@]h/Nf&XNOck][LPUeDN0Ba+ -W2lnmU&Lm7UnaNGNKKX'UT(#XS!&PaLQ%C`R[KJ+St;aYWM,`GSt2:8PEV5sS>2[P)>9`P`:W`R@]q:R$O>=Tp_+,P*`#=P*20&Un<^/TrXoTQ]I2dLl7F[Oc>TkPE_K* -S!]@uMhZh:Lk^V>M2e(&R@'D0Q'.2gOHYs!USF9;L5CbCLkgbAMO'[)Y-"LkTrGQ6Xe2,QR@B[e -Q&^okS=Qdj^:LDiqS=uIFUo:8o[_]MJU9^SWRBF05Z`9gqS!0;3R@'D(MjBE]re+pAR[OkWOdW8VW2Zo,^;$qHW1T3,LQVS(E13AmW3?cTVS9MTqnBUX0TIff>OhbQB-l[NJs:0[Ap47[AKOd -SuT0%URmmL4b#,Jq\u8MM_=iHB4`(Z_3\\Wi)etR$3c+V5L2g -UT1W)Um7%-SY34#_p?`LZEq!HY,7nbS!oh;USk,mStW*`UmdO7P`_&qV6-hs[Cj,TTU:q*R[ft> -OG8dgVP^#ZVPp#BMMI"IQ(=VEWNE8'X.#3FWjT..TrbQ&Wh,?0MNOW1]`SSW]>.R[0,"QES!Gc+gEUS=5=dKS>&;RB*[(rjdK`W3EJ-Ye%cl]r%0XO-H!"SYVpJ -Ts2;H[B#dYPae>;mKOG]!VN.6M9MjL99R#mW&Q]dW0ZaRHISWo(lRBN?cU8YB,['XPTXIk`@S#j?A\>YIN -QC+/;Z+RfWTp(\1SskOrPFA&6Vm2hdVQ?htYdps6X1,[N[&BstSY;gVYe.ceZE1.)Uo]oJQ'@Q# -R@9\;VR=.KZ*:gXahtNdWN;h`R%LLh[BZsK_n2q?SnOn.`QZ<4YbIACNJNXcR?3Z%Wk69h^U^kd -_S3@WXf8"fUS=3@PaRu4Tr+ooXJVbdUSXop\ZM<[Pb4hRXfeh*W3!5'Up._\be^N]Vk/s+Ll@@V -Q_LLWX/r4nSsPOpMNO=%WiiL0V4=3UTU_R>PaJVh^UpbES!fqLX/Do#\@fYtaiMNDa3;fGZ(RAF -P*DB0V4aBMR[p%@S!fP*YHOgiMMR@^UoLi/X/i.`PEql6PaA#3Uo'iTWlWlHd)Ni/[U752da,Y3 -UR%Xda1nC4NeW7JPEM68_6Tl,O//YV_9^<7W26N#]>2A-cHa;8\%otu\$iK5PDtT_Mj0HqY/AH" -Z`^F6\A?/$]tqY%[Ap$qS!fJ!MN!LOL6Rd`S=EcIQ(FhHUTqS?TUqXAQB\)N^V7h.[A9:`W3<(p -X/rA6bfml4Y,A+lU7[^0MO1'3S!U@j\Z)'dQB@f1OGAgZR&-dbYctLH]!SrZ_o&gRQ'e/2TsDA> -T99,;>a_@gYd(+$W3s+6T:NEuY,.hgW2[/BcHODP`kJOSYHk$nS?0E5Yc4FoXh)Eg_SX:1\uqg6 -Vk']RMjgTEWiNG7Z)4@fQ'e#1Up@nY`lGiiR&.7)]=5,AR%=/K-(g]pS",n0MMHk>PF/#>U7n^# -`4`U_VONm>Zba;LQCXS0NgHFf$VIM]!836[DUV@ -\[f,DSYs!2Z`UL9VOs-0L6A:0VQ$c-^WOg8X/rD&Un=Ed][5BggsN[5[]Q0jRWOpiWi2r(^sCKW -d*p7geBZ1YbKAA^_n*Cm]st;RZa@Hia1A1J\B<17Z)Xe:_nWg]SZT&iVQHl%]=kJRVk'?U[(F>k -\@]8UXKT"?]Yr":_n*"MU77[IUnXNTStiPanG@U8FumXL?!fd*9VO_S=(&_9'm?\?)Eo -Tq@^AVlm+mS!]V4SYWBs^;@XmWhcH-b/UohUSXrqWM#lYV4jBKVn:$h[A9@`R[R-GUo:;lQ^XM? -USFW^UThGI[&'7YQ'%2mQCY%a^V$qU[(j5ST:)1?TV/3f^:h%\Vk^&e^Wk*B['-L+Vkp,VPaJAW -_7d(FPa.rB['mPsgQ^U8+ZcT:)%8VmWn3V6$\i -Q^O\V]"P,?VmEqC\\Q+gUSb?,\$`Z[aMtm"ZaRTc]!\r?NK9?tUmR4)OH#9qX/D\^U:%VI[\fO^ -Q&h3'VP[M!]Z%h3[A]mqY.:s8TV%pMS!on:SYig0_n`q/`4E4MS>*+"]sk8LYHbL[iT&Y?_6L,N -_9C$5XfAM!TUh^NWN)qt[DBY`Vm*t*n]!89: -]<\H9Y-G(+SY*((da#eFYbe>1aOYHtX?W2R)=]tM4iVlmVB

    lCV5q5LbK@AmX15XLbL=bY -`kf9s]!JiV[]#t+`no@k_S*_#`42P*R%Bk:R[]k>TqS6a\[&*$Q'e/:USFNUUo:>lVRF7W^:(D\ -`m`T!l14e(s+13$s/uBP~> -nG`mhd]8"5=B8C"<)Z]o;uTYr;cHcr$4p,r`&kq$WL,+;cHat='&F&[(E9>$G39?!mP:s'6%>?t!PT@:3DL?e4ra,V3!FT75>7Oh@>[:ZB?!UcD -?<^Q9=oDG*=^#!5?2e.1?2e1_@:3PQ@U`t]A7B([B4tphARo@_AnG^hBP2$oD/X3(BPD7!CM@F0dBkhBsB4Y[frb2=E#\n-iC2%?m -A7YXM"(PbIAGTm;A.`BbB4kmjBkM$hB4kpmA7]Fgrb<'^D/jW]/EclG@DfToqG&_G7 -CN4E>G^OsdF*<1mJ9u^%PFn\FPD=X2H%hBCM1^J:LC/ceG]eIpSi;eP+JA4N0';,Ci=KCH\Iccrj@6YT9P4bKSG#%F`MPIJqS]" -DJX62Fao:3R@BV.Ocu#jLP:J4IY*NBOckTQJTu*SDKL8YL5(D8OH,KjQApNIMM[+AK8#)9N00$E -D/F**H%Lj2P*_GrS!oe6R?j(tOb7q%FE)AGK7SDoDJEg"F*DkSG'Jh1L3INVG]\$,H#\7[H$+1R -Iu'Jm['$$[IFMLp#$Jq8Q0J:3)nChmp.FF8[i -KoVF_Od;ZCW0rO(R[/\[J;B)4I=Q]qK9;n,Rui\`Ko1hQQ_0q.LkC)(LQ7CEG]e%GEd3DDZD<]5LPLbKR@g4NTq%XJVkB?;O,AVjI6W:@PECZYLjt5LVP9obY-k[:R\ZC1I!C'hK8Yn]Sti?q -^:CPIRZWc%U8FKIQ&gZIH%;3KN.cY)I"[3+K80A^>CLpIKoq[bN0TitRA?mmbKdYjO+DImEHcV] -T;J0MXK.bNNJj'mR>m&VIJ9QX1S!]G(R[oUjI-*M0sAdFDl;VU9M)7Za-R&Vkp2e[(j@IZ]p,i -I"I*2NgZ)mQ)D!sWM,B(K8P\HL5_(EH?=CXG\_5=G(l-FMh[4SN/!(LTW5,cM19\mKq4d+R>cQ; -J"sH]UlpXfGB\%WLl%1ZS=QIZ]"l%aS;io,V4O$M[Bc=!W19HVW1fWBNffd&S!BYIYcOk(T9=ta -O.`hjYFL,kK8#5JUp7>-QA:'HKnP#3MiNdTOI1`XOI2H)UT^P_SuJ`hV4*p?PEqQ'U91r7X.l>V -PaR/TJRj7\JqSo=OI<2[[^36Q`lc-$U7e-FOH#HuWiDnkY-tF$NfKF-]uIgnViuUQDeO'=I/TZDZIuB/2EdN@mQ("GDVldD9Yd(OJ]s+)l -PEL`XHCV+?VNlpcIY<`LTVJ$HU9ChsR$FnZUR.++Q'\AZaiVQA_R,l"SYDO2PbY^jV4u1"S;rkiGD20CR%:7_XJ25KMiEg`TWuV``PJjDLR5-O[]lWlJV]VZPE(NTJUW?0LOjbn -E,g>]OI)?%?)=pA[&p'hM1UDW[&oIBKnO\mIYs/KP*qoBX0&tQ\"f[oXfe=cQ][&bR%U(?QCaqW -T9GA'Q^*_fKoVIdPa@l>Xfeq=]XF]!KSG50I=Zg%PbbP(f%/!__7dNI\?;9YKn>AUR\-R\U6h.6 -R#6BAM3EsWR\m'e^:h.hYa^K#K8,5CO-#<\Y0,#1Xc8?sLlnC<]=PJY]=kql]lh0,]st_g^;7n; -ccWLTfj -_91!B_7dn)]u\[K]r7]oT;/0`\@AWH]u.n3bK-rdT:)"0N/)e>Q]QoUN00OQBm#aMhd:_Wj&OpNe2qDQ(+;3Oc53ULPgb@Q(!r!PE2!#U7[jBS<8AJJr5_`Y-5[SU5stZ -MNjO$U7RmOYG\"XNJ<%7HA7ECQ^XM>TVect^W+'pTp:t3Obf$m\$NKDUSarf[a3FC[@rkHLk^P7 -OJfV+^S$aQR@BJ,S>WUk[n*a#T:;CS]="rWbgXhT[B66qP`CH]Q'.K!PaS)/OcYs(W2ubaQBmo( -NeN4ER]3<_Tr+BALl%CkX0%hTQD(.MV67/!QC4ZMY@b,TaiM3+\$s#_Z)XacH[UO*OG/17J:2p4 -T:;41R&R3kVO*@(MM-hNR[KtX]Y24cTUV@FXf.SNQ^XD2QC*bqR&74#\[0&ZY,.PLPFAMMU7S!Q -X0U"/iml2[UnXlt`5K3iY:m,NQ'@Z/Uo'udZFd]IS>ETeR?jGAXL5^TbKnAQaM>$\U6V.GW2$<' -^q6SS!O.a#'`4i[UQ_:b,e'#2$XfSCkT<,T0ZF6g(U9Ll.XeVD\Z+n8r -Z_OG*ZF7j&bfIc>]"1)8W2m80W26lCi7>u^[C!HQV2g%XMMQq>Ll%+PNf]a,Ss5%`L5h@[Q'@N" -SY)LCWNNV4W2Hl3b0\l&meq_:JcC<$Y5a"~> -mJe*ojQZC2p@RnEnF?&4l0Ia)md9B.md]o>nEp,=)XQkZmI'K6o()>?naQ)mdBQ5rpg$X2X^)&nF,r=nF?)@rU32Eo_/%QoC2;Bp%@nB -mI'B,lg=0/kiq^3nF,o@oC)/nalJGo'u8@o(2PEnF,l;o'u2;md9K5nac5=nG_tf -naGo6nFH5EoC;>s6Ursn+#r=o'l,8n*oo@p[I_Ep%@tHn*]Z7o'u8@na5c5rpU$Ymdp)M -omQH&nF?&>oCV\GnaH#;nF#`7o_%kHmd0B5p@\%Knac5Ao'Yo5mdKZ9oC2>Bna>l:p%7_Ao(;MF -q>'^Rm-O34p\FLPmd9K7p@e(FmI'H0l0e-:qYBjVo'uGOqY0d[p@%G9l0.F$nEoQ0o_eX_oC25: -o(;PIq"4(F"SMWgp[\=T,4Y-gmdBE-mI'H3naQ#rAqY0FJo_%kGrpKpXmI'uC -GjY7so(DYEo()\Tr:]dVq>'^Qlg4*/mHjH6nb2bMmHa!*o'c2Io^)2AoCV_Kn*96)lKdp0pA":P -p@RqFm-FKHs7PjMnEoT-m.:#EnF$&Hp%%hQp$;,mcE[+qsrq3n+?VZ)uK0nlL4QKq!@20lLOoQp$D5Cs7c$Nn*]Q-mf*5Rn*T]?qY^'S -lgO?3q!72XOqYg0WmIBc9m-qYBdNm.0oBoCVV?mI^GYq=Wq0lKmg&kj.d1na,H"p%J=`s7l$IoCMJ>m-aE8rr<#i -m-aH6nFH,=o(;J^6[oBl&9lgXZF -p@@nMo(2bYru_77o'u,4mI^)Dp[[kSs7GdOp[mn?n+?GLpA"OXn*9oD#4h^KgmHa!!nc/Xdna5W,m-a0-p\XXMkN24'rVu]eo&oB/lK.C1 -rq>R6h<+D0s(D6#lg=65p\aj[na?&IrVZNcn*0#un+uq]s820DkjS'5oBu)@q=O%L0_o(;_OqtKI?mdooHm9Jl@p&"[eqWQeqnFuYKoCi"Y -rr<#^l0nTNp?h/CqXa(!eq"4m/?tap$2&=m-4*0md^8Ts*jq4 -nbMqHjQQ+,oD8Lds8DKSo_ngdnEfQ3mHa<4n*TQ/oD8.JlL"37lfdj7q!m_?o^qP;n+,o8n+m"T -jQljGqXa:Trpo(7nFQ/:md^#Ks8N&un*'6;s8VZ^s8W&po]kZ,nb)M;m.gV\p[@SCs8VTPnaPW( -nG2qQoO7Lkp&+jeo'>]0p%eXfq!7,1o'5K4qtg0ds8Mojr;Zfps7u'Io_\@Tn`o,soD&(Rq=F(D -p%e=Ts8;6LnFQ2>p@e+Inb)h[nFc>?pAXsUkjJ!-jlZ+1n+Q>9jl5:erVm$!oC;2>rr3K+rV>mO -l/q:#nbN(PnGN:c%eT#_q=sC?o(_V3p%n7Qrr5%PoBkf2qYK[Ip%n7NrVQ$BjQuRkjnKB -p@@V7oC;2s82cpq!@\Rs7,@^Eenac\Z$Ms8)BYs7l!Gp&G'cjQ#b0s8)3P -q>'dSmI'<%lLXiAmd]uHp\=dgrTNG>s7G[Eo(W.`q"ORZrr4PBkkt)As7kaFna>c/mIg;Ns7u?^ -p$hSEo^;>JrpK+Mp[mtIqXDs7GXCnFcVWs82Teq=X=MqYKpYp@[e5kNr!A -na?#9oD8@\qu-6Tk3)%&s8W#jn*9QBp$h_Os7GmVqt':Fo_\7Ir;Zfnrqucq$hEKBp%\Lcr:K1, -nGW@il0n*6q>UC"p[\%Ws8MferVZ[6rV--arr;okrVlHXnauk]nGE4Pj6ZL9naQARrsAPkmdg,C -kiD:3rr3?(lgF-&i8*Gaq"Xgf/b8H3s82K\nbW:cq!mqPs7l!CnGN=^o(N%^s823EjQuI/o)A[a -qZ$Tfl0.U8rrMlar;Rf1l1Xl^Kmn`T0(pA+[\nF#oEp?h>=qZ$TmnEo9)p?pbg -jn83>naQ;Kq>L?nrU]LLo/?(,lfRF!q#16[kND='l0.L&o_JC^qXs=@p\saJoDejgq"XgfrUAq4 -qu?Qhp%/(\q=3e=pAY("qt0INoC;57o_na_rq$lmkMbOlr;Zfij502"q"k$jq!RkTrrVrgrVlgE -qt0CJq=aR_o&&X!rVu]`o^qS7p\amao'cANs8V]^r;Q6So(MbQrVn86kj.^9s8Vc`oCDMBoD87X -rr<#tleq'qnFH8Eq"asirq5aImcaBDrt"qmj5fV)s8Vo[kO.j5q>:0k')Cqis8Vo^o`+pcnb)_Q -o^hPNr;R9's823Mo^V8:rr<#no_e[f$i98OkOefSrV,pUq>UC1qs`k8nFZALrr;rpr;6K]o_JC[ -p%n^brr4&9naQ/@oC;>@p\b$inETW?p%A1]s7uNks7u*DipQgG"o%W`mHjWIrsnYdo_.\0h -nGaR-jNFBSI"-EdF`hbHFEVVDFEVkPG'.tPH@1'bG'*Y''QeJ@F`r"TH?sj]H$Xa^H$Xa^G^042 -!dK!;rd"Nis*H#=I=-?dH$XjdI!U*aH$FRXGBnO_I!^-_I=$6bH[L0dG^+L[rd4Zk"akZEH[U>A -IfOrsJ/!BWI!^0cH$ajbH@1-jIt2urH$O`7Hj>"LJ:E#sJ:dcS"b_M[K7nsWJK9>rLPUb?JqJf7 -LPC>1Jq8K)KSPJ@LldaVLPUhBrdm"\JqAf5L4tD@O-5QaNJi[OM2?k9J:W?+K7ST(It<6+KS+i- -KSG58K7\]-KnY/1Isup!Jc(&uIgCRUK8#&7LPCK[K+`Q[It<0&J:W3%KS>)4Knk;6L&Qf/KnP5; -reV&=L4k23KS>/8KRnQ$rdYH0LQ%4OM2$\i<6M2Ht?KSG2:Ll$eJ:2foK8,2;MNF-iOc+sG -JV8c3L5Z%l"Ho"4NJRRh@>0>dKnb53K7nr4KS+l4NK/pTNg#]oQ&^ieOc=mDL51M:K7eZ&I=Qs) -Lkh+NLkpe9J;0G]R?!&XMMm@KLl%+NM1gY9K8>JBK7ec7O,oNqQ\gHMKSbbQOcPWdO,],dNf]Ed -PE_>qOH#3hTqI^6OHGQZKSGJIMhm+KOcPH`Q&p]SKnP)0JV8f3O.N2EU7e6NSskb#OHGN^MNFC& -Q][N/rhO%qQBIH"U7mg.MMd4MP*:oeS?96)['[*AWLf3.Lk^Y?MN!UVOH,6XOd20/V3Ht2XKJb. -SW/J^L4t>APa@SkKS5,>L4Y#.JV8rRSXZ4HWirV+V4s`XR#m;`MMQtBP*q_]Pa@uaZMiO7$TU(_*P+&):P(e[SWM,`HR$X)&R'+'(St)LK -R[B1lKo(bGPD4gUQ]dZ0Oc,-]R$NbiWOT^QYGn"NQ_9n-Jqf5DM3+F=]!AVS[]$!lP`qAsOc5'M -LlROPK7\f3Ll7IgVQ6erTUhdNTr+WUOc5KtX/)SYOHY]XL4kJJR$a,#Nh2o@Xf\@dPaIf&PEV9! -R\H^TPDG'QLkUbOSZ/luW2QMaS!onAV6Hb^OcG?XA<)tCQ&pcQJV8T,LlIFZV73IjLl%(ILQ%"F -NK/pRMiF+!ZG48fXItW7QD1=SSskt?Vjrd(M2-b6I"-ZtLQ@mqRu`>[Lkh(WS"QLIQB@B%Tq%^R -XJV#5K8#8FO,]0hVl*gnS>*'iYbRA>NK9'UKSGbdUn4!CUoUGdQB7,dSXYOrPFA29NfTp9URRa: -P)Y9RNfT0\Pa7N!TVeT]S!/khKS5,7K8>ACTW"HMSY)=2M2I@]Q^*o'ObSFAL*qY,JqJc5MO(9O -Z([\^UpIM,Su/NaW25uFO.)c:Zamf]WgT'=Q]1otG)2BZWhPlCO,]3`OI)W9T9tn1Uo:Z0XJhhU -OHPW]Q)C[YR?EVuWO0%;UQpaqNJrm]O,f-YR&6saS!/efKS,,CNKflrMi!UgUnjQEO-Z<+SY2OA -R\-+9QB@2eNK^$;W2#]OZa$!YNK]p,R#6KINh!#FE1`VdP)YBZPFSPW\u)!_Pa%B#UnOKWVP^#O -N/WRFJUrE*Ko;"\XgG'oN/3CRPEM6(Wi)YfV5po4^U]u0YbI/EYJ\Dt[]?3qR#mW#S=u4*Oct`Y -Ll71OOcu60W2$,k^::83O.NYXQB-oeS=F5`SWJSbTXDA7U7R:&Ng$-@\@.Q`O,K'jW2bu=LkphC -OdrYaY,7q[NKB!YS>;sUXLl!V_nida[Df_TT9GbKYdh0?W3WIrP(\FDN/a$lTUUq/Q'A#:S#E'T -TUh[FP_k<`S!]QeS=5V2Y-=L]R?s%pPc2LGai2EDa2Pp'WM?;jYHOmpP)kZKNK/jGI>!NjOH#HgNf&dXPae#(P`CNPL4Xu,K)UE)JrbrkNB`]. -^;-hDW3)njVjWgS"H16N/3@POb&=HN0g<4PDkZiP)bd&ZDXk&R?NPe -4dNIb]!J2uOHZoa_m?,1R?!SqO->flQCt=g_p6WGXI5lXTUM=N]!SBE]sQUbcR7pKRo#CQ'f&'\#>s`SXZLmd`JklV6%,>^V@\,aLeac_op$1 -['6sHL`58j[WMcPm[]$76['73ebdadOUnscUSW\qlR\QRJT;8s5\#>sfOHu>tM3*soYI:mIrNgRM -[(OAs[%NeWSXQ=]]s42rT:D15W4KUHTU_pi]6CrEoo\@fPfYG@YRTW=uf -Y->@7Uo1#XPEVB.SXcmt]stno`5fKeQBRu=WiiP*TprR:e_.g3R$3l-Y.qc]Zamroa2#L0aMtg+ -^q[_-db3?s^:h%YXg>[kcFUZrSW]kZ]lRgu@5; -ZDtOEV4F*FVmEb:ZF.Kia2#@/eC`*d`QHHL`3u\GZFIER_o9=(bK%,hU9DScb.Fpl`P/gnXe`8/ -UnOW\Wjo^KZ)==oZ*LL6Z*_!O^:CPW\A-5:e]PV%W2cbjUnf$)X/;VlYbS#(^:LklbKe8NcG[3! -_Tp*)YIV^$d=06U^;I_&bgaqQYH=e1\$30M\Z)U7^W+=9be_!$YGe4eR#IH,RuWAkTU_IEX0T+C -_9prbb/_<3`jrn,bf.2rVO*d?PF&)FUnF$;R\-=T\@]Pm]Y^r37ES>)aIS"m!f\@];YX/2](_n3Fre(`$_]t_<([\]@\Y-b@5W26W$X/2McXL5XM -Z`Bt#UnF6HV6@/+ri7QGSsPqF\%fhhUn=g#[C*`f[ApUMa2#0p^W4O;^:1JW]sFuPTnnYkTV\1X -PTu0[A9FjVQ$Z"ZadBFU9;/DZDOk>X/)GfYdLsN\Aut@b07o<]sXiA -\[\lN]u.OdWNs(C['R!7TVSj*\?D^!S=uj__7-A8TVo$$^WFmMcd0kWY-)WJ\$iZU`50dObdsmR -Um[U?TrGE4_o&g]YHk=3YJI]LX0Jt2URRmZ`miAR]XY#E^HC>\\u.b -WjBUa_RutFZ+dQPbgO\Q_7dCf]!oJq^oa<6`no:h^q@@q^G -nG`gkgUiP`?!UH.;Z9T,<``$m;H-Xr<)Zar=B\j/<)WWk7T*/a;cHe!=BJX)<`E+!<`E+![CfH@:3DH@:*;G?XR5I>[1Q@ra,\4>l@hH>?kH? -?!UcD?<^Q:>$P37>$P9:>@1]F?XR5I?=3V=%qfKcA7T:cC2.HrB4kmlCAh`uB527"D/*]sCMdm& -A7]@aA7]CkG]n4VH?!b:DJLbBPD0oBPD0q -C2%D/XB3D/aE/Ci+'+Chmd&Ci=0/ -CM[[!BPV@"CMRWqB4tskBPha0EGfQ+CN"9:FE@G%!HW8[D#\?UDfBW.BkhjoAnGamC2S*6 -De`ipAnl4&ChRBjAnl1$CM.0jAn>@_C2n98DJa3*EcuPEEcQ,5BP(a`A8,jrD/aZHI<]dMCMI^) -DK'cGI!g?kI!9Q/D$XigAnYspCi+(hD1?A;E-6;DEd)tdN/2q2IXH9NC2Ij*C2%BpAn>UkDJsE; -Ec?#8BP;4/IXH9YFEr1WG&q\GEc5Z/B4u.&DJshuUo1,aSsYF`F)Go7E--8KG^Og\GC5!nQ'?uPOJ&>ASrA#; -EGTE+FaJRaEboQ1F)>XjC`.28O-5WjStr?dUn!a:Ne2IsDfTi9FF].%G(PF,P)kS?IX-'S -Chdg-G'J@^Isc3UJ;/Q#I#OAeWhu)=JU)TsNf&=4IXHg-MgohmJ!WNrV,9s'kIM19l"H['XODfpMY -HZNn8DK9rPO-lH-Q]R/dNf/jQKm\6!O-kugIW]mWCMdg,I"d<0KRoAOQ^jJ(KRJK)J:N9+MN!ab -O*bjFD%q&=K8Z%eSsPk3Oc>6VN/j6`IsZJ?GAqtXH?3n:BPhd3GBnFZMk#iSDK9l?F*W1aJ9uHZ -FaAq4WO/t/QAKp6KTr$rP`UfgP_XF#D/*`pA7oUlEHm.lK6VEYGB\XoNffH_KRSH.NJrshTU'e= -CN"BCH?jjoQ'mi!S>;pOO*kthGBJ%TEcltoNJE(;O-l5mKn=l(NJVq)H[gm1It*NHNeE%3G]IS8 -E,T]AK8+r2Ng,ciL4=JhD/OB6EHQAJMN`gIL5CS1G'84dK7\c.H?!_@EH,r9E,p,GKUJa6P`_9$ -WN)>GP*V/jOGSI=NKfX&W3*.oOcPQUEboW2EccnsRZ`JYI=-KtO-Z,rLjjc'QCk:`U770kH$OUV -JWlRhMM6Y?S#3*VNI,\dG'8.]Isl]nM3XKqM1BeiD/4*8G(>H@($fJr#YaWL8g'LkLA7OGo3]PEUoUGB@e@ -C27[*EHlhbRA#jtH$+@]JUiE5R@0G.R%C1X[]u9iIB&WbLS)&f[AK:LK6q`fIYNi7H@L6ZD/siH -J:iN6QC*r%TWbAeMLU\\RY6*7Jr>MEL4+E$PGG(CMhZA!I"@[6(Uo^bmSYhs;J8oQoGBnF\KS=u'M2$ePQ][l*PE1Z\ -M1BbtLQ.1KMi*"BR\,UoMi3:=Kq,Wj^q@Fq]!o#ESYd^d,S!An`ItE0!J;]SV -S#!=&Za?j*NJs7#VNm!sOGeO1G)hfCJphceJqf,=7u2kOJ:)]lLQ\!dNK96`PFnkee'bn(Ne)@o -F*W%fV6$5RSY2+%LPM"aSrntdIsQ<_G^+akIX6BmKSkG4I<]^FC1^sdAc67JG'A+RH@hThZCR/H -Rur_qMMI+UTV8'PP*hl2NIc_BSYE="^rXL'Xfnt3U6Ue!Mhm7SQ^F53R@^(>NJ3(@KR.cjMN3a\ -T;\`_S!]@rLk^qTLN\68SXPn2SY2/FIr9jjK8,>JSY2OHSVr,`ZG=/RWOK:4SWSJLH[U9eEdjUm -c-!u?\$i/jI=d#sMjBs+R$44YICj>Z`Kt"[(sD[ -Oa_CsJr#2cNKTHeR%gLMUophuU6_[MSXc.8R\[3f -R['/"PGO\4NeN%;N0]onNM*M^[(O?%cb?9BP*0=0K8#>QSt2=EZ+[WFS=,nM_8Nd_U6L1GD/=HP -KR\lQZ,+N#]X4fO]XFW)R?ihbMiWXCIY3E=RA-UUTVA-CP`h?,WhGQ%Lmt9AX0/_*V5UGlT<5rP -bJ1*KR?2i0Dg?UuH@Ug0JVfDHM1^1rGBJ4cQ_C.EPE)!$R$3YkMNb'M['-I"P)GElRuWGnQ_:In -a32]Mc,R;jOG&@GIXm00LkLSFP*_Z-J!cF[M4L<0MgBGiJ<#ndSXH4CKmeW>PDG3]LP:bOQ`\Hd -g![jR[C4<2b14/(S!'JW`kJ%%J9#LPItro^^TO/oMOU$/]?.ddS"HXf^;Rt2ahtEcZGau+\ZM`n -K78K-J;K5KW5-KdX/iV@_nisp]"#MhZ_X"IJpqrdFEMhTH$G.!LQ@IJJr5eRO.<8DO,o]uR$45U -`P&g]SXPq/R&$1DWiN#'`l>9[R[97uLPUJ,HA%03L5D"iZ`'=TLjXf,HZXUdN1[&LX/rP1ZEUO> -^VI+DPa7JiNM3PUU6^psItuRO+VqOX/:`"JqA5jIZ9e^O,mh8Su9!?d_)ESX/_bQNK]BUP,#7_ -US+pIZ0DVSY)I`kT.&^;.n=b.4FGSu8ZcW3Wb+W3a:[aNDT4Y,S%^Q&gcMLm![GHA7K=M3+:+WjKLe -g!e*a^:M4l]u@n#GcdX+MN3UHKTD:SKRA9*PF/5Q[^j#WWhZAe]"Yh[U7J!OS!fb@Whu5ITVJNm -XdkN9Q&q)mS=Gq*It<<0M26tCMk-rNVkK]ILO=JuJ;05\V5'WQVQd"bQBIN(USF`jXfJ7bOHPis -ZH1.sVPToKOd),lN/W1OTrOoVML^87Nf90eNJWFHMNNm[T;A-HS<]M9Wi;VXQ'7,_N00O-\u`cb -WKi@!PaRr2TUqaS['Zd!M1U>7Mj'9]MNj^*S>E?t^V[UcU5G/-RuiW"XJi1rTr>#n]@59O[ABO^ -N/WRJOJ&kl]pXe8P*V5qSY`HoZ@B*YTU;+J]=,)ae_S?^[Bd!3OG&CXTU_IcC.\]2OoUnXWTT;8?d['6U'X1>mETVo/lR[BbJYHkRD`6HHEaMYHpX.5cZ -VkU0"^q6YBVl6JmXJ_POPbG4ZU6^n&PF8&LWgo -PDbB]PF\SIR[TqKU6_%;Y,S\?bLG>(ip-45JcC<$JcE(VJ,~> -mJd:ZjQcR?o*"^Zp%7hNn,M_SmJcPRm0W=OmHj3,n+#l8rp]pW)>!@gn+#i8mI0H2mI0K5nF#f< -p@e.KmdfrJnHJLTo^D8mdKZ8lg4-0o'cSG&F],Znac;Co'u8>naQ,Ao(2kQs7\#9oC;>>nacGKp$h;4mI9Z8 -m-aK=p[mtDmHj-(nFQ5@o^qhKnF6)Ep@S=R"RtmNoCDnN%J',[mHa33o_/"No^_SPn.bE\nFZDG -oCMPAlg!j(m-O'.nF,oHoEY!Wm- -qso7+nac5;md]o@p@Re=me$)DoCVYJoCMD>nFZ5=m.'`?oCDGAo_8.Rn*]c=nacAGo()>=nauPKo^_PAmHa**n*o`8mdKrNs8)3OnFH2?nFcSQo'uJO -p[[nHo^q_BmI0WGlTF\-n*KH6p@.bTs75RLs8D]`nac>Hp\+7NoCDD>mI9Z:na>i6naGr:o(2MC -rr)cgo'l2?q"4%Bn*ooIoIBP+oC))4naQ,BqYTjKnFH,?p%@e;lKn'4p%%S>o_A1Qo_%kFp@n@U -oD\;#nET6)o'u2;o_%kKpA"1Bmd]l;mdBQ5m-3m,o`"@tmcs#ul1"NKqY0d]p@%JAs8Mlkq"3t: -nG_hTl3QkQqtfpOlL4QIs8W$6q=F(KqY0CCoDJU[mI'T7kj\HKqWm55rVo^cl1+E8md^#Js8)BZ -o'l)6m-kk+cJna,?$ -nb;t[n`&m3rVmf0kN)+-qXj4Cm.C#Js7u*LnG2YFoCVVDo(W.`D#?m-scJr;H0K -kj\69o'u5>o_\Xbp$25Gn)`QpnbVnHme$,>kk"H=o'c#8n+?)As8Vf\naZDPp[n=]rs\hslfmWo -hsL"/p@InTrtt_+mH<[&qtg-^mcis%n)im)qYTpOkOA6Frt+nmlg!p+lgFB7lL!Zjk48BJrsJD_ -m-jKBs8Vuiq>UC?rUKUQn*960q"aXVo'Yf)iTU1=o&oH7p$qJ7j6#q1s7GpRp&+gh&c)"\nGiCO -kN_d@s7YgFn*p5Rs*+,!jm;j@nETN@s8)EZp&+jgp[n.Lnb2kTnE9*+p%Ik?jlPe#qu?Whn*ol= -oBb`6s8;cdmIL;WqtT12o^_>=pA+agrV#dLo'Go>q"XLQp]'jTq"aaXjQlC/n*KZEs8VE;j88lR -n*092p&"a[k2GFns8R!8o'bo4m-!U%o^qD4j4iP`s8VKNjlu1&q"OLVr:]F;mJ$/Cqu$6]qu?Zd -q"3Y6rUg-\kiV+&s8W&kq#CBgn*BE(jll"#p?qGEp[R\BqZ$6]n+$5FjlGFbn*TH,nb)qWn*9-$ -l0$s`lLjoOs7nMFo(2GBn*fi=oC257lKmp0kN;4(nFQMVq!7&.q>U<^na>iCs8VTHkOSB>mHX*8 -p[@P>rpp*h9D.H(mJm.brUB(lg"EDo^;)UC%rV?']s7u$FoD%kPr;V3@ -oBG`>n`]6*o_%bDmHX08s8Vrfn*93-o'GQ.p@IY9o_8(Lo(`.]nb;t[p?h8>s7l*UqYBjTlfmd* -na5`4r:omNlKds*p\Fjdqu6Thqtp$Nl0e$&jluC5qtTaLp&=p]mdKGtkN214s7G^Jna5i@oB>K/ -lKe->q@E5bkj@s7qtp0ZnGiL`q>C3k8GhuOr:om[q!?u&o(D_Qp%%qYrpoRTrV,aJl0%I2p\ORP -n+?8Akj7p:r;-'SlKRj.jllL>s75XHk2bago^heRp[@D3q=spg@.E@>mJ$PQmd03-p\O[\qo>mIU8UIdcUdkO%^' -l1+ZCk2c48s7Z'VnF?GVnF$&EkN;"#s8)Ngo)AC[s8;KYo`+sfqY^'Tkk+TCo^D/:p@\4Zs8Mic -q#C3VmJR"Zm,@!mr;HBsVn*091nalA?kje64me$ANoC2DK -s8Nl3p@IVDs8Vfes823HkOSB;o(VeFo_eRc%J]/KoD[q>o^M#%kO8qu6BWht-U7 -l/hC2rr)HZs8Vobmf3=ZkOSZPrVc3Jlg=$3s8MofqZ$9^s82?Sp&+^Ynac27kjS9>nFln^HiEp= -oB5Q&k31sqr;HZqr:':TpuqDBs8Vubmd0K=p?qJIq=4%ElK\$As8;Rs7u^Kjk2ksg -m/?e\,PLEls8DEPrVuigo^hM@qtg3is6AMuBq!I,1s8VujrquEQn+$,Kr:fgLo^qV0mI0B9qYKsTlgF9-mI^DX2#$A)lL4HAr:T7GrV6$^ -p\"IQpA=IHkj7a/q>0m[q#(-krpf=>m.L8Pq!mD*n+ZMAp\t0l2Y?%noC1l%jQH1&o(2YUp@\Fb -s7u6Xrr2]bp$_59q"3k=kj%[0p%7kSq"+(Lq"F4GkO80?rr4PCq"a^]q"*e:nbMqJlgXWJqs8DWcrUfFHr;HXmrr;`\p%\+Os8Mibn*KE3rV,dSs8W)ag@Y+1p\FIK -l2UeZp\F7:jnATLrVGj -n,Embe#eRZKR%feH$Xd]G'<_+s)\6`rc\u7KS>5?NJiOBJ:iT3 -LkU\GP*(c_LP12+I"-ZrIY*:QLDl&3P`q5iNK&jPKn=l+It*$$K7\T&Jqo5@M#MuNKSG;@N/DBM2-_4I"$TqrI4cr%t]IgItNQ7M2-h@LPUb@K`6T0KSG;?Lk^M4 -L&-N:JqJ`/JV&T4MN!FGJV8i8M2@#eM%#,lKSG;WfN09Bg -OcGBZNf]0UNK9'UM2[FPMia*]K7SW,JUi<*MM[4QRf8oYU/RYMO,/XQPDbV@\ -R[95*Tr4ZZUSjcUSs>+cMMHe8Knb;:N0'-dQ]?TIN/lpPa%K(Mi!U_R?ro%VQR&&[(aA] -QA:d1\>ksRMMdIbVP9B:OeAk^V3[1!MiCSQDCjp[^!!>WLJs,Ne`IQPb4_]"u1r^;I[q\Zhp.XK&1nS!/klNJ`LHEeT1&NL>ibNfT-[R&$:8NKp69V4+!K -W4gKs[@s@mVOj*9OI),kO-Q3-Tt.D)Q]7N:X1,=2V5^PoT:;OGQ'e>DTq@C*TW+]b\@&u\Wh,fY -Vm;t[S#E9RMj'p-NKKWoOHu?(Q'.DuP`:TWN16cEFe,5(UR@XXb1>@j[]#IFIYEZ9RCBi+Pa%T$ -NfBC'Z*UI+St)77NJWRWQ&^ZYOHlN0Q^3elKS,)2L5Ub!`kJOCNeW4DOdDW2YH4k2]"uA*c+LBp`Q#j5X-A?sPE_?# -R$j_T[&g@7Wh>iOR?a27Q^*VeL5V(ON00HtSXPe(M2IRePFJbd[%a+]PED,qU7nB^UR740XKT(H -^U0_uNKg$.S<];(VR-<6s1<`]Q_'_9R[g(MY,JM1]>)(l\"oRiZa6R+Yd;6k`3u_=QB[/\S>`Ns -_m#u,Q^3o&Q^O8.OGSdQPF@VuSu&WrW1fr[TUqp^\[JZF]tLYP[_0,VXIklT[CE3*QC"8N`4WR[ -TqJ9bYHX[hVlZl&^r"=<\>>aaPaIi'Q(S)Y@\fs8b/V$!Yct^]agS=UVNHdkOI;;qQ^G.h^W+=1 -^V\F@^q@4^URS'STq%F4R%BkFYIM6W\[8E-Pb5=t\#>[ZS#NNeVQR;5Xf%qjYIM-[^TsZ.S!&>U -NgZE'OH,-VrK(->KSPDCOdr;GT:)4BVQ$JgUR\9o]l0mV59cPT:VOEX0fFO`66NO\=SkK -Tp2+CT9G;"S>ia$\@AlCR@Be@SsPe:WhQA_T^XKJV+ -[^)j3VP0W[Z*^d6T:W'iZ)ORtUo(2kUSb3.^qRCm_SE^gWNNItPb"VNWiE/#V51&lrjt_;^ppeK -Vl[/-Vj`[3RA-XVStW*jVkTiPSuf<6_n<=ZVPq)4]t1PNTqS]iP*N,UYc4:fS!K>&Nf/dVR?sJN -]5k -Su/p)`6HH>Z`9n+Y-l*[XIu56^<"dWdBAe"Pa\\ibf7E4aNW#V`P011\@8lPZb"E;f?1e<^r*gm -]>_k+\?VckVQmS3U84ltYb[_YTq7gITX)DO]s=Q-VOsZaV5LQ(ce7"*e\J2`XfJ:iSuK-5]",/T -^q[P$f%&C.e]5VPaK`7gVPq#1Zc:;0`E(=*ZD+/"^rF4']t;@tWi`D)]t^M6TW+umZ*pU1Xf/M2 -T:r3k]Y(_[[(O;sb1#%h\#Q-pVlQeoVlm23^9sl=\@0?&dEThTaMc09\A6G:^U;&,a8Wf%\[o_s -`6c`;W3s(GZ_XG!WM$9(`5'RLfZUq3Y->%*To5;1S!TS7SX5V0VRXCR[DC>FcH=Saa0rCa\@JuG -Ss5V0Pa7i7UR.:3Q_(:kaM>R&\@B2_[CEi`^q@.]YGn>![C*NRXKSM&]tgkLWM5oRVQHkrVjWd2 -OdDa@TkUO1YH+_*V4*L2Ne`XYPF7i+Z,EuIWM?2hZELIC`lu-%V4X6GSYMjc]!A?-PaIl5W1oiR -Tr"upTpCe'OGoU!U7n-HSY;XMY.MTeZDF=dTW,*'Z_*qdTqnit[_o\p`k&4ET:VUIrhOD0Xfo@@ -UR[a@TW56#V3[=:VPp;s]t_D"Z_3toZ)b"0YI:@+Tr,&rYeeW/_6U/GWLoZMS=Zdl\ZrQFV4sTQ -TVoE7]XbGRUmmsIXLuKug!mmQ\?`9:TUDCMYct.)Wj'.BV4F0SZ+79S]6LW\Un='JWN`P)XL>jN -Xe(rY^;n(/[B$I8Xfo4RZD=_EcGd<(^rOXDcGR&u[^E65S!/hrSthpNUn1_@ -R@p.BWOBIS^qR=nWLp&gW3*\:WhlDZR@U+CPb,1o^UKl4TVSa![BHXJ^9k7r\?Dg6_9'jCaL8.T -ZG=W)\"&__Zad>:_T0I)`Rj/2l2?25JcC<$\Gq'~> -n,EmWa.@Nh@o?&s:fpq0?Zt3.=BPQ("^"o4>$PA4?N4:;>$PBA@:EYR?srk=ra,V3ra>_2ra,V30O.mj@:[LfD -?"%)J?"78M?!^fE@9ZuC?XR5I?t!MSAS5[jC2%EtBkV-nCMLJV&E$Iu'DbVkTQBO+r%'EcZ;=Cj1MdI!9g`GAq\YS<\n]Nh`VLP^mdsFD>H& -FaACXDJsH2DfBZ1D/3j%Eda4KV5(&t\[/)tOGS@+ChdZsBPha4H@(3sIsQKjI#*N.HZa@JDK0?( -G_Lm&HuaF[K8PVCI#4ApXf.kPH$"IkMM?Y1I=m3-M1B_hGD1NpIt2urIu'5QR$NM\Oc>!*lVS=,h7O,8R:CM.R's(Z(]Df0Q;H$XsnHZ=(SH\7 -F`r"_NK]ZmNIZ.oG^P!fI>XPaS!/YiTrb?$TV/?VMM@;#b/UZXNIZFrEd3"]IXm')Ec?ATK8"]0 -R%g:LXgbg8JoZI4UR?pbH[UF%OGA=7L6A+!O+2@mFEVhUM3XD,N,"3%M41KKN.Q7rF)lAPS>N0Q -LO=T+J;9A[Tqns/_7.%`TqnfbXI"j%Mj^NGYc=IjQ%X@&G]e=aKoqRSItW]8MNF0nM2-V6O,f$P -KSb\IM2ILcWM,]BNf/aLJ:ilRY.;-S\A#JYZ?W::S=uOCQB$WHH$=@MDJX*+FFe^YG'@tLI>EK# -GCksCP_kEbTX`.`Z'q&IQ&UEGIY*#oH\.$2NhrA5L4"oLSZJc]S=lUIPE1rkLPCqSMMZY,PFe58 -YH5(6Sro)!RA#^qN1$)iH@q?=H[UU!IZ0GNLP1>.L4au)I=dNMR?*Z*SYVlm\M\>P^S -KS=]!NLHB4YFUc2K7\Z,KntVCJU2NfK8YGD=m[^X;j[B[!8SWfJ,P`CQRMNEseU8n3q/$#G0MNXg;UQp[mPG>"KTW53!Vk9?IWO'.P -_Qff%NdteWF+ApoI=6hsPa@PlLP15*HA%BEP+/DMU7.@*I"6?`I!UO7S[,W*VQIMCXgkdT -`jDJ.P*VW1S"QmbT:;%)N0U3=X.u5UUoU8UOd_]-St)+8U:%M?[(*f]YG7DTTok.mQ^sV7S=,S) -S>a$0[_'&QX.#KLU7u"^Mh$J:Q(4>0RA$dTQ^3YqTrYc?\?N!+U9^`%XJMMRPbaq,LRb$+PDY6P -KnP/3Iscd$L5hq.T9PS*Oc"gGK7fD_Wg8!XJ9ZEpOcbELLmOpBaOnnOYdM'@Q&1?9N/s*sYHkC8 -XfSG(Tp:e%N0U'+Q&LWeW4Ts`\@0#YUm@7'R&-LDQC484SYNC$_ns!hYIM6T[]>j_Str-NQCFSY -Xe;&OS!&GYNgcN&NKpEG^rO@$Wh>fUU9(l6VO=$ncILRmX,rF'O.Nburl8iraj/5R_oL'7\$N9A -\Bs!%Z)F\1['dd&fA>K;aMZ*7Vlm@tTX1`%^rjL0=N\RaQ^F_b`PT6t[D&f8U8+Nk[[`GG -U8"?YWh#`TS>2jAPaeVTYc=_([(O8qce$@IUm[UATUhXFVl6l.WgK6TYJSQ2bK%W@^qmR`[)'Ve -Zc:>3]Y&O$[C3ItVP'?NWiE/$TV\0NYHOU` -Q&UNRNg,WbNHBl+IXd07OcGm&TV%sUTpC=cIsHU#LPq(HTX(;ZRZs&1WN*)1`5f9_Q]I#ZNL$-C -\#uNlM2R=VRZihoPa7r.NIcJ*I!1-tMMd1CLldafUp@SAX.PuNS"ZUUUQLk2R%'tQXh(gM^9OE% -R?`ktQ^O70T;JQoVO*9uKo;:mUmHabMj'NqWk#gZ^TX#fSt_jNU8"WVR?a8=UoD)VdDWAnX/))G -Pa%K0['cp0R['2+S"Qan]QUiiWLf0*MiFLA`miu$`kA[VTU:aoMNsa(R[9VAZDj@WPFSMPV5^Ji -S=#P%QCjtJSXugcWM,W?Tt%qN];qU!UnXZd\YPUj]ue+"]#2_:e'lCI[BZ^&O+Vb#IuKYUPF%Gh -Pan87SrntuXL#L?R?a/%O]A'WZaRHT[_AZ/Tr"BWXe2#HP`_)qU7%.6Y-td?PaIZ"T;JK[TXhM7 -Y-P!uV7XU^`5/[SXff:U_m>YjU8kDs[(!6AU7S9g[]Q=$X/)J_V67><9tZ_sCo -]"5#9R%CCdZEh$ab.=[TWMm//^W47"X09+YbJ1Nt]!SiFR#mGpNe`=ALmap*R@KFpL4ar)L5h4W -P)kNgX0\jePbb:MOd)W8R%qC;^:4*V"io?XjQ?Dls+13$s1&)Z~> -mJdRaj6-%(oCDMFo^_MNmf2bTnGhqRm0N4LmHa**mdTZDn,DeVnbhnQn,Mk`nac/=oC_eJnaHGG -"nD3Vp$hJLnI"dSnF?)@oCDG@n,;YQmf2bTnGD_lnF,f5mHj90naZ)9m.'Q4n*ol:mdfo;rpBpX -nF#c7rp^*YmI9WEnI"jZo^MA?nF#`7oDS=\o`=^SrpC]nnalGFnaGr;oCDG>nF?,Ao'c&7m-=!. -p%J@V"nM-MnauJQn.Y?]n*ouCo^hYFo(2A>mI9]>o_&4U"nV9QmdBTCnK@Dpp$_20l0e$.lgXB2 -n+6/AnaZ&7mI9]=oCDJAnF,iFn36O=p\+:Po^hbJo'br3mIKrDp\+7Kmdfr=o()>>n*KH0md0?1 -o_/(Rn*TW9oCqqLoCV\GnF,oZ.o(VqSo^VGAp%%YB -naQ#6l0.X6s8DW[mHj61oC_eKoC;;:mI0T8n*]N3r;ZfmmI'No'c#8nac>Fo_J@Xo^;2;o_8"J -mdTi@p%J+Rp@RnBlgs`?pAFp`nFQ;BnFH/:kO8*As82ESlLk&Np%%_EmIKoCp%7kKoBPN*pA4LO -m.0c>o(MkMm-jQ;naPu:o'u,4mdKW9p%%J5jlG^uq>U9g3W/[BnFZYRoC;GCn*BQ4mdg&AoCVhO -o'l);p\Y!ir;-6^o'c5Fo'5N2rr;igp\OLGlL=iKm,n!?s&&U]lKms-nFH/Eq=X@OoCD>9m-Es( -o()5Cs8Miir;ZT`n+-5Go'uDDn*KK1nF,i>qtBXSp[e.No'l)8nF?/6mIpAJm,mF+s8VodmHa*-oCqtMoCi+^s7YaBn*fc4lL4B=oCDVKq"sdP -m.'l?m-O<8o^MAAoBY]/na>c1oD8I_q>L9bo_\RVlg=-6q"O[bqss+Ap](7[rpT+Bna?#?n*B<4 -o_JI\lKIj;rVH?_nF#f6n+?;BlL+3*mJ6eXn*BK.lgF??qt0@CnF#i>p[de@pAOp_oCr+\p3lQ% -n*ormHj9/p&"UTkihC*q"=4Kp](9ioBu&9n*of4mHj0+pAb0lmcEd,p[n(H -mdK`AqY'OFo_\:HkNV=)na5il0%4$o_.tJ -o)/Of$iBP^l0@p@qYC!^nc%q_k32=0p[R\s3sp@n4Hmdg)Eo'5E'oD&:as7PaGn*TcH -s$-DSp\+4Kn+65AlK.=#p@e7Qn*K9#n,NFYkjJ9Bp$h5)k48ELp%%\Gq>L?mqt0.@s8VTPmIL&L -q=F+DnbiCd&,,5Io)AX\m.0rHq=3h?q>UD@mI0ZBq"!b7kj%[.q"aRLk3hj2lg=BF -qtKREm.L8Po]b]8r:KXUqu?]mp[dkEn*orAoC;GKr9itEoCMD0lgXT;n+HVYs7+t/qZ$?ZmIKlB -rVuEHiTKe3s7l*NmI0Q5mdKf>p$qD3m.^P[;"!Z6lgF<;o`+gfqXa7Jp%A+Wqt':Ms8DWep#kfD -s8;?NkiVF8rr2Zbp@e+PrUo@:n+?JMjmMm@qt0:Fo^;59nGDnBjlc42p?h5=r;6Kh#PdlTjltpk -oD\bZq=!tHoDAOds8;Zcp%.V?nb2J^Go)A[`kj%[1oC2/4 -lh^DInFH;Ip&+[[l/MC8s*XS0mIBi^nEol=mdBW?s8Vo`oDej^j5K7orr7E@mcsHBs8DNVp%\4S -rVQWprq#X@meHGBmdg5Nq"*k;nbrIeqt'4An+6)6kjS07md'NArqlQhqYTdVqYg9\md^>Plg+!0 -q>0dQn*ol;p&"deo]kQ%o'lDJqY'LRoBZ8KoBGK*lf.0sqYgHoq=+"Ss7l3Xn)rclmf*5Bq=sXR -oCh_@n+68@kj%j=oB>T6p\=FPn+6DMo'c,BqY^BkpA=mfoC_qMl0@m7q"=:Qrr7B;nG3+YlKRNq -n,34_oC2;?n*B6(o_\Xcp@.D9qtomOq>^?_n*]?#nauVKoD&%Ik2bjuqZ$Tln)rp(qu?Wclg='- -n*T]>m,%1'q=X.@n+62Cq#(*gp\!>(o(;A7nFlbZs8;BSnb)VIq#CBblLOlHlf-m`l0nB@J+`9s -nGN=do',E%o`+shp@%;3nFukNk3;^?p$VDLqtg*VkO\`Rp#Fi`k4ScSp[.55oDARfq!IJ;lK[j. -r;QBVmdBK6oCDACqXNS'n,2qImIg;Bp@n"BpA".KlL=TCq>'FMmIU5TqYC'ap\"4Qp%7nJp\Xj^ -oCDPHob[E$rr2`ns8;6Ps8Vr_l0@d7p[RkPp[nFY;>0YTq"nFH8JqYBpTnG2kMq>^O>o(htOqu6B\jQQ$sp](9fo'u8EqXsLUpA4USo_JF[nEB0+o_%n; -g@G:DqtJq8md^/Rr:&h1nb`7]rVlfno]k]1rVuorkhG(cs8VETs8Vrequ?Tip@S(Qq>L=mrpf=B -o_7Y6lhLMXm,.R6p$Cu7q=a^Wnb`:Zp%J4\nDs!6rVl]_kNhHunc&F`p@nL[qZ$Tjn*p#@l0.U& -jlZ.4r:Kd^q=*qMr:]R@l0REkq>UC!q=XOZq=X4Grr5C^mG[X.na>o?p@[e?n*]fBq=O1@lLauL -p%/%Uqu6Nfq>Ks\o^MJLp?q52q#C$Wqu??Zn*oo=qY]pUo(;kUo(W"Zrr3]1n)W^!p\jdOn,*.b -qt97Cr;QTjrr3GukNq@"mcs91p&G'\o)AY:rV#RDo(`"NmHj-1p%/%So(;28p%%\Gq!n(Qs7u!K -p@@\?nauGFqu79&jQ6%3s7u6PmI'K:naGr=qu6UEp[%55nFcb[qX*M2n+m"]p\Y!jp$qeTs8DZZ -m.:2RqYC'hs82?Fk5>5Y,PgNbm.'Z9lfma7qt0LMlfR6fkj\-0kjS08qZ$Tln*994q#:;$oBGK8 -s8Dijlfe!7na,iAqYBXQoCi%Rnb<(`qXX.Jq>UEoq"+.Ws8ViamI:&RqtKmcs7ts;jnA`Sq"=FY -q=O1Bnb`@dqXj7Vp\Y!fq>0XQq>UEomc3U0p$:i0r;Q^Cqt0RWmH=$>rr;unoCi4amIgGEme?&1 -pAb'is8DNSlL+EDq=XO^s![O9r;-Hnp@%M>kNML(lgXK:qu?E^q#CBmp@S"Vq=4"Qs7YXDn*T`G -pAk!frt57sj6ld4oDejiqYpNop?q89rq-j!s8Viao^_>:qY^oCVVDq!m_Fq=F(B -jnJfRp%@\Bp\=COp\t3ena5c5nFH/;rVuilo'Z,@q"ssaq"*nFo^M23nFZ;Lq=O[W-h$Ejmdp>U -s7u<^naZAOs7bXKrqH!Wo'l;@p\t$\nF?)G -lg3s)p@J:[oCMYIp\+@VoD/Fdr9j:Qo^qhFj5/b^pAFd`qu?QbnFH5GoC;/0mWmdTlDrVH$Mo)/Ofrp]:DnaQ5Ls7Z!Zrr3;snFZGL -rr;rio`"Paq"F1@mdfr:nbN"Mo(_qUs8)?Yk3;aBqtKXAl1Y/WrV?3[s7u3Xp[[kMs7u'GlL+QL -q!R\Ns8;9CmdTW:q"*h;p%eF`s8MBPnG)eUr9re8n,31b..?0[o(DPQs8;TOk4&?Lq=!eFqXX(I -s8Vuep&G'imHaTJs8)3UqYL-i')qRop\XORoBu2>o(_nIlK@O-rr45:lgFWJo]Y`3n*BK=s8Vfi -rqcB`q"+%Enb)\Oo^_bLo'lAPrri,hnaQ8NruLh"nbrL_nE/]mq>^Kfm-sQ3oDej_n+ZVUs7YgP -rr5Ufna,cs8VrdpA"@Wrr3/ur;ZWepOW?qs+13_s*t~> -nG`amn(+b*JV&4GGQr;3F`qqPGQ)jeG5?=dF)l5=EcZAErcJ-^!-\9_qK2a[$$LN:H$asfH[0i6 -GQiA>I!g3arHS`pGBeCZH[C'aG^976rd4ZmrdFcprdYf7IXQWlH[U?nJ:;onJ:;oqIt3#sJUi7L -I0>"KG^4W6HOP4LIXcj!K8#&8M26rdL&Ql-L&Zf*K)L?KKnkMCM2-e=Ll$qCKnkSGNJr^LKReJu -IXcirJV&Q/Knt\MOcTL$3fJoMKS"`(J:W<)Jq8K+Ll7.IJ:N6*LPh"KNfK'RK7JK)K7\Q%J:W/r -J:E*%LP^nFLP1/,J:`B(rI>H1K7no.K8,/9Knb>;M2I+ErIbB0LPU_>K7X#Us+YuVL5(50JqAN( -KSYMEMM$J5LPLbCL5(J=L4k25L4t>7Knb54JUi9%JqJc.J;/opLkUM9LP^qIMM[%>JUrH-KnbJCNgZZ9Q&16KT)7_N/L4t>:L4k/-J:iQ/KnkM>re5TMKnG#4L51S@NKfm% -R$*JgMi!4AKS+l,Isuj%Mia:!VkB<3KS,#1Sro8* -R$!A]JqAiCR@0G(S"cC6N/WgbPDtQ`O,8F?K`6[FL51VAM34I2VOWm:R[]Y1Su8TcTUM48TVed' -^:LPAQ'.DiKn"Q$L6e[3Vl-DdT:_dGR[9>#Ll@Op[DpG/ZD!VXUnO6ES=c=KnYACO,oEaNK&7EQ`RNnV6[nS]X4N%PEqZ+P)tT]P*ho>X/_kj[BlEd -Q(+PGURRC(LQS1*VP'?AR\HXKR@pOZWhPrOUT1>nTUqU>SYD[=NJid[Q'7AsTr=oeUnLPL_HOcu0)V6-o"Uo(E+\"&_CMMHqCO0lC'XItrHR$jYL['XAP_p[,\ -cGZok]X+`2QB[Q)Y-GUGXf%hYR@fn-Odi#@SrAi"Tq\'BPa7>jN0L-8StMjZY,@YOSu]*%[CNKKWpOGo?rXfe4bT<5uS_60i= -VkTZHOcGclP*DE/VPpc'X.5BL[^<<>V51/rY,A:sTU_@7R\HC@UTLZ,\Zi$4WiN.kR%pjg -U6h7ARZjQBd]!R]F$0XfSk8 -V43rjR?sA:SWo"dLlIIWPaS)8T:(k$Ll\4-TV]'+X.GfNPaA,BWhuVlVOWj4S"m4"^9si,Q'\,A -V4J#\#>piTrFucWjfaX[]QC$W3*\M`42kESX,1kN0'0_OHYN\ -Nf8pWO,X'q;iR*:TUM:9R@U(MWN)YfYHb7<]sjc'PFA#0Q^jV9S>!!k]thM+_l];jR\?=LVP'9@ -S>k^r+(/^U(,O^;.IiRu<8oW2,E7Y0,)=eB>S9]#2_7 -_RmP)c,-`\T:_[7MiaR3W19-^^qb0"VOs06PEr&T\uV[(3_T\%K_u\>Z1'YbIVcZ`'^rUS"$HUnt5rYILp?YHY@A\?r6' -Nfog+X/2D^Y/.HHVja0VZG48j]sj`(V5h,=[C!*;Za$'oZad;U\A?(t\ZW?\eBZ%BUS+B\WMcPdTsLo$WMlYeSt;XOUn!^!#ZDF(dZG*T>S=cXTV5LB#]=th[V4b&kY.(dH\[TQ(d*0G2SY<3`S=-%S]>VWf_Rd@o\$a0- -g>(E0a2>p7XgPjEYIh!>]Z.q2c,I/iVQIMM_nWq$a0qkFXK/kBY,8;%VlI,(Vl6JdV5KoSV6@;7 -ZF%3^`5'47f?1@oSt`Et\@@!u]t_@oXJ`MLajJ_jbJV3<^Ugh^^rajDa3;]@]"GY^\AQ;,dEB#! -]XbbdUn4?VV67VR_TLBU]XG)JW1fiYS"6(8QCb"RR$3f0[D9Sh^=D2pd*pFc^ppYOWi)JUMN!RZ -R\ZdNR@'G9Wjp$m_SO"%_oBL#Y->=K`Pl5u[ATe$\$rr\Ybe"i[(*??Xe(oFS=uUJT:MF9Q'n;A -Vl$Z'Ycb+*T9Yb&LQ\'lS=lI\`3uYBSuB$.^;7t=dClf[T:DC@TVAg%Xe_DKQ'Il6V5gVrUo1)\ -P`LrhEfQKPQ'[u4TqJ9`[(jSt]!/?4U8Y9+[\0=jU8>'"[D0>ma2,3fXJ_PXSXZ.FXg,72S!fb= -VQ[S?VNd12U8"p*`504)\ZVd:\$`fX['lm4U77pYZ+\)q^U:>QYG@GUVl?r2[B?R1W2QJaVQ[tX -0uCQ0X.P`HR]F3Fe^r'V['-R5Y,\CpWNWP/Yd_?WXIP]MVlQu-^VdU`Tp_+=W2ckFXKoLS_n3+O -XLQ*a`O`=[XeVPe\ZVp?a3DW<]Y_Y1d+-I]^:CPLUR[O-PFJ/6TrFr[R%pafYFq2SVm*b@T9u(4 -Tc-sWi<,-[B#sjS=lgbSs5_G\%T8EP)GU)\[f,R[^EBOa25?s]"c)"`ON"TZ=gkh -aM4R:T -nGa1#jNXTQCLg=:8PW5i@:*,9<)lrt?=7/I?!CcG?XR;O@:*MR@K'U: -?t!5C>lJ"??Df0E/Chm]q?sl*.BPD7%F)Z&7CM@KrASZ.$DK0cHJqno) -G'%bCDJj9,BkM!d@;U%0JW>tUK6(jFDKU/GFFf71Q'7,[rd@UlH$FU[FaSXfIX69bH?j^[JV&5g -D/jTPH?XUXFa/4bMij9iLPD+WL4+N&K6q]]F*iOpKSGD9H?F=Q -G]dtJIYa&OS!JnXEGTH1G'\RcK8>MNSYrN^O+rFDHZO4NFEM_NGBRtJEH?M\N0B^'US3g%I=5aX -Mi;g6EbfK/G^Y7-T;83PRZWSf -K6hp#R?NDTI!9REBP_Ho?t*VWCN=rdR?s5(Mgfr%L4Xr.ItWT5O-GlQNJimgXL"mpMh-80R&6g[ -U7mj2LO3`FC2@U!Ci+!,FED_WJUVijK7f&FQ]6KAJ:)p'P+SVIP^%(bF*rLeH@Ug5P)bQeR$3Sf -J9>[@Amo%UBPh^2I!p^,Lk0hoEcQGVIs?$VGC+jnL5V7cTT"ABDJEfs*GT\FK8#>TVQ$GVL4b54 -H?=P)FegH=_YRF`r"SE+s-*DJsN8F*2eTJW?%ZLk159LkLA9O-5N]Lkq(ZTV]*( -YG%#1JqJ/\An>UmI>s5KQ'7DnP*D5nKmdrUEIj[eb0If#NJ!:VO,/RLN/E=;G^G$tN/iC+C2S'4 -H@(F/Nf&j_SY2UDS!StWCh[X&E,p&DGBeFjSuA6NW40=DWgns#LPgn7GBeLfN0Kd(SX#YEWKi6o -LlRUVKmRueJWQ4bO,/FIQ'[SjPan;8Q&^rlStDL4N/NRSP`1-8EHHMUJV&]=P*1iaLOF2WEdE.\ -K92XpFIA)?LR"U7ZE:=9Wg8L,\';ptTTF\OE,K])F1 -K7SQ)N0B'GKSbhXP(IgqDK'`CIYbP)>$MMNF=%USY95a2,U# -U7uG*V4`s/M27CkVmW\$QAL'?L4jr-OHuB#I!pU,P)tNWMLKquJ!$"YOcYp$RZW]&W2lu!Vkf`> -KSP5=R]X$+Y,87rTr4ZYVl->aR?3,OH$sdPDfTrCHA6omFE)2;EdW4XGCYdFSrSh:Q`.aF_6'T/ -RZWAXIscitI"-m1PE_Z/R#6Q\W2?DaS=?4KU7.[?PDk9MM2m=sSZRA?XZY,%SWSt2:/Lm+L) -ObS[TLjX`-KntkUOcG3NKSFr*ItE`QV58X:Vk]]JUpn1ZZC[>;H$4RhL6SaETTG(dKn4i5R\cmP -P`1?LIX?R"N/`LCMe$+DKTo>F*2njS$'9)W3!SBUm.+=XgPL8TUD+?XK\L_ -J:<9DXL>UO_7H_DQ'n>:R@Kh=S=Q.;R%^R^W1K$#H$Oj_De3O"G^=deO.<#CWi`G&O,]6aO+r:B -Ru`;WMiX6tUS4-AO,AgVR$EbhKS>JV`6ZW=YGR_EOc>$?H@LNsQ)1k"_8X0t[_'#JSWX"^:(>X_80`pYaC)gH%1HuJV8rOXfJ.j -Vk9'.NfoKfR?3&DE,p,IH[pd,Mi!%3FE)SdR$F2CZ(R;BOGJ^XQ^sP3S=>Y!M3=:'XfnRdMM6hI -QB?lRLQ\*uSYW6VMj0QoO+i1BPG>%WYcq63Wi(lEUSXWQTW5QA`3uA)MM-G&I?9qcS>E*ONIuY, -ItCT;8j.]+V3R+(P)G!FLQ@4PNffs+PE(crT9k_*Q'%/dR]Np@j4qqq[^3T^_nN[\SsPP2Zb3Z? -Lj&lSXl16 -QCXeHV5'c_VOEI#Q^XKEU2m*5Wj&b4\%ob]R$!l4P`D3/R$EerNJ`[^T;ecfYGn1iUSb#kVONNq -K8GndRZa,:\Z;KrO--$1[CNlZ[@rkXT<,&hVP9fbVNI+>Vk9B=KS>>GOc>0PKT2"PQBdPpKo;%O -M2I4MT;8?NJq/Q+JQ%2YO-#KpWj]U`e^2";[]H0cLP_(]Vn0CDXKA\1Yd10tR?j,)Q]d5^OJ9,# -cHl^Hb/1ZfQB[i1U7qRZ>HXp"TV%X8NfK0bP)4gIQD_1. -^pL):V67#3_nE+EVo-p:gX6&ZDX:^WM?DrY-,+=a3i>W^8-mSS<]"iPG>Co]",#JZ`C7Dg>:iG -d_ro6\tc=4Uo(JrVRXL[`66**SsuXf`P]I']"P/5TqeKjZD*n`URe$VTq%X@PEqVuO-cW?VkpDs -^:q4mcI^7CTphLKXfnpWYdM!OZ(dbf^;eOPeB5SC_n*.TXL,XV_8OR@^:CkcZ*hBa`6H?/Vn0@L -[A'1bTqnj,`PK^Ic`sCASs>:mNJ<:GK8#;PR"Ts?Of#S!]#!.ci76B+aLe^VURd^/JTGsXH\RTD -Mi*@NPG#+n`kK-u]>)1mYc"J([_08$[&fjfUT:K"Yb[YMRA?dRR@/n_I=[-*KS>8[_0Q'da5P&QB$iXMisU5Z)4(RLP^kIPa7f1S<]A&Mh-2$ -I!:3oItEK9NKB^+Xgc'Z[B6L%StW!]Ul_%;SXjVsWirn>^;@IdWMcGONf]9`R\d'cSrengN00X8 -Y*t#lKoV4iZbF2f^UC&,UoLDtY,eXmT9bV,U8b]Db/LlrZ)aOYR%U4RZa$BrQC486T;Js9`P/[V -R#-9ELS)0%gYp_t[AospSsbk)QN!FhTW,6$Tp(M%S>)^PXKedsQ&gfjSY2RGUTLf1ZDjV![D0Mk -Yc4OrS!fqOTUi4$aMba*`Q?BRf[@aO[&9@QJpMNhMNa0gSstn0TVJOSWo+tV6-enYI1mN^s)i0I`osW^9k2NZ*LaH\@JlEUo'r\T;&9`V3R7*P+Je`[BlNhPFS87 -R@'JF`73;[^q7+c^s^N?ZF$mAZ`0\#_8X0oTpV4;TrtGkS>EKpToG)"UT(8s[DTqlXJhqeWNj7^ -b.FdW[D0Ph[CEWKZEU'nR[&nmNJ34XU7@[@/WY[@Jp_uuMN=$lQ].0,Z)EVDTVe6=OI_r/TX),2 -VQ-\sZGOi.c.1e0hrXffs+13$s1SG_~> -mJdsqkihF'o'u8@o'u/7mHs?2naZ2?n*^2As6U*\md09*m-a?0rpKdS!:]sTrU9dUrpg!Ys7$Qh -oCMPCnF#`5nF?,CpAFIfnF,i:o(2JDnEp5As6TgSrpTjWrpq-%o(DYHnaGl3lg4$,n*f]3m.0Z7 -nF?)>n*of6rTs[SnF6GI%IicPnaZ,=nFH5Do'u8Lmg/ITp%@tKoCDGNmksV)oCMVHoCDMGp\4@N -nac;CnF,i6mHs6-nb)\OoCMM@mI'H4o'l,:nac5Ap%S+Lnac2>rpW)Bo_%hJo(;VIo'l)8o^hVB -nFH;Jna#K+nF?#8n*f]5o()>?o'c);o(;YLo^q\DnF5umdBQ5naZ)8m-O0/o(2PIp@.P@o_&(\s8)H\ -n*BE5p\Od^o'Z#=rp_*%o^_G9l1"TMs7l-Nkj%X-o_%qNoC;;mIgAQo^1o+o(;qV!qYpJrq.H/p@[qCnFH5Ao'l8CmdBQ6 -oCMVJo(2A>n+?GTq=X=Knc&.jp\+=RoC;56nF?)AqYpl7o_%_W.m-F'rU]FIqY9aXq=aCHmdKW4mI'9%lL!j'o_.qGn*oc6p](6_kj7a+mHj31qu?B[lg=0/mKW(B -lg=$)p&=u!oBPrGq"""EmdKZ:o^_D6p&=maoBtu6md0H8p%%M=n*oo@q"aXTn*]cDrq#:?o_.hD -n+#r?oC22:nFcPRqY0OIn+QbYp[RV6lLb,PqZ$Tnq"4(@lgaW;m-X92pAP"XqXjgfqXO%HqY]sP -l0@[(p&4XPkNM*jl1+]Go'>T.naZ;Ls8;EMk3MX6qY9[Nmd9]Is7PgSs8W)kl/:[pqu$*cnc/7q -o'6,JmHjlQq!7PAnFcYRoBY]8rr3N&lf7g@r:04Ip[nFUlKn6Ds#'ZElK.=#n*BB/oD8=TnF-,I -p@IeEna5]?s7YjMq"jjXm-!NpnG2YNo_AIdoCi(]s7c9\rp;<+o_A(FmITu7m.BrEq!n"Oqtg3h -s8W&gkNqprquQfo&]37rV?0\nE0'9q#C%7o'YuDs7kjEq#CBfhs9q7s8)!Alg!m&n,NF^o'u\Ys7Z![ -s7uTlrt5+oj7)nFZDFo(_qKlg+$/mI^&>kj.m?s7PdJ -rVuoejRMs;mdB`=mIp2?m-aE8oC2DFlK.mBs7GmPp\t3mrV6!Wq"!Y:rV#XGnFZ>Bn`oT6o(DhY -rq#OFqZ$Tmo^qnIm.9l@qu-?dqXa"I>n*]`:oBu8Ns8)9QoDJXe -q>'m^qt'FQq>U/3rq>sOl0J?Ks82E[p\4@PrV?3Xm.U5Am-Es'o_\O\lg=ZNs7b^;o)8UgqsN\3 -p\t3mqXaFTp%7qOrr;f\mH!^4qYC'err;oglf@F/q#:0Yl1"EBmcs*)o'l#2meHh^rV#aMmdTiE -rV?!OrUT19me$MY+Su!2o^DAGs7u*EjQl^AqY0j[o^qP2nal58mIBc7p&=mh%.j#fs8Mllq=Wh. -l1Y)UFS,7un*B?0nbDbDlh:AUm-XE"s8Mc_md0E= -s8NJtl0RU"mI']FnDX$=rr_fUn+ck]$iTknoAfWGqWmJ@rVlg8q=*hBp@\"Ms8;?Lnc/XZjl,Cj -pAb-alfmpq!mA%n+u_Fm-sZEs7YgPs8;<@g>qi(s#U)Np@e.Rs8Vr] -k3MI!iook'naZALq=F7Lo(D_Ej5BA%o]bW7s7Z6aq"Xdes8(sCnb)_Rm-X*+q#14!p@n@RnFZYY -pA4dgFSG@np%.bLs8W)us7kmIs8W)io_&%Tn*'9L9bo_JI^na>f8oCVbQnFH#5 -m.'Z:o'u#/m.9l@jp@IeDo()25nG`IbpA4IFj7*'Ho(2YOoC;ML -s8QnFQPWqtKROp[\.[s7GpTq#(-fqY^9io]l/JqWHks -kk"`Ps6f%Is8W)miV3$2kjS39m-F-8rql^Kip\F[Xr:fp_q"4@[p&+LHmeQe\q=!P2lKn*:pAOgYp%S=_s8;?Q -o()/4na5N(q>^Kfp@IS/k4ScSo'Z;NlJV..s8VomrqcKjlg4TMs8;EImHsE;q"FFYq#1'Zl0S!5 -oC;GHp[dtZo(DVJqu-O:lgsf>qZ$Tam-XZLp$hnZs7u0Lk2bn"oBti0p@.D?r;R*!m,@'mq>U$N -nGWA!q!%,=q"4+Rs8VfPjQ,n)oDS[g/cP51s8Vrio'Z)Fs8M]^oCM\IoD%qCo&/m,p\Faeq>^Kj6673r;#mKnGE7cnETK9p\Ojgs7Z'Vq"F=Plf7:$o_AF[p%\FVmd^5T -r:KRKmeHh^rUoj[rVH-GlM^`-p#>0!me6SVp$_SJq>U-UlgaH2md9<#jlYq$s8VcYm.'uPrr4>9 -me$;Ss8;`cnb;_Gkj.p>pZhDCqu?TepAFs_l0eEJs8;`epA+[e#4:4)p\s^Srr3i0khbLus7l-P -nb;kQo(MSDqtopLmeuhSrr3N-mf*7dqXs.^'KjmW-Hrs&Dsr;,U;p\t1`r:T[Sp%R_>qt0[] -n)Wj-q>L9hp[IP7nbDqRp&G'elgOB5pAXmes8)$Eo'uVQo(2MGqUCPrpoXUq"!_Equ6WomHOBo'Y`)l0eEJr:BIJnFQJTs8W&opA"Xe -"SqBGlLk/V4T+^8p&+^es8)9UoCVeOo^_G6j65q%o(2PGo_%tRq"F7Rs8W&nq=a@Om-49Cq"FCI -q>^Kip$M;Drr2lr62gKFn+6,@nE]iFo^_D5mI0W>rr<#plgaT@o(i:`ru1_-mdol2lM(>Yr9r_/n+Q\Xs8)3Bi9g(%rr2pUr;$*YmeQ\N -p@I_Bq#C(!hs82BTnF6)@mHF3@rsnkhlK[j5rVuoj -p@\%Hp&=t@o&]$,s8Vo]pAb0gnE]91p@@V@pA=^ds8)BWmI0]Gp@e7Nl07[3nFQYYrrr5koCMYS -rr51]qtKgXoBbZ+mdBE2qu-?Xq>:*ir:K^HjS&WQp?go(q#CBhmHE[0qt^$\p%%bRp?_,5o`+sh -nFQPVs7ZHW#j_Egs7c9Zp%A=a'`%CdnFHASq!R\Ap%\Rep?(Q/p%&+^+T(6fp&G'dlg+'?nEK]I -s7l'Lp\jaGjnA`Sq=OOYnFZ_[H2IC.m-O$(kk"K:nFlPJo^_D8n,*+ZnaZ;MqXEV,kN_F)qYpHf -rr<#rq=a:Gm-jQ@p[n%Qp@.JCs8W&`mH`m%rr)E]lK.C-qt0:?kj7sAs8;E\q""+Xs6f+>oD8Lb -pA4ghqsX1%+>rq#C6ap[dnKq"=7LmHjHC -o(;t^q"*q8nF#Z/lg4-7p](*Njn\rVmIL2Tq -n,EX^gq&o-J:)YAFq&S8EH?8FG'J:XH?j^XrcJ0_#]t--E,]f?HOkCHG^FdbI!^-^F`qqPGBj+4rd=]n*.EBjK7\W&I!^0dI!pHmI=-BmI -sultJUi3!IXV0B!e#B@rd4Wjs*kH+It<6+L5(M?L4b,3re;5CKRnZ'J:W?+KnkG>Lkg_?M2R:KL -PUfdMD'gAL4k,,I=?ZsJUi<&JqJc5NK9'XN/`jUM1pS6J:E*"JV&K,LPh"HLjjl,L5>he)3L#>L -4Xr-L4t81JV&N)I=H`sK8,2=LkpcaK)UH'K)^B6JqSi3J:`H,Jq8T/Ll..MMMM.are;nUK7\`/K -S>,5KS+`'J:N-"Jq]&>M1^>3LPLbBKS+r3KnP&0K7nr4KS'2Qs+(*"(PIqPa@f.S!on=S=#J"Mi!7FK7AE1Q(+;4SXu4*KScJ'UR7RQXe1W4L4Y);OH>E]MhQY4K -S4r3M26kDM27(OPa@c(QB[`.Wj9.ECT*bmR?*2\Nf/dPN/W[PNJi^VPEq`7X -0Ab#PDtN[R$s>&O-Z<.VkTNLPh:hY --bF4URIF6QB75sW1fT@N/<4=K8557Jc:::KSPhl[BcX"RZ`f"R?NbuQ(F\?UTUbsR\$Ld[&K[dQ -'7T6\@T/U['$C)Q\U'BJq&B+KS"o9MisBjP*D9!PaeGBR#dB!P*VW8Zad34QB-o^O-,?UQ_LCMQ -C+/4USaiYP)"X>IXQ\EJfTW/PF8#3Q&gfZLP_.`RZE8]LPUnOQ_:=\R>urQrdlMOLldjdR&.+"[ -\8qSTULt$K7\]1O->cjOIW/BSX>V&PE1Z^OH5:uK40@bL5CeGN/j$gUoBlEO->`gOI)N/R[BG/S -Yi^)`l,NmSs5:sLkC2+IYO/bUSt8tXf8.kT:VL9M1geQUU%e[`O2J/XK/.dR%9qGR$*DfNfTEnN -Iu\5LPL_KQ]mDgJ!-7rX0K.EYFLT-L5_1UOH#-UNL[,VX/`\Kai1feP`hE&R?WnqNffTmQ`[NjW -4KX?Q^sS7TVeKNMh?tUTqe6KPbY1SSXcLTW3<%eR%UCZWh5cEO-H#qN/<@MQCF>6TW5)lSsY_%M -27LkR?X2Z^MN3UEK92@gUS+Ng[CEi`_7un9Q -(P7cVjim5OHZEAWL93FTqRm7LPCS>N0KQhQ_^po['dK[^Ug#,Q]6cRLQ/UCXK/=sSX,M/Uogo.^ -WO^=`42YAZ*11'Ui)lmSZK'%Z)j^eQ(P1PQC4\UYF^E+PbY:RObo*TN/[,tS"SXZ4;PFJ)3U8+EWVkTNCS!B5#P+Ael`P]BsY,A5*_T]TjTp^prMk-N>ZF$^(Q'Ru7U -8+co[(3E>VP0NJS"cLDQ]I2ETt%D*R$EhoL4bD>M2-hMRZ3,WLQ@t)Y-4_&]$&.#Tq8?p^qHqGT -:iL"]XOf-Q'\5GYdhQl^TOQ*T<56!['Hd6WMZ8VVR3S5XIPE8QBd2TJ;9/HO-,g,ZF7'CX/;5JQ -_'nBR?jYHW1TB=Q_L_+da,kCZD!DLR$3SmQC42D^<"C=d*'/7_S`shX -JVPELm"^Pbf[l7[B-$aM2-tYU8>!+agn"'M2$bDR&-pTR@'PCYI(^CZa@BdcH!DmTU(_(R$E_tS -ZB0&Vl[>8V4*pHTVSTbP_b4sNDG\*SXuIGSX5@mM3FmDWN!2.VOsTVQ^t7e\$)j8Z)O7WNgm/\\ -[&0-R?jGGWh#NKR%C(R[(3<,VQI,%S!KbM^;7\%]]sb2M[_/rU]""uBSX?.HVmF1[aht-IP+T2"\Z;[,WMt3;Su]TMahYEkYHbIOc-O>;Z)=.VO -H5QgOcl#hNfApSOHYfgO,f?kV5BrZRZ`l)Vld,%U84cj\\GPCQ^OVHTq%aJUS"*S\A>tra1eLAS -t_pOV5^>bSt`*jZ)b%<^pg51S"6"6Q(+G7US=EXTphLKXK&"fV58[8TV&9p^!,9gbJLd!^ramI` -jMP(O/^7GXdkE.MNF7$Tr,f_c,-`LTU:k'RA6RNUT(Z7]=#)Y_nWX`ZFdi_[[Do2Ts^taP-NEhg -=OK\]Y)/*bJUp$aM4jMSti0YO,T:$\@/9'[_g%uZ`BRUR@^Lj[AKFbV7.ZGsVi_8O4-`j)eac,@,mSu&9`Z -*^jG]=GS_W1BNVX/rG,YcXaoStD[OXKf+?];W'E[D1#.[&Tq'YF_/ZZ*@-,V4Eg0O-uf?U8P5oU -TD&;\$iQ>R#[>tVQ?S_UUA7VZDsCaW33S<\AH([Pb"\__8!n)]"5/?V6mM,Un='EUSt#ZR@B_>S -Y2mTS>249rh9@dGGDj^[&K:QR[TS*NK]g,XgQ-eaiqc9[C<-1S!0,4\]i=5Za-m@YdV?\[^!*AW -hGrIQDhI;cdg.S]!\Q3UTLi$Uo:8n\AlM"Z*M!W^:UJTbhU^eZ_!kcW3Nh?Z)On.ZF@-=VlctqU -7dp:O-HNJ^V@4ZX];[>^W+@-XJrG9e)9-:`N#PtR\[=0c+p[,bgkCsb/M<9Yb\>3`lcNNaMc!8a -2Z*,V5V#:Z7ahtj)\#6FA[CO)ZWNs4Ta3)B7YcOt<`5fd0_nrRIT:qsXZ*:XM\#QF7Y.([5T -q7dJR\[$eWN3D?d*'5?cI^7ISt2ad_T0^:]>_^pV6%SdrnMnP`OECt]WnTJ_8jmRe^27E\A,bfZ -bXT&ccWi+]XGMgYGSG/YI29h_o^V4=0UTq7X8Q_CF\R$0`QH-3Xf8S8[CNoVri,pu@&g&sRurVgPEqN$S -Xc+:S"HOVWOK^[]!JH7T:_C1Su&9]XJiSG\Z2BmVmF.XcICCn`3lM;U7e-RX1PsIW1K9@QC4>C[ -CNB0Uo'lRPEM,lR?EPmT;ecaZ*UsT_o$o;]!nQ1Uoq;3\\Q8/ahbWsXdbiJPEquI[ -&fmcR%gR_[)B\ZQ]di1S?foM^ppeXXe`>7]>VOnZ)b70PaSJU]=u;&]XbS\XdlE!\%9Dl]W8*4W -1oue\]W"1]X"H*QBdc7^s:T``j)P=U8FrkXJ`%tW`lI/]>M=`S!g"PWi)Z#^UgP@R?aVIW2Hi2_ -8=F9^::GNZF\,q^qI"GS"Hd\X1HNBk] -=b)5STL9o[Dp1rY,%\qYH+\(XKJY-Un+*OVm*\.R[pId^:^D)Kp/aZ`P0!lZ*(U[beUrt\%08o^ -U(AT[^Ec]XI5NVY,f=]`4VqM[_KVdWi)r5Yc5"G^9OW5Ydgs7VROan]sYD[YIDU!b/:fmSs>V=V -lZt2US4WcXK/7kQB[c/U8"Hb[(*EBXg5IK^rXaEb0S8H[^!$=[^s5i^UUDAWMQ;`Y.(jBQ^O)$T -t%eB[%s(ZUo1#`VlmPKd+-=S_o9I3eBYV,Y,ee6[BmKdbe0jAQCXhP\$p(XXg#@EY*blYVPgT)] -#W.<_8!CYYcG@YdD`T']Y__)\@/T@ZamQMWh5]KTpD(CY,S=qS>)O -n,F6fe$+^K@oZ8r9N"qt>?4[$<*!(%=BAL%r_ibp#Z=Mq:/4S^;Gd?ir_`_prDNSms&Attr`9&#% -9Qb9=BAO&<)lt#=^,51>n:.C>$YE??[(B9>[:ZB?!LTD@ -:3MQ@q&hS?sik=!af2;r`qKg?!UuO@q91bC27NuC1q3kB5)*qBkV*iA7T@fC27['DJj<-D/XE6D -f9Z]D#\8LBf^!ECM7I!CMIR!Ci434Ec5c/BPM9tCMINpA -S,RfBP;$kAn5IbAn>RfCN"32BkD*sD09l9Ci+'*CAqfIB4tshraHmXA7fIfBP_?pCN+??JV8Q!F -DYQ#Bl%^.Dej$$D>n?NDJsB*ARfP#I=-*QBOk^hCi401De`rtAnYpoCi=?=KT(e:EH-/JH?XIQG -'\CVFDto(Ao2L/F`qhJG'\UjL4=8]Ch[m7H['UOE-ZeXI!KgMB`;i\Df'<(A78nXB5)1'F`228C -MNi_,\C\'CN=]RMhZh3GB@kCD/F**BkLsc@;9_'I#4&LL37?LCiTGq'S;:4SsYIiIHZ3kUS!g2LOXl2P*qYrJU)TjJUr2iEHHVQFEMbKG'JRpNfoZaLmO9\It30)H ->meEI"I$'Ko1S6G]IbDEaa$.G_1g>S=,@YE,]lCI"-[!KSGGOU9(PsPDG!GGB%YHFEM_LG'.kKF -E`:kNK]g'U7[HpGBS4dLkL2&IY*64L4!uVCN"62DgmkFURIC+Q_9q?T:D'lG^bC)MN3se?_F$NG -&1l.FF&LuSYW!MRZibkL3n2sQ'$lPI&qVP093JpDTiK7AE*LQI^\QD(">N -09a1WLf?3IXHp@YI(O5VOE^,I;NHuWn6AS,h.NJs$hS=Z1:QC4%qHu\\Tr>&nT8.K'BPha2GBS.AG^YUEVkBZc]th:`RYQQNM1g8%H -$b*tM2@q$S"$RdSW&SaL5V(NJ9>gYMNX6bM1_+aR?EZ"SXZCBNfB6kSst[oJq/W6KR.ZWFFJq"N -KKZuP_t-BGB%SPMMHeBR%Bq8N.lt.N1@&U]XbJ[V2^eMb.t*QP(@jsDf^,IEcl\NBl83GLQ7@ZT -W,#u\@f;``qTq/-lY-GIEYFgc)Nf/pfZ+79EU84$EO/&;/Kn4\sEc#l9E,TT=J95aKEda%@VQ$8b[)9\XQ -^4Y\]X4DrNfg*JDJUr`CTrbK"VOj!/MiaBmNeN.FR]+*G`jr7HOaMn9IX6HqLPh_0]tVG.` -ON=g]!8*(R#cTBLn;,r`P/[[TTObHEHdP3Q^F\RTnn)CH?jsoOd:fWKmJW@Su&HdWiibF`4N"8N -.HA,Kn=Z)NLZrBS"m!ZP)>2%]Ss51hI -sHL'Q^*r4XeCo3I=?j+PDt0-YO8kRQPEqc4T9bY-Rf8UXUpIVRh;-,c\ -@B;k`P]?lTp(G/[^r2rJ9>sWJ<#b^^t6fHYE,*6LkL_PQ&q9%XLGaK\@fYiYc=b0[]limH\.Q`U -5+Q&a3rSle&K>?]YM@u]tD=pVNd1*P&l_3H%_WfXe:l[\%&Z>TpLY$QCk.QRZs2.X08P7aiMH-S -r85QK8GqgZ*U^E\[fGdUQ1.hNJWCFJ9ld2Una?FQ&C-BN096JFFo?uH&n`0ZE_$W_8F]q^[US#s$%\%&cMVj3[JUR74(KntnZQ -]?u`MiWgWQB@)gJ;TPTQ'[l(Xf&"aL4bA@DMTU2@JQ -ALE`Vm3eG]!SlOUSku`io&G2^ULGLS#*BkYdga/Y.DHgai1liUStZAaMPR%\YG:OR%0qNVl[5-T -V/9\XJM>MOcG]fRA-FJU8t]D`4N\-f?:LiR@p[mrkCt2^V6b=Tsr;"gtgN![(*r^Whli+]#2h@c -bm3"]tCeX]u%b5a1&:_Z+7NIU8b>tZbj_uaO/).VP^&RNK'-^N.ut?PFe@ML4Y/FX1,[K[FFBte -',qN]k7Dk*8[Q'[o.U9:r1U6:S+U7n'ATrb2bP -`CWkStDRKXgPRQ]=+rFWNWbG\[Jc@Q][T+R\-k!`5BC,_SjLAf@J6a[A]OTL44N)OHYloSXc(0T -Vn]aR$+#7Vmj7:R?EMrXM)9PVkKZdYGnCqV1583SWA_iPb"e\V4!jOYI:[*K6rBJ[^i`OYHFt8a -MbQnW33A5^ppSRYd(=:[%WPBU8Xou`kJjPWj07O[&Bk$\Yl+%]!n`7T;o/qS=Qh!_m?GNZ)b1I` -kJm`Tot=mStW$YSXQ.>S!]@qJU`B5Ocbm!VQ-JbUT1T.^W6B!@)^7/^p^PNWir\8[^`TCU8XfVR -\Hg\To>"iMOC]UWi2;FOd_i1R%'kQ^!+sN^qde!^s:'.WN<2)['?a?^rEjXP`qN,Trb8kT;A]mU -4nPlR\?^d\&6;(\[S]:X/f.2bKn#/X08tE\?iQHXKo(1UR[L*NKf9XR%Kh6QA^]VJ:2ipLQ@duU -5b)&WM59.Q^sD!N0Tg"U8k;kSt)7:TWPT+Zae,r_oU?bkkb>MkNRQtJcC<$`;b>~> -m/J'slK[g+nFH/>n*TN/mI'K6o(2JCmd09*mI'E0rTjRPmf)VQmf2bUmJlVSn,MnWnc8:ZoE"RS -qsjXR"7YmQo_n@ao'l,9nc&(dnaGl2lg4!*mdKZDnc&+Zo*4m[oC;>=mdBQ5nauMGnac2@p%@qIn*Tc?o^_PD -p@n.Io()>>nac5>n+$#?o'l/;naZ5Cp\4:Nnc&(loCVPDnaGl4md]rDq"XLOmdB`Hp&t!XnaGrE -n.tK\m-O-+m-F$*oChhEm-jQ;q"4(Dn,Dg+mHj3.o()56lKdj+oCV_KoBko4nacPVrqQ*TnEo`< -p%eO\nEfT5nac>Gq"O@JlL=WIrqH!Nl0@[)o()GFo'l)8nFH2@m-O?@s8Vi^lgOH;p%.tUq>1!_ -oBkr5nacDJp@Ie>mI0fKqs`t>mJ?kYnEoN&l0\3?qXj:Bs7APKp\4CNmd]lp$_D?nF?)? -o^VG=md^)Os7u?Xn*oo>oCVbMp%._@m-a9.n+HMNp%S.Lmd9H0lL+QKs((opmc3U$lK[a,nac>G -p%%S>mH3[*s8W#bjm;I(mdp/FnF,o=o()DGpA4=DkND."p%J(Qp$qP@oD&(QoCDMHqXs@Gnb)\R -q=j:@o)Jacna>c0nFZADmdg)GoBkl2o(;R'n*B6)nauACqu?Wcm-*s9s7Z!Xp?V2Oo^D;Cp@%/1 -n+#r9lgFBEr:B:>m.9u?l0.X9rsnnpo_%qPp@n:Nmd'?8rVlgUoBbu;n*p&Ep\+:Oo^hVAmIL&K -q>'p]qt]U:hrX1qna>`.m-jK@qXs@DmIU)FoD8Leq=!_ArVlutp@\"UoQfrhjQGn'r:]RElKIa. -nb)\Sqt9p`q#'sXmI0rAmd^,Lo^)&7m-3d%naZ)7nG`IdoBtu3n+6/?q#(0l8,MlImd'B=q!mS> -rVZ$FnbMhNp\O[VmHsE8n*KH-l0Id(o_e[^nauYHlgXrSoBPc3mHWlumI^8In*BE2n*TK+mdoo5 -o)AY#o^)>Pp?q>q=F.Fn+$&Do'Pu8m-O03p@S=[p$VDGn)EQuna,T.lg!^" -mdK`BrVo@bn`]90q>C$Vm-!U&qtU'gs8Midmcs37q=O%@na5f?s8W#lo`+m_nFHAPs7#C>lg!d) -q=O%8k2bO_lLON6l/h4&qYU9l&bkSQl1"EEqtBUMnFlhYo^DVTs*jh1iop(8rq5jNmI0Q0iUd!? -nGiOeo)/4MnFcJElfdg3qtfsNk5"oIlKn6?p]'sRlgjlMqss.:kjJ!.kN_I,rr2Z^o)/Ofp[.;6 -mem+brp]LPo(VV=lK7*lp\+Xao`+sZnb<"XnFcG=jll11s8;L9dnacVTmc3I"o(;56pAb0glK@9lmdfo9 -n+-2Jn`K-0q#14&mHjQ>l14ZDmHXHGpZh5Hrse__l1"]Pqs!83nb2DArVmQ#r;ZfppA"[ZpAFsj -p$(E$lL"EHs"!j,m-3^%mHX$-pAFd]naGi:oCr4^o^2)=p@[nCp@IS>oC2,6o(DYGm.LAX*:E([ -p@e"Js8W#np$Lr)lLFK6mdK?&qZ$-Kl1=iQ2YHeArUf=>o_%kHmI0`Eq=O1DlgOE=p?h/4o_S:P -n+-&=pAXaRp\ad`s8;6Nq#0sUl0eI?rp_E+q"=L\qtT[ClhLMXp\"@Ys7PpU -qtBULr:TaVmcX?Es7YgHo_.tMrq8&7mJ6VBlg3s)nb2S@k3`0Js7u6Tq#16ko'>`9o_\[grV-!V -naZ5Fqu$*Nn*'?ArVnGIs8Vr_jm;j:rV>a@o)Ja\nac;Do^_JBr;Zfpn)WNqlg+-;qXj1GlK@X4 -rr4,^Khlf[O,mGm0jqu?]ipAP$kr9r_1lL"*5qu?]nqu8JBmIpDNp%n^gnEf9&r;Zfnm-sQ3 -m.0lAn,*.]q>U<`mITu@p%\:VnaG`+lgO9.m.C5Ts#g)BnG2eHoD81Go^h_FlK7O3s7#.8oD&:a -rUK:Go'Z/Mp[n(Lp%.Y;mdpJYna>u"cnbrLfoBu5Irr;rknEo]9qYpL5o'Z2HrVliqq"OR]qss.Cmcj*6s8Vo]kO8UC6r;6Nop[7SOs82Zgqu?ZglM'l= -pAY*fq"F1:lMgelqt^3jqQrqQ-Xmd'-&oD%qDnaPu7pAb0iq=3Y. -kk+WDqs3P=rVuoskO8BLs8)^Kbkj8*?q!n(Vs).5_k4J]RkiDU?s7c0[o(r+Pp%\FarVuQVk3MamrVHEWmJ-\SoCVM4k4/KOq===[rtt1]iq*3Gq>0jUmI9`:lg=HHs8MfSnb)MQ -s!R4'mIgAJnG)eYqXWk0i9^+7o'>iBna$#Ns8)Tjr:9+8lhC8Ejm`9L&bY_[mJ$8Hn+6SZp#G5t -p\amds$ukPoD\LRnEooCrVuidnFcbQlLFoPmHj!$o(N(_s8Dumqt]UFqu?]cjQ#Lpq>C9lq![;& -lM:JZp?^u2s8VfZnG`I\mdpGXs7mu@r:BLAj73$Cp\OCPqY0LFoDeg^n+?2NXjqu?]fnb`.Vq"O:?io94ho_7qEmdpGWs![X/o)&4^s8;`iq"F=OnF?;P -q<[nOrr<#ooCMkKlM(>Yq!mqFpA"Rbs$#`)jS&<3mf2tVrV#dSrVuKVlL"BEqXsm\nbW.Ol0Rp+ -p&Fpcq!A%XnE8uplMU\Ski_7#o_8(Pq#Cp\Xa\r:ojLnbW.U -nbiF_m,mKqm.BoIs8VfZn,E@eo^hM9o^;>Em,I-ppAb0gpA+abp$D;Bqu-NulMU\Mj6umF$1[*D -s7l*Jm.0rMs#0]AnG3+`nG<._s8M`fp$DGQq!n=_q"O[]md^#EnFQ;Iq"FXcoCVVCnb2kZna5`9 -r;Q?Sm/?r#o^(r3mI9uPs7YsQnF,rGs8W#cm-='7r;SDIp@nLbqXEb3meHh^r;?9bqt9a`qsj@N -mHa91lgj?'lh(&Nq"!nHq>'^So(;n\)#1-kr:Bjd -r;6Kn'(tnfnaZ5Js8M][n+#i8nEf9*rVpm5nEfK/oC_kRo(2MDm-a`Ms8)*Hp&=p_jmMsCr;-*T -o(MhKp&4pis8W)tp?1Grp%\Lao&f*"na,fCs8W#np@7VCr;Zfrrr;onp[78.m.C&CnauVNkP+oN -r:Ta\qX!kQq!me;mf!1coB"ujo`"k+q=aLSnF?#rqQ*TmHWs+q"+"MrU]RIjn8-0m-$ -qX3bAp$h,+mdKiGqtg'Yn*0-)p%\+FlhBo3k3VmBrr_r]m.>l/JcC<$`W(G~> -n,FL,il7mVJUD]bFEDSDDfTrBG'J:YH[C$]FE;MGG&q^&E<1*$rc8!Zs)e9]s)\3^s)n?c!-nEe -!IK.iH2VpgG^=`7Hj"eAG^"K5HO>(DG'%kMG'A1VHMr3iI/eU!JqJZ*Isl_DHP(XRI=-BgJUi6" -JV&E%I!g9frd"ZlH@(#:HJ:iW4Mhcq9JqJ`0JUi9'L5(>1I=?WqJV*lP.t)esKSYeZQ&g`VJU`3) -L5M"KKReZ.KS5)9MM[(?IY<]EP)b9JI=?ZuK`6]XKS"`)JqSi3K8>MRS=5RsKo(eLN/`m]OHGWa -L4Fc*Knt\KOH5B[P*VW1R#M#s2NX;iNK&jNM2d[`Oc+j?KS5&7M26h9J:W<)Jq]&?L51P=KnP,5 -Jq8N,MjC$6R[9.rMMR%Are,cRJU`,sJ:iW8Q(4A/MM6V4KSYMEP+Sk\Vjip5LQ@RYN0'6gPEhK# -PE:caLPh=hUR6jeKSPA@O->`bKnP,5Ll.1RQB$fVLl7LfV5C&\R$L4P/>N.ut,BR?NbtSuT&rTokM%P`q;qQB[SsS#3Es[BcWsR?inmNJraOLl%"HMi3%ANKTQn -S><$cYb@,6M2[acPE:ifQ'\)4Q&^QPM3!a^T,Q(>.WS!K>%LOb,5Kn=i,JqJf7PGPLaTU1b!MiWsZN09^1X/)]#Z`0LhW33+l -R$_u\Pae_e_7[+ZYH"IeMM$S7JqJc0JVB&JS=Q"6TV.aBS=Q(1NfoinS#*6s]sal/Oc,9dQB-rk -V5BWAQ^jPCWi;\VM1^D6J:E-&K8GVMR@p.#:\UR$dmKnP,7NK9-[P+JSNVkfoOP)kQ]NfJpJKn=c&JVK#>Q^X;,SYMX2M2[FPN00?h -NK99iSufU(b#H3[RuremMM-J.ItX#YTr+oqYH"FmTq\9POGAg_T;o?6\?2EkXJ_\ZS"ZUQQ&gl_ -Mi!L\Mh?S6L4k;=O,SpPMjC9L^W=U7Wg8QuLlILVMi!:!N1-WFVlRAIaND/lQBdu5Ssbq-Nf]Hf -O/f[qY.;Mh-VBQ("22Q_gUTR\$L^XgP1"R%0hCTU1h$O-PuiK7S]9S"ldUVQI)& -S;rD^MO:ELVOjWbWMqhMT:qmKWOTL^]sP\eUT2#K^p:2BQ&CHVQ(=;"JqSl*IuBJ]Xfne0[CNo\ -\[8$!S>E0WM6&_U61%[MNap5Uo_&8Wh#TH -T<#9(['dBS\ZVTuVl?o+\[%p(Y-=\#Xe_>JT!"oYTsD/5TSA;bT<"]JMNX'bNg$NR\\"uR_S3:U -Z+IBS^r!acRua#,EiSXPY$P)Y0SNK/s[R\$%< -R&J!Pa1/C[Z`KmtYHb(%SX#4rPae>9T:qaEYdp^#S>j':`PB.cX_t/.NJs-jRZrntS>WHmYcY"+ -WMQAYQ^XVDTUV=:R?sJASX5qDTrGB#SslCLSsPe<[):&8aM,-bU8YK?[%s@`P)>3pXK]%:Y+UuA -SYrB_X0oOTZDFCnSsPb?TqeEPOe0%bSreqlN/*(@L44u6M4:)qLl%(RS"upVTrPZB_R$8BZFRTR -Un"'SWj0%@X.YiISu/Ws]tq.WWLfieZFIQXXfnt1TUVa_X08IeMj'[&M27"JOcu&rSZ9-/ZDO1\ -R$3]!St240Q&h#pVm*VA\[f2TUQ^b&VOj*L=X/VGJR]NU#\$`El$_RA?ghWg\j"MjUd%V4sriU6^t5WMGlOVld24s1f5US!B(sPE_B"U9:u1URe*WYl:nSXJ_tsQAh'+ZG4Ao^:_.t -bg+AM`5os2Z*_[X0&P)TUi4%cHX.koCS#EKmZ([_dZ+RfSR%UUn\?)F!25[FQUTMAS_nX4) -WLp#]R$jYHX/VnhUTC2YTsVbSZ_F(`RZihqP)u-%S>;sRVQ@&*VP0\[U7eHb[(X5odFcRX]=P\n -bKe>KY*P'Ga3(BMNJ`^[T;elsaP"q[[@X(^Ob\maT:2=EZ,=D_X0B:O\ZrHN]=,#7O-HHIZ'poa -eD8m1b5T(B_8XF0[BHs@Yc41bR?!#\R%9\.NLZr6Lln:A_8XO>b/qZ-Y.)$KXfeXn -Su]WB[^*E^`k/(2QDqF'\@/W6^X1,gskMOt9Z_j4eXh)U#`OF"9f/`kfKrWO0R^^qR\' -_ns:.`lPQgZG3rHUp[81\[A]J\%8?(Q(=ta]",_dZFdcRWi`P,[(a,[['.Zr._W'eUSP9(W19?M -VlmD=]Y;>!X00Uui7uVq^ppVKUTM#5]Z%Xl[CaAurl/oh[^Eikc,I<2^9O>uR@9bJWj]sf[]QdJ -b.FRHRZa55W3)tlVR+%acH4)LdEKA%V6.>JaMu,s\\,&B[`mCahqQSnXg#RLYH>(B`mE>bb.b6j -^W".%`Q?9Mc,I]<[CjJhZG+Jn]uJ.1ajS>>ridlQW2ZqiS!fV0S>2sNS"[%"`4iUaaOo(g`l,[% -Z*C^EXe(f@OcPd&YHNGQQB[]1[):)5f$haW]t_7kZ)jq.\\Ptm\[8fSYHk[HXg5(*Tqn?KRZWGa -OHc#pQ^F55SXc=KXM3!+_R$2;WNDteW3l3lT)G4bf7K3[]cQuQ'Rr]tC87Uo(6,b/UoiTq/?s]sb/LYH+4`T;8B`YdUX*T7!WC^:^A+MO:ltbJV--[ApCH`P&je -[^Wuoah>?nYGS5$W1BW\Xf/eJ^V$YX^;S"'ZEq*]YbeeK_R?V>W3EA$Wk$3j[&gU=VQ.8E]XbMV -Umd[PVmEn1Uo^K$Z`KjdOH>ZnSu&TqZ`pU:[_'Ap`l#U'^V@7^Y-5$O\@]Mk^:(#7U7e!FV6mb< -Q'n)3VmE_1YGIeaW2QJaX1#a[bgXbI]YhS(d*0#&V5CE']"Go#`jMM-R%C7^]XkGOYI;!LT;/'K -TsMJKb15%ibeLHjW3s[l`O)hV^VmgkY,e_=]Xb;FSsl.?R[9\FUng#IS>`'GPE(QbSu900SWTPD -UmRO?U7IR9Tqe]q[^rZYdUsFZbjA_[(=0"e(WBucJ%OWq18Qss+13ks*t~> -n,FL)gqB/%A62Mt928Dh=Ar*r<*!(&=]ng*;Gg:i<)HKj:B=9hr_WSks&/kos&/kqs&B#!!*B)# -!EiP%=8c,$<`iL.rE]V4>?Y07r`ok9>$+g,=BJ^0>?q,4ra,V3s'l1@?sd2Er`]t>?!U]>>@V,N -@:NhW@:!8G?2Rt-?2e+/>n1CT@U`k[BPM6rC1q0iB)ZKDB5;*jA7T7cCMn'.D/Oc -rF[HhAS,OeAnGUdB5MU*BP(sqD00f7C27X#C1UpcAnbsh?XR;OA7tmT<,#oSBPh^6K7\JmEG]<$ -CMIa.De`ltCMdp,EH?)8Bk1t"G'7k?ART+]BkqO%D/!WoAS5^lCMe'8J;/`(F)Q,DG^"@XI=6Ql -GB%>/BPVL-G'a.4Dh!FsMh?.iD/FNLI!0XTE,fuGI=$*QAo):#Df0E*A7AtZAnc%#G&VG>DJNs# -C1h-lCik)\OG&(.FE)8:Ci!j$BkCmb@:a.jFFT1*JTYgFC2S$4F*ie5SX,.eIrKLRFE;YSIXcp$ -Jq&/oH@BpYIYiu5DeG^=jbF)uGIIu9JWP`CKJI!C$bH$FU]J;8o4JV/`7 -M2$Y.F*rb!IsH?cI"@'0M1peCLk'\gEH,l4CMIU'GC4acJVJ_uD/b5rS?EcV/#IWp-d -HZsRTI>!<.KRe?"Oe%hsKnbA;Lln*nNdl1sI!pKjG'.tSG'8.WH$4I_LQ.LaMMRIVL44W(J9PmQ -GC4pkItWWJ:ENEQ(".VQAp?5BkM-j@V'4fE-?M[Mhlq2I"$3VFG#6iD/aK9G'JIhMiWL8Des3&ASZIC -NJrj`VQ[+fM2[IDEc,Z-CiOWGI=-[-Q^O,%MhQV*GBS1QE+s*$B4l%#FEWItLP(DCKm%ZeIJ&T;J?_SWJ_gOHPWUI=$I!Lja>\DKgboP*_T0 -U7@*gF)l;OPFIYjOdMN,Q&gr^M/ere[`cIn]W.!XZGO)ITTanIDfL/XJ9,LCEFrp.IZ'VaR\6U] -Z*LU5P)>*ZR%'D'M2m[WPFIquR@Th1KR%Z_D/+$;H?=RsOHZ'&USF?EP*qPdEH$,QR@'A6Wi2DH -MM[FaVPpGnYHkC/QBRc+I%mF:U61\4TpqdLQ@saHSX5D(W2ueUFE)P`R?W;OK7A>pI@$h3XduN& -\#cO3\?3!CZ`BLLI#O,PWO]m\\YuO&R@94oNLZ`CRuiJXI!cibN0'']P`:]uX.,05SuoQ7[BQ9pTULdbH@c'I'7kt(T;8B^ -Tq.aCR?`YbMNO*`MZ/BRKo;+NK8c1^S"cF1Llmp^M2@ImZan)gZ`KsiSZ0,oOc>-HH$kgHUSk)d -Q%aaGPEM3&Wj&h'Q'.5bKSGn\R$j"eN1l\rHZs^XE,KW6Ec?#MLNRTWG^tgBSt)7F[(a)MSt`Ht -[A]FOOI;Z:Y,e+SL5'T3TV\]pZ`0FdPF82CX08V!Uo0rSOI2i8U6gFUI>*GtEcZGPJ:rZ;Su]&o -T9kY!KnP5?N.l_6I=I-BTrG2sYHFglM1^JHNJ)tFS>im+`5B6oV2otJH$XmmNKfm-\%fPjb/Llt -\[JQ7U7s!+LP(8CXM;QZW2?,EIsQ6ERR[K"aMMm^lWN`LsN0U!/SW]"tTr4lfTq%O?T;Ss(Y+_D\WN`b9Y,%PNO,/41 -JrGb[WNN+dMLpYJQ_Kk'H?EnJLm4R!P`qB,Z*CL1St)CHUnXB7IYX/MMM?S:RA6@;Q_Tb!I"Ifo -a3W&M]t(22P*hVuL4P;PQ\ploTr"fs[]>:9H?t!kKo;J$\$)HiQCY"SVPKcJPF-rIJsiLE^:Lnc -\\Q;-J&K.;`59$eZ+e;n]=GAWY+_,TT:r9p^Up_:L45)VYcadqVQ-MaRAmpB`O`@YYd_$H@UmBW2l_cObJ@ES#*$]R$3u7YHFIPO.WJRT9kk1S=GtE^W==) -^pK\sR$DqG`P/pn -]=btt_7Hb5M4_2dSrS5BGC542R\[aKbe^QNQB$Q?HAIT=Ng$&UQ'n^RB*6I -Mlb(Qf[qV"`PfF#]=keaYH4=YMiEshRZNJjW4BIN,Z`9CLJqJi7MjL3=VkfTSXKB%U_Ps/mS"5_&PaA,6PD=R2IWLLA -SWoY@R['YQWM#lWSs5+cM3j`tN1I;hXIu&FPFS2DVP^`2Tob\5ZF[Q^_R["OR\$=EO,J^LN0Kcq -Mi*U]NIm%YRZ38\NKTTuUSONgWMc>EK8l(VKR%ilL5hIsXKo19Y-GF9T9+e]Q*80>[C(Is];q[( -\[o2MWN;qaP),0u^rjmK`P]HuVOa?USWf8,TV/C$]WIm(Ye%WcXJ`PI^pTr#Q^t%^_8O*uXf]%H -\Z2R0W2$#TOFhn2NKp6;WMlo*_8OC1YbS,'^"VK!d)2rUO-5s/]#r..b0AMriRZ2h^oX<6^;Re" -_ScDj42JhR`Nc>A]!eE0[B-aDYGeG&YF:Q5PbY=aYI^m;['cm.VQ-Jq\?rTIXNer"X.u)MVP]fB -NKp*2XT#OC\[8'.`nB>.cb[8uV4O$KXfSkB\Z`ImPEhl>TUDFS\B2k3`66QP]q_@%[(X8h];)^@Vk:*-cf3j:d_2Z_]?TUQDqF5b0nVT]=GM^Z`L(#W3WtBZ`pC/WhZGmVkBcXQ^!euLl?n0 -H%:U're+F1N/ijZQ(G.n_muhDSXQ"1NgZQ8WN)blZEL*pR$X\^a3`5]ccED_PEClfQE.[0Yc+(R -Nf/gWRAQsSN1$0(Oc"sJJ;Sr-KU&7+TfAX-AO$MM@Cr]""l9RZs,5Y-u3_Y,&+uRYm,oVn0moc,%!$Z)=(fXfo.K -ai(3NQB@8qWP$9j^UC)-LOXVqP-iNlgr[%)S!K>(QBliWOd2,nRAR9uVNm4/SXYk#Q(XnHT:;.9 -USXff\%K;i]tD"cVPL3']YM+ZQ]I5qQCY+f]Y2%p^V.J+d*BVE[&Tg`LP(;CSYVmGQBRPiSu8BS -OHH9EYI:sXL#:C\[o)HTq@j>OI)iE -V2:4qQD(C]USOP*;9+W3ED$T;8TpXH&F, -Od`Da^;\LGb/h2tYc"kIbJ($QWjK@EX/ejkXgtg@Vjig.Ng#EYP*hN!QA^ubKnFl&JrZ1sWK)Uo -SsP4cM3*XIL67[jV5L8hU77:*Q(Y"LU850"WiNJ@aj8Sfbfnc'p%X+ -m/J%'nEK6+n*ol;nEoW0mI'K6o(2JDn*KB,mI'E>m/ZSRmJcPRn,MhUn,MnWnIkHcp%J.Rp@\%J -naQ#:nF?&Bo)J//nFH/= -m-O37r;ZEZmd0?1nac8BoCDG@md9H2m-F07p%7qKnEoW3n*orHrr7B=naYW(nEfH-p%\LbrqlEZ -mI'B2pAb0in`oH/n*]]9o'l)8nF,o=p%A(Jlg!d%nb)SKr;??[mHa<5o'Yu;q"jRMnFun]s8Di` -l0nHFp@.>0jm)=,p%.bIp$q;0m.'Z9n*]T0m-X$'o_SFUnET36s8V`\mHFNIIe2dkr;#[?l0\$9 -r:oaJnFcGCn+?AImHNp(o(DbQo^hqZs82Wdo'Z#Ap[deBo(2D?lgF<0mI0Q:p@n@PnaGo5mHj$1 -r;Z]hp$h5,n+lYDm.UAGmI^GYq!-r/o(D_Lp%7e@lgFH>nE]?,o_JOeoBc5Gn*BE9qY'CHs7$Zf -lg=9^Hir:TaXp[[qNs7u9[s8ViZn*K9&lg=64mdBcIrUfIBmdTc;o'c#4lgjc>o_e[[n+6DSq!mkF -p%.ePs8VrbnFlh[q![Y>nF#]/jl,7cqu$6Zo_eRVs8D]^mHsH7lhUJYGPgprk3r-Cq"=7WqWm82 -p$_GBp$qJ:nb;qNlL"-2mHj-1s8MQSnbr%BlM:GPn+-5Emd'0*nb2VDlgF92mHX69rqQ$Squ?]d -mJ-_SmdK`=o'l2;m-4!5r;Q`rrqlB[naZ2AnF,u:kiV'qo_/=`pZq#0m1/:Ho_7qDlfmTsm-sQ= -rque"o&]!#o_8%IlfdU(r;$-_q=jOMlfdj;s8MZ\o'5K*mdfuBo)/+Io)/Ofr9s%3kj%?em/I"Xrr<#r -s8DZ\mHa*)mI'E3oCMJn+-&;lfdX,rVc'sfr:fdOlL4<8o`"M5 -lMLVWpAF^Qrr<#ona>r=nEfW:n`fTDs8;foqX`t4q#CB`iTU"3mHF!:rt+hqm-=qXX+CnGW4FhWFG/rt"hpo)/IYmI9f?qYU!SnGW@d-N!/kj6#e"md'3+mHNp&lgFBE -s7tpFnF$#MrpT7Ms7ksHo(`.^rr6^1oBGK/s7>F?oCV\Grr)ioqtfdAi9p=/lg+0>rp8b6qY'79 -q"!nDlf@^CmIBrHq"!q?lgacG -p@IeAo'H&KrVlfsq>UC.p@7nWrr;]Sj6lmGoC_kOo_%kIqYpL-rU/b*lKd["o_A(FmH3Kuqu?Tn -pBpitq!RG4o&\Zdp&=slo_8=a6hBO$kO%m8rVuons8W#nrqc$Ln*TE*o`"mhp#b<*s8Vf^p%J%N -q>C'Yr;ZWeq"F.Cnac>Ls8)?Sm-3p/o^_GCrr)jZn`/p,p@7\Ho]Yo6l0%6nmI^,;j6ZO9q>KgH -lL=6,pAb*bn*KK4o'l)9p@@D7p@IhIs8V`arVZKbq#::-rU&b9pA4RWpA3t:oDegWjm27,rVlg9 -qsrt?p@ReB!n+m"`qZ$ThnFQGQrVuor#PdcNkj.U*r;Q]toBc,Js"!p5kjA*Arq5pX -o_A:Sq>'^RnFQMVr9N;'naYo+j6QRAs7>j[rUJt.mecn])uK$fo'u22jRE-ElfR[,p&"dfqt9XO -o()29nbrJIp@7\Do'uMTs82fqn)s0:r;?Tkq"XOVrVuilqZ$TglgF]Ns82BWqZ$E[p%%YKs8Vf` -mH33bq#::!p\b'gna,rJp\s^bpA=jbrtY=to(i=cq=="ClKRgDpZq26 -rr5@ZjQ,t1qt0X_s7lEXmd9E8q!.#8s8;N]p@eOdp[dqGnEo`7md]uFqu$6VmJ?k_n`B!6s8Vrk -r;-3cq=3V.p&Fdcs"s]Nn*TuJoC),>q!mtUs7l3Zq>U'pdp[IqHjPJtco_8C\ -s8VcQjQ#_.rtG8.p[.;pNpA4=Co`+s^l0[p4r:U*cnG3+Qj6c:6 -s8Dutqt^0[pAFOLnF6)Err3l-lgOZAlgXlLm-F0/lgO`Ns7lTerV>X:nFQ/@o'>B" -pAY(Wn`Am's8VZXqu?]hmI^>Vs7l?frV#aFl1k;Yp[mqKr:ojPnb2JAo_nUSq#CBekNVO1qu?T] -nG<%Yo]PH+q>UC3qY0(5nc/Xdq#:-gs8W&ckN;$klL4<5nb<%_(AdF_o)/7^s7uEcp@[kJr;6?d -p[eFarr3u8nEoc7q#CBmnE]]=qtp6cq"Ne4p%n1Bn,;eRqu8;Co'GlBs8W&tq=OXcn`]9&l1b5Q -oCqeQp?h2;o'lVPo'c#2jQGn"o_SUfmHjcN/,B&7mHa-.o'Z5Os82N^q>0j]s8Vodp&"^[lh12U -p?Lr6o_%M9s8W)hnG`Ifmi^lSlLFTAlJCRgo^i"\qt0IPrqcZnrr;unoAfE6k2Z%2rtPJ-lf.7, -p%\(@mf*7cqu-3Slgk#Qru(e8r;$Bim-siCnc/Xep%ItAnbN"Rna#cFrr3T$o_.nEme6SRo()MN -qY'IJr;Q^"qXsXWp\Omh6hU$BoC22=rVuoin*000q>:$fs8M`_p%e@Jm-aB5o(2JQq"aUMnb`.M -o()&1oChbIna5lCs8W#cm.UDVo^1u7rr2p8na,K/p\!nDp\b'kq=F@Zq"+4Kq#CBkp%eUe4neC6 -n+?)@qu?WpqX3k7mIg;Ts8)0So_8+Qp@@YBlfd[.rVulsrqH!Ro_8.Tm-3j+rVl9Up$Cr:rV-!^ -s!%1(p%n:DlLt5Un*9-)o_84Ys8W#jp\=:@ipcpEn`f9$o)/Lop$i"Yn*KK(kkP/W$2XJqqX`tA -p%A7]rt>(omI9`ApA=LRp@n"Bn*]9&qu6UArquN^o_.nHo]P]9nET?7s8W)fkNqa3o^2,=pAY*i -oBl>Oq"jsh8,E2as7,.*kjSEHo&\rsnE]K6rVZKboBu#=rr;olq#(0lq!.#,nG`IfoBYc2jnSfI -o'Z8Ps7H*^na5].nbrLcmcWZmm/I##p\"4SlgOB4lKIj>rU]UQqu?Q[lKdpJrr4>EoCVD7na>c9rr;]hqtBsZrr)lsq=OI^s7#1Ds8W&njQc7*oCr7a..??ho]kW)k2POj -o'u5 -mf+r-JBi#C_)LI"$TsK)UH-KS"c-KRs,Srdb?,JV/]5M26n>rdt0$-A$o*KSGGI -P*1oeLkUJ2It3-)KS+l.K8,2>M2@%GNK9*YLPCG4rI7LkJq\u7KnFr)IY3E4Mi3IQO,f-QJq/E- -NKK0OI=R')JqJc5MMd7DKnP)1JqJ`+J:N6*Ll.+AJ:DupI"$U%MiNgULkUM9K7\Z)rIGo>K8##3 -Jq8W/K7\]*It!-.LOjr-LPLeCK7SXRK0+U5ItEE0Jpr/uJ:`B*JqAN$I=[!*Od_SrL4k&)IY3<0 -MMQn8JV8`2LP^nFLP120Ko(\CKn=`%It7KK -KRnf5NfoWjPFA#5SsG7eKnbeZP)PE]LPLbJPE:`VJ:`E,L5C\=J:N3%Jq/K.M2-qGLkUK\KFNQc -KSu(bU6LduLkg_=rIdXmJq8E#J:iN/N0BKeL4b#,K8,;DPF\VMTU(_'L6.X_Ng#m&Tq\9RR?Wks -N/a$lT9Y7bK85;@NKTE`KnP)4LPq+POc03oA;Q>4Sti0[Tp_()PEM#dMiO$gPEM,sStVaGRZE2^ -QC*ktLkpnJPaRu-Q^X>*M1pbEM2-h?LPUeEKo(nWP`:KTOfQ+"URdj=Vl#uGQDC4:MiE^TNff?X -MNF*fN/*.FO,k3UNW+_:MMmITOT(/]N/`jWMjpB4 -R?Tq.^IX/VYLKoD(UPEM)kOcYWeR@BJ'Ng#s*VPorISskh$O-Z5uN/s*aOcYit -TV7j:Kn>/JTq@O-Q)1U[SXZ.>R$*VrQ^F#$R\m?t['$-kR$NbkNerOGKnbA>N/s$KP*VH#R\HU_ -[]#CJOI)?!P)kWaOH>`nPE(BMKSPMNVRa:CY-bdT_7HhMW2Q5US=Z7:Pa@o1QB@5dKmnT0P+&;R -Z)XXiQ^XA0S>X--U7IpGNIQ\8JUi6#ItEB4R&-gWR?WkpN/`dTNKU$>Z`U@9ZDX:eUns]KP*VD? -R%UXs_RckHV4sQGMM?n@KS>/5Jr#PaVP9QNV5'KVU7.7*O-,WfTWb]4^qR.GOG]3kSXZ(;V50B: -QCF8:Vl$&LN/N[TK7&6*MM[1FPb+A,MijHhKS5JPLk13XL`DA:QC=;,Lk'u,JUrK=Tr=cZU8tQ' -Ss>k>Q&:@rL]E>3NGa]>S>2pYW26/QP)bN\MhZk>Jp_lmKo;%`TU_73S!]4rPEV#cNf]<]O-Q-- -YJST1dDrJ[OH,?XK7AB$Kp8:)USXofV4jKSVlZniP*;<&TVeW_SX5S:SsXK/7uXfA;&^;e[dM'XfJ7dP,5CbQ\:3^rh">0\&cb-YHY")[(X&O -T;o6*Y,J.lVld>?\#-(/Z'qJfTp(Y3Y,e:t\?r9,N/j'kTpq.*R@9Y0PGYe#^T=fT^UgeWZ)kCL -`4`:@NKTa0]#W(>agJRYUSFBHSYN?qY+h8AJW5ngXJ:l6NfoctPEM/jKDp[GMNaHoNg6$9bgXPD -^9b2OXg,OQ\?Mp%P)kiuV5']UU8YW4Tp2"F]"kk\XfAV.TpCt0Pa\),NKBg=]>;"YURdsGSsYe. -Q^s-;`n&8G[],dgVn9%%Sp-]iO--QQ\[JoOUQgb+TqJ!S -Zb4#OR@^7IQ'&#@V5KrNTsq%jMMI%FKnP/6Mi3UfU6(7nPEM<+UnaQ^\%]J[X/`>/[&fsiS=lFI -W2lefR$b.R[&euQBmr0 -U8b;qSXH@\ZEUL%Oc>ThOeB+`UmdO2OcPK[OIMc-U91GkW3j"6XgbgJZEh'\_6BJnS>WNnY-"g3 -P`_B4W196HR%^[m]t:JDQC4>8S=H@RW2HG^Q'\/D^TsuJZDaLoWiieC]//]>i7Pf?M@S`5g$?^VIq3 -]3ucS[$)M[\omlQ][8cMMdLWR&I*cY->IKZ)!t`TWGH/^;%@tbfIQ/[C!?UaMl!%R#7TS -aLS78O,fBlU85$6f@7gGStDR>N/j6lOHlLRZ*#YMMn1DahGI( -^VI:YTUr'aXJVS]TqeQdUme!ENJ34PQ'.8dPb=;"P+&MkccaJWbIap]\[JB3ZF6L#Y%Y\i[&gOM -a1nO;R]s]E^:1,3P*2*!QBn8O]!%frW3EP=a1nXNS=ZOKU8OfYT:VO8Odi>TWM$/oWi*8sH>WM$#^Wj&P?[AU+1TUD^^`6-3Fa1A^lZ*LZQUR@I5Q^XbTX.5QITq%=8Wi;PZ -US+0OXL5C9^q7.ZP`2*1[&BO^PE(]fR%paaWirtI\#5CFNhj>4_SXFCaKhhN^;e4.]YD(`UnOj- -g"k<2aihf?Z`UF6SslCWYGnnMa0r"L[_0Gp]reDC\@K&PUSY-)`5fj3]Vqj<_oBF'^UUhf\uqTg -PF.c0Wir\9]uS13\u_^/\\R"^gXXKUW10ct`66EG_9gQ[hVm),^Upqb`Q5a"ZbaW"_nWq$`3R%s -ah"UV\#m.<^fS7_Vk9KS[`6M4ah"su`k&La['IEb\[&QH`5B$h['6X>Xf/(nUS+Eb[_'8m_6:)a -f�,`4rd^WN*2.YIDKm`50:1aMu6C9Vl7;UeDAm.b.+CN\[&WIXL6*qahYX#YHG@PbK8,Tb0J/M -dEK;NBi -WMZG_R%0P/S>`g([_0,WZaI -W49.4Ss5:pNK]p2YHY:<[_Tf$cHjSE[B6^a18[r`5^6O]R%BhCVP(,lTUM(+PaeAV\tG(KSt2=8PF%SuQ_L(M -YHP+5Xf%b^)5F79XfJJ/Y,%_aW3NkP_n*Cug#M)Vmem$7s+13$s31Ln~> -mf+=\q^^9i4nk;c6On<``C+=]e[%;,U=l;>X/i;>sDk;>jDm;u]hs<>&A8=^#$5>$5!1 -=&r=%<``@'?kH??<^Y5>lJ%.@/jU5?3"4,>R4PD@UW\T -A7B!F?iOI4?2Rt-?3atL@UWbXAnV*V"_VCWAnP]NAd2paD/O3+C&VcFAgV/)Ci49:H@1!\F),K% -@:H[9jPBkhF"DJj9(@q&kXAS5^pEH-&?E,00&CMRX!CNFiUM0sSj -E,KQ/C]8$qB4b^b@V'7hDKUDZHZEtF`_bMG'@tIF)uJKGBAFlMM?_6J:-[^<05U7s-/Ner^UNerOKNJiF:GB.G/C3+`UP+A;;S!&bk -MhHnLXIbQ4NehmjBk@9QF(8`nDg7&&S[S9Chd^$BP)+*MiEXJM33jRP`LWLG]n@\H]F_qY.2!>K6)$_NKK0ULQ@@BH\dlJR@9J$ -J95gQEbJlmD/jQ9E\2`sL3mueK6V3LG^OLGDg-GOH@CI#Lk9hgCMRTpCP%_=R?X&4W25T2Mi<() -rbcdrF*;kVH@h$J:E9*H@CL"IscWmH['skMjUHS`P]X) -TSIoBG]7A0AS5k,N/`m^Q^O5+Pae>=Q\BX0LQ@mtTpgphHB`4Fa/1WI".!9Q^FGM]=c%gS;W/^NeW%4H$"=]Jq'&cXei)#V4='@ -NJ<"5H$47LFF/XrMiOF'SH-,FEiG&RZNDi -R?sG2Q^F##TS(ai;3$YG@VSP)>aALH#n:^LkgHZI!p-PD/XB7Itr]+L5i(Me&K&6Y,nOq -Vm)^>Kn=u.KS>)-KUAgI\Z_ZkOcGNbM2$\')Lk0o%R\Zs`J#fH4KmSK3MiO.'Za-!W -NKK0QJXr7"S)pU6UXtQ'@c3Tpgso -JW6.qWiDqjS">h2TV89cWLfl`VOsQ)(+DSueueTrkAqV5UZ3\YbOFNgcQ2S=H.)KoVUi -Mh[7LPbG%YWM,Z9O-GiiO-H*&SXPb&OI;lSXJ`2'Un49WWirY/UmmX.Jp`0/Q(b4XH)@0pM2djl -Um[-iGC,"%Q]d`.U8Y/jWi)P]S"HX]Sq_N=LkgM-H\@ZXSW],(R#m)_UUe@`b/_N:Xd5!/Mhce/ -M40imNLHZCZbO8[P_FR6I!^I+X0B%:UQpn%R@0P9Q&:H\ItaT;AHhZ)=%SPa8#AYI;$Q]u\.([^*->[(O&^Y`sg+YdLU& -KmS#hJrPtf]ZeU6X-8NuJ9cKpL44f8V8:$PU8,*)ZDO:hSs,7mNKKO%WL]H_cJ%(.f#u:U]X4rF -V4!C$M2mdgTVJ9STs;GMFL.a3YeI]OVkTZNUSjiMM2[dp]ZJ4S['[6D -Tp:h0SX>S!Ocu*"SiWYQ__1(Y,82/\ZhKU -MkRVg\$;ZgJUN!%KS3'^U8joONh3/JZba/FRu`i'Q^F8/NK&mPJ:ZfWPE(?TR[B+pPEV)m -T;ec]Z`U=%L45)JTp:IeJ:ER,`l,^-WiEK,_Jcul[]HR5Wh#*#JV/Z: -S#33k]ZJ:6\u;6sZ+JWFdEBA.SrK#2YIh`n`6cl_ioSq<^U^PR^Vmgm[(sSu`507*_m$Vf`ON%R -\ZE6P]!o/VZC[DJS#s<;]Yh._]YCeRXfSS4^U1/JYJ\/^X/fm/T;S?OR$sG0S>NNt[^rrDW5R0A -hTs!JXIkuPUo:/n]u.Uu^;e::bKn/@]uSURageacY+Lf=S=cUGT!Q/?XK&nNZ^dA@KTDk2Z)F:k -[(X5qcca>Ha2kZq[^s2e\[%j0YG.b>[DpJIg==?TVQ$u)YH"D$^raF&\$N*6ZbOQ#bf[uNai;TF -[C*`UZ+\5m]YVG"b1=kIW1TlfXJV_QOHGQ]Mj'[(TVABgZ*14+[Dg>2aND]A]!o5WUm$XmLP1AA -S>fK85eeTU(_%Q^seD -X2DreVjj!5L5DM+Yc""WPF/5Q]Z\@%W3;kUNgH-/^Xh)d_n3@ZTp2+EX1--o`3,SiN00R-[`?D+ -^os/\IX-$lVo.0>a1e^NR[B;$PCeUQOcGX!XgP'ms,;DfP)t`eQ^jkNV4XlqRAI3t\[oA^\%g#-_n*+SWi);EMija>]sF;iLPUVTVji^#OfH"$]=4Q)SY)pk -^q$SDUnaj"`42hDUS!6pNfoQiUTgbjSYt*[B[3LWMt$K[Ap+(YckCO`Ord`WLT9A -P)P^'XJ2\qWjT%D^V[k%\\5u'YGAMB^9b#0SYDsXWO04@S!0G>SXcRQUSk/oVP'QbWO0:9T;%dS -UR7!oJ:E--QCt+SWi`P<^W+LCa1es\XKAFuWj9"B]=u(r\?Mj#S8+:HO.`PTQ^FDFYH=t7Z)+"_ -U7e-PUTLr8`6H?5[_T\qbK./pTVo!#\%TPk\?;X!R?sJAYc+1]SZ/s$T9tXsR^L,Sa4&VecbQin -X0]X`];M@$[CNK:U8G99^ppPBSt).2ObnsUN]rYmO.;MsMhQb:NKL->Oar7OOG\U=KS+i0OcPm' -TV8*PR#-QTPF7c'Q_U.>QC+DIZ+dfVZG4lDh -li.[lkiV7!n+#u=mdBK0mdTc:o()>>rpBIJ!:BdRrpKjVrU9^S$hEo^p@n:Ro^hYDnGVe\o'u5; -md9E0rUC*]n*]T1n*p>I!:g$W#4_9ToCMDp\"1M -o_%tNoBu)=o'u5@o^VJ@nac;Fp[RhEn*B9*me$MP(%^q_nFQ;CnF,i6n*TT6o'u5;m.9cHn."gP -l1+B8m-=$0oD&"KrpKmUmJcG]mdTc8mI'E3nauMKq"4LR*r5j9q!dY:kj%R+oCMM>m-O0/nF5u= -o^_P@md9E1rp]sU+n4pgmI0H5n*TN2nac2>nF5u=oCDJDo'u,4lLFTAq>'X]mj%5bl0@a0p\FRY -p\Og]mHX*.p@n(DnEoK,mdp&Co();?nac\O,Ob'ho'u8=mdBT5o(2G?mI'N7mcs$%nFH8>m-; -lLk,Flgt/Vp?Cc.oC_eKq"F:FlL4NDo^;)5oCi+^oBlAGm-3p4rr)W[n*]N1pAFsep?q&'m.^PW -mH!U-r:faYrVcN]mdTlDnEB$'qZ$TknEof;m-XB6oCD>:mdg#Jqu6WmoD\:prr;i^meZt]p$V54 -l0@[*o(2A=lMfuNm/$b^n+6MX,Q7<,nb2YKp\=@Im-sK/k3;L2o'P]3o'uDQs8;Q[nb;YEpAY(s -p\OpiqL?no]kZ.p%@kB -mdKf;mHNZikOJTNp%%hRp[S:`qs`tAnE]?7s8Muss"s`AkiD4/r;HZhqtKC;lL4*)m-sE-m.UJX -o'5Z8p$_53pAb'[l1+Z@lK7R/o_%qRp@.JKlqQpCoBu&:n*fW;rr<#np%S:Tn*]lFq"++Lp%7kG -nEoQ.oD/.Uqu$Bgp[n"Fnac2@nEf<"m.^MTp@.>/kj%L.s8Vudm-nG`G-qt9[MkiCgelLONOXkkkDZs8Dios#^5Rm,mO"oC2,6o(VqQ -qu$*Plh:8Qp[IG3mdfl4lfdd9s8Vl[nb2t^s7>C9lhL;FkNML2q>U9_nFcbV"T8/jo(`4a2>HS4 -oB,3"o^q_OqWm/)lLXuMnb<(`mcWp%p&=mXnalGEl/h!fn+QPOqu6W`s8Vf`q=WtNrsSVjmHj0, -lg4-/lh12U%f>nfnbrLfn`KHBrTib>rVnqSoB>E4s8V]Om/-h\s82E^nbE.\mI9iAlgsi:iop(7 -qsjI]r:9=Cq>C*]mHX07rVu]\o_e[fq"amg"S(R)jn\oU"S1a=m.gS['E._"p[%#-mI0c?rVulj -mc`NtqYpL9o'>i2m-X62o^M26m-3m/qX`k4kP"rUrV6?bp\Fdds!@R;n*0')qZ$Tkp&"dhq<@;; -qZ$TdlKe?Hp?:`4qtL*iqXX1TrVn)0iniY]p$h;3l0.9qn`T?6s8W#[jQ5RqqY'@Ir;ZEQlLb)P -&-)Y*p@.A6n,)P9mI^&Gq#::PrVQjMoCD>Bq=OF[qsa=Ur:fp` -rsJG`jQH+1nb;kOnc&#,p%J=`rUAt2lL+-/o(DYBnE/]onal8:qtBaYq"OX`p#t;qq>^Koo(i7a -,4Oj\l0e6=p%J4Rq"aXWp\++LnE]9%nG<1bpugf.p\Xg`rqRW3q=s^_p[.;9o^1c,o(;\Us8;EO -ki_@,qYBgRpA=jhD"6`On+6,@oC(r3m-O34oC;>@lK7U3p@.V9kN_L&lh:AYp[.87p%S1HlKdZr -o`+dTo)Jagrr;WRlgX]Ls7Y[>lgOHHqu-NXlgF6/m-3j(oC(o$j73*J -qXORbs7@N+oD&=bq=O=Mlf[a1p\"7Vs8Vl_o(i1_qt'+:lh'oJo(i:b#Pm]Yp\""?nc&PHo]G9" -kiC^in+cq[md'BBq=*hIs8Vugq#1'[lfdNum-3["p[mb6nG2q\s8MlnqY'^WmI'`Is$?STo'c,@ -qY^6`p\F4Ap](3eq>0j^p[e.WrV>sZqsWe;q#(0lo^;GQrq#^Np&+jir:K=;h;Ic#s8Vijrr2]g -rr45@qt9IJoChqYs8Dcgp$VDApA=d]oCMVCm.LDYr9Ejp](9jmcEd1s8W&doD\di -p$;#9mdTc;q>^6Ul0\$6rr;`ZpA4^_p%.kPr:B%1meQMCnaGi/lKn!.md96,s8Vieo(rCbo'Pi8 -qZ$Nmr9i_?rVH<^mcWs4rr3)hhWan9rs/>jnaQ,=j6cgF$h36LqYBsbr:K=?mf*5BqW?i1qtTaR -qtKC@m.Bo7me#u8p\am\pAFmhs8MWUkiC^emIgJYr;-9enF$,Ps7PjMrr3Dtn+6,6n+,f'iUZa6 -rVoagkMQ%6rUf^Uqsj1Us82?Rm.Bi=naQ2En`fQ9p\+=Wp[\@Xlf7'mo(W1Xp%Ih@naGN:s8DWg -p#bZrqHHfm-F96nbrIcrs\bppAadYp[7A< -o'GoGru(Uqkj80AnaZ#4oCqe?kk"fOn+62NpZ:N2rr3B)q=X4Gn`T?3mdBlLrs8Pfiop1;s7cpAb0bo(2DBlh(/Uq=*nKr;Qouna5]7rr5U_ -m-soMs8VrgnaG?*s8DNZq>U![p[n.Ws8Vi`m-XTJs8;ffoD/1Lj5T:hqu?E[o^_\Io_eahq"jUT -r;QEVme?PUrVuogmJ?b\&cVOlo_A1KlL=`Os8Molqt^3irtY>'rVuQUkOAKIlgOiPqrZf)r;66_ -rr3Z'mcs-*q#10\jm)I2nbiFep[RtUs!.I=r:][Lp[[>&nGiOer;6'Ml1+TKs8;B\s8Vrco^_;- -kkG)V*W,I#mHjN;jQ?"'q#CBnp[mtAo_eRWm,dd;s8Mclp_35blhCGZqXs@Ho(`1Jme?VUq"t!h ->lF3ZnEo]4l0.^9s7uBWm-s]?p$h\Mp[n.Qo&]<9r:]LBl1srCn)`g.q=aX[na?#Bo_\CQo)&Ie -qXEkDs8VcYl14`Os8DBOmI'cBlK[d/s8Vranbi%Mqu$Hn%K5niqu?]hmHEg'me?_[ru_71mc!L' -p%8%Up?h>@q>UEina5W,me-JVs8Vl`m-alB#5%?RoCDhZrq-K]k4\iOpAOsi1B-n4q#0mKl1FfC -md0<-lg+3>rr<#pq"aOGk3_m;p@\1Wn,*%\s8V`]qX3J4p?Ll;rr;um"n_!=mJ$MVrtP1rmIC&M -p[eF^r;Z`blgOK/kk"fQrsnnto_J@SmI'!"naZ#8qu6U.p$:l0p%S.Jm-XHAoBGW=s8)Qjs![O0 -q#CBml.tChrVu]]mI'T6mI^/JpA"7In,*.br:omYs8Vr_kj80Fs#g)>jlYe'qX3_;qZ$Njs8Vic -oBYr>p$_//kN:t)s8Vf`o(MVFmcWNfo`+siq"Xdes6o.=o_\[gr:BFWq_A-LnE]fGp\4^frVlQh -q!mqAl1"`QoCMJ=qt^6is8Vukrr<#nn+cq_q=Wq9n+?DSrr4>5jQuU4mciNakOS<9pA4gas8W)k -o'cJLn*B<+n*K<-p\O[Yq>UkZmI9Z3lgjlLqYL0iruM+:qZ$6LjRW -mf++%il\3YIX#sSEH6&=F*2VKG^4R\H?j`6FoQX\Er^7[F8g7]Fo?F\FUNDLPUbDNK9*ZMi!1AK7\`.JV/Z1KS"c*IXcs(M2@.Krf&[kL4Oi(L5qFV -Jpi0)KnP)5M2R7JKS>,5JUi<'It*!"KSPGCK7\Z(I=-KoLl..MM2)"_&;#F]I=6TqJ:`H.KnP&. -LP>_\&qYX^KnkA4IY*<0Mhm%'WJcC?%K/eO9J:N<*L67pmO+i17H@(*nKS>,4 -KS5)6K7nr5L4k21JUi9&K7e`)IsulqIXQZsIsl`pJV&LQLCf8uMN!LRNfAmMLQ.IZP)tS#Ka<<] -JV8rDQ^O?BTfo$5MM6h@OHYZ`Ock]aNfT6[M1pS5JV&Q0L4b&-JV&K)JqSl5M2R7GK7o#8KS"f2 -NfoZeMM?b:Knb;5rI[=dJUiB,K7er>OcG-JJq8N.MN4'pU7[a4N/`pgT9t_'R@^=SVP9WLR@';' -PF.c$MMHqDN/`j]P)kBPK8#-\Md)-qKnkJ?N0Bs4X0&=oR[02(P)G-SO-,H`P*hi7T:MI5LPh.T -OH>BWMN!U]R$j2)PDt9LLPpq@K8>GCM2I"BMiNgSL5(Y]['cj'S"HsiV4=-UU6Cb'OcaaNR?WYp -S>)X@N/N[VMiF+#Ye.cf[B-@'RuiPbLPC\IP)Y?YNfT9]M2[RUN/`jXO-#K\Lk^YBPE_3#Tq@U0 -NKBBgT;SHMP*r&8SYE0cRuE)[OHPckR$a2%P*_i9SX5V-S=QFNQ]R`(O,AsbSskq)rf;&`Sti-M -PDb-LNgZT3O+iO[SX5M/SXl.1O-H')R?Ef,X0oO@U77[>NJNOKL4t;5L5CqXR$jD.Od)?1ZF[63 -R@gCLR$3\qOHGfqQ^!ShKS"f.NMO(qZFIoq`kJd[VP^8_SY;mUT:hpOR?*>hOD'N&H\IEBT<5>t -T:)%8R[9_Na18.DURmNtL4Xo+J:;oqJW6;(Y+_,CS!K.qO-5cqUp7A9ZEUC)S=?%?R#mAlQ^t"Y -]YChNS=>t4NJN=EN/EIIKS,2LX/DS[T;8-JYc+(RN/`gHMiFC5Yd;$X\=/G:Q_C1MVk0ZUP`Com -Q^skFS<8eoQ]ZrKJr5PEKnPMTQ]6iaRurGUKntD4K8>>?N00?hP*LoUIt<0'L7GuL -R[]V(Mi*FNNJrjUN/s?sStDaPTph:0N/EIHKSP52I"$g4R[BM1Pa%Q&+I&=eT9kY#OcbopR%1"X -_9:*M`ibboOGnjCIXZj)R&BqT,bUm+TqJ3\Yd17!R@Th:R?s/$OH>lqQ(Y.WURd[3MiE[RNfsC! -=,i9%NJa'gQBI>sW40ahc,?r^PDk3MM2[ISN/N[[R@p[p`Q$-=Z(d_XR?X&-QA^QYNf9U?_S*Uj -Xf\M#W1fQ>NfT3UJqfDXU84lnWM-,m\$`KSRuW,RMj'F! -UnXZg\@AfK[CNfW^W=XE]<8TIV5UN*[BHp=R#?o\O-c&dNh)PmKSkeYVl?8\Uo'fOP*(ouWNWY; -\@808Z)4>!Y+rJ7Yb7/9K788rIYPbkaoXL#L@T9kS'R$sA(Ocu-%TpLb,VlmG8\A-&)_n*+O\&cn9 -Z^d&:S#sBFc-4AO`NuD7S!TeEZad33Q&0pJQDh0gP)GQePa$6OOH>?PKnP)7PadtuOdE2ic,IK< -\[SuR\%92aZE'XaP*_i?YG.ku\\c%\V519([]6'sZ*L9mOdhr0S!oV&O.Weub.XmLR@'JZD!56NKg-m#ZNg6!#Sti*]Xg#1E]4AId\?Dg,WNWV- -S<9&1Z+.BSZ`U*sR?Wl(R[KbFXIkT6N/WmmYHaseO-H4\#l?USOrt[BQR(S<8erTr+`eW3<@u -R@KtHX.krAMiO'jU7\Hq]th1WY,nRrTW#E@Y+(E1P*.hcMjBa(WM>cCRB*3[Vmj[ga2#R.]<.cq -R%0Y2O-H6+PEMWD\])n>_6';pQ][,bS%,l4Yc"%XQ@#6uUS=0,UmIF6R\6@F -S"67CR\[@'X-\[&PFetl^qI1`X/2l,]="N(S>`HeTp(h>Z*A\STr56)\[f;hbf@?0^qmh![%rq^ -W2QScSYE$aVk9`i^qd@]Vk06=O,JmPMMRS#Z`UOC_8X*hTV%sYZF%-TZa%<`]d`JklZ)s[[L5:Y@S@lqV -\$N\\#&F -Y-bgRXe2Ao^VmpqU6^n"MjBTkRAd6_Pa8#AXgGUDUo^AhW2$/cT9Pe;TU1e/VQQhfTrb5jYcsmg -Q(P+^Z)OFmYH=V(_mH/1VQ@)1Xh(a0SY`-[\%^&2bKIZ.\]24hZ(RGLP)>?q[^DlsQ^"2;rgS5( -V5^;_SuJuuWOKIOXcna6Up[>$SsGCoNJj:'WNWqQ`jhh*M3Y-Ub/_ZNd)35s]X>8\]"PhgYbS/* -b2)+7e^)al`kAjcVNI.;SYWjBeBYq@\&-,!\@9)`aNV6!Y-)0C]t2#$_6gVNXgGUDWNEbH_nj.% -YHGRceCW*i^U'oF\[SfD[)'u4bK7oLbKnYacH=D_fZh(7[(dG!$\XJE#1]WnB2UnO9AP+Jhe\[JlO\%92HW3EkK`R!/`aMP^!U6h72 -Q'@DqTWGJrU7nHg]"u>#`Pm)8\$WBAW3j=U\Zi'4[BHa5SY<3k[(3ZJW2Z_iURR@)Pan/+Q'Ii8 -V4F$EWk$6p\u;9tZba5TW2m;D`PK!i\?)C)Y.;Tuahts7d(lfYS"$(Oa4Jtkd)3&aQ(4M>StMgR -UT(E$ZEpU,T:DFGXgP[L\?`6=9sV15YH=UqVPpr;\@9&OVR*nBYHtdP]=GAPUnsr[OcuK:Tq7jJ -USFZg]#`.:]!/95S=67XZ`gI4YFVf(^s1'7ZF$?iSueila5>cbf#PM;Z(medZb+9,dD`8^R\$FZ -ZaeE/d*KG'PE2#hQDqL?d)]Y(VSXfSM%]Z.anY,nRhQN!7iT6+]"Z)&a2,9iWN<"dS?9?2XJVr$Z*1da -be1$RV5gi6Z*q9[`Q#^&[)C,1eBu":V6$r+[D'Vs]!\lNX.uW"]!A62XLGmX\>l$cW4g9ob1PJ$ -e&Jo0\\,o+_QBcB\\5AMX0B:be'5\<\.H-NTV@dk*Pa7Z+ -V4OHZW2QVhSsu7@U8=WYSu&*KR$XA=Wk>pKXglU+f%8[6ioKEVs+13$s3CXp~> -mf++%hSPY$>>[s_8l&Dd<)Z^p<``@)=BAN%;u]hm;#jGl;>sJk;uKZ'<``F->?Y03=]ea+rDa,* -=&r:";c?Y!r`fY3>$4s0>$Lu3!F/k.>R"J??=.&C>5hb*>lJ%/?N+=3?2\%.>mFkJ?t!MS@UT1F -"_;+P@:>6\>>?t*STA,KmBAnP^dA7fNSAcHBAB*W$]C2@^%C2!TY*+`ViAnl!qEHleXI!fgK -Bk:[]Anc$pBP;1"EH;%uAoi*=F`_YDDJX*'CMRTuCi!j"B4kghC2Im-E,T`:F)c&2B4l%&G]RS0 -BQ%a(CMe!0E,TK,Chm`uBkh9nBPD7!E,fW-BkLsdAS5n"EcQ)7C1qD/!g'Des-%DfpAS -F`D;8CMdm'B5%9W5\=SSIL4=SuH%C[!GBndqOH>TaMM?h=K783" -JpD?RD/j]?G'\O]E,9<+DfYi"'l\&0EcQ>RO-Q0%P_t$=H@'mWE--F*HOYLYNK/sQKmIc^G^=X\ -rcN@-I=d3/Jq8>mDJO*-C1V!lDJsQ:E,p&EG]RhAFGHBYP)+sST:V:'MNNgEH[L3kL5L_5K8>G? -H?!qJJ:<*/RA@!mYb[eWP)+R2Ec?#?H@1!\G]n:TEc,f>F`qtRG^4LXE,TW3FF/I]K8586H[UEr -Je*a$N.HA0O,JjUR[AqXF*R\41OO_&IscWpN/idKJq],BPEgrTMhZY)H@gs*IWfp\G^kU5P(nF/ -Df'WHLP0hhG(bd/JGt7LJ9uWmL5h"CM3as@Z(RAAMhQFuG&_GeLOFN&Nf]No -QA^6I"m8sEI!.\DJ*g+DJX9:H$XgdJ:N'"GAV/5C2%UDSYr6RR\$+;NeiLF -I\RPE1HIGBJRjK8u=cOGJI8G^"@TH%(!^G'8(R -F``:lLP1;_R?+pHuj.DF*N.aJqA]7Od;fM]Y)%fU6:CiKRJ5rHusFVI=%!PYcFfjUnF?J -R$WeaH$4IZFE2MSMNO4$Whc5ZXKo".SWAV^Kn"5dE-[A0PCRUlFb5jLSt2F6P`^T?EHlkZL5C\C -Q(IuJs.aY/Uoq>IaLJ.LToYD4ZEC(&SVD?4Ed3.`F*WRqG&_eTLmFBeO->onM1gM7O-uZ:WiW@k -VQ$&OT:D+JYGIJ9H#@8,@qBCkDKpr(QBmr)Oc>HmW1o3!MNaEhQ_:Rs^UC5DT:`:"]W7NoX/r1q -SW].DNg69,O-H9-Pae)#JVfhrY,AG/ToFVGH[pd'Jq8T1M2Hb)KTi%,XKoIT`ko3eTW5Q:[\8V0 -MjUNV`Q?0>^V$S9QB-ldRAR$XOb7jmG^kjHOEu&$JVJi-IJSY_aCVQI;4SsPh*UP)G'HJq8E& -LOFi5Q_0:`GCP:-R$EShQCEkfNLd)SZb*QDU6q"&PF[_fL5(8.K;#3DXK6lHQAC0OO,JsaX0o0s -KoVLbOcuc?TU_1*Q_]dqFDl,:Chn*5H$k+$P(e+0K7o/MU8!sIY-Y@4SX,_>XJM8@Ll.4UQ'[_o -JUE6=VPp>_SXu=7Q^X50Tq@U-WM#Q:K7/95PE(ZhQ?eC9H[UBtP+\D1K7S];T;SWaStW![XfJ+WJV/Z0JV&E!KnkVPSti*T -R#[?)YcjptNeW.=L5(qeSs"bUIXluuG'ACeL750AR\-^fXg,44SXlIQYHFLWL5:nVS",t:LQ.[n -S<]D-Nf9'`S"H=ELP^tNP*MB#H'Xh`O,8gaVnT(#Ye76:U7\'QWMlMWP)Y3LNLZ`MMn")ZbOW'\>57CL4OW#OKl&qZE9peMhmR`R?rqeJr#&;VnpR)hqcGq_nNn)`5&gs_RQq^ -_og]]_m[+i[ABUiUTM,?Z_WD)G^tsPX0/+lXKJe8_p?`U`4)bFXgGgab.OmNOb87:KoM.QNDbk% -Nf90tW0i-REd`n?Z*^[3TpLn2WNW:fM2R^gQ]d#XQ)(7GQCF\EV5gZ.`ko3p]!nuJVNch$S=Q%1 -OHc0+RZj)9[C*$0RurPZIX?<`G;a]#SYMjUXgl!LU6_(2T;\fq[]cgG^UCDJUn4HhZ`^6kL6o0U -];^mBG&qkWIZptQaLIdqKDp@>K8+u)IuC/=`Nl83Yd1=!Q'RAVI"@EIR%gddX1Zj7iSiYDeBG_3 -V4Ep0JUr`GTVA9aYGnV6`P]-aTX)8=VkBTKP+/;>NeE.IS@HY]c,?iVVk8urEclPNOgD^+X/Mnq -US!s>R$a%oNg,ipQ#E"RN0oTRF`VbSIXlTfJUiN@R$4nt]XbqmWMHW+Z_!bjZDaOpZF-d2W3*>. -T9#,/Zb*]JR>HH>Fb5*lLR"BnL5D1fV5pl$SYVaITq.^DP(SLJN.QM6Pb+;'PF\52Tq[g.Lm=U/ -UmR1+T:]e`UUdClQ(=SEVkC,bPED9%S?906`50:#YdD*IXJ_ACMhZY1P,4q7JqSlBPDkH[NL66' -Occ03V4F]jYb6c$N09p&O,8I8H[U:$S>*$p`Q#9ZMM$td\\u+n`5fQmX0S\(WMuu#J#K-/SZBQU -gtL3$da,h?Y+q;7L6S=(T;T08[]ZsG\@fSdS(nc[&0\0 -c-k1h`O;_8UoLJlU9(uJbK.cIc-Fbfc-"2TgYL/fXK&CuP*W)JX-f*H[C*9EDn<]kUR@:,R^9fG -[B6gO`50^NeB,VLcG[W:]t_:kZ)t@8U8,9Ad+-[l^p:)G['[BMWjTsl\uDa0Un=QqajADR^qmXo -_niR\\@B/kc,IN9_o'gRd^lHOW4'+7TUhO=P)G3bW4'+;Wi2o!XZMrBWj]RWbgb%]_S!%BOH,-S -M1peOUSsWJQ(4bZ]t_4r_7?kSWi2c"]=kSMUS"W`U774,T;/9cX.oTbHC(%]LP(MKObeX@M3F6d -Mi=1*]"YGBR[^(SW106JWk#gQYHbXAVlm&+`QcTD^r"0uS<&G\O.*W#aMYm&T9k=mP)t`fQC+&3 -U8=]`SsGP#OHlN=Y-5+1V51,nY,eOqT:hgVYbnA!TU`'iYcG"7[Bd$:Tp:h*CQ3jtPFIl'Pa.W& -RA-q*bepZYRZr\hS#EEfV4s]HTrb]B_mHDAQ%tKqSu'6Wh9a$M[&B@TS#EO'a2YZ^OG]'dTrPEC -cHXPASVM]CF+Kjhaj@r5Vk9QNP`LiOJrG\KPG,.bW1&^%LguI.PE:ifS>;mKTWu#6ZbOGo[Bd?\ -ahP'VXLH-`Z_EkUS=#eBXg5=E\$EBUaiM6(VPBudT9GM3[DgM3Vi6%QLRt6'LP(_hZb4>pXJVtn -Xg>@:W2HSkVmjINWhZ5WMMM1f/WZa:[Ap$tW3NLlLlRk"[(^Z)++a -WM5c@MMHh=OI`;MXf\tA_844=cbd#eWMueiTVo*)\@o_t`ko:T_mH82 -T;/KoVQ6r1^VddqZbsi(:X7.pY+hr"Y-,4E\$)g3X.u2WWNN(eS"m-q\>bsYNha5,ai`8jf@%[L -]X>2``k%t=WNik4Tq\Kmaj.r$?SO,SX;J:rT6PDtfp -R[]b3NeDk5L5V"JLlmaWMN*ghTs1\tTrl2Wcd:4rhr -li.IhkMb[mn+$#@nF5l6n*g8Fp[A(Ms6fsUrpTjU!:g'Wr9b9fnFH5Eo^_PCo'u8>n*]W5n*]W2 -rU0^S#Oq3Nmd9K4o)A4]o'u_Mr:BpWrp^'\na6>Ds6opUrU9dU$1dTSnF?)>n+-)LoE+XSnGVbg -n+#r=n+$#Ao();=mdBT6n*oo?rUTpY,Ob-lo(2GBnF6#@oC229n*]Q1nauVSrqH*YnaGr>q>0gT -nG_qdmdKN/n+$#@p%\:SoDJ.`oCVYCmI'KCnHAFSoCV\SoaUQ`n+#o;o(M_GnFZJKrppTkp@IkD -nb)MDn+#u?oDS2Ao(2MHo^_J=mI0Z>p@RqEn*ou@nF#Z1m-a?3o(;SFn*]]6mdK]9md'B5na#K. -o()PJoCDG@md09,mf)YVnFH,Kn.kNdp\=CNnaQ#7p&G'dmd'6(lgXT;rpCNimdKZ6mHj92naQ#6 -lg+!.nF?#:nG_kYnF-&@rpXLioC;MFoC;>=nFH/AoBtr.mdp)DoBku:nEfH)kN_X4r;6Hjs8Vo^ -lg=32mdK]=p@\7Up$hGnF?)?n*]`=o^hS?m-X0.o()59nFZ8Wqc1mI:,H:\!iq>L@um-O!'p&=p`nbE(UmHj?1n+-,>l0%U4nEp&O -s8)-JmIKimH3O"rV>mPrr488mdp/Hq=OCUr;--\qsj"9lLXZ=n*9K7mI9uMp$V;@q=X7Prr<#pD#aM0 -nFZ&2mdfoi8p%7eDnb2hXs8W&fk3;F.oC),:nFuPD -lf7!lq>^6Xn+QPKoDejemcj*+lf[p9naueYq!I>0oD8.Squ$9\lK%'mmHl=ko^_A7p&=gZn+6;I -o'l5Fr:fdLnFc;;kNMC.qYBsZn*]T1lK\?ArpW#o1nG2qLkih-`jR`9Is7c*[p&4phn`oB.p$V,2oD/:X -r;Z`hp&"abq!mY6mdfl5m-![4s8Vi]mIBuOrUK+;nb2A4k3hm7p@7J6mIL#Lq>L6bo_SReC&IMj -o'l#0l1t;Us8VcYk2kq&o'Q5Ps7PjRp\k-gkj%[/mGm0ckjeKDp\XpfmecnNnbr1Cqu?TfnaPo/ -m-X90mdKiBna#N*k2bh"rVuc\mf3=ZmI9fEqY0UMmcN[(s8V`VlhgQ4p](-Wmcj-3o'5lFoC;SH -lK7O4s8DK]s7u0Rn+cq[mcj-/meQn[lKR^)n+ZJNrr3,qleUn*rr3r0lKms4rr<#sq#(0cnFQ2< -nF?DUq=*e9ipcR=s8VR=qY0LGn*oc3n*]T0m.:,Mn`AftqZ$NjrVH6]q=jCKqY9gWn*flGs8Vce -rr3f3q#CBkq=q>^Hhp\"%>k5#&Wp[7D?r;5[7m.^8LrVuffm-3j/s8M`Z -lg*p)nG)PEo'Q#Cp$D5^KikMYk0s"OHEnauGAlg=-,k2Y[us8Vl`nG)SDp@IS: -p%IkCnac2>rr<#rmd'-!l1"-6q!dVKlm_>goDJRYkiD(%r;-3_oBu&4lgXH3mI'lEoCi+]s8Vrc -lKe0BrUoOKrr3c+lg"$1p%\7Km-jQ8nb;hOpA+aboCMtR8bW/Ul0Ij0p](9go_/"JnFlnRmIKuA -l/q:)qt^*gr:f^JkjA-CrVQ$Kn+Z_TnaYo2nFZ>>lK[g,o_A:Zq>'[Llh:5Ln+#oHmhYKcp%J7Q -lK[p8qtfdFkiV.-s7l-Squ6U/rU&\0mHsH7mH*^#lgacEn`oE;rr4#:rVuZ^jQ5q,qtfUGo(;SG -nFH,Fq!dD+n,!(]pAY(;q!mtCm.'`UC!rp9+H -p\+1Orr3W/n*90&mI0`=o_J:Ll0A3Cq>:-j&b5G[kjA*9kjIp.m-F$)lKnq>C9hp@ItLmd'ZJr:TaWo_S:Ln+QYUmIp;DmIU)Cs8W&hoD8:^ncAF]rr3K*oBtYr -k4&LrVH0Qm-sQ?o_/.Gi:-aDr;#gBlh^YTo^Cr3rVn\MoC;56khYLqs8W)_iTfk&r;Z]dn*09= -s8Vr\kk=rJm.1,OlJq(!p[\+Xp$hYLq"ajcs*jY.lg!^"me-V[qt9UVnF?GVs7Z'Xs8V`YmIK`( -mIg&8k4/$/q>^Elp>t'%s8Vldp\XIHs8W#bininbnal>Ao'PZ7p@.G;pA"7Wq=aCKn*ouGp\44C -n+Q/+p&G!`p[mhBr;ZfbnbrL_naH5Lp$_D@rVuTYme-DUs%E.Sn+?28m-3`ql0dfpjlu=/q"F4F -rr2rtr:]dKkOA9CmcEd,s8DHQo^qP=nET&mjm`3Jqsa+Ts7Q'bo&o?3o_A7SnFPo+nbN+_3WAmA -lM:JPnaYl.nac/q#C-]n*9?4oBY`4r:T1:p%A@]p%A%NoC;/9nF$#Lruh:3 -l0%L1s8VifrVH?`q>BaDipHU?p$Lo3p\Omhr:0OZrrhrThWaY1q@NQ(o^DDDnalb[o'Gi2m.^>S -rs8SrnEoH2qtg\qu?]qo'Yu7nal/0mJQt`(\mb"q"!kJq!RS8lgX<0q#C'Nlhg_^qYpKs -p[[eKrr<#d5Q(EVs8W#jo'YT2s8Mfjs8Vfblf7*ts8Vf^kNDF7qXsUZq=jRNk2G^ss8W)inEK0% -m.C;Pn+?)?rr;uip\t0trU]^Pm-joPrr3<&n`p&Pqo_8:Xn)ip2pZ_8K -s7u$Hp&4XYq>('jrp8tHq#:C!PjQudDr;QQ[lLk,U!WDop -rs/AfnEf;rkP+uU$MNoVk2bstiT0J%rVn2=p\"+SrqPpLn,!(ap$hYHoCMM@q#ClKRa3rr2lnoBPW1oC(u9pAY!]pAOX]qX!88s8;W`qYgumdKT-j7!$Do(i=cr:Tj^nDER,rVoOg -p[%;7p&+ddq>^Hns8VWVo(_P8n+H_\rpf@EqYg!KlKIU&mIBlJs8Vuem-O6:qXa.=kjA!2l1+TG -nFZb\r93J>rr<#lk3D^?ru1\+p@@eJqY9dZs7l*Qr;Zfmo_%eIr;?-Qmf!/8rU/k2lh9i2m.'rP -p&4pjq>L?dp%%M8mdou7lgacGp[n"Hq=X"5j6?79s&Amgp](9_lMCMUqu?]cl2(GXs8DWaqZ$?\ -q>0gXq>^<\nE]H4s8MEPmd9oGo^qqVqXsacs82WhrVH-Pm-jN;pA+^fs7GXFqu?TbiTKk0p$h\S -s![dEs7P^Hqtp6_nEo]3mI:#Nq"FO_q"Odfs8;0Ap%\4HlgjrOo_8:[ru_+$kOn`Ep@\%Jo(2\W -s7bmFme-V[p[ReIq"XUWlhp_](B!goqtfaBlKd^#me?b]q"Xjgo^2/Grr3T.n*'38rVQ<\rr2io -p%/%OoD\arm-=?>rV6!Wp\b!i0E(qNrp]mVmI'E6q!I\Os8)NiqlLsu>l0n68p%n@O -nFZJGmHa95o)A.[n*BuC'(belrVZ]qo]b`?s8V]_oCDJHrr3#spjrHrs+14!s*t~> -mJdaaf%!d2KIslftJqJ],J:IQL"+YrTL&HZ&JL>u!JqJ`/Jq8K*KnP#,It<0&KSPMJPa7>gLk:&( -Jqf)7JqA]3LP>_^$Ajb'O,]$PKnFu/re)nXL4t2.J:`9#JV8f8N/WaUMhm"8It36/MMQn8Jq\l1 -K8#,=M26k@LP:;/It7KK5(eQDLPCS=KRnZ)K85;@Lk^P7JqAN$H[:$eIt3*(LPLS8JV8Z-K8##2 -ItWQ1It!!(L5UnDL4t;4J:E-%re!LiL4k21JUi?)KS"c+KS"i9QCM26k< -JqSi3KS"]$I"-a"J:;ooI=$BiI=m'!IXm$&KDpZHL4tA>N/is[Mhm1IOH5K_LP:VAKS"c+L6%[k -TDk\jUmd6sM#N5JN09TuR[]Y+N/!%>Kn4c)JV8]/JV&Q/K`6QBK7o#:M1pY=N/NIDK8,5@Mhct: -JV8c6Lk1/1rIk3'4+r38Jr5VMLP:G8K8#,>Pa@c'Oc5-RQD(+COH5]tSXl:>Q^=,/S<3^R>m)^ -N/EXcWjB@V]WnB0Ss>:kM2I4NO,o6WMi!@PMhd4Qr/Q2bNfAdJKntqaSX,D*R?*)XN00L#US!^. -P+8)7W3`e%NerXSP*(uuST9NK00iSt_I- -Ll@@QMMm[cR[/tlNg66*Q'Io=ZF?m0TV@s -[Bm\[SNCYbnD- -Z_=\2XIk`9K6hijI=Hd$Mis6bOC=94NKg$7Yc*qYXfnIiUTCl7]t:keYcYFP]r[m#Ycaq/WL9-; -R\HLFVluqjUnO*;T!,]8YdM*FSsGJ&R@'%qPa.B!U7$n!R%C.]\%Tf,c,RK*_9^QMZC?l=S>s0A -rm5o;d(lrfT9Ye=Z*^ErP)=gKNh*/COH5s'R$3\oM2$e=KnG,?R$a2&Q(th+`PTO,[^*Em:`PoR'ZELL2StN'nXe;&MSXYk0P)bHWPGl.1[],siR\6XNR?a&%P*VW$R\$CZ -UQC=hAs8aXStDsbVjim>W3a4W`5&dYT:V^JTU1n1R?Wr)[Bd$AYGe%[W3EP+U8YK5\=o1ZW2Q`& -^V$tVVl6]%Um?poKnP)5NJNRXP+/;BQ("20T<,/mR%^L^[C*$*SZTK5VO!F3rgJ8,U7dp;P+Jke -Z`U@7VP0cXQ^aqQT:_gOTVANt[\]7LLk:>?Ng?)sNffNjQ^OPKYGReVT;SZ^R$3J^L51bWUSt?% -^UC>JXfeq;Yc4@lWNE+qVm=%MZ(@&6NfK9iQ]mZ%US=Zk\%98lcGmQ.\$`KBVO3L6U8Y?/]4A.C -URRC*Oe%`%T;SKPO,B*dQ_CRgX-f-:SuoN3Z_3eXV5pYqVNd:3S=#J#P*_`9XKo:C[B$(!Zb3cM -XJV\_StW$\Wi;VUP*VQ+RZ<;cNgHo[Yc"G-]tM:sY,/.uWMlbETTtb*R%g[bV43dIZ*:@5Za?Bi -N09j5W2,T@R\6LWXfeCqW1]HATWPo3XguEfZ`'[kT;SciVl->[R%ppmWh>TPX/)8VSt)XLQ]R8l -R%(%KWk63j^oXQ;XJr/#]>^b>P)k`iQ'[r)Q^sY2Od(ng`llKTf$1n; -\[&-.Tr"m$]!\Z5R?EZ"Uoq#$VgbVH[_U)5g"Orq[]ZjB[_]qoY,7\KQ^*u1TqJ*TVk]l[Z+7*4 -OcbfoUpIM:ZaHs3Vm3V4Tp_USU7.=*QCk%OUo1N2_nj.,aiV9*`l#d;`O2D,VQI)&SsGb6Vl6Mp -\&6/!]!.rtP`Ui]MMmC\YHb16^V[q'Z)47jV#RJfYe$s5[D08[ZDaFp\@J`>Tq&7'bK75gQB$fX -N/4".^VmLKNf]KmW26&rbf@Q;^pC/L]sa`7[(!?@WctbX['$F,Y-Fq!Vmair/X`MouI^V-hER@'>2Unsll -`7*#M]XG2OY-c3j_S3CVVOX<`^V$n_ajePYf&>N:bf%QLeA8/d^;\49aMl$4_7e4Nf?VO\a1Aa_ -Vl$Z+\Yl-kUq+h&c+q$-`5p$;^rsjKf#"_mUStB#[D')MY,SV9_S*@gs2elq^9b)HWNa7Xb0\;D -X/3DD\Z`3I`R)fRcHOS_f%&=#cd:;!e&AYt\$DX)]",/FVmO+H\%K8d_mcD6Wij.]cGdW@cd:.l -f[eEmbg!r=^V7V/ahkd,\ur0IcJ-k"be(6m^V>*4^U^qpd)s#(XfSFsXME68d_rl7\@05j[^a,o -e_J^#ai_iMe_8B^['dZd]s+E7Vkg)ZS>3=#^qdRgZ*_'1S>EBo\B*=NbK7`3U7%U@StDLBU8k8g -USk6$]Y_\,_Rd([[BQ^;^;n:+Z)O_-YHb4$T;\g'^:mg^ZE:.*YbmbJQ(FM2S!KD9VOa-FXL5dW -Z`1"7]>_FaW2[&;`5]C!^Ts`CZF7ToccEr<`OW+GS!fqM_p?WLahFgNS"ldOR[^"IWNW\@_S`mb -VPKue[(Er!\[&64WjK=CX0/P.YGnb<\\uIoWO9IJXJW)'Y-"e)U9(JjOclH:TVJB^UR[p\`m)rR -[]-1%U7\6`[C3EFXH]Qb[_p"lZ`9U]TsqSCa4Aeb_nWjdS"d*u]thV(\"8qQT<#?3_q!2`dD2WF -Q(!f!UTqVS]r\!'X/honQtqhKQ^XSEYI:g?UR7:3S=uLDS"-=ZZ)b:I^9k;a`P8^i^W"F@_6ghr -f$qXHXJr5%ZFIER]>VCj[)'l']!8<3VQR/'WNX:df$1XpOH#I%XJ))NSZTBCe]+f!^q@Ls[]m*J -[B[!H]tJm(Yc4@dQ'%?$VR=:]\?)O)[C2`lTrY3!^V$eJ\%K8a]!Sr\`P/gp^:1PZ]!/!%R$ODK -YFqYgWk?$W^;J"1_oBsC`PKC+]!&$.W3!/+[CX,ZVOX6Y[^NK?[D^5'[^Nuqa1oC'YGJ;1\[JW5 -QB@?%WO01E\%KVm]u9rrGJLAX['d-9Uo_&=\@oc#b/V3+ZEpX(Ts;)2XfAA%Z+%ZrbeC9[X0B:Y -]=>A_]XP/MX2)j#eC)+JB^qn+= -_lT];Xg>42Z*_0ff$VOR^aZt$TW+EIS"-:RTrtu:XJW(uTUW1![%N\OTU_.'Pa\,6UnXNUVl?Pe -rgj+[rgb(!QC=80Q^O>8Uq""@Vld\Tb/)'>bg>&*qt/q+l[f(es+14"s*t~> -mJdRZd%bqo;bBSQ:/k6m<<#ttI_AS#C`B5.D/O95Fb,0uJq&)jG(PU2KQhTfK855I>j;RQ'.)]K7ADuEc,ib1+H]"/SP*D&dJpM]jMNXL&SWnkVH[g3S -AnuI/rc*C2I=$0\G^XdSBP(mmCiFQCH$k!fH?Y*hDJa6*CiYB&Vl-5XQ^!\sNeW(5HZO7MGB\=V -H$OdjMi!:KNJrpSIs5sQDJX''CM@HuG_:TsI=m<0KS,/GR#ZfLKnk>6KoVV%\%K/WWKiI&LjNrN -B5)4)KTq7HMN*mgR@=/N(SRIeMMmUZO,J^@GB%VLJ;9;QNe`:HJc9tBF`_kNH%(9rJU;N`H[^Hr -N1?u\]t1GBP(e:%DfU2YMM[(CMN=+#ZF7-HXe:i4K7%]cJV/8kH@1!nR\ZgWR$*\pQ(4.sIX-9f -FDu;PMij@*ZEgX9[^ifIT9+naK6hTYCiY5oNdbqaE.TsV21ZDs+@H?=:VG&MVbOF_h6MNjQrL5:hLL3[rhLR"L+V6$o)TW>)`SZ/BK -X0&.^Km[cJ@UWbWASZ@5If=cqHt%_hR\6%(Mk-K)Pb"YPYd(@4Xe_bs^:gYBSu\f`Vk&a&KSY_M -MNsg$QCO8"Lm=sI\?<*CT8A#=H@UWrI"[6(K8Y8#H%_0EXKoFVc-*u7XgPs^[\/P2P+J\a`luWI -aEkk5V4Ea&MO('9R>QN>DKgD]P)O^7Mis*SJUV`[DJEp'E-d4nKS52PZ,4Gq^UC8BWiN&#Z_sC^ -Oc5W -GC"k!M[tZ%PF@_nKT)=oXg>45V4.CJDNU*:J:rQ'I"\8hTr"TUOc,KoS<]>.XL>@"Lln*nSYij% -Y,%PRR@9(_Ec5i2D/acAH\$^)Q&pQOLPCqaURmX;USt;tTTk_;Z)a7LM2mgcQC!kuKn"f@UoC/[ -S=c13Q'-u`R$j2'QC!l%/"io?P_4@+D/ONAJq\c'ItNE3MjC'5S<8_jPF%>dK7.ogG_(j?R@g=_ -Xo>1eVl6\nS!KD5UnOBQXL5@0NI>tqGC+poIXmMM?nKTW+uiQBIK$TUqR8K7S]3Kn"K!L5hLkVQ6i!SbU@G]S1aM26b9JrZY;^9jo;Xf\@\NKK!=E-[J7Up7_J\\lqQk3(g\c,dT"Tq7d:Kn>>W -Vl6Ss['6gJ_nE@SU9(Z$UnaWROIr\TQ\gBMP,uC3Bue&iQ(ah6I<'FPG)<6-Y+h;JS=Q:DR?j,# -MjTflMiO!`MNNgNIsZBaH@:0lIt*EHQ]J5a]3oHKnPVTPEqZ)Oc>NlV5p)EOJ8YE -Trt,WS>DsUV4F!?Nf'-qWk#dX^VILbX1QMpNS!]_AUnO]g -Yb?r0Nej![Kn=i%H$N25M3XU5_o]d!T9,)&Y.VT\\@JuKW2m.uS=?C]YGIbVVROFhgtL'$e^DLT -]r[KOLle'rUT:]:]!oAd[^N`PR?O#)R]*F$_p-KL`PTK+^WOjGcdBqNU8+]mYFpu2I=-g6R@^Y% -f$VLLZE'drWOopS[&BO`Mi=+*Y,JbLeBZ@njl4k5^:q\4]rSY/82p]tD(q_nj$s_SUfJd_W/fUSb#hXL,"!U7J*b]!noO`Q-*2Wi2YbWP66kcGd)] -QE7KtUo(E2bK8#ScI(7tf[\BrdbNg3`il5);%]t1kcXfAkPf@8Bq]!AiZ]=tlV[O/o:ag\+BU7RpQ]?SjQ_nNmq[_BAUYI;0g -d`]\K`Q6-Mg=1U8Y)hU7[m;Q^NqcK9VjjR[g"=P*;cXcI0_7 -R[02$P&-VaXKJRtT8B#7YIqKOWLo<.Q)h*m^sUTO]XYAFOI;uNZF7BSXc\EoOIE#M\^AaNcF]a/ -L4OJsQ)M:4\YksbStD7,N.?G3Ll[msW2QDUNJ`XVPE:f_N0^-2SuT0)XK]IW]Vqp>]Z%j1]NWOBRIV4O?]XI"m:V5:6&[&9S%[^3ELY-,.BZ`LL?Y-"gUYbd\JLkUqf -Wg]HOU9h/2[(F)d]"Z5*_na%%\?)EsU84Z`W3*;#R?*Q+Y-+arWk-!UZF%6_^:1P[Vk'K_X/V_V -N/De:^TF65Xf8%hWj]UM]YVY2a2,da#hD\@/9"SrS\fNg6&sT;nrbS"ZF;NhEMMObes[ML9`$Ll%+TP)kcmS=#P$ -LAc]'K,fGsLPUbFO-Q*4X.blOZ+du_]u8% -li.=aj5&h^n+-,Co'uSFs6]mUrp]pU!:]sW!:^!Vrp]pW&+ArSmHs9,lg4'/o()>?mf)bYnaQ#D -m0E(JnEfQ1n*g8D$1[TXo^qbFnFQ8Ko)A1Zo)A4\nG;Q%naQ&:n*oi:naPu8naZ,;n*olLmj.Dpp@e+HmI0Z8nF,o`/mdT]4mIBl?naPu:o(MhKn*of4l1"NHo'>Z0mIBlDnE]B-o'u2> -na5]1nF6#;m-o^2#.jlc+, -r;?Tos8Vrblg43/lL+EDrr5@bp[.;3nFH,9p\p@IhRn7hOgp\+7Lmd'QFs7u*Mo_\4MnEoQ/o(W1]p%A%K -md9lLr:]^Qo()8;lg4*4oCDD:lgF96q#9pWo^hYCnalDIp@%D?p$hMu7o(i+V -p[de=n+-)AnEfN0o(MqKrocu9kNq[*mHa0/oC2A5kk4]7kOeQLs8M`^o(2YIm-OHFqXXF\s8Vi_ -nb)PCnbN+Yq#0mQl0\-8oCDMEo_%nKnF#]/lgF-&lh(/M*VK'onE]E*n,<:dqs3qPp[@M=nFZDG -mcW^!p$hGLs(D?#mHj<3n*p#Bn*TH,nFQ2?oBko.l1"-3s8Vi[l1"<6lLFK:o_eahq=*qFp%\I` -rpB7Mqt97=n*TcAoB>5qkje-/n+-5MrUfUNq>0XMoC;DAmHa-1q"FCUp@.>2lL+37o_8=a)ufL$ -p%J4]p@I_Ao_J=Xl/V%&p?V/Fs7kd>p&=tgo_/(Zr:p*ena,Q-naGo5n+QG?lh'f9m-j]Iq!n1[ -s8Mumq=XCNq!meFq=aRUoCDbXs82K^r:]UHo`"mdmHaWKs7bsPnF#c:o^M>qtBUHk2u46s7,=@q"XOTp\X^Njll4&kO.d$m.pDGnEoZs7u6TnF,i6lLb,Vqt9@@p&G%Pp[\%Pn+?;H -o^VG=mI'ZDp[IYAo)&7Sn*]`>q"4@Wo'5B)o_@_6nbMhDlgXlQrU9(Bq!@8/mJ-\\Hgp@[h!+\4 -o^D57lfmg3s7#IEnFlYPoC;;@q>C-gs7l0Nl0Ij3oBPc?s8MZZoDejap%7eAm-O9:rVlZblg+!0 -n*BE8q"4(EnaZ):mHEcunG)kPm-a6+nG3+aqtg9gp$hG:k4AWQqXEn9hr*hjqu?9QnF$,Prs\bo -mdTf6kj%g:qt9gbs#g;\s8Muhm-4!/nEo]+jn/TQo^(r4p&4pdoD/C\khtUno^DG9hr!MXlgaH8 -n`K$*q>1-`nFcGEna>fBs*4G3j5K=to'#ZEs7#IMqu?]ik3;C/mcENpme6SRoCV_Hm.9]/o)JXN -oD/1Sp%\.ElL493n+?;Aq!d\7iSNkqqtfdCo)JaQpA4XZlf[BnqXX+Lr:o[?meceOs7tpElL"35 -med%Vo(MbEn+Zk^qUCa -rUB[_s8W&gnE]cDnEK<,l0dj,r:o[Ms8Vi^naPi0o^_YEm-aTDpugSnlhLMXp\aROp@%#%o_e^f -qtU!ds8;3Ts8Vulrr4eImcNEos8VcZp](!Ql1FW>na#H4s8;?KjQ#Lus7u?Wmd''#mHjK=qZ$Tf -md'K:md'NEruUn%mI'E5qt0^ZnFQYZs7l$Jn*fT2p&FjYnF#K"k5PAgrUB7GpA!k0kNhI)rVn5< -o'u5W%l1Y/Wr:BOU -o^qtNjll@0q=X:HmdU,Rs7GOCnE&`tme->Cl0.Eslg+-As7u'EmJHq`rqZ3SkO/0FqXX1Op@@eM -s8W#nr:TRHnFZJHjQuaCp?Uu1p\4O^q!@81p$;)BqXsU^s(MB1s7u-Np[@D:na,iHs7u3YoBl&C -p@eIbs7#@Ek4eoPpA4^cr:TIFpAP!is7uHhrq>gQmd0H;oB>?&o(MnUq"t*kp@.PIrqZ6^r;$!U -q>BsQnEf?%o(i.Wo'>T*mf3=Wp@A%Yrt>1hkO7m)k3D3noC2,:$ds8V]Qp[@D7nFH5Ip?h,9s8Vuch"1REp%J+KrV,dGlL4E>s7c6drr3)g -k3r6GrtG>,na#K-pAapXn+HAAlg!p-pA=gg&bu%`iq!-Lo^VSHoBtf+lgauQs#p&Emd9WEr9`qK -p$hD:k2Yh%qYpNfmI'Q6mHO6Aq=jRTo_\@Jl1"HCo_eXZp&"LPp&G'enF6&UCXo'5Q/jmVj2mHs9%nF6,KrqZ3Yp$h>4nG2tVo^hD2lh1,Nrr<#jmdp&< -m-=EHqXX7InauMGoCV_Ks8;`mrsJ5VqXaI]s820OInG3(Xo'Z8Cp&=t8p[\%Rn`f?2 -q"!J;s8Vi^oC(r>s82fll/2(3s8)9Zp[.AIs'50Rg?%Vkq"+%JoC)_Rlf@C(q"44Qrr;ukn*TfF -s7bjHmG6Xgs8Vrgo_A(SrU]+8qYBI@m.UGYp$_JHp?_#0p%n^gr:TseqW[J=nEArsmHj*&oDJOX -oC`(]s%rO[n*/s's8ViXm.L>UmcEm+l/hL/p$V)4rr;c[li7"ZnFc,2o(hkEo'bu?nEBE>rr<#t -p@[n/h"1R>oC(o/o^qtMoDe^Mg>D>upZ1]?s$6;Rp[IM8md03.qt'"@p?MJClgOQAp[ReClKJ!B -s8MWYl07[2r;H'So^MDDp@.\3g[>+AoB591rV?Bkqs=(Trrr;_kOJ9Arr45Bqs7ka@rr;ri -qZ$Tlp@\Cas8;0Rs7GsYqtp3^na?#Err2rt&,c4hiSj5&s7uqXO7Xru1XqlL*p"p%&"[s7ksDrr;]Wo)8Ugq#:6gqu$I7q![hNq"4(Bq"X4M -s8V]]qu?]hnG)SNs8V3Cqt^3j!<)iq$MaGqr;-6[p$hD@rr32rrVlKTlhLJZ"9%QPrr2p,qXaXb -s82EWmciiom/?q`2u3(>nEflAm-aNDs8Vopq>1!`s8VcYo)A[hq=!\9l0\3@o^qbDoDJLUm.'l7 -me6GDjmiBCp\t12mca0/p@n1LnEoN&lL"37pA+XdpZCE!q>Ksbrso&#m-X9;q>^E\l1+6 -n)N^+p$MA:lh:5HlK7Htlg3p$q#C?np?1Z*m.9fBmI0rClMgADo`"k1p$qhPp[db8me-JWs82im -lf[^0q!m_;nF-2Jr;HXSoC;23nGE7cr:f[Cl1=Z>l1=`Ns7#LOnc&IOiU[$Gp$h\Np%%V>m/R+\ -k3)O0p\o_\UUg[bCEqss=J -oBku5nb2hYs#KuSs8MQVp\XCDmd^5Tqsj+Gs8V`Ul146+lLFWFqt0=>kNqa5p?_/3lLOcJp\+FR -kO&jMr;V6=m-*a)kMP\$q=j7P -s82^?lp?V5< -mI'lNo&]'$oDSU]jQc:)qX`q:o(_tNoD&%Us8Mokn)s-1p%.\DqZ$Njo(2h[s8;0Ts8NK$m.:5V -s7cUC1rVlisq<7/?q:$gs8DESr;ZfamdBK0o`"jlp[S-3s+13$s4%(!~> -m/IIM\X%_jEcH,AF`hm(GQ2gdGQ)jeG6)f.rH80`rcJ-^rcSfoF)uABEH,r;F*2\NG'.m*H3/A: -GPZFeG'A1RG'A1Urc\ZpH[L6iI!U'cI/A9iHN/?kHiSKhHRXDlI=-EjI=?WnH[L9kI=-EjIXcfp -H[9p\GBeC\It<'!K8#)7Jq8B#rdY$#K`6]5KnP&.J:E#tJ:N4MJ7O4bMMd.>It*<0K7SW0N/s$[ -MM-G,JVAo5JUrK/L4k;8Knt\JNfAaFJUi6"JV&W4LkUD0JV/H&JV/]6MiEdXMM6S0It<9)JUrH- -K7SZ,JqJf6Lkg_AM2-\4It33)Jq8OQKDp`7LkUJ7KnkJ?L4fJW<.TOHH$FU]IXm$'LPLS9JUr<# -Jq\r4JV/]1Islp'L5UnELPLS8It*''K7ST-M1pV6It*!#K7JH%K7AB,Od:rXIt)lrK8"l)J;B5H -NJr^JKSBD[$%dYRI"6g!IslbEHU`C2IY<<&It<6*KSYMCLkUS>Mi*ISNf8pXP)tcaL51eJKnP&- -KoD@hTr=oiW1B!*LPpqANgQK8VP]rKM1U;2Kn4`&J,Y$'J:rZ4LP5YY5C\BCM2-nFOcPETKntVC -LkL>/ItNN6Mh$A1K7nr3Kn4i*I"-s5NerUKL4k25LPq.PO,]$PL6S=)R>ZrbR/W0HNWbK1R[]K> -N)tdfK92@aP`h;tP`:NSLP^tJMMQn9KSG>DQ'%J@MijBqRZ2X=Od;T0QCk(W -VjWL!Ll$nLTs(o=`k8OPTUV.%L5CkMOH>K\MMd4HN/31DOSt1mN/NRNKnY8>S#<*PM3F3bL5(\M -S"QLGO,8j^SY3*t\>,1FM3!d\Q(=J5QB[]+rh;*BS!fG%P`Cm"UR6srNKB0VO-,TjTW4r]NK00i -Tr+]_NK''`N.ckCNKffpN/!1Mrg@bsU8b8uW1ou_Tp1LpLkph?K8,AMP`q5jM1peLS><*^Wir\3 -XeD,NSY2j^URda:Q'RYuLkh>"\$Wfke%DNMX0f:>Tq\EcXK&>*T:(h'NerF?J;B&:MjU$$R@U1T -V4OQn]=4u>RZ`\iP)P6WNIQ_6Jr#JVW2lbdR[fRsKSl%`R[9PC\?qrrR?`nrP*(`_O-l`I[CNfL -StVjIPDY0PM3X6aM1^GCTVRa-P+8&0R@'J.LOXo2MhI4[R%gstXe1rJUo0fPS>i0IOGf$]Suf6& -W0i[-PE1TWN/rsWNJ3(@Ll77QO-#?RI!fa]KRnr8N09KnPDu#kK7AH(Ko(qbY-=t'SX6(NW1&p9 -PDP3VNK0!VMi<^aT:D78R[Ke9P)P3RMN!=KNJW7=Mj0WjO.WDIRZs#,TpUn%R%]Y&N0Bs>]u.4^ -W1ToiWL/NqJqJc7R&-.9I$gM$WN)r!Wi<"rUSXubT9te&NfB'WPFn_GQ&q3.SYXJMNX*[OG87= -Ng601Str3WVR*nG_QKflQ'e,7QAUKZS#EQoXg#$@ -YGnb-UoqJDUT1DoSsY^tI<^*fI"6s.L6[m]N/!%KU8=cXP+]:iR&6phZELF<\BMh$]Y(PER]!Tt -WjJgnQ^!i-S!^%STV/'QS=HOd]"+uL]<@orPE(rpMiF-lN0U*,MMcnEPaeMLZ+\0"ai29EdETA& -Q&D*$VRO_!f[\'gaMGNjR?sGCX.PQ;NeiOGNL?/oPGG=RQ'@>bKoChFLk^bMR@TS+R]=$>_S3^g -Xg5%%Vmj=N[]ZI!TVA$@Tt\O`a3;K/W1o`GTsM>-S#!$VP)>aMkcuYGn4bOGAOBK7AT3OGA^TNKg08T:qgFV6R+oQ^XJ=XgbR2TsMPHVO*aJUnXNW -Vl$)QPFeqd['-[;VkTrWP*VrCX/2M_S=Z[bY*k3/NIl\;O-lH%NfTBfR$aPLZ`BXaU9Cu+T9G.c -Iu0YqY-5:J]X+cFZ`pR6Z`gC,VP^)_SYr`tUQYY7#*P1:S=,M%I[?n(V7!tL_p@&cc-+2DZ_sL] -PF\G@W49OCU7ds8NL#foUTptmQ'dDpT:DLRZa$BuR@gRg[^!'5T;JQ^TVIj;R%Kk0Ng-'1X0/Y8 -^;?tLX1H-]\@8oMW26T%Y+hVXP*)*%S!fJ#O-6!:\#6@0[Cj8o^8S*:YGRtc>b%.MQ^OYRYFglC -XLba@[(O&KP_bBoWM,T;PanMKYdV-AY-G!tR%LCa[^Wf^_6fu=U7J'[Xg,=>V4X`r\uhWYR]3-U -TV.jRTp_+.Q^XMLUStWmQ_(%AOH,TmQ'Ii;Z+7g$hVQl2ageC[`kJ@E -Tq7[5LPLkTX1l[#dEKA)SXlRHNK0U#S"#k1N0Bp<[BQ3`N/`dXQESK^hs'7Od)NZ'\@fJ`_8X:0 -cd0\Vf$hOCYH"=lU7nKfYcXk&AtbTTPFJGOYH+OuZG+8rbgOqZ[Ap=5Wj]LDV4a*2PEhZ6W26>f -WMZ>\Vm*A)S=,V,T<#2uYd:C%SYW0XTq80`SWSnhN0Kg*VQdPAd)j5KcGdB$ahbg7^o'bK@5`MM@J)^VIn-Yb7r"XI+g#MMRV+_7Qh> -QD(1XYH+S"Vk^MqR?_'Q(4D6S>EEmWMlu0]Yh=SQBdSnT!#>mP)kp!Ss,2(Tq.aUZ*1+! -UpS%>S"6jqY,JP%Uoq,,W2c\eW1fWTYI;*Z^Uq.dUntfT`k&@FQ^;]TPDk[!Um@%'QD^@8R'4$2 -XK\t3X0/Y1Ydh;[)pJ(Y,7e`Wj][[\@T,OW2cnuZ(dnt`PJaOTaNN&e -gt0rubeh&uVPUH'\#cI#VnU[7dE0SVc-b+md+[(-im56:T!#H*Z*gjA>eHl1Z+[cV]#W(=\>?($ -V5Lc2^Wag-Un><;\?<9WbLOSUccskjg=Fm,dEgD"fZq:@]!\?;_7ZqS]#r('Zb*WVahOL@ZF.d' -f?hgogXtB5cHjn`b/Lj#\@?k%cI0tL^qmRg]$/s\g!.%7_ofs:[BI3`a1f!aXJr(qZcLhSf#bnQ -_S4.7^q[k4g"FKnb0A8Xe^r!W^rt0O^Tsu?Uo18qVkpB"^WFL-Z*1C$T;\rrY/8l1`QZ]FX.lMg -WNE2"Wi;e]SYr^%_8sjN`j)A>Za3u@`Q?9?\$2s;[C*TRUS+H\[ChA]XFuAT:;RW]>_Ru]sac0UoLGhR[Ph" -Ts_GE`QlfHZa$U2Ye7lh\ZM^%WOKRKWiiY<[&9n2[a!(-X1#aLWhQDkVuEK8TsD#$PE_oEV5g]$ -UmR[\eC)mgYb7YcVk'Qa\@]&AR$=GL[)'Yk\YPmeUqXsja3)NA]tV1[Q)V4)[B?^D\1^U^e\]"PMNT::t'R&7-u]Z@OXR[U:ZR[0tYVPpu4Vkpo8['[6N_nX4(Z*^pAY5c"W -W0`d8S>rcqSu/Zq^:CGQ\\Gki]"Yu#aMbj(Y+qttYH=h+[_B#IUS4g(_7[%hdF5t?[_^85]=Gb^ -Trc&LaLnL>P*MiI]=tqh^;IXs`6m&R[B$mM[]QU:^;RRq_oU$C_7Ht[X.ZB"\#?F7Z`ps[b/;'* -ZEete\A68/^:1VYW1p/]\AQA8d_N6!^V-_GYdh0a_8*puVOaE`WN*GHb/:p%Yctg\`PfjAg>(9, -a1oU2_TC3BWhHGcWi`G4\@KQ(ccEr:]<%O*T:;IFVPp,e]tgnT[^2d"YJ7cMR@9q=NJWmiS=Q@O -TqSNkXJ_njU7[tURin)_Q^O>5S=Q:H\%8i>V6n%RZ*h-U_9CWqh9aC"kjA+qs+13$s4@:$~> -m/ICEX+Fh]9h@uR<;9Jn;ufqtt -;[69%<`N1%=BPQ($!LPQ.h+>P;;N?X@&E?!^iE@:3DK@:$5!3 ->@(cL@qB=gChdTp@UoCJ!G,sDC'nZgB4YXb@q9.^B)Z?]Anl7&CM%*fEc5c.C2S$5EcGr/@U`qa -DJEcqC]8-:DJsH5F`qqMDJNs"B4kmlD/X?/BP(pnB4tsnCi=<6FE;D:B4Y^iC1q6nCMdj$CMIU" -D/O6.Ci=91C1h0mChme`Bk)+%EGoZ.C27[(DJX$#BP1sg@:!5G?t*YYBPM9qAn5OcAS>jqC1h6s -C1UmgCi"*0DJa6+BOt[cBP1mfBl.NrARf:`BkhC2%9lC3>#]N0fs# -QAg36F*MbGG_D!;Oc>'AEGTE,DJ<`qrb$LgAS>amCM@EpBP2.%Ec?#@H?aIKDK0`jAYS!K%gLP_(KJU`K;Ne`[[QB-Q\\X/:u,H$"=YH@Ud-KS"c,MiX!_Q&U]SK8"i,OcbBCF*MtQDg$AOIuBSVLj4,iJ;/u?MKO)h -IM2[LZ -R%KS&LAlgTJq8/mN2Nn`[DL"iQ^"5JZEKabS"ZUKT;.O*IsZB[Ch7'gChe$DM27(NQ^sD#PbY.O -RuiGSG]S.LCN+90BPhj=MO9s#NJ3%/C1hL8KSYA@R\usCL51D2IXcfkGBnb$T;]$!Ulpn#KmI`W -EcZ\UG&V86H&.K.Fa]%#0nt@5K7.ZOCN4H7Iu0)OYHt$^IY;=p[&0%DKRe;fE+Wj3M2-@oCMeH]UTCi6Yb?r%H[pKcG\q&.Fa]"(Mj'Ee -PbP7^\Yc$pTUqaFU:.VB]saSqI!'[_G%tuLNIQD8P+/#,KSPJEJp29aNLTpBJ#B9DTr=cVV6mCm -USaZJM1Kb\?t*VSASZ4'J:2`fF)uhnPa@>\P,Y47T;JWfUnafg^UUSZ]!S?(UT^ViWh,'&KnbPD -M3ad!Q(+2(PbG=k\ZN*ATo=JFEd`LaH\mQ(Iu8l!FaSh%T;Jj*a2u?;^V[k$Xd4ZlR%C4caoBe7 -c+_*.ZE9UOLQ.dnNe)\-F`h\IJqA5sP+e2!Kmn&[F)Z/?E-6\eMh[(OUq=O[\$i3/WMH)^['6R. -SsP\-R?i_u\@oGc^9sc(P`1E_VQH8GPaIGZG'eCWH?t+(VQ$5TP)bNdTok:hL4Of(KRnu;N0KET -H[BmhM1gJIH%1=!PaRPkMi*gsU6^q+Q^akVW196R[]c'TO.Mu7S=Q1:N.ZkJU8OiX -S84a`Pa7DaLmFF#R[0/!OIDu:LO"5kD/"*=L5CM0ItE?2MNjm9Tp1IrR%Tn-KR@r`I?0qlT;Jis -Whl\qWMZMlURmsES=?%8TW4iRJp;EeI"6s*I!pdASYW^/^rOp[e'5tQ\Z;9aJqAB0Q'7c?ZCmDD -LjF;uMiO7%SrJDXG__ECP+8>CR?;mEOGA:6KSYD;IscZqMkR,=Unk)u[_0&AUSjrZQBdVjO,8^WTUq3pNM<-dZ(e.rUmI74Uo^c)ZamZLS#2R:QCFG:US4!`m0\YkplXKf"3YHVn;aL\+/OHb]PJe9\\#DZX.c&PQCXSAYG%>_[B[$BVO*jRYa^i?Pb5.bX.53(Is?-\ -G_V\[AWBXJq_JMNj*JD0:c1Z,G#1]uAIXkj%6a]tCbOUSXreNJWah -ri9M0\$NEQ^9sl1SYDpQUT:GjQ`Ig2VilddMl!bi_SE.;S">srEcQ;ELo7V`Tok>%SY`3UR[TY0 -Umm9pLlRILKSGACL44;gI"mZ=L6%XYP,Gh%['$O6Uo(/bOd`;OSt:D*YIhHSWM#rSOc5KtWl)KR -TU:giD1@=qIX?^*N/`mdV5Ku\W3`tI[[iG;K78ZFS;r)JKSbS:H]+&JO.`AHSsPqI[[)Z)TW+QR -UR[aIWhQ#TR#mYrMNjg5ZF@9K[BZ?u]$7mmV3R%$LPL>1OH=s8H\e)RJW6G,YbD)pG,1h,VP^8n -Z(Hu8O+3.@H$k-kH?XmpNKgN`aLS:CR$jeV^;$bMX.l;`V4sfOP,5[rUmILP]Y_kGf#H%acGmrJ -[[W;>Q'\2H[^Nl[]>D:gYd10oR@]h9X1,^Wa2uEA_SOFLgs3s_`j_Y4Uoq#%Q\Kp:Ef-*EPH;gY -eB5Y?[ATRfYHb10TU2%-M3=a7U9MehbK8>qjkJ/%_oTs/Vm4FY^rFL>bKS8Xf%o09eC)[Z\Z;Bo -V6@/$U77g^aNMQCbKS2Tda6.dce@7#];qI%Xf/2"W2?hfSuK3-YI;Eob-RY0J"E1%Z*V0c_Q9,e -Ydgg2Y.Vd%`6H]Ve_T0;f[SF!gZ$u4]WA63R%q0uVl@&B_R6VZ[(+/hS"$LbbM1k(eCi[1hq$-# -da$"U]=YV^]ueI=\%TSeZF7m/eC_sPZG4Js^TafK`l5WtV4aHOTWH)_g=FBbahkd3_md+g_Z.r1 -^W=@7cHk+sc+Lg6d*'&)W1oiTV59fUVRFC`^p0Z,To5)(VPU3'e&'&GcFg!BSt)LMTq\9SS;rf* -W3X%RaO.l,T;/HeVSL6n^Tsf8V6$]"Vj()VPg2LLP:\QTsVb`bg+DCTmW#` -KQr$0Ts;/3TpM+@V4!I*MLg5/NgZN4RZr_dMN!XZM2[OZS>i`tZF-m5XhMZ\VQ[PC`QQ<6ZFn5p -\#H$kS>AVVQ-\nUp$khMMHnBR\cpJ -SYi?mY,82(\@8fN]"Z2)_nN[_TVSH_V4aK\YG7\TQ@G^;\?`!?`Q>cs[D'\uZa.-@R%q+$]X"/l -NK^-?\\,G\\\>Va_9UHHZ`(.6Y,A2&]u.@o_o^-D_7?YHT9PeFX.Q8lZ*1XTa1f6nXKA_4]Y_Ii -XKAS!T;A6m_o9mD]<8HO\>GptY,o7B[^`T7PaA/;Tru/K^pgG@VmcTBDop8YhV$K'aNM?1_90Bc -S"lFHUnt/nX1?Eta1f'iUl_@9NffHkR?=&D[\fq(WL&^=YH44OO-bTGGCbX/N0'BfP+/5 -lMh.Mg#D;gq"F4HqAo(2GAmdT]3lg4*2o^MA=nalACrpVl:o(2JFp$_D>naZ2A -oC_\Co(MhMnF,f3m-X92o(D_Np$qM?naPu6mdTf=o(2PKq=aCIlgjZHoLncEn+-,Eq"OCKlgXB4 -n*ol:na>r=o'bu8oCqhGo^_J>nF5o9n+#r9mHsE6o'l,:nFcDDnF5u=o^DA@nF?5Jq"OIPn*]W5 -naHJF#Oq?[qss=Inc&%XnLF2-q"4(FnaQ/Ao'Pc0mJ6YVq=X:Hmdp)DoC))6n*KN5nEfH+me-2B -o)/$,md0?2p%J(Ko();p\+4Kn*TK.md9?,naZ&8n*ol=o(2GDnaZ):mHa*.naQ&9mdg&B -nE]<+qYBdQmd03&mdp/EnE]B.nal>DnaZ8Eo'l8@p%.\AoChkUqY'RSo_%eBnaZ,;o_%hKo'c&< -o'l)7lKdg(me6Y[p^?oop\".KmdBE(n,31b55Fa7mdTf:mI9W4m-jB/m.C2Nna,]7o'l)6m-jQ< -qY0[Pmd0?1m-Ns$nG2nQn+$&Bna5c1l0Rm.n*orCrqJnToC259n+-,CnaGl2med%Tlga`?lLFN9 -lKdp1q"4.Lp@7M5m.L>ToBu)Aq"XFFlgjW7oBk`%l1"HCp?h86j6644rq-6])=d:dmc`p&pA4X\ -mHj<6o^VMGqZ$TloCMMOmW\'blL"KKs7ksElg=$#m.0i1m-XE@o^D8s7u0PnaGf/lLFN< -pAF[Sn+,l/nbrIZnFHPXo'>`Cm5"5)m,R6rqu-Hfo^MMKmdpAVrV6'Xo^VA9kj.g:qt07?nFuP? -o'>N-qYg-Sp%@qMqYpKtrr)EOmf*4pkj@p-mIL&Js7GF;qYpM;q"FRar:0:Pr:9+;o_J1Lme$2B -nF>o1lgOK?p\=RZs7,=@p\OIImI0T:p%7nGmd9Q>s8VcYlgXH5lg=?@o'lDRs7c'VnEoW4o_%_; -n+$#?p%7S1nbE.\oC)/;q"=1Eki_C/s7Y[Ap$_,4nF,c/kN<3BpZh,1l0Ij+lh(2H$g?mGnbr@V -lK\!=rr2qEql1+0.nF>u=qXaCPnF,l8lKRNrlKmj#jll[Cs7#@Ks8)-I -p&G'kr:/q&g?ee:1@au1mHO?@oC;&.mdg#Aq>]pQnF#i?q=sRXqXNk=oCM>As8MZYoDJXgq=a=E -mI9?5rVm3%qYK^Ilfd?mo`"kVpZgu3qsrt9p\t!\q"=:Pn*^&Kjlu*uo_J4LkjeNLq=aIOm-3s5 -rV5dEkjIg1s8Vi]mecS@l0Rp6qY^3dp\Xph3WAgBm-sW>mc`g#qZ$uDp[e(JmeZnOmIKrBmcj33o^DJG -oDAOVlKmj"mJ-VSs7c!MmHX'0p%7kJo^hePoBbr5lgt#Fp[.89n`oH4s8;K`qsED/p\k+go]ki< -s8;K_q!RG2lg=-7rql0Vo(_bBq>^6Ql0n05naZ8;pAb0aiSEVjrr2KKhrX+dl14QBp%S=[p%\F^ -oC)&;rVuorq#(0dqYUi0k3;F3mHO*4pA4gbrq5^R -q[rV$6js7YmRr;,mK -kO\QHn`oN9q"j[Nm.C#Cq"3q:m.^JYq=F(Fn*0#um/6bIme#r3o^;8KrrVr\o)AYGp@@bFnG*"\ -r;Z]ena5i?p@7_Kqu-Kel/V4.iU?=&o(;82qu?]lmH3a(q![eOs8)HarVlhHqXEkAqXs=Lp%%eR -s7,LKoBGT6p@%_Ts75UNkj\HHn`K3:md0WFq"XgenFQGPqtKUHkO%g7pZ:<"kj\?Aq>UEno^28M -q=a[_s8W)nq"aFClK.4$s8Vi_nFQ5=p&G$\p@7VArr;uhl0e39o'uDJnGiIVo'#&umeQn_Hhm[; -lgjB,q#C?_kO&-Gs7l?_qY9saq!mb=n+H_Uo_e:L?nq=jLFk4ScSqY0dUnbD_F -p&+h?rq>sTkiVR4lg"08o&erpl0eFrVuojn*oo6p&F[KlKe-5pAb-`nFubVs7bdFo',N,n,31b1&(_L?mn)3m;s(;&nl1b)Ts7>1)ip-".q!n4\ -rVullo'G`9rqQNnp?h86jm_[3o&/j2oBYl2m.^2Ao_81]rq,gQs8VcTi8a5#s7Z-Xo^_J9kj@p' -n+QGMlL!Zpn+->OmHFHIp[ItVrV#F2mf!.nk4%s>s8W)egZJ/*rr32unaZ;CnG`Fe7K)lEme6DD -m,mX/s8;N\p\=:@iq!-Cjn8ZRp?qPDo^qhHnb)M>pAb0bkj7d!kP5)Skj.Etp&4[Wq>0g[s7PUE -qYTsbnT"F*rpK(Dp@._Ss6\e)i9'e6q<./Fqt'4>kO\TClh'uBnbW4]oCqqEk3)+#s8W&orq>jQ -r;QQ\m.0c7jR)j@nFH86r;$3cp[R\>l1k5Ikj8'ArpJtqXE\;s8;9NkN_F,qX#5RNRp%7eI -rr3K*lL"HBoCr1Srqu6Kn,*+aE;]G,q!RVAs8W)ns8W)an*oio7me6\Xp[dqE -nFHPTqZ$Tlo(VtNnG*"_6hBI'p&G'ks8;HLs8)*Vp$DMSr9iq>lf[C&mJHq`o'><2p%nLVrVuoi -p%.bDoD8LerpT(5lLXrOnbMk?q#BmBoD\asp\Fj\p](!PnG`=aruCb-rVlirp?VANp?1f/q=j@J -r;HC6l#Q48epA"+>nbrItr:&\-pAb'f -s8VcUlLafKrs&Ajm-:1ip>t/no(`"Yn*TrMo'Q#=oCV>,jn\rNmH<^&q"aUVo(N(_q"+1K -lKe?Is7Ym\rq#FCp@dtToC2MPq"Xj]r;ZfplK%F!pAb0lq>:3flfI[8s%DqMlLFN:lg"*=s8VQH -l1Y/EjR3$Iq""(Hn+$&@mcjTJrUK@FoDS4ZrU/t>qZ$ThoCV"tq""@Wq>0d[q<[GCrq5dUqY97B -l0J9I$1?mArVu?Fp](0joc!>oq=3_:oChtWp[I_Ms8DNRp%%YHq=jacqY^@0p[@bHmd^>Sm,d^+ -q;_#5r:04pio0G-s7Z'YqY1!h!;ZQm)YNI]ip$C@s7Z?is8Mrnq"ss\r:0":oCV_M -r;Ua1l0Rs;mc!I%o'PW?s7#RUq"4C[r:U'hs8;oko^1l5oAoQdEl0Id+oC;2Bs8MTXn*ooHs75FCrq$9f -qY:'i!WDWhrs\Ysq=XFUr;?<\q#:6krse_gmI9o?n+$)Gp\+.QrVmc*jT##Hq#:-cqsEhAo_A4U -q>C!UnFGu5mJ["`s"4-@nF,rDqY0jds82$CmHmectQp&4I]s7kpJrVZ'Ah -mJdRml-#]NH$4CVG'%m&G5cU`FoHR`FoQXaG5u^_EXQr1F`_VADfKi?F*%;#&p&/;H$FLUGBe:R -G'A.TG^"=SrcnHes)oK,FEVtYIXQQhI!^0dI!^-_H$FIRFa/7]H?sj`I=6MBH8g1uI=6QoH$Xd` -H[L6iIscNhJ:W/qH$FLUGBnUdK7nr2Jq/E(IXHKiIXm!"JV/Z3LP()(J:[]O7Y#r9J:`H/Kn4Z" -JqAW/L51SAL5:V1J:W<*ItE<)KoD(QNJiOD -rdY'$K7a)Q2M6a>IXls"JqSf2LPh%JKReN$IY!-'It*!$NK9-[M1pS6LPU_>JU`0"H@10iH$FU^ -K7nl0rIcPPJq/E+M2I.DL5(A5JV/W7Mi*:DK7SQ'Jq8E%KnY,0Jq8N)J:E%IJH:CTre(6/"G_V[ -IXqEK2h-@8R%'>"MM?b9L5CnGK7&#pJ:W3!H[C3kI!gEnK7e](K852CNJiXNMiluULP:A/J:N&sJV&?!KoCnAIY.QT-&%)0 -N/j$hR?`klM2@+BJpr0%NK&dIKntP=KS"c'ItE<)K8,9_M].G,K7\`/LP^qFL4k5:R$s"fMN3OH -MN<^RNrG54Mhd1HKReQ)NL-)tOHZ)uP`CKRN/WRNKn"K"L5h:WN006^Q_pdVT:(n#K7JH*KS,,C -QBmblLl7@VNK03kTV7grsNf'!l -Vl$5\R$F5?T!,;cOdD5_K85PTU91uD]<.`qQ&UcfOH,6XNf8gLN/WXMKntYIOGo*WN/u -KnG5EPEMQ0S>*-gUQh16R\$F\[Cl -N/EUWP)Y?aR\HaaZ)=(aTq@X/KnY;FO,JjIJr,\\Ob8FPN.m7RO,AX?Its/?NKTX%X0/@qS"HFF -Str$UT9P7pS>iZs\@/<$OHGcaLkpqKO,]*MJV&N.Lm"6oOGAJgJn'@^J;KP]QB7<"R#ZcGJVf8? -OHuK8XK84dW2Q\cNg#ffMMm4GOG\[JKpSBqPFe;,R$!AhNJE:KKSYG>LQ%4MMN*acS!oY)N1Ho? -P*2H=UQgk0WNNM7Z`KgjWO8gqO,nR?K9DRbP`:fmTVA3^[]6F-TUqjOTq%mOQ&:BTMi=(!T9YG# -R@p%7OG\[DM1h;!ZEC4)U77:&NfT6jXM;T`XI><=TU(RuTW>)kWhQ2]T:iWQs['RBaai2$+XIYRSOVE_-Jr,\VN.H51R@^=f -bg=/7X.>IRNdlt>J;B/BNffd&S"-@VXgkF2WMH>p[\p(3[D(#+ZF6WnLl@:HKoV@_R@'A?Y+_G\ -U7IL-O-ZN8W2lr*]YH+h9\[8rMT9kXnJV/N&I=[!'Ll[XVO,f0bTUMO?Q_'h=SYiWmW3j=K -ZG4T2da,q:T;B!6]Wn`FTpbqGCm:3SU7IRAU8=HMWk#F5XKJ\$S)%p]X=rHZ)XIdP*2B6U6q(*QC!r4YHOb'X/`G>ahtWkZF$j9 -Vl-DZX/_kjT9Ge6U9(DnYcqK*RZET)Y,RbGO.d2fQDCgpZ)YI9SXZ1N[&p!oRZj,6URJ-\UR@NsTqn?^Xf.eVP)=jJMjC?IYI23j`4s.- -_6g)Ra2GWsTT+l)X0o:-Nf0*kV7!hB`6ZWN`O`(:NfTEaQCOG7Uo:3&\A5YNX15@0WMQQ#[BHj? -YIq6?V4t?%WLoZQWjKC;U7I[:O,]6gTp_[TVPfcHN/j3lTV7^=J$$>k[DC&+YF(68W2cVdN1-QL -c.'bJZGY,Fjm(gR_RQnOUTq\SZEU@)X0oFBYGnV3]X=f;USY)mW4'=AU:JUq\"8P7R&-jbZFI9? -XLGF"L5:bAPcDU(St_gQZ+76DZ*:70]r%*`U7[^4NfKI#SrSbqR['GHYb[b]TPp^:_6ou4[]u^) -T:W'iYGSP2Yct[N[A^%#Ssl7LYJJ,eY,7J>MP-oCR?sP=S!BVJXeV_kT"DP>XJD;NQBS2ITp(_0 -S"#CpQD'tBT"_qKZ*h9VY+1fJXKnn'VQ$`2]W7g(TV/0XR@^^r[^IWjXf.thZGbAI_5X9,R?Eu! -NKo`hQ)(UZQ]e&M]t(DT\%fbbXhV6P[q<"GSXH"JTUMF>Nf&slUn4BpaMP['Z)=hE_6^GLXJi2" -St3-aR%_+-]X+N=^;Rh2hUTc,$QXS@Q2E^:VD6dDGn%I)a=VfA>*&aii#[f[%4D[\C(EXIurB -cc*N0_md7o\#?C>]@,ZlbK\Pgg=OWfb14YF]!T2f]YM_6^:qA*c,7KFce@1#\?`fa]<\N?\\uFs -Y-k1.YH>e"g"=p,eC)[c`lGp/`6m2``4s44dF6F^^r4IKgX*[C\[cI\W33nHWMdASgl"aj8Mb`k8jaVQ7M]d_iQ3];hEoWN)_t -UnOflX/iM+ZF%$DSsZFR\]N%4^;.\$Yc>.ObK.W#TV8Nu\$3$>[(3WBSYs-L_R-nl_6U#:TqA*W -VP9Za[&fplStW<\ZEU1%+0<&uf$(qASsZ^\['@$IYHb4$Q`7C$]>hq,Vl-)X\c0iXb.+IU]Xk&- -WjJt.X/i.uTp:e0W3X+V`k]@,_6T\rS!]_FZ*UmMYd1U@ZEU@$S=>e5XK8"]USFfNR[0\9R[BVF -ZFIj#`k&.H[)'Mc\%TD^]ZA.-aihuTC;Hs@R@L7haht^(c-4#;]XPDZX/qkWS>WNu^"(WU`knaA -PaSGGQ&guaOIsA-XJ2i+]un^D^;A7E`QcH?\#ca0OHZ#oQ`@L&\%T#c+L?r\@TSo[B6U,WOT(2\$**O`PoR%[],^mVj`a:TqJ6d\$rNB[(!KG -]ZIg^Uop_cNK#i]R$=&;X/;_kXKJS"UnOBNS!]J,SX?7RSti?ZZa-KtT<>AnS"6e!^;84Pe%N-' -ajK&Hs8@NKJcC<$gAc[~> -mJdRmjM6^e>>\6r;,U?g<;oeq;uTbq;u]hr<<,np:^^,u;c?Lf:/Fhe;H!Hj&lMY-=&r:"[(B9>[(?4=]e['[1K=?XI.=>W5qp?XI2L?!^iE -?XR;N@piSMA7]4V>?Y-2=^,9CBPD3pB4Y[f@prbR@qB7`AnYpqCM.-bAS1pSH"CJpAS5^mC1^p` -CMRa%Ci+$,BkqKuAR].]CM7?qBkCslCi401FEDP@Bk_?uBkV0oDJX'$BPD3tB520qCN=Q>F)c#1 -B4kmlBkV-lBPVL)B4tsmBkhBuD/aQ9ChREnAnc$qAn>RgF*2VHDej'#D/O6-BP(i`ARJqV@U<>H -@;'?OB.%J.AnPmtE,TN.ChdWrBkhU*DJNs!ARoCdB4Y[jCM%*gAS,ReAnCpTs(hXLs)`L*ChI?l -BP1pgAT3-NI!0OKC2.O&E,0&l?!^oG?t*JOA7]4[AnPmrC2%O+EdW.VF`qqPG&hbMG'A=^H[L*[ -EcZ5;CMIR"Df^)QNf]HeNJW47H$"1LEI<_2PDas6Df9W5Ch79nARf=a@ps(jDJ3NnDK'N4,]IaI -H@1BrIs?'UEH>u3An5XtF)>Q'Ci!fuBP1ggCM[d&Dfbo$ATVp0D/F65F`qhIEH?>XLjAn#@mIXcZeH@U?gFDPf8F)Q)8An,CgF*`7[I!g*bMi<:?I!9LBBP27"D/jlN -Isc6TFEr.TGC5($MhHM(GB7h6EcGu5DgdLnEbK'$FE;GIIt;riGC4gaDJaTLJpr0"Ko1Y8H\@KH -P`h)cLl[saS=,(VIsc-TH@Ud2RA6g[R>d#VIt*3(IX?HhG]dqIFE288CN"6;FE;SJF)lDBDf:,H -GC>$pF`;58DKC)NKoD(IH#[tVKoht*S;D]BH[:0pKn=o0Kn4r?ST&EI2\PKSu4nWLf3)MNNp\ -P`Lr_IW]snRA6jhYFLDsI!]aID/XN=G'@m(E#3H%Dea1hF^]lZ -P+&&:R#d])R>Q<=Irf^TEH?DHDKKlPN.Q\ANe<4BI=-3UCN*s$CMI[+FED\PI=d3-JUDm,SX"q_ -Oe%ScJ<6D#WN;tgO,B6qQ\0L(Che9HI=cfrM3=0lTrk)bBq1BGNK9*XOH4p4Des<5KT:tAG^Y7' -KRS2fD/ON=Lmt!(Q&gl\IsQTqJW?D9^pg2%KnYG9G^PL?SXZ:@R@9G-US3U)M27%GK6M0SI"?]m -IXcftM3aQlJpDTpL6.moO+D_3G].M,G(#46WNih9]>_k.] -[]Z6aK7%ofFD>H,FEMbSLlR@PQ^skRTq@pER&$XKTs1`1aLe@KQ[s:(G]7VJK85>AM41'"O-#HO -ML]qsKTqdoTVJZrWMHJjUSk<#X0SOeNIc.fCM76gAnYmsGBn@WH?b+&LlI.ENff9^R]*'WX0o"* -[(si-bf6raW3Eh!UmHj`F_Z,WP)=O-HA.*-HZO=_P,#.g -]tqY/c-:%B]sao*L4ktt^Vn",b0e,A[^36,KS>SXQ]6]NIWosUG'nXZJsDq&Q%XL(D/sN4EccMS -L5qC^RB+!4\\k\OVPL,hYdUd4Ssl%5P)YESMkR8VZaR*1Oc59^Su\ukO,K^(M1g1qF*;_:H%hNZ -SX>q=R[BP*PDY$QO+`"8KRn`2NIuM(KS=_qJ<61YM2@%FO.E5SX.c#OR[]e1PDk!7Fa/CtPDkKh -P)YQrUnX3;Q(k7SQ]d]$PG,P(ai:liS_@c[Js2guP`q)cR]E9IO,fEjT!`JOGfF$O,K@"USOicP*(liOGnpFI"I*4 -MgBN!KI2eOTrG<(Z(7/U[^rr[[^WKa(kg_oL3` -inDo+\?3$GYaUE%I=-^!IuBemYe7uta1eU=Mis*LIu]_ZOGo6[M3Xs2P_asHMN![_VoIZ[lfQ@3 -`jr@^]=l>9gXk!'`j`OubJ13SR[&kgO-0F&I=d<:S#*$VT:hpLWOAq,XK]4B]"u(cXg51:Z(R&5 -M0jc'L6eX8V4b)aP)bWoV42PTp:\'P]WFt\?)$dXeqVWQC"AL -WhHQ"Y-,7FZ_aFeOc#'^S[,W*Tpg[WFbu6AKS,8GMMRFhURRgIR(9]2W1]?5Lk:bUMLL)3MMQS' -KTVCYP-_R"W3*G3Tnn8UR\H=?R\$@^Z(RJRPE1rjLlS74XKAJ!URn',Y/&B/\"K@`OG8aFI=m&q -IZ:"fNJNq$Z`g=/Y-tg;V7*G+Y,InQMi*gWJq\i'G^bI.NgR2i]t(MKSYj'5ZEBpmSY2aEQDpI8 -Q*.X'X.ZE%^V._Ef"Sfhdu\@fu._8FOBg"al]Ye%TYYc=^<[DKknXK7nb -V5M,_f@\a,e^;[a_o'-q]un^D]t;&!dFH[h_o9dLg'd(c?HVlm82\%&fKX/MtlTsMqldEfkATUVgZX1-*h[\fp"XfT(AZ)jdjP`qT,WP$*Z[^`Z@ -QAq0'Vk]iAL6S'fP+88HY,7\[YJ79LR>HrjR[0qFS><-\ -UT'pcVfAGmMOC*D`5]L#]"Y\SUp.\T_n;V-R&-seW2?T!['?6dS$'`9VQ[VCYbe(aR$jA.P)Ga$ -R?*>eQ(aSDW1KTVZ,t\G^U08_SslOQXKA=qTTP5,Y-57J^UBW"OHQfca2c90W3*S9U6)+NVkBcY -Gb1RpLk1AIT<5]@]Y;7rXd=]nIYX>fWi`S)VPU)cV4a'5M1phWSWSksQ_&nmMO0<`MiXC*XL?*[ -YbIeq^VI4[ZF$jH`5T=)^r4.#U6C\#SZoi>ZFS*!^::YWYcjdpP)#$cU9D,Xf$;:JTSA2^SI -I!fFTOg`$*V6.)4^rOF+_9^HE`kAp`Tqe-3MMm4FS>N3`Z_s1PR%B_+Suer_Suo5oVld;2Zb!i` -\%KMgX.>cVYG7A=KSl%gVP]o[]>D(bVPL&bVl6]#Zc()*[BH[2W3NTuUmdsOU7IsLSYi^#Z)tje -`k8mp[CQALWmT9YJ"VRa:OdFupVYdqcsh>dNR -JcC<$JcFI(J,~> -lMh.Ti9'Cup\"(GqnaQ,>nF?)>n*TT3mHs?2oCVSAn*oo>o'l)9n*ol`6naZ,9 -mHa*'m-a?0mIB`=naZ8Cn*fi>o()eO.Icfmn*oi7mdTc;naPu7n*olp@n:So^hS@n*oi7 -mdKW7o_8.[o)J1bnaQ)=oD&(On,DhVo.0D"m-a?:q"XOPmd9E1nalABn*ff7nF>u6lg4*3oCDMD -naZ,=md9K6o^r.S)>*Lhn*ol>oCMPCnF,i5n*fW2o(2A=mdT`Eo*=jUnF#f7nF->Gs6`;Go_%eB -lgaiKp[IV:kND*tnauA=m-aE6n+6&;o(2>>oCMYJn*ff=o)/=Xp%@tIna5l;l0S-@qYTsTlgF64na>r;md9N4m-F6;p[R\@o'l2>nF,i8nbW(U -oBu);p@7\?lgXZCo'Z,Ep[dh?mdBQ7o'u;@nFQ5@nF,l9naH#?oCDD@nEorGo'l5Bna5l9mHjE= -qtBULnal58lKe!6p[n"GAb5s$p?_&3nF#o7kN;.&q>0O@kih*oqY^$Vn*fi=o^D86lg=?>p[de= -md]i:o(MeRrVH<`oBu&5mHj0,r;Zfllfdd.nEB?6qXsIQq>BaIlLb&OoC(i)m-sQ8q#:nau2:md9<,oD8IZm-*d%lLFcGoBu,>p@@\CoCDG@nauVMo'u>Bn*]c4lK[a*o_%nI -md9?/o(;SCoC_P6jQuI'm.p\ZnEoZ5n*ou@mHa0*kNMI5rr4YLp$Cu,m.LAXp[7M@n*KB+o(2AB -p@7A7nE]3%p%7S:lhLGLmI0H5nFcPCj6?48rs&8hn+-/Ap\t17rV?3Umcs$!l14ZGo^D5Aqt]mS -n*of;p%%J-lgO<.m-jQ>pAP$kp[RhDrpC?fnF,`6 -mHEd$na5N-p&+UVrU1Nhmd]i9nFu\NmHX92mI]`1n*fZ2nb2tP'_(eio'PooCV_Lp@\+No'GW*o)8R]md'<4q"OX_s8VZRnGN7YmdB]>o'P`(kNh^3o'H5P -s8)-Qp[.A=m-jT8l0ms-o^q_RoO7=Vkj.X%mdooXLn+$>Omca'0q=sLLp%e4Qp@@\An*KNrVQ6T -md06'oD\dcnaHMPmHX$+q>^*WnFQGSrr3l8p[RbFp@[en_iQtpAFq:pZpr*m-=!+o^DGBmJ-\OlgXQ>naZAMp$qhRp%nRR -lgaW8o)&Fd-i3H(lK7=!mdTf@p[n1Rq"+:ToDAR^qXa:Op$D)>r;69gs6nn/rr)j&qssIWs8Mcg -o).`0n+chYp[RhNq"4Udp#b8okO8'7oC;DHp[7,)mIgDUq=3nAm.0rOs8)B^s82TcqY0LIn+lt_ -(%q1qs7Z*OnG2\AmdBiJoBPN&lLXKCm47i-rVuogn*B<0p%.S8lL=ZJq"!kDq==+Vp@InJna5c9 -q=X:Jp%\=UnE^&:=mGb]p?V)4lgFQJs7,UYs7uTcnEfQ-kNha2l0@p=r;6Els8DK[p$Cr5o_%kL -qYBaWq=Nq6meQhXp@.G8lgsrEm-3j.qu$Bls8DTVlL4<6nEfW;mc3F.ru(RtmIpJWna,l?n+6MT -s8W)ko'l8Jp$M29rp's^p\41Iqu?]eoC;PRs'Y9Uip6=:s8D0Aqu?]kn+?GMnaZGTs7l'Np@n4J -lL"3:qu-9Yn+-/Oq!I;7qZ$TgnaH)@mcip"q"O4Ho^_Y=kO/?Ls7l*Rr;ZW^mIKrAo(N"Zp@@hE -lg+'/n+6MWruV./lL4K4p@[\:n*BB=rquKVkj.X6q"t*kq=!P5p\t1!kp3u]#nFlbVq='pfr:p$[o^hbSs7c'Yo]l)Gs7l!Lr;Q^(mcjT1q#1$T -l0.="p[IYKrr5"WnEKK9o_\[dqu$-Vmd^#Jrr;N_r;$3hs8M]]kN;I;s7lKgo_&7aqu?QgpA"R^ -o'?5Dm.0f8mf)kjm-*p.o(`7_o]bT.q>BgMnG`ForVHmcj6=rV#p\s8VumqXj",rr<#q)YU3`q=X:Nkk"fPs*4J5nF>r4qZ$TorV,gOq>C*]lfda. -o^VPNo^M88qZ$TboD8FYkO/*Cq"=7Qq"*kDrqu-DmdTnET9-o'Pi:p%JFcrq5aB -lh9l0jn\rVq=o(VeDnalGPs7PL9p\*nqsX7Ys8;cjp$_GI -rr3u1mdBW>rVuNep?D>Olg"6Es7c!RqYg-drpfIRrVmf,pA=^arqGjOqt0:LqYg-Un+H8qYKjUp%n^eq=XLQp[mhJs8)]lr;--\p%JC_q>1-kq=4+Nq>UEoqtK^Trr;f]m.9uD -lgOfNoBuMTs8W&np\47Gq#0@5o(_hLs8VlSj7N6K#5n>sr9re8rVm#uo&\s%r;QlgjR)jDs8Vp" -q=X+L9doBPArp](9in,;tL -o(i:[oDeRVqu?QgqYU9l&,beVmc3j;s7PsYs7bg@o)/M\q=*qGnaH#?qu?TameQn_na,rKs7l0P -mI^GYq!7#)o(2AFq"+.Aqu66YpAP$krUfaBj8],SpA+LRo(;;;p\+(Js8W&fp$V/BrVn8:ioKk6 -p?;;OrUK@EnGN=\lfmj-nb)P>lh:AYq==.InFcJEo(VtZrtkY.o'Q)Hq"k$gn*L#LqW%#4r:9:E -p&=pi&,c1ilgjoMp[IqUp[n7Zrqud&oC))2kj\KGo_8@bBpWnaZ5H -s8M`err3Muk3;C*md0)umeZtVmH3j9ruqC3o^V>8o(MSCqZ$Ndnal>Os8MKNm-sB3p@n4Us8Vre -rr3?$qtp$Uo(VqNp&+af%K>tfmIp5Iqu-Bdp@e@^rsJ\pmecbPrVufgo`"ANoChnKo_8(Nq"jaV -oD&(Urr<#onFZGOs8)<_s8Vu_n+lPBo&fH6p\ssPj7E6LqY0dZp](-bq"F+>m-=C9gm-j<7 -rVlrip\Omh0_b)'n`oN->)o^MDEqXj=Kp\+.Gqtp0^oC)2AqXF.NmI^DQrVZ6OmIp;CkMkt-p%/1_s7GF:n+-JVrrE%L -s+13$s4mX)~> -m/IFgeuXmaH?jaYG'Nh+rcJ0_rc\9`s*"Bc!-A*Z$$132FE2A@F*2X)FT6CoFEM_LH[0j\H$OXX -G^+L[H$TC6rceBcs)f]2G'J=[H[9saH?jg`H?aUXGBS.RH$k$dH$O^`I=-?cH$O^_I!pG?HiJC@ -I=$6dJ:W/qH?jaZG^=dfK7nr3Jq8K)IXHKiIXm!"It<6*KnFr+IXh?I%Y&qUIXm$&Jq&/nJqJ]/ -rIYW4KS>&.IXcs'JqA]1JUrLRLa.h;NJr^DJV&K(J:`E,K7JE"It3*%KnP#1MN*RRMMHk9JUm`O -rdbW4K7n]&J:N6(KS>25;LPCM9K7e`-K7JQ.LP13UJcC6!J2r46KntSDMi!.Kn+T$J:;loH?jmdI!gKrKnY)-K8##?Nf8jQrej+"NK9*]Q^- -M1p_>K7A?%M34!bOcu'&SP*(f^Ll.1O -H]3uKQCFG6Q'78dLkphBLPhIsTTk7eO-PidPFA&0Pa%Q'LOt2@R[]V,MMmRZOcP]tWi)VeTV%pV -U9(>_P*M/`Knt\MS#N0'0bN/<1< -Jqo>LP7sFXR#H]SO-H-/WM,Q9Nf]?fSY?%SGa4DVU9D#8]L6%7PN/<4?LQ%+PQ(4eZZ)O7aV5'WYX.l>VO,]O) -YH>%?];_!NMN3IHKnbGAM26qDM2-hDQD't;MLg8-J:`N9Q^X+sOI;>iIt*31MiR&.!YQ^"#4 -T;/HpZ)FV.]s=/dNera`R>m,fS"ldQU8Y8tYcajrSXPh1SXu.+reaL2Q^sP+M2d^ePE1TTJV&Z4 -QD^pfV4aEJNJEITQ_q1)]XOo0OcY`lQCtLm['R3AW2QMbWN)APPEq`5Ss5(bMMd.CM2I.PSu/s\A?,$^q-Y@R$EhrLPCSBNK/sUG_(X/S$^2[_7[1YVOj*8 -OGJOEM2@+MN09ErWMZDjURdpAQ_^ULT;Sm+bK@`CX.560M1L22PEu3;EN6=ASY;gNR?a,1USY#n -WjB4=Ye%NW\%fbn]BQ'@Z'PanM=U7@aKURe$UWMll/_n!%ce(2plagnFU -^WOO-]!%csQ]mMpQ^XA1Sti"P*hrH]=Y>ET:MUHS>E-[SQCOSCX0T:J -\$Dp(Wk,dS_Sa7$ZF%-OA$DkuPEqoAUR.(*R[oq?WMlGfX0/b?`5B:"[BHd?ZDjIeXJhefSWK)( -Q^aS>W2>`COHQ-.SX,G'S><*e]#)D#\$NHM[C<`cbJ:d1_R[Iq]sXf<\&-&$Z)k:E_6f_kN*24, -Trt]([]H*dPF.o8TU;4CWOT[OYe%T_]!nc1O,K3pWiDtmQAgQWR%pjr\B*(GfAYiNf?V+=]uRmi -Whc<:;.=StW'g^W"%"^oaB,Ss,>.Tr"BQrhWW!_SEIMQ^OJ>R[gCshT;JETXK%nWOHP]aM2Rb$Za.!Qc,RN1\[/6,a3;?)WL8a/SYrZr -V3?n$Q`J'B[CF2p`5TKpRZ*2gQCsq=QCahC\@9,XVR+(IXfS=r\\PefXf8Y,Tq@aOVm*CTVPUT0 -\!iqXP*MZ4R$XJ8V5pPoR$Wo$U8G#oU8GE9^Ve@B_6TYqQ(+53TVJTiY.;-T`4sUMgYq>Sf>P/! -TUW$t_RR+_YHbXN]="]8W2lnoU8=ZeZ*V0^]Wi)nlV6@(rSYWpZ`TmrXJibD\[&-(R@9SG[&0+PQ'I\pNLZ]2R\[d;\uVa2 -Y,It[R!GF&Tr"oqZG=GjZ)O7\T:V@=Z+doZYH+Y%Y.i6;ftXA[WM5r\R?<]#R\HjnY+:iIVlctu -Zb4<$^U_7h]YC_ES#*EbS!]S*Lkh1_WMu_s[(=2q]WJ-eV5C/eTVAa1d*^%[da6"Qd,F-=cI("]]=+f=W2l\\ -R@'_IT;/g/]tCtcYcXq*Yck:3V6@;,Y+MGjW2I/D_SF4BhqQGr_p?NLGIjc`_7RJ#c-b"kgt(?D -iRlAfZ+%*J]=b_f_R$JKZ+S<3fYY5?f$r:.jOqu,e'Z"5TV\cu]XtSW[C*uh[_'#T^rX0nXfA4k -U:IbMb.XpRTX;;K_RRG0eBH1_aMl6Jg>(<-dF6\#gXO*V\>HXKWij"Wb#uNh]>DP$_Sijf]uJLU -eB-%gf%AU$`lc]M^W"+0_nEk(^pUY^a3D]Lf\#-;bdO[^]=G/LZ+7Wb]=>>U\@K#ef$;[kda64\ -aiV`H_SaI;`4Wk#`lufVIa#sYdb*:$`PBC0]s=uY]!8Q`eCiBr_mchFS#EQcUqY'qcI^djY,o7Z -bKS5VbJq/_R6SZb0J)C[B$1,[C)tXHT0AUmmsMXgl0_a3DN9[BR'P]XP/U -]!SWI]YVb5bf[MoR[p:T[(jAd]Z8.4]X>&KY-)]ESpaN=G%H-=Ubd`TA7^UUnqccsPN_nj+(`5TR)Xer))]Xt\^\[T,cbKe5E -]t;"o]!]dD<5oW1B?JTsD>E]th.Z\@9;sbL+bZe(WjC -gW[CB^ppnj_RZnUXfA_.X0SV#^:_*]^UpbJTqn]_R$sV>X09%AXfA\;]=>Gg]WJfXgl3rkk"*%k3dg#JcC<$ -h>`!~> -m/IFfc(0)k=BAL$<)r`nr_ibpr`&kqs&Att!)`\k#uOT!;c-@f;H-Wp;u]`0;cH^r=]\X)='&F% -<`W:(='&F'=T2D%?b96>?Y05>?Y-0=BAO(='8d6>[(E;?=.#D>$G39?!d>6s'@-_ -?X7#LAR\tN>?Y05>[V#SBkh?pAnG[c@:3MRAS,LaAnYmmB4YR_AH$.0A7K(YAS5[hA78h[Chd^! -BkV0kB4tpg@q91dB4ksoAnGanDJjKCM.0hB5)$l -C3>)^JpDNZChmd&D/O#s?X[>L?!goF@UihVB5)4$C2%L(E-lnUrc\[S=Ec6&:An>[qFa8%HF`qkUMN!1:F`2)2An,[nCi4HDH?X@J -F*;_LGC4ppLOsu%GAqL"DLHA@IYrYtBk_X8HZspoMhZh9KnOG[D0^nnKnOl'K8,#1LQIphP*;)l -Q(!o*Q%a[;Hua@TH[gd3S"cC7N/NIBKoV.LJq/E&H?==PF)Gi4EHQ;@DfKi;EHQ2;DK'W>GBIkA -CM@X,H@UHuLjsM_EI*1lP*V,XGBeF[@t9DpNK0!OJ;'2ZVlHhsSOI;GrJr>tfX0]7>YF:?-S?8uoRZs85S*9D/*ctBl/'BIXHd-N.6,!G]e.PGBe:R -ItW]AT;8$>N/*"3EGtkrG]RkHGB\1QH[U9_EdDtQI[pEH6;PK8P\JKmn<(Q]m8bQ_BCn -L6.[bRA-[SQBe/DSqqE-E-6bbH?k%#QC4&)Su/?]U6q""L4Y&8MLKVcD/E'lK8G5,FEi1bI!BaO -CM\$8KpA-oO,8[JIFH@1$j -NKoW]IYZX.PN5M1gJ8NffH*P*hc7T:;aaWh5iNQ]d5SFDuAQLkgJ1K8#)8JqJfaPb+\I -Y.D!F]VqQsUo(3"\$2WrQB[SpN/3:LR%L7][AoIMNKB6cS>W0ENM3#+MgBD_Fa&.eQ_'P3Tr"EM -Q'n/(L5Ln@Itri8KS4f/JUE$$Is#gZLPpq?KSPPOUop_kR$*YrOGoBdO+_e$GC4suMNONtLk_=f -RZil&XL#("PaS#.UU7VNb.b'PQ&UZJF)lAADfU2YMi!IbWMu&BO-Z]JVjEC&QD(4YV3-h9ZDEP1 -L6@spUTCo1Um$UoP*D)iOd2<&R[!i5D3UNeT9>"gP*:rXH$4FWEc#`EOckQ[O,oEZL6%t,V4*L, -Q^Wq`H$k*kKTD_%W2cqsT:V^IS>*-n[^3!&O-#fuVP&s)JpMWoKSG,.I=dHSW3O%S_nWh!c.CLe -]X=r:Ne)eES>)jOO+i:,K6_QbK85DNObe[IJW#\VP)kcmQ'\GUX.l;VMM[4LMhZe2GCG+!OGSRH -Ng-'2Y-P=3RZX8J\%9;f\?)L&WiW+fM1L8=Q&p]KJ;9&=NgZ5sStr3_[(O)]ZE'k!VPT`DOeA8- -QB$QPNfB6fPpi/jKnk52MiN[JJVK>XU8YE1]sb/HXKAS-ZFdr`[(X#U[BQd0R@0uPYtCUVU9:o* -Oa__0M3k!8UT:&MKRe`3O-5K`QCP"^XJrS;\$W?6O+_t7NKoZfN.QG&J;fbdX0'1\c.1h:iRc;` -XK]+8QApWJIV+FpMNjEqU9;)B]X#&AP`h#WK9)=eQ^+#+PFAPNS;i8^QCO>3XNBMgl/0P&_n!.b -_oC6[h;$`5_mHJO]t:JBR$E\cLPU\?LO>&CT<#,pWN;qhYIh3CY-+t4^<4I'X/N"oV0&2dOckBL -H@:aEUo1*"VOEa/Pa[_iMMm:NR$NYkNf/dVR$s)(PDXgS>`NcWk60a_90g.X-JHrMM?kDN0g!+YI(dS\]ECZ -jlkXM]W@`iP+oM"Z*UU6YID*OY+h>PRZremS"$1MW4'FKWNa"H:8j,(L6.UfUT_#*T:DL7G]%\M -FFfaZSrSttTsVA8UnscSS"u*uMj0QCXtTWjTLP -=0\m8\[8E:U6q%&PaS/GX.GK(EH[&$S! -Tp(@qSti!RXL#XX\?W]IZa?WqNgHAuKRnZ#F*E+cP*VH2XgG^RZ(Ri!]!AN8S!BD4QC=nLOI*5f -^U:#BZEd06c/$[PZ+n>t_Sa$jUn!U-Q)M72`5'RHah"ULQBdo,Q'eYfcHjYVeBu@Yf')MWdaZ^e -]!8'&T:_F)JUNK@P*rMe]XtYXWhc5XI\NO7V4sukSY2(/US=Qn_ns72f](`4_7dh(_mQJS_n*M! -d+@".inNMWj4_eq[(!BH['d3I\ZDj2XgQ'jdD6"1`lPj%]Yhh* -`5B!f]#E=`h9ja,f\5'.a32rR_>_Mj_R[7k\$!!C`6?6Df%/d5agA.T[^E6=Y.)0\]XP&BYHtIN -eBQFkeBuO_aMu<=^V7V)^:(Yf`Qcl]da-1bf@eQh]t_@mX/iY5V5hemg=!sNX.u&DSYhgDZbaT# -dF?%3V6\%U`5T]:_S!@aYc+A(ajnkda1.n3SZ&g-aMP*SVmVlHo,]#;bXc,RDpSu0=_tU6:V+TUhC@Q^+/?UnOW` -Za6j4QB7Z.7BjYH\[]Gt^9OcJ`lc61XeD;[WiW;(Xg,47UnOp&aLedi`PJs^T:2@JVjiX"MNj?f -Q^F&*NMEJKVQ7/Jhq,cSR?4HJVdup2UnF9@P+JVQ\]N%.VPBE>WkQKtb-n%;Y-k0mUo^G^R$X88 -UQU@gP+/>Q\[8ZQ]sFDpKn5)JTqS9YTVS?TSXl76NfoKhTqI^:W1frAOcGlmPF/&F[(!]b]!\]@ -ZF[Ve[ApF;Y,nn>^;Ie*^TsGpPa\5E[C -KU0-_X/)buZ+\/p\\?83_nj"![&0OjP_k9TOf#%LTV\$8Mj'NpPanSFR[^1VWNE>.[Ca>m\@?Xr -a1edQV5U5\PDFjFOIW/FTW#TC]==oCWhZ8aWiEMGb/1WoYck^PZD*h[Tq.mOTU_a\ZE1(=`PK0t -\Zi9C['H^3Zb4,j_SZ*LsT[&pF-UTC2^UR%=Z]=YY\WLK0>S -lMh.\k3D=(p%.\Bqnc&%Xn,Mkcnac>CnaZ2AnaQ)>o)A7\ -o)8"Rm/l_En,DeVnc&"ko'u29mdBQ4nalDGo'l/=oCVYErpNJKnaZ2@oCMPDnaQ#9o'l,=pA"@Q -o'u5@mI0Q6naQ&:n*oo>o'l&3nF,i6m-FZ96gO++ -m-nG_qtnFH;Go'c&8n+-)An*]`:oCMPAlfdX"m-jN:oD\:fnFQ5?m-O01nF?)KoFpfbnF,i9 -oCMPBo_%nLnaQ&=n*g8Frp_f4naZ&9oC_\AmdKZ9oCV\Gn*f]6o(D\GnalAAn+#u@o'Yl6q"jgX -n*B,sk32+(o'c#Gn7qC^md9N4md]uHqt]gQo(;JJp\+:Po'c&6nF?&@q"smZnaGl6nac8@n*fc7 -mI^8FnFH5Eo^_SEnE]<'nalDDnF,`3mdfun*or@p%7nUn-\OHmJ-Y[o^;&3 -meuI$md]l>o();Mrq5U?lgF96mcs**oD/1LjQGmspAb0cmcs*-o^hM@m-O03p@[tFmdBT4mIBo> -oCqtRqXs:DlL!s)n,!(ap?V&8p[RMm3M&emHX$+p%eIN -n+#f-jmMd+kj7g-l0%=!lgOQCo^VM:kNDL8s"=3@mcs',r;Q?Vmd]c6m-scDnF,l4k4%p*k3MX, -k3D."q"+"GnFZDMq=!D3qu6U"p@%A:o(DkXs*jnAnF,c1lgX`Mo^_J@pA4ddq"ss^naQ);l0\!1 -oCr:bqYU!To`+sjp@e.PqY^*Wn`\olnb`.Rm-O35o'Q&Ks8Miks8M]Vo'Gc;q"=1Ip%%S;lKe$6 -n)r]llg3s)mdg#AmHsB6mHX!.qYBUDk3VR,mcs'(q"amgrtbD"nF5o5mI0Q9nbDVBoD\Fpq#10eoCVnVo]l#EpA"@NoD\b!p%n^grp&M- -nF,l:nF6GIs7ZZinEB33rr6EulKe$8q>'pdqX3M9s8V`ZoCqqLnF>f-jll!rmIp>Sp[.G@lfda% -me6/9o'Yf1p\FR]s82?PlgF--n*]`8m-F'+lL=E>r;QN^lK%R7q=4%MqXa=PqXEY1mJ6DEo`"kT -o]P`4o)8=JjRiHOo]kl:p%J=_qXa+;ioot/q"=@Rn+-)Dp$_;na>6%meQe\:\OGJl0@R$l0[g/oC)JRo'>iAq"44VrqH-ds7Q$Xm-=6=o^_bTrr;rm -p$Lu.nEK<1q"F:Ko'Yi:p$hYMo(_nOqY9OKq"OLTr;ZESp&"aiqYU9l/c>G2j6Z0qjQlC.qu66Z -s8W)us7,.*g>hc"p$qG9mI0N1mdTf?q"sm_q"47Ys*st^0^oC;,,l0SBKs8MEIl1=]@jlZ.) -mdK`Ds8;3Cjm)L0mcWj(p%.tYs7YpMmdU&Dm,mI"rr<#sp@S"BkkXfAp%e@QoD/.QnF#i>p%.\F -n`o9%nG)tMk4/-2k3`$?lfe-?o_\CQmI0E+meH\LnG*%`r;$Bmrpg$[2sp&/qtfsSnb)YVrU]@> -mITuJp$_DBoCr1NkiCppo^hSKqtp*Ulg4*'l07g>p?Cc9rVQ3TpAY(9p?hMIo'uGDqu?]loCDMP -p?_5;nEoN.nauPOr;Zf`lg=TKrr_oYjmi?M%/&`Ap](9akj%R"nG3%_8+lTOo^;)3mI9iHs8VfV -mJHq^n)s*6rVcnGN=dq=3eCq=*\8pAY*jr;Z`_jm)="l0Rd)p\b%+ -q!@D9lhL;FnEoQ2rVQ^Hcna#8um,6jgnG)bDlKdg'kiM.#s8DcepA=a` -s82?WqY^6ds8Vldr;#jUq>0^Jn,34bs6f.Ds8W)`l0RWrlLt5W&,l%emHa<

    t8qkOJ??o)A[h -r<2NClgXNFrr`)jo^VqK&b>o#q>L?hp%eUco^Cr*p](9mqD@[2r;66ep$M#2pA"7Is7u-Nm-F'. -pA"7Nr;HQmr;--Pjm;sGs7c0as8W&oq>^BamIC#Lrri2^iT]t5rs&5co)&"Nq#9drkOJ0>s8Via -oBY`>s8Vc`o'l>Ort4tlmI0N:p\=dgo^q5$l1FZFrr5^go'#E2o_/=`o^MDUC+mG[9o -i:HX8lf\0Fs8;QQl2L\^)u/splfmm+q=Xdfmd'fNs5<2.ipHdGoBPo3pAY(/nEAoto_/4_p\+FX -o_\[gp\ssUkiC^fq#:9tp$1>kp%81Zrrr2fnET62rr3Z1p[@SHs8W)fk2u+(q"ssVme?YXs8VgP -r:8k6r;ZKZo(VnLn+HGEjll=/lf7C4s7GgEo)Jafo_J=VqXEM&mf*4[oC;;;n*9-+rp9(Irr3T, -nbDP=pAFUTp%S7Fj7`B>oD\b)q""7\s7Q-_p[[eAn`B]KqtK^Rp@&"\"7u!PpAY($qsEkKp$qYO -r:ojPme6Y[)Xm"\nbVhNs8D3EpAb0jlJ^ppo_\@OnE]H9qYq-#kiM:"i8XD/s7>XBlg=?Crr3)k -ipcmFrrrAfkj8!Arr35ql/q9sk3VsCs"3mo(_kCmI0WCrqYmGqYp'R -o^hG2q"Fafp$qS;me$PXlKnKKrri>olKe9Fs"+'Bq"jjas7uZin+cnFo_JOanE]W? -s7uTmqC3k.J;ujnG)qOo_.tMo_/+Oq>^Eb -qu6'Xq>C$Yn+?PXs8Moio'Pc:p\=Xbs![j@o_%qNnFH;QrU]RTp[n4[qtpEnqXX.Gn+lqJkk>#I -o`"majlcC8rs/Jus8VZOlhg\]"oS/elg4EFrrV`ToD\asq!IYKq=3k>lK@[9ru1Y'o^D#,mIL&P -qX="Lq#16mq=3qKrr;iVo)AXhrr2p=r:0.Js8VlVhr=;.s8;^0TlM(;X%f-/(o_%qLn*fuJqtBORrr4#6pAFsjq=X4Bo`+sem-3d(mdgDXp[R>> -s8Domqu6U.p@[b=s8VfdrVZ0SoBc5Hn*0KDrri/qn`f]Es"F0.hXCLBn,E@dm-3j-s8W)cl0e-7 -o_%P8p](9lq"+(GoC)&2n*p2Pp[@A.k4efR$hjDrs82!InbDP=pA=miq+C>JlgONBp[n(Ko'uMT -rr<#tp$M>Do]YQ0o^VMJrr;`Xna5`Cs7PO7kjS9AmH`m$rVc?[o(;PPs7u<`o`+s_nabu.me$AK -qYpLVqtBscnEp#Lp%.VGs8)-PmcN["p%J.Yr:fgQo(DeRn*9*)r;Zcco`+sjnF-#Dm-O'%k3Ma< -nE]<-rVnYOs8VZVp%Rk@o(i.Wq"jgds82-Hmdf`3nEfB+q"jOJpAF^[qu$-UoCqqJoDJX^o(E"^ -"8hfequ6U)q=aITo_8Ccp@._Go_\Xf%/0/_p@\+PoBku=qYL3k"Sqi_o(W.`)u&goq>^KinG3+a -rpojar:'%8o_J.Om,[qu-0Tn*fW!jnacMNrVlgSq!./6n*K?5na5f -li.:N]pXb+H?j^ZH22X^Fo?L^Fo?I`F8^+cF*)PIFEDYLG]s(/s)e9`%!HiBH?jd^H[0j]H@#R; -s*FWfqfW$bG^014rcf*&H$=CSG'A.UH[L9hH$O^`I=-A?GQN/:HMr3jH9lh$GB\@XGC"^gIX?Hh -H?jd^I=?g&KnP&/JqAH!H@('iJ:N)uJ:W?*JqA>sI=6QmI=-EjIt3#sH?askJV&K)rdt0&%"WkT -I=?`sItE<'J;!oV?\s`$NJi@>Jq8E%K8"l,IXQTlIXd*.L4Y#4MMR.HLk^V9Jq8N*JV&H'Isufp -It3-'KnY8;LkgS3I=-HnK7e`,KntSBLkUD/IXcftKS>&1JqJH!I!U'`H[^EnKDpT)K+WchK8#)9 -L4kA>M26k=KSG,3re19)%>':fJqA`5L4=c)JUi=NJH(*%JqJl=O8b%KLOt&)ItE<)KT;LoT9kb# -L])lGNerC>JV&AuI!Bj]I!^9oLl71FJq\u7NfK*XMuJP`L5_+OOHl/tO,A[FKnkJ?LPL_FN/a'n -R[TY2P`^raMMd1CMNX?oP`UfZre1c8ItE9%J:iN+I=R!)re#9FK8PbQO,f?gVl->[Oc59^MMQq9 -K8>>9JVoYUO,8[NMM[1KO,SjFLPLV;KS>,7K8#&8L5(PCM2I7ON/<=EKnkG>OIW)AObeUAKRnW& -Jq]&?O-#EaT:;"#KSbYHO,AUDLlIO[MM-eIPFehSS!/[-KbT,dKnP&4MiNdTMMR(GMM[=VOHc+2 -Q3!&'re:B-@u?SIS!&SaP*qVuR%^@MSXlCEM1^D=R@Tk;Oc>?_OcYZiWhuG`Tq7dGW2QM^Q^*\j -Mi*@MPb+n[VkTiWRZa#5Vk99?R$s;%O,o)p^XJhe[P_oBqI#=/YUm-mrLl7IcT;&EmXehbaRuil' -T;AZu^9k2FTqSEaU7.[MXL5^MY,RqRQ(k=ZUmI@6SXZ(@X0/=jS"5q*Jr,,5N096MKnU1pLl..QPEhf4R[pIe[&fda -Oc>1rKjf^hLldmaN/NCKLOb)7L5gkDNfJsOL5(\ORA-mo[]Q6uXK&/#ZDF+UMN+40XJ;f'\>G=> -Ko1S;K7\]-K7o5IPDt?VR\m-XO+`%9L5:\IQC!YiOe%enItWc@OHZ*!rfUQOQC"29V4Nj7QAgHN -KnthLLQ@IROIVu:VQm%iPE(QUJqAN*K7JN.M2..VS>E^;%Fs\?)0[Ne`:@L4tD? -L5_Ft\>u:!SX#D$Oe8G9VPUT5^qn".Yc+(SMM-M1OHlE2Trti*USk,gSXH%DVQ-r-W2m8.Zbjf# -]=bee\Q?,;T9+\UJp2KiKnk>7M2mX_QB@K(Q^s\@Vl-2^WM?5d[_fYfak>@pbKRc0]?AXI`kS[L -US*g0O-,NhT;/?hZECRBVOWs:RA$@DO,&IIP*_T(R[R]TS=cILVQ.)GeBl(G`m`&M_7-;-Od)rV -^:LPLZFmr^V4OHQPF%uGZ_in?KSPVKMh[+QR[g+YYF:W8MN!a[LkCJHU9M#7[C<]MXLYO9Xg,4= -\%T8UVkBWOQ^*f*TqP5YYIhQXTU;INSX5hEUmRFAUn=[&Ke'YG7JTS=#hC -VkTWBOckflPDk6NNKB0bO,]BpVm3n@Wh,WIS!TD4USD(cPDY-QL5V+_XJV;ITqnEPR]!R.\#5jq -Wi2u+[`$G3\ZVj(U6^arNfAjMN09R"UoLW(R[BSD]"YJISK=Pa7MnOHcB0Tqej,aiMW;ZF7K`_SXOC`l$'D_oBO+ZDFJ*]=PnbXL5aVYa1B4O,fO%YHtg@ -Ssbn.QCaY0Q(k@j_S!TT9PP0 -R[0M4QC4PT]XkMk\Z2Hq]#;bAe(*4-cG-`n -\Ac_1XeDA_R[BM+P)tKbS#X!3\[JrHVmO:OZEpj@ZG+AqZ)=KYWMQPjU8b)YQAC6YTVeg!b.FjR -R[p7GQ^se>S"?(1Pa%AuT;JHYYGdkKN09EgNf]^1Z*(7:rjYD+Z`U.#^VdOYSs"tpQ^jhLVkKcX -Ts;MNZF7Zf^rOI'SrSksS>N$DO.2l9\@]DXWkZiu]="Q:^W=7+Y+r"kS"#P2SS>LGZ)tOHXcAd6 -N0^TKSX#e7V6-i%SW\u!U8P6)ZEq0S\A?G4]DS._n3S$bIO%!Pan&*?(nC*YH+e*Sr\u'SX5M2[B6*mRAmm= -]sbAUXKJ:]NL-?0P)Y9PLl7.JQDU+DWk$$c]!8cGVQ?kmS=usdU7SX"YHlBta1/Ca^;-nSXf8(h -U8=Ef\u_KdMNEp;VmWUrR@g=ZYdCR+V6@2:_8rQ`WN`kNb/h0'`lYm#ZE'RfU7n?fXIPoi^rF6uZa$jOcI9_9 -VR3tE[(F2lYbdbQTX2JRbJqWLbIt3`US"3UTUr7&d*U(eg=jrte)]`KdaZal_76J2;"^U^_[^qmas\Zi$-V7F.U -a18L\X0o^eaLAe*dEp=iEQQ#6d,*O2f\,*/g"PH7^Tt&L\\55T[^`fV]"PMba2Yp/Of%8Bqb0AAY^::ke[(Oo:e(E3l\#lR$Wj&D$^sL9Le_&!N[DLG@bg"P^ -b/D01Z`CLUf$r$h_6g&2W4'I\_Qp2J_TKd(Wiie:X/)>TR%^q*^pUS\\$NHSrkj&bTqeNc[)C)( -]Y2/!]t'rD]Y:tjaOSefbJqcTc+^0OW4pg6a0i4HR%g^`URdg5NgQN8UoCfCaLnm[Uo^H#_Sj+! -aO\AC\&-J;`43+SWj0(E[^XKSq=Z`LFM]WmouT;8!OZGFW)b/V?4^:LSPZFIKU['6^6X'2mF -_o9X0XIboVZ*(=@]=5;b_oT?eXJVeuY+C]9RAI7'[^E]!\H7TpCh0TqnWjYAUA9Tq\Ed['R-I]ueU<[Csi6a18Xf\>cF#R['22 -Wii\4\BN=@a1fI&WM-5fUTqJJ^q@:i\B2_"W2?`$XKAV%T;&KnXfoCU^q74fZF.9U[]m'N`kB!u -`5K3iXLZ3jcHODL`QQ?Gda,nI^OEZ%_U@2lcH"&G_8=+,^::AK[)'l)_S3Id]#Dt@`kB!s^qmOe -^XUi\_SX@&U7\t\[JK2WjTIQ[CEo]]"GMZTp(_0S=?"IV5'rj -YcXjsR[08'PFA>OVl6VnZG4,NTUM17StVpNRARC"\%okmVjj -li.:EYD$t'=BAL&=8>ho;uK\o;uKYq;>j;t;,U=l;c?Xr=&o6!s&8qs$rp>3=BAR+=]\X*=BPQ* -s&f5"qc!Vs<`]0#r`0\7=&i0u<)lq"=^#-;>?b?=?X@":>!uS">[:WC?sd8I?!LWA?!L`HARf+S -?!LT<>[UuRC2.HqAnPde@:3JPA7]=^A7]@cB4ba`@:E\U@U`bS@Us%\@UEI>B`;X&AS,Oc@prhV -BkCmgB4POcBkhI'F`qqLBkV0mAnPjpBkV*iA7]@cDJsB*BPh^+E,TW1CM@M]B`DfHBJX:5B4kml -C27U$DJsE-B4YUbBPVBsBPVL(Df0?'A7T7_BPVF"C2.El@q&hP?=78QA7tmU(2%5oBk_@"D/$GIX-*ZFDu,>I"QusGB7_ADf0K+C2.BmBP;a(@V'1cB4bglCN4ZKI!pR"P`q,\H$+=VE,B<# -C2\!(B5i-DG&hSEF)lAGG'%S8E,TZ4DJsK6DfB]9E,]lCH@1-gH$==KEH62GJWH1bIWB7AChI6f -AS>t&GB\:VLkL+oD/aQkPQ$_ZR[94qKnFl$ -H$=CTI>3rROGf'YMM@(XSX#+hLPUJ+G]n4LDf0Q:Ch[NtDJjK=G'%\ADJX-'C1q3lCik)WH%1Eo -F)>rEIXcs&IWTRLG^>")R@Kb8L4=lBX0o@BZ)=%NJU;m$MLb\L(is\7EdE1[H@:-]G'A+UKoV%: -H#I\FE,^8JF*Dq\K7%imOIVl0Oc"pNNKTX!S6GH?s[QEcZGMG&I=qF)>Q%E.*\(JTGU@BkqU(FEMqUI=m/tFE;MCEH?8IH@1U,MiaU6Wh,*" -H?=1HEH?2?G(50rI!^!`GAq\KG'e4NGBS%IDfL)RLm=a;Y+q2DSXl1BUQgXbFE`Y3S!ThPY*aWU -D/j?)BP2$oCiFfQJ2MXpG(Yj@LNmZPDfg/LJq\l'EI!4fEbo`AI=6^*M1pP8Ko(VIP*LuVJV88d -F)Q)FF`;SMIs6@!OH5a'SO2NN00NuPED&qObo-eWMcJc -Xg4^ZE,p#DK7S2gLR4QsO-H3.Uo:2aQ&C09G^Y'eEc,]/G^Y*jGB.kQI!9[OCh[[,JV9#JP(\C@ -K6r!$PF85O\$W3/QAL'8I=$U0UoC2eWMQAaSdIE.jgj_6pYUXf%M?GB[t?D/XB6 -G'/1gSZSWQS]IS!AkaLQ7XjW2cSgXfAP9 -_7?q]\?`B>C2$s[A85prD0'rJJqA?"L4Y5XdP65M11)=St_L#FE)DLH?aLUJV]5LWM>B%H#n(TGB%MCJs2t2Z*C[DWMH_iSXuUV -Y.)'GTpV%*Nf/aLOHu9)VmWn-MM.+YNf&mfR>Q]^P<=b_I)gJR@9P3VRbKnkAER[BG2Q]IH([D9)DS*fY[(=H1da[(4i7?&[Xg#79R#-KA -HA792O,f3]SZB-&XLt[(NeN"8LmO^+TrP)eVPpMiPDPBnXJr,%_qF#+f##/6[C!Widb`[3hV?Gj -YHG+AHGd1aOc>KXL4t/,Is-R+S#NToY-Fk$ZG3fIWMlVl\AlIoWMQ;UR$El)T8e_RGD)6LU8u&4 -UmmC,Q]HiXOcl$!P_k6NK85SWS!9J-KmA#sKS"`,OJ&MJVlR&.['[0AUn>91Y+1]2J;9)EQCF>- -PEhE1\[SQ@rk*lC7a1es_StWU-\@/)sS!/koM3=("X.5QRWh+Kg -L4>/WTo=MVIYsJ\TT=_SM3js@]!o8d^Uh5%_m-83O,&42K9;t0WM?&NTXr"bf@\g7gX*X5R>d#o -[CEl_\$)u:[D'D]T9,"kOHGctQD1Um^W"%![(*cIMM-nLMN47-YGn7gR##p1JVAT%NMiM:Q'.lK -]X4`AWM?/PJpiB7MLKbjE,fr>EI^qmIQQ(">9 -Q&LQYNfp*CZE_*_^pg8)J;&c.M4^uYUS"0+U8tZ>d+6FFR@^4ISY;4!J;BG_V5U,SN/a!dQCkFp -`mDf>]A+SqDH=IX6-bLP(eVQ(Y+]]>(qXWk60]ZDO.SP+%f0X/2#HX1H*ZYck14]#r@: -Z`1IM]XGDe^9+#gLl\=<^WajIeB>A!SW]"sR$X):^])P&e(i^+bh)+Jimu]2cG6c]R[p1GP_F^G -N/jL8ZD==nURqIT9;%`FT;Aj#TqR[Q7\@KN(bf[f9`m;f?VOsa"f%.a?VNHUoS=Gn0PDb<`T:_dOYJ7h3Z`'I^URn^* -_77"nd_`K#^U*S!Ai'XKA_1 -[)LkT`jqh4Z*0t$Z*:$tT9Ge=UStfOd_`5gR$+2O`6l`;U7%jbXdlDrV3?n"Q_q!YNJ`pjV6.,- -XgYpPW1&U"OI;`4R[TM1RZrkoP)kitTVSTbTr#B*W0!7.RZX#;\A,hq]t:\\[&g7/ZaI'=WrAst -Zi7WX^9j`'Pb"bJVm3V8[(X5nZ_OFkSZ/KOKn>2LW;a,PYHk[?R$O55SY)@(H]=K)^T=<0W3!YN -`Ort-ccX2@`P/=@SXPRrMj^ZDS",h)MNF-iRA-OPSXQ%?Vld#"XL?-pa1&Y!cG6fjZE^'nQApQL -N0g-3TrGfF]Y(Y`Z_O+gVP:<+^q[Lm\$j;kZCmebVPBr`SsZ%EW1p"aY-kU@ZEgR3YHtF4XL>jO -[(!ca\$)j>]>_e0^V7=q]u%q5^::YUY.;X'd`fbSaMYj0]sb)AV5h#=^:Ut^[(4-!bJCWr\%]Ve -ZG"W4a1/WV^Ta<%WkH3Z[],aaS>`m0_T:$I_lo`$QBIN(TWGQ+XKSn4_7[\0b0SS^e(j*Ih9sKc -_6gMY_S!@bZ(n4kU7m^9ZEC=;Yb@DNPb4J+NK%))U84roTpqj\ZF-^6ZELO@Xeh&0K8GPEN1$#u -S"ZXOSX,=sNJ`RTS"uLDSslF[YaL]7Lkq%NP)YBeWiN>7]sXQ!R%^OneD/j0cICh;kj@g'kNVjC -rIP!"s+146s*t~> -lMh1bjll%"o^VA>nF?)KoDeC] -nGDYTnF-AE+ReginF,f6naZ)8mI'H5o(;VJo'l,;o(2JDn*fc8naZVLrpg$Xr9jm\p%S1Po^hYQ -nIb9\p%J.Ro'l2Ao()8o^_SBm-3]um-F*1o^q_Do()DCnEoZ4na5i;o_%kInF?#l9oCDA?n*TQ3mdg)Os8M`_o_%eJo_.kHrp:6^n*oc8p%S.NnF#Z0n+6/Mnhft-mdp5Am-jH8 -o^_S?m-3d$nalG?mdTZ5mIBc:oCMJ?o'u/7m-X94oC;;:o(VkJnb)_Ws*sn:nFc_Qp[n"Gp%.Y@ -qZ$TjnF6&9lKn*=qtBFAl0Id,oCDMHp@RqDmdT`;mI9lHq"4.LnEfE1qu6Namc`s%lK[^%n+6/? -mdT`>p@@V8lgOH;p%@nFnFcVHkNh[/qu?]dmcj!&nFH,=m-O34p%@tNnF#`1l0\*0md=*Eo_J:P -m-F!)m-F9Bp[RV8mdTW.o_\[aoCM\Oqt01>o_SL`o^;)8p%J4Ys8)Kap@7M8p$M#1nF5l7o'PW' -m.'fFnF6&Dna,uLs8)9Up%eCUo)//9ULo'Yi0o_@b8 -kj%Kul0.?omed%_p%7_4)1p@7\@lLXW5lLF]Am-Ns*p[n+N -nFlVRqsNS7s8W&mo'G]2nalMRs8W)qp[I\@lgFKHs7PsMmd^#Js8N&up?qD>na#W2lf[O(qu?N] -jll=5qtTjVqZ$Tim-Nlpkk+ZBnET9&lg!ajnbiC`q"aj`nE9B,mJHq[p\jm]p[mn>mHjH3lg!`s -jlc%%q=jCEmd]l7lLF]Gp@I_OnJL`]kiqp=r;ZfloCDA9kj%[0q"=IRm-jiNs%`7XnF?,Ap@n:J -mJ-_]qXsCUo]bi8md0#un+-&AoC;GHr;Zfrr;HZnqYg0`qY0XRnaue[q!.VRs7bd>l1"-1nF,c3 -md9W@r:B:Aq>UCMo'5N0o_.tOp\!n;p&G'dn+HJJoCV_Jp$q>.kjS9As8;BVoBk],lgFH9mJ$,: -me$ARrr4JCn*KK1mHsE7na>c5n*TlCp\Omcna#Q5p$qG7mdg,Kq!dhHoBY`6p?LW!oD\b@p[S4Wn*K9( -o_eCJm.:&Ip%\"Hmd'<7p?q59p@@J0m.LDPl/Lgmqu?-Sq#:;4p$;)8mI'K8p\FFNo`+sjnG2_H -o_%eLo]Gl:r;ZK^qtKm]p@%DEq"F1@ -lL4'+oCqkEmI'0!mI'-)o^DABp\X^Sme6\\p%J1Jmed"uqt^6ks8MlhkN)=1khkIbkk4uTqY^@( -mc'LHo_8"X -lf%=,n*098o&eopmdp8Lo^_VDn+?VZ6M^KXs8)Hfs7c'Wo^__UrqGmImIBlLrUoUFm.']Iq"+7V -q"XdVmHj6/o'u89n+?>DlKdm(l0.[;rq,pWq"=1KrVm,snb2_Hn+65Os"3m2nFQVOmI'W@p$M&0 -o)/Oap%@S2l1k;YqXa1lhg_Yp&"FGn+?VZ -1]$n>kj%U*o(2G?k4A04rVuigo^D5@qYU!]nE9*-nac_[rU&kJs8Vibq"F:Hm-F*.rVlg*o'c/? -kO\NC$Ro^qS5ip?OAs75UPp$Cu6o]>9-pA4gen+Z_Ws8VKDkj7j=s8VZU -p%7bCm-X?9oaCZsqXF%Hp@[t@mJ[%a)tWjon+5r2n+5l,kjS3ArVulimHj<3mJ$SVqYgF3p%eFO -jQujFs8MW^qu6Hcq"j^QmIU;Vs8Drs"SCj=o(;q]&GGDVq"FafoBbc&kj.g:r:U'Y*Uiq+qXX+A -n*p&Lr:BLPnETN;r;Zfkq -qXX(Ak3i-Hr:K@=n+cPDo'c,Bk25:fq#143rVH-Rqu?Zjs8Vublgt#Ls8;'=mIp#Gs8VTTr;SqL -mf!1`rr2ESk3;I*p\=dgp%/+]r86Srj7<6MnEB?'o)A[hpZLQ"mdKuOs8Df_kO8EMrr2ifm,Hjc -q#13qn(HFbqYpL,r;Zfrqt'CHl1b5Srql?Slgt,U"82!Fp&=smpuq#@ru(h9s829Inc/LTkNq^+ -nbW:\m,md7r:8n2rr4&0F8hsC17oC25:m-*NmnGDeKq>L1'is7lTn!<)os#5\&ZjQ5du -rp^'ZlK\BKs5t3^lL"$,lg!p8s8N&uq"jRZs8MZ\mI9fJrsS\rp[e7Ys7Y::s8D`m#6+Gnq!mVC -rr4PIoC`+_s7YgNs8Vl]kOA?@pAb0en*9?8qXWn?nFcPIme-VZoCr1Rm.:&Nrr3o8oC25;nGE1V -pAFXUq#C?YlhL;Rs82?IkP+rT.fTJJr:ppVnF#i^Kkp@n.Jq>BjXs8Vo_m-X??rq5gWs5rG3qtTREoDe[[pAP!gqZ$Na -l0\>rVlQ[oD&(Nnc&Rgp?q86na5oCqt9OTs7GaJ -q>^KjoCDYQs8W)jme-PVoBYuGrVuclrVufpq((q'r;Q?[q#'sSlMU\Zo&B?ArVQ9Yp&4j_p[n.Y -s6oX\s7Q$Yo)/FSk4&BM#5S8hl0e6Brr4V@k3`'DoDejdkihR6s8W)elgjoMr:KLNrr<#lo'l2= -n*B9*nEoi?mHNisk4JWP%/]\js8Vubp\FOIkkY2W2ZE@Cr;6'Nn+ck]lf.:+p@InKq>0[Fk4SZJ -mHjE8mHsNAs7#%;mHX`Op>tB'q>9mIk2Y_&r;RE*q#C-_rUg-ip%7h?kj\EJr;QZp,5M3;n`K<4 -p[[\Gs829WlK7F-qtL!fs8)9Yq=XFVkMkUlrr3f'nc/Xame-V[o(;P?kNMO4mHs91s8W&rrsAGk -rVc-FkOJ?Gr;Rr8lg46=p@@b>jQQ4,m,dU'm-F6^?blK@U!pA=jo -rq5XEmHsTGs$?>Aioft0r:0R]qYU^KoqYC$eqsj(Hrr;rppZ_5>p@n"Jna#T7p%%S@o)J^\ -n*fiEoCr(Gip$(0qWR8Ar;SYKlKds0n*BlCn*p)MrVuKYmIBf:o(W(Vp@ReAq#B[Ekj.X'o_\:D -lh9uCqZ$TmmHWm!oD\asp#k]@s8)cnqY0l -li.+Oa./*:rHSBhq0)g]qKD^X!HrP_EXHl0F`qnNG^=[\Fo6=jF`qtUH?a^]H?j^ZH$]I:s*F]j -qfi-eGlDn3G^4U[GBS1UH$=CRG'A4XI!pEiH$FU]I!g9cG^4R\H@(!brd"Ngr-&BkI=H]nIXQVC -HOkORK7nr3K7SW+IscNeH[bmC!IoY!JcBurH@,R;!.Fiq++/E]I!pHoK7nu7L4t;4IX66_IscWo -J:2isJ:W<+MZ/Y9L'WKbIt30*J:N+JIK+crM[kPpJ:rZ2LPL\@L4t51Jc:6]JU`#mI!pKpJV/W0 -LPLVQ`6gSTUhL>SZSidV4j?@O-,H\MisL$ -V4O9QVOs)2Jqf8LR$j_CT;As3_7-&&N/*.BLlR[X -N0Tp$OGejTM1:5;LPLSBO,f'PKn>,BS>WX#\?rB6X0o>N[^)`rNeWCXV4s?PWiDPGJq]#7KS"dS -It*'3R@T\(OIDrBSWAMXLPq(GMNF!]NL-H4NIlqGO-5p%St2@6Nf]U"TrFlVR[T=jKnY>DMi!XW -N/sC#VQdV:WLT04LkL;.JqJW,Ll7.RQ("JIW1K9;'PE;'(XKSn8 -W1]WLSt;=5Pa.l?Y,\M'Y,SM%StW$TNJE7IQ'RD^Jq/?&L5UqGOI2DrMN3UIK8uV/\$;d!Ss+t_ -JV]SdURn0^\@T8!]&L4G,BO,/OMPb+(rMNjpF`4`t(_nE7BMhZh5IXm'+MMR7][DoVL -VO3F)OHu`DT<4rt_7-ng\@&]CRZ<8\KT).jX/iV=ZDt7>X.,HGV5gc1Z_!\g[(49*b/1iuWN*)" -TTY%]JU)TmKnY)1LkpqOP'DkFR$3i'TVeNVT;8ZkV6%)1\^/g[eBH"K\\chFbf7E!V6I+jMibBaOA&E]s!ofP*i5U]tL\JV5q>? -VP'i`S=c[_[B,dTLl..UPDP-?Pa@Q+[^)?`Nf&d^P)Y?YRAmU(^V.:iWM6GpX08q>[^a&VX/)AX -R[0/&UT(,j\A#J^SWfbGSX5kBSs,1tR%C"?P)bQ]Nh!5e]!f)WZDX7dU7.C>T:Md[WhG]:MN!R\ -P)bBUN/ipeP*)62X0fOFXeq_[rgIklR@^"8M1gY>MiO@5YG@tdTUhOEYJ/#_VkKueVQ7#6aN_W- -Un=0MQAgigQ]d;cNL$B>VPBoOP*VuP[&TmpR&7O.Y+qAPVlleXN09U!YJ8-&e&AJ^Tq\6SUSXfd -VQ@,'RA%(([\]7MOctobL5'2sPE_/gQ_:.PWhZK&URdjHW2H8SOd2;rMiO7'ZEUR=Yc4LsX/Dhn -UnY!)]Y2"iY+LrDS[H&8Wh#?Q'dq[ -Pb"bUW1TNEPEi/TY,eh/StDghaM5*bVN?dpM2[FSNf0?qR]Ej"Vl?PmZ+%6NZC[;NX0B(Ob.XdM -[D]ecXf8(dR?`r!PbP7`VOO!DTpV^\WM-)k]=bnq]rdioSXumfYcOn(WMkr:P+/GVYFV8VGFF\U -Od2l?SY*+&bf\8DY-c$a_SO=8aNW,\`P8smY+_G`XKAq0Vm*J2VNmX?QB.&rXL57+S=uO:Ng-#q -R]jn"VOC]=5/T^WP!Sd*pb%`jrLf\AQY4XIYlV -SYW'INJiOKPG>P"]XbS\YIM9NWMubpXKf=FZ)t4-TqS?_ZEKjjO,TBnR\dL1[B$!cQD't;T;SWc -V4X*@C6OdFR%C(OYbd_LPF%PsPEh`=Xf&"oVm!S@[&g."Y-kL1TU(Y+R$jM?XL#IN['R-DXhN$" -`QZH6U6h49R%^(0N1[/O]Z%aoYJf#Acc3>t_TBX.ZD44dR[fD'S?Tc?[^E30MNX*a?D"O,SX,b. -SuSs"UlUJ!Str^1`599rXL#a]]WnK2RZNPuWOfjZ\Z;$b[`d+FaN2c]f$(Y#QB@uS^;IdtYH5(H -bIO^HT;]'*\>Gaq`QQ<<]XYi(bdX:4S!T1s:7S2[Y-kd@Rus,9V4Ed8Xg"n(R\[L5`ko[-Y,n.S -M3FBmMM?h?0VkLiA[(Of6ah5!l_oSaRFf;45SXc@8XL"jr -Q&Uf[SunoYP*VT3UTLeuVmcY.;m[Q):t&e^Maa`O;\BStMaJS"Qstb/VNMeC`?te`5iJe'i]mcG$`eTq\NfVkBQKQ^b=u\Y5do -VlHetWN3&#X/`YE['63qW2?N$]>MkIk2tCFcGRW:agn+RbgG+sfA5ZUjmDBpg!IgNX1,picH!c= -b07o<[DLJIcb6a%cHXeql-m\c]=kbWU8tE%\$E-C_S_3\WiWG3_oKF&^Uq5# -e'5J9aNMlVcc*K/c/..-gY_)ShUU0"aMYR%]WAofa2>Ku^;\UBb1"GF]tVV>e^E.(e^i@-f[\O! -dc9!)_nNXcY-4b#Z+@Qgf@\cnYHb[R^r!Ig\6QGK\%B;Z_pH]PdF6:ggYLE%`5p9D_SNmlXfo+N -`lH6Jccs_ce^W."eBu[sf>tY;['IHlb0J_qag\INVQI20Zbau"^W4^E^:Cu$`P011bf[lA^:(>Y -ajSUVlm/+ZECIH`i#GuSXuFJWhYrRXKJh>]==f1SY;piair&L]"lbHdb*4$cdLS*hr -li.:M]8Lf@>?Y*/=8>hr;u0Ji;ZTiprD3hu;H$Rp.=]e^+=BJX)<``E&=oVV( -=8Q#!='#<#,?@lJ<`N+!='&C#;cHau=B\p5?!CK:?!^iC>$>-7>[1Q??iFC3?2Rq4?=IGT@:3GK -r`p%B@;'@iBkV*kBOkRZ?X[IBAcH<@AHZUO?=.+<@/sd9@kD+s?XdSYB5)*rCh[QqAR]"P>\7JS -ARo4XARo=`CN4NAG&D,3BP(mlChRKoral+As)K,tBP)!qCMdp+D/=!%BP2!mC2%I]?sd;M@pieYBkh?pAnl'rCi+!'Bl7j. -DJX'&B`;QPAnPdjBkV="BkqU*D.W]W+D,8"BPM6pBP_X1G]RtIE,&uqA7fCdBl\NPLPCM4G]Ne% -*-H.4AnP^c?=-o@?=@8SCj12OFE2JHFE_tSG'*_'2fEbZF*2eUH$ORPCi!s*Df0H4FEM\PKnFu/ -JU`#iFDl#5DK:)UJou3XEc>o5DJ3g$BP(smB)Z9jAS5[iB4l:4IXcp*OIhu/MLBSgG&;)2B52=$ -Bk_a@K6q`bHZX:LGCFp^rbb8FEH?5BEH?2AE,KQ5FF\ggJqA;kF*;\JHA@iXQ@WM5E+LRPK[\[AZ@TTt7YH@^ctFE;PEDf9oPKme8rIWp'_H@h6IPD4O, -EcuMHG]e7VIt;leJWuOeOGSU?Jqf2EPa$BSMLp;#GBnF_MjKf\G&_JCI#!iNU8FKIQ'RSeLlILZ -S#YG@A>IsQU*R[f_$KS5)5KSbkTMhQe:IWT7AASQUHL5qdtUnscQNJ`LR -M1^2"DJO-4H@L<`4H[?WbNKf6FDfB`AH$FaeI;DMMmR_RA6CLU7%"&S#*$_XKf+) -LN@KTFFejcI>s\aO,TEuSXZFTV4JWZ=cS#Nd([^`B7Q\gt5>Y+)#BJq/N4R\Z@LTWu/6YIC^:V4!'aF)PoAKU&.%Wir:lVl?2DK8#ASU91D_Q`%$n^rXC' -[]cL#Ssk^jDeWfi?tF+iC27j3GC=m\H%C?oK8btXOH>j*Tph[VWj0XkeBl=X^Uh8*b/:isSsH(B -N.?N[K3=50Yck=6USFNHNJig\R#ul=Ci=QRR[o_&Kn4l2Ng637XM<$&^V.\8^V-tLO+`4IU91o7 -XeDDb\?D?aP`UZWPFnV;LO+)eG^tY^SYE?tY,6u(NL,]aOI;;dIY3E5NIcA!I"6p6U:.6(VIH6aNK96ZKSkYCNg5c` -Iha02)#S"6%C -XL?*k^8RBYLlR(4G^b3lH$OdmQCOG3Qt;/.LmY-=T9tn&S?fDpR#[/pSs"SLJW#_j\\H)&[@`YI -P`UoePa.]+Tr=QCPc:seR"Tp=J:2QZE-?YYH[:L1Q^OG1RB)^Jp_`fLm4R)U8=ZV -S!fe5Q^sS6=/WF1YH=gtObSXUXKeXmN.HS9K7JT1M1pJ>R%gap_6foC_U-]HXeh_TLjaQ'Q]m)[ -O,o!GKnFr;St_a;N.uq=RAZaOVPBEDS$0K2W1fW4IX?<_G(4UVG`%<3QCs_2QBdo7Y->+0P(o-r -XL#^ZZ^d;X\?r92RZWG\Jq/E(OIDc*MMR1PMk$ZC -P*(i`JUDp!R$X#&VROFX`j;PD\@fGa^qde)bK.H+Vk]cFOdM]1Um7(2TV,;PL5UnEJqK8]X/;5F -P)Xp9JrPPIU9D&A]r\KEZF$p1LO+/sQ(jh0K8+r+JVT;TWk-@%e'HLqf[S!OY->:7RY-0:H@U$1hV#oWZ*LUF -`k%e%M3!RWP(\1-Faf+3WO&k8['?a@\Z;HsR[]qL\@T)PXe:i=PF88EQB6WGLQ%4\Xgb=(Q&1Eb -P(\jaStVj!R?3>[JV/c>Q^a\5LOb#2L4Y,9PG"bGT;/-\[(*NGUnFZgVj`j+KT(kLO-ZB7XKee( -XJi&-aMbs:_m#SgMMm7MM0F0#QC,"n]rnBMcHO>CXJi_E\[8/pPDkE\KoD.gX/2MbT9FGHK8,_m -UlBqV9Ql#NRAH4%Iu0McZcC;2`ON(V]XtDGSsGCiIuTu$ZEpa/NfgK\bg">TdF$+LVNm$oS?TB8 -^U:),Xdb`DOcY`iPAR/.`QZiW -_7?eOTp1e1P_Oa:H[gU!M3!XXN01-M[^<$KQ_11]\[/?:[(jGh]YUh` -]XP8Y`5oBdPD"UTWjgX6e^2=?RZreoPED&rWk6BlajJ_pf[&75leg7C:t3b'[&0=]TVJ$nF>f6mcE0LaL\I^ -_9'g6\@?Fk`P]0j^=(WX]4\[/0'Unt/qXJ`55\?E?QZE1CG`lH'0XeDD_X0][` -]=PS]]#2k9\@KW&cI("Y]>)\Mg=tWMmI02lf#P\A[(*]J]"Z%r\[fPtf?2FjbJ(^+c.q.,h;(cX -g=b?;f\+d+k1n;"]!/*-UnFB_\%9T0f%@d@YI;'T]s"cMZ*UmO]np -]">MYYIV^$dE'8C]W.6[S"m*jX/W81]!A*#UTUi(XeD8LO.EJVSXumeXJrJ9]X4K#PF8/O_o99s -]>r+7];MpJ]sY,U_o'F)YdVHd[&L$0Yee]4^osPmJW#_QOdhGcK8Z%bStWF-_6'Q.Tr>$!^V[e% -aOA2D]u81>];h?hUp%A>ZE(7=Z)4+iZ+A-&bg"DP_7d=VU8OfQOdW/GR?OGIT9b8$VlHkuWI))% -f>bG'U9UkmWOTL?W26&[VPL*!d*]_9XdtWFWOgM[^WE=X1#RJU7%d\YHY@? -[^IlgR?3c3Z`gXC]!SiT^;R1DVP'?YXI+ZlN1?`EU8k5q[^3$MKnG5H -R\Z^W\\#;[]#24[UTCMiVldD>^VRXs^UpbHV6.)0Za-KuS"l`lSX6%HTqA'XWNEM:Z)Xe-[&U:; -`6-'5\\5l#`P/jn]Y1VY_oKBpZ)4Y9bh:b#aiDNG`k8X[WiE2-]u7n,^p:D_a3)93\?W6TpV[b_8aaId;umuR['%uR]*U$YGItm\%p5+b0J,Oe'Z\#hqZc0ccj>: -Zb+5s_nNRUW2-/ZP+8DGVPg8]QB[Q)RuiYjP+eeXXdkQBVQI/#WOTRP]XFSsLPUtSOcZ9-S"Q^_ -YHF7SNKKEeQ_("IVP^)`ZFc]oOc_#PNKBKgLQS4)W3N_7TU(k2T!-#NahbI$e(N4)g=FTsfA#$: -h;RdQs+13$s6Tc9~> -lMh1gj5oIjnaPl1meQ>JmeZDRn*^/A!q,OHrp^frp%@qHmdBK0mdKZ7naPu7nF5l5mdKZ;nJq/k -nF,i8nac/:mI0Q7n*TN1n*oo>o^q_DmdK]Fo)8+Wnc8+Wn,MnWnc/"^n+$&Cp%7kIrUU!X%.j/c -p$qPAo_%hFmdU5H"82 -mdBK1nalAAnFQ;CnaPo1kj.X'nFcJGnF,i;o^_PBo'l/:n+68Go^_J@nalACnaGrlg*p) -n+6;?md]f9mf)bVoFpcaoCDA;m-O02oC;89nb)PDo)&Cc;"sJIoD%qOp@7_Ho^D;Gs8VocoC_M8 -lL=WJq=3_6mIU,Jo^DGEoC;5:nac>?n+cqZp@RqEmHsZJrqu:!Zn*TQ5p&>!kqYBpXn+$,Emd9WAp$qPEn*B<1p@\FV&Gc4s -n+cq_q==%Jp\+4InauhO2>$V9n*KH.lgXWJr:B:@mI'H4mHs9.oCr%KnFQ/;n+QVHmdKZ9nF#W) -jm;pFs7Z-XmcsHCrtG/"p\=CKnFQABm-X90mI'fMs7uT`$Lm?Kq>^?bn`oWnac/4ioTV$s8;KPl0e3?o^hM6mH@mcNQkkjeQKp[7J< -nE]<*o()JLp%7eCmHs0&o()DIq=jLMmcWQin+ZYMmd0?4rVn&;o^D8>p%n^go'H#HrqH!Sq=3_B -qt'+;mI0E/o(2>=p\t3mrVumLo^Dh[q=jXPo_%nPqXWqGq=j=?kj.U'nal;>mdBH/q#C6`oD8I^ -p$Lr/mI1&F/+N)om.^P[qsNtEnF,r9p&G'bkN_[9r;Zflq"jXGn*KH6nF-5Ip@[qHrr2ouq==OO -)=-SWo()28naZ)Bo'c&>o'PZ,mHWitnb2bVs!n!;m-jK>r;Q`rq!724mIU;Mmdg/Qs7GjVp#tf; -s8VlenaGf1m-jE4nG_nUn4iKIq=aFPp%@nKqY]dGmHNNioCV\Jqt]sVo^1o'k4&0CpA+4Blg=-. -nb)GHqXEtJq=*b9mIp>JmI'6)n+?8Bm.Bf5kOAEHmcNj.rr5+Wo^hPmd9W=oBkc+mJlqJlfm^-rV#jXrr;iblL=B6mHsH:p\+7Prr4eFp[.;9p\=^amd]Z?s7Q$^ -pA4gfoBu&9lJgq$s8)TioBlGTqNrVu]is8VlamdKcIs7l*SoB>lI -s7?6T3UZkAo^2#8q>C3ks8;WTi99V!p\amZnb2MDn*]W2lKRj7p$;&CqXX[Ti99[unG3+Wl/^pp -rVuWko)nRPp&4mi62gi^o^2&:mI0iEo_8C^n*0-'md^&Go^V53nFlnWp&4mdp\sdZr:f^Jo(hJ6 -nb;YAlgF0.meHh^p@n(InaH/Mrs/Aop\OUQnb<%_0)Y5)nFcbRnF62Lq!dP4oDejfna,T)l1=cH -o^VG4nGiLVkiV.&qXEY0mIBN=r;RpA4XTmIL)Q -s7H-es7c!Pq>L!Ok3VO%kNDF6qu?T`mITo3jll=3p?qJLr;-?krq5gKm/I"a'_Uncq=X@QqtK=1 -hW=.ss8W#ZnbW7b'_(G]o(DD4lgjK&li$k\n*p,Hn,*+a"8M^?cm-X0+n+QVXo',Q7nal\YpZCK-s8VZZp%ItCl0.I!rr3H)m-*p1lM:JUl0A'D -r;Q^'pZh)8nG<1boCDbWs%)bMlgauSr;69^p@n:Ss8DKQnGE4bs7>FCrVcH\p[IeOs8W&hlgslA -mdToFq!.5:mdTrAs8Vr\j6?=p?V#3n*0EArr`/fkj8UqWm88oCi(Yp[IM3 -nGE(So()JQq=F:Xs'tKkp@In>j6cO-lKII!rVuosqXO+Kp$M_Xs8N&urr;`ms7GR@p&G'gna?&E -p%%qQnEoiCs8Vlfr;Zfhm.'H.q#CBelKms4s8Vr[k2u!tp&4mbo^r(Xs8V]Zo'br1mIgJT$2j>Z -o(i7as7Z6eoaU9JnGiIXn*/fnoCh_Orr4VKp[[_=o_J7No(r=Zo(2VLn)rm!nFcGBmdB]@r;H?V -k2Pk(p$q\Hp\sIAme6SY"T.u]kkG#T$M*KMq#BjYo&Sp)r;Qiimect_/,],@s8)cqn*/irp%%kW -r:p*bp\4CDiT0J,s8;EWoAf-0qZ$?Rkk"WErr)j+q!R_Ps8Vrmq"!_5n,*(`"8h47rVn&:nc/Xakj80Fn`o?)lfn-Cs8;6JoDSUYkMc%0 -s8VQTr;?R1na,l2jm`*`9qsa(Qs6f[]rs\_jj7iTRq:q"Ee+meQSPm-jW=qZ$3]qu?WkrVulmqt9:;lgF9:p$_)1rr3Du -nF-)Ns7bmJq>^Kkrr3$2so(rqQ?gq=OC[rt4kfo)8Ug -q"":]s7c0Nm.Bcqsiq=q#'pTo_e@Lo_87^ru_48q"Et9pAXmbs8;Zfs8;?V -qtL$eqXEY2p&Fperr)ir-i3W7s8W#pqX=1Op@@Y=n+-5Irr;fho]>H:s8;fhnb2GIqYL*_q>UC% -qXWq5meZ\Mq>9j^rr3&ei:$[F&H;:nna>rCq=O+Qs8W)rq=jmg*<#KsoDJXgr:o[?k3_pL9i -q"+7Pp\Fadrqucq+o(`ume?DCqZ$Tno(2DGq=sUPp&3q.l2(GUnEfuAn*p2Qs8Vm7p%.qUs8M]c -rVuicn+H#8o^h\Hq"jgRl1+QDr;Q^(oAf$+oAej&rq>dSrr3,umHL3fq=s^[qu60Qo(DPJs8W&_jS8cOn)Ej2q"O1@n,!(VoC_hWs60"Qs8Mrr -qYU^KllJhL:s8DfclLk,Us8DpFpZ16#rV#aMpA"CIi8XG0qt0^`q!@;: -q>]a^H^j8S9Dp&4ggs7ZKf$23lcr:^!]nF6>SrrE#ss"43=oDA(BmHj<0nGN=b -nFYo*m.g>Co)Ja^lLb#JoC_;1mIpS[rpfISrU9+Mrr3o9p[$u'nb2SKp%8(Pn+6MXs7Z3es75=: -nb`:bs8=)9naH)Gr;QWdm-siHoBG]3ki(asq=OUbr:TRJlg=3=rr2utr;R<&oCi+Sk3)U@q!$r( -nbN1`rt=qeq#CBglK.@'q#(*js8Mrap&=t)o^VeQq"ag]md^/Ps8Vuno]kW+rr3/tmHF'.q>:13 -p%7hEm-+!=s8VKIjR3!HrUT^\p@eI`s8Vuip\k*np[\(Ws&SaUo();@n,2PDoBu)Cp[.YQqXF%F -o(MhTqOs8VZTl1FlHnac;JrVZ -li.:Xd@cJIH$Xa^HMD^\G5?=^FE@D$!crI+rcT*&H?sgZF)uABF*)PIH$FLUG^+CSG'A3/H22b+ -I!^-`G^4U^GBS+QG^4LUF`qtRH@($eH[0g[HN&9iHMr0jG5c^cGlN'hFpE5:I!pEjI=;'As*YN2 -K7nl/JV&K'H['d]I"-WuJq5;KS+f( -I!^6jK7ec/LPgtGLkL;-It<*$KnY/0I=6ToI!^3fI=6HjJV8c3K7\`0LPLV%8+KnbAW0N$fLPK,nP`V&j -Pa7>cPbt(CR$3VoQ'd`"Q^X>.OGnpOM2IIhWN2SPLP(57PG"kZZDjXtUn4'GSXc4EYIVTbYbIYZ -U7n0JSZ0$'UQpn!MNF:#UnO-;NfK3aQ^sM/rfJgnLP(M=LmFKsT__H%gp'K8>D@L4t8/H[q$=QBdf+T<#QA^p^#'M1pYRu`>XL4k87L4au)ItNoX -WM>lIS"5q0MMI%JNfT!PN/s$]RA?WTOb8@GO-5orSu8QXOHH'/V6$enU8495MMI%KMM[X_QBmf+ -W3NY7Xe:r=Lk:&)JUr9$LPq(PO-#^!TUM%-P`UoiTrbK4\@&]ET:Vm\[f3rb\Z(mSO,]?oQAq&s -VPg)\X/MV`X0f47VOj-5LkLD5JqSi9retiSN/`pXM2-qCKSPPRNK'3gNKBZuR%'nPXfnt"P)G]PG57hZDa@ZN.ut;L6%_" -USFs#\[AcCX/)/KR$*2VM34!`OCjWbdOLP:>0ItNN6MiaI:aLeCKOb\dW -S?90!W1gQ7\@]Yl^:gnJPDb0KMjCHR[^s/]Y.MEMR?a>@Xg5L?P)uTQ_pI&dcGd2dTqnNVOG873 -I!pKsK0t3EOI;T2RZ3H"RZj).TUqL9QaX/uW2cSj^WkNec,@3)`mW2M\[AH>^V6V1O,o6dWkuK^ -[Ag!sQ]mo9YHOadLPJrbMOCKNXe_GSR$sG4W49F[c,RK6a3;B<^TX5rSY`?h[^iZAWNj=OVOF3U -V5gJpXJqhVNJrmhUmI41R$"#HYF(?.MN4-nQ'.?#V67>G`50*fTV\K3VQ-o,Yd(U7UnF6FQBRK% -VPg,f]"PD\T9#>2S"6FYT9G:tSZAl^PE:riOe&Vk^V%(aY+Cc8PE;$%U7e?eVOgW3!>9]:4qPWii_D`4)J0XM)0I -Vl$5ZQBIAnP&d=uXeM)ER\?+L[]lR*\&Q%o^pg,%NgH03[C*$7Yd(s?R?`u-YHt7.VPKu]SscFJ -R@:4ocd:"JXLH-d^V.Lu^rk'Tc,7!#ZDK3[BR!M`PoU&Z)t7@`mNJcc-tCq`4EUdYIV]lXe))STX)&% -OH#-WPbkq0`l5o0ahY[%W1p)]USXut]",>\X.uMlY-kR/S=#_8R?XGVYbdtYMN4*nPb+nZZ*1+# -Q^4&2SQ_LF_ -U5b2'WNEhXda?=TZE_!S\>uU.Un+'RZG42g]X=K,\'31<\[]Q%c,R/eQ&_NF\[o@A\[8KB\%f/F -T:rL%^qHM3XNA`&Z`9n@f#b8!Un3a1Pb4bM[D]naR?F#7URd^4SYE![R\746d*BqOW1K`LNg,ii -KRnaSKP64*S"H4BTr#*3`ko3m[^WH9Tr>N>XJNeS]>Mb5`43%Y^;d4OVPg,TQ'[E%Un+!>M2-qQ -TV.aAS"H=DX0Sb+\AcJ=gsa-ET9?+UZ(mA9Mij3gVS'F;YK,/@b.b9k\[eE*S=?!JTWc)9YdLp@ -W2H5VU8Xrg[Ca)JUo1QXg>XJX/N59_nX.:]Xt\]]>i7I`4W.> -PFo+nf\P'#`j)&)SZJo_R]X68_n!Iu_8spAdbEU.c-4;J]t:YOVPpPqWM?#LR^U2GVPL,o]YM"Z -Zb!lYWO0[bZ_3_YTW>cE`-fkdk2=hc#ai2*2_8OI;dF?CaaLf=;f%&F%cd^4kf$i'lcJ@!q -aMYTq\A5SY[_0>rf@J9SVR+@ga2>?r\$rue`kf1,daHXqeC<@6iRuDna32H<^q@"UZ+@rrbgFnf -c-"Mce^rO/f@&:&bItBdX1?3idc'.Nd(m8sZ*1=6Z+J,b[(XZ0a1Jar]=,8gbKS)@]XtkrcI:4_ -`5BI!U77pQX0Ak4Z*h'OXf8S8\@f\bYbRJPWiC03T!H)?Zb4E,_mQ;2T<5rTb/D!0aN_fC^r4.) -\$W][`m;`7Y-bU?\A,u'ai;--\>,I^R?=&HSWSejRA-RW]#hgmX0/_=^:hA*cd'h_aiMNGccWl# -QCb7nbKe,@ZamZMUSb?0bg4V[b/qcHa1&.O8#`5ZZGOAVTWku.TTGhGX0/G"[*7(;]!\l[^8A0S -b.kU$ZE:F>Z+nc@d)!H"USOfj^;7k.\?<'CZGjMSPF8/DZ+.';W-P\^^:L2AZb!WLWMlYjVl$;g -X/r.kR[B\EW2,iRSt`f[IdM^rapLaNMc8 -T9PA&SY<:%Z_F.TMisa/T;fHBXIQ#_USb?"\])tLg!%1Db0%B-`m<#J]<7flPFA8GZ*COB['-gI -`4rLY\[SW=YID30m^r3jiYHMiJ\A-8;=_Qp,AV67MPbg+Ye]+VPUDpStrKdSXuFGWjTOKUm[pY[CNHL`l>g.\#6$qU8kH$Wk,O=Y-u$Z^Sm]mVQHel -Uo(B*\?`3D`O)_FW%FpDVQ6YbS>N6d\@K)NV5']WXh;6Y\$*6\b.u':^UUkk`Pfd6a492Bs8W#r -JcC<$JcG<@J,~> -li.:SaH1[Y>[1E6=SPnm<;KMo;GmBh!`;ior`'b9=]ng+;Gp@h;H$Oo=&r:"<`W0u<)lus=8>r< ->$4p-<``C+lJ%->l@q.>Q.n-?2n72>6eD>@:E\S?XNblS(2?=.(<@K'Xb@:NhZB5)*rCi!m%BP(a^?>!eYAn>@X -@pibVC3"QGHZa@JChRHqCM@Krr+AEHH%(Q%t-^YI_iDK0lROI)W6Q^+#/PE(W`O-5p0Z+m`G -RZ`l!P)G*TSZ8WVLjaJjH\diOQ&LEHIsup$MM$G-H[L-]CMmg*J;K)HUReFEVbHEGoQ&BlncQIp[haP+Sti[Af=?Ec#c:H\RT7 -I=mE7J9lHiGB&%aI!0jdHus:GDJX3;NgcW:X0JUaPc_?qUR-ITF)u_`Lkh1YN.#\^C1h0mBkV-m -CN+c`QB-fSM2I(LT;&FdV'_guP*hf;XK/A"R"BF$FF&^m -I"IP`UH@EH-/FE+s-%Bl%m6G'/FhIP)"L1E,KW8 -H%qcTRAR6rZEBprQ\^3BG&(f3H@:6iI=7$(H@:F*U9qJAEON3QQ@X'rDJ%*UopPgS?KT3[(NcQZ)*M1FDPf=Kq,0DYdCO/YHjdVJVfS\V66YTN2*ena3MoL_6KMqPa%&P -D.I$^@:a+dBlJERLl@%2H@pcsJr,MILkpneUn40,U7%^cak,+d_R[1pcH*Z(Wh5rhZC-K$KS>Pc -^q@(US!9%iKo_[rSrnJ@E-$>`TW"TMM1gP:MNFI8YIh]e]"c;/^qR:SP`(ZlSYE3jX/)So]X!ub -OHPZgQ("/-NIlJ#HA[iXQD([qWMbPuKT:tOR%TUsItR%pOZ[Ag7-TTb=qP(/(=MM-4qGCG7)S$8udSWo;!Oe8np_killS=>qBYf4o3\=en= -LQ7.>I>!E0I<^*pRA$.7NfAjPPae,-Q'R>pX/VSQOcGZhKmJ-'Q(5.u`#$>-Yag]=SX5P)R[g"; -S>`9MS$'#sSVI,e7X&liCMn)XB -Su\rlWN)YTLl._1]sFT!KnYD=Ko;7_H]3N&K9)S0_7?MQ]uS4)V4F35JphllLP'f'PFIYdKSYPF -SY`*LObeOFUU7)!Y-":mTrGB$W2,o@JpD?RD/OEFQC!SoR[KG&PaIr8X0]-pKoi+/YI_BKQ&M9= -YGIhWOc+pEJ:`B;S=>UlItj#CTrtAcT[;`LQP^e(7OJ/hWTq8*Y[@WJ;LQJ1)T:VF6OcG%NgH9,V67PVda6CleC`!VYcOk!Q@"15IXlWaJ;T)6L5:qa -ZF.!5O+r=>J!m:=XKo.4X/2u%TTbY6XL#(2YIh`l]We<1X1-'sh::!+gss?R\?2[5^:Br!Nf9$m -VNQIZI=mHJY.D6Y^W!jtZ_EhSH'FJWTs2/B]!\5rPF%i=X.#*)MN<[NQE6sQP`10HOH"jNS>E6b -Tp^dlLPq%FO-c!*n\[Sc>Ssu[\Vjj'6NL,irS"cpfZa-R-W1fii`lH3E -^oNofQ'?lUJTc?uS>N[1^9+KIaO8LKbe1=!^q-tONfJmPO+W4RRA$RYSWJ\UI"mrfZ)*_CKlVHp -PG4=oK9N%0^!bQad_W2jZ*C@$SXc(2P+AY_\@&]ER$Oef`l5R%_T0F!U6CCfQE%*o['?U)TW#&c -Q&Up"YHkH^R?!uT`OrU^WkuriTp_7/J:39@TVSj*\=nb/Lm!s\K7/]CStM:7Z,">r`4)J*Oaqb- -JTu'ICMds*E-d1pM2dUaVma7KY,e\*Tp:b.Ye-d*]u7CsaMu'&WiWVBVP0NKOb\UHIZg+ZM19J^ -FbGg9MMdFVP*)E:U7rm;^W+gYdCcB?JWQ4dML'AkJV/]HZ*'b!`6cfJ[]HR5X,Vu8MIr'HZ`L+/ -Ybn.fP`M&qPEqoCXIPfSXhDp&bIkBdUogboSt_X4Lm+^=Xd>HGSt275P,Z1:bgO_O\ZDHfMN*j] -Jqe`#Jr>_NMN3^SPd%g,X0K.B^MncdKhH -V2^.hVRbICh9s9@Mi!CaT9,87\[oVe^;Rn1cc4Jihq$0#beq*(Yb[h_US+0EO,&[j[]5XZRA@*r -XeVY@X1#=4Z+[cHPED<+XLl?abM24@g==Zg]<]&RU:Sb)hV[,HlKm^'m,?L>`Oi=Z`R2o?Z+7g% -b.bF)eC2OV\A$)*cJe$BbIFd]YGRkeYdUR-WjK@GXg>XEX0K4Sa2PTlVl?bqYJSQ)`Q6!;bL4\P -`6HHNd*9J=]unsPu&dE';C]Y;(d_8=.+^;%S+bfnYiccsSE`n&qtg==R#cIgk'f[JC1 -g!IdQYc+Y1Y,SY7]?&RRcEa:P`6#j/Z*UdB\\Z8![`-YBf%Sm5E96-4e(<'f[B-$jY//3-i8N)"]WnfGX/Mqu];hp=_o]^%Ye@KKZF[lh^ULba]>W"E -dD`r:]W7?[Q^=AAV5C2mY-=^pW3CtTS!9>=]?/"*\@fl,bf%0- -^:CMOZF7Hb]W7j0YGnb:_8aU8]!&,sL5UqBPGsXrItWoOTV8a2]rIs-X0]FK^;e@>bg+AN`5g'A -\##(KUp@eQ]sY#N[AodiWjg'pc>q.OaiDB;Z(n%`PEhlLZC[8SX.PT/Q(=VHTV&I7f>4emUTgqh -VnU'YZ`p=%WiN/1bg=D=Z)!eZUTM8E_S<=QWiW88\"8P@R%L:]W1'*GX0/Y#X0fFBUm[L4R%'Y; -T;/*GObnjTS"cF4Ocl$(TluloYH4\(Yd1-rTt/:b]="`8XgYjQ\@B/]ZC[J_[^!!?[^``?PE206 -]">i"_R?h_^;?h:Wi)GlXd=QfP+eP:Q_pg`ZaR?\`mM]'R#Hf\S?ol9['I!Nc.(1__8ORBb.bX( -W0E6qMiWM?Z1bLt\$_nWT9bItR%gUh]sY#DXfSh>`mN/Q^V%J& -_n<:X[_9)HWkHHbXf%np]?&U_fuq"IccEVrUo1/m[CsQ$aMtX!_o]a'[XPfmXff"9YdhZreBl.I -Y+MDpcI^7QWh,oSW40Xab0A89URdd4MO(-S[&9XqZGFl8bKeMVaO/Mkg=FWse'u^a]XPZ"ccsVF -X0/=kR#mu4Vl#oMT:1h)SPEM,uU7n-ZVkU#hZi@I"SWf2+ -URmmBSu8]mVOsctXf8"dR['/*Q%t6_R\6deYG7YVQ^=MSZF7'>ZGaesa2>QrZaRHU]=c#-iq -l2M%Yn*KK4mcj!(qXFIPrU0XRrU0aSrTt!\n*ol:nF?,Bo'u/Hm1/RQnF,f3mI'E/lg4$,n,2\R -nc&)!o^hVBn*oi:mdBK2naZ,:n*f]5n+#u?o'l)8nG`"Ynb_nWmJlS[n*ol;mI'K6o)A7Xo)J2K -nalDEn*fc;p@IeAn+-)@q"F@Nn*]W5n*oi8nF5u=o^qbGo(2JFp%7kHoCDD>md9H2naPu6oC28@ -p$qVGnF#`5o_&"Yq$6ZcnF#c7o()eOIId"#p\=FMmdT`6n*oi:naPu6n*oo=oC;>o()>>m-F',nFH8Ena5`3p%7kIo^qYAn+#u@oCDG@naZ5BnaQ&FoC25md9E0nac5>n*or?5k=UHs8W#knEfK0oCDSIoCDPG -n*]oIrV,sYqtKUFm.0uHo'l)r4k32@/ -p%%VAn*K6&mcs3/md03%kOn]Mp$_>C*aq"s^O -n+QVOnb;bQr:KLRs8)N_o_%kInE]Q6oDe>ho_&+Qn*f]2nFcbSna#T0mdBQ4mHsH8p%@\=nEoT0 -p%e.Mq=jXWoC)#-lM:J[p\+FRlL=fQs8;Q]p%eIWoC_hHmdT`5lg=EGs7c!Po(DVBkNr$Erql6Q -oD%nFm-=TB)YW[bn,;nJn*TN4o_.P6m-jQL0\mHsK5mIB]5oDeOSm-O32n*TQ2m-jK8n*TT,ioTS"p$_/2nFlh\+o(WrnFH/H -s8VQOmeHVKmHsH0m/-hXnb)VGl07^/nF-)Ms!IO'_(SWm.0`:oBYQ$m.'K.kNM'hlLt5W.f&l:p[%,1n,!([o^hP:kO8'C -s823QoDJXgrqc-Dm.L;Pp%A+Wp@7S>rUC]kmd]f7m-a?5n+$#?n+-2Bl/q0hhrsb4p/LYQmd^)D -mcEQtpAP$gnE9!'p\b$eo_\[_n+68Io^h\Kq"=.Hlg=<=p@\.TmH!I&rVlQ_o_/"Sr;-0VmHa60 -mdKQAq"+%LqXa%=p%IkCp\FCZoH3buoC22:'_o'c&@q=j@En+#rDqY'pg"n_KR -lLOrRrs8;ho(i=]o_.tWs"sQ>lKRKol2CY^qu$0Sq#9gHm.p\ZqZ$?Mh=(77qYpHns7u!LpA+=J -m-O'(m-jK3m.:)Qru:n&mJ6SMp%J.OmH3I'q=sg[inWo"s8W&fm.()T([pDGkjncRqWHr%l1"?F -qu?]go'u&0oD\bOqs`n9jXqu?Zkr;,pGlhCDYp$_A;lgk#Ss7515 -nbN4XnaZAKo^M;Crr3]-p[dbBrr)ESl07a9pXo_JLd0)Fu%o(N%X -o'l>Lp[7/,meHh[o&fE2o'l/?p%Ik8mJ?G=kj.[0oBPH%o(MPLrr3T,o^D)Ds82?Vp%\@QpAb0b -oD\bRpZ^]#n+?,?naGu>o^(].q>U3UlhpeVn*TfFoBGc8nEo>qkOJ -pA4RSmcsTGrsnYep%S+Mr;ZfhkhtF^nG`G+o'GoFs8Vfcrq,mPkih?ujlcUBs6f1Epu_&DrrViW -nG`GtqYg?`s8;]goCM_Lp\+.Emd]o=p&G'_oC_eOme$/;mJ[(bna5lEq"=O_o]+fpr;H6Umdfu; -mI'B+q#(!ZkN2%#li$k^n*^2Ts8Dcip?h55n+6SYm-OQEs8VfZj7!$J*;fI#o_eadoD/(IkNhj@ -s8MNQp](3bnb))1o_ndh+m\k#qXX(Do_@eBp?h,;q>^Kmmc`*kP5)Tq"F7KoC;&Dr -u(S'oC;MLs8V]RjQPn!o'u;Eq"=7XpZq;Err3T$oD/Fdqt^0ZnbW:cp#tMumJd+mmHa65o_&+Yp -[n1Ys&T*go)&1Gjm;mEs8M``n+Q_Wr;,sSqZ$BXkk+oMnFH,6mIg)=oD8Ler:]aDlM1DZnE9-,n -+6JWqsj%6lgjZ9n+?ASq=aFLn*]Q:rUoLCm.C>Ip\k+.qt0:Os7YF7qYgHopupc+r;Z9UmH<^'r -Vm$"nF,f=rr4MHqZ$Tms8D?Jip-4-p]($Xp\=:LoBkW&q#CBmpAFdKk3hg:nE'*9s8)ZkrtG5'q -tg*Xq"spZn+HPWs7lL$Vn*fi:m-aQ/Qr;6BcnEK<6s7PgLp\+%AnEg/G(&7Ccm->#i:$C;oB><+qss.Eq=Ek;qYpL;rqH0^s7Z6[n*TZ=p](9mp%.tUr9WtHr;Q^7q -"FX\q#C?eo`+aVmd^)Ps7Z6ds8VZPhsp^Fs"!s7qt9aTl07X2rq#@5l1OoFl0S0>p\t$Ym.0W3p -Ab0do_/7[o`"gYk55/X#kmrdo^q>(mem(a#5n5bnb;t\rVp*mkjS?Hqu?]os7PUCn,NFQkl1VVq -WmYCkk"iHp%7tKo_8%Jrr;ulo(2GCp$qA.k5G>[p@%MJs8VoZoDS^hmI:,Tmc<^,p\O^VlLY#Ts -8)]oqY^!^oB#cGrseo%qt]sarr)Zir;#mRrr3&aipQgG$hj8ks8;QgnF6,=o)AYMrpT.BqY0CCq -u?6MlLX]Dp\+=RnacGHpA+O^s8W&ckO\`Rqu6NipA=[Uq>^?lrqZ0Rmdp8Do_/(YrttD*r;-6bq -tg6cp\"4Lo'l)=s8W#ss7,d\rsAMmq!RqQq#1'brr3)uo^MJOrsJZ%rqQ1!Up\O@Bnc/XcrVuffnac>Lo^_V=ipZpIq!724o -^_DHs7bjIoD&@cp%/1_s7l6WpA4aer:9:;mIKrIs8W)gq>^B^lLOlJq>9pZpA=g^o'l5Ao_J@`r -:'%Ns8V]UpA+R]o'uMSs75LHp&G'Pli-k_9E+\cqX3eKs8W)urqQ3SlgsrPs8D?InGE7cn)Ea0q -YL-aoC;PQr:oOHr;ZKUk3h^0oBkf1p%eFTmd0QDrV>jNl0.g2k2bgpmJd+nrpf(>s8Vl^lKIU1r -VnPHo'l)?s8Vfcqu$Hilept$s8Moqs8MHNnG)nJlMCDPs8)-@kPbGZkiD4#lLF]Js8Mj$p[7GBq -=t!co(r@c&,Z+qq=a:^KinFZ_Zq"OOQkiCmuq="1[s -7l9YlfdmC-dqtBCBn+cq_p\+.FmIU>W"o[oPlgsuPru_+-p$qYHp@.>5o`+RHlLXiOs8MQ`rUfUSr;Zflo -(Dt]!rVfhrr6(!p@%_Bl1"6BnG<"Jn,E:Qq#0pQnal;Bq"ssXm.C;Wq^Kfs -82EXp%S7Wn*'*9s7l'Nn,!%]pZh,Fs8;]dp%J+Oqsn*'!,rdk*#s+14;s*t~> -li..chQE5uI/SBlH2;daGPu^`Fo?C^F8^+eF*)PJF`hkPH$=FQrGiBhFEMeNFEMbMFE;PHG'En0 -!."Nhrd,W5I!U'_H$O^ZG'/"SH$FLVGBS1SH$XgaH$=IXrd4Zkqg8?cs)nZlG^4RWG'J:Yrd4Ni -s*[XlJV&H'J:W9%H['^ZI!pKuKS"`)It)opH?sj_H@($gIXQTkI=6QrJqSf2L51P=KnP/6KReK) -Jq8T-J:E0#It<<4Od),nO,]!LJq,5Jq8LPJe`ibH$=O[I"-Zu -KS>8/: -MM[(>JUrN/KS+o/JUrN4M1gD1rI]?FIsultJV/Q)Jq8T2M2[FQM1gG1JV&N-Ll7@aVPp>bSX>b/ -P`CTQJV8c4Kn=`#It<-&LlRRXMMI%GMN!RUMhd%CN/N[SM2@.KLl$qAJUW*"KS>2;N/ECJOcPTd -Pa.DhK7nl2M2I.LP`Cc`NJ`RJL4P#27"KrDL4b#+J:W<)KS"i3NKBq)MNF4#X/;5FPb"&!PEq;mO+i+:KReApJ;8].KntYIOHGZaM26n>LQ7LXLk:58 -NJrXHKSG/3KSkJ=N/imXOd)`EYGn:kUnj-6N0'U0WMHShS!B(pOdVU9RNn2gVRq\##CRTX;MO_R[(ZYc44\Q'IGhN/ECELQ\4%Q]I>rP_F^HT!uSLYaC3! -LkgnOO-,B^P)Y?_U7%@4OHG]kQ]6r`Nf]<[M2."JMj:0BX/(u9L5(MGS>ifuVl6o,.&`i6Unjrm -]#)M*]X4`;U7e$BR&7-iRuN,TL5_CgUSFHJOH>]pQ^7W0s,MJcLPCP=Ng>roS#W'^]Y_=^S!',+ -R[]LsKnkPMT;.j8KRS;oIYWi@PFReoKS5/@O,\sKJq]&`EeZb*/uR'jcAY+^]/G)(g1PaRo-R?ED]L4t23 -Ll$n=J:WE=W3WP"Ssu+-N/Na_S"#k.Mi3XYP*DB*OFi"3'VOWg0P+%u8T9tk2VR4"M]!AfVX.Z#QR$!8_MMd+>M1pV>MMmLYS<]+qR%9V-Q(+MGXKJRs -PDY'KLl%(QVP\U5Vm3e@Y,nn0SsPk0LkgkKQCFJ8R$j%pOcYWlXM_ul\ZDEfN0'*YK7JT0M3+$p -Z,XS^VildmR]!X/[&U%0^:q:s^rF:(Wg8EkK9)P0_7dLt]s55_WLBR@9tWZ"'Z!M2ICg\AuIpZ*qKh^p'rGS=,V$NKB6\NhitY -QBIZ0Q_CRkZ`0I\Tt&%PZF$m8^Tt)OZ*1:,T9b@dJVAuARB3K^Tr4ikV6@/%Wk--cR?=&DZ*_0X -ZCmMYZF$a2T:^4rR$O)'OIVu;R?3GnSX?IgZ_j_6b/(QjX.PK4O-lZK[AKh)XLP-rOGTC0\#ZI' -V5p_nQC4,*R&RpMf>tA'^<+=*]"YJX_91BacaLBlVNcpqP+%Z-UmR:1R\d!\S!9;6VlZS]S!]:t -PEhcLaj/Jg*QbmiUqP$iYbR&4R'!m(TTkOtP+f(c['ZjCa3rN;e5t5I_mltPURd4&Ocu,nNL6B- -Q^!PmTsqJ;Wh5WANesU@[]HX8Xfo">\#Z-kT;8Wq[CO&k`4WU[V67V[fA"Tsdacdf_nrgg]>h^k -TUD+;[D8o4Q^<2fQ_h11bKS8ccGd;hTVSHVUTD,Mb.tKkX0/b4ZEL!jSYMpIQDM$iU7ds9OdD>q -S#M7aYd(gceC)CVd*K_L[%O(]SXk[tUnY'-];:UJP`qN7\@JfA -X/:u@R\6UILQ/(8Zb4H*f$haRZEC7+T;J`mWiEA8`PAmd['$OEbfRJuY.MZj^9ODsMjglWY-GLJ -[&g:1VkBHKXLu6TV4Y'8a0qh4QG(ecZEdo=S<0)3X0&\BbeU9FOdDQ+R@B;$NgHT6Uo_DUc-O,% -S>i-JR[K.fJUrN1M3=F$Q]dGoS>NR'^qR7][(!<;TYJ@KWkQHd_SO($Z)O_/]st>KX.trAPE;3% -S"H%+N%BgEOHc3,VPpMjXgP4/][5-djOq\eUlh:HW1Ap&NL,fjRAQpYXM334bJLdg[""^\#Q-qWiN2"VPU5oZFmNK\@ArX`kAp_R?sS?R[R*V\?)I,]Yq\!Y+ql%`mMoG]tVG. -bg"P[_nE[n]=bD\]WIg"WNj1\da,qL]t1\OT:M.&R'EHTOHZ<:Y-,LX]WeZJ\%onn]Z\mUcHOGV -c8X"k`OMt3RA@%"`lQ')\@T)IV6@YQbK\5Pbg4YT]sP#CV5C?/_Qp/M^p9c'UoCN%XKB1_gVEfo -B"l'SXhr/p^qmO\[CWobe(E'd_6g5AUSY<2aj.i1Wj04Y^S[9gVP^AuZ*1@=]!nl4UTC`&VQ$f" -Xfnb'X08_)TU1tV\?rl[[^EQJUmRL?VlRGH]sP/QZ*hHsgXF*P -\@fJcZDspKZb`7UfZ()+`l,BjZ*gL4\%g#2da,M<`Q>p'\%oJWYI(U=ZbOiD -gs!UCW2[;Sg=+'KVPgDq[_g&'`5K'cW2?)JQ_qO)Xg>a[ajJbedF6+PbgYA'e]Q"[c,RZ8]Yr1K -f[\*W]rds#GabY0['HF$Z*'[rXJ;2TTV&-j]st);X1,gW[_Beu]st2;Unsoi[^WHS\$3-G]=bbX -UntK0Y+hVaYdLpGW3!kU^q$eTXJr(sS"-:MVm -li.=eeY%V5@UEAD>$1W%rDieqrDWYm!)`\k$W0f#?Y-1<``@)<)cdr='&F%?b65>Q.q.>l.h,>5qe4>[:ZB>$G9=?iFI1 -?N4CIA7fIdAS#IdAn#+Q?XdMUC2%^mD/F''C27X' -E,TQ+B4YafB4bcTATqp/Ec#N*DJWuuA7K.]B4u'qBP;-sDfBW6E,96$AnPgkCiFE>KTML`O,8RC -J:;]^C1h3oC1h!^?!h)NBP_d6H#mtHFE;SKGB@eBEcuSLGB@qMG&qkNEGTB'BPVF$EHH>CG(+jf -I"$NkFDG`0D/aN9FaO(0&9Mu4DeX$(BkM0qB4YU`A7kgRDJ=*7I=dEFTV7g9Jp2-MCh@BqB52:$ -D/=?CJU`3)Mhce-G'\U`GBe@YIXlfgDJBP1skAn5CcD0C2JH@'mX -Df^5OJV&>tH?XLTHAJ<+^Up_>MhmY!\%/uOW2-,QMLp>0H?=:NE,9E:K8=u#H@LKjFa8k:X/;GF -H[0p[FE_bGDf^/HFFK:+Kn=c$I"-]lH@(!eI<]pXH[L3aLR=a)OF;.hFEN%iQCab:S#*'SPE_E# -SYid+^qI.VU7.@.Lk:DJVP90%G&_JDJ;TMTOGA@8JqSc+G]n7TH$FFLChn6HLPCtaP+JbZWgJ]q -M27"FK62'NDg@"lJp23L?sR8\GB\IhH?*_8FaesmEb]?:D/aQ8DK0H(BlSBCH%(O7U9M,2U5j_C -DJsK@LlmC>Jr,;4GBS:SFbPa,J;T8:EGKH2Ci"3&cD0:>]KK+4-P+%PdKT1hGQCF)(S!8>K -GB7qHEdre"L4P)CS=-=QR>6'*B3e\E?=%,ZF*)\LEd!%jLkC9XK5Q[>X0&CpSt;F5Ng#s1XeqYW -O+D@pH\[`=H[pm:Tq\BYRu<>nTV%^@PE137BP2!nD/jQ;G'.eCDfBZ4CMdj#C3"HhhG'Sb,s.aq0O,/XONKBj?X0T+6X0T:I[^`]?Q^!u4WM,lT -SXZ:P\Zh2VN$"NJV]VdV3$@[J`KgW1fQ3F`r"RIufVDLm!O= -FE;JCF`hkNG]e(RJV\o6S#3'b\#Zg@UlpUtR>HcZO,%q"GCkgBVREOnQ'@GoQ_q1&[@N\RSXZ(F -ZH1;3Z^d#1Ko_.FJVJu6I!7(]8_K,Vld24 -[o]GgLQnX9V4E^-N/*+AKRf&EO,&.0J;K/VYH"4h[D]VZUn!HoG(#LEY,n.`UnY#_O+i%?T;\ES -Q^4#,O+`@FLPq_0`QZ&uWOKaX\$`cJZ+\0+f>dfeBq(!2K85J?M2m48JqfGSQ]6i^S"Z[GOH,-G -H\%'>XM)Hkb.b3TT!u_PVjrEnNguo6MLC#+LmY$9V5L,ra4&Vkg">!'^TXH%OGJ%+IXcrrHA%63 -K7J>tNi&hSRYl]FHZtp[YGS1)UnFKZXK.tWOHu?3WNEJ;_8*OaTUi$qcIgq!dF6[paMGZsYI)!R -V3HpqO/K:UNf8sXOIiVe^r47BaM>'NQ(!tpNM*c&be^T]R$aG8V5]rBN0KH_LmY38QBdPdL2N!- -ItsAdXfS:fKnGDSR#-KRO,]9iSsbe&LQImmR@9eJ]=G8NWi;nmYI(9rP)PBhS>ig$Z)aUfQDCjd -R%h++bK@GlQ'\#1Kn=_uI>=2fZG*`GX/r_Lc-!f7aN)$*UPt(aMiWICR?O&9VKS5[K7\W4Updb5 -S=#7VFF]:EQ0Di^KaT;oTPccIVld"lStr'PSXc+>VlQe`S"Zgj^qR:\Yc4P'WLfQTSWo>(Su&EYTr+rnU6h+D]>r.BaM5Qd -R?3)OJr>kPKReiAQ&UU$\%f8EXKo@;Su939V36n,UU8(b_9Lctin2f3Ge^hm[^3'Re_B$>gYC]GiooUaeAo;/W2[SW -`3?>Sb14SI^;nIA`65g/a2H-Vjl"IqY-5+0T;&d-Y+qr#Za[BNZa-a;\%KGdZ)t18[BHdNeC)Uc -bKnG^d)aM`d*pCd`kfL2bJMBMh!On0jj2,g^:_.s`le/!$. -h:9lo^UCM^_7$PQ]"Gu.bf-fa\BE47[]ZpD]#N.Fa26'JfAPE9iToaigsF*[_o]d/]XP2T^r+1< -f@nr&f$Vpqg>(QCgXOQo^p0f)QDhF:fAu&Ke'Q%N[A]prUp[M7\Ale6\ZiZPY-54D]tUka^rb!S -f$VLQ]YYd'mfR\Hgj`6QTH^ULDHR#R&XIZLCjLOOo>T;AHr^UUAJYI2*[\%0Q/dEg%Zbg"8N -_R-.sNgQTG]"bk\['d08Su904XP*:rjUSXNOU8=Zo\A,2DWP$Eq\uVX!Ts25H^q@(XXK&S>^9k>`^M^m"VO!L? -Z,"E-fZ^t9]YV@bUTgnuY,7J7JWldpMNFX7X08h=a3*5e\"].GN1R;d]"GPbaOSql_n!=j]tLb] -\#Ps`Lk1SUV6QqaOahq=O,f$TR\l=-PaRf*WNa+^gZ%5EaMPg0\%0Q,dhj\\#Ga\?rNI\\QbFa18RbZDaUqSrnhbOdr/O]XP/MZ)t:Dc.:=]]XbJW -Yc4=iWNrb,XhW&qY+_Ml]"ueOgWR%Bc,[8jUoBubZF[rscHa#6`Pm>;X/r_5X/`D/Y-P[]f[[sQ -YbnA3e_JNfXIPfRV6IYL_8!abTq7gYID<]]=4f*Pa.T-WMuYuXJ_sWXg,19TpM1H -Y+qANR&-mcW19Nk_S -kPkb[oC2/2lL+E9s6osTrp]sVrU0XO$h!KQnaGo6nFH,=n,;Yan*ol9mHj3,mHj-(m-X9?n,VnU -n,MnWnc/2%naQ#9mdBQ3mdK]:naH#:md0<.nF?)=mHsB4o()>InGDYRmfMnFnGMf#n*olmd9K6p\""Cn+$#?p@e.NnaZ);o^qbSnd"dYp@RtIo(2kR7J-3BoCDGAnF,l;p@e+Io^VJC -o^VGBo'bu5nF?,Ap\=LTo'Yu8naZ8Co^h\EoCMYFnFH,:mdBQ4mdBH/nF6#>oCDJLnGi&-nb;VE -nF?#;mI'N8o'Yo7o'l5@na>c2md]o@oC))7n+?8Dp%S1LmJc\Uo+LW`nF?)>n*ff=o_/%QoC228 -nc&%VmhYQlqXa+An*flnac,9nb)VKmHa0-mIKf=n*B?2q![eGo()JHo(;VHnEfN/nFH/Bp%%J:nE]E0pAFdYmITi: -o'Y`*mdKQ3nb;hSp[IeGnF,rAk3VmBr:ojOq#0jSm-F<8 -o(DS@nbMnNnaH#>p@de8kj.^.oC;;>mH^:Qr;HQkqt]pU -nal;:m/$b^p@%M@o'l5ApAFsfo'uPSp[./0nFZJInEf&tq#'mVnFG`-p\b!`na5c8rr79>n*8rs -o(VtPmI']Dr;ZNYo)J=Llg4<@q"F1Cki_=#lfds3o'bu7naGu;o_&%Zs8MKSmIKi8oDA.AkOA?D -nET6&kj\QJpA"[fpZUc0o^D>>o_J=RnG2kOoD&+Wp$1l;rVZH`m-!^)o^M>?o'u/?qYKpVnp]uh -nc/Ucr;#mNmI'QArVZWjoBYi6md9E6oBtf0q"X@Bl1P)Vp$hM3j6lR.nbN%Uqt0=Flg=WMrUfUK -n+6,Eq>0[LmI9Z5naPr5o(DYGlK7@%q>0gQn*]Q1pAFjboCDPAjlG^urr;`Yl0[s)n+?VZp?:l2 -p](9hnc/$'o(i.QmI0iMs7c'SoC;;;lL4E=o'G]/oC2;@na5f9mdg#>kiM+!me-GOo^qnXrV>mF -kjS'aPo`+pYnc/VBo^DMKo(VkNpA=dcqXEV/o_.eEp](0fp$V,3nbN+Xmca!(mIL#@nc&RYlg3m- -rr3<'n+Z\Np%S"AnGWAjo]PK*mdL2UrV?Hjo(M\kih[7o_A:Up\X[Qq"sgSmIU&F -nF?,AmHX37qtpEhki_L+oCDPIq=jFEjR2jDs6AS3r;Zfel/qF6s8D38i9gC?s"j97oCheAmI'lO -o^;/4kjeQMrq>gJmI0H/nG)hNmd0TFrUomZlL+0)k4/3lLFK;o]k]7s8MWUkNhj=rr3]1rq>gOlgONCq!meGs8VcYkj%^1rr<#p -E;]S+s8MNJip?[Es7#+2jnA`ImHa-/n*'',p\=RUna5Z'lKI9prVGsMo'P]+kiqO0oBbi2m-*a& -n`oWAqI2m/H`+oC_kLlM^SQnE8`nnbiC[l0A*EqtKses7GF9oCDGC -oBtf(jR`9Jrs&&Zo'Yl5q>UC=q!R;+o)JacnDra&s8VofrUoaOoCMD8l0.sCs6et5oAS^#rr4>< -m-aWFp[e1Sn,N.Ro'>W6p\4CQn*olk.:Ys8W#pqXEY*k4ScNp@n@R -lg+$.lKmp+mHNctmIC5Vr9W\>s8Vofp@IY@p\==Xs6oRXp%J"Gk2H(7s8D]]nbW:\lgaQ7kN;4- -s75OFs8W)ko^^r$oDJUf6L"%q>'^^s8N&to^(r6p\XdXn)EBus8VcQip5t& -r;ZT`n*K`Fp[.DEs8MZ\oDS^hrUp'\lK@9qp@A4_s8;HQj5p%8rT!#4q#CBhjkoJ*s75I=lg*j1 -rr6Hslga,tq#'pVp&G'ep\X=?j6c[7q>BmOlK[X(o(2>=p&>!joDeaMk3_[3m-OEFs7,ONp&G!d -oCDPEm-40Ar:97Ep]('Sjn&BLs8MfenaubQmI0TAo]PK/n*'*-p\,g%p%nIOins%pp[[e>o`+j_ -n`T05rUB.Fq=naQ>RpZ_)7 -o(i(LmdgANoCr.Un`p/Mo'Q#Dq"=@So'>B"p&G$_nb;nNnc&56o(i:WmeQDn*rVucap\sXC -p&4[_s8N&snDNErp[[S3oD\d]l/^skn+Qb\55Od7n,*.aoBl#q"jIO -p@nC[nEK?6o'uJFl0J3:mdTW0pAas_r;Zfllf@O2rr4M>li6\NmHs6(o)J7GkjSBHo]Y?/rqu`f -n*of0kP"rOlg=<@o&f<.khuI>rs82bn)j#rgZ\J3rs&>oq>L9grVlgFna6&Ms6Td]o)%q>o^`%^ -q=jphqYKOPqs3qTrVQ0TnFcSIl2L\[qu6U8qXa1DkiM=1p$V)1pAb0fkk"TLqWmVBnDrHkq>UBq -pZqJNs"O9Gs7?*Xp\!qOrVcZkq=3h>o_\Ubp\"=Xp[J1^oAJKnr;ZTaq#C9eq#C![qXa@Yru1^u -jmrHOp[%eWs7>I>n+ZkTlLac?qt9RRpAP"2puLfAs7uTjrVHHenFutZqtKaUq>:!^nFH)=rVlg0 -p\t!Zn+$;Ts82Wfr;?HeoCDnWrs\l%s82KbpAFd]s8W&srrVr_oD\b'rqZNmq=jOIoC28Hs8W)i -lL=KArr45;qtp0gs7GURrV?6ar;HKfs7c$To^_bTqtp?ls82K[nG3(]rsJQ!p@%J8nGDhMr;?R% -q#CBer:]UUrqZEirs\l&s82KZnal;@mIBuNrtt\2n,!%Ulg4HIrq,XCl0S!8s7PsWp[@eSrs\Vc -kjIp*nGiOZj6QXBrrW,hp&=sprpo.0med"`@eoQ_o(MkPkjS$,kj\WPr;Q`rp[dqEo(2YQo&oB9 -rUfC?o(_hDp@dnAq"aacqBjOrr4YNoDJRdrq>s\qu?9Rp%8.XiT9\,p&"dgp&4aUmIpAIp&4d_qXEkDqYL6gkhGA$ -s$uYCn+?/@n+68IqYg9`oChtPmca'6p](9go(2YPq"4%@o)8Ugq>0^Qr;6'Tmd]]Err;c_lLY&U -qs3J5mJR"ar:KFBoD&=b#lXZ!qYg3SiU$RD!<2ut%e/cPq>'aZrVliso'>H(rr5=PlLso=o_87_ -qZ$TjqXa7Jmdp/Ks7u6^s8W#gnF,l5l/h@+p](9ejRrKKs8DQZlh()OoBtu7m-*j2p[IbKq"t$i -#5IQYoBku>rVoano',B+pA=^ds7c!FjmW->lK\*Cs8;onq>'dVpAFg^o'uAJrqu`kp@%\Ss8;ff -mHa35r;,aQs8Vrnq"!V:rr<#jmd]lBp@7G4mI9Z;qYpLMoB5Q;q=FC]r9ibBs8W)loCq>4o(;\T -s8VZ^qu?ERj6cI3q>0^HkO/$Cs7H']q"+4XrsJD`mJ$AQs8V]Pj8SWnqu$-Vo(_D,mJ-PUs8V`h -s7PaMq#(0hnacSVqZ$Nkq>L -lMh1SafUYUI=-HkH1uR`GQ)dbFoQR^F8^+eF*)PJFE;MGGBS+NrGrHjF`qtOFEDYJFE2GEFa*b. -rd"Nis*Oco*d`3YH$FRXG'8(TH?j^[GBS(MG'J:ZH$4@UH@(!bqK_s]s*"NeGBj"1(j^OVI!pHm -I=HctIsuouIsZB_GC+afK7j)R"+boKHiA=%H[L9iH[:!bI=Hj#KS5&6reM8DL5:_EKn>&3JqS`) -I=Qm!J:iZ;rf72BNJ`IBrIG$%JUm`L$\sRqKn=u1It3'#Jc:6$Jc10%JUVtFGqaVpJ:`H.Mhm"; -JUi2rI"-a"J:WB0Ll.(HKS"c,K8"u2Isl]kI=-HmJUi/pIt*"JJJ!E`Jq\r5K7el6Ll.+JLP181 -rIt3&%Z$.)L4Ff+Jq\l/IslcprI=iuFb>C&M2@"@J:)Ko(ePQCO\KWhc&DM2-b9IY*6(JV8c1I=[02Ng-*2 -Umd@&NKfj"St#_HCm0d1I=Hg#LPq7[Str-PS=uL?PF%].W3s7HSWo1rNei:Lk^V@ -LknKXOdDQ+R%LC`YH+\&VjN[0Oe8e`YdCC#R$EemN099bQC+/;YI_H^\[8ZGXKSFdP*M;pMia$e -T:r!^^9k;SYG[nQMuJ>/Jc:*#JW#;9re1`9NfB!TMMR%@JqJXRIoh;[NJij\OGemNNf]a%R?Nbr -OdVH%Xhi)u^TX5oSZK<5^:^eTXfJ.aQC!_nNJ`FCL6%grP`(QcPDFgIT!lJIYF(3(NJ`^\P)kKX -O,o9`Ssu.4PEPp/B8_V%Ll@=PMMdLWNgQfNXJ:r6M2R1JPG,+\V5Ui5Z_XM"Z+%Hb`l5g0\Zr*. -U7@L8UogMYLk:54MNXI*WM>f?OI2W+O,&XTPa%;gM1^hUQ][>qU8"m+_n<+CQC"#3V4a'3N,si< -S"Q75L4Fc(MNj6\O.;8eK8,JUR[K:tM27%JM1gqLN/<:DLl@[nW3*D9[BGmULPUS3KpJVlQDUUU%D@YF(3(LkgkLP`UoeOc,'RM2$Y)Jq8ZA -W3WP$TUCn!M2ddmVPg8VNf&m^P`LidNJ2n@S"H+.NgQ`@R['8!N0p<0TrFoUR#d,]KnktfR['/+ -S=cU\Z`^!cNerI;Isl]nKo:kEK7f/QUnjZLQ^3o.XL>^NYcF^qQBi_dX1Q6UUn+!COHc'(V3Qgp -Odi8MWMH5^UT:MoTq\B]T9B2-BnM"kKStnPM1^A2L4b,3JUN''Ll[geP*)&uQ(4SFVldJD[B-$e -P*MQ3R$Nu)UT_,<\ZiQXYb7AHOcPH[Mhm+@MMd@UPa.f9Tp:RuP`qB&VPTrSS>E3^RuiJaOH>K_ -TVeNZY.q`#Z*M!NUR.@3Ll.+PRA?mbWgo*,Q'mi%VSBsZYFq,@Ng#]gKn+f3M2msoVnTsKT9Y4m -T<,T;ZECC7[(X,_^Wa[2ZCH]$Lmb$J`4`k'`OWUeURn<`X/hnbRuiu=]u/4JccEu2W3EM'Rurhn -MM$S9LP1>?RAHpdU5b*0PBrL_St;=5NL6TL[A9J$_U?fF[^Efm_nW:CUTqPYdDN;nZ*UX6[C!NR -UR%($N0^39UR@4$Ll7=YTW>/lT:;FNWhlW!YICg4SYN-^WNie1VQ7&6_m,u1TU_aVX/hVBLl[jp -T:)"6S!B"mO.2l9R[KJ*Pae,/Qt)/7R&HaKPa%]:ZG4K"_S`seX.Q#ZWiW8'Z*:0uQBIN'U9Co0 -Z*C^DYd^d.P)l$0['uKaO-69?TpCh&Q'.2pUT_&5Y,._SM2@"@OennEStVR7NJN:EOcPH]PEh;o -QBka;RB!NpZbEiW\#c-gU9CGiVPfl:I>+#`Xgc'RWN2knW33\F\#Q!fSYN$ZX0B.K]We&sP`hH& -QBRW(R?Nc!QC"2>SWAr*URRR@WNW%dVQ[&!XK%e]R['.fTsD><^s10AZDF+MR\Z^SXK\k(U8G/u -Vl6l0YFq#:O,f'KLPUV8Knb;BVmEY,Q]IT1US"$GSsPG,R?s.tMNjg;Z`TpqYdh*H[^iiDQ^XnT -Y-+k!P)G@)^r4!qUR.I8PEquL\?VopMMdq0\[/B2UTV2W.Xfnh%\ur0=WMuttT9bFiKS>8@R&6[KS=ugcW4'(.Vn^6\R$+2Q\[d1&]<7ioSZB6, -XJi"eQ'@Z%Ocu#pP`_#iQCFq`YG%\p]XtDGUR7%$R%^:\[]-C8VkTTCMMRq7]!&-0UT:PjNfoZn -R&%::f"8,k`Qc<3]""`A]Yr@TbH\@WV3?XcKpIggTp:RtP+/5DTq%[HU9h##Tph7-N0L3P_ST3s -eAenmTsr7f[\8J6S?KK,SW\qlQDCXdZ*UO>_pR)ee^Vja^TjT%PELc[L5hReQCa_9QBdPjR&[Qt -V4Ej0LPM;"Xe)#RUoLQ#XJDM^U8!"@\\>bm`lQ*,Un"O)eCW@"ccjSZdE954]"uD([A&kLQ)hO% -V5L8aS=m$ta3`Dlbe^TVS><$UVm!qce\e]"YdM!FXK8.cUSaWLS#!'`V5^MhSt)%-Q_COh[B6?l -P+]4mUm7..PFAGRXJVkiXK\[pS"m7&\?W:c\\>kn]>;(ZU6q7BYJA?#\#>mbQ`@^*StWO&`5]He -S"m6tSWf07P8'[r]""` -MNFU8VlmbOccX#/W1o]DPG>@fXfSk@_n;tAWNE;2^q?bBW49^Y]Dc+BmG -WkHKgf[IgUW0*UH]>D"ba3DK>\&67o^!OsOd)sDL@)fd]_7mOm^r=.#Y,7n]P+/5;R$XAG^W!jk -_o'6mT<#`BYF_2YYJSoDc.1k:hU'Kl\%AoW]XlGAhV[/BdEBniioAnC`4N@WUpe1RZ*qa)grd=G -`PK=*d`9JR`Pm#Kg1Z@ -e^)@be^i@*f$M@R\ZVp)U:%_WeCrg;f[.CQ]!8fS[)'i%_oU!?^qIOq[^*3G[C!6K_Tp]^da,bM -`3Z/-U8tN"VPBobY-c!PZb!_q[(+)h\#>dbTV7pN['ucnS#Na1_7-PL]Z\^J`kAt!b0\\jcbd9( -]",>LXfS4\PG#4pc.CFf_n)mb]Y_J!\$``NVQR_J`luZOe(<-f_d'm\XK&4r]>M+[]>_CcTrP9"[&pOGb1sk>[B[0LT;K'2 -\@fYhW3j1J_U-TG]=G)DX/2Vu_8a[j$' -WiEMG`4a%&]Y(b[[Ca#YZF%-V`6$QYaLf"!^q..`WM6#WBV;,s\%oS^\@]8Z_U@/d^pC5BVl6Db -UT1Q([(aZ-a0VP:Z+Ifqg=*g>[Cj/]ZaI?;X1,jadF?RY]YDG"Z*1L6VlR&(W3&QX/DqnS=FbsYG\>/`lH3Jgsk!0aM>jBeCrKp_SsF*^V@S'ce-t)e&T8( -Tr=cgWj/_%UT:DfW3)h^S=cIR\A#PXX0fUV_nEe"]t_+VVl6DcXLbm@\?rQK\\,J\YcP7K^T4$& -W3<5%Z)F\Ac-4)7['d'1Wgo]YU7s9?Y,S=pTU_^\_7d=^Zam`XYHOt"R?sG7S=Q+=X1H0fajenn -e^W4-kPtMUo([e9JcC<$rVqB~> -lMh1J]UjF`@U<>F=SGkrj[@86,$S;X?=$uI -@:EbYARo:^AnGOZ?!^rLA8#XhB4baeAR](Ura.9c@:N_R?XI2M@qTFgBkhBuCMdm(DK'Q4CMdg! -BP1a[@:Mes(N!YBk_6oB5MR*CM@R!AnPcSBEr0aBkhBsB4_'P0P+j0C27U) -DJEm"BP(abB520oB52=$Df9N.BP2!nCi!m"ARo7]@q0(_An#+XA7baPs()aUCM[d#BkqU(E,fi6 -C1q0lral+As(;j[FEVSgoE-$,?FF8IaI=Qls -EG'*&CiOH3Dfp5FF*2_QF`V53CM7L6.RSG]n@\K8PG4F`qtQEdWIbG^+4ECia?&?X-oHAS,[nD/XH:EGf]6E,TfCI=6qMOC--TTt=eJp_ieH?aghLQ.XoX0Ah0WMuhjRYlK< -I!g0ZH@(@+P*D`KX/r4mQAKs0C2%?nARuKdBQ.a#Bl.[,GBS%JD/F$"@UoCJ&8H**GB7qQGB.SA -G'S[oJ9h-=;M'FTT=DhW]VUgMP,#1cZa$I%SsPFjJ:W)kG&qP:C3+r\HZO=WJ9uHcMP.&KSrJ8L -JU2KbFE)/9G'J4[M26n#hE,]`2 -FG,L&J;B8EJU)?\FF8t'K8Q%^M0*QPE,0?2I>X/OR%BS(R]*BnUPaADGBJ1[J:2irIWogNCM%'i -DfBT1Df^GoTUM(,Mh$/#I=mKAP*(KHGBnO\F)lGIE,BiVNJ;b)L6RmWK8+`"FGZ3DQCs_&KmRl^ -DK()_Kn4l4N0K^)Vk/ioE,&fb>@(WGDKU,HEc?8ZOHY`]MicWVQ$ekPEVB$ -?_40qV3$%KH[gj1LkLP>JU;TfL6%7KLPCD5MMQn9F`DkkMhcq>O.NDaa2G^,Yb.>=L5V7cT;Sci -T9P+^JVT,MSY;dVYHk+'Q&0p;M4:ECNIQJ/OdLuPG'AIfJQmttUSju\Q&UE?G]n+VOcY6ML4=Jl -E,K]CG]\(RH?X[aK7A]IUS"EiYI(R1Obo0eNf/s]M0O/iLm=X5[Ao^cQBdl2Ye%?FR$!StR@9nN -[_9>SR>cfMMMcY6JV8l8JUiE.M3=6iKo2.aP)PTqU6Ue-U7[sKSW](mJUiWGVk^T9`OMk:PCej_ -Q'Ru8TpqICWi2VbVlQJPIsQHdF),]5CMRj.Ee0aZVjrZuO-l;uO,flMV6I(oR@8hXIXm$!I!^4# -S!8MLI#3Q7QDpmTO,8shVPBi^VOk/mV5BfQSsb^qH#IG3Bl/KfPDP0VP+7i8UmRa__Q\oMR'!^$ -[^)WjLlS(-XJ;,EN.ch=LkC=BKS+l)H[^U+TWP,]S>s$)Vjis+H$>"3T<5;jUSs`NOGJC4O/8qQ -TU1t5R>cNDKSYJNX1uc`Wia%X^](ZhVQ.2Ee(M[6TV@p7JUDp(J;0#3FEi4iOI)/mPFA#DVjs!0 -K7&$&S?]N1_8s3iSslq'_QB8ZKTVk$QA0g:JrZCsUS4Ta[)UVLgY19+`k&+9Lk1&"G]n@bJq&Q2 -JU`/rG_2<]UR$dgG]n:mV5]oKQC4GDW26&OQYVtSW33J5[CsDgXI5dYMN+@= -Y*kle]?&.-Tote;V29\JI=Ha+U9LquTW4f^]"u.j]Zn^9ZD*56FG>a9JV/rCQ'mnpJUN92Q(kUr -Ya_/CF)lbeQA^6IS#<'`]u&.:];hEdM1L8AUSjufZFe#dV4"!LT;JluWM6E%\#cHqP(nCCUT0rW -SXbq%LPq%EKSlJ3^9s`+XM)3LVOF*`^Ts]3S;VTHSZ/m*^V<%=RtucTNKB?_KSkDAUnOTOW3N_? -ZCmMJLkU\?GALo*DfU#VQB-QGIu'G^St`h):_6KDZJ;&i4H$"LnQB$f]QD:^s`lQ*/Wh5rXQ]6]N -MNX-VP^JoU7IX9S><*]R[g"DX0Sn*TqnETURdX6Tp_44PET1@X.l;dYd13tRA[O5cHjA@ -`M&HNK7A6%QA^QVOdhi%JU!*@SYW*YWN2hhZ,!Z@U7\'CLlRXYMQj_7_Qp>ISX5+cRBjQE`lZ9A -cI^k-gtgDhSs#VK`5HiXhTWa)HA%Ka[]QdNbJD--`Q>O%dE9q`ai2<>]<8r^\[K&_]!JB/R>urU -O,&:;M4Cl`[&1%3[]5su\$VilPG,.se^MLahrj"Mda>P4X0]4Bb0nttgY16,f\koQgs3[CYGnD0 -_7->B]?/O=]>;V0`l<,G_T'g@bM2".a0DSE[]ug,\AZ.eW2d)3^pL#DYH5:J]sk5Q]=tngYe\oF -cd'nfe(/A1oYc=t<]"uD"]X+oWaiM0$Wj94Pbgt7`bKnJfl.jhPlfI!Wf$_a[`k/Xj -]tD5*bg+eohV?c4bgP1ugYLQ3`l#6`T9GP>\AltOiT/nLaNqW,Z`9b(rk*To`koF#^:CMNX0&M- -Y-l'ie^i3p_8O-kR$!c-URmj>Q^abN\#c[=[B?pP[AoaXNg,loR&dH\N0L*<\@AcAWk$3rb/:a! -_Tp`ad)3B!Yd1L8StVdBMN""*[`HnDb/(NeTpLt+MhR.XP(nUGRAR'd\@T#P]!f$N]sk/L_9i2- -:<_/:bJ_-&Vid..R\R*t\%8oP[&fsu]>2V)WOfLNX/NGCda5b/TqnBd]=PAPX/N>5_T9a1^Vmt* -]Vqd_QTW'TVAKt^:CMNWh5`OSif$2%ATpVC>U7S0SQ'7Z)NL$&tLlR[aS>rcrV516&]"PS`]=P_eVOO$?Q(P4[T<,&jWj/q9 -Wh>fUZ*0^^QCFVATKo?DT"N:n_R-DDT9#:nM3R$3PoTsCo%V5UQ%YGS+fQ&13NM2-nB -N1@)_^Ve:?cHOM[gueY8q=a]:s+13$s8DtJ~> -kPkh]mHX!&md0E2r:'XQs6p$Yrp]sVrU0XO$h!KQna>c1mdTc9nGVegnF?)na5]2na6>A)=?eYp%\=UoC25?n*]Z6 -o()DDq"4+Go'u/7mdK`:md9K4n*fi;md09,nac;Amd9K5o^hYGp\"%Ao_\1mn+-&@nF#]5oCDPI -p@IbAmdTc:rpUTkn+ZeZp$V;naZ,:md09*o(;VKp%J(Qna>iEnNZX@oCV\Al0Rs2 -naH#>oBu&;o^D5?rr;f_k48KLqY0XSqt9+0lMgh`p[.)/o_%b?na#N2p%._Crr;rho(i:b:&OJH -oD8=Up[e"Kn*9B>p\b'krUo^MmI9`mJ?k^o'Gi8o'u;Dqu?]mnF?GVp#kN*pAFpcoC(`3s8Vc\md9iHrr3,tp@@SArVp[+ -mc3O"o_8"Hmdg,Ps820Nqsj%p%7Y:lgaH.o)Ja^oBboCs7l'Li8nFcYQp$_8^IGq<$c)oBu)6o_@e5 -m-O67o]bH*s7cEcmH3^-s8Voco(;G;lK7O/q=O1En,DkaoC;59nb<(`rUTsR!TNYHs"=-BnE8iq -o_e@Vq"FCTqtp$No`+p[lg![$oD&1Wp%%D4n,!%_s8VlWh;RAPn,E>2nD^Kio(;bQo'H&I -q!RtXs8)Wms7l!Po^2DHp%SIbs*XS(jn8ZKpA"U_qXNh2lLFNBp?Lf)mHs*+lK@j:l.tO]l1k2S -o]Pf@mHaT>lLk2Us8ViWlh0uDs8Vicrr;rqn`K68rUo^?ip6%*rqlZos7YsPp%/"RnE&m)qYKjV -p@IY5lgX<3rqYd@n*KE+l1"KHqX`tDrVum0lJV+0s8M?IlLOuRs68.ooD\ah1\^S?s7ka6jo#/T -nF#T.mdp2Io^_M=p&"U`rVH3Okk"iSr:B@=mdK5rmIp>Fp@n.Lr;Q^'lf7@,r;ZfhrUo@QjWmcs!"md^,OnE]iKr:&h0nbrIrr:^!\n+,u>qZ$Tnr;Q^0qsWh=q#9aWs8W)k -m-4QMr9E>1rr5jdkNV:+qrdM9l0nZOpZpo'm-a9+ipQjHp%@_RMs8V][p\jdYr;6'[p[[nNs8V?NqZ$EXk3M.!oBku>qtBFMrr4\En+?PK -jl#Fuq"!tQs7u9Vmc^K`ioTUbg?S_Wt(s7bdIp%%A,l1=l;k4&ENrq,pP -h<4V5rtY4moDJXgrqZ?hnb)hOlKmd*p\XdXrpfpd%f5\UmJHqZlhLMPjP]"hrr3YujR2dBrpSe! -m.C8VqXl1+B9q#CBjq"ss]oCVGJpu:&ckkP2Xr:T[S -oBlMUqXEhCrr3>rj6ZgGrq>jLlL"TN"8V!Dp\t0tmG?aTm/R(^rr4DEnF#`9qZ$Hco^:f,qtfgG -lM1DZqWI>:r;ZBSmHscMs7>UIna#i=r;S&5md'97rVH*Ql/M".s8;*Alg+!6p[@Mr;Zc\hsCCCoB53$lf@O7s8M6Jqo'l8AmG74- -r;Q`rqu$'Qnb2\Rrq#pbqu6Wqr8[,-kO7j%kjn6:s8Vo_m-jK5nGWCclL=BAs8VKJlMCDVp[783 -nc/@Xp@7nRnFcJElK7I4s8Vf`p\FIPqXsCKDYa8!mJm.VkN;7-s8VWTq#BsGlgk#Qs82fqp>tB& -p%.M3o)A[hle^^or;H1-kq>'I?l2Ue[jll70 -m+g[gl/M^B-Lp'Vl/D$sm-s]AqYgHorr<#tq>L?nqX*\DrVbpVnDWcul2UGUr;Qutn)X6Cn+lt_ -$Mj>erVuTUq=aCQrVmi3p%\7Ime659kj%g?s8;E[pAb0fq=Nb,h!G"=rrW&]o)AYJq"OgXq==:S -o)8=]q"spXk3D^@s82p$_hYq"=I_pA4gcqZ$TmnD`?prr3#gqu6U*kiD4+ -s7PFDq"4Udr;-UC!rV,[>mIg5Mqu7W4o^_AErr)fqs8MQ]mH*WtoDeFSo^hnYs820\rs88ns8W)r -q>(!grs8GlnF#`3mI0lMrtt\1mf3=akiVC.qt9IInF?/EqsE_Ap[IkTrt=hbm.']9rVuoii90k0 -s8W&ho_ndtp?(E%r;Zfrp$V/5rp^9lqY0OFlMCPYrr57\q=X7IpA=jamHX*6n`oN9rqZ'Wna,lG -q""=Okj%sCrr)lks8W)lo'u>CqY'IKp\O[brVHQklgF]Cq>^Elrr51Nq"X@Lqu??cqs`Y:s8W)e -p\F[_na?&;s7PjXo^D##hs'OnoDA=Pq=sILp[dV8naZ5HoC2STp@n7Bg$&G8(A6qYmd0<&nG<+_ -s8)Bfq='gLn+uqPkjSEDq#:9m#5[Zao^;AMrVmQ+ -mcs98rVuBcqss1:l1Y/Okiha=rsS\roBu#&Vqs*nTrV?Ei -p%\F`rs\DUiTfq(naQ)?p@.nVs"a<7o)JabqZ$Q\mIgGXrVZNhjm`!UBio^;;Jqo'l/=oCDeYq<[J8nG)t^s7c9ds82ign*BHAr9=1Wn`fcIrp0%?n+HVV -p[ID3q#CB\kjnTIm-=?8o)Jagp[7YQqsF+FnFl83m.'cAo'5<#p](9cmIBrFo(2bVo]tf0n*B?% -iTK_%na>o7mH -lMh1Yikh=EJ:2lsHM;[aGPcO_FT$:ZEXQr1F`qhGEH?8GF`mY)3d#UiGBJ"LF`qkJFED\MG^4RZ -Fa&"RGBnFYH[C'bG^":RGBS.SH@'p^H?aRREccJLH[0dXG^=^`q07(.G^"@TG'%kMG^4U[H$FUY -G^=^aI=?WmIt)oqI=?ZsI!BgZH@:6mJV&N-KS+o.Isl]kI!pElI=$9dH[UBmIt<6+Ll.+MMi*FP -MM6V8JUi9#H?jjfIXZctKnb;>N/WXJJq8K'Jq8K'Isuj!Lkpe=KnK;Qs+13%s+:l7JUi2tI!Bsa -IXm''KoCh?rdko7I=-QsJq/?'L51VCM2$V5JV/W.JU[NF#(M2WJphoqqLC2NKS>)1K8,8?MiE[P -KnFu0KS5&4KS>/=OcbKOJV&N/L4Xo'I=?ZmI!pKqK7s5XIY3,tI"$WpIY3N#.J:`K0M3!miSY2[MH's\JL5(>2IY39(ItE9& -G^FpnNL-HAW1T30N0Km-VkKTGP`^iUIY!-+LPq4XS#*!MR%U(:Q'R`&T<#9&TpLt+OGSU?LPCM7 -JV&Q2N0Kp.R#-Z]NKKKlP)bEVMi3jfNJWLEJq8H&JqJ`.KnkJ@M2I7PLPCQ_M.;O1PaIbqKnkMC -Lk^_DMi!:LNerXXTr=`VQ_^mmYcXq'V4C*JqSr=NJiL@J:E'!Jq]&?N0'6bMi!@Q -OIMl/NfK6cU7.LL^<+O;\u;-jW3E\>]We<2V4X->R$*MjMhQeVZUSjrUNJWa`QAp]SMi!+LVQ$,ROHQ95S!&nhLm=[,Vm3OuSWene -KSPnfOGfKrR%11PXK.nPLkL>/JU`-"M2dKoLkLPIV6R>0VPpAdUoLT"[]ca0S<9#,XhM`ZSX5e9 -QBdPsR>c`WN0Km+R?s_XWiiItR@BnGTTOt_L4Xo*J;TPSNe`=BLkUM9JUW*$Nh*&@R/W:nM4(BN -[^s;p\$;crMi*[dPaS&6U8kH)YbnV:Z(I>CLl7=TNJ`LFJqJoBQ'nANTTP(jMhR4dZ`Tg[OI`;K -VO3@(Pa.AmS>N-TXMr5f[D9DNQ'@AcN/`siWO'+FWgAj>VOj_T'Ocu$(UlUh(P*V>oQD(atZD*\OQ'7/^JWH\+SY)76PE:QN -M3jTlO-Z9'Q'@VuRB!?aW3s.FI'fiCRA-gZTq\?MKn,#OX0/hA[^*KEX09"K_mlS2PE_Q2V50o] -Wi`4lR?WAMMn=A[(EcJ -VlQnjN0'EqR\$_#ca'UZaj7f4\Zqm1^;\OL]WA37VONX&LmANW3s(?X.l)C -JW6A1YH5I[]VqKoX2N5mS:lciYHt0pNL$$.WN)krYdM*^dFHancG$ouWg]!-OHkl\Mk-Q4U7%1, -QC!f'VnogAUn!O*NfBd.PE;*)Y->+2W2d).Z,F]%]=Gf'cEs1-Vo7-:da64V_9CHQ\>HLA^qmU[ -Ga+APT!>N%Za?d.TrGQ?dbN0d\>Y^\U84cgYJ8K8_QL8N]">&@Vk]ucVOEa=T:;^QXgP@3T9>D( -Su]6*XJVMMR'=3'S!KD,SuJikVl?o2\u_BfUTqJC\A6Ah\[%d- -VN6n0T;IpBR\Q^LUq=Ui^osK&R?WbjTX1u)Vm!_B[%EPSVkp>sXe(oU\&#_fZDX"EQE[s+WM,oP -Q^stJRuic.]>;2\ZZ3b"\uqclUp.PK^UpYBN1dPk`66-3Z(@&33\Uq!b;Up@D5Z`BUb -T:)1DT9"PPJqo8GU9^hbPEMKSWeqgJ!6M*[%a+o]s"*0]@u,k`4NCOOH>m(SWJ\gRCB,ZNg[&__7RP%];_F#ZF?`tNg$!' -R'!Eq[]m!BXfJ7eS#!9qZEUR9X0T=JZ(e(hTV\6KTr=TST:(q<\>Q1'[^rfEVl[DJda,P6a/tS` -P*M)iR@BhGY-YC/Q\q3%SSb4$V5pVoY/SbqS"HspUlLJ$Q^GS1cbZfgXdu,WV6R_QbgFndd+6q* -g=O`kZ(R_j]uIV2a0W"BPGk7b_o'F7aMPTq_oT0tf$i:!aN2TJ]WSoUZFS-.d)EJsXeqMQS!]>& -S?'3:]su&#E5T;p]YLkQS=cssdGWm(e)9?Abeq?"[&pgM^s^Zdg"G$&_ogWnjOqVd\@K2L[(n9XK]Lpf%&0sg"kN?e]QA#gst3@hpoZ]cdBq[f%JEp -f%ABubK.H,_:@,Y\?ica_o0F#ZF7B]a2l*,YIqiqd+-CVbK7cUkg[]3h:L-,h;-]-^TafK`6-K` -i8NYShqQZ+_TU=+ci;C?c+h$"W26/`\@KQ$c.1_*cFM$7_9Bp0^WOU7_7mY#aN2<4[&p=+W3!>? -bL+\\b.GjB\=f4[UTCGmVlHr-]"tbZ]"PP_`4W=KS=l^TTrku`_mmCc -XJVSaYd:RD^:C;O\[K/i^TOZ=Uo(5lW.)7o^qmdfTWcS`bIX[OVOsTVYI_E^]sOcEWM6#XWk6Hi -aj%i>]!\]AVkBNQY.DBS[]cmF]",Pm`43ju^oXZUce@0oX.cGo]"khXY-l!_`5TpGbf%98b/C]g -Z+e?,eD&p2_7-qk^Vn%#\%/i;SZF -URe'TWMc\pXfJtObfn&5Uo(K4^<"jL\?WEL\$ro\]qDL<^rXpObeh!(_7m.MV3d[KXf8,"_9Lfh -bKJ&C\%pGCd*08/XKSb5_8j6oWjet(Y-Y=2WMcA_[DKl'e)B$:h/LKK_og*Ne]#,0[]mEZ_8adN -g"=s$_Q'NCZF$d8VPKu]U7nNhVOO$GTrbi?]i^oFlMWM?]5\u2X3YI;-[]=+rJ -]u[pcSu/ZmTV/KhXN8Z4`OE=iZ_==gU8alXUnsi\TU_N%VRapk]X5/[\?W08Un![3QC*u,Pa%c? -Z*CUC\[T#T\\ubOhqZr@iTU,hs+13$rrE(L~> -lMh.TfsZi[AmetQp/_2ns&9k7<)Zao;c-Fi;G^4e;,L7k?G!2>[:Y2=t3`[>Zk95=]\g2 -?[:ZC@:[1`G@:NqdDf9W7Ec,]+BP(pjBkM-lB4PanDJEs%C1LpeAn5OcBP)!m -C1h3kAn,:YA7T@eCMIm+C1h9oAn#:^C1h0iBl%U)EGfW,B4kspCM@BlAI2s[@q91cB4>1ZqIL4O -CM[a#CN+B:Fa%qID/!Toral+Bs(MgYGB[t?C27R"BkI?SIq3,#A7]@cBl%NuB4bU\@:Nn[AnuF0 -HA\5bT9te#LP(/,F_YGsAS5R^?!UiJ?t*_cEcZ/;EclMPIsu]cG(#$_EH6#^lDKC&RLlRX^OG/"$ -EGoZ,A8,dkAS5^kA7ob$H\[cPQ]-B9FaJarN.uk2I=$'SB527!D/F9;LQdjRJVSo)H@:6nM3aa& -MLKkrF`1o(Chmd"C2.X,H@_*;Km%N`FEi1\H$"$)D&@JFF`V\DDf'6%An>I]Anl*tD/O93D/4"f -E,]uKIXuogCMRa&C1q@"DJa63F`;AMO-Z#jMO1-9US+0EP_sj4K:&L4PD=U=M2-V.Isla"NKTTr -Y-td@W3!5(UQC%PH@'mWGBJ=hN0'U5WiW>#RYlQ:CMIWuBkV3rEc#Q-CMRj1Ci+*3Ec>^j@M33b -D/sfBGC+UVEH65HJqneuG'SF^NerXa[D^,&Z_*JJTVeclZ)!bNOG\XG\EGBE,DgmP&NK00oX/;\oU4.NI!TpVEcGW)F*)D?E-?htSX,=qKR%QWFa]%*OH5*@F*E%[FDl&=F)ZSmQ\pE@I>a;GJU_fd -KTVFbUnWg*IW][IE.EglH%q?:OIql3RYc0&AmenO?sm2NDg6PLE-$MlT:r!JS=Gt7StV^OSXPn) -K8#AYXg4UYLQ%1DI! -L5q(?H[U<\GDi,pYdM-XWLo9&F)ZDUIYWuLS><3gV4"!YToO_PFEVnSG]RhABkhU6J;'&RML'8` -E,9]VW2#Q.IYj2MO+MY(J:N)qMNsNkU:e4CXgPB.OJ/YISt;7i]pW1fQQSs=qXMOgZNO+Mt9Nf\O5GBndmJ;BGhWhPW0K7\Z$ -FDcGdO+i==IXQQbD0CJ]H$4XgIsZNnI"doVPa\MRYH4:VLlRdZLl7=KG'/1nR\?X_W2-PbS=lpn -^:'brLk^qSR$sM5U8OTIMh-8,s+GQFKo1eCQ'[SfNgc2cI?L%ZLR"U3R?sYIV5LGpR$WtnM3Fa< -U9;;N\"SqDIYWuDQ(XqFPF/)CV4='JU6:%MH[g?\CijoBDJa91MlO=pVNQapPae;3OGemDPDkZ`TOIKR8&rOe].bVMobBLRXfuO,AgZU8*s1 -LjjMrN/rX:G(#76P_4.(KR\H,T;@g-K8PbUQ^skER\H4@TU1t9S;`,HEc,Z-D1IV%K8>MNU6)(= -MNb9MR#-Kd[^ruWZ(I8:MOU]SW2cDJI!UC$Lja\TIY*3'It3i_XeV)@R\?URTpL=NH^CG"Wj&G( -Yb$u;Ljsi=WMQl%U7.XDNdH;5N/`sn[D8`9Xhi,lZF$d+W4KgicEWk+S=,OpJ:36%KStG)FEWM+ -StDSQTDtsdR\d!_V4aT_Wi$CNM+)7f$_sh -_naCA`jDSG\%B7EZ^lr/Js)t-UT(>lT:DXY]#`=>\uq]bNKfWlQ(b_7e\S/\T;89OQ^sM.R$W\b -Ng#QpR\d']SsG%[JWHD'XJ2/BIY4,eQALG\NK9@!Un=-IU8k>hOcZ*8\[JoZb0@l7X0f(,RuN/_ -R]NotS!&koPb+tUS>Wg)_TBThP*i/ON.-&'JQ-rNT!52ZRAlaAWNiS&YK4hnUS3U*MN*aOL4+rC -N.ln7H&%WSRARHpPamk[G_V6GN/`pgSs>qU^rVDJVKc+_n<(LZb*QFV3n']['R!*?$GCPUQSVr2dWOfmU -^VI1KQC=SCOb.q6O-5R#U9(PtWi`%gPDb9]TVeZcWi2bnYH+FdSmbcd'tjg=b*-d`/>TPFo5"]\(K:X,q^jQ)_=']Z%n,],aWk#L@ -[`6_?_6^/>Ru)fQJ9cNsR]X*0Z+%3S\?WNNV40_\>u@'\\un0\AQM-_T1!@aj/&Ne_A$NUn+Ho\[/->aNq]&Up%)@XI6&kX1Z?e -]"#W%c,IQ']@Yc^cdpk(g=+$_ccjAC^;eROd)a)EajB)?o&SBL^TX]A^tR/[bKnesiSiPh:9]_YcG1I`Qd#igtpuIgt0ojbL"YaeCDp]^TjQ*Q^P%b_TC$Pi8<)#cH3rE];r3O^:V"e -\A#o%_mutKU7e3YZG+H-cH=5<`l;5dP`(TfSXZ"7StW*d[]?I;]G#PDb9]Up.(DWj8b+ -YIh6I\>Ppo[Dg2.dE9tjcc!N-Z(@S^UT1]1[)B;OZ)jOk\@p&4dF?e#e%NK*Vk0TTR]a*!S>`j$ -WgK?KT:hU=X1m9(Za-BsQBIZ8YH5+C[&1%6ZF7KSUS+6JSu/?`[_&oSZ_E_\_8!a+XIYiLQ'n)? -Yd(F9WhZ_qURdgCW40+MaMGEnXehVXP)kp,[CN9^[BZj3VQ[S9X/<&4aNi>kgsX-U_nNOXRZNZ"SH"t' -S?KH/YI;$S`6?onf>=egQ^+)3StDdTUp@_R`PJsYVR*qKa48SN\\,Sd\$N?FRA[F(`6QcS_77"g -[\]F\NKTp3Un=a%a4A\Xa2bp(`n&hfa1%tAV5:?,_munHYFqG_X/2G\SsGeI]YMJ5hq?lCbeM': -`m2oHrjR?]^r""1cICIsd`/kkT<5&lU7Rd=PECuhR%K\%N/s3pWj/e+Vm*Y>^UUYX[_onWXehST -VRE\"USF]g[^`ZEUS=s&YaCQ?TqR[6US4EucI0_>YHapdP_tKdO,T?jQ'@GmNg?]Z\Z`!6Z*14) -SsYOjItE?)KR\T7S>H7`&#u\2W2m2;a55Y+g#(lWqgncus+11Ms*t~> -kPl:jhqmblmHs?2md'6+mdKT2mI9Zo6n*ol:n*]c:nF,i9 -oCVnJ!:BdOrp9[P+7SjmoCDD?n*]W7o'c#7mI'E6o_/"Ona5`Cp&=U`oDe7[nF?JJ2Xg&!m-aE7o'c2Cp\+7L -n*oi:o(2MGo)8FYo'c#8n*9n+6#8me$2DrpL'\oCV\Fm.:,E'(bkko'u2; -nac5Cp@IhGnaH,?rTks"o(i4]o'>W1nFH):m-F$+n*B9(lg4$*lKdd(n+-&>nF#T+lgXTEr;V-< -o'c)=oC(l+nFZA?mI9`=n*]`=p@[qCnac)lgacGrqu`hp@e.Jo(2JBmHa*)n+c\In+Z\OnG;hFlK@[:q=jOUp$hGA -p%%Ps8;EMmeHh^p$V;BqtKOAlM1DZoBG?#pA=FDp[de=me$8Jrr3)jjmDgA -s)ISlk3_d9p%7kHn*TcHq>^Kop[mq=lh1&Fmd0E2qY'LLnb2_Pp@7S=naZ&4kNV@'p%7hHlKn'7 -p$qJ:m.L;Mo_\[gqtKdWq"jmerqZ0PlhLGKo(;YKoCVhSr:Tg^pZLT#nFcSGlg407mHa*/rr3c* -n+6/@nac5lgFQDo_J@Rl14iRp$;2Hrs&;fn+?&7p -AY(`o^(r1lKn0?q=Nt@s8W#^mdf`4m-+*As8MQNjR)I#k3;pGr:]XJnF6/AmHaBCrV,RFlf[Nrk -j7R!o)&IeqnG<.a8aGU,md]W0lK@O)nE9?@s8VrkqXEhm -d0<+m-Eg#n*8usnFZAEp%@nCnFu_Lmd'9/mHN`sp&G'bqs>`unauJRqY0UMnFH/=mem+[n*9*%l -1"6/n+H;?q#C0^nac57nc&Of1%k"tjlYjsnaQ)?o^h_Kr;Zfklf-sejlu'uq=s(-l1O`Fp\+=Pm -dK`5nbD_Hs8W)ts#p8HlL"*5q"=:RrVl]\jmW6Lo()e[qX*A'jQZ('oC1u-m-a-+mdg,BkNMI-l -.G"^lLjcBoBkl9s8Vuqrr3?!lg*j*mI9f;m.C8V$MjAblf[Nhh<"5)r;SPMo(;Pm-s]@rVuimp&+jip[7J2k3;RnauVMo(`1Tnc/XUlgsQ>s82Qis7l!MpAFp[lgO?2qu6UHqW[&,p%n1Ns8W#im -G@71s75@ArVuo`i9^42n+-;PrVGsBkk"iSn)<[.nbqf5mIBcAqXX7Kn*B?6s8;ZbnEoT1oC2>Fo -]+opmJ6e^nF6&Bqu--ToD%tLn*g#NrUomas7#7@rVn>@m-Ep+qYB[Im-slOrUfRJm-O-/lK@L+s -8;BNo)A[amJ6VHkO8L=5p[RqFqt]RKs8Vo^jmW*>nb)YEoC;/8qZ$Thqu6U/q!IGEo^1r5o -ChhFm-jZ>l0Rj0rVmi/ioob+s8;KYmH40Bpugc3s8Voprq#OKs8;cms*jCtqu?]ina,>tjlbq.s -8W)ro'>H#lLb,Vo^;A>mJ$;Ep?D,=qu?KSjmMd8qYU$Xn*g8Uq=*k>jlu!rqZ$ThkiV@/s8Vuem -.:8Wq=!b>m-afMoBl,]^6ht@!K$ -Lm6An+?DTqrm23rVmN/mIKf=p$h;3kk+`IlK.I'kkb8X%eo;Op@\1OmIpPSmdoc?rr3]%kiVC6q -WHYmk4/?Ks5E54q>UBirr3Gup%e=Jkj7p6o'#3%q#::dqX3J0oD8Lbs8W&gp%J"Kp\F+1kOS?Es -8W)jp](3_rr;ZUo()bZs7>72nG)nZq=a@IpAb$Vi8j2's8;TUhrO.ts8W)jo'P`4rr45@o(2;6l -fdd5o'Yf4s8VWPkO%g;s7>FEqu$6VkjA-?oD8:^rs%o[qXj4GqYpL8mGI%*s7bO3kj%^-mJ-VKs -8Mffo'lDPs8W&ss8N#t(@hD(p[7Y>r:'FZo]kc-k552Yqsa4Srr7#tfCAn@q^Kos7uEfqsik.l1+ZGmI -Ku?l0nQGs7uZllgaQ9nFZMRqt^!ZrVucana?,;nG;;#iUQpI9_.K7o_%S2mJm4So_/"Ln*ou@rr -<#mmc?V+lh^YSmJ6eAlM:J[pZ -po)o^hDDrVufns8;NLp&+R`s8Dusm/-h_rU0^Orr -;`aqu$*drq,aLjmN*I-26ijm.p\Nl/gprs7H<^pAb0_mJ$8Iq>^KopAajOi8X/!qu-HlrsJJgp% -J"In*9*#p\k+8p&4pip@RkErVuospAP$kr:'%CqtopFq#C6fp%eCQme-PY%JB&Wo'Z;Qs7>RFo_ -8=^rtkS(nFchUiTU(:r;?TjmdpJYqYpKgmdpDW'):bas823JkOecRna?,BjlGq0rVm<$s7,d^s8 -M`hrq?!^rVm#knE'!8r;Rl:qY9j[q=4C_rqu`orU9CIhV78fq:3lp$M>@o^_>As8VNOn+-#Hs7 -uEYlM:2Ss8;6GnGW@sqXX.GnacAQs8DBHkk"]KruLmume-PTna,TArUfOFpA=a[p$qJBqt'(9jQ --@?rr2ukrr3i2qY9gNr;ZWhs8Vurs8MZao^_ePnFl_Srr4nRkk4l;n,N4Ls82*Os8;HWo(i7[o( -`(Uo_nacp$Ur)mdo]%nGiCZp@\.Ws8)6Vk2uF6me-SZ"SqHChsgXF%JoYYi90Xuq>C-hq=4.Wrt -=_Xo`+jaqu?QeoD/@[k2Y[lpAY'lrqZRHqBgQp$M;HnF#oGrr<#olg+!7pZ1E/rq5ODnb<(\o`"mgmH('_p\t0np[e@`!qksOrr4J=k4/?IrV6']qs -WS2r;ZNYm.'oMq#CBjo^1r7qXs@EmIBlHqYp3\nFce\&+JcEoDejgo'u;HqY'ONnGN;5nDE!jp@ -@\@nbDqJs8W#mqY'.Dp&"dhrU]@Aq#'gYs8Vr\oD/=`ru:q0mI'Q6nF,K*lg"$3jl?"0rq#g_s7 -#RKq#(-k"8;-Zqu6UBkht^snE]B2rr;c`j6cmHp@\7Tmd^5Ts82Q_q=sd_n*9NBs8Miks!mF"nb -rLfqsWkCq=F.Ks8)?Wn*TK/p]'pMoD&([rVH0Wqu?KUqt'.?n,DlXs7PpYs8VfXip-OCs6/bHrV -uTZoCi(]r;Z?UpAP$RmHsslL=E;o(V_?mH -sE@s8VunqYL3k!<%KKJcC?%J,~> -l2MUdhRo/-Kn=PtIXHB]EHHDNH$FLTF`VYIrc\EeFE7;!s)S-\(O1.HF)l>EG&hYGF`qnLF*DeM -FED\NH2;V2F`VVEFE;PGFa&.XH[0jXF)l>DFEVhOG]IkHEcQ5FH[0m]GB\:WH2VjqG'A1VH@'m] -GBe=VGC"W8IM7'SH$FR[I!g9dH$apfIXQQhI=(p=(41I[JUrE*K7no.IXQTlIXlurI!g?jrd4it -J:`E,re1?0reh/@LP:A4J:N,uI=-JBJGt&uJ-Ua]LPLV9IXD'Hrdt-#s+:9(*ef9$JUi/uJ:rT0 -J:W?,KS"]%I"$QqJV&K+O,\sLrdc5EH[p[!It*$(Nf8pXNJE.?BILOar6N/WRHJU`)q -K7nr7M26qBMNF'lTTXt_OH#*LIt*')KntVHR\Z[GMhct;KDpOQJqJ`2LPCJ7N0'0bP*DB*Q]HlR -JqSc.I=Qs'K7SQ'H@LHpKp%moSX>LtO-Q6/Y-+^nPDt9EI=?a!KSPGEN0TfqPanA5Odh`$Q("S[ -Tp_./N.ZV4Jq&6!K7ni+L5M+ZO+rFOMiNjXL4b,4MM[7NOcbZ]Mi3@CL5q8uLl@.DKSG<^M>r-F -MiNXOPE;K)MNj?ZKSb>:QCF(rMi*XcTVA-KOdi8RYbn%cV59fMOHZBC\t"qCPbFtFP+J,.QCFVJ -Xh2]r[AgFC].Nf&[TOG87>OHu<,VmNe`CLP*(fbOIDZ'R@91iMO'Zk -MOUrha3N#KZ`gaAY-#(:U617hMi<[\R$*>XLRb6*JV/f3reG]aY-OsnNf96jOGf-nTq%=(L5(SM -Q'7E%Vl-2JPDb'GIt3KIUT(E$Xe:f9Mhd@^P`_TE];gsKLkUV8K7eo>R$`u+XM2Q'@GoNf8p)NJraLLPq"EP,5CbP`h;sOdV]$ -L5V7_SY`U$S"H1/L5V(MNfT?hS"67KS"#q@KnP)4Mj9s6RZNDb -N/rTSMjC$,S=#S,P)k]iPF8)7T!Gr/ZaR06P)G9YOHc-%V6RJ:WM-9$[A0G"`4;e5O,SsQ -Mi!+9IY3?+LPV+_S!KJ3=%^qIS(_RHG8T5gU$V5KcB -O-ZE;ZGt&6beUp#URR[8MM-\DR$.UUInN]Xk/8S=Yt)NJ`g]Pa.Z,Q&(?VNK&sYNJi[KKT2=\PGYURR\ZXW\$NZcbJCWq -]"GYTT;&$OXM;9MTob5!VQm83a3)'"Ulh:R[&0:fZF[H7NgHE-PEM#jQ^/R[g"*Y.)'@St`a< -aL%e)MN!puVOj'#N/jI*SsYq5OHbooTrP&ZMiF("Xg,"(R[0hX['I'@Tp:t)J:3-0LR!gfVk9cgWLg,k -U7nQ`R@BnJZ+[]S\tu'jR@LIgV5TfDQ(=J5Q&1WaQ_g%,S#!!]URRO6R$s_?P*0(?U7\-RVQR>; -^;6M9R#$a+^p(eiY+:`FT95>)TW"rt^Ws3`WkHHq^TF['Q<`Mj:*4OG]-dUT_SERA$ap`Q?0Hf?:V.YG@GA -NK]ZqOH#KrVQ@%sQAq#qUSt<3aL@q7Q]R;rSs58'V5^Z,\[AZM`5TL8hSZh:^;n=!S!$fYe.TN]e4 -XJDo&Vk'9COf#b'ZEUjT_U$,kOf?%-Wg]$:SXGnE$V -U8G3-]!],[^Tk#MRYm2rWN;VGItEcIOGK1%WL9NXTUD"0SYWa<`OW(?TW,<#XhDm!_7RJ'_Qfu5 -YK4V^WOAdkPb!o"SZ&TcS=#b*LQA+0X/1uHQ`@s*% -Y.([E]#iFCZE1F&RsLB]Q(jk3UT1]7^pg>;Q^")8OGfL'P+]5%`4)\>Xg=gbMMR4ZahZ3HY-#++ -TU2CUZ+8!%e^2I\c-OG?[AomqZG+/e\\>PUUmILNZEUgZ_7e"%Xgkm;TYK42imG]`a1f'n[AgIN -d+[@,_mQ_RWLB-CR\m3gXDkAFWPm!(ai_lJ\=]k*Ye\]DkhX;/iSDS\^S.pAZ*_QubhUalaMkd2 -j65FQcG@!#_S`X\Wia3N/]e^hdQ_6p88Up7YO_R[A'bIFg`ZE0suTV&'iahlBF -^rt?VaMYa+a3W'NaMuighpfQS]Yh_&Zcq4WgXFEjaii8ql/g[;rj!'8[E6V-]>MkAg"tH9f\"dS -dg"jNZ+SH9fRMT,dDjDeinN8;a1T++cdC+S[(jr,[BHaLc,d;pZEL(%\&QbCe]bkT_oU`ug!e[4 -f@8U;jPS\&[&pjbg>(`Mj58YEf$i$^aNM]Fb0J>NaMP'RVm!J3_nj"5jke7ra2u6?dE8u9\@0/k -`5p(Xh2!SZGjteWl)m+bKo25gr[@La3DlI -^;\IFbdO4>VP9f]Vm*V6WjTpm_6Bl9WMli=aM>6aV5po*Y-,1IajJc%gs6Z)+(k -Y-YH7Z*:UIf%Aj;fZ(1iW3!>4Z)sq$TYAt+cH3GbUoUo<`59'iZFmo]\\uJ!Tr>?5ajJSbah>Ke]PA4`6HTPd`A\hY-("&bepN[ZFd]V[CsSp[&94c_T9^@g>CW6f$qmY -]tD4u_SEIVZG=W&_p$NXgtg,[XKf=H[^)a'W2lbhV6HruU33-&Up%G9Up%27`5'-u\%]ejVn9:9 -WN<8*Xh1g=[D0G^WMcr:be'UCZ*C[;W3NeDbL5+a]Y(qgSY2@=USXW[Y+qSVS#X-Ed`T\F\@oGT -XeV__N/jL'Q^4/5S=?+DTqJ9VSY;m^^!FmDbg"JbipH+$rr2upJcC<$L];l~> -l2MF\eujX?BOXtD=BAI!:f::p<`N,u;^bUF<`iC(;c?Lj:f:+g;,gFp<`Dso;H-Xn;H$Op<)Z[q -?P-1$Cl*"'8T-=oMSG -='8U-='8[3?!prD>[(B8>[C`B>?b??@:[:WA?UfBkV3oAn,:Z -AS5^jAS,XkC1h*e@q0(]B4kmjFDu)1An5Lb?t3e[A7B.bF`_bLG&D)2DJE`pC27Kn@q0%^BP:sd -q.G(iBkhI'FaS[hK7\DlFDkl.A78qW@qKOtG'%J.@:Nh]An5@Z@Us%Y?smDQA7]4]A7]7\@UW_T -@qT_*Ko_OeR?s%jI6 -BOkUgCi+*/IVs"?EI31jN.5hfIjqCM@HsAnl-sDgR+hLOj_nG^b@)Q^I!^j(Fa\URCMma!GC=UNDfL#RLlRLNJ;]_dT9YFtPa7GfIt3QMVMK\HIuKMGI>iu7 -Ko;1cTWYlChRO!D/O0(C2@p4 -EGK)o@:E_UB5MO1K8>51G&M2=G&V;@J;K5KS#u"\Z)I,W2$/fUlp1HEH6,CIYEE#CMnlgIV`qEDKKrAKq+j&K6D?bJpMTcNf/X> -F)>f7H[L0gM3OZb<=F'N9uH?F.DE-?o)Zbj5]Xehhj -T9PY.P`(*@JVKG`W18WmMjTHXJp_]^EH,oCKnkPMTr+BGQ^!M`JqADkBOYI^@q0+eHA.'!EGoc4 -BkCsgBP`3MIX?9`I=[',T!#)jW2?DZQ]$*/F`DDPO,f3\O+*1KPFeSFR>uuHF`_\IG'%_?Ci+09 -JrZ1RHZX=LE,g,aUS*KmL5^tHKS"f*H[^X%Mj0Q&'U'E-#o>Q(se)J:rr@JTc[%IXR*CU8+ruZEp[2XJDnk -Mi=F6Vl)2E[(EB-PDamDMiF($Xf%PPSY;^COc5EVH?OLVFE)#,BQ%]sApBfV]XG,:LlIBnR\5q( -LP:2=Q]Q`FN1?T5Z`U'rVn'"2Yc+:dLOkqrV4X*3HZXLhPcD3lQ&'g2G__Q_^qZV#K7/3)LP:Y9 -Ll@UkQ%OO5I=Qp#IsQBeMNNaIJk(?!+H[h`nU:RY+P),9cLP_"VSY2jb^nd9dYe@rbVk0QZXg5UJRtc`bQAp`TFaJUk -Lk^P5LRP*uXJ`;<`4jLQ`43Uua2Y$? -MO:Zfdb30s_RQqYVOF$PW4]pFS;M]DKT;LmS!B5&Q_V"-`4E.SU6h+'NM!#GWACj#aL.t?T:MdT -PD>3cQ&UBDL6S:&WiED?WJcLhKo2+jYHP!dG^>[NOFi.HR&-da\@?aZYG7DFMMR=c^V7@s`P][8 -Z(.J`Ne<+;PDkm)SX#M'N1[>[WMd&8^WjNZLRYKJR>66GN/3@RS?835Q^*8^OHc#pTXqb'P`(3E -K8PP=LP^kDNK]HZLR"U+StDRAWL8^%MiEslR%pRZVO=0mZ)X.@I"R&iI=R]VSYMR7Tr=r`N-]i( -OHu0!TqIjFVPKcPQ&V*.WLB*"G'et7S0f-Oc,$RPF&,TYbIG<0Z`9LOGA2&6I?9J8HAeMS -LQS"2^TaW6Zacp$R?s7JM1L;6M2dUrV4*dJ[&TCLMNjg-SYE7"^:Lbc^q$MNQuXIt`+H&7W9JruX]Q)_C+Y+Ur9Ma)rCIY!+DpR&R9eX1ZEi -f[Is^`k9=Okht(:^9tDa^8e$(TX;_L`O`h1c+U[*_oKgAcbd0(Z(mYRVQdA3YdVWr\[&TIVOj0= -P?+'Q^:;/!]Zf'XbJqhAPg#(rQhV#HHXLHR2guRY[iSN8>e^(e>`l5mAPaeAYa2#F!ZGXT,dE/l&]#`4?^U1&d3%Whlr;]!no=QBnPca25Hn -U6qFHUTh)0[BQU0\\>YNQE%O&[_B\p[^*6HX-f*=SuKB=_&Bkm[&]psYI1pMXK8V.V973:cFg6^ -]!e`>W+hroUUI_<^"(`Y_Rc\YZ^[]!^qn@Rj4;2]\[A]Q^::8AV5K`ISUS=Q`VP'HMS!TA4S"QOPYcP./]>CJD>J\>-aj&c- -gW@4I`6$'7\A-2-`NGZ!T:MOHUT1MsTrYlD\#Z@&WiN)2\$E'.TW,9&Yd(XPaO8c1kLRS^_T09i -V51,oUlpe5X0Jk.W3<\]g>V)IaKqP5U&LiUU8+HQ\BN+9`3u;2U91u@^::DP]YCqa^V@.FU92#H -c-XhW\[SlBU77+%NK0I'S>!L2bJD*Ic+Up9eBuRh_lB3%Ujf\f];2+']""uHZamEASrfPYa2,sN -g!e_A]>)(p]W\09^raR5bL"_jfu1"gW3EJ-WLB-BT9tn0U6q(*OH,9^Ts1D^VQI);]=G8Q -\\GMFZ)OFiUSXfa[&Kn)\@/H5UT:uDYa1HGUSaZRV6.)De(r'V\?rAuN]DlOPF%K$Tp1OpNL[/c -`PB6sZF@3AW19B>It3N?L4kMHNJrs_Oc,?^M34*pY/J)h_T0aEgZ7G\rr2uqJcC<$L];l~> -kPlOmio0.il0I[(n*TQ2n*]Q/mI0Z>p$qSCo'u5;rpB^QrpKp[o'lYH%IioUn*ol;nF,f6nF5uI -nc84Un,M_Rli?GPmf2_lnF?&r7rU9aR"7PaMo`"O^pD`es -naQ,>naQ#8md9Z=oCDG?mdB]=p@n:PnEp5Irpp3^nFHPI+7\spnF#]2nFH/?nac>Fp%.\AmdKZ8 -o()DBp@IhBmJcGokj7d,mdBW;p%%\Ho^M;;p$qM?p%J%InaGr9naPu4rpTmVs6g*\p@e+IrpP=+ -p\FRRn+#u>p@7S;mHa00pA=dZmHa91oC))5mI9]=o^D,1lg=**mdBQ5o()>?nF,lFo^hY? -l0\'?s82i\s7?Ngo^qbKp$htK(\[k.qsa%>m-sTlfdWokk4lHn*ol>qu?]mo^M28oCVSBo_8.Olf@3trr;ZXjm2X8n)O3:nEfH.o(N(_>P7=M -p&+jgn`T'"nFcDDoCDD=o(qnPqtTjTmcs35p@.A4mI0fBo'c,@q"jgYo()JGn*B-#mdp;Qq=X+A -nFcMHmc`j)p@RtOqtU![o(DbTs8W)lo'c#Arr2\+p$hD;o(;_Lq>^E^kN_4!o^M26oChP7l1"]P -s7,dUo'G`2n*TZ8n*orAo^VJ>mI0cAn*KT5lg+$0nF,r^Kjn*'-(lL"s8Vupr:0+mHsK9o'l,;m,[I,rql?Vo(DMFqtTF@lKRO"p&Fph -s7>REo'P`,lg4*1pAF7EoChkEm32&io'u2?qYU3co'5H.qu?]jp@RkDo^D)=q=a7=iof\$rr3Al -iTp=7o^1i)lLFNFkC2[`mcs30q>C*[n+-2EnF6#?n*&otnbMtLlK[m.o'u5?oCDhTp?q87q#C*X -o_@nCo_._=o(;DAq"4"Ms8;Q[n*]H/p\k*ep@@\:jQ5b!nF,o?p%S:[rr;QSkj7a(lKI^3qWmA: -qY9LIpAFaWmHa?8q"+"Ss7GpZq@iD_lL=HFrquH[nE]0-o)&IerVZZp,P13al0e*4o^M/1md]]7 -nFZ\Vo()VLm+LIgnc/X\mcj'/r;6L%p?Uu*m-F'.mH^Hlrr<#sp%\=H -kjJ$2md^)Oo^;MSp@.\GnbE+[o^_PL9fkj\BBo^VSLp[@_Io_8=To^V\Us82c1EUNAfoD84Ej6Gt#qtKIHoCi+VnEo]7n*]T.q#CBnqYgH_k3;mFs7u0WoC);Fp@%>;o(VtQ -m-F'#n+Z_RnaQ)Hp?^u1p\=@Nq>0OCmdouIs8W)toBu2;p%7Pp%7qJlg!cul21M\q"aOSl/Ldlrr4)/p@IeHna?)Cq=sgdqsEoC25ArVcH\oC1rB -mX"L$qXj4GmIC/Qmc*:#s8W#oqt'(;qZ$Njp[$`!li7"Xnc/Xbp[[V;p%%>7q"OU`qXX:IlgjZ; -q"aFUna5uGqXj@Cmd0NBp%&.ZqY^-\naZ&/l076knF>f1oBt`%p&G'bnEK&sqZ$Tkp%7P3pAb0_ -o(MhMoEG*kl.kJ"rr4/4l0.R-qu?]^kjnZNp\F[RnEoT1pA4RTrVQ9Unb;VUEimcN^!nb;bQ -r;#gOnF#iBqX3J6qYgHorqGmRs8Vops7,49mJd+gp#G&upAY(Xq![G9qYBUFl086JqtosGlLFWH -r:B:AlKn*@s8V]]p\".MmHa?Cs82Qir:9@Fn*g)Pq!e"Pqt]dIme$>Bnb2t^#3k:Ao'Yr>rr6$p -kNDaBn`T62p\jjRp&4X[o^VG=lL+?Fs7>XEmd]r>kk>&HlL!d,l1"TIoBkT(pAb0fnFceZs8M'8 -oDej]kiV@2qt0:Ks7b^JoB>]7md'-,s8P(Ro'Yi5pA+FPs8MlhqYg<]mIg;KnF#]/q=O.Am-siM -pA4OUo&o*'q"j[MnGWCZk5,,SpZgZ$rr3W#io04smcWs2rqu`pp$_>5jR`BN"T@KDmJ$V[=n:kD -o_JC^s82Zlqsih-med%arV?*Qm.'i?s7Q9cm.C)Kp@RtKqt977k3qd'n*pAVs8V68jm2[=p[.85 -r:TC:m.g89m-scCnF#f8rr;ufl/_1$na#cFruLduoD\dcp@@tXs6]LZqs!>5lK[m9s8)9Plf[L% -rr4#7ioo=anFZbWlK[g/qYU-`n*BK>oB5QAs7#7>o)AYdp?qVNo'Gi3o^1f*lg=-1s8MW[qZ$HY -lfIR5s8Vumq>0p_rVuWYkO&$7jQH+(o(DePn*T`Hs8)]ooCDbNmI:#QrUK4Gl1+<3o_eFEm.^JY -0`(D.l1+K9nbW(Ol0nTNs75R@pA+7Mo(2YVoD/4Dmf31aq"+.Dm.L)NrVQ?bqXsjW!U]OYrs/Da -mdKT2k3W*I5l(ETo)JCMnb;M=rVuirs8;BUq"O4GjQZC7rr;rrq"=Xdp@._Cp&>!kqt04Cp](0e -rVul`p@e(Pq"Ogglhg\]#kI]Ur;ZT_p&4mi"SD-Lk3N!G-2m>tnGiO_m,mL'qXXLTpAb0`n+5o< -p\b'eo(h\>kiM+(s8W#rrtb%fmdT`QrseG`r;Q3Xs8MTUmdg#GrVmQ1p[ReKs7YU@q>^KlqYU!]s8VrprrVZOo`"k(pYt0$ -na?)Aqu6WfmdKQ)j6cU?rr3E)o'5cFs8DT`rq5jYrr4hRp&"IXs8Mlps8DllqYU0grr;f\kO%s; -pAFaSlh:AYqZ$B\qu??PmJm4]o_eabs7Z$ZrVm3&q"4.Ho(224pAY(,o^;/5q#CBflgOlRo'c&E -s7>XMo_JLd)>E^on*B`Jp?C]4s8V]Wn*]QBs7H'XnGN%[s*""unGWCbs8VuinEoN;s8Vlclg"!- -s8)cqqYTmQoCr.Zo^;,@r;-*Xo^V>>qY^'[q=O+=kNDj=s8Mlfrr;uprr2cZp](9lr;6^KilM(8Amf3=Xrr)Wlr9WM>rVulloCh\GpAP"Gr;-?cp$V,?s8Migp\k-lq=!\4 -k3r$=qu?]np[@8+nc/Ueq=O+?mI9W>q#(0lp%/1_(@gPYs7Q-ds8M`cqu66KjR)L6s8VrgrVuor -s7m/snFch]o`"dgs8DQ_s8)`j*:N+^s8)'Qs8Vobn+$GTk3Da>oBu/Is8)WnE]fGqXF7Ss8W)foD8%Dl0n02lfmg4qH5s7lBOk3V[= -rr;ips6/\GqtTsbrrMfbrr3E'n*0?=s8VNCm/I%`rVn#0jmW6LqXX(FpA":XqYU-[m-scGna>o> -pA4afs8)0Srr3N-l/hX=p[I\JqYg9ao_/(Xs!@@$j7W3>oC)#7p?qq[rV??clL437r;Zcek3DI- -o(W1`qsjIYrr3r9q"F%?o(MqUmcjE;naYr3q>^Korr<#jp?MAMrtP>"p&"dhq<.#8s8)-Dl1tAZ -qqZ$TmoBYQ*oDA4XJcC<$KE$H~> -kl2[cb,LS^Is6?kI%MJV/[ULAcoI -L4k/0J:E&tI=-EhJqAQ(Isl]lJV&Q/KRnT!rdt-#!J#b!K-,c$LP(/.J:iQ0KR\N(K7e`(I=-Hl -It3'#Jqo)6JUm`L++&KhJq8K+Ll[RVOcG3MKnk;1J:iN*IXcluJV&H&I/\ZrJcC6SIt3'#JVK#@ -OdV`+OG\sQL4k&(It3$%MNd#e -R?NSfMMd@LJq/Q1K7&#oJq8>tIt33*JV&Z7Mk7#TV4='MTpUjqM2$P0L5UtHL4Xu,It<3*L5(J< -LP_.ZTrFQ>Ll[OQKn4`'K8#)9M3FO(RuWA[rIbB-J:WB-L55bbIZ0DQP*2&pOc"gCJqJZ*I=Qs' -K7SQ'IY*0%JrGnXSXPk/Pa7Z'VQ-PbPDk-AH[^R!KnkSFLldg^PFS20N0TTeP*MT@TU:q)MLg8. -JUi9(Ll$qAL5(VIMM$S?NfT3YKn=f)KntVFNfod"QB[AbMj0QlOc5*NL5:\CIZ9#4Ll$hAOcuH) -O.;c%MMd%@PF%AgMi3[bTVA'JS!]_=Tq7gKUnXBCNK'=#X.#01Q(b(GOeJ>6QC",Nff0NKS5&5I"[-#J:`N6O-Gre -MjL35Su&g3_7?ePXJ;2IQ_:Ro[\T7QR%Bh7P*;5kL4b2;NfAsSN0KWjQC*\bL6%OWMOLfd_Sj=# -Z*qKb]t(YVS;`,WM2I@[S<]%dLmt3'JqA`2LPLVHT;8*INfBEsQB$rmR?`kiL5(SBNK#3APG"bH -Q^j:sLOt,=TVnfkYH4F^N/`aXQ]I3#YI:BlMMd.Fre(uAP+7o%R\mL!V5C#RO,A^LM1^A1reCH. -(PRKpJVTDTNIcnSTqA9cTTtUpKS+l3MZ&P8N;eZ)MMHn?M2-_AS"lXBO-5chPan/#O-5]kRA?jQ -U7[O'MiWjSN0'2OYJ8)m_7d=bZs^#1UnaQKNJ`[WSZ8uq -R#mc7V4Np1M2RFYLl@CWR\ZjYW2d#(W10!6OG\[BK7SGsJVK5PQ&LELLPLS9J:N3&PELu`L5VFn -T:2UZWN3G<[&pC'O,8aIJWQIrT:hidSW];1VQ$JeSstq&MiEdVL4=Z(LQ%FbSs,.mOHPW_Nh*5P -S!BPP`(E\Pb+SAStMmSTsCo4`5/a^[`#bWS]"uP7cbllPN/X0T@KXJN58 -]KF!RcHXMP`P&ULTqIm9Ll.7SMNF$\NK/g[S?0KG^p'Z%Q'@]2Wj&e0W1]NDSYrZhS#Wfn[`Q1d -UT1s*^_j\lXKARpPELo_NKK^.X.G6*M2@+GLl%#gKRSc@O-6<8R%^[`Y-b:7_9Bp3\%98jXIPfO -S>Wm$UR77+P+oCk\];b%ZDs@_Tq\!CT;o/lR[0J;S!9&%P*(leMNOF3\#uYGIMLR%'kDS!f\0N/*:QVuO5LYcb4;U6qFQ]sji)P)bWj -T:hR5OcY]hOGf$XMNjd2VPL#aYG[eKO-GcaM3F0^Lm"3sY.D3T]T;\\lT:;FCQ_^a\ObSj`T!?&= -Za$aHYcP=>WhkuDWi;npVkKE;O,]C-^9XGqKnk>AS#sTEXdGZHPEqAkQBn)4Up$bfR$3YqOcYQZ -Lle'qQ^=21Od;2pQC=78P)PNaR&-dPPE;!"Wj'(LZ_!>HP`1HYLjtAJXg=XkY-b+*URe'WVOO3Y -YI2*UYHFXkSXc+BUm[g=OI)Q0R$N_pOHuZ3RB33[GbCOjOcl#nR[fe8US*s>SY)@EZb3iISsGG# -X1G[AX/;8DRAZdCR%L:VY.D]ZVm!t[bJ:6UUoUo:b/LBJQ_9t;QBd;dN/s6sW2ZZ%\[SuX^9si5 -XKegtP`1BTNfT0`SYN'XU61b7V6$8ONKBZtM2..n[C'J\Z^Rf!\&$)%_o00jXK/+_NfT?fR?ESo -R[p(FS<8YePFA/B]"t_GR?NVmSYDO:TW5-"ZaI!;[DpD0f\=*EZF.TdYb%,NZ,G2Ng!IL=Yd1@* -WN<&2^TOQ.NffWtTqQt)Pa\,7WOTgXYckIGh[]cNtR$3SsU;+=N]YVP&]W7EfTT>"oOe\D@Z*:0u -P*DT>YH4h7_S!juT9cIg^8%*]SuASrTpqgcUlh7=OdV],R@'\Y^8[ZhPEhT*Q&qT.R?j;7SsYk? -XK&4tWM[#&U77O;SYW'`Y-PF;XLYsQW0NI-O+i:^Y,nh'R@q$pVjNC$RAcsQS>2mOTrFc[URddL -[C(:ZVN-LnQDp^TR?X5?Z+%Bd_7dUqYG.Sh]?o$I`P\sIQ)V(4`5]e>Z*q$P -]>q\!\!`/)N/WdZP*`&PZ(\,#VlR;8ZF@]l -_mcnTQ^X@JR%g^]S"d*t^qdUfVjij5PDG'\S!ohE]>_OjXJiD$P)+sZVocd$ca9pbUnX6LXKfF\ -cI:+[^V.=hXJ))OUpe7__RI:n[]>j^UT_2Bc,7$*\\,bnXeN;Mc@49j_R6b]\$3-:ZGXo9f?hIB -X0/InQ^sbJ[Cj)VW26l?d*Kt]aM+FKW3!_Wf]Lr*d+m6oYcaLrZELOJcICIpa2,R%^=26(gX3sQ -`6ZQ1Nf[SBsaMtouXgl9mcIUF]\@]Ge]Z\F;f](E"`6QT>\%fem_R6_``lc]adE9>7 -WM#T@Ts`"d_RHeUXLQ3dZ(e,%Yb%Pd]Zn=.aN/kRcd9bDXJ)&PY.M$;TW5W2TU_[MWQNW,`koI2 -_pHiU^:(c!dCm3([]ld-U92&:WM,cKTV&m;e(;F?TU`("daZ:AUSb#jWiWD)V5g`(YHtjQ[%s1W -XeiJ5\%Ku]Y)+t_nERucGm`6[Bm*;T9l%8Su]3)\%TPg[B$$r[E6\>c,R?"Y-"h8\@fhu[^WhQ>mXf]"$d*]>7d*L"_e(i^*`4a:4`dYh>]uA@Re$GL7 -WMZGp[_K\gYeS`9`ODtJVPBs$_ns'iVl?r/Yd(j]cIUklg[^WZL[(F6* -fA5<;c+C*^ZF[cXWLoiT^"D)kcF0==V5q&=]sF]@[^io]`PfEdX0fU]cd:"_^Uq+e[]cen_6p>L -]Z.n,b0A)RcbZieZ+I``Z_X:qXJDSlXJi%oU7e<^YdUL&Ydq<]\\Q(t_8<[]\?i<>Y-)67W4B.7 -[(EiOX0/b@_7-;9WNit=XK]+IeC<6o_nWajStqsNW2lhqZ)""\TWc2Xe]Q%M]Y_=cY+VM\Q^akR -W1Ti[S<]A(P`M/rPF.f3Xi%od\?W3F`S9/$hqm)@i:V[$JcCT,J,~> -kl2+O^mKLe@9$B2=B/9t<;fhu*;cHas<)Z[n<)cls -=B/F+ ->[C`B>[:T=>[CcD?!CQ??XI,E?"%4@A,g$9B)cEDA7/^B>QeA??sR(:?3X\B@qB7cCAr#ID&[8) -B4b^cA7K(W@:3_\An>L^@:U@:Ee\C2.?oCi=?OSYD@)M2dLIH?41KD/F?8Ec>l2C1h-mC23``s(P&D -H@_$AMKj>nH?aFGBP2+#G'8"WLkp\+EboN+CM[d&Ci401EH?2DG^OsiIt3&sG&M26DJNs!C27X$ -BkV0mD/F$(FaJIgJGst#JV&Q:PELfRH#m_8BPM0mAS#XtH[gHpMN!7:L4ao&H\.?8Jpr)jDJO-. -D/4!-E,KH/Df^)AC27j4G'7qECMINtCi=65GCYC"JU;N^I=HQfEc,]0DJsH5F)#B+Dej6:IZ8u, -LPU1pEb]B5HZEq@EcuthNf8gML5M"PN/Na[Q&gWHH\@EFKm\)nN0/pDOH#'MLQ7XiX0o@8Uo:N% -UmHpdG&qbHD/O<:I=mTNQ(+5*M1KqiDKU/CCi4?9G]dk`bJp_ohEcQ&:Ed)q[IY!!!K8GM?IX-!QDf^&CEHH8?CiOcJGB.StQD1RbVP']ZT9G+gQ(kI\R>HWSNJ`F>JV82bCM\!4Ec5i7G^=LYI;rk6FaeafOf>n&]Xb8H -Y.;*LYH=OWH#7M>EHZkhL4+#\Ko^\#DK9gtFB3mNOGeg=H%_'-I!^X&Is5mJCi=66F)lYdP)b3N -IWB@@B6K5uR@9_:Ob8%/H@U`tI#aerQ%!gpD/a9+DKUPmOGAmaVko]EOb7t%E,p#9C1qF"DZ4Q0 -D/O-1IY<#bFc2QNS"#CeG&(]"ASH+)GBS%IDf9]=F)c8EF`;V_OGeO1H@La#>Kn=o+L5qI_Oc5$IHusFRH?F1>BPhg8J;9,8HZsa\FE2PeUST^R\,S"Ocb?DH@U[1P*(Z\N/ECZRUi>+\ui-D^U'VpJU;Q]E,KK(C2eB> -H[C@'NeiUWPDaa@P*D]3Lk'r.PbbUp^VdmnSqq`>N0^0n\?29pYG@YLLPV1hW3!"iS#a'2 -]ueF=a2Z'3Z'1?6MLBVhGB@_DG&qePG`S8i[^rc?R?*DhPFA/=TotCkK8#AVV4NmDWLTp!Y,Ihb -ZF7-HXeqJQQ%O@*FEMnYLm43^F`;;>D/F'(>B"V+EcuhSH&@Q4OJ8SP[B?^Jb/1QiYd1[-NJrgR -QDL+5LOt&0Pc1@W\%8`@U5t%cMh?SIX?ZqI=6EdJ;]tqSW8YdJpqo`Chmm.Iu&r9 -L-^H=Fa/I`H$k-pKnkA4IYEE#I#O)JQ]QfOL5D%OL4Or*GBA%YQDUUUTr+iYNfg*BXI=uqH@C[4 -Ob\@3GC"XaI!U9pG_(g:PEM/qT9b7[I=ZiiF*rF]HA@ZKWO94BZ`Bt)X0&+VMj^92X/WM=X-es' -GC,%(R%^=IN/3@POcP]jN.H7tF`hY?B4Y[jBObb-Vn0LFVNusgOd_\uMMm@HOdqbmI"dZIV6d/! -V5LVtTW+ZPOF;PBR[S,`RZN,II>*ZTXe(N'G'\CcP,H7?Z&X`rJV8JuJ:NB1NL,c]J9uQfH?j^X -FaSn"K7\f0H@g^!Ko1hCIt`N4R@B4iJrZ7mU8FiWLOOo/H?XRPApK$!U5k2(UR@O7NK]j!MiaF' -XL5=1U6GS5=,W?7OHG0FL5h.KLOOl,LR!mXSsP_)M10_tJqAuFNfKi'KFaAC`KoqgoRAm6cU8=l_OH5d# -R>ZN;E-?YWGC5.(OHP`YMj9a(MfNQOIXuZbJ=i^9ZD?0];hd+SMj_#g]XY_i[BQR)T;&0JLQ@^hP_O[CQ(X\FYI_EE -Mgp>0KoVe.XeqJ8H&IrDK8uS)\%&fX^p']%Lk:)%JrmIKY-*5Y['Qs.NKKHWH$spnKTW(1URI4& -QCaeAT<,Q2^Ts/_S?8rWLkLbTR$3MpV3HLfLjau4KS5&@WNMVEJ:2s%LkL8;NJWCIOcPp6s,q#_OH#?]Mk$lK -R$)c=I"drPObnjSS#*3m_nWdmZD3\HT!-/X`Q-!'P)>g*]=#/MOc>'EH?X[`L4t86PGYOd\@98^ -Z)NS+Ko1tPKQVYN0UBPZ)a_%Z)41dR$iqg -KSG5>O0#1JR\HaQO,o6bUT:AmY-YXM^;@guWLTNPP'hFuG'8.]Jq/@aLn1]HXg+e%Z*111]>VOo -YcWi_M$T?=S;rr2YdUuiZDa1DG'\U_I#F,KO.3>b[A]OILk^;+Kp&7K\AQ.ZUT9iKLle4)ZGau: -dE02:]!%fhM2[k,^rF3s\[8?,MM.:mY-G^OZ+miZ]tUYE[E$54c+pNaYcXb#Ts)>Zf\b5rXJ2J\ -NJ34FP+o(_XJi&.aNhoE_7R"CUSb-+C!5&dfY5MXbe'[DOe8VMVmF=bda5qH]sbQ"k2G%@_nOK7ZF\?5d(6'KYcak&XM`9'\>uU)StE*t`QHNPa2>[4guI/?g#CZ5g#CrCd(I-. -`mr\qkNV-gh:^?-bIk?kWMs^@_TU6Rc+UKn]",Mta2??ZbIkR2ah,!q_7@7_WjB=Qb1G"__6p&' -LkM5%`6,j#XK&%u\?hlkPG+_7Q'nbj['IB[`66NO^93l]MjpZICZ5U77IDY,\"UM27Lo`5^*K\>l!^TGdt2iXIYfPVQR2-Zb!`Qd+@"(a1&IgYH+Y$SX,tX[B7*kfZqCF -ZbQ_0q>R$<\jNgHK?SX-1Z[(WiY]t:nhYG&/!UnjlbUnP,pVlmG5 -WMQ`&\\##5PF8,DUn=Ne]$T!_ahYQoX-&X-Odhr3T;Im6N00d?_o]g6]"#PeYcO7\-BsILR@]k0 -QB[DaKS>&(It)p$L5h\.YH=h$TrPWJcI(>#g=tTZJcC<$M>r)~> -kPl@rp$_20k3D=&nac5>nEoQ-mI0W;o'l/JnGr(Wn,MnUnH/:On,D_Un*p8F$1IoCMPBmI0N5naZ,;md]i:n*]W2mI'B@lic_EnF,iEnGhq^mI'K7o_%qOrq$?bo'l,9 -rpTsWmf)VQoa^Wbn*K?/o(2MGo'l)=oD\=\nKdSpnaQ#9nac>CnF,l:o'u5>o(2MFo'l,9n*fc9 -nac2u:o(2JCnEoQ1 -o`"l>nE]T6o^hYDoCDD>md'<7r;H6VmI'N9o^hVBmdK]oC_\Dn+$&An*ff;nF#]5oCV\G -naGuQ+mdBc?pA"FVn`oE0q"XUVo'Yu:o^_P?mI0T:o'Z#Ap?q8=p$hG7kO\NDo^hYCnFZ>D -p%J+Nn*]Z5mdKWEl!WiOp@n4NnF?#?o^_>/kk>&VrV#^Ko_/(YqXs@JoCV_OnEfT4mIBiBq=F%Q -s7>UDjll7/o'Z#8n+HVTnaZA=kiV*ro_\[ap$Lo'l1=fDlK7@&p@%/;p@7J3lLFWJs*sh6nFZ\U -q!I8.m.'c?oC_bEl0e61o(DVEnF,`5p%Ik>lgaZDp@I\U9`kj%d=s&AgXlh1;UoBPQ+nF,c2mHs3#kN;.#m.0rAlL+99n)s-7qtBRHl0J*D -s8;osq=*V2lfmU!qZ$Kbm-OWLqC9j -o'bo3o^hSFp\b'go'5`7o_@qEr:pmdTc9mdKQ0m-sQ8nF,l6jll1'me6)>q=F4Ws8;Zam,mO"pA=mi -p?_2:n`oQ4nF6#Fs6]4Cnac/=p\+1Io(;SIqY'=:kO\WMqYC'gqtp6_naQ$an*B,qjQ5q/s82-B -m.UDRna,Q/oCh\>k3D^@q=!_Ar;Zfjn*TZ9o(;YInEB-#me$,^Ha -nF,T0s8W&ms8VlhrV,^QrVQ9Vm-^6a -rVu]VlgjoKo^;,o(M\E -lgFTGq>:3bn)!6to)Ja\lK7C!n+Zb[-2R&rkje38q=jCHo`+sjp[IS:n,N%HnbiC\n*TcIqt9se -le^e&m!\HtoCr+SnG)kClLXuPq"F7@jQuU=s8Vl[m.0uKo'Q>Ss7c$QnEK0)qu?@:o(DkZrpoLJ -mcEs6nb)SMs7>jPnauJEn*o`3n*9-.qYU*gqsa.Im.^>Klg+09oC`.`.J2rno(E%_p%eFSq=Mq"!h9kOJk?,r;HNfleLIcs8Vidrr57Yo(2bVp$D/Fq=aaanETK/ -p\spXn*BK2me$>Lo'ko2lL"34pAajXoC229n*K0%nb)eXp#kE,mG6^ts8W)grot6ms8M9Lo'PW7 -s8Vfcp\FIOp&+USq>L=mnF,]3p\t3mm-F*3p$VDFn*fQ(l1k;YrVufdp](9flfRsAs7GX?kjncE -iT&nTnGiORk3MR;qsWe:pA"%Ao)Ja^p?^f9s8Vrgp%\7NlgFNEp&=G%mdoc1nbDtZs7u3NlKmp/ -oBGiUBqp?_5HrtkS-o^_kMna#fHp[7VIrVlERlgaW6m/6k_'(b8NnEoK2s8Vum -ki_[8md0ZGrr7H:o`+s`m-3g"jm)C4oB5&oo(;G>lLXoDlKd[$kO&6Js7GRDmI0]?o(W1`rq>U= -o)JaXlK.@0s82-Ls7tmFm-+-;m-*Wrp&FjOjllC9p[@SNs8)N7o',5unFH#0k5G>[r8HGql0Rs2n*olI -qsNk?mci`qn+cYHlgFm.p\]m-!g*oD\[]lL"?@qu$-eq![P7mIpPZH2@=3p%.bD -k3;^As7c$Nnb2q]s7GO:mJ$56kOJ-5n*fc7mHsH=md]u=me#u9o(;YPr:opLo_%nTs7YR7p&G'i -rV?!YnEfH)o_IqEi8FD1s7c'FpA+1Ho)/Ofnb;hDn,2q[o^;/3me-;Rs8;EPm-O0%kNV[=s!7I, -pA=dbn*KfIs8;osnG2t]r;Z`co(MV>q=`h/rVuZclgXfNr"8c%oC2VTp$hP@nbrLfp?_#6rr3o0 -nFH,?o^;/?nac_Yk4ScQs7P^Cp&4^Tm.UGY"nq!ame?b]lg=EG -s7,==nbrJ*p?(N'lM:JPi9U.;s7l0Umd0uQnFukVs8;lr5kXL5r;Z9\r;66WlK.g@q=+%Hlfm@" -m.:,EoBZ#Bqu?]pp@.YNs8W&ik1o4ss8;Tbp@RS3kkXN9mcs-.q>C6l1ApP5rr<#knFQSNlKR[! -mf3=cp?:N.s8VcWp\F"C6krr4tFlL465pAFg[m-jE8n`/d&oCi(]s7PaSs8D]Hg?%l)rVuir -r9s8Doko_&(Yr;-9gs82EVr;?Hjo]53)m/-b]2#?S0n+$2Qs7PXBm-aNC -rr)cfq"FO\qY9dana?,Ks8MHJqY]mOn+-;Qs8Dutq=41Hq#(-k'_V"cr;Z]\kOJQOs7PX@p&G'e -n+Zh]48nj@nb)VSs8DKZp@J"Wq""+Kp\"1Yrq5jUnETB2qu?]qnaQMVn*g5OqY9aOkj8$CqWHf+ -qYBsXrr2p0rq>[Sp\"4Tq"=.NoCVkWqY1!^s7S#8nF#WNo'lGM -p$D& -kl2Lig;0_NK6_oqIX?9^G^4OZH[C![EcH/CrcS9arH/'^rH86dG'*_)!H`J^FpW83EcQ8FG^+FT -piHd^F)uGGG'A.PrcS3`!-e6]rcJ0]$$:B:GBS.PF`qs-G5ugcFoQUdH?jc7GQ2mjFEVnUIK"[= -I=$6bH[U?kH$XjdI=-?eI!pHnIsufnIt)oqI!g9fI=2$@"FPZJIX_6FrdG'$JV/Z2LPPk_"GDDY -J:IQI!I]@pHiAX-Jq/8qG^b0oJqAN%I"?kJJH(*EJ:rT.JqAZ0LP:A4K7nr3K7AE&Jq8H$I=-Hk -IXcitJUi<&JGt$BIXHWtK7\`1MN&.I!U3mJq&2uIY!#uJ;/l9S#`ouV4sWOQ'@AhL4Of(M2@%DKS+l-J:W?+L4t;7 -M34'tYbmP?NJrdPKRn]+KntM=Mj'QtO,SjIKnY24JqJ`1Ll7:TLPq7WP)t]aMhZh8KS>#.I=Qs' -Jq/?#Jq\o.JUiH3N0T]qR@0D)O-lT8SWo(dIXHWsKnY;=Mhm=QO-Q6)Obo9aO-GorU7[j9NJE(8 -JUW-$Ll@=PM1pP7LPLM7KoqIVMM6Y2IYET8M2@7]Un4$;MN!gjSLPLV=MNF*jRZ`i)Tpq7-OH5EZKnVgIM1^bHLl@^n -StMpMO,8LAP+nkQWMuhgQ&1HZOd1obSY)jQO,T$TNJWFFN16W8Q'RrUR@5DMBS"BMi!=TV6dM-VQ-o0Y+C`4Mhm(ALP1,&JV8oBO,8ODreW(YK7SW,MiNgRKSl1p -UR[sOTW>cG]sY/FR$*PgJ;p"fS!TG)O-#NjRJr[]TU(IkN/igNI"-g+NffKgMiiWe -T;89QMN!agSX5P'Q^F5,Oe&)&MNF!\MisO%R@TtATVA0PUo1H*Z`9k"]X=`/P)bN[N/NIBJr,GH -O,T3mUni@:ZD=(OPae2CWKrKuNKfs4\A,u$];_*QKTr(2^;@RkZ*'mlQC+>EY.:KtPa7W!P+&Ga -]=#8ZTTG>"NJE:KPa7i6SX#\4L6.agNe;h1IYs`'_T^9IZD*_TS=#S.U].BFUQq"2TV.mHWN`A2_m6)9 -[_K>][]d$>Z*0^\O,JmQNgm,TU614fM26h -TrF`LNKK6XR'<]t]=bGSXeMGSP*;6$U8jZNS!o\-OcZ,uNJi[PNg6TT\>Yp]Nff?^@#9SmOIN&< -Q'%AqLkh%MMMdF[R[fh>T;A?!Y,\:oTpC[qMM[(EO,me.Mj'KkWjfLG['$L=]!\N,PaJ&8Z)tOPZCmJC -N/j4!WiDtoQBIDsR[g+NP`Ui]Mi!.X0B%;VPL&ZV5L&TQ(=S=Uo^P_Mi_QApq(Tm3E5Vk'$4OI*)]Y+:]0LkUhUW4g*WS#<-QQ&LN^R%'D/U7dj$NK'!^SX#V@W0i^3P*MQ8\%f,6Ng,flOH50EKTiIATV&0]"Z5&XIYT=Nf&mdWiDtq[DTefVO!R:NergZTV/3o`PAUG -S!TM7U8>$)\@So;S>NU"T:(q4WjA[mS$&NLQ'@B$TTtY&Q)(R[P)G?gSsGCqTU_=1PaRr)Q(OqP -WN3%sZ*:7#Q^4#+B9o3bW4BXMYdq'6O,/[JJ;:,5Yct:/W4/dtP_t?dYH+=`S"#b0R?a)+PEVrR -ZDaOVLl@IfQ'I`-TUh[R[`$"u_S3CXVmXIsg<7IOZ'gfLVo$6cZ':?0N/j!_P+J,/Q_Ldr\QuJD -_T'EuP`;,tPEC`VKSlRqQC!u*OGfKtT9kIjNL?u_\#?$kQCY"Y^!YQ\\>QL?\[8W;R[p:FVm`Xn -P*1ocOe&;?Q&^WWO.2rASX#8&O-cE3Yc4FiQAp]V;N$TpQ(FY:PF8;AO,fTsV6RA4VlI,4\[\lQ -XIbW:OdrD^Z`^I5VkKf_Tq8?oZ)FLuYe.irah4^OWNrUpR$s8"MM[CYR%U=ZUoLZ#Y-kUBJ%*&& -^r!dkR[g"EWj&FkRB4$2[^i`BVO3I%K8u:]S)bK@`9]su&"]tCYKVQ729XJ`A:]sb;[]6:9SWhu\rWhH#[X/`85]!AuibK\>U -b07uB\$aB1hq?)_\@fi!]$B$\gXOWk^r4dcl/Bt"[D]teXLuKh`m)r\e_&-mccjPUdaugf`Q$3R -cbn)Ye(*=2i9f^`_5=_E&_nigoa4/elc,nP]ajJeqdE02G -cHt%dd,='Ggt1*)cHF2@Z([ek^<+gVg!.OT^q.J.bL#/%a19"2cb6Ng^;7OiY-bj[d,!6g_7ut> -RZsS`eBGG+YdLXB^:UJBX15O.UpA"b\?r`X`mWD[Ya^rHT!ZPHU8tQ7];he/W,A`]c+h3=`m)NK -dEKD8]>r:'[(!KKWM,l`Z`BgsU7.L7Y-u9j\#,I_Xi&Z@c*jLFYIV -\]2k6]tVM1e&T>A^;eCR\Hgg]u7[n\$E-9Vl6o9bgOn[_o'0qZF@9UbK%)t_S3dr -Yd:jF^X1NO]t_J&Z`'q2[(*`W^UUVUW1BNYWOBIQ^VICbb1#/$=jb+"^TF]EYc"5!_Rcn]d*g%S -]YqdtVQRD?`7!,ae&8JiXLc!P['I!gaj]5"[%!r# -XIlo5`P]0h^t6rT^UCAJVl%#:]t:VPYIM6P[`-P>fAu;gfXn`,]>qsuZ,=ATR@q.'\[A]M^WFjO -e_&O%`OWNi]#2Y&UmRdJ][krodC>jGV5LW3^:(,IZ*_*Y`593fX09%Laihr]`P01)_RQD-X0AS) -[(OH)e'QIi`k9:0dEp.ba0i%L\A>h]Y.Vs1e&]8:`Qcc5U8biHce$k)h:Blpb@n_u[^s#^_n31] -]#;J%aiM3.]X=oE[(F/l\>Z:2Yb@\lW2Q\oTq/!]\?r$%Ye.KZ[DU2/_nWU[]=G>W[^EBAZ)t18 -['?d<\@K/ZYc=LnXgYO8Wiiq]e_83j`O3%LVP0fgZ)k#kYc"+aUpItaeAoYG^W+.![%Eq`USk9( -]W/*8TTtV#Ne`^YOd;B%U9(GrV4XB[]"Z&#bK@fAa5H=Kjm2L&JcC<$O8j_~> -kl2LfdBf'`B3JD<=]\U&<``:$<``=%;c6Urr`9)#rDikurDs&$[CcE?lIq1>[CcD?N"4;?=75QAnYppCi')c"DMO] -ARtdM!FfL:@/agLB4YOZ?"7GXB4kdc@:j-NAc?3^BP1pgAS5[kBP(gfB4tpiA7]@cAn>I]@:E\U -A7T7_raZ"=raI'[?XdVZAS,XoG'8(UH#mkAEGfK*CMRWrB4b[bAS#@\@q5IJs'u(>05#'?H%1I2 -P`1*8FEMP:A78qW@V':kEH,]&@UWYVA7K+\Bl.d0CLUUYA7T1]B)Z=U@q&kWBlncTKnb;-H[L*^ -F)l>>Des-#BOkOX?!q5U@q0(]B4bXcCMe!GR\QC9OGnpEJ:)Q\D/='/E,TW2Ch[TpAnYmmBP2!t -G^k[BP'qP#G^+:HBkM1#F`_YII"HupFDbo1Ci!ndDLZSFFa/4OFF/F`H@'p\EG]Q2E,00#C27X! -An>UjE,]T-DK9fHI=[$'JUW!!MiWaHH#m_7B52*nAnPn"H$jsjM2?h3K7SK$H[LU&J9lE\DJX3, -D/F97FDl#5CM[m+C2.R0GBIqDCM@BqCi=--F+]L2LOXPmItE<%H#s"(FE)>BGA_/3Ch[a1Ko_"@ -NKA[5FDP`5G&_;9E-$A[M1p_HLP:D9Mia6nP`LQIG^G$uJ9Z0_L5^h6N/NIEJr#V\WiW>&V5:5o -SH[q$@O-GlgL4=GeEHZPFCi=QEI!9RGAS5dsDJjZjSG]@hLIug+j -Q^a;$Jpi#nF)c&:F*E%]I=H]sLl@=KIslWeFE2DAE,or7CN+H@FDYlmD+CisrJMkI2TYH4Op -X1#aRZ`'7CFDYu7Dg$hpLja8]IYW2cE,g#BFE;\TJV8c*IYj,BJUW&=H['OJC2@d$Ecc;FK8b_H -OG8"!BPDaOPa7T$Q]QlGI!pHqG^#"(R#H?5FE)A?DK'iXQ'-oYNL#ieN/;h'Dej-)BkV3sD#SDfBcJRAm6ZPa%]4RYlK6F`;58Ch[BdAnl@2G]IbCrc;diC1_'mG'n[ZE-6er -OGJp^Pb>CrZ)++ZJpVccCjLeiK7A5mI=Qp'LPL\?MgohhFa/(KAnQ"(H@CBpH$XpmK6q]]N1Q`0 -Od)#dG^+^nMhQ_4Ll77KKTD7DI=[$!H\%$6MN3aUM\qG3LQ7UmWN)bfUUI:rO+DY#EcZ5>C2S.m -I!^*fMia!aSWShXKT;+bR=B9tH\@EMXKf1>Vj;pVFGuN[Y-=k!Tq\'BO,T0dR%odrK8>A;K8Q,! -YH5.=RX04)GBJ%TK7o)AM1US?F*N.aGAh20BQAp%[):&$XIu;jZ`pF7^SmESMMmCSQ_g[QR]F'0 -YdM*X]Y&^-]SZE't8`P/RUY-YL*M2@4M -O-YiXI=ZorN23&>X0;Q$FJbFbJpr3$KoVISLkg_:J:2a!IWosYH$t:1Vl#]9JU2`lH#[V8Ee0.+ -K7Sc-F`DVJFEW%cMicZELln@0R>??:H$4UnT=`1PO-5W\JTl3bKSP/3NJiF>H?aUTF*)PJ -I"-QiI>!6%Lk^M1H[UBqO+rO[R>?BKMiNsfVQ-&8H@UTrI!KX@Ee0^QO,fd)SX,G(SY):1OeJVN -Za4SGR$3>cPE(TaMM6S2L5UnBK78E%Jr#,=Tob1dI"8sX.G?+Knbhc -U6M"5OG/dlV2UFuR[T_AYck%3_oBU'VP9WUVQI5,OF_e1J9ZUp[8!W3NUNToXeb -P`C<>F`V\YHZ47VH\n/WIslm(R#Q0$CNk)JIZ()%TVS$7UU.A9\\H2(\uVKoPD":/H[CI!UX0Q(=kUUmIaRXf\UlN0Lln`OWF_ZF6j1S"-:@M3".!SWJS^Pb4SE[DTVU -Q$mq-KSZ,$YG.A4H%q<3LRG3QaMk[%`Oqk(J:)WbI#4JhSXZL_ZDX.LN/W"2G^=dsNgm;j]r@<] -MMI+OPF\eZZ)F"MR%gIIs6*^O+r18DhNalG__9@Mh-8/NM*5GQ&pr\PbkLocdp4DSYWBfV4j*0N0TbT:2'sIYO;s^r*sp^;.4YPD5*dYd;'VXL>gb`l5HaVmNq?^q-54[C`WEW3jOheD&<_W1]rY -P)GE`DO%0/[AB=_\&m+B]X4i?V4sQX[CX<0d'U[1]XXc%O-lZ;U8PWIcd9P=]=PSjgY:E,^q7\= -c,R,jZa[mc+:!\]">MSV5gf3a4JbU^q?D' -Mh[_6ccNSrY-Fq/[BcQoSZJr\SZ0+/TpUt9VOj'=PDPBg[^KGT^oX,gQ_Lk*aMG6[TW,B0[&K=EM3XX$T;SrpP`(Bf -NgcB-WO^*uguIDAXKB+S`ODtJVj`R&P*M`Sai;#tWO^'aYbS1qOHH<6SuT*1bfI8t_8Em^Q]dAh -8%6Rb`k8jr_oTO&]tDJ9cHX)4Z`9@IIYWuQV6n"OZ`^7&Tq7mU[(aGr]=>G^YH4t3[`#teXhD9T -Z`1%2Wjp3t_R@"h^2^?PVm*M:]=#/QXfS=aPae)7W3*G=\[0B)g>(&k]Y1AGXfA"[Uq*k6]$T!O -`43LlWLBTc\&-VGf@@jEV51>uX/2\jTphdRZ)Xq5T9YkAUReBbVl7JVc,7$!]YMJ+`QQWDWM,lO -S><0dV4OHW.B9;6R\m-u_oKWrSu9&mRtH?WUUIJH_TTp*_V!5QbgatX^q7(j\?rVg\%9N&gX*0l -UU$nj[(O;lZDk@Zaht]qY,eLsY-"n3Whul.]sbJmdF-b5q>]?aZa$aJ_m-G\\=8;<[CirMWNqG[CEK>XKA_8]th:hUnt&t]uA(9f###1\[cjeR>IN0 -S"?L]]Z/4@d+-=XbKJD_bg!o'U7SEoYbe2'a4\q\\$W]^`Mf<)^;eFIe^W0tbf\/G['dHP\@o>Q -Zamug^;n7*[^`NiETq%R?QB-i^R]<g -VQ6i!VlR;;\?`'+Q]n&>Un=?Y[EmFYbfR]'W0is:Q_:+HTqn* -jSo5Mroap\nFQ>GoC2,4m-aB5o'l/;qsaXUrpp'[s7$*XrpKgT&+fA_naQ#8mI'H4nac5?nG2PQ -lj)qGnF?&>n*^2Bs6]pVnb_ein*]Z5md9E1naGo6mHs?0n+#r;n,;\Sn,VqVmKW.Lm-aB6oDS:s -na>f5o(2JBnaZ2@naZ,;n+$#@naGoFn,MhTm/cYBrp1Qjn*of8nF?&?n,DkVnGhqXnaQPJrpgTko'u8@o'l,nF5o7mHj3.o();>oC_hIoChqKn+-/Co()eRs76NbmHs?1n*]Q0rU'^Rmf)a%nF,i6n,NFe -p$hMDp[dqBmd9?-nF?2Go'c#7m.'N2mI0Z?q>^0UlL+33mI9T6nalACnF,o>p@I_:lK@I!mI0T< -p[@\CnaQ&9n*]Q1o_A+No^VMBlg4*0lKe*n*fi;md'?5nEK3/p%%bCk3Vg8o^M>=n5f/N -oC_nPo^;&6md'<3n*B02p%J"Lnac2Do^M,+kO\]QrqGsNnb)YVqXa1Eo_/(Rna>i6m-sTBr;-0d -rV#[KlK[j/nF,o6l0\-5kj8*0k2kdpqYpLMr:B:;k3r*;lK%*poCD>?oCD84lh(,TrV-!Tmd^/I -oBYN$mIpJRq>0jTl0Rs-o_.qVnlY>Np\+%=mIpJXr:TF@l0e02lg4*6p[@G4nF>r?s8VfZl0J$B -s7YjHmI'E3oCVS5jll$pkNh^3mIC)Io(MeRp@%82m-akj8!Bs7"q2p](9clfdX'naGl2lKRO"kNhO#n+?)8lKn$,kj8$5o(DYCmI^/Q -rr;lcl07U&;X^9[mHaEAna6#@p[RbAl/h7&p%%bOqt9LNlKdg%lg4-0kOJ31k3_a0qu?Zd -n*9?6p%.nQrVcQ_lL468rUfOKkk"?/n+6;Pq=F+Lrr4A;n*]lAnauP?lfmX#nF6#@oC;ACqu-rV-?lq![hRoEk'VmdK]8o'l)8rpLBcnFQ8@mdTT,oBYuGp@8%Zs"=9Alg!s2pAb0c -lg405oCr+Rnal\Yp@\"JnaQ,Fq![P=nEfN7p$Lo-oCqtNrVca -rV?3\oCVYImca*o'Pc0p\4@PnF6#?qtKUJnauPJmI9cCq=jLLkO/0Gs82m-3g' -o()GIn*fo=mIp8:kj@m-nG*%`lL+99pA+OWo(rCbqYBmYs8)BVmHsE6oCheCm.'iEo',?,q"t*k -q"X.Bna?8Lo'5E+m,m[1p@e=Uo^MAW-m.'K7s8Vrdo^1u1 -n+-&>p?1c1oD\GaoCqeAmHa*-o]kT5pZ_>MrV60ZkiM7+p@7hNo'uAKqZ$TcqYKUPoBG`3k2bdm -n+uP?oDJIUlL!m1qs`tEo^_A6l08'Es6T^ap$Lf#naZ>CmIp6hmI'N5mHa30o_.qMoBl#@q=jdb -qXa"9n+?2Bp%Rn8iT]t(l0S3Do&Jp#oCMPFmcENmnFQDRrq6'Vo`+sjo^M>Hp$VVSoBGf4qu?]e -nFH)lg!p+n*B<4rVn,:lg+??l0A3Hs8DQWlKS$Bo]><.n`fZFs7>gP -na>Z.o)JF^s%!(YnF-)Kqu?Zan*]i?mI'W7mHj'#q#CBgs7YmUs8DKTj7)g6m-3Timf2k;m,Zpk -s8VWQjQHC9na#N3p@J(ZrqPaCl0&'G$Lm0Fr;QBVnG)nQrU2W5m-OB?r;Q`inaH#;mdT]%kjRj( -m-srHp$:i8qu$Kor9rh9q#'saq"OaRkksrMrq,^Mp\t0pqWm;4r;RT,rr;]iqX*eHqXs4;jmDX5 -qYpKdlLOoPru:LsqZ$Tkp@S%TqtKROs8)0Or;ZfikihI)p@8(\1[jPtn*'Aq=X1@lJhR2q![8/nFZ>>jl#UtnF?;Rs81d2o`+sejlu=%lgauL)u9O4o(MeEkiqI# -nFQ/>pAFsjr9E\Anau89q>UC`n)!=(rVQK]jlYjem/6eTn`fE(m.gVXmGmEto_SO^oBbr9m.pME -mGmj1o^_P@md'*,p@7J8p\jsVlL=3)m.'Q+lLt2Srr_oYkjJELJ,0!8mdg>HkN;@3o^1i.lgacJ -q!@)1pAb'Vkjn<;n*]`qt9CPs8Vocp\"7Tp?UMlp]'sVpA"=Xp$h2.p%RV/ -g#2]+s75Op@[e=p%ItPs8VKLmf*7dqsEV2kP=Z3me?,8s7kR@ -na65KmdBTnG`GGna,o@mHaWDm-s]Drr2clrql"SLg9oD8Fc&cD\/qXF+T -p&"dfq"!n@l1+]NrsJJeqs`qBr;QThq>UBqrq#^[s%*+aq=jUWnau;6kj\EGr;HNdp%\@Pq=aIZ -s8;'=kPkM]p%8"VqtBOHlgFZMs6BF[p$i"WlMLVVjlZ47nalJIoC`%]s69+Rrr_EEjR3!H)>NL[ -o'Z;Qm,.d@s8Vukp[n(RpZhDKqZ$Qoru^jtm.^PPp%J.ToBto6q=jIUp?q/,pZq8>mIBK3q"t'j -"8VBSrr2p%puU/gpAb0lp^HiWkjA?4mcNNejmW'Frt"kjn+QeYlK7U4n`T-'l1=oS,Q$W[o)J[Y -kO8'-l1OT;r;--`p[@SAs8MEKn*o?)qZ$Kcq>UBsq=a[Zr;Q^3p@S=]mcEO"pAP$krpo7>m-XB: -oC28KrrMfhrr4A@q=a[brpT=NnFuqWp%@\Arr;`ar;Zcko_\X^pAFOLjQQ((n+?GSlNQeQqs`qB -rr4JCq>TpTp%InApAb0fqu?]oqY'j_mHO67p\XgXq>^BYjmW*=mHX05o'?;Ts8!c9nE&p0p[\:_ -p?D5Es8Vl_n+H_\qu6WpmHO?@rr2p*rV$3drqPdEp\+Xbrr4,:o(i%Qgt_&]s7QEjqsEM@s7tdN -rq5^Nq"F(;jm)L6rVloikl1S_lMUY])>!+_rr;olp@RtHnG;_Go_/"Ws8;?Rr;ZZms%3(Np%@bN -p$VMQrpK(=qt^'[nalPRp%.eKrVucirVQToq;UH)mIgAUs8Vo`o^VMEqYU*\p$hJHrquThoC2/9 -oCVbOs7l3_rr4)-lhL5Do'u;IqY9g_s7YsQp\XUMo()5^3_rVZ9WoBbrDr;-?bqXsFWq0qu?]qs8Vf\lg*p'p@IeGnaH/>mdBB'lh(#+i9p@6nEK'7s7l*Uo'uF)s+133 -s*t~> -kPl@^g;9\HKn+]&ILl@ObOc>3OL4t;7M#N/fM2dX^Ll7:SOH5?ZL4k/3LPLP6I=Qs' -Jq&5uKSG57JV&W5M2dXaR?s%qMj9m(P`CHJIY!1OKaNQiM2[FUQ^jD%M>iWeR@'5.S9L5hOlSsb[tMij?oS!8nhM2[FSN/*(>Jq&E3Str*Q -U7mp8OG\jRO,JmSLkgtTP`M*(Q^*c#SuK!(XJMAJMi*^gQ&^ZZQ(=D2R[TY0PF/,I\$<';@B6E1 -ZD=%VOH5QhP`1NYNfT9iU7S*SS/FR@T_+L4=]+M2$_@PFeM>QB./eKo)([N/3:M -R\Z^EMM-V4IXd'1Oc>d+XKAS,Z*0q$[Bcs>Z*C9uP)bM#MBInGTqRp>QCanJR>crZNJE=IOeAqe -Z`'^kQ'I`'P`Le&M$8j"OcGWmrg\8'R@0G/PE1Z]NJr^KKnkPCLk(&-IXHQrM1^J9Ll.4SP)YTl -S=#J-V6-o$Wi2\ZO-#NjT;ecWLln:/V4!F(MM?b7J:iN/L5Ub@M1g_GLOac$K7SW9U8P6)[]ZU0 -Z,XetYFCK-MiNdWQ(OnDOGSRIOb\RFLf]OmMi)aJR$`klM2$Y7KSP>JR#d/gQ^+2= -RuW8TJru_'W2HMgS2?NfB$\OGT$MM3NsSPb=hEQAgQQMia*i -RAJUi]MWN`bD_8F("Z`U3lQ^XG4PDb3bU8FKA -MNsm9VkKK?Mhm(DL4thl^qmR]XK]"2RuN5[L4k87K78/sK8G_QN/K]L5hUqU7$snPG>:] -V5'`TNJ`XWQ'[o/PEV>tOI;MoLlIITO-cK7Ng?0+TVn`dUoUc(XK/:s['6EuQB7)bMi)/#cF^-JSY2OBRAmQmS>j*0 -Yd:jO]"1nU]=4rIWg\ftKSYM]=G2L]"tnVVmO=TW0s3O -T9tq-N/TULt!MiiOcl9)S=Q(0M2-qETDu/IV4='ISs,A4W1/d&Ocu-" -SY2O?N/Na]P`LcaQ)CmeVQ-PcSt270M2-nDMZ/MlPF@o&UTh&-Y,eV4[]?'iQ'%H1Yc+b7W0ra' -NfBF,ZDsXlQ&q&jQ'[o0L5:_GNJiRFLOjpRIsQm4R%11VS#3WsVP^#OP*ho;StMX>O-5s)['ZpD -\#HL/SYDU7N/s0iW1]`YWhbuAPa\baW0`R"KSPe_UTqA8T0,W0iX9T9u1S]!eN)P)PBj -VkTTNV4Wm:VPoW?QCFD8Uo_5;^WXa;]<&'3YdC[DZD!VJQ'@/aOGf!UMiaaF\uicQX1,pVWh,37 -Q]mJmOGSa[Ne`scNM3keP_b!MSt;!uK8>A@PG>%UT;8-N[)BkhXLQEs]s+N:&>Y_UO-#HfOH>`p -R@0M)MMV7hB8i(;T:V:.MiXC!TU;(@W2-DsWh,TOYdUsK[C!KAU9gW!X/W50`73Z"cFU-]\\Z;1 -`O!+aWi`1cR@Kn%hR$,TpqL8N/a9rTt&%OX156uL44],Ko`IMXJiM<\?26\N/EI^[^W0"OH>H_P*q`*NJsU9 -V5'Z;Ll$tMLPV(_SsP\8ZF[fhaMu!'Za@Qse&&f2Ya(6&"PWK2pmLj4f8N/EjdS"m4'`l+mQ -\AGtaQC=P9P*(idNK:*2R\6:",S=HLNQ^4>DUn40UWj9:Q\uqj3Zb3]=S",e/Nf90kS=Q7EUoq8>\?i9M^q-ne -d*95!Tq\?^W1B*;Y.V'AZaHp8SWek`PF7GqO.*Jn\##XZTUV.5V7+OY[CWrLUSE:-U7.dZ\B!"A -h:9ECR@0_FQ'.E.Zb*l`\]N1>]r.*[PHVI9c*t."f$2=OW1gH+YJ.]NXMN-#]str)bfn8L\ZDa1 -VOX6WZ*1XR\Y,:]]#rIC]XG#BZDO(d['I?maKW@m[(Wc>S=H=QW2[>NdacFN^r4"$dF?Xc]"3", -h:p]'\])Ir]uA.0,[D'`+dEKYM -`50*t]YVkCe&T2<`QH97ajSG`cc*c7_U%&of$2%D_8*Ia\Ac\@g"P$+dEBk^aMuHSgWIsm.a-&` -bIl'Hd*gV!f];;S`3$;eeBc(?[)']"b0/;`d)rr$YIqB^aN262rjR?od+?t%cc4JV_TLj$;b/LlmZ)jt.Z*:LAcIL@``m2cA\[o8^`P8^a]dT^:q(\\]NFVcc*`;['R-GXf8T*^2^Kkbg+AO -_8EsiX0fFNbLk7jd_Vu[XLkpEXKf19U9_):Z*qNPU8+opXLc<`\]rOQdDWN'^XU]SbgF>0Uogl0 -]>)(hZF@9R[ATt/\&c\;f?Lb*Z*('iP+8GZZH:81]X>r9c+2!E`P'+*^U:;MHF^r8cd^Uq\#6aR -YaMT!]=YAM\Aub4`4s!r[^3]VZF.0N]u\("]$&ROf]M8_e%!-&YJ@`Y]u[seStid*\?rNJ^WFUA -cI(.lc,.3-aOJ,)R\QakdG!:!\"fk!W33S@]!o8Y[_Kbu^:^JBVQRJIb0]1p`lcKJ9>7 -kPknIbcm+NBNnP@=]kZ)#ujo+>$4p,;cQipo-mS>$5'9?XI&D?!^iC?!^rLAS5Xe@q,FIs'l":!aoA?r`^:G?=.#G?XR8K?XR;PAS>goCi!cu -B4kgfA7PUJs'bn7s(D@F$YEmV?=@;RAS#C^@fBp;A,g$OcAn>L_@U`n^BP(jjD09uEH$F@HDK'FjC("`fB4YR_A7]=_@Uo@I1Ljj%@qBFqG^P"& -P)Y$;F`hb>A7B%Y@Us1fDJj,u@pr_UA7K+\Bl%^1Ch$j`B4bXcB)Z[CrQ@q0%[An>F`Ci+*@O-YunP)4R5It)`aE,KFhDZ=SRC'8'ZB5))ZBH(l5 -H\\)UJTuE`FE),1B52C.F`DDDI"-E`E,GPi-#msFEH?>OIWBOUH?sj^GB.V=DfTl8C1h3qChRBj -Ao;X0Dej-7DK'W=H\$g#IX--gMMHb/EGK3#CMINoAnlC3H@:F&LOOT'Jq/T,I"6ftH$""CCi*p( -Df^#AD/*p&Bl.j/ChS':FE)58C1_IsH3_IXcusG&VJCGBS.JDJX0'DK^kuNf/mU -JTl!f>KS>,>R%^@JP_ss8FaSmmGB%_SL51D9LkgS6L6A.+US+6OSY2jI -NeDb'GC+[ZFEi.]IYj8NPa.8_JU;EZG^"+CEdiUnIWfR>ASQ4%DK:,\NJN..F`:u.FEhhGFaSt* -MLB@@Bm"0/G(5-pN1-NQH=G&hVGHA7KBLkUM@P)tDsH -P`16GKnOktE,p#CH\$g$L5LtJLkUG6Jq8>oF`hkMF)Z&;FEDJ9BP:ma@;'OlC2Ip2G^P$iJW,YI -K8Pn]rg4OjQApTMJVB,OQ\]j8N0]W]HZsRNChd[!rbGVTC2Im)E-5u-@:a=rG(l!-.NeDRl -A7g%DrfU'@P)Fm7H$XmlI!'g^Kmn)aFE;YKDfL,aQ]m5WJ;/f-IsuT,VQ.,:]!SN4S!\k_M26k6G&i:rPDXa6KTM[h -NIlFpChdm*E.FLc\#l'bS=Pt#GB%Y@D/`,US4'/IsuQUF*i@_G]e.[Jq/?"I=?TuIs5pSF`hb5MMc\(I=?QmKT)(DLlICTP*;#iR\HOLrh4\AVj`[#IWfdQEcGl3Fa\glH$P+( -OdVu,ObALIL6@I@D/=BBH&%fVR[K:mG]@b[Pb>.`X.YiEOc>6VP+/,=NI#huIX60aLmag.ZE]^F -J:rN&H$XmrMi31:Mhc.eFa%e>B4b_"Nhs2*d)E)[TW,<0]>)7dRZ*2BOHGWbS>VsBUU7>-Y-PF? -[CE`OTqS$8H?+"GEb]E0DKL)DF*iLrR%p..L5V%GI!^L(Q'd_bH%1U*MiaF#S?&lfR%q!oW262N -N/E^XIWTXKI=$9lN09!EF*)G?BOtmuCO12BEH62OF`fHhQDh-sX/ND9Yb@SdZ`faPMi`mPKReDq -H[9mfOcYZoSsl7FQ&gEAJV8T0PE(][I]R?X/,NfAsNI]Fe*G(GR4Ln(KHWMlSeXfJ"VN/*(HS#;pVX.5&uG^4LeS>MpH -Q%sg7IY3?4NH9/aH$FOSE,fZ)An>OgHA[oZTTP\BTpV41Kn>)BOc56WL4Y2@Q):FLVl+^.Tq7@/ -M0j>gI>+,TPae80Kn#,HTVRa&I,J9uQdEbofCKo1nVR#mMlPG+nIQBIB'TqPPk[AK.N -L6.piM3![NJqJc2KS"f.Knb;5I=mZ9Is?'VG'\[rS$09-XI4lrO-,3USuAKSNe`4Uo:#IJU)`mF*)\LGC+XfRBEZb[%a%dYG[\GI"d?,I=$3[ -G)1ThJphg"Un<9aFErq(EbB')Fa8b1SY249Q^"Va\>c=5bK[c'U7IL$I!L$aIJ9uQe -H[:'kIuKA>J9ud)Mi8J:WZGTr=lTQ>2kPTs(rCdF6%5PF8,>Sst[hJr>8@S=,FpJ:W&r -Mj'-MFa&1aL5CS6H[ga%Q(!btN1c],Mh68!F``.kLOk#5Ner47LPgtRSt24=WNN\;WMuAFJUW?D -YHF[oTpq('QABpL5;(_Up$u(W1pW.['IBmd(>a2 -Pa7i/Ob\pmZDXItXJ)&=Jp;NpO+`:?Ni9IjSWJ2MJq&ZHYf=)QYcX@WP(&F[Q(+_X_Tg9[e%_]> -MNF!NIYO5k[CWoV_Sj-lQ\C3PUo1]EBf]=Fc6\AGncYeA6+cdKnBUnFQVPE_T3 -T;f6#R#mfJaj7i3XeqepUR7aXXKp!eXL>R:YbmYHOdMc6TWZ,UdDWN/_nNb/daQ7J\i%[cf[msI -_8!@d^Vn.2`P/d]U9CbuVkKHCX1lEQU8=ZTVl@,;['-U,VP]f=Kp%pkPGYRgH,%VOeBc.O^qI4c -\A?J@dDNT/_9'^/aO8Aac+q$,`n9D8h9`mE\@/H:Ye\?,f@ea*f@&:$cH+2Xf>l4dbgG%g^<4^E -dG3U@nEo,QYdDU(c+g?[[^s/g_p6NMa1/1O\?ifb`5&so\%'?%f\>-.ak=nXbL=pNcH!fEcd'n[ -bhM48f$DLX^q$>"Wk$*`U7e0V[)'\jV3[45S9V'IVOG!%_niX`ZEq!S^9PAh_Tg0GbK%2t -Z+@iTXK&>$V4TU_@LmP'K^V7.UVkTl]W2HSp_8jO+]>_e$ZEpdB^::;I[]ZmFZELH" -Wj0F\\[&f]]!SZL\[8]PZa?^+T9kY(T:;XVXgPaMZ+.j)f?V7K_6L/IXeh_k\%&TObL"GP]t1PG -TW>E2ak,"idXT08TVf#qUn=NbV44WgZ`'q5U7%LLVkgT-Z)u*qf[S!R\A-G9_o9d3W1B`\Wj9(? -Xf8M+Z)sXkX0Tdec-sY6TVJ-IKS>P[Y,]I\`43.sg!$tHcG@$%]=>#EWjKLZbL"ba[\^FKXd6)q -]"+uAZ,";o^:Lh^ZECR8WN9.)ZFe/n\A$8>eD'?Zqq/EhYGSb:[(ODgSrf8F\[8E9X160lcdg\' -g!@ICZb4;eSNaiDBJqLSZts,m>3~> -jSokhmd96+o(2SKo^_A7m-X91nF$2Crpg!Yrpp6anF5oEmKE.PnaQ#HmK`7Mn*]Z6nacMEs6U-\ -n*ol;o'u5o()>@n*TQ4o(;VKp@RtJo'u8>nF->Drp:6do(;VJoC259 -mdTc:nF5oFnG_kimd9K6p%J%Lnb)PFnac8@n+-&>r:'aXrpg-^o_&1R'_1Y[mIBiBo^VD?o(2>@ -p%@hCnFHSKrq&_OnF,c4nFH/?n*oln*KH4nauMDmdBQ0 -naQ#9nFH5FqtBRLoC__Cn*ff:oCMPPn3HO4lf[Bml07L!n+6;NnaPu6mI'H5n*BnFH/Lo.BP%lKda+s8V`Wlg=**m-O63mdTi=nF#i? -p[dqEo(;VHq"=7JnFH;IoC;;l:rV5sPn+6;MnF-AH)t*4dq"ashp\":Oo^D5:nF,l;n*B?-lK.C-kl0`G -m.UDX-2I&okOAEFn)rg"p%eITp%@e>mIpJXq"!qBm-jZEp$Ci(mIgAUr'a`nicI7 -q"F(Sm.:)Np@S%Ur:omOn+?DGn,DZ'mHa$(lgslDqZ$Qmq"adWnabu/lgF<4mI'QBq=jIM -n*ol=p%S+Lo(W"[mKW4SoBtl-oD\amr:/k1p&>!kq02c+lg!p1p%eRTnG)_Hp%Rb7lL!s-q#:0V -n+H>Eo_%eLrr;]_p%\4ZqtKgZq=sXOoCD;:p&4mgmca$-o_nghs8)Qbme?8Al0S$3l0\99md'6- -o(DYEnFZYWq9pWnGE7crqZQn/c,/2n*]/mj6#n1q!mqAlLFlN -naQ/Bn)r]ik552Ymc!3ln*'$(n+$5LmcO0?s*sb&i8O"klg+!$n*TQ7qYKs[nac8=l0.O&l14<, -lg4$1lK.'qs8W#clh(#Gm-OQJs8;?Uq"F1BkjJ$.lh'rBmd'B8oD8L_qsj+Ko]kiAqYKjNm-sN2 -nF,Z'jQZ.*s8W)flg!g-s8Vo]kNVL,m,R:'r:91Cr:f[HmIC5IGQ%I>s7,IFki_0on+cJErVHEc -nE]?)lKS$Bqn+ZYI -j7WBIoC;/3p@[h;mI'91rVbsDnEfH.mI0H6s8Vo^m-*^&p@n(?k^VUWo(MkPp%.qHlKn$3na5>t -q"3S7s8V]`o'5E+q#C!Qkj.g4p@S1Sm.^29nau&3lfRL1s7?3TiTpIBrq5aFo(;,)mI9Zn*fi:md9N7pA"+JoBto5q>L0frqc*JmIBcIs7tsIo^k`No'5E(nF#N0 -oChhJo()2;na5N1rV5^Fm.UJZp[n:SrUK+Gs7YdMmeZt_n*TZ@q"=1GnF?)Bp\t0`lg=3)k32.! -na5T2rVcbGp$VVTs8;QXmd]i?o]bW?s7512o(;56p%%G4kNV3nm.9rBp[rV-!T -pA+1Go'Pf3n+$8SrU]pUlgsi=lL*d#lfmj1mcE[2na$)Aiq!-LqC9mrVH3Pj6Q=/oC)_Po_/"Fl0S9@mcs]Ls7,=Jqss.ApAb0eo_%M0 -lgaZ6mJHnSmdg&@m-^Ki -m-!^$m/-h_qsnb`@amH!g0p%7hFmd9B*kl:\Mlg"NKqXa.>l0.C'q"*e9 -mHacB#kRQKkO7^!o)/Le+o_B7oBtr6rVuoinFZ86nc/=Omdor4l0\'-m.C#Bn*^)Ps*jG&o'l;? -nFukTmcEmdp)Ls8;osrT;npo)7n:l1=fNr;H-`s8W)hkN_.#k4eoSrr<#ss8W#dn+QSW -s%E1Yp\t3kpAY*kp$_/4mdg,?j6HOAp\+RYk3`-Is8MWVnb)PSoB,N9mHFEBk3_?io(;VGmdp;M -mdKrLs7GRHqXa%Kr;#aAli-n`#5Rcfqrr2uqrr3E$rVuclrquHUk2PXu -rVmunalYVrs8MpoCVbIq"OR_s"j*.lhg_^q=s^Z -qYL!VkN_mCs6BO^q!\7]o_\[cnale\rq>gJo(r:\p#u5Os81m@nFuq^$2F,^l2(2Ps5r>>s8MpP -qZ$Hflh'uCrr)lsqsin4meQVNp%eXep$:f7qtgsj5o^snbW:aoBcJV!;ZWo)#a1& -o^qnHm.]u2mJQqZp[7A?p?qDIs7lQm*:iUrqL3]oBPT5r;Q`q -s7u9_p?CYtkNq^/o_\[fp&4pjp$MMGnF6)DpA+UcrV,pRo_J=_s8M``p@7D?p@[qHqu?W_o(VnJ -m.UDX1A'u(o^DSTqY'aXo(MnUr;ZfkrVu-JnFl\LmHjW:l0nHGqtp*]n*p8TrVuNYm.'] -kPl:mm+K"GQ@sg1Jqf2? -M2[@IJqJ`/Jc:6eJ:;rqH[L9mJ:DurIt3'!IXQ]qJV/Z4MN!pmS!B"oO,epEIt<3%JVJl7LkC2, -I)7MN!FMNKTE` -M>i80K`R'ere:W6NKK3[N/[arH]<]2K8,8@L4Xi(K7nf*I=6a&M26k;L5UkEN0'3bN/E4HQ^F&# -MhH_8KnY24KS>AFO-H*'QApc`Nfom#Pa.PuNe`:=JU`3&M2[CML4Y)1K8G\PMLpeHN/NIEJ:N?, -K8,>IQC+,,O,SsSO-5uuNf/gTOcbERL)bu%JV/fIStr-NR@'5'O,T'XN/N[RLl@IWN0U.:Pn]UV -VmWLfB6Lln9sObnpWS"ZSURVA+OQCt4^WM?2\TVJH`T9k_'PEhDsOH>TdO-cN8Vl$)QPE1QZ -O,\mIN0p96T9Y=fK8#,:LlIn&Xeq\VQ&UBKNfoEYLPh@iU6pmpJq&<'NL6B3Xgu-UZ)t(-U8t`+ -VP^/dT9ke,8s>ijQCF%mJpi*,S><'[VP9H=M2R=YU7@-tJ;T/9 -Ll%"PO,/ILSYM^=OGo3\M2R4>IsZNmJq/<"rd[FlQ(O@sK7el5KS,)CT;&HkSWJkhMhm+@KSPGE -P*(`\KnP,5LQ7UaP`gu\M1:;EMhI%TURdX+K7eo9M3!dXKSGAGODC>YS=-(MXdbN4LkUG5LPC5( -K8"u5N/<:FOdDZ:Z+@KSZ`U.&Vj3gNXf@tSKq"[)P_k9dW331rR?*,SIsuluNMO2+`j)YFVk933 -M2$\7J:W9%It!!,Pa%;kP*_JtMhH_=NfAsQM2D4hFHMZTUnk-"Yc4:gSWSqmL4Y,:NJrdSNffB^ -Mi*CKMiEdXMM6\%Sstt$OGf$MKT1nENhDo4 -R[&njKnY>GTs2,u -P*1$`USalZQ&^`[Nh<;HQ'%B%Ruro0V3ZpnN0'9gR\6:@Ll@[pUR@."QDq0jV5U5[US+0CMhQnD -N/<@LR%B\+VmVONa-Mi*k$ZDX1XO,T-cR$3SjJVK,FO,JaGM1L&' -KSP>#MN!k#V3@RYYb@hbR$F/;XIkc9MN!X]R%pRSZETstVOA;KoCtHLk^_DNJ*+DKnP>IR?sG7Q]-ZTNKL*>Sro?UR7.+ -Q&LQULl@CWP+StqahtTcS!otGVPBiWSsPe-LPV_,S@LPgtDKo1kZS!/nkOJAMBQBe,9R\$4C -PE1ruTV/0c[CDp#Y+MAaYI;-bd+6ghZ`'h+\%]YiXLGdG\$MHiS=uO>OHP`nSt`']X/Mu%[CNoN -SY)R]['-mIZEUpOZF%3KUnkH0[]#ahWNj7Oaj%K)YFCE5PA$,Q\@JZ)N/jBtQ(+qZ^=(HE]>V_" -TT5(nM2dq%WM,uf^UU)0S=5h1NJNRh\\H/9f#,,#R>[&gP)tm0WMZViS!KJ?VOX-X_RZG,U849A -OIE)HR$F)#LldphNK'?pO,/aTMMHt.Ll..PPF82IX/MkiYH+LqW2H,FPbb%GXL5!pXeV2ALkgkL -NMs7^T!?#n]P`hN;ZbX`0cH!]1WO9jn -_76qROc5]t]=khQO,8OBL5LnIk1TV\W_P`^uhSu/3ELlda^OcTL%=-/H)ZaZU"Tsh5) -RuiPeO-HB=U6q(&MNO$aQ^Eu%Tq.aR[^j/f[&p-mOc,9nZ`U$tVOs*?WLT?CStDLEWNWA(['m3< -Wk6*h^S[QmR$Wr"SY`0VTmrrF]>Mb.[]RHe]Wf*$fYjb_SYN'WRZsJS_R6JR]ssf*Q]R2pTTtb1 -W4'+3R[/hoOHZWR`6Q!#YcaakS!p"?VmaFgf[/O+]V(@NTrXNBPFnn][_B2ibf%)iP`^itWP?cj -[D0u'_niCKZbjZ&a1f!l^;@Uq`6c`K_ROutX/iD"RA7:4]=>JTR$O\[_83[k]Y(Y`WLK]gX0'7U -YI:U0YcO^kQC=_RY-u6hc,$j'a2#:,b/_3']?]^VIOoZ*(UIZ*M$W\AQ8,_m?VZ^:LYNV4!F2V7jdd -a2_o6^q-kke'lFT_Ss:#[Bm3F[(!WLZbsf)c,mN'Wij"L_pmDhccj#!Up%G=YH>1C[&LUC\>umR -\#l^9X/`hQ`l6BZiSi5!\%C;Cbfe8EVOjikZaRBR[^3HO]Y(GO\%'W*f&5&hWrB&>R@'J/h9ELObItC!^q6kU\AQP7aiDTG[B.'[YaqYkZ*q!CZFI`f`5g$Eai1uuXLH*da3DZ>_9pod -gZ@>VdD3o>X0\e=bK@E#VkgZ.]"#/W^;e4:bg+_jdDif1b1Fh>VQ[58ajSUcb-n1DW2ZetZ+@fm -_7me'^:UtXUS+Ws`6[)rd`g+fe&JPqXJiG?]tVe=_o'aFaMPdAe&8](['$R?^qmIhaNqrSeC`,^`P]dK2[&Tgk -T>&=\]",,N]A`PRk3;$bhrX+jr.4m!s.'+>~> -kPkh\iQ8'ZHXKrWr`9&##?4]+>[(?4$=T_i,<)`]m"BSW(<)`co#?4W#;H$OpmF_F@Us(_A7GOHs'kt;!b>\Er`gCJ?XR2I?XR8K?XR8M@qB:dBk_3lAn>L`@q0!H@K'XFA7]Ce -BP(a`?t!PUA7K+YrF>h9'4G?\B523rBP)!nB4bdhAn5IaAGfs;B)Z?CAnPfUB3f+[@q'%aCM@Bk -Anl@,F*;VBCM[d$BkM*mB4YR^?t!PVARo7[A7]=_@q&nXAnc1*GC#"$MLThnG'%J1@qB4]A8,^m -CM%'d@UDJsN:GB[h:AR]+W?t*JI>@:rL -@U`q]A7B4iDf9rRKS5;HM0X5kIX6*VE,9?-DJj9+BkV$hB5%6X.r96HHB4,jnB4YRaDK'W9DesB7EH68MI=-9` -E-m:lJp_ZWC2%HtB4b^hG'eXfLPpk9IY36(M1g8'I=$0YDJa6,CMn39Ec,W)Chmg*GBe+AF*)MF -E,BB(D/!^#Ed3(eLP1/)GBA%SJphiaFEW"XIr]LKEH#`4FG5X8NeW4=H[BpUEc>r8EH?,CH@1$l -PD=pMM2mmqW2#c>Jp26^Kn4JfE-d.pN.ctAK7JZ:R@p"5Q'@JuS=,CiH?a[^I!^-dIXQX!Ng6#u -NeMt/F*DnRDf'WLLl6n3E+im#Df9TF`VYHF)lMULOjSc -B5;BtC3OrUJU`,lEd<=pMia$YLP_+DHus4>B4bk"MNEO>J:MusKR7TK?t+,/NrG2kNJ2b'GBeUr -KlqBPGB7V>Df0]=CMA!INJ`:8G'S=QFE;&*@UN_ZARf7]@q0;#K6h?JCMds,D/t#cQ(=G$G][e? -CM@ErCijiFGB@eBDJjB5G^Y$iI!0LOBlecNFFT.5OG.q"DfKo@H$aUMD01&KKoV%KPFeA'I.]Df'Q?F)Z5NM34:+Z*:=+SWo8#J;BDVQAKs,KntS;GBo"1SJUMlnK7J;hC1h=(H$adZG'A.RI!pj7PF\VHS!&kkIWosQCMn08 -FE2GHJU`)oH$4?NFa&+VFDu/>GA1f0Ed)_MEH->\N/E+(Bm5B"QY)53K8+\qGC>4'OHbZf\R@02'URR+)WNWJ4ZE:+/YcX[mV5K];J9uHa -C2%L#IX$BiEcZ8BIuK;7H@10fF`_nVM2mRDE-6YaJVT>OR%g@EPbPOlWhu8NK&LBP*:QBFEi1bKoM7VL3%EbMi`dIItj>aS!BA+ -Mis-ZK6D0PF)u;>FbG^4KUo3HW2orrBs=S'NJ`F@OJ8nPUSjQ>K6_Q[JsiF(OGSI5H%:R!IsZ'O -G'\IYEc?&6AS5apD0(&\S=#%pVkfTCP)>$QQ^itbH$XpmLPqCaP+nV3R$ihgJTc6mO,0p`a0DM5L3A'"Kp]-NTS@]:KSP,9 -St`X=cb@!-^TEQEH?aLXLR4BjNL[)KP`LodN/)h(HC(nK`7EDPZCZelF*`+WI\3-uS!JqdM3jKf -N1dS^Q\Ucg8;MeFKoqRNItW,jIXurhFF]!gEcueRF)lDIH$t7#Q(FVR?sA0NI?PHQ'%c@ -Sr]\8Mh-5%I"?m?W0i^BZ)a4FH?s4LHAJ5nR"fp4I"R99MM-;!Mj]Q^Jo5LHCiX6.G_:a'JrQG( -]Z87=_nFKS#/C -Jq8f=KR.rhJVTJ`SY`NYS#W3h]uJCMeA@r>PaIYdJ:)m+P`1$3I=?ZnH?XUY -H$Oh0VN?q'V4j?=KR\DuJ;oeQK7A;qJ:N6-N/3@XQ'@rCYI1d9R?*/UItj>iUR@C8PD4s]KRJE/ -NfK?sVkTrdWcb&,T=M_QY`jftKSY>=Pae##N0U*:Zb!QCU:S(IY.iTD_k<9WQCF5&M3kBVXJDu* -Ya(0)KRo2LMMI+XVlH;NN-KbuJ=3LNa0hqGUQgUjM4'd,ZbF]8ced*YQ@aXGPCIt3PbP7d\[&ue -\ZM6RK7TAUGHSceYIMQ_]t:56W3s@Z_mlkQ[(*NL^s:3Ia1JCHV5U#PT#Q -[BR0;h]sbr&aM#!ncJRC0`kBI2\@o\ra2>j1[ATCb -U7\6UR[pRm]*k[!H]ir1Mi`^LSuo<7ai_lE]=PYh]"#A`_T'O.]tqe._m[D% -`mDlB_T^E_jlP:EaLn^ZZEggMb1,2$f[A*qf$hg^bLG1Yce$Okg=ONc_S*n;f@o0Ae&K5DbgOnP -YdD!N\%]](bg"GK['mo`]u.b%[&p@:`REPrgih8pe]G_Lc-=JU_Ss@-ai;EOf?qXT]t:bXQ("D? -WOKssgY1)r_7d=daNi5jkgmMWZ+e2k\@B,^\[\rDTV]9HbdG@3Vi[45Y/JZ-]t_\8_n*"KVlHf! -ZDkCR`42A0UoCMuVk'3BQ)^pl]r%OD^<+C+\p;!)`4rpe\\>Vo`QQB?\#cU6\$2m2XK\k%QB7Z1 -T:h^=RB=B<[^2]tPED<3[(sPdU7nj2aM"[?JqAoEPa\GLW0NmHY*PTCPa.rNbhq@)\tPUi['H?q -V5Ti?M3OI0b0J5JXe)MuX.#'+OH5H\M4D/l[(FH%F2Yf2\tkppUm@FIWh5]U[_KVi_8Npn^r+-q -U7IBpFaAe+XMVr`WiE%oV6.,0Wi*YQ`P'.3`ji=^ZEgm?WjSt)X1GpQ[B-@6[&gIB]sbboa2+p[ -[^rfHV4X$3O.3;Y[^a,j_nE@md*]nI^;7FgZ2LhKZF$R7_T0dA`3H>7V7!qPeCi6obIa[FWO&\% -TrPB!UU782UStc+Unk&fUU@kK^eCDmb]=P\QSu/p.`QZHOioSP'^r*pr\Z`0G^:hJ+c,IB5]W7ftSt_sQTr4rqVldV@ -SWoY4Pa%K%R%'eWZ)an*ZF[`f`ko3l['-7,XJr"nYHtL-V5gP6U7S6i`6?6.VPKrUUo^SqY-5(D -db34/e$l`kR?sG@XK&1nUmRF?Y-tmS]Y:nd`Q#d3Um[R8g>:ugJcC<$SH"*~> -j8Thfp$2&:o(DbMna5W+lKmp,md]i:rpKpXnaQPJrpg'\rU9dSs6]jV!:TjR#P%H!qc*SrpV*$o(DYHo()DFp@@bCn*]W2mIKrDo^M;; -naZ&9oCMD;meuYTnc//5nF#`5naZ,;n+$#Ao^hVAo'u5l:nal>= -mI'K1rpTdS$M3iZoCV\GnF,f7rpgcnnFQ5?mHE]smdBK-lL+68p@Ib=rp:?gp[[\8mIKf:nauDA -m-jQ;m-FZ<8+c`UmcX!/p@n4Mn*oc8o(2GAn*ff:oCVYGn*99&lMUYOl07O#mHs9.n*TT9p\!tC -oC_bGn+-)Bo_.nGmd0B2o(;MAmJcP]o'c);o_A4Tna>oGo7$2tme$8LqXj1CoCheGnaQ#6l/V.% -o_/"Jlg4$-mdKW9o'u/9nFH/;lg464nbMe>k3_^/n*]c;nb;nXr:ogKlL+00o(r:YmHsK?q"F7K -oChhGnFH2DpA"FZqY'FInbMhGmdKc?p[7VFo^_MBo'l,FrU91Lp\".Jn,MfUn*ooqs`k6m.gMRoCDARCl1490o)&C^oCi1YAG#E]nb`=_o^D;>nF6,FoCM\NpZCT!kk"`NqsX%?k2kjtp@nRdqX*D0 -oCMn[s7u9[qt9URp%IqEo'Po6mdKcDr:KOHlgF<;q"+(InaQ&L?nq>^I2rr<#km-4!1o^V>8nFcA=mHa60kjJBH -rr6*smcs<5p\Ojcp@\=_qtBODlKmp(mf3=]mITuuGp$h\Ns8W#ioCDSJoC_hLo'uDHme6PMnFc\Yp[mqDnF,r@p[IP9 -md0<2oCDGAl/_1+qXa1Cn*fiAnG*"_#lF&Op%J"DkO/?L$iBP`mdg,Mo^_J0sWo^;8?m-O0&kNM7$nF#f>o_%eF -nF5uapp[dnHqu-<[oCqt\o(;n[s$6;GmHa'/s8)coqt'+DmHa$)p@e(Mr:B=? -l0\'9p@%J>pAFgWiooXlmIU)Ir;Qo)ARe')q[iio9(irqcQem,mU( -o'c#5rTP!Yl1FfGm,6dep$hA7mdg)EoCW"\rtbV%fB(rRnb)q^p?V,Uoo^qbOrr5^`m-a9,lfds6n+Qe]p[mtGoC2JJn+6&Brqu?[s7PsTp\amX -l0.Bsl0@m9qu-K_jm)1#o`+sin)rs'mI9?&mdfr?p\OXPlKe!5qYpL&rpK+?kNM4$r;ZK_rr4AB -oC),9lgjoMo&o*"nal/?s8VfZna>u9l0Ip1lf%+'s8W#_iTp==s&f9rnbi=^q!m\0dTr;H6Qlg!d0s8V`]p\+:Qo^DAGs8W#akNM7)s8Vr_l0%O1rVH3XnF>l0lgsiCmc*[4 -p?_VTs75^KmI'ZHru:Ron+QGDlg!m%p\!\:mH3a(lLFoSqXih&kPbD[2tlh:pZLN&o(;k[s7#CL -o^r1`q%jm2jBo'uAEpA+=MmI'K:p[@_GnEfT:r:Kd]q!m\8li$iWoDS^hq=O1Al0Rm,p\k-l -rUo[Hp](6XlgXB1mI0fHp@.qYs8DBLq>^0Vp$D>Kn`T-'rr2]_nFcVQo^r1`p$hJ:kNVC%n*o`0 -q#(/$o^DMQs8W#bkj7L'pZq;Js7PI:q>KgLnaGl2l0[s1qZ$Tep\t*coB=rip&"4Hr;QK^q"sXN -o'bu7o_SUeq"3t?n+?/5kjI^&kih^>s7GOIme-VZlKeKMq!mV1n*9HAmm$=4pAb-[m-Es3oC2JK -q"44Ws8)`lmcj-1pA=ORo^qbKr:9=Fo^hS?lgjlIp[dhDs8ViXkOeH:o]kZ(kN;d,%/9f%q<72F -o],?3qY^dXs7lTjmd0QCrV#gUnFu_Mnb)\PnFcMPs7l'SlM1/Hrr;c\oD8:W -rV,aJq"adYnFc\Wrr6p8na5c0mIKW+nGiOdp[7G=mcj6Z-o(DV>o'GuGr:0+TrpfRQm,dR&rV#jW -q"!qGnaQ$KoCVS@n*BK=rqc0Ro)%tEqZ$Tnna68Op&4p_lhC)Is8Vlfpuh>MoB5rLs7GaFmI0Q@ -s8VudlK[j9s8;NWlK%I7qtTjIn*oQ2lL=93nE]<*n*p/Prri8mo%<.(rsSbrn*06"qYL3\n*g8D -#Oq*Fl0Id.rVlg+q<@>p%\Obs%r:PnaPo3o)/OaoBPc9 -oCi4ao^`%^pZh>Ls7u'JkjeKBnF#fGs826Tq>BaPp\Xdds7YmQqY0^UoCMA=j5fn5rr;`ao(2A8 -l1"E9o(MbSrsnb_hWjq:m,dC!p\OpioDS\$p[.D4m,7XL'pf)t`atrVQ9Yo_%kLp[mq==qZ$*YlJgUZmf*5N -pZ^o+m-j2skkY8UlJq7&r;Zfrr:B.@rVc6KjmN$DoB5K?s7>j\q(!h&FJrcs7#LPqsrb(jT#/Squ6Tp'^tnur:04Fp%ItFnb)\Np\O=Ip\Fggs6g*UmeZk\r;R0" -mI9uGnEB$$oCVSPrsnAcs8Vfip?:W1rVQH`p\t0pp[%5DrVmQ)j5K1enFQ;Ep%7bEs8Vrms8)Wk -s$lVPs7cHVjPf>&rVu`]jn/TQp?qeTo'GrC0aoD/FQjR<'FqYpC-^n+c;6o)/I_q"44In,<:bs7u6blN-AHrr3`2q"=1CjnJ`HnFZDHrU]OFl0nBAn,E=qoB,&o -kk=oLo^V88q#(-qrpoRGnb7V7JcD5>J,~> -k5Q7ll.!AFM1^5&H$FU[G^=^aH$==MF`qp,F96T.FoHR`G5umdFT6F^ErU:_FSp1bG'.kHEccJL -q/lXZrc\9b#C1QK7nf- -L4k;8J:;usHN&?jIL(LTJ:W<(J:<%JJcC36IXQd$LP:D9Mi`aJIt3*(LPUY7I/\I*J:rDtG'\O_ -H@(0mIXZp-Mhm>kO;O=WRu`>^O-#BZKnY>=M26q?J:N&tJqSjWL1Q$qKSl:lP)>-TN/NIGL51D8 -M2mONM2dRTLP:J1JqJuBPF8&8J!uR_PE(]oRurenNf/XFK7\Q*LQ%7PLP184K7o,FQB?rX -N/s!TK7AE'JqJrDQ^O2*OcPQ_MN*adP`L`]O-,Q\M2I.DK8#/EPb=_6P+%f(PE1]\Mi*ITOcb`e -Q(4\;QBmf(TrP<"V4$VO*[9RA$X\UlUIiJq8T6 -P*V]9TpCn0Tq/![W1TEDS!&knO,SjJL44PuI=?d)NJ3(=Ko2"YS=#V)N/,I"mu[Unj]UQB$i] -N0gKS>IYO#NO,AjJLl$b:KRA/mH@LKqI"$HkIY5HQ(k4H -OGnpOLkg\;L5LtRP)bBPJqSl9Ng,flNf&RJJV]DCJr#>OP)G!DIt30*Ll$qALPq7OQCOA2U8b&T -MhQh:J:WB.JUiE0M2RCOM2[RZP+Jk^X.u8SQ^;lcS#3L#Yb@,3Q'RVlL5hh1Yc4+PKReQ&H@CI' -S$KoOYGRkYP`:NWKS"]&I=Hg"IY!?>P`h2oTqIm;LP(DCRZW>UKSYJALlIn#Uo1,ZQ]@2lNK&sQ -KnP2:LkUVBM2-k@LPL\AKo1nJJUiK8JUi?,MMck:JV9)OR[0"fI>!ZPTp^t&Q&LZ`S>AQB7>sPDk6M -L7PihVO43^WhPuEL4b;DQD_!t[&'%CJWch"MMm[]Ocbs$URmpM['$U.U:.h@V50HHTTtCqPbk.G -QBdo1Ssc"CW1'!:Nr=iaMiNp`WOBag`j_n9R%:4\Wh5]INKf]bNN0=UQ(=qTQ]I5eM2-qLQCOkX -Z)=_6\@8iER\?pfSXH.ER?El(Nf/pVMNF4$Xg"t.Tq8$XV3mF/M26qCS@#`%MiX!l[]l9kXK@hL -L4YJDMhQ_4J:`ZDVQQ\jUnb)mWjKG=^+-tVld>4Z*g^0W49LNYH"e8]Yqe0^9+6)Q&^ugOI`\aWh>Q9P*1in -Y-c!oe69`$^V."DMiX!YN0gB9SXc[bWgSp7PED)iLQ8.H`l$9UaMtBUP)YK_MhdgnU8b#ZPa%Q+ -SY<:"Z(%,OURma8S>Dg;O-Y`ZN0'TpOctrbLPgnCMN3aXN^&VcPb=nLT:i!^US"Tr[&0:XV50ZY -Vj`a=R%'hDR[K\,Ts1GcYIgs+NeN1CMjL9EW1&^#M3Xa'Q'$rVN0O=(DLmOsIY<6,LlIOYO-cWK -`6m)\ahbW_X2<3#\ZhckOIM]L]=Xl*NeW4BN/isWO-ZHC`6cuHWiiM,XeN&.U5Xe^OI)N/PEhf7 -Q^FPHQ%asOP+/>AXhgp1[&h6ifA>H>a/bAgSstt0OcuH2BU=sNSu\lXP`_0#URm[,P`gu^KnkPH -OcPU+Z^dV\ZE9mhOcu?5Wj/k0TU1[qMjK`pS!]V?StiU%[C3E=R$a>4R$F,7SsPe6R#dH'QC"/9 -S!g.a\ZW$@[BHgE_T:-DWLf`MPa$WdVlctqVn0mc_TBa(YeS&dYeScA`i#>pU8b#aTr,B;\$!'K -\Y,C^St)XXUnXrrYGe.`Q%tcHXGN`OW1Y^:o!,a4/M[_R$DIZF$L"XN&Z)\$;TeQ)VF0\$!'Q -`5'?tT;&E`UU.bE[A]q#Su.m>R&70u^;dn(\$ENtYI;9_[]$7:]!JWPbL+26WgfZUTUVICR#R0'Zamri>eRq]\%]o)_7-bV[CNrb_SsU0_7%%n -^WOU4ajSbohV?`-ahP3h^;@\&b1#)"gt0lob/V-/aO/D[gY^Q-da?1M]XYf-g""g(bK.iLbKne_ -^qmmu\%TQ&dEtG1`k&k(]">_q_76\N\&QqOg"=p,bf7N>ai_]H`5&gk`Q#m@b/:m%]=tndUT(Ao -W3se&j5J\9_nWt'eD9*HmG,at]tJ^&[^X&k`4NUjYcP+FcHQf_lp#8WN`@o -UTh)(Q][l=\'<:C`OMhGZEBa^O-lcASsZIud)3rVe&BSX`Nunc^TjB,UR%1B\%TJlcH3N#]Y_Us -W1T?2L5_Ck^"1]N]>;1fZFRZ[['@?cbfe1Ibe^Zm\@/fPX0BRIVlm\L`PAj[Xfnk1[CNipcd9S4 -YeS/k]t:YFO,oaHa3)ZQc,dl:aO/5M_oBj@_7I+c\@&QCTr5?4a3Vu9Yc=n?^rG!\g"+H]XK8tA -['-U:\$N*CZF$O8bJCZtZD=:%\]2e@gZ7\ehp0*Qe(<$qc*s:3St`-_X/i>(WN3PB[^Wr_b1#2& -agA:^Xg"CaQ_(_#cHX,5`nT+b^<+L1[CNfQ]u&"Bd)EQ&aMP3_[^`KBXKf7I]t1Y[]=UtTa3rPg -c*jUQ_9gBF`Q?3Ddb3@0i8!ADcdg%;W27>YaLo'hW4'CV_S3[s_og^:(Pc\ZNJ`[("#sa2t]frh;?HY.V0MZE0t!Rus21P`M&oQ(=,# -N/NgdR[Le(];_0\Q(5"e\$N64V7,(;h::'$_SO+2fAu^Xs+13@s*t~> -k5P\Sh8QIYAm/77<=Dr0[(E7=]\Z'<$+m1 -r`o8)&Rf-YA7T1Z@:E\UA7]@bA7/^B>QeA??s[1k:s'Z=D@V0=iCM@HtBOt^cral4EAn:mN-"LS#B4b^dAnYmkAn>L_@q&n[ -C27Np@q97kDfBfEB -?t!\[A7K?QE#X+QIt!*0LO!l\G^=UVE,BN3E,]Z0BOt[bAn_-W*,BP2Ee]F"G'%kKEc>l2Ci+*5 -G]n"GFEV_BCM`ue?ZC"#C2@d-F*MkOFa&+VGAhA:EccDCCh@?pBkLsd@VTh&F`MA?G^Oj`G^":N -Df'ZGIXllkE,KK,BOt^bBQ\ZPL5h1MKnG/3Jr>D1GBS1QEGf]4CN"6:GB.P7BDu^nEHutWDJjN> -G&_>5CMR[$F*`:gK7\W'I<]jUG_(6dFEMhSHZF4OF`D>>G("q"N.-,)J:)ZbEc>o6Ed)eUH[^X. -Q]-fYLl.@`T:V7'JTYgPJq\VoEHd%pObSXHK7ST.NKfWfNJrs_Q(!hiIskqTTk4^F_tl0FF8:TGC>*rG]%D7Ci=HGMjgHE\\>\^ -Y,.bWT;%^8P)klgMMR7NL4+Z,LPLS8JV&i=LO=2dFE;PMIt365Q'I/]LPh:cS<8#9D/*f0E-d+i -Ng,TWIY*K4N0B?YJ:E2uG^"CUDf'<#@UWVOA8?,_BhE8aH\7*+JUVoiG^Y*mI=?d#Isug"Kn+Ak -H['L[N0B6TJU;HPB4kdfCj1AQC2%KsBPV-mBQ&-@G_D6ZYHF^iPa%Q3W1f/qEW'ogEH?>PH?!\2 -CMRHqH@1[1LjjD`FaSk"O,\sNNKf6LF_k`'A7p1MQ\g3FK6_WdEG&fh?>4hCN/WXMJTl0YG(>a7 -GAM);De`uuASuEt@;C+8H#dtCDfKQ/CLL[Y?XdPT@/XM"B6f/WBkM!hAnYppEJ'%/QA0X)CMdj% -BkhI)GBnFUE,KK0E-->QIXQH_Df]]9I!0RXIZ&l-FDbo4E,KZ9DJjoAF*DYTLkgeLSXG%OD/*Zl -@:X%_A8?4-H@C'[H@^^'PbtCOQB-iSJqo)BSY2F.H#8%]I<]g\O.Vo*Km%9EB4tdfD0Li1ZacHc -LkL5#FE;>8An>F^AS5XlFaemjI=I34KQqBKCNG8^G&_MEG'7tPLm!jbQ\gNIJUmoKGBRj&CAr-M -EHcVMF`MSEF)u;CG]dk>EdDM9CN"<9EGTT=JqJStD.dd6LPpb/G^adWHARfJOcb3IMi)n0IWK@D -DfBlKJq8]>Oc>-MKn4o4Kn"Q&M2[mgrf%>CI<'@MG&qkYNK]Q]rdH)?LQddgPE1HGKQqBHCNO`@ -HA6utFDku3CMn2d>HY@#0FEMePEI*J.V5BWZXg+puOGJR;H%q`UP`0s. -Df'-!C27[.I$(MNcc`O;V/Ne;e=StMF9TU1FnSuAm'Y+V)IR?NMoTr"> -H\?flDeWg#GB\.MEcQ5EH[YmBH@0gMCjV%pLl%.XS!ob9VRO+:SrIc=G^P1#PEguPIYE`?KR7od -FDu,6C2@dAMLg"sEGT]] -G&1u8F`25CKo1Y7UT^l(ZE^UAXdP'"IXZd0WO]%-X.YZ6IWK[bQ_U+3JU;WgL5^ndnQIsZ9U -D/uc@H$kF%H$4CTH\I'#H$FZ8H[^!WFE)/7Fa\O`Jq&#cEHI)7X-A=# -S!T1mJp2?^IY*ZLSst^hFE)hpNI#r'K7\]0OHkocQ)::NS!pLhVO!?rJr,#&JVKGPMhH_=N/WOI -PEq#WK7%oeF)l8CH@VNd^;RaeRuiYpSthg;MMm(DN.?STWKDpmR@&bYJ,ad6GBnaoNL-NEVl[>9 -[BHBjRAZjDN0TKWH$t3dF8gB4IYjDbVPToLOd2G^kC#L6.dm -Q(+86TpL\!Nh2l4WNN+hUT1;kWM5fR[_&rGU8>$$^VRgsU6^agH@CEtQ)LaTO+;P(IN*IM1^tTO-uT%M3X3e -R$WhjO+WanR?4/HU5snOG^4RfPFRqoI!9mkNf&I=H?4LlKReAaE,^8>Dea<8H@LBnLmG'Tc-X\U -_n;\D^ra6lUQpRcNJXR5X-\g"HZjLQEcQ/CJ;^).`6,E[UnaTRP+\b:I!'ddLPgn9I>Ef5L67gV -H$Y+#Pb+5;\XoCsWPcg*g"OumUkt"kMh6M,I>Nl6JqT,OR"^-AJVfGEIWU'dH#iq')KU+IGBoUL -MiNpmS)=3UUd\4Ssc+1R#Hl_SZ8j"]t(nbY.DE[[_9AaY-,C]g"Xup_9'[0^pgnf^qmalVNd:,R&-^T -WjoRCUSkT4Z)k=Scbd&dQ'@AjL5CkGIsmW\Z,"8m^fRqN\&$%t\$`WR\\,Sh_8NmtZFdofbfIH8 -dG!R@jPA)$\ZDg>]"Gl'eCiX5f[.jgah>=)b0%cXi7Z]8g!@CE[D(,Dg#(3#air&VdFcOP]Y:e] -]Y49fI)a2Gd$\&6/$b/V0'Z*L^?WK`gDT;&X5fAG?3 -`kB!r^X_3"kNgj?]tM%fZ*1RG\@8rOVkKus`l>Bu^nZpLOK6%8cHF8Kaj%W'U8G#mVl?`5`kJ^K -Trb;kQ]$TWQ'H!_\@fGSVnop__7I@u`luH:XgYdG^;.k.]XFu?V5^JnWNW\4U6L@uTU_O:Odrc$ -^ppPs0X/DMdY.:-uR$3f-Zc^tSa0)#$TrFr\SuJ]7SV_u^ -TWlM`aMPr7?^V.G$_nuRJZZF@9P^ragB`3H2>^bL>;(iooIggX+BaV4aNrcGd2rW1UK0]XkJT\%g,9f%Js?f>b&"^<=R+[(X#Y\\Z1rYb[e[ -US4E\\])\1_7R+^ZE^C#SZ9E[8dE]G.Vl$2`WiN5.Za%'bf[o*5 -]tCbGTr"m![8+$.XIblX[CE`X\@K&X`lc?BYG.MUR@9tVWi2bdSXGXqN/WF>L51PFLP12-KoM+O -YI1U-Ner^UTW"c^SWoG?fAtf:c,-imZG"K -ir9kklgjT7oChhImd'-$lK[g,oCDD>mdBQ5rpTmVrpfsUs6fpSs6g0Zm-O--n*g8D"7PaKnb)AL -mK)eGrp^Nfmd0B1n*oi:nac2>o'u/ImJlYRmeuVRmJu_TnGVeWnF?)HnItK`n*]T2nF?#:o'u8> -nF?&>n*g5Es6ojVs7??\mf)SVmdTc8n,;bUn,MeTn,DeYn+-#FnF,f4mI'H4nauMGn*]Z7nF#c: -o^D2Hmfr=OnaQ&p%J(OoC28;n+#r>o();8mHNp1qsNY1lgXNoD\@loC227mdBT7n*TQ5o'u5Kms=Qup\"(EnFQ8Bn*]W9p%eOZmI'ZIrqZ0Un*K<)mIBfB -q=Eq>mdBK/n+?8>m.'cBp%%bJq"++Tp?1N"mdTZ4o^hPFqYU-^md'0,nEoW:r;6-OoD\[]mdK]= -p@\%InF?2Do(MnRo(2YOoBtu3nF5u?pA"7Jmf)`klLk&@mJ6GLp@I_=m-X34p\!k>q#C6fn`Jlq -nG)nYp\".Dj6QL?q=3b:o(i1Uo^_M?mdKT5p\FFOpA+CWo^;&2m-X<8o^hY?kNqg9qtTaMmd9?0 -oC1u,nGE7cq![P:naGf1lL"KJs*jY.lL"05n+QeTmc`p)p%.\AnFQAFn+-5Lq"t'iqtKgXq"j[J -lLF?;o'Z/Js8)B^q>0mYo'u8Bp%%YDo^M,7p\X[SnF5i-kNM:+r;-'Omd03#kNhX/q#'sYmI0]7 -qZ$Thmd^#?n+$&Cn*fl=nF#`7p%S1RoC28CrVumVr:faLo(MkNmH*n*ff6nal_Zr:9CPrr3u7o_/:_p\F^VlKn'5naPr1lL+--nF6/ElgOZF -rr3>tl0Ij,nac>Gq>C6l:&=DDkj.X$o)Ja\l1+K8nFZ29o'u,:nauSLp%J"GlgjWCs8VcXlgaE0 -md'02p[$u*mHj$!m-=-7n+-2Do^D5 -oC;54l0Rm5p\=FNlg*p4nb)PBn+5uCp[n(Jo(;JCnF,omd9H(hs1.6lf@-jl0e*4q#:;CoBYW/nF#Q'nGiO_n*9-%me?\Uq=F%BpAFs[lf[Hql0Rj* -mdBK1n+$#;mdg)FnF6#Frr)TZlgOHBoBYQ$l0[s(lh(#Gp@[_AmI0T4n+,f-kO%j4nF6)AnF,i6 -nFH5Ao_%hDn+Q_EkiqO+n`o2tn+ZPJoC2&2lLFZEHgpImlfmm6s8;Q\lgt/VnEoc4kj%O&p%eCO -l0@d*lgOK=p%7hClKIU+nEB!%r;ZHSq>L6_o(i=crU]OHl/_+%o)JLXm-"'5lg4'2p%eRcp$_/1 -n+HJKo^MAArr;cZmHWp'p\OUWq=*P1nFcJHnDE=#qtpEgr;Q^3rq,UBiSa(uq#(0en+#u:mdfu; -m,RC1s!IL/l1FoRs8;NXlfI0lpA":No(_Y9nFubYs820BiofRdlgsuGp&4nHn*'!"o)/:]oBYZ+ -lgF?9nE]E1p\OpcoBbc*j6ZUAqVoC;55nFZ#8o_eahq=XLNlL+HG -p$V/2lKms5s8W#fo]t]1o()GMrVl?OlgZ/o_A4Wp[@A4o_e^nqs<_Bn*p#Ls"*g1rqcH` -nF?/Dn+?JQnEB'$me$&Ks8Vubo^2&0jQlO4m-&Op](3fs8Vo_kN;+/s8Vohs8VukoC)DMrr3,jj6>n%rr3c)m-40Bs82K[na>i4mI9]>o',uH -nbE+`"o%HHk4&3Gru:b'q>^3WlK%@"rVuQ]k2Pb&na?GWoBG8nmJQq_*W5s9l/V7*p\OpimcjB6 -mf!1Xna,8pmf3=[nFHDSrrr,amI'T?rph-#mdBZ>p%7kHnF,`/o`+sblh(,MoC;D@naH#^K\kj.O$mIL&FmHjZKrUf7:rVuT]p$D/C9mqt&q,k4ecAmeZtWme$;E -n,Dr@mdU5Uq==1=n+Z_Qn*BH3oBto;s8Vubm-4BHs7"t8q==+Fl1!p+n+-,Bn*]TCs6f4>mJ$&? -rr;uprr5(Rr:oaHn+Z_ZrqQ-Wnb2nRmHO$/oC;>Cq=aFNm-t&Trp8nAoBl&/lLOW -n,Mq@nG)nYs'#3^jQ,Lmp&G$^rVc3Qkj7Hup\aaTp@A+WoBYf8p$M57me62;o()_Rn,34ao'#c> -naPo4p@n@Yp\FacqY:*dm-3ZpmITl4kOABKrVc?Tmd'*,qu-?js(:olq"sjNj7E3?me$;Em-jcH -p$Ci5o'cAGm-j<@rU9acp&+.Hmca'4q!7&,p](9emHWj"mdTrHn`fE0p\=:Lq>L'Smdoi3naZYV -p%%YCnF?&>q#C?en*oQ/o_%\UC$qu?<^r:B%Ds8VNdm3V5k -o^_eSrqGgHo_e=FmIKW1q>9gWm.L#:p@S(JmdBK.naQ)Err30"q=i_*q>UC0qsjFOoB,oIs7H$W -nF,i8mHa32o_&([s!md+l0.U2pAb0_jlc1.qYTsOl1"62o`+s_m-sW8n+,]8s6AS9nGi=Yr;HXK -q!n.Mm-sK3p%ItHmI1)TqY0ROpA+=Jme$,@lg4!+n*]i;rr)9PiqWp%SF_o_8C`nalG;kP"fEnFQ/9 -mI9B(oChbHo'Z>Qrt#(sjQQ=;s7>R@nb)SOs7?3h*;]0pnEJp.s7Q<\kiD@5p@J(ZqXsLOmca-: -q=FRb0)+W#o_SLSjRW?Nq!m\2hX(1?s7u!FpAOsis6].FoC)DQqXs7QpYkr:oD&4]rr<#o$h3QZ -q=O=PmGZaVoD\bgoBl,@q"spPm.:5Vrq5gXoBGoIr:U$gs7G^Orr;`Zo)JagnF#N1p%\LcqXmcWg'oChtUp@@V4p\OFHk2l"#s8W)nmJ$PLoC28Is8VTJnc&FUl0%6rq>^^Kf -qsih.jR<*J#kI0HnF?&6k4&BM"74q2qu6UTqu$B_oDejdo'>`AqX<\>s8;Has7l*`s8DQ]rqc9T -p[R5'o_\@RqZ$K[p&G'en*]Q3nac2;p&4n'r;Zflo_8:\o^D>=n+$)Fp[dtSo`jaNs7bpMqYpL" -oC);Fq=F(LrVn&9kj\WPq>C9mp>OljrV?9fs8MrorVcTanFcVQqtg*^q>U3no',Q7q#:9to(MP= -oC_qWruLn(pAOUSm-![%naZAKq<@POs7ZB[j66:7pA+I[rVlrpnb<"^'D1MTioon'o'c#6k3;aB -rVuoqr;Q^aq==4Wq#0UCjmE*JrqGaDs8VoWmeHbSn*TK(pA4ghrU/b.s8MQWn`fB9n+?VZs8Dlm -q=F+KrVlN\md0KDs829RoD\F`r;Q]rqu$I/mc*=!r;6?iqXXF[s8W)moC;SNq"Xjg"7tR;o_e^u -rUTCMrVH3Xo(W%Vp\Fae&+JiPp\O^SmIgGTq>9gSqu-OJp&G!^p&Fp`s7"b%p@\%Qq#CBfnc/X^ -n+QPMoDJXfm-jN?r:faRqsNP8s8VfirVm`2md0WGqZ$9UnauSPqZ$Tns8M]al0e-6rp_<'l0@g< -s8Vofo^_YLqYL0jqX4.Yo^_kPqu$3[p](-\q>^?_nc&Omp%eO]mca9?s%3(ZoCM8?p\+FVp%[qK -r;Zfmqt':Ho_\[gqt9^Mkk>&VrVc6Wn+6SZqYpEfmc`m#nb)YNp@nF^n`TWDp$qkTqZ$9_na?#J -r;R0#lKI[+n,*%Zo]u)Hs8W',pZpu!jmMsEs8N#rrdk*#s.]OD~> -k5P\co'+T4NeMo\G7f(DH$amaH$=@PGB\1OF)uGGrcJ0_rc\6^s)\3\s)\HcEH-#?FEIM'"*A[. -G567YG5ZOaG'Eq1%sE):F*)MHF`qqPF`qtPF8g4[G5ZR^G5cUaG5c^aFoll4H2DgtH$Xa\GBeF\ -H?jmbH[:!bHiAEkIK+]lJH(0$I!bj="FGQGI!km@s*Xins*alq"+>]LIf=`rIXhLP())It<6)KS"`'IXcp#K7\W'It3-'JUi6!IXcm!Jq\r4J:E*% -L4k8;LOt$TJHg^WIsuirJ,XmXIsu`hI=?a"K7SK"I=?^!KnkMBN09BaLPq=\LkC>6KS"f2JqS]& -I"-TlH@(*kJ:DupIXm$$IslbCIij,fI!gO!L4t87NK]]PK7SW-KnkSCM2RCTNf8[DJq]&=LP(&+KS4l(I!gHsM2mFGLQJ-tP`CWUJUW0) -MNF0oQ&Uf_M1gA,IY*?7QCt(MTq7dCOcc0'O,SjOMM6_;K7AN/MiOQ&^NWP`giQ -I"$X"LlIO]Q'RJhMf"K5M2dggP`Lc^NK&mVO,o0OK8,8FNgZDsNgZ/tP`^o\Ll$tOQ^*VpTr4id -T9ke1Tr+c`S=#Y%K8>haQ]I#_Pa\54R$Nu"PE_?!StMO?StV^LT:D=9Q'./gMi*FNO.)oDWhu8K -Nf&UIIuB2;K8l@rTU:^qMMm=HM2RXr\A#DQS<]5"N/*@\PDtEVOHY]\Jq8Z7Nfp'<\\5o!^UC2> -U8"Q]Q^aeDW1f]OUSXQIR$sM4Q'7AoQ'@DkNf]3RMNaEmPa@i.Q^F55VlcnhNJr[IJqAf -Jq8]3KnP/6LP^qFMi3=@J;95=KS>;DNJ;t6M2mOML4Xi-L5hF\MMR4JM3+=+V4X6;P+J2%M2R+< -JV/Z8PELriS"5n/P*D/pPEM(.O!0dZR#m8hS",UnOd2/kN0U'5T9k_(NJNU`Q_^(8MhR=VreOj: -MiX*kQ'$u\LPLP7Ko(kZXL+mjP`1K_TWGE$U61(YK858?M115NUo(/m\\Z+nWLAs/Ll%ImTV%mF -QC!_gJ:E*!JqK;rcHa87WNs7XaMG9bU6q+3V5pVpW,\i/PF82FZb3W?QB7/cLRG$;S=$"OZ)!_J -NJ`j`O-,3IJVAo;Nf]0TN0^-8W0E-kKS5&@Trt2[SYVmKW3Koi18WgAU#Mi*^`P)YH`Oc+gBJr,el\\c4mY+gu9 -OH>j%UT1/PNM3)CURn!HRZs>:U7%.,Q'e,0UU@FtN0&^JLNSE;Una?AOd2K0R?E]*XLGgNYH"S! -TUV4)JqT)INf0'kTU:k>YckCJ_7mgqV3QpmNhj8'Za79NWh>W8P+/;KWg\g(N09g.T9YLmNg?#o -LkC;/It3'%Ll7:QTqe'N[(s_\T9bh8Vld/+S<9&$NJE@IDjR*%[]#sdN0BcoMl!VCOcGQpWNiPF%l@[(*6D -^;.ImWhZJuZ(72NT9bM#QAp`_Oc_V`Q`.-iW2c,RW2uh`P)kN\M2It=_R#PeOJfh)U6(b5O,]$O -OGJjPLkg\:Ll\XDW2Q\pZ)=V3rki?mdaGG*V3d7,R%1.LR$3MeN09'MIY*?3Ll.@^P)YBSNhj(b -S!T\2MiN^YR[ok0NfKO9VN-\-XeM8^Zb"#tdEp=XY,%Y[TrGi>Xgb[4TU(n)Odr)2P*:ifQB7/l -SYDUER[Pt'R?F#/X/;Pl\?W!(XKS\)VPgc6^qRCi]Y;(m`kSaUSsYq1OcGQqX0&@sQ]7#aN,k;e -^VnRM`4WgrY*P!4SWo8)SXGb6W2ue_NgPodP)Y6[T#&4Pc-jSOXJ_MHMij'VN0L!7VO`s6O-Q60 -XKnn!SXQ4DQBR`*PDG*WM2.%LS!]@uM2-h@LP_([RZieoLlRglQ^"&@Xe25j]<\6+Pl@A$Wi2AN -NfT^6[&U(+TVS`gS?9B)P)G$HKo1qTVQ6V`N/\Zr*%S!fq;Za[KASHXKnG,;NKBNp -VlHA^Q)CIQSXQ4R[_obcY,7eWQ&M<%NKp!'VP^;u\$<3;;0 -]qh6sU7S?q\[&6EY*,QDQ("GL[_g2$^UCJ`_S!Ut\uhm5_9pid`k]O2`lQ*(ZFIcj^U:,>S!Bh\ -\$Nip`3l\M[^NHK_:I>\[]5pjI[Z[qTV%U6PGbe#`P]:!\[T2hai1p"ZEq*XaN;?6\A5Yj^Uh:n -\\ZD5f%\m+a1Jah]=Yo&cI((ffA"p'_SWpi[(s\tgudhYe^)FY]"5Agf%\j7cI:1]_o^?Yd`KYV -_nEXf`6$-B_7R=o[^3?S_7mIi]Z/CPe^2^ps2.aRaiD30^<+7#\&?;%`PfEqYdCmHYG%qsUn4[- -gY^l>bJ:g.bh)"AjlG"0]YV4cXg5[]a1f'hYd:mR^qmC]ZE0X^Q)h4,dEf_C^s9j&U7u_,WMZ]$ -aMkg!Uo1Q&Vk''=UTU5j\@oM`[^`KL[B[>R^0j1b!sUm\?N6EZELI@\\5bm]XY>V]"#8YXK]^QY-GUUb/^ljXKo4:Y-u3scH3VrZ,";u -b0.Z#OH5sG_8jjJcH*uFb/qQ?bl6%:ccEu<]stDCR@pdo_o]p,\$)pB]>E%Hgt^5fYHkgL\@&TH -Za-[2W32u(d)NZ1YG/)6a2uonlgX?+hU9Qmf@SKoZ_=.`UT:PuW2HSfVRF=S^rOC>f@n]i[Bd3C -Z(IMTUV=[kbJ1d?h9<=@`Q5g$Z*:IUe(ri0cb-Kbb/:Zo[B?[I\A,u%_n`ps]XYMidFQ[`Z)=eE -c,73/`lcNNe(WO,e(<@3fu^Y$Xh;]o_o9C"^rOX?`4it%c-k(ig"k&kYd_NqccXATb/VNLdDiPp -W33D2Zan$"aiq`4YdV9[[B$=;`lZKSc-"Plf[S3]_nNRls2]T.d_rE#bfIfHa3;c@\%oecXgGUI -]#W=G^Ve(8dE98>`3ZAKb/qTHf\GB;ag\Oc_o0d>]thM#`Q6NSai_Q4[]-@2Y,nV%Whu\s\\,>O -VPU)cWiWA.\@A`T`O`[u^r==0]>2G&[(*cYYHbj`a0iIj[]-%)^WY!N1Wd>ecG[T1XJr)&_URQ0p%nR`JcC<$UAo`~> -k5QG"khX4TD-g7@;cHdt<`WC,>?kH=>?Fp+<)cjur`/u!r`B%ss&/kos&0,!:f("e;cEZn"&i/u -[(N??!LW??!^rJrF5e8qdfkAA7&U@>6J2;?X6t9?N4=2@/j^8@fp1OA7PUJ!Fo[=@f0^?A7]=a -B4tuUA,g$EccMMH$+%@CMn06DJEcsBk_-f@:EqdF*D_EFF8t#J9lE\ -D/=37H$b*oHZO4GCM3WU7;-[dK8btUOH5E^KS5;?H$!tFF)Pr9D/!m.F)u87AS,^oCM\-AI!'4H -I!TdHB5)*sEHZVSJ:`2qH$jjYG("miH$4B1G]%hTI!9UNFE`.YKSXhsJUMomG]@V=Df9oNIsQX, -R@9V/MMI(PR$a(pL4XSaEIEOgFE)DLKSY;6JU`3#JV/Z:OGo*\Q&h&cL4Oc!GBJ.QFa/.XKoqXe -Ob\@0F)Q&=F)5Z9K8YM7Ec,i:EdVeGFb,^RY,@hKJUDcbDKLM[H?XOWG]7G6D/siHJ;]npXgGXK -Z)aUcOdD8gN0KHmOGf'[P)4aCL51J6IsuitJUVlgH$!nEI"R$&LPq.LMiEjfTU_!`EGfW/DKC,T -LQ.:LL5:e>NL,laI!U6aF*)PGD/3s!?s[/R@:NtbCMRa-H\[fRN.lV$Fa8C_H$"1TH[0pcN/`U9 -E--2>GCtj0KS+SfAnPdiAnuO;GA(W*BP;*iB5)F8HZadqSYMmCM2$hFPF.MbEG]Q1Ci+$)CiOE0 -C1hI&B5;d=LlI16Chu7SF*`=gKo1kOOcP0=CM%-gAq-&3KmSE(G]\(DA7o@VA9<6MIsl]hEc,r> -H&IAtCi+62BP:j_Bkq3aAH$BqBkUpgCh73l@q8kM?!puG@:*JP@;L./An>ReAn>ReCjC>[N.5qe -Anu4!rb5\VEd)\KE,9?/EdE%YH$++HEd;VHG&_PIF*r7UE,9<*BPM6pBPVF$EH?SaL5D.`P'LnW -AnGLY?tF"dCik/[JU2KbIXZg.U7IC!IR8&A7fCfDfgMm -U8Ns&I5;M0jYnH[pQrJ9GaB -BP_R%D/sZ:E,T]8F*2MGF`D56F*h_?DKC#FDeWs,G]n+GCM%I%FaSISDffrh#OI;];Xe_5:Jq8DtMjB]iM34=# -P(A"*G\_haI!9=8A7o[sG'S:SH@q3@P^mglDJa38M3j9ZNL#fmSYMpZVjE?sG_^TlKp/I7Q@sd? -Mi<43Ecl;;Df^#BEgi;MK7S)YEclteNN'%LPDb'GMij*^Od:lSGB@b@EeB."Jr5_PKS4>oJ:)Nc -HuF"IJW#PFMN3FCKoM+EH?aabJ:`]DP)Os@F)5l9DKq;3OF1kZDJj`KHZX@ME,&orDLIYG]>VOj -Um-CVJ:KmS?(I<^!\L5V\!QB[&NJVSSoNgtfW?\F<& -Tqe9RVl?l"NdQ%mFErh-Kn"`+N1m#3Ob\=0Js27DFa&.cQ'$lOH?ssfG]n4MDf'K:G^"@TFE;GA -I#jJDHA%<;M1pM,G'87`MjU?9PCI[oJ!lLEFEr.[I;jjuMLpJBTU_F2RBa/oQ]ZcDHZXIcLlRIK -J:roFOb8.@NduY5G^F^[Ec5rEKV59P^V6q?MMmq!U7.@0N.Qb?L5DFnN/<[nUPjMNJ:`2rJVK2Q -WO/k8^:q4dUmmsUVNQh"O+;@sHZa@SI"$N]LRY-7T:q(%R@BFuKS+c*I=.*PW1/TnJsE@3N-U)4 -I!KmRG].VAEcZDJI"e>sTV/'WYG7eo]"c,,dESS`PC\%-KSYtVLkC/'I"HT^Ci4<8EcH5JG^"IY -K:/[.L4=f#DKBlHKSP2-H$ORdTTXVHLR4-bTrti=b0A/U]Vq_CS.#aUnsTOTpURaKS>Vq_7HtQS;MoHF)lnqQD1@__pHTO^8@'SQCFA!IXd9?R]!Qo -]YCkXTTG(kMib*GTqe'CPb+Y:R&dj1\$N?mZEpR)Wh4p.L5V4`VQ[PI]">8O]t_1l^U^PHYJSfBgW@@Q`5T^4YHG1B]XFo8 -Ru`GoWi2c"_n*"LXgbdEZFnW=a0hh1OGAOFN/V>'J:X)d[)9ho]!nuP^;[q#\$ifY_T'R0\$odG*^?f>tJ*Yd:[Laj/Dbdad((cc*i7Yct^O\CTa,jk\V=be1Nq^XLlgi6Kd!b/VZU -f@%[Zb/1m*[(sSt`+Zip\%&T?XL,UL[^ET[c.17gd+-+Q`lQ37]=l>)[C3ui]YV@jX/DtuVkB*< -T:2.F_q]!S/qUp@5$RuW8TMN<^]Tr=ik\\#YRW1K<@C7_QEcc`r"T:D^S -US"BdXJ1W&Of#S+cc*c6X/2kuR#ciQOcP-MTX_P?_p$-6b/_2tXL#.+NKB0TOf>t)^W4U5USOuk -UR7!lH?=.HG))Zq]"Gkq\?)U-XK/:sXKAe8[C!3BYdUmE-a0AG]s+E7[(XGrYGS8#YH4b2^s^HF -[%s_5]YMG(]qgUCPd@a0`;[u0b/_QA^V@e3bKS)H^:q7jZ'gW@X1#md^oji;VR*kQf$W(#bdadY -\?W9@VlHl$Vk]raS?'ZDZFI$0W4p0feEZ`&p[I:rc-OkdbepQPSX5qFVl-8_Tq%d^]t;)"`RN`" -e%i2eWM-)MNK0=1]?/42^!b`Y[(4#i\?)V.VIRQif\Fff['S-"\?iQBX1P^M_Sj=+]Xt_][(OK( -_n<4RYf+`%\\#c"c-Fqti8!)ChVZr'Y+hl(_8*e!\$<]ea2,gY:]Jf"\;j]Z848`llB8 -]u.k%Y,%PZVP\X=YJ%rpaMG0]YI1a=U8537aNW,Yc.Ch,f?q@K\$9*YGRq`R[ftBTNIthXJWA>[^a/f`PfU(]u7[jZF$j6W4'ITXK]%6U7A-lb0\JT]!/34SuJcm -['R*R`n&_se\Jl'WN*,/^r!jqZ_X7u]tV.mZ+. -ir9_flLOB2nb)MEn*B3#l0@[)o^hVArpBdTrpKdSs6p$VrU1BemHj9.m-F!(mdKN0n+#r;n*^#? -s6q?'mdBK/m-X62oCMPBmd9H2n+#r=oCDPHoC;8:n*of7mdBQ4nGVbWn*ol;r9j^Vo()eK(@^kb -oCMJ>mdTff2lg4$,nF#c6nF5o8mdBK1n*f]3mIB]7 -mHs?1q="CSr:0p]p%JCTs7$$Vrpg$XrpMl8mHj60p%nX\o'GZ.n+-,Fp%%VAnauMIoC;>>nalDB -n*]T2nalGBnauD@mdTi0mZoC;27nFH,?nF,W2mHjWD -mH*Hpp%nLWn*KN1n+68Dnb)YKnaQ)?rq-cno'u;@o()89mdTl?n*L&ADt3JmoC22;oCMPAmd9W< -qu$0Sm.:8WrV6'Vn*KT6nF?8Mo]tu6md0u7mI'K6n*]E7s7lBhs7bsKmHji@ -,jt6onaZ#5nb`.[qXa.Dn*TN3n)rg!qZ$Nclg"*9o^1u/n,31b%JT,Km/$MGp&Fs\kN2"-mVDCh -r:fUJp%J"KpA4^`qX*eElJLt*q=a:BmIg2Cl1OiJp[dqDmd]o>o(VqJjR)^?q==(FmHj0+nbE"Q -mHX-/mcs'%mI'N;p\FOTo'#fIs7>I;oCVS?mdg&Cnal;>nFun]%eoDVo(`(Tp?q/1 -mHj?9rr735kN_Bql1P#OqtfdAm.C#CmHsQCqWmG;nFH2>mdgAWr9itEo(i1SmdU#DmIKo;lL"37 -n*fW,kNhU*nFZYUn*g#CrVuoajR2X,m-3g*qu?]ps8MQQl0Id'p&G'YjR;^-oCqeDq"=+EmdKZ4 -m-a9+k3hYWoDeg[m-XB4m-j9,q"a@@l0RTokN_@'q"47Vq"aLKn+#l:o^DDBlg4<f3nF?#:lfdU#nc/O]o'GW-o)/1PmcX!-lL+01o(2MEnal,4mI9T3lLt2T -oCGZMoC2ABn+-,?md9N7mcWm+oBu/8kiq3fm/HeFiT'1gmdKT8q=jCDl0[j*m-!O"s8V9BjQPt" -o_/+Un`f3#lg!ZniTKRmlgO0-rpXOio(2An*TK0nauPIna,Q.o_7V6lh'uGmH3NunEoT2nEf`1kjnK=mHa*#l14WB -n*f?+s8Qp(m.0]/kj%O*p@./1mdfi6nb)\KnF,l5jm)C*kN)+3s7baQqt9::kj\65mHsE.io]h$ -s7Z$Ll2CVIn*o`8qYpB_lf[R'pA":Pna>uIs8MHXmHO$6r:]aTn)rm$mI0N2hWb":pA=mdrVmW* -mHO!(nET30s8VZ^o'G]0m-*oskPkK/l/M12s8W)jnacA8jnA`Ime$;Kn*^&Mq>C9jnD`Bfm-Ns& -m,I.'rr3Z&m-O-5r:fjMkNhU(nG)qTn*p,Nru:[smI'3)qZ$T`nbDP>r:KCGmcE[0s8)$@mJd+b -1]I%9p\jmVm.0T2nG)nTm/R%Tp&4CDoCMtPlhL8@nbhq>lh'oGqWmM=p%@kCli$ABr;Q^9qt]^G -kN)%$lgOE@s8DTTjmM9ooCM50mdKT2oD\b2qn*p/Ko(i%Llg4BF -rs8Jro&o<2oD&=as$lJ>p[n%ElL4KAnFQGNn`o?&kj7X3s8V]Rm-3fsipH[Bo^qV?nFQ2=mI0K6 -o^V89p@e(Io'Yf4p\4+Ep](9jo'>c4o)/LjqX3G)n,E>;q=t!iqt0:Ao_SC]qsE+uk3_pAp[%20 -oDejip\"4JoCVM8lLFN:s7POKrVmJuhV[brq"Od[oDS^bn*fE/o`"kEq;L6#s7>@Ls5iG,n+ceT -q"t*is82!9m.0uGq"F"UFq>UDDqsN_9o(_kJnFH2AnF?DLnF#c8nF#f? -p@7SBqY9@@nFcPKo'l#;rr;ZVme$5Qs5`G5l/ppioBk]%mdp/;h<=n=p@@tGmHs-+rVl0MkiV@3 -s8M]Xp%Rb?p?VSPq=q"aO]qt]LRrr;fhp@.P=md0-%nbN"Xr:]UNjlbdqs8)cglfms7q"!eOgl1+ZE -m-G>Un`f,uj7NB;g[FJ.rUoXFoD\c*p\F@Hp@[nEp\=RRlMU\[qt9LKnaGrX2soktm,RC(rV,[@jQ?%#lhpVDkj\?Cp%\L[nF>o3q#0gOlgXcNs7570kP=K2 -q>0dRk4\cNp&=tajS8W>lLji9kk+Q;nb2G>s7c0XmcX-=qu?HYkOSWPs8D]_p%.S>q!@nXq>9mP -lgj6"s8MWio&AWsoBYZ/p$qM9jP\t\naGf>rr3i0k4eWHr:T@Ks8;`eoBYQ-q>^Kiki_X^BWkO/9JqXpMoDejio^q\EmdB]AoBk`*pA+Xdqsa.No'lAOqtBaTq#13l)"ctUp@\Icp\aRPoC;PQ -s8W)kk2uR@oCW%^%e]5Yq>:!cs8)6TqY9=SrVo^mrr;K[o(N(Yn+QAQs6f(Es8W&hq>^KknCc^[ -m.0lGqtTdHjm;d=qYBp_s8W)ipAaLMqu?WdmdC,Mm-XWFo_SUaoC;JIp%.GCs7GUFrVm*#p$VAM -s8;iqC\[Dir;60Vn+-)BrV>sQr;Z]co]tK#rr)BPlK%O9s7Gs^s8VoZjm;R+nFln^rVQ$PrqQ!I -kjJ]pBmJm"SoCDDApA".>nFcAHs8W&t -qo]YuJs75mMj7NBM -o()SRr;Zfjrr3K,oCW(JnG<.[oBkl)l1t5V%/fqqqYB^Go_\(Dn+H\[5kj[:s8VcLl1P#OnEB6( -qY^Bnr9NP5s8Vrmp>Y95mIU8SqYL0jrqGpTr;?*Ln*]`Fr9`_;lgj];o`+sbnFlk]#5n&Qlg!p6 -rVllprr36&o^D/>q"OR_rrhZFkOSQKrugq'r;Z`fo'Z&@p\=Xbs8;oqkMbh(r:f^KqZ$E_nF?#I -rt,/)nb3"YnFc\RqsW>*rqQ3crt"Ycq#'aMo(DYJrr;uco(N(_)trako]PlHs75sbs82Q\l/h7' -rVuido();Ao_e_KqY]sYp\=ISo'kf*mI^;Sq!IbJq>'XKn+?G@pAaaRp$2&?qYC-jrq?*cqsX%P -s8VHTp@IV6p&"b1p@.P6pA+IZp\b'Up%n^gp%@P:nalSVs8DZalKJ$As!@%%nFln^q"ajan*0'( -n*]Z7nb<(`qXpAb'iqX -jo6.pqqo2OL4"/eG'A.VH[9s]GB@tPG]n3.Er^=]F8g:]FT?L]F:rY8EH?/?E,]fCG'8"M -F89qXG9qETF`_\GFEMhSH?j^WEcZ>EG'8(SGBnLZG&q_HGBS.PF`qqPrH/3cGBeB1Foll5H2_t& -GBeCZI!Ks]H@1*eH$jscH?spbI!pD@HPh-YJqAQ)J:E&tH[9s^H$XgcH[L3hI=-GAHOP:MI=-Bg -IsufmH[L8;IK4lqJ-(=TK`6K$If=cpJ,ausI5l_*I=?a%MiNRFI=$BmK8##3J:;rsJqJ],Isuir -JV&H'Isum!KSG#/KnFo*JV8`1KSYD9J:W:NJjb*;It3-%J:N,sGB8.\J:`B'IXQNiIY*90Mi2;M2$b@N0'-[LkL>1KSPD5MjKBfR>Qrh -Ng#]iMhZtALQ@deN0C0BW48jqQCatQVj`p;R?)uSP*qPoM27+PP*;#jP*;,pJ!5k_UR[gKUn3j; -R@B\6P`C]ZLl77TT;niiV43X/Mhd"BL4Oo7R\Q@7LPC_JMhd%CP,5\&[]>j[PFIelN1ZN%MM[4J -M1pM5N0BKkT<>`9]=b_\WhkuKSWo)$Wi)Y_Pa7i2QAq2uS!]G'OH,EaO,oKhMh$SFR@0>+R/`TZ -S=Q@PXJD3^N,jf1KnkPFP*hl9UnXQHU91GbNf9*WLPLhGK7\f/IX6?jJqJZ0KnYDKU9M5-SW8AW -M2R1NMiAIYNT8QB[/VK8>,0JUW$(N.HA,Kn=l-I3N- -J;&f4J:KM/KntGDR#m2ZI>`cLk1;ALl$nAMjC!1T9P:kMhm1DJU`KC -W0NR*L4=JlFa/7^J;T\dU6^juNK&gNL4Oo-Jq8N+KReN$K7nl5Nf&p_ObeXCLl@CWO,]*XOH,?d -Q'%AuLk^D7Ocl-'Q&19OMi!"6JVf51L4k;;MiNmZLkC83MiiaMMij9gM1Bu,L4F`&J:<<*J;TDF -KnY;:MO0s-S=#(lSXYIgM2-J-J:`T:MM.=gT9k\&PEUu`MiWjTO-u5jLQA!uOb/^ZOG87k#$ -UTCr=`5TBiRuiVnQ'mhpR&$IERZiSZJ:2`tIugqX_Qg&D]ZJ=6\[&B>R?XPNW2-GpWL]BMUnXls -Z(mP?MMmFYSXG@kR]j9$S!B5"Q'RGfJ9um&Ko2+_Q'.K.Ye7`CM1(&7Lle:?WL96MR$=GDSt::u -NK9[,RYli]V7XC3W3WIpMN!=GNJiOQTrb5[Lkgb;N0]fk -N00/"KHZ,3S[$5b^pC&5NfB?jU8Y3"VMTnlR@]q;SYD^BS"QIDrf_PhQ'.cHY*4KmJ:rT4RB3Nb -SsPV)Q^3r+USb&kV4O9RSX5M#MM-eJPE1]iU8FTQR%U.P]Y_J&Z(dA6JrltK]<&3H[&KRVL6%[k -USX6,Lk^bMS!T4pKoMCcOc"mJJ:r]0IY*EN04Tqdp7Q^*J_MM[ds\\YYO -NeisnOF`amLlIRfV5BrXTrkQ4]VCRFKo:nYTpLk%NKL-Od`A`\YG1;KSu[pIY3Q4Kn##EOGSg&P+%u.O.Nnp -XJMbZOcPB`TV@X6O,]BtVPBTBR$s"uR>dK!PDk3NO-c`?Wk#pRSr&r?[\o[iS;j#$PF7f1T9PeE -^UfqnPae#$N/`m^SYrH]Xh`$$`4!"X\@/-"S"!NEMN![SLm"$kNg$BFVkU#LT<>H!T9P:pPE1]p -\A5JFN019Z^SZgEP),'XN0T?\NK0'ZMiEn+\ui*=\&5\OXKSnGe^VL?XehGKQCOVKU6gt!Ll7FZ -7#$/ALlROZLl7"?KnGA\]i3KV7!V2S#rutWN!/?_oKd7_8TrFo\Q][f"KoLqAOHR&YWklfg]Vqj& -Mi*dcNJ3RjWMQ,KNg,s'UoLW(Yb@MVT9YV*OHG9RMhZtFMjKcmLP(>8Jqo5JTV.R1Nd?D8OHY]a -S?B&eTJ8N/i^JKSPJGQ_^t-dEp(\bfd,cWii7oTU;IGUR83j\>Gm_MM6hCMMR(NR\?[`Y,SUsT0Sj= -XJDhkRZNYpNe`7CKnkYIMNF9nO,oWpOcl0%YL'>B[B\BBgs3XF]t1P8PDY0[Q^!i/TqRa2SY_aA -P)bY'Oa*(HLP:G;Ll%%AS=c[YWi:uIT;/3XVQR;M];qd%S!ok0V3lpqQ^OPHWNWV2YGRG?N0'\$NQU['.6r -cH=)7UQ^k2\@?+QTr,66_V)o+S"ZIEUpIP6Xi\)6U6(b4St`C%aMl*0]Z.q,a3)6(X1?U5hV,l_ -ahu0Fa02SM]tq4ZUpH\XVnBIC^WXL)\%9,TXguI+i6/^:Vjrs2PF7f(QCP+g_99p6^1G3m[Ca>q -_nWXh^Wb3S_R?tm^;Rgp\?30L^;\RTf[.L:X1uW`^!kT`c,[uSccVZ+@ijIDE_=bL5%ja2lZ@^rXa=\[&TfaL]"' -`P'+-]&%NY+))YQ'do-X1Ga9Q`%-nV43d8NgZN.R@pFS`6?BKYI1C+ -Tr566bJ^`cXK]%9WMcr0[^)B\S[cV\cG7-,XJ2\uVP'-:SXPb0Xfnh4aNqrI`\>39Y-PXNZ`0pq -OdWJe\AHJ8\Y5e"VQ?kmOb\[DJ:3QSWO9gl`5T3aV5C,fX1,D5Y$\NI]=tqj\ui0Q]sY8Z_9L*- -Y->FJZ)4kMdE'#'UThJHd+$L`Wg&mM]>)D6eBc1QbJq9.`n0)%g=k*$`5''sT9u=V\%ono]=tYQ -YI2'h`RWY_ZDt%6^;Ih#\$otXZ^IDaUpe^k\%/T;\BiF>e*$2im-3Zgda6XtcG[#h[AL4@]st;H -W2$<&`l,sDbLb@mai(osT;o)fTr"m.`6Z]Gal)0tY-u-c_6g;H[*RFai6Jp>[`lb+^q?_MahZ*G -bf0RsBYLs`^<=mD]!86=^r!Ri^qe(8aNW5dbK%i^jk.\eXgGFD_TU3IaN2ZRc,IE1^Wk9Xe(qRq^ULnp`l?*Fa1Jdl\?E)^]u@po[(!B?V6\%` -cHjbS\Zr<5ZadHS\%Kr$e(!+#_S31Z[(*lkb/_<3Z)tXY`P90gZaIQqeB?%S]s=Z:X/i1uW2Ql0 -]sFQ*SsP_5T:MaMTph%%R%gOh`5AmQR[p.@Wj&RtOd)uT^UgbVWLT?FVRan&hr3N!gu%5ZnFZPQ -JcC<$W;hA~> -jo6.npsu]i?WU*%;cQh!<``C.>[LfB=]\W&;ufqt<;ont?Y-0;cHas='&L,=B\p3=&`.!=BAR)<``@)rDj#%=BSf)5hS= -=BSg3>[(B8>[C`B>@(T@>[1Q??=74??moGmB4kggARo=[>[(B7>$G6<>[:WA?A7]CcAS#C\>ZbEEAS5Xe@p`DE?tF+lF)uGK -H#@>4FF.k=BPM9pB52'l@p`SQA78_M@qK@c@prhYBOtRX?tB4Gs'Pq7>[h:DBa&?sIF[BlJ$.H&7T6GBA+UFDG]=I<'+ArcMmrEGK2u?XRATA7]:`AoV^- -I=ZT]E-Hb_J9Z!JCM.@"E,9<.EGfQ,CMds,E,TW2DJsQ:E,Tc>H$OURDJEp'E,TQ,AnGakAR](U -AnlC2F`)5HP)Y3FH#mk=EcZ>GItN2kF)bu-raB,GDKgbpQ'@T$R?i\bO,J@-CN+<4DfT`/C2@g, -CM%'dCM[]tDgQt[C3>#SEG&iqC3"QCF)uVTG]e+OG&qkZJU_uiG'8"MJ:`8pDf9`BKQr'#FEW+V -H@'mWCi"<4Dg6e^G_)3SS#r9AM3"$nQ\pEKJpD-KH@L6^DK0cEI"$HjI=[!$J:!3=NJs*gNe;q7 -J:E#nF`hbHFa&4iQ'7JpKmS#bDJX61C2.jBMLp(kCiX]AE,p)OP,PR_SVr)NKm[c]M2$M)FE2>9 -B52@0IY!&[MOLE?XK\t5WM50&MM$53R@0A"K8#2?JTud#LP12,I!C'dH?sseF(fN=JqJ]/MN!RV -P*VZ2Q\KR$Ec>o6E-6JWL5V+RNJr=DQBR#GFa.kCDKBi4BPM0g?!^oKARoLh8SrNuO.N2-Jp)!N -G'J4YG'/.[I"-j5Q&g6/D/3`tG(+pkJp:p@Bl%KpAo2[4ARoRiBPCsbATN6CE-?efO-549E,Kc@H%:j;Oc#[h=EA8>RW@q]C_BOta^=^,0;?XmJUAR8e[CLgsi -ChR?hAnuL0I"QZ`Cgq6tCh[QqCMn06Ec,Z/E--\]H?F.CEHZbRG&_;=H#RkHDf'<+B4PXa?t3e\ -B5)XDMMR1VQ]$*)AnP[`>[1]NC2+W.Jr,),G'/.ZI>sngLO"#`Df'QELQ%"8ErL$,EGoW/GDDK6 -H?=";@pi\SB5).(JrP_?GB@tOEc>u3C2%BoB4kpnC2@g.DfpAJH@0sTBPMI1I"6TjH$Xd]G^k-d -I=QBZDKp_bL5C=qB4u1#BkhO.FDu,9EHHDMGB.P9DKU8DE-$>SHu`q5CiF*$BkV'sBP27*Des6, -Df0ZMNK/sQG'f+%F)>u:A7T@gE-HA@LldaWKS>/9IscTlHZaXgKmn8rMMldpG'J+DAnlF4F)Z/B -EbofJJru%LKS5e\H['^RF*iFeG]I\?E,oi4EcuYXP+@hkLkC25QCa\2J8Sq/C2/68E,o]?Q^sVB -YdV3X[\f7EJ:iH.IsHd4N-TYhCh[["CNslPW4fU7S>!+"^q6kNTq-meOIMW(T:_[;NgQ9&S>2[: -J9H0aI"dN9I!L[CW0`9jJ:<0,HZ3J$ASGn!I>!3&Koqt-XGh77DK9Z>L7j]`MN`sWS=#A!Mgp4\ -O-GNJGCc*_YaLW-I=[#uFDZ);D/joPH[2W`Nf/d=C3+KKIt*cTR$s:mG^Y:%LP^8"H@0pWDfLkp -JV]AHL4=\tF`_PEH>d\BIY`o9JUN<'J;]51G^tI#G(YU8SsG1SGAqPGF)Q;_Q]c`3BkqF*IXu]` -FDbMsBl\fmZ,kJ1Xe:f*I"[3;S"cdKHZFjoL5(>9Nf8[GMMm4>ItE6'J;g+fHY[P7DKC)`Tq[d2 -K6r#uKSGGOR\$(:NfB0ZKRS/eD/XZEF*)njOcGqeTpV%2W2d&$N-TMaFEDt`H$4O\J1K6qusJpqod -FE;J?E-c_JDf^&DF*N1bH[C@$ML^2*IKF`2V\JU2WpMNWmOQ*Rcj -Q&pN@F`DkkPCnL6I=$R,P`^`ML5:2*LNn?!H?3n?HA7l[V6d_7OaW@gX.#$0Mg^M:LQ.7UOb8FR -WhtPoIYNN(H?t!kNglo?X1cKj^TXZ9YH!qJO,JI,F*;PCH[pj"K:8X-R@AnlStVX9Lk1/5K78cS -W1K6)KUo[!XgPXPa3D`>XIGB6O-H9FZ_ae( -Q'-lVF*i1cLOFAiFaS[aFErLsLl7"CNf&RMN0]Q[Q)(:MNhWDFT:W!q_oTd2]XkSYZ,3uESrn_c -Kme?%PFeM@NIQ%oG^+q2\A$,2`4`dhT8%`PR#[#`N.QY>Q'72_Jr>/%HZj@XK;kfB]"kMPQB[2H -F&@ODI<0muQBR2WH\.'8Q^snNVNm+#Ne;e1H$X=GEc#c=FF/@WCh[^'CN4HFM2?\)G]e@bKRS<, -SXk_!Tr404MLp\EPb=P.N.ZbEV66YkGHRg6SDK0iHKp8OLb08)Ud*T%qW2Q5MNeW[XP)#R#W0WR$HZaFOEGTQ;E-6DKIu/l-IY`l:LO"uFW6D64Z`r$7e]52+[Bc`eKm@cfIX-?uNK&I8M3E:(ZCmSHM2-q;Q&'L1Ll7OiSYW0YV4<6_FF/^s -K7eo9LPLbEKR.]hMO^K;UUS[k\[TGiY,]%CAAZEuR?!GlMj:-@VjWR(O-u2lS=5@pS#Wp/`m`DQ -W0EF9U6q%(QD:[jWM#u\WKWL7R?WhiR\QRGUT^/3K8P_]]#2%ZWLJWjHZF.^L5V@dT!?5P`OMe6 -T;SW]PD=mOO,kBNW1^H)Xf7hLLldIWZDs=dP`(EaP_k9hXKSk-U7.NnTW"id\'NXR`N?;CZ+7BP -`S8b\]rdQPJ;UA-V443c^r+jDTp(b%Lm+mEVkL]#IZ];BPEhW7[D0Mk\%';m^W+F4[&ppei8NM2 -_ofm:bepKYWjK7:TUD[>Kp\p;TWu8@Z*LmL['$gQg"sl]X.G<$G^]OE@uR%^\]Mn,]t^kV[D0Vr -_RmLubL+JEXKT7F^qR7fY->=IaOfD.e%r&\\%T)Yd+R$r`lZQP`l#^*Y-5@GZIRq"lJp^Re@E#o -]#r:Bf$`I2_n!k=eBl:^f$h^PV6d_E]77E$[^*-9VQmbI]YD;%cI:(WaO.Z:a3;K2Z*V]r\[o\p -\@TD[VkToZSX52!T:)%A^t.,fcc*N+^sLQkk1eM2]XPSaYcFn6\\,qqYH>.B[]d-@SXlXHK7&Q7 -S$02tWO0XZYaq5TUS4Th_RZnOS"$CRSsc%AYIU6rVl)GKY-FppWN323]YDA(ZC%GnZ+R]KVl[DB -\?)O&VPTrPQ^a_FZ)a@ULk_([\@/W;OHYodN/W"CUU77tOe/YST9G1dI#!];N0g65^rOF7W2uYZ -Pa\MZ`5&aUTV89^UnXimX/(Z%OK?+6b.P9pW1KldT9b7aMhZV3UoL>o_8sO2`4`FSWNWFtP)kHO -OfZ+%^rOR#Q^45/P`UWHF)l8:BRPu0V7OLR\>u3krh)QOY,A"gV5CB&[^rrWZ_XJ.[B-I9]ZA'o -W2d26Xe`2@cbm8jSYrm&b0A/GUlLP0Z*_0ccd0eSbJ_$%^sLZ]dqmO\ahts0\9JS#scGZ*pa1\BW47dI6o.p@I\3eBcUja1\RNZD4M0\$E$. -TUhgb_o'O>c/%7+bJ^uiQCX_5PF.uN]?SX>a5>d(_lC#R^UU;Wk6hC_Rm7j`lQBB -Zbb5>cIg^l_5j<3YGIkfWii_Icca,EbL>+i^ppkbXh)s*_91Bbe]bn>Y-bm_d*'/:\[B#dda?:_ -`3utJV/<**U7e*MSYE'`Z*:0sU7nBWS<]J9YGS_F\[]D_]Yhh0`lc6/Yd:X4WO0CNW2d)%U7JC# -c-Xe\_mZYFSuo<(\$`ln_:$fbd(d2oYHbIH`Q?07\Z2R9`Po[0YI;![eCMpg_RckET;&'OrguF)VY._QNS!92)N0p3(NdcSPZ+mfLV4*6pLm>$Yf&5ZNf\#'>k3DX4 -JcC<$W;hA~> -j8U:sn*K<'o'u;Gp[.;2k3)%!p%J+PoC;>D$LR?R -na>f5naQ&:rpKgTrUU!YrpU3`oCV\Fmd0K6rpU6ao()5:mHs?0n,)S]n*TN3nF,i8nF?)GmL8LO -n+$#?naGl:oCDGMnGMl8o'u5;n*fc:oCMVDnaZ,:m-X6/nFH2Co^hSCnF,i9naPu9n*]]9o^q_I -oC;>?naGl;oCDkM#kIEQnaPu7nauhOs7-*Xrp`\On+$)GnaQ#:o(2GBnF#Z.lgOE;o(2D?nb)SF -o'l,;o_.qJnac;Co()GFoCVkUq=O.AnalGFnaH#>p[[\:mI0K1mI0W:naQ#:rp*AIn*ff9p\"(D -lL+HIp@@eIp@IhFo(2G?mdff3m-s`Eo^2#8oC;>>o(;SFnF#`6o(2Ao'P`-n*fZ-o(DhSp[[_;l0.I#pA=RMp\"4Oo^hbKo^M8:nac)2lgafI -p[R\^Kgo(;SEme6AIr;ZZ\nE]<'md]o=k2u1.q=smfs8)?\s8V]UkO8$7naH&Ao(;YL -o'bu3mI0B(lL=N@mI0]>p$hG9o(VtOlK%-plL=E7nb;bGp[[kFnf[AhoDejblK@L%mI'T8mIBW3 -oCD>Js6Jq=kOJ68kj&*Es"sT=m.U8KkiV@)m-*j$q>'UGl0n31mIU2Lo'l2?nE]T:o_AIbmHa-/ -p%7_s!7F1mHj6/mI0H*m.C/Mm-am-O-.nac5>oCDPHn`oH-k32$kkNha/l2Km5 -m.L5No'P],m-X62p$_ACp[n7\rqZ0PlKds/mH!Wunc&(HqXs:@lL"-0qu?]fjlYgknaZ,nal;9l0e09nF,i5lfm[!lgOE9p%@tKqYBgRn+62Bnal;;mIKi7p@S"N -o^DABiTTUjl1"0+mdKW4m-O0.kj\'*lKRg;s)\#+lfda-qt'1@md>;hoCDD;k2PLio^VA8lK[a%lL4B9ki_R9rUKILnF,c4 -o'c2:lLOuQo'Po;q=sLMo^M54l0Rm1pAOm]mH3kN;7.qY0[OlKn-9p$qVPq=4F`qY'LJlg*cqlLFK6n+cq_r9s=P -rr3&tnEp5D+R81Vo_@Y6jQZC1nFZVJo`+sagsY9Qp\4Xdr:&e/m/I"a'(bhgo_eafp[n.Smb?Xi -rU\h&rok6js8Vuhlf[^4s8MlaiT9Y"meZtUrVZ$]rtbS)p$1`,l1tAZrVuicm.0H1kMPImqu6Uu -lJhdBs82?_qX3\>o^h_Bnb2YNq<@hWs7PU>mI'N6oD8@Um.9lHp$;&@p[.21n+#o9o_8C[m-juS -qrmeMm+pRfn`fB-p&"INlK[O!o'P`.lf[O$p\t-ks7.&nn,<:[o^hYMpZh);o'#H2o_%hLqt'LK -nbrIkpuUMuk3i-H,l-rrlL+$'lLOiLoBPi=p@[tAjQZ+-s8Vo_kOA0?oC2e[rq-3\(\@4hnbVeC -lg!j,p\!n>o_%Y?p%72.r;Q]um-!L!rr36%s8W&gkih[U*UmHs62p[[e:g>D&cp$;#6 -jll4.q=sUQnauGBn*fi@p@J4QioBCsrV?6Om-4E:mI]f4o(_tOp%@hGr;Zfil1"??p[IM;o^2JS -s7PRBq"+:UoBYT.oC_V@o^_55n`Ap!o(i+Ig$\n?o]GH2o`"l4n)N[&o]kZ4r:]XJjmhm0n+$&? -m.Ko6kj8'Ds6oLPq"t!bnb)eZqsN\=q>^Khn+?&2kjSNLn*f]0l0.Qsm/R+Xq"F=Hm.1#QrpS_" -nc/R`q=agfo^(o3me$>Lm,mX+q"aLHn+H)/kO8HKlKHgMqu6U9n`T9+jR)O:rpf(7qu?]lo^2#9 -q<[nUp$qnVp@S=`#l3oRna5`6oCr7a$2<]Ys7Yp;jQc[Bruq.6s7#[Ik4/'BpZ^i=s8VQMhWjIo -naPo8h=(:7lfmg'rr4nMqZ$TioBbZ2s8W&hkOAHGm-XK9s8M]Yk3).$o'tu1q"j^]p?q57nETH6 -s8VlWrqPO=k4S`R&,#8SkN1^Zjo>ALs8W#dnc&PgqXj18md0E7p\+@Vk4/6=m-F?>rV?0]qt][=m.p;8k3;.#qtKXQqu?Tho'u;@n*L&B -D=ml,kiMOs7Q!WnEfK]k2bgpqu?ZZ -md'$"o_7nHr;ZTWkkFlCp[[nFnc&)9li$\Pl/Lgjmd'$(qtfU>n)3f6qtp$\r;SMMl.OVUqg*kMkRi -p@n+Kp@.kRoC;STs8DoqrVuoro]koEs*sV#jo##PpA"ITlMpn^o'Q#?o(DPDp$h>Ds8W)ipZ^c= -s8;`ns7YpOq#C'VnEJuoo(2_RpA4ghqWR53o_\OXmHNp/s8DWarVlZio',]Bq>'maqt]s\qu?3L -jm2pGs82``lLOuTp[.JCqY9gZq#B[Fp@%5:s6Je8s8NE%m-afHo^q_DqY^@=qY]p8ipm'Kp$_ML -n*fZ5pAXjXkk4uUqX*_FoCV>.ki_!inc&P*qu?]glgaT^EcqZ$Tfo_/.]s7,7>pAY'rrp]@L -p?qhWs#'H6lgOE6o_S:Hnc/Xbs8W#al14K;s8MHHjnJ`@nb`@Vhqd\rq"OINp&+^[n*9'!n+chZ -rr3f.lg=<6rUT7:k3;O8pA=ggs7>IAr;-9hrs88Wm.:2MjQ?C>rrrAhh:h2mrr3W0mH*^0r:Ka\ -p%S@Vs8;?OnG3"^!WDinru1CpmIp;Fp&G$bl/Cjup@.YPrpf19md0W@r;Q^1r9iA-nFch]o]lJE -l2:S]qt9aWqu-OTrq-*^n*p>Vs6T7Qs8Vofp$(l7q>^KnoC_tXp@7_Em.0E%meH_ZqY'=@q#CB_ -iU$RDo&oQ?pAP!j"8ql[jo,3+o&o?,n*fuKrV,jMoCM_Sq=*kHq>L?nqXEe9p%@tLr;ZTYlLFiP -rsAGjqtTRAnc/X[rr39#o(;bVp\4":rr3,ckjJ3Dr;SVBlM(>Yr:B4Dqu?TeoCr:`o]Y>smeHPJ -o^hVKqWmnQs8W)iki:e"qtBmarVuW\mdp/Grr5@bmHsT?p@\+GmJ?k_r:Ka`s8Mccna#N5rVQ3V -q>^0bp$M/5o)Jahp%.nPq"=(MrV63gs82WfrVuZYlgsT4n+?;PoFpoqr;HWclgafFr;ZQYkj%?t -o(W%]+SP-fq"jRAm.0W6p&+ddqYC$gs8MKLlLFZJrr2]ao(i:b"7kXDp&=sqq"k$bmdL,Rs!dd7 -o(i=crq?$Yq"OOVoC;87lKn*=s8Mrhm.'B,o'Q/Ns8DEJnc/C\rr429me6\SrVQ$NpA+(AlKn!3 -p$h)*jm)[As8MNVlgOlRrV?Bks8ITLJcDnQJ,~> -jSpG!hS5D,H$jdYI!p3aG^+@TH$ajaH?aUUF)uACF`qqNF)q8&rcJ0]$$CE6F)Z)=FEMa'F:*&2 -GBS%JFEVkPG5cXaG5Z^dGlMsoF`r"TH$47KG'\J:iN+It3'#J:)`pIsHBhK8+r'H%(9mI=6TrJI[3ZI!^9kJ:2`pL51A2L&Qs4LOsu& -I!pHlI=-?cH\$s.Kn+MpG^=^cH['pjLP:>=NfoTdM1gJ2JqAc>Q&p`]NJr[JKS+o.I=-KqK7J?$ -M34$fOcGHZO.WJJOc#0SK7ei2KS"`.KnTGXs+CN-KS>29reG!6Jqf2AM2@.CKo1nNMM-M/Isulu -KRS&lItEQ7LPLeQS=5LoLP:>0LPq4]V4a$;NeN%6IX?KkLR"R3WiN;(S<9&-TpUjmL5LkAJqA]. -KSG88JU`0"Jq8E'MNEpTM2I1;LOsnuH\@?=Mi*ITLP^h>KSk_FP`h/lO,JmUT::ppIY*NKK6VNM*J^\?r3'R\QaQO,K0eN/3=EPEUrZKoD(PNgH?-Q'7GtPE(ioPaeJA -Q'I`-Tq7L+Kn>&?ZQKSPJAK8YG>QD17PUR%+1SsYCjO-5`f -L5(SAJqSW.Pa7H!X1YsP]=G,BUR74(N0Bj4YHFCYR$s;%Ocu&tQ]Hr\PELrbNfoQcMM-qQP`Uuo -TV.[;TrkMoQ]mMjMi*FPNf]KjPEVK/TU)(>T9kY!NC]4mLkgb?Jpr9"H[C'`I"Hp(NfoKeUUdOt -LOXi-Mi`UMPae>9P`D<.SWeqbKS"f2NKB6^NJN4*<+ -KnFo,LOkDFLk^kFJV&N,Jq/B'KR\l9K7nl7R]E*FMhQbO+i7KR[T7tO)^2< -M2I.>Jq])NXK.qUNf9!TJUiK4MMR%DMiX$hQ]m>]KSGDBN1I)KNe)n7Isl]mIXQTpI!pd0MM6\@ -N0U-3R@0\5R%Ke&Knk2-JVK#6IYcL5:tQMN+$jN/<[aQB7)fMM$J2HA%!*I>Nu> -ItM2dLNLkLD;Pae,-Q(ab9VmEM%R?3;`LOt8APEM6.[(EcM -]Xtts\"]%HPa@`"NK99jNK&^NP)Y3TQ&h<:]sFE!U9:u;_T0?kS!TVH_8j*cWhZ5_V4jKPA>?)p -M1h(ZP(o$]OGoC$\tl!bOHZ0'Q^*APH\dH5Q(j\DWL^<7Z^-?%JUr]:S[YYsWhl)HS"$(9M2mgh -VOO07Kqu)TUR%I?Ne`OQMi<@HOH5WkNj$"$T8SDVKSP>ET;hgg@@4KU80kK7f8IKS"oclUL68'sNJ*+EOHc3-TojheVQ,u?2O-Z!$]=Or? -Tp^t#Pb+VEQA:3`VkfoURA$CCNJrpZOd2&aJ;KYfX/i2#Yb[SPS$T8lUQ^kHZF$TrNg5rnS=umZ -QA(3`T:2",N/a*rS?BE0[`$>,^sC3:[&91KP)kT`O&;+4WLT?8Ts(DhO,T3t]"=l/R@B%rOHZWK -\tbCPYf"#GQ%tBYM2mRUQ\Lj"P_Y'VPdA'<]"Z8'ZDX@hZ,b21\>?+)UQL\,QE-pSP)5!Prf)&S -LR+]WIW`N/NROMjLf`Wk,sUXg#[db.=jUT:)4N^<3jkYcFRc -Tp1\$QCOJ-LQ@CPNfB$_StMU@T;%O+QB@;oS=lRLVjF0]X/;f!]?/.3^qd[jVmXCQWMH2VRspop -QCXtVW1oWAOH5?ZP+8_jdEK#%]=k&AR@'tGPGk.LT9kt=R#%/oOH>BQJVB;bXe_u0^9FZDY+Lf< -R\5e'PFe>.NK]R(VjsE\ZF?p/SYMmENfT'TLkLPCNJ`RPNJW:?KS=l8R$<_sOc,'aR>m,dRA[3\ -StVX=Q!'66SXlaiV2ge'O-ZZFX0B+@X.5caXIu2IMM6\9LP^tlYG@Aa3DQ;`QQE0WLfQJRZrl-R?aAM\u_?h@$?V4NJE7FL6%@_X.l,f[@it\TVJKa -Yc=FgOb8(3Ko1kKNg,fmQCOkUWh5r`Vn0pc[^O*%hr)PZYHt@/P`:Q\QC*koR%'Y6O,JsZR$*>` -MisBmNei=@K7SN(Lko)uX1,dGP`M<0WN)YbXfeOmT;&-USt2[HN/s0_NL#p(VPU/_Ne2qAOcbZa -PFIYqTr4<5I>aAaXLH*pgW[LWbH7JA\\-2,]qpm]R[:%d]X"?"Ng]m?>,ImSP+&8^bg4hlb-.S9 -XfS7mZ`URI_nE1ER&I$SU:I+ZS>N*SW4/sqL5_UdX3f/2\[S&_KSP;FTpCt1Ts),JaN:KWZ+.BY -]=jf"RZru+WNrk1`ZG+,ZSs>Y2R[B_M]=tbkb/qE1_99m6Z*(mpi7ll']u%e8 -cbd/t]W\WKTrkPtSt<'t_7\:>[B[Qa'XOsNcJ[O*_mZVLP`(cnS>2sY[D`'cD8X'0^9k8Y_8sm5 -[_Bi,d`Jl.a3r)=[BusH_o'@8g=afS]#21cZG=`1E-a1AUg^V[n%['I0J^Vmn!^rOXAbg"CNd*p7X]"QABdC-!Sb0A)J_nrpa -^q[=XUo(&bUn43RTqf-Hf@.pe\?3crd+6n'cGRB1^p:#GZa7?f_SX(!]"c"lX/i>(X.u#ANfp!6 -X/;o)\@/iKV6.89\@K2\Z*(77]WJ!,YfPD>X/)>YI]^?!Z_XFrXKSk8\A+r?[^3*Ia0`"Wb0Rc* -Y.1[9X/Mo"^V[^u[]Zj3Nh,SW2$N& -[CX2eYHGgWX0&S/^:9buS>s?Of#P>-[B-!q\?DWkNKBKsT;AcrHE4Ktbe1d-[AKb'[^!KGS^k -Y,[n^\&Zb6]W7KgVnCI+bIj^@U9D,;_TKsCcH"AR]Y)54gYV&Ge&oG?8\qp,R%LLfZFIfe[]-"% -\\GktccinsW3*/4^rOXEc+U*9SYi[2aLSLmZ)tsrf@/@5jlc""mGcjIf$;"=]=bYW[_p8.]sb@5 -Xg,@MaNVfGd+?gj^:1;CW1B`bfIK(XKK%I\?r`U]Z874cd^Y&e]PV6ZGFPuair,bc,IQ? -aiR-%gss-=W33>+XKJJ&^!+^?_TUK^dDs2@]"#Z%ahba4dE^4^]=,)Xb1+_X`lH-;^qRk4`PTX5 -]=52Y]sO]8Yd:X@[C!3@XadFWZF%$>UTM5D_T9U)[^rr\^r=OGcc2G- -a2lNO_Qp&>ZFITa^r":Af%]!-^Tk8]aO&,LaO/#>]#2b5^Upk\^sLZ[bfdrA^qI=dY,\=oVQI;= -]!n`5URdpJR\Qp]Tp(:sTqABu_mQ)$T<0E:YHFRgT:D.>UnsobVOs3CSu]ZZinDVn]>)qVe'dO? -kO%g5rIP!"s/uBP~> -jSpFsg9Z*-<*3+!=BJL%<``I0@q8nN>?P$.<)cdq<``@'<)`cqr_rhp#ujo(;GU(c;cH`n;[QB$ -<`N$p;cQq%=8l8#=8c>&=oVS1<``F->$"[$=',B%$!152<`W4#<`W5;2, ->$G9>?[:WA?t!JQ>[:W?>$+p2>$PB@?sm>J@UNPM@:OdC2@j2G&hG5@V9CjBOkR_AnPRX>?tTB?!UfH@UWYO?s-Z>@qKFmEHl\K -Ch[[-I;EP-BPD'hAS#Ib@:<_W?F*NCqLjX>dEc5c9GBnduKlqQWAn5C]@V0:pJrZ+^R\$+4KSPSKK6M-NFEDA8Ci=') -DJX$!A7K=hBkD(!GB[qDEcQ,7B4GRmGBe7NGC+FVG&M>BFDuYUH[L-_G%u>^Lja5XDf]uCIFaA7XJr,88JV&N*I"I-,MNs6R -IXm')K6_HSCiOW@GDMu`P`($7EGfT-Ci!d(H\-fgEIVnEEcuM@G]\1aPaRo)M1p\@JTGgUItE)j -E,TK&CMRs?K7/B;Vkg5mYc=LkLjaSqJ;p"jT8eDWLk0l"JV/W.H#e%TI -Q&LQaTV@d-H?O@LEcZAIH@UNqJ;/u?Jqf2>JTu?[H$+%CD/*T:IX-6hItgoCM%X6 -EbfQ:IXQm/Jpro^UQC=`I!Bp]G]IbADKGi'Dfp/BE-?bfLP1>DNf'3uSWJ29Bk_3kCj(/RKU&I> -XJWD5]"PDCDKC5u -PCe=@N.,SlJTkgEH@9aLE-m:oJqJc1NK/gGJU`2tJr#MRP`q8oI!BUOJ:MihM2@+>CM.X+C3"ZJ -G&:u/@;BtCY/8?0\t5"AJV92VW2lb^LjXGkIXcp$Mis6\IYE]>N/E::JV/iANe)4cE-I(pOf#@W -ObeU@KnkSKV4X0?OH,?_LjaMoH?!qMH"_5PNL6&^JV95f\[DIBHCpCQG'&;%W2Q8ST:V$iF)#H8 -L5Cb=Des<:GAq\PEboZ:GB@eBDK0W5D/XK>H@(?qEd2lgIY!iZRYQ0:Kn=Pi -I"HWbD.R[)DfBfBG&_kQFE2SWMN*=DK782rIXR'=T9t:SFaJdqHZsj]E--GcN.6>-I"$R&Lm53M -S!o=fF`VndOHG9@FbuBHMi3@ONe;V#H[0pcG\^r2K9N"*U8FoZM2RIoTp([lJ"`Q'V4!'eKSFu5 -N0KNWDfgPeKReMuH\@ZLX0f%6]"tqb_S3.LR>60;F`_eNH\[iBL45A^Ssk@^JX!.6Q]$fbJ;8c0 -Fd8JpR"pKjZDNY4F*VqNGBS(UCO_1lGBe[pVQ[>0[(sDVRZj/?`QlB*R?j8"I!UHsR?WPXGBA%R -H$4(DI=6BgEbB!$F*)hdSu[lrLj*-@I$LY2Rtl<7G'/"PK;#?8ZF[<;Wk60bZ)F4UMiF=5_6'hh -VkBB6PD"I8KSYA/Dfp)AG'A1_NKK3WOHbHHLOXc(LlICWQACj%U7@gS[`ck2]tCkWUU%YCTpUmp -JqSW+N1-H2PD+C.G'.tYN2=)0aL&(Y[@!D;KU7^RR>QiVJqoAAGDLj"I[F),Q0F*)JJIY**'M3XX"P*;H.Z,45]Zbk#?f"S&[WhPu;I<^$eIn+d)J;/l3I!0a\ -KR7cZFEr:`G]7J8CM7SfZ_4Xc*!bD\\Z_8\X\A6NJsR=[]H'^K8#2ANg,TYL6A4>aNN&` -`MT#hTq@X=W1p8u]*VjO-BMh$A8SZf#uXIYWLZbO>PY-l?tXer#0aL.hH -ak>Rt`P&+'JWuk!Q^;?XXg,+MaeOc`R=pHuVPg]'TT+S\NKK^5cHX,1Y-Y"'WKj*LQ]-onX08YF]W8'G^U1,KbMD"#_6BT*JTZEoMNjHoW4BaaahkX0\#ukb -[_Kr3^q@M)b07c(Zb4DuZa@-?[_'>kd,!O)XL>aJWN3\UgtL2s^Upt_[=5-X[&p:4]?8XUgYqAZ -h9!FB]#2_@f[f3CaMQ-Kg=4j4g!\$Z\%&u]^Up\PYc>(?['@0Xa2Gs?6>K8#8UXfeP*`5oL(^9aQ)VQ$2\ -NJ)qGXLu!Uai:KGK8>SJM19S`E,TQ0EI3G,Vm<\<\?MTjQ_'nUX/)G^TrGE+]XtnjWgo]bY-GRW -`Hek]R@:%LPaetpahbE\Oc5a7bKRr6TTkkAYcbRV`QHTMdDNK&^<4mSgsXHe]t_FlP)GU&Y->=J -\?2EnWk66d^W"*qV5C;n[_'Apb/q/hLm4I-]"YGK_6C&\f[eI%lgOE;q"!S$cd9bBYdLpHXKoLW -^U:2G6)1Ea]>_q7a4K2%bIt6]St1t$Q)(F`[)U)$c/[KhX0KIXYG%r%[`mF_gX=3X[*I.NbIOd\ -\])Y8cca/4Yd1QU[Cj&V[(X8n`lH!,[C3rj`Q?T^e&B8Ie_f30_7@=jXf&SHaLopHb.P$h_9L?[ -ccb;4e@;io^r=CAeCN-h]Z&(4[&94ZWO&n4ZFS#o\uhm.YdUg=ZF.3^beh`Wgtp`0_RHea_SF.5 -c.L=]_oU'GDUdLi[A'@nWMcVnV5h2Oc,RZFf%83d^q@(_^W=L3^rk-PeB>S<\%Tr5b/;$2_S*Ur -b07f=^q?qQW3!5$R[U.TXKSk4X/W"oX/W/$SsQ1X\%]hs\@&oW]Yhb4ccsG@\?Vj0[CNK9Wj/V* -;QdLB`lZ28"bKn\mgX!U;[_0Z+bJ_NL_RHtibfRc:\[of1g=4Kn_n`srZE'gq -SXc:KYI:pESrf7tNKT6aSXGXoH%hBC/YokjZ(-rDURS!LO,K$XLn(33S=,Y$JVB&Q\'sBmbe:9h -ajnAJg=4j7kO/1ts+13Qs*t~> -j8T_`mHE]pn*fiAp$V24kNM1!o)A:_o^i(Q!UoOVnH/4KnG_nTmf2e\nF#W.m-af=rpC*[n+#o7 -m-aB2mecJQnc&%Wn,2eVncJ@NnG_nVnG_eXm-X60n,;_\n*]W2o'u5H,k1?rp[[hBn+$#?o(M\EmHsB5o^MD?mI'Q9mdou;nFQ;D -naQPKs7%0%p%.hNqYBgRm-sTlgF<5n*]]:oC;hK;X3T7mI'K7nac2;m-aNEs7PsR -p%ItHo(DVFo^qbBmI'K:q=O(Anac5=nFH2Bo'l)8n+-)>me$;JnaH#@q"==OnF,i9o'u;Bna>l; -p\FOSrpN2CnaGo7nFQ2>lgOB8p%7hElg4$,nG)qVnF?&>nalAFp%7bAn+6,nEfT6 -oD&.Ro(D\Hn+?>Fq#:!Pm-*TqmIKuClKds4p\Fggs7c$Tqu--Qm.0oDo'Z#=o(;YKna>c1o(;M@ -n+-,AmI'Tnb)_On*/rrm.9l=nb)VFo'c)=o'l2Bs8O&8mcs-*lL=K;mdflmHsQ?o^2GRs7c'Ro'u):oC2AOr9j"Dp\XaXnEoQ. -md'*/rr5sooBto0m-sT8lKn0;p@%VEo(;YKn+,r9o^VA;n+?,Br:o^Go'Gl9l/h$klgjH6qtB48 -mIBW5oCr.]rU9.>lL+9As8Vf[md99#k3VU0p$h;6rpqW4p\=IPm-=*5p%%\IqXj1?p&G'ho_.qG -m-jK;p%%Y>kihO-o^))5On41n+?8DnFQ5CoC;27nEB6/n`oE:s8VZQkO8-ArqQ9_q>0gS -m.9rCn*KQ6n*03.n*TE(lLFK;o(2MDn,D\_n*of9naQ&>p$q>2l2K^IiTKUtlKdj+n+?GPp[RY: -m-O01o^hJ;nEoH*o(2D=l07R'n*]E/kNML%meleJlg4'1n+m"`qsp%7eFoC;SN -n*TW7lg=01n*]T2n*T`8l0I[(rVuokna,Q.o()/2kj@g)m/6n^o'Z)=lh1&HnEoc9lgsoHoCVkQ -p$;&5nauA?n+5r3me-MXs8)`ps7c*Xs8O\JkiMF/oCV>6oCD85n+QVQp?h,3p\OOQp@\"GnauSG -m.'iDlJLFYli$k^n,;f"nF#`6oC25:lg+!1q"4%?lKdj*m-aH7lKe0AqX3kCnc%qfo(D\ClhLM[ -o]tr8p%.S;mf)MclK@I*qu?Q_kiV'omdBK=s8V]UrpKgTs7.?'n+lJCr;H9RlL+9Bs8Vc_q=""U -qsEb=kj%O)oBki3p\k+-rVulos8;Q_nEorLqs`tBq>'[Tp@7JIkXt.1rVu`cp%nOJkN_!^oDegd -p@@bIp\+1KmHE^#p@e%OoBu&8nF,Z6rqZ3bs8)EXm,mEnmI^8LoC2AKr:K=;kO\`RrUfXHm/?;l -md'-(mIC#Dme-VUp\t*Yio9.`lhg_^qXE_1l1b2W3;3.?pA=jcp%7kRpupc-qXj"9nEfB)q>^!V -n*TW;q=a[VlgafAlgaoAqY]^Os7c'Lo'GW0mect_BE%Jlp%nUVjQQ"&r:g-[mJ?kUm/?t`n)ip# -kOn?7oC;JHlgk&To]PK-o();@q>'XNoD&7VlKn07lKmp,o'l/Er;ZBRl1P#JkNqU#k3Vg6mH!L! -p%.M1iUca;p\+1Gkjn?=rVlg:rUB=Am.U,Ao'Yi8o^)&?o_%hJnaZ2Ao^MMCpAP!poAeZbi:$UD -J,/a*md96'nbN+[p[n(Trq>jOn*0)sjmMs>nETB0p%%\Rs82W_lf[Kto_8C[n*ffl=nGhNrk3)(%oB>f9s7GdNmHX-1o_\[bp@e7XqXs@UnEKHr:n*TB)oDS[\ -naQ5Jq=O1@nFc>:kk+cPs$c_Nn*K9,qu?]foCVG;kjI[&s8VZ^nac29m.'c@jl#4krqc?\r;Zci -oCMM?n+HDBl0nKJs7,IEnEfB&lMgA4jP8Vhrr3Ask3;3pjm)F-mHaKFrt"npmHj<3n+ceMme-;A -m/?q`3qqn&l0Rm3q>C9mrq>IDq=3t:m.'uQs8;fpp?;/:jm;RBm-F!2s8V`TkN_d8l0%L&qtKUGkN;'tpAFOMqu?Wkqsit=n*KH6s8Vl\rVGpNkOSWP -)"["Vm-*WmlMpnWoD/%EmJHq_oC)/?q"t'j8+ZKEpAa^Tlg=-1o_8(SoC;DCnET3#kjeHJs7kgD -n*]]:p%%\HmIBc7kjA-@p[n.Oq>9jOn+ueInaGr?o'Yc0p%e7Kmf)SQlT+D%l1=rTmd9Zo'kr'jlbptp\jsZpAb0ko'l;8q>^H` -o)&IerpAS(o(DhOo'l8Js7c!OoChbCm-jQ=o'u/:nFZMHnaQ)9kj%L%kO8Zr:]O>meHPMrV#O@m.C;W$2a/Yq!mV9nF62Ls"=9?mJ$YOoDeLAlLOE1q>^Klli7"N -mITZ1lhU;Io^hPBrVl`enFQJTs7tX4pAFq2p?M/9mdfuHo_.tKq>BaUl0[fon,N1Yp[I8(n+cn^ -9)@o1r:9OZq#(0lq![\Dq"=1K -qu6K[o(VtRq#:SruD%5n*003s8Vrhp\+IZq>:3lrqQ?gr;-9a -oD&.\rsJJem-aWJs7l3PkPkJrq=!kIqtKUJnFH8Ks8)?Tr:TCRp%J@R%diTKp@IhDlfmg3qu?]p -rr4;=jmW$FrqZ0WmdKfEp?qA>r;-<_mIpSVq=F%EoCDSMs6\q3nc&Q5r;ZBSo)Jaen+6ARr:]UH -qrm88naQDTrUKU]s8MNXs7Z!Uq"=C\q>1-jq#'pHlLt8TnF,l0dRq>^E]nacJTroi;)nbrLfm-*a*na?8Rs"sT@lg=33mI^DXnF6JX -qZ$Tkm-4'1m/QeGk3;aBp\t3mn`8]po(MhMnb)bTo_%bAm-slLrtP4rnFQ;Jo^q\BlgXWDr;6Km -n`B*6rs8#MkO/3?kNVsErrr8gjl>b'rr3W/n)s'1r:Kd[o_/.Ts8)'EmeZq_+oMB?qu6Wlo'Yo; -p$V2;rU]::mITu?o_J7Hk3_d2oC`"Zrt=nZm.:,Ss7,ILmI1#Rs8Mfcp\b%AqrdA5kN_pDs68nH -s8W&hmeHJFnFQAHmIBuOp?h59na#;unc&Rgq=*nGrr4M:j8/fUp?;#Dqu?Zqs8DZ\mJR"arU&b1 -j6l4'q>C!Tl0e6Es7bjGo_\XersebklLacDp\b'al/V.-rr3mm-jfMrsAGdme?VSq"=.IrVneSr;Zfpo^V>4meHh]p@7eMo_na`p@J"Xs8DZ`q"XUTnG3+[ -p\b!dp%\Lbq==4SnF#l>p\4[[')2(qs8)3Rp\"C]p?Ul(l0n^HfmHEg/s8W#cmHa'4s7PmZ -oC;MOqt^/@s+13Rs*t~> -j8TnS`L).$IKS4u1+G"rfIY*3%I"$d.Ocb`bNK]Nn -Tq.:'NeW7@KS>,4JV*lP*.rouKnP/7LkphBLP1JDOcbZaO+`7FN/WUGJ:IQLBS;+iG(+mjKnkGA -Ocl&sNJE7BJq&K2MNja&O,o-MIt3#tJ:EB>Su&BfYc!qMOIDc-NJ<:LMhQ_6K7\c3L4b#*IYNW6 -L51_JN/*4GMMHh4H[LF(P*;#fMMmFMK7\l9LlRFRO,n4;N0'd+P_XgAKS,8LP)b]eO-l5oQ^Wki -MggPBMi*XgX0Ab-Ss,G4U7IR0P*M&fNJ3@QNJE@PP`q,tVPBTEPa.JoPa7DsT:_=5S>3!VR?32U -K8>>BT!Yf(TTtIjK7\i6L4kAGQ^3JcLkUO-LP:84KSY_SQ'Rr9TqA$GMMI1LPEq5`KnP&2Ita&L -N0L0Crj3TKXJVbUOcPQeR\Qj\T9bb-Oc>9[Od25oLl)+lG`e2SP)Y9NMNO'aPFA28Q^4ALZDjI^ -OGepONK93_OcYQbS"ZRCR@BV/Nf&[RMhm7JMhcq9IsuosH[LBlJr>YINM*_YQ\Bp?K8>PGO-H'$ -QAp]_P`gu\M26n:KntVEMMd.@JUrH,KnFr+IsufnH[:$eIt)0`IX-?oJqf)8KS>#+LP^\6I=?]r -I=?WpIXcitJUN$#KS"r>PE(KPIt3-'MMR@MM3EjWR?E>VIXcm#R]+[G^"IY -I#+/`S<8SaO.WA=L5:P;KS"`)Jqa2S)1mU&Q^sM-Mhd"?Jq&K7NJ3+NR?rhjNJiVlL2MWtL5i"> -[A/kDMMQq6IY:OG\jPO-5ZgS#N6FJqS`+It*!!It*B0KohOWK7o,GTrP&cTVI[7 -S!AYWJU2]mK85)2M3k9IY,@tcSLln$[Ng,Zh -XM26MVjs$8OGo*WNJN=IO,SgQMMI%KOcYQgTq%OJY,@qXNe`FKOHuE+R$jbT\@/ZGXKJt8TTkRu -OHYljNf&XNOcl!#QB%6&R$sqTVkKf[UT;)NaL\ICQ^=PY^UL5CVP9i[SXGt=Whtr8O-BU+>*t_A -MiO=-R\$(;Q'RYtR$!)ZO,&:ET9uR[TW,ArNIZe:K8Y\ZZ`C%*VOO$LXKS:WNK0'dOd;,kTrarR -U8=E>J:`B$Mh[(JNKKEdVREq,N/kNKKUSk)kXK]7;Y,AA-UnO0Arg!MJE0?'5 -MN`rU9(PgMiNm[OdDN*S"H.DVPBlb[(XGu_na%&]!Ai`]sFiISY;aSWii\:]sXQ1Z*A_@MMRCZNJWUd -YcX\"ZFITLV5C;kRZitnN/ECHN/WXJM2I(@K85;;MN*LNNK9*YS"#V*Q'e;LMN!H -]ZJ7-[_Ku.\?2BfOckroR$Eo-WNDkXR[02(P`:NXL5:_RTq%RKVPgMoQ&hE5[(EcAObn^?H\.*5 -OI)?$Q(G%`ZE(%3V7Oad]u&+Mio.t]WMlGWNe`7DQ(+,&Od)/pMhm4LN/W(@MMmLXP_b!FKS+f, -LPptQVQm_5OdqSrP+&>X^W!m]TsVVSai;&bNg#WhS"m6m -['QmkSVi,h\&cY1]s"E=\@fJZ['dKUVkL93bIFLVak,:pb/:HRS#NB8Un4-P -XKf(QbGpf(WL99UW33Y>VjN^4P`q<$X0oF=Zb*o_]u8.9_RHnif\bE;aM,C*c-aV@Z*pgB[@X.n -VOs6HWjK:P\u`!G^TjlNb1G4lag\+IR?Nr&SuSrm[(X8naiVNI^p:5Q]>DV!ZF7E\`ko$l^rjX+ -\$o56^;%:l`n&bd\%TMbYd2$ceC2ab_7mOl\Z;mC[C!Zcc.1M"g>:]?ai(p/aj\qufAb;m\A?A= -g>LrFeBPnD_8a[B`4NFd]"l5$`Q?0<_g]_ObK.iH_oBaBe'#>.[D'i6cGR/oUqjm\XeDJeWMZ;V -StiBt`Q?-;c+pTs\]2Y1aN)*+ZF7$CZaRHad*'PM_8*q#[%se1[B?3hOGSjWR@0A1V6I86Z)Y4G -\@/NW3!/&XgG:9 -[Bcm^9af;YdhB]`QH'&VQ@)/ -\A#u.f$qR;O.<)T`l,,b0\V\^U_;2h;6W$^V@=^WOBge^!kHT_RR.nbL>+gaP#Ot]=,PtaaV4NfAkQ+ -]thY([]Q@)[(NrV[Cj`+`P/pr_T0^2]tCtsbJ;HRf[nKi]XG5eaiDTNdGcHFScf$)"G]=>]#e'Q+L^rFULd)Ec2^qB[BH^=]Y(\\\%BDk^qROr`QHELcH*c(Z+%?Z -^qmt4cdg_'d_iN*_p6cV`Q?TQ`ko^6=hq\`]YDV?g=+9gaN;TE^UUVSVPL)o]u7_!Yc4^tT;\Th -Z([VONKBQtUp7>+QBS)OTW4u[PaIf#PF.l4VlZknS=HCacIU4RY,SA1`O`P#`llljkiqSfs+13R -s*t~> -j8TnQ]7!pb>?+X(<`E($=BSj8@9m)A>$:i,!EE2!$4s/r`0##q,RQ!>$V&5"C,/< -?=!J6r*M[LlI@:3MO?XI5M?sd8I?=./O@q'.bARf1YA7fId -Ac6-OART(Z@preVB4b^dA7T1Z@UoCJ,\(@tC1Uma@Us(^ASGad?smGTB4GI^?t!VX@:j%Z@qK@c -A7PUMs("r@(`H?X@,M@pr_O?!(66?t*b`CMdj$B5):/IVWS- -BPD$gAS5UdB4kgc?s[5PBk1LT@:EYP?t*VUraINg@:E_Q>[qD\B4l($Ebf?$@q&nWA7K.Y?X-lF -ASGad?X6rF@:E\UB5MO'CiFFoFU`A/CM[j*EHchVEGfW.rb;CG+D,(h?tH@#R7FDPl:F`MD6ARoCaASGpj>@h>YDK0`B -IY!6+H?F:KDJO67FF8^iE,]T'@Uiq[Bkqj@MNF*lSsbLfJVf89GAhPHF`(r0CMI[%CM79h@r-+' -D/OE;F)Go9Ec>i.AnZ+-H[L*_Fa/1UDf0N5Dg-DMH?t$aG^PR2JTPdJEH$/PI!Bs^G_(?hItDc^ -F(TK:FEN(mS"cUIOG/IOPDk3CIt2ceG&;DGFDu8GIt2j#P`^cRJqJZ'K8"i0O,\U;K8GMAIWoaI -DK9f@KpnHnLjX8[BP;4"DJO3:IsuH]FDu5@EGTW8GCYC&MN4*hNfGlFEc?;MJqSJiChRBqBQ/BK -GCGO?St`'ZV50T3H?ssiLm+7&,DKU8LH@:?t -J9Z'YHZsCBC1q3eAnu:'EH,l2B4kmlC1q3iAH$*=@T-]C@:j7iB5Ma1FE;>:ChmX%Ec>f.ChmZo -@UW_UA7]CdAS,arCiXiMGB.G0A7]CoEdDbKIs63lHZ@1`F?X@)IAS#:X@q/qZBP(abBP1[_@q91_@Uj1tJ -qJ8eF)Yl,BkV-mB4u!sG&hD:DK:8cJTl'KBPVU1EGof>rcr^DM1K_`Ch[9jC1q*eBPV@-K8PPNS -t;*bBOk^d?X6uMA8$"9NgH)fM3!^ULQ@dlN,iZQDJ!^*H%('ZCMn-8FDu#0DKpbhM26Y%BOt[eA -S?.:N.u[uE-R,"JT,XIDJNrtAS5gqD/X?7H@gs*IW]UIChRKADg-AEEdi[nFEM_HDf'9+CN4QLR -B36FG&:r-BP21(EH?2@DK0uSMLp%kDfU#JH[:C.N-AuNB`;ZEB`D^dEb]B3GA_)0EdN\0Q&q/nJ -UrQ*DJ!Kf@:NtfCM@g?S"ZLCP`q/cP)"R:G]S=oLO=8jIXH9ZF)GZ&B5)'nBQA<=DfgG]G'o!oJ -srjATU(RlK7SDpH$=:JG(+g^HZaFQH[U9gKTM+IQ(=1uG\h#*'5DN5JqSi6Q)(O_VPp;gXf7\DJ -c0p[I!U*]EHHDPLkL;8P`LuuSs>@tPEVWE^qR%FN.Z_CUTUSeSsbq3Q&^`YM3BDg-i'OFhh/JTbaIF`qkSL -4abcCNP)ZJ:2p3QBmf!MhQ_BO-,ZmQ&^]GG&MAIH?F[kK7\DaBQ8$;G'SCZF)5Q'@r?[X\&ZM1[ -$lo+IYaDcUnaKCKmS,kGC>=1Q'@DkMj'QkNfT-RKR7rnKRe5_CiY/dPc(a[RuMrDI"@9FY,7bWQ -BRGoK7A;tF`))@Df9W:F`DhTF*E(bMj9WfPE;>rKRIlXDK'WDL51SEOd2,jLm*I7G^b-hG`89!W -g/?oNg-9--8Fa/=aJV]JFKmJZGQC3Y^JW?=nPED2gH\dH0P+AhVP`2-3Tot=bK -6q`gH?apfNK]-EI>3ZZYd1UI^::&&O.!,ea1.t6OHPQJFFAV"N.cP$F*2_VKR.clMhQV*CM%@&E -`RI*uNRA?dUT;96/U7J$GL4FYsF)Q&BIY!B8L3R]]JV])7MNWa8BPhEpB523sDg?JBCi=93I -#tSH^p^S`bg3i#R>HNGIt39+Jr>q_Ne*"=JqJMrEcc/9F+B7+M3aQtH_6a]IYj>`W2#K)G&M/-C -N+?@JVJi1MO1$/R@L(CZ,=Af^TSW\hXF`2>MK78&lIXlfhEH?>JF`_SDF*W(ND/=')B -5):+Ee0CKXe^i&Ko2(dSWoG+NJEO_SXG[tOGJ=>N.lh:L67XYNfAL-Dg$Y`K3s=jNJ`geRYGs+L -m4L-ZcLk]e'?:\[&^RIb14SIUkt%dPcML/YGIPOq(JV/Z=R -\lp[V4OESP*M)uSViQ&PFJ#%Is[-L[(sShWhQGt[^E-=Yd_->Su0-=[]?pbh;-Gs\tk7?R%'J-Q -_:@_ZGsnXMOL#kNh;r1Qf%/3fZ'q/9I"-a-S=uLP[CsK#b/DK6XfJ_;_ood(\\,Vl];Vp@_ -S3=`[AC:=[^aE1g!-k2[B?I2]?&OQ5L7?a\@/fPVQ-r(X0T7Ue(W[;kNLjJ_Rd:rc.(Cpgs`pI` -Qm)ii8WSEdE05>^r=C4[]cj<[C]sk8UZE^X:Ydqcoa2,JUrN?V6-_^R\m-]R#mA_KmnT:SY<-n_S3%BT,aMkPae>CXfnk#S>W*LT -q\BhTS7fNQ`Ig9XJi(IWM5iSX.>E-It33,Ln1cUVl[PFZF7*=R[KkEQC!AZKorIO]#Vt0W/lOZJ -:i>pD.m^%Bl\EILQnL7Yd1X;SN`qsS['dBYai`2pe$uEjb/gl_W3j1_eC`C%bJV*>e^hdKXfenNbg=hc_mZYL[(F&YW -N3MIajAP_^pUG]^r+4=eBPhA`Ra#*eA]&2Z)44u_8X(8d)il(Yq!B,eDA^&ionn(Ye%iq`lloif -#5)1^q6eGR@U=_YcP+?aMu*.[^Ec`_>UoT`QQ*De_/[*ahYHo_T'L8bgG4ue&]ADce6meY+h_nY -,n\*Wj0Llf$V^hf@A*_^:L\caO&;R^r4@>f@.m]^qnCGc,IT<_S!Ltc-aMD]=G/DW3 -j8T_anEAuomdBT;o'l,9lg!^#mecSToDe:`nac8@nF6GGs6fmRs7-Nen*KB+mHX!&lg4W<$LI3L -md9B.n*BB/rp]mTs6fjQ&+fA^nF5u>o^VJ?mdBK1melDQmI'E?n,D_Xo^hYCn,DbTnGVkinF#Z0 -n+#u>naZ2?nF5o8nF5oFn-AFMmdT`9nacYMs7@]1nF#`5m-aE8p%J+PoC;>?o(2GBnaQ#:oCVYD -p@e.JmI0]CoCMPNnGr%WnGhqWnc&-/o'u5@oC__FmdBT8oCDeRo^M;;o(2DBna>l; -o'Z,?nF?)?naGu;o'u5=o(;JDpA"FUna>l:oC;56mIKo?mdBW;p%.bHp@\%InF>l4mdBQ4naZ,9 -l0@a2qu69YnauPGnacJFo_eXYm-jE6pA+CMn+6,To'u;Cp%7eRmLSdVo'u2=p%7eDo_A4PoCMeK -$1I9JmI'Z>o'l2Kn2B_)p@n=QoC;;;mIBiAoC)5?naZDQqt01>mdBW9o_.tJn*or>n*B0%nauJF -naZYPoCr%Mn,Dn_o(D_Mo^_JMm7mHjB8q#(0cp$Ll*p&"LTlg=30o(;58oCVSAoChnErVuoln*]]9n+?5:m.^8>nFlh\ -qtBXLlg*s)lgt/VrV5pMlg4'3p@@Y>'(PPao(VqOo(;VHoC_nPn*095rVmr4lK@R%q#C-UkjJ*6 -md^)Dk2Y^jnFcAEr;Zc\md^;F61k!NqY'IHmd99)lgXN:mdBZ9p&"^ap$_;5m-jN:o_A7SnF65Q -s8;Tco^(o6p%e=Up$V/7q#($Wmd9K2m-3^4n36I@r;$*VnFH8DmHa3'lgF-%l1P)OmcWj)p%\=Y -p\"1Nna5T-mHj-*oC_Y@mHj6+kN;("o'u5?oCMPBmf)T@n*oi6mIKr?lK79pkN(Xen*oW,m.'Z@ -qtp*Vmd9B,me$5Ho'u,2k324$lK@mI'B3p%7eE -oD8Idq""(MnEfT6o'u2;nFl\Hkj.R$p\ssXnEoQ.n*K6#me?YToD\b5oBu/;l1XoHoC;JGnauPF -lKn3:o^;27n+#i6n+5u6nG<"])u9*so`+sYk4%m1p$:u7mcWj0s8W#imHj<8pAY(&qXEh=o^qM8 -pAb0bk25Ckrr<#i;Xs>KnF#`5o'c&8nFcVSqtT[Gl0Rm.mHj?3lgFH>nEfW5o'l&7n+H>=lMLV] -nE90-o^qbJq!dtQo]bT5s8VoZio]\&q=sOTs8V]VmI0Q6rph6(nc&(Ns8V`Vlfn0Ds7c$Nn*'69 -pZq/4k3D:%oC28CrVlfsrVl[@pAb!]nE]B6s8Vc]nauGCnFQ/:lg*j#m.:)Nq"4:UpuCApi8XJ0 -s%!"ZoD&1Sme-#2jQuR4nFlPGn*]K+kk"ZEo)A[_o'Pc&iTg.9rqc9Wnb)YJnE]<+qYp-Rl1FN8 -o(2D=kjJ0?r;?*Op&+gbIdlFVk3Cd^qu?]hmH`runGiOfo_8+Uqt]jRoCN"^p?Cu>q=4"Jn)ia" -o^VbWrqlNdo_J7QpAOXMo^Lu6rp]FOo'G]7mcs6+q>^BirVcK`qZ$Tgkj%O&p@@tXrUomQi:d'A -lK7F#mITi8mHs?1l0A6Ipuq):p%.\B+S>?tn+6SZr:0:Mp[IY>n+#l8qu?qZ$TkmcaWDo_8@aq!dhFmHjE2kO@j!lgXB8qY1$co^DAAnaGi6n+m"`rV?*L -i8!5_s8W&np$hA:md/rsq>^Kko(2MRs7GjZs7c'ChWk%=o]ti1o(;YUs8;dcoBG>rkk"ZNoBYf5 -o(2V>o(hqFlKda"ip6=2qYKXAkOJTPo^25s7GgFnac)2lK[WpkO.s7 -p%J+Zs8Drm)>*=\o(DJ!\jnST6kO/BMq!IbOp@J%Op$hDD -qXjIOq"X4:l0e!>rqufrrq#F@n+H\[/,&8kkOJ?3iTKLqmHNitkj7^/s7bjRs82Efo]kc0mI0W@ -p[RS=p%Ik>nG`GEn`T3,lg!Wtr;ZT[o'kl-o(i%Il0J'Cs8Mc_lL='7s8MQRnb2\Jo(MtOn*]c9 -l/Ugfp\t1_rpB+BmI'Q8mHj6+mH`s!oDejapA"F[s8Vuhr;?Nnq""CSmHp%S+Op\FOMn,;cDp%e7LmHa$!kNh[8q=!kBmITi0l0n!)lf6d[kkG,Mj5^1: -qu?]moCN"^qY'p^kN24)p%%YIs8VKRm-!O$r;Zfqrr762jm2C#k324#p%e@Pn*TB&o_eahqWm85 -s8W)pn`f/umdoc1me-GNnEK]Aqu?Zio(2>5n+cPDp%I\Ds8M6U3ZmdK97s8Vljs8Duto]56(mdfr:mI9uPqt07CnF,]/(%(MXo(VbCl0\*0n*oo9l0Rp3m.'rO -s!mR,p$V>Ls75:>j5KA"qt'7Ep?q;Es8;TWlgjN*jm20smd]rBnaH#4nG`G#qtB^Vq"!Y8rVuor -s8V]]o'Z#Frr_TOj7*'Js8^Hjq"*tBoD/:Sp&=g^q""%Kp\4L_s8VTUm-jWHrVm#sm-s`Eq>UNkoC`(^"oJ,kq"O^c -rttP%q>^Ehq"F@Zr;6?cq>'aIq#CBbkiqL6s(_N%nb`@cp$V/XJo'Z)8k2bq)q>9UP -q>^Kjp%@qJmdU/QnaZ5Do^;/=q=sROo_JCVn*]fCo'uDCo)JIJj6Q1.rqGL?p%@hEqZ$Nip%7qL -na,]Cs7PmXrV-'_p$D,?p@A(Nmd0<;rVmQ.mH3Qqlh0uCnFcYTp%7hFlgOTHrtbS,o(;\Mo_/4\ -p?h;;r;Z]jq<[,'qYpLiqt&n)k3Vg7l0eNMn*]`9md9W>s8;imoBbl7qXjOZpA+X]s7b^8p@\(Oq=jIFm.p\ZoCMbUrs\DSlgk&TpZh54nG*"^rtG;&qu?]p -p%%\5l0@?mq>^Kbn,!%`+o([/r:'%rVcWgq#:9m'D_=kq>BaV -qZ$Nfn*B?-rr;imr;HWsqX=(UrsJ>`l1"NKrquk3r0FqYU3gn+-2Gq"ajbo^_bVs8MWTnGE7cr:BU]rVQKeo^VPJrVZ[)p$qbS -s8VofpA=:EmIgJY-2dN0pZCT3p\t3[kNqBml0@O&p$q83qu?6_p#kE(o^:VrkjSBIru(V"lLk2W -q!@SCn+?JHkjR]pkk4Z=p&G!iJcC<$ZN#F~> -j8TbTbFF01IDFoHU`G5l^`F:EJ=G'.qNG^4IUFE;MDqJu^[F`mV*rcJ?hG^":PrcA*^rHA0_%sE5F -I!g9fI!^0cH$O^^Gl;mmG^"@WH$Xd`rI"Wn$%.#BGBe7SH@12@Ii<`^H@($fI!^3dH$XmfI=6d% -Jpr&pJqno.JGalsIK"]qI/ncrJUW-!IXQWlI=?]sIt*$%JU`&pIXm!"M2$V2I!pNrIt3#rI=Zor -JUi3!J:N,tIXcltIXZg!JV/]5LkUG1J:iN,IXHTqJUD]eH[^HmI"$TqI=$9eG'J:ZIXm$'KRnZ) -L5h@]Lk:,.K7A?"Jpr9-MLg2(I!gHsIsHZDs^dLP1PES"lO9MMd@IJ:rrDLQ.dt -YI(L5WMZ>IO8b;PPaJ#7Tq.L4P`q/hNffQhMi*IOO-Q&tOc5-ML5V%QPF.i,Q^FGIYGn+\NeW7E -O-,NfP)kZjTr4`PQ'@MsOG\gQN/EXXPE:]OI=Hj!I!gHmK8PSDNLd8EObA48Jq])DrK.SLLP(D> -L4Y)7LkL;1K8';[4beT>It<6+KnP&.IX??bG^=[`It<&oH\.*3M2$b?Jp`3,LOt&,JUMoqIsucm -I=Hj#K7ec,LQ7ISKReONIijE&QAL-IKo_O]L4F`&ItEcYYG@88KS"f,J:;rsJ:[]O(5%6K8"o1KS+i-L4ar)IXm*(J:NB?St2++NfAjF -JqSf0JUrE3OGSRELPV._P)P3LIt360Ll%=dU7[jMV4EU!K7A)sKS+i-L5CbLQ^F,1WN2kRK78?$ -I=$EoJ:`ZFUo^hjU8XfSR$X5BTSe8QJUWB2OcbTUKHZDEQ&pcPIt`iFX08LlMLKo#I!L.%Vlc_[ -LPh.bWgnp#re*ssJ:N9,J:N9/P+&&=SX#+fL4t5/Jqo,8LlmjZLl%"HL4b)/K8#)DXhqWCOGemL -L5(VNP+&#/Mi*gsVONR$N0^'/SX,YfZIt)Zh -IY*?0LQIt0YGn4eSsu%?R?3D_L6JC&P)G<[NJi[PLkC80Jq8H"J:`?'LQ7ROM3F3o[Dp&![&'7Z -P`:H[Ne`=HOcP?]OH#3WMMd7TSXGh>VOa'6MM6eIT;ST4T:MRMZ+Icb[B-=,Um-[iOcbfkP`^iW -NgcZ=Wh,NIU7@aGSX#S7UR7^dcGd)eSsGP/XgPF4WMQAaS;mHNf8pQKSkeWUp%##Sq`#] -R\-(9QF*fs[Buj"QE6sWU8F]RO,ffN.$;2MM@=UMMR+FKnFo6Pc2LB_SLkpe@LkpqFQ'IDmNergaSsQ=JY+1`8Mhm+=JW#q]R$a>3St;RRQACQjSQ]KJW#eXM1UJ>P+AGNWgf!Z(IhlUo:GlT!PGgWNN>3^qd@OPa%N#PE_2dL5V7^Ss,"fNKTTtV6I8/ -[(jA`XL>^R];_-_P*2*!S!]V8P*:ckTUMO?P)u!#St:&%Z]p<:T9c(L_76>6X1#:5W1TTAO.)]4 -V5gi&RZ!2kR'a93^r4!kU7%RQ^!4g:YG\%gUQL:gO-l2pNf/jUO-ZK-OI`AHR\GprJV&K-N1$3% -OckogN0pBK_6K5ZM33maRA.@:^9"N=UnarlWLfKEDPO;8Vkg/`VOt!-YbIJQSXPb'P*Lo[Ll[[Y -N/j'sY-YI0OH,B]NfoQfOd;9&SXZ7T]uIt0`PK@.`50(&_7mL^Tr"!5N0L!1RZNSdJqAW0N0U3N -c,R9)\uMNmS>iWmYHOgmPEhT+SY2./DO$TRMM$J8L6A=+R%L^nYee)PYJn2FNJ!%HMM6eOVPp>n -Ycb4/VQ7#*Ss5FtO,o0TMi3IFKnkG;Knt\FL4k>:L5CkLQ^*SmOH,QiMN*g]NfJpRPF/2OU6(MA -Xg,OT]!\ob]ZpT:D+)R$X20R$!>bLOkB_R"(d*RAR3eOG&^iWk,^3M2$\1IYEZ;NffE_ -NL-QJZE:44V7b!m`Qd#hi8D_]W1oWBMh?P7OdVT$N/imUKn=u5K8P_MM2."MK7\`0KRnc7P`V91 -Ye.?=R%BkD\\P>;TTbG*WNE1sSY2@7UoL,XOcl,uMiO!]M2$hGO,naTSXQ:W\?)!QLQ@q"Vn:O@ -iR#ui[^Wi[^sgiUag[e/Q`@pJ`43+JNfTB`M2d=CLm+gMdG`Ke_Rd"MS!0#(TrFoh]#Db0_S![b -S"Q%&OdMZ-VSL'DLS:K@^sLN\^U9r'L4Fo:P`UlaP+A\a^U0`3]>Ve7b.3mqN/W+GR\$OWY-bXJ -[\g=9_6o]&Wh$#fToF_n]?egF^UL_f_ns+#Z*h0PZ_FM8`jr@gd+Zji_mcP7SYN'YUS=Q_Xg$$m -Wg9K^T:hdJVQHhcOHPT`NKBR'X0&G)ZF.6Xa3M]C^:M85gXt6#]!o,cbfIQ,YG\S3USk"8Y-4^n -U91l1[&p[P`k/e%cdL4hcF9F?S!fP)UU7J8[C<``bPoin_R$MS]>`%6rk*!V_Ss$n]>VUr\$Mj; -['-UBb0S8G]!JQC\&?Ps@b/hN:^V>'1]$/jS]<%m-^;@RdTqA]",Dgai_B*\A,kn]uJLRccjDD]!nf;Q_^soVO!7#N/EOROHGm$V5gl,Y.DK[ZCdAN -USXrq_R$AL]Ze[5T:2(0T!,N)SY;p\WMH)NWLoui[(OH#aF:e5aNVH*Xg=q"Wj&S%V4XK_XfA\7 -WjB7>R>m>qQ(*tnLR,!O\=8nYVl-8[S=#e7U:A"P_83jnW1]iZV5:&k['d'5Tq\EZUT:8gYb[GD -R\R."\>ZX=Yc":pXJDPZS"-%=R@^XlY-#1AXJi%kS"ZsiY-+OkTVJp8`rFHo`j;D,Oc>WhM1C!Q -J1lV9P*DB2Y-GFEYG@YYUSb&r]"PJMV5h5G]t(PJR\$go]=bb_VjN^5StVRGZF^%6<2l[eVQRhS -_7QnHUT(W*]>ht?f[A3d[^a3iVl -`O2kca3;fQC^!+dEbg4_og"=Nb`n&hh[B$.(ZadHPEN?+F -_p[,^c.(@pb/D-2^Mq?`kK."\Z2sE[^NidaM#C+`PfX* -[Bd$:[)KnfYIM6_aMbg*^;J(cC+[(s`#_7-_VUS+fm[C2`sSX#>' -S"-7NSs,J@^8\HDTphRGRZE]#SYr]rXJ_bbYJSAoXehhdV6-VhXfJS8bgt>$mI^@.s+13Us*t~> -j8TbT_h;K&>ut!,;c?_!=B\m5>[%&-s&oA&"]nf.=&rB$;u]bp;?'Z("<=N)5=&r@'=^"m.[(E;>[%)1#?k85>?b?;?2\+0?O:%C=]np0=^59@ra?^P?!LZA?X@#D>[(H??sd;U -BkLp`@V9LhAnCmN!+Pq;s'bt=rapUjA7K(X@:E_XARo=`BP(d`@:Nk\ASu9r@prhXAn5I`@:Eh[ -@:j(\A7]=_@Uiq[A7K+\BPD7"E,]Z,A7T=dAmeqQ@q8nL>$YNE?X@,L@:*;F?!(01>[ClMB4kaa -@q]e&GACf$B4tgcA8#IbDJs,q@UEGNARSeI?XF[W?!^oI?t!GO?t!JQ?X7&MB4bakEH,Q"AbfdI -?X6oB?=dYV?sd5J?t!V]DK5Yp&T2E%D/sW6CMds+Dg-YXF_>:bB)cKQBObIX@:E_S?X.)VEHV8) -$\j(TI!g!QDJ*KkB)ZF[AR]+YA7fIgC1_-qDJj<.CiO]OK7A5pHuEn@E,TQ+An,FdBPD3k>@_2R -C2S*?LOF]%G]e%GChdm/Df^5KCi3rt@:[_GGBJ"RJ:`-.SX51aJV/Z.LPC2+M26A&KT(qJ -JU;ESCi=<8JWPtEH["oR@p.BTq[p#H%(9pJr,MMO,JX=I!^'`I!pNmFE;SHG^b0lH$++DD01&OJr5VIM2[Ug -SsP=bGAV/8G'J:ZHS'MhK8u.[KnFu.J9uBVG'%_EGBS%F@pibW@pWPS@qp(0G^b^DKQ:^:CMe$3 -r-BE-EG]Z7D.dHoB4G:XASQ("EGoT(AS,UjC2%I"HZ`BOt[aBRQ)8OF(q^BP1me@q0%\B)Q?W -BPD:"Ci!m&Ci!s*B5M[0F`hS4AS(jMs'Yt9>[757"^kbMCi4"eBLQNGBkV*kBkLmb@U`q\@UNo! -L5()!GB@b8BPVBuBP;+'H?*e>Df0iNH#RV7AS,^oC2J3JLkgPAO+qjrCh[6jCMIKpXsKTr.(N0BWlM2$hARZ)<%C1^slDK^8EB4c13H$!k8BQ&'AQC*hhFD5E& -CM%7+OI;,YDfBoTPD4-sD/F'&rb)7I7r<6hItirDLk'VdDf'3#C2n63EdE(TEH?2@DJ<]pBlS?O -UUdIdF_bW%CN4]SH%1KpEH$AcNe2@jFFJt&Lk1/9LNdKIB`)I)B5)U/EdrUYBl%X9OHbc`Nf8=5 -K6qEGA6WDLB5MO+HA/#bRZ`_mNJNaRJ9l6SH]*T+GBS4SEcH&8C&VcEAlibbD/OHCJT>sdJr-81 -Yd('mO,A[>G'nOSDg6haH@LHA@K;JTZ$UDeEm+I#4/W -Q&KX"GCta,JqB_dS"ZO=Kn5YUO,fBbKm\/mFa/@]G_:ZsG]dk@G'&CgI -ML^,;Uo'oYP_jp:H$F7RO.`.UPDkQbT;.^9StMF3Is-="MLKM[DLd_7XgG""Oaq_%IZ0_sU7%=2 -O,Jm>IXulhFEM_LE-QqaKS4YnH&.o]R$Anh8G^b'eJW,_JR$+"tJTGjPEGfZ?L4Y#1KnbGDNgkcHG_Cd!FH`T,UlgId -LQeO-BDH@CO$K8#24JpE38N0B*OJ;!o[;jO26I$'VKO.*>VSX#eETp_7/N.?>4 -MMI.QR?`JOI"R3IU8G*$Ybm_EO.`r&ah"C>NfT3IEHle]IsZ?\Fa&"WLjsQ!Nei(9FD#B,Eclec -LIcu?G]n.NN16lVUP!]6It!*.QEn96VPg5ZR@^(AO,&ORS",e/R$O5+UU[+bM2@.EI<^'cEGfc@ -H[0j^JWcRuUQL%RI!9i6I"$[#Mi`sbVR=7W`koC"]Y;(i^qI4]S;`MTFE`:tQ&L3@EG9-'Dg-i& -ZcU.n[^DfpM2RamTW"ZJK7/B/N/j!MIt3)tF)>T*BR,T"M3+L0TsCtqWPc6(G&;8CFE2JYQC*r0 -U7nBSSY;mNMLg1tG'%\AEH6#4CMdp(CJo.pEc,c5Df0N;H\[<%I;"W -V6@PIZ)Dea66CMQRZDJX!'FFJRk -Q)(UbQ\g]\Of5LTNKf6PNguc1P`M#dL6J'eM1:&2KR8-$HZ!V>H@UU)P)Ya#VOE0\G_VNUTsW/( -i7$9#]t:mt]"lnLaMY-@NJX78`OiCVSVD]GIZcV%I\\,,ARZ<)TN0Ba!T<>iB^:U_Z -TTGCoG(54%Kp/gORt.*'TX;MPagA7FNd>PVD/X?/Dg.#.YI_*9WP$3jaM"UdEK8/Y-G6]ZF@We]sP5`aiMK@`l--Fa2Ga+]=k\sf#tLtStE?sZD!MHSYVd@OHQ6= -Z)tOBXh1p6Vk1B.]"Z2)^9Y8_^q7%ga3`&R`4E4TUR[F;XfIqII!9aVGC+agL5qOfTq7XIWh,Q0 -H@q0;Q_LjcV5grDb-mLkK78WDT::e'=IYnRQ]HrmP*ViBZbO8k[C!fk]<%m0SbXJCr/K8"r6K78<2UTgqeQCaqJS!/kdK7JlTY-5=G\ZVTkQ'@JnOdW#EVP9QBPa$W`U7e'R -Q@j^EQ)1diTW##mTq7sSSWOcu3&SYE3gVOX0N[_9,RWg\m.UoCQ&ZE9j`Lk_.\OI<2VU7e-LQ][T+ -\@?"WZ)!bSSZ8Wp^rFdSdEo\6YIVZscGI'#\?WBJX-Sd2V6@#!V6HbfW3j.O`PT9qWiWbG^:1Yd -ajSPKUP+VpXLbX6Y,enDb1,/"gtCQEhUg#oa0rUiXJ`GBag8FjaN/>5Z)k^MYcbCH`QQfhi6A[. -Vl5uEP+f7n[C!codb!0nZ`h:O`Q66G`Ork-hs'@]dD``'VkUB3a2?0E_mZYJE4O!?j5&8EjjLlE]#i%._:.Q&be1Kt -\?Ms'TrP?&YHk^YaNDN?_T0mK_nWjr`6,s>dFZsqaMc!0bK\,NbgPA$fZ_1Of%\KUVkU,p[^W]I -XgH*tg""I"f@A-d_SEe+e(WO$_nEb+gYLB(_o!,7d`oeM_SEgp`mE/Q]=52NSu2Lh-FCJ&\\#Vm -_S3OaXJhnp]Xb#=Z+.Qf_nNk$`luiYe^Md\Z`:(1rj`ZN^ULntd)Wo6\AlqCbfRuH\%;RPFM>T3 -bKePggXXBZ_p6ukeB?1ke'Q@^`P9=3c-Y/(jkeP6cd^Lh^9k,KU7elkL5LtOR@p.?P`_0)]"tqSS!T>)RurPmOcuNJ_8+:Po)4.>JcE%U -J,~> -j8T_hp?Ul#lg=04n+#r:mcs*'mJ65HnGhtWmeuMao(2GAmHa*)l0@R"m-X60m/?;[m-X3)lgF94 -naGo5mJcJOlhp/Un*ol=o'l,9rp9^PrTaUQmI'H3qsG?mnaQ#8mHs?1nF?)?naPr6mI0Q7naQ&< -nGM_VnF,iFnGhqWmelVSni$.5p%.\@mdKT4nalDGo^hYCn*oo>o'u8=n*oo>o'c2Cp@IbAo_S1M -naZ,o(2JFoC;JJq=X@MnaZ,< -n*]`:oCDD?o(;D>o(;SFnF#f:o^_G:mdg#@n*fi>o^_SFp@e+In*fW1mdL,D/+W/pm.']>oCMJ@ -oCVSDoCqbHs8VZSn*]]:p%.V>o'u5=nalDEna5`3n,DhanEfW3lg406o'l5Lo)eIOn,Df9n*]Q. -lgaQ9nac5>nF-#Gq=jLTq=O1EnFcSMo(;PEo(N"ZpZ^r/mdTf=oCVVCnalA@m-*d'oD\G-p&FdR -mdfo:nF?&>oC_eJnF,f5mHs?/nETE1o'u5:lLb&Ss"aHHqXX:NoCDD?n*TZ:o_A4PlL=-)m-F!, -pZq28nalGHo^VPDmdBW6l0n*.kiqI%m/HAjlfmj,o(;J=mIL&Eme$>Oq"4+GnFH5EoC2/HlsK>W -pA"FUn*B?0nauGGo_A(Mq>^HckjnB8mI'Q5nauDBoCV_Imd0E3m.:&HmdKW9s7PpSqY^6` -m-s<+oCh_Fp?M8CnaQASrq5aMna#`f4 -nF>uq"F^eq!@SGp[@G7md^2QnEof=n*K?+nac2=o'lDPrqQ'Pn*93&m-jrF;Y'GMpA+UXme65; -m.C)Jo_%hDn+H\[qX3b=nb2YElL400p%eO]p[%88naPo4o'l#4lg*s1r:91;lgaT=p%n=LmI'K4 -mIBZ3kj@p0lL4**rp0XNrpTmS!V#^[oP3semdKT5n*TK2o'kr1meHJFkiV4%n*TT7o(DkUp@@hH -mcs64p@e1Mm-3p.p[mn:jm):&m-4!=n`8ltq"=4Elg4-3n*0ZJs7PX@lgXB5nF>u=nauA@n*fc: -nauGDna>i6nEfH/q#:9pp@%JLnG_t[mdTcEo*G0ir:K=>l0@a:nc/24nF#Z/nFZABnacJMq=sd` -qX`t>oCVVDnaQGPmcWp%l1+E8nac5V*;Amkp\+Xbmcj93nG)A;n*B9,qZ$Ken*TW9p[nIbEVAb^nG2bDlhpe_pup`' -nbrLfo'u5>naPu6n+#o9mdg/Or;?9Wl0.R,oC2ACo^__No]kf2o()>>mdKW9n*TuOrT@o'uVEo)J_\o&oB*qu?ETjlkslm.^5@n+,c. -mIBlAoCi%\s8)oCMJ?n+-,M -s"sZ?kO\QIr;ZKTio91]k552Yo'#N+kNqs@p$VJEp@e+HmIKrMs8;0Jqu?Kep?q,+lgalNs&/jk -nFlPGnFuPIs6f"=s7c!Po(MbTn`oH(oCq_=nbW7_qYL3_kj.d2qtBa`s6f:Ek327#kj7p8o^;89 -kN_9pl0&$Fr9WhCo();qXj=Mo'bi:p$hPImcX'+ioKOsq#C6kqXX1Mp[mk;m-*s=s7l9do',#hq#CBnp[IJ6 -mHj3$kkY8Yq!@D9r;6!Wrr3E"lg=ZNs7,7>mIBuKrr5%Un`oE(kj\HFmHF!/nET?%oDA+Jo^_8- -ip$%0r:]RFlg+$/nFQ\Nm-aW?l1G#NmHEp+md9E.mJ?e](&Rpnl1b5Xo]PQ-mHj91oChkLp%.bQ -nL"#&n+#T"jQuC%qtC'[m,[[6rUfLHoBto,l0n9@r;?3Yq"jdUmJd,ZqDs8W&dj7iTRp#kN-p$(o1jlGk)r:B1>n`T$(qZ$B[mHs?1n`B31lJq1'q>U'^rql3N -nG_hmm-F'2q>L3Zlh'c6mIC/MmHsK?s7u6KmJd-6o&oN5m-3m%jQlF4na,];qYBp]p%@tGlfdg. -md9]Is81g>nEBTGr:Bscme6SNoC;bYr:0(9kO.j*io]_#md]N&kNqX-oC;JDmdg8LmHo^)/?n+$GPlKIR%n+#o1l07="r9`hs8N&po(DPA -mdT`2kNV-snEK34s8VomrqlTls*a\?rr<#so`+^UkihI)lf@[*l0Ia(naGoEs7kaIrU]O9mf31` -s82NTjR)R0p&+FNnFH/=n*]i:o)ALNn,E7Rs8VoChqMp%S%ElgEuqip?C9n`fB*.d?EpmI9c:n*T&ok3i*GqXEnGo(2bYq![YNrUKLW -oAnp&qZ$NgpA4aNroF1MrqcXso'5Z4md9<(l0Rm-mdBB$j7E3Ks7u!Blh(&Hq"F:EkjJ34lg+*7 -o'GT1o_SRcq"*tBkk>&FnGiOOnb;_GlKds*q#0gLm-j0*mdB?*mdB?&lLO]?m/H,Ir;HX1qt'U_ -p[7YFnFZ8@nF6&Cp\=4Gmd'l;'^P/YqtB=9l1+61n*oi6m-jZ;pAY'k"Ru-^naHJW,4G9plh'uF -nacMOlg+TNrqPsKn*K0$oCD57nFZJNqu?3_rr3W)p%ItPo]bfDs7c9fqX+:^q=aad"7G[Eq>C7" -rUBU\p@.bEkNMF6rso%gp[S:`p>k9&p[[S4p&=t*rqQNck3VR'oBu,4lMpnZk5Y)Arr2otp&=t: -qX*P5melnOlK[m6rV#XOs8D]dr;H$EkNVL4q=pA4ghqYpL&n_Wa7qtg-_n)im,rr3&pp%eOc -!T`hNrrqTLqZ$?arr<#l1@jbpmIKf?o_SO_o^VGNs688*r;?Qcn*]`4io97gnb2VDm-X-.naQ#8 -o(rC^qY'FOrVmE!kMb@dq>('gmGm[2q#C'erupstlKms.m-t&Tr;HZqrV6lh:>X*W5d.o'uJSrUKOVq"OCG -mHa''nb2kXmHj'%n+lt^rsAJlq"=.Jp%eL`rr3&rrVc]p+o;$0p@S1\s8MWVo_ndeqt9ITq=Gp[.D@oC;_Xr;>p>kj@X&p](-ZkiM7(o^DPBjQZF;qW[MDp\!t5f^%nrp\4[e -!r;^Hip@@eDo`"k[rVuTY -me->Jp?h2p%A=a -s8M]]n*]rKs%rIVkj%U(p\+4Nq#1-dm-a?-m.U>QnaZ2@o_JC^o_8:^o]ti4s8W#ioBG2qp%nX_ -oC(r-mI0Z^KlmHEg!o)Ja`o'lJTr:B@H -l0SL?gm-!d0oBki4qY^*Sq"sses7GaPrr36"lgb#Tp$;)Gs8V`jrtbM(s8Vogn+-5O -rqGdKr;Zffm.C8Nq>UBqqWd&ki_F0rr;`]q>^-Vj7EX!ur;ZK]q>^KlpA"RWs8Vohq#(0lrVcZnrrr2] -k32:2rr<#b#k.Qgs8MifpA"X`!ql'Yrr3-#oC(r6rr4&:nac_[rUoaQo_%hNqu$0]q=jOAme#u; -qZ$TepAP!j,l-oun*BWGs7P^Dme?VTo^_PGqu-NmrqcE[l0%d=p\4R_oD&=b.JNAsnGE.Yp%S=T -p\=FQp%nR[o(N"]rU]CFrVuoonFZ\Uqtg*\p%S:[rr`5oo(W.`"8VQ\r;Q4Xo_87\s8VrgioBb( -pA=CMo',?)mGdf5rV#jQ -oDX=@JcE.XJ,~> -j8Tb_e"_\HIWomXFa8=^I!9[PEHCtuq/u^Zs)\-Z&9iACF`MG?EGf]5E,fo>FE.8"$up<.E,p)F -G^+CSFEIM'rc7pX#BY*3G^":PF8g1[F8^+^F*)PJG5HD"GBS+NF)l;BFEMbNGBS+NGB\=YH[C'b -H[>U8!d]*9rd"Ng!-e?erd-POIXZZiGB\:UG^=acIXQTkH?jgaI=-BgH$O^`I=-EmK7nf(I=d9+ -J:E&tIXciqIXZ]nIXh?Is*k&uIK"V>IXm!"It3*$IscWmJ:W9.L4Xo'IXm!#Jq8E'L51D4J:E&t -IXQTnJ:W6"IXm#uItE?,K7SN'K8"r-I=Hg!I!L!bIXZZlIXlrsH?jdYG'A7ZI=Ha!J:<) -H[0j\IXcfqI!^0cH\.(QM\;)8N.un9LPgn@KS>)5N0KQfJ,XruJc:03LPCM7JV/W5RAR!VP*V5fK7S]4MhHY6Ll7+GMN3aWLk^bDLl[jbMiVNm7+Pae/:TTP8!PD>9jVP]uN -Nei:LPh%NNJr^JKS>26KSPYZU6pgiJq8N*rdb3&Isuford+p&MN3RLM2R:Ir.Ss=Isl]nK7eZ( -KohOaP*;2pM1:,2L4k21Jru1OJVT#7NKB-VLkUA.Jq\u=RA[-bTq.^=MhH_5I!pElJ:r`iIS"m4$aNV?'Whl,> -It3lOP`q2fMN*akWirY&SYi6XU48r/P`h?)R\I=5_60H'Q]RK,WMZ>bU7e'COHGm%Z+$ZpO-cW8 -U7@C&L5qXtZ+.->Ss,,&RZPQ^sS*L4b/4 -N/X.+]=4oANJs!hTUhRA[&0_/\"]"GYc44_R?`egPE_2pSX#;)RYuuZL5M%NR$*DeG`\)IKn5&> -T=VkL[_/`5Ocl]U[]ug%OGSaIM2%%b\@/&nQ(P4_UoM2HZ_j.WVQcq\K7niNeNX`P)klnNf8jUQC+)(M2@"GPa@i4W/ZLfQ^3Z!Y*tE,MN`VO,f!JLl@UnX0AUoOJK4jU6:_/SrSqpMN!psVO`p9Q]$`bR$N\b -KSPJHPD56bMhI"RS>i9WVOip-O,oB_MM6_=N0B?XJr>PALlRpjN/j*jV3HspOfPplS<&o!NfB0a -Ng60/RZj#+T:ML?Q^*erMh[4OMMckKW3W[tUT9ub\#H12Z`CRM[]cR/X.u,KPEM9!OG/IOP)G?V -Knt_NQ(4SIWMZl0\?;d2XgP[;SYMdGR@BS,OHGB^OeAJ9RZ`_jNK99oXh(-eVQ?J^Ts^blWOT^O -Y-+LiP*MuMY-PRKXdP-.Pa/)>VQmP2TU1n5Y/L@gDT98jU8P)]LPLhJMi!:JN/ip[R[0)'S=#bH -R>-3AJ:r`^Ve.7]tqP(_Q]`3R#m8hS">n' -P`(0HKnkYPU:SLZX0oUBVNRRZZ+.]]XdY62P)PNmQN!7oP)FpAKn>8UURRs_YbSbBT<$&HTp(=h -MMHn>KTr%%Y,\1fW2Ql,ZDEhINKB9\Ll$tEJV8l=Mhd+JLkLJ>LkCGDQ'[McMi3FQQ&UliO,f0P -Nfoj.Y,@k_W26N%]=+rF[BQR.Z`'"DOHG]fNfoj+Pa#gANg-9!K9M27"DKSYeaWiiD#Vkgm&a`c%[cI14]['-BqQ&UTSL5M(VP`(HUKn4c)JUiW?NeN%=NeN%9 -L5(A9Mj9R"X0K7EUS+HVU;"j^U8F?BSZ/ZmYH=doRAmHfSWo8$Oc#6W031%LkUbEL5VG&\^'6YZbioW\YP7CP+%]! -QDqR=aiM34XI#-3Mis6jPaSbdVNRsTX3/uIhnQe0U5jhYMN!RRMN=4([(NfIZbX8c^:^S3LPLSE -S=uUIVm*J8[T0?@a3V8`SY_gOVOs'.PI8f[_7@"c_T'U4_54KW`l=mS\%T2W`7!8Wa2#!XTq@pU -XKAY)V5C<9afh;8Z)ajoR%'bTW,K2WP#XB]GXehedT:_UDWOTL@US=$? -SuoE$U8+BGQ_:.VZE($H]"tePVPKl^X0/FrR[BM1Wj].8['6BnS=cIO[(a>]V4jTTX1Zr+<_Qp8CVQIA>Un=Eg^q[Cc[B$CA_nX%1ccj5: -^W=U>]Xthsd`o7oNg-6I_m?>OXLcEmbgkM'cdC+__nl7e->Zt>1>Q7k,=o;P(>rH%t?s[&?=^"s3>[CcF?X@&D>?kKA??kKA?I^AS5ReC2@^"An5IcBkLj]@:NbQ>?bEA?s[/I@U`\L>?b*.='8^5?XIAR?XdY_CMIQp -@qK=_@Uj%YA9)a&?=7)E?X[;F>$bK>>[:]Era5\5ra?CG?<^`E?=@G\BOP:Y@:N_R?iFF\?X?uA ->@CuL@:3GM?t*eeE,fi=G]Rb;CiFH8D/O6.DKL5PFCermr+/3(?smDP@UNMI?tX=tGC"UmHua:N -E,B9"@UW_WARf+V@:E_WAnPdc@q]UlBk_7$I#!K/IXQQ^DJj<-BP1pdAn_0XG@Oie?t*niFb,Bt -IXZTbEc5i3DfBQ3EGoT/ChR9b@:OF)D/L4Oc'J:iiAJ9lZprd/^3H[9gUF)cGTJUDW_F`)&6EI!%cKnbAV2HXL;mC3"N=DfB]7Ch[[!C2.Bk@:3SVARSt[GC4gc -I"-E]AS>msCMIQtH[BaIDf9E4G&V>:CLq!fBk_O6N099ZL5(.uCi!cqA7]=aBlA-=H@U^'OIi/3 -HYmG.ARJhQ@U`neIZU+qMij0VI=d91O+q[gC1UjkD(9LECLq-uHZEq7A86+.HBst`L3.3LGB7P: -KUe`uIVj+KJVnqpD/3s&C&Va;CMn$1H%_-[V5`Ed)k^P`^fUJqS]'Kn4`"F_u2HI=-EeF)Po6D/="eC+j:5B4kpkC2e;`H>[G0C3YVrN/!1MR&@:(_6Tr1RZ2T1COgbV -H?aXWH[_!AS=l./S=Z1;R#QWCIu]JQYJ7TDP)t9CJW?.bPF.SsNJ2h/JqfV_NdQ/.OGSgIIF,XURm^+Is$9kGB.nMHAdB*Pc1:DSH\$KjNfesMObJ42 -GAV28Des$"C2.[/GCYaSZ($DoH?F4GDfU&JI!UHrH#n(RIX?0XF`_S@G_CU#JTbpGBkVF(I$18" -SG_1a.L52LfQ)1=>J:=,XNJWFCIQcQ%O@!Fa\UWCN4WGI"$['NK]ZpO+r@AJ:<$=Y-FOU -LP()9SZK#bKQhQZDJsK4C27sBNLQiHVO3=6W2G`*H%1HlIslHaJW#M@G^=aXDg?h_GAhA=FE`%M -H[^0XGCk^:NK'*[IH$t$^G^bQU6UIjO,JR5F)uPK -H@LHnIY3cTT9ke%KS4btG'J7RFEr4gOH5[*]ZA"4`P&am^r*^r^;%4OO-+p9GK* -E-?huZGj>OZF6NrJrlh)Y._$-K6_ruIY*K3KS"`#EGK)t@rmKiN0L05Q)h-VVT-'+I<0IOrGm"4 -MijU#Occ9.UoL8SK6hZbG]@V>E,K<'DfTi7EHQ5G@QN/*UeSt;RISr\euTTb7aI"-NfIY`PjBQ&-JMjL0(Su8BII<0UaQ(F\V -d+?OaeAJZ5cGdiXfu_17Nf]=!]udpnZ(Zu(IX-'aHZjdqUp.hna03.NX/qV:H@q'0K8Q2+^;@Ui -Z;mKPKn"DuI>!*)T;nB:URe-maj/DD[B5pLDJ3ZqCMI^.K9iLFZ`UXP]skJTQ?[:eFaoLc[_BMQM3"-ePE_2aIYOW5^V$qY[Cs>iJ%N:bY/%ljTUr3'^Ye\5l`6m)_bfdr-PE(KTItjW*[C<]X_91<\eUP]OY-#%FceI$qb/(U"]s=N<]tUeQ -Um.:9S"$7`^r!LVR?s\Wak5%fc,RN/\%8f:TrG&mXf8V9^WG$]hV?&ZYHPIRbg4_`_RmRs]#)V; -f@f!9g[TrA!kIA`TuPb4qPU77ID -Za$:4XJDtoPb"5BYdV?kdE&uhRZrnsSYi$?IWfg\H[C!aKT;:VOI2E"TV\-A -IWg:"Mj:'MYc4IqZFQogJ9uKkP+%_kNKf`qPDOgOOdr2F[_]\gYHYd__6^5?R[9_GU7@`KQB[i/ -SuJrlW2Q2=I#!Z9P`(0HOJ]@kQ][Q,VP9E:JqAQ5XLc*]`O)G2Q]d;cK8,VgXJDGWL4bMZXeV8N -P(SILQD(7OU9_>2TUhWOQ_'kFT9YCmNfg3CWi3"uT9GV2R@gI`YaUN.MiaL6['m9:P(\4,F*VnF -C27a/F`)GTJ;05TR?WkrNK'$cR?jJCWLoH?T!uD>WM,N3MOC4Ac.Uh1hp&U/ -VPg/YR\R-t[^!m!cHOJEZ*h6caL8"M]uRmu_:@GnbfeSsh8QtBa2?BVeC<'s`3ck`^q-PAXM)a& -f\FriW1CT=a2uB<]=5Z+kje-)fZV(_&>`4EG$gu-f._ST-qe]u7P^V.7jaj&#G]XY;LRAI!cZG=Q'^Vn7= -cH*]'XJr"r^:^PDYIMEib/hZGd+-ate'cO][Ap:>`PTO7b/)$Ff#PG:]ZJ[Rd)sMTrks/u]=bu$ -cHt"kgXaQdaOfJ3f[&%#f$i'mbK7rPeC`[>jPJP>f\PN:_mQeXW2Qf']"l;&\>lBfP+nYCUmda? -O,]?eMiX*gPF&/TYHt@(T;\]YNK'!^R\-4@Vj`pEYdC -ir9;_p$:`*lg=61rp^o'lVH!:9[M"RPODn*^/ArU9^Q$LdKQnFH2Bo'l&:rpU*[ -md9E1n,;YVn*of8rUKpWr:0dU.eE<)o'c#7n+#u?o^hYCn+#l8nFH2AnaZ,;nFH2AmdKcAp@@\C -p@IkFrU9jXnG_kVnGMhUnGVefnalACnac;DnaGuEmIC/RnE9-*mdK]8m-O6@mo/cJoC;;;n+#uo(2JDnEfK-m-X6/mHj0. -nF?&?o'l,=p%nCRnbE(XoC)/?p\+1NoCDDBq"OCFlgF62naZ,=naH#=n*oi4nFH/Cp$h54lKdp.n+$,@ -mdK]]5p%S1Qrpg3]nal;@rpP=(o_A7Z -q=X1@lgF64o(MeSo^;DPs8;Q]o'bu6nbE(Tn*]f>o'Yu5nF,c4o(2DBq=O%@lgFT5mI9cCp?q>: -lg"*6mHO!$qZ$Qdp&+g_p\aaPoDA=Lnb2_Kn+-,>s8Vr^lL+-7q>^Kbl0.3imeH_VoBtu6nFH>J -o^`%R"nD*MmdTiIoIfb+mHX',o(MhJn+-/Fp%A%On*BH7s8W)mn*BE4p\b'kqY'abo'u>Hp$Co+ -mf*57q>C-]pAFshp$M)2m/$bPm.0f;mHNm%mHa01o_JI]o'Yu -qY'FEm-sK.oBbi6o^_MEmdBH.nFH2Bp[n(HnF,o:mcs3.n*TZ>s8W)eioKV%qtTmTnalJFoD/7Q -l0Rs3o()22lhUP[+85'dn+62>me6\\nF5c:mHa!"m-sW9jS/]Sq4nG`"YnGi%mo^hS@n*or? -q=s[Un*ff>nF?)Bna5W-nbN4bqu?Zal14]Jo_%V=p%7hLmHa61o_%tSo^M89oCV\Cp@e7LkNML8p?h8H -s*sb*k4A9@r:B=KnF?&p\+1Ko^;DMp[.//mHj60nF?#rVnDIp[7;3o(`1`s7PRFmHX*1p$V#4mIB`7lg+'4rr;WSl2CY^rqZ'KlL4EE -s*jqBo&oE0n*]i@p](-[o(r%Ekj&3Gs75ICkje<1iop1;rq#aWoBP`6p&Fp`rqY^@o^_85m-F05 -p$hDAm-4$,kj.F-s8DHRm-4!-mHj92nacVSp@.SCp@dtDo(2;9nFPo3p@7P9mHsH,kkP2Xq"sRL -nFQ5'UOlfmcsiU-R?nGDeQmd0*-s8MZXrpC9`n+?PXs8MojqYU*[oC`+_DtiScna,T4 -qu69Plh(5OmcNWppA+%@q#CBgl/MaCqsr6mHX$+oCMJ3k3_q>^Kfk3N$Hs7>IDn/C]_p[dS4o_e@Hl0e33 -n+#o8lKmp&n*fZ5qu6V)lgXH(mf2kFqYg9js7kp@lh'uDlKR[,oBto8rVGsKlL"$*k3;:"lfmR! -o^V,6md9WCoC)VQp%%_EmHs?/p%87ZlgO95p$_)+nGWC]li7"\o^)56meQn_qY:$\p$VJOrtGA2 -s8)-Imdouf1n+Qb\3;W=:lM1DSkN(gkl0%9snal>CoC;PGjQ?@>q!.#,nFH2BjQZ'n -p&FOEl21M\nEKB4lfmTmmem(a4n\1,meHhYnE]B+mdTf6ipZF4r9s4Fo_8.UoBtr4o`+shnETB9 -s8)6UoCD_Mo'l/;lKIHtqZ$3Ro)Jahr[IX9qZ$Tkr;?Tpqt'g[mcNWrm-Em2o'Gc5naGf/rr;fT -nGi:YiUQsHrr3?"l/Cgmkj8'DqtL*\s7H?ZIdQ_"p\=RXlMpnLlhpGCnEfN/mI0W/nF?5Kn`K') -nG*%`rq#C@oCVVCo(;M>me6VVoC2DBlg*p"iU-XEs6o(:n+$8Mo(DbKo^h24m.'rMr;HKbo_/7` -rq5p\qXF"KleL:aq>^Kjo^h\@ki1k%s8Vfgq#16moBbr7=S)@\m-!KnlL"$'iSj>'s8VufnaQ)= -lL4?6l0@j4p\+(Amdp/KqY0UMm-FNIki_d>lh9r@qY'@Gl07U+nEo]6md9B'l0e*1mI0W; -nE]5tjnAZQD=m/\p\"+Rp[I\FE -q^Kgki_=$lK[WrnGiO\mIBo?o_S=]rtt"Sl2CDU -oCMYBj6H[Erq5gOo_81UpYbQ?rrqcMoD%tPrr3<%r;6-Wp\=7Lo`"jqp@.MKq^0Oki_='q>UBoqu$Ibp@\4Zr;?Ea -nac87me?YZs7P[Rq=F(Hrr<#qrVu`^kjeWCp%.\>me-PYs8;E[s8;6Qm-"!+iUua)m.L;Vs7u-_ -s8ViZo_e_Iq!-i"lhUAOoBkl6p\XpbmHO08p?q25o'lDPqYBOAmHs-'o`+sjo]GE,na#c5k3`$F -r9EbMndY3Vj5o\(qXaUarU]FJrVm!!q=aX`rsAZ(p$M,6nGE7\rp^iknc/Xas8)EZp](0hmHWp. -s8VuhnFH#?r;SnRlL4WJp$V,2q#CBknF>o0nc/Xgp\+">n+QAFn`TKCs7u$Lm,IF1s8VWPlLOE> -rVH?fp[$r1r;69grr6-no(2;?s8W&tqs`n0m]r;HX,o'5E/s8VZQjm)@8s6o(Cn,E>'q"t$ioCqtNoCDD; -qYg9[kjSHLs8)NhrVm&umc`s+q>UC@rVlZcmd9QEqsa(Hq=j@UrVQKlp$hbIs8Vueq#CBdl0A3H -s8)ZmrrMc]rr3T-p%.hTs8Vlcq"O:Enc&Raq#:9po'#67rrr8fkMkaurr4bPq=aa`p$qVHp[m_9 -n+#c.nbiFeq=4@^q"=%Hs8Vuhp&4^[q=sj_o'Pc2oD87RoC`+Z%f#_jr;Zfpq>'^Zr:faXrr3f3 -rVu`os7>gPp](3apAb0joCM2.kjJ?Is8VQfmL8[[q"3e5n+cq_qt9[^s!@X9na,uLs8D]ZnGiOd -o^D;@q"X[Zp%J4Zp[[P>p@IqUs8VZcrVnSHl0@^'nc/X[lL"3@s8;]coDJUdq"FOZqXj(;q>^Ek -s82Nes8VZXnEo]=r;?BcrqRo9o^VMKqtp$[r;ZcflgXiPs7u0Uqtp6bq#10do(r@cs82Zfp%eUe -^<\q#CBg -mJ$Y\rUf=7m-j-#mdBB1r:faHli$k`p[\1[rrE&hrr`&jp\KI@JcF-tJ,~> -ir9SEY)n3aG]\+NH$asdGB@hErcJ6`F8g4UF8g:]F8g1mG'A1SF)c2?E,fl"Nf/_mL)l,.LPCS>Ko(_DJ:2lsI!U&7M2-tKO,]0bNeiOIMNrmPN0'`bKnY;:LPL_GM2@:]]DR%U%:NJrsdSt2+(LkUOlLPh%IKR\AqIXcm'OHPTZN0g0/R?WV^K7no4M4'WiM2-e; -KTM4KIslfoGCY*kLQ7FVP(J13ItNK2LPgkL -M1:!RIj]o$J;9PiX/;AGL4t>5Ita)aS;iM_OGAF:I!pHoJUj&bUlg4WIt@TL!.k*#rdblMLk:G -K7\Z)ItE3"IU.ScR%pXHSXGLqPFJ)-P)"[FJq&T/KnkJ?M2I1EJUi9+MMd=aUnF'3LQ@gbLlJ+8 -ZCd26O-,TiM1CA3JV/Q+JV/Z2KnthYT:qpGP)G-NL4b&5MiQ(Xq[^p'#i -PDk6MN0TlqT;J*5H\%-;OcbZdR&@3fRZ`ktMh?S1JV/Q*J:`H8LP_FcLOY&?T;7mn.M27%HPF.PjK7o#5K7no1rdn^7Jq8N-LPq1SSZ],kYenE2 -`2]8gNJE(;Lkpe>N00?mS"#_*N/s-\O,AsbPDY6LJV/rPV4X!3OdVuJ]un[/XJMPQKnG;DOd22k -KS>GGS>NKtY,et@YG\4jR[051WNs(K^43>WT9te,S=c==Tq7a@Oc5?eSuSrfOcGs6WMc;LM2@Ca -X0Ak/U7$plP*LrXK7ScDS=-1XXJ),OXJD\UL4t)3Mhd"LWk>sMZ*gU!QBRDrOH,`tMj(!2NJiXK -LPgk>J;Af-MiMi<=FS#id!Z`0OWNKT?`Oc"pK -K`-O2Jq8T1N/s0eQB%#aNKfH`S#WHYV4+$;NeW[^ObJ77LQ.IcUT:MsW2HJeTUM+0R]F!/U6Cb& -N00[;\ZD'OL6.CRMhctgS"[($^pgPQUnm6'[%N>/It<6, -ML^PEKp&$hQ(+bYVN$1_Nf90kTXDtgc+gHVS=QFTSs51lNK9?CAZEBIh]t))2`jD=uNf/OFQDLCNS!8qhKn"Z/P+&)?VkTQb^7hL?ZC6o7M2$\:LObAK -T<"obVQmD6]tCV@Oc>K`MM?qC:54@TN0BB\L5Le@LP^e?PGG+LNeN@MO-l8qPE_/kO+`[ZRA?a[ -X/i.rXL5UIYH4n.V5UPiMM.%SQC!euQ'mntL5D:nURS'VX0&.Yre>NROH,'HJqSo:MM?P/NhXG0 -]We<.SXGS*R[KJ0V6?SVMiO$aMMI+OQC!o"MM6Y5Pa[DdStqUCS=-";Ng,ouQBR5[Jqeu9MM?kC -MMR+PS>E3`V4jE]]uA.L+]?L51nS -T<,6'XdYlZSt*+&[\oUYP+AJP]#_RjSb^QNJ3+NP`ClsYI)0r^8elL\?qc_Ll@@TMijgHaN`&H -^TEf]Mi*RTQBIB(Y-+t7WijV"h:f3DZDNkBLl.(HLl.=bWjomSZb4)YV5^FGSWAY_J;g/"TV&-b -WN*,#[)C(jQ'\#.VOa0DO,^3ba1\jaZF.3R[^Mg3^qbB;XJE,/YI)6nbf7fG]<\TbL"_dd))@sYI2!\ -cILY(f$<%)f$;%9Y-GRN^:^q[Y-4t9_9(!J`4="2_nEn0dF6FkeB#%sX0\Rr;k]_MS#*)pXXKnq% -P`_E+S><@+^:^\EU0=LhMi<[WS#ip!R@^%DUSjlUQCb4aXguBe]!Sued)s,4YH"_4[^*6MX.uDb -VQm\;YH4.HLRFp3XJ;&CTXMn]Umd^KZEgF#Q'dl4^]uR$X>2PF%T!QC+,2TVA?cXJ;;YX1Q0UX/Mb`U91]+YHN8X[BQ3dQC*o0ZF-$_Q(4PA -TVAQm[^ruMV5(/n]?Jg]iRZJu]!SrY^:h+WU8+[`luWVf[SC$g!RdO]XP)CX1?6o -dFHdg[AT_2^r=@5^:Lnug?Itgiml,f]qGO`4!+eYHkOB[CaE%c+:-LTWtDiVm3e8 -StrKaOcl-)TV/6j\@]/NZbO&MTVA6ZXg>=8^TOB4[Bl^!UU.5&S -ir9bHS98IS>?+[!<)m%&<`W:'=]SR'<;ohl<;ohr;Z9N+B#!*&nq"B8B%='#9"s&]5#rDX)'<`N1&=]nj-?Y04>?h&0"']#6>Q%h,>Pqb*>:Nrd?X6i<=^#'9?=.#E>?Y<:>?kKA??kKA?C_B4YU`@:a+bARSqSA7T(Q>[CcC>@(]G@:!2C>?4d)<``I.>@LoD?XdPW@q]@] -AS#=Y@UrbQDfB2k?=$f>?!LK6>lIqS?!grE?!guJ@UNPK>ZP!3=^>QL@UNMN?XR2E>$G39?!U]> ->$tb;@K0^Q?Y*qhD/F05I!'@ABl.d+C27U$CN"B>E+]&[5%J)0?XI)G?t!GL?=@J_F*W1_JTl$N -EG]As@U35E?sm;F?smDO@q9.^@:EbZBkV*iDgR(eIsuchDf'9)rau7D@/aa;AkZW:?XRGaG'\e! -Kn4]"G&qV?Ci=90CM[g#Ci4$!@:NeUASc:(Fa\[`J9uHYF*MkFE,fr>Des3)B4tsjA7B"XB5i$= -H?saQCM[hdD?"KrF`MSSP*qJiK7.fXC27d4Dea'*Ec,c3D/XH4EccMJG("RREGooIDK9lFIXHF*;qWG&h_NFE)5 -H?F+8@:*;?@:*J\GBeL`BObI[Anc!pD/*Zm?sd;J>?P9AB5;X@Q'd_aCM7[/JUi)fDJsK1Dg-JE -AS#LfC2Ij*GDVZUQABg)D/*]nDg[Y#G^+7VEGT;t@fKpDAncm]NHf)F@f9jGAnc!pBP1phBl%g3 -rd#0#F)c8CEGB-*L6..2A7K%T?iF>F?XR>O@:E_XDK9l>EcubSEc,c3D/!Tn@UNYW@prh[DfB]> -J:i/cB527"C2%?rI!p!ME,TH.DJX0-D.dBjB4u41M2mOLH[BpSCM[d#@UWeZBl%d5H@q0;SZ&HQ -IrT18AR]%W@U`nZC3G;pR=pEPHZjmoL4=PhCMmfrD/!g(D/=$*ChI6fASlC,FGl3>K6VKcKRIrd -NLuf$HZ+%NH$aOFE+is#BkV-nD/s]AI>@E,0)uAo)./OINJh -XG;ISCh@C'Ko1;5NIu.]Cj15TI=-HrP+ItqIXZZbBkCjbARo@_B5;d4FFo'_BPr*MN.l_6N/iUF -Lk'J]CggRWC2nHDH[16lH[UBoIt!<3Lk:%rEcQ,DJ9c'ICMmp'C2.G]B6J$&B52=)G'nasS=Gk: -Z*_T[SW&2KF)5W1E,BQ>K8"u5KReAmH$jdYF*3"\F*)54CNG&cLk'o-Oe&GZ_T&RGR#uu@DKKuA -G^+=IEI<7rQ_C=NTWGAqT:1q!IXR0DVQdM;Vi[$oIY!?9Nf0']N/3"1H@CiB_ -X.,)uJ!R"-V4Wm+J9lH_GBSb2SrJGYR\ZaKW5#p?S<]P>Ulg(FEB%c^P+Jb_Yb[M;K7JH2T;7p@ -S!](]GBSLhIYEoGJpi&pKT1n:Ed)SGFa\q*Rt5X&JV&&jLk^HZI!U!VD.mg@R\HXTR#?65H$=O_ -F`(o.BkhC"Ci+*3GC4mjIrodQG(>!iNLlW!P_P'@F_uASI<9=GG'ndoNgQ<*R@KV,NJ)b2LnClT -Ru)iMIYa;dWLJNaFa\IRDJO!)GD)*OXKJCdO/o4LLNn#hHujLUFEi1aJU)]aF*;M=G("seE,g#C -G^O^eK6_K_K8#8FQ^X%eG^OpaF)>]-DK0iBD0(DaF_u2PKR.ojLmj-CE-mqPUl'JHH$Fn!OG8LP -Q&U50H[0gaNLcr5M4UW:RZjA-RA[BtVkTrQ -P)>9pWhH/eX.bN(JV8W.J:`ZBNf/[CM4:fg`k8OLPEh\rGBJ"JDJX-/FEVhPH$OmhEd!D1LimKK -G&;/;FD,W:D1.:lM34@)Q$R@jI!UI+Q`e?N`O;V0O,T-cM1'PiH$b$rOGfQtTr"$?O,o6TIWo^H -FFK17ObngMQ_0P"LP:A8I=q`5og)Y-GFI\\,Sg\=SY>Huj@SK8G>2L3@9F -;JpMsI#b;EZCn8*W1f!5Ycb[f^8$I0IXZKfL6I^VJ9lEb;/H#I\DH$spUBOtgkD/a9% -Ap99F]X+N-R$3M`Ll."AL67m`IWg$gIBDfL)SH$++CC2%?mAo;^.AR]CqF)Po8 -FE2>@I=RHOV5pJUQ'dPdS>i*ALOk)?S"[!uZ`0+FR$s"gK7&)pI#!l?D/4-=LQJ./U8FcPJokmM -I?^A#\')n&[su?*Y/o8@bKnYT];(1CQ)M71[]lp,LjshqFb#'kJ<-G'\^%a_\=omtN-BGlI=HWt -Qa"0A_lg&/KmS&gI!C0jI#sqnU8X`[^sCHVX0J^rKlUs@A8,k!H&.rl]=,&Y^9!lsR"]X&EH-Di -R['&)TUVLGTX)Yc+ChQD::X -Yc==bT!Yl'U9;2C[@)r+Kn+AiGB/.jOGesYR]3EnX/;i*a2,g=`QQc_cd')(VOjT_UTCAVL5h=c -VN[UJT9bS&P@pMbVlR8;\AHP?d)E`0XI><3MM@7t`P9F5b0\bof@.UDX/iP>ceR'scc!2rZ)=1l -^W*gdUm$[sQC48A[D0#;N/sX>c.p^i`P]Et[(*6/S><$^Xe`,$YeST@h:^K+_7@4o`5Hc6]XGMm -]!/QQ`6Qohi8)l:f$qmXYH"Y.ZE^U7VkpAl[D0f/cc<]CbJV!.aNr2Vd*KP2TVJNUR$NnrPFSJK -XJ_Yd['cp>XJDk`LR"0rY.MZtcc<]?f@@^J`RW_rf#kFmO-#[)VPBT?Jpr3$KS=f$DhsRBOGo?e -OI)H&O+MnSu0!0X.GiMNgQZFVNcpqQ("\VriK\,Q&(WpSY2mf]V(:AN/<[jWMH>ZN-f_k -Fa.tFD/XH>H?=XjKSGMJLkLA3L5CkNP*23&S!&eqT!Gi-TUM%%NgZN6TqnZhVi6.ZLPM+kX,Vmj -Nf]6ZNLciDXJh\UQD1*FZc:DIhpfuh[BQpF\@/crES?KiP_7?S?WOp$\]u7h'^VIq9 -bf@9!XL,[NV3$:^OJfCXT!5?7cHXS_gt9_8!Oi\B*Fko'tttaLn^MS"d*t]=#%H[^3';][>['jk]"Wf#kA*\@fDgdH0KH -e]G_C\$)^0ZFmob^rOaHccsVScI(1^_o'7,a25O2daZ^ldauaqdD`u>`QlZB_pHoS^:pnWYdVKq -e'\0+:qjigb/qH7`6-KTcH=Sjjl=k0]XcDHi75ra_9gf[a1f0t]Y2J0`4j!uZ`9\![C*ZieC2C\ -e'upo^TFQ=W3*_CXJiM?aj8>[c-G"sg=#uGB$%`iYenZ.c.:4_bgk(T\A6)-eCiL&d*U(]aMGR( -`5pBTeC`U1cH"/`k2b7Ff%f$4f%&F)d`g:rhr!8EgY1QIkLmbZZ*pX5Yd(RIaj%c-V37.@SX5hB -YbdVSUmcsiMj0Kl5Fe[PXf%nm[^)NfO->p$VPKljTpM@LUmI(.V4s62H?=RdIY3cLR\d[7`4`n3 -iS;Spc.Lk)dF?t-hr*JRo)&FirTiY0l[f(es3^js~> -i;XkgkNhF"na5o;naGl3nF?,Ao()>?n*f]4mHj3,mdC)DrpTmT#4M*Qo'bu5rU(3bnF5uD'CYG\n+$#Ao^hV? -o'u50jUo(2D?mHs?5o^qbFnFH5nF5o9 -md0<.mdKT6m-aB8naQ)>mI0cCm-!X&md9K2m-O60mI'K7o'l&8nFH/pA4LQn*TZ9oC;DDoC)2@oBtr2nF6#l9 -nF5o:nauYSqYKsWlg!d%m-sQC9jn+?YWm-jTAp@S(So)A[ZlL4E9pA"[fq!I;)l1+HB -q"*tAn+68Jp[n"FoCDD=n*finc&Rgq=aIMrr4/@p@%D8oDejdnFQ;?m-r?mHsWDp@@tFrp1Fp%.bDnaZ,=mdC)C$L[QXn*96.o_8%Nrpg$Us6^oomI9Z7 -nauMDn+Qe]p[%55oCV\Ho^qtVnE]Q0k5OZVnFlYKnaPo2mIBrGp@I_Om8!-@pA+CNn*of4lg!s1 -q"k$jp[IS=lg=-.nFZABm-Mo^DDAn*or=mH3a&o'u)6 -oD8+Gn,E=on`fE7q"=:JmJ$&JnGhoamI'N8o_/(RoC229nFQDKp@[nDo_84Yq"*k@naQ,>p%7tX -s7uQlqW.&9o^;)8o_RhFr:]Lo2lL494nalMS -rsJ5]q"k$in`oQ7p&=MPn`oB,oC;PJp\+4Lnal8;jQlU4m.Bi9me-JMl/LjpqY^0]oD7nDnFQ2; -nG2VHrVuWVlLXK9naZDFnG`Ifq=XLXq"!tSrVm`4nac/:n+#u8kOIp+mHj-'mdKT4m-*^0rr67$ -oC)):oD\^ao^h_FkND4%o_SCUq"O1@mdfi5li6eZmd0T7o_S(=kkY8Vm.12SnF#`5q>0dUnEB62 -q!RS:me$>Ko'cDDmJZeFmcEp6rV5dBj6c=(mI9c@rpk:%mI'K8o^MAAoBtl0n+HJUqXj=JmI]W( -nG2eIn*oo=p$h81lga90s8VWPlMgh]n`T!#p$M/8r;ZKZr;5X7jll.-p@[k>nbW+Pkk=`6ipHF3 -rr;ign*'67na5Z2nal>@md]Z4qYTmNkl1MRmI^GTkk4WJs$lVFoCM87oBu,Es8V]Ul0.:'s8)0R -s8VcXm-!d(meQn_rp/t;oDej`n+?/=nFQAKqss+?pA!t7l14<3o(D\In)rj(rr2q9p[@J=n)s!* -lL+-2o(;PEnEoZ5o_84[rU]L@lL='&q>^Khr:'CGn*BT@oC2;Co^MADr;HNgp&FaUo_J4On,34c -p?V):oChqSr:]IGqZ$K]j5T7sqXj=Ws8Vo`li7"Xjl5Lkna,]3nFQ>G?1[sXkjRj$nbN4VlKms* -mdg&KpZ^i/p[RVAqtopJk3MX6q=aFNoCMPEme?b]o'#TAs7PjJpAb0fkj%mAs6o:Dn*K`IrUJt: -qYKdIkj%L!m-X-&mIKf:md'KDrsJMho^_#+p?pr-q>UDDp#k`-m.'T4me-PPmHaHBp?Ur,nFZ5: -nFlGAmHX*/mcO05mHsW?o)&+Mo(D_HmI']Go_S4Fp\ja\oBYf;rVH*KqYpElo^qJ?rr;`]o`+[Z -n+-MYq=F7Sqsj+Go^_A7lKIR$nF6#GnF>u5lK\'Bs8D9KnacYVqXX+Fp@eC`qu$KgnFuSGlg+$0p%\IVm-aH7 -mc`s8rs8/gs8N#YnGiFcruh('jm)3sm.C>Wp[.;9o^hM?mHO0=rqG[?s8VQMm-*X3lON4Inac2> -mdKi;meQYRrr2p7q!dY=n*KN8oC)&6p](3_md]rt'qt]pRlg=N;lKnBIqs*J4nb)SCmI0E:s8DQTkiM4#oBbQ"o(W%S -qYgHlp[dY:mHEZrq#CB`k3Vs?oBbg9nFH5Ep[mqAn+cM9i9Kb"s8DZip[.S?kN_[1mHj<8p%%M; -nF>r9naGl2m-/mdfo7mIgJUp@7SMnL*blnal89lLOcFo^VSHnEfK2 -meH_VqXiqCqX*A3q>:-]n*p#AmeHe].I6*is7c-Um-aB5rVu`aoC_kQp@e@\s8MKNlLFB2p%S.Q -qXEM3q=jR]s$Z\Or;6Hdlh0f;o'u/>q"=%Gn`]?9qUEg -o'l#4me$2Dp[@A8p&4pfo'65Rs(1?bq"jaTm-F')m-O-.pAb0jqZ$TdjlGRglL+$$o)Jafo(VqJ -me$,Is7td5kkP&RnaH/@jlcR?p[I\CoCMV=md0ZDo(i%BnFc8Cs8W)sr;$-`qtT^RoDJXgq==(E -naGo>rr4YLo^;58k2Y^jpAb0dkih@/r;QEVmJR"]rqlEbs8Vuro^1r.nb;MGrU0%DnGN=cpbqU+ -m-sT;qY9aWo'lANs8Vi_p%eLXoCD;:s8W&tr;Q`rqXsRRnEfN0nFut^rr<#gmd]Q(o)8S!n`A`u -p\"%Hr;Zfdj5fOurr4JAoD&1Vp\t'\o(M_Mp?q\ElL4HBp\+Xbq"FIZqtfjMnGiOblKmd%nb<%_ -!;c]p"TIuWn+Qb\#Q3lHl1FN>r;Q^#qsFC\qYL*gruq79s8Vo`n+5l4n*fW-me-JWr:0@Ws7u6X -p&FRAp%@kOrr3<(p?_JPs6o%;rVlgfrU]11m.gV\qsj.DpA+Xds6o1?p@e7Em.^,>nauJCm-X3+ -lgF?@s8V]Yo^V>=md9]Is8)*OoC;SSqtB:Ao^hD>r;,mKo)AY@qtBXRqu?]ps8Vl_mdKQ9rUo@: -lg=HHr:^$^o^r"[rVc6NkOefSqt'7GmIL2T;YBAEqYTjHm.1/Us8)3Op?V2Aq#(0kmdKoJqtp6Y -pAb0hnFZ;9lMCP\mH3s;rVuoop\FFIk4ANJp%84_rU&q@n*p8TrVuoim-OHCq!mb@rp`AFo_8%H -nFuY>l/Uprq>'gYoC;;9l0%U5q#'aJnFH8Ms8D]^oCr%Vp%.\>kje]Qna#K0o^hV?lfn$>r:TOJ -p@A+[rtYP(p%.Yn+Ze\&c;%Yj6lgBnETH4p&G'\ -kk4`Mruq:8q>9IGmdKfCq>'m_q"!b9o(VnMp\b$co^_\?k3hp'^RnF?,AlgFKBo'5fEs8Vrfrr;rrqY:$hs82QfqYpHn+S>*loD/Fbq=aU^r;--Z -p%n^gqt^'Xo(i%Squ?Zmq>C6l&c(h^n+$/PoC;eUl0%^/md9TDs8Vg!p$_AAq=s=@nbrJ3qssU` -s7u6Zp\b'kqt9FLs8W&knacDNr:osXqYgEgoCD\UrVum!rUTd_rsS\hkje*0rVc?So(r@c9DeGR -rVl`foCi(\q=!_Is8Mrrq"Xgfq!IJ=nF$#Ls8Moor;$'Xo(DkVqXjO[s8VcYnGN=dq=XIWs8D`h -s8VcSp&"adq=sg[q>UC$o'5fEo_8+NmdKuNs%N.NmeH,6lMpn`lh(/HjQ,Y"q!mb>n*]N+pAb0e -me$/Grr<#ps7PdOrqu?RnGWCdpZpu1n*TK/lg= -ir:.]]U=P+G]e1NG^=^^G&q_HG^+FVG'.nKF)uAAEH6,ArcS3^s)SBdG'A.PEcV,"%s2r:G'7tJ -EH6,BF)c2?FT-I_FoHL^Et!)1Fa/4YG]n1SG^"?0Fo6:\FT-C_FT-=`FEVkMrGrWoF`qkMG^4RZ -G'&(XH?jaZG'/'.G5umeGm&G?H[L5>HiJBlH2`%JH@(!bG]n:UI!g?jH[9mZH?ja\I!pBhI!^0d -I!pBiH@LR"J:2ipJ:N,uI=6QnIsl]lIXlotI/\QmIM.'YJ:E#rIXlosI=?]tJ:E#tJGt*>J:Drq -IXQd&LkU;-J:;llH@(0nJUi2tIt;omHiAEmHP_0`KS"]%IY!*!H?jjbH$4I[I=6HfG^042"F,-8 -GBj+421'b$J:WB'I"$NkG^4UXH%UcuG^=d_GBnFVG'\CWG^=abH?XUZH[L0dH[U3fI!U-hIsZ\E -J1Q1uH?jj`H@10jI=-HkIXZZkH?jskKS4r3Ng5W]K7ST*JU`3%J:E0+M2$W]K7AE#H[9s_I!pHn -J:E0&K8,>HP*:i\KnP,0I!L0hI!pBiH$=U_I=6QpJV&B%JUrE)K7\]6P)t`fOGJUDK7ec-K7eN$ -Jq/B&IX-9gKo_LcSYVpHOcYNXL51PBNJ`FBK7nr9MLp>2LOji(KnbPOQ&_/sPDkQgPDOsGKnfV_ -'82!gJV&H%I=?[#N009dOc5!IK`6RNK7\`1K8#G^Y-+e!QA^HLL5qOVJpr9'JU`0%Ll.(KOckca -OGegMLP:\;M27(SO+W(=It36/LkUJ@Trk&PO-Z91WNN(^Q_9h)MNLP1>;Q):ddU7IU3U84TWQB-u_P+e_AP*M>sOH#0WLk:87MiNmYLkq"QPE:`\ -MMqIkI$0VMLlICML4b)3Mi3=@It`fBQ^jG*Mi3X_SXu..NJWFGM2R1CK7A?#Jqf8OP`LZ_T;\KK -PDb'FK7eooJ:iT6N0'3dOGesQNJiC7JX3+%NIH;)IXQZoItNE*J,Xj'IYET9MiaF&TotB6 -LGjd9Jq/7IXqBK7tZJLM3!pkSt)47PECo`LOjo&JVAr@OH5BU -L51M:K7er=TW>0'`3bkoOGegLPbG"8Q'mhkIt3'dWM#ZCNJN=@O-PlcL4tA6K7ni,IXZcs -IY!6/LPq7]VRX%/Up[h]^SmK[Mhct=M2>u%Ko(eNStM^EPE1iiP)kEYQApNPJUW<E^OH#U'Vim$rLl77KK7Sr6KUA'`P`VE5WM#N6Ko:nFK7er6re*psKSGDGP)bQ`O,&=@ -Nh`YQRYlZGIYrf5Q(jqd;iLP_FoVQ?trSsPS0Vkg5eT:(n'MMmUYQ_C.?NfUHTZ)Fk=Z_+7rYILd*Od(ZOM4's3 -[(3WBR?s,%UUmb1W3EFqO,J[KNK9[8Z`'.UP*Vo9N.d%BL2;^.Q'n)!JqoY\OGJdRLkLM>N/NRF -KTi75YH=L_OHGT[Ng5W\L4tA:Kn=i(JVB#DQ'n)%NJEO]PEr,Y[%X=]R>d2bOcYBMJqo>HR&$da -W2#uiVk0HMR['29Yd1!eOHbrsTWbi,R#HuNQ'%)_KS+u;Trbc@^9XT.\$2H_Ko(eKJUiB.N09Hj -S;N,`L4bAFP_amFM2[L_R\?73M3=6jQ(Y7`WL]97NJN19ItNN6Ll$hGU7dO"NLc]-OH,d5Sr82W -R^98dOHl#kR]^a -P)t`gR@^"@S<&>WLl$qEQEnZLY-YgO[%!u,]ZJpS\u(dVN.ctNWMuYZOH#'LJVJr9PG4kDO,^6Q -V51>mP`L]VK7\c3LQ%:]Ung__\%KGl`l#HcPQ$\nPFIYgKp/'oMNO-lSX,.cKS>VY -R#d)YL5V.UMLpJAT!u8>['-?rPDG6^Ocl6<]rRERN0BH_L5:hPOcbZ\Kn+l=O+W%EPF/>FS"Q+, -R%9P,P`C?FKoM4VMi!=IKSbeVS>)sYT:):O]>_Y#]!A]GY-P'pObesVMhZrhNgGogL]2s,K7JH( -LPLM9Ng,NYLPh%JLPV+YU91Q&Xdc&^SscIZX/D8DOIW)G^=(6PEMrd_7$PNZa@*IW3*,.\$*6IVQd>+Y.hll -`5]d2]=4r@Z*:RDZ)+1oZ+7T]^W+4)V43g@RZ`YkM3FU-SX0/e%SY;XSYG\@tSsYt6hZ*_-^ -cd:(gb-nLTUReC&e'#S8VNdULX/`>4_76D4T<#KEg<[dWai_N5]Wn6+VlR29ZF7!E_UI;rgu6r2 -a2Gm535W>:[DU5%YdqBac.1V,f[/C,e&SbiV6@YO`Or4CUT_&;`6Hf^b.lb4 -VPa?^?^dCNT;]0/[]?I>^q@4i]>1D0St2X``QZ`YcG[lRcb6g*eD&R%a1%h3TWGoPaS,8UT(B%]saW'S!8_gOd;fM\$)?rTmrf9['d'*S>WBaYeIo[Za[fk -^p^GGW3<\H7`J#p6"YaUcC -PE_iEX0Sn"NeiOONerC@LP_(WSu8NYS">q&P`_#kR$a5-S=ZCIS=61T[(3B9UnslgXfSP$X0]4> -SWf;&OIi\aTq%L=S!]J,UT1]5\ZMa)Wi3AIe(rp1cH*f2['R'CYG%_kV5'rcSt2X`a3W#O[^X&p -b(%1;^V%A$ai_]C^pgPN\A,SSSIZb!ZV]XkDM -Wi`(lYI_Tne_\s,cGmDqV7jIHZ+%Tlaii)Ze'uFJ]Z^W=Rs>cdC%`d+$OsbJ1m1_8js? -^s'p1[`-2%^VnINf?qUXGf7G9b0SGS_o9pOe^DjlgudSA^q%)*hqQGp]YW%KeBPtK^;%P)`5BO5 -_n<@_]Yhe5daZdjeC`F-f>k>)\$`Z]`4<=kb1"kgdETkcf@.scbg+JIZF%X!daHjtdacpk]t;2+ -d+@16gt1-,ccF#@_oKsMe^\0`gt9oja4/r"e'ZUme^Dakgu-c)fA5<:eC)akguRVN_R6keZaR?O -[_'W-caU$LV6?VfTshqJU8tZ"Q'.H*U7e3ZYdLgB]#VRfT;/9`ZFIEL]W7[$X/25LT!#B"TTG'1 -P:MrgSY<*o`Q#U&bM:OWYI_m)cH+2XdF-Flf\l&ps75@GlJUCLh<=:gjnelS!:p-Ss6]sRmeDA5 -JcFj3J,~> -ir:(YX+>/$>ut$$;c6Uq<)cq$=]nj/=&r=$<)cdo;H*Kmr_rhp##eN&<`;jmrDF/)<)cjt;c-@g -;H$Ii;H$Tp=8l8"?b63$4p, -?!U]>>$4s/>5_S(>5h_/>[:WA?N"10>QA"-=u]bm?!LQ8=^#-$G[:ZC -??tTC?!CK9='&E$:ZA78hQ@9d/QBjk7O?s6];>$+m3>$5$6?=$l@?t3\U?<^Z==B\s5?=IGO@/aI` -?!CK8>?Y38?=$oB?smDO?sd;KAS>gmBPV[7F)G])Bkh?pBPM?Y6;?<^Q??t*PS@q9.]AS,QRBaeZiFEr(TH['IEC2%D\Ak???A7B"X -?s?oEBQ\`TM33mTJUM`^E,TT4Ec>f.B4u!sDJ!BlBkCpnEGooHI!:-mII]@qBM"rcr[3F)5W-C2.O#D/aT9EdN_0Q'-uPFDP`/EdDbCBkqR#BP;1"EH-#BGB@qPFDc,; -DKTZ6EHHVRDJa0"Ao2R.E,^/bS6MOH>WbL4=StJW5_BG^4U[H[C'_EGK<*EHHDHEH$,KI!BdTG'X(6I"-Tf -EccA@E,KH/EH,f-B5DX8K8PM;IXd!,Nf8X:GAqG7Ci!ftBOkUaB5DaBIX69iPFe1tI;`n:Ci"'5 -M1^.sEH-)@I!9RA@:!5A@U=[AnbsmD/3fr@UWYN?!CQBB5MsMT;8'8Ec$&QPE(<= -D/CP9CiOiRG&(`)BPVU-E.F@RURI*gFEDM;@rm*^MLpA!FDY`'raH@IASHUPM0NZCAn5F`Anh6\ -0kk62ASGt#Ecu\SG]e(MGB@P-BmttmEb&Wg?=$oA?".>R@q&qZBQ8-9FaJk%ML0FDDgH,1An>I] -AR]%VBlS'/Faeg_C2%I"D/*d"D0^PNDKBc2DJO!&E,TH$ARoFiF*rIeIX-'UDJO'(Ch@0fAnPdn -E.!J,T<,K(RsoF`hqRFDl8JNKK9R -FD5AtEbo]HOcti^F`2DKH?jpiMhHqTQ\B[3R[f\"H$"=_H[gd:UR[aLT7_6*D/jrQL5(/5OHl#` -FaJL[H]FJ]St1t#K7JuPS=c::O,&43G^F^gO-5HVM5d\YTr>B$R&$CNXJ1]*JokdRNg66lJT:CaaG]@qRI>jhnR>-NNLQd^CE-62@G(#%!M0s>bI=?6UG(G-lI!g-WCh@I4PFeSE -P(N^Z@Wuj_Isca$O,/:5 -Jr"r#F*<%dKRnl;LkUJ4L5_%EPEh2kR@';1PE(QYLk'boIY<6,L4>2DH@('eL6\@&QAhE0T;.pJ -R%^UdWLooaS=#>#VQ$2XUSsuNKn=i&H$XdaIXh?K'ShpM\%T;SSW]8-Mg]tsGAh22Dfku&?#k"9 -J8K=lTTOY@CM[p-F(fB1Ee9:%KSu%WK5k^EEcm,'TX)bia0M;!LOk2AJphrkGBJ+[PEDT4SXbb- -U6^R_G&_A9Dh".RVj`X&M2mCFLk:&,IsQ<`FDu2(F+Tm[SWT//W5$3[XJ;VlYID3SZ*'RPL3Icb -Iu',EMhZFiBPqd0GDiE;\u;a>Y,@5GZ*VF'af(AVKReAsL6n-_I!'CEBk2%"GDDTVQ%Xa[XI,BP -RY#j0ErL#ZF*)_VKoqL]Vm`TV80SSt:siHZsa_I!Kp[3dH:#DfUGiLjFQ%L51;#D/aNHM1g+m -CM7U+G&M)0G`8`-Y,e@dN.Z>%Isup*S>qm*F*<(^F`;>Drd'!!#mDes9-C1h-lCMIHo -DK^/CEHHAGF*3"cQ(XnPVj3^?O+`LWOGn[9J<$"hZcBtjR?!`)NJ2k+GBA(UL5^\#CiXlUM3X^0 -W1o2nDJX*2LR=g?]XOf>['-RGccX2Bb.=^@KT;+_V5gAeT94VQHZXOjN.QPR?jG=R?sD4VREk%MMdFSQ&:BVM1h5'\$2p6Y-5$NYb\7pYHb".X.5uaU8YQ9]">Vb -['6^0SuAQgYc4+YSYE-gZb4E(^n-O?LP0noGB8:rQ][2fS$'*,Yc+\V&GdE9/.X/W>4`mW5Z -d`/SkVjj!F]#_^rWgA`%GfZq@_dE]nXbg=b^bg+8>VOsBA -OHG`hP*hoAY,nCp[(NlPYck=#JrPnbZGOW'bf7<6cHa)0_U@5meA\V[NK^!DYbd_GL4b5?Q^3DZ -O.)Q.NKKWmN/s$XM271SOa<7[SY`QjQB7AjI"$TuOeAM?NfoZmSYrH[Mi3pkQ_^sqXK8\?^q-eM -SsuISX/;r+URIU>R\HgWQ]?ZDI>*T:PDk6RR]j?9U6q:CZ)sLRIXZWtU9_AG_Q9/gPDad+GCc'W -WM5lFNIQbNSYW0VM277^T;\ukVJETLWh?2aS"-IdWgAX/UoUo3Y,eOqPDPHmSXZ4N[%N;1MM?nM -ShsIY*fRV5pPdQ^427YJ\]=gsF0[]!S]EXK&7hR\-%7R?s%tR]O?K`kSRSZ+[rb -\@],V^;e=;`ko0cW33P4TTFtdOe](OSZfKCdF$:hf[6XmTqeQi[^j,h_7HhMXgGXGZa1[WVOjZa.?keD&j9gs3F6]#)G0d*Be] -g"4K`\ZDHqX1HI,gtU8jWM#l]W3*G9\%BQ-k486`P&X_ZFe)r`lQEReC)[ebYQX9e]>bK]=c%u_8XUAaiM`Sdau[W^;%G#c+^j2 -`3Z_`_83n)ceI1'b/q]A`66NS`PTXBgY:<.ce@IN8aMGgFf@%dX]tJj._9'a9_Sa'o -X/`PA`QZlcfZDFfeCW0fZE1C8Xh)-IXLlR&eCE$qcJ..-d`p(bd)Lr>`mri&hq[&FgYq;XfYFbu\ZN0F[2cZh -bg=J7UmIUKR@0GG^94!&Y+:5oJrYtSOdVj@Ub]0g\>5.FP*i&GXJiIuPF.i(LP1haUmm?jF*`.Z -ItifBS>s*/YH5F_`2oZ6]YqUs^&Gta`ll]^k5YJQl1XN)h;.)YoBPQ:qu6ZhrpU'_oC2AJJcC<$ -jo9i~> -i;X>`lg*g&o'Z&;n*TN2p%S(Uo)J4\n*^/A!UfFTnc/+Ymf`(Jo();In,)SXmd0?1naH8?rpTmT -rp9aWoD\@_oCDnNs6p-ZnF5uIm0i:JmdKW4mHj0)mI1#DrU:6cnFH5Fp@RqEnaQ#8qsFFM&af#T -n*oi:o(2JDo(2GCnaQ#HmQBt-n*]T2nF?)@oCDG?mdKT2n+$#?nauDBo(2MFn*of8nF,c2m.0]9 -nF,i8nFH&8md]l=nEfN/n*olFnh'A"n+$&>nF?,Cp%%V?nFZGJo^VA;n*]Q2o_%bCnac5na>l6 -n*TQ2o()>=o'u28m-F$*nFH&:mdKW6kjS$.me-)4m/??8n*ol5n+#i7nF,`-kjA$;q>L?nq!mtJ -oCV_Enb;bJmI'N:r;6$Onac5BqXa%IFn"hcmI0K3nFH2Bp\4@Qo'Y`, -l0IX%mdp)@mc`m%nb2hZp[R\=nbW:cqXO.Jn*KB,nF5o9oCMM?oBu#9na>c3 -nEo<'r;ZKTl1"9=qZ$BYo`"RPm-aN>oC;JAp%.G6pA"+Kp&G%'qt'4Dp%@nE -lgXQ=p%@qGo(2SOrr,dkq"XLMmdTf:n*oc4nF?&BrV#gOnbrL`nb)J>mHs6+nGi4Ll0\'L3c -n*TT8nb2D>r;ZKYn`oK.mdT]5mITr?o'u8>mdfc6nF#`8q>UCFoB,<2rVucel/h0pkN;L9o]ti3 -naZ;@lLt8Xqt'1=nGWC`mIB`Hs8N&elMg)[m-sTc1o_e[eq=X:Jn*93*nEoW2md0E8p[[kGp%.Y< -m-aK:o^qnPq>9gRoC(r3l0@d3q=O4Io'l,9mI'K5md9E0nalPPqXa7KnE]9%n+Q\Ys!@O2l0@R$ -n*]]9p$qJ9lL+9?md0?.l0%@$mdTQ2q"3q?m-aE9rq/bPp@IhDna>c+k3Vg=q=O4Im-4!mI0Q6mdBK1mIU5TrV#^FmIU/Or;$'YmdBT7nF#`6mHs?/nF?MP(B+!poDedPl14H7 -mIU)Nmdfo;naZ2Arq]pmmd0H:q"!e>nF#`5o(MnSoCMYMq"OINm-3]plK.:$qYBmZqY9p[lL+6- -mdT`5mdff0o'bu8nau\XqXs=Hp\FONlKms+n+,u5o^qhInaGu8kMtdnmHX'.q#::FmHO-0q=*Y5 -mIU&Gq"4"@nb2\DnEo`9oCV_Lqss%Aqt0=OqXO1Ws75:2kkG)V,l@93p[RSn+uSFr:fXEp&FsVmf3=^nETE:p%@bAq=sIPp[[\=pA4UY -mJ68?s8VBPk2Yn0s7u$FlgO?2nG)eMqs\[tp%%VCna5T/o_SF_p[n.Po(MMo7mI^DX -7e$0Bo)J^Zp%7hFoCr+SnF5u>p[mb3jR;[4p\F[Xn*B#unb)\Olf[X*mHaNAlL"*0nFQ;Eo'c&: -o(;\PqXs@Ep&=URrr66sqX!e>oBl,>nFQDLoBc,Iqss(?mf)hEmdfl8m-jWCoBY`9s8VukqXa%C -r;Z]_jPoG"p@[nPs8VocoDeaZkN(t$qXa:Jo_SO`q>^!MnF,`:qZ$*LlL469rr7<@m-XZJna#f> -md9H0l1FoRrV,pPmd9Q5p&G!YlLOfIo'bi2s8Vf^mHXNGjlu@,m.12VqWdD5n+?5E -qYp0RkOSZQrpBFWp$1i6p?1f=s8VrgmIou8o_.hGqZ$EXlLOZAoBYZ-nauMMs7Z0Yo(%;(oBu)@ -o'lDKnaYu7q#CBjnE]fFnbDeFrVuTgo]u#Dq!RJ0p%%YQr:]RPrV>d@o)JIXlKe9Bm-*X)r:osY -p[[nNq!7/2p%%kIn+6GTq=Eh7pAFUVq"Fabna>rAqu$0VlLFK0lMpnZn*'*/qY^Balg*s7r9WY: -q"=1Wngj4umeHhVo_eafoBPT(k3r9Fp\=UZna5Z7oDeIQq!n%Ws7l*NmI'?'li-n`$hNN>j6-%6 -p?V5BoD\7ZltYq\s8Vu]l0R^2p[de=n+-&Hs7u3Wo'Pr>q"OOVp%eR`oBl,Dp@7A6q#CBap&G'h -j6$")q>^Hjo^D58lg40@qsin4m.0W:o'bl2p\jsTmem+OiTBS%p[RV;nal;?n*KQ9lg=`FqYpMA -qXa7FmHa!(p@[nAm.1&Mn*TcDp?q,0q>^Kmq!$o,lKn?:me$/Frr;fgnFcSEoDJ4?kN_?rl0[m' -o()JKo()hSp[mqAl0@^9qXF"Ns8;;mciltpAb'[r:fLFmdKi@n*TQ2rqnGEp%@nBo^qS;mI^2H -oBc&Js7bjGp%IkGs8V`]k3DC'n+$2OrV#gPp%\:RnF5oGm3(ohoCVhSp$M/9p@A"RpA4XWqYfmF -kj.^9q=F4Rp$VALs*F)!rr;rqmHjE7me$;Eo(2MIoBYZ+oDS^Xjll7'm-jH5naZ#1q"OU\qZ$N` -l2(2Ko^V_Aki1L]mI0N0oC(l2s8VKDk3ML-p%7kJs7bpDlgjcBnET2tjQH(1qX3hHp%.kMo(DYJ -p?qPPoCqPEs8M`UmHa37pN#cinETE/nF?2Ms8Voos7PjJkNhO*mcjQIs8)-Sqt9UTo)/O_lKIO* -r;HB[m-jQ;p\=7Ep](9lq!$o7s8DTYs6K=Nn+?Y[qY9XLo(DbNo(_bIrVcBWn*KTBrV6?kqYBs` -rUoI;lg"'?s8VZWm/HlGp$hPPs82cjo_JOdp]'gNn+H_\qYC0Xn+cJRqtBaRlfms8r:^0jrVH$L -nbE.arq6*ds8)Nep?q\Tq>:*hrrr#[m.Br@rq$WorqZKls7>^MmH<^2rr3]$i8sS.s8D]cqYBUE -mI9Z@s82?Vrr<#q#Pmr_q"Odfr;?R5qtBd[p@S%Oq>0j]naZYZqX!nMp@S+Xs8Vlnrri;di99k5 -rrr>`h!4b8r;Rl:0k')__' -mdg8Nmca-;s7u^KckjnTHs6K.RrTWP8o^qV>n+QA>kk"iSr:p*Zn*of9 -q>^KclgaT;r;Q_6q![P7k3r6Hmd9Q=q=X4FlL+BGs8)WmnF$&Hn+$;OkMtn%rVQ-RqY'RQqZ$Nj -o^D/@s8Vf[m.0W8qu-9bq"!k=nb)G7m.LDYr:fXEp$D,8mJ?k^n+-ATqYL$Up&G'boD8FZn,*.\ -lf[s?s)S,0m-aE7mIKrBn*KK:pugi3o'lANr;Z`em-j]EqBgGm.'fKqt9=AoD/+Oo^_VDlh1;XqXa:LoC;86k3;Rp](0^me$;Kr;?!En+ck]$MNrX -kOJ07o(W.`rV.?(n+#r=nFcSMmd0<9n*K`Fqu6WmoCi4aqt0FXru(\,q>9sUp\Y!jp@%_Do_.tP -qu6WhoC;GLrr3E(q"!\8pAb0dq"aX\rr3/up#t/bmJQu5rU8k8q=jLNp@n4Qq#(0lr;HZno(`%T -o^hbLqXO1Vs82L?nr:p'dqZZ`ep%n^grqHH[#l=T" -qt]sZp\k*k&b>)NnaQ2NqYBsUjQl^>p%8"XrsSMlp\++Hp\k*fo_ACb/Gni/s8DQXqZ$Knrq?!T -pAb0lqtTs`s8Vihrr<#rq"O@OqZ$Tmp@RhHp\=af$M!KSmdC,TqXO+QrVm<'p%nR`p@S+Ws8Dfh -rr4>Ap@J+[rV,mTp%@qSs8W&nrVu`co(W(]qY'OSr;Zfkn+-AUs8;lm(B=C0p\b$\iU?UBrqcQi -p%SCaq!RD>rr3K,q=aIRrVu`hoCDP=o^i(^$2+&ip%.S;o_@tUloan3nbN4bp$q_Lq>C6goD7k= -nbMkJm-!d.r;Z:*co^_VIrIP!"s5s?3~> -ir9VSaJ4`IH?OLSGBnIXF`_bMG5QRaFoc]+rGhp[FT$C_FoQOdF*2\NFo-:XFTuo,EclPIEqshV -G5l^aF9-T1rcnNhGQ)dcFTZ`.Fa!b+%s)i8G'8"MF)l;CG'J1PFT$7hFE;SKH$OUVFF&7YGl)^b -Focf3rHScsH[L3fH[L0eH?jc7Gr>Jq8E&LPq.O -Jq]#7JUVuoIXQTkI=$3_H@($fIY*3*Jc1*+JV/W)KntG=O,SYfK)^HbKRA<%IsulrH[:*oOIDc< -YH"4ZOGejHLPLhLNJ;q5K8#;EKn5&;KmeN)Jr5qaPF\A%eNg,otOG\aH -LPL\CNffE_M1pM2It3#uJ:iK-NL63)Q&^c]M1ghJPF%JmN00[%R#m/_Od;H-V5pMaQBm;ZK8,)5 -KSGJPSXjG\PED$'Tq.O4NJ`RUS=l=7P*:ukPEqMqKS"r7MMd4ELl@C[PE:`ZLl..TS!f4hMN!CI -KS5)8LP1;2LlRU^R$NhlMiNseQ]mJkN/*.DMi!1AJ:E0'KoD7YOcu31Yc4(VMLpA//:iP9Tph+# -KS+l0Nff6NH[L6hJ9ug-Q][8fJ:E*$KSG26LPCG3IX?^q3OJWH:gNIlY5IXQ]rJV&K)Islcq -JV8c6M2ma]NJrp^Nei49Mj0H@CBrKnbDNTVeNWS=5_* -Q_pgWQBI)eNJE:AJ;/K%rIPo>KS5;OTVA$FQ'Rf+R#cuOH['meJqSf3L]2rtK7\`0MNX^2UpJ%N -RZ9Mij0aMhd"=Jr5DFS#*'\V4sKK -P5^,0I"-d#K8>MFK7e]+NL$3<\Z_p%Q'@AcJ;&l>Mi<^SKSkYDKR\>sIt3-)MMd.ENgZZMZ(@G^ -X1Y^1P`:NTKnkG;KSbeON16B,Q^!_TQ'Ru-N00HcJV\o*Kq,$/N/@sO-?!#Q^*f&[^riHWii:lYHG:HYaL]DNIm"QQCFtdZD3kWQ^+>WZ`0n. -XI5*2MiE^4OIN5QXIQ&RQD'_&Lkg\;LldmbNJ<7NR@01nKo(S>Ll77MLPCA;R%C1MQ&^rhNJsC" -NJE1U6(UsOc>E[KnP;BNJs@+WhGfHS$8`XR$X)%PBiRi -Vk907Q(FhJXKnjnNK00aNerFCL5i4?_99j.Y,nn-RYcZOMiE78IYEcEPa%u&Ko:Y:MN=!VIt`iD -R\d$dU61P.SWo;1WiE,#TT=q_JUW#tK8,)9L5_RfMM@1\R?N_lP+S"oL5:h^UlCD#QBIZ;ZDs:Z ->+MI_Q^+),O,T-_Ocu0(QA^N^UopkpYI1I%Q^O;%PcD4#Z)O4aObf$ZNKK^3RZ!)fQ^3kpNKKX" -TVJN[T:2(2QBR;jR@'D=WMH>\SYE-`SWAShR$!f)6^+@ELl@CYU:%M6Vk0l_T<5)iT<#H/WM?Q- -WMGoLWNN.rW3Wb,R?`klMj0KbKnkSDPEhW:]#)7oWMQVpT:278Q=>c'IY!94NJW=@Nfo6ZWOAjp -M1UA9MNWgMM2dplNfos*QA^HKJ;&lQZaIEhe\SG`SX5D$SX,J&P`q,eOJA_\W2-JhVREOrOc"pK -L51qi]Yq=WRZs,(TrFWEOd(laM]dn5MN*q)\>l*lVPh/A\#lU0Y-5LS\?)^*QB[T!S"HAQU-"j( -K8,>DLkh7o]t15H]=P89T!5ZAda#\6U6q!uMNOa4T9P7kL4P2?N/E[bSstXuTW4WSW2l\_OGWsk -G(bR,NL6H5VS0X[b/h?'VOs0:M1g\FNJE4?M38JP)5$TP*CrZJV8]=R@'2"N/*djS'O,8FDN00C"Xfn^tQ^tFq\$EHNZ`C.8Yb7GCNJrdPMN3maN.lq?MMHk:JqJ`2M2[FNM2dRT -LPV"ZR4+c-WNik2WiMk`TqJ!QR?*H#V5h/Qc+g6RZEpL+OcGTgNg,olMi*JmP!bS-X1>^5MhH_6 -K92_.]>;%\Z)O\%[E6k?_p,m!UR\3SVlHi$X.bi>QB[H"ZaHQpSYDsXVPU#`[B#g\NffHaMi2tC -Q(4b]a3;3$X-nj!K8#ARUT:B!b.GNu_9^$.US!p>S=>_'Obes]T;Ss*^UUGMYbn(eR[0,!MLq"f -VkTc\ZE:.,V67MIZD*_MR\ldGOHH0D_S!(Q[_fts\Yu=2]XY/F]W8EFWN3VF]"Ybd]",2MX1>O= -Y,Rt_<2Qe1bg+2G^p0].USsrRO-,?_SYrG)T;%mXZEq!FZ+J!(f?D(G^V$ePY-'sm^sL?Re(Wa7c,.32]!o5]]uA:De(W0YY,e:c -T!ZV^`4)M.SuT*&Z*:O9US+Qi[DC54^qe:GbItBgUnhP#Y.MZg]=Q#5i8NVRi7Q;o_nj$u^p^Yh -c+:-ob0JGcgYUQ.f@eWjWLBE[\\Z4qV3ms_^;\=AdF-:ZbK.lQc,[uVdF$Il_QBAsTqnZfU7.[Q -\\#5LWO'7Q_Sj=1X-B0G;Q.(Ca3E/_aii#R^q.G3gW[RFYG@hhZ,+&WV43d9R&7=$V4=EeYdU*p -ZDj.QQBd`"QCk.UUn=QmYago>Ll%.US#j30WLor\Up%SR]r@NlJ"NF:^;I:a[^ruSWhuG`WjK+8 -Z+Hm/XfnV#ZF$R#NJrjYQ(+eIP`qlScI'D3Y.)6ZVjEL/OHuiMZam`UVOX'?O,&jhX08Y'SsGn/ -Q^jPF[]GmeWN`P7\ZVm8ZE17@^Upkd^U'MuU9_PQ_mcePY,S"bTq\<[YI(9jNH:AHMj9j+UnO!, -JqSl>Lk:Ag"R[9A)Q'e,5StrQr\ZDBpUSOugURn-XZa6X!P*D8qTbf]#2Y5`6?QScbd-'ZadWY]>;M,J%2qr^s:]njP&/)\?WHP]Y2;(`6-]ce&fJ5 -TqJX-cf*pBdC?!HWi)YkZb4/se)Tfbn*o`#aM5-`Vl$Q&]XGGjahbU.f\b`Eg#D,KgWmI5XL#Uf -jR2O!eAoD?]=ku!cd9nYbL+bdd*0b_e^;FX`O`Y$cH+,Ka2c?Lf)O9A`jrk#^Ve=:`lGcu\]iON -cI(D+g`4Sf?D7N`RWPid`fbL_Sa@6bfn/E]XtV__p6ZT -c-X_beBue!cb?m$\$sB#_7[S,e^i:$da$:le^)Fbda?"J_9UT]H.(0ff%ANq`5B[FfA>ZOh:^Q9 -d`KMLb08,WdF?n,gsX?fe_T$5g"Fs-da-@sin2B)i8`\GeBuUqio8J([^s>l^V.=p_T0[8XfJ=s -WLp/g\B)IgYdCI)Q^"#6T:`'c]"bnm`P/FLVlQu-\@/QKUmn!NR$!LgRAHpeXI>07OHu8uPa\5> -\A,V]^!4HpU8P<.]!SfP\%0,b`m`o4jP/DKjP/26f&5TCgZJJ7$hE?5g=kB>h;-rJnq$gls5s?3~> -ir9>K\;YNE?W^?);Z9Mq;cR"+qcNl"!EE+t;ZKep[(D/=oVS) -=^(c.$X?tD?>5hYg>$G05=BSj5?!^iC>Zt97>$5'8?X@#G?QA7]?OA1_8!@:NnY@Uit^B4PI[@qTLiB4PFZ@UWVQB4tga@q9(W -?=.,NA7T.W?t!PTraPh7(h.#d@U<;E?=7#A>$YE<=BJd5?!LQ9>$1`(r`'J-<*3=/?=@AV@:3PS -?s[7??6rug@:*2I>?P07=^#*5=BSm8?!CK?AS#=V=^"s3>Zt?=@q/_Jr`UIM>?Y06=^#$9?X?uH -@:[(J4>7k+K?XI;XE-HMCEH?,: -C1h!^r`BV7>?b6;?X[AQAS,ReB)Z?LAnc!jCN"$/G][V4rFS3*AnPL^A78kS?<^Qc(AS>h!EbT*#D/!X!D/=3@JpW3/L4+H!HZ!S5C&Vm+B4YR`A7K(XA7o_"F`_\G -DeX!%BkV0oCMn$.DfpVgO-,NUG&;#1EdW%IAnPgjAS#OlDf0OnFEMVIEH$,DDK0K6DK:J`EGoT) -AS,k&FDuM^Ob7h#I=m`OS<8DXMh61sG^b6pJ:rZ=NeE.KP)>BcSYMU8Mg]S`FaAOdG]RkGF`_YF -F*2VHDJNipA7]=_BPVF%GCt^,J9Q'TE,'<1G'S1HDK^qsKmRo`1Ob%;P+/&1M1L(hA7fUnCi+-7 -Itrl7JV/Q:O,J^CI=$9lM2Qt3G'%hTJVAZ"D/!g(D>nGWE-HPUH[5U5-[C&jLP9kfDf9H3E,BN2 -Ch[NpDg-S[L51A4J:iQ3L4X_tF)G]-D#S*TB4bjmCNP#RIY[CoPCj:Z$SXP@XF*`G$NIu=hD/X9/IYN/d -Chmj(rc9WFT;7j7KR8#oH>R,1FbbX)Lj!cVChII^AS>gtFEi7kQC=+lG]Ib@B4bjkARf7\@:F"jDJa<6 -Ec#N*rbVUL*c#\[_5XC2Is/Df0?)BPMC+LR"F:aL[U` -G&1c.K:8E\G^+CSFa&(^KSG,0J;&o=JU2HYC1UpcASPpmBQ@p2IXllkF)Gf0FE2Y^Od22rP`:QM -DJX#o@qK@hEd;nLE,9E:JVobfR$!/SIsZ6NBl.d+DfTi5EcQ)6AR]+Y@:*S]D/O?=Kp&7*OcGj" -Wh>E'GB7S8BkV-lE-ZhVL4k22IXZ]oKR@f_I;s"BEcu5?LlmFlL8Z(6_uFF/.QEdH?GKme<'MMdIS -K8#2:M3ja(Tq\*@L4+>mI>3Q8MN!_&ZEC%"W2#c[W33M(N.m.7DL%/"Pbt^]PD4dBJ!$_(Q^F>2 -L3e2iH?sa`M3sp,OdM,bOb\($F)Z&>I=m#qG'/([Huj4EH[UBnIX,mIC1qdHPa[toI!^6`G))'( -DJ3]tCi+'+Ci+06H@CEqH#n(\PDtTrZDN\CH$aIQFEi%OF*N+^I#42VOGJ^PUm[0sKReT(N0]uu -KmnW5SXjAbUR?jcIt<#kDJF$0HC(A4^qI%SW3)hVI<'@NG]%>6Ed<+bJ<5"sH$+.RI=cQWEHutd -OI)AqIXd<9K7o>QPECr]GBItGCM%-iBl%g/G(YVOra% -N0B9TJVJ`#F*;hPG^YBuF`DnnT;.pUYG7/4JVAc=Trk8fRuNM]I"6crIYjSPH[1*nJ:;ZbI"R97 -P*UlVJq8Q/LP1MHO,o]tPa$3KO->uuMgTYqK6r<*Jm5uTpV.4U8406KR\5kJ:Mc_G^b'nL6/(8]Xb57P*;,dKo(>/F(o<'EHc\NE,^)PFa97HQ\9Er -D/O<:Ci"'7LlI"?O,lY]F`)#/D0(]3WO0an\"o7JKR8*"I!L!aHZsUZP*r5;R\?(9WgnuqF)Gc1 -F+BLUZ)7Un+0TVmjFJV4j3/Is?6jM3!g^OG.dj -C3"E;FGZX![&0e.Y,$u;UTVD\b-7J#MhQV0K9MFQG]%A5AoDg;I#!oSQ%FUMR?*;pRurGRG&qbG -E-$2JKT1nQXg>aX^9aT!ML]qjC2\68Ci!s0I!T^LIs-?jG&hncQ(!\dG&;59DKp,;F*Dk^N.61r -IYNB4S!StkP*(Z\NKKR#TqJ'CMNNI;GB7eGG^>!hEH-D^Kme8oIt)]]D/aQFLP'tuE,0iOJ9Z'S -I#=\rV59oPLjX8hItEH=VQlM=Ed3.^FDku8Ec?#?F`(u5DesH6EBnc'RuW&ZL3S9*Mi*(1DJa3: -IXuonH$41SItE?7R@p%8OI32ZY,A;'Wh>lWR>-0.DK0`=GCG0mFDbr5EGo[mB5hHqBl%^/Fa8=X -EHHSaM3jd,Wj&:oTTY%`JUiK*G^YU@Ts;VY\Y,=cU6CR]FEr(QH[g'PC2\EJJ;KAXVPK,kChdX$ -I#=5bX/i"tVl-Ms]YCtfa0h_+LldCSPF%`-P_agBIsH[8Ru2]QOdM[;Th_PUMgg&&I=$0^IYNlP -XLY^3R$32GEH#lBK8l7dTt780VmXLWZC[PIMMd"-D/jK>K8uCtZF[EDWi)8GML]tpG]RkWQC4&" -RA6CFST:4"[^2`pN/E[]OG\[GPbbOhWMd&8^U^_ITWY`.W2$\mWi)JbZF7!CXfJS-XJ_o!WMZSc -PED3%XM2Wkb0.;cOHPfcI!0^VIZ0Y_Q'IlCZEg[8ZGOu-aiVTKf@J*_Y,A5"ZaHa.WfiR7Odql+ -Q=uA9LQ7^iQ_ga_Xf&##_UI5b_nN^gURn-OV7Fgqe(NaHk1Ihm^p^MQ[^sE&cHk+d[&BmmPa/2[ -^:'u&K8Q1qWi)_kT9G>'UoV/P`Oi\"ahP'[UmdjKW3a1I[^a^j3f1\ZW'MbIXpm -b088_gu.#;f@AmZ=^;nRIe^`'hcHFGXc,IcOc-+GV\tkXQR@9kFSR$!]%R&.1$Z'pW2OclEE\>u[7[Bcm1TTte5Vl$/bYa_&V -VOa?YW0WCYGItmWhZAmZE:".[],XUS?'$,[ATXgSske(QBmf&SYM^0Jr,22Ko:kKLjEuTDfL&B -Ci=<5*-Q[hP)b6PP)OaJVAr;MNa[3Yb:uVI#aGRNJ`^cVlH8?H%(N^/]"Z)$]sYZ,i997\l01t$ftsniY.;Euj6Z:# -gsF0Y\[f>gbKnDVcI:@qe'QChf$VIU`4*4nb/D07_84(5d*gF][_0Ae^WOI2^p^;L`m2rUd+dU8 -cHae_b0"DGf\+g"cI_"2g"+I&jP7qo_p-ckg4Thq[2PjOCoL[_;[PC:q=!b/qGqURn0SRA6L_ -_RcbKYbI)*I"mW,.IPaeMNXf&:jOcto^H[^pASY)@*GCOjfKS+u=Q'eJNVkC'$ -Ya:E8T;ST\TVJ?^X0B4Yg?7MMg#D,Ke(*7:l/:F^rVm8sk2G7WjlbadjluJis+144s*t~> -i;Xkjk32'tp@IhCm-F!*p%n+En*oi:o()>?md9E0naZVLrpg$X$1.-Oo'u5=naQ&FmgAURmI'N8 -nEo`7n,DbTn,DnWnc/(bo^hVBn*oi:n*g8D([pk_mdBK0mdBQ5md9?*lg=02p%7hFnG_kpnFH5F -p@RqEn*]W2mdBT5mHj6,mHsB3n*olFnhTh-o'u2:md9B.n*]T1mdT]7o(2JDnF,i6mI0T:o'uDE -o()GFoCDMBmHj6,m-=03nGVecnFH&8md]o>nE]E,mdTcFo.]b(mdBW;n*ff=p@\"Fn+-2Jq"=.C -nF?#8mdfr:mdTlnaQ,=m-O60l1OT7nF>u:oBbi2n+#r9lgaW>oC(u3m-jE2mdTl=lgXl@ -rpMZ5m-3g%md091o'l,8mI0H/mI9T4md9H2naZ,:nFH8Cp%7eCnEoK)lg=63n*f]1mI0QCmMYK[ -kiqL*o^qG?q=jIKo(;D=mdK`o8na5c6 -nF#Q*mI^5Orr6*so(2JDp%S"Jq"aOJm.'lNs7>[Ko'Z&BnE9'0qt9aas7uEco]kf2n*ol:mHa'' -mdKW7oCVDi7n*BB-m-F!*o(224kih="p%n^eoBko3pAb0irpkC*mHs6-n*]W8o^_G@mdKuG -mHj3/kjSQOoCDDDnE]K8o'#H5p[./2p\=U^r:K=Fp[.M^?bnETH2nEK*%o_J(ClL"TB7.'=+n+#ojpmdp/GoC;55lL+'*nbE+Yo'GZ,lg*p/p\+(AkiqgUElp@@_L3cna,Z5oChSArVuNSlKR[&nF?&;mIKf;o'u5;mITi;oC2/;p@ItLki(XknFlA< -jPo@fki)16p$D&6mcj-'j730JlK@6lo`+q1q`UD,p[n"Io(2G?lg+$,mHj0)n+?>F -o]kE's8V0p\naQ/@mHO'1mcW`u -oCr:am,mWsli-#mm.'`Ap[RJ2o_nUPki_3so(;VKs7YgNrUoXVr:0@Xs7,14h=:IDJ+rp>nDrm- -p$qMBmI0f@l0@j1n*0HDs7cEjrUfLDo_A.SmdgDXqtpE`n*KE0p%J.[p@.M=lg!]shr=/&q!mqF -nF,c2l/gsinF>f(kOS?6nEfK8r;6K\n)`U's7u*Ql14-/qXEkDq"!kGs8MWQr;ZQ\l0\B9o^28M -s8VU%s8)0MnFH,=kOe$)s8V3FkMPP's$H>Jl0Rg&me-8BmdBT8na>l:o'l)5k2bn%p@\%Fn+68G -naGuAs8VTLm.^P[pZgu.kjSBIo]k`3mdp8JmHNs)q>UC?q;prBs7ksHkNVX5s7u9ZqtT[IrVuTX -m-O(8;qXEtEjlH19p?q>>nEBEB -s7Z6fs7PmXs8W#fmHX'(p&=[RqtBIQo^M59pAF[Rme6VYp[@D4mIL#Jr;63Un`As&o(_k=k32'm -n,NFOn*fT/md]l^Op%ItBkjJ74o_eahp@%>: -o_/%Vp\,6loCDPFnEBQ>oDAIRk2u(.rr5LXjR)X1r;6$`s7#aMkjJ"s8;0Op[dnEnEoW2lMLVRlLFT9q=aCHm.0i@s8Vu`md]T-nb<"]q"44QrU]FI -q=sLElg464j6HI=p#4]hlgjrNs8D]\mHa'&s8DZWl0\!+na5W+kN_^:q=s^Tk2G_,s#9T:n+6)9 -lgOHBrU0%NnG<1bp?h58na5N&nbW.Tmcs66o^(us8D]_me$DSqYU2qYBLFqZ#sCr;5U9lhg_TmIBlQ6 -o^;28m.LAUs8MKMkMbLnq![YGqt0O\s7tsGrr;rrmI9rImdK`3n*fi>na,H'lMghXkiqU)md0B3 -o_%qQs7Q0_me$ABmJm%Vp%\CFmco'ZAIn+-); -lga`Fnc&P'qXEb;nGWCboCMYKq"OX[lgFQCqu$Hn(%CAKq"X^arVZ]qpA=mip%%hIlK%O8rtOtV -m.C;Ws8MZYmcs03p$hYSqsa4Vrs&Dsp[n7XqYpKprr)jIqt9dbs8Dcfo^M2Ho^;YWm,@I6rV6$\ -rquHfs8W&^gu\5'qu?NVhX1@@rr3?'qt]sSl0eBBn+?PX"Sh-8hY[5 -nacDHlgalOrtPG3s6Sh9s8McbnFH,9n+QYVq;_)Grsekum,%+-s8W&or:]XOrr3B!nFueRq"jC< -kP"ZLrs\VclKS!9o^D8Fs8Dlpru:e,oChhInE]3"melVEqZ$Qps7>^Rs8VuhoD\ah(\mauo^_qX -qY0@DqXX4In+-5KqXX@VrVca)mHEZlkjJ3?nb;qUrVZZto&/?jr;Ri9mH!^8rV#aQp%J1WqY^3a -r;ZW^o(2G@n+$,KoCr7a'DMJ*s8;HUqu?Qnr:TXVrV6*`q>UBtr;#sPqYL3k3;`FBp\F^_p\+I` -r:BRQl0SHMr:ojMnFut_rqu0Dme-/Cp\k-fmHXEFs82Ths8W#^mIU#AnbW7b!VuKhs#g/KmeQn\ -mHXHGpAFg]p\"=]rr2lprr2rso(`7br:9ISl0.X9s7G^GnF?#9q#CBgmdf]3s8W)jkk+lQrsJYu -r;HHbqYgEnrVca(q!R\Ks82TdqXjRVrr4_JpAP$go'uMSrqlc&iTg=?p[%JArVuT\p@[bDr;?*Zs8V?HjQZ.(m,m?lkND*uqZ$Tno(E"^#Q+Gt -s8Vi`qYgF%rV,sXq"a^Wo()PSJcC<$k5Tr~> -ir:.ne#eadH$+7NFa/.TFEMeREcZ>FF`qtQG'.kHEcZ>Grce?bs)eWfFE_qPF`hkMFo-7fG'%bG -G'A(LF`hg*F8p@]GQ)dcFU<>rH?t!gJ:W9%J:DrnH[^NnI"$X!Jq&/sJVAo8 -KR\>uJ:DrpJUr5rI=?TiH$XmcI=-BdG^4XcIXV0B(Og[ZJ:;fhH$jp_G'A7[H?XITH?sj\GPudd -GQ)bJFa&+UG'JCdJphrnI6Isup!IY!*#ItE6"I"$NpIscNdFa&+W -rd9'@JUVrnJVJu9I>*T7IslcsIXZZmI=-?cH$OabItNH0J:;ooIXcp$H\$`sKT1k;J:N3&JV&K, -IY!*"I=H`pG^G+*S"m-qZ(mSGMM-S8Ko1qNKmnK'MNX-XJr#88I=QirLR=X!R\6:GRNe2V)I=HZpI=d0-LlRRW -Ll@.HPECWVL5^eDVPTB5JqJT%K8kkEMj0NeLQ.OcSY)[HPF7o!N/!"CMhm1IO-G`_OJ/>3TV8Kp -Y,\=cL4b5>PEh2cL5:XEKRnf7O,8[HJqAQ)Jq&2uKS5&@StM^ANf/jPJU`B8Q&g]UNLZQ,Ne`=F -NK9?uVk9*-M1pP3re)JJKSP>@O,f*WQ(OJ.NJiXLL51bNOGo'RMO'^)U6g^iLkYe^(5Rm.PEM#d -LkptLU8XlMLP^qFM26qBre5]RItrr@NKK?`NfB!WO-,KaMM?Y2JV/T,JU`3&K7\f:Ng?62Y-tU4 -QAgEFIXd'2Q][,VJ:W<*OHY]WH?spcIsQU+Q]HrXIsum!KnY/1KS+l,I/8JX3!rMMR+CI"Hr!K9`I6PE1QVOI2DmI"I!5PFSG1LPLS8J:E&sIY!E?P)+U: -K7&)rIt@TNrd5E.IY!*'K8YkVPEV?'P*(WTKSP>8rI8a7J:N3*L4b#*IXciqJVK8[YdCL&OGJ[G -J:E3,K7JK$I"@*1Lkg\9It**'Knb86KnkPEPELuiNJW^LKSPMFKR\K(KS+l-KStqKL4b)/JV&Q. -It*''JV8rCS?'*9aL\7-KRnc/JUi?(JU`.gJ:riBObnjNMi*XhPE:KOMh?4uIY*<.Jq8T2re:B* -F+o@)NgZiNYc+(VP)bm*VOWp=M2m@CLP:5/I=Hj#JUrH,JWHG&W1]H=Q^skBPD=R4JqSf2Jq&?* -K7ec,JV/c5^aQ^X7uIYii3JrGtVKU%d`M1L&% -J;K2FP`U`ZOI2]CX.,HISuABNO,8XFKPZHtIY*ZMQAq#iPE_B#S"-LNP*MGnJV]&/LS:]7MiNFW -ZGXf*bg!\jN/ERLIsciuL6%=JK8bbOR'+W[a2PftS;W/\O-?91W40CEZ+-BmOcYfrT:rE_R?j"s -Nf]B_P+nqMR?s,"NJiYmLcUWcRZE/TLlRLXLOXr1L6.1OMiFI4TpVLBSWAbpK7A`?Q'eMa`4E+f -_Q]\rNgPW_MNkLOal(Jqf&:MiX$`O,f'P -O-uW4Q&'s@Jq8Q.MjU99R"g?UR%0CuM2mOYSXu"!L6.ReSXPXsMN44)YdCL%VoR2jS2\ -NKp37U7IU/LQ%LWPFJ,+NL-TB;PBh_T8nS[N/imRKnbAAUTV5J_6^/BVP9H9KSPYSL4Oi.NKTQn -Vi$"YJqAlAQ\^-GOI2rQ\$VusR&-UEQ_L@PXL+pfN/<:@IXZg!Jqo&6B8qe$L5M%NMN*IKOc+mN -MLgkUKT):ePF/DZZDEtUT:qaJY+V#=P+%o3T;nB9AiNMsP%\\lOnTphL;N/X$eO,]6`OH>X! -Xgk.#\$2g=YGIYJM1gPEP+Aqr]rdoqR$jq[ToP4uNJ`XOLP_%MTrOiVUoLB)\[/<7XKSh?_mcG9 -T9PD#RA$CJS!]RbRZ3#WOck]]PFA>CR@pajWKi[AX1-$d`4;n`?SQ]m;` -Nei@LNf/pYO+!LiP)Y0WQ&M$'RZa&.R$3c&TU_s_YHOh!Yc""OL5(YMQ^lV6m\4WKid?RuibsN0'*b -R$a2,SYjW2lr/a1f@6]s+E4XI?5gWN`S'S!]e;Q))10W0s3IUS=9P -Un4QgYGn"TR%jMHI\F3oagSCXSrADWJW#qtZ(n#%[)KD_`ODqHTTtb8U6gq(O-Q<5WNEG3];qj0 -W2QMYR$YF2T+^q?VXZ+.3AWj]OJ -\[&EI\[A]K`ODnGTU(n9Z,,&DI)`k,U8"Nh[AoUTP)YKhVQHemVREq>YctRPai;HB_ogHT`lGKh -[(OK'^pUS6P+7i4SXH";Q'%E'TUDmg['m*;Zb=T3bJ1[!Za-dA['-sZb0JJkinDJc\\u;!_oB^? -e]u\!dC?D=dQC=AC[(*E?U7uh&UTh/5]ZS4,_U[Vr_R?P@V5gf:d*9>Gg#qSXhrO+_ -e]Pb>YcGaQZG4AaX2*EBf%&C+e]cLoeAJ5MS>ra"]U7r9uZF[`he'uRge'Z7Ta3r__\ZPk36*Rl8^U^M@R$F&5 -[CN6.Wj]@NU85E*Obo3hR[9>9['HI!TrOoON/WFHNg-'9]!7p"USXfm`Q>s,TTkk;Yf"Q\[stZa -Vl$,\Wj]C@Z+$=#[CWE;[(EH3P*D2iNK^N@QBS)SbKn;C\%]emV3?q'OcuH6U8kE$W0r^,NJ`^d -Vkp/aSs>P$Q^X2kTWc8]j6,ILZ_*kiWM?>q^;nXWjm;C"m-NKH]sSg>(6.iT&bM -bdXLJY-uI/kNh0V_nEXi_SsaKeBQ+Vc-XndcH^pde',YF_m[,#fuqFQ^r+@Gh:C&k[_0Jl_8adK -b.P:&d+[1(g>qGM`l?6Jbg+eqhVQ]'cI't[aNE5sg;UV:bg+nhaMl!8eC<($eBZ.R_o0jOf#kbA -_6UD\bg4;G`m3#XbL"tma1]6t\]`ID_Rmn>f@\j1eBugtda->@e9oK_cIUe)dE9_bg!n&& -kj7Hcf%]!/b/_`Qd*Kt^dFmI8f$;OlhVI#GhUp<)d*^S*g!/./l/^XOd`pJ&hU0-L^;n[F`P]^9 -_7@+PW2cbkT!Gf:aih<([BQj,Q^j_?U8kE4aMYa+[]$=3Yd(O@XJ2nkR%9d>Q&^uiQ_(:aTTPP' -SY2:4R$a,:\@AZI_RlY>TVABbUn4*PVPpZ/ak5\'bKSYqe^)UigtpQ1iVNTSmbl^Ecd1%jeC)k# -jSFH-JcFp5J,~> -ir:.l`Ktsi@9Q].:Jah`;H@+4<`E("<``C*=&r:!;cHe!r`9"us&9;$;cZq!<)cjs<;TT$?b63?Y69r*=VT?!U]==]nj.=B\j0=BSj3>?tQA?!CK:>$5'8?X@#H -?X@&H?sd5M?sd/G?!^`H@UieT?t*PU?sm>PA7]1U>[LiJ@V04`ARo4W?t3eW@:Nn_B4PFY@qTOj -AmntR@UWSM@q/kP?t*ML>[CfF?sm;G>?tQG@q,FG?=.)G?t*GI=BSm6>$+p4??q/2'O+sN>[:lTDK'3*FDko*B4bIQ=BYW.*ElZQ?=.2SBPD!e@:3MQAnPI^B4P^sEFNEfA7]BP -B*2XTAmkUFG[4?RAp/ccR\cX>K6q]UB52-tEcGi*ASQ41H#%#-Ch@9oC1V41KRSK.L3n2nF_YT& -AnPdiA78kS@:3JO@qT:cCM7HtCM.?pAn5FaBPV6oCN+HHL5M7OG]7G7F+/=MB4YdiB4bahD/4'1 -G'%_HEH6GQEH-JIF_u5_OF).bBkV$oG^47QJV//dGCP4'OHGBLKnal!F`_qVGBJ4^Kn4Q$OcG!O -N0p6+QB?i=D/OE@I!9OJEcQ&4D/aT9D/3crAnPdg@qKOoDL7.sLjjPiFDkc!Ao;[.B4uCCN.lLq -DK9oJKTDCXI<0CBAS#RlCi++jE&r,gH?XdhMhQY+GBS%JF*DqSDea!&J;K;GJTGRBBPD3tD/j`F -I!^-]EH?;MO-P`ODJX0*EH6#8CAqoS@qp%+G'e^fJqSdUJd$XMFDYW!raU4_AS#IfBkhR1H\@BE -UTCMcJT>I;AnPq&Is>pJC2Ij-H$XRG?X6rB@9mGiJU;T_B4GIbBk_3kBkV-kA78hN@9m8QAnc=8 -Jr,;2E,TlDLOskkC2@d)BRGS`EH#r:B5VX)JK@;':b@q0(`BPD7'H]=Mc -QA9g-EGoT)CMd]q@q&hUCM[j(C2%9mrbEZnCM@O"EHHVSG'J(EEbK'"E,TE#A8,amBP;1&G]@Y; -C]8$lChmWoC27O#G'f+9WO9FERt(H@'^PF*2JLL3n,\C2[`i?".J^Bk:jf -C1h0mB4kmnEINq:Tq7I'IslWqP*CoZKlD*MBl%QsBkM-qCMIU"DJji^Q^3YbItNQ9Ljj>V@Urt\ -BOt[frbVXOrb6OlE--VaLnqekO+DXtAo)gPNIQ"dCiOWBFG#6uIt*!&Lk^D)F)GZ%A7/t`C1h6u -Fa&4XDes<1CisZANh;f)NJrRCH>@A7@qK@cASua:E,93%Dg$YnToFhYJq\f"B5MCjNf00^JpVTZChdd!A8-:BK6r#pI"$WtK7]/:GBn[ZC3=c?GES;I -H[pF*YJJ8u`l"d7G]\+HA7&eSBQA33E.3V(Pc)C;]t:_OP(%OsH$k^;S#`fnUo96*I!L:!Nfoop -L4Xr%GBeFVH]+,NMhQFtEcQ8DF`qqWKnaniCN+?6F),?'EH6>DG&_PWObnXILP^D)IW'"GJ:riP -[CNK9Za?EgJUE)jG]eJ(RYlukN-TD_D/*WgD.[^KOF2b;Iu'etQ@XC"Df'3'EH#T%@qTUpDf^/N -I=6KfG^t[0L4!uWCMR["?>k%BPa[VYDfL2XI<9UZI>!WBKm.`kKoD+OJU)QlNL?Q@U6D1]]9n4t -EH$>\R@9P8UnEj%L5:A*I=$3hK6i65Mi*glUT(AoS;VuIGCka-KSbkZWNE4rSt;UJ?DaR%[AJe2 -KRe/kM2$q\Y*b0(N/<.GU846GT:(IaL6.FQKReZ0MNscqL5LM%H#de;D0CATG'8@jL4OPkFEVtY -IXH?WB5V9tI>3lFIt)oqH@_EJFDYW"A85t#rbl:dF*DqXIX#s\Nh)ArUTpVPMKO)WF)Z;GFaARe -G(,LCR"g!AP*hJoKR.]cKR\f>O+Ve4QCXA+Q]?N;G^Og\Des91G`nVt\$i<3Un=$6I<9RWJTPgK -Ed<+aJWY%hE,KPNG'npbCNFrZPG>"OP_=gWP_P$XPDt`pO*PnkEbo>r@:WqdCMe05Ci=?=F`_hK -FF%tAF)t#mIY;ZaJ:`0%R]<3NLk^qLLQ.^\IW^!gK7nuEM0).NK9*eRuW8[NgZc?PC7CmI=$a,K9DFAH[L7# -SXbY#NL5Z]SY;X1,K6hQfKm\W>N.d(MN/37MQBe2?US3s7S!/YRDf'H:H[^3[DKphjKm\8t -IQC*AlP*MT2Q]6cYL4PAaX-JI# -OI;T*SYM[HTV@p8K85SFM2I12N0UEUZ'q&MN-fbkDg7#(TTk\AVR<>)^9OQ/R>Zf[M0Nr\H%V*B -S>3*d[ABIdR$3JWIUV5C,_ZbEoIS;DiSQ(*haL8D;`\ZMpEbfd]*Wg0Wo]!e?@ -WirP!UTLf$Xe__kY-"fVZ,*fDTpCOkP,5V4d_ro1URIRBU6U4QH?jjmR%Kq:R]3`Of$;1G\#l[*W2ZW!_p$T_jQkpT -`4X+)^;7_*cIL.bf$1P"VOip-Q`RKqSUlKOQ_pg[S!9(rPbG(V[Dp+q^!>6Q\#lO"Tr+m&a2Y^/ -f]_\_iT'+Uc$[C@[BQXDYc>:OYc5@gf[\I'gt:!'eC272PEr#@X0J[lNh*Mh`llEA`Q,s4]>2P. -]Y;V7b0.f4SWSr0XL>O5QC4SWYc4=fVQmMK_7-hBLm4:%Z*q*Ub07`Gcd9hRb15@i\#5spTr5*+ -\ZqlmLOt2>V5]lES>`A[ZB^f\V2'PWQC*kuSu\fVOd)<"K785kH@CI(S>W$BO-Z0&Vn'RKWfMjl -OeT:tXKA_3XeqngQ^+/BX/DktPaebZTUi*cRYufRLOXVoH^0\ILR>3V^:LDGYdgd"JpVuqJWcCh -TV%mBKR.ibDf^MjOHGioM1U)-Mi+%'QA('TP)bluO-c?)R%CIfZ`^O7T9+qpTsD,4Tp;">VOEg5 -P*MB$R@8bYLk9kpGC4jdEGB9-E.;tJEH?/DI#sMKItj/JIX?-\KTHe,NK&@7Jqo>EOdiDUT8eY` -M1:SGLk^t`Y,n.HIYN]:QDq$VP`LcXIX$3oPFneNSaj%oA[BZs'NgQ`>S!K5( -R%0tV\@Ju:W3a"E]",/H\&d%Hbfe;R^qIS!Ya^]9P)touP`M67[DU>;ahbBSR[fh6T^[eDT9= -`4<(JU8"Qh\]2b0a3i>X`PJjPS#X3JjQPUJYF:o0US"$HWOK^fg#VVooChe6`3cG4Q^st[^V%A& -cG[?7g=b<8fAu&Lf=n8ZWO'1[i90Iig!%FN\&#o&d+$CcbL+hje^DdleBG_E^U:Mmf#P\B]>2M9 -g!nE`Zb*ub^;7n7`4*+gbh(IsgZ@bWaN;]QbKSPmh;6W*db!!ns2n6liRu5a`R<)ad`TYMak#"n -eC)R^`lH-Jg"=EZ]"G5M]$8[FaihrUc,n>beA\u1['R`p_7R4te(E@/gt1-2gXjs*f\"[!eCi^5 -d`Thcg=?2Lh::'7l0.?rki:OSg"5$=fZVh(lKI?ihq?lG -hU0*G]>Mn5_SX:3_RQtCU84KRQ`RF"`5oHpZ`0RSJr#DG@$-kKY.D'L\?V]uS=u^UWM5fXP`1W\ -J9ZNsN0'U'N-p,&LQ7+BNf]-cV59WRXeq2?MiNsbNeiFNP*V]>]?]6W`lQ]ad`ftahVm,>jSSuW -n)E'OeCE1&e^N%'kPKi1JcFp5J,~> -i;XG^jl5Y#r;H?YlKIHsn*f]3mdL/F"7YaHn,DhhoC;A?nF?,AnaGl6nalDEnaQAA!:9^P$h!KP -nac5=mdBQ6o)A.Ync/.hoC)&3m-sW;na,Z1mdC)Crp:*]n*ol=nGMh[o^h\Fo)A1XmL8UToCVYFo'u8>nF,oGn.P9^oCDMFp%7kHna5c6 -nac2>melVSnd"^Uo'u5c5n*]T2n*or;nF>r5 -lgXN7nF5f3nal;?naZ2@naZ&u9mdBQ5n`]3$lKmp+nFQ5AnaZ);n+6,?nc&#!n+-#nFQ5=lg438p@S+Rq=jUSo'kr2m-X3.n*oc2lKdm,n*KH.rU'XO!U]7Q -mOmttn)rp$lg*p/q>^KflfdU%q#($\naZ2=m.Bl?o_/%Qo]ti4pA"4GlKma!p\t2mf)YV -md9HAm5+J1o()SMnE]N4na>f2lgX6)m.0oFp$M)8r;Zfqr:9(4kj.Htn*96*m-3g(mcO-0kNr3? -?hmml0@R&o'>rAnF#l:lL+9/ -j730Ll07?po(VbElfdR#pAb0flKRd2p@.M>n`]T@q!me;jo4ZtmHa$!jll.$lg"!2nF?8InaH2I -p[[tImcs$%md9T;nET9+oC_V?l0.C2m47J`j6QF6p\Fa^naGo7nFuJ@mdT]8oBkr6n*]T/kjRm* -oC__Go_%kLo^i(P)"$b\nF?#9mHs9-m-F!+o()25lgjfEp@J:Ss7@f4nbD\Bo(r=Yo]t`&n+QD@ -lgON@oC)2=me?;?kMbIps8DBIl14Q=mI1&@HggIpo(qtHmdKQ3m-"!?s82?PkMke%rUp!dq;pYs -k3;-rn+-5InE]K1mGdI0s8DKUn`oN>s8V]VmHWs$lgF3.m-F!(lK[d+n*8rii99\#m.0oCoCD&% -l/_:"k3DaAs7>R?mI0H0n*oT(l0@U'pAFd\na>f2m!J-hmH!mHNg$p]'dKl0nNKp[.,/lK7L.oB5H5q!7#-o^hG:n+-&3ipQ=0p$:i/mH=--jQH%) -p%7qIn+$5Op@.55lfmj+oD\d\kNqj4nF5i-p&G'akj@ZtlLt5W,l6upjQlL5p%@_Bp$h2/mIKr= -kNi$Ep\t3jnET9*o_%D0oD\^gCA@/Xk3)C:r;ZKZoC(`"lfI*eq#CBgkk"?3m,mo'Gc4o_A+Fi9oamp\jjVoD.YFs8VlnqXaFVo'5=crr4&9lK@R$kNVF*o_8%Lp\=CNna-2OkMYn*n+>u0lgauG7e60CmcX9?n)s06q=X(8 -iqrcUn)rfolg+',o)Ja^nFZ\Zs75:Hs8VlYm.L/Os7bU9s8W#doC2AAn*]c8p%\%Dl07d8q=4+Lq>L0\md0H9p%7qPp@@bEq"t*ip$1Mjg?&;5s75gToC)#2n+?#:n*B<, -n*9B(lMLV]p$hnSo'l5EqYKgYrr;igo'c&@o^hnNn*p5Mp@@_Bp%\(Trq>dMq>9jWnET?0p%;5X -qY0RNo_S1>jR2R3q"OFWoCVY>mf*7Wp$Cu^3VlgaW6kN_^>s8;Nao]lGU -s7GpZqsj.BnbMtLmIf]:qYq<+mdBW9o(226jlGq)pAb'dp%.Y?p\t0sqXOL`q<7GLrrr/fnEArs -rr57_q=s7CnF>o4nbDkQp%.kQq=*bFrUfUPq"":VmGR$mm,-OTjR<-Kq![5'mJR"_nE]oCq"F+B -n*06+md0E9rr3)gjQcI;s"F02i8a.pp@A1Wo(r=]qYU0\o)8CMjQPXdm-sH/lLX6!jm;sGrV?Kl -nEKB2mf!.b'(G/OmcW`pjlYk%rqcB^nDrKtrVm8hhrO1kp\FLSp[n+Vs()&rkO&0Hq![J6nb2YC -md]l:lKRO,oC)8Dp[n%Hn`f0%q"aOIlfm[!m-aH9na,T/nauGmGmd;s7,[RnE]?'p](6bnaH>KoC__Gr;ZZ`l0.^9rqQEks7uZo -2#HS!l1"BGrp91Gp\Y!jrqucgo^M5;nE9H?s7u!Jp[e"Ko'#6*rVuNfq!I>6mca!.p\Xmg+S4U\ -rr)ZgpAb0gq=Eh2kj8-Ep\=LNlh^Y]o]kl7lL=cP*VKI2rpSq:qY^Bgs8W#ms8MZYo(M\EnFlhZ -r:K[]s$5i6lKms.o(M_?rr;lYjR)X,p\*n8oDej]o'Z#Is8;f[me6JKnb;nSq>:-jo]bi;md9`D -oD&@Zr:fXJnF#rJrtPG3qQ.p\aLClgX99rr4AEq=3S=rVulfm-Ds8)Kimc*a7s!dp5k3hd8s8Voco(_e?lLXKEqYU<^j7iQKr;Zfio(2/>s8M9Iq"sIN -rr4SKp\+=GlM:J[rquWls8DNVp&=@CmeQeOn+?/;n+ZVKmHa9,lL=HLr;Q^(rUfdYrr<#t -s8Vuqrr3&tq>:0k&GbqbmI1)Qs8VZIlMCP\rqucq!;uir%/]&Js8VZTq"3>+s82cp$i^2*p%db4 -o_@_=rVlg2p>a`WiUm$Is8;?QoD8+Rq!I#)rr2ppo]PZ:q!7MDo_8Ccr:p<`nFQDSq!.;;p\FOY -rVuomq"aLGjmr6Gp[@VJs7cEjs7bsDiT0:lm.:8UmH3m1p$qSEq=X@CkO\<5mHWTjp%n[f1]6\' -l1"BDs8MQVq>^9]lf@:)s829Urp9FVn*BWFs5i;*nb;bKnGiO`jlZ@9o(hkMr;Q^Tlg=')m-aE5 -mHjKAo^MD@mH!X)nbE.`p$V,4m-X`No&oQ;p$_A=oC_D2l0S3Fs7u6PkiV(#rVo"Hioft4rUK1< -kiV4*qsWb;q>0dSp\O^WnFH#/mH!9gkiqF%rpo44meQVHn+#uHs8Vcao'Pc1nacJRrr4YElfIBu -o^;):qu$6_lM1APlg=TLr;-?ks7l-Qme?VPo()>9iU66tkP,#Oq>($hrtGD,n*90*o(;eUm-XE< -q"F7Hlh18W"TJ,_mIC2U"o7idpA"L`ru:Lpqt9^Yq"*tAp@J.\s8DBOkkP#ClhC>OoCr7as7/#= -m.C#;j6#UfoD%hAqZ$Qjs7lEfq=O=VrqlZos82Qjr;6Bip?V2Dp@J1]s7GgRoC;>DrVm?$lf.'o -o(M_Qp](9bp\k*omcNj2rr3T0s8W#cn+un\s8M]aq"aRQr;HX'o_8CZhr4D2q#BdLqu7N2p$qSG -q>^K\o`+sis7Q*bs7u0Mlfn3Crr3Q(o'uMJpAY*ip@ReDpA+CSrr3,kkO&'Crr3H%n*96/pA4gc -o^D8ArqcX!qXNtAnF?8NrtbD!n+-/Ip&G'hmIC#KrUoaRp%J@ar;HXBqY9XOp&"U[p[n(CnF5l; -rVuW]n+$&Eq#(-en*fo@r;ZE_p\Xpgru:t;rVccqq>C9jqtKd[s8DQapAb0go(r1YpAP!j0`D%K -p$M)8pA+O]q"OO\s8;H]qu6Hfq=jX\p[RbHq"4(QrVuloq"OORq"jXLm.^GX*<#X$m.^/Cp%.M: -pAb'hs8Vf_o_A"Bkj7p8p%eUe8FZ' -iVsPRb+j`9Ec?&BH[U9fGB.\DFERP*"*JU'ErL.lF*)SJF`r"SG'%bHG'J:WG5-1[FT-CjG'A.R -F`_YDEH6/DrcA*]s)ecoFE)8>Fa/+REH6)@F8g:\FUWG;G^4UYF`heKG'J<.F;f=HG]n.JEH?2C -F*)GFGC+@OEccGKH$XXWGPl^hH[:!`H2`'eG78bCI!pBhH[:!`H$FZ6GnbROI!^6hIXQTjH?XU[ -H[L6gH[^GCJGt*)J:W9%IsufnrdFfqrdP'%J:;oord+ZoIf4`sIXV0J+G,,lH[gKmI!pHnJ9cHe -G]e.SI<^'`G'84[H[:$cI!kp?!.=co'RP.OGC"ITFE`"WH[U9gH[9s^G^'.1s*"coH$"7UG]n:W -If4X:H?aUUG'A1WH$Xa^H[L3fH[L6jF`hkOH$Xg`H[:!`HN&0lI=-BfrHSElI/\I0I=?ZrIsuio -I!^0hI=$6aH$XjdIXcm!K)L6$J:IQIs*k6'JqJZ*IXV3Brd=`m#^1H[:&:JnMG^P!kJpi0#IX-3fKn92Q$\I!UALkUP=NL6/rKnP8>N09BbNKTH_JUW97R[&b`LAls4 -L51SCNK8sYSX>1`L4k/0K7o#7NffTiMhH_8JqAQ+L5V%OPEV)cKnk\SXgtU!LPLbMPE1NRKnP)/ -JV&Q1MN!UVNKf]fNfoKZJqSi2JU`,tKRnW)LlRU[6B%"qXh2*W9IscZsKn4Z$It!B8M2-\T;SBJOd(c_R%Tk$I"6d"Jc:7)JUi3#JqAZ4NK&mRL5V=fS!B>0 -QBdbrM33FILk18DS=G[uM2md_P*D;pM2$S1ItNK/Jq8K+Ko(eNMh$5.Kn+f2Q)(=NR$NbhMMQ_4 -Km\c4LPgqDM2m)bIP-84S#2U:NKBNpN.ZS3Jpi<8P)#*fR>?-6H[L@$NKffkO.W,FW1KNOTUMdJ -NrFqQLPCS?M3=C(TUCXuNfKKtUTqA)OcY]^rdfQJOKGaVP+%c)T!#oP`Ohe'KSYSEKnFi,LkgV9 -N0KZsRA@L4]=bVMPD"F;M3=!iVmX(E[C<'#OH,-JKSl"\ObemZP`CQVNKfm#Oc#NfOd_f'MN!^PR^B5u[C<^H^4*D_QB[`"Mit'EVOaB_Wh#3. -NJrXGM3k*>TTt_'O.!2c\YYRQP`q&aOHPWXIX[!-M2I=SUSa6:UT0uXP)4sML4tD=Mis0_T;J$6 -O-Z9&OGf!lZ)a7SO,oQdOGo?sTpCq3Up@;#QDqsIY*4]rK8c7jQ(Yh1ZC[MENDb[hKnkJ=K8G\U -R@pUeZaR?IVOa3GTV%a@Q'I`,XfJ=oTV/$SWO'(;VOj'2OHGQYM3FBsR$s\CSsc:SY-"k.UR7F< -TW5/hPDbE`WN<%hPQ$^TLP'u&L6.OUPa@r7SsGK;N)Y^jM2[=IM2I.GN/s*`Pa@i5Z*g<]KnbA= -MN!X[M2I.DL5_4TQ]IE3\$;d&WhPfANfB!UKSu"YPE:ohQ(FM7SX5G%U7dp:Mi!=MLQ\$fNKTb0 -Se.?SNfApNLP^nELPh+UR\m:fZ8Sh^Vjs0>LPhIlNKApLPF.DhU5OJRMM@"TSrAA_Q_q*r[&T[b -UTq,'SY`-QUTC,FN/E:;I/\R"Kn=o1L4k8:reg]5s,%#:MMHkBPEUKVP*hu;SZTK2U6_(?Yd(LA -XIb]HU84`jWM>i>M3Oa9^94B1SX5Y(Oe/PV]>_RiViQV#Tpq^X`N>AfU9_#'Q^*_nN0L*?Nf]Eg -R%0S.OHG]kT;S?ISZ905\Z(jNLl7RmUn=0JL5D(cYe.HKURI@.P*DN8U9D&4W2?k0^oF&tU8"*D -T!#cAYG@n^O.W/;OG]-[LPV%d[_TPb[[WhZS"6@UX.>?*KSPDCNf&mVP+o"\\$2d%PDY!JOK5.C -PbtpnR[U1VS;W,VKSP_sc,I,qY*bQCP`:EQN/EL:LkgtSQ^!r>ZE'q.ZE1@7T9"qpOG/LRQ_V40 -Z`9I]T;nudP)#-UN/`IDMhd:RPEhT3Z+[lTUo:T1^;@UfSOd2#iI?0>FO-cK.R[fq7Q)r'Rc+9F%M2I"IPEM3' -U8PH3]",/DS"QmaTTOkVJV&K(K8>A=K7\`=OH5QkS!]D#NJE.DQC4#!O,f?dQ'[i$N/*4LQ'n)) -TWYJiOI32TX09+DWM-/cOc56OItrr:M1pJ:R\-")R\5gtL5Lk7M2%(WMh[.LV5po-Vj`d4SZoE! -V4<[/Q(Ob7R'sf0RuiJaM2$bBLk'l%K7\Z-Mhm1PR?`nrR?a#)TV@p@VRNe!Q^3SaKSGkmUn4-D -R?Ei-V5h&H[]5jbSu&<\ZFRHKZbmP)P?S?BN1StDXHrh!/]T:3+%Yb%>[X.lVoS=$+TZEUL$ -NfK!NNJNq$Z)a[rX0T=K]"+i2T;%U4Q^3\rSsH(CS"QRQX0fCAX/ht[P_kKfQB@2iQ'R`,VQ6f# -Yf"N%I_;YNS>*6_T:hpdcdg"BY.W*-^TaiC[(O#XZ*h$T]s4fP[]-"#Z,"JoZ+@lu`2])dR[g\% -d*'53V3\$c]="W1R$!c&Q^FAAW2-DpUn4B\Ye\>n\%B],bf.W/X1Q[)bfRDfP*D6%U7dm:Pan5/ -S#<*l['mcOT=`=kIa?Kg_7-nR[_ok]Y.hlf`REMkd)a2D\@0B)d*'_bg""*IV51)YQCFeMSsc+< -Q^FMDTUVIHTq\Ws\@B#Z^WP!ZfuUP"Unars^X1i_e`#fWhq[)Qi6oZXYH+eL_919DZGG/MiS`MJ -i7ui3d*oh)UU@M+SZAZNTtRtVs3>E!_8O7'`3m"j_m?V`aNMZ9Vja-P[Ca;mZ_X7kYcb4:W1^3. -ajSA>U8=rnV6RPA_U$]WbLFMJ`Q6KGY,nh7[^N`\bJ:KhXeV;JS>NBdUo1Q5YdCjDW19!1Q_^X\ -ZbX8VU8=`ZP`CbZOH5K[N1Ql>UnO*EWN]Whc,VXgkL3WN<%gPa%K+ -URdgCT:MOY]=#/le'61_ai2$)YcXduUSai[SXu4>V6$l)YH=e1^W4=-[^*EYc.COkbgOqgc-=J? -R?45=Tq\6PStWBo^X1NR]<\<1W4YcG18ZGXc9k3CaB]!AKT -bLP4mbJhEFbKSJgd`KG;]>;D%_p@/ga1fL=f%]-=eAf)+\%]i1da#qO`Q69Wgu.>\kM+D(a2c9I -g"tT@e]YhD^r=F;.Ga%7`lZTUf$2+H]">u4e_T9Ef?(e@bh1_)eBlF[]thFr_91!Dc-Xo:e83CG -^Vdt2bf%fWf@o$;gt(-/f%AU(fA,$1e'Zb%f$)Ofg>CB'eD'0OmI0B#h;?`,`P]gEe'ljtd*U=s -e]lRshV[5Min`>WNWLIW3*PJ_8=74^:Chg -ZD -iVsPAZAim9>uag!:f::p>$P94$Co.rDsD1>$P?<>?b97=]nj1rE1dW>?kB;?!^fA>?k<7??kE: -='&U5>$P96=C#6=>[:WA?Zb'.=]\R%='8a3?!LT<>$:i,*`lKG>$,!4<`rX1=BSm: -?=%&H?X$`:>?Y<;?$G6:?sd8I>lIq0?X@#CrEC:I=]ea.>?kHA?XR8J -??t!MSAGp!=@U]7Ds'Z4CA7]:\?sd/D?2e.:?!CE5=^,*6=]kW,"(#>B@fBp< -@Kp1F>[(E9=oDJ&>lRq8>[LlI?XdMQ>?bKI@f9^r@V'(U>[CcG@q0%\@q&hR?=$l8?"@VnPG4kE -PCddb?<^WB@q9:jDJZk67>[(E??t!DN -?=.&I?X[AP@q9.V@:j+cD0:8`Km@ZTEHlkUE,'!"Bk_*qCi=65EcZ8=Df^2LF)Pr8DK(&iSW7r0 -CN"-/DfB]?GBInEEHQMRH[:'nM1TqoEGoc;GBe=bJp_]cH[L*`I[$7ZQCWhQDf8*aEH5o1C2Ij& -@UNkeAnu3o@q]LbBOtX_BPr*DK7%ugE,'0-A7]@bB4u+%H%UcoBkM0sDKU8JFaSOYCh[g8Kn+;` -E,kkt!HE5\FpN&0J9bd9BP1lT@t/$%H%CX"G]%5-@UNVWDfpJWIXH?ZCM\0DQ_^(!Dej*.H?X:C -BP(^\?t3_\CN"??Iu0&6ItN5kChdZq?sHoABPD*oE-Q\TH%(^FYdC[6LiR-@ARK%cD/aK3@pN;E -@rcEo?tE_Q?r^QZJTP[IC2%F!DJa*"Ci=9/Bk_p*?=I8K?=IMaEcH5FDfBlBD0^;EDf'9,E+sB= -FE;bQEcZGED1%J&Des'!DKBf7C2@j2I"mH'CM%9tC1L[Y@UX.rDe[;'@9d,J?t%G'ARjKT;Oq -Ss"5/A8Q@'A7/k[C1^pbA7g%1F`D;W,DfK`EOI22cJqJ>oJVnql?t3VR@q9._AS,RhC2%I%E,p#>Ed*4s -N;eK5I=-NhFa\4OFDZ#ILkg>$FaALbI=[0*G]R\6B4u*rBkqO'EccGJEbK'&E,0E6JWH"QK7\Mr -H?F%@De=$-DKBi:EHl88CMI[0KT:V0G'\^kG\pl$B4k^oJ:VopM2-4dAnYdeCN+TMH[Up9Q^3M_ -Lk^AsXG]n4QFaARrPECZGIXHElKo2.dKm%ZdF)>lW$ -BQ8$1FF8t4S'E,03-H[L!RDgQkTE,fuHJ:Dc_LP(59Mh$"sIs$[JVPUK"Y-G4,P_k-LJU)d1S -GB\k*J7rYWhYrCLO=T%I!9jgMMd4HNf]3UO.2Q* -R[9(iKo(hXSs"\OIY!cLP)"I4H[KgKARfP"G&i%cLl-t9GB@tOF`MD>D.dHnD0(#RJq8N*JV]_f -O)t;8m -J;otDJ:iN0Mi*1>KS>5DQ]6HHO.N5COaqOqGCb^5LP1M2J:rrTW2#cEN/!()Ll7IdP+8DBQ'7lE -RZNMmP`1H\Up[Y-R?`b[NK8m@FEi"LH%D0VZ*(.0Q'n&)Od)2rK6(dBDf^)JGC=dcNgQ<5TUCdl -G].YLQ]6TKQ`?d>N0p2tIX-0\G(HI(\>lI'NK&gJGAh>:D/3p%C3"ZMH\.HPR$jYFTVeEGIX-Bf -D0(/[PH(m_RYuu[Q'dGSD0'N4E+s',DKU5RJVK;[YI16sS>E9iYcXLUJV8l?NJVIXHEhKo:_BMN*IMU;+U^X,_LM -GB.tWI=[<9Q)M!qZDs:ONgZ2jG\h&/CMdm+F`_\DDf:)OH$k0rJUM]_ChRa6J:)NbH$b$mKS3QX -G]S"RJ;/l1N1HQ!H\\/eT;&EfS!98*JpDQT@r#pnCMIL&KT1_1L5:+iC2@a)Cj(8ME--8`PF@o$ -KRJH:W2H/NLjF8mKnau*TraK2G]IhGDJX3,@p`XCAU\6/BP;L9I!9dcI=?d+N.unNWM,3&J95U@ -BmP_pK7e`2L5D(]T!,r5U6L_'S!o\?Xf8"jX/;25H$XsmN/;UpD0'iEG]n1PDf9K-E,fH)E-QSG -HA[`HR[TG(SZB#]R[K.lNJiLFNgHHA]Z%_+V3@FJV4_^tY-+apQ^aM4OGf*ZN/E@KUpR1jrg`tWs-b@$Xh(O!PaeD6TUh.% -Q_L4CQ\g9JKR\`+NLZcG]>D+b\Ale;`5SpY[E$A*^9ElYM27(O -Nei@EOckfmVl$u0Z+6WqZd$hEf$VCG\#?RH\u2R>_naILi8*#3bK.<,ajnked*L+c_6'?&U5jtb -P*1QOKS"`-Ng#QaNE27+Pb5"YYHtm\bL5"k`3QGAW2m25`RDrXi9T[gi8EhQbe1*QSY*g1_p5os -^X_2ui8*;Mhpp<(e%_NHYH=@ZTq.",[]mKda1o@)^UM"_YeIlVY^a:"^qHtCP*_`@Z+%'6O,T=" -VQ-_kQ__4/b/C?MSu/H]YI1gOaNM]FdDa&FcJ$@:Sti9eXg#:R\#Zc*hQ&h)uSW/2OK77lVE-$,@EHl_F -EIrLWE,]f?J!Q+KK8PeIHZ="ILRaioO,\sLL5:_JR]iolRYcWIKStVAPFeSFTT#50R#mN*XIu)Q -T:1anJq/W9Mi!LZPE`#NX00=^`5TU0^qI.WW1TNHR[TP.Q]@<"Tr+]^Tq/*i_81K2\$<Su0?Bb/Uco^;7X7ZD!_] -[)^Y[k2+RtSW];)UTq>DbhM:Fm.C&@m,#du_Q]Ds[_TPs\$O-%aMc6Lc-"5Tf%JThTVSs#\&unH -k3CgJ^q$hjb1"tjbfIiQcd(+qeBGk>\@o_p`6[>mahl-HfA,<=d)*;u[_9N%b/M34_oU-Ug>VAe -m,?Ioa*GYDceRXDiRuMq_84+2`nTJ%a3)o\cc*T1]Y2M?f%f6BfZ_=Pe(s$@f[J*d]tV4m^radC -dFHk#f[eU'cG@3/^W+@1cICIugYU`:g"4p5gtU]GgtC<.f\Y<-da6b,d`^+ol0e'5n)iQde]l(N -aj8D`eC2gmJ(WT2eCrsIkj%O#k2Ft@e(NO0e`>lWlK@N.m+KNhNJD -NL-H:S=,._LQ%"daMGg=d*9>,X1,jce^`IGJcC<$ -lMlA~> -i;X_fj591ts8Vf]l0%6pmI0N3n*oo=naZ&9nF?MLs7--X%e0#YnF#`5nF?)?naPu7qs>'`mI'H4 -nF,o;o'l,:nFH2@nac8Mo*P!Um-mdKWC -n,VqUn,W"Xo)J:fo'u5;m-F*-n*g5Es7-Ean*f]5n*]ZCn-e^QnaQ)>naGl3nF6AE&+T,Yo'l)8 -nal5>nEoW6oD\:ZncJ@Nn,;elnaQ#8n*TH-n+-,CoCMPCnF5o8nF6GGs6qK-m-a?2mHsE7o()DD -o'u2:mdKZ8o'u8>o'c#7mI'E2l07L!lg4$-o)A1ZnGhtUnbqqWnc&"YmdL/Es6p!Ss6C-Zn*]Q- -lKdg)mdKZ7nbqqYn*]WCm1\pVnFQ;Eo'c#9nac;Co()>=mdL&B#O_!HmdBQ4nG_q^nF,c3mdBKA -m/QGbnF#W/md]l=mHs?.ki_=&mHso@rU0pXmHs6*m/HDOn,Mkoo'Z/@lL+NKrr;ialKdp2p%@nG -oCVV?kl0l[lKms1p@7J7m.C#Ho_8%Qo_&4R!:B^Ps6p$Vrp'sZn*fW.lKmp-nF?&In2p+.naG], -m-X0,nb)kVo^1o,m.:#GnF,o>oC2ACo^qhMp@Re=n+QMGn*]Q,l1=rTr9a%Ip@@bBmd0r@%d`TO -oD&.TnF6/Mqt9OPrq.i;p\4^_n*9E9p$Cu3r;#XIq!dhGo(2MGoC;ADq=aCMp\jXRp@7\Ep%%_D -rpM0)p@S+NnEoT3p&"7ImHs?1nF#Z3o^D2:pA"L]p[@\Hn)rp$q#::kj%U(rolc9mdKZ;p@J(Vp[n+Kn+QJAjR<$@kj@[$ -o(;SCmd'6.o_e^_lKe!6p%%VDo]u,Ep$qSCn*TQ2mHs3'l0@R&nFQYM3;*+?nF?APq=sj`p@7P= -nF?2Hp$_88nb2MAmHs?4o^D8:lgalMrVHEbna5`4o)A@RnaPr7o'ZMDrTt-bmI'N9oCDSFoC_bH -oCM\Tmn3-=md9B0mHa-,nFH;Cmd0E5p%7kJoCDJDoC__LnF#i@q!mb=lKRm9p[[b=oC_bKq>'[W -oC2/1l1k;Rm,mU'o^qYAm-X30o)A91naQ):m-X0%mf*7bnE8ipmJHeOp&FsWm-O-,m-aBme$MTmd'?&l0n-2mdTf7mdTZ3mI'?+k2kgpo'l#5naZ>OoB,?&nF>i5r;Zfh -mHj90m-aE!`mIC#Go^hSAn`f?9s8)6Gj6ZC4p[[S4mdfr:oCDPMrquBT -l14?4pA"I`r9WJ.n*]W4k2Z18s7kmIm-3a"o(MeOmcWZtp%;kenacGMp?q88nbDV8li7"as8W#i -naZ,3p](9hnG2hJm-3a*rr)Q\nF?#Ds7c6Xn*ouA -oB>B%n+ZYJlLXE4qu6?^p\X=MrVmf6p&"dhq!@;3jlGq2s829Ps8W)glK[^"mdpGX3rA=.kN;.. -s8VcYk3MF"mIU#Gq>'dXo^;5>o)JaWkP"iHp$Li)oChhLp%.tVr;Z]algF3.m-Ep$rr3l-lK@9s -nb;_Ps8VZVoD/Fdn)jEFs75LDq#::ipZ:N1s7c$ToC22;oC28>me-GRp[n1Us8W#glf[Kuq=aIM -md0?,q=X7Fn*ol:p&G'hnEK#lhs'Y"oD&+Ro^M;9kN2%(mdg2OpZq#,qYpLJq=3n:o(;YHmd]rC -mdBH,nGE7`nF6,DoBu,=mdT`6nFQADm-s]Err)NRhqmJ`rr57Po(2>9l0J!=n*fZ.lL49/m,dX6 -s8MWXna5Q'mIgATqu-Nmq==(Gl1Y#Ps7u<`s8D]_n*TT4oDS^gp%%eHrpLKakj@m0oCi"Qo'l/6 -kO89Ep@S=W)ZTa&lM1DVrU]CKp$V8AnF,r:lh1;XmH=!5rVlrpnaZVY2#Qe7p@%G?nEKcBo'Yr; -p@nCTo_.tLnauMIq"a[TmHa0-mdTi@p%.JrAqYg?er;ZNWl1"H;mdp;JlKRd:s"!R(p%nCSrVc6Po(DSEnFlhW -mcNa!o_SF^s8Drlo'Q)Jr:B=>m-!Eome6Y[@f,idlLFZLs8)6]s8;B\s8VuenF#E%k5,,Xqt]sV -naPu6me$;Jp\"+Nqtp!PpA"(>n+6)Aq=j7?mdB/nkjJ*Cs8)BQmdp/HoBYT3nauJ?lgX0-nac)6 -nbrLfq=4%Prr5.Zo&\lpnb2bNrqQ*^rqucjp@7bPo]bW,k32L7o^D86j5oOorVu]fq=X%:mdKH4 -rVu`\kNhX*md0*"pAY'poB5<$mf!08rT;npl0J'>p@@qImJ-_]r:B18o`+sflfdX%o(DPBnaZ&6 -lKRm+lKe!2mHO02lg+*:r;,pKlKms,m-O63n*]W4nF#K/s8V]Ro)Ja`oD&(Jlh'r=n+#i:rr2Q] -nEB34q""7\s75@;n*KK*nG2bIna#`;qYTsPlKIO3rr6*om-a97qXO4Xs7,jSn*ol:q>^KkoC;SL -q"F7Bm.^GPmcj3*k3MU3o'GfEr9EM4md]i8q#C6ap%7_AmdT]7oD&:Tk2c",s82N_p%84_s7tj> -n,<:d?MWmSnFcSRr;6?jp%%_Ep[[J8o_S@Oo)&+MoCVYKr;HHZq>^?grr)QOm.C&Ls82Qjp#tlE -s8;?Vq=O+Io^1l/lh1&Gr;Zf]nbDkLlgF0,mf3=brq$'`qUC%p@[q>na,f:mcim"rpg6bq"F:Nq#::#qqZ$*Nlg4BEs!IO:qtKOBqt^-g -qXX+Eo(r+Ko)8FOl1"BGs7>LBoD/F\n*TT3p\t18rV6*RkjeNHp[dk>nauMFoCheCp\aUJmI'QC -s8)L=0n`]ZGs8Dfbkj%^-o_S@WpA+XZlg=N>rVmW+l215Jrr<#nq#9RNs8;6PrVkpHrr2p$ -rqcHYn,!"_2Z!COq![VAqsWqCqYBRLp@.G;o^_>5lMUAJp\=IVqY'[Xq"t$`nbE%^s82Tgs82Zi -rr)]lrr3`2p[dqHq#C9ls688"oChtWrVZHapAY(Kp#bcDs7bpVpttB:s8N&urr)iqq#BaGp@me7 -p%\F[n)WHmp@eLcs7c!No'GlAs7c!Qrr2q-o'#N8p%S@^r;HZoq>L?anbE+`qXX@Tqtp*[q#CBn -s7u$?hWjh5qXp%J+Rq!mq?l1+9,l0@WrT^Kon`fK:s82HTm-X62 -p%n7Inb)PGnb)_Pn*KK1l1=3$kNhO*o`+^Sl14WBnF,u;pAasYpA=OOn*oo?pAP$krUB%8mdoi0 -n,!(^o'6#Mr:BFLp@e7[s8Vo`mHjHoChtQoBti+oD\diqB>G)qYpNhmd0W:p%nOWo'l>Equ?]mpA"I`rUTIUs82<[rr3K#n*g&O -s7G^ImcX9C$f -s7,XYrr35qlKe3Es8;TiruUh%p%eXfqXsRYqtKd]s8N&upA+aakih^;o`+XTrVZ[Hq=*kFqu$Hf -l1+`Kr;Q3^r;H'm^o'lJHo_S@O -n+6>FoD8Lcq"FRXnF#f=q>1'i54n:6m/?eWq=EtAp&G'enauPFl07U'nFZ>BmdKi@m-!^+p&G'] -hWXY1s8VWOkNqO&nFlD>lL=]NrqYpPrr3K(lL+TMp%&+^rquK[o)&Cc#P@NZp%eOZq#(-lqgncu -s6ou<~> -iVsPcg96NaF`VYJH@1-fGB7eGFa!b.s)nKaEcZ@%F8^1jF`qqNF)uGGG'A.RF`qs*FVAk>G'A1U -GBS(KE,TZ6EcZ5?EcV/#$$CI0+eCHMr7,I!^0bG]n1OG^FjeI!g9eH$OXZH$TC6s*6&>Fa&(TG'8.YH$O^^ -H$FLTF`qtRH$FRZI!g9fH@(!dG'8(SG^4U\HiA?kH2i-fHMr*hI/\I0I!pHmIsuipI=-EhIXQQg -H$XgcI=?ZqJGjs!IXQYDHkUpWItE<*JUVrmH@($eH[C'_GBj%2#^UiDH@(!dI!u!C#(:lFH@1*e -rd+Tk&Uo+QH@13mJ:)isIX69gK7ACMJGt*#It%?Drd=frIJnUCI9-Ll%"ILPCJ:LkC)$ItiH*KR\H$IscZmH[UBt -M2n$lOGSRCN09*YNJiREJ:WQ@P`:BPMi1r%OH,3YQBR,UK9)\'SW/5QKS5)7Ll77ZQ]@#hOG8LC -JU`,uJV/T1Mia0cNJN:@JqSo:M2[UbRZE&PKo(V=JqA`+LQ%%AK7SK$rdalss+16%rdHe[N0'-hW331pT:1t"JUW&qIY!#u -I=R$3NJ<%6It<3%K7o#BT;80CN/<4>Jqf,GN.ln8IXm.OM%k`!K7ST,JV&]9MiEgYO-,NaN/Wbq -L.I#NJq8H,L4k25LP^nBJq/H,LkgY;KS5):NKKEoR$jVGX/)2EKS,5HNJ;t3JV8T(JqAQ2MMm@J -NL[)=N.?J4K786$KS+pTKOKF`KnP&3N09m<[&]a[Nf]R%U7%UNV3dI2O,JaGK8>GCKR\T-Ko)%f -Whl,HP)YB]QB6]IKRJH,LP150K7AK+L51VEN/NRMN09KkOHGfnR\?(*MhHtFLPhIkT95+lrf@MN -QCsP%Kn+W%KS>*YK-H#(M3F3dL4Y)3Islm+QC*ktP)t`hOFr1AJVo8@OH59TMuA9SJVB&GQ&^ZW -Nf]0QJ:`B'KSteGS>N-JKReN"Ko:hMQB[f?Z`^'jQCO\GTU:aqMMm:DM2[UfVQ$8UKo:qPSu/U! -YFLT3N.lb4KSQ#*\>#=[SXc4EWNWM+QAU -\@/TDZ*'gmRZN`%Q^X&!S!oG$S!T;%Ts(\qQ^*PfM27(VV4j?BOc>6ZQ][JqQ'e/5Q\^tNf0'ZM2I%>M3j`lO.WSg`PK*gUSP64^U'W2V4?XL#R^^8RNs\\,/4Q^3o$QC=A,OH5^&X/;EdQ$SmpXf%eaV5po-Vj3'o -Mj0d(R$MfF]4PaJVj]<.s) -S!fM%Lk^_DLPUbCNg6$!RAR!ZTrP;uY-G$uQC!eqNh)oG^V[FaV5:&cTU:[jMhHkAJq]/?OHl/u -Q(+e_^q$_R[(O/fYG@MLR\Qd[U8XcPS"5k3OcbZgU7RXXLkpGWhH#b]=Fc"Kn4`'JqJc5 -Lkg\:KT1hDMij0^L5UnCL5hOiS7@eIP*MH*R?`knMMmLVOckZjW2lMQS[5r8Zb!]NXKeq#R$*/U -LkpnKNJW^dTq.pYW0W6oLkq"DMiigKLkq@kXg5%'SXcC^^:1;>P`h/uTUD@[\Y#@SN/W[PO-c8o -JUm`N?\ON!O-lH(Nf'$]Ng-35Un=NmYaCQ8NfT6[R]!!WVk]H_TphOGU8"ZkYH5(C -[\o@LQD("FR>HfZNKB9cOcYohN0'3kQ\9pAN/rpaV5C)gWi2o"Y$IuoV5pSqY,IqLP+/;S^Vmq. -Z_XY5^p9`2WhQ&XSs>V8VQdG2\%T8?T:h[8LPCYMS[>i6]=,Mg^TO62]u8%(_T0X3]S"QXXVl5r;Jpr3,PFnq^YGn=qZb*fX[&0=e -Wg]!2Pa%`=QCaM.R\?X`^VR7SU7%+-Mia6hO,]6cP*20*Vl[8=bK@f6X/E&+]NrG>PR%9_3PaJVTY-bdO]t^td`6R#e -aL8=QV5gf4bhLe&gYgrCh;RGKc,7&pYHu9cb0IZ+_pm>mgtg]6ccjhge%M`^\@/E1XK.Y__SsU> -aMP[)]t;=p\&#bYVm<\=[j//VVQd_H`5]QrUnOTSTrbZ,X0TLad`ShjWj&b:]>28$aN/kLbL"&@ -a3E,NY-"q;\@8u]a25R&Z(R>@Pb4tTU7nQlX0/Y/WM#WCT!#Q1]#;CiW2HMeS!K8$M2[7KR@]k= -Tph[TW2[&-W1TKNW3EhL[&BOfTUqO9U8kW9]!&9FXg5.(R@^.HSskq,Nf/^JOd(oaRC0iCb/(d' -]"Y_%V3-aoN0Ba(UR@gMR?3AbLQ%@YO-,p'R?L51bNOI_VpLl$tJPGb(@QCXhBP(eaPR]WWdVl?;T -QC4;>WjK:G3j,*9'Y-bsV[C[_f%ANp\>c:$W3*JJaNhl7Z+.Bc\uMI$Zbt2GgtUK$XIc&ZY.;LdbGjdGEsIiml,b^C]tVS4d+-e&gY1<3f$VIUa2cHPbgtS,gtq#Igssj$ -f%AU.hV-T0cdgh)da?CpiRQ<)fB)5_nE],igXFBb`6?``g!eI!db*@,cdpq2ioB.\hr^:;2" -]X=].R@L4NS!fhBTU:k(P*_Z.R[9J9T9bP%S"[:!UQh@OYd:j8rg!MI0:Ai?VPC,t\$iQ=Xh;Kc -\Z;pMai;KWi7cW$^qdt9daH7HZadQ]a2Z?Yjn8ZRq>($krr%EJJcGQGJ,~> -iVsPQ_jYpd@9QZ.:Jk+n>$P<6<`f9&s&T8#<)ris%THA*<)lpt;GpFm*c#='/R*;c-Fj -;>sH';,U@p;cH^r<`iL.='/W)>5qb*>Q.h&=oDP%=oMM'>5_S6>$G69>[1Q>>?P'2>$>/0>Qn>< -?=.&IraGh9$"74K?!CK[:WA?X?u@=^>>2>S:=F>$G-2='Aj2 ->$4m,>?k?9>Q.k/>?Y2.>SUIH=]ed,<)m%)?!U]?>?Y04=BJd3r`]>+'jOgC>$>$1>@(Q>?!U]> -=]ed/>$G82>7b+H>[1K<>[:E4=BSd1>?bD4>lS%.>5__*>6.l2r`C"@>?kE??=7,I?=$oD?!CH7 ->$G9?kE;>?Y*0=Su>%>lS%.>lS(0?N+:9?>$>). -=T;M9>Zt32>$YH@>[CcC=]es=?=*V$5$6?=75RARf1W?=@9HZ5 -?XRAVCi4''Chd]sA7T:dBkM!jDK9c:rc&*\Df'9(A,Kg9@0'Y;r`BA.=]\g4>?q,4s'G_5IUZeu -A6`DK@q'(fEdW7[F)c8HHZa7@BPVL&C2Ig*E,fo=EGo`8GBe.IE,TT3HB"/FFDbr5Df0N7EcuPF -Df0H4Ec5i6Fb>X0Is#[GCM[s3H&%#tEcl_TF)lPbNeNRaNI,egEH#f1An>XjAn#1]DJ*a"ARf:] -?t3YT.q<40FE`(WGB._HH$jIDB4bgiCi+?EHus+;CMI['E,KiJIWTIHHAdrCH2_^]E-ZGEG'AIe -F`;PCAnGO^@:3JP@qKe/J:`8oDeNTf@VKq3KSP58KR%BJG(cHdSq(frB5`$oBP(g`@V]k#EGf8j='0'UD.-g[$sR%G -=C?/tFDu>@DJT5d?>4(eD/O-(ChdKi?sd;LASQ.$DJs?0FEV_HEH,o7C27X"EHcYPI"$?gHZEnF -JTta[^uI@:a.mD.mBd@:Nq]Bl%^7MNEdEG]j")+`hgVG&D&,@U`qbCi!m%BkM'nB4bps -DJsQ5DfK`6D/F4iBLHHDA7K:cAS#LgCMd`r@qB=hC1qk"I"-I&R$NAEDJX!$DK0oPJ;BelSr\GMJV8f3I<0@KG^+CY -IYElNS!/YOH?sspNfoutJTQ'XE,9Q=HB"o(PDP<[N/WmdSXl7+HZOCVF`.4o=`AY4H$Y%%Tq[sJ -[C`TAV3HXZF`DDFLm4R3V4O0IRZ3/VH[LKtL4+Q.Ljso2LOk&=St;1#I<0CKFaAk1P`(0BG&_YP -H@1-fJ:iN(Ec#`:ItE6%P)kZBP`gfRK8P,2MMHtCLP1>7Ll@:PQ_K\.S"#[tJq9,UV43R$ -Kn5PXRZWD\L4aYjE,BTBJqJZ0s,(?@IXQTcFE;;8D/a6!@:sCuI"6g'OI)T9UQ'5-BPD0tFFAjf -H$+1QJ:iH0L68@>Wh>iLOFhb%G'.nJGCP7$M2md[S"?1@P)#!^ObeO6GBS.SKT(b?K85;CO,SX; -H?saXIWp$ZF)c5FOJT+^Un4*BPDkZaH#eCkN/rX?Jq/)fH?*tCBk2(/Km.g$SZoc;[B-!lX1#:/ -Od2/gKnb(uIX,mGA7fLfChRKuChmm/FEi1^IX63YDJa<6G^b@&K8c%WOJ/bJNeN7STVJQpVjWU/ -R$aG@Vk0!'Jr5has.q$3P*DAuM34*iQ(P=l[],LJPb4SAWkYs6P+/Y[VM^4cKS"f1MZ/6TLQe3n -N/<@IN0]uuLkgkNR[fRoG'A7aMi37=KnY>BR'"'9[@NM>MNQTIK78Z8Ts_%uSsY\#Kme&[DJj0'Bkqd;J:uCFE2MNI!9LLDJEp-IYFMsVPgQ!VPC)dP)"L)BP_L!DfBQ:LQ..OQ]li6Bk_7!BQ&-:Df]uPNL?E,P)YNkYdLL&NIH5! -J;/W3U8Eg&HN&&$F*E%]E+WQj@q0.iD/alTIWfg^H?t+"OH>NlXeUc(I!0[TEINk*Mi`sPKo2(a -Uoh,=XI>97Q'RZ*USFEXYGn"GJV]PUP)FR*Dfg,IG^4I]EcZ;FH[9= -W3s=V]#Dh3_Rce?Ssu7=R$X.>]RXLuWg\&R4\c`raoOIEQ#gsNg6 -P)5L$XfS@gO+i4?Jq8`=Occ<7Tpq^LWOTgX\@fi,da-"DZ,"f8`Or7;WT;8NkYd1mQ_TC0UeB#/,Ycb16[_gD@fA,BGi8Wk[>1gm*Wh5fV]t;8+\$!Qqf\5053;]Yr"._910Z_kW`rWirY5\&>tfYbR;3H@q6FQB$idS!9>3T:D42N00a4Wb/KJ -\ZDKrRZ`JWH[0RODfUJdKSb_GP+7o.USO9;LlI^kW3E(cP*MN*Q'%T2XgYR6V6-MjUQ^UsP)tTW -Jq&)iF)l\[Isd9X\[9;dZ`pO5V3-1NGC,"&Q'HuWMM$;%GB7qSHXV,FKo(P6IY!*)Q(*hXH[L*` -I"6p.LQ.OgYJ.Q=P`C`]LPV&%\Zr-4Z+e2l[&KdjQ^*i)NeN%4GAV#1EH?,BI"Hs1K6VEUEHZkt -P)4pMN.lLlDfUDoQ'.N(P)G'L5DY5\Tr4i]Ne)h:N/!"GSZ&EUP+JYJSk3e&K#1^rt'H\"]OpY.) -hu=)Nj66%1rUTFClK[a8n-\UPnF?#=o'c&:nc&.[nGhnZn*ol9mJQGQn-8FOn*]W2mJcG^mdTf< -naGu:n*TK.mI0QCn,2YZmd'3*mHj0;n,;_Wlg4'\n*ol=o^MD@o'u8>n,DnWnc/+YnHAFSo'u2ImelMRnbqqXnacVL"nM0OmdKWCmLepWmdKW6 -nF?)?oCMPCn*TH+rU9[R#kINTnF?&>mdL,D$Ld?JmI'H3md9B1rp^]ln*]T2nal>AnF?)=o'u,7 -o(2DArpg6_nF,f8nbr"bnaQ#7m-X?8p@eLV"S)!Nn*g2DrpL0\mdKT1m-aB3nG_tXn-ndRmdKZ8 -nF5o;naQ#GmeQ8LnG_nVmK2eDnG_tXn,DeXnac8Mn+c>MliZYDnF->F"n1mIn*]TBm/QGZn+$&D -p%.Y>nF?JJs7-$T"RkjLnaZSIrpKjVrpg$XrpTjS*:NCdo'l)8nFQ;Bm-a?0lKR^+mI'K6o'u5< -n*^/@"7>OFn,DhUnhKY+o'>W6q"=LVmH`-mI0Q6o()eM3:QJ/oCD54lg4$*mHsE7p@IY7lgaWf4o_JF\p$h;9oCV\H -nF,rFs7G=+k4AWQrT>m-jQ:o(;/3nb)PIp%S.PpA"CPn+?YZo^22AoBu/:mIBlBo_%Y?n*p#DoBP]3o^q_EoC_J? -o^_MAs7HEanc&+ZnKRJkm-soOq""(Ko'Yi8rr2]fqtp0]o'u;Ao_/"Mo'c#=nc%u(o(MhGn+#l; -p\=XXp$h81l0e3Dp@%G:m-aH7nF#c6nacACm-X?BneLofnal>?nFH>Eo'l,9mHs9.mHsE6rpp6Z -mdK]Fnk\cJoC25;nac8Ho^VMHo'5?'lgFE@p@.G5mI0T:q=jCMo(2MBmI^DKlfmd*o(;SBm-a<2 -oC_eIo(;SDmIKo9lhLM[nDrNoo)/7Flh:>Q@JBHcnF#c?qYBdSo^hJ;n,!(ap[@M=lg=96n*fo5 -o)&@ZnalG@md]i:n*fc5m-O65o'Yc+mIC2Us6]"8naZ#:qu?Q`md9E,l0n9Eq=*\7m.C8Sqt]sV -n*fZ7o_%bRnp^&qn+6/;k3)7,qu?W^m.'H4nb)_RoC)24mdfu=mI'E3mHsE9p$qM?nFQGLnF#`> -s8Vi_nb;_Lo^_MDm-juSrp8_+kOJEAo^:o0p\=:LnacGPqXO"f=qtpEelf[U'mdKT*k5,,X -p?1Z0oCD>5kNh[,lg!s2oF:E]o(VtRmcs3/s8;?UrVp$rna#T4o'u&3nG`I^l07^6q>^B\lL=<6 -mI0lHo_SUcna,lGr;$-cp?q,,mJ[(bp$Co.me?bXo^VPHo_/+Ik2b^sqYBaSnFQJMmd'B=mHjB7 -qYBFEq>UC$p$Cr*kOefSp#tW=rs&>imd9H5p\t1ErU&b6lgFE?o^_YCo(DYKqY^9ep[mq>jQQ%- -s8Vf_r;ZZin)NR#p%S1Tn,*+a$2X,[na,T1nac2Ks*sh3m-O9*mIBuOrpT.@p&4^Ni:$^6mHj*. -rr<#fkiq[5p%%_DlK7@"md'-(oDAIZn*TK2naPo/jll"-q=X:Jmcrs1oBu&;p%7e@p%n:EjlYdd -me6DHnEfB*lK[g,nb)hGnFcPHki1Xlqu?]pq"!Y:oD87Tp@e+@l00;PkjeNHmI'E0lfmj-n+#o6 -m.'];m-X<7q"F.;ip?O@s""$7o^qV;kjSHLp$qA3m.L2Fm-FBFs8;EUlf[tkOecR5Pap9jlu=7q!RA7q=a7KqXj(:n+,llL"30nF5u6kj%d8p\=RVpAY(\o'>Asm.U>T -r;ZKXo(D_Rp@@VDqs`nDqc4lgXQ@r;ZWa -nFQDMoC)2Ap\+7Kn*K9,r;Z?Po)Ja^mdT]2lLFcKs7u-Tr:KLLoC);Kr:L!gs7#48nauA8m.9c; -n)NHoq#1*_nEoK^KjmHF!-oCDSEp\t1uq=*b6jQZ=6rV5XP -p>b)on+c_Ko_J+Mp@[\=o(;\Op$hnLk2POlq>0OGmIC2Us7PC4q#CBmn`T9,nF?,Ap%A:Uo_JIc -rpB(@p%@kPs8Vc_naue[pZpu1q"t$i2!OT-rr2linFQ,2lMpn\iTTUfiUZg;nF>rlL4BCs8W&dmHEd)mdfu= -lK7CnF6>Srseeml0eHKs7Q!ZrVuoorr3,rm,@!hrVm?)o^hbKq"=+KrV#IIr;Q^(qt9jb -rVuokm-F*X)Z&game-&; -oC));r;ZKVnG`4_s8N&gkkOfDrr3H'r;ZmH!Kus8Vunq=jRXoChbHp%\7OnFZJMo_&+]s82K]p@S4]rVH<`p@J%TrVnV>k48B> -oDS^dm-*j6s8VNTqu?]mmJ$J=kPtS]q=saZoC_t[o^i"Xm-4$%lKm]rmem(nr:0:IoB#H9rVQEd -rVlg"nEfrMrVZ[#qXa:Pq<@>Crr36%qt9OMmI9`GrtkY$i8*Jarr)?Ml0m`tnbW:_n`]95s8N#t -D>NhlmI9iGp\""ImHjE4kj%^*o_@qEq>KsTmHsH9qZ$6Wki_F0qt0g^s8Vo\l0nBDp?h8=p@%kO -o'l2@p@e:Tm,RF0s7Q0Uo(D\Us7bjEkNVI/rr;6Pq"XRVoBu/=m,[F'rVQ'MnaZ5Ms*s7tkiCpr -p\FIRp$qPOs8)-DiTKh-r:po(VtTq#CB`mI^,Ps7l!IoDejcnFuqZnEfT8p\OUX -qu6U"qYpNks8W#rs!II1oChhVr:0:Lq"t!cn`fB6s8W&akjS6!hqu6U2rVZWko(DePs8W#k -qYg(!hrqQBirr3?( -qXsmfo^MDDq"ajfs8)cn)Yistp\FOUoCVYJqYU'\p[[tTs7Z!Op@%MJrr69urVcWeo()POr;Q`r -p$VJFs8D``mH'REnFH)8l0@^,o^M88m-O??s8VHDk3DF2s7kpCkNMI3qss"4l14T? -nD`U+s8VcPk4A<;p&G'hq=F%Fr;HX*p[\"KpA".EpA4[dqtL!arrW)iq18Qss8)bG~> -i;X5J]paY&H[9j[H?sgZrcA6bG'A31GQ2[aF*.8""E\d0FE7;$s)eNhGB\4RF`m\*%X*)CH?j^W -F)l5H$ap_G^+LYG^"?1H2`'gGQ2slH[L0dGl;jaGQ<'gGl`5?=G^0.3rce`mGBe=SFa&+SGQ)jeG78Y;F`qtR -GB\:ZH[9u9GklR_H2`'gG62r3H2`-iGlN$kH[L6ird=Qjs*O`j"+#?CI/SHsI!^3fH[>[:s*>!! -IY!-'J:)ZiHMr3jHMhsiG^4R]Hi89iGlW0iHiJBnH$Xf9GoV-WH[U6dH$b!iIsZTmI!KsaJ:)cp -J:W6#IXQVCHNJM?I//1$G^Y'jKp8.!U7%!lH[0p_rd>isI=['+KS"])KSYDSX>V%NJr^KK7\c1Jp_opKRnf/IsuipH[:$eJ:iQ1LQe!_KnkomSQh>AO,]*VL4bMK -OGejLM2I=QM2..[P_XpGO.N,7ML^>3KSG;ANfKQuP`:`^K8+r,H[:$eItE?1OI2N)Oc+gEL5V.X -Q^O>=W18a"Pbkk'Y*4WnK8c(XM1kh[s*o'?KSPGEO-lK1TVJJUi6"J;*uU#DS"hKn"W( -K)UB'Jqs>['T%j4QCskAUT(5cQB@)`P*M,bK73]K'8(mbL5CkMO,fKtP)4a?JU`)sJ,XusJcC1> -Jq\f+L6.^kWjf=.PE20'V4Wg1S",q9Q]mA`KS##;L4=W$J:<<9R\cmOP`h8iMN!FFJqnf1NfT!J -JV/Ob\L:JVAc0K7nn_KnbAC -O,\pJJq&/pItii;Ll7FYP*qPfK85&6LPq:UMhd%5IY3?,K8#,=M2@1PO,JdHK7o&:KntbZVP]Z7 -JUVrtLPC\KO-Zi[XdY<1OI)T+Q&LEPOcbN\NFS-@USOKHJqeu8R%^:WU6U^sMhQ_;N0C0R]qq$] -TVA-NQ^4)3QB$f\Nf8aHKStqRMi*U^XK/.u`Qc?9XIP6,MM[.HRA[L)YG%VeY,nh,Q][PqO,/a\ -R$4#=T9b\2VP\U3SXP[uLPV+h[&0@UN/3@SR[9;*S=u[NU5t([L6J7*U8F]^WM>iFQ_Tn8Tr,*$ -X1-$od)3,_S!9//Y-4FZOf5=XR>loQJq]2QVl6/JMN -[^*`g];q?WMis0*KS,#:N/X:/WgJp0Od_Q-UTCu4V4jil\@/?.YK+#RT9"nn -S>;pY[(a;`X/;MSO-,TdMMd@ZUSt,fUo(5qXJr%mWij.L[BZm8VP:E!W2Qf$Y,eG'[&p*qTV@sR -XK/+fR[0J6TW#*&]Y^eSZEgF!s-,sDWNi\.VP'H\[CETGW2-)IOH#*TQCjnS=Q7JWi;VUOH,.R?s/#QB72LS$'H4W1ffQTW5B)XIY`ES"cU?Ll%"NP`q2gOIDZ1Wk[$8 -e?l$ZC,Vm!D8\?2I#Yf4PiUnFclWg]]XQ]-rgQB[uIb1+SDWiDbYOI)`BW0N=# -Q_U7=Mis['R\6RebJ1NgTot4fDN13WR$t"d]sP&IV3[1.S"$:HVmNV(TUDOFP`CZ[MMd.ELPC\M -QBe&>VOju3iQ^"#C[_0Su^:^8AW19'7O,8dJLPUV>OH#HjR@'8,UT_,<\?W9H[]uKo -PE_W;YHb=OINJg['$[?YHG.>Y,RqIL5L\>NffEjUSa``Xf%G? -LlIISJ:N?)Jqel9S?TW8ZE:.'\\>PTT9P\)R@fq'ZaQs.Q_LOc]#2=mQ_:@c^;e1-\#c=$\\k\=St;42U8ao] -WiAChYcP:K]UG.JNf8mRNLliLZF.BU_T0m2V6Iq_cFU^1e'uFGX/`.uWiN(mS[bK[Z:_6K`-USYE0Wg8QuNhN8P]"bnaVkUQ4]stGITrY)WM2II_TrX`ZS -X0oscZD!bQP*qK!R[KD%OHc&qQ^skP]Z\dJ_6pGO]Z8%(]u\RTh9jTm`kJaYX0^.Oc83SZ_8F11 -_7@1p\uN3SaO8\bak,P0f>k+eSYWpDf?Ce-Un!gIYdh&YcXt1ZaR`k`50@6 -e_K$*\[06+g!7L:St2I>QC=,%R&-p`UoqMHb/M<=[&_$ee(ig1bfeDI^rF7#^<4X+_UIH%h:L0- -d*C4qf@Sj8g!%(.T:V^DT;o#eOGT$^R%Bn7Nffg>Za.$L\0/Ar[(=0!f%J?aYGnCuYe/6=hUg0& -e'lq'eBZ+M\$)uF[E-D8cb-j3f$Mn"hpfQX_pR8e]=,Gh^9a`B[\B\:ccO,?]=,#P]#_Rt`PAUN -WM68hW2[)?cc+,L[]#spSr];8X0&S3\\cA#Xf8_A]#);$`l#Et[_0D]\AlhF`O)bJriBP4[_T_t -_R-#"Nffp6XJ;>ZW1Kcc[(3TETr,95^;%\)\#ZN$ZXJ;GdVjWa3QCO_O -[&B^eQ(+SFTWbW/]X=`8X0Jq.SQZOL5Cn]SX#>%R$J"NeiCHR&@0p]>2A,bfIZB`4E.NV5:)q]Y1PETqJ$QVPpGm -X0T46WH+r;XK].E]=GZ#gu.)Fg"t9#\=\kKS"64GSGde -Y-k[@Y-YF8Z*ppB^rXL7eC;pj^TjoDVlHl+^;RjtU7nQm[Bd0R\#uj>Z`0UiVQ[G?_9C?Tah+[R -W.(hS]#D_8aL&(RY/7fSVPpf:cILCjcG6NRT;8Tu^WYBqm-j3'jP&;u$ -aiV?0^<>'Xd_)fcXJW&)YKkqbi75uc]XG]%eBuCS]t_D(dFHLY]!Su`bK\8Ve(N0nbg4bjhq$<$ -^pUMZ_9g]`f3$MG`50[Fg#(fIgtC&t_SF:Dg",-9cG[H2_8OF?c-"8^h;$f2^q@7o`mNs,U6_=DVQdb7R['%uRA@$dTUVURX/VtbTXDVP+gn#=ZF[`ge'uX]] -iVsVjd]84FBOY4E:f:7n=Bo*5<``C+r`K2"!*/tu#ZXf$;H$Op;c3Hks&Atts&B"sr_a5*<`iI* -$+p1>$5!1=8lD&=oVV(=p/&7>?Y/-=8Z/#>5_S)>$Lo0)d?HI='Ad1=^#!5>[1Q? -?=.)K@:E\S?s[)A=oD\*?iOF;?!LW??!^]=rEK\6>$+p2>?b96=Bti2'O4jG=]ej4>?Y05>?P06 -<`WF0>$Lu2"^>/5=Bf#.>R=V<=B8F&>$YKBr`]M/=]nj/r*0/($!:>6=]\[->?P//>Q7k1=]ed/ ->$Lu0"(#8<>Q%b$=oMY)>5q_,=BSl->R+G7=]\d2>[755qd9A.r`TD.?!^h8?3OV>>[:T=r`]>+ -$!gnIA7K%R>?Y5/>Q7n)>3>lIq->lJ%/>QS,4=oMN&=^#!6>$+m1?!^f@?!^c==Bo6= -?!guJ?sd/A=BSj6?X[DR@q&hP>[1H5?!q)WI#*QZt<[CcE?smDO@q&qYAn>4P?XdMXC2@m5H?jUOF*;P< -AnGdpD/n.[NJ`@HQ]HoQHZjLLC1_$iC1h'eC2[d#BOkR^?sR#C@:a.iDJjZCF`Mb_Ner%% -D/F<8G'/1^H?3q=Chdj,DJaWNJp%*2I<^O,KQV'JDK0W9Fa&.gMh#tqEG93$A7AtT@q97kGCYI+ -KmIZJ@V'D$J;K5BOckBI\@:Eh_D/XNLMN*RTNe)4cC1gpV<**C7 -A8,dnD/OB5H%qTXVQ$APH"get?"%GbDf0B%?!(2NDg656@pWAK?sR2UFa&(SGAq8-A7]CdCMn!' -BPV?orE_NB4k^\?!glA?!^rLAnGdsDK'fCCh79rE-6ShU8OQCM1g1oAR/MB>$bQGrae3,AR\tO -?=@DM@VK\%I=m/oE,KE*DK^D]H?*k:A7T@gC1q6lB4u!j@Uj(dC2@m)Ci4*)C2@g'C1q3jraZCM -B4kmmCMRZqAS,TSBNo+eDfBZ:GCG+'MiNsjRZiMSEccSTGAUr"@q&nUARStbFEr4YG^kQrE+icn -@UESSA7]=aB4tsiAS>gkA86CHQ(Y1TP(J(8LlmUBI>EZ0J:;feEGTE2FE.:q3c/YUIYsASMLp>- -G&qeGB4YgaB5qs.AnPgdA8,gqCi497EccJOG]n"EF*WG'LimNMEH5o:I"Hfirc1)>DKUGuNdl(b -AS,[kBPD3uDf]o?F)l,5ChdTrCN4H:DfU,LI>!&fD/jXdXriFEMt_H[0UIE-m%ZH[UL)PEh/\EHH5CJr,DMLjX>g -GB.YGI"RcgXH\EnO-,N_L4tJEL4=JoG]R_8BlSHFG^=q#WiDbh]>:kXRYZ96G@GZ8GE&2oY+_&A -QCaP8Q%XX=Isc?`K8"o6Q]?`OMj9QkMh-"iDfgMoVO3X7Odqu3 -SsY@eLQ[IOQCb.^VQd_RaL\=NNtXf%bNJU;fqIF+0+:Kn=YtJWH%YP*VlN]sF`7SWnqZ -H[^KuItEE3NKp*1U9_;9XIYN?TU:apKRnT"I>O2PNrFuKQCFA*LOt,.I"6s*JU2NfS?ouAX.PoN -O,oj#Jp;g%R@ok%Lk0epF*2SCBkMC/IWpF9Z,+Gq\?D^+[D0/ITqnNVQ&U]\L4+)XC2@m1F)Z&= -F)l>GIY*6-Kn"GkDf'QGK7eQ/QB.E)Q^P(dT9"nkR%C"S]Q(+nc\uV3SMO1*;Y/J>eT;/s0XH&6sM26n=JVo5:O.i\SS!]G&Pb+_HRYurUNKocdIt<3, -Mi!+QoWP5a?TTt7WG^bX3MiOF6[&KalR#?`[P)u2tS#E-TS!9;' -L4"2cEG]E*Bk_R5IXZd$O-#9YR&$[WY,n1RL4Xr6TW#$(\?`B-SstdqJq/)gCi=?3FFALfLPq%F -N0pEF[^)m0X/_tYM1UA?R@g1GUR7%%Nf9*ZLP1VON/*[eNfTs:TTth%LP^nEOdD,rR?ND[L4FJm -ItN/jDgI86W1Js(PFeG.K6r32Tt/Gng!dU*Lk:)!Ko(VEQ'.5s['6L"QC4__Z(?buGB\C^H$+1L -rcEI-H$"(NJ:`)dD.mX$FaAUpL4Oo0N/igJH@('gH['g\Faf=5LOP&OYH"FtX/DhnY,%SGF`DG: -CijoJKoqX_R@KOoEc6#?DI[3nCN"96H]=c%YGn@oU9hA4TT=YVI"[H5MkHf$KReMtGBSIlM0EWA -A7T:fH$NqMMNWpNIX?9aJruLlSsugXM19u)K7eQ&Mi*R^Q\LNeTrb]5[DB8HQ]mZ$S!fh=T;o/r -SVMreX/DDHIX-*]GC"L\H%^HjJV]>EF_ko=ItO#aW1p)`Vm*M,Ruj#4W3a.L:UZ[cXgPm\_RcqG -R@UUqW/d.-Mhd^lR$snOXK&(u[]YRCIsQ<]G'T"-USY'$[DBl+\YH=Ba2tm-bLP+^Z_sUlTqS-K -Q&plcRAII:b'h.H^p^DIYdqHe`P8ab^;n@(]t1/0Q'[f3Vk/p+LQA($W3Wk@Yc4D)]XbAPT:)@@ -LO"/oJrH(TP`CT`Su&^0^9!Z_LP(G;M2I%9GBeLbJr#MUUUA.ndDWDlWjB@MYd;0hg"ap!a2GWp -VlI#HbK\;Q_8=.1ahtTsA@f";X1#dee'6%ilfZp5:GOJ&VXZDj4IJqJT&KoM:[ -U8k,gXff"E`507*b1,8+d_<0/f@J*[WgfECNJNIHKT2ItUnY'1^WX[8`NQ/Qc.Cn4g!A!o^V;\H -^pUbna101Ejltd^g"t91gYprFi7uo+\uVHoSW]5-S<&)AH[ga/NJE(?OKGRaYHkF=]Y%.\aj&>d -cG?iiXfeq<`n&u!e(*.*hW!26_muqETVfK@bfdN*b1=tihW*5._T1-_e@N'"]Xb/:WNDV\]>qb# -\@/]GZFIi_\%oSRTr"0JTqQn3Z,4f&`5&C@O,SsHN1$<2U8P0&]sac4YICmO]=P\eZE:48\Z`H\ -d+ZF=TUqmSVQR8@^VII^P_FU>NglN#LlIXXPF\YUXeqSWWjB(C_7m1NSs54jKR7lXE,KZFJq8`A -O-lH$OdVSlJUiB/NgQK*OG\gTR@9G*DFoHGUFa&(TMPIAV]!AH; -TV.d3G]RkII>3iHItWW3IscNbH[^<`G(>=#H[1$gJs)UcG^=UVGCYI,M2[U]R&m`rRurSeOHGWh -\\5P^[XZ'2a2>[!WMZJ`R@'(mK6qQPBlA';H%CsBR[oFbFE)AHJc,df2^b1Y_/khje-^:_.p`6$0Cbh(_* -e&Al-]YhtCiTKFaf?MI^hs9gujl5@\dF$+O]YMV9iTKFgjP\hHeGdTIaj&;\eD/p5e^rL-dEKth -iSrq\gXXZse_]3r/m,6OGe_/g: -kj%U(m-3j#in;f,d*BeP^V%1l_8*ap[BHdE]sOuJ\[K)he^r6mc,dZ)U77[HWNa:^^V7_.cGmJu -SWAYeQBRAjQCF2!NJiXHIt33.Mhd%A6\gM]S$K/_MiX'gT;n65J:;p#O-l/kLl[ppS=>P)WjT76 -PE;H@[DUMGd)W`$Ye%cn_6KT&U8>$(]"QA@hrj.`p%n[jj5&_cJcC<$qu;0~> -humdK];oCD>;n*TH,mI9N3 -nalACnG_kYmHj3,rU9[S/+W3%nET9+na>o6k2b^knF?&;md9H3nacPKmd0B3oCMPAmI'K6nF,Z. -m/?;Om/HMSmfW"In*^/ArpU$VmI'HAnGi(Znc/.]oCVMNmf2`tm-nF,l6mIBi?o_@qFmHj<4mH=*2mdTf;oCVM?nF#]3o(D\CioKS(p$1r7naGc.n+?YPjl>h+ -p$),Es8)0Lm-FTIp[RV6kND'omHj*$lgO6.lKdd'm-Gna#W;o'#B%kjeE@nF,i5lg*s,mdU5U>5%mgn+$2Lq=s^WoC;28o(rCdp[RD3nF?#9 -mHjB?s7YX8mJR"aq;p]#mJ-YUo^;,6nF6&>nF,f6n*TQ4o_AIdpZh#2o'Yc,nb;Dp@.J;m-OB?q"=+C -mdfu9n+lqVpA47MqY0[Up@\1No(MbClh1&Bl0%6kkNqd0nFcPTp(m5go'c)>o'Yr8o'u5=o(;GA -oCDDAoDS=sp@\1Tp$q>:s8Vreo^D/1lhLMYna?>Is7JbQp%.kNp%%S@n*of;o_81KnalACnaZ5A -oBk`%kOJ<=lfI6ll0Ig/oCDMGp%S4Qo()JHo'uA?nF>u7n+68GoC;;Kn-\XOnb2_Mo'l/;nbr"s -oCVSBnaPu8nFHGKo_/(Ol/_4#nb)YJmHEg6lrETJo',]8q>L'UlL+--lgOE8p@n%DnF?/Eq"XLR -q"O:Gq#9dGo)Ja]jlQ.2s7kU3m-XZKrV?-WnF#l>oC2;Dp@.M;o_ea`nEof3kjS09oCVSJrr3`0 -p%%J;nFQ5Bq>U0ZnFlhVn`f9'nc&Q/p$:u7na>r@q"4(Fmd96%o)&Ieo^1u3o_eLZp\"+Hn*]N- -nb)VKoCV\MqY0IDn+ZMJr:fLBo'Gf5nac5>nakr2o_.tKo'tu4q#CBko'Q&>q#C9\n+ZMNq=!S8 -p%J%NoCVeFmf*7dmH.nD`L$ -s8W#`jQcC6p@RqInaZ,Aq"sdSmdg/Qs7Z'_ru1@dh<4A(qY0FPs8V]LhrjJ%s8VQMlg=Kr4nG)kTp%%_Ip\+4Gl0%-ciT9q9s7u9_ -qtL'^jl5=_mIKi3o)Ja`mcs93m-O<:oBZ#Js'Y?]l0Rj"m.0uPqWd2/nbDeAip-@&nFGf,oC_D2 -lgjfHq"OCEm-!Eoo^Ci$m.L,ClKIBklLO]Eo^VGHo^VMGo^;#Ao^D5@p\"";me629kjnTIs8Vo_ -k3)!plgk#Qs8MIFmHNWikN(suo(MnRmd'HBs8Dllp#>&lhVmY`lL+'(kNM9ul14K:lKR^*nF,]/ -nFQ/6j6ZU?s!ma/oCMA5jmE'Ip[[S2n,34`nFHSYs8)?XmHNZgiT]q*nET6!jm)@.rVlgeqs*%r -o'GN$l0ds*kjJ-7md'6,me$DKm-*]tmIgGXq!I2$kOnlTq!I;0iTBq6mcEd$p](0]mcWQilgF,u -hra=jn)EU1rr7KBnEfE,p\aaQlK[j1nE0'/oBkZ%lL"08o^M>>o'Yr8o'u8^p]('UlK@9im/6l3nE8rs -jRW*>qu?UCCq!IG8nauMOs8Vf]o)/L_o^MSM -q=O4Fn*orHrq,IFr;ZN^naZ#5lhg\]#P%Arpprus7YU1kkb>Zo_ngalKIQu -o(VkBjlZ+2s$$ASmc3[+p[n(AkkF;uf\>KQn*g#Kp$M;?oCr:boBG]/kjRp2q>'XJki_X1na,K* -qZ$Tnn`T''rVuoip&=strU'L^s7b^6jm`3Jrr"&8qYKsds7bUFqY^^EkrquQerr3*"p[[ePmK!+_s"`s&k3DX>rUK.> -oDea`r;Z`jp\=OVo(;bSq!R_Ena,Z8s8Vrcnac/:nEfT7p\==Mp&4n%n*p8Tp@nUer8cc#p&FjN -p\t1)qmdBB0o(;YMqYp-Ylf[d;s82cp=nq7GoDejcmdKc?mf34\naH&Dq>'dQjlPq$ -mI0B5r:p'\l1"3/lgOH@qWmP?p%A%Oo'l8?kihU3o^hP@naZSXr9`k7j6?44p[n4Rlfn?InaYr+ -kj\QMrsSf%p@e:Vp\Opiq>1*j%K-"pp%.S:lg=$&mIgGVs$QDJpA"L\s8Vobnb)YKnFc86lg+-A -s8MKQlg=00mI^;NnEB*$l0ITtp&G![oD&(OnEoQ,j6#b!oC;ABmd0-#mJ6_\*WGs3p%7kKnaGi2 -mdTfErqG^Ao`+m]o_%eEnb2eXncJ7HoD\ako'Z5Ks!mp;nE9$,mHsE4mHa9:na5W)jQZL?s82

    C!]o_8=^o^2&Ss7>^Im-!^'nFZDHq#:9m/,TAHqu6Wps8W)p -oBu2Es8)*Bk4&0@p?^o+pAb-bkND4"o(`"FoCM\Prr2oukj\TO0E(J,lgOZLs820Fj6lmGrqH3c -s82Q^o_&(\q"jsaoCVkXs8)U0p[q#(*dp\b!i$2s]"s7l3Vo_8.YruM(8rVuor -rVulnp@%J?pA=gdqss4HrVu]\kkY#Lrr3u8p%\LcqXa4Kq"*qKrq#UPr;HNen`o6"me-AQrr5jb -j7N* -i;X#Ld&`=]Isq9>#'P-2F`_bLrHAEgF)uGGFT->/F`_\HG'7tJG'%eGEcZAHG^"@TF`heJFa&+X -I!U!ZF)uAAEH6,Aq/Q^aG'.nLF`qs(FU)r/GBeCXG'3Y)!-e6[%WurG^"=RG'8(OF`hm+GQ2dmG'A.RG'/1ZH$FQ4 -G5cadGQ)d]G7&G7G^=^_G^"@VHN&?lHiJKlI0Y4IH?jd^H[Yg@'Rb@TH$Xd^H$FU[H@('kK7eZ# -G^B=8$@6uCG^"=RFa&(VrHe`pH$FRXG^945rHTc:H[L3hH[0pbIXZ]lI=?QiH@13iIXm$%JU`,s -I=-BgI!g9fI!^5>Hk1RLI=6HmM3![YMh6>'I!u!C$@RARKSPAFMLp;,rdkK0JU`3%K7\Z%I=D*D -$%me[J:N-!IXQV?HO>.KIXciqI=H`qIf=g3JUW#qIt<6(JV&fDQ&^WRKnFo(IXqEMIY!0*L4k54 -Knb54LPLS;M1L;2K8>MEJV/H%J:rT1MM6b:JU`3&L5(8/LR=m,N/*(;I!gL&P+n4rJrc@cM3X[1 -Un+$IR@p+:OGo!LKS+u4Jp_ooJqJ],IsuipH[:*iJV8`3LQ%CTL5r%0UR77+OHuLl%C_PDtEVLkC;2K7J>sIt`Z1L -Qn-hP*V#gP)b?QKn=u.KT(nHMis6\LPUhBKS+o(GBnUeJqf)=M2$eBKn+])J:DuqItN<)KReJur -I4cs,(bK%LPpnER[]=kLkUS=OJTClUQLUtMM?_4IXZ]mItWQ0rdc&;I!g?kJ9?3iKntYIO,/ODK -7o/KT:V7'LPCG6re;;EKS+o1K7JK(LPLV>N/5\\"i2RAm9lUPaecNL-*%Q&glZKS>,4I=-NoI>*QBT;8-LR%'7tO-#@S%YnjMM$D0L4Ol+JV&N-KnY8:M -2$Y4I=Hm,MMHqGQ'%1ZQB?iSM1gV=M2I.ELP^>-LP^h@Knk/4O-uK(NeiLDL6%=IMO9j+SreSSr -dK?LKo2"POeoglP`Lf\NKoZhMLp\RTq.I2OHl<+SXYOpJqB#IPFIo%OHP`cMijU0\Au:YQ'A)GY -bm\FPF\J>Q]mMjM27.SQ^3brRA$poYHu-h_n`(2KntnWQ^jbT_o&^NS"lm`\?qfjQ'%>kMia$`U -:$Y[P*_`/S=cE^QAgNSRBa]9UQ^UlMNO=!R$jYDTqeTUNeWFZVlQl%YdCj?SsG_?TpqRMZ`g")] -ZJ@5ZDF.`S=us\R$!T"R?s+sM1pS5Lm+C&RZ`YkOd),mNKT`uQ]mMnPEhArOH'7"I$L51aj7iM1pY@OGnpUU7dX-N0'L#Y-bm_^osiI]YhUpYIMZ`]WdicQ(+8?[ -DpJ7`k8URUn3pBU7@=.SZ/fpWi<&!Zb=;r_ns74`PB7)^ULG_\[/WQ]XbDLZb!TJXgZ!]`l:'QY -GJ%lWirtSe(E:%]t1\ZX.l5]Su&HgYd:U;[(s]#^q7"WQ^cR[]h8Q'%N1UnXW^X0B+GZDNaOdE2QXq\(J`QZT7U -R.ONXeqi)d*]D'YI:h;_g&r(Y-l0d`42hGYcadnWir7cPa@i)UUnn2gWR7B[&9IbU8XuXOcc*,T -UD+:W2?;cW3aIRZE'^bN/E^]R%0kP\@f>c\uhWqV6RM?W2-GjURmdMUmmX5Q&pl]NJ`OLOHl$,V -kflQUTh;>]t(5:R[9;:]#2Eua2>[0W3`b$Q'n&(ObemRM3!sdPa@i0St`'\Xh2XfeUmQ^=#$PaJ#0Nf9@(_8s\ZDHqVQ]uu=g,BKZ(mSKWku?DR$!VsOcPEWM -2IO[Q_C:ZX-ng!NK]g5^qd7XW2d).XeqV\Up%V]cGQWc\A623bf%,rVQe"]\=o7UNfpENZ*1R@[ -C!'B\?_ZkNf&^.NffX(VR6UaOAV[]W@j9_Sj:'YH,10R?!>pS=Z=KXf%hjXfZ'=_ -S3+ETq.UBR%^L[VOj-=Ssu1=T;o`Xf$;(=Zb"0'bf%TSioo:AcHXSO[B6jRdF?b!f$i*ucHshXc -HsG4]>_n:dE9_kkMY(C]VV:%_p?iP\Zi$)TW,B;aht6IP*1V4XHVSM!c-4MXa -N298_8*UbXKTXed`fDAeCr@#hrW>![D:)HdC[BFb/_)r\A>GL^XKA1oW -i<26aO%rN`N>]'T9kS'R@'J=WN)r%Y,JP?aMPa)]48[iY,A5"Z`:FOc.^FWZ_sRmV6%&9]YD7lX -.c2XVR!J(S"-=?T!-)\d)*2r\\,Pi`k\sdV4!U:R?ED]N/EO[S"6F\X08\#StMR2MiX'gR\H^PS -sYb5Y-Y4:[(P*D&eP+SSFSY2XER]s<"Vk99@SY`HraiqlH`lcHEa+)7N\[8u]\ -"oO\P`CNNK85;CRA[F(]!IudK7\c2MOKopMi*LRM1q"NOI2Q6[(E6$O-5fuT:i0dWh,E:PEM5tR -AdX'W2H\sVkg,_T9bn8St2=;R$*JbKoDM&\%or$a2Pg*]"u(dWM?/aWk#mTW1^#dVPC)hWMc_u[ -'0M6'X"OE^s1?N_TLQlhqR2Md_N,ZQ(S&LAtPKXTWPB%Za-mG_p?$#URnBi\$rTJ[]u^#S=l^WW -2Hf/^:^SPWi^ZECUO_7?D=Wj8t:[Cj,WXK&+gS"6Ld^q[Rt`5TR'YcY(7] -"l(tbfmZ(ZE:XHJ$lM`ZG"<3d)EZ'VkU#cYdhQqh<*qdk2kRNdEfhV_R[(WWNE\T`3uhR^;\.2] -!Af_bfIZ/Z`U1(YdUm]e_]9=d`95/^!,'XbeUg%^WY6^c+^Qd[):/3`Q6?RdETeSaj/A_dEKG8[ -(OH0dETbQaNDcMcI:S/k2P:Mdf7F:dFd$pe'?(S`5Tg?b/hTEe(id6fZqCL_T0jDe_T6Ae&o_Sg -ZIh_h;7/Qgt^H'_84.9gYq8Ui7lo9e]c4\a32oXd+I+(d*U1fc,e#Ugu.&He^Mghe(NF,c,nDde -_&X-i8s:om,6OHe]u4Vd+[C9g"Y63f%Jd.ee?frj6,^ihrj"Qe^W1&gZ.DYkN;d)G3.Z8f%/?p` -P&t"`QHEJaLJRd_o]j/[`HM2db!$pajJP\^TOE2Y-5.LccF,Od*'>=ZD@2QCsk?Q -B.)nT:_I -i;XDI_4?$nB4=k?;,^Fp=BSX)=8c5T=&i7$='&F'X8n -<*!&t=TV],5_SB>$G6=]ea2>Zt95>?kH<>?kH??XR=@ -?NXV>>?_#4r*L:H>[1K<>[:Z>>?b?;>?b94=BSg2=]\X-r`^FI=B8F(>$P?<>?P*4>Zt31>?k?9 ->?kB:>$+m1>?q)3"Bno/=Bb]0"C#&5=]t`+r*','$s6\:=]ea-=BS^-=BYT+s&]V2>$>'3=C,9; ->$:i,r`]>)r`Ju!$[:T<=]\X-r`fP2>[1S4?O'tC>?Y37>[I>8'OG'L>$G37>$5$4>?kKD -A7T(Q>$Cl/$?Y35>$Lo0rE(IN>$G39>$+p3?!U]??!^c>>$PE>?=75O -@:*>F=^#$8?=@;P@:*;Er`L^P?!^fHD00oEEb])k?sm>K?=./QC2\'9E+i`kA7B(^An5IcBP1pc -@Uo@I$=[UW@q&nU?X@#Cr`OSO=B\p6?!^lF?=75O@q0%[AnG@R?Xm\^C27[2J:;]]DJs?(An5Ui -Ch[X!D/='(Ci+'*CN"00EHQ,:DJjTBF_Y]'A8#gsEHH,;DJEcpBPMKS4VnDJs]FG]IbDEH6,EH@(("P)P!GHuHPa.&MFbQ-ZXIFfaD/"$@Huj+9@q/sHAl`V_Dfg2SL51\IN.,SVC2%0]=^>TGA8,aj -B4u("GCG.(T<,/PG%b>k?!h/\D/*`o?X-l\I!'7>?X7>P@UiteH@C3aDeNZlAS5\!G&qM7C1q*b -?o_\'?!LfOCM%C-IX-6eEHH>CCMIKnBk;"!FDu;JHus7BCM%*eARA\LAS,XoEccDBEH,l/AS,La -ra>b;"__U]?s[.[(NEBkqKt@piVK?%)&[E--AMEcGu5DKLGdLO4&ZD/*`uC2*W['kqDqBPMF&Ci+0/DfBT1CiFH8Df':hC.2oQDKBo> -DJX-'CM[g&CM[s4GC"R`J;9#KQ^OJAURI0rJ:W<(HZEk7B4YR`ARSnbG^tR%H[0saEc,Z,ARoFb -AS,Rgrb6RfB5;9pAT*3ZOIN>SS;iAkR%'+XDKg;TK7\PtG&_D=EGoN(CMR[*GCkg;NJE.AI!'XX -F)>]*DKgAKDJNopA86"$Ed3.`GB\FfIs>mMEHm;1P'h1bDfBN3G'S1MEH6#8Cj1T4R"KHpA7fRd -AS5[kDK'Q4Chdg*DJNouCN"<9DJX?@H?t*fD/OE1D/O<2DJX0.@qft(F)Gr8Bl/-GKRJ#[BOtt' -H#S"_LlI7;ChRKoA8#e"H[:4-Y*afdF`;DIGB\(BEJ'4*Jq&6%MN!IMH?O1BH@C9sJphupIX6E -V2p=bJqA8lH[UI-V2pC`M2mOUNeVt'DKUc0[\T+=GB%VPG_(s8MisXIZE$`Q#NjSsP_*QCaS'K8#AKNeW%0F`D>EL6J$jO,8XHM2I%?Lld^YMMI"FN/<7< -IXm!$Lm+sXah>:)ah+^FM1L2-KSP>2N1m#9Q&9p1Ecc__K78`KRYuiPFbPm?TrG?2[ATk*[_KP_ -XLH$CVkT92PF@f.X1Q3c^UUG8Q&g]ZP`13KOIW)ATq\B\YdqQc^:_(r^Uq+k]^VI7UT:V^OVm=1ceC;aKXK&1kR$O2,SYDpYX/Vqt\\Z*r]=5#CP*(]XLlIOYQ^3eq -NK9$QNfAd@H$k*iG]IhLItWZ=Uq"Oe]W.OJnP`LTROeJ_PV5h)Ga1f*mXJ;)>KSPDD -OH>WiSZ0'2a3rAU]Vq3aU6q%%O-,K^Lle!kQ'H`aSYNLkp_9I<]g_Nf]'ZUn"0XTVfTFW0rp=R[9>6YcFUsDQ'A'Uop_qU77@/R\[4*ZDP.NS=u4&JVAu>R]jZYcbm6) -[]5j`R$X%mIti=JUiE/N00L(Z+$sBX.Y]ASuSuuT:;OHSt(t:Q]-NG -I< -WOKL?U8FcWQ]R)`Q_UXd\[A9!Pa%K-T9th5UR.@MX-]-U\uMRYc61IY)TK?Y=1uIsZg9Z,"As^q6k^ZDO:ZMN*:IPDY0]SW/>\Nf8X?KSk\6D/!m, -FE_nQIYa)GLk:A8M3=F.X/r;1Y*kB6OHbi[LQ%1VSskS)W3O._ah>O)[AB4US"u^MGb:k;Z`0IU -NhsFqSs"k`JU`)oH$O^hJ;0,LS=#(TFF8b$U:7Y7WMHJrZE9phQ^aqbbK@]'Zb4,qbf[c2W1^0) -`Nu(uPDG0nZ*(4;ZaR3?Y-P$jM1L&$IY*9>Q)Laj_7dh8fuU;#_8F't[D:8CaLAIXXfYp4WM>oI -OdrG\`R<;bcd'hZaMc!3b.Y$Y[`[1P^rOI(Un4*IY-Y'lMM[Y'\&$;3`O`4L[_]kq\Z;U2S;i/P -LPq.OQ_9n:U8Y3"_7ce9R?NSlOdVf4QAU?INK%q>PF//Wdb3$d[]m3T`l,I*dGO*DaihiM_mHMQ -_U6iaf[nX'f$`!nai_i=V6mqTajA5XjRDHica0(.WQElNd(63EO.<2V^;IRYNJi[NL5_FiTX;GI -]"Yef_T9^5`R*B$kh3qb_:%#db-@b9Tk^!]Q]R&hW3NJ*\B<"Cc,IQ.ZcLeXk2Y:IdaH:WaMY^1 -c-=5VjmVa(j5/tYioB%ShrNqVd_`AiU7@XHY-FONH@(=,S=5OrOdr\XXg5UO\\#c&cdCG$g!I=< -ZELI>_URGpdF6[qdo4Z9`5''lVP'd$aO/2D_U[Jlf]25L^U_;3j3kT[dE'86VmF%:V7Fah^:1MQ -VQ7/C^Ve:7[&U*qSu&?f]?8L>b.jd:P)k?GKSPABPae26V58[6WOp$[\$<6HZ(mh[UT1/q_9:NT -[\o[dSY<-m]Y2+o[%s(QOdMoPOMi*7@NLcf7Vl6`"Tp(b4Y,@S@JqAQ#PECcNF)lDFG'J7BGCl$LTrb5rXIkf; -H$OOPEHZbaM1C54KReN"I!gNsH?k$mI!KdUG^5./Mg^,'G^kX6Nf&m[M2S+/R[T@qLlIalVSULRZrYXI=H]tKSZ"pVOQ]IDrPE:ZQIu0PaVQ?esXLH$GSWf2, -Xg>:5XfJ=gOHGcpS"#kAY-YC/VkBZ`YH"h>ajSSY^Uq"^Yc=P'^;ILVT;8TnY-GIFXJ;GWP)bZs -YeS#k`Q6'4ZDXClWjKCN_90g(WMcGkX>[2[W3EqWgsjBVY+D&MSu8p2dcBlfp@%G4gXOWibJ(?f -VkU&l_RchGX1,p__n!%\_TTs5WrAlFX0fIHbL>2$g=4BfYIVd'dE')4]>)PBgX![CWNa4\b/DBJ -f$hsfaiM`Rbfe)A[C!K]ccaAJa32lZbg+eum-j6#f[.XXdbN[.f?qg_`5BO5`l,d9e(rj5d)Nc3 -`QZ`Yg#(oLf?qsqjR;a/jlGXihqcl+_7mk2i99Ik"QnY!gXuMMHH=:XcHk2!f?hjkdETeWf]2/Y -k1S82d+7".gsOEugtCH -hZ!iPj5&\WmI9ZFn-edUmHj90nF5u>o'l)6m-X<4nF,i6meuMWn+-,B -naGlEnc/+XnbMVRnG_q[o(2MIq="XTm-aB4n*TKmdBK1n*of8 -mI'E2nG_nRnGhqWnGVhUn,i.LnGVnUn/h/jnaGo4mdBT5n*KB)mdTf>o^hS?o(;M@mdfu>nG_ql -nF,f5n*ol=oCVYGo^_M@nac5>nbqtVmfDeBrpC$Ym-O61md9E@mf)SnmdKZ7na>l7nF5o7mdou= -mdBK1mIB]8mdKQ1m/HDMmL\^Nn+#u=n*]W4nac;Co'l/Gmf;kUmh,'Zo()JHo^qbFnF,l8n*]Z5 -rpU0`p%S1PnF#iGncA:MrpL*[mHj3-n+#rHncnXQmd9H2nGVnUmgS^Uo()DBnF?)AoC;;KnGhqb -nF>u;oC_eKo'u8>rU0jZoC;AJnc\LRn*B6;ln7VfjlPXim-O0-m-F$,oCr:ap@.SBo'l2=n*fc8 -md99(lg4$,md9K4nF,i6n,D_WnF,i8qXFXVmd9uCs7/2Ao_%kHmdKQ-kN;7/qXa+?mdKQ/kj.O$ -lL=<6naGo6nF5l6o(2JGq=O=Klg4$*l1+3-nauDBo`"C[ml'e0qsrn3nbDV7lgXN8m-3g%qp\+:Qo^_J;n+ZbWoBbZ+n+#c0 -lKn*8q"!_:p\t1Kp#kK&n+lqXp@7PlK@Eup%A1]rV#pSo)/(Ona,`oCDVLq>0aWq>'dU -n*oll9rp]sV/FiB&oCr%Pl/_:(p%7hBkMtdkl0.O)n*'',r;Z]`kNVC!m-sQ5o(DPCoC`(V -3q`4Ap$V8Gs75:c.nbi@YmI0]D -rr35un*B9,o(;YTrsA>fq>^Kim-X32rr3&qna?DG$M=2kp@7_Ena5c?rr3>ulfm[%p%7nInaHJH -<:&o>q"j[Ro(W(^r:KLNp%7_Gn`]?2m-jN9m-*j0rUTUUq"4+GnEffEs8Vi\lLXNL?`lgaN6oBu);p%J"IlgjcKrrVQJ -k5GSrVu`^n*K<*k2"n]qu?Znp&>!kq;pW#jmW6LmcmH*Ls82HTjlc.%kj/!Cqh/s&ALNkNM:#j6u=!lL4?4jQPmnk2u%"nbDhKlK.-r -qZ$Qhmd9E0kjJ?JqY9[MoBc;NnE]Z=oBti*lKI^1nE8orn+?>DkiqpCoBYo'gVkiM@5rr3AmiTp.'l0.?ok3`0I -s%WC_na>`,kjS$9s7b[8kj%R$kiV$jjT#8AhY$pEnFQ/MrVliqs8W#g -p\Xa]n`]0$kjS00gun;*s8W)fm.C/Cin`hlmcj!*p[dY-io0\4s!I0tkO%[&jP\kOi90:mo^_bK -lJga_k3;^As75UDlgXH8o&\cdli-o^o'c5Gp\=RVoBtSklMLGGkiCj^jS]&Xq#C6krqQ9bn)E?a -gtguUmI094pA+^YpA"[]i8sFql/UIRo(hb;lL"0=q=Eq9jkf1hoCr(Vp%S7\ru(e.o(VD"e)^9' -s8)cqrU]IDkk"TAjl#(drVn5DoC)5:mJ$MRq!7/:oBbMoiTB.VlLjcU -m-X0)m.UJZqt9^Xq>L-^pAb0dnbW:cr:ojTq"4">khtCbqu$I]p$q_MqYC0jp$M,9p%@kKmGm]*lg4!*n+,T-nF-&IqXsOVp@7V@m-!^'p@n:QoCD84l0@a4rVn,?oBG?"meHMI -md0?1oBtu-iT^(6q'pfs8D]arr;fhrVQWp -p\+1EoDejakhbClqtp-WlL"C9mrr2p!p?;&Go`+XbpB1Eho(`4a&Gl1po_/1Z -o]tl8q>9pYq"Xgf!W)]kruh=6mdTcAqZ$Tpqtp?kq>0mUo_eIRq#:*]p%J(Mn*p5Qrsnhsp%\Lb -rr)QZnb)MMs8M`krs/Q"qu?K`oD8Id$i^2&oC;MLqXjU]rr2p(qYpKlq=O:Oo`"ji"9/5qr;?R/ -rV?0Smdg,Kr;6?Yn+?SYqX3M@rr2p_rV5sYr;Z]fn*TT-j6cR3o_eabqYL$Xl07R#nFc_Zs7YaK -p%.Y=m.:)JmI1)Tqt9aap?Ll/kN;O=qtBRKo`"jsp$M#2nF?#4j73-K2=fhgm.'cGrr2lrs7GdO -p@IkEmd^#Er;ZN[o^VAAp\Y!is8VW_s82'=lM1DXo',2uk3i+ts+LE&~> -i;X,]jhmdNJU;]fG5cUjG'J+OF`qtQG'HMr3jHN&6mI!U,2gGNeN:J -O-#QlR\6FLRZ`o0YI:p;Oc,!KN0BOb87OlNJ`IGMi3@FKS"Z$ -IY!3*re(9'rdXor21L./L5:bCNLZN!LPq%JNg[2h\"Je?M2-eL4G#=S"u[@O-,TcN/WUHKSP3X -L&Zd,JV&Q-IXmHPT:;Xd^pL,B\%98TOb\mPOd),nPE_,aLP^b9It3-&Ll.:`USOZ\V43a_&Ecc*H5]W&!G[[`nbYI(^F\\,Poe)03FhqZo8dF6Xpbf.iH^VIe._S3\%b0%T= -bh;"9hpo]X])TNk_TUWrqXW[k`l#U'Za$jhq3c.1OuccsbQ]s4H,St`*j[^EZ^ -bh1h7khah9_QpDQXeqtBWi`>$VPgGpX09(N]Z8:8[AfjiVQ7,:Z_jFlXhMs%_RHP=SX5qCR$*Vn -Q`7'`UR[U:W3<4eLle1&TU2=\_oTZuWMZMiX0/_5X/;o(ZDO@nW19-:P`Lc_NJ`XTOcYcoR\-=N -UnF0@OGfC%VjjHlWN<8'[*R11ri1IFT:D[XXfSb7Ybe+rZ+.N]Z)Y.HdFcR\d_)?ZVld87_pI#f -`kJ^SWkZs9iR>lhbJq3%X/DhoYHk=1UoLf9c._"+^pKu5V5g`(WM?#OPa.W)St)13P*hrA^W"+& -\%]l+\#>gnZ*gd6^=1ZJYI_g"g![sY]t_YYG7ee -UnO6DS"-.LYcY==Z+.BX`PK0pXIk`>Q(4\T]#2_:c.(+Y[]['YdEK)$WhcA\Q)^m^rh=%oNfK3^ -MiO'kS"ZIER$F&7Z+73@TUVC;QD(^s\$r`L\?W][XJDhoTTP"dNK0C"TUM=BWjB1>XL?-i[\p"! -StqsHSZ0->ceR*bWMHAl]=t\TZad-Cah+:<[DB2KX1#FJ\?)cTXe`81Z)3tVS"HCIT:;(/T9ubgsY$O-#?VN0L6P_6T]$ -VQ6;JLm"BoJU2ctP+%VtW56d-da-"P_R["]XIYiFTW=lQQ(*o!Ts(SlQBRW&O,&OMNf]KhPEM6% -SsY\)Q_(%RXg,4MbJCNiYc4UoQC",5WNW7jX1H:"hqQH!dF#h5Uo_&3Y-'4]]!eW4TqJd6^8dp# -TV%^m'TV\HOMMR:WS?p>\[^<N"EdEK;6_S!4QTV80SR%^U_ -XgPU?YIqEHVm*4oS>!'t`4rXRRA$7DSY)t#fA+p"_nsLBf%&$qjn/N3bK.`Ga2#='b0\btj5f:] -in1hTim`hUKl_ZbF`([_C,8a1\s`Tr,-8bgkIr -^pC;JZF.'M_oTm6`4D_2S"#OuNfT-ZPa\&4VlQi,a2u*'YHYF>UR[pTZ`q*[`m`)EZ`C..Y-PRM -\@9,a\[]2W\$pglUmILDSu/j8f\=in^U^\U]>V@a\uhTpTV.X1LQ%(KRA-Ud]!AWFV4sWGLPh.V -QC487OHbunTR$j_R]ZS[PeCE-ubJqcH -\?3$F\"AnDNK9!OKSG/;S[?;S^UTtsKnP,6M3jQiLP:SCMMRCTMNXC&Z*U-bMiO!gSXH"=S=5k6 -RZEi/UT1]0Y,SJ$VPL&^S=ZLPV4jHKRZ`YeM-l:1V6RYJ_7QtPXKoXSZ`9amVQ6`!WM62jXf%hg -WN3"tWiN2,\[AZK`Rs2%aN)fehq[8H`jW.LSu8]kVOs9EVms.@Y,ee>aNq2gR@9kKWMur&YcFOl -TqnT`USBZG\%on`Y,A+sVkBof][#'TbJqH9^U:,F\\#2FV5LAqXg#4P^U0r/Q(+PR^s1$:\@B)W -rjHRO^;S+)^Was;[^<0=ZamWRZF.Cc4a2Pd7\ZMp1Tr>N>]s+H= -^rjd<]X,#X^:CY[\Zr0;\%TZ(eD&p;d_ri&]Zf!Zc,$p%_U75rcFpN`[`-M1]u0iq-HjEE_8OF< -c,mc0\&$8@d`0,=a3N,Yd*g_5mHEQ^e^;gtgX=$\qSm3oa2Q9SgXjs(cH+#Hb/_EDf_bK8#c -k31dYgu%,Khqlr.`PfmOiT94\gtUQ:daHF\aO&2Xf\G**cHa\Xa2uiei83>?dE^.if$r0na3;u\ -gZ%&Kjm)9uhU^3.ccOAZgu.2O:?13]dFHq(e(EI6jm)$eiS`PGf@JU-j5oIejl>=YkiLaXf@.sb -^VIe0cHsn^]Xtu&ccWu1bL+trf[J-ge^r6g[]6=.XKB4^cI(=uF32A9\uq]qSXH(GY.;3MUnXQT -S!KJ8VkfcOXg4juV6m@uU8O`ZYILm -i;XYhgp`DkBjk:J<)Z^p$4p,;uTht[:T=>$+m0=^(f/!*]>(+'MlR?XI)D>$4s0?X?uA>?kH?>$>-8?!^iE ->?kE=?N+7-?N4:2>l@n,>QS29>l@t.>lS"->9$gL=&rC)=]nj-<)Qe#>?tN>=]\g5>?=m1>Zt>1 ->7"J9=BJ^0>?tN@r`ob5=]np4>$5&-=oMM(='5H)#?Y&/>?Y03=T2J&$>-4=]np3=]ed3 ->[(A0=T;S/>$5!1=',B'r)jS3='Aj7>Zt92='8a4>[:T@ra5Y5!+>b0&R8UJ?=@8M?sd2E>?kB: ->$G51>R+SD@q&hN>$Co0!ErY*=9ho.$V#3#$b>7=BSg3rET;'$s?b<>?k?7>$G9;>@%57 -s'6CH?X7#I@q/tU?X6oB?!grJ@pr_O?!I;23a,co>$YQJAS,F]@:E\W@pr\N@:X"fEI`:PB4YR\ -@:j(]A7]=^@UQ%n2@:3GMrFGq>s(6Ob?=@>UBkhF!Faega -DJO!$AS#=^A7oFfC2Rg&BPM@"BP;0tCN"93EGfQ0EH#Z)?XRM^Ci+-.CMIEj@UitgBk1t)K6qEQ -E,]T)@qTY0H#7ABKRn;pN0]m"P`:K`O,AO7Ec#W2DJs?*BP_O(BOYCY?sm;J?Ys4^AnZ!tCijrK -Mk6Z,J9cgr -Fa/IpPE:E=BP;7'H%:a3P`q,^I"%'GVlH/:H#dhGIliHH@'gTDJ<`tCM[d#C2S!3G'@tJGC4^]F`hkQH[0jZ -FE;MFF`Db_LOODfrH'u>EH62IIY3K7NK06iT:r-`YHF^jQB@;hM1U"mE,TK)BPV9kDgR;'NIcG) -IsH3ZE,'*'BPVG`D?"D_C27[%AnQ7DO-#a3[B#mkri1..H#7S@It`W/J:W#fE-$&9Ci=<5GBeUo -OH5B\NeN"9LOs_eD/OHBJ:)BOBP2.%G'\h'Mgg#*OGnd7GB\FmTU1:UEcH/?GC+a_F`_kNF)lek -XdOf_CL^jc@U`kZBPqg1Dej97F_tf+C2nE=DJX<:H?s^`H#RkNEH?;GD/!g.I!'[]H$+%DDJO9@ -KS=kuD/*QqGB\"PMij-YH>RA3Chmm+FFAXoSZ7s*H[0^XJU`,lDg%#'Q\pHKM3![XNeW..Dg?YS -JUN!"Ll7(DLn:TS]<.H[N2!;QS:c'=Oenb;LO4/cFEi:fLk^V@QDCXmZ`0t&TV%9pH%V0=OI3#] -cHNemSthgN['?*[NerLfO,K!YN.lh7MNsg1W2QPYR%9h9Pa\GG -T9bY'Pa@`"Mi*R]R$X8Pc.1%\e(2a\Z_EP7Iu0JULm+R(P*M;ZOc+jDMNa3^O.`,/P*MB+[DU26 -f#t_:`6-Q[cH")O\\>\QSYDpNWP$X2g""<_Zb*T:UU7(aPanVPY-5.@]Z8OZj5JhJf@/*pe^Vj` -b/(^%^r!gr\A6,'^:q\>i8WYC`43=j]YVeEl2'u/`P&jmZ`L41W2QVl6*@`0]Yr7Og=F]q`362= -V5pf$U9:MjT;&0PNh2f.MhQnCM1U&$KoD.]TYSt/c+9jCN.HP3KSYnl\>,RZPbPPa]k>4.eC)O` -c,$rlSs>G%RB*?i[(afpif?qL@X/i"dSti3\UnONYUnafj\$E]b]WIorQ(F\MY,7MHQDhF: -aM>-YS!T8)RurPbL687.TUhC.Nh3&=MLC);Q'@8pXhDTeZ`X5-FKDUHY,A%kYH4@dTV.L+M2Ht; -J:N&sKS>/:NK9?oSXu76Nei:IT:hF>Z_XJ"W3aar\##jqTU:t4V5C)iZ)j[pWi`V=\ZM^0\]E(2 -^!!pZZ)Xt2ZF\$#dDN](VQ%2Ne_\`qa32H4Z)==fT;JN]St:G-XgQ*oe^D(6U7S!QVQ$>_R[02( -R[p1GS!B5+U8c#M_mlt[^W*RTS#!6oXJ`hbg;C82c-kM%cH*rDd+Zsn`4ELn\ZMp<\#l-[MiEpo -[E-tRe&onX_Q]Z"QB[VpNffToTrP)qYcY=A\A>kfZDO%LMN3plWO9I]c,n'u`4N1LYJ86!Ybn7j -Tq.CBT:(n)NIl:rG'A+UJr,AHNfT-VOIiJXXeM&@MM[.UXg>49YHG77\%&E1USO?8IXd'*O.)K$ -P^].!YHk@4ZbshiUnaWPSsY_+Ts),Hd)`MaS"-:]\Z_p4Yb\55[@Wej]WS$+YckI>VPU/[Xg"k! -P`qH&SXPt0MMICmc.9n1Pa\2/OHPfoS#XJ(uANKT[+[BH@$YI(dIZa$d=WPZEBPGka\ -M1^>.JVAo;JcC-EKT;.NJ95aNFa8@gNK8gFKp8'nNdZA.JUr?'Ko:nPP`CHUSA>-EG0.e>[CaK+ -]97buI<^*oS$9H)R?O;=PC\"4N-f2IBlo&kNJs[JcILV#d)X&6YcspfObo9pRu`\tNK'C*V4!:" -N0&^@I"6d$LPCMIt3<0OHu0#R>cN>JVfPj_oB*jYdCmL\6QJAUSP9=eB,>1]Yhe8 -e^i'VUR\F!\ur!.VOs]uaMPX8bg=YR_S<=JR?EG^Lle"$Vn9^beBZV!j41iW`PK:#ZF@s&`4ERo -^rF@,[BZp6Zbai8h;R>Skj@b\l/:1=cb?Q`^=;&se_/Qt]]u%1NQ'S>cbh1e&b/2!/`R32` -c+UR"\#Q'cQ'RSlR&-[XZaI!A^:C;@Whl)KTWYl=[\oIPQ^*o(S>X-Rhq?>o_SjXDcc4;jo)7[o -aiV]H_S*h0e(N[?kN:mehV[47gu$f*ZE(@@\\H#,j7DTqgr-7m\]<.Jc,IH%VR!qVcdU%@R[KS2 -Q'nAIYKk_JbK.N5_U$6<`n'/4jk@nnaOoD)e%`&aW2-DkS!KkY]XP>cd+mF-bf@T@g?InekiUm\ -f@A-kbK/&^e(*FLs8VcYk4.g)Gj"/Ei8X%^f?1h4VkBoh['?6\K7f)OX/V_YT;\lkXh)^$a2ZER -f%AmCjkeJ1`OiFZ\]E=Mdb*C,cc=/G_7["LV5q/Cai;!6f@o0ClKm$cdD42feBYP,]Z\-u -]ZngD]t(>CVmF=`d+?UXZ*1./['U4Q`QZNB`Ohh-P`UOsH@'m`K8GJIR\-:W_S`j_U84`aR$*], -Wi_9^-1WMQGkYI;'Z]t1nk\[JiEWiMt_MiF*hSZTcZf[.LHZE::?_S*(`Wgf9=P)"C'EH-)Q -Ng6?>USFKMQB[)IG^Y-qLl.+>JUr<.R\-(@USt)[OIE2UW0`3fIXW2`O-,BJE,]rDGC"[aIYjJg -X/W>/UmR$bGBEh*F*;n[L4t83Isup#KSkS7H@LKoG&;2;DL-tcItWK,NLQW/OHGTVKq,-2NK0$V -M3FO6_p6]Ye^r9o`5o`rTV/'SOG/+1I!0FFD/43ITWbZ)YFC,gG'/(ZOH>BPIXZ]kFand`Jr5kk -WL&9cI"$TuK+?U8=]^U8P9/ -^RpO@N0g03USXibTU:q/R$sG/Q8G26ZaQX)S=61DQ_:@ndG!0sahk^!XJ;f*]X=Q-Tr4liY-YsT -X.>9,Mj:6RbfR`4\$N18W`ZL9_oTL)b0.>tX.l>eYct75[(Fo8_R6D=USall]u\gemdKB"kN(19 -`kBI&WhuM\U9V),UR\6p`lQ06[^Nla\Zr9@XfJb@_o9sMfA,00aM4gbaOAUfahG0o_9^uocG-]` -ZGXf&]Yi(Ccca5?]thM(a2P]u[D']2bf%<8cIgk!dF[@Ip@.7ue'?:mgt'QgaN2B>`59C6_nsOG -gXjita2Q'Cd*Bh^g>h2He'lq5o(),,ioT=]i8)o*_847MkNqNsiS`SJe'lX`ajJD\gYLN/s3G`2 -bfJ#]jQGagf$Vglf%8R+e'HLqf\krQlg=<9nDi6Sf[7mdf&#KJiSr\DeC`X8g>V5[nb)J;jl5:W -gY1K?kj%U'lfm]umcruoh:L&t_SX=7c-=JT]tM;*cH*T&`m3,fg""Nocd0hNYG7bcTqQb=`5^!P -fuLtD[AK:OOH#ElU9M#)S=,_/OGSgUQ'@/bT;S6HSZJWSQCF)$TW+WRP)YNmWM5fCNKB?iQ]dB$ -ZFI6>PD+m_WO]j_^;7%FQ^XS?R>ciZR%LOm\[TDk_TC$Kh -hZ!fWlJL@Om.1/J,4b6mmHsB3naQ,?naZ2Ao'u8>o'u5>oCMM@oC;;:mI'K6rpK^Q#k%0Oo();< -m.'rCrUBdS!U]=SmfN"Mp&4CYmg8@JmdKW4mHj9/rpKpVmHjZ;'(,,Umd09*mHa0.n*TK/mdfo; -rpTmV!:TmUs6opSrpTmV"7,@Cnbr%Vnc&(Znbqq]nac;Eo^hVOnGi.]oD\:_nac,9rp9sYmHs3) -mI'HBnG_nTmK;kGn*g8Ds6p!X%.a#]o'u8@oCV\HnaHDD(%(ARlL432o(2G@m.9l@n*]clE -nG_kdnF?)@oCDJEoC;>?nF#ZBnGM_VlKmp;mg8FLnaGl4n*oi8r9aXTnaZVJ#P%o'u2=oCi.TmdKrLp?Cl1o(2>9lKIa&jQ#V#p?q&6q>^Kmlg+BBp%%G3 -kN;7$mcruum-jW8kND-smI9]9md9B/nF5c4n*p,Ps8)-IkjA'>p[n4PnFH2B)"m[lp%@_?pA+@J -lK[m3o^_YFnF,uErr2os#PmZVo]kQ-nc&+Yo+pf^m-jK7m-3j)o'l&4mI9lCna5]6r;Q^>oB5E* -meQMHoC;>?p%S+Ln*]W5naPo.l0Rs2lfRI!nFHSJE:NGhp@n=SnaPo6n*B?1o'uMMo^qhMoC)JI -o'Pc1oChbTrq#^No(M\InaGrn*BH1mHa$$kN;!nnG<.Xmd0lOs7u0S -na>i2lKdZrkO%p3n*fW,kj7a*nFZDFo(!RdmHE`unF>r9mHWm!m-sQ4kiqF!lKnH;)tELlnE8fs -o^_;2lfdKmm/I%Yk3D@!l07Kukl0oTmdT`5lfd[%mdL/F5kX^>p\"%Bm-rp:Efo(MJ:o`+sbl/q4!qu?]kmcn*TE-n+62Ep@7M4k3_O(p[mh@q>^Khm,d?tpA+LOm.'Q>s8VfT -i8a5#rr4;;nF?8Ps6o:Bq"jRImeQhPm.0W4o'5W7q>0gSk3DL:rq#41k5G;^khkh,rr4&/jPf=f -lgO9,ioKIsrVuofl/^a_inWPds7u9To_e^g+ReO]kjSQOn`f9%lK[X!kNMC0p[IeLoB>K8rV5[5 -g[>(@..uZXi8WeWip$+8s82Tbl/q-mnbN+Wm.(#Rs8)6Mip5dkq#BsOo_JCa2>6J#io/hVm-E]i -kje30kk"TGq>:3lrUKOWrqc?bs8Vl`n+$#EqX`t6me$#3ht$gIqY1!fru_1+gt:]]p$(l8kMPFj -s8MQNlh:2ImecbIo_J=WpAOsi'D_P%rr<#tq=j^Vrr;cdqY'1:o)/OfrrGp$:]$l0@C-`o'l)6n+cqVrr<#qp$_27oDAR[jl#7lqu-OG -qXO(9kNqHrjkJY[p%.kHmIBrNs7Y1!nGi7KlLaZ9khY=`nFZADpAY*grVZ\3qXL-Yl1"QLs7c'[s7ksIlgFB@s8VlbmeH_Yrr2p!rq>^Xkn*1Mp%eFQl/qF,r;60R -lgt)RrtG(il1Fr?io01pp[RJ;rVu9Dl2(DZ"82*QqYpL"qss+Er;Zforr4VDkMFnQlgaW?p@S"V -s8Vu[hV-cJkiLgal1Y/TrqQme?58l1FfMs*FG&n+?>BjlGn-p$Lu+ioBM* -s8VoPf&Q8kn`S]_kOJ69o'l2>oCMG:kj.L)s7b^=jm2L/na#2ij8]/GiV)q>UBkq"aUZs7YF)g[+t?n)`KXhX^^Hp?Li%kN([cjl>Iep$qG6 -mIK`0hWF:plK@Errr3N(rqc3SkMP4Ykk"T:kjS?Gs&Agcrr;r_ip-4.mHsQ>mGd!ili$k_oCDME -p@@S2hr*PUjm;?qjlbITgYh/Tq#CBco(W([qY9pVm-afOs7G7;oChqRrr)f^hq@2]kiM1+qXsR] -rrDrmrsJJcm-Nrsk4%s:o)8S.qu?Zqs7?$^p%7k?kjnE6lgXQDs8W#kp\OITrr)isrql^"r;6Nf -kN;:0rsAPpn+ltYm-*a,rVm&mkjSNNq#::6rpf=Ks8V]Oi8rqQg["4qq"F(=o^qS@rV>jEn,!%` -(&mael07?njm)U?s8;Zdp\Fggs7uWmrsShlmdT]:o'GZ-p\k$i!ri#nrVmi4l.k@Zhra7qrqc3` -s8Vf`q!mh;kOABEnFHGSruL[nl0[m%kNhU)q#:0`oBkc0q!7#*p&4a^qY0UVrr3f2p$Cu3nb`1L -jmD^5mHEm(s8W&jmIC/SrrN,trr3?&r:]mYo_ngbo_eLa+TD31p%S@^r;-*VmHOB=p$Ll!j5oP# -s8Vldp\aIDlhg\]-N3rCq=XCZrr)iqrV,U=lLjc;o)&I`nE]rFo'Yc+oD\ITq=sOUqu7Z6naQ5A -nE8s0s8W&[k4AWQnaHATrVH3RkN_O6rVo(Yp%%hOq=aads8)9Yn`T#ulg!d(naGc)j5KJ!o^VYT -qX3P1lgjZ9lKS'CqZ$B[o^_SEp&4pgp[\:UoD8=`+o(Kck3i':o(W+_qYC0gmHjQHqC9mqsa%=m.1)SrV$!^q!d\KrVoI]mdB]f0 -kj/$Dp[%PMq=saVm-jN9nacDHp$V59nalGLs8Vo[jmMj=p@.YAl0Rs)lgaK2o`+siqY0RGli-o/ -pAb0gm-='*n*]oFrVulooD/4Mkj%a9q=O1Kq"F:Gmc3?sr;T(]oC2>CoC`(Wn*00.o^_MElJUgk -o)A[_m-=!,naki#jlu:-q"a+?p%\:To^qkRqY0[Qlf7U6s8Micm-!TqlMg3!o_\[gr9WD%me-VY -q!mb=oCqnGmI0]?nEB3*o(MhMmHNj(q=jCMrr3*"p$qkVs"+'5kk4W?qYU!Um-!X*rqZ$FjR)dC -s7PmInFcAAnF?/Fo^_YJp\t$^nFH>Prs/;ip[@;-jmW0J&H2Isp@dtAmH`s"l0@[,pAFmh"nh!; -mIpATrs/Gkn+-)Hs8Drm7/H?Cs8VrcnE0$,qYTsRlKIp7q>'dYp@n1RqYBpbs8MKRqZ$<[o^i+X -nalGFqZ$Nak2Yn-s8Vofo_%tSp[RbEnF?GV!W)Qirrhu]lgarQrr`#`o_AFc$2a,Sl1G#ToBc,K -ru(e.nacADp\=^`q"aphs8MZ[oD&4\qtKg]rVllqr;Rr2k5+uQr;HNgp]($ZqZ$Hfp\+@Vq"jdR -ip?@9rV6!Wp\t1&qtU$es8;lrs8DT[nG3"]s"+*Hs8W)uqsa1Rq==7Up$qYGo(;JEr;ZfrrqH*Z -qY^3cq"O@OoCDhZqtp6hrs/Dqqu6Eap\t*j$2sG_o(`.Tp\FadrsAStr;Z]ioCV_Trr3*!qYC!d -rtPD*p%7_Ao_A7Wp\41MqZ$Too'5lGru_48oDAFarV?'OkNCmlp@nRds7ZU3aqYg'Mjm;@)rr3)qmcj6?rt55*p\+4Mp?_)@s8Vo_jll+#rUgr)~> -hZ"#<\tY15J9lE^F`r"SrcSH2`3iHNJS>GlE!oH[L3bG^=^ardFcn -rHnQjs*=Tgs*=Wk"+5NFI/\HrI!pEjH?f@3'm=_AF*MqTH[L0bFaSUbG^"L^H?ji8HiA4WIt)uuIXZctKS>)9O,o*LJc:9&Jq)3IscTkJ;f;=Nglc1M2$b=KnFu0K8PA2IYa/MMhRCcV66\_Q(jqAQ]R,^Ll[RS -LP1>9MN1It7eJUW2uJ:W<,Ng,fbL4b,3LPCPBO,]!NLPCD5K7SW*JV&N-Lle."RZ`]"T:V1"KnY,3K7o)= -MN=$hQ'Rf)P)bNVJ:<$"JV8lAOGemOOcYKZLkC8/K85ABLPCP;J:N3%Jq/H)KSPGIOd;Q,OGo9_ -)j-AX\Au1TP`CWUK7\W'K7\c4NK9*WJqAQ(JGt&uK-5r/O,]'UM2[LYQD(V!]!8<9Vk99:L5(PC -MMR"@L51ZcNXM#>U7IU6Pa7W"OcfU(s,fR,R\ZgOQ'.>lNfK'XNK0'_S"cgZW2cr'Zamlj_Rd"V -ZEgL)SX>P&PE1QWNJr^KOeAYJR@'S5PECufM2$h@reCW2Kn=l0re>-=Kp/C4V5h)D_8!e&_S`[F -Nf]3WNfT6fSsPCrOcbHOJqJ`8MiF$oUoUc.WhQ>jVj<$hKo;7fS<8SVIY3Q=OIN;HQ&V-)TU(Y! -Occ07Um-stL5(PHQ'R_mMN!LOMjLq7Nei^UB8_q3PFe\QW2-/n^rsm4WhZ<(`PS^>LR"dR_6p&%O-,ZkR%0S0 -R%g[pbfdc5[]m$7R[L+YX/;o.ak>Ls^:1_\\AlLlVPToJNJrpYOdW&BTV\fjT;8`sX.PTAWl3E+ -Z_3_QQWKK>S#*U8bf7E0WhlAbYe7ln`6Hide]Y_;Ydq6RbL=VOd+-e$e^Msr]X"N5U7nEaVk'6I -VP^)ZWNW_>^;Iq,[^j,g]t(hq`4<(SYd1XH[&pC:]tI^\Zc_%^gtLiQinW#%Z_*Y\Z`p=+ZDXFs -ZFmTCSYEOJ^sCp"l1aH#io0%dp$(SujPAhMaM#=%\\Zh^r;,d=g=YTHai;rZ['RB] -`PopDf%Ag?p&4n,q"!Y3kiL^UhqHZ4g"Fs)g"kWGgXk1/p^qRP#bL+_Z_7dq= -g>V>hp=mg*\[fAg_o0I-[&Kk!XgGF:V5CN0_U7&iEm`(Wf\XTWYdhQh_7n4Pim5Kag#D;RccF8W -g#1iGe'-1kgXjd$f$D.G.gsjj(cbHW^XK8J!U7n<]\]DY/`lZc^dad(%d)WVpUSbD^J$,B+Q'@DrSYW-QR@9V2PFADUXJ2A_WMZG`Y-4k, -X/W>*[^io[_8*OHN/s3kVm.YZY/&#`S=5h2Q'[u5P`q5oR$WqmLPLS7L5qReSsGM*U8k,aOcblnQC+/6 -R[KV;SaS=6b*e(EL4f[%d[ -a32)fQBnD\]W%NnOd`Ge]s"3$R@0>'PELrfPbk(BQC+52P`;!$U7RpLWR]bN`5B9kWh>`ITVo62 -Za7Big#M>[iS3GWg;LD0`591"Hc*h6YH,7Ea3r#@]=GAYZ)O@_QC+)/U8+3LTU1h(R\?XmeCVUV -aj/2Ra2u36`RNr,bdP=+aj/Q"mcD6`UTh85Y-l*b^qnFLbfJDghVd,@eAf#,ZE'guXgZ?qh;@>\ -iTBA(kM"\If@JEmaO8V`bgFklhr!,:e-XaRf\klSkjnECrVq*4jl5@PaiW,sqYg9fnE&HSbf\c$ -d_)fe][Yj(lJ'Y3fA>3Bk2P7Da3WPk`3ZVNXJ;AgZ*qNd]!oMm]"5enY,JY@d+d3p\?)X*V5LH* -bMM@@h:gQ:hr<_Qjo,5ZqUj*8bKnMYbg+r&meZn^qXW_2lLOL^kh!ne_SEq-cI_@Ski_6cai2QL -ccsY[e]u"Iaj\kmcFp -Xg4n%X1cg.cH+)Pf%fEbr9rY!d)N`/`6loTce$q&bfA/U_n<7U[(j2a_oBX?gt_&QjQ"k7ajShs -dELA+h:90OakGIlajo%mbe^WeYIDO#hVQPiZ*CsY_o'RBc,R?+CpTt0T:V@'M2dRWOHPm/[(*W\ -bf@9!Y->.2U7@^O[BmT_]#D@dWiihF^:Lkn^:M(s`Q69D^:18=QC4MRZF7Tqf@J9g\ui'E_7?PX -Z`L.+V3m3tN/8^[&p6sOHGWdNfTWHdSXju#Xif/Khr*JKeAoYGYbRngVO3?tM2dIMLPpqKUq=[g_RH;&MMHqBMjK`l -Mi3[XMh[7LLQe:(XJqYIM2[O]SToYV:XKSh3YcFn.Wi2edQD^jiXJ22KO-#E_O,fVPC/gTq7pUYI:^@WMZYgR%LLse_]*5bf%$#Z`gR= -Za$^:XfegBYd1[Y`4;e4QCt@gaOJSQ\$WKH\A#_paj8AJ^Wk*>[BQO+YI_BVZ`p[I^;%Co\%&uX -^W"7:e(WU)dFmc.M"5e]Z+[hW*YPg"Y?=g"P9>f?VL_guIS\j58_PiS)u7 -aNDoXcdp^sc-4DSbf\2^hr!8Ge'H=feC)[hcH=J]e)'?Ms5n.]lJpUIdaZUdce%(5iofRdf[84% -gXFa,guIV\i7m)GhqQi;guIP\kN(UZhrE_RgXONkb/2-?cI((fcc4&NeCW*f^<>*bhqHZ0ce@($ -b.b0_W33DAd+$n4hT -hZ"28XH7^=Am\\@<)cdr<*!(&=oMP&[:W?>$1]('in=6;cm.)>?kB7$+r+>5hY7 ->$G6;?!LW?>Zt96=]\W&=o;A'6>Zt63>$G37r)a#'>?h)1#?tA7=BJg5>PqY'>5qb& -=T2J'=oqf/>Q.n-=pJ)0=B\p5?=*S;rF#b6>[724rEp=H?>[(E;>[:ZA?=72L?X6l@r`]D, -=o)20=BSd2>[:ZB>[(B7=^#&.>lRt+=:/27>$P98>$P?;>52D;?XR;O@:3JM?X@#F?t3\Q?$G3:?"%5UBP:pd?XR>PAo2O7FDYZ%raPn;%:s$[@:ESM?!q&M@:NgH@K9j8?O'hA -?!:?4>$V&9"CknM@:B.G(h7)fAn>I]@UinZBl%R)G^"1DC2.BnARtaL?ta=nCh[KoBl%KsC27R$ -EcH);CM[s.BOtCTCN+''C2@TtA78hP@W#sqDL@.eE,KN1ChIl?Ed37o -K6;!IE,f`2DJsN9I>F#OR&R$KKo1Y.BPM0kA7fOmEcZGOJVJo,EGTK2FaAUtP*qPlJUE'3S>E'I -Jphf\F`;8:BkCmfBP1piBP_U0GBS(MGC+XVBkhI%DEhrOCM@nQrFGq?4_ehXJqno&Fb,@& -G\h/0Anl!pE,frEJV],:Kn+GiEGK2tB52-rF+&OaGC"agG^4CMCMRd,Fa%qKEc,RiAg_/#AS5^p -F*`4cM1g+tH[L6oP,u:"Q\0U+Des-"@V0:hEHlkYGA7%frF?%FBPhm;rcfl8H@:3mN1I#HSX>b0 -OG84%Ci=<7EH,o;FE`+ZI"7$6M1U5.K7e`)J,OirIk5u&P*:fVJ:W,rI!^6gI=I!3R%0e?TqeTf -ZFdre\#cF%U77@*KmeArG&M9tE.)bWO-YrbLQ.(?I=6 -\[]/X[%MqkF`VtbL4b>BL3S&oI3E"H@L0gKnXhjEIEXhI"$EcEcQ8HH@:G&VPOIugS' -OFVS#Iu'/FLOX](N0g)qMijI!P`:TXM10]!IXXqCJ;B>WSt).4V6R_HY+1`AZF@65KmAHB['HTl -J9lWlJ:r]4K8>ee[`QOtY,@qcQ\pZfT9k_0[`I+Sbdk$dXg,[WWh>uMKR8&kI=?^*Q^O,.US*pC -V4j67Jqoo,aLS44MM?e9LR"U>_8X-u[ABRgU9(i:_8O[Nf[@aKYG\V,Z,Y/3_pHreg=Fa&e@Vu_ -TUhOCV50ZKS"ZLCQ(Y([[(F5r`3Q_[]XY>Y^q[7WWiWA.[B6:#Y.2$KYfPPWgtYrllf-UD_QTDm -SZSrcVQQbfWNW\1SsGnIZ)jn6[]ZmD\%Tl7hrFCkgYUcIlLjB%io/>:eAT):_7@A/jSJZ8inDrB -gr%"WafMVO]>).ub1,/)l1Y)U(]![flKd]qhVd&:eC`C'd+I+2hqHW:kl1SgqrQJ]fA,3=jSAfT -B%tnhgXslqaiDB7]"cA5dG*mTmH`uti7$#rcIL\!aN)96]"c1nW3in6TphC>RZWGdRA6dg^"VW3 -e%MuaSr&JkQCFb_a0i1RX166udad(1inrSKiSN53^pUDMZ,k&1dbO-crr3Mrkj%3Yd)a)<^;7b+ -_nNe_\p;$3e]l\#f#kh=Z*UpQ_RHJ>XMiQAgtL2p\?r*-V4aXg#[^WfE"3\#Q(! -\A#bnZam]__ns4-bg4GSe'lIV^UC/9TqI[1MN!CKO-,NeQD:Lk_8EmjW0id?XKA;%_R-PS[D:AK -`iuYLX/;_ire(D@mPD>'XQ)([fW3!A@bK\,Db0n_NWhH&TT9tq3UU7q`g!RC0VP^T9 -ccEi7_n*M+_5j<8];kEc,mi.]YV=hVk^5sWLoWGP`qcJf%@p6NSMi<[YQ&q#hQ]mDoUr(I-e'c[e_8+7G`LVg@L4Fo:Uq""7Q&_<.S<&PnTT")5E-[P:s-Ro6 -b15D3ki1.=a2Z92S;rZ%[^`6-SWK8?]Xt5:R?WtuNfB!QM2e$mP`V0!R$*DnTVA*NU8lo(eB#VA -X/2>NQ(=bZ]X"`Oa40)2k24kPk1IGQ[(j5\\%]YdX/NM:a3r,F^::GMX.buFPEV;tT:M@:9Uq0! -L6.gr\'WXB`ll`Ubf\/H]u/:Vi68[JaNi5gjmM6HWM?f3[^3QcbJqTUhUKs3i90:[gt'KS['6L% -T;Sj,_:@5ulJh'os6BU>)V*?eb/r,`cH=J\fAGE9daH[kf&5f[nG2t[rVq*8lfR?]bKJN#qYg^uQlK@-Qa3WDa^94B4Umd^LXgGs`]t25&]XkqjWM[/De(WT -]Xk2BZ+e)k^rb!ek2P+Ad+[[_s8;TgrU/b*g=b-.hW*GOmeQlZr:K@=ki_0khU]i_['$pKZ)=%S -P*D?3Za$I+XL"q(XME<:dE^:rh;@AkqWd%ne&oD9_pQr^f&>fOf[JU*ahP'\YI_9U_oKdDhr*kd -l<*<-cd(+shUKm-kht%*]?8m^b/i)ce]u.EYd:jXce@$o\Zi9K^r+%5eC2RT^:'o/S=#7YF*;hV -I"@'BW33>8aMY?\U8"HUR$*T*YH>=F[(j)JUStU!^N%H8^r=C9ai_E+X.u#APFeq[[D1&>f$MCE -X/`\H\uNHNWMQAZNI5ehEdLk^S8Ko21aPD"CshpVP^2m\@oD=M2%"UQ("ABXKJLsT:;4?S!K5%S#!'\V&5hpT9k\.XM`]Mj4hnu -['6U.Wj/q9Xf/14WN32,ZGjS^Ru2r\T!$&]cbQrkWhZMsZFe*'e\K#Gbe(!TS=ZU_[Bm!:YJ@ug -]!JQAY,o(Jb0o23lJ'tLiQ]-LZbPsFMZ82~> -hZ",cp@%+ukjeB@p%%V@n*olHncJFRnbhqdnaQ)o5mdKW6nF>u9nF5o7 -mHjiAs7-*X!:g'Xs6p!U$gd,SmHa''mHX*-nF,f6 -nFH/?nG_kYnF#`5rp]sVs6]gRrpTmSs6]mUrp]pWr9s^VrU:0ao(2GBn*]T2mdL,H"7u*RnGVhS -m/QARmI'E2rU0[Prp9[T!V#RVmf2h[oCV\HrpgBeo_%nLo'u53YnalDFoCDD?nac8Bo()>Ao'u_Ks7$?doCDMFp%.\Onc/.\naQPJ -s760\s6p?bnF?)@o^_SCnc&#/md9?.n+#o:naGo8o'u,1j6>ptm-F'0pA+LWo'u5?o^VMDoC;>< -md0?/n,DeZn*]W4n,DefnaH#>naGr:o_8(Ro^q_Emf)VRmhYE`o_%qNmcis$mcWm&mdBQ7oC25; -mf)SrmdTiAp$hA:nau>?o(DSHp\OXSm-O3/lL4'-r;ZNZmJc`>o'u8CpA"=PpAY*hmd0?0o(2D? -mI0K1kj%X+lf7F$pAb0\mI^)GoBtr/lhL/DmdBQ;qZ$6Rl0I[&rpsCcnF5u=oCMMAn+68Go',B' -n+QPLoCqqJo();BqXF.JmIL/Qq!IG9o_8"Lo_%bCo(i7_r;Q`fjQl3qiTKCgl0I^(oC288lK[^% -lK[j.na5`7p&=dZlg"!;rr5^`lL+',p?hA@o^VPGp\".In*oi;o^hS>mdKT2mIB`N(mHEWjlMU\YlL"$'jSn.,iTB=inFH&4ki1gil0@Qt -kO%Krmdf`.l0Ia&kMtasqYU![rr<#mp?V2:nal>Amd9<(lg+!9s8ViZkjIs-kj.R%meuVnmdTuF -q=jRSlK[^)oCD;1iT^(7r:fjRo(;eXs(hB!o_\U[md09)nFH#2jQ>aijQlR9n*0<=na,Q.n*9&u -kj%O$mHj0'm-F'+kihX6s7PpPp\b$jrr2rjj5fUomI0E-oD7t6l14Q:l0@d/n`]#ok3DU=s7PaL -s8Vr\i8j;"rVQ0NjlKb3naG`3rV5[s -jl,Y*q!-\jhu1:pAY(#nDW9dl/_'nk2>(Tk5PAjqXsFIn*]<"o_.\:l1=`Mruh41o_%tY -s8;Tcp@%G6kN:jflMC5Ps826Ts8Mrai8=#&rs8/Uj65akjQH+2rri,jp\4Ubrsn\prVuosp@%2: -o(2n]qY1"Gqss=Mp%S:Um-!d-o'l,Es8W#os8Vulq>UEorVlisq=OCWqYgHor;6NorV,jWs8W)q -qu7Q3na#oKs7lHhp%/+[s8Vr_nc&Rgq>^Hgrr2ounGDhW!;cTm!rVcfo`+se"9/?#rUBjerq-3j -rq6m.L#?l0%@&qYpNomf)5HmJ[%pr;QH]rr;]Um.BuBp%eRas%2eUrVulm -pAFsblf-sdkk"iSrUf:7mJ6e^n_i0_nbDeHmI0]Cr;-6cp$VGOrUTRLp\asfqX`tDs8Vl_qu6EX -o()21kO%s3rpN\Qmd'3(mcWEbo_J(Nn*KQ?rV,jNn*orAq"a^Um-X<2m.'iBq>U'Wp\4:Oq#CB\ -h;I>IgZ8&-r9W4hi9BRmmed%ap?Uf%p%dn9o(r.Vrr3<"qYL6lqrHSoo)AXspZgMnpAb0gnaPr5 -rpLNaj5fM!nE8`iki^m\lLjZ/iTT_/rs\l+qXX7KlK[d.s8Vlersehrp\t3hr;ZfimdU5Srr2ut -r;RQ2p@.VDo^MJBm-sQ-jlu=-nbiFerquZns8Dor!r23\q#:Kqs8;`lnG`gkr;6?bp\Xmgr:9jl -rVZ]pqYC*QrrN)tpAYEpp\agUoC2AMrr3&kn+lh[!VuBdrseVio^M,,nacAQs7u?`r;Qipr;6El -#Q4;fo(2SLq=aggrqufqq$-Tls82K[r:L!or:BOVp\"F_p\tNrqY0RSs8V`brr4&;q"4(BoC_S> -nFQ;;naPo9nal_Yp@@qUs8;Wjs8Muss8Dun#5\,ps75XMrq?KeoCDn\!r_Z_pAYBpr;HNms8;ie -rrN,trr4,>r;6Elq=3_6lg=$)pAOdWoCqtFlgOWKrV6*cs8;Wgrr3K+rVufgnG3+^p\4Xds8Mus -$2EoPoDS:HnbN+\ruV+5p%SC_s6]1GrVuoqm.1#Qs8;BZrr<#qo'uAEp&=srp$M2:r;HQgrr5mk -m-a?3nac5BnFH2@lf.!irVuooqu?Q[l0n34naZ)5nbMhTqsX%?kNh[8s8M`^s8DlqrVZZps7u0P -lfdg6s8)E]q>'^XrqYmFoD%h:p&"ag#5RKAlLF6/r;Rf:s82H_q"+1Up$_MKqtKgQlgONBr;ZQ\ -lfdQspAP"(rUT7Co_&7aoBY`2nFQ&5nFcSUrtb1tqXsFMmd0?1mdBT>p\+"@nFQ2?oD\b%na#Z: -q=F%GoBkr9lh12Po(E"^"oIr]lg=ZJrs%oSki1pqqY^@Tq=O4Fm-T6rr;ut -q=3h9lg!g&n*]N+n+-#8n+>o+nbN(^r:TULnF,o=k32@/rV@W'lh(2VoBl,Aq=sUQnaPlAs8Vi^ -mH`p#mIKo=mIL,Qs!.$uo)8Rfs8)6Nn,*.brqcTjnE9$%mIBrIp[7/)lLOQ9o_ndh-2mH'p&>!a -na#]Es8;orp[IP8lL=N:nF,rEs8Voam-OH@o(Dt\rrE#sq%EH"qY9XLmI^;Rr:T^Wn)rs%pAFq" -q"!tHo'P]/nbDqVq>L3j"nLj?oD/%Xs#BfCnauJQs8Mceq"jOUs8Vrakhke!qu-?]mHj05s8W)p -p\"1Rp@.JAs8VTVr;ZNYnF?>Dme6YZrri5djQldDruq.6s8;ZdqtU$ap%\Rdq>^HepAb0lnEKH5 -pA=d`p[\+Trr3?%oCMVJp@I\:oD\ah&GGejp@7bKqYU0dq=ssapA"Xe!r_unrr<#s$NC#'r;$3e -p@.tWrquirrr6I$nb2\Ho(_qTs8Dlmo]c#Gs8Vibp\b$irV?L=.rqlNgrr;rnqY9dWo(DeUqt^![oD&=b"T.iZoDSXf%f,\foCi%\ -r:/n4l14QDrr3#kqYpL"qY'[VoC2>Krr3-"p[[qRrVnMEnauSLpA+X^nEKH5p](9lp$:f.q>^Kl -r;Z`ip\aCDqZ$TooBl&=o(2;5lLY#P'`.Rtp\=CNmd'$*qt0jeq==4Mo_SIb"TI`Nn,!%`!qG=I -qu6`ppABLAMZ82~> -hZ",PfYj_KKn"DlFEVqTG^4W7HNJM=G5c^cFUWA5G'.nLGB\1NG^"?1F:iY=F`hkOGBe@XGB\:V -GBS+NrcS6arcJ3arcS6_s)SQfF*)MEEclVLF`_a)Er^7VFoQUgGBe=TFE@8#'6JA?F`VSEF`MVK -G^"=TG^=[]GlDmhG]n7SrcnHes)nI=$EpL5Cb?J:N3%J:E-)MMm@IK7AB%K7JN)Jq/?!I=$?i -If=fuIXHP@I0tFKH[L-aG^=dgJGt*$J:E%GIK"[/I!pKoJ;&uHNK0!UKn=o/JqJ]-rdeF.K85;> -K7JN+L4Xu/K7JN,LPLM3Jqeu0Jpi32P`(-EL4t5/H[:'hKnbACS"Q+*KS+l0KnY/1K7nc(J;8o6 -IuB>RWMG`BS=Q1ZTDIXHYEK)^C:K7nu7MMR%FO-GopN/Wg`TVSZEKm`Oc"gKIt<0$I=6VCJSKjoN0'0^Mi9KntbOOcPNf -S"?:FR#dQ+U6^dtN&$6CM2R7NQ(+>5SY2aRTUCn(Mhm4JNKfs-SsP\0TU_=r -R\-=Q[)LMFccaSV_6^/+PE_>sPEM&iNffToT<,Z=[&Bh#X/Q#m!2]Ri5-(lmZ*1:2TV/!SVl$/Y -TrkoC_na%&_T0sRgY'ur`Q?38[Bd!:Y-"UmQ^F2/S#3HuXf&A9YGn@qUn*m=rKCWPO,JjRNf]Eb -OdrG`]=Pf#e(E@)dET7qR[oh1Q^OAC[&fdnX/VVKLl..RNf]X'YJ89-_6UAW\YYLINgHH;V4GJP`h)iOH#EqZETpfS=,kGY+^r:Q_Tk8R?`hireP?INg600US3j0Mi4WiVn\Pae>>W3ik5Z+79>SXc.BSXH%9P*qc7ZG=N#]sY5edEK5)VP_5Qb.=@8 -T<-)U_QKK!SY2IFV5'WQUT;Snh:'i#d)sDCYH"tucc!];`5]p@^q7D#_nj79eC`I0ioAqOg^2luiniSRin2Z-rmqV6e^2XogY13,hY$p>mf*52 -p#tAa`P0==cc*rJ`Pp-Mh:g/k`mrhrdG*=$gZ%/MgZe8(p&>?fp$Unsh;$`@kP5&ckiCsff$rC0 -i83DSp%/1kqY:*fq"=L\q""C^rr3#bqYL3lqYpNprVZ[+q>L?np#tT"j58VIjQG[nqu8nWlK[Qr -p&FmOh;I/Bg#(N.d*g7Z^:hA$]X>,]a3)fbo)JaNd`TG:Vm!\I_opZkda61[dGX6SnGWCerV66g -rsAJ`i8*2GjlPXmp]#R7s6T"4jQ#:[inW8@hVR/Pqkf@8@+i7?#leDp,urV5sGhUorh -b/M95\%g;>dF?Uie'6\,d($WsZa$X7Z*CO< -[E-_KioJtHcFpd%`PoX4e'fkh`llcek1RYh_o0U9_S".;e(iX#`5g3Ti9oa^gue7snattsfAGNG -jQGdqrr3,ok2bRbrr3Z.me-/4h:^T?iTBFjjPJYQnbN.^s!$X_gtg]>i8E\UgiTU+-j58G0`P]=1e_&F'f?Cq- -XK/4qXgGR>Wirk9V5LW4\@0&ga25O#_7R+e^V.Fo]>)M@hV$;\USOon]u\:3ajSu&iSE5GinV_b -WN*/'Wi<,2a49#/iR#HW]uA[bj*o_7gXjs1fYOu+_o0O8cdh.PmcWQUe(31!aMPj;\Z2?uV5UfB -e^V^P[(F?$ah"IJZ+n<#bf\#LbK@lC`PT=.g"Op)dF[11iS`D8g@b6lbLG(`Z*L[;VPL5sX/i1u -Vkp&XQ^O(qOe\qPVkg&dZa[3>VP^8kY-G:=XoGAFYHFq1]u\g\e^N4)e'cUoca'7;TUVRQ]?&"# -WM6E!['6mOb.=R?P*;]FWjKk$h;RYlkhFhBgu6P`W3*SVfZCe3UTD5Vc,$rtZ*:F8Y,@nbVR<\+ -T:_pSS=HUe[&U"-^#828g"+B]]t1MT\%g>AbLbP2pA4eToA8!Hf\=s-hV?Gub1G5'jkSSHf[n^( -beU`s\[]#U\$^KnqYq3$s7PU=lfmNkkN_a=rVH*u`6$T`da?Ruf%&O)b08/`jSJQ0e]PhG^rFRG -i;!9MrrrAprVccgr;R)oj4rAHjPo(RlLb)^kM+bNhq[>Yq#(.Zo&/?_i8iqThrES@db<^>h:9`f -\\#G^\\cJ5`m2iQdaHY'j58VMmeH)*g=bSZZa[HKYdVKobfRuRf%oB]rr7$0ki(1>bh(q3 -g"G9Cio&bVhU]lb\%Thu]>MtEhWj:lk24kCfA,<\iSEMVq!R"adb=!_hp^6:jP\G'^qmq/fAYB! -Za$m]dEp1hhUp#b]=>8TYcXgeNKBEiOdDlWa3;ZNf$VCK^V$qVW1ocUY-)EP`kTR.XK&SAaiD65 -d*Bn]bfS&TagnOQUn=He^:_2#dbER1beLKi]>1qV\\#Pi\ZD6XMiNd^WjT:L`Pos?_oBa,URma2 -O-GolOcPZqW3NkHWhGuTStN='[^ifHRZWf'VR*UQUm7.0Pa[l(U8tT6bg+&<^ULDGTU1t0PEM/u -SuJEPR$EbpQ)UsgSWoJ.P_O^BM1g\IOIrPUWjBUa^U'i0Q^+>LWi*25YG.\dXj5bco'5DtgWdXG -Yc"(]RZ`M_MMm:GMiN^YUTqAA]We2uOc>6VOHu9$(RCJYQ]?l]M27Y!WN;h\N/EOQP*h>sRf&h. -PEhcE[&g7-W2chnUnj`UXg,((Q]dGjQ^O;1PE2*.]>qmuXL,UN]XY)GPRd(m#iTWPT6_7mIdZ)b4E_7mLk]"5Ym]Y)2/f?r"$hTNL;Yd11"Vm!>0[BQL#XMN94 -dDj8K`4WRg]?8I:^rX=(d*NTSd+d=#]!&QQ]u%\(^:V5"bL4e\_nj%c]`5Gk^s16Sbf%<6^q77m -^V7=k]Y;J.b0SYmf[\U/ioT:]hV6N+bfS)Wd`g%_rm1SkB@P&@aNDKAcd::rf%&6qaOT//imuE$ -eD9!;g"YEAgtC?8iSW22cemjPki(CVioJtQfZMCff@AL%bf\5Vbg"J`gu$rAgXFBhcHjb[dF-Ip -g"59Nkiq9jinMr-dEg%[d+dR?j(RZIlepCJh;?o>g"PEKjPSYHj5SnMhW*b^l0.0chVI#Bf@Ap -V5CE&Za$biW1p)cVPgN%[&^(+YdM?]\Z_d!TrYQ/Za7$BWN!%mTsVk\_76M=SYE'\U8+]gVkX0^ -/>&MsN0'6jX1Z'cc,RE.\$j0*h:gH4fZ1;"[(su;dDNNChs9\.s8VcSlMCGYs8@NKP5g%~> -hZ",IcErm`DJ*?[<)QRl<`rW)>6.o/r`K2%$s$A.<)Zas<`Dsu<`T,t&QDb/;cHas<`W:%F-(;H$On;,C+g:fC@p -:>[(B6=&rC(=SuJ+?!R;3 -rEB5("']#8?2\%->Q.e.>?Y03rE'#'&6rLH>[(E9>?kH>>Zt94=',B%s&U(?=&rF,>$"[.??k?4='/X0>?Y35>5VS,>$G04r`K8'>Zt64>[C`A>$>'2=BSj5r`]S3>?Y03 ->[./1s'#J,qcWr$r`T8)s',G,rEK;'$s?b[(B7=BSd1r*'e:>?tQA?!LQ:>?kE=>[1K<>[.22s'#_7?!LZA?X6n7?iOL7?XE_= -s'Yh7s'Q(=?=$uH?s[1=>lIq,?8#Pd=]\U(<`rjGE,or4@prnX@Us4kE,TQ*A78tZ@UWeV@UEJJ -?!L`C@:*GN@:B+D"^kbE?!^e8=pSDC@V'(^An>TPAHZUVA78mF@h*0lG]S"LEc5`0CM.6kAc?3o -AS,[nCM%'eB5;-lBPV9rD/sW4BP_X+An,(RE-H23ASZ$oA7&SK@;'CkEINOgE;aQ%C2%9kBl%Kq -BPqg-BQSKOQ]ZiNLkgb:H#mtEH['aUFE`1aK5kL3@:!:>@fKqdAnPjoChn$8J;8o5H?XaiOdV`+ -N.HD'G&_PGCiXT:H&%6.DJ3^!Ch@0gBkhO1KT21]TVRj+LkU%hBOkR[AS5n$EH6)CH[L$WC27^, -Fao@9TUC[eGC>FaMAnG[gA7K1`BP1phC2J$8G&qVBFE;JBF`dn5H@'mXCMWo_?>=1e -AS?(,H%1[-G].,#?!q2UBn;5*N.#\`DfgtrG&MDH@q6=K6MN^EGff?G'S[sNffWnF-VoJJp;Q`EH?8GI#!rMN/3IXObf'TKReZ. -Mij?gLkL/!F*)MFEH-&BG^YjHSsb^uN0'!YOeB2+_5NWSIsH0YE,TiDJr,SONehk"EH,o7Chn'/ -Ed`XpJV8c:Ocu0-[DKkr]>).iWh"ZdH[^KpJGt$1K8>DJT<5;mR$F,1R?Wu%Q^I`>J!cb"USFNT -Ss,A&Q^X>,OdDiK]"GSa]=u/*e(N=!a1oL,\#cL'S=Z::MM$M6KoD@pW1f]UY+_8KP`^fUJU`3$ -JUi2rH$k$iJ:2m'RBWp%]>r=Nf[S-^XGqd_J;fbYQ_::LN0K`sN.-,$J;&W-MNa[9]tq%PVQd7q -MZ8*@Lm"-kNJE+;MNX*]Q(jk1LQ7OWMN!FRNg#rrLl.%CJqf5GOH50OL51J:NL-K.M1U;*F`DD? -EH-2PL5_"@KTD"9EHc_XJUD`hH$=^tTq@6tMhm1USWJ8GKo^nBLk^J/IXcitJqo>IOF2q3FEMkV -IYX/iVOENrH@(-mJpr?.L5r+$RZ`J`OdVc*Mhd:TOdMl:SY2s\RZWYiOcGEbNf&p^SZB96]sFcB -^<4@"UR[mb^q[%>Mj'jJ^UTqsMN3aVOd2,lOd`&cgY0ln`4ijhUS"KbT:Dgte)KfVf$;I^b15#H -a2#HsRur[/NHUVWY-#.I]!/]_\$;cuS$0l_`jDP6U7e'KXhiKCio/YAaMl'9bL>/%h;d\_jkS2# -]#Ve4h;HuFlh(#Ko^),@gh:'Wpe'lgsd`p"b -g"=g'htI*An,E>3p#b2\_RmY/behBB`Q-BQf?qRL^X(N\ce6jofA><>f&c>pp&>?`mcrfghr*8G -jnSiakMkX]da$=ogY(EDp%/1kr;$Bhq"=O\q""C^rr3#aqtgL`1d*^.U]=Yhl[&^@Da3E,loDejOe'#bCWN`qG^W"[YccsYT -dGF$Kmf!1crV??irsAJ^hUg<2iT'%gp\tZts6Ab,io/nWj5&GBrnL<0puqSSo&\ibf$`$ug0IBo)8OHg"+m7h;$uWqtodDlLb)Uq^KflK7*[d)E`@ -fAYcLjQ,:^kMah+^:h1q]t:tn_p[>rioB.sqCW8h:ou]^;n=9J'66jk4nB-i6Tm(g!n3b -aj.W'V50uf[`I1Xd(Qp$`Q?-/VPCB0a3)cUc-FSW`kfL*\\ZeHcI'tjh;7)IfZr1Cpt*dBgWQXr -WM?#RU8Xl^U7n9PS!]>$N.d(\V4aTWT;Ag#YGRtbTqnWfXKJLsVQ6_pY.Mg.h:C-2gMGBgdFQOE -R?s;*Q_V%/`3uVlu]TrtE%b2)(?o_S+9h:UQCbH@Y@[a*LJ^9siA_U$KD\?rKD -Xf\\$S=QF[XJ22UUSOHOWj]:9W3O/#n)rN\cG7-*Za7-WeCr4"g>_f%s$?51dF-RqcdUY%bf.]V -fAl&Ngu@,?daH4P\%&rZ[(3WO[CE65VmO.Nc/Rg?hrX7mk2>7SguJ)-o%haNio]Irrr4>&f$i7% -f%T-Fm-3X#n*&s)mIg>Ep%%%le^D[\`5p0TgA(ICs8Dfo'(u:tkN;'njQ5Xmp&4jdq>:3gnG`OY -oD/D#qWQnlhW*>8bK.o_kl:\Fi90q9q>UCFroW)!o'YD]a2l31Z+n6"f\P00gY^`:gsjEhe_ofl -p#49<_ShAW -e]GbL`lHTad_;ofZc^YBce7=5d)3Z4\$WEATn7Q:J:W0)Q*\6F`66]Z^U1>OWhlDZQCb.Y]Y_:s -\>5pMXh;`ta2Zf`e^W$md*T\7V4sQLTs)/C_9(6`hq?2dZE_'Y\ZEET]XtMGOFDJ%H\J#iXgYpW -`5KF-_m#DcKmnQ,M1pY7Jr5e^TrFTJPEV8uW4/n3Wh5<(KT2CsVNlskLkgqGN0p?>[`6J&\@8Q3 -R#HZLJ:;orKoDF`s,MSgM2@4bV4j'0NKAs:B5V^-FF\h%S=uOP\\>JJQ]R/aS#E-UX08:_Nfp$W -hWaXulK$^D^TjW&NerO@GB7nMEH#rAF*rtY-+Ig -U8k8qX.><2S[ZejeB6%\>.j5/PJkNqX&k2Fk;b/_`TeBZFdrm+focd1%Z_oTs<`QcZX -g"G*6f?rF:mHEBWfA5ZVkiCdejl,"Jh;I/=bg#/5oBtc$jlbmeinDZ$f\,$7g!IsidEg1ef])&T -jlFt9bL"Yae(<=-iT/tap[[m!nEfE#g"+d(d*L5!k3;!jo'55ggu@GSioK4enaPc!j65[ci8Wnc -mdKT/kN1gfjl5+Nf@A:cDe]l+Wf&#BChqHE'aMl'5\?2I)Z,"K.iTJq5`6-3; -Z)O_$VP^?(aiqf2Vk9QVW2QMf@@NOMStD[QXKA:hUnjusYcOUbOHZ95Vkg,cURdsMQ'SGa^:CPD -P)bm'US+'*da>k0V67JSeBu7Ie)0HUrVuojl0eKI -s8W%Ks-!D4~> -hZ",cs8MQJipH@1oCDD?nac;NoE"XWrULKjo'l/;mdBQ6naGl:oCDGMnGhhYmI'K6o()eK!:KjR% -IENOn*oi8n*]c:naQ&Hmfr:OnEoT1nc&"Wmf2YVm-a!:9^N"mkgMnF,fEm4@euo(2JDo'u2=oCV_Ko^q\Cn*]W5n -ac/9m-X<3md'NoC;/5mdKZEnHJCNnF?&"7,@DoD\@moC;;:mdg&Co -C;>=md9H3qsagYn*]f=rpg-^o^r"Ms6p!Us6p!W"S)-Uo'u\Js6gHcn*oo?p%@qIo'l/9m.1/I" -nM3QnF?&JncA:Mr9jjZnac8Do^i"Orp^cnn*]T0m-a?4naQ#8mI9]=p%7hFnac\Ns7-<_oCMPCr -U:BjoCDMFo^hSAn*fc9naPu9rU2o=nac/:nF,l:o(2GBnF5l5mHa'%lgXN:oCVDAm-aQDo'u/7mI9c@nF5ul8o^MAAp%%\HqY'FEm-sH.nE]WEs8)0MoCV_Hn -aZ8Fp@\+Ts8Vubrp=[no_.tKnauJAl0@TulL='-s8VQXo(;YJna>i6r;--XoCi._s8;^Efm,mX0rr51SlgF*&na,i=oC;;?o(M\FnF5u@q" -sgVnF#]5o(VkNq>'UEiU6.$n+62AmdKZ2jQH$ujm)@(nb)VIlM^_^7J5s1l0AC6al0.I$lfmNsrr<#jo'tr(iS -ihUj6?12qt9=@io]FekiLjak2+tXmH`runFZ>Am.'rPrqcWlrse>_mHj0*mHj<+kNM:,rVmN$n+ -HMKm.0iDqYU3gqtg!Wp\t0l$1d]]rr<#llfn$=rrW2pqu$Hoq>L?np]:9grr4J>lfma#oD&@_nE -]oMs7l9^q"4"@m-X93nEoT-j5f@ekN(sus8M`\o)/Fc)Y`CWnF-)Do'lVXpuCrCs7GR?k3;$ciTfXpmdTi4i99UnjlPdnlfm^6k6^82lL -=9'hW!b_roS1\io0"bnauA4l1k)=k3qL$n*9-%l/1=cs8VZQm-`j,s7kX/j6#dtnaGf,k3([^kO -8-=naPc-k2bUbkj&3En`f,okj@[)nF>r)g?%\mo^;/?q=j@@jmMNoiTU41nb;Y=iooLpp@e=QlL -"3^KnnFuq^"8D$@p&=srqsj:TrVH0Zm/I4cnauk\li..bq"t$cr:g3krq -cWurV-'jqYC-mqY^?TrrW,pqsXOcq>L9l!<)fp!;HUBns8)T4rrE#rrr -`)oqYA\A"TA?"r;6?j$2OProC2DJr;6BjrrqlVo(MeTrVm9)s8VufqYg6drUfa[rs8Vro(;PQs8 -W#krr`,elh:>X%/KSiq#(-ks7YsQnG2q\!;c]p"SD0Vr;QNl!;ZEi#k[BHmdg;UrVZKk$1m9>nc -/Xdp@eL_s8VclrrW,urql]qrVlftrql]o,PhB>qXUC(qu?Hcr;69es7cQnp[eC`rsAN#s7,46kMbOlrr36!nalDHq"t$grsJGbl1Y)DpAb0lrr -2p!r;QZos8VNgo(W+_$2E]OrVuosqu-Nmrs\bpp&4pjrV--fs7u?errModq>UHorr3#troa:]qt -'jfrr^Kmir9&UroX4\rk&11rp0Req"FadrVc`rrkna9rUKmjq#CBlrr2otrr -2p1rqcNkq#CBmq>C9mpAOg[q"ad^rrE&hrrDierrE&Kru1h.o_81Sn*frBmHO'/nb2\QqtKLEn, -NFeqYC-mq"4Oas8Voqr;-F!p?h8UBpoC`(^!rVfkrVn>8mJHq`rUop]p? -__Wq<-]$n,N=]pAP$ko^(o4q#'s\r;60TmGls^p&=t2r;Q`ro^DPKn*]`7kN;7#rVufoo^;/7pA -Om^o_ne%q!RYHo]Y8qlgOZLr;-UC*pZ1#flfdd:s7uEgrr<#or;HXGoB -GW9r:omIk3VX/q#CUC"o]>)tn*'0-qY^@.rqQ3Zo(MkAn+QYYs8)6Hj6H=3o`"gh(Ame!qYBm]qtTgSp] -'jWn*p#;k3;@/r;Zfp"o.]\mHO6>pAb*^mIBlEs8Vufo_&%PqZ$Tln*&Qtp\ -t3lq==+Aqu?]op@IkGo^M&(mJ[(\o`+semI9]7lg=QIrr`&]jR`?M'));(s8)Hfs8W)orVucbs8 -)6Trr3l+l1+60n+$&DpA=X^rquQdr;Hr; -Zflp%\Rer;ZT\n+ut^s7c'Rq#($]p&"dhq=XUYoC2DGo_8=_r;Zfls8W)ur;?Hco(2YLo(2\Urt -kM2s82H^qYpHlqYL3ks7lUC9kqt^$Xq#CBmq=F(Jqu-O.q! -750m.LDYpZUo0p%S:^s8;E\rr33!p\=X^p\=af/,]GIo(2eZs8)`kp%J.Qo^hnYqXX=NnFZ;CoB -ko2nF?)>q>^Hgq#B[Cp\t11rUfjZp@IP,j7)[9rVuimq"am_n`]*,s8Drss8*9"o_J+Mq>UEopZ -:r;rVlftrpfse"oJ?"p%SI`rrW/nqu$Hordk*:s*t~> -hZ",amc)-WMhHJ%G'8.WH@(&=I0"_BrHAcqF`VVGF)uGHG'%bLG^"?0FoQOeF`r"TH@#R7!-\?a% -EVJ -V&K(It360LPUe@J:E-'It<6)JU`,tH[L8>IM.$VI=?WpIt2fkI!^*^H@:9nJGt-@JV&?!I=-EjI -XZKeIt<93R\ZF>OG\^CJV/Q-Kn]MZ@toPgLkU>+I=[-)JV8Z+J:iW3Jpr<,Kn+f)KU%scJq/W2K -7A5oH[gQuL5_FdObJF*iSTV7jSW -hZJgR#coOIt*-/Od(f[KS5,=NK/UELP^kKR\R3lU6LOrSZB*"Ss,@rKSP#,Jq8AuI"$a%K7nuuuYL4b27LkL>6N/ECPSXbaqK7JK*LPLPQVm!(fMM?tKXfIVBOG\UFL -Q%LbOcbosP`LfaOHPf^MN!INN/ECVP`hH0WMlY^USX`\VP06;T;A'BQ'@>jJ!ZUjR]*Ho\A6,+b -K[r5SsGP'Q(4_V]=+iAZ+%'>['6U2Y-ks[beLHaTp_7:R$a5+Q^O>8^W=L.YH4q5YHG%=dGs!%\ -#uR!SXl:>T;Jm*]t(DLR[KV4Q^!YqQ&q,tUnaWWWj&tF^s1a&kiCdfkhXP&UnaTTStDXJUApodV -6%2PiSDnu^W"71]"l+u`Q#m9`5TX1`QZZQb.YI&`QH67[(=?2ioAtPgXb0@nc/FJhr*VWg.SdET;(VlHl)\\Pti['mTmj -6,Cbm,R!ZaLf-u[_0f9iVicU2sBAaip$!ni8<,2_R6PJY-km`ajSqnaNrkuf#k\=bhq^Fe&]\Yd -*'PUhX9t5s8VlZk2G7Wkkb;cqr?AakiM"-qsX:Z&FSQAe`#ZPp&+h%mcNEWajT#(i8a/%kNM$ek5FiM!<)6`"T&)srV6$b#kdu`rVc!:i -:6UB+lhSFio/eIh=^R,o'Y]4o(D\@iRui:j4iYlq"FRHj5]Frs!HmckNh-`hq?Q0f%&3tfB;Spq -u-Qnp#P&ij5A_Nkl9Z!jQ?F@q#9([iTTUdfAb`Os8VBEk3D1/q#:Ncp&G'[rV?Hnq"=XeqYC-kr -V6BsqZ$TloD/@ars8)UkO.d7pupr7rri;nq"jdErrVZMk55/jp%nIGh:^WCi9KFakN_9rp&4Ua" -o[WHmdg/Ds'>R&o&8K`f\c8smHsE+g!%aa_na44b/hQHf?qINaj&/^i8s%Se_Ap/c.Ln-hVd#;j -o>AGhp&sN_SspXg">aiMH@ajAf(lh9l/gY166rr3N*o)JRLk5F)Zb0eo!i -TKG&s"rj&meHYDj58eF_m[%d^WYEhiSi_NhVmVVg<71BbM;[Hh:piJjlGRdi7$?CmHXB/o(`"Zr -rD`krs\>Vjl>7GeC;a[]u/%m`tZM1^q[Ue[B6(!_8j3rZaRTf`kAeZ]fF!Pbf\#N`l6*Ca33)fl -M0Dto)Ja_hqm21\@/iN\AZnOg!Rsdc-FV\dFmI6b.+OP\AGo)iqiHFrr5:LmcX9Ci69Xki;.,rVuooqu7;phq-E0f?_agd+?spbL5>0h<"D2!VlWjrrM]equ72jq"UTjo -()SSrVm9(o(_G/l0I6fjQ>n+rrMonh#AMfj58kZhV-H+dEotL^W".(\%KJj`Q6hrjt7o&eZSeDTQ]s6f=Rs&\CBkO/BMp"S3as7kHud -*^1]gZ$_qZ*h=!h:^B8k2=Y._SX@7_S*R[R['5(P+];*eCW4(jPnb7dE9//Yc++aWNF.ieD&Bc\ -[oc)ccjYfh;I/=aiSYM_m-);WiNJB^;A%DiTK:\cc*T0^r![e]uJFLbda@.O->g"[D';hbL"tsd -b*F+^U9o)Q(=P9QB%#sW3*PE\#,O[S>!!m[CsDeV3dRDZGFD`U7e0NXJ2Dm]thV2i6fcp_R?M:T -qIpBPa@u=XehY^I[cO`Q)V1#XJ2>TP(nOCNf/scR'=6;[COB)`jr"=R$*l3TV/?gVk^<&_UR]Is -8)$?gsa-I[Bc^$RZ32_N/3.ANJE:KQ_0tLYcFOgQB@)bOd;H+T;A?QNJijSNhj"dYG%AGNJi[RP -EMK9XJMJUR$Nl(Ydga/VPg;bs-[buVl@,3W0E-uQCFSDVPT`GT!$#YbIFjl^pg\RV43jH[DTqkZ -*gg2UT^AaU8Y2oTTtq8TV\Wl[Ck#Ff>4PcX0Jb2[(XT!\@T2SVP'HJT;S6\\%fo$\uhKhRA-INY -f+o;be:9bXJ__dUniL7UT(MrW1fr`SX,qZbMD:EkM4A)^::YYZG=o>e^)=P\?Ms8Wh>cIT;f&t^ -<"4$Z*CU>]YhS&bgtFeaO8ST[B6.2]>DP+^q7"LXgu$O['mHR]=G,H[DgSFfAYc7]!\fBU8"d#] -XP5FR[:(nd*U(Ub0\;G]"Q,4e]GpRd(Zs5aMc0NgsEdB]"#2W\@]Gf_SO14ai;?B_n*.YZ*h

    SE_S!b5d+R=4h -;@,Dg>_>Vf[A@-gYCN9gu@=@h;$`>j5S\:cJRaKk24nKioAkPfuqXlg#:f=cHaqlf?hsuhVd/Ag -XF?ebfn8Ue^`7/i8!J_kj%9gh:9cnccaGQdbX$Ik2lC:kMG%PiSNGFg>M)Qh:UWFj58bSkih<\$EELZF7'FYGn=nVQ$SrZ*gj;X0\ChZc^Y?`ji(HW -2cY^S>E!UUnj`YTV%^=PqSAhYf=`2f$D:M\$N``a2uQNb."+IZ+S92f#tnWiT]Fes8V*;jmrHOr -U/n/k4/EM!<%KKR/_[~> -hZ",_k1?u%G]@>%<`2dm=Bf&/>l\.-=:SD4$5!1=BAR)>5_SJ>$G66=&i4!Zt98>[(B7=]ed0>?b?;>?b;1>6%k+=Tqo3>$4s/r`1RR>?b?;>?b94=^,-:?!LW;=BAO( -=BSg0<`N1'=]\R.??k?3<`iL.r`]n9>$>-7>$5!1='&L,>$+i$=9DT+>@.;9%piLE=BSp; -?X?uA>$4s1>PhY.>?Y06>Q.e->?kG,=oV\*>6J2Q7b7=BSg4@:E\S@U`_Q?X@4@?j0nD -?!UcCra,\4?2Rq3?!^lF@UW[C?N=L5>o$[L>$4s0>$G9<>[(B6>$PB@?lJ%/>Qe8:?!LV4 -=qG"G>[:ZB?!CW@?!^lF?manF?sd5H?!UcC?i+.\>[CfF?HZNb/ARf1Z -Bl.['Ch[EiAS,:X@q/qS?=$i@?2\)N?t!MR@q0%Y@pNGJ?!:B7?"%2QB4u$oCM.6kA7T7^A6`JQ -Anc77Lk'ntEGfQ.CM.9oBP;$mBkD'rBk:^_Anu$kBkqBqCN=B0B5DR+An51WFaS1@A8>spA7&SJ -@:X%eEI<7]D/3j!BPM?uB4Pal,@k1jARoLrDKUqqH$k-oJpqudDfC)MG]e7[Ko1b4C1Ld\?iFL6 -AH-9eBP23tCiO`GH[g-\I#+&YTq%'mIDCm[)1A4]XYGYXe_YZR[]e7QBRGgMiX$`OI)c]ai29Kjmi'Ekh3\BP`qB3Z*:OKbJ'p^ -]!nW'NfK6aO,naWVRY"5hT`X@^r3XSO-H64V4aYUn*m@ -SY)LESXZ(;R@'SCWL]69P`CNNIsl`oKSu+bTU)"DUQUP!M2[FML5:V=O/^(8VjsEQOJT4XN.d(O -Tr"TXQB$iZJqf;SVQ6\iMM;(_DMf(T9P@rP)klpS=Yq*Su&QlVPL8nVjNI(S"Q1?WP,aI -\?i$)U77sVVQ$;YTW>N@eDAs,_na^Wf#+enVmjUh`jDP:Wl3-$ZCmb\U8P0&['-U:[a='rhW!SN -f@7UD[^E9C_V!rJrr4q>j5]%[mc33^dD`SpU7nEc[)Br.f[@dci6olg[^O95kMah,`6$0>_p70/ -o)8Ugq!I;-ioTD#rsAP\e^rj>j8\uDp\tfmj5K([j5T7]gu%#Ch;[MgqYpQlqYq&rkk4uKp%&(S -p&G'eo(MeW)#E=Ki90=]i9'1gqX!eGkhtM$s7Ps_pug9/s7uoap&G'jrNH5:pAb0dnc/X_lh0i- -g=tNCfZqn%kihaUq#CBQ -+6DJTmc3F+rt4u&qWm"lgYCQHj5T4bkj8!@pAY;\5a2Q'Ce_fHYlJ:%De_^<*&,c)"r9N_KjODT0hrEkblhpc0 -k3VX6r9rh1kM=7n]YMJ3i8j+djl,.Wk2Y+9]=c;Bo&\igjQG_*jU0kleE,oVp#u&Dq#:9np&=u" -nET?)jNl,taM#.!a2>j6_nj+%]reWASYs9E]X>/V^W+:/[Ca&`_8j^@a3M`FbK\2Tg"YlhjPoe2 -s7YC.gW$S)Z)t@Ke(iX)bK\>Ycd'hcgXX-HVl.)D^X2'=q"aph6147,pAa*o`lZH^lf6[F_9(Bl -hq-B.e(3+&e]P_Fb1kOm`Q-?OaMl`hgsF:!o_&7aqXs%,hBg#Du1mJltTrt"u$o(qP?s8V0= -meQh]s82]n''eH.g">*.e'cb!h9F!`g>CWDp\t9irVQTqpAFgf&*s&dk2GIlqt:!hqZ$QjrqcX% -qY0XMl/h!eiU6-PrrDonrr_`TrV6$b!rN#prr3`.qWHM]hVR5`s7H*Ps8Voll/r$6qu-O"mcEEa -hW\!i,*L4t8DXMN64eCs$Ff#GeL[]cd0S=cd_`7*/fbIOsf_9L?R -dc0BPk1\2-d(cTRUSb'!_SO4:gZ@\bj3GQU]>DM!YeJ*&dDrM[LP1G>Q*7a/I(d\LgY:30hU/[- -R#?leQ]dA_Koh^nV6I(nOcYltVR!A6]<\#gNgZlV\uD*aR$OP9_SXZ+FVk''@VR=k:s8RQGmH39T -^9F]9R?!,MF`hkKD/XQ:E-HtnNg60%NIuS"E,p5SL5LtON.5kmIX-=)US4?FMh-1sE,KlIM3XBg -L4Xu-H\S#bQ]RGuQ]d5^O-Z0-TpC=TH\@35OHc&lM3OdE_nW7KZa['M1C>DR$X\^a2l*& -VPBlUQBmu-QBn&;R[]Y2SWo2(\'3^onF#5]`k&DRYB.J*da6.T]sXrqbolJULRf?qXR_pR2m`P]U5b0\_me]>SE_7RP0ce778j6#OajQuC% -hq?iJk3;!gkN_?miS<;Miml;u7cWh(m,R!_kNLpdgs=:#h<oc-Xed -h;7,Vlfdm9o^qV;jkeM9e^)LcfAZ#\l/qd>khtF\roX7B(@(AWk2>=dki:[blgF93n*B/ujQ,7T -rnMnTf%&C/i8EGIgtUfLjPJM9aj8SqioK4Vc,dW3^W+-uW3EbLbL5M9e\]8Ibf%&sZF70K]#E"A -`Q#9_UTCZ!USacWT;&-VUoh#-WN<+tX/MqlSsYn7SXuIMWi)G^WK`[J_8s[7Yaq/OUS!p@T9tk- -P)tfjP`Uc[08Y^c]Y2D4aM5BqZ+Ifi`Pom5Y*l)a[`6bFb/)KbkMbM%s5`8*p&G'jn`S`emf!.c -rIP!9s*t~> -h#@c[pA"+Io'l5AnEf]EncJFRnbqtTmf;nWnGi"Zn*To>$1I9Jm-X92mHsB?n,i4PnG_h^n*of8 -o(2MGoCDnN%.l7nF5o8mdL/F,P1QunF,r? -p@\"Em.'W8n*]W2m.'W8n*TK-lgXH7n*TK0nG2SWmdK];p&=XinF?,Ao'l#2rpp*Zrp]pUs7$$X -*:WFbn+#r:mI0N3mdK];o^VMCnaGl5n+?/;m-Xf@"mbUHnaPrBliQSCn,DnWnc/(`oCDGBo'l&3 -rUCKjoCV_Ko^hYCn*]N.m-X60nG_nVnGi%Yn0mbso'u5=nalDGo^V;9o'kr:p%%P>o'u,9nF5u< -nF,i8nac5>n+#uJnHngZo^_MCnaGo5rp9[P$LdNUo'c&7nFH2@rpTCH@eB9`o()>@nF,i:o'l)6 -m-F*0o_%hEmI9T5nFQ;DnbDbGmHj0-p@.M9lgFH=naZ;IqXs:AnF#f7mHj3-n+H_WnF?&9nac8@ -o(D\Hn*0-'mI0T9oBtr/lgOB6n*of8rpL9bnauMFn+6DNna5`4rpVW1nal8AnE00=s8DWXl0Ij6 -qY9dTn+6ALnb2VFnF?)>md0Q=na>o:n+$)CnaQ,?rpCg!rVu]_lh9u@nF6#?oC;,2m.:&Hnac5@ -p%S.OoD\J$o'c#6n+#f3n+6;Jo^VA=o'u2>q"jaWqY^@Hr:B@En*oc?p\"1Op%\@[qY'C@jQ>go -lKn'8p$qJFp[7A9p[mb=naZ#/oCVJ9lL"-;p[RbC -oC;8;mIL2Po'uGNs8VlXk4AQO*:rasp[@YEp@\%Jnac2?n*KE2o^r%Xq"4(Emd0oPAbY]Xi:?*n -mdfc.kjR[-qX+4\m-*^!mI0E.mJ6VVp[72(ip6@:o&o-%na>W,o^qJ5mdp8Lo'l8@m,mX'nF#]5 -nE/fmkkkD[n)<^.o()D)lM(;X$N'Vlr;ZflnF#rHr;Qp! -q""I`p](9mm/I4`o'l2>r;QfqrVc`sqtbmDJcC<$JcC<$PQ(X]bPqYCqY]sbs7u`pbl@_?fDbmN -rU0[croX7\rp]pfrdk*#s+13mrrE&qrrW/pq#:$drr`#co(D,E"8qlfqYopbnb2q\rr`#an+cDP -!WN#rs!R^As8W#anF#GtipZXAqtTsbrVQh!j6l^2iS3G\qXa7Os8VlaqYBdZr:97Ms8W#i -n*TK*lL!m!ioKP"k4/KOoBGH&nG`Icp$qD2mcnG;qIm/6n` -pD*Q(s7#UUs7b^BrVQKblg"!1l2CDVqu6irp%\=Vr;6M@qXs1FoCD;6n+ZP@p&4LFkkb>UrVZB^ -qYL*bqu-QkmHX97q=X1Ns8Vrhp%.qUr:ojSn)rQalhg_SpAb0inF?8PqtKgWo^;5Kqsa"Er;QQ` -rr)N\n+H_\rr)lpo^_bRp\"7Up\4CXrV5mPp\O[Zp%A(QoD&@c)Z'4'oBYcmd0B7rVuoss8NZ(lg"!6s8MQWq=a1:me6MVrVm0#q>'UGlgaK?rVmB%nbE"]rVQEgs7uKc -q#13ls7-0crr4YFn+Zk^o^DSSrq66ir:BCLqZ$Tnqtg6fqsjF[s82Q_q"OLQnFQ>Iq#CBhp\Fda -rrr;noBl5KrVm6$q"XaarVc`pq>:0k"TJ8mqu-Kns8EE&r;Q]lq"adaq=jU^q#pEkrr)cor?qO< -o_8Ccrq#ORq"FO^qX3P3l1"WNs7bmIl0S6Gs82QZq#'mXpA=gg0E1kFq>C9koC;JIp@7VCq#(*e -q"=[er:BLPp\"%Bm-X<2nb)JCq#:-WkNhBto`"k%qu?]nmcj04oBtl1o(2A>q#:9qn_N7)rVmB* -qu-HgoBYuDq"adUi:?XB#5.H\s8D`lr;QielhCAX!q,FRJcD/ -h#@cJf#4DNKRA,nH?ai:I0P(GH?j^YFo6=]G5cXaFoc]*q/m$hGBJ"LFa&(QFa*_-!I&\cEsZr2 -FEMePH$OXYrcS]kEH-&BG'8(QG'%eGrcnHercSTmGBJ"LFa&(TGQ)dcG5umeH2i-gGQ2jaG6<)3 -Fa!_-&U&8#qG^=[]GB7d'HiJEkH2`'g -H2`+0H[9s`I!g6bH?sj^H@10kH@(!bG]n:UI$%78OI!U3iI!^2=H2i0tI"$QpI!Km\H[L/=Gk$&gI=-EhH[:!`H$k*k -I=$6bG^FmjJq/5pI=-Goq?\IXHNrN/N@AK7\`-J:N&pH%CX!OJoL`Srne[ -K8';\.YNA,MMHe:Jq&5tIXQTmLPUS3J:W3$KnY26M2?t=K8GhZOG8=DL4Xl&rd8:(GB8"[L5(;4 -K7nr4JUW#tJUr<"I=?a$K7o#>OcbfjPEM,jN/j-dOH5ZsTV8'FO+_t0H[9peIslcqJqSl4LPU\< -Ko(eHMN!dmVPKlWR#Zu^PE(aii,cj6QL:rup[d_nj$t\\,\o`Pod9cJ%=Emd]W.kiV!fh;IAXlKIBl -q<.n>iSjan#iX\$l1"KEq"OL^1&^n,jllC6q"!V0qYL!XmcW`po^(f'jQ>^qn,!(aq"=F^ -!r_uoec5[Gr:U*b"8_Z^pjrHrs.')trVH-OkN(UZio&SCeGdo'hVmMQg=Y*6meHJTs8DZk&btDA -gtpW5fA,BRs8W&]j5]ForrN)nrr6-`iT91\e_&Ku_S=+fSfAP`Mgt'rn -]YD;!b1P\*eBbh4VO!X=R[9G8Wj/bB`Oi7R\APS[\[o`-gY0rpbKe/;ZadQ[]!]pa2lHJb/VE@ -aMYQu^;.Ir]"Ghp^rOd@^V.It[^jB*c,[Z6]"#2X[(*ib\[/TO\@p&=jlGCXiT91VccOAQdETJD -cdKnH_TL6Re(<='ccs_S]tHSJak,P8jPntGg>1]Bf[ea3g"Y67hra(]e^`I;lK$[LiU6-if\bfN -g>M#IeBue#jl5+Ng=b-2cI^t6i;VOgeBc=[b0J>[hV6]9hrX4nki_-ih:Blo`6?cci8itXjm):! -kN([`gYLcGio&_Mh;@5SrTZf4kNCsag=k<9f[J9teBuRpg"P6cdLV/hUC':n)W6[gt:QKhp0Bsjn\rFgYMXUs-`n;~> -h#@cBbIQn>8=]ed,qc3Vps&B(u;>F/u<`N'r;H$Rr;c?]o$,'9>[(B8=]es8>[(?5='&O.>$+g*='>?&"BJT,>@%57#?Y,5>?Y-.;Z9o#>5h\(=T;P& -=rUUH=^,*5='8[.=BSj6?$+g,=C#*2[(>,5hh,>lS"5??kH>>[(B6=&r=%='/U/>Q.h+>Q7t.>:[(B;?=72QA78eQARetUAR\tQ@UWPL?smDO -?sd8K@:EYQ?X[FC@0pFSA7AkP?X6o@r`]>+$=."H?sQu=>?tQ?r`\hr@p`PK?!U]?>?tZJA7AqQ -?$+p.;H7"[CfHA78hN?XdPU@:3GK?2e%6>[LlH@;0e)DuOSdCh[QoA7At[C1h^LR#ZfDDJX.g -E-Q58Ao)C(B5D6oA7fCbA7]UrC1_-pBl.j0DfKl@D.R-iG'S.FB5hX!@q&hP?=-rA?YOM#DJs?. -D/3fq@:E_V?sm>NAnu*rDKL,JH$OXXF`M>:FEDMBH%La+M1U%mBOkR[>\.GT@V'1fCM.G(PdCRZre`G]@hPF_bo:F`Mb\Lk'2NA79"^B4>IdCN"?AIXm<2Ng5Z`I:m5.BjkF\BkqU' -DK0uNH#d_6CjCP[Kp&+-UQ0G9IZ:%rS;`5ZIVrh5CMIQsB52-sD/4!1GBj+5EHcYQH[M'PWhGlI -OF`10E-H\NDfC&INL,^#YE![=B4u*uG(?$UWM5Z5H[:U:S<&8MJqSi0L6S*hPF7f.S!B2&PE(BU -OH>H\O->fqR%:P"];_:!ZEUR=WgofUS=cCCS=c^VVlR,8`6$?Th;I4"g!RpIWLK*:TWc#YcG[T@ -bf[oNbfIfFbgP,$gX4'W\@&ZKXJMVbV5^]Fg"4HiccsGVd*gS+l0.-N`50-s['?gI_p$W]f$hgK -YHY..URRXAR[^.]^VR_)aNrGpjn8KM+m\$qZ*:@5Z*q0W^;.V/e`#]Vmc`iqjQ#7ShW!\]kN1b" -k5+!AhqQrGlLjrFp%JD*rV?$Nk31g[cc!T9aP,M/iSi_RjQ5CZgt1''d/Lin^qRCgZ_sh,[CX&c -_;+)4jQudD?J`c4Xg-!se_8d6gtL?3fZq4:ZF70N\\QD@j6lm6iS35MhU9*Q`QHHMbf\;^g>(B- -_n!_0eC;ggd+6XndEp4ac-4V^bK%TAaNDWD^q@=q`Q>s1\Zi9AWM#HArg[MlVm*Y<]#M[uZ*gR/ -VP9cVS=m1+e'l=L]>1\Y]"G/8SZ9QJa1SjjZDXIiSuB*5^q-G3Q("88VmaL\^q$YNYI(I9ZaRBR -[^Wulbf7ZF`Oi=UX/iJ4]YN(Le^D^__nNq%0Yb<1[_0N,g>qi$o&o&ikO%QldE0>Ie)0*:cHFJb -gtU;u_T:*Vg>(Q@g""R7lLt/U#Q!ZDgtUWBjRN6minDf&a2uNNiofb#lKR[)pu^SmiT^7>md9E- -kih0mqgncus763inc8OZrri>glgt(As8W&Vs8DfprIP!/rt+JZki_3qm-X'&mIg5EnF$;QrrDoc -rs/,`lg=33pA+I_$iT;OioK1\j6#S#rU'UdrqcKZrs.uWjPSkTl0nEI"ngs6hrOXlru1k/mcrut -jlGOckj.Quk2kISf$i1'hrESQjSe3Hj6>dln+HJQrVl?fo`"L`p\+V,rTN7tgt^fJme-GKnb2bQ -p%\+Np%mq1f\#!?kk"g%p#kN%oD/4QmHWs%pA=[XlK8!@q='mXme)/2JcD8?)?'I'kN1[[h;@&Ae^W'ue`,]SjkebJiqE9Bs8W&krt5(h -h:pc6dad+4nGiOelfI0lnG`Ofq#::rlfRHrj3uN*`kAq"cL0lVk3MBtj4N2Cg"P<6_4m9`SXYt? -[)^SMlM:DTq;9oVc,RQ1\$rfU^sC]mi6&aHb1>2#jlu:2q!6qoe\Sc&ZF%0Z`l#d>g["k=GM_!$ -c,dlA_p[)hgXa9CQ]dN"VROC[_Umf0j6-4:kL-Z.U8XlZSXl".R\-7P\@K&PX/rV;^9G,\ZC[;L -W5-*Y^;Ik!ZG!o__o]d3d,X0Bcc!N)Wi)\dR$3`*VP($!ZD3_MQ_C^sZ`0ajNIc"fK9MLZNdIV9 -_Q^>geB,(uU6q+,QCFDBVO*XK\%^_os8VlfkM"4kXKSk%P)4R.E,]oAEc,o@H@1-oLPCPFO*tqd -GB\q5SWJYbKmS,kG(,UPX.to5G]n@RDf^GoTpUdoMMln;O-5WeQ^jM6Q]R8rU8=QPLP(SGKnkqb -W2OL#NKBa<_8!.R\[nr9TUqO>UTLi"VPgDjTqS9YTUqsVT9YM%R@g1JXLZC)gsj-PGl=5^q-bNWiN(^PF\SANg-K?VkTQDR\$*s`R!9!lg!H] -dD<6#]YDYBh9sTl\uhZgPEM#bLl[jqWP?HaWMHW%St`0e^XM6'e]c=c`jN%XZadBF\B)XrTU1t7 -Unso^VPg/ZU9__`db!@1bdt'aZ`^:'US=?HQAp]]U:%eS^sC6A]XGAmgXOWra1]%!a2>f=`Q,s7 -_8F4)ZEL[DZa-mE]=knqbegp$]XkDW_Tp9>\[JcFX0T%=]=YJUZ+.B]dGjN]l/^skmcW?Sd`p+[ -]YDhAaLo@4dF6UtgXXZrcH!Z4`lcrol07BkhrNtajknnOjQ,LdjQZ+#kh=_Jkj7?_f&ZDm5i^__ -lfd6fki1:Eg#22[j5AhNgt^?5jQPjlkN:FDbfnA]f@]6Ij5oXuq>9aRnEf>of$MRfg>V/Yl/h*n -n*L#a2uNKbfIE#W2ckpT:DRNXKAV*X2)EVXfS_2YH"Fn -USFQWW26=kX0/CgPaIf-Xhi6)aMY-RR[g:[Wh>B.LkgY;PG"D7Ne3D"`P]g:_7mRlZE^[H^:1>I -Sr9)>[CF9%c-Y5'gsOR/mcWKfi8*GWh9!XbiV -g&DBUqXNk7m-aH6nG_tXn-&4Ln*oiGmg/FSo'u8Ao'l)Cn-8@Lmd9E0mf)Y\nF?)?naZ2?nbqqZ -naQ)>rppWjnaQ)_n*olrpp*Zrp]sVrp]pW#k.3Ln*oi7m-jrA,k(6n -oCMVHoC22:nFQ/;mI'H3md'<2naGo5mI'B/m-X3.n+-JJrU9gWrpTmW!q5OErpU!ZoCW%T)"dFj -naPu5mI'E2n*]W4nF5una,c7rUD?+n+$#Bo^_PCoCMPD -oC_eJnac5=md9E0n*KE.n*of5lgOB7naQ#;o(heNnGr1Ynm(_SmdTi>o'Yr5mdK`o_/%Sp\4@OnF#`8 -n*fc;o^hPAnF?/BnacJLo^_YMr;?NjqY'LMnalDIp\+7Pq"jpgs8)BWrpD<(n+?AMp[e(Qo^(o2 -md99,oC2#/oD/:Sp@\%Mqtp*\oC2/5m-a?dNSbl7hFp%S:\qYpQpq#:Bmrq$-irUp0krr)fq!<)Qi!rM`hkl1baqtpBk -rtYM/rVuoonFcSNp@nRdr:Kgbs8Dlqrqclqq>0p\p&4murVuojp&"denalSQqYq<)oC2AIr:p'_ -o'Z)?nFQPWs8Moiqu6U#rVuorr;$-`qu?]p#64Vqq"O[_qYpfurVccpqYL3_rr`/npA+Xd!<2or -!W;fDrrE&tq>gKfrrE%Ls+13$s+13$s+13$s5j7\rdk*#s+13$s7ZHprqcNkjSoJ^r;QKdp\OmG -rs&)gp[n%Kr;Q]rrr)itqu$jmeHeYqtpBtrUfj[r;HTmrri#c -nb)nYrs&;jnF#`?rr2p.qWHYnlL=H>p%7hMr;H?`rr57[m,7!nmd9HAo'>W*jm2R5o'l):o_A@Q -p%\.Ekj.U+nF?8Os8Dcirr)lrmca<@qtfsUo^q\Nqt9@?lLXfFrr4PElKRO+s8Vugo^hVCk2>In -m,m@"s8V?@lh'iCo'#)pmJ-_JnaGPume68Jqu88Cm,dI,s8;HZlK[Qqm.']>n+-#:n+65?j6QF+ -kj%X&q#CBgn+HVVqY0LHq#::/r:B=Cn*]Z5o)8Ugqt^9lnaQ#4l0S$@r(-JClM1DZnEo -m.:8WqWd83qu?]ioDJXfqY^-]qZ$TomI'K:o_&(\rqcKhr:p!Zp\=LQmdU&Lo(Dt\p?h)+mIU;T -s"jWRp$q_Ho_eaao()VSq"!q?o`"aTk48QMqY'IMp%.\@nb`@Yi8aJ.s8Mcdqu6Ebp&"Xd"ShZf -s8N#t/,oSKq"OCCmHs9)l1+TGm.C2HlgFWLq>:![o_\[gq=sjeqgBlLFK8q#:-\naQ2Kru1Oqn+Z\Qp%7qKo_&7arq5jU -q"O=HnFlG?o)A[hr"o"jlLb,Uqt9LKn*p5Lp\O[VmHs?2p&+[d*rbp'mI0]Cp[I_IoBPW2q>:$a -qY^BmrqlEYnauDLrr4JIq""7Zs8W)rr;6-[q=jjfs8;T_qZ$Tpp[e1[rUTFPrr;rss8M`_pA4[d -(B++'r;ZfrqY9scqtTmZq>:*is8Dlorr2usrVm*"q"F:Rr;?Qo$N'Yrrr2lnr;HNjrr3-#r;-?j -rVuos'DMA#qtTmZq#:-cq>C3iqZ$TprVlg1rq5jTrr;ofmIg&Bp\amXlLON>rr3T.o_%P6nbi=Z -nb2hVo^VSIq#::Hr:opUo_\@MlKms,lg4 -g]&#PgV9hSJU)QhIX?EhI!U'`G^"=RFoHIgFa/+RG'J4RF89q_GBS.PF`qs-G6iG=H?sj^GBS0. -FTZf0G'Eq1%X3)=G'.kHEccJKG'8"MrcA'`s*+Hcs*+Eas*"NiG^012piud]q/u^\qKMm]"aYH> -G^"B2G5c^kG'A4YH[9s^rHAQpH?jaZG^4RZH2W%H?jjcIsuclI!pEj -I!pKoI=$HmI!^0cH[L*aH@1-gH?a^]H[9s^H@,I5q0E$gr-SHi"ab]KJU`(HHVo3@JUr?#I=6Hg -H@(!`GC+agJV&Z@SsPLmJq/E'Jq/`AQ'Ic3WgT!+KnbD>L5V=YL5Cb@L4t2.J:W9$I!U-eI=Hcu -Jq&5sIY3B0KRJ5prH\Eh?[[EQJqo)2Jq\u8KnFl(KmnT-M4(KPVk933L5(D9LPU_=KSYA7L4b&, -J:N-!K8>A;JqSi/ItE?.NKfWdN/ERWQ&po]Mhm%:It*$$I!BgZIY!#uJ:W<*K7JE"J,XutIk?2* -KnY>@N/NXYPEM,jMMmOUMi*R]R[TY-N/*"6I=-ElIsuirJV/]8MN!RXrf]I(O-H-/Wi`CuR?EVn -P)kN_Q'@8fR@]t1NJ`C@K7SDuIXcs(NK]^#R\6OQU77."Mi!(:Ko:hDKnP8ArK%qWOd_c(PFSV^ -]<%B[OdN2MVP:&pVj3-rM2;.dE/9@/N/ERWQBR>dLPCSCO-69C\[A`N[B6KuP*VGsN/sBlX1#:O -caK4$LkpnJQ_Cgr\?`'*S=H=SX.boLTr"HSVR=(I]>M=u^q7+f\?i6?['[-E[^s/f^r+UXgs*pi -gY(<9f#YV<\\>hqa3O\;#2A"okO.O(rVnbNnCl=1^;%e?hYm$+io][ljQl'okNMC,qu?W_k2YFZ -io&YFeC2t$hWt.;l0%a1jS8$(o)AY7q!@>2k2bLYhW*heqZ$TllJCFTh:gK.cI'q]e(j!FiT97n -rV$7$p#4c_g"G-9hr3MNiog45rrE#_rrMigkl1hZkN(jpqt9sjqtg$cl4E1AinrS?f%T'CkNM.) -s8W&ors8M^g=Fj7jm)^@rseo+rpJe"f\4s/g#(ukrVq?CkjnTXs8)$?hra>& -r:9:Hr:TdVoC),7mJ$/9kN:skl07?ihr!GTkiCd\f@\d*bJ1p5`l6$Ef&,g>:u[qu6Zmrr3]'jPf(Zq#CBlmd9Q>rVc0Fio]q4 -r;Qinp&3kL#6"#TkNM7)pAY0irIP!"s+13$s+13$s-/o)Ja_rS@JUqtB^ZnG`Ucme-O0 -s+13$s-EZhr:07EmdBrNrr`&ap%meM"9%ZYq#9LYn+u&D!;c]p$K^O;jkebJjT#8YrVmQ(o)8OT -q#Bp@`kT=-_7[Y3g>M8mrtbCli7c`1f@8:&iqrlrU7e9YR$sP8SYWHtZ*C:"TsD>FW2#ZEUnaUDT:i$\Xg#@R\[/KEYGqQ!HDdaAVPL2t^VnCCaL\LOVm3bK -aN20+YdgL!SX,V;WN)r"[CEWIXJrM8Z_O%i^:h=q\$NBBVP'Wb[&TReZF[`\Z)t7:[DU2;gu.,G -f[\$X`QZNMeC)Ud`O2kEP*D5rPEqlC[B[Hb]s4lS_Q^>Q[_^AIhTj9d7*`ib\A5Yg]=Gi,d(uHI -Su&WsZa$L2WM,ua\]EF^iRl5c]Y27sZE1.1YcjjjOH5j.ZF%EjaMPg/_p[;mf?_7=[(lUYJ&fXO -a2lWSbJ:a'^:UeY[Cs2^^Wk$A_8hrjFjjlGLYg!nI!eCN7/hV[8QlL+'%k2kX[f?hdadF[13jlbdk -p%\=GjQ#7UhVnIo#3"Iri8j(hrpjR[jlGFWf\"g3g""X(f@A=+gY:NBjlYUWf@Sp>g!@dfd*^M' -hq6<&ai;KF_Rd1h\\-&7e]u=df@A*a`5KX>bfe/L`Pf[4]X"Z@XfJ@sYIM0QZa7-W_S<[m^V[go -ZaI2GYcY1?Z*:[M[\]I`Vl[GQf%&6s`4E4X[^`ZESXc1 -g]&#Je$Yj$CgC.E=]ej3>?Y04=BJX*?b96=T);->?Y03='/U.=BYT+.9TbV=]np5?!LT=?=72L??!LW=>$5!5 ->[(B8=]ed/>$>'0[(H<>?b96=]kZ-s'#D)s&f8'r`TS1=BJ^0>$+g.r`CFK ->$P??q/5'jOsH -=]ed-=BSd1>$5!3>?b?;>?b;0>8:FM?XR>Q@U[(E;?!:E9?!^f@=^,-:>[(B:?27_#>QA+.>mFV@?t3b[A7>IF#@_4UAn>I]@fBd8 -@7=O/@Uj%`BlA?sR&E?#"S2Its8WJp;6LChmg#DKp5=DfBN/BOP=W@preN>[(N?@:3SU -ARf1[BPVBt?sd5Gr`fD-8mc+>BlJ$,Ci=?6DJc+ra^Li@UNMPCN+0+D/='+CM.6h?s[5J?t!PV -C27U%E,fi8GB@qJDej*+DJa63H%1BsIsZ9TBkCmcAn5I`ASGprD/=39H[^KoGBnXlP+&):O+_h( -H?j[SGC4a\G(GL'E,B?%B520oC2@a)Ed)tbN/EUXMMH\#D/X3$A8#fYD16GHH@L?fG]@t\L4Y/B -S#E?QJ9-!eQC=/(Q^j+`D/=$*DJjE5EccDCF*N%ZJ:E#qIXm*-R&@'cV5^DdR>-0CKme;sM2.\& -VRjdJL3[cWEd3;%XKf18U6h"'QCsk8MiEpeP`_E7ZEU[I\%B5ZZaI-BVQ6o)Y-,(<[fQOna,uJs#'K3dE0/2\A6;;rUT%/k3hHplKIEnkO.p;s8DKL -i8!&>f[S6jb0A>bkPb8?k4S<+q<[G>rr48>kMY4Og"+['gu@Pms8VrYg"+a(dEBPG`PTO8f%o9A -k3)=6pAYWqg!nHtdF6_%hqm8LkPFrQ!<)3_s7PUU"ngs9jQcO5rtbD&o&A]iio&YHfZqmpg>:cH -j7rZSrVHO"qVT]Cd-:&lr;HX)qZ$NZhU^92f@Sa4k5G8Y*W5qD^;7Y$_TL<[fA#EIg!eQtbfe/N -`l6$Jj7rE1gtU`5cI(7k`l??XiSiMCgtC&m_841>f[nQm]XPPg]uJLYiS`J@dam.$eC`I/gY(<9 -jm(pflJpUHdEg.gf\YT^p^d>ulK7*^hV[5Ff@Ja:lgjrQ!<)os'_gtWk3)O>s8(p@meHbZnDrTl -p&4gg!r;QhiVs,\lK7-hkk4ZL!W2kIs+13$s+13$s+138rs8JmmI']Js7lTLrr`,jp%n1X"8hcd -rdk*#s+139rrDopmf2bVqu6Ttq=41Vjo5G]n+-8QjoOoHir9#Urr3>bj5SqIf%As]s8Dor'DD(s -rUBX_o@q'g\@oM`^X(ZomJ?huq<6nrgXk98g#(uds8Us(dG*aDl1t;Vrt"qnkhF_>daQb"gWRmo -ir&cT>jge6gXt*+hV[AVimPQCX0B1QbL"hnk3r!4oDejhgqpD+]!elK]s4Tl\TV]'5c0P<-J*Yk.\$EW\Z)!nDI!9aYH$Xd\H@'seKSYD; -OH>!9FaJIqTr+*2M2I%;IXQg2UT1/VL4"2gF)cG_S>Dd@OHc)fMiNj[R%g[_X.trIW3`e"QAUTg -R?*?#X15[;P`hN=]"G;P\@f/FUnOH[Z*LL$S=l^VWO':FYH4h)UApj*TVA9VTr562`m2uQ\Z;Eq -WNa%UaiM?/]:bFOLPD"_TVABj[B6:!RA-d\RZjJR['d3?Wi;hcQC+GIT8o/5Z*^d8VlQu+^s(Ei -kih$]e\eu6aN2ZVcGmo>YGe"MN/NLHL6%e#XhMcdXfAP1T:]SgX1csBkgdr'dE&o-]sP5TZFn?% -\>QCOS>SsPt=R[^=ib1GJ)d_WE!Zb!E>U7n?YU6LLeKp/=:ZbOZ'^:^tgbh:\%d_`B"^;@_% -_Sa7-`QlfN]X5&PZ)ah*[^LCe]?/(,]tV(_[(a]'_Rd(VX0&qB\\#Sd['dEZaO]A9mdKB)n*T>s -f?_RY_7RP-cc3iCd+$Ome^rO,f$hj^`Q?cd'_ZeCMdT\]WO`jOho7nG`FgqtbmDT)X<~> -fDc0RmH<^$o'c&:nG_k_mdKT4md9H3nFZ_N"8)3Tn+lG]mI'E2n*]W2mdKZ7nc&"ZmdKWCnGhtW -n.bE^nF,f6nF5l5mdTi>naGo5mI'E@n,;Yon*]W2mI'E2o'u5n*]W2q=,*dnF?#:nFH5DoC228mI'H6naQMGs6p$YrUL`onFQ2>nal>AnFQ8D -o^hYDnFH/?naQ8@#P%BVna>c0m.p2OnG_tXn-JLToC;>>nac;No)J7Zn,VqVnGVk^md9E0nF5l4 -rU(NknF?)Bp@e.Kn*fc9nF,i9nF,c1mdTc8rpBpYn*]W2rpKdTs6opS"75@?mf)\RmL8RRnac>E -oCMPDnaZ#FmKDqDm-sNCnc/+Yn,Ml7naGu8nFH/? -o'u8@oCMM@o'l)7mI'K6mHso@s6TgQrp^-[mdBW:q=!tGrpp*X%J95^mdKT6mdTZ7n+-)Lmi(]c -nF5c.m-O!"n,34bp$M27lL4K=r;ZHYpAY(Zrpf@Gp%.VCr:]XPo'Gf8o'c#8n*TK-m-O--n*fc8 -mI'Q?qtg0Xmd9H0mI'K4o_.kDmHN`unFcJHn*TQ;lKR[)rr30!p@.J;mf)]6pA4IRo_%hHo'l5A -oCD>:lg3p'nFH&6m-X<=s8)o(2SNq=UQrrVZTjrsJ;]nGE7cr;-?kqt^7*o^;>Fp%S=_s7l6Um-jZEq>1'hqu6csr;-0eo)\U`rVllo -rVm/om.U2Mr:p-fr;Qioo_/1^"8qZVmJd,1r:^$fs82?KkNCpdkOSKFlepdip\FOMm-scJrT35- -m-aKCq>YX4iSj,"s8DZbm-NrsjQQ(+o(2>:n+?;@j6ZR3mdK]5q>^KlmIUAXr:ojPo_\Ucqt9CA -k2tsrme-GLoCM_Oo^:u)kjeTNrr;WOl2L__n*fK.s8VfWlhCGZrTE,"p&"deqYgHoqY'FJq>^6V -iSiqbnb)h[:]1"\q#10gp?q/-mHrlsq#:0_mHF9aMn*fcAr;Q^(n)`p5r;6<_oCVeRrr3B%o'uAEmH*X,o]Y]@rtkY,m-=->rVZH\mdB]H -rV63^o'l2?pAOph7K!2cq=sdYn+6)=o_J7MlL=QIs8Dfgp\t3mr:fp[p[\.[s8;`foCV_Nqt^!V -mdTrJqu-NnqY'X[s8VohpA=jcnaZJQrr`/mp@nIa!ri#mrVm6(r;Q`rr;$6frVcQl&GuG+s8Mup -qY9p_q"t*krVlfr%0$/$qYL-gs8W)sr;?Hl"TJ#dp\=^\"9/2oqYpKtrr;unq>L=+p$hSMs8;HV -naQ2Is8Vldqtp?js$Q_an`T?8qXs@XrV?$SoChhUrr)`go'l/Cp$V/4m-X3*q#CBhn*p#Grr;lm -rr)ccp&"XYme-PMo(rCcmc**ln+QVX.er`3p%%Y=m-X*#jmDmDqss(Aq#1'Zq"O4Dp@mtCo_%bH -p[me;nEK01rVmZ4mG[I4s7u$FlM1DZq=!PBs8W&`iU$RD"9.ocrdk*As*t~> -gA_o[grZ^aK7//uH?spbH?sg[G^"=RFT-C_H2`!iH$FLSpiZU[s*+Kd"a,!4G^+N5GQN#2G5ZXb -G5lb#G^"@TF`_bKF)l>EG^+CRF)l;BF8^=]FrY^LG'.qNG'A:ZH$FOWG^+CTGB\:WH$X^[GB\60 -FoQUoF`_bLG^4U\H$FOVG'3V+&pS\JH$FU]I=6KgGBS.RG^Fa^rHS?f!.+Tj$[R)BF`_bMH$FO\ -I/\O!I!^0dH[:!`olp[eH[0dVF*./%rd+Ti#^CcFH?jd^H[Pg>s*FZi!-nKgrH\]oG^+L\H[0i6 -Go1jSI!pHnIslWfG^4U\G^+O[G]n1QH$X`7G6E29GB\60GQ)pgH2VslG'.tQH$OZ5FUWG;G^4X_ -H?sj^G^+E1G6E)3Fa892HN/7NGBnFZH[L-dI=QiqH[gNoI"$NmIXurnI!g?jIXQWlIXm$%J:;oq -IsuirJ:N)rIslZiH@('hH@#R;s*=Zjrd+cnG^+R`q0DUZrd4ouJ:`E(Isq(Ss>=nLk^Y>NK8sOLPCJ7JcC6" -J387/K8"u1Jqeu2J:WB1Q(=A)OG\gNN/NRQOcG9OJ:N6*J:;loJ:DuoItE?+JU`,uJUi9&KS4u1 -KnkN`MH#P"PEM/lMi*OPM2-qJPELu`MM["9I=6TmI!^3fItEPaS&6VQdM6Un+'G -P`qK)U7[[3RA$C?P)Y3MLkgS8L5CbBMNF$gOI)I9PYI'gJq8>uK8GJ>LPq4UQ'e&-Q'e8XT\@99!f%8X9hW!MNgYCN7cdULuf@\j7h#?1Ekl:\H -jRrQMqu?BNhq?W9h;RSpnc&jnoB5)kk3i*/rri2loD/@?rs8Jnn*]T0lgOc=rrN#mrqrDg!<)9f@o*BlM1>Ck2P4Me'H7hg>:fMk2td]kOSE9g!epDo((u, -mc`d-l/:.g" -TW"riTqS6WTUqXBU9;,G]t^nMWl!!#YH4Lt\@AN6[`I"I\tY[f[_Tu)_o'F1WhlGeZb*TAR@0S? -XglI&ahkZuZ)b"4ZEUF.Uo(9%\&->5`4E:[_T:!F_RHVFYFhAXQBn8EVkpB%[stKYZFRlp_QBE) -Z+%?W\$E-3R@g7Z]!%d%ZbaW#^U^h^\%p/8f\>09gt0QZ`QucI^qn"0\ui-7Q'.>qPEh]@]=Z&' -^q%%k_l9T2W3jRog`_ZG4c?gtUQ-`4`k" -^:(2=Ssu+3Pb+t]YH"M(^;n=2aMkWq]""oM\[JZ@WM5cHSsu=W_8ssHa1Sq)ioJY,\?rumah>*f -`m`SjaMZ?es8V<>hWFK^s.KCB~> -gA_oYf"[l/BjFqJ=]np3=]nj.=BAR)'=BAL$q,@c$<)cjt<)cdq*$X-\;=]eg2>[(B< -?N+::?5q_2=C#08=]np4>lIt->5hY)=T2J%=pJ/2='/X0 -=B>B&(g1$H>[CcE?!:?4=^"s1=B\j0<`W@->[%,0"C#&4=]kZ+r`oJ-rE9D-='/X1>?^u-$s?b< ->[C`B?!LW=>?Li,"B\`,>?h&2s'%Kg?!UcD?XR8NAS,C[A7oF]@q/tXAn,.U@:E\U@U`bUAS5Xe -@q&qY@q0%\ARf.X?s[,E?=72I?2e11>l\./>m+A8>$YM2>P);%?jL4PB4kdc@UisJA,g(hAS,C\ -@:E_U@:!AUD/OBCOI:rPEGK,m?ta(lII!TjMB4u@"C2nQYSXkdsJ9Z-TE,]iBHZjFNF)c/; -D/F0.2Jd,DChma$E,]]2D/XTKLkL"pD/=36F)uMNG]Rb:B4kskB4bmsE,96+DJsB,BPD*f?=72P -ral7IDK'UpD?4[!rcEU.Chdj)CMI^.H?jg]I!KdLBkD!g@UinYBPV@"D/ju]OH#!AJ;&i@Q_^RO -O,/UHIXQg&N/<%2KT(h9GB7V>EcZ5AG'A1TG^Y.#KSYM:IslESD/Rbkka]H!Vl?eqOdcf -rU'Ucq"!qSs7u`o_>ao>rVcEMiT'%]jQ5h+rsJW&p$V85lK@?upA4e2rT`SCs75IMp&G'hq>^B\ -ki_*mmIpDImblp\j5T5"r;QfnrUKmlr:TUKmdpAJrrN)oJcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -R/[KhhqHiDhV-oVo_&4grqZ9fq=XO\rrVBGqXsjgrVlQsp$_)-hrV0*p%%\PqYgHojk%`" -eDTEIjR)[7q>Y?jf@em/dF."'ai2*0_9:?\h;d\dq>K^GkMk=Kd*LG&io]OllKR9np%n49g$%o" -p?h28lfS!*hU9Tlf%o'T;fBBcGmWMCLP(24N/rpRP*CcMH@C=+VQ?5AL5qCPM27+VU8b&`Q&1!9 -GBne(St_^?Q'du)PED#sVR=+J]<@g$]#DC\Un"*_ZD3tn^s1*1SWoPG\A>qo^VdmgUnFKf\?Viu -R[p7U[Dp\:^q-nVs/>t"s/UXGUSP$#\])k@a18IV^;S.8`4WO`Z_!SNMi![iTV&-gZ_jIrXgZ!T -VjX*UYHb=3WM>uIR@U=^VjEgM\\5_e[C!$[^1YfGMXe^2ancGRN>aN)7!_0Er3Y*+g+PFJ/8S!B_KUnFa#b1bh,`3chV['d$4 -TV%pPTpUmsL5q[sWOT^T\%9/_a3rc"e@r,o^r+%,_8OC;d+I%#`jrF\Y,%\cZa?g>_ofg0^UphZ -]?&%3]sb/LZGO>g^VIOp]Y)81g>V5_o&f<,lKRP\hp9BX]"Z5/bJq]OfA,'1f@Sg9i7HB%cHXVc -j6#Uik2>+Ph;$c;eC<@ -f)GmHmHX$)r:'aT"7GXGn,DbTnHSUUnac;Cnc&"UnGi"_m-X92nF,cDm/QGWmd9E.mI'KCnc84X -n.b?Zmd9K3nF,f6o(;PDn*TK.mdKW8mK<(OnaQMGs6C'ZmdKZ8o(;SGo'u5Kmfr4Hlg4'/o)A1Z -nG_nUnGi%Xnc8.XnIP*Xo(;YJnEoT0n*ol;nF6DFs6pcno()>?nal;?nFH2?n+-&>naQ&u8n*ooo(2SJ -o^MA=oD\4so'u8=naGl2m-X<5n*oi8md9H2mdK]6n*U,D7.0R3n*TT2nF#i8naH&B -mI'N6nEoZ3n*TK,m-O64mdKZ9p%._?mHa&ukk4uUp[IJ8lK7F*nG2kFl1Y,V'Dh7do(DVCme$#: -p$h/0md]c6mf)\Tm/HDPmf2Y\lg408q"F@JmI'u@+7AUep%\.Gl0@U.q>C-^n*oi6jQ>gtrr<#l -na5]/mf)Yjq>^<^n+#r;mdKT5nF#Z/kN:sonFH)JlNZnVs7bmNmJcBjkNVF2p[de9kN_I(o(MnV -q=nauSJo'Pc/mHWg!o(VeEm-jT8mdBQ3nFH2G -oBu8Ls8)^Km!;l`p!<)iq&GG\^lL+<>q=aIIm.LDWr;6Kn#QFG`lL=]MrV?J;rq>@5nGN7[p%S.R -oBbW%me-JPoC)8Gp@%/3p$h83lg"-Bs7#(6qZ$<^nEoN.o(W1]o^(]"l0dj'n*fZ2m-='*kNMC1 -s8Viko&T*9s8;Q_nFZb\r9ikEs8VrWh;.Ddp\js^q#C$XkiM=.o'#?!i8sD$rVnMEp@\+Sr;HK_ -lK@C76q=rqu6Hls76Tkq"FIWq"sj]q>UBn')hRro_JLcr:faOq#C9bnFZAKrVm`5rr)co -s8Drss7u6Xq"XUXs8DZ]oD&1VrVIE,p\"1VqY9aToC_hDp](9emHsH7q>U -g&D9BhT;sfLOT,I"aYE;G^"?1FoQUhG^"=TG^+E2FT$@^Fp<&2GBe@VFoHL_FU!#3F`__JGQ)jf -Gl2aeG'.s,F:NG8F*)VOG]n1LEH-&AGOfnZI!^0brHS?a$[$Z3hXg+L`Mhd.KMi*=PNfKHj -Mi*1>J:E(JJH(&sIf+[$IY3H6M1pG.IK"U7H[L6nL4t84LPhFeS!]:oLkph:K8c"hZa--iP)]Eu -$B1:?Q&CHRLP:A3rdb#ts+MPHK8,8?LP1>8Ngc]3NK/dIL51P?NL?)oM1U;1K7edSJcC1>KoD%K -Jq8K)JV&H+Ll.%FKnt\JN/Wg]Q'.8mOc53YMi*:FMiNgSMN3gYKn"Z,I=-EjIXm$&L4tPUYI:X1 -Q^XG5RA.()_R$;EVk'K_Xg,"&T;JWcQ^!UnOEVU8"Qk^;\41`kSdhd+6=S^p^er -bIb.!eDT&rW1]ll]>i(:_nsEqW2-B#^q6bMU7S0d_9gudahPErs0[?d\[J`EX0/h?`6Hc]cH!i> -eC`L&_6U#9WLff[SXl^_X/WGC^TO]P`mE8]\#-(.]u7h"Y,J+fV5LT3\ZW-H^;@n1`PK0p`6Qrf -g=b?Agr[1FbfRN%[CsGbWN`XuR@Kn=Pa8>abg4GK]tqV'W1o`NWOpC'c-Fbgd`]gPcdU:fc,dZ+ -WhQ8cW3*>1Y-l3j^Tk,ZakYn,^Tb&T\[]/[\[JiIW2QDZR@BbBWk?*W]#Mk2aj&Jnd(Qj!`Q-*B -a2ufci7Zf7bJ:Zt[]ZF*]YLn]^rjU1^V%+g^s(*LahYR&^r=('`5fs?I`fRKbgP2$k3CgbjPA\S -grm[K\AckCc-4PdhVd8Eg"Fm/gt'j"d*9\\gu.8TiS)f,aN;]QbfSJqmdBB(jl+tLi8`bMh;\+u -k25._q"=[cp#tJpgtCZGjm)3sj59"erVuorqY9aHinrYMhVI/Mj6#Ukl/ps^hqd&?s487@f\"g1 -jQc10s8Vr`jP\nRio9"ZjlGL^j6#Y"rq\k=j5JnMf[\O+f@AI*gtLE5da$7mhr3JHeC*"'e]c.[ -d+7.?q!R5#f?ha]_SaC@bfeGcf$i.3jkSD8f$hqCd/VB/bfeJ^b/M0.]"+rQ_o06s\@T/`_ns7. -`l7qtCW3rq]#2S,`ll<,VPCK._pI,qiSVu%_o9X3\?i30RZrr"U9V/6Z)jq+[Cj<"b.4jm^U1P_ -[B$.#T9kn8R$abT[_]eo[Bmp3j42#LWOTdUXf8)&_9'm:]ufC7qVBKFgu\M7rU/b.nq$h=s*t~> -g&D<@e[h6!C0t-A=p8&2='/O*r`9#""]eW(='&E$;uK\q<$4s/rDrqr$WC&+='/U/>$4s/$>'3rE0)&%pE1A>$5!4=]ed0>?Y08?2\%+?2n10 ->6%k+=oV\*>Q7h1=BS^);,C*b[(B7=BAZ(=T;M(>5hb+>5MJ%>5qe5=&r@(=^"p.=BPQ* -*a2cP?!^iB=]\[,=]eg1>Zt3.='8a4>$5$5?!LT;r`KA->[1K;rE9G1=]SR*>$G50=9Mc1>[1V3 -?2[q5=]\X(>?b??t*JN?sd5G?=-rC?!LT<>[ID7r*02-rEoS49O;(5?smDO@U`k[An>I^A7T1Y?t!MU -B4GC\AS5UdA8,q%F+04CUl0SAEc#?"Df0lKGC,=@TT"GEE-$,ADJs]>Fa\UYEb]2s@q5LKs'bn9 -s'lFIAn>IcD/X6)@q&gD?6*BZASZ$rD00uSL5:D*E,BH2Bl8*COIr,&Kn"AjrcA9eK8G5,rc^nU -F)l8@Ec>l5Chda)FEDPCEH6>[NeVb$DJa93EHQS^K6qWTC2%I"Ci+-3F)Poq\eg<7@K^qRLt -`5C!TfAc)L^9+*!TWQ/ajQPgdg=F^$d*9VL`QQZYbfeMlk2tt-rr3B)qYKmQjllC4p%A1LrrE%L -s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13@rrDo]rs/5[jnf#Wrr)Ef%K6(ts7#+/hq[,O -l1"NCrri/_jm;jCrr`9#s7$!e"8M6_rqQLMqWd/(q#BdYrT`7je^s!Wo&JTcjQ,";_nERg]Z/:H -f@SU+jT"B#gtUN3begs&_pmN#kkb="p#*m1bgk4e`PK$hXe_GRSYE$UR[0A7T:2(9S%bMO'j1UnaQQS!fk;S"Zsq_oT[6]WSZddD`c2ZF.`p\[&rph:B<: -SXcmk_8jO1_T&gZUSY?2\?)bZUnFZn_9U`aahYKt[C!?M[BZg6XgGa\db*7&bJhYOI`2DUp7_JWMQr7aO/2>USFs#]",&BT:VICTrYT-Vl-`-]>)2"^q-qjc._+9jlkpdaLAk) -aLna^[_/c9VkfE6OcbWXMk7AucH3o7^:UqDPDta"]$K'Wd<*sne]l:_d*9eV_RZ_?Q'@T&SY;gN -VmsOMWi`kOfA4faW2d#&WiN+uW2-&TT:2"-P*MK/ZF-pB^;.J#c.Lk!]X,2e`Q-$:`mEAphV[&3 -^U:5GUR@^Z\?2mD_S!Ij\@&fYaNDZD]X>5^aMPa1`P]S6aMl?Nf\YZQm,7*lk3MR$e&f20_9Ls*t~> -fDc6Wo^1o/m-jE4nF?#ImgedSmdBQ5nFH,=nac5=mJcSSnG_qjm-X92nF,c2m-X3.mHs9,mI'KC -nceRQnaQ&:rU(6cnF5o7n+-/Do'bu4mI'K2o'ZPK!V,[YmgejPlKmp,nF?)Ao^hYDnG_k\md09+ -mdTfHn,MnVnJ:N[mdKZ7naZ&9nF,f5nFQAGnEoT1nGMhVnGhqXmdL,Ds6g9bnaGu:o'l,=nc%tX -nF?JJrUC*]mHs?1n*p>Hs7-<^m-'boC;GBo'c)8m-O61na>l5rpp*Zr:'^Urpg?^m-O00 -naGl6rp]mVs773%o'bu5mdT`9o(;M@lg4'/nF,i8nal>AnF,iDnGhtVmMGH`mHj6.n*]T1md9K3 -naZ2?o'u;@o'u\J"n1jElgXHCncSFNmHsoBJ*udln+65?lKdm+lgF<3o(2G;nF#i9oC;GAnaZ;C -o'Z#8o'c&7nF#c4md9?*lKms-mdKW3lg+!/m-aE5n*TQ2nF,i6md9E.mHs?0n*fc7nF,o:o()DC -m-X90mHj6.md'3&lKdm-m-O-.o^hS>oCD,)m/?t[nEoN0mi1Z`p@n=Okj8'@qsj4Em-a?3n`]B+ -n+Z>2j6?R1s6KdRmf)PLlj;qCnFcJEmdKT3rpBaS2"C50nET6)oDejgp[IS;kiLsjkNM=)p@n7M -mIU)Gmca$0p@%D6lg4'-mHEg#rp"OlnF#Q*m-jB3oCDJ>kND-miTp+1p?h,1n`oE*lg4!*mIKZ0 -o)&@Xmd0N9m,R0rrr)HTmd'$'s7c<\mI9f=l/q@"m-Xkm^Vq#10e -q#:9ms82HYpA=miqXjOZqXa7Lp$_22lg4$0mbus]n+H/:lf[9ekjJHMqXNh:nbDVCo(;VElK.'f -lLXlNq=X4NoBc)Ks75aPm-juSrU9.Js8RB;k2PFYioon"kNMI,n)iZop&"[amGd=#qY^8n+-#FqZ$TpqtTpbs8Vl_jlGOhjmMp7n+QPKn,!(amdU)Hr;Zfhk2u+'p\*k.hWj\& -md^&GmHk4AK=n+Q\Pjl#e1s!IX5n+?MUp$V#) -lhCGZnacPVs8)QgoCDbXs7G[Eme$2BmdT`5pAY*lnHo!es8W#ajQZ4+r;RZ0nF-/Jq"XCCkN`*I -p%A@ao^_MLs8)9Xr;Q^4rUfaYs8VrnrVQ^Hn('"70p@RnLp@.eUs7c*Jl2(GZq=j^`ruCt5qXsddrr)fqrV69eq"ORZp\am\pA"FSmIU;T -rt#,*p%8%Tp\"@\s8Mcbp&+af%0$5%p$q_Jp\OjfrVH9g./j&@r;6?hqY'UVq"FLVq"ORZr;HWp -rqc6WpAOshs8W)qq"OO^rVc]k!W2lmrs\Pmp\4R]qtg*[oCr1^rt>5$nF6/IqY9jWo(`7^p@J"Q -qu-O>rquTdq"a[\r;HNjr;$'_s8Vuho(N%^rVQQmrVZQhq#C9hrqSPMr:0ITq"F7GmcsB;q"Xa^ -pAF^Yp\+4Qq>^BpQjl>RtrVn&4k2GY!rVuolnG<.Wp\"+F -mdT`4o(__>lfR9rp\4+=nc&P!q -f`)ZNf>"/CIsHEiIXZZkH?sg[G'.qNrc\QiF`qtPFE7A&s)nG'%bGFEVkOH2Vsg -H$]F9rH]$#G'8(SG^4U]G^=[\FE2A@q03F!IsulqI=$KRhJUrH:S=Yt$L4tB] -JLQ5+MiX![OctrhOHPoqP)k`dN/EURNf&XOOcYH`Q^a;"KS>54J:W9're*4cLlnI@]sFT,T:MF? -W5-j)]sbGYYe&#q`4i^l^Up\FVPgAnXfSG!ZFmlWV43a2Nh*/CR[0'7Ld6`SQ^sb5S>E3bX0T1? -Z*:RB\\QDAi82r#]=,#IZF@TkdEKS;ZEUXE^rFIHg"P$-g=k-,dEg1ffA>KHkk4oPrs82\lKdZs -kNV@2rs/M\eBH(]f]E#1%K5qkp#tN$lL+66m-XFrs+13$s+13$s+13$s+13$s+13$s+13$s+13$ -s+13$s+gUTqYg0g%.rfCg==m7kMY:^p%eIa#5$s0f[f!SpA[/:g"bNGi7lu@f%8Kt`4`q'bf@H- -]YM:m]"PYUU7ImJUT18^P*ho=Tr"`jYd:mTbK.H+YHkgZ_#D)h]="c>VPp`2a3DfLa3`/RcemU* -bg"&CeCi$bdGO*A`NuYJY-P^Y_R[.e['?d>^Wt9QagS1Q_U.#ngVq:^9=WB\$`QO_T'C(]tM2"dFQaa -]?Sm\hqd2MkMj_!^Was=[&^UHXeMr(US4TcTok;,][bKQ^V.J"^9=?%S#3X4cH"5]gt0otc,%04 -b/UomXK&M0YHYCBZG"N4`jW=)]ti(FagS1KYH>@I]tV.fZ)t=7XfJ7fS"[@(\%Bi.`5TaEf$(tH -`Q,p:`P]dKj6#%Ie^;IQ]=bDEVn9mXZF.9P[C3QU]tqh9cca5B_o9R/^rXgHd*p4]aj/Jmi8WSQ -iS35Ohp0'G[)LMEe(*(+ioK(SgY:64h:^*p2PEk3DX9s8V3Aio&\Jf[nd+e(!"'f[nTubK\Mgrn1o4cd^OobfS,W -f])Jup$1JeccX8E`QQ`^gu$o>g>_D\hq?fCi7cc4e^W'rdEpY$eBc=Y`58so^;7Y#]t:MW]=u,$ -`l6'=_SX%"]u/4@bg+5;XfoCRajf2.k2FP%_8XC-\[b_IW1&p3Q`%@._7d1OU9(l?ccs)/^;@Lr -]<\B0Sskn4U7n6XW2[27]!o,fh;[&)XeW,0XIl&NUTD&Ka2#^Rp$1)IbLbS.inr>3ceRdDiSs"b -p4<7Hs*t~> -f`*#Qb,pYGAR8YH>[1K:=]nj.=&r@'=BJU(<)lt!;c3Nms&Att&lMY.<`W4!;GpFl<)Z^n;H6b" -r`TJ.=BSa.=8c/2;cH^p;H$V!=B8?t:f1+i;t$>'2='#<###nJt -;H-\!r`&ntr`0e4;c?XqH)s&oA(!EWD%=US>5>$+g,=B\m2>[.22 -!F&h-?2\">>?G!1>$>-8>$4s0<`2ai:\e&i>mjnA>$4m.>$G37=]bT,s'#>'r`];*#Zk&-=B\p3 -='>N+rEK;,*F2lO<`W:)=^#$8>?=d*=^,*6>$G6$G51>lS%-=pJA==]eg1>?^u.!a8f5 -q-l@qK>[(K??t!PT@UWh_CLq!eB4kX`AS#IfAmf.[AS1pS"_M=YBkV,XA1V>( -@q0%[@piYM>[(E[:ZB?!U]?>?bB>?=.(;@/jX8@fBj>@V'.`ra\$$ -ARf1W@:Nk]@:tXJ:)Q^EcQ5ACiXTCLP'hkB`;QB -@f^+OraPe8$YEs^C2Ig%AS#C^@f9\`?Y!hbCMe?MP*(ZSG]7P=DJjcOJ;BGSL4FVqG^4X`I#=/K -JpVfjI=$3`H$Xd]F`;8>H@:0gG^"@]Ng5NLG]RtNH[:*lLkC(tEc>o5Ci466FEDSFJVT&/E,T`6 -An5FcDfg8PH@:9lH?adcIWopXG&q_JFa%tMH%1=UR#[5h -NfTa>a2"s[XK/5%^ppq^Xff"6UmRUASY)^PS=QR_Z`9OZNeiFTT9bFlKRJ?"J;0,MP_=s^StMgV -X/D_dV5gi8b1Y\*b."LOVP^H%]Yqn.\"oXiV67>C_p[&ad*L+es3D&!cHt"lh;R>Up&4gg#k$j; -kMtR]kN`!F#QS`YGe4iV67DLc-=DPdEfn[ -hqZJub/(sBf?2%Wh<3V5ZDst*Y.;Bb]=YheZE::AajA>W] -iT01`inrSIjlPLR`ji7UY,%nlRZsA?WNEn[aKhq]ajo+p_Q^2Q^;\$uVk^?"ZEL[M_7I(a[plnb -cIL=_^!,!`jQPjpmGuO']?&13ZDXk2UmIdOQ'@Z-QA1!W[*d7A^qRV!\##LQOIrhsd`^(mhV6K( -c+q!-`k\mWUS"'sfrV>sLkihF#m-F!(lL"'2oCi%Zs8VBLkN:g`hqm2Cf\53@i8<;?e(!+/i8Ojl$-oEnoF'g">3 -f`)3Ro^(o1n*ofFn-/CQnF,i6rpKjVrp^cnn*ol;n*TQ2n*oi:o()29mdKW4md:#C#P%;mI'E/m-X90rpBaR2t-8&m-F'.nF,]?p[.)5s8VTRm-3j,p\=LYnEB'%nF?#5 -mHs9-mdTc/l0S*Cp>P#mm-jB0li-5Slg3s)m-Xf=G4+qpp@I\@nF,f5n*fc9nF#W*jmVsDrq>jK -lg3otkk=l?mIKi7lfm^&nFH/2oDea[lg!d$kiV$nnFZA=kj%^0oCDMAmI'WFs8)0Lm-X?4mI9`: -l/^slmd9<"l1+ErVl?NlgaW5l0%-hl1"?;%J&uSlg!s/o'>N(m-O-=ndY*RlgaE+l0n<8 -kiCjiqWB?imd'3-naG]%kj7["k3_mBo^1o1nF?GVrVcWgrr;f]nFu_Rq>9mSm.UGY,kpTcj5oq5 -p[7G8mI0K.lgF0+mIBi=m-*d(q>0p\p%SC]p&4jh#5@QRnFZPTrr3,uq=aR]JcC<$JcC<$JcC<$ -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$XT&;!oD\gfoD\gfn,FC)r;ZclrVc`jo^hbMnF>i(ip$"+ -o'u/7k2YXnrr5%Up\b'kqt^-hrqGmIjm)I9s8Vi]nFubSrr;uhnb);:rr<#po(i=ap@7_Ej5T7g -mHEg#nF5]'lMCM[(A[Chrr<#qrUT7Cqu$3YqtTdUq>UBjp]"4kq=0[IkOe?>s8W)fjSSlSrVQKls8DKNm/$bXo]>W;mGR:'nb;q[ -pZ:9"rr3)nmd9WFph0'YkjJ6Gs6oIRs8Miep$h>@s8V`[p@S4Xna5iN+ -nc/Xgq=F4Np](6ms7PO7lMg_QoD\^Xm-a]Kp%%tZs82]emI'fKr:]m[rr;omrUK1;pAO^PlL+Z; --h$X!pA"FZq=XCRqu6Kdq"aa_s8W&qr;-3Zn+Z\Qp%eXfqsEV3pAP!krr2p$r:TaVq>:0k'DqY+ -r;QThq>C3hs8W#prVlW`p\Y!jp]U9aq>0pcrr`5pq#'sf#Q+;lp@S%Qr:L$gr:-js8Dfiq>1!fs8W)urr<#tpE051s8W#koCDPOrr;uqqY0[W -q>1!dp%%qXrqZ<]pA=jh(B44,o^VSKq"jj]q>^Kio(i=aq=jOVqu8;Jr;6EfrV?3_qu$?gq=X:J -pA":NkjJ!3p\asao^MABp\"7Rs7uQkp[.> -f`)3HhT)ddKm\:IIKb.IH[9p\rcT3(G^+CSFEMbMFE2GDFEM_LGB\1QG'A.RG'3e/#C1Q=GBS+P -G5ZV$G'A+PF`_bKG'.tOF`VYKH$OXXFE;MFr,qs]$$CE7GB\4RFa892GlN'hEsd#4GBeCZG^+FV -G5cXaFs_?RF`r"TF`qqPG^4R\FEDYJG'8(RG'A1TG'8+VI=$6`GBeF\H2W$iH$K=4$[?rBG^"=Q -Ec?#>G5ZXgH$FU[HM`'gHN&-gGlDsnG^4OVEcH,@q0<[&It*!!IsuinI=Hg!IscQiH[C'brd"Hg -rd-#?H$FR[I!pBgI!g?kIXQWlH@(!bG]n:UH$O^_I=$3]G'A4WG^+Q6HiSNmHMi-hHN/6qIXHHf -H[C'arHJBhH[Pg@s*Xinrd"isH?sj]G'/+WrHnQj!e#NIrI>T5ItNB(ItE?*IXlruJ:iB!J:N6( -re(]4J:`E*JUi?)K7SN$rdOorrd=]lrd=`o"abN?IY3.LJcC35J:`<&It2usI=6KkI=?WpJ:N3% -r.56-It<3'J:N3'K)U?$Jg,i#Isl]nJV&N,Q^a;,WkuQRS!B(uQC=81R?EGcPF7l+M#N/]L5:_H -KStq_Xeq;@It3*%It)otIXcfrIt3$!JqAZ3NK&^EKS+l-JUi9%J:IQL>(r'.Whl;QO,SsSN00a+ -P`_8sNfK'ZPF.f/OeStWSX#A$O,SmNMia*dO,f6`P`h/lNfK0eV6$GWMM[:TPED)uQ]d8cOHYfe -LP^qGKS5)4TUD"+OH#3[O-,NaPFeD6Q^j\:OGJXJq1WR@ -NgZlU\Z_j&St)CL\Bs0Y`5'=3b15M%f$_mpg -VlZr"ZF[fc_8aXFccsYWdFdC>qZ#m>g!@XYcICV+j5oISdE^+ji8j%qs8W&r"n_0IlL+?,rrr2] -kiqC2JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$jSoG_me-PYqXsL\!qu$[o`"sc -rVQV#kjJ$*iniYSjl>1Kf\G64gY1,u]t1eg\@T,OWire:ZEh!R^VIh3f\"Zsb0eu%f[eU(d`9)5 -[(+$"f\+a!f&#HIkkaQ#g"k-'hWWnQi9Kmjc,IN9[CO&l`P;Aa,e_%=hWaLdbeM-Kj6#Oce]Q1e -d`]PQb/qoYgu./krV5gEmeHe]Gk^CSc,@E.Xf\n,Tr"]m\B!+D]=5Z)g>L`.]Y;J,cd9\C]Z8FD -`l60IbK%WOdF?t,d_E6=g"t`Ljll9hah#.-e'5b.Y-b0uVm35%Y-4[aLR57A_SO+(YFV&O -Z*UU>_oBC&_U-`P_T0d;^;%=l`Rj23gXk'.d`TPH[B-F=^Ug_SYH4h0[CsGqaND`Ma2c0h\%BN!bK%N8]tqP"^;A=EcHX>;[(OK+eD'$LlK$%$]u%Us]"bk[T9YS-WO]g`_6BZ/ -XL#R[aLJLc^qdk"Y,%VWR?sA9Uo(;nUo^c.\[f`6h:'$8Su&?UrfeIkS?BlR_o: -f`)3?dBoQ\26=]kW()H^-F?bA0?2e+.=oV\*>6nA4=&r6r:Japa[1E9?!grE>$1c.s'#D)rEB2) --X9bT='8a4>?P07>[:W?>[(B9>?Y-0='/U.>$G9:=B/I+>?b97>lJ%0?2e+,?2e+/>6ePB>[1Q? ->[./1!aAr:ra5\3s'>V/#[L\?>?Y-1>[755s'5S3!F]I8AH-?bKH?XR;M?X@,K?sm>K? -GD2OJrFGqA$#4?sE,0#tAn>NP@Xhlq@:X"cDgmP1PDXg4E,BN8I>a/>Jqo)4 -Isl`qJqSi-Oe%o#L4k53IscWnKSP5,G'A=_IsuloI!p^2R?3&FG'eakJqo;AJU;]kIXH?WE-6AJ -Fa/4iQ'[8NFEM\?C27X+H\dfJP)kKTK8,2?K78/oGBnR`J:N-'OHTX%#`b"'Huj7HChilaCMeBI -NLd,PUmdO2PEVQAa4J>F]"Z)$d,!0ucHFVbb.G3u_8F=9a2#F0dF?CSYbmeQVR!7oS!TD+Q'Ic4 -VP9]XYI;$T^r4@7`59UBg?%Yus6&+_a1oUks+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+142rs&Gmq#:>pA+=Gkih@"kht(Fg=Od+f$2%>ZaRKV^V$kSY-G./WNNY=]YhqGg==Edb0\c>dSnZA_n*:\ -\&6VIgt0s,iT91dqrlkhgX=F*kMY.Rlgs)_`l,a%\%fo%_nj4*^:_/$g?7nadDsJdjlu!lg!.jn -e',_Sb0%uZh;[MqrVQ9Yp&"agIJ)XM`kK*rXK/@lQ'n5CZGY&2['.-hguRA;^V7\(aN;-%[)(&0 -`5Kd@`l#X&VQ6;LQ_Bk;St_X.J<6nTb/:s.`5/sbS<&c& -X1H?le(s!M4m_9UHI^;In*]tV+h_q!]EjBpj%e]GS9Wh5l`['6R.VPBufZ+7]gaND`Ma2H!=ai;BG -da6ChcHFGXf%f0?jll!on+5ht^p:/UbL5%uh;d__k2YF[kN;'pj4`)9eCi^;kNqQujkeS;f@\^, -kPP5X,P^Wik2tmlkjA-Es7l'MoD8Ids8Donq!d\=lf[Hpm.9rHrV?J>qt'@GmHa0(kiV*pmHj3) -jPo(UioK@ilK7@)rr2`hp[R\=m-aE5md09+lg=03oCVkVs8VKQkih0jj5A_Gf@f$=i838Cf\"p6 -hV[5Adad"$dEg4khs'h2p[6qgc-4JXdF?e(k31aWi:6=)kiCpomHWlqinrPjgLK7#g=F]taMYd' -[^a&f_7d"W[CEri`koL&]"Yqm]u8IMdEoh>Zb"-"f&,]^o]jT4^W".)]",,=NJ)qBT!#Q8\>l0o -X0T@W`3cPJ[C!HJUmI1%MM[:TQ'n;9RA6gg[C%O$eC`*WUR%74LjON$MijjNa25mPkMsh$_p$KI -`P]C#^s:WQ`Pfa -f`)3To()MIp$qJLmfN%Kn,2S\n*olo();LmMPE^nF?)?n*]W2mI'E2naZ2@naQ#9nF,iE -mf2_Umf)STmdKZEndP$Umd]o@oCDJBnF5oGm/QJPmf2\Qn,D_RljN4Kn*oT,lg4$,mdU5Dqn*]Z5nF?&H%.E]TnaQ#7mIBcn*]Z5nF5l8nF#i@q"XIQo^MGDoBku6naZ5AoCDD?nc%t\o_%nIn*U,C -s6aUjnaZ,;mHj<3o'br5o_\@SoBu&8p%\(HnF,i5mHj9.n*]]7o'uADoCDMDo'u,6mHs6+mdKW7 -oCV_Jo(2MDn*]Z7n*BfIo^)AQs6f=HmHX?Ds8;ZXjm):#me?AFmHa30nF,W/oD\c;kiV.#p[n%D -mHa-)mHj9.n*]Q/n+HPQp$_D?nF,i8nFH2=m-X-&me-VUnEfT2m,mR"s8Vl`nEfQ/nFcPNp[[>6 -s8VrgoC;)-k32=0s8V]]pA4UWo()8;mdU&MoBPZ/o(VhKp\jgSl0eEJqX`n;p@n:QoC;PSs%2kH -lLFH3m-3TllhUS\rqQ-Yp\Odep[ISj0tlLb,Qo(;VLp\++Go^_MLs8W)op@e:[s8W&mrrDqI -s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s6BUarVZ[%rr<#oqY0RNp\k*k"oeJp -nFHGJrri8oq"O[`rrVunrql]tp&FgZrVllpqYq!"qYBscs8W#pqXa4Lp&>?mnbE.ar:p'pdrVm#pnETE; -rr4/2pA4=>kkFrPq>'aOjm`0Ep%%PAq"ag]mcNg+qZ$Qhp\t1"q=jX[nFZb\nF?MWs$6;IpA=^Y -rr2KXq"jUYp\4ITlg+3Crq5[Cn+lq\qu?]hj5f\/r:9CUqXEh>0rVZNkqtKj[q>1$hrquWhr;?R%qt^3jrqlQhqYL-frt,/*q"ajerr;rqrr<#pp\=Ua -rrrAsp@\.Yqu73*qtU$crqQ0^s8W#op%J:^s!@[Bq"!qIrVlfop@nI]p$qhWrr;rkq>L?ls8N#p -r;?TnrV-$^rr4,=s7l-SpAFjfp%J%LqZ$QhnFHGUrUogSqY0mdp[%DFqu?]l#57]Xo'l)Brr5.X -o'c#ArVQQgm-=9@pAP$kq![bKs8Vl\jQ>e%r;6EapA447ip$.,n+Zk^rU&n8nb;_Ko'bi'm/R+[ -p\t1!n`fWCs7,L@lh18W#Oq-Ejll4/p4<7Js*t~> -f`)3TlIj%PN.$'PI04kDH?oI5$?gWG&qVAF*@A)"FGNEIXh?I%"<\UJ:E#qH[L0eH@#R9rd+Qjs*Xfk-$t&hI=-HlIt3'!IXQKf -H[C$_H$amaH@($dH$4@TH$OX[H[U;?HNSYDI=2$Bs*Xin#C_)LIXm!!If4U#I!pHnJUr?$IXQV@ -HOb@IG^=^`I!g9fH@^WtJc:6%KS'2V*J]W7N/*4DKS5/8JUi?)KnY88L4Y)2K7SZ0M2-faJKTSr -J:E#tIsufmH@:9nI/6KnP/4KRnc/KS"i1L5(MA -Mii6NP`h,fMj9g7YFh&BN/Wd\R\6IOU6hgd -[B6C'U6_")OHuK7WgfHHT:M72Q'.>pQ_L@MPDbB^Q^O;7VkBHAR%pUTSWT5(P)P9ZQDM%#WgK!4 -Nf8sVMi=%&\@AoKWi<&#Y-b."R[98&Pa.],RgGpt\?Ma+WMH&LrKI8Ds,^'[ahPF.f[J$c`P]O*]>)J4air,`gYL`F -j6>jmk2kn'qu6iljk\qYp&+gmp$:f*rIP!"s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$ -s+14Is8W$Ss8D]ls7GR7h;7/EgY13*e(*!pc-b.rf\GHKlK7'bmeQ\Fl0.?kg!S0me(N[@jl>@k -qYU:%UiS)f>h;.)YoDa=> -mcE(H8f%8O(e'lk!gMD$d+d3l]Z&1@]XG,S^rk$P^:Uh]\A625nq$hGs*t~> -f`)3Qh8QLYH"LC]>67u2=Su5,=BSg.S0q-[:WA?!LQ9r`fD+r`T5(r`fD-r`CIM>[:T=>[:ZC?X@#C -=^#$6=]eg2>?Y37>[(?3=BSj4>$G9>?N".2?=.(R+VB?=.,M?sik;$!gkE?t*SR?sd7: ->p`f\>$P?=?=$oC>[q8Q@V'+`BP(pmC2J$6EbfK,BPD9tAS#IeC&Md,B4tskAnPmrCh[KmAnP^e -@q0%[@q&hQ@Us%Z?X[S`B4b[^?X[P]@U`bS?sd5H@:NhYAS,RfBkdNZs(=)uAnPafAnYmmCMds- -DJX*'B4YUcBPVL:KS55:JU.6<-$=3JqSr=N/NUIQ_gOL -R$EkkKnG&:PFA"sKSGA?K7SZ*JUrN9Q&^BAH\%$4N0B]oN/!1PQ&p`FH[pQmI"6m3SY2$lG^4LT -GC"O`MOplOWM?#SSY)LLQ]?lVJqSl5%ul[5SZK#mQC4/)LOac!H2`%%GBS+RL6JF=]Y(YTV5'ic -]#rdgrmX$\h;mkrkj.NqlMB\sh;RDTkORosioKP#kMF\0]!/lj`4ELg\@8oS]#2S*_T(!TgtpuK -jlPR^jm;j@rrquRh<+"ur;Qojk2YY'JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcGWIs8=eSrUp3jo&JNVg>UiFhqHZ1e'Q:[bgb7shW=1pmHFQcHabbg>_>]kiMI7 -qu7r,s6AV=s8W&ls8VBEhr!5:e(*+*i8<28da?P"lMpn_jko.irVm8jhrM_3_p-B>]>V\$]sP)JV3mL8VkTWDP*r/R`5fg1Vi64bR@9M6Zb!WV^X(?G]"l.n]"GP^a5#kA -ki:UZh9s6UZEC4,XKJ_-WMc_u\&$2/aNMiRccsb^aiDQOe^2UfaN;ZOdam:9o'Yr;p@[h6a1]!o -`mE;li8t"%*TlJFkO@a%nDr$CeC<%&hW=+ik24tIf\,!2f'3)1rsA;\lfR;nG*"_ -qt9FWm7d$>o(2JJr;Q`gmHNm!kiLd\g=Y*8i8EJKhr!8FgYL`CeBlUneBu^je_]Q^qYKmFe^2at -g"Y<;iTTOdhW">-s7ksIn*fT-k2Y=tgfE=ni7cl;f?VCW_7I7rb0A/C]",Dhb/qQ8^rO[@_7mk= -f@\Tn\\,r.fAYo\p\4!t^qdk(]Y;7nVNm$qO.E;T\$;d(Y-bC@]XtGIWNs(M[%ihENB32dPF%T. -XJh\_Uoq&4_U6]GWLAg&L4+8kK8,/J[(sDpe(r]s\\Q;+['-O5\AH>/[Bcp8Y-u'dnq$hGs*t~> -fDc'Ps8W&cjm)j7#4_3Pn*f]4rp9dTnF?MI&b5AYm-F!(mdBQ5nFH&8m-F$9mf2_fmd0<1n*]N. -lg4$+m-F!(mI1#C%.EQLmdTi=o^VJ?md:#?!U]@Tn-8=Lnac8@n,2M]mdK]:lg*p)mI'H3mdC#A -"7Y[EmeuSWmdTZ4mJZDJmf2\RmM,$Tn+#i6n*ol;o()5;nac5>md9NBnc&"gmHj6,n+68Gp%8"P -p@\.PrU9^Ts6]mUr9b9fmd00#kNq[.nac5@nac58lKmm,rU0gUm-=T7#jh-ToCDJAnF-AGs7-*Z -.IHHfmdTc9n*olqtr9aLaqV2#Rrr<#tr;5OS$iTkjp\k*doC;8Brr2p%q"FXW -p%\@Zrri;nn+6GTrs8Phl0n-3oD&=arri#dnF?JVruLh-qXik3p](9dnFH)6n+?&7n+$/Ms82KT -jm;dAq>^Km#5@ELqYBIKrVnnWp\t3mo(hqBlLjc6p@7bPq!7;Arql?Sm.12VqY1!ho&Aa#s8V][ -qYKgSmf3=Xl1"E:rql0m^ -qYpEm#6+Jqr;HQmrqm!!s8Vriq"k!is82uop\FderrE#srsnktp\Om`o_ACarVQ6]qu-NtrqQ$P -p\t0trVZNfq=X@TrVm6&p\Xj`qt^$^q>LL8mJ[%qp$_,'ioon#oC`([p@J"UJcE7[ -J,~> -fDc$Jm+Jt:J,O]qH?jc6GQ2miH@'s_rc]!"H$=CQFEMbMGBe@VGBJ"LFa*e0s*,-"F`hqRF`_\H -F`qqNFEDYKGl;mlGB@qMG^+Q6Gli25FoHI`F`dV*#BP!1GB\4PFT$=kGBeF\FEDYKG'A1UG'`Ir-SHirHSBhrd4Zmrd>W1H@('iJ:E#t -J:W<(JU`,pH[UM2ROdSX>S&OGo0]OGegHreCH.0SkI< -KnP,6MiWdQL4k88KnP#/K7ec+I!^EuKnFo-Mj'?cM1^A5N0AsKKS+o/JUm`O%>9FiL51SALPU\> -Knb9[LAus-L5LkJOd25sOcGWdMhm1GMMde!Xf]=ge%DofV4=O#_6g22QCjn@TWY&WN//9LPUV;M3+!gO,AdMLPGb]A;>hmN/s$cT;nWTR$sJ.Ngc]L]<%Zo -O,oNrVld,$VOk!+_S*LgZ_aCgTrPQ9`NQMO[B?9sURIUNL?3*USaun\$;m*W3s4CWM$&` -T9kk5U8klBZCmYSQ("23QBjn6]$/=9]t(ek_o0X0Y,J+fSY)IMWN3MNd)if/]=5&HWiE/#Wi;qo -VPU2s`REMnf@7m[_p-s#qu>a?kihgAs8DfkrrDidrtYLrjQ,%Tna>Z-lK%!_hrX>&mcWm0JcC<$ -JcG`L!<.QLJcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcEso$2s`#s7>L?qu?Wcrs.`Jk483< -q#0ga!;60f&,#o"q!.PClMCP\lLON=q>:0lqYL6kr<;WPk5Y5In,Fm9nETf(gYg`3dETh`hV[#7 -d*^nMs8VZEf\Y68hr*S[kiLd_inrG@hWXq<#iEqLcd:.oiU6^F<85mGcI_%:hnH\9\>ZLA_SELX -WM>rSWjKFVa3E&XaLS=BTrP?*^XqK.jknb?d)EAt]ssuC`nKM3d)O>Zd_Ef>\@fr+]t^hU[B5se -UTCGkTV,ts\&6&!`PSgHQ_V!rWN*MC]=tu+f#5,6^q%D$]tDYQn*&EOce$q%bK%TD`4*"]^r!dt -]=l2/daQC`c-Xqjf$q^YbL>+ncHF&Eb08,ZiUZ[,mf!1Ykj$UAaMc-Hf\,$;io/eP*9#uAgYLuG -_Rdb2cdUP)ki^pVf%Ad8i8*/Lmf!.b$0U%!f[\^6j6#e.rs&/[mf2G?rVQU%p#b8ojlYb!p%\L_ -s!.=,mcrrqmcs!!o(`1Ys7PL3hVdDUk3;-nlM15KlK[Qok3i3J"o@ZPlLONFj?2Smp&4p]kiLjc -j5/PHgXt38hqd&>gYLT5daQh&e'64fdE^%XcIh+DqYg9ShUU<:i83;IiT97_hrXh9s!@6uk2bFU -g"4a'f\GBHiS<8Ji7QH*bf.QFf%o31bJV0;d*0GH?-V$Xe&8r7cI(4pbJ1sAe_T6Gl0mrrbJ(R# -]!f8n_R?J=S=?1O[CW]BY.qZPYI1mIXfo@Xe&/;\S"Qjk\[AWQc,R,nUoUc._U-K;URRL1P*;,r -R?s&*ZFd^m_T:3Q^:;##`4)kHZ,=o3`4<4UVl6c-^t7T6lJpg_lM14,s185\~> -fDcWOgW$.EBjY%I=BJX)<)cjt='&U2>Zq&."^+o,;c6Nm;[HE'O5k<;ouC<``F.=BJ^0>?b?;=BSg3>$4p-=^#!5>?Y99$Co.r`]>+r`g:C=BSj6 -?[:W??!gt;>ngUN?=-uD?X-oB?!CW??XRGTA7ApF -@16UR@Uj%]@q&hQ?K?>!k]AS,XnDK'T9FFAjuK6qrjF`r"REboT1DfB]9 -Df9K1CMdp1G'%\ACMn!,CMR[&Ci*m"A8Q4'Chmg/H?O=FB4YasG%kW'B4b^cAnl'tCi=31DfTf: -DfBQ3D/0&ds(t5DEcQ>LI=6HeFaA.KDf9ZmT:(XgH[gTp -H@CU3W4]@$NIle;Kme)_Des6,DK,Sps(l1aGC4g_E,ff6D/*g$CMdj)FF8IjNgc,hLP:D/G__BW -Xe:r?KntVKR[oq6PE2NH\$N9>WgoKDR\R's]V1pjUn3d2PDY3QM2m[RI>j2LR\-7PZ)XLbT;o#j -RZ*8hO,8]BNKT^-XI>$"KnG5@Nf/md[)^/#\$NNS]=bnaV4F'@QC*u2Uo1T=besFa-**f2R[BP1 -Q^3o#P*MZC_U-ree^DCO_TLTqqZ#X@lK\0Es8DilrrDlertYM!k2=_Ak2>"NhV?l>gYqGmki(Xr -JcC<$JcG`L!<%KKJcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcEso$2sc$s75@:qZ$Nbrs.ZF -jmr*Kpb!;60f&,6&%q<[eFlMLV]n+6,Cq"t'kr;-Hmr<;ZPjo>,Hn,Fm6kMu?ng"OfnaMu3G -gYLH*aj&rFs8VcLg>:?3g=bEFjl54Xj58M>gZ8>5#iX.Uda?P!kOniSI,`[%_qX>?lJpaQdDiPu]!eE6_:7E#d)jYcf>PkP]=c5)\@f#H -Z)F"QS=uOAP*;B7[CEfZ[@`8-NME^qeFM`4*@m\AQ1s^X)*2lf?mUhqo7$a2#F)]Bej@U(cd^Rqc-4,Kcd0tei:?U0oD\dfoCCS^ai2kiCOThW!PRgYD&drr2p(nDrioi8s4in+HYZ#5R`[s7#a]qu7#ulfdNrlKe0; -q>U9k,Q%3.o^V>DoC2;Equ6HlqX*P1kN_I%o'u5>qu-?_o^VA>p&4nZrUoaPp%S"Ho()MNrr;WX -lfma$kMkLYh;7/QjPo+Xjl5(Kh;7,Bd*pUteC2^ohsC+9rqu!6eD'!DjPo4\k3(d_jSf)XIeE-t -mc`ipi838Hj5oRei8EYSg!J0h`5BaHg"aor_SF:=bf%HEf\P#p^r"[ThV6>l`R<>ok3;@/o]XZ? -_Sj=(_90KpT9k_)S>E?oXJ2f3^p(,Q\$2d-ZG";fTp(M$T;ScgUT_PIXJ_bkXg#O``Nu%rM1L2* -I!pa(-\IJZ[CF#nda,P4]YV7_U7A*j`50!eW1f`PUTCuVjRDNtiof\(qgndYs*t~> -e,L'Be`cMpqY0LMp@IhDmd'*"l0J?;#OUjAkiV$lli-8emdT`7md9B,l/q0nm-X0+lg3s'l07C0 -joFTDkl9iEl2g8;rp0mWnF,`0l0Rp=o)J=]p&=[mp@@_@mHj0+mdKZEo)A.poCV_JnF?&>o'u8> -m-X93o()>>nF#]Cm/QJPnG_nVmJuYQmW%X\lgF0,mI0Q6md]f:md0Co'5T1md06*n*0*#l07Ksm.U8L -p%7kHnFH&7me$2AkO%X%lK@Bqrp2E/nF5o9n*TN2mHs?5pA+=Nq"XINoBl#:o(DhOn+?8CnEfK- -n+-,Do^VD>naH&?p%87T(@L_amHX-1o(r+Sp\Oa^oCMJ@nac;BrpTpYrUUKhnF,l9n*TH*md96" -oDS]4q!dhJq=O%=l07L!n+#r1l1+B3jll4"l/q'fk3;:%lL"BFq!RA8lKIKqkkY8Vki([gkjJ-8 -na>`-kiq@#mI0]CqXj7BmI0W:n*o]3ki:^em-O!#l0\0Aqt0=Oo'#)kio/e\p&"U`s8M`co^;,9 -q#C@,o'"rai9Kq0o'Yc&io9+_h<";.s)./^med%^p$M&1l0I[!kN_^9jPf.bnF>l-m-Iqu$I*rVZNep\4LYp\+7MnaH)Crqucrrdk*#s+13$s+13$s+13$s+13$s+13$s+13$s+13$ -s+13$s+13$s-!E^rVl`pr;c`krri>sq#(*err`2oq#($h#5RlZm-!X(rVn55o(;\Qr;HZos8Vi] -lgk#PmH3a&m-aB-iTpIBs8Dutn`AlqlhpY[$3'l"lK@I&na?,Lru1e%p&G'eo'Pf8p%._Ena,Q) -jm)=3s8V]Xq>UC4q=3qPrV6*bs"F3Bq>UBhp\=dgqXX.Kq=sFK -o_84\s8Vrlq>'mcs8V]ZnG*%`r:opVpA"O_qtU0js8Mus./ru8qu6Nhs8;]fp@InQrVuosq!dkO -rqZ3ZqYgElq>:3kqY0dXqYpKo%K6%pp@\(Qrr;upr;HWos8W'!q>L0i$3'Ykq>0sbo_A@]rs8W" -rVuloqYpKirrMrmrr3-#s8;]irr2usrq6Bfqtg?mrr2p$qXsFNp\t0l%K-)!r;?Ehrr;rprr;us -rrN)orq?irp\=Uas82N`o'uAKrr3)qp@J+Yrrr;pp@\4[qu6ltp\4OUpA=ggrqu`p'E7t1qXa:N -qYpNpqss.HrquE^rVlg(q=^Koo]PK)md]f7o)J:Dm.C#Gp\t0lqsO.Ws6K(>m.gV\q!mh@ -mHsE7nacJTq -f)HHVlI2nnIX-FEDYKG^+FVrcn]mGBS+OFE[Y.s*+HerHJ9brcecoF`VPAEH?8GGBj+2rcT'$G^4RWG'8(R -G'8"JEccJKGBS1UG^'(/rd"Kfs*"HirHo6)H?jmbH@('hIXHWoI!KjWG^B@7!.+Wk(j^7CDJsK7 -Fa&1XG'A4YGB\OfJ:N,uI!bj<-$t&fH['scGB7_CFEr+WH@1*gI!p9hJV&?"J:i8uIXcitJ:;kE -GS>@LI=?`rIXm0.IsHTrJ:E'!K80>X6\9l=It3'!I=$?kJqJJtI=6?_G]S%PFa&(PDfg2KH[C0k -JUMrqI7L4tJ>LQ7UaP)YBZOd25uP`qGrMi3RWO,]3aS#p_7mb- -db)=BWMQZ']YM%`X.u;ZFebh*Wk['@g<$h.Yd1@'P`CZXMMd4FN0^/tO-,`tRZiboO,f3VL5M4W -Mi3suVl?c/[BZs?YGn=sZ+Iie[AfgkUT:uGa1JO^]>Mh=d*BkM^:qA$c.1RjcdU=c`P]R%[^!!7 -VPKucZ+\,q`5Td8_S3V[\4j0;]t:YX\\Q5+a2Pm,['7*N[BQpKcJ6n!f\>9@h:p`;ccO)?_8*h% -`luobhrd?Up.>8[]H3oQ]mr>[B?I2_UR,[bLbCh]t_J%cd.*abh2+C -iR6*$e^i-od,!@!_S3q,`ko^9bKS;\e]uIdcdLG"hU0QleD&^*bJhHBce%%4ipQ[>p%A@`o&&$B -bgY>&gZ.8NiSi_SkNM'hhU0?^b0A,PdG3jJl/Umdj58YGgu\,,s754*f\"g/hW3qckOSKGs8Duo -rU0IWrsJ_ik2tdcin`SYrVZ['q!.;Bp$1i1p%A+VrVmB&kNDF4q!R_:kN_pDs7lTU!pAkFr;Rr: -q"X^alK-p[iop7=s7kg>j5JkMhW*YRhVdAMio8nQgA]b0gXt',f@J=Jc#_7bjnf#Wki1FVkOn'" -hVHrAhrXG/q#CBhkiCa`g"Y?AjQ#1Shr!DUkMY+Ki7cZ.f%op`5BL0`luWI`P/aaWhZ>eXJi))`mW;[`5'!t]tI:U^;@OfVkpH#]>_S'dFcaW -Yc=RtYe7]WVjWm_j -f)HiTgr#S%A6E)A=&)Fe:Jt7s?"%2N>?Y37>?G!-;c6Qn;ZBVo;u]esMqD]Wn<, -V6@A=XJMMVQBmu0Q(kb4f$V7:Z*^p>SW&2LG^=[\H%:d9I/jVPg8aS"?Ra\[S]7R$sM>ZG*uUVm*\HaN_uQah56t]u/%BfYtqVbJh0*\ZDd,Tq.XAf$_pjb0%rOb/q]C`5^0Yjno)XrUoC;lh(.,s+13$s+13$s+13$s+13$s+13$s+13$s+13$ -s+13$s+13$s+13:!Yl0@s=rs%lOi7lo>kl(O&io/q[ -kj7g+gY16&^U_/$_m6/>XJi,)\[f]4jPJMAeA/;jXKTFglg3p!inMu-\?N->XJMu3gZdkJ_T1-[ -bJh64aj//O^UC2>S!'#'Up$kiQ(b1TVOWj2M1pt\W2-#^][5*MceI7"_8=42da?@cIGF)Pjk&&7 -g"4ZucJ-ml^qI\,`P9:/aNVuYf?_did*gM!hU9cuf%o05d*'VXe(`g?jR`('iq!$\ef%f9H -j6PpkkNM'nnF,`.j4;AocHshZdG!XEkiM!lkiC^^ip?C=s7bmAio8qVkO%g/nG)t\s8N&srq?6c -rsJ_kl0@Quki:jorqud(r:Tj`qtB[WqYU3hrVmB+oCMhWr:g$ZoCi._s8;ic!VZKis!RdCr;HWg -md''$n,34cqsj%=lKIBmlKdWqkiq9qlKIBiiT&nThV8%bGh:EneCW^JrVuo`jP]+cq!RG-io&bS -kk+oOs8VualKRWoioTFil/q!cj6#^pjknqTh:U?6iT97Ve&oYTf%86qf\tlHe',tkjlbLKbKnbs -hr3Ycp@$n^bK\8Vda?4W]X+c?USFW\T:i=(cdC%W^Ugqb['WZ8[]Q**j]XPMqe&o;+VkB]_ -[C<3-NJiaTNfAsVR#-ERS#36i]Y)"gVl[D>Tq\6RW3rn,T:V[JU8=rt`RN_qbfS>fgYh#Dg"kWI -JcEOcJ,~> -e,L9Ig["M(p\4:Mp%7hEmH`utkO%j0nF,]/rob*_m-a<1nFQ8AnF#]0lfI9om-a?oCMP@m-3g$n*]T-md9E.mdBT6lg4!* -mH`utkj%?nnc&P4q=F%Equ6KdoCMPBnaH#;kj%g5n`Juulfma#n*p&EqXjI[s!7F4oBb`-lKS*D -qWm8.mHEd$n*]Q.l0.Esm-O05r;QTfnF?2NpDWbunEf?$lL!s%lg!g,qYU']rq>X;jQG[dqtpC4 -r;-3\nau_Ys8;KRkNqj=s82W`md09,mc3U*rr3&mn+lt_')D%bn+#r:lKIU/s6/Y0mIBc7rob?e -m-*QqnF>c.nb;eNpAb0jr;Zfpp[7YNs8Vl_roXXUp&G'fn*KE2p%eUb"S_W`p\Omh#Q"E!s8Mro -rr2QqoCDG?mI'ZHqu6`rqY'p\#kdZYq=sRPp\b!i$3'bmnbrF_p@J(Prs/Q$qu$ElrVlKi$i^,) -s8Mupqtg*ardk*#s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+141rrW)jp&+ji -qZ-Tirsnkrp\amTkjJ!.mdg&;nb`>%nDiNhlh^Y]rVHHls8D]\kih$o'>W;s8Mcfs8Vc]q#:rV?*Xq>C0frVc`lp\+I_s8;HVoD/FdrqQ!Pp%n[fs8Dors8;forVQNdo(;hWruV.9q"""N -s82Qdq"FL[r;69br;Zcpq"Xdaq=j[Zqu-Qop]LEhq=ssd"8M]gqtpBfrrN&orqllqp\OjcrrN,t -rr3*!qtp?krqufrr;?Qsrr)fprr30!q>'pcrql]qrr2j3s8;W`p%n[fs8;]eq"FFSqZ$Toqu6Wo -r>>G.q>'m_qYU6krr)Zdp%A%Pq#::!crVmB+qYpEls8W)q -r;ZZgpA+[e#laPfp&+a\p&4mi"8MNYp\t0toBl,ErqcBarr3,tlh1)OrVm<&q"F@Lm.'c:jPT5" -rr3o3p\":Wr;Q]jq"aRRoD8C_oCMn[qWm8,nFuq^)>NXbm-jN;oCDPKna,`9pA"L]p\OOKp&G'k -ll>Kls8W#`mHsB3o(VkPq>C$XnFcYXs8DT^q>U -f)HWbnDM-VM10l&HZaFSG'J=]IXclsGBS1TH2W'gHR!i]GBS(MF`hnQH$aa[H$OXYFE;SJG'.nK -F)uMKG^4U\H$K=4$?gQ6F`hbJG'A+Qqfi'`s)n)0It<)qG^Y!kJ:)ZiH?XRZIt<0& -K7eZ'JUr?%JV/K)KS4u2L5CSAN/3+?Ll$k?JqAQ)rdXruDaNrGec,.-)]YM\TlMCP\rVcTcmcs$!lK[Trk2k[bo)4.>JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$JcC<$j8T2Rmcs`M!ql?br;Ug9s7k^/e'ljq`4Nb!]Xu&+bgYS>kiV0cage[^ZbY&OinWAI -gsaBY[B?[3VQ[kilK?R-^<+jKb/hfWgXt'%`O`7GQBIT:\[\];YdCU:VP'KFNK^$AZ*:d\f\"Nn -e'lCUbL>"re]uFljPnkAcd)O;%bBCtj4_l&bfn8SdF6Unrm=NicHFG[f\5'0e^W:,f[.gY`QZoi -jQ5I_kjn<;qXWe*eBH4iiTB=rkiV$hiT'+hjP8GQq#CXno(DkXrVlZgrsAJglK@3cgu7Djr;R2umf!1amcs**o()JMrr3B)o()bZs8)]hp%A+Z -q?HBQlL+6dETqfi8rkCaNDo]e^W72mHE -f)I#jjO(/jE+30[=&2Lb9i"_j?"%2N?!LW?>?Y33*=&r:!;c6Qn<<#np?tE;=^G?=>?tE;>$"^)='/R+='/L(='8^0=B\m2<`E%#>5__)?4U4@=B8R-?!UoG -?Q@:*AI>[C`B>?Fs/>$P?>?XR;O@Tco@?!CH7>Q._(=9_o3>$kWC?2\(9 -?s[A\EGT/m?t'%D!b#PJraL4a@U`bQ?=.&G?!UiI@U<>J?WpT@B5VU%Bk_0f@:E_T?sd2G?=IGU -@U`hY@Us%]A7]CiE-m"VEcQ5BDej'"B4b[bBPM9uDf9K-DJj<.DJsK6EHQMQI=R!+NK]]sWk?6_ -YGn:qZadEGWhuJYQ^!\sNKTa$Q]@%'O^sW?R%0eIU8"]lWM#`LPEM2rQDV3rTU2(6NJNLNM2-b; -KnkPIP*DH2Vkg#USt`'ZVl$5YPDtQ`P*;&rR\6an^q[ImXJ)/STqnO%d+dFe(NfB'ZMM@"PR?j;< -Z*h-UccaJScd'_P^;A+@dDs#1\$iugcd'YNaj/Ggh;7)HgXt65hW!ekk3M^2j5&JDc-"&B^:^tf -ajf5-jPf1\i8!);eIp?]d`]k`d*9_\eD/g7g"=]tbPp&te(!+7rUKOXqu7f9lK70fj5f7]k3;:1 -s8W&rqtBOGlKR[%lKRNqk2u:6JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcFd1!r)6Qr;Qimq>C0jFT)78kM4S;f$_FF]"GM^^sC9Uipc-plep"%\[oGths]mlj6#=PbeCHd -Xf%np^tJ#=eAK2Pg"+Nrd+[:0e&K&,WLf<9PGbXdSsQ1LTUh:.N/3(AR&d9fZGk>Dcd:A"c-"De -g#:W5d,!jHgt0s#daAZRe_90GgX49ld*Bn^daZbFdTt>Jbg"Sfg"G!.g"bTDg="3heCrsFkihC( -q"FO]p[@D,gYLuZo'lMDm-F!#lL4B1iSN56c-=PYc-tG-kjITtmd09'l07U4s8MHKj5]:`jlbpq -mI0`CqYgEmrr)Wl$2F&Ym-3]nkNr$Brs\f"rr;ump@e:XqYU9js8VrprrrE%rVZTlrr*,rp%A(T -r;QZp)u]^3qtg0Zm-F'2qu6Qemd09(kN1ppmd'-(mJZ>kl0. -e,KUGnE]T/li-;fnFQ2@naPu5n+6;Jp@RnEn*ol=?mdU5G'^tJWmdTc9n+-)@naGo:o(M_Io'lYI2sfkqlKdj+n*]K*l0IX! -kj\*3nF?)?p%eCToC;A?naQ,AoC228mIB`;oCVbNq"=@Tp@\%In,Di6nF?)@o^qbEn*]Q.lf[6l -rr;c[mI9c@p%._Cn+#r=o(D\Lo'#6%m-O$(mdTZ6n*TE0oD\;Plf[R#md9N7o'Y`(jlGUim-O-- -nEfN,l/q3rmHjE=o'>T/nEfN/lKIEslK.-jkj7[%kjIa"jlbjpmd'6-nac2:l0n36nbW7b"T%c\ -o`"ji!r`#mrq?otp[RnRs8DNTlL=?:q#:6ls8Mrr&Gbkbnac5Hs8VohqtopLlL=fC#Oq9UoCVSF -qYpKtrqH3brr)j*qt]pVo_8%Lq"=4Qr;?Qup@._MqY9da!<)fp!WN#ls8N#tqY1!trV-$\qtg$U -md^/Rrql]p%/fninb)YJnalMTqYKUZ"9&/prVZZtrVHBgJcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$JcC<$JcC<$JcC<$JcC<$huE`T$ig"oqu-EhrVcBZr;?Qtq!IG9oD\akp[RtVrt"ntlf[Bg -j6ujAs8VfRkP"oTs8Dut-iNrBrVH9YkiCn!r;?0Wp\41Mo_.tCi8X(qo'l2Frql?[q"=(DqYpL( -rq5jXs8Vlnq=X=In+ch\rqdE(o_AFcrquTds8)BZqZ$Tmq"Xgerr3*!nau\Vs8W#ss8W''s8Dch -p$qYMqYqH2p%A.\p@A%ZrqZ6^q>'sfs8Dokq>L0j]r;Q`rrr2Nh -"o\;mq"t'as8Musrql]qrqZQurquZms8N#qrrE&srttb6qYU!kr:KXTpAY*lp@%VLqY'FIp\t3jk4/?Irsei#q"jm]oD8Len`B$4r;T=a -p@e:Xq!.ACp@@_Hq#'j\s8W#ajlc44s8Vo_k3VU1q>:!^p[@M:nFQ;IqYBaSmH3m6oBtr.mJd.c -r8m21o(2SOp\jjZrq$fno_n[YkN(gnmeQn_rU9%AqLS[fs*t~> -ec.H'm+/e1JpV`dF)l;DFa/1YI=6KcF*2YLG^"CXH?sj]G'.kHEH-&@F`qqKF*)PHF)Z'nErU:] -G62r1G5H=[E5T -UR$dmJ:N4MK+EQbK7ec-K7ec/L5V%ONJmdns+hYMK7JT3QC=(rJUi6"I"6m)KS+o/IY!0,L51YF -rePKJL5:eNRA6XPR$X2.PE_5kN/NXTNK0$]PEh;nQ'78hNffQmR$sYBVPpJnYd_6Zak#8#ccaJZ -hWEt[h:gE(a2>[+\@]Vu_n!(X[^`ra`5p-Jf@/1"g"+Kl`4s"$_o9sWf?M@V^p9i4Vl$=8W2d#* -[(3c]`QZ`Vc,e,Te(*(%f#kqE\[]/XZb*iaaOAuEiqu6U'mc!'_ -kjnN9lK$gUrmh2#f\uN%s%*+bp#XoSb/h`I`PB:.ce-F`b0/&P_nNRe[^WTGYd_Nd_p6olioK^u -lg!s,jl,"Rjlu!ihV6]9g"kTHiSrnZjQGh$rVuZlo`=jdp\tQpmHWlrj5T+]p%eV,qY9LLo(DA; -p@7bBq>('hs8DoalK@R.q=jUVJcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcDMF9_IQ+hr3/5e^r9tfAPH>kOS3?s74phaMl6LjR2$]i9L!oeBPk>['$RAb2)jffu1eRg"b<6 -h;mkaj5AS7_Qfo,Tggg!\9nb088af[S6jajeSUajShpg"tWEhqd#:d`0JYguR\_k2l%-qYgHejk\J3ce.=Hq#C3] -p$Uu(kj79]g>(6&a3)TOe_]EOmcEa,o'5>sitpqXs7P=&fA#0>hqm2IjQ>Xnp%nXcqYKmb#Pd`I -i83GTp&+jiqYpKpqYp0fp]19jrrMupqYpcrp%%tZqYL-g!;c]p*<#a/o'ZAFkND:+q"js[kN(X\ -gtCTGk2YI_k2lU%ro=%>=Q&0!iniD?e^E+*hV[Aas8)0GkjnE1j5&PJhV[5Ii8"VQ%,G_6]W'V5^T%[CXN'aSs3Z`":29_6pMS]"Q5:iSiSHjRN2"s2k:k~> -ec-BZiQ%pEBjb.H;,0e\:K(:t?!h#H?N+4@>?Y-3=BJX*$+d*$4s-<;feu<)Z]n<;fhp=^#$9 ->[CW==Bo$6=^,!3=Ai't<`o?(#?Or+<`iL,=8l>,=&i4%>$P>0?8l%h=B8R-?!LZ<>$,$5>?P<@ -?X@&D?$>6=?XR;PA7]1Y@q/tU?=!P;"^kbJ@q96NAeJ`kCM76sK8=km -DJEm#CMR[!B`2]DCLqC'EcH#9E,ff7DJNp%FFf1!H#dkAChdd'ChdNlAS#UnDf9T8FDu2;DJa<5 -HARrVP)>$OLk1)+H?XISGBnO_IY!*$IY30!H[L9oL5LqQQ^OA8T;Sm$\AcnJeB,\IaOAeoACAcF -`P9$n['Qm=\%K5RVl$MsYdCsS^r"@=aj8D]aMbg&[^j#_`mDoG]tCkUTq.mMTV8*VW2m84\A-&+ -ai;-6`lcNMc-!]-YcY(5Z*(UG]>W%Igt:9%^::koa2m3'qtpUkp&4pdp%J(SrV-:oPkj/$DrU]FFq"jIEio9"Yio8qVjm;[9p$qSGn*f]4lfmToj58_Q -k2bUckl0^=lL+01k2P4Jf%Ja-e_]KNgsjj*gu[ncg!S@*gt:**h<4"^aO&Ytj5\tDcH=8J^UUtp -]rn?@bMVIBhUfuh]XY;OStr<^U8+j"_8/+Oe(E$^YGJ2$Z`p6jN00EqTVSH\TT>%mQCanRZE^L0 -TpVIMTV%dBS>s*)UlLV+TV\Zm[Dp8+rPfGfbJq,nUSF`i`RNf$f$rRErIP!js*t~> -dJs7;#Naq,lL"'0oD\C^o*G$`q=saZo^_MNoE"XYrq-6arq$Wjo();?o^qhMp\+:Qrq??`#57`` -p@\(MrpgQjo(2MGoC_hOp%7hGnEp/?'CG/Rm-a<1mdBK.m-O-,m-O')m/65Nm/6/Sl0.oCMPBn*oo=naQ,@oCDJBoD\CfoCDG?n*]K+rosIK!UT(M -kl0^1kk4ZDp@e7Tq"OLTo'c&;o^;5>o'l)7mIB]7n*ol=p\+@Uq"XUUo(2GBnac>FoBYW%jlc"" -oBP8ts8W#_m.C8L5P4Rtq=OF\rsSMep\=^es8Mupq#'md%f,horVuorqY'UZrqlWmrr3#ur;$?mrVZ[! -rVHHhqu5UT"9/)hr;$?mrqud'rquTkr;-?js8W)ts8W''r:fp[rVufnrr;ur!<2ut!WMros8Ms( -rr;rnq"amgrr)cnrsJ`%q>'g\p@\(Jp\XskrVl]o#lF;bp%eF[rVHNh"8hrkrVlg+qtKdWp%JCb -s7c!RpA4dg%J9,`s8D]ZlL4HCr9EtRrs/PpoCr+[qY1!h"8hEPr;?R+p[@PBp\!b;p%@nGoC`%X -rr2pio^2#:qZ$Tilf7C(qY^?kq=a4BmIBoGq"O[\p[@/+o'c/8jm2mFs7YR>o(DbRrqufjoD/Fc -o^;MImcWWklL+*7rUoC9lL4Css2k:k~> -eGf^MkgQ5dJ,XWlG5cRmFa/1XH?jRPFEVkPG'Eq2%=!)>F)c/LsZD!Di<[MMR"?KSG/9 -N0'0dQC*r%P)tchR@h(/aM>0eY-,"6YcFXtW3!"uW2cu'Yck:5W26>hXg5CH^rFI=b0/8fhV[AX -nEfQ.l0\?HrqZ3Xmcrrpio&MBgu@;GdEg4hf\GEFjll4&m-aT9lK@lJqI7s(prXe]c%M`6I*'s8V97fAGcZk2POos8Vf_khjt3\?N9L_oBX4_RQJ9T;8H_TrYc; -_T9sMg"P$+e'H4`gYq/LgXOWue_&O1f[J3lc.:n=m-3H]e^)F]d+@"'d)sARbK%`Nf%Jj?lKI7, -h$MrceCigClK@=)qu8qVkhk"Cgu\>2s8DWerUoURkht:VjP.nrb0JMkiT01ekjJ6Bp$1c)o(_e; -hV6f@i8WbRgtq,_me-GVs8Dfeq>UHkrVm)sk2YI^kOncQ!<)fps8;uprUTslqWd;;s8Dlq!r_uo -rVmf4p$VM@lLO`KrVHQoq!RG/i8!2Ljl5:]kN;d(*9?8EjlG=ZjlG:Nf%/O0hV[;Rp&FmZlL+?9 -kMlKts5,3^hr*GVqZ$TlrVu$Cki_'gjQ57NeC`R5hrhUB]pf%]9M -iRH3'h:gB'bL52)iQKa/kjn/ue'ZRkdE9GPe^MIH^=2-'hr3;6_7R:i?+Hu=ZE^I3ZF\*!dbN[. -_mZbS\\>_]UR@mVYdCgIZ`TjkTW#*'\\#Ve[]H$lW26SnTr,67]<.QsWirb<]>)Y3_o^3J_Rm_" -\#u^2YHtROc-FJSdFR(6mc`qes3:Ro~> -eGgB\gr5A&BjY+I<)QOi;H?n(?!U]??!^iArEB5'!`rB$r)$P?= ->Zt64r`K/$&6;_/[%#-03DXj?X@#E?=@5L -?X@#F@V&qVA7T.W?XI;P@:dlC27U"BkM*mB4kmmC]82dDfBfEJqe_rI[QpmIsZB_G'A1V -G^011Fa&(TH[UU,OH57Pg"YHBjQPgdi8<;8`P9F3`Q-*BcHk;$hr+Lr+lVG> -k3)0rmcWH[eBu^odaHk(gYV)`rV5s@f%8d?kiVd+rs8Suo'Yf.q=sp`s!.="hqd/Fg=P!5jmqHi -i8N\Rgt:$$e()pmcI1V+hrF"mp%A1]s8Dfo"TAB!rVM0GJcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$JcC<$JcC<$JcC<$JcF@%%e]kllh1)Am.g8:kO/3Crr3?(kiLpgmf37Pk48NOH0F)4b/;$0 -ak,hXs6&.jjQlC%kNMO;s7Pg>gsa:T7ccahbbg"Vigu%A`mcW]mki^aVj6,jumHaZHs$6JP -lf@*jnbiFerqZKkq=aaWl/q9ri6oZldb*I;kNV@!oD8F^p@\+RqtKOAjQ5Ukm-Elsk3Vg8qYgHo -rr)]hrrDuqrs&>hlg='.q#(-lrql`qrW2uso)Ammp\"Iarquctrr)ipru1k4p%e:OpA=jgr;Zfo -p%.Y;kND4"lg+!.n,DYnmI0N3mH3a&lfI$YgYh)Rk3MI3s8;T[o_J:Ml2BZBi[3XDk3r9Ks8Drs -mdKT2lKRQuj4r;BiT'"^k2tmklKdd$kiLgZfDX8khrj"Nd*p\+kj@NceCrs@g="@!hrNqIgZRts -nDVmDd*g:``lliV^U1T"io]:_h9WpK\@8`8UoC;hVlmJG`mb/;!5c-*r5^U^SDS!onEXhW!"_SaUGg>qei -m=G;^s*t~> -d/OLPlf$mhm-X63p@n@]q>^0mq"OIRnaHJI#kRWWo'u>Co(2eL"nM9Xp@e7Wp&k'_p%87V'Ctec -oCDMEnaZ,;o^qkMoC;A>mJZAjlKmg%lL!s+md9E+lKdg(mdBK.m-O-,m-Es'rpBaPs6BLI#jh!I -n+-)BoC;eJrpKgR!qGjQr:CfuoCDJEo^hYEoChkLoC_hNp%.bEn*f]ClOW:Hlg3s'lK[WulL"?A -qYL3e(AR_%q"F7Io(;A>naZ,;nFH2@md0<-rpTsWnG_r\o(288lKRQum-<]ihVdPcr;Z3@iVWZO -kMkpumdK`?q>9UJmHsE5oC)&6qu?]lo'cAHmc39hpA=mir9i\,k3D@&mHWfpkih-jlgOB7oC__G -md'0*oCMq\&Gu1oo_eagqtKm_s8Vukp\Ojg#6+GlpA+^eg&D'NJcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$"TJ8nq"jmf!<2or!WDoos8W&srt5,$p\k$doC_kK -lf$mfmHs64rVm3$q"sp`q"XRVr;Q`rq[NAmlfms7s8Miemcs01r;Qouq=XCVrr3c4p$qYFo^h_L -rVuirrqQ3ds8W#prVlfr!<2`m!WN#prrN)rr;R*#p\Y!jr:BIPr;Q^!rVZWjrV?I%qY9sds8N&u -rVH9_rqcWsrVZTlrr30$r;#p[rr)j"rVuiprq$-irpg!lrqQ-_s8DTi!WN#rq#LBgrtPJ/p@\:[ -q>'sfrVZQhr;Q`pr:p9js8Mj%s8;ZeqZ$TpqYC'frsJYup\+:RpA"FWr;6NnrY58+q>C6hoC);H -r;Q`rrr<#tr;6Kmrs\f!nac8@q#C9ame6PWrsnttnbiFeqXNtAo(W%Pqu-O(q^Kg -lL+TM$2sM[l1"E?oCVeVp]U?`pA"Xds#KuJmd]rGrqZ!Bl1+QGrVuilnEoT5r;Z]fq>1*^io]n, -qX3J1p](*XkjS0 -e,KaIjM%XYKn+]%GQ)dcGQ)ghF*2YMq02paFT$4]F*)O&FpE57F`__HEcV)!"*A[-FT$@^F:387 -F)l5;D/=*0F*.D%!H`P`GSt^MG'J7XH$OUYFEMbNG^4RZG'A.TG^"=RrHeKhs*+?bs*4fmG^=ab -H[5R6rc\&/IXZcuK7ei2L5:YBMM?h;KS5&7MiWs^Q(=n^]r@BeZbWf7OH#'O -MNO9sT9PS(PE_>tR&I='_SNghXL#./S=#nM]@Yfb^TF?,TV%dCPEM(iQ'n,7VQ6f$Yd1L:Y,eS) -Zb"cKkMXq=cHOefe'H4[c-an^aiMZPe()pnb/_QFcdUM$i9':glKRg'rsnkpo`+semd06*o_eah -rTjIjo&SfnkihL9ep\t9bqS)t8r;$'`s8VZYpjrHrs+13$s+13$s+13$s+13$ -s+13$s+13$s+13$s+13$s+13$s+13$s-`llqs3A&i8NkprVllor;ZfirVp6slK-sSb/D9DdEg"Y -bJUc_TV\cnY.Ms)e_&L+hVmDMhqd,IkjIZmi83,5cI:P0iS<)8d*p_6md9/og=F]uf%f*8d`TSL -aN;TJd+R@>p$1GhhrX(VgYLoQo(DSKrsJ2Ri8jS2s8DBLqYgFCmcNTmj4V`#c-tG*ioK=klLk,S -q"==TqWQkoi8W_RiSrkSh;IJmqYgEn(B*pso(DkXrV5sOkkP,Vs7kmCkNM4-o`#!kqYg!b"o[lQ -p&Fm\rrN)kroa@Tq>W>IlJpdYj5o:[jlbdfjQ#@bkiUm\i8W_Le^Dn#g"G3AmeHSFkj%U/o&erf -gtUW?i8Wk\o)8SNrVu0JkN(U[iT&kKeC`X:j6#Ofkih3mk2bR^hV6Q-cdL+khV?N(e(j!HkMOh< -gZ@GLda6FohW!;NqYpM=j42Q+e^i$hdG*'f]uAXflK.!Yc+^a%^:^tc\$`QL\%9K#e_T*6b.kBn -\%B>^Wh6,i[(!W]]sar=W3t]YD8#`PTdJf@/:1rr3&po([e9eGk%~> -e,L*Lfs@3$E+rom=]A@!<**4*>?Y80>QJ&2rE05)<`N&s;u]esZk5-=8uD&=8l>% -63 -<`iO/=]bQ%r`&nr!`rK,r)s\:=]ed0>$4m.=^"s2=B\p7?2S%0?2Rn+>Q.n-?2n10>m"MC?XNe? -,%G.qBP1skCMmj%Ci!m%CMds*BkM'lCMn'2F*)PIG'A"Jrc!%#F*E(_ItEQCUT0` -_Rlt=Q^jkLWOL!pe_&L,i8jjs4Q5Mko^1i'jk\P;gYhAYi7ur5f%o``na#8ogt:33iT&kLdETq^ -d*U1jh<""tn`AipnF>Z%kj%[1q"FL_$MWuTnG<1brq#[YrVmQ)mdBQ0i760&g#2#Tkj%^-q>UBm -r;Z^,nEK-#lg*j%m-EltkjSHJrr2p5rqcEbqYgEmr:osSq>UEoqtBRPnb)hPrrW2urpp'mrq>pZ -s8DTi!WMrpn,W:[s#']FmHNd!mHX!(n*]T0lg=01md'$!lfd<_g=kQDiT0D!r;?3VnFZPNm-*Nj -i8ESSjlu4.rVo"Zs7,XHlK@GY-GFBY+hP\VmX1L[(*QSWg/mDTr+?DPbG(NQB@T0VQ6l,]#DCra3i)@Y-4q*U77F5 -Q_CUl\[oMj^rk3^f%K9drrVudpjrIps*t~> -ci4=Gki:dciTp"+q#:*sq"41Mo'u5U6sq=X:Lp\FRYrV?HprVZZi -rrE"Ks+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13LrrN,rq>Ult -m-O?=q<6u(m-X05rr3<'p[e(Op@\.Sr;-FIqX^0[q"aq&rr)cos8W)sq"!qFlgsuKo^r%[rr`8oo(;n\#5Ro^o(MqWr;S&;md9H5p%7hM -s8Vo_o)/Ofr;-9^lKe->pA"FWq"a[Vn*p&Lrr3K,p$_A=pA=[Tk2u.+p\Omh"8DKZpAY(2o^VYR -o],03s8V`TkOJ<;l0\!5p%.hOrqPpMrr4&3mI9`Br;#jHlLF]Fp%A.TnFln]oCDk[s7c -df0aCf>b"`OG\R2H?ja\rcnHe#'bE=H@'sbrH]<*GBJ%OG'A.TH$FRZH$FRXGBS.RG^"CVrcf6& -GBeCYH?jg]G]n1MEGoc9FE_qOF`r!-GlDsjG^"@Vrd"Nf"EJR+G'Eq1!Hr\cGlMpcGp.N\H?jd^ -H[0p_H?ss]GB\@YH$=LVGBS1QG'%hMG^4R\rcncqH$=LYH$FLYrd+lpGBeCXH$O`7Hi/@$J:E)s -IXlrtIXclrrd=`m%!m2KKSbSCLl%(GM2V@l1ldZVM2$Y8Knt\OQC+#*R%9tHTq@mHStMjYX0&Y< -a3iPSXJWMG];_BmR@'SF[Cj;c\@;IG.Cd"2dG*X`-l0I^&l/^melLaoGn`o<#l0\9BJcC<$JcC<$JcC<$ -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$_Z*m>p@Ik:gtCKFj4M]&daHFIXf]"@ -]>iCTh;-f=hrEbYk3)=3s8W&jo'YPjd*phDkiCj`g=Fp:lK[KfgtLE3g>:`?dE'8Fb0SG\dFmRB -p#t8ej6H'ii8Nhkqu6]lrVlg)qWd/%kP5)Wp#kN7r;S/>kiCRNe_/F*ioT4\kk4`IqY9XSrVuiX -gY:`OkN([aio/kXo)J[drtYD$lL+69p%%D9lM1>XrV6'\o'Yr@p&>?sp%%nXs8)E]qY:'orUoaV -rVH*bs6'LOq"aq?rU/_&hrWt[iT94ajQ,=_lL*foh;-rCf[SBuf[eX/j6H'tkNM4(p$1Sprn7S3 -hW*b`meZq_4S\L?qY9@8gY(<;jPAJGjlkpmkj%L"l0.1T;eC`^2c,Rr\jlYOWgX3pTa2l07]t1\\[^W`[b155#f?D.F\[fAg -]s4K6Z+%6Wa2u3.['R<_c,dT-]>1hIU9V5=XIu2`Y,S(jX0K";[_9Z"]tMS;b.4[ZYTU<]Z)=7d -UTCf1^W4@/_op9@`Ra&/f\,!7i9'@rq"Xf=s4dR(~> -df0[;cb6*3IW]=,>Zpr+s&o;($X$P5<`rL+9d$+s1>$+j,=]ej0 ->$+d)<)QRh:/4Ybs;cHcr?Y97>?G-6 ->?P05>[(6/=BJa.=B8L'=&i:#mXhC>?kH>>Zt<8r`fS1>[:ZBqdB5.#[LbE?s[/H -@:T:I#A%FWAnuC/G5cRcG'%nPrcqq!IlF?do'"ueh<*YGaiMZOaK;>=YdCmXeD&m= -gtguQkNM0to_eahrqZ9\l/:.Jj7qs*kiU^Ug?J"ol/gm`hV@#Mjl+k>bg+Yhf@JR3kj8*7jlPk& -p$:l/meZh\!Vu]nrsSesmd9N@s8Vl]n,3+`*W5Nsk2+nOgZ%J`kiqI/qu$EjqYU9lrpAe-lgaKD -m0;nAlL"?Grqud2rV6$Yq"jj^o_%ePrr;uqqu$1'brrrDuq#(-io)JaY -!VH9bs#'fKm-!QumHWs&md9B,lL"07mcrrtk2kLTg=bB>hW=2!q"4+FnG)hMm,d3ahV[;RkjJ*A -rr5+Xq"jpco'#&iiT9=_h;deemdKT5oCDD>nF,W(jQ#+Lf%AC'i8<8BiT^")l/CFSkk4W5iSNAF -iT]e.rVp9khqQo@h:L00i76&kbhM=Hk2bLO`l#p?^q-q]Za@*J[_9f3g>(B.`k/^g\@T)HSt2a] -YI;3`]s4`C[)0r(\?iTTY*bTTXKA.[Od_o2Od;N5Vl?`']Y1b^_T]p(rhgm -cMn^Om-*B]jm;L/p\=OVn*TN/m-o()DDr:('^n*f]4naZ5Cr:UfroCMVHoC2/8nF5u;o(2GCnF,cDm/QZ#p%7nIoC;,4md9?* -mI0N7o_%kImcs01q"j^Tn*fK-o(N(W)u/jfkiV'onF,u?p$qA7o_ngirVHem.0oMp%8(Zrs/Jtqu6NjqYU9l$i^2*p[e(Jp\ascqYgErqXsRYr;R!!q"4=W -r;QZp#laJho_/+Wq#(-k.e`E(p%.YFqYBaVrr;fbpA4RXnaPr8pAY'krquHYnb)_Uq=p@e+Prr3?' -s8V]\rVu`ZnbE+Z#5\5srqZ9`JcFR+J,~> -dJjjDhp/d4T8nANIslZiH$=O[I=;'C#(:lII=?QlrHnQlrdFfo#((ZBH$OX[rH]$"H$FUXG^4X` -I=?WjH?jd[rH8HkH[L-bH[Bs[rHJ3b#^LZ>GBS.NF*7D(&pJSGH?jdZFEMbNH$O^]H$jsbrd"Ni -rc\!W)Tjrtk"\ -hr3POc,@K?c-=\nhVd>KhrNq^p%nF_0Bh?NjT##CrVc0Chr*Y[inWAJi8n'qXXF[rsJ`"q"!_5kN_a:rVlg%qXsX`qXWqHo`#3qq#16mrUTCTj8],Op\tur -j5&bYkiLjekN:gaio]q1mcE?]gA]_0f%&F+gu7>Vroam`q"j[IiS<5Ehr3\^o(`"Zs#p/Fmdg>T -mbugKg"tiJgZ.P`ki_$hl0.<=e'cdpao9$p]=,&Q\%p5?g=Xs#`kT@/aN)00[C!T]]YVk>bPoCD -`QZfW`O`[r\#-4;]Y1PCSYE!WTrYE)Za.*Xbeq')aj.i5YcFq8]t(/9SXu^[YIV`u`k]X6]>)bG -eAB;QrmD&$f\kZAgu.IKs5*d+~> -dJj[;fu:+_N-JoE@U<;C=oMM&=T;P(=T2A#=8u;*<)QUm;cH`qsAi:('lr<)cam<)Z[k;Gd?jr_s/'<`W4"<)QRlqc#%F<``=%;c6On='&O,=]\j2>$"j. ->$G'0>$,!3>?P05>?G'2=]o$;@:K.F&7T'V@U`bQ?!guI@:3MQ@q5CI!GcQNDZ=PmAnc$qBP;-s -C2@j/Ec>r8G(5=/OH#6^N00EprgPs=P)tW[MiX*iXKf+8WN*;;`501"]">Via3)WQe_B'Dd`9)> -c-=8D^q71nb1,,!gY1<3f%8U3k48NO$N'Sep$:Ygf%oQSrq[/jkNCsahV-Q,bg"Pdi8s;&ncnCM -p%@nKpjrHrs+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s-s#hqt^6k -([Bl3gu.#3_8"%6c-tS.jQ,7ZkNhF-qtL+DnE/p!s7u9brpf12k3DBtjQ#IdjlYmnk2+kDgtq)N -j5T=jn,N@Sn,!%VnF-#HrVllqqYp`po'Yr:r;Q]so^ht[%K6"jmH*Bjj6H.'lg!p;rYPM.p\Opi -rU&_.lgaT:naGi2me-DRp\Xph$NBr"p[[eAo(i7`rr36%qu-QoqXsdYrs8W#rr<#tp\+UHs8Mig -s"j?7k3VU-md0E3n*KB+n,!"Un*&oniSWPJgY^rMlL4?;oCDVPrVH!IjPo4]kNM:(q>:0k4oG$H -p\t0akhb(OjQY[]k3qg-m-F'0naQ#:o^:r*kiUdWh:^]HjPo1^mJQS?jQ#FjpA==El/gmblLk)R -s*Xe1l/h$ijPf.]l/'t?g>CiFjQ>FRf%JTq]=>J_[^ -c2SRRo&nlbj65n"nac/6l07Kul07Eql0A65!p]"5rosFJ3U,hol0@U#md9H/lg!`tk2k^fl0@U" -lK.-kl0Id*n*KE.lfmTqlLOW@oCMPBnF#c7nFH,=n+#rIndk9[md]l?oCDD=m-F$+n*p>H%J'&X -mdBQ5naQ#:n*fcDnL!bnmd9E,lgF95o^qhInF,i8nF#W+kj7[%lKmp*m-O!$kN:srnG_qunF,f4 -mdT`6m-aB.lgF93lfR-fmeHe[qYBsTp&4gg%e]D]mdToIqYpHnq![_Lqu6Zqp&>*ip\Xph!rMfl -lMgn[qLSZts+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+14>rt58. -s82Tjs8Musqu$?cqZ$TpoDejh!rr9!rr3?(oCD\Sp@\4Zs8Dlq$N9o%r;HWps8N#qqu6]prTX=_ -rqu]o#l=>os8W#ioD8Id!rM`grr3*!q=jdcrri;pp%\I`s8VuprrMomq>UQlp%A1YrrN)rrr3&t -p\XCY!rhuoec-*PnbN+^q"aa`q"F:Oq>L=!r;66_q>0s_qYgEsrr<#rrr2p$r:TUTq>L*g!ri)q -rr4MIp$V5kp%\=Uq#::"q!RP;md9TBs8N#t,kp["s8Vi_n*fiCs8MurqtBFLr;Zfmo^_YOqssCYs8;co -s8N#t,5h**p[dVp[mqHrr;ZXmJR"_q"jCLrr36$na>`8o^25KrtYM4s7Q'b -s7Y[JrVu`cnF?PRnETB8JcFU,J,~> -d/P!^l.O1iUlpIdK7JGuH$XmgIt3'!IsuipIf=g!IXccoqgJZqH?sj]rH\Ef*Hu[LF`_\IGBnL] -I=6?cH$Xd`H[L'bIXZZlI=6A=GPub,H$FRXG'.nKF`hkMF`VVIGBnO]G]n1MFEMeOH$K=6s)n`l -GB\:UGBS1SG^977-@1#cH?ja[H[UBpJV&B"I!g?jH[C-hJ:N&qI!pHnIt3'#Jq/Q.re3LiKnP)5 -Lkpe?Ll@1LNf]?^MMR=`X0oLL]=kP^_T9mAa2Y^"['R0O_8t#Af@8U7i8a+alL*m,s8W&hs8V`ns8)Tkrt+tgj6H'o -ioTV'o)8Ugpupl>jTal4p%nI[q#:9srVuoco(_bTs8Dlq!WDfks!7:*o)J[OhV$fLm-Efomf3=c -q!RG8s8VlXio&k[me-A?k2u+2p]BXHqYgF!rVuZUjQ,V)r;R#sp&4pho'5o9rrW/irRV!)puUGq -mdB9"kih3hiSj"ss8)0Ch:^H7gY(64i9':ek3DX1qZ$TgkMY(Nio]h1s8Durrr57[me-AJp#t>c -f%]0CgtUoSlK70ek32*nlLk#Ejl>Oei8!/Hj6#I_iT02%o&Schk3270mc`rrhVRDYp%@nPrr6d) -kN(abhr!Gijk8/5f@em6jQGL[inDYl`5op0[C:^;Rn!^X:TV -]>Vq=ai)*:eBl@ZcJ.W8s53j,~> -d/OjZjNtQ?OaCqZARf.S>$"a+='/R+=8l5#=8l;(=&i*pr_b"?F^ral:EAnPjnr+c@NGBj(3'mOqG -H$am`G^=d_H@CBrJU`-'OeJlUYTpKTZF[ig_8!^iYH4e,ZFR`tf\4fsbLYY;k2P:Sh;7/To)8Ld% -/T,DgYV&TjQ#1Tj7WXr -quK^p](9jn*0$#me-DQo'Pi:qtp6Yp&4jh#QFc#n*KE3rqud$r;-EmrqZ3_mf*@fp\rbD1]-S'm -e-8AmdTc8lfm^(rVuihlf[DFr^<4dEaN`)Wd -+-Re^:V"_U8P9%[]#UWQ'IZ#U8P&mWj9@^]<\`T^ULAHR$shSWg]!-MO'a"Uq"C`\\c7r^X:QS[ -_Bf(`4iqj^sUHLajAr6JcFX-J,~> -bl<"fo'G?%mcWQglL3lul0Id+nF5u8mIB]3m-au:o()>@o(;DA -oC2;Cp$r%L/F;]fmI0N2l07L"mH`p!m-Eisl0[a!k2tjijl>Fak2YOdl/q-mmHNcok3Dp3([gkf -p\apcq"OLTo'c&:naZ#4k2bdtr;HWqrqZQqrr)fhrrE%Ls+13$s+13$s+13$s+13$s+13$s+13$ -s+13$s+13$s+13$s+13$s+13$s+13$s,R-Zrl4sJq>L*lqYo+H&,uM'qZ$Qprr2loqYKpZ -q#::4r:]s_rr<#tqt^3js7l9]qu-Nos8Mojp%eObp](9k&H2Y/rV6-_r;ZWiq=sg_qtg^Beo_/(Vq=a^as"=9Fq>C*^mdBoNs823Ej65muqZ$Tjnb)hXo'c,Gs8W#d -kOSTOs8DcclLai?o`"k+rVQEcq"aa^nacMUrp]1=qZ$6PmJ$U2s53j,~> -cMnLKkh!_YT:hX3Islm$I!pKqK)UB@JUDiqIsQ?fI=-BhI=6HgFa&.XGBJ%OFEMd+FU<58GBJ+V -I!Ksarcf$%H?XLTH$XgbIXZWgF`_bMGl2c8H$jp]Fa/"RH$=FVGB.nQH$X[ZH$XXXH$OXZH$a^[ -H?XU]I!L$bH$OX\I=H`pH[C0jJ:W3'LPCD3KSY;6JUrE)J:N<.L4b&2L4b)6N/WUMNKKBdOcu&u -SY2gTUnaZXTVA0WVPpGkVPU,l^!#!^hVR#Ci8`q\jQ#%Ms4RV2hrI`jQc^C -ruq@)jQGadg=PW_kM+YGjlc[?o'5Duh:]ilahtj/a2m&mrnMAFe&p+cdF[!uc-4\`b/_WJcHjYY -e(<7'dEK_Ta1esg]uS!tVk0HRVlI8GahG:"a3)<8^W4U?\Z2*oY->(/VPBNVY-#+Se'PhA\\,f$ -c-F&:_TU!1[(=<)ahZ$JhWk./kj%^*md^2MrIP"7s*t~> -cMnLEh9*'sM26\%A79"ZQ.kk=]A@&=&Mmq;c$7d;,L4g9M\Ve;,:%e;,U=j;,L4i;G^7l -=&`*t9M.rQ:J=JX;,L7k='&?t;,U=l<)los<=)`4>?=m0='8d0r`EH'=BA[.=B8R.='/^2>?P39 -=^#*5>?tTB@qK:_@q94dBkLseAnYmoCiXZ?E,Tc?EcH#9E,]]3DK0W4DK9f;Ed)nXG^"LcMN!LR -O->ouSt2FBS!ob5R$sSdFR"'fA#0@j5].Xg=b-2g>1]Iq"jr?s+13$s+13$s+13$ -s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s,[0^rqu]na8[XdrVliqp[IV>naZ)8 -nG*%_s8Door;-3ZnF#`6oChnSp@e:ZqX3Y6n,3+`"oS2bmd^;MrrW,lqYpKsqt9XYp&>*kq>T"G -1]6t=o_\R`r;$0]o^_G;nbrLbn`f6#kiq9lj5]Cnn*TE.oDAOdrV>sLkN_I%o(`7brqud\qY9pe -s7>R@lgF?/lKRQulgF9;qtp3[nb2kJmIKlCoCDDFqYBOCkO/9CnEoT8r;HQnqt9ORo'l&8mdBZF -rr3f6n*KH1lJpaip?U\njQl:7r:]XJl/^\"aAg$m`6-9Zhqd/HinMf1daHb"ccX;Sb/M6;aj&2U -dFR")f[A$dahtZjWNs1IXe1iAQCFGF\\,5M[D0Vk[^Nic^TaAmR%^=KR[0+oQ_0hG]ZA+l[i`5t -a3)T:\%TesZE1CMbf7HAf]2H#lK%*qlK[g6q#,dDli2J~> -bPs0lq=4:Um,R*bk2kmnm-X93oC_\Hp\4:Np[dqEnFQ;Cna#W6oC;58n*olNhV[J_md9?.mI9Q5oCi+V -rsJZ"r;HTkq"4+Lr.4m!s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$ -s+13$s/l;$rr2iqq$[*!s8N#rrVQNhqu-Kk"9&5us8N#trr`,lpAFmh!WN#rp]:6jo`"sgr;HWs -r;6B`rrDuBrs&K$r;$3`qYgEsr:]m]qu6L"qtg9jqtTp`rr)iq$iKeno_A=_rr<#tr;?R&rVZTn -s8Dfjr;ZfnrqQZmq"X[ars&K#r;Q`orV6C!qtTsbs8Mrkq>Uqrr;ig -o`"jnp$_PNrql^?rqc0[qY'^^rqlZkq=a^cqt'OQp\b'gqYC0hp%%YFp@n:Wrr4#:p@.qXs7bpJ -pAb0lo'>Z2nacJTs7P^HoCMG=o`"k#q -c2TBnm+fq&^UBr'Nf&XDIt)uuIXcfqH?jmcG^+U_H?a[[H?aUPF*DkPF`hnNFSp:]G;+/]GBS(M -G^"@WH[:!_H?a^[H[UBlH[0j]H?jd\G^=X_IslNaH?OU\H$F[^G'SH5IK=qKrd+ZlHiA=(I=HZj -H$t0jI"$NoIXZg"JV&RRL+\1Gjq$Y=kNM^>s8)d*B_OajAJjh;$fBhq6<, -eC<4*e^;are',qUbg4Y^e(EC.e]l+Zd*K_D\\Q>+] -c2S:MiQo?DX.YE#G&hD+>?h)30jS!g=BA[0<`WC);H$LnZt96=Bf!5>?P'3>@(`G>?tZC@:EVO@:3;G?t3\U@UisJ@0'bEra6"A -ARf(S@qB:frc%mU#'"^(EccGHrcBoDJqS`(H[UHoI=?^!L5(A4K7SH!J:N&uLQI^`P*MH5X0&V5 -]"c,&`l?!9_ns:+_8H5k$,sp0g#MZ"s8DokrrE"Ks+13$s+13$s+13$s+13$s+13$s+13$s+13$ -s+13$s+13$s+13$s+13$s+13$s+13arrN,rrp^Heo(N%^rr2ioqYU'`p\sanp%\C]rqcKhrqc-N -me6VZ!W;ZjnH&:Zo`"sgqu-Nrr;-9^rrDuIs8W)srs8W%qtB[Snauh[ruh""lKRTul/q*jlL"$, -me-GSrr)fhn*B3&mIBiCqt]p_rsJ`$q#C -hr<_Rf%\m1gY10'cIUCca2uQPdF-V%hr!)6aNr5X_6gAR^:pqOT:_dOUoq;BZ)b1A]tCng_T'W3 -`r?,9nE^)9*q/Obn+#u@p\"4SqY9m_qtTpZq"a^ZnalGIoC;;=qt:!\#5If[o'br4rp^']o_&4X -,PCWrn*]Z5mdp&>mHWosjQPdkm-Ns#m-C9mrr*?(q=aLQqYU9ls8Mrkr;Zfr -"o\K"rVZWnrrN#mrqZ]kp\+F_!WE#nrr`2pq"jsh!<2ip!<)ln"8VoorqHEuqY0das8VogqYC.Z -q=X4Lp@ItSrquK^oCVnZrqH6[pA+[`qtpElp$qM@o_.qNqYpNko'ZDTs8DQVo`"mfo'Po:o^qtZ -s7#48mHsN8p\t1Rn`K*)p%S+Jmd0T>qY^6dqYU$YnF,l:n*of:q>^KenF?2Oqt'RXr;ZfnkihU2 -p@S+Op@n7Pr;ZbIs7-,>~> -bPs3elK$mR`3l\ARYHHHIXQNeG]n.JFEDPEGC"OXF`hkMF)>o>G'.kIFEDYIF`dV*#C:T:G'.kI -GlDjoGBeFZH$=FSGC"[crHoH1IXZcsKS+u5K782tI=[$%JVAc.ItEE3re`(]N/31AL5(>2M2I(? -K8P\NO-,WkPE_?!S"Za[W2-2aYHkL=X/N#sX!b!P[(!QTZaR3BWiN.tVQdYL`l?*CdF?_"hW*hc -m-O'(lKRQsjQ6C("Qnh,k44*'JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$JcC<$JcDeN"S1j@lLjlN"TA2nrVcNk!r23Yr;Qobjlbq%VuHr!p%@VVdF6Urg>:Z;c,\8bg!IXN_p$08[BZsB[C3cg`jrC_]Y2D-b0SAOZ(dkbW2ZZn -U+i[S]>;D'_SNahZ*LpU`5B*o]YhRnYd1gX`5'F~> -bPr+Ma>?b64>?tB7=BSg1>#\R,?!LQ9>$bH?>[CZA>[q&F>[:H9 ->ut$.=^5;4@/jO>?XmYYA7f@`ARtdP&o)3!Df'0$CM@X(D/F61CM7L%rGj9,GB@hEEcQ)7F`qhD -Dg$GVKSbVGMMd=NOHuE.S=#Y2V5^JmU7\+XU)]r*X0/Y0WMuehTq\6PSu8s.^:qA#cdL:ogYh2m -kl9fTk2k^ci8N_XjlYXcl10E*JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$JcC<$JcDeN"SVKXoD81\"TJ>srVcNk!rDKar;Qofl0Id3VuHr"qYBaUqYpL:`Gjltm` -j58\MhV$H0gt'fpc-Y"mf@f'Aj5&5/f%Sj&^UCem_7?eLWN*&#Zb*oVXKf:G_SX:7a1S=:PaJ&5 -R[05(TV\`r['mBNZ)t+2[(F#b+LSPb^:LDDWNWtL]uSFJh:]]OZbFE#aNi&Xe'ZOrkk]l1nc++~> -`;_%Zo^_5:oCDG?mHsE5nalGHp@n@To^qnQp[mtFo()>@oD/"GmdT`3k4/!0lL"?Gs8;cm -rqlQfq;VDTrqh9HJcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcCW-"TJ5iq>T=P"8MB\qka<.rr)N_q>UEorV?-\q>'m`qu$Hip\=^ars&Gtp\+=Yr;Q]trr)fj -rrE&qs8W&srWE)pp\t$h!WE#nrr`2nr;QBh"oS/kqYU0^rr`/pr;HWp!W;oms""$=mdg&Do(DnZ -qsa.HnbN4br;63\q>:!ar;ZZdnF#i?q"F=Pqu6HcoDAOe+nY0mqZ$QfnFH;Jq#(0gmGmBtnGE(Y -s8Vo^j5oY"qY0U\nhBV,q=j@EnEoN(l14QCqtU$ds8Vi_nF-5LpA+IVs8ViQhs:"1pAOj^o'>Q3 -qtg6irrMuqJcGKEJ,~> -b5W+Prq5O4e]u+BQ'%,dL4FPlF`dS&"*8X3GlDjoGBS+KFE`"UG^":UrcnEf&U8YIG^Fd^GC"R^ -H?XU[H[:)=HQIZhKS5,7K7o#=P*VW,R[]V'MiEgaQ^=)/S!]J0T`(]=VQ-GaT:qsKQ_L4HS"?R_ -ZEpsL]"5G`]#;hAf$_gfce-t+f[\F!eCN1#f@p5Y"52D\e,I`&c,nDgio]FelM:DWJcC<$JcC<$ -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$PlCmbo'5fEi;WoIjmMf< -rtkY1lK[s=s8Vr`k2tmkkND'oo&o&olMCGY%/TDTjl5Lfp&G'gp%\@_!<)lk$i9o'o(D\Nq"!k< -qYL3mq"jje"T@oVo(r%Z#4gs=jQ#@spAYHqkN(jtrVuihqYU;.qWH_ef\"a#cICP&fA5?Cjm)!e -iSe_oK[)YdV9_e'cXjbeUBST;/Ej -Y,\J(YHtjZ_n3@bY,S;"\AZV8_7m_&^9k#E*j<2i^W+=8daPe(VR41Za3`,T`kT4+eE$3#s8DB^ -JcGKEJ,~> -b5WperU/UmahbKdKn4`%G&M,,AR](T?s[2KA7AqS@q9(Y?t*\ZBP(daB`;ZDBJX:8AnGajARoF` -A7T1\Bkh@"Ci+$0Fa&%SG&q\HH%(=$LPUeBJ:<$&MN!IPNfK!PMimt''pbDWP*2&oO,B3fP)bZo -USt<$[^W^E[3NH+c-OSQ`lcf]f@/-lcd1%ddF-Usf@A@"d`ot[c,n&Rg#E"m"6]IXrIP!"s+13$ -s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s-3NdrqH!Xro!eYn`fT< -V>hA2rUTORrr<#sp$M2:md9?,me#o5mIpPWrs\l!na5Z4nbE.ar:]s^rrN,srqd*%s8Vfdq"jj[ -o^VkUrrN#pqYp]tp@7kSp&>'fnc&"Ynbi+\$2sGaoD&=brqZKhrtYM%kMP%Jf[J=&i8NDIiSs%f -lfdWqro%kPgY:Z?e'ZRpgtpi?gu7AQg=G$:iRu>e^rOU5\$3-D[C*Z_^9XiG]Y`(Cc-48>VjE[; -Tr4`\TVJB_YI:mBXKACqU8PB3_o0:&]tV"XUnjim\@TZ"b0nVDTV&F"_84= -_Z*j>p&4meq!dM/lg=**mI9Z8m-,qY^?m -s8Mcjrr)]irVlfmq"jje$i^,%qYL*bqZ$TprTjIdrr)cnrVQWprqZQqr;6Harri5qqu-Nds8W#u -s8N#t!ri,squ73(oBlANqY9sfs8;?To'uPTrtt\.pA+X_q>C6go^MJHqu$<^o(r=^p\4Ras'#-b -o(W1ao^;;Er;QWko]Y?"p%n^cqtg-]nEf9&p&G!^nFH/?o_A(FlgX6)jluC8s8W#prVufhnaGr? -q>:3gp&G'eiSE_jqu6Wqq=*P/oDS[ar;?9Zq18S?s*t~> -`r?_?lfm?V[^*0=Tp(7\J:;olH$Xi:HrkW@I=6KhG'\XkLl$tDLP183Knb85K7\o>NerLGO-,HX -L5LnFMi3RVQCX\CSXPk2SYrg*^qROq[B-=-ZamZY]=u%m^;A";cd'h^cH*o?`5B="`5F@G]the= -e^rL1hVHrAh;[YloBGK(nalJQp@[qJoD8(OoD8:ZoBl2?ki_6rk2bh&JcC<$JcC<$JcC<$JcC<$ -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$MZ3\Th>[KMU&Pi%p%A+Ys8W&_o(_nG -me-GOmcWm3qu7'&q!RG4kN2"/s8)E]s82cnrri;qq"jjas8Muns8V`lq"4RjrU/h0jll[9rr_r^ -qY:'i!r_omr;V9FkMOqRjl"hEhr3PKi8`qaq"g=4O"g>:fHg"5';gt:31hVm8= -bg"Mcbe^p)_SsR7`kSpd\\ueHf@/$d^9al7Vm3kFZ`pdE\@oes]!SlHV4jitaO8SX_8*gtZ`U:/ -[^s8ra2?'D[%*\g]#;_@ccEm$Zk1""hVmPVhV-r`rUosaqXXK6s8W+L~> -`r?n@kN1OEYH4_!RZ)c@G]RnCCi!s*DJa90rc*F+CMn6=H[C'`I!U$_H[L-aG^"OeJphriJUr8r -H%1EqKnY>@P*h`/Q]mJjP+/DQ[Bm3FY,7tjYI(aG[^irV\%BJq`l5p:aMYa*^V77c^V@Fk]>`%B -fA#0>hV?oBiTBh(kN1mpo(DtSp$VMDqXX=MqY9pXlLOB*jm274k5jrFJcC<$JcC<$JcC<$JcC<$ -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$MZ3\Uh>[KNU&Pi(q>'pes8W)ipA=XU -o(MtWo'c/Kqu7''qtB[SnF#fGs8;Zbs82forri;tqYgBis8N#orrW&mqt0mmrqH!SoCW%Trr`/n -rVZZp!ri&qr;ShWnESuqkMtFUjQG[]j6#Olq=sIJlK@?miSWPOh:L62hrEkZgt^oPjP\kOjQ51E -aN)KPahG6n]"\0Z<4fH?\]<%Mf@.p]\ZVctSuAs"WMcc!Z*q9TZ)t4-U7S0d^rXd=_nWmmX/)D] -XL#LY`l,sVi*p%\L^o(mq;s8RT~> -]`0qbmcs'(lfdQum-*QlkN_F#l/pp_jQl:)n*]Q-lKR[&lf[^)p&"[\naQARqXEtGp[RhCnauYV -rs&Aona>l=rVQTrqY9pQrrN,qrr2utJcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$JcC<$JcC<$JcC<$JcC<$c2ReBrr3#urVlfurqcTdrs&App](9jqrn([r;cies8W&gs8W&` -rrW2qqtg=&q=OL[qYC*is7l-Tp@eC^s%E4`r;QZmrr;igp%\C_s8Vfbqu?Qfq"XacrV6$UpAb!Z -lL"3;r;--Xlfms;s8Dchp@e7Uq?s8W&ss8D]gJcGcMJ,~> -_Z+Z=hV6`1_m?/.Pa%;fLPq+KMiM\1]t1\_^WP-ajPf%Rf?VO_e_8g6h;I5JhrEnclg4!*mcNNfio/bJjlYRZhrX:sp%j7> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcF4!!;c]p -s8)`p"8_T]rVHQmr^Kk!<)Hfs8)?e"T%QOlM0uN!<)iq!r_]bqu:j7 -jl#CejPJbRjPo.\mdBcJs8)$Ai8WeSh;@,Ef@\j8j6#O\g#1lGf\+m1hVHl8e'lso_7I:q`5fj7 -^U^njcIpt*d`f_I^:^GI\AH%iZF@N^^V.7i\[],MUo:cCdac@R]XbJWYH4k5\A6A3_o9HnR@,(k -[)C5>c,$oq[):DJf[\KtbL>G.gtgoDf%K'XrIY'"~> -_Z*j'h:^?'_Q]`#O,f'KIXcfqJ:`H0MMd1EJq],KSY;^KS=,_2S",q6StDj]Y,J+gWN<%iStr?] -Vl-])]Yhe2^:Lb]]>W+Li8*5Ef[%def\G?>hVmDKhVmSpkS!1KkMtR^inrMQkMtIXk3qp8r.4m! -s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s3puJrVlis -r;Q]ur:^!dqZ$Nn#4V!Gr;ZNco`#$mrVc`ks8W#trpg$grU^$lrV6*]r:Bpgrquctrq?3cs(hN$ -l0R]uj5fFgjlGXon+Qe]r:]XImHj#rjQ,7Sh;IG\m-ETdjm(sciS`\Ti7HE(cdp7R[^Wi`_nj.$ -\@KN)h;$`5c,@B.\"fb&\[elEYdqEY\[JoS[C*$/V6[nYcGmf8[]lg0U7s'7YIi!!_S`sYOH,g2 -\\ue6]$*eDU-#K)^?~> -]`02Tq>'aZp[IV@o'Pl6o_JI`p[RS8n+Q\Xr;-9ap@e@[q"4:[#l48qs8DchqY^3i!WN&mrrE%L -s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13Irr`8u -rVlNjs8)cq!W2i`rs/Q%rVlisrr2Bd!WE#OrrMolqYq')q=XLWp\b'kp@\=_rr)fq!WN&prri>u -qYgEmruC\(s8W)oq"OOXqu$?dp\ssWlg=9:p\O^]q"apgs8Vp5p\"7VrpK:Ns8V`\p&G'elf[d8 -rVulfme-PY'`IgtoChkLo(2JOs8V]cs7YU5jm`6K+7SFSm/?tar:T^OlgarLpA4gbmHsH;p%\C\ -qt^$\reg`+~> -^AgRij4MVr]XtYTWiN8$Y->:D]Xt\\YdD*adF[%#ccX;Mc-FMSe^`C5inW/;gYLQ.bLG(icdC4q -i8s+_h:gQ:i9("9rri2]j5oi_s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$ -s+13$s+13$s+13$s+13Krri;nq"jsars&GelMpnWq"=[crVlg%rV66fs8W&rn,EFbrU^$jqY9jO -rrM]cqYrVLkiV'gi8Nh\j6$%7rVHQorVGa>kih*dj5StOgu%/Rk3(UVk3h9ag=Y'2gtpl@f\"Ng -^VIb+`5hks#ft9Bi8!) -^AgRgj4DMm\@/Q9T:_^FUo18t[^EBDWi`YCaNVlMaMbp4a2l6:cHanmg=4Hpe'ugd`m3,]d*^G! -j6,^mj5JnQjQZX@rri8elKn7rs+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$ -s+13$s+13$s+13$s+13Krr`8sr;QHj#6+2as8Vihp&G!irr36%q>C6ls8N#drrN)toD\mkrVc'^ -!VQ9bs%rR]lg!]rkj@a"lhCGXr;Zfrrq5mUna#H'kiLgbkNqX*lep^do]kPti83AMi8*&9e]l"E -]=l%s`5BR7bL,//io&P;a25X*XK&YB^U1@:]Z844[^*K\^W*a^Vm*nUc-FJH[BHX0UnFN^\')k- -]WI]dNg?KOai_E*X/WDBe'uOX_S3RqbK%QBc,[H.`n92.k32d/!<%fTJ,~> -[f6R1q#10bp\Fae"9&#ir9=4^r;2'FJcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$JcC<$JcC<$JcC<$JcCZ.!rDWfo)A^hq#:?lrVllsrVm$"qt^'eli7"agA_3MrqZQsrUfm[ -qYpKqq>0pe!<2ip$3'l#rVuorp?qMNrtP>*o^_SIqu-?as82KZoChqOq"agas8W',q=X@Rqsa(K -s8Vierr2p!lf\!?rr_iYo`"gh'D_1foCDG>md9iMs7Q*_p$:`$n,E>0rp8\*mJd.cqXjLSmdg5G -nFlhTlKIU$l0e*5oCDDBpko*%~> -]Dj\[lfR?eeBlXlcHt(piT&tSg=P$9l1t>So(qe>lh1,Flh^DSs8Vl`nG3+\kN;U?q"jserrE"K -s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+139rrVl] -p%A=erVuorq#:?hrr3&uqYgEn"TA#ao)7nSs8C[O!VlWhrsAJamc`j%qYKLJq>XLgo(r4Jk2tdc -iSihYjlYOUg[bC0i8<5>fA,BHiS -]Dj\[lJpmXcH+,L`6$Ucum-s?,o)/FQo_JLiqt^3ho)A!& -lKIHumdTZ,gu7u,oBGJui83MVkMb1Sf[7sfbg+AUcI:D#iT]mtk2Fk5_7mUdY-u9e^;.qHhUB3M -aO8AZ^TOK>^W=[Od_iT"Xf8.hT:rL._R?bKS!9&$V7Y$u^osZ6YJSW6_n3IfYHtpR\\H.uXf8\F -aN`,^rn%;-jSFf7J,~> -[/U:-r;-ElJcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$JcEmm!WN#nrrW2urh'2urqZBequ$BhqY0XVrr33!naGr:pA4df$iKSaq#'mXp\=R]rr)j( -qY9m]p@S"Ko'5`Drs/N%s8Vo]kjeZP"o[fMlgk&Rrs88bnac,8oCr+\rs&>qr:fF9nbrIip>=Wl -rr3i,nFZDFn*KH/oD/%En+?5Fq"44Qq=XL]qZ$TpPQ-.~> -[JpF+o^V>Dqgncus+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$s+13$ -s+13$s+13mrrN)nqYpWqqYd&d!;6C`q#CBVh:p]?io^72FQM3,hrEPFh;-rGj6#Rn -p"nNWeBZ(M^:CMWb1+b\d,!R0bf\AghqZ2TWj01Zf\>-._n3LhZE:@;[(F,cYH"e.U7nm7f$i$] -W1gK6bLb"S]!\fHZG"-"dDiJo[)'o/aiViVd+$t=r;?0Slf$aZkl$eHJ,~> -[JpF*o'Yf -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -p\t6kPlLaZs8)utrVZEaqu6U1qt0LOo_ACbs8Mi_n+Q_RpA"O\r;HTos8LL=!qt9XPp%n^grg*S7~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -p\t6gPlDHgmcs$"lKINskO/Ofkj%a3q"jjKj5/J:bJ_3,[Cj]5 -e'HFtiS`GBhrEeQaL8Fa_9LQehq,ub]XkSX[^NKI['?[7[C -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -p\t6hPlH(%o'l)8nF,l8nb2t^s7YmJmI'QArVcZ^jPoLslfmg)mdTrFqY^<_mcNBUahk]sYdVU% -e'Z_,kN1OShrWtVbIFjd]ungWg=*sN\$WBAYHFq,Y,S1nYHY")Z+n?'b.FODYJJB'^Tsf2SYN9u -^r=C.Xf/;.]"/Tc]Y_Y)a3`Z#hV-N/`l?9SgtguRR/_[~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -M#[MSs8<*"s8W&sr;Qlus8N#qrr`8mo_n@\&cMS#o^qP>pAY*lrqQBhrquZlrrr>hmI9iGrVnA@ -m-O33o_eaaoC;ABr;ZfpnacGNs8VcNh -kO83Ao^))Drr<#o!VcJ`s*t~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -M#RbZq"""Kq"j[[r;QlqrVHBgrs&8[j7WHNq"Xk7qX3M(f?_OV]Y;A1f%AKuf\bfQkO.Wsi6T6Q -_TL<[hr3A9_u@CR]tqLnY5YF;Zb!l\[(*rmc-=,.VmFCjd)s#(U7nd,rlub5a2#@$_SNmr]u7h( -^<5!Ye',nQ]"cG8c,nAil2C;:jl>Nrs*t~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -M#RbZqY'XXqY^0er;Qlsrqu]lrs&>bl1k;XqY:(ArV>pDgX!pU\%0;sf%JX)hrj=il1"$$j3kiY -_T1$Sh;?u2_7[Cl]"P_^WW&\WXgGXHZ*qEebfmo*Vm=:fb/1N^R?j\Za2Z*;^ULPU\$iZL\%TPg -]Z/CMdE0DG\%BZ(aMlHYjo+l5k2bd!s*t~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcG6>s8DHe#5n8hoC2JOrr30$oC2JMrVQU7p@7hOs8W)us7l'Lo(`%\s8MQRlgFTHqt9LMr;Q]u -qs8Vram.:2Us8Mfanb)_Oo'c;Ps7u3On+$2Qr9iP/q#CBgrp'[Vrqubis*t~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -L&V/OmJm4]o)CQAk2"V7b/MQNe(NO.d*^V.kkP2Vmc`ELa3E2kiSWVPf#bkMbK%iO_R-ADXgYdO -\@95qrmWXF]!8iifA"cmZD"#$cIC7ca2Z-:^V77bZF7?T[BmTkcca;E_na==cbm?5fAu,Lrm(o" -iSrq^p&"^cr2BXG~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -L&V/PmJm4^o)D8XlJgF@`kTL;db3I1eCijImJ6e\n*JoVaN`5hhVI2Je]>\JaMuBH_6Kl9WN`_= -[C3`ieCN-m]!AlieCDgWWL0*V`m)]HrkU%p[^E?@X0K(@ZEq6fcHF/D_RmV+ah>$qd,F$;bg+Ma -j5oIip%nX`qPaFE~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcFR+!WDlop&P*jrrr5gmdp2Jqu70#nau_Ys7lNiq=3kErqQKm$MN`Im.']>o^_YQrr3)umcs?? -rrVl^nc&PCrU9%Bs8W&mo'l2Bp@@VCr;Zfqp@\7\s8W&bi9C.=s7GL=lKn68pA+R`rr2fnr; -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcFU,&bY5@f@8:%gY:TBgXO^*iog:=s'k'=cd^k8l/:R\gsaNpf$;arcbQljZF%'O]Y;D5gtgc8 -`4Wq4g#(E%[AKn;f@JHq`5Kd;]XP/JY-G:8XL,^ac,moCa2uKKc+^R!e)]K5_8F40cH+,Od*pRu -g>M#UorS1D~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcFU,&bkMHe^Ddog=tNEh:UNBlg=]Ms"3Bcd+-q3kMYI^hUBcsf$DgscG6]hZ*UdI]>2G7gtpl; -`P017f@nWfXIl,prmEOD_o0U5[]um2W33>+WjTUccHF2G`l#[4_mZVTbMV't^;@e+ccXJXdF?[r -e_K$AnuVkA~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcFO*!rVrnr;Quup[e(Qq"age#57NWr;ZfnrqdW-o(W1Xqu?]mn*BK2nb)bRpA"Xes82?ToDS[g -"8VQXp\k+$o]u)Js7c-So(MkNn*U&Q+8>U1rqZ9^mcEa1s8V`VmHj$'nalJKp%.V;l0\->rN6*M~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcFR+&,#/Hi8N\UjQ#4Ugtq)Smem)ukhO_CkkY&;k3(j^f\594eCW9r_7dRm]>;Y5cICY2iRuJr -aj]"scG6`eZ,YPKf[.[[cH*T(YHG1^qdk#[CaW:fu^qC]XPMa]Y;5!_SO"* -bh(h;meHh^rNcHR~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcFR+&,,8Hh;@/NjQ5I]io]Uro_e`&leg:JkP4i:lfmWkgYCi@fA"s)_nWsr]>Me:cdpq:inDYu -b1,.qagnLJWPI-7f[@macc -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcFCnH"s7l?ep\tL6fqYC$f -rr)irs8;rs^]/f~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcFL)%/okikNMU3jlGk&q"jmf"8_-;kPbEtrV60Uj5T7Vf%8[2e^;^aa3)i[e_9-]k1nP9f%]-1 -`jW+T\&QtKgt9ose]bS1ZF7K\[&pLKbL+SQ^r4I8[^*Q]]"5c&dEKSJ]!&BH]"Z)"^:1MY_U@,k -g"Y?=gtLK:hVmPWlh0r;m.S3oJ,~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcFL)%/okijQH70kNMO6r;HNm"8qHDkl(NhrqcK]kND0hgYCcHg""Qpaj&;ef\boil/:4Ff\YQ6 -_Qp,;Y//Qmd]o@p\Ojd -p\4O!s*t~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcFC&"mG7Os6&\@rrMuhq#>=$kjIKbf\klOiS`D;cdL@rjo>AOiSE>KjQFt/['-dF_p-ckiRQH3 -d(Hft^raX.Za7NldEKJB`m)K/XhDck\\#i0f[eEbZEpdD^rOO3\$ -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcFC&"mG7Os6B%GrrN&kq#>='n+5i&hWF1ik2kIMe(*.-li7"VjP]"WkNC=1Yc+S-^`rCP~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcE@^"o\Apq"jsdrri2ko_ACartkS-q>C3krVZBWlKe':qYpNpr:p!]o(`4a'Dh=in+Q_ZqtBd` -r:K:=o(`%Qq>UBuqt9UPp[e=^rr`#cmdU5U)#!@fq= -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcE@^&Gl1ilK[s:rV5g?hqQl@j7<3LB("d@jQ#4Ld)Nc/]#2b@gYq,Ge^Djec-k+faMGU(`m<)Z -bg4_X]'_q#(-rrT<2&kjn] -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcE@^&H2ItnacDOrql#UB(>'GjQ,=Ocbd2sZbOc;ip?$mgXafna3W/Xa2#I(`m<,\ -c-OeRZDst5]tV.qb0eDK]=>;]\A6D>b.kQu]Z]*__R[D"]Xthj\\#Sc[_gA?bKnnrcHakbg>qAV -jQcdFo'Q;Hp&>'\q#(-rrT`S0lgt)@s*t~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcDqR"8hogrVcaprqQ-YpA+Xbq"!h>nFQ5Grr2fjq>0^Wrr<#ooC2#8qu6Eap\k'do'c/Dq=j^b -s8DZ_p@\.OqZ$Tio(DhNqu?]knb2\Hnal>Ao_S4Jn+HPUrr<#j#57`fs8VrjqYpQpp\t -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcE"T"mY73jQ?.6s*O_0jPf(Tg==Ql`5KgEdb*L;i7lu@eC`R5g!S!a_919Ze^N(#bf%3._8sdA -bgY(c_na()`Pp$Nd`95Ba2#X@cFpZu^V%4n^V7V/a2>j?eCWI4eB,bSb0\hmdEpP*j4i;GioTCh -m-NrskNhHpg=P0Aio0"elJhg!!T`h;s*t~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcE"T"n(^?l0S6Es"jW@jl54VgXaZf^:qY6fAl5el/U[VdF6h)f[7m`_TUK^e^DsuaM,3n]Y_V* -`m)lO^qK`]8\N*hcGRH7aMQ!IdD -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcDnQ!<2ipBE%Pmnauh\rV?-WoCVGAq>L9ir;QHfs8W)pp%%22q#1*`pAFsiq"=@Sq"jgbrUo[O -qu$3[pA=RNn,!(XoD\dfq"s[Rp%7nLrVuiimHO->s8VrbnF?&ErqGaFpAb0hq#0s\q>UBprqHEl -&,5JWpAap\q#CBmp$hDBrp0T7~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcE"T!<)olqYpWqk2?3qGi%0*e^i@#g#;&TjlYgek3;-khUg8sce@:6gt^`7cH=8Oc-Xnde^Vg] -`QQTObK\J[`5U$RaMQ'C_nEju]thM%_p$c\bJM!7f%f!&^V.FuaN_`9]>`.EaiDZOcdLG"g!Rsi -e^_jZ_9CT_eCijDinW5?iqVj>J,~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcE"T"9&)lqYL48rT<%ohW3\Oe^;^kg"GHSo'l&2khkF`kMtCMeAfhghqn@e>1Cd=`lZELd*L1h -b/;3Abf7Q@cHF)Ece?R^cdBkP_R[.e]=Y_pd)a)7[D'l5dD`]-]=Z#'_R?qibg",EaiMQHdFd$q -a3iGgbeh6Ag=tHBlL*orhqmMkli2J~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcDSH"8D?Vp\t0tr;6:'bp%eCSnb)k\q"!kC -nF#uLs7c$]rr33$nauYPp%\Lc!qPL@rr3#to`">*qZ$BOk3r3Eo'l;>mIL,Pp[[eEp%.M4meHbS -nFZ_[s8;Wdr9F<4~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcDSH!:TpI"6eq3kPaO7gu.A`p%A:^p&4pjpu^MjbLGG2k2YL\g=4Nte_/X0f%Sg)c-b+rd`ot\ -bf\>gim>`mg""?j^W"=:`Q?Zgf[n6Z`7a)&c,'Cm,fe0JY-5@R`4NRp]Y)&!`k]3r]>)%h[CjT. -dEg;!kNCm`j7;L8J,~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcDSH..6*QjQu6sjPf%VkMtq#q"jdarUp-hs7kd:i6Ks6kih-hinW,8db"KN$Im_[d*9tig!@^Z -rlc>1i9&S7fAG?2cG%'4_nj7;g=" -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcDPG!r2Tirr33%rVlisr;HQn!<2or-2dT6kj\HKs8;]hrql?^rr;rjnFlVMo_AFcqX<\9oCi._ -s7l6crs8Prn+QVOnalbZrrW/enGWA2q=O1HrVulXjQcF4mcs3*mdp,BlKds1nEfE,q#'p^nFHJ; -s*t~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcDPG%Ii]Vs8DonqYU -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcDPG%IWHQs8Munq"Xmhp%n[drrE#qs'kWakLSMRp@dk:kN1RSh<+"bi8!>Pi83GSj4DGncIUe4 -o'bSok4S&qd`B\^c-"2\hqd2Ba332sh:Kom`50^Iaf__M]XtJNYGnS+Z*'t$XK\q4XgGm`b1bP' -jmW!>pZVX-~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC]/"TJAto(`1`"oS8tqY'dbrsn_lp\k$erVccpoBc&Dr;Q]sqYC-j(A$k^qYp6YnbE+^s8MW] -rVucprquK]rr3r)kiqa7o'Gc6o(VnIjQH.1p[RSArr2NanaQA8s*t~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC]/@K#lehrXY5s8) -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC]/@K#umjluXAs82HTn*&isq>^3QjQlO3nb2M -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC?%!<2ip!W;Wfrs&K&rqQEkr;Q]rrr)j0n*9]Js82H\q"apfq=XR_qt'gdrrDopruLn&mJ-_[ -p@e@YqYTsMl1+fRq![eRs7Q'SoD8Ldk5Tr~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcCT,!V63frrr8ipupo6rr3#omed"ko&A6NgYq8hs8W&rs#9)sjnS]8hr*JRjlG@Ti8rtNi8WhT -fAcA\d)EiEda#hJ]!\oQXIu5d]=kb^]?8FAf@Sg>p%mhNJ,~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcCT,!VlZmrrr>oqt9UYrr3#qo)&Foo]P)djQl:5s8W)ss#93#l1t8AjPo@blfdKhk3;*ckih?n -h<+=hd)3T;cH*f3Yc=_(V4!aI[(!?D[)0l%g"kZQp\X+QJ,~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$n,EOhs8;Tiq>UHnrVuop$N9i$rq?*ds8;Karr2usrr3r:na6,Os8)Wiq"aj_lf[[8s8)6S -r;ZWan+QbAs*t~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC?%!<)Hf#3Y"*k3(k&q>UHnrVuli/FNQ5jll[Cmbm0os7k[Js75*rbLYY.eBYq@[^icBU8Y`? -]skVrda?_&j7q^8J,~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC?%!<2Ng#4:UUHnrVuol/bno:qWmPJs7>C=p&FmRq#BsDd)skqg -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$n,NFdh>\DkqYC$eqt'CRna#c;lf[R)pA"@Ur;QBXn+YlBJ,~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$n,NFah>\DakN;!rkMOk8]X55ZY,\V4]=u&!bKnPgi995$J,~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$n,NFbh>\Dal0.F%kht"3[&pX>X/Du(\%9/b`6$0VjmD+.J,~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$_uCGKpAOULn+,i3naZ>Jp@eC\o^qbRj8XW~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$_uCGGk1e%o_SEdo^:qM(`Q?KTdc'Bcj8XW~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$_uCGHkLmee]t_%d]=l"u_8aXCd,XHij8XW~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$_#FrCoCVbLp\jmar;-9hrV-9Ls*t~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$_>b);h9jWrc-=__e'umugtpl[iW"E~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$_>b);g(KViW"E~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$^]+E7r;HWGs*t~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$_#Ff;jQ,@[iooFcki_1/pu)1&~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$_#Fo>kN(dckN_9qm-*d1q=rnJJ,~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -%%EndData -showpage -%%Trailer -end -%%EOF diff --git a/helm/papers/calculemus-2003/slides/eps/hbugsArch-slides.eps b/helm/papers/calculemus-2003/slides/eps/hbugsArch-slides.eps deleted file mode 100644 index 635a7dcb9..000000000 --- a/helm/papers/calculemus-2003/slides/eps/hbugsArch-slides.eps +++ /dev/null @@ -1,4956 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: /home/zack/dati/uny/thesis/thesis/thesis/eps/hbugsArch-slides.dia -%%Creator: Dia v0.91 -%%CreationDate: Tue Mar 25 15:01:23 2003 -%%For: zack -%%Orientation: Portrait -%%Magnification: 1.0000 -%%BoundingBox: 0 0 987 408 -%%BeginSetup -%%EndSetup -%%EndComments -%%BeginProlog -[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright -/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one -/two /three /four /five /six /seven /eight /nine /colon /semicolon -/less /equal /greater /question /at /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 /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /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 /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright -/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior -/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf -/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla -/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde -/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex -/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring -/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis -/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave -/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def -/cp {closepath} bind def -/c {curveto} bind def -/f {fill} bind def -/a {arc} bind def -/ef {eofill} bind def -/ex {exch} 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 pop} bind def -/tr {translate} bind def - -/ellipsedict 8 dict def -ellipsedict /mtrx matrix put -/ellipse -{ ellipsedict begin - /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 - savematrix setmatrix - end -} def - -/mergeprocs { -dup length -3 -1 roll -dup -length -dup -5 1 roll -3 -1 roll -add -array cvx -dup -3 -1 roll -0 exch -putinterval -dup -4 2 roll -putinterval -} bind def -/dpi_x 300 def -/dpi_y 300 def -/conicto { - /to_y exch def - /to_x exch def - /conic_cntrl_y exch def - /conic_cntrl_x exch def - currentpoint - /p0_y exch def - /p0_x exch def - /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def - /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def - /p2_x p1_x to_x p0_x sub 1 3 div mul add def - /p2_y p1_y to_y p0_y sub 1 3 div mul add def - p1_x p1_y p2_x p2_y to_x to_y curveto -} bind def -/start_ol { gsave 1.1 dpi_x div dup scale} bind def -/end_ol { closepath fill grestore } bind def -28.346000 -28.346000 scale -6.149990 -20.900000 translate -%%EndProlog - - -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 24.571821 16.300000 m 27.930929 16.300000 l 28.602750 17.703555 l 27.930929 19.107110 l 24.571821 19.107110 l 23.900000 17.703555 l 24.571821 16.300000 l f -0.000000 0.000000 0.000000 srgb -n 24.571821 16.300000 m 27.930929 16.300000 l 28.602750 17.703555 l 27.930929 19.107110 l 24.571821 19.107110 l 23.900000 17.703555 l 24.571821 16.300000 l s -gsave 25.133775 17.403555 translate 0.035278 -0.035278 scale -start_ol -2304 1408 moveto -1152 1408 lineto -1152 576 lineto -1216 576 lineto -1423 576 1511 496 conicto -1600 417 1600 288 conicto -1600 159 1511 79 conicto -1423 0 1216 0 conicto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 310 522 conicto -369 576 576 576 conicto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1216 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1511 2767 conicto -1423 2688 1216 2688 conicto -1152 2688 lineto -1152 1984 lineto -2304 1984 lineto -2304 2688 lineto -2240 2688 lineto -2033 2688 1944 2767 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2240 3264 conicto -2880 3264 lineto -3087 3264 3175 3184 conicto -3264 3105 3264 2976 conicto -3264 2847 3175 2767 conicto -3087 2688 2880 2688 conicto -2880 576 lineto -3087 576 3144 523 conicto -3264 417 3264 288 conicto -3264 159 3175 79 conicto -3087 0 2880 0 conicto -2240 0 lineto -2033 0 1944 79 conicto -1856 159 1856 288 conicto -1856 417 1944 496 conicto -2033 576 2240 576 conicto -2304 576 lineto -2304 1408 lineto -end_ol grestore -gsave 25.590975 17.403555 translate 0.035278 -0.035278 scale -start_ol -576 576 moveto -576 2688 lineto -512 2688 lineto -305 2688 216 2767 conicto -128 2847 128 2976 conicto -128 3105 216 3184 conicto -305 3264 512 3264 conicto -1940 3264 lineto -2450 3264 2761 3000 conicto -3072 2736 3072 2372 conicto -3072 2200 2993 2048 conicto -2914 1896 2752 1768 conicto -3040 1605 3184 1388 conicto -3328 1171 3328 898 conicto -3328 679 3230 492 conicto -3158 350 3052 265 conicto -2910 148 2704 74 conicto -2498 0 2188 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 216 496 conicto -305 576 512 576 conicto -576 576 lineto -1152 1984 moveto -1782 1984 lineto -2121 1984 2345 2128 conicto -2496 2225 2496 2370 conicto -2496 2496 2353 2592 conicto -2210 2688 1900 2688 conicto -1152 2688 lineto -1152 1984 lineto -1152 576 moveto -2147 576 lineto -2499 576 2642 679 conicto -2752 756 2752 901 conicto -2752 1074 2535 1241 conicto -2319 1408 1914 1408 conicto -1152 1408 lineto -1152 576 lineto -end_ol grestore -gsave 26.048175 17.403555 translate 0.035278 -0.035278 scale -start_ol -2944 2432 moveto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2368 192 lineto -2114 65 1883 0 conicto -1652 -64 1445 -64 conicto -1153 -64 939 47 conicto -725 158 601 353 conicto -512 494 512 706 conicto -512 1856 lineto -384 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 384 2432 conicto -1088 2432 lineto -1088 840 lineto -1088 671 1180 591 conicto -1272 512 1462 512 conicto -1643 512 1851 576 conicto -2060 640 2368 807 conicto -2368 1856 lineto -2176 1856 lineto -1969 1856 1880 1935 conicto -1792 2015 1792 2144 conicto -1792 2273 1880 2352 conicto -1969 2432 2176 2432 conicto -2944 2432 lineto -end_ol grestore -gsave 26.505375 17.403555 translate 0.035278 -0.035278 scale -start_ol -2368 2240 moveto -2368 2432 lineto -3072 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3072 1856 conicto -2944 1856 lineto -2944 -86 lineto -2944 -367 2814 -576 conicto -2685 -786 2418 -937 conicto -2151 -1088 1817 -1088 conicto -1157 -1088 lineto -947 -1088 857 -1007 conicto -768 -927 768 -801 conicto -768 -673 858 -592 conicto -948 -512 1159 -512 conicto -1805 -512 lineto -2073 -512 2220 -385 conicto -2368 -259 2368 -66 conicto -2368 182 lineto -2176 59 1978 -2 conicto -1780 -64 1572 -64 conicto -985 -64 588 304 conicto -192 673 192 1215 conicto -192 1759 588 2127 conicto -985 2496 1572 2496 conicto -1791 2496 1989 2433 conicto -2188 2370 2368 2240 conicto -2368 1216 moveto -2368 1501 2132 1710 conicto -1897 1920 1568 1920 conicto -1239 1920 1003 1710 conicto -768 1501 768 1216 conicto -768 928 1003 720 conicto -1239 512 1568 512 conicto -1897 512 2132 720 conicto -2368 928 2368 1216 conicto -end_ol grestore -gsave 26.962575 17.403555 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -gsave 25.121075 18.403555 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 25.578275 18.403555 translate 0.035278 -0.035278 scale -start_ol -2944 2432 moveto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2368 192 lineto -2114 65 1883 0 conicto -1652 -64 1445 -64 conicto -1153 -64 939 47 conicto -725 158 601 353 conicto -512 494 512 706 conicto -512 1856 lineto -384 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 384 2432 conicto -1088 2432 lineto -1088 840 lineto -1088 671 1180 591 conicto -1272 512 1462 512 conicto -1643 512 1851 576 conicto -2060 640 2368 807 conicto -2368 1856 lineto -2176 1856 lineto -1969 1856 1880 1935 conicto -1792 2015 1792 2144 conicto -1792 2273 1880 2352 conicto -1969 2432 2176 2432 conicto -2944 2432 lineto -end_ol grestore -gsave 26.035475 18.403555 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 26.492675 18.403555 translate 0.035278 -0.035278 scale -start_ol -3200 1179 moveto -3200 867 3018 575 conicto -2837 283 2477 109 conicto -2118 -64 1727 -64 conicto -1338 -64 983 106 conicto -628 277 442 570 conicto -256 864 256 1185 conicto -256 1510 444 1823 conicto -633 2136 987 2316 conicto -1341 2496 1727 2496 conicto -2115 2496 2474 2312 conicto -2834 2128 3017 1817 conicto -3200 1507 3200 1179 conicto -2624 1178 moveto -2624 1428 2429 1637 conicto -2162 1920 1728 1920 conicto -1345 1920 1088 1695 conicto -832 1471 832 1175 conicto -832 933 1091 722 conicto -1350 512 1728 512 conicto -2107 512 2365 722 conicto -2624 933 2624 1178 conicto -end_ol grestore -gsave 26.949875 18.403555 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 23.871821 14.000000 m 27.230929 14.000000 l 27.902750 15.403555 l 27.230929 16.807110 l 23.871821 16.807110 l 23.200000 15.403555 l 23.871821 14.000000 l f -0.000000 0.000000 0.000000 srgb -n 23.871821 14.000000 m 27.230929 14.000000 l 27.902750 15.403555 l 27.230929 16.807110 l 23.871821 16.807110 l 23.200000 15.403555 l 23.871821 14.000000 l s -gsave 24.433775 15.103555 translate 0.035278 -0.035278 scale -start_ol -2304 1408 moveto -1152 1408 lineto -1152 576 lineto -1216 576 lineto -1423 576 1511 496 conicto -1600 417 1600 288 conicto -1600 159 1511 79 conicto -1423 0 1216 0 conicto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 310 522 conicto -369 576 576 576 conicto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1216 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1511 2767 conicto -1423 2688 1216 2688 conicto -1152 2688 lineto -1152 1984 lineto -2304 1984 lineto -2304 2688 lineto -2240 2688 lineto -2033 2688 1944 2767 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2240 3264 conicto -2880 3264 lineto -3087 3264 3175 3184 conicto -3264 3105 3264 2976 conicto -3264 2847 3175 2767 conicto -3087 2688 2880 2688 conicto -2880 576 lineto -3087 576 3144 523 conicto -3264 417 3264 288 conicto -3264 159 3175 79 conicto -3087 0 2880 0 conicto -2240 0 lineto -2033 0 1944 79 conicto -1856 159 1856 288 conicto -1856 417 1944 496 conicto -2033 576 2240 576 conicto -2304 576 lineto -2304 1408 lineto -end_ol grestore -gsave 24.890975 15.103555 translate 0.035278 -0.035278 scale -start_ol -576 576 moveto -576 2688 lineto -512 2688 lineto -305 2688 216 2767 conicto -128 2847 128 2976 conicto -128 3105 216 3184 conicto -305 3264 512 3264 conicto -1940 3264 lineto -2450 3264 2761 3000 conicto -3072 2736 3072 2372 conicto -3072 2200 2993 2048 conicto -2914 1896 2752 1768 conicto -3040 1605 3184 1388 conicto -3328 1171 3328 898 conicto -3328 679 3230 492 conicto -3158 350 3052 265 conicto -2910 148 2704 74 conicto -2498 0 2188 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 216 496 conicto -305 576 512 576 conicto -576 576 lineto -1152 1984 moveto -1782 1984 lineto -2121 1984 2345 2128 conicto -2496 2225 2496 2370 conicto -2496 2496 2353 2592 conicto -2210 2688 1900 2688 conicto -1152 2688 lineto -1152 1984 lineto -1152 576 moveto -2147 576 lineto -2499 576 2642 679 conicto -2752 756 2752 901 conicto -2752 1074 2535 1241 conicto -2319 1408 1914 1408 conicto -1152 1408 lineto -1152 576 lineto -end_ol grestore -gsave 25.348175 15.103555 translate 0.035278 -0.035278 scale -start_ol -2944 2432 moveto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2368 192 lineto -2114 65 1883 0 conicto -1652 -64 1445 -64 conicto -1153 -64 939 47 conicto -725 158 601 353 conicto -512 494 512 706 conicto -512 1856 lineto -384 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 384 2432 conicto -1088 2432 lineto -1088 840 lineto -1088 671 1180 591 conicto -1272 512 1462 512 conicto -1643 512 1851 576 conicto -2060 640 2368 807 conicto -2368 1856 lineto -2176 1856 lineto -1969 1856 1880 1935 conicto -1792 2015 1792 2144 conicto -1792 2273 1880 2352 conicto -1969 2432 2176 2432 conicto -2944 2432 lineto -end_ol grestore -gsave 25.805375 15.103555 translate 0.035278 -0.035278 scale -start_ol -2368 2240 moveto -2368 2432 lineto -3072 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3072 1856 conicto -2944 1856 lineto -2944 -86 lineto -2944 -367 2814 -576 conicto -2685 -786 2418 -937 conicto -2151 -1088 1817 -1088 conicto -1157 -1088 lineto -947 -1088 857 -1007 conicto -768 -927 768 -801 conicto -768 -673 858 -592 conicto -948 -512 1159 -512 conicto -1805 -512 lineto -2073 -512 2220 -385 conicto -2368 -259 2368 -66 conicto -2368 182 lineto -2176 59 1978 -2 conicto -1780 -64 1572 -64 conicto -985 -64 588 304 conicto -192 673 192 1215 conicto -192 1759 588 2127 conicto -985 2496 1572 2496 conicto -1791 2496 1989 2433 conicto -2188 2370 2368 2240 conicto -2368 1216 moveto -2368 1501 2132 1710 conicto -1897 1920 1568 1920 conicto -1239 1920 1003 1710 conicto -768 1501 768 1216 conicto -768 928 1003 720 conicto -1239 512 1568 512 conicto -1897 512 2132 720 conicto -2368 928 2368 1216 conicto -end_ol grestore -gsave 26.262575 15.103555 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -gsave 24.421075 16.103555 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 24.878275 16.103555 translate 0.035278 -0.035278 scale -start_ol -2944 2432 moveto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2368 192 lineto -2114 65 1883 0 conicto -1652 -64 1445 -64 conicto -1153 -64 939 47 conicto -725 158 601 353 conicto -512 494 512 706 conicto -512 1856 lineto -384 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 384 2432 conicto -1088 2432 lineto -1088 840 lineto -1088 671 1180 591 conicto -1272 512 1462 512 conicto -1643 512 1851 576 conicto -2060 640 2368 807 conicto -2368 1856 lineto -2176 1856 lineto -1969 1856 1880 1935 conicto -1792 2015 1792 2144 conicto -1792 2273 1880 2352 conicto -1969 2432 2176 2432 conicto -2944 2432 lineto -end_ol grestore -gsave 25.335475 16.103555 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 25.792675 16.103555 translate 0.035278 -0.035278 scale -start_ol -3200 1179 moveto -3200 867 3018 575 conicto -2837 283 2477 109 conicto -2118 -64 1727 -64 conicto -1338 -64 983 106 conicto -628 277 442 570 conicto -256 864 256 1185 conicto -256 1510 444 1823 conicto -633 2136 987 2316 conicto -1341 2496 1727 2496 conicto -2115 2496 2474 2312 conicto -2834 2128 3017 1817 conicto -3200 1507 3200 1179 conicto -2624 1178 moveto -2624 1428 2429 1637 conicto -2162 1920 1728 1920 conicto -1345 1920 1088 1695 conicto -832 1471 832 1175 conicto -832 933 1091 722 conicto -1350 512 1728 512 conicto -2107 512 2365 722 conicto -2624 933 2624 1178 conicto -end_ol grestore -gsave 26.249875 16.103555 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 22.671821 11.700000 m 26.030929 11.700000 l 26.702750 13.103555 l 26.030929 14.507110 l 22.671821 14.507110 l 22.000000 13.103555 l 22.671821 11.700000 l f -0.000000 0.000000 0.000000 srgb -n 22.671821 11.700000 m 26.030929 11.700000 l 26.702750 13.103555 l 26.030929 14.507110 l 22.671821 14.507110 l 22.000000 13.103555 l 22.671821 11.700000 l s -gsave 23.233775 12.803555 translate 0.035278 -0.035278 scale -start_ol -2304 1408 moveto -1152 1408 lineto -1152 576 lineto -1216 576 lineto -1423 576 1511 496 conicto -1600 417 1600 288 conicto -1600 159 1511 79 conicto -1423 0 1216 0 conicto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 310 522 conicto -369 576 576 576 conicto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1216 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1511 2767 conicto -1423 2688 1216 2688 conicto -1152 2688 lineto -1152 1984 lineto -2304 1984 lineto -2304 2688 lineto -2240 2688 lineto -2033 2688 1944 2767 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2240 3264 conicto -2880 3264 lineto -3087 3264 3175 3184 conicto -3264 3105 3264 2976 conicto -3264 2847 3175 2767 conicto -3087 2688 2880 2688 conicto -2880 576 lineto -3087 576 3144 523 conicto -3264 417 3264 288 conicto -3264 159 3175 79 conicto -3087 0 2880 0 conicto -2240 0 lineto -2033 0 1944 79 conicto -1856 159 1856 288 conicto -1856 417 1944 496 conicto -2033 576 2240 576 conicto -2304 576 lineto -2304 1408 lineto -end_ol grestore -gsave 23.690975 12.803555 translate 0.035278 -0.035278 scale -start_ol -576 576 moveto -576 2688 lineto -512 2688 lineto -305 2688 216 2767 conicto -128 2847 128 2976 conicto -128 3105 216 3184 conicto -305 3264 512 3264 conicto -1940 3264 lineto -2450 3264 2761 3000 conicto -3072 2736 3072 2372 conicto -3072 2200 2993 2048 conicto -2914 1896 2752 1768 conicto -3040 1605 3184 1388 conicto -3328 1171 3328 898 conicto -3328 679 3230 492 conicto -3158 350 3052 265 conicto -2910 148 2704 74 conicto -2498 0 2188 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 216 496 conicto -305 576 512 576 conicto -576 576 lineto -1152 1984 moveto -1782 1984 lineto -2121 1984 2345 2128 conicto -2496 2225 2496 2370 conicto -2496 2496 2353 2592 conicto -2210 2688 1900 2688 conicto -1152 2688 lineto -1152 1984 lineto -1152 576 moveto -2147 576 lineto -2499 576 2642 679 conicto -2752 756 2752 901 conicto -2752 1074 2535 1241 conicto -2319 1408 1914 1408 conicto -1152 1408 lineto -1152 576 lineto -end_ol grestore -gsave 24.148175 12.803555 translate 0.035278 -0.035278 scale -start_ol -2944 2432 moveto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2368 192 lineto -2114 65 1883 0 conicto -1652 -64 1445 -64 conicto -1153 -64 939 47 conicto -725 158 601 353 conicto -512 494 512 706 conicto -512 1856 lineto -384 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 384 2432 conicto -1088 2432 lineto -1088 840 lineto -1088 671 1180 591 conicto -1272 512 1462 512 conicto -1643 512 1851 576 conicto -2060 640 2368 807 conicto -2368 1856 lineto -2176 1856 lineto -1969 1856 1880 1935 conicto -1792 2015 1792 2144 conicto -1792 2273 1880 2352 conicto -1969 2432 2176 2432 conicto -2944 2432 lineto -end_ol grestore -gsave 24.605375 12.803555 translate 0.035278 -0.035278 scale -start_ol -2368 2240 moveto -2368 2432 lineto -3072 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3072 1856 conicto -2944 1856 lineto -2944 -86 lineto -2944 -367 2814 -576 conicto -2685 -786 2418 -937 conicto -2151 -1088 1817 -1088 conicto -1157 -1088 lineto -947 -1088 857 -1007 conicto -768 -927 768 -801 conicto -768 -673 858 -592 conicto -948 -512 1159 -512 conicto -1805 -512 lineto -2073 -512 2220 -385 conicto -2368 -259 2368 -66 conicto -2368 182 lineto -2176 59 1978 -2 conicto -1780 -64 1572 -64 conicto -985 -64 588 304 conicto -192 673 192 1215 conicto -192 1759 588 2127 conicto -985 2496 1572 2496 conicto -1791 2496 1989 2433 conicto -2188 2370 2368 2240 conicto -2368 1216 moveto -2368 1501 2132 1710 conicto -1897 1920 1568 1920 conicto -1239 1920 1003 1710 conicto -768 1501 768 1216 conicto -768 928 1003 720 conicto -1239 512 1568 512 conicto -1897 512 2132 720 conicto -2368 928 2368 1216 conicto -end_ol grestore -gsave 25.062575 12.803555 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -gsave 23.221075 13.803555 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 23.678275 13.803555 translate 0.035278 -0.035278 scale -start_ol -2944 2432 moveto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2368 192 lineto -2114 65 1883 0 conicto -1652 -64 1445 -64 conicto -1153 -64 939 47 conicto -725 158 601 353 conicto -512 494 512 706 conicto -512 1856 lineto -384 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 384 2432 conicto -1088 2432 lineto -1088 840 lineto -1088 671 1180 591 conicto -1272 512 1462 512 conicto -1643 512 1851 576 conicto -2060 640 2368 807 conicto -2368 1856 lineto -2176 1856 lineto -1969 1856 1880 1935 conicto -1792 2015 1792 2144 conicto -1792 2273 1880 2352 conicto -1969 2432 2176 2432 conicto -2944 2432 lineto -end_ol grestore -gsave 24.135475 13.803555 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 24.592675 13.803555 translate 0.035278 -0.035278 scale -start_ol -3200 1179 moveto -3200 867 3018 575 conicto -2837 283 2477 109 conicto -2118 -64 1727 -64 conicto -1338 -64 983 106 conicto -628 277 442 570 conicto -256 864 256 1185 conicto -256 1510 444 1823 conicto -633 2136 987 2316 conicto -1341 2496 1727 2496 conicto -2115 2496 2474 2312 conicto -2834 2128 3017 1817 conicto -3200 1507 3200 1179 conicto -2624 1178 moveto -2624 1428 2429 1637 conicto -2162 1920 1728 1920 conicto -1345 1920 1088 1695 conicto -832 1471 832 1175 conicto -832 933 1091 722 conicto -1350 512 1728 512 conicto -2107 512 2365 722 conicto -2624 933 2624 1178 conicto -end_ol grestore -gsave 25.049875 13.803555 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n -0.399998 12.999999 m -0.399998 14.512710 l 1.616950 14.512710 l 1.616950 12.999999 l f -0.000000 0.000000 0.000000 srgb -n -0.399998 12.999999 m -0.399998 14.512710 l 1.616950 14.512710 l 1.616950 12.999999 l cp s -0.100000 slw -0 slc -0 slj -[] 0 sd -n -0.181495 13.218502 m -0.181495 14.260591 l 1.398447 14.260591 l 1.398447 13.218502 l f -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n -0.126870 14.512710 m 0.911018 14.512710 l 0.911018 14.748020 l -0.072244 14.748020 l f -0.000000 0.000000 0.000000 srgb -n -0.126870 14.512710 m 0.911018 14.512710 l 0.911018 14.748020 l -0.072244 14.748020 l cp s -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 0.911018 14.512710 m 1.343822 14.512710 l 1.289196 14.748020 l 0.911018 14.748020 l f -0.000000 0.000000 0.000000 srgb -n 0.911018 14.512710 m 1.343822 14.512710 l 1.289196 14.748020 l 0.911018 14.748020 l cp s -0.025000 slw -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 0.981611 14.583303 m 0.981611 14.677427 l 1.075736 14.677427 l 1.075736 14.583303 l f -0.000000 0.000000 0.000000 srgb -n 0.981611 14.583303 m 0.981611 14.677427 l 1.075736 14.677427 l 1.075736 14.583303 l cp s -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 0.406781 14.748020 m 0.810171 14.748020 l 0.810171 14.865676 l 1.011866 14.865676 l 1.011866 14.983331 l 0.205086 14.983331 l 0.205086 14.865676 l 0.406781 14.865676 l f -0.000000 0.000000 0.000000 srgb -n 0.406781 14.748020 m 0.810171 14.748020 l 0.810171 14.865676 l 1.011866 14.865676 l 1.011866 14.983331 l 0.205086 14.983331 l 0.205086 14.865676 l 0.406781 14.865676 l cp s -gsave -1.423524 15.750563 translate 0.035278 -0.035278 scale -start_ol -2368 2240 moveto -2368 2432 lineto -3072 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3072 1856 conicto -2944 1856 lineto -2944 -86 lineto -2944 -367 2814 -576 conicto -2685 -786 2418 -937 conicto -2151 -1088 1817 -1088 conicto -1157 -1088 lineto -947 -1088 857 -1007 conicto -768 -927 768 -801 conicto -768 -673 858 -592 conicto -948 -512 1159 -512 conicto -1805 -512 lineto -2073 -512 2220 -385 conicto -2368 -259 2368 -66 conicto -2368 182 lineto -2176 59 1978 -2 conicto -1780 -64 1572 -64 conicto -985 -64 588 304 conicto -192 673 192 1215 conicto -192 1759 588 2127 conicto -985 2496 1572 2496 conicto -1791 2496 1989 2433 conicto -2188 2370 2368 2240 conicto -2368 1216 moveto -2368 1501 2132 1710 conicto -1897 1920 1568 1920 conicto -1239 1920 1003 1710 conicto -768 1501 768 1216 conicto -768 928 1003 720 conicto -1239 512 1568 512 conicto -1897 512 2132 720 conicto -2368 928 2368 1216 conicto -end_ol grestore -gsave -0.966324 15.750563 translate 0.035278 -0.035278 scale -start_ol -2048 2688 moveto -2048 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -1088 0 lineto -881 0 792 79 conicto -704 159 704 288 conicto -704 417 792 496 conicto -881 576 1088 576 conicto -1472 576 lineto -1472 2688 lineto -832 2688 lineto -832 2112 lineto -832 1905 752 1816 conicto -673 1728 544 1728 conicto -415 1728 335 1816 conicto -256 1905 256 2112 conicto -256 3264 lineto -3264 3264 lineto -3264 2112 lineto -3264 1905 3184 1816 conicto -3105 1728 2976 1728 conicto -2847 1728 2767 1816 conicto -2688 1905 2688 2112 conicto -2688 2688 lineto -2048 2688 lineto -end_ol grestore -gsave -0.509124 15.750563 translate 0.035278 -0.035278 scale -start_ol -3200 1179 moveto -3200 867 3018 575 conicto -2837 283 2477 109 conicto -2118 -64 1727 -64 conicto -1338 -64 983 106 conicto -628 277 442 570 conicto -256 864 256 1185 conicto -256 1510 444 1823 conicto -633 2136 987 2316 conicto -1341 2496 1727 2496 conicto -2115 2496 2474 2312 conicto -2834 2128 3017 1817 conicto -3200 1507 3200 1179 conicto -2624 1178 moveto -2624 1428 2429 1637 conicto -2162 1920 1728 1920 conicto -1345 1920 1088 1695 conicto -832 1471 832 1175 conicto -832 933 1091 722 conicto -1350 512 1728 512 conicto -2107 512 2365 722 conicto -2624 933 2624 1178 conicto -end_ol grestore -gsave -0.051924 15.750563 translate 0.035278 -0.035278 scale -start_ol -1024 320 moveto -1024 -512 lineto -1344 -512 lineto -1551 -512 1639 -591 conicto -1728 -671 1728 -800 conicto -1728 -929 1639 -1008 conicto -1551 -1088 1344 -1088 conicto -320 -1088 lineto -113 -1088 24 -1008 conicto --64 -929 -64 -800 conicto --64 -671 24 -591 conicto -113 -512 320 -512 conicto -448 -512 lineto -448 1856 lineto -320 1856 lineto -113 1856 24 1935 conicto --64 2015 -64 2144 conicto --64 2273 24 2352 conicto -113 2432 320 2432 conicto -1024 2432 lineto -1024 2176 lineto -1216 2338 1435 2417 conicto -1655 2496 1886 2496 conicto -2485 2496 2906 2106 conicto -3328 1717 3328 1215 conicto -3328 661 2827 300 conicto -2408 0 1884 0 conicto -1657 0 1436 79 conicto -1216 159 1024 320 conicto -2752 1213 moveto -2752 1328 2655 1505 conicto -2558 1683 2358 1801 conicto -2158 1920 1888 1920 conicto -1452 1920 1197 1614 conicto -1024 1403 1024 1208 conicto -1024 990 1272 783 conicto -1521 576 1888 576 conicto -2257 576 2504 781 conicto -2752 987 2752 1213 conicto -end_ol grestore -gsave 0.405276 15.750563 translate 0.035278 -0.035278 scale -start_ol -1984 3520 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 2944 lineto -960 2944 lineto -753 2944 664 3023 conicto -576 3103 576 3232 conicto -576 3361 664 3440 conicto -753 3520 960 3520 conicto -1984 3520 lineto -end_ol grestore -gsave 0.862476 15.750563 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 1.319676 15.750563 translate 0.035278 -0.035278 scale -start_ol -1760 659 moveto -2322 1856 lineto -2097 1856 2042 1906 conicto -1920 2015 1920 2144 conicto -1920 2273 2008 2352 conicto -2097 2432 2322 2432 conicto -3079 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3079 1856 conicto -2951 1856 lineto -2080 0 lineto -1440 0 lineto -569 1856 lineto -505 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 505 2432 conicto -1198 2432 lineto -1423 2432 1511 2352 conicto -1600 2273 1600 2144 conicto -1600 2015 1482 1909 conicto -1423 1856 1198 1856 conicto -1760 659 lineto -end_ol grestore -gsave 1.776876 15.750563 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 2.234076 15.750563 translate 0.035278 -0.035278 scale -start_ol -1984 3520 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 2944 lineto -960 2944 lineto -753 2944 664 3023 conicto -576 3103 576 3232 conicto -576 3361 664 3440 conicto -753 3520 960 3520 conicto -1984 3520 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 6.800000 13.300000 m 6.800000 15.600000 l 15.607880 15.600000 l 15.607880 13.300000 l f -0.000000 0.000000 0.000000 srgb -n 6.800000 13.300000 m 6.800000 15.600000 l 15.607880 15.600000 l 15.607880 13.300000 l cp s -0 slc -0 slj -[] 0 sd -n 7.680788 13.300000 m 7.680788 15.600000 l s -0 slc -0 slj -[] 0 sd -n 14.727092 13.300000 m 14.727092 15.600000 l s -gsave 8.473440 14.650000 translate 0.035278 -0.035278 scale -start_ol -2304 1408 moveto -1152 1408 lineto -1152 576 lineto -1216 576 lineto -1423 576 1511 496 conicto -1600 417 1600 288 conicto -1600 159 1511 79 conicto -1423 0 1216 0 conicto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 310 522 conicto -369 576 576 576 conicto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1216 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1511 2767 conicto -1423 2688 1216 2688 conicto -1152 2688 lineto -1152 1984 lineto -2304 1984 lineto -2304 2688 lineto -2240 2688 lineto -2033 2688 1944 2767 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2240 3264 conicto -2880 3264 lineto -3087 3264 3175 3184 conicto -3264 3105 3264 2976 conicto -3264 2847 3175 2767 conicto -3087 2688 2880 2688 conicto -2880 576 lineto -3087 576 3144 523 conicto -3264 417 3264 288 conicto -3264 159 3175 79 conicto -3087 0 2880 0 conicto -2240 0 lineto -2033 0 1944 79 conicto -1856 159 1856 288 conicto -1856 417 1944 496 conicto -2033 576 2240 576 conicto -2304 576 lineto -2304 1408 lineto -end_ol grestore -gsave 8.930640 14.650000 translate 0.035278 -0.035278 scale -start_ol -576 576 moveto -576 2688 lineto -512 2688 lineto -305 2688 216 2767 conicto -128 2847 128 2976 conicto -128 3105 216 3184 conicto -305 3264 512 3264 conicto -1940 3264 lineto -2450 3264 2761 3000 conicto -3072 2736 3072 2372 conicto -3072 2200 2993 2048 conicto -2914 1896 2752 1768 conicto -3040 1605 3184 1388 conicto -3328 1171 3328 898 conicto -3328 679 3230 492 conicto -3158 350 3052 265 conicto -2910 148 2704 74 conicto -2498 0 2188 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 216 496 conicto -305 576 512 576 conicto -576 576 lineto -1152 1984 moveto -1782 1984 lineto -2121 1984 2345 2128 conicto -2496 2225 2496 2370 conicto -2496 2496 2353 2592 conicto -2210 2688 1900 2688 conicto -1152 2688 lineto -1152 1984 lineto -1152 576 moveto -2147 576 lineto -2499 576 2642 679 conicto -2752 756 2752 901 conicto -2752 1074 2535 1241 conicto -2319 1408 1914 1408 conicto -1152 1408 lineto -1152 576 lineto -end_ol grestore -gsave 9.387840 14.650000 translate 0.035278 -0.035278 scale -start_ol -2944 2432 moveto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2368 192 lineto -2114 65 1883 0 conicto -1652 -64 1445 -64 conicto -1153 -64 939 47 conicto -725 158 601 353 conicto -512 494 512 706 conicto -512 1856 lineto -384 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 384 2432 conicto -1088 2432 lineto -1088 840 lineto -1088 671 1180 591 conicto -1272 512 1462 512 conicto -1643 512 1851 576 conicto -2060 640 2368 807 conicto -2368 1856 lineto -2176 1856 lineto -1969 1856 1880 1935 conicto -1792 2015 1792 2144 conicto -1792 2273 1880 2352 conicto -1969 2432 2176 2432 conicto -2944 2432 lineto -end_ol grestore -gsave 9.845040 14.650000 translate 0.035278 -0.035278 scale -start_ol -2368 2240 moveto -2368 2432 lineto -3072 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3072 1856 conicto -2944 1856 lineto -2944 -86 lineto -2944 -367 2814 -576 conicto -2685 -786 2418 -937 conicto -2151 -1088 1817 -1088 conicto -1157 -1088 lineto -947 -1088 857 -1007 conicto -768 -927 768 -801 conicto -768 -673 858 -592 conicto -948 -512 1159 -512 conicto -1805 -512 lineto -2073 -512 2220 -385 conicto -2368 -259 2368 -66 conicto -2368 182 lineto -2176 59 1978 -2 conicto -1780 -64 1572 -64 conicto -985 -64 588 304 conicto -192 673 192 1215 conicto -192 1759 588 2127 conicto -985 2496 1572 2496 conicto -1791 2496 1989 2433 conicto -2188 2370 2368 2240 conicto -2368 1216 moveto -2368 1501 2132 1710 conicto -1897 1920 1568 1920 conicto -1239 1920 1003 1710 conicto -768 1501 768 1216 conicto -768 928 1003 720 conicto -1239 512 1568 512 conicto -1897 512 2132 720 conicto -2368 928 2368 1216 conicto -end_ol grestore -gsave 10.302240 14.650000 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -gsave 10.759440 14.650000 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave 11.216640 14.650000 translate 0.035278 -0.035278 scale -start_ol -1024 3520 moveto -1024 2220 lineto -1235 2358 1453 2427 conicto -1672 2496 1894 2496 conicto -2494 2496 2911 2107 conicto -3328 1719 3328 1169 conicto -3328 642 2931 289 conicto -2534 -64 1883 -64 conicto -1652 -64 1438 -2 conicto -1224 60 1024 181 conicto -1024 0 lineto -320 0 lineto -113 0 24 79 conicto --64 159 -64 288 conicto --64 417 24 496 conicto -113 576 320 576 conicto -448 576 lineto -448 2944 lineto -320 2944 lineto -113 2944 24 3023 conicto --64 3103 -64 3232 conicto --64 3361 24 3440 conicto -113 3520 320 3520 conicto -1024 3520 lineto -2752 1155 moveto -2752 1476 2501 1698 conicto -2251 1920 1887 1920 conicto -1526 1920 1275 1698 conicto -1024 1476 1024 1163 conicto -1024 878 1249 695 conicto -1475 512 1887 512 conicto -2299 512 2525 695 conicto -2752 878 2752 1155 conicto -end_ol grestore -gsave 11.673840 14.650000 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -gsave 12.131040 14.650000 translate 0.035278 -0.035278 scale -start_ol -3200 1179 moveto -3200 867 3018 575 conicto -2837 283 2477 109 conicto -2118 -64 1727 -64 conicto -1338 -64 983 106 conicto -628 277 442 570 conicto -256 864 256 1185 conicto -256 1510 444 1823 conicto -633 2136 987 2316 conicto -1341 2496 1727 2496 conicto -2115 2496 2474 2312 conicto -2834 2128 3017 1817 conicto -3200 1507 3200 1179 conicto -2624 1178 moveto -2624 1428 2429 1637 conicto -2162 1920 1728 1920 conicto -1345 1920 1088 1695 conicto -832 1471 832 1175 conicto -832 933 1091 722 conicto -1350 512 1728 512 conicto -2107 512 2365 722 conicto -2624 933 2624 1178 conicto -end_ol grestore -gsave 12.588240 14.650000 translate 0.035278 -0.035278 scale -start_ol -1216 918 moveto -1216 0 lineto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 216 496 conicto -305 576 512 576 conicto -640 576 lineto -640 2944 lineto -512 2944 lineto -305 2944 216 3023 conicto -128 3103 128 3232 conicto -128 3361 216 3440 conicto -305 3520 512 3520 conicto -1216 3520 lineto -1216 1623 lineto -1674 1968 lineto -1664 2083 1664 2156 conicto -1664 2279 1746 2355 conicto -1829 2432 2028 2432 conicto -2653 2432 lineto -2895 2432 2983 2352 conicto -3072 2273 3072 2144 conicto -3072 2015 2983 1935 conicto -2895 1856 2653 1856 conicto -2461 1856 lineto -1786 1343 lineto -2713 576 lineto -2905 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2905 0 conicto -2241 0 lineto -2033 0 1944 76 conicto -1856 152 1856 276 conicto -1856 380 1946 482 conicto -1325 996 lineto -1216 918 lineto -end_ol grestore -gsave 13.045440 14.650000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 13.502640 14.650000 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 21.671821 9.299990 m 25.030929 9.299990 l 25.702750 10.703545 l 25.030929 12.107100 l 21.671821 12.107100 l 21.000000 10.703545 l 21.671821 9.299990 l f -0.000000 0.000000 0.000000 srgb -n 21.671821 9.299990 m 25.030929 9.299990 l 25.702750 10.703545 l 25.030929 12.107100 l 21.671821 12.107100 l 21.000000 10.703545 l 21.671821 9.299990 l s -gsave 22.233775 10.403545 translate 0.035278 -0.035278 scale -start_ol -2304 1408 moveto -1152 1408 lineto -1152 576 lineto -1216 576 lineto -1423 576 1511 496 conicto -1600 417 1600 288 conicto -1600 159 1511 79 conicto -1423 0 1216 0 conicto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 310 522 conicto -369 576 576 576 conicto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1216 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1511 2767 conicto -1423 2688 1216 2688 conicto -1152 2688 lineto -1152 1984 lineto -2304 1984 lineto -2304 2688 lineto -2240 2688 lineto -2033 2688 1944 2767 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2240 3264 conicto -2880 3264 lineto -3087 3264 3175 3184 conicto -3264 3105 3264 2976 conicto -3264 2847 3175 2767 conicto -3087 2688 2880 2688 conicto -2880 576 lineto -3087 576 3144 523 conicto -3264 417 3264 288 conicto -3264 159 3175 79 conicto -3087 0 2880 0 conicto -2240 0 lineto -2033 0 1944 79 conicto -1856 159 1856 288 conicto -1856 417 1944 496 conicto -2033 576 2240 576 conicto -2304 576 lineto -2304 1408 lineto -end_ol grestore -gsave 22.690975 10.403545 translate 0.035278 -0.035278 scale -start_ol -576 576 moveto -576 2688 lineto -512 2688 lineto -305 2688 216 2767 conicto -128 2847 128 2976 conicto -128 3105 216 3184 conicto -305 3264 512 3264 conicto -1940 3264 lineto -2450 3264 2761 3000 conicto -3072 2736 3072 2372 conicto -3072 2200 2993 2048 conicto -2914 1896 2752 1768 conicto -3040 1605 3184 1388 conicto -3328 1171 3328 898 conicto -3328 679 3230 492 conicto -3158 350 3052 265 conicto -2910 148 2704 74 conicto -2498 0 2188 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 216 496 conicto -305 576 512 576 conicto -576 576 lineto -1152 1984 moveto -1782 1984 lineto -2121 1984 2345 2128 conicto -2496 2225 2496 2370 conicto -2496 2496 2353 2592 conicto -2210 2688 1900 2688 conicto -1152 2688 lineto -1152 1984 lineto -1152 576 moveto -2147 576 lineto -2499 576 2642 679 conicto -2752 756 2752 901 conicto -2752 1074 2535 1241 conicto -2319 1408 1914 1408 conicto -1152 1408 lineto -1152 576 lineto -end_ol grestore -gsave 23.148175 10.403545 translate 0.035278 -0.035278 scale -start_ol -2944 2432 moveto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2368 192 lineto -2114 65 1883 0 conicto -1652 -64 1445 -64 conicto -1153 -64 939 47 conicto -725 158 601 353 conicto -512 494 512 706 conicto -512 1856 lineto -384 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 384 2432 conicto -1088 2432 lineto -1088 840 lineto -1088 671 1180 591 conicto -1272 512 1462 512 conicto -1643 512 1851 576 conicto -2060 640 2368 807 conicto -2368 1856 lineto -2176 1856 lineto -1969 1856 1880 1935 conicto -1792 2015 1792 2144 conicto -1792 2273 1880 2352 conicto -1969 2432 2176 2432 conicto -2944 2432 lineto -end_ol grestore -gsave 23.605375 10.403545 translate 0.035278 -0.035278 scale -start_ol -2368 2240 moveto -2368 2432 lineto -3072 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3072 1856 conicto -2944 1856 lineto -2944 -86 lineto -2944 -367 2814 -576 conicto -2685 -786 2418 -937 conicto -2151 -1088 1817 -1088 conicto -1157 -1088 lineto -947 -1088 857 -1007 conicto -768 -927 768 -801 conicto -768 -673 858 -592 conicto -948 -512 1159 -512 conicto -1805 -512 lineto -2073 -512 2220 -385 conicto -2368 -259 2368 -66 conicto -2368 182 lineto -2176 59 1978 -2 conicto -1780 -64 1572 -64 conicto -985 -64 588 304 conicto -192 673 192 1215 conicto -192 1759 588 2127 conicto -985 2496 1572 2496 conicto -1791 2496 1989 2433 conicto -2188 2370 2368 2240 conicto -2368 1216 moveto -2368 1501 2132 1710 conicto -1897 1920 1568 1920 conicto -1239 1920 1003 1710 conicto -768 1501 768 1216 conicto -768 928 1003 720 conicto -1239 512 1568 512 conicto -1897 512 2132 720 conicto -2368 928 2368 1216 conicto -end_ol grestore -gsave 24.062575 10.403545 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -gsave 22.221075 11.403545 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 22.678275 11.403545 translate 0.035278 -0.035278 scale -start_ol -2944 2432 moveto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2368 192 lineto -2114 65 1883 0 conicto -1652 -64 1445 -64 conicto -1153 -64 939 47 conicto -725 158 601 353 conicto -512 494 512 706 conicto -512 1856 lineto -384 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 384 2432 conicto -1088 2432 lineto -1088 840 lineto -1088 671 1180 591 conicto -1272 512 1462 512 conicto -1643 512 1851 576 conicto -2060 640 2368 807 conicto -2368 1856 lineto -2176 1856 lineto -1969 1856 1880 1935 conicto -1792 2015 1792 2144 conicto -1792 2273 1880 2352 conicto -1969 2432 2176 2432 conicto -2944 2432 lineto -end_ol grestore -gsave 23.135475 11.403545 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 23.592675 11.403545 translate 0.035278 -0.035278 scale -start_ol -3200 1179 moveto -3200 867 3018 575 conicto -2837 283 2477 109 conicto -2118 -64 1727 -64 conicto -1338 -64 983 106 conicto -628 277 442 570 conicto -256 864 256 1185 conicto -256 1510 444 1823 conicto -633 2136 987 2316 conicto -1341 2496 1727 2496 conicto -2115 2496 2474 2312 conicto -2834 2128 3017 1817 conicto -3200 1507 3200 1179 conicto -2624 1178 moveto -2624 1428 2429 1637 conicto -2162 1920 1728 1920 conicto -1345 1920 1088 1695 conicto -832 1471 832 1175 conicto -832 933 1091 722 conicto -1350 512 1728 512 conicto -2107 512 2365 722 conicto -2624 933 2624 1178 conicto -end_ol grestore -gsave 24.049875 11.403545 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n -6.099990 6.559990 m 3.014320 6.559990 l 3.014320 8.728519 l 1.191458 8.367097 0.280027 8.367097 -1.542835 8.728519 c -3.365697 9.089940 -4.277128 9.089940 -6.099990 8.728519 c -6.099990 6.559990 l f -0.000000 0.000000 0.000000 srgb -n -6.099990 6.559990 m 3.014320 6.559990 l 3.014320 8.728519 l 1.191458 8.367097 0.280027 8.367097 -1.542835 8.728519 c -3.365697 9.089940 -4.277128 9.089940 -6.099990 8.728519 c -6.099990 6.559990 l s -gsave -5.175035 7.663544 translate 0.035278 -0.035278 scale -start_ol -2368 2240 moveto -2368 2432 lineto -3072 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3072 1856 conicto -2944 1856 lineto -2944 -86 lineto -2944 -367 2814 -576 conicto -2685 -786 2418 -937 conicto -2151 -1088 1817 -1088 conicto -1157 -1088 lineto -947 -1088 857 -1007 conicto -768 -927 768 -801 conicto -768 -673 858 -592 conicto -948 -512 1159 -512 conicto -1805 -512 lineto -2073 -512 2220 -385 conicto -2368 -259 2368 -66 conicto -2368 182 lineto -2176 59 1978 -2 conicto -1780 -64 1572 -64 conicto -985 -64 588 304 conicto -192 673 192 1215 conicto -192 1759 588 2127 conicto -985 2496 1572 2496 conicto -1791 2496 1989 2433 conicto -2188 2370 2368 2240 conicto -2368 1216 moveto -2368 1501 2132 1710 conicto -1897 1920 1568 1920 conicto -1239 1920 1003 1710 conicto -768 1501 768 1216 conicto -768 928 1003 720 conicto -1239 512 1568 512 conicto -1897 512 2132 720 conicto -2368 928 2368 1216 conicto -end_ol grestore -gsave -4.717835 7.663544 translate 0.035278 -0.035278 scale -start_ol -2048 2688 moveto -2048 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -1088 0 lineto -881 0 792 79 conicto -704 159 704 288 conicto -704 417 792 496 conicto -881 576 1088 576 conicto -1472 576 lineto -1472 2688 lineto -832 2688 lineto -832 2112 lineto -832 1905 752 1816 conicto -673 1728 544 1728 conicto -415 1728 335 1816 conicto -256 1905 256 2112 conicto -256 3264 lineto -3264 3264 lineto -3264 2112 lineto -3264 1905 3184 1816 conicto -3105 1728 2976 1728 conicto -2847 1728 2767 1816 conicto -2688 1905 2688 2112 conicto -2688 2688 lineto -2048 2688 lineto -end_ol grestore -gsave -4.260635 7.663544 translate 0.035278 -0.035278 scale -start_ol -3200 1179 moveto -3200 867 3018 575 conicto -2837 283 2477 109 conicto -2118 -64 1727 -64 conicto -1338 -64 983 106 conicto -628 277 442 570 conicto -256 864 256 1185 conicto -256 1510 444 1823 conicto -633 2136 987 2316 conicto -1341 2496 1727 2496 conicto -2115 2496 2474 2312 conicto -2834 2128 3017 1817 conicto -3200 1507 3200 1179 conicto -2624 1178 moveto -2624 1428 2429 1637 conicto -2162 1920 1728 1920 conicto -1345 1920 1088 1695 conicto -832 1471 832 1175 conicto -832 933 1091 722 conicto -1350 512 1728 512 conicto -2107 512 2365 722 conicto -2624 933 2624 1178 conicto -end_ol grestore -gsave -3.803435 7.663544 translate 0.035278 -0.035278 scale -start_ol -1024 320 moveto -1024 -512 lineto -1344 -512 lineto -1551 -512 1639 -591 conicto -1728 -671 1728 -800 conicto -1728 -929 1639 -1008 conicto -1551 -1088 1344 -1088 conicto -320 -1088 lineto -113 -1088 24 -1008 conicto --64 -929 -64 -800 conicto --64 -671 24 -591 conicto -113 -512 320 -512 conicto -448 -512 lineto -448 1856 lineto -320 1856 lineto -113 1856 24 1935 conicto --64 2015 -64 2144 conicto --64 2273 24 2352 conicto -113 2432 320 2432 conicto -1024 2432 lineto -1024 2176 lineto -1216 2338 1435 2417 conicto -1655 2496 1886 2496 conicto -2485 2496 2906 2106 conicto -3328 1717 3328 1215 conicto -3328 661 2827 300 conicto -2408 0 1884 0 conicto -1657 0 1436 79 conicto -1216 159 1024 320 conicto -2752 1213 moveto -2752 1328 2655 1505 conicto -2558 1683 2358 1801 conicto -2158 1920 1888 1920 conicto -1452 1920 1197 1614 conicto -1024 1403 1024 1208 conicto -1024 990 1272 783 conicto -1521 576 1888 576 conicto -2257 576 2504 781 conicto -2752 987 2752 1213 conicto -end_ol grestore -gsave -3.346235 7.663544 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave -2.889035 7.663544 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave -2.431835 7.663544 translate 0.035278 -0.035278 scale -start_ol -1760 659 moveto -2322 1856 lineto -2097 1856 2042 1906 conicto -1920 2015 1920 2144 conicto -1920 2273 2008 2352 conicto -2097 2432 2322 2432 conicto -3079 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3079 1856 conicto -2951 1856 lineto -2080 0 lineto -1440 0 lineto -569 1856 lineto -505 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 505 2432 conicto -1198 2432 lineto -1423 2432 1511 2352 conicto -1600 2273 1600 2144 conicto -1600 2015 1482 1909 conicto -1423 1856 1198 1856 conicto -1760 659 lineto -end_ol grestore -gsave -1.974635 7.663544 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave -1.517435 7.663544 translate 0.035278 -0.035278 scale -start_ol -1984 3520 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 2944 lineto -960 2944 lineto -753 2944 664 3023 conicto -576 3103 576 3232 conicto -576 3361 664 3440 conicto -753 3520 960 3520 conicto -1984 3520 lineto -end_ol grestore -gsave -1.060235 7.663544 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave -0.603035 7.663544 translate 0.035278 -0.035278 scale -start_ol -960 192 moveto -877 69 826 34 conicto -776 0 703 0 conicto -559 0 471 88 conicto -384 176 384 381 conicto -384 767 lineto -384 975 464 1063 conicto -544 1152 675 1152 conicto -776 1152 844 1101 conicto -913 1050 949 930 conicto -985 810 1024 767 conicto -1106 684 1314 598 conicto -1522 512 1770 512 conicto -2155 512 2402 678 conicto -2560 780 2560 927 conicto -2560 1026 2485 1113 conicto -2410 1201 2240 1257 conicto -2129 1297 1744 1364 conicto -1278 1444 1035 1560 conicto -793 1677 652 1890 conicto -512 2103 512 2350 conicto -512 2740 843 3034 conicto -1175 3328 1706 3328 conicto -1920 3328 2101 3265 conicto -2283 3203 2432 3072 conicto -2559 3264 2685 3264 conicto -2828 3264 2918 3174 conicto -3008 3085 3008 2876 conicto -3008 2438 lineto -3008 2227 2928 2137 conicto -2849 2048 2723 2048 conicto -2616 2048 2538 2112 conicto -2477 2159 2446 2300 conicto -2416 2441 2368 2503 conicto -2287 2608 2126 2680 conicto -1965 2752 1754 2752 conicto -1446 2752 1267 2618 conicto -1088 2485 1088 2339 conicto -1088 2240 1161 2148 conicto -1235 2057 1377 2004 conicto -1471 1968 1908 1888 conicto -2346 1808 2583 1709 conicto -2821 1611 2978 1401 conicto -3136 1191 3136 901 conicto -3136 497 2842 255 conicto -2450 -64 1846 -64 conicto -1612 -64 1390 0 conicto -1169 64 960 192 conicto -end_ol grestore -gsave -0.145835 7.663544 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 0.311365 7.663544 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 0.768565 7.663544 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 1.225765 7.663544 translate 0.035278 -0.035278 scale -start_ol -2944 2432 moveto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2368 192 lineto -2114 65 1883 0 conicto -1652 -64 1445 -64 conicto -1153 -64 939 47 conicto -725 158 601 353 conicto -512 494 512 706 conicto -512 1856 lineto -384 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 384 2432 conicto -1088 2432 lineto -1088 840 lineto -1088 671 1180 591 conicto -1272 512 1462 512 conicto -1643 512 1851 576 conicto -2060 640 2368 807 conicto -2368 1856 lineto -2176 1856 lineto -1969 1856 1880 1935 conicto -1792 2015 1792 2144 conicto -1792 2273 1880 2352 conicto -1969 2432 2176 2432 conicto -2944 2432 lineto -end_ol grestore -gsave 1.682965 7.663544 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -0.100000 slw -[1.000000] 0 sd -[0.200000] 0 sd -0 slc -n 0.094267 11.510521 m -1.137107 9.417999 l s -0 slj -n -0.250472 11.713388 m 0.500000 12.200000 l 0.439006 11.307655 l f -0 slj -n -0.792368 9.215132 m -1.542840 8.728520 l -1.481846 9.620865 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.621123 19.754992 8.581505 8.581505 238.989713 305.507102 ellipse s -0 slj -n 10.339931 13.068576 m 11.203900 13.300000 l 10.870657 12.469970 l f -gsave 4.353790 10.600000 translate 0.035278 -0.035278 scale -start_ol -960 192 moveto -877 69 826 34 conicto -776 0 703 0 conicto -559 0 471 88 conicto -384 176 384 381 conicto -384 767 lineto -384 975 464 1063 conicto -544 1152 675 1152 conicto -776 1152 844 1101 conicto -913 1050 949 930 conicto -985 810 1024 767 conicto -1106 684 1314 598 conicto -1522 512 1770 512 conicto -2155 512 2402 678 conicto -2560 780 2560 927 conicto -2560 1026 2485 1113 conicto -2410 1201 2240 1257 conicto -2129 1297 1744 1364 conicto -1278 1444 1035 1560 conicto -793 1677 652 1890 conicto -512 2103 512 2350 conicto -512 2740 843 3034 conicto -1175 3328 1706 3328 conicto -1920 3328 2101 3265 conicto -2283 3203 2432 3072 conicto -2559 3264 2685 3264 conicto -2828 3264 2918 3174 conicto -3008 3085 3008 2876 conicto -3008 2438 lineto -3008 2227 2928 2137 conicto -2849 2048 2723 2048 conicto -2616 2048 2538 2112 conicto -2477 2159 2446 2300 conicto -2416 2441 2368 2503 conicto -2287 2608 2126 2680 conicto -1965 2752 1754 2752 conicto -1446 2752 1267 2618 conicto -1088 2485 1088 2339 conicto -1088 2240 1161 2148 conicto -1235 2057 1377 2004 conicto -1471 1968 1908 1888 conicto -2346 1808 2583 1709 conicto -2821 1611 2978 1401 conicto -3136 1191 3136 901 conicto -3136 497 2842 255 conicto -2450 -64 1846 -64 conicto -1612 -64 1390 0 conicto -1169 64 960 192 conicto -end_ol grestore -gsave 4.810990 10.600000 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 5.268190 10.600000 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 5.725390 10.600000 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 6.182590 10.600000 translate 0.035278 -0.035278 scale -start_ol -2944 2432 moveto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2368 192 lineto -2114 65 1883 0 conicto -1652 -64 1445 -64 conicto -1153 -64 939 47 conicto -725 158 601 353 conicto -512 494 512 706 conicto -512 1856 lineto -384 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 384 2432 conicto -1088 2432 lineto -1088 840 lineto -1088 671 1180 591 conicto -1272 512 1462 512 conicto -1643 512 1851 576 conicto -2060 640 2368 807 conicto -2368 1856 lineto -2176 1856 lineto -1969 1856 1880 1935 conicto -1792 2015 1792 2144 conicto -1792 2273 1880 2352 conicto -1969 2432 2176 2432 conicto -2944 2432 lineto -end_ol grestore -gsave 6.639790 10.600000 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.887079 9.794086 7.872562 7.872562 47.517810 119.177790 ellipse s -0 slj -n 2.282891 16.343188 m 1.400000 16.200000 l 1.815184 16.992226 l f -gsave 5.189823 18.700000 translate 0.035278 -0.035278 scale -start_ol -2304 1408 moveto -1152 1408 lineto -1152 576 lineto -1216 576 lineto -1423 576 1511 496 conicto -1600 417 1600 288 conicto -1600 159 1511 79 conicto -1423 0 1216 0 conicto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 310 522 conicto -369 576 576 576 conicto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1216 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1511 2767 conicto -1423 2688 1216 2688 conicto -1152 2688 lineto -1152 1984 lineto -2304 1984 lineto -2304 2688 lineto -2240 2688 lineto -2033 2688 1944 2767 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2240 3264 conicto -2880 3264 lineto -3087 3264 3175 3184 conicto -3264 3105 3264 2976 conicto -3264 2847 3175 2767 conicto -3087 2688 2880 2688 conicto -2880 576 lineto -3087 576 3144 523 conicto -3264 417 3264 288 conicto -3264 159 3175 79 conicto -3087 0 2880 0 conicto -2240 0 lineto -2033 0 1944 79 conicto -1856 159 1856 288 conicto -1856 417 1944 496 conicto -2033 576 2240 576 conicto -2304 576 lineto -2304 1408 lineto -end_ol grestore -gsave 5.647023 18.700000 translate 0.035278 -0.035278 scale -start_ol -1920 3520 moveto -1920 2944 lineto -1344 2944 lineto -1344 3520 lineto -1920 3520 lineto -1984 2432 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 1856 lineto -960 1856 lineto -753 1856 664 1935 conicto -576 2015 576 2144 conicto -576 2273 664 2352 conicto -753 2432 960 2432 conicto -1984 2432 lineto -end_ol grestore -gsave 6.104223 18.700000 translate 0.035278 -0.035278 scale -start_ol -1088 2432 moveto -1088 2240 lineto -1249 2368 1444 2432 conicto -1640 2496 1868 2496 conicto -2395 2496 2701 2199 conicto -2944 1962 2944 1578 conicto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2161 0 2072 79 conicto -1984 159 1984 288 conicto -1984 417 2072 496 conicto -2161 576 2368 576 conicto -2368 1567 lineto -2368 1738 2263 1818 conicto -2124 1920 1849 1920 conicto -1641 1920 1484 1846 conicto -1328 1773 1088 1536 conicto -1088 576 lineto -1295 576 1352 522 conicto -1472 417 1472 288 conicto -1472 159 1383 79 conicto -1295 0 1088 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 246 523 conicto -305 576 512 576 conicto -512 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 512 2432 conicto -1088 2432 lineto -end_ol grestore -gsave 6.561423 18.700000 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 15.607900 13.300000 m 20.279215 11.050585 l s -0 slj -n 20.452757 11.410978 m 21.000000 10.703500 l 20.105672 10.690193 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 15.607900 13.875000 m 21.205764 13.199361 l s -0 slj -n 21.253695 13.596479 m 22.000000 13.103500 l 21.157834 12.802243 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 15.607900 14.450000 m 22.406236 15.303810 l s -0 slj -n 22.356391 15.700692 m 23.200000 15.403500 l 22.456080 14.906928 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 15.607900 15.025000 m 23.138731 17.457596 l s -0 slj -n 23.015779 17.838231 m 23.900000 17.703500 l 23.261682 17.076961 l f -gsave 17.753800 13.000000 translate 0.035278 -0.035278 scale -start_ol -960 192 moveto -877 69 826 34 conicto -776 0 703 0 conicto -559 0 471 88 conicto -384 176 384 381 conicto -384 767 lineto -384 975 464 1063 conicto -544 1152 675 1152 conicto -776 1152 844 1101 conicto -913 1050 949 930 conicto -985 810 1024 767 conicto -1106 684 1314 598 conicto -1522 512 1770 512 conicto -2155 512 2402 678 conicto -2560 780 2560 927 conicto -2560 1026 2485 1113 conicto -2410 1201 2240 1257 conicto -2129 1297 1744 1364 conicto -1278 1444 1035 1560 conicto -793 1677 652 1890 conicto -512 2103 512 2350 conicto -512 2740 843 3034 conicto -1175 3328 1706 3328 conicto -1920 3328 2101 3265 conicto -2283 3203 2432 3072 conicto -2559 3264 2685 3264 conicto -2828 3264 2918 3174 conicto -3008 3085 3008 2876 conicto -3008 2438 lineto -3008 2227 2928 2137 conicto -2849 2048 2723 2048 conicto -2616 2048 2538 2112 conicto -2477 2159 2446 2300 conicto -2416 2441 2368 2503 conicto -2287 2608 2126 2680 conicto -1965 2752 1754 2752 conicto -1446 2752 1267 2618 conicto -1088 2485 1088 2339 conicto -1088 2240 1161 2148 conicto -1235 2057 1377 2004 conicto -1471 1968 1908 1888 conicto -2346 1808 2583 1709 conicto -2821 1611 2978 1401 conicto -3136 1191 3136 901 conicto -3136 497 2842 255 conicto -2450 -64 1846 -64 conicto -1612 -64 1390 0 conicto -1169 64 960 192 conicto -end_ol grestore -gsave 18.211000 13.000000 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 18.668200 13.000000 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 19.125400 13.000000 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 19.582600 13.000000 translate 0.035278 -0.035278 scale -start_ol -2944 2432 moveto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2368 192 lineto -2114 65 1883 0 conicto -1652 -64 1445 -64 conicto -1153 -64 939 47 conicto -725 158 601 353 conicto -512 494 512 706 conicto -512 1856 lineto -384 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 384 2432 conicto -1088 2432 lineto -1088 840 lineto -1088 671 1180 591 conicto -1272 512 1462 512 conicto -1643 512 1851 576 conicto -2060 640 2368 807 conicto -2368 1856 lineto -2176 1856 lineto -1969 1856 1880 1935 conicto -1792 2015 1792 2144 conicto -1792 2273 1880 2352 conicto -1969 2432 2176 2432 conicto -2944 2432 lineto -end_ol grestore -gsave 20.039800 13.000000 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 21.159450 10.332229 9.415014 9.415014 68.750062 140.933629 ellipse s -0 slj -n 14.182359 16.043972 m 13.405900 15.600000 l 13.516598 16.487551 l f -gsave 17.489833 20.300000 translate 0.035278 -0.035278 scale -start_ol -2304 1408 moveto -1152 1408 lineto -1152 576 lineto -1216 576 lineto -1423 576 1511 496 conicto -1600 417 1600 288 conicto -1600 159 1511 79 conicto -1423 0 1216 0 conicto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 310 522 conicto -369 576 576 576 conicto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1216 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1511 2767 conicto -1423 2688 1216 2688 conicto -1152 2688 lineto -1152 1984 lineto -2304 1984 lineto -2304 2688 lineto -2240 2688 lineto -2033 2688 1944 2767 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2240 3264 conicto -2880 3264 lineto -3087 3264 3175 3184 conicto -3264 3105 3264 2976 conicto -3264 2847 3175 2767 conicto -3087 2688 2880 2688 conicto -2880 576 lineto -3087 576 3144 523 conicto -3264 417 3264 288 conicto -3264 159 3175 79 conicto -3087 0 2880 0 conicto -2240 0 lineto -2033 0 1944 79 conicto -1856 159 1856 288 conicto -1856 417 1944 496 conicto -2033 576 2240 576 conicto -2304 576 lineto -2304 1408 lineto -end_ol grestore -gsave 17.947033 20.300000 translate 0.035278 -0.035278 scale -start_ol -1920 3520 moveto -1920 2944 lineto -1344 2944 lineto -1344 3520 lineto -1920 3520 lineto -1984 2432 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 1856 lineto -960 1856 lineto -753 1856 664 1935 conicto -576 2015 576 2144 conicto -576 2273 664 2352 conicto -753 2432 960 2432 conicto -1984 2432 lineto -end_ol grestore -gsave 18.404233 20.300000 translate 0.035278 -0.035278 scale -start_ol -1088 2432 moveto -1088 2240 lineto -1249 2368 1444 2432 conicto -1640 2496 1868 2496 conicto -2395 2496 2701 2199 conicto -2944 1962 2944 1578 conicto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2161 0 2072 79 conicto -1984 159 1984 288 conicto -1984 417 2072 496 conicto -2161 576 2368 576 conicto -2368 1567 lineto -2368 1738 2263 1818 conicto -2124 1920 1849 1920 conicto -1641 1920 1484 1846 conicto -1328 1773 1088 1536 conicto -1088 576 lineto -1295 576 1352 522 conicto -1472 417 1472 288 conicto -1472 159 1383 79 conicto -1295 0 1088 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 246 523 conicto -305 576 512 576 conicto -512 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 512 2432 conicto -1088 2432 lineto -end_ol grestore -gsave 18.861433 20.300000 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n -5.699990 18.160000 m 0.255120 18.160000 l 0.255120 20.328529 l -0.935902 19.967107 -1.531413 19.967107 -2.722435 20.328529 c -3.913457 20.689950 -4.508968 20.689950 -5.699990 20.328529 c -5.699990 18.160000 l f -0.000000 0.000000 0.000000 srgb -n -5.699990 18.160000 m 0.255120 18.160000 l 0.255120 20.328529 l -0.935902 19.967107 -1.531413 19.967107 -2.722435 20.328529 c -3.913457 20.689950 -4.508968 20.689950 -5.699990 20.328529 c -5.699990 18.160000 l s -gsave -5.004202 19.263554 translate 0.035278 -0.035278 scale -start_ol -2304 1408 moveto -1152 1408 lineto -1152 576 lineto -1216 576 lineto -1423 576 1511 496 conicto -1600 417 1600 288 conicto -1600 159 1511 79 conicto -1423 0 1216 0 conicto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 310 522 conicto -369 576 576 576 conicto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1216 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1511 2767 conicto -1423 2688 1216 2688 conicto -1152 2688 lineto -1152 1984 lineto -2304 1984 lineto -2304 2688 lineto -2240 2688 lineto -2033 2688 1944 2767 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2240 3264 conicto -2880 3264 lineto -3087 3264 3175 3184 conicto -3264 3105 3264 2976 conicto -3264 2847 3175 2767 conicto -3087 2688 2880 2688 conicto -2880 576 lineto -3087 576 3144 523 conicto -3264 417 3264 288 conicto -3264 159 3175 79 conicto -3087 0 2880 0 conicto -2240 0 lineto -2033 0 1944 79 conicto -1856 159 1856 288 conicto -1856 417 1944 496 conicto -2033 576 2240 576 conicto -2304 576 lineto -2304 1408 lineto -end_ol grestore -gsave -4.547002 19.263554 translate 0.035278 -0.035278 scale -start_ol -1920 3520 moveto -1920 2944 lineto -1344 2944 lineto -1344 3520 lineto -1920 3520 lineto -1984 2432 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 1856 lineto -960 1856 lineto -753 1856 664 1935 conicto -576 2015 576 2144 conicto -576 2273 664 2352 conicto -753 2432 960 2432 conicto -1984 2432 lineto -end_ol grestore -gsave -4.089802 19.263554 translate 0.035278 -0.035278 scale -start_ol -1088 2432 moveto -1088 2240 lineto -1249 2368 1444 2432 conicto -1640 2496 1868 2496 conicto -2395 2496 2701 2199 conicto -2944 1962 2944 1578 conicto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2161 0 2072 79 conicto -1984 159 1984 288 conicto -1984 417 2072 496 conicto -2161 576 2368 576 conicto -2368 1567 lineto -2368 1738 2263 1818 conicto -2124 1920 1849 1920 conicto -1641 1920 1484 1846 conicto -1328 1773 1088 1536 conicto -1088 576 lineto -1295 576 1352 522 conicto -1472 417 1472 288 conicto -1472 159 1383 79 conicto -1295 0 1088 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 246 523 conicto -305 576 512 576 conicto -512 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 512 2432 conicto -1088 2432 lineto -end_ol grestore -gsave -3.632602 19.263554 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave -3.175402 19.263554 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -gsave -2.718202 19.263554 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave -2.261002 19.263554 translate 0.035278 -0.035278 scale -start_ol -1984 3520 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 2944 lineto -960 2944 lineto -753 2944 664 3023 conicto -576 3103 576 3232 conicto -576 3361 664 3440 conicto -753 3520 960 3520 conicto -1984 3520 lineto -end_ol grestore -gsave -1.803802 19.263554 translate 0.035278 -0.035278 scale -start_ol -1920 3520 moveto -1920 2944 lineto -1344 2944 lineto -1344 3520 lineto -1920 3520 lineto -1984 2432 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 1856 lineto -960 1856 lineto -753 1856 664 1935 conicto -576 2015 576 2144 conicto -576 2273 664 2352 conicto -753 2432 960 2432 conicto -1984 2432 lineto -end_ol grestore -gsave -1.346602 19.263554 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -gsave -0.889402 19.263554 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -0.100000 slw -[1.000000] 0 sd -[0.200000] 0 sd -0 slc -n -2.123942 17.629140 m -0.998488 16.630860 l s -0 slj -n -2.389372 17.329896 m -2.722430 18.160000 l -1.858512 17.928384 l f -0 slj -n -0.733058 16.930104 m -0.400000 16.100000 l -1.263918 16.331616 l f -gsave 16.153800 11.600000 translate 0.035278 -0.035278 scale -start_ol -960 192 moveto -877 69 826 34 conicto -776 0 703 0 conicto -559 0 471 88 conicto -384 176 384 381 conicto -384 767 lineto -384 975 464 1063 conicto -544 1152 675 1152 conicto -776 1152 844 1101 conicto -913 1050 949 930 conicto -985 810 1024 767 conicto -1106 684 1314 598 conicto -1522 512 1770 512 conicto -2155 512 2402 678 conicto -2560 780 2560 927 conicto -2560 1026 2485 1113 conicto -2410 1201 2240 1257 conicto -2129 1297 1744 1364 conicto -1278 1444 1035 1560 conicto -793 1677 652 1890 conicto -512 2103 512 2350 conicto -512 2740 843 3034 conicto -1175 3328 1706 3328 conicto -1920 3328 2101 3265 conicto -2283 3203 2432 3072 conicto -2559 3264 2685 3264 conicto -2828 3264 2918 3174 conicto -3008 3085 3008 2876 conicto -3008 2438 lineto -3008 2227 2928 2137 conicto -2849 2048 2723 2048 conicto -2616 2048 2538 2112 conicto -2477 2159 2446 2300 conicto -2416 2441 2368 2503 conicto -2287 2608 2126 2680 conicto -1965 2752 1754 2752 conicto -1446 2752 1267 2618 conicto -1088 2485 1088 2339 conicto -1088 2240 1161 2148 conicto -1235 2057 1377 2004 conicto -1471 1968 1908 1888 conicto -2346 1808 2583 1709 conicto -2821 1611 2978 1401 conicto -3136 1191 3136 901 conicto -3136 497 2842 255 conicto -2450 -64 1846 -64 conicto -1612 -64 1390 0 conicto -1169 64 960 192 conicto -end_ol grestore -gsave 16.611000 11.600000 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 17.068200 11.600000 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 17.525400 11.600000 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 17.982600 11.600000 translate 0.035278 -0.035278 scale -start_ol -2944 2432 moveto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2368 192 lineto -2114 65 1883 0 conicto -1652 -64 1445 -64 conicto -1153 -64 939 47 conicto -725 158 601 353 conicto -512 494 512 706 conicto -512 1856 lineto -384 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 384 2432 conicto -1088 2432 lineto -1088 840 lineto -1088 671 1180 591 conicto -1272 512 1462 512 conicto -1643 512 1851 576 conicto -2060 640 2368 807 conicto -2368 1856 lineto -2176 1856 lineto -1969 1856 1880 1935 conicto -1792 2015 1792 2144 conicto -1792 2273 1880 2352 conicto -1969 2432 2176 2432 conicto -2944 2432 lineto -end_ol grestore -gsave 18.439800 11.600000 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -gsave 19.153800 14.600000 translate 0.035278 -0.035278 scale -start_ol -960 192 moveto -877 69 826 34 conicto -776 0 703 0 conicto -559 0 471 88 conicto -384 176 384 381 conicto -384 767 lineto -384 975 464 1063 conicto -544 1152 675 1152 conicto -776 1152 844 1101 conicto -913 1050 949 930 conicto -985 810 1024 767 conicto -1106 684 1314 598 conicto -1522 512 1770 512 conicto -2155 512 2402 678 conicto -2560 780 2560 927 conicto -2560 1026 2485 1113 conicto -2410 1201 2240 1257 conicto -2129 1297 1744 1364 conicto -1278 1444 1035 1560 conicto -793 1677 652 1890 conicto -512 2103 512 2350 conicto -512 2740 843 3034 conicto -1175 3328 1706 3328 conicto -1920 3328 2101 3265 conicto -2283 3203 2432 3072 conicto -2559 3264 2685 3264 conicto -2828 3264 2918 3174 conicto -3008 3085 3008 2876 conicto -3008 2438 lineto -3008 2227 2928 2137 conicto -2849 2048 2723 2048 conicto -2616 2048 2538 2112 conicto -2477 2159 2446 2300 conicto -2416 2441 2368 2503 conicto -2287 2608 2126 2680 conicto -1965 2752 1754 2752 conicto -1446 2752 1267 2618 conicto -1088 2485 1088 2339 conicto -1088 2240 1161 2148 conicto -1235 2057 1377 2004 conicto -1471 1968 1908 1888 conicto -2346 1808 2583 1709 conicto -2821 1611 2978 1401 conicto -3136 1191 3136 901 conicto -3136 497 2842 255 conicto -2450 -64 1846 -64 conicto -1612 -64 1390 0 conicto -1169 64 960 192 conicto -end_ol grestore -gsave 19.611000 14.600000 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 20.068200 14.600000 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 20.525400 14.600000 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 20.982600 14.600000 translate 0.035278 -0.035278 scale -start_ol -2944 2432 moveto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2368 192 lineto -2114 65 1883 0 conicto -1652 -64 1445 -64 conicto -1153 -64 939 47 conicto -725 158 601 353 conicto -512 494 512 706 conicto -512 1856 lineto -384 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 384 2432 conicto -1088 2432 lineto -1088 840 lineto -1088 671 1180 591 conicto -1272 512 1462 512 conicto -1643 512 1851 576 conicto -2060 640 2368 807 conicto -2368 1856 lineto -2176 1856 lineto -1969 1856 1880 1935 conicto -1792 2015 1792 2144 conicto -1792 2273 1880 2352 conicto -1969 2432 2176 2432 conicto -2944 2432 lineto -end_ol grestore -gsave 21.439800 14.600000 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -gsave 20.553800 16.300000 translate 0.035278 -0.035278 scale -start_ol -960 192 moveto -877 69 826 34 conicto -776 0 703 0 conicto -559 0 471 88 conicto -384 176 384 381 conicto -384 767 lineto -384 975 464 1063 conicto -544 1152 675 1152 conicto -776 1152 844 1101 conicto -913 1050 949 930 conicto -985 810 1024 767 conicto -1106 684 1314 598 conicto -1522 512 1770 512 conicto -2155 512 2402 678 conicto -2560 780 2560 927 conicto -2560 1026 2485 1113 conicto -2410 1201 2240 1257 conicto -2129 1297 1744 1364 conicto -1278 1444 1035 1560 conicto -793 1677 652 1890 conicto -512 2103 512 2350 conicto -512 2740 843 3034 conicto -1175 3328 1706 3328 conicto -1920 3328 2101 3265 conicto -2283 3203 2432 3072 conicto -2559 3264 2685 3264 conicto -2828 3264 2918 3174 conicto -3008 3085 3008 2876 conicto -3008 2438 lineto -3008 2227 2928 2137 conicto -2849 2048 2723 2048 conicto -2616 2048 2538 2112 conicto -2477 2159 2446 2300 conicto -2416 2441 2368 2503 conicto -2287 2608 2126 2680 conicto -1965 2752 1754 2752 conicto -1446 2752 1267 2618 conicto -1088 2485 1088 2339 conicto -1088 2240 1161 2148 conicto -1235 2057 1377 2004 conicto -1471 1968 1908 1888 conicto -2346 1808 2583 1709 conicto -2821 1611 2978 1401 conicto -3136 1191 3136 901 conicto -3136 497 2842 255 conicto -2450 -64 1846 -64 conicto -1612 -64 1390 0 conicto -1169 64 960 192 conicto -end_ol grestore -gsave 21.011000 16.300000 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 21.468200 16.300000 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 21.925400 16.300000 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 22.382600 16.300000 translate 0.035278 -0.035278 scale -start_ol -2944 2432 moveto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2368 192 lineto -2114 65 1883 0 conicto -1652 -64 1445 -64 conicto -1153 -64 939 47 conicto -725 158 601 353 conicto -512 494 512 706 conicto -512 1856 lineto -384 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 384 2432 conicto -1088 2432 lineto -1088 840 lineto -1088 671 1180 591 conicto -1272 512 1462 512 conicto -1643 512 1851 576 conicto -2060 640 2368 807 conicto -2368 1856 lineto -2176 1856 lineto -1969 1856 1880 1935 conicto -1792 2015 1792 2144 conicto -1792 2273 1880 2352 conicto -1969 2432 2176 2432 conicto -2944 2432 lineto -end_ol grestore -gsave 22.839800 16.300000 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -showpage diff --git a/helm/papers/calculemus-2003/slides/eps/hbugsInterfaces-slides.eps b/helm/papers/calculemus-2003/slides/eps/hbugsInterfaces-slides.eps deleted file mode 100644 index ef082cff2..000000000 --- a/helm/papers/calculemus-2003/slides/eps/hbugsInterfaces-slides.eps +++ /dev/null @@ -1,9640 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: broker.dia -%%Creator: Dia v0.91 -%%CreationDate: Tue May 27 22:06:30 2003 -%%For: zack -%%Orientation: Portrait -%%Magnification: 1.0000 -%%BoundingBox: 0 0 981 450 -%%BeginSetup -%%EndSetup -%%EndComments -%%BeginProlog -[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright -/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one -/two /three /four /five /six /seven /eight /nine /colon /semicolon -/less /equal /greater /question /at /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 /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /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 /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright -/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior -/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf -/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla -/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde -/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex -/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring -/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis -/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave -/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def -/cp {closepath} bind def -/c {curveto} bind def -/f {fill} bind def -/a {arc} bind def -/ef {eofill} bind def -/ex {exch} 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 pop} bind def -/tr {translate} bind def - -/ellipsedict 8 dict def -ellipsedict /mtrx matrix put -/ellipse -{ ellipsedict begin - /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 - savematrix setmatrix - end -} def - -/mergeprocs { -dup length -3 -1 roll -dup -length -dup -5 1 roll -3 -1 roll -add -array cvx -dup -3 -1 roll -0 exch -putinterval -dup -4 2 roll -putinterval -} bind def -/dpi_x 300 def -/dpi_y 300 def -/conicto { - /to_y exch def - /to_x exch def - /conic_cntrl_y exch def - /conic_cntrl_x exch def - currentpoint - /p0_y exch def - /p0_x exch def - /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def - /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def - /p2_x p1_x to_x p0_x sub 1 3 div mul add def - /p2_y p1_y to_y p0_y sub 1 3 div mul add def - p1_x p1_y p2_x p2_y to_x to_y curveto -} bind def -/start_ol { gsave 1.1 dpi_x div dup scale} bind def -/end_ol { closepath fill grestore } bind def -28.346000 -28.346000 scale -0.650000 -15.600000 translate -%%EndProlog - - -0.749020 0.749020 0.749020 srgb -n 23.999976 9.300000 m 23.999976 12.900000 l 27.699972 12.900000 l 27.699972 9.300000 l f -0.100000 slw -[1.000000] 0 sd -[0.200000] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 23.999976 9.300000 m 23.999976 12.900000 l 27.699972 12.900000 l 27.699972 9.300000 l cp s -0.749020 0.749020 0.749020 srgb -n 5.599994 8.800000 m 5.599994 10.700000 l 10.799989 10.700000 l 10.799989 8.800000 l f -0.100000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 5.599994 8.800000 m 5.599994 10.700000 l 10.799989 10.700000 l 10.799989 8.800000 l cp s -0.749020 0.749020 0.749020 srgb -n 23.199977 1.500000 m 23.199977 5.600000 l 28.199972 5.600000 l 28.199972 1.500000 l f -0.100000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 23.199977 1.500000 m 23.199977 5.600000 l 28.199972 5.600000 l 28.199972 1.500000 l cp s -0.749020 0.749020 0.749020 srgb -n 5.499995 1.100000 m 5.499995 6.900000 l 10.699989 6.900000 l 10.699989 1.100000 l f -0.100000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 5.499995 1.100000 m 5.499995 6.900000 l 10.699989 6.900000 l 10.699989 1.100000 l cp s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 12.000000 7.000000 m 12.000000 9.300000 l 22.000000 9.300000 l 22.000000 7.000000 l f -0.000000 0.000000 0.000000 srgb -n 12.000000 7.000000 m 12.000000 9.300000 l 22.000000 9.300000 l 22.000000 7.000000 l cp s -0 slc -0 slj -[] 0 sd -n 13.000000 7.000000 m 13.000000 9.300000 l s -0 slc -0 slj -[] 0 sd -n 21.000000 7.000000 m 21.000000 9.300000 l s -gsave 14.460000 8.300000 translate 0.035278 -0.035278 scale -start_ol -1920 1152 moveto -896 1152 lineto -896 448 lineto -960 448 lineto -1138 448 lineto -1280 328 lineto -1280 224 lineto -1280 120 lineto -1138 0 lineto -960 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 2176 lineto -270 2176 lineto -128 2296 lineto -128 2400 lineto -128 2504 lineto -270 2624 lineto -448 2624 lineto -960 2624 lineto -1138 2624 lineto -1280 2504 lineto -1280 2400 lineto -1280 2296 lineto -1138 2176 lineto -960 2176 lineto -896 2176 lineto -896 1600 lineto -1920 1600 lineto -1920 2176 lineto -1856 2176 lineto -1678 2176 lineto -1536 2296 lineto -1536 2400 lineto -1536 2504 lineto -1678 2624 lineto -1856 2624 lineto -2368 2624 lineto -2546 2624 lineto -2688 2504 lineto -2688 2400 lineto -2688 2296 lineto -2546 2176 lineto -2368 2176 lineto -2368 448 lineto -2546 448 lineto -2546 448 lineto -2688 328 lineto -2688 224 lineto -2688 120 lineto -2546 0 lineto -2368 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1920 448 lineto -1920 1152 lineto -end_ol grestore -gsave 14.824067 8.300000 translate 0.035278 -0.035278 scale -start_ol -2368 1088 moveto -384 1088 lineto -384 1536 lineto -2368 1536 lineto -2368 1088 lineto -end_ol grestore -gsave 15.188133 8.300000 translate 0.035278 -0.035278 scale -start_ol -448 448 moveto -448 2176 lineto -384 2176 lineto -206 2176 lineto -64 2296 lineto -64 2400 lineto -64 2504 lineto -206 2624 lineto -384 2624 lineto -1526 2624 lineto -1935 2624 2183 2414 conicto -2432 2204 2432 1914 conicto -2432 1777 2369 1656 conicto -2306 1535 2176 1432 conicto -2401 1301 2512 1125 conicto -2624 950 2624 727 conicto -2624 551 2546 399 conicto -2489 283 2404 216 conicto -2291 120 2127 60 conicto -1963 0 1718 0 conicto -384 0 lineto -206 0 lineto -64 120 lineto -64 224 lineto -64 328 lineto -206 448 lineto -384 448 lineto -448 448 lineto -896 1600 moveto -1407 1600 lineto -1681 1600 1862 1718 conicto -1984 1797 1984 1915 conicto -1984 2020 1868 2098 conicto -1753 2176 1501 2176 conicto -896 2176 lineto -896 1600 lineto -896 448 moveto -1692 448 lineto -1973 448 2088 536 conicto -2176 602 2176 724 conicto -2176 870 2002 1011 conicto -1829 1152 1506 1152 conicto -896 1152 lineto -896 448 lineto -end_ol grestore -gsave 15.552200 8.300000 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 15.916267 8.300000 translate 0.035278 -0.035278 scale -start_ol -1856 1856 moveto -1856 1984 lineto -2368 1984 lineto -2546 1984 lineto -2688 1864 lineto -2688 1760 lineto -2688 1656 lineto -2546 1536 lineto -2368 1536 lineto -2304 1536 lineto -2304 -68 lineto -2304 -301 2201 -474 conicto -2099 -647 1887 -771 conicto -1675 -896 1408 -896 conicto -885 -896 lineto -718 -896 647 -834 conicto -576 -772 576 -673 conicto -576 -572 648 -510 conicto -720 -448 889 -448 conicto -1406 -448 lineto -1620 -448 1738 -343 conicto -1856 -238 1856 -78 conicto -1856 127 lineto -1704 31 1547 -16 conicto -1390 -64 1224 -64 conicto -757 -64 442 240 conicto -128 544 128 991 conicto -128 1440 442 1744 conicto -757 2048 1224 2048 conicto -1398 2048 1555 2000 conicto -1713 1952 1856 1856 conicto -1856 992 moveto -1856 1239 1667 1419 conicto -1479 1600 1216 1600 conicto -953 1600 764 1419 conicto -576 1239 576 992 conicto -576 743 764 563 conicto -953 384 1216 384 conicto -1479 384 1667 563 conicto -1856 743 1856 992 conicto -end_ol grestore -gsave 16.280333 8.300000 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave 16.644400 8.300000 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave 17.008467 8.300000 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave 17.372533 8.300000 translate 0.035278 -0.035278 scale -start_ol -768 2816 moveto -768 1833 lineto -938 1941 1114 1994 conicto -1290 2048 1469 2048 conicto -1953 2048 2288 1727 conicto -2624 1406 2624 952 conicto -2624 519 2304 227 conicto -1984 -64 1460 -64 conicto -1274 -64 1101 -11 conicto -929 41 768 144 conicto -768 0 lineto -256 0 lineto -78 0 lineto --64 120 lineto --64 224 lineto --64 328 lineto -78 448 lineto -256 448 lineto -320 448 lineto -320 2368 lineto -256 2368 lineto -78 2368 lineto --64 2488 lineto --64 2592 lineto --64 2696 lineto -78 2816 lineto -256 2816 lineto -768 2816 lineto -2176 940 moveto -2176 1217 1972 1408 conicto -1768 1600 1471 1600 conicto -1177 1600 972 1408 conicto -768 1217 768 946 conicto -768 700 952 542 conicto -1136 384 1471 384 conicto -1806 384 1991 542 conicto -2176 700 2176 940 conicto -end_ol grestore -gsave 17.736600 8.300000 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -gsave 18.100667 8.300000 translate 0.035278 -0.035278 scale -start_ol -2560 961 moveto -2560 704 2413 463 conicto -2267 222 1978 79 conicto -1689 -64 1375 -64 conicto -1062 -64 776 76 conicto -491 217 341 459 conicto -192 702 192 966 conicto -192 1234 344 1492 conicto -496 1751 780 1899 conicto -1064 2048 1375 2048 conicto -1687 2048 1976 1896 conicto -2265 1744 2412 1488 conicto -2560 1232 2560 961 conicto -2112 959 moveto -2112 1175 1951 1356 conicto -1732 1600 1374 1600 conicto -1060 1600 850 1406 conicto -640 1212 640 957 conicto -640 748 852 566 conicto -1065 384 1374 384 conicto -1687 384 1899 566 conicto -2112 748 2112 959 conicto -end_ol grestore -gsave 18.464733 8.300000 translate 0.035278 -0.035278 scale -start_ol -960 841 moveto -960 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -448 448 lineto -512 448 lineto -512 2368 lineto -448 2368 lineto -270 2368 lineto -128 2488 lineto -128 2592 lineto -128 2696 lineto -270 2816 lineto -448 2816 lineto -960 2816 lineto -960 1261 lineto -1326 1606 lineto -1216 1700 1216 1759 conicto -1216 1860 1281 1922 conicto -1347 1984 1502 1984 conicto -1994 1984 lineto -2162 1984 lineto -2304 1864 lineto -2304 1760 lineto -2304 1656 lineto -2162 1536 lineto -1994 1536 lineto -1866 1536 lineto -1399 1081 lineto -2148 448 lineto -2276 448 lineto -2418 448 lineto -2560 328 lineto -2560 224 lineto -2560 120 lineto -2418 0 lineto -2276 0 lineto -1686 0 lineto -1502 0 1423 62 conicto -1344 124 1344 225 conicto -1344 310 1543 393 conicto -1046 813 lineto -960 841 lineto -end_ol grestore -gsave 18.828800 8.300000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 19.192867 8.300000 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -0.100000 slw -[1.000000] 0 sd -[0.300000] 0 sd -0 slc -n 17.000000 5.000000 m 17.000000 11.000000 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 2.000001 6.999999 m 2.000001 8.512710 l 4.016949 8.512710 l 4.016949 6.999999 l f -0.000000 0.000000 0.000000 srgb -n 2.000001 6.999999 m 2.000001 8.512710 l 4.016949 8.512710 l 4.016949 6.999999 l cp s -0.100000 slw -0 slc -0 slj -[] 0 sd -n 2.218504 7.218502 m 2.218504 8.260591 l 3.798446 8.260591 l 3.798446 7.218502 l f -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 2.273129 8.512710 m 3.311017 8.512710 l 3.311017 8.748020 l 2.327755 8.748020 l f -0.000000 0.000000 0.000000 srgb -n 2.273129 8.512710 m 3.311017 8.512710 l 3.311017 8.748020 l 2.327755 8.748020 l cp s -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 3.311017 8.512710 m 3.743821 8.512710 l 3.689195 8.748020 l 3.311017 8.748020 l f -0.000000 0.000000 0.000000 srgb -n 3.311017 8.512710 m 3.743821 8.512710 l 3.689195 8.748020 l 3.311017 8.748020 l cp s -0.025000 slw -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 3.381610 8.583303 m 3.381610 8.677427 l 3.475735 8.677427 l 3.475735 8.583303 l f -0.000000 0.000000 0.000000 srgb -n 3.381610 8.583303 m 3.381610 8.677427 l 3.475735 8.677427 l 3.475735 8.583303 l cp s -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 2.806780 8.748020 m 3.210170 8.748020 l 3.210170 8.865676 l 3.411865 8.865676 l 3.411865 8.983331 l 2.605085 8.983331 l 2.605085 8.865676 l 2.806780 8.865676 l f -0.000000 0.000000 0.000000 srgb -n 2.806780 8.748020 m 3.210170 8.748020 l 3.210170 8.865676 l 3.411865 8.865676 l 3.411865 8.983331 l 2.605085 8.983331 l 2.605085 8.865676 l 2.806780 8.865676 l cp s -gsave -0.671034 7.500000 translate 0.035278 -0.035278 scale -start_ol -1920 1152 moveto -896 1152 lineto -896 448 lineto -960 448 lineto -1138 448 lineto -1280 328 lineto -1280 224 lineto -1280 120 lineto -1138 0 lineto -960 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 2176 lineto -270 2176 lineto -128 2296 lineto -128 2400 lineto -128 2504 lineto -270 2624 lineto -448 2624 lineto -960 2624 lineto -1138 2624 lineto -1280 2504 lineto -1280 2400 lineto -1280 2296 lineto -1138 2176 lineto -960 2176 lineto -896 2176 lineto -896 1600 lineto -1920 1600 lineto -1920 2176 lineto -1856 2176 lineto -1678 2176 lineto -1536 2296 lineto -1536 2400 lineto -1536 2504 lineto -1678 2624 lineto -1856 2624 lineto -2368 2624 lineto -2546 2624 lineto -2688 2504 lineto -2688 2400 lineto -2688 2296 lineto -2546 2176 lineto -2368 2176 lineto -2368 448 lineto -2546 448 lineto -2546 448 lineto -2688 328 lineto -2688 224 lineto -2688 120 lineto -2546 0 lineto -2368 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1920 448 lineto -1920 1152 lineto -end_ol grestore -gsave -0.306967 7.500000 translate 0.035278 -0.035278 scale -start_ol -2368 1088 moveto -384 1088 lineto -384 1536 lineto -2368 1536 lineto -2368 1088 lineto -end_ol grestore -gsave 0.057100 7.500000 translate 0.035278 -0.035278 scale -start_ol -448 448 moveto -448 2176 lineto -384 2176 lineto -206 2176 lineto -64 2296 lineto -64 2400 lineto -64 2504 lineto -206 2624 lineto -384 2624 lineto -1526 2624 lineto -1935 2624 2183 2414 conicto -2432 2204 2432 1914 conicto -2432 1777 2369 1656 conicto -2306 1535 2176 1432 conicto -2401 1301 2512 1125 conicto -2624 950 2624 727 conicto -2624 551 2546 399 conicto -2489 283 2404 216 conicto -2291 120 2127 60 conicto -1963 0 1718 0 conicto -384 0 lineto -206 0 lineto -64 120 lineto -64 224 lineto -64 328 lineto -206 448 lineto -384 448 lineto -448 448 lineto -896 1600 moveto -1407 1600 lineto -1681 1600 1862 1718 conicto -1984 1797 1984 1915 conicto -1984 2020 1868 2098 conicto -1753 2176 1501 2176 conicto -896 2176 lineto -896 1600 lineto -896 448 moveto -1692 448 lineto -1973 448 2088 536 conicto -2176 602 2176 724 conicto -2176 870 2002 1011 conicto -1829 1152 1506 1152 conicto -896 1152 lineto -896 448 lineto -end_ol grestore -gsave 0.421166 7.500000 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 0.785233 7.500000 translate 0.035278 -0.035278 scale -start_ol -1856 1856 moveto -1856 1984 lineto -2368 1984 lineto -2546 1984 lineto -2688 1864 lineto -2688 1760 lineto -2688 1656 lineto -2546 1536 lineto -2368 1536 lineto -2304 1536 lineto -2304 -68 lineto -2304 -301 2201 -474 conicto -2099 -647 1887 -771 conicto -1675 -896 1408 -896 conicto -885 -896 lineto -718 -896 647 -834 conicto -576 -772 576 -673 conicto -576 -572 648 -510 conicto -720 -448 889 -448 conicto -1406 -448 lineto -1620 -448 1738 -343 conicto -1856 -238 1856 -78 conicto -1856 127 lineto -1704 31 1547 -16 conicto -1390 -64 1224 -64 conicto -757 -64 442 240 conicto -128 544 128 991 conicto -128 1440 442 1744 conicto -757 2048 1224 2048 conicto -1398 2048 1555 2000 conicto -1713 1952 1856 1856 conicto -1856 992 moveto -1856 1239 1667 1419 conicto -1479 1600 1216 1600 conicto -953 1600 764 1419 conicto -576 1239 576 992 conicto -576 743 764 563 conicto -953 384 1216 384 conicto -1479 384 1667 563 conicto -1856 743 1856 992 conicto -end_ol grestore -gsave 1.149300 7.500000 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave -0.687967 8.300000 translate 0.035278 -0.035278 scale -start_ol -2145 1920 moveto -2232 1984 2323 1984 conicto -2427 1984 2493 1914 conicto -2560 1844 2560 1682 conicto -2560 1390 lineto -2560 1225 2493 1156 conicto -2427 1088 2318 1088 conicto -2221 1088 2152 1142 conicto -2103 1182 2075 1306 conicto -2047 1431 1940 1536 conicto -1749 1600 1454 1600 conicto -1115 1600 909 1415 conicto -704 1230 704 948 conicto -704 687 901 535 conicto -1098 384 1555 384 conicto -1855 384 2045 440 conicto -2157 474 2257 557 conicto -2358 640 2426 640 conicto -2507 640 2565 572 conicto -2624 505 2624 414 conicto -2624 267 2414 134 conicto -2102 -64 1502 -64 conicto -962 -64 662 152 conicto -256 442 256 945 conicto -256 1422 592 1735 conicto -929 2048 1469 2048 conicto -1666 2048 1834 2016 conicto -2002 1984 2145 1920 conicto -end_ol grestore -gsave -0.323900 8.300000 translate 0.035278 -0.035278 scale -start_ol -1600 2816 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 2368 lineto -768 2368 lineto -590 2368 lineto -448 2488 lineto -448 2592 lineto -448 2696 lineto -590 2816 lineto -768 2816 lineto -1600 2816 lineto -end_ol grestore -gsave 0.040166 8.300000 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 0.404233 8.300000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 0.768300 8.300000 translate 0.035278 -0.035278 scale -start_ol -896 1984 moveto -896 1856 lineto -1019 1952 1167 2000 conicto -1315 2048 1488 2048 conicto -1888 2048 2120 1801 conicto -2304 1603 2304 1284 conicto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1856 1297 lineto -1856 1444 1777 1512 conicto -1673 1600 1467 1600 conicto -1311 1600 1193 1539 conicto -1076 1478 896 1280 conicto -896 448 lineto -1074 448 lineto -1074 448 lineto -1216 328 lineto -1216 224 lineto -1216 120 lineto -1074 0 lineto -896 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 1536 lineto -270 1536 lineto -128 1656 lineto -128 1760 lineto -128 1864 lineto -270 1984 lineto -448 1984 lineto -896 1984 lineto -end_ol grestore -gsave 1.132366 8.300000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 8.319876 6.672751 4.371947 4.371947 188.851789 345.810816 ellipse s -0 slj -n 12.158982 5.621859 m 12.600000 6.400000 l 12.957902 5.580301 l f -gsave 6.024058 4.100000 translate 0.035278 -0.035278 scale -start_ol -896 1024 moveto -896 448 lineto -1088 448 lineto -1266 448 lineto -1408 328 lineto -1408 224 lineto -1408 120 lineto -1266 0 lineto -1088 0 lineto -384 0 lineto -206 0 lineto -64 120 lineto -64 224 lineto -64 328 lineto -206 448 lineto -384 448 lineto -448 448 lineto -448 2176 lineto -384 2176 lineto -206 2176 lineto -64 2296 lineto -64 2400 lineto -64 2504 lineto -206 2624 lineto -384 2624 lineto -1417 2624 lineto -1900 2624 2166 2395 conicto -2432 2166 2432 1838 conicto -2432 1633 2294 1466 conicto -2157 1299 1878 1168 conicto -2034 1042 2211 844 conicto -2321 718 2507 448 conicto -2674 448 lineto -2674 448 lineto -2816 328 lineto -2816 224 lineto -2816 120 lineto -2674 0 lineto -2507 0 lineto -2304 0 lineto -1735 851 1360 1024 conicto -896 1024 lineto -896 1472 moveto -1260 1472 lineto -1463 1472 1623 1528 conicto -1836 1603 1910 1686 conicto -1984 1769 1984 1850 conicto -1984 1970 1843 2073 conicto -1702 2176 1431 2176 conicto -896 2176 lineto -896 1472 lineto -end_ol grestore -gsave 6.388125 4.100000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 6.752192 4.100000 translate 0.035278 -0.035278 scale -start_ol -1856 1856 moveto -1856 1984 lineto -2368 1984 lineto -2546 1984 lineto -2688 1864 lineto -2688 1760 lineto -2688 1656 lineto -2546 1536 lineto -2368 1536 lineto -2304 1536 lineto -2304 -68 lineto -2304 -301 2201 -474 conicto -2099 -647 1887 -771 conicto -1675 -896 1408 -896 conicto -885 -896 lineto -718 -896 647 -834 conicto -576 -772 576 -673 conicto -576 -572 648 -510 conicto -720 -448 889 -448 conicto -1406 -448 lineto -1620 -448 1738 -343 conicto -1856 -238 1856 -78 conicto -1856 127 lineto -1704 31 1547 -16 conicto -1390 -64 1224 -64 conicto -757 -64 442 240 conicto -128 544 128 991 conicto -128 1440 442 1744 conicto -757 2048 1224 2048 conicto -1398 2048 1555 2000 conicto -1713 1952 1856 1856 conicto -1856 992 moveto -1856 1239 1667 1419 conicto -1479 1600 1216 1600 conicto -953 1600 764 1419 conicto -576 1239 576 992 conicto -576 743 764 563 conicto -953 384 1216 384 conicto -1479 384 1667 563 conicto -1856 743 1856 992 conicto -end_ol grestore -gsave 7.116258 4.100000 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 7.480325 4.100000 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave 7.844392 4.100000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 8.208458 4.100000 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -gsave 8.572525 4.100000 translate 0.035278 -0.035278 scale -start_ol -1792 0 moveto -1792 256 lineto -1619 97 1409 16 conicto -1199 -64 1028 -64 conicto -657 -64 424 122 conicto -192 309 192 535 conicto -192 810 488 1045 conicto -785 1280 1307 1280 conicto -1517 1280 1792 1236 conicto -1792 1353 lineto -1792 1462 1700 1531 conicto -1609 1600 1352 1600 conicto -1143 1600 807 1507 conicto -682 1472 612 1472 conicto -516 1472 450 1539 conicto -384 1606 384 1711 conicto -384 1769 407 1812 conicto -430 1856 471 1881 conicto -512 1907 642 1943 conicto -815 1992 996 2020 conicto -1177 2048 1323 2048 conicto -1758 2048 1999 1867 conicto -2240 1687 2240 1373 conicto -2240 448 lineto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1792 0 lineto -1792 783 moveto -1507 832 1267 832 conicto -978 832 769 708 conicto -640 628 640 547 conicto -640 488 703 451 conicto -819 384 1019 384 conicto -1191 384 1407 443 conicto -1623 502 1792 604 conicto -1792 783 lineto -end_ol grestore -gsave 8.936592 4.100000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 9.300658 4.100000 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 9.664725 4.100000 translate 0.035278 -0.035278 scale -start_ol -2560 961 moveto -2560 704 2413 463 conicto -2267 222 1978 79 conicto -1689 -64 1375 -64 conicto -1062 -64 776 76 conicto -491 217 341 459 conicto -192 702 192 966 conicto -192 1234 344 1492 conicto -496 1751 780 1899 conicto -1064 2048 1375 2048 conicto -1687 2048 1976 1896 conicto -2265 1744 2412 1488 conicto -2560 1232 2560 961 conicto -2112 959 moveto -2112 1175 1951 1356 conicto -1732 1600 1374 1600 conicto -1060 1600 850 1406 conicto -640 1212 640 957 conicto -640 748 852 566 conicto -1065 384 1374 384 conicto -1687 384 1899 566 conicto -2112 748 2112 959 conicto -end_ol grestore -gsave 10.028792 4.100000 translate 0.035278 -0.035278 scale -start_ol -896 1984 moveto -896 1856 lineto -1019 1952 1167 2000 conicto -1315 2048 1488 2048 conicto -1888 2048 2120 1801 conicto -2304 1603 2304 1284 conicto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1856 1297 lineto -1856 1444 1777 1512 conicto -1673 1600 1467 1600 conicto -1311 1600 1193 1539 conicto -1076 1478 896 1280 conicto -896 448 lineto -1074 448 lineto -1074 448 lineto -1216 328 lineto -1216 224 lineto -1216 120 lineto -1074 0 lineto -896 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 1536 lineto -270 1536 lineto -128 1656 lineto -128 1760 lineto -128 1864 lineto -270 1984 lineto -448 1984 lineto -896 1984 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 8.020321 17.392216 11.193827 11.193827 251.130046 285.713045 ellipse s -0 slj -n 10.910180 6.990780 m 11.799988 6.900000 l 11.193479 6.242621 l f -gsave 7.028957 5.900000 translate 0.035278 -0.035278 scale -start_ol -768 128 moveto -703 46 664 23 conicto -625 0 568 0 conicto -456 0 388 68 conicto -320 137 320 297 conicto -320 597 lineto -320 759 383 827 conicto -447 896 553 896 conicto -633 896 688 855 conicto -743 815 772 719 conicto -801 623 832 589 conicto -893 522 1049 453 conicto -1205 384 1391 384 conicto -1680 384 1866 522 conicto -1984 606 1984 728 conicto -1984 809 1928 881 conicto -1873 953 1748 1001 conicto -1666 1033 1381 1089 conicto -1036 1156 850 1251 conicto -664 1346 556 1519 conicto -448 1692 448 1893 conicto -448 2211 691 2449 conicto -935 2688 1324 2688 conicto -1481 2688 1614 2640 conicto -1747 2593 1856 2496 conicto -1954 2624 2053 2624 conicto -2163 2624 2233 2553 conicto -2304 2482 2304 2318 conicto -2304 1972 lineto -2304 1806 2240 1735 conicto -2176 1664 2076 1664 conicto -1991 1664 1929 1716 conicto -1879 1755 1855 1870 conicto -1831 1986 1792 2036 conicto -1736 2122 1623 2181 conicto -1510 2240 1363 2240 conicto -1147 2240 1021 2129 conicto -896 2018 896 1898 conicto -896 1816 950 1740 conicto -1004 1664 1109 1621 conicto -1179 1590 1502 1523 conicto -1825 1457 2007 1377 conicto -2190 1297 2311 1126 conicto -2432 956 2432 720 conicto -2432 392 2207 196 conicto -1908 -64 1445 -64 conicto -1266 -64 1097 -15 conicto -928 33 768 128 conicto -end_ol grestore -gsave 7.393023 5.900000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 7.757090 5.900000 translate 0.035278 -0.035278 scale -start_ol -1792 0 moveto -1792 256 lineto -1619 97 1409 16 conicto -1199 -64 1028 -64 conicto -657 -64 424 122 conicto -192 309 192 535 conicto -192 810 488 1045 conicto -785 1280 1307 1280 conicto -1517 1280 1792 1236 conicto -1792 1353 lineto -1792 1462 1700 1531 conicto -1609 1600 1352 1600 conicto -1143 1600 807 1507 conicto -682 1472 612 1472 conicto -516 1472 450 1539 conicto -384 1606 384 1711 conicto -384 1769 407 1812 conicto -430 1856 471 1881 conicto -512 1907 642 1943 conicto -815 1992 996 2020 conicto -1177 2048 1323 2048 conicto -1758 2048 1999 1867 conicto -2240 1687 2240 1373 conicto -2240 448 lineto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1792 0 lineto -1792 783 moveto -1507 832 1267 832 conicto -978 832 769 708 conicto -640 628 640 547 conicto -640 488 703 451 conicto -819 384 1019 384 conicto -1191 384 1407 443 conicto -1623 502 1792 604 conicto -1792 783 lineto -end_ol grestore -gsave 8.121157 5.900000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 8.485223 5.900000 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 8.849290 5.900000 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 8.175435 5.520250 4.885414 4.885414 47.116624 130.619131 ellipse s -0 slj -n 5.309172 8.981095 m 4.500000 8.599990 l 4.680619 9.475990 l f -gsave 7.476090 9.699990 translate 0.035278 -0.035278 scale -start_ol -1920 1152 moveto -896 1152 lineto -896 448 lineto -960 448 lineto -1138 448 lineto -1280 328 lineto -1280 224 lineto -1280 120 lineto -1138 0 lineto -960 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 2176 lineto -270 2176 lineto -128 2296 lineto -128 2400 lineto -128 2504 lineto -270 2624 lineto -448 2624 lineto -960 2624 lineto -1138 2624 lineto -1280 2504 lineto -1280 2400 lineto -1280 2296 lineto -1138 2176 lineto -960 2176 lineto -896 2176 lineto -896 1600 lineto -1920 1600 lineto -1920 2176 lineto -1856 2176 lineto -1678 2176 lineto -1536 2296 lineto -1536 2400 lineto -1536 2504 lineto -1678 2624 lineto -1856 2624 lineto -2368 2624 lineto -2546 2624 lineto -2688 2504 lineto -2688 2400 lineto -2688 2296 lineto -2546 2176 lineto -2368 2176 lineto -2368 448 lineto -2546 448 lineto -2546 448 lineto -2688 328 lineto -2688 224 lineto -2688 120 lineto -2546 0 lineto -2368 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1920 448 lineto -1920 1152 lineto -end_ol grestore -gsave 7.840157 9.699990 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 8.204223 9.699990 translate 0.035278 -0.035278 scale -start_ol -896 1984 moveto -896 1856 lineto -1019 1952 1167 2000 conicto -1315 2048 1488 2048 conicto -1888 2048 2120 1801 conicto -2304 1603 2304 1284 conicto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1856 1297 lineto -1856 1444 1777 1512 conicto -1673 1600 1467 1600 conicto -1311 1600 1193 1539 conicto -1076 1478 896 1280 conicto -896 448 lineto -1074 448 lineto -1074 448 lineto -1216 328 lineto -1216 224 lineto -1216 120 lineto -1074 0 lineto -896 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 1536 lineto -270 1536 lineto -128 1656 lineto -128 1760 lineto -128 1864 lineto -270 1984 lineto -448 1984 lineto -896 1984 lineto -end_ol grestore -gsave 8.568290 9.699990 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 28.971821 6.800000 m 32.330929 6.800000 l 33.002750 8.003555 l 32.330929 9.207110 l 28.971821 9.207110 l 28.300000 8.003555 l 28.971821 6.800000 l f -0.000000 0.000000 0.000000 srgb -n 28.971821 6.800000 m 32.330929 6.800000 l 33.002750 8.003555 l 32.330929 9.207110 l 28.971821 9.207110 l 28.300000 8.003555 l 28.971821 6.800000 l s -gsave 29.580342 7.753555 translate 0.035278 -0.035278 scale -start_ol -1920 1152 moveto -896 1152 lineto -896 448 lineto -960 448 lineto -1138 448 lineto -1280 328 lineto -1280 224 lineto -1280 120 lineto -1138 0 lineto -960 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 2176 lineto -270 2176 lineto -128 2296 lineto -128 2400 lineto -128 2504 lineto -270 2624 lineto -448 2624 lineto -960 2624 lineto -1138 2624 lineto -1280 2504 lineto -1280 2400 lineto -1280 2296 lineto -1138 2176 lineto -960 2176 lineto -896 2176 lineto -896 1600 lineto -1920 1600 lineto -1920 2176 lineto -1856 2176 lineto -1678 2176 lineto -1536 2296 lineto -1536 2400 lineto -1536 2504 lineto -1678 2624 lineto -1856 2624 lineto -2368 2624 lineto -2546 2624 lineto -2688 2504 lineto -2688 2400 lineto -2688 2296 lineto -2546 2176 lineto -2368 2176 lineto -2368 448 lineto -2546 448 lineto -2546 448 lineto -2688 328 lineto -2688 224 lineto -2688 120 lineto -2546 0 lineto -2368 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1920 448 lineto -1920 1152 lineto -end_ol grestore -gsave 29.944408 7.753555 translate 0.035278 -0.035278 scale -start_ol -2368 1088 moveto -384 1088 lineto -384 1536 lineto -2368 1536 lineto -2368 1088 lineto -end_ol grestore -gsave 30.308475 7.753555 translate 0.035278 -0.035278 scale -start_ol -448 448 moveto -448 2176 lineto -384 2176 lineto -206 2176 lineto -64 2296 lineto -64 2400 lineto -64 2504 lineto -206 2624 lineto -384 2624 lineto -1526 2624 lineto -1935 2624 2183 2414 conicto -2432 2204 2432 1914 conicto -2432 1777 2369 1656 conicto -2306 1535 2176 1432 conicto -2401 1301 2512 1125 conicto -2624 950 2624 727 conicto -2624 551 2546 399 conicto -2489 283 2404 216 conicto -2291 120 2127 60 conicto -1963 0 1718 0 conicto -384 0 lineto -206 0 lineto -64 120 lineto -64 224 lineto -64 328 lineto -206 448 lineto -384 448 lineto -448 448 lineto -896 1600 moveto -1407 1600 lineto -1681 1600 1862 1718 conicto -1984 1797 1984 1915 conicto -1984 2020 1868 2098 conicto -1753 2176 1501 2176 conicto -896 2176 lineto -896 1600 lineto -896 448 moveto -1692 448 lineto -1973 448 2088 536 conicto -2176 602 2176 724 conicto -2176 870 2002 1011 conicto -1829 1152 1506 1152 conicto -896 1152 lineto -896 448 lineto -end_ol grestore -gsave 30.672542 7.753555 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 31.036608 7.753555 translate 0.035278 -0.035278 scale -start_ol -1856 1856 moveto -1856 1984 lineto -2368 1984 lineto -2546 1984 lineto -2688 1864 lineto -2688 1760 lineto -2688 1656 lineto -2546 1536 lineto -2368 1536 lineto -2304 1536 lineto -2304 -68 lineto -2304 -301 2201 -474 conicto -2099 -647 1887 -771 conicto -1675 -896 1408 -896 conicto -885 -896 lineto -718 -896 647 -834 conicto -576 -772 576 -673 conicto -576 -572 648 -510 conicto -720 -448 889 -448 conicto -1406 -448 lineto -1620 -448 1738 -343 conicto -1856 -238 1856 -78 conicto -1856 127 lineto -1704 31 1547 -16 conicto -1390 -64 1224 -64 conicto -757 -64 442 240 conicto -128 544 128 991 conicto -128 1440 442 1744 conicto -757 2048 1224 2048 conicto -1398 2048 1555 2000 conicto -1713 1952 1856 1856 conicto -1856 992 moveto -1856 1239 1667 1419 conicto -1479 1600 1216 1600 conicto -953 1600 764 1419 conicto -576 1239 576 992 conicto -576 743 764 563 conicto -953 384 1216 384 conicto -1479 384 1667 563 conicto -1856 743 1856 992 conicto -end_ol grestore -gsave 31.400675 7.753555 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave 29.749675 8.553555 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 30.113742 8.553555 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 30.477808 8.553555 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 30.841875 8.553555 translate 0.035278 -0.035278 scale -start_ol -2560 961 moveto -2560 704 2413 463 conicto -2267 222 1978 79 conicto -1689 -64 1375 -64 conicto -1062 -64 776 76 conicto -491 217 341 459 conicto -192 702 192 966 conicto -192 1234 344 1492 conicto -496 1751 780 1899 conicto -1064 2048 1375 2048 conicto -1687 2048 1976 1896 conicto -2265 1744 2412 1488 conicto -2560 1232 2560 961 conicto -2112 959 moveto -2112 1175 1951 1356 conicto -1732 1600 1374 1600 conicto -1060 1600 850 1406 conicto -640 1212 640 957 conicto -640 748 852 566 conicto -1065 384 1374 384 conicto -1687 384 1899 566 conicto -2112 748 2112 959 conicto -end_ol grestore -gsave 31.205942 8.553555 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 25.511853 6.605826 3.809823 3.809823 193.753178 353.885201 ellipse s -0 slj -n 21.411301 5.694449 m 21.800000 6.500000 l 22.211222 5.705710 l f -gsave 23.524041 2.300000 translate 0.035278 -0.035278 scale -start_ol -896 1024 moveto -896 448 lineto -1088 448 lineto -1266 448 lineto -1408 328 lineto -1408 224 lineto -1408 120 lineto -1266 0 lineto -1088 0 lineto -384 0 lineto -206 0 lineto -64 120 lineto -64 224 lineto -64 328 lineto -206 448 lineto -384 448 lineto -448 448 lineto -448 2176 lineto -384 2176 lineto -206 2176 lineto -64 2296 lineto -64 2400 lineto -64 2504 lineto -206 2624 lineto -384 2624 lineto -1417 2624 lineto -1900 2624 2166 2395 conicto -2432 2166 2432 1838 conicto -2432 1633 2294 1466 conicto -2157 1299 1878 1168 conicto -2034 1042 2211 844 conicto -2321 718 2507 448 conicto -2674 448 lineto -2674 448 lineto -2816 328 lineto -2816 224 lineto -2816 120 lineto -2674 0 lineto -2507 0 lineto -2304 0 lineto -1735 851 1360 1024 conicto -896 1024 lineto -896 1472 moveto -1260 1472 lineto -1463 1472 1623 1528 conicto -1836 1603 1910 1686 conicto -1984 1769 1984 1850 conicto -1984 1970 1843 2073 conicto -1702 2176 1431 2176 conicto -896 2176 lineto -896 1472 lineto -end_ol grestore -gsave 23.888108 2.300000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 24.252174 2.300000 translate 0.035278 -0.035278 scale -start_ol -1856 1856 moveto -1856 1984 lineto -2368 1984 lineto -2546 1984 lineto -2688 1864 lineto -2688 1760 lineto -2688 1656 lineto -2546 1536 lineto -2368 1536 lineto -2304 1536 lineto -2304 -68 lineto -2304 -301 2201 -474 conicto -2099 -647 1887 -771 conicto -1675 -896 1408 -896 conicto -885 -896 lineto -718 -896 647 -834 conicto -576 -772 576 -673 conicto -576 -572 648 -510 conicto -720 -448 889 -448 conicto -1406 -448 lineto -1620 -448 1738 -343 conicto -1856 -238 1856 -78 conicto -1856 127 lineto -1704 31 1547 -16 conicto -1390 -64 1224 -64 conicto -757 -64 442 240 conicto -128 544 128 991 conicto -128 1440 442 1744 conicto -757 2048 1224 2048 conicto -1398 2048 1555 2000 conicto -1713 1952 1856 1856 conicto -1856 992 moveto -1856 1239 1667 1419 conicto -1479 1600 1216 1600 conicto -953 1600 764 1419 conicto -576 1239 576 992 conicto -576 743 764 563 conicto -953 384 1216 384 conicto -1479 384 1667 563 conicto -1856 743 1856 992 conicto -end_ol grestore -gsave 24.616241 2.300000 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 24.980308 2.300000 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave 25.344374 2.300000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 25.708441 2.300000 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -gsave 26.072508 2.300000 translate 0.035278 -0.035278 scale -start_ol -1792 0 moveto -1792 256 lineto -1619 97 1409 16 conicto -1199 -64 1028 -64 conicto -657 -64 424 122 conicto -192 309 192 535 conicto -192 810 488 1045 conicto -785 1280 1307 1280 conicto -1517 1280 1792 1236 conicto -1792 1353 lineto -1792 1462 1700 1531 conicto -1609 1600 1352 1600 conicto -1143 1600 807 1507 conicto -682 1472 612 1472 conicto -516 1472 450 1539 conicto -384 1606 384 1711 conicto -384 1769 407 1812 conicto -430 1856 471 1881 conicto -512 1907 642 1943 conicto -815 1992 996 2020 conicto -1177 2048 1323 2048 conicto -1758 2048 1999 1867 conicto -2240 1687 2240 1373 conicto -2240 448 lineto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1792 0 lineto -1792 783 moveto -1507 832 1267 832 conicto -978 832 769 708 conicto -640 628 640 547 conicto -640 488 703 451 conicto -819 384 1019 384 conicto -1191 384 1407 443 conicto -1623 502 1792 604 conicto -1792 783 lineto -end_ol grestore -gsave 26.436574 2.300000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 26.800641 2.300000 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 27.164708 2.300000 translate 0.035278 -0.035278 scale -start_ol -2560 961 moveto -2560 704 2413 463 conicto -2267 222 1978 79 conicto -1689 -64 1375 -64 conicto -1062 -64 776 76 conicto -491 217 341 459 conicto -192 702 192 966 conicto -192 1234 344 1492 conicto -496 1751 780 1899 conicto -1064 2048 1375 2048 conicto -1687 2048 1976 1896 conicto -2265 1744 2412 1488 conicto -2560 1232 2560 961 conicto -2112 959 moveto -2112 1175 1951 1356 conicto -1732 1600 1374 1600 conicto -1060 1600 850 1406 conicto -640 1212 640 957 conicto -640 748 852 566 conicto -1065 384 1374 384 conicto -1687 384 1899 566 conicto -2112 748 2112 959 conicto -end_ol grestore -gsave 27.528774 2.300000 translate 0.035278 -0.035278 scale -start_ol -896 1984 moveto -896 1856 lineto -1019 1952 1167 2000 conicto -1315 2048 1488 2048 conicto -1888 2048 2120 1801 conicto -2304 1603 2304 1284 conicto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1856 1297 lineto -1856 1444 1777 1512 conicto -1673 1600 1467 1600 conicto -1311 1600 1193 1539 conicto -1076 1478 896 1280 conicto -896 448 lineto -1074 448 lineto -1074 448 lineto -1216 328 lineto -1216 224 lineto -1216 120 lineto -1074 0 lineto -896 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 1536 lineto -270 1536 lineto -128 1656 lineto -128 1760 lineto -128 1864 lineto -270 1984 lineto -448 1984 lineto -896 1984 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 25.363203 8.837899 3.832480 3.832480 229.098191 322.408877 ellipse s -0 slj -n 22.524423 5.714269 m 22.400000 6.600000 l 23.183238 6.168100 l f -gsave 24.976100 4.500000 translate 0.035278 -0.035278 scale -start_ol -1920 1152 moveto -896 1152 lineto -896 448 lineto -960 448 lineto -1138 448 lineto -1280 328 lineto -1280 224 lineto -1280 120 lineto -1138 0 lineto -960 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 2176 lineto -270 2176 lineto -128 2296 lineto -128 2400 lineto -128 2504 lineto -270 2624 lineto -448 2624 lineto -960 2624 lineto -1138 2624 lineto -1280 2504 lineto -1280 2400 lineto -1280 2296 lineto -1138 2176 lineto -960 2176 lineto -896 2176 lineto -896 1600 lineto -1920 1600 lineto -1920 2176 lineto -1856 2176 lineto -1678 2176 lineto -1536 2296 lineto -1536 2400 lineto -1536 2504 lineto -1678 2624 lineto -1856 2624 lineto -2368 2624 lineto -2546 2624 lineto -2688 2504 lineto -2688 2400 lineto -2688 2296 lineto -2546 2176 lineto -2368 2176 lineto -2368 448 lineto -2546 448 lineto -2546 448 lineto -2688 328 lineto -2688 224 lineto -2688 120 lineto -2546 0 lineto -2368 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1920 448 lineto -1920 1152 lineto -end_ol grestore -gsave 25.340167 4.500000 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 25.704233 4.500000 translate 0.035278 -0.035278 scale -start_ol -896 1984 moveto -896 1856 lineto -1019 1952 1167 2000 conicto -1315 2048 1488 2048 conicto -1888 2048 2120 1801 conicto -2304 1603 2304 1284 conicto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1856 1297 lineto -1856 1444 1777 1512 conicto -1673 1600 1467 1600 conicto -1311 1600 1193 1539 conicto -1076 1478 896 1280 conicto -896 448 lineto -1074 448 lineto -1074 448 lineto -1216 328 lineto -1216 224 lineto -1216 120 lineto -1074 0 lineto -896 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 1536 lineto -270 1536 lineto -128 1656 lineto -128 1760 lineto -128 1864 lineto -270 1984 lineto -448 1984 lineto -896 1984 lineto -end_ol grestore -gsave 26.068300 4.500000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 25.844777 3.785947 6.915688 6.915688 66.345735 122.785357 ellipse s -0 slj -n 28.829767 10.460856 m 29.299978 9.700000 l 28.409167 9.780344 l f -gsave 24.828967 10.200000 translate 0.035278 -0.035278 scale -start_ol -768 128 moveto -703 46 664 23 conicto -625 0 568 0 conicto -456 0 388 68 conicto -320 137 320 297 conicto -320 597 lineto -320 759 383 827 conicto -447 896 553 896 conicto -633 896 688 855 conicto -743 815 772 719 conicto -801 623 832 589 conicto -893 522 1049 453 conicto -1205 384 1391 384 conicto -1680 384 1866 522 conicto -1984 606 1984 728 conicto -1984 809 1928 881 conicto -1873 953 1748 1001 conicto -1666 1033 1381 1089 conicto -1036 1156 850 1251 conicto -664 1346 556 1519 conicto -448 1692 448 1893 conicto -448 2211 691 2449 conicto -935 2688 1324 2688 conicto -1481 2688 1614 2640 conicto -1747 2593 1856 2496 conicto -1954 2624 2053 2624 conicto -2163 2624 2233 2553 conicto -2304 2482 2304 2318 conicto -2304 1972 lineto -2304 1806 2240 1735 conicto -2176 1664 2076 1664 conicto -1991 1664 1929 1716 conicto -1879 1755 1855 1870 conicto -1831 1986 1792 2036 conicto -1736 2122 1623 2181 conicto -1510 2240 1363 2240 conicto -1147 2240 1021 2129 conicto -896 2018 896 1898 conicto -896 1816 950 1740 conicto -1004 1664 1109 1621 conicto -1179 1590 1502 1523 conicto -1825 1457 2007 1377 conicto -2190 1297 2311 1126 conicto -2432 956 2432 720 conicto -2432 392 2207 196 conicto -1908 -64 1445 -64 conicto -1266 -64 1097 -15 conicto -928 33 768 128 conicto -end_ol grestore -gsave 25.193033 10.200000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 25.557100 10.200000 translate 0.035278 -0.035278 scale -start_ol -1792 0 moveto -1792 256 lineto -1619 97 1409 16 conicto -1199 -64 1028 -64 conicto -657 -64 424 122 conicto -192 309 192 535 conicto -192 810 488 1045 conicto -785 1280 1307 1280 conicto -1517 1280 1792 1236 conicto -1792 1353 lineto -1792 1462 1700 1531 conicto -1609 1600 1352 1600 conicto -1143 1600 807 1507 conicto -682 1472 612 1472 conicto -516 1472 450 1539 conicto -384 1606 384 1711 conicto -384 1769 407 1812 conicto -430 1856 471 1881 conicto -512 1907 642 1943 conicto -815 1992 996 2020 conicto -1177 2048 1323 2048 conicto -1758 2048 1999 1867 conicto -2240 1687 2240 1373 conicto -2240 448 lineto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1792 0 lineto -1792 783 moveto -1507 832 1267 832 conicto -978 832 769 708 conicto -640 628 640 547 conicto -640 488 703 451 conicto -819 384 1019 384 conicto -1191 384 1407 443 conicto -1623 502 1792 604 conicto -1792 783 lineto -end_ol grestore -gsave 25.921167 10.200000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 26.285233 10.200000 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 26.649300 10.200000 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave 12.215686 0.300000 translate 0.035278 -0.035278 scale -start_ol -448 448 moveto -448 2176 lineto -384 2176 lineto -206 2176 lineto -64 2296 lineto -64 2400 lineto -64 2504 lineto -206 2624 lineto -384 2624 lineto -1526 2624 lineto -1935 2624 2183 2414 conicto -2432 2204 2432 1914 conicto -2432 1777 2369 1656 conicto -2306 1535 2176 1432 conicto -2401 1301 2512 1125 conicto -2624 950 2624 727 conicto -2624 551 2546 399 conicto -2489 283 2404 216 conicto -2291 120 2127 60 conicto -1963 0 1718 0 conicto -384 0 lineto -206 0 lineto -64 120 lineto -64 224 lineto -64 328 lineto -206 448 lineto -384 448 lineto -448 448 lineto -896 1600 moveto -1407 1600 lineto -1681 1600 1862 1718 conicto -1984 1797 1984 1915 conicto -1984 2020 1868 2098 conicto -1753 2176 1501 2176 conicto -896 2176 lineto -896 1600 lineto -896 448 moveto -1692 448 lineto -1973 448 2088 536 conicto -2176 602 2176 724 conicto -2176 870 2002 1011 conicto -1829 1152 1506 1152 conicto -896 1152 lineto -896 448 lineto -end_ol grestore -gsave 12.579753 0.300000 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -gsave 12.943820 0.300000 translate 0.035278 -0.035278 scale -start_ol -2560 961 moveto -2560 704 2413 463 conicto -2267 222 1978 79 conicto -1689 -64 1375 -64 conicto -1062 -64 776 76 conicto -491 217 341 459 conicto -192 702 192 966 conicto -192 1234 344 1492 conicto -496 1751 780 1899 conicto -1064 2048 1375 2048 conicto -1687 2048 1976 1896 conicto -2265 1744 2412 1488 conicto -2560 1232 2560 961 conicto -2112 959 moveto -2112 1175 1951 1356 conicto -1732 1600 1374 1600 conicto -1060 1600 850 1406 conicto -640 1212 640 957 conicto -640 748 852 566 conicto -1065 384 1374 384 conicto -1687 384 1899 566 conicto -2112 748 2112 959 conicto -end_ol grestore -gsave 13.307886 0.300000 translate 0.035278 -0.035278 scale -start_ol -960 841 moveto -960 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -448 448 lineto -512 448 lineto -512 2368 lineto -448 2368 lineto -270 2368 lineto -128 2488 lineto -128 2592 lineto -128 2696 lineto -270 2816 lineto -448 2816 lineto -960 2816 lineto -960 1261 lineto -1326 1606 lineto -1216 1700 1216 1759 conicto -1216 1860 1281 1922 conicto -1347 1984 1502 1984 conicto -1994 1984 lineto -2162 1984 lineto -2304 1864 lineto -2304 1760 lineto -2304 1656 lineto -2162 1536 lineto -1994 1536 lineto -1866 1536 lineto -1399 1081 lineto -2148 448 lineto -2276 448 lineto -2418 448 lineto -2560 328 lineto -2560 224 lineto -2560 120 lineto -2418 0 lineto -2276 0 lineto -1686 0 lineto -1502 0 1423 62 conicto -1344 124 1344 225 conicto -1344 310 1543 393 conicto -1046 813 lineto -960 841 lineto -end_ol grestore -gsave 13.671953 0.300000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 14.036020 0.300000 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -gsave 14.400086 0.300000 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave 14.764153 0.300000 translate 0.035278 -0.035278 scale -start_ol -1088 2624 moveto -1664 2624 lineto -1536 1443 lineto -1524 1350 1483 1315 conicto -1442 1280 1374 1280 conicto -1312 1280 1270 1315 conicto -1228 1350 1216 1441 conicto -1088 2624 lineto -end_ol grestore -gsave 11.597620 1.100000 translate 0.035278 -0.035278 scale -start_ol -1376 1332 moveto -951 0 lineto -467 0 lineto -141 2176 lineto --50 2176 lineto --192 2296 lineto --192 2400 lineto --192 2504 lineto --50 2624 lineto -141 2624 lineto -872 2624 lineto -1074 2624 lineto -1216 2504 lineto -1216 2400 lineto -1216 2296 lineto -1074 2176 lineto -872 2176 lineto -616 2176 lineto -800 882 lineto -1148 1984 lineto -1607 1984 lineto -1952 882 lineto -2137 2176 lineto -1881 2176 lineto -1678 2176 lineto -1536 2296 lineto -1536 2400 lineto -1536 2504 lineto -1678 2624 lineto -1881 2624 lineto -2610 2624 lineto -2802 2624 lineto -2944 2504 lineto -2944 2400 lineto -2944 2296 lineto -2802 2176 lineto -2610 2176 lineto -2283 0 lineto -1797 0 lineto -1376 1332 lineto -end_ol grestore -gsave 11.961686 1.100000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 12.325753 1.100000 translate 0.035278 -0.035278 scale -start_ol -768 2816 moveto -768 1833 lineto -938 1941 1114 1994 conicto -1290 2048 1469 2048 conicto -1953 2048 2288 1727 conicto -2624 1406 2624 952 conicto -2624 519 2304 227 conicto -1984 -64 1460 -64 conicto -1274 -64 1101 -11 conicto -929 41 768 144 conicto -768 0 lineto -256 0 lineto -78 0 lineto --64 120 lineto --64 224 lineto --64 328 lineto -78 448 lineto -256 448 lineto -320 448 lineto -320 2368 lineto -256 2368 lineto -78 2368 lineto --64 2488 lineto --64 2592 lineto --64 2696 lineto -78 2816 lineto -256 2816 lineto -768 2816 lineto -2176 940 moveto -2176 1217 1972 1408 conicto -1768 1600 1471 1600 conicto -1177 1600 972 1408 conicto -768 1217 768 946 conicto -768 700 952 542 conicto -1136 384 1471 384 conicto -1806 384 1991 542 conicto -2176 700 2176 940 conicto -end_ol grestore -gsave 12.689820 1.100000 translate 0.035278 -0.035278 scale -start_ol -2368 1088 moveto -384 1088 lineto -384 1536 lineto -2368 1536 lineto -2368 1088 lineto -end_ol grestore -gsave 13.053886 1.100000 translate 0.035278 -0.035278 scale -start_ol -768 128 moveto -703 46 664 23 conicto -625 0 568 0 conicto -456 0 388 68 conicto -320 137 320 297 conicto -320 597 lineto -320 759 383 827 conicto -447 896 553 896 conicto -633 896 688 855 conicto -743 815 772 719 conicto -801 623 832 589 conicto -893 522 1049 453 conicto -1205 384 1391 384 conicto -1680 384 1866 522 conicto -1984 606 1984 728 conicto -1984 809 1928 881 conicto -1873 953 1748 1001 conicto -1666 1033 1381 1089 conicto -1036 1156 850 1251 conicto -664 1346 556 1519 conicto -448 1692 448 1893 conicto -448 2211 691 2449 conicto -935 2688 1324 2688 conicto -1481 2688 1614 2640 conicto -1747 2593 1856 2496 conicto -1954 2624 2053 2624 conicto -2163 2624 2233 2553 conicto -2304 2482 2304 2318 conicto -2304 1972 lineto -2304 1806 2240 1735 conicto -2176 1664 2076 1664 conicto -1991 1664 1929 1716 conicto -1879 1755 1855 1870 conicto -1831 1986 1792 2036 conicto -1736 2122 1623 2181 conicto -1510 2240 1363 2240 conicto -1147 2240 1021 2129 conicto -896 2018 896 1898 conicto -896 1816 950 1740 conicto -1004 1664 1109 1621 conicto -1179 1590 1502 1523 conicto -1825 1457 2007 1377 conicto -2190 1297 2311 1126 conicto -2432 956 2432 720 conicto -2432 392 2207 196 conicto -1908 -64 1445 -64 conicto -1266 -64 1097 -15 conicto -928 33 768 128 conicto -end_ol grestore -gsave 13.417953 1.100000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 13.782020 1.100000 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -gsave 14.146086 1.100000 translate 0.035278 -0.035278 scale -start_ol -1376 498 moveto -1859 1536 lineto -1678 1536 lineto -1678 1536 lineto -1536 1656 lineto -1536 1760 lineto -1536 1864 lineto -1678 1984 lineto -1859 1984 lineto -2411 1984 lineto -2610 1984 lineto -2752 1864 lineto -2752 1760 lineto -2752 1656 lineto -2610 1536 lineto -2411 1536 lineto -2347 1536 lineto -1632 0 lineto -1120 0 lineto -405 1536 lineto -341 1536 lineto -142 1536 lineto -0 1656 lineto -0 1760 lineto -0 1864 lineto -142 1984 lineto -341 1984 lineto -893 1984 lineto -1074 1984 lineto -1216 1864 lineto -1216 1760 lineto -1216 1656 lineto -1074 1536 lineto -1074 1536 lineto -893 1536 lineto -1376 498 lineto -end_ol grestore -gsave 14.510153 1.100000 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 14.874220 1.100000 translate 0.035278 -0.035278 scale -start_ol -2145 1920 moveto -2232 1984 2323 1984 conicto -2427 1984 2493 1914 conicto -2560 1844 2560 1682 conicto -2560 1390 lineto -2560 1225 2493 1156 conicto -2427 1088 2318 1088 conicto -2221 1088 2152 1142 conicto -2103 1182 2075 1306 conicto -2047 1431 1940 1536 conicto -1749 1600 1454 1600 conicto -1115 1600 909 1415 conicto -704 1230 704 948 conicto -704 687 901 535 conicto -1098 384 1555 384 conicto -1855 384 2045 440 conicto -2157 474 2257 557 conicto -2358 640 2426 640 conicto -2507 640 2565 572 conicto -2624 505 2624 414 conicto -2624 267 2414 134 conicto -2102 -64 1502 -64 conicto -962 -64 662 152 conicto -256 442 256 945 conicto -256 1422 592 1735 conicto -929 2048 1469 2048 conicto -1666 2048 1834 2016 conicto -2002 1984 2145 1920 conicto -end_ol grestore -gsave 15.238286 1.100000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 11.974386 1.900000 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 12.338453 1.900000 translate 0.035278 -0.035278 scale -start_ol -896 1984 moveto -896 1856 lineto -1019 1952 1167 2000 conicto -1315 2048 1488 2048 conicto -1888 2048 2120 1801 conicto -2304 1603 2304 1284 conicto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1856 1297 lineto -1856 1444 1777 1512 conicto -1673 1600 1467 1600 conicto -1311 1600 1193 1539 conicto -1076 1478 896 1280 conicto -896 448 lineto -1074 448 lineto -1074 448 lineto -1216 328 lineto -1216 224 lineto -1216 120 lineto -1074 0 lineto -896 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 1536 lineto -270 1536 lineto -128 1656 lineto -128 1760 lineto -128 1864 lineto -270 1984 lineto -448 1984 lineto -896 1984 lineto -end_ol grestore -gsave 12.702520 1.900000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 13.066586 1.900000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 13.430653 1.900000 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -gsave 13.794720 1.900000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -832 1984 lineto -832 2151 lineto -832 2438 1068 2627 conicto -1304 2816 1753 2816 conicto -1952 2816 2214 2778 conicto -2476 2741 2550 2673 conicto -2624 2605 2624 2498 conicto -2624 2384 2556 2312 conicto -2489 2240 2391 2240 conicto -2345 2240 2253 2268 conicto -1948 2368 1711 2368 conicto -1466 2368 1373 2304 conicto -1280 2241 1280 2147 conicto -1280 1984 lineto -1984 1984 lineto -2162 1984 lineto -2304 1864 lineto -2304 1760 lineto -2304 1656 lineto -2162 1536 lineto -1984 1536 lineto -1280 1536 lineto -end_ol grestore -gsave 14.158786 1.900000 translate 0.035278 -0.035278 scale -start_ol -1792 0 moveto -1792 256 lineto -1619 97 1409 16 conicto -1199 -64 1028 -64 conicto -657 -64 424 122 conicto -192 309 192 535 conicto -192 810 488 1045 conicto -785 1280 1307 1280 conicto -1517 1280 1792 1236 conicto -1792 1353 lineto -1792 1462 1700 1531 conicto -1609 1600 1352 1600 conicto -1143 1600 807 1507 conicto -682 1472 612 1472 conicto -516 1472 450 1539 conicto -384 1606 384 1711 conicto -384 1769 407 1812 conicto -430 1856 471 1881 conicto -512 1907 642 1943 conicto -815 1992 996 2020 conicto -1177 2048 1323 2048 conicto -1758 2048 1999 1867 conicto -2240 1687 2240 1373 conicto -2240 448 lineto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1792 0 lineto -1792 783 moveto -1507 832 1267 832 conicto -978 832 769 708 conicto -640 628 640 547 conicto -640 488 703 451 conicto -819 384 1019 384 conicto -1191 384 1407 443 conicto -1623 502 1792 604 conicto -1792 783 lineto -end_ol grestore -gsave 14.522853 1.900000 translate 0.035278 -0.035278 scale -start_ol -2145 1920 moveto -2232 1984 2323 1984 conicto -2427 1984 2493 1914 conicto -2560 1844 2560 1682 conicto -2560 1390 lineto -2560 1225 2493 1156 conicto -2427 1088 2318 1088 conicto -2221 1088 2152 1142 conicto -2103 1182 2075 1306 conicto -2047 1431 1940 1536 conicto -1749 1600 1454 1600 conicto -1115 1600 909 1415 conicto -704 1230 704 948 conicto -704 687 901 535 conicto -1098 384 1555 384 conicto -1855 384 2045 440 conicto -2157 474 2257 557 conicto -2358 640 2426 640 conicto -2507 640 2565 572 conicto -2624 505 2624 414 conicto -2624 267 2414 134 conicto -2102 -64 1502 -64 conicto -962 -64 662 152 conicto -256 442 256 945 conicto -256 1422 592 1735 conicto -929 2048 1469 2048 conicto -1666 2048 1834 2016 conicto -2002 1984 2145 1920 conicto -end_ol grestore -gsave 14.886920 1.900000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 11.131953 2.700000 translate 0.035278 -0.035278 scale -start_ol -1216 1121 moveto -1216 1484 1346 1855 conicto -1442 2129 1641 2466 conicto -1786 2706 1855 2761 conicto -1924 2816 2008 2816 conicto -2106 2816 2173 2754 conicto -2240 2692 2240 2604 conicto -2240 2544 2187 2461 conicto -1947 2094 1837 1772 conicto -1728 1451 1728 1121 conicto -1728 789 1837 467 conicto -1947 146 2187 -221 conicto -2240 -302 2240 -365 conicto -2240 -452 2173 -514 conicto -2106 -576 2008 -576 conicto -1926 -576 1864 -526 conicto -1775 -453 1629 -201 conicto -1417 167 1339 405 conicto -1216 770 1216 1121 conicto -end_ol grestore -gsave 11.496020 2.700000 translate 0.035278 -0.035278 scale -start_ol -2145 1920 moveto -2232 1984 2323 1984 conicto -2427 1984 2493 1914 conicto -2560 1844 2560 1682 conicto -2560 1390 lineto -2560 1225 2493 1156 conicto -2427 1088 2318 1088 conicto -2221 1088 2152 1142 conicto -2103 1182 2075 1306 conicto -2047 1431 1940 1536 conicto -1749 1600 1454 1600 conicto -1115 1600 909 1415 conicto -704 1230 704 948 conicto -704 687 901 535 conicto -1098 384 1555 384 conicto -1855 384 2045 440 conicto -2157 474 2257 557 conicto -2358 640 2426 640 conicto -2507 640 2565 572 conicto -2624 505 2624 414 conicto -2624 267 2414 134 conicto -2102 -64 1502 -64 conicto -962 -64 662 152 conicto -256 442 256 945 conicto -256 1422 592 1735 conicto -929 2048 1469 2048 conicto -1666 2048 1834 2016 conicto -2002 1984 2145 1920 conicto -end_ol grestore -gsave 11.860086 2.700000 translate 0.035278 -0.035278 scale -start_ol -1600 2816 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 2368 lineto -768 2368 lineto -590 2368 lineto -448 2488 lineto -448 2592 lineto -448 2696 lineto -590 2816 lineto -768 2816 lineto -1600 2816 lineto -end_ol grestore -gsave 12.224153 2.700000 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 12.588220 2.700000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 12.952286 2.700000 translate 0.035278 -0.035278 scale -start_ol -896 1984 moveto -896 1856 lineto -1019 1952 1167 2000 conicto -1315 2048 1488 2048 conicto -1888 2048 2120 1801 conicto -2304 1603 2304 1284 conicto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1856 1297 lineto -1856 1444 1777 1512 conicto -1673 1600 1467 1600 conicto -1311 1600 1193 1539 conicto -1076 1478 896 1280 conicto -896 448 lineto -1074 448 lineto -1074 448 lineto -1216 328 lineto -1216 224 lineto -1216 120 lineto -1074 0 lineto -896 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 1536 lineto -270 1536 lineto -128 1656 lineto -128 1760 lineto -128 1864 lineto -270 1984 lineto -448 1984 lineto -896 1984 lineto -end_ol grestore -gsave 13.316353 2.700000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 13.680420 2.700000 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave 14.044486 2.700000 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave 14.408553 2.700000 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave 14.772620 2.700000 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 15.136686 2.700000 translate 0.035278 -0.035278 scale -start_ol -2432 2816 moveto -2432 448 lineto -2496 448 lineto -2674 448 lineto -2816 328 lineto -2816 224 lineto -2816 120 lineto -2674 0 lineto -2496 0 lineto -1984 0 lineto -1984 256 lineto -1826 97 1652 16 conicto -1478 -64 1292 -64 conicto -768 -64 448 227 conicto -128 519 128 952 conicto -128 1406 464 1727 conicto -800 2048 1283 2048 conicto -1465 2048 1639 1994 conicto -1814 1941 1984 1833 conicto -1984 2368 lineto -1920 2368 lineto -1742 2368 lineto -1600 2488 lineto -1600 2592 lineto -1600 2696 lineto -1742 2816 lineto -1920 2816 lineto -2432 2816 lineto -1984 940 moveto -1984 1217 1780 1408 conicto -1576 1600 1278 1600 conicto -984 1600 780 1408 conicto -576 1217 576 946 conicto -576 700 760 542 conicto -944 384 1278 384 conicto -1612 384 1798 542 conicto -1984 700 1984 940 conicto -end_ol grestore -gsave 15.500753 2.700000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 15.864820 2.700000 translate 0.035278 -0.035278 scale -start_ol -1536 1121 moveto -1536 758 1406 385 conicto -1310 111 1111 -224 conicto -966 -464 897 -520 conicto -828 -576 744 -576 conicto -646 -576 579 -514 conicto -512 -452 512 -365 conicto -512 -302 565 -221 conicto -805 146 914 467 conicto -1024 789 1024 1121 conicto -1024 1451 914 1772 conicto -805 2094 565 2461 conicto -512 2544 512 2604 conicto -512 2692 579 2754 conicto -646 2816 744 2816 conicto -826 2816 888 2766 conicto -977 2695 1123 2441 conicto -1335 2073 1413 1837 conicto -1536 1470 1536 1121 conicto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 8.210743 9.926729 5.330128 5.330128 224.361397 309.169126 ellipse s -0 slj -n 11.274494 6.055704 m 12.100000 6.400000 l 11.880134 5.533017 l f -gsave 6.024058 2.000000 translate 0.035278 -0.035278 scale -start_ol -768 128 moveto -703 46 664 23 conicto -625 0 568 0 conicto -456 0 388 68 conicto -320 137 320 297 conicto -320 597 lineto -320 759 383 827 conicto -447 896 553 896 conicto -633 896 688 855 conicto -743 815 772 719 conicto -801 623 832 589 conicto -893 522 1049 453 conicto -1205 384 1391 384 conicto -1680 384 1866 522 conicto -1984 606 1984 728 conicto -1984 809 1928 881 conicto -1873 953 1748 1001 conicto -1666 1033 1381 1089 conicto -1036 1156 850 1251 conicto -664 1346 556 1519 conicto -448 1692 448 1893 conicto -448 2211 691 2449 conicto -935 2688 1324 2688 conicto -1481 2688 1614 2640 conicto -1747 2593 1856 2496 conicto -1954 2624 2053 2624 conicto -2163 2624 2233 2553 conicto -2304 2482 2304 2318 conicto -2304 1972 lineto -2304 1806 2240 1735 conicto -2176 1664 2076 1664 conicto -1991 1664 1929 1716 conicto -1879 1755 1855 1870 conicto -1831 1986 1792 2036 conicto -1736 2122 1623 2181 conicto -1510 2240 1363 2240 conicto -1147 2240 1021 2129 conicto -896 2018 896 1898 conicto -896 1816 950 1740 conicto -1004 1664 1109 1621 conicto -1179 1590 1502 1523 conicto -1825 1457 2007 1377 conicto -2190 1297 2311 1126 conicto -2432 956 2432 720 conicto -2432 392 2207 196 conicto -1908 -64 1445 -64 conicto -1266 -64 1097 -15 conicto -928 33 768 128 conicto -end_ol grestore -gsave 6.388125 2.000000 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 6.752192 2.000000 translate 0.035278 -0.035278 scale -start_ol -768 2816 moveto -768 1833 lineto -938 1941 1114 1994 conicto -1290 2048 1469 2048 conicto -1953 2048 2288 1727 conicto -2624 1406 2624 952 conicto -2624 519 2304 227 conicto -1984 -64 1460 -64 conicto -1274 -64 1101 -11 conicto -929 41 768 144 conicto -768 0 lineto -256 0 lineto -78 0 lineto --64 120 lineto --64 224 lineto --64 328 lineto -78 448 lineto -256 448 lineto -320 448 lineto -320 2368 lineto -256 2368 lineto -78 2368 lineto --64 2488 lineto --64 2592 lineto --64 2696 lineto -78 2816 lineto -256 2816 lineto -768 2816 lineto -2176 940 moveto -2176 1217 1972 1408 conicto -1768 1600 1471 1600 conicto -1177 1600 972 1408 conicto -768 1217 768 946 conicto -768 700 952 542 conicto -1136 384 1471 384 conicto -1806 384 1991 542 conicto -2176 700 2176 940 conicto -end_ol grestore -gsave 7.116258 2.000000 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave 7.480325 2.000000 translate 0.035278 -0.035278 scale -start_ol -2145 1920 moveto -2232 1984 2323 1984 conicto -2427 1984 2493 1914 conicto -2560 1844 2560 1682 conicto -2560 1390 lineto -2560 1225 2493 1156 conicto -2427 1088 2318 1088 conicto -2221 1088 2152 1142 conicto -2103 1182 2075 1306 conicto -2047 1431 1940 1536 conicto -1749 1600 1454 1600 conicto -1115 1600 909 1415 conicto -704 1230 704 948 conicto -704 687 901 535 conicto -1098 384 1555 384 conicto -1855 384 2045 440 conicto -2157 474 2257 557 conicto -2358 640 2426 640 conicto -2507 640 2565 572 conicto -2624 505 2624 414 conicto -2624 267 2414 134 conicto -2102 -64 1502 -64 conicto -962 -64 662 152 conicto -256 442 256 945 conicto -256 1422 592 1735 conicto -929 2048 1469 2048 conicto -1666 2048 1834 2016 conicto -2002 1984 2145 1920 conicto -end_ol grestore -gsave 7.844392 2.000000 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -gsave 8.208458 2.000000 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 8.572525 2.000000 translate 0.035278 -0.035278 scale -start_ol -768 256 moveto -768 -448 lineto -1024 -448 lineto -1202 -448 lineto -1344 -568 lineto -1344 -672 lineto -1344 -776 lineto -1202 -896 lineto -1024 -896 lineto -256 -896 lineto -78 -896 lineto --64 -776 lineto --64 -672 lineto --64 -568 lineto -78 -448 lineto -256 -448 lineto -320 -448 lineto -320 1536 lineto -256 1536 lineto -78 1536 lineto --64 1656 lineto --64 1760 lineto --64 1864 lineto -78 1984 lineto -256 1984 lineto -768 1984 lineto -768 1792 lineto -896 1921 1076 1984 conicto -1256 2048 1444 2048 conicto -1934 2048 2279 1729 conicto -2624 1410 2624 998 conicto -2624 543 2214 247 conicto -1872 0 1442 0 conicto -1258 0 1077 64 conicto -896 129 768 256 conicto -2176 994 moveto -2176 1092 2097 1244 conicto -2019 1396 1855 1498 conicto -1692 1600 1472 1600 conicto -1118 1600 909 1337 conicto -768 1156 768 989 conicto -768 802 971 625 conicto -1174 448 1472 448 conicto -1774 448 1975 623 conicto -2176 799 2176 994 conicto -end_ol grestore -gsave 8.936592 2.000000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 9.300658 2.000000 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 9.664725 2.000000 translate 0.035278 -0.035278 scale -start_ol -2560 961 moveto -2560 704 2413 463 conicto -2267 222 1978 79 conicto -1689 -64 1375 -64 conicto -1062 -64 776 76 conicto -491 217 341 459 conicto -192 702 192 966 conicto -192 1234 344 1492 conicto -496 1751 780 1899 conicto -1064 2048 1375 2048 conicto -1687 2048 1976 1896 conicto -2265 1744 2412 1488 conicto -2560 1232 2560 961 conicto -2112 959 moveto -2112 1175 1951 1356 conicto -1732 1600 1374 1600 conicto -1060 1600 850 1406 conicto -640 1212 640 957 conicto -640 748 852 566 conicto -1065 384 1374 384 conicto -1687 384 1899 566 conicto -2112 748 2112 959 conicto -end_ol grestore -gsave 10.028792 2.000000 translate 0.035278 -0.035278 scale -start_ol -896 1984 moveto -896 1856 lineto -1019 1952 1167 2000 conicto -1315 2048 1488 2048 conicto -1888 2048 2120 1801 conicto -2304 1603 2304 1284 conicto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1856 1297 lineto -1856 1444 1777 1512 conicto -1673 1600 1467 1600 conicto -1311 1600 1193 1539 conicto -1076 1478 896 1280 conicto -896 448 lineto -1074 448 lineto -1074 448 lineto -1216 328 lineto -1216 224 lineto -1216 120 lineto -1074 0 lineto -896 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 1536 lineto -270 1536 lineto -128 1656 lineto -128 1760 lineto -128 1864 lineto -270 1984 lineto -448 1984 lineto -896 1984 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 26.075724 7.776897 4.730217 4.730217 39.731978 154.678455 ellipse s -0 slj -n 30.063683 10.993691 m 30.099970 10.100000 l 29.363245 10.607185 l f -gsave 25.180307 12.000000 translate 0.035278 -0.035278 scale -start_ol -768 128 moveto -703 46 664 23 conicto -625 0 568 0 conicto -456 0 388 68 conicto -320 137 320 297 conicto -320 597 lineto -320 759 383 827 conicto -447 896 553 896 conicto -633 896 688 855 conicto -743 815 772 719 conicto -801 623 832 589 conicto -893 522 1049 453 conicto -1205 384 1391 384 conicto -1680 384 1866 522 conicto -1984 606 1984 728 conicto -1984 809 1928 881 conicto -1873 953 1748 1001 conicto -1666 1033 1381 1089 conicto -1036 1156 850 1251 conicto -664 1346 556 1519 conicto -448 1692 448 1893 conicto -448 2211 691 2449 conicto -935 2688 1324 2688 conicto -1481 2688 1614 2640 conicto -1747 2593 1856 2496 conicto -1954 2624 2053 2624 conicto -2163 2624 2233 2553 conicto -2304 2482 2304 2318 conicto -2304 1972 lineto -2304 1806 2240 1735 conicto -2176 1664 2076 1664 conicto -1991 1664 1929 1716 conicto -1879 1755 1855 1870 conicto -1831 1986 1792 2036 conicto -1736 2122 1623 2181 conicto -1510 2240 1363 2240 conicto -1147 2240 1021 2129 conicto -896 2018 896 1898 conicto -896 1816 950 1740 conicto -1004 1664 1109 1621 conicto -1179 1590 1502 1523 conicto -1825 1457 2007 1377 conicto -2190 1297 2311 1126 conicto -2432 956 2432 720 conicto -2432 392 2207 196 conicto -1908 -64 1445 -64 conicto -1266 -64 1097 -15 conicto -928 33 768 128 conicto -end_ol grestore -gsave 25.544374 12.000000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 25.908441 12.000000 translate 0.035278 -0.035278 scale -start_ol -2560 961 moveto -2560 704 2413 463 conicto -2267 222 1978 79 conicto -1689 -64 1375 -64 conicto -1062 -64 776 76 conicto -491 217 341 459 conicto -192 702 192 966 conicto -192 1234 344 1492 conicto -496 1751 780 1899 conicto -1064 2048 1375 2048 conicto -1687 2048 1976 1896 conicto -2265 1744 2412 1488 conicto -2560 1232 2560 961 conicto -2112 959 moveto -2112 1175 1951 1356 conicto -1732 1600 1374 1600 conicto -1060 1600 850 1406 conicto -640 1212 640 957 conicto -640 748 852 566 conicto -1065 384 1374 384 conicto -1687 384 1899 566 conicto -2112 748 2112 959 conicto -end_ol grestore -gsave 26.272507 12.000000 translate 0.035278 -0.035278 scale -start_ol -768 256 moveto -768 -448 lineto -1024 -448 lineto -1202 -448 lineto -1344 -568 lineto -1344 -672 lineto -1344 -776 lineto -1202 -896 lineto -1024 -896 lineto -256 -896 lineto -78 -896 lineto --64 -776 lineto --64 -672 lineto --64 -568 lineto -78 -448 lineto -256 -448 lineto -320 -448 lineto -320 1536 lineto -256 1536 lineto -78 1536 lineto --64 1656 lineto --64 1760 lineto --64 1864 lineto -78 1984 lineto -256 1984 lineto -768 1984 lineto -768 1792 lineto -896 1921 1076 1984 conicto -1256 2048 1444 2048 conicto -1934 2048 2279 1729 conicto -2624 1410 2624 998 conicto -2624 543 2214 247 conicto -1872 0 1442 0 conicto -1258 0 1077 64 conicto -896 129 768 256 conicto -2176 994 moveto -2176 1092 2097 1244 conicto -2019 1396 1855 1498 conicto -1692 1600 1472 1600 conicto -1118 1600 909 1337 conicto -768 1156 768 989 conicto -768 802 971 625 conicto -1174 448 1472 448 conicto -1774 448 1975 623 conicto -2176 799 2176 994 conicto -end_ol grestore -gsave 19.215679 0.300000 translate 0.035278 -0.035278 scale -start_ol -448 448 moveto -448 2176 lineto -384 2176 lineto -206 2176 lineto -64 2296 lineto -64 2400 lineto -64 2504 lineto -206 2624 lineto -384 2624 lineto -1526 2624 lineto -1935 2624 2183 2414 conicto -2432 2204 2432 1914 conicto -2432 1777 2369 1656 conicto -2306 1535 2176 1432 conicto -2401 1301 2512 1125 conicto -2624 950 2624 727 conicto -2624 551 2546 399 conicto -2489 283 2404 216 conicto -2291 120 2127 60 conicto -1963 0 1718 0 conicto -384 0 lineto -206 0 lineto -64 120 lineto -64 224 lineto -64 328 lineto -206 448 lineto -384 448 lineto -448 448 lineto -896 1600 moveto -1407 1600 lineto -1681 1600 1862 1718 conicto -1984 1797 1984 1915 conicto -1984 2020 1868 2098 conicto -1753 2176 1501 2176 conicto -896 2176 lineto -896 1600 lineto -896 448 moveto -1692 448 lineto -1973 448 2088 536 conicto -2176 602 2176 724 conicto -2176 870 2002 1011 conicto -1829 1152 1506 1152 conicto -896 1152 lineto -896 448 lineto -end_ol grestore -gsave 19.579746 0.300000 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -gsave 19.943813 0.300000 translate 0.035278 -0.035278 scale -start_ol -2560 961 moveto -2560 704 2413 463 conicto -2267 222 1978 79 conicto -1689 -64 1375 -64 conicto -1062 -64 776 76 conicto -491 217 341 459 conicto -192 702 192 966 conicto -192 1234 344 1492 conicto -496 1751 780 1899 conicto -1064 2048 1375 2048 conicto -1687 2048 1976 1896 conicto -2265 1744 2412 1488 conicto -2560 1232 2560 961 conicto -2112 959 moveto -2112 1175 1951 1356 conicto -1732 1600 1374 1600 conicto -1060 1600 850 1406 conicto -640 1212 640 957 conicto -640 748 852 566 conicto -1065 384 1374 384 conicto -1687 384 1899 566 conicto -2112 748 2112 959 conicto -end_ol grestore -gsave 20.307879 0.300000 translate 0.035278 -0.035278 scale -start_ol -960 841 moveto -960 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -448 448 lineto -512 448 lineto -512 2368 lineto -448 2368 lineto -270 2368 lineto -128 2488 lineto -128 2592 lineto -128 2696 lineto -270 2816 lineto -448 2816 lineto -960 2816 lineto -960 1261 lineto -1326 1606 lineto -1216 1700 1216 1759 conicto -1216 1860 1281 1922 conicto -1347 1984 1502 1984 conicto -1994 1984 lineto -2162 1984 lineto -2304 1864 lineto -2304 1760 lineto -2304 1656 lineto -2162 1536 lineto -1994 1536 lineto -1866 1536 lineto -1399 1081 lineto -2148 448 lineto -2276 448 lineto -2418 448 lineto -2560 328 lineto -2560 224 lineto -2560 120 lineto -2418 0 lineto -2276 0 lineto -1686 0 lineto -1502 0 1423 62 conicto -1344 124 1344 225 conicto -1344 310 1543 393 conicto -1046 813 lineto -960 841 lineto -end_ol grestore -gsave 20.671946 0.300000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 21.036013 0.300000 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -gsave 21.400079 0.300000 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave 21.764146 0.300000 translate 0.035278 -0.035278 scale -start_ol -1088 2624 moveto -1664 2624 lineto -1536 1443 lineto -1524 1350 1483 1315 conicto -1442 1280 1374 1280 conicto -1312 1280 1270 1315 conicto -1228 1350 1216 1441 conicto -1088 2624 lineto -end_ol grestore -gsave 18.597613 1.100000 translate 0.035278 -0.035278 scale -start_ol -1376 1332 moveto -951 0 lineto -467 0 lineto -141 2176 lineto --50 2176 lineto --192 2296 lineto --192 2400 lineto --192 2504 lineto --50 2624 lineto -141 2624 lineto -872 2624 lineto -1074 2624 lineto -1216 2504 lineto -1216 2400 lineto -1216 2296 lineto -1074 2176 lineto -872 2176 lineto -616 2176 lineto -800 882 lineto -1148 1984 lineto -1607 1984 lineto -1952 882 lineto -2137 2176 lineto -1881 2176 lineto -1678 2176 lineto -1536 2296 lineto -1536 2400 lineto -1536 2504 lineto -1678 2624 lineto -1881 2624 lineto -2610 2624 lineto -2802 2624 lineto -2944 2504 lineto -2944 2400 lineto -2944 2296 lineto -2802 2176 lineto -2610 2176 lineto -2283 0 lineto -1797 0 lineto -1376 1332 lineto -end_ol grestore -gsave 18.961679 1.100000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 19.325746 1.100000 translate 0.035278 -0.035278 scale -start_ol -768 2816 moveto -768 1833 lineto -938 1941 1114 1994 conicto -1290 2048 1469 2048 conicto -1953 2048 2288 1727 conicto -2624 1406 2624 952 conicto -2624 519 2304 227 conicto -1984 -64 1460 -64 conicto -1274 -64 1101 -11 conicto -929 41 768 144 conicto -768 0 lineto -256 0 lineto -78 0 lineto --64 120 lineto --64 224 lineto --64 328 lineto -78 448 lineto -256 448 lineto -320 448 lineto -320 2368 lineto -256 2368 lineto -78 2368 lineto --64 2488 lineto --64 2592 lineto --64 2696 lineto -78 2816 lineto -256 2816 lineto -768 2816 lineto -2176 940 moveto -2176 1217 1972 1408 conicto -1768 1600 1471 1600 conicto -1177 1600 972 1408 conicto -768 1217 768 946 conicto -768 700 952 542 conicto -1136 384 1471 384 conicto -1806 384 1991 542 conicto -2176 700 2176 940 conicto -end_ol grestore -gsave 19.689813 1.100000 translate 0.035278 -0.035278 scale -start_ol -2368 1088 moveto -384 1088 lineto -384 1536 lineto -2368 1536 lineto -2368 1088 lineto -end_ol grestore -gsave 20.053879 1.100000 translate 0.035278 -0.035278 scale -start_ol -768 128 moveto -703 46 664 23 conicto -625 0 568 0 conicto -456 0 388 68 conicto -320 137 320 297 conicto -320 597 lineto -320 759 383 827 conicto -447 896 553 896 conicto -633 896 688 855 conicto -743 815 772 719 conicto -801 623 832 589 conicto -893 522 1049 453 conicto -1205 384 1391 384 conicto -1680 384 1866 522 conicto -1984 606 1984 728 conicto -1984 809 1928 881 conicto -1873 953 1748 1001 conicto -1666 1033 1381 1089 conicto -1036 1156 850 1251 conicto -664 1346 556 1519 conicto -448 1692 448 1893 conicto -448 2211 691 2449 conicto -935 2688 1324 2688 conicto -1481 2688 1614 2640 conicto -1747 2593 1856 2496 conicto -1954 2624 2053 2624 conicto -2163 2624 2233 2553 conicto -2304 2482 2304 2318 conicto -2304 1972 lineto -2304 1806 2240 1735 conicto -2176 1664 2076 1664 conicto -1991 1664 1929 1716 conicto -1879 1755 1855 1870 conicto -1831 1986 1792 2036 conicto -1736 2122 1623 2181 conicto -1510 2240 1363 2240 conicto -1147 2240 1021 2129 conicto -896 2018 896 1898 conicto -896 1816 950 1740 conicto -1004 1664 1109 1621 conicto -1179 1590 1502 1523 conicto -1825 1457 2007 1377 conicto -2190 1297 2311 1126 conicto -2432 956 2432 720 conicto -2432 392 2207 196 conicto -1908 -64 1445 -64 conicto -1266 -64 1097 -15 conicto -928 33 768 128 conicto -end_ol grestore -gsave 20.417946 1.100000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 20.782013 1.100000 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -gsave 21.146079 1.100000 translate 0.035278 -0.035278 scale -start_ol -1376 498 moveto -1859 1536 lineto -1678 1536 lineto -1678 1536 lineto -1536 1656 lineto -1536 1760 lineto -1536 1864 lineto -1678 1984 lineto -1859 1984 lineto -2411 1984 lineto -2610 1984 lineto -2752 1864 lineto -2752 1760 lineto -2752 1656 lineto -2610 1536 lineto -2411 1536 lineto -2347 1536 lineto -1632 0 lineto -1120 0 lineto -405 1536 lineto -341 1536 lineto -142 1536 lineto -0 1656 lineto -0 1760 lineto -0 1864 lineto -142 1984 lineto -341 1984 lineto -893 1984 lineto -1074 1984 lineto -1216 1864 lineto -1216 1760 lineto -1216 1656 lineto -1074 1536 lineto -1074 1536 lineto -893 1536 lineto -1376 498 lineto -end_ol grestore -gsave 21.510146 1.100000 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 21.874213 1.100000 translate 0.035278 -0.035278 scale -start_ol -2145 1920 moveto -2232 1984 2323 1984 conicto -2427 1984 2493 1914 conicto -2560 1844 2560 1682 conicto -2560 1390 lineto -2560 1225 2493 1156 conicto -2427 1088 2318 1088 conicto -2221 1088 2152 1142 conicto -2103 1182 2075 1306 conicto -2047 1431 1940 1536 conicto -1749 1600 1454 1600 conicto -1115 1600 909 1415 conicto -704 1230 704 948 conicto -704 687 901 535 conicto -1098 384 1555 384 conicto -1855 384 2045 440 conicto -2157 474 2257 557 conicto -2358 640 2426 640 conicto -2507 640 2565 572 conicto -2624 505 2624 414 conicto -2624 267 2414 134 conicto -2102 -64 1502 -64 conicto -962 -64 662 152 conicto -256 442 256 945 conicto -256 1422 592 1735 conicto -929 2048 1469 2048 conicto -1666 2048 1834 2016 conicto -2002 1984 2145 1920 conicto -end_ol grestore -gsave 22.238279 1.100000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 18.974379 1.900000 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 19.338446 1.900000 translate 0.035278 -0.035278 scale -start_ol -896 1984 moveto -896 1856 lineto -1019 1952 1167 2000 conicto -1315 2048 1488 2048 conicto -1888 2048 2120 1801 conicto -2304 1603 2304 1284 conicto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1856 1297 lineto -1856 1444 1777 1512 conicto -1673 1600 1467 1600 conicto -1311 1600 1193 1539 conicto -1076 1478 896 1280 conicto -896 448 lineto -1074 448 lineto -1074 448 lineto -1216 328 lineto -1216 224 lineto -1216 120 lineto -1074 0 lineto -896 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 1536 lineto -270 1536 lineto -128 1656 lineto -128 1760 lineto -128 1864 lineto -270 1984 lineto -448 1984 lineto -896 1984 lineto -end_ol grestore -gsave 19.702513 1.900000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 20.066579 1.900000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 20.430646 1.900000 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -gsave 20.794713 1.900000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -832 1984 lineto -832 2151 lineto -832 2438 1068 2627 conicto -1304 2816 1753 2816 conicto -1952 2816 2214 2778 conicto -2476 2741 2550 2673 conicto -2624 2605 2624 2498 conicto -2624 2384 2556 2312 conicto -2489 2240 2391 2240 conicto -2345 2240 2253 2268 conicto -1948 2368 1711 2368 conicto -1466 2368 1373 2304 conicto -1280 2241 1280 2147 conicto -1280 1984 lineto -1984 1984 lineto -2162 1984 lineto -2304 1864 lineto -2304 1760 lineto -2304 1656 lineto -2162 1536 lineto -1984 1536 lineto -1280 1536 lineto -end_ol grestore -gsave 21.158779 1.900000 translate 0.035278 -0.035278 scale -start_ol -1792 0 moveto -1792 256 lineto -1619 97 1409 16 conicto -1199 -64 1028 -64 conicto -657 -64 424 122 conicto -192 309 192 535 conicto -192 810 488 1045 conicto -785 1280 1307 1280 conicto -1517 1280 1792 1236 conicto -1792 1353 lineto -1792 1462 1700 1531 conicto -1609 1600 1352 1600 conicto -1143 1600 807 1507 conicto -682 1472 612 1472 conicto -516 1472 450 1539 conicto -384 1606 384 1711 conicto -384 1769 407 1812 conicto -430 1856 471 1881 conicto -512 1907 642 1943 conicto -815 1992 996 2020 conicto -1177 2048 1323 2048 conicto -1758 2048 1999 1867 conicto -2240 1687 2240 1373 conicto -2240 448 lineto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1792 0 lineto -1792 783 moveto -1507 832 1267 832 conicto -978 832 769 708 conicto -640 628 640 547 conicto -640 488 703 451 conicto -819 384 1019 384 conicto -1191 384 1407 443 conicto -1623 502 1792 604 conicto -1792 783 lineto -end_ol grestore -gsave 21.522846 1.900000 translate 0.035278 -0.035278 scale -start_ol -2145 1920 moveto -2232 1984 2323 1984 conicto -2427 1984 2493 1914 conicto -2560 1844 2560 1682 conicto -2560 1390 lineto -2560 1225 2493 1156 conicto -2427 1088 2318 1088 conicto -2221 1088 2152 1142 conicto -2103 1182 2075 1306 conicto -2047 1431 1940 1536 conicto -1749 1600 1454 1600 conicto -1115 1600 909 1415 conicto -704 1230 704 948 conicto -704 687 901 535 conicto -1098 384 1555 384 conicto -1855 384 2045 440 conicto -2157 474 2257 557 conicto -2358 640 2426 640 conicto -2507 640 2565 572 conicto -2624 505 2624 414 conicto -2624 267 2414 134 conicto -2102 -64 1502 -64 conicto -962 -64 662 152 conicto -256 442 256 945 conicto -256 1422 592 1735 conicto -929 2048 1469 2048 conicto -1666 2048 1834 2016 conicto -2002 1984 2145 1920 conicto -end_ol grestore -gsave 21.886913 1.900000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 18.313979 2.700000 translate 0.035278 -0.035278 scale -start_ol -1216 1121 moveto -1216 1484 1346 1855 conicto -1442 2129 1641 2466 conicto -1786 2706 1855 2761 conicto -1924 2816 2008 2816 conicto -2106 2816 2173 2754 conicto -2240 2692 2240 2604 conicto -2240 2544 2187 2461 conicto -1947 2094 1837 1772 conicto -1728 1451 1728 1121 conicto -1728 789 1837 467 conicto -1947 146 2187 -221 conicto -2240 -302 2240 -365 conicto -2240 -452 2173 -514 conicto -2106 -576 2008 -576 conicto -1926 -576 1864 -526 conicto -1775 -453 1629 -201 conicto -1417 167 1339 405 conicto -1216 770 1216 1121 conicto -end_ol grestore -gsave 18.678046 2.700000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 19.042113 2.700000 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 19.406179 2.700000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 19.770246 2.700000 translate 0.035278 -0.035278 scale -start_ol -2560 961 moveto -2560 704 2413 463 conicto -2267 222 1978 79 conicto -1689 -64 1375 -64 conicto -1062 -64 776 76 conicto -491 217 341 459 conicto -192 702 192 966 conicto -192 1234 344 1492 conicto -496 1751 780 1899 conicto -1064 2048 1375 2048 conicto -1687 2048 1976 1896 conicto -2265 1744 2412 1488 conicto -2560 1232 2560 961 conicto -2112 959 moveto -2112 1175 1951 1356 conicto -1732 1600 1374 1600 conicto -1060 1600 850 1406 conicto -640 1212 640 957 conicto -640 748 852 566 conicto -1065 384 1374 384 conicto -1687 384 1899 566 conicto -2112 748 2112 959 conicto -end_ol grestore -gsave 20.134313 2.700000 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -gsave 20.498379 2.700000 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave 20.862446 2.700000 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave 21.226513 2.700000 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave 21.590579 2.700000 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 21.954646 2.700000 translate 0.035278 -0.035278 scale -start_ol -2432 2816 moveto -2432 448 lineto -2496 448 lineto -2674 448 lineto -2816 328 lineto -2816 224 lineto -2816 120 lineto -2674 0 lineto -2496 0 lineto -1984 0 lineto -1984 256 lineto -1826 97 1652 16 conicto -1478 -64 1292 -64 conicto -768 -64 448 227 conicto -128 519 128 952 conicto -128 1406 464 1727 conicto -800 2048 1283 2048 conicto -1465 2048 1639 1994 conicto -1814 1941 1984 1833 conicto -1984 2368 lineto -1920 2368 lineto -1742 2368 lineto -1600 2488 lineto -1600 2592 lineto -1600 2696 lineto -1742 2816 lineto -1920 2816 lineto -2432 2816 lineto -1984 940 moveto -1984 1217 1780 1408 conicto -1576 1600 1278 1600 conicto -984 1600 780 1408 conicto -576 1217 576 946 conicto -576 700 760 542 conicto -944 384 1278 384 conicto -1612 384 1798 542 conicto -1984 700 1984 940 conicto -end_ol grestore -gsave 22.318713 2.700000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 22.682779 2.700000 translate 0.035278 -0.035278 scale -start_ol -1536 1121 moveto -1536 758 1406 385 conicto -1310 111 1111 -224 conicto -966 -464 897 -520 conicto -828 -576 744 -576 conicto -646 -576 579 -514 conicto -512 -452 512 -365 conicto -512 -302 565 -221 conicto -805 146 914 467 conicto -1024 789 1024 1121 conicto -1024 1451 914 1772 conicto -805 2094 565 2461 conicto -512 2544 512 2604 conicto -512 2692 579 2754 conicto -646 2816 744 2816 conicto -826 2816 888 2766 conicto -977 2695 1123 2441 conicto -1335 2073 1413 1837 conicto -1536 1470 1536 1121 conicto -end_ol grestore -gsave 3.215695 11.600000 translate 0.035278 -0.035278 scale -start_ol -2048 2496 moveto -2093 2561 2145 2592 conicto -2197 2624 2259 2624 conicto -2363 2624 2429 2557 conicto -2496 2491 2496 2332 conicto -2496 1959 lineto -2496 1800 2434 1732 conicto -2372 1664 2273 1664 conicto -2183 1664 2129 1713 conicto -2074 1761 2048 1894 conicto -2033 1982 1988 2031 conicto -1900 2126 1741 2183 conicto -1583 2240 1423 2240 conicto -1225 2240 1059 2154 conicto -894 2068 767 1874 conicto -640 1681 640 1414 conicto -640 1128 lineto -640 809 871 596 conicto -1103 384 1515 384 conicto -1760 384 1931 462 conicto -2030 507 2142 640 conicto -2211 720 2250 744 conicto -2289 768 2338 768 conicto -2427 768 2493 696 conicto -2560 625 2560 526 conicto -2560 429 2470 318 conicto -2337 155 2130 62 conicto -1851 -64 1514 -64 conicto -1122 -64 806 98 conicto -551 228 371 508 conicto -192 788 192 1118 conicto -192 1419 lineto -192 1765 350 2064 conicto -509 2363 790 2525 conicto -1071 2688 1386 2688 conicto -1576 2688 1740 2641 conicto -1905 2594 2048 2496 conicto -end_ol grestore -gsave 3.579762 11.600000 translate 0.035278 -0.035278 scale -start_ol -1600 2816 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 2368 lineto -768 2368 lineto -590 2368 lineto -448 2488 lineto -448 2592 lineto -448 2696 lineto -590 2816 lineto -768 2816 lineto -1600 2816 lineto -end_ol grestore -gsave 3.943829 11.600000 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 4.307895 11.600000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 4.671962 11.600000 translate 0.035278 -0.035278 scale -start_ol -896 1984 moveto -896 1856 lineto -1019 1952 1167 2000 conicto -1315 2048 1488 2048 conicto -1888 2048 2120 1801 conicto -2304 1603 2304 1284 conicto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1856 1297 lineto -1856 1444 1777 1512 conicto -1673 1600 1467 1600 conicto -1311 1600 1193 1539 conicto -1076 1478 896 1280 conicto -896 448 lineto -1074 448 lineto -1074 448 lineto -1216 328 lineto -1216 224 lineto -1216 120 lineto -1074 0 lineto -896 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 1536 lineto -270 1536 lineto -128 1656 lineto -128 1760 lineto -128 1864 lineto -270 1984 lineto -448 1984 lineto -896 1984 lineto -end_ol grestore -gsave 5.036029 11.600000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 5.400095 11.600000 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave 5.764162 11.600000 translate 0.035278 -0.035278 scale -start_ol -1088 2624 moveto -1664 2624 lineto -1536 1443 lineto -1524 1350 1483 1315 conicto -1442 1280 1374 1280 conicto -1312 1280 1270 1315 conicto -1228 1350 1216 1441 conicto -1088 2624 lineto -end_ol grestore -gsave 2.597629 12.400000 translate 0.035278 -0.035278 scale -start_ol -1376 1332 moveto -951 0 lineto -467 0 lineto -141 2176 lineto --50 2176 lineto --192 2296 lineto --192 2400 lineto --192 2504 lineto --50 2624 lineto -141 2624 lineto -872 2624 lineto -1074 2624 lineto -1216 2504 lineto -1216 2400 lineto -1216 2296 lineto -1074 2176 lineto -872 2176 lineto -616 2176 lineto -800 882 lineto -1148 1984 lineto -1607 1984 lineto -1952 882 lineto -2137 2176 lineto -1881 2176 lineto -1678 2176 lineto -1536 2296 lineto -1536 2400 lineto -1536 2504 lineto -1678 2624 lineto -1881 2624 lineto -2610 2624 lineto -2802 2624 lineto -2944 2504 lineto -2944 2400 lineto -2944 2296 lineto -2802 2176 lineto -2610 2176 lineto -2283 0 lineto -1797 0 lineto -1376 1332 lineto -end_ol grestore -gsave 2.961695 12.400000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 3.325762 12.400000 translate 0.035278 -0.035278 scale -start_ol -768 2816 moveto -768 1833 lineto -938 1941 1114 1994 conicto -1290 2048 1469 2048 conicto -1953 2048 2288 1727 conicto -2624 1406 2624 952 conicto -2624 519 2304 227 conicto -1984 -64 1460 -64 conicto -1274 -64 1101 -11 conicto -929 41 768 144 conicto -768 0 lineto -256 0 lineto -78 0 lineto --64 120 lineto --64 224 lineto --64 328 lineto -78 448 lineto -256 448 lineto -320 448 lineto -320 2368 lineto -256 2368 lineto -78 2368 lineto --64 2488 lineto --64 2592 lineto --64 2696 lineto -78 2816 lineto -256 2816 lineto -768 2816 lineto -2176 940 moveto -2176 1217 1972 1408 conicto -1768 1600 1471 1600 conicto -1177 1600 972 1408 conicto -768 1217 768 946 conicto -768 700 952 542 conicto -1136 384 1471 384 conicto -1806 384 1991 542 conicto -2176 700 2176 940 conicto -end_ol grestore -gsave 3.689829 12.400000 translate 0.035278 -0.035278 scale -start_ol -2368 1088 moveto -384 1088 lineto -384 1536 lineto -2368 1536 lineto -2368 1088 lineto -end_ol grestore -gsave 4.053895 12.400000 translate 0.035278 -0.035278 scale -start_ol -768 128 moveto -703 46 664 23 conicto -625 0 568 0 conicto -456 0 388 68 conicto -320 137 320 297 conicto -320 597 lineto -320 759 383 827 conicto -447 896 553 896 conicto -633 896 688 855 conicto -743 815 772 719 conicto -801 623 832 589 conicto -893 522 1049 453 conicto -1205 384 1391 384 conicto -1680 384 1866 522 conicto -1984 606 1984 728 conicto -1984 809 1928 881 conicto -1873 953 1748 1001 conicto -1666 1033 1381 1089 conicto -1036 1156 850 1251 conicto -664 1346 556 1519 conicto -448 1692 448 1893 conicto -448 2211 691 2449 conicto -935 2688 1324 2688 conicto -1481 2688 1614 2640 conicto -1747 2593 1856 2496 conicto -1954 2624 2053 2624 conicto -2163 2624 2233 2553 conicto -2304 2482 2304 2318 conicto -2304 1972 lineto -2304 1806 2240 1735 conicto -2176 1664 2076 1664 conicto -1991 1664 1929 1716 conicto -1879 1755 1855 1870 conicto -1831 1986 1792 2036 conicto -1736 2122 1623 2181 conicto -1510 2240 1363 2240 conicto -1147 2240 1021 2129 conicto -896 2018 896 1898 conicto -896 1816 950 1740 conicto -1004 1664 1109 1621 conicto -1179 1590 1502 1523 conicto -1825 1457 2007 1377 conicto -2190 1297 2311 1126 conicto -2432 956 2432 720 conicto -2432 392 2207 196 conicto -1908 -64 1445 -64 conicto -1266 -64 1097 -15 conicto -928 33 768 128 conicto -end_ol grestore -gsave 4.417962 12.400000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 4.782029 12.400000 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -gsave 5.146095 12.400000 translate 0.035278 -0.035278 scale -start_ol -1376 498 moveto -1859 1536 lineto -1678 1536 lineto -1678 1536 lineto -1536 1656 lineto -1536 1760 lineto -1536 1864 lineto -1678 1984 lineto -1859 1984 lineto -2411 1984 lineto -2610 1984 lineto -2752 1864 lineto -2752 1760 lineto -2752 1656 lineto -2610 1536 lineto -2411 1536 lineto -2347 1536 lineto -1632 0 lineto -1120 0 lineto -405 1536 lineto -341 1536 lineto -142 1536 lineto -0 1656 lineto -0 1760 lineto -0 1864 lineto -142 1984 lineto -341 1984 lineto -893 1984 lineto -1074 1984 lineto -1216 1864 lineto -1216 1760 lineto -1216 1656 lineto -1074 1536 lineto -1074 1536 lineto -893 1536 lineto -1376 498 lineto -end_ol grestore -gsave 5.510162 12.400000 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 5.874229 12.400000 translate 0.035278 -0.035278 scale -start_ol -2145 1920 moveto -2232 1984 2323 1984 conicto -2427 1984 2493 1914 conicto -2560 1844 2560 1682 conicto -2560 1390 lineto -2560 1225 2493 1156 conicto -2427 1088 2318 1088 conicto -2221 1088 2152 1142 conicto -2103 1182 2075 1306 conicto -2047 1431 1940 1536 conicto -1749 1600 1454 1600 conicto -1115 1600 909 1415 conicto -704 1230 704 948 conicto -704 687 901 535 conicto -1098 384 1555 384 conicto -1855 384 2045 440 conicto -2157 474 2257 557 conicto -2358 640 2426 640 conicto -2507 640 2565 572 conicto -2624 505 2624 414 conicto -2624 267 2414 134 conicto -2102 -64 1502 -64 conicto -962 -64 662 152 conicto -256 442 256 945 conicto -256 1422 592 1735 conicto -929 2048 1469 2048 conicto -1666 2048 1834 2016 conicto -2002 1984 2145 1920 conicto -end_ol grestore -gsave 6.238295 12.400000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 2.974395 13.200000 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 3.338462 13.200000 translate 0.035278 -0.035278 scale -start_ol -896 1984 moveto -896 1856 lineto -1019 1952 1167 2000 conicto -1315 2048 1488 2048 conicto -1888 2048 2120 1801 conicto -2304 1603 2304 1284 conicto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1856 1297 lineto -1856 1444 1777 1512 conicto -1673 1600 1467 1600 conicto -1311 1600 1193 1539 conicto -1076 1478 896 1280 conicto -896 448 lineto -1074 448 lineto -1074 448 lineto -1216 328 lineto -1216 224 lineto -1216 120 lineto -1074 0 lineto -896 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 1536 lineto -270 1536 lineto -128 1656 lineto -128 1760 lineto -128 1864 lineto -270 1984 lineto -448 1984 lineto -896 1984 lineto -end_ol grestore -gsave 3.702529 13.200000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 4.066595 13.200000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 4.430662 13.200000 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -gsave 4.794729 13.200000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -832 1984 lineto -832 2151 lineto -832 2438 1068 2627 conicto -1304 2816 1753 2816 conicto -1952 2816 2214 2778 conicto -2476 2741 2550 2673 conicto -2624 2605 2624 2498 conicto -2624 2384 2556 2312 conicto -2489 2240 2391 2240 conicto -2345 2240 2253 2268 conicto -1948 2368 1711 2368 conicto -1466 2368 1373 2304 conicto -1280 2241 1280 2147 conicto -1280 1984 lineto -1984 1984 lineto -2162 1984 lineto -2304 1864 lineto -2304 1760 lineto -2304 1656 lineto -2162 1536 lineto -1984 1536 lineto -1280 1536 lineto -end_ol grestore -gsave 5.158795 13.200000 translate 0.035278 -0.035278 scale -start_ol -1792 0 moveto -1792 256 lineto -1619 97 1409 16 conicto -1199 -64 1028 -64 conicto -657 -64 424 122 conicto -192 309 192 535 conicto -192 810 488 1045 conicto -785 1280 1307 1280 conicto -1517 1280 1792 1236 conicto -1792 1353 lineto -1792 1462 1700 1531 conicto -1609 1600 1352 1600 conicto -1143 1600 807 1507 conicto -682 1472 612 1472 conicto -516 1472 450 1539 conicto -384 1606 384 1711 conicto -384 1769 407 1812 conicto -430 1856 471 1881 conicto -512 1907 642 1943 conicto -815 1992 996 2020 conicto -1177 2048 1323 2048 conicto -1758 2048 1999 1867 conicto -2240 1687 2240 1373 conicto -2240 448 lineto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1792 0 lineto -1792 783 moveto -1507 832 1267 832 conicto -978 832 769 708 conicto -640 628 640 547 conicto -640 488 703 451 conicto -819 384 1019 384 conicto -1191 384 1407 443 conicto -1623 502 1792 604 conicto -1792 783 lineto -end_ol grestore -gsave 5.522862 13.200000 translate 0.035278 -0.035278 scale -start_ol -2145 1920 moveto -2232 1984 2323 1984 conicto -2427 1984 2493 1914 conicto -2560 1844 2560 1682 conicto -2560 1390 lineto -2560 1225 2493 1156 conicto -2427 1088 2318 1088 conicto -2221 1088 2152 1142 conicto -2103 1182 2075 1306 conicto -2047 1431 1940 1536 conicto -1749 1600 1454 1600 conicto -1115 1600 909 1415 conicto -704 1230 704 948 conicto -704 687 901 535 conicto -1098 384 1555 384 conicto -1855 384 2045 440 conicto -2157 474 2257 557 conicto -2358 640 2426 640 conicto -2507 640 2565 572 conicto -2624 505 2624 414 conicto -2624 267 2414 134 conicto -2102 -64 1502 -64 conicto -962 -64 662 152 conicto -256 442 256 945 conicto -256 1422 592 1735 conicto -929 2048 1469 2048 conicto -1666 2048 1834 2016 conicto -2002 1984 2145 1920 conicto -end_ol grestore -gsave 5.886929 13.200000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 11.199989 14.000000 m 15.399984 14.000000 l s -0 slj -n 15.399984 14.400000 m 16.199984 14.000000 l 15.399984 13.600000 l f -gsave 10.299990 15.100000 translate 0.035278 -0.035278 scale -start_ol -1376 1332 moveto -951 0 lineto -467 0 lineto -141 2176 lineto --50 2176 lineto --192 2296 lineto --192 2400 lineto --192 2504 lineto --50 2624 lineto -141 2624 lineto -872 2624 lineto -1074 2624 lineto -1216 2504 lineto -1216 2400 lineto -1216 2296 lineto -1074 2176 lineto -872 2176 lineto -616 2176 lineto -800 882 lineto -1148 1984 lineto -1607 1984 lineto -1952 882 lineto -2137 2176 lineto -1881 2176 lineto -1678 2176 lineto -1536 2296 lineto -1536 2400 lineto -1536 2504 lineto -1678 2624 lineto -1881 2624 lineto -2610 2624 lineto -2802 2624 lineto -2944 2504 lineto -2944 2400 lineto -2944 2296 lineto -2802 2176 lineto -2610 2176 lineto -2283 0 lineto -1797 0 lineto -1376 1332 lineto -end_ol grestore -gsave 10.664056 15.100000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 11.028123 15.100000 translate 0.035278 -0.035278 scale -start_ol -768 2816 moveto -768 1833 lineto -938 1941 1114 1994 conicto -1290 2048 1469 2048 conicto -1953 2048 2288 1727 conicto -2624 1406 2624 952 conicto -2624 519 2304 227 conicto -1984 -64 1460 -64 conicto -1274 -64 1101 -11 conicto -929 41 768 144 conicto -768 0 lineto -256 0 lineto -78 0 lineto --64 120 lineto --64 224 lineto --64 328 lineto -78 448 lineto -256 448 lineto -320 448 lineto -320 2368 lineto -256 2368 lineto -78 2368 lineto --64 2488 lineto --64 2592 lineto --64 2696 lineto -78 2816 lineto -256 2816 lineto -768 2816 lineto -2176 940 moveto -2176 1217 1972 1408 conicto -1768 1600 1471 1600 conicto -1177 1600 972 1408 conicto -768 1217 768 946 conicto -768 700 952 542 conicto -1136 384 1471 384 conicto -1806 384 1991 542 conicto -2176 700 2176 940 conicto -end_ol grestore -gsave 11.392190 15.100000 translate 0.035278 -0.035278 scale -start_ol -2368 1088 moveto -384 1088 lineto -384 1536 lineto -2368 1536 lineto -2368 1088 lineto -end_ol grestore -gsave 11.756256 15.100000 translate 0.035278 -0.035278 scale -start_ol -768 128 moveto -703 46 664 23 conicto -625 0 568 0 conicto -456 0 388 68 conicto -320 137 320 297 conicto -320 597 lineto -320 759 383 827 conicto -447 896 553 896 conicto -633 896 688 855 conicto -743 815 772 719 conicto -801 623 832 589 conicto -893 522 1049 453 conicto -1205 384 1391 384 conicto -1680 384 1866 522 conicto -1984 606 1984 728 conicto -1984 809 1928 881 conicto -1873 953 1748 1001 conicto -1666 1033 1381 1089 conicto -1036 1156 850 1251 conicto -664 1346 556 1519 conicto -448 1692 448 1893 conicto -448 2211 691 2449 conicto -935 2688 1324 2688 conicto -1481 2688 1614 2640 conicto -1747 2593 1856 2496 conicto -1954 2624 2053 2624 conicto -2163 2624 2233 2553 conicto -2304 2482 2304 2318 conicto -2304 1972 lineto -2304 1806 2240 1735 conicto -2176 1664 2076 1664 conicto -1991 1664 1929 1716 conicto -1879 1755 1855 1870 conicto -1831 1986 1792 2036 conicto -1736 2122 1623 2181 conicto -1510 2240 1363 2240 conicto -1147 2240 1021 2129 conicto -896 2018 896 1898 conicto -896 1816 950 1740 conicto -1004 1664 1109 1621 conicto -1179 1590 1502 1523 conicto -1825 1457 2007 1377 conicto -2190 1297 2311 1126 conicto -2432 956 2432 720 conicto -2432 392 2207 196 conicto -1908 -64 1445 -64 conicto -1266 -64 1097 -15 conicto -928 33 768 128 conicto -end_ol grestore -gsave 12.120323 15.100000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 12.484390 15.100000 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -gsave 12.848456 15.100000 translate 0.035278 -0.035278 scale -start_ol -1376 498 moveto -1859 1536 lineto -1678 1536 lineto -1678 1536 lineto -1536 1656 lineto -1536 1760 lineto -1536 1864 lineto -1678 1984 lineto -1859 1984 lineto -2411 1984 lineto -2610 1984 lineto -2752 1864 lineto -2752 1760 lineto -2752 1656 lineto -2610 1536 lineto -2411 1536 lineto -2347 1536 lineto -1632 0 lineto -1120 0 lineto -405 1536 lineto -341 1536 lineto -142 1536 lineto -0 1656 lineto -0 1760 lineto -0 1864 lineto -142 1984 lineto -341 1984 lineto -893 1984 lineto -1074 1984 lineto -1216 1864 lineto -1216 1760 lineto -1216 1656 lineto -1074 1536 lineto -1074 1536 lineto -893 1536 lineto -1376 498 lineto -end_ol grestore -gsave 13.212523 15.100000 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 13.576590 15.100000 translate 0.035278 -0.035278 scale -start_ol -2145 1920 moveto -2232 1984 2323 1984 conicto -2427 1984 2493 1914 conicto -2560 1844 2560 1682 conicto -2560 1390 lineto -2560 1225 2493 1156 conicto -2427 1088 2318 1088 conicto -2221 1088 2152 1142 conicto -2103 1182 2075 1306 conicto -2047 1431 1940 1536 conicto -1749 1600 1454 1600 conicto -1115 1600 909 1415 conicto -704 1230 704 948 conicto -704 687 901 535 conicto -1098 384 1555 384 conicto -1855 384 2045 440 conicto -2157 474 2257 557 conicto -2358 640 2426 640 conicto -2507 640 2565 572 conicto -2624 505 2624 414 conicto -2624 267 2414 134 conicto -2102 -64 1502 -64 conicto -962 -64 662 152 conicto -256 442 256 945 conicto -256 1422 592 1735 conicto -929 2048 1469 2048 conicto -1666 2048 1834 2016 conicto -2002 1984 2145 1920 conicto -end_ol grestore -gsave 13.940656 15.100000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 14.304723 15.100000 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave 14.668790 15.100000 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -gsave 15.032856 15.100000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 15.396923 15.100000 translate 0.035278 -0.035278 scale -start_ol -2432 1536 moveto -2432 -448 lineto -2496 -448 lineto -2674 -448 lineto -2816 -568 lineto -2816 -672 lineto -2816 -776 lineto -2674 -896 lineto -2496 -896 lineto -1728 -896 lineto -1550 -896 lineto -1408 -776 lineto -1408 -672 lineto -1408 -568 lineto -1550 -448 lineto -1728 -448 lineto -1984 -448 lineto -1984 201 lineto -1856 101 1674 50 conicto -1493 0 1308 0 conicto -879 0 538 247 conicto -128 543 128 998 conicto -128 1410 466 1729 conicto -804 2048 1286 2048 conicto -1471 2048 1645 1984 conicto -1820 1921 1984 1792 conicto -1984 1984 lineto -2496 1984 lineto -2674 1984 lineto -2816 1864 lineto -2816 1760 lineto -2816 1656 lineto -2674 1536 lineto -2496 1536 lineto -2432 1536 lineto -1984 994 moveto -1984 1092 1905 1244 conicto -1827 1396 1662 1498 conicto -1498 1600 1280 1600 conicto -924 1600 718 1337 conicto -576 1156 576 989 conicto -576 799 779 623 conicto -982 448 1280 448 conicto -1582 448 1783 623 conicto -1984 799 1984 994 conicto -end_ol grestore -gsave 15.760990 15.100000 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 16.125056 15.100000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 16.489123 15.100000 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave 16.853190 15.100000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 30.797701 11.900000 translate 0.035278 -0.035278 scale -start_ol -1600 2176 moveto -1600 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -832 0 lineto -654 0 lineto -512 120 lineto -512 224 lineto -512 328 lineto -654 448 lineto -832 448 lineto -1152 448 lineto -1152 2176 lineto -640 2176 lineto -640 1728 lineto -640 1550 lineto -520 1408 lineto -416 1408 lineto -312 1408 lineto -192 1550 lineto -192 1728 lineto -192 2624 lineto -2560 2624 lineto -2560 1728 lineto -2560 1550 lineto -2440 1408 lineto -2336 1408 lineto -2232 1408 lineto -2112 1550 lineto -2112 1728 lineto -2112 2176 lineto -1600 2176 lineto -end_ol grestore -gsave 31.161768 11.900000 translate 0.035278 -0.035278 scale -start_ol -2304 1984 moveto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1856 128 lineto -1663 32 1488 -16 conicto -1313 -64 1155 -64 conicto -934 -64 772 28 conicto -610 121 515 284 conicto -448 401 448 578 conicto -448 1536 lineto -384 1536 lineto -206 1536 lineto -64 1656 lineto -64 1760 lineto -64 1864 lineto -206 1984 lineto -384 1984 lineto -896 1984 lineto -896 658 lineto -896 516 965 450 conicto -1034 384 1177 384 conicto -1312 384 1469 437 conicto -1626 490 1856 629 conicto -1856 1536 lineto -1664 1536 lineto -1486 1536 lineto -1344 1656 lineto -1344 1760 lineto -1344 1864 lineto -1486 1984 lineto -1664 1984 lineto -2304 1984 lineto -end_ol grestore -gsave 31.525835 11.900000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 31.889901 11.900000 translate 0.035278 -0.035278 scale -start_ol -2560 961 moveto -2560 704 2413 463 conicto -2267 222 1978 79 conicto -1689 -64 1375 -64 conicto -1062 -64 776 76 conicto -491 217 341 459 conicto -192 702 192 966 conicto -192 1234 344 1492 conicto -496 1751 780 1899 conicto -1064 2048 1375 2048 conicto -1687 2048 1976 1896 conicto -2265 1744 2412 1488 conicto -2560 1232 2560 961 conicto -2112 959 moveto -2112 1175 1951 1356 conicto -1732 1600 1374 1600 conicto -1060 1600 850 1406 conicto -640 1212 640 957 conicto -640 748 852 566 conicto -1065 384 1374 384 conicto -1687 384 1899 566 conicto -2112 748 2112 959 conicto -end_ol grestore -gsave 32.253968 11.900000 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -gsave 32.618035 11.900000 translate 0.035278 -0.035278 scale -start_ol -1893 1464 moveto -1780 1532 1655 1566 conicto -1530 1600 1394 1600 conicto -1125 1600 966 1515 conicto -896 1478 896 1435 conicto -896 1384 992 1336 conicto -1064 1301 1315 1269 conicto -1777 1208 1952 1147 conicto -2183 1065 2307 906 conicto -2432 747 2432 571 conicto -2432 331 2216 170 conicto -1906 -64 1412 -64 conicto -1213 -64 1045 -32 conicto -878 0 737 64 conicto -706 34 671 17 conicto -637 0 599 0 conicto -501 0 442 64 conicto -384 129 384 282 conicto -384 423 lineto -384 575 443 639 conicto -502 704 598 704 conicto -674 704 726 666 conicto -778 628 807 534 conicto -913 460 1062 422 conicto -1212 384 1406 384 conicto -1724 384 1901 480 conicto -1984 528 1984 581 conicto -1984 668 1864 724 conicto -1744 781 1368 820 conicto -810 877 629 1038 conicto -448 1197 448 1431 conicto -448 1671 658 1830 conicto -944 2048 1405 2048 conicto -1565 2048 1713 2017 conicto -1861 1987 1997 1924 conicto -2040 1954 2077 1969 conicto -2115 1984 2147 1984 conicto -2241 1984 2304 1915 conicto -2368 1847 2368 1687 conicto -2368 1577 lineto -2368 1433 2331 1380 conicto -2256 1280 2128 1280 conicto -2042 1280 1977 1330 conicto -1912 1381 1893 1464 conicto -end_ol grestore -gsave 32.982101 11.900000 translate 0.035278 -0.035278 scale -start_ol -1088 2624 moveto -1664 2624 lineto -1536 1443 lineto -1524 1350 1483 1315 conicto -1442 1280 1374 1280 conicto -1312 1280 1270 1315 conicto -1228 1350 1216 1441 conicto -1088 2624 lineto -end_ol grestore -gsave 29.997601 12.700000 translate 0.035278 -0.035278 scale -start_ol -1376 1332 moveto -951 0 lineto -467 0 lineto -141 2176 lineto --50 2176 lineto --192 2296 lineto --192 2400 lineto --192 2504 lineto --50 2624 lineto -141 2624 lineto -872 2624 lineto -1074 2624 lineto -1216 2504 lineto -1216 2400 lineto -1216 2296 lineto -1074 2176 lineto -872 2176 lineto -616 2176 lineto -800 882 lineto -1148 1984 lineto -1607 1984 lineto -1952 882 lineto -2137 2176 lineto -1881 2176 lineto -1678 2176 lineto -1536 2296 lineto -1536 2400 lineto -1536 2504 lineto -1678 2624 lineto -1881 2624 lineto -2610 2624 lineto -2802 2624 lineto -2944 2504 lineto -2944 2400 lineto -2944 2296 lineto -2802 2176 lineto -2610 2176 lineto -2283 0 lineto -1797 0 lineto -1376 1332 lineto -end_ol grestore -gsave 30.361668 12.700000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 30.725735 12.700000 translate 0.035278 -0.035278 scale -start_ol -768 2816 moveto -768 1833 lineto -938 1941 1114 1994 conicto -1290 2048 1469 2048 conicto -1953 2048 2288 1727 conicto -2624 1406 2624 952 conicto -2624 519 2304 227 conicto -1984 -64 1460 -64 conicto -1274 -64 1101 -11 conicto -929 41 768 144 conicto -768 0 lineto -256 0 lineto -78 0 lineto --64 120 lineto --64 224 lineto --64 328 lineto -78 448 lineto -256 448 lineto -320 448 lineto -320 2368 lineto -256 2368 lineto -78 2368 lineto --64 2488 lineto --64 2592 lineto --64 2696 lineto -78 2816 lineto -256 2816 lineto -768 2816 lineto -2176 940 moveto -2176 1217 1972 1408 conicto -1768 1600 1471 1600 conicto -1177 1600 972 1408 conicto -768 1217 768 946 conicto -768 700 952 542 conicto -1136 384 1471 384 conicto -1806 384 1991 542 conicto -2176 700 2176 940 conicto -end_ol grestore -gsave 31.089801 12.700000 translate 0.035278 -0.035278 scale -start_ol -2368 1088 moveto -384 1088 lineto -384 1536 lineto -2368 1536 lineto -2368 1088 lineto -end_ol grestore -gsave 31.453868 12.700000 translate 0.035278 -0.035278 scale -start_ol -768 128 moveto -703 46 664 23 conicto -625 0 568 0 conicto -456 0 388 68 conicto -320 137 320 297 conicto -320 597 lineto -320 759 383 827 conicto -447 896 553 896 conicto -633 896 688 855 conicto -743 815 772 719 conicto -801 623 832 589 conicto -893 522 1049 453 conicto -1205 384 1391 384 conicto -1680 384 1866 522 conicto -1984 606 1984 728 conicto -1984 809 1928 881 conicto -1873 953 1748 1001 conicto -1666 1033 1381 1089 conicto -1036 1156 850 1251 conicto -664 1346 556 1519 conicto -448 1692 448 1893 conicto -448 2211 691 2449 conicto -935 2688 1324 2688 conicto -1481 2688 1614 2640 conicto -1747 2593 1856 2496 conicto -1954 2624 2053 2624 conicto -2163 2624 2233 2553 conicto -2304 2482 2304 2318 conicto -2304 1972 lineto -2304 1806 2240 1735 conicto -2176 1664 2076 1664 conicto -1991 1664 1929 1716 conicto -1879 1755 1855 1870 conicto -1831 1986 1792 2036 conicto -1736 2122 1623 2181 conicto -1510 2240 1363 2240 conicto -1147 2240 1021 2129 conicto -896 2018 896 1898 conicto -896 1816 950 1740 conicto -1004 1664 1109 1621 conicto -1179 1590 1502 1523 conicto -1825 1457 2007 1377 conicto -2190 1297 2311 1126 conicto -2432 956 2432 720 conicto -2432 392 2207 196 conicto -1908 -64 1445 -64 conicto -1266 -64 1097 -15 conicto -928 33 768 128 conicto -end_ol grestore -gsave 31.817935 12.700000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 32.182001 12.700000 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -gsave 32.546068 12.700000 translate 0.035278 -0.035278 scale -start_ol -1376 498 moveto -1859 1536 lineto -1678 1536 lineto -1678 1536 lineto -1536 1656 lineto -1536 1760 lineto -1536 1864 lineto -1678 1984 lineto -1859 1984 lineto -2411 1984 lineto -2610 1984 lineto -2752 1864 lineto -2752 1760 lineto -2752 1656 lineto -2610 1536 lineto -2411 1536 lineto -2347 1536 lineto -1632 0 lineto -1120 0 lineto -405 1536 lineto -341 1536 lineto -142 1536 lineto -0 1656 lineto -0 1760 lineto -0 1864 lineto -142 1984 lineto -341 1984 lineto -893 1984 lineto -1074 1984 lineto -1216 1864 lineto -1216 1760 lineto -1216 1656 lineto -1074 1536 lineto -1074 1536 lineto -893 1536 lineto -1376 498 lineto -end_ol grestore -gsave 32.910135 12.700000 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 33.274201 12.700000 translate 0.035278 -0.035278 scale -start_ol -2145 1920 moveto -2232 1984 2323 1984 conicto -2427 1984 2493 1914 conicto -2560 1844 2560 1682 conicto -2560 1390 lineto -2560 1225 2493 1156 conicto -2427 1088 2318 1088 conicto -2221 1088 2152 1142 conicto -2103 1182 2075 1306 conicto -2047 1431 1940 1536 conicto -1749 1600 1454 1600 conicto -1115 1600 909 1415 conicto -704 1230 704 948 conicto -704 687 901 535 conicto -1098 384 1555 384 conicto -1855 384 2045 440 conicto -2157 474 2257 557 conicto -2358 640 2426 640 conicto -2507 640 2565 572 conicto -2624 505 2624 414 conicto -2624 267 2414 134 conicto -2102 -64 1502 -64 conicto -962 -64 662 152 conicto -256 442 256 945 conicto -256 1422 592 1735 conicto -929 2048 1469 2048 conicto -1666 2048 1834 2016 conicto -2002 1984 2145 1920 conicto -end_ol grestore -gsave 33.638268 12.700000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 30.374368 13.500000 translate 0.035278 -0.035278 scale -start_ol -1536 2816 moveto -1536 2368 lineto -1088 2368 lineto -1088 2816 lineto -1536 2816 lineto -1600 1984 moveto -1600 448 lineto -2176 448 lineto -2354 448 lineto -2496 328 lineto -2496 224 lineto -2496 120 lineto -2354 0 lineto -2176 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -1152 448 lineto -1152 1536 lineto -768 1536 lineto -590 1536 lineto -448 1656 lineto -448 1760 lineto -448 1864 lineto -590 1984 lineto -768 1984 lineto -1600 1984 lineto -end_ol grestore -gsave 30.738435 13.500000 translate 0.035278 -0.035278 scale -start_ol -896 1984 moveto -896 1856 lineto -1019 1952 1167 2000 conicto -1315 2048 1488 2048 conicto -1888 2048 2120 1801 conicto -2304 1603 2304 1284 conicto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1856 0 lineto -1678 0 lineto -1536 120 lineto -1536 224 lineto -1536 328 lineto -1678 448 lineto -1856 448 lineto -1856 1297 lineto -1856 1444 1777 1512 conicto -1673 1600 1467 1600 conicto -1311 1600 1193 1539 conicto -1076 1478 896 1280 conicto -896 448 lineto -1074 448 lineto -1074 448 lineto -1216 328 lineto -1216 224 lineto -1216 120 lineto -1074 0 lineto -896 0 lineto -448 0 lineto -270 0 lineto -128 120 lineto -128 224 lineto -128 328 lineto -270 448 lineto -270 448 lineto -448 448 lineto -448 1536 lineto -270 1536 lineto -128 1656 lineto -128 1760 lineto -128 1864 lineto -270 1984 lineto -448 1984 lineto -896 1984 lineto -end_ol grestore -gsave 31.102501 13.500000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 644 lineto -1280 502 1339 455 conicto -1430 384 1665 384 conicto -2008 384 2298 523 conicto -2409 576 2472 576 conicto -2559 576 2623 511 conicto -2688 447 2688 355 conicto -2688 269 2618 206 conicto -2511 106 2196 21 conicto -1881 -64 1665 -64 conicto -1249 -64 1040 115 conicto -832 294 832 555 conicto -832 1536 lineto -652 1536 lineto -473 1536 396 1598 conicto -320 1660 320 1761 conicto -320 1860 396 1922 conicto -473 1984 652 1984 conicto -832 1984 lineto -832 2388 lineto -832 2550 894 2619 conicto -956 2688 1057 2688 conicto -1156 2688 1218 2619 conicto -1280 2550 1280 2388 conicto -1280 1984 lineto -2126 1984 lineto -2291 1984 2361 1922 conicto -2432 1860 2432 1759 conicto -2432 1660 2361 1598 conicto -2291 1536 2126 1536 conicto -1280 1536 lineto -end_ol grestore -gsave 31.466568 13.500000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -gsave 31.830635 13.500000 translate 0.035278 -0.035278 scale -start_ol -1280 1984 moveto -1280 1708 lineto -1568 1912 1735 1980 conicto -1902 2048 2047 2048 conicto -2271 2048 2481 1879 conicto -2624 1765 2624 1647 conicto -2624 1547 2556 1477 conicto -2488 1408 2391 1408 conicto -2307 1408 2213 1504 conicto -2119 1600 2045 1600 conicto -1949 1600 1757 1481 conicto -1566 1363 1280 1127 conicto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -1280 1984 lineto -end_ol grestore -gsave 32.194701 13.500000 translate 0.035278 -0.035278 scale -start_ol -1280 1536 moveto -1280 448 lineto -1920 448 lineto -2098 448 lineto -2240 328 lineto -2240 224 lineto -2240 120 lineto -2098 0 lineto -1920 0 lineto -576 0 lineto -398 0 lineto -256 120 lineto -256 224 lineto -256 328 lineto -398 448 lineto -576 448 lineto -832 448 lineto -832 1536 lineto -640 1536 lineto -462 1536 lineto -320 1656 lineto -320 1760 lineto -320 1864 lineto -462 1984 lineto -640 1984 lineto -832 1984 lineto -832 2151 lineto -832 2438 1068 2627 conicto -1304 2816 1753 2816 conicto -1952 2816 2214 2778 conicto -2476 2741 2550 2673 conicto -2624 2605 2624 2498 conicto -2624 2384 2556 2312 conicto -2489 2240 2391 2240 conicto -2345 2240 2253 2268 conicto -1948 2368 1711 2368 conicto -1466 2368 1373 2304 conicto -1280 2241 1280 2147 conicto -1280 1984 lineto -1984 1984 lineto -2162 1984 lineto -2304 1864 lineto -2304 1760 lineto -2304 1656 lineto -2162 1536 lineto -1984 1536 lineto -1280 1536 lineto -end_ol grestore -gsave 32.558768 13.500000 translate 0.035278 -0.035278 scale -start_ol -1792 0 moveto -1792 256 lineto -1619 97 1409 16 conicto -1199 -64 1028 -64 conicto -657 -64 424 122 conicto -192 309 192 535 conicto -192 810 488 1045 conicto -785 1280 1307 1280 conicto -1517 1280 1792 1236 conicto -1792 1353 lineto -1792 1462 1700 1531 conicto -1609 1600 1352 1600 conicto -1143 1600 807 1507 conicto -682 1472 612 1472 conicto -516 1472 450 1539 conicto -384 1606 384 1711 conicto -384 1769 407 1812 conicto -430 1856 471 1881 conicto -512 1907 642 1943 conicto -815 1992 996 2020 conicto -1177 2048 1323 2048 conicto -1758 2048 1999 1867 conicto -2240 1687 2240 1373 conicto -2240 448 lineto -2304 448 lineto -2482 448 lineto -2624 328 lineto -2624 224 lineto -2624 120 lineto -2482 0 lineto -2304 0 lineto -1792 0 lineto -1792 783 moveto -1507 832 1267 832 conicto -978 832 769 708 conicto -640 628 640 547 conicto -640 488 703 451 conicto -819 384 1019 384 conicto -1191 384 1407 443 conicto -1623 502 1792 604 conicto -1792 783 lineto -end_ol grestore -gsave 32.922835 13.500000 translate 0.035278 -0.035278 scale -start_ol -2145 1920 moveto -2232 1984 2323 1984 conicto -2427 1984 2493 1914 conicto -2560 1844 2560 1682 conicto -2560 1390 lineto -2560 1225 2493 1156 conicto -2427 1088 2318 1088 conicto -2221 1088 2152 1142 conicto -2103 1182 2075 1306 conicto -2047 1431 1940 1536 conicto -1749 1600 1454 1600 conicto -1115 1600 909 1415 conicto -704 1230 704 948 conicto -704 687 901 535 conicto -1098 384 1555 384 conicto -1855 384 2045 440 conicto -2157 474 2257 557 conicto -2358 640 2426 640 conicto -2507 640 2565 572 conicto -2624 505 2624 414 conicto -2624 267 2414 134 conicto -2102 -64 1502 -64 conicto -962 -64 662 152 conicto -256 442 256 945 conicto -256 1422 592 1735 conicto -929 2048 1469 2048 conicto -1666 2048 1834 2016 conicto -2002 1984 2145 1920 conicto -end_ol grestore -gsave 33.286901 13.500000 translate 0.035278 -0.035278 scale -start_ol -2560 768 moveto -576 768 lineto -653 596 850 490 conicto -1048 384 1384 384 conicto -1659 384 2090 520 conicto -2269 576 2337 576 conicto -2432 576 2496 508 conicto -2560 441 2560 338 conicto -2560 245 2491 179 conicto -2399 93 2045 14 conicto -1691 -64 1364 -64 conicto -802 -64 465 239 conicto -128 542 128 985 conicto -128 1456 492 1752 conicto -856 2048 1332 2048 conicto -1618 2048 1857 1951 conicto -2096 1855 2213 1744 conicto -2377 1582 2484 1343 conicto -2557 1177 2557 958 conicto -2560 768 lineto -2112 1152 moveto -1993 1377 1801 1488 conicto -1609 1600 1344 1600 conicto -1081 1600 889 1488 conicto -697 1377 576 1152 conicto -2112 1152 lineto -end_ol grestore -showpage diff --git a/helm/papers/calculemus-2003/slides/eps/helmHttpDeps-slides.eps b/helm/papers/calculemus-2003/slides/eps/helmHttpDeps-slides.eps deleted file mode 100644 index c33d93a47..000000000 --- a/helm/papers/calculemus-2003/slides/eps/helmHttpDeps-slides.eps +++ /dev/null @@ -1,8024 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: /home/zack/dati/uny/thesis/thesis/thesis/eps/helmHttpDeps-slides.dia -%%Creator: Dia v0.91 -%%CreationDate: Tue Mar 25 15:14:45 2003 -%%For: zack -%%Orientation: Portrait -%%Magnification: 1.0000 -%%BoundingBox: 0 0 1095 694 -%%BeginSetup -%%EndSetup -%%EndComments -%%BeginProlog -[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright -/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one -/two /three /four /five /six /seven /eight /nine /colon /semicolon -/less /equal /greater /question /at /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 /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /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 /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright -/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior -/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf -/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla -/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde -/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex -/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring -/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis -/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave -/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def -/cp {closepath} bind def -/c {curveto} bind def -/f {fill} bind def -/a {arc} bind def -/ef {eofill} bind def -/ex {exch} 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 pop} bind def -/tr {translate} bind def - -/ellipsedict 8 dict def -ellipsedict /mtrx matrix put -/ellipse -{ ellipsedict begin - /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 - savematrix setmatrix - end -} def - -/mergeprocs { -dup length -3 -1 roll -dup -length -dup -5 1 roll -3 -1 roll -add -array cvx -dup -3 -1 roll -0 exch -putinterval -dup -4 2 roll -putinterval -} bind def -/dpi_x 300 def -/dpi_y 300 def -/conicto { - /to_y exch def - /to_x exch def - /conic_cntrl_y exch def - /conic_cntrl_x exch def - currentpoint - /p0_y exch def - /p0_x exch def - /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def - /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def - /p2_x p1_x to_x p0_x sub 1 3 div mul add def - /p2_y p1_y to_y p0_y sub 1 3 div mul add def - p1_x p1_y p2_x p2_y to_x to_y curveto -} bind def -/start_ol { gsave 1.1 dpi_x div dup scale} bind def -/end_ol { closepath fill grestore } bind def -28.346000 -28.346000 scale --2.439475 -25.264211 translate -%%EndProlog - - -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0.080000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 3.215312 3.999998 m 3.215312 6.511961 l 4.291868 6.511961 l 4.291868 3.999998 l f -0.000000 0.000000 0.000000 srgb -n 3.215312 3.999998 m 3.215312 6.511961 l 4.291868 6.511961 l 4.291868 3.999998 l cp s -0.010000 slw -0 slc -0 slj -[] 0 sd -n 3.322968 4.150716 m 3.322968 4.437797 l 4.184212 4.437797 l 4.184212 4.150716 l cp s -0 slc -0 slj -[] 0 sd -n 3.322968 4.437797 m 3.322968 4.724879 l 4.184212 4.724879 l 4.184212 4.437797 l cp s -0 slc -0 slj -[] 0 sd -n 3.322968 4.724879 m 3.322968 5.011960 l 4.184212 5.011960 l 4.184212 4.724879 l cp s -0 slc -0 slj -[] 0 sd -n 3.322968 5.011960 m 3.322968 5.299042 l 4.184212 5.299042 l 4.184212 5.011960 l cp s -0 slc -0 slj -[] 0 sd -n 3.322968 5.356458 m 3.322968 5.528707 l 3.861245 5.528707 l 3.861245 5.356458 l cp s -0 slc -0 slj -[] 0 sd -0.000000 1.000000 0.000000 srgb -n 4.130384 5.385166 0.037679 0.037679 0 360 ellipse f -0.000000 0.000000 0.000000 srgb -n 4.130384 5.385166 0.037679 0.037679 0 360 ellipse cp s -0 slc -0 slj -[] 0 sd -1.000000 1.000000 0.000000 srgb -n 4.130384 5.499999 0.037679 0.037679 0 360 ellipse f -0.000000 0.000000 0.000000 srgb -n 4.130384 5.499999 0.037679 0.037679 0 360 ellipse cp s -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 3.915073 5.413874 m 3.915073 5.528707 l 4.044260 5.528707 l 4.044260 5.413874 l f -0.000000 0.000000 0.000000 srgb -n 3.915073 5.413874 m 3.915073 5.528707 l 4.044260 5.528707 l 4.044260 5.413874 l cp s -0 slc -0 slj -[] 0 sd -n 3.394738 5.758372 m 3.394738 6.386363 l s -0 slc -0 slj -[] 0 sd -n 3.574164 5.758372 m 3.574164 6.386363 l s -0 slc -0 slj -[] 0 sd -n 3.753590 5.758372 m 3.753590 6.386363 l s -0 slc -0 slj -[] 0 sd -n 3.933016 5.758372 m 3.933016 6.386363 l s -0 slc -0 slj -[] 0 sd -n 4.112442 5.758372 m 4.112442 6.386363 l s -0 slc -0 slj -[] 0 sd -n 4.291868 5.758372 m 4.291868 6.386363 l s -0 slc -0 slj -[] 0 sd -0.600000 0.600000 0.600000 srgb -n 3.000001 6.727272 m 3.215312 6.296650 l 3.215312 6.511961 l 4.291868 6.511961 l 4.291868 6.296650 l 4.578949 6.727272 l f -0.000000 0.000000 0.000000 srgb -n 3.000001 6.727272 m 3.215312 6.296650 l 3.215312 6.511961 l 4.291868 6.511961 l 4.291868 6.296650 l 4.578949 6.727272 l cp s -gsave 2.883542 7.499042 translate 0.035278 -0.035278 scale -start_ol -2304 1408 moveto -1152 1408 lineto -1152 576 lineto -1216 576 lineto -1423 576 1511 496 conicto -1600 417 1600 288 conicto -1600 159 1511 79 conicto -1423 0 1216 0 conicto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 310 522 conicto -369 576 576 576 conicto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1216 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1511 2767 conicto -1423 2688 1216 2688 conicto -1152 2688 lineto -1152 1984 lineto -2304 1984 lineto -2304 2688 lineto -2240 2688 lineto -2033 2688 1944 2767 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2240 3264 conicto -2880 3264 lineto -3087 3264 3175 3184 conicto -3264 3105 3264 2976 conicto -3264 2847 3175 2767 conicto -3087 2688 2880 2688 conicto -2880 576 lineto -3087 576 3144 523 conicto -3264 417 3264 288 conicto -3264 159 3175 79 conicto -3087 0 2880 0 conicto -2240 0 lineto -2033 0 1944 79 conicto -1856 159 1856 288 conicto -1856 417 1944 496 conicto -2033 576 2240 576 conicto -2304 576 lineto -2304 1408 lineto -end_ol grestore -gsave 3.340742 7.499042 translate 0.035278 -0.035278 scale -start_ol -2048 2688 moveto -2048 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -1088 0 lineto -881 0 792 79 conicto -704 159 704 288 conicto -704 417 792 496 conicto -881 576 1088 576 conicto -1472 576 lineto -1472 2688 lineto -832 2688 lineto -832 2112 lineto -832 1905 752 1816 conicto -673 1728 544 1728 conicto -415 1728 335 1816 conicto -256 1905 256 2112 conicto -256 3264 lineto -3264 3264 lineto -3264 2112 lineto -3264 1905 3184 1816 conicto -3105 1728 2976 1728 conicto -2847 1728 2767 1816 conicto -2688 1905 2688 2112 conicto -2688 2688 lineto -2048 2688 lineto -end_ol grestore -gsave 3.797942 7.499042 translate 0.035278 -0.035278 scale -start_ol -2048 2688 moveto -2048 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -1088 0 lineto -881 0 792 79 conicto -704 159 704 288 conicto -704 417 792 496 conicto -881 576 1088 576 conicto -1472 576 lineto -1472 2688 lineto -832 2688 lineto -832 2112 lineto -832 1905 752 1816 conicto -673 1728 544 1728 conicto -415 1728 335 1816 conicto -256 1905 256 2112 conicto -256 3264 lineto -3264 3264 lineto -3264 2112 lineto -3264 1905 3184 1816 conicto -3105 1728 2976 1728 conicto -2847 1728 2767 1816 conicto -2688 1905 2688 2112 conicto -2688 2688 lineto -2048 2688 lineto -end_ol grestore -gsave 4.255142 7.499042 translate 0.035278 -0.035278 scale -start_ol -1408 1152 moveto -1408 576 lineto -1984 576 lineto -2191 576 2279 496 conicto -2368 417 2368 288 conicto -2368 159 2279 79 conicto -2191 0 1984 0 conicto -768 0 lineto -561 0 472 79 conicto -384 159 384 288 conicto -384 417 472 496 conicto -561 576 768 576 conicto -832 576 lineto -832 2688 lineto -768 2688 lineto -561 2688 472 2767 conicto -384 2847 384 2976 conicto -384 3105 472 3184 conicto -561 3264 768 3264 conicto -2078 3264 lineto -2654 3264 2991 2962 conicto -3328 2660 3328 2227 conicto -3328 1988 3213 1776 conicto -3126 1616 2921 1460 conicto -2717 1305 2506 1228 conicto -2295 1152 1950 1152 conicto -1408 1152 lineto -1408 1728 moveto -1938 1728 lineto -2313 1728 2532 1878 conicto -2752 2029 2752 2240 conicto -2752 2419 2574 2553 conicto -2397 2688 2068 2688 conicto -1408 2688 lineto -1408 1728 lineto -end_ol grestore -gsave 2.430575 8.499042 translate 0.035278 -0.035278 scale -start_ol -960 192 moveto -877 69 826 34 conicto -776 0 703 0 conicto -559 0 471 88 conicto -384 176 384 381 conicto -384 767 lineto -384 975 464 1063 conicto -544 1152 675 1152 conicto -776 1152 844 1101 conicto -913 1050 949 930 conicto -985 810 1024 767 conicto -1106 684 1314 598 conicto -1522 512 1770 512 conicto -2155 512 2402 678 conicto -2560 780 2560 927 conicto -2560 1026 2485 1113 conicto -2410 1201 2240 1257 conicto -2129 1297 1744 1364 conicto -1278 1444 1035 1560 conicto -793 1677 652 1890 conicto -512 2103 512 2350 conicto -512 2740 843 3034 conicto -1175 3328 1706 3328 conicto -1920 3328 2101 3265 conicto -2283 3203 2432 3072 conicto -2559 3264 2685 3264 conicto -2828 3264 2918 3174 conicto -3008 3085 3008 2876 conicto -3008 2438 lineto -3008 2227 2928 2137 conicto -2849 2048 2723 2048 conicto -2616 2048 2538 2112 conicto -2477 2159 2446 2300 conicto -2416 2441 2368 2503 conicto -2287 2608 2126 2680 conicto -1965 2752 1754 2752 conicto -1446 2752 1267 2618 conicto -1088 2485 1088 2339 conicto -1088 2240 1161 2148 conicto -1235 2057 1377 2004 conicto -1471 1968 1908 1888 conicto -2346 1808 2583 1709 conicto -2821 1611 2978 1401 conicto -3136 1191 3136 901 conicto -3136 497 2842 255 conicto -2450 -64 1846 -64 conicto -1612 -64 1390 0 conicto -1169 64 960 192 conicto -end_ol grestore -gsave 2.887775 8.499042 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 3.344975 8.499042 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -gsave 3.802175 8.499042 translate 0.035278 -0.035278 scale -start_ol -1760 659 moveto -2322 1856 lineto -2097 1856 2042 1906 conicto -1920 2015 1920 2144 conicto -1920 2273 2008 2352 conicto -2097 2432 2322 2432 conicto -3079 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3079 1856 conicto -2951 1856 lineto -2080 0 lineto -1440 0 lineto -569 1856 lineto -505 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 505 2432 conicto -1198 2432 lineto -1423 2432 1511 2352 conicto -1600 2273 1600 2144 conicto -1600 2015 1482 1909 conicto -1423 1856 1198 1856 conicto -1760 659 lineto -end_ol grestore -gsave 4.259375 8.499042 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 4.716575 8.499042 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0.080000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 6.215311 8.000000 m 6.215311 10.511963 l 7.291866 10.511963 l 7.291866 8.000000 l f -0.000000 0.000000 0.000000 srgb -n 6.215311 8.000000 m 6.215311 10.511963 l 7.291866 10.511963 l 7.291866 8.000000 l cp s -0.010000 slw -0 slc -0 slj -[] 0 sd -n 6.322967 8.150718 m 6.322967 8.437799 l 7.184211 8.437799 l 7.184211 8.150718 l cp s -0 slc -0 slj -[] 0 sd -n 6.322967 8.437799 m 6.322967 8.724881 l 7.184211 8.724881 l 7.184211 8.437799 l cp s -0 slc -0 slj -[] 0 sd -n 6.322967 8.724881 m 6.322967 9.011962 l 7.184211 9.011962 l 7.184211 8.724881 l cp s -0 slc -0 slj -[] 0 sd -n 6.322967 9.011962 m 6.322967 9.299043 l 7.184211 9.299043 l 7.184211 9.011962 l cp s -0 slc -0 slj -[] 0 sd -n 6.322967 9.356460 m 6.322967 9.528709 l 6.861244 9.528709 l 6.861244 9.356460 l cp s -0 slc -0 slj -[] 0 sd -0.000000 1.000000 0.000000 srgb -n 7.130383 9.385168 0.037679 0.037679 0 360 ellipse f -0.000000 0.000000 0.000000 srgb -n 7.130383 9.385168 0.037679 0.037679 0 360 ellipse cp s -0 slc -0 slj -[] 0 sd -1.000000 1.000000 0.000000 srgb -n 7.130383 9.500001 0.037679 0.037679 0 360 ellipse f -0.000000 0.000000 0.000000 srgb -n 7.130383 9.500001 0.037679 0.037679 0 360 ellipse cp s -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 6.915072 9.413876 m 6.915072 9.528709 l 7.044259 9.528709 l 7.044259 9.413876 l f -0.000000 0.000000 0.000000 srgb -n 6.915072 9.413876 m 6.915072 9.528709 l 7.044259 9.528709 l 7.044259 9.413876 l cp s -0 slc -0 slj -[] 0 sd -n 6.394737 9.758374 m 6.394737 10.386364 l s -0 slc -0 slj -[] 0 sd -n 6.574163 9.758374 m 6.574163 10.386364 l s -0 slc -0 slj -[] 0 sd -n 6.753589 9.758374 m 6.753589 10.386364 l s -0 slc -0 slj -[] 0 sd -n 6.933015 9.758374 m 6.933015 10.386364 l s -0 slc -0 slj -[] 0 sd -n 7.112441 9.758374 m 7.112441 10.386364 l s -0 slc -0 slj -[] 0 sd -n 7.291866 9.758374 m 7.291866 10.386364 l s -0 slc -0 slj -[] 0 sd -0.600000 0.600000 0.600000 srgb -n 6.000000 10.727274 m 6.215311 10.296651 l 6.215311 10.511963 l 7.291866 10.511963 l 7.291866 10.296651 l 7.578948 10.727274 l f -0.000000 0.000000 0.000000 srgb -n 6.000000 10.727274 m 6.215311 10.296651 l 6.215311 10.511963 l 7.291866 10.511963 l 7.291866 10.296651 l 7.578948 10.727274 l cp s -gsave 6.112141 11.499044 translate 0.035278 -0.035278 scale -start_ol -1344 1344 moveto -1344 576 lineto -1920 576 lineto -2127 576 2215 496 conicto -2304 417 2304 288 conicto -2304 159 2215 79 conicto -2127 0 1920 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -768 576 lineto -768 2688 lineto -704 2688 lineto -497 2688 408 2767 conicto -320 2847 320 2976 conicto -320 3105 408 3184 conicto -497 3264 704 3264 conicto -3392 3261 lineto -3392 2368 lineto -3392 2161 3312 2072 conicto -3233 1984 3104 1984 conicto -2975 1984 2895 2072 conicto -2816 2161 2816 2368 conicto -2816 2688 lineto -1344 2688 lineto -1344 1920 lineto -1856 1920 lineto -1856 2127 1909 2184 conicto -2015 2304 2144 2304 conicto -2273 2304 2352 2215 conicto -2432 2127 2432 1920 conicto -2432 1344 lineto -2432 1137 2352 1048 conicto -2273 960 2144 960 conicto -2015 960 1909 1080 conicto -1856 1137 1856 1344 conicto -1344 1344 lineto -end_ol grestore -gsave 6.569341 11.499044 translate 0.035278 -0.035278 scale -start_ol -2048 2688 moveto -2048 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -1088 0 lineto -881 0 792 79 conicto -704 159 704 288 conicto -704 417 792 496 conicto -881 576 1088 576 conicto -1472 576 lineto -1472 2688 lineto -832 2688 lineto -832 2112 lineto -832 1905 752 1816 conicto -673 1728 544 1728 conicto -415 1728 335 1816 conicto -256 1905 256 2112 conicto -256 3264 lineto -3264 3264 lineto -3264 2112 lineto -3264 1905 3184 1816 conicto -3105 1728 2976 1728 conicto -2847 1728 2767 1816 conicto -2688 1905 2688 2112 conicto -2688 2688 lineto -2048 2688 lineto -end_ol grestore -gsave 7.026541 11.499044 translate 0.035278 -0.035278 scale -start_ol -1408 1152 moveto -1408 576 lineto -1984 576 lineto -2191 576 2279 496 conicto -2368 417 2368 288 conicto -2368 159 2279 79 conicto -2191 0 1984 0 conicto -768 0 lineto -561 0 472 79 conicto -384 159 384 288 conicto -384 417 472 496 conicto -561 576 768 576 conicto -832 576 lineto -832 2688 lineto -768 2688 lineto -561 2688 472 2767 conicto -384 2847 384 2976 conicto -384 3105 472 3184 conicto -561 3264 768 3264 conicto -2078 3264 lineto -2654 3264 2991 2962 conicto -3328 2660 3328 2227 conicto -3328 1988 3213 1776 conicto -3126 1616 2921 1460 conicto -2717 1305 2506 1228 conicto -2295 1152 1950 1152 conicto -1408 1152 lineto -1408 1728 moveto -1938 1728 lineto -2313 1728 2532 1878 conicto -2752 2029 2752 2240 conicto -2752 2419 2574 2553 conicto -2397 2688 2068 2688 conicto -1408 2688 lineto -1408 1728 lineto -end_ol grestore -gsave 5.430574 12.499044 translate 0.035278 -0.035278 scale -start_ol -960 192 moveto -877 69 826 34 conicto -776 0 703 0 conicto -559 0 471 88 conicto -384 176 384 381 conicto -384 767 lineto -384 975 464 1063 conicto -544 1152 675 1152 conicto -776 1152 844 1101 conicto -913 1050 949 930 conicto -985 810 1024 767 conicto -1106 684 1314 598 conicto -1522 512 1770 512 conicto -2155 512 2402 678 conicto -2560 780 2560 927 conicto -2560 1026 2485 1113 conicto -2410 1201 2240 1257 conicto -2129 1297 1744 1364 conicto -1278 1444 1035 1560 conicto -793 1677 652 1890 conicto -512 2103 512 2350 conicto -512 2740 843 3034 conicto -1175 3328 1706 3328 conicto -1920 3328 2101 3265 conicto -2283 3203 2432 3072 conicto -2559 3264 2685 3264 conicto -2828 3264 2918 3174 conicto -3008 3085 3008 2876 conicto -3008 2438 lineto -3008 2227 2928 2137 conicto -2849 2048 2723 2048 conicto -2616 2048 2538 2112 conicto -2477 2159 2446 2300 conicto -2416 2441 2368 2503 conicto -2287 2608 2126 2680 conicto -1965 2752 1754 2752 conicto -1446 2752 1267 2618 conicto -1088 2485 1088 2339 conicto -1088 2240 1161 2148 conicto -1235 2057 1377 2004 conicto -1471 1968 1908 1888 conicto -2346 1808 2583 1709 conicto -2821 1611 2978 1401 conicto -3136 1191 3136 901 conicto -3136 497 2842 255 conicto -2450 -64 1846 -64 conicto -1612 -64 1390 0 conicto -1169 64 960 192 conicto -end_ol grestore -gsave 5.887774 12.499044 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 6.344974 12.499044 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -gsave 6.802174 12.499044 translate 0.035278 -0.035278 scale -start_ol -1760 659 moveto -2322 1856 lineto -2097 1856 2042 1906 conicto -1920 2015 1920 2144 conicto -1920 2273 2008 2352 conicto -2097 2432 2322 2432 conicto -3079 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3079 1856 conicto -2951 1856 lineto -2080 0 lineto -1440 0 lineto -569 1856 lineto -505 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 505 2432 conicto -1198 2432 lineto -1423 2432 1511 2352 conicto -1600 2273 1600 2144 conicto -1600 2015 1482 1909 conicto -1423 1856 1198 1856 conicto -1760 659 lineto -end_ol grestore -gsave 7.259374 12.499044 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 7.716574 12.499044 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0.080000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 4.215311 14.000000 m 4.215311 16.511963 l 5.291866 16.511963 l 5.291866 14.000000 l f -0.000000 0.000000 0.000000 srgb -n 4.215311 14.000000 m 4.215311 16.511963 l 5.291866 16.511963 l 5.291866 14.000000 l cp s -0.010000 slw -0 slc -0 slj -[] 0 sd -n 4.322967 14.150718 m 4.322967 14.437799 l 5.184211 14.437799 l 5.184211 14.150718 l cp s -0 slc -0 slj -[] 0 sd -n 4.322967 14.437799 m 4.322967 14.724881 l 5.184211 14.724881 l 5.184211 14.437799 l cp s -0 slc -0 slj -[] 0 sd -n 4.322967 14.724881 m 4.322967 15.011962 l 5.184211 15.011962 l 5.184211 14.724881 l cp s -0 slc -0 slj -[] 0 sd -n 4.322967 15.011962 m 4.322967 15.299043 l 5.184211 15.299043 l 5.184211 15.011962 l cp s -0 slc -0 slj -[] 0 sd -n 4.322967 15.356460 m 4.322967 15.528709 l 4.861244 15.528709 l 4.861244 15.356460 l cp s -0 slc -0 slj -[] 0 sd -0.000000 1.000000 0.000000 srgb -n 5.130383 15.385168 0.037679 0.037679 0 360 ellipse f -0.000000 0.000000 0.000000 srgb -n 5.130383 15.385168 0.037679 0.037679 0 360 ellipse cp s -0 slc -0 slj -[] 0 sd -1.000000 1.000000 0.000000 srgb -n 5.130383 15.500001 0.037679 0.037679 0 360 ellipse f -0.000000 0.000000 0.000000 srgb -n 5.130383 15.500001 0.037679 0.037679 0 360 ellipse cp s -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 4.915072 15.413876 m 4.915072 15.528709 l 5.044259 15.528709 l 5.044259 15.413876 l f -0.000000 0.000000 0.000000 srgb -n 4.915072 15.413876 m 4.915072 15.528709 l 5.044259 15.528709 l 5.044259 15.413876 l cp s -0 slc -0 slj -[] 0 sd -n 4.394737 15.758374 m 4.394737 16.386364 l s -0 slc -0 slj -[] 0 sd -n 4.574163 15.758374 m 4.574163 16.386364 l s -0 slc -0 slj -[] 0 sd -n 4.753589 15.758374 m 4.753589 16.386364 l s -0 slc -0 slj -[] 0 sd -n 4.933015 15.758374 m 4.933015 16.386364 l s -0 slc -0 slj -[] 0 sd -n 5.112441 15.758374 m 5.112441 16.386364 l s -0 slc -0 slj -[] 0 sd -n 5.291866 15.758374 m 5.291866 16.386364 l s -0 slc -0 slj -[] 0 sd -0.600000 0.600000 0.600000 srgb -n 4.000000 16.727274 m 4.215311 16.296651 l 4.215311 16.511963 l 5.291866 16.511963 l 5.291866 16.296651 l 5.578948 16.727274 l f -0.000000 0.000000 0.000000 srgb -n 4.000000 16.727274 m 4.215311 16.296651 l 4.215311 16.511963 l 5.291866 16.511963 l 5.291866 16.296651 l 5.578948 16.727274 l cp s -gsave 4.124841 17.499044 translate 0.035278 -0.035278 scale -start_ol -1024 2221 moveto -1024 576 lineto -1216 576 lineto -1423 576 1511 496 conicto -1600 417 1600 288 conicto -1600 159 1511 79 conicto -1423 0 1216 0 conicto -448 0 lineto -241 0 152 79 conicto -64 159 64 288 conicto -64 417 152 496 conicto -241 576 448 576 conicto -448 2688 lineto -384 2688 lineto -177 2688 88 2767 conicto -0 2847 0 2976 conicto -0 3105 88 3184 conicto -177 3264 384 3264 conicto -932 3264 lineto -2496 1050 lineto -2496 2688 lineto -2304 2688 lineto -2097 2688 2008 2767 conicto -1920 2847 1920 2976 conicto -1920 3105 2008 3184 conicto -2097 3264 2304 3264 conicto -3072 3264 lineto -3279 3264 3367 3184 conicto -3456 3105 3456 2976 conicto -3456 2847 3367 2767 conicto -3279 2688 3072 2688 conicto -3072 0 lineto -2593 0 lineto -1024 2221 lineto -end_ol grestore -gsave 4.582041 17.499044 translate 0.035278 -0.035278 scale -start_ol -1344 1344 moveto -1344 576 lineto -1920 576 lineto -2127 576 2215 496 conicto -2304 417 2304 288 conicto -2304 159 2215 79 conicto -2127 0 1920 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -768 576 lineto -768 2688 lineto -704 2688 lineto -497 2688 408 2767 conicto -320 2847 320 2976 conicto -320 3105 408 3184 conicto -497 3264 704 3264 conicto -3392 3261 lineto -3392 2368 lineto -3392 2161 3312 2072 conicto -3233 1984 3104 1984 conicto -2975 1984 2895 2072 conicto -2816 2161 2816 2368 conicto -2816 2688 lineto -1344 2688 lineto -1344 1920 lineto -1856 1920 lineto -1856 2127 1909 2184 conicto -2015 2304 2144 2304 conicto -2273 2304 2352 2215 conicto -2432 2127 2432 1920 conicto -2432 1344 lineto -2432 1137 2352 1048 conicto -2273 960 2144 960 conicto -2015 960 1909 1080 conicto -1856 1137 1856 1344 conicto -1344 1344 lineto -end_ol grestore -gsave 5.039241 17.499044 translate 0.035278 -0.035278 scale -start_ol -960 192 moveto -877 69 826 34 conicto -776 0 703 0 conicto -559 0 471 88 conicto -384 176 384 381 conicto -384 767 lineto -384 975 464 1063 conicto -544 1152 675 1152 conicto -776 1152 844 1101 conicto -913 1050 949 930 conicto -985 810 1024 767 conicto -1106 684 1314 598 conicto -1522 512 1770 512 conicto -2155 512 2402 678 conicto -2560 780 2560 927 conicto -2560 1026 2485 1113 conicto -2410 1201 2240 1257 conicto -2129 1297 1744 1364 conicto -1278 1444 1035 1560 conicto -793 1677 652 1890 conicto -512 2103 512 2350 conicto -512 2740 843 3034 conicto -1175 3328 1706 3328 conicto -1920 3328 2101 3265 conicto -2283 3203 2432 3072 conicto -2559 3264 2685 3264 conicto -2828 3264 2918 3174 conicto -3008 3085 3008 2876 conicto -3008 2438 lineto -3008 2227 2928 2137 conicto -2849 2048 2723 2048 conicto -2616 2048 2538 2112 conicto -2477 2159 2446 2300 conicto -2416 2441 2368 2503 conicto -2287 2608 2126 2680 conicto -1965 2752 1754 2752 conicto -1446 2752 1267 2618 conicto -1088 2485 1088 2339 conicto -1088 2240 1161 2148 conicto -1235 2057 1377 2004 conicto -1471 1968 1908 1888 conicto -2346 1808 2583 1709 conicto -2821 1611 2978 1401 conicto -3136 1191 3136 901 conicto -3136 497 2842 255 conicto -2450 -64 1846 -64 conicto -1612 -64 1390 0 conicto -1169 64 960 192 conicto -end_ol grestore -gsave 3.430574 18.499044 translate 0.035278 -0.035278 scale -start_ol -960 192 moveto -877 69 826 34 conicto -776 0 703 0 conicto -559 0 471 88 conicto -384 176 384 381 conicto -384 767 lineto -384 975 464 1063 conicto -544 1152 675 1152 conicto -776 1152 844 1101 conicto -913 1050 949 930 conicto -985 810 1024 767 conicto -1106 684 1314 598 conicto -1522 512 1770 512 conicto -2155 512 2402 678 conicto -2560 780 2560 927 conicto -2560 1026 2485 1113 conicto -2410 1201 2240 1257 conicto -2129 1297 1744 1364 conicto -1278 1444 1035 1560 conicto -793 1677 652 1890 conicto -512 2103 512 2350 conicto -512 2740 843 3034 conicto -1175 3328 1706 3328 conicto -1920 3328 2101 3265 conicto -2283 3203 2432 3072 conicto -2559 3264 2685 3264 conicto -2828 3264 2918 3174 conicto -3008 3085 3008 2876 conicto -3008 2438 lineto -3008 2227 2928 2137 conicto -2849 2048 2723 2048 conicto -2616 2048 2538 2112 conicto -2477 2159 2446 2300 conicto -2416 2441 2368 2503 conicto -2287 2608 2126 2680 conicto -1965 2752 1754 2752 conicto -1446 2752 1267 2618 conicto -1088 2485 1088 2339 conicto -1088 2240 1161 2148 conicto -1235 2057 1377 2004 conicto -1471 1968 1908 1888 conicto -2346 1808 2583 1709 conicto -2821 1611 2978 1401 conicto -3136 1191 3136 901 conicto -3136 497 2842 255 conicto -2450 -64 1846 -64 conicto -1612 -64 1390 0 conicto -1169 64 960 192 conicto -end_ol grestore -gsave 3.887774 18.499044 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 4.344974 18.499044 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -gsave 4.802174 18.499044 translate 0.035278 -0.035278 scale -start_ol -1760 659 moveto -2322 1856 lineto -2097 1856 2042 1906 conicto -1920 2015 1920 2144 conicto -1920 2273 2008 2352 conicto -2097 2432 2322 2432 conicto -3079 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3079 1856 conicto -2951 1856 lineto -2080 0 lineto -1440 0 lineto -569 1856 lineto -505 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 505 2432 conicto -1198 2432 lineto -1423 2432 1511 2352 conicto -1600 2273 1600 2144 conicto -1600 2015 1482 1909 conicto -1423 1856 1198 1856 conicto -1760 659 lineto -end_ol grestore -gsave 5.259374 18.499044 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 5.716574 18.499044 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 13.000000 9.900002 m 13.000000 11.707108 l 17.836880 11.707108 l 17.836880 9.900002 l f -0.000000 0.000000 0.000000 srgb -n 13.000000 9.900002 m 13.000000 11.707108 l 17.836880 11.707108 l 17.836880 9.900002 l cp s -0 slc -0 slj -[] 0 sd -n 13.483688 9.900002 m 13.483688 11.707108 l s -0 slc -0 slj -[] 0 sd -n 17.353192 9.900002 m 17.353192 11.707108 l s -gsave 14.059540 11.003555 translate 0.035278 -0.035278 scale -start_ol -3200 1024 moveto -3200 285 lineto -2808 83 2533 9 conicto -2258 -64 1939 -64 conicto -1495 -64 1117 61 conicto -821 157 650 303 conicto -480 450 336 736 conicto -192 1023 192 1377 conicto -192 1771 lineto -192 2318 535 2747 conicto -997 3328 1792 3328 conicto -2022 3328 2229 3263 conicto -2437 3199 2624 3072 conicto -2754 3264 2879 3264 conicto -3021 3264 3110 3175 conicto -3200 3087 3200 2878 conicto -3200 2500 lineto -3200 2291 3100 2201 conicto -3000 2112 2841 2112 conicto -2715 2112 2624 2173 conicto -2570 2214 2534 2356 conicto -2499 2499 2454 2548 conicto -2382 2628 2199 2690 conicto -2016 2752 1790 2752 conicto -1466 2752 1226 2623 conicto -1056 2527 912 2288 conicto -768 2049 768 1768 conicto -768 1384 lineto -768 956 1038 734 conicto -1309 512 1898 512 conicto -2296 512 2624 629 conicto -2624 1024 lineto -2048 1024 lineto -1841 1024 1752 1103 conicto -1664 1183 1664 1312 conicto -1664 1441 1752 1520 conicto -1841 1600 2048 1600 conicto -3200 1600 lineto -3279 1600 3367 1520 conicto -3456 1441 3456 1312 conicto -3456 1183 3367 1103 conicto -3279 1024 3200 1024 conicto -end_ol grestore -gsave 14.516740 11.003555 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 14.973940 11.003555 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 15.431140 11.003555 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 15.888340 11.003555 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 16.345540 11.003555 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 5.000000 m 12.335068 9.906958 l s -0 slj -n 12.112658 10.239423 m 13.000000 10.351778 l 12.557479 9.574492 l f -0.100000 slw -[1.000000] 0 sd -[0.200000] 0 sd -0 slc -n 8.000000 10.000000 m 12.210135 10.676615 l s -0 slj -n 12.146665 11.071547 m 13.000000 10.803555 l 12.273605 10.281683 l f -0.100000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slc -n 6.000000 15.000000 m 12.294593 11.632691 l s -0 slj -n 12.483272 11.985395 m 13.000000 11.255331 l 12.105913 11.279987 l f -gsave 8.790200 7.000000 translate 0.035278 -0.035278 scale -start_ol -2106 1669 moveto -3072 576 lineto -3279 576 3367 496 conicto -3456 417 3456 288 conicto -3456 159 3367 79 conicto -3279 0 3072 0 conicto -2317 0 lineto -2097 0 2008 79 conicto -1920 159 1920 288 conicto -1920 417 2008 496 conicto -2097 576 2313 576 conicto -1728 1238 lineto -1143 576 lineto -1359 576 1447 496 conicto -1536 417 1536 288 conicto -1536 159 1447 79 conicto -1359 0 1139 0 conicto -384 0 lineto -177 0 88 79 conicto -0 159 0 288 conicto -0 417 88 496 conicto -177 576 384 576 conicto -1350 1669 lineto -448 2688 lineto -241 2688 152 2767 conicto -64 2847 64 2976 conicto -64 3105 152 3184 conicto -241 3264 448 3264 conicto -1206 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1492 2749 conicto -1423 2688 1210 2688 conicto -1728 2101 lineto -2246 2688 lineto -2033 2688 1963 2749 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2250 3264 conicto -3008 3264 lineto -3215 3264 3303 3184 conicto -3392 3105 3392 2976 conicto -3392 2847 3303 2767 conicto -3215 2688 3008 2688 conicto -2106 1669 lineto -end_ol grestore -gsave 9.247400 7.000000 translate 0.035278 -0.035278 scale -start_ol -832 2196 moveto -832 576 lineto -1024 576 lineto -1231 576 1319 496 conicto -1408 417 1408 288 conicto -1408 159 1319 79 conicto -1231 0 1024 0 conicto -256 0 lineto -49 0 -39 79 conicto --128 159 -128 288 conicto --128 417 -39 496 conicto -49 576 256 576 conicto -256 2688 lineto -49 2688 -39 2767 conicto --128 2847 -128 2976 conicto --128 3105 -39 3184 conicto -49 3264 256 3264 conicto -870 3264 lineto -1760 1600 lineto -2646 3264 lineto -3264 3264 lineto -3471 3264 3559 3184 conicto -3648 3105 3648 2976 conicto -3648 2847 3559 2767 conicto -3471 2688 3264 2688 conicto -3264 576 lineto -3471 576 3559 496 conicto -3648 417 3648 288 conicto -3648 159 3559 79 conicto -3471 0 3264 0 conicto -2496 0 lineto -2289 0 2200 79 conicto -2112 159 2112 288 conicto -2112 417 2200 496 conicto -2289 576 2496 576 conicto -2688 576 lineto -2688 2196 lineto -1931 775 lineto -1592 775 lineto -832 2196 lineto -end_ol grestore -gsave 9.704600 7.000000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave 10.161800 7.000000 translate 0.035278 -0.035278 scale -start_ol -1600 768 moveto -2304 768 lineto -1536 -821 lineto -1458 -960 1341 -960 conicto -1263 -960 1207 -911 conicto -1152 -863 1152 -804 conicto -1152 -760 1173 -686 conicto -1600 768 lineto -end_ol grestore -gsave 10.619000 7.000000 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave 11.076200 7.000000 translate 0.035278 -0.035278 scale -start_ol -2106 1669 moveto -3072 576 lineto -3279 576 3367 496 conicto -3456 417 3456 288 conicto -3456 159 3367 79 conicto -3279 0 3072 0 conicto -2317 0 lineto -2097 0 2008 79 conicto -1920 159 1920 288 conicto -1920 417 2008 496 conicto -2097 576 2313 576 conicto -1728 1238 lineto -1143 576 lineto -1359 576 1447 496 conicto -1536 417 1536 288 conicto -1536 159 1447 79 conicto -1359 0 1139 0 conicto -384 0 lineto -177 0 88 79 conicto -0 159 0 288 conicto -0 417 88 496 conicto -177 576 384 576 conicto -1350 1669 lineto -448 2688 lineto -241 2688 152 2767 conicto -64 2847 64 2976 conicto -64 3105 152 3184 conicto -241 3264 448 3264 conicto -1206 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1492 2749 conicto -1423 2688 1210 2688 conicto -1728 2101 lineto -2246 2688 lineto -2033 2688 1963 2749 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2250 3264 conicto -3008 3264 lineto -3215 3264 3303 3184 conicto -3392 3105 3392 2976 conicto -3392 2847 3303 2767 conicto -3215 2688 3008 2688 conicto -2106 1669 lineto -end_ol grestore -gsave 11.533400 7.000000 translate 0.035278 -0.035278 scale -start_ol -960 192 moveto -877 69 826 34 conicto -776 0 703 0 conicto -559 0 471 88 conicto -384 176 384 381 conicto -384 767 lineto -384 975 464 1063 conicto -544 1152 675 1152 conicto -776 1152 844 1101 conicto -913 1050 949 930 conicto -985 810 1024 767 conicto -1106 684 1314 598 conicto -1522 512 1770 512 conicto -2155 512 2402 678 conicto -2560 780 2560 927 conicto -2560 1026 2485 1113 conicto -2410 1201 2240 1257 conicto -2129 1297 1744 1364 conicto -1278 1444 1035 1560 conicto -793 1677 652 1890 conicto -512 2103 512 2350 conicto -512 2740 843 3034 conicto -1175 3328 1706 3328 conicto -1920 3328 2101 3265 conicto -2283 3203 2432 3072 conicto -2559 3264 2685 3264 conicto -2828 3264 2918 3174 conicto -3008 3085 3008 2876 conicto -3008 2438 lineto -3008 2227 2928 2137 conicto -2849 2048 2723 2048 conicto -2616 2048 2538 2112 conicto -2477 2159 2446 2300 conicto -2416 2441 2368 2503 conicto -2287 2608 2126 2680 conicto -1965 2752 1754 2752 conicto -1446 2752 1267 2618 conicto -1088 2485 1088 2339 conicto -1088 2240 1161 2148 conicto -1235 2057 1377 2004 conicto -1471 1968 1908 1888 conicto -2346 1808 2583 1709 conicto -2821 1611 2978 1401 conicto -3136 1191 3136 901 conicto -3136 497 2842 255 conicto -2450 -64 1846 -64 conicto -1612 -64 1390 0 conicto -1169 64 960 192 conicto -end_ol grestore -gsave 11.990600 7.000000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave 12.447800 7.000000 translate 0.035278 -0.035278 scale -start_ol -2048 2688 moveto -2048 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -1088 0 lineto -881 0 792 79 conicto -704 159 704 288 conicto -704 417 792 496 conicto -881 576 1088 576 conicto -1472 576 lineto -1472 2688 lineto -832 2688 lineto -832 2112 lineto -832 1905 752 1816 conicto -673 1728 544 1728 conicto -415 1728 335 1816 conicto -256 1905 256 2112 conicto -256 3264 lineto -3264 3264 lineto -3264 2112 lineto -3264 1905 3184 1816 conicto -3105 1728 2976 1728 conicto -2847 1728 2767 1816 conicto -2688 1905 2688 2112 conicto -2688 2688 lineto -2048 2688 lineto -end_ol grestore -gsave 12.905000 7.000000 translate 0.035278 -0.035278 scale -start_ol -1600 768 moveto -2304 768 lineto -1536 -821 lineto -1458 -960 1341 -960 conicto -1263 -960 1207 -911 conicto -1152 -863 1152 -804 conicto -1152 -760 1173 -686 conicto -1600 768 lineto -end_ol grestore -gsave 10.318433 8.000000 translate 0.035278 -0.035278 scale -start_ol -1152 1216 moveto -1152 576 lineto -1344 576 lineto -1551 576 1639 496 conicto -1728 417 1728 288 conicto -1728 159 1639 79 conicto -1551 0 1344 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 216 496 conicto -305 576 512 576 conicto -576 576 lineto -576 2688 lineto -512 2688 lineto -305 2688 216 2767 conicto -128 2847 128 2976 conicto -128 3105 216 3184 conicto -305 3264 512 3264 conicto -1803 3264 lineto -2407 3264 2739 2971 conicto -3072 2678 3072 2258 conicto -3072 1996 2914 1782 conicto -2756 1568 2437 1402 conicto -2625 1257 2841 1029 conicto -2975 884 3201 576 conicto -3407 576 3470 522 conicto -3584 417 3584 288 conicto -3584 159 3495 79 conicto -3407 0 3201 0 conicto -2880 0 lineto -2182 1011 1721 1216 conicto -1152 1216 lineto -1152 1792 moveto -1602 1792 lineto -1852 1792 2049 1863 conicto -2313 1958 2404 2064 conicto -2496 2170 2496 2273 conicto -2496 2427 2321 2557 conicto -2147 2688 1813 2688 conicto -1152 2688 lineto -1152 1792 lineto -end_ol grestore -gsave 10.775633 8.000000 translate 0.035278 -0.035278 scale -start_ol -448 576 moveto -448 2688 lineto -241 2688 152 2767 conicto -64 2847 64 2976 conicto -64 3105 152 3184 conicto -241 3264 448 3264 conicto -1642 3261 lineto -1922 3261 2188 3161 conicto -2454 3062 2615 2908 conicto -2738 2792 2870 2591 conicto -3002 2390 3069 2190 conicto -3136 1991 3136 1703 conicto -3136 1440 lineto -3136 1090 3013 819 conicto -2890 549 2691 378 conicto -2492 208 2317 126 conicto -2039 0 1596 0 conicto -448 0 lineto -241 0 152 79 conicto -64 159 64 288 conicto -64 417 152 496 conicto -241 576 448 576 conicto -1024 576 moveto -1617 576 lineto -1949 576 2117 668 conicto -2338 789 2449 976 conicto -2560 1163 2560 1461 conicto -2560 1716 lineto -2560 1972 2459 2164 conicto -2302 2464 2105 2576 conicto -1908 2688 1612 2688 conicto -1024 2688 lineto -1024 576 lineto -end_ol grestore -gsave 11.232833 8.000000 translate 0.035278 -0.035278 scale -start_ol -1344 1344 moveto -1344 576 lineto -1920 576 lineto -2127 576 2215 496 conicto -2304 417 2304 288 conicto -2304 159 2215 79 conicto -2127 0 1920 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -768 576 lineto -768 2688 lineto -704 2688 lineto -497 2688 408 2767 conicto -320 2847 320 2976 conicto -320 3105 408 3184 conicto -497 3264 704 3264 conicto -3392 3261 lineto -3392 2368 lineto -3392 2161 3312 2072 conicto -3233 1984 3104 1984 conicto -2975 1984 2895 2072 conicto -2816 2161 2816 2368 conicto -2816 2688 lineto -1344 2688 lineto -1344 1920 lineto -1856 1920 lineto -1856 2127 1909 2184 conicto -2015 2304 2144 2304 conicto -2273 2304 2352 2215 conicto -2432 2127 2432 1920 conicto -2432 1344 lineto -2432 1137 2352 1048 conicto -2273 960 2144 960 conicto -2015 960 1909 1080 conicto -1856 1137 1856 1344 conicto -1344 1344 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 23.364432 1.858198 m 22.900243 1.845871 22.000000 2.104733 22.126597 2.659438 c 22.253192 3.214144 22.858044 3.337406 23.111238 3.177163 c 23.364432 3.016915 22.717381 3.953745 23.955217 4.200281 c 25.193042 4.446817 25.826027 4.052360 25.643164 3.768844 c 25.460302 3.485328 26.726271 4.434490 27.317057 3.892112 c 27.907842 3.349733 26.712205 2.832013 26.965399 2.905974 c 27.218592 2.979935 27.992240 2.881320 27.739046 1.956812 c 27.485852 1.032303 25.207108 1.747257 25.460302 1.611662 c 25.713496 1.476068 25.080512 0.798093 24.292809 0.933688 c 23.505095 1.069284 23.449223 1.315339 23.364826 1.857717 c 23.364432 1.858198 l f -0.000000 0.000000 0.000000 srgb -n 23.364432 1.858198 m 22.900243 1.845871 22.000000 2.104733 22.126597 2.659438 c 22.253192 3.214144 22.858044 3.337406 23.111238 3.177163 c 23.364432 3.016915 22.717381 3.953745 23.955217 4.200281 c 25.193042 4.446817 25.826027 4.052360 25.643164 3.768844 c 25.460302 3.485328 26.726271 4.434490 27.317057 3.892112 c 27.907842 3.349733 26.712205 2.832013 26.965399 2.905974 c 27.218592 2.979935 27.992240 2.881320 27.739046 1.956812 c 27.485852 1.032303 25.207108 1.747257 25.460302 1.611662 c 25.713496 1.476068 25.080512 0.798093 24.292809 0.933688 c 23.505095 1.069284 23.449223 1.315339 23.364826 1.857717 c 23.364432 1.858198 l s -gsave 24.039151 2.886774 translate 0.035278 -0.035278 scale -start_ol -2304 1408 moveto -1152 1408 lineto -1152 576 lineto -1216 576 lineto -1423 576 1511 496 conicto -1600 417 1600 288 conicto -1600 159 1511 79 conicto -1423 0 1216 0 conicto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 310 522 conicto -369 576 576 576 conicto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1216 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1511 2767 conicto -1423 2688 1216 2688 conicto -1152 2688 lineto -1152 1984 lineto -2304 1984 lineto -2304 2688 lineto -2240 2688 lineto -2033 2688 1944 2767 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2240 3264 conicto -2880 3264 lineto -3087 3264 3175 3184 conicto -3264 3105 3264 2976 conicto -3264 2847 3175 2767 conicto -3087 2688 2880 2688 conicto -2880 576 lineto -3087 576 3144 523 conicto -3264 417 3264 288 conicto -3264 159 3175 79 conicto -3087 0 2880 0 conicto -2240 0 lineto -2033 0 1944 79 conicto -1856 159 1856 288 conicto -1856 417 1944 496 conicto -2033 576 2240 576 conicto -2304 576 lineto -2304 1408 lineto -end_ol grestore -gsave 24.496351 2.886774 translate 0.035278 -0.035278 scale -start_ol -576 576 moveto -576 2688 lineto -512 2688 lineto -305 2688 216 2767 conicto -128 2847 128 2976 conicto -128 3105 216 3184 conicto -305 3264 512 3264 conicto -1940 3264 lineto -2450 3264 2761 3000 conicto -3072 2736 3072 2372 conicto -3072 2200 2993 2048 conicto -2914 1896 2752 1768 conicto -3040 1605 3184 1388 conicto -3328 1171 3328 898 conicto -3328 679 3230 492 conicto -3158 350 3052 265 conicto -2910 148 2704 74 conicto -2498 0 2188 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 216 496 conicto -305 576 512 576 conicto -576 576 lineto -1152 1984 moveto -1782 1984 lineto -2121 1984 2345 2128 conicto -2496 2225 2496 2370 conicto -2496 2496 2353 2592 conicto -2210 2688 1900 2688 conicto -1152 2688 lineto -1152 1984 lineto -1152 576 moveto -2147 576 lineto -2499 576 2642 679 conicto -2752 756 2752 901 conicto -2752 1074 2535 1241 conicto -2319 1408 1914 1408 conicto -1152 1408 lineto -1152 576 lineto -end_ol grestore -gsave 24.953551 2.886774 translate 0.035278 -0.035278 scale -start_ol -2944 2432 moveto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2368 192 lineto -2114 65 1883 0 conicto -1652 -64 1445 -64 conicto -1153 -64 939 47 conicto -725 158 601 353 conicto -512 494 512 706 conicto -512 1856 lineto -384 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 384 2432 conicto -1088 2432 lineto -1088 840 lineto -1088 671 1180 591 conicto -1272 512 1462 512 conicto -1643 512 1851 576 conicto -2060 640 2368 807 conicto -2368 1856 lineto -2176 1856 lineto -1969 1856 1880 1935 conicto -1792 2015 1792 2144 conicto -1792 2273 1880 2352 conicto -1969 2432 2176 2432 conicto -2944 2432 lineto -end_ol grestore -gsave 25.410751 2.886774 translate 0.035278 -0.035278 scale -start_ol -2368 2240 moveto -2368 2432 lineto -3072 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3072 1856 conicto -2944 1856 lineto -2944 -86 lineto -2944 -367 2814 -576 conicto -2685 -786 2418 -937 conicto -2151 -1088 1817 -1088 conicto -1157 -1088 lineto -947 -1088 857 -1007 conicto -768 -927 768 -801 conicto -768 -673 858 -592 conicto -948 -512 1159 -512 conicto -1805 -512 lineto -2073 -512 2220 -385 conicto -2368 -259 2368 -66 conicto -2368 182 lineto -2176 59 1978 -2 conicto -1780 -64 1572 -64 conicto -985 -64 588 304 conicto -192 673 192 1215 conicto -192 1759 588 2127 conicto -985 2496 1572 2496 conicto -1791 2496 1989 2433 conicto -2188 2370 2368 2240 conicto -2368 1216 moveto -2368 1501 2132 1710 conicto -1897 1920 1568 1920 conicto -1239 1920 1003 1710 conicto -768 1501 768 1216 conicto -768 928 1003 720 conicto -1239 512 1568 512 conicto -1897 512 2132 720 conicto -2368 928 2368 1216 conicto -end_ol grestore -gsave 25.867951 2.886774 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 38.000001 2.999999 m 38.000001 4.512710 l 40.016949 4.512710 l 40.016949 2.999999 l f -0.000000 0.000000 0.000000 srgb -n 38.000001 2.999999 m 38.000001 4.512710 l 40.016949 4.512710 l 40.016949 2.999999 l cp s -0.100000 slw -0 slc -0 slj -[] 0 sd -n 38.218504 3.218502 m 38.218504 4.260591 l 39.798446 4.260591 l 39.798446 3.218502 l f -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 38.273129 4.512710 m 39.311017 4.512710 l 39.311017 4.748020 l 38.327755 4.748020 l f -0.000000 0.000000 0.000000 srgb -n 38.273129 4.512710 m 39.311017 4.512710 l 39.311017 4.748020 l 38.327755 4.748020 l cp s -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 39.311017 4.512710 m 39.743821 4.512710 l 39.689195 4.748020 l 39.311017 4.748020 l f -0.000000 0.000000 0.000000 srgb -n 39.311017 4.512710 m 39.743821 4.512710 l 39.689195 4.748020 l 39.311017 4.748020 l cp s -0.025000 slw -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 39.381610 4.583303 m 39.381610 4.677427 l 39.475735 4.677427 l 39.475735 4.583303 l f -0.000000 0.000000 0.000000 srgb -n 39.381610 4.583303 m 39.381610 4.677427 l 39.475735 4.677427 l 39.475735 4.583303 l cp s -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 38.806780 4.748020 m 39.210170 4.748020 l 39.210170 4.865676 l 39.411865 4.865676 l 39.411865 4.983331 l 38.605085 4.983331 l 38.605085 4.865676 l 38.806780 4.865676 l f -0.000000 0.000000 0.000000 srgb -n 38.806780 4.748020 m 39.210170 4.748020 l 39.210170 4.865676 l 39.411865 4.865676 l 39.411865 4.983331 l 38.605085 4.983331 l 38.605085 4.865676 l 38.806780 4.865676 l cp s -gsave 36.976475 5.750563 translate 0.035278 -0.035278 scale -start_ol -2368 2240 moveto -2368 2432 lineto -3072 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3072 1856 conicto -2944 1856 lineto -2944 -86 lineto -2944 -367 2814 -576 conicto -2685 -786 2418 -937 conicto -2151 -1088 1817 -1088 conicto -1157 -1088 lineto -947 -1088 857 -1007 conicto -768 -927 768 -801 conicto -768 -673 858 -592 conicto -948 -512 1159 -512 conicto -1805 -512 lineto -2073 -512 2220 -385 conicto -2368 -259 2368 -66 conicto -2368 182 lineto -2176 59 1978 -2 conicto -1780 -64 1572 -64 conicto -985 -64 588 304 conicto -192 673 192 1215 conicto -192 1759 588 2127 conicto -985 2496 1572 2496 conicto -1791 2496 1989 2433 conicto -2188 2370 2368 2240 conicto -2368 1216 moveto -2368 1501 2132 1710 conicto -1897 1920 1568 1920 conicto -1239 1920 1003 1710 conicto -768 1501 768 1216 conicto -768 928 1003 720 conicto -1239 512 1568 512 conicto -1897 512 2132 720 conicto -2368 928 2368 1216 conicto -end_ol grestore -gsave 37.433675 5.750563 translate 0.035278 -0.035278 scale -start_ol -2048 2688 moveto -2048 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -1088 0 lineto -881 0 792 79 conicto -704 159 704 288 conicto -704 417 792 496 conicto -881 576 1088 576 conicto -1472 576 lineto -1472 2688 lineto -832 2688 lineto -832 2112 lineto -832 1905 752 1816 conicto -673 1728 544 1728 conicto -415 1728 335 1816 conicto -256 1905 256 2112 conicto -256 3264 lineto -3264 3264 lineto -3264 2112 lineto -3264 1905 3184 1816 conicto -3105 1728 2976 1728 conicto -2847 1728 2767 1816 conicto -2688 1905 2688 2112 conicto -2688 2688 lineto -2048 2688 lineto -end_ol grestore -gsave 37.890875 5.750563 translate 0.035278 -0.035278 scale -start_ol -3200 1179 moveto -3200 867 3018 575 conicto -2837 283 2477 109 conicto -2118 -64 1727 -64 conicto -1338 -64 983 106 conicto -628 277 442 570 conicto -256 864 256 1185 conicto -256 1510 444 1823 conicto -633 2136 987 2316 conicto -1341 2496 1727 2496 conicto -2115 2496 2474 2312 conicto -2834 2128 3017 1817 conicto -3200 1507 3200 1179 conicto -2624 1178 moveto -2624 1428 2429 1637 conicto -2162 1920 1728 1920 conicto -1345 1920 1088 1695 conicto -832 1471 832 1175 conicto -832 933 1091 722 conicto -1350 512 1728 512 conicto -2107 512 2365 722 conicto -2624 933 2624 1178 conicto -end_ol grestore -gsave 38.348075 5.750563 translate 0.035278 -0.035278 scale -start_ol -1024 320 moveto -1024 -512 lineto -1344 -512 lineto -1551 -512 1639 -591 conicto -1728 -671 1728 -800 conicto -1728 -929 1639 -1008 conicto -1551 -1088 1344 -1088 conicto -320 -1088 lineto -113 -1088 24 -1008 conicto --64 -929 -64 -800 conicto --64 -671 24 -591 conicto -113 -512 320 -512 conicto -448 -512 lineto -448 1856 lineto -320 1856 lineto -113 1856 24 1935 conicto --64 2015 -64 2144 conicto --64 2273 24 2352 conicto -113 2432 320 2432 conicto -1024 2432 lineto -1024 2176 lineto -1216 2338 1435 2417 conicto -1655 2496 1886 2496 conicto -2485 2496 2906 2106 conicto -3328 1717 3328 1215 conicto -3328 661 2827 300 conicto -2408 0 1884 0 conicto -1657 0 1436 79 conicto -1216 159 1024 320 conicto -2752 1213 moveto -2752 1328 2655 1505 conicto -2558 1683 2358 1801 conicto -2158 1920 1888 1920 conicto -1452 1920 1197 1614 conicto -1024 1403 1024 1208 conicto -1024 990 1272 783 conicto -1521 576 1888 576 conicto -2257 576 2504 781 conicto -2752 987 2752 1213 conicto -end_ol grestore -gsave 38.805275 5.750563 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave 39.262475 5.750563 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 39.719675 5.750563 translate 0.035278 -0.035278 scale -start_ol -1760 659 moveto -2322 1856 lineto -2097 1856 2042 1906 conicto -1920 2015 1920 2144 conicto -1920 2273 2008 2352 conicto -2097 2432 2322 2432 conicto -3079 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3079 1856 conicto -2951 1856 lineto -2080 0 lineto -1440 0 lineto -569 1856 lineto -505 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 505 2432 conicto -1198 2432 lineto -1423 2432 1511 2352 conicto -1600 2273 1600 2144 conicto -1600 2015 1482 1909 conicto -1423 1856 1198 1856 conicto -1760 659 lineto -end_ol grestore -gsave 40.176875 5.750563 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 40.634075 5.750563 translate 0.035278 -0.035278 scale -start_ol -1984 3520 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 2944 lineto -960 2944 lineto -753 2944 664 3023 conicto -576 3103 576 3232 conicto -576 3361 664 3440 conicto -753 3520 960 3520 conicto -1984 3520 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 38.000001 20.999999 m 38.000001 22.512710 l 40.016949 22.512710 l 40.016949 20.999999 l f -0.000000 0.000000 0.000000 srgb -n 38.000001 20.999999 m 38.000001 22.512710 l 40.016949 22.512710 l 40.016949 20.999999 l cp s -0.100000 slw -0 slc -0 slj -[] 0 sd -n 38.218504 21.218502 m 38.218504 22.260591 l 39.798446 22.260591 l 39.798446 21.218502 l f -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 38.273129 22.512710 m 39.311017 22.512710 l 39.311017 22.748020 l 38.327755 22.748020 l f -0.000000 0.000000 0.000000 srgb -n 38.273129 22.512710 m 39.311017 22.512710 l 39.311017 22.748020 l 38.327755 22.748020 l cp s -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 39.311017 22.512710 m 39.743821 22.512710 l 39.689195 22.748020 l 39.311017 22.748020 l f -0.000000 0.000000 0.000000 srgb -n 39.311017 22.512710 m 39.743821 22.512710 l 39.689195 22.748020 l 39.311017 22.748020 l cp s -0.025000 slw -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 39.381610 22.583303 m 39.381610 22.677427 l 39.475735 22.677427 l 39.475735 22.583303 l f -0.000000 0.000000 0.000000 srgb -n 39.381610 22.583303 m 39.381610 22.677427 l 39.475735 22.677427 l 39.475735 22.583303 l cp s -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 38.806780 22.748020 m 39.210170 22.748020 l 39.210170 22.865676 l 39.411865 22.865676 l 39.411865 22.983331 l 38.605085 22.983331 l 38.605085 22.865676 l 38.806780 22.865676 l f -0.000000 0.000000 0.000000 srgb -n 38.806780 22.748020 m 39.210170 22.748020 l 39.210170 22.865676 l 39.411865 22.865676 l 39.411865 22.983331 l 38.605085 22.983331 l 38.605085 22.865676 l 38.806780 22.865676 l cp s -gsave 37.416742 23.750563 translate 0.035278 -0.035278 scale -start_ol -1024 3520 moveto -1024 2220 lineto -1235 2358 1453 2427 conicto -1672 2496 1894 2496 conicto -2494 2496 2911 2107 conicto -3328 1719 3328 1169 conicto -3328 642 2931 289 conicto -2534 -64 1883 -64 conicto -1652 -64 1438 -2 conicto -1224 60 1024 181 conicto -1024 0 lineto -320 0 lineto -113 0 24 79 conicto --64 159 -64 288 conicto --64 417 24 496 conicto -113 576 320 576 conicto -448 576 lineto -448 2944 lineto -320 2944 lineto -113 2944 24 3023 conicto --64 3103 -64 3232 conicto --64 3361 24 3440 conicto -113 3520 320 3520 conicto -1024 3520 lineto -2752 1155 moveto -2752 1476 2501 1698 conicto -2251 1920 1887 1920 conicto -1526 1920 1275 1698 conicto -1024 1476 1024 1163 conicto -1024 878 1249 695 conicto -1475 512 1887 512 conicto -2299 512 2525 695 conicto -2752 878 2752 1155 conicto -end_ol grestore -gsave 37.873942 23.750563 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -gsave 38.331142 23.750563 translate 0.035278 -0.035278 scale -start_ol -3200 1179 moveto -3200 867 3018 575 conicto -2837 283 2477 109 conicto -2118 -64 1727 -64 conicto -1338 -64 983 106 conicto -628 277 442 570 conicto -256 864 256 1185 conicto -256 1510 444 1823 conicto -633 2136 987 2316 conicto -1341 2496 1727 2496 conicto -2115 2496 2474 2312 conicto -2834 2128 3017 1817 conicto -3200 1507 3200 1179 conicto -2624 1178 moveto -2624 1428 2429 1637 conicto -2162 1920 1728 1920 conicto -1345 1920 1088 1695 conicto -832 1471 832 1175 conicto -832 933 1091 722 conicto -1350 512 1728 512 conicto -2107 512 2365 722 conicto -2624 933 2624 1178 conicto -end_ol grestore -gsave 38.788342 23.750563 translate 0.035278 -0.035278 scale -start_ol -1760 1148 moveto -1322 0 lineto -775 0 lineto -335 1856 lineto -241 1856 152 1935 conicto -64 2015 64 2144 conicto -64 2273 152 2352 conicto -241 2432 335 2432 conicto -925 2432 lineto -1167 2432 1255 2352 conicto -1344 2273 1344 2144 conicto -1344 2015 1243 1924 conicto -1167 1856 925 1856 conicto -1123 764 lineto -1509 1920 lineto -2008 1920 lineto -2392 764 lineto -2595 1856 lineto -2353 1856 2294 1907 conicto -2176 2015 2176 2144 conicto -2176 2273 2264 2352 conicto -2353 2432 2595 2432 conicto -3185 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3185 1856 conicto -2735 0 lineto -2195 0 lineto -1760 1148 lineto -end_ol grestore -gsave 39.245542 23.750563 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -gsave 39.702742 23.750563 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 40.159942 23.750563 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 27.786647 2.303485 m 36.202276 2.939693 l s -0 slj -n 36.172123 3.338555 m 37.000000 3.000000 l 36.232430 2.540832 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 25.000000 9.900002 m 25.000000 11.707108 l 29.176880 11.707108 l 29.176880 9.900002 l f -0.000000 0.000000 0.000000 srgb -n 25.000000 9.900002 m 25.000000 11.707108 l 29.176880 11.707108 l 29.176880 9.900002 l cp s -0 slc -0 slj -[] 0 sd -n 25.417688 9.900002 m 25.417688 11.707108 l s -0 slc -0 slj -[] 0 sd -n 28.759192 9.900002 m 28.759192 11.707108 l s -gsave 25.953907 11.003555 translate 0.035278 -0.035278 scale -start_ol -3072 2688 moveto -3072 1146 lineto -3072 642 2679 289 conicto -2286 -64 1734 -64 conicto -1460 -64 1220 24 conicto -980 113 788 286 conicto -597 459 490 646 conicto -384 833 384 1146 conicto -384 2688 lineto -177 2688 88 2767 conicto -0 2847 0 2976 conicto -0 3105 88 3184 conicto -177 3264 384 3264 conicto -1152 3264 lineto -1359 3264 1447 3184 conicto -1536 3105 1536 2976 conicto -1536 2847 1447 2767 conicto -1359 2688 1152 2688 conicto -960 2688 lineto -960 1122 lineto -960 881 1184 696 conicto -1408 512 1725 512 conicto -1936 512 2121 601 conicto -2306 690 2423 860 conicto -2496 968 2496 1122 conicto -2496 2688 lineto -2304 2688 lineto -2097 2688 2008 2767 conicto -1920 2847 1920 2976 conicto -1920 3105 2008 3184 conicto -2097 3264 2304 3264 conicto -3072 3264 lineto -3279 3264 3367 3184 conicto -3456 3105 3456 2976 conicto -3456 2847 3367 2767 conicto -3279 2688 3072 2688 conicto -end_ol grestore -gsave 26.411107 11.003555 translate 0.035278 -0.035278 scale -start_ol -1696 1618 moveto -1209 0 lineto -549 0 lineto -210 2688 lineto --15 2688 -103 2767 conicto --192 2847 -192 2976 conicto --192 3105 -103 3184 conicto --15 3264 210 3264 conicto -1119 3264 lineto -1359 3264 1447 3184 conicto -1536 3105 1536 2976 conicto -1536 2847 1447 2767 conicto -1359 2688 1119 2688 conicto -799 2688 lineto -992 1095 lineto -1391 2432 lineto -2004 2432 lineto -2400 1095 lineto -2593 2688 lineto -2273 2688 lineto -2033 2688 1944 2767 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2273 3264 conicto -3182 3264 lineto -3407 3264 3495 3184 conicto -3584 3105 3584 2976 conicto -3584 2847 3495 2767 conicto -3407 2688 3182 2688 conicto -2842 0 lineto -2179 0 lineto -1696 1618 lineto -end_ol grestore -gsave 26.868307 11.003555 translate 0.035278 -0.035278 scale -start_ol -3328 1630 moveto -3328 903 2845 419 conicto -2362 -64 1727 -64 conicto -1156 -64 696 338 conicto -128 836 128 1630 conicto -128 2425 696 2925 conicto -1156 3328 1727 3328 conicto -2362 3328 2845 2844 conicto -3328 2361 3328 1630 conicto -2752 1631 moveto -2752 2116 2439 2434 conicto -2126 2752 1727 2752 conicto -1331 2752 1017 2433 conicto -704 2114 704 1631 conicto -704 1148 1017 830 conicto -1331 512 1727 512 conicto -2126 512 2439 828 conicto -2752 1145 2752 1631 conicto -end_ol grestore -gsave 27.325507 11.003555 translate 0.035278 -0.035278 scale -start_ol -576 576 moveto -576 2688 lineto -512 2688 lineto -305 2688 216 2767 conicto -128 2847 128 2976 conicto -128 3105 216 3184 conicto -305 3264 512 3264 conicto -1940 3264 lineto -2450 3264 2761 3000 conicto -3072 2736 3072 2372 conicto -3072 2200 2993 2048 conicto -2914 1896 2752 1768 conicto -3040 1605 3184 1388 conicto -3328 1171 3328 898 conicto -3328 679 3230 492 conicto -3158 350 3052 265 conicto -2910 148 2704 74 conicto -2498 0 2188 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 216 496 conicto -305 576 512 576 conicto -576 576 lineto -1152 1984 moveto -1782 1984 lineto -2121 1984 2345 2128 conicto -2496 2225 2496 2370 conicto -2496 2496 2353 2592 conicto -2210 2688 1900 2688 conicto -1152 2688 lineto -1152 1984 lineto -1152 576 moveto -2147 576 lineto -2499 576 2642 679 conicto -2752 756 2752 901 conicto -2752 1074 2535 1241 conicto -2319 1408 1914 1408 conicto -1152 1408 lineto -1152 576 lineto -end_ol grestore -gsave 27.782707 11.003555 translate 0.035278 -0.035278 scale -start_ol -3328 1630 moveto -3328 903 2845 419 conicto -2362 -64 1727 -64 conicto -1156 -64 696 338 conicto -128 836 128 1630 conicto -128 2425 696 2925 conicto -1156 3328 1727 3328 conicto -2362 3328 2845 2844 conicto -3328 2361 3328 1630 conicto -2752 1631 moveto -2752 2116 2439 2434 conicto -2126 2752 1727 2752 conicto -1331 2752 1017 2433 conicto -704 2114 704 1631 conicto -704 1148 1017 830 conicto -1331 512 1727 512 conicto -2126 512 2439 828 conicto -2752 1145 2752 1631 conicto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 17.836880 10.351778 m 24.200000 10.351778 l s -0 slj -n 24.200000 10.751778 m 25.000000 10.351778 l 24.200000 9.951778 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 25.000000 12.800002 m 25.000000 15.607108 l 30.496880 15.607108 l 30.496880 12.800002 l f -0.000000 0.000000 0.000000 srgb -n 25.000000 12.800002 m 25.000000 15.607108 l 30.496880 15.607108 l 30.496880 12.800002 l cp s -0 slc -0 slj -[] 0 sd -n 25.549688 12.800002 m 25.549688 15.607108 l s -0 slc -0 slj -[] 0 sd -n 29.947192 12.800002 m 29.947192 15.607108 l s -gsave 26.850973 13.903555 translate 0.035278 -0.035278 scale -start_ol -2048 2688 moveto -2048 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -1088 0 lineto -881 0 792 79 conicto -704 159 704 288 conicto -704 417 792 496 conicto -881 576 1088 576 conicto -1472 576 lineto -1472 2688 lineto -832 2688 lineto -832 2112 lineto -832 1905 752 1816 conicto -673 1728 544 1728 conicto -415 1728 335 1816 conicto -256 1905 256 2112 conicto -256 3264 lineto -3264 3264 lineto -3264 2112 lineto -3264 1905 3184 1816 conicto -3105 1728 2976 1728 conicto -2847 1728 2767 1816 conicto -2688 1905 2688 2112 conicto -2688 2688 lineto -2048 2688 lineto -end_ol grestore -gsave 27.308173 13.903555 translate 0.035278 -0.035278 scale -start_ol -1427 184 moveto -406 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 406 2432 conicto -1071 2432 lineto -1295 2432 1383 2352 conicto -1472 2273 1472 2144 conicto -1472 2015 1383 1935 conicto -1295 1856 1071 1856 conicto -1745 765 lineto -2344 1856 lineto -2097 1856 2008 1935 conicto -1920 2015 1920 2144 conicto -1920 2273 2008 2352 conicto -2097 2432 2344 2432 conicto -2988 2432 lineto -3215 2432 3303 2352 conicto -3392 2273 3392 2144 conicto -3392 2015 3303 1935 conicto -3215 1856 2988 1856 conicto -1684 -512 lineto -1876 -512 2063 -512 conicto -2240 -671 2240 -800 conicto -2240 -929 2151 -1008 conicto -2063 -1088 1876 -1088 conicto -469 -1088 lineto -241 -1088 152 -1008 conicto -64 -929 64 -800 conicto -64 -671 152 -591 conicto -241 -512 469 -512 conicto -1045 -512 lineto -1427 184 lineto -end_ol grestore -gsave 27.765373 13.903555 translate 0.035278 -0.035278 scale -start_ol -1024 320 moveto -1024 -512 lineto -1344 -512 lineto -1551 -512 1639 -591 conicto -1728 -671 1728 -800 conicto -1728 -929 1639 -1008 conicto -1551 -1088 1344 -1088 conicto -320 -1088 lineto -113 -1088 24 -1008 conicto --64 -929 -64 -800 conicto --64 -671 24 -591 conicto -113 -512 320 -512 conicto -448 -512 lineto -448 1856 lineto -320 1856 lineto -113 1856 24 1935 conicto --64 2015 -64 2144 conicto --64 2273 24 2352 conicto -113 2432 320 2432 conicto -1024 2432 lineto -1024 2176 lineto -1216 2338 1435 2417 conicto -1655 2496 1886 2496 conicto -2485 2496 2906 2106 conicto -3328 1717 3328 1215 conicto -3328 661 2827 300 conicto -2408 0 1884 0 conicto -1657 0 1436 79 conicto -1216 159 1024 320 conicto -2752 1213 moveto -2752 1328 2655 1505 conicto -2558 1683 2358 1801 conicto -2158 1920 1888 1920 conicto -1452 1920 1197 1614 conicto -1024 1403 1024 1208 conicto -1024 990 1272 783 conicto -1521 576 1888 576 conicto -2257 576 2504 781 conicto -2752 987 2752 1213 conicto -end_ol grestore -gsave 28.222573 13.903555 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 26.160940 14.903555 translate 0.035278 -0.035278 scale -start_ol -2624 3072 moveto -2681 3168 2748 3216 conicto -2816 3264 2894 3264 conicto -3028 3264 3114 3179 conicto -3200 3095 3200 2893 conicto -3200 2420 lineto -3200 2219 3119 2133 conicto -3039 2048 2913 2048 conicto -2798 2048 2728 2107 conicto -2658 2166 2624 2329 conicto -2604 2437 2544 2497 conicto -2428 2613 2219 2682 conicto -2010 2752 1800 2752 conicto -1540 2752 1321 2648 conicto -1102 2544 935 2310 conicto -768 2077 768 1755 conicto -768 1410 lineto -768 1026 1069 769 conicto -1370 512 1904 512 conicto -2224 512 2445 602 conicto -2575 655 2720 810 conicto -2810 904 2860 932 conicto -2910 960 2975 960 conicto -3090 960 3177 871 conicto -3264 782 3264 662 conicto -3264 542 3145 405 conicto -2975 204 2706 91 conicto -2344 -64 1907 -64 conicto -1397 -64 988 136 conicto -657 295 424 640 conicto -192 986 192 1393 conicto -192 1764 lineto -192 2190 399 2559 conicto -607 2928 975 3128 conicto -1344 3328 1756 3328 conicto -2004 3328 2220 3265 conicto -2437 3202 2624 3072 conicto -end_ol grestore -gsave 26.618140 14.903555 translate 0.035278 -0.035278 scale -start_ol -1088 3520 moveto -1088 2240 lineto -1273 2370 1462 2433 conicto -1651 2496 1844 2496 conicto -2150 2496 2389 2401 conicto -2629 2306 2786 2102 conicto -2944 1898 2944 1588 conicto -2944 576 lineto -3151 576 3210 523 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2161 0 2072 79 conicto -1984 159 1984 288 conicto -1984 417 2101 522 conicto -2161 576 2368 576 conicto -2368 1526 lineto -2368 1728 2262 1810 conicto -2124 1920 1855 1920 conicto -1656 1920 1502 1848 conicto -1349 1776 1088 1536 conicto -1088 576 lineto -1295 576 1351 523 conicto -1472 417 1472 288 conicto -1472 159 1383 79 conicto -1295 0 1088 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 247 522 conicto -305 576 512 576 conicto -512 2944 lineto -384 2944 lineto -177 2944 88 3023 conicto -0 3103 0 3232 conicto -0 3361 88 3440 conicto -177 3520 384 3520 conicto -1088 3520 lineto -end_ol grestore -gsave 27.075340 14.903555 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 27.532540 14.903555 translate 0.035278 -0.035278 scale -start_ol -2685 2304 moveto -2793 2432 2906 2432 conicto -3034 2432 3117 2342 conicto -3200 2253 3200 2045 conicto -3200 1667 lineto -3200 1456 3116 1368 conicto -3033 1280 2900 1280 conicto -2778 1280 2693 1347 conicto -2632 1398 2597 1553 conicto -2563 1709 2429 1792 conicto -2194 1920 1827 1920 conicto -1405 1920 1150 1706 conicto -896 1492 896 1164 conicto -896 862 1140 687 conicto -1385 512 1952 512 conicto -2324 512 2559 582 conicto -2699 625 2824 728 conicto -2950 832 3045 832 conicto -3160 832 3244 746 conicto -3328 660 3328 544 conicto -3328 356 3061 188 conicto -2665 -64 1903 -64 conicto -1217 -64 836 198 conicto -320 549 320 1160 conicto -320 1738 741 2117 conicto -1162 2496 1840 2496 conicto -2085 2496 2296 2448 conicto -2507 2400 2685 2304 conicto -end_ol grestore -gsave 27.989740 14.903555 translate 0.035278 -0.035278 scale -start_ol -1216 918 moveto -1216 0 lineto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 216 496 conicto -305 576 512 576 conicto -640 576 lineto -640 2944 lineto -512 2944 lineto -305 2944 216 3023 conicto -128 3103 128 3232 conicto -128 3361 216 3440 conicto -305 3520 512 3520 conicto -1216 3520 lineto -1216 1623 lineto -1674 1968 lineto -1664 2083 1664 2156 conicto -1664 2279 1746 2355 conicto -1829 2432 2028 2432 conicto -2653 2432 lineto -2895 2432 2983 2352 conicto -3072 2273 3072 2144 conicto -3072 2015 2983 1935 conicto -2895 1856 2653 1856 conicto -2461 1856 lineto -1786 1343 lineto -2713 576 lineto -2905 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2905 0 conicto -2241 0 lineto -2033 0 1944 76 conicto -1856 152 1856 276 conicto -1856 380 1946 482 conicto -1325 996 lineto -1216 918 lineto -end_ol grestore -gsave 28.446940 14.903555 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 28.904140 14.903555 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 17.836880 10.803555 m 24.251352 13.219776 l s -0 slj -n 24.110350 13.594100 m 25.000000 13.501778 l 24.392353 12.845451 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 25.000000 16.800002 m 25.000000 19.607108 l 30.496880 19.607108 l 30.496880 16.800002 l f -0.000000 0.000000 0.000000 srgb -n 25.000000 16.800002 m 25.000000 19.607108 l 30.496880 19.607108 l 30.496880 16.800002 l cp s -0 slc -0 slj -[] 0 sd -n 25.549688 16.800002 m 25.549688 19.607108 l s -0 slc -0 slj -[] 0 sd -n 29.947192 16.800002 m 29.947192 19.607108 l s -gsave 26.385307 17.903555 translate 0.035278 -0.035278 scale -start_ol -960 192 moveto -877 69 826 34 conicto -776 0 703 0 conicto -559 0 471 88 conicto -384 176 384 381 conicto -384 767 lineto -384 975 464 1063 conicto -544 1152 675 1152 conicto -776 1152 844 1101 conicto -913 1050 949 930 conicto -985 810 1024 767 conicto -1106 684 1314 598 conicto -1522 512 1770 512 conicto -2155 512 2402 678 conicto -2560 780 2560 927 conicto -2560 1026 2485 1113 conicto -2410 1201 2240 1257 conicto -2129 1297 1744 1364 conicto -1278 1444 1035 1560 conicto -793 1677 652 1890 conicto -512 2103 512 2350 conicto -512 2740 843 3034 conicto -1175 3328 1706 3328 conicto -1920 3328 2101 3265 conicto -2283 3203 2432 3072 conicto -2559 3264 2685 3264 conicto -2828 3264 2918 3174 conicto -3008 3085 3008 2876 conicto -3008 2438 lineto -3008 2227 2928 2137 conicto -2849 2048 2723 2048 conicto -2616 2048 2538 2112 conicto -2477 2159 2446 2300 conicto -2416 2441 2368 2503 conicto -2287 2608 2126 2680 conicto -1965 2752 1754 2752 conicto -1446 2752 1267 2618 conicto -1088 2485 1088 2339 conicto -1088 2240 1161 2148 conicto -1235 2057 1377 2004 conicto -1471 1968 1908 1888 conicto -2346 1808 2583 1709 conicto -2821 1611 2978 1401 conicto -3136 1191 3136 901 conicto -3136 497 2842 255 conicto -2450 -64 1846 -64 conicto -1612 -64 1390 0 conicto -1169 64 960 192 conicto -end_ol grestore -gsave 26.842507 17.903555 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 27.299707 17.903555 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 27.756907 17.903555 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -gsave 28.214107 17.903555 translate 0.035278 -0.035278 scale -start_ol -2685 2304 moveto -2793 2432 2906 2432 conicto -3034 2432 3117 2342 conicto -3200 2253 3200 2045 conicto -3200 1667 lineto -3200 1456 3116 1368 conicto -3033 1280 2900 1280 conicto -2778 1280 2693 1347 conicto -2632 1398 2597 1553 conicto -2563 1709 2429 1792 conicto -2194 1920 1827 1920 conicto -1405 1920 1150 1706 conicto -896 1492 896 1164 conicto -896 862 1140 687 conicto -1385 512 1952 512 conicto -2324 512 2559 582 conicto -2699 625 2824 728 conicto -2950 832 3045 832 conicto -3160 832 3244 746 conicto -3328 660 3328 544 conicto -3328 356 3061 188 conicto -2665 -64 1903 -64 conicto -1217 -64 836 198 conicto -320 549 320 1160 conicto -320 1738 741 2117 conicto -1162 2496 1840 2496 conicto -2085 2496 2296 2448 conicto -2507 2400 2685 2304 conicto -end_ol grestore -gsave 28.671307 17.903555 translate 0.035278 -0.035278 scale -start_ol -1088 3520 moveto -1088 2240 lineto -1273 2370 1462 2433 conicto -1651 2496 1844 2496 conicto -2150 2496 2389 2401 conicto -2629 2306 2786 2102 conicto -2944 1898 2944 1588 conicto -2944 576 lineto -3151 576 3210 523 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2161 0 2072 79 conicto -1984 159 1984 288 conicto -1984 417 2101 522 conicto -2161 576 2368 576 conicto -2368 1526 lineto -2368 1728 2262 1810 conicto -2124 1920 1855 1920 conicto -1656 1920 1502 1848 conicto -1349 1776 1088 1536 conicto -1088 576 lineto -1295 576 1351 523 conicto -1472 417 1472 288 conicto -1472 159 1383 79 conicto -1295 0 1088 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 247 522 conicto -305 576 512 576 conicto -512 2944 lineto -384 2944 lineto -177 2944 88 3023 conicto -0 3103 0 3232 conicto -0 3361 88 3440 conicto -177 3520 384 3520 conicto -1088 3520 lineto -end_ol grestore -gsave 26.393773 18.903555 translate 0.035278 -0.035278 scale -start_ol -1152 1408 moveto -1152 576 lineto -2624 576 lineto -2624 896 lineto -2624 1103 2703 1191 conicto -2783 1280 2912 1280 conicto -3041 1280 3120 1191 conicto -3200 1103 3200 896 conicto -3200 0 lineto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 216 496 conicto -305 576 512 576 conicto -576 576 lineto -576 2688 lineto -512 2688 lineto -305 2688 216 2767 conicto -128 2847 128 2976 conicto -128 3105 216 3184 conicto -305 3264 512 3264 conicto -3072 3261 lineto -3072 2368 lineto -3072 2161 2992 2072 conicto -2913 1984 2784 1984 conicto -2655 1984 2575 2072 conicto -2496 2161 2496 2368 conicto -2496 2688 lineto -1152 2688 lineto -1152 1984 lineto -1664 1984 lineto -1664 2191 1716 2247 conicto -1823 2368 1952 2368 conicto -2081 2368 2160 2279 conicto -2240 2191 2240 1984 conicto -2240 1408 lineto -2240 1201 2187 1143 conicto -2081 1024 1952 1024 conicto -1823 1024 1716 1145 conicto -1664 1201 1664 1408 conicto -1152 1408 lineto -end_ol grestore -gsave 26.850973 18.903555 translate 0.035278 -0.035278 scale -start_ol -1088 2432 moveto -1088 2240 lineto -1249 2368 1444 2432 conicto -1640 2496 1868 2496 conicto -2395 2496 2701 2199 conicto -2944 1962 2944 1578 conicto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2161 0 2072 79 conicto -1984 159 1984 288 conicto -1984 417 2072 496 conicto -2161 576 2368 576 conicto -2368 1567 lineto -2368 1738 2263 1818 conicto -2124 1920 1849 1920 conicto -1641 1920 1484 1846 conicto -1328 1773 1088 1536 conicto -1088 576 lineto -1295 576 1352 522 conicto -1472 417 1472 288 conicto -1472 159 1383 79 conicto -1295 0 1088 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 246 523 conicto -305 576 512 576 conicto -512 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 512 2432 conicto -1088 2432 lineto -end_ol grestore -gsave 27.308173 18.903555 translate 0.035278 -0.035278 scale -start_ol -2368 2240 moveto -2368 2432 lineto -3072 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3072 1856 conicto -2944 1856 lineto -2944 -86 lineto -2944 -367 2814 -576 conicto -2685 -786 2418 -937 conicto -2151 -1088 1817 -1088 conicto -1157 -1088 lineto -947 -1088 857 -1007 conicto -768 -927 768 -801 conicto -768 -673 858 -592 conicto -948 -512 1159 -512 conicto -1805 -512 lineto -2073 -512 2220 -385 conicto -2368 -259 2368 -66 conicto -2368 182 lineto -2176 59 1978 -2 conicto -1780 -64 1572 -64 conicto -985 -64 588 304 conicto -192 673 192 1215 conicto -192 1759 588 2127 conicto -985 2496 1572 2496 conicto -1791 2496 1989 2433 conicto -2188 2370 2368 2240 conicto -2368 1216 moveto -2368 1501 2132 1710 conicto -1897 1920 1568 1920 conicto -1239 1920 1003 1710 conicto -768 1501 768 1216 conicto -768 928 1003 720 conicto -1239 512 1568 512 conicto -1897 512 2132 720 conicto -2368 928 2368 1216 conicto -end_ol grestore -gsave 27.765373 18.903555 translate 0.035278 -0.035278 scale -start_ol -1920 3520 moveto -1920 2944 lineto -1344 2944 lineto -1344 3520 lineto -1920 3520 lineto -1984 2432 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 1856 lineto -960 1856 lineto -753 1856 664 1935 conicto -576 2015 576 2144 conicto -576 2273 664 2352 conicto -753 2432 960 2432 conicto -1984 2432 lineto -end_ol grestore -gsave 28.222573 18.903555 translate 0.035278 -0.035278 scale -start_ol -1088 2432 moveto -1088 2240 lineto -1249 2368 1444 2432 conicto -1640 2496 1868 2496 conicto -2395 2496 2701 2199 conicto -2944 1962 2944 1578 conicto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2161 0 2072 79 conicto -1984 159 1984 288 conicto -1984 417 2072 496 conicto -2161 576 2368 576 conicto -2368 1567 lineto -2368 1738 2263 1818 conicto -2124 1920 1849 1920 conicto -1641 1920 1484 1846 conicto -1328 1773 1088 1536 conicto -1088 576 lineto -1295 576 1352 522 conicto -1472 417 1472 288 conicto -1472 159 1383 79 conicto -1295 0 1088 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 246 523 conicto -305 576 512 576 conicto -512 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 512 2432 conicto -1088 2432 lineto -end_ol grestore -gsave 28.679773 18.903555 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 25.000000 20.800002 m 25.000000 23.607108 l 31.816880 23.607108 l 31.816880 20.800002 l f -0.000000 0.000000 0.000000 srgb -n 25.000000 20.800002 m 25.000000 23.607108 l 31.816880 23.607108 l 31.816880 20.800002 l cp s -0 slc -0 slj -[] 0 sd -n 25.681688 20.800002 m 25.681688 23.607108 l s -0 slc -0 slj -[] 0 sd -n 31.135192 20.800002 m 31.135192 23.607108 l s -gsave 27.273907 21.903555 translate 0.035278 -0.035278 scale -start_ol -3200 1024 moveto -3200 285 lineto -2808 83 2533 9 conicto -2258 -64 1939 -64 conicto -1495 -64 1117 61 conicto -821 157 650 303 conicto -480 450 336 736 conicto -192 1023 192 1377 conicto -192 1771 lineto -192 2318 535 2747 conicto -997 3328 1792 3328 conicto -2022 3328 2229 3263 conicto -2437 3199 2624 3072 conicto -2754 3264 2879 3264 conicto -3021 3264 3110 3175 conicto -3200 3087 3200 2878 conicto -3200 2500 lineto -3200 2291 3100 2201 conicto -3000 2112 2841 2112 conicto -2715 2112 2624 2173 conicto -2570 2214 2534 2356 conicto -2499 2499 2454 2548 conicto -2382 2628 2199 2690 conicto -2016 2752 1790 2752 conicto -1466 2752 1226 2623 conicto -1056 2527 912 2288 conicto -768 2049 768 1768 conicto -768 1384 lineto -768 956 1038 734 conicto -1309 512 1898 512 conicto -2296 512 2624 629 conicto -2624 1024 lineto -2048 1024 lineto -1841 1024 1752 1103 conicto -1664 1183 1664 1312 conicto -1664 1441 1752 1520 conicto -1841 1600 2048 1600 conicto -3200 1600 lineto -3279 1600 3367 1520 conicto -3456 1441 3456 1312 conicto -3456 1183 3367 1103 conicto -3279 1024 3200 1024 conicto -end_ol grestore -gsave 27.731107 21.903555 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -gsave 28.188307 21.903555 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 28.645507 21.903555 translate 0.035278 -0.035278 scale -start_ol -1024 320 moveto -1024 -512 lineto -1344 -512 lineto -1551 -512 1639 -591 conicto -1728 -671 1728 -800 conicto -1728 -929 1639 -1008 conicto -1551 -1088 1344 -1088 conicto -320 -1088 lineto -113 -1088 24 -1008 conicto --64 -929 -64 -800 conicto --64 -671 24 -591 conicto -113 -512 320 -512 conicto -448 -512 lineto -448 1856 lineto -320 1856 lineto -113 1856 24 1935 conicto --64 2015 -64 2144 conicto --64 2273 24 2352 conicto -113 2432 320 2432 conicto -1024 2432 lineto -1024 2176 lineto -1216 2338 1435 2417 conicto -1655 2496 1886 2496 conicto -2485 2496 2906 2106 conicto -3328 1717 3328 1215 conicto -3328 661 2827 300 conicto -2408 0 1884 0 conicto -1657 0 1436 79 conicto -1216 159 1024 320 conicto -2752 1213 moveto -2752 1328 2655 1505 conicto -2558 1683 2358 1801 conicto -2158 1920 1888 1920 conicto -1452 1920 1197 1614 conicto -1024 1403 1024 1208 conicto -1024 990 1272 783 conicto -1521 576 1888 576 conicto -2257 576 2504 781 conicto -2752 987 2752 1213 conicto -end_ol grestore -gsave 29.102707 21.903555 translate 0.035278 -0.035278 scale -start_ol -1088 3520 moveto -1088 2240 lineto -1273 2370 1462 2433 conicto -1651 2496 1844 2496 conicto -2150 2496 2389 2401 conicto -2629 2306 2786 2102 conicto -2944 1898 2944 1588 conicto -2944 576 lineto -3151 576 3210 523 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2161 0 2072 79 conicto -1984 159 1984 288 conicto -1984 417 2101 522 conicto -2161 576 2368 576 conicto -2368 1526 lineto -2368 1728 2262 1810 conicto -2124 1920 1855 1920 conicto -1656 1920 1502 1848 conicto -1349 1776 1088 1536 conicto -1088 576 lineto -1295 576 1351 523 conicto -1472 417 1472 288 conicto -1472 159 1383 79 conicto -1295 0 1088 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 247 522 conicto -305 576 512 576 conicto -512 2944 lineto -384 2944 lineto -177 2944 88 3023 conicto -0 3103 0 3232 conicto -0 3361 88 3440 conicto -177 3520 384 3520 conicto -1088 3520 lineto -end_ol grestore -gsave 26.363740 22.903555 translate 0.035278 -0.035278 scale -start_ol -3200 1024 moveto -3200 285 lineto -2808 83 2533 9 conicto -2258 -64 1939 -64 conicto -1495 -64 1117 61 conicto -821 157 650 303 conicto -480 450 336 736 conicto -192 1023 192 1377 conicto -192 1771 lineto -192 2318 535 2747 conicto -997 3328 1792 3328 conicto -2022 3328 2229 3263 conicto -2437 3199 2624 3072 conicto -2754 3264 2879 3264 conicto -3021 3264 3110 3175 conicto -3200 3087 3200 2878 conicto -3200 2500 lineto -3200 2291 3100 2201 conicto -3000 2112 2841 2112 conicto -2715 2112 2624 2173 conicto -2570 2214 2534 2356 conicto -2499 2499 2454 2548 conicto -2382 2628 2199 2690 conicto -2016 2752 1790 2752 conicto -1466 2752 1226 2623 conicto -1056 2527 912 2288 conicto -768 2049 768 1768 conicto -768 1384 lineto -768 956 1038 734 conicto -1309 512 1898 512 conicto -2296 512 2624 629 conicto -2624 1024 lineto -2048 1024 lineto -1841 1024 1752 1103 conicto -1664 1183 1664 1312 conicto -1664 1441 1752 1520 conicto -1841 1600 2048 1600 conicto -3200 1600 lineto -3279 1600 3367 1520 conicto -3456 1441 3456 1312 conicto -3456 1183 3367 1103 conicto -3279 1024 3200 1024 conicto -end_ol grestore -gsave 26.820940 22.903555 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 27.278140 22.903555 translate 0.035278 -0.035278 scale -start_ol -1088 2432 moveto -1088 2240 lineto -1249 2368 1444 2432 conicto -1640 2496 1868 2496 conicto -2395 2496 2701 2199 conicto -2944 1962 2944 1578 conicto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2161 0 2072 79 conicto -1984 159 1984 288 conicto -1984 417 2072 496 conicto -2161 576 2368 576 conicto -2368 1567 lineto -2368 1738 2263 1818 conicto -2124 1920 1849 1920 conicto -1641 1920 1484 1846 conicto -1328 1773 1088 1536 conicto -1088 576 lineto -1295 576 1352 522 conicto -1472 417 1472 288 conicto -1472 159 1383 79 conicto -1295 0 1088 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 246 523 conicto -305 576 512 576 conicto -512 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 512 2432 conicto -1088 2432 lineto -end_ol grestore -gsave 27.735340 22.903555 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 28.192540 22.903555 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -gsave 28.649740 22.903555 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 29.106940 22.903555 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 29.564140 22.903555 translate 0.035278 -0.035278 scale -start_ol -3200 1179 moveto -3200 867 3018 575 conicto -2837 283 2477 109 conicto -2118 -64 1727 -64 conicto -1338 -64 983 106 conicto -628 277 442 570 conicto -256 864 256 1185 conicto -256 1510 444 1823 conicto -633 2136 987 2316 conicto -1341 2496 1727 2496 conicto -2115 2496 2474 2312 conicto -2834 2128 3017 1817 conicto -3200 1507 3200 1179 conicto -2624 1178 moveto -2624 1428 2429 1637 conicto -2162 1920 1728 1920 conicto -1345 1920 1088 1695 conicto -832 1471 832 1175 conicto -832 933 1091 722 conicto -1350 512 1728 512 conicto -2107 512 2365 722 conicto -2624 933 2624 1178 conicto -end_ol grestore -gsave 30.021340 22.903555 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 27.937648 16.415491 5.937763 5.937763 127.751567 240.347403 ellipse s -0 slj -n 24.106589 21.459160 m 25.000000 21.501779 l 24.498048 20.761478 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 30.496880 18.203555 m 36.265069 20.683968 l s -0 slj -n 36.107053 21.051433 m 37.000000 21.000000 l 36.423085 20.316502 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 31.816880 22.203555 m 36.200616 22.031394 l s -0 slj -n 36.216313 22.431086 m 37.000000 22.000000 l 36.184919 21.631702 l f -gsave 19.955300 10.000000 translate 0.035278 -0.035278 scale -start_ol -2106 1669 moveto -3072 576 lineto -3279 576 3367 496 conicto -3456 417 3456 288 conicto -3456 159 3367 79 conicto -3279 0 3072 0 conicto -2317 0 lineto -2097 0 2008 79 conicto -1920 159 1920 288 conicto -1920 417 2008 496 conicto -2097 576 2313 576 conicto -1728 1238 lineto -1143 576 lineto -1359 576 1447 496 conicto -1536 417 1536 288 conicto -1536 159 1447 79 conicto -1359 0 1139 0 conicto -384 0 lineto -177 0 88 79 conicto -0 159 0 288 conicto -0 417 88 496 conicto -177 576 384 576 conicto -1350 1669 lineto -448 2688 lineto -241 2688 152 2767 conicto -64 2847 64 2976 conicto -64 3105 152 3184 conicto -241 3264 448 3264 conicto -1206 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1492 2749 conicto -1423 2688 1210 2688 conicto -1728 2101 lineto -2246 2688 lineto -2033 2688 1963 2749 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2250 3264 conicto -3008 3264 lineto -3215 3264 3303 3184 conicto -3392 3105 3392 2976 conicto -3392 2847 3303 2767 conicto -3215 2688 3008 2688 conicto -2106 1669 lineto -end_ol grestore -gsave 20.412500 10.000000 translate 0.035278 -0.035278 scale -start_ol -832 2196 moveto -832 576 lineto -1024 576 lineto -1231 576 1319 496 conicto -1408 417 1408 288 conicto -1408 159 1319 79 conicto -1231 0 1024 0 conicto -256 0 lineto -49 0 -39 79 conicto --128 159 -128 288 conicto --128 417 -39 496 conicto -49 576 256 576 conicto -256 2688 lineto -49 2688 -39 2767 conicto --128 2847 -128 2976 conicto --128 3105 -39 3184 conicto -49 3264 256 3264 conicto -870 3264 lineto -1760 1600 lineto -2646 3264 lineto -3264 3264 lineto -3471 3264 3559 3184 conicto -3648 3105 3648 2976 conicto -3648 2847 3559 2767 conicto -3471 2688 3264 2688 conicto -3264 576 lineto -3471 576 3559 496 conicto -3648 417 3648 288 conicto -3648 159 3559 79 conicto -3471 0 3264 0 conicto -2496 0 lineto -2289 0 2200 79 conicto -2112 159 2112 288 conicto -2112 417 2200 496 conicto -2289 576 2496 576 conicto -2688 576 lineto -2688 2196 lineto -1931 775 lineto -1592 775 lineto -832 2196 lineto -end_ol grestore -gsave 20.869700 10.000000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave 21.326900 10.000000 translate 0.035278 -0.035278 scale -start_ol -1600 768 moveto -2304 768 lineto -1536 -821 lineto -1458 -960 1341 -960 conicto -1263 -960 1207 -911 conicto -1152 -863 1152 -804 conicto -1152 -760 1173 -686 conicto -1600 768 lineto -end_ol grestore -gsave 21.784100 10.000000 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave 22.241300 10.000000 translate 0.035278 -0.035278 scale -start_ol -2106 1669 moveto -3072 576 lineto -3279 576 3367 496 conicto -3456 417 3456 288 conicto -3456 159 3367 79 conicto -3279 0 3072 0 conicto -2317 0 lineto -2097 0 2008 79 conicto -1920 159 1920 288 conicto -1920 417 2008 496 conicto -2097 576 2313 576 conicto -1728 1238 lineto -1143 576 lineto -1359 576 1447 496 conicto -1536 417 1536 288 conicto -1536 159 1447 79 conicto -1359 0 1139 0 conicto -384 0 lineto -177 0 88 79 conicto -0 159 0 288 conicto -0 417 88 496 conicto -177 576 384 576 conicto -1350 1669 lineto -448 2688 lineto -241 2688 152 2767 conicto -64 2847 64 2976 conicto -64 3105 152 3184 conicto -241 3264 448 3264 conicto -1206 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1492 2749 conicto -1423 2688 1210 2688 conicto -1728 2101 lineto -2246 2688 lineto -2033 2688 1963 2749 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2250 3264 conicto -3008 3264 lineto -3215 3264 3303 3184 conicto -3392 3105 3392 2976 conicto -3392 2847 3303 2767 conicto -3215 2688 3008 2688 conicto -2106 1669 lineto -end_ol grestore -gsave 22.698500 10.000000 translate 0.035278 -0.035278 scale -start_ol -960 192 moveto -877 69 826 34 conicto -776 0 703 0 conicto -559 0 471 88 conicto -384 176 384 381 conicto -384 767 lineto -384 975 464 1063 conicto -544 1152 675 1152 conicto -776 1152 844 1101 conicto -913 1050 949 930 conicto -985 810 1024 767 conicto -1106 684 1314 598 conicto -1522 512 1770 512 conicto -2155 512 2402 678 conicto -2560 780 2560 927 conicto -2560 1026 2485 1113 conicto -2410 1201 2240 1257 conicto -2129 1297 1744 1364 conicto -1278 1444 1035 1560 conicto -793 1677 652 1890 conicto -512 2103 512 2350 conicto -512 2740 843 3034 conicto -1175 3328 1706 3328 conicto -1920 3328 2101 3265 conicto -2283 3203 2432 3072 conicto -2559 3264 2685 3264 conicto -2828 3264 2918 3174 conicto -3008 3085 3008 2876 conicto -3008 2438 lineto -3008 2227 2928 2137 conicto -2849 2048 2723 2048 conicto -2616 2048 2538 2112 conicto -2477 2159 2446 2300 conicto -2416 2441 2368 2503 conicto -2287 2608 2126 2680 conicto -1965 2752 1754 2752 conicto -1446 2752 1267 2618 conicto -1088 2485 1088 2339 conicto -1088 2240 1161 2148 conicto -1235 2057 1377 2004 conicto -1471 1968 1908 1888 conicto -2346 1808 2583 1709 conicto -2821 1611 2978 1401 conicto -3136 1191 3136 901 conicto -3136 497 2842 255 conicto -2450 -64 1846 -64 conicto -1612 -64 1390 0 conicto -1169 64 960 192 conicto -end_ol grestore -gsave 23.155700 10.000000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave 23.612900 10.000000 translate 0.035278 -0.035278 scale -start_ol -2048 2688 moveto -2048 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -1088 0 lineto -881 0 792 79 conicto -704 159 704 288 conicto -704 417 792 496 conicto -881 576 1088 576 conicto -1472 576 lineto -1472 2688 lineto -832 2688 lineto -832 2112 lineto -832 1905 752 1816 conicto -673 1728 544 1728 conicto -415 1728 335 1816 conicto -256 1905 256 2112 conicto -256 3264 lineto -3264 3264 lineto -3264 2112 lineto -3264 1905 3184 1816 conicto -3105 1728 2976 1728 conicto -2847 1728 2767 1816 conicto -2688 1905 2688 2112 conicto -2688 2688 lineto -2048 2688 lineto -end_ol grestore -gsave 21.326900 12.000000 translate 0.035278 -0.035278 scale -start_ol -2106 1669 moveto -3072 576 lineto -3279 576 3367 496 conicto -3456 417 3456 288 conicto -3456 159 3367 79 conicto -3279 0 3072 0 conicto -2317 0 lineto -2097 0 2008 79 conicto -1920 159 1920 288 conicto -1920 417 2008 496 conicto -2097 576 2313 576 conicto -1728 1238 lineto -1143 576 lineto -1359 576 1447 496 conicto -1536 417 1536 288 conicto -1536 159 1447 79 conicto -1359 0 1139 0 conicto -384 0 lineto -177 0 88 79 conicto -0 159 0 288 conicto -0 417 88 496 conicto -177 576 384 576 conicto -1350 1669 lineto -448 2688 lineto -241 2688 152 2767 conicto -64 2847 64 2976 conicto -64 3105 152 3184 conicto -241 3264 448 3264 conicto -1206 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1492 2749 conicto -1423 2688 1210 2688 conicto -1728 2101 lineto -2246 2688 lineto -2033 2688 1963 2749 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2250 3264 conicto -3008 3264 lineto -3215 3264 3303 3184 conicto -3392 3105 3392 2976 conicto -3392 2847 3303 2767 conicto -3215 2688 3008 2688 conicto -2106 1669 lineto -end_ol grestore -gsave 21.784100 12.000000 translate 0.035278 -0.035278 scale -start_ol -832 2196 moveto -832 576 lineto -1024 576 lineto -1231 576 1319 496 conicto -1408 417 1408 288 conicto -1408 159 1319 79 conicto -1231 0 1024 0 conicto -256 0 lineto -49 0 -39 79 conicto --128 159 -128 288 conicto --128 417 -39 496 conicto -49 576 256 576 conicto -256 2688 lineto -49 2688 -39 2767 conicto --128 2847 -128 2976 conicto --128 3105 -39 3184 conicto -49 3264 256 3264 conicto -870 3264 lineto -1760 1600 lineto -2646 3264 lineto -3264 3264 lineto -3471 3264 3559 3184 conicto -3648 3105 3648 2976 conicto -3648 2847 3559 2767 conicto -3471 2688 3264 2688 conicto -3264 576 lineto -3471 576 3559 496 conicto -3648 417 3648 288 conicto -3648 159 3559 79 conicto -3471 0 3264 0 conicto -2496 0 lineto -2289 0 2200 79 conicto -2112 159 2112 288 conicto -2112 417 2200 496 conicto -2289 576 2496 576 conicto -2688 576 lineto -2688 2196 lineto -1931 775 lineto -1592 775 lineto -832 2196 lineto -end_ol grestore -gsave 22.241300 12.000000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave 35.704600 11.000000 translate 0.035278 -0.035278 scale -start_ol -2106 1669 moveto -3072 576 lineto -3279 576 3367 496 conicto -3456 417 3456 288 conicto -3456 159 3367 79 conicto -3279 0 3072 0 conicto -2317 0 lineto -2097 0 2008 79 conicto -1920 159 1920 288 conicto -1920 417 2008 496 conicto -2097 576 2313 576 conicto -1728 1238 lineto -1143 576 lineto -1359 576 1447 496 conicto -1536 417 1536 288 conicto -1536 159 1447 79 conicto -1359 0 1139 0 conicto -384 0 lineto -177 0 88 79 conicto -0 159 0 288 conicto -0 417 88 496 conicto -177 576 384 576 conicto -1350 1669 lineto -448 2688 lineto -241 2688 152 2767 conicto -64 2847 64 2976 conicto -64 3105 152 3184 conicto -241 3264 448 3264 conicto -1206 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1492 2749 conicto -1423 2688 1210 2688 conicto -1728 2101 lineto -2246 2688 lineto -2033 2688 1963 2749 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2250 3264 conicto -3008 3264 lineto -3215 3264 3303 3184 conicto -3392 3105 3392 2976 conicto -3392 2847 3303 2767 conicto -3215 2688 3008 2688 conicto -2106 1669 lineto -end_ol grestore -gsave 36.161800 11.000000 translate 0.035278 -0.035278 scale -start_ol -2304 1408 moveto -1152 1408 lineto -1152 576 lineto -1216 576 lineto -1423 576 1511 496 conicto -1600 417 1600 288 conicto -1600 159 1511 79 conicto -1423 0 1216 0 conicto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 310 522 conicto -369 576 576 576 conicto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1216 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1511 2767 conicto -1423 2688 1216 2688 conicto -1152 2688 lineto -1152 1984 lineto -2304 1984 lineto -2304 2688 lineto -2240 2688 lineto -2033 2688 1944 2767 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2240 3264 conicto -2880 3264 lineto -3087 3264 3175 3184 conicto -3264 3105 3264 2976 conicto -3264 2847 3175 2767 conicto -3087 2688 2880 2688 conicto -2880 576 lineto -3087 576 3144 523 conicto -3264 417 3264 288 conicto -3264 159 3175 79 conicto -3087 0 2880 0 conicto -2240 0 lineto -2033 0 1944 79 conicto -1856 159 1856 288 conicto -1856 417 1944 496 conicto -2033 576 2240 576 conicto -2304 576 lineto -2304 1408 lineto -end_ol grestore -gsave 36.619000 11.000000 translate 0.035278 -0.035278 scale -start_ol -2048 2688 moveto -2048 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -1088 0 lineto -881 0 792 79 conicto -704 159 704 288 conicto -704 417 792 496 conicto -881 576 1088 576 conicto -1472 576 lineto -1472 2688 lineto -832 2688 lineto -832 2112 lineto -832 1905 752 1816 conicto -673 1728 544 1728 conicto -415 1728 335 1816 conicto -256 1905 256 2112 conicto -256 3264 lineto -3264 3264 lineto -3264 2112 lineto -3264 1905 3184 1816 conicto -3105 1728 2976 1728 conicto -2847 1728 2767 1816 conicto -2688 1905 2688 2112 conicto -2688 2688 lineto -2048 2688 lineto -end_ol grestore -gsave 37.076200 11.000000 translate 0.035278 -0.035278 scale -start_ol -832 2196 moveto -832 576 lineto -1024 576 lineto -1231 576 1319 496 conicto -1408 417 1408 288 conicto -1408 159 1319 79 conicto -1231 0 1024 0 conicto -256 0 lineto -49 0 -39 79 conicto --128 159 -128 288 conicto --128 417 -39 496 conicto -49 576 256 576 conicto -256 2688 lineto -49 2688 -39 2767 conicto --128 2847 -128 2976 conicto --128 3105 -39 3184 conicto -49 3264 256 3264 conicto -870 3264 lineto -1760 1600 lineto -2646 3264 lineto -3264 3264 lineto -3471 3264 3559 3184 conicto -3648 3105 3648 2976 conicto -3648 2847 3559 2767 conicto -3471 2688 3264 2688 conicto -3264 576 lineto -3471 576 3559 496 conicto -3648 417 3648 288 conicto -3648 159 3559 79 conicto -3471 0 3264 0 conicto -2496 0 lineto -2289 0 2200 79 conicto -2112 159 2112 288 conicto -2112 417 2200 496 conicto -2289 576 2496 576 conicto -2688 576 lineto -2688 2196 lineto -1931 775 lineto -1592 775 lineto -832 2196 lineto -end_ol grestore -gsave 37.533400 11.000000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave 37.990600 11.000000 translate 0.035278 -0.035278 scale -start_ol -1600 768 moveto -2304 768 lineto -1536 -821 lineto -1458 -960 1341 -960 conicto -1263 -960 1207 -911 conicto -1152 -863 1152 -804 conicto -1152 -760 1173 -686 conicto -1600 768 lineto -end_ol grestore -gsave 35.632633 12.000000 translate 0.035278 -0.035278 scale -start_ol -832 2196 moveto -832 576 lineto -1024 576 lineto -1231 576 1319 496 conicto -1408 417 1408 288 conicto -1408 159 1319 79 conicto -1231 0 1024 0 conicto -256 0 lineto -49 0 -39 79 conicto --128 159 -128 288 conicto --128 417 -39 496 conicto -49 576 256 576 conicto -256 2688 lineto -49 2688 -39 2767 conicto --128 2847 -128 2976 conicto --128 3105 -39 3184 conicto -49 3264 256 3264 conicto -870 3264 lineto -1760 1600 lineto -2646 3264 lineto -3264 3264 lineto -3471 3264 3559 3184 conicto -3648 3105 3648 2976 conicto -3648 2847 3559 2767 conicto -3471 2688 3264 2688 conicto -3264 576 lineto -3471 576 3559 496 conicto -3648 417 3648 288 conicto -3648 159 3559 79 conicto -3471 0 3264 0 conicto -2496 0 lineto -2289 0 2200 79 conicto -2112 159 2112 288 conicto -2112 417 2200 496 conicto -2289 576 2496 576 conicto -2688 576 lineto -2688 2196 lineto -1931 775 lineto -1592 775 lineto -832 2196 lineto -end_ol grestore -gsave 36.089833 12.000000 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 36.547033 12.000000 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 37.004233 12.000000 translate 0.035278 -0.035278 scale -start_ol -1088 3520 moveto -1088 2240 lineto -1273 2370 1462 2433 conicto -1651 2496 1844 2496 conicto -2150 2496 2389 2401 conicto -2629 2306 2786 2102 conicto -2944 1898 2944 1588 conicto -2944 576 lineto -3151 576 3210 523 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2161 0 2072 79 conicto -1984 159 1984 288 conicto -1984 417 2101 522 conicto -2161 576 2368 576 conicto -2368 1526 lineto -2368 1728 2262 1810 conicto -2124 1920 1855 1920 conicto -1656 1920 1502 1848 conicto -1349 1776 1088 1536 conicto -1088 576 lineto -1295 576 1351 523 conicto -1472 417 1472 288 conicto -1472 159 1383 79 conicto -1295 0 1088 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 247 522 conicto -305 576 512 576 conicto -512 2944 lineto -384 2944 lineto -177 2944 88 3023 conicto -0 3103 0 3232 conicto -0 3361 88 3440 conicto -177 3520 384 3520 conicto -1088 3520 lineto -end_ol grestore -gsave 37.461433 12.000000 translate 0.035278 -0.035278 scale -start_ol -832 2196 moveto -832 576 lineto -1024 576 lineto -1231 576 1319 496 conicto -1408 417 1408 288 conicto -1408 159 1319 79 conicto -1231 0 1024 0 conicto -256 0 lineto -49 0 -39 79 conicto --128 159 -128 288 conicto --128 417 -39 496 conicto -49 576 256 576 conicto -256 2688 lineto -49 2688 -39 2767 conicto --128 2847 -128 2976 conicto --128 3105 -39 3184 conicto -49 3264 256 3264 conicto -870 3264 lineto -1760 1600 lineto -2646 3264 lineto -3264 3264 lineto -3471 3264 3559 3184 conicto -3648 3105 3648 2976 conicto -3648 2847 3559 2767 conicto -3471 2688 3264 2688 conicto -3264 576 lineto -3471 576 3559 496 conicto -3648 417 3648 288 conicto -3648 159 3559 79 conicto -3471 0 3264 0 conicto -2496 0 lineto -2289 0 2200 79 conicto -2112 159 2112 288 conicto -2112 417 2200 496 conicto -2289 576 2496 576 conicto -2688 576 lineto -2688 2196 lineto -1931 775 lineto -1592 775 lineto -832 2196 lineto -end_ol grestore -gsave 37.918633 12.000000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 29.287190 20.102733 9.751578 9.751578 269.351853 354.688387 ellipse s -0 slj -n 38.596898 19.201558 m 39.000000 20.000000 l 39.396892 19.198454 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 29.244036 22.591942 9.176094 9.176094 277.847305 338.508974 ellipse s -0 slj -n 37.397276 19.339149 m 38.000000 20.000000 l 38.167046 19.121310 l f -gsave 32.869700 14.000000 translate 0.035278 -0.035278 scale -start_ol -2106 1669 moveto -3072 576 lineto -3279 576 3367 496 conicto -3456 417 3456 288 conicto -3456 159 3367 79 conicto -3279 0 3072 0 conicto -2317 0 lineto -2097 0 2008 79 conicto -1920 159 1920 288 conicto -1920 417 2008 496 conicto -2097 576 2313 576 conicto -1728 1238 lineto -1143 576 lineto -1359 576 1447 496 conicto -1536 417 1536 288 conicto -1536 159 1447 79 conicto -1359 0 1139 0 conicto -384 0 lineto -177 0 88 79 conicto -0 159 0 288 conicto -0 417 88 496 conicto -177 576 384 576 conicto -1350 1669 lineto -448 2688 lineto -241 2688 152 2767 conicto -64 2847 64 2976 conicto -64 3105 152 3184 conicto -241 3264 448 3264 conicto -1206 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1492 2749 conicto -1423 2688 1210 2688 conicto -1728 2101 lineto -2246 2688 lineto -2033 2688 1963 2749 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2250 3264 conicto -3008 3264 lineto -3215 3264 3303 3184 conicto -3392 3105 3392 2976 conicto -3392 2847 3303 2767 conicto -3215 2688 3008 2688 conicto -2106 1669 lineto -end_ol grestore -gsave 33.326900 14.000000 translate 0.035278 -0.035278 scale -start_ol -2304 1408 moveto -1152 1408 lineto -1152 576 lineto -1216 576 lineto -1423 576 1511 496 conicto -1600 417 1600 288 conicto -1600 159 1511 79 conicto -1423 0 1216 0 conicto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 310 522 conicto -369 576 576 576 conicto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1216 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1511 2767 conicto -1423 2688 1216 2688 conicto -1152 2688 lineto -1152 1984 lineto -2304 1984 lineto -2304 2688 lineto -2240 2688 lineto -2033 2688 1944 2767 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2240 3264 conicto -2880 3264 lineto -3087 3264 3175 3184 conicto -3264 3105 3264 2976 conicto -3264 2847 3175 2767 conicto -3087 2688 2880 2688 conicto -2880 576 lineto -3087 576 3144 523 conicto -3264 417 3264 288 conicto -3264 159 3175 79 conicto -3087 0 2880 0 conicto -2240 0 lineto -2033 0 1944 79 conicto -1856 159 1856 288 conicto -1856 417 1944 496 conicto -2033 576 2240 576 conicto -2304 576 lineto -2304 1408 lineto -end_ol grestore -gsave 33.784100 14.000000 translate 0.035278 -0.035278 scale -start_ol -2048 2688 moveto -2048 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -1088 0 lineto -881 0 792 79 conicto -704 159 704 288 conicto -704 417 792 496 conicto -881 576 1088 576 conicto -1472 576 lineto -1472 2688 lineto -832 2688 lineto -832 2112 lineto -832 1905 752 1816 conicto -673 1728 544 1728 conicto -415 1728 335 1816 conicto -256 1905 256 2112 conicto -256 3264 lineto -3264 3264 lineto -3264 2112 lineto -3264 1905 3184 1816 conicto -3105 1728 2976 1728 conicto -2847 1728 2767 1816 conicto -2688 1905 2688 2112 conicto -2688 2688 lineto -2048 2688 lineto -end_ol grestore -gsave 34.241300 14.000000 translate 0.035278 -0.035278 scale -start_ol -832 2196 moveto -832 576 lineto -1024 576 lineto -1231 576 1319 496 conicto -1408 417 1408 288 conicto -1408 159 1319 79 conicto -1231 0 1024 0 conicto -256 0 lineto -49 0 -39 79 conicto --128 159 -128 288 conicto --128 417 -39 496 conicto -49 576 256 576 conicto -256 2688 lineto -49 2688 -39 2767 conicto --128 2847 -128 2976 conicto --128 3105 -39 3184 conicto -49 3264 256 3264 conicto -870 3264 lineto -1760 1600 lineto -2646 3264 lineto -3264 3264 lineto -3471 3264 3559 3184 conicto -3648 3105 3648 2976 conicto -3648 2847 3559 2767 conicto -3471 2688 3264 2688 conicto -3264 576 lineto -3471 576 3559 496 conicto -3648 417 3648 288 conicto -3648 159 3559 79 conicto -3471 0 3264 0 conicto -2496 0 lineto -2289 0 2200 79 conicto -2112 159 2112 288 conicto -2112 417 2200 496 conicto -2289 576 2496 576 conicto -2688 576 lineto -2688 2196 lineto -1931 775 lineto -1592 775 lineto -832 2196 lineto -end_ol grestore -gsave 34.698500 14.000000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave 32.869700 19.000000 translate 0.035278 -0.035278 scale -start_ol -2106 1669 moveto -3072 576 lineto -3279 576 3367 496 conicto -3456 417 3456 288 conicto -3456 159 3367 79 conicto -3279 0 3072 0 conicto -2317 0 lineto -2097 0 2008 79 conicto -1920 159 1920 288 conicto -1920 417 2008 496 conicto -2097 576 2313 576 conicto -1728 1238 lineto -1143 576 lineto -1359 576 1447 496 conicto -1536 417 1536 288 conicto -1536 159 1447 79 conicto -1359 0 1139 0 conicto -384 0 lineto -177 0 88 79 conicto -0 159 0 288 conicto -0 417 88 496 conicto -177 576 384 576 conicto -1350 1669 lineto -448 2688 lineto -241 2688 152 2767 conicto -64 2847 64 2976 conicto -64 3105 152 3184 conicto -241 3264 448 3264 conicto -1206 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1492 2749 conicto -1423 2688 1210 2688 conicto -1728 2101 lineto -2246 2688 lineto -2033 2688 1963 2749 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2250 3264 conicto -3008 3264 lineto -3215 3264 3303 3184 conicto -3392 3105 3392 2976 conicto -3392 2847 3303 2767 conicto -3215 2688 3008 2688 conicto -2106 1669 lineto -end_ol grestore -gsave 33.326900 19.000000 translate 0.035278 -0.035278 scale -start_ol -2304 1408 moveto -1152 1408 lineto -1152 576 lineto -1216 576 lineto -1423 576 1511 496 conicto -1600 417 1600 288 conicto -1600 159 1511 79 conicto -1423 0 1216 0 conicto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 310 522 conicto -369 576 576 576 conicto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1216 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1511 2767 conicto -1423 2688 1216 2688 conicto -1152 2688 lineto -1152 1984 lineto -2304 1984 lineto -2304 2688 lineto -2240 2688 lineto -2033 2688 1944 2767 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2240 3264 conicto -2880 3264 lineto -3087 3264 3175 3184 conicto -3264 3105 3264 2976 conicto -3264 2847 3175 2767 conicto -3087 2688 2880 2688 conicto -2880 576 lineto -3087 576 3144 523 conicto -3264 417 3264 288 conicto -3264 159 3175 79 conicto -3087 0 2880 0 conicto -2240 0 lineto -2033 0 1944 79 conicto -1856 159 1856 288 conicto -1856 417 1944 496 conicto -2033 576 2240 576 conicto -2304 576 lineto -2304 1408 lineto -end_ol grestore -gsave 33.784100 19.000000 translate 0.035278 -0.035278 scale -start_ol -2048 2688 moveto -2048 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -1088 0 lineto -881 0 792 79 conicto -704 159 704 288 conicto -704 417 792 496 conicto -881 576 1088 576 conicto -1472 576 lineto -1472 2688 lineto -832 2688 lineto -832 2112 lineto -832 1905 752 1816 conicto -673 1728 544 1728 conicto -415 1728 335 1816 conicto -256 1905 256 2112 conicto -256 3264 lineto -3264 3264 lineto -3264 2112 lineto -3264 1905 3184 1816 conicto -3105 1728 2976 1728 conicto -2847 1728 2767 1816 conicto -2688 1905 2688 2112 conicto -2688 2688 lineto -2048 2688 lineto -end_ol grestore -gsave 34.241300 19.000000 translate 0.035278 -0.035278 scale -start_ol -832 2196 moveto -832 576 lineto -1024 576 lineto -1231 576 1319 496 conicto -1408 417 1408 288 conicto -1408 159 1319 79 conicto -1231 0 1024 0 conicto -256 0 lineto -49 0 -39 79 conicto --128 159 -128 288 conicto --128 417 -39 496 conicto -49 576 256 576 conicto -256 2688 lineto -49 2688 -39 2767 conicto --128 2847 -128 2976 conicto --128 3105 -39 3184 conicto -49 3264 256 3264 conicto -870 3264 lineto -1760 1600 lineto -2646 3264 lineto -3264 3264 lineto -3471 3264 3559 3184 conicto -3648 3105 3648 2976 conicto -3648 2847 3559 2767 conicto -3471 2688 3264 2688 conicto -3264 576 lineto -3471 576 3559 496 conicto -3648 417 3648 288 conicto -3648 159 3559 79 conicto -3471 0 3264 0 conicto -2496 0 lineto -2289 0 2200 79 conicto -2112 159 2112 288 conicto -2112 417 2200 496 conicto -2289 576 2496 576 conicto -2688 576 lineto -2688 2196 lineto -1931 775 lineto -1592 775 lineto -832 2196 lineto -end_ol grestore -gsave 34.698500 19.000000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave 32.704600 23.000000 translate 0.035278 -0.035278 scale -start_ol -2106 1669 moveto -3072 576 lineto -3279 576 3367 496 conicto -3456 417 3456 288 conicto -3456 159 3367 79 conicto -3279 0 3072 0 conicto -2317 0 lineto -2097 0 2008 79 conicto -1920 159 1920 288 conicto -1920 417 2008 496 conicto -2097 576 2313 576 conicto -1728 1238 lineto -1143 576 lineto -1359 576 1447 496 conicto -1536 417 1536 288 conicto -1536 159 1447 79 conicto -1359 0 1139 0 conicto -384 0 lineto -177 0 88 79 conicto -0 159 0 288 conicto -0 417 88 496 conicto -177 576 384 576 conicto -1350 1669 lineto -448 2688 lineto -241 2688 152 2767 conicto -64 2847 64 2976 conicto -64 3105 152 3184 conicto -241 3264 448 3264 conicto -1206 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1492 2749 conicto -1423 2688 1210 2688 conicto -1728 2101 lineto -2246 2688 lineto -2033 2688 1963 2749 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2250 3264 conicto -3008 3264 lineto -3215 3264 3303 3184 conicto -3392 3105 3392 2976 conicto -3392 2847 3303 2767 conicto -3215 2688 3008 2688 conicto -2106 1669 lineto -end_ol grestore -gsave 33.161800 23.000000 translate 0.035278 -0.035278 scale -start_ol -2304 1408 moveto -1152 1408 lineto -1152 576 lineto -1216 576 lineto -1423 576 1511 496 conicto -1600 417 1600 288 conicto -1600 159 1511 79 conicto -1423 0 1216 0 conicto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 310 522 conicto -369 576 576 576 conicto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1216 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1511 2767 conicto -1423 2688 1216 2688 conicto -1152 2688 lineto -1152 1984 lineto -2304 1984 lineto -2304 2688 lineto -2240 2688 lineto -2033 2688 1944 2767 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2240 3264 conicto -2880 3264 lineto -3087 3264 3175 3184 conicto -3264 3105 3264 2976 conicto -3264 2847 3175 2767 conicto -3087 2688 2880 2688 conicto -2880 576 lineto -3087 576 3144 523 conicto -3264 417 3264 288 conicto -3264 159 3175 79 conicto -3087 0 2880 0 conicto -2240 0 lineto -2033 0 1944 79 conicto -1856 159 1856 288 conicto -1856 417 1944 496 conicto -2033 576 2240 576 conicto -2304 576 lineto -2304 1408 lineto -end_ol grestore -gsave 33.619000 23.000000 translate 0.035278 -0.035278 scale -start_ol -2048 2688 moveto -2048 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -1088 0 lineto -881 0 792 79 conicto -704 159 704 288 conicto -704 417 792 496 conicto -881 576 1088 576 conicto -1472 576 lineto -1472 2688 lineto -832 2688 lineto -832 2112 lineto -832 1905 752 1816 conicto -673 1728 544 1728 conicto -415 1728 335 1816 conicto -256 1905 256 2112 conicto -256 3264 lineto -3264 3264 lineto -3264 2112 lineto -3264 1905 3184 1816 conicto -3105 1728 2976 1728 conicto -2847 1728 2767 1816 conicto -2688 1905 2688 2112 conicto -2688 2688 lineto -2048 2688 lineto -end_ol grestore -gsave 34.076200 23.000000 translate 0.035278 -0.035278 scale -start_ol -832 2196 moveto -832 576 lineto -1024 576 lineto -1231 576 1319 496 conicto -1408 417 1408 288 conicto -1408 159 1319 79 conicto -1231 0 1024 0 conicto -256 0 lineto -49 0 -39 79 conicto --128 159 -128 288 conicto --128 417 -39 496 conicto -49 576 256 576 conicto -256 2688 lineto -49 2688 -39 2767 conicto --128 2847 -128 2976 conicto --128 3105 -39 3184 conicto -49 3264 256 3264 conicto -870 3264 lineto -1760 1600 lineto -2646 3264 lineto -3264 3264 lineto -3471 3264 3559 3184 conicto -3648 3105 3648 2976 conicto -3648 2847 3559 2767 conicto -3471 2688 3264 2688 conicto -3264 576 lineto -3471 576 3559 496 conicto -3648 417 3648 288 conicto -3648 159 3559 79 conicto -3471 0 3264 0 conicto -2496 0 lineto -2289 0 2200 79 conicto -2112 159 2112 288 conicto -2112 417 2200 496 conicto -2289 576 2496 576 conicto -2688 576 lineto -2688 2196 lineto -1931 775 lineto -1592 775 lineto -832 2196 lineto -end_ol grestore -gsave 34.533400 23.000000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave 34.990600 23.000000 translate 0.035278 -0.035278 scale -start_ol -1600 768 moveto -2304 768 lineto -1536 -821 lineto -1458 -960 1341 -960 conicto -1263 -960 1207 -911 conicto -1152 -863 1152 -804 conicto -1152 -760 1173 -686 conicto -1600 768 lineto -end_ol grestore -gsave 33.318433 24.000000 translate 0.035278 -0.035278 scale -start_ol -3200 1024 moveto -3200 285 lineto -2808 83 2533 9 conicto -2258 -64 1939 -64 conicto -1495 -64 1117 61 conicto -821 157 650 303 conicto -480 450 336 736 conicto -192 1023 192 1377 conicto -192 1771 lineto -192 2318 535 2747 conicto -997 3328 1792 3328 conicto -2022 3328 2229 3263 conicto -2437 3199 2624 3072 conicto -2754 3264 2879 3264 conicto -3021 3264 3110 3175 conicto -3200 3087 3200 2878 conicto -3200 2500 lineto -3200 2291 3100 2201 conicto -3000 2112 2841 2112 conicto -2715 2112 2624 2173 conicto -2570 2214 2534 2356 conicto -2499 2499 2454 2548 conicto -2382 2628 2199 2690 conicto -2016 2752 1790 2752 conicto -1466 2752 1226 2623 conicto -1056 2527 912 2288 conicto -768 2049 768 1768 conicto -768 1384 lineto -768 956 1038 734 conicto -1309 512 1898 512 conicto -2296 512 2624 629 conicto -2624 1024 lineto -2048 1024 lineto -1841 1024 1752 1103 conicto -1664 1183 1664 1312 conicto -1664 1441 1752 1520 conicto -1841 1600 2048 1600 conicto -3200 1600 lineto -3279 1600 3367 1520 conicto -3456 1441 3456 1312 conicto -3456 1183 3367 1103 conicto -3279 1024 3200 1024 conicto -end_ol grestore -gsave 33.775633 24.000000 translate 0.035278 -0.035278 scale -start_ol -1984 2688 moveto -1984 576 lineto -2560 576 lineto -2767 576 2855 496 conicto -2944 417 2944 288 conicto -2944 159 2855 79 conicto -2767 0 2560 0 conicto -832 0 lineto -625 0 536 79 conicto -448 159 448 288 conicto -448 417 536 496 conicto -625 576 832 576 conicto -1408 576 lineto -1408 2688 lineto -832 2688 lineto -625 2688 536 2767 conicto -448 2847 448 2976 conicto -448 3105 536 3184 conicto -625 3264 832 3264 conicto -2560 3264 lineto -2767 3264 2855 3184 conicto -2944 3105 2944 2976 conicto -2944 2847 2855 2767 conicto -2767 2688 2560 2688 conicto -1984 2688 lineto -end_ol grestore -gsave 34.232833 24.000000 translate 0.035278 -0.035278 scale -start_ol -1344 1344 moveto -1344 576 lineto -1920 576 lineto -2127 576 2215 496 conicto -2304 417 2304 288 conicto -2304 159 2215 79 conicto -2127 0 1920 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -768 576 lineto -768 2688 lineto -704 2688 lineto -497 2688 408 2767 conicto -320 2847 320 2976 conicto -320 3105 408 3184 conicto -497 3264 704 3264 conicto -3392 3261 lineto -3392 2368 lineto -3392 2161 3312 2072 conicto -3233 1984 3104 1984 conicto -2975 1984 2895 2072 conicto -2816 2161 2816 2368 conicto -2816 2688 lineto -1344 2688 lineto -1344 1920 lineto -1856 1920 lineto -1856 2127 1909 2184 conicto -2015 2304 2144 2304 conicto -2273 2304 2352 2215 conicto -2432 2127 2432 1920 conicto -2432 1344 lineto -2432 1137 2352 1048 conicto -2273 960 2144 960 conicto -2015 960 1909 1080 conicto -1856 1137 1856 1344 conicto -1344 1344 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 35.734830 33.900226 29.939062 29.939062 233.286598 270.891736 ellipse s -0 slj -n 36.183171 4.364403 m 37.000000 4.000000 l 36.218380 3.565179 l f -gsave 26.955300 7.000000 translate 0.035278 -0.035278 scale -start_ol -2106 1669 moveto -3072 576 lineto -3279 576 3367 496 conicto -3456 417 3456 288 conicto -3456 159 3367 79 conicto -3279 0 3072 0 conicto -2317 0 lineto -2097 0 2008 79 conicto -1920 159 1920 288 conicto -1920 417 2008 496 conicto -2097 576 2313 576 conicto -1728 1238 lineto -1143 576 lineto -1359 576 1447 496 conicto -1536 417 1536 288 conicto -1536 159 1447 79 conicto -1359 0 1139 0 conicto -384 0 lineto -177 0 88 79 conicto -0 159 0 288 conicto -0 417 88 496 conicto -177 576 384 576 conicto -1350 1669 lineto -448 2688 lineto -241 2688 152 2767 conicto -64 2847 64 2976 conicto -64 3105 152 3184 conicto -241 3264 448 3264 conicto -1206 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1492 2749 conicto -1423 2688 1210 2688 conicto -1728 2101 lineto -2246 2688 lineto -2033 2688 1963 2749 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2250 3264 conicto -3008 3264 lineto -3215 3264 3303 3184 conicto -3392 3105 3392 2976 conicto -3392 2847 3303 2767 conicto -3215 2688 3008 2688 conicto -2106 1669 lineto -end_ol grestore -gsave 27.412500 7.000000 translate 0.035278 -0.035278 scale -start_ol -832 2196 moveto -832 576 lineto -1024 576 lineto -1231 576 1319 496 conicto -1408 417 1408 288 conicto -1408 159 1319 79 conicto -1231 0 1024 0 conicto -256 0 lineto -49 0 -39 79 conicto --128 159 -128 288 conicto --128 417 -39 496 conicto -49 576 256 576 conicto -256 2688 lineto -49 2688 -39 2767 conicto --128 2847 -128 2976 conicto --128 3105 -39 3184 conicto -49 3264 256 3264 conicto -870 3264 lineto -1760 1600 lineto -2646 3264 lineto -3264 3264 lineto -3471 3264 3559 3184 conicto -3648 3105 3648 2976 conicto -3648 2847 3559 2767 conicto -3471 2688 3264 2688 conicto -3264 576 lineto -3471 576 3559 496 conicto -3648 417 3648 288 conicto -3648 159 3559 79 conicto -3471 0 3264 0 conicto -2496 0 lineto -2289 0 2200 79 conicto -2112 159 2112 288 conicto -2112 417 2200 496 conicto -2289 576 2496 576 conicto -2688 576 lineto -2688 2196 lineto -1931 775 lineto -1592 775 lineto -832 2196 lineto -end_ol grestore -gsave 27.869700 7.000000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave 28.326900 7.000000 translate 0.035278 -0.035278 scale -start_ol -1600 768 moveto -2304 768 lineto -1536 -821 lineto -1458 -960 1341 -960 conicto -1263 -960 1207 -911 conicto -1152 -863 1152 -804 conicto -1152 -760 1173 -686 conicto -1600 768 lineto -end_ol grestore -gsave 28.784100 7.000000 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave 29.241300 7.000000 translate 0.035278 -0.035278 scale -start_ol -2106 1669 moveto -3072 576 lineto -3279 576 3367 496 conicto -3456 417 3456 288 conicto -3456 159 3367 79 conicto -3279 0 3072 0 conicto -2317 0 lineto -2097 0 2008 79 conicto -1920 159 1920 288 conicto -1920 417 2008 496 conicto -2097 576 2313 576 conicto -1728 1238 lineto -1143 576 lineto -1359 576 1447 496 conicto -1536 417 1536 288 conicto -1536 159 1447 79 conicto -1359 0 1139 0 conicto -384 0 lineto -177 0 88 79 conicto -0 159 0 288 conicto -0 417 88 496 conicto -177 576 384 576 conicto -1350 1669 lineto -448 2688 lineto -241 2688 152 2767 conicto -64 2847 64 2976 conicto -64 3105 152 3184 conicto -241 3264 448 3264 conicto -1206 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1492 2749 conicto -1423 2688 1210 2688 conicto -1728 2101 lineto -2246 2688 lineto -2033 2688 1963 2749 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2250 3264 conicto -3008 3264 lineto -3215 3264 3303 3184 conicto -3392 3105 3392 2976 conicto -3392 2847 3303 2767 conicto -3215 2688 3008 2688 conicto -2106 1669 lineto -end_ol grestore -gsave 29.698500 7.000000 translate 0.035278 -0.035278 scale -start_ol -960 192 moveto -877 69 826 34 conicto -776 0 703 0 conicto -559 0 471 88 conicto -384 176 384 381 conicto -384 767 lineto -384 975 464 1063 conicto -544 1152 675 1152 conicto -776 1152 844 1101 conicto -913 1050 949 930 conicto -985 810 1024 767 conicto -1106 684 1314 598 conicto -1522 512 1770 512 conicto -2155 512 2402 678 conicto -2560 780 2560 927 conicto -2560 1026 2485 1113 conicto -2410 1201 2240 1257 conicto -2129 1297 1744 1364 conicto -1278 1444 1035 1560 conicto -793 1677 652 1890 conicto -512 2103 512 2350 conicto -512 2740 843 3034 conicto -1175 3328 1706 3328 conicto -1920 3328 2101 3265 conicto -2283 3203 2432 3072 conicto -2559 3264 2685 3264 conicto -2828 3264 2918 3174 conicto -3008 3085 3008 2876 conicto -3008 2438 lineto -3008 2227 2928 2137 conicto -2849 2048 2723 2048 conicto -2616 2048 2538 2112 conicto -2477 2159 2446 2300 conicto -2416 2441 2368 2503 conicto -2287 2608 2126 2680 conicto -1965 2752 1754 2752 conicto -1446 2752 1267 2618 conicto -1088 2485 1088 2339 conicto -1088 2240 1161 2148 conicto -1235 2057 1377 2004 conicto -1471 1968 1908 1888 conicto -2346 1808 2583 1709 conicto -2821 1611 2978 1401 conicto -3136 1191 3136 901 conicto -3136 497 2842 255 conicto -2450 -64 1846 -64 conicto -1612 -64 1390 0 conicto -1169 64 960 192 conicto -end_ol grestore -gsave 30.155700 7.000000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave 30.612900 7.000000 translate 0.035278 -0.035278 scale -start_ol -2048 2688 moveto -2048 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -1088 0 lineto -881 0 792 79 conicto -704 159 704 288 conicto -704 417 792 496 conicto -881 576 1088 576 conicto -1472 576 lineto -1472 2688 lineto -832 2688 lineto -832 2112 lineto -832 1905 752 1816 conicto -673 1728 544 1728 conicto -415 1728 335 1816 conicto -256 1905 256 2112 conicto -256 3264 lineto -3264 3264 lineto -3264 2112 lineto -3264 1905 3184 1816 conicto -3105 1728 2976 1728 conicto -2847 1728 2767 1816 conicto -2688 1905 2688 2112 conicto -2688 2688 lineto -2048 2688 lineto -end_ol grestore -gsave 17.326900 6.000000 translate 0.035278 -0.035278 scale -start_ol -2106 1669 moveto -3072 576 lineto -3279 576 3367 496 conicto -3456 417 3456 288 conicto -3456 159 3367 79 conicto -3279 0 3072 0 conicto -2317 0 lineto -2097 0 2008 79 conicto -1920 159 1920 288 conicto -1920 417 2008 496 conicto -2097 576 2313 576 conicto -1728 1238 lineto -1143 576 lineto -1359 576 1447 496 conicto -1536 417 1536 288 conicto -1536 159 1447 79 conicto -1359 0 1139 0 conicto -384 0 lineto -177 0 88 79 conicto -0 159 0 288 conicto -0 417 88 496 conicto -177 576 384 576 conicto -1350 1669 lineto -448 2688 lineto -241 2688 152 2767 conicto -64 2847 64 2976 conicto -64 3105 152 3184 conicto -241 3264 448 3264 conicto -1206 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1492 2749 conicto -1423 2688 1210 2688 conicto -1728 2101 lineto -2246 2688 lineto -2033 2688 1963 2749 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2250 3264 conicto -3008 3264 lineto -3215 3264 3303 3184 conicto -3392 3105 3392 2976 conicto -3392 2847 3303 2767 conicto -3215 2688 3008 2688 conicto -2106 1669 lineto -end_ol grestore -gsave 17.784100 6.000000 translate 0.035278 -0.035278 scale -start_ol -832 2196 moveto -832 576 lineto -1024 576 lineto -1231 576 1319 496 conicto -1408 417 1408 288 conicto -1408 159 1319 79 conicto -1231 0 1024 0 conicto -256 0 lineto -49 0 -39 79 conicto --128 159 -128 288 conicto --128 417 -39 496 conicto -49 576 256 576 conicto -256 2688 lineto -49 2688 -39 2767 conicto --128 2847 -128 2976 conicto --128 3105 -39 3184 conicto -49 3264 256 3264 conicto -870 3264 lineto -1760 1600 lineto -2646 3264 lineto -3264 3264 lineto -3471 3264 3559 3184 conicto -3648 3105 3648 2976 conicto -3648 2847 3559 2767 conicto -3471 2688 3264 2688 conicto -3264 576 lineto -3471 576 3559 496 conicto -3648 417 3648 288 conicto -3648 159 3559 79 conicto -3471 0 3264 0 conicto -2496 0 lineto -2289 0 2200 79 conicto -2112 159 2112 288 conicto -2112 417 2200 496 conicto -2289 576 2496 576 conicto -2688 576 lineto -2688 2196 lineto -1931 775 lineto -1592 775 lineto -832 2196 lineto -end_ol grestore -gsave 18.241300 6.000000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave 31.089833 2.000000 translate 0.035278 -0.035278 scale -start_ol -2304 1408 moveto -1152 1408 lineto -1152 576 lineto -1216 576 lineto -1423 576 1511 496 conicto -1600 417 1600 288 conicto -1600 159 1511 79 conicto -1423 0 1216 0 conicto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 310 522 conicto -369 576 576 576 conicto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1216 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1511 2767 conicto -1423 2688 1216 2688 conicto -1152 2688 lineto -1152 1984 lineto -2304 1984 lineto -2304 2688 lineto -2240 2688 lineto -2033 2688 1944 2767 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2240 3264 conicto -2880 3264 lineto -3087 3264 3175 3184 conicto -3264 3105 3264 2976 conicto -3264 2847 3175 2767 conicto -3087 2688 2880 2688 conicto -2880 576 lineto -3087 576 3144 523 conicto -3264 417 3264 288 conicto -3264 159 3175 79 conicto -3087 0 2880 0 conicto -2240 0 lineto -2033 0 1944 79 conicto -1856 159 1856 288 conicto -1856 417 1944 496 conicto -2033 576 2240 576 conicto -2304 576 lineto -2304 1408 lineto -end_ol grestore -gsave 31.547033 2.000000 translate 0.035278 -0.035278 scale -start_ol -1920 3520 moveto -1920 2944 lineto -1344 2944 lineto -1344 3520 lineto -1920 3520 lineto -1984 2432 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 1856 lineto -960 1856 lineto -753 1856 664 1935 conicto -576 2015 576 2144 conicto -576 2273 664 2352 conicto -753 2432 960 2432 conicto -1984 2432 lineto -end_ol grestore -gsave 32.004233 2.000000 translate 0.035278 -0.035278 scale -start_ol -1088 2432 moveto -1088 2240 lineto -1249 2368 1444 2432 conicto -1640 2496 1868 2496 conicto -2395 2496 2701 2199 conicto -2944 1962 2944 1578 conicto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2161 0 2072 79 conicto -1984 159 1984 288 conicto -1984 417 2072 496 conicto -2161 576 2368 576 conicto -2368 1567 lineto -2368 1738 2263 1818 conicto -2124 1920 1849 1920 conicto -1641 1920 1484 1846 conicto -1328 1773 1088 1536 conicto -1088 576 lineto -1295 576 1352 522 conicto -1472 417 1472 288 conicto -1472 159 1383 79 conicto -1295 0 1088 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 246 523 conicto -305 576 512 576 conicto -512 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 512 2432 conicto -1088 2432 lineto -end_ol grestore -gsave 32.461433 2.000000 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 20.326900 16.000000 translate 0.035278 -0.035278 scale -start_ol -448 576 moveto -448 2688 lineto -241 2688 152 2767 conicto -64 2847 64 2976 conicto -64 3105 152 3184 conicto -241 3264 448 3264 conicto -1642 3261 lineto -1922 3261 2188 3161 conicto -2454 3062 2615 2908 conicto -2738 2792 2870 2591 conicto -3002 2390 3069 2190 conicto -3136 1991 3136 1703 conicto -3136 1440 lineto -3136 1090 3013 819 conicto -2890 549 2691 378 conicto -2492 208 2317 126 conicto -2039 0 1596 0 conicto -448 0 lineto -241 0 152 79 conicto -64 159 64 288 conicto -64 417 152 496 conicto -241 576 448 576 conicto -1024 576 moveto -1617 576 lineto -1949 576 2117 668 conicto -2338 789 2449 976 conicto -2560 1163 2560 1461 conicto -2560 1716 lineto -2560 1972 2459 2164 conicto -2302 2464 2105 2576 conicto -1908 2688 1612 2688 conicto -1024 2688 lineto -1024 576 lineto -end_ol grestore -gsave 20.784100 16.000000 translate 0.035278 -0.035278 scale -start_ol -3328 1630 moveto -3328 903 2845 419 conicto -2362 -64 1727 -64 conicto -1156 -64 696 338 conicto -128 836 128 1630 conicto -128 2425 696 2925 conicto -1156 3328 1727 3328 conicto -2362 3328 2845 2844 conicto -3328 2361 3328 1630 conicto -2752 1631 moveto -2752 2116 2439 2434 conicto -2126 2752 1727 2752 conicto -1331 2752 1017 2433 conicto -704 2114 704 1631 conicto -704 1148 1017 830 conicto -1331 512 1727 512 conicto -2126 512 2439 828 conicto -2752 1145 2752 1631 conicto -end_ol grestore -gsave 21.241300 16.000000 translate 0.035278 -0.035278 scale -start_ol -2048 2688 moveto -2048 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -1088 0 lineto -881 0 792 79 conicto -704 159 704 288 conicto -704 417 792 496 conicto -881 576 1088 576 conicto -1472 576 lineto -1472 2688 lineto -832 2688 lineto -832 2112 lineto -832 1905 752 1816 conicto -673 1728 544 1728 conicto -415 1728 335 1816 conicto -256 1905 256 2112 conicto -256 3264 lineto -3264 3264 lineto -3264 2112 lineto -3264 1905 3184 1816 conicto -3105 1728 2976 1728 conicto -2847 1728 2767 1816 conicto -2688 1905 2688 2112 conicto -2688 2688 lineto -2048 2688 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 15.000000 20.535701 m 15.990382 19.833925 16.485573 19.599999 17.475955 19.599999 c 18.466337 19.599999 18.961528 19.833925 19.951910 20.535701 c 19.951910 24.278509 l 18.961528 24.980286 18.466337 25.214211 17.475955 25.214211 c 16.485573 25.214211 15.990382 24.980286 15.000000 24.278509 c 15.000000 20.535701 l f -0.000000 0.000000 0.000000 srgb -n 15.000000 20.535701 m 15.990382 19.833925 16.485573 19.599999 17.475955 19.599999 c 18.466337 19.599999 18.961528 19.833925 19.951910 20.535701 c 19.951910 24.278509 l 18.961528 24.980286 18.466337 25.214211 17.475955 25.214211 c 16.485573 25.214211 15.990382 24.980286 15.000000 24.278509 c 15.000000 20.535701 l s -0 slc -0 slj -[] 0 sd -n 15.000000 20.535701 m 15.990382 21.237478 16.485573 21.471403 17.475955 21.471403 c 18.466337 21.471403 18.961528 21.237478 19.951910 20.535701 c s -gsave 15.647155 22.574956 translate 0.035278 -0.035278 scale -start_ol -832 2196 moveto -832 576 lineto -1024 576 lineto -1231 576 1319 496 conicto -1408 417 1408 288 conicto -1408 159 1319 79 conicto -1231 0 1024 0 conicto -256 0 lineto -49 0 -39 79 conicto --128 159 -128 288 conicto --128 417 -39 496 conicto -49 576 256 576 conicto -256 2688 lineto -49 2688 -39 2767 conicto --128 2847 -128 2976 conicto --128 3105 -39 3184 conicto -49 3264 256 3264 conicto -870 3264 lineto -1760 1600 lineto -2646 3264 lineto -3264 3264 lineto -3471 3264 3559 3184 conicto -3648 3105 3648 2976 conicto -3648 2847 3559 2767 conicto -3471 2688 3264 2688 conicto -3264 576 lineto -3471 576 3559 496 conicto -3648 417 3648 288 conicto -3648 159 3559 79 conicto -3471 0 3264 0 conicto -2496 0 lineto -2289 0 2200 79 conicto -2112 159 2112 288 conicto -2112 417 2200 496 conicto -2289 576 2496 576 conicto -2688 576 lineto -2688 2196 lineto -1931 775 lineto -1592 775 lineto -832 2196 lineto -end_ol grestore -gsave 16.104355 22.574956 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 16.561555 22.574956 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 17.018755 22.574956 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 17.475955 22.574956 translate 0.035278 -0.035278 scale -start_ol -3072 3520 moveto -3072 576 lineto -3200 576 lineto -3407 576 3495 496 conicto -3584 417 3584 288 conicto -3584 159 3495 79 conicto -3407 0 3200 0 conicto -2496 0 lineto -2496 320 lineto -2299 130 2083 33 conicto -1868 -64 1637 -64 conicto -987 -64 589 289 conicto -192 642 192 1169 conicto -192 1719 609 2107 conicto -1026 2496 1626 2496 conicto -1851 2496 2068 2427 conicto -2285 2358 2496 2220 conicto -2496 2944 lineto -2368 2944 lineto -2161 2944 2072 3023 conicto -1984 3103 1984 3232 conicto -1984 3361 2072 3440 conicto -2161 3520 2368 3520 conicto -3072 3520 lineto -2496 1155 moveto -2496 1476 2245 1698 conicto -1994 1920 1631 1920 conicto -1270 1920 1019 1698 conicto -768 1476 768 1163 conicto -768 878 993 695 conicto -1219 512 1631 512 conicto -2039 512 2267 695 conicto -2496 878 2496 1155 conicto -end_ol grestore -gsave 17.933155 22.574956 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 18.390355 22.574956 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 18.847555 22.574956 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 17.027222 23.574956 translate 0.035278 -0.035278 scale -start_ol -448 576 moveto -448 2688 lineto -241 2688 152 2767 conicto -64 2847 64 2976 conicto -64 3105 152 3184 conicto -241 3264 448 3264 conicto -1642 3261 lineto -1922 3261 2188 3161 conicto -2454 3062 2615 2908 conicto -2738 2792 2870 2591 conicto -3002 2390 3069 2190 conicto -3136 1991 3136 1703 conicto -3136 1440 lineto -3136 1090 3013 819 conicto -2890 549 2691 378 conicto -2492 208 2317 126 conicto -2039 0 1596 0 conicto -448 0 lineto -241 0 152 79 conicto -64 159 64 288 conicto -64 417 152 496 conicto -241 576 448 576 conicto -1024 576 moveto -1617 576 lineto -1949 576 2117 668 conicto -2338 789 2449 976 conicto -2560 1163 2560 1461 conicto -2560 1716 lineto -2560 1972 2459 2164 conicto -2302 2464 2105 2576 conicto -1908 2688 1612 2688 conicto -1024 2688 lineto -1024 576 lineto -end_ol grestore -gsave 17.484422 23.574956 translate 0.035278 -0.035278 scale -start_ol -576 576 moveto -576 2688 lineto -512 2688 lineto -305 2688 216 2767 conicto -128 2847 128 2976 conicto -128 3105 216 3184 conicto -305 3264 512 3264 conicto -1940 3264 lineto -2450 3264 2761 3000 conicto -3072 2736 3072 2372 conicto -3072 2200 2993 2048 conicto -2914 1896 2752 1768 conicto -3040 1605 3184 1388 conicto -3328 1171 3328 898 conicto -3328 679 3230 492 conicto -3158 350 3052 265 conicto -2910 148 2704 74 conicto -2498 0 2188 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 216 496 conicto -305 576 512 576 conicto -576 576 lineto -1152 1984 moveto -1782 1984 lineto -2121 1984 2345 2128 conicto -2496 2225 2496 2370 conicto -2496 2496 2353 2592 conicto -2210 2688 1900 2688 conicto -1152 2688 lineto -1152 1984 lineto -1152 576 moveto -2147 576 lineto -2499 576 2642 679 conicto -2752 756 2752 901 conicto -2752 1074 2535 1241 conicto -2319 1408 1914 1408 conicto -1152 1408 lineto -1152 576 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 14.209220 11.707108 m 14.971402 14.039570 l s -0 slj -n 14.591187 14.163813 m 15.219889 14.800000 l 15.351617 13.915326 l f -0.100000 slw -[1.000000] 0 sd -[0.200000] 0 sd -0 slc -n 19.951910 21.939254 m 24.356933 18.679439 l s -0 slj -n 24.594875 19.000972 m 25.000000 18.203555 l 24.118991 18.357905 l f -gsave 20.318433 23.000000 translate 0.035278 -0.035278 scale -start_ol -1152 1216 moveto -1152 576 lineto -1344 576 lineto -1551 576 1639 496 conicto -1728 417 1728 288 conicto -1728 159 1639 79 conicto -1551 0 1344 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 216 496 conicto -305 576 512 576 conicto -576 576 lineto -576 2688 lineto -512 2688 lineto -305 2688 216 2767 conicto -128 2847 128 2976 conicto -128 3105 216 3184 conicto -305 3264 512 3264 conicto -1803 3264 lineto -2407 3264 2739 2971 conicto -3072 2678 3072 2258 conicto -3072 1996 2914 1782 conicto -2756 1568 2437 1402 conicto -2625 1257 2841 1029 conicto -2975 884 3201 576 conicto -3407 576 3470 522 conicto -3584 417 3584 288 conicto -3584 159 3495 79 conicto -3407 0 3201 0 conicto -2880 0 lineto -2182 1011 1721 1216 conicto -1152 1216 lineto -1152 1792 moveto -1602 1792 lineto -1852 1792 2049 1863 conicto -2313 1958 2404 2064 conicto -2496 2170 2496 2273 conicto -2496 2427 2321 2557 conicto -2147 2688 1813 2688 conicto -1152 2688 lineto -1152 1792 lineto -end_ol grestore -gsave 20.775633 23.000000 translate 0.035278 -0.035278 scale -start_ol -448 576 moveto -448 2688 lineto -241 2688 152 2767 conicto -64 2847 64 2976 conicto -64 3105 152 3184 conicto -241 3264 448 3264 conicto -1642 3261 lineto -1922 3261 2188 3161 conicto -2454 3062 2615 2908 conicto -2738 2792 2870 2591 conicto -3002 2390 3069 2190 conicto -3136 1991 3136 1703 conicto -3136 1440 lineto -3136 1090 3013 819 conicto -2890 549 2691 378 conicto -2492 208 2317 126 conicto -2039 0 1596 0 conicto -448 0 lineto -241 0 152 79 conicto -64 159 64 288 conicto -64 417 152 496 conicto -241 576 448 576 conicto -1024 576 moveto -1617 576 lineto -1949 576 2117 668 conicto -2338 789 2449 976 conicto -2560 1163 2560 1461 conicto -2560 1716 lineto -2560 1972 2459 2164 conicto -2302 2464 2105 2576 conicto -1908 2688 1612 2688 conicto -1024 2688 lineto -1024 576 lineto -end_ol grestore -gsave 21.232833 23.000000 translate 0.035278 -0.035278 scale -start_ol -1344 1344 moveto -1344 576 lineto -1920 576 lineto -2127 576 2215 496 conicto -2304 417 2304 288 conicto -2304 159 2215 79 conicto -2127 0 1920 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -768 576 lineto -768 2688 lineto -704 2688 lineto -497 2688 408 2767 conicto -320 2847 320 2976 conicto -320 3105 408 3184 conicto -497 3264 704 3264 conicto -3392 3261 lineto -3392 2368 lineto -3392 2161 3312 2072 conicto -3233 1984 3104 1984 conicto -2975 1984 2895 2072 conicto -2816 2161 2816 2368 conicto -2816 2688 lineto -1344 2688 lineto -1344 1920 lineto -1856 1920 lineto -1856 2127 1909 2184 conicto -2015 2304 2144 2304 conicto -2273 2304 2352 2215 conicto -2432 2127 2432 1920 conicto -2432 1344 lineto -2432 1137 2352 1048 conicto -2273 960 2144 960 conicto -2015 960 1909 1080 conicto -1856 1137 1856 1344 conicto -1344 1344 lineto -end_ol grestore -1.000000 1.000000 1.000000 srgb -n 12.128308 14.800000 m 18.311470 14.800000 l 17.183162 17.900000 l 11.000000 17.900000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 12.128308 14.800000 m 18.311470 14.800000 l 17.183162 17.900000 l 11.000000 17.900000 l cp s -gsave 12.826935 16.050000 translate 0.035278 -0.035278 scale -start_ol -832 2196 moveto -832 576 lineto -1024 576 lineto -1231 576 1319 496 conicto -1408 417 1408 288 conicto -1408 159 1319 79 conicto -1231 0 1024 0 conicto -256 0 lineto -49 0 -39 79 conicto --128 159 -128 288 conicto --128 417 -39 496 conicto -49 576 256 576 conicto -256 2688 lineto -49 2688 -39 2767 conicto --128 2847 -128 2976 conicto --128 3105 -39 3184 conicto -49 3264 256 3264 conicto -870 3264 lineto -1760 1600 lineto -2646 3264 lineto -3264 3264 lineto -3471 3264 3559 3184 conicto -3648 3105 3648 2976 conicto -3648 2847 3559 2767 conicto -3471 2688 3264 2688 conicto -3264 576 lineto -3471 576 3559 496 conicto -3648 417 3648 288 conicto -3648 159 3559 79 conicto -3471 0 3264 0 conicto -2496 0 lineto -2289 0 2200 79 conicto -2112 159 2112 288 conicto -2112 417 2200 496 conicto -2289 576 2496 576 conicto -2688 576 lineto -2688 2196 lineto -1931 775 lineto -1592 775 lineto -832 2196 lineto -end_ol grestore -gsave 13.284135 16.050000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 13.741335 16.050000 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 14.198535 16.050000 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 14.655735 16.050000 translate 0.035278 -0.035278 scale -start_ol -3072 3520 moveto -3072 576 lineto -3200 576 lineto -3407 576 3495 496 conicto -3584 417 3584 288 conicto -3584 159 3495 79 conicto -3407 0 3200 0 conicto -2496 0 lineto -2496 320 lineto -2299 130 2083 33 conicto -1868 -64 1637 -64 conicto -987 -64 589 289 conicto -192 642 192 1169 conicto -192 1719 609 2107 conicto -1026 2496 1626 2496 conicto -1851 2496 2068 2427 conicto -2285 2358 2496 2220 conicto -2496 2944 lineto -2368 2944 lineto -2161 2944 2072 3023 conicto -1984 3103 1984 3232 conicto -1984 3361 2072 3440 conicto -2161 3520 2368 3520 conicto -3072 3520 lineto -2496 1155 moveto -2496 1476 2245 1698 conicto -1994 1920 1631 1920 conicto -1270 1920 1019 1698 conicto -768 1476 768 1163 conicto -768 878 993 695 conicto -1219 512 1631 512 conicto -2039 512 2267 695 conicto -2496 878 2496 1155 conicto -end_ol grestore -gsave 15.112935 16.050000 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 15.570135 16.050000 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 16.027335 16.050000 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 12.611035 17.050000 translate 0.035278 -0.035278 scale -start_ol -3200 1024 moveto -3200 285 lineto -2808 83 2533 9 conicto -2258 -64 1939 -64 conicto -1495 -64 1117 61 conicto -821 157 650 303 conicto -480 450 336 736 conicto -192 1023 192 1377 conicto -192 1771 lineto -192 2318 535 2747 conicto -997 3328 1792 3328 conicto -2022 3328 2229 3263 conicto -2437 3199 2624 3072 conicto -2754 3264 2879 3264 conicto -3021 3264 3110 3175 conicto -3200 3087 3200 2878 conicto -3200 2500 lineto -3200 2291 3100 2201 conicto -3000 2112 2841 2112 conicto -2715 2112 2624 2173 conicto -2570 2214 2534 2356 conicto -2499 2499 2454 2548 conicto -2382 2628 2199 2690 conicto -2016 2752 1790 2752 conicto -1466 2752 1226 2623 conicto -1056 2527 912 2288 conicto -768 2049 768 1768 conicto -768 1384 lineto -768 956 1038 734 conicto -1309 512 1898 512 conicto -2296 512 2624 629 conicto -2624 1024 lineto -2048 1024 lineto -1841 1024 1752 1103 conicto -1664 1183 1664 1312 conicto -1664 1441 1752 1520 conicto -1841 1600 2048 1600 conicto -3200 1600 lineto -3279 1600 3367 1520 conicto -3456 1441 3456 1312 conicto -3456 1183 3367 1103 conicto -3279 1024 3200 1024 conicto -end_ol grestore -gsave 13.068235 17.050000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 13.525435 17.050000 translate 0.035278 -0.035278 scale -start_ol -1088 2432 moveto -1088 2240 lineto -1249 2368 1444 2432 conicto -1640 2496 1868 2496 conicto -2395 2496 2701 2199 conicto -2944 1962 2944 1578 conicto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2161 0 2072 79 conicto -1984 159 1984 288 conicto -1984 417 2072 496 conicto -2161 576 2368 576 conicto -2368 1567 lineto -2368 1738 2263 1818 conicto -2124 1920 1849 1920 conicto -1641 1920 1484 1846 conicto -1328 1773 1088 1536 conicto -1088 576 lineto -1295 576 1352 522 conicto -1472 417 1472 288 conicto -1472 159 1383 79 conicto -1295 0 1088 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 246 523 conicto -305 576 512 576 conicto -512 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 512 2432 conicto -1088 2432 lineto -end_ol grestore -gsave 13.982635 17.050000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 14.439835 17.050000 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -gsave 14.897035 17.050000 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 15.354235 17.050000 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 15.811435 17.050000 translate 0.035278 -0.035278 scale -start_ol -3200 1179 moveto -3200 867 3018 575 conicto -2837 283 2477 109 conicto -2118 -64 1727 -64 conicto -1338 -64 983 106 conicto -628 277 442 570 conicto -256 864 256 1185 conicto -256 1510 444 1823 conicto -633 2136 987 2316 conicto -1341 2496 1727 2496 conicto -2115 2496 2474 2312 conicto -2834 2128 3017 1817 conicto -3200 1507 3200 1179 conicto -2624 1178 moveto -2624 1428 2429 1637 conicto -2162 1920 1728 1920 conicto -1345 1920 1088 1695 conicto -832 1471 832 1175 conicto -832 933 1091 722 conicto -1350 512 1728 512 conicto -2107 512 2365 722 conicto -2624 933 2624 1178 conicto -end_ol grestore -gsave 16.268635 17.050000 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -0.100000 slw -[1.000000] 0 sd -[0.200000] 0 sd -0 slc -n 15.637372 17.900000 m 16.888565 19.056884 l s -0 slj -n 16.617008 19.350579 m 17.475955 19.599999 l 17.160123 18.763190 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 16.627700 10.000000 m 21.636625 3.217977 l s -0 slj -n 21.958383 3.455614 m 22.111900 2.574460 l 21.314867 2.980339 l f -showpage diff --git a/helm/papers/calculemus-2003/slides/eps/helmLogic-slides.eps b/helm/papers/calculemus-2003/slides/eps/helmLogic-slides.eps deleted file mode 100644 index 3a912e841..000000000 --- a/helm/papers/calculemus-2003/slides/eps/helmLogic-slides.eps +++ /dev/null @@ -1,7989 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: /home/zack/dati/uny/thesis/thesis/thesis/eps/helmLogic-slides.dia -%%Creator: Dia v0.91 -%%CreationDate: Tue Mar 25 15:10:10 2003 -%%For: zack -%%Orientation: Portrait -%%Magnification: 1.0000 -%%BoundingBox: 0 0 1329 781 -%%BeginSetup -%%EndSetup -%%EndComments -%%BeginProlog -[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright -/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one -/two /three /four /five /six /seven /eight /nine /colon /semicolon -/less /equal /greater /question /at /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 /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /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 /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright -/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior -/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf -/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla -/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde -/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex -/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring -/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis -/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave -/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def -/cp {closepath} bind def -/c {curveto} bind def -/f {fill} bind def -/a {arc} bind def -/ef {eofill} bind def -/ex {exch} 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 pop} bind def -/tr {translate} bind def - -/ellipsedict 8 dict def -ellipsedict /mtrx matrix put -/ellipse -{ ellipsedict begin - /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 - savematrix setmatrix - end -} def - -/mergeprocs { -dup length -3 -1 roll -dup -length -dup -5 1 roll -3 -1 roll -add -array cvx -dup -3 -1 roll -0 exch -putinterval -dup -4 2 roll -putinterval -} bind def -/dpi_x 300 def -/dpi_y 300 def -/conicto { - /to_y exch def - /to_x exch def - /conic_cntrl_y exch def - /conic_cntrl_x exch def - currentpoint - /p0_y exch def - /p0_x exch def - /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def - /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def - /p2_x p1_x to_x p0_x sub 1 3 div mul add def - /p2_y p1_y to_y p0_y sub 1 3 div mul add def - p1_x p1_y p2_x p2_y to_x to_y curveto -} bind def -/start_ol { gsave 1.1 dpi_x div dup scale} bind def -/end_ol { closepath fill grestore } bind def -28.346000 -28.346000 scale -9.825000 -28.400563 translate -%%EndProlog - - -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 11.049298 8.614871 m 10.352113 8.584465 9.000000 9.222979 9.190141 10.591224 c 9.380280 11.959469 10.288733 12.263511 10.669015 11.868252 c 11.049298 11.472982 10.077465 13.783783 11.936624 14.391891 c 13.795766 15.000000 14.746472 14.027026 14.471824 13.327701 c 14.197175 12.628376 16.098588 14.969595 16.985913 13.631755 c 17.873239 12.293916 16.077461 11.016900 16.457743 11.199333 c 16.838026 11.381765 18.000000 11.138522 17.619718 8.858114 c 17.239435 6.577706 13.816893 8.341222 14.197175 8.006762 c 14.577458 7.672302 13.626751 6.000000 12.443667 6.334460 c 11.260566 6.668923 11.176650 7.275846 11.049890 8.613685 c 11.049298 8.614871 l f -0.000000 0.000000 0.000000 srgb -n 11.049298 8.614871 m 10.352113 8.584465 9.000000 9.222979 9.190141 10.591224 c 9.380280 11.959469 10.288733 12.263511 10.669015 11.868252 c 11.049298 11.472982 10.077465 13.783783 11.936624 14.391891 c 13.795766 15.000000 14.746472 14.027026 14.471824 13.327701 c 14.197175 12.628376 16.098588 14.969595 16.985913 13.631755 c 17.873239 12.293916 16.077461 11.016900 16.457743 11.199333 c 16.838026 11.381765 18.000000 11.138522 17.619718 8.858114 c 17.239435 6.577706 13.816893 8.341222 14.197175 8.006762 c 14.577458 7.672302 13.626751 6.000000 12.443667 6.334460 c 11.260566 6.668923 11.176650 7.275846 11.049890 8.613685 c 11.049298 8.614871 l s -gsave 13.068159 10.858651 translate 0.035278 -0.035278 scale -start_ol -2106 1669 moveto -3072 576 lineto -3279 576 3367 496 conicto -3456 417 3456 288 conicto -3456 159 3367 79 conicto -3279 0 3072 0 conicto -2317 0 lineto -2097 0 2008 79 conicto -1920 159 1920 288 conicto -1920 417 2008 496 conicto -2097 576 2313 576 conicto -1728 1238 lineto -1143 576 lineto -1359 576 1447 496 conicto -1536 417 1536 288 conicto -1536 159 1447 79 conicto -1359 0 1139 0 conicto -384 0 lineto -177 0 88 79 conicto -0 159 0 288 conicto -0 417 88 496 conicto -177 576 384 576 conicto -1350 1669 lineto -448 2688 lineto -241 2688 152 2767 conicto -64 2847 64 2976 conicto -64 3105 152 3184 conicto -241 3264 448 3264 conicto -1206 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1492 2749 conicto -1423 2688 1210 2688 conicto -1728 2101 lineto -2246 2688 lineto -2033 2688 1963 2749 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2250 3264 conicto -3008 3264 lineto -3215 3264 3303 3184 conicto -3392 3105 3392 2976 conicto -3392 2847 3303 2767 conicto -3215 2688 3008 2688 conicto -2106 1669 lineto -end_ol grestore -gsave 13.525359 10.858651 translate 0.035278 -0.035278 scale -start_ol -832 2196 moveto -832 576 lineto -1024 576 lineto -1231 576 1319 496 conicto -1408 417 1408 288 conicto -1408 159 1319 79 conicto -1231 0 1024 0 conicto -256 0 lineto -49 0 -39 79 conicto --128 159 -128 288 conicto --128 417 -39 496 conicto -49 576 256 576 conicto -256 2688 lineto -49 2688 -39 2767 conicto --128 2847 -128 2976 conicto --128 3105 -39 3184 conicto -49 3264 256 3264 conicto -870 3264 lineto -1760 1600 lineto -2646 3264 lineto -3264 3264 lineto -3471 3264 3559 3184 conicto -3648 3105 3648 2976 conicto -3648 2847 3559 2767 conicto -3471 2688 3264 2688 conicto -3264 576 lineto -3471 576 3559 496 conicto -3648 417 3648 288 conicto -3648 159 3559 79 conicto -3471 0 3264 0 conicto -2496 0 lineto -2289 0 2200 79 conicto -2112 159 2112 288 conicto -2112 417 2200 496 conicto -2289 576 2496 576 conicto -2688 576 lineto -2688 2196 lineto -1931 775 lineto -1592 775 lineto -832 2196 lineto -end_ol grestore -gsave 13.982559 10.858651 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -1.000000 1.000000 1.000000 srgb -n 3.995600 0.900000 m 3.995600 3.000000 l 6.609200 3.000000 l 6.609200 0.900000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 3.995600 0.900000 m 3.995600 3.000000 l 6.609200 3.000000 l 6.609200 0.900000 l cp s -gsave 4.608133 2.150000 translate 0.035278 -0.035278 scale -start_ol -2624 3072 moveto -2681 3168 2748 3216 conicto -2816 3264 2894 3264 conicto -3028 3264 3114 3179 conicto -3200 3095 3200 2893 conicto -3200 2420 lineto -3200 2219 3119 2133 conicto -3039 2048 2913 2048 conicto -2798 2048 2728 2107 conicto -2658 2166 2624 2329 conicto -2604 2437 2544 2497 conicto -2428 2613 2219 2682 conicto -2010 2752 1800 2752 conicto -1540 2752 1321 2648 conicto -1102 2544 935 2310 conicto -768 2077 768 1755 conicto -768 1410 lineto -768 1026 1069 769 conicto -1370 512 1904 512 conicto -2224 512 2445 602 conicto -2575 655 2720 810 conicto -2810 904 2860 932 conicto -2910 960 2975 960 conicto -3090 960 3177 871 conicto -3264 782 3264 662 conicto -3264 542 3145 405 conicto -2975 204 2706 91 conicto -2344 -64 1907 -64 conicto -1397 -64 988 136 conicto -657 295 424 640 conicto -192 986 192 1393 conicto -192 1764 lineto -192 2190 399 2559 conicto -607 2928 975 3128 conicto -1344 3328 1756 3328 conicto -2004 3328 2220 3265 conicto -2437 3202 2624 3072 conicto -end_ol grestore -gsave 5.065333 2.150000 translate 0.035278 -0.035278 scale -start_ol -3200 1179 moveto -3200 867 3018 575 conicto -2837 283 2477 109 conicto -2118 -64 1727 -64 conicto -1338 -64 983 106 conicto -628 277 442 570 conicto -256 864 256 1185 conicto -256 1510 444 1823 conicto -633 2136 987 2316 conicto -1341 2496 1727 2496 conicto -2115 2496 2474 2312 conicto -2834 2128 3017 1817 conicto -3200 1507 3200 1179 conicto -2624 1178 moveto -2624 1428 2429 1637 conicto -2162 1920 1728 1920 conicto -1345 1920 1088 1695 conicto -832 1471 832 1175 conicto -832 933 1091 722 conicto -1350 512 1728 512 conicto -2107 512 2365 722 conicto -2624 933 2624 1178 conicto -end_ol grestore -gsave 5.522533 2.150000 translate 0.035278 -0.035278 scale -start_ol -3072 1856 moveto -3072 -512 lineto -3200 -512 lineto -3407 -512 3495 -591 conicto -3584 -671 3584 -800 conicto -3584 -929 3495 -1008 conicto -3407 -1088 3200 -1088 conicto -2176 -1088 lineto -1969 -1088 1880 -1008 conicto -1792 -929 1792 -800 conicto -1792 -671 1880 -591 conicto -1969 -512 2176 -512 conicto -2496 -512 lineto -2496 259 lineto -2304 129 2082 64 conicto -1860 0 1634 0 conicto -1110 0 693 300 conicto -192 661 192 1215 conicto -192 1717 611 2106 conicto -1031 2496 1628 2496 conicto -1858 2496 2075 2417 conicto -2292 2338 2496 2176 conicto -2496 2432 lineto -3200 2432 lineto -3407 2432 3495 2352 conicto -3584 2273 3584 2144 conicto -3584 2015 3495 1935 conicto -3407 1856 3200 1856 conicto -3072 1856 lineto -2496 1213 moveto -2496 1328 2399 1505 conicto -2303 1683 2101 1801 conicto -1899 1920 1632 1920 conicto -1194 1920 942 1614 conicto -768 1403 768 1208 conicto -768 987 1016 781 conicto -1265 576 1632 576 conicto -2002 576 2249 781 conicto -2496 987 2496 1213 conicto -end_ol grestore -1.000000 1.000000 1.000000 srgb -n 7.991200 0.900000 m 7.991200 3.000000 l 11.088800 3.000000 l 11.088800 0.900000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 7.991200 0.900000 m 7.991200 3.000000 l 11.088800 3.000000 l 11.088800 0.900000 l cp s -gsave 8.642533 2.150000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave 9.099733 2.150000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 9.556933 2.150000 translate 0.035278 -0.035278 scale -start_ol -2368 2240 moveto -2368 2432 lineto -3072 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3072 1856 conicto -2944 1856 lineto -2944 -86 lineto -2944 -367 2814 -576 conicto -2685 -786 2418 -937 conicto -2151 -1088 1817 -1088 conicto -1157 -1088 lineto -947 -1088 857 -1007 conicto -768 -927 768 -801 conicto -768 -673 858 -592 conicto -948 -512 1159 -512 conicto -1805 -512 lineto -2073 -512 2220 -385 conicto -2368 -259 2368 -66 conicto -2368 182 lineto -2176 59 1978 -2 conicto -1780 -64 1572 -64 conicto -985 -64 588 304 conicto -192 673 192 1215 conicto -192 1759 588 2127 conicto -985 2496 1572 2496 conicto -1791 2496 1989 2433 conicto -2188 2370 2368 2240 conicto -2368 1216 moveto -2368 1501 2132 1710 conicto -1897 1920 1568 1920 conicto -1239 1920 1003 1710 conicto -768 1501 768 1216 conicto -768 928 1003 720 conicto -1239 512 1568 512 conicto -1897 512 2132 720 conicto -2368 928 2368 1216 conicto -end_ol grestore -gsave 10.014133 2.150000 translate 0.035278 -0.035278 scale -start_ol -3200 1179 moveto -3200 867 3018 575 conicto -2837 283 2477 109 conicto -2118 -64 1727 -64 conicto -1338 -64 983 106 conicto -628 277 442 570 conicto -256 864 256 1185 conicto -256 1510 444 1823 conicto -633 2136 987 2316 conicto -1341 2496 1727 2496 conicto -2115 2496 2474 2312 conicto -2834 2128 3017 1817 conicto -3200 1507 3200 1179 conicto -2624 1178 moveto -2624 1428 2429 1637 conicto -2162 1920 1728 1920 conicto -1345 1920 1088 1695 conicto -832 1471 832 1175 conicto -832 933 1091 722 conicto -1350 512 1728 512 conicto -2107 512 2365 722 conicto -2624 933 2624 1178 conicto -end_ol grestore -1.000000 1.000000 1.000000 srgb -n 11.982400 0.900000 m 11.982400 3.000000 l 14.569600 3.000000 l 14.569600 0.900000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 11.982400 0.900000 m 11.982400 3.000000 l 14.569600 3.000000 l 14.569600 0.900000 l cp s -gsave 12.602900 2.150000 translate 0.035278 -0.035278 scale -start_ol -2304 1408 moveto -1152 1408 lineto -1152 576 lineto -1216 576 lineto -1423 576 1511 496 conicto -1600 417 1600 288 conicto -1600 159 1511 79 conicto -1423 0 1216 0 conicto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 310 522 conicto -369 576 576 576 conicto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1216 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1511 2767 conicto -1423 2688 1216 2688 conicto -1152 2688 lineto -1152 1984 lineto -2304 1984 lineto -2304 2688 lineto -2240 2688 lineto -2033 2688 1944 2767 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2240 3264 conicto -2880 3264 lineto -3087 3264 3175 3184 conicto -3264 3105 3264 2976 conicto -3264 2847 3175 2767 conicto -3087 2688 2880 2688 conicto -2880 576 lineto -3087 576 3144 523 conicto -3264 417 3264 288 conicto -3264 159 3175 79 conicto -3087 0 2880 0 conicto -2240 0 lineto -2033 0 1944 79 conicto -1856 159 1856 288 conicto -1856 417 1944 496 conicto -2033 576 2240 576 conicto -2304 576 lineto -2304 1408 lineto -end_ol grestore -gsave 13.060100 2.150000 translate 0.035278 -0.035278 scale -start_ol -3328 1630 moveto -3328 903 2845 419 conicto -2362 -64 1727 -64 conicto -1156 -64 696 338 conicto -128 836 128 1630 conicto -128 2425 696 2925 conicto -1156 3328 1727 3328 conicto -2362 3328 2845 2844 conicto -3328 2361 3328 1630 conicto -2752 1631 moveto -2752 2116 2439 2434 conicto -2126 2752 1727 2752 conicto -1331 2752 1017 2433 conicto -704 2114 704 1631 conicto -704 1148 1017 830 conicto -1331 512 1727 512 conicto -2126 512 2439 828 conicto -2752 1145 2752 1631 conicto -end_ol grestore -gsave 13.517300 2.150000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave 16.398867 2.000000 translate 0.035278 -0.035278 scale -start_ol -2176 321 moveto -2176 157 2057 46 conicto -1938 -64 1728 -64 conicto -1519 -64 1399 46 conicto -1280 157 1280 321 conicto -1280 484 1399 594 conicto -1519 704 1728 704 conicto -1938 704 2057 594 conicto -2176 484 2176 321 conicto -end_ol grestore -gsave 16.856067 2.000000 translate 0.035278 -0.035278 scale -start_ol -2176 321 moveto -2176 157 2057 46 conicto -1938 -64 1728 -64 conicto -1519 -64 1399 46 conicto -1280 157 1280 321 conicto -1280 484 1399 594 conicto -1519 704 1728 704 conicto -1938 704 2057 594 conicto -2176 484 2176 321 conicto -end_ol grestore -gsave 17.313267 2.000000 translate 0.035278 -0.035278 scale -start_ol -2176 321 moveto -2176 157 2057 46 conicto -1938 -64 1728 -64 conicto -1519 -64 1399 46 conicto -1280 157 1280 321 conicto -1280 484 1399 594 conicto -1519 704 1728 704 conicto -1938 704 2057 594 conicto -2176 484 2176 321 conicto -end_ol grestore -1.000000 1.000000 1.000000 srgb -n 19.004400 0.900000 m 19.004400 3.000000 l 22.682800 3.000000 l 22.682800 0.900000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 19.004400 0.900000 m 19.004400 3.000000 l 22.682800 3.000000 l 22.682800 0.900000 l cp s -gsave 19.704833 2.150000 translate 0.035278 -0.035278 scale -start_ol -832 2196 moveto -832 576 lineto -1024 576 lineto -1231 576 1319 496 conicto -1408 417 1408 288 conicto -1408 159 1319 79 conicto -1231 0 1024 0 conicto -256 0 lineto -49 0 -39 79 conicto --128 159 -128 288 conicto --128 417 -39 496 conicto -49 576 256 576 conicto -256 2688 lineto -49 2688 -39 2767 conicto --128 2847 -128 2976 conicto --128 3105 -39 3184 conicto -49 3264 256 3264 conicto -870 3264 lineto -1760 1600 lineto -2646 3264 lineto -3264 3264 lineto -3471 3264 3559 3184 conicto -3648 3105 3648 2976 conicto -3648 2847 3559 2767 conicto -3471 2688 3264 2688 conicto -3264 576 lineto -3471 576 3559 496 conicto -3648 417 3648 288 conicto -3648 159 3559 79 conicto -3471 0 3264 0 conicto -2496 0 lineto -2289 0 2200 79 conicto -2112 159 2112 288 conicto -2112 417 2200 496 conicto -2289 576 2496 576 conicto -2688 576 lineto -2688 2196 lineto -1931 775 lineto -1592 775 lineto -832 2196 lineto -end_ol grestore -gsave 20.162033 2.150000 translate 0.035278 -0.035278 scale -start_ol -1920 3520 moveto -1920 2944 lineto -1344 2944 lineto -1344 3520 lineto -1920 3520 lineto -1984 2432 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 1856 lineto -960 1856 lineto -753 1856 664 1935 conicto -576 2015 576 2144 conicto -576 2273 664 2352 conicto -753 2432 960 2432 conicto -1984 2432 lineto -end_ol grestore -gsave 20.619233 2.150000 translate 0.035278 -0.035278 scale -start_ol -1465 576 moveto -2432 576 lineto -2432 783 2511 871 conicto -2591 960 2720 960 conicto -2849 960 2928 871 conicto -3008 783 3008 576 conicto -3008 0 lineto -512 0 lineto -512 455 lineto -1986 1856 lineto -1152 1856 lineto -1152 1792 lineto -1152 1585 1072 1496 conicto -993 1408 864 1408 conicto -735 1408 655 1496 conicto -576 1585 576 1792 conicto -579 2432 lineto -2944 2432 lineto -2944 1982 lineto -1465 576 lineto -end_ol grestore -gsave 21.076433 2.150000 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 21.533633 2.150000 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -0.100000 slw -[1.000000] 0 sd -[0.200000] 0 sd -0 slc -n 5.302400 3.000000 m 8.524325 7.356779 l s -0 slj -n 8.202715 7.594616 m 9.000000 8.000000 l 8.845936 7.118941 l f -0.100000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slc -n 9.540000 3.000000 m 10.725701 6.248495 l s -0 slj -n 10.349948 6.385645 m 11.000000 7.000000 l 11.101453 6.111345 l f -0.100000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slc -n 13.276000 3.000000 m 13.073290 5.203364 l s -0 slj -n 12.674973 5.166719 m 13.000000 6.000000 l 13.471608 5.240010 l f -0.100000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slc -n 20.843600 3.000000 m 17.554296 6.423150 l s -0 slj -n 17.265870 6.146002 m 17.000000 7.000000 l 17.842721 6.700297 l f -1.000000 1.000000 1.000000 srgb -n -4.235663 16.900000 m 3.367470 16.900000 l 2.603133 19.000000 l -5.000000 19.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n -4.235663 16.900000 m 3.367470 16.900000 l 2.603133 19.000000 l -5.000000 19.000000 l cp s -gsave -3.318165 18.150000 translate 0.035278 -0.035278 scale -start_ol -2048 2688 moveto -2048 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -1088 0 lineto -881 0 792 79 conicto -704 159 704 288 conicto -704 417 792 496 conicto -881 576 1088 576 conicto -1472 576 lineto -1472 2688 lineto -832 2688 lineto -832 2112 lineto -832 1905 752 1816 conicto -673 1728 544 1728 conicto -415 1728 335 1816 conicto -256 1905 256 2112 conicto -256 3264 lineto -3264 3264 lineto -3264 2112 lineto -3264 1905 3184 1816 conicto -3105 1728 2976 1728 conicto -2847 1728 2767 1816 conicto -2688 1905 2688 2112 conicto -2688 2688 lineto -2048 2688 lineto -end_ol grestore -gsave -2.860965 18.150000 translate 0.035278 -0.035278 scale -start_ol -1427 184 moveto -406 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 406 2432 conicto -1071 2432 lineto -1295 2432 1383 2352 conicto -1472 2273 1472 2144 conicto -1472 2015 1383 1935 conicto -1295 1856 1071 1856 conicto -1745 765 lineto -2344 1856 lineto -2097 1856 2008 1935 conicto -1920 2015 1920 2144 conicto -1920 2273 2008 2352 conicto -2097 2432 2344 2432 conicto -2988 2432 lineto -3215 2432 3303 2352 conicto -3392 2273 3392 2144 conicto -3392 2015 3303 1935 conicto -3215 1856 2988 1856 conicto -1684 -512 lineto -1876 -512 2063 -512 conicto -2240 -671 2240 -800 conicto -2240 -929 2151 -1008 conicto -2063 -1088 1876 -1088 conicto -469 -1088 lineto -241 -1088 152 -1008 conicto -64 -929 64 -800 conicto -64 -671 152 -591 conicto -241 -512 469 -512 conicto -1045 -512 lineto -1427 184 lineto -end_ol grestore -gsave -2.403765 18.150000 translate 0.035278 -0.035278 scale -start_ol -1024 320 moveto -1024 -512 lineto -1344 -512 lineto -1551 -512 1639 -591 conicto -1728 -671 1728 -800 conicto -1728 -929 1639 -1008 conicto -1551 -1088 1344 -1088 conicto -320 -1088 lineto -113 -1088 24 -1008 conicto --64 -929 -64 -800 conicto --64 -671 24 -591 conicto -113 -512 320 -512 conicto -448 -512 lineto -448 1856 lineto -320 1856 lineto -113 1856 24 1935 conicto --64 2015 -64 2144 conicto --64 2273 24 2352 conicto -113 2432 320 2432 conicto -1024 2432 lineto -1024 2176 lineto -1216 2338 1435 2417 conicto -1655 2496 1886 2496 conicto -2485 2496 2906 2106 conicto -3328 1717 3328 1215 conicto -3328 661 2827 300 conicto -2408 0 1884 0 conicto -1657 0 1436 79 conicto -1216 159 1024 320 conicto -2752 1213 moveto -2752 1328 2655 1505 conicto -2558 1683 2358 1801 conicto -2158 1920 1888 1920 conicto -1452 1920 1197 1614 conicto -1024 1403 1024 1208 conicto -1024 990 1272 783 conicto -1521 576 1888 576 conicto -2257 576 2504 781 conicto -2752 987 2752 1213 conicto -end_ol grestore -gsave -1.946565 18.150000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave -1.489365 18.150000 translate 0.035278 -0.035278 scale -start_ol -2685 2304 moveto -2793 2432 2906 2432 conicto -3034 2432 3117 2342 conicto -3200 2253 3200 2045 conicto -3200 1667 lineto -3200 1456 3116 1368 conicto -3033 1280 2900 1280 conicto -2778 1280 2693 1347 conicto -2632 1398 2597 1553 conicto -2563 1709 2429 1792 conicto -2194 1920 1827 1920 conicto -1405 1920 1150 1706 conicto -896 1492 896 1164 conicto -896 862 1140 687 conicto -1385 512 1952 512 conicto -2324 512 2559 582 conicto -2699 625 2824 728 conicto -2950 832 3045 832 conicto -3160 832 3244 746 conicto -3328 660 3328 544 conicto -3328 356 3061 188 conicto -2665 -64 1903 -64 conicto -1217 -64 836 198 conicto -320 549 320 1160 conicto -320 1738 741 2117 conicto -1162 2496 1840 2496 conicto -2085 2496 2296 2448 conicto -2507 2400 2685 2304 conicto -end_ol grestore -gsave -1.032165 18.150000 translate 0.035278 -0.035278 scale -start_ol -1088 3520 moveto -1088 2240 lineto -1273 2370 1462 2433 conicto -1651 2496 1844 2496 conicto -2150 2496 2389 2401 conicto -2629 2306 2786 2102 conicto -2944 1898 2944 1588 conicto -2944 576 lineto -3151 576 3210 523 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2161 0 2072 79 conicto -1984 159 1984 288 conicto -1984 417 2101 522 conicto -2161 576 2368 576 conicto -2368 1526 lineto -2368 1728 2262 1810 conicto -2124 1920 1855 1920 conicto -1656 1920 1502 1848 conicto -1349 1776 1088 1536 conicto -1088 576 lineto -1295 576 1351 523 conicto -1472 417 1472 288 conicto -1472 159 1383 79 conicto -1295 0 1088 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 247 522 conicto -305 576 512 576 conicto -512 2944 lineto -384 2944 lineto -177 2944 88 3023 conicto -0 3103 0 3232 conicto -0 3361 88 3440 conicto -177 3520 384 3520 conicto -1088 3520 lineto -end_ol grestore -gsave -0.574965 18.150000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave -0.117765 18.150000 translate 0.035278 -0.035278 scale -start_ol -2685 2304 moveto -2793 2432 2906 2432 conicto -3034 2432 3117 2342 conicto -3200 2253 3200 2045 conicto -3200 1667 lineto -3200 1456 3116 1368 conicto -3033 1280 2900 1280 conicto -2778 1280 2693 1347 conicto -2632 1398 2597 1553 conicto -2563 1709 2429 1792 conicto -2194 1920 1827 1920 conicto -1405 1920 1150 1706 conicto -896 1492 896 1164 conicto -896 862 1140 687 conicto -1385 512 1952 512 conicto -2324 512 2559 582 conicto -2699 625 2824 728 conicto -2950 832 3045 832 conicto -3160 832 3244 746 conicto -3328 660 3328 544 conicto -3328 356 3061 188 conicto -2665 -64 1903 -64 conicto -1217 -64 836 198 conicto -320 549 320 1160 conicto -320 1738 741 2117 conicto -1162 2496 1840 2496 conicto -2085 2496 2296 2448 conicto -2507 2400 2685 2304 conicto -end_ol grestore -gsave 0.339435 18.150000 translate 0.035278 -0.035278 scale -start_ol -1216 918 moveto -1216 0 lineto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 216 496 conicto -305 576 512 576 conicto -640 576 lineto -640 2944 lineto -512 2944 lineto -305 2944 216 3023 conicto -128 3103 128 3232 conicto -128 3361 216 3440 conicto -305 3520 512 3520 conicto -1216 3520 lineto -1216 1623 lineto -1674 1968 lineto -1664 2083 1664 2156 conicto -1664 2279 1746 2355 conicto -1829 2432 2028 2432 conicto -2653 2432 lineto -2895 2432 2983 2352 conicto -3072 2273 3072 2144 conicto -3072 2015 2983 1935 conicto -2895 1856 2653 1856 conicto -2461 1856 lineto -1786 1343 lineto -2713 576 lineto -2905 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2905 0 conicto -2241 0 lineto -2033 0 1944 76 conicto -1856 152 1856 276 conicto -1856 380 1946 482 conicto -1325 996 lineto -1216 918 lineto -end_ol grestore -gsave 0.796635 18.150000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 1.253835 18.150000 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -1.000000 1.000000 1.000000 srgb -n 5.128308 16.800000 m 11.311470 16.800000 l 10.183162 19.900000 l 4.000000 19.900000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 5.128308 16.800000 m 11.311470 16.800000 l 10.183162 19.900000 l 4.000000 19.900000 l cp s -gsave 6.051302 18.050000 translate 0.035278 -0.035278 scale -start_ol -1408 1152 moveto -1408 576 lineto -1984 576 lineto -2191 576 2279 496 conicto -2368 417 2368 288 conicto -2368 159 2279 79 conicto -2191 0 1984 0 conicto -768 0 lineto -561 0 472 79 conicto -384 159 384 288 conicto -384 417 472 496 conicto -561 576 768 576 conicto -832 576 lineto -832 2688 lineto -768 2688 lineto -561 2688 472 2767 conicto -384 2847 384 2976 conicto -384 3105 472 3184 conicto -561 3264 768 3264 conicto -2078 3264 lineto -2654 3264 2991 2962 conicto -3328 2660 3328 2227 conicto -3328 1988 3213 1776 conicto -3126 1616 2921 1460 conicto -2717 1305 2506 1228 conicto -2295 1152 1950 1152 conicto -1408 1152 lineto -1408 1728 moveto -1938 1728 lineto -2313 1728 2532 1878 conicto -2752 2029 2752 2240 conicto -2752 2419 2574 2553 conicto -2397 2688 2068 2688 conicto -1408 2688 lineto -1408 1728 lineto -end_ol grestore -gsave 6.508502 18.050000 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -gsave 6.965702 18.050000 translate 0.035278 -0.035278 scale -start_ol -3200 1179 moveto -3200 867 3018 575 conicto -2837 283 2477 109 conicto -2118 -64 1727 -64 conicto -1338 -64 983 106 conicto -628 277 442 570 conicto -256 864 256 1185 conicto -256 1510 444 1823 conicto -633 2136 987 2316 conicto -1341 2496 1727 2496 conicto -2115 2496 2474 2312 conicto -2834 2128 3017 1817 conicto -3200 1507 3200 1179 conicto -2624 1178 moveto -2624 1428 2429 1637 conicto -2162 1920 1728 1920 conicto -1345 1920 1088 1695 conicto -832 1471 832 1175 conicto -832 933 1091 722 conicto -1350 512 1728 512 conicto -2107 512 2365 722 conicto -2624 933 2624 1178 conicto -end_ol grestore -gsave 7.422902 18.050000 translate 0.035278 -0.035278 scale -start_ol -2368 2240 moveto -2368 2432 lineto -3072 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3072 1856 conicto -2944 1856 lineto -2944 -86 lineto -2944 -367 2814 -576 conicto -2685 -786 2418 -937 conicto -2151 -1088 1817 -1088 conicto -1157 -1088 lineto -947 -1088 857 -1007 conicto -768 -927 768 -801 conicto -768 -673 858 -592 conicto -948 -512 1159 -512 conicto -1805 -512 lineto -2073 -512 2220 -385 conicto -2368 -259 2368 -66 conicto -2368 182 lineto -2176 59 1978 -2 conicto -1780 -64 1572 -64 conicto -985 -64 588 304 conicto -192 673 192 1215 conicto -192 1759 588 2127 conicto -985 2496 1572 2496 conicto -1791 2496 1989 2433 conicto -2188 2370 2368 2240 conicto -2368 1216 moveto -2368 1501 2132 1710 conicto -1897 1920 1568 1920 conicto -1239 1920 1003 1710 conicto -768 1501 768 1216 conicto -768 928 1003 720 conicto -1239 512 1568 512 conicto -1897 512 2132 720 conicto -2368 928 2368 1216 conicto -end_ol grestore -gsave 7.880102 18.050000 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -gsave 8.337302 18.050000 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 8.794502 18.050000 translate 0.035278 -0.035278 scale -start_ol -832 2432 moveto -832 2265 lineto -967 2396 1076 2446 conicto -1185 2496 1327 2496 conicto -1448 2496 1566 2436 conicto -1685 2377 1798 2259 conicto -1940 2379 2086 2437 conicto -2233 2496 2386 2496 conicto -2692 2496 2884 2335 conicto -3136 2125 3136 1783 conicto -3136 576 lineto -3343 576 3431 496 conicto -3520 417 3520 288 conicto -3520 159 3431 79 conicto -3343 0 3136 0 conicto -2560 0 lineto -2560 1702 lineto -2560 1826 2515 1873 conicto -2471 1920 2381 1920 conicto -2292 1920 2218 1873 conicto -2122 1807 1984 1625 conicto -1984 576 lineto -2191 576 2279 496 conicto -2368 417 2368 288 conicto -2368 159 2279 79 conicto -2191 0 1984 0 conicto -1408 0 lineto -1408 1702 lineto -1408 1823 1363 1871 conicto -1319 1920 1229 1920 conicto -1137 1920 1047 1861 conicto -958 1802 832 1625 conicto -832 576 lineto -1039 576 1127 496 conicto -1216 417 1216 288 conicto -1216 159 1127 79 conicto -1039 0 832 0 conicto -256 0 lineto -49 0 -39 79 conicto --128 159 -128 288 conicto --128 417 -39 496 conicto -49 576 256 576 conicto -256 1856 lineto -49 1856 -39 1935 conicto --128 2015 -128 2144 conicto --128 2273 -39 2352 conicto -49 2432 256 2432 conicto -832 2432 lineto -end_ol grestore -gsave 5.611035 19.050000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 6.068235 19.050000 translate 0.035278 -0.035278 scale -start_ol -2113 1258 moveto -2936 576 lineto -3131 567 3229 487 conicto -3328 407 3328 287 conicto -3328 160 3240 80 conicto -3153 0 2947 0 conicto -2300 0 lineto -2095 0 2007 80 conicto -1920 160 1920 292 conicto -1920 393 1983 470 conicto -2046 547 2156 576 conicto -1722 936 lineto -1286 576 lineto -1420 542 1478 471 conicto -1536 401 1536 292 conicto -1536 160 1449 80 conicto -1363 0 1156 0 conicto -511 0 lineto -304 0 216 80 conicto -128 160 128 289 conicto -128 407 223 487 conicto -318 567 510 576 conicto -1335 1256 lineto -611 1856 lineto -436 1867 346 1947 conicto -256 2028 256 2145 conicto -256 2271 342 2351 conicto -429 2432 632 2432 conicto -1160 2432 lineto -1363 2432 1449 2348 conicto -1536 2265 1536 2137 conicto -1536 1964 1392 1856 conicto -1726 1579 lineto -2062 1856 lineto -1920 1971 1920 2121 conicto -1920 2263 2007 2347 conicto -2094 2432 2298 2432 conicto -2822 2432 lineto -3026 2432 3113 2351 conicto -3200 2271 3200 2143 conicto -3200 2028 3108 1947 conicto -3017 1867 2838 1856 conicto -2113 1258 lineto -end_ol grestore -gsave 6.525435 19.050000 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 6.982635 19.050000 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -gsave 7.439835 19.050000 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 7.897035 19.050000 translate 0.035278 -0.035278 scale -start_ol -2685 2304 moveto -2793 2432 2906 2432 conicto -3034 2432 3117 2342 conicto -3200 2253 3200 2045 conicto -3200 1667 lineto -3200 1456 3116 1368 conicto -3033 1280 2900 1280 conicto -2778 1280 2693 1347 conicto -2632 1398 2597 1553 conicto -2563 1709 2429 1792 conicto -2194 1920 1827 1920 conicto -1405 1920 1150 1706 conicto -896 1492 896 1164 conicto -896 862 1140 687 conicto -1385 512 1952 512 conicto -2324 512 2559 582 conicto -2699 625 2824 728 conicto -2950 832 3045 832 conicto -3160 832 3244 746 conicto -3328 660 3328 544 conicto -3328 356 3061 188 conicto -2665 -64 1903 -64 conicto -1217 -64 836 198 conicto -320 549 320 1160 conicto -320 1738 741 2117 conicto -1162 2496 1840 2496 conicto -2085 2496 2296 2448 conicto -2507 2400 2685 2304 conicto -end_ol grestore -gsave 8.354235 19.050000 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 8.811435 19.050000 translate 0.035278 -0.035278 scale -start_ol -3200 1179 moveto -3200 867 3018 575 conicto -2837 283 2477 109 conicto -2118 -64 1727 -64 conicto -1338 -64 983 106 conicto -628 277 442 570 conicto -256 864 256 1185 conicto -256 1510 444 1823 conicto -633 2136 987 2316 conicto -1341 2496 1727 2496 conicto -2115 2496 2474 2312 conicto -2834 2128 3017 1817 conicto -3200 1507 3200 1179 conicto -2624 1178 moveto -2624 1428 2429 1637 conicto -2162 1920 1728 1920 conicto -1345 1920 1088 1695 conicto -832 1471 832 1175 conicto -832 933 1091 722 conicto -1350 512 1728 512 conicto -2107 512 2365 722 conicto -2624 933 2624 1178 conicto -end_ol grestore -gsave 9.268635 19.050000 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -1.000000 1.000000 1.000000 srgb -n 13.123908 16.800000 m 17.705470 16.800000 l 16.577162 19.900000 l 11.995600 19.900000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 13.123908 16.800000 m 17.705470 16.800000 l 16.577162 19.900000 l 11.995600 19.900000 l cp s -gsave 13.487402 18.050000 translate 0.035278 -0.035278 scale -start_ol -960 192 moveto -877 69 826 34 conicto -776 0 703 0 conicto -559 0 471 88 conicto -384 176 384 381 conicto -384 767 lineto -384 975 464 1063 conicto -544 1152 675 1152 conicto -776 1152 844 1101 conicto -913 1050 949 930 conicto -985 810 1024 767 conicto -1106 684 1314 598 conicto -1522 512 1770 512 conicto -2155 512 2402 678 conicto -2560 780 2560 927 conicto -2560 1026 2485 1113 conicto -2410 1201 2240 1257 conicto -2129 1297 1744 1364 conicto -1278 1444 1035 1560 conicto -793 1677 652 1890 conicto -512 2103 512 2350 conicto -512 2740 843 3034 conicto -1175 3328 1706 3328 conicto -1920 3328 2101 3265 conicto -2283 3203 2432 3072 conicto -2559 3264 2685 3264 conicto -2828 3264 2918 3174 conicto -3008 3085 3008 2876 conicto -3008 2438 lineto -3008 2227 2928 2137 conicto -2849 2048 2723 2048 conicto -2616 2048 2538 2112 conicto -2477 2159 2446 2300 conicto -2416 2441 2368 2503 conicto -2287 2608 2126 2680 conicto -1965 2752 1754 2752 conicto -1446 2752 1267 2618 conicto -1088 2485 1088 2339 conicto -1088 2240 1161 2148 conicto -1235 2057 1377 2004 conicto -1471 1968 1908 1888 conicto -2346 1808 2583 1709 conicto -2821 1611 2978 1401 conicto -3136 1191 3136 901 conicto -3136 497 2842 255 conicto -2450 -64 1846 -64 conicto -1612 -64 1390 0 conicto -1169 64 960 192 conicto -end_ol grestore -gsave 13.944602 18.050000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 14.401802 18.050000 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 14.859002 18.050000 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -gsave 15.316202 18.050000 translate 0.035278 -0.035278 scale -start_ol -2685 2304 moveto -2793 2432 2906 2432 conicto -3034 2432 3117 2342 conicto -3200 2253 3200 2045 conicto -3200 1667 lineto -3200 1456 3116 1368 conicto -3033 1280 2900 1280 conicto -2778 1280 2693 1347 conicto -2632 1398 2597 1553 conicto -2563 1709 2429 1792 conicto -2194 1920 1827 1920 conicto -1405 1920 1150 1706 conicto -896 1492 896 1164 conicto -896 862 1140 687 conicto -1385 512 1952 512 conicto -2324 512 2559 582 conicto -2699 625 2824 728 conicto -2950 832 3045 832 conicto -3160 832 3244 746 conicto -3328 660 3328 544 conicto -3328 356 3061 188 conicto -2665 -64 1903 -64 conicto -1217 -64 836 198 conicto -320 549 320 1160 conicto -320 1738 741 2117 conicto -1162 2496 1840 2496 conicto -2085 2496 2296 2448 conicto -2507 2400 2685 2304 conicto -end_ol grestore -gsave 15.773402 18.050000 translate 0.035278 -0.035278 scale -start_ol -1088 3520 moveto -1088 2240 lineto -1273 2370 1462 2433 conicto -1651 2496 1844 2496 conicto -2150 2496 2389 2401 conicto -2629 2306 2786 2102 conicto -2944 1898 2944 1588 conicto -2944 576 lineto -3151 576 3210 523 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2161 0 2072 79 conicto -1984 159 1984 288 conicto -1984 417 2101 522 conicto -2161 576 2368 576 conicto -2368 1526 lineto -2368 1728 2262 1810 conicto -2124 1920 1855 1920 conicto -1656 1920 1502 1848 conicto -1349 1776 1088 1536 conicto -1088 576 lineto -1295 576 1351 523 conicto -1472 417 1472 288 conicto -1472 159 1383 79 conicto -1295 0 1088 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 247 522 conicto -305 576 512 576 conicto -512 2944 lineto -384 2944 lineto -177 2944 88 3023 conicto -0 3103 0 3232 conicto -0 3361 88 3440 conicto -177 3520 384 3520 conicto -1088 3520 lineto -end_ol grestore -gsave 13.495868 19.050000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 13.953068 19.050000 translate 0.035278 -0.035278 scale -start_ol -1088 2432 moveto -1088 2240 lineto -1249 2368 1444 2432 conicto -1640 2496 1868 2496 conicto -2395 2496 2701 2199 conicto -2944 1962 2944 1578 conicto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2161 0 2072 79 conicto -1984 159 1984 288 conicto -1984 417 2072 496 conicto -2161 576 2368 576 conicto -2368 1567 lineto -2368 1738 2263 1818 conicto -2124 1920 1849 1920 conicto -1641 1920 1484 1846 conicto -1328 1773 1088 1536 conicto -1088 576 lineto -1295 576 1352 522 conicto -1472 417 1472 288 conicto -1472 159 1383 79 conicto -1295 0 1088 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 246 523 conicto -305 576 512 576 conicto -512 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 512 2432 conicto -1088 2432 lineto -end_ol grestore -gsave 14.410268 19.050000 translate 0.035278 -0.035278 scale -start_ol -2368 2240 moveto -2368 2432 lineto -3072 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3072 1856 conicto -2944 1856 lineto -2944 -86 lineto -2944 -367 2814 -576 conicto -2685 -786 2418 -937 conicto -2151 -1088 1817 -1088 conicto -1157 -1088 lineto -947 -1088 857 -1007 conicto -768 -927 768 -801 conicto -768 -673 858 -592 conicto -948 -512 1159 -512 conicto -1805 -512 lineto -2073 -512 2220 -385 conicto -2368 -259 2368 -66 conicto -2368 182 lineto -2176 59 1978 -2 conicto -1780 -64 1572 -64 conicto -985 -64 588 304 conicto -192 673 192 1215 conicto -192 1759 588 2127 conicto -985 2496 1572 2496 conicto -1791 2496 1989 2433 conicto -2188 2370 2368 2240 conicto -2368 1216 moveto -2368 1501 2132 1710 conicto -1897 1920 1568 1920 conicto -1239 1920 1003 1710 conicto -768 1501 768 1216 conicto -768 928 1003 720 conicto -1239 512 1568 512 conicto -1897 512 2132 720 conicto -2368 928 2368 1216 conicto -end_ol grestore -gsave 14.867468 19.050000 translate 0.035278 -0.035278 scale -start_ol -1920 3520 moveto -1920 2944 lineto -1344 2944 lineto -1344 3520 lineto -1920 3520 lineto -1984 2432 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 1856 lineto -960 1856 lineto -753 1856 664 1935 conicto -576 2015 576 2144 conicto -576 2273 664 2352 conicto -753 2432 960 2432 conicto -1984 2432 lineto -end_ol grestore -gsave 15.324668 19.050000 translate 0.035278 -0.035278 scale -start_ol -1088 2432 moveto -1088 2240 lineto -1249 2368 1444 2432 conicto -1640 2496 1868 2496 conicto -2395 2496 2701 2199 conicto -2944 1962 2944 1578 conicto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2161 0 2072 79 conicto -1984 159 1984 288 conicto -1984 417 2072 496 conicto -2161 576 2368 576 conicto -2368 1567 lineto -2368 1738 2263 1818 conicto -2124 1920 1849 1920 conicto -1641 1920 1484 1846 conicto -1328 1773 1088 1536 conicto -1088 576 lineto -1295 576 1352 522 conicto -1472 417 1472 288 conicto -1472 159 1383 79 conicto -1295 0 1088 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 246 523 conicto -305 576 512 576 conicto -512 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 512 2432 conicto -1088 2432 lineto -end_ol grestore -gsave 15.781868 19.050000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 19.521633 18.000000 translate 0.035278 -0.035278 scale -start_ol -1335 576 moveto -1417 576 lineto -1545 576 1636 483 conicto -1728 390 1728 258 conicto -1728 121 1635 28 conicto -1543 -64 1417 -64 conicto -1335 -64 lineto -1207 -64 1115 29 conicto -1024 123 1024 255 conicto -1024 392 1117 484 conicto -1210 576 1335 576 conicto -end_ol grestore -gsave 19.885700 18.000000 translate 0.035278 -0.035278 scale -start_ol -1335 576 moveto -1417 576 lineto -1545 576 1636 483 conicto -1728 390 1728 258 conicto -1728 121 1635 28 conicto -1543 -64 1417 -64 conicto -1335 -64 lineto -1207 -64 1115 29 conicto -1024 123 1024 255 conicto -1024 392 1117 484 conicto -1210 576 1335 576 conicto -end_ol grestore -gsave 20.249767 18.000000 translate 0.035278 -0.035278 scale -start_ol -1335 576 moveto -1417 576 lineto -1545 576 1636 483 conicto -1728 390 1728 258 conicto -1728 121 1635 28 conicto -1543 -64 1417 -64 conicto -1335 -64 lineto -1207 -64 1115 29 conicto -1024 123 1024 255 conicto -1024 392 1117 484 conicto -1210 576 1335 576 conicto -end_ol grestore -1.000000 1.000000 1.000000 srgb -n 23.119508 16.800000 m 29.769070 16.800000 l 28.640762 19.900000 l 21.991200 19.900000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 23.119508 16.800000 m 29.769070 16.800000 l 28.640762 19.900000 l 21.991200 19.900000 l cp s -gsave 23.598368 18.050000 translate 0.035278 -0.035278 scale -start_ol -960 192 moveto -877 69 826 34 conicto -776 0 703 0 conicto -559 0 471 88 conicto -384 176 384 381 conicto -384 767 lineto -384 975 464 1063 conicto -544 1152 675 1152 conicto -776 1152 844 1101 conicto -913 1050 949 930 conicto -985 810 1024 767 conicto -1106 684 1314 598 conicto -1522 512 1770 512 conicto -2155 512 2402 678 conicto -2560 780 2560 927 conicto -2560 1026 2485 1113 conicto -2410 1201 2240 1257 conicto -2129 1297 1744 1364 conicto -1278 1444 1035 1560 conicto -793 1677 652 1890 conicto -512 2103 512 2350 conicto -512 2740 843 3034 conicto -1175 3328 1706 3328 conicto -1920 3328 2101 3265 conicto -2283 3203 2432 3072 conicto -2559 3264 2685 3264 conicto -2828 3264 2918 3174 conicto -3008 3085 3008 2876 conicto -3008 2438 lineto -3008 2227 2928 2137 conicto -2849 2048 2723 2048 conicto -2616 2048 2538 2112 conicto -2477 2159 2446 2300 conicto -2416 2441 2368 2503 conicto -2287 2608 2126 2680 conicto -1965 2752 1754 2752 conicto -1446 2752 1267 2618 conicto -1088 2485 1088 2339 conicto -1088 2240 1161 2148 conicto -1235 2057 1377 2004 conicto -1471 1968 1908 1888 conicto -2346 1808 2583 1709 conicto -2821 1611 2978 1401 conicto -3136 1191 3136 901 conicto -3136 497 2842 255 conicto -2450 -64 1846 -64 conicto -1612 -64 1390 0 conicto -1169 64 960 192 conicto -end_ol grestore -gsave 24.055568 18.050000 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 24.512768 18.050000 translate 0.035278 -0.035278 scale -start_ol -1427 184 moveto -406 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 406 2432 conicto -1071 2432 lineto -1295 2432 1383 2352 conicto -1472 2273 1472 2144 conicto -1472 2015 1383 1935 conicto -1295 1856 1071 1856 conicto -1745 765 lineto -2344 1856 lineto -2097 1856 2008 1935 conicto -1920 2015 1920 2144 conicto -1920 2273 2008 2352 conicto -2097 2432 2344 2432 conicto -2988 2432 lineto -3215 2432 3303 2352 conicto -3392 2273 3392 2144 conicto -3392 2015 3303 1935 conicto -3215 1856 2988 1856 conicto -1684 -512 lineto -1876 -512 2063 -512 conicto -2240 -671 2240 -800 conicto -2240 -929 2151 -1008 conicto -2063 -1088 1876 -1088 conicto -469 -1088 lineto -241 -1088 152 -1008 conicto -64 -929 64 -800 conicto -64 -671 152 -591 conicto -241 -512 469 -512 conicto -1045 -512 lineto -1427 184 lineto -end_ol grestore -gsave 24.969968 18.050000 translate 0.035278 -0.035278 scale -start_ol -1984 3520 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 2944 lineto -960 2944 lineto -753 2944 664 3023 conicto -576 3103 576 3232 conicto -576 3361 664 3440 conicto -753 3520 960 3520 conicto -1984 3520 lineto -end_ol grestore -gsave 25.427168 18.050000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 25.884368 18.050000 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -gsave 26.341568 18.050000 translate 0.035278 -0.035278 scale -start_ol -1088 3520 moveto -1088 2240 lineto -1273 2370 1462 2433 conicto -1651 2496 1844 2496 conicto -2150 2496 2389 2401 conicto -2629 2306 2786 2102 conicto -2944 1898 2944 1588 conicto -2944 576 lineto -3151 576 3210 523 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2161 0 2072 79 conicto -1984 159 1984 288 conicto -1984 417 2101 522 conicto -2161 576 2368 576 conicto -2368 1526 lineto -2368 1728 2262 1810 conicto -2124 1920 1855 1920 conicto -1656 1920 1502 1848 conicto -1349 1776 1088 1536 conicto -1088 576 lineto -1295 576 1351 523 conicto -1472 417 1472 288 conicto -1472 159 1383 79 conicto -1295 0 1088 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 247 522 conicto -305 576 512 576 conicto -512 2944 lineto -384 2944 lineto -177 2944 88 3023 conicto -0 3103 0 3232 conicto -0 3361 88 3440 conicto -177 3520 384 3520 conicto -1088 3520 lineto -end_ol grestore -gsave 26.798768 18.050000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 27.255968 18.050000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 27.713168 18.050000 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 23.831202 19.050000 translate 0.035278 -0.035278 scale -start_ol -1024 320 moveto -1024 -512 lineto -1344 -512 lineto -1551 -512 1639 -591 conicto -1728 -671 1728 -800 conicto -1728 -929 1639 -1008 conicto -1551 -1088 1344 -1088 conicto -320 -1088 lineto -113 -1088 24 -1008 conicto --64 -929 -64 -800 conicto --64 -671 24 -591 conicto -113 -512 320 -512 conicto -448 -512 lineto -448 1856 lineto -320 1856 lineto -113 1856 24 1935 conicto --64 2015 -64 2144 conicto --64 2273 24 2352 conicto -113 2432 320 2432 conicto -1024 2432 lineto -1024 2176 lineto -1216 2338 1435 2417 conicto -1655 2496 1886 2496 conicto -2485 2496 2906 2106 conicto -3328 1717 3328 1215 conicto -3328 661 2827 300 conicto -2408 0 1884 0 conicto -1657 0 1436 79 conicto -1216 159 1024 320 conicto -2752 1213 moveto -2752 1328 2655 1505 conicto -2558 1683 2358 1801 conicto -2158 1920 1888 1920 conicto -1452 1920 1197 1614 conicto -1024 1403 1024 1208 conicto -1024 990 1272 783 conicto -1521 576 1888 576 conicto -2257 576 2504 781 conicto -2752 987 2752 1213 conicto -end_ol grestore -gsave 24.288402 19.050000 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -gsave 24.745602 19.050000 translate 0.035278 -0.035278 scale -start_ol -3200 1179 moveto -3200 867 3018 575 conicto -2837 283 2477 109 conicto -2118 -64 1727 -64 conicto -1338 -64 983 106 conicto -628 277 442 570 conicto -256 864 256 1185 conicto -256 1510 444 1823 conicto -633 2136 987 2316 conicto -1341 2496 1727 2496 conicto -2115 2496 2474 2312 conicto -2834 2128 3017 1817 conicto -3200 1507 3200 1179 conicto -2624 1178 moveto -2624 1428 2429 1637 conicto -2162 1920 1728 1920 conicto -1345 1920 1088 1695 conicto -832 1471 832 1175 conicto -832 933 1091 722 conicto -1350 512 1728 512 conicto -2107 512 2365 722 conicto -2624 933 2624 1178 conicto -end_ol grestore -gsave 25.202802 19.050000 translate 0.035278 -0.035278 scale -start_ol -2685 2304 moveto -2793 2432 2906 2432 conicto -3034 2432 3117 2342 conicto -3200 2253 3200 2045 conicto -3200 1667 lineto -3200 1456 3116 1368 conicto -3033 1280 2900 1280 conicto -2778 1280 2693 1347 conicto -2632 1398 2597 1553 conicto -2563 1709 2429 1792 conicto -2194 1920 1827 1920 conicto -1405 1920 1150 1706 conicto -896 1492 896 1164 conicto -896 862 1140 687 conicto -1385 512 1952 512 conicto -2324 512 2559 582 conicto -2699 625 2824 728 conicto -2950 832 3045 832 conicto -3160 832 3244 746 conicto -3328 660 3328 544 conicto -3328 356 3061 188 conicto -2665 -64 1903 -64 conicto -1217 -64 836 198 conicto -320 549 320 1160 conicto -320 1738 741 2117 conicto -1162 2496 1840 2496 conicto -2085 2496 2296 2448 conicto -2507 2400 2685 2304 conicto -end_ol grestore -gsave 25.660002 19.050000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 26.117202 19.050000 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -gsave 26.574402 19.050000 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -gsave 27.031602 19.050000 translate 0.035278 -0.035278 scale -start_ol -3200 1179 moveto -3200 867 3018 575 conicto -2837 283 2477 109 conicto -2118 -64 1727 -64 conicto -1338 -64 983 106 conicto -628 277 442 570 conicto -256 864 256 1185 conicto -256 1510 444 1823 conicto -633 2136 987 2316 conicto -1341 2496 1727 2496 conicto -2115 2496 2474 2312 conicto -2834 2128 3017 1817 conicto -3200 1507 3200 1179 conicto -2624 1178 moveto -2624 1428 2429 1637 conicto -2162 1920 1728 1920 conicto -1345 1920 1088 1695 conicto -832 1471 832 1175 conicto -832 933 1091 722 conicto -1350 512 1728 512 conicto -2107 512 2365 722 conicto -2624 933 2624 1178 conicto -end_ol grestore -gsave 27.488802 19.050000 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 9.000000 12.000000 m 0.275854 16.531257 l s -0 slj -n 0.091482 16.176282 m -0.434096 16.900000 l 0.460225 16.886232 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 10.000000 13.000000 m 8.559258 16.075549 l s -0 slj -n 8.197033 15.905865 m 8.219889 16.800000 l 8.921483 16.245234 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 14.000000 15.000000 m 14.920345 16.171014 l s -0 slj -n 14.605851 16.418186 m 15.414689 16.800000 l 15.234838 15.923842 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 18.000000 12.000000 m 24.128904 16.337833 l s -0 slj -n 23.897820 16.664330 m 24.781898 16.800000 l 24.359988 16.011336 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 27.659031 9.858198 m 26.748934 9.845871 24.983900 10.104733 25.232108 10.659438 c 25.480314 11.214144 26.666198 11.337406 27.162614 11.177163 c 27.659031 11.016915 26.390411 11.953745 28.817336 12.200281 c 31.244239 12.446817 32.485281 12.052360 32.126758 11.768844 c 31.768235 11.485328 34.250317 12.434490 35.408623 11.892112 c 36.566928 11.349733 34.222739 10.832013 34.719155 10.905974 c 35.215572 10.979935 36.732400 10.881320 36.235983 9.956812 c 35.739567 9.032303 31.271818 9.747257 31.768235 9.611662 c 32.264651 9.476068 31.023610 8.798093 29.479225 8.933688 c 27.934818 9.069284 27.825275 9.315339 27.659803 9.857717 c 27.659031 9.858198 l f -0.000000 0.000000 0.000000 srgb -n 27.659031 9.858198 m 26.748934 9.845871 24.983900 10.104733 25.232108 10.659438 c 25.480314 11.214144 26.666198 11.337406 27.162614 11.177163 c 27.659031 11.016915 26.390411 11.953745 28.817336 12.200281 c 31.244239 12.446817 32.485281 12.052360 32.126758 11.768844 c 31.768235 11.485328 34.250317 12.434490 35.408623 11.892112 c 36.566928 11.349733 34.222739 10.832013 34.719155 10.905974 c 35.215572 10.979935 36.732400 10.881320 36.235983 9.956812 c 35.739567 9.032303 31.271818 9.747257 31.768235 9.611662 c 32.264651 9.476068 31.023610 8.798093 29.479225 8.933688 c 27.934818 9.069284 27.825275 9.315339 27.659803 9.857717 c 27.659031 9.858198 l s -gsave 28.683886 10.886774 translate 0.035278 -0.035278 scale -start_ol -960 192 moveto -877 69 826 34 conicto -776 0 703 0 conicto -559 0 471 88 conicto -384 176 384 381 conicto -384 767 lineto -384 975 464 1063 conicto -544 1152 675 1152 conicto -776 1152 844 1101 conicto -913 1050 949 930 conicto -985 810 1024 767 conicto -1106 684 1314 598 conicto -1522 512 1770 512 conicto -2155 512 2402 678 conicto -2560 780 2560 927 conicto -2560 1026 2485 1113 conicto -2410 1201 2240 1257 conicto -2129 1297 1744 1364 conicto -1278 1444 1035 1560 conicto -793 1677 652 1890 conicto -512 2103 512 2350 conicto -512 2740 843 3034 conicto -1175 3328 1706 3328 conicto -1920 3328 2101 3265 conicto -2283 3203 2432 3072 conicto -2559 3264 2685 3264 conicto -2828 3264 2918 3174 conicto -3008 3085 3008 2876 conicto -3008 2438 lineto -3008 2227 2928 2137 conicto -2849 2048 2723 2048 conicto -2616 2048 2538 2112 conicto -2477 2159 2446 2300 conicto -2416 2441 2368 2503 conicto -2287 2608 2126 2680 conicto -1965 2752 1754 2752 conicto -1446 2752 1267 2618 conicto -1088 2485 1088 2339 conicto -1088 2240 1161 2148 conicto -1235 2057 1377 2004 conicto -1471 1968 1908 1888 conicto -2346 1808 2583 1709 conicto -2821 1611 2978 1401 conicto -3136 1191 3136 901 conicto -3136 497 2842 255 conicto -2450 -64 1846 -64 conicto -1612 -64 1390 0 conicto -1169 64 960 192 conicto -end_ol grestore -gsave 29.141086 10.886774 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 29.598286 10.886774 translate 0.035278 -0.035278 scale -start_ol -1427 184 moveto -406 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 406 2432 conicto -1071 2432 lineto -1295 2432 1383 2352 conicto -1472 2273 1472 2144 conicto -1472 2015 1383 1935 conicto -1295 1856 1071 1856 conicto -1745 765 lineto -2344 1856 lineto -2097 1856 2008 1935 conicto -1920 2015 1920 2144 conicto -1920 2273 2008 2352 conicto -2097 2432 2344 2432 conicto -2988 2432 lineto -3215 2432 3303 2352 conicto -3392 2273 3392 2144 conicto -3392 2015 3303 1935 conicto -3215 1856 2988 1856 conicto -1684 -512 lineto -1876 -512 2063 -512 conicto -2240 -671 2240 -800 conicto -2240 -929 2151 -1008 conicto -2063 -1088 1876 -1088 conicto -469 -1088 lineto -241 -1088 152 -1008 conicto -64 -929 64 -800 conicto -64 -671 152 -591 conicto -241 -512 469 -512 conicto -1045 -512 lineto -1427 184 lineto -end_ol grestore -gsave 30.055486 10.886774 translate 0.035278 -0.035278 scale -start_ol -1984 3520 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 2944 lineto -960 2944 lineto -753 2944 664 3023 conicto -576 3103 576 3232 conicto -576 3361 664 3440 conicto -753 3520 960 3520 conicto -1984 3520 lineto -end_ol grestore -gsave 30.512686 10.886774 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 30.969886 10.886774 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -gsave 31.427086 10.886774 translate 0.035278 -0.035278 scale -start_ol -1088 3520 moveto -1088 2240 lineto -1273 2370 1462 2433 conicto -1651 2496 1844 2496 conicto -2150 2496 2389 2401 conicto -2629 2306 2786 2102 conicto -2944 1898 2944 1588 conicto -2944 576 lineto -3151 576 3210 523 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2161 0 2072 79 conicto -1984 159 1984 288 conicto -1984 417 2101 522 conicto -2161 576 2368 576 conicto -2368 1526 lineto -2368 1728 2262 1810 conicto -2124 1920 1855 1920 conicto -1656 1920 1502 1848 conicto -1349 1776 1088 1536 conicto -1088 576 lineto -1295 576 1351 523 conicto -1472 417 1472 288 conicto -1472 159 1383 79 conicto -1295 0 1088 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 247 522 conicto -305 576 512 576 conicto -512 2944 lineto -384 2944 lineto -177 2944 88 3023 conicto -0 3103 0 3232 conicto -0 3361 88 3440 conicto -177 3520 384 3520 conicto -1088 3520 lineto -end_ol grestore -gsave 31.884286 10.886774 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 32.341486 10.886774 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 32.798686 10.886774 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 33.255886 10.886774 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 30.256051 12.279592 m 28.450209 16.077513 l s -0 slj -n 28.088965 15.905748 m 28.106679 16.800000 l 28.811452 16.249278 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n -1.999999 23.999999 m -1.999999 25.512710 l 0.016949 25.512710 l 0.016949 23.999999 l f -0.000000 0.000000 0.000000 srgb -n -1.999999 23.999999 m -1.999999 25.512710 l 0.016949 25.512710 l 0.016949 23.999999 l cp s -0.100000 slw -0 slc -0 slj -[] 0 sd -n -1.781496 24.218502 m -1.781496 25.260591 l -0.201554 25.260591 l -0.201554 24.218502 l f -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n -1.726871 25.512710 m -0.688983 25.512710 l -0.688983 25.748020 l -1.672245 25.748020 l f -0.000000 0.000000 0.000000 srgb -n -1.726871 25.512710 m -0.688983 25.512710 l -0.688983 25.748020 l -1.672245 25.748020 l cp s -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n -0.688983 25.512710 m -0.256179 25.512710 l -0.310805 25.748020 l -0.688983 25.748020 l f -0.000000 0.000000 0.000000 srgb -n -0.688983 25.512710 m -0.256179 25.512710 l -0.310805 25.748020 l -0.688983 25.748020 l cp s -0.025000 slw -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n -0.618390 25.583303 m -0.618390 25.677427 l -0.524265 25.677427 l -0.524265 25.583303 l f -0.000000 0.000000 0.000000 srgb -n -0.618390 25.583303 m -0.618390 25.677427 l -0.524265 25.677427 l -0.524265 25.583303 l cp s -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n -1.193220 25.748020 m -0.789830 25.748020 l -0.789830 25.865676 l -0.588135 25.865676 l -0.588135 25.983331 l -1.394915 25.983331 l -1.394915 25.865676 l -1.193220 25.865676 l f -0.000000 0.000000 0.000000 srgb -n -1.193220 25.748020 m -0.789830 25.748020 l -0.789830 25.865676 l -0.588135 25.865676 l -0.588135 25.983331 l -1.394915 25.983331 l -1.394915 25.865676 l -1.193220 25.865676 l cp s -gsave -2.566325 26.750563 translate 0.035278 -0.035278 scale -start_ol -2048 2688 moveto -2048 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -1088 0 lineto -881 0 792 79 conicto -704 159 704 288 conicto -704 417 792 496 conicto -881 576 1088 576 conicto -1472 576 lineto -1472 2688 lineto -832 2688 lineto -832 2112 lineto -832 1905 752 1816 conicto -673 1728 544 1728 conicto -415 1728 335 1816 conicto -256 1905 256 2112 conicto -256 3264 lineto -3264 3264 lineto -3264 2112 lineto -3264 1905 3184 1816 conicto -3105 1728 2976 1728 conicto -2847 1728 2767 1816 conicto -2688 1905 2688 2112 conicto -2688 2688 lineto -2048 2688 lineto -end_ol grestore -gsave -2.109125 26.750563 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave -1.651925 26.750563 translate 0.035278 -0.035278 scale -start_ol -2113 1258 moveto -2936 576 lineto -3131 567 3229 487 conicto -3328 407 3328 287 conicto -3328 160 3240 80 conicto -3153 0 2947 0 conicto -2300 0 lineto -2095 0 2007 80 conicto -1920 160 1920 292 conicto -1920 393 1983 470 conicto -2046 547 2156 576 conicto -1722 936 lineto -1286 576 lineto -1420 542 1478 471 conicto -1536 401 1536 292 conicto -1536 160 1449 80 conicto -1363 0 1156 0 conicto -511 0 lineto -304 0 216 80 conicto -128 160 128 289 conicto -128 407 223 487 conicto -318 567 510 576 conicto -1335 1256 lineto -611 1856 lineto -436 1867 346 1947 conicto -256 2028 256 2145 conicto -256 2271 342 2351 conicto -429 2432 632 2432 conicto -1160 2432 lineto -1363 2432 1449 2348 conicto -1536 2265 1536 2137 conicto -1536 1964 1392 1856 conicto -1726 1579 lineto -2062 1856 lineto -1920 1971 1920 2121 conicto -1920 2263 2007 2347 conicto -2094 2432 2298 2432 conicto -2822 2432 lineto -3026 2432 3113 2351 conicto -3200 2271 3200 2143 conicto -3200 2028 3108 1947 conicto -3017 1867 2838 1856 conicto -2113 1258 lineto -end_ol grestore -gsave -1.194725 26.750563 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave -0.737525 26.750563 translate 0.035278 -0.035278 scale -start_ol -2944 2432 moveto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2368 192 lineto -2114 65 1883 0 conicto -1652 -64 1445 -64 conicto -1153 -64 939 47 conicto -725 158 601 353 conicto -512 494 512 706 conicto -512 1856 lineto -384 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 384 2432 conicto -1088 2432 lineto -1088 840 lineto -1088 671 1180 591 conicto -1272 512 1462 512 conicto -1643 512 1851 576 conicto -2060 640 2368 807 conicto -2368 1856 lineto -2176 1856 lineto -1969 1856 1880 1935 conicto -1792 2015 1792 2144 conicto -1792 2273 1880 2352 conicto -1969 2432 2176 2432 conicto -2944 2432 lineto -end_ol grestore -gsave -0.280325 26.750563 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 0.176875 26.750563 translate 0.035278 -0.035278 scale -start_ol -1984 3520 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 2944 lineto -960 2944 lineto -753 2944 664 3023 conicto -576 3103 576 3232 conicto -576 3361 664 3440 conicto -753 3520 960 3520 conicto -1984 3520 lineto -end_ol grestore -gsave -3.031992 27.750563 translate 0.035278 -0.035278 scale -start_ol -1920 3520 moveto -1920 2944 lineto -1344 2944 lineto -1344 3520 lineto -1920 3520 lineto -1984 2432 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 1856 lineto -960 1856 lineto -753 1856 664 1935 conicto -576 2015 576 2144 conicto -576 2273 664 2352 conicto -753 2432 960 2432 conicto -1984 2432 lineto -end_ol grestore -gsave -2.574792 27.750563 translate 0.035278 -0.035278 scale -start_ol -1088 2432 moveto -1088 2240 lineto -1249 2368 1444 2432 conicto -1640 2496 1868 2496 conicto -2395 2496 2701 2199 conicto -2944 1962 2944 1578 conicto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2161 0 2072 79 conicto -1984 159 1984 288 conicto -1984 417 2072 496 conicto -2161 576 2368 576 conicto -2368 1567 lineto -2368 1738 2263 1818 conicto -2124 1920 1849 1920 conicto -1641 1920 1484 1846 conicto -1328 1773 1088 1536 conicto -1088 576 lineto -1295 576 1352 522 conicto -1472 417 1472 288 conicto -1472 159 1383 79 conicto -1295 0 1088 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 246 523 conicto -305 576 512 576 conicto -512 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 512 2432 conicto -1088 2432 lineto -end_ol grestore -gsave -2.117592 27.750563 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave -1.660392 27.750563 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave -1.203192 27.750563 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -gsave -0.745992 27.750563 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -768 1856 lineto -561 1856 472 1935 conicto -384 2015 384 2144 conicto -384 2273 472 2352 conicto -561 2432 768 2432 conicto -1024 2432 lineto -1024 2650 lineto -1024 3025 1319 3272 conicto -1614 3520 2175 3520 conicto -2424 3520 2751 3474 conicto -3079 3428 3171 3344 conicto -3264 3261 3264 3131 conicto -3264 2991 3180 2903 conicto -3097 2816 2976 2816 conicto -2918 2816 2805 2844 conicto -2426 2944 2135 2944 conicto -1830 2944 1715 2859 conicto -1600 2775 1600 2649 conicto -1600 2432 lineto -2496 2432 lineto -2703 2432 2791 2352 conicto -2880 2273 2880 2144 conicto -2880 2015 2791 1935 conicto -2703 1856 2496 1856 conicto -1600 1856 lineto -end_ol grestore -gsave -0.288792 27.750563 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 0.168408 27.750563 translate 0.035278 -0.035278 scale -start_ol -2685 2304 moveto -2793 2432 2906 2432 conicto -3034 2432 3117 2342 conicto -3200 2253 3200 2045 conicto -3200 1667 lineto -3200 1456 3116 1368 conicto -3033 1280 2900 1280 conicto -2778 1280 2693 1347 conicto -2632 1398 2597 1553 conicto -2563 1709 2429 1792 conicto -2194 1920 1827 1920 conicto -1405 1920 1150 1706 conicto -896 1492 896 1164 conicto -896 862 1140 687 conicto -1385 512 1952 512 conicto -2324 512 2559 582 conicto -2699 625 2824 728 conicto -2950 832 3045 832 conicto -3160 832 3244 746 conicto -3328 660 3328 544 conicto -3328 356 3061 188 conicto -2665 -64 1903 -64 conicto -1217 -64 836 198 conicto -320 549 320 1160 conicto -320 1738 741 2117 conicto -1162 2496 1840 2496 conicto -2085 2496 2296 2448 conicto -2507 2400 2685 2304 conicto -end_ol grestore -gsave 0.625608 27.750563 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n -1.198434 19.000000 m -1.039638 22.200983 l s -0 slj -n -1.439147 22.220802 m -1.000000 23.000000 l -0.640129 22.181164 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 7.091581 19.900000 m 0.733023 22.679568 l s -0 slj -n 0.572807 22.313056 m 0.000000 23.000000 l 0.893239 23.046079 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 14.286381 19.900000 m 1.764431 23.764107 l s -0 slj -n 1.646484 23.381891 m 1.000000 24.000000 l 1.882377 24.146322 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 7.000001 23.999999 m 7.000001 25.512710 l 9.016949 25.512710 l 9.016949 23.999999 l f -0.000000 0.000000 0.000000 srgb -n 7.000001 23.999999 m 7.000001 25.512710 l 9.016949 25.512710 l 9.016949 23.999999 l cp s -0.100000 slw -0 slc -0 slj -[] 0 sd -n 7.218504 24.218502 m 7.218504 25.260591 l 8.798446 25.260591 l 8.798446 24.218502 l f -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 7.273129 25.512710 m 8.311017 25.512710 l 8.311017 25.748020 l 7.327755 25.748020 l f -0.000000 0.000000 0.000000 srgb -n 7.273129 25.512710 m 8.311017 25.512710 l 8.311017 25.748020 l 7.327755 25.748020 l cp s -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 8.311017 25.512710 m 8.743821 25.512710 l 8.689195 25.748020 l 8.311017 25.748020 l f -0.000000 0.000000 0.000000 srgb -n 8.311017 25.512710 m 8.743821 25.512710 l 8.689195 25.748020 l 8.311017 25.748020 l cp s -0.025000 slw -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 8.381610 25.583303 m 8.381610 25.677427 l 8.475735 25.677427 l 8.475735 25.583303 l f -0.000000 0.000000 0.000000 srgb -n 8.381610 25.583303 m 8.381610 25.677427 l 8.475735 25.677427 l 8.475735 25.583303 l cp s -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 7.806780 25.748020 m 8.210170 25.748020 l 8.210170 25.865676 l 8.411865 25.865676 l 8.411865 25.983331 l 7.605085 25.983331 l 7.605085 25.865676 l 7.806780 25.865676 l f -0.000000 0.000000 0.000000 srgb -n 7.806780 25.748020 m 8.210170 25.748020 l 8.210170 25.865676 l 8.411865 25.865676 l 8.411865 25.983331 l 7.605085 25.983331 l 7.605085 25.865676 l 7.806780 25.865676 l cp s -gsave 5.976475 26.750563 translate 0.035278 -0.035278 scale -start_ol -2368 2240 moveto -2368 2432 lineto -3072 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3072 1856 conicto -2944 1856 lineto -2944 -86 lineto -2944 -367 2814 -576 conicto -2685 -786 2418 -937 conicto -2151 -1088 1817 -1088 conicto -1157 -1088 lineto -947 -1088 857 -1007 conicto -768 -927 768 -801 conicto -768 -673 858 -592 conicto -948 -512 1159 -512 conicto -1805 -512 lineto -2073 -512 2220 -385 conicto -2368 -259 2368 -66 conicto -2368 182 lineto -2176 59 1978 -2 conicto -1780 -64 1572 -64 conicto -985 -64 588 304 conicto -192 673 192 1215 conicto -192 1759 588 2127 conicto -985 2496 1572 2496 conicto -1791 2496 1989 2433 conicto -2188 2370 2368 2240 conicto -2368 1216 moveto -2368 1501 2132 1710 conicto -1897 1920 1568 1920 conicto -1239 1920 1003 1710 conicto -768 1501 768 1216 conicto -768 928 1003 720 conicto -1239 512 1568 512 conicto -1897 512 2132 720 conicto -2368 928 2368 1216 conicto -end_ol grestore -gsave 6.433675 26.750563 translate 0.035278 -0.035278 scale -start_ol -2048 2688 moveto -2048 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -1088 0 lineto -881 0 792 79 conicto -704 159 704 288 conicto -704 417 792 496 conicto -881 576 1088 576 conicto -1472 576 lineto -1472 2688 lineto -832 2688 lineto -832 2112 lineto -832 1905 752 1816 conicto -673 1728 544 1728 conicto -415 1728 335 1816 conicto -256 1905 256 2112 conicto -256 3264 lineto -3264 3264 lineto -3264 2112 lineto -3264 1905 3184 1816 conicto -3105 1728 2976 1728 conicto -2847 1728 2767 1816 conicto -2688 1905 2688 2112 conicto -2688 2688 lineto -2048 2688 lineto -end_ol grestore -gsave 6.890875 26.750563 translate 0.035278 -0.035278 scale -start_ol -3200 1179 moveto -3200 867 3018 575 conicto -2837 283 2477 109 conicto -2118 -64 1727 -64 conicto -1338 -64 983 106 conicto -628 277 442 570 conicto -256 864 256 1185 conicto -256 1510 444 1823 conicto -633 2136 987 2316 conicto -1341 2496 1727 2496 conicto -2115 2496 2474 2312 conicto -2834 2128 3017 1817 conicto -3200 1507 3200 1179 conicto -2624 1178 moveto -2624 1428 2429 1637 conicto -2162 1920 1728 1920 conicto -1345 1920 1088 1695 conicto -832 1471 832 1175 conicto -832 933 1091 722 conicto -1350 512 1728 512 conicto -2107 512 2365 722 conicto -2624 933 2624 1178 conicto -end_ol grestore -gsave 7.348075 26.750563 translate 0.035278 -0.035278 scale -start_ol -1024 320 moveto -1024 -512 lineto -1344 -512 lineto -1551 -512 1639 -591 conicto -1728 -671 1728 -800 conicto -1728 -929 1639 -1008 conicto -1551 -1088 1344 -1088 conicto -320 -1088 lineto -113 -1088 24 -1008 conicto --64 -929 -64 -800 conicto --64 -671 24 -591 conicto -113 -512 320 -512 conicto -448 -512 lineto -448 1856 lineto -320 1856 lineto -113 1856 24 1935 conicto --64 2015 -64 2144 conicto --64 2273 24 2352 conicto -113 2432 320 2432 conicto -1024 2432 lineto -1024 2176 lineto -1216 2338 1435 2417 conicto -1655 2496 1886 2496 conicto -2485 2496 2906 2106 conicto -3328 1717 3328 1215 conicto -3328 661 2827 300 conicto -2408 0 1884 0 conicto -1657 0 1436 79 conicto -1216 159 1024 320 conicto -2752 1213 moveto -2752 1328 2655 1505 conicto -2558 1683 2358 1801 conicto -2158 1920 1888 1920 conicto -1452 1920 1197 1614 conicto -1024 1403 1024 1208 conicto -1024 990 1272 783 conicto -1521 576 1888 576 conicto -2257 576 2504 781 conicto -2752 987 2752 1213 conicto -end_ol grestore -gsave 7.805275 26.750563 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave 8.262475 26.750563 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 8.719675 26.750563 translate 0.035278 -0.035278 scale -start_ol -1760 659 moveto -2322 1856 lineto -2097 1856 2042 1906 conicto -1920 2015 1920 2144 conicto -1920 2273 2008 2352 conicto -2097 2432 2322 2432 conicto -3079 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3079 1856 conicto -2951 1856 lineto -2080 0 lineto -1440 0 lineto -569 1856 lineto -505 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 505 2432 conicto -1198 2432 lineto -1423 2432 1511 2352 conicto -1600 2273 1600 2144 conicto -1600 2015 1482 1909 conicto -1423 1856 1198 1856 conicto -1760 659 lineto -end_ol grestore -gsave 9.176875 26.750563 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 9.634075 26.750563 translate 0.035278 -0.035278 scale -start_ol -1984 3520 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 2944 lineto -960 2944 lineto -753 2944 664 3023 conicto -576 3103 576 3232 conicto -576 3361 664 3440 conicto -753 3520 960 3520 conicto -1984 3520 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n -1.198434 19.000000 m 5.342951 23.543616 l s -0 slj -n 5.114759 23.872141 m 6.000000 24.000000 l 5.571142 23.215092 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 7.091581 19.900000 m 7.826944 23.218942 l s -0 slj -n 7.436415 23.305470 m 8.000000 24.000000 l 8.217473 23.132414 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 14.286381 19.900000 m 10.578115 23.447023 l s -0 slj -n 10.301626 23.157966 m 10.000000 24.000000 l 10.854603 23.736080 l f -gsave 13.398867 25.000000 translate 0.035278 -0.035278 scale -start_ol -2176 321 moveto -2176 157 2057 46 conicto -1938 -64 1728 -64 conicto -1519 -64 1399 46 conicto -1280 157 1280 321 conicto -1280 484 1399 594 conicto -1519 704 1728 704 conicto -1938 704 2057 594 conicto -2176 484 2176 321 conicto -end_ol grestore -gsave 13.856067 25.000000 translate 0.035278 -0.035278 scale -start_ol -2176 321 moveto -2176 157 2057 46 conicto -1938 -64 1728 -64 conicto -1519 -64 1399 46 conicto -1280 157 1280 321 conicto -1280 484 1399 594 conicto -1519 704 1728 704 conicto -1938 704 2057 594 conicto -2176 484 2176 321 conicto -end_ol grestore -gsave 14.313267 25.000000 translate 0.035278 -0.035278 scale -start_ol -2176 321 moveto -2176 157 2057 46 conicto -1938 -64 1728 -64 conicto -1519 -64 1399 46 conicto -1280 157 1280 321 conicto -1280 484 1399 594 conicto -1519 704 1728 704 conicto -1938 704 2057 594 conicto -2176 484 2176 321 conicto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 19.000001 23.999999 m 19.000001 25.512710 l 21.016949 25.512710 l 21.016949 23.999999 l f -0.000000 0.000000 0.000000 srgb -n 19.000001 23.999999 m 19.000001 25.512710 l 21.016949 25.512710 l 21.016949 23.999999 l cp s -0.100000 slw -0 slc -0 slj -[] 0 sd -n 19.218504 24.218502 m 19.218504 25.260591 l 20.798446 25.260591 l 20.798446 24.218502 l f -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 19.273129 25.512710 m 20.311017 25.512710 l 20.311017 25.748020 l 19.327755 25.748020 l f -0.000000 0.000000 0.000000 srgb -n 19.273129 25.512710 m 20.311017 25.512710 l 20.311017 25.748020 l 19.327755 25.748020 l cp s -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 20.311017 25.512710 m 20.743821 25.512710 l 20.689195 25.748020 l 20.311017 25.748020 l f -0.000000 0.000000 0.000000 srgb -n 20.311017 25.512710 m 20.743821 25.512710 l 20.689195 25.748020 l 20.311017 25.748020 l cp s -0.025000 slw -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 20.381610 25.583303 m 20.381610 25.677427 l 20.475735 25.677427 l 20.475735 25.583303 l f -0.000000 0.000000 0.000000 srgb -n 20.381610 25.583303 m 20.381610 25.677427 l 20.475735 25.677427 l 20.475735 25.583303 l cp s -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 19.806780 25.748020 m 20.210170 25.748020 l 20.210170 25.865676 l 20.411865 25.865676 l 20.411865 25.983331 l 19.605085 25.983331 l 19.605085 25.865676 l 19.806780 25.865676 l f -0.000000 0.000000 0.000000 srgb -n 19.806780 25.748020 m 20.210170 25.748020 l 20.210170 25.865676 l 20.411865 25.865676 l 20.411865 25.983331 l 19.605085 25.983331 l 19.605085 25.865676 l 19.806780 25.865676 l cp s -gsave 18.878175 26.750563 translate 0.035278 -0.035278 scale -start_ol -3328 1630 moveto -3328 903 2845 419 conicto -2362 -64 1727 -64 conicto -1156 -64 696 338 conicto -128 836 128 1630 conicto -128 2425 696 2925 conicto -1156 3328 1727 3328 conicto -2362 3328 2845 2844 conicto -3328 2361 3328 1630 conicto -2752 1631 moveto -2752 2116 2439 2434 conicto -2126 2752 1727 2752 conicto -1331 2752 1017 2433 conicto -704 2114 704 1631 conicto -704 1148 1017 830 conicto -1331 512 1727 512 conicto -2126 512 2439 828 conicto -2752 1145 2752 1631 conicto -end_ol grestore -gsave 19.335375 26.750563 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 19.792575 26.750563 translate 0.035278 -0.035278 scale -start_ol -1088 3520 moveto -1088 2240 lineto -1273 2370 1462 2433 conicto -1651 2496 1844 2496 conicto -2150 2496 2389 2401 conicto -2629 2306 2786 2102 conicto -2944 1898 2944 1588 conicto -2944 576 lineto -3151 576 3210 523 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2161 0 2072 79 conicto -1984 159 1984 288 conicto -1984 417 2101 522 conicto -2161 576 2368 576 conicto -2368 1526 lineto -2368 1728 2262 1810 conicto -2124 1920 1855 1920 conicto -1656 1920 1502 1848 conicto -1349 1776 1088 1536 conicto -1088 576 lineto -1295 576 1351 523 conicto -1472 417 1472 288 conicto -1472 159 1383 79 conicto -1295 0 1088 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 247 522 conicto -305 576 512 576 conicto -512 2944 lineto -384 2944 lineto -177 2944 88 3023 conicto -0 3103 0 3232 conicto -0 3361 88 3440 conicto -177 3520 384 3520 conicto -1088 3520 lineto -end_ol grestore -gsave 20.249775 26.750563 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 20.706975 26.750563 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -gsave 17.747875 27.750563 translate 0.035278 -0.035278 scale -start_ol -1920 3520 moveto -1920 2944 lineto -1344 2944 lineto -1344 3520 lineto -1920 3520 lineto -1984 2432 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 1856 lineto -960 1856 lineto -753 1856 664 1935 conicto -576 2015 576 2144 conicto -576 2273 664 2352 conicto -753 2432 960 2432 conicto -1984 2432 lineto -end_ol grestore -gsave 18.205075 27.750563 translate 0.035278 -0.035278 scale -start_ol -1088 2432 moveto -1088 2240 lineto -1249 2368 1444 2432 conicto -1640 2496 1868 2496 conicto -2395 2496 2701 2199 conicto -2944 1962 2944 1578 conicto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2161 0 2072 79 conicto -1984 159 1984 288 conicto -1984 417 2072 496 conicto -2161 576 2368 576 conicto -2368 1567 lineto -2368 1738 2263 1818 conicto -2124 1920 1849 1920 conicto -1641 1920 1484 1846 conicto -1328 1773 1088 1536 conicto -1088 576 lineto -1295 576 1352 522 conicto -1472 417 1472 288 conicto -1472 159 1383 79 conicto -1295 0 1088 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 246 523 conicto -305 576 512 576 conicto -512 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 512 2432 conicto -1088 2432 lineto -end_ol grestore -gsave 18.662275 27.750563 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 19.119475 27.750563 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 19.576675 27.750563 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -gsave 20.033875 27.750563 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -768 1856 lineto -561 1856 472 1935 conicto -384 2015 384 2144 conicto -384 2273 472 2352 conicto -561 2432 768 2432 conicto -1024 2432 lineto -1024 2650 lineto -1024 3025 1319 3272 conicto -1614 3520 2175 3520 conicto -2424 3520 2751 3474 conicto -3079 3428 3171 3344 conicto -3264 3261 3264 3131 conicto -3264 2991 3180 2903 conicto -3097 2816 2976 2816 conicto -2918 2816 2805 2844 conicto -2426 2944 2135 2944 conicto -1830 2944 1715 2859 conicto -1600 2775 1600 2649 conicto -1600 2432 lineto -2496 2432 lineto -2703 2432 2791 2352 conicto -2880 2273 2880 2144 conicto -2880 2015 2791 1935 conicto -2703 1856 2496 1856 conicto -1600 1856 lineto -end_ol grestore -gsave 20.491075 27.750563 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave 20.948275 27.750563 translate 0.035278 -0.035278 scale -start_ol -2685 2304 moveto -2793 2432 2906 2432 conicto -3034 2432 3117 2342 conicto -3200 2253 3200 2045 conicto -3200 1667 lineto -3200 1456 3116 1368 conicto -3033 1280 2900 1280 conicto -2778 1280 2693 1347 conicto -2632 1398 2597 1553 conicto -2563 1709 2429 1792 conicto -2194 1920 1827 1920 conicto -1405 1920 1150 1706 conicto -896 1492 896 1164 conicto -896 862 1140 687 conicto -1385 512 1952 512 conicto -2324 512 2559 582 conicto -2699 625 2824 728 conicto -2950 832 3045 832 conicto -3160 832 3244 746 conicto -3328 660 3328 544 conicto -3328 356 3061 188 conicto -2665 -64 1903 -64 conicto -1217 -64 836 198 conicto -320 549 320 1160 conicto -320 1738 741 2117 conicto -1162 2496 1840 2496 conicto -2085 2496 2296 2448 conicto -2507 2400 2685 2304 conicto -end_ol grestore -gsave 21.405475 27.750563 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 21.862675 27.750563 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 27.000001 23.999999 m 27.000001 25.512710 l 29.016949 25.512710 l 29.016949 23.999999 l f -0.000000 0.000000 0.000000 srgb -n 27.000001 23.999999 m 27.000001 25.512710 l 29.016949 25.512710 l 29.016949 23.999999 l cp s -0.100000 slw -0 slc -0 slj -[] 0 sd -n 27.218504 24.218502 m 27.218504 25.260591 l 28.798446 25.260591 l 28.798446 24.218502 l f -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 27.273129 25.512710 m 28.311017 25.512710 l 28.311017 25.748020 l 27.327755 25.748020 l f -0.000000 0.000000 0.000000 srgb -n 27.273129 25.512710 m 28.311017 25.512710 l 28.311017 25.748020 l 27.327755 25.748020 l cp s -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 28.311017 25.512710 m 28.743821 25.512710 l 28.689195 25.748020 l 28.311017 25.748020 l f -0.000000 0.000000 0.000000 srgb -n 28.311017 25.512710 m 28.743821 25.512710 l 28.689195 25.748020 l 28.311017 25.748020 l cp s -0.025000 slw -0 slc -0 slj -[] 0 sd -1.000000 1.000000 1.000000 srgb -n 28.381610 25.583303 m 28.381610 25.677427 l 28.475735 25.677427 l 28.475735 25.583303 l f -0.000000 0.000000 0.000000 srgb -n 28.381610 25.583303 m 28.381610 25.677427 l 28.475735 25.677427 l 28.475735 25.583303 l cp s -0.050000 slw -0 slc -0 slj -[] 0 sd -0.701961 0.701961 0.701961 srgb -n 27.806780 25.748020 m 28.210170 25.748020 l 28.210170 25.865676 l 28.411865 25.865676 l 28.411865 25.983331 l 27.605085 25.983331 l 27.605085 25.865676 l 27.806780 25.865676 l f -0.000000 0.000000 0.000000 srgb -n 27.806780 25.748020 m 28.210170 25.748020 l 28.210170 25.865676 l 28.411865 25.865676 l 28.411865 25.983331 l 27.605085 25.983331 l 27.605085 25.865676 l 27.806780 25.865676 l cp s -gsave 27.318442 26.750563 translate 0.035278 -0.035278 scale -start_ol -1696 1618 moveto -1209 0 lineto -549 0 lineto -210 2688 lineto --15 2688 -103 2767 conicto --192 2847 -192 2976 conicto --192 3105 -103 3184 conicto --15 3264 210 3264 conicto -1119 3264 lineto -1359 3264 1447 3184 conicto -1536 3105 1536 2976 conicto -1536 2847 1447 2767 conicto -1359 2688 1119 2688 conicto -799 2688 lineto -992 1095 lineto -1391 2432 lineto -2004 2432 lineto -2400 1095 lineto -2593 2688 lineto -2273 2688 lineto -2033 2688 1944 2767 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2273 3264 conicto -3182 3264 lineto -3407 3264 3495 3184 conicto -3584 3105 3584 2976 conicto -3584 2847 3495 2767 conicto -3407 2688 3182 2688 conicto -2842 0 lineto -2179 0 lineto -1696 1618 lineto -end_ol grestore -gsave 27.775642 26.750563 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 28.232842 26.750563 translate 0.035278 -0.035278 scale -start_ol -1024 3520 moveto -1024 2220 lineto -1235 2358 1453 2427 conicto -1672 2496 1894 2496 conicto -2494 2496 2911 2107 conicto -3328 1719 3328 1169 conicto -3328 642 2931 289 conicto -2534 -64 1883 -64 conicto -1652 -64 1438 -2 conicto -1224 60 1024 181 conicto -1024 0 lineto -320 0 lineto -113 0 24 79 conicto --64 159 -64 288 conicto --64 417 24 496 conicto -113 576 320 576 conicto -448 576 lineto -448 2944 lineto -320 2944 lineto -113 2944 24 3023 conicto --64 3103 -64 3232 conicto --64 3361 24 3440 conicto -113 3520 320 3520 conicto -1024 3520 lineto -2752 1155 moveto -2752 1476 2501 1698 conicto -2251 1920 1887 1920 conicto -1526 1920 1275 1698 conicto -1024 1476 1024 1163 conicto -1024 878 1249 695 conicto -1475 512 1887 512 conicto -2299 512 2525 695 conicto -2752 878 2752 1155 conicto -end_ol grestore -gsave 26.416742 27.750563 translate 0.035278 -0.035278 scale -start_ol -1024 3520 moveto -1024 2220 lineto -1235 2358 1453 2427 conicto -1672 2496 1894 2496 conicto -2494 2496 2911 2107 conicto -3328 1719 3328 1169 conicto -3328 642 2931 289 conicto -2534 -64 1883 -64 conicto -1652 -64 1438 -2 conicto -1224 60 1024 181 conicto -1024 0 lineto -320 0 lineto -113 0 24 79 conicto --64 159 -64 288 conicto --64 417 24 496 conicto -113 576 320 576 conicto -448 576 lineto -448 2944 lineto -320 2944 lineto -113 2944 24 3023 conicto --64 3103 -64 3232 conicto --64 3361 24 3440 conicto -113 3520 320 3520 conicto -1024 3520 lineto -2752 1155 moveto -2752 1476 2501 1698 conicto -2251 1920 1887 1920 conicto -1526 1920 1275 1698 conicto -1024 1476 1024 1163 conicto -1024 878 1249 695 conicto -1475 512 1887 512 conicto -2299 512 2525 695 conicto -2752 878 2752 1155 conicto -end_ol grestore -gsave 26.873942 27.750563 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -gsave 27.331142 27.750563 translate 0.035278 -0.035278 scale -start_ol -3200 1179 moveto -3200 867 3018 575 conicto -2837 283 2477 109 conicto -2118 -64 1727 -64 conicto -1338 -64 983 106 conicto -628 277 442 570 conicto -256 864 256 1185 conicto -256 1510 444 1823 conicto -633 2136 987 2316 conicto -1341 2496 1727 2496 conicto -2115 2496 2474 2312 conicto -2834 2128 3017 1817 conicto -3200 1507 3200 1179 conicto -2624 1178 moveto -2624 1428 2429 1637 conicto -2162 1920 1728 1920 conicto -1345 1920 1088 1695 conicto -832 1471 832 1175 conicto -832 933 1091 722 conicto -1350 512 1728 512 conicto -2107 512 2365 722 conicto -2624 933 2624 1178 conicto -end_ol grestore -gsave 27.788342 27.750563 translate 0.035278 -0.035278 scale -start_ol -1760 1148 moveto -1322 0 lineto -775 0 lineto -335 1856 lineto -241 1856 152 1935 conicto -64 2015 64 2144 conicto -64 2273 152 2352 conicto -241 2432 335 2432 conicto -925 2432 lineto -1167 2432 1255 2352 conicto -1344 2273 1344 2144 conicto -1344 2015 1243 1924 conicto -1167 1856 925 1856 conicto -1123 764 lineto -1509 1920 lineto -2008 1920 lineto -2392 764 lineto -2595 1856 lineto -2353 1856 2294 1907 conicto -2176 2015 2176 2144 conicto -2176 2273 2264 2352 conicto -2353 2432 2595 2432 conicto -3185 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3185 1856 conicto -2735 0 lineto -2195 0 lineto -1760 1148 lineto -end_ol grestore -gsave 28.245542 27.750563 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -gsave 28.702742 27.750563 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave 29.159942 27.750563 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 14.286381 19.900000 m 25.244918 23.735706 l s -0 slj -n 25.112771 24.113247 m 26.000000 24.000000 l 25.377065 23.358165 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 25.315981 19.900000 m 26.618123 22.297028 l s -0 slj -n 26.266637 22.487966 m 27.000000 23.000000 l 26.969609 22.106089 l f -0.100000 slw -[1.000000 0.400000 0.200000 0.400000] 0 sd -[0.200000 0.080000 0.040000 0.080000] 0 sd -0 slc -n -8.000000 5.000000 m 37.000000 5.000000 l s -0.100000 slw -[0.200000 0.080000 0.040000 0.080000] 0 sd -[0.200000 0.080000 0.040000 0.080000] 0 sd -0 slc -n -8.000000 16.000000 m 37.000000 16.000000 l s -0.100000 slw -[0.200000 0.080000 0.040000 0.080000] 0 sd -[0.200000 0.080000 0.040000 0.080000] 0 sd -0 slc -n -8.000000 21.000000 m 37.000000 21.000000 l s -gsave -9.744133 2.000000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave -9.286933 2.000000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave -8.829733 2.000000 translate 0.035278 -0.035278 scale -start_ol -1760 659 moveto -2322 1856 lineto -2097 1856 2042 1906 conicto -1920 2015 1920 2144 conicto -1920 2273 2008 2352 conicto -2097 2432 2322 2432 conicto -3079 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3079 1856 conicto -2951 1856 lineto -2080 0 lineto -1440 0 lineto -569 1856 lineto -505 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 505 2432 conicto -1198 2432 lineto -1423 2432 1511 2352 conicto -1600 2273 1600 2144 conicto -1600 2015 1482 1909 conicto -1423 1856 1198 1856 conicto -1760 659 lineto -end_ol grestore -gsave -8.372533 2.000000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave -7.915333 2.000000 translate 0.035278 -0.035278 scale -start_ol -1984 3520 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 2944 lineto -960 2944 lineto -753 2944 664 3023 conicto -576 3103 576 3232 conicto -576 3361 664 3440 conicto -753 3520 960 3520 conicto -1984 3520 lineto -end_ol grestore -gsave -7.458133 2.000000 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave -7.000933 2.000000 translate 0.035278 -0.035278 scale -start_ol -2944 2062 moveto -2944 1458 lineto -2944 920 2621 428 conicto -2299 -64 1699 -64 conicto -1352 -64 1113 82 conicto -875 229 661 622 conicto -448 1016 448 1458 conicto -448 2062 lineto -448 2597 768 3090 conicto -1089 3584 1690 3584 conicto -2034 3584 2272 3438 conicto -2511 3293 2727 2899 conicto -2944 2506 2944 2062 conicto -2368 2056 moveto -2368 2496 2109 2826 conicto -1962 3008 1695 3008 conicto -1435 3008 1271 2807 conicto -1024 2504 1024 2056 conicto -1024 1464 lineto -1024 1021 1285 694 conicto -1430 512 1700 512 conicto -1956 512 2120 713 conicto -2368 1015 2368 1464 conicto -2368 2056 lineto -end_ol grestore -gsave -6.543733 2.000000 translate 0.035278 -0.035278 scale -start_ol -2176 2047 moveto -2176 1884 2056 1774 conicto -1937 1664 1728 1664 conicto -1518 1664 1399 1774 conicto -1280 1884 1280 2047 conicto -1280 2212 1399 2322 conicto -1518 2432 1728 2432 conicto -1937 2432 2056 2322 conicto -2176 2212 2176 2047 conicto -2112 383 moveto -2112 220 2001 110 conicto -1891 0 1696 0 conicto -1502 0 1391 110 conicto -1280 220 1280 383 conicto -1280 547 1391 657 conicto -1502 768 1696 768 conicto -1891 768 2001 657 conicto -2112 547 2112 383 conicto -end_ol grestore -gsave -9.367367 3.000000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave -8.910167 3.000000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave -8.452967 3.000000 translate 0.035278 -0.035278 scale -start_ol -2368 2240 moveto -2368 2432 lineto -3072 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3072 1856 conicto -2944 1856 lineto -2944 -86 lineto -2944 -367 2814 -576 conicto -2685 -786 2418 -937 conicto -2151 -1088 1817 -1088 conicto -1157 -1088 lineto -947 -1088 857 -1007 conicto -768 -927 768 -801 conicto -768 -673 858 -592 conicto -948 -512 1159 -512 conicto -1805 -512 lineto -2073 -512 2220 -385 conicto -2368 -259 2368 -66 conicto -2368 182 lineto -2176 59 1978 -2 conicto -1780 -64 1572 -64 conicto -985 -64 588 304 conicto -192 673 192 1215 conicto -192 1759 588 2127 conicto -985 2496 1572 2496 conicto -1791 2496 1989 2433 conicto -2188 2370 2368 2240 conicto -2368 1216 moveto -2368 1501 2132 1710 conicto -1897 1920 1568 1920 conicto -1239 1920 1003 1710 conicto -768 1501 768 1216 conicto -768 928 1003 720 conicto -1239 512 1568 512 conicto -1897 512 2132 720 conicto -2368 928 2368 1216 conicto -end_ol grestore -gsave -7.995767 3.000000 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave -7.538567 3.000000 translate 0.035278 -0.035278 scale -start_ol -2685 2304 moveto -2793 2432 2906 2432 conicto -3034 2432 3117 2342 conicto -3200 2253 3200 2045 conicto -3200 1667 lineto -3200 1456 3116 1368 conicto -3033 1280 2900 1280 conicto -2778 1280 2693 1347 conicto -2632 1398 2597 1553 conicto -2563 1709 2429 1792 conicto -2194 1920 1827 1920 conicto -1405 1920 1150 1706 conicto -896 1492 896 1164 conicto -896 862 1140 687 conicto -1385 512 1952 512 conicto -2324 512 2559 582 conicto -2699 625 2824 728 conicto -2950 832 3045 832 conicto -3160 832 3244 746 conicto -3328 660 3328 544 conicto -3328 356 3061 188 conicto -2665 -64 1903 -64 conicto -1217 -64 836 198 conicto -320 549 320 1160 conicto -320 1738 741 2117 conicto -1162 2496 1840 2496 conicto -2085 2496 2296 2448 conicto -2507 2400 2685 2304 conicto -end_ol grestore -gsave -7.081367 3.000000 translate 0.035278 -0.035278 scale -start_ol -1427 184 moveto -406 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 406 2432 conicto -1071 2432 lineto -1295 2432 1383 2352 conicto -1472 2273 1472 2144 conicto -1472 2015 1383 1935 conicto -1295 1856 1071 1856 conicto -1745 765 lineto -2344 1856 lineto -2097 1856 2008 1935 conicto -1920 2015 1920 2144 conicto -1920 2273 2008 2352 conicto -2097 2432 2344 2432 conicto -2988 2432 lineto -3215 2432 3303 2352 conicto -3392 2273 3392 2144 conicto -3392 2015 3303 1935 conicto -3215 1856 2988 1856 conicto -1684 -512 lineto -1876 -512 2063 -512 conicto -2240 -671 2240 -800 conicto -2240 -929 2151 -1008 conicto -2063 -1088 1876 -1088 conicto -469 -1088 lineto -241 -1088 152 -1008 conicto -64 -929 64 -800 conicto -64 -671 152 -591 conicto -241 -512 469 -512 conicto -1045 -512 lineto -1427 184 lineto -end_ol grestore -gsave -9.574800 4.000000 translate 0.035278 -0.035278 scale -start_ol -960 192 moveto -877 69 826 34 conicto -776 0 703 0 conicto -559 0 471 88 conicto -384 176 384 381 conicto -384 767 lineto -384 975 464 1063 conicto -544 1152 675 1152 conicto -776 1152 844 1101 conicto -913 1050 949 930 conicto -985 810 1024 767 conicto -1106 684 1314 598 conicto -1522 512 1770 512 conicto -2155 512 2402 678 conicto -2560 780 2560 927 conicto -2560 1026 2485 1113 conicto -2410 1201 2240 1257 conicto -2129 1297 1744 1364 conicto -1278 1444 1035 1560 conicto -793 1677 652 1890 conicto -512 2103 512 2350 conicto -512 2740 843 3034 conicto -1175 3328 1706 3328 conicto -1920 3328 2101 3265 conicto -2283 3203 2432 3072 conicto -2559 3264 2685 3264 conicto -2828 3264 2918 3174 conicto -3008 3085 3008 2876 conicto -3008 2438 lineto -3008 2227 2928 2137 conicto -2849 2048 2723 2048 conicto -2616 2048 2538 2112 conicto -2477 2159 2446 2300 conicto -2416 2441 2368 2503 conicto -2287 2608 2126 2680 conicto -1965 2752 1754 2752 conicto -1446 2752 1267 2618 conicto -1088 2485 1088 2339 conicto -1088 2240 1161 2148 conicto -1235 2057 1377 2004 conicto -1471 1968 1908 1888 conicto -2346 1808 2583 1709 conicto -2821 1611 2978 1401 conicto -3136 1191 3136 901 conicto -3136 497 2842 255 conicto -2450 -64 1846 -64 conicto -1612 -64 1390 0 conicto -1169 64 960 192 conicto -end_ol grestore -gsave -9.117600 4.000000 translate 0.035278 -0.035278 scale -start_ol -1427 184 moveto -406 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 406 2432 conicto -1071 2432 lineto -1295 2432 1383 2352 conicto -1472 2273 1472 2144 conicto -1472 2015 1383 1935 conicto -1295 1856 1071 1856 conicto -1745 765 lineto -2344 1856 lineto -2097 1856 2008 1935 conicto -1920 2015 1920 2144 conicto -1920 2273 2008 2352 conicto -2097 2432 2344 2432 conicto -2988 2432 lineto -3215 2432 3303 2352 conicto -3392 2273 3392 2144 conicto -3392 2015 3303 1935 conicto -3215 1856 2988 1856 conicto -1684 -512 lineto -1876 -512 2063 -512 conicto -2240 -671 2240 -800 conicto -2240 -929 2151 -1008 conicto -2063 -1088 1876 -1088 conicto -469 -1088 lineto -241 -1088 152 -1008 conicto -64 -929 64 -800 conicto -64 -671 152 -591 conicto -241 -512 469 -512 conicto -1045 -512 lineto -1427 184 lineto -end_ol grestore -gsave -8.660400 4.000000 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -gsave -8.203200 4.000000 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave -7.746000 4.000000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave -7.288800 4.000000 translate 0.035278 -0.035278 scale -start_ol -832 2432 moveto -832 2265 lineto -967 2396 1076 2446 conicto -1185 2496 1327 2496 conicto -1448 2496 1566 2436 conicto -1685 2377 1798 2259 conicto -1940 2379 2086 2437 conicto -2233 2496 2386 2496 conicto -2692 2496 2884 2335 conicto -3136 2125 3136 1783 conicto -3136 576 lineto -3343 576 3431 496 conicto -3520 417 3520 288 conicto -3520 159 3431 79 conicto -3343 0 3136 0 conicto -2560 0 lineto -2560 1702 lineto -2560 1826 2515 1873 conicto -2471 1920 2381 1920 conicto -2292 1920 2218 1873 conicto -2122 1807 1984 1625 conicto -1984 576 lineto -2191 576 2279 496 conicto -2368 417 2368 288 conicto -2368 159 2279 79 conicto -2191 0 1984 0 conicto -1408 0 lineto -1408 1702 lineto -1408 1823 1363 1871 conicto -1319 1920 1229 1920 conicto -1137 1920 1047 1861 conicto -958 1802 832 1625 conicto -832 576 lineto -1039 576 1127 496 conicto -1216 417 1216 288 conicto -1216 159 1127 79 conicto -1039 0 832 0 conicto -256 0 lineto -49 0 -39 79 conicto --128 159 -128 288 conicto --128 417 -39 496 conicto -49 576 256 576 conicto -256 1856 lineto -49 1856 -39 1935 conicto --128 2015 -128 2144 conicto --128 2273 -39 2352 conicto -49 2432 256 2432 conicto -832 2432 lineto -end_ol grestore -gsave -6.831600 4.000000 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -gsave -9.744133 9.000000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave -9.286933 9.000000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave -8.829733 9.000000 translate 0.035278 -0.035278 scale -start_ol -1760 659 moveto -2322 1856 lineto -2097 1856 2042 1906 conicto -1920 2015 1920 2144 conicto -1920 2273 2008 2352 conicto -2097 2432 2322 2432 conicto -3079 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3079 1856 conicto -2951 1856 lineto -2080 0 lineto -1440 0 lineto -569 1856 lineto -505 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 505 2432 conicto -1198 2432 lineto -1423 2432 1511 2352 conicto -1600 2273 1600 2144 conicto -1600 2015 1482 1909 conicto -1423 1856 1198 1856 conicto -1760 659 lineto -end_ol grestore -gsave -8.372533 9.000000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave -7.915333 9.000000 translate 0.035278 -0.035278 scale -start_ol -1984 3520 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 2944 lineto -960 2944 lineto -753 2944 664 3023 conicto -576 3103 576 3232 conicto -576 3361 664 3440 conicto -753 3520 960 3520 conicto -1984 3520 lineto -end_ol grestore -gsave -7.458133 9.000000 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave -7.000933 9.000000 translate 0.035278 -0.035278 scale -start_ol -2048 3584 moveto -2048 576 lineto -2624 576 lineto -2831 576 2919 496 conicto -3008 417 3008 288 conicto -3008 159 2919 79 conicto -2831 0 2624 0 conicto -896 0 lineto -689 0 600 79 conicto -512 159 512 288 conicto -512 417 600 496 conicto -689 576 896 576 conicto -1472 576 lineto -1472 2799 lineto -963 2658 lineto -840 2624 779 2624 conicto -671 2624 591 2715 conicto -512 2806 512 2937 conicto -512 3059 570 3127 conicto -629 3196 817 3250 conicto -2048 3584 lineto -end_ol grestore -gsave -6.543733 9.000000 translate 0.035278 -0.035278 scale -start_ol -2176 2047 moveto -2176 1884 2056 1774 conicto -1937 1664 1728 1664 conicto -1518 1664 1399 1774 conicto -1280 1884 1280 2047 conicto -1280 2212 1399 2322 conicto -1518 2432 1728 2432 conicto -1937 2432 2056 2322 conicto -2176 2212 2176 2047 conicto -2112 383 moveto -2112 220 2001 110 conicto -1891 0 1696 0 conicto -1502 0 1391 110 conicto -1280 220 1280 383 conicto -1280 547 1391 657 conicto -1502 768 1696 768 conicto -1891 768 2001 657 conicto -2112 547 2112 383 conicto -end_ol grestore -gsave -8.927100 10.000000 translate 0.035278 -0.035278 scale -start_ol -2304 1408 moveto -1152 1408 lineto -1152 576 lineto -1216 576 lineto -1423 576 1511 496 conicto -1600 417 1600 288 conicto -1600 159 1511 79 conicto -1423 0 1216 0 conicto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 310 522 conicto -369 576 576 576 conicto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1216 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1511 2767 conicto -1423 2688 1216 2688 conicto -1152 2688 lineto -1152 1984 lineto -2304 1984 lineto -2304 2688 lineto -2240 2688 lineto -2033 2688 1944 2767 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2240 3264 conicto -2880 3264 lineto -3087 3264 3175 3184 conicto -3264 3105 3264 2976 conicto -3264 2847 3175 2767 conicto -3087 2688 2880 2688 conicto -2880 576 lineto -3087 576 3144 523 conicto -3264 417 3264 288 conicto -3264 159 3175 79 conicto -3087 0 2880 0 conicto -2240 0 lineto -2033 0 1944 79 conicto -1856 159 1856 288 conicto -1856 417 1944 496 conicto -2033 576 2240 576 conicto -2304 576 lineto -2304 1408 lineto -end_ol grestore -gsave -8.469900 10.000000 translate 0.035278 -0.035278 scale -start_ol -1152 1408 moveto -1152 576 lineto -2624 576 lineto -2624 896 lineto -2624 1103 2703 1191 conicto -2783 1280 2912 1280 conicto -3041 1280 3120 1191 conicto -3200 1103 3200 896 conicto -3200 0 lineto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 216 496 conicto -305 576 512 576 conicto -576 576 lineto -576 2688 lineto -512 2688 lineto -305 2688 216 2767 conicto -128 2847 128 2976 conicto -128 3105 216 3184 conicto -305 3264 512 3264 conicto -3072 3261 lineto -3072 2368 lineto -3072 2161 2992 2072 conicto -2913 1984 2784 1984 conicto -2655 1984 2575 2072 conicto -2496 2161 2496 2368 conicto -2496 2688 lineto -1152 2688 lineto -1152 1984 lineto -1664 1984 lineto -1664 2191 1716 2247 conicto -1823 2368 1952 2368 conicto -2081 2368 2160 2279 conicto -2240 2191 2240 1984 conicto -2240 1408 lineto -2240 1201 2187 1143 conicto -2081 1024 1952 1024 conicto -1823 1024 1716 1145 conicto -1664 1201 1664 1408 conicto -1152 1408 lineto -end_ol grestore -gsave -8.012700 10.000000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave -7.555500 10.000000 translate 0.035278 -0.035278 scale -start_ol -832 2196 moveto -832 576 lineto -1024 576 lineto -1231 576 1319 496 conicto -1408 417 1408 288 conicto -1408 159 1319 79 conicto -1231 0 1024 0 conicto -256 0 lineto -49 0 -39 79 conicto --128 159 -128 288 conicto --128 417 -39 496 conicto -49 576 256 576 conicto -256 2688 lineto -49 2688 -39 2767 conicto --128 2847 -128 2976 conicto --128 3105 -39 3184 conicto -49 3264 256 3264 conicto -870 3264 lineto -1760 1600 lineto -2646 3264 lineto -3264 3264 lineto -3471 3264 3559 3184 conicto -3648 3105 3648 2976 conicto -3648 2847 3559 2767 conicto -3471 2688 3264 2688 conicto -3264 576 lineto -3471 576 3559 496 conicto -3648 417 3648 288 conicto -3648 159 3559 79 conicto -3471 0 3264 0 conicto -2496 0 lineto -2289 0 2200 79 conicto -2112 159 2112 288 conicto -2112 417 2200 496 conicto -2289 576 2496 576 conicto -2688 576 lineto -2688 2196 lineto -1931 775 lineto -1592 775 lineto -832 2196 lineto -end_ol grestore -gsave -9.595967 11.000000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave -9.138767 11.000000 translate 0.035278 -0.035278 scale -start_ol -1920 3520 moveto -1920 2944 lineto -1344 2944 lineto -1344 3520 lineto -1920 3520 lineto -1984 2432 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 1856 lineto -960 1856 lineto -753 1856 664 1935 conicto -576 2015 576 2144 conicto -576 2273 664 2352 conicto -753 2432 960 2432 conicto -1984 2432 lineto -end_ol grestore -gsave -8.681567 11.000000 translate 0.035278 -0.035278 scale -start_ol -1024 3520 moveto -1024 2220 lineto -1235 2358 1453 2427 conicto -1672 2496 1894 2496 conicto -2494 2496 2911 2107 conicto -3328 1719 3328 1169 conicto -3328 642 2931 289 conicto -2534 -64 1883 -64 conicto -1652 -64 1438 -2 conicto -1224 60 1024 181 conicto -1024 0 lineto -320 0 lineto -113 0 24 79 conicto --64 159 -64 288 conicto --64 417 24 496 conicto -113 576 320 576 conicto -448 576 lineto -448 2944 lineto -320 2944 lineto -113 2944 24 3023 conicto --64 3103 -64 3232 conicto --64 3361 24 3440 conicto -113 3520 320 3520 conicto -1024 3520 lineto -2752 1155 moveto -2752 1476 2501 1698 conicto -2251 1920 1887 1920 conicto -1526 1920 1275 1698 conicto -1024 1476 1024 1163 conicto -1024 878 1249 695 conicto -1475 512 1887 512 conicto -2299 512 2525 695 conicto -2752 878 2752 1155 conicto -end_ol grestore -gsave -8.224367 11.000000 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -gsave -7.767167 11.000000 translate 0.035278 -0.035278 scale -start_ol -2240 0 moveto -2240 320 lineto -2025 129 1765 32 conicto -1506 -64 1293 -64 conicto -832 -64 544 167 conicto -256 398 256 678 conicto -256 1018 623 1309 conicto -991 1600 1640 1600 conicto -1899 1600 2240 1544 conicto -2240 1665 lineto -2240 1777 2128 1848 conicto -2017 1920 1703 1920 conicto -1445 1920 1035 1826 conicto -882 1792 796 1792 conicto -677 1792 594 1873 conicto -512 1955 512 2083 conicto -512 2155 540 2208 conicto -568 2261 619 2292 conicto -671 2324 832 2368 conicto -1048 2426 1271 2461 conicto -1495 2496 1677 2496 conicto -2218 2496 2517 2279 conicto -2816 2062 2816 1685 conicto -2816 576 lineto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2240 0 lineto -2240 968 moveto -1892 1024 1598 1024 conicto -1244 1024 990 882 conicto -832 791 832 698 conicto -832 630 908 589 conicto -1049 512 1296 512 conicto -1505 512 1769 579 conicto -2034 647 2240 763 conicto -2240 968 lineto -end_ol grestore -gsave -7.309967 11.000000 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -gsave -6.852767 11.000000 translate 0.035278 -0.035278 scale -start_ol -1427 184 moveto -406 1856 lineto -177 1856 88 1935 conicto -0 2015 0 2144 conicto -0 2273 88 2352 conicto -177 2432 406 2432 conicto -1071 2432 lineto -1295 2432 1383 2352 conicto -1472 2273 1472 2144 conicto -1472 2015 1383 1935 conicto -1295 1856 1071 1856 conicto -1745 765 lineto -2344 1856 lineto -2097 1856 2008 1935 conicto -1920 2015 1920 2144 conicto -1920 2273 2008 2352 conicto -2097 2432 2344 2432 conicto -2988 2432 lineto -3215 2432 3303 2352 conicto -3392 2273 3392 2144 conicto -3392 2015 3303 1935 conicto -3215 1856 2988 1856 conicto -1684 -512 lineto -1876 -512 2063 -512 conicto -2240 -671 2240 -800 conicto -2240 -929 2151 -1008 conicto -2063 -1088 1876 -1088 conicto -469 -1088 lineto -241 -1088 152 -1008 conicto -64 -929 64 -800 conicto -64 -671 152 -591 conicto -241 -512 469 -512 conicto -1045 -512 lineto -1427 184 lineto -end_ol grestore -gsave -9.744133 18.000000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave -9.286933 18.000000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave -8.829733 18.000000 translate 0.035278 -0.035278 scale -start_ol -1760 659 moveto -2322 1856 lineto -2097 1856 2042 1906 conicto -1920 2015 1920 2144 conicto -1920 2273 2008 2352 conicto -2097 2432 2322 2432 conicto -3079 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3079 1856 conicto -2951 1856 lineto -2080 0 lineto -1440 0 lineto -569 1856 lineto -505 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 505 2432 conicto -1198 2432 lineto -1423 2432 1511 2352 conicto -1600 2273 1600 2144 conicto -1600 2015 1482 1909 conicto -1423 1856 1198 1856 conicto -1760 659 lineto -end_ol grestore -gsave -8.372533 18.000000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave -7.915333 18.000000 translate 0.035278 -0.035278 scale -start_ol -1984 3520 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 2944 lineto -960 2944 lineto -753 2944 664 3023 conicto -576 3103 576 3232 conicto -576 3361 664 3440 conicto -753 3520 960 3520 conicto -1984 3520 lineto -end_ol grestore -gsave -7.458133 18.000000 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave -7.000933 18.000000 translate 0.035278 -0.035278 scale -start_ol -1216 576 moveto -2432 576 lineto -2551 640 2656 640 conicto -2789 640 2866 553 conicto -2944 466 2944 256 conicto -2944 0 lineto -320 0 lineto -320 640 lineto -1881 1836 2205 2178 conicto -2368 2354 2368 2510 conicto -2368 2707 2186 2857 conicto -2005 3008 1701 3008 conicto -1396 3008 1193 2823 conicto -1088 2724 1024 2530 conicto -983 2408 914 2356 conicto -845 2304 741 2304 conicto -621 2304 534 2390 conicto -448 2476 448 2589 conicto -448 2761 603 3018 conicto -759 3275 1057 3429 conicto -1355 3584 1706 3584 conicto -2249 3584 2596 3258 conicto -2944 2933 2944 2471 conicto -2944 2235 2844 2034 conicto -2745 1833 2368 1504 conicto -2073 1245 1216 576 conicto -end_ol grestore -gsave -6.543733 18.000000 translate 0.035278 -0.035278 scale -start_ol -2176 2047 moveto -2176 1884 2056 1774 conicto -1937 1664 1728 1664 conicto -1518 1664 1399 1774 conicto -1280 1884 1280 2047 conicto -1280 2212 1399 2322 conicto -1518 2432 1728 2432 conicto -1937 2432 2056 2322 conicto -2176 2212 2176 2047 conicto -2112 383 moveto -2112 220 2001 110 conicto -1891 0 1696 0 conicto -1502 0 1391 110 conicto -1280 220 1280 383 conicto -1280 547 1391 657 conicto -1502 768 1696 768 conicto -1891 768 2001 657 conicto -2112 547 2112 383 conicto -end_ol grestore -gsave -8.927100 19.000000 translate 0.035278 -0.035278 scale -start_ol -2304 1408 moveto -1152 1408 lineto -1152 576 lineto -1216 576 lineto -1423 576 1511 496 conicto -1600 417 1600 288 conicto -1600 159 1511 79 conicto -1423 0 1216 0 conicto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 310 522 conicto -369 576 576 576 conicto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1216 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1511 2767 conicto -1423 2688 1216 2688 conicto -1152 2688 lineto -1152 1984 lineto -2304 1984 lineto -2304 2688 lineto -2240 2688 lineto -2033 2688 1944 2767 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2240 3264 conicto -2880 3264 lineto -3087 3264 3175 3184 conicto -3264 3105 3264 2976 conicto -3264 2847 3175 2767 conicto -3087 2688 2880 2688 conicto -2880 576 lineto -3087 576 3144 523 conicto -3264 417 3264 288 conicto -3264 159 3175 79 conicto -3087 0 2880 0 conicto -2240 0 lineto -2033 0 1944 79 conicto -1856 159 1856 288 conicto -1856 417 1944 496 conicto -2033 576 2240 576 conicto -2304 576 lineto -2304 1408 lineto -end_ol grestore -gsave -8.469900 19.000000 translate 0.035278 -0.035278 scale -start_ol -1152 1408 moveto -1152 576 lineto -2624 576 lineto -2624 896 lineto -2624 1103 2703 1191 conicto -2783 1280 2912 1280 conicto -3041 1280 3120 1191 conicto -3200 1103 3200 896 conicto -3200 0 lineto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 216 496 conicto -305 576 512 576 conicto -576 576 lineto -576 2688 lineto -512 2688 lineto -305 2688 216 2767 conicto -128 2847 128 2976 conicto -128 3105 216 3184 conicto -305 3264 512 3264 conicto -3072 3261 lineto -3072 2368 lineto -3072 2161 2992 2072 conicto -2913 1984 2784 1984 conicto -2655 1984 2575 2072 conicto -2496 2161 2496 2368 conicto -2496 2688 lineto -1152 2688 lineto -1152 1984 lineto -1664 1984 lineto -1664 2191 1716 2247 conicto -1823 2368 1952 2368 conicto -2081 2368 2160 2279 conicto -2240 2191 2240 1984 conicto -2240 1408 lineto -2240 1201 2187 1143 conicto -2081 1024 1952 1024 conicto -1823 1024 1716 1145 conicto -1664 1201 1664 1408 conicto -1152 1408 lineto -end_ol grestore -gsave -8.012700 19.000000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave -7.555500 19.000000 translate 0.035278 -0.035278 scale -start_ol -832 2196 moveto -832 576 lineto -1024 576 lineto -1231 576 1319 496 conicto -1408 417 1408 288 conicto -1408 159 1319 79 conicto -1231 0 1024 0 conicto -256 0 lineto -49 0 -39 79 conicto --128 159 -128 288 conicto --128 417 -39 496 conicto -49 576 256 576 conicto -256 2688 lineto -49 2688 -39 2767 conicto --128 2847 -128 2976 conicto --128 3105 -39 3184 conicto -49 3264 256 3264 conicto -870 3264 lineto -1760 1600 lineto -2646 3264 lineto -3264 3264 lineto -3471 3264 3559 3184 conicto -3648 3105 3648 2976 conicto -3648 2847 3559 2767 conicto -3471 2688 3264 2688 conicto -3264 576 lineto -3471 576 3559 496 conicto -3648 417 3648 288 conicto -3648 159 3559 79 conicto -3471 0 3264 0 conicto -2496 0 lineto -2289 0 2200 79 conicto -2112 159 2112 288 conicto -2112 417 2200 496 conicto -2289 576 2496 576 conicto -2688 576 lineto -2688 2196 lineto -1931 775 lineto -1592 775 lineto -832 2196 lineto -end_ol grestore -gsave -9.803400 20.000000 translate 0.035278 -0.035278 scale -start_ol -960 192 moveto -877 69 826 34 conicto -776 0 703 0 conicto -559 0 471 88 conicto -384 176 384 381 conicto -384 767 lineto -384 975 464 1063 conicto -544 1152 675 1152 conicto -776 1152 844 1101 conicto -913 1050 949 930 conicto -985 810 1024 767 conicto -1106 684 1314 598 conicto -1522 512 1770 512 conicto -2155 512 2402 678 conicto -2560 780 2560 927 conicto -2560 1026 2485 1113 conicto -2410 1201 2240 1257 conicto -2129 1297 1744 1364 conicto -1278 1444 1035 1560 conicto -793 1677 652 1890 conicto -512 2103 512 2350 conicto -512 2740 843 3034 conicto -1175 3328 1706 3328 conicto -1920 3328 2101 3265 conicto -2283 3203 2432 3072 conicto -2559 3264 2685 3264 conicto -2828 3264 2918 3174 conicto -3008 3085 3008 2876 conicto -3008 2438 lineto -3008 2227 2928 2137 conicto -2849 2048 2723 2048 conicto -2616 2048 2538 2112 conicto -2477 2159 2446 2300 conicto -2416 2441 2368 2503 conicto -2287 2608 2126 2680 conicto -1965 2752 1754 2752 conicto -1446 2752 1267 2618 conicto -1088 2485 1088 2339 conicto -1088 2240 1161 2148 conicto -1235 2057 1377 2004 conicto -1471 1968 1908 1888 conicto -2346 1808 2583 1709 conicto -2821 1611 2978 1401 conicto -3136 1191 3136 901 conicto -3136 497 2842 255 conicto -2450 -64 1846 -64 conicto -1612 -64 1390 0 conicto -1169 64 960 192 conicto -end_ol grestore -gsave -9.346200 20.000000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave -8.889000 20.000000 translate 0.035278 -0.035278 scale -start_ol -1600 2432 moveto -1600 2064 lineto -1957 2323 2163 2409 conicto -2370 2496 2549 2496 conicto -2827 2496 3087 2294 conicto -3264 2157 3264 2015 conicto -3264 1895 3180 1811 conicto -3096 1728 2976 1728 conicto -2871 1728 2754 1824 conicto -2638 1920 2547 1920 conicto -2428 1920 2191 1778 conicto -1955 1636 1600 1352 conicto -1600 576 lineto -2432 576 lineto -2639 576 2727 496 conicto -2816 417 2816 288 conicto -2816 159 2727 79 conicto -2639 0 2432 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1024 576 lineto -1024 1856 lineto -832 1856 lineto -625 1856 536 1935 conicto -448 2015 448 2144 conicto -448 2273 536 2352 conicto -625 2432 832 2432 conicto -1600 2432 lineto -end_ol grestore -gsave -8.431800 20.000000 translate 0.035278 -0.035278 scale -start_ol -1760 659 moveto -2322 1856 lineto -2097 1856 2042 1906 conicto -1920 2015 1920 2144 conicto -1920 2273 2008 2352 conicto -2097 2432 2322 2432 conicto -3079 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3079 1856 conicto -2951 1856 lineto -2080 0 lineto -1440 0 lineto -569 1856 lineto -505 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 505 2432 conicto -1198 2432 lineto -1423 2432 1511 2352 conicto -1600 2273 1600 2144 conicto -1600 2015 1482 1909 conicto -1423 1856 1198 1856 conicto -1760 659 lineto -end_ol grestore -gsave -7.974600 20.000000 translate 0.035278 -0.035278 scale -start_ol -1920 3520 moveto -1920 2944 lineto -1344 2944 lineto -1344 3520 lineto -1920 3520 lineto -1984 2432 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 1856 lineto -960 1856 lineto -753 1856 664 1935 conicto -576 2015 576 2144 conicto -576 2273 664 2352 conicto -753 2432 960 2432 conicto -1984 2432 lineto -end_ol grestore -gsave -7.517400 20.000000 translate 0.035278 -0.035278 scale -start_ol -2685 2304 moveto -2793 2432 2906 2432 conicto -3034 2432 3117 2342 conicto -3200 2253 3200 2045 conicto -3200 1667 lineto -3200 1456 3116 1368 conicto -3033 1280 2900 1280 conicto -2778 1280 2693 1347 conicto -2632 1398 2597 1553 conicto -2563 1709 2429 1792 conicto -2194 1920 1827 1920 conicto -1405 1920 1150 1706 conicto -896 1492 896 1164 conicto -896 862 1140 687 conicto -1385 512 1952 512 conicto -2324 512 2559 582 conicto -2699 625 2824 728 conicto -2950 832 3045 832 conicto -3160 832 3244 746 conicto -3328 660 3328 544 conicto -3328 356 3061 188 conicto -2665 -64 1903 -64 conicto -1217 -64 836 198 conicto -320 549 320 1160 conicto -320 1738 741 2117 conicto -1162 2496 1840 2496 conicto -2085 2496 2296 2448 conicto -2507 2400 2685 2304 conicto -end_ol grestore -gsave -7.060200 20.000000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave -6.603000 20.000000 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -gsave -9.744133 25.000000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave -9.286933 25.000000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave -8.829733 25.000000 translate 0.035278 -0.035278 scale -start_ol -1760 659 moveto -2322 1856 lineto -2097 1856 2042 1906 conicto -1920 2015 1920 2144 conicto -1920 2273 2008 2352 conicto -2097 2432 2322 2432 conicto -3079 2432 lineto -3279 2432 3367 2352 conicto -3456 2273 3456 2144 conicto -3456 2015 3367 1935 conicto -3279 1856 3079 1856 conicto -2951 1856 lineto -2080 0 lineto -1440 0 lineto -569 1856 lineto -505 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 505 2432 conicto -1198 2432 lineto -1423 2432 1511 2352 conicto -1600 2273 1600 2144 conicto -1600 2015 1482 1909 conicto -1423 1856 1198 1856 conicto -1760 659 lineto -end_ol grestore -gsave -8.372533 25.000000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave -7.915333 25.000000 translate 0.035278 -0.035278 scale -start_ol -1984 3520 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 2944 lineto -960 2944 lineto -753 2944 664 3023 conicto -576 3103 576 3232 conicto -576 3361 664 3440 conicto -753 3520 960 3520 conicto -1984 3520 lineto -end_ol grestore -gsave -7.458133 25.000000 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave -7.000933 25.000000 translate 0.035278 -0.035278 scale -start_ol -2562 1866 moveto -2819 1698 2945 1478 conicto -3072 1258 3072 986 conicto -3072 691 2904 441 conicto -2736 192 2417 64 conicto -2099 -64 1583 -64 conicto -912 -64 573 140 conicto -384 255 384 415 conicto -384 536 467 620 conicto -551 704 669 704 conicto -751 704 839 652 conicto -962 575 1073 549 conicto -1243 512 1539 512 conicto -2044 512 2270 634 conicto -2496 756 2496 979 conicto -2496 1144 2364 1297 conicto -2233 1451 2012 1535 conicto -1884 1582 1580 1600 conicto -1436 1609 1358 1688 conicto -1280 1768 1280 1885 conicto -1280 2008 1365 2092 conicto -1450 2176 1580 2176 conicto -1869 2176 1889 2179 conicto -2002 2189 2115 2245 conicto -2229 2301 2298 2398 conicto -2368 2496 2368 2601 conicto -2368 2766 2207 2887 conicto -2047 3008 1726 3008 conicto -1313 3008 1095 2752 conicto -1031 2677 992 2657 conicto -933 2624 861 2624 conicto -744 2624 660 2710 conicto -576 2796 576 2923 conicto -576 3122 833 3310 conicto -1208 3584 1770 3584 conicto -2302 3584 2623 3295 conicto -2944 3006 2944 2599 conicto -2944 2388 2848 2204 conicto -2753 2021 2562 1866 conicto -end_ol grestore -gsave -6.543733 25.000000 translate 0.035278 -0.035278 scale -start_ol -2176 2047 moveto -2176 1884 2056 1774 conicto -1937 1664 1728 1664 conicto -1518 1664 1399 1774 conicto -1280 1884 1280 2047 conicto -1280 2212 1399 2322 conicto -1518 2432 1728 2432 conicto -1937 2432 2056 2322 conicto -2176 2212 2176 2047 conicto -2112 383 moveto -2112 220 2001 110 conicto -1891 0 1696 0 conicto -1502 0 1391 110 conicto -1280 220 1280 383 conicto -1280 547 1391 657 conicto -1502 768 1696 768 conicto -1891 768 2001 657 conicto -2112 547 2112 383 conicto -end_ol grestore -gsave -8.927100 26.000000 translate 0.035278 -0.035278 scale -start_ol -2304 1408 moveto -1152 1408 lineto -1152 576 lineto -1216 576 lineto -1423 576 1511 496 conicto -1600 417 1600 288 conicto -1600 159 1511 79 conicto -1423 0 1216 0 conicto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 310 522 conicto -369 576 576 576 conicto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1216 3264 lineto -1423 3264 1511 3184 conicto -1600 3105 1600 2976 conicto -1600 2847 1511 2767 conicto -1423 2688 1216 2688 conicto -1152 2688 lineto -1152 1984 lineto -2304 1984 lineto -2304 2688 lineto -2240 2688 lineto -2033 2688 1944 2767 conicto -1856 2847 1856 2976 conicto -1856 3105 1944 3184 conicto -2033 3264 2240 3264 conicto -2880 3264 lineto -3087 3264 3175 3184 conicto -3264 3105 3264 2976 conicto -3264 2847 3175 2767 conicto -3087 2688 2880 2688 conicto -2880 576 lineto -3087 576 3144 523 conicto -3264 417 3264 288 conicto -3264 159 3175 79 conicto -3087 0 2880 0 conicto -2240 0 lineto -2033 0 1944 79 conicto -1856 159 1856 288 conicto -1856 417 1944 496 conicto -2033 576 2240 576 conicto -2304 576 lineto -2304 1408 lineto -end_ol grestore -gsave -8.469900 26.000000 translate 0.035278 -0.035278 scale -start_ol -1152 1408 moveto -1152 576 lineto -2624 576 lineto -2624 896 lineto -2624 1103 2703 1191 conicto -2783 1280 2912 1280 conicto -3041 1280 3120 1191 conicto -3200 1103 3200 896 conicto -3200 0 lineto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 216 496 conicto -305 576 512 576 conicto -576 576 lineto -576 2688 lineto -512 2688 lineto -305 2688 216 2767 conicto -128 2847 128 2976 conicto -128 3105 216 3184 conicto -305 3264 512 3264 conicto -3072 3261 lineto -3072 2368 lineto -3072 2161 2992 2072 conicto -2913 1984 2784 1984 conicto -2655 1984 2575 2072 conicto -2496 2161 2496 2368 conicto -2496 2688 lineto -1152 2688 lineto -1152 1984 lineto -1664 1984 lineto -1664 2191 1716 2247 conicto -1823 2368 1952 2368 conicto -2081 2368 2160 2279 conicto -2240 2191 2240 1984 conicto -2240 1408 lineto -2240 1201 2187 1143 conicto -2081 1024 1952 1024 conicto -1823 1024 1716 1145 conicto -1664 1201 1664 1408 conicto -1152 1408 lineto -end_ol grestore -gsave -8.012700 26.000000 translate 0.035278 -0.035278 scale -start_ol -1472 2688 moveto -1472 576 lineto -2688 576 lineto -2688 1152 lineto -2688 1359 2767 1447 conicto -2847 1536 2976 1536 conicto -3105 1536 3184 1447 conicto -3264 1359 3264 1152 conicto -3264 0 lineto -576 0 lineto -369 0 280 79 conicto -192 159 192 288 conicto -192 417 280 496 conicto -369 576 576 576 conicto -896 576 lineto -896 2688 lineto -576 2688 lineto -369 2688 280 2767 conicto -192 2847 192 2976 conicto -192 3105 280 3184 conicto -369 3264 576 3264 conicto -1792 3264 lineto -1999 3264 2087 3184 conicto -2176 3105 2176 2976 conicto -2176 2847 2087 2767 conicto -1999 2688 1792 2688 conicto -1472 2688 lineto -end_ol grestore -gsave -7.555500 26.000000 translate 0.035278 -0.035278 scale -start_ol -832 2196 moveto -832 576 lineto -1024 576 lineto -1231 576 1319 496 conicto -1408 417 1408 288 conicto -1408 159 1319 79 conicto -1231 0 1024 0 conicto -256 0 lineto -49 0 -39 79 conicto --128 159 -128 288 conicto --128 417 -39 496 conicto -49 576 256 576 conicto -256 2688 lineto -49 2688 -39 2767 conicto --128 2847 -128 2976 conicto --128 3105 -39 3184 conicto -49 3264 256 3264 conicto -870 3264 lineto -1760 1600 lineto -2646 3264 lineto -3264 3264 lineto -3471 3264 3559 3184 conicto -3648 3105 3648 2976 conicto -3648 2847 3559 2767 conicto -3471 2688 3264 2688 conicto -3264 576 lineto -3471 576 3559 496 conicto -3648 417 3648 288 conicto -3648 159 3559 79 conicto -3471 0 3264 0 conicto -2496 0 lineto -2289 0 2200 79 conicto -2112 159 2112 288 conicto -2112 417 2200 496 conicto -2289 576 2496 576 conicto -2688 576 lineto -2688 2196 lineto -1931 775 lineto -1592 775 lineto -832 2196 lineto -end_ol grestore -gsave -9.574800 27.000000 translate 0.035278 -0.035278 scale -start_ol -2624 3072 moveto -2681 3168 2748 3216 conicto -2816 3264 2894 3264 conicto -3028 3264 3114 3179 conicto -3200 3095 3200 2893 conicto -3200 2420 lineto -3200 2219 3119 2133 conicto -3039 2048 2913 2048 conicto -2798 2048 2728 2107 conicto -2658 2166 2624 2329 conicto -2604 2437 2544 2497 conicto -2428 2613 2219 2682 conicto -2010 2752 1800 2752 conicto -1540 2752 1321 2648 conicto -1102 2544 935 2310 conicto -768 2077 768 1755 conicto -768 1410 lineto -768 1026 1069 769 conicto -1370 512 1904 512 conicto -2224 512 2445 602 conicto -2575 655 2720 810 conicto -2810 904 2860 932 conicto -2910 960 2975 960 conicto -3090 960 3177 871 conicto -3264 782 3264 662 conicto -3264 542 3145 405 conicto -2975 204 2706 91 conicto -2344 -64 1907 -64 conicto -1397 -64 988 136 conicto -657 295 424 640 conicto -192 986 192 1393 conicto -192 1764 lineto -192 2190 399 2559 conicto -607 2928 975 3128 conicto -1344 3328 1756 3328 conicto -2004 3328 2220 3265 conicto -2437 3202 2624 3072 conicto -end_ol grestore -gsave -9.117600 27.000000 translate 0.035278 -0.035278 scale -start_ol -1984 3520 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 2944 lineto -960 2944 lineto -753 2944 664 3023 conicto -576 3103 576 3232 conicto -576 3361 664 3440 conicto -753 3520 960 3520 conicto -1984 3520 lineto -end_ol grestore -gsave -8.660400 27.000000 translate 0.035278 -0.035278 scale -start_ol -1920 3520 moveto -1920 2944 lineto -1344 2944 lineto -1344 3520 lineto -1920 3520 lineto -1984 2432 moveto -1984 576 lineto -2688 576 lineto -2895 576 2983 496 conicto -3072 417 3072 288 conicto -3072 159 2983 79 conicto -2895 0 2688 0 conicto -704 0 lineto -497 0 408 79 conicto -320 159 320 288 conicto -320 417 408 496 conicto -497 576 704 576 conicto -1408 576 lineto -1408 1856 lineto -960 1856 lineto -753 1856 664 1935 conicto -576 2015 576 2144 conicto -576 2273 664 2352 conicto -753 2432 960 2432 conicto -1984 2432 lineto -end_ol grestore -gsave -8.203200 27.000000 translate 0.035278 -0.035278 scale -start_ol -3200 960 moveto -768 960 lineto -862 758 1101 635 conicto -1341 512 1750 512 conicto -2086 512 2621 649 conicto -2841 704 2925 704 conicto -3042 704 3121 623 conicto -3200 542 3200 418 conicto -3200 306 3116 228 conicto -3002 124 2563 30 conicto -2125 -64 1721 -64 conicto -1025 -64 608 303 conicto -192 671 192 1208 conicto -192 1780 643 2138 conicto -1094 2496 1682 2496 conicto -2035 2496 2330 2380 conicto -2626 2265 2771 2131 conicto -2974 1937 3107 1651 conicto -3197 1451 3197 1189 conicto -3200 960 lineto -2624 1472 moveto -2481 1697 2248 1808 conicto -2016 1920 1696 1920 conicto -1378 1920 1146 1808 conicto -915 1697 768 1472 conicto -2624 1472 lineto -end_ol grestore -gsave -7.746000 27.000000 translate 0.035278 -0.035278 scale -start_ol -1088 2432 moveto -1088 2240 lineto -1249 2368 1444 2432 conicto -1640 2496 1868 2496 conicto -2395 2496 2701 2199 conicto -2944 1962 2944 1578 conicto -2944 576 lineto -3151 576 3239 496 conicto -3328 417 3328 288 conicto -3328 159 3239 79 conicto -3151 0 2944 0 conicto -2368 0 lineto -2161 0 2072 79 conicto -1984 159 1984 288 conicto -1984 417 2072 496 conicto -2161 576 2368 576 conicto -2368 1567 lineto -2368 1738 2263 1818 conicto -2124 1920 1849 1920 conicto -1641 1920 1484 1846 conicto -1328 1773 1088 1536 conicto -1088 576 lineto -1295 576 1352 522 conicto -1472 417 1472 288 conicto -1472 159 1383 79 conicto -1295 0 1088 0 conicto -512 0 lineto -305 0 216 79 conicto -128 159 128 288 conicto -128 417 246 523 conicto -305 576 512 576 conicto -512 1856 lineto -305 1856 216 1935 conicto -128 2015 128 2144 conicto -128 2273 216 2352 conicto -305 2432 512 2432 conicto -1088 2432 lineto -end_ol grestore -gsave -7.288800 27.000000 translate 0.035278 -0.035278 scale -start_ol -1600 1856 moveto -1600 815 lineto -1600 649 1675 596 conicto -1791 512 2091 512 conicto -2527 512 2896 696 conicto -3037 768 3118 768 conicto -3228 768 3310 684 conicto -3392 601 3392 481 conicto -3392 369 3303 288 conicto -3166 156 2764 46 conicto -2363 -64 2087 -64 conicto -1555 -64 1289 151 conicto -1024 366 1024 680 conicto -1024 1856 lineto -822 1856 lineto -620 1856 534 1936 conicto -448 2017 448 2145 conicto -448 2271 534 2351 conicto -620 2432 822 2432 conicto -1024 2432 lineto -1024 2947 lineto -1024 3153 1104 3240 conicto -1184 3328 1313 3328 conicto -1440 3328 1520 3240 conicto -1600 3153 1600 2947 conicto -1600 2432 lineto -2634 2432 lineto -2835 2432 2921 2351 conicto -3008 2271 3008 2143 conicto -3008 2017 2921 1936 conicto -2835 1856 2634 1856 conicto -1600 1856 lineto -end_ol grestore -gsave -6.831600 27.000000 translate 0.035278 -0.035278 scale -start_ol -2378 1757 moveto -2232 1839 2070 1879 conicto -1909 1920 1734 1920 conicto -1384 1920 1179 1821 conicto -1088 1779 1088 1728 conicto -1088 1671 1211 1615 conicto -1305 1575 1630 1537 conicto -2229 1466 2455 1392 conicto -2750 1295 2911 1103 conicto -3072 912 3072 700 conicto -3072 411 2793 217 conicto -2393 -64 1755 -64 conicto -1498 -64 1281 -31 conicto -1064 1 882 64 conicto -839 33 790 16 conicto -741 0 688 0 conicto -549 0 466 82 conicto -384 164 384 357 conicto -384 538 lineto -384 731 466 813 conicto -548 896 681 896 conicto -787 896 859 850 conicto -932 804 972 693 conicto -1110 603 1303 557 conicto -1496 512 1748 512 conicto -2159 512 2388 623 conicto -2496 678 2496 739 conicto -2496 839 2340 906 conicto -2185 971 1700 1016 conicto -978 1082 745 1278 conicto -512 1469 512 1751 conicto -512 2040 779 2232 conicto -1139 2496 1724 2496 conicto -1928 2496 2115 2460 conicto -2302 2425 2475 2351 conicto -2528 2391 2575 2411 conicto -2623 2432 2663 2432 conicto -2784 2432 2864 2345 conicto -2944 2258 2944 2052 conicto -2944 1915 lineto -2944 1729 2900 1663 conicto -2811 1536 2658 1536 conicto -2555 1536 2478 1596 conicto -2401 1657 2378 1757 conicto -end_ol grestore -showpage diff --git a/helm/papers/calculemus-2003/slides/eps/helmLogic.png b/helm/papers/calculemus-2003/slides/eps/helmLogic.png deleted file mode 100644 index 0a910b6730726f17317248914fc8f1d2be1de71e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56083 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 diff --git a/helm/papers/calculemus-2003/slides/eps/helmLogo-slides.eps b/helm/papers/calculemus-2003/slides/eps/helmLogo-slides.eps deleted file mode 100644 index 19b19a771..000000000 --- a/helm/papers/calculemus-2003/slides/eps/helmLogo-slides.eps +++ /dev/null @@ -1,1174 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: GIMP PostScript file plugin V 1.15 by Peter Kirchgessner -%%Title: /home/zack/dati/HELM/cvs/helm/papers/calculemus-2003/slides/eps/helmLogo-slides.eps -%%CreationDate: Sun Sep 7 14:34:48 2003 -%%DocumentData: Clean7Bit -%%LanguageLevel: 2 -%%Pages: 1 -%%BoundingBox: 14 14 263 104 -%%EndComments -%%BeginProlog -% Use own dictionary to avoid conflicts -10 dict begin -%%EndProlog -%%Page: 1 1 -% Translate for offset -14.173228346456694 14.173228346456694 translate -% Translate to begin of first scanline -0 89 translate -247.99999999999997 -89 scale -% Image geometry -248 89 8 -% Transformation matrix -[ 248 0 0 89 0 0 ] -% Strings to hold RGB-samples per scanline -/rstr 248 string def -/gstr 248 string def -/bstr 248 string def -{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} -true 3 -%%BeginData: 76742 ASCII Bytes -colorimage -!WrQ.p&k6p!!N9)p]CR#!sA9#!!E0&!!W?+rs&Q1$2t;1$2t8A#R_"I$4@7N%1NdV%LigF%QFn- -&/#N`$OmRV%h0-h((_)r)AX23+oV6)A<_t*$HFJ*u>M&'G:od%M'-_&.oQe%1;"pY&3pBLU#rWN6)qud!$q?-Tuq?.-,"9J]-"9J],!s/6#!!N#uqZ6a#J,~> -!X/c4p':O%!!iK/r3$O@(I$k3US%1WpF&H3:@')rUN'GV>u(`=/-(]>3N -)?h*%*#f_5rZ!L/+"&"(+!;aM*#fh:*?6%>*#ok6(AnmJ -',:?W#SRd]&.]6]%M&CGoF1^,rsJc4rX/W2!!rN0q[!$'$4$kB#7(P?#R:S?qZd**p'( -rt=u>\U(`=7f*<.&Y*XEl3+s8'S,:4f;./bUq/,h.#0)mU*1&a!62E3ZX3]]A% -4=`Zb7RTR06qBj?85*#^:Jk;$=^5BGA6`AJ?!1WC=&rC0A7K"R<)-.`9hG:R#=V*N6UEpt3rV)@ -2`3EKr\=F+">28W/1LNGs!Rdls!7Rf!$qLerZ;=c*?H4A*$"qrrYY_U)>G$E('bNh'G_Au'GUGFoFV'7J,~> -!,9n-F*uYt=*#'&%+X80T*>B,$'bLod&H3:@&dAjT$OR:L% -/pS6$2k2:$OI.H#m^eA#lY&*#PeT'"o\Z("o\Z#"8W0)"9eo2"U4i-!!E'#!WiH*quZp#q#gHpJ -,~> -!4*ZuOD)B9b=*$-@S,9J -rt>2B!Yl@^rY>AIrYGPQr>>hY)&aJ7*??-r*#ALrY>JMrYG>Dr=\c8!"aY~> -q#^X!"9&E(!X&E*!X&T-rWE6("T8K2"9eo3"U"u4"9er("TSc'#QG)0$NCJ6%/gP4$i^Y7%0I(N -&.naMrX^gs'GV8l%M06c&J?$$&elH0)^$IT*ucCF)C-=<'cSGG,pO?A'G_;m&.oNf',2,o&.\[J -!=K85$i^P=$Od@K#m^hDr -p]gs,#6tM?$2t5/#m1M@$46Y<#n%(J$4I:L$4@49$iUS6%K?nA%hKYR(`=52 -*;piU*%E!Q+s7mG*ZuRH+tG,e,r%&(0fD!E.l&_-1bL+$/2T:B1FjXp-6aKP+9!D_+T`c+)ZCTQ -(]+sI'E8[H&J,NP&,d"<%0R.M%h9'J%f[":$igb7$iC>4#n$V;p':X)r!39/o`tO%r!*3+qZQs( -r<30(J,~> -q%E`BrY>PL()Qic!?<$W*<$uV*WR;Z*r7#j+seK[,pt&g-n-Ss/M8Y/r\4@-s"aX5r\lYp4$5\k -5=%S&6UaI67ncZP8kVlU;,UG%?<:?EAn5UpEG9!#BOu'o?X@5ZD/3im<``F(r_EMhrCn#!7mfL+ -5!;"h3B9&V2)[6G0eY13/cI73.4?Sn-mpAj-RL/d-7:,d-2f"g+bqX*#eMg!#P/Cq\T8I -r"K)Cq@Nc?&J0H~> -pB:[(#6k>7rW`K."pOu1rriB,rWiB+rs&N.p]pa'!!iE-#71_E$Od@M%/UJ@%LijW%M'*_&.oQQ -'E/Uu'c%W$&eP`i&eZ')(DIr9*Zuj],98$P*%)gD)'LL[-m]cH)&Ntu'GV>u()I`!&H*+L%1EXS% -LijW$k*LO$k!C@$M4W,$OI.Gr<`H/rs&Q.#5nf*"onf*"o&<(#R:V6"TSf("oJT-":#,8r<33)" -o\W,"U"r3rWI`~> -q$I',rWrQ4r5\U)B0\<*r6s6+ -q%`oGrYPYR)#YEP*WmK*+!:>%![/d2q]l+e!@&lg-3,In.K:pu/Hma[0JP==rA=R6r]'p>#K -770F-5!:th3]]5Z2D[-E0J>%1/LrA(/GL[r.juhE-NGIl,l]+h+93J^+9*D^*<-rX*9J4?)$^ur -(`3u('c$Z]rt>AFrY,;EJ,~> -r)]KP*',D>t(Ean;*%3$U.k`=n-R0]_+;l+G/hAP")&XJ4'GVB!)&X>1'bV)jrX]&?rXK>K -&.]9\%LigT$OdFNq$[-0r -q@!90rX8]6!"Su;rXSoYP'c.W%(`=20rYb_Sru:tY" -,:+ch-6a]6,onBi1FXq<2)[Zd4Yo,Y1HmWI/NQ-]4Z+Z'E&RB&I/p\&J,Ka%hS[MrXAo=%1W%?!=]J:%0@"K%f-VD%LimX$k*RR$k!FM -$Ock>q?VT~> -r"fAP(]G -:&@^5;HI%-=]SU.>ZtKMDIdO,FEDq^HuXLWEI;hCCj(5RH#I5'A6i=:=r:CD=B/0k91hcG7RTR. -5X.Co4?,;X1c-rd0E -rs/Z2#R:87rs/H-rs8Z4rX&Q2q[3rB$OR7K$4@4K$O[@N$k!IOrX9AG%1E[S%1*Z?IW,qUo-,:b/e/gDAY0/>46+W2=A(D[i+ -)B0Y8(_dVt&eblj&J>]f&J>]T&,ct:$jI.K$k*RQ%fQk=%LimVrXSr;"UYYG%1E[D$N^YA$2t;2 -#m(J@$iUG6$OI4>$3(>7#mptGr! -rX8c7r=&]8q@3K9r=AuA&Gm%J&eP`g&eYcg&eP]g'E/XC'E8aL'bhAs'`JjI('PNm)&aG5r>YeY -rZ2"\"X"s4,:+Z7-iPG<.4m/$,pt,k.5*_:/3H'T6:O@&5!:hl2D?pR7R]U!.krV'-iPOu.kE1t -+sHq.!$D1]rZ)(\)]9Om(]YBN(&nsN'c%Ju(&esN'c.T#rY>DHrY,;E!YZ.YrXf,ArX]#=!tPkP% -fQt@%M'$[rXSr=!tYtS&,ZtA%hK6_&H31Q%1`pY$k*LQ$k*IN$4@1K$4@5l~> -rYPYS)#P$YQI?sI&KA7KD!DesiOH\@62H@p]mKm@`]JqS`)DeEiu?X@)H -?=.&F<`;gi9h\2P84H'969m^s4?5D]2)P:fs"OX30eb::r@n:-r%S4*0)dF./1W1u-RC)c,lT"i -+sA-+*s3Z.+Wp\,rZV@f,5NMc+X831+o`\b*X3T')]BS2)#b?K(4Z~> -rsB#;$4$tF$OI1IrX/Z5!X];CrG%1NdW%hK/1!(t+"&p)2(fpk+rV7:*$$%A*ZFtm#o+-f',;/p -'+tuX&H<7B%LipG%0R4P&.T9N%MfQb%h9-\&.]9\%L`gV%LigU$OmIO$N1>C$k!CN$4I7M$OmIO% -1 -&.T-Z%1WgX%M'$[&.f?`&/"dPrtGMJ'GLH[rY#AJ',2,Z'`JdF'`JjH(B,-G(^1cq)]Tn?q]H.f -+sJ6W,pk#hr[[st0e"\/1Fsq(/hAS74YJca4@;e94[MIs82rCd8kMZ@1,(O:.P!)'/h\h,-6jc] -,9e<0+9`i.*#ok8rYY_R(]5'H(B>Zf&.f?`&.]6\%1WgV%/^P9$k3Yr~> -"WA@!*#]gr*WI2p+m.k<2&/M&J)r[e=*/M&J)/M-lQ#VIe`0ekF>1Go(h82iLf -3]T2]4$5\j5X@_)7Rfp>8P;cR:f(%g='8d5?!UcC?Y!keAR]:gCMeBJEIE^rM3=!RMMHbBIX$=# -N/<.+E,oW&AS1pQ(LpcQ=&i0s:eseZ91h`D6U3gu4?>J]2Z5K71Ggoe1]T?/2#T611&s'.0GQ2k -.k3"t-RU2c,U4NZ,9S0Q+s8'Qr?M:e"=5EB-R\mAr[.q!-71#a,U4N4*sWf+)]K\7)&`Dj!Z;gl -J,~> -rX8Z5rXB8D%1EUQ%LijW%LipYlOWt+rX]#?!"o)>!"o2Arso8E&J5Zj(&f!L(B,-L))E3O*$$+D -+!)FD*?ZUP*#KY:*$I!^+>kf*4$>/L0If"-+YGrA3\)9u+WD@A+!DjQ*#\_l!>lXP('tcm'GD,m -&.fEbr"&`;rXo5C')iFB')E.@&e>TR&H31J%M'$Z%1NdV%h/pVq@*B5!tGbM%K$\D%1`pY%1WgW% -LijWr!W`<$4I=P%/pV<$4@1K$4D@~> -rXSl;rX]/D&ePcT'E8dG($cY7(]G6Q)&aCi)?:`U)ZLaD*$$(B+X&'T,U4Q[,palc.4Hc!0/"q0 -/hS_12`EEA0JP4;6od(r77C'P6UjR2:-:I%;Gg4R1,q*B0/,.91G^U2r[7^ls!.mq,U4NV+!)CA -)uU]T)#Y?O(]bKkrYY\QqAK;Mr>5DJ!YlC`rY,8D!>?+E&HNLVrXo5F')iRC'`JgN'GV;s'GUN[ -rt>>D"qhIY%hB-\r=/r>%LimWJ,~> -rZ)(`*ZuO&+V?"G,pk&i.P!&$0/#"61,:R>rA+O20etK[1(Guo1GgsJ2`Wo\4?Pbj4oISE5?tWGA7]:]B5)1'F`(u6FE;bcIsdE>OIMc#P*1`iKmnoFP`gW@H$&q" -*GT+k>[(B7<`N'r:f'kY84Gs45<_4m3]T2]3&iho2uko93;bcO3&``R2)I*E0eY.2.k3%u-RL,d -,piI7%4*8H-7:,g-n-Vr.kE7M/cRC%/I3jV.4?Mh,U+K4+9Wc-*??-s)Lq~> -rXJf9!tPhO&,ct=%hAOLrXf/B&c*%>&J4pSq@N]=rXf2E&J>!T!YZ.XrXo8E&eb0U$5+!c'GVE% -)B0V8rYthVruNg9+sS30L%u_1c6mJ-mU`=5WL/;-m'KQ,:"Q^+<)6t -)?1NP)$1Ti'`JaI&J>`T&Hrg\&eblkq\&i@rY#5Er=T)ArXo2Cr"/c:!"Jc7rsel:rXf)?q%*T< -&.ngOrXSr;r=8i:rX8c7rX=;~> -rXeu>rt>;ErtGML()HlcrYY5Er##DNrYbhW*#nks#TXs,+!)ID*Zk;$$6C92+X/0Y-R^Ajr[A.' -/1`A*0f(XB1]B-Z2ENrT0JkXB5Y*h':e+Pk9M8,L;a3B=>$"Q^3B],P1c70M2_cj5.OchD-NYP< -+oWPg*ZH(<*#fk;p)EuN!#tnW!?3$W)ugiV)$1Wk(]G3M(&\jD'DrRD'`f'drYG;GrYGJJ";DL_ -&eb-Trt#5B&.e^NJ,~> -rZD._r?;au-71)i.P!)'0ekF?1c72j2[MH(3&iiU2E*NPqDAaA3&s&_4?btp5X@_(5stW>rC%Di -84uTM:f:7m<``C,>?tTD@V'4frbWisDfKrLIZt<6=B/6q9hS&I6UF%&4[(tk4?>V&3rV8@4o@JT4?Yhi3]K&V2)@!B0.nk//,gss --Nb\C-78[=%4NbW.kNA+0JG4:1GUcb1B0$2/hJY+.K1Y#,pXZY+<_gJ*$5%uJ,~> -!Y#YNq[WW:":bqQ&/+sR!YQ(WrY#5Er"B#Cr=],B#87^_&J>`i')iOE'`JaH'G^BW$PO3f',2/s -(E"24+8d-C*ZlLJ+seQ_,pX`\-7p_h+!`$T3%HCC1dFYr2ENZ[.4@SU7PuGB-6OKY-R^De*#fh8 -)]BV6)]BV4(`!kc'EAgG')`OC'*&aF'*8j_'`&RC'`A[S&ebij&ePZe&.fEb%hJUKrX\u>rt,>E -&J>`T&H<@>&H<=P&.]<_%h9$Y%LimY%1E[C%=e~> -!YZ1Zq\&rDr=o;JrYYYR"WJ@!)]]pt*<7)Y*<@-#r>YbTru:qWr#GbYrZ;:d+WqpP,5<>]+pK;= --RgPs/H.4Y/h\n51Gh$N3B/rU3''>i2DdKT3DW"+=\W%0<_l[f>!bP[@9lVh696q]3''/a2(pR6 -/M-fM$RmGL,U4NW+K(&\pI -(B> -!?i]e+o`ee-N>G'-n?f!0J>1=2E*TT4$5\*4odkI4p!l04T7DA3<2&<3r_>O5#.K(Y,.4Zo"/M8V.0etOB2)[BP2E:[p'fIm+1G^a=/h8D#-RU5d+sS6R*ZlL'*In~> -!"]&@rsoVM&.oEa&J5Wf&eblk',2,Z'`SmN().Jt(B,'H'`SjF'`SmS',2,q'c%Q"()H]^r>#DJ -(B,*Q)&jV>+T3HH+<_pS,q(8p.Ocbn.5Zg -&ebuY&c`UA')rXF&e5Kb&eP`g&J,Ha%h9-]&Glug~> -!#>JIr>#>JrYGYR)&X@k*;prY+9*Gb+!;^&+9!>\*s*K*+9!D_+TN_c,Q/nd-2Jne,s&.YJ>uG*"95&$L7mf^*3^#Yl5rg_U1,(@6r\"L. -.k2qo,pX`6+ori2r?;1_r?2+^rZM4a#pLN9+sJ0R+sJ30+TEMg*?6"<)B0P3rYYYOrttbPrttbP -!#Y\Q"WA=")]Kdn*WI,Z)ugiV)%7>u(D[c$()7Jt'+trW'*&Yq~> -rZ`.(,9nK_.4H_t/MJk71c@?T4?btp62EtJ63BM;5$PBDA8#[lCMdp-EHHDPJ:W<'JV&]?O+`7JMjUK-XKSk?[]?g9[@&*F)Pr6C]8#_B4PFW>$=s*;,9kY8kDK@779I/6ULc;!(-ZP)+6n_7Ros>8OuBB77BR15X7Or -3]T,V1,CZa0)mO'.g7IU.kWD*r\,NP2)[BR3]fDd4?Ykl4Zkee3B&fO1,(:3.k)kp,pX]Z+X-h, -!$Qj~> -"qVCZ',(rir=],DrtG_R().Gt'c%Q$rY>>HrY5DLpD*oK'c.W%)#Y6N)>tEP)>Y7:(Dmu*(Dn&1 -*[)aS,U=TZ,paof.kWP0/Lr8%2_ZI'.4.;:1/1#8Y0S)&O2.(Dn"f(BG?hrYP_Q(Ddkb)#kHR)#b?O(]YBN(',3erY>GIr"B&Cr=]>K',)&o -'E/[I'bhA['`o'a'`A^F'`A[E&I&dY&eGTe')`Dm~> -!>ZFL(Ao!J)$1]q)u^iY*ZtA(ruqFdq'#e^q&fe`+<_pPrZhCfs!@Ujs!Ranr?qUns!L;b.kE>. -1c@9N2`E]V3]oVn779I.5X\@<4$Q%s=\_Y(>]XsiAm/h>=*AUn78?-36:4444uP8T2)@$D1G^a< -/1N(s-RL2>-2o.l+s\?Vr?21a+oW\b,Pr_f,:"Q6,Q8hn+ -![K*5h_]>[CiLBP_U-F)uGHG^4^fKSYSFN/NUVS!]5!Q'JPNVnfd]`4!Rl^SJ$I]<[frOc,4u -NWk&]GBS(JrbrNgCM76e? -%2'?f'G;&l'GD/p'c%P\(((in(Dmu*(`+#*)#P0^)&=&)(`!r)(E"&,)&O5/)B&Mm"W86s*#fmr -)Z:WS)@%,u)]Ke>,:%'is78G[5AR@YY2CC%/2)d*4 -,pX]Z+sS?X+H4b(`*r)(Ddi''c.T#'c%N! -r"K5J'GV>]('50b(&f!E'`f!arY5JK',CK\"qqU_'bh8pr=f2DJ,~> -(Dmr*(Dmu,)&aA2)]Th<*?H:G+:+sS9V,5rhe,l]1j-N>Im./bRp/,Umr -.n;'>.Olr!/1iP32EEr_4$5Vg5!VJ*8kMZF77pNP5"7t6A4g`LG^s:C@VeeSJp^]r:-_6>8khZ5 -3&iiT2)dHP1GCF4/1^TH#:LrH,paf_,l/ba,Q]8=-M]#$-7'r`,9nBV+%&0N&9*??+>)]BV4)&O2,(`3/e!Z)RdJ,~> -!%.Xms!n^5/MAe61c@?U5!_M'7S$*D8ko:\r_WVh"%u6X8Gbmh84lKK:Jane<*!(&>$>-7>[@55 -s'Gb6raGh;:M+6RCiOQCI"$NoJ:`K1NKTTnQ'IZ*W1fKJT;TK&b/DZU`6cKGYJSH%Z)4C_Q^F2. -NIlY.H[0j[GBIqDC1q3h?s[)@=B/@":ejYU8Gu%(7Ros>8P2WM:/=_a;c?Xp;c?Rl:JXYV7n#a1 -5!1kd2Dm -!Yc:]r=o5G";V^f(Dcob!Z2dlr>>SPrYb_S!Z;mprYYbS)&W>j!u`$q)ZC]U*<-uU*![K(*?6(> -*$,#"ruX'<*#on:*$$+F-7UT!/1W5&/hf.A3&WTJ2F0/I0J,aY6rmT59j(.f3+Ho92a8lI1cRTQ -r[.Xk'.,(S,p=BP*?6";*??1A+!)FC*<$l_)AsJ3)]9S4)?(QQ)uUcV*WI,Y)ugfY)&O/,rYGqZ -(D[c&'c%Q$()@Ya(',-dr>#SP()@]&(`<5grtYnW()@]%()7Q#(B,$K'E/[M'b_;q&eYn/~> -rYb_S&K)N+)]Kb:*?H:F+X&'T,U=]8-Mf(j-7Aa>IX]87Pq7FaK3fH#.J$Jrb@Z>=hC];,g-d4X`BP -3]fG`2D['B0.nk//hJ\-/1W.u-mpAh-6soa-6sl`-71)f-n-VD.fV"0.Ocbp-mp>f,pX]Z+knX!ZN+!rZ)1a+!)LG+X-h/rZh=d!$hIeruqCb!$;+[ru2+[)&X>1)>tBP(Ou~> -r[AU4.4d&'0f(XE2`a&c6:=:79MSD^;H3Tp*E,p9;c6Ff:JFPW9MJ5V:Jaqf<*!.*?!^iF?t!L? -A,g(&AS5XhC27U&D/O95FaAOjLP^kDN/s'bR\-=JTV/0iWh?Dk_nO+?f](B;dac"^f?pq8V4aT[ -VO*3sLP,SV(OpdSFE)58CM7?m@piYI=]\R#:ej\V9E%Kj92&&T:Jk"hJ]2`*?HrA5fY2`Wo^5=%Y)7S-6G:/4S\:f'q_9M%`C6UEt!4#f&R0eFq-.fLmq-@c~> -rtcCb()@]%()Ri)(Dn#,)&X8.)&aG4)ZCZU*<$lV*;piS)Z:WS*!73$*$+qu"%3?B:a -+!;^K+%:W56@!rZ5Wg_\5!h4-.fUn$ -.4Qbm,9\3.*tKM;+sA'O*ZlFE*??+>)]ehqru;%[*<$uY*Z,n?*??1A*?H1?)]K\6)&O5/(`4&+ -(`+"e)#kBX(`!o'(Dmu*(]5-M)>Y3L(B> -ru1hTruD%ZruMIg+<_pR,U=Z`-iPLo.JtY!.4Qbr-n+m=%O`bT.P!&$/M/S.0/,%4r\4=)s"FL/ -0JWP^r\FO2r\F^51H%6W6iKS17Rp$D:fLS!<)H_-;b9ncG?K]KT6uB=F^po3G$\h./kUn-j;%L.P!&$q^i@1.kE/"-mp>f,pOTX+WqjK -q&Tb_+ -!\5iQr[nj;1,CdG3'08g6:FI=:Jt.l='8c+>R=V<=]\U'<)cdprD$YKD@qB9NBE2fF -CB/)JCKYLlDfKf>F`qqPG^+R`JqoALPE_;tR@U(OY-+n.Zb`rK\%(2.kMPdemGm-MkiU=3]reQG -Z_`nKNf/aOM1pG-H?aUTEcH&9ChdQm@:!,><`Dsn:/+GVr_3_r;H6^u='Ag6?XWkA'4>0R>Zk*, -;c$.[7n#a05!1kc3;ti83<)&i4?c%u77TsD:Jk"h<*!%! -!Z2dmq\];M!ZDporYkeUruD%Xr>beWru;%Y*r[2[*<$rY*;plZ*ZZ=$+9!G\+93Sa+@mXu+WqpO -+sJ6V,U=TY+X%sN+XS]o2)I-G2)[K[77BF'5Yj?q2bQtUA;5#?@olWmKh"io5"/%+/hJV(/1rM' --6jZX+X/01,m>P=,U+EUr#kt[rZ)"\+8m5]+!CJ'ruh:_ruM7_*$$(!)[mW&)]9P3)]BS1)&O4h -)?(HT)AsA0r#,YT)]BXo)?1WR)%7?"(`=50(E"&+()Iec(',6iJ,~> -rZ(kWruM[m+0J5"1/M&D&.4?Pj,pX`[ -+sA*P+WqjKr?2+`#9tE;,pala-iPOk.K:e$-RL/d,U4KVrZDCe*ZZ7@*#nksru6I~> -s"+4(r\+s>1c.-P4?c&!7S-9M<*!.+?!mP=,%=tg?M_^sBX*_UdE'm/-8Jmd0$1p!VR, -_8F3sTU_F6P`_#aKn4c'IXHNiH?OFNDej#t@U<;B=&r9u:esna;,U@n='8d6?X[DSral+As'u[L -?X$]9<)HC`8Oc'55-p'OU5sn(28ki)Z<*!.*>?kH<>[(B7<`;ji8k2<<5 -!#Y\Q!#YYQ$lKs&)B0S4)B0V8*#nksruM%Zq],YXr#PbXruVLf+!2UK+<_sQrZ_@e"j -"W83r)AsFl)?^ut)B0Xm)?:ZS)ZCTV)AsG3r>GPN!#PSOJ,~> -rZ(t[rZD+^%O!#?,:"T_-R^Dn.kE5'q(D\!r[e("s!eO..P*,&/M8Y00ekF>1Gq&c2?5W42ZG`9 -3'TGa4$5Yg4Zb_d3BB>l9Mnbf;cQq+AnbjcB6IKc?B9*#Z*C!iJsOQSG%b?#Eahg<8k;QH7R9-t -3]T5_4[&d,$T^:,2Dd3F0eY13/c@4".fV"!/H.4)/h\k30/^=~> -r\,'A1,C^E2`a#b5t"799MeYi>@(]HA,BmYAn,=Z@9m,@=BJ^0=]o!9?XdPXBl%[+EccGIG5c[c -Gl;jdGRJ_@H@1-iJV&Q0LPYqd.>it?OI2]Zt93?Fp):/"5K76s.%4oIJl4[)(s77KjA:/Y%m>$G<@@:E\R@:3JL>?=j':J45J6U!Rl2` -qAKtc)B0Y9)]Th:)]Tk>*?H4C*Zt8#r>u+_*?QC&*Xj,5+PA-N5@n-n"sB0dn@p,pt9&5=%P!6:XjR;b^+s4[r=ZJVTnOIpJ;D@U2?$?qrX>1Gh$I/h87o --7CAC/H..".fLjr-NkbB,9eB3,5WMb+<_p-,5iYa+o`\a*s*K(+9!;Z*<-rc*#fh8*#on:)&sV7 -r>PnY*#fh:)u^fY*?6'u)ugoW)ZUlW)Zput)B/SorYbeV*;gb+~> -r#["(+<_mP,9nH[-7:5k.P!&%/h\n30JG480eb:70.nmV/c@42/hJ\/0/54;1GgsI2`E]Ur](*@ -3B0#ZqDngB4?Pbj5!]'47R0.#4[;M6='Jj4?"7_oEbo`I?YO_BX0TpQXGXdIMhGehJSnOh:f(%a -7R97%4[28"6UF()5<_4m4#f/W1c$mA0J>"1q^qh#">)5Z0JNG[r\>3C1,(C8/hJY+.Oceo-RL,b -,U4NX,5i_d,lT)"-7:2j.4Zr#/M/M*/M8XS/.jB^.4?Sl-7'r_+sJ0Q+ -r\FL02)I3O4$5_m6q9jC:fLM$?XdMXB523tCi+!'BP(da@:*>H>[:Q>?=7/NAnYmpDf^#DGC"T5 -HNSYBH@5^?s*n%"JqJc3LP^qJO-#KdOH>NbPaeSS['d?T_TgW^eCs06i90=upA4FMo(E%OpYkE' -f=n\rWiDh`Q&go_NK0$YN/E@EK7SGsG&_D8B4PFV>?Y-1nE=D/Zk'):/"5K69dRo3&WQK -1,/\\!&9!~> -r#>\UrZ(qY!$;%Y"WeX(*$$(!*rR/_*?H7DrZ2%]rZ;(^$6^K6+<_jL+sJ0SrZMq",U4NX,U=TZ -,pjuf-n-Pl-mpA@./tb[.4cho-n-Mk.4?Z#3C6)"6:XdR>>nX75tZ04OhR!D@D8gS;-\!D5\W>-n-Z!0/>OG1GUdB/1^]Ls!\$t-7'u;,lT%g,5iYl+s8$P/h\n0/LW+J-35PIrZ2=c*ZQ4A -*ZQ4Ar#G\Vru;.^*$#t*W@&V*In~> -r#u%`rZh^p-7:2j.P!"J.0_7P/M&J+0)dF+/1iA$/1p`Os"FC+*%rls/het61,1O@1G^jF1c7*K -3]fGd4Zk_b3&pmu%m)m:4Zb_f4?GVg4[2D2=T2Gb?>"8"D0(8:C6k1$m)6l+lIqAIKTpsp?!1B7 -:Imi<5t"1585)TC6UaC-5<_7o4#o8Y2)@!B0eb76q_%n%s"FjC4Zthe2`WcR2)m`Qr[n@+/1W2! -./bLp-7'u;,l]1j-N>G9-n-Vr.kE8:4ukSd5=%Lt5<_4n4?G)B-RL,c,U4NX,5rb`+Fj~> -rA=O3'KA-95!_S,8k`&\=&`'p<*!.+?=*V<#@1S<>$"^.@/aRK?sdAP@q91\>?kKC@q91_BPM=]ea.>$G6<@:Wq`BkqF!BPM0oAnc0u -BkV'g?WpN2:eaSS7n#g4r]r#%77TpB:/Y(p>[V#NDf'0%E,fo:D/=!$An5=M;,0bT77'4%3]K#T -1c,(bJ,~> -!$1hU*ZlFF*uuCD*u#=r%h/gV'bh;q'bh8c"pYYV*$$+CrZM4ap9 -5;OlA/MT'\1^QBQ>s)%g="5XLr[e(!$RdAL-7'o^+sJ0R+T#%%e)]Bb> -+8[,Z*W@)^*?H4ArZ2%[r>kq\rZ2n!RB:LtU9V4qVP'EHM4(A")&aG7*ZZ:Cp`0>UJ,~> -!$_@drZqLi%jiYP.4H_s/KGT:&Io3_)#b?O(^Cc_#mq:f.4bBNs"J=F0JP=2%grp]&.T$Y)]BS, -(Ddr-(*GFn4?btd)]]q<+!N$W,pt)b'bh<)0/"_'2Dcm)1a=It+#-#F5u=3_7S6BM9h\Dq@6mt">rt/55X.Fp4#o5X1c,+b!&+:'!A,u(0GZBXDiKBZ5Bfb*;ESSA -/1rS//hJV).fLmr-O(nF-71)e./kY3.P*,&/M8`MY]ZJ4[(Mm-URn!6S#natr[7^mr[%Rhq]Z"` -J,~> -)`9Q42`E`X4?l/"7S-9M<**3`+W)+8(*+SC+oWYk+VYS(*B[A-@fBm;AH-:hBM]]a)''V6(*"\K -,p"3S,pjm$Cj:MdLLr+f.OZl%1GL[C2DHI&+tu2F3''Mr3A*ZT4#el[;Gp@m>&MXFq$>-7?!^oKAn6148!f3Q8V0uV ->Xj!B@VKRkA78bG<`;df8k;HA7R]a:8kMfS;cd..@:j1b\%@-eYeS2SZ`U1'Pbbin8k_oO84>g0 -4ZbY_2Z>T614T~> -"Wea-*ZuR'+TEP`+TEP`+;Yq2&Jc)k%h9$X%L`LE$5OKs'bV?*+<^Y,C*FfG*Y]>'%h]?d(E!l#% -N#ip()%Du)^Hd]+V54o%hfX%-nHkm,:P6"0IRu!2)R!)-TE\?3$p('-RL;f'MWJWbd+;6M/7rm; -c$=d5;OrJ2E$)^d.P<>*.OZ\lrZhOi+sR"0!$M7arZDn"LlI787:_BrObR%I& -/#m&*ZlIFr?)%\!ZrI*r>tt\!$;+]ruN=**ZcGXUN48I\@e`O] -![T*;r[%Rks!Rgps!i=F/1iIu((h;s%M'$Y%1WdM"UZ"_)AsG=/MJk50JG4:1FX(S'G1rf'GhW# -'Fkrn()@T&+Y,N:5VN`]$kF!c,:G)n+sSNh0eb'u1c7-C)CIKr4?+Z:.46Gl,TLEWf_=IXrk>); -W.9,:E*uR=:Jt1l<)QRj<)a]<5&4;*-87SL69m[p3B&fP1,1I90J>(3r\+7)*AWM3M0DC!N,Oi5 ->%&9k.ki\30.nh..k<)!.4H\E.0:nH.K1h=/1iJ-0JG5=UN48I\@e`O] -!&sm:3]T8b5X@b+8P;fV='Jok)%m]"%M'$Y%1EXK"UZ"_*%3gA?Y!b[B4kmmCJGib'G(le'GhW# -'FkrnrYB]*7UURtM-h)3$kF!c,:G)n+sSNh0eb$t1c7-C)CIKr4?+Z:.46Gn,pe8DiVN$1s7#[[ -qtKpVjj(NDZ*L[=XK&1pQ!INVCKk@D@ss/gJUD]`ChdQm?sR#A>[(E;?=78SBP!%Tce?u0WeBOtUY>?=a"9h\2Pr^e_89MJ>_='K$@ASQ*sRA4f?UU[t7]=kPP['"=)2FU>88kDE; -5 -"!Ad1+oWV`+oWT'+WqpN+WV@8&eYil&e#-W$kX0h(D[Yn#SS4%qB?dt%hB3c'G)#s)A6^+X\`e)ZCjX)AshI,9J0W-n$Sk+Y#N&.NBZo3]f)R1cRE>,Uk&s(eqX$_op8eRZ:ob@8K*H -4?u8#5sIOp4?H#5@T7/H9F;L[/1W.s-71#`,:"NZ+sJ0RrZV=erZO`VQ#:5);i@3@K8kYJ()J&6 -+!2UJ+WqmL+!)OH+ -![T*l>J3$0@f*uc+E,pOKU,q(2m,p=g$/1MYb4?>V\2DdHR,U=fc3$r1\q=O%?cIU"% -NJi!h>$YNE?<^T9=BAO,=CP6G=A9>L2aBSj4#f,U1c$j?0.nn10/"q20JP7:1)u[#Bh)*]SYCar -LQEAq/MAh60eY14/M&D&.OceF.46Vq.kE5'/h\n41,C_FZ'`A!SZ%jTQBe,BOI.(#+"/Tf.46Mk --78[;rZm!~> -r]+RP4?bqp6UaI:9i+el>[TuJ+;P_-'bUo_$k*^`(E+/-(Eu(LAnG^iCMI^(?b?=?t*YZC1jSnE(a2jS>(Ro -LQX#D$"X!:/+I^9Iik6;H6h&?Xm_`DfTcdZC&J"SZ%jTQBe/EPF -qB?%e+sJ0SrZV4a'd".t#6kYT(Dn#-%g)q=#6tG>'-AFr,A&,E,U!p2#6tVQ)Aj&#&-;t=#RCYA -'HnhQ.OQ8K$4@V'0e"S,+9`#Z$k!OV%1`jY%hB3`&.TRP9M\Ve9b'UmjjN\AZ`SOsBi%8n;c-7] -84H!86UF(.8Qfb/?<74>+"&B_-N5:j,68u6r?DCg,9eB1+rW*[(^prhBoJ" -r$VIls!]!=.kE5'/hSe2.NT*.#nRpi(`=2%"9o2@$477a/2@,Z'/VL&2)Hs1&e#-W(E+,&'G(?N -$N:H_&0Wkn5X.7Z(_@2r0ek+,0d$Z-%hK6d'GM2n'G_E"()@W+:/"G_<_jK5_>*p,o]kbOXI=NU -EclA>BkCg_?"i(5='er5(bn-94#o8Z2)I*E1,1F90J5"40JP=;1,M'H*t]2'C5e+=US"0K -V(+&N1,1I:/hSaU/-%0t.jHVs/M8\10ekF>1c9TL\ -!':*@>s1A96UaI89M\Sf>[LuK<';EC(Ddr*(`=2%#7_Ib(DnD`?>+%eC2@a*F)PJX.NKED(`F5' -'G1QZ(E4D;.SOr?N/2UY1F""e0eb+-0d$f;+<)la5?c)U8s7uBc -p&4d^nEoJtf?MCS]t:kc[%:9#BieVC&NOWZL4O_tFDu&0AR]%S?![G9"(GeQC&Vrf=Z[iR,AN0r -R\QLKTsIp8CM[]s@U32@;c6Kk:F]7@=BSj9A7o^tFE_eaS@FoXYK2El.MWsJ+ -5X%@n48h0i~> -#pU]?,U4Q[,9nK5,68u5r?<"")&!Po&JYim(D7)W#S.LZ&el6,,:*75&gSYG+s@j=&JGiq*>]P2 -'*/=KrY&BK)^?[X-RKrQ'c.rC0eY7<,6A5f*$$%A+!MpT,pt&g.4R#@2G[+95nQYqnaHD9f;"FF -@;'Fj@U -"=P]K.4P3F(b7-g/M8\00JP:8-QX6I(D[Pt'bUlV%2f'`"SB1+t,'"0/5:/";2n-.kE8*0/>=@2E3ZW4[2Lr:JX>E(0\WMrVu]lkL-;o -QBdJbIsH*RC1UgX=&_t&@r,.j?Nh2t3]oG`2`3*[gq="tV8T.Olkr -q^?s~> -+ZqnN5[V,WAQM;c4t.<[()@Ml$6V8+4Te#LAS_6\E,T]:F`Lqe7RJsO*>]P2 -'F>mC7S$-KAUfStO,.m_;GT\81+t@=,mu(k=C,9>?XmY\C2Ip0G'7_"2c*:=65NkDp\k-grqQ?_ -oD8Ico]kDfd`fYE\?i9"Bk(s[H!h(?BnV7oIX?6XD/*`p@UT1B;IEjAAS>dqE,fJe770;*QZcl. -Kpm"\3DO(%DJNio?X-]6<)Z[n;cQn&?!h,UCiFNAHZuBaZ&?K*[[r'l&1BIu3&j&q<)lai8Ol-8 -5X.@nrB#N~> -qBZ7h,paf_rZi:),U+HW+HK9r:)F`!5<"Uu=l -+X&'S,:)t-rZWC,+sJj$2NF)rTs1<1Q%g1]&f_r5+!2XM,9nHZ,p`73J,~> -s!mpsr[\%$r[nC.0JP==1,8b]%j2Ar((q2e"rAX>/hJ\11As'/2?#LH1bpd?.j,lP*#o[s(+M'q -1Gq-R4[)%m4?5A\1FY%4-n6,?*&^)M77TpC:f:=t?Y4.rEBd&k770*O?GZ@8s8Mraf@.gQYG7>: -H#-qn;c$1b9ho8-B52Qq'Hf4m3]]8\2` -r]^?Js$I_o7nHBL;H?t,@:sCnC1h3m4qeSF&ePN_2HaSi@fg:[D>n>iDfBc?GBe7LDf8N"*ZH%< -((W3-EHQGMIYNd[NdZb8J::lY0eb"*)\G5RMij3hR%9kGX0K.Mb0IS#<)Z4Q3Ybu;pAb0lrqZ$Z -s8W)tr9rUm`P&X^Vk03.D.%!kF^H(JAq>YhJ:2]aE,B?&A7K%V?t!PVB5)."FEM\ED/X-?K9r:) -F`!5>))YW;EGoW*@UNJH=]ea,.p,qZ?=7;UCN"<=JUr3DQ_:%VUVrFP*?.:K?sHi:>$4m(:.n,I -6pa1'55dWp~> -r$MFk![]9Br[.Ri![K!8rZVq!)A3f#',CrY&KW,@,U=QZ-2o.n,pOZ],U<:4s!%Ob+9!Ge)$:Bj -,5iee,m#><,lT)[-S7)43]]GV!tcb./hJ_21Gq*Q5!hh:>%MAP5tY9Q'jAHHs8W&ZiRbW2KP=LX -4Z5#H/1`80?=@SeDg?VADhE($+r[33~> -!%n.#r[n.&#VRea0JP:;1Go(g&N2Qp'G_Ds((:Ee/i>OE1c7,f2?,T62[26%3&r`9+9!Gi)[.*5 -3BB2_48h8A4oRVi5[_;cH\[B":J=na(LG#Qrr3W.r;Q<<[?c;Y -?W^3#8k;EHAS1p[s*5)fDhN4/1,_*Q3B9#W2E(Oks"ap;1GgmE1Gq$JrAag;&sfAaLn'p"VksP. --o -!'pKLs$e/&8P;fU;cm:4A8#h"FE`%V8/N*W',D#j5A>:aF)c/;DuOS^E,fuEH$k$jJq7>V+9!I2 -)\G2MK8>;2pZWNEG5]>D_@i9g*dW+8Y+9,1^KpAP$kqu-Qp -qYC![im>TSZE:1)Rt#[1EGp,JBQ&WPB5`0JJq8;nFDu&2B4b[b@Us%_BPMC(Fa8:^JV/[:WB@V'4gE--DLU8b>qUTgnbT#IUO'-L"bEG]B"?sHf5;,'\T -7n#a262j(K5_&~> -r$W"%-n$Gk-7:,e,pal`-2o/&,:+6?'bhE!$3Lk^+s\BY,UF`6-2]%g,7GhB+snWb+W:@k*?ld. -,Q8rc,pOW[,UG'(77BR3/HZM+-7C2g-n-Vr.kND01cRZf6U+XU8JP4?p&G'gijOh`<_5P91GCF5 -.Ouu!3H01dH"D,;DN9EO*#'86,UXod-7Ad>"t1iG-RL2gr?`I0-7'r`,:0"=T9#q:NM;pD$5k$4 -,UF`^,pk#8-N5;,,U4N\OfYR_N1cJu\ZBZt&I90q,UF`8-3bbD-RL5i.JYBB~> -r@J%$/c@=%0E3^E0etOA2)R9N2`N,s'bhE!$O@\*2E*QQ2`3Ml2?,T62\.l.3BAuB-71,a*!R97 -3BR4$rB(!@;Ed6-4@M\+6n\cc2*aJq6psI784uWP;HR18D/!0Y>=of>_Y*s/rql91XH.^E?s$<& -9hIrI7Se)LGBmbBE,:Pg -!(-ZPs$\)%91hoR;cHn*?tO+kFEW"ZI7b:j'G_Gm'gQS]H?aRQEVscqEccSPI"6j'Kk2_\-7C#W -&Nt)eMhm+DM2@.LNf]EhPBK;^770Hs'h*VATqS6XVQ-`&[_'E!eD]N3O^hTf)I12Qs8W)pqXO%A -n*]/^`P&X^XK&1cIBOkR[?sd;L@:Nn`D/aQ@I!MZoWiD#NQB8\ZDCQDF:Mt;oChI3`=]SEr9M7oG -770H@6%A~> -qC)Rt.4HYn-iPFo-RL2=,RYn:&JGlp'*n^R+!^_0r$M@g![K'-=",U=]`,pt#d -r[@do!@T>n-N5;'-\./7MK4QEQBG!>S0A4S+XI"5r[7^o!\#TKr@%^pr[E?~> -qChk&"YVSa1,:Zb2#fK62\A#0-5.%-()%#\*&0B42`N`TrAFa:3&`hr3=S#24#J9.,Uju[#9#M`3&`cU2uY];3&`iXr]1ZR4?YisO0FeFS!95<(EYLm -3B@'us#0m7"Z/"k1c.)h2BFe:3&s$RN/W[8LRj`o:/IH)%4!bh2Dm?K1c$mA1&`m)0E*SS~> -!_,UIr^S,'8k`#W<*!1/@V9FpF*N+_InUXl'c%Gj(.)ncI!KpXF8^(nEcZDMH[gX$LPBCl,:"]` -*YLYVLQ)1hs,AFeP*2)sQ@;Y'6q'@!'hai(iiF_><#>&/(oDa6a3,Y)p3MM-M,G][nACMIQsBPM9uDK'`DI=R$-N.e!fY`boR -PaJEi1LPHTI!B[MChdQnAH$'gAS5^oE--ARJUEiGNK&%:SX,F6:n/mW;/pf#D/!Nf>$"X"9h\/L -7n#lF6@]~> -qC;Us.kCTJ"Xk`G-mpD@-4hOF',)/s'+"dS+XJH^,par;-ibUn-NGLk-OM7R0/GI>*!-]q-iGLo -.T\,M.P!&$/ic-c8Oc0)"Vr^K3BB2`4[)(r5se"185<2kB6J)^3HiU?s8MulnB.\eG&(Ph;GTtZ -91hfTIt2_S%MT]m*J^_B";<1<1,:O:/h\h//M-lQq^WL5.k)qs.4_L7^SJHIWh-tqP+bR)>O6#T+a4-R^A@./tan.f_.!.t@~> -q(_k(s"j[3(c=313&ioY3]\Z'',MAs$O@b/3BK5^3][-ur](QO4$,Pf5!CqZ0/GI>*=!N>55dbH -5q,,f6UX@47nH!88Oc0*#U;]7<``@*=^#':@:Nn`DKUGeQ_T^M6[-cKrr4AErqYHdVjNBkFE)26 -BP1slK7J.Y&JuK++bm(F#Tc#s84H!65X.I34T@MB3WhH)4?WU+*'QSP5d.r;Uq3q5T"geZU,"Ve -3]]8\2`NcU2E(On!''s -r^Zu[,"P@$:/=_f='K$ABP_X1H@CHs9c4T\'b^uk6Z@I'I!BgVrGr]qGBnUcJVAo;M/"q%1Gpj- -&j^VtOT(7jO-#NgQC+,3SUsC%8Oc0*(/0dk['d?Os(:JOPS -8Ol;L7">~> -r[e1(/M6rQ""c&T/,^q?.4?Sl.46M_%M]`n(_$T],:=lg-n$Po-n$Sq.4H_q.fLms.ge!e0JXsd -!tut3/c@:)0/,(50`Ed63\E?R8P1W>'Its<1I3cP2)[BR4$Gnr86B_]LOO#^W8.7Jo)/:5bJ'Bs -E*lU@91D975!2>gKk^_s'cS,LR=eQD'Iu%!2` -s"aO/*AfQ.1c.'I2E!KQ3B9,^4?GYQ&/>rp(_-fm2*3u#4Sh/>4o[_G59rK[4#8ZH1+!S<*B-;Q -779R57Ros>8P)QI8h`1d8P1WA,!Sd#;#X<]<*!.,?Xm_eJ=1O=^?i;C'G1k.P*iRKNSO#4\SRC8k;H@6UF((5mE_ -+"9'04Zkef3BB5#3WD/?4!$LG4?YkmQ(XB`#8LF,];LU+(_.lN3]T/Z2`EWP2Z5K31]0"Y~> -s%*/]s%=M/:JXhd<`r[8ASQ($G'ealJkQjn().Sr(.<1oJU`#lGl;e:GBnRcJVAoFa8@bKnt\KP`3/MLnp61 -Lon1e_T,#HEIN@_GB7bAD>n?$D/XK=H$t6tMM8()Q6[.rA!O[(N,Ka];fmA/E,0&p?!:<-;,BqZ -91_\Q7Xt~> -q_.q$!&+='s"+1#r[Ja6.Ocee&fDW-)@Q`_,Uk2n.k3&!/1`A'r@AO4.kE5'/hJCq'G_Sh'IGCa -0)I="/eC';9i"k]3!BpC0/>491,:`d2`Nf]85iu2C2J-IPdB/qoD-u*kN'(5TpU+?@TZ;l5s[b! -8oe96"V;n-.QriWJe]:Z0JP==1,:T`1B0'31,C^@1&Wm-0bZ;s0J]5JWfM\%T>SaaZ]58%+=d@A -!%n(!""c&T/,h$u.1n%QD.X4^(Rh%iQ'IXQ#T>$=r[S%$.kLZO"YVJ\0/"sU07X~> -s"a[41]0-02AS503&ioZ4$,Pf4[(8-)&jM5%1"%64oISE4TIVD4o[\G5Q3qX6:4.)0.%qY()mK" -3(3X4s$m#Y;+=)H8l&/W=@Y=U+?W4h9hnM];,^Fo=^GifLldpnX1QO+lLb)Up\t-jjMTHcU6(+U -Ch-s\?!Lc\?VUkD1dOK+P*CS8,sFdh84Q-<6pa6>62j+j5sR_&6UO7177Tj=Tm`r%J=`CNaM+s? -$lUia5X.I34o@DA4T@SE4rHRM5^[E\%Lj_VTq@U8Q5^>^2`j)^3B9&Yr\j[3q_Wg~> -s%>UL92//W;,L7m=^,3AAnu:*GC4pnK2*7$)]K\*(.E:sK7SN#I!Ks]H$b!jK7o&>NfoQE2C9[` -(*!rQG`S&OrfMYmPEqW)S=Z:(<_Z@l7l_>ULnq)PXKJe5[^`ufbM):YrquZgmGm!fp&G'err2re -nb)_Qq=X"+ccO,A]rHQh;\V64O-5NlQA-MHEfcNKO,A^DI=$6_F`__HFE_tWItNQ8OHZ#mX*q%1 -JY/RPaM+sA*^"+dKRnJqF`[M%/ou/[H@CF"M2d@SDeBn29 -r%J7+/MAb2r@\($s"+'u$6U60)]'J)";N76r@@t$0)7(0/hAP*/1;P]-8%M8!tut2r%.n"r[n+# -:G"Lj4&SaA2['jC0/,(80ekIB3C-56<)lgp>\&&2S^c$#e`j-m^;e*aEH$V\A62`-8jts,5=nF> -"V`CA1dZ,NTnJ5S.4Hf#0/#"60E!R)1&Wd,0f&_^'/;0o1:+9n'GM=pc)?\qXo]%T/H%1$0D[:$ -/cI=#.NL'5:L"P>*JA'XDN^D*#TG*@.kE;)/1rS.0J>%3q(R=~> -!&aa4+>u/;2E!KQ2E3WT3BK;c4?Ykm5:d`r)]'J+#Tu)j5XG31!C9!M5n-.J6ps!V+!rU)0F/[X -qEt6Ms$[>c77T[,;G9P=#9Z0&r_7!":JXkh?>+>%GB\@fPH)1Dr:K@IroF%Lp%m44S#i?>H$+(@ -@U*&::.\(b*^3=q=E9q*Ko1[J5!hY)6:*t(5o!u%M._HYPaNI$-TO=P4$,J`3&`cS2E1Un!&XU2J,~> -!)3Ad5#+pN;H$Or>$PEFBP_U0H%(@"Ki0$9)]'J+(.NM'LP1;2J:2flI"$TtKnbGDO->cC-QaZf -5;3^9G)h`JrK$uA&!WEKS=>"#4]4sC3#5)BU].<1XKSk9]#<"Pjm)7*r;?Ebo)ALWq#Bd\r;?Tk -m.L2MmH*9[dE'2:TN=]](ds.\YG$?7U54o$GCtd3LkUD.H?j[UF)uGHG'\OdJqo5EP*_ -rA+7)r\+L.0/#"4/H.40/1i1j+WVRO'Eo4!/,V!t0)R:4/hAP(/29=X8P;Q*!tlk0/c@5*.kN;( -.kE5(2bI1dA5FcZ'.>Fd/ho.@4[V_284Q->9Mnr.C4Nh1N2j;6RCB8\V508h;dF6T=\D:Y8k)U< -T8Njd.5NkVNg,]eUo51Q-nR,+0/,(50/,%60E!R)1&`g?0J>%5\@93T"VJ>SSa./1`D,0.nmV0`Eg,1&s0/14T~> -!&sm8!]N)!r\t$@3'')^r]L3E'0e`I5qsK**??OB#Tu,m5s[b$62a%_5sR\%5sdn*6ps@,7S-6C -/dE@S62j1N6iKFP6Vp0>7Rfm@=D;;B/-d:[8kVfO:fLS)A7fLfAnZ++JX2_1md\?]kkWljk0)K/ -^m'.qO,J="BP;$gAX&gF#Tc3,;e(rSP)c?;,q_;I6UF*<5Qa275[\6+qZAGN2_G_JJJbE3^,_j4Zb_d3]T5!3<(o7 -2h1~> -!)qK?L*]rVZ3_o)A%JqtC!g -rq>[Co'G/Zc-FSRYb%JK(e0Ff[]l9dOH-*>9OiL/MM?_3H[0aVF)lAE+a/*VIY!61Nfo`i`j`_l -)`5@>S?Os* -<)QNi9`Rh:~> -s"s^2!&X[2!&XX0s"OI-r@\+%7j]N/*%2p:"r/L:/hJY-/hJ\-/hJ\-/M8Y,/1N2,5t+=97Pk5\ -,V(Gu/1`A)/hJ\,/M8\:>$5HC?U4i.-SR;54$>ks6T@Cu4[)5'85ihsCR_#]DN:g*NHVa_HB*o9 -BM:lm?=6`&6UXk9R=teX-o!JA]0E*RD/MF/sS-00>]XNNu -MH1E51+On.0/#"40JG480`Ea)/f?K'2LpsU*= -r&O[9s#UHJ4$5Yi5!M=35n64:-70]\+:8At3C#kr6N07V5X@Y$5sdk(6N0=a6pj=184c9.#95Wf -6UO1.6UUi@(.C\^7nHofAmJb1#9Z-$:Jt4s?=.&Gr`rlABPM^EJ="I/aJm>FlH?5X7Y(6UF0>6N0:N6N9Cl779^>8;*1l+;$5WO(:q#?4RSr4?u.r5!''j9J,~> -"\qih;,LJq%==_:rH6P`4KUTLc.\@]Mk_Sa:4d+I1CqY'[`qt]gSr:p'Rq>'gb -rr;cNeCWX9eB,\I[\0%G(e0@c[@grZEF4!.+[U.*N/<7>IX63^FE;MFG'J7ZJ;&f=Od1p9T:ZWE - -rAFR2s#'g4#W+=l1,1L;0/*;W'.kIS*uu4H)?gj%.kE;)/M8V-/cIC&/cI:4.k3&&3'B]%6S8KT -,V(H!0)dI&/c[R(/Q+2_;.4-VDF+L@/2oUQ5!;"j4$#Dd5X7_7;G(5LLlZ"fCnmSV;Q#(^COLMM -APPHT8QT(m78%oWHNk3;2`40_7qlb%Q3.UB0ekF=0ekF<1AijJ0JP:80.nk//2"2tXp#1URY,fq -Pe/MAaQ0*Em\/hJaUBGPQ0Jf4t -rAt'C4$3C'r]U9Fs$$KKr^$QN$8p4C#U)5prBgNM!^K%:rB^ELr^.#W3B]f&6SAZb2a[L3 -r'gQR$qF#j@;'Rs6O+f$;cis%s&hQf=BAa7@:aJ%DhG7"^QYUigXNokf!1[0Un3p.DdZseFa.e5 -@=3WQ$6_f8<*kJQBkrlt"Vrp_7n,p96UO3<5m0G=6:!p:6N9Cc7'rJf"qr_^Jp1dj]VM1!3BTV, -6iTLP6iKFP6le]aEc,Z3Fb(PF/U)Z%D`CW+&1Te/5sR\"5!D+mr]C3C4Sh-i~> -r)4h?<`iI->@(`KB5;F,GC4ppM251]*uu4H)\u"kMi -G)VO]O'.R,Od2<&S=>.7@;'Rs6l&CSX0oIJ\@8uX]">i$bL5J:k48QLrUfgRo_/=QrV??erquQX -fu_7Xf\+ZjXbVIW)+fmr\#YcaBkrlu%5M^WO,SmJJ:2]frH09-H$XmhL5:eLPDm;IYRrX%V1No& -Pe2=NKB-`JpqibK-`'VML^V'3)UM;=F,LFG]IY8AR]"N=]e[';cETk -J,~> -q`"L4r\a^4!])Ser\4=(&1o=N(`P(c'a59t.kE5(/hR#S""c,Y0E!F1.kEVI9MJ,K1'A7:/,Lqs -0.nn0/M&M92Fgh\:+lef0f_m-7pf& -/heq30JG.5/hS_/D1mmsKnL6K*c>S;I -pcSmF5!;(m5@VSn -Fci2J#pDc>>%FJ(UnNKq!u<[\7n6$<779O16:4(,5sn"+rBh;f77<;MM$=YKE`ceA\U&@ROWuD< -62a1N6N':N6ki(2KoCG6KGb@QF(]lKH$L/9.m65u62s1O5<_7056!bG4Sq9l~> -r)NbuIp#r[?!q,PBl%a1G^P'rM25=Z(`P(c(D]SgN/`aPLk^V;K8##6M2R@ROcu)qHVI1.8k(WN -6$A6LOH5B^OHGZiQC=;3K0Mk-Akk#r9p2]g[C!9GZF.9X_8FLLg=YQdqu$<`rq?!XrUog[qYTs\ -n*8ua`4j%,dF>q$S8a<&8WgNsZ*9suTS8%+05HQ0NerLAIscNeGBe=VH[C3lL5CqPQ&M5EM@qd[ -H<=XJ\U/FSQUtV3M2R4GL4k56LPUhIO-5NYLQ-_9Kcr!VLM;-aH$L>S=*fFFGB7Y9An5:T>?Y*/ - -!&sj9rAX[4s"sa3'/D9s0/"q1/LW&-5VEuY'.,4\/G:^q/cR=0/2fjk=C+f[!u!"50DmG'0.nn/ -/M/Y@>"D.9+W1J$0K(jJ2)I0L3]fDc6qBX0:24`bE(`u@>^q6?:e-IW>#AF3?X6i369.%g79k\? -P6M[N3':'@OHloATE,KH0/57<1G^of1]TE32#f?M1,1I;0.nr0EcV?j+GkfW`f>nCW0%>t+Y55@ -0*!X(/K$0aNdGesMAcdB?uCIDAnVhb*@rlu0f(XCrAF[92uP`63Ih~> -!'U*@"[>.75Y%@;+W1S46rHu_;Gg=k<``@*@VB4ZD2F@8Q#_)4LT7ABHZ6?PIWTphIslQZ?WL31@W@@!P6rBt -;cm\;OHlrBTE>rb6q9a:7R]a66UO9?6NKSBr^?]R&qt@I"r/nQLU+p[LmY-(%3%)fp-\gI++'&q -Ee'&f&M.L2It)'D'bDlY6:4(*5sRY!5!M7q4oRVF4oIQp~> -5ugue='&L->$G9=@Uj%cD/j]DI=d31M-_e`3'],8(JB4:NfAsRLkg_>LPL_ENK0*aQ'dh`9M\bs -:c/kOGE.g`O8k>DPEhT+S;(NE7kPr'(Jg-pZE^X;Yd1aK]=l82bf\E!n+?GBp&+IVq>BsMrqH-N -kj%3dgsX*P\@0#XQ(F?]7ujpgZb2BbXJ2?p0PcZ2O,JgIJUVunrH]Q5IXcs)M2m^`NK/%$&N"3j -N4$]dM3t6++@0n%NJrbnLan7>NK93dO-,QOEe')o/R`pDIt)'D)C/F2JUD]`Deiur@:*8C>$4s. - -!]`5"rAap?3B7!s))a?01c$mB0JG.42CC=O1,9[L'IG=^/1iIM0E3X9/M8V+/1ikW9i!Q*.0C82 -0).+"0FKTl2)@I(=Cau-(+oJ@5rCS]3&j)i6pEk8>CMfJ:-DZY>B+ap;`/95<_l@e>$4s.:IRj> -P(oNpKEi;G2E+=.OHc#^U]M#O0etR@1G^l^2?,I!0etF90q+u6"UcD<2Dg>IJWl+:!Y$8&/M/V/ -/MA\//hJ\-/MDI*E[r"L#n.kUEccA0?k -#%FI=moVML&KeRs8phFF&+QF)5;pT:1_1R"Phl -6r?omX,rR2JtrMc2+C,,7Rfg97J]FO70,kHrC/f=VP4801/p\)N/)tLNcbI>0L.un6UO7/6UF1/ -6UX:1JVS7s)BfS+03`L>F'i;f&1]q26UO1,62EkG56O/75!M8^~> -r`B,&,[4MZ?!guMASGpuEcu_VJqo5?B.Yr11,9a`9R`%aO,]*VMM_=i'TA'6OHPlqR?rD)9i!Q) -.hY-kO-0@%s,dhVR%9hAHosW#=Cb&@:6)@RY!fM"['dMqt&D2pZUPg -gtpf>f$M@@_mZ83R#)_SO0Q0r[ZH`=Jtr`.D31!FN/<:AJ:E"GHUrR8JV8i:O-5iiVl$4%1NJ\) -=ceDiP`Bnr122T+O,]'TMiR"A5 -=&i=% -s#^'+50E!O%/Rg_==%l"].0C52/MAe2 -0/,+81,C^C2E4KRH@^p.;?djc0JbOC3&``T5!qOs3^m:uRqk,?3*Ad^A8>@I1eMjl:.[uQQ62#]<20buO=VhYB_*[`-LE-d(nN/doI -+"Sur0DdC%/L)es/lu+b(BY!T'I%:6GA1o:'+,d40f(XC2E!KR3B9/^3BI!uJ,~> -p-A[Dr'L6I$8s\+0J,$s#pMDtogJdJs$m#WC.VE,9LMi0#TYlm7Rfg87Ros>8kVlS:g\?kJVf.[ -#U2N.:f1.k<)Zb"?X6f;@WQmcE)9,,HYeLqO+2@UCmTEbBP)+&EH#i4C4^SaUo/VJ-;@]IAYuZH -^q%Vk(cY,\8kDQD7Rfg9r^6oY7R]d:7f5ajVPf1R'f/-;.WKccMi -r*02,s'?aS@:WtbCi=?nqOctogO,j-tF,uEGPEhK&S!ee1=%l"].hP$i -NfoNdOHG]iPaIr6USO3'H@^p.;\r/eVm!;0Za-pF]>D=r^W=3DS:Q]l^?skFp\=@Jc.qsNg!e6p -f$i'qbI!7OLnpr!(/:1.]WeZE_8*V)$8QRbQ^!SiLkUD1If=[gI"$TtKntYKPF.E7VhbpAFdS%o -H$Y%"N/e5uC5e==OcPQ`O-#HdPa7]"F'3&r'.u[ZH%U[.). -J,~> -!'U*>s#L-?r\kQM1c$sD0eb:D2_d6T3ZJ8<-S-f$0)dL.0J>+5/hSgV/cRA5/ja)Q75Rjn!u*+8 -0JP:;1c.'I2E*NQ3(?keH#[%-"V`C@2)dEN2*!ic4ZPMh;ego)CD7^H;a=ku@oQAd3+6Dl8OZ'B -;,9ta>Dnrb^T)/S(GnTO<-=t(RA$JZ%k'=q2`Udq.5j%A2E*NQ2)[?L1c$pC0f"ZIP6D@:.Ocg( -Jq/N6LB.i-/1`A*0.npW0)mO'/f-0BCP*Q2'cnPH>$kf2@9F'J+"f<)2)Y@l!]`;&rB0s?!'Yo~> -s$HcSqa1EO6ULc>pd>HZ3&*?U3ZJGN4%/a1qaO+H;Is'$1f5k1*]QSX7n6*A8kViP:/=\_<`X3c -EEa=d+[Ah$<)Z[m$H3@>95bF`^bgK7muO@Ua(irbEg!NLIVrWc&.e94;=G -HDI!tTr8)23D3+A9M7uK84Q0>77B[97fGmY84WYM'T\9<#8K$_6p?T^J:ro;!u*IV77R#?(.:Sr -CP3];,;VAG?smM;@9F-Q/3cNkrC$6E!()2~> -!aAr7ra#P2*FN>eAnPmsEHHDOJ:r`;MetU32a08C(JKCDP`q:,OT1FTPa@c+S"#k'Cg0=b;(iMI -G)lQbJ!#nZQC+/5USO]F?#b(.>8n>OMlF"fZ*:OB]=kkf]#<+CO)oJ2BWL%n -`m)lSc-!S`R_QV+pQC=/)O,JgIJq&5sI!pKqJq]&?Nfo`jR#[CB1j,@\ -LR3UCKT1`n/n^00QN*0KOsuTXOd)/rP`9["KdJ!AG`.W,@Ur&==VW2aI"?coG&hM9BOtX\?sd2F -qceR~> -q`Y!Cr]L3Bs#LrV3&``P1bpg@0et%;6UG6b;hoc+'fnlJ?r^K-;*6R.B2;#c6:4C@9MK*N -aegR2(BtU)4$lP83[SGar%B0E0.\_09m2MLH5-`),q(9.7p9/59*u%L/i#7@2`NfYr]C-Cr]^?F!'^BHJ,~> -r'UNPr'UNPr^?]Rs$ZiT%R)4%6U'_7S-0D8k_oQ:/+L_ -:KUJ,IUb]%;[=R5:f:1g;HI(+<`E((CN=JsLOT^U;J06cG("7I>>]6jD.I$]?Y=+eBRAITVCWo/% -3n2??Y!Y;/Rr(:AW<]X8PDiR9M7uL84c -r*KD2s'ZpXA7oRmE-$/II=[*/NJq?u4@;Ct+;[b(PEqJuPQ$^FOoCMgPa7Z(R[]k9L0RPN0cZd,ES-R9m4OLE$AVKYF>?%?OP^k@i7Q'.2dLP:A3J:E*#JOkHJM2[LYQ]R2LI1S5X -Su8$@H[CX(Iq="^J<#k\Q^3r&QBmo%@rIQrKR"^jAWi^T?:e=*CJ,6c=aYjOHZsOMChdQk@UW[D -?N+11>?l[~> -#!Y@;5(?1Ft!n";WC;/M?iQ!&+7&s"+g83E^!8EFCR('e;'t -2E!KR3;kf92&8):F(7")Tl:/N.l0">2`s8d3B&l]9)_[JD1#Xn'g"]E>u4]t9L(?s>ZsTb5sIY- -91rZqR1c[W\2*Sjaadf'#+t#*)3BB5_4$3F&!'1$<*]>l41bpa?Q@Y8(%3R/P02YMN -Ck6VOKPDMN.5!8,r%90IBRtPM?WRjH)CI!c@<[!@CM+4e+>5N.2E3]X3]oPf5 -"[tgJ77K`F7L)@O77K^87S!;E$90k&1Ft!o$6qZ%rC-cUp.#ie7n6-SB6&!#1C,'b84uWM9hnGX -:&Ia[;KQD);k\1:,=,+%;,^S#=B/9u>A.nlB5r<*#p<,Q>^^R8Bkq$N>^1I%@:!2FAS5UuZ'fkA% -2pHG6r-fb=A)<([E4r4V(FVo9`@`h9M8#N9)_E\8,u6[8/7PDPQqpZ6qBjJ:L.dfEd37R.Pj7Wq -aVJm7rEm*E*lZ[&M-4:7VI$lGACh*&1g(8rC.)^7R]a877K^87JoUT7=Y~> -rEfS5@fBjYAS,XkDK0`AH[pa(MN!O$3B8lH.NB:#KTqmlQB[X3PAZVNR$jG5SXu=$@V9_$@5AN` -H'4M\QBml(R$jJ9TVA0;Ht+s2TlLoDNN9=i[(3fZ[^j4E/8eAS`/f@7^R -^:V%ra2Pa*RX>Sc3_s[\Y.2'MQ?UEXadf'+=`B+ZP:2NQMhm+AK7\`-K8,2>Mia-gNh_/j&MeL$ -WL[Em?#5(4G_:$=E/9k[RP1(tR[fRpK7%WE=<&i*Q_g7'H?j^MB,MssI"[#tG][qBCM79j@q&hS -?XI,H>[Dp~> -rB^BIr]^?F'KeH<3B/rU1c$jA2**ib6q/C)(+K59s"FF.r@nC.0eb<[0+KTf4'6*.>YHpV(+_=& -3;kc<3&``Rr\RSF=>YQ/X'5cD/2K1E4Zthc2`Nrl:JXVbG^aQ7(HO]D>YS3g91(Nm9jUFZ5s@Iu -7nHa2L3Nq:-S-i&1,LgG2aj$oZC.r9%2UKP3B9,^4?Yehr]C-@*&ol82)@!DJ8%%J%3R/P05krC -;.<3q9-=TV,VB!K*A/ut/hq!I<_Q4d&.':'.kOgm9LDHK%1+.21cIAm3WV<*r]^ -rC6TQ!(Q`Rs$d;\4$5br7O/9b4oIhR7n#m97Rd;G!(HcS$qa]8BO"4g#Tu9&:/:a^!)EDc9NYIT -J?,_U#U2K-:fLLu?tcNCk7=d#ob`g78$BP -;,U7lRuakCYf7;"4%fBE!DH5e9DhE\8N)693X6BV6qBjjG%FKZ9MeA*&Kj#$7nH3A7n?-@D.6O> -9iDW9/O;iq>t@XV92H03/3u`q7f5aV7f5aV7f,]+~> -qI:RWAnG^lD/XB9G^P'qLl7:RB0\RE6q&C=97N+iPEPp+H]F)GNfTnfqeUT1H%Yck+/X0TIZ`PAa4IWQDuS%6Akcdp4^_mHble\o/6 -]",Jj_R#/UHk\PXMO:9DZa-d4PG=2ERBXd]89L#YOcPHYLkg\=L*),(Ll.1POd)2mNG1Hd13B+d -T7qT';.<3q9-brYH'eE!-D$KTA6)>u<#R?)RAQNt8k_TF:DG-YI>*9%H?F7GChdWqA7T1[ra>k; -?X\H~> -s$QfQ!($TNr]pKJs#goU4#o8[2)I*F5uUNV='A*Wr^Ind87ke&;c?Lm;H$Op:Jt"k?!gH5ChmN\ -5QhlT2uP`72ubf81d!!B5h-QDJj`4Fc(KST:D1JSW!^j2EF0+8lA,L6oHbc=B%[T -5sILt870KVJ-ZuI4#f(q1(Z9*J>]/NPcFlu.5a+G3]]A"4o[Va3]T,X2)I.LHW^L]+Y5/r6pN>N -LjO;G>6> -"A)-U8P8hN!(d)\s%!2_84`_M-r!]:;HI$l5>"XF5#?-$??G$4>ZFs/?tEqN>\n1c1rMpe79*8_r_ -!+YqNIY*91N0'*A=\_gq>"1h[@V/\UL3%QZEc6&=EcZAAF)lVXJ7i5*CLgF3 -'1IA:R[KS1rg6lWS"61FTQoQN -@t4~> -pd@&,6:!k#5!;"i3B8uT1Gh0[8Q&Sf7lre+3&Q&"='K9MA7]CcAS#:ZO32+N7JBR+oZLO+0#ItO,%HB!oUX*U)5Vi6=jL]n\Q2b-_::ddf@3ANTi=\(hE5<_1q -=L>_`#8o?`5bq`b$B)`p&?2` -q+L`[!)*,[r^m,\-q6Qq;H?^d4$-+r20s+@>%VGYAS5UdART%KA8lZlH[Ks=AkNCQ5YV)Nq+WJD -KR[Z\HAI?&FbkO"QtUf*NLd+rQE7$BKo_#q,tLmDDJ!`o@UN/0?q/1$sd_Z]QX`.8QoA" -;c!Bf$t"NsE)21W";s9q:JUm`p.kW^s%F5lApagu1dsu-7m&7u:1Qs`Qie'Z7S$,M8/Xui8Q\ho -('bHl-TFIa82M`0?s?bD&M6CAqFUf\8kShNJ,~> -!+l+A5%SA?C27X(E,p)GH[^U%MN*a[Ce.,q<`;LM4%qXlH>Q_fAnY^dB4b^d@:E5IE-53.I!&S( -9GBpDQC=50rg-cTR@Bb>TqRL)IqX+RLPC+uLjt&EBRGf!Su[1'XJ^u1O,F]EO0-:D`65m1]s4QA -`6Q*,\@/iT\?j#aH5K/5[(<]NY-"e+V2Al*:PG;H1NAYGP`_#cMYr;RMN!RYP*D<$OIBd0&MnL" -VlHMN?T=G/6sYG;VO^F3C1(7K'I?n3LP12+G]n.HDJO!#BP1uT -AUj~> -qF*D377'=.5sIRt4Zb\a2Dm9J3D*1F@(?;D0(&GG[sEu?<19O63S/W -2uP`72ZPc81f-)+Lk^mu8VNLZK9DssOJ%+jP-_c+PB_M'P+I1-))*s@:J">M7RT?p2+:J@69mb! -5ZQraM01dFAl4#]#O1In"F\V$*L!YR+I4Ztq,48qDB55mY_4$#>[2j-gT"V)_./hJV'-tH%a ->`XO=%O*J'0)mU)/g2uRBk%h_(*OtQ.kE=tB4OS7<"'*W1,h6U4[)(p5sdn*r'gNQJ,~> -qFpf["%l3Y9)_K`8h3J*8OZ9M:KC\';Ee&THZN(b>@:K6='K!3?u9t3FEh=gJmMJ^F$g3V5>1rM -q+WP<@#Kc!@S)9?IY3iYR?4(l6B\^f?BfbbH]jtN#9uZ6B5(mk?XR8A:/5/7Bj=kFr`C1V\Zas%:/5)e\%.-TY65b-:fC4e:Adia:B+,g:)9-gEsEI;7S-3D6p>6XAmCCM!u3U\8GYn! -?YX$c%O -rFeH/BPD3sCi+-2FE`"YJ:r]9NfoN?:f:(i>?XogX/]3ghLIsdENJJ1S3WPcfn`k/mqZ)FY4 -b/:`u[^36AXMU?/(e9Um]"#2RY,eOrWOKEjPHYENFI/PcP`Uo`MZ/J4MB7_:PEV<#RZX48F:g?O -Su8QbSV;&XAmCCN$8?CcU].&9V50oWG\gn4,?&iES#30U6#'q%<`BbZ>(DE`JpquiFE)59Chmba -B`)Im~> -rC7r#7n,p86UX=05sR\!4?GP^2Dd9V;H?q(<&>F)(*P%(*#Tb9)]g%@*YfV<,UFZ^*(5I#@oYlF -"W&aLr]'j8=Z/2t2E!KkI=I'0OCBU_-7LMo/L2\V,rIOr.O6B(T;%5I(bIXA91VcF77BBt1d=]5 -7mK@:Mi=%7CQo#?1I+>o5X%7f1dR%72D/L!!YI%L5X@Y"5!;(-4p=/64Zkegr]3D00Ppt',;1]& -/hJbX:j%bA=$8rF.P*/(/MAb00iVIe(()!0.kE8(00EZ476WpE$mIMg4$5\l5X@b*779U77n6&H -8:U~> -!_uH`rCm>e9hkU\!)`$qX,l<`rU*1`-oE,q8g8)'L%B+X%sP)'1%M-m^>a7>,\k[(<1;,:8QC,R\SN%n]Aq:j%bA -=$B)Q5X\.69)_Bg8m5P.(_J>d7nEVN#sr&i76WpE&hc]Q9E.Zc:&R`h9h\8V9hkO\J,~> -,ALq,C27R!Chmp-EH?;KI"$X#M2dR[O`FQ)=^"c])&XVO2?#$B.juer.k3(p-ndA31,LISKlU[' -6Rrm?I[C&%!13\P=dbbNTqeBMKn"o8OCB[i1H7NV4>Sl=1dseZ3AWQbTq[JY7u+%^_S3pt]"##D -VQdnW]!f#P]!JfYCR>u.N3^(+\@&WEW10,g2D/L"$8ZgpU7RdcnR[fR60Q.O[ -Fe5P2WMc.q:j%bA=$TQ"Lmk$6V5L2eSTA1H+tI;jU8OriSQ]Mm76WpL- -rCQrYr^Ibo6pa1*5X%:l3&`]Q7p0/%T7 -2[WT:PD>3QB*&>M'E/\9()Rr/)&aA3)]19,Y)EQ$/3$Es7nc9<6pN[f3CcqA5s\JBTqP[i@g*Z) -5XRk(5AE&.0F-0)dF80MtnT76i7(%4!bk4?c"r5se!=7fQ$Z8HhXW8kDWIJ,~> -rD*>f"AV`g:/1^_rD!;cs%<_l;d*L23QBESe`rZ=?I+XA?\-6slb-6tRLY)N]15uDB+@V/nP??Y^6U7kdjA-jDL -=^><<>?P!*9HtBOOb7EP)*:aq?59S?W13"(\)";3@V9MGF[r([Gl:/4S[:J^pcJ,~> -!,VULs(q^Q*,oq=F*DqZJ:iT6Nf]KgH!al]uDK5\tB/iHI: -7MS@@Q^X>1Q^F2/R[p(FUnaK3QBaGnB6UsU87nH?I91qlN9M&6cY)a8dKW)i']>(b^[]ud- -Wk$*a[Bcm7U7kgkB,*glYdh-O[^EB@O";,FOFq?V138nYU7Rg>PE:f`reh;IO->cnR@KLfG^U/] -Fe>W3W\^2Y -!)!5`r_!2]r^Rep6pj:,55Q4"L5pnl[5^A-2Bi9Tc%k'D#5=7e+6UF()5X.Fq4?Yeg3]]?NG%1^f-8PQV)DO$U -9k-dS4%hY7$54U7/M8Y/1/:n?#RVS%r@K*G2's@V(`s(o,r@\I5=%Y(6psO984cEG9M.rM91qs/~> -s%i_n;#F/o:esn`:f.-ds%NJer_!Z"=]SX/AiBu90f_9Vr&jp@s$$BE$pHgPEe0pVPWf?r5>;#N -r_NGg4&9FDNJX$]56i,`5!M;"7nQEI8k2KJ8OZUPRtV.l5Z;B*@:`_N?!C3%:KqFH?Wh'BXGeTQ -GR5Q`=T2PA>?Y02<.'LJBi9Te(cbAk -!,_UNs)n2PE:icNfTV50Mp>"B>YC7;*#W2Q7c-lrs;*tTc(K8bYAK7JAqG'.nIE,]]4 -rG;RND1D~> -qFpl[*_8dj770F/5X%:l3&WZj?u'FnB.3s#/2B";2)R9Nr&=[8r\b@qi)2\$!-/N,RK -rAss?-os@I2E+TgPG!86Ad&r"1,M!T5sdq+5X@h-4ul?:]U9!?.m-Qq7nWbJ'1+`<1d+B+90uRA -WE'co1C4sV5lF#>5sRY%=@kKJ>m:fe1c70J1Gh3M -/8]&r:I.AM%3[8S0K;Hi85q)E$QU`Nr[em@1c-.26U(tg,rIeL5X@b*77Kg>8P8eP!)7t~> -qG[Dl"]8/o;,L0h:]=,g9FtE:CM7Tu.L@@b8P2TJ92&%Y:&[oe:&R`o>$Y`ZJ2[rD+[8Xq:]4,h -;?'Jm:Kh:_PG!86AdBSF9MSJe>[1Q=>$G??=ArY0]U9-M5?;K+@:WYK>[(0(:0(e;A6NT3WDs`p -1_(m(='Jp6>[(B7>\[8&Q]7/G6=35V;,gRt=BJX*<)Z^n;>X09='f2=(HG/a:JX_\:I-dRBMVDi -6j=Gb7S69C:/4G].gQb@6qR>L$op-`3(#n<&humO:J^pds&&kp;YX/j;Le~> -rbq^R)fg%CGB\C^JV8f8N0'3fPC[=]BPqH6(JTLJRJrKQQ'D95(RCGTR$jG7StDR7A7fe22\-Wl -I[HRmSGo!-S=Q:FU8+KQNK^#^AS2`LL8(TGYHtUDZa$gD[B?I&[Ci%H6%Q#N\%'$KZ5'XDV5:<* -_nNIWTW)$45!C,cNNBLorj-+?Z)j^L"Nc7a5BMVJm7M7b-TW"W0E,& -!)EDc!)3Aa)bEOh77BR/548q;@3>+8/2DmE\82iG#9h#:& -/N5[N3rD'W3]T,X3*E)BF+h5c"rAdI4$Q)#77BO07S#j/3^-kX=9]Nk5>FU98jYm56Tm@b3CHP: -77q0+;Zm@<)(%@06UF+*6:!n%3\MV%JUi>HH6ass4[;;#6q0X66pj:+5<_1j3]g/40Er%81c@8k -2)@$<*a;r5AmT -r)EVn#?"Ju;c6Lj;#X6':/+DU5WLhg4$Fkr-:1C#:/4Ua;#X;m:f%'e&Pl.t:K'kE2G?h7#U)E, -:Jamc;>j?+Kp;dF!K?=%;X -;[*XJ,WAJ$qHHBl;aW*`JUiAII5*cR:fLFq='/R+<`N*t;Gp=f:Jaq`0F/IT92A>[:JXYL/6uRE -AmTEt1G^Zo&hlaH9)_Hn6:OO94#[N[0h>)::f1*h;Z'Jl -!-8$Xs)\3^*-QOOH[LX/Deo -[CsGcTlOgK%3%3!DOIZ6Z*CO>ZEg[3M->I]IY1@H>BGajr0d\TQBqN8s-HEJR@KLH9ed8:Fe5P3 -X/rD!N*g.&4D%r<$T31'WhWNZ2`!3A(+a6iVl?SmSm+`W7QWO@-XMIeNJW@@J:;iiGB\.MEH-#> -E,T]7J,~> -,Z%94:esh^:J=GT91h`E7R]X/4Zkbb3DO@&D0COr"WB'R3BI.$)Eg2G4Zb_d4#o8Z2`E=.mlWl84>a)3D69CN0/c!\6iKCf6UF+)5<:]OJUM]3D@RO93^,ep6UXBB7LhjS69mat4?[Lo>6PNb -2#T?42&J&$?X,j,=CD4>+tbN(8kVuK7njF"*\8uD0GZH&2EWWJ1("I;2a'Dm77Kd=91qrQ:&[rc -:k/~> -r`9&!!*&qt!E<(u%_)I@U!&A>?=Zs:g.=A@V:agNQ7kB>?Y67=&DM=Jphf4E"jQ]:/Y%k<``B%=:SD56bs(9DqX>:es\M@U)0/ -=CD:I2+L;5;+j_Q7nsR-0L\T,91hi=2`r`K1("XK85E&Z;GpFlr_s&$<`N.#sJ~> -rcA'\4*>ajGBnO`IXm*+M2[IXQC*tgEG'-3K0^>OM4L<3SXc4=S"#k9S=Q:ETqeE[URIdJZDsF$ -'LmS?T)G3ISt2FETV\K^VjL\If?%M<98os\\[o>][^EQU[^!!8UU[+`(d`bS]sP2WZ*CU>Xf&"n -Z+IlaWgK0:&i4'MQ)Cjkrig.BYd(F8U54VVHuqku.SG#OR[TY5R@0M4R@0G1R@9V9P^$kH&MnL! -Vl?\sX/_hKCg959=CDOmFeYq4Bh_Dl859pOCRM&tW2H4c3BSrM1(Yg?L6.CPL4b)-IX69bGBJ"K -FEDPCEcQ[~> --;dT9;,C"`:/4MW9M.lI7n#d35 -$-2#U;W1r_`_p -r_ibns&';)?Fd!:KCb3B4QFM -E=![O:fLM#>[753r`Tt<=,;ZoKM$b!)ELSi;H$Rq<``E&=Zokf)a:f'qa:esh^ -8hEq65qb;g6qBs75!9r+*"3T<77p3G8kU]W/MAk8#nf!b;,U:jr`&nts&T)"qcJ@~> -rcJ0_s)pDIH$O^`IXm$(LPh(QPEqW'KQ_EXH$M:b;Mq$;T:VRBR[]_6R[fq?T:r!TUnWs+I[5GK -Ae[adRf&`iSXuCFU8FieSVNTRet-Fh:6)OW\3ma5ZaI9PZEC:.VlYqg-;&rp]!A`RZ*:LXR[]h;SXuCEQ%<^M&i=[" -VZ*OnW\^2M8hEq65qtf;N1cbC5X$A6,9&R\S#<3`Vk-:"/MAk8&1:e>OH,6UL4b&,I!U*_G'<_( -J,~> -rDEYn;#O00:/+DS84Z0;6U3k!4$6GUE,pDP3sHZ[3]fGe55mbH55mb^5!1nf3B&lV6]>[ou% -))+'54?Yk,4:jS:4$,Sg -r`Kh8=]nj/='&L)<`N.#k;En)Z<)lt2UX%`5LMI/@86T;*?@(cD>$G37<)HFi>@D/J -2Ea#,+@8t+='>N-r`]n:>[(E9G'\dd5CN_O3_`NO;\W22<``C+>$5$2=&r=,.N&I,3)!-I:btmD -:eri,(fipo8k)9,2af>S)$pN\*%3m>92%uO9e%2>0e=aZ&i*'W;cH^r -rc\$(IE_LX/rG+YPkX(YRe"BV1OH>HZLkLA1IXHKgH$OW2 -G(9~> -rDWeq;uKQ4:/=SY91_ZC6UF%%4?ZYcKo1hC7g9ti4$>_kr'2#`5X7Ot4Zkbb3&tEEUo9H[D[%(6 -3^!='!^8b2r]NM/6pa7.5s.+b2a0`+ -?`TfV"r8mU5!D4u6psC1r'Cu`<+ooL0mEa3.60LR56?3Uui2Z5T62D[?5 -+tPu=7Q1Gpa80fCO4#S&7D5XIn/8P;]N:JXhb;H!Hms&B&"J,~> -!*fG+!*fG+r`T5&s&T>(o;H$Km;%6<@W2-ATYAX^l6W$c[ -r)5+F@(]D>$"[$;cHh!91;?K@U`PK@9d"8>7O\2:f(5#AT=iE -M@(Im;Z9_t=oM\)>8(1E>?>KN>VUI+(HP;h;c?Xp7Q$G07>$Co0J,~> --[9o^H?sscH[U?mJ:`K0M2[LXQ'[r0RYQ3CMN!6\),uNbT:VUCRf&TRRhMBcTV8-WU8G,iW04?' -'hEtJTqM@VA"fWnW2lttS@dUuOct&,:Qr&m\$`NHZaR!WiW"ZMNOXB\?WEMZEUU=YcFe% -WN`e@YdU0a'gdMIX/i8%XKAS+Xfnq4YbklCB3[-9$8QUfT:VRBR@0M5S"-%BUAgr8Rij+f&i=^# -V5C,gW2Zhk0-r293(>kk6o.PZ1bqTA,>iZBR\m%_W?7^(/ho77.h!h7M3=!^Mi!1BJq/;uI!g9e -G^4RZG^4f~> -s&T(u,#hK>;Gg:e:/"8N7RKO.5]V/cb[2aTr$6UF12845d.4?GVf6:3t"3Bg),6Us^96:4(*4ZPGZ -6T%l!I9oPN(GJ!;5!VD$r^@Vk6UF+,7=BB">Y0GH&1T\&4[)+r5s[j:6iTOa6UX=22JQ"l&Lf\" -3B0"s2_mNS.S`GU(FLU:%4)oA64OAH0/GC@1c7*G2Bs=i-6OK<%4=2&6:FC:9MJ;[;,^Cm -"C58:>?q,2r`]>)s&]q9<`W1!;c?S#D1[IVAMsoG7oE:a<;]br<<#l-;Gg:f:i1f8RY6o-#pVf7 -r_`_pr_u$\='&F%<.EKAR]E9+#q&>M?=$l@>[UrE=B8C#;cR"*=&`%!@prSK@9cu@>[(9-:et.W -?B'D?9*l_-;uTi!=Bb]/!F&b+> --@1&dH[L6iIXcm!K8#);MN*^\Q^F86S:ts7Kkb0Y),cB`T:_[Dr0dSRFdnnmStVpTU8!KqRY6o. -'hEtKU7n9QTV/*UVl?\rVmbI*R]E9,(/L.!\@&ZIZF%'GY,eS$WN3;.X/Der\[A]M\$E6CZEgX7 -WMuY(IAMO%:)6-JU8k5kWN*&#XK8S-YHb!`GB$kYJ-n)QR%^.DSXZ,JROao!TV80XVk$1i;%b^- -SYrB_W2?MmV20"[;FVcH-Rf`dBeh2+)D#QeUo=6l*3#Pq+s\KX+q5r0MNj9cNJ`RIKn=i*Isl]l -H[Pg=!.04~> -"]eW'<``<#<$,%:;G^.`9M%cD77':(5>G!hF)cCb#9G]a5!M>!6:1Z=s$@>a5X%=n4#o?"D1I%a -O_P(;0fo:ss$&&"5sR[u4Zkf6cd$^8M.[&53'p##6:=:677'4%4$,Pi6pj4&4$ZG/6UjX8rB`&" -3]ArS*)9g>Alo9S0g7if5sdq-77K^76:+%.7nHNA;J-%C.m#mX4[25!r^$QN!(6`P,XY!l9g/ao -.loaR3]]8\2`EQE*]cGB77fcQ$R?9),mk&*0fAnfs"t]T-6X]\+<^t!-p'^^7S$0G:/Fhd;cHas -='#<%!E`KT~> -s'>_3?N"10>lIqK>$5!1=BAO(=B/=(ARSeM@9m(9>Rjn9 -:esV&:0gh2=9p$;l@k98kDiD;J-+N4A]!U<)icqs&T/$s&f;(5>4d8#T5d%<)Z^n -;,C+e:-gHo4Z5Z!5n"D^'cnV/'/N6W;,C+c:f'q<+snNW+U8]<9N5"m='/U/>$G3:>l7n+?@W~> -!.4]nrdOlt*J8rtLPUhHNfoWoR[p(@JQ?N,EHaP`;Mq'AV6Tm=s8O=(DBI=oL(+sHnWrB+!Wtq?p,UO`Y+Uoi/MjBTjO,SpOL4k/0JGt#t -IK"QnI"2~> -r`K2%rDjt=;H$Fh:JFGQ7Rfa35Pq\$g@dS7r0I3'ou!6UaO96U3gt4$5\n770=&4$lS16UjX85sdq*53ArZI2Dm -"(5JC@/aO3?6[(B7=]ea,<`N.:Q&&IVEBXa[85iMg<`W:'<`f9$r`&qtr_lrt=]oH`H?2Xa -,=>=-[(NB?X-`8$Y?7ZtB<>Zt*( -:fs6^P_4Ku#9cN:=]eg/=^#$7?2\"8>?u,R?Yj-R)Eq$q[:Y7?N"70@"8~> -!.Ffqs+(-$s+E[nL5LtOOd)0"S"?:DPadJ0CN2TX;N%*=St2@?R@0M3R[T_;T:hjQVkT2YBm=rF -8et!OStr-WUnsrcW2QVnWB[;B^p\Y-b[EZEppE -Z*(.+S#)jDKRdbM6\;,6WMl_kVl9Tq.BTbWVJC0Z?>O$V1j,@cUS4?QSt;RFSt;XMUSFZV7PRgS -20Y^mWi;urW"u8$KL.OQ3B8i+/7VF>3>jGdS?&]mX8]+5TJ7,r)]9P%-tA4&Q'7;jN/ECEK`6Q' -JGt&tI/n_H~> -s&s,@>$+j.=BAO'<)ZXj:J=AO7RTU/6!JGQF*EL2#Tboh5XIh+77B[77R]^46:!h#5!(l7\&#,P -[!Mrn1-7Za5X@_'5sRUs4?>T0[A/MeVf;q^3'fkt77Tj:69m[r4?Yqt77'7%4<.4^I9o916U=%+ -69mXn2`m:mD)F$s#TGTd6:4->6k`!Y7n,s86UXX7-!>([9g(p-4[/j1s$?WN$pd-C5X7V'=]J#s -&ha)H)Eg2E4#o8\0/YXF/Lr(i)`BW)%1OR>3&ioYr\tZT+<)45$O[(I.6Ksd84lWQ:f1.k<`f9& -!aAi3r`am~> -s'Yh7!FfL:@/jU6?5QsQ>?Y34=BAO'Ap&3:GD\it.S3T?<``B"=T;J& -."?buJUi?(KS5&6Ll..OOcu*!S=Q=HT8e2>F*EL4)H)HaTq7gES=0AFI[cdrSY)RKV5C#`^;6kW -[!WT[KqP]!548SF3WU84NWTV/!NT:hmO%&0MnSRtkp -&iP$0X/l3!'r\+1W1,q-2Dm':-7q#;2_,^sCn.R*XT#7?U-'J8'FP9U-tA7)Q^!YqO,JjMKnY/4 -Jq/E&If=hI~> -s'5S0!*]A)s&^=D<)cdn:ejYS7n#g26"ZOM1NpB9#9Pli5sn%/7RmAIF@AYe6UO.)5Q?Y04=&r@BR[#[P]3Pdp8QAhn=BPN)G$%mM=BAO)<`W1!BX5"=GFONt -,XkX4='/U.=BJX*Zt62<`W:)?!LQ7<`a+'G]H)CZt0, -;bD^o;[*[M,rJD!>?Y37>?Y69?!UcB?!LN)1NIOk=]0)r6Vg`bq,[St$>$1 -='&F&<)b5%1bC72-S#ub.Nf-62,$qI<)`co&Q9hg(DI]&"V`jk=BJa2>[:_8@/jX?@UinW@UiqY -J,~> -s+5QLKS"o3L5(J@MN!UXP*MB%SXuOLT:)@;1NpB;)H2NcTq@mGSXQ%;S=5t=StMgPVPg8]\[8&S -RuJ1TL7tTEW2HVnVl6SoWiN,(TU1SORqrp=P-2-s['d9FY,eV'WN35/ZEUL4XKJ1AJTm3OYd:aF -['?g9NfFNu -ra%co>?kB:>$4s.&k5A]7RTX24uunD+(B"d&KWbor^-WN!'pNLs$6TK#XL^+1B\=D5XYN= -s$IJc5!D+o,UXrl-m^5m'HJ;9#Rr(;qDoNX'GD2p&e5*U.6^0j8k_uW;,^Lt=]ns4>?h#3J,~> -$"ILV@q9+[@q&pH@K0[M?=]ng-I0RpN(= -#pi&>=8c8?=BAR)<`N.!DM=+8Sr6bY-q[WJ?=.)G>?P)-5MP(>lS.1>n1(=9O:L:@V]$^.RmHA=T2A%$G68 ->$5!1=&r -rIlAILkgeBMMmISOHPioR$sV>U8+BaHnfoWRn+GrMP$T8rgj(Ys-t'uSXuIIU8"N`V5LthRpN(> -(.s=VWi;trWMl_ori-[7WhkZ7Pb*e;(Jp6r['R0JZ`gL4ri.9HZ*U^=YH4n'K8Xb5@[4+'[C*HM -YcNdoAQ'7!Bn_bFWiN+sVuEP1Vl6YtY-5+4UPib\+(B"h0N3_$W2?DdU]-tfU].%qVO^C21_DTi -TrS*ns/Qm7X/`4n2(9q+-7(#k'-//9&M7ggWr9!uX;drh()7Jq%LaduOIVc+QB[PoNJraPLPU_> -KnfPZJ,~> -s'Ph5rE]G.*a;fN<`E!q:JFGP7RTR081pd.MigF5+#lPS6q0[;rCIbs84Q-<6UF%%5%L[gY+V\C -"rT0[5sbK:!C9!M4qp.B4^`MdR>ZMe"roNd6q0^:6pX*:4srWb7RKF)4@)nqG[q.#1dFAo6UO(# -3AO@3uU9u&eY`i(BtC"5=S4<9i"Yd?kE= -?2S)\~> -"D)1WAS1pQs(!-[@U`_Q?X@#C>?Y-2<`:ZKRZ!:u$nFqN=BSd1>5VV(>5q_:=BAR)FK;1>TVm;H -,tD!=>5hYB=B8L)<`N1#E-d,(Mge>+-q[ZL?sm;G>$:f*,$A2X>?P'/>%`G3A.BqW='Jm6>Zt-+ -7T"5;$6r/I>?Y9;q-3o*ra,V1%9lt23BLhZ:C%t,='Af+=T;J&[:T= ->$>$17Q;A.*[;aP#m^qM$5kg!qc*Sq(`X/$&/5ob'f]&n>?kH??X[AQ@UiqZAnCjOJ,~> -!JlU3L]<2QMMmISOH>WiQ'e#1T:hsTTR&JmRZ!;!)H2QeU7e*LqjmbYs.TIg'rIq,WO&A&TVm>V -8r9@FX/W(rW2Q]pX)G,@Vh9ShMgeA::QV]d\$r`MY-"b(X/iD0Za$ahVlHf"Xg#(6U09Q=B3nFI3dmd'Wi)_kUna]\V5C)eS4"be&N+d) -WiN2%X/u9#&ZC%`0H_A\+!_+!%i#p@Egs'-WZJ4CXJ@Tc&eG`n$n5eNSXc+8QB[PoNf8pSM2@%D -M#E'Y~> -!FfI8?iOFS?!LT:=B8C!:ejYT7R]X2?*BlgWgl`e+?;_V77]s@r^p]o8kDQE7n#d25X8SN]sY)6 -EX!F=5=%P$6:!n&5<_7o5!VY@TR`Q&Ba5V95t4@7770@*5!M4r6UjL35X%=t)='d#%h4Ztni4Zkhj)&*i%(_m2b/3l]t9i"Sa[1TB -@:/qAJ,~> -r+I9eAnP^eA7T7\@:?h)3!F8t0>7k%A=]ea+Co4nRYa]Y> -,tM*@r`T2%5$(cb=BAU.TR`Q&BaH1[>@1fG?!CK7='/O,>@(T>>$+j1BnC8;$RA8E>?kH=>#nWn -Di8$2,>DQR?!LZAq-=Y??!goE?!KrO>$4ij"<9[/>?tG3=TV],?Y9;>[:T> ->?Y#t0GtT?+<^pm#8A1/5uIV]*EH0>$P???t!MSA7T7_AnPcRBRg~> -s,-f4>)S8rNK0'^P*D6!R@Bb?TVJ$4ik$9!4,XKAJ#W26BjV>dA>S3eqo&N"[& -W2chrWiW;&X0&M$N*ID=(*Fe*#S8CK>(WEHWiN0!XT>1SrY?.a'alI&PFe>7R[BA(OcYWaN/NVn -M>`6\~> -.Ulgp?t*MN?X@#C>$+g*;Gg4`8Ol9<7!a]nT9c-I"s>ro7Rfs@8kVfNr_!kr8Ou<=6U*h=\$)ik -]6=Gu2F%.+s$6KH&jScOEgi8SLLpc22a^)*7RKL.rBG0c6q9[55X%A"/jMcm -77Ka:7n?*>7RTL&)]9M.)[Z`V*@s!,4?iX*)F#/R(_m\t"V31N8P;iU;H$Ut>$G6 -rbDIIs(MFFs(;:B*FrVf?sd5F>Zt94L5N1,QCq1c/50/L>$G6;?!^k9>n^II=^"p/=)#1JX,OZ7 -#q&8F>$Co.rE0)$s&ot5F./ATLLpi?93bn6?<^T:rE(:J>[Lc@>$+m3Bn92-$RA8F>?kH>>?=g# -J:L/u,>;QU?X7":?NFJ?r*KA0'4+s06WloZ1'JX`=Bo-;>[(B8=oMML='/NT/1q2G5?(fj>?kH> -?=$oD?!:3"*Z5h1)@?][.Qg-p -FGc!7MN!OSNfK0^P*2&qR$sP:TVA9ZU90N\T9c-M),lKeUS4?RT:_dJStD[LTq\B\Vl-D_^oset -]6G&`N2`t]X/`2!WN*&%Xg,*hH^^4\LM%H!Og)C+['?jH)(A@s/Q*t%]?2$W2Z_d2CpKo -1N]4drhpX4WiE,#XK8CmL*[]U'cRJe+&@!6RAR%aWZJ4CXJ7]g(_m\t$Ro_QT:_XCR?j)$P)tcc -NJrdQMZ&B^~> --=ULq@q&nU?sd8G>?P'0<)QOe8k;H?6rf>UXg"g'#9Z)r7n?3Dr_3>ds%F5%8Ou?>6pX+>XeMD\ -ULscM2EsMp5s[j:5la.K5po)pK7o#;M-1$&2ag/*770C,5?kKA?t!MS -A,Tqg~> -s(hUKrb;@Fs(3-[A7AtT?X6o?>$,0p[&pR4?kHeKSPGA=pZQL?=I;J>?Y03=BSd2?=$l?=^5l]CJcZ_$6r)D>?kH>=^=HK -FE:.`,>2KV@f9[6@/aO4?5d0W?XI,G02>5/9eReD4&]6c?!^fA>?b66=oMM1-5[*r)*_)'>?kG4 -?2n72?OgCI=reFn&I\pM'K/]d -",r8#NW+tTq\B\U5,&AXg"g*),lKfUnaWWT`(L/TV8*SUSOccW2>rjU7S'R -B,+'uW3*/%X/`5#X/rM0ZE]XQKSPGA>8L"rZ+7?NZ*:@4XKAV/['[-EYGR\IKiK^+(.O4b[C<]U -Vh\tWG]Q[t7#S:YZ)t(,W2QVjVPg;iWN3/)Yd1,d9hduL0ISeZQ)(F^XK/E!W?eF50Gk321N].a -Vl-JlWMleqXK8J$SL59g&.AgP.V=m -!G#g@A0GDj@:3AG>?Y*.;c$4^8k;B?ub016O+Jh92J>U8k_rSr_ --Z*[8Ci!m&C2.HsB4kge@q&hR?[:WA?i4=3?P-RK>[(?7=`9spO1'LF -#pr5GrE0,(r`MBf>?kH@@YBerN1=/[-r"&W?X-f=>$+p1>$YKB?!:B8=t(n*IUZG'06jY&1@V94Z@/FC4@/jRJ?=.#H?XGWb83K?o3^,Pc7TQ7n,=Ud,=0aSa_[:ZBrEoS4/RK,%&eu)o"r00s=]nj/=]ed-=BATG((q)l'a,:5 -!06r<3KfSjPa.N$R@Bb=TVA0WVP8iGH(9[R'cL#1TqnHXU7e3RTV/!QUSO`_VPpGjU8O*6[XM[$ -98]VGXT,;BWN<2(Yd1XAR#@#ZN1=2j:Qr,p[^36CY-+n0Y-PICZa-d)A18s4IUX$^MlsIr\[J2H ->ub-07hnCJYI:a?X/i8!VP^8fVl-JnXKJe5V`ddG4[^qa5!Wn:S?&coY,eV'X/`2!Si\P['/Od& -VPg>jVuEV1WN)u!X.pXG&eu)o$7fk[VlH\pW2losWun,o(_R;o'alO*Q(k"FSt)7 -!G,sDAgCqu@q/nR?$PB@@UinYAS,Uh -BkM.1~> -r,2OOs(ifnC2%?oAn>I]@:*>H>ZuHCJhK!6BacRh>?tQB?X[APrF%?e?X@#C>?b9NM4]p)JS,99 -8Q],!=^#$6>$G6;?=.&PG'7SCPtD?2:1%C7>?b;0=X[K\?s[)A=\U#7LON],#UDrD?!^iC>Y.Xd -3>i_?,"c9VB4GCZ@UWdG@fKj;?sih>%R*EL69$\T0e4.o8m>Y0ra#S1r`oJ,%3QrC#oZ'0>?kE= -?=%":?k-UQ%h]Qf&eYBb4&oNi>Q%b*=oVS**Y]7d'G:Na4'#Zq@:Nk\B4u!pCM[g(D>nGPDh%~> -!0R2Bs-!qXQC!r*R[Te=T:r!QUS[s_Dh9W"K5)9$Mk?];USOWYUS4BUUSO`^UnsobUnWpBOeRD@ -'hX:WWMuu!X/i>'Xfo"9YF9i^Bm,b7'i'pr['?g:XK&>$X/rM2Z*1=2M^M;UIUZ(b7Z+@V[Bm30 -;b^(I)&s5RKrVJbYH4b'WViYHW2ZhuXf\b&7n>p43&*0C0/?L^VQI#(XfSP%WMl_b.46GT1NT%] -VPg;fVPg?kW$A:AUDjm^&J>`a/SpoTW2ZbpVl$DjWLkp^&el&p$S#eQTV)4Ts-s7\Q^3r&PPpXE -OT(Am~> --td4+B4baeA7T.W?X6o>=&i47Cib)bMkH-A`TH9;9NHCfJn@VK:Jh$fs%jY09jVjUBkVC7NM)T4 -BP(.NBlS0"6:+(/7QtqnBl7C)J96F+OAS/6?#*:f=E&"b>[L0%>%1lI93c+`KOd_C6NnAe6:=:< - -s)A!V,]I[>D/F**CM@NsAn>IrFF8n0PbjGO`TH6:9j<.(MfW*/@:K4Gs'cpU?u:74EcH8VO._f6 -BP(1SE-lqIZ$%NF$"2gJTQO,OAS5feI -/i,=d>$YKC@/aU7@LHU12'3D>%LX7@=^V/7+C-lZ0.n\)()%>r',1ol,:tVt -!Kr]HP9Z>]EIX[YVPpKmW+i0/WN*"sDer'33&NZI2Dd$C/NQLjUoUW#W*`q<>$"ZG*$-(J -5tY$WQCO\GV5C,fVl6PkCJuo+',;9@ELj&.Wi;e&:eskZ8KJT['bh;m*]HSb7>@(qS=H(9R$O&' -PE_8qOcbfiJ,~> -rb2@Grb)7C+(\ni?X?u?=&j0f\[T&DX^TT4f;"V.ZFmKUE]HK^;>a=$;,D&&[;e'9J;9,MP*i;0 -RZWe`Beqb87S6*oKmS,rG]nR`JUh*=CkH[dGa!5lCM@*OF)Z&+AiOs]H!4-N@Te9*ZZ(8% -3$3C3^lb=:]!s"9gL6L)]TkH4A&=A9M8%t'E/^`(_d`#()%At().H!$8OkA=^GHE@V'.`BDuTFB -`;dt~> -s)S-Z"E8@"Df>Vms(`NeB4b_!J@N(tUoe(Ph:JBdVR!k?]QckC?Xs%Fs'o2?GGDQc2.hApNL#`p -X,WR1PCRR;935D+;gO.EH@U9aIsZ`s?Y+&+E&`*+FEMA5?;P]^Ddd6;G("X>;dEj4#UDuG?=-r$ -,p[,3>?Om&=u[EU5=eUVA,BggA7K+X@5pFn1,^mB1+t45/h\h#5Y>-d@UUl7,Tn-H(*=S<(`9O)4FCMds,Df9W7EH1qt -J,~> -.$Km\Pa%N$QC+)-S!okkS"fnWs.ihpUS=crEA_?YLQ.U_ -R&c17OHY9JF,HWjX+c(XH[:3fG(4jiJ6lf'K5`epPB:n^BjOVWE,T/s3-K^p>#S[8=:doYY-Xd4 -4sVCc@9Zl5;Hc$u1J;kHSYuId0;tkKW2ZesUI%-e0fCdA1+t45/h\h*Ck\F\YGO9),9S$G(*O_> -(`Ei&,&;XlUAh"jV5OFtc6T[Cr=Fm-DWN)ql1)0^&*uPb.'c%Gr()@Su(CsYjMj^*)R[KP0 -QBdc$Q'7DrP(3~> --Z!R6C2.HsBP1pe@UWYN>Zb*WTs^Xu4Bo&=^88$,YHG[GUf\Zp9`%fh;LN;HSq!2c7!k)WVMUU_ -P(J%0>o5%V85*&LOa2"V;+sf3Lj<0-C2dpEPA"`I?t3\TC0i\?11GB?>$kBU_9l91quC8jF@9/4NK9<)lpt<)ZXk:f/i&/fH`&.jQ,S*%ETj*>Tn`92/5%*Zc4<%N-*%((1?T -'c@c(,sP.%r_a_7;GpFj9LD$.5q(+2IO?X[GTB4kml -BkhI#D/O3@~> -rcA*[rc''"Df9N1Chm`uAqm%fUKK]_Yg^=_YG&/&_6Ke?,X>RErFQ">=^uWBT7EDf7!k)WVMUU_ -P(S+2?m%C+?=7;1Oa2"V;+sf3Lj<0-CN4*GPA"`I?t3\TC0i\?11GB@>@1K>?<.=X93bk3/gX>/ ->:D0k91quC8jXRC3)sJfAccUWB)Q6W@kfkp)EBE#,TRgD.PE1k*%t#n@q-Q%*r[&d(`F.t#R_@b -(EG/'?i=O6AIE$S;G9bW9i52+ARtdM#p'cq(_d_t()%>['+tuo',D3"/koklCi401E,fo -s->!uQC!r*R$jD3S=?+BT:hdPVm`C(4Bo)@^S\6/YHG^HVIi&-PG.uN?_jHmUS=ESJX_NcH]jDe -M3iFLJp`)^4_L"ZX-QAAH?3Ll9i61mH!4EfEGLGrBkqHk@qB(`?8Ec]@WcEh?s$cB=:n#ZXg=Z\ --W+V`.5+%]9MI]C66n[$NMWYSWr8n9W2ckm4?"r43A2m.*?6%K0.A)&=c0,\V^W`1rYc7`)]&kf -$PjX!1K/msUo+-frhg+!RYZE?I"$m>VQ'Qp(o&i&'c7W#&eu&n'GD,o'b_>t.nOiHSXobL$(70I -QBml'QBd_c~> -!,_^Os(`fnBk_6lA7AtS?$>ZD69@(l//9m" -3B/KF4$,GL%4+84:/XJO+rqj\3Bo\c0.82!0KV0B+t>&i,q1)f(D/8[2(9q$.46Sp,7,GR7nH9) -4#8K4,T[[<+ -!-S6^s)\3\s)J'W)f9D,BkVR*@5&d#B4+A&77]mC:/=,A.i10KAc??AAm8h\FC7U%3(5G:1HIQW -.lBFP4"1jt;.*pG:J`D],V_AH5r^VM.PEP@3%ZF-/Li,!-7]rJ0KV6F.Ockt/1`+X.8=,W?Tgh< -0Hqhd'c\GB+kSrb)7C*FqPm+VG:q$k -rL!VQs-a1^S=?(>T:_eUTbWW44!n'IBN%Z":eanj=%>k>.pS41rM0Cg$DjGaGu[T:_dLUSb&kWN)tqFAXk8()7Js'GV;r'bhAr'bqWHCm1E]SXc4>R@'D0 -R$jA/Q[f~> -s)7pTrbVUL&SYliA7K%U?!CE-3?oI^)&aCk)u^f])B9bC3`&rX=TMT,r`01t4!bjd)YFsS*\^#X -;G^%J,THLrr>>DJrtt_Qrtt_O',_],)&X>6/jW'%91M#h)]0D.)?(HY)&aJ8+uDqn=8Z/+=&r=# -;bfS,*r-`R)\3r=6Vp]Z:dHTP)]BY6)]\hr%2p0+/4EN>=]eg/=]ei+=9M].=]ei*=:/,1tKk*#fk<*?H=T86fY8AnPjoCM[g)DJsE1EI\~> -!I&\cG5l^bF8p:\E=$Q$D/3m"?:?@hr#u(_rZV7b"=,Ne?YK@Os(DRJ?V)mr,5rbb+TEVb+:TJ: -+XfNU@qK=[8M;>5r#l4f,9nBU+o3>]+XeNX+sA*P+X&$S,9\3S-p(F;@q&b<1*[qb+hE2,\++EH-&@FEDYKG5QQ7~> -r0mSS!1j+\s.TIe"f.oYE(W7j3r_>A3X7`,4$6,RQD=GU%&B_sW2H25;*R0)4?E7"%6dC%RB*Wt -UjlB25!D..4omf2r]^?FqE4^?s#hVi4[21r5!;,&CmV<2ZD`Ub6p4T7G?3XS/VKqP9=UnslaV>[7qVl$AgW2Q]p -WrK+(VN,.T4?>S$3YXS83&rr^;gXn(St;LES=?":R[]fGRXb~> -rG_dSs)%dP%;BKfARf.V?!CB(6U*j74o[YD56aA;5se"8=Sl;->$4s,9LD$-r]L$<$p-R65=SFI -& -9ih*o%9Ze8<`W-n6pEgt4?bt.4o[\b5~> -(3k%JG^"@TG'.qLF)u>?DJa3*AmA/,r_*,\#YRic9hnSkB57Z+;q9*.^Y9E%Te91hcHr'r/+8kViN8kDTE7nHBL9hS,Q:01h6ARo=W;+sPP7n6$= -84lQN:fCY5qJ6CPC2.HsAm\L89E7f`9FFQo@:s:gBOOk79MP@Ws%Nbp -rgX._S=Z:DT)G>\UBdTkTTF\MH[>X;!.=cm#C1Q?H@V'LV>[7kVuEV"V3ZjbI!pElq0`X"ItX&` -YHb@6S;N!uJcC?$K*HpYJ:E#rIK"[EIt3*%JUr?#IXm'*KnFu0LmP'FZ*UU-NeDt5IXQWlI"$Qq -JVKAaWiPop#ct%uMh->-It@QK)hENjJrQM+YHFt"NIlY.IXZ]nI!^6eH@:R;V#I4lVl'3drMU1) -WiE/"T8nGMI!g9gI/\HnH?oL7#^V)eStVgMT:l1T!h>gOrLJH~> -rc8$Y!H;uVD@^MtBP1pf@pr_L=]\U&;cETl#ZF]&<`W=)>$_,6%prXL?!UZ;=&i0t;,L+b:AR`f -;,^KnR"A7=]e^';Z9Mp;H$Nm;@$3$<*!(&='/N&"C>JC?=3\<#@1S<=]\X' -rd+Qh!-nHd$[$Q4EcQ,;DJX$"B)Z?=A,g*>AHZUYBkqPaD#eJPD$k)pC1_!e@q&nU@f0[7@LH^X -Anc!qCMIQqAnCpN.V*+$@q&kT?sd8I?XI2L@q9(Y@:3GL@:X"_A7K.^B4tpiAnP^e@q/nSra,t? -@Uj"aCMn*0Du=MQD$FflCMINoAc?69AI)m\BkhEuC2%>[AcZITrFPt?#A7adCi+$,D>e>PDu4DP -Du=JYD/O3+BkM$hAc60=AI` -rLO4aTV%jLTV;@Z#,@uiV5C,crLj1arh07a!MH(aTFmrsVPg>jVl?VpWMubjU8+KZrhBOjV54*c -$DaMqWirY3Yd(@2r2K^rs/Z@(WN)hmr1sUpVl?\qWMofn#cXo/Y,nY(Xg%f1s0EHEXK&7tVPL&a -USO`aVl?`"XK8J(X8]+/WN3&"X/`(pV5:&eW2QTmVZWfoWNH-&#-=c$V5:&crhB[lTqS-PU8Ipf -s/#joVPX9h#Gn;qW2HSnWrB!sWWfB!USOZ[rLs:crh'7`rgj._U&C\gTqJ'NTDkD^Sc573~> -s)\-Z1N@AQDf'9+C1q3jA7AqQ?!LT;=]eg/=]eg0>?kH>?=.)J@:J?!LT:=BAR)tt -e;u<`W4";uTSq<*!.'r`/u"$!(&*$PB@@U`dD@/jU6?2e"-=oMM'=8Q,!=U/,5>$G07>$Li,s'#V2?=$uGra>_7#%M1RA7K.Z -rF5h:r*fS4s'HgR?!CT<>?Y68>[(NA?t3\XB4u$qD/O92EH-#?FE@G'J,~> -s*F`nrHeKhs*+urF`heJEcH&:DJa3*C\qiNCM[d&Ci+(gDZXlrE;jeUD?OfmCMIS^BEDg[BDuQJ -BkhF"Ci0,es(`$XBk_\2MD>nAOD?"MPDuXeREV=ALDuX\T -D>J&bDJX3/E,fo>FEMbNGBeCZH[:$bH[C-fJ,~> -rh0:`$D=)dU7n.XTku5Za-mAYl:g6ZF%*KZa7$H[^EHIrj2X1!jSr3ri?I,XKA\1 -Yck=7XfVE##ct&,XKAS+XfhZ,r3-:,Yck;.Y6_85YHP+1X/i9"WfV54*c!2BIds.B1]J,~> -s)n<_*-6.@EH,o7D/s'cIK@q0(]A7T1Z@:*AJ?!RA4$<^J6 -=BSd1>$G6:rEUCJ?!LT;>$5$3>$G-3='&F'$P66=BSg3=]ec%=T)8- -='/X3?=75RARo5hb'>l@t.?3+>=qd0;0!+>e7%UrsYA7T:aB4Y[eB4bae -r+>t?rFGq -s*Xlrrd=`mrd"rsGB\4QFE;JBEH#jqDYn;NDZ=YTE;snYEcM"ts)J'Ws)%gRrbVUM$>O?kCMRa' -DJjB1rbqdR%W-#uD/=',D/=!&C2%?orb**^C27X%C2.HsBP;1!Df'<+D/F0-ChmhaC]J8MBa\Tg -C2@d,EH?5DF)q5!!cW-urbhjUD/B2g!GlWLDZ+MRD?=`oDY\5NE;aeUErL+[Eqj\VEc_(trc.pV -r,;USs)ATjF*)MHG'A1VH$XgaI!g?ird=cqJ,~> -"J_]cTqVI[s.]anV50raVZ!FlW<'#upo=@ns/6!sW2T]p!iW,uri8>bX/i>&XK/G(Xf\e0Xfek1 -YHP16Yd(O>Yd(I;Z*L^AZa-j?YHP+2Y-"k0Yd(L=ZEga>YHG.:\$NBFZa7$FZMLg>Ycb+0XfSV+ -Y-5(6Z*:F6XfSS(ri?X2XK8P*Xfee.YHP18Z*:J0YPkU(Xo>L'XoGL%X8]*uW;ELmW; -s*+Hcs)eoqF)u>@Df0E.C2%?oAS#@\@ejF9@Uiq[AS1pSrb2:C#\7FS@UNSN?=*P8"C,8??XWe? -"(,AA?N"1/?3OV>>?Y35r)ah>>?b?:>?Y03=BSj6?X6o@>[:Z@>Zt?8>Q.k0>?Y35r`TS4?X[JV -B4tpirFHLM@q9(Y@:AS1pS$#"$eC2%EsC2%G]B`Vm]r+H(C -ral.Ar+,h;raZONAnPdkC27X'DK'W;F*)R(G5lafH$FRa~> -!.Xoqs*alos*F]j#Bt?6F`__HErL(UE;snZEcH-uFSp7cFE;MDEcH'sDu=MPDZk$!EcH-tE<'tW -DuFVmDf'<-CMR[#C27R"D/F0.D/=!'C2@a+EH(nps)8?aDJa6.D/F0-D/="dC^=osEH?5FGBS-- -F9Q`+F)l8?rG_^Rs)@[O!HN2ZErU.YErC(XFT-FWFoul1Fa!_+rH/!Z!HN8\ErL.[FT6L`G6`A< -H$XgbI!u!CrdOuuIt3%~> -!2TRg!MuUkV%0;uVl$>hVl6SnWN3&"X8K(!X8].!Vus#tWN#ls+/u9?X/iA)XK8P*XK&A'Xf\e/ -Y-+t1Yd(F9Yd(I=Z2Us/ZEpn:Z2h0/YT0jLYHG(4Z*L^AZE^X;YHY=?[^L'X9,H&WrB!r -W;`auW2Z_pr2BUori-($XK/E#Xo,72WiN/"WMuhoVPg>hV59uarhBIhrhBIhJ,~> -"*o-8GlDpeFqAe[1WE@:3GK?XR;L?iFC1?N=F2?2n4;?XdPY -B5)*qBkdQZrFQ1DA7T1[raPn9s'bt -!J,b!JGt$'IXQWlI!^0brceKgF`m\*qfDdZs)ne>QDfG\qs)7pT%W--(FE;JAE,fo>EcH&;rc&!YEH(nq$uU!%E,p#BG'J:XG^'.1#Bb34 -F`__HF8BqWEs6Z,FE;PFrcA-]rcJ0_s)e6_rcSBfG'A0-GlN$hGl;pfGQ<$gGQ`58G^"B/FoZ[] -G5lddGlN*hHiJKtIXcfrJ:RWM!e>iRJ,~> -rhU($V5L2hW2HMkW2HPlWW&psX8f7.XfSY+XfSS'X/`2sX8f7%X/u9#riH1'riQ4%#d(84Xfnn3 -YH[i-#dCSZ*UdBZ*LX>Yd1UD[^EKK['dT.riQg9Y-5"3Y-+t3Yck77YHY47rNH1(!O&a*YPtU'X8]1(X/`5#WN5lp#-+W%WiN/" -rN#q!r2ot"r2Tk"WrB!sW;ib%V5C)cVP^2eV5Ab~> -"F>?=H?oL7s*+Kds)SBbEH#i6D/B2e!GZ?JB`DcLBPD3rC]8/HD?"DQCMNf]s(;1?!bQ"Tph0V= -rac(>rac7D@q&kS@/OC3?kd'[@preR?s[2J@:a"Z@UW\TA7B$I@/sg9@f0[7@LHaZBPD:"DJX-) -C2[ -r.=p!s+()u#C_)KI!^3dH2`$gGPcR^G5umdH2DpfGm&A9GBS0/Fo6=aF`qnOG5HL_G5cUlG'.tN -F`_\FEcH) -';qe-WMlepW2ZbpWi<"tWi<&#XT#?oXT#@$XSo=%Xo>C%Y5YR%Y5b[/Ycb46Z*F54r3?1*s0Da3 -Z2UsAYHY77Yd(L?ZEga>Yd(I=ZaI0HZMq07['R'CZ*L_7Z2q25r3$((rilX4Z`pX:Y5YU-Yck75 -Yl1a,Y->/0Ym%A;Z*CU>rNQ=*ricF.Yl:j+XoPU&XoPU'XT,=(XK/D%X8K!sWrf<%X8T+)Xfeh/ -Y-"k/rN?1&s/c.!ri#mtrMT^or2>,~> -!.4Wi!I9"jGRJ_=F`_\FEcH&:DJoGjrbMROrbVUOs).dR$ug-(Df9N2D/F')CMWf]$>=-eBk_?t -CMIX"rb;CG!,):E->@.*An>OaA7K+YA7K.]AnP^dARo=]@q9.aBP1meAS5[gAn5Iar+>t?rac%? -$"mpdCi401Df9OmD?"DWCM[d$Bkh?rr+H.GBPR3U!c2ajrG;OPrbhdUrc.LL"*&@$EW'kVDu+AO -DuXeVEW:%bF*)MHGB\:WH2`*lH[L3frd94~> -rIYT3K7\]+J:W6$It)oqI!kp?s*FTg!-nKgrd+Nird=Zks*F]j!dJp6rHA6brce?drHSEgH2`'e -GQ2moGBS.PF`_\GEcV,""a"m1F`hg*Esm#1G'J4SF`hkOGBWb(qfE0fG'A1WH[L6hI!bj=r-A6c -s*"NfGBa%2np1.Zs*OZk'Rb@WI=?TnI=?TnI=?TnI!pBiH[PF3rI"TnrdXru#(_AXK7\`.qh0J~> -!3,st"0&<"WW&ptX8f:$Wr]<&qlKk$r2oq#"g+r0Y-"f%XpV54Xf\b/Xf\e1Y5YX(YlCs.Yl1m- -YlCs.ZMh*4ZE^^?Z2Us-YPk[0Z*L^AZE^\6YR7YA[C!9GZEppGZhUj+Yl(^(YQhAYl:g0 -Y-5%5YH[r.rNHI/YctC;YPtd$Y5kg)YQ(j,XpV;4XfSV)XK/G'XSf+#XK/H%WroK*Xf_T+"0Si1 -YPbO*XfSS*ri?F,XK/A%WiE%uWr&cG~> -)1?m\I!pEjI!U-cH?jaZG'.qLF)l;@EH#poE;sqVErL+\Ec_5#s)J'Xs).mTphg%K"E/0rDK#Mk -qJ61JCAqoIB_l?VBPM6rBkV3oB4bdiC27U"BkV3qCMNf^!,DIHqe-@OC27[)E,]iS,MD/T>ks).XN")r0tE;jhWErL+^FEM\Ip2p@YrH8'\s)\-Z!-A$Xs)S6`F`m\,!-eEg -s*Ocns*aor!.FfpJ,~> -qh>$&rdt9(JV!fN"FklLI!tg -ri-%$WiZ3#riH"!%'6S5Y-+n1YHY45YHRf*"g+u2YHG)-Xokf/YH[u/!3Z7(rilO2Z*OA6!4)U/ -riuX4['R+!jo8>r3QR4ZE^\2Yl:s-ZN7A:r3-1+ -rNHI/YctC:Z2V!-YlM-0Ylh>;Z*=)0r364+!3l@'riH1'p9"@r"0Sc/Y5YX&Y5YX)XoPU&Xp1u0 -Y-+k-X8]1%X/r?"X+1~> -qgSQnrI"Wl%=3;EGB\4RF`__HFE;L%Es$N*F`dV*rH8EgG'%hKFE;R&EWL-!rG_IM!,qaR$u^*& -DJa6+Chmd#CMNiarbM[RCM[ecC'eZmDJa6,CM[j)qJ6j_Ci!m'C27U$D/O92EH6,BF*)JErc7sW -!,qdS!,qdSrc%pYrG_p[EH6+!Erg<&rH/'^s)nEeGlDpaGQ`;:H$=Q4G5ugcGQ2geFa!_+!-J0^ -rce?ds*=`nI!kpArdO`os+#V~> -r.k6*re:B*%>07bJqAQ)J:W3#It)qHIfb(KJ,Om&JUi<%Jq/E&rdXfor-e6eq0i9js*Oclqg&3f -rd4Zk!I9"jGm&G@IXHPBHiAEiHN8BkHN8BkH2i0nH[L6jJ,Xs%JUi6"IXh9Er-\Qmr-e9f"b1uN -IXlqHJ-CLSJUrE(rdt$"s+:9'"bMAZJqAXRJcUCQrI>6)JU`3$Jq8N*K7j)T",2J`LAZi(Lk#~> -"0AW,Y5YR&Xokf/YHRr.qlg%&s0)[1Yd(F:YPk^"Y62#4Yd",3"L,/9ZEaD7s0D^2rNlO0"1,;> -ZM_'/ZN%92Z3[_AZEpjCZF$t;[K!Q:ZEpjC['fnAs0N!<[^NTNZF'V;%^iXL['HsAYd(F:Z*L[A -rj2j:Za6sCZ2Cm9Z*LX?Z*LX?Z*LX?ZMV!-ZN%90Z3IS>Yd(F -rIFfqrI,*%I!g9eH$OXZGB`n,!I&_cGPl[dGBj+2rc\6_s)\<`FE@1us)S0\qK)[Ws)A9_DfBW4 -DJsFkDuO_UD\$`&Ci402EcH&:E,]f:E,beps)8TjE,ff8Df9T5E,]f;F*)PIG'Eq.qfMaW!ci@& -rcA*]!HWAWFoQUdF`qs,GQ2peH2;jeHiABtH[L-dH?sj_rH\9b!-eBds*=Wj"abWFI=?YEJ,Fip -JcC=P~> -rJCH.rJ(B-rIt9)rdt6'KDgB.JV/Q,JqJZ-K7s/T"b_M\JqAONJc:0#JUmNHpON9ns*jrqqgABk -s*jrq%t&_NI!pKpIsufpIXcirIf=cqIKFqHIf=a&I!pBjI=?ZrJV&LQKE$Q#JI$dUJ:N-!J:E(I -J,t4Oqgea!rdk!!rdt6)KDgJuK`Hf*Ka39cKS>)5KSBDYrIY3*JqSdSK`6])LB!&.M#<)3MMm@M -rec4~> -!3cC+r3$7-YHY79ril@+"0f&7YkYI)ZE^_7YlM$+YlM$*Z3%A[0F"GZa6sE[JmWG[^EKN[^WZQ['d9K['m?Krj2U0$aI"CZa@-J[^ETO[JR<1ZiIH3 -Zi[S@Zi.90Zi%03Za@( -qh"ctrIFls%t8nSH[C'bH$Xa^H$Xa^H2`*kI!^2;HN8BiH2W!aG5umcG6)r4r,r'_rc\9`"*AU+ -F8^+`EH6,@F)uI%F8p7iE,p#AF`heIF*)MHFEIG%rcJ0]!HN8\ErU1eFEMbNGBeCXH$K:3s)niq -G'8"OF`qnNF`qqPG5c^^GQE)7r-A9fs*Ocn"+>QFI/\QqI=D*D$%@;OI=?QmI!pA@I/SBnH@(#; -I/eWoJ,b&uJc13#KE$Q'KDpOS~> -r/:T4"c8+oM27#eL]E5/L@p6(L4t>9L5#P[re1W2K7nl1K7ec-re($"qh"s%K7j,S!.k-"s*k*! -It%?G!J#b"JH(*'IXcm!Jq8LPJGt,rJH(3#JGjs!IXltJJcURXrIk9*K):3#Jd@!\K7\`-K7\^Q -K)gT(K)pXXrIb0)re1<+"c%heLPLW]LB33dr.kT5LkgeALk^`bL&m'`q1em(!JZC/M#W;5MM[5g -MZeurN/WbqN.:~> -r3H@-s0;X2rNcF/!j]/>r3HC1q6L11Za7%[/RE0ZMq*3Za$g@Z@D~> -#(qS]KS+r1rdk9(Jq8N)rdb#us*XoqIJS -%ZH=)Mi -!42[3rNlO2rj)[5[Bok>rjDa4!O]<0[0X.I['d_KrODm:!OfK9 -[K*`6[f\@8oU[f3Z;[^WcW\Giu;\-':O\@2@F!4`!:s0hs8$F[@N\$rlV\@B)[rj`!;"gthJ -\$`X>[f*W0[K*f9[f*T6[/.3-[K3bDq6U..rj2a7[']P7#ICkG[C! -s+Lc4KnP/5KnP,3K`-Q&Jd6jWJ:E&tIXh0-L5(3~> -"HJJ$N/dgqs,I#:!fN"rrepf6!Ju^5M#`G2M>W54Ll.)fM#rKiM>i;4LPUc`LB<9eM#)o,LAcl0 -L51M9KS+u3re:9'r.P-'r.Gi -rj;g9[C-"B"gk\G[^WaC[f3`9[e7*2[^WaD[K*`5[K*`7[f -s,R>FO,o<^NrG+:Nr=t9MunorMuJY8Mu8M6MuJY9L]3,.L]3,'L\cc)L]`>+Mu/G: -NJrjUNK*jr!0-o:rJ^f9r/C]8rf$o:rf%/ANK&sYNK0%tNrk?'O8b7?OoLOAOam~> -s0hs:r3ug;\@DIGq7-@5!4_[3!P#W5\G=\g=nu]",D_\[o>]\[f5\\[oAa]">Sc -\[o>^]">Ve]Xk_e]"G\eq7H[<#J7OW\@B,[\,Pc]"7jN!4r'^\GWlE]",A\\[]/Y\@B*A\Gs#=\@;IJ!4Vm9s1/- -s,$W/!JcL-L]<)/L\li+KGfDqKSG/4K8"u2K7nl2K7ni.JV&H)JV&K+pjrNtK)U?!J,k0"JGt&u -IK=kGrI+]ns*aorrd=uuI=-EhI!tsBs*XusI=6S9IK"WmIK+cpJ-(:PJaS'dJbam.JV&N,KS+o1 -KS>,7Knb;9p4r[&!/L*!r.k0*",VhjM>iD4M>N0\~> -rfI8DOc]O(qN1N6rJh)AO,o<\NfF$u$&st)NfB'XNK&nqN<"q4NLl%"HMi*CKM2I.IMYr;2M#N52MZ/J3M#<,0MZ8V6N;eb-MZ&J5Mueiqpl,E8NK0$Y -rJpo="HJP'O,s4#!0@&>s,R/AnW3U0qiLrAOcfI&rKDa~> -#.V.P\%9/_rjr-?!4_p:pUUUA\\#Ga]=YZR]*,[V]">NP\cB;<](il<]"@dLrk/9C$,!m^]"GYe -]">NP]DfGD]=e*S#eIX\]Y1tj]=n3V#edm`]=Ybi]Y49Vs1A_\[oA_rjr-A"hM=X]">QM]D9&6])fLTp:117rj`$?q7-O;]D];B\@T9H\HBFT -]"3C~> -p58^'r.tB.s+pN,$AO=kL4tA9L4tA9re(Q0KnP/5L4t;6re:3$rIXs"s+:6$!.afnrIFirs*jut -"+YrQJGt&rJGjuqJGt&rIfFm"JUi?'qh+Nm!.k*#s+L?'!/:E*",2D\K`6]-LPCQ_L\-E%M>i>1 -M#`A#M>N/4Mi*FNp5FM~> -p6#B2MuSb8N<5-"NUVo+NVnh7NrY47O8G"=Oo1=&OT:RD -Oo1C -rOW$@!5/9Bqn2s@pUgL>rk&WP]Y1tk]Y(kh]=bcT]E#S@]_oJB]E#YA]`,VE^AY_N]Y1tk]=Ybi -]`,VC^AbhG]`,SR^;%Cs]t_7p^;%Cr]tO9Vrk89C#.qO[]tD(mrk8EJ^AGSE]Y4VA^&G\@^&Pb<^&P_G]tF?Vrk&6Cq7H^@q7QX;!PH&=]`5SF]Xte+~> -%%EndData -showpage -%%Trailer -end -%%EOF diff --git a/helm/papers/calculemus-2003/slides/eps/logo.jpg b/helm/papers/calculemus-2003/slides/eps/logo.jpg deleted file mode 100644 index 89e78d536274667a0283caaaf030ff9208f23eb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51342 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 diff --git a/helm/papers/calculemus-2003/slides/eps/thatsall-slides.eps b/helm/papers/calculemus-2003/slides/eps/thatsall-slides.eps deleted file mode 100644 index 261ff7367..000000000 --- a/helm/papers/calculemus-2003/slides/eps/thatsall-slides.eps +++ /dev/null @@ -1,3968 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: (ImageMagick) -%%Title: (thatsall.eps) -%%CreationDate: (Wed Sep 10 11:28:33 2003) -%%BoundingBox: 0 0 350 353 -%%HiResBoundingBox: 0 0 350 353 -%%DocumentData: Clean7Bit -%%LanguageLevel: 1 -%%Pages: 1 -%%EndComments - -%%BeginDefaults -%%EndDefaults - -%%BeginProlog -% -% Display a color image. The image is displayed in color on -% Postscript viewers or printers that support color, otherwise -% it is displayed as grayscale. -% -/DirectClassPacket -{ - % - % Get a DirectClass packet. - % - % Parameters: - % red. - % green. - % blue. - % length: number of pixels minus one of this color (optional). - % - currentfile color_packet readhexstring pop pop - compression 0 eq - { - /number_pixels 3 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add 3 mul def - } ifelse - 0 3 number_pixels 1 sub - { - pixels exch color_packet putinterval - } for - pixels 0 number_pixels getinterval -} bind def - -/DirectClassImage -{ - % - % Display a DirectClass image. - % - systemdict /colorimage known - { - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { DirectClassPacket } false 3 colorimage - } - { - % - % No colorimage operator; convert to grayscale. - % - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { GrayDirectClassPacket } image - } ifelse -} bind def - -/GrayDirectClassPacket -{ - % - % Get a DirectClass packet; convert to grayscale. - % - % Parameters: - % red - % green - % blue - % length: number of pixels minus one of this color (optional). - % - currentfile color_packet readhexstring pop pop - color_packet 0 get 0.299 mul - color_packet 1 get 0.587 mul add - color_packet 2 get 0.114 mul add - cvi - /gray_packet exch def - compression 0 eq - { - /number_pixels 1 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add def - } ifelse - 0 1 number_pixels 1 sub - { - pixels exch gray_packet put - } for - pixels 0 number_pixels getinterval -} bind def - -/GrayPseudoClassPacket -{ - % - % Get a PseudoClass packet; convert to grayscale. - % - % Parameters: - % index: index into the colormap. - % length: number of pixels minus one of this color (optional). - % - currentfile byte readhexstring pop 0 get - /offset exch 3 mul def - /color_packet colormap offset 3 getinterval def - color_packet 0 get 0.299 mul - color_packet 1 get 0.587 mul add - color_packet 2 get 0.114 mul add - cvi - /gray_packet exch def - compression 0 eq - { - /number_pixels 1 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add def - } ifelse - 0 1 number_pixels 1 sub - { - pixels exch gray_packet put - } for - pixels 0 number_pixels getinterval -} bind def - -/PseudoClassPacket -{ - % - % Get a PseudoClass packet. - % - % Parameters: - % index: index into the colormap. - % length: number of pixels minus one of this color (optional). - % - currentfile byte readhexstring pop 0 get - /offset exch 3 mul def - /color_packet colormap offset 3 getinterval def - compression 0 eq - { - /number_pixels 3 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add 3 mul def - } ifelse - 0 3 number_pixels 1 sub - { - pixels exch color_packet putinterval - } for - pixels 0 number_pixels getinterval -} bind def - -/PseudoClassImage -{ - % - % Display a PseudoClass image. - % - % Parameters: - % class: 0-PseudoClass or 1-Grayscale. - % - currentfile buffer readline pop - token pop /class exch def pop - class 0 gt - { - currentfile buffer readline pop - token pop /depth exch def pop - /grays columns 8 add depth sub depth mul 8 idiv string def - columns rows depth - [ - columns 0 0 - rows neg 0 rows - ] - { currentfile grays readhexstring pop } image - } - { - % - % Parameters: - % colors: number of colors in the colormap. - % colormap: red, green, blue color packets. - % - currentfile buffer readline pop - token pop /colors exch def pop - /colors colors 3 mul def - /colormap colors string def - currentfile colormap readhexstring pop pop - systemdict /colorimage known - { - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { PseudoClassPacket } false 3 colorimage - } - { - % - % No colorimage operator; convert to grayscale. - % - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { GrayPseudoClassPacket } image - } ifelse - } ifelse -} bind def - -/DisplayImage -{ - % - % Display a DirectClass or PseudoClass image. - % - % Parameters: - % x & y translation. - % x & y scale. - % label pointsize. - % image label. - % image columns & rows. - % class: 0-DirectClass or 1-PseudoClass. - % compression: 0-none or 1-RunlengthEncoded. - % hex color packets. - % - gsave - /buffer 512 string def - /byte 1 string def - /color_packet 3 string def - /pixels 768 string def - - currentfile buffer readline pop - token pop /x exch def - token pop /y exch def pop - x y translate - currentfile buffer readline pop - token pop /x exch def - token pop /y exch def pop - currentfile buffer readline pop - token pop /pointsize exch def pop - /Times-Roman findfont pointsize scalefont setfont - x y scale - currentfile buffer readline pop - token pop /columns exch def - token pop /rows exch def pop - currentfile buffer readline pop - token pop /class exch def pop - currentfile buffer readline pop - token pop /compression exch def pop - class 0 gt { PseudoClassImage } { DirectClassImage } ifelse - grestore -} bind def -%%EndProlog -%%Page: 1 1 -%%PageBoundingBox: 0 0 350 353 -userdict begin -DisplayImage -0 0 -350 353 -12.000000 -350 353 -1 -0 -0 -256 -FFFFFF -CCFFFF -99FFFF -66FFFF -33FFFF -00FFFF -FFDFFF -CCDFFF -99DFFF -66DFFF -33DFFF -00DFFF -FFBFFF -CCBFFF -99BFFF -66BFFF -33BFFF -00BFFF -FF9FFF -CC9FFF -999FFF -669FFF -339FFF -009FFF -FF7FFF -CC7FFF -997FFF -667FFF -337FFF -007FFF -FF5FFF -CC5FFF -995FFF -665FFF -335FFF -005FFF -FF3FFF -CC3FFF -993FFF -663FFF -333FFF -003FFF -FF1FFF -CC1FFF -991FFF -661FFF -331FFF -001FFF -FF00FF -CC00FF -9900FF -6600FF -3300FF -0000FF -EEEEEE -DDDDDD -CCCCCC -BBBBBB -FFFFAA -CCFFAA -99FFAA -66FFAA -33FFAA -00FFAA -FFDFAA -CCDFAA -99DFAA -66DFAA -33DFAA -00DFAA -FFBFAA -CCBFAA -99BFAA -66BFAA -33BFAA -00BFAA -AAAAAA -FF9FAA -CC9FAA -999FAA -669FAA -339FAA -009FAA -FF7FAA -CC7FAA -997FAA -667FAA -337FAA -007FAA -FF5FAA -CC5FAA -995FAA -665FAA -335FAA -005FAA -FF3FAA -CC3FAA -993FAA -663FAA -333FAA -003FAA -FF1FAA -CC1FAA -991FAA -661FAA -331FAA -001FAA -FF00AA -CC00AA -9900AA -6600AA -3300AA -0000AA -999999 -888888 -777777 -666666 -FFFF55 -CCFF55 -99FF55 -66FF55 -33FF55 -00FF55 -FFDF55 -CCDF55 -99DF55 -66DF55 -33DF55 -00DF55 -FFBF55 -CCBF55 -99BF55 -66BF55 -33BF55 -00BF55 -FF9F55 -CC9F55 -999F55 -669F55 -339F55 -009F55 -FF7F55 -CC7F55 -997F55 -667F55 -337F55 -007F55 -FF5F55 -CC5F55 -995F55 -665F55 -335F55 -005F55 -555555 -FF3F55 -CC3F55 -993F55 -663F55 -333F55 -003F55 -FF1F55 -CC1F55 -991F55 -661F55 -331F55 -001F55 -FF0055 -CC0055 -990055 -660055 -330055 -000055 -444444 -333333 -222222 -111111 -FFFF00 -CCFF00 -99FF00 -66FF00 -33FF00 -00FF00 -FFDF00 -CCDF00 -99DF00 -66DF00 -33DF00 -00DF00 -FFBF00 -CCBF00 -99BF00 -66BF00 -33BF00 -00BF00 -FF9F00 -CC9F00 -999F00 -669F00 -339F00 -009F00 -FF7F00 -CC7F00 -997F00 -667F00 -337F00 -007F00 -FF5F00 -CC5F00 -995F00 -665F00 -335F00 -005F00 -FF3F00 -CC3F00 -993F00 -663F00 -333F00 -003F00 -FF1F00 -CC1F00 -991F00 -661F00 -331F00 -001F00 -FF0000 -CC0000 -990000 -660000 -330000 -000000 -000000 -000000 -000000 -000000 -000000 -000000 -000000 -000000 -000000 -000000 -000000 -000000 -000000 -000000 -000000 -000000 -000000 -000000 -000000 -000000 -000000 -000000 -000000 -000000 -000000 -000000 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5AEAD99748E5A8D538D599393939A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A93 -9393598D538E947396ACE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AFAD74738E5393939A9A9A -A0A0E0A6DAA6DAA6A0DAA6DAA6A0E0A0E0A6E0A6DAA6DAA6A0E0A6A0E0A6E0A0A09A9A93 -8D549474999EE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5AE998F538D939AA0A0A0E0A0E0A0E0DAE0A0DAA0DAA0DADAA0 -A0A0DAE0A0DAA0DAA0A0DAA0DAA0DAA0A0DAA0DAA0DAA0DAE0A6A6DAA09A939353537373 -99DFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AE9953 -8D5993A0A0A6E0A0DADAA0A0A0A0DAA0A0A0DAA0A6DAA0A0A6DADAA0A6A0A0E0A0A0A0DA -A0E0A0DAA0DAA0E0A0A0A0A0E0A0A0DADAA0DAA6E0A6E0DAA09A93598E73ACE5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E599745453939ADAA6E0A0DAA6A0A0E0A0A6 -DAE0DAA6A0E0A0DAA0DAA0A6DADAA0A0A6DAA0E0A0A0DAA6A0E0A0A0A6A0A6A0E0A0DAA0 -E0A0A0E0A0A6A6A0DAA0A0DAA0A0DAA6E0DAA09A93535354AEE5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5AD7453939AA0DAE0A0A0DAA0E0A0DAA0DAA0DAA0E0A0A0DADAA0DAA6A0E0 -A0DAA0A0E0A0DAA0E0A0DAE0A0DADAA0A6DADADADADAA0DAA0E0A0E0DAA0DADADADAA6DA -DAA6A0E0A0DAA0A0A0E0A6E0DAA093535473ADE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AD72539AA0DAA6DAA0A0 -DAA0DAE0A0E0A0A6DAA6DAA0DADAA0A6DAA0A6DAA0A0DAA0E0A0A6DAA0DAA0A6DAA0A0A0 -DAA0E0A0A0DAA0E0A0DADAA0DAA0A0DAA0E0A0A6DAA0DAA0A0E0A0A6A0A0E0A0E0A0A6DA -A0A0DAA6DAA0DAA6A0DA93535474ADE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5AD7253599ADADAA6DAA0A0DAA0A6DAA0A0E0DADAA0A0DA -A0DAA6A0DAA0A6DAA0A6DAA6A0A0A0DAA0A6DAA0E0A0A6DAA0A6DAA0A0DAE0A0A6DAA6A0 -A6DAA6DAA6A0DAA0E0A0E0DAA0E0A0DADAA0DAA0A0DAA0A6DAA6DAA6DAA0A0A0A0DAA0A0 -A6E0A09A594DAEE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5DF74599ADADAE0A0A0DAA0DAE0A0DADAA0A6DAA0A6DAA6DAA6A0A0A0DAA6DAA0A6DAA0 -E0A0E0DAE0A0E0DAA0DAA0DADAA0E0DAA6DAE0A6A0DAA0DAA0E0DAA0A0DAA0E0A6DAA0DA -A0E0DAA0E0A0A6DAA0E0DAA6DADAA0DAA0DAA0E0A6DAE0A0E0A0DAA0DAA0DAA6535373AE -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5DF7453539ADAE0A0A6A0DAE0 -A0A0A6A0A0A0A6A0DAA6DAA0A0A0DAA0DAA0DAA6DAA0DADAA0E0A0DAA0A6A0DAA0A0A6A6 -DAA6A0A6DAA6DAA0A0A0A0A6DAA6DAA0A0A6DAA6DAA0DAA0A6DAA6A0A0E0A0A0DAA0E0A0 -A0DAA0A6E0A0A0A6DAA0DAA0A0DAA0A0A0DAA0A0A0DAE0A09A535474E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5AF548D9ADAE0DADAA0A0DAA0A6A0E0DADADADADADAE0A0DA -A0DAE0A0E0A0E0E0A0DAA0E0A0A0E0A0DAA6DADAA0A6DAE0A0A0A0DAA0DAA0A0A0E0DAA0 -DAA0A0DAA0A6E0DAA0DAA6DAA0E0DAA0DAA0DAA0DAE0A0E0A0DAA6A0E0DADAA6DAA0A0E0 -E0A0DAA6A0DAA0A0E0A0DAA0A0DAA0E0DA9A5496AFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -AD8F53A0E0A0A0A0A0A6DAA6DAA0DADAA0A6A0A6A0A0A0A0E0A0E0A0DAA6A0DAA0A0E0A0 -E0A0E0E0A0E0A0A0DAA6DAA0A6DAA0DAA6DAA6DAA6DAA6A0E0A0A0E0A0A6DADAA0A0E0A0 -A0A0A0A0A6DAA6DAA6DAA6A0DAA0A0E0DAA0A0A6A0DAA6DAA0A0A0E0A0DAA0E0DAA0A0DA -A6DAA0A0DAA0A0E0A09A538E99E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AE539ADAA0E0A0DAA0E0A0E1A0DA -E0A0E0A0DAA0A0DAA6DAA0A6DAA0A0E0A6A0DAA0A6A0E0E0A0E0A6DAA6A6A0E0A0E0A0A6 -DAA0A6A0DADAA0A0A6A0E0A0E0A0E0A0A0E0A0A0A0DAA0DAA6DAA0A0A0E0A0E0A0A6A0A0 -E0A0DAA0A6A0E0DAA0A0A0A0DAA6A0DAA0A0DADAA0A6A0DAA0A0DAA0A0A6DAA6DAA0A0DA -A0DAA6E0935373DFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E596538DE0A0A0DAA0DAA6DAA0DAA0DADAA0A0A0DAA6DAA6DAA0E0 -A0DAA0E0DAA0DAE0A0DADAA0DAA0DAA0DAA0DADADAA0DAA0DADAA0E0A0DAA6A0E0DAA0E0 -A0E0A0DAA0A0DAA0DAA6DAA6A0E0A0A0E0A0DAA0DAA0E0A0E0A0DAA6A0E0DAA0DAA6DAA6 -DAA6DAA0DAA6E0A0E0A0E0A0E0A0DAA6DAA6DAA0A0A0DAA6A6A0A0A0DAA0A6DA9A5954AC -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AE7253 -93A0E0DADAA6A0A0E0A0A0DAA6A0A0A6DAE0A0A0DAA0DAA6DAA0DAE0A0A0A6DAA6A0E0A6 -A0E0A0A0E0A0A6DAA6A6A0E0A0E0A0A6DAA0E0A0DAA0A0A6DAA0E0A0E0A0E0DAA6DAA0DA -A0A0DAA0E0A0A0DAA6DAA6A0DAE0DAA6A0DAA0A0A0E0A0A0E0DADAA0A6DAA6A0A0DAA0A0 -A0E0A0A0A0DAA0DAA6DADAA6A0DADAE0A0DAA0A0DAA0E0DAA09374E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AC539AE0E0A0DAA0A0DAA6DAA0DA -E0A0A0DAE0DAA0A0DAA6A0A6DAA0A6DAA6A0E0DADAA6DAE0A0A0E0A0DAE0A0DADAA0A0A0 -E0A0DAA0A6A0A6DAA0E0A0A6DADAA0DAA0DAA0A0A0E0DAA6DAA6A0E0A6A0A0DAA0E0DAA6 -DAA0A0DAA0DADAA6DAA6DAA0A6DAA0DAA6DADAA0DADADAA6A0E0DAA0DAA6DAA6DAA6DAA6 -A0A0DAA0A0A0DAA0A6DAA0A0A0A0A0E0935373E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5AD5453E0E0A0A0DAA6DAE0A0A0DAA6A6A0A0DAA6A0A0E0A0E0A0 -DADAA0A6DAA0DAE0A0A0A6DAA0DAA0DAA0E0A0A0DAA0A6A0E0E0A0A0DAA6DAA6DAA0E0A0 -A0DAA0A0A6A0DAA0A0E0DAA0DAA0A0A0DAA0A0DADAA6DAA0A6DAA0A0E0A0DAA6A6A0DAA0 -A0A6DAE0A0A6DAA6A0E0A0A6A6A0DAA0A0DAA0DAA0DAA0A0A0DAA0DAA6DAA0E0A0A6DAA0 -E0A0DAA0DAA0A6E09A5371DFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E59E4D -59DAE0A0A0DAA0A6DAA7A0DADAA0DADAA0E0A0DAE0E0A0DAA0E0A0A0E0DAA0E0A0A0DAE0 -A0A0E0A0E0A0E0A0A0DAA6DADAE0A0A0DAE0A0DAA0DAA0A0A0DADAA0DAA0DAA0A0A0DAA0 -A0A0A0A0DAA0DAA0A0A0A0A0A0A0A0A0DAA0A0DAA0DAA0DAA0DADAA0A0A0DADADAA0DAA0 -A0DADADAA6DAA6A0A0A6DAA6A0E0A6A0E0A0A0A0A0A0DAA0DAA6A0A0A0DAA0A0A0A0DAA6 -9A53AEE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AF72A0A6DAA0DAA0A0A1E0A0E0A0A0 -E0DAA0A0DAA0A0DAA0A6DADAA0A0E0A0A0A0A6DAA0A0E0DAE0A0A0E0A0A6DAA6DAA0A0A0 -A0DAA0DAA0DADAA0A0A0A0DAA0A0A0DAA0DAA0A0A0A0DADAA0A0A0A0A0DAA0DAA0DAA0A0 -A0A0A0A0A0DAA0A0DAA0DAA0A0DAA0DAA0DAA0DAA0E0A0A0A0DAA0DADAA6A0E0A0E0E0A0 -E0A0E0A0DAA6DAA0A6A0A0DAA0A0DAA0A0A0A0DAA0A0A6DAA0A0DAA0E09A5354DFE5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E573539ADADAA0A0A0DAA0E0A0DAA0A0DAA0A0A0E0A0DAE0A0A6DA -A0A6DAA6DAA0E0A6DADAA0E0A0A6A0A6DAA0DADAA0DAA0A0DAA0DAA0DAA0A0A0A0DAA0DA -A0A0A0A0DAA0A0A09A9A9A9A9AA09A9AD49A9A9A9A9A9A9A9A9A9A9A9AD49A9A9AA09A9A -A0A0A0A0A0A0DAA0A0A0DAA0DAA0DAA0A0A6A6A0E0A0DAA0A0DAA0DAA0A0A0DAA0A6DADA -DAA6A0E0A0E0DAA6DAA6A0DADAA0A0DAA0A0A0A0E09A5372E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5744D -9ADAA6A0A0DAA6DAA0A0A0DAA6A0E0A6DAE0A0DAA6A0A0DADAA0E0A0DAA0E0A0A0DAA0A6 -DAA0E0DAA0DAA0DAA0A0DAA0A0DAA0DAA0A0A0A0DAA0A0A09AA09A9A9A9A9A9A9A9A9A9A -9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9AA09A9A9A9AD49A9AA0DAA0A0DAA0 -A0A0A0A0A0DAA0DAA0DAA0A0A6A0A0A6DAA6A0E0A6A0DAA0A0A6A6DAA0A0DAA0A0DAA0DA -A0A6A0A6DAA0A0DAA0DAA0A0E09A73E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E55393A6DAA0DADBA6A0DAA6A1DA -A6A0DAA0A0DAA0A0E0A0DADAA6A0A6DAA0A0A6DAA0E0A0A0E0A0A6DAA0E0A0A0DAA0DADA -A0DAA0A0A09AA09AA09A9A9A9AD49A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A -9A9A9A9A935F939A9A599A9A9A9A9A9A9A9A9A9A9A9A9A9AA09AA09AA0DAA0A0DAA0DAA0 -DAA0DAA0DAA0A0DAA0A0DAA0A6DADAA0DAA0E0A0A6DADAA6A0A6DAA0DAA0A0E0A0A0A0A0 -DAA0A0A0935399E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5AF4EDAA6DAA6A0A0A0A0DAA0DAA0A0DAA6DAA6DAA1A6DAA0A6 -A0A0DAA0DAA6A0A0DAA6DAA0DADAA0A0DAA0DAA0DAA0A0A0A0A0A0A09AA0D49A9A9A9A9A -9A9A9A9A9A9A9A9A9A9A9A9A9A9A93599393595993595993935959595993599359595993 -59935993599A9A9A9A9A9A9A9A9A9A9A9A9AA09AA0A0A0A0A0A0A0DAA0A0A0A0DAA0A6DA -A6A0DAA0A6DAA0E0A0A0DAA0A0DAA0DAA0A0A6A0DAA0A0DAA0DAA6A0DAA0E0A09353ADE5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5DF -548DA0DAA0A1DAA0DAA0E0A0E0A0A6A6A0DAA1DAA0A0DAA0A0DADADAA6DAA6A0DADAA6DA -A0A6A0A0A0DAA0A0A0DAA0A0DAA0DAA09A9AA09A9A9A9A9A9A939A939A9A9A5993935959 -5959595959595359935953598D59599359939359935993538D5953595993599393595993 -59599A9A9A9A9A9A9A9A9A9A9A9ADA9AA0A0A0DAA0DAA0A0DAA0A0DAA0A6DAA0DAA0A0E0 -A0E0A6A0E0A0A6DAA0DAA6A0DAA6DAA0A0DAA0DAA0A0E0A053DFE5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5739AE0A0A0DAE0A0A6DAA0A0A0 -E0A0A6A0E0A6DAA0A6DAA0A6DAA0A0DAA0E0A0A0A6A0DAA0A0A0A0A0A0A0A0A0A09AA0A0 -9A9AA09A9A9A9A9A935F9393598D935959598D538D535353535353534D5353534D534D53 -5353535353535353534D53534D534D53535353538D53535353539353598D595959595959 -59935F9A9A9A9A9A9A9AA0A0A0A0A0DADAA0A0DAA0A0A0A0DAA0E0A0A0E0A0A6DAA6A6A0 -A6DAA0A0A0A0DAA6DAA0A0A0DAA0A0E09A5374E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5AD4D9AA6DAA0DBA6DBA0DAA0A6DADAA0A0DADAA0DAA6DADAA0 -A6DAA6A0E0A0E0A0A0DADAA0A0DAA0DAA0DAA0A0DA9A9AA09A9A9A9A9A9A939359595953 -59535959535353535353534D534D4D4D535353599393939A9A9A9A9A9A9A9A9A9A9A9A9A -93939393534D534D4D4D4D4D4D535353535353538D535353538D5353935993599A9A9A9A -9A9A9AA09AA0A0DAA0A0DAA0A0DAA6A0A0A0A0DAA0DAA0A0DAA0DAA0DAA0A0DAA0A0A0DA -DAA0A0DAA0A0DAA69353ADE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -8F53A0E0A0A0DAA0A0A6DAA0A0DAA0A0A6DAA6A0E1A6DAA0A0E0A0E0A0DAA0DAA0A6DAA0 -A0A0DAA0A0A0A0A09A9A9A9A9A9A9A939A5F9359595359935993535353534D53534D4D53 -5393939AA0A0A0DADADAE0A6E0A0E0E0DAE0E0E0E0E0E0DAA6DAE0A6E0A0DADAD4A09A9A -599353534D4D4D534D4D535353535353595353535393595959599A9A9A9A9AA0A0A0A0DA -A0A0DAA0A0DAA0DAA0A6DAA6A0DAA0E0A0A6A0E0DAA6DAA0E0A0A0A6DAA0A0A0A0A0E0A0 -53E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5974D9AE0E0A0DAA0A0DAA6DA -A0A6DBA6DAA0DAA0DAA0A0A0A0E0A0A0DAA0DAA6DAA6DADAA0DAA0DAA09ADA9A9A9A9A9A -9A9A9A9A59595993599359538D535353534D5353538D599AA0DADAA6E0DAE0DAE0A0A6A6 -A0DAA0E0A0A0A0A0A0A0A0A0A0A6DAA0A0A0DAA6A6A6A6DAE0E0E0E0E0DAA09A9A93534D -4D4D4D4D53534D5353535353538D599359599A9A9A9A9A9A9AA0A0DAA0A0DAA0E0A0A0DA -A0A0DAA6A0A0DAA0DAA0A6A0A0DAA0A0A6DAA0A0E0A0DAA0A0A0E04D99E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E559E0A6A0A0DAA0E0A0A0DAA6DAA0DAA0A0A0E0A0A6DA -A6E0A0A0E0A0E0DAA6A0A0A0A0A0A0A0A09A9A9A9A9A9A9A9A9A59595993598D53595353 -8D5353535353539A9ADAA0E0E0E0A6A0E0A0DAA6A0A6DADAE0DAA6A0DAA0DAE0E0DAE0A0 -DAA6DAA0A6DADAA6A0DADAA0A0A6A0A0A0DAA0A6DAE0A0E0DAA09A9353534D4D4D4D534D -535353535353539359935F939A9A9AA09A9ADAA0A0A0A0A0DAA6DAA6A0DAE0A0A0A6A0E0 -DADAA0A6DAA0A0A0E0A0A0A0A0DAA0DAA0E05954DFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E59E4DE0A0A0DAA0A0A0DAA0DAA6DAA0E0A0A6DAA0DAA1DAA0DAA0E0DAA0DAA0A0DAA0 -DADAA0A09ADA9AA09A9A9A9A9A59935993599353935353535353535359939ADAA0A0E0A0 -E0A0A0A0DADAA0E0A0DAE0DAA0A6A0A0DAE0A0E0A6A0A0A6A0DAA0DAA6DADAA6A0DAE0A0 -A6DADAA0E0DAA0A6DADAA0A0E0A0E0A0E0A6E0DA9A59534D4D4D534D534D535353535359 -59599A599A9A9A9A9AA0DAA0DAA0A0A0A0A0DAA6A0A6DADAA0A0A0A6DAA0A0A6DAA0A0DA -A0DAA6A0A0A0DAA0E09A5399E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AE4D9AE0A6DAA0E0A0E0A0 -A0DAA0A0DADADAA6A0DAA6A6A0A0DAA0A0A0DAA0A0DAA0A0A0DAA0A0D49A9A9A9A935959 -599393598D53535353534D5393A0DAA0DAA6A0A0DAA6DAE0A0DAA6DAA6A6DAE0A0DAA0DA -E0E0DAA0E0A0E0A0A0E0DAA6A0DAA6A0A6DAA6DADAA6A0DADAA6DAA6A6E0A0E0DAA0A0DA -DAA0DAA6A0A6DAA6DAA6A6A0A6E0E0DA9A9A534D4D4D5353535353538D595359939A9A9A -9AA09ADAA0A0A0A0DAA0A0A6DAA0E0A0DAA6A0DAA0DAA0DAA0A6DAA6DAA0A0A0A0A0A0DA -A0E09A9FE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E57453A0E0A0DAA0DAA0A0A0DAA0A6DAA6A0A0A0DAA0A0 -DADAE0A0A6DAA0DAA6DAA0A0DADAA0A09AA09A9A9A599A59938D59535953535353535393 -9ADAE0A0E0A6A0DAE0A0A6DAA6DAA6A0DAA6DAA0A0A6DAA6DAA6A0A0A6DAA0A0DAE0A0A6 -DADAA6DAE0A0A0A0DAA6A0DAA0A6A0DAA6DADAA0A0A0A6DAE0A0A6DAA6DADAA0A0A0A0DA -DAA0DAA0A0A6E0A0E0A09A53464D4D4D5353535353535959935F9A9AA09ADA9ADAA0A0A0 -DAA0A0A6A0DAA0DAA0A6A0A0A0A6DAA0A0A0A0E0A0DAA0DAA0A0A0A0E05373E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E559E0DAA0A0A0E0A0A0E0DAA0DAA0DAA0DAE0A0E0A0E0A0A0A0A0DAA6DAA0A0A0 -DAA0A0A0A09A9A9A9A93599359935359535353535353939ADAA0E0A6A0E0A0DAE0A6A0E0 -DAA0DAE0A0E0A0DAA6DAE0A0DAA6DADAA6DADAA6E0E0A0A6DADAA6A0DAA6A0E0DAE0A6DA -A0E0E0DADAA6DAA0A0A6DAE0DAA6A0A6DAA0DAA6A6DAA6DAE0A0DAA6A0E0A0DAA0E0A0DA -A6E09A534D4D4D4D535353538D5359935F9A9A9A9AA09AA0A0DAA0A0DAA0DAA0E0A0A0DA -A0DAA0DAA0A0E0A0DAA0A0A0DAA0DAA0DAA0A0E05954E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AE4DE0A0A0DAA0DA -A0A0E1A0A0A6A0A6A0E0A0A0DAA0A0DAA0A6DADAA6DAA0DAA0DAA0A0DA9A9A9A9A9A9A93 -595953535353534D535353DAA0E0A0E0A0A0DAA0DAA6A0A0DAA0A0E0A6A0A0DAA0E0A0A6 -A0DAA6DAA6A0E0A0A6DAA0DAA6DAA0A6A0A6E0A0E0A0A6A6DAA0E0A0A0A0A6DAA6DAA6DA -A6A0A0DAA6DAE0A0A6DADAA6DAA0A0A0A0A0DAA0A0E0E0A0A0A6A0DAE0E0A09A594D4D4D -4D5353538D53539359939A9A9A9A9AA0DAA0A0DAA0A0A0A0E0A0DAA6DAA0A0E0A0DAA6DA -A0E0A0DAA0DAA0A0A0A0E09A4DADE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E57453A0A0A0DAA6A1A0DAA0DAA0DAA0E0DAA0A0 -DADAA6DAA6A0E0A0A0A6DAA0A0A0A0A0A09AA09A9A9A9359595353935353534D4D599ADA -DAA0E0A0A0DAA0E0A0E0A0E0DADAA6E0A0A0DAE0E0A0E0A0DADAE0A0E0A0DADAA0E0DAA6 -DAA6DAA0E0DAA0A0DAA0DAA6DADAA0E0A0A0A6DAA0A6DAA0A0DAA0E0A0E0DAA0A0DAA0A0 -A0DAA0E0A0E0E0A0E0A0E0A0A0DADAA0DAA6A0A0E0DADAA0534D124D5353535359539359 -9A9A9A9AA09AA0A0A0A0A0DAA0DAA0A0A6DAA0E0A0A0A0A0A0A0A0A0DAA0A0A0A0DAA0A0 -A0DAA65374E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E57193DAA0DBA0A0DAE0A0A0E0A0A6DAE0A0A0E0A0E0A0DAA6DAA0A0E0DAA0 -A0DAA0A0DAA09A9A9A9A9359599353535353534D4D93A0DAA6A6A0A0A0E0A0A6DAA0DAA0 -E0A0A0A6DAA0E0A0E0A0A0E0A0A6A0A0A0E0A0E0A0A6DAA0A6DAA6DAA6DAA0A6DADAA6E0 -A0DAA0A6DAA0E0A6A0E0DAA0A6DADAA6DAA0DAA6A6E0A0A6DAA6A6A0E0A0DAA0A0E0A0A0 -A0E0A6A0A6DAA0A0DAA0A0A6A0E0DAA093534D4D53535353539353599A9A9A9A9ADAA0DA -A0A0A0A0DAA0DAA0A0A0DAE0A0DAA0DAA0DAA6A0DAA0DAA0DADAA0A0DAE059E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5AFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E54DA0E0A0A0DB -A0DAA0A0DAA6A6DAE0A0A6DADAA0DAA0A0A0A0A6DAA6DAA0DAA0A0DA9A9A9A9A9A599359 -93535353534D539AA0DAE0A0A6A0DAA6A0A0A0A6DAA0DADAA6DAA6DAA6A0DAA0A6DAA0A0 -A6A0E0A6A0A0E0A0DAA6A0A6DAA0E0A0DAA0DAA6DAA0E0DAA0DAA6DAA6A0DAA0E0A0DAE0 -A0DAA6DAE0A6DAA0A6DAA0E0A0A0A6DADAE0A0A6A0DAA6A0E0A0A0A0A0E0A0E0A0A6A6A0 -DAA0A6DAA0DAA6A0A6E093534D4D4D4D53598D5359599A9A9A9A9A9AA0A0DAA0DAA0A0DA -A0E0A0A0DAA0A0DAA0A0DAA0DAA0DADAA0A0DAA0A0A05374E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E573E0A0A0A0DAA0A6DAA7DAA0A0DAA0A0DA -A0DAA0A6A0E0A0A0DAA0A0A0A0A0A0A09AA09A9A9A5993595993535353534D9ADAE0DAA6 -A0DADAA0A6DADADAE0A0A0E0A0A6DAA0E0A0DAE0A0E0DAA6E0DADAA6DAA0DADAA0E0A6DA -A6A0E0A6A0E0A6E0A6DAA0E0A0A6A0E0A0A0DAA6E0A0A0E0A6A0DAA6DAA0A0DAA0E0DAA0 -A6DAA0E0DAA0A6A0DADAE0A0A0DAA0E0A0E0A0A0A6A0DADADAA0A6DADAA0A0E0A0DAA0DA -E0A09A534D4D4D535353539359939A9A9A9A9AA0A0A0A0DAA0A0A0A0A0DAA6A0E0A0A0A0 -A0DAA0A0A6A0A0DAA0A0DAA0E05972E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E57193A0DADAA0A6DADAA0DAA6DAE0A6DAA6A0E0A0DADAA0A0DADAA6DA -A0DAA0DAA09A9A9A9A59935959935353535353939AE0A6A0DAA0E0A6DAE0A0A6A0A0A0E0 -A0DAA6DAA6DAA0E0A0A0E0A0A0DAA0A6A0DAA6E0A0A6DAA0DAA6DADAA0DAA6DAA0A0DAA6 -DAA0E0DAA6DAE0A0A0DAA6DAA6A0DAA6DAA6A0E0E0A0E0A0A6DADAA6DAA0A6DADAA6A0A0 -A0E0DAA6A0DAA0A0DAA0DAA6A0A0A6DAA0A6A0E0E0A0A0E0A0A6A0E0E0E0A0934D4D4D53 -5353935959939A9A9A9AA0DAA0A0A0E0A0DADAA0DAA0A0DAA0A0A6A0DAA0DAA0E0A0A0DA -A0DAA0E09A4DE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E54D9AA6 -A0A0A6A0DAA0A0E0A0A0A0A0DAA0DADAA0A0A0A6DAA6A0A0A0A0DAA0A09A9A9A9A9A5F59 -5993535953535393A0E0E0DAA0DAA6DAA0DAA0A0DADAA6A6DAA0E0A0DAA6DAA0A6DAA6E0 -A0A0E0A0E0A0DAA6DAA0E0E0A0E0A6DAA0A6DAA6DAA6A0E0A0DAA0A6A0A6DAA6DAA0DAA6 -DAA6DADAA0E0A0DAE0A0A0E0A0A0DAA6A0DAA0A6DAA6A0DADAA6DAA0A0A0E0A0E0DAA0E0 -A0DAA0E0A0DAA6DAA0A0A0A6DAA0DAA0A0A0A0A0A6E0934D4D4D534D53539359595F9A9A -9A9AA0A0DAA0A0A6A0A6A0DAA6A0E0DAA0DAA6A0A0A0A0DAA0A0DAA0A0A0A6A04DE5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E54D9AA6DAE0DAA1DAA6A0DAA0A0DA -A6DAA0E0A0A6A0E0A6DAA0A0E0DAA0DAA0A0DA9A9A9A9A9393598D5353534D93A0E0E0A0 -A0A6DAA6DAA0E0A6A0E0A0A6DAE0A0E0A0DAA6A0DAA6DAA0DAE0A0E0A0E0A0E0E0A0A0E0 -A0A0E0A0DAA0E0DAA6A0DAA0E0A0E0A0A6DADAA0E0A0A0E0A6DAA0DAA0A6DAA0DAA6A0A0 -E0A0A6DAA6DAA6DAA6DAE0A0E0A0A6DAA6DAA0E0DAA6A0A6A6DAA6A0E0A0DAA6A0DAA6DA -A0DAA0A0A6DADAA0E0A0DAA0E0A0934D4D4D4D5353538D535F9A9A9AA0D4A0A0DAA0DAA0 -DAA0A0DAA0A6A0A0DAA0DAA0DAA6A0DAA0DAA0DAA0DAA0ACE5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5AE4DA0E0A0A0A0A0DAA6DAA0A0E0A0E0A0A0DAA0DAA0E0A0DAA0 -E0A0A0A0A0A0A09A9A9A9A5959595953535353539AE0E0A0A0DAA6DAA0DAA6DAA0A0E0A0 -E0DAA0A0DAA0E0A6DAA0E0A0E0A0E0A0E0A0DAA6DADAA0E0A0A0DADAA0E0A0E0A0A6DAE0 -A0E0A0A6A0DAA0A0A6DAA0DAA6A0DAA6A0E0A0DAA6DAA6DADAA6A0E0DAA0DAA6A0A6DAA0 -A0DAA0DAA0A0DAA0A0A0A0DAA0DAA0A0DAA0A0DAA0DAA0A6DAA0A6A0E0DAA0A6A6DAA0DA -A6DAA0E0A6DA934D4D535353535359939A9A9A9AA0DAA0A0A0DAA6DAA0A6DADAA0DAA6A0 -A0DAA0A0DAA6A0A0A0A0A0A0DA5374E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E574 -DAE0A0A0A0E0A1E0A0E0DAA0E0A0E0A0A0DAA6DADAA6DAA0A0DAA0DAA0A09AA09A9A9A93 -93598D59535393A0E0A6DADAE0A0DAA6A0DAA0DAA0A0A6A6E0A0A0DAA6A0DAA6A0E0A0A0 -E0A6DAA6DADAA0DAA6E0A0A6DAA0A0DADADAA0E0A0DAA6A0E0DAA6A0A0A6DAA0A0E0A0DA -A0A0A0DAA0DAA6DAA0A0DAA0DAA0A0DAA0DAA0DADAA0A6DAA0E0A0E0DAA0E0A0DAA0A0A6 -DAA0DAA0A0DAE0A0DAA0A0DAA0DADAA0DAA6DAA0E0A0A0DAA0E0A0A0A0E0A0A0A0A6A059 -4D4D4D4D538D5393599A9A9AA0A0A0DAA0DAA0A0DAA0A0A0A0A0A0A0A6DAA0A0DAA6A0A0 -A0DAA0A0E05971E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E57353A0A0A0DAE0A0DAA0DAA0 -A0A0A0DAA0A0E0A0DAA0A6DAA0A0DAA0A0A0A09A9A9A9A9A59595959535353A0DAE0A0DA -A0A6A0DAA6DAA6A6A6DAA6E0DAA0DAA6DAA6DAA0E0A0E0A0DAE0A0DAA0DAA0A6DAA6DAA0 -DAA0E0A0E0A0A6A0E0A0DAA0DAE0A0A0A0DAE0A0A0A0DAA0DAA0DAA0DAA0A0A0DAA0A0A0 -A0DAA0A0DAA0DAA0A0A0A0A0DAA0DAA0A0A0A0A6A0DAA6DAA0DAA0E0A0E0E0A0A0E0A0A6 -DAA6DAA6A0A6A6DAA0DAA6A0A6A0E0A0A0E0DAA0DAA6DADAE0DA9A534D4D4D5353535993 -9AA09A9AA0A0A0A0A6DAA6A0DAA6DAA6DAA0DAA0A0E0A0A0DAA0DAA0DADAA0E09354E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E57259E0A0DAA0A0A0DAE0A0A6DAA6DADAA6DAA6DAA0A0DA -A0A0E0DAA0DAA0DA9A9A9A9A9A595993535353539AE0A0A0DAA6DADAA6A0DAA0DADAA0E0 -A0DAA6DAA6DAA0DAA6DAA6DAA0E0A6A0E0A6E0A6DADAA6DAA6E0A0E0A0DAA6DAA0A0A0DA -A6DAA6A0DAA0DAA0A0DAA0DAA0A0A0DAA0A0A0A0A0DAA0A0DAA0A0A0A0DAA0A0A0A0DAA0 -DADAA0A0A0E0DAA0A0DADAA6A0A0A0E0A0A0DAA0A0DAA6A0DAA0A6DAA0DAA6DAA0A0E0A0 -DAA6A0DAA6DAE0A0A6DAA6DAA0A6A0A6E0A09A4D534D4D535353939A9A9A9AA0DAA0DAA0 -A0DAA0DAA0DAA0DAA0A0DAA0A0A0A0DAA0A0A0A0A0A0A69A4EE5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E55493E0A0A0A0E1A0DAA6A0DAA0A0DAA6A0A0A0DAA0E0E0A0E0A0A0A0A0A0A09A9A9A -9A599359535353539ADAE0DAA6DAA6DAA0A0DAA6DAA6DAE0A0DAA6A0DAA6DAA6DAA6DAA6 -DAA6DAA0DADAA0DAA0DAA6A6DAA0DAA0E0A0E0A0DAA6DAE0A0A0DAA0DAA0A0DAA0DAA0A0 -A0A0DAA09AA09ADAA09A9AA09AA0A09AA0A0A0A0A0A0A0DAA0A0A0A0A0DAA0A0A0DAA0A0 -A0DADAA6DAA0DAA6A0E0A6A0DAA0A6DAA0A6A0DAA0A0DAA6A0A6DAA0DAA6DAA0A0E0A0A0 -A0A6DAA0DAA0A0E0E0A04D4D4D53535359935F9A9A9AA0A0A0DAA0A6A0A0A0A0DAA0E0A0 -A0DAA6A0DAA0A0DAA0A0DAA0A0DA9AE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E54D9AA6DAA0E0A0DAA6 -A0DAA0A6DAE0A0DAA0E0A0E0A0A0A0DAA0DAA0DAA0DA9AA09A5F9A935993535393A0DAA6 -A0A0DAA6DAA0A6E0A0DAA6DAA0A0E0A0DAA6DADAA0DAA6DAA0DAA0DAA6DAA6A6E0A0E0A6 -DADAA6DAA6DAA0DAA0E0A0DAA0A0DADAA0A0A0DAA0A0A0A0A0A09AA09A9ADAA09A9A9A9A -9A9A9A9A9A9A9A9A9A9A9A9AA09AA09ADAA0A0A0A0DAA0A0A0DAA0A0A0DAA0A0A0DAA0A0 -A0DAA6DADAA0A0DADAA6DAE0A0DAA0DAA6DAA0DAA0A6DAA0A0E0DADAA6DAA0A0DAA0A0DA -9A53464D4D5353598D9A9AA09ADAA0A0A0A0DAA0E0A0A6A0A0DAA0A0DAA0A0E0A0A0DAA0 -A0DAA0A0A64DE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E54DA0E0DAA0A0A0DAA0A0DAA6E0DAA0A0DAA6DAA0 -DAA0A0DAA0A6DAA0DAA0A09A9A9A9A9359595353539AE0DAE0A0DADAA6A0DAA6DAA0DAA6 -DAA0E0E0A0DAA6DAA6A0E0A6DAA0E0A0E0A6DAA6DADAA0DAA6DAA0A6DAA0A0E0A0A6DAA0 -A0A0DADAA0A0DAA0DAA09A9AA09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A -9A9A9A9A9A9A9A9A9ADA9AA0A0A0A0A0A0A0DAA0DAA0DAA0A0DADAA0A0A0A0A6DAA0A6DA -A0A0DAA6DAA6DAA0E0A0A6DAA0A6DAA0A0A6DAA0E0DAA6A0DAA6A6E09A534D4D53535359 -599A9A9A9AA0DADAA0DAA0A0DAA0DAA0E0A0A0A0DAA0A0E0A0A0DAA0A0DAA0A04DAFE5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5AF4DE0A0DAA0A0DADAA0A0A0E0A0A0DAA0E0A0A0E0A0A0DAA0A0A0DAA0DAA09A -9A9A9A599359535393A0E0A0E0DAA6DAA0A6A6DAA0E0DADAA0E0A0A0E0E0A0DAA6DAA6A0 -E0A0DAA6DAA0E0A0DAA6DADAA6DAA6DAA0A0DAA0A0A0A0A0A0DAA0A0DAD49A9A9A9A9A9A -9A9A9A599393599359939393595993595959935959935993935959935F939A939A9A9A9A -9A9A9A9A9A9A9A9A9A9A9ADAA0A0DAA0A0A0DAA0A0A0A0A0DAA0A0E0E0DAA6A0E0A0A0DA -A6DAA0DAA0A0DAA6A0DADAA0E0A0DAA0DAA0DAA6A69A4D4D4D5353599A939A9A9ADAA0A0 -A0DAA0DAA0DAA0A0DADADAA0A0DAA0DAA0DAA0A0DAA0A0A04DAEE5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AF4DA0A0DAA6A0 -DAA6A6DAA6DAA0A0A0A6DAA0DAE0DAA0E0A0E0A0A0A0DAA0A09A9A9359935353599ADAE0 -A0DAA0A0DAA0E0DADAA6DAA0A6A6E0A0E0E0A0A0E0A0E0A0DADAA6DAA6DAA6E0A0E0A0DA -A6A6DAA0DAA0A0A0A0DAA0DAA0A0A09AA09A9A9A9A9A9A9A9A9A59935993595959935359 -5353535359535353538D5953535359599359935959599359935F9A9A9A9A9A9A9A9A9A9A -9A9A9A9AA09ADAA0A0DAA0DAA0DAA0DAA0A0A0A0A0DAA0A0A6A0DAA0E0A0DAE0A0A0E0A0 -A6DAA0DAA0A6A0A6A0A0DAE0934D4D4D53535359599A9A9A9ADAA0A0DAA6DAA0DAA6A0A6 -A0DAA0A6A0A0A0A0DAA0A0DAA0DAA053AEE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E54DA0E0A0A0DAA0E0A0A0DAA0DAA0E0A6DA -A0DAA6A0A0A6DAA0DAA0DAA0A09A9A9A93595353539ADAE0A6A0DAE0A0E0A0E0A0A0A6A0 -DAA6DADAA0E0A0A0DAE0A0E0A0DAA6A0DAA6DAA0DAA0DAA0E0A0DADAA0E0A0A0DAA0DAA0 -DAA0A0D49A9A9A9A9A9A9A9A9A5993599359595359598D53599393939A93939A9A939A59 -9A935993598D595353535993595959599359935959935F9A939A9A9A9A9A9A9A9A9AA09A -A0A0DAA0A0A0A0DAA0DAE0A0A6DAA0DAA0E0A0A6A6A0A6DAA0DADAA0E0A0A6DAA6DADAE0 -A0A0E0A0534D4D53538D53599A9AA09AA0DAA0DAA0A0A6A0DAA0DAA0DAA0DAA0DAA0A0DA -A0A0A0A0E0A04DE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E54DA0DAA0DAA0A7DAA0DADAA6DAA6DAA0DAA0E0A0DAA0DADAA0A0A0DA -A09A9A9A9A9A5953535353DAA6A0DAE0A0A0DAA0E0A0E0DADAE0A0E0A0A0E0A0DAE0A0A0 -E0A0E0A0E0E0A0E0A0E0A0E0A0E0A0DAA6A0A0A0DAA0A0A0A0A09A9A9A9A9A9A9A9A9A93 -595959535993939A939A9AA0A0DADAA0DAA0E0DAA6DADAE0A0E0DAA0DAA0DAA0A0DA9A9A -9A93938D538D5959539393599359595959935F9A9A9A9A9A9A9AA09AA0A0DAA0DAA0DAA0 -A0DADAA0DAA6A0A0DADADADAA0DAA6A0A0A6A0DAA0DADAA0A0A0DAA6A0E0E09A4D4D5353 -5393599A9A9A9AA0A0A0A0DAA0DAA0DAA6A0A0DAA0DAA0A6DAA0A0A0DAA0A0DAA69FE5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E54D9AE0 -A0DAA6DAA0A0E0A0A0A0DAA0A6DAA0E0A0E0A0E0A6A0DADAA0A0D49A9A9A9A5953535393 -DAA0DAA0A0A0E0E0A0E0A0DAA0A6A0A0E0A0E0DAA0E0A0A0E0DAA0DAA0E0A0A0E0A0DAA0 -E0A0DAA0A0DAA0DAA0DAA0DAA0A09A9A9A9A9A9A9A599359599393939AD4A0DAA0E0E0E0 -E0E0DAA6E0A0A6A6A0E0A0DAA0E0A0A0E0A0E0A0E0DAE0A0E0A0DAA0A0A09A9A93935953 -53539359939393599359935F9A9A9A9A9A9A9A9AA0A0A0DAA0DAA0A0A0E0A0DAE0A0A6A0 -A0A6DAA6DAA6DADAA6A0E0A0A0E0A0E0A0DAA6A0A0E09A464D5353538D9A9A9A9A9AA0A0 -DAA0A0A0E0A0DAA0A0A0DAA0DAA0A0DAA0A0A0DAA0A0DA53DFE5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E54DA0E0A0A0DADAA6DADAA0A0A6DA -A6DADAA0DAA0DBA0DAA0A0DAA0A0DAA0A09A9A9A935953539AE0A6E0A0E0DAE0A0A0DAA0 -E0A0A6A0E0DAA0E0A0A6DAA6DAE0A0A0E0A0E0A0E0E0A0DAA6A0DAE0A0DAA0A0DAA0A0A0 -A09A9A9A9A9A9A9A93935959939A9AA0A0E0E0A6E0A6E0A0A0A6A0A0E0A0A0DADADADAA0 -E0A0E0A0DAA6DAA6A6DAA0A6A0DAA0E0A0E0E0DADAA6E0A0DA9A93935353535959935993 -59935F939A9A9A9A9A9A9A9A9AA0A0A0A0DAA0A0DAA0A0A6DADAA0DAA0DAA0DAA6A0DADA -A0DAA0DAA0A0DAA6DADAA0A0E059464D4D535359599A9A9A9A9AA0A0DAA0A0A0A0A6DAA0 -A0A0A0DAA0A0A0DAA0A0DAA0A0A04DDFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E54EE0A0A0DAA6A0A0A0E0A0DAA0A0E0A0E0A0DADADAA0DAE0A0 -A0DAA0D49A9A939359935353A0E0A0A0E0E0A0DAE0A0E0DAA6DAA0DAA0DAA6DADAA0E0DA -A6DAA0E0DADAA6DAA0DAA6A0DAA0DAA0A0A0A0A0DAA09A9A9A9A9A9A935959939A9ADADA -E0A6A0E0A0A6A0A6DAA6DADAA6E0A0A6A0DAA6DAA0E0DADAA6DAA6DADAE0A0DAA6DAE0A0 -E0A0A6DADAA6DAA0E0DAA0DAA6DAA6DAA0E0DAE0A6A09A93595353535359595959939A9A -9A9A9A9A9AA0A09AA0A0DAA0A0A0DAA0A0E0DAA0A0DAA0DAA0DAA0DAE0A0DAA0DAA0A0DA -A0DAA0A0E09A53465353538D599A9A9A9AA0A0DAA0A0DAA0A0DAA0DAA0A0E0A0A0A0DAA0 -A0DAA0DAA6A04DE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -7359A0DAA0DAA0DADAA0A0DAA6DAA0A0DAA0DAA6A6A0E0A0A0DADAA0A0A09A9A5F599353 -539AE0A0E0A0DADAA6A0DAA0DADAA0E0A0E0A0A0DAA6A6DAA0A0E0A6DAA0A6A0DAA6DAA6 -DAA0DAA0A0DAA0A09A9A9A9A9A9A9A9A5959599AA0DAA0E0E0A0DADAA6DAE0DAE0A0E0A0 -E0E0A0DAE0DAE0DAA0E0A0A6DADAA0DAA6DAA6DAA6DAA6A0A0E0A0E0A0E0E0A0E0A0A0A6 -A6DAA0E0A0E0E0A0A0DAE0DADAE0A09A9359538D598D595959599A9A9A9A9A9A9AA0DAA0 -A0DAA0DAA0E0A0A0A6DAA6A0DAA6DAA6A0E0A0E0A0E0A0E0E0A0E0A0A0DAA0E0A0534D53 -53535359939A9A9AA0A0A0A0A0DAA0A0DAA0DAA0A0DAA0A0A0DAA0A0A0A0DAA09A54E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E59753E0A0A0DAA0E1A0DAA0 -E0A0DAA0DAE0A0E0A0DAA0E0A0A0DAA0A0A09A9A9A9A935353539ADAA0DAA0E0A0DAA0DA -A6DAA6A0E0A0DAA0E0DAA6DADAA6E0E0A0DAA6DAE0E0A0DAA0DAA0A0A0DAA0A0A0D4A09A -9A9A9A9A5959939A9ADADAA6E0A0A0E0A6A6DAA6A0A6A0E0A0E0A0A0DAA6A0A6A0A6DAA6 -DADAA6A6E0A0E0A0DAA0E0A0DAE0E0A0DAA0E0A0A0DAA0E0DADADAA6A6DAA0DADAA0E0A6 -A0A0A6A0DAE0E0DA93595353538D59935959939A9A9A9A9A9A9AA0A0A0A0DAA0DAA0DAA0 -DAA0A0A0A0DAA6DAE0A0A0A0DAA0A0DAA0A0E0A6A0A0A6DA534D5353535359939A9A9A9A -A0DAA0A0A0DAA0E0A0A0DAA0A0DAA0A0A0DAA0A0A0A0A69355E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E59F53E0A0A7DAA6A0DAA0A0A6DAA0A0E0A6A0DAA0DAA6 -E0DAA0DAA0DADA9A9A9A9A59535393A0E0A6A0DAA6DAA0A6DAA6DAA6A0A6DAA6DAA6DAE0 -A0DAA6A0DADAA0E0A0DAA0DAA0E0A0A0DAA0DAA0A09A9A9A9A9A9A9A59599A9AA0DAE0A6 -E0A6DAA0E0A0A0DAE0A0E0DAE0A0E0DAA0A0E0A0E0DAE0E0A0DAA0A6DADAA0E0A0E0A6DA -A6DAA6A0A6DAA6E0A0DADAA6DAA6A0A6E0A0DAE0A0E0DAA6DAA0DAE0DADAA6A0A0E0E0DA -9A9393535353535993599A9A9A9AA09A9AA0DAA0A0A0A0DAA6A0E0A0A0E0DAA6DAA0DAA0 -E0DAA6A0DAA6A0E0A0A0DAA0DAA0E04D4D4D4D535359939A9ADA9AA0DAA0DAA0A0A0A0DA -A6A0A0A0DAA0DAA0DADAA0DAA0E059E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5AF4DDAA0DADAA0DAA0A6DADADAA0E0DAA0DAA0A6DAA6DAA0A0A0A0A0A09A9A9A93 -59935393A0E0A0DAE0A0DAA0E0DAA6DAA0DAE0DAA0DAA6DAA0A0DAA6DADAA6A0E0A0DAA6 -DAA0DAA0DAA0A0DA9AA09A9A9A9A5959595993DADAE0E0A6A0A0DAA0E0A0E0E0DAA6A0E0 -A0A0DAA6DAA6E0E0A0E0A0A0A6A0E0A0E0DAA6A0E0A0DAA0A0E0A0E0A0E0DAA0DAA0E0A0 -A6DAA6DAE0DAA0E0A0A0E0A0A0E0A0E0A0A0A6A0DADAA6A0A0A6E0A6A09A535353595393 -59599A9A9A9A9A9AA0A0DAA0A0A0DAA0A0DAA0DAA0A0A0E0A0A6A0A0DAA0A0DADAA0DADA -A6DAA6A0DA9A4D464D4D535959939A9A9ADAA0A0A0DAA0DAA0A0DAA0DAA0A0A0A6A0A0A0 -A0A0A0A0E074E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E54DA0E0A0A0A6A0 -DAA0DAA0A0A6DAA0A6DAA0E0A0A0DAA0E0A0DAA0DA9A9A9A9A9359539ADAE0A0DAA6A0E0 -A0E0A0A0DAA6DAA6A0A0E0A0DAA6DADAA6DAA6A0DAE0A0E0A0DAA0DAA0A0A0DAA0A09A9A -9A9A9A5993939A9ADAA0A6A0DADAA6A6DAA6DAA6DAA6DAE0A0DAE0A6DAA6DAA0DADAA6DA -E0DAA6A6DAA6A0DAA0A0DAA6DAA6A0DAA6DAA0A0A6E0A0E0A0E0DAA0DAA0A6A0A0A0E0A0 -E0A0A6DAA6DAA6DADAA6A0E0DAA6A0DAA0DAE0E0DA9A93535353935959599A9A9A9A9A9A -A09AA0DAA0DAA0A0A0A6DAE0A0A0DADAE0A0A6DAA0A6A0E0A0A0A0A0DAA6A0E0A053464D -4D538D599A9A9A9AA0DAA0A0DAA0E0A0A0DAA0A0DAA0DAA0DADAA0DAA0A0A0539EE5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E59AE0A0A0DAA0DAA0DAA1A0DAE0A0A0DADAA6 -A6DAA6A0A0DAA0A0A0D49A9A9A93595359D4E0A0DAA6DAA0A0E0A0DAA6A0E0A0E0A0A0A0 -E0A0DAA6DADAA6DAA6A0E0DAA6DAA0A0DAA0A09AA09A9A9A599359599AA0E0E0A0E0A0DA -A0A6E0DADAE0A0E0A0E0A0A6A0DAE0A6DAE0A0E0A0E0A0A0DAA6DAE0A0A6DAA0A6E0A0A0 -DAA6DAA0A0DAA6E0A0A0A0E0A0DAA6E0A0E0A0E0A0A0A0A6DAA6DAA6A6A0DAA6E0A0A6E0 -A0A0E0A6E0A0DAA6DAA6A0E0A0E0A0DA59535353535993595F9A9A9A9AA0DAA0DAA0DAA0 -A0DAA6DADAA0E0DAA0A0A0A6A0DAA0DAA0A0A0A0E0A0DAA6E0590C4D53535393599A9AA0 -9AA0A0A0DAA0A6DAA0A0DAA6DAA0DAA0DAA0DAA0A0A0A04DDFE5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E574A6A0DADAA6DAA0E0A0DAE0A0A0DAE0A0A6DADAA0DAA0DAA0A0A09A9A -9A9A59595393DAA6A0DAA6DAA0E0E0A0DAA6DAE0A0DAA0E0A0A0E0A0A6DAA0A0DAA0DAA0 -DAA0DAA0A0DAA0D49A9A9A9A9A5959939ADADAE0A0A0E0A0DAA0E0DAA0A6A0A0E0A0E0A0 -E0DAE0A6A0DAA6A0E0A0E0A0E0E0A6DAA6A0E0E0A0E0DAA0E0E0A0DAA6DAE0A6DAA0E0DA -E0A0E0A0E0A0DAA0E0A0E0DAE0DAA0DAA0DADAE0A0E0A0E0DAA0E0DAA0DAA0DAA6DAA0DA -A0DAA6A0E0A0DA9A93535359599359939A9A9A9A9AA0A0A0A0DAA0A0DAA0DAA0A0A0E0A0 -A0DADAA6DADAA6DAE0A0A0A6A0DAA0E0934D4D4D5353939A9A9AA0DAA0A0A0A0DAA0A0DA -A0A0A0A0A0DAA0A0A0A0DADAA0A04DAFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E59E53DAA0 -A0A0A0A0DAA0A0A0A0DADAA0A0DAA0E0A6DAA0DAA0A0DA9AA09A9A9A935393A0E0DAE0A0 -DAA6DAA0A0E0A0DAA6A0DAA6DAA0E0E0A0DAA0A6DAE0A0E0A0E0A0A0A0DAA0A09A9A9A9A -9A9A599A9ADAA6A6DADAE0A0DAA6DAA6A0E0DAE0A0A6DAA0DAA6DAA6DADAA6DADADAA6DA -A6DAA0A0DAA6DAE0A0A0E0A0A6DAA0A0E0A0E0A0A0DAA6DAA6A0A0DAA6A0DAA6E0A0DAA0 -A0E0A0A6DAA6DAA6A6A0E0A0DAA0A0DAA0A6E0A0E0A0A0A6DAA6A6DAA0DAA0E0A0E0A09A -93535353935959595F9A9A9A9AA0A0A0DAA0A0DAA6DAE0A0DAA6E0A0A0DAA6A0DAA0A0E0 -A0DAA0A6DAA0E012464D4D5353939A9A9AA09ADAA0DAA0DAA0A6A0DAA0DAA0A0A0DAA0DA -A0A0DAA6A054E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5DF4DE0A0DAA0E0DAA0A0DAA6DAE0A0 -A0A6DAA6DAA0DAA6A0A0A0DAA0A09A9A9A595393A0E0A0A0A0E0A0DAA0E0DAA0E0A0A0A0 -A6DAA6DAA0A0DAA6DADAA0A0DAA0DAA0A0DAA0A09A9A9A9A9A9A59599ADAE0A6DADAA0A6 -A0DAA6DAA6DAE0A0A6A0E0E0A0E0A6DAA0DAA0A6DAA6A6A6DAA6DAA6DADAA6DAA6A0DADA -A0E0DAA6DAE0A0E0A0E0E0A0E0A0A0E0E0A0E0DAA6DAA0E0A6DAE0A0DAE0A0E0A0E0DAE0 -A0A0E0A6A6E0A6DAA0DADAA0E0DAA0DADAA6DAA6DAA0DAA0A6E0DA9A5353595993599359 -9A9A9A9A9AA0A0A0DAA0DAA0A0E0A0A0A0A0E0A0A0E0A0A6DAA0E0E0A0DAA6A0A09A4D46 -534D5359599A9A9A9AA0A0A0A0A0A0A0DAA6A0A0A0A0DAA0A0A0A0A0A0DAA09A54E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E54DA0A0DAA0DAA0A0E0A0A6DAA0A0DAA0DADAA0A0E0A0A0DAA0 -DAA09A9A9A93595959DAA6DAA0E0DAA0E0A0E0A0A0E0A0A0E0A6DAA0DAA0E0DAA6DAA0A6 -E0DAA0A0A0A0DAA0A09A9A9A9A9A93599A9ADAE0A6A0DAA6A6A0E0DAA6DAA0E0A0A6DAE0 -DADAA0E0A0DAA6A0A6DAE0A0DADAA6DAA6DAA6A0E0A0E0DAA6A6E0A0A0E0A0A0DAA0E0A0 -DAA6DAA0E0A0A0E0A0A6DAA6E0A0DAA6A0E0A0A6DAA0E0A0A6A0A0E0DAA0A0DAA0DAA6E0 -DAA6DAA6A0A6A6DAA6A0DAA6A0A6DAA0A6A6A093535353595959935F9A9AA09AA0DAA0A0 -A0A0DAA0A0DAA0E0A0A0DAA0A6DAA0A0DAA0DAA0DAA0DAE0A04D0C4D4D539393939AA0A0 -DAA0DAA0DADAA0DAA0DADAE0A0A0DAA0DAA0A0A0A0DA59E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -4E9AE0A0A6A0A6DAA0A0E0A0A0E0A0A6E0A0A6DAA0A0A0DAA0A0A09A9A9A93595359E0A6 -DAA0E0A0A6DAA0A6DAA0DAA0E0DAA0DAA0E0A0E0A0A6DAA0E0A0A0A0A0DAA0DAA09A9A9A -9A9A9A599A9ADAE0A6A0DAE0A0E0DAE0A0A6DAA6DAA0E0DAA6A0A6A6E0A0E0A6DAE0DAA6 -A0E0A6E0A0E0A0E0A0A6DAA6DAA6DADAA0E0DAA0E0E0A0E0A0DAA6DAA6E0A0E0DAA0E0A0 -A0DAA0DAA6DAA0DAE0A0E0A0A0E0DAE0DAA6A0E0E0A0E0A0DAA0A0DAA6DADAA0DAA0DAA0 -E0A0A6DAA0DADADAE0A0A093538D5393599359939A9A9AA09AA0DAA0A0E0A0E0E0A0DAA6 -DADADAA0E0A0A6A6A0E0A0A0A6A0E0A053464D535353599A9AA09AA0A0A0A0A0A0A0A0A0 -A0A0A0DAA0A0A0DAA0DAA0A0E0ADE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E59F53E0A0A0A0A0A0A0E0A0DA -A6DAA0A0E0A0DAA6DAA0A0A0A0A0A0A09A9A9359595393DADAA0DAA6A0DADAA0A6DAA0DA -E0A0DAA0DAA6DAA0A0DADADADAA0A0DAA0A0A0D4A09A9A9A9A9359939AE0A6DADAA0E0E0 -A6DAA6DADADAA6DAA6DAA6E0DAA6A0A6E0E0A0E0A0E0A0DAA6A0E0A0A6A6DAA6A0E0A0A0 -E0A0E0A0E0DAA6DADAA6DADAA0E0A0DAA6DAA0E0A0DADAA6DAA6DAA6DAA0E0A0DAA0A0E0 -A0A0DAA6DAE0A0A0E0A0A0E0A0A0DAA6A0E0DADAA0A6DAA6DAA0A6A0A6DAA0E0A0DADAA0 -A0E0E0DA5353598D599359599A9A9A9AA0A0DAA0A0A0A0DAE0A0A0DAA6DAE0A0E0E0A0E0 -A0A0A0A6DAA0E0A0534D4D598D599A9A9A9AA0A0DAA0DAA0A0A0DAA0A0A0DAA0A0DAA0DA -A0DAA09A54E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E54DDAA0DAA0DAA1DAE0A0DAA6DAA0A0E0A0DAA6DAA0A6 -DADADAA09A9A9A9A59935359E0A6A0A6DAA0DAA6DAA6DAA6DAA6A0DAA6E0A0A0E0A0E0A0 -A6A0A6A0DAA0A0A09AA09A9A9A9359599AA0DAA0DAA0A6E0A0DAA0E0A0DAA6E0A0E0A0E0 -A0A0E0A0E0DADADAA6DAA6DAA6A6A0E0DAA6DADAA6DAE0DAA6A6DAA6DAA0E0DAA6DAA6A0 -E0DAA6DAA6DAA6DAA6A0DAA6A6A0DAA6DAA0A0E0A0DAA6E0DAA6DAA6E0A0A0A6A0E0A0E0 -A0DAA6DAA6DADAA0A6A0A6DAA6A0DAA6DAA0A0A0E0A0DAA6E0A0E0A0A0A0A09353535953 -595359939A9ADAA0A0DAA0DADAA6A0A0DAA6DAA0A0A0DAA0DAA0DAA6DAA0A0DAA0A6DA46 -534D5353939A9A9AA09AA0DAA0DAA0DAA0DAA0DAA0A0A0A0A0A0A0A0A0E05973E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E59AA6A0A0DAA0A0A6A0DAA0A0A6DAE0A0A0E0DAA0A6DAA0A0A09AA09A9A9A5953 -93E0A0DADADAA0E0A0DAA6DAA0DAA6DADAA6DAA0DADAA0DAA0DAA0DAA0DAA0A0DA9A9A9A -9A5F935F939AA0DAA6E0A0E0DAA0E0A6DAA0E0A6DAA0E0A0E0A0DADAA0E0A0A6A0A0DAA6 -DAA6DADAE0A0A6DAA6A6DAA6A0A6DADAA6DAA6E0A0A6DAA0E0DAA0A6DAA0DAA6DAA0E0DA -A6DADADAA6DAA6DAE0A0DAA6DAA0A6DAA6DAA0E0E0DADAA6DAA0E0A0DAA6DAA6E0A0DAE0 -DAA0DAA0E0A0DAA6A0E0A0DAA6DAA0E0A0DAE0A0DADA9A5953538D5359935F9A9A9AA0A0 -A0A0A0A0DAA6A0DAA0E0A0E0A0A0A6A0A0DAA0A0DAA6A0DAA653464D535359939A9A9ADA -A0A0A0A0A0A0A6A0A6A0A0DAA0A0DAA0DAA0DAA0DA53ADE5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E599E0A0DAA0A6A0 -DADAA0A6DAA6DAA0A0DAA0DAA0DAA0A0DAA0A09A9A9A9A595393A0E0A0DAA6A0DAA0E0A0 -DAA6DAA6DAA6A0DAA6DAA6A6DAA6DAA6DAA0DAA0A09A9A9A9A9A5993599AA0DAE0A0DADA -A0A0E0A0A6A6E0A0DAA0A6A6DAA0DAA6DAE0A0E0DAE0A0A6DAA6DAA6DAA6DAE0A0E0A0A0 -E0DAE0A0E0E0A0E0A0DAA6A0E0A0A0E0A0A0E0A0A0DAA0DAA0A0DAA0A6A0DAA0DAA6A0E0 -A0DAA6DADAA6DAA6DAA6A0A6DAA0E0A0A0E0A0DAA0E0A6DAA6A0A6DAA6DAA0E0A0DADAA0 -A6DAA0E0A6DAA6A0DAE0A6A6DADA93535953595993599A9A9A9ADAA0DAA0A0DADAA0A0A0 -DAA0A0DADAA6DAA6A0DAA0DAA0A0DAA04D0C53535359939A9A9AA0A0DAA0DAA0DADAA0DA -A0A0DAA0A0A0A0A0A0A0A0A053E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AF53A0DAA0DAA0DAA0A6DADAA0DAA0A0E0A0 -E0A0A0DAA0DAA0A09A9A9A93598D59DAA6DAA0E0DADAA6A0DAA6A0E0A0DAA0DAE0A0DAA6 -DADAA6DAA0DAA0A0A0A0D4A09A9A9A93935993DAE0A6A0DAA6A0E0DAA0DAE0DAA6DAA6E0 -DADAA6DAA6DAA6A0DAA0A6A0E0DAA0E0A0DAA6DAA6A0E0A0E0DAA6A0A6DAA6A0E0A0E0A0 -DADAA0E0DAA0DADAA0DAE0A0DAA6DAA0A0DAA0DAA0A6A0DAA0A0E0A0DAA0A0DAA0DAA0DA -A0DAA6E0A0E0E0A0DAA6E0A0A0E0A0DAA0E0DAA6DAA0DAA6A6A0DAA0E0A0A0DAA0E0A0DA -DADAA0A6DA9A53598D5353599A9A9A9A9A9AA0A0DAA0A0A0E0DAA6A0E0A6A0DAA0DAA0A0 -A0A0A6DAA0A6DA53464D4D9359599A9A9AA0A0A0A0A0A0A0A0A0DAA0A0DAA0DAA0DAA0A0 -A0DA9A54E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5549ADAA0A6A0DAA0A0DAA0A0A6A0DAA6DAA0A0DAE0A0DAA0A0DA9A9A -9A935953DAA6DAA0E0A0DAA6A0DAA6DAE0A0DAA6DAA6A0DAA6DAA0A0DAA0A6A0DAA0DA9A -9A9A9A9A5959599AA0A6A0A0DAE0A0A0E0A0A6E0A0E0A0E0A0DAA6DAA6DAA6DAA6A6E0A6 -DAE0DAE0A0E0A0E0A0A6A0E0A0DAA6E0A0E0DAA0DAE0A0E0A0DAA6A0DAA0A0A0A0A0DAA0 -A0A0A0DAA0A0DAA0DAA0DAA0DAA0DADAA0A0A0DAA0A6DAA6A0E0DAA6DAA0A0DAA0DAA6DA -A0E0E0A0E0A0E0A0A6DAA0E0A0A6A0DAA6A6DAA0E0A0A6DAA0A6A6A0A6DAA6E09A535353 -598D59599A9A9AA0DAA0A0DAA0E0A0A0A0E0A0A0DAA0A6A0E0E0A0E0DAA0A6A0E0A04D4D -4D5359939A9A9AA0DAA0DAA0DADAA0DAA0DAA0A0A0A0A0A0A0DAA0A0A69374E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AD53E0A0 -A0A0DAA0A0A0A0A0DAA0A6A0A0A6DAA0E0A0DAA0DAA0D49A9A59935359DADAA0DAA6DAA6 -DAA6A0DAA6DAE0A0DAA6E0A0DAA0E0A0A0DAA0A0DAA0A09A9A9A9A5993939ADAE0A6DAA0 -A0DAE0A6E0E0A0A0E0A0A0A0DAA6DAA6A0A6DAA0E0A0E0E0A6DADAE0A0A6DAA6DAA6DAA6 -DAA0DAA0A0A0DADAA0DAA0DAA0A0A0DAA0DAA0A0A0A0DAA0A0A09ADAD4A09AA09AA09AA0 -D4A09A9ADAA0A0A0DAA0A0DAA0A0DAA0DAA0A0DAA0DAE0A0DAA0DAA6E0A0E0A0E0A0A0E0 -A0DAA0E0A0E0A0A0DAA6A0A0A6DAA0E0E0A0A6DAA6DADAA6DA935359538D595F939A9A9A -DAA0A0A0A0DAA0A0DADAA0A0DAA6DAA0A0E0A0A0DAA0DAA0E09A4D4D538D59939A9A9ADA -A0DAA0DAA0DAA0A0A0A0A0DAA0A0A0A0A0A0A0A0A0E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E54DA0DAA0A0E0A0A0E0DAA0DAA6DA -A0DADADAA6DAA0DAA0A0A0A09A9A9359538DA0E0DAA6A0DAA0DADAA0E0A0DAA0A0DAA6DA -A0E0A0A6DAA6DAA0DAA0A0DAA09A9A939A59599ADAA6A0DAA0E0DAA6A0DAA0A0DAE0A0DA -E0E0A0E0A0DAE0DAA6E0A0DAA0A0DAA6A0E0A0A0E0A0DAA0E0DAA0DAA0DAA0A0A0A0DAA0 -DAA0DAA0DAA09A9AA0A0D49A9A9A9A9A9A9A9A9A9A9A9A9A9A9AA09A9A9A9A9A9A9A9A9A -A0A0DAA0A0A0A0A0DAA0A0A0A0A0DAA6DAA0A0DAA0E0A0DADAA0DAA6DAA0DAA0A6DAA6DA -E0DADAA6DBE2AEE2DAA0DAA0A0DAA0DA9A595953599359599A9A9AD4A0A0DAA0A0DAA6A6 -A0E0A0DAA6A6DAA0DAA6DADAA0A0A0E09A464D538D59599A9A9A9AA0DAA0DAA0A0DAA0DA -A0A0DAA0DAA0DAA0DAA0DA72E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5729AE0A0A0DAA0A0DAA0A0DADAA0A0E0A0A0A6A0A0E0A0A0DA -9A9A9A9A535359A0E0A0A6A0DAA6DAA6A0E0A0DAA0E0DAA6DAA0A0DAE0DAA0DAA0DAA0A0 -A09A9A9A9A5959599AE0A6DAA0E0A0A0A6A0DAE0A0A6DAA6A0E0A0DAA6DAA6DAA6E0A0DA -A0E0A6A0E0A0E0A0E0DAA0DAA6DAA0A0A0A0A0A0DAA0A0DAA0A0A09AA0A09A9A9A9A9A9A -9A9A9A9ADA9ADAA0A09AA09A9A9A9A9A9A9A9A9A9A9A9A9A9AA09A9AA09AD49AA0DAA0DA -A0DAA0DAA0A0A0DAE0A0A6A0DAA6A6DAA6DAA0A6A0A6DAA6DAA0A0A0A6E3AEAEAFE2A0A6 -A0E0DAA7E1E1E0DA5393935359935F9A9AA09ADAA0A0E0A0DAA0DADAA0A0A0DAA0A6A0DA -A0A0A6DADAA0E0124D4D53538D9A9A9AA0A0A0DAA0A0DAA0A0A0A0DAA0A0A0DAA0A0A0A0 -A0599EE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -AC53E0A0A0DAA0DAA0E0A0DAA0A6DAA6A0DADAA0DADAA0A0A09AA09A9A935353DADAA0DA -DADAA6DAA0A0A6A0DAA6DAA0A6DAA0E0DAA6A0A0E0A0DAA0A0DA9A9A9A935959539ADAA0 -DAA6DAA6DADADAE0A0A0E0DAA6DAE0A0E0A0E0A0DAA6DAA0E0A0E0A0DADAA0E0A0E0A0A0 -DAA0A0A0A0DAA0DAA0DA9ADA9AA09A9A9A9A9A9A9A9AA0A0DAA0DAA0DADAA0E0A0DADAE0 -DADAE0E0E0A0DAA0DAA09A9A9A939A939A9A9A9A9AA09A9AA09AA0A0DAA0A0DADAA0A0DA -DAA0DAA0DAA0DAA6DADADADAA0DAA6DADAE2AEAFADADE4E2E2E3AEAEAEAEAEAEAEE49A53 -5993935993599A9A9AA0A0DAA0A0A0A0A6A0E0A0E0A0DADAA0A6A0E0A0A0A0A0A093464D -535353939A9A9A9AA0A0A0DAA0A0DAA0DAA0A0DAA0A0A0DAA0DAA0A053E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E54DA0DAA0DAA0A6A0DAA0 -E0A0DAA0E0DAA0A0A0E0A0A0DAA0A09A9A9A5993539AE0A6A0DAA6DAA0A6DAA6DAA6DAA0 -A6DADAA6DAA0A0DADAA0A0DAA0A09A9A9A9A935993939AE0A6E0A0DAA0DAA6A6A0DAE0A0 -DADAA0A6DAA0A0A0DAA6DAA0A6A0E0A0E0A0E0E0A0DAA0DAA0DAA0DADAA0DAA0A0A09A9A -9A9A9A9A9A9A9AA0DADADAE0A0A6DAE0A0E0A6E0A0E0A0A6A6A0A6A0A0A0DAA6DAA6DAA6 -A6DADAA0A0A09A9A9A9A939A9A9A9AA0D49A9ADAA0A0A0A0A0A0A0DAA6DAA0E0A0DAA6A0 -A6A0E0A0DAA6E3AFADADADAEAEAEAFAEAEADA4ADA4ADADAEE29A5353598D599A9A9A9AD4 -A0A0DAA0DADADAA0A0DAA0A6A0A6DADAE0A0DAA0E0DAA0E05F464D4D5359939A9A9ADADA -A0A0DAA0A0A0A0DAA0A0DADAA0A0A0A0A0DA9A71E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E59FE0A0A0E0DAA0DAA0A0E0DAA0A0A0E0A0DAA0A0A0 -E0A0A0DA9A9A9A595953DAA0DAA0E0A0A0DAA0A6A0DADAA6DAA0A0DADAA6DAA0DAA0A0DA -A0A0A09A9A9A9A599393DAE0DAA6DAA0E0A0E0A0DAE0A0A0DAE0A0A0DAA0A6DAA0A0DAA0 -E0A0DADAA6DAA0E0A0A0DAA0DAA0DAA0A0DAA0DA9A9A9A9A9A9A9AA0DAA6DAA6E0A6DAA6 -DADAE0DAA6E0DAA6DAA6DAA0E0A6A0A6A6A0A6A0A6DAA0E0A0DAE0A0DAE0A0A6E0A0E0DA -E0DAA09A9A939A9A9A9A9A9A9A9A9AA0A0DAA0DAA0A0A0DAA6DADAA0E0A0DAE4ADADADAE -AEADADAEADADADADADADADADAEAFDAA0A6DA9359935993599A9AA09ADAA0DAA0DADAA0DA -A0A6DAA0DAA0DAA0DAA6A0A0DADAA6DA53464D538D59939A9AA09AA0DAA0A0A0A0DAA0A0 -DADAA0A0A0A0A0A0A0A053E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E553DAA0DAA0A0DADAA0DAA0A0E0E0A0DAA0A6DADADAA0DAA0A09A9A59935359 -E0A6A0E0A0DAE0A0E0DADAA6E0A0A0E0A0E0DAA0DAA6DAA6DAA0A0DA9A9A9A9A5F9359A0 -E0A0A0DAA6E0A0DAA0E0A0A0E0DAA6A0DADAA6DAE0A0E0E0A0E0A0DAA6A6DAA6E0A0DADA -A0A0A0A0A0D49A9A9A9A9A9A9A9AA0DAE0E0A6E0A0E0A0DAA6DAA6A6A0A0E0A0A0DAA6DA -A6DAA6DADAE0DAE0DADADAA6DAA6DAA6A0E0A0A0E0DAA0DAA6A0A6E0DAE0A0A09A9A9A9A -9A9A9A9A9AD4A0A0A0A0A0DADAA0A0DADAA6A0DAE3AFADADAEAEAEADADADAEADADADADAD -AEAEE4E2A0E0DAA0DA9A53598D59599A9A9AA0A0A0A0A0A0E0A0DADAA0A6A0DAA6DAA0DA -A0DAA0A0DAE0DA4D4653539359939A9ADAA09AA0DAA0DAA0A0DAA0A0A0DAA0DAA0A0DADA -5996E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E59993A0A0A0DA -A6A0A6DAA6DAA0A0A0E0A0DAA0A0A6A0A0A0DA9A9A9A595359DAA0DAA6DAA6A0A0DAA0A0 -A6DADAE0A0DAA0DADAA6DAA0A0DAA0DAA09A9A9A9A93595993A0A0E0A0A0DAA0E0A0DAA0 -DADAA6A0DAE0A6A6DAA6DAA0E0DAA6DAA6DAA6A0DAA0DAA0A0A0DAA0DAA0D4A09A9A9A9A -9AA0DAE0DAA6A0DAA0DAE0A0E0A0E0A0DADAE0DAA0E0A6DAA0DAA6DAA0A6A6A0A0A0A6A0 -A0DAA6DAA6DADAA0E0DAA0A6A6DADAE0A0DAA6DAE0DAE0A09A9393939A9A9A9A9A9ADAA0 -DAA0A0DAA0DAA0DAA6E2AFADAEAEAEADADADADADAEADADADAEAEE3DBDADAA0A0A6DAA6DA -538D598D59939A9A9ADAA0DAA0DAA0A0E0A0DADAA0A0DAA6DAA0A0E0A0A0A0DAA69A4D4D -53535359939A9AA0DAA0A0A0A0DAA0A0DADAA0A0DAA0DAA0A0A0DA53E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E553A0A0DADAA0A0E0A0A0DAA0A6DADAA0 -A0A6DAE0DAA0DAA09AA09A598D539AA6E0A0DAA0A0DADAA6A0E0DAA0A0A0DAA6DAA6A0DA -A0E0DAA0A0A09AA09A9A5993599ADADAE0A0DAA6DADAA0E0A6DAA6A6DADAA6A0DADAA0DA -A6DAA6A6DAA6DAA6DADAA6DAA0A0DAA0A0A09A9A9A9A939A9ADAA0E0A0A6A0E0DAA0E0A0 -E0A0DADAE0A0E0A6A0A6E0A0E0A0E0A6DAA0E0DADAE0DAE0A0E0DAA6DAA6DAA0A0E0A6A0 -E0DAE0A0A6A0E0A0DAA0A0A6A0E0E0A0A09A9A939A9A9A9A9AD4A0DAA0A0A0A0DAA0E1AF -ADADADAEAEADADAEADAEADA4AEAFE1A0A0A0A0DAE0DADAA0DAA69A5353935359939A9A9A -DAA0DAA0A0DAA0DAA6A0E0A0E0DAA0A6DAA0A0A0DAA0A0E0934D4D535353599A9A9A9ADA -A0DAA0A0A0DAA0A0DAA0A0A0A0A0DAA0A09A72E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E57393E0DAA0A6A0DAA0E0DAA6A0DAA0A0A0E0DAA0A0A0DAA0A0A09A -93595393E0DAA0A0E0A0E0A0E0A0DAA0A0A6A0E0A0DAA6DAE0A0DAA0A0A0A09A9A9A9A59 -59599ADAA6DAA0A0E0A0DADAA6DAA0E0A0A0DAA6DADAA6A0E0A0E0A0DADAA0DAA6DAA0A0 -DAA0A0DAA09AD49A9A9A9A9AA0DAA6E0A0A0A0E0DADAA6A6DAA6DAA6DADAA6A0E0A0DAA0 -DAA0DAA6DAA0DAA6DAA0A6A0A0DAA6DAA6A0DAA0DAA6A6DAA0E0DAA6DAA6DADADAA6A6A0 -E0DAE0DAA0A6DAE0A09A93939A9A9A9A9A9AA0DAA0DAA0A0E4AEADADAEAEADAEAEAEADAD -AEAEAFE4DBDADADAA0DAA0A6A0E0A0DADA9A59535393599A9A9A9ADAA0A0DAA0A0A0A0DA -A0DAA0A0A0DAA0A0DADAA0A0DAA0E0374D4D5353939A9A9AA09AA0A0DAA0DAA0A0DAA0A0 -DAA0DAA0A0A0DAA653E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AE53 -E0A0A6DAA0DAA6DAA0A0DADAA6DADAA6DAA0DAA6A0A0A0D49A9A595359DAA6A0DAE0A0DA -A0E0A0DAA6DAE0DAE0A0DAA6DAA0DAA0A0DAA0DAD49A9A9A9359939ADAA6DAA6DAE0A0DA -A6A0DAA0DAA0DAE0A0DAA6A0DADAA0E0A0DAA6A6E0A0DAA0E0DAA0A0DAA0A09A9A9A9A9A -A0A0E0A0E0A0E0E0DAA6A0A6DADAA6DAA6DAA6A6DAE0A0E0A6E0A0E0A0DAA6DAA6DAA6DA -DAE0A0E0A0DADAE0A0E0A6DADAA6DAA0A6DAA6DAA6A6A0DADAE0A0A0A0A6E0DAA0A0E0E0 -A09A93939A9A9A9A9AA0A0A0DAE3AEAEAEADAEAEADAEAEADADAEAFAEAEADAEAEE2DAA0DA -E0DAA0A0E0A0A6E09A8D53535953939A9A9AA0DAA0DAA0A0DAA6DAA0A6E0A0DAA0E0A0A0 -DAE0A0A0E053464D4D8D53599A9A9AA0DADAA0A0A0DAA0A0A0DAA0A0A0DAA0DAA0DAA0E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E59959E0DAA6A0A0A6A0DADAA6DA -A0DAA0A0DAA6A0DAA0DAA0D4A09A9A59599AA0DAA0A6DAE0A0DAA6A0A0A0DAA6DADADAA0 -E0A0DAA6DAA0DAA0D49A9A9A9A9BAEE3E0A0E0A0E0DAA6DAA0E0A0A6DAA0DAA6DADAA6DA -A6DAA0A0DAA6DAA6DADAA0DAA0DAA0DAA0DA9A9A9A9AA0DAA6A6DAA0DAA6E0A0DADAA6A0 -A6DAA6A0A6DAA6DAA6A6E0A0E0A6A0A6DAA6DAA0E0A6E0A0DADAE0A6DAA0E0A0E0A6DAA0 -E0A0A0DAA6A0E0DAE0A0A0A6DAA6A0E0A0A0A6DADAA0A0DAE0A0A0E0A0E0A0A0939A9A9A -A09AAEADAEAEAEAEAEAEADAEADAEADADAAADA4A4AFAFE1A0E0A0E0A0A0E0DAA0A6DAA0E0 -DA5353935359599AA0D4A0DAA0A0DAA0DAA6DAE0A0DAA0A0A0A0DAA0DAA0DAE093460C4D -4D5359939A9AD49AA0A0A0A0DAA0A0DAA0A0A0A0DAA0DAA0A053E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E54DDAA0A0DAA6DADADAA0A6DAA0A0E0A0E0A6A0DAA0A0A0 -A0A09A9A9A9393DAE0DAA6DAA0A0E0A0A0E0A6DAA6DAA0A6A0E0A0DAA0DAA0A0A09A9AA0 -9A9A59A19D73E4DAA0E0A0A6DAA0E0A0DADAA0E0A0DAA6A0DAA6DAA0E0DAA6DAA6DAA0A0 -E0A0A0A0DA9A9A9A9A9A9AE0E0A0E0DADAE0E0A0DAA0E0E0A0DADAA6DADADAE0A0E0DADA -A0E0A0DAE0A0E0A0DAA6DAA0DAA0E0A0A0DAA0E0A0DAA0DAA6DAA6DADAA6DAE0A0E0DAA0 -E0DAA6DAE0DAA0E0DAE0A0A6E0DAA0A6E0DAA0E0A0E0A093939A9A9AAEADAEAEAEADAEAD -ADAEAEADADADADADADAEE3E0A6DAA0E0A0A0E0A0A0DAA0DAA6A0E05353538D59939A9AA0 -9AA0A0DAA6DAA0A0A0A0DAA0A6DADADAA0DAA0A0A0DAE0934D599393939A9A9AA1DBDADB -DBDAA0A0DAA0DAA0DAA0A0DAA0A0A09A73E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5729AA6DAA0A0A0A0A6A0DADAE0A0DAA0E0A0DADAA6DADAA09A9A9A9A9A59DAA6A0A0 -DAA0DAA6A0DAE0A0DAA6DAA0E0A0E0A0A0A6DAA0DAA0DA9AA09A9A93599BA3719DE3A0A0 -DADAA0E0A0DAA6A0E0A0E0A0DAE0A6DAA0E0A0A6DAA0DAA6DADAA0A0DAA09A9A9A93A0DA -E0A0A0E0A0A6A0A0A0E0A6E0A0A0E0A6DAA6DAE0A6A0E0A0E0DAA6DAA0E0A0E0A0E0A0E0 -A0E0A0E0A0E0E0A0E0A0DAA6E0A0DAA6DAA6A6DAA6A0DAA6A6DAA6DAA0E0DAA6E0A0A0A0 -DADAA0A6DADAA0A0E0A0DAA0E0A0A09A93A1ADADADADADADADAEADADADADADADADAEAEE3 -DAA0DAA0E0A0E0DAA0DAA6DADAA6DADAA0DA535353535993939A9AA0DAA0A0A0DADAA0DA -A0DAA0A0A0A0A0A0DAE1E1E2A9E3A3A3A3A4A4A4A3A3A3A39D9D9DAEDBA0A0A0A0DAA0DA -A0A0A0DAA0A053E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E553E0A0A0DAA6A0DA -DAA0A6A0A0E0A0A0A0DAA6A0DAA0A0DAA09A9A9A5953E0A0E0A0E0A0DADAA6A0DAA0A0DA -A6DAA0E0DAA6DAA0A0DAA09AA09A9A9A935959DBA37171A4E2DAA0A6DAA0DAA0DADAA0DA -A0E0A0A0DAA6DAA0E0E0A0E0A0DAA0A0DAA09A9A9A9A9ADAE0A0A0DAA6DAE0DAE0E0A0DA -A0DAA6A0DAA6DAA0E0DAE0DAA6DAA0A0DAA6E0A0E0A6DAA0E0A0E0DAA0E0A0A0DAA6DAA6 -DAA0DAA6DAA0DAA6A6DADAA6DAA0A0E0A0E0A0E0E0A0DAE0DAA6A6DAE0A0A6DAE0A0DAA6 -DAE0DAE0DAA0A0E4ADADADAEAEADADAEADADADADA4AEAFE3A0A0A6DAA6DAA0E0A0A6DAA0 -DAA6A0DAA6A0DAE0A053538D5359939A9A9A9AA0DAA0A0A0DAA0E0A0DAA0DADAE1E3E3A4 -621A1A1A14141414141414140D0D0D0D5CAFA6A0DAA0DAA0DAA0DAA0DAA0DADA9A55E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E59ADAA0DAA0DADAA0A6DAA0DADAA0A0E0DAA6 -DAA0A0DAA0A09A9A9A93539AA0DAA0DAA0E0A0A6DADAA6DAE0A0A0E0A0DADAA0DAA0DAA0 -DAA09A9A9A935959A0E1AD717154AEE1DADAA0E0A0E0A0A0E0A0E0A0DADAA6DAA0E0A0A0 -E0A0DAA0A0A0A09A9A9A9AA0E0A6A0E0E0A6DAA6DAA0A6A6DAA6E0A0DAE0A0DAA6DAA6A6 -A0A6DAA6E0E0A6DAA0E0A0DAA6DAA0DAA6A6E0A0E0DAA6DAA6DAA0E0A0E0A0E0A6DADAA6 -A6DAA6DAE0A0DAA6DAA0A0DAA6A0A6DADAA6A0DADAA6A0E0A0E0A0A0A6A0A6DAE1AFAEAE -ADADAEADAEADADADADADAFE4E1A0E0DADAA0DAA6DAA0DAA0DAA6DAA0A6DAA0DAA6A0DADA -53538D5359939A9A9A9AA0A0DAA0DADAA0A0DADAE1AA9D5C14140D0D0D0D0D0D0D0D0D0D -0D0D0D0D1499E4DAA0DAA0A0A0A0A0DAA0A0A0A0A0A0E053ADE5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5AEE0A0DAA6A0A0A6A0DAA0DAA6A0A0E0A0A0DAA0A0DAA0A0A09A9A9A59 -59DAE0A0E0A0E0A0A0DAA0A6DAA0DAA0E0A0DAA6A0E0A0DAA0A09A9A9A9A599A59A0DAA6 -AE71717171E4A6A0E0A0DAA0E0E0A0E0A0DAA6A6DAA0E0A0DAE0A0DAA0A0DADA9A9A9A9A -A0E0DAA0DADAA0E0A0E0A0E0DADAA6DAA0DAA6A0DAA6DAA6DADAE0DAA6DAA0A0DADAA6DA -A6DAA0E0A0E0A0A0DAA6DAA0DAA0DAA0E0A0E0A0DAA6DAA0A6DADAA6DAA0A0E0A0E0A0E0 -A0E0A0DADAE0A6A0DAA6A0E0A6DAA0DAA0DAA0DADAA0E3AEAEAEADADADADAEAEADAEAEAE -DCA0A0DAA0A0A0E0A0DAA6DAA6DAA6DAA0DADAA6A0E0A0E0A0E0A0534D538D59599A9ADA -A0DAA0DAA0A0DAA0E0E3A4140D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D99E4E2A0A0A0A0 -A0DAA0DAA0A0DAA0DAA0DADAA0A054E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E59F53DAA0 -DAA0DAA0A6DAA0A0E0DAA0A0E0A0DAA0DAA0DAA09AA09A59939ADAA6A6A0E0A0DAA6A0DA -A0E0A0DAE0A0DAA0DAA0A0DAA0DAA09A9A9A935F9359DAA0E0A0E47171717171A4A0E0A0 -DAA6DADAA6DAA0E0A0A6DAA0E0A0DADAA0A09AA09A9A9AA0E0A0DADAA0DAE0A0DAA0DAA6 -DAE2E3DBA6DADAA6E0E3A0E0A0E0A0DAA6A0E0DAA6A0DADAA6DAA0A0E0A6DAA0E0E0A0E0 -A0A0A0E0A0DAA0A6A0DAA6DAA6DAE0DAA6DADAA6A6DAA0E0A0E0DAA6DADAE0A0A6DAA0A0 -DAA6A0E0A0DAA6DADADAA0E2AFADAEADAEAEAEADAEAEADAEE4A0A0DAA0A0DADAE0A0E0A0 -A0E0A6DAA6DAA0E0E0A0A6DAA0E0A0DAA0E09A53535353599A9A9AA0D4A0A0DAE2A4140D -0D0D0D0D0D0D0D0D0D0D0D0D0D0D1474AEDD9B939A9AA09ADADAA0A0A0DAA0A0A0A0DAA0 -DADAA0A0A053E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E554A0A0DAA0A6A0E0A0DAA6DAA0A0 -A6DAA0A0A0DAA0A0A0A09A9A9A9359A0A6DADADAA0E0A0A0E0A0E0A0DAA6A0DAA6A0E0A0 -DAA0A09A9AA09A9A5959599AA6DAA0A0E3717171717154E0A0E0A0DAA0A0DAA6DAA0E0DA -A6DAA0DAA0A0A0DA9A9A9A9ADAE0A1E3A6A0E0A6A0DAA6E1E0A0E4AFA7A6DAA0A6DAA0AE -DAA6DAA0E0A0E0DAA0A6DAA0E0A6DAA6E0DAA0DAA6DAA0A0DAA0DAE0E0A0DAA6E0DAE0A0 -DAA6DAA0A0A0E0A0A6DADAA6E0A0DAA0A0E0A0A6A0DADAA6DAE0A6DADAA0DAA0E0A0A6E0 -A0E3AEADAEADAEADADADADADAEE49A9A9AA0A0DAA0A0A0DAA0DAA6DADAA0DAA0E0A0A0DA -A0DAA6A0DAA6DAA0E04D53535953939A9A9AA0A0DAE39E0D070D0D0D0D0D0D0D0D0D0D0D -0D0D0D99DDA29353539A9A9A9AA0A0A0A0DAA0A0DAA0DAA0A0DAA0A0DAA0DA59ACE5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5AE53E0DAA0A0DADAA0DAA6DAA0DAA0A0DAA6DAE0A0DAA0DA9A -9A9A93599AE0DADADAA6A0DAA6DAA0DAA0DAA6DAA0E0A0E0A0DAA0A0D4A09A9A9A5F9359 -9AE0DAA6A0E0E3717171717171E3DAA0E0A0E0DAA6DAA0E0A0A6DAA0DAA0DADAA09A9A9A -9AE0A6A0E2E5A1E0E0A0DAE0A0E3A8AFAFA6DAA0E0A0E0A0E172A7DAA6DAA6E0E0A0E0DA -E0A6DAA0E0A0DAE0A0E0A0DAA6A0E0A0E0A0A0DAA6DAA0A0A0DAA6DAA0E0DAE0A0DAE0A0 -A0DAA0DAA6E0A0DAA6DADAE0A0A0E0A0A0E0DAA6DAA6DAA0A0DAA0E4ADAEADADAEAEADAD -ADAEAE9A9A9AA09ADAA0A0DADAA6DAA6DAA0A0E0A0E0A0DADAA6DAA6DAE0A0A0DAA6DA93 -4D8D538D539A9A9A9AA09AA40D0D0D0D0D0D0D0D0D0D0D0D0D0D0E56A3DB53464D4D5353 -939A9ADA9AA0DAA0A0DAA0DAA0A0DAA0A0DAA0A0DAA054E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E571A0DAA6DAA6A0A0E0A0DAA0A6A0E0A0DAA0A0A0DAA0A09A9A9A9A5993DAA6A0A6A6DA -A0E0A0DADAA6DAA6DAA0DAA0DAA0DAA0DAA0A09A9A9A5993599ADAA0A0DADAA0E3719571 -717171A3E2A0A0DAA0A6DAA0E0A0DADAA0A0A0A0A09A9A9A9A9ADAA0DAE0A2AFE4A0A0E0 -A6A0E0AFAFAFA6DAA0E0A0DAA0E0E44DDCE0A0E0A0A0A0E0A0A6A0DAA6DAA0E0A0A0DAA0 -DAA6DAE0A0DAA0DADAA0DAA0DAA0DAA0DAA0E0A0A6A0DAA6DAA6A6DAA6DAA0DADAA6DAA0 -A6A0E0DAA0DAE0A0A6DAA0E0A0E0DAA6DAAEADADADADAEADAEAEADAFA39BDCDCDCDAA09A -DAA0A0DAA0DAA0E0DAA0DAA0DAA6A0DAA6DAA0A0DAE0A0DAA0A0594D535353939A9AA09A -DB130D0D0D0D0D0D0D0D0D0D0D0D4F5CA3E2E0DA53064D4D538D599A9A9AA0A0A0DAA0A0 -DAA0DAA0A0A0DAA0A0DAA0DA59E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AE53E0A0A0A0DADAA0A0 -A0A0DADAA0A0A6A0DADAA0A0A0DA9AA09A9A59A0E0A0DAA0A0E0A0DAA0E0E0A0A0DAA6A0 -A6DAA6DAA0DAA09A9A9A9A9A9A5993A0E0A0A0A6A0E0E371A37171717171AEE1DAA6DADA -A6DAA0E0A0A0DADAA0DA9A9A9A9A9AE0A0E0A0E0A2ADE5E0A0DADAA0E2AFAFE4E2E2E3A1 -E0A6DAE3E500A2E0A0E0A0E0A0DAE0DAA0A0E0A0E0A0DAE0A0E0A0DAA0A0DAA0DAA0A0A0 -A0DAA0DAA0DAA0A0DAA0DAA0DAA0DAA0A0DAA0E0A0DAE0A0E0DADAA6A0E0A6A0DAA6A0E0 -A0DAA6DADAA0E2AEADAEAEADAEAEADADAEAFAEAEAEAEAEAFDBA0A0A0DAA0DAA6DAA0A0E0 -A0E0A0DADAA6DAA6DAE0A0A0DAA0E0E0DA534D535359939A9ADAAA0D0D0D0D0D0D0D140D -0D0D0D9DE3E2A0A0A0A0DA4D0C4D4D5393599A9A9AA0A0A0DAA0A0A0A0DAA0DAA0A0A0A0 -A0A09AE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5559AE0A0A0E0A0A0A6DADAE0A0A6DAA6A0DAA6A0 -A0DAA0A09A9A9A599ADAA0DAA6DADAA0E0A0E0A0A0DAA6DAA0E0A0DAA0A0DAA0DAA09A9A -5F935959DAE0A0DADAA0DAA0E3715B737171717171E4E0A0A0A0DAA6DAA0E0DAA0A09AA0 -9A9A9ADAE0A6DADAA0E09C73E5A0DAA6A0E0AFE4E4AFAFAFE3E1DAA0E2E5E5009CE0DAA0 -E0A6DAA6A0A6E0E0A0DAA0DAA6A0DAA0DAA0DAA0DAA0A0A0A0A0A0A0A0A0A0A0DAA0A0A0 -A0DAA0DAA0DADAA0E0A0DAA6A0DAA0A0A6DADAA0DAA0E0A0A6DAA0E0A0DAE0A0E2AEADAD -ADAEAEADAEAEAEADADADA4A4AEAFA19AD4A0A0A0A0DAA0DAE0A0DAA0E0A0A0DAA0DAA6A0 -A0DAA6DAA0A0A6DA4D53538D59599AE35B0D0D0D0D0D0D0D0D0D0D55ADE1A0A0A0DAA0DA -A69A0C464D5353939A9AA0A0DAA0A0DAA0DAA0A0DAA0A0A0DAA0DAA0E0AEE5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E54CA0E0A0DAA0DADAA0A0E0DAA6DAA6DAA0A0DAA0DAA0A0A09A9A9A5F59E0A0 -DAA0A0DAE0A0DAA6DAE0DAA0E0A0DAA0DAA0DAA0A0DA9A9A9A935953D4DAA0DAA0DAA0DA -A0DAE371719C9D7171717171A3E2A0A0DAA0DAA0DADA9A9A9A9A9AE0DAA0DAE0A0A0E0E1 -380CE5AFA6DAA8AFAFE4AFAFAFAFAFE3A8AFAFAFE50095E1A6DAA0A0E0A0A6DAA6A0DAA0 -A0DAA0A0A0A0A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9AA0A0A0A0A0A0DA -A0DADAA0DAA0A0A6E0DAA0DAA6DAE0A0DAA6DAA0A0E0E3AEAEAEAEADAEADADADAEADADAD -AEAF9A59939A9A9AA0A0A0A0DAA0E0A0E0A0DAA6A0DAA0DADADAA0DAA0E0DADAA0A0E09A -4D5353D5A4130D0D0D0D0D0D0D0755AEE5A0A0A0DAA0A0DAA0DAA0DAA04D0C4D5353939A -9AA0A0DAA0A0DAA0DAA0A0DAA0A0A0A0A0DAA053AEE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AE53E0A0DAA6 -A0A6A0DAA0A0A0DAA0DAA6DAA0A0A0A0DAA0A09A9A9A599AA0E0A0E0A0E0A0DAA6DAA0A0 -A0E0A0E0A0E0A6DAA0A0A09A9A9A59935959E0A6DAA6DAA6A6DAA6A0E3717154E4717171 -717171AEE1E0A0A0A0DAA09AA09A9A9ADAA0E0A0A6DAA6A0DAE10D00E4AFE4E3AFAFAFE4 -AFE4AFAFAFAFAFAFAFAFE55472E1DAA6E0E0A0DAA0DAA0A0A0A0A0A0A09A9A9A9A9A9A9A -939393939359935959939A59599393939A9A9A9A9A9A9A9ADBDAA0A0A0DAA0E0DAA0A0E0 -A0DAA0E0DAA6DAA0E0A0A0DAE3AEADADAEADADAEAEAEADADAEAEE3E0E09A93599A9AD4A0 -DAA0A0DADAA0A0E0A0DADAA6DAA6A0A0E0A0DAA0A0A0E0A0DAE0934D93E31A0D0D0D0D0D -0D0D0D73ADA4E2A0DADAA0DAA0A0DAA0DAA0E09A4D538D9393939AD4A0A0DAA0A0A0A0DA -A0A0DADAA0DAA0A0A0A072E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5739AA6DAA0A0DAA0DAA0A6DAE0A0A6A0 -DAA0A0DADAA0A0A09A9A9A5993A0DAA0DAA0DAA0E0A0A0DAA6DADAA0DAA0DAA0DAA0A0DA -9AA09A9A93595993A0DAA0DAA6DADAA0DAA0E2717171A39D717171717171E4A0DADAA0A0 -A09A9A9A9ADAA0DAA0E0DAA0DADAA6E23700DDE4AFAFAFAFAFAFE4AFAFAFAFE4AFAFAFAF -AF555AE1A0DAA0A0DAA0DAA0A0A0A09A9A9A9A9A9A939393939359939353535353539ADD -595353535353599393939A9A9A9AA1E4A0A0A0A0DAA0A0DADAA0DAA6DAA0A0DAA6DAA6DA -E0A0E3AEADAEADADAEAEADADAEAEE3A7DAA0A0DAA093939A9A9A9ADAA0A0A0E0DAA0E0A0 -A6A0DAA0DADAA0DAA6A0DADAA0DAA0DADA4DDC620D0D0D0D0D0D0D0D0DA45CA3DAA0A0A0 -A0A0A0DAA6E0E1E2E2E2DCDDDDE3DDDDDDE2DAA0A0A0DAA0DAA0DAA0A0A0A0A0DAA0DADA -59AEE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E553E0DAA0A0E0A6A0E0A0DAA0A0A0DAE0A0A0DAA0A0A0DA9A9A9A -93599AE0A0DAA6DAA6DAA0A6DAA6DAA0A0E0A0E0A0E0A0DAA09A9A9A9359595359DAA0E0 -A0E0A0DAE0A0E0A0E27171719CE571717171717172DAA0A09ADA9A9A939ADAA0A6DAA6DA -A6DAA6A6DAA75B0C9DAFE4E4E4E4AFAFAFAFE4E4AFE4AFAFE4AFAF74A3E0DAA0DADAA0A0 -A09A9A9A9A9A9A9A9A5993535353535353535353534D53DBE4E54D539393949B9B935953 -535993939AAFDC9AA0A0A0A0A0DADAA0E0A0DAA6A0E0A0DAA0DADAA0E3AEAEAEAEAEAEAD -ADADE3E1A0DAA0E0E0A0E0A093599A9AA09AA0DADAA0A0A6DAA0A0DAA6A0E0E0A0E0A0DA -A0A0DAA6DAA0E09AAA14070D0D0D0D0D0D0772149DE0A0A0DAA0DAE0E1E2E3A362625C5C -551A1A1A1A1A1A62A4E2A0DAA0DAA0A0A0A0DADAA0DAA0A0A0A09A73E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -9AA6A0DAA0A0DADAA0DAA6DADAA6DAA0DAA6A0DAA0DA9AA09A9A5959DAA0DAA6DAA0DAA6 -DADAA0DAA6DAE0A0DAA0DAA0DAA09AA09A9A5959598DDAA6DAA0E0A0DAA6A0DAA0DAE271 -71719CE59D717171717171E2A09AA09A9A9A9AE0A6DADAA6DAA0DAA6DADAA6E1955B74AF -E4AFAFAFAFAFAFE4AFAFAFAFAFE4E4AFAFAFE4A0A0DAA0A0A09A9A9A9A9A599359595953 -53535353535353595A5A5A5ADCE4E4AE93DCE3E3E3E3E3E3DD9B934D53539AE4AFA19A9A -9AA0A0A0A0DAA0DAA0DAE0A0DAA6DAA6A0E0E3AEADAEADAEADADAEAFA0A0E0A0DAA0A0DA -A0E0A093939A9A9ADAA0A0DADADAA0E0E0A0DADAA0A0DAA0DAA6DAA0DAA0DAA0A0E35B07 -0D0D0D0D0D0D07559D73E2A0DAA0E0E2E3A3625C140D0D0D0D070D0D0D0D0D0D0D0D0D9E -E2A0DADAA0DADAA0A0A0DAA0A0DAA0DAA653E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5DAA0DAA6DADAA0A6DAA0 -A0A0A0DAA0A6A0DAA0A0DAA09A9A9A93599AE0DAA0DAA6A0E0A0A6A0E0A0DAA6A0E0A0E0 -A0DAA0A0D49A9A9A9359539AE0A0DAA0A0E0A0DAE0A0E0A0E17171719C9DE47171717171 -71E4DB9A9AA09A9AE0A0DAA6E0A0E0A0E0A0E0DADAE15595AEAFAFE5AFE4AFAFAFAFAFAF -E4E4AFE5AFE4E4AFE3A0A0A0A09A9A9A9A9A599353535353535A5A5A5B5B61625C626263 -5CA4E3E3E3A4E5E4E3E2E3E3E3E3E3E3E39B4D4D9BE3E4DD9A9A9A9AA09AA0A0A0A0E0A0 -A0DAA6DAA0DADAA0E3AEAEADAEADAEAEAEAFDAA0DAA6DAA0A0E0A0DAE0A0599A9A9A9A9A -A0A0A0DAA0DADAA6A0E0A0A0E0A0DAA0DAA0A6DAA0DAA09E0D0D0D0D0D0D0D0D14620DE2 -A0DAE1E2A35C140D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D4F9EDCA0A0A0A0A0A0DAA0A0 -A0DAA0A0DAA0DA9A73E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E553DAA0DAA0A0DAA0DAA0DAA0A0A6A0DADAA6A0A0A0 -DAA09A9A93599ADAA6DAA0E0A0A6DAA0A6A0E0A0DAA6A0DAA6DAA0A0A09A9A9A59935359 -DAA6DAA0E0A0A0DAA0E0A0DAA6DAE07171719C950671717171717171A3E29393A0DAA0DA -A0DAA6DAA6DAA0DAA6A0DAE0A3AFAFE5540654E5AFAFAFAFAFAFAFE44E000CE4AFAF9A9A -9A9A9A93535353535961626263635D21212121216263635C5C21ADE3E3E3E4AFE3E3E3E3 -E3E3E3E3E3E3E3E3DD9CE3E3E3E34D53535993939A9AA0A0A0A0A0DAA0DAA0DADAA0E2AE -ADADAEAEAEAEE3E0DADAA0E0A0DADAA6DAA0E0DAE09A93939A9AD4A0A0DAA0A0A0DAA6A0 -E0E0A0E0A0DAA0A6A0E0A0DAE30D0D0D0D0D0D0D0D0D0755E5A35C140D0D0D0D0D0D0D0D -0D0D0D0D0D0D0D0D4F5C9DA3DDDBA09AA0DAA0DAA0DAA0A0DADAA0A0DAA0A0A0A0E09399 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E59E59A0A6DAA6DAA0A0A6DAA0E0A0DADAA6A0DAA0DAA09A9A9A9A599ADAA6DAA0 -A0A0E0DAA0E0DADADADADADAE0A0DAA0A0DA9A9A9A9A9359539AE0A0DAA6A0DAE0A0E0A0 -E0A0DAA0E0717171719C00AD71717171717171AE9B9AE0A0E0A0E0A0DAA6DAA0E0A0DAE0 -A0DAE0AFAF730000005AE5AFAFAFAFAFAF5500000095E5DD9A9A93935953535A5B626221 -2121212121212121212163E4DEAEA463E4E3E3E4E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3AF -E3E3E3E34D4D4D5353939A9A9A9AA0A0A0A0DAA0DAA6A0DAE1AEADAEAEADAEE4A6A0A6A0 -E0A0DAA6A6DAA0E0A0A0A0DA93599A9AA0A0DAA0DADAE0A0DADAA0A0DAA0DAA6DADADAA0 -DAE1A4070D0D0D0D0D0D0D0755E4A40D070D0D0D0D0D0D0D0D0D0D0D070D14555CA3DDE2 -A29A93939A9ADA9AA0A0DAA0DADAA0A0DAA0A0DAA0A0DAA0A054E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E572A0DAA0A0DA -A6DADAA0A6DAA0DAA0A0DAA6A0DAA0DAA09A9A9A59A0DAA0E0A0E0A0A0E0A0A0DADADADA -E4E3A0DAA0DAA0A09A9A9359935393DAA0E0A0DADAA6A0DAA0E0A0E0A0DADA717171719C -36E37371717171717171E3DAA0A6DAA0DAA6DAA0DAA6DAA6DADAA6A0E0AFAF3800000000 -A3AFAFE4AFAFE5000000000CE4AF93598D53535B62636321212121212121212121212163 -ADE3E3E3E3DEE3E3E4E4E3E3E3E4AFE4E4E3E3E3E3E3E3E3E3E3E3E3E3E35B544D539BE3 -E4A29B9A9A9AA0A0A0A0DAA0A6A0E1AEAEAEADAEAFAFDAE0DADAA0DAA0DADAA0DAA0E0DA -DAA6DA9A939A9AD49AA0A0A0A0DAA6DAA6A6DAA6DAA0DAA0DAA0A6E31A0D0D0D0D0D0D0D -0D55A45B0D070D0D0D0D0D0D0D0D0D0D0D14559DA3E3E2E0A0534653599A9A9AA0DAA0DA -A0A0A0A0DAA0A0DAA0A0DAA0A0DADA59AEE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AF53E0A0DAA0DAA0A0A6DADAA6A0DADAE0 -A0DADAA0A0A09A9A9A9A93DAA6DAA0DAA0E0DAA0E0DADADADAE2A49DE0A0A0A0DA9A9A9A -5F935993A0A6DAA0DAA6A0DADAA6DAA0DAA0DAA6DA71717171A33754E471717171717171 -A3E2E0DAA0E0A0DAA0E0A0DAA0DAA6A6DADAA7AFAF36000000004EAFAFAFAFAFE5000000 -0000E4AF9B53535A62635D212121212121212121212121215C63E4E3E3E3E3E3E4E3E3AF -AFAFE4AFE3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3215CA3E3E3E3E3E4E59B939A9A9AA0A0 -A0DADADAA7AEADAEAEE4ADAEA6DAE0A0E0A0E0A0A0E0A6DAA0E0DAA0E0A093939AA09ADA -A0DADAA0DAA0DADAA0DAA0E0A0DAA6DAE2620D0D0D0D0D0D0D070D5B14070D0D0D0D0D0D -0D0D0D0D0D1456DDE2E2DADADAA0DA934D4D53939A9A9AA0DAA0DADAA0DAA0DADAA0DADA -A0DAA0A0DA9A72E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5749ADAA0A6DAA6A0DADAA0A0A0DAA6A0A0DAA0A0DAA09A9A9A9A93 -A0A6DAA0A0E0E0DAA0A6DAA0DADAA0E29D71E4DBA0DA9AA09A9A93598D59E0DAA6DAA6DA -E0A0A6DAA0E0A0DAA6DAA073717154DD3806DD7171717171717154E4DADAA6DAA6DAA6DA -A6DAA6DAA0A0DAA0E3AFAF360000000000E5AFAFAFAFE50000000000A3AFAE5B5C636321 -21212121212121212121212121215C63AFE3E3E3E3E3E4E4E3E4E3E3E4E3E3E3E3E4E3E3 -E3E3E3E3E3E3E3E4E3E35CADE4E3E3E3E3E3E4DD93539A9A9A9AA0A0A0A0DAAFAEAEAEAD -AEE2DAA0A0DAA0DAA0DAE0A0DAA0E0A0A0E0A0E0DA939A9A9A9AD4A0DAA0DAA6DADAA0E0 -A0DAA0A0A0E0A4130D0D0D0D0D0D0D0D0D0D070D0D0D0D0D0D0D0D0D14559DDDE2E0A0A0 -A0A0A0A0DAA04D4D8D939A9A9ADA9ADAA0A0DAA0A0A0A0DAA0A0A0DAA0DAA0E053E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E54D -A0A6DAA0DAA0DAA6A0DAA6DAA0DAE0A0A6DAA0A0DA9A9A9A5959DADAA6DAE0A0A0A0E0DA -A0E0DADAA0E1AD7171E4DBA09A9A9A9359935993A0A0DAA0DAA6A0E0DAA0E0A0E0A0DAA0 -E09D717171E3463653E4717171717171719DE2E0A0DAA0DAA0A0DAA0DAA6DADAA6DAE4AF -AF360000000000E5AFAFAFE5AD0000000000A3E4E5632121212121212121212121212121 -212121215CDEE4E3E3E3E3E3E3E4E3E3E3E3E4E4E4E4AFE3E3E3E3E3E3E3E3E3E3E3E3E4 -ADE4E3E3E3E3E3E3E4A3534D59599A9A9AA0A0A0DAE4AEAEADAEE4A0A6DADAA6DAA6DAA6 -DAA0E0DAA0DADAA0DAA0E0A0939A9A9AA0A0A0DAA0DAA0A6DAA0DAA6DADAE0E3550D0D0D -0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D070D9DDDE2E1DAA0A0DADAA0DADADAA0E0934D5393 -939A9AA0A0A0DAA0DAA0DADAA0A0DAA0DAA0DAA0A0DA9AE5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E554A0DAA0A0DAA0A6DAA6DADA -A0DAA0DADAA6DADAA0DA9A9A9A93599ADAA6DAA6DAA0A0DAE0A0DADADADADAA6E3737171 -71AEE39A5F9359539ADAA0DAA0DAA6DADAE0A0E0A0DAA0DADAA6DAE3717171DD5438374D -E47171717171717173DAA0DAA0DAA0A0DAA6DAA6DAE0A0E2AFE4AF4E0000000000DDE5AF -AFE5550000000000E4AFAFAF212121212121215D6321212121212121212163E4E35B064D -E3E3E3E3E3E3E3E3E3E3E3E3E4AFE4E3E3DDE3E3E3E3E3E3E3E3E3E3E3E3E3A3E3E3E3E3 -E45A4D4D535359939AA0A0E3AEAEADAFE0A0A0DADAA0E0A0DAA0A6DADAA0A0E0DAA0DAA6 -DAA0DA59939A9AD4A0DAA0DAA6A6DAA0DAA0DAE0A4130D0D0D0D0D0D0D0D0D070D0D0D0D -0D070D72ADE2E1A0DAA0DAA0DADAA0DAA0DADADAA0DAE093465393939A9AA0A0A0DAA0DA -A0DAA0DAA0DAA0A0DAA0DAA0DAADE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5DF53E0A0DADAA6A0DAA0DADAA6A0E0A0A6A6DAA0A0A09A -9A9A9A59939AA6DAA0DAA0DADAA6A0A6DAA6DADAA0A0E29D7171717171E459935393DAE0 -DAA6DAA6DAA0A6A0DAA0DAA6DAA0A6DAA0E3717171A395404037A27371717171717171E0 -A0E0A0E0A0A0DAA0DAA0DADAA0E4AFAFAF7200000000009CE5AFAFE5550000000046E4AF -AFE421212121A4AEADA4A4A4A46321212121212121E4E34D00004DE3E3E3E3E3E3E3E3E3 -AEE4E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E4A306E3E3E3E3E463544D4D4D5353939A -9AE3AEAEAEE3A0A0DAA6A6DAA0DAA6DADADAA6DAE0A0A0E0DAA0DAA6A6D453939A9A9AA0 -DAA0DADAA0DAA0E0A0E31A070D0D0D0D0D0D0D0D0D0D0D0D0D0D0755DDE2E0A0A0DAA0DA -A0DAA0A0DAA0DAA0A0A0DAA0A0DA538D59939A9A9AA0DAA0DAA0DAA0DAA0DAA0A0DAA0A0 -DAA0DA72E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5739AE0A0A0A6DAA0E0A0A0A0DAA0A0DAA0DAA0A0DAA09A9A9A59539ADADAA0E0A0 -E0A0A0DADADAA0DAE0DADADAE0AE717171717171DC93539AA6A0A6DAA0DAA0E0DADAA6DA -A6DAA6DAA0DAA0E27371719C9C40403653E471717171717171E3A0A0DAA0DAE0E0E0A6DA -A0A0E1AFAFE4AFAC000000000073E5AFAFE5550047000054E5AFAFAFAFAEAE73540C0606 -000638559D9E6321212121E4E24D36370094E4E4E4E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3 -E3E3E3E3E3E3E3E3E3E338009BE3E3E3E463625B534D4D4D53939ADDAEAEAEE2A0DAE0A0 -DAA0E0A0DAA0A0A6DAA0DADADAA0A6DAA6DADAE09A93939AD4A0A0DAA0A0E0A0DAA0DA62 -0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0713DCA0A0A0DADAA0DAA0DAA0DADAA0DAA0DAA0A0 -DAA0DAA693538D93939A9AA0A0DAA0A0DADAA0DAA0DADAA0DAA0A0DAA053E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E553A0A0DAA6DAA0 -DAA0E0A0A0A6DAA6DAE0A6DAA0A09AA09A935953A0E0E0A0A0DAA0E0E0A0A6A0E0A0A0DA -A6A0A0E3717171717171A4E49ADADAA6A0E0A0E0A0DAA0A6DAA0DAA6A0E0A0E0A0E19D71 -7171A340460640E372717171717171E4E0DAE0E1E1A8A2A8E2E2E1E0E3AFAFAFAFE53600 -379C3954E5AFAFE55595E574009DE5AFE5E5AA5B3600000000000000004E9DE463212121 -21AEE35400364694E3E3E3E3E3E3E3E4E3E3E3E4E3E3E3E3E3E4E4AFE3E3E3E3E3E3E454 -004054E3E3E3AEA49E63625A4D46535359DCAFAEAEA7DAA0DAA0DAA0DAE0A0E0DADAA6DA -A6DADADADAA0DAA0A0A0E09A539A9AD49AA0DADAA0DAA6DAE10D0D0D0D0D0D0D0D0D0D0D -070D0D070D72DD9A9AD4A0A0A0A0DAA0A0E0A0A0DAA6DAA0DADAA0DAA0DAA04D5353939A -9ADAA0A0DAA0A0A0DAA0A0A0A0A0DADAA0A0DA9A99E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AD59E0A0DAA0A0A0A6DAA0DADADAA0DAA0A0 -A0DAA0DA9A9A9A935993DAA6A0E0DAA6DAA0A0A0DADAA0DADAA6DADAA0E2717171717171 -719DE4E1A0DADAA0E0A0DAA6DADAA0E0A0DADAA0DAA0E0A0DD717171DD403838368EAD71 -717171717173E3A7A25B4E070606060D4EA2E4E5E5AFAFE5550054E5E439E5AFAFE573E4 -E5A437E4AFE5AA390000000000000000000006E3E5A45D2121212163E4A24D9CE4E4E4DD -E3E3E3E3E3DDE3E3E3E3E3E3E4AFAFAFAFAFAFE4E3E3E3E3A34040468EE3E3E3E3E3E4E4 -9E215B534D4D53DCAFADAFA0A0DAA0DADAA6DAA0DAA0A6A0DAA0DAA0A6A0A6DAA6DAE0DA -A0DA93939AA0D4A0A0A0DAA0DAA0E3070D0D0D0D0D0D070D0D0D0D0D3972A3AFAE9A9AA0 -D4A0DADAA0DADAA0DADAA0DAA0DAA0A0DAA0DAA0DA46538D59939A9ADAA0DAA0DADAA0A0 -DADADADAA0DAA0DAA09A5AE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5729AE0DAA0A0A6DADAA0E0A0A0A6A0E0A0DADAA0A0A09A9A9359539A -A6DAE0A0A0DAA0DADAE0A0A6DAA6A0DAA0A0A0E171A371717171717171AEE2DADAA0DAA0 -E0A0A6A0E0A0DAA0A0DAA6DAA0A0E3717171E34046404038E371717171717154AF130000 -00000000000000000654A3E4E5E5E4004EE5E537E5AFAFE59DE4E59D95E5E53900000000 -00000000000000000000379DAE212121215CA4E4E4E5AFAFAFE4E4E3E3E3E3E3E3E3E3E3 -E4AFAFE5AFAFE3DDE3E4E3E3E3E3DE9CDDDDE4E4E3E3DDE3E3E4DE9E5C624D4D4DA2AFAE -AEA0A0A0DAA0A0DAA0E0A0E0DADAA6E0A0E0DAE0DAA0DADADAA0A0E0A0939A9A9A9ADAA0 -DAA0DAE2620D0D0D0D0D0D0D0D0D0D0D0D0D5B625514A49A9A9AA0A0A0A0DAA0A0DAA0A0 -DAA0DAA0A0A0DAA0DAA0E04D4D538D93939AA0DAA0A0DADAA0DAA0A0A0A0A0A0DAA0DAE0 -53DFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E559E0 -A0DAA0DAA0E0A0A0E0DAA0A6DAA0DAA0DAA0A09A9A9A93599AA0A0E0E0A0DAA0DAA6E0A0 -A0E0A0E0DAA0A0DAA0DA7171E4717171717171717173E2A0DAA0E0A0A0E0A0DAA0DADAA0 -E0A0DADAA1A37171A336403738374D717171717171715AA3000000000000000000000000 -000000A3E5AF069DE5A3AD9D5B555B9DA3AEE5A400000000000000000000000000000000 -000000A3AEE5DEDDA4ADE3E4AFAFE5E5AFAFAFAFAFAFAFAFAFAFAFE59D0695E5AFE3E3E3 -E3E4944D063606400C53DDE4E3E3E3E3DDE4E499635C549CAFADDD9A9AA0A0A0A0DAA0E0 -A0E0DAA6DAE0A0DAE0A0E0A0DAA0A0DAA0DAA0DA939A9AD4A0DAA0DAE355060D0D0D0D0D -0D0D0D0D0D0D0D0D070774E459939ADAA0DBDBE2E2A8E3E3E3DDE3E2E3E2E1A0DAA0DAA0 -DA93464D4D53939A9A9AA0DAA0A0DAA0A0DADAA0DADAA0A0A0DAA053E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E59AE0A0A6DAA0DAA0E0DAA0DA -DADAA6DAA6DAA0A0DAA09A9A5953A0E0A6DAA0DAA6DAA6DAA0E0DAA0DAA0A6DADAA0A09A -9D719CE47171717171717171AEE3E0A0DAA0A0DAA0E0A0E0E0A0DAA0DAA0DAE371719C06 -38403740377171717171717171E43700000000000000000000000000000095E5E4A35B0C -0606063636383737374E5B00000000000036475454543600000000003600E3AE544D9B9E -AEE4E4AF5495E5AFE4AFE4AFE4AFAFAFE44E000046E5AFDDE3E4E4943600374037373638 -94DDE4E3E3E3E3E3E3A4212121A4E4ADA2939A9AA0A0DAA0DAA0DAA0A0DAA0A0E0A0A0DA -A0DAA6DADAA6DAA6DAE093939A9AD4A0A0E29D0D0D0D0D0D0D0D0D070D0D0D0D0D070D73 -E3A093DCDDA3A39D9D5C5B55551A1A141A555B62ADDAA6DAA0DAA0A04D4D5353939A9ADA -9AA0A0A0DAA0DAA0A0A0A0DAA0DADAA0DA59AEE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E0A0A0DAA0DAA0DAA0A0A6A0A0A0DAA0DAA0A0DA9A9A -9A935993DAA0DAA0A0E0A0E0A0DAE0A0A0DAA6DADAA0A0A0DAA0AD7171AEAC7171717171 -71714EA3E4E1A0DAE0A0E0A0DAA0A0DAA0DAA0A09AE2727154464038384036A371717171 -717171A2730000000000000000000000000000389C9C0D0000959CDCE2E2E2E2DC9C9539 -000000000000399C54380606000000000000360000A3460006AEAFDEAFE50006E5E5E5E5 -AFAFE5E5E5AFAE00000040E4AFE4E4A24D36363740404037373706469CE3E3E3E3E3E3E3 -629EADAEAFAE9C53599A9AA0A0DAA0DAA6DADAA0E0DAA0E0DAA6DAA6DAA0DAA0DAA0DAA0 -A093939A9A9ADAAE140D0D0D0D0D0D0D0D070D0D0D070D14ADE4E2E3A35C1A140D0D0D0D -0D0D0D0D0D0D0D0D0D0D13A7DAA0DAA0DAE059464D538D9A9A9AD4A0DADAA0DAA0A0DAA0 -DAA0DAA0A0A0DA9A73E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E59EE0A0DAA0E0A0A0A6DADADAA0A0E0A0E0A0DADAA0A09A9A9A939AE0A0E0A0A0DA -A0DAA0E0DAA0E0A0DAA0A0DAA0DA9A9AE3557171E59D71717171717171719CAFE2A0A0DA -A0E0A0E0DAA6DAA0A09A9ADB9D7171463746404036E37171717171717154A30000000000 -0000000000000000005406000095E3E1E0E0E0E0DADAE0E0E1E2DD0000004EDDE4000000 -0000000000000000009C37549C37364DE3E5AFE40000A3E59D72AFAEA35B54E45B000000 -46E4E5E45A0636403640364036364040363794E4E3E3E3E3E3E3AFAFE4E4AFAEDD939393 -939AA0DAA0DAA0DAA0E0A0E0A0DAA6DAA0DAA0E0A6DAA6DAA0E0DA9A939A9ADAE35C0D0D -0D0D0D0D0D0D0D0D0D0D0D0707E5E5A462550D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D07 -14DAA0DAA0DAA0DA9A464D5353939A9AA09AA0A0DAA0DADAA0DAA0DAA0DAA0DAA0A054E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E573DAA0A6DAA0DA -DAA0A6A0E0A0DAA0A0A0DAA6A0A09A9A9A9393A0A6DAA0E0E0A0E0A0E0A0A0E0A0E0A0E0 -A0A0DAA0A09ADC9D7171A3E571717171717171717171ADE3DAA6DAA0DAA0A0DAA0DAA0D4 -9AA0AE71718E3638463840DD7171717171717171AE380000000039545B959CD795724E00 -0038E3E2E0A0DADAA0DADADADADAA0DAE000005A5B9C0D00000000000000000000000054 -E49DA90600000CA3E5E4000006540046E4720000000C000000004EE5E454063640374037 -374037404037060694E4E3E3E3E3E3E3AEADA4AEAEAEAEE4DDDD9B9A9AA0DAA0DAA0A0DA -A0DAE0A0A0E0DAA0DAA0DAA0DAA6DAA0A6DA93599ADBA40D0D0D0D0D0D0D0D0D0D0D0D0D -0739AE621A130D07070D0D0D070D0D0D0D0D0D0D0D07070D4C74DDA0DAA0DAA0DAA0DA53 -4D4D53939A9A9ADA9ADAA0DAA0A0DAA0DAA0DAA0DAA0DADA59DFE5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E553DAA0DAA6A0A0A6DAA0DAA0DAA6DAE0DA -A0DAA0DA9A9A9A939AE0DAA6DAA0A0E0A0DAA0DADAA0DAA0DAA0DAA0A0DAA09A9AAE5471 -71E4AD717171717171717171719DE1A0A0E0A0E0E0A0A0A0DA9A9A9ADD7171A306374040 -0694A371717171717171A355000000000606060000619C37380000DCE1A0DADADADADADA -DADADADADADADA380006375400000000000000000000000000005B54124D54955453AEE5 -9CDDDDDDDEE4ADA34E4000000000000095E54D0040373736403636064006063737364DE4 -E3E3E3E3E3E3ADAEAEADAFADE4AEAEAEAF9B9A9AA0DAA0DAE0A0E0A0A0DADAA0A6DAA6DA -A0E0A0DADAA0A0E0A08D8DE414070D0D0D0D0D0D070D0D0D0D0D72A45C07070D0D0D0D37 -0D0D0D0D0D0D0D0D0D0D0714739DE3E2A6DAA0DAA0DAA0A0E093464D5359939A9A9ADAA0 -DAA0A0DAA0A0DAA0A0DAA0DAA0DA9A73E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E572A0DAE0A0E0A0A0A0A0DAA0A0DAA0E0A0DAA6A09AA09A9A9A59A0DA -DAA6DAA0A0DAA6DAA0E0DADAA6DAA0DADAA0A09A9A9A939BAE7171719D54E4AD54717171 -7171717171A4E3DAA0E0DAA0A0A09A9A939AE0E371A38E3640383840A271717171717171 -71E300000000000000000000009CE400009CE1A0DADADADADADADADADADADAA0E1000000 -5472000036464E4E4E37060000000000009C4E0036004DE4E5A30000000000009DDD4D06 -0C54A28E8FA24E36373837403606373736063737374006363646E3E3E3E3DDDEAE1973E5 -ADADADAEAFAEAEAE599A9AA0A0DADAA6DAA6DAA0DAA6DAA6DAE0A6A0E0A0DAA0A0E0A0DA -DB0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D070D0D0D0D0D0D0D0D0D0D0D0D0D0D0D4F73A3E2 -E1DAA0A0A0DADADAA6DADAA0DADAA0E053464D5393939A9AA0A0DAA0DAA0A0A0A0DAA0DA -DADADAA0E059AEE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E553E0 -A0A0DAA0DAA6E0A0E0A0E0A0A0DAA6A0DAA0A09A9A9A5953E0A0A0DAA6DADAA6DAA6DAA0 -A0A6DAA0E0A0A0DAA0DA9A9A5993E3727171E48E0CA2E4737171717171717171A3E3E0A0 -A0DAA0D4A09A9AA0DAE3719CA33737384636949D71717171717171A33800000000000000 -000000A307000006E2E0DADADADADADADADADADAA0E0E300000000559C5A5A5437060000 -000000000000004E94363746E4E5AFDE000000000000A3E5E44D00000C5AA99C46360036 -36404040370606063737400606374036E3E3E3E3E4AE370006E4AEADAEAFA3AEAEE45393 -9A9A9AA0A0DAA0DAA6DADAA0DAA0A0DADAA0DAA6DAA6A0DAA0E0E40D0D0D0D0D0D0D0D0D -0D0D0D070D0D0D0D0D0D0D0D0D0D0D0D0D0D070D4FA3E2E1DAA0DADAA0DAA0A0DADAA0A0 -E0A0DADAA0E09A4D4D5359939A9A9A9ADAA0A0DAA0DAA0DAA0A0A0A0A0DAA09A73E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AD59E0DAE0A0A6A0DAA0DAA0DA -A0DAE0A0DADAA0A09A9A9A939359E0A0E0A0DAA6A0DAA0DAA6DADADAA6DAA0DADAA09AA0 -9A9A93599BAD717171E4460054E454717171717171717173E4E0A0A0A09A9A939AE0A0E1 -A371E44D363738364DE371717171717171A3710000000000000000009C38000000005BE3 -E1A0DADADADADADADADAE0E20D0000003895AD0000000000000000000000000000009C37 -3694E5AFE4E5DD9573739CDDE5AFE5E446363636364E9B53400600360637060606373637 -370637400636E4E3E3E3DEE5000000E3AEADE555004EE5E44D8D939A9AA0DAA0DAA0DAA6 -A6DAA6DAE0A0A0E0A0DAA0DADAA0E0E3550D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D -070D0D0D0D07070D559DDCDAA0A0A0DAA0A0DAA0DADAA6A0DADAA0DAA6A0DAA0DA4D468D -5393939A9AA0A0DADAA0DAA0DAA0DADAA0A0DAA0DADA59E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5729AA6A6A0A0DADAA0DAA6DAA6DAA6A0DAA6A0A0DAA09A -9A595393A6DAA0E0A0DADAA6DAA6DAA0A6A0DAA6DAA6A0A0DA9A9A9A59599AE3717171A3 -DD36360CE495717171717171717171E4DA9ADA9A9A9ADAA0DADAE371A3950037404006DD -717171717171719C7300000000000036364EE44E0000000000069CE0DADADADADADAA0E0 -E24C00000000950C4E4E5454545454544E4E3939380000009C46369CE5AFAFAFE5E5E5E5 -E5AFAFAFAFE5543606403700064DDC9C54380036363706373606403736060606DDE3E3AF -AEE4000000A3AFAD72000037E4AF4D4D53939A9AA0DAA0E0A0DAA0E0A0DAA0E0E0A0DAA0 -E0A0A0DAE3620D0D0D0D0D0D0D0D0D0D0D0D0D0D0D070D0D0D0D070D0D0D070E73A3DC9A -9A9A9AA0A0A0A0A0DAA6DAA0DADAA0A0DAA0A0A0DAA0E08D0C5353599A9A9AA0DAA0A0DA -A0DAA0DAA0A0DADAA0A0DAA059E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E554DAA0A0DAE0A0A0E0A0DAA0A0DAA0E0A0DAA0DAA09A9A935953A0A0DAA6A0DAA6 -A0DAA0DAA0E0DAE0A0DAA0DAA0DA9A9A9A9A5993A0E1AC717171E454363654E4A3717171 -717171717171DCA09A9A9AA0A6DAA6DAE27154E346404637009C9D717171717171719D00 -0000384E739C5BA3AD130C000000000000A2E2E0DADAA0DAE0E239000000000000465B55 -36373606060606060636060000005B4E009CE5AFAFAFAFAFAFAFAFAFAFAFAFE554363606 -373640374DA3A3A28E363737364036064037374040379CE3DEDEE573000000A3AEAF0000 -0006E4AF544D5353939AA0A0DAA0DAA0DAA0DAA6DAA0DADAA6DAA0DADAE2A40D0D0D0D0D -0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D074CDDE2A05353939A9AA0A0DADADAA0DA -A0E0A0A0E0DAA0DADADAA0DAA6A0464D8D5393939AD4A0DAA0A0DAA0DAA0DAA0DADAA0DA -A0DA9AE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AF53E0A0DAA0A0E0 -A0A0A6A0E0A0E0A0A0DAA0DAA0A09A9A599359DAE0A0DAA0E0A0E0A0E0A0E0A0A0A0E0A0 -E0A0A0A0A09A9A9A9393A0E0E371717171E44606004DA3E47171717171717171AEDC9A9A -9ADAA0DAA0A0E07171A9943638403753A371717171717171A3000039543836000006A300 -0000000000000000379CE2E1E1E2A3370000000000003706000000000000000000000000 -00003600734E3694E5AFAFAFAFAFAFAFAFAFAFAFAFE44606404040404037379C46469C9C -36404036364006404006063794E4AFAEE54E000000E4AEE500000037E4AFA45A4D4D5393 -9AA0A0DAA0DADAE0A0DAA6DAA0A0DAA6DAA0E1AA130C0D0D0D0D0D0D0D0D0D0D0D0D0D0D -0D0D0D070D0D0707149DE2E0A0DA5353939A9AA0DAA0A0A0DAA6DAA0DADAA0A0E0A0E0DA -A0DADAA04D4D538D53939AA09AA0DAA0A0DAA0DAA0DAA0A0DAA0DAA0A0E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5729AE0A0E0A0A0E0A0A6A0A0E0A0DAA6E0A0 -A0DAA0A09A935953A0E0A6DAA0DAA0E0A6DAA6DAA6DADAA6A0E0A0DADAA09A9A9A9393DA -A6DAA0E371717154E4544646403653E47171717171717154E4A19ADAA0DAA0A0DAAD7171 -E35436383737A272717171717171DD000000000000549C5B55E437060000000000000000 -0000000000000000000000000000DD00000000000000000000000000374E954D95943654 -E3E5E5AFAFAFAFAFE5E5DD46363737404037363754A23637373606373637373736363736 -37009CAFAEAFAE00E59D4DE4AFA300000054E5AEDCE2E3E4DD9A939AA0A0DAA0A0DAA0E0 -DAA6E0A0DAE0A0DA5B070D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0755DDE1E0DA -A0DAA0DAA053539A9A9AA0A0A0DADAA6DADADADADAA6DAA6DADAA0DAA0E09A4D4D539393 -9ADAA0A0DAA0DADAA0DAA0E0A0DAE0A0DAA0E0ADE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E553E0A0DAA0DAA6A0DAA0A6DAA0DAA6DAA0DADAA0A09A9A595993A0DA -DAA0E0A0E0A0DAA6DAA0DAA0A0DADAA0DAA0A09A9A9A9A9A9AA6DAA0E0E0717171719CE4 -06384037004DA37171717171717154E4E1DAA6DAA6DAA6E355719CA306373836949D7171 -71717171A30000000037544E06000054E4000000000000000000000000954E3700000000 -0000009C9C000000000000000000000000000095AE54729C46004694E4E5E5E5E5E5AE95 -463640370640370637379C9400403740063737403740373636404646E5AEAEAFA300E5AC -95AFE555E34E009CAFAEDCDCDCE2E3E493939AA0A0DADAA6DAA0DAA6A0DAA6A0DAE20D0D -0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0714E2E0A0A0A0DAA0DAA6DA93539AD4DA -DADADAA6DADAA0A6DAA0E0DAA0DAA0DAE0A0E0DAA0464D8D53939A9A9ADAA0DAA0A0DAE0 -A0DADAA0DAA0DADAE074E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E553E0 -A0A0A6DADAA0E0A0A0E0A0DAA0A0DAA0A0DAA0D49A935993E0A6A0E0A0DAA0E0A6DAA6DA -A6DAE0A0E0A0A6DADAA09A9A9A93A0DAA6DAA0A07471717171A9060640374000E3AE7171 -717171717171E4A0DAA0DAA0DAE1AC7171E4543846364DA3717171717171A30000003954 -3600000000004E73360000000000000047959C3854959C9C9C95959CA35B000000000000 -00000000000000000073A39C9D54950000064D545A5B5A5446000000469B364040403700 -E34636404040400637404037364D9CDCDCDCAFAEADE4AD00E59DADE4E538E57400E4AEAE -E3DCDCDCDCE2DC939A9A9AA0A0DAE0DAA0DADAA6DADAE2A40D130D0D0D0D0D0D0D0D0D0D -0D0D0D0D0D0D0D070D56E3A0DADADAA0DAE0DAE1E1DCDCA3DDA3DDA2A0DAA6DADADAA0A0 -DAA0E0DAE0A0DADAA0E0E046534D5353939AA0D4A0DAA0E0A0DADAA0DAA0DAE0A0A0DA5B -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E59E93A6DAE0DAA0A6DAA0E0E0A0 -DAA6DAE0A0A0DAA0A09A5F93599AA0DADAA0DAA6DAA0DAA0DAA0DAA6A0DAA6DADAA0A09A -9A9A9A59DAA6DAA6DADAE471717171548E064038384038A2E4717171717171715BDAA6DA -A6DAA6DAE371719CDD40373746E37171717171719C00000000000000000000000061A39C -73544E959CA29C615B5400000037384E3837000000000000000000000000000000000054 -5406549CE47338384040464606365A95944E06540600363600465A364040064036063637 -36378EE3DBD4D4D4D5E4AFAEE406E5AEDB9AE355E55554E5AEAEE3DCDCDCDCDCE49A599A -9A9AA0DAA6A0E0A0E0DAA0E1AA130D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D07139DE2 -E0DAA0A0A0E0E0E2E3A3625B5514131314AEE1DAA0E0A0A6DADAA6DAA0E0A0E0A0A6DAA0 -E0464D538D93939A9AA0DAA0DAA0DAA6A0E0A0E0A0A0E0DAA053E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5729AE0A0A0DAA6DAA0E0A0A0DAA6A0DAA0A6DAA09AA09A -939359A0E0E0E0A0E0A0DAA6A0E0A6DAA6DADAA6DAA0A0DAD4A09A9A9A93A6DAA0DAA0A6 -E1AE71717171E44D0640404036069CE471717171717171E4DAA0DAA0DAA0E1AC7171E437 -383736A27171717171719C000000000000000000000000000013555B5B55370600000600 -00000000000000000000000000003600000000000000000000545A00364D95A3DDDDDCDC -A3A3DDDD959CAEE4DD739C36364694E3063637400606403740063736E3D493939393D4D4 -DDAEE595E3D49393D4AEAE54DEAEADADE4E2E2E2DCDCE3A253939A9ADAA0DAE0A0DAA0A0 -E0E41A0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0739DDE1DAA0E0E0E1E2E3A35B140D -0D070D0D070655E3A0A0E0A0DADAA6DAA0DAE0A0DAA0DADAA0E0DA4D4D4D5359939A9ADA -A0DAA0DAA0DADAA0DAA0DADADAA0A093AEE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E554A6DAA0E0A6DAA0E0A0A0A0E0A0DAA6DAA0DAA0DA9A9A595393DAA0A0A0DAA0DA -A6DAE0A0DAA6DAA0A0E0A0E0A0A0A09A9A9A599AE0A0E0A0E0DAA0E2AC7171719DE33836 -46384636365AE47171717171719DE3E0A0E0A0DAA6E372717140404036949D7171717171 -710000000000000000000000000000000000000000000000000000000000000000000000 -0038DDA4A3A3DD8F4E400000000000545436403636374D4E4D4D0C94AEAFE5AFDEAFE5E5 -E4DD9CA2A254060637404040373640060646DB93939ADBDCDB9A9ADBDCDC9393D49A93DB -749DAFADAEAEE3DCDDE3E3E3E3DD59599A9AA0DAA0DADAA6DAE0E35C0D0D0D0D0D0D0D0D -0D0D0D0D0D0D0D0D0D0D0D14DDE0A0E0E1E3A3625B140D070D0D0D0D0D0D0D73E3A0DADA -A0DAA6DADAA6DAA6DAA0E0DAA6DAE0A0DA4D464D8D53939ADAA0DAA0DADAE0A0DAE0A0DA -A6A0A0DADA9A99E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AD93E0A0E0A0A0DA -A6DAA0E0A0E0A0DAA0A6A0A0DAA09A9A59599AA6A0DADAE0A0DAA6DADAA0E0A0DAA0A0DA -A6DAA0DADA9A9A9A939AA0DAA6DAA0DADAA0E0E372717171AEA206374046384036537171 -7171717171A3E2A6A0A0E0A0E37271E446374046DD71717171715400000000000036374E -360000000000000000000000000000000000000000364E727395957239A3ADE4E3E3E3E3 -DE4E5A47009C0C00403840403737380636378EDDAFAFAFAFAFE4AFE4E59C370606363737 -40370606383836549A9ADAD49ADC9A9AD49A9A9AD4E2E4DC9AD49ADBDCDB9A9AD4D49A93 -939AE3E3594D93939AA0A0DAA0A6E1A4130D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D -0DE4A3621B130D0D0D0D0D0D0D0D0D0D0D0D0DDDA29A9ADA9ADAA0E0A0DAA0A0E0A0DAE0 -A0DAA6DAA6DADAA0464D4D53939A9ADA9AA0DADADAA0DAA6DAA6A0A0A0E0DADA53E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5739AA6DAA0DADAA6DAA0DAA0DAA0A6DAA6DA -A0DAA09A9A9A9359DAE0DAA6A6A0DAA6DAA6A0E0A0DAA6DADAA6DAA0DAA09A9A9A599AA0 -A0E0A0E0A0E0DAA0DAA6E455717154E49C36384638464000E471717171717171A4E2DAA0 -DAA0E0AE71A3A2373740A2717171717154000000004673A3E4E59D4E959D9D9D95470000 -0000000000000000000046A4A4696963636363AEE4E3E3E3E3E3E44E00549C5A00370640 -3737404006408EDDE5E5E4AFAFE4AFAFE4AFAFE59C3640373606404037360637364D9A9A -9A9A9ADBD49A9A9A9AD4E3E2E1E3DB9A9A939A9A9AD4DCE3DBD49A93E4E3934D53939A9A -DAA0A0DAE4140D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D9D1A140D07070D0D0D0D -0D0D0D0D0D0D0D4CAEA293939A9AA0A0DAA0E0A0E0E0A0E0DAA0E0A6DADAA0DAA0DA5346 -4D5353939A9AA0A0DADAA6DAA6DAA0A0DAE0DADAA0E053E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E554A0DAA6DAA6E0A0A0E0A0E0A0E0DAA0DAA0A0A09AA09A9A5393A6A0 -A0DADAE0A0DAA0DADAA6DAA6DAA6A0E0A0E0A0DA9A9A9A9A9ADAE0A0DAA0E0A0A6DAA6DA -E1E471717171E59537373840403753E471717171717171AFA7DAA6DAA6E27171E45A3636 -9471717171715400008E9DA469ADE4ADA4A46963636969AA9D000000000000000000008F -AA22212121212121ACE4E3E3E3E3E3E3E3E306060C0C3737063737403738069CE5E5AFAF -E4AFAFAFE4AFAFE4AFAFE44D063737374037064040373637DA9A9A9AD49ADCDBD4D4DBDD -E2E1DBE1E3D4D49A9A9AD49ADCD4D4DBD49AE3E4944D53539A9AA0DADAA05C060D0D0D0D -0D0D0D0D0D0D0D0D0D0D0D0D0D0D075555070D0D0D0D0D0D0D0D0D0D0D0D370D72A39D9D -A3E3DB9A9ADAA0DAA0DAA0A0DAA0E0A0DADAA6A0E0A0E0E059464D4D8D939A9AD4A0DAA0 -DAA0DAA0E0E0A0A0A0A6DAE09A9EE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E553E0 -A0DAA0DAA0E0A0A0DAA0DAA0A6DAA6DADAA0D49A9A93539AE0DAA6A0A0A0E0A0E0A0A0DA -A6DAA0DADAA0DAA0A0A0A09A9A599AE0DAA6E0A0DAA6A0E0A0A0A0E17171717171E53606 -463840383653E472717171717171E4A0DAA0DAE0AE715AE44600537171717171548FA3AA -63215CA4635D2221212121212121A50000000000000000008EAA222121212121215CE4E3 -E3E3E3E3E3E3E3E49436003606363706403740068EE5AFAFAFAFE4AFAFAFAFAFE4AFAFE4 -E59C363606060637374040400636E29A9A9AD49AD4DBE3E3E3E2E1DBE1DBE2E39A9A9A9A -9AD4D49A9A9A9AD4E2E49D4D4D53939A9AA0A0E1130D0D0D0D0D0D0D0D0D0D0D0D0D0D0D -0D0D0D0D370D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D140D0D0D1355A4DCA0A0DAA0E0A0 -E0A6DAA0DAA6DADADAE0A0DAA0E09A464D53539A9A9AA09ADAA0DAA6DAA0DADADAE0DAA0 -A6DA9A73E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E559E0A6A0E0A0DAA0E0DAA6A0 -A6A0DAA6DAA0A0A0A09A9A5959A0DAA6DAA0A6DAA6DAA6DADAA6DAA0E0A0A6DAA6DADA9A -9A9A9A93DAA6A6DAA0DAA6DAE0A0DAE0DAA0AE717171715A954006464040370053E47171 -7171717171DAA6DAA0A6E37171A3DD0046717171717154A4632121212121212121212121 -212121215D360000000000000037AA2221212121212121DEE3E3E3E3E3E3E3E3E3E3E436 -06063737404040403706E3E5AFAFAFAFAFAFAFAFAFAFE4AFAFAFE5DD3606060640403740 -370637069CDC9A9A9A9A9A9ADBE3E1E1DBE1E1E1E1E2DB9A9AD4DBDC9A9AD49AD4E3E3E4 -63544D53599A9AA0A0E30D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D -0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D06060D99E39AA0A0DAA0E0A0DAA6DAA6DAA0A6A0A0 -E0A0E0E0A0464D5353939A9A9ADAA0E0A0DAA6DAA6A6A0A0A0DADADAA05AE5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E559E0A0DAA0DAA0E0A0A0A0DAA0DAE0A0A0E0A0DA9A9A -935993A0E0A0E0A0A0DAA0E0A0DAE0A0DAA6DAA0A0E0A0DAA0A09A9A5F9AE0A0A6DAA6DA -A6DADAA0E0A0A0E0E1AE71717171E49C0636403740400053E4717171717171E2A0DAA6DA -E1717171E4543655717171715428212121212121212121212121212121215C3900000000 -0000008EA42121212121212121E4E3E3E3E3E3E3E3E3E3E4AF0037403740063737373800 -E5E5E5E4AFE4E4AFE4E5E5AFAFE4E4E4E5E400374036360637374037373746A2DB9A9AD4 -D49A9AE2E2E1E1E1E1E1E1E1E3DDDCDCDB9AD49A9AD4DCE4E3E4635B534D53939A9ADBA4 -0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D -0D0D0D070D1473AEDC9A9ADADAA0DAA0E0A6DAA0DAA0DAA0DADADAA6DAA0E04D4D4D5359 -9A9AD4A0A0A0DAA0DAA0DADADAE0DAE0A0A0E053E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5A0DAA0A0DAA0A0A6DAA0A6DADAA6DAA6DAA0DAA09A9359539AE0A0E0A0A6A0DA -A6DAA0DAE0A0DAA0DAA6A6DAA6DAA0A09A9A9AA0E0A0A6DAA0DAA6DADAA6DAA0A6DADAA6 -E1AE55717171A3E454363740403606E4717171717154E4E0A0E0A0AC717171A29CA37171 -717171212121212121212121212121212121212121E43700000000000073212121212121 -2121DEE3E3E3E3E3E3E3E3E49E2121A206360637064037403606730006E4AFAFAFE55B00 -0054AFE4E4AFAFE500370636400640373637374037364DDCDBDA9AD49AD4E2E1E1E1E1E1 -E1E1E3DB9A9A9A9ADBDCA4A4E4E2E3DE635C6253535393DBA40D0D0D0D0D0D0D0D0D0D0D -0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D07060D14559DDDE2E1E09A53939A -9ADAA0A0DAA0DADAA0DAA0E0DAE0DADAA0E0A0A6E09A0C4D4D93939A9AA0A0A0DAA0DAA0 -E0DADAE0DAA0DAA0E09A9EE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5A0DAA6DAA6DA -DAA0E0A0DAA6A6DAA0DAA0DAA09A9A5993539AA6DAA0DADADAA6DAA0E0A0A0E0A0E0A0E0 -E0A0DAA0A0D49A9A9ADAA0E0DAA6DAA6DAA6A6DAA6DADAA6A0DAA0E0E47171717171E49C -0637403736A2AC717171717173E3DAA0DAE355717171A3A3717171717121212121212121 -2121212121212121212121AF3800000000000054212121212121219EE4E3E3E3E3E3E3E3 -E4A42121625A5A060637404006060654000000A3E5AFE55B00000000E5AFAFE4E4E50006 -403736383640064037364037364DE4DD9A9A9A9ADCE2E2E1E1E1E1E1DC9A9A9AD4E3AE9E -6262E4E2E3AE6221635B535393E3550D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D -0D0D0D0D0D0D0D0D0D0D0D0D0D555BDDE2E0E0DAA0A0A05359939A9AA0DAA0E0A0A6DAA6 -DAA0A0A0A0A6DAA0E0A0E09A4D4D5359939A9AD4A0DAA0DAA6DAA0A6A0A0A0E0A0DAA09A -99E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E0A6DAA0DAA6A0E0A0DAA6DADAA0DAA6 -DAA0DA9A9A935353A0E0A0E0A0A6A6DAA0E0A0E0E0A0E0A0A0DADAA6DAA0DAA09A939AA0 -E0A0A6DAA6DAA0E0DAA6DAA0A6DAE0A0E0A0A0E37171717171E44D360637400CE3737171 -717171A3A7DAA0E1AC71717154AF71717171712121212121212121212121212121212121 -21AE370000000000004EAE21219EA4A4A4AEE3E3E3E3E3E3E3E3A421212162464D4D3606 -3737060606A20000009CE5AFA30000000000E5AFAFAFE4E5063640060637363636373736 -4006004DE4E4D59A9A9ADBE2E2E2E2E2E3E3D4939AD4E4AE63212163E4E3E3AE5C215C62 -4D539BA40D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D060D -5573A3E2E1E0A0DAA0A0E0E0DA9353939AA0DAA0DAA0DADAA0DAA6DAE0DAE0DADAA0DADA -A0E04D464D93599A9A9AA0A0A0DAA0DAA0A0DADAE0A0DAA0E0A05BE5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5AEE0A0DBA6A0DAE0A0A0E0A0A0A0A6A0DAA0A09A9A9A595953DAA0 -E0A0DAA0A0A6DAA0E0A0A0DAA0E0DAA6A6DAA0A0A0A09A9A9AE0A0E0E0A0DAA6DAA0A6DA -A0E0DAA6A0E0A0DAA0DAAC7171717171E49C460606004DE4727171717154E4DAA0DAE371 -717171E5717171717122212121212121212121212121215D5D5C21AD0000000000000000 -AE63ADE4E4E4E4AFE4E3E3E3E3E3E3A45C212121214E004D40370637063646A200000095 -E5AF380000000000E4AFAFAFAFE50C06060636363736370636403706369CE3E3E49A9A9A -9AE2E3E3E4A29BA29A9ADAAD632121212163E4E3E3A4212121624D53DC5C070D0D0D0D0D -0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D070D0D0D4FA3E2E1E0A0DAA0DAA6DAE0 -A0A0E0935393599AA0DAA0DAA6A0E0A0DAA6DAE0A0A0A6E0A0A0E0E053464D8D599A9A9A -DADAA0E0A0E0A0A0E0A0A0DAA6DAA0DA53E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AD -E0A0A0DAA6A0A0E0A0DAE0A0E0DAA6A0DAA09A9A598D534DE0A0DAA6DAA6DAA0E0A0DAA6 -A6E0A0A0DAA6A0E0A0DAA0D49A9AA0E0A0E0DAA6DAA0E0A6A0E0A0A0E0A0A0DAA0A0DAA0 -E2AE5571717154E5E49406360053E4717171717172E2A0A0E174717171A373717171545D -2121212121212121215D219EAEAFAFAE63A300000000000000009CE5E4AFAFAFAFAFAFE3 -E3E3E3E3E3622121212121940006373706063636945B0000009CE5E5000000000000E3AF -AFAFE4AF46063740360606373736373637064DE4E3E3E4DC9A9A9AE393A29B5393DB93DA -A428212121212163E4E3E3A4212121214D93AD130D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D -0D0D0D0D0D0D0D0D0D060D5573A3E2E0A0A0DAA6A0A0DAA0A0DAA6A6A09A53599A9AA0A0 -DAA0DADAA0E0A0DAA6A0E0DAA0DAA0A0DAA65346535359939AA09AA0DAA0DAA0E0DAA0E0 -A0DAA0DAA6E053E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E599E0A0E0A0DADADAA0E0A0 -A0DAA0A0DADAA0DA9A9A59535353A6DAA6DAA0DAA0E0A0DAA6DADAA0E0DAA6A0A6DAA0DA -A0A09A9ADAA0E0A0A6DAA6E0A0DAE0A0E0E0A0DAE0A0E0DAA0A09AA0E49D7171717171E4 -DD3800005AE44E71717171A3E1A0A0DD717171549C717171545D21212121212121212122 -63E4E4AFAFE4AF72000000000000000006E4AFAFAFAFAFAFE4E4E3E3E3E3E42121212121 -219C00403706400606409C37000000A3E5E5000000000000A3E5AFAFAFAF540037060637 -3737404036373637A2ADE3E3E3E3D59A9ADB93A15353DBD5DBAE9E9E9E996263629EE4E3 -E3A4212121215ADC5C0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D070772 -A3E2E1E0E0A0E0DAA6DADADAA6DAE0A0DADAE0DA5353939AD4A0A0DAA0A6DAA0E0A0DADA -A0A6DAA6DAE0A0E093464D8D93599A9ADADAA0DAA6DAA0A6DAA0DAA6DADAA0E059ADE5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E573DAA0E0A0DAA0DAA0DAE0A0DAA6DAA0DAA0DA9A93 -59535353E0A0E0A0DAA0A0E0A0DAA6DADADAA6DAE0A0A6DAA0A0DAA09A9AE0A0E0A6A6DA -A6DAA6DAE0A0E0DAA6DADAA0DAA0DA9A9A9353A0E1E3547171717171A3E39C549C717171 -71719CA0A0DBDD71717171717171716321212121212121215CADE4AFAFAFAFAEAF000000 -0000000000000006E4AFAFAFE4AFE4AFE4E3E3A421212121212121DD063606374006364D -9C00000046E4AFE50000000000009CE5AFAFAFE49C060636370606063637403653A20654 -E4E3E3E3E3DB93D459539ADC9ADBE2DCE3E3E3E3E3E3E3E3E3E3E3E463212121AD620D0D -0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D061373DDA19ADAA0A0A0DAA0A0E0DAA0 -DAA0DAA6DADAA6A0DAE05953939A9ADAA0DADAE0A0DAA6DAA0A6DAA0A0E0A0A6DAA6A04D -465393939A9AA0A0DAA0E0DAA0A0DAA0DAA0E0DADAA69A74E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E553E0A0A0E0A0DAA6DAA6A0E0A0DAA0E0A0DAA09A5953534D53A6DAA0E0A0E0 -E0A0E0A0DAA6A6A0DAA6A0E0DAA6DAA09AA09AA0E0A0DAA0A0E0A0E0A0E0E0A0A0E0A0DA -E0A0A0DA9AA09A5993DAA0E0E39D71717171717171A3A3AD71715495AEAFA3719D717171 -71717171715D212121212121212163E4AFAFAFAFAEAFE5000000000000000000000054AF -AFAFAFAFE4E4E4E4AE2121212121212121AE463606063706004D9C00000054E5AFE40000 -000000009DE5AFAFE4E4A306363706064006373740369C0C0054E4E3E3E3E3E49AD45993 -DCD4DBE4E3DCE3E3E3E3E3E3E3E3E3E3E3E3AD5C5C21E414070D0D0D0D0D0D0D0D0D0D0D -0D0D0D0D0D0D0D0D0D0D72DDE159939AA0DADAA0A0E0A0A0E0A0A6A6DAA0A6DAA0A0A6E0 -9A53599A9AA0A0A0DADAA6DAA0E0A0A0DAE0A0DAA6A0E0DAE04D4D535359939A9AA0A0DA -A0A6DAA0E0A0A6DAA0A0A0DAA05AE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E553A0E0A0A0 -DAA6DAA0A0DAA0A0A6A0A0DAA0A09A5953534D59DAA6DAA0DAA0A0DAA6DAA6DADAE0A0DA -E0A0A0DAA0DAA09A9ADAA0E0A0E0E0A0DAA0E0A0A0E0DAA6DAA6A0DADAA09A9A9A599AA6 -DAA0A6E2E47371717171717171719D5A9DACAD9D7171717171717171717171AE21212121 -2121215DAEE4AEAFAFAFAFAFE5000000000000000000000000E5AFAFAFE4AFE4AFE56321 -21212121212121A4543606063636004D95000000A3E5E5AD000000000000DDE5AFE4E4AF -DD063606370637400637364D38363654E4E3E3E3E3AFDC9393A1DBDBE4E3E3E3E3E3E3E3 -E2E3E3E3E3E3E3E3E4632121A30D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D07A3 -E2E0A093599A9AA0A0DAE0A0E0DAA0E0DADAA6DADAA6DADADADAA053539A9AD4A0DAA0A0 -DAA0E0A0DAE0A0A0E0A0DADAA0A0E05346535393599A9AA0DAA0DAA0E0DAA0DADAA6DAA6 -DAA6DA59E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E553A0DAA0DAA6A0DAA6DAE0A6DAA0DA -DAA0A09A9A5353534D9AA0DAA0E0A0E0DAA6DAA0E0A0A0A6DAA6A0DAE0A0A0A09AA09AA6 -E0A0E0A0A0DAA6E0A0E0DAA6A0DAA0DAE0A0A0A0A09A93939AE0DAA6DAA0E0E3AE717171 -7171717172ADAEAE9DA371717195A4DEAD74717171A3AE225D2121212163E4AFAFAFAFAF -AFAFE5000000000000000000000000E5AFAEAFE4AFAFAFAFADA4A45D2121212121A49506 -0606364646945B009C4EE4AFE5AD000000000000E4AFAFE4AFE4E40C0006360606063637 -36370636004DE4E3E3E3E3AEAE9ADDDBDBAFE3E3E3E3E3E3E3E3E4E3E3E3E3E3E3DCE3AE -215C550D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D070D73E0A0A0E093539ADAA0DAA0 -A0E0DAA0A6DAA0DAA0DAA6DAA0A6A0E0A053539A9AA0A0A0DAA6DAA6DAA6DADAA0E0A0DA -A6A6DAA6E09A0C535359939A9AA0A0A0A0E0A0A0E0A0A6A0DADAA0A0E053E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5AD59A0A6DAA6DAA0A0A0A6A0DAA0DAA6A0A0DA9A595353534D9A -A0A6DAA0E0A0E0A0A0E0A0E0E0DAA0DAA6DADAA0DAA0DA9AA0DAA0E0A0E0E0A6DAA0DAA0 -A6DAE0A6DAA6A0DAA0DA9A9A5F59DAA6A0DAA6DAA0A0E1AD7171717171719DE5E5719C73 -739C73A35BA4AFAE71717171A3AE2221212121A4E4AFAFAFAFAFAFAFAF00000000000000 -0000000000E4AFAFE4AFAFE4DC9BD4DBDBAEA463212121A4A336364D95DCDCE37200E5E4 -AFAFE5AE000000000000E5E4AFAFE4E4E54E060636370636373640363706004DE4E3E3E3 -E3AEA4DB9ADBA4AFE3E3E3E3E4AE63639EE4E3E3E3E3E3DDE3E463630D0D0D0D0D0D0D0D -0D0D0D0D0D0D0D0D0D0D0D0755DDE2A0E0A0E09A599A9AA0A0DAE0A6A0E0DAA0E0A6DAA6 -DAA6DADADAA6DA59539A9AA0DAA0DADAA0DAA0DAA6A0E0A0DAA6DADAA0DAA69A46535353 -9A9A9ADAA0DAA0DAA0E0A0DAA0DAA6A0E0DAA659DFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -AD9ADAA0A0DAA6DADADAA0DAA6DAA0DAA0DAA0A093535353539ADAA0A6DAA0E0DAE0A0DA -A6DAA0A6DAA6DAA6A6DAA0A0A09AA0E0A0DAA6DADAA0A6DAA6E0E0A0A0DAA6DADAA0A0A0 -9A9A939AA0E0A0E0A0E0A0DAA0E1E3AC7171717171717171ADA371715471A37171A3E471 -717171A3AE2121215CAFAFAFAFAFAFAEAEE5AE0000000000000000000000009CE5AFAFE4 -AF9ABCBCBCBCBCD4DBDEA45D2163AE0C54E3BCBCBCBC954EE4E4E4E4E5E400000046DD38 -E5AFAFAFAFAFE595003640063606370606063737004DE4E3E3E3E3E462DDDBA362AEADE4 -AE632121212121AEE3E3E3E3DDE3DDE3ADAE0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D -0D73E3E0A0DAA0DAA6DA599A9A9ADAA0A0DAA0A0E0A0A0A0DAA6DAA0E0A6DAA0E093539A -9A9AA0DAA0A6DAA6E0A0DADAA0E0A0DAA6A6A0DAE0A04D4D535359939AA0A0DAA0A0E0DA -A6A0E0A0DADAA0A0E09A9EE5E5E5E5E5E5E5E5E5E5E5E5E5E5E555A0DAA0DAA0A0E0E0A0 -DAA0DAA0DAA0A0A0A09A9353534D53A0DAA0A0E0A0DADAA6DAA0E0A0A6A0E0A0E0A0A6A0 -DAA0A09AA0DAA6DAA6DAE0A0A6DAA0E0DAA6A0E0A0DAA0DAA09A9A9A93A0DAA6DAA6A6A0 -E0A0DADAA0DAA0E1E3717171719CAE71717171A39D7171717171E471717171A3AF21A4E4 -AFAFAFE4AFAEAFE59D0000000000005400000000000CE4AFAFAFAFBCBCD4BCBCBCBCBCBC -BCDBDE219EE4BCBCBCDDDBBCBC9DE3E3E4AFAFE4000040E4E4AFAFDDDBBCBCBCBCE39C06 -36363606063736370606064DE4E3E3E3E3E41A0D130DAD63212121212121212121E4E3E3 -E3E3E3E3E3DDE3A40D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D07A3E1E0E0E1E2A3A39D9D62 -619DA3A3E2DAA0A0E0A0A6DAA6A6DAA0E0A0DAA0E0A0E09A539A9A9AA0A0DAA0E0A0E0A0 -DAA0DAA6DADAA6A6A0A0E0DA534D535393599AA0A0A0E0A0A6A6A0E0A6A0DAA6DAA0E09A -73E5E5E5E5E5E5E5E5E5E5E5E5E5E5E553DAA0E0A0E0DAA0A0E0A0E0A0E0A0A0DAA09A9A -5953534D59E0A0E0A0A0E0A0A6DAA0E0A0DADADAA0E0A0E0DAA0A0DA9A9AE0A6DAA6DAA6 -A6DADAA6E0A0A6DAA0DAA6A6DAA0A0A09A9A59A0E0A0DAA0A0DAA0E0A0A0E0A0E0A0DAE3 -A371719571717171729D727171717171717171717171A363AEAFAEAFAFAFAFAFAFE57300 -00000000005B000000000000AEE5AFAFAFBCBCD4DBDBBCBCBCBCBCBCD49E63E4BCBCBCDD -9BDBDDDCBCBCBCDCAFE5000046E4AFAFBCBCBCBCBCBCBCBCDBDC38360606363737063738 -004DE4E3E3E3E3E41A0D0D13E4632121212121212121A4E3E3E3E3DDE3DDE3E3E45C0D0D -0D0D0D0D0D0D0D0D0D0D0D0D0D0613E3E2E3A39D5C140D0D0D0D0D0D13145BDDE1DAA6DA -DAA6DADAA6E0A0DAA6A6DAA0E0A053939AA0D4A0A0DAA6DAA0E0A0A0A6DAA6A6DADADAA6 -DAA6534D535353939AA0DAA0A0DAA0DAE0A0DAA0E0DAA6DAA69A9DE5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E553A6A0A0DAA0A6DAA0A0E0A0DAA0DAA0A0DA9A9A538D534D59E0A0DAE0A0 -A0E0DAA6DAA6DAA6A6A0E0A0DAA0A0DAA0A09A9ADAA6DAA0E0A0A0A6DAA0A0E0DAA6DAA6 -DADAA0DAA0DA9A9A9AA0DAA6DAA6A6E0A0A0E0DAA0E0A0DAA0A6E0E29D7171717171729D -7171A3AD717171717171717171E5AFAFAFAFAFAFAFAFAEE5550000000000005B00000000 -00009CE5E4E4AFBCBCBCBCDBDCBCBCBCBCBCBCDCAEAEDCDBDCDCDCDBD4BCBCBCBCBCDBE5 -000006E4AFDCBCBCBCBCBCBCBCBCBCDB9C360636060637063737064DE4E3E3E3E3AF1A0D -0D55AF212121212121212121AFE3DDE3DDDDE3E3DDE3E4140D0D0D0D0D0D0D0D0D0D0D0D -0D0D0D13E49D5B1A130D0D0D0D0D0D0D0D0D0D0D061ADDA0DAA6A0DAA6A0DAA0E0A0E0DA -A6DAA6DA599A9A9AA0DAA0A0DAA6DAA6DAE0A0DAA0DAA0A6A0DAA6E0594D535353599A9A -A0DAA0DAA6A6A0DAA6DAA0A0DAA0E0A05BE5E5E5E5E5E5E5E5E5E5E5E5E5E5E553E0E0DA -A6A0DAA0E0DAA0DAA6A0A6DAA0A09A9A5953531293E0E0A0A0DAE0A0A6DAA0DAA6A0A6DA -A0E0A0E0A6DAA0DAA09AA6DAA0E0A0DAE0DAA6DAE0A0A6DAA0E0A0A6DAA0A09A9A9A9ADA -A6DAA6DADAA0DAE0A0A6A0DAA6A0E0DAA0A0E2A4717171717271719C724EE37171717171 -7171719CE5E5AFAFAFAFAFAFAFE5550000000000005B00000000000054E5AFAFAFAEBCBC -BCBCD4DBBCBCBCBCBCBCDCDDBCBCBCBCBCBCBCBCBCBCBCBCBCDB000037E3D4BCBCBCBCBC -BCBCBCBCBCBCE2543637060636373606364DE4DDE3E3E3E414070D74A421212121212121 -9EE4E3DDDDE3DDE3E3E3E3E3A40D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D5B610D070D0D0D -0D0D0D0D0D0D0D0D0D0D0D0D73E0A0A0DAA6DADAA6E0A0E0A0A6DAA6DAA093599A9AA0A0 -DAE0A0A0A6DAA0A0DAA6DAA6DAA0E0A0A0E0934D535393599A9AA0A0A0A0DADAA6A0DAA6 -A0E0A0A6A0DA53E5E5E5E5E5E5E5E5E5E5E5E5E5E5DF59A6A0A0A0DAA6A0A0A0A0A6DAA0 -A0A0DA9A9A9A534D534D9AA6A0A0E0A6A0DADAA0A6E0A0DADAA0E0A0A6DADAA0A0A09A9A -DAA6DAA6DAA6A0A0E0A0A6DAA0E0A6DAA0E0DAA0DAA09A9A9AA6DAA0DAA6A6DAA6A0DAA0 -DAE0A0DAA0A0DAA0DCA4A3717171717171A3000006A9727171717171717171AFE5AEAEAF -AFAEAFE54C0000000000005400000000000006E4AFAFAFAFAED4BCBCBCDCDCBCBCBCBCBC -BCA1DBBCBCBCBCBCBCBCBCBCBCBCBCBC4E36DCD4BCBCBCBCBCBCBCBCBCBCBCBCD4DC0036 -363637373706004DE4E3E3E3E3E4140D0DADA421212121219EE4E3E3E3E3E3E3E3DDE3E3 -DDE45C0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D070D0D0D0D0D0D0D0D0D0D0D0D0D0D0D -070DA3A0A0E0A6E0A0A6DAA0E0A0DAE0A0DAA6E093939A9A9AA0A0A0A0E0DAA0A6A0E0A0 -A6DAA6DAA0A6DAA69A53535359539AA0A0DAA0DAA6A6A0DAA6A0DAA0A0DADAA659E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5AE59E0E0A0E0A0DAE0DAA6DAA0A6DADAA0A0A09A9A53534D4D -9AE0DAE0A0DAA0A6A6DADAA0E0A0A0E0A0E0DAA6A0DAA0D4A09AE0A0E0A0A0DAE0E0A0E0 -A0DADAA0DAA6E0A0A6DAA09A9A9AA0DAA6DAA6DADAA6DAA0E0E0A0A0DAA6DADAA0E0E4AE -9D7171717171719C00000006A9717171717171717154E4E5AFAFAFAEE4E5390000000000 -005400000000000000AEE5AFAFE4AFAFDCBCBCBCDCDCBCBCBCBCBCBCDBDBBCBCBCBCBCBC -BCDBE3BCBCBCDCDCD4BCBCBCBCD4DBDBDBDBBCBCBCBCBCE10037360637060C37004DE4E3 -E3E3E3AE140D13AE6321212121A4E4E3E3DDE3E3E3E3E3E3E3DDE3E4140D0D0D0D0D0D0D -0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D07060D55DDE1DAE0A0DAA0E0DA -A6DAA6DAA6A0DAA6DAA69A599A9ADAA0DAA0E0A0A0E0DADAA6DADAA6DAA0E0DAA0E09A4D -53535393599ADAA0DAA0A0DAA0E0A0DAA6DAA6A0A6E053E5E5E5E5E5E5E5E5E5E5E5E5E5 -E59959E0DAA6A0DAE0A0DAA6DAA0E0DADAA0A09A9A5953534D4DA0E0DAE0A0DAA0E0A0A0 -DAA0DAA6A6DAA0A6DAA6A0A0DA9AA09ADAA6DAA6DAA0E0A6DAA0E0A0A0E0A0E0A6A0DAA0 -D4A09A5FDAA0E0A0E0A0A6DAA0E0A0A0A6DAA0DAA0DAA0DD7171717171717171719C0000 -000000A371717171717171717171A4AFAEAEAFE537000000000000000000000000000054 -E5AFE4AFE4E4E4AFAFDDDB9ADDDCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC -BCBCDB9B93BCBCBCBCBCBCBCBCBC3836063737373636004DE4E3E3E3E3AA140D73AE2121 -21219EE4E3E3E3DDDDDDDDE3E49EE3E3E45C0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D -0D0D0D070D0D0D4C557274A3DDA2DBA09AA0DAA6DAA0E0A0E0DAA6E0A0E0A0E0A0E0A0E0 -A0599A9A9ADAA0DAA6A0A0E0DADAA0A0E0E0E0A6A0DAA0E0A04D4D535359939AA0DAA0A0 -E0DAA6A0A6DAA6E0A0A0DAA659E5E5E5E5E5E5E5E5E5E5E5E5E5E5999AA6A0A0E0A0A0A6 -A6A0A0E0A0A0A0A0A09A9393534D1253DAA6A6A0DAA6A6DAA6E0A0E0A0E0A6DAA6DADAA6 -A6DAA0A09A9AA6DAA0DAA0E0A0DAA0A6DAA0A6DAA6DAA0DAA0A0A09A9A93A0E0A0E0A0DA -DAA0A6DAA6A0DAA0A6E0A0A0E0A37171717171717171719C0000000000A3717171717171 -7171717171AFAFAFE5E572000000000000000000000000000037E4AFE4E4E4E4E4E4AFAF -AFAEA3E5DCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCDCBCBCBCBCBCBCBC -BCBCBCBC4E36370636360606004DE4E3E3E3E3A4130DA3A4212121215CAEE3E3E3DDE3E3 -E3E4A463E3E3E41A0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D13555B73A3E2E2E1 -E1E0E053599A9ADAA0DAA0E0A0A6A0A6DAA0A6DAA6A6DAA6A0E0A053599A9AA0A0A6A0DA -E0A0A6A0A6E0A0A0A0A0E0A0E0A0E04D53535393599A9AA0A0DAA0A0A0DADAA6A0A0A0E0 -A0E059E5E5E5E5E5E5E5E5E5E5E5E5E5E5749AE0E0DAA0DAA6DADADAA6A0DAA6A0DA9A9A -9A534D4D4D53A6DADAA6A0DADAA6E0A0E0A0E0A0DAA6DAA6A0DAA0DAA0DA9AA0A0E0A6E0 -A0E0E0A6E0DAA6DADAA6DAA0E0A0DAA0DA9A9A5FE0A0DAA6DAA6A0E0DAA0DADAA6DADAA0 -DADAE19D714E717171717171719C000000000038A371717171717171717171E4E5E4A4A3 -9DDD9D37000000000000000000000000E4AFE4AFE4AFAFE4E4E4AFAE6363A5BCBCBCBCBC -BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCDA373606063606 -4006004DE4E3E3E3E3A40D0DAE63212121212121A4E4E3E3AEAEA46363AFE3E3A4130D0D -0D0D0D0D0D0D0D0D0D0D0D0D0D0D071355A3E2E2E2E1E0E0E0DAE0A0A059939A9AA0A0A0 -E0A0E0A0E0DAA6E0DAA0E0E0A0DAE0A6A093939A9AA0DAA0DAA6A0E0A0DAE0A0E0A6DAA6 -DAA6A0E0A04D53535993939AA0A0DAA0A6E0A6A6A0DAA6A6DAA0A6E059E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5729AA6A0A6A0DAA0A0A0A6DAA6A0DAA0A0A09A9A53534D1253E0A6A6DA -A6A0A6DAA0E0A0DAA6DAA0E0A0DAA6DAA0A0A09A9AA0A0DAA0E0A0DADAA0A0E0A0A6A6DA -A6DAA6DAA0A0A09A9A93A6DAA6DAA0DADAA0A6DAA6A6DAA6A0E0A0A0A7734EE4A3717171 -7171719C0000000000009C717171717171717154A3723806000006E4E55B000000000000 -000000000000DDAFAFE4E4AFAFAFAFE4E4E49E215CDCBCBCBCBCBCBCBCBCBCBCBCBCBCBC -BCBCBCBCBCBCBCDCBCBCBCBCBCBCBCBCBCBCDBE34D46360636363737364DE4E3E3E3E3A4 -0D07AE632121212121212121212163622162DEE3DDE39D0D0D0D0D0D0D0D0D0D0D0D0D0D -0D0D0D559DDDE2E0A0A6DAA0A0DAE0A0A0E0A659599A9AA0DAA0DAA6A0E0A0A6DAA0A6DA -A6A6E0A0A0E0DA53599A9A9AA0A0A6DAA6DAE0A6A0DAA0E0A0DAA6DAA6DAE0464D535359 -9A9AA0A0A0DAA0A0DADAA6A0DAA0A6DAA0E059E5E5E5E5E5E5E5E5E5E5E5E5E5E59D9ADA -DAA0DAA6A0E0DAA0DAA0E0A0A0DA9A9A59534D4D4D59A6DADAA0DAE0DAA0E0A0DAA6DAA0 -DAA6DAA6DAA6DAA0DAA09AA0E0A0E0A0DAA6A6DAE0A0E0DADAA6DAA6DAA6A0DAA09A9A93 -DAA6DAA0E0A0A0A6DAA6DADAA0A0DAA6DAA0E1739C395B7171717171719D000000000000 -3873717171717171A3A95B000000000000060D549C54000000000000000000009DE5AFE4 -AFE4E4AFAFE4E4AFAF5C21A5DCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCDBDCBCBC -BCBCBCDBD4DBDCE2A254464D4D464D4D0606004DE4E3E3E3E4A40D07AE21212121212121 -21212121215C62ADE3DDE3E45C0D0D0D0D0D0D0D0D0D0D0D0D0D0D0DA3E2E1E0A6A0DADA -A6A0E0A6A0DAE0A0DA938D9A9A9AA0E0A0DAE0A0E0DAA6A6DAA6DADAA0E0A6DAA68D599A -9AA0A0A0DAA0DAA6A0DAA0E0A6A0E0E0A0A0E0A0A61253535353599A9ADAA0A0DAA6A0A6 -A0E0A6A6DAA6A0E05FE5E5E5E5E5E5E5E5E5E5E5E5E5E5739AA6A0A0E0A0DADAA0E0A0E0 -A0A0A0A0A09A5953124D4D59DAA6A0DAA6A0A0A6A0DAA6DAA0A6E0A0E0A0E0A0A0DAA0A0 -9AA0A0E0A0DAA6E0A0E0A0A6DAA6E0A0A6DAA0E0DAA09A9A9A9AE0A0DAA6DAA6A0DAA6DA -A0DAA6DAA6DAA6A0DA9DA30000717171717171A336000000000038A3717171719CAA5500 -0000000000000000005455E4A300000000000000000073E5AFE4E4E4E4E4AFE4AFE4E49E -2163AEDBBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCDBDCBCBCBCBCDAE3E3A29B544D0C06 -3636373838063606064DE4E3E3E3E49D0D0DA42121212121212121212121212163E4E3E3 -E3E41A0D0D0D0D0D0D0D0D0D0D0D0D0D14A3DAA0A0A0A0E0A0A6A0DAE0E0DAA6A0DAA693 -539A9A9AA0A0E0A0A6DAA6E0A0DAA6DAA6E0A6DAA0E0A653599A9A9ADAE0A0A6E0A0E0A0 -E0A0A0E0A0A0A0E0A0A0E04D4D538D59599AA0A0A0E0A0DAE0A0DAA6DAE0A0A0DAA69AE5 -E5E5E5E5E5E5E5E5E5E5E5E5E55B9AA6A0E0A0A6DAA6DAA6A0A6A0DAA0DA9A9A59534D4D -4D93E0DAA0DAA6DAA0A6A0E0DAA6A0E0E0A0DAA0E0A0A0DAA0A09AA0A0E0A0E0A0E0A6E0 -A0E0A0E0E0A0A6DAA6DADAA0A09A9A93E0A0A0DAA0E0E0A0E0A0A0DAA6DAA6A0A6A0A0DD -9D0000A37171717171715500000000E4E5AF7171724E0000000000000000003954380600 -3761000000000000000000004EE5AFAFA4AEAFAFAFAFE4E4AFE49E212121A5DCBCBCBCBC -BCBCBCBCBCBCBCBCBCDCE4BCBCBCBCDBA24D060638403838383706380606063606373654 -E4E3E3E3E45C060DA42121212121212121212121212121AFE3E3E49D0D0D0D0D0D0D0D0D -0D0D0D0D0D73DC599AA0A0DAA0A0A6A0A6DAA0A0DAA6DAA0E09A53939A9A9ADAA0DAA6DA -A6A6DAA6DAA6A0DAA6DAA0E0A053599A9A9AA0A0DAA0A6DAA6DAA6A0A0E0A0A0DAA6DAA0 -E0124D5353599A9AA0A0DAA0A6DAA6A0E0A0DAE0A0E0A0E05FE5E5E5E5E5E5E5E5E5E5E5 -E5E5E572A0E1A0A0DAE0A0DAE0A0DADADAA6A0A09A93595353120C9AA6A0DAA6A0DAA6DA -E0A0A6DADAA0A0E0A0E0A0DAA0A0DA9A9ADAE0A0E0A0E0A0A0E0A0E0A0DADAA6DAA0E0A0 -A0A09A9A9A9AA0E0DAA6DAA0A0DAA0DAE0E0A0DAA0E0DADAA0E39D00009C717171717171 -9D00000000E5AFE5555BE3000000000000000038955406000000004E5B00000000000000 -000038E5AFAF9EA4AFAFAFAFAFAFAFE4AE2121215CA4E3BCBCBCBCBCBCBCBCBCBCBCDCAE -DBBCBCBCDBDD4636374638383837370636360636063706063654E4E3E3E3E45C0D14A421 -21212121212121212121212121A4E4E4AF5C0D0D0D0D0D0D0D0D0D0D0D0D0DA39B59DAA0 -DAA6DAE0DADADAA6E0E0A0E0A0E0A09A535993DAA0A0DAA6DAA6DADAA6DAA6DAE0A6DAA6 -DAA6E05393599A9ADAE0A0A6DAA6DAA6DAA6DAA0DAE0A0A0A6A0E0464D535353939A9AA0 -A0A0DAA0A0E0A0A0A6A0E0A0A0E09AE5E5E5E5E5E5E5E5E5E5E5E5E5E55BA0DADAE0A0A0 -E0A0A0DAA6A0A6DAA0A09A9A5953534D4D9AE0E0A0A0E0A0A6DADAA0DAA6A0E0E0A0DAA6 -A0E0DADAA0A09AA0A0E0A0E0A0DADAA0E0A0DAA6A6DAA0E0A0DAA0DAA09A9A9ADAA6A0E0 -A0E0DAA6E0A6A0A0E0A0E0A0A0A09AE39D000054717171717171A336000000E4AFAFAFA3 -06000000000000399C5B36000000000000005B00000000000000000037E4AFE4A463E4AF -AFE4AFE4E4AFE42121215C62AFDBD4BCBCBCBCBCBCBCD4DC9CA2BCBCBCBCE59C06460C40 -370C3706063736063737373737060094E4E3E3E3E45B0755A42121212121212121212121 -212121216363AE550D0D0D0D0D0D0D0D0D0D0D0D0D5CE39A9AA0A0A0A0A0A0A6A6DAA0A0 -E0A0E0A0A09A53539A9AA0DAA6DAA6DAA6A6DAA6DAA6A0DAA6A0E0A0E05359939A9AA0A0 -A0DAA6DAA6DAA6DAA6DAA6DAA6E0DAE0A60C4D4D5359599AA0DAA0E0A0E0DAA6A0E0A0E0 -A0A0E0A69AE5E5E5E5E5E5E5E5E5E5E5E5E5E595A0E0A6A0DAA6A0DAA0A6DADAA0A6A0DA -9A9A59534D124D9AA6A0E0DAA0E0DAA0A0E0A0DAA6DAA0E0A6DADAA6A0A0A09A9ADADAA0 -DAA6DAA6A6E0A0E0A6DAE0A0E0A0E0A0DAA09A9A9A9AE0A0E0A0DAA6A6DAA0DAE0E0A0E0 -A0DAA6A0A0E3A4000037A371717171717155000000E4AFE5A30000000000000000A93600 -000000000037384E3800000000000000000006E4AFE4A421AEE5E4AFE4AFAFE4E4212121 -5C5CA49CE3DBBCBCBCDADBDCDCA19BDBBCBCBCBCE5543638373837373706063740363637 -060640063695E4E3E3E3E455075CAE2121212121212121212121212121215C21AD140D0D -0D0D0D0D0D0D0D0D0D0D0D0D62E4A0A0DADAA6A0E0DAA0A6E0E0A0E0A0E0E09A53939A9A -9AA0A0A0DAA6DADAA6DAA6DAE0E0A0E0A0E0A653599A9AA0A0A0DAA6DAA0E0A6DAA6A0A6 -DAA6A0A0A6A0E04D4D535353939A9AA0A0A0DAA0A6DAA6A0E0A0A6DAA0E09AE5E5E5E5E5 -E5E5E5E5E5E5E5E5E55BA0E0DAA6A0DAA6A0DAA0A6A0E0A0A0A09A9A93534D4D129AE0A0 -A0A6DAA0A6DAE0A0E0A0E0A0A6DAA0A6A0E0DAA0DA9AA0A0A6E0A0DAA6DADAA0E0A0DAA6 -A0E0A0E0A0E0A0DA9A9A9A9AE0A0DAA6DAA6A0A6DAA6A0A0DAA0E0A0DADA9ADCAD000000 -A3717171717171A300000095E59D000000000000004E9C0D000000003673725436543838 -000000000000000000A3E5E4AF5C63E4AFAFAFE4AFAFAF212121212121BC4DA3E3DDE3A2 -A29B9353DCBCBCBCBCDDAF53363706370606373637063740373706063706069CE4E3E3E3 -E414079DE46321212121212121212121212121212121A40D0D0D0D0D0D0D0D0D0D0D0D0D -0D0D0D1AAAE2E0A0DADAA6A6DAA0E0DAA6A0E0A0A09A4D599A9AA0DAE0A0E0A0A6A6DAA6 -DAA6A0A0E0A0E0A0E05393599A9AA0DAA0A0E0A0A0A0A6DAE0A0A6DAE0A0E0A0E00C4D53 -5353599AA0A0DAA0A0A0DAA6DAA0A0A0DAA6A0A69AE5E5E5E5E5E5E5E5E5E5E5E5E5E572 -A0A6A0DAA6DAA0E0A6DAA0E0A0DADAA09A9A5953530C4D9AE0E0DAE0A0E0A0DAA0E0A0E0 -A0DADAA0E0DAE0A0A0A0A09A9ADADAA0E0A6DAA6A6DAA6DAA6DADAA6DAA6DAA0A0A0A09A -599AA0E0A0DAA6DAE0A0E0A0DAE0A0E0A0A6DAA0A0A2A43600009C5471717171719C4E00 -0054AA000000000000379C5B4E0000004E959C3600000006A354000000000000000000A3 -E5AFAF625CAFAFAFE4AFAFAFE42121212121214DBCBC9ADC9A5959595993D4BCBCBCDCAF -E44606060637373606063636360636063606060606A3E4E3E3E3AF140DACE42121212121 -21212121212121212121212162070D0D0D0D0D0D0D0D070D0D0D0D0D0D0C135CA4E2A6A6 -DADAA6E0A0E0A0E0A0DAA69A5393939A9AA0A0DAA6DAE0E0A0A6DAA6DADAA6DAA6A0E053 -59599A9AD4A0A0E0A0E0A6A6DAA6A0E0A0A0A6DAA6DAA60C4D4D4D53939A9AA0A0DAA0A6 -A0E0A0A6DAA6A0E0A0E0A0E5E5E5E5E5E5E5E5E5E5E5E5E5E55BA0A6DAA0A0E0A0DADAA6 -A0DAA6A0A09A9A9A53534D4D4DA0E0A0A0DAA0A0E0A0A6E0A0DAA6DADAA6DAA0E0A0A0A0 -9A9A9ADAE0A0E0A0E0A0A6DAA6DAA6DADAA6DAA6DAA0A0A09A9A9A9AA6DAA6DAA6DAE0A0 -E0A0E0E0A0E0DAA0DA9ADAA3615500004E717171717171719C39000D0000000000A25500 -0095E46138000000000000000038553600000000000000000054E5AEE4A42162E4AFE4AF -AFAFE4E49E21212121AFBCBCDCE359935953A1DCBC93A1AFAFE49D063740404037373740 -3706403640364040363646E4E3E3E3E3AE1313E4E3632121212121212121212121212121 -216314070D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D060DA3E1A6E0A0E0A0A6E0DAA6E0A0 -E09A53939A9A9ADAA6A0E0A0E0A6DAA6DAA6DADAA6DAE0A0A6535393599AA0A0DAA0E0A0 -A6A6DAA6DAA6A6A6DAA0E0A0E00C4D4D5353939A9AA0A0DAA0A6A6E0A0A6A0DAA0A6A6DA -A0E5E5E5E5E5E5E5E5E5E5E5E5E5E573A0E0E0A0E0A0A6DAA6DAA0A0DADADAA09A9A5953 -4D4D129AE0A0E0A0E0A0A0DADAA0A6A0DAA6A6DAA6DAA6DADAA0A09A9AA6A0E0A0E0A0E0 -DAA6DAA6DAA6A0E0A0DAA6A0DAA0A09A9A9ADAA6DAA6DAA6A0E0A0DAA0A0E0A0A0DAA09A -A09D719C00DDAD71717171717171719CDD00000000369C0600009CAA5500000000000000 -0000005455000000000000000000004EE5AFAFAD5C21A4E4AFAFE4AFAFE4AD5C212121AE -BCBCE3E25953599BDCBCBCDAAFAFE4AF9C06373837403737370606360636363737403600 -4DE4E3E3E3E3A40D55E4E3A42121212121212121212121212121219E0D0D0D0D0D0D0D07 -0D0D0D0D0D0D0D0D0D071372DDE1A0A0E0A0E0DADAA0A6DAA0E0A09A53539A9AA0A0DAA0 -A6DAA6E0A0E0A0E0A0A0E0A0A0E0E05359939A9AA0A0A0A6DAA6DAA6A0DAA6DAA0DAA6A0 -DAA6A6464D535359599A9AA0A0A0DADAA0A0E0A0E0A6DAA0DAA6A0E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5959AE0A0DAA0A0DAA6A0E0A0E0A0A6A0A09A9A9353534D4D9AA6E0A0E0A0E0 -E0A0A0E0DAA0E0A0E0A0DAA6DAA6A0DA9A9A9ADAE0A0DAA0E0A0A6DAA6DAA6DAE0A6DAA6 -DAE0A0DA9A9A939AA6DAA6DAA0E0A6DAA0A6DADAA0A6DAA6A09ADB9D717100E5E5717171 -71717171719CA300000054A20D0095E45500000000000000000000000095380000000000 -00000000000CE4AEAFAE5C21A4AFAFAFE4AFE4AFE463212121DDBCBCE3E393539BDCBCBC -DAAEAFE4E5E4943637404006064040063737364006373637360054E4E3E3E3E3A40D73E4 -E3AE632121212121212121212121212121A40D0D0D130D0D0D0D0D0D0D0D0D0D0D0D0713 -DDE2E0A0E0E0A0E0A0A6A0DAE0A0E0A0A0A04D599A9ADADAA0E0A0E0A0A0E0A0E0A0A6E0 -A0A6E0A0E05353599A9A9ADAA0DAA6DAA0A0E0A6DAA0A6A0A6DAA6A0E012124D5353939A -9A9ADAA0A0A6A0E0A0DAA0A0A6E0A0A69AE5E5E5E5E5E5E5E5E5E5E5E5E5E572A0E0DAA6 -DAA6DAA0DAA0DAA0A0DAA09A9A9A5959534D4DA0E0A0E0A0DAA0A0A6E0A0A6DAA6A0A0DA -A6DAA0DADAA0A09A9AA6A0DAA6E0A0E0DAA6A0DAA6A0A0DAA6DAA6A0A09AA09A9A9ADAA0 -DAA0A6DADADAA6DAA0A0A6DAA0A0DA9AE15C717155E5E57171717171717171A3060046A2 -5B0000E4AA0D00000000000000000000000000A2000000000000000000000000E4AEAFAF -632162AFAEAFAFAFAFE4E463212121BCBCBCBCE3DDA2DCBCBCBCA2A35B0C37065B004037 -063736363706360636403636363706369CE4E3E3E3E3A40773E4E3E46321212121212121 -21212121212121AE070D0D0D0D0D0D0D0D0D0D0D0D0D0D0D73DDA09AA0A0A0A0E0A0A6DA -E0A6A0A0E0A0E09A53939AA09AA0A0A0E0A0E0E0A0A0E0A0E0E0A0E0A0E0A6538D599A9A -A0A0A0A6DAA0A6E0A0A0A0A6E0A6DAA6DAA0E0464D4D4D53599A9AA0A0DAA0A0DAA6A0A6 -A6A6DAA0A6DAA0E5E5E5E5E5E5E5E5E5E5E5E5E5E59CA0A0A0A0A0DAA6DAA0E0A0E0A0A6 -A09AA09A9353534D4DA0DAA6A0A0E0A0E0DAA0E0DAA6DAE0E0A6DAA6DAA6A0A09A9A9ADA -E0A6DAA0E0A0A6DAE0A0DAE0E0A0E0A0DAE0DAA0A09A9A9AE0A0A6E0DAA0A6A6DAA6DADA -DAA0E0DAA09AE25B71719DAFE5717171717171719C5500739C06008FE45B000000000000 -0000000000000000545B000000000000000000000000A3AEE4E463215CE4E4AFAFE4E4E4 -E4A4212121DDBCBCBCBCDCA1BCBCBCE24DA2360000005400373636363636373736064037 -063606063606A3E3E3E3E3E49D0773E4E3E4A42121212121212121212121212162AD0713 -0D0D0D0D0D0D0D0D0D0D0D0D55DDA25F9AA0A0DADAA0E0A0DAA6A0DAA6E0A0E0A09A4D93 -9A9AA0A0E0DAA0E0A0A0E0E0A0E0A0A0E0A0E0A0E05353939A9AA0A0DAA0A6E0DAA0E0E0 -A0E0A0A0A6DAA6A0E012464D5353939AA0A0A0A0A0A6A0DAA6DAA0A0A0E0A0E09AE5E5E5 -E5E5E5E5E5E5E5E5E5E5E572A0E0E0DAA6A0DAA6A6A0DAA0E0A0DAA09A9A5953534D4DA0 -E0A0DAA6A0E0A0A6A0A0A0E0A0A0A0DAA6A0A6DADAA09A9A9AA6A0DAA6DAA0E0E0A0A6DA -A6A0A0E0A0E0A0A0A0DA9A9A9A9AA0E0A0A0E0A6DAA0DAA0A6A6A0E0A0A6DAA0DC397171 -9DAFE5717171717171549C00365B0672E4E5E5000000000000000000000000000000A237 -00000000000000000000000095AEAEE4A45C21E4AFAFAFAFE4AFE4A4212121A4DCBCBCBC -BCBCBCDBE25A06DD060000369C5454544E4D0636360036060606363636360646E4E3E3E3 -E3E499069DE3E3E3A45C21212121212121212121212163A40D0D0D0D0D0D0D0D0D0D0D0D -0D55E39A53539A9AA0A0A0E0A0E0A6DAA6E0A0E0A0A0E09A53539A9AA0DAA0A6DAA6DAA0 -A0A6DAA6DADAA6DAA6DAA65353599A9A9ADAA0E0A0A0A6A0A0A0E0A0A0A6DAA6DAA6A64D -124D4D59599A9A9ADAA0A6DAA6A0DAA6A0A6DAA0A0A6A0E5E5E5E5E5E5E5E5E5E5E5E5E5 -E59D9AE0E0A0DAE0A0A0A6A0A0A0A0E0A0DA9A9A5953534D4DA0A6DADAA6A0A0E0A0A0A6 -DAA0E0A0DAA6DAA0A0A6A0D4A09A9AA0A0E0A0E0A0E0A6DAA6DAA6DAE0A6DAA6DAA0A0DA -9A9A9A9AA0E0A0A0E0A0DAA0DAA0A6DAA0A6DAA6DAE2AC4E377106A4739CA35B39959C0D -73A373E4E2A1A1E1E30000000000000000000000000000A3370000000000000000000000 -00000CAFAEE4AF6321AFAFE4AFAFAFAEAFAE5C9EE454539CE4A5A35353549CDCA294544D -46403636364040404D549BA2DC9C3600360606370695E4E3E3E3E3E45C0DA4E3E3E3E463 -212121212121212121212121A45C0D0D0D0D0D0D0D0D0D0D0D0D55E4DC9B59939AD4A0A0 -E0A6A0DAA6DAA0E0A0A0E0A0A09A53599A9AA0DAA0E0A0E0A0A0A6A0E0A0E0A6DAA6DAE0 -A653599A9A9AA0DAA0E0A0A0E0A6DAA0A0E0A0A6DAA0E0DAA60C4D4D5353599A9AA0A0A0 -A0A0DAA0A0E0A0A6DAA6A0E05FE5E5E5E5E5E5E5E5E5E5E5E5E5E5749AA6A0DAA6A1E0A6 -E0DAE0DAA6DADA9A9A9A59935353539AE0A0A6DAE0A0DAA6DAA0A6DAA6DAA6DAA6E0DAA0 -A0A0A09A9AA0A0A0E0A0DAA6DAA6DAA6DAA0A0DAA6DAA6DAA0A0A09A9A9AE0A0E0A0DAA6 -A6A0A6DADAE0A0E0E1E2A29C9DA3A9A35B559D739C9C9C5B069DE5ADADE2DBDBA1E2E300 -0000000000000000000000004E9C000000000000000000000000000000AFAEAEE46321AE -AFAFAEAFAEAFE4AEAEE35336363653A4AD9CA3DC9B533600000036364036403640363600 -36364694DC944036360606A3E4E3E3E3E3E45506A3E3E3E3E4A421212121212121212121 -215CAE1A0D0D0D0D0D0D0D0D0D0D0D0D0D1A5BA4DC599AA0A0DAA0DAA6A6DAA6E0A6DAE0 -A0E0E09353939A9AA0A0A0DAA6DAA6E0DAA6A0E0A0DAA6DAA6A0E0538D599A9AA0A0DAA0 -E0A6A0A0A0E0A6DAA6A0A6E0A0A6E04D4D535353939AA0A0DAA0DAE0A0A6DAA0A0A0A0A0 -DAA69AE5E5E5E5E5E5E5E5E5E5E5E5E5E59E9AA6A6A0DAA6A0DAA0A0A0A6DAA0A0A09A9A -9A59534D4DA0E0A0DAA0A0E0A0DADAE0A0A0DAA6DAA0DAA0A6DADAA09A9A9AA0DAA6A0E0 -A0E0A6DAA6DAA6DAE0A0DAA6A0A6A0DA9A9A9A9AE0A0DAA6A0E0DAE0A0A6A0A6E2A25406 -000000060C549DE4A4A394539A0006E4A3ACAEDBDBDBDCE2A30000000000000000000000 -0000A906000000000000000000000000000000E5AEE4E4A421A4E4AEAFAFAEE4AFE5A246 -0040400036A2AEA2534636364040404040404040404040404040403600004DA2E35A3600 -46E4E3E3E3E3E4E5550C9DE3E3E3E3AF632121212121212121212163AE130D0D0D0D0D0D -0D0D0D0D0D0D0D0D065CE3599A9AA0A0A0DADAA6A0DAA6A6A0A6DAA0A09A53939A9AA0DA -A6A0E0A0E0A6DAE0A0A6DAA0E0A0DAA6E05359599A9AA0A0A6DAA0DAA0DAA6A0DAA0A6A0 -DAA0E0A0E0124D4D5359939A9AA0A0A0A6A0E0A0A6DAA6A6E0A6A0E05FE5E5E5E5E5E5E5 -E5E5E5E5E5E5E5995FE0DAA6DAA0E0A0A0E0A0DAA0E0DAA09A9A9A9353534D9AE0A6A6A0 -E0A0E0A0A0A0E0DAA6A0A0E0A6A0DAA6A0A0A09A9ADAA0DAA6DAA6DADAA6DAA6DAA6A0E0 -A0DAE0DADAA0A0A09A9AA6DAA6DAE0A0A0A0DADAA0A255000000000000000000000C559D -9B93A100000606E4E3DCDBA2DBE29D0000000000000000000000009C5500000000000000 -000000000000000000E5AEAEE4A45CA4E4AEE4AFAFAFE5A340364036408DA2E34D364040 -404040404040404040404040404040404040404000004DA2DC4E53E4E3E4E39C54E35C0D -A3E3E3E3E3E49E21212121212121212121A4A40D0D0D0D0D0D0D0D0D0D0D0D0D070D73E3 -9A599A9AA0DAA0A0A6DAE0A6DADAE0DAA6A0E09353599A9AD4A0DADAA6DAA6E0A0A6DAE0 -A0DAA6DAA6DAA65353939A9A9ADAA0A0E0A6DADAA6DAA6A6DAE0A0A6A0A0A64D53535353 -599AA0A0DAA0DAA6A0A0E0A0A0DAA0DAA0A69AE5E5E5E5E5E5E5E5E5E5E5E5E5E59E93E0 -A0DAA6DAA0E0DAA6DAA0A6A0A0A0A09A5959534D539AA6DADAA0E0A0A0DAA0E0A0A6A0DA -A6DAA0DAA6DAA0DA9A9A9AA0DAA6DAA6DAA6A6DAA6DAA6DAE0A0DAA6A0A6A0A0DA9A9A9A -E0A0DAA6A0DAA6DAA6A0A673000000000000000000000000364E5BA25500000095A3E3DC -DCDCE2E4730000000000000000000000009D0000000000000000000000000000000000E5 -AFAEAFAF5CA4E4AEE4E4AFE5A90C3640364DDCE35A463640404040404040404040404040 -404040404040404040404036003654A89CE5E4610C36009C5C0DA4E3E3E3E3E3E4632121 -21212121212121A45C070D0D0D0D0D0D0D0D0D0D0D0D0D9DE29A53599AA0A0A0DAA6DAA6 -A0DAA6A6A0A6A0E0DA5953939A9AA0DAA6A6DAA6DAA0A6DAA6A0A6A6DAA6A6DAA6535959 -9A9AA0A0A0E0A0A0A6A6DAA6A0DAA6A6A0E0DAA6E00C534D53539A9A9AA0A0A0A0DAA0E0 -A0DAA6A6A0A6A0E059E5E5E5E5E5E5E5E5E5E5E5E5E5E5AE5FA6A7A0A0A0E0A0A6DAA0E0 -A0DAA0DA9A9A93535353129AE0A0E0A0E0A0E0A0A6DAA0DAE0A0DAA6E0A0DAA0DAA0A09A -9AA0A6DAA6DAA6DADAA6DAA6DAA6A6DAA6DAE0A0DAA0A09A9A9AA6DAA6DAA6DADAA0E0DA -E35B0000000000000000364E95A3DDE4070000004EA20D06E3A1DBE3A3A3550000000000 -00000000000046000000000000000000000000000000000000E4AFAFAFE49E9EE4AFAEE4 -AEAF4D00363646E394463636404040404040404040404040404040404040404040404040 -404040360006E5A94D00004040DC1A0DA3E3E3E3E3E3E3E421212121212121215CAE1A0D -0D0D0D0D0D0D0D0D0D0D070DAEA1535353939A9ADAA0A0DAA6DAA6A0E0E0DAA0E0A0A659 -8D599A9AA0A0DAA0A6DAA6A6DAA6DAA6DADAA6DAA0E0A6538D9A9AA0A0A0E0A0E0A0DAA0 -A6DAA6DAA0A0DAA6A0DAA64D5353535993A0A0A0DAA0E0A6DAA0A6A0A0DAA6DAA6E059AF -E5E5E5E5E5E5E5E5E5E5E5E5E5DF53A6A0A0DAA0DAA0DAA0A6DAA0A6DAA09A9A9A59534D -5393A6E0E0A0DAA6A0A0A0DAA0E0A0E0DAA0E0A0DAA6A0DAA09A9A9AE0A0E0DAA0E0E0A0 -E0A0A0E0A6DAA6A0DAA6A0A0DAA09A9AA6E0A0E0A6DADAA6DAA0E100000000009CA9E49D -9DE4AEE4E39595A35B5B000000009CA3A35953DC0700000000000000000000A255000000 -000000000000000000000000000000A3E5AEAFAFAF63E4AEAEE4AF4D0046DCE353364040 -404040404040404040404040404040404040404040404040404040404040364D06364040 -4040369C5C0DA4E3E3E3E3E3E3E3E49E212121212121A49D0D0D0D0D0D0D0D0D0D0D0713 -A3A4534D535359939A9AA0A0DADAA0E0A6DAE0A6DAA6DAA0E05353939A9AA0DAA0A6DAA6 -A6A6DAA6A0A6DAA0E0DAA0A6DA5359939A9AA0DAA0A0A6A0A0DAA6A0A0A6A0A6A0A6A0E0 -A6124D535959939A9ADAA0E0A0DAA0A0E0A0A0A0DAA6A0E053E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5AF53E0A0E0A0E0A0E0DAA6DAA0A6DAA0A0A09A5F9353534D5FE0DAA0DAA6A0DAE0 -A6DAA6A0E0A0A0E0A6A0A6DADAA09A9A93A0A0E0A0A0E0A6A6DAA6DAA6DADAA0A6DAE0A0 -A0DAA09A9A9ADAA0E0A0DAA6A6DAA0E09C00003794A25B00065BA95B065AE3E573000054 -0000000071599B5353A3360000000000000000009CAE0000000000000000000000000000 -000000000095E5AFE4AFE463E4AFAEAFAF004DE3A2463640404040404040404040404040 -4040404040404040404040404040404040404006469340400640404006949D0DA4E3E3E3 -E3E3E3E3E2E49E2121212121AE5B070D0D0D0D0D0D0D0D074CAE69215353535393599AA0 -A0DAA6E0A6A0DAA6A0DAA6DAA0A6E053539A9A9AA0A0A0E0A0A6DADAA6A0E0DAA6E0A0A0 -A6E0A08D599A9A9AA0A0DAA6DADAA6A6A0E0DAA6DAA0E0A0DAA0E0124D53539359A0A0A0 -A0A0A0A6A0E0A0A0E0DAA0A6DAA659E5E5E5E5E5E5E5E5E5E5E5E5E5E5AF53E0E0A0A0A0 -E0A0A6DAA0E0A0A0A0DA9A9A9A9359534D59E0A0A0A6DAA0E0A0A0A6DADAA0E0E0A0DADA -A0A6A0A0A09A9A9AA0DAA6DAA6DADAA6DAA6DAA6A6DAE0A0A6DAA0DAA0A09A9AE0A0DAE2 -DAA6DAA6DAE11354959C550600379C55060000000CA3E40000374E00000037539B5393A3 -0000000000000000009CE5A4000000000000000000000000000000000000004EE5AFAFAE -AF63E4E4AFAFAF4DE49C4040404040404040404040404040404040404040404040404040 -40404040404040404040464040404040404D0053A30DA3E3E3E3E3E3E3E3E3E2E4632121 -2121AE140D0D0D0D0D0D0D0D0755E4632121534D535959939AA0DAA0DAA0DAA6DAA0E0A6 -DAA6E0DAA6538D59A0A0DAA0E0A0E0DAA6A6DAA6DAA6DAA0E0A6DAA6A05359939AA0A0A0 -A6DAA6A0E0DAA6A0A6DAA6DAA0E0A0A6E046535353599A9AA0A0DAA0E0A0E0A0A6DAA0A0 -E0A0A0A05AE5E5E5E5E5E5E5E5E5E5E5E5E5E5E553A6A0E0A0E0A0A6DAA6A0A0E0A0A0A0 -DA9A9A5F53534D59E0A6E0A0E0A0A0A6E0A0A6A0E0A0A0E0A0A6DAA0DAA0D49A9A9AE0A0 -DAA6DAA0A6DAA6DAA6DADAA6A0E0A0E0E0A0DAA09A9AE2E2E2DCE2DBA0DAA6A754A31300 -000006610D000000000000005B9D000038000000005953539B7300000000000000009CE5 -E59D0000000000000000000000000000000000000037E4AFAEAFE49EAEE4AEAEAEE45A36 -404040404040404040404040404040404040404040364040404040404040404040404040 -4040404000469B9B364DA313A3E3E3E3E3E3E3E3E3E3E3E46321219EA40D0D0D0D0D0D0D -0D0D73AE6321216253535359535FA09AA0A0A0A6DAA6A6DAA6DAA6DAA0A6E04D599A9A9A -A0A0DAA6A0A6DAA0A6DAA6A0A0DAA0E0A0E0A053935F9A9A9ADAA0A0DAA6A0A0DAE0A0A6 -DAA6A0A0E0A0A6464D5359935FA09AA0A0DAA0A0A0E0A0A6DAE0A0E0A0A094E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E554A0A1A0DAA0DAA0A0DAA6DAA0E0DAA0A09A9A9353534D53A0DA -DAA0DAA6DADAA0DAA0E0A0DAA0E0A0E0A0E0A0A0A09A9A9AA0E0A6DAA6A0A0A6DAA6DAA0 -DAA6DAA0E0A0A0A0A09AA0A187A1DADBDCE3E0A0A0DCE500000000949C00000000000000 -0000005B55000000000000934D4DA1550000000038000095E5AEE5730000000000000000 -000000000000000000000000E4AFAEAFAFADAEAFAEAEAF5A004040404040404040404040 -404040404040404040404D4D4036404040404040404040404040404040364DDCE3464046 -A313A3E3E3E3E3E3E3E3E3E3E3E3AF5C5CAD5C070D0D0D0D0D0D070DA462212121624D53 -539359939AA0DAA0DADAA6DADAA6DADAA6A0E0A0E053539A9A9AA0A0A0E0A0DAA6E0A0E0 -A0E0A6A6DAA6A0E09A5359599A9AA0A0A0DAA6A0DAE0A0A6DAA0A6A0E0A6A0E0A0125353 -59599A9AA0DAA0A6A0DAA6A0DAA0A6A0A6A0E0A05BE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -5AA0A0E0A0E0A0A6A0A0DAA0E0A0A0A0A09A9A9A53535353E0E0E0A0A6DAA0A6E0A0E0A0 -DAA6E0A0DAA0E0A0A0DAA09A9A9AE0A0A0DAA0E0A0DAA0DAA0A6DAA6DAA6DAA0A0DADAA0 -E2DB8787878787DBE2A7DAE2E200004EA255000000000000000000000000A20000000000 -4E535353E20D000000394E0000E5AFAEE573000000000000000000000000000000000000 -0000A3E5AEAFAFAFAEAFAEAFE53640404036404040404040404040404040404040404040 -53E2DC463640404040404040404040404040364DDC549B463646AD1AA3E3E3E3E3E3E3E3 -E3E3E3E3E3A462E41A070D0D0D0D0D0714AC2121212121624D535359539A9AA0A0A0E0A6 -DAA6A0E0A0A0E0A0E0A0E04D599A9AA0DAE0DAA6DAA6DAA0E0A0E0A0DADAA6A0DAA69A93 -59939A9AA0A0DAA6A0DAA6A0A6DAA0A6DAE0A0DAA0E0A04D4D4D9359939AA0A0A0DAA0A6 -A0E0A0A6DAE0A0DAA69A95E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5959AA0E0DAA6A0E0DADA -A6A0E0A0A0A0A0A09A9353535353A0E0A0DAA6A0DAA6DAA6A0A0E0A0A0E0A0A0E0A0A0A0 -D4A09A93E0A0DAA0A6DAA0DAA0A6A0A0A0E0A0A0E0A0A0DAE2DC87878787878787DB87E2 -DAA6DAE5390C360000000000000000000000000000A3A29CA3E4A294A1E40D0000005B4E -0000959DAFAEE573000000000000000000000000000000000000000054E5AFAEAEAEAFAF -AFAE0C4040409BE246404040404040404040404040404040404040403694DC4040404040 -4040404040404040949B008E9B06369C6213AEE3E3E3E3E3E3AEE3E3E3E3E3E4A462070D -0D0D0D0D0D55555BA3AF9E2121624D535953939A9AA0A0DAA6DAA6A0E0A0A6A0A6DAA6E0 -A053599A9AA0DADAA0A6DAA6A0E0A0A6DAE0A0DAA6DAA0A6595393599AA09AA0E0A0DAA0 -A6A6DAA0A6DAA0A6DAA6DAA6A0124D5359935F9AA0A0A0DAA0A6A0DAA0A6DAE0A0A0E05F -99E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5745FA0A0A0DAA7DAA6A0DAA0A0E0A0DAA09A9A5F -5953534DA0E0DAA6DADAA6A0A6DADAA6DAA6E0A0DAE0A0E0DAA0A09A9A9AA0E0A0E0DAA6 -A0E0A6DAE0DAE0A0E0DAA0E0DAA7E4DBDA87878787878787DBE2DAA0A6E24C06A9370000 -000000000000000000000000060600004EA3A313000000729C000000A39DE5AEE59D0000 -00000000000000000000000000000000000046E4AFAEAFAEAEE4E55A0006069CE3534040 -4040404040404040404040404040404040404036A1944040404040404040404040404D40 -409B533640E31A0DA4E4E3E3E3E3E3AEE3E3E3E3E3E4AD1A070D0D0D0D0D0D0D070D0672 -E421215B535353935F9AA0DAA0DAA0A0DAE0A0E0DAE0DAA6A0E0A059939A9A9AA0DAA6DA -A0A6DADAA6DAA6A0E0E0A0A0E0DA9393599A9A9AA0A0A0A0A6A0E0A0A6E0A0A6DADAA6A0 -A0E09A4D4D5359599A9AA0DAA0A6A0DAA0A6DAA0A6A0E0A0E05FADE5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E59E5FDAA6DAA6DAA0DAE0A0A6DAA0DAA0A09A9A93535353539AA6A6DAA0A6 -A0DADAA0A6DAA0A0A0DAA6A0E0A0A0A0A09A9A59E0A0E0A0A6DAE0A0DAA6A0A6A0DAA0A0 -E0A0A6E3DB878787878787878787E2A7DAA6DBA6E172A3E34C0000000000000000000000 -000000360000000000000000009C0000004E9DA3AFAEE5AC000000000000000000000000 -000000000000000000E4AFAEE4AEAEAFE446363694E34636404040404040404040404040 -4040404040404040404046A13640404040404040404040404040404D06408EA30D0DA4E4 -E3E3E3E3E3E3E3E3E3E3E3E3A40D0D0D0D0D0D0D0D0D0D0D72ADA421215B53535359599A -A0A0A0A6A0DAA6A0E0A0A6A0A6DAA0E09A53599A9AA0A0A0E0A0A6DAA6A6DAA6A0E0A0A0 -A0E0A6A6535993599A9AA0A0DAA0E0DAA6A6DAA0A6DAA0A0A0DAA0E05F4D535353939AA0 -A0A0A0DAA0A0A6DAA0A6DAE0A0A0A659DFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AE59A0A0 -DAA0A0E0A0A0DADAA6DAA0DAA0A09A9A9353534D9AE0DAA6DAA0E0A0A6E0A0E0A6DAE0A6 -DAA6A0DAA0DAA09A9A9AE0A0A0E0A0A6A6DAA6DAE0A0E0A0E0A0A0E0E3DCDADA87878787 -DA878787E2DAA0DAA6A0DAE1DCE0E1370000000000000000000000000038543800000000 -004EA300000000955BA3AFAEAFAD000000000000000000000000000000000000000000A3 -E5AEAFAFAFE59C36404DE34D064040404040404040404040404040404040404040404040 -3653404040404040404040404040404040364036E31A0C0DA4E3E3E3E3E3E3E3E3E3E3E3 -E3E3620D0D0D0D0D0D0D0D070D72AA632121625A53535359939AA0DAA0DADAA0E0A0A0E0 -A0DAA6A0E0A659539A9AA0DAA0A6A0E0DAA6DAA0E0A0E0A0A6E0A0A6DAA05353599A9AA0 -A0A0A6DAA0A6A0A0A0E0A0A6DAE0A6A0E0A693535353599A9AA0A0DAA0A0A6A6DAA0A6DA -A0A0A0DAE053E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AE53A0E0A0E0A0A0DAA6A0A0A0E0 -DAA0DAA09A9A5353534D5FE0A6DAA6DAA0E0DAA0DAA0DAA6A0DAA6DAA6A0DAA0A09A9A93 -A6DAA6DADAA0DAA6DAA0A0E0E0E1E1E1E1E0AEDBA187878787DADADBDB87A7A0E0A0DADA -A0A6A0A0A0E29C3800000000000000000000000006545B737295A36107000000009C39A3 -E5AFE5E53800000000000000000000000000000000000000009CE5AEAFAFAFE55400409C -5A3640404040404040404040404040404040404040404040404040404040404040404040 -40404040404040400646620D0D0DA3E2AEDDDCE3E3E3E3E3E3E3E3E3140D0D0D0D0D0D07 -0755AEAA212121216253535353599A9AA0A0DAA6A0A6DAA6DAA6DADAA0E0A0E05393599A -9AA0DADAA6A0A6DAA6A6A0E0A0E0A0A0E0A0E0A05393599A9A9A9ADAA0A6DAA0E0E0A0A0 -E0A0A6A0DAA6A0E0594D535959599AA0A0A0DAA0DADAA6A0A0A6DADAA6A0A653E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E553A6A1DAA0A6DAA0DAA6E0DAA0A0A0A0A09A9A59535353 -93A6DAA6A0A0E0A0E0A0A6E0A0E0A6A6DAA0DAE0A0A0DAA09A5FDAA6DAA0A6DADAA0A0E0 -A0DAE36155555BA2E3DA878787878787878787DBDAE0A0DAA6DAA6DAA0E0DAA0E1E29C72 -370000000000000000000000000C0D37000000000000009C719DE5997474AE954E000000 -00000000000000000000000000000054E5AEAEAEAFE4463640A240404040404040404040 -404040404040404040404040404040404040404040404040404040404040404040404093 -1A060D13ADE4AFAFE3E3E3E3E3A2E3E3DDE30D0D0D0D0D0D07139DAA6321212121216253 -535359939A9AA0DAA0A0DADAA6DAA6DAA6A6E0A0E0A053539A9AA0A0A0A0DAA6DAA6A0A0 -E0A0E0A0E0DAA6DAA69A5359939A9AA0A0A0DAA0A0E0A0A6DAA6A0E0A0A6A0A0DAA65353 -5353939A9A9AA0A0A0A0A6A0DAA0E0A0A0A0A0E0A05AE5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E572E0A0DAA6DAA0A0A6A0E0A0DAA6A0DAA0A09A5359535353A0A6DAA6A0E0DADADA -A6E0A0A0A6A0DAA6DAA0DAA0A09A9A9AA0DAA0A0E0A0E1E1A0E0E2A400000000000000A2 -E18787878787878787E2DAA6A0E0DADAA0E0A0DAA6A0A0A09A9A59609BA2A3AAA4A3A3A3 -A3A4A4A469AB720000000000009C7171717171717171717174AD72000000000000000000 -000000000006E4AFAFE4E59C064040404040404040404040404040404040404040404040 -404040404040404040404040404040404040404040404040364DE4DCD58D817B7B8DDC81 -8187AEDDE4AFE4620D0D0D0D070DAE6321212121212121625A4D5353599A9A9AA0A0DAA6 -DADAA6DADAA0A6A6E0A6E09A53939AA0DAA0A0A6DAE0A6DAA6A0E0DAA6A6DADAA0E0A659 -5393939A9AA0A0A0DAA6A0A6A0A6A0DAA0A6A0A6A0A0E0A0125353599A9A9AA0A0A0A0A0 -A0A0A0DAA6DAA0A0A0E09A73E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E595A6DAA0DAA6DA -DADAA0A0E0A0DAA0A0A09A9A9353535353A0A0E0A0DAA0A6A6A0DAA0E0A6A0E0A0A0E0A0 -A0A0DA9A9A9AA0E0A6DAA0E19DA3E3A2615BA29C4E000000004EE287878787878787DCE2 -E0DAA6A0A0A6A0A0E0A0DADAA0DAA09A9A534D0C5463286363632828212121A471000000 -0000009C557171717171717171717171A3380000000000000000000000000000A3E5AEAF -E59536404040404040404040404040404040404040404040404040404040404040404040 -40404040404040404040404040469CE387817B7B7B7B7B81E2877B7B9B818DE3AFA3070D -0D0739AD272121212121212121625353535959939AA0DAA0A0DAA6A6DAA6A6DAA6A0A0DA -A6594D939A9AA0DAA0A0A6A0A0A6DAA6A0A6DAA0A6A6DAA0DA5953595F9AA09AA0A6A0DA -A0DAA6DAA6A6DAA0A6DAA6DAA69A465353535F9A9AA0A0DAA0E0A0A6DAA6A0A0E0DAA0A6 -5FACE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E599E0A0A6A0A0A7A1A6A6DAA0A6A6DAA0DA -A09A93595353539AE0A0DAA6A0DAA0DAA6DAA0DAA6DAA6E0A0DADAA0A0A09A9AA0A0DAA0 -E29D00005B9D00000613A2A237000038E28787DADBDA8787E4A9A2E2DAE0A0A0E0DAA0A6 -DAA0DAA09A9A9A53534D4D5C5C215C212121212121A44C0000000000009C557171717171 -71717171717171E474000000000000000000000000009CE5AEAFE55A3640404040404040 -404040404040404040404040404040404040404040404040404040404040404040404040 -404040E2DC7B7B7B7B7B7B7B7B7B9BD67B7B7B7B7B878DD65C0D0739DEA4212121212121 -2121215B53535359599A9A9AA0A6DAA6A0E0A0A0DAA6DAA6E0A6DA53539A9AA0A0A0DAE0 -DAA6DAE0A0A0E0A0DAA6DADAA6E0A05353939A9AA0DAA0DAA6A0E0A6A0A6A0DAA0A6DAA0 -A0A0E05F12535359599AA0DAA0A6A0A0A0A0A0A0E0A0A0A6A0E059AEE5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E59EE0A7DAA0DAE0A6DADAA0A6DAA0A0DAA0A0A0935953534D9AA0DA -A6DAA0E0E0A0E0A0A6DADAA0DAA0A6DAA0A0DAA09A9A9ADAA6E0A300000006A300000000 -0013E3380095E2878787878787E173000054E3A6DAA0E0A0A6DAA6E0A0A0A09A9A595353 -4D5B212121212121212121A438000000000000957271717171717171717171717171A3E4 -39000000000000000000000055E5E4AFE55A404040404040404040404040404040404040 -40404040404040404040404040404040404040404040404040404040E394817B7B7B7B7B -7B7B7B7B7BA17B7B7B7B7B7B7B81E39D55AE69212121212121212121625A535353539A9A -9AA0DAA0E0A0DAA0E0A0E0A6DADAA0E09A4D539A9AA0A0DAA0A0A6DAA6A0A6E0A0DAA6DA -A6A6A0E0A053935F9A9AA0A0A0A0A0E0A0A0E0A0DAA6A6DAA6A0E0A0E059465359939A9A -9AA0A0A0DAA0E0DAA6DAA0E0A0A0DAA653E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AF -E0A0A0E0A0A0A0A0A6DADAA0A0E0A0A0DA9A9A5953535359DAA6DAA6DAA0A0E0A0DAA6A0 -A0E0A6DAA0A0A0DAA09A9A9A9AA6DAE30D00000000A336000000000012A94EE3DADADA87 -8787DAE20700000055E2A0DAA0DADAA0DAA0DAA0DAA09A5953534D546321212121212121 -63AF36000000000000957271717171717171717171717171715BE49D0000000000000000 -000039E5AFAEAF9436404040404040404040404040404040404040404040404040404040 -4040404040404040404040404040404040E3CF87DC937B7B7B7B7B7B7B7B7B7B7B7B7B7B -7B7B7B7B81DCE5632121212121212121212162534D5359939A9AA0A0A0E0A0E0A0A0A0E0 -A0A0A6A6DAA6934D599A9AA0DAA0A6DAA6A0DAA6DAA0E0A6A0A6A0DAA6E09A53599A9A9A -A0DAA0A6E0A0DAA6A0A0A6DAA0A0A0E0A0A6E053465359935F9AA0A0DAA0A6A0A0A6A0A0 -A6A0A0A0A6A059E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5A6DAA0A0E0A0E0DAA0A6 -A0E0E0A0DAA0A0A0935993535353A6A0A0DAA6A6DAA0E0A0DAA6DAA0DAA6E0A0A0A0A0A0 -9A9A59DAE1730000000000A3360000000000005AE2DA87DADB878787DAA20000000006E3 -E0A6E0A6A6DAA0E0A0DAA0A09A9353534D5362212121212121A4E5AD0000000000000055 -7271717171717171717171717171717171A3E400000000000000000006E4AFAFE5953640 -4040404040404040404040404040404040404040404040DC944040404040404040404040 -4040404040409CDC8DE39B817B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B81DCA42121 -21212121212121625A4D535359939A9A9ADAA0A0DAA0E0E0A0A6DAE0A0DAA6E05953939A -A0A0A0DAA0A0DAA6E0A0A0A6A0DAE0A0E0A0DAA69353599A9AA09AA0DADAA0A6A0DAA6E0 -A0A6DAA6DAA0DAA0A04D4D5359939A9A9AA0A0DAA0E0A0DAA6DAA0E0A0A0DAA05BE5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E59AE0A0A0A6DAA6DAA0E0A0A6E0A0A0DAA0A09A59 -59535353E0A0A6A0DAA0A0DAE0A6DAA0DAA6A0A0E0A0A6DAA0A0A09A599AE23600000000 -00A2000000000000005B8787878787878787E20D000000DDE2A0A0DAA6DAE0A0DAE0A0A0 -DAA09A9A9353534D532121212163E54F9C72000000000000004E74717171717171717171 -71717171717171717171E47200000000000000A3E5AEAFA3404040404040404040404040 -4040404040404040404040945B00009C9B404040404040404040404040404040CF949B7B -7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B8D817B93AE6221212121212121615353 -535359939AA0A0A0DAA0A0E0DADAA0A6A0A6DADAA69A5359939AA0A0A0E0A0A6DAA6DAA6 -DADAA6DAA6DAA0A0DAA05353599A9AA0A0A0DAE0A0DAA6A0E0A0DAA6DAA0E0A0DAA69A46 -4D53599A9A9AA0A0A0A0E0A0A6E0A0DAA0DAA6A6DA5F9DE5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E59AA6DBA6DAA1A0A0E0A0DAA0A0DAA6A0DAA09A9A8D535353A6DAA0DAA6DA -E0A0A0DAA6E0A0DAE0A0A0E0A0A0DAA09A9A599AA2000000000000A907000000000037E3 -87878787878787DAA3000000DDE1A0E0DAA6DAA0A0DAA6A0DAA0A0A0A09A5953534D4D63 -21219EE5744CA33900000000000000387471717171717171717171717171717171717171 -71717437000000000095E5AEAFE44D404040404040404040404040404040404040404040 -40A206000000A24D4040404040404040404040404046879B7B7B7B7B7B7B7B7B7B7B7B7B -7B7B7B7B7B7B7B7B7B7BE29B7B81DCA4212121212121625A535353539A9A9AA0DAA0A6DA -A6A0A6A6E0A0DAA0A6A6E059538D9A9AA0DAA0A0E0A0A6A0A6DAA6DAA6A0DAA6A0A0E0A0 -5359939AA0A0DAA0A0A0A0A6DAA0A6A6A0A0A6DAA0DAA6E0590C5353935F9AA0A0A0DAA0 -A0A0DAA0A6A0A6A0A0A0E059AEE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E559E0A0DA -A0A6DAA0A0A6A0DAA6A0DAA0A0DA9A5F93535353E0A0E0A0DAA6A0E0A0A0DAA0A0A6DAE0 -A0A0DAA0A0DAA09A9A9AA2000000000006E4A33700000037E3E187878787878787E35B00 -0000E2A0DAA0A6A0A6DAA6A0DAA6DAE0A0DAA09A9A59534D4D2721A4E571714CE3370000 -000000000006A371717171717171717171717171717171717171717171E4960000000054 -E5AEE4E5544040404040404094464040404040404040404040404D9C000000004E9C4040 -4040404040404040404040547B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B -8DE2947B8DAA21212121212162534D53538D9A9A9AA0A0DAA0A6DADADADAA0E0A6DAA0DA -A05353599AA0A0A0DAA0A6E0A0DAA6A0DAA0E0A6A0DAA6A6E0935359599A9AA0A0DAA0E0 -A0DAA6DAA0DAA6DAA0A6DAA0A0E0594653599A9A9A9AA0A0A0E0A0A6A0A0DAA0DAA6DAA0 -E053E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E559E0A0A6DADADAA6DADADAA6A0DA -A6DAA0A09A9A59935353A6E0A0A0A6DAA6DAA6E0A0E0E0DAA0A0E0DAA6DAA0A0A09A939A -A2000000000054E2DAE273729CE3E187878787878787DAE307000039A0E0A0A6DADADAA6 -DAE0A0DAA6A0DAA0DA9A9A5953534D5BAEE471717171AA000000000000000000A3717171 -717171717171717171717171717171717171717174710000000CE4AEAEE5954040404040 -40A261E2464040404040404040404040535A0000000000A24D4040404040404040404040 -409C7B7B7B8D7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B8DE28781DD21212121 -21215A4D535353599A9AA0DAA0A0A6DAA0A6A6A0A6A0DAA6E0E09A5353939A9AA0DAA0A6 -DAA0A6DAA6DAA6A6DAA0E0A6DADAA6595393939AA0DAA0A0E0A0E0A0A0A6DAE0A0A0E0A0 -A0A0E0A053465353599A9AA0A0A0A0A0A0DAA0E0A0A6A0A0A0A0A059E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E553DAA7DAA6A0A0DAA6A0A6A0DAA6DAA0A0DA9A9A93595353 -A0E0A0E0DAA0DAA0A0DAA6A0A0A0A6E0A0A0DAA0DAA0D4A09A9AA80700000037E3DBA1DA -E1E1E1DA8787878787DADB87E061000000A2A0DAA6DAA0A0A6DAA6A0A6E0A0DAA6DAA09A -9A598D5312E3AE7371717171A3000000003800000000A371717171717171717171747371 -7171717171717171717171A4D7380000E4AEAEAFA34040404040945B0054A24040404040 -404040404040945400000000005A94404040404040404040404040A29B7B7B9B7B7B7B7B -7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B9B9B7BD5212121212121534D535393599A9A -A0A0A0E0E0A0E0A0DAA6DADAA6A0DAE05953935F9AA0DAA0A6DAA6E0DAA6DAA6A0A0A0E0 -A0DAA0E0A05353599A9AA0A0A0DAA0E0A0A0A6DAA0A0A0E0A0A0E0DAA6A0124D53535F9A -9A9ADAA0DAA0E0A0A6A0A6A0DAA0E0A6A05BE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E554A0DAA0A0DAA0A6DAA0DAA0A0DAA6DAA6A09A9A5F598D539AE0A0A0A6DAA6E0A0E0 -A0DAE0DAA0DAA6DAA0A6A0A0A09A9A59E239000000A2E18787A187878787878787878787 -87DBE20D000006E2A0A6DAA0E0DAA0A6DADAA0A0A6DAA0A0DAD49A9A535353A471717171 -719574000000005B000000009C717171717171717171717171E474717171717171717171 -71715BE49538AEAFAFAFAF4D40404040A24000009C94404040404040404040409B400000 -000000409B40404040404040404040404DDC8D9B7BA17B7B7B7B7B7B7B7B7B7B7B7B7B7B -7B7B7B7B7B7B7B7B8793818D6221212121624D53535359939AA0A0DAA0A0A0E0A0E0A0DA -A6A6DAA0E0A05353939A9AA0A0DAA0DAA0A0A0E0A0DAA6DAA6A0A6A6DAE09A5353939AA0 -A0DAA0A0E0A0DAA6DAA6A0A6DAA0A6DAA0A0E09A464D539A9A9AA0A0A0DAA6A0A0A0DAA6 -DAA0A6A0A0E09A73E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AD59E0A0A0DAA0E1 -A0A0DAA6DAA6DADAA0A0A09A9A93595359DAA6A0DAA0A6DAA0A0A0E0A0DAA6DAA0A0A0A6 -DAA0A0A09A9A59E27300E3DA878787878787878787878787878787870D00000072A1E0A6 -DAA0E0DAA6DAA0E0A0A6DADAA0DAA0A09A9AA1E4747171717171717472000000005B0000 -0000377171717171717171717171717171D7AB99737171717171717171717155E4E4AEAE -AFA3404040409C360000009C544040404040404040409B360000000000009C4040404040 -4040404040404DDC7B7BA27BD6DC817B7B7B7B7B7B7B7B7B7B7B7B7B7B819B8793937B7B -7B7B63212121625A535353599A9A9AA0DAA0A0A0A0A6DAE0A0A6E0A6DAA6DA935353599A -A0A0DAA0A0DAA6A6DAA6DAA6E0E0A0A0A6DAA0A0595359939AA0DAA0A0A6DAA6DAA0A6A0 -A0A0A0A6DAA0A6E0A04D125353599A9AA0A0A0DAA6A0A0DAA0E0A0A6A0A0E0E053E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AF53E0A6DAA6DAA0A0DAA6A0A6DAA0A6A0DA -A09A9A93595353A6A0DAA6DADAA0A6DAE0A0DAA6DAA0A6E0A6DAA0DAA0DA9A9A599AE29C -DB87878787878787878787878787878787DA000000009C9BA6DAA0E0A0A0E0A0E0A0DADA -A0A6DAA6A0A0A0DBAE74717171717171719D550000000061000000000071717171717171 -7171717171717174635CA4727171717171717171717171E5AFAEAFAF4D4040409B400000 -004E9C4040404040404040409C360000000000009C404040404040404040404054D6A194 -7BDCDD62D57B7B7B7B7B7B7B7B7B7B7B7B7B7B93937B9B7B7B7B7B7B6221216262535353 -53599A9AA0A0A0DAA0E0A6DAA0A0A0DAA0DAA6A0E04D53939A9A9ADAA0A6DAA6A0DAA6DA -A6A0A0A6A0A6DAA6A0A05353939A9AA0A0DAA0DAA0DAA0A6DAA0E0A0A6DAA0E0A0A6A04D -4D53539A9A9A9AA0A0A0A0A0DAA6A0A0A0DAA0E0A0A054E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E554A0DAA1DAA0E0DAA6DAA0DAA0E0A0DAA09AA09A5F8D5353A0E0A0 -DAA6A6DAA0E0A0DAA6DAA0E0DAA0DAA0E0A0A0A09A9A9359A0E287878787878787878787 -8787DA87878787E100000006E359E0A0E0A0DAA0DAA6DAA0A6A0E0A0A0DAA0DAE2AE7471 -717171717171719D72000000009C0600000000727171717171717171717171717174A421 -2199997171717171717171717174E5AFAFE59C4040409B4E00000000A246404040404040 -40409B4000000000000094404040404040404040404054DC7B9B9CDDA300A2C87B7B7B7B -7B7B7B7B7B7BC8C8949B879B7B93877B7B7B622162625A4D53538D939A59DAA0DAA0E0A0 -DAA6E0E0DAA6DAA6DADAA64D59939A9AA0A0A0DAA6DAA6A0DAA6DAA6DADAA0DAA6DAA69A -5359935F9AA0DAA0A6A0E0A0E0A0A6DAA6E0A0A0A6A0A0E09A124D53539A9AA0A0DAA0A0 -E0A0A6A0DADAA6A0A6A0A09A73E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E572 -A0A6DAA0A6A0A0DAA6DAA6DAA0E0A0E0DAA09A9A5953539AE0A0A6DAA0A6DAA0A6A6DAA6 -DAA0A6DAA0DAA0DAA0DA9A9A9A59A0E3DBDBDA878787878787878787DBDB8787DAA20000 -004EE293A0E0A0A6A0A6A0DAA6DAA0DAA0E0A0E0A0E2AE73717171717171717171727300 -0000005B3800000000747171717171717171717171717173A4215C21A4E4717171717171 -71717171ADAFAEAFDD404040945B000000009C4E40404040404040409B40000000000036 -9C40404040404040404040404DDC7B7B8DE3390054D57B7B7B7B7B7B7B7B7B7BA29CE4D6 -9B8D9B9B817B7B8D21215C5C534D535359599A9AA0A0A0A0A0A6A0DAA0A0A6A6A0DAA6A6 -DA53935F9AA0A0DAA6DAA0A6DAA6A0A0A6DAA0A0E0A0A0A6DA5953935F9A9AA0A0DAA0DA -A0A0A0E0A0A0DAA0E0A0DAA6DAA6534D4D53939A9AA0A0A0A0A0A0DAA0A0A0A0DAA0DAA0 -A05FADE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E59959E0A0A6DAA0E0A0A1E0 -DAA6A0A0DAA0A09A9A9393595393A0E0DAA0DAA6DAA6DADAA0E0A0A6DAA6E0A0E0A0A0A0 -9A9A9A939BE387A1DBDBDA878787878787878787DB87E15B0000009CA1939ADAA6DADADA -E0A0A0E0A0A0E0A0DAA0E0747471717171717171717171559D00000000385500000000A3 -7171717171717171717171717172AE2121212121E572717171717171717155E5AFAFE540 -4040409C00000000549440404040404040409B400000000095E5E4404040404040404040 -404046DC7B7B7BDC060000DC817B7B7B7B7B7B7B7BDB0000A3DD93949B817B7B7BCE2121 -625A4D4D5353539A9A9AA0DADAA6DADADAA6DAA6DADADAA6A0E05F59939A9A9ADAA0DAA0 -A6DAA0DAA0E0DAA6A0E0A0A6DAA0E05353599A9A9ADAA0A0DAA6A0A6DAA0A0E0A0DAA0A6 -A0DAA0DA534D5359599A9A9AA0A0DADAA0A6A0E0A0A6A0A6A0E0A053E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5DF59E0A6DAA0E0A0A6DAA0A6DAA0DAA6DADAA09A9A -59535359A0E0A0A6A0DAA0DAA0A6DAA0A6DAA0DAA0E0A0A0DAA0A09A5F93A2DB87878787 -878787878787DBDB8787DBDBE207000039E39A9393A0E0A0A6A6A0A6DAA6DAA6DAA0A0E0 -E373717171717171717171717171A300000000005B000000009C71717171717171717171 -71717154AE5D2121212163AE73717171717171717199AFE4E540404040A200000000399B -40404040404040405A4E00000046E4E5E4404040404040404040404040A27B7B7BA20000 -009CC87B7B7B7B7B7B7BD561000095E3A29B817B7B7B81D52162614D4D4D535359939A9A -DAA0A0A0DAA6E0A0A6DAA0A6A6A0E0A053939A9A9AA0A0DAA6A0E0A0A6A6E0A0A0A0DAA0 -A0DAA6DAA65353939A9A9AA0DAA0A6DAA0DAA6A0E0A0A6A0E0A0DAA0A6A04D4D5353939A -9AA0DAA0A0A6A0A0DAA0A0A0DAA0DAA0A05AE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E55BA0A6DAE0A0A6DAA6A0DAA0A0E0DAA0DAA0A09A9A5959539AA6DAA6A6DA -A0A6DAA0A0E0A0DAA6A0E0A6DAA0A0DAA0A09A9BE3878787878787878787878787878787 -87E2390037A39DA29A9A5959DAA6A0A6A0A6DAA0DADAA6DAE47473717171717171717171 -717171719D0000000000063600000000A37171717171717171717171717174A421212121 -212121717171717171717173E5AEAE95404040549500009CE49C40404040404040404694 -0000009CE5AFA34040404040404040404040404D7B7B7BA20000004ECF7B7B7B7B7B7BD5 -540000009C877B7B7B7B7B7BC8AA625A4D4D4D4D5353939A9AA0DAA0A0DAA6DAA0A6DAA6 -A0A0E0A6DA5953939A9A9AA0A0A6A0DAA6DAA0E0A0A0DAA6DADAA6DAA6DAA05359939A9A -A0DAA0A6DAA6A0A6DAA6E0A0A6A0DAA6DAA6DA53125353939A9AA0A0A0DAA0A0A0DAA6A0 -A0A0A0DAA6A0A6ADE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E57393E1A0 -A0DAA0DAA0DAA0A6DAA0A0E0A0DAA09A9A938D539ADAA6A0A0A0E0DAA0E0DAA0DAA6A0DA -DAA0E0A6DAA0DA9A9AA2DC878787878787878787878787878787DAA30037A34E0095DB5F -9A93A0E0DADAA0DAA6A0A6A0E1E47473717171717171717171717171714CE30000000000 -0000000000005B7371717171717171717171717172AA2121212121212171717171717171 -7173E5E4AEAE40404040A20054E5E59C4040404040404040409B3600009CE5E55A404040 -404040404040404040468D7B7BA2000054E3947B7B7B7B7BC2A200000000A2817B7B7B7B -7B81DC69614D4D4D4D4D5359599A9AA0A0A0E0A0DAA6A0DAA6DAE0A0A0E0A053539A9A9A -A0A0DADADAA6A0A6E0A0A0E0A0E0A0A0A0A0DAA69A93539A9AA0A0A0DAA0A0DAA6DAA0A0 -A0A0DAA0A6DAA0A0A64D4D53595959A09ADAA0A0A0DAA6A0DAA0DADAA0A0DAA0DAE5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AE59A6DAA0A6DAA6DAA6A6DAE0A0 -E0A0DAA0A09A9A59595353A0A6DAA0E0A0A0A6A0A0E0A6A0DAE0A0E0A0DAA0A09AA09ADC -DB87DBDA878787878787878787878787E255005A06000054E29A93599ADAA6A0A0E0A0DA -DAE1E474737171717171717171717171717171AEAF000000000000000000000036A47171 -7171717171717171717171AC21212121212121717171717171717173E5AEE4E540404040 -9B009CE5E59C4040404040404040405454000072E5E59546404040404040404040404040 -D57B7BA206006262CF7B7B7B7B7BCF5A00400036D57B7B7B7B7B7BC8AA21534D4D4D4D53 -53539A9A9ADADAA6DAA0A6A0E0A6DAA0A0A6DAE0594D539A9AA0A0DAA0A0A6A0DADAA0E0 -A6DAA6A0DAE0DAE0A6DA5953599A9A9ADADAA0A6DAA6A0A6A0E0A0E0A0A0DAA0A6A0E04D -4D5393939A9AA0A0A0DAA0A6A0DAA0A0A6A6A0E0A0A0A6E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E553E0A0DBA0A0DAA6A0DAA0A0A0DAA0A0A0D4A09A9A538D -53A0DAA0DAA0DAE0DAA0E0A0DADAA6A0A0DAA0A6DADAA0A09AE3DBDADBDB878787878787 -8787DB8787DAA30000060000004EE39A595953A0A0DAE0A0A0A6A0AE7473717171717171 -717171717171717171A3AE000000000000000000000000A3557171717171717171717171 -719921212121212121557171717171717174E5AEAFE54040404046069DE5E5954040464D -4040404040409B00469CE4A29B9B404040404040404040404040DC817BD53800555B9C7B -7B7B7B7BDB0637A39D95947B7B7B7B7B81DC635C4D4D4D4D535393939A9AA0A0A0DAA0E0 -DAA0A0DAA0E0A6DAA6A04D53599A9AA0DAA0A0E0A0E0A6A6DADAA0A0DAA0A6A0A6A0E0A0 -53939A9A9AA0A0A0E0A0A0DAA0DAA0A0DAA0A6E0A0A6DADAA64D5353595F9AA0A0A0DAA0 -A0A0DAA6A0E0A0A0DAA0A0E09AE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E555A0E0A6DAA6A0DAE0A6DAA6DAA6DADAA0A0A09A9A5953539AE0A0A6DAA6A0A6DA -A0E0A0A6DAA6A6A6DAA0A6A0A0D4A0E3DB8787878787878787878787DADB87E214000038 -0000009CAFE3DC9A9A9ADAA0A0E0DAE0E27473717171717171717171717171717171E44D -54000000000000000000000000387471717171717171717171717172AE21212121212155 -7171717171717174AFAEAFAFE340404040959DE5AF4D4D8E9B4D40404040404094DD9C4E -40404040404040404040404040404040E28D7BCE9538AEAD9C7B7B7B7B879C009C629DE3 -7B7B7B7B7B81D5A45C5B4D4D4D4D5353599A9AA0DAA0A0A6DAA0A6DAA6A6DAA0DAE0E059 -4D53939AA0A0A0DADAA0DAA0DAA0A0A6DAA6A0E0A0DAA0DAA69353599A9AA0DAA0A0A0E0 -A0A6DAA6DAA6A0DAA0A0DAA0A6A6DA53535393939AA0DAA0A0A0E0A0A0DAA0A0A0A0A0A0 -A0A659E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AD59A6A0DAA0E0 -A0A0DAA0DAA6A0A0A0A0DAA09A9A59935359A0E0DAA6DAA0DAA6DAA0A6DAA0DADADAA6E0 -DAA0A0A09AE3DB87878787878787878787878787E29D00000095000038A97171A3A3A3DD -E3E2E1DAA79C7471717171717171717171717171717171E4A24D4D000000000000000000 -00000000A355717171717171717171717171AD212121212121717171717171717199AFAF -AEAFE594408D8EA3AFE5AC46A2A3E34D404040404094A25A404040404040404040404040 -404040404040AF9C7B819C73E4AE9C7B7B7B7BC85A46A3AE629B7B7B7B7B7BCEAA635C53 -4D4D4D5353539AA09AA0A0DADADAA6A0DAA0A0DAA0A6A0A0A0535353599AD4A0DAA0A6DA -A6A0E0A6DAA0A0DAA6DAA0A6A0E0A05953939A9A9AA0DAA0E0A0A0DAA6DAA0A0DAA6A0A0 -A6DAA0DAA04D53535F9A9AA0A0A0A0DAA0DAA6A0E0A0E0E0A0DAA0E053E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E554A0DAA1A6DAA6A0A0A6DAA0A6A0A6A0 -DAA09A9A599353539AE0A0DAA0E0A0A6DADAA0DAA6A0A6DAA0E0A0DAA0A0D4A1E387DADB -DBDBDA878787878787DA1A000000A2550095AA717171717171717171717155E495717171 -7171717171717171714C74E4A19359534D4D370000000000000000000000007455717171 -7171717171717171712121212121217171717171717171E5AFAFE54D4040404040404040 -53A3404D4D54A2404040404040404040404040404040404040404040408DE36963DD9B93 -93AEAFA48D7B7B7B7BCE545BA4E59C7B7B7B7B7BDC69625A4D4D4D4D535393939AA0DAA0 -DAA0E0A0DAA0E0DADAA6DAA6A09A4D538D599AA0DAA0DAA6A0DAE0A0A6A0DAA0A0DAA0A0 -A6A0E0A05353599A9AA0DAA0DADAA6DAA6A0DADAA0A6DAA0A0A6A0A6DAA653535359939A -A0A0A0DAA0A6DAA6DAA0E0A0DADAA0E0DA5F9DE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5749AA0DAA0A0DAE0DAA0E0A0DAA6DAA6A0DAA09A9A59935359E0 -A6E0A0A0DAA0A0A6DAA6DAA6A0E0A0DAA6A0DAA0A09AE3DCDB8B8B8B87DD8787878787E1 -0000009CA3008EE44C71717171717171717171717171E4717171717171717171717171AE -E3A09A9A93534D4D4D36000000000000000000000038AD71717171717171717171717163 -2121639EA47171717171717172E5AFAFAF4040404040404040409494944D9B409C944046 -40404040404040404040404040404040404DA2A46321E3877B7B7B94DDA28794947B7B8D -5472AAAF937B7B7B7B8769625B4D4D4D4D535359939AA09AA0A0A0E0DAA6E0A0A0A6A6A0 -A0DAA6534D53939A9A9AA0DAA0DAE0A0A0E0DAA6A0E0A0A6DAE0A0DAA6A0538D539A9AA0 -A0DAA0A0A0A0DAA6A0A6DAA0A6DAA6DAA0DAA69A4D5393599A9AA0A0A0A0A0A0A0A0A0A0 -A0A6A0A0A0A0E059AEE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -9E53A0E0A0E0A0A0E0A0A0E0A0DADAA0DAA0A0A093935353539ADAA0A0E0A0E0A6DAA6DA -A0DAE0A0E0A0DADAA0DAA0A0A0E3A08B8BAD8B8BDB878787DAAE00389C620000E4717171 -71717171717171717171717171717171717171717171717171E2A0A0A09A9A53534D4D4D -360000000000000000000000A3717171717171717171717171AC9EAEAFA4AE7171717171 -717173E5AFE59C40404040404040404094954640468EA2544053A1948E8D8E949B4D4040 -404040404040409BAB21215C8D7B7B7B7B7B7B9BE3DCA1DB7B8DA29C9B8D7B7B7B7BC8DC -5D614D464D4D535359599A9AA0DAA0DAA0DADAA0A0E0A0DAA0DAE0A0E04D538D599A9ADA -A0A0E0A0A0A0E0A0A0A0DAA0A6DAA0A0A0A6DA935359599A9AA0A0A0A0E0A0E0A0A0E0DA -A6A0DAA0A0A0A6A0E059535959939A9AA0DAA0DAA0DAA6DAA0E0A0DAA0A0DAA0A053E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E55AE0A0DAA1A0DAA0A0 -DAA0DAA6A0DAA6A0DA9A9A595959539AE0A0E0A0E0A0DAA0DAA0A6DAA0DAA0DAA6A6DAA0 -DA9A9AA1DC8B8B8B8BDDDCDB87DAE3E2E3E5A44E73E47171717171717171717171717171 -717171717171717171717171719DE4A0DAA0D4A09A935353534D46000000000000000000 -00003771717171717171717171717174E5734E0C547171717171714E74AFAFE554404040 -40404040404094DD9CA2A29B4D4040404DE3E39B5A534D4040404040404040404053AD21 -21637B7B7B7B7B7B7B939BDCDBE37B7B7B7B7B7B7B7B7B93A96362534D4D4D4D5353939A -9A9ADAA0A0DAA0A6A0DAA6DAA0E0DAA6A0E0A04D53599A9A9AA0A0DAA0A0E0E0A0A0E0DA -E0DADAA6DAA6DADAA0535353939AA0A0DAA0DAA0E0A0A0E0A0A6A0DAA0A6DAA0A0E0A053 -5359935F9AA09AA0A0A0A0A0DAA6A0A0A0A0A6A0A0A69A73E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E572A0A0A6DAA6A0DAA6DAA6A0DAA6A0DAA0A0A0 -9A93598D5353E0A0DAA0A0E0E0A0A6DAA6A0E0A0E0A0DADADAA0A0A0DA9AE38BAD8B8BDD -8BDBDBE3A1DAE0A1DCE2E2E3717171717171717171717171717171717171717171717171 -7171E4E3A0DAA0DAA0A09A9A5953534D4D00000000000000000000000072717171717171 -717171717171AC13060C5571717171717171E4AFAFE554404040404040404694E3A34D4D -4640404040539C9B40404040404040404040404040404053AA212121817B7B7B7B7B7B7B -7B9BE4E47B7B7B7B7B7B7B7B7BCF6921534D4D534D538D935F9A9AA0A0DAA0A0DAA0A0A6 -DAA0A6DAE0A0DAA6935353939A9ADADAA0A6DAA6DAA0DAA6A0A6A0A0A6A0A0DAA6A69353 -59939A9AA0DAA0A0E0E0A0DAA6A0DAA0DAA6DAA0A6A0DAA69A535393599A9A9AA0A0DAA0 -DAA6A0DAA0E0A0DAA0A0DAE059ADE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5ADE0DAA0A0DAE0A6DAA0DAA6A0DAA6A0E0A0DA9A9A9359534DA6DAA6DA -A0DAA0E0A0DADAA6A0E0A0E0A6A0A6DAA0A09AA0A28BAD8B8B8BDADCE3A1E0A0A0DAA0A0 -A0DAAE717171717171717171717171717171717171717171717171E4E1A0DAA0E0A0A0DA -A09A935353534D460000000000000000000000E471717171717171717171717173A30C0C -9571717171717155E5AFE4E59C40404040404094A29446944D4040404046DCA254404040 -4040404040404040404040404094A4212121D67B7B7B7B7B7B7B8DAEE4DC7B7B7B7B7B7B -7B7B7BCFA4624D4D4D535353599A9A9AA0DADAA0E0A0A6DADAA0A6DAA0A6A0E0A6A04D59 -935F9AA0A0DAA0DAA6DAA6A6A0DAA0DAA0E0A0E0A0A0DAA0535393599AA09AA0DAA0A0A0 -A0A0DAA6A0A6A0A0A6DAA0DAA6DA594D53939A9A9AA0A0A0A0A0A0DAA0A0A0A0A0A0A0A0 -A0A053E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5A0A0 -DBA0DAA0A0A6DAA6DAA6E0DAA6DAA0A09A9A9A935353A0E0A0A6A0DAA0E0A0A0DAA6A0DA -A6A0E0A0A6A0A0DAA09ADD8B8B8B8B8BDAA0DAA6A0E0DAA0E0A0A6DADADAE0E2E3AD7171 -717171717171717171717171717171A6DAA0E0A0DAA6A0E0A0DAA09A9A9A9353534D4D46 -00000000000000000046E471717171717171717171717155AD13A371717171717199AFAF -E4E4AF4D4040404040404040404053945A5A544D40404040404040404040404040404040 -40409463212121212163A4A3D6CF7B7B7B8D9B8D877B7B7B7B7B7B7B87A95A4D4D4D5353 -53939A9A9AA0A0DAA0DAA6DAA6DAE0A0A6DAA0A6A0E09A4D53939A9A9ADAA0DAA6DAA6A0 -E0E0A0E0A0A0E0A6DAA6A0A0E0535359599A9AA0A0A0DAA6DAA0DAA0A0A6A0A6DAA0A6DA -A6A6DA9A53538D9A9A9A9AA0A0A0A0A0A0A0E0A0A0A0A0A0A0A0DA59A5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E559E0A0E0A0E0DAA0A0DAA0DA -A0A0DAA0E0A09A9A9A5959539AA6DADAA6A0A0DAA6DAA6DAE0A0E0DAA6DADADAA0A0A0A0 -DDAF8B8B8B8BA0E0A0E0DAA0A6DAA0DAE0A0A6A0DAA0E0E1E49D71717171717171717171 -7171ADE4E1DAA0E0A0DAA6DAE0A0DAA0A0A0A09A9A5993534D4D46000000000000000000 -A2727171717171717171717171717374AE717171717171E4AFAFAEAFAFAE4D4040404040 -4040404093DC54464040404040404040404040404040404040404000E42121212121ADAD -9E2269A4D57B7B7B7B7B7B7B7B7B7B7B7B8DDC9C4D4D4D535353935F9AA0A0DAA0A0A6DA -A0A0DAA6A0DAA0A0E0A0E0A0534D539A9AA0A0A0A0A6A0A0DAA0DAA0A0A0E0A0A0A0A0DA -DAA6E0539393939A9ADAA0DAA0A0A0DAA6A0E0A0DAA0A0A6DAA0A0E0A0594D53599A9AA0 -A0DAA0A0DAA0DAA6A0E0A0DAA0DAA0A0A054E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E553E0A0A0A1A0A0E0A0A6DAA6E0A0A6A0A0DADA9A9A93 -539353DAA6A0DAA0A6A0DAA6DAA6A0E0A0A0DAA0A6A0E0DAA0DADDAF8BAD8B8BA0DAA6A0 -E0A0A0A6E0A0A0E0DAA6E0A0A0A0E0E2E3AE9D71717171717173AEE4E2A0A0A6DAA0E0A0 -DAA0A0E0A0E0A0DA9A9A9A9A5953534D4D4600000000000000000CE47171717171717171 -717171717174E5717171717171E5AFE4AFE4AEAFE494404040404040404040539CA2A2A1 -40404040404040404040404040404040364D2121212121639CDDDD9E2121A4E3CF7B7B7B -7B7B7B8187C8D6A9A24D4D4D4D538D59939AA09ADAA0DAA0A0A6DAA6A0DADAA6DAA6DAA6 -E0595353939A9A9ADAA0DADAE0A6A0E0A0E0DAA0A0E0A0DAA6A0A0DAA05359599A9A9AA0 -A0A0E0A0E0A6DAA0A0E0A0A0DAA0A6DAA6A6A04D5393939A9AA09AA0DAA0A0A6A0DAA0A0 -A0A6A0A0A0E05F73E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E55B9AE1E0DAA6A0A0DAA0A6DAA0A0DADAA6DAA09A9A59935953A0E0E0A0E0A0E0 -A0DAA0DAE0A0A0E0A0A6A0DAA0A0DAA0A2AF8B8B8B8BDAA6DAE0A0DAE0A0DAA6DAA6A6DA -A0E0A0E0A0A0A0DBE2AE9D9D739DDDE3A7E0A0A0E0DAA6A0A0DAA6DAE0A0DAA0DAA0A0A0 -9A9A9A935353534D4600000000000000009C737171717171717171717171715599717171 -717171E5AFE4E4E4E4E4AFAFDC4D404040404040404040404D4D40404040404040404040 -4040404036368DE3212121212121949393DCA45D2163A4DC7B7B7B87D5DCA2A3695A4D4D -4D53535393599A9AA0DAA0A0A6DADAA0DAA0E0A0A6A0E0A0A0DA9A535359939AA0DAA0A0 -A0A6A0A0DAA0E0A0A6DAA6DAA0A6DAA0E0A69A5393939AA09AA0DAA0A0DAA0DAA0A6DAA0 -A0DAA6A0DAA0A0DA595353599A9A9AA0A0A0A0DAA0DAA0A0A0A0DAA0DAA0DADA59AFE5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E59E59E0A0A0DA -DAA6DAA7DAA0E0DAA6A0DAA09AA0939A59935393A0A0E0A0E0A0DAA6A6A0A0A0E0DAA6DA -A6DAA6DAA0A0DD8B8B8B8B8BA7DAA0A6DAA6A0DAA6DAA0DADAA0E0A0E0A0A6DAA0DAA0A1 -A2A2E2A29BA6DAA0A0DAA0A0A0E0DAE0A0A6A0DAA6DAA6DAA0DAA09A9A595353534D5300 -0000000000000006AD7171717171717171717171717374717171717171AFE4E4AFE4E4AF -A469A5E49B548E4D404040404040404040404040404040464D8E948E36064694AA212121 -21212121DEC87B7B94A3A46363A5DC7B87A2696362635A4D4D4D4D535393599A9A9ADAA0 -A0DADAA0A0E0A0E0A0DAA0DAA0E0A0E053538D599A9AA0A0DAA0DADAA6DAE0A6A0A6DAA6 -DAA0E0DAA6A0E0A05359939A9A9ADADAA0A6DAA6A0A0A6DAA0DAA6A0A0DAA0E0A0A05353 -53939A9AA09ADAA0A0A6A0A0A0A0DAA0A0A0A0A6A0A054E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E553A6DAA0A0A0DAA6DAA0E0A0A6DAA0 -A6DAA0D49A9A93595353A0E0A0DAA0DAA6DADAA6E0E0A0A6DAA6DAA6DAA0DAA08BAF8B8B -8B8B8BA6DAA0A6DADAA6DAA6DAA6A0E0A0DAA0E0A0DAA6A0A09A9A9A9A5953DAA6DAE0A0 -E0DAE0A0A6A0E0E0DAA6DAA0DAA0DAA0A0D49A9A93595353534D06000000000000005B74 -7171717171717171717171D755717171717173AFE4E4AFE4AFA463A469A4E5E2E2E29C4D -4040404040404040404040409BE2E2E1E1E29494E3E5632121212121212121A4D67B7B7B -949C9CA3A99393AA636262624D4D5353535359939A9AA0A0A0DAA0A6A0E0A0A6DAA0E0A0 -E0A0E0A0E0A64D59939A9AA0DAA0A0E0A0A0DAA0A0A0DAA0DAA0A6DAA0A0DAA0E09A4D93 -9A9A9AA0A0A0DAA0A6DAA6DAA0A0A6A0DAA6DAA6A0A0DA9A4D5359599AA0A0A0A0A0DAA0 -DAA6DAA6A0DAA0DAA0DAA05F99E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5AE59E0A1A0A0DAA6DAA0DAA6DAA0E0A0DADAA0A09A9A935353 -53A0E0DADAA6DADAE0A0E0DAA0DAA6E0DADADAA0A6DA8B8BE4AF8BAF8B8B8BA0E0A0A0E0 -A0E0A0A0DAA6DAA0DAA6A0DAA6DAA0A0A09A9A9A93539AE0E0A6DAA6DAA0A0E0A6DADAA6 -DAA0DADAE0A0DAA0D49A9A9A935953535353460000000000004EAD717171717171717171 -5474717171717171E5E4E4AFAFAFA4A4A463A5E3DAA0DAA0A0E0DC9454548E948E4D404D -E2E1A0A0A0DAA0A0E0AD6363A4E4212121212121212121216362877B7B7B7B7B7B818146 -4D4D5353535393599A9A9AA0A0DADADAA0A0E0DAA0E0DAA0A6A0A6E0A0E09A5359939A9A -9ADAA0A0E0DAA0DADAA6A0DAA6A0DAA0E0DAA0A0DAA69353539A9A9AA0A0A0A0DAA6A0E0 -A0DAA0E0A0A0DAA0E0A0A0DAA64D5393599A9AA09AA0A0DAA0DAA0DAA0A0E0DAA0DAA0DA -A055E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E554A0A6DAA0E1A0A0DAA7DAA0E0A0A0DAA0A09A9A9A595953539AE0A6A6DAA0A6A0DA -A0A0E0A6DAA0DADAA6A6DAA08B8B8B8B8B8B8B8B8BE3A0E0E0A0A6DAA0E0A0DAA6DAA6DA -DAA6DAA0E0A0DA9AA09A5F53599AA6DAA0DADAA6E0A0DAA6A6DAA6A0E0E0A0A0DAA0A0A0 -9A9A9A9A93535353534D36000000000073717171717171717173E455717171717173E5E4 -AFE4AFA463A4A4A4AEE1A0A0A0DAA0A0E1AFE4E2E1E1E1E1A2DCE0A0A0A0A0A0A0DADAE3 -A46963A4632121212121212121212121A3D6A17B7B938140464D4D5353535393939A9AA0 -DAA0DAA0A0A6A0E0A0A0E0A0A0A6DADAA0A0E0A04D53939A9A9AA0A0A0DAA0A6A0A0A6A0 -DAA6DAA0E0A6A0A0E0DAE0A05353599A9AA0DAA0DADAA6A0DAA0A0A0A6A0A0E0A0DAA0A0 -E0A0E0535359939A9AA0DAA0DAA0A0A0A0A6A0DAA0A0A0A0A0A0E09EE5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5739AE0A0A0A0DAA6 -A0DAA0E0A0DAA6A0A0DAA09A9A9A8D595353A0DADAA0E0A0DAA6DAA6A0DAA6DAA0E0A0DA -A0E1AD8B8B8BAF8B8BAD8BAFE2A0A0E0DAA6E0A0A6DAA0E0A0E0A6DAA0A6A0A0A0A09A9A -9A9A5993A0E0A0A0A6DAA0E0A6DAA0A6DAE0A0A0E0DAA6DAA0A09A9A9A9A59599353534D -4D0000000000067171717171717174A3AD39717171714E99AFAFE4AFAEA469A469A4ADE0 -A0DADADADAA0DAE3DAA0A0A0A0A0E2E1A0A0A0A0A0A0A0DADAE3A4A4A463AF2121212121 -21212121212128A5DC7B8DD54046535353535353939A9A9AA0A0A0DAA0A0A6DAE0A0E0DA -DAA0E0DAA0A6DAE0A05353539A9A9AA0DAA0E0A0E0A0DADAA0DAA6DAA0A0A0DAA6DAA0A6 -A0595359939A9AA0A0DAA0A6DAA0A6DAA6DAA0DAA6A0DAA0E0A0A0E09A5359939A9AA0DA -A0A0A0A0DADAA0DAA0A0A0A6DAA0DAA0A6E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AF53A6DBDAA6A0DAA6DADAA0A6DAA0E0DAA0 -A0A09A93598D5353A0E0A6DAA0E0A0DAA0DAA6DAA0A6DADAE0A0E0DC8B8B8B8B8B8B8BAD -8B8B8BA6A0A0A0DAA6DADAA6DAA6DAA0A0A6DADAA0A0DAA0DA9A9A93935359DAE0DAA0E0 -A0DAA0E0DAA0A6DAA6DAA0A6DAA0DADAA0A09A9A9A935959535353460000000000747171 -7171717372005BA37171717173E5AFAFAFAFA4A4A4A4A4A4AEDAA0DADAA0A0DADBE1A0A0 -A0A0A0DAE1A0A0A0A0A0DAA0A0A0DAE3A463A469A4AD212121212121212121212121D681 -CF944D4D5353535359939A9A9AA0DAA0A0A0E0A0DAA0A0DAA0A6A6DAA0A6DAA0A6DA594D -93599A9AA0A0A0A0DAA0A0E0A0A6DAA6A0A6DADAA6A0DAA6A0E09A4D53939A9A9ADAA0A0 -DADAA6DAA0A0DAA0E0A0DAA6A0A0A0E0A0A65953539A9A9AA0A0A0DAA0A0A0A0DAA6A0DA -A0A0A0A0A0E05FE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5559AA6A0A0E0A0DAA0A6A0DAA6DAA0A0A0D4A09A9A9359935393A0 -DAA0E0A0DAA6A6DAA6DAA6DAA6DADADAA0DD8BAF8BADAD8B8B8B8B8BAFE2A6E0E0A6DAA6 -A6DAA6DAA6DAE0DAA0A6DAA0DAA0A0A09A9A5F93539AA0A0E0A0E0A0E0A0A0E0DAA0DAA6 -A0DAA6DAA6A0A0DAA0A09A9A9393935353534D4000000074717171717174060000547473 -73747473E4E4AFAD9E69A4A4A4A4E3DADAA0DADADADAE2DBA0A0A0A0A0DBE1A0A0A0A0A0 -A0A0A0A0DAA3A469A4A469AF9E2121212121212121212121DC8146465353535353599A9A -9A9AA0DAA0DAA0DAA0DAA0A6E0A0A6DADAA6DAA0E0A0E093535359939A9AA0DAA0DAA6A0 -E0A0E0DAA0A6DADAA6A6DADAA6A0DAA053535993599AA0A0DAA0A0A0DAA6A0E0A0DAA0A6 -A0A0DAE0A0A0E09A538D599A9A9A9AA0A0A0A0DAA0A0A0DAA0A0DADAA0DAA0A053E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E59E -59E0A6DAA0DAA6A0DAA0DAA0A0DADADAA0A0A09A9359535353A0A0E0A0DAA6A0DAA0DAA6 -DAA0DADADADAA6DD8B8B8B8B8BAD8B8BAD8B8B8BDAA0A0DAA0DADAA6DAA0E0A0A0A0E0A0 -E0E0A0DAA0DAA09A9A9359535FE0A0DAA6DAA0A0E0A0A0E0A6E0DAA6DAA6A0A6DAA0A0DA -9A9A9A9A59535353534D4636005473717138719D0000000000395554000CE5AFAFA469A4 -A4A4A4A4E3DAA0A0A0DADAA0E2DAA0DAA0A0A0E1DBA0A0A0A0A0A0A0DAA0E0A4A4A4A469 -69A4AE21212121212121212121215A40464D4D5353538D939A9A9AA0DAA0DAA0DAA6DAA6 -A6DADAA0DAA6E0A0A0E0A0DA9A4D5393939AA0A0DAA0A0A6A0E0DAA0A0A0A6DAA0A6A0DA -A0A6A0DAA693535993599AA0DAA0A0A6DAA6A0A0E0A0A0A0A6DAA0DAA6A0DAA6DA595359 -5F9A9AA0A0A0DAA0DAA6A0A6A0A0A0A0A6A0A0A0A0A054E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5739AA0A1DAA6A0E0A6A0 -DAA0DAA0E0DAA0A0A09A9A93598D5353E0A0A0E0A0A0A0DAA6A0DAA6A0E0DAA0E08BAF8B -8B8B8BAD8BADAF8B8B8BDAA6DAA6DAA6A6A0E0A6DAA0A0DAA0E0A6A6DAA0A0DAA09A9A9A -939359A0E0E0A0DAA0DAA6A0DAA6DADAA0DAA0A0A0A0E0A0DAA0A0A0A09A9A9A5953534D -534D4D3754714C1371E400000000000000000039E5AFA469A4A469A4A4A4AEE0A0DADAA0 -E0DAE2DBA0A0A0DAA0DBDBA0A0A0A0A0A0A0DAA0AD6369A4A4A4AEAEA4A4212121212121 -212154534D535353535393599A9AA0A0DAA0DAA0DADAA6A0E0A0E0A0A0A0E0A0E0A0DAA6 -E0A0538D599A9AA0A0DAA0A0A6A6DAE0A0A0DADAA6A0DAA6A0A0A0E0A0DAA0539359939A -9ADAA0DAA0DAA6DAA0DAA6A0DAA0E0A0A0E0A0DAA0E059535359939AA0A0D4DAA0DAA0A0 -A0A0A0A0A0A0A0A0A0A0E053E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AD53DAA6DAA1DAA0A0E0A0A6DAA6A0A6DAA0DAA0 -9A5993595953E0E0DAA0A6DADAA6DADAA6DAE0A0A0DAE0E3AF8BAD8B8BADAFADAFE48B8B -A6DAA0DAA6DADAE0A0DAA6E0DAA6E0A0DADAA6DADAA0A0A09A9A9A599353A0A6E0A0E0A0 -DAE0A0E0A0A6E0A0E0DAE0E0A0DAA6DADAA0DAA09A9A9A9353534D4D534D4646123771A9 -4E0000000000000000A3E5E4A469A4A4A4A4A4A4AEE1A0DADAA0A0DADAE3E2E0A0A0A0E1 -E1A0A0A0A0A0A0DAA0A0A5AEAEAAA4AF545BAEE52121212121215B5A4D4D535353535359 -9A9AA09AA0DAA0A0DAA0A6DAA0E0A0E0DAA6DAE0A0A0A0E0A0E0A0535993939A9A9AA0A0 -DAA0DADAA0A0DAA6DAE0A0E0A0DAA0A0E0A0A0E09A8D59939A9A9AA0A0A0E0A0A0A0A6DA -A0E0A0A0A0DAA0A0E0A6DAA05353595F9A9A9AA0A0A0A0A0A0DAA6A0E0A0DAA0DADAA0DA -5F72E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E554E0A0A0DAA6A1DAA0A0DAA0DAE0A0DAA0A0A09A9A9A599359A0A6A0A6 -DAA6A6DAA0A6DAA0A0A0DADAA0E18B8BAD8BAFADAFAD8BAF8B8BE0A0E0A6DAA0A6A0DAA6 -DAA0A6A0DAA0A6A6DAA0A6A0DADAA09A9A9A935353A0DAE0A0E0A6A0E0A0DADAA0DAA6A0 -A0A0DAA6DAA0A0DAA0A09AA09A9A598D53534D4D4D4D4D46A200A94C000000000038DD5B -9DADA4A4A4A4A4A4A4A4A4E3DAA0A0DAA0A0E19C9CE2E2E1E1E3E3A0A0A0A0A0A0DADADA -AF9D4038E45B000000A3AF212121215A534D535353535353939A9A9A9ADADAA0A0DAA6A0 -A0A0E0A0DAA0A6DAA0A0A0E0A0A0E0A08D4D939A9A9AA0DAA0DAA6DAA6A6A6DAA6DAA0A0 -DAA0A0A6DADAA0A0E0A05359599A9A9ADADAA0DAA0A0E0A0DAA0E0A0A0A0E0A0A6DAA0A0 -E05F4D8D539A9A9AA0A0A0A0DAA6DAA0A0A0A0A0A6A0A0A0A0A653AFE5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E574E0A0 -E0A0DAA0A0E0A0A6DAA6A0DAA0A0DAA09A9A5993598D9AE0DADAA0DADAA6E0A0E0A0A0E0 -DAA0DAE08B8BAD8BAFADAF8B8B8B8B8BA7DAA0DAA6E0DAA6E0A0A6E0E0DAA6DADADAA6E0 -DADAA0A0A09A9A9A9A935393A0A6DADAA0E0A0E0A6A0E0A6DAE0A0A0A6DAA6DAA6A0DAA0 -DAA09A9A93599353534D4D534D4D530006A29C544E549CA3130054A4A4A4A469A469A4A4 -A4A5E2A0A0A0DAE19C0600464E54544D9CE2A0A0A0DAE0E1E1E273000000A20000003606 -6127615A534D4D535353535393599A9A9AA0A0A0A0DAA0DAA0E0DAA6A0E0A0E0DAA6DAE0 -E0A0E0E0A0535353939A9AA0A0A0DAA0A0E0A0DAA0E0A0A6DAA6DAA6E0DAA0A6DAE0A093 -538D939A9AA0A0A0DAA6DAA6DAE0A0A6A0DAE0DAA0A0DAA0A6E0A0535359939A9AA09ADA -A0A0A0DAA0A0DAE0A0DAA0DAA0A0E09A55E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5A6DBA0A6A0E0A0A0E0A0A0DA -A0A6DAA0A0DADA9A9A9A935953A0A6A0E0A0A0DAA0E0A0E0DAA0DADAA0E18B8BAD8BAFAD -AF8B8B8BADAFA1E0A6A0DAA0A0DAA0E0DAA0A0A6DAA6A0A6DAA0A6A0E0DAA0DA9A9A9A59 -935359A0E0E0A0DAA0DAA0DAA0DAA6A0E0DAA6DAA0E0A0A0A0DAA0DAA0A09A9359935353 -4D4D4D4D4D4D000037545B5B370000004EA469A4A4A4AE69A469A4A4A5E1E1E1E2A20036 -363600000000369CE2DAE0E261545BAE0000004E5B0000003854005B534D4D5353535353 -5393939A9AA0A0DAA0DAA0A6DAA6DAA0A0DAA0A0DAA6A6DAA6A0A0E0A6DA594D53939A9A -A09ADAA0A6DAA6A0E0E0A0A0E0A0A6DAA6DAA0A6DADAA0E0A05353599A9A9AA09AA0A0A0 -A0DAA6A0DAA0E0A0A0A0E0A0A6DAA0A6934D5359939A9AA0A0A0DADAA0A0DAA6A0A0A0A0 -A0A0A0A0E059ADE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E59AE0A0DADAA0E0A0DAA0E1A0DAA0E0A0DAA0A09A9A9A -5F935359E0E0A0E0A6A6DAA0E0A0A0E0DAA0A0DC8B8BAD8BAFAD8B8B8B8BAD8B9BA0E0DA -A6E0E0A0E0A0A6DADADAA6A0E0DAA6A0DAE0A0A0DAA0A0A09A9A59935353A0A0E0A6E0A6 -DADAA6E0A0E0A0A0E0A0E0A0DADAE0A0A0DAA0A09A9A9A93535353534D5353534D4D3600 -00000000000037A4A4A4A4A4AEA4A4A4A4A4A4A5AE9C54063A404036403636360006A3E4 -E2140000004E0000004E5B000000005B00464D53535353539393935F9A9AA0D4A0A0A0A0 -A0DAA0DAA6DAE0A0E0E0A0DAA0A0DAA6DAA0DA594D538D599A9A9AA0A0DAA0A0DADAA0A0 -DAA6DAA0DAA0DAA6A0DAA0A0E0A05953939A9A9A9AA0DAA0DAA0E0A0A0DAA6DAA0A0DAA0 -A0DAA0A6DAA0535353935F9A9AA0DAA0A0A0DAA0A0A0DADAA0DAA0DAA0A0A054E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5559AA6DAA0DBDAA6A0A0E0DAA0A0A6A0E0A0A0A0A09A9A9359539ADAA6DAA6A0 -E0A0E0A0A0DADAA0DAE38B8B8B8B8BAFAD8B8BAD8B8BA2599AE0A0E0A0E0A0DAA6DAE0DA -DAA6A0A6DAA6DAE0DAA0DAA0A0DA9A9A9A59939353A0A6E0A0E0A6A6DAA6E0A6DADAA6E0 -A0E0A0A6DAE0A0DAA6A0DAA0A09A9A9353535353534D4D4D4D53534D4606000094A5A4A4 -A4ADA469A4A469A4A4AE9400404040363640363636363606A3A506000000009500000006 -A200000000959B4D5353539393939A9A9AA0DAA0A0A0DAA0A6DAA0DAA6DAE0A6A0DAA0E0 -A0DAA0A6DAA6E0A04D5359939A9AA0DAA0A0DAA6A0A6DAA0A0E0DAA0A0E0A0E0A0A0DAA0 -DADA9A535993939A9A9AA0A0A0A0A6A0DAA6A0A6A0E0A0A0A0DAA0A0DAA6E04D5359939A -9AA0A0DAA0DAA0A6A0DAA0A0A6A0E0A0DAA0A0A054E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AD53E0A6DAA6 -A0DADAA0A0A0DAE1DAA0DAA0DA9AA09A9A9A935953A0DAA6DAA6DAA0A0E0E0DADADADAE1 -8B8B8BAF8B8BAD8B8B8B8B8BDD93599AE0A0DAA0E0A0DAA6A0A6A0DAA6A0E0A0A6A0A6A6 -DAA0DAA0A09A9A9A59598D539AE0A6DAA0A0E0A0DAA0E0A0DAA0DAA6DADAA0A0E0A0DADA -A0DAA0DAA09A9A935353535353534D4D534D4D4D4D465362A4A4A4AFA5A4A4A4A4A4A4AE -5336404040403640363636360040A3AB00000000005B000000009C4E000000DD93538D59 -93599A9A9AA0DAA0A0DADAA0A6DAA0DAE0A0A0A0A0DADAA6DAA0E0A0E0A0DAE0A053538D -939A9A9ADAA0DAA0A0DADAA0E0A0E0A0A6E0A0A0E0A0E0A0A6DAA69A538D59935F9AA0DA -A0DAA0DADAA6A0DAA0DAA0A0E0DAA6A6DAA6A0DAA0535393599A9A9AA0A0A0A0DADAA0A0 -DAA0A0A0A0A0A0DAA0599EE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5559AE1A0DAE0A0A6DAA6DAA0A0A0E0 -A0A6A0A0DAA09A9A59935359A0DAA0DAA6DAE0A0A6DAA0A0A0A08B8BAFAF8BAD8B8B8B8B -8B8B8B9A5959A0E0A6DAA6DAA6DAA6DAE0A6DAE0A0E0DADAE0E0A0E0A0A0DAA09A9A939A -5953539ADAA6E0DAA0E0A0E0A0E0A0E0A6DAA6E0A6DAA6DAA6A6DAA0DAA09A9A9A9A9A59 -535353534D4D4D4D4D4D4D4D4D4D535A5AA2A3A4A4A4A4A5A5E44D364036363636363600 -36360046E4AB0000000000950000000006A3000072E2535359939A9A9A9AA0A0A0DAA0A0 -E0A0DAA0E0A0A0A0E0E0DAA6DAA6A0E0A0A0A0E0A69A4D4D93599A9A9ADAA0A0DAA6DAA6 -A0E0A0E0A0A6DAA0DAE0A0E0A0DADAA6DA595359939A9AA09AA0A0A0A0A6A0DAA0E0A0A0 -A6DAA0A6DAA0A0DAA0A69A5393599A9A9AA0DAA0DAA0A0A0DAA0A6A0DADAA0DAA0A0DA53 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5AF53A6DAA6DBA0DAA0DAA0E0A0E0A0A0DAA0DAA0A0A09A5993 -59539AE0DAA6DAA6A0DADAA0DADADADA8BAFAFAF8B8B8B8B8BAD8B8B8BA159939AA0DAA0 -DAA6A0DADAA0A0DAA0A0E0A0A0A6A0DAA6DAA0DAA0A0DA9A9A9A9359535359DAA6A6E0A0 -E0A0DAA0E0A0A0DAA0A0DAA6DAA0E0E0A0A0E0A0DADAA09A9A9A9A5953535353534D4D4D -4D4D4D4D4646464D4D535A5A5B6161A24D40464040404040403640363646606100000000 -00A30000000000E34E9CE25953939A9AA09AA0A0DAA0DAA0A0DAA0DAA0E0A0A6A0E0DAA0 -A6A0A6A0DAA0A6DAA6E09A4D5353939A9A9AA0A0A0DAA0A0DAA0DAA6A0DAA0DAA0DAA6A0 -A0A0DAA6A0A0E0539359939A9AA0A0DAA0DADAA0DAA0A6A0DAA0DAA0A6DAA0A0E0A0A6DA -535359939A9AA0DAA0A0A0A0DAE0A0A0A0DAA0A0A0A0A0A0A69EE5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5559AA6DBA6A0A6DAA6DADAA0A0DAE0A0A0A0DAA0D49A9A9A598D53A0A0A0DAA0E0A0 -A6DAA0A0DADAAFAF8B8B8B8BAFAFADAD8B8B8BA29359599AA0E0A0DAE0A6A6DAE0A6E0DA -A0E0DAE0DAA6DAA0E0A0E0DAA09A9A9A9A9359535359DADAA0DAA6DAA6E0A0E0DAA6E0E0 -A0E0A0E0A0A0DAE0A0DAA6A0A0DA9A9A9A9A9359535353534D4D4D4D4D4D4D4D4D4D4D4D -464D464D4D4D4D4D4D4D4D4D464D4D464D4D4D4D4D4D740000389CA23900004EDC9BA8A1 -93939A9A9AA09ADAA0DAA0DAA0DAA6A0DAA6DAA0DAA0A0A0A6DADAE0DAE0A0E0DAA0DA93 -535359939A9A9AA0DAA0DAA6DAA6A0E0A0DAE0A0E0A0E0A0DAA6DAE0A0DAA6E09A935993 -9A9A9AA0DAA0A0A0A6A0A6DAA0DAA6A6DAA6DAA0A6DAA0A0E0594D53939A9AA0A0A0A0DA -A0DAA6A0A0DAA0A0A0A0DAA0DAA0DAE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AE53E0A0A0DAA0A0 -A0A0A0E0A0A0A0DADAA0A0A0A0A09A9A9A595359E0A0E0A0DAA6E0DADADAA0E1AF8B8B8B -8B8B8B8BAD8BADAD8BA29A939359E0A0E0A0A0DADAA6A0DAA0A6DAA0A6A0A6DAA6DAA6DA -A0A0DAA0A09A9A939393535353E0A6DAA0A6DAA0DAA6A0DAA0A0E0A0E0A0E0E0A0A0E0A0 -DADAA0A0DAA0A09A9A939A9353535353534D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D -4D4D4D4D4D4D4D4D4D53534DDCDDA3E29B4DE2A2DCE29A5993935F9AA0A0A0DAA0A0A0DA -DAA0A6DADAA0A0A0A6DAA6DADAE0A0A6A0A0A0A0E0A0A6E0594D535393599AA0A0A0A0DA -A0DAA6DAA0DAA6A0A0E0A0A0A6DAA6DAA6A0A6A0E09A539359939A9A9A9AA0DAA0DAA0E0 -A0A6DAA0A0A0A0DAA0DAA0A6DAE0A05353939A9A9A9ADADAA0A0A0A0DADAA0A0DAA0A0A0 -A0A0A0E059E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AD53A6A0A0A0DBA0A0DADAA6A0A0DAA0A0 -DAA0A0A0A09A9A9A9353DAA6DAA0DAA6A6DADAA0DAE38B8BAF8B8B8B8B8B8B8B8B8BAFDB -9A9A9A939AA0E0A0A0A0A0E0DAA6DADAA6DAA6DAA0DAA0DAA6DAA6DAA0DAA09AA09A9A9A -93598D539AA0E0A6DADAA6DAA0DAA0A0DAA6E0A0E0DAA6A0A6DAA0DAA6A0A6DAA0DAA0A0 -A09A9A9A9A9A93595353534D4D4D4D534D4D4D4D534D4D534D4D4D53534D535353535359 -538D59598D5993939A9A9A9A9AA0A0A0A0A0DAA0A0DAA0DAA0E0A0DAA0A6DAE0DAA0A6DA -A0A6A0A6DAA0A0DADAA0E0E09A535359939A9A9ADAA0DAA0DAA0DAA0A6DAA6A0A6A0DAA6 -A0A0A6A0A0E0A0DAE0A0595393599A9A9AA0A0A0A0E0A0A0DAA0E0A0A6DAA0E0A0DAA0DA -A0A0E09A4D53939A9A9A9ADAA0A0A0A0A0A0DADAA0A0A0DAA0A0A0A0E0599FE5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E555A0DAA6DAA6DAA6A6A0DAA0E0A0DBA6A0DAA0DAD4A09A9A9A59 -9AE0A0E0A0DADAA0DADAA0E38B8B8B8B8B8B8B8B8B8B8B8B8BA09A9A9A9A939ADAA6DAE0 -E0A0A0E0A0A6DAA6DAA6DAA0E0A0DAA0DAA0E0A0A0DAA09A9A9A9A59598D5393A0E0A0A6 -DAA6E0A0E0E0A6DAA0DAA6A6DAE0DAA6DAA6DAE0DAA0E0A0DAA0DAA0A0A09A9A9A939353 -53535353535353535353535353535353535353535353939393939A9A9A9A9A9A9A9A9A9A -A0A0A0DADAA0DAA0A0DAA0A0E0A0E0A0E0A0E0DAA0A0A0E0A0A6DAA0DAA0A6E0DAA6A6E0 -A09A4D5393939A9A9AA0A0DAA0A0E0A0A6DAA0A0DADADADAA6DA534DD4A0E0A0DAE0A09A -5393939A9A9AA0A0DADAA0A0DAA6A0A0A0DAA0A0E0A0A0A6DAA6A0E0A0595353939A9AA0 -A0A0A0DAA0DAA6DAA0A0A0DAA0A6A0A0A0DAA054E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AFE5E5E5E5E5E5E5E5 -AE53A0DAA0A0A0DADAA7A0DAA0A0E0A0DAA0DAA0A0A09A9A9A9359A0E0A0E0A0A6DADADA -A0E28B8B8B8B8B8B8B8B8B8B8B8B8BA0A0A09A9A5959A0DAA6A0A0E0A0A0E0DAA0DAA6DA -A6E0A0A6E0A0A6E0A0DAA0A0DAA0A09A9A9A9359535353A0E0DAA0DAA6DAA6A0DAA6DAA6 -DADAA0A6A0DAA6DAA0A0E0A0A0DAA0DAA0DAA0A0A0A09A9A9A9A939A5959595353535353 -5353538D5953539359939A939A9A9A9A9A9A9A9AA09AA0A0DAA0DAA0DAA0A0DAA0DAA0A0 -E0A0A0DAA0A6A0E0A0A6DAA0E0A0DAA0E0DAE0A0DAA0A6DAD4594D370606063838400C40 -4D539393599ADAA6DAA6A6939A534D36000053DAA0A6DAE09A535359939A9A9AA0A0A0A0 -E0A0A0DAA6E0A0A6DAA6A0DAA0DAA0DAA0A6934D5359939AA0A0DAA0DAA0A0A0DAA0A0A0 -A6A0DAA0A0DAA0A653ADE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E555E1A0A6DAA7A0A0A0 -DAA6DAE1A0E0A0E0A0A0A0DAA09A9A9A9393A0E0A0A0A0E0A0DADAE1AF8B8B8B8B8B8B8B -8B8B8B8BDCDA9AA09A9A939359A0DAE0E0A0E0A6DAE0A6E0A0E0A0A0DAA0DAA6DAA0E0A0 -E0DAA0A0D4A09A9A9A93939353535FA6E0A6DAA6DAE0A6DAA6DAA0E0A6DAE0A0E0E0A6DA -A6DAE0A6DAA6DAA0DADADAA0DAA09A9A9A9A9A9A9A9A939A9A9A93939A939A939A9A9A9A -9A9A9AA0A0A0A0A0A0DAA0DAA0DAA0DAA0DAA0DAD44D59E0A0E0A0E0DAA6A0DADAA0A0DA -A0E0A0E0A0E0A0A0DAA0E0594D3700000000000000000000000000000000000000000000 -000000000000000053E0A0DAA09A53539393599AA09AA0DAA0DAA0A0E0A0DADAA0DAA0DA -A0A6DAA6A0A6A09A535353935F9AA09AA0A0A0A0DAA0A0E0A0A0DAA0A0A0DAA0E09A55E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AFA6DAA0DAA0DAA0DAA6DAA0A0DAA0DAA0A0DA -DAA09AA09A9A59599AE0A0E0E0A0A0A0DADAE38B8B8B8B8B8B8BAD8BAF8BDAA0A0D4A09A -9A935993A0A6A0DAA0DAA0A0A0DAA6DAA6A0E0A6E0A0E0A0DAA6DAA0A0DAA0A0A09A9A9A -595993534DA0DAE0A0DAA0A0DAA0A6DAA6A0DAA0A0E0A0A6DAA0E0A0A0DAA0DAA0E0A6A6 -A0A0DAA0DADAA0A0A09A9A9AA09A9A9A9A9A9A9A9A9A9A9AA09AA0A0A0DAA0DAA0DADAA0 -DAA0A0DADAA0DAA0A0DA00000037DAA0DAA0A6A0DAA6A6A0E0A0E0A0E0A0E0A0A0E0A093 -000000000000000000000000000000000000000000000000000000000000000000005FA0 -DAA6E053535993599A9A9AA0DAA0A0A6A0E0A0A0A6A0A0E0A0A6DADAA0A0DAA0E0535393 -939A9AA0A0A0DAA0DAA6A0DAA0A0DADAA0A0A0DAA0A0A053E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E559E0A0A0E0A0A0E0A0A0E0DAA0E0A0A6DAA6A0A0DAA09A9A939359A0 -E0A0A0E0DADAA0DAE18B8B8B8B8B8B8B8B8BAF8BA0A0DAA0A09A9A5F935359DAE0A0E0A6 -DADAE0A0DAA6DADAA6DAA0E0A0E0A6DAA0E0DAA0DAA0DA9AA09A9A9A9393535359A0E0A6 -E0E0A6DAE0A0E0E0A6DAE0A0E0DAA0E0A0E0DAA0E0A6DAA6DADAE0DAA6DAA6A0A0DAA0DA -A0A0A0DAA0A0DAA0A0A0DAA0A0DAA0DAA0DADAA0A0DAA0DAA0DAA0DAA0DAA6DAA0A6DA06 -000000000CDAE0A0DAE0A0DADAE0A0DAA0E0A0DAA0E0A0E0060000000000000000000000 -000000000000000000000000000000000000000000000053A0DAA6E0A0535993599A9AA0 -DAA0A0DAA0DAA0DAA0E0A0E0A0A0E0A0A0A0A6DAA6DAA6535359939A9A9ADAA0A0A0A0DA -A0A6A0DAA0A0A0DAA0A0A0E05F73E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E59F53 -E0DAA0A6A6A0A0E0A0DBE0DAA0DAA6A0A0DAA0A0DAA09A9A9A599ADAA6E0A0A0DADAA0E2 -AFAF8BAD8B8B8B8B8BDAE0A0DAA09ADA9A9A9A599359A0E0A6E0A0DAA0E0DAA6DAA0DAA6 -DAA6DADAA6DAA0E0DADAA6DADAA0A0A0A09A9A9A9A599353539AA0A6E0A0E0A0E0E0A0E0 -DAA6E0DAA6DAA6DADADAA0E0A0E0A0A6E0A0E0A0DAE0A0E0A0E0A0A0DAA0DAA0DAA0DAA0 -A0A0A0DAA0DAA0E0DA0C00000000009ADAA0DADADADAA0370000000000000053E0A0A0E0 -A0DAA6DAA0A0E0A0E0DAA0DAA60600000000000000000037374D875993939A939A534D00 -0000000000380C46384D53D4A0DAA0E0A0535393599A9A9AA0DAA0A0DAA0E0DAA0A0A0E0 -A0A0DAA6A0A0DAA0E0A0E0A05353599A9A9A9AA0A0A0DAA0A0A0A0A0DAA0A0A0DAA0A0DA -A05974E5E5E5E5E5E5E5E5E5E5E5E5AFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E555A0A7A0DAA0DAE0A0DAA0 -A0A6DAA6A0E0E0A0A0DAA0A09A9A9A9A59A0DAA0A6A0DADAA0DAE2E38B8B8B8B8B8B8BA7 -A0DAA0A0DAA09A9A9A9A939393A0DAA0E0A0E0A0A0A6DADAA6DAA6DAA6A0E0A0E0A0A6A6 -DAA0A6A0DAA0DA9AA09A9A935993535353DAA6E0A0E0A0A0E0A0A0E0A0A6DAA0E0A0A6A6 -E0A0E0A0DADAA0E0A0DAA6A0E0A0E0A0DAA0E0A0E0A0E0E0A0A6DAE0A6A0E0A0E0A00000 -000000000046A0E0A0A6A0A638000000000000000046DAA0E0A0A6DADAE0A0E0A0A0A0A6 -DAA646000000000000004D939A9AA0A0A0DAA0E0A0A0A0DA530000000046A0A6DAA0A0A6 -DAA0A6A0E0A0535359599A9A9A9AA0A0A0DAA0A6A059460C464DA0DAA6A0DADAA6DAA0A0 -E0594D59939A9A9A9AA0DAA0A0A0DAE0A0DAA0A6DADAA0A0A0A0A054E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AE53E0DAA0DAA7A0DAA6A0DAA1A0DADAA0A0DAA6A0 -DAA0A09A9A9A9359A6DADAA6A0A0DAA0A0E18B8B8B8B8B8B8BDADAA6DAA0A0DAA09A9A9A -595F5959A0E0A0A6DAA6DADAA6A6DAA6DAA0E0E0A0E0A0E0DADAA6DADADAA0A0A0A0DA9A -9A9A9A93599393599AA0E0A6DADAA6DAE0A0E0DAA6E0A0E0DADAA0E0A0E0A6A6DAA0E0A6 -DADAA6DAA0E0A0DAA0E0A0DAA0A0DADAA6A0DAE0A0DAA09A0000000000000006E0A0DAA0 -E05300000000000000000038A6E0A0DADAA6A0A0E0A0DAE0DAA6E09A0000000000000053 -9A9AA0DAA0DAA0A0E0A0DAA6DA5900000000004DA6DAA6DAA6DAA0E0DAE0A0595393939A -9A9AA0DAA0A0DAA0A6D44D0000000000A0A6DAA0A6A0DAA6DAE09A5353939A9A9AA0A0A0 -A0A0DAA0A6A0DAA0A0DAA0A6A0DAA0DAE09FE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5735FE0A1A0DAA6A0DBE0A6DAA6A0A6DAA0E0A0DAA0A09AA09A9A9A59DAA6 -A0DAA6DAA0DADAE08B8B8BAF8B8BE3A6A6DAA6DAA0A0A0A09A9A9A9393539AA0E0DAA6DA -A6DAA0A0E0A0E0A0A0A0E0A0E0A0A6A0E0A6A6A0E0DADAA0A0DAA09A9A9A9A9A59535993 -9AA0E0E0A0A6DAA6DAE0A0DAA6A0E0E0A0DAA6DAA0A0E0A0DAA0E0E0A0E0A0E0A0A6DAA0 -A6DAA6E0A0A6DAA6A6A0E0A0E0370000000000000000A0E0A6E0D4000000000000000000 -0006A0DAA6A0A6DADAA6A0E0A0A0A6DA9A0C0000000000469A9AA0DA9AA0DAA0E0A0A0E0 -A0DA9A000000000040A6DAA0DAA6DAA6DAA0A6A093535353939A9A9AA0A0DADAA0E05306 -00000000000053DAA0DAA0E0A0A0A6A0535393599A9AA09ADADAA0A0A0DAA0A0A0E0A0A0 -A0A0A0A0A0A69AE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E54DA0E0 -E0A0A0DAA0A0DAA0DAA1DAA0DAA0DAA0A0DADAA09A9A9A939AE0E0A0DADADADADADADD8B -8BAF8BAFE2DADAA6A0DAA0DAA0DAA09A9A9A93595393A0E0A0DAA0A6E0E0A0DAA6DAE0E0 -A0DAA6DAA0A6DAA0DAE0A0A0E0A0DAA0A0A09AA09A9A9A93935953599AA6DAE0A0E0A0A0 -E0A6DAE0A0A0E0A6DAA0E0E0A0E0A6E0A0A0DAA6DAA6DAA0E0A0DAA6DAA0DADAA6DADAE0 -A0A64D000000000000000000D4A0DAA00C0000000000000000000000DAA6DAA6DAA0DAA0 -DAA0A6E09A594D0000000000369A9AA0A0A0A0DAA0A0DAA0E0A0DAA6000000000000A0A0 -A0E0A0A0A0E0A0A0E053535393935F9A9AA0DAA0A0A0DA4D000000000000000037A6A0A6 -DAA0A0DAE0534D534D4D4D9AA0A0A0A0A0DAA0A0A0DAA0A0A0DAA0A0DAA0DAA053E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E59759E0A0A1E0A0A6DAA0A6DAA6 -DAA7A6DAA6A0DAA0A09AA09A9A5F59A0A0E0A0E0DADADADAE28B8BE3E3E3DAA0A6A0DAA0 -E0A0DAA0A09A9A9A9359935393E0A0E0A6DAA0A0DAA6DAA6A0A0DAA6DAA0E0DAA6DAA6A0 -E0E0A0A0DAA0DAA0DAA09AA09A9A93935993539AA0A6E0A0E0E0A0DAA6A0E0E0A0DAA6E0 -A0A0E0A6DAA0DADAA6DAA6DAA6E0A0DAA6DAA0DAA6A6DAA0A6A0DADA0000000000000000 -000059A6DAA6000000000000000000000037DAA6DAA0DAA6A0E0A6E0DA9A4D534D000000 -0000539AA0A0DAA0DAA0A0E0A0E0A0DAA6A0000000000000A0A0E0A0A0E0DAA0A0E0A053 -9359935F9A9AA0A0A0DAA0E04D00000000000000000000DAA0DAA0A6DAE05F5346000000 -00069ADAA0A0DAA0A6DAA0A0A0A0DAA6A0DAA0A0E05F74E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E59F53A0A0DAA7DAA6A0E0A0DAA0A6A6A0A0A6DAA0A0A0 -A0A09A9A59539AE0A1E0E0A0A0A0E08BE3DAA6DAA6A0A0A0E0A0E0A0A0A0DA9AA09A9A9A -93935393A0E0A0E0A0A0DAA6DAA6DAE0A0E0A0DAA6A6DAA6A0A6DADAA6A0E0A0DAA0DAA0 -A0DAA0A09A9A9A9A9A93598D59939AE0A0E0A0A6DADAA0E0A0DAA6A6E0A0DAA0E0E0A0DA -A6DAA6DAA6DAA0E0A0A6DAA6DAA6DAE0DA0000000000000000000000A0DAA09A00000000 -3693360000000037DAA0A0A0E0E0DA9A595353538D539300000000009AA0A0A0DAA0A0E0 -A0E0A0E0DAA05F0000000000009ADAA0DAA0E0A0A6A0A0538D5993599A9A9A9AA0A0A0DA -DA000000000000000000000000A0A0DAA0A0E05336000000000000000059DAA0DAA0A0DA -A6A0A0DAA0A0A0A0A0E0599FE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E555E1E0A0A0A0DBDAA0A6DAA7DADBE0A0DAA0E0A0DAA0DA9A9A939359A0E0A0 -A0E0DADADAE2A6A0DAA6DAE0A0E0A0DAA6DADAA0A0A0DAA09A9A9A59935359A0E0A0E0DA -A6DAA0E0A0A0E0A0DAA6DADAA6DAE0DAA6A6DAE0A0DAA6A0E0A0DAA0DADAA0A0A09A9A9A -59939353539AA0E0E0A6DADAA6DAA6E0A0A0DAA6E0A6DADAA6DAA6DAA6A6DAA6A0A0DADA -A6DAA6DAA6A04D0000000037373800000000DAA6DA4D0000000037DA360000000046A0E0 -E0E0A0A0534D4D538D5359935F3600000000004D9ADAA0E0A0DAA0E0E0A0DAA036000000 -00008DA6A0E0A0A6A0E0E0A093535393939A9A9A9ADAA0DAA0A0DA000000000000000000 -000000A0E0A0A6DAA64600000000000000000053A0A0A0DAA0A0A0DAA0A0A0DAA0DAA69A -54E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5DAA0DAA0 -E0A0A0A0DAA6DAA0A6A0DBA0E0A0A0DAA0A0A09A5F935959A0E1E0A0A0E0A0E0A0DAA6DA -A6A0DAA6DAA6DAA6DAA0DADAA0A09A9A9A5F93535359A0E0A0A0E0A0E0A0E0E0A0DAA6DA -A6E0A0E0A0A6DADAA6A0DAA6E0DAA6DAA6DAA0A0DAA0DA9AA09A9A9A59935953599AA0A0 -E0A6DAA6DAA0DADAA6E0A0DAA6A6DAA6DAA6DADAA6A0DAE0E0DAA0DAA0DAA6D400000000 -004DDA5900000000A0DAA600000000069AA6460000000046A6E0A09A59534D535393539A -9A9A9A4D0000000000000000E0A0E0A0E0A0DAA0A646000000000038A6A0E0A0A6DADAA0 -A05353538D935F9A9A9AA0A0DAA0A0E0060000000037DA000000000036DAA0A0DAA69A00 -0000464D934D00000053DAA6A0A0E0A0DAA0E0A0DAA0A0A0A053AFE5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E553E0A0A7DAA0DAA7DAA0A0E0A0DA -A6A0A0DADAA0A0DA9AA09A93599393A0A0DAA6A0E0A0E0A6DAA6DADAA6DAA0E0A0DAA0E0 -A0A0A0DA9A9A9A9A93935353939AE0E0A0DAA6DAA0A0E0A6DAA6DAA0E0A0E0A0DADAA0E0 -A6DAA0A0E0A0E0A0DAA0A0DAA0A0DA9A9A9A9A9A9A938D5359935FDAA6E0A6E0A6A6DAA0 -E0A0E0DAA6DAA6DAA6A6DADAA6A0A0A0E0A6E0A0DA530000000037DAA68D00000000A0A6 -4D000000364DDAA00C00000000539A59535353535353939A9A9A9A9AA0DA000000000000 -000059E0A0A6DAA0A6E053000000000000DAA0DAA0DAA0A6A6E053538D5359939A9A9AA0 -A0A0A0E0A053000000004693A0000000000046A6DAA6E09A530000004D9AA04D00000093 -A6DAA0DAA0A0A0A0A0A0A0A0DAE05974E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5559AE0A0A0DAA0DAA6DBA6A0A0A0DAE0A0A0A6DAA0A0DA9A -9A9A9A59599AE0A0E0A0A0E0A0DAA6DAA6A6DAA6DAA0E0A0DAA0E0A0DAA0A0A09A9A9A93 -935353599AE0A6A0E0A0E0DAA0E0A0DAA6E0A0DAA6E0A0A0E0A0DAA6DADAA6DAA0E0A0E0 -A0DAA0DAA0A0A0A09A9A9A9A9A59935353599A9AA0E0E0E0A6DAA6DAA0A0E0A0DAA6DADA -A6A0DAE0A0A0A0DAA0E0A0360000000093A0DA4D00000037DAA04000000036A6A6E03600 -00000053535353538D93939A5F9A9A9AA0DAA0A05900000000000000D4A0E0A0E0A0A0A0 -36000000000059DAA6DAE0A0E0DAE05F538D5993939A9AA0A0DAA0DAA0A0D4000000000C -4DA0DA00000000004DA0A0E0A0534D00004659A09A4D000000A0DAA0E0A0A0E0A0DAA0DA -A0A0A0A04DE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E512A0E1DAA6E0A0DAA0A0DAE0DAA6A0DAE0A0A6DAA0A0DA9A9A939A9353A6E1A0E0 -DAA0DAA6DAA0A0E0A6DAA6A6DAA6A0E0A0DAA0DAA0DAA09A9A9A5993595353A0DAA6DAA0 -A6A6E0A0A6DAA6A6DAA6DAA6DADAA6DAA6DAA6A6DAA6E0A0E0A0E0A0E0A0A0DADAA0DAA0 -9A9A9A9A59939393535359599AA0E0E0E0A6E0E0A0E0A0E0A0A0A6DAA6A0E0E0DAA6E0A0 -930000000000A0E0A60C00000046A093000000008DE0DAE036000000004D8D5393935993 -9A9A9A9A9AA0A0A0A0DAA093000000000000A0E0A0E0A0E0E046000000000046DAA0A0A6 -A0E0A0A69353535959939A9AA0D4A0A0DAA0A6DA060000000038DAA0E000000000008DA0 -E0A0595336004D4D9AA0A000000046A0A0A0A0DAA0A0DAA0A0A0A0DAA018DFE5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5725FE0A1A0E1 -DAA0DAA0DAA0DAA6DAA0A0A6DAA0A0A0A09A9A9A9A9359A0E0A0E0DAA0DAA6DAA6DAE0A0 -E0A0E0A0A0DAA6DAA0DADAA0A0A0D49A9A9A59935953599AA6E0A0E0A0DAA6DAA6A6E0A0 -E0A6DADAA6E0A0E0A0A0E0A0E0E0A0E0A0E0A0E0A0E0DAA0A0DAA09ADA9AA09A9A9A9A9A -5993938D53535359939A9AA0A0DAA6A0E0A6E0A6E0DAE0A0E0A600000000004DDAA69300 -00000093D4000000003653534D53000000004693939A9A9A9A9AA0A0DAA0A0DADAA0DAA6 -DAA0A0A0E0DAA6DAA6DAA6DAE0A04600000000004DA6DAA6A0A0E0A05353538D93599A9A -9AA0DAA0A0DAA0DAA037000000004DDAA6DAA00000000046DAA693535300004D539AA0A0 -53000036A0A0A0A0A0DAA0A0A0A0A0A0A0E05FE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E554A0DAA0A0A6DBA6DAA7DAA6DBA6DA -DAA0E0A0DAA0DAA09A9A5F9A9359A0E0A0A6A6A0E0A0DAA6A0E0A0E0A0DAE0A0DAA6E0A0 -A0DAA0DAA0A09A9A9A59935353599AA0E0A0E0A0DAA6DADAA0E0A0DAA6A6DAA6DAA6DADA -A6DAA0A6DAE0A0E0A0E0DAA0E0DAA6DAA0A0A0DAA0A09A9A9A9A9A9A9A9A939393599353 -53535959939A9AA09AA0A0A6A0E0A0E000000000389AA0A04D0000000093120000003646 -8D59938D00000000539A9A9AA0A0A0A0A0DAA0DAA0A0A0A6A0DAA6DAE0A0A0A6DAA6DAA6 -A0A6DADA000000000000D4A0E0DAA6E09A53538D5393939A9A9A9AA0A0DAA0A0E0A69300 -00000046A0A0A0A64D000000008DA69353930C000046A0A0DAA04D00004DE0A0A0A0DAA0 -A0DAA6A0DAA0DAA053E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5ACADE5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5DF18E0E0A0DAA0A0E0DAA0DAA0A0A6A6DAA0E0A0DAA0A09A9A -9A9A599359A0E0A0A0E0A0E0A0A6E0A0A6DAA0A6A0E0A6DAA0DAA6A0DAA0A09AA09A9A9A -9A9393535393A0E0A0E0A0E0A0A6DAA6A0E0A0A0E0A0E0A0E0E0A0E0A6DAA6A0E0A0E0A0 -A6E0A6A0E0A0E0DADAA0DAA0DAA0A0A09A9A9A9A9A9A939A9A93598D8D53535353535353 -595993599359000000000C535353060000000053360000000093599A5993000000009A9A -A0A09AA0A0DAA0A0DAA0A6DAA6DADAA6DAA6A0E0A0DAA6DAE0A0E0DAA0A6000000000000 -A6DAA0A0E0A05353535993599A9A9AA0A0DAA0A0DAA6DADA460000000053DAA6DAA04600 -000000A0DA5353593600004DDAA0A0594D000059A0E0A0A0A0E0A0A0A0A0A0A0A653ACE5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E500000036AEE5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E59759A0DBA0A6DAA1A0E0A0A6DADADAA0A7DAA0A0A0DAA09A9A9359935993A0E0E0A0 -A0DAA6DAA0A6DADAA6DAE0A0DAA6A0E0DADAA0A0DAA0A0A09A9A9A595993535359A0E0A0 -DAA6DAA0E0A0E0DAA6A6DAA6DAA6DADAA6DAA0E0A0A6E0A0A046469AA0DAE0A0E0A0A6DA -A0DAA0DAA0D4A0A09A9AA09A9A9A9A9A9A939A9A93938D5393538D535353534D00000006 -4D8D534D400000000C87000000004693939A9A4D000000469AA0DAA0DAA0DAA0DAE0A0A6 -DADADAA0A6A0A0E0E0A0DAA6A0DAA0DAA0A6A09A000000000000DAA0A6E0A053538D5993 -59939A9A9AA0DAA0A0E0A0A0A65F0000000000DAA6DAA0594600000046E09A53934D0000 -00A0A0A0A04D000037A0DAA0DAA0A0A0DAA0DAA0A0E05973E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5730000000072E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E572E0A0E0A0A0E0 -A0A0DAA1A6A0A0E0A0DAA6DAA0A0DAA09A9A9393595993A0A0DAE0A6DAA0E0DAA0A6DAA6 -A0A6DAA0E0A0A0A6DAE0A0DAA0D4A09A9A9A9A595993539AA0E0A6DAA6E0A0DAA0A6DADA -A6DAA6DAA6A6DAA6E0A0E0DAA09300000036A0A6A0E0A0DAA6A0E0A0E0A0DAA0DAA0DADA -A0A09A9A9A9A9A9A9A9A9A9A59939A935993939393460000004093939340000000004D46 -000000004D9A9A9A9A460000008DA0DAA0DAA0DAA0DADAA0E0DAA6A0A0E0DAE0A0A0A0E0 -A0DAE0A6A0E0A0DAE04600000000008DA0E0DA9A535359595993939AA0A0DAA0A0A0DAA0 -DAA6DA460000000046A0A0A0E038000000009A9A53935936000000A0DAA0934D000093E0 -A0A0A0DAA0DAA0A6A0DAE09A54E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AC00000000 -0071E5E5AD727374E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5A0E0A0DBA0A0DBA6A0DADAA6A6A0E0A0 -DAA6A0A0A0A0A09A9A5F93595959A6A0A0A0E0A6A0A6DAA6A0E0E0A0A6DAA0E0E0A0A6A0 -DAA0A0A0A0A09A9A9A935959595359A0DAA6A0A6DAA6E0A0A6A6DAA0E0A0DAA0E0A0A0E0 -A0A6DA360000000046E0A0E0A0A0E0A0A6DAA0A0A6A0A0DAA0A0DAA0DAA0A0A09A9A9A9A -9A9A9A939A9A9A59935F9300000000189A5F9A06000000009A060000000093A0A0A05F36 -000036A0A0A0A0A0A6A0A6A0A6A0A0A6DAA6A6A0A0A6E0A0A6A0A6A0A0A0A0A6A6A09A00 -0000000006A0A6A0595353539393595F9A9AA0A0A0A0A0A6A0A6A0A0A6000000000038A0 -E0A0534600000036A0535959930000004DA0A0A04D000046A0A0A6A0A0A0A0A0A0A0A0A0 -A018DFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5710000000000ACE5720000000039E5 -E5AF723736ADE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E57359E1DAA0A1A0E0A1DAA6DADAA6A1DADAA6DAA0A0A0DA9A9A9A -9A9359939AA6E0A0A0E0DAA6A0DAA6DAA6DAA6DAA0A0DAA0A6E0A0A6DAA0A0A0DA9AA09A -9A9A9A9359535393A0A6A0E0A0E0A0A0A6DAE0A0A0DAA0A6DAA6DAE0A636000000000CE0 -A0E0A6A6DAA6A0A6A0A0DAA6A0E0A0DAA6DAE0A0DADAA0A0A0DAA0A0A0A0A09AA09AA09A -37000000469AA09A400000000000530000000000A0DAA0D4360000009AA6A0A6A0E0A0DA -A6A0A6A0A0DAA0A0A6A0A6DAA6A6A0A6A0A6A0E0A0E0A0A6360000000006E0A053535353 -59939A9A9A9AA0A0A0DAA0DAA6A6A6A0A6A0A60000000046A6A0DA534600000036535359 -93930000004D53A09A4D000000A0A0DAA0A0A0DAA0A0DAA0A05F72E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E573000000000073E5E5000000000000E5730000000000ACE5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E554A0A6A0DADAA0A0A0DAA0A6DAA0A6A0DAE0A0DAA0A0A09A9A9A5F9A59599AA0E0DAA6 -A6DAA6A0DAA6A0E0A0A6E0A0A0E0DAA0E0DAA6DAA0DAA0A09A9A9A9A5F595953595359DA -E0A6DAA6DADAE0A0A6DAE0A6E0DAA0A6DAA0DAA64D36000053A0E0A0DADAA6DAE0DAA6A6 -E0A0E0A0E0A6DAA6A0E0A0A0DAA0DAA0A0A0DAA09ADAA0A0A0A00000003759DAA0A00C00 -00000000380000000000A0A0DA590000004DE0A0E0A0A6A0A6A0DAA6DAA6DAA6A6DAA0DA -A6A0E0A0A6DAA6DAA6A0A0A0E053000000000093A05953599359939A9A9AA0A0A0A0A0A0 -A6A0A0A0DAA6DAA0D40000004653A0A6A04600000000535359939A4D0000004DDADA4D00 -000036A0A0A6A0DAA0A0A0A0A0A0E04DE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AF -360000000036E5E5E5000000000000E5730000000000AFE5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AF4DE0E1A0A6DAE0A0 -A6DBA0E0DADAA6DADAA6DAA0DADADA9A9A9A9A9393939AA6DAA0DAA0DAE0A0DADAA0E0A0 -DAA6E0A0A6DAA6A6DAA0DAA0DADAA0A09A9A9A9A93935993539AA0DAA6DAA6A6DAE0A0A6 -DAA0A6DAE0A0E0E0A0E0DAA00037DAE0A0E0A6A6DAA6A0E0A0A0DAA6DAA6A0A0E0DAA6DA -DAA6DAA6DAE0A0A0DADAA0A0DADADA9300000046A0A0DADA00000000004D000000000000 -E0A0DA360000009ADAE0A0E0DAE0DAA6DADAE0A0E0DAA0E0A6DADAA6DAE0A0DAA0D49359 -5353460600000000379A5353935393939A9A9AA0DAA0DAA0E0DADAE0A0A0DAA0E0A09300 -00000CE0DADA5346000000405393939A9A360000004DA04D4D0000009ADADAA0DAA0DADA -A0DAA0DAA0AFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E574000000000072E5E5E572 -0000000039E5E50000000038E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E59E53A6E0DAA0A1DADAA0DAA0A6A1DAA0A0DA -A0E0A0A0A0DAA09A9A9A9A93599AE0E0E0A0E0A0E0A6E0A6DAE0A0E00C464053DADAA0E0 -A6DAA0A0DAA0D4A09A9A939A93935953539AA0E0DADAA6DAE0DAA6E0DA9ADAE0A0A0E0DA -A6D4009AE0A0E0DAE0E0DAE0DAA6DADAA6DAE0DAE0E0DAA6DADAA6DAA6DAE0A0DADAA0A6 -DAE0A0A0DA4D0000004DDADAA0DA00000000009A000000000036A6DA9336000046E0E0A0 -E0DAE0A0DAE0A0E0A0E0A0DAE0A0E0A0E0DAA0DA53460000000000000000000000000040 -4D5993939A9A9A9AA0DADAA0DADADAA6A0DADADAE0DAA0DA370000004DA0DAD438000000 -005393939A9A9A000000004DDA4D0000008DDAE0A0DAA6DAA6DADAA0DAE053E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5370000000036E5E5E5E5AF37000038AFE5E5710000 -0099E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E57459E0A1A6DAE0A1A6DAA6DADADAA6A0DAA7DAA0DADAA0A09A9A9A -939A93599ADAA0DAA6DAA0DAA0DAE0A0E04D0000000037A0E0A0DAA0E0DAA0DAA0A0DA9A -9A9A93598D598D59939AA0E0DAA6DAA0E0E0530006A0DADAE0A0E0DAE0E0DAE0A0E0A0DA -A6DAA6DAA6A6DAE0A0E0A0DAA6DAE0A6DAA6DADAA0E0DAA0E0DAE0A0DAE0A03800000093 -E0A0E0590000000040DA000000000040DAE006000000A0DAA0E0DAA6A0DAE0A0E0DAE0DA -DAE0A6DAA0E0DAA0E0590000000000000000000000000000000000364653939ADA9AA0DA -A0DADAA0A0DAE0DAA6A6DAA6DAA00000004693DAA04600000000008D93939AD4A0000000 -004D4D0000004DA0A0A0DADADAA0DAA6A0DAE05974E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5AD000000000072E5E5E5E5E5393773AFE5E5E5720000ADE5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -559ADADAA0A0DADAA1DAA6A0A6DAE1A0DAA0E0A0A0DAA0DAA09A9A9A9393599ADAA6DAA6 -E0A0E0A0A0E053000000000000DAA6DAE0E0A0A6DAA0DA9AA0A09A9A9A9A9A9359535393 -93A0E0E0E0A0E09A00000053A0DAA6DAA6E0A0DAA6DAE0A0E0A6DAA6DAE0DADAE0A0E0DA -E0E0DAA6DADAA6DAA6E0A6DAA6E0A0DAA6DAE0DADA00000038DAA0E0DA460000000059E0 -000000000053A08D36000000A0E0DAA0E0DADAE0A0E0A0E0A0E0A0E0A0DADAA0E0DA9A00 -00000000000000000000000000000000000000000000404DA0DAA0DAA6DAE0A0DAA6DADA -A0DADA5300000046DAA6DA0C000000000C939A9A9AA0D4000000000000000036DADAE0DA -A0DAA0DADADADAE09A72E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5390000000036 -E5E5E5E5E5E5ADE5E5E5E5E5AF370039E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5A0E1A0DADBA6DAA6 -A0A6DAA6DAA0DAA6DAA0A6DAA0DAA0A09A9A9A9A9A939AA0E0DAA053E0A0E05300000000 -00000059A6DADAA6A0E0DAA6DAA0DAA0DAA0DA9A9A9A9393939393535993A0A0E0060000 -0053A0DAA6DAA6E0DADAE0DAE0A0E0A6DAA6DAA6DADAA6DAE0A0E0E0DAA6DAE0A0E0A6DA -E0A0E0E0DAE0E0DAA6A68700000040E0A0E0460000000093E09A0000000000DA4D000000 -0059A0E0DAA6E0DADADAA0E0A0DAA0E0DAA6DAE0DAA6DAE0000000000000000000000000 -00000000000000000000000000000036DAA6DADADADAA6DAE0E0DADA9A0000000093A04D -46000000008D939AD4A0DAA040000000000000008DA6DAA6DADAA0DAA0DADADAA04DE5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E54C0000000000AEE5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E54DA0E0DAA0A0A7DADADAA6DADAA6DAA0E0A1 -A0DAA0DAA0DAA0A09A9A9A9A939AA0943600DAE0A037000000000000008DDADAA6E0DAA0 -A6DADAA6DADAA0D4A0DAA09A9A9A9A93598D8D535993A00000000038E0A04D4D4DDAA6A6 -DAA6A0E0DADAA6DAE0DAA6A6DAE0A0E0DADAA6DAE0A0E0A6DAE0A0DAE0DAA6A0DAA6DADA -4600000046A0DA534000000036DAA0930000000000DA360000004DE0E0DAA6DADAA0DAA6 -E0A0DAE0E0DAA6DAE0A0A6DADAA0000000000037939A4D00000000000000000000000000 -000000000000A0DADAA6DAA6DADAA0A0DAA04D00000000539346000000008D939A9AA0DA -A09A0000000000000046A0DAA0DADADAA6DADADAA0E053DFE5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5000000000000E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E59F53E0A0E0DADAA0A6A0DBA0A0DAA7DAA0DADAA6DAA6DAA0A0D4A09A -9A9A9A934D000000A0DA59000000000000000053E0A6DAA0E0E0DAA6DAA0DADAA0A0DAA0 -9A9A9A9A9A939A5959538D5359000000000006000000004DDADAA6DAE0A0E0E0DAA6DAA6 -DADAA6DAE0A0E0A6DAA6DAE0A0DAA6DAE0A6DAE0DAE0A6DAE0E00600000006E0DA380000 -000093A6DA5300000000000000000000E0A0DAA6DAE0A6E0E0DAA0E0E0A0A0E0A0DAA0E0 -DAA6E0DADA538D93A6A09A59400000000000389A9ADA53460000000000000000DAA0E0DA -DADAA6DAE0E0A0DA00000000000000000000008D939A9ADADAA0DA4D00000000000000DA -DAA6DAA0E0DADAA0DAA0E0539FE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E500 -0000000000E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5AFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E59E -53E0A0A7A6DADBA6DAE0A6DAA0E0A0E0E0A0DAA0DAA0A0A0DA9A9A9A533600000000E0A0 -4600000093370000004DA0DAA6DAA6A0E0A0E0E0A0A0DAA0A0DAA0DAA09A9A9A9A939359 -8D538D0000000000000000000046E0E0DAA6DAE0A6A6E0DAA6DAA6A6DAA6DAE0A0DAE0DA -A6DAE0E0DAA6DADAA6A6DAA0DAA6DAA00000000046A0534000000038DAE0A04600000000 -000000000093A0E0DADAA6DADAA0A0E0DAA0DAE0DAD49346460C53DAA0A6DAE0A0A09A8D -538D00000000000053D4A0DAA0DA0000000000000000465353DAA6DADAA6A0A6DA4D0000 -00000000000000008D9A9AD4A0A0DAA0D40000000000000000A0DADAA0DAA0A0DAA0E0A0 -E073E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AE000000000071E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E57459E0DADAA6A0DAA6A0 -DBA6DAA0E0A0A0DAA6DAA6DADADAA0A0DA93000000000000A09A00000040E03600000053 -E0A0E0A0E0A6DAE0A0A0E0A0E0DAA0DAA0A09ADAA09A9A9A9A9359930600000000000000 -0000004DA0A6DAE0A0E0DADADAA6DAE0DADAE0DAE0A0E0A6DAA6DAE0A09ADAA0DAA69337 -53E0E0DAE0DA0000000038DA37000000009AE0A0E040000000000000000046DAE0A0E0A6 -DADAA6E0E0A0E0DAA6DA4D00000000000006DADAA6E09A8D53538D93000000000000A0A0 -DAA0DA4D000000000036360000000000A0E0A0DAE0DAE000000000000000000000939A9A -9AA09ADAA0DA530000000000000046A0E0A0DAE0DADAA0DAA0E093E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5720000000000AEE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E57359E0E0A0DAA6DADBA6DAA1E0A0DBDAA7DAA6 -DAA0DAA0A0934D0000000000004DE04D00000036DA360000008DA0E0DAE0DADAE0A0DAE0 -E0E0DAA0DADAA0A0DA9AA09ADA9A9A934D000000000000000000000053DAE0DAE0A0E0DA -A6A6A6DAE0A0A6A6DAA6A0E0E0E0A0E0D453360000004DDA4600004DDAA0A65F00000000 -0000000000004DE0A0E0A0000000000000000006D4DAA6DAA0DADAA6DAA0A0DAE0A0E093 -000000000000000053A09A93535393939359000000000000DADADAA04D00000000003653 -5900000000004DA0DAE0A0A64D000000000000000000009A9AD49ADADAA0DAA000000000 -00000000004DA0DADAA0A0DADAA0E09A4CE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5AF360000000071E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E512E0A0DAA1DAA0A0DAA6DAA6DADAE0A0E0A0D40000000000000000 -00469A9A4D00000000599A00000000A0DAA6DADAE0E0A0DAA0E0E0E0DAA6DAA6DADAA0A0 -DAD44D0000000000000000000000004D93939AA0DADAA6DAE0DAA6A6DAE0A0E0A0DAE0A0 -E0E0A0DA5300000000000000000000000036DAA6DA4D00000000000000000000DAE0A0A0 -93000000000000004DA6DADAE0A0DAE0A0A6A0DADADAA69A360000000000000000000653 -8D935993939A9A5300000000004DA0DA9A00000000364DE0DADA4D00000000000006DAA6 -DA00000000000000000040939A9AD4A0DADADAA0DA060000000000000000000000004D9A -DADAE0A04DE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AF360000000071E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -A0E1A6DAA6DBE0A0DAA0DAA1A0A7DA534D000000000000000000539A9A9A4600000037A0 -5300000000DAA6DAE0A0A6E0DAA6E0DAA0DAA6DAA6DAA6A0934D06000000000000000000 -0000004D59938D598D599AA0E0DAA6E0DAA0E0A0E0A0E0E0A0E0DAA0E04D000000000000 -0000000000000046A6DAA6460000000000000000004DE0A0DAE05300000000000000E0DA -A0A6DAE0E0A0E0DAE0DAA0E0DA3700000000000000000000368D599393939A9A9A360000 -000000DADADA370000003653A0E0A0E09336000000000000064600000000000000000046 -939A9A9AA0DAA0A0A0E08D00000000000000000000000000000CDAA0DA4DDFE5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5740000000000ADE5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E54DA0E0DAA0DADBA0DBA6 -DAA65340000000000000000000000053A0A09A9A0000000036E04D00000000E0A0E0A0E0 -DAA6A0E0DAA0E0E0A0E0DAA6D43600000000000000000000000000004D9A939359935993 -53939AA0DAA0E0E0DAE0A0DAE0A6DAE0A0E0A6000000000000000000000000000053DADA -E006000000000000000037E0A0DAE0A04D00000000000006A6A0E0E0DAA0A0E0DAA6DAA6 -E0DA590000000000364D4D3700008D9393939A9A9A9A5300000000008DA6E05300000000 -4DA0DADAA6DAA04D360000000000000000000000000000004D939A9A9ADAA0DAA0DAE0DA -360000000046939AD4534600000000004DE0539FE5E5E5E5E5E5E5E5AF3839393973E5E5 -E5E5E5E5E5E5E5E5370000000039E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5DF12DAA7DAA0A0E0A0D44D360000000000000000 -0000000053A0DA9ADA9A00000000469A3600000000A0E0A0E0A0A6DAE0A0A6E0A0A0E0A0 -933600000000000000000000000000000000939A9A9A9A9A939393535393599AA0A0E0A6 -E0E0A0DAA6DAE0A0D40000000000005393370000000000A0E0A6DA000000000000000036 -DAA0E0A6DAA64600000000000093DAE0A0DAA6DAE0A0E0DAA0E0E0A6360000000000538D -8D5393595993939A9A9AD4A04600000000009ADA9A0000000000DAE0A0E0DAA0DAA69A46 -36000000000000000000000000939A9A9AD4A0A0DAA0DAA0DA060000000006A6A0DAE0A0 -DA370000000036539EE5E5E5E5E5E5E5E57200000000000072E5E5E5E5E5E5E5E5960000 -000000ACE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5AD12E0A6DA8D4606000000000000000000000000000000DAA0DAA0A0A0 -00000036539A0600000000E0A0DAA6DADAA6DADADAA6DADADA0C00000000000000000000 -0000000000000006DAA0DA9A9A9A9A9A9A8D935393598D9A9ADAA0E0E0E0DAA6DAE04D00 -0000000037DAA0530000000036DAA0E0A0000000000000000093DAE0DADAA6DA06000000 -000053DAA6DAE0A0E0A6DAE0A0E0E0E0A05900000000004D53598D939393939A9A9ADAA0 -A09300000000004DE0A0590000000000A0DAE0A0E0DAE0DAA6DA38000000000000000000 -0000009A9A9A9ADAA0A0DAA0DADAA6000000000040DAE0A0DAA0E053360000000097E5E5 -E5E5E5E5E5AF380000000000000039E5E5E5E5E5E5E5E5390000000039E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AD46 -4D06000000000000000000000000000000000037A0DAA0A0DAA0000000369A9A00000000 -46A6DAA6DAA6DADAA0A6A6DAA64D00000000000000000000004D599A4D000000008DA09A -A0D4A09A9A9A5300004D935353535959939AA0A0A6DAE0A0000000000040A6DAE04D0000 -00004DA0E0DAE0000000000000004DE0A0DADAA6DAE0000000000046DAA6A6DAA0E0DADA -A6E0E0A0A09A8D38000000000093939393939A9A9A9A9AA09ADAA0460000000000DAA0E0 -460000000006A6E0A0DAA0E0DAA6DADA4D0000000000000000000000469A9ADADAA0DADA -A0DAA6D44D000000000093A0A0DAA0DAA0E03600000000E5E5E5E5E5E5E5993600000000 -0000000071E5E5E5E5E5E5E5AE0000000000ACE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5960000000000000000000000000000 -00374D36000000004DDAA0A0DAA0DA530000369A9A9A00000038A0DAA6DAA6DADAE0A0E0 -A0DAA6000000000000539AA0A6E0A0DAE0DA0000000040A0DAA0DADAA0D4530000000040 -9A9A9A939A5993935353535387000000003653A6DAE0E04000000000DADAA6DAE0000000 -000037A0E0A0E0DADAA6E093000000004DE0A6E0A6A09A9A59935353534D538D53360000 -00004D939A9A9AA0A0DAA0DAA0DADAD4000000000036DAA6DADA00000000008DA0E0A0DA -DAA6A0E0A0DA460000009ADA9A00000000379A9AA0DADAA0DADAA08D0600000000000000 -4DA0DAE0A0DAA6A03600000000E5E5E5E5E5E500000000000000000000ADE5E5E5E5E5E5 -E5AF3600000000AEE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5AE39000000000000000000000000365393DAA0D40000000036A7A0 -DAA6DAA0A0460000369ADA4D000000939AA0E0DAA0A6E0E0DAA0E0A0DA939A939359E0A6 -DAE0DAA0E0A6A0930000000093DAA6DAA0A0DA9A3600000000069A9A9A9A9A939A935993 -8D930C000000003693939A9AA00600000006A0E0E0A6DA00000000009AE0DAE0A6E0E0DA -A64D00000000539A93595353534D534D538D8D538D939300000000004D9A9AA0D4A0DAA0 -DAA0DAA0A04600000000004DA0E0A6DA000000000059E0DADAA6DADADAA0E0DA06000037 -A09A53000000004DD4DAA0A0DAA0DADA4D00000000000000000037E0A0DAA0DAA08D0600 -00004CE5E5E5E5E57100000000000000000072E5E5E5E5E5E5E5E5960000000000E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E59936 -000000000000000000004D54D4A0A7DAA6DA4D0000000053DAE0A6DAA0E0DA0000004DA0 -9A360000069A9A9AA0A6E0DAA0A0A0E0A0E0A0A0DAA6E0DAA6E0A0E0A0E0DADAE04D0000 -00009AA6DAA0E0E0A036000000000000A0DA9A9A9A9A9A9A9A939359360000000046538D -538D53360000004D9A9A9A9AA00000000000A0A0A0A09A9A9A9A5300000000004D534D8D -87538D5387068D5959939A5993000000000046A0DA9AA0DAA0DAA0DAA0E0930000000000 -36A6E0A0DAE0000000000093A0A0E0A0DAA6A6DADA533600004D59938D0000000093A0A0 -DADAA0DAA0000000000000000000000000068D5993534D3600000000AEE5E5E5E5710000 -0000000000000037AFE5E5E5E5E5E5E5E5370000000036E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E539E5E5E5E5E5E5E5E5E5E5E5E59600000000000000000000AC4D -9AE0A0E0DAA0E09B0600000036E0E0A0DBDAA6DA590000004DA046000000939A9A9A93A0 -DAA6E0E0DAA6DAE0A0A0E0A0DAA6DAA6DAE0A0E0A0DAA64600000037A0A6DAE0A0DA4D00 -00000000000093A0DADAA09A9A9A9A9A9A4D0000000036539393535946000000004D5353 -53594D0000000006598D538D5353534600000000000053538D53598D534D00004D93939A -9A9A9A380000000006A0DAA0DAA0DAA0DAA0E0A000000000000059E0A0DAE0A000000000 -0093DAE0A0DAA6DADADAA6360000004D93934D0000000093A0A0DAA0E059380000000000 -000000000000000000000000000000000072E5E5E5E5710000000000000000000037E5E5 -E5E5E5E5E5E5E5000000000072E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AD -00ADE5E5E5E5E5E5E5E5E5E57400000000000000003774E5E5E5549AE1A0A6DAA1530000 -000093A0A0E0A6A0DAA64D0000004693360000539A9A9A9A9A939AA0DAA0E0DAA6A0E0E0 -A0E0A6DAA6DAA6A0E0A0E0E0A0000000004DE0DAA6DAE09A00000000000000004DDAA0DA -9ADAA09A9A9A9A460000000036939A93939306000000008D538D8D8D46000000004D8D53 -53598D8D4D000000000000008793538D8D59400000004D9A9A9A9A9A9A460000000000D4 -A0DAA0DAA6DAA6E0DADA000000000000E0A0E0A0E0A0000000000053A6DADAA6DADAE0A0 -4D37000040939A9A4600000000A0DADAA0DA4D0000000000000000000000000000000000 -00000000000073E5E5E5E573000000000000370000000000E5E5E5E5E5E5E5E5E5000000 -0036E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AFE5E5E5E5390036AEE5E5E5E5E5E5E5 -E5E5000000000000003774E5E5E5E5E5E5129AE0DAA6DA3700000036A6DAA7A0E0A0E0A0 -460000000000000046D49A9A9A59939A939A9AE0A0E0DAA0E0A0E0A0DAA6DAA6DAE0A0E0 -A0A09A0000000059DAA6DAA6DA46000000000000000000D4DAA0DAA0DADAA09A9A000000 -00004D9A9A9A9A9336000000009393599353000000003693939393935959000000000000 -000053939359934600000000539A9AD4A0DADA53000000000053A6DAE0A0A0E0DAA09A00 -000000000037DADAE0A0DAE0000000000046DAA6DADAA6E0A09A400000008D9A9A9A0600 -000000DAA0A04D00000000000000000000000000000000000000000000000074E5E5E5E5 -AC00000000000096AC0000000000AEE5E5E5E5E5E5E5AE0000000072E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E50072E5E5AD0000000036E5E5E5E5E5E5E574000000000037E5E5 -E5E5E5E5E5E5E5E5E572E0A637000000009AE0A0DAA6DAE0A68D0000000000000000DAA0 -DA9A9A9A939A599359939A5937000000004D9A000053DAA6DAA6A0DA0C00000000E0DAA6 -DAE0DA00000036A0360000000000DADAA6DAA0DAA0A04D00000000369ADA9ADAA0370000 -0000009A9A9A4000000000004D939A9A9A9393000000000000000000369A9A9300000000 -0000DAA0A0DADADADAA04000000000000693E0A0A6DA87360000000000008DA0A0E0DAE0 -A0E0370000000000D4A0E0DAA0E00600000000009A9A9AD4000000000046000000000000 -000038A000000000004D00000000000046E5E5E5E5E5E5E5E538000000000073E5E5E574 -0000000073E5E5E5E5E5E5E536000000ADE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AC -000038AEAC000000000073E5E5E5E5E5E5370000000037AFE5E5E5E5E5E5E5E5E5E5E5E5 -599A000000004DE0A0DAA6DBA6A0DA06000000000000008DA0DAA0A09A9A9A59939A9A9A -4D000000000000000000004DA6DAA6DAE0A63600000000A0E0DAA6A09A00000059E09300 -0000000093A6DAA0E0A0DADA000000000037A0A0DAA0A03700000000009A9A0600000000 -000046A09A9A9A93000000000000000000000000000000000000004DA0DADAA0A0A0A0E0 -590000000000000000003800000000000000004DDAE0DAA6DAA0E0A05300000000000646 -5393930C0000000000539ADADA590000000000000000000000000093A0D40000000037A6 -360000000037E5E5E5E5E5E5E5E5E5000000000000E5E5E5E5AD0000000073E5E5E5E5E5 -E57400000072E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E57200000036AD0000000000 -ACE5E5E5E5E5AF000000000074E5E5E5E5E5E5E5E5E5E5E5E5E573370000000093A1E0A0 -DAA6DAA7D40000000000000006A0A0A0DAA0DA9A9A9A9A59934D00000000000000000000 -0046DAA6DAA6DAD40000000000E0A0E0DAE04D000036E0A0A6000000000037DAE0A0E0DA -A6A0000000000038DAA0DAA0DA3600000000409A3600000000000000379AA0DA53000000 -0000365300000000000000000000000006DADAA0DADAE0E0E0A0DA530000000000000000 -000000000000000053DAA6DAA0DAA6DAA0E0DA360000000000000000000000000000539A -A0A0A09300000000000000000000000053A0E053000000004DDA4D0000000039E5E5E5E5 -E5E5E5E539000000000071E5E5E5E5AF0000000072E5E5E5E5E5E538000037AFE5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E54C00000000727100000036AEE5E5E5E5E574000000 -0037E5E5E5E5E5E5E5E5E5E5E5E5E5E5AF0000000000A6DAA0E1A0DAA0DA530000000000 -0000E0DADADAA0DAA0A09A9A9A9A9A00000000000000000000000037A6DAE0A0E0530000 -000000DAA6DAA69A00000093A0E0DA000000000000E0A0E0DAA6DA9A00000000004DA0DA -A0DAA000000000004D360000000000000000009A9A4D00000000004DA0DA460000000000 -000000000037DAA0A0DAA6A0A0A0A6DAE0A638000000000000000000000000000053E0A0 -E0A0E0E0A0E0E0A0E09300000000000000000000000000469ADAA0DADAA0000000000000 -000000000C9ADADADA3600000000A6DA9A0000000000AEE5E5E5E5E5AF4C000000000071 -E5E5E5E5E5E50000000073E5E5E5E5E5AD000000ACE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5730000000073E5713972ADE5E5E5E5E5E5730000000073E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5960000000000DAA0A6DAA0E0E0DA37000000000000A0DAA6E0A6A0DAA0DA -9AA09A9A9A00000000000036000000000046DAE0A0E0A0460000000000A6DAA6DA4D0000 -38DAA6DAA6460000000000DAA6DAA6A0E093000000000093E0DAA6DAA000000000003600 -0000000000000000004600000000000093A0DAA093000000000000000000369AA6DADAA6 -DAE0DAE0DAA6DAA0DA5300000000000000000000000093E0A0E0A0DADAA0DAE0A0DAA0DA -59000000000000000000003653A0DAA0DADAA0A037000000000000003759DADAE0DA5F00 -0000004DDAA0E037000000004CE5E5E5E5AD36000000000039E5E5E5E5E5E5E500000000 -71E5E5E5E5E571000072E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AF00000000 -AEE5E5E5E5E5E5E5E5E5E5E5720000000099E5E5E5E5E5E5E5E5E5E5E5E5E5E54C000000 -0000A7DADAA0E0A0A0A000000000000093DAA0DAA1DADAA0DAA0DAA09AA0380000000000 -939A93000000000CA6A0E0A0E0060000000046DAA6E09A00000053A6DAE0A09300000000 -00A6DAA6DAE0A09A000000000059A0E0A0E0E00000000000000000000000000000000000 -000000000040A0DAA0DAA0000000000000000037DAA6DAA6A6DAA6DAA6DAA6DAA6E0A6DA -460600000000000000000693E0A0E0A0E0A6E0A6DAA6DAA6A6E0DADA3600000000000000 -38DAA0DAA0DAA0A0DAE04D0000000000369AE0DAA0A6DAE09300000000A6DAE09A460000 -00000039AFE57200000000000039AC7238AFE5E5E5AE000000004CE5E5E5E5E5390000AF -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5740000000037E5E5E5E5E5E5E5E5E5E5E5E5E5E50000000000744DA0E0A6DAA0A036 -000000004DA0E0A0DAE0DAE0A1DAA6E0DAA0DA4D00000000539A9A9A933600000053A0A0 -E0DAA7000000000053A0A6E036000046A0E0A0E0A0A64600000000D4A6A0E0A0E0A60000 -00000046A0E0DA8D36000000000000000000009359000000000000000093A0E0A0DAA6DA -A0E04D3600003853A6DAA6E0DAA0DAA0E0A0E0DAA0E0A6E0A0E0A6DAE0A0E0DAA6DAA0E0 -E0A0E0A0DAA0E0DADAA6DAA0E0DADAA0939393939A9A9A9AA0A0D4A0DAA0DADAA0E0A0DA -A6A6DAA6DAA0A6A0DAA0E0A0DAE0A0E0A0E0A0A04D99E5E5AE0000000000000000000000 -0072E54C00000072E5E5E54C00000000ACE5E5E5E5E574004CE5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AFE5E5E5E5E5E5E5E5E5E5000000000038AF -E5E5E5E5E5E5E5E5E5E5E5E50000000036E5AF129AE1A0E04D0000000000A0E0A0DA5946 -9AA0A0E0A0DBA0A0D400000000379A9A9A9A9A000000008D9A9AA0A6E000000000009AE0 -E04D0000004DE0A0E0A6DAE0530000000059E0DAA6DAE0DA4600000000064D4D06060000 -00000000000000008DA6DA0000000000003693A6DAA6DAA6E0A0E0DAA0DAA6DAE0DAE0A0 -E0A0E0A6A0E0A6DAE0A0DAA6DADAA6DAA0E0A0A6DAA6DAE0A6DAA0DAA0DAE0A6DAA0A0E0 -A0E0E0A09A9393599A9A9AA09ADAA0DAA0A0DAA0DAA6E0A0DAA6DADAA0DAA0E0DAE0A0E0 -A0DAA0A0DAA0DAA0E04DA5E5E5E5E5000000000000000000000000E5E500000000ADE5E5 -AC0000000000AFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E54C00000000000000000072E5E5E5E5E5E5 -E5AF0000000071E5E5E53959E0E1000000000036A6D5530000000059DAA6DBA6E0E04D00 -00000059DAA09A9A9A00000000939A939A9A590000000000E0A6A03600000059DAE0A0DA -E0A093000000009AA0E0DAA6A0A693000000000000000000000000000000000036A0E0DA -A60600000000409AA6DAA6DAE0DAA0E0A0A6E0A0DAA6A0A6A0E0DAA6DADAE0A0DAA6DAA6 -A6DAA6A6DAA0E0A0E0DAA6DAA6DAA0E0A6E0E0A0A6DAA0E0E0DAE0A09A9393939A9A9A9A -9ADAA0DAA0A0DADAA0E0A0E0DAE0A0DAA6A6DAA6DAA6DADAA0DAA0E0A0A0E0A0E0E059E5 -E5E5E5E5E53800000000000000000039ADE5AD0000000073E5E5360000000071E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E59900000000000000000000ADE5E5E5E5E5E59600000000ADE5E5E5 -E57412590000000000938D06000000000040A6DAA6DAA0A00000000036A0A0DAA09A9300 -0000009A9A9A9A93460000000038A0DA9300000000465993E0A0A6E0530000000093E0A0 -E0DAE0DAA600000000000000000000000000000000369ADAA6DAE0D40C000000A6DAE0A0 -E0A0A6DAA6DAE0A0DAE0A0DAE0DAE0A0E0DAA6DAE0E0A0E0A0E0E0A0DAE0A6E0E0A0E0A0 -DAA6DAA6E0A0DAA0A0DADAA6DAA6A0A09A9A599A9A9A9A9ADAA0DAA0DAA0DADAA0E0A0DA -A0DAA0DAA6DAA0DAA6DAA0DAA0A0E0A0DAA0E0DAA0E0A05373E5E5E5E5E5E5AF38000000 -0000003774E5E5E5E5000000000073390000000000ACE5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -00000000000000000000ADE5E5E5E5E5E54C00000036E5E5E5E5E5E57300000000000053 -00000000000000008DA0E0A6DA53000000004DDADAA0DAA09A000000009A9A9A9A9A0000 -00000046E1A7360000000000000037DAA6A093000000009AA0E0A0A6DAE0A0DA00000000 -00000000370000000000009AE0E0A0E0A0A6DADA9A9AA0E0A0E0A0E0A0E0A0E0A0E0A6A0 -E0A6DAA0A0E0A0E0A0E0DAA0E0A0E0A0A0E0E0A0DAA0A0E0A0E0DAA6A6DAA0DAE0A0A0E0 -A0E0E0DA9A935993939A9A9AA0A09AA0A0DAA0DAA0A0DAA0E0A0E0A0DAA6DAA0E0A0DAA0 -E0A0E0E0A0E0A6DAA0A0E0A04D9FE5E5E5E5E5E5E5E5E5743600003872E5E5E5E5E5E537 -0000000000000000000072E5E5E5E5AFAFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E571000000000000000036 -AFE5E5E5E5E5E50000000071E5E5E5E5E5AD0000000000000000000000000000000038A7 -DAE1DA46000000009AE0A0A0A0A08D000000009A9A9A9A4D00000000004DA08D00000000 -0000000000DAE0E04D00000000E0DAA6DAE0A0A0DAE0530000000000004DDA0000000046 -5FA6DAA6DAA6DADAE0A0A6DAE0A0E0A0E0DAE0A0E0DAA6DADAE0A0DAA6E0DAA6DAA6DAA6 -A0E0A6DAE0DADAE0A0A0E0E0E0DAA6DAA6A0A6DAA6E0A0E0E0A6E0A09A9393939A9A9A9A -D4A0DAA0DAA0A0DAA0DAA0E0A0E0A0E0DAA0A6DAA0E0A0E0A0E0A0DAA0DAA0DAA0DAA6E0 -594EE5E5E5E5E5E5E5E5E5E5E5E5E5E5ACE5E5E5E5E5E5E5E57400000000000000000037 -AFE5E5E5AF000038AEE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5ADAFE5E5E5E5E5E5E5E5E572000000 -00E5E5E5E5E574000000000000000000000000000000000000A6DADA930000000053DAA6 -A0A0A1DA4600000000A09A9A53000000000000939A00000000004D0000000046A0530000 -000000A6A0E0A0A6DAA0E0DAA6DAA693E0A0E0A6DADAE0A0E0A0E0E0DAA6DAA6A0DAE0A0 -E0DAA0E0DAA6DAE0E0A0E0DAA6DADAA6DAA6DAE0DAA6A0E0DAA6E0A6DAE0DAE0DAA6A0DA -E0E0E0DAA6DAA6DAE0DAA6E0A0A09393939A9A9A9A9AA0DA9ADADAA0DAA0DAA0A0DAA0E0 -A6DAA0E0A0DADAA6A6DAA6DAA0A0DAA6DAA0E0DAA0E0A0E09A9FE5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AE3600000000000036E5E5E5E5960000000000AD -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E53800000038E5E5E5E5E572000000 -000000000000000000460000000000DAA7A75300000000DAA6DADAE0E0A64600000000DA -A0DA360000000000009A5300000000369A000000000000000000000036DAE0A0E0E0A0DA -E0A0E0A0E0E0A0E0A0DAA6A6A0E0A0E0A0A0A6DAA6DAE0A6DAA6DAA6A6DAA6DAE0A0A0E0 -DAA6DAA6E0A0E0A0E0A0A6DAE0A0A6DAA0DAA6A0E0A0A6DAE0A6A0DADAA6DAA6DAA6E0A6 -DAA09A93939A9A9A9A9A9ADA9AA0DAA0A0DAA0DAA0DAE0A0E0A0DAA6E0A0DAA6E0A0A0E0 -A0E0A0A6DAA0DAA6DAE0A0E0E0594EE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5AD390000000039ADE5E5E5E5730000000000AFE5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E50000000072E5E5E5E5E5720036370000000000003754DAA0 -0000000000DAA0A04600000000A6A0E0A0A6A0DB0000000036DAA0530000000000000C93 -3600000000939A00000000000000000000008DE0A6DAA6DAA6E0A0E0A0E0DADAE0A0E0E0 -DADAE0DAE0A0E0E0E0A0E0DAA6DAA6DAA6DADAE0A0E0A0E0E0DAA0E0A0E0A6DAA6DAA6DA -DADAA6DAE0DADAA6E0DAA6DADAE0A0E0DAA6A6DAA6DAE0E09A9A9393599A9A9A9A9A9ADA -DAA0A0DAA0A0DAA0DAA6DAA6A6DAA0DAA6DAA6DAA6DAA0DADAA6DAA0DADAA6DAA6DAA0A0 -E0A04D97E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E572 -7372ACE5E5E5E5E5E5740000000039E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E59900000000AEE5E5E5E5E5E574AF0000000000000053E0E0A10000000038A7DADA3600 -000000E0DBA0E0DBE0A60000000046A0DA460000000000004638000000004D9A9A120000 -0000000000000093A0DAA0E0DAA6DAA0E0A0E0A0E0A6A6DAA6A0E0A6A0A6A0E0DADAA0E0 -A0A6DAE0DAA6DAE0A6A0E0A0E0A0A0A6E0A0E0A0DAA6DAA6DAA6A6A6DAA6A0A6A6DAA0E0 -A0E0E0A0E0A0A6DAE0E0E0A09A9A59939A9A9A9A9A9AA0A0DAA0A0DAA0DAA0DAA6DAA6DA -A6DADAA6E0A0E0A0A0DAA0E0A6DADAE0A0E0A0A6DAA0DAA0E0E05938AFE5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -38000038AFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E57200000036E5E5E5E5 -E5E5E5E5AE0000000000003797129AE0380000004DDAA6A10000000000A0E0A0A6A0DA59 -000000000CA68D000000000000000000000000009A9A9A9A533700000000000053E0E0A6 -E0A0E0A0E0A6DAE0A0E0A0DAE0A6DAE0A6E0E0DAE0A0E0E0A6DAE0DAA6A6DAE0A6A0DAE0 -A0E0A0E0E0DAA6DAA6DAA0E0A0E0DAE0DAE0A0E0DAE0E0A6DAA6DAA6A6E0A0E0E0A6A09A -595993599A9A9A9A9A9ADAA0DAA0A0DAA0DAA0DAA6DADAA6DAA0DAA6A6DAA0E0A0DADAA6 -DAA0E0A0A0A0E0A0E0DAA6DAA6E0E04D99E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AF7374E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5370000004CE5E5E5E5E5E5E5E5AC0000000000 -36ADE5E55553000000008DA0E0930000000000E0A0E0DAE0A04600000000469B00000000 -00000000000000000059DAA0A09A9A9A59464037468D93939ADAA0E0E0E0A6E0A6A0E0DA -A6A6A0DAE0A0DAA0DAA6A0E0A0A6DAA6DAA6DAA0E0A6DAA6A6A0E0A0E0A0DAA6DAA6DAE0 -E0A0E0DAA6A0E0A0E0DAA6A0A0DAE0A0E0E0DAA6DAA09A93935993939A9A9A9A9AA0DAA0 -A0A0A0A0DAA0DAA0DAA0DAA6A0DAA6E0A0E0DAA6DAA6DAA6A6DAA6DAA0E0E0E0A0DAA0A0 -DAA0E0A053E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -AFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E59600000000ADE5E5E5E5E5E5E5E5710000000000AEE5E5E5E5AC00000036 -E1A0E08D0000000000A0DAA6DAE0A000000000000600000000000000000000000046DAA0 -DAA0DAA0DA9ADAA0DA9A9A9A9A9A9A9A939A599A939A9AA0A0DAA6E0A6E0A6E0DAE0A0E0 -A6DAA6A6A0E0A0E0A0A6DAA6A0E0A6A0A6DAE0A0DADAA6DAA6DAA0E0A0E0DAA6E0E0E0A6 -E0A0A09A9A935993599393939A9A9A9A9A9AA0DADAA0A0A0DAA0A0DAA0A0E0A0A0E0A0E0 -A0E0A6A0E0A0E0A0A0E0A6DAA0E0DAA6DAA6DAA0A6DAE0A0DAE09A1299E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E571000000 -00E5E5E5E5E5E5E5E5E5390000000071E5E5E5E5E57300000006A0E0A1530000000000E0 -A0DBA6A0E1000000000000000000000037000000000000DAA6DAA0DAA0A0DAA0A0A0A0A0 -A09AA09A9A9A9A9A9A9A9A939A939A939A9AA0A0DAA0E0E0E0A6E0E0E0E0E0A0E0DAE0E0 -DAE0E0A0E0E0DAA6E0DAA6E0E0E0DAA6E0E0E0A6E0DAA0A09A9A9A9A5993599359939A9A -9A9A9A9A9ADAA0DAA0A0A0DADAA0A0DADAA0E0A0DAA6A6DAA6DAE0A0DAE0A0E0A0E0E0A0 -DAA6DAA0A0E0A0DAA6E0DAA6A0E0E01255E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E53600000038E5E5E5E5E5E5E5E5AF -0000000000ADE5E5E5E5E539000000564E59A04D0000000000A1E0A0E0DA000000000000 -00000000004DA000000000004DE0A0E0A0E0A0A0DAA0DADAA0DAA0DA9ADA9A9A9A9A9A9A -9A9A9A9A9A5993939393599A939A9A9AA0A0A0A0A0E0A0A6E0A6E0A0E0A6A0E0A6DAA6E0 -E0A0A0A0A0A0A09A9A9A9A59599353598D5993939A9A9A9A9A9A9A9A9AA09AA09AA0A0DA -A0A0A0DADAA6A6DAA6DAA6DADAA6DAA6DAA6A6A0E0A0E0A0A0DAA6DAA6E0E0A0DAA6DAA0 -A6DAE0A053DFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5AD0000000071E5E5E5E5E5E5E5E5AC0000000039E5E5E5E5E5 -E500000000AEE59E53460000000000A6DAA6DA06000000000000000000004DA0E14D0000 -068DA6DAA6DAA6DBA0A6E0A0DAA0A0A0DAA0DAA0A0DAA0DAA0DAA09A9A9A9A9A9A9A9A9A -9A9393595993599393939A939A9A599A9A9A9A9A9A9A9A9A9A935F939A93599353935359 -8D59939393939A9A9A9A9A9A9A9ADA9AA0DAA0DAA0A0DADAA0DADADAE0A0A6DADAA6DAA6 -DAA6A6DAA0E0A0E0E0DAA6DAA6DADAA6DAA6DAA0A0E0A0E0A0E0E0E0594D9FE5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5740000000073E5E5E5E5E5E5E5E5710000000099E5E5E5E5E5AD00000000E5E5E5E506 -0000000000DAA68E00000000000000000000004DA6E0A0A0E0DAA0E0A0A0E0A1E0A0E0DA -A0E0A0DADADAA0A0A0DAA0A0DAA0A09AA0A0A09ADA9AA09A9A9A9A9A9A9A9A9A9A935959 -935959939353935993595953935393599393599393599A9393939A9A9A9A9A9A9A9A9A9A -9AA0DAA0A0A0DAA0A0A0A0DAA0A0DAA0A6A0A0E0DAA6A6DAA6DAA6DADAA6E0A0E0A0A0A6 -DAA6DAA6A6DAA6DAA6DAE0A0E0A0DAE05F4D73E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E54C00000000ADE5E5E5 -E5E5E5E5E53700000036E5E5E5E5E5E57400000038E5E5E5E50000000000000000000000 -00000000000000004DDAA1E0DADAA6E0A1E0A0A0E0E0A0E0A0A6DBA0E0A6DADADADAA0DA -A0DAA0DAA0DAA0DAA0DAA0DAA0A09AA09AA09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A93939A -9A9A939A9A9A939A9A9A9A9A9A9A9A9A9A9A9A9A9AA09AA0A0DAA0A09ADADAA0A0DADAA0 -A0DADAA6DAA6DAE0A0A6DAA6A0E0A0E0DAA6A6DAA6DAA6DADAE0A0DAA6DADAA6DAA6DAA6 -A6DAA0E0A69A55E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AC0000000000E5E5E5E5E5E5E5E5740000000099 -E5E5E5E5E5E53700000039E5E5E5AD000000000000000000000000000000000038DAA6DA -A0E0DBDAA6E0A0E1DADAA6DAE0A0A6A6E0A0E0E0A0A0E0DAE0A0DAA0DAA0DAA0DADAA0A0 -DADAA0A0DAA0A0A0DA9AA0DAA0D4A0DAA09AA09A9A9A9ADAA09A9AA09AA09AA09AA09AA0 -9AA09ADAA0DA9ADADAA0DAA0A0A0A0A0DADAA0DAA0DAA6A0E0DAE0A0E0E0A0DADAE0DAA6 -DAA6A0E0A0E0DAA6A6DAA6DAA6DADAA6DAA0E0A0A0E0A0E0A0E0E0A05355ADE5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5730000000000E5E5E5E5E5E5E5E53800000036E5E5E5E5E5E5AF00000000 -39E5E5E5370000000000000000000000534D46468D5FA6A6DAA7E0A0E0E0DAA1E0A6A0A6 -DAA6A1E0DADAA0E0A0A0E0E0A0A6A0E0A6DAA6DAA6DAA6A0DAA0DAA0DAA0A0DAA0DAA0DA -A0A09AA0DAA09ADAA0DAA0A0A0A0DAA0A0DAA0DAA0DADAA0DAA0DAA0A0A09AA0DAA0A0DA -A0DAA0DADAA0A0A0DAA0DAA6DAE0A0A6A0E0A0A0E0A6A6A0A6DAA6DAE0A0E0A0A6DADAA6 -DAA6DAA6A6DAA6E0A0DADAA0DAA6E0E0594D9FE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E538000000 -0000E5E5E5E5E5E5E5AF0000000071E5E5E5E5E5E5AD0000000036AFAD36000036390000 -000000000059E0A7DAA0E1DAA0A1E0A0E0A0E0A7E0A0E0DAE0E0A6DAE0A0E0E0A6DAE0E1 -A0A0E0DAE0A0E0DAA6DAA6DAA0A0E0A0DAA6A0DAA0DAA0DAA0A0DADADAA0A0A0DAA0A0A0 -DADA9ADAA0A0DAA0DAA0A0A0A0A0A0DAA0A0A0DADAA0A0DAA0A0DAA0DAA0DADAE0A0E0A0 -E0A0A6DAE0A0A6DAE0A6DAA6E0DAA6DAA6E0E0A0E0DAA6DAA0E0A6DAA6DADAA6DAA0E0A6 -A6DAA6E0A0539EE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5AEADACE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5000000000000E5E5E5E5E5E5E596 -0000000074E5E5E5E5E5E57300000000000000000000ACAF380000000039735553E0E1E0 -A0A6DBDAA6DAA0E0A1A0DAA6DBA6A0A0DBE0A0E0A0A0E0A0A6A0E0E0A1E0A6E1A0A6DAA6 -DAA6E0E0A0E0A0DADAA0E0A0E0A0DADAA0A0DAA0DADAA0DAA0DAA0A0DAA0A0DADAA0A0DA -A0DADAA0DAA0A0DADAA0DAA0DAA0DADAA0DAA0E0A6A0A6DAA6E0A6DAE0A0A6E0DAA6A0DA -A6DAA0A6DAA6DAA0A0E0A0A6DAA6E0A0E0A0E0A0A0E0A0E0A0E0E0E0A0534E9EE5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5994C36000000374CAEE5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5000000000036E5E5E5E5E5E5E57100000000E5E5E5E5E5E5 -E57300000000000000000072E5E5E5747172ACE5E5E5AF125FA0E1DAE0E0A0E0A1E0A0A0 -E0A0E0A0E1A6E0A0E0A6DBE0A1E0DAE0A0DAA6E0A0DAA6A7E0A0E1A0E0E0A0E0A0E0A6E0 -DAA6DAA0E0E0A0E0A0A6DAA0DAA0DAA0A0A0DAA0DADADAA0DAA0DAA0DAA0DAA0DAA0A0DA -A0DAA0E0DAA6A0E0A6DAA6DAE0DAA6DAA0E0A6A0E0DAE0A6DAE0A0E0E0DAE0A0E0A6A0E0 -A0E0DAA6DAA6DAA6DAA6A6DBA6DAA6E05F53559FE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5AD00000000000000000073E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5000000000039E5E5E5E5E5E5E53600000000E5E5E5E5E5E5E5720000000000000000 -00AFE5E5E5E5E5E5E5E5E5E5E5E5735359A0E0A0E1A0E0A0E0E1A6DBA6DAA6E0A0E0A1DA -A6A6DAA6A0E0A0A6DAA0E0A6DADAA6DAA6E0A0A0E0A0E0A0DAA0A6DAA6E0A0A0E0A0DADA -A6E0A0DAA6DADAE0A0E0A0A6A6DAA6DAA6DAA6DAA6DAA6DADAA6E0A6DAA0A6DAE0A0DAA6 -DAA6A0A6DAA6E0A0DAE0A0A6A0E0A0A6E0A0A6A0A6DAA6DAE0A0E0A0A6DAA6DAA6DAA6DA -DAA6E0E0A05955DFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E57100000000000000000000000038E5E5E5E5E5E5E5E5E5E5E5E5AD0000000000ACE5E5 -E5E5E5E5730000000000E5E5E5E5E5E5E5AC0000000000000039AFE5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5AF4D59A0E0E1E0E0DAA6DAA6DBDAA6DBA0E0A0A1E0A0E0A1E0DAA0E0 -A0A0E0DAA6DAA6DAA0A0E0A0E0A6DAA0A6E0E0A0E0A6DAA0DAA6DAA0DAA6E0DAA0A6DAA6 -A0E0E0A0E0A0E0DADAA6DAA6DAA6A6DAA6E0A6DADAE0A6DAA6DAA0A6A0E0A0E0E0A6DAA6 -E0A6A0E0A0E0A0E0DAA6DAA6DAA0A0E0A0A6DAA0DAA6DAA6E1E0591873ADE5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E573000000000000000000 -0000000000E5E5E5E5E5E5E5E5E5E5E5E5720000000000AEE5E5E5E5E5E5390000000000 -E5E5E5E5E5E5E5AF4C000000000072E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -9E4E535FA0E0A1E0A1E0A0A0E0A0E0A6DBDAA6DAA6DAA6A6E1A0E0E1A0A6DBA6E0A7E0E0 -A1E0A6DBA6E0E1DAA0E0A6A0E0A6E0A6E0E0E0A6DAA6E0DAA6DAE0A0A0E0DAA6DAA6A6DA -A6DAA6DAE0A0E0A0DAA6A6E0A0E0A0E0E0E0DAA6DAA6A0E0A0E0A0DAE0A0E0A0E0A0A6E0 -A0E0A0E0DAA6A0E0DAA6A6E1E0DA5F539EE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AF360000000000000037000000000037E5E5E5E5E5 -E5E5E5E5E5E5E5370000000037E5E5E5E5E5E5E5000000000039E5E5E5E5E5E5E5E5E599 -713972AFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AF734D9AA6E0E0A0 -E0E0A0E0A0E1A0A6DAA7DAA6DADAA6E0A0E0DADAA6DAA0DAA6A0E0A0E0A0E0A6DAA6E0A0 -E1E0A0E0A0E0A0A0A0DAA6DAA0DAA6DAA6E0E0A6A0E0A0E0E0A6DAA6DAA6A0E0A0E0A6DA -DAA0E0A0E0A0A0A6DAA6E0A0A0E0DAA6E0A6A0E0A6DAA6E0DAA0E0A0E0A0A7DAE0A0A6E1 -E09A531873AFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5710000000000004CACE5E50000000072E5E5E5E5E5E5E5E5E5E5E5AE000000 -000072E5E5E5E5E5E5E5000000000073E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5745453A0E0E1A1E0A0E0A0E0E1A0E0 -A6DBA6A6DAA6E1A0A6A6DAA6E0A0E0E0A0E0A0E0A0DAA6DAA7E0DAA0E1A0E0DBA6E0A6E0 -A0E0E0E0A0E0A0E0A0E0DAA6DAA6A0E0A0E0A6DAE0A0E0A0E0A6A6E0A0E0A6DADAE0A6DA -A6DAE0A0E0A0DAA6A6DAA6DAA0DAE0A0E0A0E0A0A0A0E0E0E09A4D55ADE5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AF3600000000 -0074E5E5E5E596360072AFE5E5E5E5E5E5E5E5E5E5E5740000000000ADE5E5E5E5E5E5E5 -0000000000AEE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E59E551259E0E1E0A1E0A1A0E0A0DAA6DADAA6DAA6DAE0E0 -A6E1A0E0A0A6DAA6DAA6E0DBA6E0A6DAA6E0A6E0E0A6DAA6DAA0E0A6A0A0E0A0E0A0A6DA -A6DAA6DAE0A0E0A0DAA6A0E0A0E0A0DADAA6DAA6DBE0E0A6DAA6DAA6A0E0A0E1A6DADBA6 -DAA6E0A6A0DAA6DAA6DAE0E0A0591255E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AC000000000071E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5390000000036E5E5E5E5E5E5E5E50000000036E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E59912599AE0E0E0A0E0A0E0A0E0E0A1E0A0E0A6E0DAA0E0A6DAE0A0E0A0E0 -A1A6E0A0DAE0A6E0A0DAA6DAA6DAA6E0A6DADAE0A0E0A0E0E0A6DAA6DAA6A0E0A1E0A6DA -A6E0A0E0A0E0E0A0E0A0E0A6A6DAA0E0A1E0E0A6DAA6DAA6A6DAA6DAA0DAE0A6DAA6E0E0 -59535499DFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5380000000000E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E573000000000099E5E5E5E5E5E5E5E50000000074E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E59E55535FA0E0E0E0DBA6DAA6E0A0DAA0DAA6E0A0A0E0A0E0DAA6A6DAA7DAE1A6A6DAA6 -E1A0E0A6E0A0E0A7A0A0E1A0E0A0A6DAA6E0A0E0E0A0E0A6E0A0A6E0A0E0A0E0DAA6E0A0 -E0A6A6E0A0E0A6E0E0A6DAA6DAA7A6DAA6E1E0E05F53537274AFE5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -000000000000E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5370000000000E5E5E5 -E5E5E5E5E5E500000000AFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AD735412599AE0 -E0E0E1A0E0A6E0A6DAA0E0E0A0E0A1A6DADAA6E0DAA6DAE1A0E0A0E0A0DAA6E0A0DAE0E0 -A0E0A0E0E0A0E0A0E1A0A0E0A0DAA0DADBA6DAA6DAA6A6DBE0A0E0A0A0DAA6DAA0DADAA1 -DAA6DAA6E0E0DA9A595373AEE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5000000000000E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E59900000000004CE5E5E5E5E5E5E5E5E500000037 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5DFAD7353595FA0E0E0E1E0DBA6E1 -A0A0E1A0E0DAA6A7E0DAA6DAA6A0E0A6DAE0A6A6A0E0A0E0A0A0E0A0E0A0A7DAE0A0E0A0 -A0E0A0E0A6E0E0A0E0A0E1A0A0E0A0DAA6DADAA6E1A0E0A6A6E0E0E0E0A0595318559EAF -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5000000000000E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E539000000000074E5E5E5E5E5E5E5E5E5000000ACE5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AFAD735553539AA0A0E0E0E0E0A0E0A0A6DADAA0A7 -DAA6DAE0A0DBA6A0E1DAE0A1E0A0E0E0A0E0A0E0DAA6A0E0A0E0E0A0E0A0DAA0A0E0A0E0 -A0E0E0A0E0A6DBA6A6E0E0E0E0E0A09A5F53535474DFE5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5000000000000E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AD00000000 -0036E5E5E5E5E5E5E5E5E5E5AC72ACE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5DF555B54535959A0E0E0E0E1E0E0E0E0A0E0A6A6E0A0E0DAA0A6 -DAA6DAA6DADAE1A0E0A0A0E0A0DAA6DADAA6DAA7DAA6A6DAA6DAA6DAE0E1A6E0E0E0A0A0 -9A5F5953547299A5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E500000000 -0000E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E537000000000073E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5A59954185359595FA0A0A6E0E0E0E1E0E0E0A7E0DBA6DAA6DBA6A6A0E0A0E0 -E0A1E0A6DAA0A0E0A0E0A6DAE0E1E0E0E0E0A0A09A9A595953545B749EAFE5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5000000000000E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E536000000000071E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5AE9F99997255545454535353535359595959595959595953535353535353 -18555B74999EADAFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5360000000000AFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -000000000000AEE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5AFDFABDFAEAEAE9FDF9FAD9FAEDFA5AFE5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E539000000000071E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E571000000000000E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E57300000000000074 -E5E5E5E5E5E5E5E5E5E5E5E5E5E57300000000000036E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5AFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5AFE5E5E5E5E5E5E5E5E5AFE5AFAFE5E5E5E5E5E5AFE5AFE5 -AFE5AFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AFE5AFE5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5AFAFE5AFE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AFAFAFAFAF -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E536000000000000ADE5E5E5E5E5E5E5E5E5 -E5E5E54C0000000000000074E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5720000000000000072E5E5E5E5E5E5E5E5E5AD3700000000000000 -39E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -7400000000000000000000373939370000000000000000000073E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E54C0000000000000000 -000000000000000000000000000071E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AF380000000000000000000000000000000000 -00000071E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5AF3800000000000000000000000000000000000071E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -000000000000000000000000000000000036E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5AD390000000000000000 -00000000000071AEE5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5723939393972ADE5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -end -%%PageTrailer -%%Trailer -%%EOF diff --git a/helm/papers/calculemus-2003/slides/eps/thatsall.gif b/helm/papers/calculemus-2003/slides/eps/thatsall.gif deleted file mode 100644 index cb6467c349d77df83b9e61f0ba9dfa2cf486dd03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39718 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

    WOGONt%$5)-p0< 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 diff --git a/helm/papers/calculemus-2003/slides/helm.eps b/helm/papers/calculemus-2003/slides/helm.eps deleted file mode 100644 index 4716e78da..000000000 --- a/helm/papers/calculemus-2003/slides/helm.eps +++ /dev/null @@ -1,381 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: (ImageMagick) -%%Title: (helm.eps) -%%CreationDate: (Fri Mar 21 13:14:55 2003) -%%BoundingBox: 0 0 101 36 -%%HiResBoundingBox: 0 0 101 36 -%%DocumentData: Clean7Bit -%%LanguageLevel: 1 -%%Pages: 1 -%%EndComments - -%%BeginDefaults -%%EndDefaults - -%%BeginProlog -% -% Display a color image. The image is displayed in color on -% Postscript viewers or printers that support color, otherwise -% it is displayed as grayscale. -% -/DirectClassPacket -{ - % - % Get a DirectClass packet. - % - % Parameters: - % red. - % green. - % blue. - % length: number of pixels minus one of this color (optional). - % - currentfile color_packet readhexstring pop pop - compression 0 eq - { - /number_pixels 3 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add 3 mul def - } ifelse - 0 3 number_pixels 1 sub - { - pixels exch color_packet putinterval - } for - pixels 0 number_pixels getinterval -} bind def - -/DirectClassImage -{ - % - % Display a DirectClass image. - % - systemdict /colorimage known - { - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { DirectClassPacket } false 3 colorimage - } - { - % - % No colorimage operator; convert to grayscale. - % - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { GrayDirectClassPacket } image - } ifelse -} bind def - -/GrayDirectClassPacket -{ - % - % Get a DirectClass packet; convert to grayscale. - % - % Parameters: - % red - % green - % blue - % length: number of pixels minus one of this color (optional). - % - currentfile color_packet readhexstring pop pop - color_packet 0 get 0.299 mul - color_packet 1 get 0.587 mul add - color_packet 2 get 0.114 mul add - cvi - /gray_packet exch def - compression 0 eq - { - /number_pixels 1 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add def - } ifelse - 0 1 number_pixels 1 sub - { - pixels exch gray_packet put - } for - pixels 0 number_pixels getinterval -} bind def - -/GrayPseudoClassPacket -{ - % - % Get a PseudoClass packet; convert to grayscale. - % - % Parameters: - % index: index into the colormap. - % length: number of pixels minus one of this color (optional). - % - currentfile byte readhexstring pop 0 get - /offset exch 3 mul def - /color_packet colormap offset 3 getinterval def - color_packet 0 get 0.299 mul - color_packet 1 get 0.587 mul add - color_packet 2 get 0.114 mul add - cvi - /gray_packet exch def - compression 0 eq - { - /number_pixels 1 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add def - } ifelse - 0 1 number_pixels 1 sub - { - pixels exch gray_packet put - } for - pixels 0 number_pixels getinterval -} bind def - -/PseudoClassPacket -{ - % - % Get a PseudoClass packet. - % - % Parameters: - % index: index into the colormap. - % length: number of pixels minus one of this color (optional). - % - currentfile byte readhexstring pop 0 get - /offset exch 3 mul def - /color_packet colormap offset 3 getinterval def - compression 0 eq - { - /number_pixels 3 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add 3 mul def - } ifelse - 0 3 number_pixels 1 sub - { - pixels exch color_packet putinterval - } for - pixels 0 number_pixels getinterval -} bind def - -/PseudoClassImage -{ - % - % Display a PseudoClass image. - % - % Parameters: - % class: 0-PseudoClass or 1-Grayscale. - % - currentfile buffer readline pop - token pop /class exch def pop - class 0 gt - { - currentfile buffer readline pop - token pop /depth exch def pop - /grays columns 8 add depth sub depth mul 8 idiv string def - columns rows depth - [ - columns 0 0 - rows neg 0 rows - ] - { currentfile grays readhexstring pop } image - } - { - % - % Parameters: - % colors: number of colors in the colormap. - % colormap: red, green, blue color packets. - % - currentfile buffer readline pop - token pop /colors exch def pop - /colors colors 3 mul def - /colormap colors string def - currentfile colormap readhexstring pop pop - systemdict /colorimage known - { - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { PseudoClassPacket } false 3 colorimage - } - { - % - % No colorimage operator; convert to grayscale. - % - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { GrayPseudoClassPacket } image - } ifelse - } ifelse -} bind def - -/DisplayImage -{ - % - % Display a DirectClass or PseudoClass image. - % - % Parameters: - % x & y translation. - % x & y scale. - % label pointsize. - % image label. - % image columns & rows. - % class: 0-DirectClass or 1-PseudoClass. - % compression: 0-none or 1-RunlengthEncoded. - % hex color packets. - % - gsave - /buffer 512 string def - /byte 1 string def - /color_packet 3 string def - /pixels 768 string def - - currentfile buffer readline pop - token pop /x exch def - token pop /y exch def pop - x y translate - currentfile buffer readline pop - token pop /x exch def - token pop /y exch def pop - currentfile buffer readline pop - token pop /pointsize exch def pop - /Times-Roman findfont pointsize scalefont setfont - x y scale - currentfile buffer readline pop - token pop /columns exch def - token pop /rows exch def pop - currentfile buffer readline pop - token pop /class exch def pop - currentfile buffer readline pop - token pop /compression exch def pop - class 0 gt { PseudoClassImage } { DirectClassImage } ifelse - grestore -} bind def -%%EndProlog -%%Page: 1 1 -%%PageBoundingBox: 0 0 101 36 -userdict begin -DisplayImage -0 0 -101 36 -12.000000 -101 36 -1 -1 -1 -8 -282827272727282926282A2B2929292B2D2C2C2B2B2C2D2D33323131323436383B3C3D -3D3E3E3F3F494C475B574956474E544F413B42433D3A39373634333333312B292E302D2C -302D2C2A2928282828242627282A2B2925242527282928262527272625252A2A2A292A2A -2B2C282A2C2C2B2A2B2C2B2B2B2C2D2F3031313133343638393A3E3E3F4042444647454F -4E5E5E57604D625E5449454848443E3C3A373534333237323134332F2F33302F2E2C2C2B -2B2B2C2E2E2D2B2B2C2C2F2D2A27262628292A292828272E2E2D2D2E2F30313032343533 -333435343333343536383836383A3D4041424348494A4B4D4F5253535F606C716B695777 -665651514E4A474443403D3A383636373535363532333735343332313131312F30312F2C -2B2F333433312F2F3031332E2D2C2B2B3131313132343536383A3C3C3B3A3B3C3D3C3C3B -3C3C3D3E3F3F40424447494A51525557595B5C5C61666B7D897F736E896F5C5D5F574E4D -4B494744413F3D3D393A3B3B3A393C403B3B393836363636333131343534363932333435 -34312E2C31302F2E2E3434353637393B3C3D3F4141403F40413F3F404041434545484745 -4546494C4E54575C6266696A6A6B666E8AA3978694967B686B6D605656504E4C49464543 -4342444443434547474342403E3C3B3A3A3C36363C413F3C3D434342413E3B3735353433 -323239393A3B3D3F414246484A4A4948494A4647484A4D50525453525150515356575B5E -646B737A7F81857D839ABBB7A1B89D8675726F635B5C585653504C4A48484A4A4947494D -4D494D4B494543413F3F423A3940433F3E42454442414041424339393837363E3E3F4143 -4548494A4D4F4F4E4D4E4F4F4F4F50525455565657595C5D5E5D5D616162676F79838993 -9599A0CADAC3D6AA9986796F6563676664605B56524F4E4E4E4B4C535C5B545655514D49 -464443423E3F4544414A584E4F504F4C46403C3F3E3D3C3C42424345474A4C4E45474949 -4848484951504F4D4C4B4B4B4D51575D5F5E5B59605C58575D69767E83929A97CBF3E1EE -BDAF9A85756E717674716C665F5A565454545256637171695D5B57524E4A484745454A4F -4A4A5E77888C8F8B7D674F414342414040474748494A4C4E4F3234283C282A363B50585A -4D392D3039372E3C395C583E2E454D3E4D4B4F47505545535C6AF4FFEBDCB49E8C868E83 -94868157686963565151584E527CA995C2C89543586449524A515143483D5F59C3E4E5E5 -D8E056435247474645444A4A4B4C4E50525443412C3827354648595C5D574C403A392F2E -47466462544D4F51344044505160687A647347F9FBFBDFD0C4B8A19087849C842E5C6B4D -5F624B5C5E534D524CA2BFE7D63D54504956435850656B525DD2D4FAC128333459484C4C -4B4A494F4F50515456585A5953313227445B585A5A5C60625B4D41363A5C5A6B6663655A -6243596B78788282AC939550F7FBFFF7D8A286757DB0ACBBB983536E586A4C57595A5F5E -5B5AC1DBD8CB345566565B635551595569CED2E0D7A22F605C5C51535251505053545557 -595C5E5F675F362F285069615F5C5E656A65554741436A686F686C71636F45607C86858C -97B5C6BC9DF1FFFFF8E7BCB5A793AD654F6FB3386672795F6F62596470736CCAEACCDBC3 -665F6A5A625261625474EA759DC4BC3E5F595458585756555559595A5C5E6062646A643B -332B546D636B6968696A64584F453F696C716D75777F854254747D858F9EA6D1DDE6F4FF -FCFBE6B9A99785A944657ED7897C6F6472676D6C68666C6ECFBDBAF6EF4A5A7A5F5C6D6E -686D63A53A9AD7C932566665625C5B5A59595F606061636566676A67433D31546C656A6B -6B6C6C6B6B6A51426B6F706B74728492475C82858B949A9FBAE2EBF3F0F1DED3C6B5A39E -CF616696B0BE646367756170726A687476D3857FDEBE7076726A71756C616F9BC0569CB4 -902A726B5B5561605F5E5E6766666768696A6B6C6B4D4B39546C6C68696B6E71757B7F59 -456F74706A75727B9347618883858A92A7AEC2C4D8D5CACCB7B89E91A0D4606FB1C7D350 -64756872746D686B7166B97666D0E5D4765C706B656F767ECFB75083C29A2A6965757467 -676665656B6B6B6B6B6C6D6E6F7055553F546D72727170707175787B523F6D7772708180 -9AAD5261847D858E8DB0B79DA3B5C0A0C0A3B4A3A8C4E86176A1FBE05F6779746F717074 -777871CE854A65C2CF556367707869748198393C8CBA853580616C6B6D6C6B6A6A727271 -71707171727273506338526E7676786D7173758C925F4C767A7F7D8180AF8860587F8773 -909AA1B4428FB0AF8EA0A89AA3AAED6344749483C7BFA5787A7A7A7A6D777777B4675877 -A6C1AE7B69736C7B7DACAF34687E967D3D6E6A6F756F6F70707076767575747575757074 -6F7D6066837F838982898A889BA0634B787C7D7B7E7F92C4AC97A8A7AFBFC9CBDF4A86A1 -A48C91A18D8CA1DC49717B837CC1C99A6174797C81777F7A75A852547289979067537674 -737C8C512D7075846A336E6F717275757575767C7C7C7B7A7A7A79737586866759746770 -77737E81829CA86A497C7F7C7B7C7EBDCBB8889DA283B8889AD63F829EA190869C929ACD -DD3E928B8893B8C181538A7F83857E837D799F6162727992A27A5575836F858A355D7D77 -7B62387C81837F7C7C7C7D7D82828281807F7E7D7A798B8751485F5A555951595A5F849A -73467E827C7D7C81C1CF6049735A5F6D6E86D544889E9A8B778F9CA7D39833898D858F8B -A87E5B8B888A857F827F829C5B60707289A1876B4D7E6F7D6E407D7067614C2E747A7E78 -828282828388888888868482817D7F939B4D5C6F7985877C7E7979A0BB80437F857D8380 -86CFDC9A507EA17E918C92C84282949691818BA3A5AE3B4C8994878671B1AF7D6C878B85 -8486848A93445C807E777D7984407577703E4575707063554083858E8B86868787888E8F -8F8E8C8986857E84A4B2566F7F8F828781877F7CA3C1934481877E898389D6EF7C64928D -9F928482A14988909597917C92A2A534848A91969A85B5B683487E89878E8E898E834A5F -84867970687662605D57345D71805F4B4338797987858C8C8D8D8D94959594928F8B8985 -85B6B55A677E8B8187838B8584B1D5A6488489808E8489FFD87D6793948894888A9773A7 -958E8F8A6E87A09646918084929792968873417E8986908F898F784C5A797F7E775D5566 -3D3C3A4673777E614541408486969393949494959899999896928F8C9086C4B05F5E838E -9092888B8384B7E1B34C868A81918488DCDD816E8E919E85888C8A87B3958F948F8AABB1 -773D8291988F839691848A66848D838B8886927748648D8E8883695D533B5243607C8681 -57353239818696919999999A9AA0A0A1A09E9A9794907FB3D26C6488889088958E8B80DD -CFB3438C9388829289CAD6776397928B8788968C7EC58166969C789775466F8D998F9299 -9A8D7E7E894A8A8E8F86808F663F6B8B8C8D90754D463F33375A848E804F32303789899B -A19D9EA0A1A2A6A5A4A19E9995938A98D7E1716C999C9890948D9389E1E3C25087929487 -8B8CCDD276629595918E8B938E7EAB66598B8A83A27E6A9F9E82988F8C92908376724286 -9295918E915D32648E95929386713B33354B697F888859313144979AA08FA1A2A3A4A5AC -ABA8A5A29E9C9A8C96BCAF576591879794918D9B87C7D795578D8A8E888E9AB9BD746791 -918D8893929689985A61959A897F4B48899D9BA39A979B968370674F757E9496847F5C41 -65889495938A7E3023346890948C8B592E31448593A899A6A7A9AAABB0AFADABA9A8A7A7 -D6CFEBF3D0D6CE96949EA2ACC4A8C7DDC4ACBA888DA7B1B5B6C19996B0AAA29AAB9CA295 -8954658F827D887E7A7F7F9A999C9F977B59494A514E5A919663504A323D547798AAA69B -61494E7C9C8A5C3E47272F334E67A1B1ACACAEAFB0B4B3B1AFAEADACAC90778696938F7E -4CA5ACA5A0A2716673807472527491775B626E63646B645E5A51445764645576986C574A -44423D548FA0A5A89A775143483D3247838A533331302B375B869EA099A08C8698A79260 -373A2A35302F4483A2B1B1B3B4B5BAB9B7B4B1AEACAB9F868A86827D92929CA3A1A1A78C -7F8E7975828CADB29183828486857E7D8181887B838A837C8E9A958C8180878995AEB1AD -ADAB9D897E8085838DA1A89A8A82908B8D97A5ACADADADADACADB2AF9F8E87838B8A878D -A8B8B6B7B8B9BABDBDBCBBB8B5B1AFA9A4B4AEB0A0B0B4B4B4B3B0B1A99FA8B1AAA9A4A4 -A6A5B8ADA2A9A79CA1A8A8A5A3A6AAA7AAAFAEA5A49EA0A4AAB2B0B0A7A6AEB0ABA8ABAC -ABAAA2A5B1B1B0A8AAACABACAFB1B2B1B4B4B0ACACADADAAAEADB0B5B2AFB6BBBCBDBEBF -BEBFC0C1C0BDBAB8BDB1B3A7BCB5BCB2B6B5B8B6B3B8AEB1A8B2B8B5B3BBB1AAB9A6B0B1 -A6ADB1ABA6ADAEAEACB4B0A9B0ADAEB7AEA8B5B7BBB5B3B6B3ACAFB8B2AEB6B6B5B5AEB3 -B8BAB8B6B9BDB9B2BCB6B6BCBEBAB7B8B4BEB5B4BEBCB4C3BFC0C1C2C3C6C5C5C4C3C2C1 -C1BDBDBDBDBDBDBDBDBFBEBDBDBCBBBABABCBCBCBBBBBBBABAB9B8B6B5B5B6B8B9B5B6B7 -B8B8B8B8B7B9B8B7B6B7BABCBEBEBDBDBCBBBAB9B9BABABBBBBBBCBCBCBEBEBFBFBFC0C0 -C0C1C1C1C0C0C0BFBFBEBEBFC0C1C2C2C3C6C6C6C6C6CAC9C9C8C7C6C6C5C3C3C3C3C3C3 -C3C3C5C4C4C3C2C1C0C0C2C2C2C2C1C1C1C0C0BEBDBBBBBDBEC0BCBCBDBEBFBEBEBEBEBD -BCBCBCBFC1C3C4C3C3C2C1C0BFBFC0C1C1C1C2C2C2C2C3C3C4C4C4C5C5C5C6C6C6C5C5C5 -C4C4C3C3C4C5C6C6C7C7CACACACACACFCFCECDCDCCCCCBCBCBCBCBCBCBCBCBCCCCCBCBCA -C9C9C8CACACAC9C9C9C8C8C7C6C5C4C4C5C6C7C4C4C5C6C7C7C6C6C5C4C3C3C4C5C7C9CB -CACAC9C8C8C7C7C8C8C9C9C9CACACACACACACBCBCCCCCCCDCDCDCCCCCBCBCBCACACBCCCC -CDCECED0D0D0D0D0D2D2D2D1D1D0D0D0D0D0D0D0D0D0D0D0D0D0CFCFCECECDCDCFCECECE -CDCDCDCCCBCBCAC9C9CACBCBC8C9CACBCBCBCBCBCAC9C9C8C9CACBCCCECECDCDCCCCCCCB -CCCDCDCDCECECECFCFCFCFD0D0D0D1D1D2D2D1D1D1D0D0D0CFD0D0D1D1D2D2D2D3D3D3D3 -D3end -%%PageTrailer -%%Trailer -%%EOF diff --git a/helm/papers/calculemus-2003/slides/misc/hint2.xml b/helm/papers/calculemus-2003/slides/misc/hint2.xml deleted file mode 100644 index ab74769b7..000000000 --- a/helm/papers/calculemus-2003/slides/misc/hint2.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - cic:/Coq/Reals/Cv_prop/UL_suite.con - cic:/Coq/Reals/R_sqr/Rsqr_inj.con - cic:/Coq/Reals/R_sqrt/sqrt_inj.con - cic:/Coq/Reals/Ranalysis1/unicite_limite.con - cic:/Coq/Reals/Ranalysis1/unicite_step1.con - cic:/Coq/Reals/Rbase/Rge_ge_eq.con - cic:/Coq/Reals/Rbase/Rle_antisym.con - cic:/Coq/Reals/Rbase/Rminus_eq.con - cic:/Coq/Reals/Rbase/Rminus_eq_right.con - cic:/Coq/Reals/Rbase/r_Rmult_mult.con - cic:/Coq/Reals/Rbase/r_Rplus_plus.con - cic:/Coq/Reals/Rcomplet/cond_eq.con - cic:/Coq/Reals/Rlimit/single_limit.con - cic:/Coq/Reals/Rlimit/tech_limit.con - cic:/Coq/Reals/Rpower/exp_inv.con - cic:/Coq/Reals/Rpower/ln_inv.con - cic:/Coq/Reals/Rsqrt_def/cv_dicho.con - cic:/Coq/Reals/Rtopology/is_lub_u.con - cic:/Coq/Reals/Rtrigo_calc/toRad_inj.con - cic:/Coq/Reals/Rtrigo_def/unicite_sum.con - cic:/Rocq/AILS/ycngstys/eq_sym.con - - diff --git a/helm/papers/calculemus-2003/slides/misc/messages.dia b/helm/papers/calculemus-2003/slides/misc/messages.dia deleted file mode 100644 index a481156bbad45f3562f9c1ffd4a7850560111fa8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1927 zcmV;22YC1&iwFP!000001MOX1Z`(E$eb28j+?Ne-W${~Tn-pDvVGk(=Y$^6=$TnkZ zktKtYljdc=ee_3SOP0;pCNH2u0b0Ncb1z999i4k9(Vss5m?fP@sq#2Wue-?eyB(R1 zvT>YFuDjpwet#cyKi^z^8pqKG{cob8Sx5gxnlC?Hcc(=$|IqJ0Jw18Ja~>6$@{)Mr z<+A@@lq6AKH|lq9t~#CF0OP2Lmd7?nqoPppa8bxk8qMT&cNmQxCMsK`qT}KZlDQ1zH#OZz>C8K0L5!eeb#xL`5dWxa@6p8y3%6*DBAIvjVs3

    z(+smLkx{zNRH%hKKTkf25)GMSLqX?9zmJO|GxYyHO7gc1V14-Y>N)jFoTzww{6Z|X zI1uG29v9QW4@c9rj{fW@`eU5O!$j8gK28g3;h!%If9ZK%#ABHo&UCrWfk@L$v%YEI z)plcHVbx<9n$uZQ0%4 zZS}o29$$C=^vlyz9gq&D$!BkV=Gp6cBt2Xm?*4f^6nZ$UMpnA-Q94QF3wLtXLtZG@ zN8%CI6WsGLJ1^lVOVfc&$E(i2c}R7?7W}*(s3M#15BTMJ_PsL)riNK@I4n9Z=vYNh zgZpf>*qf;%x15s`j8v8%Pf)ohoOHtH$spBt&gqlP_a>;0h)xZjXA5`1S3Q@J!=7Ih ze0^|DHfOUBx|DrT;FNxl*zykwzzC>3s@mVT6x32sOFmzQ9n(-JJCTm(HWe*%G)GRPN8M)E!CW9qyV3k^aD z`R8?^kU#cL`-_SCmz>0TA=O}%#4;^v9o3U^X&h8@$#gN>Fy8qCFsWnThzuJ5rWRB@ zLT(|9$qKTs5M~7T5QczoWpH&EN7z1wzpkJ=P#Y-Aag$MuAb6Nv&clcR5V3}BnTaV3 z6YmbL9_G|OjBho12gRbuRNiO+6952n8$8Sac$ijrm_zX}Gw?9C58%5cb_a=uaij6e z0Prg;l;YH_8yKRH^~f5&x*FH;6+N~@FX!$Ha%$jT=1>W*D7di*#?%N58vqV05HNQP zV9JR`>??o+pY;R?fXid6ca&Vw?@yqDF*8EL282Tk>%kBr7*|9v1`@&8B!aO65&U-% z6>>0|>Uoe&RuLFN1tSZOG#~*{$MH%X7Xa09!c@lv4j{Z3<|Ey@(fBpO!U}$EEQ+HL zpo|O3WgPaQ%DC`&8Has`_-(e224M#yY~!g82B3p6Eem11G9m=P(;dv9gfVxbB2+P$ zEpq*-$uby2coB%$crHKyxDl9_?Fbw|fVeWcdXziR5#Ltu9pp1~EZ=SM^*p8p(OlY(arR1cil_IYI#{Izq}79bqsP9Wgn>gtex`AqW!) zXBgR7nUtCw0`j+Nx?vLv5j>* zMj@UhCKU!|Kn%>NiGf+`Q5-7n7>F)r7IZP=0J@m5$}1fLNEb71Vq(#H6h~kTvFw3u ztlhD|y+^@B*`r_~kVnCS;~oVITaV(1pnzEPz&6(II0N8fPRm@(IS?0fX5eDZAv_AX zQ1T&av`N7sp3uZr-nJ6}5}EU|MCJjIMCQUEk$KRX6gBV#@z_Ee@C8s6yrL>Nl&atc zRlyyoia+9JZ}-D(XbCN?(s8858ozhTxvJT+%Emi(4x#IN!q-q;?)QTOCO$F`hdk&Z z59!Yq@8Z?nq$_O>ZM42ZR;gVDhLgK&ek&hka$qz6BO7ub+I~Gti@J=< - -2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/papers/calculemus-2003/slides/show.dvi b/helm/papers/calculemus-2003/slides/show.dvi deleted file mode 100644 index f3f23eaa3346a8efee3cfebd7709b0db72e547a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22436 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 xXxY>K${t`^zVuo4P}2%0r$}} -\newcommand{\emailzack}{\texttt{$<$zack@di.ens.fr$>$}} -\newcommand{\Arrow}[2]{\ncline[nodesep=0.5cm]{->}{#1}{#2}} -\newcommand{\Strike}[2]{\ncline[linewidth=0.3cm,linecolor=red]{-}{#1}{#2}} -\newcommand{\node}[2]{\rnode{#1}{#2}} -\newcommand{\FromBottom}[1]{\advitransbox{slide,from=bottom}{#1}} -\newcommand{\FromLeft}[1]{\advitransbox{slide,from=left}{#1}} -\newcommand{\FromRight}[1]{\advitransbox{slide,from=right}{#1}} -\newcommand{\FromTop}[1]{\advitransbox{slide,from=top}{#1}} -\newcommand{\Blue}[1]{\textcolor[named]{Blue}{#1}} -\newcommand{\Gray}[1]{\textcolor[named]{Gray}{#1}} -\newcommand{\Green}[1]{\textcolor[named]{Green}{#1}} -\newcommand{\Red}[1]{\textcolor[named]{Red}{#1}} - -\def\thelogo{\includegraphics[width=3EM,height=1EM]{helm.eps}} -\def\footer{{\thelogo\hfill \emph{\Gray{Stefano Zacchiroli \emailzack \hfill -10-09-2003}}}} -\def\advimasquotte{\adviembed[width=1.56cm,height=1.824cm]% -{animate -geometry !g! -window !p advilogo.anim.gif}} - -% shortcuts - -\newcommand{\musing}{\texttt{musing}} -\newcommand{\musings}{\texttt{musings}} -\newcommand{\ws}{Web-Service} -\newcommand{\wss}{Web-Services} -\newcommand{\hbugs}{H-Bugs} -\newcommand{\helm}{HELM} -\newcommand{\Omegapp}{$\Omega$mega} -\newcommand{\OmegaAnts}{$\Omega$mega-Ants} - -% debugging - -% \renewcommand{\pause}{} - -\begin{document} - \input{slides} -\end{document} - diff --git a/helm/papers/calculemus-2003/slides/slides.tex b/helm/papers/calculemus-2003/slides/slides.tex deleted file mode 100644 index e7acdae51..000000000 --- a/helm/papers/calculemus-2003/slides/slides.tex +++ /dev/null @@ -1,311 +0,0 @@ - -\firstslide{} -% 1 - \begin{center} - \large{\textbf{ - Brokers and Web-Services\\ - for Automatic Deduction:\\ - a Case Study}} - \end{center} - \vfill - \begin{center} - \small - \emph{Claudio Sacerdoti Coen} \emailcsc \\ - \vspace{0.2cm} - \tiny - Department of Computer Science \\ - University of Bologna (Italy) - \vfill - \small - Stefano Zacchiroli \emailzack \\ - \vspace{0.2cm} - \tiny - Department of Computer Science \\ - \'Ecole Normale Sup\'erieure de Paris (France) - \end{center} - -\newslide{Outline} -% 2 - \begin{citemize} - \pause - \item Motivations - \pause - \item HELM's Proof Assistant - \pause - \color{blue} - \item \hbugs - \begin{citemize} - \small - \pause - \item architecture - \item a brief demo - \item \Gray{implementation highlights (maybe)} - \item future work - \end{citemize} - \end{citemize} - -\newslide{Motivations} -% 3 - Web-Service approach at software development \ldots - \begin{citemize} - \small - \item helps in getting rid of a wide range of software incompatibilities - \item is (hopefully) granted to have longevity - \end{citemize} - \ldots thus the WWW is moving \ldots - \begin{citemize} - \small - \item[\Red{from}] \advirecord{f}{a disorganized repository of human-understandable - HTML documents} - \item[\Green{to}] \advirecord{t}{a disorganized repository of application exchanging - XML documents} - \end{citemize} - \pause \adviplay{f} \pause \adviplay{t} - -\newslide{Motivations} -% 4 - The open challenge: - \begin{citemize} - \small - \item Provide a set of stable and reliable services over this disorganization - \end{citemize} - \pause - What about solutions? \pause \ldots \small \Red{none :-(} \pause - - \begin{citemize} - \item Just an useful architecture / widespread idea: \\ - \hfill add an additional intermediate level of stable services and call them - \Blue{brokers} - \end{citemize} - -\newslide{\Large{HELM's Proof Assistant}} -% 5 - \advirecord{bp}{\adviembed{display eps/helmLogic.png}} - \Blue{\large Pros} \hfill \advianchor[click,underline]{bp}{\small{The Big - Picture}} - \begin{citemize} - \small - \pause - \item document centric - \pause - \item exploits the HELM distributed library - \hfill \Red{($\approx$ 40000 theorems/defs)} - \pause - \item modular, based on the HELM Web-Services - \hfill \Red{(via XML + OMDoc)} - \pause - \item XML based GUI - \hfill \Red{(XSLT stylesheets, MathML)} - \pause - \item a wonderful name: \adviwait[1] \Gray{\large{TODO}} \adviwait[1] - \hfill \Red{(gTopLevel? CIClIDE?)} - \end{citemize} - -\newslide{\Large{HELM's Proof Assistant}} -% 6 - \Blue{\large Cons} - \begin{citemize} - \item \Red{Beginners' Cons} - \advirecord{B}{ - \begin{citemize} - \small - \item get lost in the available tactics - \item focus shouldn't be on interface issues, but rather on formal proof - development - \end{citemize}} - \item \Red{Experts' Cons} - \advirecord{E}{ - \begin{citemize} - \small - \item computational expensive / resource consuming tactics - \item too low exploitation of the HELM library - \end{citemize}} - \end{citemize} - \pause \adviplay{B} \pause \adviplay{E} - -\newslide{An improvement} -% 7 - A \Blue{suggestion engine} that \ldots - \begin{citemize} - \pause - \item \ldots works in background - \item \ldots notify the user out-of-band - \item \ldots is as much re-usable as possible - \end{citemize} - \vfill - \begin{center} - \pause \Red{\OmegaAnts}? \hspace{2cm} \pause \Blue{\hbugs}! - \end{center} - -\newslide{\hbugs{} Actors} -% 8 - \vfill - \begin{description} - \item[\large{clients}] - ~\advirecord{c}{\parbox[t]{0.7\textwidth}{\small Software components able to - produce \Blue{proof status} consuming \Red{hints}}} - \item[\large{tutors}] - ~\advirecord{t}{\parbox[t]{0.7\textwidth}{\small Software components able to - consume \Red{proof status} producing \Blue{hints}}} - \item[\large{brokers}] - ~\advirecord{b}{\parbox[t]{0.7\textwidth}{\small Software components which - act as \Green{intermediaries} decoupling clients and tutors}} - \end{description} - - \pause \adviplay{c} \pause \adviplay{t} \pause \adviplay{b} - -\newslide{\hbugs{} Architecture} -% 9 - \vfill - \myincludegraphics{hbugsArch}{0.8\textwidth} - -\newslide{\hbugs{} Web-Services} -% 10 - \vfill - \myincludegraphics{hbugsInterfaces}{0.8\textwidth} - -\newslide{\hbugs{} Messages} -% 11 - \advirecord{dia}{\adviembed{dia-gnome misc/messages.dia}} - \vfill - \begin{center} - \advianchor[click,underline]{dia}{messages.dia} - \end{center} - -\newslide{\hbugs{} Tutors} -% 12 - \vfill - \Blue{I. Tutors for beginners} - \begin{enumerate} - \small - \item \Red{Assumption} thesis equivalent to one of the hypotheses - \item \Red{Contradiction} reductio ad absurdum - \item \Red{Simmetry} commutative property over equalities - \item \Red{Left/Right/Exists/Split/Reflexivity/Constructor} inductive type - constructors application - \end{enumerate} - -\newslide{\hbugs{} Tutors} -% 13 - \vfill - \Blue{II. Tutors for computationally expensive tactics} - \begin{enumerate} - \small - \item \Red{Ring} associative and commutative rewritings over ring structures - \item \Red{Fourier} solves linear inequation systems (over R) - \end{enumerate} - \vfill - \pause - \Blue{III. Intelligent tutors} - \begin{enumerate} - \small - \item \Red{Search pattern Apply} search for applicable theorems from the - HELM library (search + unification ``attempts'') - \end{enumerate} - -\newslide{\hbugs{} Demo} -% 14 - - \vfill - \begin{center} - \fbox{\parbox{0.8\textwidth}{ - \textbf{\Red{Exercise 1.}} - - \vspace{1cm} - \emph{Let $x$ be a generic real number. Using the \helm{} proof-engine, prove - that:} - - \Blue{ - \begin{displaymath} - x = \frac{(x+1)^2 - 1 - x^2}{2} - \end{displaymath}}}} - \end{center} - -\newslide{\Large \hbugs{} Tutors' Implementation} -% 15 - All tutors \ldots: - \Blue{\begin{citemize} - \small - \pause - \item \ldots are multi-threaded - \pause - \item \ldots present a Web-Service interface - \pause - \item \ldots perform a lot of similar operations (decoding proof status, - encoding hints, parse and submit HTTP requests, \ldots) - \end{citemize}} - - \vfill - \advirecord{a}{\FromRight{is not that difficult, but \ldots}} - - \advirecord{b}{\FromRight{\Red{requires a lot of duplicated code/work :-(}}} - - \pause \adviplay{a} \adviwait[0.5] \adviplay{b} - -\newslide{\Large \hbugs{} Tutors' Implementation} -% 16 - {\small To avoid the repetitive task of implementing a tutor each time we - develop a new tactic:} - \begin{cenumerate} - \small - \item[I.] ~\advirecord{a}{we have written a \Green{generic tutor - implementation}} - \item[II.] ~\advirecord{b}{we \Green{instantiate} it with each available tactic - starting from an XML signature of each tutor} - \begin{Verbatim}[fontshape=it,fontsize=\tiny,formatcom=\color{blue}] - - 127.0.0.1 - 50004 - EqualityTactics.symmetry_tac - Hbugs_types.Use_symmetry_Luke - Use Symmetry Luke - Symmetry tutor - symmetry.environment - - \end{Verbatim} - \end{cenumerate} - \pause \adviplay{a} \pause \adviplay{b} - -\newslide{\hbugs{} Future Work} -% 17 - \vfill - \begin{center} - \Blue{\Large{A lot!}} - \end{center} - \vfill - \begin{citemize} - \item ~\advirecord{a}{implement more \advirecord{b}{\Gray{(Intelligent)}} - tutors} - \item ~\advirecord{c}{interfacing of CASs \hfill \Red{(Field tactic?)}} - \item ~\advirecord{d}{non-hint \hfill \Red{(warnings?)}} - \item ~\advirecord{e}{hints rating} - \item ~\advirecord{f}{MONET integration \hfill \Red{ontologies, reuse}} - \item ~\advirecord{g}{work on the GUI!} - \end{citemize} - - \pause \adviplay{a} \adviwait[0.3] \adviplay{b} \pause \adviplay{c} \pause - \adviplay{d} \pause \adviplay{e} \pause \adviplay{f} \pause \adviplay{g} - -\newslide{References} -% 18 - \vfill - \begin{citemize} - \item A. Asperti, F. Guidi, L. Padovani, C. Sacerdoti Coen, I. Schena. - Mathematical Knowledge Management in HELM. In Annals of Mathematics and - Artificial Intelligence, 38(1): 27--46, May 2003. - \item C. Benzm\"uller, M. Jamnik, M. Kerber, V. Sorge. - Agent-based Mathematical Reasoning. In A. Armando and T. Jebelean (eds.), - Electronic Notes in Theoretical Computer Science, (1999) 23(3), Elsevier. - \item The MONET Consortium, MONET Architecture Overview, - Public Deliverable D04 of the MONET Project.\\ - \texttt{http://monet.nag.co.uk/cocoon/monet/publicsdocs/monet-overview.pdf} - \item S. Zacchiroli. \emph{Web services per il supporto alla - dimostrazione interattiva}, Master Thesis, University of Bologna, 2002. - \end{citemize} - -\newslide{That's all Folks!} -% 19 - \vfill - \adviwait[1] - \myincludegraphics{thatsall}{0.4\textwidth} - diff --git a/helm/papers/calculemus-2003/stamp.pro b/helm/papers/calculemus-2003/stamp.pro deleted file mode 100644 index 41a40e309..000000000 --- a/helm/papers/calculemus-2003/stamp.pro +++ /dev/null @@ -1,82 +0,0 @@ -%! -% stamp.pro -% Put a stamp onto upper left corner of the page. -% -% $Log$ -% Revision 1.1 2003/05/22 16:05:12 sacerdot -% ed and draftstamp packages committed and activated -% -% Revision 1.1 2002/10/21 14:41:51 kohlhase -% more restructuring of definitions -% -% Revision 1.1 1999/04/28 16:23:03 kohlhase -% bla -% -% Revision 1.1 1998/09/29 07:32:03 kohlhase -% *** empty log message *** -% -% Revision 1.1 1998/01/05 10:53:58 mmueller -% blurb -% -% Revision 1.1 1997/03/18 18:14:22 tmueller -% starting ilps version of cpi paper -% -% Revision 1.1 91/02/17 01:51:12 schwarze -% Initial revision -% - -/inch { 72 mul } def -/mm { inch 25.4 div } def - -/StampText (Draft) def -%/StampDate (12.01.91) def - -/StampSize 24 def -/StampFont /Helvetica-Bold findfont StampSize scalefont def -/DateSize 10 def -/DateFont /Helvetica-Bold findfont DateSize scalefont def -/Gray .5 def -/LMargin 10 mm def -/TMargin 10 mm def -%/PaperHeight 297 mm def -/PaperHeight 280 mm def -/Angle 30 def - -/Randomize { rand 2147483647 div .6 mul .7 add mul cvi } def - -/bop-hook { - gsave - - /TheAngle Angle Randomize def - /TheLMargin LMargin Randomize def - /TheTMargin TMargin Randomize def - - StampFont setfont - /StampWidth StampText stringwidth pop def - - TheLMargin StampSize TheAngle sin mul add % x - PaperHeight TheTMargin sub StampWidth TheAngle sin mul sub - StampSize TheAngle cos mul sub % y - - translate - TheAngle rotate - Gray setgray - 0 0 moveto StampText show - - userdict /StampDate known { - DateFont setfont - StampDate stringwidth pop - StampWidth exch sub 2 div DateSize -1.2 mul moveto - StampDate show - } if - - StampWidth 2 div dup StampSize 0.2 mul translate - - 1.35 mul dup StampSize 1.35 mul scale - newpath 1 exch div setlinewidth 0 0 1 0 360 arc stroke - - grestore -} def - -%bop-hook -%showpage diff --git a/helm/papers/matita/.cvsignore b/helm/papers/matita/.cvsignore deleted file mode 100644 index 0964fd233..000000000 --- a/helm/papers/matita/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -matita.aux -matita.bbl -matita.blg -matita.dvi -matita.log -matita.out diff --git a/helm/papers/matita/Makefile b/helm/papers/matita/Makefile deleted file mode 100644 index d287d115c..000000000 --- a/helm/papers/matita/Makefile +++ /dev/null @@ -1,124 +0,0 @@ - -# -# Generic makefile for latex -# -# Author: Stefano Zacchiroli -# -# Created: Sun, 29 Jun 2003 12:00:55 +0200 zack -# Last-Modified: Mon, 10 Oct 2005 15:37:12 +0200 zack -# - -######################################################################## - -# list of .tex _main_ files -TEXS = matita.tex - -# number of runs of latex (for table of contents, list of figures, ...) -RUNS = 1 - -# do you need bibtex? -BIBTEX = yes - -# would you like to use pdflatex? -PDF_VIA_PDFLATEX = yes - -# which formats generated by default ("all" target)? -# (others will be generated by "world" target) -# see AVAILABLE_FORMATS below -BUILD_FORMATS = dvi ps - -# which format to be shown on "make show" -SHOW_FORMAT = dvi - -######################################################################## - -AVAILABLE_FORMATS = dvi ps ps.gz pdf html - -ADVI = advi -BIBTEX = bibtex -BROWSER = galeon -DVIPDF = dvipdf -DVIPS = dvips -GV = gv -GZIP = gzip -HEVEA = hevea -ISPELL = ispell -LATEX = latex -PDFLATEX = pdflatex -PRINT = lpr -XDVI = xdvi -XPDF = xpdf - -ALL_FORMATS = $(BUILD_FORMATS) -WORLD_FORMATS = $(AVAILABLE_FORMATS) - -all: $(ALL_FORMATS) -world: $(WORLD_FORMATS) - -DVIS = $(TEXS:.tex=.dvi) -PSS = $(TEXS:.tex=.ps) -PSGZS = $(TEXS:.tex=.ps.gz) -PDFS = $(TEXS:.tex=.pdf) -HTMLS = $(TEXS:.tex=.html) - -dvi: $(DVIS) -ps: $(PSS) -ps.gz: $(PSGZS) -pdf: $(PDFS) -html: $(HTMLS) - -show: show$(SHOW_FORMAT) -showdvi: $(DVIS) - $(XDVI) $< -showps: $(PSS) - $(GV) $< -showpdf: $(PDFS) - $(XPDF) $< -showpsgz: $(PSGZS) - $(GV) $< -showps.gz: showpsgz -showhtml: $(HTMLS) - $(BROWSER) $< - -print: $(PSS) - $(PRINT) $^ - -clean: - rm -f \ - $(TEXS:.tex=.dvi) $(TEXS:.tex=.ps) $(TEXS:.tex=.ps.gz) \ - $(TEXS:.tex=.pdf) $(TEXS:.tex=.aux) $(TEXS:.tex=.log) \ - $(TEXS:.tex=.html) $(TEXS:.tex=.out) $(TEXS:.tex=.haux) \ - $(TEXS:.tex=.htoc) $(TEXS:.tex=.tmp) - -%.dvi: %.tex - $(LATEX) $< - if [ "$(BIBTEX)" = "yes" ]; then $(BIBTEX) $*; fi - if [ "$(RUNS)" -gt 1 ]; then \ - for i in seq 1 `expr $(RUNS) - 1`; do \ - $(LATEX) $<; \ - done; \ - fi -ifeq ($(PDF_VIA_PDFLATEX),yes) -%.pdf: %.tex - $(PDFLATEX) $< - if [ "$(BIBTEX)" = "yes" ]; then $(BIBTEX) $*; fi - if [ "$(RUNS)" -gt 1 ]; then \ - for i in seq 1 `expr $(RUNS) - 1`; do \ - $(PDFLATEX) $<; \ - done; \ - fi -else -%.pdf: %.dvi - $(DVIPDF) $< $@ -endif -%.ps: %.dvi - $(DVIPS) -ta4 $< -%.ps.gz: %.ps - $(GZIP) -c $< > $@ -%.html: %.tex - $(HEVEA) -fix $< - -.PHONY: all ps pdf html clean - -######################################################################## - diff --git a/helm/papers/matita/ed.sty b/helm/papers/matita/ed.sty deleted file mode 100644 index 794d39d40..000000000 --- a/helm/papers/matita/ed.sty +++ /dev/null @@ -1,66 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Editorials -% -% the font shape of ednotes is governed by the parameter \ednoteshape -% the default is sans serif, specialize it to say italic by -% \def\ednoteshape{\it} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage{verbatim} -\def\ednoteshape{\sf} -\newif\ifshowednotes\showednotesfalse -\def\edshownotes{\showednotestrue} -\DeclareOption{show}{\showednotestrue} -\DeclareOption{hide}{\showednotesfalse} -\ProcessOptions - -\newcounter{ednote} -\def\ed@foot#1#2#3% text, type, label -{\def\test{#3}\def\empty{}\footnotetext[\value{ednote}]% -{{\sc{#2}\if\test\empty\else\label{ed:#3}[{#3}]\fi:} \ednoteshape #1}} -\def\ed@note#1#2#3% text, type, label -{\addtocounter{ednote}{1}\message{#2!}% -\ifshowednotes% -\footnotemark[\arabic{ednote}]\ed@foot{#1}{#2}{#3}% -\marginpar{#2(\arabic{ednote})}% -\fi} -\newcommand{\ednote}[2][]{\ed@note{#2}{}{#1}} -\newcommand{\issue}[2][]{\ed@note{#2}{}{#1}} -\newenvironment{newpart}[1]% text -{\addtocounter{ednote}{1}\edef\new@number{\theednote}\message{New Part!\new@number} -\ifshowednotes\ed@foot{#1}{New Part}{}\marginpar{BegNP(\new@number)}\fi} -{\ifshowednotes\marginpar{EndNP(\new@number)}\fi} - -\def\ednotemessage{\ifnum\value{ednote}>0\typeout{}% -\typeout{There are still \arabic{ednote} EdNotes and Issues to resolve!}% -\typeout{}\fi} - -\ifshowednotes -\def\todolist#1{\message{todolist!}% -{{\sf To Do: #1}}\bgroup\sf\marginpar{{\sf ToDo}}\begin{itemize}} -\def\endtodolist{\end{itemize}\egroup} -\else\def\todolist#1{\comment}\def\endtodolist{\endcomment}\fi - -\newenvironment{neu}{\begin{newpart}{no explanation given}}{\end{newpart}} - -\def\tweak#1{\ifshowednotes\marginpar{{\sf tweak}(#1)}\fi} - - -\def\df#1{\bf{#1}} -\def\dfi#1{\bf{\index*{#1}}} -\def\defemph{\textbf} -\def\defin#1{\defemph{\index*{#1}}} -\def\defins#1{\defemph{#1s}\index{#1}} -\def\emin#1{\em{\index*{#1}}\/} -\def\emins#1{{\em{#1s}\/}\index{#1}} -\def\edin#1{\index*{#1}} -\def\edins#1{\index*{#1}s} -\def\ttin#1{{\tt{#1}}\index{#1@{\tt{#1}}}} -\def\ttins#1{{\tt{#1}}s\index{#1@{\tt{#1}}}} - -\newenvironment{myfig}[2]% -{\begin{figure}[!htb]\def\myfiglabel{#1}\def\myfigcaption{{#2}}\begin{center}} -{\caption{\myfigcaption}\label{fig:\myfiglabel}\end{center}\end{figure}} -\def\myfigref#1{Figure~\ref{fig:#1}} -\def\myfigsref#1#2{Figures~\ref{fig:#1} and~\ref{fig:#2}} -\def\myfiglref#1#2{Figures~\ref{fig:#1} to~\ref{fig:#2}} -\def\Myfigref#1{Figure~\ref{fig:#1}} % this one is capitalized for sentence beginnings diff --git a/helm/papers/matita/input_phase.dia b/helm/papers/matita/input_phase.dia deleted file mode 100644 index 25315d0c738369888b45b2c5e7c421ace86a7358..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3930 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 diff --git a/helm/papers/matita/input_phase.eps b/helm/papers/matita/input_phase.eps deleted file mode 100644 index bcbeffbd8..000000000 --- a/helm/papers/matita/input_phase.eps +++ /dev/null @@ -1,5654 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: input_phase.dia -%%Creator: Dia v0.94 -%%CreationDate: Thu Nov 17 17:44:14 2005 -%%For: zacchiro -%%Orientation: Portrait -%%Magnification: 1.0000 -%%BoundingBox: 0 0 1560 920 -%%BeginSetup -%%EndSetup -%%EndComments -%%BeginProlog -[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright -/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one -/two /three /four /five /six /seven /eight /nine /colon /semicolon -/less /equal /greater /question /at /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 /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /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 /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright -/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior -/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf -/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla -/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde -/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex -/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring -/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis -/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave -/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def -/cp {closepath} bind def -/c {curveto} bind def -/f {fill} bind def -/a {arc} bind def -/ef {eofill} bind def -/ex {exch} 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 pop} bind def -/tr {translate} bind def - -/ellipsedict 8 dict def -ellipsedict /mtrx matrix put -/ellipse -{ ellipsedict begin - /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 - savematrix setmatrix - end -} def - -/mergeprocs { -dup length -3 -1 roll -dup -length -dup -5 1 roll -3 -1 roll -add -array cvx -dup -3 -1 roll -0 exch -putinterval -dup -4 2 roll -putinterval -} bind def -/dpi_x 300 def -/dpi_y 300 def -/conicto { - /to_y exch def - /to_x exch def - /conic_cntrl_y exch def - /conic_cntrl_x exch def - currentpoint - /p0_y exch def - /p0_x exch def - /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def - /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def - /p2_x p1_x to_x p0_x sub 1 3 div mul add def - /p2_y p1_y to_y p0_y sub 1 3 div mul add def - p1_x p1_y p2_x p2_y to_x to_y curveto -} bind def -/start_ol { gsave 1.1 dpi_x div dup scale} bind def -/end_ol { closepath fill grestore } bind def -28.346000 -28.346000 scale --2.022310 -44.480100 translate -%%EndProlog - - -0.120000 slw -[] 0 sd -[] 0 sd -0 slc -0.000000 0.000000 0.000000 srgb -n 28.408334 17.183800 m 37.924172 17.160058 l s -[] 0 sd -0 slj -0 slc -n 38.374171 17.158935 m 37.774921 17.460431 l 37.924172 17.160058 l 37.773424 16.860433 l ef -n 38.374171 17.158935 m 37.774921 17.460431 l 37.924172 17.160058 l 37.773424 16.860433 l cp s -gsave 28.459949 16.208600 translate 0.035278 -0.035278 scale -start_ol -2368 5056 moveto -2368 1216 lineto -2949 1216 lineto -3944 1216 4468 1709 conicto -4992 2202 4992 3142 conicto -4992 4078 4470 4567 conicto -3948 5056 2949 5056 conicto -2368 5056 lineto -768 6272 moveto -2457 6272 lineto -3886 6272 4586 6068 conicto -5286 5865 5786 5377 conicto -6227 4953 6441 4398 conicto -6656 3844 6656 3142 conicto -6656 2433 6441 1876 conicto -6227 1319 5786 895 conicto -5281 407 4575 203 conicto -3869 0 2457 0 conicto -768 0 lineto -768 6272 lineto -end_ol grestore -gsave 29.399749 16.208600 translate 0.035278 -0.035278 scale -start_ol -704 4672 moveto -2176 4672 lineto -2176 0 lineto -704 0 lineto -704 4672 lineto -704 6528 moveto -2176 6528 lineto -2176 5248 lineto -704 5248 lineto -704 6528 lineto -end_ol grestore -gsave 29.789215 16.208600 translate 0.035278 -0.035278 scale -start_ol -4352 4608 moveto -4352 3456 lineto -3893 3648 3466 3744 conicto -3039 3840 2659 3840 conicto -2252 3840 2054 3733 conicto -1856 3627 1856 3405 conicto -1856 3225 2002 3128 conicto -2149 3032 2528 2986 conicto -2775 2948 lineto -3897 2799 4284 2459 conicto -4672 2120 4672 1395 conicto -4672 635 4122 253 conicto -3573 -128 2482 -128 conicto -2020 -128 1526 -64 conicto -1033 0 512 128 conicto -512 1280 lineto -959 1056 1428 944 conicto -1898 832 2383 832 conicto -2821 832 3042 957 conicto -3264 1083 3264 1331 conicto -3264 1538 3121 1640 conicto -2978 1742 2553 1798 conicto -2306 1833 lineto -1276 1958 862 2298 conicto -448 2639 448 3331 conicto -448 4078 954 4439 conicto -1461 4800 2506 4800 conicto -2916 4800 3368 4753 conicto -3821 4707 4352 4608 conicto -end_ol grestore -gsave 30.466549 16.208600 translate 0.035278 -0.035278 scale -start_ol -2837 2112 moveto -2349 2112 2102 1947 conicto -1856 1782 1856 1461 conicto -1856 1166 2054 999 conicto -2253 832 2606 832 conicto -3046 832 3347 1146 conicto -3648 1461 3648 1934 conicto -3648 2112 lineto -2837 2112 lineto -5120 2680 moveto -5120 0 lineto -3648 0 lineto -3648 704 lineto -3344 269 2963 70 conicto -2583 -128 2037 -128 conicto -1301 -128 842 299 conicto -384 726 384 1406 conicto -384 2235 950 2621 conicto -1516 3008 2729 3008 conicto -3648 3008 lineto -3648 3134 lineto -3648 3500 3361 3670 conicto -3075 3840 2469 3840 conicto -1977 3840 1554 3744 conicto -1131 3648 768 3456 conicto -768 4608 lineto -1254 4703 1745 4751 conicto -2237 4800 2729 4800 conicto -3996 4800 4558 4301 conicto -5120 3802 5120 2680 conicto -end_ol grestore -gsave 31.228549 16.208600 translate 0.035278 -0.035278 scale -start_ol -5016 3879 moveto -5300 4329 5689 4564 conicto -6079 4800 6546 4800 conicto -7350 4800 7771 4297 conicto -8192 3795 8192 2837 conicto -8192 0 lineto -6720 0 lineto -6720 2430 lineto -6724 2484 6726 2542 conicto -6729 2600 6729 2708 conicto -6729 3203 6580 3425 conicto -6431 3648 6099 3648 conicto -5665 3648 5428 3299 conicto -5192 2950 5184 2288 conicto -5184 0 lineto -3712 0 lineto -3712 2430 lineto -3712 3203 3576 3425 conicto -3440 3648 3091 3648 conicto -2652 3648 2414 3297 conicto -2176 2946 2176 2292 conicto -2176 0 lineto -704 0 lineto -704 4672 lineto -2176 4672 lineto -2176 3968 lineto -2452 4382 2809 4591 conicto -3166 4800 3596 4800 conicto -4081 4800 4452 4558 conicto -4824 4316 5016 3879 conicto -end_ol grestore -gsave 32.413882 16.208600 translate 0.035278 -0.035278 scale -start_ol -3205 960 moveto -3702 960 3963 1312 conicto -4224 1665 4224 2337 conicto -4224 3008 3963 3360 conicto -3702 3712 3205 3712 conicto -2707 3712 2441 3358 conicto -2176 3004 2176 2337 conicto -2176 1669 2441 1314 conicto -2707 960 3205 960 conicto -2176 3968 moveto -2490 4395 2872 4597 conicto -3255 4800 3752 4800 conicto -4631 4800 5195 4110 conicto -5760 3421 5760 2336 conicto -5760 1250 5195 561 conicto -4631 -128 3752 -128 conicto -3255 -128 2872 74 conicto -2490 277 2176 704 conicto -2176 0 lineto -704 0 lineto -704 6528 lineto -2176 6528 lineto -2176 3968 lineto -end_ol grestore -gsave 33.226682 16.208600 translate 0.035278 -0.035278 scale -start_ol -704 4672 moveto -2176 4672 lineto -2176 0 lineto -704 0 lineto -704 4672 lineto -704 6528 moveto -2176 6528 lineto -2176 5248 lineto -704 5248 lineto -704 6528 lineto -end_ol grestore -gsave 33.616149 16.208600 translate 0.035278 -0.035278 scale -start_ol -3968 768 moveto -3653 371 3274 185 conicto -2896 0 2398 0 conicto -1525 0 954 677 conicto -384 1354 384 2402 conicto -384 3455 954 4127 conicto -1525 4800 2398 4800 conicto -2896 4800 3274 4599 conicto -3653 4399 3968 3968 conicto -3968 4672 lineto -5440 4672 lineto -5440 456 lineto -5440 -668 4723 -1262 conicto -4006 -1856 2643 -1856 conicto -2201 -1856 1789 -1793 conicto -1377 -1730 960 -1600 conicto -960 -448 lineto -1361 -675 1745 -785 conicto -2129 -896 2517 -896 conicto -3268 -896 3618 -569 conicto -3968 -242 3968 456 conicto -3968 768 lineto -2942 3712 moveto -2459 3712 2189 3369 conicto -1920 3026 1920 2398 conicto -1920 1754 2180 1421 conicto -2441 1088 2942 1088 conicto -3429 1088 3698 1431 conicto -3968 1775 3968 2398 conicto -3968 3026 3698 3369 conicto -3429 3712 2942 3712 conicto -end_ol grestore -gsave 34.428949 16.208600 translate 0.035278 -0.035278 scale -start_ol -640 1831 moveto -640 4672 lineto -2112 4672 lineto -2112 4207 lineto -2112 3829 2107 3257 conicto -2103 2686 2103 2495 conicto -2103 1934 2134 1687 conicto -2165 1440 2239 1328 conicto -2336 1183 2491 1103 conicto -2647 1024 2850 1024 conicto -3342 1024 3623 1381 conicto -3904 1739 3904 2374 conicto -3904 4672 lineto -5376 4672 lineto -5376 0 lineto -3904 0 lineto -3904 640 lineto -3560 246 3175 59 conicto -2791 -128 2327 -128 conicto -1503 -128 1071 373 conicto -640 874 640 1831 conicto -end_ol grestore -gsave 35.233282 16.208600 translate 0.035278 -0.035278 scale -start_ol -2837 2112 moveto -2349 2112 2102 1947 conicto -1856 1782 1856 1461 conicto -1856 1166 2054 999 conicto -2253 832 2606 832 conicto -3046 832 3347 1146 conicto -3648 1461 3648 1934 conicto -3648 2112 lineto -2837 2112 lineto -5120 2680 moveto -5120 0 lineto -3648 0 lineto -3648 704 lineto -3344 269 2963 70 conicto -2583 -128 2037 -128 conicto -1301 -128 842 299 conicto -384 726 384 1406 conicto -384 2235 950 2621 conicto -1516 3008 2729 3008 conicto -3648 3008 lineto -3648 3134 lineto -3648 3500 3361 3670 conicto -3075 3840 2469 3840 conicto -1977 3840 1554 3744 conicto -1131 3648 768 3456 conicto -768 4608 lineto -1254 4703 1745 4751 conicto -2237 4800 2729 4800 conicto -3996 4800 4558 4301 conicto -5120 3802 5120 2680 conicto -end_ol grestore -gsave 35.995282 16.208600 translate 0.035278 -0.035278 scale -start_ol -2304 6016 moveto -2304 4672 lineto -3840 4672 lineto -3840 3584 lineto -2304 3584 lineto -2304 1634 lineto -2304 1313 2433 1200 conicto -2562 1088 2945 1088 conicto -3712 1088 lineto -3712 0 lineto -2432 0 lineto -1561 0 1196 371 conicto -832 743 832 1634 conicto -832 3584 lineto -64 3584 lineto -64 4672 lineto -832 4672 lineto -832 6016 lineto -2304 6016 lineto -end_ol grestore -gsave 36.537149 16.208600 translate 0.035278 -0.035278 scale -start_ol -704 4672 moveto -2176 4672 lineto -2176 0 lineto -704 0 lineto -704 4672 lineto -704 6528 moveto -2176 6528 lineto -2176 5248 lineto -704 5248 lineto -704 6528 lineto -end_ol grestore -gsave 36.926615 16.208600 translate 0.035278 -0.035278 scale -start_ol -2983 3712 moveto -2465 3712 2192 3357 conicto -1920 3003 1920 2336 conicto -1920 1669 2192 1314 conicto -2465 960 2983 960 conicto -3492 960 3762 1314 conicto -4032 1669 4032 2336 conicto -4032 3003 3762 3357 conicto -3492 3712 2983 3712 conicto -2982 4800 moveto -4199 4800 4883 4146 conicto -5568 3493 5568 2336 conicto -5568 1179 4883 525 conicto -4199 -128 2982 -128 conicto -1761 -128 1072 525 conicto -384 1179 384 2336 conicto -384 3493 1072 4146 conicto -1761 4800 2982 4800 conicto -end_ol grestore -gsave 37.705549 16.208600 translate 0.035278 -0.035278 scale -start_ol -5440 2837 moveto -5440 0 lineto -3968 0 lineto -3968 462 lineto -3968 2172 lineto -3968 2775 3939 3004 conicto -3910 3233 3840 3341 conicto -3749 3486 3590 3567 conicto -3432 3648 3230 3648 conicto -2738 3648 2457 3288 conicto -2176 2929 2176 2292 conicto -2176 0 lineto -704 0 lineto -704 4672 lineto -2176 4672 lineto -2176 3968 lineto -2521 4395 2907 4597 conicto -3294 4800 3761 4800 conicto -4586 4800 5013 4297 conicto -5440 3795 5440 2837 conicto -end_ol grestore -0.120000 slw -[] 0 sd -[] 0 sd -0 slc -n 9.319239 17.183800 m 18.835077 17.160058 l s -[] 0 sd -0 slj -0 slc -n 19.285076 17.158935 m 18.685826 17.460431 l 18.835077 17.160058 l 18.684329 16.860433 l ef -n 19.285076 17.158935 m 18.685826 17.460431 l 18.835077 17.160058 l 18.684329 16.860433 l cp s -gsave 11.622987 16.208600 translate 0.035278 -0.035278 scale -start_ol -768 6272 moveto -2527 6272 lineto -4928 1970 lineto -4928 6272 lineto -6400 6272 lineto -6400 0 lineto -4641 0 lineto -2240 4302 lineto -2240 0 lineto -768 0 lineto -768 6272 lineto -end_ol grestore -gsave 12.571254 16.208600 translate 0.035278 -0.035278 scale -start_ol -2983 3712 moveto -2465 3712 2192 3357 conicto -1920 3003 1920 2336 conicto -1920 1669 2192 1314 conicto -2465 960 2983 960 conicto -3492 960 3762 1314 conicto -4032 1669 4032 2336 conicto -4032 3003 3762 3357 conicto -3492 3712 2983 3712 conicto -2982 4800 moveto -4199 4800 4883 4146 conicto -5568 3493 5568 2336 conicto -5568 1179 4883 525 conicto -4199 -128 2982 -128 conicto -1761 -128 1072 525 conicto -384 1179 384 2336 conicto -384 3493 1072 4146 conicto -1761 4800 2982 4800 conicto -end_ol grestore -gsave 13.350187 16.208600 translate 0.035278 -0.035278 scale -start_ol -2304 6016 moveto -2304 4672 lineto -3840 4672 lineto -3840 3584 lineto -2304 3584 lineto -2304 1634 lineto -2304 1313 2433 1200 conicto -2562 1088 2945 1088 conicto -3712 1088 lineto -3712 0 lineto -2432 0 lineto -1561 0 1196 371 conicto -832 743 832 1634 conicto -832 3584 lineto -64 3584 lineto -64 4672 lineto -832 4672 lineto -832 6016 lineto -2304 6016 lineto -end_ol grestore -gsave 13.892054 16.208600 translate 0.035278 -0.035278 scale -start_ol -2837 2112 moveto -2349 2112 2102 1947 conicto -1856 1782 1856 1461 conicto -1856 1166 2054 999 conicto -2253 832 2606 832 conicto -3046 832 3347 1146 conicto -3648 1461 3648 1934 conicto -3648 2112 lineto -2837 2112 lineto -5120 2680 moveto -5120 0 lineto -3648 0 lineto -3648 704 lineto -3344 269 2963 70 conicto -2583 -128 2037 -128 conicto -1301 -128 842 299 conicto -384 726 384 1406 conicto -384 2235 950 2621 conicto -1516 3008 2729 3008 conicto -3648 3008 lineto -3648 3134 lineto -3648 3500 3361 3670 conicto -3075 3840 2469 3840 conicto -1977 3840 1554 3744 conicto -1131 3648 768 3456 conicto -768 4608 lineto -1254 4703 1745 4751 conicto -2237 4800 2729 4800 conicto -3996 4800 4558 4301 conicto -5120 3802 5120 2680 conicto -end_ol grestore -gsave 14.654054 16.208600 translate 0.035278 -0.035278 scale -start_ol -2304 6016 moveto -2304 4672 lineto -3840 4672 lineto -3840 3584 lineto -2304 3584 lineto -2304 1634 lineto -2304 1313 2433 1200 conicto -2562 1088 2945 1088 conicto -3712 1088 lineto -3712 0 lineto -2432 0 lineto -1561 0 1196 371 conicto -832 743 832 1634 conicto -832 3584 lineto -64 3584 lineto -64 4672 lineto -832 4672 lineto -832 6016 lineto -2304 6016 lineto -end_ol grestore -gsave 15.195920 16.208600 translate 0.035278 -0.035278 scale -start_ol -704 4672 moveto -2176 4672 lineto -2176 0 lineto -704 0 lineto -704 4672 lineto -704 6528 moveto -2176 6528 lineto -2176 5248 lineto -704 5248 lineto -704 6528 lineto -end_ol grestore -gsave 15.585387 16.208600 translate 0.035278 -0.035278 scale -start_ol -2983 3712 moveto -2465 3712 2192 3357 conicto -1920 3003 1920 2336 conicto -1920 1669 2192 1314 conicto -2465 960 2983 960 conicto -3492 960 3762 1314 conicto -4032 1669 4032 2336 conicto -4032 3003 3762 3357 conicto -3492 3712 2983 3712 conicto -2982 4800 moveto -4199 4800 4883 4146 conicto -5568 3493 5568 2336 conicto -5568 1179 4883 525 conicto -4199 -128 2982 -128 conicto -1761 -128 1072 525 conicto -384 1179 384 2336 conicto -384 3493 1072 4146 conicto -1761 4800 2982 4800 conicto -end_ol grestore -gsave 16.364320 16.208600 translate 0.035278 -0.035278 scale -start_ol -5440 2837 moveto -5440 0 lineto -3968 0 lineto -3968 462 lineto -3968 2172 lineto -3968 2775 3939 3004 conicto -3910 3233 3840 3341 conicto -3749 3486 3590 3567 conicto -3432 3648 3230 3648 conicto -2738 3648 2457 3288 conicto -2176 2929 2176 2292 conicto -2176 0 lineto -704 0 lineto -704 4672 lineto -2176 4672 lineto -2176 3968 lineto -2521 4395 2907 4597 conicto -3294 4800 3761 4800 conicto -4586 4800 5013 4297 conicto -5440 3795 5440 2837 conicto -end_ol grestore -0.100000 slw -[1.000000] 0 sd -[0.200000] 0 sd -0 slc -n 14.303300 12.088300 m 14.272300 34.938300 l s -0.100000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slc -n 33.457500 12.088300 m 33.457500 34.838300 l s -gsave 2.985343 23.206800 translate 0.035278 -0.035278 scale -start_ol -2206 -768 moveto -0 6272 lineto -926 6272 lineto -3136 -768 lineto -2206 -768 lineto -end_ol grestore -gsave 3.400210 23.206800 translate 0.035278 -0.035278 scale -start_ol -3776 6528 moveto -3776 5568 lineto -2937 5568 lineto -2619 5568 2493 5445 conicto -2368 5322 2368 5020 conicto -2368 4672 lineto -3648 4672 lineto -3648 3584 lineto -2368 3584 lineto -2368 0 lineto -896 0 lineto -896 3584 lineto -128 3584 lineto -128 4672 lineto -896 4672 lineto -896 5020 lineto -896 5791 1316 6159 conicto -1737 6528 2619 6528 conicto -3776 6528 lineto -end_ol grestore -gsave 3.891277 23.206800 translate 0.035278 -0.035278 scale -start_ol -2983 3712 moveto -2465 3712 2192 3357 conicto -1920 3003 1920 2336 conicto -1920 1669 2192 1314 conicto -2465 960 2983 960 conicto -3492 960 3762 1314 conicto -4032 1669 4032 2336 conicto -4032 3003 3762 3357 conicto -3492 3712 2983 3712 conicto -2982 4800 moveto -4199 4800 4883 4146 conicto -5568 3493 5568 2336 conicto -5568 1179 4883 525 conicto -4199 -128 2982 -128 conicto -1761 -128 1072 525 conicto -384 1179 384 2336 conicto -384 3493 1072 4146 conicto -1761 4800 2982 4800 conicto -end_ol grestore -gsave 4.670210 23.206800 translate 0.035278 -0.035278 scale -start_ol -4160 3392 moveto -3963 3490 3768 3537 conicto -3574 3584 3377 3584 conicto -2800 3584 2488 3212 conicto -2176 2841 2176 2148 conicto -2176 0 lineto -704 0 lineto -704 4672 lineto -2176 4672 lineto -2176 3904 lineto -2465 4371 2839 4585 conicto -3214 4800 3737 4800 conicto -3813 4800 3901 4793 conicto -3989 4787 4156 4763 conicto -4160 3392 lineto -end_ol grestore -gsave 5.229010 23.206800 translate 0.035278 -0.035278 scale -start_ol -2837 2112 moveto -2349 2112 2102 1947 conicto -1856 1782 1856 1461 conicto -1856 1166 2054 999 conicto -2253 832 2606 832 conicto -3046 832 3347 1146 conicto -3648 1461 3648 1934 conicto -3648 2112 lineto -2837 2112 lineto -5120 2680 moveto -5120 0 lineto -3648 0 lineto -3648 704 lineto -3344 269 2963 70 conicto -2583 -128 2037 -128 conicto -1301 -128 842 299 conicto -384 726 384 1406 conicto -384 2235 950 2621 conicto -1516 3008 2729 3008 conicto -3648 3008 lineto -3648 3134 lineto -3648 3500 3361 3670 conicto -3075 3840 2469 3840 conicto -1977 3840 1554 3744 conicto -1131 3648 768 3456 conicto -768 4608 lineto -1254 4703 1745 4751 conicto -2237 4800 2729 4800 conicto -3996 4800 4558 4301 conicto -5120 3802 5120 2680 conicto -end_ol grestore -gsave 5.991010 23.206800 translate 0.035278 -0.035278 scale -start_ol -704 6528 moveto -2176 6528 lineto -2176 0 lineto -704 0 lineto -704 6528 lineto -end_ol grestore -gsave 6.380477 23.206800 translate 0.035278 -0.035278 scale -start_ol -704 6528 moveto -2176 6528 lineto -2176 0 lineto -704 0 lineto -704 6528 lineto -end_ol grestore -gsave 6.769943 23.206800 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave 7.167877 23.206800 translate 0.035278 -0.035278 scale -start_ol -1888 2390 moveto -192 4672 lineto -1784 4672 lineto -2746 3287 lineto -3720 4672 lineto -5312 4672 lineto -3615 2399 lineto -5376 0 lineto -3796 0 lineto -2746 1476 lineto -1708 0 lineto -128 0 lineto -1888 2390 lineto -end_ol grestore -gsave 7.896010 23.206800 translate 0.035278 -0.035278 scale -start_ol -896 1600 moveto -2368 1600 lineto -2368 0 lineto -896 0 lineto -896 1600 lineto -end_ol grestore -gsave 1.943943 24.706800 translate 0.035278 -0.035278 scale -start_ol -1888 2390 moveto -192 4672 lineto -1784 4672 lineto -2746 3287 lineto -3720 4672 lineto -5312 4672 lineto -3615 2399 lineto -5376 0 lineto -3796 0 lineto -2746 1476 lineto -1708 0 lineto -128 0 lineto -1888 2390 lineto -end_ol grestore -gsave 2.672077 24.706800 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave 3.070010 24.706800 translate 0.035278 -0.035278 scale -start_ol -4032 5440 moveto -4032 3200 lineto -6272 3200 lineto -6272 2240 lineto -4032 2240 lineto -4032 0 lineto -3072 0 lineto -3072 2240 lineto -832 2240 lineto -832 3200 lineto -3072 3200 lineto -3072 5440 lineto -4032 5440 lineto -end_ol grestore -gsave 4.018277 24.706800 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave 4.416210 24.706800 translate 0.035278 -0.035278 scale -start_ol -704 6528 moveto -2176 6528 lineto -2176 0 lineto -704 0 lineto -704 6528 lineto -end_ol grestore -gsave 4.805677 24.706800 translate 0.035278 -0.035278 scale -start_ol -5440 2837 moveto -5440 0 lineto -3968 0 lineto -3968 462 lineto -3968 2172 lineto -3968 2775 3939 3004 conicto -3910 3233 3840 3341 conicto -3749 3486 3590 3567 conicto -3432 3648 3230 3648 conicto -2738 3648 2457 3288 conicto -2176 2929 2176 2292 conicto -2176 0 lineto -704 0 lineto -704 4672 lineto -2176 4672 lineto -2176 3968 lineto -2521 4395 2907 4597 conicto -3294 4800 3761 4800 conicto -4586 4800 5013 4297 conicto -5440 3795 5440 2837 conicto -end_ol grestore -gsave 5.610010 24.706800 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave 6.007943 24.706800 translate 0.035278 -0.035278 scale -start_ol -1024 1152 moveto -2432 1152 lineto -2432 5120 lineto -960 4800 lineto -960 5952 lineto -2432 6272 lineto -3968 6272 lineto -3968 1152 lineto -5376 1152 lineto -5376 0 lineto -1024 0 lineto -1024 1152 lineto -end_ol grestore -gsave 6.795343 24.706800 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave 7.193277 24.706800 translate 0.035278 -0.035278 scale -start_ol -896 4096 moveto -6272 4096 lineto -6272 3136 lineto -896 3136 lineto -896 4096 lineto -896 2240 moveto -6272 2240 lineto -6272 1280 lineto -896 1280 lineto -896 2240 lineto -end_ol grestore -gsave 8.141543 24.706800 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave 8.539477 24.706800 translate 0.035278 -0.035278 scale -start_ol -1888 2390 moveto -192 4672 lineto -1784 4672 lineto -2746 3287 lineto -3720 4672 lineto -5312 4672 lineto -3615 2399 lineto -5376 0 lineto -3796 0 lineto -2746 1476 lineto -1708 0 lineto -128 0 lineto -1888 2390 lineto -end_ol grestore -gsave 2.862513 13.189700 translate 0.035278 -0.035278 scale -start_ol -3264 -1088 moveto -2006 -1088 lineto -1372 -56 1070 873 conicto -768 1802 768 2716 conicto -768 3630 1072 4567 conicto -1377 5505 2006 6528 conicto -3264 6528 lineto -2720 5539 2448 4593 conicto -2176 3647 2176 2725 conicto -2176 1802 2446 854 conicto -2716 -94 3264 -1088 conicto -end_ol grestore -gsave 3.378980 13.189700 translate 0.035278 -0.035278 scale -start_ol -768 6272 moveto -2368 6272 lineto -2368 1216 lineto -5184 1216 lineto -5184 0 lineto -768 0 lineto -768 6272 lineto -end_ol grestore -gsave 4.098647 13.189700 translate 0.035278 -0.035278 scale -start_ol -5440 2334 moveto -5440 1920 lineto -1856 1920 lineto -1912 1377 2250 1104 conicto -2588 832 3193 832 conicto -3682 832 4195 975 conicto -4708 1118 5248 1408 conicto -5248 256 lineto -4710 66 4172 -31 conicto -3635 -128 3098 -128 conicto -1811 -128 1097 519 conicto -384 1167 384 2336 conicto -384 3484 1080 4142 conicto -1776 4800 2996 4800 conicto -4106 4800 4773 4128 conicto -5440 3457 5440 2334 conicto -3968 2816 moveto -3968 3276 3700 3558 conicto -3432 3840 3000 3840 conicto -2531 3840 2238 3576 conicto -1946 3313 1874 2816 conicto -3968 2816 lineto -end_ol grestore -gsave 4.869113 13.189700 translate 0.035278 -0.035278 scale -start_ol -128 4672 moveto -1621 4672 lineto -2784 1443 lineto -3942 4672 lineto -5440 4672 lineto -3601 0 lineto -1962 0 lineto -128 4672 lineto -end_ol grestore -gsave 5.605713 13.189700 translate 0.035278 -0.035278 scale -start_ol -5440 2334 moveto -5440 1920 lineto -1856 1920 lineto -1912 1377 2250 1104 conicto -2588 832 3193 832 conicto -3682 832 4195 975 conicto -4708 1118 5248 1408 conicto -5248 256 lineto -4710 66 4172 -31 conicto -3635 -128 3098 -128 conicto -1811 -128 1097 519 conicto -384 1167 384 2336 conicto -384 3484 1080 4142 conicto -1776 4800 2996 4800 conicto -4106 4800 4773 4128 conicto -5440 3457 5440 2334 conicto -3968 2816 moveto -3968 3276 3700 3558 conicto -3432 3840 3000 3840 conicto -2531 3840 2238 3576 conicto -1946 3313 1874 2816 conicto -3968 2816 lineto -end_ol grestore -gsave 6.376180 13.189700 translate 0.035278 -0.035278 scale -start_ol -704 6528 moveto -2176 6528 lineto -2176 0 lineto -704 0 lineto -704 6528 lineto -end_ol grestore -gsave 6.765647 13.189700 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave 7.163580 13.189700 translate 0.035278 -0.035278 scale -start_ol -3904 3148 moveto -3904 4339 3684 4825 conicto -3464 5312 2946 5312 conicto -2427 5312 2205 4825 conicto -1984 4339 1984 3148 conicto -1984 1945 2205 1452 conicto -2427 960 2946 960 conicto -3460 960 3682 1452 conicto -3904 1945 3904 3148 conicto -5504 3134 moveto -5504 1570 4837 721 conicto -4171 -128 2946 -128 conicto -1717 -128 1050 721 conicto -384 1570 384 3134 conicto -384 4701 1050 5550 conicto -1717 6400 2946 6400 conicto -4171 6400 4837 5550 conicto -5504 4701 5504 3134 conicto -end_ol grestore -gsave 7.950980 13.189700 translate 0.035278 -0.035278 scale -start_ol -640 -1088 moveto -1184 -94 1456 854 conicto -1728 1802 1728 2725 conicto -1728 3647 1456 4593 conicto -1184 5539 640 6528 conicto -1897 6528 lineto -2527 5505 2831 4567 conicto -3136 3630 3136 2716 conicto -3136 1802 2833 873 conicto -2531 -56 1897 -1088 conicto -640 -1088 lineto -end_ol grestore -gsave 2.777847 16.025000 translate 0.035278 -0.035278 scale -start_ol -5760 330 moveto -5317 103 4836 -12 conicto -4355 -128 3832 -128 conicto -2272 -128 1360 750 conicto -448 1629 448 3134 conicto -448 4643 1360 5521 conicto -2272 6400 3832 6400 conicto -4355 6400 4836 6284 conicto -5317 6169 5760 5941 conicto -5760 4672 lineto -5312 4970 4877 5109 conicto -4442 5248 3961 5248 conicto -3099 5248 2605 4685 conicto -2112 4122 2112 3134 conicto -2112 2149 2605 1586 conicto -3099 1024 3961 1024 conicto -4442 1024 4877 1163 conicto -5312 1302 5760 1600 conicto -5760 330 lineto -end_ol grestore -gsave 3.607580 16.025000 translate 0.035278 -0.035278 scale -start_ol -2983 3712 moveto -2465 3712 2192 3357 conicto -1920 3003 1920 2336 conicto -1920 1669 2192 1314 conicto -2465 960 2983 960 conicto -3492 960 3762 1314 conicto -4032 1669 4032 2336 conicto -4032 3003 3762 3357 conicto -3492 3712 2983 3712 conicto -2982 4800 moveto -4199 4800 4883 4146 conicto -5568 3493 5568 2336 conicto -5568 1179 4883 525 conicto -4199 -128 2982 -128 conicto -1761 -128 1072 525 conicto -384 1179 384 2336 conicto -384 3493 1072 4146 conicto -1761 4800 2982 4800 conicto -end_ol grestore -gsave 4.386513 16.025000 translate 0.035278 -0.035278 scale -start_ol -5440 2837 moveto -5440 0 lineto -3968 0 lineto -3968 462 lineto -3968 2172 lineto -3968 2775 3939 3004 conicto -3910 3233 3840 3341 conicto -3749 3486 3590 3567 conicto -3432 3648 3230 3648 conicto -2738 3648 2457 3288 conicto -2176 2929 2176 2292 conicto -2176 0 lineto -704 0 lineto -704 4672 lineto -2176 4672 lineto -2176 3968 lineto -2521 4395 2907 4597 conicto -3294 4800 3761 4800 conicto -4586 4800 5013 4297 conicto -5440 3795 5440 2837 conicto -end_ol grestore -gsave 5.190847 16.025000 translate 0.035278 -0.035278 scale -start_ol -4544 4544 moveto -4544 3328 lineto -4233 3524 3920 3618 conicto -3607 3712 3271 3712 conicto -2632 3712 2276 3349 conicto -1920 2986 1920 2336 conicto -1920 1685 2276 1322 conicto -2632 960 3271 960 conicto -3629 960 3950 1057 conicto -4271 1154 4544 1344 conicto -4544 128 lineto -4190 0 3826 -64 conicto -3463 -128 3096 -128 conicto -1823 -128 1103 523 conicto -384 1175 384 2336 conicto -384 3497 1103 4148 conicto -1823 4800 3096 4800 conicto -3467 4800 3826 4736 conicto -4186 4672 4544 4544 conicto -end_ol grestore -gsave 5.859713 16.025000 translate 0.035278 -0.035278 scale -start_ol -4160 3392 moveto -3963 3490 3768 3537 conicto -3574 3584 3377 3584 conicto -2800 3584 2488 3212 conicto -2176 2841 2176 2148 conicto -2176 0 lineto -704 0 lineto -704 4672 lineto -2176 4672 lineto -2176 3904 lineto -2465 4371 2839 4585 conicto -3214 4800 3737 4800 conicto -3813 4800 3901 4793 conicto -3989 4787 4156 4763 conicto -4160 3392 lineto -end_ol grestore -gsave 6.418513 16.025000 translate 0.035278 -0.035278 scale -start_ol -5440 2334 moveto -5440 1920 lineto -1856 1920 lineto -1912 1377 2250 1104 conicto -2588 832 3193 832 conicto -3682 832 4195 975 conicto -4708 1118 5248 1408 conicto -5248 256 lineto -4710 66 4172 -31 conicto -3635 -128 3098 -128 conicto -1811 -128 1097 519 conicto -384 1167 384 2336 conicto -384 3484 1080 4142 conicto -1776 4800 2996 4800 conicto -4106 4800 4773 4128 conicto -5440 3457 5440 2334 conicto -3968 2816 moveto -3968 3276 3700 3558 conicto -3432 3840 3000 3840 conicto -2531 3840 2238 3576 conicto -1946 3313 1874 2816 conicto -3968 2816 lineto -end_ol grestore -gsave 7.188980 16.025000 translate 0.035278 -0.035278 scale -start_ol -2304 6016 moveto -2304 4672 lineto -3840 4672 lineto -3840 3584 lineto -2304 3584 lineto -2304 1634 lineto -2304 1313 2433 1200 conicto -2562 1088 2945 1088 conicto -3712 1088 lineto -3712 0 lineto -2432 0 lineto -1561 0 1196 371 conicto -832 743 832 1634 conicto -832 3584 lineto -64 3584 lineto -64 4672 lineto -832 4672 lineto -832 6016 lineto -2304 6016 lineto -end_ol grestore -gsave 7.730847 16.025000 translate 0.035278 -0.035278 scale -start_ol -5440 2334 moveto -5440 1920 lineto -1856 1920 lineto -1912 1377 2250 1104 conicto -2588 832 3193 832 conicto -3682 832 4195 975 conicto -4708 1118 5248 1408 conicto -5248 256 lineto -4710 66 4172 -31 conicto -3635 -128 3098 -128 conicto -1811 -128 1097 519 conicto -384 1167 384 2336 conicto -384 3484 1080 4142 conicto -1776 4800 2996 4800 conicto -4106 4800 4773 4128 conicto -5440 3457 5440 2334 conicto -3968 2816 moveto -3968 3276 3700 3558 conicto -3432 3840 3000 3840 conicto -2531 3840 2238 3576 conicto -1946 3313 1874 2816 conicto -3968 2816 lineto -end_ol grestore -gsave 3.497513 17.525000 translate 0.035278 -0.035278 scale -start_ol -4352 4608 moveto -4352 3456 lineto -3893 3648 3466 3744 conicto -3039 3840 2659 3840 conicto -2252 3840 2054 3733 conicto -1856 3627 1856 3405 conicto -1856 3225 2002 3128 conicto -2149 3032 2528 2986 conicto -2775 2948 lineto -3897 2799 4284 2459 conicto -4672 2120 4672 1395 conicto -4672 635 4122 253 conicto -3573 -128 2482 -128 conicto -2020 -128 1526 -64 conicto -1033 0 512 128 conicto -512 1280 lineto -959 1056 1428 944 conicto -1898 832 2383 832 conicto -2821 832 3042 957 conicto -3264 1083 3264 1331 conicto -3264 1538 3121 1640 conicto -2978 1742 2553 1798 conicto -2306 1833 lineto -1276 1958 862 2298 conicto -448 2639 448 3331 conicto -448 4078 954 4439 conicto -1461 4800 2506 4800 conicto -2916 4800 3368 4753 conicto -3821 4707 4352 4608 conicto -end_ol grestore -gsave 4.174847 17.525000 translate 0.035278 -0.035278 scale -start_ol -128 4672 moveto -1622 4672 lineto -2878 1502 lineto -3946 4672 lineto -5440 4672 lineto -3475 -472 lineto -3179 -1242 2784 -1549 conicto -2390 -1856 1743 -1856 conicto -878 -1856 lineto -878 -896 lineto -1346 -896 lineto -1727 -896 1899 -770 conicto -2072 -645 2168 -320 conicto -2210 -190 lineto -128 4672 lineto -end_ol grestore -gsave 4.911447 17.525000 translate 0.035278 -0.035278 scale -start_ol -5440 2837 moveto -5440 0 lineto -3968 0 lineto -3968 462 lineto -3968 2172 lineto -3968 2775 3939 3004 conicto -3910 3233 3840 3341 conicto -3749 3486 3590 3567 conicto -3432 3648 3230 3648 conicto -2738 3648 2457 3288 conicto -2176 2929 2176 2292 conicto -2176 0 lineto -704 0 lineto -704 4672 lineto -2176 4672 lineto -2176 3968 lineto -2521 4395 2907 4597 conicto -3294 4800 3761 4800 conicto -4586 4800 5013 4297 conicto -5440 3795 5440 2837 conicto -end_ol grestore -gsave 5.715780 17.525000 translate 0.035278 -0.035278 scale -start_ol -2304 6016 moveto -2304 4672 lineto -3840 4672 lineto -3840 3584 lineto -2304 3584 lineto -2304 1634 lineto -2304 1313 2433 1200 conicto -2562 1088 2945 1088 conicto -3712 1088 lineto -3712 0 lineto -2432 0 lineto -1561 0 1196 371 conicto -832 743 832 1634 conicto -832 3584 lineto -64 3584 lineto -64 4672 lineto -832 4672 lineto -832 6016 lineto -2304 6016 lineto -end_ol grestore -gsave 6.257647 17.525000 translate 0.035278 -0.035278 scale -start_ol -2837 2112 moveto -2349 2112 2102 1947 conicto -1856 1782 1856 1461 conicto -1856 1166 2054 999 conicto -2253 832 2606 832 conicto -3046 832 3347 1146 conicto -3648 1461 3648 1934 conicto -3648 2112 lineto -2837 2112 lineto -5120 2680 moveto -5120 0 lineto -3648 0 lineto -3648 704 lineto -3344 269 2963 70 conicto -2583 -128 2037 -128 conicto -1301 -128 842 299 conicto -384 726 384 1406 conicto -384 2235 950 2621 conicto -1516 3008 2729 3008 conicto -3648 3008 lineto -3648 3134 lineto -3648 3500 3361 3670 conicto -3075 3840 2469 3840 conicto -1977 3840 1554 3744 conicto -1131 3648 768 3456 conicto -768 4608 lineto -1254 4703 1745 4751 conicto -2237 4800 2729 4800 conicto -3996 4800 4558 4301 conicto -5120 3802 5120 2680 conicto -end_ol grestore -gsave 7.019647 17.525000 translate 0.035278 -0.035278 scale -start_ol -1888 2390 moveto -192 4672 lineto -1784 4672 lineto -2746 3287 lineto -3720 4672 lineto -5312 4672 lineto -3615 2399 lineto -5376 0 lineto -3796 0 lineto -2746 1476 lineto -1708 0 lineto -128 0 lineto -1888 2390 lineto -end_ol grestore -gsave 33.633900 43.935100 translate 0.035278 -0.035278 scale -start_ol -512 4224 moveto -1721 4224 lineto -3264 1327 lineto -3264 4224 lineto -4288 4224 lineto -4288 0 lineto -3080 0 lineto -1536 2897 lineto -1536 0 lineto -512 0 lineto -512 4224 lineto -end_ol grestore -gsave 34.268900 43.935100 translate 0.035278 -0.035278 scale -start_ol -1911 1472 moveto -1597 1472 1438 1356 conicto -1280 1241 1280 1016 conicto -1280 809 1407 692 conicto -1535 576 1762 576 conicto -2045 576 2238 796 conicto -2432 1017 2432 1347 conicto -2432 1472 lineto -1911 1472 lineto -3456 1836 moveto -3456 0 lineto -2432 0 lineto -2432 512 lineto -2229 211 1975 73 conicto -1721 -64 1358 -64 conicto -867 -64 561 223 conicto -256 511 256 969 conicto -256 1527 638 1787 conicto -1021 2048 1840 2048 conicto -2432 2048 lineto -2432 2119 lineto -2432 2347 2241 2453 conicto -2050 2560 1646 2560 conicto -1318 2560 1036 2496 conicto -754 2432 512 2304 conicto -512 3072 lineto -842 3134 1174 3167 conicto -1507 3200 1840 3200 conicto -2697 3200 3076 2879 conicto -3456 2559 3456 1836 conicto -end_ol grestore -gsave 34.785367 43.935100 translate 0.035278 -0.035278 scale -start_ol -3468 2617 moveto -3661 2901 3926 3050 conicto -4192 3200 4510 3200 conicto -5058 3200 5345 2865 conicto -5632 2530 5632 1891 conicto -5632 0 lineto -4608 0 lineto -4608 1620 lineto -4611 1655 4612 1694 conicto -4613 1733 4613 1805 conicto -4613 2135 4514 2283 conicto -4415 2432 4194 2432 conicto -3904 2432 3747 2199 conicto -3590 1966 3584 1525 conicto -3584 0 lineto -2560 0 lineto -2560 1620 lineto -2560 2135 2469 2283 conicto -2378 2432 2145 2432 conicto -1854 2432 1695 2197 conicto -1536 1963 1536 1528 conicto -1536 0 lineto -512 0 lineto -512 3136 lineto -1536 3136 lineto -1536 2688 lineto -1723 2943 1966 3071 conicto -2209 3200 2502 3200 conicto -2831 3200 3084 3046 conicto -3338 2893 3468 2617 conicto -end_ol grestore -gsave 35.581233 43.935100 translate 0.035278 -0.035278 scale -start_ol -3648 1575 moveto -3648 1280 lineto -1280 1280 lineto -1318 928 1540 752 conicto -1763 576 2163 576 conicto -2486 576 2824 671 conicto -3163 766 3520 960 conicto -3520 192 lineto -3159 65 2798 0 conicto -2438 -64 2076 -64 conicto -1213 -64 734 365 conicto -256 794 256 1568 conicto -256 2329 722 2764 conicto -1189 3200 2008 3200 conicto -2754 3200 3201 2758 conicto -3648 2316 3648 1575 conicto -2624 1920 moveto -2624 2207 2453 2383 conicto -2283 2560 2007 2560 conicto -1710 2560 1523 2395 conicto -1337 2230 1291 1920 conicto -2624 1920 lineto -end_ol grestore -gsave 36.097700 43.935100 translate 0.035278 -0.035278 scale -start_ol -2176 -768 moveto -1357 -768 lineto -925 -75 718 549 conicto -512 1174 512 1789 conicto -512 2404 719 3034 conicto -927 3664 1357 4352 conicto -2176 4352 lineto -1824 3686 1648 3050 conicto -1472 2415 1472 1794 conicto -1472 1174 1646 537 conicto -1821 -100 2176 -768 conicto -end_ol grestore -gsave 36.444833 43.935100 translate 0.035278 -0.035278 scale -start_ol -1253 1605 moveto -128 3136 lineto -1183 3136 lineto -1820 2206 lineto -2466 3136 lineto -3520 3136 lineto -2396 1610 lineto -3584 0 lineto -2525 0 lineto -1820 992 lineto -1124 0 lineto -64 0 lineto -1253 1605 lineto -end_ol grestore -gsave 36.935900 43.935100 translate 0.035278 -0.035278 scale -start_ol -448 -768 moveto -800 -100 976 537 conicto -1152 1174 1152 1794 conicto -1152 2415 976 3050 conicto -800 3686 448 4352 conicto -1268 4352 lineto -1697 3664 1904 3034 conicto -2112 2404 2112 1789 conicto -2112 1174 1906 549 conicto -1700 -75 1268 -768 conicto -448 -768 lineto -end_ol grestore -gsave 4.677310 34.623300 translate 0.035278 -0.035278 scale -start_ol -3200 7808 moveto -2518 6645 2187 5508 conicto -1856 4371 1856 3205 conicto -1856 2038 2189 893 conicto -2523 -251 3200 -1408 conicto -2385 -1408 lineto -1638 -221 1267 926 conicto -896 2073 896 3205 conicto -896 4331 1264 5473 conicto -1633 6615 2385 7808 conicto -3200 7808 lineto -end_ol grestore -gsave 5.210710 34.623300 translate 0.035278 -0.035278 scale -start_ol -3548 2880 moveto -2412 2880 1974 2619 conicto -1536 2358 1536 1730 conicto -1536 1228 1864 934 conicto -2193 640 2758 640 conicto -3537 640 4008 1195 conicto -4480 1751 4480 2672 conicto -4480 2880 lineto -3548 2880 lineto -5376 3251 moveto -5376 0 lineto -4480 0 lineto -4480 896 lineto -4163 371 3689 121 conicto -3215 -128 2530 -128 conicto -1663 -128 1151 358 conicto -640 845 640 1662 conicto -640 2616 1274 3100 conicto -1908 3584 3166 3584 conicto -4480 3584 lineto -4480 3674 lineto -4480 4303 4055 4647 conicto -3631 4992 2864 4992 conicto -2376 4992 1913 4880 conicto -1451 4768 1024 4544 conicto -1024 5376 lineto -1534 5568 2012 5664 conicto -2491 5760 2943 5760 conicto -4168 5760 4772 5137 conicto -5376 4515 5376 3251 conicto -end_ol grestore -gsave 6.048910 34.623300 translate 0.035278 -0.035278 scale -start_ol -832 7808 moveto -1647 7808 lineto -2394 6615 2765 5473 conicto -3136 4331 3136 3205 conicto -3136 2073 2765 926 conicto -2394 -221 1647 -1408 conicto -832 -1408 lineto -1509 -251 1842 893 conicto -2176 2038 2176 3205 conicto -2176 4371 1842 5508 conicto -1509 6645 832 7808 conicto -end_ol grestore -gsave 23.156000 34.623300 translate 0.035278 -0.035278 scale -start_ol -3200 7808 moveto -2518 6645 2187 5508 conicto -1856 4371 1856 3205 conicto -1856 2038 2189 893 conicto -2523 -251 3200 -1408 conicto -2385 -1408 lineto -1638 -221 1267 926 conicto -896 2073 896 3205 conicto -896 4331 1264 5473 conicto -1633 6615 2385 7808 conicto -3200 7808 lineto -end_ol grestore -gsave 23.689400 34.623300 translate 0.035278 -0.035278 scale -start_ol -5056 2816 moveto -5056 3834 4629 4413 conicto -4202 4992 3455 4992 conicto -2710 4992 2283 4413 conicto -1856 3834 1856 2816 conicto -1856 1798 2283 1219 conicto -2710 640 3455 640 conicto -4202 640 4629 1219 conicto -5056 1798 5056 2816 conicto -1856 4800 moveto -2151 5287 2601 5523 conicto -3052 5760 3679 5760 conicto -4717 5760 5366 4949 conicto -6016 4138 6016 2816 conicto -6016 1494 5366 683 conicto -4717 -128 3679 -128 conicto -3052 -128 2601 108 conicto -2151 345 1856 832 conicto -1856 0 lineto -960 0 lineto -960 7808 lineto -1856 7808 lineto -1856 4800 lineto -end_ol grestore -gsave 24.553000 34.623300 translate 0.035278 -0.035278 scale -start_ol -832 7808 moveto -1647 7808 lineto -2394 6615 2765 5473 conicto -3136 4331 3136 3205 conicto -3136 2073 2765 926 conicto -2394 -221 1647 -1408 conicto -832 -1408 lineto -1509 -251 1842 893 conicto -2176 2038 2176 3205 conicto -2176 4371 1842 5508 conicto -1509 6645 832 7808 conicto -end_ol grestore -gsave 45.252100 34.623300 translate 0.035278 -0.035278 scale -start_ol -3200 7808 moveto -2518 6645 2187 5508 conicto -1856 4371 1856 3205 conicto -1856 2038 2189 893 conicto -2523 -251 3200 -1408 conicto -2385 -1408 lineto -1638 -221 1267 926 conicto -896 2073 896 3205 conicto -896 4331 1264 5473 conicto -1633 6615 2385 7808 conicto -3200 7808 lineto -end_ol grestore -gsave 45.785500 34.623300 translate 0.035278 -0.035278 scale -start_ol -5056 5440 moveto -5056 4544 lineto -4660 4769 4260 4880 conicto -3861 4992 3453 4992 conicto -2543 4992 2039 4420 conicto -1536 3849 1536 2815 conicto -1536 1783 2039 1211 conicto -2543 640 3453 640 conicto -3861 640 4260 751 conicto -4660 863 5056 1088 conicto -5056 256 lineto -4667 64 4250 -32 conicto -3833 -128 3362 -128 conicto -2083 -128 1329 668 conicto -576 1464 576 2816 conicto -576 4188 1337 4974 conicto -2098 5760 3423 5760 conicto -3853 5760 4262 5680 conicto -4672 5600 5056 5440 conicto -end_ol grestore -gsave 46.539033 34.623300 translate 0.035278 -0.035278 scale -start_ol -832 7808 moveto -1647 7808 lineto -2394 6615 2765 5473 conicto -3136 4331 3136 3205 conicto -3136 2073 2765 926 conicto -2394 -221 1647 -1408 conicto -832 -1408 lineto -1509 -251 1842 893 conicto -2176 2038 2176 3205 conicto -2176 4371 1842 5508 conicto -1509 6645 832 7808 conicto -end_ol grestore -gsave 21.317833 13.210900 translate 0.035278 -0.035278 scale -start_ol -3264 -1088 moveto -2006 -1088 lineto -1372 -56 1070 873 conicto -768 1802 768 2716 conicto -768 3630 1072 4567 conicto -1377 5505 2006 6528 conicto -3264 6528 lineto -2720 5539 2448 4593 conicto -2176 3647 2176 2725 conicto -2176 1802 2446 854 conicto -2716 -94 3264 -1088 conicto -end_ol grestore -gsave 21.834300 13.210900 translate 0.035278 -0.035278 scale -start_ol -768 6272 moveto -2368 6272 lineto -2368 1216 lineto -5184 1216 lineto -5184 0 lineto -768 0 lineto -768 6272 lineto -end_ol grestore -gsave 22.553967 13.210900 translate 0.035278 -0.035278 scale -start_ol -5440 2334 moveto -5440 1920 lineto -1856 1920 lineto -1912 1377 2250 1104 conicto -2588 832 3193 832 conicto -3682 832 4195 975 conicto -4708 1118 5248 1408 conicto -5248 256 lineto -4710 66 4172 -31 conicto -3635 -128 3098 -128 conicto -1811 -128 1097 519 conicto -384 1167 384 2336 conicto -384 3484 1080 4142 conicto -1776 4800 2996 4800 conicto -4106 4800 4773 4128 conicto -5440 3457 5440 2334 conicto -3968 2816 moveto -3968 3276 3700 3558 conicto -3432 3840 3000 3840 conicto -2531 3840 2238 3576 conicto -1946 3313 1874 2816 conicto -3968 2816 lineto -end_ol grestore -gsave 23.324433 13.210900 translate 0.035278 -0.035278 scale -start_ol -128 4672 moveto -1621 4672 lineto -2784 1443 lineto -3942 4672 lineto -5440 4672 lineto -3601 0 lineto -1962 0 lineto -128 4672 lineto -end_ol grestore -gsave 24.061033 13.210900 translate 0.035278 -0.035278 scale -start_ol -5440 2334 moveto -5440 1920 lineto -1856 1920 lineto -1912 1377 2250 1104 conicto -2588 832 3193 832 conicto -3682 832 4195 975 conicto -4708 1118 5248 1408 conicto -5248 256 lineto -4710 66 4172 -31 conicto -3635 -128 3098 -128 conicto -1811 -128 1097 519 conicto -384 1167 384 2336 conicto -384 3484 1080 4142 conicto -1776 4800 2996 4800 conicto -4106 4800 4773 4128 conicto -5440 3457 5440 2334 conicto -3968 2816 moveto -3968 3276 3700 3558 conicto -3432 3840 3000 3840 conicto -2531 3840 2238 3576 conicto -1946 3313 1874 2816 conicto -3968 2816 lineto -end_ol grestore -gsave 24.831500 13.210900 translate 0.035278 -0.035278 scale -start_ol -704 6528 moveto -2176 6528 lineto -2176 0 lineto -704 0 lineto -704 6528 lineto -end_ol grestore -gsave 25.220967 13.210900 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave 25.618900 13.210900 translate 0.035278 -0.035278 scale -start_ol -2490 1216 moveto -5248 1216 lineto -5248 0 lineto -704 0 lineto -704 1216 lineto -2983 3241 lineto -3290 3519 3437 3783 conicto -3584 4047 3584 4333 conicto -3584 4774 3287 5043 conicto -2991 5312 2498 5312 conicto -2119 5312 1668 5151 conicto -1218 4990 704 4672 conicto -704 6016 lineto -1248 6204 1779 6302 conicto -2310 6400 2821 6400 conicto -3941 6400 4562 5906 conicto -5184 5412 5184 4529 conicto -5184 4018 4923 3577 conicto -4663 3136 3828 2395 conicto -2490 1216 lineto -end_ol grestore -gsave 26.406300 13.210900 translate 0.035278 -0.035278 scale -start_ol -640 -1088 moveto -1184 -94 1456 854 conicto -1728 1802 1728 2725 conicto -1728 3647 1456 4593 conicto -1184 5539 640 6528 conicto -1897 6528 lineto -2527 5505 2831 4567 conicto -3136 3630 3136 2716 conicto -3136 1802 2833 873 conicto -2531 -56 1897 -1088 conicto -640 -1088 lineto -end_ol grestore -gsave 21.550667 16.025000 translate 0.035278 -0.035278 scale -start_ol -5760 330 moveto -5317 103 4836 -12 conicto -4355 -128 3832 -128 conicto -2272 -128 1360 750 conicto -448 1629 448 3134 conicto -448 4643 1360 5521 conicto -2272 6400 3832 6400 conicto -4355 6400 4836 6284 conicto -5317 6169 5760 5941 conicto -5760 4672 lineto -5312 4970 4877 5109 conicto -4442 5248 3961 5248 conicto -3099 5248 2605 4685 conicto -2112 4122 2112 3134 conicto -2112 2149 2605 1586 conicto -3099 1024 3961 1024 conicto -4442 1024 4877 1163 conicto -5312 1302 5760 1600 conicto -5760 330 lineto -end_ol grestore -gsave 22.380400 16.025000 translate 0.035278 -0.035278 scale -start_ol -2983 3712 moveto -2465 3712 2192 3357 conicto -1920 3003 1920 2336 conicto -1920 1669 2192 1314 conicto -2465 960 2983 960 conicto -3492 960 3762 1314 conicto -4032 1669 4032 2336 conicto -4032 3003 3762 3357 conicto -3492 3712 2983 3712 conicto -2982 4800 moveto -4199 4800 4883 4146 conicto -5568 3493 5568 2336 conicto -5568 1179 4883 525 conicto -4199 -128 2982 -128 conicto -1761 -128 1072 525 conicto -384 1179 384 2336 conicto -384 3493 1072 4146 conicto -1761 4800 2982 4800 conicto -end_ol grestore -gsave 23.159333 16.025000 translate 0.035278 -0.035278 scale -start_ol -5440 2837 moveto -5440 0 lineto -3968 0 lineto -3968 462 lineto -3968 2172 lineto -3968 2775 3939 3004 conicto -3910 3233 3840 3341 conicto -3749 3486 3590 3567 conicto -3432 3648 3230 3648 conicto -2738 3648 2457 3288 conicto -2176 2929 2176 2292 conicto -2176 0 lineto -704 0 lineto -704 4672 lineto -2176 4672 lineto -2176 3968 lineto -2521 4395 2907 4597 conicto -3294 4800 3761 4800 conicto -4586 4800 5013 4297 conicto -5440 3795 5440 2837 conicto -end_ol grestore -gsave 23.963667 16.025000 translate 0.035278 -0.035278 scale -start_ol -2304 6016 moveto -2304 4672 lineto -3840 4672 lineto -3840 3584 lineto -2304 3584 lineto -2304 1634 lineto -2304 1313 2433 1200 conicto -2562 1088 2945 1088 conicto -3712 1088 lineto -3712 0 lineto -2432 0 lineto -1561 0 1196 371 conicto -832 743 832 1634 conicto -832 3584 lineto -64 3584 lineto -64 4672 lineto -832 4672 lineto -832 6016 lineto -2304 6016 lineto -end_ol grestore -gsave 24.505533 16.025000 translate 0.035278 -0.035278 scale -start_ol -5440 2334 moveto -5440 1920 lineto -1856 1920 lineto -1912 1377 2250 1104 conicto -2588 832 3193 832 conicto -3682 832 4195 975 conicto -4708 1118 5248 1408 conicto -5248 256 lineto -4710 66 4172 -31 conicto -3635 -128 3098 -128 conicto -1811 -128 1097 519 conicto -384 1167 384 2336 conicto -384 3484 1080 4142 conicto -1776 4800 2996 4800 conicto -4106 4800 4773 4128 conicto -5440 3457 5440 2334 conicto -3968 2816 moveto -3968 3276 3700 3558 conicto -3432 3840 3000 3840 conicto -2531 3840 2238 3576 conicto -1946 3313 1874 2816 conicto -3968 2816 lineto -end_ol grestore -gsave 25.276000 16.025000 translate 0.035278 -0.035278 scale -start_ol -5440 2837 moveto -5440 0 lineto -3968 0 lineto -3968 462 lineto -3968 2172 lineto -3968 2775 3939 3004 conicto -3910 3233 3840 3341 conicto -3749 3486 3590 3567 conicto -3432 3648 3230 3648 conicto -2738 3648 2457 3288 conicto -2176 2929 2176 2292 conicto -2176 0 lineto -704 0 lineto -704 4672 lineto -2176 4672 lineto -2176 3968 lineto -2521 4395 2907 4597 conicto -3294 4800 3761 4800 conicto -4586 4800 5013 4297 conicto -5440 3795 5440 2837 conicto -end_ol grestore -gsave 26.080333 16.025000 translate 0.035278 -0.035278 scale -start_ol -2304 6016 moveto -2304 4672 lineto -3840 4672 lineto -3840 3584 lineto -2304 3584 lineto -2304 1634 lineto -2304 1313 2433 1200 conicto -2562 1088 2945 1088 conicto -3712 1088 lineto -3712 0 lineto -2432 0 lineto -1561 0 1196 371 conicto -832 743 832 1634 conicto -832 3584 lineto -64 3584 lineto -64 4672 lineto -832 4672 lineto -832 6016 lineto -2304 6016 lineto -end_ol grestore -gsave 22.592067 17.525000 translate 0.035278 -0.035278 scale -start_ol -704 6528 moveto -2176 6528 lineto -2176 0 lineto -704 0 lineto -704 6528 lineto -end_ol grestore -gsave 22.981533 17.525000 translate 0.035278 -0.035278 scale -start_ol -5440 2334 moveto -5440 1920 lineto -1856 1920 lineto -1912 1377 2250 1104 conicto -2588 832 3193 832 conicto -3682 832 4195 975 conicto -4708 1118 5248 1408 conicto -5248 256 lineto -4710 66 4172 -31 conicto -3635 -128 3098 -128 conicto -1811 -128 1097 519 conicto -384 1167 384 2336 conicto -384 3484 1080 4142 conicto -1776 4800 2996 4800 conicto -4106 4800 4773 4128 conicto -5440 3457 5440 2334 conicto -3968 2816 moveto -3968 3276 3700 3558 conicto -3432 3840 3000 3840 conicto -2531 3840 2238 3576 conicto -1946 3313 1874 2816 conicto -3968 2816 lineto -end_ol grestore -gsave 23.752000 17.525000 translate 0.035278 -0.035278 scale -start_ol -128 4672 moveto -1621 4672 lineto -2784 1443 lineto -3942 4672 lineto -5440 4672 lineto -3601 0 lineto -1962 0 lineto -128 4672 lineto -end_ol grestore -gsave 24.488600 17.525000 translate 0.035278 -0.035278 scale -start_ol -5440 2334 moveto -5440 1920 lineto -1856 1920 lineto -1912 1377 2250 1104 conicto -2588 832 3193 832 conicto -3682 832 4195 975 conicto -4708 1118 5248 1408 conicto -5248 256 lineto -4710 66 4172 -31 conicto -3635 -128 3098 -128 conicto -1811 -128 1097 519 conicto -384 1167 384 2336 conicto -384 3484 1080 4142 conicto -1776 4800 2996 4800 conicto -4106 4800 4773 4128 conicto -5440 3457 5440 2334 conicto -3968 2816 moveto -3968 3276 3700 3558 conicto -3432 3840 3000 3840 conicto -2531 3840 2238 3576 conicto -1946 3313 1874 2816 conicto -3968 2816 lineto -end_ol grestore -gsave 25.259067 17.525000 translate 0.035278 -0.035278 scale -start_ol -704 6528 moveto -2176 6528 lineto -2176 0 lineto -704 0 lineto -704 6528 lineto -end_ol grestore -gsave 22.048167 20.234300 translate 0.035278 -0.035278 scale -start_ol -402 6456 moveto -838 6698 lineto -1859 4672 lineto -6625 4672 lineto -7646 6698 lineto -8082 6456 lineto -4556 -571 lineto -4414 -839 4238 -839 conicto -4062 -839 3928 -571 conicto -402 6456 lineto -4213 -49 moveto -4246 -83 4271 -49 conicto -6357 4096 lineto -2127 4096 lineto -4213 -49 lineto -end_ol grestore -gsave 23.914333 22.914300 translate 0.035278 -0.035278 scale -start_ol -2431 3520 moveto -1914 3520 1629 3150 conicto -1344 2781 1344 2110 conicto -1344 1443 1629 1073 conicto -1914 704 2431 704 conicto -2951 704 3235 1073 conicto -3520 1443 3520 2110 conicto -3520 2781 3235 3150 conicto -2951 3520 2431 3520 conicto -2432 4288 moveto -3451 4288 4029 3709 conicto -4608 3130 4608 2111 conicto -4608 1094 4029 515 conicto -3451 -64 2432 -64 conicto -1415 -64 835 515 conicto -256 1094 256 2111 conicto -256 3130 835 3709 conicto -1415 4288 2432 4288 conicto -end_ol grestore -gsave 24.566267 22.914300 translate 0.035278 -0.035278 scale -start_ol -1536 448 moveto -1536 -1216 lineto -512 -1216 lineto -512 3136 lineto -1536 3136 lineto -1536 2688 lineto -1744 2950 1996 3075 conicto -2248 3200 2577 3200 conicto -3158 3200 3531 2743 conicto -3904 2287 3904 1568 conicto -3904 850 3531 393 conicto -3158 -64 2577 -64 conicto -2248 -64 1996 60 conicto -1744 185 1536 448 conicto -2211 2496 moveto -1885 2496 1710 2256 conicto -1536 2017 1536 1567 conicto -1536 1118 1710 879 conicto -1885 640 2211 640 conicto -2536 640 2708 877 conicto -2880 1115 2880 1567 conicto -2880 2020 2708 2258 conicto -2536 2496 2211 2496 conicto -end_ol grestore -gsave 25.108133 22.914300 translate 0.035278 -0.035278 scale -start_ol -2176 -768 moveto -1357 -768 lineto -925 -75 718 549 conicto -512 1174 512 1789 conicto -512 2404 719 3034 conicto -927 3664 1357 4352 conicto -2176 4352 lineto -1824 3686 1648 3050 conicto -1472 2415 1472 1794 conicto -1472 1174 1646 537 conicto -1821 -100 2176 -768 conicto -end_ol grestore -gsave 25.455267 22.914300 translate 0.035278 -0.035278 scale -start_ol -640 2752 moveto -4224 2752 lineto -4224 2112 lineto -640 2112 lineto -640 2752 lineto -640 1472 moveto -4224 1472 lineto -4224 832 lineto -640 832 lineto -640 1472 lineto -end_ol grestore -gsave 26.090267 22.914300 translate 0.035278 -0.035278 scale -start_ol -448 -768 moveto -800 -100 976 537 conicto -1152 1174 1152 1794 conicto -1152 2415 976 3050 conicto -800 3686 448 4352 conicto -1268 4352 lineto -1697 3664 1904 3034 conicto -2112 2404 2112 1789 conicto -2112 1174 1906 549 conicto -1700 -75 1268 -768 conicto -448 -768 lineto -end_ol grestore -gsave 18.787567 22.914300 translate 0.035278 -0.035278 scale -start_ol -512 4224 moveto -1600 4224 lineto -1600 0 lineto -512 0 lineto -512 4224 lineto -end_ol grestore -gsave 19.066967 22.914300 translate 0.035278 -0.035278 scale -start_ol -2624 2688 moveto -2624 4352 lineto -3648 4352 lineto -3648 0 lineto -2624 0 lineto -2624 448 lineto -2416 182 2165 59 conicto -1915 -64 1586 -64 conicto -1004 -64 630 393 conicto -256 850 256 1568 conicto -256 2287 630 2743 conicto -1004 3200 1586 3200 conicto -1912 3200 2164 3075 conicto -2416 2950 2624 2688 conicto -1950 640 moveto -2279 640 2451 877 conicto -2624 1115 2624 1567 conicto -2624 2020 2451 2258 conicto -2279 2496 1950 2496 conicto -1626 2496 1453 2258 conicto -1280 2020 1280 1567 conicto -1280 1115 1453 877 conicto -1626 640 1950 640 conicto -end_ol grestore -gsave 19.608833 22.914300 translate 0.035278 -0.035278 scale -start_ol -2176 -768 moveto -1357 -768 lineto -925 -75 718 549 conicto -512 1174 512 1789 conicto -512 2404 719 3034 conicto -927 3664 1357 4352 conicto -2176 4352 lineto -1824 3686 1648 3050 conicto -1472 2415 1472 1794 conicto -1472 1174 1646 537 conicto -1821 -100 2176 -768 conicto -end_ol grestore -gsave 19.955967 22.914300 translate 0.035278 -0.035278 scale -start_ol -1253 1605 moveto -128 3136 lineto -1183 3136 lineto -1820 2206 lineto -2466 3136 lineto -3520 3136 lineto -2396 1610 lineto -3584 0 lineto -2525 0 lineto -1820 992 lineto -1124 0 lineto -64 0 lineto -1253 1605 lineto -end_ol grestore -gsave 20.447033 22.914300 translate 0.035278 -0.035278 scale -start_ol -448 -768 moveto -800 -100 976 537 conicto -1152 1174 1152 1794 conicto -1152 2415 976 3050 conicto -800 3686 448 4352 conicto -1268 4352 lineto -1697 3664 1904 3034 conicto -2112 2404 2112 1789 conicto -2112 1174 1906 549 conicto -1700 -75 1268 -768 conicto -448 -768 lineto -end_ol grestore -gsave 26.372567 25.580000 translate 0.035278 -0.035278 scale -start_ol -512 4224 moveto -1600 4224 lineto -1600 0 lineto -512 0 lineto -512 4224 lineto -end_ol grestore -gsave 26.651967 25.580000 translate 0.035278 -0.035278 scale -start_ol -2624 2688 moveto -2624 4352 lineto -3648 4352 lineto -3648 0 lineto -2624 0 lineto -2624 448 lineto -2416 182 2165 59 conicto -1915 -64 1586 -64 conicto -1004 -64 630 393 conicto -256 850 256 1568 conicto -256 2287 630 2743 conicto -1004 3200 1586 3200 conicto -1912 3200 2164 3075 conicto -2416 2950 2624 2688 conicto -1950 640 moveto -2279 640 2451 877 conicto -2624 1115 2624 1567 conicto -2624 2020 2451 2258 conicto -2279 2496 1950 2496 conicto -1626 2496 1453 2258 conicto -1280 2020 1280 1567 conicto -1280 1115 1453 877 conicto -1626 640 1950 640 conicto -end_ol grestore -gsave 27.193833 25.580000 translate 0.035278 -0.035278 scale -start_ol -2176 -768 moveto -1357 -768 lineto -925 -75 718 549 conicto -512 1174 512 1789 conicto -512 2404 719 3034 conicto -927 3664 1357 4352 conicto -2176 4352 lineto -1824 3686 1648 3050 conicto -1472 2415 1472 1794 conicto -1472 1174 1646 537 conicto -1821 -100 2176 -768 conicto -end_ol grestore -gsave 27.540967 25.580000 translate 0.035278 -0.035278 scale -start_ol -1253 1605 moveto -128 3136 lineto -1183 3136 lineto -1820 2206 lineto -2466 3136 lineto -3520 3136 lineto -2396 1610 lineto -3584 0 lineto -2525 0 lineto -1820 992 lineto -1124 0 lineto -64 0 lineto -1253 1605 lineto -end_ol grestore -gsave 28.032033 25.580000 translate 0.035278 -0.035278 scale -start_ol -448 -768 moveto -800 -100 976 537 conicto -1152 1174 1152 1794 conicto -1152 2415 976 3050 conicto -800 3686 448 4352 conicto -1268 4352 lineto -1697 3664 1904 3034 conicto -2112 2404 2112 1789 conicto -2112 1174 1906 549 conicto -1700 -75 1268 -768 conicto -448 -768 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 22.092000 20.459300 m 19.992000 21.709300 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 23.342000 20.459300 m 24.692000 21.809300 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 24.815800 23.300700 m 23.615800 24.750700 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 25.965800 23.350700 m 27.065800 24.600700 l s -gsave 22.388133 25.580000 translate 0.035278 -0.035278 scale -start_ol -2431 3520 moveto -1914 3520 1629 3150 conicto -1344 2781 1344 2110 conicto -1344 1443 1629 1073 conicto -1914 704 2431 704 conicto -2951 704 3235 1073 conicto -3520 1443 3520 2110 conicto -3520 2781 3235 3150 conicto -2951 3520 2431 3520 conicto -2432 4288 moveto -3451 4288 4029 3709 conicto -4608 3130 4608 2111 conicto -4608 1094 4029 515 conicto -3451 -64 2432 -64 conicto -1415 -64 835 515 conicto -256 1094 256 2111 conicto -256 3130 835 3709 conicto -1415 4288 2432 4288 conicto -end_ol grestore -gsave 23.040067 25.580000 translate 0.035278 -0.035278 scale -start_ol -1536 448 moveto -1536 -1216 lineto -512 -1216 lineto -512 3136 lineto -1536 3136 lineto -1536 2688 lineto -1744 2950 1996 3075 conicto -2248 3200 2577 3200 conicto -3158 3200 3531 2743 conicto -3904 2287 3904 1568 conicto -3904 850 3531 393 conicto -3158 -64 2577 -64 conicto -2248 -64 1996 60 conicto -1744 185 1536 448 conicto -2211 2496 moveto -1885 2496 1710 2256 conicto -1536 2017 1536 1567 conicto -1536 1118 1710 879 conicto -1885 640 2211 640 conicto -2536 640 2708 877 conicto -2880 1115 2880 1567 conicto -2880 2020 2708 2258 conicto -2536 2496 2211 2496 conicto -end_ol grestore -gsave 23.581933 25.580000 translate 0.035278 -0.035278 scale -start_ol -2176 -768 moveto -1357 -768 lineto -925 -75 718 549 conicto -512 1174 512 1789 conicto -512 2404 719 3034 conicto -927 3664 1357 4352 conicto -2176 4352 lineto -1824 3686 1648 3050 conicto -1472 2415 1472 1794 conicto -1472 1174 1646 537 conicto -1821 -100 2176 -768 conicto -end_ol grestore -gsave 23.929067 25.580000 translate 0.035278 -0.035278 scale -start_ol -2688 3584 moveto -2688 2112 lineto -4160 2112 lineto -4160 1472 lineto -2688 1472 lineto -2688 0 lineto -2048 0 lineto -2048 1472 lineto -576 1472 lineto -576 2112 lineto -2048 2112 lineto -2048 3584 lineto -2688 3584 lineto -end_ol grestore -gsave 24.564067 25.580000 translate 0.035278 -0.035278 scale -start_ol -448 -768 moveto -800 -100 976 537 conicto -1152 1174 1152 1794 conicto -1152 2415 976 3050 conicto -800 3686 448 4352 conicto -1268 4352 lineto -1697 3664 1904 3034 conicto -2112 2404 2112 1789 conicto -2112 1174 1906 549 conicto -1700 -75 1268 -768 conicto -448 -768 lineto -end_ol grestore -gsave 20.946367 28.023700 translate 0.035278 -0.035278 scale -start_ol -512 4224 moveto -1600 4224 lineto -1600 0 lineto -512 0 lineto -512 4224 lineto -end_ol grestore -gsave 21.225767 28.023700 translate 0.035278 -0.035278 scale -start_ol -2624 2688 moveto -2624 4352 lineto -3648 4352 lineto -3648 0 lineto -2624 0 lineto -2624 448 lineto -2416 182 2165 59 conicto -1915 -64 1586 -64 conicto -1004 -64 630 393 conicto -256 850 256 1568 conicto -256 2287 630 2743 conicto -1004 3200 1586 3200 conicto -1912 3200 2164 3075 conicto -2416 2950 2624 2688 conicto -1950 640 moveto -2279 640 2451 877 conicto -2624 1115 2624 1567 conicto -2624 2020 2451 2258 conicto -2279 2496 1950 2496 conicto -1626 2496 1453 2258 conicto -1280 2020 1280 1567 conicto -1280 1115 1453 877 conicto -1626 640 1950 640 conicto -end_ol grestore -gsave 21.767633 28.023700 translate 0.035278 -0.035278 scale -start_ol -2176 -768 moveto -1357 -768 lineto -925 -75 718 549 conicto -512 1174 512 1789 conicto -512 2404 719 3034 conicto -927 3664 1357 4352 conicto -2176 4352 lineto -1824 3686 1648 3050 conicto -1472 2415 1472 1794 conicto -1472 1174 1646 537 conicto -1821 -100 2176 -768 conicto -end_ol grestore -gsave 22.114767 28.023700 translate 0.035278 -0.035278 scale -start_ol -1253 1605 moveto -128 3136 lineto -1183 3136 lineto -1820 2206 lineto -2466 3136 lineto -3520 3136 lineto -2396 1610 lineto -3584 0 lineto -2525 0 lineto -1820 992 lineto -1124 0 lineto -64 0 lineto -1253 1605 lineto -end_ol grestore -gsave 22.605833 28.023700 translate 0.035278 -0.035278 scale -start_ol -448 -768 moveto -800 -100 976 537 conicto -1152 1174 1152 1794 conicto -1152 2415 976 3050 conicto -800 3686 448 4352 conicto -1268 4352 lineto -1697 3664 1904 3034 conicto -2112 2404 2112 1789 conicto -2112 1174 1906 549 conicto -1700 -75 1268 -768 conicto -448 -768 lineto -end_ol grestore -gsave 24.857000 28.068100 translate 0.035278 -0.035278 scale -start_ol -3520 2215 moveto -3520 1692 3735 1390 conicto -3951 1088 4320 1088 conicto -4685 1088 4902 1392 conicto -5120 1696 5120 2215 conicto -5120 2729 4900 3028 conicto -4681 3328 4312 3328 conicto -3951 3328 3735 3028 conicto -3520 2729 3520 2215 conicto -5184 940 moveto -5060 646 4787 483 conicto -4514 320 4149 320 conicto -3443 320 3001 842 conicto -2560 1365 2560 2206 conicto -2560 3046 3003 3571 conicto -3446 4096 4149 4096 conicto -4514 4096 4787 3932 conicto -5060 3768 5184 3477 conicto -5184 4032 lineto -6080 4032 lineto -6080 1088 lineto -6617 1169 6924 1596 conicto -7232 2023 7232 2690 conicto -7232 3115 7109 3487 conicto -6987 3859 6738 4168 conicto -6336 4687 5734 4967 conicto -5133 5248 4431 5248 conicto -3942 5248 3494 5119 conicto -3046 4990 2666 4740 conicto -2041 4325 1692 3667 conicto -1344 3009 1344 2243 conicto -1344 1612 1569 1059 conicto -1794 507 2219 83 conicto -2640 -331 3185 -549 conicto -3730 -768 4348 -768 conicto -4878 -768 5408 -578 conicto -5938 -388 6313 -64 conicto -6784 -719 lineto -6257 -1115 5636 -1325 conicto -5016 -1536 4377 -1536 conicto -3598 -1536 2907 -1260 conicto -2217 -985 1679 -460 conicto -1140 67 858 758 conicto -576 1449 576 2245 conicto -576 3010 862 3703 conicto -1148 4397 1676 4923 conicto -2205 5445 2908 5730 conicto -3612 6016 4368 6016 conicto -5309 6016 6077 5655 conicto -6845 5295 7361 4617 conicto -7676 4203 7838 3720 conicto -8000 3238 8000 2708 conicto -8000 1565 7307 933 conicto -6614 301 5351 301 conicto -5184 301 lineto -5184 940 lineto -end_ol grestore -gsave 22.555933 30.106800 translate 0.035278 -0.035278 scale -start_ol -512 4224 moveto -1600 4224 lineto -1600 0 lineto -512 0 lineto -512 4224 lineto -end_ol grestore -gsave 22.835333 30.106800 translate 0.035278 -0.035278 scale -start_ol -2624 2688 moveto -2624 4352 lineto -3648 4352 lineto -3648 0 lineto -2624 0 lineto -2624 448 lineto -2416 182 2165 59 conicto -1915 -64 1586 -64 conicto -1004 -64 630 393 conicto -256 850 256 1568 conicto -256 2287 630 2743 conicto -1004 3200 1586 3200 conicto -1912 3200 2164 3075 conicto -2416 2950 2624 2688 conicto -1950 640 moveto -2279 640 2451 877 conicto -2624 1115 2624 1567 conicto -2624 2020 2451 2258 conicto -2279 2496 1950 2496 conicto -1626 2496 1453 2258 conicto -1280 2020 1280 1567 conicto -1280 1115 1453 877 conicto -1626 640 1950 640 conicto -end_ol grestore -gsave 23.377200 30.106800 translate 0.035278 -0.035278 scale -start_ol -2176 -768 moveto -1357 -768 lineto -925 -75 718 549 conicto -512 1174 512 1789 conicto -512 2404 719 3034 conicto -927 3664 1357 4352 conicto -2176 4352 lineto -1824 3686 1648 3050 conicto -1472 2415 1472 1794 conicto -1472 1174 1646 537 conicto -1821 -100 2176 -768 conicto -end_ol grestore -gsave 23.724333 30.106800 translate 0.035278 -0.035278 scale -start_ol -512 4352 moveto -1536 4352 lineto -1536 0 lineto -512 0 lineto -512 4352 lineto -end_ol grestore -gsave 23.986800 30.106800 translate 0.035278 -0.035278 scale -start_ol -3648 1891 moveto -3648 0 lineto -2624 0 lineto -2624 308 lineto -2624 1447 lineto -2624 1849 2607 2001 conicto -2590 2154 2547 2226 conicto -2491 2324 2395 2378 conicto -2299 2432 2176 2432 conicto -1877 2432 1706 2192 conicto -1536 1952 1536 1528 conicto -1536 0 lineto -512 0 lineto -512 3136 lineto -1536 3136 lineto -1536 2688 lineto -1758 2950 2008 3075 conicto -2259 3200 2562 3200 conicto -3095 3200 3371 2865 conicto -3648 2530 3648 1891 conicto -end_ol grestore -gsave 24.528667 30.106800 translate 0.035278 -0.035278 scale -start_ol -448 -768 moveto -800 -100 976 537 conicto -1152 1174 1152 1794 conicto -1152 2415 976 3050 conicto -800 3686 448 4352 conicto -1268 4352 lineto -1697 3664 1904 3034 conicto -2112 2404 2112 1789 conicto -2112 1174 1906 549 conicto -1700 -75 1268 -768 conicto -448 -768 lineto -end_ol grestore -gsave 26.290667 30.118000 translate 0.035278 -0.035278 scale -start_ol -512 4224 moveto -1721 4224 lineto -3264 1327 lineto -3264 4224 lineto -4288 4224 lineto -4288 0 lineto -3080 0 lineto -1536 2897 lineto -1536 0 lineto -512 0 lineto -512 4224 lineto -end_ol grestore -gsave 26.925667 30.118000 translate 0.035278 -0.035278 scale -start_ol -512 1241 moveto -512 3136 lineto -1536 3136 lineto -1536 2826 lineto -1536 2574 1533 2193 conicto -1530 1812 1530 1684 conicto -1530 1311 1548 1146 conicto -1567 981 1613 906 conicto -1671 809 1766 756 conicto -1861 704 1984 704 conicto -2282 704 2453 942 conicto -2624 1180 2624 1604 conicto -2624 3136 lineto -3648 3136 lineto -3648 0 lineto -2624 0 lineto -2624 448 lineto -2401 185 2152 60 conicto -1903 -64 1604 -64 conicto -1070 -64 791 270 conicto -512 604 512 1241 conicto -end_ol grestore -gsave 27.467533 30.118000 translate 0.035278 -0.035278 scale -start_ol -3468 2617 moveto -3661 2901 3926 3050 conicto -4192 3200 4510 3200 conicto -5058 3200 5345 2865 conicto -5632 2530 5632 1891 conicto -5632 0 lineto -4608 0 lineto -4608 1620 lineto -4611 1655 4612 1694 conicto -4613 1733 4613 1805 conicto -4613 2135 4514 2283 conicto -4415 2432 4194 2432 conicto -3904 2432 3747 2199 conicto -3590 1966 3584 1525 conicto -3584 0 lineto -2560 0 lineto -2560 1620 lineto -2560 2135 2469 2283 conicto -2378 2432 2145 2432 conicto -1854 2432 1695 2197 conicto -1536 1963 1536 1528 conicto -1536 0 lineto -512 0 lineto -512 3136 lineto -1536 3136 lineto -1536 2688 lineto -1723 2943 1966 3071 conicto -2209 3200 2502 3200 conicto -2831 3200 3084 3046 conicto -3338 2893 3468 2617 conicto -end_ol grestore -gsave 28.263400 30.118000 translate 0.035278 -0.035278 scale -start_ol -2176 -768 moveto -1357 -768 lineto -925 -75 718 549 conicto -512 1174 512 1789 conicto -512 2404 719 3034 conicto -927 3664 1357 4352 conicto -2176 4352 lineto -1824 3686 1648 3050 conicto -1472 2415 1472 1794 conicto -1472 1174 1646 537 conicto -1821 -100 2176 -768 conicto -end_ol grestore -gsave 28.610533 30.118000 translate 0.035278 -0.035278 scale -start_ol -640 768 moveto -1600 768 lineto -1600 3456 lineto -640 3264 lineto -640 4032 lineto -1600 4224 lineto -2624 4224 lineto -2624 768 lineto -3584 768 lineto -3584 0 lineto -640 0 lineto -640 768 lineto -end_ol grestore -gsave 29.143933 30.118000 translate 0.035278 -0.035278 scale -start_ol -448 -768 moveto -800 -100 976 537 conicto -1152 1174 1152 1794 conicto -1152 2415 976 3050 conicto -800 3686 448 4352 conicto -1268 4352 lineto -1697 3664 1904 3034 conicto -2112 2404 2112 1789 conicto -2112 1174 1906 549 conicto -1700 -75 1268 -768 conicto -448 -768 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 22.965800 26.050700 m 21.915800 27.000700 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 23.942000 25.959300 m 25.165800 27.000700 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 24.792000 28.309300 m 23.842000 29.259300 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 26.065800 28.200700 m 27.142000 29.409300 l s -gsave 39.905633 13.119000 translate 0.035278 -0.035278 scale -start_ol -3264 -1088 moveto -2006 -1088 lineto -1372 -56 1070 873 conicto -768 1802 768 2716 conicto -768 3630 1072 4567 conicto -1377 5505 2006 6528 conicto -3264 6528 lineto -2720 5539 2448 4593 conicto -2176 3647 2176 2725 conicto -2176 1802 2446 854 conicto -2716 -94 3264 -1088 conicto -end_ol grestore -gsave 40.422100 13.119000 translate 0.035278 -0.035278 scale -start_ol -768 6272 moveto -2368 6272 lineto -2368 1216 lineto -5184 1216 lineto -5184 0 lineto -768 0 lineto -768 6272 lineto -end_ol grestore -gsave 41.141767 13.119000 translate 0.035278 -0.035278 scale -start_ol -5440 2334 moveto -5440 1920 lineto -1856 1920 lineto -1912 1377 2250 1104 conicto -2588 832 3193 832 conicto -3682 832 4195 975 conicto -4708 1118 5248 1408 conicto -5248 256 lineto -4710 66 4172 -31 conicto -3635 -128 3098 -128 conicto -1811 -128 1097 519 conicto -384 1167 384 2336 conicto -384 3484 1080 4142 conicto -1776 4800 2996 4800 conicto -4106 4800 4773 4128 conicto -5440 3457 5440 2334 conicto -3968 2816 moveto -3968 3276 3700 3558 conicto -3432 3840 3000 3840 conicto -2531 3840 2238 3576 conicto -1946 3313 1874 2816 conicto -3968 2816 lineto -end_ol grestore -gsave 41.912233 13.119000 translate 0.035278 -0.035278 scale -start_ol -128 4672 moveto -1621 4672 lineto -2784 1443 lineto -3942 4672 lineto -5440 4672 lineto -3601 0 lineto -1962 0 lineto -128 4672 lineto -end_ol grestore -gsave 42.648833 13.119000 translate 0.035278 -0.035278 scale -start_ol -5440 2334 moveto -5440 1920 lineto -1856 1920 lineto -1912 1377 2250 1104 conicto -2588 832 3193 832 conicto -3682 832 4195 975 conicto -4708 1118 5248 1408 conicto -5248 256 lineto -4710 66 4172 -31 conicto -3635 -128 3098 -128 conicto -1811 -128 1097 519 conicto -384 1167 384 2336 conicto -384 3484 1080 4142 conicto -1776 4800 2996 4800 conicto -4106 4800 4773 4128 conicto -5440 3457 5440 2334 conicto -3968 2816 moveto -3968 3276 3700 3558 conicto -3432 3840 3000 3840 conicto -2531 3840 2238 3576 conicto -1946 3313 1874 2816 conicto -3968 2816 lineto -end_ol grestore -gsave 43.419300 13.119000 translate 0.035278 -0.035278 scale -start_ol -704 6528 moveto -2176 6528 lineto -2176 0 lineto -704 0 lineto -704 6528 lineto -end_ol grestore -gsave 43.808767 13.119000 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave 44.206700 13.119000 translate 0.035278 -0.035278 scale -start_ol -4036 3413 moveto -4661 3248 4986 2837 conicto -5312 2427 5312 1796 conicto -5312 853 4596 362 conicto -3880 -128 2508 -128 conicto -2024 -128 1538 -47 conicto -1052 33 576 192 conicto -576 1408 lineto -1034 1186 1485 1073 conicto -1936 960 2373 960 conicto -3022 960 3367 1190 conicto -3712 1421 3712 1851 conicto -3712 2295 3360 2523 conicto -3009 2752 2323 2752 conicto -1664 2752 lineto -1664 3776 lineto -2356 3776 lineto -2976 3776 3280 3968 conicto -3584 4161 3584 4553 conicto -3584 4915 3287 5113 conicto -2991 5312 2450 5312 conicto -2051 5312 1643 5231 conicto -1235 5150 832 4992 conicto -832 6144 lineto -1315 6272 1790 6336 conicto -2265 6400 2723 6400 conicto -3958 6400 4571 6001 conicto -5184 5602 5184 4800 conicto -5184 4253 4893 3904 conicto -4603 3555 4036 3413 conicto -end_ol grestore -gsave 44.994100 13.119000 translate 0.035278 -0.035278 scale -start_ol -640 -1088 moveto -1184 -94 1456 854 conicto -1728 1802 1728 2725 conicto -1728 3647 1456 4593 conicto -1184 5539 640 6528 conicto -1897 6528 lineto -2527 5505 2831 4567 conicto -3136 3630 3136 2716 conicto -3136 1802 2833 873 conicto -2531 -56 1897 -1088 conicto -640 -1088 lineto -end_ol grestore -gsave 41.649767 16.775000 translate 0.035278 -0.035278 scale -start_ol -5760 330 moveto -5317 103 4836 -12 conicto -4355 -128 3832 -128 conicto -2272 -128 1360 750 conicto -448 1629 448 3134 conicto -448 4643 1360 5521 conicto -2272 6400 3832 6400 conicto -4355 6400 4836 6284 conicto -5317 6169 5760 5941 conicto -5760 4672 lineto -5312 4970 4877 5109 conicto -4442 5248 3961 5248 conicto -3099 5248 2605 4685 conicto -2112 4122 2112 3134 conicto -2112 2149 2605 1586 conicto -3099 1024 3961 1024 conicto -4442 1024 4877 1163 conicto -5312 1302 5760 1600 conicto -5760 330 lineto -end_ol grestore -gsave 42.479500 16.775000 translate 0.035278 -0.035278 scale -start_ol -768 6272 moveto -2368 6272 lineto -2368 0 lineto -768 0 lineto -768 6272 lineto -end_ol grestore -gsave 42.902833 16.775000 translate 0.035278 -0.035278 scale -start_ol -5760 330 moveto -5317 103 4836 -12 conicto -4355 -128 3832 -128 conicto -2272 -128 1360 750 conicto -448 1629 448 3134 conicto -448 4643 1360 5521 conicto -2272 6400 3832 6400 conicto -4355 6400 4836 6284 conicto -5317 6169 5760 5941 conicto -5760 4672 lineto -5312 4970 4877 5109 conicto -4442 5248 3961 5248 conicto -3099 5248 2605 4685 conicto -2112 4122 2112 3134 conicto -2112 2149 2605 1586 conicto -3099 1024 3961 1024 conicto -4442 1024 4877 1163 conicto -5312 1302 5760 1600 conicto -5760 330 lineto -end_ol grestore -gsave 40.315767 19.200100 translate 0.035278 -0.035278 scale -start_ol -402 6456 moveto -838 6698 lineto -1859 4672 lineto -6625 4672 lineto -7646 6698 lineto -8082 6456 lineto -4556 -571 lineto -4414 -839 4238 -839 conicto -4062 -839 3928 -571 conicto -402 6456 lineto -4213 -49 moveto -4246 -83 4271 -49 conicto -6357 4096 lineto -2127 4096 lineto -4213 -49 lineto -end_ol grestore -gsave 43.059600 21.985100 translate 0.035278 -0.035278 scale -start_ol -3520 2215 moveto -3520 1692 3735 1390 conicto -3951 1088 4320 1088 conicto -4685 1088 4902 1392 conicto -5120 1696 5120 2215 conicto -5120 2729 4900 3028 conicto -4681 3328 4312 3328 conicto -3951 3328 3735 3028 conicto -3520 2729 3520 2215 conicto -5184 940 moveto -5060 646 4787 483 conicto -4514 320 4149 320 conicto -3443 320 3001 842 conicto -2560 1365 2560 2206 conicto -2560 3046 3003 3571 conicto -3446 4096 4149 4096 conicto -4514 4096 4787 3932 conicto -5060 3768 5184 3477 conicto -5184 4032 lineto -6080 4032 lineto -6080 1088 lineto -6617 1169 6924 1596 conicto -7232 2023 7232 2690 conicto -7232 3115 7109 3487 conicto -6987 3859 6738 4168 conicto -6336 4687 5734 4967 conicto -5133 5248 4431 5248 conicto -3942 5248 3494 5119 conicto -3046 4990 2666 4740 conicto -2041 4325 1692 3667 conicto -1344 3009 1344 2243 conicto -1344 1612 1569 1059 conicto -1794 507 2219 83 conicto -2640 -331 3185 -549 conicto -3730 -768 4348 -768 conicto -4878 -768 5408 -578 conicto -5938 -388 6313 -64 conicto -6784 -719 lineto -6257 -1115 5636 -1325 conicto -5016 -1536 4377 -1536 conicto -3598 -1536 2907 -1260 conicto -2217 -985 1679 -460 conicto -1140 67 858 758 conicto -576 1449 576 2245 conicto -576 3010 862 3703 conicto -1148 4397 1676 4923 conicto -2205 5445 2908 5730 conicto -3612 6016 4368 6016 conicto -5309 6016 6077 5655 conicto -6845 5295 7361 4617 conicto -7676 4203 7838 3720 conicto -8000 3238 8000 2708 conicto -8000 1565 7307 933 conicto -6614 301 5351 301 conicto -5184 301 lineto -5184 940 lineto -end_ol grestore -gsave 35.052800 24.375100 translate 0.035278 -0.035278 scale -start_ol -3008 3072 moveto -3008 2240 lineto -2803 2371 2596 2433 conicto -2390 2496 2169 2496 conicto -1748 2496 1514 2251 conicto -1280 2007 1280 1568 conicto -1280 1130 1514 885 conicto -1748 640 2169 640 conicto -2404 640 2616 704 conicto -2828 769 3008 896 conicto -3008 64 lineto -2774 0 2533 -32 conicto -2293 -64 2051 -64 conicto -1207 -64 731 367 conicto -256 799 256 1568 conicto -256 2337 731 2768 conicto -1207 3200 2051 3200 conicto -2296 3200 2533 3168 conicto -2771 3136 3008 3072 conicto -end_ol grestore -gsave 35.501533 24.375100 translate 0.035278 -0.035278 scale -start_ol -512 3136 moveto -1536 3136 lineto -1536 0 lineto -512 0 lineto -512 3136 lineto -512 4352 moveto -1536 4352 lineto -1536 3520 lineto -512 3520 lineto -512 4352 lineto -end_ol grestore -gsave 35.764000 24.375100 translate 0.035278 -0.035278 scale -start_ol -3008 3072 moveto -3008 2240 lineto -2803 2371 2596 2433 conicto -2390 2496 2169 2496 conicto -1748 2496 1514 2251 conicto -1280 2007 1280 1568 conicto -1280 1130 1514 885 conicto -1748 640 2169 640 conicto -2404 640 2616 704 conicto -2828 769 3008 896 conicto -3008 64 lineto -2774 0 2533 -32 conicto -2293 -64 2051 -64 conicto -1207 -64 731 367 conicto -256 799 256 1568 conicto -256 2337 731 2768 conicto -1207 3200 2051 3200 conicto -2296 3200 2533 3168 conicto -2771 3136 3008 3072 conicto -end_ol grestore -gsave 36.212733 24.375100 translate 0.035278 -0.035278 scale -start_ol -640 3136 moveto -1664 3136 lineto -1664 2048 lineto -640 2048 lineto -640 3136 lineto -640 1088 moveto -1664 1088 lineto -1664 0 lineto -640 0 lineto -640 1088 lineto -end_ol grestore -gsave 36.517533 24.375100 translate 0.035278 -0.035278 scale -start_ol -1485 4224 moveto -2112 4224 lineto -624 -512 lineto -0 -512 lineto -1485 4224 lineto -end_ol grestore -gsave 36.796933 24.375100 translate 0.035278 -0.035278 scale -start_ol -576 1088 moveto -1600 1088 lineto -1600 0 lineto -576 0 lineto -576 1088 lineto -end_ol grestore -gsave 37.084800 24.375100 translate 0.035278 -0.035278 scale -start_ol -576 1088 moveto -1600 1088 lineto -1600 0 lineto -576 0 lineto -576 1088 lineto -end_ol grestore -gsave 37.372667 24.375100 translate 0.035278 -0.035278 scale -start_ol -1485 4224 moveto -2112 4224 lineto -624 -512 lineto -0 -512 lineto -1485 4224 lineto -end_ol grestore -gsave 37.652067 24.375100 translate 0.035278 -0.035278 scale -start_ol -3648 1575 moveto -3648 1280 lineto -1280 1280 lineto -1318 928 1540 752 conicto -1763 576 2163 576 conicto -2486 576 2824 671 conicto -3163 766 3520 960 conicto -3520 192 lineto -3159 65 2798 0 conicto -2438 -64 2076 -64 conicto -1213 -64 734 365 conicto -256 794 256 1568 conicto -256 2329 722 2764 conicto -1189 3200 2008 3200 conicto -2754 3200 3201 2758 conicto -3648 2316 3648 1575 conicto -2624 1920 moveto -2624 2207 2453 2383 conicto -2283 2560 2007 2560 conicto -1710 2560 1523 2395 conicto -1337 2230 1291 1920 conicto -2624 1920 lineto -end_ol grestore -gsave 38.168533 24.375100 translate 0.035278 -0.035278 scale -start_ol -1950 2496 moveto -1626 2496 1453 2258 conicto -1280 2020 1280 1567 conicto -1280 1115 1453 877 conicto -1626 640 1950 640 conicto -2279 640 2451 877 conicto -2624 1115 2624 1567 conicto -2624 2020 2451 2258 conicto -2279 2496 1950 2496 conicto -2624 448 moveto -2416 182 2165 59 conicto -1915 -64 1586 -64 conicto -1004 -64 630 393 conicto -256 851 256 1571 conicto -256 2292 630 2746 conicto -1004 3200 1586 3200 conicto -1915 3200 2165 3077 conicto -2416 2954 2624 2688 conicto -2624 3136 lineto -3648 3136 lineto -3648 -1216 lineto -2624 -1216 lineto -2624 448 lineto -end_ol grestore -gsave 38.710400 24.375100 translate 0.035278 -0.035278 scale -start_ol -576 1088 moveto -1600 1088 lineto -1600 0 lineto -576 0 lineto -576 1088 lineto -end_ol grestore -gsave 38.998267 24.375100 translate 0.035278 -0.035278 scale -start_ol -512 3136 moveto -1536 3136 lineto -1536 0 lineto -512 0 lineto -512 3136 lineto -512 4352 moveto -1536 4352 lineto -1536 3520 lineto -512 3520 lineto -512 4352 lineto -end_ol grestore -gsave 39.260733 24.375100 translate 0.035278 -0.035278 scale -start_ol -3648 1891 moveto -3648 0 lineto -2624 0 lineto -2624 308 lineto -2624 1447 lineto -2624 1849 2607 2001 conicto -2590 2154 2547 2226 conicto -2491 2324 2395 2378 conicto -2299 2432 2176 2432 conicto -1877 2432 1706 2192 conicto -1536 1952 1536 1528 conicto -1536 0 lineto -512 0 lineto -512 3136 lineto -1536 3136 lineto -1536 2688 lineto -1758 2950 2008 3075 conicto -2259 3200 2562 3200 conicto -3095 3200 3371 2865 conicto -3648 2530 3648 1891 conicto -end_ol grestore -gsave 39.802600 24.375100 translate 0.035278 -0.035278 scale -start_ol -2624 2688 moveto -2624 4352 lineto -3648 4352 lineto -3648 0 lineto -2624 0 lineto -2624 448 lineto -2416 182 2165 59 conicto -1915 -64 1586 -64 conicto -1004 -64 630 393 conicto -256 850 256 1568 conicto -256 2287 630 2743 conicto -1004 3200 1586 3200 conicto -1912 3200 2164 3075 conicto -2416 2950 2624 2688 conicto -1950 640 moveto -2279 640 2451 877 conicto -2624 1115 2624 1567 conicto -2624 2020 2451 2258 conicto -2279 2496 1950 2496 conicto -1626 2496 1453 2258 conicto -1280 2020 1280 1567 conicto -1280 1115 1453 877 conicto -1626 640 1950 640 conicto -end_ol grestore -gsave 40.344467 24.375100 translate 0.035278 -0.035278 scale -start_ol -2549 4160 moveto -2279 3008 lineto -3020 3008 lineto -3292 4160 lineto -3912 4160 lineto -3639 3008 lineto -4416 3008 lineto -4416 2432 lineto -3491 2432 lineto -3297 1664 lineto -4094 1664 lineto -4094 1088 lineto -3152 1088 lineto -2883 0 lineto -2262 0 lineto -2532 1088 lineto -1792 1088 lineto -1523 0 lineto -897 0 lineto -1167 1088 lineto -384 1088 lineto -384 1664 lineto -1303 1664 lineto -1500 2432 lineto -706 2432 lineto -706 3008 lineto -1654 3008 lineto -1923 4160 lineto -2549 4160 lineto -2866 2432 moveto -2126 2432 lineto -1929 1664 lineto -2669 1664 lineto -2866 2432 lineto -end_ol grestore -gsave 40.979467 24.375100 translate 0.035278 -0.035278 scale -start_ol -640 768 moveto -1600 768 lineto -1600 3456 lineto -640 3264 lineto -640 4032 lineto -1600 4224 lineto -2624 4224 lineto -2624 768 lineto -3584 768 lineto -3584 0 lineto -640 0 lineto -640 768 lineto -end_ol grestore -gsave 41.512867 24.375100 translate 0.035278 -0.035278 scale -start_ol -1485 4224 moveto -2112 4224 lineto -624 -512 lineto -0 -512 lineto -1485 4224 lineto -end_ol grestore -gsave 41.792267 24.375100 translate 0.035278 -0.035278 scale -start_ol -640 768 moveto -1600 768 lineto -1600 3456 lineto -640 3264 lineto -640 4032 lineto -1600 4224 lineto -2624 4224 lineto -2624 768 lineto -3584 768 lineto -3584 0 lineto -640 0 lineto -640 768 lineto -end_ol grestore -gsave 45.524600 25.575100 translate 0.035278 -0.035278 scale -start_ol -3520 2215 moveto -3520 1692 3735 1390 conicto -3951 1088 4320 1088 conicto -4685 1088 4902 1392 conicto -5120 1696 5120 2215 conicto -5120 2729 4900 3028 conicto -4681 3328 4312 3328 conicto -3951 3328 3735 3028 conicto -3520 2729 3520 2215 conicto -5184 940 moveto -5060 646 4787 483 conicto -4514 320 4149 320 conicto -3443 320 3001 842 conicto -2560 1365 2560 2206 conicto -2560 3046 3003 3571 conicto -3446 4096 4149 4096 conicto -4514 4096 4787 3932 conicto -5060 3768 5184 3477 conicto -5184 4032 lineto -6080 4032 lineto -6080 1088 lineto -6617 1169 6924 1596 conicto -7232 2023 7232 2690 conicto -7232 3115 7109 3487 conicto -6987 3859 6738 4168 conicto -6336 4687 5734 4967 conicto -5133 5248 4431 5248 conicto -3942 5248 3494 5119 conicto -3046 4990 2666 4740 conicto -2041 4325 1692 3667 conicto -1344 3009 1344 2243 conicto -1344 1612 1569 1059 conicto -1794 507 2219 83 conicto -2640 -331 3185 -549 conicto -3730 -768 4348 -768 conicto -4878 -768 5408 -578 conicto -5938 -388 6313 -64 conicto -6784 -719 lineto -6257 -1115 5636 -1325 conicto -5016 -1536 4377 -1536 conicto -3598 -1536 2907 -1260 conicto -2217 -985 1679 -460 conicto -1140 67 858 758 conicto -576 1449 576 2245 conicto -576 3010 862 3703 conicto -1148 4397 1676 4923 conicto -2205 5445 2908 5730 conicto -3612 6016 4368 6016 conicto -5309 6016 6077 5655 conicto -6845 5295 7361 4617 conicto -7676 4203 7838 3720 conicto -8000 3238 8000 2708 conicto -8000 1565 7307 933 conicto -6614 301 5351 301 conicto -5184 301 lineto -5184 940 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 40.359600 19.425100 m 38.259600 20.675100 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 41.609600 19.425100 m 42.959600 20.775100 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 42.909600 22.275100 m 38.684600 23.642600 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 43.234600 22.492600 m 42.634600 24.542600 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 44.109600 22.175100 m 49.084600 24.342600 l s -gsave 38.926200 27.439500 translate 0.035278 -0.035278 scale -start_ol -3008 3072 moveto -3008 2240 lineto -2803 2371 2596 2433 conicto -2390 2496 2169 2496 conicto -1748 2496 1514 2251 conicto -1280 2007 1280 1568 conicto -1280 1130 1514 885 conicto -1748 640 2169 640 conicto -2404 640 2616 704 conicto -2828 769 3008 896 conicto -3008 64 lineto -2774 0 2533 -32 conicto -2293 -64 2051 -64 conicto -1207 -64 731 367 conicto -256 799 256 1568 conicto -256 2337 731 2768 conicto -1207 3200 2051 3200 conicto -2296 3200 2533 3168 conicto -2771 3136 3008 3072 conicto -end_ol grestore -gsave 39.374933 27.439500 translate 0.035278 -0.035278 scale -start_ol -512 3136 moveto -1536 3136 lineto -1536 0 lineto -512 0 lineto -512 3136 lineto -512 4352 moveto -1536 4352 lineto -1536 3520 lineto -512 3520 lineto -512 4352 lineto -end_ol grestore -gsave 39.637400 27.439500 translate 0.035278 -0.035278 scale -start_ol -3008 3072 moveto -3008 2240 lineto -2803 2371 2596 2433 conicto -2390 2496 2169 2496 conicto -1748 2496 1514 2251 conicto -1280 2007 1280 1568 conicto -1280 1130 1514 885 conicto -1748 640 2169 640 conicto -2404 640 2616 704 conicto -2828 769 3008 896 conicto -3008 64 lineto -2774 0 2533 -32 conicto -2293 -64 2051 -64 conicto -1207 -64 731 367 conicto -256 799 256 1568 conicto -256 2337 731 2768 conicto -1207 3200 2051 3200 conicto -2296 3200 2533 3168 conicto -2771 3136 3008 3072 conicto -end_ol grestore -gsave 40.086133 27.439500 translate 0.035278 -0.035278 scale -start_ol -640 3136 moveto -1664 3136 lineto -1664 2048 lineto -640 2048 lineto -640 3136 lineto -640 1088 moveto -1664 1088 lineto -1664 0 lineto -640 0 lineto -640 1088 lineto -end_ol grestore -gsave 40.390933 27.439500 translate 0.035278 -0.035278 scale -start_ol -1485 4224 moveto -2112 4224 lineto -624 -512 lineto -0 -512 lineto -1485 4224 lineto -end_ol grestore -gsave 40.670333 27.439500 translate 0.035278 -0.035278 scale -start_ol -576 1088 moveto -1600 1088 lineto -1600 0 lineto -576 0 lineto -576 1088 lineto -end_ol grestore -gsave 40.958200 27.439500 translate 0.035278 -0.035278 scale -start_ol -576 1088 moveto -1600 1088 lineto -1600 0 lineto -576 0 lineto -576 1088 lineto -end_ol grestore -gsave 41.246067 27.439500 translate 0.035278 -0.035278 scale -start_ol -1485 4224 moveto -2112 4224 lineto -624 -512 lineto -0 -512 lineto -1485 4224 lineto -end_ol grestore -gsave 41.525467 27.439500 translate 0.035278 -0.035278 scale -start_ol -1536 448 moveto -1536 -1216 lineto -512 -1216 lineto -512 3136 lineto -1536 3136 lineto -1536 2688 lineto -1744 2950 1996 3075 conicto -2248 3200 2577 3200 conicto -3158 3200 3531 2743 conicto -3904 2287 3904 1568 conicto -3904 850 3531 393 conicto -3158 -64 2577 -64 conicto -2248 -64 1996 60 conicto -1744 185 1536 448 conicto -2211 2496 moveto -1885 2496 1710 2256 conicto -1536 2017 1536 1567 conicto -1536 1118 1710 879 conicto -1885 640 2211 640 conicto -2536 640 2708 877 conicto -2880 1115 2880 1567 conicto -2880 2020 2708 2258 conicto -2536 2496 2211 2496 conicto -end_ol grestore -gsave 42.067333 27.439500 translate 0.035278 -0.035278 scale -start_ol -512 4352 moveto -1536 4352 lineto -1536 0 lineto -512 0 lineto -512 4352 lineto -end_ol grestore -gsave 42.329800 27.439500 translate 0.035278 -0.035278 scale -start_ol -512 1241 moveto -512 3136 lineto -1536 3136 lineto -1536 2826 lineto -1536 2574 1533 2193 conicto -1530 1812 1530 1684 conicto -1530 1311 1548 1146 conicto -1567 981 1613 906 conicto -1671 809 1766 756 conicto -1861 704 1984 704 conicto -2282 704 2453 942 conicto -2624 1180 2624 1604 conicto -2624 3136 lineto -3648 3136 lineto -3648 0 lineto -2624 0 lineto -2624 448 lineto -2401 185 2152 60 conicto -1903 -64 1604 -64 conicto -1070 -64 791 270 conicto -512 604 512 1241 conicto -end_ol grestore -gsave 42.871667 27.439500 translate 0.035278 -0.035278 scale -start_ol -3008 3072 moveto -3008 2304 lineto -2690 2432 2394 2496 conicto -2098 2560 1835 2560 conicto -1553 2560 1416 2490 conicto -1280 2420 1280 2274 conicto -1280 2156 1380 2093 conicto -1480 2030 1739 2000 conicto -1907 1975 lineto -2671 1876 2935 1651 conicto -3200 1426 3200 946 conicto -3200 443 2827 189 conicto -2455 -64 1717 -64 conicto -1404 -64 1070 -16 conicto -737 32 384 128 conicto -384 896 lineto -685 736 1002 656 conicto -1320 576 1646 576 conicto -1942 576 2091 661 conicto -2240 746 2240 913 conicto -2240 1054 2142 1123 conicto -2045 1192 1755 1231 conicto -1586 1254 lineto -884 1336 602 1559 conicto -320 1783 320 2237 conicto -320 2726 668 2963 conicto -1017 3200 1737 3200 conicto -2020 3200 2331 3169 conicto -2642 3138 3008 3072 conicto -end_ol grestore -gsave 43.328867 27.439500 translate 0.035278 -0.035278 scale -start_ol -576 1088 moveto -1600 1088 lineto -1600 0 lineto -576 0 lineto -576 1088 lineto -end_ol grestore -gsave 43.616733 27.439500 translate 0.035278 -0.035278 scale -start_ol -3008 3072 moveto -3008 2240 lineto -2803 2371 2596 2433 conicto -2390 2496 2169 2496 conicto -1748 2496 1514 2251 conicto -1280 2007 1280 1568 conicto -1280 1130 1514 885 conicto -1748 640 2169 640 conicto -2404 640 2616 704 conicto -2828 769 3008 896 conicto -3008 64 lineto -2774 0 2533 -32 conicto -2293 -64 2051 -64 conicto -1207 -64 731 367 conicto -256 799 256 1568 conicto -256 2337 731 2768 conicto -1207 3200 2051 3200 conicto -2296 3200 2533 3168 conicto -2771 3136 3008 3072 conicto -end_ol grestore -gsave 44.065467 27.439500 translate 0.035278 -0.035278 scale -start_ol -1988 2496 moveto -1642 2496 1461 2257 conicto -1280 2018 1280 1568 conicto -1280 1118 1461 879 conicto -1642 640 1988 640 conicto -2328 640 2508 879 conicto -2688 1118 2688 1568 conicto -2688 2018 2508 2257 conicto -2328 2496 1988 2496 conicto -1988 3200 moveto -2800 3200 3256 2767 conicto -3712 2334 3712 1568 conicto -3712 802 3256 369 conicto -2800 -64 1988 -64 conicto -1173 -64 714 369 conicto -256 802 256 1568 conicto -256 2334 714 2767 conicto -1173 3200 1988 3200 conicto -end_ol grestore -gsave 44.590400 27.439500 translate 0.035278 -0.035278 scale -start_ol -3648 1891 moveto -3648 0 lineto -2624 0 lineto -2624 308 lineto -2624 1447 lineto -2624 1849 2607 2001 conicto -2590 2154 2547 2226 conicto -2491 2324 2395 2378 conicto -2299 2432 2176 2432 conicto -1877 2432 1706 2192 conicto -1536 1952 1536 1528 conicto -1536 0 lineto -512 0 lineto -512 3136 lineto -1536 3136 lineto -1536 2688 lineto -1758 2950 2008 3075 conicto -2259 3200 2562 3200 conicto -3095 3200 3371 2865 conicto -3648 2530 3648 1891 conicto -end_ol grestore -gsave 47.874600 27.983800 translate 0.035278 -0.035278 scale -start_ol -3520 2215 moveto -3520 1692 3735 1390 conicto -3951 1088 4320 1088 conicto -4685 1088 4902 1392 conicto -5120 1696 5120 2215 conicto -5120 2729 4900 3028 conicto -4681 3328 4312 3328 conicto -3951 3328 3735 3028 conicto -3520 2729 3520 2215 conicto -5184 940 moveto -5060 646 4787 483 conicto -4514 320 4149 320 conicto -3443 320 3001 842 conicto -2560 1365 2560 2206 conicto -2560 3046 3003 3571 conicto -3446 4096 4149 4096 conicto -4514 4096 4787 3932 conicto -5060 3768 5184 3477 conicto -5184 4032 lineto -6080 4032 lineto -6080 1088 lineto -6617 1169 6924 1596 conicto -7232 2023 7232 2690 conicto -7232 3115 7109 3487 conicto -6987 3859 6738 4168 conicto -6336 4687 5734 4967 conicto -5133 5248 4431 5248 conicto -3942 5248 3494 5119 conicto -3046 4990 2666 4740 conicto -2041 4325 1692 3667 conicto -1344 3009 1344 2243 conicto -1344 1612 1569 1059 conicto -1794 507 2219 83 conicto -2640 -331 3185 -549 conicto -3730 -768 4348 -768 conicto -4878 -768 5408 -578 conicto -5938 -388 6313 -64 conicto -6784 -719 lineto -6257 -1115 5636 -1325 conicto -5016 -1536 4377 -1536 conicto -3598 -1536 2907 -1260 conicto -2217 -985 1679 -460 conicto -1140 67 858 758 conicto -576 1449 576 2245 conicto -576 3010 862 3703 conicto -1148 4397 1676 4923 conicto -2205 5445 2908 5730 conicto -3612 6016 4368 6016 conicto -5309 6016 6077 5655 conicto -6845 5295 7361 4617 conicto -7676 4203 7838 3720 conicto -8000 3238 8000 2708 conicto -8000 1565 7307 933 conicto -6614 301 5351 301 conicto -5184 301 lineto -5184 940 lineto -end_ol grestore -gsave 43.675733 30.145100 translate 0.035278 -0.035278 scale -start_ol -3008 3072 moveto -3008 2240 lineto -2803 2371 2596 2433 conicto -2390 2496 2169 2496 conicto -1748 2496 1514 2251 conicto -1280 2007 1280 1568 conicto -1280 1130 1514 885 conicto -1748 640 2169 640 conicto -2404 640 2616 704 conicto -2828 769 3008 896 conicto -3008 64 lineto -2774 0 2533 -32 conicto -2293 -64 2051 -64 conicto -1207 -64 731 367 conicto -256 799 256 1568 conicto -256 2337 731 2768 conicto -1207 3200 2051 3200 conicto -2296 3200 2533 3168 conicto -2771 3136 3008 3072 conicto -end_ol grestore -gsave 44.124467 30.145100 translate 0.035278 -0.035278 scale -start_ol -512 3136 moveto -1536 3136 lineto -1536 0 lineto -512 0 lineto -512 3136 lineto -512 4352 moveto -1536 4352 lineto -1536 3520 lineto -512 3520 lineto -512 4352 lineto -end_ol grestore -gsave 44.386933 30.145100 translate 0.035278 -0.035278 scale -start_ol -3008 3072 moveto -3008 2240 lineto -2803 2371 2596 2433 conicto -2390 2496 2169 2496 conicto -1748 2496 1514 2251 conicto -1280 2007 1280 1568 conicto -1280 1130 1514 885 conicto -1748 640 2169 640 conicto -2404 640 2616 704 conicto -2828 769 3008 896 conicto -3008 64 lineto -2774 0 2533 -32 conicto -2293 -64 2051 -64 conicto -1207 -64 731 367 conicto -256 799 256 1568 conicto -256 2337 731 2768 conicto -1207 3200 2051 3200 conicto -2296 3200 2533 3168 conicto -2771 3136 3008 3072 conicto -end_ol grestore -gsave 44.835667 30.145100 translate 0.035278 -0.035278 scale -start_ol -640 3136 moveto -1664 3136 lineto -1664 2048 lineto -640 2048 lineto -640 3136 lineto -640 1088 moveto -1664 1088 lineto -1664 0 lineto -640 0 lineto -640 1088 lineto -end_ol grestore -gsave 45.140467 30.145100 translate 0.035278 -0.035278 scale -start_ol -1485 4224 moveto -2112 4224 lineto -624 -512 lineto -0 -512 lineto -1485 4224 lineto -end_ol grestore -gsave 45.419867 30.145100 translate 0.035278 -0.035278 scale -start_ol -576 1088 moveto -1600 1088 lineto -1600 0 lineto -576 0 lineto -576 1088 lineto -end_ol grestore -gsave 45.707733 30.145100 translate 0.035278 -0.035278 scale -start_ol -576 1088 moveto -1600 1088 lineto -1600 0 lineto -576 0 lineto -576 1088 lineto -end_ol grestore -gsave 45.995600 30.145100 translate 0.035278 -0.035278 scale -start_ol -1485 4224 moveto -2112 4224 lineto -624 -512 lineto -0 -512 lineto -1485 4224 lineto -end_ol grestore -gsave 46.275000 30.145100 translate 0.035278 -0.035278 scale -start_ol -512 4352 moveto -1536 4352 lineto -1536 0 lineto -512 0 lineto -512 4352 lineto -end_ol grestore -gsave 46.537467 30.145100 translate 0.035278 -0.035278 scale -start_ol -3648 1891 moveto -3648 0 lineto -2624 0 lineto -2624 308 lineto -2624 1447 lineto -2624 1849 2607 2001 conicto -2590 2154 2547 2226 conicto -2491 2324 2395 2378 conicto -2299 2432 2176 2432 conicto -1877 2432 1706 2192 conicto -1536 1952 1536 1528 conicto -1536 0 lineto -512 0 lineto -512 3136 lineto -1536 3136 lineto -1536 2688 lineto -1758 2950 2008 3075 conicto -2259 3200 2562 3200 conicto -3095 3200 3371 2865 conicto -3648 2530 3648 1891 conicto -end_ol grestore -gsave 47.079333 30.145100 translate 0.035278 -0.035278 scale -start_ol -576 1088 moveto -1600 1088 lineto -1600 0 lineto -576 0 lineto -576 1088 lineto -end_ol grestore -gsave 47.367200 30.145100 translate 0.035278 -0.035278 scale -start_ol -3008 3072 moveto -3008 2240 lineto -2803 2371 2596 2433 conicto -2390 2496 2169 2496 conicto -1748 2496 1514 2251 conicto -1280 2007 1280 1568 conicto -1280 1130 1514 885 conicto -1748 640 2169 640 conicto -2404 640 2616 704 conicto -2828 769 3008 896 conicto -3008 64 lineto -2774 0 2533 -32 conicto -2293 -64 2051 -64 conicto -1207 -64 731 367 conicto -256 799 256 1568 conicto -256 2337 731 2768 conicto -1207 3200 2051 3200 conicto -2296 3200 2533 3168 conicto -2771 3136 3008 3072 conicto -end_ol grestore -gsave 47.815933 30.145100 translate 0.035278 -0.035278 scale -start_ol -1988 2496 moveto -1642 2496 1461 2257 conicto -1280 2018 1280 1568 conicto -1280 1118 1461 879 conicto -1642 640 1988 640 conicto -2328 640 2508 879 conicto -2688 1118 2688 1568 conicto -2688 2018 2508 2257 conicto -2328 2496 1988 2496 conicto -1988 3200 moveto -2800 3200 3256 2767 conicto -3712 2334 3712 1568 conicto -3712 802 3256 369 conicto -2800 -64 1988 -64 conicto -1173 -64 714 369 conicto -256 802 256 1568 conicto -256 2334 714 2767 conicto -1173 3200 1988 3200 conicto -end_ol grestore -gsave 48.340867 30.145100 translate 0.035278 -0.035278 scale -start_ol -3648 1891 moveto -3648 0 lineto -2624 0 lineto -2624 308 lineto -2624 1447 lineto -2624 1849 2607 2001 conicto -2590 2154 2547 2226 conicto -2491 2324 2395 2378 conicto -2299 2432 2176 2432 conicto -1877 2432 1706 2192 conicto -1536 1952 1536 1528 conicto -1536 0 lineto -512 0 lineto -512 3136 lineto -1536 3136 lineto -1536 2688 lineto -1758 2950 2008 3075 conicto -2259 3200 2562 3200 conicto -3095 3200 3371 2865 conicto -3648 2530 3648 1891 conicto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 45.409600 25.875100 m 44.109600 26.675100 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 45.959600 26.025100 m 45.959600 27.125100 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 46.409600 25.925100 m 47.909600 27.075100 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 47.959600 28.375100 m 46.184600 29.442600 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 49.059600 28.275100 m 50.034600 29.242600 l s -gsave 37.405767 25.512600 translate 0.035278 -0.035278 scale -start_ol -3008 3072 moveto -3008 2240 lineto -2803 2371 2596 2433 conicto -2390 2496 2169 2496 conicto -1748 2496 1514 2251 conicto -1280 2007 1280 1568 conicto -1280 1130 1514 885 conicto -1748 640 2169 640 conicto -2404 640 2616 704 conicto -2828 769 3008 896 conicto -3008 64 lineto -2774 0 2533 -32 conicto -2293 -64 2051 -64 conicto -1207 -64 731 367 conicto -256 799 256 1568 conicto -256 2337 731 2768 conicto -1207 3200 2051 3200 conicto -2296 3200 2533 3168 conicto -2771 3136 3008 3072 conicto -end_ol grestore -gsave 37.854500 25.512600 translate 0.035278 -0.035278 scale -start_ol -512 3136 moveto -1536 3136 lineto -1536 0 lineto -512 0 lineto -512 3136 lineto -512 4352 moveto -1536 4352 lineto -1536 3520 lineto -512 3520 lineto -512 4352 lineto -end_ol grestore -gsave 38.116967 25.512600 translate 0.035278 -0.035278 scale -start_ol -3008 3072 moveto -3008 2240 lineto -2803 2371 2596 2433 conicto -2390 2496 2169 2496 conicto -1748 2496 1514 2251 conicto -1280 2007 1280 1568 conicto -1280 1130 1514 885 conicto -1748 640 2169 640 conicto -2404 640 2616 704 conicto -2828 769 3008 896 conicto -3008 64 lineto -2774 0 2533 -32 conicto -2293 -64 2051 -64 conicto -1207 -64 731 367 conicto -256 799 256 1568 conicto -256 2337 731 2768 conicto -1207 3200 2051 3200 conicto -2296 3200 2533 3168 conicto -2771 3136 3008 3072 conicto -end_ol grestore -gsave 38.565700 25.512600 translate 0.035278 -0.035278 scale -start_ol -640 3136 moveto -1664 3136 lineto -1664 2048 lineto -640 2048 lineto -640 3136 lineto -640 1088 moveto -1664 1088 lineto -1664 0 lineto -640 0 lineto -640 1088 lineto -end_ol grestore -gsave 38.870500 25.512600 translate 0.035278 -0.035278 scale -start_ol -1485 4224 moveto -2112 4224 lineto -624 -512 lineto -0 -512 lineto -1485 4224 lineto -end_ol grestore -gsave 39.149900 25.512600 translate 0.035278 -0.035278 scale -start_ol -576 1088 moveto -1600 1088 lineto -1600 0 lineto -576 0 lineto -576 1088 lineto -end_ol grestore -gsave 39.437767 25.512600 translate 0.035278 -0.035278 scale -start_ol -576 1088 moveto -1600 1088 lineto -1600 0 lineto -576 0 lineto -576 1088 lineto -end_ol grestore -gsave 39.725633 25.512600 translate 0.035278 -0.035278 scale -start_ol -1485 4224 moveto -2112 4224 lineto -624 -512 lineto -0 -512 lineto -1485 4224 lineto -end_ol grestore -gsave 40.005033 25.512600 translate 0.035278 -0.035278 scale -start_ol -3648 1891 moveto -3648 0 lineto -2624 0 lineto -2624 308 lineto -2624 1447 lineto -2624 1849 2607 2001 conicto -2590 2154 2547 2226 conicto -2491 2324 2395 2378 conicto -2299 2432 2176 2432 conicto -1877 2432 1706 2192 conicto -1536 1952 1536 1528 conicto -1536 0 lineto -512 0 lineto -512 3136 lineto -1536 3136 lineto -1536 2688 lineto -1758 2950 2008 3075 conicto -2259 3200 2562 3200 conicto -3095 3200 3371 2865 conicto -3648 2530 3648 1891 conicto -end_ol grestore -gsave 40.546900 25.512600 translate 0.035278 -0.035278 scale -start_ol -1911 1472 moveto -1597 1472 1438 1356 conicto -1280 1241 1280 1016 conicto -1280 809 1407 692 conicto -1535 576 1762 576 conicto -2045 576 2238 796 conicto -2432 1017 2432 1347 conicto -2432 1472 lineto -1911 1472 lineto -3456 1836 moveto -3456 0 lineto -2432 0 lineto -2432 512 lineto -2229 211 1975 73 conicto -1721 -64 1358 -64 conicto -867 -64 561 223 conicto -256 511 256 969 conicto -256 1527 638 1787 conicto -1021 2048 1840 2048 conicto -2432 2048 lineto -2432 2119 lineto -2432 2347 2241 2453 conicto -2050 2560 1646 2560 conicto -1318 2560 1036 2496 conicto -754 2432 512 2304 conicto -512 3072 lineto -842 3134 1174 3167 conicto -1507 3200 1840 3200 conicto -2697 3200 3076 2879 conicto -3456 2559 3456 1836 conicto -end_ol grestore -gsave 41.063367 25.512600 translate 0.035278 -0.035278 scale -start_ol -1600 4032 moveto -1600 3136 lineto -2624 3136 lineto -2624 2432 lineto -1600 2432 lineto -1600 1082 lineto -1600 861 1688 782 conicto -1777 704 2038 704 conicto -2560 704 lineto -2560 0 lineto -1689 0 lineto -1082 0 829 246 conicto -576 493 576 1082 conicto -576 2432 lineto -64 2432 lineto -64 3136 lineto -576 3136 lineto -576 4032 lineto -1600 4032 lineto -end_ol grestore -gsave 41.427433 25.512600 translate 0.035278 -0.035278 scale -start_ol -576 1088 moveto -1600 1088 lineto -1600 0 lineto -576 0 lineto -576 1088 lineto -end_ol grestore -gsave 41.715300 25.512600 translate 0.035278 -0.035278 scale -start_ol -512 3136 moveto -1536 3136 lineto -1536 0 lineto -512 0 lineto -512 3136 lineto -512 4352 moveto -1536 4352 lineto -1536 3520 lineto -512 3520 lineto -512 4352 lineto -end_ol grestore -gsave 41.977767 25.512600 translate 0.035278 -0.035278 scale -start_ol -3648 1891 moveto -3648 0 lineto -2624 0 lineto -2624 308 lineto -2624 1447 lineto -2624 1849 2607 2001 conicto -2590 2154 2547 2226 conicto -2491 2324 2395 2378 conicto -2299 2432 2176 2432 conicto -1877 2432 1706 2192 conicto -1536 1952 1536 1528 conicto -1536 0 lineto -512 0 lineto -512 3136 lineto -1536 3136 lineto -1536 2688 lineto -1758 2950 2008 3075 conicto -2259 3200 2562 3200 conicto -3095 3200 3371 2865 conicto -3648 2530 3648 1891 conicto -end_ol grestore -gsave 42.519633 25.512600 translate 0.035278 -0.035278 scale -start_ol -2624 2688 moveto -2624 4352 lineto -3648 4352 lineto -3648 0 lineto -2624 0 lineto -2624 448 lineto -2416 182 2165 59 conicto -1915 -64 1586 -64 conicto -1004 -64 630 393 conicto -256 850 256 1568 conicto -256 2287 630 2743 conicto -1004 3200 1586 3200 conicto -1912 3200 2164 3075 conicto -2416 2950 2624 2688 conicto -1950 640 moveto -2279 640 2451 877 conicto -2624 1115 2624 1567 conicto -2624 2020 2451 2258 conicto -2279 2496 1950 2496 conicto -1626 2496 1453 2258 conicto -1280 2020 1280 1567 conicto -1280 1115 1453 877 conicto -1626 640 1950 640 conicto -end_ol grestore -gsave 43.061500 25.512600 translate 0.035278 -0.035278 scale -start_ol -2549 4160 moveto -2279 3008 lineto -3020 3008 lineto -3292 4160 lineto -3912 4160 lineto -3639 3008 lineto -4416 3008 lineto -4416 2432 lineto -3491 2432 lineto -3297 1664 lineto -4094 1664 lineto -4094 1088 lineto -3152 1088 lineto -2883 0 lineto -2262 0 lineto -2532 1088 lineto -1792 1088 lineto -1523 0 lineto -897 0 lineto -1167 1088 lineto -384 1088 lineto -384 1664 lineto -1303 1664 lineto -1500 2432 lineto -706 2432 lineto -706 3008 lineto -1654 3008 lineto -1923 4160 lineto -2549 4160 lineto -2866 2432 moveto -2126 2432 lineto -1929 1664 lineto -2669 1664 lineto -2866 2432 lineto -end_ol grestore -gsave 43.696500 25.512600 translate 0.035278 -0.035278 scale -start_ol -640 768 moveto -1600 768 lineto -1600 3456 lineto -640 3264 lineto -640 4032 lineto -1600 4224 lineto -2624 4224 lineto -2624 768 lineto -3584 768 lineto -3584 0 lineto -640 0 lineto -640 768 lineto -end_ol grestore -gsave 44.229900 25.512600 translate 0.035278 -0.035278 scale -start_ol -1485 4224 moveto -2112 4224 lineto -624 -512 lineto -0 -512 lineto -1485 4224 lineto -end_ol grestore -gsave 44.509300 25.512600 translate 0.035278 -0.035278 scale -start_ol -640 768 moveto -1600 768 lineto -1600 3456 lineto -640 3264 lineto -640 4032 lineto -1600 4224 lineto -2624 4224 lineto -2624 768 lineto -3584 768 lineto -3584 0 lineto -640 0 lineto -640 768 lineto -end_ol grestore -gsave 48.383067 25.412600 translate 0.035278 -0.035278 scale -start_ol -2054 2368 moveto -2394 2368 2541 2496 conicto -2688 2624 2688 2917 conicto -2688 3206 2541 3331 conicto -2394 3456 2054 3456 conicto -1600 3456 lineto -1600 2368 lineto -2054 2368 lineto -1600 1600 moveto -1600 0 lineto -512 0 lineto -512 4224 lineto -2169 4224 lineto -3000 4224 3388 3945 conicto -3776 3666 3776 3063 conicto -3776 2646 3573 2378 conicto -3371 2111 2964 1984 conicto -3188 1933 3364 1751 conicto -3541 1569 3722 1201 conicto -4288 0 lineto -3154 0 lineto -2640 1050 lineto -2485 1367 2327 1483 conicto -2169 1600 1905 1600 conicto -1600 1600 lineto -end_ol grestore -gsave 48.967267 25.412600 translate 0.035278 -0.035278 scale -start_ol -3648 1575 moveto -3648 1280 lineto -1280 1280 lineto -1318 928 1540 752 conicto -1763 576 2163 576 conicto -2486 576 2824 671 conicto -3163 766 3520 960 conicto -3520 192 lineto -3159 65 2798 0 conicto -2438 -64 2076 -64 conicto -1213 -64 734 365 conicto -256 794 256 1568 conicto -256 2329 722 2764 conicto -1189 3200 2008 3200 conicto -2754 3200 3201 2758 conicto -3648 2316 3648 1575 conicto -2624 1920 moveto -2624 2207 2453 2383 conicto -2283 2560 2007 2560 conicto -1710 2560 1523 2395 conicto -1337 2230 1291 1920 conicto -2624 1920 lineto -end_ol grestore -gsave 49.483733 25.412600 translate 0.035278 -0.035278 scale -start_ol -512 4352 moveto -1536 4352 lineto -1536 0 lineto -512 0 lineto -512 4352 lineto -end_ol grestore -gsave 49.746200 25.412600 translate 0.035278 -0.035278 scale -start_ol -2176 -768 moveto -1357 -768 lineto -925 -75 718 549 conicto -512 1174 512 1789 conicto -512 2404 719 3034 conicto -927 3664 1357 4352 conicto -2176 4352 lineto -1824 3686 1648 3050 conicto -1472 2415 1472 1794 conicto -1472 1174 1646 537 conicto -1821 -100 2176 -768 conicto -end_ol grestore -gsave 50.093333 25.412600 translate 0.035278 -0.035278 scale -start_ol -640 768 moveto -1600 768 lineto -1600 3456 lineto -640 3264 lineto -640 4032 lineto -1600 4224 lineto -2624 4224 lineto -2624 768 lineto -3584 768 lineto -3584 0 lineto -640 0 lineto -640 768 lineto -end_ol grestore -gsave 50.626733 25.412600 translate 0.035278 -0.035278 scale -start_ol -448 -768 moveto -800 -100 976 537 conicto -1152 1174 1152 1794 conicto -1152 2415 976 3050 conicto -800 3686 448 4352 conicto -1268 4352 lineto -1697 3664 1904 3034 conicto -2112 2404 2112 1789 conicto -2112 1174 1906 549 conicto -1700 -75 1268 -768 conicto -448 -768 lineto -end_ol grestore -gsave 44.608067 28.212600 translate 0.035278 -0.035278 scale -start_ol -2054 2368 moveto -2394 2368 2541 2496 conicto -2688 2624 2688 2917 conicto -2688 3206 2541 3331 conicto -2394 3456 2054 3456 conicto -1600 3456 lineto -1600 2368 lineto -2054 2368 lineto -1600 1600 moveto -1600 0 lineto -512 0 lineto -512 4224 lineto -2169 4224 lineto -3000 4224 3388 3945 conicto -3776 3666 3776 3063 conicto -3776 2646 3573 2378 conicto -3371 2111 2964 1984 conicto -3188 1933 3364 1751 conicto -3541 1569 3722 1201 conicto -4288 0 lineto -3154 0 lineto -2640 1050 lineto -2485 1367 2327 1483 conicto -2169 1600 1905 1600 conicto -1600 1600 lineto -end_ol grestore -gsave 45.192267 28.212600 translate 0.035278 -0.035278 scale -start_ol -3648 1575 moveto -3648 1280 lineto -1280 1280 lineto -1318 928 1540 752 conicto -1763 576 2163 576 conicto -2486 576 2824 671 conicto -3163 766 3520 960 conicto -3520 192 lineto -3159 65 2798 0 conicto -2438 -64 2076 -64 conicto -1213 -64 734 365 conicto -256 794 256 1568 conicto -256 2329 722 2764 conicto -1189 3200 2008 3200 conicto -2754 3200 3201 2758 conicto -3648 2316 3648 1575 conicto -2624 1920 moveto -2624 2207 2453 2383 conicto -2283 2560 2007 2560 conicto -1710 2560 1523 2395 conicto -1337 2230 1291 1920 conicto -2624 1920 lineto -end_ol grestore -gsave 45.708733 28.212600 translate 0.035278 -0.035278 scale -start_ol -512 4352 moveto -1536 4352 lineto -1536 0 lineto -512 0 lineto -512 4352 lineto -end_ol grestore -gsave 45.971200 28.212600 translate 0.035278 -0.035278 scale -start_ol -2176 -768 moveto -1357 -768 lineto -925 -75 718 549 conicto -512 1174 512 1789 conicto -512 2404 719 3034 conicto -927 3664 1357 4352 conicto -2176 4352 lineto -1824 3686 1648 3050 conicto -1472 2415 1472 1794 conicto -1472 1174 1646 537 conicto -1821 -100 2176 -768 conicto -end_ol grestore -gsave 46.318333 28.212600 translate 0.035278 -0.035278 scale -start_ol -640 768 moveto -1600 768 lineto -1600 3456 lineto -640 3264 lineto -640 4032 lineto -1600 4224 lineto -2624 4224 lineto -2624 768 lineto -3584 768 lineto -3584 0 lineto -640 0 lineto -640 768 lineto -end_ol grestore -gsave 46.851733 28.212600 translate 0.035278 -0.035278 scale -start_ol -448 -768 moveto -800 -100 976 537 conicto -1152 1174 1152 1794 conicto -1152 2415 976 3050 conicto -800 3686 448 4352 conicto -1268 4352 lineto -1697 3664 1904 3034 conicto -2112 2404 2112 1789 conicto -2112 1174 1906 549 conicto -1700 -75 1268 -768 conicto -448 -768 lineto -end_ol grestore -gsave 49.744600 30.312600 translate 0.035278 -0.035278 scale -start_ol -3520 2215 moveto -3520 1692 3735 1390 conicto -3951 1088 4320 1088 conicto -4685 1088 4902 1392 conicto -5120 1696 5120 2215 conicto -5120 2729 4900 3028 conicto -4681 3328 4312 3328 conicto -3951 3328 3735 3028 conicto -3520 2729 3520 2215 conicto -5184 940 moveto -5060 646 4787 483 conicto -4514 320 4149 320 conicto -3443 320 3001 842 conicto -2560 1365 2560 2206 conicto -2560 3046 3003 3571 conicto -3446 4096 4149 4096 conicto -4514 4096 4787 3932 conicto -5060 3768 5184 3477 conicto -5184 4032 lineto -6080 4032 lineto -6080 1088 lineto -6617 1169 6924 1596 conicto -7232 2023 7232 2690 conicto -7232 3115 7109 3487 conicto -6987 3859 6738 4168 conicto -6336 4687 5734 4967 conicto -5133 5248 4431 5248 conicto -3942 5248 3494 5119 conicto -3046 4990 2666 4740 conicto -2041 4325 1692 3667 conicto -1344 3009 1344 2243 conicto -1344 1612 1569 1059 conicto -1794 507 2219 83 conicto -2640 -331 3185 -549 conicto -3730 -768 4348 -768 conicto -4878 -768 5408 -578 conicto -5938 -388 6313 -64 conicto -6784 -719 lineto -6257 -1115 5636 -1325 conicto -5016 -1536 4377 -1536 conicto -3598 -1536 2907 -1260 conicto -2217 -985 1679 -460 conicto -1140 67 858 758 conicto -576 1449 576 2245 conicto -576 3010 862 3703 conicto -1148 4397 1676 4923 conicto -2205 5445 2908 5730 conicto -3612 6016 4368 6016 conicto -5309 6016 6077 5655 conicto -6845 5295 7361 4617 conicto -7676 4203 7838 3720 conicto -8000 3238 8000 2708 conicto -8000 1565 7307 933 conicto -6614 301 5351 301 conicto -5184 301 lineto -5184 940 lineto -end_ol grestore -gsave 43.228600 32.062600 translate 0.035278 -0.035278 scale -start_ol -3008 3072 moveto -3008 2240 lineto -2803 2371 2596 2433 conicto -2390 2496 2169 2496 conicto -1748 2496 1514 2251 conicto -1280 2007 1280 1568 conicto -1280 1130 1514 885 conicto -1748 640 2169 640 conicto -2404 640 2616 704 conicto -2828 769 3008 896 conicto -3008 64 lineto -2774 0 2533 -32 conicto -2293 -64 2051 -64 conicto -1207 -64 731 367 conicto -256 799 256 1568 conicto -256 2337 731 2768 conicto -1207 3200 2051 3200 conicto -2296 3200 2533 3168 conicto -2771 3136 3008 3072 conicto -end_ol grestore -gsave 43.677333 32.062600 translate 0.035278 -0.035278 scale -start_ol -512 3136 moveto -1536 3136 lineto -1536 0 lineto -512 0 lineto -512 3136 lineto -512 4352 moveto -1536 4352 lineto -1536 3520 lineto -512 3520 lineto -512 4352 lineto -end_ol grestore -gsave 43.939800 32.062600 translate 0.035278 -0.035278 scale -start_ol -3008 3072 moveto -3008 2240 lineto -2803 2371 2596 2433 conicto -2390 2496 2169 2496 conicto -1748 2496 1514 2251 conicto -1280 2007 1280 1568 conicto -1280 1130 1514 885 conicto -1748 640 2169 640 conicto -2404 640 2616 704 conicto -2828 769 3008 896 conicto -3008 64 lineto -2774 0 2533 -32 conicto -2293 -64 2051 -64 conicto -1207 -64 731 367 conicto -256 799 256 1568 conicto -256 2337 731 2768 conicto -1207 3200 2051 3200 conicto -2296 3200 2533 3168 conicto -2771 3136 3008 3072 conicto -end_ol grestore -gsave 44.388533 32.062600 translate 0.035278 -0.035278 scale -start_ol -640 3136 moveto -1664 3136 lineto -1664 2048 lineto -640 2048 lineto -640 3136 lineto -640 1088 moveto -1664 1088 lineto -1664 0 lineto -640 0 lineto -640 1088 lineto -end_ol grestore -gsave 44.693333 32.062600 translate 0.035278 -0.035278 scale -start_ol -1485 4224 moveto -2112 4224 lineto -624 -512 lineto -0 -512 lineto -1485 4224 lineto -end_ol grestore -gsave 44.972733 32.062600 translate 0.035278 -0.035278 scale -start_ol -576 1088 moveto -1600 1088 lineto -1600 0 lineto -576 0 lineto -576 1088 lineto -end_ol grestore -gsave 45.260600 32.062600 translate 0.035278 -0.035278 scale -start_ol -576 1088 moveto -1600 1088 lineto -1600 0 lineto -576 0 lineto -576 1088 lineto -end_ol grestore -gsave 45.548467 32.062600 translate 0.035278 -0.035278 scale -start_ol -1485 4224 moveto -2112 4224 lineto -624 -512 lineto -0 -512 lineto -1485 4224 lineto -end_ol grestore -gsave 45.827867 32.062600 translate 0.035278 -0.035278 scale -start_ol -3648 1891 moveto -3648 0 lineto -2624 0 lineto -2624 308 lineto -2624 1447 lineto -2624 1849 2607 2001 conicto -2590 2154 2547 2226 conicto -2491 2324 2395 2378 conicto -2299 2432 2176 2432 conicto -1877 2432 1706 2192 conicto -1536 1952 1536 1528 conicto -1536 0 lineto -512 0 lineto -512 3136 lineto -1536 3136 lineto -1536 2688 lineto -1758 2950 2008 3075 conicto -2259 3200 2562 3200 conicto -3095 3200 3371 2865 conicto -3648 2530 3648 1891 conicto -end_ol grestore -gsave 46.369733 32.062600 translate 0.035278 -0.035278 scale -start_ol -1911 1472 moveto -1597 1472 1438 1356 conicto -1280 1241 1280 1016 conicto -1280 809 1407 692 conicto -1535 576 1762 576 conicto -2045 576 2238 796 conicto -2432 1017 2432 1347 conicto -2432 1472 lineto -1911 1472 lineto -3456 1836 moveto -3456 0 lineto -2432 0 lineto -2432 512 lineto -2229 211 1975 73 conicto -1721 -64 1358 -64 conicto -867 -64 561 223 conicto -256 511 256 969 conicto -256 1527 638 1787 conicto -1021 2048 1840 2048 conicto -2432 2048 lineto -2432 2119 lineto -2432 2347 2241 2453 conicto -2050 2560 1646 2560 conicto -1318 2560 1036 2496 conicto -754 2432 512 2304 conicto -512 3072 lineto -842 3134 1174 3167 conicto -1507 3200 1840 3200 conicto -2697 3200 3076 2879 conicto -3456 2559 3456 1836 conicto -end_ol grestore -gsave 46.886200 32.062600 translate 0.035278 -0.035278 scale -start_ol -1600 4032 moveto -1600 3136 lineto -2624 3136 lineto -2624 2432 lineto -1600 2432 lineto -1600 1082 lineto -1600 861 1688 782 conicto -1777 704 2038 704 conicto -2560 704 lineto -2560 0 lineto -1689 0 lineto -1082 0 829 246 conicto -576 493 576 1082 conicto -576 2432 lineto -64 2432 lineto -64 3136 lineto -576 3136 lineto -576 4032 lineto -1600 4032 lineto -end_ol grestore -gsave 47.250267 32.062600 translate 0.035278 -0.035278 scale -start_ol -576 1088 moveto -1600 1088 lineto -1600 0 lineto -576 0 lineto -576 1088 lineto -end_ol grestore -gsave 47.538133 32.062600 translate 0.035278 -0.035278 scale -start_ol -512 3136 moveto -1536 3136 lineto -1536 0 lineto -512 0 lineto -512 3136 lineto -512 4352 moveto -1536 4352 lineto -1536 3520 lineto -512 3520 lineto -512 4352 lineto -end_ol grestore -gsave 47.800600 32.062600 translate 0.035278 -0.035278 scale -start_ol -3648 1891 moveto -3648 0 lineto -2624 0 lineto -2624 308 lineto -2624 1447 lineto -2624 1849 2607 2001 conicto -2590 2154 2547 2226 conicto -2491 2324 2395 2378 conicto -2299 2432 2176 2432 conicto -1877 2432 1706 2192 conicto -1536 1952 1536 1528 conicto -1536 0 lineto -512 0 lineto -512 3136 lineto -1536 3136 lineto -1536 2688 lineto -1758 2950 2008 3075 conicto -2259 3200 2562 3200 conicto -3095 3200 3371 2865 conicto -3648 2530 3648 1891 conicto -end_ol grestore -gsave 48.342467 32.062600 translate 0.035278 -0.035278 scale -start_ol -2624 2688 moveto -2624 4352 lineto -3648 4352 lineto -3648 0 lineto -2624 0 lineto -2624 448 lineto -2416 182 2165 59 conicto -1915 -64 1586 -64 conicto -1004 -64 630 393 conicto -256 850 256 1568 conicto -256 2287 630 2743 conicto -1004 3200 1586 3200 conicto -1912 3200 2164 3075 conicto -2416 2950 2624 2688 conicto -1950 640 moveto -2279 640 2451 877 conicto -2624 1115 2624 1567 conicto -2624 2020 2451 2258 conicto -2279 2496 1950 2496 conicto -1626 2496 1453 2258 conicto -1280 2020 1280 1567 conicto -1280 1115 1453 877 conicto -1626 640 1950 640 conicto -end_ol grestore -gsave 48.884333 32.062600 translate 0.035278 -0.035278 scale -start_ol -2549 4160 moveto -2279 3008 lineto -3020 3008 lineto -3292 4160 lineto -3912 4160 lineto -3639 3008 lineto -4416 3008 lineto -4416 2432 lineto -3491 2432 lineto -3297 1664 lineto -4094 1664 lineto -4094 1088 lineto -3152 1088 lineto -2883 0 lineto -2262 0 lineto -2532 1088 lineto -1792 1088 lineto -1523 0 lineto -897 0 lineto -1167 1088 lineto -384 1088 lineto -384 1664 lineto -1303 1664 lineto -1500 2432 lineto -706 2432 lineto -706 3008 lineto -1654 3008 lineto -1923 4160 lineto -2549 4160 lineto -2866 2432 moveto -2126 2432 lineto -1929 1664 lineto -2669 1664 lineto -2866 2432 lineto -end_ol grestore -gsave 49.519333 32.062600 translate 0.035278 -0.035278 scale -start_ol -640 768 moveto -1600 768 lineto -1600 3456 lineto -640 3264 lineto -640 4032 lineto -1600 4224 lineto -2624 4224 lineto -2624 768 lineto -3584 768 lineto -3584 0 lineto -640 0 lineto -640 768 lineto -end_ol grestore -gsave 50.052733 32.062600 translate 0.035278 -0.035278 scale -start_ol -1485 4224 moveto -2112 4224 lineto -624 -512 lineto -0 -512 lineto -1485 4224 lineto -end_ol grestore -gsave 50.332133 32.062600 translate 0.035278 -0.035278 scale -start_ol -640 768 moveto -1600 768 lineto -1600 3456 lineto -640 3264 lineto -640 4032 lineto -1600 4224 lineto -2624 4224 lineto -2624 768 lineto -3584 768 lineto -3584 0 lineto -640 0 lineto -640 768 lineto -end_ol grestore -gsave 50.865533 32.062600 translate 0.035278 -0.035278 scale -start_ol -1485 4224 moveto -2112 4224 lineto -624 -512 lineto -0 -512 lineto -1485 4224 lineto -end_ol grestore -gsave 51.144933 32.062600 translate 0.035278 -0.035278 scale -start_ol -1677 832 moveto -3520 832 lineto -3520 0 lineto -448 0 lineto -448 832 lineto -2016 2182 lineto -2229 2369 2330 2548 conicto -2432 2728 2432 2921 conicto -2432 3220 2227 3402 conicto -2023 3584 1683 3584 conicto -1422 3584 1112 3471 conicto -802 3359 448 3136 conicto -448 4032 lineto -821 4156 1185 4222 conicto -1550 4288 1899 4288 conicto -2668 4288 3094 3958 conicto -3520 3629 3520 3041 conicto -3520 2700 3343 2405 conicto -3166 2111 2598 1617 conicto -1677 832 lineto -end_ol grestore -gsave 48.839367 32.892600 translate 0.035278 -0.035278 scale -start_ol -3008 3072 moveto -3008 2240 lineto -2803 2371 2596 2433 conicto -2390 2496 2169 2496 conicto -1748 2496 1514 2251 conicto -1280 2007 1280 1568 conicto -1280 1130 1514 885 conicto -1748 640 2169 640 conicto -2404 640 2616 704 conicto -2828 769 3008 896 conicto -3008 64 lineto -2774 0 2533 -32 conicto -2293 -64 2051 -64 conicto -1207 -64 731 367 conicto -256 799 256 1568 conicto -256 2337 731 2768 conicto -1207 3200 2051 3200 conicto -2296 3200 2533 3168 conicto -2771 3136 3008 3072 conicto -end_ol grestore -gsave 49.288100 32.892600 translate 0.035278 -0.035278 scale -start_ol -512 3136 moveto -1536 3136 lineto -1536 0 lineto -512 0 lineto -512 3136 lineto -512 4352 moveto -1536 4352 lineto -1536 3520 lineto -512 3520 lineto -512 4352 lineto -end_ol grestore -gsave 49.550567 32.892600 translate 0.035278 -0.035278 scale -start_ol -3008 3072 moveto -3008 2240 lineto -2803 2371 2596 2433 conicto -2390 2496 2169 2496 conicto -1748 2496 1514 2251 conicto -1280 2007 1280 1568 conicto -1280 1130 1514 885 conicto -1748 640 2169 640 conicto -2404 640 2616 704 conicto -2828 769 3008 896 conicto -3008 64 lineto -2774 0 2533 -32 conicto -2293 -64 2051 -64 conicto -1207 -64 731 367 conicto -256 799 256 1568 conicto -256 2337 731 2768 conicto -1207 3200 2051 3200 conicto -2296 3200 2533 3168 conicto -2771 3136 3008 3072 conicto -end_ol grestore -gsave 49.999300 32.892600 translate 0.035278 -0.035278 scale -start_ol -640 3136 moveto -1664 3136 lineto -1664 2048 lineto -640 2048 lineto -640 3136 lineto -640 1088 moveto -1664 1088 lineto -1664 0 lineto -640 0 lineto -640 1088 lineto -end_ol grestore -gsave 50.304100 32.892600 translate 0.035278 -0.035278 scale -start_ol -1485 4224 moveto -2112 4224 lineto -624 -512 lineto -0 -512 lineto -1485 4224 lineto -end_ol grestore -gsave 50.583500 32.892600 translate 0.035278 -0.035278 scale -start_ol -576 1088 moveto -1600 1088 lineto -1600 0 lineto -576 0 lineto -576 1088 lineto -end_ol grestore -gsave 50.871367 32.892600 translate 0.035278 -0.035278 scale -start_ol -576 1088 moveto -1600 1088 lineto -1600 0 lineto -576 0 lineto -576 1088 lineto -end_ol grestore -gsave 51.159233 32.892600 translate 0.035278 -0.035278 scale -start_ol -1485 4224 moveto -2112 4224 lineto -624 -512 lineto -0 -512 lineto -1485 4224 lineto -end_ol grestore -gsave 51.438633 32.892600 translate 0.035278 -0.035278 scale -start_ol -3648 1891 moveto -3648 0 lineto -2624 0 lineto -2624 308 lineto -2624 1447 lineto -2624 1849 2607 2001 conicto -2590 2154 2547 2226 conicto -2491 2324 2395 2378 conicto -2299 2432 2176 2432 conicto -1877 2432 1706 2192 conicto -1536 1952 1536 1528 conicto -1536 0 lineto -512 0 lineto -512 3136 lineto -1536 3136 lineto -1536 2688 lineto -1758 2950 2008 3075 conicto -2259 3200 2562 3200 conicto -3095 3200 3371 2865 conicto -3648 2530 3648 1891 conicto -end_ol grestore -gsave 51.980500 32.892600 translate 0.035278 -0.035278 scale -start_ol -1911 1472 moveto -1597 1472 1438 1356 conicto -1280 1241 1280 1016 conicto -1280 809 1407 692 conicto -1535 576 1762 576 conicto -2045 576 2238 796 conicto -2432 1017 2432 1347 conicto -2432 1472 lineto -1911 1472 lineto -3456 1836 moveto -3456 0 lineto -2432 0 lineto -2432 512 lineto -2229 211 1975 73 conicto -1721 -64 1358 -64 conicto -867 -64 561 223 conicto -256 511 256 969 conicto -256 1527 638 1787 conicto -1021 2048 1840 2048 conicto -2432 2048 lineto -2432 2119 lineto -2432 2347 2241 2453 conicto -2050 2560 1646 2560 conicto -1318 2560 1036 2496 conicto -754 2432 512 2304 conicto -512 3072 lineto -842 3134 1174 3167 conicto -1507 3200 1840 3200 conicto -2697 3200 3076 2879 conicto -3456 2559 3456 1836 conicto -end_ol grestore -gsave 52.496967 32.892600 translate 0.035278 -0.035278 scale -start_ol -1600 4032 moveto -1600 3136 lineto -2624 3136 lineto -2624 2432 lineto -1600 2432 lineto -1600 1082 lineto -1600 861 1688 782 conicto -1777 704 2038 704 conicto -2560 704 lineto -2560 0 lineto -1689 0 lineto -1082 0 829 246 conicto -576 493 576 1082 conicto -576 2432 lineto -64 2432 lineto -64 3136 lineto -576 3136 lineto -576 4032 lineto -1600 4032 lineto -end_ol grestore -gsave 52.861033 32.892600 translate 0.035278 -0.035278 scale -start_ol -576 1088 moveto -1600 1088 lineto -1600 0 lineto -576 0 lineto -576 1088 lineto -end_ol grestore -gsave 53.148900 32.892600 translate 0.035278 -0.035278 scale -start_ol -512 3136 moveto -1536 3136 lineto -1536 0 lineto -512 0 lineto -512 3136 lineto -512 4352 moveto -1536 4352 lineto -1536 3520 lineto -512 3520 lineto -512 4352 lineto -end_ol grestore -gsave 53.411367 32.892600 translate 0.035278 -0.035278 scale -start_ol -3648 1891 moveto -3648 0 lineto -2624 0 lineto -2624 308 lineto -2624 1447 lineto -2624 1849 2607 2001 conicto -2590 2154 2547 2226 conicto -2491 2324 2395 2378 conicto -2299 2432 2176 2432 conicto -1877 2432 1706 2192 conicto -1536 1952 1536 1528 conicto -1536 0 lineto -512 0 lineto -512 3136 lineto -1536 3136 lineto -1536 2688 lineto -1758 2950 2008 3075 conicto -2259 3200 2562 3200 conicto -3095 3200 3371 2865 conicto -3648 2530 3648 1891 conicto -end_ol grestore -gsave 53.953233 32.892600 translate 0.035278 -0.035278 scale -start_ol -2624 2688 moveto -2624 4352 lineto -3648 4352 lineto -3648 0 lineto -2624 0 lineto -2624 448 lineto -2416 182 2165 59 conicto -1915 -64 1586 -64 conicto -1004 -64 630 393 conicto -256 850 256 1568 conicto -256 2287 630 2743 conicto -1004 3200 1586 3200 conicto -1912 3200 2164 3075 conicto -2416 2950 2624 2688 conicto -1950 640 moveto -2279 640 2451 877 conicto -2624 1115 2624 1567 conicto -2624 2020 2451 2258 conicto -2279 2496 1950 2496 conicto -1626 2496 1453 2258 conicto -1280 2020 1280 1567 conicto -1280 1115 1453 877 conicto -1626 640 1950 640 conicto -end_ol grestore -gsave 54.495100 32.892600 translate 0.035278 -0.035278 scale -start_ol -2549 4160 moveto -2279 3008 lineto -3020 3008 lineto -3292 4160 lineto -3912 4160 lineto -3639 3008 lineto -4416 3008 lineto -4416 2432 lineto -3491 2432 lineto -3297 1664 lineto -4094 1664 lineto -4094 1088 lineto -3152 1088 lineto -2883 0 lineto -2262 0 lineto -2532 1088 lineto -1792 1088 lineto -1523 0 lineto -897 0 lineto -1167 1088 lineto -384 1088 lineto -384 1664 lineto -1303 1664 lineto -1500 2432 lineto -706 2432 lineto -706 3008 lineto -1654 3008 lineto -1923 4160 lineto -2549 4160 lineto -2866 2432 moveto -2126 2432 lineto -1929 1664 lineto -2669 1664 lineto -2866 2432 lineto -end_ol grestore -gsave 55.130100 32.892600 translate 0.035278 -0.035278 scale -start_ol -640 768 moveto -1600 768 lineto -1600 3456 lineto -640 3264 lineto -640 4032 lineto -1600 4224 lineto -2624 4224 lineto -2624 768 lineto -3584 768 lineto -3584 0 lineto -640 0 lineto -640 768 lineto -end_ol grestore -gsave 55.663500 32.892600 translate 0.035278 -0.035278 scale -start_ol -1485 4224 moveto -2112 4224 lineto -624 -512 lineto -0 -512 lineto -1485 4224 lineto -end_ol grestore -gsave 55.942900 32.892600 translate 0.035278 -0.035278 scale -start_ol -640 768 moveto -1600 768 lineto -1600 3456 lineto -640 3264 lineto -640 4032 lineto -1600 4224 lineto -2624 4224 lineto -2624 768 lineto -3584 768 lineto -3584 0 lineto -640 0 lineto -640 768 lineto -end_ol grestore -gsave 56.476300 32.892600 translate 0.035278 -0.035278 scale -start_ol -1485 4224 moveto -2112 4224 lineto -624 -512 lineto -0 -512 lineto -1485 4224 lineto -end_ol grestore -gsave 56.755700 32.892600 translate 0.035278 -0.035278 scale -start_ol -640 768 moveto -1600 768 lineto -1600 3456 lineto -640 3264 lineto -640 4032 lineto -1600 4224 lineto -2624 4224 lineto -2624 768 lineto -3584 768 lineto -3584 0 lineto -640 0 lineto -640 768 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 49.534600 30.292600 m 46.984600 31.242600 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 50.934600 30.342600 m 53.084600 31.992600 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 43.784600 22.592600 m 45.584600 24.542600 l s -gsave 34.418477 21.951975 translate 0.035278 -0.035278 scale -start_ol -3008 3072 moveto -3008 2240 lineto -2803 2371 2596 2433 conicto -2390 2496 2169 2496 conicto -1748 2496 1514 2251 conicto -1280 2007 1280 1568 conicto -1280 1130 1514 885 conicto -1748 640 2169 640 conicto -2404 640 2616 704 conicto -2828 769 3008 896 conicto -3008 64 lineto -2774 0 2533 -32 conicto -2293 -64 2051 -64 conicto -1207 -64 731 367 conicto -256 799 256 1568 conicto -256 2337 731 2768 conicto -1207 3200 2051 3200 conicto -2296 3200 2533 3168 conicto -2771 3136 3008 3072 conicto -end_ol grestore -gsave 34.867210 21.951975 translate 0.035278 -0.035278 scale -start_ol -512 3136 moveto -1536 3136 lineto -1536 0 lineto -512 0 lineto -512 3136 lineto -512 4352 moveto -1536 4352 lineto -1536 3520 lineto -512 3520 lineto -512 4352 lineto -end_ol grestore -gsave 35.129677 21.951975 translate 0.035278 -0.035278 scale -start_ol -3008 3072 moveto -3008 2240 lineto -2803 2371 2596 2433 conicto -2390 2496 2169 2496 conicto -1748 2496 1514 2251 conicto -1280 2007 1280 1568 conicto -1280 1130 1514 885 conicto -1748 640 2169 640 conicto -2404 640 2616 704 conicto -2828 769 3008 896 conicto -3008 64 lineto -2774 0 2533 -32 conicto -2293 -64 2051 -64 conicto -1207 -64 731 367 conicto -256 799 256 1568 conicto -256 2337 731 2768 conicto -1207 3200 2051 3200 conicto -2296 3200 2533 3168 conicto -2771 3136 3008 3072 conicto -end_ol grestore -gsave 35.578410 21.951975 translate 0.035278 -0.035278 scale -start_ol -640 3136 moveto -1664 3136 lineto -1664 2048 lineto -640 2048 lineto -640 3136 lineto -640 1088 moveto -1664 1088 lineto -1664 0 lineto -640 0 lineto -640 1088 lineto -end_ol grestore -gsave 35.883210 21.951975 translate 0.035278 -0.035278 scale -start_ol -1485 4224 moveto -2112 4224 lineto -624 -512 lineto -0 -512 lineto -1485 4224 lineto -end_ol grestore -gsave 36.162610 21.951975 translate 0.035278 -0.035278 scale -start_ol -576 1088 moveto -1600 1088 lineto -1600 0 lineto -576 0 lineto -576 1088 lineto -end_ol grestore -gsave 36.450477 21.951975 translate 0.035278 -0.035278 scale -start_ol -576 1088 moveto -1600 1088 lineto -1600 0 lineto -576 0 lineto -576 1088 lineto -end_ol grestore -gsave 36.738343 21.951975 translate 0.035278 -0.035278 scale -start_ol -1485 4224 moveto -2112 4224 lineto -624 -512 lineto -0 -512 lineto -1485 4224 lineto -end_ol grestore -gsave 37.017743 21.951975 translate 0.035278 -0.035278 scale -start_ol -3648 1891 moveto -3648 0 lineto -2624 0 lineto -2624 308 lineto -2624 1447 lineto -2624 1849 2607 2001 conicto -2590 2154 2547 2226 conicto -2491 2324 2395 2378 conicto -2299 2432 2176 2432 conicto -1877 2432 1706 2192 conicto -1536 1952 1536 1528 conicto -1536 0 lineto -512 0 lineto -512 3136 lineto -1536 3136 lineto -1536 2688 lineto -1758 2950 2008 3075 conicto -2259 3200 2562 3200 conicto -3095 3200 3371 2865 conicto -3648 2530 3648 1891 conicto -end_ol grestore -gsave 37.559610 21.951975 translate 0.035278 -0.035278 scale -start_ol -1911 1472 moveto -1597 1472 1438 1356 conicto -1280 1241 1280 1016 conicto -1280 809 1407 692 conicto -1535 576 1762 576 conicto -2045 576 2238 796 conicto -2432 1017 2432 1347 conicto -2432 1472 lineto -1911 1472 lineto -3456 1836 moveto -3456 0 lineto -2432 0 lineto -2432 512 lineto -2229 211 1975 73 conicto -1721 -64 1358 -64 conicto -867 -64 561 223 conicto -256 511 256 969 conicto -256 1527 638 1787 conicto -1021 2048 1840 2048 conicto -2432 2048 lineto -2432 2119 lineto -2432 2347 2241 2453 conicto -2050 2560 1646 2560 conicto -1318 2560 1036 2496 conicto -754 2432 512 2304 conicto -512 3072 lineto -842 3134 1174 3167 conicto -1507 3200 1840 3200 conicto -2697 3200 3076 2879 conicto -3456 2559 3456 1836 conicto -end_ol grestore -gsave 38.076077 21.951975 translate 0.035278 -0.035278 scale -start_ol -1600 4032 moveto -1600 3136 lineto -2624 3136 lineto -2624 2432 lineto -1600 2432 lineto -1600 1082 lineto -1600 861 1688 782 conicto -1777 704 2038 704 conicto -2560 704 lineto -2560 0 lineto -1689 0 lineto -1082 0 829 246 conicto -576 493 576 1082 conicto -576 2432 lineto -64 2432 lineto -64 3136 lineto -576 3136 lineto -576 4032 lineto -1600 4032 lineto -end_ol grestore -gsave 38.440143 21.951975 translate 0.035278 -0.035278 scale -start_ol -576 1088 moveto -1600 1088 lineto -1600 0 lineto -576 0 lineto -576 1088 lineto -end_ol grestore -gsave 38.728010 21.951975 translate 0.035278 -0.035278 scale -start_ol -512 3136 moveto -1536 3136 lineto -1536 0 lineto -512 0 lineto -512 3136 lineto -512 4352 moveto -1536 4352 lineto -1536 3520 lineto -512 3520 lineto -512 4352 lineto -end_ol grestore -gsave 38.990477 21.951975 translate 0.035278 -0.035278 scale -start_ol -3648 1891 moveto -3648 0 lineto -2624 0 lineto -2624 308 lineto -2624 1447 lineto -2624 1849 2607 2001 conicto -2590 2154 2547 2226 conicto -2491 2324 2395 2378 conicto -2299 2432 2176 2432 conicto -1877 2432 1706 2192 conicto -1536 1952 1536 1528 conicto -1536 0 lineto -512 0 lineto -512 3136 lineto -1536 3136 lineto -1536 2688 lineto -1758 2950 2008 3075 conicto -2259 3200 2562 3200 conicto -3095 3200 3371 2865 conicto -3648 2530 3648 1891 conicto -end_ol grestore -gsave 39.532343 21.951975 translate 0.035278 -0.035278 scale -start_ol -2624 2688 moveto -2624 4352 lineto -3648 4352 lineto -3648 0 lineto -2624 0 lineto -2624 448 lineto -2416 182 2165 59 conicto -1915 -64 1586 -64 conicto -1004 -64 630 393 conicto -256 850 256 1568 conicto -256 2287 630 2743 conicto -1004 3200 1586 3200 conicto -1912 3200 2164 3075 conicto -2416 2950 2624 2688 conicto -1950 640 moveto -2279 640 2451 877 conicto -2624 1115 2624 1567 conicto -2624 2020 2451 2258 conicto -2279 2496 1950 2496 conicto -1626 2496 1453 2258 conicto -1280 2020 1280 1567 conicto -1280 1115 1453 877 conicto -1626 640 1950 640 conicto -end_ol grestore -gsave 40.074210 21.951975 translate 0.035278 -0.035278 scale -start_ol -2549 4160 moveto -2279 3008 lineto -3020 3008 lineto -3292 4160 lineto -3912 4160 lineto -3639 3008 lineto -4416 3008 lineto -4416 2432 lineto -3491 2432 lineto -3297 1664 lineto -4094 1664 lineto -4094 1088 lineto -3152 1088 lineto -2883 0 lineto -2262 0 lineto -2532 1088 lineto -1792 1088 lineto -1523 0 lineto -897 0 lineto -1167 1088 lineto -384 1088 lineto -384 1664 lineto -1303 1664 lineto -1500 2432 lineto -706 2432 lineto -706 3008 lineto -1654 3008 lineto -1923 4160 lineto -2549 4160 lineto -2866 2432 moveto -2126 2432 lineto -1929 1664 lineto -2669 1664 lineto -2866 2432 lineto -end_ol grestore -gsave 40.709210 21.951975 translate 0.035278 -0.035278 scale -start_ol -640 768 moveto -1600 768 lineto -1600 3456 lineto -640 3264 lineto -640 4032 lineto -1600 4224 lineto -2624 4224 lineto -2624 768 lineto -3584 768 lineto -3584 0 lineto -640 0 lineto -640 768 lineto -end_ol grestore -gsave 41.242610 21.951975 translate 0.035278 -0.035278 scale -start_ol -1485 4224 moveto -2112 4224 lineto -624 -512 lineto -0 -512 lineto -1485 4224 lineto -end_ol grestore -gsave 41.522010 21.951975 translate 0.035278 -0.035278 scale -start_ol -640 768 moveto -1600 768 lineto -1600 3456 lineto -640 3264 lineto -640 4032 lineto -1600 4224 lineto -2624 4224 lineto -2624 768 lineto -3584 768 lineto -3584 0 lineto -640 0 lineto -640 768 lineto -end_ol grestore -showpage diff --git a/helm/papers/matita/klu10.clo b/helm/papers/matita/klu10.clo deleted file mode 100644 index fd176502f..000000000 --- a/helm/papers/matita/klu10.clo +++ /dev/null @@ -1,253 +0,0 @@ -% -% -\ifcat a\noexpand @\let\next\relax\else \def\next{% -\documentclass[10pt]{kluwer}\usepackage{doc}\MakePercentIgnore}\fi\next -\NeedsTeXFormat{LaTeX2e} -\def\filedate{1998/02/11} -\def\filename{klu10.clo} -%\DoNotIndex{\@M,\def,\c@secnumdepth,\baselineskip,\p@,\else,\fi} -%\DoNotIndex{\newcommand,\z@,\relax,\renewcommand,\ifnum,\csname,\endcsname} -%\DoNotIndex{\baselineskip,\vskip,\hskip,\relax,\secdef,\refstepcounter} -%\DoNotIndex{\setlength,\@plus,\@minus,\protect,\endinput} -%\CodelineIndex -%\newcommand{\Bs}{} -%\parindent=0pt -%\parskip=3pt -%\setlength\marginparwidth{.5in} -%\hfuzz=10pt -%\MakeShortVerb{\|} -%\addtolength{\textwidth}{4pc} -%\begin{document} -%\begin{opening} -%\title{\filename} -%\date{\filedate} -%\author{Kluwer Academic Publishers\surname{}} -%\institute{~} -%\begin{abstract} -% This internal file takes care of list definitions and `general' -% point size options. -%\end{abstract} -%\end{opening} -%\tableofcontents -%\newpage\section{Implementation} -% \begin{macrocode} -\ProvidesFile{klu10.clo}[\filedate ] -% \end{macrocode} -% \subsection{Section size commands} -% added command: |\little|. This between |\scriptsize| and -% |\tiny|. Allowed type provided values: 5/6, 6/7, 7/8, 8/9.5, 9/11, -% 10/12, 12/14, 14/18, 17/22, 20/25, 25/30. -% \begin{macrocode} -\renewcommand\normalsize{% - \@setfontsize\normalsize\@xpt\@xiipt - \abovedisplayskip 10\p@ \@plus 2\p@ \@minus5\p@ - \abovedisplayshortskip \z@ \@plus 3\p@ - \belowdisplayshortskip 6\p@ \@plus 3\p@ \@minus3\p@ - \belowdisplayskip \abovedisplayskip - \let\@listi\@listI} -\normalsize -\newcommand\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 - \topsep 4\p@ \@plus2\p@ \@minus2\p@ - \parsep 2\p@ \@plus\p@ \@minus\p@ - \itemsep \parsep}% - \belowdisplayskip \abovedisplayskip -} -\newcommand\footnotesize{% - \@setfontsize\footnotesize\@viiipt{9.5}% - \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@ - \abovedisplayshortskip \z@ \@plus\p@ - \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ - \def\@listi{\leftmargin\leftmargini - \topsep 3\p@ \@plus\p@ \@minus\p@ - \parsep 2\p@ \@plus\p@ \@minus\p@ - \itemsep \parsep}% - \belowdisplayskip \abovedisplayskip -} -\newcommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt} -\newcommand\little{\@setfontsize\little\@vipt\@viipt} -\newcommand\tiny{\@setfontsize\tiny\@vpt\@vipt} -\newcommand\large{\@setfontsize\large\@xiipt{14}} -\newcommand\Large{\@setfontsize\Large\@xivpt{18}} -\newcommand\LARGE{\@setfontsize\LARGE\@xviipt{22}} -\newcommand\huge{\@setfontsize\huge\@xxpt{25}} -\newcommand\Huge{\@setfontsize\Huge\@xxvpt{30}} -% \end{macrocode} -% \subsection{Various values} -% Note that |\hoffset| and |\voffset| are both compensated. This makes -% the calculations below easier. -% \begin{macrocode} -\setlength\hoffset{-1.5cm} -\setlength\voffset{0pt} -\setlength\parindent {14\p@} -\setlength\headheight{12\p@} -\setlength\headsep {12\p@} -\setlength\topskip {10\p@} -\setlength\footskip {27.5\p@} -\setlength\marginparsep{10pt} -\setlength\marginparpush{5\p@} -\setlength\maxdepth {.5\topskip} -\setlength\@maxdepth\maxdepth -\setlength\columnsep{10pt} -\setlength\columnseprule{0pt} -\setlength\fboxsep{3pt} -\setlength\fboxrule{.4pt} -% \end{macrocode} -% \subsection{Textheight and textwidth} -% These are the main reason for the existence of these files. For some -% stupid reason, \LaTeX\ calculates textwidth out of |\paperwidth|. We -% did want to support letter paper, but our |\textwidth| is fixed, -% with the margins being calculated. -% -% Presume |\textwidth| and |\marginparwidth| are set in the stylefile, -% or we're in trouble. The |2pc| value is used to -% compensate for the `dead' corners in most laserprinters. -% -% Calculations are done `AtBeginDocument' to allow changes made in the -% preamble and later on in the stylefile. -% \begin{macrocode} -\newdimen\id@boxheight -\AtBeginDocument{% - \setlength\@tempdima{\paperwidth}% - \addtolength\@tempdima{-\textwidth}% - \divide\@tempdima by 2 - \setlength\@tempdimb\marginparwidth - \addtolength\@tempdimb\marginparsep - \addtolength\@tempdimb{2pc}% - \ifdim \@tempdima <\@tempdimb - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Marginpars disabled}{}{You made - your \string\textwidth\space (\the\textwidth) and - \string\marginparwidth (\the\marginparwidth) too wide.\MessageBreak - The allowed value for margin space: (\the\@tempdima). Needed value: - (\the\@tempdimb).\MessageBreak - This is not enough, - so I will set \string\marginparwidth\space to 0pt.\MessageBreak - Let's hope that fixes it. - }% - \marginparwidth \z@ - \marginparsep \z@ - \fi - \ifdim \@tempdima <2pc - \@tempdimb=\paperwidth - \advance\@tempdimb by -4pc - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Invalid sizes given}{}{You - made your \string\textwidth\space (\the\textwidth) - wider than the available total\MessageBreak - (Which is: \the\@tempdimb). Please press X and try again. - }% - \fi - \oddsidemargin 1in - \evensidemargin 1in -% \end{macrocode} -% These calculations are a lot easier. -% |\textheight| should have been set already. This does not check for the -% correct placement of the identification line!! -% \begin{macrocode} - \setlength\@tempdima{\paperheight} - \addtolength\@tempdima{-\footskip} - \addtolength\@tempdima{-\headheight} - \addtolength\@tempdima{-\headsep} - \setlength\@tempdimb{\@tempdima} - \addtolength\@tempdima{-\textheight} - \divide\@tempdima by 2 - \ifdim \@tempdima <2pc - \advance\@tempdimb by -4pc - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Invalid sizes given}{}{You - made your \string\textheight\space (\the\textheight) - more than the available total.\MessageBreak - (Which is: \the\@tempdimb). Please press X and try again. - }% - \fi - \setlength\topmargin{0pt} - \setlength\id@boxheight{\@tempdima} - \advance\id@boxheight by -2pc -} -% \end{macrocode} -% -% \begin{macrocode} -\setlength\footnotesep{6.65\p@} -\setlength{\skip\footins}{9\p@ \@plus 4\p@ \@minus 2\p@} -% \end{macrocode} -% \subsection{Lists} -% List default values -% \begin{macrocode} -\setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@} -\setlength{\leftmargini}{2em} -\setlength{\leftmarginii}{2.2em} -\setlength{\leftmarginiii}{1.87em} -\setlength{\leftmarginiv}{1.7em} -\setlength{\leftmarginv}{1em} -\setlength{\leftmarginvi}{1em} -\setlength{\labelsep}{.4em} -\setlength{\labelwidth}{\leftmargini} -\addtolength{\labelwidth}{-\labelsep} -% \end{macrocode} -% Note that lists below level 3 do nothing else then readjusting the -% |\labelwidth|. This results in very small labels for the inner lists. -% \begin{macrocode} -\def\@listI{% - \leftmargin \leftmargini - \topsep 9\p@ \@plus 3\p@ \@minus 5\p@ - \partopsep 3\p@ \@plus 1\p@ \@minus 2\p@ - \itemsep 4.5\p@ \@plus 2\p@ \@minus 1\p@ - \parsep 4.5\p@ \@plus 2\p@ \@minus 1\p@ } -\def\@listii{% - \leftmargin \leftmarginii - \labelwidth \leftmarginii - \advance\labelwidth by -\labelsep - \topsep 4.5\p@ \@plus 2\p@ \@minus 1\p@ - \parsep 2\p@ \@plus 1\p@ \@minus 1\p@ - \itemsep \parsep} -\def\@listiii{% - \leftmargin \leftmarginiii - \labelwidth \leftmarginiii - \advance\labelwidth by -\labelsep - \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ - \parsep \z@ - \partopsep 1\p@ \@plus 0\p@ \@minus 1\p@ - \itemsep \topsep} -\def\@listiv{% - \setlength{\leftmargin}{\leftmarginiv}% - \setlength{\labelwidth}{\leftmarginiv}% - \addtolength{\labelwidth}{-\labelsep}} -\def\@listv{% - \setlength{\leftmargin}{\leftmarginv}% - \setlength{\labelwidth}{\leftmarginv}% - \addtolength{\labelwidth}{-\labelsep}} -\def\@listvi{% - \setlength{\leftmargin}{\leftmarginvi}% - \setlength{\labelwidth}{\leftmarginvi}% - \addtolength{\labelwidth}{-\labelsep}} -\let\@listi\@listI -\@listi -% \end{macrocode} -% \subsection{Float separation parameters} -% Separation on text pages. -% \begin{macrocode} -\setlength\floatsep{12\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} -\setlength\intextsep{12\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\dblfloatsep{12\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} -% \end{macrocode} -% Separation on float pages -% \begin{macrocode} -\setlength\@fptop{0\p@ \@plus 1fil} -\setlength\@fpsep{8\p@ \@plus 2fil} -\setlength\@fpbot{0\p@ \@plus 1fil} -\setlength\@dblfptop{0\p@ \@plus 1fil} -\setlength\@dblfpsep{8\p@ \@plus 2fil} -\setlength\@dblfpbot{0\p@ \@plus 1fil} - -\endinput -% \end{macrocode} -%\PrintIndex -%\end{document} -%% End of file `klu10.clo'. diff --git a/helm/papers/matita/klu105.clo b/helm/papers/matita/klu105.clo deleted file mode 100644 index d33a0fe47..000000000 --- a/helm/papers/matita/klu105.clo +++ /dev/null @@ -1,252 +0,0 @@ -% -\ifcat a\noexpand @\let\next\relax\else \def\next{% -\documentclass[11pt]{kluwer}\usepackage{doc}\MakePercentIgnore}\fi\next -\NeedsTeXFormat{LaTeX2e} -\def\filedate{1998/02/11} -\def\filename{klu105.clo} -%\DoNotIndex{\@M,\def,\c@secnumdepth,\baselineskip,\p@,\else,\fi} -%\DoNotIndex{\newcommand,\z@,\relax,\renewcommand,\ifnum,\csname,\endcsname} -%\DoNotIndex{\baselineskip,\vskip,\hskip,\relax,\secdef,\refstepcounter} -%\DoNotIndex{\setlength,\@plus,\@minus,\protect,\endinput} -%\CodelineIndex -%\newcommand{\Bs}{} -%\parindent=0pt -%\parskip=3pt -%\setlength\marginparwidth{.5in} -%\hfuzz=11pt -%\MakeShortVerb{\|} -%\addtolength{\textwidth}{4pc} -%\begin{document} -%\begin{opening} -%\title{\filename} -%\date{\filedate} -%\author{Kluwer Academic Publishers\surname{}} -%\institute{~} -%\begin{abstract} -% This internal file takes care of list definitions and `general' -% point size options. -%\end{abstract} -%\end{opening} -%\tableofcontents -%\newpage\section{Implementation} -% \begin{macrocode} -\ProvidesFile{klu105.clo}[\filedate ] -% \end{macrocode} -% \subsection{Section size commands} -% added command: |\little|. This between |\scriptsize| and -% |\tiny|. Allowed type provided values: 6/7, 7/8, 9/11, 10/11.5, -% 10.5/12, 11/13, 12/14, 14/18, 17/22, 20/25, 25/30. -% \begin{macrocode} -\renewcommand\normalsize{% - \@setfontsize\normalsize{10.5pt}{12}% - \abovedisplayskip 10\p@ \@plus 2\p@ \@minus5\p@ - \abovedisplayshortskip \z@ \@plus 3\p@ - \belowdisplayshortskip 6\p@ \@plus 3\p@ \@minus3\p@ - \belowdisplayskip \abovedisplayskip - \let\@listi\@listI} -\normalsize -\newcommand\small{% - \@setfontsize\small\@xpt{11.5}% - \abovedisplayskip 9\p@ \@plus3\p@ \@minus4\p@ - \abovedisplayshortskip \z@ \@plus2\p@ - \belowdisplayshortskip 5\p@ \@plus2\p@ \@minus2\p@ - \def\@listi{\leftmargin\leftmargini - \topsep 4\p@ \@plus2\p@ \@minus2\p@ - \parsep 2\p@ \@plus\p@ \@minus\p@ - \itemsep \parsep}% - \belowdisplayskip \abovedisplayskip -} -\newcommand\footnotesize{% - \@setfontsize\footnotesize\@ixpt\@xipt - \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@ - \abovedisplayshortskip \z@ \@plus\p@ - \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ - \def\@listi{\leftmargin\leftmargini - \topsep 3\p@ \@plus\p@ \@minus\p@ - \parsep 2\p@ \@plus\p@ \@minus\p@ - \itemsep \parsep}% - \belowdisplayskip \abovedisplayskip -} -\newcommand\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}} -\newcommand\little{\@setfontsize\little\@viipt\@viiipt} -\newcommand\tiny{\@setfontsize\tiny\@vipt\@viipt} -\newcommand\large{\@setfontsize\large\@xiipt{14}} -\newcommand\Large{\@setfontsize\Large\@xivpt{18}} -\newcommand\LARGE{\@setfontsize\LARGE\@xviipt{22}} -\newcommand\huge{\@setfontsize\huge\@xxpt{25}} -\newcommand\Huge{\@setfontsize\Huge\@xxvpt{30}} -% \end{macrocode} -% \subsection{Various values} -% Note that |\hoffset| and |\voffset| are both compensated. This makes -% the calculations below easier. -% \begin{macrocode} -\setlength\hoffset{-1in} -\setlength\voffset{-1in} -\setlength\parindent {14\p@} -\setlength\headheight{12\p@} -\setlength\headsep {13\p@} -\setlength\topskip {10\p@} -\setlength\footskip {27.5\p@} -\setlength\marginparsep{10pt} -\setlength\marginparpush{5\p@} -\setlength\maxdepth {.5\topskip} -\setlength\@maxdepth\maxdepth -\setlength\columnsep{10pt} -\setlength\columnseprule{0pt} -\setlength\fboxsep{3pt} -\setlength\fboxrule{.4pt} -% \end{macrocode} -% \subsection{Textheight and textwidth} -% These are the main reason for the existence of these files. For some -% stupid reason, \LaTeX\ calculates textwidth out of |\paperwidth|. We -% did want to support letter paper, but our |\textwidth| is fixed, -% with the margins being calculated. -% -% Presume |\textwidth| and |\marginparwidth| are set in the stylefile, -% or we're in trouble. The |2pc| value is used to -% compensate for the `dead' corners in most laserprinters. -% -% Calculations are done `AtBeginDocument' to allow changes made in the -% preamble and later on in the stylefile. -% \begin{macrocode} -\newdimen\id@boxheight -\AtBeginDocument{% - \setlength\@tempdima{\paperwidth}% - \addtolength\@tempdima{-\textwidth}% - \divide\@tempdima by 2 - \setlength\@tempdimb\marginparwidth - \addtolength\@tempdimb\marginparsep - \addtolength\@tempdimb{2pc}% - \ifdim \@tempdima <\@tempdimb - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Marginpars disabled}{}{You made - your \string\textwidth\space (\the\textwidth) and - \string\marginparwidth (\the\marginparwidth) too wide.\MessageBreak - The allowed value for margin space: (\the\@tempdima). Needed value: - (\the\@tempdimb).\MessageBreak - This is not enough, - so I will set \string\marginparwidth\space to 0pt.\MessageBreak - Let's hope that fixes it. - }% - \marginparwidth \z@ - \marginparsep \z@ - \fi - \ifdim \@tempdima <2pc - \@tempdimb=\paperwidth - \advance\@tempdimb by -4pc - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Invalid sizes given}{}{You - made your \string\textwidth\space (\the\textwidth) - wider than the available total\MessageBreak - (Which is: \the\@tempdimb). Please press X and try again. - }% - \fi - \oddsidemargin \@tempdima - \evensidemargin \@tempdima -% \end{macrocode} -% These calculations are a lot easier. -% |\textheight| should have been set already. This does not check for the -% correct placement of the identification line!! -% \begin{macrocode} - \setlength\@tempdima{\paperheight} - \addtolength\@tempdima{-\footskip} - \addtolength\@tempdima{-\headheight} - \addtolength\@tempdima{-\headsep} - \setlength\@tempdimb{\@tempdima} - \addtolength\@tempdima{-\textheight} - \divide\@tempdima by 2 - \ifdim \@tempdima <2pc - \advance\@tempdimb by -4pc - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Invalid sizes given}{}{You - made your \string\textheight\space (\the\textheight) - more than the available total.\MessageBreak - (Which is: \the\@tempdimb). Please press X and try again. - }% - \fi - \setlength\topmargin{\@tempdima} - \setlength\id@boxheight{\@tempdima} - \advance\id@boxheight by -2pc -} -% \end{macrocode} -% -% \begin{macrocode} -\setlength\footnotesep{6.65\p@} -\setlength{\skip\footins}{9\p@ \@plus 4\p@ \@minus 2\p@} -% \end{macrocode} -% \subsection{Lists} -% List default values -% \begin{macrocode} -\setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@} -\setlength{\leftmargini}{2em} -\setlength{\leftmarginii}{2.2em} -\setlength{\leftmarginiii}{1.87em} -\setlength{\leftmarginiv}{1.7em} -\setlength{\leftmarginv}{1em} -\setlength{\leftmarginvi}{1em} -\setlength{\labelsep}{.4em} -\setlength{\labelwidth}{\leftmargini} -\addtolength{\labelwidth}{-\labelsep} -% \end{macrocode} -% Note that lists below level 3 do nothing else then readjusting the -% |\labelwidth|. This results in very small labels for the inner lists. -% \begin{macrocode} -\def\@listI{% - \leftmargin \leftmargini - \topsep 9\p@ \@plus 3\p@ \@minus 5\p@ - \partopsep 3\p@ \@plus 1\p@ \@minus 2\p@ - \itemsep 4.5\p@ \@plus 2\p@ \@minus 1\p@ - \parsep 4.5\p@ \@plus 2\p@ \@minus 1\p@ } -\def\@listii{% - \leftmargin \leftmarginii - \labelwidth \leftmarginii - \advance\labelwidth by -\labelsep - \topsep 4.5\p@ \@plus 2\p@ \@minus 1\p@ - \parsep 2\p@ \@plus 1\p@ \@minus 1\p@ - \itemsep \parsep} -\def\@listiii{% - \leftmargin \leftmarginiii - \labelwidth \leftmarginiii - \advance\labelwidth by -\labelsep - \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ - \parsep \z@ - \partopsep 1\p@ \@plus 0\p@ \@minus 1\p@ - \itemsep \topsep} -\def\@listiv{% - \setlength{\leftmargin}{\leftmarginiv}% - \setlength{\labelwidth}{\leftmarginiv}% - \addtolength{\labelwidth}{-\labelsep}} -\def\@listv{% - \setlength{\leftmargin}{\leftmarginv}% - \setlength{\labelwidth}{\leftmarginv}% - \addtolength{\labelwidth}{-\labelsep}} -\def\@listvi{% - \setlength{\leftmargin}{\leftmarginvi}% - \setlength{\labelwidth}{\leftmarginvi}% - \addtolength{\labelwidth}{-\labelsep}} -\let\@listi\@listI -\@listi -% \end{macrocode} -% \subsection{Float separation parameters} -% Separation on text pages. -% \begin{macrocode} -\setlength\floatsep{12\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} -\setlength\intextsep{12\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\dblfloatsep{12\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} -% \end{macrocode} -% Separation on float pages -% \begin{macrocode} -\setlength\@fptop{0\p@ \@plus 1fil} -\setlength\@fpsep{8\p@ \@plus 2fil} -\setlength\@fpbot{0\p@ \@plus 1fil} -\setlength\@dblfptop{0\p@ \@plus 1fil} -\setlength\@dblfpsep{8\p@ \@plus 2fil} -\setlength\@dblfpbot{0\p@ \@plus 1fil} - -\endinput -% \end{macrocode} -%\PrintIndex -%\end{document} -%% End of file `klu10.clo'. diff --git a/helm/papers/matita/klu11.clo b/helm/papers/matita/klu11.clo deleted file mode 100644 index 0c01ccb31..000000000 --- a/helm/papers/matita/klu11.clo +++ /dev/null @@ -1,252 +0,0 @@ -% -\ifcat a\noexpand @\let\next\relax\else \def\next{% -\documentclass[11pt]{kluwer}\usepackage{doc}\MakePercentIgnore}\fi\next -\NeedsTeXFormat{LaTeX2e} -\def\filedate{1998/02/11} -\def\filename{klu11.clo} -%\DoNotIndex{\@M,\def,\c@secnumdepth,\baselineskip,\p@,\else,\fi} -%\DoNotIndex{\newcommand,\z@,\relax,\renewcommand,\ifnum,\csname,\endcsname} -%\DoNotIndex{\baselineskip,\vskip,\hskip,\relax,\secdef,\refstepcounter} -%\DoNotIndex{\setlength,\@plus,\@minus,\protect,\endinput} -%\CodelineIndex -%\newcommand{\Bs}{} -%\parindent=0pt -%\parskip=3pt -%\setlength\marginparwidth{.5in} -%\hfuzz=11pt -%\MakeShortVerb{\|} -%\addtolength{\textwidth}{4pc} -%\begin{document} -%\begin{opening} -%\title{\filename} -%\date{\filedate} -%\author{Kluwer Academic Publishers\surname{}} -%\institute{~} -%\begin{abstract} -% This internal file takes care of list definitions and `general' -% point size options. -%\end{abstract} -%\end{opening} -%\tableofcontents -%\newpage\section{Implementation} -% \begin{macrocode} -\ProvidesFile{klu11.clo}[\filedate ] -% \end{macrocode} -% \subsection{Section size commands} -% added command: |\little|. This between |\scriptsize| and -% |\tiny|. Allowed type provided values: 6/7, 7/8, 8/9.5, 9/11, -% 10/12, 11/13, 12/14, 14/18, 17/22, 20/25, 25/30. -% \begin{macrocode} -\renewcommand\normalsize{% - \@setfontsize\normalsize\@xipt{13}% - \abovedisplayskip 10\p@ \@plus 2\p@ \@minus5\p@ - \abovedisplayshortskip \z@ \@plus 3\p@ - \belowdisplayshortskip 6\p@ \@plus 3\p@ \@minus3\p@ - \belowdisplayskip \abovedisplayskip - \let\@listi\@listI} -\normalsize -\newcommand\small{% - \@setfontsize\small\@xpt\@xiipt - \abovedisplayskip 9\p@ \@plus3\p@ \@minus4\p@ - \abovedisplayshortskip \z@ \@plus2\p@ - \belowdisplayshortskip 5\p@ \@plus2\p@ \@minus2\p@ - \def\@listi{\leftmargin\leftmargini - \topsep 4\p@ \@plus2\p@ \@minus2\p@ - \parsep 2\p@ \@plus\p@ \@minus\p@ - \itemsep \parsep}% - \belowdisplayskip \abovedisplayskip -} -\newcommand\footnotesize{% - \@setfontsize\footnotesize\@ixpt\@xipt - \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@ - \abovedisplayshortskip \z@ \@plus\p@ - \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ - \def\@listi{\leftmargin\leftmargini - \topsep 3\p@ \@plus\p@ \@minus\p@ - \parsep 2\p@ \@plus\p@ \@minus\p@ - \itemsep \parsep}% - \belowdisplayskip \abovedisplayskip -} -\newcommand\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}} -\newcommand\little{\@setfontsize\little\@viipt\@viiipt} -\newcommand\tiny{\@setfontsize\tiny\@vipt\@viipt} -\newcommand\large{\@setfontsize\large\@xiipt{14}} -\newcommand\Large{\@setfontsize\Large\@xivpt{18}} -\newcommand\LARGE{\@setfontsize\LARGE\@xviipt{22}} -\newcommand\huge{\@setfontsize\huge\@xxpt{25}} -\newcommand\Huge{\@setfontsize\Huge\@xxvpt{30}} -% \end{macrocode} -% \subsection{Various values} -% Note that |\hoffset| and |\voffset| are both compensated. This makes -% the calculations below easier. -% \begin{macrocode} -\setlength\hoffset{-1.5cm} -\setlength\voffset{0pt} -\setlength\parindent {14\p@} -\setlength\headheight{12\p@} -\setlength\headsep {13\p@} -\setlength\topskip {10\p@} -\setlength\footskip {27.5\p@} -\setlength\marginparsep{10pt} -\setlength\marginparpush{5\p@} -\setlength\maxdepth {.5\topskip} -\setlength\@maxdepth\maxdepth -\setlength\columnsep{10pt} -\setlength\columnseprule{0pt} -\setlength\fboxsep{3pt} -\setlength\fboxrule{.4pt} -% \end{macrocode} -% \subsection{Textheight and textwidth} -% These are the main reason for the existence of these files. For some -% stupid reason, \LaTeX\ calculates textwidth out of |\paperwidth|. We -% did want to support letter paper, but our |\textwidth| is fixed, -% with the margins being calculated. -% -% Presume |\textwidth| and |\marginparwidth| are set in the stylefile, -% or we're in trouble. The |2pc| value is used to -% compensate for the `dead' corners in most laserprinters. -% -% Calculations are done `AtBeginDocument' to allow changes made in the -% preamble and later on in the stylefile. -% \begin{macrocode} -\newdimen\id@boxheight -\AtBeginDocument{% - \setlength\@tempdima{\paperwidth}% - \addtolength\@tempdima{-\textwidth}% - \divide\@tempdima by 2 - \setlength\@tempdimb\marginparwidth - \addtolength\@tempdimb\marginparsep - \addtolength\@tempdimb{2pc}% - \ifdim \@tempdima <\@tempdimb - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Marginpars disabled}{}{You made - your \string\textwidth\space (\the\textwidth) and - \string\marginparwidth (\the\marginparwidth) too wide.\MessageBreak - The allowed value for margin space: (\the\@tempdima). Needed value: - (\the\@tempdimb).\MessageBreak - This is not enough, - so I will set \string\marginparwidth\space to 0pt.\MessageBreak - Let's hope that fixes it. - }% - \marginparwidth \z@ - \marginparsep \z@ - \fi - \ifdim \@tempdima <2pc - \@tempdimb=\paperwidth - \advance\@tempdimb by -4pc - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Invalid sizes given}{}{You - made your \string\textwidth\space (\the\textwidth) - wider than the available total\MessageBreak - (Which is: \the\@tempdimb). Please press X and try again. - }% - \fi - \oddsidemargin 1in - \evensidemargin 1in -% \end{macrocode} -% These calculations are a lot easier. -% |\textheight| should have been set already. This does not check for the -% correct placement of the identification line!! -% \begin{macrocode} - \setlength\@tempdima{\paperheight} - \addtolength\@tempdima{-\footskip} - \addtolength\@tempdima{-\headheight} - \addtolength\@tempdima{-\headsep} - \setlength\@tempdimb{\@tempdima} - \addtolength\@tempdima{-\textheight} - \divide\@tempdima by 2 - \ifdim \@tempdima <2pc - \advance\@tempdimb by -4pc - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Invalid sizes given}{}{You - made your \string\textheight\space (\the\textheight) - more than the available total.\MessageBreak - (Which is: \the\@tempdimb). Please press X and try again. - }% - \fi - \setlength\topmargin{0pt} - \setlength\id@boxheight{\@tempdima} - \advance\id@boxheight by -2pc -} -% \end{macrocode} -% -% \begin{macrocode} -\setlength\footnotesep{6.65\p@} -\setlength{\skip\footins}{9\p@ \@plus 4\p@ \@minus 2\p@} -% \end{macrocode} -% \subsection{Lists} -% List default values -% \begin{macrocode} -\setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@} -\setlength{\leftmargini}{2em} -\setlength{\leftmarginii}{2.2em} -\setlength{\leftmarginiii}{1.87em} -\setlength{\leftmarginiv}{1.7em} -\setlength{\leftmarginv}{1em} -\setlength{\leftmarginvi}{1em} -\setlength{\labelsep}{.4em} -\setlength{\labelwidth}{\leftmargini} -\addtolength{\labelwidth}{-\labelsep} -% \end{macrocode} -% Note that lists below level 3 do nothing else then readjusting the -% |\labelwidth|. This results in very small labels for the inner lists. -% \begin{macrocode} -\def\@listI{% - \leftmargin \leftmargini - \topsep 9\p@ \@plus 3\p@ \@minus 5\p@ - \partopsep 3\p@ \@plus 1\p@ \@minus 2\p@ - \itemsep 4.5\p@ \@plus 2\p@ \@minus 1\p@ - \parsep 4.5\p@ \@plus 2\p@ \@minus 1\p@ } -\def\@listii{% - \leftmargin \leftmarginii - \labelwidth \leftmarginii - \advance\labelwidth by -\labelsep - \topsep 4.5\p@ \@plus 2\p@ \@minus 1\p@ - \parsep 2\p@ \@plus 1\p@ \@minus 1\p@ - \itemsep \parsep} -\def\@listiii{% - \leftmargin \leftmarginiii - \labelwidth \leftmarginiii - \advance\labelwidth by -\labelsep - \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ - \parsep \z@ - \partopsep 1\p@ \@plus 0\p@ \@minus 1\p@ - \itemsep \topsep} -\def\@listiv{% - \setlength{\leftmargin}{\leftmarginiv}% - \setlength{\labelwidth}{\leftmarginiv}% - \addtolength{\labelwidth}{-\labelsep}} -\def\@listv{% - \setlength{\leftmargin}{\leftmarginv}% - \setlength{\labelwidth}{\leftmarginv}% - \addtolength{\labelwidth}{-\labelsep}} -\def\@listvi{% - \setlength{\leftmargin}{\leftmarginvi}% - \setlength{\labelwidth}{\leftmarginvi}% - \addtolength{\labelwidth}{-\labelsep}} -\let\@listi\@listI -\@listi -% \end{macrocode} -% \subsection{Float separation parameters} -% Separation on text pages. -% \begin{macrocode} -\setlength\floatsep{12\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} -\setlength\intextsep{12\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\dblfloatsep{12\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} -% \end{macrocode} -% Separation on float pages -% \begin{macrocode} -\setlength\@fptop{0\p@ \@plus 1fil} -\setlength\@fpsep{8\p@ \@plus 2fil} -\setlength\@fpbot{0\p@ \@plus 1fil} -\setlength\@dblfptop{0\p@ \@plus 1fil} -\setlength\@dblfpsep{8\p@ \@plus 2fil} -\setlength\@dblfpbot{0\p@ \@plus 1fil} - -\endinput -% \end{macrocode} -%\PrintIndex -%\end{document} -%% End of file `klu10.clo'. diff --git a/helm/papers/matita/klu12.clo b/helm/papers/matita/klu12.clo deleted file mode 100644 index 18fbd9714..000000000 --- a/helm/papers/matita/klu12.clo +++ /dev/null @@ -1,252 +0,0 @@ -% -% -\ifcat a\noexpand @\let\next\relax\else \def\next{% -\documentclass[12pt]{kluwer}\usepackage{doc}\MakePercentIgnore}\fi\next -\NeedsTeXFormat{LaTeX2e} -\def\filedate{1998/02/11} -\def\filename{klu12.clo} -%\DoNotIndex{\@M,\def,\c@secnumdepth,\baselineskip,\p@,\else,\fi} -%\DoNotIndex{\newcommand,\z@,\relax,\renewcommand,\ifnum,\csname,\endcsname} -%\DoNotIndex{\baselineskip,\vskip,\hskip,\relax,\secdef,\refstepcounter} -%\DoNotIndex{\setlength,\@plus,\@minus,\protect,\endinput} -%\CodelineIndex -%\newcommand{\Bs}{} -%\parindent=0pt -%\parskip=3pt -%\hfuzz=10pt -%\MakeShortVerb{\|} -%\addtolength{\textwidth}{8pc} -%\begin{document} -%\begin{opening} -%\title{\filename} -%\date{\filedate} -%\author{Kluwer Academic Publishers\surname{}} -%\institute{~} -%\begin{abstract} -% This internal file takes care of list definitions and `general' -% point size options. -%\end{abstract} -%\end{opening} -%\tableofcontents -%\newpage\section{Implementation} -% \begin{macrocode} -\ProvidesFile{klu12.clo}[\filedate ] -% \end{macrocode} -% \subsection{Section size commands} -% added command: |\little|. This between |\scriptsize| and -% |\tiny|. Allowed type provided values: 6/7, 8/9.5, 9/11, -% 10/12, 11/13 12/14, 14/18, 17/22, 20/25, 25/30. -% \begin{macrocode} -\renewcommand\normalsize{% - \@setfontsize\normalsize\@xiipt{14}% - \abovedisplayskip 11\p@ \@plus 2\p@ \@minus5\p@ - \abovedisplayshortskip 1\p@ \@plus 3\p@ - \belowdisplayshortskip 7\p@ \@plus 3\p@ \@minus3\p@ - \belowdisplayskip \abovedisplayskip - \let\@listi\@listI} -\normalsize -\newcommand\small{% - \@setfontsize\small\@xipt{13}% - \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@ - \abovedisplayshortskip \z@ \@plus2\p@ - \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ - \def\@listi{\leftmargin\leftmargini - \topsep 4\p@ \@plus2\p@ \@minus2\p@ - \parsep 2\p@ \@plus\p@ \@minus\p@ - \itemsep \parsep}% - \belowdisplayskip \abovedisplayskip -} -\newcommand\footnotesize{% - \@setfontsize\footnotesize\@xpt\@xiipt - \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@ - \abovedisplayshortskip \z@ \@plus\p@ - \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ - \def\@listi{\leftmargin\leftmargini - \topsep 3\p@ \@plus\p@ \@minus\p@ - \parsep 2\p@ \@plus\p@ \@minus\p@ - \itemsep \parsep}% - \belowdisplayskip \abovedisplayskip -} -\newcommand\scriptsize{\@setfontsize\scriptsize\@ixpt{11}} -\newcommand\little{\@setfontsize\little\@viiipt{9.5}} -\newcommand\tiny{\@setfontsize\tiny\@vipt\@viipt} -\newcommand\large{\@setfontsize\large\@xivpt{18}} -\newcommand\Large{\@setfontsize\Large\@xviipt{22}} -\newcommand\LARGE{\@setfontsize\LARGE\@xxpt{25}} -\newcommand\huge{\@setfontsize\huge\@xxvpt{30}} -\newcommand\Huge{\@setfontsize\Huge\@xxvpt{30}} -% \end{macrocode} -% \subsection{Various values} -% Note that |\hoffset| and |\voffset| are both compensated. This makes -% the calculations below easier. -% \begin{macrocode} -\setlength\hoffset{-1.5cm} -\setlength\voffset{0pt} -\setlength\parindent {14\p@} -\setlength\headheight{12\p@} -\setlength\headsep {14\p@} -\setlength\topskip {10\p@} -\setlength\footskip {27.5\p@} -\setlength\marginparsep{10pt} -\setlength\marginparpush{5\p@} -\setlength\maxdepth {.5\topskip} -\setlength\@maxdepth\maxdepth -\setlength\columnsep{12pt} -\setlength\columnseprule{0pt} -\setlength\fboxsep{3pt} -\setlength\fboxrule{.4pt} -% \end{macrocode} -% \subsection{Textheight and textwidth} -% These are the main reason for the existence of these files. For some -% stupid reason, \LaTeX\ calculates textwidth out of |\paperwidth|. We -% did want to support letter paper, but our |\textwidth| is fixed, -% with the margins being calculated. -% -% Presume |\textwidth| and |\marginparwidth| are set in the stylefile, -% or we're in trouble. The |2pc| value is used to -% compensate for the `dead' corners in most laserprinters. -% -% Calculations are done `AtBeginDocument' to allow changes made in the -% preamble and later on in the stylefile. -% \begin{macrocode} -\newdimen\id@boxheight -\AtBeginDocument{% - \setlength\@tempdima{\paperwidth}% - \addtolength\@tempdima{-\textwidth}% - \divide\@tempdima by 2 - \setlength\@tempdimb\marginparwidth - \addtolength\@tempdimb\marginparsep - \addtolength\@tempdimb{2pc}% - \ifdim \@tempdima <\@tempdimb - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Marginpars disabled}{}{You made - your \string\textwidth\space (\the\textwidth) and - \string\marginparwidth (\the\marginparwidth) too wide.\MessageBreak - The allowed value for margin space: (\the\@tempdima). Needed value: - (\the\@tempdimb).\MessageBreak - This is not enough, - so I will set \string\marginparwidth\space to 0pt.\MessageBreak - Let's hope that fixes it. - }% - \marginparwidth \z@ - \marginparsep \z@ - \fi - \ifdim \@tempdima <2pc - \@tempdimb=\paperwidth - \advance\@tempdimb by -4pc - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Invalid sizes given}{}{You - made your \string\textwidth\space (\the\textwidth) - wider than the available total\MessageBreak - (Which is: \the\@tempdimb). Please press X and try again. - }% - \fi - \oddsidemargin 1in - \evensidemargin 1in -% \end{macrocode} -% These calculations are a lot easier. -% |\textheight| should have been set already. This does not check for the -% correct placement of the identification line!! -% \begin{macrocode} - \setlength\@tempdima{\paperheight} - \addtolength\@tempdima{-\footskip} - \addtolength\@tempdima{-\headheight} - \addtolength\@tempdima{-\headsep} - \setlength\@tempdimb{\@tempdima} - \addtolength\@tempdima{-\textheight} - \divide\@tempdima by 2 - \ifdim \@tempdima <2pc - \advance\@tempdimb by -4pc - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Invalid sizes given}{}{You - made your \string\textheight\space (\the\textheight) - more than the available total.\MessageBreak - (Which is: \the\@tempdimb). Please press X and try again. - }% - \fi - \setlength\topmargin{0pt} - \setlength\id@boxheight{\@tempdima} - \advance\id@boxheight by -2pc -} -% \end{macrocode} -% -% \begin{macrocode} -\setlength\footnotesep{6.65\p@} -\setlength{\skip\footins}{12\p@ \@plus 4\p@ \@minus 2\p@} -% \end{macrocode} -% \subsection{Lists} -% List default values -% \begin{macrocode} -\setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@} -\setlength{\leftmargini}{2em} -\setlength{\leftmarginii}{2.2em} -\setlength{\leftmarginiii}{1.87em} -\setlength{\leftmarginiv}{1.7em} -\setlength{\leftmarginv}{1em} -\setlength{\leftmarginvi}{1em} -\setlength{\labelsep}{.4em} -\setlength{\labelwidth}{\leftmargini} -\addtolength{\labelwidth}{-\labelsep} -% \end{macrocode} -% Note that lists below level 3 do nothing else then readjusting the -% |\labelwidth|. This results in very small labels for the inner lists. -% \begin{macrocode} -\def\@listI{% - \leftmargin \leftmargini - \topsep 11\p@ \@plus 3\p@ \@minus 5\p@ - \partopsep 4.5\p@ \@plus 1\p@ \@minus 2\p@ - \itemsep 6\p@ \@plus 2\p@ \@minus 1\p@ - \parsep 6\p@ \@plus 2\p@ \@minus 1\p@ } -\def\@listii{% - \leftmargin \leftmarginii - \labelwidth \leftmarginii - \advance\labelwidth by -\labelsep - \topsep 6\p@ \@plus 2\p@ \@minus 1\p@ - \parsep 3\p@ \@plus 1\p@ \@minus 1\p@ - \itemsep \parsep} -\def\@listiii{% - \leftmargin \leftmarginiii - \labelwidth \leftmarginiii - \advance\labelwidth by -\labelsep - \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ - \parsep \z@ - \partopsep 1\p@ \@plus 0\p@ \@minus 1\p@ - \itemsep \topsep} -\def\@listiv{% - \setlength{\leftmargin}{\leftmarginiv}% - \setlength{\labelwidth}{\leftmarginiv}% - \addtolength{\labelwidth}{-\labelsep}} -\def\@listv{% - \setlength{\leftmargin}{\leftmarginv}% - \setlength{\labelwidth}{\leftmarginv}% - \addtolength{\labelwidth}{-\labelsep}} -\def\@listvi{% - \setlength{\leftmargin}{\leftmarginvi}% - \setlength{\labelwidth}{\leftmarginvi}% - \addtolength{\labelwidth}{-\labelsep}} -\let\@listi\@listI -\@listi -% \end{macrocode} -% \subsection{Float separation parameters} -% Separation on text pages. -% \begin{macrocode} -\setlength\floatsep{12\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\textfloatsep{24\p@ \@plus 2\p@ \@minus 4\p@} -\setlength\intextsep{12\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\dblfloatsep{12\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\dbltextfloatsep{24\p@ \@plus 2\p@ \@minus 4\p@} -% \end{macrocode} -% Separation on float pages -% \begin{macrocode} -\setlength\@fptop{0\p@ \@plus 1fil} -\setlength\@fpsep{10\p@ \@plus 2fil} -\setlength\@fpbot{0\p@ \@plus 1fil} -\setlength\@dblfptop{0\p@ \@plus 1fil} -\setlength\@dblfpsep{10\p@ \@plus 2fil} -\setlength\@dblfpbot{0\p@ \@plus 1fil} - -\endinput -% \end{macrocode} -%\PrintIndex -%\end{document} -%% End of file `klu12.clo'. diff --git a/helm/papers/matita/klu9.clo b/helm/papers/matita/klu9.clo deleted file mode 100644 index 249435e46..000000000 --- a/helm/papers/matita/klu9.clo +++ /dev/null @@ -1,253 +0,0 @@ -% -% -\ifcat a\noexpand @\let\next\relax\else \def\next{% -\documentclass[9pt]{kluwer}\usepackage{doc}\MakePercentIgnore}\fi\next -\NeedsTeXFormat{LaTeX2e} -\def\filedate{1998/02/11} -\def\filename{klu9.clo} -%\DoNotIndex{\@M,\def,\c@secnumdepth,\baselineskip,\p@,\else,\fi} -%\DoNotIndex{\newcommand,\z@,\relax,\renewcommand,\ifnum,\csname,\endcsname} -%\DoNotIndex{\baselineskip,\vskip,\hskip,\relax,\secdef,\refstepcounter} -%\DoNotIndex{\setlength,\@plus,\@minus,\protect,\endinput} -%\CodelineIndex -%\newcommand{\Bs}{} -%\parindent=0pt -%\parskip=3pt -%\setlength\marginparwidth{.5in} -%\hfuzz=10pt -%\MakeShortVerb{\|} -%\addtolength{\textwidth}{4pc} -%\begin{document} -%\begin{opening} -%\title{\filename} -%\date{\filedate} -%\author{Kluwer Academic Publishers\surname{}} -%\institute{~} -%\begin{abstract} -% This internal file takes care of list definitions and `general' -% point size options. -%\end{abstract} -%\end{opening} -%\tableofcontents -%\newpage\section{Implementation} -% \begin{macrocode} -\ProvidesFile{klu9.clo}[\filedate ] -% \end{macrocode} -% \subsection{Section size commands} -% added command: |\little|. This is identical to |\tiny| here. -% Allowed type provided values: 5/6, 6/7, 7/8, 8/9.5, 9/11, -% 10/12, 11/13, 12/14, 14/18, 17/22, 20/25. -% \begin{macrocode} -\renewcommand\normalsize{% - \@setfontsize\normalsize\@ixpt{11}% - \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@ - \abovedisplayshortskip \z@ \@plus2\p@ - \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ - \belowdisplayskip \abovedisplayskip - \let\listi\@listI} -\normalsize -\newcommand\small{% - \@setfontsize\small\@viiipt{9.5}% - \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@ - \abovedisplayshortskip \z@ \@plus\p@ - \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ - \def\@listi{\leftmargin\leftmargini - \topsep 3\p@ \@plus\p@ \@minus\p@ - \parsep 2\p@ \@plus\p@ \@minus\p@ - \itemsep \parsep}% - \belowdisplayskip \abovedisplayskip -} -\newcommand\footnotesize{% - \@setfontsize\footnotesize\@viipt{8}% - \abovedisplayskip 4\p@ \@plus2\p@ \@minus2\p@ - \abovedisplayshortskip \z@ \@plus\p@ - \belowdisplayshortskip 2\p@ \@plus\p@ \@minus1\p@ - \def\@listi{\leftmargin\leftmargini - \topsep 2\p@ \@plus\p@ \@minus\p@ - \parsep 1\p@ \@plus\p@ \@minus\p@ - \itemsep \parsep}% - \belowdisplayskip \abovedisplayskip -} -\newcommand\scriptsize{\@setfontsize\scriptsize\@vipt\@viipt} -\newcommand\little{\@setfontsize\little\@vpt\@vipt} -\newcommand\tiny{\@setfontsize\tiny\@vpt\@vipt} -\newcommand\large{\@setfontsize\large\@xpt\@xiipt} -\newcommand\Large{\@setfontsize\Large\@xiipt{14}} -\newcommand\LARGE{\@setfontsize\LARGE\@xivpt{18}} -\newcommand\huge{\@setfontsize\huge\@xviipt{22}} -\newcommand\Huge{\@setfontsize\Huge\@xxpt{25}} -% \end{macrocode} -% \subsection{Various values} -% Note that |\hoffset| and |\voffset| are both compensated. This makes -% the calculations below easier. -% \begin{macrocode} -\setlength\hoffset{-1in} -\setlength\voffset{-1in} -\setlength\parindent {14\p@} -\setlength\headheight{12\p@} -\setlength\headsep {12\p@} -\setlength\topskip {10\p@} -\setlength\footskip {25\p@} -\setlength\marginparsep{10pt} -\setlength\marginparpush{5\p@} -\setlength\maxdepth {.5\topskip} -\setlength\@maxdepth\maxdepth -\setlength\columnsep{10pt} -\setlength\columnseprule{0pt} -\setlength\fboxsep{3pt} -\setlength\fboxrule{.4pt} -% \end{macrocode} -% \subsection{Textheight and textwidth} -% These are the main reason for the existence of these files. For some -% stupid reason, \LaTeX\ calculates textwidth out of |\paperwidth|. We -% did want to support letter paper, but our |\textwidth| is fixed, -% with the margins being calculated. -% -% Presume |\textwidth| and |\marginparwidth| are set in the stylefile, -% or we're in trouble. The |2pc| value is used to -% compensate for the `dead' corners in most laserprinters. -% -% Calculations are done `AtBeginDocument' to allow changes made in the -% preamble and later on in the stylefile. -% \begin{macrocode} -\newdimen\id@boxheight -\AtBeginDocument{% - \setlength\@tempdima{\paperwidth}% - \addtolength\@tempdima{-\textwidth}% - \divide\@tempdima by 2 - \setlength\@tempdimb\marginparwidth - \addtolength\@tempdimb\marginparsep - \addtolength\@tempdimb{2pc}% - \ifdim \@tempdima <\@tempdimb - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Marginpars disabled}{}{You made - your \string\textwidth\space (\the\textwidth) and - \string\marginparwidth (\the\marginparwidth) too wide.\MessageBreak - The allowed value for margin space: (\the\@tempdima). Needed value: - (\the\@tempdimb).\MessageBreak - This is not enough, - so I will set \string\marginparwidth\space to 0pt.\MessageBreak - Let's hope that fixes it. - }% - \marginparwidth \z@ - \marginparsep \z@ - \fi - \ifdim \@tempdima <2pc - \@tempdimb=\paperwidth - \advance\@tempdimb by -4pc - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Invalid sizes given}{}{You - made your \string\textwidth\space (\the\textwidth) - wider than the available total\MessageBreak - (Which is: \the\@tempdimb). Please press X and try again. - }% - \fi - \oddsidemargin \@tempdima - \evensidemargin \@tempdima -% \end{macrocode} -% These calculations are a lot easier. -% |\textheight| should have been set already. This does not check for the -% correct placement of the identification line!! -% \begin{macrocode} - \setlength\@tempdima{\paperheight} - \addtolength\@tempdima{-\footskip} - \addtolength\@tempdima{-\headheight} - \addtolength\@tempdima{-\headsep} - \setlength\@tempdimb{\@tempdima} - \addtolength\@tempdima{-\textheight} - \divide\@tempdima by 2 - \ifdim \@tempdima <2pc - \advance\@tempdimb by -4pc - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Invalid sizes given}{}{You - made your \string\textheight\space (\the\textheight) - more than the available total.\MessageBreak - (Which is: \the\@tempdimb). Please press X and try again. - }% - \fi - \setlength\topmargin{\@tempdima} - \setlength\id@boxheight{\@tempdima} - \advance\id@boxheight by -2pc -} -% \end{macrocode} -% -% \begin{macrocode} -\setlength\footnotesep{6\p@} -\setlength{\skip\footins}{9\p@ \@plus 4\p@ \@minus 2\p@} -% \end{macrocode} -% \subsection{Lists} -% List default values -% \begin{macrocode} -\setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@} -\setlength{\leftmargini}{1.9em} -\setlength{\leftmarginii}{2em} -\setlength{\leftmarginiii}{1.7em} -\setlength{\leftmarginiv}{1.4em} -\setlength{\leftmarginv}{1em} -\setlength{\leftmarginvi}{1em} -\setlength{\labelsep}{.4em} -\setlength{\labelwidth}{\leftmargini} -\addtolength{\labelwidth}{-\labelsep} -% \end{macrocode} -% Note that lists below level 3 do nothing else then readjusting the -% |\labelwidth|. This results in very small labels for the inner lists. -% \begin{macrocode} -\def\@listI{% - \leftmargin \leftmargini - \topsep 8\p@ \@plus2\p@ \@minus2\p@ - \partopsep 2\p@ \@plus 1\p@ \@minus 1\p@ - \itemsep 4\p@ \@plus 2\p@ \@minus 1\p@ - \parsep 4\p@ \@plus 2\p@ \@minus 1\p@ } -\def\@listii{% - \leftmargin \leftmarginii - \labelwidth \leftmarginii - \advance\labelwidth by -\labelsep - \topsep 4.5\p@ \@plus 2\p@ \@minus 1\p@ - \parsep 2\p@ \@plus 1\p@ \@minus 1\p@ - \itemsep \parsep} -\def\@listiii{% - \leftmargin \leftmarginiii - \labelwidth \leftmarginiii - \advance\labelwidth by -\labelsep - \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ - \parsep \z@ - \partopsep 1\p@ \@plus 0\p@ \@minus 1\p@ - \itemsep \topsep} -\def\@listiv{% - \setlength{\leftmargin}{\leftmarginiv}% - \setlength{\labelwidth}{\leftmarginiv}% - \addtolength{\labelwidth}{-\labelsep}} -\def\@listv{% - \setlength{\leftmargin}{\leftmarginv}% - \setlength{\labelwidth}{\leftmarginv}% - \addtolength{\labelwidth}{-\labelsep}} -\def\@listvi{% - \setlength{\leftmargin}{\leftmarginvi}% - \setlength{\labelwidth}{\leftmarginvi}% - \addtolength{\labelwidth}{-\labelsep}} -\let\@listi\@listI -\@listi -% \end{macrocode} -% \subsection{Float separation parameters} -% Separation on text pages. -% \begin{macrocode} -\setlength\floatsep{10\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\textfloatsep{18\p@ \@plus 2\p@ \@minus 4\p@} -\setlength\intextsep{10\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\dblfloatsep{10\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\dbltextfloatsep{18\p@ \@plus 2\p@ \@minus 4\p@} -% \end{macrocode} -% Separation on float pages -% \begin{macrocode} -\setlength\@fptop{0\p@ \@plus 1fil} -\setlength\@fpsep{8\p@ \@plus 2fil} -\setlength\@fpbot{0\p@ \@plus 1fil} -\setlength\@dblfptop{0\p@ \@plus 1fil} -\setlength\@dblfpsep{8\p@ \@plus 2fil} -\setlength\@dblfpbot{0\p@ \@plus 1fil} - -\endinput -% \end{macrocode} -%\PrintIndex -%\end{document} -%% End of file `klu9.clo'. diff --git a/helm/papers/matita/kluedit.sty b/helm/papers/matita/kluedit.sty deleted file mode 100644 index ed910b9c4..000000000 --- a/helm/papers/matita/kluedit.sty +++ /dev/null @@ -1,565 +0,0 @@ -% -% -\ifcat a\noexpand @\let\next\relax\else \def\next{% -\documentclass{kluwer}\usepackage{doc}\MakePercentIgnore}\fi\next -\NeedsTeXFormat{LaTeX2e} -\def\filedate{1998/03/13} -\def\filename{kluedit.sty} -% \changes{1997/07/13}{changed chaptermark for monographs: -% use @chapapp and c@chapter instead of CHAPTER thechapter, -% check for mainmatter}{} -% \changes{1997/07/25}{raised thepage in edited style titlepage 6pt}{} -% \changes{1997/08/07}{Inserted kaplogo}{} -% \changes{1998/02/04}{Inserted "parskip 0pt"}{} -% \changes{1998/02/06}{Inserted final--double hyphen demerits}{} -% \changes{1998/02/09}{Full rewrite of firstpage-lastpage code}{} -% \changes{1998/02/19}{Removed silly ifx \csname bug in setlastpage}{} -% \changes{1998/02/24}{Fix in "journalcode": removed extra page}{} -%\DoNotIndex{\@M,\def,\c@secnumdepth,\baselineskip,\@pnumwidth,\else,\fi} -%\DoNotIndex{\newcommand,\z@,\relax,\renewcommand,\ifnum,\csname,\endcsname} -%\DoNotIndex{\baselineskip,\vskip,\hskip,\relax,\secdef,\refstepcounter} -%\DoNotIndex{\normalsize,\numberline,\protect,\endinput,\hfill} -%\DoNotIndex{\@compare,\ifx,\global,\gdef,\def,\let,\hbox,\par,\typeout} -%\CodelineIndex -%\newcommand{\Bs}{$\backslash$} -%\parindent=0pt -%\parskip=3pt -%\hfuzz=11pt -%\MakeShortVerb{\|} -%\setlength{\marginparwidth}{0in} -%\addtolength{\textwidth}{4pc} -%\begin{document} -%\begin{opening} -%\title{\filename} -%\date{\filedate} -%\author{Kluwer Academic Publishers\surname{}} -%\institute{~} -%\runningtitle{\filename\ -- \filedate} -%\runningauthor{Kluwer Academic Publishers} -%\editor{Test} -%\journalcode{test} -%\begin{abstract} -% This internal stylefile defines most of the special kluwer -% commands. amongst these: the |article| -% environment, the different pagestyles, all of the editor and -% auxiliary document info commands, and the commands to read in -% |kapjrnls.kap|. -%\end{abstract} -%\end{opening} -%\tableofcontents -%\newpage\section{Implementation} -% \begin{macrocode} -\ProvidesPackage{kluedit}[\filedate ] -\newif\if@copyrighthead \@copyrightheadfalse -\newif\if@kapidenthead \@kapidentheadfalse -\newif\if@noid \@noidfalse -\DeclareOption{copyrighthead}{\@copyrightheadtrue} -\DeclareOption{kapidenthead}{\@kapidentheadtrue} -\DeclareOption{noid}{\@noidtrue} -\ExecuteOptions{} -\ProcessOptions -% \end{macrocode} -% -% \subsection{Database info} -% There are some serious changes made to |kapjrnls.kap|, the -% corresponding macros are done here. -% -% |\journaldata| is the command used in |kapjrnls.kap|. The format for -% this file is as follows: -%\begin{verbatim} -%\journaldata{acma} -%\gdef\@journal{Applied Composite Materials}% -%\def\@stylefile{mathkap}% -%\dataend -%\end{verbatim} -% Optionally, some other journal-specific commands can be done -% here. In the current file, these are |\country| and |\CLsize|, but -% more will probably follow. -% -% Define record wrapper. This is a primitive, because \LaTeX\ doesn't -% allow this sort of thing. -% \begin{macrocode} -\long\def\journaldata#1#2\dataend{% - \edef\@tempa{@#1}\ifx \@tempa\@currjournal #2\fi} -% \end{macrocode} -% Read file. |\journalcode| triggers reading, -% so don't specify |\journalcode| without having the file... -% (|\@currjournal| is a temporary to keep track of the journal.) -% -% If after reading |\@journal| == `journal not defined': Error\\ -% If after reading |\@stylefile| != current class : Error -% -% |\@journal|, |\@testjournal| and |\@defaultjournal| are initialized in -% |kapjrnls.kap|. The \\ -% |\ver@kluwer.cls| command is defined by \LaTeX; -% deduced from |\ProvidesClass|. -% \begin{macrocode} -\def\CLsize{\footnotesize} -\def\@journal{} -\def\@currjournal{} -\def\journalcode#1{% - \edef\@currjournal{@#1}% - \makeatletter\input kapjrnls.kap \makeatother - \ifx\@journal\@defaultjournal - \PackageError{kluopen}{Journalcode not defined}{Please correct - your typo or contact KAP to update your kapjrnls.kap.}\fi - \ifx\@journal\@testjournal \else - \expandafter\ifx \csname ver@\@stylefile.cls\endcsname\relax - \PackageWarning{kluopen}{Incorrect or superfluous journalcode - command}\fi \fi - } -% \end{macrocode} -% This is a hook for klups.sty (oldstyle numerals) -% \begin{macrocode} -\def\i@oldseries{} -% \end{macrocode} -% -% -% \subsection{copyright commands} -% This allows changing the copyrightowner and allows for a special -% type of copyright. -% -% User interface is |\copyrightowner<*>{private}|, where the star form -% will result in: ``The private right to ..'' together with `(c) -% Kluwer Academic...' , and the non-star form -% will result in: `(c) private'. -% -% This is implemented as a footnotetext to the title, which is why we -% need the |\if|-switch. |\AtBeginDocument| is needed to prevent relocation -% errors in the stylefile. (|kluopen| has to define |\@speccrightcheck| -% as well) -% \begin{macrocode} -\newif\if@speccright \@speccrightfalse -\AtBeginDocument{\gdef\@speccrightcheck{% - \if@speccright - \footnotetext[4]{\@spectextone{} \@speccright{} \@spectexttwo}% - \fi }} -\def\@spectextone{The} -\newcommand\spectextone[1]{\gdef\@spectextone{#1}} -\def\@spectexttwo{right to retain a non-exclusive, royalty free - licence in and to any copyright is acknowledged.} -\newcommand\spectexttwo[1]{\gdef\@spectexttwo{#1}} -\newcommand\copyrightowner{\@ifstar{\crightA}{\crightB}} -\newcommand\crightA[1]{\gdef\@speccright{#1}\global\@speccrighttrue} -\newcommand\crightB[1]{\gdef\@copyrightowner{#1}\global\@speccrightfalse} -\def\@speccright{} -\def\@copyrightowner{Kluwer Academic Publishers} -% \end{macrocode} -% \subsection{Country, volume and year commands} -% \begin{macrocode} -\newcommand\country[1]{\gdef\@country{#1}} -\def\@country{the Netherlands} -\newcommand\volume[1]{\gdef\@volume{#1}} -\def\@volume{00} -\newcommand\pubyear[1]{\gdef\@pubyear{#1}} -\def\@pubyear{\number\year} -% \end{macrocode} -% \subsection{paging commands} -% These macro's have to be a bit smarter than you would expect. This -% has to work correctly while displaying the information line, not -% only for the first, but for possibly many of those in one -% document. Therefore, it will not do to just toggle the page counter. -% -% All of this will only work correctly in one of these conditions: -% -%\begin{itemize} -%\item Just one opening and no article environment. -%\item The complete opening environment inside the article. -%\item Lastpage is also given. -%\end{itemize} -%(|\thearticle| is defined below.) -% -% \begin{macrocode} -\newif\iflastpagegiven \lastpagegivenfalse -% \end{macrocode} -% This turned out to be rather easy after all... -% -% Every article will first run |\setlastpage| (on opening), and will write -% out a label of the form |{\thearticle lastpage}| (on closing). This will -% be the value of |\@lastpage| if no |\lastpage| is given, otherwise it will -% (of course) be defined by |\lastpage|. -% \begin{macrocode} -\newcommand\firstpage[1]{% - \gdef\@firstpage{#1}% - \ifnum\@firstpage>\c@page - \setcounter{page}{#1}% - \PackageWarning{kluopen}{Increasing pagenumber to \@firstpage}% - \else \ifnum\@firstpage<\c@page - \PackageWarning{kluopen}{Firstpage lower than pagenumber}\fi\fi - \xdef\@firstpage{\the\c@page}% - } -\def\@firstpage{1} -\def\pagenumbering#1{% - \global\c@page \@ne - \gdef\thepage{\csname @#1\endcsname \c@page}% - \gdef\thefirstpage{% - \csname @#1\endcsname \@firstpage}% - \gdef\thelastpage{% - \csname @#1\endcsname \@lastpage}% - } -\pagenumbering{arabic} -\newcommand\lastpage[1]{\xdef\@lastpage{#1}% - \global\lastpagegiventrue} -\def\@lastpage{0} -\def\setlastpage{\iflastpagegiven\else - \edef\@tempa{@lastpage@\the\c@article}% - \expandafter - \ifx \csname \@tempa \endcsname \relax - \gdef\@lastpage{0}% - \else - \xdef\@lastpage{\@nameuse{@lastpage@\the\c@article}}% - \fi - \fi } -\def\writelastpage{% - \iflastpagegiven \else - \immediate\write\@auxout% - {\string\global\string\@namedef{@lastpage@\the\c@article}{\the\c@page}}% - \fi - } -\def\thepagerange{% - \ifnum\@lastpage =0 {\ \bf PLEASE RUN AGAIN} \else - \ifnum\@lastpage = \@firstpage \ \thefirstpage\else - \ \thefirstpage--\thelastpage \fi\fi} -% \end{macrocode} -% -% \begin{macrocode} -\def\@prin{Printed in} -\@ifundefined{textcopyright}{\def\textcopyright{\copyright}}{} -\def\copyrightline{\textcopyright~\i@oldseries\@pubyear\ - {\it\@copyrightowner.~~\@prin\ \@country.}\hfill\hbox{}} -% \end{macrocode} -%\subsection{The copyright information} -% This is a three-part operation. -% |\@kapidenthead| (|foot|) contains the editor inforamtion and a -% possible barcode, while |\@copyrighthead| (|foot|) contains both the -% journal title and the copyright line. |\idline| contains the file -% information status. -% -%Here is the copyright information first. |\thejournal| will typeset -%the first line, |\thecopyright| the second. Some checks are made to -%prevent typesetting half of a line. -% \begin{macrocode} -\def\volsep{: } -\def\thejournal{\ifx\@journal\empty\else\leavevmode \i@oldseries - {\it\@journal\/}~~{\bf\i@oldseries\@volume\volsep}\thepagerange, - \@pubyear.\hfill\hbox{}\\ \fi} -\def\no{no} -\def\crline#1{\gdef\@crline{#1}} -\def\thecopyright{\ifx\@crline\no \else \copyrightline \par \fi } -% \end{macrocode} -% Now switch for either up or down. In both cases, the lines will -% move away from the main text, with the corresponding baseline set at -% the footer or header. -% \begin{macrocode} -\newtoks\logotoks -\catcode`\%=12 -\catcode`\#=12 -\logotoks={\special{" -4 4 translate -989 1138 1 [60 0 0 -60 210 930] -currentfile -/ASCII85Decode filter -<< /K -1 /Columns 989 >> -/CCITTFaxDecode filter -image -Q>'H49/K0rjdMhW-(A!cb;A.`/DC9EH"NLrmTGB3G`p9Q"2Q+cbR4Nj7'd7dn1Os5 -\string$DPm^#D5dp.Sq0)HOI.%W!@rm_0-3j?%po`_0-3j?%VDq_0-W'Fr+S1(LXi_Ye(:I -]*kjT\string$a@6KL"blG_X2L_CTtEVL"blG_X2L_CTtEVY/9RL]*l%#ln6muG.V%6g?j&" -CUMm`Fr+r%g?j'q?%q#"G.V%_f3rj7?*;dp[G("lm<6*IY1IHshmM2*G.V%_f7)=e -[G("lm<6*Iqd\string$AVIb/AMCUMmbg?j'qp:FV5rN=b\string$f7)=e^MCT"[GSCL[G(*'m<@rA -m<6,8\string\:3%Yf7)>#f7)>#f7)>#f7)>#f7)>#f7)>#f7)>#f7)>#rN?+r?2Iq)p:L(d -GOO8ShmM@LhnNsAIb0&IY5S7k]D(dJn)(P1^OFd`rVKmtp:L(fg@*q6CVP>sqd'*n -n)(lq^OH.Yp[*1nhnOWlIf90sqtKR:^OH.Yp[@"SCVP>s -qtKQ8s8U1@C);u92\string$r0TIf90CC\string\p\string\,F'GICC\string\n -D=uZ_hb.nbI4`5\string$oX=e/f5K6t?,'TlG5Z:Ng\string\&&-DqCYDlD=uZV\string\(>QLhd*s^hlchCoX=e/dbFH(f5ILprP"TT?+uW^XhMDq -/\string\\iG[ea3VG5>El[ea3VG5>El[ea3VG5>El[efC`[ea3V/\string\\iF/\string\[P.XhMDq/\string\[P. -95gZ9f5ILpdbF#'oX=U#J(s4)oX=U#I4`1!hb.mjhb.ma\string\'j\string$qD=k:5>CA*;QJW!c -oX=U#I4`1FI4`1!hb.ma\string\'j\string$qD=EkK95gZ9_HVF?^(T2bD=eV\string$$#T=CqHJ=n\string\'j\string$i -/\string\[P.95fJ!hb.m@[eNL6V74;LDl'q[>C7R%qHJ=i[eNL6V74;LDl'q[\string$ZC^,qHJ=Y ->C7a+_@(:8[eN.*n:KEQQJVs"^(T2Z"h2?QHm#lm6#H*aDh8@8Jm3UF[eLuRp`R\string$? -6#H*WD=C2:KGNGN/\string\XRt27@;0aCL\string$khf"Uu#*%Ks"Le+7OAWdIj>'(dl*n`EL,P%* -&6jO::U(jdL-R\string$a;@XEKW5W@E:h]\string\'fZTZ&2IlgdAO,jOIenNlo_n[O -qs""Pe+_>cn#,WPn)\string$pu^7W-3^O8=p5CGbE5CGbE5CGbE5CGcgrUg'\string\rUg'\string\qL89h -5CG_f^7S3Y:Z"sGn#+Y/e*6boo_nFYI6W-DT22BRVpjo-l1Fh#5CG_f:T*ZZe*6N\string$ -I6O9!Vpjo&qL(Q":T)\string\+o_Nu"T21.:I6O9!K_g*\string\T21.:I6O9!K_g*\string\'C#/a:T)'X -5+`/RpeRg)I6O80o_;48peQS>HmcdY-e%\string$<'B)+gl0qK%paFT*b&n -L=7gF:P*s-i1C/I-c%t[j:;B)"QU(.PuEc.AeiBCZN4SP=c/;D"]f?=L:]C?)O[;? -Ai"3B!'gY\string~> -}} -\catcode`\%=14 -\catcode`\#=6 -\def\kaplogo{\advance\textwidth -2pc - \leavevmode\lower 8pt - \hbox to 24pt{\the\logotoks\hss}} -\if@copyrighthead - \gdef\@copyrighthead{{\parindent 0pt\vbox to\headheight {% - \hsize\textwidth \vss \kaplogo - \parbox{\textwidth}{\CLsize\thejournal\thecopyright}}}} - \gdef\@copyrightfoot{} -\else - \gdef\@copyrightfoot{{\parindent 0pt\rlap{\vbox to 0pt{% - \hsize\textwidth \vss \kaplogo - \parbox{\textwidth}{\CLsize\thejournal\thecopyright}\vss}}}} - \gdef\@copyrighthead{} -\fi -% \end{macrocode} -% Next part. Since this is defined through editor, definition is a bit -% easier. However, |\editor| is mandatory to get barcodes typeset, -% which may be a bit unexpected. -% \begin{macrocode} -\def\@kapidenthead{} -\def\@kapidentfoot{} -\if@kapidenthead - \def\editor#1{\gdef\@kapidentfoot{}% - \if@noid \gdef\@kapidenthead{}\else - \gdef\@kapidenthead{\footnotesize \tt #1 (\klujnlname:\kluclassname)\ v.% - \kluclassversion\hfill}\fi} -\else - \def\editor#1{\gdef\@kapidenthead{}% - \if@noid \gdef\@kapidentfoot{}\else - \gdef\@kapidentfoot{\vbox to 0pt{% - \rlap{\vbox to \id@boxheight{\hbox{}\vfill - \hbox to \textwidth{\footnotesize\tt\hbox{}\hfill #1 - (\klujnlname:\kluclassname)\ v.\kluclassversion}% - \vskip 10pt}}\vss}}\fi} -\fi -% \end{macrocode} -% -% \begin{macrocode} -\newcounter{outputpage} -\def\idline{\if@noid\else - \stepcounter{outputpage}% - \rlap{\smash{\vtop to \id@boxheight{% - \vfil\hbox to\textwidth{% - \hfil\footnotesize\tt - \jobname.tex; \TODAY;~\timenow;~p.\theoutputpage}}}}% - \fi} -% \end{macrocode} -%\subsection{Headings and page layout} -% -% Change with older versions: |\idline| has been taken separately to -% allow easier changes. This is defined above, and does not contain -% any space, either vertical or horizontal (text extends below to the -% right, but it can be ignored here). -% -%|\DeclareTextAccent| is not very clean, but -% without it |\'|, |\`| and |\=| fail if used in the output routine -%(i.e. running headlines). Accents always require the use of |\protect|, -% otherwise they will never be expanded in |\uppercase| versions. -% \begin{macrocode} -\DeclareTextAccent{\@acci}{OT1}{19} -\DeclareTextAccent{\@accii}{OT1}{18} -\DeclareTextAccent{\@acciii}{OT1}{22} -\DeclareTextAccent{\@acci}{T1}{1} -\DeclareTextAccent{\@accii}{T1}{0} -\DeclareTextAccent{\@acciii}{T1}{9} -\gdef\markboth#1#2{{\let\protect=\noexpand - \xdef\myleftmark{\Uppercase{#1}}% - \xdef\myrightmark{\Uppercase{#2}}}} -\let\imarkboth\markboth -\def\myleftmark{} -\def\myrightmark{} -\def\@markfont{\rm\scriptsize} -\def\@pgnumfont{\rm\normalsize} -\def\ps@headings{% - \def\@oddfoot{\idline\hfil }% - \let\@evenfoot\@oddfoot - \def\@evenhead{\hbox{}\@pgnumfont\rlap{\thepage}\hfil - \@markfont\myleftmark\hfil}% - \def\@oddhead{\hbox{}\hfil\@markfont\myrightmark\hfil - \@pgnumfont\llap{\thepage}}% - \let\@mkboth\@gobbletwo - \def\chaptermark##1{}% - \def\sectionmark##1{}% - \def\subsectionmark##1{}} -\def\ps@myheadings{% - \def\@oddfoot{\idline\hfil }% - \let\@evenfoot\@oddfoot - \def\@evenhead{\hbox{}\@pgnumfont\rlap{\thepage}\hfill - \@markfont\myleftmark}% - \def\@oddhead{\hbox{}\@markfont\myrightmark\hfill - \@pgnumfont\llap{\thepage}}% - \let\@mkboth\@gobbletwo - \def\chaptermark##1{}% - \def\sectionmark##1{}% - \def\subsectionmark##1{}} -\def\ps@empty{% - \def\@oddfoot{\idline\hfil }% - \let\@evenfoot\@oddfoot - \def\@evenhead{}% - \def\@oddhead{}% - \let\@mkboth\@gobbletwo - \def\chaptermark##1{}% - \def\sectionmark##1{}% - \def\subsectionmark##1{}} -\let\ps@title\ps@empty -\let\ps@part\ps@empty -\let\ps@chapter\ps@empty -% \end{macrocode} -% -% -% In a monography chapters place the marks as follows:\\ -% |2 C H A P T E R O N E . T I T L E O F C H 3| -% -% \begin{macrocode} -\def\ps@monoheadings{% - \let\@mkboth\@gobbletwo - \def\@oddfoot{\idline\hfil}% - \let\@evenfoot\@oddfoot - \def\@evenhead{\hbox{}\rm\normalsize\hbox to 0pt{\thepage\hss}\hfil - \footnotesize\myleftmark\hfil}% - \def\@oddhead{\hbox{}\rm\footnotesize\hfil - \myrightmark\hfil - \rm\normalsize\hbox to 0pt{\hss\thepage}}% - \def\chaptermark##1{% - \if@mainmatter - \markboth{\@chapapp\ \NUMTOWORD{\c@chapter}}{\@runningtitle}% - \else - \markboth{\@chapapp\ \thechapter}{\@runningtitle}% - \fi } - \let\sectionmark\@gobble - } - \def\ps@monotitle{\let\@mkboth\@gobbletwo - \def\@oddhead{\hbox{}\rm\footnotesize\hfil - \myleftmark\hfil}% - \def\@oddfoot{\idline \@barcode\@kapidentfoot - \parbox{\textwidth}{\hfil\thepage\hfil\\ \@copyrightfoot}} - \let\@evenhead\@oddhead - \let\@evenfoot\@oddfoot - \let\chaptermark\@gobbletwo - \let\sectionmark\@gobble - \let\subsectionmark\@gobble - } - \def\ps@monochapter{\let\@mkboth\@gobbletwo - \def\@oddhead{\hbox{}\hfil\rm\footnotesize - \myleftmark\hfil}% - \def\@oddfoot{\idline\hfil\rm\normalsize\thepage\hfil}% - \let\@evenhead\@oddhead - \let\@evenfoot\@oddfoot - \let\chaptermark\@gobbletwo - \let\sectionmark\@gobble - \let\subsectionmark\@gobble - } -% \end{macrocode} -% -% -% If editedvolume and if nothing specified -% -% -% Here we have:\\ -% |2 A U T H O R S . T I T L E O F E N T R Y 3| -% -% \begin{macrocode} - \def\ps@editheadings{\let\@mkboth\@gobbletwo - \def\@oddfoot{\idline\hfil}% - \def\@evenfoot{\idline\hfil}% - \def\@evenhead{\hbox{}\rm\normalsize\rlap{\thepage}\hfil - \footnotesize\myleftmark\hfil}% - \def\@oddhead{\hbox{}\rm\footnotesize\hfil\myrightmark\hfil - \rm\normalsize\hbox to 0pt{\hss\thepage}}% - \def\chaptermark##1{% - \markboth{\@runningauthor}{\@runningtitle}}% - \let\sectionmark\@gobble - } - \def\ps@edittitle{\let\@mkboth\@gobbletwo - \def\@oddhead{\hbox{}\rm\footnotesize\hfil - \myleftmark\hfil}% - \def\@oddfoot{\idline \@barcode\@kapidentfoot - \parbox{\textwidth}{\hfil\raise 6pt\hbox{\thepage}\hfil\\ \@copyrightfoot}} - \let\@evenhead\@oddhead - \let\@evenfoot\@oddfoot} -% \end{macrocode} -% |\ps@opening| does not bother with |\chaptermark| etc, since it will -% be used only as |\thispagestyle|. -% \begin{macrocode} -\def\theinheadpage{\thepage} -\def\ps@opening{% - \def\@oddhead{\@copyrighthead \@kapidenthead\hss - \if@copyrighthead \llap{\theinheadpage}\fi }% - \let\@evenhead\@oddhead - \def\@oddfoot{\@copyrightfoot \@barcode\idline\@kapidentfoot\hss} - \let\@evenfoot\@oddfoot} -% \end{macrocode} -%\subsection{The article environment} -% stepping the counter takes care of |\label| and |\ref|, but maybe there are -% no environments at all in the file. In that case, we do not want -% |\thearticle| to disrupt things. -% -% The AtEndDocument is an extra check. -% \begin{macrocode} -\newcounter{article} -\renewcommand{\thearticle}{} -\let\ilabel=\label -\let\iref=\ref -\let\ipageref=\pageref -\let\art@intdefinecounter\@definecounter -\newif\ifinarticle % \inarticlefalse -\newenvironment{article}{% - \def\@definecounter##1{\art@intdefinecounter{##1}% - \@addtoreset{##1}{article}}% - \renewcommand{\thearticle}{\roman{article}}% - \refstepcounter{article}% - \message{Article \number\c@article}% - \gdef\@firstpage{\the\c@page}% - \ifx\sectioncmd\section - \@addtoreset{section}{article}% - \else - \@addtoreset{chapter}{article}% - \fi - \@addtoreset{endnote}{article}% - \@addtoreset{table}{article}% - \@addtoreset{figure}{article}% - \@addtoreset{algorithm}{article}% - \def\label##1{\ilabel{\thearticle ##1}}% - \def\ref##1{\iref{\thearticle ##1}}% - \def\pageref##1{\ipageref{\thearticle ##1}}% - \setlastpage - \global\inarticletrue - }{\make@ao - \writelastpage - \clearpage - \if@openright - \ifodd \c@page \else ~\thispagestyle{empty}\newpage \fi - \fi - \gdef\@dedication{}\gdef\@translation{}% - \gdef\@title{}\gdef\@subtitle{}% - \gdef\@arttype{}\gdef\@keywords{}\gdef\@classification{}% - \gdef\@nomenclature{}\gdef\@abbreviations{}\gdef\@abstract{}% - \gdef\@kapidenthead{}\gdef\@kapidentfoot{}% - \gdef\@barcode{}\gdef\@firstpage{\thepage}% - \gdef\@crline{}% - \global\lastpagegivenfalse - \global\inarticlefalse - } -\AtBeginDocument{\setlastpage} -\AtEndDocument{\ifnum \c@article=0 - \writelastpage - \clearpage\fi} -\font\barcodefont=cmr10 -\def\barcode#1{\global\font\barcodefont=barcodes - \gdef\@barcode{\rlap{\vbox to 0pt{% - \vbox to \id@boxheight{\hbox{}\vfill - {\barcodefont \hbox{#1}}}\vss}}}} -\def\@barcode{} -\def\PIPSID#1{} -\parskip 0pt -\hyphenpenalty 200 -\doublehyphendemerits 640000 % corresponds to badness 800 -\finalhyphendemerits 1000000 % corresponds to badness 1000 -\endinput -% \end{macrocode} -%\PrintIndex -%\end{document} -% end of kluedit.sty - - diff --git a/helm/papers/matita/klufloa.sty b/helm/papers/matita/klufloa.sty deleted file mode 100644 index 1fd176ef9..000000000 --- a/helm/papers/matita/klufloa.sty +++ /dev/null @@ -1,732 +0,0 @@ -% -% -% -\ifcat a\noexpand @\let\next\relax\else \def\next{% -\documentclass{kluwer}\usepackage{doc}\MakePercentIgnore}\fi\next -\def\filedate{1998/03/13} -%\changes{1997/07/10}{Fixes in @klu@caption: inserted [b] and moved -% kaprotate code from the else to after the fi.} -\def\filename{klufloa.sty} -%\DoNotIndex{\@M,\def,\c@secnumdepth,\baselineskip,\@pnumwidth,\else,\fi} -%\DoNotIndex{\newcommand,\z@,\relax,\renewcommand,\ifnum,\csname,\endcsname} -%\DoNotIndex{\baselineskip,\vskip,\hskip,\relax,\secdef,\gdef,\@cla,\@clb} -%\DoNotIndex{\normalsize,\protect,\global,\setbox,\hbox,\vbox,\endinput} -%\DoNotIndex{\egroup,\endgroup,\bgroup,\begingroup,\let} -%\CodelineIndex -%\newcommand{\Bs}{$\backslash$} -%\parindent=0pt -%\parskip=3pt -%\hfuzz=10pt -%\MakeShortVerb{\|} -%\setlength{\marginparwidth}{0in} -%\addtolength{\textwidth}{4pc} -%\begin{document} -%\begin{opening} -%\title{\filename} -%\date{\filedate} -%\author{T. \surname{Hoekwater}} -%\institute{Kluwer Academic Publishers, Dordrecht} -%\begin{abstract} -% This internal stylefile takes care of floats and the |kaprotate| macro's \\ -% -%\noindent -%{\bf Disclaimer:} This stylefile is to be used by Kluwer Academic -% Publishers in the contruction of full class files. Therefore, the -% user interface is not very high-level, and is definately not meant -% for normal usage. This stylefile is provided {\bf as is}, i.e. we -% accept no responsibilities whatsoever. You are free to use this file -% in any way you like, provided you do not make {\it any\/} changes. -% If you {\it do\/} make changes, you have to rename the changed file. -%\end{abstract} -%\end{opening} -%\tableofcontents -%\newpage\section{Usage} -% At this moment, there are three float environments done here: -% |table|, |figure| (with their starred and sub... forms) and |algorithm|. -% -% -% In order to facilitate customization, the following commands are -% exported: -% -% \def\pitem[#1]{\item[\ttfamily\string #1]\SpecialUsageIndex{#1}} -%\begin{description} -%\pitem[\tabwidth] Allows setting the width of a table that has to be -%centered, but does not contain a |tabular| or |TABULAR|. Also, -%it might be handy for tables that contain more than one |tabular|. -%(e.g. |\tabwidth{20pc}|) -%\pitem[\tabfont] Font specification for the main text of tables.\\ -% (default value |\footnotesize|) -%\pitem[\tabcapfont] Font specification for table captions. -% (default value |\footnotesize|) -%\pitem[\figcapfont] Font specification for caption of figures. There is no -% definition for the font of the text of figures. -% (defaultvalue |\footnotesize|) -%\pitem[\tableindent] Indentation for tables. -% (default given by stylefile) -% Tables and figures can be either indented over a specified width, or -% centered. This can be done independent of each other, but both -% always use the same indentation. i.e: You cannot -% have figures indented 4 picas and tables 2 picas, but you can have -% indented tables with centered figures. -%\pitem[\figindent] Indentation for figures. From the note above for these -%two commands it follows that if both are given, they have to set the same -% value. If they don't, the last given value will prevail. -% (default given by stylefile) -%\pitem[\figtabdot] The dot after the number. (default value |.|) -%\pitem[\captionskip] Vertical skip between caption and main body of float. -% (default value 6pt) -%\pitem[\tabcapspace] Space between heading of caption and -%text of caption. This is a vertical or horizontal skip, depending on -%whether captions are split or not. Default value .5em. -%\pitem[\splittabcaptions] Splits the table captions in two parts. -%\pitem[\splitfigcaptions] Splits the figure captions in two parts. -%\pitem[\splitcaptions] Combines both. -%\pitem[\indentedcaptions] Ordinarily, captions are centered above or below -%the float. This setting allows you to specify a specific indentation. -%\pitem[\captionindent] Value used for the previous option The default value -%is 0pt (appears to make most sense). -%\end{description} -% -% -% -%\newpage\section{Implementation} -% -% The |klutab| is necesarry here, because we need the definitions -% of tabular \& co that set the correct widths. It also makes sure that -% these two are nicely tied in to eachother (version control problems). -% -% \begin{macrocode} -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{klufloa}[\filedate ] -\RequirePackage{klutab}[1997/05/30] -% \end{macrocode} -%\subsection{Float parameters} -% These are standard as in \LaTeXe. -% \begin{macrocode} -\setcounter{topnumber}{2} -\setcounter{bottomnumber}{1} -\setcounter{totalnumber}{3} -\setcounter{dbltopnumber}{2} -% \end{macrocode} -% The parameters below try to ensure that there are not so many float -% pages. (prevents empty white space). -% -% In the old stylefiles, -% |\topfraction| was $.99$, but that was bit to much, resulting in -% pages with a huge float and only two text lines. Now a float has -% to be $>.85$|\textheight| before it will result in a float page. -% (oversimplified, but this is the general idea). This leaves -% space on the page for a few more textlines. -% -% |\bottomfraction| used to be $.3$, but that is to small for almost -% any float this style generates; there are split captions and tabnotes -% to account for, so the value has increased a bit. -% \begin{macrocode} -\renewcommand{\topfraction}{.85} -\renewcommand{\textfraction}{.01} -\renewcommand{\bottomfraction}{.4} -\renewcommand{\floatpagefraction}{.84} -\renewcommand{\dblfloatpagefraction}{.84} -\renewcommand{\dbltopfraction}{.7} -% \end{macrocode} -%\newpage -% \subsection{Helper macros} -% |\figtabdot| serves the same purpose as |\sectiondot| elsewhere, -% and the -% names of various strings. -% \begin{macrocode} -\def\figtabdot{.} -\def\tablename{Table}% -\def\figurename{Figure}% -\def\algorithmname{Algorithm}% -% \end{macrocode} -% |\maxfloatwidth| is the allowed width of the table.\\ -% (If this is a rotated table or figure, it will use all of the -% page. Of course, |\maxfloatwidth| then is |\textheight|.)\\ -% |\figtabbox| will contain the total float as a vbox. -% |\floatindent| is the indentation skip for indented tables \& figures. -% The last defined value will overwrite the previous one.\\ -% |\@tabskip| is an aid in helping to decide indentation of rotated tables.\\ -% |\cap@type| is an aid in keeping track of caption types\\ -% |\captionskip| is the vertical skip between caption and main body. -% \begin{macrocode} -\newdimen\maxfloatwidth -\newbox\figtabbox -\newdimen\floatindent -\newdimen\@tabskip -\gdef\cap@type{0} -\newdimen\captionskip -\setlength\captionskip{6pt} -% \end{macrocode} -% -% -% |\@tabwidth| is -% supposed to contain the width of the table. (the width of |\figtabbox| is -% probably either |\textwidth| or zero.) |tabular| and |TABULAR| from -% |klutab.sty| set -% this value automatically, but so should every |table|. If your table -% does not contain a |tabular|, you can set this value yourself: -% just say |\tabwidth{..}| somewhere in your table. Your text will -% be typeset inside a |\vbox| with width |\maxfloatwidth|. -% \begin{macrocode} -\newdimen\@tabwidth -\setlength\@tabwidth{\textwidth} -\def\tabwidth#1{\global\setlength\@tabwidth{#1}} -% \end{macrocode} -% -% |\@getindent| calculates the value of |\maxfloatwidth|, -% It is called from figure and table. -% -% For rotated floats, |\maxfloatwidth| == |\vsize|. The use -% of |\vsize| here is probably -% better than |\textheight|, because it allows use of minipages and -% |\vbox|es to get special effects (where |\textheight| $>$ |\vsize|). -% -% |\@floatcorrect| fixes indentation for rotated floats. This and\\ -% |\hbox@to@floatwidth| are just shortcuts. -% \begin{macrocode} -\def\@getmaxwidth{\maxfloatwidth=\hsize - \if@kaprotate \maxfloatwidth=\textheight \fi } -\def\@floatcorrect{\if@kaprotate\else - \advance\maxfloatwidth -\floatindent \fi } -\def\hbox@to@floatwidth#1{\leavevmode - \hbox to \@tabwidth{#1}} -% \end{macrocode} -% -% |\@getindent| calculates the values for |\@tabskip| and -% |\@floatindent|. The first check initializes |\@tabwidth| for -% anything except tables. The macro\\ |\@centeredfloat| does the -% hard work for centered floats, where |\floatindent| is not given -% beforehand. -% \begin{macrocode} -\def\@getindent{% - \ifnum\cap@type=2 \else - \@tabwidth=\if@kaprotate \textheight \else \hsize \fi - \if@figindent\advance \@tabwidth -\floatindent \fi\fi - \ifnum\cap@type=1 - \if@figindent \@tabskip\floatindent - \else \@centeredfloat \fi - \else \ifnum\cap@type=2 - \if@tabindent \@tabskip\floatindent - \else \@centeredfloat \fi - \ifdim \@tabwidth > \maxfloatwidth - \@tabskip 0pt - \floatindent 0pt - \fi - \else - \@centeredfloat - \fi - \fi -} -% \end{macrocode} -% -% |\@centeredfloat|\\ -% Calculate |\@tabskip| for centering. In this macro, we know the -% float will be centered. We calculate |\floatindent| ourselves from -% |\maxfloatwidth|. -% -% We need to maintain this indentation for rotated floats (so they -% will be vertically centered), but |\@tabskip| needs to be re-done. -% -% \begin{macrocode} -\def\@centeredfloat{% - \floatindent\maxfloatwidth - \advance\floatindent by -\@tabwidth - \divide\floatindent by 2 - \@tabskip\floatindent - \if@kaprotate - \@tabskip\hsize - \advance\@tabskip by -\ht\figtabbox - \advance\@tabskip by -\dp\figtabbox - \divide\@tabskip by 2 - \fi -} -% \end{macrocode} -% -% \subsection{Table caption commands} -% Here is the code for the captions. -% -% -% |\indentedcaptions| is a user option that indents captions instead -% (over a default value of 0pt). -% \begin{macrocode} -\newif\if@centeredfigcaption -\newif\if@centeredtabcaption -\@centeredtabcaptiontrue -\@centeredfigcaptiontrue -\def\indentedtabcaptions{\global\@centeredtabcaptionfalse } -\def\indentedfigcaptions{\global\@centeredfigcaptionfalse } -\def\indentedcaptions{\global\@centeredtabcaptionfalse - \global\@centeredfigcaptionfalse} -\newdimen\captionindent -\setlength\captionindent{0pt} -\newtoks\@floatcaption -\def\tabcapspace{.5em} -\def\tabcapfont{\footnotesize } -\long\def\@maketabcaption#1#2{\global\@floatcaption={#2}% - \message{\tablename\space\thetable \if@kaprotate - \space(rotated) \fi}} -% \end{macrocode} -% -% Captions are centered above the table by default.\footnote{ -% In real life, {\tt @klu@caption} would be called {\tt make@caption}, -% since these do the typesetting}. This code is called from |\endtable|. -% \begin{macrocode} -\def\@klu@caption{% - \setbox1=\hbox{\tabcapfont\fnum@table\hskip\tabcapspace - \the\@floatcaption}% - \noindent - \ifdim\wd1 >\@tabwidth - {\if@centeredtabcaption\centering\else \hskip \captionindent\fi - \parbox[b]{\@tabwidth}{\tabcapfont\unhbox1}}% - \else - \hbox to \@tabwidth{% - \if@centeredtabcaption \hfil \else \hskip \captionindent\fi - \tabcapfont\fnum@table - \hskip\tabcapspace{\tabcapfont\the\@floatcaption}\hfil }% - \fi - \if@kaprotate \else \par \vskip -\baselineskip \fi - \par -} -\def\@klu@figcaption{% - \setbox1=\hbox{\figcapfont\fnum@figure\hskip\tabcapspace - \the\@floatcaption}% - \noindent - \ifdim\wd1 >\@tabwidth - {\if@centeredfigcaption\centering\else \hskip \captionindent\fi - \parbox{\@tabwidth}{\figcapfont\unhbox1}}% - \else - \hbox to \@tabwidth{% - \if@centeredfigcaption \hfil\else \hskip \captionindent\fi - \tabcapfont\fnum@figure - \hskip\tabcapspace{\figcapfont\the\@floatcaption}\hfil}% - \fi - \par -} -% \end{macrocode} -% -% |\splitcaptions| is a user option to generate a caption in which the -% `Table 1' is separated from the caption text. The resulting -% definitions depend on being inside a -% vbox when called. -% \begin{macrocode} -\def\splitcaptions{\splittabcaptions\splitfigcaptions} -\def\splittabcaptions{ - \def\@klu@caption{% - \setbox1=\hbox{\tabcapfont\the\@floatcaption}% - \noindent - \ifdim\wd1 >\@tabwidth - \hbox to \@tabwidth{\if@centeredtabcaption\hss\else - \hskip\captionindent\fi - \tabcapfont\fnum@table\hss}\vskip \tabcapspace - \vskip 6pt - {\if@centeredtabcaption\centering\fi - \hskip \captionindent - \parbox{\@tabwidth}{\tabcapfont\unhbox1}}% - \else - \hbox to \@tabwidth{% - \if@centeredtabcaption \hfil\else \hskip\captionindent\fi - \tabcapfont\fnum@table\strut\hfil }\vskip \tabcapspace - \hbox to \@tabwidth{% - \if@centeredtabcaption \hfil\else \hskip\captionindent \fi - \tabcapfont\the\@floatcaption \hfil }% - \if@kaprotate \else \par \vskip -\baselineskip \fi - \fi - \par -}} -\def\splitfigcaptions{\def\@klu@figcaption{% - \setbox1=\hbox{\figcapfont\the\@floatcaption}% - \noindent - \ifdim\wd1 >\@tabwidth - \hbox to \@tabwidth{\if@centeredfigcaption\hfil\else - \hskip\captionindent\fi - \figcapfont\fnum@figure\hfil}\vskip \tabcapspace - \vskip 6pt - {\if@centeredfigcaption\centering\fi \hskip \captionindent - \parbox{\@tabwidth}{\figcapfont\unhbox1}}% - \else - \hbox to \@tabwidth{% - \if@centeredfigcaption \hfil\else \hskip\captionindent\fi - \figcapfont\fnum@figure\strut\hfil }\vskip \tabcapspace - \hbox to \@tabwidth{% - \if@centeredfigcaption \hfil\else \hskip\captionindent\fi - \figcapfont\the\@floatcaption \hfil }% - \fi - \par -}}% -% \end{macrocode} -%\newpage -%\subsection{Table} -% Standard \LaTeX\ definitions first: -% -% |\newcounter| removed 7/6/96 to prevent errors when used as package. -% (`counter |\c@table| already defined') -% \begin{macrocode} -\@ifundefined{thetable}{\newcounter{table}}{} -\def\thetable{\arabic{table}} -\def\fps@table{tbp} -\def\ftype@table{2} -\def\ext@table{lot} -\def\fnum@table{\tablename~\thetable\figtabdot} -% \end{macrocode} -% Now the switch to control indentation. -% -% \begin{macrocode} -\newif\if@tabindent \@tabindentfalse -\def\tableindent#1{% - \global\floatindent= #1\global\@tabindenttrue } -% \end{macrocode} -% Default font for tables. -% This could also be used to redefine the font -% defaults like family and shape. -% \begin{macrocode} -\def\tabfont{\footnotesize} -% \end{macrocode} -% |\tabnotes| is intended to be used as `footnote' to a tabular -% environment. |\@tabnotes| will be cleared before every table. -% \begin{macrocode} -\def\@tabnotes{} -\newcounter{tabnote} -\def\tabnotemark{\ensuremath{^{\thetabnote}}} -\def\thetabnote{\arabic{tabnote}} -\def\tabnotesep{\par} -\def\tabnote#1{\stepcounter{tabnote}% - \rlap{\tabnotemark }% - \begingroup - \let\tabnotesep\relax - \xdef\@tabnotes{\@tabnotes\tabnotesep \tabnotemark #1\par}% - \endgroup } -\long\def\tabnotes#1{\gdef\@tabnotes{{\tabfont\noindent #1\par}}} -% \end{macrocode} -% Now for the macro's that set the table itself. Just to recall: \\[6pt] -%|\maxfloatwidth|== max. width of table\\ -%|\@tabskip|== horizontal offset\\ -%|\floatindent|==indent before table proper\\ -%|\@tabnotes|==macro containing tabnotes (in Tabfont)\\ -%|\figtabbox|==vbox containing table (minus caption \& tabnotes) -% -% Non-rotated version:\\ -% Check width of caption. If it is too wide to fit on one line, put it -% in a |\parbox| with proper |\floatindent| before it. -% -% \begin{macrocode} -\def\@setnotrotatedtabbox{% - \setbox4=\hbox to \maxfloatwidth{\vbox{\hsize=\maxfloatwidth - \@klu@caption - \vskip\captionskip \leavevmode - \unvbox\figtabbox\par - \noindent\parbox{\@tabwidth}{\tabfont\@tabnotes}\par}}% - \if@fixedfloat\calc@fixedspace4\fi - \noindent\kern \floatindent\box4 - } -% \end{macrocode} -% Rotated version. We are inside a |\vbox| here, so we typeset 3 -% hboxes (and a |\vskip|). -% -% |\maxfloatwidth| is |\textheight| here, causing overfull boxes. -% -% \begin{macrocode} -\def\@setrotatedtabbox{\begingroup \hfuzz=\vsize - \setbox2\hbox to \textheight{\hfil - \vbox to \hsize{\hsize=\vsize - \vfil - \hbox{\hbox@to@floatwidth{\vbox{\@klu@caption }}} - \vskip\captionskip - \hbox{\hbox@to@floatwidth{\box\figtabbox\hss}}% - \hbox{\hbox@to@floatwidth{\parbox{\@tabwidth}{\tabfont\@tabnotes}\hfil }}% - \vss - }\hss}\rotl{2}\endgroup -} -% \end{macrocode} -% |\@makecaption| will be |\let| to |\@maketabcaption| in for the -% duration of the table. -% -% This is quite simple code, apart from handling the optional argument -% ourselves. |kaprotate| effectively kills Overfull and Underfull -% hbox-es. I don't like that, but I also don't like the messages I -% always get (Overfull hbox with width = |\textheight| $-$ |\textwidth|). -% \begin{macrocode} -\def\table{\let\@makecaption\@maketabcaption - \global\@floatcaption={}% - \gdef\@tabnotes{}\setcounter{tabnote}{0}\gdef\cap@type{2}% - \@ifnextchar[{\t@blewithoptions}{\t@blewithoptions[tbp]}} -\def\t@blewithoptions[#1]{% - \if H#1\@fixedtable \else \@float{table}[#1]\fi - \@getmaxwidth \if@tabindent \@floatcorrect \fi - \setbox\figtabbox\vbox\bgroup\tabfont - \if@kaprotate\hfuzz=\vsize\fi }% -% \end{macrocode} -% -% This |\hfuzz| is a bit more precise. At least ik will warn if the -% tabular itself is too large. -% \begin{macrocode} -\def\endtable{\egroup \@getindent - \gdef\cap@type{0}\noindent - \hfuzz=\floatindent - \if@kaprotate \@setrotatedtabbox - \else \@setnotrotatedtabbox \fi - \if@fixedfloat \vskip\intextsep \@fixedfloatfalse - \else \end@float \fi - \hfuzz =0.1pt }% -% \end{macrocode} -%\subsection{Table starred} -% This code is basically identical to the code above. -% Multicolumn `Here' floats in twocolumn layout don't work, for obvious -% reasons. If you need something like that, fake it with the -% twocolumn package. -% \begin{macrocode} -\@namedef{table*}{\let\@makecaption\@maketabcaption - \global\@floatcaption={}% - \gdef\@tabnotes{}\setcounter{tabnote}{0}\gdef\cap@type{2}% - \@ifnextchar[{\dt@blewithoptions}{\dt@blewithoptions[tbp]}} -\def\dt@blewithoptions[#1]{% - \if H#1\if@twocolumn \@dblfloat{table}[t]\else \@fixedtable\fi - \else \@dblfloat{table}[#1]\fi - \@getmaxwidth \if@tabindent \@floatcorrect \fi - \setbox\figtabbox\vbox\bgroup\tabfont - \if@kaprotate \hfuzz=\vsize \fi }% -% \end{macrocode} -% -% \begin{macrocode} -\@namedef{endtable*}{\egroup \@getindent - \gdef\cap@type{0}\noindent - \hfuzz=\floatindent - \if@kaprotate \@setrotatedtabbox - \else \@setnotrotatedtabbox \fi - \if@fixedfloat \vskip\intextsep \@fixedfloatfalse - \else \end@dblfloat \fi - \hfuzz=0.1pt }% -% \end{macrocode} -% \subsection{fixed point tables and figures} -% The fixedtable option. If there is enough room on the page, the -% box is typeset right away. If there is not enough space, the page is -% ended and the box is typeset at the top of the next page. This may -% conflict with following `top' floats, but the exact location in -% the text is maintained. -% -% Don't try to use |[H]| on rotated tables, and twocolumn will produce -% overlapping text in the second column, also, these will not appear -% in a `list of tables' unless you specifically ask that. -% \begin{macrocode} -\newif\if@fixedfloat -\def\@fixedtable{\vskip\intextsep \@fixedfloattrue - \def\caption{\@ifnextchar[{\f@xedcap{table}}% - {\f@xedcap{table}[]}}} -\def\@fixedfigure{\vskip\intextsep \@fixedfloattrue - \def\caption{\@ifnextchar[{\f@xedcap{figure}}% - {\f@xedcap{figure}[]}}} -\def\f@xedcap#1[#2]#3{\refstepcounter{#1}\def\@tempa{#2}% - \ifx\@tempa\empty - \else \addcontentsline{\csname ext@#1\endcsname}{#1}{#2}\fi - \message{#1\space\csname the#1\endcsname \space (fixed)}% - \global\@floatcaption={#3}} -\def\calc@fixedspace#1{% - \@tempdima=\pagegoal - \@tempdimb=\dp#1 - \advance\@tempdimb \ht#1 - \advance\@tempdima -\pagetotal - \advance\@tempdima -2\intextsep - \wlog{pageleft= \the\@tempdima, - size= \the\@tempdimb }% - \ifdim\@tempdima>\@tempdimb \else \newpage \fi} -% \end{macrocode} -% -%\newpage \subsection{Figure} -% Now we are going to do this all over again for -% figures. Documentation will only mark important differences. -% -% Parameters. -% -% \begin{macrocode} -\@ifundefined{thefigure}{\newcounter{figure}}{} -\def\thefigure{\arabic{figure}} -\def\fps@figure{tbp} -\def\ftype@figure{1} -\def\ext@figure{lof} -\def\fnum@figure{\figurename~\thefigure\figtabdot} -% \end{macrocode} -% Indentation, font and caption. -% \begin{macrocode} -\newif\if@figindent \@figindentfalse -\def\figindent#1{% - \global\floatindent #1 - \global\@figindenttrue } -\def\figcapfont{\footnotesize} -\long\def\@makefigcaption#1#2{% - \message{\figurename\space\thefigure - \if@kaprotate \space (rotated)\fi }% - \global\@floatcaption={#2}} -% \end{macrocode} -% -% The |fixed| option. -% -% \begin{macrocode} -% \end{macrocode} -% The figure environment itself. -% \begin{macrocode} -\def\figure{% - \gdef\cap@type{1}% - \let\@makecaption\@makefigcaption - \global\@floatcaption={}% - \@ifnextchar[{\f@gurewithoptions}{\f@gurewithoptions[tbp]}}% -\def\f@gurewithoptions[#1]{% - \let\saved@centerline\centerline - \if H#1\@fixedfigure \else \@float{figure}[#1]\fi - \@getmaxwidth \if@figindent \@floatcorrect - \def\centerline##1{##1}\fi - \setbox\figtabbox\vbox\bgroup }% -\def\endfigure{\egroup - \@getindent \gdef\cap@type{0}% - \hfuzz=\floatindent - \if@kaprotate \@setrotatedfigbox \pagebreak - \else \@setnotrotatedfigbox \fi - \let\centerline\saved@centerline - \if@fixedfloat \vskip\intextsep \@fixedfloatfalse - \else \end@float \fi - \hfuzz=0.1pt }% -% \end{macrocode} -% \subsection{figure starred} -% \begin{macrocode} -\@namedef{figure*}{% - \def\cap@type{1}% - \let\@makecaption\@makefigcaption - \global\@floatcaption={}% - \@ifnextchar[{\df@gurewithoptions}{\df@gurewithoptions[ttp]}} -\def\df@gurewithoptions[#1]{% - \let\saved@centerline\centerline - \if H#1 \@fixedfigure \else \@dblfloat{figure}[#1]\fi - \@getmaxwidth \if@figindent \@floatcorrect - \def\centerline##1{##1}\fi - \setbox\figtabbox\vbox\bgroup }% -\@namedef{endfigure*}{\egroup - \@getindent \gdef\cap@type{0}% - \hfuzz=\floatindent - \if@kaprotate \@setrotatedfigbox - \else \@setnotrotatedfigbox \fi - \let\centerline\saved@centerline - \if@fixedfloat \vskip\intextsep \@fixedfloatfalse - \else \end@dblfloat \fi - \hfuzz=0.1pt }% -% \end{macrocode} -% Non-rotated version (in figures |\caption| is done last): -% \begin{macrocode} -\def\@setnotrotatedfigbox{% - \setbox4=\hbox to \maxfloatwidth{\vbox{\hsize=\maxfloatwidth - \unvbox\figtabbox - \vskip\captionskip - \@klu@figcaption }}% - \if@fixedfloat\calc@fixedspace4 \fi - \noindent\kern \floatindent\box4 -} -% \end{macrocode} -% Rotated version: -% -% \begin{macrocode} -\def\@setrotatedfigbox{% - \setbox2\vbox to \hsize{\hsize=\textheight - \leavevmode - \vrule width \textheight height 0pt depth 0pt\par - \vskip \@tabskip - \hbox to \textheight{\hss\box\figtabbox\hss}% - \vskip\captionskip - \hbox to \textheight{\vbox{\@klu@figcaption }} - \vss - }\rotl{2}}% -% \end{macrocode} -%\newpage \subsection{Algorithm} -% This is a `standard' float. -% \begin{macrocode} -\newcounter{algorithm} -\def\thealgorithm{\arabic{algorithm}} -\def\fps@algorithm{tbp} -\def\ftype@algorithm{4} -\def\ext@algorithm{lof} -\long\def\@makealgocaption#1#2{% - \hbox to \hsize{\parbox[t]{\hsize}{{\vskip 1ex \tabcapfont - #1\figtabdot~~#2}}}} -\def\fnum@algorithm{\algorithmname\space \thealgorithm} -\def\algorithm{\let\@makecaption\@makealgocaption - \@float{algorithm}\footnotesize\obeyspaces\obeylines} -\let\endalgorithm\end@float -% \end{macrocode} -%\subsection{subtable and subfigure} -% These are the sub... environments. If you need comment on what -% happens, please see |kluthm.sty|, definition of |subequation|. -% \begin{macrocode} -\def\subtable{\@ifnextchar[{\@subtable}{\@subtable[alph]}} -\def\@subtable[#1]{\refstepcounter{table}% - \def\@testoption{arabic}\def\@testparam{#1}% - \begingroup - \edef\old@table{\the\c@table}% - \edef\old@thetable{\thetable}% - \setcounter{table}{0}% - \ifx\@testoption\@testparam - \def\thetable{\old@thetable.\csname #1\endcsname{table}}% - \else - \def\thetable{\old@thetable\csname #1\endcsname{table}}% - \fi} -\def\endsubtable{\setcounter{table}{\old@table}% - \endgroup \global\@ignoretrue} -\def\subfigure{\@ifnextchar[{\@subfigure}{\@subfigure[alph]}} -\def\@subfigure[#1]{\refstepcounter{figure}% - \def\@testoption{arabic}\def\@testparam{#1}% - \begingroup - \edef\old@figure{\the\c@figure}% - \edef\old@thefigure{\thefigure}% - \setcounter{figure}{0}% - \ifx\@testoption\@testparam - \def\thefigure{\old@thefigure.\csname #1\endcsname{figure}}% - \else - \def\thefigure{\old@thefigure\csname #1\endcsname{figure}}% - \fi} -\def\endsubfigure{\setcounter{figure}{\old@figure}% - \endgroup \global\@ignoretrue} -% \end{macrocode} -% \subsection{kaprotate} -% This appears to be an afterthought now, but in fact it is a quite -% handy command. The environment is defined in this file, because -% this reflects common usage, and this allows loading as a package -% in e.g. |article|. -% -% \begin{macrocode} - -\newif\if@kaprotate \@kaprotatefalse -\def\kaprotate{\global\@kaprotatetrue} -\def\endkaprotate{\global\@kaprotatefalse} - -% \end{macrocode} -% -% \subsubsection{Rotation macros} -% These are used in the |kaprotate| environment. Note that these -% macros depend on PostScript output at this moment. Later, -% I might include commands for (at least) Tpic. -% -% These are just a few macro's, so it isn't really worth including |graphicx| -% at the moment. -% -% |\rotl| and |\rotr| rotate a given box over resp. 270 and 90 degrees -% while typesetting that box. The new box has $wd_{new}=dp_1 + ht_1$ and -% $ht_{new}=wd_1$, with $dp_{new} ==0$. -% \begin{macrocode} -\newdimen\rotdimen -\def\rotstart#1{\special{ps: gsave currentpoint currentpoint translate - #1 neg exch neg exch translate}} -\def\rotfinish{\special{ps: currentpoint grestore moveto}} -\def\rotl#1{\rotdimen=\ht#1\advance\rotdimen by \dp#1 - \hbox to \rotdimen{\vbox to\wd#1{\vskip \wd#1 - \rotstart{270 rotate}\box #1\vss}\hss}\rotfinish} -\def\rotr#1{\rotdimen=\ht #1\advance\rotdimen by \dp#1 - \hbox to \rotdimen{\vbox to \wd#1{\vskip \wd#1 - \rotstart{90 rotate}\box #1\vss}\hss}\rotfinish} -\endinput -% \end{macrocode} -%\newpage -%\def\IndexParms{\hbadness=10000} -%\PrintIndex -%\end{document} -% end of klufloa.sty - - - - - diff --git a/helm/papers/matita/klulist.sty b/helm/papers/matita/klulist.sty deleted file mode 100644 index b24bca216..000000000 --- a/helm/papers/matita/klulist.sty +++ /dev/null @@ -1,276 +0,0 @@ -% -% -\ifcat a\noexpand @\let\next\relax\else \def\next{% -\documentclass{kluwer}\usepackage{doc}\MakePercentIgnore}\fi\next -\NeedsTeXFormat{LaTeX2e} -\def\filedate{1998/03/17} -\def\filename{klulist.sty} -%\DoNotIndex{\@M,\def,\c@secnumdepth,\baselineskip,\@pnumwidth,\else,\fi} -%\DoNotIndex{\newcommand,\z@,\relax,\renewcommand,\ifnum,\csname,\endcsname} -%\DoNotIndex{\baselineskip,\vskip,\hskip,\relax,\secdef,\refstepcounter} -%\DoNotIndex{\normalsize,\numberline,\protect,\endinput} -%\CodelineIndex -%\newcommand{\Bs}{$\backslash$} -%\parindent=0pt -%\parskip=3pt -%\hfuzz=10pt -%\MakeShortVerb{\|} -%\addtolength{\textwidth}{4pc} -%\begin{document} -%\begin{opening} -%\title{\filename} -%\date{\filedate} -%\author{Kluwer Academic Publishers\surname{}} -%\institute{~} -%\begin{abstract} -% This internal stylefile takes care of list definitions and `general' -% environments. There is one option: |kaplist|. -%\end{abstract} -%\end{opening} -%\tableofcontents -%\newpage\section{Usage} -% For the time being, all environments for which it is not so clear -% where to put them are placed in this file. This came about because -% most of these are |\trivlist| alike, but is quite arbitrary. -% -% As a result, this stylefile defines the following `common' -% environments: \\[6pt] -%|verse|\\ -%|quote|\\ -%|quotation|\\ -%|frontmatter|\\ -%|acknowledgements|\\ -%|notes|\\ -%|vitae|\\ -%|ao|\\ -%~ -% And, of course, |itemize|, |enumerate| and |description|. -%\newpage\section{Implementation} -% \begin{macrocode} -\ProvidesPackage{klulist}[\filedate ] -\newif\if@kaplist -\DeclareOption{kaplist}{\@kaplisttrue} -\ExecuteOptions{} -\ProcessOptions -% \end{macrocode} -% The label and counter default values for |enumerate|. Reference -% output at a level above 3 starts to look ridiculous. -% \begin{macrocode} -\def\labelenumi{\arabic{enumi}.} % 1. -\def\theenumi{\arabic{enumi}} % 1 -\def\labelenumii{\alph{enumii})} % a) -\def\theenumii{\alph{enumii}} % a -\def\p@enumii{\theenumi} % 1a -\def\labelenumiii{\it\roman{enumiii})} % \it i) -\def\theenumiii{\roman{enumiii}} % i -\def\p@enumiii{\theenumi(\theenumii)} % 1(a)\it i) -\def\labelenumiv{\Alph{enumiv})} % A) -\def\theenumiv{\Alph{enumiv}} % A -\def\p@enumiv{\p@enumiii\theenumiii} % 1(a)\it i)A -% \end{macrocode} -% Itemize labels -% \begin{macrocode} -\def\labelitemi{\m@th$-$} -\def\labelitemii{\m@th$\bullet$} -\def\labelitemiii{\m@th$\ast$} -\def\labelitemiv{{\footnotesize +}} -% \end{macrocode} -% Description list. -% \begin{macrocode} -\def\descriptionlabel#1{\hspace\labelsep \bf #1} -\newenvironment{description}{% - \list{}{% - \labelwidth\z@ - \itemindent -\leftmargin - \let\makelabel\descriptionlabel - }}{\endlist} -% \end{macrocode} -%\newpage -% \subsection{kaplist} -% This changes quite a lot of things. -% -% Insert different options to |\list| -% \begin{macrocode} -\if@kaplist - \def\kapitemargs{% - \topsep \z@ \@plus 1pt - \partopsep \z@ \@plus 1pt - \itemsep \z@ \@plus \z@ - \parsep \z@ \@plus 1pt - \leftmargini \z@ - \leftmarginii 1em - \leftmarginiii 1em - \leftmarginiv 1em - \rightmargin \z@ - \listparindent \z@ - \itemindent \z@ - } - \let\kapenumargs\kapitemargs -% \end{macrocode} -% Changed |\@mklab| from |[ 1]| to |[1 ]| -% \begin{macrocode} - \renewcommand{\@mklab}[1]{#1\hfil} -\else -\def\kapenumargs{} -\def\kapitemargs{} -\fi -% \end{macrocode} -% \newpage \subsection{Other environments} -% These are the environments that we {\it have\/} to define. -% -% This enumerate has an optional argument and uses that to implement dynamic -% resizing of the left margin. -% -% This itemize has an extra optional argument that gives the default label. -% \begin{macrocode} -\def\enumerate{% - \@ifnextchar[{\kap@enumerate}{\kap@enumerate[00]}} -\def\kap@enumerate[#1]{% - \ifnum \@enumdepth >3 \@toodeep\else - \advance\@enumdepth \@ne - \edef\@enumctr{enum\romannumeral\the\@enumdepth} - \list{\csname label\@enumctr\endcsname}{% - \kapenumargs - \usecounter{\@enumctr} - \settowidth\labelwidth{#1.} - \setlength{\leftmargin}{\labelwidth} - \addtolength{\leftmargin}{\labelsep} - \def\makelabel##1{\hss \llap{##1}}}% - \fi - } -\let\endenumerate\endlist -\def\itemize{\@ifnextchar[{\kap@itemize}{\kap@itemize[]}} -\def\kap@itemize[#1]{\def\klu@arg{#1}% - \ifnum \@itemdepth >3 \@toodeep - \else - \advance\@itemdepth \@ne - \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% - \ifx \klu@arg\empty - \list {\csname\@itemitem\endcsname}% - {\kapitemargs - \def\makelabel##1{\hss ##1\hfil}}% - \else - \list {\klu@arg }% - {\kapitemargs - \def\makelabel##1{\hss ##1\hfil}}% - \fi - \fi - } -\let\enditemize\endlist -\def\verse{\let\\=\@centercr - \list{}{\itemsep\z@ - \itemindent -1.5em - \listparindent \itemindent - \rightmargin\leftmargin - \advance\leftmargin 1.5em - }\item[]} -\let\endverse\endlist - -\def\quotation{\quoteskip - \list{}{% - \listparindent 1.5em - \topsep .5ex plus 2pt minus 1pt - \itemindent\listparindent - \parsep 0pt plus 1pt - }\item[] - \hskip-\listparindent} -\def\endquotation{\endlist\quoteskip} - -\def\quote{\quoteskip\list{}{% - \leftmargin 1.5em - \topsep .5ex plus 2pt minus 1pt - }\item[]} -\def\endquote{\endlist\quoteskip} -\def\quoteskip{} - -\def\frontmatter{\begingroup\thispagestyle{empty}% - \renewcommand{\thepage}{\roman{page}}\setcounter{page}{1}} -\def\endfrontmatter{\newpage\endgroup\setcounter{page}{1}} -% \end{macrocode} -% \newpage\subsection{`New' environments} -% The |notes| environment is used for incapsulation of `endnotes' that -% are typed in. -% \begin{macrocode} -\newenvironment{notes}{\sectioncmd*{\notesname}\footnotesize - \begin{enumerate}}{\end{enumerate}% - \par \vskip 6pt \@plus 12pt \@minus 2pt} -\def\notesname{Notes} -% \end{macrocode} -% -% This is the |vitae| environment. It does not use a list, but `item's -% are specified through |\Vauthor|. The name is defined in -% |\vitaename| and |\multiplevitaename|. -% -% The choice between these two names is done by checking the value of -% |enumiv|, which is incremented by every |\Vauthor|. -% \begin{macrocode} -\newenvironment{vitae}{% - \begingroup - \setcounter{enumiv}{0}% - \global\setbox0=\vbox\bgroup - }{% - \egroup - \ifnum \c@enumiv > 1 - \par\section*{\multiplevitaename}% - \else - \par\section*{\vitaename}% - \fi - \unvbox0 \endgroup \par - \vspace{24pt}% - } -\newcommand{\Vauthor}[1]{% - \addtocounter{enumiv}{1}% - \subsubsection*{#1}% - } - \def\vitaename{Author's Vitae}% - \def\multiplevitaename{Authors' Vitae}% -% \end{macrocode} -% |ao| will be typeset at the end of an article. -% I exchanged the |\if| for a permanent |\box|, because -% the box is needed anyway. -% \begin{macrocode} -\newbox\aobox -\newenvironment{ao}{% - \global\setbox\aobox - \vbox\bgroup - \footnotesize\noindent -% \end{macrocode} -% Watch out for the fixed space here. -% \begin{macrocode} - \ifx\offprintsaddress\empty - \leavevmode - \else - {\it \offprintsaddress:\/}\ - \fi - } - {\par\vskip18pt\egroup} -\newcommand{\make@ao}{% - \@tempdima \ht\aobox - \ifdim \@tempdima > 0pt - \par\noindent \unvbox\aobox - \fi - } -% \end{macrocode} -% This is a name that is not done at |\begin{document}|, because -% certain style may want to change this. The saveguard above is in -% case a style defines it to be empty. -% \begin{macrocode} -\newcommand{\offprintsaddress}{Address for Offprints} -\newenvironment{thenomenclature}{\section*{Nomenclature} - \parbox[t]{.48\textwidth}\bgroup\parindent 0pt - \footnotesize \begin{tabular}{p{2pc}p{11pc}}}{% - \end{tabular}\egroup} -\newcommand{\splitnomen}{\end{tabular}\egroup~\parbox[t]{.48\textwidth}% - \bgroup\parindent 0pt \footnotesize \begin{tabular}{p{2pc}p{11pc}}} -\newcommand{\nmc}[1]{\parbox[t]{11pc}{\raggedright #1}} -\def\verbatim@font{\normalsize\tt} -\def\acknowledgementsname{Acknowledgements}% -\def\acknowledgements{\section*{\acknowledgementsname}% - \message{\acknowledgementsname}} -\def\endacknowledgements{\par \bigskip} -\endinput -% \end{macrocode} -%\PrintIndex -%\end{document} -% end of klulist.sty - diff --git a/helm/papers/matita/klumac.sty b/helm/papers/matita/klumac.sty deleted file mode 100644 index 5b337cdb2..000000000 --- a/helm/papers/matita/klumac.sty +++ /dev/null @@ -1,359 +0,0 @@ -% -% -\ifcat a\noexpand @\let\next\relax\else \def\next{% -\documentclass{kluwer}\usepackage{doc}\MakePercentIgnore}\fi\next -\NeedsTeXFormat{LaTeX2e} -\def\filedate{1998/02/11} -\def\filename{klumac.sty} -%\DoNotIndex{\@M,\def,\c@secnumdepth,\baselineskip,\@pnumwidth,\else,\fi} -%\DoNotIndex{\newcommand,\z@,\relax,\renewcommand,\ifnum,\csname,\endcsname} -%\DoNotIndex{\baselineskip,\vskip,\hskip,\relax,\secdef,\gdef,\@cla,\@clb} -%\DoNotIndex{\normalsize,\protect,\global,\setbox,\hbox,\vbox,\endinput} -%\DoNotIndex{\egroup,\endgroup,\bgroup,\begingroup,\let} -%\CodelineIndex -%\newcommand{\Bs}{$\backslash$}% -%\parindent=0pt -%\parskip=3pt -%\hfuzz=10pt -%\MakeShortVerb{\|} -%\addtolength{\textwidth}{4pc} -%\begin{document} -%\begin{opening} -%\title{\filename} -%\date{\filedate} -%\author{Kluwer Academic Publishers\surname{}} -%\institute{~} -%\begin{abstract} -% This internal stylefile defines some handy macros and exports the special -% \AmSTeX\ fonts if available. -%\end{abstract} -%\end{opening} -%\tableofcontents -%\newpage\section{Usage} -%Here are tests for the macro commands used and defined in this file: -%{\def\mentry#1{$#1$ & \$\string #1\$ &} -%\def\tentry#1{#1 & \string #1 &} -% -%\begin{tabular}{lllllllll}\hline -%$\I $&\verb!$\I$! &$\iduaal$ &\verb!$\iduaal$! \\ -%$\restrict $&\verb!$\restrict$! &$\diamond$ &\verb!$\diamond$! \\ -%$\depth $&\verb!$\depth$! &$\dom$ &\verb!$\dom$! \\ -%$\mapdown{a}$&\verb!$\mapdown{a}$!&$\dC$ &\verb!$\dC$! \\ -%$\dF $&\verb!$\dF$! &$\dP$ &\verb!$\dP$! \\ -%$\dZ $&\verb!$\dZ$! &$\dQ$ &\verb!$\dQ$! \\ -%$\gsim $&\verb!$\gsim$! &$\logr$ &\verb!$\logr$! \\ -%$\dres $&\verb!$\dres$! &\today &\verb!\today! \\ -%$\forces $&\verb!$\forces$! &\.{a} & \verb!\.{a}! \\ -%$\concat $&\verb!$\concat$! &$\lh$ &\verb!$\lh$! \\ -%$\range $&\verb!$\range$! &$\mapright{a}$&\verb!$\mapright{a}$!\\ -%$\dL $&\verb!$\dL$! &$\dE$ &\verb!$\dE$!\\ -%$\dN $&\verb!$\dN$! &$\dR$ &\verb!$\dR$!\\ -%$\nequiv $&\verb!$\nequiv$! &$\lsim$ &\verb!$\lsim$!\\ -%$\grlo $&\verb!$\grlo$! &$\oast$ &\verb!$\oast$! \\ -%$\res$ &\verb!$\res$! &$\dres$ &\verb!$\dres$! \\ -%$\bigo{a}$ &\verb!$\bigo{a}$! &$\Res{a}$ &\verb!$\Res{a}$!\\ -%$\down{a}$ &\verb!$\down{a}$! &\timenow &\verb!\timenow!& \\ -%\TODAY &\verb!\TODAY! &\nbox{6}{500}{}{.}{4}{1}& -%\verb!\nbox{6}{500}{0}{.}{4}{1}! \\ -%\cb[6pc]{Quite a bit to long a text to fit in one column}& -%\verb!\cb[6pc]{Qu.... mn}!& \nbox{6}{600}{}{.}{4}{74} & -%\verb!\nbox{6}{600}{0}{.}{4}{74}!\\ -%\hline -%\end{tabular} -% -% \begin{itemize} -% \spitem spitem. (\verb!\spitem spitem. !) -% \spitem item) (\verb!\spitem spitem) !) -% \spitem em] (\verb!\spitem spitem] !) -% \spitem - (\verb!\spitem spitem- !) -% \spitem * (\verb!\spitem spitem* !) -% \end{itemize} -%\newpage\section{Implementation} -% Input special fonts. The commands for kluwer's internal font are -% always valid, but this option defines the font. This is needed -% because we do not intend to supply the font to everyone. -% -% Policy is that we want the ams fonts defined. However, not everybody -% has these fonts installed, so it's better to be careful. -% \begin{macrocode} -\ProvidesPackage{klumac}[\filedate ] -\font\@klusymfont=cmr10 -\DeclareOption{klusym}{\font\@klusymfont=klusym10 } -\ExecuteOptions{} -\ProcessOptions -\IfFileExists{amssymb.sty}{\RequirePackage{amssymb}% - \global\font\smallmsa=msam7 - \gdef\Register{$^{\mbox{\smallmsa\char114}}$~}}{} -\IfFileExists{wasysym.sty}{\RequirePackage{wasysym}}{% - \IfFileExists{wasysym.tex}{\input{wasysym}}{}} -% \end{macrocode} -% -% \subsection{Math macro's} -% \begin{macrocode} -\newcommand\I{{\bf I}} -\newcommand\iduaal{\overline{\I}} -\let\forces\Vdash -\newcommand\rrestrict{\hbox{$\mid$ \kern-5pt \raise3.6pt\hbox{$ - \scriptscriptstyle \backslash$}}} -\newcommand\restrict{\mathrel{\mathpalette\rrestrict{}}} -\let\diamond\lozenge -\newcommand\concat{\mathrel{\raise1pt\hbox{$\!\!^\frown\!\!$}}} -\newcommand\lh{\mathop\mathrm{lh}} -\newcommand\depth{\mathop\mathrm{depth}} -\newcommand\dom{\mathop\mathrm{dom}} -\newcommand\range{\mathop\mathrm{range}} -\newcommand\mapright[1]{\smash{\mathop{\longrightarrow}\limits^{#1}}} -\newcommand\mapdown[1]{\big\downarrow - \rlap{$\vcenter{\hbox{$\scriptstyle#1$}}$}} -\newcommand{\dC}{C \! \! \! \! {\scriptscriptstyle {}^{{}_|}}\ } -\newcommand{\dL}{I \! \! L} -\newcommand{\dE}{I \! \! E} -\newcommand{\dF}{I \! \! F} -\newcommand{\dP}{I \! \! P} -\newcommand{\dN}{I \! \! N} -\newcommand{\dR}{I \! \! R} -\newcommand{\dZ}{Z \! \! \! Z} -\newcommand{\dQ}{Q \! \! \! \! {\scriptscriptstyle {}^|}\ } -\newcommand{\nequiv}{\setbox0\hbox{$\equiv$}% - \rlap{\hbox{$\equiv$}}% - \hbox to \wd0{\hfil $/$\hfil}} -\newcommand{\lsim}{\rlap{\raise -.3ex\hbox{${\scriptstyle\sim}$}}% - \raise .6ex\hbox{${\scriptstyle <}$}}% -\newcommand{\gsim}{\rlap{\raise -.3ex\hbox{${\scriptstyle\sim}$}}% - \raise .6ex\hbox{${\scriptstyle >}$}}% -\newcommand{\logr}{\rlap{\raise -.3ex\hbox{${\scriptstyle <}$}}% - \raise .6ex\hbox{${\scriptstyle >}$}}% -\newcommand{\grlo}{\rlap{\raise -.3ex\hbox{${\scriptstyle >}$}}% - \raise .6ex\hbox{${\scriptstyle <}$}}% -\newcommand{\oast}{\setbox0\hbox{$\odot$}% - \rlap{\hbox to \wd0{\hfil$\ast$\hfil}}\box0} -\newcommand{\res}{\oalign{\hbox{$\grave{}$\kern-3pt$\mid$}}} -\newcommand{\dres}{\mid \! \res} -\newcommand{\bigo}[1]{\setbox0\hbox{$\bigcirc$}% - \rlap{\raise .2ex\hbox to \wd0{\hfil ${\scriptscriptstyle - #1}$\hfil}}\box0} -\newcommand{\Res}[1]{\mathop{\hbox{Res}}\limits_{\scriptscriptstyle #1}} -\newcommand{\down}[1]{\raise -1ex\hbox{{$\scriptstyle #1$}}} -% \end{macrocode} -% \subsection{General} -% -% \begin{macrocode} -\newcount\@cla -\newcount\@clb -\hyphenation{equiv-a-lent equiv-a-lent-ly sat-is-fy sat-is-fies - sat-is-fied} -\newcommand\fn{\hspace*{14pt} \= \kill} -\newcommand\mc{\multicolumn} -\newcommand{\dummy}[1]{} -\def\today{\ifcase\month\or January\or February\or March\or April\or - May\or June\or July\or August\or September\or October\or November\or - December\fi \space\number\day, \number\year} -\def\TODAY{\number\day/\ifcase\month\or 01\or 02\or 03\or 04\or 05\or - 06\or 07\or 08\or 09\or 10\or 11\or 12\fi/\number\year} -\def\timenow{% - \@tempcnta=\time \divide\@tempcnta by 60 \number\@tempcnta:\multiply - \@tempcnta by 60 \@tempcntb=\time \advance\@tempcntb by -\@tempcnta - \ifnum\@tempcntb <10 0\number\@tempcntb\else\number\@tempcntb\fi} -\def\numtoword#1{\ifcase#1\or one\or two\or three\or four\or - five\or six\or seven\or eight\or nine\or ten\or eleven\or twelve\or - thirteen\or fourteen\or fifteen\or sixteen\or seventeen\or - eighteen\or nineteen\or twenty\fi} -\def\NUMTOWORD#1{\ifcase#1\or ONE\or TWO\or THREE\or FOUR\or - FIVE\or SIX\or SEVEN\or EIGHT\or NINE\or TEN\or ELEVEN\or TWELVE\or - THIRTEEN\or FOURTEEN\or FIFTEEN\or SIXTEEN\or SEVENTEEN\or - EIGHTEEN\or NINETEEN\or TWENTY\fi} - -% \end{macrocode} -% |\genaccent| is defined below. |\ifempty| is a shortcut used inside -% |\genaccent|. -% \begin{macrocode} -\def\ifempty#1#2#3{\def\inner{#1}\ifx\inner\empty - #2\else #3\fi } -\def\ifdef#1{\edef\tempa{\expandafter\@gobble\string #1}% - \expandafter\expandafter\expandafter\ifx\expandafter\csname - \tempa \endcsname\relax - \let\next\nosw \else \let\next=\yessw \fi \next} -\def\nosw{\iffalse} -\def\yessw{\iftrue} -% \end{macrocode} -% \subsubsection{Spitem} -% This can be done better. -% \begin{macrocode} -\newif\ifklaar -\newbox\bdj -\def\onestep#1{\ifklaar\else - \if#1){)}\klaartrue\else - \if#1.{.}\klaartrue\else - \if#1]{]}\klaartrue\else - \if#1-{--}\klaartrue\else - \if#1*{*}\klaartrue\else - #1% - \fi\fi\fi\fi\fi - \fi} -\def\subspitem#1{\scan#1\end} -\def\spitem#1 {% - \def\scan##1##2\end{\def\aux{##1}% - \ifklaar\global\setbox\bdj=\hbox{##1##2\space}\else - \ifx\aux\empty \else \def\aux{##2}\onestep{##1}% - \ifx\aux\empty \else \scan##2\end \fi \fi \fi}% - \global\setbox\bdj\hbox{}% - \klaarfalse\expandafter\item[\subspitem{#1}]% - \unhbox\bdj} -% \end{macrocode} -% \subsubsection{Genaccent} -% \begin{macrocode} -\font\genacc=cmr10 -\def\genaccent#1#2#3#4#5{\protect\@genaccent{#1}{#2}{#3}{#4}{#5}} -\def\@genaccent#1#2#3#4#5{% - \leavevmode\setbox0=\hbox{#3}% - \vbox{\offinterlineskip - \ifempty{#1}{}{%\else - \hbox to\wd0{\hss\genacc \char#1\hss}}% - \ifempty{#4}{\kern -.8ex}{\kern #4}% - \vbox to\ht0{\copy0\vss}% - \vtop{\null\vbox to\dp0{\vss}% - \ifempty{#2}{}{%\else - \ifempty{#5}{\kern .2ex}{\kern#5}% - \hbox to \wd0{\hss \genacc\char #2\hss}}% - }}} -\renewcommand\.[1]{\genaccent{95}{}{#1}{}{}} -% \end{macrocode} -% \subsubsection{Table labels} -% Note that these are font-dependant, the option |klusym| is needed to -% initialize the correct font, otherwise the symbols will be in |cmr|. -% \begin{macrocode} -\newcommand\BlackBox{\hbox{\@klusymfont B}~} -\newcommand\EmptyBox{\hbox{\@klusymfont E}~} -\newcommand\HstripeBox{\hbox{\@klusymfont H}~} -\newcommand\VstripeBox{\hbox{\@klusymfont V}~} -\newcommand\LstripeBox{\hbox{\@klusymfont L}~} -\newcommand\RstripeBox{\hbox{\@klusymfont R}~} -\newcommand\UpCrossBox{\hbox{\@klusymfont U}~} -\newcommand\DiagCrossBox{\hbox{\@klusymfont D}~} -% \end{macrocode} -% \subsection{Table macro's} -% |\cb| it a typing shortcut for |\parbox|, without forcing this -% width. -% \begin{macrocode} -\def\cb{\@ifnextchar[{\@cbone}{\@cbone[8pc]}} -\def\@cbone[#1]#2{{\setbox0\hbox{#2}% - \ifdim\wd0 >#1 \parbox[t]{#1}{#2}\else #2\fi}} -% \end{macrocode} -% |\nbox| allows typesetting of aligned numbers. Arguments \#1, \#3 -% and \#5 specify widths in number of digits for the arguments \#2, -% \#4 and \#6. Typeset as |lcr|. Empty arguments for widths means -% natural width. This macro is a lot easier to use inside of another -% macro. -% \begin{macrocode} -\def\nbox#1#2#3#4#5#6{\begingroup\setbox0\hbox{0}% - \ifempty{#1}{\hfil #2}{\hbox to #1\wd0{\hfil #2}}% - \ifempty{#3}{\hbox{#4}}{\hbox to #3\wd0{\hfil #4\hfil }}% - \ifempty{#5}{#6 \hfil}{\hbox to #5\wd0{#6\hfil }}% - \endgroup} -% \end{macrocode} -% -% -% \subsection{Charkern macro's} -% -% These are not very readable, but they work quite well. -% -% Use dollars for inlinemath, not |\(....\)|. -% -% Special handling added for the (quite often appearing) case of -% |\charkern{\notesname}|, and a security check for the often -% appearing case of no argument at all. -% \begin{macrocode} -\newif\ifkern@mathmode \kern@mathmodefalse -\def\charkerncharspace{\kern 0.5ex} -\def\charkernwordspace{\kern 0.5em\penalty 10} -\let\charkerncommand\uppercase -\def\@kap@tfor#1:=#2\do#3{\ifempty{#1}{}{% - \@tforloop#2\@nil\@nil\@@#1{#3}}} -\def\charkern#1{% - \ifempty{#1}{}{%else - \begingroup - \def\test##1##2!!!!{\def\@tempa{##2}}\test#1!!!!% - \ifx\@tempa\empty \edef\@@kc{#1}\else \def\@@kc{#1}\fi - \def\c@@k{@s@e@v@y}% - \def\ck@@##1 @s@e@v@y\@@ck{\def\@@kc{##1}}% - \def\ck@##1 ##2\@@ck{\def\@kc{##1}\def\@@kc{##2}}% -% \end{macrocode} -% |\@kc| == first word of remaining sentence -% \begin{macrocode} - \def\iterate{\expandafter\expandafter\expandafter\ck@ -% \end{macrocode} -% The |\space| forces the line to end on with a space. -% -% In |\@kernword| most of the real work is done -% -% -% \begin{macrocode} - \expandafter\@@kc\space @s@e@v@y\@@ck - \expandafter\@kernword\expandafter{\@kc}% - \ifx\@@kc\c@@k - \let\next\relax - \else - \expandafter\ck@@\@@kc\@@ck - \let\next\iterate\charkernwordspace - \fi\next}\iterate - \endgroup - }} - -\def\@kernword#1{\def\d@ll@rm@th{$}\@kap@tfor\@nextchar:=#1\do{% - \ifx\@nextchar\d@ll@rm@th - \ifkern@mathmode - \kern@mathmodefalse -% \end{macrocode} -% -% Here all collected math is typeset -% -% \begin{macrocode} - $\kern@math$% - \else - \kern@mathmodetrue - \xdef\kern@math{}% - \fi - \else - \ifkern@mathmode - \begingroup - \def\protect{\noexpand}% -% \end{macrocode} -% -% eat up math char by char -% -% |ab -> A\kern .5ex B\kern .5ex| -% -% \begin{macrocode} - \xdef\kern@math{\kern@math\@nextchar}% - \endgroup - \else - \charkerncommand\expandafter{\@nextchar}\charkerncharspace - \fi - \fi -}} - -\newcount\tracingkluwer -\def\kludebug#1{\relax\ifcase\tracingkluwer \or - \wlog{kap: #1}\or \typeout{kap: #1}\else - \immediate\wlog{kap*: #1}\typeout{kap: #1}\fi} -\global\tracingkluwer=3 -\def\kluverbatim{\par\begingroup\vbox \bgroup\trivlist - \item\relax \vskip\parskip - \rightskip\z@skip \parindent\z@ - \parfillskip\@flushglue \parskip0pt \@@par \@tempswafalse - \def\par{\if@tempswa \leavevmode\null\@@par\penalty\interlinepenalty - \else \@tempswatrue \ifhmode\@@par\penalty\interlinepenalty\fi \fi} - \let\do\@makeother \catcode`\|=0 - \obeylines \verbatim@font \@noligs \dospecials \catcode`\%=14 - \frenchspacing\@vobeyspaces - \everypar \expandafter{\the\everypar \unpenalty }} -\def\endkluverbatim{\endtrivlist\egroup\endgroup} -\endinput -% \end{macrocode} -%\PrintIndex -%\end{document} -%% end of klumac.sty - - - - diff --git a/helm/papers/matita/klumath.sty b/helm/papers/matita/klumath.sty deleted file mode 100644 index 9ef1c5cc9..000000000 --- a/helm/papers/matita/klumath.sty +++ /dev/null @@ -1,463 +0,0 @@ -% -% -\ifcat a\noexpand @\let\next\relax\else \def\next{% -\documentclass{kluwer}\usepackage{doc}\MakePercentIgnore}\fi\next -\def\filedate{1998/03/13} -\def\filename{klumath.sty} -%\DoNotIndex{\@M,\def,\c@secnumdepth,\baselineskip,\@pnumwidth,\else,\fi} -%\DoNotIndex{\newcommand,\z@,\relax,\renewcommand,\ifnum,\csname,\endcsname} -%\DoNotIndex{\baselineskip,\vskip,\hskip,\relax,\secdef,\refstepcounter} -%\DoNotIndex{\normalsize,\numberline,\protect,\endinput} -%\DoNotIndex{\@compare,\ifx,\global} -%\CodelineIndex -%\newcommand{\Bs}{$\backslash$} -%\parindent=0pt -%\parskip=3pt -%\hfuzz=10pt -%\MakeShortVerb{\|} -%\setlength{\marginparwidth}{0in} -%\addtolength{\textwidth}{4pc} -%\begin{document} -%\begin{opening} -%\title{\filename} -%\date{\filedate} -%\author{T. \surname{Hoekwater}} -%\institute{Kluwer Academic Publishers} -%\begin{abstract} -% The math environments |varequation| and |subequation|, and the -% |mathsec| and |mathchap| options have been moved here. -% These are intended for large articles or books. -% -% This package also implements theorem-like environment -% support. There is one option: |thms|, which also defines the -% theorems, instead of just controlling layout for user defined -% theorems. This option is only supplied for backward compatibility, -% use is deprecated. -%\end{abstract} -%\end{opening} -%\tableofcontents -%\newpage\section{Usage notes} -%\subsection{Math environments} -% Two environments are defined to use with equations: |varequation| -% and\\ |subequation|. -% -% For |varequation|, there is one argument needed to be typeset as the -% `equation counter'. Usage example: -%\begin{verbatim} -%\begin{varequation}{A.345} -%... -%\end{varequation} -%\end{verbatim} -%results in: -%\begin{varequation}{A.345} -%... -%\end{varequation} -% This environment does not step the equation counter. -% -% For |subequation|, -% there is one {\it optional\/} argument, that allows selecting the formatted -% layout of the added part of the equation number. Example usage: -%\begin{verbatim} -%\begin{subequation}[alph] % this is also the default value -%\begin{equation} -%... -%\end{equation} -%\end{subequation} -%\end{verbatim} -% -% There are four package options, namely: -% \begin{itemize} -% \item[leqno] For equation numbers on the left. -% \item[fleqn] For flush left equations. -%\item[mathsec] For numbering within sections. -%\item[mathchap] For numbering within chapters. -% (make sure the chapter counter is defined before you use this one) -% \end{itemize} -% -% There are two user settings: -% \begin{itemize} -% \item |\mathindent| controls the amount of left indentation of -% equations under |fleqn|. -% \item |\eqnoindent| controls indentation for equation numbers. -% This only makes sense when used together with flush left equations, in -% which case it will move the equation counter from the right side to -% the left, with the specified indentation from the margin. -% -% \end{itemize} -% -% \subsection{Theorems} -% This part of the stylefile is a bit strange, because it doesn't really do -% much. For the theorem part, all it does is redefining the internal -% \LaTeX\ command from |\newtheorem| to recognize some common -% strings. Then it tries to extract meaning from the string it has -% found, and typesets the entire theorem accordingly. -% -% All this has the following effect: If you define something like -%\begin{verbatim} -%\newtheorem{thm}{THEOREM}[subsubsection] -%\end{verbatim} -% It will still be typeset according to the rules defined in the -% stylefile you're using, regardless of the environment name and the -% used counter. -% -% At this time, the following ``names'' are recognized: -% -%\begin{tabular}{lllll} \hline -%THEOREM & COROLLARY & LEMMA & CLAIM\\ -%ALGORITHM & DEFINITION & EXAMPLE & REMARK\\ -%PROBLEM & CONJECTURE & PROPOSITION & \\[6pt] -%Remark & Note & Summary & Case & Criterion\\ \hline -%\end{tabular} -% -% The case distinction is significant here, so please note that -% |REMARK| and |Remark| are typeset differently. -% -% \subsection{Proof environments} -% -% The stylefile defines the environments |pf| and |pf*| for use in -% proofs. |pf*| requires one argument, to be used as the `name' of the -% proof. Example usage: -%\begin{verbatim} -%\begin{thm} -%...... -%\end{thm} -%\begin{pf*}{Proofs} -%.... -%\end{pf*}\qed -%\end{verbatim} -%\begin{pf*}{Proofs} -%.... -%\end{pf*}\qed -% |\qed| Typesets an open box on the right margin. -% -%\newpage\section{Implementation} -% \begin{macrocode} -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{klumath}[\filedate ] -\DeclareOption{leqno}{\AtEndOfPackage{\varleqno}} -\DeclareOption{fleqn}{\AtEndOfPackage{\varfleqn}} -\DeclareOption{mathsec}{% - \def\theequation{\arabic{section}.\arabic{equation}}} -\DeclareOption{mathchap}{% - \def\theequation{\arabic{chapter}.\arabic{equation}}} -\newif\if@thms \@thmsfalse -\DeclareOption{thms}{\@thmstrue } -\DeclareOption{secthm}{\AtEndOfPackage{\if@thms - \renewcommand{\thethm}{\thesection.\arabic{thm}.}% - \renewcommand{\thecrit}{\thesection.\arabic{crit}.}% - \renewcommand{\therem}{\thesection.\arabic{rem}.}% - \renewcommand{\theNote}{\thesection.\arabic{Note}.}% - \renewcommand{\thesumm}{\thesection.\arabic{summ}.}% - \renewcommand{\thecase}{\thesection.\arabic{case}.}% - \fi - }} -\ExecuteOptions{} -\ProcessOptions -% \end{macrocode} -% \subsection{Math environments} -% First off is |varequation|. Doesn't step any counters, and it has one -% argument to define the `equationnumber' to be used. The option -% |\eqnoindent| allows fooling around with the location of the number. -% -% \begin{macrocode} -\newdimen\eqnoindent -\eqnoindent=0pt -\def\varequation#1{$$ \gdef\curr@vareq{#1}} -\def\endvarequation{\eqno \var@eqnnum $$\global\@ignoretrue } -\def\var@eqnnum{\reset@font\normalcolor (\curr@vareq)} -% \end{macrocode} -% -% \begin{macrocode} -\def\varleqno{% - \def\@eqnnum{\hbox to .01\p@{}% - \rlap{\reset@font\rmfamily\normalcolor - \hskip -\displaywidth (\theequation)}}% - \def\var@eqnnum{\hbox to .01\p@{}% - \rlap{\reset@font\rmfamily\normalcolor - \hskip -\displaywidth (\curr@vareq)}}% -}% -% \end{macrocode} -% For |fleqn|, |varequation| has to be redefined, because it uses a -% trivlist. -% \begin{macrocode} -\def\varfleqn{% - \newdimen\mathindent - \mathindent\leftmargini - \def\varequation##1{% - \@beginparpenalty\predisplaypenalty - \@endparpenalty\postdisplaypenalty - \gdef\curr@vareq{##1}\trivlist - \item[]\leavevmode - \hbox to\linewidth\bgroup $ \displaystyle - \hskip\mathindent }% - \def\endvarequation{$\hfil \displaywidth\linewidth - \ifdim \eqnoindent =\z@ - \llap{\hbox{\var@eqnnum}}% - \else - \llap{\hbox to 2pc{\var@eqnnum\hss}\kern \displaywidth - \kern -\eqnoindent}% - \fi - \egroup \endtrivlist}% -% - \def\[{\relax \ifmmode\@badmath - \else \trivlist - \@beginparpenalty\predisplaypenalty - \@endparpenalty\postdisplaypenalty - \item[]\leavevmode - \hbox to\linewidth\bgroup $\m@th\displaystyle %$ - \hskip\mathindent\bgroup \fi}% - \def\]{\relax \ifmmode \egroup $\hfil \egroup \endtrivlist % $ - \else \@badmath \fi }% -% - \renewenvironment{equation}% - {\@beginparpenalty\predisplaypenalty - \@endparpenalty\postdisplaypenalty - \refstepcounter{equation}% - \trivlist \item[]\leavevmode - \hbox to\linewidth\bgroup $\m@th% $ - \displaystyle - \hskip\mathindent}% - {$\hfil % $ - \displaywidth\linewidth - \ifdim \eqnoindent =\z@ - \llap{\hbox{\@eqnnum}}% - \else - \llap{\hbox to 2pc{\@eqnnum\hss}\kern \displaywidth - \kern -\eqnoindent}% - \fi - \egroup - \endtrivlist}% -% - \renewenvironment{eqnarray}{% - \stepcounter{equation}% - \def\@currentlabel{\p@equation\theequation}% - \global\@eqnswtrue\m@th - \global\@eqcnt\z@ - \tabskip\mathindent - \let\\=\@eqncr - \setlength{\abovedisplayskip}{\topsep}% - \ifvmode - \addtolength{\abovedisplayskip}{\partopsep}% - \fi - \addtolength{\abovedisplayskip}{\parskip}% - \setlength{\belowdisplayskip}{\abovedisplayskip}% - \setlength{\belowdisplayshortskip}{\abovedisplayskip}% - \setlength{\abovedisplayshortskip}{\abovedisplayskip}% - $$\everycr{}\halign to\linewidth% $$ - \bgroup - \hskip\@centering - $\displaystyle\tabskip\z@skip{####}$\@eqnsel&% - \global\@eqcnt\@ne \hskip \tw@\arraycolsep \hfil${####}$\hfil&% - \global\@eqcnt\tw@ \hskip \tw@\arraycolsep - $\displaystyle{####}$\hfil \tabskip\@centering&% - \global\@eqcnt\thr@@ - \llap \bgroup - \ifdim \eqnoindent =\z@ \else - \hbox to 2pc \bgroup \fi - ####\ifdim \eqnoindent =\z@ - \egroup \else \hss\egroup\kern \displaywidth - \kern -\eqnoindent\egroup - \fi \tabskip\z@skip\cr}% - {\@@eqncr - \egroup - \global\advance\c@equation\m@ne$$% $$ - \global\@ignoretrue - }} -% \end{macrocode} -% |subequation| is a lot smarter, it implements subnumbering by -% moving the current value of the |equation| counter to a fixed place, -% then resets |equation| and restarts numbering. -% -% Now the equation number consists of the `fixed' part and the -% updated new part. -% -% \begin{macrocode} -\def\subequation{\@ifnextchar[{\@subequation}{\@subequation[alph]}} -\def\@subequation[#1]{\refstepcounter{equation}% -% \end{macrocode} -% |\@testoption| is needed because we would like to have -% $$\hfill (1.1)$$ -% with a dot, but -%$$\hfill (1a)$$ without. -% -% \begin{macrocode} - \def\@testoption{arabic}% - \def\@testparam{#1}% - \begingroup -% \end{macrocode} -% Save old values -% \begin{macrocode} - \edef\old@equation{\the\c@equation}% - \edef\old@theequation{\theequation}% - \setcounter{equation}{0}% -% \end{macrocode} -% If the optional arg. == arabic; typeset a dot in between. -% \begin{macrocode} - \ifx\@testoption\@testparam - \def\theequation{\old@theequation.\csname #1\endcsname{equation}} - \else - \def\theequation{\old@theequation\csname #1\endcsname{equation}} - \fi} -% \end{macrocode} -% Restore old values -% \begin{macrocode} -\def\endsubequation{% - \setcounter{equation}{\old@equation}% - \endgroup - \global\@ignoretrue} -% \end{macrocode} -%\section{Theorems} -% \subsection{Fixed macros} -% \begin{macrocode} -\newif\if@novspace -\let\@thmscase\uppercase -\newdimen\theoremsep -\theoremsep\z@ -\def\thmdot{.} -\def\@stylehead{\rm } -\def\@styletext{\em } -\let\@dispcase\relax -\newdimen\dispsep -\dispsep\parindent -\def\dispdot{.} -\def\@disphead{\it } -\def\@disptext{\rm } -% \end{macrocode} -% Definition of the |pf| and |pf*| environments. These take into -% account the value of |\if@novspace| that is set by the theorem-like -% environments. -% \begin{macrocode} -\def\newproof#1#2{% - \expandafter\def\csname #1\endcsname{\par - \if@novspace \vskip-\lastskip - \else \addvspace{1\baselineskip - \@plus 0.5\baselineskip \@minus 0.1\baselineskip}% - \fi \indent - {\it #2.\/} \ignorespaces }% - \expandafter\def\csname end#1\endcsname - {\par \addvspace{1\baselineskip \@plus 0.5\baselineskip \@minus - 0.1\baselineskip}% - \global\@novspacefalse - }} -\newproof{pf}{Proof} - -% \end{macrocode} -% |pf*| has an argument that allow on-the-spot redefinition of -% |\proofname|. -% \begin{macrocode} -\@namedef{pf*}#1{\par - \begingroup - \def\proofname{#1}\pf - \endgroup - \ignorespaces} -\@namedef{endpf*}{\endpf} -% \end{macrocode} -% |\qed| takes into account whether it is called during math mode or -% text mode. This is important because outside of math mode there will -% usually be a line to much in the output. -% \begin{macrocode} -\def\qed{\relax - \ifmmode - ~\hfill\Box - \else - \unskip\nobreak ~\hfill$\Box$% - \fi \par} -% \end{macrocode} -%|\@begintheorem| and |\@opargbegintheorem| do the real work. Both -%have roughly the same layout: -% \begin{macrocode} -\def\@begintheorem#1#2{\trivlist - \global\@novspacetrue \itemindent\theoremsep - \item[\kern\labelsep - {\@stylehead\@thmscase{#1}\ #2\thmdot\/}]\ \@styletext} -\def\@opargbegintheorem#1#2#3{\trivlist \labelsep\z@ - \global\@novspacetrue \itemindent\theoremsep - \item[\kern \labelsep {\@stylehead\@thmscase{#1}\ #2\thmdot\ - (#3). \/}]\ \@styletext} -\def\@endtheorem{\endtrivlist} -\def\rmtheorem#1{% - \expandafter\g@addto@macro\csname #1\endcsname{\rmfamily\upshape }% - } -% \end{macrocode} -% -% |\newdisplay|. -% -% This is taken from |ltthm.dtx|. It echoes the redefinitions -% for theorems. -% \begin{macrocode} -\def\newdisplay#1{\@ifnextchar[{\@odisp{#1}}{\@ndisp{#1}}} -\def\@ndisp#1#2{% - \@ifnextchar[{\@xndisp{#1}{#2}}{\@yndisp{#1}{#2}}} -\def\@xndisp#1#2[#3]{\expandafter\@ifdefinable\csname #1\endcsname - {\@definecounter{#1}\@newctr{#1}[#3]% - \expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand - \csname the#3\endcsname \@dispcountersep \@dispcounter{#1}}% -\global\@namedef{#1}{% - \@disp{#1}{#2}}\global\@namedef{end#1}{\@enddisplay}}} -\def\@yndisp#1#2{\expandafter\@ifdefinable\csname #1\endcsname -{\@definecounter{#1}% -\expandafter\xdef\csname the#1\endcsname{\@dispcounter{#1}}% -\global\@namedef{#1}{% - \@disp{#1}{#2}}\global\@namedef{end#1}{\@enddisplay}}} -\def\@odisp#1[#2]#3{% - \@ifundefined{c@#2}{\@nocounterr{#2}}% - {\expandafter\@ifdefinable\csname #1\endcsname - {\global\@namedef{the#1}{\@nameuse{the#2}}% -\global\@namedef{#1}{\@disp{#2}{#3}}% -\global\@namedef{end#1}{\@enddisplay}}}} -\def\@disp#1#2{\refstepcounter - {#1}\@ifnextchar[{\@ydisp{#1}{#2}}{\@xdisp{#1}{#2}}} -\def\@xdisp#1#2{\@begindisplay{#2}{\csname the#1\endcsname}\ignorespaces} -\def\@ydisp#1#2[#3]{\@opargbegindisplay{#2}{\csname - the#1\endcsname}{#3}\ignorespaces} -\def\@dispcounter#1{\noexpand\arabic{#1}} -\def\@dispcountersep{.} -\def\@begindisplay#1#2{\trivlist - \global\@novspacefalse \itemindent\dispsep - \item[{\@disphead - \@dispcase{#1}\ #2\dispdot \/}]\@disptext} -\def\@opargbegindisplay#1#2#3{\trivlist - \global\@novspacefalse - \itemindent \dispsep - \item[{\@disphead \@dispcase{#1}\ #2\dispdot\ - (\@dispcase{#3})\/}]\@disptext} -\def\@enddisplay{\endtrivlist} -% \end{macrocode} -% \begin{macrocode} -\if@thms - \newtheorem{thm}{THEOREM} - \newtheorem{cor}[thm]{COROLLARY} - \newtheorem{lem}[thm]{LEMMA} - \newtheorem{claim}[thm]{CLAIM} - \newtheorem{conj}[thm]{CONJECTURE} - \newtheorem{prop}[thm]{PROPOSITION} - \newtheorem{exer}[thm]{EXERCISE} - \newtheorem{REM}[thm]{REMARK} - \newtheorem{prob}[thm]{PROBLEM} - \newtheorem{alg}{ALGORITHM} - \rmtheorem{alg} - \newtheorem{defn}[thm]{DEFINITION} - \rmtheorem{defn} - \newtheorem{exmp}[thm]{EXAMPLE} - \rmtheorem{exmp} - \newdisplay{crit}{Criterion} - \newdisplay{rem}{Remark} - \newdisplay{Note}{Note} - \newdisplay{summ}{Summary} - \newdisplay{case}{Case} -\fi -\arraycolsep = 3pt -\endinput -% \end{macrocode} -% \IndexParms{\hbadness=10000} -%\PrintIndex -%\end{document} -% end of klumath.sty - - - - - - - - diff --git a/helm/papers/matita/klunamed.bst b/helm/papers/matita/klunamed.bst deleted file mode 100644 index 716c45698..000000000 --- a/helm/papers/matita/klunamed.bst +++ /dev/null @@ -1,1161 +0,0 @@ -% This style produces citations in the `author-year' format. -% It supports two forms of citation: the \cite command produces: (Author, year) -% in the text; the \cite* command only: (year) . - - -ENTRY - { address - author - booktitle - chapter - edition - editor - howpublished - institution - journal - key - note - number - organization - pages - publisher - school - series - title - type - volume - year - } - {} - { label extra.label sort.label } - -INTEGERS { output.state before.all mid.sentence after.sentence after.block } - -FUNCTION {init.state.consts} -{ #0 'before.all := - #1 'mid.sentence := - #2 'after.sentence := - #3 'after.block := -} - -STRINGS { s t } - -FUNCTION {output.nonnull} -{ 's := - output.state mid.sentence = - { ", " * write$ } - { output.state after.block = - { add.period$ write$ - newline$ - "\newblock " write$ - } - { output.state before.all = - 'write$ - { add.period$ " " * write$ } - if$ - } - if$ - mid.sentence 'output.state := - } - if$ - s -} - -FUNCTION {output.nonnull.extra} -{ 's := - output.state mid.sentence = - { " " * write$ } - { output.state after.block = - { add.period$ write$ - newline$ - "\newblock " write$ - } - { output.state before.all = - 'write$ - { add.period$ " " * write$ } - if$ - } - if$ - mid.sentence 'output.state := - } - if$ - s -} - -FUNCTION {output} -{ duplicate$ empty$ - 'pop$ - 'output.nonnull - if$ -} - -FUNCTION {output.extra} -{ duplicate$ empty$ - 'pop$ - 'output.nonnull.extra - if$ -} - -FUNCTION {output.check} -{ 't := - duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } - 'output.nonnull - if$ -} - -FUNCTION {output.check.extra} -{ 't := - duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } - 'output.nonnull.extra - if$ -} - -FUNCTION {output.year.check} -{ year empty$ - { "empty year in " cite$ * warning$ } - { write$ - ": " year * extra.label * - mid.sentence 'output.state := - } - if$ -} - -FUNCTION {output.bibitem} -{ newline$ - "\bibitem[" write$ - label write$ - "]{" write$ - cite$ write$ - "}" write$ - newline$ - "" - before.all 'output.state := -} - -FUNCTION {fin.entry} -{ add.period$ - write$ - newline$ -} - -FUNCTION {new.block} -{ output.state before.all = - 'skip$ - { after.block 'output.state := } - if$ -} - -FUNCTION {new.sentence} -{ output.state after.block = - 'skip$ - { output.state before.all = - 'skip$ - { after.sentence 'output.state := } - if$ - } - if$ -} - -FUNCTION {not} -{ { #0 } - { #1 } - if$ -} - -FUNCTION {and} -{ 'skip$ - { pop$ #0 } - if$ -} - -FUNCTION {or} -{ { pop$ #1 } - 'skip$ - if$ -} - -FUNCTION {new.block.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.block - if$ -} - -FUNCTION {field.or.null} -{ duplicate$ empty$ - { pop$ "" } - 'skip$ - if$ -} - -FUNCTION {boldface} -{ duplicate$ empty$ - { pop$ "" } - { "{\bf " swap$ * "}" * } - if$ -} - -FUNCTION {emphasize} -{ duplicate$ empty$ - { pop$ "" } - { "{\em " swap$ * "}" * } - if$ -} - -INTEGERS { nameptr namesleft numnames } - -FUNCTION {format.names} -{ 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { nameptr #1 > - { s nameptr "{f. }{vv~}{ll}{, jj}" format.name$ 't := } - { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := } - if$ - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { numnames #2 > - { "," * } - 'skip$ - if$ - t "others" = - { " et~al." * } - { " and " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {format.ed.names} -{ 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { nameptr #1 > - { s nameptr "{f. }{vv~}{ll}{, jj}" format.name$ 't := } - { s nameptr "{f. }{vv~}{ll}{, jj}" format.name$ 't := } - if$ - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { numnames #2 > - { "," * } - 'skip$ - if$ - t "others" = - { " et~al." * } - { " and " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {format.authors} -{ author empty$ - { "" } - { author format.names } - if$ -} - -FUNCTION {format.key} -{ empty$ - { key field.or.null } - { "" } - if$ -} - -FUNCTION {format.editors} -{ editor empty$ - { "" } - { editor format.names - editor num.names$ #1 > - { " (eds.)" * } - { " (ed.)" * } - if$ - } - if$ -} - -FUNCTION {format.editors.extra} -{ editor empty$ - { "" } - { editor format.ed.names - editor num.names$ #1 > - { " (eds.)" * } - { " (ed.)" * } - if$ - } - if$ -} - -FUNCTION {format.title} -{ title empty$ - { "" } - { "`" title "'" * * } - if$ -} - -FUNCTION {n.dashify} -{ 't := - "" - { t empty$ not } - { t #1 #1 substring$ "-" = - { t #1 #2 substring$ "--" = not - { "--" * - t #2 global.max$ substring$ 't := - } - { { t #1 #1 substring$ "-" = } - { "-" * - t #2 global.max$ substring$ 't := - } - while$ - } - if$ - } - { t #1 #1 substring$ * - t #2 global.max$ substring$ 't := - } - if$ - } - while$ -} - -FUNCTION {first.page.number} -{ 't := - "" - { t "" = - { #0 } - { t #1 #1 substring$ "-" = not } - if$ - } - { t #1 #1 substring$ * - t #2 global.max$ substring$ 't := - } - while$ -} - -FUNCTION {format.btitle} -{ title emphasize -} - -FUNCTION {tie.or.space.connect} -{ duplicate$ text.length$ #3 < - { "~" } - { " " } - if$ - swap$ * * -} - -FUNCTION {either.or.check} -{ empty$ - 'pop$ - { "can't use both " swap$ * " fields in " * cite$ * warning$ } - if$ -} - -FUNCTION {format.bvolume} -{ volume empty$ - { "" } - { "Vol." volume tie.or.space.connect - series empty$ - 'skip$ - { " of " * series emphasize * } - if$ - "volume and number" number either.or.check - } - if$ -} - -FUNCTION {format.number.series} -{ volume empty$ - { number empty$ - { series field.or.null } - { output.state mid.sentence = - { "No." } - { "No." } - if$ - number tie.or.space.connect - series empty$ - { "there's a number but no series in " cite$ * warning$ } - { " in " * series * } - if$ - } - if$ - } - { "" } - if$ -} - -FUNCTION {format.edition} -{ edition empty$ - { "" } - { output.state mid.sentence = - { edition "l" change.case$ " edition" * } - { edition "t" change.case$ " edition" * } - if$ - } - if$ -} - -INTEGERS { multiresult } - -FUNCTION {multi.page.check} -{ 't := - #0 'multiresult := - { multiresult not - t empty$ not - and - } - { t #1 #1 substring$ - duplicate$ "-" = - swap$ duplicate$ "," = - swap$ "+" = - or or - { #1 'multiresult := } - { t #2 global.max$ substring$ 't := } - if$ - } - while$ - multiresult -} - -FUNCTION {format.pages} -{ pages empty$ - { "" } - { pages multi.page.check - { "pp." pages n.dashify tie.or.space.connect } - { "p." pages tie.or.space.connect } - if$ - } - if$ -} - -FUNCTION {format.page} -{ pages empty$ - { "" } - { "p.~" pages first.page.number * } - if$ -} - -FUNCTION {format.vol.num.pages} -{ volume field.or.null - volume empty$ - 'skip$ - { boldface } - if$ - number empty$ - 'skip$ - { "(" number * ")" * * - volume empty$ - { "there's a number but no volume in " cite$ * warning$ } - 'skip$ - if$ - } - if$ - pages empty$ - 'skip$ - { duplicate$ empty$ - { pop$ format.pages } - { ", " * pages n.dashify * } - if$ - } - if$ -} - -FUNCTION {format.vol.num.page} -{ volume field.or.null - volume empty$ - 'skip$ - { boldface } - if$ - number empty$ - 'skip$ - { "(" number * ")" * * - volume empty$ - { "there's a number but no volume in " cite$ * warning$ } - 'skip$ - if$ - } - if$ - pages empty$ - 'skip$ - { duplicate$ empty$ - { pop$ format.pages } - { ", " * pages first.page.number * } - if$ - } - if$ -} - -FUNCTION {format.chapter.pages} -{ chapter empty$ - 'format.pages - { type empty$ - { "Chapt." } - { type "l" change.case$ } - if$ - chapter tie.or.space.connect - pages empty$ - 'skip$ - { ", " * format.pages * } - if$ - } - if$ -} - -FUNCTION {format.in.ed.booktitle} -{ booktitle empty$ - { "" } - { editor empty$ - { "In: " booktitle emphasize * } - { "In: " format.editors.extra * ": " * booktitle emphasize * } - if$ - } - if$ -} - -FUNCTION {format.in.booktitle.or.series} -{ booktitle empty$ - { series empty$ - { "" } - { "In: " series emphasize * } - if$ - } - { editor empty$ - { "In: " booktitle emphasize * } - { "In: " format.editors.extra * ": " * booktitle emphasize * } - if$ - } - if$ -} - -FUNCTION {format.thesis.type} -{ type empty$ - 'skip$ - { pop$ - type "t" change.case$ - } - if$ -} - -FUNCTION {format.tr.number} -{ type empty$ - { "Technical Report" } - 'type - if$ - number empty$ - { "t" change.case$ } - { number tie.or.space.connect } - if$ -} - -FUNCTION {format.article.crossref} -{ "in" - " \cite{" * crossref * "}" * -} - -FUNCTION {format.book.crossref} -{ volume empty$ - { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ - "in " - } - { "Vol." volume tie.or.space.connect - " of " * - } - if$ - "\cite{" * crossref * "}" * -} - -FUNCTION {format.incoll.inproc.crossref} -{ "in" - " \cite{" * crossref * "}" * -} - -FUNCTION {article} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.check - format.title "title" output.check - new.block - crossref missing$ - { journal emphasize "journal" output.check.extra - format.vol.num.pages output.extra - } - { format.article.crossref output.nonnull - format.pages output - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {book} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check - editor format.key output - } - { format.authors output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - output.year.check - format.btitle "title" output.check - crossref missing$ - { format.bvolume output - format.number.series output - new.block - address empty$ - 'skip$ - { address ":" * output } - if$ - publisher "publisher" output.check.extra - } - { new.block - format.book.crossref output.nonnull - } - if$ - format.edition output - new.block - note output - fin.entry -} - -FUNCTION {booklet} -{ output.bibitem - format.authors output - author format.key output - output.year.check - format.btitle "title" output.check - new.block - howpublished output - address output - new.block - note output - fin.entry -} - -FUNCTION {inbook} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check - editor format.key output - } - { format.authors output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - output.year.check - format.btitle "title" output.check - crossref missing$ - { format.bvolume output - format.chapter.pages "chapter and pages" output.check - format.number.series output - new.block - address empty$ - 'skip$ - { address ":" * output } - if$ - publisher "publisher" output.check.extra - } - { format.chapter.pages "chapter and pages" output.check - new.block - format.book.crossref output.nonnull - } - if$ - format.edition output - new.block - note output - fin.entry -} - -FUNCTION {incollection} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.check - format.title "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - format.bvolume output - format.number.series output - new.block - address empty$ - 'skip$ - { address ":" * output } - if$ - publisher "publisher" output.check.extra - format.edition output - format.chapter.pages output - } - { format.incoll.inproc.crossref output.nonnull - format.chapter.pages output - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {inproceedings} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.check - format.title "title" output.check - new.block - crossref missing$ - { format.in.booktitle.or.series "booktitle or series" output.check - format.bvolume output - new.sentence - address output - format.pages output - } - { format.incoll.inproc.crossref output.nonnull - format.pages output - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {conference} { inproceedings } - -FUNCTION {manual} -{ output.bibitem - format.authors output - author format.key output - output.year.check - format.title "title" output.check - new.block - organization output - address output - format.edition output - new.block - note output - fin.entry -} - -FUNCTION {mastersthesis} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.check - format.title "title" output.check - new.block - "Master's thesis" format.thesis.type output.nonnull - school "school" output.check - address output - new.block - note output - fin.entry -} - -FUNCTION {misc} -{ output.bibitem - format.authors output - author format.key output - output.year.check - format.title output - new.block - howpublished output - new.block - note output - fin.entry -} - -FUNCTION {phdthesis} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.check - format.title "title" output.check - new.block - "Ph.D. thesis" format.thesis.type output.nonnull - school "school" output.check - address output - new.block - note output - fin.entry -} - -FUNCTION {proceedings} -{ output.bibitem - format.editors output - editor format.key output - output.year.check - format.title "title" output.check - format.bvolume output - format.number.series output - new.block - address empty$ - 'skip$ - { address ":" * output } - if$ - organization output.extra - publisher output - new.block - note output - fin.entry -} - -FUNCTION {techreport} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.check - format.title "title" output.check - new.block - format.tr.number output.nonnull - institution "institution" output.check - address output - new.block - note output - fin.entry -} - -FUNCTION {unpublished} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.check - format.title "title" output.check - new.block - note "note" output.check - fin.entry -} - -FUNCTION {default.type} { misc } - -MACRO {jan} {"Jan."} - -MACRO {feb} {"Feb."} - -MACRO {mar} {"Mar."} - -MACRO {apr} {"Apr,"} - -MACRO {may} {"May"} - -MACRO {jun} {"June"} - -MACRO {jul} {"July"} - -MACRO {aug} {"Aug."} - -MACRO {sep} {"Sept."} - -MACRO {oct} {"Oct."} - -MACRO {nov} {"Nov."} - -MACRO {dec} {"Dec."} - -READ - -FUNCTION {sortify} -{ purify$ - "l" change.case$ -} - -INTEGERS { len } - -FUNCTION {chop.word} -{ 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - if$ -} - -FUNCTION {format.lab.names} -{ 's := - s #1 "{vv~}{ll}" format.name$ - s num.names$ duplicate$ - #2 > - { pop$ " et~al." * } - { #2 < - 'skip$ - { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { " et~al." * } - { " and " * s #2 "{vv~}{ll}" format.name$ * } - if$ - } - if$ - } - if$ -} - -FUNCTION {author.key.label} -{ author empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {author.editor.key.label} -{ author empty$ - { editor empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { editor format.lab.names } - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {editor.key.label} -{ editor empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { editor format.lab.names } - if$ -} - -FUNCTION {calc.label} -{ type$ "book" = - type$ "inbook" = - or - 'author.editor.key.label - { type$ "proceedings" = - 'editor.key.label - 'author.key.label - if$ - } - if$ - "\protect\citeauthoryear{" swap$ * "}{" - * - year field.or.null purify$ #-1 #4 substring$ - * - 'label := -} - -FUNCTION {sort.format.names} -{ 's := - #1 'nameptr := - "" - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { nameptr #1 > - { " " * } - 'skip$ - if$ - s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := - nameptr numnames = t "others" = and - { "et al" * } - { t sortify * } - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {sort.format.title} -{ 't := - "A " #2 - "An " #3 - "The " #4 t chop.word - chop.word - chop.word - sortify - #1 global.max$ substring$ -} - -FUNCTION {author.sort} -{ author empty$ - { key empty$ - { "to sort, need author or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {author.editor.sort} -{ author empty$ - { editor empty$ - { key empty$ - { "to sort, need author, editor, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { editor sort.format.names } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {editor.sort} -{ editor empty$ - { key empty$ - { "to sort, need editor or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { editor sort.format.names } - if$ -} - -FUNCTION {presort} -{ calc.label - label sortify - " " - * - type$ "book" = - type$ "inbook" = - or - 'author.editor.sort - { type$ "proceedings" = - 'editor.sort - 'author.sort - if$ - } - if$ - #1 entry.max$ substring$ - 'sort.label := - sort.label - * - " " - * - title field.or.null - sort.format.title - * - #1 entry.max$ substring$ - 'sort.key$ := -} - -ITERATE {presort} - -SORT % by label, sort.label, title---for final label calculation - -STRINGS { last.label next.extra } - -INTEGERS { last.extra.num } - -FUNCTION {initialize.extra.label.stuff} -{ #0 int.to.chr$ 'last.label := - "" 'next.extra := - #0 'last.extra.num := -} - -FUNCTION {forward.pass} -{ last.label label = - { last.extra.num #1 + 'last.extra.num := - last.extra.num int.to.chr$ 'extra.label := - } - { "a" chr.to.int$ 'last.extra.num := - "" 'extra.label := - label 'last.label := - } - if$ -} - -FUNCTION {reverse.pass} -{ next.extra "b" = - { "a" 'extra.label := } - 'skip$ - if$ - label extra.label * "}" * 'label := - extra.label 'next.extra := -} - -EXECUTE {initialize.extra.label.stuff} - -ITERATE {forward.pass} - -REVERSE {reverse.pass} - -FUNCTION {bib.sort.order} -{ sort.label - " " - * - year field.or.null sortify - * - " " - * - title field.or.null - sort.format.title - * - #1 entry.max$ substring$ - 'sort.key$ := -} - -ITERATE {bib.sort.order} - -SORT % by sort.label, year, title---giving final bibliography order - -FUNCTION {begin.bib} -{ preamble$ empty$ - 'skip$ - { preamble$ write$ newline$ } - if$ - "\begin{thebibliography}{}" write$ newline$ -} - -EXECUTE {begin.bib} - -EXECUTE {init.state.consts} - -ITERATE {call.type$} - -FUNCTION {end.bib} -{ newline$ - "\end{thebibliography}" write$ newline$ -} - -EXECUTE {end.bib} - diff --git a/helm/papers/matita/klunote.sty b/helm/papers/matita/klunote.sty deleted file mode 100644 index 07d23538b..000000000 --- a/helm/papers/matita/klunote.sty +++ /dev/null @@ -1,201 +0,0 @@ -% -% -% -\ifcat a\noexpand @\let\next\relax\else \def\next{% -\documentclass{kluwer}\usepackage{doc}\MakePercentIgnore}\fi\next -\def\filedate{1998/02/11} -\def\filename{klunote.sty} -%\DoNotIndex{\@M,\def,\c@secnumdepth,\baselineskip,\@pnumwidth,\else,\fi} -%\DoNotIndex{\newcommand,\z@,\relax,\renewcommand,\ifnum,\csname,\endcsname} -%\DoNotIndex{\baselineskip,\vskip,\hskip,\relax,\secdef,\gdef,\@cla,\@clb} -%\DoNotIndex{\normalsize,\protect,\global,\setbox,\hbox,\vbox,\endinput} -%\DoNotIndex{\egroup,\endgroup,\bgroup,\begingroup,\let} -%\CodelineIndex -%\newcommand{\Bs}{$\backslash$} -%\parindent=0pt -%\parskip=3pt -%\hfuzz=11pt -%\MakeShortVerb{\|} -%\setlength{\marginparwidth}{0in} -%\addtolength{\textwidth}{4pc} -%\begin{document} -%\begin{opening} -%\title{\filename} -%\date{\filedate} -%\author{T. \surname{Hoekwater}} -%\institute{Kluwer Academic Publishers} -%\begin{abstract} -% This internal stylefile takes care of footnotes, endnotes and marginpars. -%\end{abstract} -%\end{opening} -%\tableofcontents -%\section{Usage} -% -% -% Footnotes are quite normal in usage, so please see Lamport for -% details. -% -% Endnotes were originally code from |endnotes.sty| (\LaTeX 2.09 -% package), with some minor adjustments to aid\endnote{Example} -% kluwer layout. Endnotes can be used just as |\footnote|s, with the -% command |\endnote| and family. Say |\theendnotes| where you -% want\endnote{another}. -% them to appear in your document. -% -% This endnote code {\it does\/} obey |\nofiles|, but will not work -% then (prevents an NFS error i've had). This means: any -% writing command will be ignored, but the file will be read if -% available. Note that this might mean that the endnotes are incorrect! -%\newpage\section{Implementation} -% \begin{macrocode} -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{klunote}[\filedate ] -% \end{macrocode} -% -% -% \subsection{Footnotes} -% -% Most stylefiles need to redefine the following lines, but we -% need a default anyway... -% \begin{macrocode} -\def\footnoterule{\kern-3\p@ - \hrule width 3pc - \kern 2.6\p@} -\long\def\@makefntext#1{\parindent 1em\noindent - \hbox to 1.5em{\hss$^{\@thefnmark}$}\hskip0.5em\footnotesize#1} -\def\@makefnmark{\hbox{$^{\@thefnmark}\m@th$}} -\footnotesep 6pt -\skip\footins 10pt plus 4pt minus 2pt -% \end{macrocode} -% \subsection{Endnotes} -% User options first. -% \begin{macrocode} -\newcounter{endnote} -\def\theendnote{\arabic{endnote}} -\def\@makeenmark{\hbox{$^{\@theenmark}$}} -\newdimen\endnotesep -\setlength\endnotesep{1pt} -\def\notesname{Notes}% <------ JK -\def\endnotesize{\footnotesize} -\def\endnoteformat{\vskip\endnotesep - \rightskip\z@ \leftskip\z@ - \parindent=1.8em\leavevmode\llap{\hbox{$^{\@theenmark}$ }}} -% \end{macrocode} -% User level interface: |\endnote|, |\addtoendnotes| and -% |\theendnotes|. -% \begin{macrocode} -\def\endnote{% - \@ifnextchar[ - {\@xendnote}% - {\stepcounter{endnote}% - \xdef\@theenmark{\theendnote}% - \@endnotemark - \@endnotetext}} -\long\def\addtoendnotes#1{% - \if@endnotesopen \else \@openendnotes \fi - \begingroup - \newlinechar='40 - \let\protect\string - \if@filesw \immediate\write\@endnotes{#1}\fi - \endgroup} -% \end{macrocode} -% -% I can't remember what the |\makeatletter| is doing here. -% -% \begin{macrocode} -\def\theendnotes{% - \if@filesw \immediate\closeout\@endnotes \fi - \global\@endnotesopenfalse - \begingroup - \makeatletter - \def\@doanendnote##1##2>{% - \def\@theenmark{##1}% - \par\begingroup - \endnoteformat}% - \def\@endanendnote{\par\endgroup}% - \def\ETC.{\PackageError{klunote}{% - Some endnotes will be truncated}{% - Because of memory constraints, LaTeX truncated some\MessageBreak - long endnotes while writing the auxiliary file.\MessageBreak - Use a bigger TeX main memory size to avoid this,\MessageBreak - It is save to continue by pressing }% - \def\ETC.{\relax}}% - \IfFileExists{\jobname.ent}{% - \endnoteheading - \endnotesize - \@input{\jobname.ent}}{}% - \endgroup } -% \end{macrocode} -% The less commonly used part of the user interface. -% \begin{macrocode} -\def\endnotemark{% - \@ifnextchar[{\@xendnotemark}% - {\stepcounter{endnote}% - \xdef\@theenmark{\theendnote}% - \@endnotemark}} -\def\endnotetext{% - \@ifnextchar[{\@xendnotenext}% - {\xdef\@theenmark{\theendnote}% - \@endnotetext}} -\def\endnoteheading{\section*{\notesname - \imarkboth{\notesname}{\notesname}}\leavevmode\par} -% \end{macrocode} -% -% \begin{macrocode} -\def\@xendnote[#1]{\begingroup - \c@endnote=#1\relax - \xdef\@theenmark{\theendnote}\endgroup - \@endnotemark\@endnotetext} -\let\@doanendnote=0 -\let\@endanendnote=0 -\newwrite\@endnotes -\newif\if@endnotesopen \@endnotesopenfalse -\def\@openendnotes{% - \if@filesw \immediate\openout\@endnotes=\jobname.ent\relax - \global\@endnotesopentrue \fi} -\long\def\@endnotetext#1{% - \if@endnotesopen \else \@openendnotes \fi - \if@filesw \immediate\write\@endnotes{\@doanendnote{\@theenmark}}\fi - \begingroup - \def\next{#1}% - \newlinechar='40 - \if@filesw \immediate\write\@endnotes{\meaning\next}\fi - \endgroup - \if@filesw \immediate\write\@endnotes{\@endanendnote}\fi - \edef\@currentlabel{\csname p@endnote\endcsname\@theenmark}} -\def\@xendnotemark[#1]{% - \begingroup - \c@endnote #1\relax - \xdef\@theenmark{\theendnote}\endgroup - \@endnotemark} -\def\@endnotemark{% - \leavevmode - \ifhmode \edef\@x@sf{\the\spacefactor}\fi - \@makeenmark - \ifhmode\spacefactor\@x@sf\fi\relax} -\def\@xendnotenext[#1]{% - \begingroup \c@endnote=#1\relax - \xdef\@theenmark{\theendnote}\endgroup - \@endnotetext} -% \end{macrocode} -% -% -% \subsection{marginparbox} -% This redefinition puts a |\marginparbox| in a |\fbox|. I am not sure -% whether we want this, because it is quite hard to restore if needed. -% \begin{macrocode} -%\long\def\@savemarbox#1#2{% -% \global\setbox #1 -% \vtop{\fbox{\vtop{\hsize\marginparwidth -% \@parboxrestore -% \raggedright -% \footnotesize -% #2}}}} -\endinput -% \end{macrocode} -% \theendnotes -%\PrintIndex -%\end{document} -% end of klunote.sty - - \ No newline at end of file diff --git a/helm/papers/matita/klunum.bst b/helm/papers/matita/klunum.bst deleted file mode 100644 index 3b931cbae..000000000 --- a/helm/papers/matita/klunum.bst +++ /dev/null @@ -1,1159 +0,0 @@ -% This style produces citations in the `author-year' format. -% It supports two forms of citation: the \cite command produces: (Author, year) -% in the text; the \cite* command only: (year) . - - -ENTRY - { address - author - booktitle - chapter - edition - editor - howpublished - institution - journal - key - note - number - organization - pages - publisher - school - series - title - type - volume - year - } - {} - { label extra.label sort.label } - -INTEGERS { output.state before.all mid.sentence after.sentence after.block } - -FUNCTION {init.state.consts} -{ #0 'before.all := - #1 'mid.sentence := - #2 'after.sentence := - #3 'after.block := -} - -STRINGS { s t } - -FUNCTION {output.nonnull} -{ 's := - output.state mid.sentence = - { ", " * write$ } - { output.state after.block = - { add.period$ write$ - newline$ - "\newblock " write$ - } - { output.state before.all = - 'write$ - { add.period$ " " * write$ } - if$ - } - if$ - mid.sentence 'output.state := - } - if$ - s -} - -FUNCTION {output.nonnull.extra} -{ 's := - output.state mid.sentence = - { " " * write$ } - { output.state after.block = - { add.period$ write$ - newline$ - "\newblock " write$ - } - { output.state before.all = - 'write$ - { add.period$ " " * write$ } - if$ - } - if$ - mid.sentence 'output.state := - } - if$ - s -} - -FUNCTION {output} -{ duplicate$ empty$ - 'pop$ - 'output.nonnull - if$ -} - -FUNCTION {output.extra} -{ duplicate$ empty$ - 'pop$ - 'output.nonnull.extra - if$ -} - -FUNCTION {output.check} -{ 't := - duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } - 'output.nonnull - if$ -} - -FUNCTION {output.check.extra} -{ 't := - duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } - 'output.nonnull.extra - if$ -} - -FUNCTION {output.year.check} -{ year empty$ - { "empty year in " cite$ * warning$ } - { write$ - ": " year * extra.label * - mid.sentence 'output.state := - } - if$ -} - -FUNCTION {output.bibitem} -{ newline$ - "\bibitem{" write$ - cite$ write$ - "}" write$ - newline$ - "" - before.all 'output.state := -} - -FUNCTION {fin.entry} -{ add.period$ - write$ - newline$ -} - -FUNCTION {new.block} -{ output.state before.all = - 'skip$ - { after.block 'output.state := } - if$ -} - -FUNCTION {new.sentence} -{ output.state after.block = - 'skip$ - { output.state before.all = - 'skip$ - { after.sentence 'output.state := } - if$ - } - if$ -} - -FUNCTION {not} -{ { #0 } - { #1 } - if$ -} - -FUNCTION {and} -{ 'skip$ - { pop$ #0 } - if$ -} - -FUNCTION {or} -{ { pop$ #1 } - 'skip$ - if$ -} - -FUNCTION {new.block.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.block - if$ -} - -FUNCTION {field.or.null} -{ duplicate$ empty$ - { pop$ "" } - 'skip$ - if$ -} - -FUNCTION {boldface} -{ duplicate$ empty$ - { pop$ "" } - { "{\bf " swap$ * "}" * } - if$ -} - -FUNCTION {emphasize} -{ duplicate$ empty$ - { pop$ "" } - { "{\em " swap$ * "}" * } - if$ -} - -INTEGERS { nameptr namesleft numnames } - -FUNCTION {format.names} -{ 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { nameptr #1 > - { s nameptr "{f. }{vv~}{ll}{, jj}" format.name$ 't := } - { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := } - if$ - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { numnames #2 > - { "," * } - 'skip$ - if$ - t "others" = - { " et~al." * } - { " and " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {format.ed.names} -{ 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { nameptr #1 > - { s nameptr "{f. }{vv~}{ll}{, jj}" format.name$ 't := } - { s nameptr "{f. }{vv~}{ll}{, jj}" format.name$ 't := } - if$ - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { numnames #2 > - { "," * } - 'skip$ - if$ - t "others" = - { " et~al." * } - { " and " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {format.authors} -{ author empty$ - { "" } - { author format.names } - if$ -} - -FUNCTION {format.key} -{ empty$ - { key field.or.null } - { "" } - if$ -} - -FUNCTION {format.editors} -{ editor empty$ - { "" } - { editor format.names - editor num.names$ #1 > - { " (eds.)" * } - { " (ed.)" * } - if$ - } - if$ -} - -FUNCTION {format.editors.extra} -{ editor empty$ - { "" } - { editor format.ed.names - editor num.names$ #1 > - { " (eds.)" * } - { " (ed.)" * } - if$ - } - if$ -} - -FUNCTION {format.title} -{ title empty$ - { "" } - { "`" title "'" * * } - if$ -} - -FUNCTION {n.dashify} -{ 't := - "" - { t empty$ not } - { t #1 #1 substring$ "-" = - { t #1 #2 substring$ "--" = not - { "--" * - t #2 global.max$ substring$ 't := - } - { { t #1 #1 substring$ "-" = } - { "-" * - t #2 global.max$ substring$ 't := - } - while$ - } - if$ - } - { t #1 #1 substring$ * - t #2 global.max$ substring$ 't := - } - if$ - } - while$ -} - -FUNCTION {first.page.number} -{ 't := - "" - { t "" = - { #0 } - { t #1 #1 substring$ "-" = not } - if$ - } - { t #1 #1 substring$ * - t #2 global.max$ substring$ 't := - } - while$ -} - -FUNCTION {format.btitle} -{ title emphasize -} - -FUNCTION {tie.or.space.connect} -{ duplicate$ text.length$ #3 < - { "~" } - { " " } - if$ - swap$ * * -} - -FUNCTION {either.or.check} -{ empty$ - 'pop$ - { "can't use both " swap$ * " fields in " * cite$ * warning$ } - if$ -} - -FUNCTION {format.bvolume} -{ volume empty$ - { "" } - { "Vol." volume tie.or.space.connect - series empty$ - 'skip$ - { " of " * series emphasize * } - if$ - "volume and number" number either.or.check - } - if$ -} - -FUNCTION {format.number.series} -{ volume empty$ - { number empty$ - { series field.or.null } - { output.state mid.sentence = - { "No." } - { "No." } - if$ - number tie.or.space.connect - series empty$ - { "there's a number but no series in " cite$ * warning$ } - { " in " * series * } - if$ - } - if$ - } - { "" } - if$ -} - -FUNCTION {format.edition} -{ edition empty$ - { "" } - { output.state mid.sentence = - { edition "l" change.case$ " edition" * } - { edition "t" change.case$ " edition" * } - if$ - } - if$ -} - -INTEGERS { multiresult } - -FUNCTION {multi.page.check} -{ 't := - #0 'multiresult := - { multiresult not - t empty$ not - and - } - { t #1 #1 substring$ - duplicate$ "-" = - swap$ duplicate$ "," = - swap$ "+" = - or or - { #1 'multiresult := } - { t #2 global.max$ substring$ 't := } - if$ - } - while$ - multiresult -} - -FUNCTION {format.pages} -{ pages empty$ - { "" } - { pages multi.page.check - { "pp." pages n.dashify tie.or.space.connect } - { "p." pages tie.or.space.connect } - if$ - } - if$ -} - -FUNCTION {format.page} -{ pages empty$ - { "" } - { "p.~" pages first.page.number * } - if$ -} - -FUNCTION {format.vol.num.pages} -{ volume field.or.null - volume empty$ - 'skip$ - { boldface } - if$ - number empty$ - 'skip$ - { "(" number * ")" * * - volume empty$ - { "there's a number but no volume in " cite$ * warning$ } - 'skip$ - if$ - } - if$ - pages empty$ - 'skip$ - { duplicate$ empty$ - { pop$ format.pages } - { ", " * pages n.dashify * } - if$ - } - if$ -} - -FUNCTION {format.vol.num.page} -{ volume field.or.null - volume empty$ - 'skip$ - { boldface } - if$ - number empty$ - 'skip$ - { "(" number * ")" * * - volume empty$ - { "there's a number but no volume in " cite$ * warning$ } - 'skip$ - if$ - } - if$ - pages empty$ - 'skip$ - { duplicate$ empty$ - { pop$ format.pages } - { ", " * pages first.page.number * } - if$ - } - if$ -} - -FUNCTION {format.chapter.pages} -{ chapter empty$ - 'format.pages - { type empty$ - { "Chapt." } - { type "l" change.case$ } - if$ - chapter tie.or.space.connect - pages empty$ - 'skip$ - { ", " * format.pages * } - if$ - } - if$ -} - -FUNCTION {format.in.ed.booktitle} -{ booktitle empty$ - { "" } - { editor empty$ - { "In: " booktitle emphasize * } - { "In: " format.editors.extra * ": " * booktitle emphasize * } - if$ - } - if$ -} - -FUNCTION {format.in.booktitle.or.series} -{ booktitle empty$ - { series empty$ - { "" } - { "In: " series emphasize * } - if$ - } - { editor empty$ - { "In: " booktitle emphasize * } - { "In: " format.editors.extra * ": " * booktitle emphasize * } - if$ - } - if$ -} - -FUNCTION {format.thesis.type} -{ type empty$ - 'skip$ - { pop$ - type "t" change.case$ - } - if$ -} - -FUNCTION {format.tr.number} -{ type empty$ - { "Technical Report" } - 'type - if$ - number empty$ - { "t" change.case$ } - { number tie.or.space.connect } - if$ -} - -FUNCTION {format.article.crossref} -{ "in" - " \cite{" * crossref * "}" * -} - -FUNCTION {format.book.crossref} -{ volume empty$ - { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ - "in " - } - { "Vol." volume tie.or.space.connect - " of " * - } - if$ - "\cite{" * crossref * "}" * -} - -FUNCTION {format.incoll.inproc.crossref} -{ "in" - " \cite{" * crossref * "}" * -} - -FUNCTION {article} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.check - format.title "title" output.check - new.block - crossref missing$ - { journal emphasize "journal" output.check.extra - format.vol.num.pages output.extra - } - { format.article.crossref output.nonnull - format.pages output - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {book} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check - editor format.key output - } - { format.authors output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - output.year.check - format.btitle "title" output.check - crossref missing$ - { format.bvolume output - format.number.series output - new.block - address empty$ - 'skip$ - { address ":" * output } - if$ - publisher "publisher" output.check.extra - } - { new.block - format.book.crossref output.nonnull - } - if$ - format.edition output - new.block - note output - fin.entry -} - -FUNCTION {booklet} -{ output.bibitem - format.authors output - author format.key output - output.year.check - format.btitle "title" output.check - new.block - howpublished output - address output - new.block - note output - fin.entry -} - -FUNCTION {inbook} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check - editor format.key output - } - { format.authors output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - output.year.check - format.btitle "title" output.check - crossref missing$ - { format.bvolume output - format.chapter.pages "chapter and pages" output.check - format.number.series output - new.block - address empty$ - 'skip$ - { address ":" * output } - if$ - publisher "publisher" output.check.extra - } - { format.chapter.pages "chapter and pages" output.check - new.block - format.book.crossref output.nonnull - } - if$ - format.edition output - new.block - note output - fin.entry -} - -FUNCTION {incollection} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.check - format.title "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - format.bvolume output - format.number.series output - new.block - address empty$ - 'skip$ - { address ":" * output } - if$ - publisher "publisher" output.check.extra - format.edition output - format.chapter.pages output - } - { format.incoll.inproc.crossref output.nonnull - format.chapter.pages output - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {inproceedings} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.check - format.title "title" output.check - new.block - crossref missing$ - { format.in.booktitle.or.series "booktitle or series" output.check - format.bvolume output - new.sentence - address output - format.pages output - } - { format.incoll.inproc.crossref output.nonnull - format.pages output - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {conference} { inproceedings } - -FUNCTION {manual} -{ output.bibitem - format.authors output - author format.key output - output.year.check - format.title "title" output.check - new.block - organization output - address output - format.edition output - new.block - note output - fin.entry -} - -FUNCTION {mastersthesis} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.check - format.title "title" output.check - new.block - "Master's thesis" format.thesis.type output.nonnull - school "school" output.check - address output - new.block - note output - fin.entry -} - -FUNCTION {misc} -{ output.bibitem - format.authors output - author format.key output - output.year.check - format.title output - new.block - howpublished output - new.block - note output - fin.entry -} - -FUNCTION {phdthesis} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.check - format.title "title" output.check - new.block - "Ph.D. thesis" format.thesis.type output.nonnull - school "school" output.check - address output - new.block - note output - fin.entry -} - -FUNCTION {proceedings} -{ output.bibitem - format.editors output - editor format.key output - output.year.check - format.title "title" output.check - format.bvolume output - format.number.series output - new.block - address empty$ - 'skip$ - { address ":" * output } - if$ - organization output.extra - publisher output - new.block - note output - fin.entry -} - -FUNCTION {techreport} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.check - format.title "title" output.check - new.block - format.tr.number output.nonnull - institution "institution" output.check - address output - new.block - note output - fin.entry -} - -FUNCTION {unpublished} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.check - format.title "title" output.check - new.block - note "note" output.check - fin.entry -} - -FUNCTION {default.type} { misc } - -MACRO {jan} {"Jan."} - -MACRO {feb} {"Feb."} - -MACRO {mar} {"Mar."} - -MACRO {apr} {"Apr,"} - -MACRO {may} {"May"} - -MACRO {jun} {"June"} - -MACRO {jul} {"July"} - -MACRO {aug} {"Aug."} - -MACRO {sep} {"Sept."} - -MACRO {oct} {"Oct."} - -MACRO {nov} {"Nov."} - -MACRO {dec} {"Dec."} - -READ - -FUNCTION {sortify} -{ purify$ - "l" change.case$ -} - -INTEGERS { len } - -FUNCTION {chop.word} -{ 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - if$ -} - -FUNCTION {format.lab.names} -{ 's := - s #1 "{vv~}{ll}" format.name$ - s num.names$ duplicate$ - #2 > - { pop$ " et~al." * } - { #2 < - 'skip$ - { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { " et~al." * } - { " and " * s #2 "{vv~}{ll}" format.name$ * } - if$ - } - if$ - } - if$ -} - -FUNCTION {author.key.label} -{ author empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {author.editor.key.label} -{ author empty$ - { editor empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { editor format.lab.names } - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {editor.key.label} -{ editor empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { editor format.lab.names } - if$ -} - -FUNCTION {calc.label} -{ type$ "book" = - type$ "inbook" = - or - 'author.editor.key.label - { type$ "proceedings" = - 'editor.key.label - 'author.key.label - if$ - } - if$ - "" swap$ * "}{" - * - year field.or.null purify$ #-1 #4 substring$ - * - 'label := -} - -FUNCTION {sort.format.names} -{ 's := - #1 'nameptr := - "" - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { nameptr #1 > - { " " * } - 'skip$ - if$ - s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := - nameptr numnames = t "others" = and - { "et al" * } - { t sortify * } - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {sort.format.title} -{ 't := - "A " #2 - "An " #3 - "The " #4 t chop.word - chop.word - chop.word - sortify - #1 global.max$ substring$ -} - -FUNCTION {author.sort} -{ author empty$ - { key empty$ - { "to sort, need author or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {author.editor.sort} -{ author empty$ - { editor empty$ - { key empty$ - { "to sort, need author, editor, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { editor sort.format.names } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {editor.sort} -{ editor empty$ - { key empty$ - { "to sort, need editor or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { editor sort.format.names } - if$ -} - -FUNCTION {presort} -{ calc.label - label sortify - " " - * - type$ "book" = - type$ "inbook" = - or - 'author.editor.sort - { type$ "proceedings" = - 'editor.sort - 'author.sort - if$ - } - if$ - #1 entry.max$ substring$ - 'sort.label := - sort.label - * - " " - * - title field.or.null - sort.format.title - * - #1 entry.max$ substring$ - 'sort.key$ := -} - -ITERATE {presort} - -SORT % by label, sort.label, title---for final label calculation - -STRINGS { last.label next.extra } - -INTEGERS { last.extra.num } - -FUNCTION {initialize.extra.label.stuff} -{ #0 int.to.chr$ 'last.label := - "" 'next.extra := - #0 'last.extra.num := -} - -FUNCTION {forward.pass} -{ last.label label = - { last.extra.num #1 + 'last.extra.num := - last.extra.num int.to.chr$ 'extra.label := - } - { "a" chr.to.int$ 'last.extra.num := - "" 'extra.label := - label 'last.label := - } - if$ -} - -FUNCTION {reverse.pass} -{ next.extra "b" = - { "a" 'extra.label := } - 'skip$ - if$ - label extra.label * "}" * 'label := - extra.label 'next.extra := -} - -EXECUTE {initialize.extra.label.stuff} - -ITERATE {forward.pass} - -REVERSE {reverse.pass} - -FUNCTION {bib.sort.order} -{ sort.label - " " - * - year field.or.null sortify - * - " " - * - title field.or.null - sort.format.title - * - #1 entry.max$ substring$ - 'sort.key$ := -} - -ITERATE {bib.sort.order} - -SORT % by sort.label, year, title---giving final bibliography order - -FUNCTION {begin.bib} -{ preamble$ empty$ - 'skip$ - { preamble$ write$ newline$ } - if$ - "\begin{thebibliography}{00}" write$ newline$ -} - -EXECUTE {begin.bib} - -EXECUTE {init.state.consts} - -ITERATE {call.type$} - -FUNCTION {end.bib} -{ newline$ - "\end{thebibliography}" write$ newline$ -} - -EXECUTE {end.bib} - diff --git a/helm/papers/matita/kluopen.sty b/helm/papers/matita/kluopen.sty deleted file mode 100644 index 7afd7ec34..000000000 --- a/helm/papers/matita/kluopen.sty +++ /dev/null @@ -1,586 +0,0 @@ -% -% -\ifcat a\noexpand @\let\next\relax\else \def\next{% -\documentclass{kluwer}\usepackage{doc}\MakePercentIgnore}\fi\next -\NeedsTeXFormat{LaTeX2e} -% \def\changes#1#2{} -% \changes{1997/07/10}{bugfix in title@thanks: move thanks into ititle@.} -% \changes{1997/07/10}{bugfix in opening: inserted hsize == textwidth. This -% to enforce double width in abstract (twocolumn layouts)} -% \changes{1997/07/10}{changes in ititle@ to correct spacing of thanks. This -% removed the need for title@@ and title@thanks: both removed} -% \changes{1997/07/10}{speccright etc. removed (never used)} -% \changes{1997/07/10}{crude vertical spacing fix for @arttype if copyrighthead} -% \changes{1998/01/06}{fix thispagestyle (crt. endup on 2nd page if abstract too long)} -% \changes{1998/02/04}{added new hooks: "beforeartskip", "titlebaselinefactor"} -% \changes{1998/02/04}{made "classification", "keywords", "abbreviations" and "nomenclature" long} -% \changes{1998/02/06}{force "email" lowercase} -% \changes{1998/02/06}{removed () around defaulted dates} -\def\filedate{1998/02/11} -\def\filename{kluopen.sty} -%\DoNotIndex{\@M,\def,\c@secnumdepth,\baselineskip,\@pnumwidth,\else,\fi} -%\DoNotIndex{\newcommand,\z@,\relax,\renewcommand,\ifnum,\csname,\endcsname} -%\DoNotIndex{\baselineskip,\vskip,\hskip,\relax,\secdef,\refstepcounter} -%\DoNotIndex{\normalsize,\numberline,\protect,\endinput,\hfill} -%\DoNotIndex{\@compare,\ifx,\global,\gdef,\def,\let,\hbox,\par,\typeout} -%\CodelineIndex -%\newcommand{\Bs}{$\backslash$} -%\parindent=0pt -%\parskip=3pt -%\hfuzz=11pt -%\MakeShortVerb{\|} -%\setlength{\marginparwidth}{0in} -%\addtolength{\textwidth}{4pc} -%\begin{document} -%\begin{opening} -%\title{\filename} -%\date{\filedate} -%\author{Kluwer Academic Publishers\surname{}} -%\institute{~} -%\runningtitle{\filename\ -- \filedate} -%\runningauthor{Kluwer Academic Publishers} -%\editor{Test} -%\journalcode{test} -%\begin{abstract} -% This internal stylefile defines most of the special kluwer -% opening commands. -%\end{abstract} -%\end{opening} -%\tableofcontents -%\newpage\section{Implementation} -% \begin{macrocode} -\ProvidesPackage{kluopen}[\filedate ] -% \end{macrocode} -% \subsection{The opening environment} -% The beginning of this environment is rather empty, there is not much -% need to do anything here. All definitions inside the `opening' have -% to be indirect |\def|s anyway, so we will start worrying about -% typesetting things at the end of the environment. -% -% \begin{macrocode} -\gdef\title#1{\title@{#1}} -\gdef\author#1{\author@{#1}} -\gdef\date#1{\date@{#1}} -\def\opening{% - \let\title=\title@ - \let\author=\author@ - \let\date=\date@ - \let\arttype=\arttype@ - \let\subtitle=\subtitle@ - \let\dedication=\dedication@ - \let\translation=\translation@ - \let\received=\received@ - \let\orf=\orf@ - \let\accepted=\accepted@ - \let\revised=\revised@ - \let\institute=\institute@ - \hsize\textwidth - } -% \end{macrocode} -% Since |\listfiles| is a definite `preambleonly' command, we can test -% for that. IF |\listfiles| = |\@notprerr| typeset opening, ELSE -% typeset opening at begin document. -% -% If new commands are added to this list, don't forget to add them -% above too. Also, please gobble all arguments carefully. Als note -% that these redefinitions only take place if there is an |opening| -% environment. -% -% The new syntax for |opening| is to use it {\it after\/} -% |\begin{document}| and/or |\begin{article}|, but we still honour the -% old syntax. Also, because I wanted to support |\maketitle| the -% ordinary way, |\maketitle| is |\let| to |\endopening|. -% \begin{macrocode} -\gdef\maketitle{\endopening} -\def\endopening{% - \ifx\listfiles\@notprerr \maketitle@@ \else - \AtBeginDocument{\maketitle@@}\fi - \gdef\title##1{\opening@only\title} - \gdef\subtitle##1{\opening@only\subtitle} - \gdef\orf##1{\opening@only\orf} - \gdef\dedication##1{\opening@only\dedication} - \gdef\translation##1{\opening@only\translation} - \gdef\received##1{\opening@only\received} - \gdef\revised##1{\opening@only\revised} - \gdef\author##1{\opening@only\author} - \gdef\institute##1{\opening@only\institute} - \gdef\date##1{\opening@only\date}% - \gdef\arttype##1{\opening@only\arttype} - } -% \end{macrocode} -% Let `opening only' == warning. -% \begin{macrocode} -\def\opening@only#1{\PackageWarning{kluopen}{\string#1\space - effective only inside opening environment.}} -% \end{macrocode} -% \subsection{Internal Author and institute commands} -% author and institute commands are seriously intertwined. Too bad -% about the relocation that used to happen in |humnkap|, because has -% been sacrificed again. It turned out be more of a fuzz than it was -% worth. -% -% The general idea is to keep four different command lists that stack -% the authors and institutes. -% -% Let's do the easy thing first. These are the `user' changeable -% parameters for authors and institutes. -% \begin{macrocode} -\def\authorsize{\normalsize \raggedright} -\def\authorcase#1{#1} -\def\authorindent{0pt} -\def\afterallauthorsskip{1em\relax} -\def\afterauthorskip{0pt} -\def\institutesize{\footnotesize\it} -\def\institutecase#1{#1} -\def\instituteindent{0pt} -\def\institutesep{.4\baselineskip} -\def\authorand{and} -% \end{macrocode} -% This is a hook for klups.sty (oldstyle numerals) -% \begin{macrocode} -\def\i@oldseries{} -% \end{macrocode} -% -% We only need |\@temptokenb|, because |\@temptokena| is a \LaTeX\ -% scratch register. -% \begin{macrocode} -\newtoks\@temptokenb -% \end{macrocode} -% The list will, for example, look like this: -%\begin{verbatim} -%\@authors == {\@k@p {A. \surname{Thor}}\@k@p {B. \surname{Thor}}} -%\end{verbatim} -% \begin{macrocode} -\long\def\append@item#1\to#2{% - \@temptokena={\@k@p{#1}}% - \@temptokenb=\expandafter{#2}% - \xdef#2{\the\@temptokenb\the\@temptokena}} -% \end{macrocode} -% Extraction macros. Typical usage: -% -%\begin{verbatim} -%\get@left\@instituteauthors\to\@curauths -%\end{verbatim} -% -% This will expand into: -% -%\begin{verbatim} -%\g@l\@k@p \ITEM1\@k@p \ITEM2 ...\g@l \@instituteauthors \@curauths -%\end{verbatim} -% -% And from there into -% -%\begin{verbatim} -%\def\@curauths \ITEM1 \def\@institeauthors{\ITEM2 ...} -%\end{verbatim} -% -% Gee, this looks so easy if you write it out :-). -% \begin{macrocode} -\def\get@left#1\to#2{\expandafter\g@l#1\g@l#1#2} -\long\def\g@l\@k@p#1#2\g@l#3#4{\def#4{#1}\def#3{#2}} -% \end{macrocode} -% This will contain the authors for the current institute. -% \begin{macrocode} -\def\@authors{}% -% \end{macrocode} -% This will contain all authors. -% \begin{macrocode} -\def\@allauthors{}% -% \end{macrocode} -% This will contain all institutes. -% \begin{macrocode} -\def\@institutes{}% -% \end{macrocode} -% This will contain items containing all of the authors that are -% tied up to one institute. -% \begin{macrocode} -\def\@instituteauthors{}% -% \end{macrocode} -% These two are temporaries that need to be initialized. -% \begin{macrocode} -\def\@curauths{} -\def\@curinst{} -% \end{macrocode} -% These are the insertion macros. |\author@| is the internal version -% of |\author|, and just adds to the two author lists. -% -% |\institute@| is a bit trickier, it has to store the institute -% itself for later retrieval, but it also has to clear |\@authors|, so -% it can be used again for the next institute. It does this by moving -% all of the collected authors in the |\@authors| list as one item -% into the |\authors@institute| list. -% -% Because |\@institutes| and |\@instituteauthors| are parallel, there -% will be an error condition if there are authors after the last -% institute. The |\expandafter|'s are needed to get |\@authors| folded -% out. -% \begin{macrocode} -\def\author@#1{\append@item#1\to\@authors - \append@item#1\to\@allauthors } -\def\institute@#1{\append@item#1\to\@institutes - \expandafter\append@item\expandafter{\@authors}\to\@instituteauthors - \gdef\@authors{}} -% \end{macrocode} -% Format one name. -% -% The box in the first part is needed because we have to typeset once -% in order to get the |\thanks|. -% -% The |\expandafter|'s in the second part bypass grouping. Param \#2 -% is either a comma or nothing. The italic correction is needed if -% authors are typeset in Italics, or the thankssymbol will come out to -% far to the left. -% -% \changes{1997/08/13}{Removed null box for thankssymbol and switched -% places with comma (hor. spacing bugs)} -% \begin{macrocode} -\newif\ifthanks -\def\orf@#1{#1} -\def\@formatname#1#2{\begingroup - \def\thanks##1{\global\thankstrue}\setbox0\vbox{#1}% - \endgroup - \begingroup - \ifthanks - \edef\fn##1\thanks##2{\authorcase{##1}\/% - \noexpand\thanks{##2}#2}\expandafter\fn#1 - \else - \edef\fn##1{{\authorcase{##1}}#2}% - \expandafter\fn\expandafter{#1}% - \fi - \endgroup\global\thanksfalse } -% \end{macrocode} -% -% Format authors presently in |\@curauths| (These are the ones belonging -% to one specific institute). -% -% First, loop over |\@curauths| counting the number of authors. Then -% we know how many, so loop over again, typesetting all. The |,| needs -% to be given separately to make sure |\thanks| works inside an -% author. -% -% It there are 0 authors, nothing will happen at all. -% \begin{macrocode} -\newcount\cnt@authors -\def\@formatauthors{\begingroup - \authorsize - \leavevmode - \gdef\surname##1{##1}% - \gdef\email##1{ \hbox{({\tt \lowercase{##1}})}}% - \cnt@authors=0 - \def\@k@p##1{\advance\cnt@authors by 1}\@curauths - \def\@k@p##1{\advance\cnt@authors by -1 - \ifnum\cnt@authors>1 - \@formatname{##1}{,}\penalty0\ \fi % signif. space - \ifnum\cnt@authors=1 % before \fi's !! - \@formatname{##1}{} \authorand \penalty0\ \fi - \ifnum\cnt@authors<1 - \@formatname{##1}{}\par\fi}\@curauths - \vskip \afterauthorskip - \endgroup} -% \end{macrocode} -% Format one institute. -% \begin{macrocode} -\def\@formatinstitute{{\institutesize \institutecase{\@curinst}\par}} -% \end{macrocode} -% Format all authors and all institutes. Indentation is done through -% parindent and hangindent instead of rightskip, because otherwise a -% |\centering| would fail. -% -% There is a space of |\institutesep| + |\parskip| between every -% author\,/\,institute block, and double that space between the last -% two (don't understand that). -% -% This macro also takes care of the case that there is no institute at -% all given, which is likely to happen in the \LaTeX\ compatibility -% mode. {\it This does not allow you to have only the last author without -% an institute\/}. -% -% The |\relax| after |\@institutes| is absolutely necessary, or the -% author will be set twice! -% \begin{macrocode} -\newcount\cnt@institutes -\def\@authorsandinstitutes{\begingroup - \authorsize - \cnt@authors=0 - \def\@k@p##1{\advance\cnt@authors by 1}\@allauthors - \cnt@institutes=0 - \def\@k@p##1{\advance\cnt@institutes by 1}\@institutes\relax - \ifnum\cnt@institutes=0 - \let\@curauths\@allauthors - \parindent=\authorindent - \hangindent=\authorindent - \@formatauthors - \fi - \loop\ifnum\cnt@institutes>0 - \get@left\@instituteauthors\to\@curauths - \parindent=\authorindent - \hangindent=\authorindent - \@formatauthors - \get@left\@institutes\to\@curinst - \parindent=\instituteindent - \hangindent=\instituteindent - \@formatinstitute - \ifnum\cnt@institutes=2 \vskip \institutesep\relax \fi - \ifnum\cnt@institutes>1 \vskip \institutesep\relax \fi - \advance\cnt@institutes by -1 - \repeat - \vskip \afterallauthorsskip - \gdef\@authors{}% - \gdef\@allauthors{}% - \gdef\@institutes{}% - \gdef\@instituteauthors{}% - \gdef\@curauths{}% - \gdef\@curinst{}% -\endgroup} -% \end{macrocode} -% \subsection{Typesetting the title and subtitle} -% First, here are the user settings again: -% \begin{macrocode} -\def\titleflushstyle{} -\def\titlefont{\Large\rm} -\def\titlecase#1{#1} -\def\titleindent{0pt} -\def\aftertitleskip{1.8pc } -\def\presubtitleskip{-1.4pc } -\def\aftersubtitleskip{1pc } -\def\subtitlefont{\large\it} -\def\subtitleflushstyle{} -% \end{macrocode} -% Internal commands. |\@maketitle| will call |\@title|. |\title@| is -% just an internal for |\title|. -% \begin{macrocode} -\def\title@#1{\gdef\@title{% - \@formattitle{#1}\par \vskip \aftertitleskip }} -\def\@title{} -% \end{macrocode} -% The trick with the vbox is the same as above, to get |\thanks|. -% \begin{macrocode} -\def\@formattitle#1{\begingroup - \def\thanks##1{\global\thankstrue}% - \setbox\@tempboxa\vbox{#1}\endgroup - \begingroup - \titleflushstyle - \ifthanks - \def\fn##1\thanks##2{\ititle@{##1}{\,\thanks{##2}}}% - \expandafter\fn#1 - \else - \def\fn##1{\ititle@{##1}{}}\expandafter\fn\expandafter{#1}% - \fi - \endgroup\global\thanksfalse } -% \end{macrocode} -% Not much left to do here. The flush style has been set by -% |\@formattitle|, skips before and after by |\@title|. -% \begin{macrocode} -\def\titlebaselinefactor{1.05} -\def\ititle@#1#2{\begingroup - \parindent \titleindent - \hangindent \titleindent - \hyphenpenalty10000 - {\titlefont\titlecase{#1}#2% - \baselineskip=\titlebaselinefactor\baselineskip - \par} - \endgroup} -% \end{macrocode} -% Basically, this is just an echo of title. -% \begin{macrocode} -\def\@subtitle{} -\def\subtitle@#1{\gdef\@subtitle{\vskip \presubtitleskip - \@formatsubtitle{#1}\par \vskip \aftersubtitleskip }} -\def\@formatsubtitle#1{\begingroup - \def\thanks##1{\global\thankstrue}\setbox0\vbox{#1}\endgroup - \begingroup \subtitleflushstyle - \ifthanks - \def\fn##1\thanks##2{\subtitle@thanks{##1}{##2}}\expandafter\fn#1 - \else - \def\fn##1{\subtitle@@{##1}}\expandafter\fn\expandafter{#1}\fi - \endgroup - \par\global\thanksfalse} -\def\subtitle@thanks#1#2{\isubtitle@{#1}\thanks{#2}\par - \ignorespaces} -\def\subtitle@@#1{\isubtitle@{#1}\par\ignorespaces} -\def\isubtitle@#1{{\subtitlefont #1}} -% \end{macrocode} -% \subsection{Date, article type, dedication and translation.} -% These are all fairly straightforward, so I will not pay too much -% attention to these commands. -% \begin{macrocode} -\def\afterdateskip{.7\baselineskip} -\def\datesize{\footnotesize} -\def\@date{{\i@oldseries\datesize Received: \@received ; - Accepted\@accepted}\vskip \afterdateskip - \gdef\@received{\ldots\ldots}% - \gdef\@accepted{\ldots\ldots}} -\def\date@#1{\gdef\@date{{\i@oldseries\datesize #1\par}\vskip \afterdateskip - \gdef\@received{\ldots\ldots}% - \gdef\@accepted{\ldots\ldots}}} -\def\@received{\ldots\ldots} -\def\@accepted{: \ldots\ldots} -\def\revised@#1{\gdef\@accepted{ in revised form: #1}} -\def\received@#1{\gdef\@received{#1}} -\def\accepted@#1{\gdef\@accepted{ in final form: #1}} -% \end{macrocode} -% -% \begin{macrocode} -\def\artsize{\normalsize\it} -\def\afterartskip{1.5pc} -\def\beforeartskip{0pc} -\def\@arttype{} -\def\arttype@#1{\gdef\@arttype{\vskip\beforeartskip\noindent - {\artsize #1\vskip\afterartskip}}} -% \end{macrocode} -% -% \begin{macrocode} -\def\@dedication{} -\def\dedicationsize{\normalsize\it\raggedright} -\def\prededicationskip{18pt} -\def\afterdedicationskip{18pt} -\def\dedication@#1{\gdef\@dedication{% - \unskip\vskip \prededicationskip - {\dedicationsize #1\par}% - \vskip \afterdedicationskip}} -% \end{macrocode} -% -% \begin{macrocode} -\def\@translation{} -\def\translationsize{\normalsize\it\raggedright} -\def\pretranslationskip{18pt} -\def\aftertranslationskip{18pt} -\def\translation@#1{\gdef\@translation{% - \unskip\vskip \pretranslationskip - {\translationsize #1\par}% - \vskip \aftertranslationskip}} -% \end{macrocode} -% \subsection{Abstract, keywords, abbreviations, classification -% and nomenclature} -% All of these are suppposed to have the same size. The only one with -% a flexible before/after skip is |abstract|, but they all have their -% own font defined for the name. -% \begin{macrocode} -\providecommand{\abstractname}{Abstract} -\providecommand{\keywordsname}{Keywords} -\providecommand{\abbreviationsname}{Abbreviations} -\providecommand{\nomenclaturename}{Nomenclature} -\def\abstractsize{\footnotesize} -\def\abstractnamefont{\bf} -\def\abstractdot{.~} -\def\keynamefont{\bf} -\def\nomennamefont{\bf} -\def\abbrevnamefont{\bf} -\def\classnamefont{\bf} -\def\afterabstractskip{.7\baselineskip\relax} -\def\preabstractskip{0pt\relax} -% \end{macrocode} -% Abstract is a box, because we still want to support the opening -% environment before |\begin{document}|. -% -%{\it Note that the stylefile is resposible for making sure that these -%are typeset at all}. -% \begin{macrocode} -\newbox\@abstractbox -\def\@abstract{} -\newenvironment{abstract}{% - \gdef\@abstract{\message{\abstractname}% - {\vskip\preabstractskip - \noindent - \unvbox\@abstractbox - \vskip\afterabstractskip }}% - \global\setbox\@abstractbox\vbox\bgroup \abstractsize \noindent - {\abstractnamefont\abstractname\abstractdot}}{\par\egroup } -\def\@keywords{} -\long\def\keywords#1{% - \gdef\@keywords{\message{\keywordsname}% - {\abstractsize\noindent{\keynamefont - \keywordsname:~}#1\par \vskip.7\baselineskip}}} -\def\@abbreviations{} -\def\abbrev#1#2{#1 -- #2} -\long\def\abbreviations#1{% - \gdef\@abbreviations{\message{\abbreviationsname}% - {\abstractsize\noindent{\abbrevnamefont \abbreviationsname:~}% - #1\par \vskip.7\baselineskip}}} -\def\@nomenclature{} -\def\nomen#1#2{#1 -- #2} -\long\def\nomenclature#1{% - \gdef\@nomenclature{\message{\nomenclaturename}% - {\abstractsize\noindent{\nomennamefont - \nomenclaturename:\par}\noindent #1\par \vskip.7\baselineskip}}} -\def\@classification{} -\long\def\classification#1#2{% - \gdef\@classification{\message{Classification}% - {\abstractsize\noindent{\classnamefont #1: }% - #2\par \vskip.7\baselineskip}}} -\def\motto{\@ifnextchar[{\prosemotto}{\poemmotto}} -\newbox\mottobox -\def\@motto{} -\long\def\poemmotto{\global\setbox\mottobox\vbox \bgroup - \noindent - \hbox to\hsize\bgroup\begingroup - \hfill\vbox\bgroup\hsize =15pc - \footnotesize \raggedright \noindent - \parskip=3pt} -\long\def\prosemotto[#1]{\global\setbox\mottobox\vbox \bgroup - \noindent - \hbox to\hsize\bgroup \begingroup - \hfill\vbox\bgroup\hsize =15pc - \raggedright \footnotesize \noindent - \parskip=3pt} -\def\endmotto{\par \egroup \endgroup \egroup - \vspace{1\baselineskip}\egroup - \gdef\@motto{\par\message{Motto}\box\mottobox \gdef\@motto{}}} -% \end{macrocode} -% \subsection{@maketitle} -% Internal commands for typesetting of the front part. |\@maketitle| -% has been kept as simple as possible, making it easy to redefine the -% order inside a stylefile. For twocolumn output, everything that is -% done inside |\@maketitle| is typeset over two columns. -% -% As noted above, if the stylefile feels like removing some of these -% commands, it also has to find a way to have them typeset, because -% that will no longer be automatic. -% \begin{macrocode} -\def\@maketitle{% - \@arttype \@title \@subtitle \@authorsandinstitutes \@date - \@abstract \@keywords \@abbreviations \@classification - \@nomenclature \@translation \@dedication \@motto} -% \end{macrocode} -% This command is called by |\endopening| and |\maketitle|. -% \begin{macrocode} -\def\openingflushstyle{} -\def\maketitle@@{% - \begingroup - \setcounter{footnote}{0}% - \def\thefootnote{\fnsymbol{footnote}}% - \if@twocolumn - \twocolumn[{\openingflushstyle - \parindent 0pt - \@maketitle}] - \thispagestyle{opening}% - \@extramaketitle - \else - \newpage\global\@topnum\z@ - \thispagestyle{opening}% - {\openingflushstyle \parindent 0pt \@maketitle}% - \fi - \markboth{\@runningauthor}{\@runningtitle}% - \@thanks - \endgroup - \setcounter{footnote}{0}% - \let\@maketitle\relax - \gdef\@thanks{}% - \gdef\@title{}% - \let\thanks\relax } -% \end{macrocode} -% \begin{macrocode} -\def\runningtitle#1{\gdef\@runningtitle{#1}} -\gdef\@runningtitle{} -\def\runningauthor#1{\gdef\@runningauthor{#1}} -\gdef\@runningauthor{} -\endinput -% \end{macrocode} -%\PrintIndex -%\end{document} -% end of kluopen.sty - - - - - diff --git a/helm/papers/matita/klups.sty b/helm/papers/matita/klups.sty deleted file mode 100644 index ede6b9f3b..000000000 --- a/helm/papers/matita/klups.sty +++ /dev/null @@ -1,488 +0,0 @@ - -% -% This input file (c) Kluwer Academic Publishers. -% You are free to use this file as you see fit, provided -% that you do not make changes. -% If you DO make changes, you are required to rename the files. -% -% \changes{1998/02/04}{Removed oldstyle numerals} -% -\def\fileversion{1.15} -\def\filedate{1998/03/13} -\NeedsTeXFormat{LaTeX2e} -% -% -% Options: mathtime's options -% exported commands: \rmgreek (decl) \greekrm (#1) -% -% -\ProvidesPackage{klups}[\filedate\space\fileversion\space - Kluwer PSfonts package] - -\DeclareOption{uprightgreek}{% - \AtEndOfPackage{\rmgreek@redefs}} -\DeclareOption*{\PassOptionsToPackage\CurrentOption{mathtime}} -\ProcessOptions\relax - -% Sans Serifs in 90% Helvetica -% Running text Times-Roman -% Typewriter Courier narrowed -% - -\def\spaces{\space\space\space\space\space} -\def\@fontwarnings{} -\def\@addtofontwarning#1{\g@addto@macro - \@fontwarnings{.\MessageBreak #1}} - -\renewcommand{\sfdefault}{phv} -\renewcommand{\rmdefault}{ptm} -\renewcommand{\ttdefault}{pcr} -\newif\if@couriernarrow \@couriernarrowtrue -\normalfont -% Try loading T1 font-encoding (only if psnfss installed) -% -\IfFileExists{T1ptm.fd}{\RequirePackage[T1]{fontenc}}{% - \IfFileExists{t1ptm.fd}{\RequirePackage[T1]{fontenc} - \let\@acci\` - \let\@accii\' - \let\@acciii\= - }{% - \PackageError{klups}{% - No encoding for T1 PostScript fonts found}{% - Please check your distribution of LaTeX thoroughly!\MessageBreak% - There seem to be some files missing the implement the\MessageBreak% - new 256 character font encodings - }}}% - -% Try loading text companion fonts (only if psnfss installed) -% - -\IfFileExists{TS1ptm.fd}{\RequirePackage{textcomp}}{% - \IfFileExists{ts1ptm.fd}{\RequirePackage{textcomp}}{% - \PassOptionsToPackage{noTS1}{mathtime}% - \@addtofontwarning{% - No text companion fonts for Times found,\MessageBreak% - \spaces not loading textcomp style}}} - - -% fontdim5=ex-height -\def\klutest@font#1#2{\def\klu@font@error{n}% - \batchmode \font\klutch=#1 \errorstopmode - \ifdim \the\fontdimen5\klutch < 1pt - \def\klu@font@error{y}% - \@addtofontwarning{% - Font #2 is not available}% - \fi \let\klutch\relax - } - -\def\eightt{8t} -\batchmode \font\klutch=ptmr8t \errorstopmode -\ifdim \the\fontdimen5\klutch < 1pt - \batchmode \font\klutch=ptmrq \errorstopmode - \ifdim \the\fontdimen5\klutch < 1pt %%EEKS - \else - \gdef\eightt{q}% - \@addtofontwarning{% - Using old PostScript metrics,\MessageBreak - \spaces consider updating your LaTeX fonts}% - \fi -\fi -\let\klutch\relax - -\def\hvtmpl{7tn} -\def\hvtmph{\eightt n} -{\def\@tempa{OT1} -\ifx \@tempa\encodingdefault - \batchmode \font\klutch=phvr7tn \errorstopmode - \ifdim \the\fontdimen5\klutch < 1pt - \batchmode \font\klutch=phvrn7t \errorstopmode - \ifdim \the\fontdimen5\klutch < 1pt - \@addtofontwarning{% - Font Helvetica Narrow is not available}% - \else - \gdef\hvtmpl{n7t} - \gdef\hvtmph{n\eightt} - \fi - \fi - \let\klutch\relax - \klutest@font{phvl7t}{Helvetica Light} - \klutest@font{pcrr7tn}{Courier Narrow} - \if y\klu@font@error - \global\@couriernarrowfalse - \fi -\else - \batchmode \font\klutch=phvr\eightt n \errorstopmode - \ifdim \the\fontdimen5\klutch < 1pt - \batchmode \font\klutch=phvrn\eightt \errorstopmode - \ifdim \the\fontdimen5\klutch < 1pt - \@addtofontwarning{% - Font Helvetica Narrow is not available}% - \else - \gdef\hvtmpl{n7t} - \gdef\hvtmph{n\eightt} - \fi - \fi - \klutest@font{phvl\eightt}{Helvetica Light} - \klutest@font{pcrr8tn}{Courier Narrow} - \if y\klu@font@error - \global\@couriernarrowfalse - \fi -\fi -} - -\newif\if@OSF \@OSFfalse -%\klutest@font{ptmr8dc}{Times SmallCaps and OSF} -%\if y\klu@font@error -% \global\@OSFfalse -%\fi - -\if@OSF - \DeclareTextFontCommand{\textbo}{\boseries} - \DeclareTextFontCommand{\textmo}{\moseries} - \DeclareRobustCommand\boseries - {\not@math@alphabet\boseries\relax - \fontseries{bo}\selectfont} - \DeclareRobustCommand\moseries - {\not@math@alphabet\moseries\relax - \fontseries{mo}\selectfont} - \def\oldstyle#1{{\fontseries{\f@series o}\selectfont #1}} - \def\oldseries{\fontseries{\f@series o}\selectfont} - \let\i@oldseries\oldseries -\fi -% start .fd files - - -\begingroup \nfss@catcodes - -%% Times -\if@OSF - -\DeclareFontFamily{T1}{ptm}{} - -\DeclareFontShape{T1}{ptm}{b}{n}{<-> ptmb8t}{} -\DeclareFontShape{T1}{ptm}{b}{sc}{<-> ptmb8dc}{} -\DeclareFontShape{T1}{ptm}{b}{sl}{<-> ptmbo8t}{} -\DeclareFontShape{T1}{ptm}{b}{it}{<-> ptmbi8t}{} - -\DeclareFontShape{T1}{ptm}{bo}{n}{<-> ptmb8d}{} -\DeclareFontShape{T1}{ptm}{bo}{sc}{<-> ptmb8dc}{} -\DeclareFontShape{T1}{ptm}{bo}{sl}{<-> ptmbi8d}{} -\DeclareFontShape{T1}{ptm}{bo}{it}{<-> ptmbi8d}{} - -\DeclareFontShape{T1}{ptm}{m}{n}{<-> ptmr8t}{} -\DeclareFontShape{T1}{ptm}{m}{sc}{<-> ptmr8dc}{} -\DeclareFontShape{T1}{ptm}{m}{sl}{<-> ptmro8t}{} -\DeclareFontShape{T1}{ptm}{m}{it}{<-> ptmri8t}{} - -\DeclareFontShape{T1}{ptm}{mo}{n}{<-> ptmr8d}{} -\DeclareFontShape{T1}{ptm}{mo}{sc}{<-> ptmr8dc}{} -\DeclareFontShape{T1}{ptm}{mo}{sl}{<-> ptmri8d}{} -\DeclareFontShape{T1}{ptm}{mo}{it}{<-> ptmri8d}{} - -\DeclareFontShape{T1}{ptm}{bx}{n}{<->ssub * ptm/b/n}{} -\DeclareFontShape{T1}{ptm}{bx}{sc}{<->ssub * ptm/b/sc}{} -\DeclareFontShape{T1}{ptm}{bx}{sl}{<->ssub * ptm/b/sl}{} -\DeclareFontShape{T1}{ptm}{bx}{it}{<->ssub * ptm/b/it}{} - -\DeclareFontShape{T1}{ptm}{bxo}{n}{<->ssub * ptm/bo/n}{} -\DeclareFontShape{T1}{ptm}{bxo}{sc}{<->ssub * ptm/bo/sc}{} -\DeclareFontShape{T1}{ptm}{bxo}{sl}{<->ssub * ptm/bo/sl}{} -\DeclareFontShape{T1}{ptm}{bxo}{it}{<->ssub * ptm/bo/it}{} - -\DeclareFontShape{T1}{ptm}{l}{n}{<->ssub * ptm/m/n}{} -\DeclareFontShape{T1}{ptm}{l}{sc}{<->ssub * ptm/m/sc}{} -\DeclareFontShape{T1}{ptm}{l}{sl}{<->ssub * ptm/m/sl}{} -\DeclareFontShape{T1}{ptm}{l}{it}{<->ssub * ptm/m/it}{} - -\DeclareFontShape{T1}{ptm}{lo}{n}{<->ssub * ptm/mo/n}{} -\DeclareFontShape{T1}{ptm}{lo}{sc}{<->ssub * ptm/mo/sc}{} -\DeclareFontShape{T1}{ptm}{lo}{sl}{<->ssub * ptm/mo/sl}{} -\DeclareFontShape{T1}{ptm}{lo}{it}{<->ssub * ptm/mo/it}{} - -\fi - -%% OT1 Courier - -\DeclareFontFamily{OT1}{pcr}{\hyphenchar \font =-1}% - -\DeclareFontShape{OT1}{pcr}{b}{sc}{<-> pcrbc7t}{}% -\DeclareFontShape{OT1}{pcr}{m}{sc}{<-> pcrrc7t}{}% -%%%% condensed courier -\if@couriernarrow -\DeclareFontShape{OT1}{pcr}{m}{n}{<-> pcrr7tn}{}% -\DeclareFontShape{OT1}{pcr}{b}{n}{<-> pcrb7tn}{}% -\DeclareFontShape{OT1}{pcr}{b}{sl}{<-> pcrbo7tn}{}% -\DeclareFontShape{OT1}{pcr}{m}{sl}{<-> pcrro7tn}{}% -\else -\DeclareFontShape{OT1}{pcr}{m}{n}{<-> pcrr7t}{}% -\DeclareFontShape{OT1}{pcr}{b}{n}{<-> pcrb7t}{}% -\DeclareFontShape{OT1}{pcr}{b}{sl}{<-> pcrbo7t}{}% -\DeclareFontShape{OT1}{pcr}{m}{sl}{<-> pcrro7t}{}% -\fi -%%%% substitutions -\DeclareFontShape{OT1}{pcr}{bx}{it}{<->ssub * pcr/b/it}{}% -\DeclareFontShape{OT1}{pcr}{bx}{n}{<->ssub * pcr/b/n}{}% -\DeclareFontShape{OT1}{pcr}{bx}{sc}{<->ssub * pcr/b/sc}{}% -\DeclareFontShape{OT1}{pcr}{bx}{sl}{<->ssub * pcr/b/sl}{}% -\DeclareFontShape{OT1}{pcr}{b}{it}{<->ssub * pcr/b/sl}{}% -\DeclareFontShape{OT1}{pcr}{b}{ui}{<->ssub * pcr/b/it}{} -\DeclareFontShape{OT1}{pcr}{l}{it}{<->ssub * pcr/m/it}{} -\DeclareFontShape{OT1}{pcr}{l}{n}{<->ssub * pcr/m/n}{} -\DeclareFontShape{OT1}{pcr}{l}{sc}{<->ssub * pcr/m/sc}{} -\DeclareFontShape{OT1}{pcr}{l}{sl}{<->ssub * pcr/m/sl}{} -\DeclareFontShape{OT1}{pcr}{m}{it}{<->ssub * pcr/m/sl}{} -\DeclareFontShape{OT1}{pcr}{m}{ui}{<->ssub * pcr/m/it}{} - -%%%% T1 courier - -\DeclareFontFamily{T1}{pcr}{\hyphenchar \font =-1}% - -\DeclareFontShape{T1}{pcr}{b}{sc}{<-> pcrbc\eightt}{}% -\DeclareFontShape{T1}{pcr}{m}{sc}{<-> pcrrc\eightt}{}% -%%%% condensed courier -\if@couriernarrow -\DeclareFontShape{T1}{pcr}{m}{n}{<-> pcrr8tn}{}% -\DeclareFontShape{T1}{pcr}{b}{n}{<-> pcrb8tn}{}% -\DeclareFontShape{T1}{pcr}{b}{sl}{<-> pcrbo8tn}{}% -\DeclareFontShape{T1}{pcr}{m}{sl}{<-> pcrro8tn}{}% -\else -\DeclareFontShape{T1}{pcr}{b}{n}{<-> pcrb\eightt}{}% -\DeclareFontShape{T1}{pcr}{b}{sl}{<-> pcrbo\eightt}{}% -\DeclareFontShape{T1}{pcr}{m}{sl}{<-> pcrro\eightt}{}% -\DeclareFontShape{T1}{pcr}{m}{n}{<-> pcrr\eightt}{}% -\fi -%%%% substitutions -\DeclareFontShape{T1}{pcr}{bx}{n}{<->ssub * pcr/b/n}{} -\DeclareFontShape{T1}{pcr}{bx}{sc}{<->ssub * pcr/b/sc}{} -\DeclareFontShape{T1}{pcr}{bx}{sl}{<->ssub * pcr/b/sl}{} -\DeclareFontShape{T1}{pcr}{b}{it}{<->ssub * pcr/b/sl}{} -\DeclareFontShape{T1}{pcr}{bx}{it}{<->ssub * pcr/b/it}{} -\DeclareFontShape{T1}{pcr}{l}{n}{<->ssub * pcr/m/n}{} -\DeclareFontShape{T1}{pcr}{l}{sc}{<->ssub * pcr/m/sc}{} -\DeclareFontShape{T1}{pcr}{l}{sl}{<->ssub * pcr/m/sl}{} -\DeclareFontShape{T1}{pcr}{m}{it}{<->ssub * pcr/m/sl}{} -\DeclareFontShape{T1}{pcr}{l}{it}{<->ssub * pcr/m/it}{} - -% OT1 Helvetica - -\DeclareFontFamily{OT1}{phv}{} -\DeclareFontShape{OT1}{phv}{b}{n}{<-> s * [.9] phvb7t}{} -\DeclareFontShape{OT1}{phv}{b}{sc}{<-> s * [.9] phvbc7t}{} -\DeclareFontShape{OT1}{phv}{b}{sl}{<-> s * [.9] phvbo7t}{} -\DeclareFontShape{OT1}{phv}{bc}{n}{<-> s * [.9] phvb\hvtmpl}{} -\DeclareFontShape{OT1}{phv}{bc}{sc}{<-> s * [.9] phvbc\hvtmpl}{} -\DeclareFontShape{OT1}{phv}{bc}{sl}{<-> s * [.9] phvbo\hvtmpl}{} -\DeclareFontShape{OT1}{phv}{l}{n}{<-> s * [.9] phvl7t}{} -\DeclareFontShape{OT1}{phv}{l}{sc}{<-> s * [.9] phvlc7t}{} -\DeclareFontShape{OT1}{phv}{l}{sl}{<-> s * [.9] phvlo7t}{} -\DeclareFontShape{OT1}{phv}{m}{n}{<-> s * [.9] phvr7t}{} -\DeclareFontShape{OT1}{phv}{m}{sc}{<-> s * [.9] phvrc7t}{} -\DeclareFontShape{OT1}{phv}{m}{sl}{<-> s * [.9] phvro7t}{} -\DeclareFontShape{OT1}{phv}{mc}{n}{<-> s * [.9] phvr\hvtmpl}{} -\DeclareFontShape{OT1}{phv}{mc}{sc}{<-> s * [.9] phvrc\hvtmpl}{} -\DeclareFontShape{OT1}{phv}{mc}{sl}{<-> s * [.9] phvro\hvtmpl}{} - -\DeclareFontShape{OT1}{phv}{bx}{n}{<->ssub * phv/b/n}{} -\DeclareFontShape{OT1}{phv}{bx}{sc}{<->ssub * phv/b/sc}{} -\DeclareFontShape{OT1}{phv}{bx}{sl}{<->ssub * phv/b/sl}{} -\DeclareFontShape{OT1}{phv}{b}{it}{<->ssub * phv/b/sl}{} -\DeclareFontShape{OT1}{phv}{bx}{it}{<->ssub * phv/b/it}{} -\DeclareFontShape{OT1}{phv}{bc}{it}{<->ssub * phv/bc/sl}{} -\DeclareFontShape{OT1}{phv}{l}{it}{<->ssub * phv/l/sl}{} -\DeclareFontShape{OT1}{phv}{m}{it}{<->ssub * phv/m/sl}{} -\DeclareFontShape{OT1}{phv}{mc}{it}{<->ssub * phv/mc/sl}{} -\DeclareFontShape{OT1}{phv}{m}{ui}{<->ssub * phv/m/it}{} -\DeclareFontShape{OT1}{phv}{b}{ui}{<->ssub * phv/b/it}{} - -%%%% T1 Helvetica - - -\DeclareFontFamily{T1}{phv}{} - -\DeclareFontShape{T1}{phv}{b}{n}{<-> s * [.9] phvb\eightt}{} -\DeclareFontShape{T1}{phv}{b}{sc}{<-> s * [.9] phvbc\eightt}{} -\DeclareFontShape{T1}{phv}{b}{sl}{<-> s * [.9] phvbo\eightt}{} -\DeclareFontShape{T1}{phv}{bc}{n}{<-> s * [.9] phvb\hvtmph}{} -\DeclareFontShape{T1}{phv}{bc}{sc}{<-> s * [.9] phvbc\hvtmph}{} -\DeclareFontShape{T1}{phv}{bc}{sl}{<-> s * [.9] phvbo\hvtmph}{} -\DeclareFontShape{T1}{phv}{l}{n}{<-> s * [.9] phvl\eightt}{} -\DeclareFontShape{T1}{phv}{l}{sc}{<-> s * [.9] phvlc\eightt}{} -\DeclareFontShape{T1}{phv}{l}{sl}{<-> s * [.9] phvlo\eightt}{} -\DeclareFontShape{T1}{phv}{m}{n}{<-> s * [.9] phvr\eightt}{} -\DeclareFontShape{T1}{phv}{m}{sc}{<-> s * [.9] phvrc\eightt}{} -\DeclareFontShape{T1}{phv}{m}{sl}{<-> s * [.9] phvro\eightt}{} -\DeclareFontShape{T1}{phv}{mc}{n}{<-> s * [.9] phvr\hvtmph}{} -\DeclareFontShape{T1}{phv}{mc}{sc}{<-> s * [.9] phvrc\hvtmph}{} -\DeclareFontShape{T1}{phv}{mc}{sl}{<-> s * [.9] phvro\hvtmph}{} - -\DeclareFontShape{T1}{phv}{bx}{n}{<->ssub * phv/b/n}{} -\DeclareFontShape{T1}{phv}{bx}{sc}{<->ssub * phv/b/sc}{} -\DeclareFontShape{T1}{phv}{bx}{sl}{<->ssub * phv/b/sl}{} -\DeclareFontShape{T1}{phv}{b}{it}{<->ssub * phv/b/sl}{} -\DeclareFontShape{T1}{phv}{bx}{it}{<->ssub * phv/b/it}{} -\DeclareFontShape{T1}{phv}{bc}{it}{<->ssub * phv/bc/sl}{} -\DeclareFontShape{T1}{phv}{l}{it}{<->ssub * phv/l/sl}{} -\DeclareFontShape{T1}{phv}{m}{it}{<->ssub * phv/m/sl}{} -\DeclareFontShape{T1}{phv}{mc}{it}{<->ssub * phv/mc/sl}{} - -\endgroup - - -\klutest@font{MTSY}{Mathtime} -\if y\klu@font@error - \IfFileExists{mathptm.sty}{% - \PackageWarningNoLine{klups}{% - Using mathptm, possibly incorrect output for math fonts}% - \RequirePackage{mathptm}}{% - \PackageError{klups}{% - Incorrect output for all math fonts}{% - Because I could not find the MathTime package, I am reverting\MessageBreak - to Computer Modern for Calligraphics and all math.\MessageBreak - Sorry, but you don't even have mathptm.sty installed! - }} -\else -\klutest@font{MTSYB}{Mathtime Plus} -\if y\klu@font@error - \PackageError{klups}{% - Unstable output encoding for \string\boldmath}{% - Because I could not find the MathTime plus fonts, I am reverting\MessageBreak - to Computer Modern for Calligraphics and bold math. This looks\MessageBreak - bad and may even give incorrect characters if you use \string\boldmath - }% - \RequirePackage{mathtime} -\else - \RequirePackage[mtbold,mtpluscal]{mathtime} -\fi -\fi -\klutest@font{MTGU}{Mathtime Plus upright greek} -\if y\klu@font@error - \@addtofontwarning{% - \spaces disabling \string\psgreek\space and \string\greekps} - \AtEndOfPackage{\let\rmgreek@redefs\relax }% -\else - - -\begingroup \nfss@catcodes -\DeclareFontFamily{U}{mtgu}{} -\DeclareFontShape{U}{mtgu}{m}{n}{<-> MTGU}{} -\DeclareFontShape{U}{mtgu}{b}{n}{<-> MTGUB}{} -\endgroup - -\DeclareSymbolFont{uprightlcgreek}{U}{mtgu}{m}{n} -% -% This is not clean. bold lowercase greek should come -% from the 'letters' font (MTMIB) to avoid confusion. -% However, there are the same glyphs in both fonts. -% -\SetSymbolFont{uprightlcgreek}{bold}{U}{mtgu}{b}{n} - - -\DeclareMathSymbol{\upr@alpha }{\mathord}{uprightlcgreek}{`a} -\DeclareMathSymbol{\upr@beta }{\mathord}{uprightlcgreek}{`b} -\DeclareMathSymbol{\upr@gamma }{\mathord}{uprightlcgreek}{`g} -\DeclareMathSymbol{\upr@delta }{\mathord}{uprightlcgreek}{`d} -\DeclareMathSymbol{\upr@epsilon }{\mathord}{uprightlcgreek}{`e} -\DeclareMathSymbol{\upr@zeta }{\mathord}{uprightlcgreek}{`z} -\DeclareMathSymbol{\upr@eta }{\mathord}{uprightlcgreek}{'041} -\DeclareMathSymbol{\upr@theta }{\mathord}{uprightlcgreek}{'042} -\DeclareMathSymbol{\upr@iota }{\mathord}{uprightlcgreek}{`i} -\DeclareMathSymbol{\upr@kappa }{\mathord}{uprightlcgreek}{`k} -\DeclareMathSymbol{\upr@lambda }{\mathord}{uprightlcgreek}{`l} -\DeclareMathSymbol{\upr@mu }{\mathord}{uprightlcgreek}{`m} -\DeclareMathSymbol{\upr@nu }{\mathord}{uprightlcgreek}{`n} -\DeclareMathSymbol{\upr@xi }{\mathord}{uprightlcgreek}{`x} -\DeclareMathSymbol{\upr@pi }{\mathord}{uprightlcgreek}{`p} -\DeclareMathSymbol{\upr@rho }{\mathord}{uprightlcgreek}{`r} -\DeclareMathSymbol{\upr@sigma }{\mathord}{uprightlcgreek}{`s} -\DeclareMathSymbol{\upr@tau }{\mathord}{uprightlcgreek}{`t} -\DeclareMathSymbol{\upr@upsilon }{\mathord}{uprightlcgreek}{`u} -\DeclareMathSymbol{\upr@phi }{\mathord}{uprightlcgreek}{'043} -\DeclareMathSymbol{\upr@chi }{\mathord}{uprightlcgreek}{'044} -\DeclareMathSymbol{\upr@psi }{\mathord}{uprightlcgreek}{'045} -\DeclareMathSymbol{\upr@omega }{\mathord}{uprightlcgreek}{'046} -\DeclareMathSymbol{\upr@varepsilon}{\mathord}{uprightlcgreek}{'053} -\DeclareMathSymbol{\upr@vartheta }{\mathord}{uprightlcgreek}{'054} -\DeclareMathSymbol{\upr@varpi }{\mathord}{uprightlcgreek}{'055} -\DeclareMathSymbol{\upr@varrho }{\mathord}{uprightlcgreek}{'056} -\DeclareMathSymbol{\upr@varsigma }{\mathord}{uprightlcgreek}{'057} -\DeclareMathSymbol{\upr@varphi }{\mathord}{uprightlcgreek}{'060} -\DeclareMathSymbol{\upr@varkappa }{\mathord}{uprightlcgreek}{'061} - - -\let\italicalpha \alpha -\let\italicbeta \beta -\let\italicgamma \gamma -\let\italicdelta \delta -\let\italicepsilon \epsilon -\let\italiczeta \zeta -\let\italiceta \eta -\let\italictheta \theta -\let\italiciota \iota -\let\italickappa \kappa -\let\italiclambda \lambda -\let\italicmu \mu -\let\italicnu \nu -\let\italicxi \xi -\let\italicpi \pi -\let\italicrho \rho -\let\italicsigma \sigma -\let\italictau \tau -\let\italicupsilon \upsilon -\let\italicphi \phi -\let\italicchi \chi -\let\italicpsi \psi -\let\italicomega \omega -\let\italicvarepsilon \varepsilon -\let\italicvartheta \vartheta -\let\italicvarpi \varpi -\let\italicvarrho \varrho -\let\italicvarsigma \varsigma -\let\italicvarphi \varphi -\let\italicvarkappa \varkappa - -\def\rmgreek@redefs{% -\def\alpha {\upr@alpha }% -\def\beta {\upr@beta }% -\def\gamma {\upr@gamma }% -\def\delta {\upr@delta }% -\def\epsilon {\upr@epsilon }% -\def\zeta {\upr@zeta }% -\def\eta {\upr@eta }% -\def\theta {\upr@theta }% -\def\iota {\upr@iota }% -\def\kappa {\upr@kappa }% -\def\lambda {\upr@lambda }% -\def\mu {\upr@mu }% -\def\nu {\upr@nu }% -\def\xi {\upr@xi }% -\def\pi {\upr@pi }% -\def\rho {\upr@rho }% -\def\sigma {\upr@sigma }% -\def\tau {\upr@tau }% -\def\upsilon {\upr@upsilon }% -\def\phi {\upr@phi }% -\def\chi {\upr@chi }% -\def\psi {\upr@psi }% -\def\omega {\upr@omega }% -\def\varepsilon {\upr@varepsilon }% -\def\vartheta {\upr@vartheta }% -\def\varpi {\upr@varpi }% -\def\varrho {\upr@varrho }% -\def\varsigma {\upr@varsigma }% -\def\varphi {\upr@varphi }% -\def\varkappa {\upr@varkappa }% - } - -\def\rmgreek{\rmgreek@redefs } -\def\greekrm#1{{\rmgreek #1}} -\fi - -\ifx\@fontwarnings\empty \else - \PackageWarningNoLine{klups}{\@fontwarnings} -\fi -\normalfont -\endinput - -%% -%% End of file `klups.sty'. - diff --git a/helm/papers/matita/kluref.sty b/helm/papers/matita/kluref.sty deleted file mode 100644 index df49b6fe5..000000000 --- a/helm/papers/matita/kluref.sty +++ /dev/null @@ -1,441 +0,0 @@ -% -% -\ifcat a\noexpand @\let\next\relax\else \def\next{% -\documentclass{kluwer}\usepackage{doc}\MakePercentIgnore}\fi\next -\NeedsTeXFormat{LaTeX2e} -\def\filename{kluref.sty} -\def\filedate{1998/03/17} -%\DoNotIndex{\@M,\def,\c@secnumdepth,\baselineskip,\@pnumwidth,\else,\fi} -%\DoNotIndex{\newcommand,\z@,\relax,\renewcommand,\ifnum,\csname,\endcsname} -%\DoNotIndex{\baselineskip,\vskip,\hskip,\relax,\secdef,\refstepcounter} -%\DoNotIndex{\normalsize,\numberline,\protect,\endinput} -%\changes{1998/03/17}{TH: Fixed optional argument to cite for numreferences} -%\changes{1997/02/18}{TH: Toggled lines for cite definition and citation write (3x)} -%\CodelineIndex -%\newcommand{\Bs}{} -%\parindent=0pt -%\parskip=3pt -%\hfuzz=10pt -%\addtolength{\textwidth}{4pc} -%\MakeShortVerb{\|} -%\begin{document} -%\begin{article} -%\begin{opening} -%\title{\filename} -%\date{\filedate} -%\author{Kluwer Academic Publishers\surname{}} -%\institute{~} -%\begin{abstract} -%This internal stylefile provides commands for references. Options are -%|openbib|, |numreferences| and |namedreferences|. This documentation -%is compiled on |kluwer.cls| to give some examples. -%\end{abstract} -%\end{opening} -%\tableofcontents -%\newpage -%\section{Interface} -% This file provides |namedreferences| and |numreferences| options -% for the stylefiles. |namedreferences| use the syntax that is -% explained in the |named.sty| package, but will be repeated -% below. |numreferences| we wrote ourselves, the major difference with -% standard \LaTeX\ iss that the brackets in the `references' section -% have turned into a dot. -% \subsection{Named references} -% This presumes that the reference list you use is sorted -% alphabetically. The general chape of the references section is this: -% -% \begin{verbatim} -% \begin{thebibliography}{} -% \bibitem[\protect\citeauthoryear{author's name}{year}]{key} -% \end{verbatim} -% In a `real' example this is what it looks like: -% \begin{verbatim} -% \begin{thebibliography}{} -%\bibitem[\protect\citeauthoryear{Bisogni~Jr and Arroyo}{1991}]{BJA91} -%J.J. Bisogni~Jr and S.L. Arroyo. -%\newblock The effect of carbon dioxide equilibrium on p{H} in dilute lakes. -%\newblock {\em Water Research}, 25(2):185--190, 1991. -% \end{verbatim} -% This entry was generated by \BibTeX, using the file |named.bst| -% to do the formatting and sorting. This method of generating -% references is highly recommended, because it tends to prevent -% errors. (The |\protect| is only needed if the output is in an -% external file, like the |.bbl| file.) Until we have a `private' -% |.bst| file, |named.bst| is the best option. -% -% Allthough keying this sort of thing in is quite tedious, It also has -% some advantages: this allows you to use some `special' |\cite| -% commands that are normally not available. The following shows what -% the respective commands output on the previous example: -% -% \begin{tabular}{ll} \hline -%Call: &Produces:\\ \hline -%|\cite{BJA91}| &\cite{BJA91}\\ -%|\cite*{BJA91}| &\cite*{BJA91}\\ -%|\shortcite{BJA91}| &\shortcite{BJA91}\\ -%|\citeyear{BJA91}| &\citeyear{BJA91}\\ -%|\inlinecite{BJA91}| &\inlinecite{BJA91}\\ -%|\opencite{BJA91}| &\opencite{BJA91} -%\end{tabular} -%\section{Implementation} -% From the options follows that the default value is -% |namedreferences|. -% -% \begin{macrocode} -\ProvidesPackage{kluref}[\filedate ] -\newif\if@numreferences -\DeclareOption{namedreferences}{\@numreferencesfalse} -\DeclareOption{numreferences}{\@numreferencestrue} -% \end{macrocode} -% -% openbib is ignored (for now ?). -% -% \begin{macrocode} -\DeclareOption{openbib}{} -\ExecuteOptions{namedreferences} -\ProcessOptions* -% \end{macrocode} -% -% -% |\sectioncmd| is either |\section| or |\chapter|, depending on the used -% major stylefile. Same goes for |\Uppercase|, with regard to pagestyles. -% -% -% \begin{macrocode} -\newenvironment{thebibliography}[1]{% - \sectioncmd*{\refname}\imarkboth{\bibname}{\bibname}% - \footnotesize - \message{\refname} - \def\bibwidthlabel{\releft#1\reright}% -% \end{macrocode} -% |\releft| and |\reright| are usually empty, but they can be defined -% to contain brackets, for instance. This is only useful using -% |numreferences|. -% -% The list and counter are defined below. They vary for the different -% options. -% \begin{macrocode} - \list{\kapbib@counter}{\kapbib@list} - \let\makelabel\@biblabel - \def\newblock{\hskip .11em plus .33em minus .07em}% - \sloppy - \clubpenalty10000 - \widowpenalty10000 - \sfcode`\.=1000\relax - }{\endlist} -% \end{macrocode} -% -% \subsection{Some utilities} -% -% |\refname| and |\bibname| are not |\providecommand|'s to allow for -% already existing definitions, because we do need to be absolutely -% sure we are in control. That's why they are inside -% |\AtBeginDocument|, to circumvent the |babel| package. -% -% I should ask for french/german names, though. -% -% \begin{macrocode} -\AtBeginDocument{% - \def\refname{References}% - \def\bibname{References}} -% \end{macrocode} -% -% -% -% |\releft| and |\reright| are around the text inside the optional -% argument to |\bibitem|. Together with |\redot|, this allows the -% following hack: -% -%\begin{verbatim} -%\documentclass[numreferences]{kluwer} -%\renewcommand{\releft}{[} -%\renewcommand{\reright}{]} -%\renewcommand{\redot}{} -%\begin{document} -%...... -%\begin{thebibliography}{abs} -%\bibitem[abs]{key}... -%\end{verbatim} -%... and the references will look identical to \LaTeX\ Article -% `namedreferences', except for size. Note that this will only work -% using numreferences. -% -% |\coleft| and |\ccright| are the same sort of thing, they allow you -% to change the braces around |\cite| commands into something else. -% -% This is a hook for klups.sty (oldstyle numerals) -% \begin{macrocode} -\def\i@oldseries{} -% \end{macrocode} -% \begin{macrocode} -\newlength{\bibhang} -\setlength{\bibhang}{14pt} -\newcommand{\redot}{.} -\newcommand{\releft}{} -\newcommand{\reright}{} -\newcommand{\coleft}{(} -\newcommand{\ccright}{)} -\let\oldcite\cite -% \end{macrocode} -% \newpage\subsection{Numbered references} -% \begin{macrocode} -\def\numreferences{% - \typeout{KAP -- Numbered references}% - \def\kapbib@counter{\arabic{enumiv}}% - \def\labelsepwidth{1em}% - \def\kapbib@list{% - \setlength{\labelsep}{\labelsepwidth}% - \settowidth{\labelwidth}{\@biblabel{\bibwidthlabel}}% - \setlength{\leftmargin}{\labelwidth}% - \addtolength{\leftmargin}{\labelsep}% - \setlength{\itemindent}{0pt}% - \setlength{\itemsep}{0pt}% - \setlength{\parsep}{0pt}% - \usecounter{enumiv}% - \let\makelabel\kap@biblabel}% -% \end{macrocode} -% This makes flush right labels -% \begin{macrocode} - \def\@biblabel##1{\hfill\releft##1\redot\reright}% -% \end{macrocode} -% |\@bibitem| writes out either |\bibcite{key}{number}| or -% |\bibcite{number}{number}| in case there is no key given. This -% allows |\cite{2}| without a key. -% \begin{macrocode} - \def\@bibitem##1{\item - \def\@tempa{##1}% - \ifx\@tempa\empty - \if@filesw - \immediate\write\@auxout - {\string\bibcite{\thearticle \the\value{\@listctr}}% - {\the\value{\@listctr}}}% - \fi - \else - \if@filesw - \immediate\write\@auxout - {\string\bibcite{\thearticle ##1}{\the\value{\@listctr}}}% - \fi - \fi - \ignorespaces - }% -% \end{macrocode} -% |\@lbibitem| handles the optional argument version. -% -% If no key -% is given, we presume numbered references are really wanted. (It would -% be a bit strange to have entries like |\bibitem[A95]{}| and -% to reference using a counter as in |\cite{1}|). -% -% \begin{macrocode} - \def\@lbibitem[##1]##2{% - \def\@biblabel####1{####1}% - \let\makelabel\@biblabel - \def\@tempa{##2}% - \ifx\@tempa\empty - \item[\@biblabel{\hfill\releft - \arabic{\@listctr}\redot\reright}]% - \if@filesw - {\def\protect####1{\string ####1\space}\immediate - \write\@auxout{\string\bibcite{\thearticle \the\value{\@listctr}}% - {\the\value{\@listctr}}}}% - \fi -% \end{macrocode} -% Otherwise, typeset the argument and write out both argument and key -% to the |.aux| file. -% \begin{macrocode} - \else - \item[\@biblabel{\hfill\releft ##1\redot\reright}]% - \if@filesw - {\def\protect####1{\string ####1\space}\immediate - \write\@auxout{\string\bibcite{\thearticle ##2}{##1}}}% - \fi - \fi - \ignorespaces - }% -% \end{macrocode} -% Now allow some |namedreferences| commands to a least mean something. -% \begin{macrocode} - \let\@internalcite\oldcite - \let\shortcite\@internalcite - \let\citeauthor\@internalcite - \let\citeyear\@internalcite - \let\inlinecite\@internalcite - \let\opencite\@internalcite - \let\cite\@internalcite - \def\citeauthoryear##1##2{}% -% \end{macrocode} -% To end: relatively standard definition of |\@citex|. -% \begin{macrocode} -\def\@citex[##1]##2{% - \let\@citea\@empty - \@cite{\@for\@citeb:=##2\do - {\@citea\def\@citea{,\penalty\@m\ }% - \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi - \edef\gl@citeb{\expandafter\@firstofone\@citeb}% - \edef\@citeb{\thearticle\expandafter\@firstofone\@citeb}% - \@ifundefined{b@\@citeb}{% - \@ifundefined{b@\gl@citeb}{% - \mbox{\reset@font\bfseries ?}% - \G@refundefinedtrue - \@latex@warning - {Citation `\@citeb' on page \thepage \space undefined}}% - {\hbox{\csname b@\gl@citeb\endcsname}}}% - {\hbox{\csname b@\@citeb\endcsname}}% - }}{##1}} -} -% \end{macrocode} -%\newpage \subsection{Named references} -% \begin{macrocode} -\def\namedreferences{% - \typeout{KAP -- Named references}% -% \end{macrocode} -% This (having no optional argument and/or key) -% is typically one of those things that happen if you switch from -% |num| to |named|. Just write out something to indicate that there -% may be a problem. -% -% \begin{macrocode} - \def\@bibitem##1{\item - \def\@tempa{##1}% - \ifx\@tempa\empty - \if@filesw \immediate\write\@auxout{% - \string\bibcite{\thearticle ??}{??}}\fi - \else - \if@filesw \immediate\write\@auxout{% - \string\bibcite{\thearticle ##1}{??}}\fi - \fi - \ignorespaces - }% -% \end{macrocode} -% Not having a key probably indicates that the optional argument is -% also wrong, but hey, we can't do everything. At least now |\cite| -% is something useful if you can count very well... -% -% It is also possible -% that the optional argument is empty, but that is never a problem -% because it will not be typeset anyway (|\@biblabel| will gobble the -% argument). -% -% 21/3/1997 inserted increment of |\@listctr| to prevent multiply -% defined labels. -% \begin{macrocode} - \def\@lbibitem[##1]##2{\item[\@biblabel{##1}\hfill]% - \def\@tempa{##2}% - \stepcounter{\@listctr}% - \ifx\@tempa\empty - \if@filesw{\def\protect####1{\string ####1\space}\immediate - \write\@auxout{\string\bibcite{\thearticle - \the\value\@listctr}{##1}}}\fi - \else - \if@filesw{\def\protect####1{\string ####1\space}\immediate - \write\@auxout{\string\bibcite{\thearticle ##2}{##1}}}\fi - \fi - \ignorespaces - }% -\def\labelsepwidth{1em}% -% \end{macrocode} -% Here is the list again. |\bibhang| allows control over the amount -% of hanging indentation. -% \begin{macrocode} -\def\kapbib@counter{\relax }% - \def\kapbib@list{% - \setlength{\labelsep}{0em}% - \setlength{\labelwidth}{0pt}% - \setlength{\itemindent}{-\bibhang}% - \setlength{\itemsep}{0pt}% - \setlength{\parsep}{0pt}% - \usecounter{enumiv}% - \setlength{\leftmargin}{\bibhang}% - \i@oldseries - }% -% \end{macrocode} -% Gobble |\@biblabel|. Also, save meaning of |\cite| for later use. -% \begin{macrocode} - \def\@biblabel##1{}% - \let\@internalcite\oldcite -% \end{macrocode} -% Differences between these |\cite| commands can be seen above. -% \begin{macrocode} - \def\cite{\@ifstar{\citeyear}{\klu@cite}}% - - \def\klu@cite{\def\@citeseppen{1000}% - \def\@cite####1####2{\coleft{####1\if@tempswa , ####2\fi}\ccright}% - \def\citeauthoryear####1####2{{\rm\i@oldseries ####1, ####2}}\@internalcite }% - - \def\shortcite{\def\@citeseppen{1000}% - \def\@cite####1####2{\coleft{####1\if@tempswa , ####2\fi}\ccright}% - \def\citeauthoryear####1####2{{\rm\i@oldseries ####2}}\@internalcite }% - - \def\citeauthor##1{\def\@citeseppen{1000}% - \def\@cite####1####2{{####1\if@tempswa , ####2\fi}}% - \def\citeauthoryear####1####2{\rm ####1}\@citedata{##1}}% - - \def\citeyear##1{\def\@citeseppen{1000}% - \def\@cite####1####2{{####1\if@tempswa , ####2\fi}}% - \def\citeauthoryear####1####2{{\rm\i@oldseries ####2}}\@citedata{##1}}% - - \def\opencite##1{\citeauthor{##1}, \citeyear{##1}}% - - \def\inlinecite##1{\citeauthor{##1} (\citeyear{##1})}% -% \end{macrocode} -% This is rather tricky stuff, these macros come from |named.sty| and -% I remember that I understood them once, but not any more, -% apparantly. Checking this is left as an exersize to the reader. -% \begin{macrocode} -\def\@citedata##1{% - \@tempswafalse% - \let\@citea\@empty - \@cite{\@for\@citeb:=##1\do - {\@citea\def\@citea{,\penalty\@citeseppen\ }% - \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi - \edef\gl@citeb{\expandafter\@firstofone\@citeb}% - \edef\@citeb{\thearticle\expandafter\@firstofone\@citeb}% - \@ifundefined{b@\@citeb}{% - \@ifundefined{b@\gl@citeb}{% - \mbox{\reset@font\bfseries ?}% - \G@refundefinedtrue - \@latex@warning - {Citation `\@citeb' on page \thepage \space undefined}}% - {\csname b@\gl@citeb\endcsname}}% - {\csname b@\@citeb\endcsname}}}{}} -\def\@citex[##1]##2{% - \let\@citea\@empty - \@cite{\@for\@citeb:=##2\do - {\@citea\def\@citea{;\penalty\@citeseppen\ }% - \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi - \edef\gl@citeb{\expandafter\@firstofone\@citeb}% - \edef\@citeb{\thearticle\expandafter\@firstofone\@citeb}% - \@ifundefined{b@\@citeb}{% - \@ifundefined{b@\gl@citeb}{% - \mbox{\reset@font\bfseries ?}% - \G@refundefinedtrue - \@latex@warning - {Citation `\@citeb' on page \thepage \space undefined}}% - {\csname b@\gl@citeb\endcsname}}% - {\csname b@\@citeb\endcsname}}}{##1}} -% \end{macrocode} -% Allow |\citeauthoryear| in |\write| -% \begin{macrocode} -\def\citeauthoryear##1##2{\string\citeauthoryear{##1}{##2}}} -%%%%%%%%%%%%%%%%%%%%%%%%% -\if@numreferences - \numreferences -\else - \namedreferences -\fi -\endinput -% \end{macrocode} -%\begin{thebibliography}{} -%\bibitem[\citeauthoryear{Bisogni~Jr and Arroyo}{1991}]{BJA91}% -%J.J. Bisogni~Jr and S.L. Arroyo. -%\newblock The effect of carbon dioxide equilibrium on p{H} in dilute lakes. -%\newblock {\em Water Research}, 25(2):185--190, 1991. -%\end{thebibliography} -%\PrintIndex -%\end{article} -%\end{document} -% end of kluref.sty - - - - diff --git a/helm/papers/matita/klusec.sty b/helm/papers/matita/klusec.sty deleted file mode 100644 index d1e45948c..000000000 --- a/helm/papers/matita/klusec.sty +++ /dev/null @@ -1,625 +0,0 @@ -% -% -\ifcat a\noexpand @\let\next\relax\else \def\next{% -\documentclass{kluwer}\usepackage{doc}\MakePercentIgnore}\fi\next -\def\filedate{1998/03/13} -\def\filename{klusec.sty} -%\changes{1997/07/13}{Inserted mainmatter switch}{} -%\changes{1997/07/13}{Inserted tocentry in theindex}{} -%\DoNotIndex{\@M,\def,\c@secnumdepth,\baselineskip,\@pnumwidth,\else,\fi} -%\DoNotIndex{\newcommand,\z@,\relax,\renewcommand,\ifnum,\csname,\endcsname} -%\DoNotIndex{\baselineskip,\vskip,\hskip,\relax,\secdef,\refstepcounter} -%\DoNotIndex{\normalsize,\numberline,\protect,\endinput} -%\CodelineIndex -%\changes{1997/02/12}{TH: added a space after 'partname'.}{} -%\newcommand{\Bs}{$\backslash$} -%\parindent=0pt -%\parskip=3pt -%\hfuzz=10pt -%\MakeShortVerb{\|} -%\setlength\marginparwidth{0pt} -%\addtolength{\textwidth}{4pc} -%\begin{document} -%\begin{opening} -%\title{\filename} -%\runningtitle{\filename\ -- \filedate} -%\date{\filedate} -%\author{Kluwer Academic Publishers} -%\runningauthor{Kluwer Academic Publishers} -%\institute{~} -%\begin{abstract} -%This internal stylefile defines all sectioning commands used by -%all kluwer style files. In order to facilitate usage by different -%stylefiles, most command herein are parameterised. -%There is an option to include a definition for \verb!\chapter! -%(|chapter|). -%\end{abstract} -%\end{opening} -%\tableofcontents -%\newpage -%\section{Interface} -%All `ordinary' sectioning command such as |\section| |\subsection| etc. -%Have the following macros defined: -% -%\begin{tabular}{ll} -%\Bs{\it X}hang & (1arg)\\ -%\Bs{\it X}spaceabove\\ -%\Bs{\it X}spaceafter \\ -%\Bs{\it X}flushstyle\\ -%\Bs{\it X}numstyle\\ -%\Bs{\it X}textstyle\\ -%\Bs{\it X}case & (1arg) -%\end{tabular} - -%Where {\it X} is one of the following: - -%\begin{tabular}{ll} -%C &chapter\\ -%S §ion\\ -%SS &subsection\\ -%SSS &subsubsection\\ -%P ¶graph\\ -%SP &subparagraph -%\end{tabular} - -%\begin{itemize} -%\item -%The {\it X}hang macro encapsulates the number and the separating -%space. In the default -%configuration, for instance, |\SShang| sets hanging indentation -%for the subsection title to the width of the number, resulting in -%sections looking like this: - -%\end{itemize} -%\subsection{This is a very long example of an otherwise quite -% ordinary section. I stretched it a lot so you can see the -% runover..... } -%\begin{itemize} -%\item -%This is implemented by this line: - -%\begin{verbatim} -%\newcommand{\SShang}[1]{\Forcedhang{#1}} -%\end{verbatim} - -%where the macro \Bs Forcedhang calculates the needed \Bs hangafter. -%Another use for this macro could be: - -%\begin{verbatim} -%\renewcommand{\Shang}[1]{\charkern{#1}} -%\end{verbatim} - -%To get spaced out numbering (somewhat trivial example) or - -%\begin{verbatim} -%\renewcommand{\Shang}[1]{} -%\end{verbatim} - -%To force |\section*| like layout. - -%\item -%\Bs{\it X}spaceabove is a skip value in the vertical direction. -%e.g.\\ |\renewcommand{\Pspaceabove}{.5\baselineskip}| - -%\item -%\Bs{\it X}spaceafter is a `real' macro, that is supposed to typeset -%either a horizontal or a vertical skip. However, this macro can do -%anything:\\ |\renewcommand{\Pspaceafter}{\hskip 1em}| - -%\item -%\Bs{\it X}flushstyle is for |\centering| etc. - -%\item -%\Bs{\it X}numstyle and \Bs{\it X}textstyle control things like -%sizes and fontshape. These two and \Bs{\it X}flushstyle are inside the -%same group, so there is no need to define things like |\bfseries| -%twice in a row. - -%\item -%\Bs{\it X}case behaves identical to \Bs{\it X}hang, but it braces -%the text of the sectioning command. -%\end{itemize} -% \section{Considerations} -%The following need extra attention: -%\begin{itemize} -%\item -%|\part|, |\chapter| and |\index| set |\thispagestyle| to the pagestyle with -%the same name. This needs to be taken care of in |kluopen.sty| of the -% stylefile. This file (\filename) simply |\let|'s them all to |empty|. -%\item -%|\sectioncmd| is either |\section| or |\chapter|. This is more efficient -% than doing everything twice. The stylefile has to set this like this:\\ -%|\AtBeginDocument{\let\sectioncmd\section}|, or it will fail. -% -%\item -%|\@secnumdepth| works, for the first time in any kluwer stylefile that I -%know of. It's default value is 4, so only |\subparagraph| does NOT have a -%section number attached. -%\item |\sectiondot| and |\chapterdot| contain a dot to be typeset after -%the number of the section$\|$chapter. -%\end{itemize} -% \section{Defaults} -% The following table contains the default values as set in this -% file. -% -%{\little -%\begin{tabular}{llllllll} \hline -%Type&spaceabove&spacebelow&flushstyle&numstyle&textstyle&hang&case\\ \hline -%C &33pt &vskip 33pt ¢ering &large rm &- &-&-\\ -%S &2bs+6pt-4pt&vskip 1bs+3pt-2pt¢ering &bf &- &Forcedhang&-\\ -%SS &1bs+3pt-2pt&vskip 1bs+3pt-2pt&raggedright&rm &sc&Forcedhang&-\\ -%SSS&1bs+3pt-2pt&vskip 1sp &raggedright&rm &it&Forcedhang&-\\ -%P &1bs+3pt-2pt&hskip .5em &- &rm &it&-&-\\ -%SP &1bs+3pt-2pt&hskip .5em &- &rm &it&-&-\\ \hline -%\end{tabular} -% -% bs = |\baselineskip| -%} -% \section{Implementation} -% \begin{macrocode} -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{klusec}[\filedate ] -\newif\if@chapterdef \@chapterdeffalse -\DeclareOption{chapter}{\@chapterdeftrue } -\ExecuteOptions{} -\ProcessOptions -% \end{macrocode} -%\newpage\subsection{Part} -% Definition of |\part|. Not much work is done on this, because it is -% not used this often, and fairly easy to circumvent (if needed). -% \begin{macrocode} -\newcommand{\part}{% - \cleardoublepage - \thispagestyle{part}% - \hbox{}\vskip 2in - \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 - \imarkboth{}{}% - {\centering - \ifnum \c@secnumdepth >-2\relax - \huge\bf \partname\ \thepart - \par - \vskip 20pt - \fi - \Huge \bf #1\par - }% - \@endpart - } - -\def\@spart#1{{\centering\Huge \bf #1\par}\@endpart} -\def\@endpart{\vfil\cleardoublepage} -\def\partname{Part} -\let\ps@part\ps@empty -% -% \end{macrocode} -%\newpage\subsection{Chapter} -% \begin{macrocode} - -\if@chapterdef - - % - % Typeset text and number. - % - \newcommand{\@makechapterhead}[2]{\vspace*{\Cspaceabove}% - {\parindent 0pt \hyphenpenalty 10000 - \Cflushstyle \Cnumstyle - \Chang{#1}% - \Ctextstyle \Ccase{#2}\par - \nobreak \Cspaceafter \relax - }} - - \newcommand{\chapter}{% -% \end{macrocode} -% -% openright will be handled by the stylefile -% -% \begin{macrocode} - \if@openright - \cleardoublepage - \else - \clearpage - \fi - \thispagestyle{chapter}% - \global\@topnum\z@ - \@afterindentfalse - \secdef\@chapter\@schapter - } - \def\@chapter[#1]#2{% - \ifnum \c@secnumdepth >\m@ne - \refstepcounter{chapter}% - \message{\@chapapp\space\thechapter\chapterdot}% - \addcontentsline{toc}{chapter}{\protect - \numberline{\thechapter}#1}% - \else - \addcontentsline{toc}{chapter}{#1}% - \fi - \chaptermark{#1}% - \addtocontents{lof}{\protect\addvspace{10pt}}% - \addtocontents{lot}{\protect\addvspace{10pt}}% - \@makechapterhead{\thechapter\chapterdot\ }{#2}% - \@afterheading - } - \newcommand{\@schapter}[1]{\@makechapterhead{}{#1} \@afterheading} - - \newcommand{\Chang}[1]{#1} - \newcommand{\Cspaceabove}{33pt} - \newcommand{\Cspaceafter}{\vskip 33pt} - \newcommand{\Cflushstyle}{\centering} - \newcommand{\Cnumstyle}{\large\rm} - \newcommand{\Ctextstyle}{} - \newcommand{\Ccase}[1]{#1} - \newcommand{\@chapapp}{\chaptername} - \newcommand{\chapterdot}{.} - \let\ps@chapter\ps@empty -\fi -% \end{macrocode} -%\newpage\subsection{Utility macro's} -% -% The |\@haveatleast| is (loosely) borrowed from the \TeX Book. Because -% of it's implementation, it will do `raggedbottom'-like things to pages, -% but the other option turned out to be worse. A page optimizer would come -% very handy indeed! The penalty is rather high, because we'd rather borrow -% some whitespace from the rest of the page. -% \changes{1997/07/13}{Change of policy: penalty is 0 now}{} -% \changes{1997/07/13}{nobreak inserted between box and glue}{} -% \begin{macrocode} -\newcommand{\vsecspace}[1]{% - \if@nobreak\else - \vskip #1\relax \fi} -\def\Shaveatleast{5\baselineskip} -\def\SShaveatleast{4\baselineskip} -\def\SSShaveatleast{4\baselineskip} -\newcommand{\@haveatleast}[1]{\relax\par \vskip #1 - \penalty 0\vskip -#1 \relax } -\def\@Xsect{% - \global\@nobreakfalse - \global\@noskipsectrue - \everypar{\setbox0\lastbox - \global\@noskipsecfalse - \begingroup \@Svsechd \endgroup - \everypar{}% - }} -% \end{macrocode} -%|\Forcedhang| is named after it's normal usage. However, it is a bit more -% general than that, so maybe it will move to some other place eventually. -% Typesets its argument and sets the current paragraph's |\hangafter| to -% be the width of the argument. -% \begin{macrocode} -\newcommand{\Forcedhang}[1]{\leavevmode - \setbox0=\hbox{#1}\hangindent\wd0 - \hangafter=1 \box0 } -% \end{macrocode} -% \begin{macrocode} -\def\contentsname{Table of Contents}% -\def\listfigurename{List of Figures}% -\def\listtablename{List of Tables}% -\def\chaptername{Chapter}% -\def\sectionname{Section}% -\def\appendixname{Appendix}% -% \end{macrocode} -%\newpage\subsection{Section} -% \begin{macrocode} -\newcommand{\@makesectionhead}[2]{\vsecspace{\Sspaceabove}% - {\parindent0pt \hyphenpenalty=10000 \baselineskip12pt - \Sflushstyle \Snumstyle - \Shang{#1}% - \Stextstyle \Scase{#2}\par - \nobreak \Sspaceafter \relax - }} - -\newcommand{\section}{\@haveatleast{\Shaveatleast - }\@afterindentfalse \secdef\@section\@ssection} - -\def\@section[#1]#2{% - \ifnum \c@secnumdepth >\z@ - \refstepcounter{section}% - \addcontentsline{toc}{section}{\protect \numberline{\thesection}#1}% - \else - \addcontentsline{toc}{section}{#1}% - \fi - \sectionmark{#1}% - \@makesectionhead{\thesection\sectiondot\hskip 0.7em}{#2}% - \@afterheading - } - -\def\@ssection#1{\@makesectionhead{}{#1}\@afterheading} - -\newcommand{\Shang}[1]{\Forcedhang{#1}} -\newcommand{\Sflushstyle}{\centering} -\newcommand{\Snumstyle}{\normalsize\bf} -\newcommand{\Stextstyle}{} -\newcommand{\Sspaceabove}{2\baselineskip plus6pt minus4pt} -\newcommand{\Sspaceafter}{\vskip 1\baselineskip plus3pt minus2pt} -\newcommand{\Scase}[1]{#1} -\newcommand{\sectiondot}{.} -% \end{macrocode} -%\newpage\subsection{Subsection} -% \begin{macrocode} -\newcommand{\@makesubsectionhead}[2]{\vsecspace{\SSspaceabove}% - {\parindent0pt \hyphenpenalty=10000 \baselineskip12pt - \SSflushstyle \SSnumstyle - \SShang{#1}% - \SStextstyle \SScase{#2}\par - \nobreak \SSspaceafter \relax - }} - -\newcommand{\subsection}{\@haveatleast{\SShaveatleast}% - \@afterindentfalse \secdef\@subsection\@ssubsection - } - -\def\@subsection[#1]#2{% - \ifnum \c@secnumdepth >\@ne - \refstepcounter{subsection}% - \addcontentsline{toc}{subsection}{\protect - \numberline{\thesubsection}#1}% - \else - \addcontentsline{toc}{subsection}{#1}% - \fi - \subsectionmark{#1} - \@makesubsectionhead{\thesubsection\sectiondot\hskip 0.7em}{#2}% - \@afterheading - } -\def\@ssubsection#1{\@makesubsectionhead{}{#1}\@afterheading} - - -\newcommand{\SShang}[1]{\Forcedhang{#1}} -\newcommand{\SSflushstyle}{\raggedright} -\newcommand{\SSnumstyle}{\normalsize\rm} -\newcommand{\SStextstyle}{\sc} -\newcommand{\SSspaceabove}{1\baselineskip plus3pt minus2pt} -\newcommand{\SSspaceafter}{\vskip .8\baselineskip plus2pt minus2pt} -\newcommand{\SScase}[1]{#1} -% \end{macrocode} -%\newpage\subsection{Subsubsection} -% \begin{macrocode} -\newcommand{\@makesubsubsectionhead}[2]{\vsecspace{\SSSspaceabove}% - {\parindent0pt \hyphenpenalty=10000 \baselineskip12pt - \SSSflushstyle \SSSnumstyle - \SSShang{#1}% - \SSStextstyle \SSScase{#2}\par - \nobreak \SSSspaceafter \relax - }} - -\newcommand{\subsubsection}{\@haveatleast{\SSShaveatleast - }\@afterindentfalse - \secdef\@subsubsection\@ssubsubsection} -\def\@subsubsection[#1]#2{% - \ifnum \c@secnumdepth >2 - \refstepcounter{subsubsection} - \addcontentsline{toc}{subsubsection}{\protect - \numberline{\thesubsubsection}#1}% - \else - \addcontentsline{toc}{subsubsection}{#1}% - \fi - \subsubsectionmark{#1} - \@makesubsubsectionhead{\thesubsubsection\sectiondot\hskip0.7em}{#2}% - \@afterheading - } -\def\@ssubsubsection#1{\@makesubsubsectionhead{}{#1}\@afterheading} - -\newcommand{\SSShang}[1]{\Forcedhang{#1}} -\newcommand{\SSSflushstyle}{\raggedright} -\newcommand{\SSSnumstyle}{\normalsize\rm} -\newcommand{\SSStextstyle}{\it} -\newcommand{\SSSspaceabove}{1\baselineskip plus3pt minus2pt} -\newcommand{\SSSspaceafter}{\vskip 1sp} -\newcommand{\SSScase}[1]{#1} -% \end{macrocode} -%\newpage\subsection{Paragraph} -% \begin{macrocode} -\newcommand{\@makeparagraphhead}[2]{% - \vsecspace{\Pspaceabove }% - \def\@Svsechd{% - {\Pflushstyle \Pnumstyle - \Phang{#1}% - \Ptextstyle \Pcase{#2}% - \Pspaceafter \relax }}\@Xsect - } - -\newcommand{\paragraph}{\par \@afterindentfalse - \secdef\@paragraph\@sparagraph } - -\def\@paragraph[#1]#2{% - \ifnum \c@secnumdepth >3 - \refstepcounter{paragraph}% - \addcontentsline{toc}{paragraph}{\protect - \numberline{\theparagraph}#1}% - \else - \addcontentsline{toc}{paragraph}{#1}% - \fi - \paragraphmark{#1}% - \@makeparagraphhead{\theparagraph\sectiondot\hskip 0.7em}{#2}% - } -\def\@sparagraph#1{\@makeparagraphhead{}{#1}} - -\newcommand{\Pspaceabove}{1\baselineskip plus3pt minus2pt} -\newcommand{\Phang}[1]{#1} -\newcommand{\Pflushstyle}{} -\newcommand{\Pnumstyle}{\normalsize\rm} -\newcommand{\Ptextstyle}{\it} -\newcommand{\Pcase}[1]{#1} -\newcommand{\Pspaceafter}{\hskip 1em} -% \end{macrocode} -%\newpage\subsection{Subparagraph} -% \begin{macrocode} -\newcommand{\@makesubparagraphhead}[2]{% - \vskip \SPspaceabove - \def\@Svsechd{% - {\SPflushstyle \SPnumstyle - \SPhang{#1}% - \SPtextstyle \SPcase{#2}% - \SPspaceafter \relax}}\@Xsect - } -\newcommand{\subparagraph}{\par\@afterindentfalse - \secdef\@subparagraph\@ssubparagraph } - -\def\@subparagraph[#1]#2{% - \ifnum \c@secnumdepth >4 - \refstepcounter{subparagraph}% - \addcontentsline{toc}{subparagraph}{\protect - \numberline{\thesubparagraph}#1}% - \else - \addcontentsline{toc}{subparagraph}{#1}% - \fi - \paragraphmark{#1}% - \@makesubparagraphhead{\thesubparagraph\sectiondot\hskip 0.7em}{#2}% - } -\def\@ssubparagraph#1{\@makesubparagraphhead{}{#1}} - -\newcommand{\SPspaceabove}{1\baselineskip plus3pt minus2pt} -\newcommand{\SPhang}[1]{} -\newcommand{\SPflushstyle}{} -\newcommand{\SPnumstyle}{\normalsize\rm} -\newcommand{\SPtextstyle}{\it} -\newcommand{\SPcase}[1]{#1} -\newcommand{\SPspaceafter}{\hskip 1em} -% \end{macrocode} -%\newpage\subsection{Counters} -% \begin{macrocode} -\newcounter{part} -\renewcommand{\thepart}{\Roman{part}} -\if@chapterdef - \newcounter{chapter} - \renewcommand{\thechapter}{\arabic{chapter}} - \newcounter{section}[chapter] - \renewcommand{\thesection}{\thechapter.\arabic{section}} -\else - \newcounter{section} - \renewcommand{\thesection}{\arabic{section}} -\fi -\newcounter{subsection}[section] -\newcounter{subsubsection}[subsection] -\newcounter{paragraph}[subsubsection] -\newcounter{subparagraph}[paragraph] -\renewcommand{\thesubsection}{\thesection.\arabic{subsection}} -\renewcommand{\thesubsubsection}{\thesubsection.\arabic{subsubsection}} -\renewcommand{\theparagraph}{\thesubsubsection.\arabic{paragraph}} -\renewcommand{\thesubparagraph}{\theparagraph.\arabic{subparagraph}} -% \end{macrocode} -%\newpage\subsection{Table of Contents} -% \begin{macrocode} -\def\@pnumwidth{1.55em} -\def\@tocrmarg{2.55em} -\def\@dotsep{10000} - -\setcounter{tocdepth}{2} -\setcounter{secnumdepth}{4} -% \end{macrocode} -%The macro |\imarkboth| is defined in |kluopen.sty|, allowing the current -% pagestyle and/or stylefile to define the meaning. -% \begin{macrocode} -\def\tableofcontents{\sectioncmd *{\contentsname}% - \imarkboth{\contentsname}{\contentsname}% - \message{\contentsname}% - \@starttoc{toc}\newpage} -\def\listoffigures{\sectioncmd *{\listfigurename}\imarkboth - {\listfigurename}{\listfigurename}% - \message{\listfigurename}% - \@starttoc{lof}} -\def\listoftables{\sectioncmd *{\listtablename}\imarkboth - {\listtablename}{\listtablename}% - \message{\listtablename}% - \@starttoc{lot}} - -\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} -\let\l@table\l@figure - -\def\l@part#1#2{% - \addpenalty{-\@highpenalty} - \addvspace{2.25em plus 1pt} - \begingroup - \@tempdima 3em - \parindent \z@ \rightskip \@pnumwidth - \parfillskip -\@pnumwidth - {\large \bf - \leavevmode - #1\hfil \hbox to\@pnumwidth{\hss #2}}\par - \nobreak - \global\@nobreaktrue - \everypar{\global\@nobreakfalse\everypar{}} - \endgroup - } - -\def\l@chapter#1#2{\addpenalty{-\@highpenalty} - \vskip 1.0em plus 1pt - \@tempdima 1.5em - \begingroup - \parindent \z@ \rightskip \@pnumwidth - \parfillskip -\@pnumwidth - \bf - \leavevmode - \advance\leftskip\@tempdima - \hskip -\leftskip - #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par - \penalty\@highpenalty - \endgroup - } - -\def\l@section{\@dottedtocline{1}{1.5em}{2.3em}} -\def\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}} -\def\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}} -\def\l@paragraph{\@dottedtocline{4}{10em}{5em}} -\def\l@subparagraph{\@dottedtocline{5}{12em}{6em}} -% \end{macrocode} -%\newpage -% -% \begin{macrocode} -\newif\if@mainmatter \@mainmattertrue -\if@chapterdef - \newcommand{\appendix}{\par - \@mainmatterfalse - \setcounter{chapter}{0}% - \setcounter{section}{0}% - \renewcommand{\thechapter}{\Alph{chapter}}% - \renewcommand{\@chapapp}{\appendixname}% - \message{\appendixname}% - } -\else - \newcommand{\appendix}{\par - \section*{Appendix}% - \setcounter{section}{0}% - \setcounter{subsection}{0}% - \renewcommand{\thesection}{\Alph{section}}% - \message{\appendixname}% - } -\fi - -\newenvironment{theindex}{% - \columnseprule \z@ - \columnsep \indexsep - \if@chapterdef - \twocolumn[\@makechapterhead{}{\indexname}] - \addcontentsline{toc}{chapter}{\indexname}% - \else - \twocolumn[\@makesectionhead{}{\indexname}] - \addcontentsline{toc}{section}{\indexname}% - \fi - \imarkboth{\indexname}{\indexname}% - \message{\indexname}% - \thispagestyle{index}% - \parindent\z@ - \parskip\z@ plus .3pt\relax - \let\item\@idxitem \indexfont - }{\onecolumn} -\def\indexfont{\footnotesize} -\let\ps@index\ps@empty -\def\@idxitem{\par\hangindent 36pt} -\def\subitem{\par\hangindent 36pt \hspace*{12pt}} -\def\subsubitem{\par\hangindent 36pt \hspace*{24pt}} -\def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax} -\def\indexsep{24pt} -\endinput -% \end{macrocode} -%\PrintIndex -%\end{document} -% end of klusec.sty - - - - diff --git a/helm/papers/matita/klut10.clo b/helm/papers/matita/klut10.clo deleted file mode 100644 index 9683c7cac..000000000 --- a/helm/papers/matita/klut10.clo +++ /dev/null @@ -1,256 +0,0 @@ -% -% -\ifcat a\noexpand @\let\next\relax\else \def\next{% -\documentclass[10pt]{kluwer}\usepackage{doc}\MakePercentIgnore}\fi\next -\NeedsTeXFormat{LaTeX2e} -\def\filedate{1998/02/11} -\def\filename{klut10.clo} -%\DoNotIndex{\@M,\def,\c@secnumdepth,\baselineskip,\p@,\else,\fi} -%\DoNotIndex{\newcommand,\z@,\relax,\renewcommand,\ifnum,\csname,\endcsname} -%\DoNotIndex{\baselineskip,\vskip,\hskip,\relax,\secdef,\refstepcounter} -%\DoNotIndex{\setlength,\@plus,\@minus,\protect,\endinput} -%\CodelineIndex -%\newcommand{\Bs}{} -%\parindent=0pt -%\parskip=3pt -%\setlength\marginparwidth{.5in} -%\hfuzz=11pt -%\MakeShortVerb{\|} -%\addtolength{\textwidth}{4pc} -%\begin{document} -%\begin{opening} -%\title{\filename} -%\runningtitle{\filename\ -- \filedate} -%\date{\filedate} -%\author{Kluwer Academic Publishers} -%\runningauthor{Kluwer Academic Publishers} -%\institute{~} -%\begin{abstract} -% This internal file takes care of list definitions and `general' -% point size options. This is a the `tight' file. -%\end{abstract} -%\end{opening} -%\tableofcontents -%\newpage\section{Implementation} -% \begin{macrocode} -\ProvidesFile{klut10.clo}[\filedate ] -% \end{macrocode} -% \subsection{Section size commands} -% added command: |\little|. This between |\scriptsize| and -% |\tiny|. Allowed type provided values: 5/6, 6/7, 7/8, 8/9, 9/10.5, -% 10/11.5, 12/14, 14/18, 17/22, 20/25, 25/30. -% \begin{macrocode} -\renewcommand\normalsize{% - \@setfontsize\normalsize\@xpt{11.5}% - \abovedisplayskip 10\p@ \@plus 2\p@ \@minus5\p@ - \abovedisplayshortskip \z@ \@plus 3\p@ - \belowdisplayshortskip 6\p@ \@plus 3\p@ \@minus3\p@ - \belowdisplayskip \abovedisplayskip - \let\@listi\@listI} -\normalsize -\newcommand\small{% - \@setfontsize\small\@ixpt{10.5}% - \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@ - \abovedisplayshortskip \z@ \@plus2\p@ - \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ - \def\@listi{\leftmargin\leftmargini - \topsep 4\p@ \@plus2\p@ \@minus2\p@ - \parsep 2\p@ \@plus\p@ \@minus\p@ - \itemsep \parsep}% - \belowdisplayskip \abovedisplayskip -} -\newcommand\footnotesize{% - \@setfontsize\footnotesize\@viiipt{9}% - \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@ - \abovedisplayshortskip \z@ \@plus\p@ - \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ - \def\@listi{\leftmargin\leftmargini - \topsep 3\p@ \@plus\p@ \@minus\p@ - \parsep 2\p@ \@plus\p@ \@minus\p@ - \itemsep \parsep}% - \belowdisplayskip \abovedisplayskip -} -\newcommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt} -\newcommand\little{\@setfontsize\little\@vipt\@viipt} -\newcommand\tiny{\@setfontsize\tiny\@vpt\@vipt} -\newcommand\large{\@setfontsize\large\@xiipt{14}} -\newcommand\Large{\@setfontsize\Large\@xivpt{18}} -\newcommand\LARGE{\@setfontsize\LARGE\@xviipt{22}} -\newcommand\huge{\@setfontsize\huge\@xxpt{25}} -\newcommand\Huge{\@setfontsize\Huge\@xxvpt{30}} -% \end{macrocode} -% \subsection{Various values} -% Note that |\hoffset| and |\voffset| are both compensated. This makes -% the calculations below easier. -% \begin{macrocode} -\setlength\hoffset{-1in} -\setlength\voffset{-1in} -\setlength\parindent {14\p@} -\setlength\headheight{12\p@} -\setlength\headsep {12\p@} -\setlength\topskip {10\p@} -\setlength\footskip {27.5\p@} -\setlength\marginparsep{10pt} -\setlength\marginparpush{5\p@} -\setlength\maxdepth {.5\topskip} -\setlength\@maxdepth\maxdepth -\setlength\columnsep{10pt} -\setlength\columnseprule{0pt} -\setlength\fboxsep{3pt} -\setlength\fboxrule{.4pt} -% \end{macrocode} -% \subsection{Textheight and textwidth} -% These are the main reason for the existence of these files. For some -% stupid reason, \LaTeX\ calculates textwidth out of |\paperwidth|. We -% did want to support letter paper, but our |\textwidth| is fixed, -% with the margins being calculated. -% -% Presume |\textwidth| and |\marginparwidth| are set in the stylefile, -% or we're in trouble. The |2pc| value is used to -% compensate for the `dead' corners in most laserprinters. -% -% Calculations are done `AtBeginDocument' to allow changes made in the -% preamble and later on in the stylefile. -% \begin{macrocode} -\newdimen\id@boxheight -\AtBeginDocument{% - \setlength\@tempdima{\paperwidth}% - \addtolength\@tempdima{-\textwidth}% - \divide\@tempdima by 2 - \setlength\@tempdimb\marginparwidth - \addtolength\@tempdimb\marginparsep - \addtolength\@tempdimb{2pc}% - \ifdim \@tempdima <\@tempdimb - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Marginpars disabled}{}{You made - your \string\textwidth\space (\the\textwidth) and - \string\marginparwidth (\the\marginparwidth) too wide.\MessageBreak - The allowed value for margin space: (\the\@tempdima). Needed value: - (\the\@tempdimb).\MessageBreak - This is not enough, - so I will set \string\marginparwidth\space to 0pt.\MessageBreak - Let's hope that fixes it. - }% - \marginparwidth \z@ - \marginparsep \z@ - \fi - \ifdim \@tempdima <2pc - \@tempdimb=\paperwidth - \advance\@tempdimb by -4pc - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Invalid sizes given}{}{You - made your \string\textwidth\space (\the\textwidth) - wider than the available total\MessageBreak - (Which is: \the\@tempdimb). Please press X and try again. - }% - \fi - \oddsidemargin \@tempdima - \evensidemargin \@tempdima -% \end{macrocode} -% These calculations are a lot easier. -% |\textheight| should have been set already. This does not check for the -% correct placement of the identification line!! -% \begin{macrocode} - \setlength\@tempdima{\paperheight} - \addtolength\@tempdima{-\footskip} - \addtolength\@tempdima{-\headheight} - \addtolength\@tempdima{-\headsep} - \setlength\@tempdimb{\@tempdima} - \addtolength\@tempdima{-\textheight} - \divide\@tempdima by 2 - \ifdim \@tempdima <2pc - \advance\@tempdimb by -4pc - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Invalid sizes given}{}{You - made your \string\textheight\space (\the\textheight) - more than the available total.\MessageBreak - (Which is: \the\@tempdimb). Please press X and try again. - }% - \fi - \setlength\topmargin{\@tempdima} - \setlength\id@boxheight{\@tempdima} - \advance\id@boxheight by -2pc -} -% \end{macrocode} -% -% \begin{macrocode} -\setlength\footnotesep{6.65\p@} -\setlength{\skip\footins}{9\p@ \@plus 4\p@ \@minus 2\p@} -% \end{macrocode} -% \subsection{Lists} -% List default values -% \begin{macrocode} -\setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@} -\setlength{\leftmargini}{2em} -\setlength{\leftmarginii}{2.2em} -\setlength{\leftmarginiii}{1.87em} -\setlength{\leftmarginiv}{1.7em} -\setlength{\leftmarginv}{1em} -\setlength{\leftmarginvi}{1em} -\setlength{\labelsep}{.4em} -\setlength{\labelwidth}{\leftmargini} -\addtolength{\labelwidth}{-\labelsep} -% \end{macrocode} -% Note that lists below level 3 do nothing else then readjusting the -% |\labelwidth|. This results in very small labels for the inner lists. -% \begin{macrocode} -\def\@listI{% - \leftmargin \leftmargini - \topsep 9\p@ \@plus 3\p@ \@minus 5\p@ - \partopsep 3\p@ \@plus 1\p@ \@minus 2\p@ - \itemsep 4.5\p@ \@plus 2\p@ \@minus 1\p@ - \parsep 4.5\p@ \@plus 2\p@ \@minus 1\p@ } -\def\@listii{% - \leftmargin \leftmarginii - \labelwidth \leftmarginii - \advance\labelwidth by -\labelsep - \topsep 4.5\p@ \@plus 2\p@ \@minus 1\p@ - \parsep 2\p@ \@plus 1\p@ \@minus 1\p@ - \itemsep \parsep} -\def\@listiii{% - \leftmargin \leftmarginiii - \labelwidth \leftmarginiii - \advance\labelwidth by -\labelsep - \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ - \parsep \z@ - \partopsep 1\p@ \@plus 0\p@ \@minus 1\p@ - \itemsep \topsep} -\def\@listiv{% - \setlength{\leftmargin}{\leftmarginiv}% - \setlength{\labelwidth}{\leftmarginiv}% - \addtolength{\labelwidth}{-\labelsep}} -\def\@listv{% - \setlength{\leftmargin}{\leftmarginv}% - \setlength{\labelwidth}{\leftmarginv}% - \addtolength{\labelwidth}{-\labelsep}} -\def\@listvi{% - \setlength{\leftmargin}{\leftmarginvi}% - \setlength{\labelwidth}{\leftmarginvi}% - \addtolength{\labelwidth}{-\labelsep}} -\let\@listi\@listI -\@listi -% \end{macrocode} -% \subsection{Float separation parameters} -% Separation on text pages. -% \begin{macrocode} -\setlength\floatsep{12\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} -\setlength\intextsep{12\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\dblfloatsep{12\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} -% \end{macrocode} -% Separation on float pages -% \begin{macrocode} -\setlength\@fptop{0\p@ \@plus 1fil} -\setlength\@fpsep{8\p@ \@plus 2fil} -\setlength\@fpbot{0\p@ \@plus 1fil} -\setlength\@dblfptop{0\p@ \@plus 1fil} -\setlength\@dblfpsep{8\p@ \@plus 2fil} -\setlength\@dblfpbot{0\p@ \@plus 1fil} - -\endinput -% \end{macrocode} -%\PrintIndex -%\end{document} -%% End of file `klut10.clo'. - diff --git a/helm/papers/matita/klut11.clo b/helm/papers/matita/klut11.clo deleted file mode 100644 index 3293907b9..000000000 --- a/helm/papers/matita/klut11.clo +++ /dev/null @@ -1,253 +0,0 @@ -% -% -\ifcat a\noexpand @\let\next\relax\else \def\next{% -\documentclass[11pt]{kluwer}\usepackage{doc}\MakePercentIgnore}\fi\next -\NeedsTeXFormat{LaTeX2e} -\def\filedate{1998/02/11} -\def\filename{klut11.clo} -%\DoNotIndex{\@M,\def,\c@secnumdepth,\baselineskip,\p@,\else,\fi} -%\DoNotIndex{\newcommand,\z@,\relax,\renewcommand,\ifnum,\csname,\endcsname} -%\DoNotIndex{\baselineskip,\vskip,\hskip,\relax,\secdef,\refstepcounter} -%\DoNotIndex{\setlength,\@plus,\@minus,\protect,\endinput} -%\CodelineIndex -%\newcommand{\Bs}{} -%\parindent=0pt -%\parskip=3pt -%\setlength\marginparwidth{.5in} -%\hfuzz=11pt -%\MakeShortVerb{\|} -%\addtolength{\textwidth}{4pc} -%\begin{document} -%\begin{opening} -%\title{\filename} -%\date{\filedate} -%\author{Kluwer Academic Publishers\surname{}} -%\institute{~} -%\begin{abstract} -% This internal file takes care of list definitions and `general' -% point size options. This is a the `tight' file. -%\end{abstract} -%\end{opening} -%\tableofcontents -%\newpage\section{Implementation} -% \begin{macrocode} -\ProvidesFile{klut11.clo}[\filedate ] -% \end{macrocode} -% \subsection{Section size commands} -% added command: |\little|. This between |\scriptsize| and -% |\tiny|. Allowed type provided values: 6/7, 7/8, 8/9, 9/10.5, -% 10/11.5, 11/12.5, 12/14, 14/18, 17/22, 20/25, 25/30. -% \begin{macrocode} -\renewcommand\normalsize{% - \@setfontsize\normalsize\@xipt{12.5}% - \abovedisplayskip 10\p@ \@plus 2\p@ \@minus5\p@ - \abovedisplayshortskip \z@ \@plus 3\p@ - \belowdisplayshortskip 6\p@ \@plus 3\p@ \@minus3\p@ - \belowdisplayskip \abovedisplayskip - \let\@listi\@listI} -\normalsize -\newcommand\small{% - \@setfontsize\small\@xpt{11.5}% - \abovedisplayskip 9\p@ \@plus3\p@ \@minus4\p@ - \abovedisplayshortskip \z@ \@plus2\p@ - \belowdisplayshortskip 5\p@ \@plus2\p@ \@minus2\p@ - \def\@listi{\leftmargin\leftmargini - \topsep 4\p@ \@plus2\p@ \@minus2\p@ - \parsep 2\p@ \@plus\p@ \@minus\p@ - \itemsep \parsep}% - \belowdisplayskip \abovedisplayskip -} -\newcommand\footnotesize{% - \@setfontsize\footnotesize\@ixpt{10.5}% - \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@ - \abovedisplayshortskip \z@ \@plus\p@ - \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ - \def\@listi{\leftmargin\leftmargini - \topsep 3\p@ \@plus\p@ \@minus\p@ - \parsep 2\p@ \@plus\p@ \@minus\p@ - \itemsep \parsep}% - \belowdisplayskip \abovedisplayskip -} -\newcommand\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}} -\newcommand\little{\@setfontsize\little\@viipt\@viiipt} -\newcommand\tiny{\@setfontsize\tiny\@vipt\@viipt} -\newcommand\large{\@setfontsize\large\@xiipt{14}} -\newcommand\Large{\@setfontsize\Large\@xivpt{18}} -\newcommand\LARGE{\@setfontsize\LARGE\@xviipt{22}} -\newcommand\huge{\@setfontsize\huge\@xxpt{25}} -\newcommand\Huge{\@setfontsize\Huge\@xxvpt{30}} -% \end{macrocode} -% \subsection{Various values} -% Note that |\hoffset| and |\voffset| are both compensated. This makes -% the calculations below easier. -% \begin{macrocode} -\setlength\hoffset{-1in} -\setlength\voffset{-1in} -\setlength\parindent {14\p@} -\setlength\headheight{12\p@} -\setlength\headsep {12\p@} -\setlength\topskip {10\p@} -\setlength\footskip {27.5\p@} -\setlength\marginparsep{10pt} -\setlength\marginparpush{5\p@} -\setlength\maxdepth {.5\topskip} -\setlength\@maxdepth\maxdepth -\setlength\columnsep{10pt} -\setlength\columnseprule{0pt} -\setlength\fboxsep{3pt} -\setlength\fboxrule{.4pt} -% \end{macrocode} -% \subsection{Textheight and textwidth} -% These are the main reason for the existence of these files. For some -% stupid reason, \LaTeX\ calculates textwidth out of |\paperwidth|. We -% did want to support letter paper, but our |\textwidth| is fixed, -% with the margins being calculated. -% -% Presume |\textwidth| and |\marginparwidth| are set in the stylefile, -% or we're in trouble. The |2pc| value is used to -% compensate for the `dead' corners in most laserprinters. -% -% Calculations are done `AtBeginDocument' to allow changes made in the -% preamble and later on in the stylefile. -% \begin{macrocode} -\newdimen\id@boxheight -\AtBeginDocument{% - \setlength\@tempdima{\paperwidth}% - \addtolength\@tempdima{-\textwidth}% - \divide\@tempdima by 2 - \setlength\@tempdimb\marginparwidth - \addtolength\@tempdimb\marginparsep - \addtolength\@tempdimb{2pc}% - \ifdim \@tempdima <\@tempdimb - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Marginpars disabled}{}{You made - your \string\textwidth\space (\the\textwidth) and - \string\marginparwidth (\the\marginparwidth) too wide.\MessageBreak - The allowed value for margin space: (\the\@tempdima). Needed value: - (\the\@tempdimb).\MessageBreak - This is not enough, - so I will set \string\marginparwidth\space to 0pt.\MessageBreak - Let's hope that fixes it. - }% - \marginparwidth \z@ - \marginparsep \z@ - \fi - \ifdim \@tempdima <2pc - \@tempdimb=\paperwidth - \advance\@tempdimb by -4pc - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Invalid sizes given}{}{You - made your \string\textwidth\space (\the\textwidth) - wider than the available total\MessageBreak - (Which is: \the\@tempdimb). Please press X and try again. - }% - \fi - \oddsidemargin \@tempdima - \evensidemargin \@tempdima -% \end{macrocode} -% These calculations are a lot easier. -% |\textheight| should have been set already. This does not check for the -% correct placement of the identification line!! -% \begin{macrocode} - \setlength\@tempdima{\paperheight} - \addtolength\@tempdima{-\footskip} - \addtolength\@tempdima{-\headheight} - \addtolength\@tempdima{-\headsep} - \setlength\@tempdimb{\@tempdima} - \addtolength\@tempdima{-\textheight} - \divide\@tempdima by 2 - \ifdim \@tempdima <2pc - \advance\@tempdimb by -4pc - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Invalid sizes given}{}{You - made your \string\textheight\space (\the\textheight) - more than the available total.\MessageBreak - (Which is: \the\@tempdimb). Please press X and try again. - }% - \fi - \setlength\topmargin{\@tempdima} - \setlength\id@boxheight{\@tempdima} - \advance\id@boxheight by -2pc -} -% \end{macrocode} -% -% \begin{macrocode} -\setlength\footnotesep{6.65\p@} -\setlength{\skip\footins}{9\p@ \@plus 4\p@ \@minus 2\p@} -% \end{macrocode} -% \subsection{Lists} -% List default values -% \begin{macrocode} -\setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@} -\setlength{\leftmargini}{2em} -\setlength{\leftmarginii}{2.2em} -\setlength{\leftmarginiii}{1.87em} -\setlength{\leftmarginiv}{1.7em} -\setlength{\leftmarginv}{1em} -\setlength{\leftmarginvi}{1em} -\setlength{\labelsep}{.4em} -\setlength{\labelwidth}{\leftmargini} -\addtolength{\labelwidth}{-\labelsep} -% \end{macrocode} -% Note that lists below level 3 do nothing else then readjusting the -% |\labelwidth|. This results in very small labels for the inner lists. -% \begin{macrocode} -\def\@listI{% - \leftmargin \leftmargini - \topsep 9\p@ \@plus 3\p@ \@minus 5\p@ - \partopsep 3\p@ \@plus 1\p@ \@minus 2\p@ - \itemsep 4.5\p@ \@plus 2\p@ \@minus 1\p@ - \parsep 4.5\p@ \@plus 2\p@ \@minus 1\p@ } -\def\@listii{% - \leftmargin \leftmarginii - \labelwidth \leftmarginii - \advance\labelwidth by -\labelsep - \topsep 4.5\p@ \@plus 2\p@ \@minus 1\p@ - \parsep 2\p@ \@plus 1\p@ \@minus 1\p@ - \itemsep \parsep} -\def\@listiii{% - \leftmargin \leftmarginiii - \labelwidth \leftmarginiii - \advance\labelwidth by -\labelsep - \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ - \parsep \z@ - \partopsep 1\p@ \@plus 0\p@ \@minus 1\p@ - \itemsep \topsep} -\def\@listiv{% - \setlength{\leftmargin}{\leftmarginiv}% - \setlength{\labelwidth}{\leftmarginiv}% - \addtolength{\labelwidth}{-\labelsep}} -\def\@listv{% - \setlength{\leftmargin}{\leftmarginv}% - \setlength{\labelwidth}{\leftmarginv}% - \addtolength{\labelwidth}{-\labelsep}} -\def\@listvi{% - \setlength{\leftmargin}{\leftmarginvi}% - \setlength{\labelwidth}{\leftmarginvi}% - \addtolength{\labelwidth}{-\labelsep}} -\let\@listi\@listI -\@listi -% \end{macrocode} -% \subsection{Float separation parameters} -% Separation on text pages. -% \begin{macrocode} -\setlength\floatsep{12\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} -\setlength\intextsep{12\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\dblfloatsep{12\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} -% \end{macrocode} -% Separation on float pages -% \begin{macrocode} -\setlength\@fptop{0\p@ \@plus 1fil} -\setlength\@fpsep{8\p@ \@plus 2fil} -\setlength\@fpbot{0\p@ \@plus 1fil} -\setlength\@dblfptop{0\p@ \@plus 1fil} -\setlength\@dblfpsep{8\p@ \@plus 2fil} -\setlength\@dblfpbot{0\p@ \@plus 1fil} - -\endinput -% \end{macrocode} -%\PrintIndex -%\end{document} -%% End of file `klu10.clo'. diff --git a/helm/papers/matita/klut12.clo b/helm/papers/matita/klut12.clo deleted file mode 100644 index 17fd0f228..000000000 --- a/helm/papers/matita/klut12.clo +++ /dev/null @@ -1,253 +0,0 @@ -% -% -\ifcat a\noexpand @\let\next\relax\else \def\next{% -\documentclass[12pt]{kluwer}\usepackage{doc}\MakePercentIgnore}\fi\next -\NeedsTeXFormat{LaTeX2e} -\def\filedate{1998/02/11} -\def\filename{klut12.clo} -%\DoNotIndex{\@M,\def,\c@secnumdepth,\baselineskip,\p@,\else,\fi} -%\DoNotIndex{\newcommand,\z@,\relax,\renewcommand,\ifnum,\csname,\endcsname} -%\DoNotIndex{\baselineskip,\vskip,\hskip,\relax,\secdef,\refstepcounter} -%\DoNotIndex{\setlength,\@plus,\@minus,\protect,\endinput} -%\CodelineIndex -%\newcommand{\Bs}{} -%\parindent=0pt -%\parskip=3pt -%\hfuzz=10pt -%\MakeShortVerb{\|} -%\setlength\marginparwidth{0in} -%\addtolength{\textwidth}{8pc} -%\begin{document} -%\begin{opening} -%\title{\filename} -%\date{\filedate} -%\author{Kluwer Academic Publishers\surname{}} -%\institute{~} -%\begin{abstract} -% This internal file takes care of list definitions and `general' -% point size options. This is a tight version. -%\end{abstract} -%\end{opening} -%\tableofcontents -%\newpage\section{Implementation} -% \begin{macrocode} -\ProvidesFile{klut12.clo}[\filedate ] -% \end{macrocode} -% \subsection{Section size commands} -% added command: |\little|. This between |\scriptsize| and -% |\tiny|. Allowed type provided values: 6/7, 8/9, 9/10.5, -% 10/11.5, 11/12.5 12/13.5, 14/18, 17/22, 20/25, 25/30. -% \begin{macrocode} -\renewcommand\normalsize{% - \@setfontsize\normalsize\@xiipt{13.5}% - \abovedisplayskip 11\p@ \@plus 2\p@ \@minus5\p@ - \abovedisplayshortskip 1\p@ \@plus 3\p@ - \belowdisplayshortskip 7\p@ \@plus 3\p@ \@minus3\p@ - \belowdisplayskip \abovedisplayskip - \let\@listi\@listI} -\normalsize -\newcommand\small{% - \@setfontsize\small\@xipt{12.5}% - \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@ - \abovedisplayshortskip \z@ \@plus2\p@ - \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ - \def\@listi{\leftmargin\leftmargini - \topsep 4\p@ \@plus2\p@ \@minus2\p@ - \parsep 2\p@ \@plus\p@ \@minus\p@ - \itemsep \parsep}% - \belowdisplayskip \abovedisplayskip -} -\newcommand\footnotesize{% - \@setfontsize\footnotesize\@xpt{11.5}% - \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@ - \abovedisplayshortskip \z@ \@plus\p@ - \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ - \def\@listi{\leftmargin\leftmargini - \topsep 3\p@ \@plus\p@ \@minus\p@ - \parsep 2\p@ \@plus\p@ \@minus\p@ - \itemsep \parsep}% - \belowdisplayskip \abovedisplayskip -} -\newcommand\scriptsize{\@setfontsize\scriptsize\@ixpt{10.5}} -\newcommand\little{\@setfontsize\little\@viiipt{9}} -\newcommand\tiny{\@setfontsize\tiny\@vipt\@viipt} -\newcommand\large{\@setfontsize\large\@xivpt{18}} -\newcommand\Large{\@setfontsize\Large\@xviipt{22}} -\newcommand\LARGE{\@setfontsize\LARGE\@xxpt{25}} -\newcommand\huge{\@setfontsize\huge\@xxvpt{30}} -\newcommand\Huge{\@setfontsize\Huge\@xxvpt{30}} -% \end{macrocode} -% \subsection{Various values} -% Note that |\hoffset| and |\voffset| are both compensated. This makes -% the calculations below easier. -% \begin{macrocode} -\setlength\hoffset{-1in} -\setlength\voffset{-1in} -\setlength\parindent {14\p@} -\setlength\headheight{12\p@} -\setlength\headsep {12\p@} -\setlength\topskip {10\p@} -\setlength\footskip {27.5\p@} -\setlength\marginparsep{10pt} -\setlength\marginparpush{5\p@} -\setlength\maxdepth {.5\topskip} -\setlength\@maxdepth\maxdepth -\setlength\columnsep{12pt} -\setlength\columnseprule{0pt} -\setlength\fboxsep{3pt} -\setlength\fboxrule{.4pt} -% \end{macrocode} -% \subsection{Textheight and textwidth} -% These are the main reason for the existence of these files. For some -% stupid reason, \LaTeX\ calculates textwidth out of |\paperwidth|. We -% did want to support letter paper, but our |\textwidth| is fixed, -% with the margins being calculated. -% -% Presume |\textwidth| and |\marginparwidth| are set in the stylefile, -% or we're in trouble. The |2pc| value is used to -% compensate for the `dead' corners in most laserprinters. -% -% Calculations are done `AtBeginDocument' to allow changes made in the -% preamble and later on in the stylefile. -% \begin{macrocode} -\newdimen\id@boxheight -\AtBeginDocument{% - \setlength\@tempdima{\paperwidth}% - \addtolength\@tempdima{-\textwidth}% - \divide\@tempdima by 2 - \setlength\@tempdimb\marginparwidth - \addtolength\@tempdimb\marginparsep - \addtolength\@tempdimb{2pc}% - \ifdim \@tempdima <\@tempdimb - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Marginpars disabled}{}{You made - your \string\textwidth\space (\the\textwidth) and - \string\marginparwidth (\the\marginparwidth) too wide.\MessageBreak - The allowed value for margin space: (\the\@tempdima). Needed value: - (\the\@tempdimb).\MessageBreak - This is not enough, - so I will set \string\marginparwidth\space to 0pt.\MessageBreak - Let's hope that fixes it. - }% - \marginparwidth \z@ - \marginparsep \z@ - \fi - \ifdim \@tempdima <2pc - \@tempdimb=\paperwidth - \advance\@tempdimb by -4pc - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Invalid sizes given}{}{You - made your \string\textwidth\space (\the\textwidth) - wider than the available total\MessageBreak - (Which is: \the\@tempdimb). Please press X and try again. - }% - \fi - \oddsidemargin \@tempdima - \evensidemargin \@tempdima -% \end{macrocode} -% These calculations are a lot easier. -% |\textheight| should have been set already. This does not check for the -% correct placement of the identification line!! -% \begin{macrocode} - \setlength\@tempdima{\paperheight} - \addtolength\@tempdima{-\footskip} - \addtolength\@tempdima{-\headheight} - \addtolength\@tempdima{-\headsep} - \setlength\@tempdimb{\@tempdima} - \addtolength\@tempdima{-\textheight} - \divide\@tempdima by 2 - \ifdim \@tempdima <2pc - \advance\@tempdimb by -4pc - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Invalid sizes given}{}{You - made your \string\textheight\space (\the\textheight) - more than the available total.\MessageBreak - (Which is: \the\@tempdimb). Please press X and try again. - }% - \fi - \setlength\topmargin{\@tempdima} - \setlength\id@boxheight{\@tempdima} - \advance\id@boxheight by -2pc -} -% \end{macrocode} -% -% \begin{macrocode} -\setlength\footnotesep{6.65\p@} -\setlength{\skip\footins}{12\p@ \@plus 4\p@ \@minus 2\p@} -% \end{macrocode} -% \subsection{Lists} -% List default values -% \begin{macrocode} -\setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@} -\setlength{\leftmargini}{2em} -\setlength{\leftmarginii}{2.2em} -\setlength{\leftmarginiii}{1.87em} -\setlength{\leftmarginiv}{1.7em} -\setlength{\leftmarginv}{1em} -\setlength{\leftmarginvi}{1em} -\setlength{\labelsep}{.4em} -\setlength{\labelwidth}{\leftmargini} -\addtolength{\labelwidth}{-\labelsep} -% \end{macrocode} -% Note that lists below level 3 do nothing else then readjusting the -% |\labelwidth|. This results in very small labels for the inner lists. -% \begin{macrocode} -\def\@listI{% - \leftmargin \leftmargini - \topsep 11\p@ \@plus 3\p@ \@minus 5\p@ - \partopsep 4.5\p@ \@plus 1\p@ \@minus 2\p@ - \itemsep 6\p@ \@plus 2\p@ \@minus 1\p@ - \parsep 6\p@ \@plus 2\p@ \@minus 1\p@ } -\def\@listii{% - \leftmargin \leftmarginii - \labelwidth \leftmarginii - \advance\labelwidth by -\labelsep - \topsep 6\p@ \@plus 2\p@ \@minus 1\p@ - \parsep 3\p@ \@plus 1\p@ \@minus 1\p@ - \itemsep \parsep} -\def\@listiii{% - \leftmargin \leftmarginiii - \labelwidth \leftmarginiii - \advance\labelwidth by -\labelsep - \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ - \parsep \z@ - \partopsep 1\p@ \@plus 0\p@ \@minus 1\p@ - \itemsep \topsep} -\def\@listiv{% - \setlength{\leftmargin}{\leftmarginiv}% - \setlength{\labelwidth}{\leftmarginiv}% - \addtolength{\labelwidth}{-\labelsep}} -\def\@listv{% - \setlength{\leftmargin}{\leftmarginv}% - \setlength{\labelwidth}{\leftmarginv}% - \addtolength{\labelwidth}{-\labelsep}} -\def\@listvi{% - \setlength{\leftmargin}{\leftmarginvi}% - \setlength{\labelwidth}{\leftmarginvi}% - \addtolength{\labelwidth}{-\labelsep}} -\let\@listi\@listI -\@listi -% \end{macrocode} -% \subsection{Float separation parameters} -% Separation on text pages. -% \begin{macrocode} -\setlength\floatsep{12\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\textfloatsep{24\p@ \@plus 2\p@ \@minus 4\p@} -\setlength\intextsep{12\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\dblfloatsep{12\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\dbltextfloatsep{24\p@ \@plus 2\p@ \@minus 4\p@} -% \end{macrocode} -% Separation on float pages -% \begin{macrocode} -\setlength\@fptop{0\p@ \@plus 1fil} -\setlength\@fpsep{10\p@ \@plus 2fil} -\setlength\@fpbot{0\p@ \@plus 1fil} -\setlength\@dblfptop{0\p@ \@plus 1fil} -\setlength\@dblfpsep{10\p@ \@plus 2fil} -\setlength\@dblfpbot{0\p@ \@plus 1fil} - -\endinput -% \end{macrocode} -%\PrintIndex -%\end{document} -%% End of file `klut12.clo'. diff --git a/helm/papers/matita/klut9.clo b/helm/papers/matita/klut9.clo deleted file mode 100644 index 8f7a587f2..000000000 --- a/helm/papers/matita/klut9.clo +++ /dev/null @@ -1,253 +0,0 @@ -% -% -\ifcat a\noexpand @\let\next\relax\else \def\next{% -\documentclass[9pt]{kluwer}\usepackage{doc}\MakePercentIgnore}\fi\next -\NeedsTeXFormat{LaTeX2e} -\def\filedate{1998/02/11} -\def\filename{klut9.clo} -%\DoNotIndex{\@M,\def,\c@secnumdepth,\baselineskip,\p@,\else,\fi} -%\DoNotIndex{\newcommand,\z@,\relax,\renewcommand,\ifnum,\csname,\endcsname} -%\DoNotIndex{\baselineskip,\vskip,\hskip,\relax,\secdef,\refstepcounter} -%\DoNotIndex{\setlength,\@plus,\@minus,\protect,\endinput} -%\CodelineIndex -%\newcommand{\Bs}{} -%\parindent=0pt -%\parskip=3pt -%\setlength\marginparwidth{0in} -%\hfuzz=10pt -%\MakeShortVerb{\|} -%\addtolength{\textwidth}{4pc} -%\begin{document} -%\begin{opening} -%\title{\filename} -%\date{\filedate} -%\author{Kluwer Academic Publishers\surname{}} -%\institute{~} -%\begin{abstract} -% This internal file takes care of list definitions and `general' -% point size options. This is a `tight' file. -%\end{abstract} -%\end{opening} -%\tableofcontents -%\newpage\section{Implementation} -% \begin{macrocode} -\ProvidesFile{klut9.clo}[\filedate ] -% \end{macrocode} -% \subsection{Section size commands} -% added command: |\little|. This is identical to |\tiny| here. -% Allowed type provided values: 5/6, 6/7, 7/8, 8/9, 9/10.5, -% 10/11.5, 11/13, 12/14, 14/18, 17/22, 20/25. -% \begin{macrocode} -\renewcommand\normalsize{% - \@setfontsize\normalsize\@ixpt{10.5}% - \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@ - \abovedisplayshortskip \z@ \@plus2\p@ - \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ - \belowdisplayskip \abovedisplayskip - \let\listi\@listI} -\normalsize -\newcommand\small{% - \@setfontsize\small\@viiipt{9}% - \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@ - \abovedisplayshortskip \z@ \@plus\p@ - \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ - \def\@listi{\leftmargin\leftmargini - \topsep 3\p@ \@plus\p@ \@minus\p@ - \parsep 2\p@ \@plus\p@ \@minus\p@ - \itemsep \parsep}% - \belowdisplayskip \abovedisplayskip -} -\newcommand\footnotesize{% - \@setfontsize\footnotesize\@viipt{8}% - \abovedisplayskip 4\p@ \@plus2\p@ \@minus2\p@ - \abovedisplayshortskip \z@ \@plus\p@ - \belowdisplayshortskip 2\p@ \@plus\p@ \@minus1\p@ - \def\@listi{\leftmargin\leftmargini - \topsep 2\p@ \@plus\p@ \@minus\p@ - \parsep 1\p@ \@plus\p@ \@minus\p@ - \itemsep \parsep}% - \belowdisplayskip \abovedisplayskip -} -\newcommand\scriptsize{\@setfontsize\scriptsize\@vipt\@viipt} -\newcommand\little{\@setfontsize\little\@vpt\@vipt} -\newcommand\tiny{\@setfontsize\tiny\@vpt\@vipt} -\newcommand\large{\@setfontsize\large\@xpt{11.5}} -\newcommand\Large{\@setfontsize\Large\@xiipt{14}} -\newcommand\LARGE{\@setfontsize\LARGE\@xivpt{18}} -\newcommand\huge{\@setfontsize\huge\@xviipt{22}} -\newcommand\Huge{\@setfontsize\Huge\@xxpt{25}} -% \end{macrocode} -% \subsection{Various values} -% Note that |\hoffset| and |\voffset| are both compensated. This makes -% the calculations below easier. -% \begin{macrocode} -\setlength\hoffset{-1in} -\setlength\voffset{-1in} -\setlength\parindent {14\p@} -\setlength\headheight{12\p@} -\setlength\headsep {12\p@} -\setlength\topskip {10\p@} -\setlength\footskip {25\p@} -\setlength\marginparsep{10pt} -\setlength\marginparpush{5\p@} -\setlength\maxdepth {.5\topskip} -\setlength\@maxdepth\maxdepth -\setlength\columnsep{10pt} -\setlength\columnseprule{0pt} -\setlength\fboxsep{3pt} -\setlength\fboxrule{.4pt} -% \end{macrocode} -% \subsection{Textheight and textwidth} -% These are the main reason for the existence of these files. For some -% stupid reason, \LaTeX\ calculates textwidth out of |\paperwidth|. We -% did want to support letter paper, but our |\textwidth| is fixed, -% with the margins being calculated. -% -% Presume |\textwidth| and |\marginparwidth| are set in the stylefile, -% or we're in trouble. The |2pc| value is used to -% compensate for the `dead' corners in most laserprinters. -% -% Calculations are done `AtBeginDocument' to allow changes made in the -% preamble and later on in the stylefile. -% \begin{macrocode} -\newdimen\id@boxheight -\AtBeginDocument{% - \setlength\@tempdima{\paperwidth}% - \addtolength\@tempdima{-\textwidth}% - \divide\@tempdima by 2 - \setlength\@tempdimb\marginparwidth - \addtolength\@tempdimb\marginparsep - \addtolength\@tempdimb{2pc}% - \ifdim \@tempdima <\@tempdimb - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Marginpars disabled}{}{You made - your \string\textwidth\space (\the\textwidth) and - \string\marginparwidth (\the\marginparwidth) too wide.\MessageBreak - The allowed value for margin space: (\the\@tempdima). Needed value: - (\the\@tempdimb).\MessageBreak - This is not enough, - so I will set \string\marginparwidth\space to 0pt.\MessageBreak - Let's hope that fixes it. - }% - \marginparwidth \z@ - \marginparsep \z@ - \fi - \ifdim \@tempdima <2pc - \@tempdimb=\paperwidth - \advance\@tempdimb by -4pc - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Invalid sizes given}{}{You - made your \string\textwidth\space (\the\textwidth) - wider than the available total\MessageBreak - (Which is: \the\@tempdimb). Please press X and try again. - }% - \fi - \oddsidemargin \@tempdima - \evensidemargin \@tempdima -% \end{macrocode} -% These calculations are a lot easier. -% |\textheight| should have been set already. This does not check for the -% correct placement of the identification line!! -% \begin{macrocode} - \setlength\@tempdima{\paperheight} - \addtolength\@tempdima{-\footskip} - \addtolength\@tempdima{-\headheight} - \addtolength\@tempdima{-\headsep} - \setlength\@tempdimb{\@tempdima} - \addtolength\@tempdima{-\textheight} - \divide\@tempdima by 2 - \ifdim \@tempdima <2pc - \advance\@tempdimb by -4pc - \@settopoint\@tempdimb - \GenericError{Pointsize}{Pointsize Error: Invalid sizes given}{}{You - made your \string\textheight\space (\the\textheight) - more than the available total.\MessageBreak - (Which is: \the\@tempdimb). Please press X and try again. - }% - \fi - \setlength\topmargin{\@tempdima} - \setlength\id@boxheight{\@tempdima} - \advance\id@boxheight by -2pc -} -% \end{macrocode} -% -% \begin{macrocode} -\setlength\footnotesep{6\p@} -\setlength{\skip\footins}{9\p@ \@plus 4\p@ \@minus 2\p@} -% \end{macrocode} -% \subsection{Lists} -% List default values -% \begin{macrocode} -\setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@} -\setlength{\leftmargini}{1.9em} -\setlength{\leftmarginii}{2em} -\setlength{\leftmarginiii}{1.7em} -\setlength{\leftmarginiv}{1.4em} -\setlength{\leftmarginv}{1em} -\setlength{\leftmarginvi}{1em} -\setlength{\labelsep}{.4em} -\setlength{\labelwidth}{\leftmargini} -\addtolength{\labelwidth}{-\labelsep} -% \end{macrocode} -% Note that lists below level 3 do nothing else then readjusting the -% |\labelwidth|. This results in very small labels for the inner lists. -% \begin{macrocode} -\def\@listI{% - \leftmargin \leftmargini - \topsep 8\p@ \@plus2\p@ \@minus2\p@ - \partopsep 2\p@ \@plus 1\p@ \@minus 1\p@ - \itemsep 4\p@ \@plus 2\p@ \@minus 1\p@ - \parsep 4\p@ \@plus 2\p@ \@minus 1\p@ } -\def\@listii{% - \leftmargin \leftmarginii - \labelwidth \leftmarginii - \advance\labelwidth by -\labelsep - \topsep 4.5\p@ \@plus 2\p@ \@minus 1\p@ - \parsep 2\p@ \@plus 1\p@ \@minus 1\p@ - \itemsep \parsep} -\def\@listiii{% - \leftmargin \leftmarginiii - \labelwidth \leftmarginiii - \advance\labelwidth by -\labelsep - \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ - \parsep \z@ - \partopsep 1\p@ \@plus 0\p@ \@minus 1\p@ - \itemsep \topsep} -\def\@listiv{% - \setlength{\leftmargin}{\leftmarginiv}% - \setlength{\labelwidth}{\leftmarginiv}% - \addtolength{\labelwidth}{-\labelsep}} -\def\@listv{% - \setlength{\leftmargin}{\leftmarginv}% - \setlength{\labelwidth}{\leftmarginv}% - \addtolength{\labelwidth}{-\labelsep}} -\def\@listvi{% - \setlength{\leftmargin}{\leftmarginvi}% - \setlength{\labelwidth}{\leftmarginvi}% - \addtolength{\labelwidth}{-\labelsep}} -\let\@listi\@listI -\@listi -% \end{macrocode} -% \subsection{Float separation parameters} -% Separation on text pages. -% \begin{macrocode} -\setlength\floatsep{10\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\textfloatsep{18\p@ \@plus 2\p@ \@minus 4\p@} -\setlength\intextsep{10\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\dblfloatsep{10\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\dbltextfloatsep{18\p@ \@plus 2\p@ \@minus 4\p@} -% \end{macrocode} -% Separation on float pages -% \begin{macrocode} -\setlength\@fptop{0\p@ \@plus 1fil} -\setlength\@fpsep{8\p@ \@plus 2fil} -\setlength\@fpbot{0\p@ \@plus 1fil} -\setlength\@dblfptop{0\p@ \@plus 1fil} -\setlength\@dblfpsep{8\p@ \@plus 2fil} -\setlength\@dblfpbot{0\p@ \@plus 1fil} - -\endinput -% \end{macrocode} -%\PrintIndex -%\end{document} -%% End of file `klu9.clo'. diff --git a/helm/papers/matita/klutab.sty b/helm/papers/matita/klutab.sty deleted file mode 100644 index f59dc11b3..000000000 --- a/helm/papers/matita/klutab.sty +++ /dev/null @@ -1,242 +0,0 @@ -% -% -\ifcat a\noexpand @\let\next\relax\else \def\next{% -\documentclass{kluwer}\usepackage{doc}\MakePercentIgnore}\fi\next -\def\filedate{1998/02/11} -\def\filename{klutab.sty} -%\DoNotIndex{\@M,\def,\c@secnumdepth,\baselineskip,\@pnumwidth,\else,\fi} -%\DoNotIndex{\newcommand,\z@,\relax,\renewcommand,\ifnum,\csname,\endcsname} -%\DoNotIndex{\baselineskip,\vskip,\hskip,\relax,\secdef,\gdef,\@cla,\@clb} -%\DoNotIndex{\normalsize,\protect,\global,\setbox,\hbox,\vbox,\endinput} -%\DoNotIndex{\egroup,\endgroup,\bgroup,\begingroup,\let} -%\CodelineIndex -%\changes{1997/02/12}{TH: Inserted definition of `array' to accomodate `hline'.} -%\newcommand{\Bs}{$\backslash$} -%\parindent=0pt -%\parskip=3pt -%\hfuzz=10pt -%\MakeShortVerb{\|} -%\setlength{\marginparwidth}{0in} -%\addtolength{\textwidth}{4pc} -%\begin{document} -%\begin{opening} -%\title{\filename} -%\date{\filedate} -%\author{Kluwer Academic Publishers\surname{}} -%\institute{~} -%\begin{abstract} -% This internal stylefile takes care of tabulars. -%\end{abstract} -%\end{opening} -%\tableofcontents -%\section{Usage} -% -% All of this is quite simple code. What happens -% is that some extra lines for use in tabulars are defined and -% included in the original definition of |tabular| and -% |tabular*|. These have a bit of extra vertical space which breaks -% the use of vertical rules in tabular's, which is why the old -% definitions are saved as |TABULAR| and |TABULAR*|. -% -% There are some variations on |\cline|. I moved internal commands out of the -% definition of |tabular| so they could be used in |tabular*| easily. \\[6pt] -% |\rcline| == hbox 3pt to the left\\ -% |\lcline| == hbox 3pt to the right\\ -% |\lrcline| == both \\ -% |\rlcline| == |\lrcline| (to provide symmetry) -% -% All of the environments have -% been changed so that they also set the value of |\@tabwidth|, which -% is needed by |klufloa.sty|. -% -% |tabular*| has been adjusted to flush out the excess space over all -% columns instead of to the right of the last one. This is controlled -% by the value of |\stretchtabsep|, whose default value equals |\hfil| -% -%\newpage\section{Implementation} -% \begin{macrocode} -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{klutab}[\filedate ] -% \end{macrocode} -% \subsection{Tabular} -% First some needed values. The `array' things may not belong here, -% but is also not save to put them somewhere else. After all, \LaTeX\ -% seems to think this is correct. -% \begin{macrocode} -\arraycolsep 6pt -\tabcolsep 6pt -\arrayrulewidth .4pt -\doublerulesep 2pt -% \end{macrocode} -% -% Internal versions of the rules check whether first arg $>1$, and assign -% |\@tabklu@tmpa| accordingly. Next, execute |\@tabklu@tmpa| and -% unskip vertical width of rule. (All three are similar) -% \begin{macrocode} -\def\@rcline[#1-#2]{% - \noalign{% - \global\@cla #1\relax - \global\advance\@cla\m@ne - \ifnum\@cla >0 - \global\let\@tabklu@tmpa\@rclinea - \else - \global\let\@tabklu@tmpa\@rclineb - \fi - \global\@clb #2\relax - \global\advance\@clb-\@cla }% - \@tabklu@tmpa - \noalign{\vskip-\arrayrulewidth}% - }% -\def\@rclinea{% - \multispan\@cla&\multispan\@clb - \hbox to 3pt{\hfil }% - \unskip - \leaders\hrule \@height \arrayrulewidth\hfill - \cr}% -\def\@rclineb{% - \multispan\@clb - \hbox to 3pt{\hfil }% - \unskip - \leaders\hrule \@height \arrayrulewidth\hfill - \cr}% -\def\@lcline[#1-#2]{% - \noalign{% - \global\@cla #1\relax - \global\advance\@cla\m@ne - \ifnum\@cla >0 - \global\let\@tabklu@tmpa\@lclinea - \else - \global\let\@tabklu@tmpa\@lclineb - \fi - \global\@clb #2\relax - \global\advance\@clb-\@cla - }\@tabklu@tmpa - \noalign{\vskip-\arrayrulewidth}% -}% -\def\@lclinea{% - \multispan\@cla&\multispan\@clb - \unskip - \leaders\hrule \@height \arrayrulewidth\hfill - \hbox to 3pt{\hfil }\cr}% -\def\@lclineb{% - \multispan\@clb - \unskip - \leaders\hrule \@height \arrayrulewidth\hfill - \hbox to 3pt{\hfil }\cr}% -\def\@lrcline[#1-#2]{% - \noalign{% - \global\@cla #1\relax - \global\advance\@cla\m@ne - \ifnum\@cla>0 - \global \let\@tabklu@tmpa\@lrclinea - \else - \global \let\@tabklu@tmpa\@lrclineb - \fi - \global \@clb #2\relax - \global \advance\@clb-\@cla - }% - \@tabklu@tmpa - \noalign{\vskip -\arrayrulewidth}% - }% -\def\@lrclinea{% - \multispan\@cla&\multispan\@clb - \hbox to 3pt{\hfil }% - \unskip\leaders\hrule \@height \arrayrulewidth\hfill - \hbox to 3pt{\hfil }% - \cr}% -\def\@lrclineb{% - \multispan\@clb - \hbox to 3pt{\hfil }% - \unskip\leaders\hrule \@height \arrayrulewidth\hfill - \hbox to 3pt{\hfil }% - \cr}% -% \end{macrocode} -% This is used for |tabular*| -% \begin{macrocode} -\newlength\stretchtabsep -\setlength\stretchtabsep{0pt plus 1fil} -% \end{macrocode} -% |\hline| has been redefined to provide some extra vertical -% space. Unforunately, we could not do the same for |\cline| and -% friend, because there can be more than one in one row. The old value -% of |\hline| is saved in |\savehline| in case you need it. -% -% |\arraystretch| is left to it's default value, but we did want extra -% spacing, so |\strut| is redefined (indirectly) to give some. -% -% And then, the entire tabular is saved in a |\hbox| so we can measure -% it up later. (See above for why we need to know this). There is a -% grouping level added to stop definitions from running away, but -% maybe this isn't needed. Not sure. -% \begin{macrocode} -\let\savehline\hline -\def\tabular{\begingroup - \def\hline{\noalign{\vskip3pt}\savehline\noalign{\vskip3pt}}% - \def\rcline##1{\@rcline[##1]}% - \def\lcline##1{\@lcline[##1]}% - \def\lrcline##1{\@lrcline[##1]}% - \let\rlcline=\lrcline - \setbox\strutbox\hbox{\vrule height.8\baselineskip - depth.4\baselineskip width\z@}% - \setbox0=\hbox\bgroup\def\@halignto{}\@tabular}% -% \end{macrocode} -% |\endtabular| is quite straightforward. -% \begin{macrocode} -\def\endtabular{\crcr\egroup\egroup $\egroup - \egroup \tabwidth{\wd0}\unhbox0 \endgroup}% -% \end{macrocode} -% -% Apparently we need to restore the definition of |\hline| -% inside of array's. This is just a quick hack that 'fixes' -% the problem. -% \begin{macrocode} -\let\klu@intarray\array -\let\klu@intendarray\endarray -\def\array{\begingroup \let\hline\savehline \klu@intarray } -\def\endarray{\klu@intendarray \endgroup} -% \end{macrocode} -% -% |tabular*| follows the same rules, except for redefining -% |\@tabacol| to insert a |\hfil| value for |\tabskip| in the first -% preamble-entry (and all following, but these don't count), -% thereby stretching out all intercolumn space instead -% of just the last (\LaTeX\ standard behaviour). -% \begin{macrocode} -\@namedef{tabular*}#1{% - \begingroup - \let\savehline\hline - \def\hline{\noalign{\vskip3pt}\savehline\noalign{\vskip3pt}}% - \def\rcline##1{\@rcline[##1]}% - \def\lcline##1{\@lcline[##1]}% - \def\lrcline##1{\@lrcline[##1]}% - \let\rlcline=\lrcline - \setbox\strutbox\hbox{\vrule height.8\baselineskip - depth.4\baselineskip width\z@}% - \setbox0=\hbox\bgroup\def\@halignto{to #1}% - \def\@tabacol{\edef\@preamble{\@preamble - \tabskip \stretchtabsep \hskip \tabcolsep}}\@tabular} -\@namedef{endtabular*}{\endtabular} -% -% \end{macrocode} -% \subsection{TABULAR} -% This is just ordinary \LaTeX\ tabular, apart from the |\hbox|. -% \begin{macrocode} -\def\TABULAR{% - \let\savehline\hline %compatibility - \let\rcline\cline \let\lcline\cline - \let\lrcline\cline \let\rlcline\cline - \setbox0=\hbox\bgroup\def\@halignto{}\@tabular}% -\def\endTABULAR{\crcr\egroup\egroup $\egroup - \egroup \tabwidth{\wd0}\unhbox0 }% -\@namedef{TABULAR*}#1{% - \let\savehline\hline %compatibility - \let\rcline\cline \let\lcline\cline - \let\lrcline\cline \let\rlcline\cline - \setbox0=\hbox\bgroup\def\@halignto{to #1}\@tabular}% -\@namedef{endTABULAR*}{\endtabular} -\endinput -% \end{macrocode} -%\def\IndexParms{\hbadness=10000} -%\PrintIndex -%\end{document} -% end of klutab.sty diff --git a/helm/papers/matita/kluwer.cls b/helm/papers/matita/kluwer.cls deleted file mode 100644 index 2ebcc17c6..000000000 --- a/helm/papers/matita/kluwer.cls +++ /dev/null @@ -1,122 +0,0 @@ -% -% This class file (c) Kluwer Academic Publishers. -% You are free to use this class file as you see fit, provided -% that you do not make changes to the included macro files. -% If you DO make changes, you are required to rename the files. -% -\def\filedate{1998/02/11} -\def\kluclassname{kluwer} -\def\kluclassversion{1.1} -\def\klujnlname{none} -\NeedsTeXFormat{LaTeX2e} -\ProvidesClass{kluwer}[\filedate\space \kluclassversion\space - Kluwer base document class] -\newcommand\@ptsize{} -\newcommand\@pttensize{1} -\newif\if@restonecol -\newif\if@openright -\DeclareOption{noid}{\PassOptionsToPackage{\CurrentOption}{kluedit}} -\DeclareOption{namedreferences}{\PassOptionsToPackage{\CurrentOption}{kluref}} -\DeclareOption{numreferences}{\PassOptionsToPackage{\CurrentOption}{kluref}} -\DeclareOption{openbib}{\PassOptionsToPackage{\CurrentOption}{kluref}} -\DeclareOption{thms}{\PassOptionsToPackage{\CurrentOption}{klumath}} -\DeclareOption{mathsec}{\PassOptionsToPackage{\CurrentOption}{klumath}} -\DeclareOption{fleqn}{\PassOptionsToPackage{\CurrentOption}{klumath}} -\DeclareOption{leqno}{\PassOptionsToPackage{\CurrentOption}{klumath}} -\DeclareOption{titlepage}{\PassOptionsToPackage{\CurrentOption}{klulist}} -\DeclareOption{klusym}{\PassOptionsToPackage{\CurrentOption}{klumac}} -\DeclareOption{a4paper} - {\setlength\paperheight {297mm}% - \setlength\paperwidth {210mm}} -\DeclareOption{a5paper} - {\setlength\paperheight {210mm}% - \setlength\paperwidth {148mm}} -\DeclareOption{b5paper} - {\setlength\paperheight {250mm}% - \setlength\paperwidth {176mm}} -\DeclareOption{letterpaper} - {\setlength\paperheight {11in}% - \setlength\paperwidth {8.5in}} -\DeclareOption{legalpaper} - {\setlength\paperheight {14in}% - \setlength\paperwidth {8.5in}} -\DeclareOption{executivepaper} - {\setlength\paperheight {10.5in}% - \setlength\paperwidth {7.25in}} -\DeclareOption{landscape} - {\setlength\@tempdima {\paperheight}% - \setlength\paperheight {\paperwidth}% - \setlength\paperwidth {\@tempdima}} -\DeclareOption{9pt}{\renewcommand\@pttensize{}\renewcommand\@ptsize{9}} -\DeclareOption{10pt}{\renewcommand\@ptsize{0}} -\DeclareOption{11pt}{\renewcommand\@ptsize{1}} -\DeclareOption{12pt}{\renewcommand\@ptsize{2}} -\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} -\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue} -\DeclareOption{openright}{\@openrighttrue} -\DeclareOption{draft}{\setlength\overfullrule{5pt}} -\DeclareOption{final}{\setlength\overfullrule{0pt}} -\DeclareOption{onecolumn}{\@twocolumnfalse} -\DeclareOption{twocolumn}{\@twocolumntrue} -\ExecuteOptions{a4paper,11pt,twoside,onecolumn,final,openright} -\ProcessOptions -%\renewcommand{\encodingdefault}{T1} -\IfFileExists{klumac.sty}{\RequirePackage{klumac}[1998/02/11]}{} -\AtBeginDocument{\let\sectioncmd\section} -\input{klu\@pttensize\@ptsize.clo} -\def\Uppercase#1{#1} -\RequirePackage{klulist}[1998/02/11] -\RequirePackage{kluopen}[1998/02/11] - \def\@date{\vskip \afterdateskip } % no default dates -\RequirePackage{kluedit}[1998/02/11] -\AtBeginDocument{\let\imarkboth\@gobbletwo} -\RequirePackage{klufloa}[1998/02/11] -\renewcommand{\fnum@figure}{{\itshape\figurename~\thefigure\figtabdot\/}} -\renewcommand{\thetable}{\Roman{table}} -\indentedcaptions -\RequirePackage{klunote}[1998/02/11] -\RequirePackage{kluref}[1998/02/11] -\RequirePackage{klumath}[1998/02/11] -\RequirePackage{klusec}[1998/02/11] -\setlength\textheight{559pt} -\setlength\textwidth{28pc} -\setlength\marginparwidth{0pt} -\setlength\lineskip{1\p@} -\setlength\normallineskip{1\p@} -\renewcommand\baselinestretch{} -\@lowpenalty 51 -\@medpenalty 151 -\@highpenalty 301 -\@beginparpenalty -\@lowpenalty -\@endparpenalty -\@lowpenalty -\@itempenalty -\@lowpenalty -\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} -\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} -\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} -\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} -\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} -\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} -\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} -\providecommand{\cal}{\protect\pcal} -\newcommand{\pcal}{\@fontswitch{\relax}{\mathcal}} -\providecommand{\mit}{\protect\pmit} -\newcommand{\pmit}{\@fontswitch{\relax}{\mathnormal}} -\setlength\tabbingsep{\labelsep} -\clubpenalty=10000 -\widowpenalty=10000 -%%%%%%% -\def\kapmathindent{14pt} -\pagestyle{headings} -\pagenumbering{arabic} -\frenchspacing -\endinput -%% -%% End of file `kluwer.cls'. - - - - - - - - diff --git a/helm/papers/matita/matita.bib b/helm/papers/matita/matita.bib deleted file mode 100644 index f98e9c431..000000000 --- a/helm/papers/matita/matita.bib +++ /dev/null @@ -1,1514 +0,0 @@ - -@inproceedings{gmetadom, - author = "Luca Padovani and Claudio Sacerdoti Coen and Stefano Zacchiroli", - title = "A Generative Approach to the Implementation of Language Bindings for the Document Object Model", - booktitle = "Generative Programming and Component Engineering", - editor = "Gabor Karsai and Eelco Visser", - series = "LNCS", - volume = "3286", - pages = "469--487", - publisher = "Springer-Verlag", - year = 2004, -} - -@techreport{mmode, - author = "Freek Wiedijk", - title = "MMode, a Mizar Mode for the proof assistant Coq", - institution = "University of Nijmegen", - number = "NIII-R0333", - year = "2003" -} - -@article{ lamport-proof, - author = "Leslie Lamport", - title = "How to write a proof", - journal = "American Mathematical Monthly", - volume = "102", - number = "7", - pages = "600--608", - year = "1995", -} - -@inproceedings{thery-authoring, - author = "Laurent Th\`ery", - title = "Formal Proof Authoring: an Experiment", - booktitle = "User Interface Design for Theorem Provers", - editor = "David Aspinall and Christoph L{\"u}th", - year = 2003 -} - -@inproceedings{padovani-editex, - author = "Luca Padovani", - title = "Interactive Editing of MathML Markup Using TeX Syntax", - booktitle = "International Conference on TeX, XML, and Digital Typography", - series = "LNCS", - volume = "3130,", - pages = "125--138", - year = 2004, - publisher = "Springer-Verlag", -} - -@inproceedings{uitp-knowledge-modelling, - author = "Stuart Aitken", - title = "Problem Solving in Interactive Proof: A Knowledge-Modelling Approach", - booktitle = "European Conference on Artificial Intelligence (ECAI)", - year = 1996 -} - -@inproceedings{proof-by-pointing, - author = "Yves Bertot", - title = "Proof by Pointing", - booktitle = "Symposium on Theoretical Aspects Computer Software (STACS)", - series = "Lecture Notes in Computer Science", - volume = "789", - year = 1993 -} - -@inproceedings{thery-cyp, - author = "Laurent Th\`ery", - title = "Colouring proofs: a lightweight approach to adding formal structure to proofs", - booktitle = "User Interface Design for Theorem Provers", - editor = "David Aspinall and Christoph L{\"u}th", - year = 2003 -} - -@article{uitp-empirical, - author = "Stuart Aitken and Phil Gray and Tom Melham and Muffy Thomas", - title = "Interactive Theorem Proving: An Empirical Study of User Activity", - journal = "Journal of Symbolic Computation", - year = 1995 -} - -@inproceedings{uitp-phases, - author = "Stuart Aitken and Phil Gray and Tom Melham and Muffy Thomas", - title = "Phases, Modes and Information Flow in Theory Development", - booktitle = "User Interface Design for Theorem Provers", - editor = "Nicholas Merriam", - year = 1996 -} - -@inproceedings{searchingmath, - author = "Andrea Asperti and Stefano Zacchiroli", - title = "Searching mathematics on the Web: state of the art and future developments", - booktitle = "New Developments in Electronic Publishing of Mathematics", - editor = "Bernd Wegner", - publisher = {FIZ Karlsruhe}, - YEAR = 2005 -} - -@article{fourcolor, - author = "K. Appel and W. Haken", - title = "Every planar map is four colorable.", - journal = {Illinois Journal of Mathematics}, - year = 1977, - volume = {21}, - pages = {429--567} -} - -@misc{freekcomparison, - author = "Freek Wiedijk", - title = "The Sixteen Provers of the World", - howpublished = "University of Nijmegen,\\\url{http://www.cs.ru.nl/~freek/comparison/comparison.ps.gz}" -} - -@misc{zmath, - title = "Zentralblatt MATH", - howpublished = "\url{http://www.emis.de/ZMATH/}" -} - -@inproceedings{lcf, - author = "Michael J. C. Gordon and Robin Milner and C.P. Wadsworth", - title = "{Edinburgh LCF}: a Mechanised Logic of Computation", - series = {Lecture Notes in Computer Science}, - volume = 78, - publisher = {{Sprin\-ger-Verlag}}, - year = 1979 -} - -@phdthesis{csc-phd, - author = "Claudio Sacerdoti Coen", - title = "Mathematical Knowledge Management and Interactive Theorem - Proving", - school = "University of Bologna", - year = "2004", - note = "Technical Report UBLCS 2004-5" -} - -@inproceedings{Isar, - author = "Markus Wenzel", - title = "Isar - A Generic Interpretative Approach to Readable Formal Proof Documents", - booktitle = "Theorem Proving in Higher Order Logics", - pages = "167-184", - year = "1999" -} - -@inproceedings{centaur, - author = "P. Borras and D. Clement and Th. Despeyrouz and J. Incerpi and G. Kahn and B. Lang and V. Pascual", - title = "{CENTAUR}: The System", - booktitle = "Proceedings of the {ACM} {SIGSOFT}/{SIGPLAN} Software Engineering Symposium on Practical Software Development Environments ({PSDE})", - journal = "SIGPLAN Notices", - volume = "24", - number = "2", - publisher = "ACM Press", - address = "New York, NY", - pages = "14--24", - year = "1989", - url = "citeseer.nj.nec.com/borras88centaur.html" -} - -@inproceedings{Leroy-manifest-types, - AUTHOR = "Xavier Leroy", - TITLE = "Manifest types, modules, and separate compilation", - BOOKTITLE = {21st symposium Principles of Programming Languages}, - YEAR = 1994, - PUBLISHER = {ACM Press}, - PAGES = {109--122}, - URL = {http://pauillac.inria.fr/~xleroy/publi/manifest-types-popl.ps.gz} -} - -@inproceedings{overkilling, - author = "Sacerdoti Coen, Claudio", - title = "Tactics in Modern Proof-Assistants: the Bad Habit of - Overkilling", - booktitle = "Supplementary Proceedings of the 14th International - Conference TPHOLS 2001", - pages = {352--367}, - year = 2001 -} - -@inproceedings{omegaants1, - author = "Christoph Benzm{\"u}ller and Volker Sorge", - title = {{OANTS} -- An open approach at combining Interactive and Automated - Theorem Proving}, - booktitle = {Symbolic Computation and Automated Reasoning}, - editor = {Manfred Kerber and Michael Kohlhase}, - year = 2000, - pages = {81--97}, - publisher = {A.K.Peters}, - url = {www.ags.uni-sb.de/~chris/papers/C8.pdf} -} - -@article{ocr, - author = "R. Fateman and T. Tokuyasu and B. Berman and N. Mitchell", - title = {Optical Character Recognition and Parsing of Typeset Mathematics}, - journal = {Journal of Visual Communication And Image Representation}, - year = 1996, - volume = {7}, - pages = {2--15}, - number = {1}, - month = mar, - url = {www.ags.uni-sb.de/~chris/papers/J4.pdf} -} - -@article{newauthomath, - author = "Freek Wiedijk", - title = "A new implementation of {A}utomath", - journal = {Journal of Automated Reasoning}, - year = 2002, - volume = {29}, - pages = {365--387} -} - -@article{gdome2, - author = "Paolo Casarini and Luca Padovani", - title = "The {G}nome {DOM} {E}ngine", - journal = "Markup Languages: Theory \& Practice", - year = 2002, - volume = {3}, - pages = {173--190}, - number = {2}, - publisher = "MIT Press", - month = apr -} - -@article{omegaants2, - author = "Christoph Benzm{\"u}ller and Mateja Jamnik and Manfred Kerber and - Volker Sorge", - title = {Agent based Mathematical Reasoning}, - journal = {Electronic Notes in Theoretical Computer Science, Elsevier}, - year = 1999, - volume = {23}, - pages = {21--33}, - number = {3}, - url = {www.ags.uni-sb.de/~chris/papers/J4.pdf} -} - -@inproceedings{Necula, - author = "George C. Necula and Peter Lee", - title = "Safe Kernel Extensions Without Run-Time Checking", - booktitle = "2nd Symposium on Operating Systems Design and Implementation ({OSDI} '96), October 28--31, 1996. Seattle, {WA}", - publisher = "USENIX", - address = "Berkeley, CA, USA", - editor = "{USENIX}", - pages = "229--243", - year = "1996", - url = "citeseer.nj.nec.com/necula96safe.html" -} - -@inproceedings{courant, - AUTHOR = "Judica{\"e}l Courant", - TITLE = {Explicit Universes for the {C}alculus of {C}onstructions}, - BOOKTITLE = {Theorem Proving in Higher Order Logics: - 15th International Conference, TPHOLs 2002}, - EDITOR = {Victor A. {Carre\~{n}o} and C\'{e}sar A. {Mu\~{n}oz} and Sofi\`{e}ne Tahar}, - SERIES = {Lecture Notes in Computer Science}, - VOLUME = 2410, - PAGES = {115--130}, - YEAR = 2002, - PUBLISHER = {{Sprin\-ger-Verlag}}, - MONTH = AUG, - ADDRESS = {Hampton, VA, USA} -} - -@inproceedings{NL98, - author = "George C. Necula and Peter Lee", - title="{Efficient Representation and Validation of Proofs}", - booktitle="Proceedings of the 13th Annual symposium on Logic in Computer Science,", - address="Indianapolis", - year="1998" -} - -@book{GirardJY:prot, - author = "Jean-Yves Girard and Yves Lafont and Paul Taylor", - title = "{Proofs and Types}", - publisher = {Cambridge University Press}, - series = {Cambridge Tracts in Theoretical Computer Science}, - year = 1989 -} - -@inproceedings{proofgeneral, - author = "David Aspinall", - title = "{P}roof {G}eneral: A Generic Tool for Proof Development", - booktitle = "Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2000", - series = "LNCS", - volume = "1785", - month = jan, - year = 2000, - publisher = "Springer-Verlag", -} - -@inproceedings{Gim94, - author = "Eduardo Gim\'enez", - title = "{Codifying guarded definitions with recursive schemes}", - booktitle = "Types'94: Types for Proofs and Programs", - series = "LNCS", - volume = 996, - year = 1994, - publisher = "Springer-Verlag", - note = "Extended version in LIP research report 95-07, ENS Lyon", - pages = "39--59", -} - -@incollection{BarendregtH:lawcwt, - author = "H. Barendregt", - title = "{Lambda Calculi with Types}", - booktitle = "{Handbook of Logic in Computer Science}", - editor = "{Abramsky, Samson and others}", - publisher = "{Oxford University Press}", - volume = 2, - year = 1992 -} - -@inproceedings{coquand:1986, - author="Thierry Coquand", - title="{An Analysis of Girard's Paradox}", - booktitle="Symposium on Logic in Computer Science", - address="Cambridge", - publisher="MA. IEEE press", - year="1986" -} - -@phdthesis{mohring, - AUTHOR = "Christine Paulin-Mohring", - TITLE = {D\'efinitions Inductives en Th\'eorie des Types d'Ordre Sup\'rieur}, - SCHOOL = {Universit\'e Claude Bernard Lyon I}, - YEAR = 1996, - MONTH = DEC, - TYPE = {Habilitation \`a diriger les recherches}, - URL = {http://www.lri.fr/~paulin/habilitation.ps.gz} -} - -@phdthesis{garrigue, - author = "Jacques Garrigue", - title = "{Label-Selective Lambda-Calculi and Transformation Calculi}", - school = "University of Tokyo, Department of Information Science", - month = mar, - year = 1995 -} - -@phdthesis{LuoZ:extcc, - author = "Zhaohui Luo", - title = "{An Extended Calculus of Constructions}", - school = "University of Edinburgh", - year = 1990 -} - -@phdthesis{chicly, - author = "Laurent Chicli", - title = "Sur la formalisation des math\'ematiques dans le - {C}alcul des {C}onstructions {I}nductives", - school = "Universit\'e de Nice~-~Sophia Antipolis", - year = 2003 -} - -@phdthesis{geuvers:1993, - author="Herman Geuvers", - title="{Logics and Type Systems}", - school="Catholic University Nijmegen", - year="1993", - type="{Ph.D.} dissertation" -} - -@unpublished{PrimesInP, - author = "M. Agrawal and N. Kayal and N. Saxena", - title = "{PRIMES} in {P}", - note = "\url{http://www.cse.iitk.ac.in/users/manindra/primality.ps}", - month = aug, - year = 2002 -} - -@unpublished{danosKAM, - author = "Vincent Danos and Laurent Regnier", - title = "How abstract machines implement head linear reduction", - year = 2003 -} - -@inproceedings{Oostdijk, - author = "Olga Caprotti and Herman Geuvers and Martin Oostdijk", - title = "Certified and Portable Mathematical Documents from Formal Contexts", - editor = "Bruno Buchberger and Olga Caprotti", - booktitle = "On-Line Proceedings of the First International Conference on - Mathematical Knowledge Management, MKM 2001", - publisher = "The Electronic Library of Mathematics (EMIS)", - url = "\url{http://www.emis.de/ELibM.html}", - year = "2001" -} - -@inproceedings{formal-proof-sketches, - author = "Freek Wiedijk", - title = "Formal Proof Sketches", - editor = "Wan Fokkink and Jaco van de Pol", - booktitle = "7th Dutch Proof Tools Day, Program + Proceedings", - note = "CWI, Amsterdam", - year = "2003", -} - -@inproceedings{Barendregt, - author = "Henk Barendregt", - title = "Towards an Interactive Mathematical Proof Language", - editor = "Fairouz Kamareddine", - booktitle = "Thirty Five Years of Automath", - pages = "25--36", - publisher = "Kluwer", - year = "2003", -} - -@inproceedings{werner:prof-irrelevance, - author = "Alexandre Miquel and Benjamin Werner", - title = "The Not So Simple Proof-Irrelevant Model of {CC}", - editor = "Herman Geuvers and Freek Wiedijk", - booktitle = "Types for Proofs and Programs: International Workshop, TYPES 2002", - pages = "240--258", - volume = "LNCS, 2646", - publisher = "Springer-Verlag", - year = "2003", -} - -@inproceedings{csc-environment, - author = "Claudio Sacerdoti Coen", - title = "Mathematical Libraries as Proof Assistant Environments", - editor = "Andrea Asperti, Grzegorz Bancerek, Andrzej Trybulec", - booktitle = "Proceedings of Mathematical Knowledge Management 2004", - volume = "LNCS, 3119", - pages = "332--346", - publisher = "Springer-Verlag", - year = "2004" -} - -@inproceedings{disambiguation, - author = "Claudio Sacerdoti Coen and Stefano Zacchiroli", - title = "Efficient Ambiguous Parsing of Mathematical Formulae", - editor = "Andrea Asperti, Grzegorz Bancerek, Andrzej Trybulec", - booktitle = "Proceedings of Mathematical Knowledge Management 2004", - volume = "LNCS, 3119", - pages = "347--362", - publisher = "Springer-Verlag", - year = "2004" -} - -@inproceedings{pechino, - author = "Andrea Asperti and Bernd Wegner", - title = "An Approach to Machine-Understandable Representation of the Mathematical Information in Digital Documents", - editor = "Fengshai Bai and Bernd Wegner", - booktitle = "Electronic Information and Communication in Mathematics", - volume = "LNCS, 2730", - pages = "14--23", - publisher = "Springer-Verlag", - year = "2003" -} - -@inproceedings{whelp, - author = "Andrea Asperti and Ferruccio Guidi and Claudio Sacerdoti Coen and Enrico Tassi and Stefano Zacchiroli", - title = "A content based mathematical search engine: Whelp", - booktitle = "Post-proceedings of the Types 2004 International Conference", - volume = "LNCS, (to appear)", - pages = "xxx--xxx", - publisher = "Springer-Verlag", - year = "2004" -} - -@inproceedings{exportation-module, - author = "Sacerdoti Coen, Claudio", - title = "From Proof-Assistans to Distributed Libraries of Mathematics: Tips - and Pitfalls", - editor = "Andrea Asperti and Bruno Buchberger and James H. Davenport", - booktitle = "Proceedings of the Second International Conference on - Mathematical Knowledge Management, MKM 2003", - pages = "30--44", - volume = "LNCS, 2594", - publisher = "Springer-Verlag", - year = "2003", -} - -@inproceedings{ida, - author = "Andrea Asperti and Herman Geuvers and Iris Loeb and Lionel Elie Mamane and Claudio Sacerdoti Coen", - title = "An Interactive Algebra Course with Formalised Proofs and Definitions", - editor = "Andrea Asperti and Bruno Buchberger and James H. Davenport", - booktitle = "Post-Proceedings of the Fourth International Conference on Mathematical Knowledge Management, MKM 2005", - pages = "XXX--XXX", - volume = "LNCS, (to appear)", - publisher = "Springer-Verlag", - year = "2005", -} - -@inproceedings{davenport, - author = "James H. Davenport", - title = "{MKM} from Book to Computer: A Case Study", - editor = "Andrea Asperti and Bruno Buchberger and James H. Davenport", - booktitle = "Proceedings of the Second International Conference on - Mathematical Knowledge Management, MKM 2003", - pages = "17--29", - volume = "LNCS, 2594", - publisher = "Springer-Verlag", - year = "2003", -} - -@inproceedings{fguidisacerdot, - author = "Ferruccio Guidi and Sacerdoti Coen, Claudio", - title = "Querying Distributed Digital Libraries of Mathematics", - editor = "Therese Hardin and Renaud Rioboo", - booktitle = "Calculemus 2003", - pages = "17--30", - publisher = "Aracne Editrice S.R.L.", - year = "2003", - note = "ISBN 88-7999-545-6" -} - -@inproceedings{hbugs, - author = "Sacerdoti Coen, Claudio and Stefano Zacchiroli", - title = "Brokers and {W}eb-Services for Automatic Deduction: a Case Study", - editor = "Therese Hardin and Renaud Rioboo", - booktitle = "Calculemus 2003", - pages = "43--57", - publisher = "Aracne Editrice S.R.L.", - year = "2003", - note = "ISBN 88-7999-545-6" -} - -@inproceedings{calculemus-presentation, - author = "Christoph Benzm{\"u}ller", - title = "The {CALCULEMUS} Research Training Network -- A short Overview", - editor = "Therese Hardin and Renaud Rioboo", - booktitle = "Calculemus 2003", - pages = "1--16", - publisher = "Aracne Editrice S.R.L.", - year = "2003", - note = "ISBN 88-7999-545-6" -} - -@inproceedings{linda, - author = "Sacerdoti Coen, Claudio", - title = "A Constructive Proof of the Soundness of the - Encoding of Random Access Machines in a Linda Calculus with Ordered - Semantics", - booktitle = "Theoretical Computer Science: 8th Italian Conference, ICTCS 2003", - pages = "37--57", - volume = "LNCS, 2841", - publisher = "Springer-Verlag", - year = "2003", -} - - -@article{asperti-categorical-understanding, - author = "Andrea Asperti", - title = "A categorical understanding of environment machines", - journal = "Journal of Functional Programming", - volume = "2", - number = "1", - pages = "23--59", - month = jan, - year = "1992" -} - -@article{namelessdummies, - author = "{N. G. de Bruijn}", - title = "Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem", - journal = "Indagationes Mathematicae", - volume = "34", - pages = "381--392", - year = "1972" -} - -@article{ctcoq1, - author = "Yves Bertot", - title = "The CtCoq System: Design and Architecture", - journal = "Formal Aspects of Computing", - volume = "11", - pages = "225--243", - year = "1999" -} - -@article{ctcoq3, - author = "Yves Bertot and Laurent Th\'ery", - title = "A Generic Approach to Building User Interfaces for Theorem Provers", - journal = "Journal of Symbolic Computation", - volume = "25", - pages = "161--194", - year = "1998" -} - -@article{mbase, - author = "Michael Kohlhase and Andreas Franke", - title = "{MBase}: Representing Knowledge and Context for the Integration of Mathematical Software Systems", - journal = "Journal of Symbolic Computation", - volume = "32", - number = "4", - pages = "365--402", - year = "2001", - url = "\url{http://citeseer.nj.nec.com/kohlhase00mbase.html}" -} - -@inproceedings{mizarql, - author = "Grzegorz Bancerek and Piotr Rudnicki", - title = "Information Retrieval in {MML}", - editor = "Andrea Asperti and Bruno Buchberger and James H. Davenport", - booktitle = "Proceedings of the Second International Conference on - Mathematical Knowledge Management, MKM 2003", - pages = "119--132", - volume = "LNCS, 2594", - publisher = "Springer-Verlag", - year = "2003", -} - -@article{codedcontexttrees, - author = "Harald Ganzinger and Robert Nieuwehuis and Pilar Nivela", - title = "Fast Term Indexing with Coded Context Trees. Journal of Automated Reasoning", - journal = "Journal of Automated Reasoning", - year = "To appear" -} - -@article{ranta, - author = "Aarne Ranta", - title = "Grammatical Framework: A Type-Theoretical Grammar Formalism", - journal = "Journal of Functional Programming", - year = "To appear", - note = "Manuscript made available in September 2002" -} - -@book{DiCosmo, - AUTHOR = "Di Cosmo, Roberto", - TITLE = {Isomorphisms of types: from $\lambda$-calculus to information retrieval and language design}, - SERIES = {Progress in Theoretical Computer Science}, - PUBLISHER = {Birkhauser}, - YEAR = {1995}, - NOTE = {ISBN-0-8176-3763-X} -} - -@book{automath, - EDITOR = "R.P. Nederpelt and J.H. Geuvers and R.C. de Vrijer", - TITLE = {Selected Papers on Automath}, - SERIES = {Studies in Logic and the Foundations of Mathematics}, - PUBLISHER = {Elsevier Science}, - VOLUME = "133", - YEAR = {1994}, - NOTE = {ISBN-0444898220} -} - -@misc{krivine, - author = "Jean-Louis Krivine", - title = "Un interpr\`ete du $\lambda$-calcul", - howpublished = "Brouillon. Available on-line at \url{http://www.logique.jussieu.fr/~krivine}", - year = 1985 -} - -@misc{na-mkm1, - title = "Progress Report: Building Interactive Digital Libraries of Formal - Algorithmic Knowledge", - howpublished = "Cornell University, \url{http://www.cs.uwyo.edu/~nuprl/documents/cornell_slides.pdf}", - month = may, - year = 2002, - key = "Progress" -} - -@misc{metadata4education, - title = "{L}earning {O}bject {M}etadata Standard", - howpublished = "Learning Technology Standards Committee of IEEE, \verb+http://www.learninglab.de/elan/kb3/lexikon/metadaten-standards/docs/+ \verb+LOM_1484_12_1_v1_Final_Draft.pdf+", - year = 2002, - key = "Learning" -} - -@misc{openmath-cd-with-plus, - title = "Arith1 {OpenMath} {C}ontent {D}ictionary", - howpublished = "The OpenMath Society, \url{http://www.openmath.org/cocoon/openmath/cd/arith1.ocd}", - year = 2002, - key = "Arith1 OpenMath Content Dictionary" -} - - -@misc{ddc, - title = "Dewey Decimal Classification", - howpublished = "\url{http://www.oclc.org/dewey}", - url = "\url{http://www.oclc.org/dewey}", - key = "Dewey" -} - -@misc{lc, - title = "Library of Congress Classification Scheme", - howpublished = "\url{http://www.loc.gov}", - url = "\url{http://www.loc.gov}", - key = "Library" -} - -@misc{msc, - title = "Mathematical {S}ubject {C}lassification, {A}merican {M}athematical {S}ociety", - howpublished = "\url{http://www.ams.org/msc}", - url = "\url{http://www.ams.org/msc}", - key = "Mathematical" -} - -@InCollection{borges, - author = "Jorge Luis Borges", - title = "The Library of {B}abel", - publisher = "Grove Press", - booktitle = "Ficciones", - year = 1942 -} - -@inproceedings{magaud, - author = "Nicolas Magaud", - title = "{C}hanging {D}ata {R}epresentation within the {C}oq {S}ystem", - booktitle = {TPHOLs'2003}, - publisher = {Springer-Verlag}, - volume = {LNCS, 2758}, - year = {2003}, -} - -@inproceedings{geuvers-jojgov, - author = "Herman Geuvers and Gueorgui I. Jojgov", - title = "Open Proofs and Open Terms: A Basis for Interactive Logic", - editor = "J. Bradfield", - booktitle = "Computer Science Logic: 16th International Workshop, CLS 2002", - pages = "537-552", - volume = "LNCS, 2471", - publisher = "Springer-Verlag", - month = jan, - year = "2002" -} - -@inproceedings{mkm-structure, - author = "Koji Nakagawa and Akihiro Nomura and Masakazu Suzuki", - title = "Extraction of Logical Structure from articles in Mathematics", - editor = "Andrea Asperti, Grzegorz Bancerek, Andrzej Trybulec", - booktitle = "Proceedings of Mathematical Knowledge Management 2004", - volume = "LNCS, 3119", - pages = "276--289", - publisher = "Springer-Verlag", - year = "2004" -} - -@inproceedings{mkm-metadata2, - author = "Andrea Asperti and Matteo Selmi", - title = "Efficient Retrieval of Mathematical Statements", - editor = "Andrea Asperti, Grzegorz Bancerek, Andrzej Trybulec", - booktitle = "Proceedings of Mathematical Knowledge Management 2004", - volume = "LNCS, 3119", - pages = "17--31", - publisher = "Springer-Verlag", - year = "2004" -} - -@inproceedings{adams, - author = "A. A. Adams", - title = "Digitisation, Representation and Formalisation: Digital - Libraries of Mathematics.", - editor = "A. Asperti, B. Buchberger, J.H. Davenport", - booktitle = "Proceedings of Mathematical Knowledge Management 2003", - volume = "LNCS, 2594", - pages = "1--16", - publisher = "Springer-Verlag", - year = "2003" -} - -@inproceedings{maya, - author = "Serge Autexier and Dieter Hutter and Heiko Mantel and Axel Schairer", - title = "Towards an Evolutionary Formal Software-Development Using {CASL}", - booktitle = "WADT99 Selected Papers Volume", - volume = "LNCS, 1827", - publisher = "Springer-Verlag", - year = "2000" -} - -@inproceedings{how-to-extract, - author = "Lu\'is Cruz Filipe and Bas Spitters", - title = "Program Extraction from large proof developments", - booktitle = "Proceedings of TPHOLS 2003", - editor = "D. Basin and B. Wolff", - volume = "LNCS, 2758", - publisher = "Springer-Verlag", - year = "2003" -} - -@inproceedings{click-and-prove, - author = "Jean-Raymond Abrial and Dominique Cansell", - title = "Click'n {P}rove: Interactive Proofs Within Set Theory", - booktitle = "Proceedings of TPHOLS 2003", - editor = "D. Basin and B. Wolff", - volume = "LNCS, 2758", - publisher = "Springer-Verlag", - year = "2003" -} - -@inproceedings{delahaye, - author = "David Delahaye and Roberto di Cosmo", - title = "Information Retrieval in a {C}oq Proof Library using - Type Isomorphisms", - booktitle = "Proceedings of TYPES 99", - volume = "LNCS", - publisher = "Springer-Verlag", - year = "1999" -} - -@TechReport{jojgov, - author = "G. I. Jojgov", - title = "Systems for open terms: An Overview", - institution = "Technische Universiteit Eindhoven", - number = "CSR 01-03", - year = "2001" -} - -@TechReport{garrigue:implicit-arguments, - author = "Jun P. Furuse and Jacques Garrigue", - title = " A label-selective lambda-calculus with optional arguments and its compilation method", - institution = "Research Institute for Mathematical Sciences, Kyoto University", - number = "RIMS Preprint 1041", - month = oct, - year = "1995" -} - -@phdthesis{miquel, - author = "Alexandre Miquel", - title = "Le {C}alcul des {C}onstructions {I}mplicite: syntaxe et s\'emantique", - school = "Universit\'e Paris 7", - year = "2001" -} - -@phdthesis{chrzaszcz, - author = "Jacek Chrz{\c{a}}szcs", - title = "Modules in Type Theory with Generative Definitions", - school = "Uniwersytet Warszawski and Universit\'e de Paris Sud", - year = "2003" -} - -@phdthesis{Pons, - author = "Olivier Pons", - title = "Conception et r\'ealisation d'outils d'aide au d\'eveloppement de grosse th\'eories dans les syst\`emes de preuves interactifs", - school = "Conservatoire National des Arts et M\'etiers", - year = "1999" -} - -@phdthesis{blanqui, - author = "Fr\'ed\'eric Blanqui", - title = "Type Theory and Rewriting", - school = "Universit\'e Paris XI", - year = "2001" -} - -@phdthesis{magnusson, - author = "Lena Magnusson", - title = "The Implementation of {ALF} -- a Proof Editor based - on Martin-L{\"o}f Monomorphic Type Theory with Explicit - Substitutions", - school = "Chalmers University of Technology / G{\"o}teborg University", - year = "1995" -} - -@phdthesis{McBride, - author = "Conor McBride", - title = "Dependently Typed Functional Programs and their Proofs", - school = "University of Edinburgh", - year = "1999" -} - -@phdthesis{schena, - author = "Irene Schena", - title = "Towards a Semantic Web for Formal Mathematics", - school = "University of Bologna", - year = "2002" -} - -@phdthesis{fguidi, - author = "Ferruccio Guidi", - title = "Searching and Retrieving in Content-Based Repositories - of Formal Mathematical Knowledge", - school = "University of Bologna", - month = mar, - year = "2003", - note = "Technical Report UBLCS 2003-06" -} - -@phdthesis{padovani, - author = "Luca Padovani", - title = "MathML Formatting", - school = "University of Bologna", - month = feb, - year = "2003", - note = "Technical Report UBLCS 2003-03" -} - -@mastersthesis{csc-master, - author = "Sacerdoti Coen, Claudio", - title = "Progettazione e realizzazione con tecnologia {XML} di basi distribuite di conoscenza matematica formalizzata", - school = "University of Bologna", - year = 2000 -} - -@mastersthesis{zack-master, - author = "Stefano Zacchiroli", - title = "Web {s}ervices per il supporto alla dimostrazione interattiva", - school = "University of Bologna", - year = 2003 -} - -@mastersthesis{dilena, - author = "Pietro Dilena", - title = "Generazione automatica di stylesheet per notazione matematica", - school = "University of Bologna", - year = 2003 -} - -@phdthesis{munoz, - author = "C\'esar Munoz", - title = "A Calculus of Substitutions for Incomplete-Proof - Representation in Type Theory", - school = "INRIA", - month = nov, - year = "1997" -} - -@phdthesis{strecker, - author = "Martin Strecker", - title = "Construction and Deduction in Type Theories", - school = "Universit{\"a}t Ulm", - year = 1998 -} - - -@misc{mowgli-proposal, - title = "The {MoWGLI Proposal}, {HTML} Version", - howpublished = "\\\url{http://mowgli.cs.unibo.it/html_no_frames/project.html}", - key = "MoWGLI Proposal" -} - -@misc{mowgli-deliverables, - title = "{MoWGLI} Project Deliverables", - howpublished = "\\\url{http://mowgli.cs.unibo.it/html_no_frames/deliverables/index.html}", - key = "MoWGLI Deliverables" -} - -@misc{ALF, - title = "The {ALF} family of proof-assistants", - howpublished = "\url{http://www.cs.chalmers.se/ComputingScience/Research/Logic/implementation.html}", - url = "\url{http://www.cs.chalmers.se/ComputingScience/Research/Logic/implementation.html}", - key = "ALF" -} - -@misc{Coq, - title = "The {C}oq proof-assistant", - howpublished = "\\\url{http://coq.inria.fr}", - key = "Coq" -} - -@misc{phox, - title = "The {PhoX} proof-assistant", - howpublished = "\\\url{http://www.lama.univ-savoie.fr/~RAFFALLI/phox.html}", - key = "PhoX" -} - -@misc{lego, - title = "The {L}ego proof-assistant", - howpublished = "\\\url{http://www.dcs.ed.ac.uk/home/lego/}", - url = "\url{http://www.dcs.ed.ac.uk/home/lego/}", - key = "Lego" -} - -@misc{ALFA, - title = "The {A}lfa proof editor", - howpublished = "\url{http://www.math.chalmers.se/~hallgren/Alfa/}", - url = "\url{http://www.math.chalmers.se/~hallgren/Alfa/}", - key = "Alfa" -} - -@misc{pvs, - title = "The {PVS} Specification and Verification System", - howpublished = "\\\url{http://pvs.csl.sri.com/}", - key = "PVS" -} - -@misc{isabelle, - title = "The {Isabelle} proof-assistant", - howpublished = "\\\url{http://www.cl.cam.ac.uk/Research/HVG/Isabelle/}", - key = "Isabelle" -} - -@misc{nuprl, - title = "The {NuPRL} proof-assistant", - howpublished = "\\\url{http://www.cs.cornell.edu/Info/Projects/NuPrl/nuprl.html}", - key = "NuPRL" -} - -@misc{hollight, - title = "The {HOL Light} proof-assistant", - howpublished = "\\\url{http://www.cl.cam.ac.uk/users/jrh/hol-light/}", - key = "HOL-Light" -} - -@misc{monet, - title = "The {MONET} project", - howpublished = "\\\url{http://monet.nag.co.uk/cocoon/monet/index.html}", - key = "Monet" -} - -@misc{calculemus, - title = "The {CALCULEMUS} project", - howpublished = "\url{http://www.calculemus.net/}", - url = "\url{http://www.calculemus.net/}", - key = "Calculemus" -} - -@misc{mizar, - title = "The {M}izar proof-assistant", - howpublished = "\\\url{http://mizar.uwb.edu.pl/}", - key = "Mizar" -} - -@misc{openmath, - howpublished = "The {O}pen{M}ath {E}sprit {C}onsortium", - author = "O. Caprotti and D. P. Carlisle and A. M. Cohen", - title = "{\emph{The {O}pen{M}ath {S}tandard}}" -} - -@misc{mathml, - title = "Mathematical {M}arkup {L}anguage ({MathML}) {V}ersion 2.0", - editor="{Patrick Ion} and others", - howpublished = "W3C Recommendation 21 February 2001, \url{http://www.w3.org/TR/MathML2}", - url = "\url{http://www.w3.org/TR/MathML2}", - key = "Mathematical" -} - -@misc{xml, - title = "{E}xtensible {M}arkup {L}anguage ({XML}). {V}ersion 1.0.", -editor="{Tim Bray} and others", - howpublished = "W3C Recommendation 10 February 1998, - \url{http://www.w3.org/TR/REC-xml}", - url = "\url{http://www.w3.org/TR/REC-xml}", - key = "Extensible" -} - -@misc{dom, - title = "Document {O}bject {M}odel ({DOM}) {L}evel 2 {S}pecification. {V}ersion 1.0", - howpublished = "W3C Candidate Recommendation 10 May 2000, - \url{http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/}", - url = "\url{http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/}", - key = "Document" -} - -@misc{URIs, - title = "Universal Resource Identifiers in {WWW}", - howpublished = "RFC 1630, CERN", - month = jun, - year = "1994", - key = "URI" -} - -@misc{xpath, - title = " {XML} {P}ath {L}anguage ({XPath}). Version 1.0", - howpublished = "W3C Recommendation, 16 November 1999, - \url{http://www.w3.org/TR/xpath}", - url = "\url{http://www.w3.org/TR/xpath}", - key = "XML" -} - -@misc{xslt, - title = "{XSL} {T}ransformations ({XSLT}). {V}ersion 1.0", - howpublished = "W3C Recommendation, 16 November 1999, - \url{http://www.w3.org/TR/xslt}", - url = "\url{http://www.w3.org/TR/xslt}", - key = "XSLT" -} - -@misc{rdf, - title = "Resource {D}escription {F}ramework ({RDF}) Model and Syntax - Specification", - howpublished = "W3C Recommendation 22 February 1999, - \url{http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/}", - url = "\url{http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/}", - key = "Resource" -} - -@misc{omdoc, - title = "{OMDoc}: An Open Markup Format for Mathematical Documents (Version 1.1)", - howpublished = "\\\url{http://www.mathweb.org/omdoc/omdoc.ps}", - key = "OMDoc" -} - -@misc{FORMAVIE, - title = "The {F}ormavie project", - howpublished = "\url{http://http://www-sop.inria.fr/oasis/Formavie/}", - url = "\url{http://http://www-sop.inria.fr/oasis/Formavie/}", - key = "Formavie" -} - -@misc{EHELM, - title = "The {HELM} project", - howpublished = "\url{http://helm.cs.unibo.it}", - url = "\url{http://helm.cs.unibo.it}", - key = "HELM" -} - -@misc{helm-library, - title = "The {HELM} On-Line Library", - howpublished = "\url{http://helm.cs.unibo.it/library.html}", - url = "\url{http://helm.cs.unibo.it/library.html}", - key = "HELM Library" -} - -@misc{MATHWEB, - title = "The {M}ath{W}eb project", - howpublished = "\url{http://www.mathweb.org}", - url = "\url{http://www.mathweb.org}", - key = "MathWeb" -} - -@misc{PCOQ, - title = "The {PC}oq project", - howpublished = "\url{http://www-sop.inria.fr/lemme/pcoq}", - url = "\url{http://www-sop.inria.fr/lemme/pcoq}", - key = "PCoq" -} - -@TechReport{HELM, - author = "Andrea Asperti and Luca Padovani and Claudio Sacerdoti Coen - and Irene Schena", - title = "Towards a library of formal mathematics", - year = "2000", - note = "Panel session of the 13th {I}nternation {C}onference on - {T}heorem {P}roving in {H}igher {O}rder {L}ogics - ({TPHOLS}'2000), Portland, Oregon, USA", -} - -@TechReport{ctcoq2, - author = "Laurent Th\'ery and Yves Bertot and Gilles Kahn", - title = "Real Theorem Provers Deserve Real User-Interfaces", - month = may, - year = "1992", - institution = "INRIA", - number = "{Inria Research Report 1684}" -} - -@inproceedings{Ring, - author = "Samuel Boutin", - title = "Using Reflection to Build Efficient and Certified Decision - Procedures", - editor = "Martin Abadi and Takahashi Ito editors", - booktitle = "Theoretical Aspect of Computer Software {TACS'}97, LNCS", - pages = "515-529", - volume = "1281", - publisher = "Springer-Verlag", - year = "1997", -} - -@inproceedings{werner-zfc, - author = "Benjamin Werner", - title = "Sets in Types, Types in Sets", - editor = "Martin Abadi and Takahashi Ito editors", - booktitle = "Theoretical Aspect of Computer Software {TACS'}97, LNCS", - pages = "530-546", - volume = "1281", - publisher = "Springer-Verlag", - year = "1997", -} - -@article{aczel, - author = "Peter Aczel", - title = "On Relating Type Theories and Set Theories", - journal = "Lecture Notes in Computer Science", - volume = "1657", - year = "1999", -} - -@inproceedings{remathematization, - author = "Andrea Asperti and Luca Padovani and Claudio Sacerdoti Coen and Irene Schena", - title = "{XML}, Stylesheets and the re-mathematization of Formal Content", - booktitle = "EXTREME", - year = "2001", -} - - -@phdthesis{YANNTHESIS, - author = "Yann Coscoy", - title = "Explication textuelle de preuves pour le {C}alcul des - {C}onstructions {I}nductives", - school = "Universit\'e de Nice-Sophia Antipolis", - year = "2000", -} - -@phdthesis{Lippi, - author = "Sylvain Lippi", - title = "Th\'eorie et pratique des r\'eseaux d'interaction (Interaction nets)", - school = "Universit\'e Aix-Marseille 2", - year = "2002" -} - -@phdthesis{Werner, - author = "Benjamin Werner", - title = "Une Th\'eorie des {C}onstructions {I}nductives", - school = "Universit\'e Paris VII", - month = may, - year = "1994", -} - -@InCollection{Felleisen87, - author = "M. Felleisen and D. Friedman", - editor = "M. Wirsing", - title = "Control operators, the {SECD}-machine, and the lambda calculus", - booktitle = "Formal Description of Programming Concepts III", - pages = "193--217", - publisher = "Elsevier Science Publishers B.V.", - address = "(North-Holland) Amsterdam", - year = "1987", -} - -@TechReport{yarrow, - author = "Jan Zwanenburg", - institution = "Eindhoven University of Technology", - number = "Computing Science Report CS-98-11", - title = "The Proof-assistant Yarrow", - year = "1998" -} - -@TechReport{Ager2003a, - author = "Mads Sig Ager and Dariusz Biernacki and Olivier Danvy and Jan Midtgaard", - institution = "BRICS", - month = mar, - number = "BRICS RS-03-13", - title = "A Functional Correspondence between Evaluators and Abstract Machines", - year = "2003" -} - -@TechReport{Ager2003b, - author = "Mads Sig Ager and Dariusz Biernacki and Olivier Danvy and Jan Midtgaard", - institution = "BRICS", - month = mar, - number = "BRICS RS-03-14", - title = "From Interpreter to Compiler and Virtual Machine: A Functional Derivation", - year = "2003" -} - -@article{harperpollack, - author = "Robert Harper and Robert Pollack", - title = "Type checking with universes", - journal = "Theoretical Computer Science", - volume = "89", - pages = "107--136", - year = "1991" -} - -@article{activemath, - author = "Erica Melis and Jochen B{\"a}udenbender and George Goguadze and Paul Libbrecht and Carsten Ullrich", - title = "Knowledge Representation and Management in {ActiveMath}", - journal = "Annals of Mathematics and Artificial Intelligence", - volume = "38(1-3)", - pages = "47--64", - month = may, - year = "2003" -} - -@article{mkm-helm, - author = "Andrea Asperti and Ferruccio Guidi and Luca Padovani and - Claudio Sacerdoti Coen and Irene Schena", - title = "Mathematical Knowledge Management in {HELM}", - journal = "Annals of Mathematics and Artificial Intelligence", - volume = "38(1-3)", - pages = "27--46", - month = may, - year = "2003" -} - -@unpublished{formal-topology, - author = "Giovanni Sambin", - title = "Some points in formal topology", - note = "To appear in Theoretical Computer Science", - year = "2002" -} - -@TechReport{JohnHarrison:complexity-of-floating-point-proofs, - author = "John Harrison", - title = "Real Numbers in Real Applications", - note = "in Proceedings of the Workshop on Formalizing Continuous Mathematics, FCM 2002", - institution = "NASA", - number = "NASA/CP-2002-211736", - year = "2002" -} - -@inproceedings{kohlhase-anghelache, - author = "Michael Kohlhase and Romeo Anghelache", - title = "Towards Collaborative Content Management And Version Control For - Structured Mathematical Knowledge", - editor = "Andrea Asperti and Bruno Buchberger and James H. Davenport", - booktitle = "Proceedings of the Second International Conference on - Mathematical Knowledge Management, MKM 2003", - pages = "147--161", - volume = "LNCS, 2594", - publisher = "Springer-Verlag", - year = "2003", -} - -%%% Unused entries from my Master dissertation bibliography - -@misc{sgml, - title="{Standard Generalized Markup Language (SGML)}", - note="ISO 8879:1986", - key="ISO" - } - -@unpublished{helm1, - author = "Andrea Asperti and Luca Padovani and Claudio Sacerdoti Coen and Irene Schena", - title = "{Content Centric Logical Environments}", - note = "Short Presentation at LICS 2000", - ps = "http://www.cs.unibo.it/~asperti/HELM/lics_short.ps.gz", -} - -@unpublished{helm4, - author = "Andrea Asperti and Luca Padovani and Claudio Sacerdoti Coen and Irene Schena", - title = "{Formal Mathematics in MathML}", - note = "To be presented at MathML International Conference 2000", -} - -@unpublished{helm2, - author = "Andrea Asperti and Luca Padovani and Claudio Sacerdoti Coen and Irene Schena", - title = "{Towards a Library of Formal Mathematics}", - note = "Accepted at TPHOLS 2000", - ps = "http://www.cs.unibo.it/~asperti/HELM/tphol2k.ps.gz", -} - -@techreport{mowgli:D4a, - author = "Hanane Naciri and Luca Padovani", - title = "{MathML} Rendering/Browsing Engine", - type = {MoWGLI Report}, - number = {D4a}, - year = 2003, - howpublished = "\url{http://mowgli.cs.unibo.it/html_no_frames/deliverables/interfaces/d4a.html}" -} - -@techreport{hazewinkel, - author = "Michiel Hazewinkel", - title = "Dynamic stochastic models for indexes and thesauri, - identification clouds, and information retrieval and - storage", - type = "{MKM Net Report}", - howpublished = "\url{http://monet.nag.co.uk/mkm//index.html}" -} - -@techreport{BarrasB:coqpar, - author = "{Barras B.} and {Boutin S.} and {Cornes C.} - and {Courant J.} and {Filliatre J. C.} - and {Gim\'enez E.} and {Herbelin H.} and {Huet G.} - and {Munoz C.} and {Murthy C.} and {Parent C.} - and {Paulin-Mohring C.} and {Saibi A.} - and {Werner B.}", - title = "{The Coq Proof Assistant Reference Manual : Version - 6.1}", - institution = {Inria (Institut National de Recherche en Informatique - et en Automatique), France}, - type = {Technical Report}, - number = {RT-0203}, - year = 1997, - author_acronym = {WernerB}, - bibdate = {May 1, 1997}, - source = {http://www.cis.upenn.edu/~bcpierce/papers/bcp.bib/}, - source-date = {Mon 11 Sep 100}, - title_acronym = {coqpar} -} - -@unpublished{bw:1997, - author = "Bruno Barras and Benjamin Werner", - title = "{Coq in Coq}", - year = "1997", - note = "Submitted", - ps = "http://pauillac.inria.fr/~barras/coqincoq.ps.gz", -} - -@unpublished{berners-lee:1989, - author = "Tim Berners-Lee", - title = "{Information Management: A Proposal}", - year = "1989", - ps = "http://www.w3.org/History/1989/proposal.html", -} - -@techreport{natural, - author = "Yann Coscoy and Gilles Kahn and Laurent Thery", - title = "{Extracting Text from Proofs}", - institution = {Inria (Institut National de Recherche en Informatique - et en Automatique), France}, - type = {Technical Report}, - number = {RR-2459}, - year = 1995 -} - -@inproceedings{Bru80, - author = "de Bruijn, N. G.", - title = "{A survey of the project AUTOMATH}", - pages = "589--606", - editor = "J. P. Seldin and J. R. Hindley", - booktitle = "To H. B. Curry: Essays in Combinatory Logic, - Lambda Calculus and Formalism", - year = 1980, - publisher = "Academic Press" -} - -@techreport{tutrect, - author = "E Gim\'enez", - title = "{A Tutorial on Recursive Types in Coq}", - institution = {Inria (Institut National de Recherche en Informatique - et en Automatique), France}, - type = {Technical Report}, - number = {RT-0221}, - year = 1998 -} - -@inproceedings{QED, - author = "John Harrison", - title = "{The QED Manifesto}", - pages = "238--251", - booktitle = "Automated Deduction - CADE 12", - series = "Lecture Notes in Artificial Intelligence", - volume = 814, - year = 1994, - publisher = "Springer-Verlag" -} - -@inproceedings{harrison-mizar, - author = "John Harrison", - title = "{A Mizar Mode for HOL}", - pages = "203--220", - editor = "Joakim von Wright and Jim Grundy and John Harrison", - booktitle = "Theorem Proving in Higher Order Logics: - 9th International Conference, TPHOLs'96", - series = "Lecture Notes in Computer Science", - volume = 1125, - address = "Turku, Finland", - date = "26--30 August 1996", - year = 1996, - publisher = "Springer-Verlag" -} - -@inproceedings{proverb, - author="H. Horacek", - title="{Presenting Proofs in a Human Oriented Way}", - booktitle="16th International Conference on Automated Deduction", - year="1999" - } - -@misc{HuetG:coqpat, - author = "Gerard Huet and Gilles Kahn and Christine Paulin-Mohring", - title = "{The Coq Proof Assistant. A Tutorial}", - year = 1998 -} - -@PHDTHESIS{BJ94, - author="{Jutting van L. S. B.}", - school = {{Eindhoven University of Technology}}, - title="{Checking Landau's ``Grundlagen'' in the AUTOMATH System}", - type = {Ph D. thesis}, - note = "{Useful summary in Nederpelt, Geuvers and de Vrijier, 1994, 701-732}", - year = {1994} -} - -@misc{abriefhistoryoftheinternet, - author="{Leiner B. M.} and {Cerf V. G.} and {Clark D. D.} - and {Kahn R. E.} and {Kleinrock L.} and {Lynch D. C.} - and {Postel J.} and {Roberts L. G.} and {Wolff S.}", - title="{A Brief Hystory of the Internet}", - note="http://www.isoc.org/internet-history/brief.html" - } - -@inproceedings{MacKenzie:1995, - author="{MacKenzie D.}", - title="{The automation of proof: A historical and sociological exploration}", - booktitle="IEEE: Annals of the History of Computing", - year="1995" -} - -@PHDTHESIS{Moh89b, - author = "Christine Paulin-Mohring", - month = {January}, - school = {{Paris 7}}, - title = "{Extraction de programmes dans le Calcul des Constructions}", - type = {Th\`ese d'universit\'e}, - year = {1989}, - url = {http://www.lri.fr/~paulin/these.ps.gz}, -} - -@MASTERTHESIS{ri99, - author = "A. Ricci", - school = {{Universit\`a degli studi di Bologna}}, - title = "{Studio e progettazione di un modello RDF per biblioteche matematiche -elettroniche}", - type = {Tesi universitaria}, - year = {1999} -} - -@inproceedings{Rob65, - author="{Robinson J. A.}", - title = "{A machine-oriented logic based on the resolution principle}", - pages = "23--41", - booktitle = "Journal of the ACM", - volume = "2", - year ="1965" -} - -@inproceedings{sh:1995, - author="{Saibi A.} and {Huet G.}", - title="{Constructive Category Theory}", - booktitle="Proceedings of the joint CLICS-TYPES Workshop on Categories and Type Theory", - address="Goteborg (Sweden)", - month="January", - year="1995" - } - -@inproceedings{ranta2, - author="Thomas Hallgren and Aarne Ranta", - title="An extensible proof text editor", - BOOKTITLE = {LPAR'2000}, - SERIES = {LNCS/LNAI}, - VOLUME = 1955, - YEAR = 2000 - } - -@inproceedings{werner:1997, - author="Benjamin Werner", - title="{Constructive Category Theory}", - booktitle="Proocedings of the International Symposium on Theoretical Aspects of Computer Software", - year="1997" - } - diff --git a/helm/papers/matita/matita.tex b/helm/papers/matita/matita.tex deleted file mode 100644 index d9a7a525f..000000000 --- a/helm/papers/matita/matita.tex +++ /dev/null @@ -1,1113 +0,0 @@ -\documentclass{kluwer} -\usepackage{color} -\usepackage{graphicx} -% \usepackage{amssymb,amsmath} -\usepackage{hyperref} -% \usepackage{picins} -\usepackage{color} -\usepackage{fancyvrb} -\usepackage[show]{ed} - -\definecolor{gray}{gray}{0.85} -%\newcommand{\logo}[3]{ -%\parpic(0cm,0cm)(#2,#3)[l]{\includegraphics[width=#1]{whelp-bw}} -%} - -\newcommand{\AUTO}{\textsc{Auto}} -\newcommand{\COQ}{Coq} -\newcommand{\ELIM}{\textsc{Elim}} -\newcommand{\HELM}{Helm} -\newcommand{\HINT}{\textsc{Hint}} -\newcommand{\IN}{\ensuremath{\dN}} -\newcommand{\INSTANCE}{\textsc{Instance}} -\newcommand{\IR}{\ensuremath{\dR}} -\newcommand{\IZ}{\ensuremath{\dZ}} -\newcommand{\LIBXSLT}{LibXSLT} -\newcommand{\LOCATE}{\textsc{Locate}} -\newcommand{\MATCH}{\textsc{Match}} -\newcommand{\MATITA}{Matita} -\newcommand{\METAHEADING}{Symbol & Position \\ \hline\hline} -\newcommand{\MOWGLI}{MoWGLI} -\newcommand{\NAT}{\ensuremath{\mathit{nat}}} -\newcommand{\NATIND}{\mathit{nat\_ind}} -\newcommand{\NUPRL}{NuPRL} -\newcommand{\OCAML}{OCaml} -\newcommand{\PROP}{\mathit{Prop}} -\newcommand{\REF}[3]{\ensuremath{\mathit{Ref}_{#1}(#2,#3)}} -\newcommand{\TEXMACRO}[1]{\texttt{\char92 #1}} -\newcommand{\UWOBO}{UWOBO} -\newcommand{\WHELP}{Whelp} -\newcommand{\DOT}{\ensuremath{\mbox{\textbf{.}}}} -\newcommand{\SEMICOLON}{\ensuremath{\mbox{\textbf{;}}}} -\newcommand{\BRANCH}{\ensuremath{\mbox{\textbf{[}}}} -\newcommand{\SHIFT}{\ensuremath{\mbox{\textbf{\textbar}}}} -\newcommand{\POS}[1]{\ensuremath{#1\mbox{\textbf{:}}}} -\newcommand{\MERGE}{\ensuremath{\mbox{\textbf{]}}}} -\newcommand{\FOCUS}[1]{\ensuremath{\mathtt{focus}~#1}} -\newcommand{\UNFOCUS}{\ensuremath{\mathtt{unfocus}}} -\newcommand{\SKIP}{\MATHTT{skip}} -\newcommand{\TACTIC}[1]{\ensuremath{\mathtt{tactic}~#1}} - -\definecolor{gray}{gray}{0.85} % 1 -> white; 0 -> black -\newcommand{\NT}[1]{\langle\mathit{#1}\rangle} -\newcommand{\URI}[1]{\texttt{#1}} - -%{\end{SaveVerbatim}\setlength{\fboxrule}{.5mm}\setlength{\fboxsep}{2mm}% -\newenvironment{grafite}{\VerbatimEnvironment - \begin{SaveVerbatim}{boxtmp}}% - {\end{SaveVerbatim}\setlength{\fboxsep}{3mm}% - \begin{center} - \fcolorbox{black}{gray}{\BUseVerbatim[boxwidth=0.9\linewidth]{boxtmp}} - \end{center}} - -\newcounter{example} -\newenvironment{example}{\stepcounter{example}\vspace{0.5em}\noindent\emph{Example} \arabic{example}.} - {} -\newcommand{\ASSIGNEDTO}[1]{\textbf{Assigned to:} #1} -\newcommand{\FILE}[1]{\texttt{#1}} -% \newcommand{\NOTE}[1]{\ifodd \arabic{page} \else \hspace{-2cm}\fi\ednote{#1}} -\newcommand{\NOTE}[1]{\ednote{#1}{foo}} -\newcommand{\TODO}[1]{\textbf{TODO: #1}} - -\newsavebox{\tmpxyz} -\newcommand{\sequent}[2]{ - \savebox{\tmpxyz}[0.9\linewidth]{ - \begin{minipage}{0.9\linewidth} - \ensuremath{#1} \\ - \rule{3cm}{0.03cm}\\ - \ensuremath{#2} - \end{minipage}}\setlength{\fboxsep}{3mm}% - \begin{center} - \fcolorbox{black}{gray}{\usebox{\tmpxyz}} - \end{center}} - -\bibliographystyle{plain} - -\begin{document} - -\begin{opening} - - \title{The \MATITA{} Proof Assistant} - -\author{Andrea \surname{Asperti} \email{asperti@cs.unibo.it}} -\author{Claudio \surname{Sacerdoti Coen} \email{sacerdot@cs.unibo.it}} -\author{Enrico \surname{Tassi} \email{tassi@cs.unibo.it}} -\author{Stefano \surname{Zacchiroli} \email{zacchiro@cs.unibo.it}} -\institute{Department of Computer Science, University of Bologna\\ - Mura Anteo Zamboni, 7 --- 40127 Bologna, ITALY} - -\runningtitle{The Matita proof assistant} -\runningauthor{Asperti, Sacerdoti Coen, Tassi, Zacchiroli} - -% \date{data} - -\begin{motto} -``We are nearly bug-free'' -- \emph{CSC, Oct 2005} -\end{motto} - -\begin{abstract} - abstract qui -\end{abstract} - -\keywords{Proof Assistant, Mathematical Knowledge Management, XML, Authoring, -Digital Libraries} - -\end{opening} - -\section{Introduction} -\label{sec:intro} -{\em Matita} is the proof assistant under development by the \HELM{} team -\cite{mkm-helm} at the University of Bologna, under the direction of -Prof.~Asperti. -The origin of the system goes back to 1999. At the time we were mostly -interested to develop tools and techniques to enhance the accessibility -via web of formal libraries of mathematics. Due to its dimension, the -library of the \COQ{} proof assistant (of the order of 35'000 theorems) -was choosed as a privileged test bench for our work, although experiments -have been also conducted with other systems, and notably with \NUPRL{}. -The work, mostly performed in the framework of the recently concluded -European project IST-33562 \MOWGLI{}~\cite{pechino}, mainly consisted in the -following teps: -\begin{itemize} -\item exporting the information from the internal representation of - \COQ{} to a system and platform independent format. Since XML was at the -time an emerging standard, we naturally adopted this technology, fostering -a content-based architecture for future system, where the documents -of the library were the the main components around which everything else -has to be build; -\item developing indexing and searching techniques supporting semantic - queries to the library; these efforts gave birth to our \WHELP{} -search engine, described in~\cite{whelp}; -\item developing languages and tools for a high-quality notational -rendering of mathematical information; in particular, we have been -active in the MathML Working group since 1999, and developed inside -\HELM{} a MathML-compliant widget for the GTK graphical environment -which can be integrated in any application. -\end{itemize} -The exportation issue, extensively discussed in \cite{exportation-module}, -has several major implications worth to be discussed. - -The first -point concerns the kind of content information to be exported. In a -proof assistant like \COQ{}, proofs are represented in at least three clearly -distinguishable formats: \emph{scripts} (i.e. sequences of commands issued by the -user to the system during an interactive session of proof), \emph{proof objects} -(which is the low-level representation of proofs in the form of -lambda-terms readable to and checked by kernel) and \emph{proof-trees} (which -is a kind of intermediate representation, vaguely inspired by a sequent -like notation, that inherits most of the defects but essentially -none of the advantages of the previous representations). -Partially related to this problem, there is the -issue of the {\em granularity} of the library: scripts usually comprise -small developments with many definitions and theorems, while -proof objects correspond to individual mathematical items. - -In our case, the choice of the content encoding was eventually dictated -by the methodological assumption of offering the information in a -stable and system-independent format. The language of scripts is too -oriented to \COQ, and it changes too rapidly to be of any interest -to third parties. On the other side, the language of proof objects -merely depend on -the logical framework (the Calculus of Inductive Constructions, in -the case of \COQ), is grammatically simple, semantically clear and, -especially, is very stable (as kernels of proof assistants -often are). -So the granularity of the library is at the level of individual -objects, that also justifies from another point of view the need -for efficient searching techniques for retrieving individual -logical items from the repository. - -The main (possibly only) problem with proof objects is that they are -difficult to read and do not directly correspond to what the user typed -in. An analogy frequently made in the proof assistant community is that of -comparing the vernacular language of scripts to a high level source language -and lambda terms to the assembly language they are compiled in. We do not -share this view and prefer to look at scripts as an imperative language, -and to lambda terms as their denotational semantics; still, however, -denotational semantics is possibly more formal but surely not more readable -than the imperative source. - -For all the previous reasons, a huge amount of work inside \MOWGLI{} has -been devoted to automatic reconstruction of proofs in natural language -from lambda terms. Since lambda terms are in close connection -with natural deduction -(that is still the most natural logical language discovered so far) -the work is not hopeless as it may seem, especially if rendering -is combined, as in our case, with dynamic features supporting -in-line expansions or contractions of subproofs. The final -rendering is probably not entirely satisfactory (see \cite{ida} for a -discussion), but surely -readable (the actual quality largely depends by the way the lambda -term is written). - -Summing up, we already disposed of the following tools/techniques: -\begin{itemize} -\item XML specifications for the Calculus of Inductive Constructions, -with tools for parsing and saving mathematical objects in such a format; -\item metadata specifications and tools for indexing and querying the -XML knowledge base; -\item a proof checker (i.e. the {\em kernel} of a proof assistant), - implemented to check that we exported form the \COQ{} library all the -logically relevant content; -\item a sophisticated parser (used by the search engine), able to deal -with potentially ambiguous and incomplete information, typical of the -mathematical notation \cite{}; -\item a {\em refiner}, i.e. a type inference system, based on complex -existential variables, used by the disambiguating parser; -\item complex transformation algorithms for proof rendering in natural -language; -\item an innovative rendering widget, supporting high-quality bidimensional -rendering, and semantic selection, i.e. the possibility to select semantically -meaningful rendering expressions, and to past the respective content into -a different text area. -\NOTE{il widget non ha sel semantica} -\end{itemize} -Starting from all this, the further step of developing our own -proof assistant was too -small and too tempting to be neglected. Essentially, we ``just'' had to -add an authoring interface, and a set of functionalities for the -overall management of the library, integrating everything into a -single system. \MATITA{} is the result of this effort. - -At first sight, \MATITA{} looks as (and partly is) a \COQ{} clone. This is -more the effect of the circumstances of its creation described -above than the result of a deliberate design. In particular, we -(essentially) share the same foundational dialect of \COQ{} (the -Calculus of Inductive Constructions), the same implementative -language (\OCAML{}), and the same (script based) authoring philosophy. -However, as we shall see, the analogy essentially stops here. - -In a sense; we like to think of \MATITA{} as the way \COQ{} would -look like if entirely rewritten from scratch: just to give an -idea, although \MATITA{} currently supports almost all functionalities of -\COQ{}, it links 60'000 lins of \OCAML{} code, against ... of \COQ{} (and -we are convinced that, starting from scratch again, we could furtherly -reduce our code in sensible way).\NOTE{righe \COQ{}} - -\begin{itemize} - \item scelta del sistema fondazionale - \item sistema indipendente (da Coq) - \begin{itemize} - \item possibilit\`a di sperimentare (soluzioni architetturali, logiche, - implementative, \dots) - \item compatibilit\`a con sistemi legacy - \end{itemize} -\end{itemize} - -\section{\HELM{} library(??)} - -\subsection{libreria tutta visibile} -\ASSIGNEDTO{csc} -\NOTE{assumo che si sia gia' parlato di approccio content-centrico} -Our commitment to the content-centric view of the architecture of the system -has important consequences on the user's experience and on the functionalities -of several components of \MATITA. In the content-centric view the library -of mathematical knowledge is an already existent and completely autonomous -entity that we are allowed to exploit and augment using \MATITA. Thus, in -principle, when the user starts to prove a new theorem she has complete -visibility of the library and she can refer to every definition and lemma, -also using the mathematical notation already developed. In a similar way, -every form of automation of the system must be able to analyze and possibly -exploit every notion in the library. - -The benefits of this approach highly justify the non neglectable price to pay -in the development of several components. We analyse now a few of the causes -of this additional complexity. - -\subsubsection{Ambiguity} -A rich mathematical library includes equivalent definitions and representations -of the same notion. Moreover, mathematical notation inside a rich library is -surely highly overloaded. As a consequence every mathematical expression the -user provides is highly ambiguous since all the definitions, -representations and special notations are available at once to the user. - -The usual solution to the problem, as adopted for instance in Coq, is to -restrict the user's scope to just one interpretation for each definition, -representation or notation. In this way much of the ambiguity is removed, -burdening the user that must someway declare what is in scope and that must -use special syntax when she needs to refer to something not in scope. - -Even with this approach ambiguity cannot be completely removed since implicit -coercions can be arbitrarily inserted by the system to ``change the type'' -of subterms that do not have the expected type. Usually implicit coercions -are used to overcome the absence of subtyping that should mimic the subset -relation found in set theory. For instance, the expression -$\forall n \in nat. 2 * n * \pi \equiv_\pi 0$ is correct in set theory since -the set of natural numbers is a subset of that of real numbers; the -corresponding expression $\forall n:nat. 2*n*\pi \equiv_\pi 0$ is not well typed -and requires the automatic insertion of the coercion $real_of_nat: nat \to R$ -either around both 2 and $n$ (to make both products be on real numbers) or -around the product $2*n$. The usual approach consists in either rejecting the -ambiguous term or arbitrarily choosing one of the interpretations. For instance, -Coq rejects the declaration of coercions that have alternatives -(i.e. already declared coercions with the same domain and codomain) -or that are obtained composing other coercions in order to -avoid making several terms highly ambiguous by choosing to insert any one of the -alternative coercions. Coq also arbitrarily chooses how to insert coercions in -terms to make them well typed when there is more than one possibility (as in -the previous example). - -The approach we are following is radically different. It consists in dealing -with ambiguous expressions instead of avoiding them. As a last resource, -when the system is unable to disambiguate the input, the user is interactively -required to provide more information that is recorded to avoid asking the -same question again in subsequent processing of the same input. -More details on our approach can be found in \ref{sec:disambiguation}. - -\subsubsection{Consistency} -A large mathematical library is likely to be logically inconsistent. -It may contain incompatible axioms or alternative conjectures and it may -even use definitions in incompatible ways. To clarify this last point, -consider two identical definitions of a set of elements of a given type -(or of a category of objects of a given type). Let us call the two definitions -$A-Set$ and $B-Set$ (or $A-Category$ and $B-Category$). -It is perfectly legitimate to either form the $A-Set$ of every $B-Set$ -or the $B-Set$ of every $A-Set$ (the same for categories). This just corresponds -to assuming that a $B-Set$ (respectively an $A-Set$) is a small set, whereas -an $A-Set$ (respectively a $B-Set$) is a big set (possibly of small sets). -However, if one part of the library assumes $A-Set$s to be the small ones -and another part of the library assumes $B-Set$s to be the small ones, the -library as a whole will be logically inconsistent. - -Logical inconsistency has never been a problem in the daily work of a -mathematician. The mathematician simply imposes himself a discipline to -restrict himself to consistent subsets of the mathematical knowledge. -However, in doing so he does not choose the subset in advance by forgetting -the rest of his knowledge. On the contrary he may proceed with a sort of -top-down strategy: he may always inspect or use part of his knowledge, but -when he actually does so he should check recursively that inconsistencies are -not exploited. - -Contrarily to the mathematical practice, the usual tendency in the world of -assisted automation is that of building a logical environment (a consistent -subset of the library) in a bottom up way, checking the consistency of a -new axiom or theorem as soon as it is added to the environment. No lemma -or definition outside the environment can be used until it is added to the -library after every notion it depends on. Moreover, very often the logical -environment is the only part of the library that can be inspected, -that we can search lemmas in and that can be exploited by automatic tactics. - -Moving one by one notions from the library to the environment is a costly -operation since it involves re-checking the correctness of the notion. -As a consequence mathematical notions are packages into theories that must -be added to the environment as a whole. However, the consistency problem is -only raised at the level of theories: theories must be imported in a bottom -up way and the system must check that no inconsistency arises. - -The practice of limiting the scope on the library to the logical environment -is contrary to our commitment of being able to fully exploit as much as possible -of the library at any given time. To reconcile consistency and visibility -we have departed from the traditional implementation of an environment -allowing environments to be built on demand in a top-down way. The new -implementation is based on a modified meta-theory that changes the way -convertibility, type checking, unification and refinement judgements. -The modified meta-theory is fully described in \cite{libraryenvironments}. -Here we just remark how a strong commitment on the way the user interacts -with the library has lead to modifications to the logical core of the proof -assistant. This is evidence that breakthroughs in the user interfaces -and in the way the user interacts with the tools and with the library could -be achieved only by means of strong architectural changes. - -\subsubsection{Accessibility} -A large library that is completely in scope needs effective indexing and -searching methods to make the user productive. Libraries of formal results -are particularly critical since they hold a large percentage of technical -lemmas that do not have a significative name and that must be retrieved -using advanced methods based on matching, unification, generalization and -instantiation. - -The efficiency of searching inside the library becomes a critical operation -when automatic tactics exploit the library during the proof search. In this -scenario the tactics must retrieve a set of candidates for backward or -forward reasoning in a few milliseconds. - -The choice of several proof assistants is to use ad-hoc data structures, -such as context trees, to index all the terms currently in scope. These -data structures are expecially designed to quickly retrieve terms up -to matching, instantiation and generalization. All these data structures -try to maximize sharing of identical subterms so that matching can be -reduced to a visit of the tree (or dag) that holds all the maximally shared -terms together. - -Since the terms to be retrieved (or at least their initial prefix) -are stored (actually ``melted'') in the data structure, these data structures -must collect all the terms in a single location. In other words, adopting -such data structures means centralizing the library. - -In the \MOWGLI{} project we have tried to follow an alternative approach -that consists in keeping the library fully distributed and indexing it -by means of spiders that collect metadata and store them in a database. -The challenge is to be able to collect only a smaller as possible number -of metadata that provide enough information to approximate the matching -operation. A matching operation is then performed in two steps. The first -step is a query to the remote search engine that stores the metadata in -order to detect a (hopefully small) complete set of candidates that could -match. Completeness means that no term that matches should be excluded from -the set of candiates. The second step consists in retrieving from the -distributed library all the candidates and attempt the actual matching. - -In the last we years we have progressively improved this technique. -Our achievements can be found in \cite{query1,query2,query3}. - -The technique and tools already developed have been integrated in \MATITA{}, -that is able to contact a remote \WHELP{} search engine \cite{whelp} or that -can be directly linked to the code of the \WHELP. In either case the database -used to store the metadata can be local or remote. - -Our current challenge consists in the exploitation of \WHELP{} inside of -\MATITA. In particular we are developing a set of tactics, for instance -based on paramodulation \cite{paramodulation}, that perform queries to \WHELP{} -to restrict the scope on the library to a set of interesting candidates, -greatly reducing the search space. Moreover, queries to \WHELP{} are performed -during parsing of user provided terms to disambiguate them. - -In Sect.~\ref{sec:metadata} we describe the technique adopted in \MATITA. - -\subsubsection{Library management} - - -\subsection{ricerca e indicizzazione} -\label{sec:metadata} -\ASSIGNEDTO{andrea} - -\subsection{auto} -\ASSIGNEDTO{andrea} - -\subsection{sostituzioni esplicite vs moduli} -\ASSIGNEDTO{csc} - -\subsection{xml / gestione della libreria} -\ASSIGNEDTO{gares} - - -\section{User Interface (da cambiare)} - -\subsection{assenza di proof tree / resa in linguaggio naturale} -\ASSIGNEDTO{andrea} - -\subsection{Disambiguation} -\label{sec:disambiguation} -\ASSIGNEDTO{zack} - - \begin{table} - \caption{\label{tab:termsyn} Concrete syntax of CIC terms: built-in - notation\strut} - \hrule - \[ - \begin{array}{@{}rcll@{}} - \NT{term} & ::= & & \mbox{\bf terms} \\ - & & x & \mbox{(identifier)} \\ - & | & n & \mbox{(number)} \\ - & | & s & \mbox{(symbol)} \\ - & | & \mathrm{URI} & \mbox{(URI)} \\ - & | & \verb+_+ & \mbox{(implicit)}\TODO{sync} \\ - & | & \verb+?+n~[\verb+[+~\{\NT{subst}\}~\verb+]+] & \mbox{(meta)} \\ - & | & \verb+let+~\NT{ptname}~\verb+\def+~\NT{term}~\verb+in+~\NT{term} \\ - & | & \verb+let+~\NT{kind}~\NT{defs}~\verb+in+~\NT{term} \\ - & | & \NT{binder}~\{\NT{ptnames}\}^{+}~\verb+.+~\NT{term} \\ - & | & \NT{term}~\NT{term} & \mbox{(application)} \\ - & | & \verb+Prop+ \mid \verb+Set+ \mid \verb+Type+ \mid \verb+CProp+ & \mbox{(sort)} \\ - & | & \verb+match+~\NT{term}~ & \mbox{(pattern matching)} \\ - & & ~ ~ [\verb+[+~\verb+in+~x~\verb+]+] - ~ [\verb+[+~\verb+return+~\NT{term}~\verb+]+] \\ - & & ~ ~ \verb+with [+~[\NT{rule}~\{\verb+|+~\NT{rule}\}]~\verb+]+ & \\ - & | & \verb+(+~\NT{term}~\verb+:+~\NT{term}~\verb+)+ & \mbox{(cast)} \\ - & | & \verb+(+~\NT{term}~\verb+)+ \\ - \NT{defs} & ::= & & \mbox{\bf mutual definitions} \\ - & & \NT{fun}~\{\verb+and+~\NT{fun}\} \\ - \NT{fun} & ::= & & \mbox{\bf functions} \\ - & & \NT{arg}~\{\NT{ptnames}\}^{+}~[\verb+on+~x]~\verb+\def+~\NT{term} \\ - \NT{binder} & ::= & & \mbox{\bf binders} \\ - & & \verb+\forall+ \mid \verb+\lambda+ \\ - \NT{arg} & ::= & & \mbox{\bf single argument} \\ - & & \verb+_+ \mid x \\ - \NT{ptname} & ::= & & \mbox{\bf possibly typed name} \\ - & & \NT{arg} \\ - & | & \verb+(+~\NT{arg}~\verb+:+~\NT{term}~\verb+)+ \\ - \NT{ptnames} & ::= & & \mbox{\bf bound variables} \\ - & & \NT{arg} \\ - & | & \verb+(+~\NT{arg}~\{\verb+,+~\NT{arg}\}~[\verb+:+~\NT{term}]~\verb+)+ \\ - \NT{kind} & ::= & & \mbox{\bf induction kind} \\ - & & \verb+rec+ \mid \verb+corec+ \\ - \NT{rule} & ::= & & \mbox{\bf rules} \\ - & & x~\{\NT{ptname}\}~\verb+\Rightarrow+~\NT{term} - \end{array} - \] - \hrule - \end{table} - - -\subsubsection{Term input} - -The primary form of user interaction employed by \MATITA{} is textual script -editing: the user modifies it and evaluate step by step its composing -\emph{statements}. Examples of statements are inductive type definitions, -theorem declarations, LCF-style tacticals, and macros (e.g. \texttt{Check} can -be used to ask the system to refine a given term and pretty print the result). -Since many statements refer to terms of the underlying calculus, \MATITA{} needs -a concrete syntax able to encode terms of the Calculus of Inductive -Constructions. - -Two of the requirements in the design of such a syntax are apparently in -contrast: -\begin{enumerate} - \item the syntax should be as close as possible to common mathematical practice - and implement widespread mathematical notations; - \item each term described by the syntax should be non-ambiguous meaning that it - should exists a function which associates to it a CIC term. -\end{enumerate} - -These two requirements are addressed in \MATITA{} by the mean of two mechanisms -which work together: \emph{term disambiguation} and \emph{extensible notation}. -Their interaction is visible in the architecture of the \MATITA{} input phase, -depicted in Fig.~\ref{fig:inputphase}. The architecture is articulated as a -pipline of three levels: the concrete syntax level (level 0) is the one the user -has to deal with when inserting CIC terms; the abstract syntax level (level 2) -is an internal representation which intuitively encodes mathematical formulae at -the content level~\cite{adams}\cite{mkm-structure}; the last level is that of -CIC terms. - -\begin{figure}[ht] - \begin{center} - \includegraphics[width=0.9\textwidth]{input_phase} - \caption{\MATITA{} input phase} - \end{center} - \label{fig:inputphase} -\end{figure} - -Requirement (1) is addressed by a built-in concrete syntax for terms, described -in Tab.~\ref{tab:termsyn}, and the extensible notation mechanisms which offers a -way for extending available mathematical notations. Extensible notation, which -is also in charge of providing a parsing function mapping concrete syntax terms -to content level terms, is described in Sect.~\ref{sec:notation}. Requirement -(2) is addressed by the conjunct action of that parsing function and -disambiguation which provides a function from content level terms to CIC terms. - -\subsubsection{Sources of ambiguity} - -The translation from content level terms to CIC terms is not straightforward -because some nodes of the content encoding admit more that one CIC encoding, -invalidating requirement (2). - -\begin{example} - \label{ex:disambiguation} - - Consider the term at the concrete syntax level \texttt{\TEXMACRO{forall} x. x + - ln 1 = x} of Fig.~\ref{fig:inputphase}(a), it can be the type of a lemma the - user may want to prove. Assuming that both \texttt{+} and \texttt{=} are parsed - as infix operators, all the following questions are legitimate and must be - answered before obtaining a CIC term from its content level encoding - (Fig.~\ref{fig:inputphase}(b)): - - \begin{enumerate} - - \item Since \texttt{ln} is an unbound identifier, which CIC constants does it - represent? Many different theorems in the library may share its (rather - short) name \dots - - \item Which kind of number (\IN, \IR, \dots) the \texttt{1} literal stand for? - Which encoding is used in CIC to represent it? E.g., assuming $1\in\IN$, is - it an unary or a binary encoding? - - \item Which kind of equality the ``='' node represents? Is it Leibniz's - polymorhpic equality? Is it a decidable equality over \IN, \IR, \dots? - - \end{enumerate} - -\end{example} - -In \MATITA, three \emph{sources of ambiguity} are admitted for content level -terms: unbound identifiers, literal numbers, and operators. Each instance of -ambiguity sources (ambiguous entity) occuring in a content level term is -associated to a \emph{disambiguation domain}. Intuitively a disambiguation -domain is a set of CIC terms which may be replaced for an ambiguous entity -during disambiguation. Each item of the domain is said to be an -\emph{interpretation} for the ambiguous entity. - -\emph{Unbound identifiers} (question 1) are ambiguous entities since the -namespace of CIC objects is not flat and the same identifier may denote many -ofthem. For example the short name \texttt{plus\_assoc} in the \HELM{} library -is shared by three different theorems stating the associative property of -different additions. This kind of ambiguity is avoidable if the user is willing -to use long names (in form of URIs in the \texttt{cic://} scheme) in the -concrete syntax, with the obvious drawbacks of obtaining long and unreadable -terms. - -Given an unbound identifier, the corresponding disambiguation domain is computed -querying the library for all constants, inductive types, and inductive type -constructors having it as their short name (see the \LOCATE{} query in -Sect.~\ref{sec:metadata}). - -\emph{Literal numbers} (question 2) are ambiguous entities as well since -different kinds of numbers can be encoded in CIC (\IN, \IR, \IZ, \dots) using -different encodings. Considering the restricted example of natural numbers we -can for instance encode them in CIC using inductive datatypes with a number of -constructor equal to the encoding base plus 1, obtaining one encoding for each -base. - -For each possible way of mapping a literal number to a CIC term, \MATITA{} is -aware of a \emph{number intepretation function} which, when applied to the -natural number denoted by the literal\footnote{at the moment only literal -natural number are supported in the concrete syntax} returns a corresponding CIC -term. The disambiguation domain for a given literal number is built applying to -the literal all available number interpretation functions in turn. - -Number interpretation functions can be defined in OCaml or directly using -\TODO{notazione per i numeri}. - -\emph{Operators} (question 3) are intuitively head of applications, as such they -are always applied to a (possiblt empty) sequence of arguments. Their ambiguity -is a need since it is often the case that some notation is used in an overloaded -fashion to hide the use of different CIC constants which encodes similar -concepts. For example, in the standard library of \MATITA{} the infix \texttt{+} -notation is available building a binary \texttt{Op(+)} node, whose -disambiguation domain may refer to different constants like the addition over -natural numbers \URI{cic:/matita/nat/plus/plus.con} or that over real numbers of -the \COQ{} standard library \URI{cic:/Coq/Reals/Rdefinitions/Rplus.con}. - -For each possible way of mapping an operator application to a CIC term, -\MATITA{} knows an \emph{operator interpretation function} which, when applied -to an operator and its arguments, returns a CIC term. The disambiguation domain -for a given operator is built applying to the operator and its arguments all -available operator interpretation functions in turn. - -Operator interpretation functions could be added using the -\texttt{interpretation} statement. For example, among the first line of the -script \FILE{matita/library/logic/equality.ma} from the \MATITA{} standard -library we read: - -\begin{grafite} -interpretation "leibnitz's equality" - 'eq x y = - (cic:/matita/logic/equality/eq.ind#xpointer(1/1) _ x y). -\end{grafite} - -Evaluating it in \MATITA{} will add an operator interpretation function for the -binary operator \texttt{eq} which expands to the CIC term on the right hand side -of the statement. That CIC term can be written using only built-in concrete -syntax, can contain no ambiguity source; still, it can refer to operator -arguments bound on the left hand side and can contain implicit terms (denoted -with \texttt{\_}) which will be expanded to fresh metavariables. The latter -feature is used in the example above for the first argument of Leibniz's -polymorhpic equality. - -\subsubsection{Disambiguation algorithm} - -A \emph{disambiguation algorithm} takes as input a content level term and return -a fully determined CIC term. The key observation on which a disambiguation -algorithm is based is that given a content level term with more than one sources -of ambiguity, not all possible combination of interpretation lead to a typable -CIC term. In the term of Ex.~\ref{ex:disambiguation} for instance the -interpretation of \texttt{ln} as a function from \IR to \IR and the -interpretation of \texttt{1} as the Peano number $1$ can't coexists. The notion -of ``can't coexists'' in the disambiguation of \MATITA{} is defined on top of -the \emph{refiner} for CIC terms described in~\cite{csc-phd}. - -Briefly, a refiner is a function whose input is an \emph{incomplete CIC term} -$t_1$ --- i.e. a term where metavariables occur (Sect.~\ref{sec:metavariables} ---- and whose output is either:\NOTE{descrizione sommaria del refiner, pu\'o -essere spostata altrove} - -\begin{enumerate} - - \item an incomplete CIC term $t_2$ where $t_2$ is a well-typed term obtained - assigning a type to each metavariable in $t_1$ (in case of dependent types, - instantiation of some of the metavariable occurring in $t_1$ may occur as - well); - - \item $\epsilon$, meaning that no well-typed term could be obtained via - assignment of type to metavariable in $t_1$ and their instantiation; - - \item $\bot$, meaning that the refiner is unable to decide whether of the two - cases above apply (refinement is semi-decidable). - -\end{enumerate} - -On top of a CIC refiner \MATITA{} implement an efficient disambiguation -algorithm, which is outlined below. It takes as input a content level term $c$ -and proceeds as follows: - -\begin{enumerate} - - \item Create disambiguation domains $\{D_i | i\in\mathit{Dom}(c)\}$, where - $\mathit{Dom}(c)$ is the set of ambiguity sources of $c$. Each $D_i$ is a set - of CIC terms and can be built as described above. - - \item An \emph{interpretation} $\Phi$ for $c$ is a map associating an - incomplete CIC term to each ambiguity source of $c$. Given $c$ and one of its - interpretations an incomplete CIC term is fully determined replacing each - ambiguity source of $c$ with its mapping in the interpretation and injecting - the remaining structure of the content level in the CIC level (e.g. replacing - the application of the content level with the application of the CIC level). - This operation is informally called ``interpreting $c$ with $\Phi$''. - - Create an initial interpretation $\Phi_0 = \{\phi_i | \phi_i = \_, - i\in\mathit{Dom}(c)\}$, which associates a fresh metavariable to each source - of ambiguity of $c$. During this step, implicit terms are expanded to fresh - metavariables as well. - - \item Refine the current incomplete CIC term (i.e. the term obtained - interpreting $t$ with $\Phi_i$). - - If the refinement succeeds or is undetermined the next interpretation - $\Phi_{i+1}$ will be created \emph{making a choice}, that is replacing in the - current interpretation one of the metavariable appearing in $\Phi_i$ with one - of the possible choice from the corresponding disambiguation domain. The - metavariable to be replaced is chosen following a preorder visit of the - ambiguous term. Then, step 3 is attempted again with the new interpretation. - - If the refinement fails the current set of choices cannot lead to a well-typed - term and backtracking of the current interpretation is attempted. - - \item Once an unambiguous correct interpretation is found (i.e. $\Phi_i$ does - no longer contain any placeholder), backtracking is attempted anyway to find - the other correct interpretations. - - \item Let $n$ be the number of interpretations who survived step 4. If $n=0$ - signal a type error. If $n=1$ we have found exactly one (incomplete) CIC term - corresponding to the content level term $c$, returns it as output of the - disambiguation phase. If $n>1$ we have found many different (incomplete) CIC - terms which can correspond to the content level term, let the user choose one - of the $n$ interpretations and returns the corresponding term. - -\end{enumerate} - -The efficiency of this algorithm resides in the fact that as soon as an -incomplete CIC term is not typable, no further instantiation of the -metavariables of the corresponding interpretation is attemped. -% For example, during the disambiguation of the user input -% \texttt{\TEXMACRO{forall} x. x*0 = 0}, an interpretation $\Phi_i$ is -% encountered which associates $?$ to the instance of \texttt{0} on the right, -% the real number $0$ to the instance of \texttt{0} on the left, and the -% multiplication over natural numbers (\texttt{mult} for short) to \texttt{*}. -% The refiner will fail, since \texttt{mult} require a natural argument, and no -% further instantiation of the placeholder will be tried. - -Details of the disambiguation algorithm along with an analysis of its complexity -can be found in~\cite{disambiguation}, where a formulation without backtracking -(corresponding to the actual \MATITA{} implementation) is also presented. - -\subsubsection{Disambiguation stages} - -\subsection{notazione} -\label{sec:notation} -\ASSIGNEDTO{zack} - -\subsection{mathml} -\ASSIGNEDTO{zack} - -\subsection{selezione semantica, cut paste, hyperlink} -\ASSIGNEDTO{zack} - -\subsection{pattern} -\ASSIGNEDTO{gares}\\ -Patterns are the textual counterpart of the MathML widget graphical -selection. - -Matita benefits of a graphical interface and a powerful MathML rendering -widget that allows the user to select pieces of the sequent he is working -on. While this is an extremely intuitive way for the user to -restrict the application of tactics, for example, to some subterms of the -conclusion or some hypothesis, the way this action is recorded to the text -script is not obvious.\\ -In \MATITA{} this issue is addressed by patterns. - -\subsubsection{Pattern syntax} -A pattern is composed of two terms: a $\NT{sequent\_path}$ and a -$\NT{wanted}$. -The former mocks-up a sequent, discharging unwanted subterms with $?$ and -selecting the interesting parts with the placeholder $\%$. -The latter is a term that lives in the context of the placeholders. - -The concrete syntax is reported in table \ref{tab:pathsyn} -\NOTE{uso nomi diversi dalla grammatica ma che hanno + senso} -\begin{table} - \caption{\label{tab:pathsyn} Concrete syntax of \MATITA{} patterns.\strut} -\hrule -\[ -\begin{array}{@{}rcll@{}} - \NT{pattern} & - ::= & [~\verb+in match+~\NT{wanted}~]~[~\verb+in+~\NT{sequent\_path}~] & \\ - \NT{sequent\_path} & - ::= & \{~\NT{ident}~[~\verb+:+~\NT{multipath}~]~\}~ - [~\verb+\vdash+~\NT{multipath}~] & \\ - \NT{wanted} & ::= & \NT{term} & \\ - \NT{multipath} & ::= & \NT{term\_with\_placeholders} & \\ -\end{array} -\] -\hrule -\end{table} - -\subsubsection{How patterns work} -Patterns mimic the user's selection in two steps. The first one -selects roots (subterms) of the sequent, using the -$\NT{sequent\_path}$, while the second -one searches the $\NT{wanted}$ term starting from these roots. Both are -optional steps, and by convention the empty pattern selects the whole -conclusion. - -\begin{description} -\item[Phase 1] - concerns only the $[~\verb+in+~\NT{sequent\_path}~]$ - part of the syntax. $\NT{ident}$ is an hypothesis name and - selects the assumption where the following optional $\NT{multipath}$ - will operate. \verb+\vdash+ can be considered the name for the goal. - If the whole pattern is omitted, the whole goal will be selected. - If one or more hypotheses names are given the selection is restricted to - these assumptions. If a $\NT{multipath}$ is omitted the whole - assumption is selected. Remember that the user can be mostly - unaware of this syntax, since the system is able to write down a - $\NT{sequent\_path}$ starting from a visual selection. - \NOTE{Questo ancora non va in matita} - - A $\NT{multipath}$ is a CiC term in which a special constant $\%$ - is allowed. - The roots of discharged subterms are marked with $?$, while $\%$ - is used to select roots. The default $\NT{multipath}$, the one that - selects the whole term, is simply $\%$. - Valid $\NT{multipath}$ are, for example, $(?~\%~?)$ or $\%~\verb+\to+~(\%~?)$ - that respectively select the first argument of an application or - the source of an arrow and the head of the application that is - found in the arrow target. - - The first phase selects not only terms (roots of subterms) but also - their context that will be eventually used in the second phase. - -\item[Phase 2] - plays a role only if the $[~\verb+in match+~\NT{wanted}~]$ - part is specified. From the first phase we have some terms, that we - will see as subterm roots, and their context. For each of these - contexts the $\NT{wanted}$ term is disambiguated in it and the - corresponding root is searched for a subterm $\alpha$-equivalent to - $\NT{wanted}$. The result of this search is the selection the - pattern represents. - -\end{description} - -\noindent -Since the first step is equipotent to the composition of the two -steps, the system uses it to represent each visual selection. -The second step is only meant for the -experienced user that writes patterns by hand, since it really -helps in writing concise patterns as we will see in the -following examples. - -\subsubsection{Examples} -To explain how the first step works let's give an example. Consider -you want to prove the uniqueness of the identity element $0$ for natural -sum, and that you can relay on the previously demonstrated left -injectivity of the sum, that is $inj\_plus\_l:\forall x,y,z.x+y=z+y \to x =z$. -Typing -\begin{grafite} -theorem valid_name: \forall n,m. m + n = n \to m = O. - intros (n m H). -\end{grafite} -\noindent -leads you to the following sequent -\sequent{ -n:nat\\ -m:nat\\ -H: m + n = n}{ -m=O -} -\noindent -where you want to change the right part of the equivalence of the $H$ -hypothesis with $O + n$ and then use $inj\_plus\_l$ to prove $m=O$. -\begin{grafite} - change in H:(? ? ? %) with (O + n). -\end{grafite} -\noindent -This pattern, that is a simple instance of the $\NT{sequent\_path}$ -grammar entry, acts on $H$ that has type (without notation) $(eq~nat~(m+n)~n)$ -and discharges the head of the application and the first two arguments with a -$?$ and selects the last argument with $\%$. The syntax may seem uncomfortable, -but the user can simply select with the mouse the right part of the equivalence -and left to the system the burden of writing down in the script file the -corresponding pattern with $?$ and $\%$ in the right place (that is not -trivial, expecially where implicit arguments are hidden by the notation, like -the type $nat$ in this example). - -Changing all the occurrences of $n$ in the hypothesis $H$ with $O+n$ -works too and can be done, by the experienced user, writing directly -a simpler pattern that uses the second phase. -\begin{grafite} - change in match n in H with (O + n). -\end{grafite} -\noindent -In this case the $\NT{sequent\_path}$ selects the whole $H$, while -the second phase searches the wanted $n$ inside it by -$\alpha$-equivalence. The resulting -equivalence will be $m+(O+n)=O+n$ since the second phase found two -occurrences of $n$ in $H$ and the tactic changed both. - -Just for completeness the second pattern is equivalent to the -following one, that is less readable but uses only the first phase. -\begin{grafite} - change in H:(? ? (? ? %) %) with (O + n). -\end{grafite} -\noindent - -\subsubsection{Tactics supporting patterns} -In \MATITA{} all the tactics that can be restricted to subterm of the working -sequent accept the pattern syntax. In particular these tactics are: simplify, -change, fold, unfold, generalize, replace and rewrite. - -\NOTE{attualmente rewrite e fold non supportano phase 2. per -supportarlo bisogna far loro trasformare il pattern phase1+phase2 -in un pattern phase1only come faccio nell'ultimo esempio. lo si fa -con una pattern\_of(select(pattern))} - -\subsubsection{Comparison with Coq} -Coq has a two diffrent ways of restricting the application of tactis to -subterms of the sequent, both relaying on the same special syntax to identify -a term occurrence. - -The first way is to use this special syntax to specify directly to the -tactic the occurrnces of a wanted term that should be affected, while -the second is to prepare the sequent with another tactic called -pattern and the apply the real tactic. Note that the choice is not -left to the user, since some tactics needs the sequent to be prepared -with pattern and do not accept directly this special syntax. - -The base idea is that to identify a subterm of the sequent we can -write it and say that we want, for example, the third and the fifth -occurce of it (counting from left to right). In our previous example, -to change only the left part of the equivalence, the correct command -is -\begin{grafite} - change n at 2 in H with (O + n) -\end{grafite} -\noindent -meaning that in the hypothesis $H$ the $n$ we want to change is the -second we encounter proceeding from left toright. - -The tactic pattern computes a -$\beta$-expansion of a part of the sequent with respect to some -occurrences of the given term. In the previous example the following -command -\begin{grafite} - pattern n at 2 in H -\end{grafite} -\noindent -would have resulted in this sequent -\begin{grafite} - n : nat - m : nat - H : (fun n0 : nat => m + n = n0) n - ============================ - m = 0 -\end{grafite} -\noindent -where $H$ is $\beta$-expanded over the second $n$ -occurrence. This is a trick to make the unification algorithm ignore -the head of the application (since the unification is essentially -first-order) but normally operate on the arguments. -This works for some tactics, like rewrite and replace, -but for example not for change and other tactics that do not relay on -unification. - -The idea behind this way of identifying subterms in not really far -from the idea behind patterns, but really fails in extending to -complex notation, since it relays on a mono-dimensional sequent representation. -Real math notation places arguments upside-down (like in indexed sums or -integrations) or even puts them inside a bidimensional matrix. -In these cases using the mouse to select the wanted term is probably the -only way to tell the system exactly what you want to do. - -One of the goals of \MATITA{} is to use modern publishing techiques, and -adopting a method for restricting tactics application domain that discourages -using heavy math notation, would definitively be a bad choice. - -\subsection{Tacticals} -\ASSIGNEDTO{gares}\\ -There are mainly two kinds of languages used by proof assistants to recorder -proofs: tactic based and declarative. We will not investigate the philosophy -aroud the choice that many proof assistant made, \MATITA{} included, and we will not compare the two diffrent approaches. We will describe the common issues of the first one and how \MATITA{} tries to solve them. - -First we must highlight the fact that proof scripts made using tactis are -particularly unreadable. This is not a big deal for the user while he is -constructing the proof, but is considerably a problem when he tries to reread -what he did or when he shows his work to someone else. - -Another common issue for tactic based proof scripts is their mantenibility. -Huge libraries have been developed, and backward compatibility is a really time -consuming task. This problem is usually ameliorated with tacticals, that -help in structuring proofs and consequently their maintenance, but have a bad -counterpart in script readability. Since tacticals are executed atomically, -the common practice of executing again a script to review all the proof steps -doesn't work at all. This issue in addition to the really poor feeling that a -list of tactics gives about the proof makes script rereading particularly hard. - -\MATITA{} uses a language of tactics and tacticals, but adopts a peculiar -strategy to make this technique more user friendly without loosing in -mantenibility or expressivity. - -\subsubsection{Tacticals overview} -Before describing the peculiarities of \MATITA{} tacticals we briefly introduce what tacticals are and where they can be useful. - -Tacticals first appered in LCF(cita qualcosa) and can be seen as programming -constructs, like looping, branching, error recovery or sequential composition. -For example $tac_1~.~tac_2$ executes the first tactic and applies the second -only to the first goal opened by $tac_1$. Baranching can be used to specify a -diffrent tactic to apply to each new goal opened by another tactic, for example -$tac_1\verb+;[+~tac_{1.1}~\verb+|+~tac_{1.2}~\verb+|+~\cdots~|~tac_{1.n}~\verb+]+$ -applies respectively $tac_{1.i}$ to the $i$-th goal opened by $tac_1$. Looping -can be used to iterate a tactic until it works: $\verb+repeat+~tac$ applies -$tac$ to the current goal, and again $tac$ to the eventually resulting goals -until all goal are closed or the tactic fails. - -\begin{table} - \caption{\label{tab:tacsyn} Concrete syntax of \MATITA{} tacticals.\strut} -\hrule -\[ -\begin{array}{@{}rcll@{}} - \NT{punctuation} & - ::= & \SEMICOLON \quad|\quad \DOT \quad|\quad \SHIFT \quad|\quad \BRANCH \quad|\quad \MERGE \quad|\quad \POS{\mathrm{NUMBER}~} & \\ - \NT{block\_kind} & - ::= & \verb+focus+ ~|~ \verb+try+ ~|~ \verb+solve+ ~|~ \verb+first+ ~|~ \verb+repeat+ ~|~ \verb+do+~\mathrm{NUMBER} & \\ - \NT{block\_delimiter} & - ::= & \verb+begin+ ~|~ \verb+end+ & \\ - \NT{tactical} & - ::= & \verb+skip+ ~|~ \NT{tactic} ~|~ \NT{block\_delimiter} ~|~ \NT{block\_kind} ~|~ \NT{punctuation} ~|~& \\ -\end{array} -\] -\hrule -\end{table} - -\MATITA{} tacticals syntax is reported in table \ref{tab:tacsyn}. -While one whould expect to find structured constructs like -$\verb+do+~n~\NT{tactic}$ the syntax allows pieces of tacticals to be written. -This is essential for base idea behind matita tacticals: step-by-step execution. - -\subsubsection{\MATITA{} Tinycals} -The low-level tacticals implementation of \MATITA{} allows a step-by-step execution of a tactical, that substantially means that a $\NT{block\_kind}$ is not executed as an atomic operation. This has two major benefits for the user, even being a so simple idea: -\begin{description} -\item[Proof structuring] - is much easyer. Consider for example a proof by induction, and imagine you are using classical tacticals. After applying the - induction principle, with one step tacticals, you have to choose: structure - the proof or not. If you decide for the former you have to branch with - \verb+[+ and write tactics for all the cases separated by \verb+|+ and the - close the tactical with - \verb+]+. You can replace most of the cases by the identity tactic just to - concentrate only on the first goal, but you will have to go one step back and - one further every time you add something inside the tactical. And if you are - boared of doing so, you will finish in giving up structuring the proof and - write a plain list of tactics.\\ - With step-by-step tacticals you can apply the induction principle, and just - open the branching tactical \verb+[+. Then you can interact with the system - reaching a proof of the first case, without having to specify the whole - branching tactical. When you have proved all the induction cases, you close - the branching tactical with \verb+]+ and you are done with a structured proof. -\item[Rereading] - is possible. Going on step by step shows exactly what is going on. - Consider again a proof by induction, that starts applying the induction - principle and suddenly baranches with a \verb+[+. This clearly separates all - the induction cases, but if the square brackets content is executed in one - single step you completely loose the possibility of rereading it. Again, - executing step-by-step is the way you whould like to review the - demonstration. Remember tha understandig the proof from the script is not - easy, and only the execution of tactics (and the resulting transformed goal) - gives you the feeling of what is goning on. -\end{description} - - - -\subsection{named variable e disambiguazione lazy} -\ASSIGNEDTO{csc} - -\subsection{metavariabili} -\label{sec:metavariables} -\ASSIGNEDTO{csc} - -\begin{verbatim} - -\end{verbatim} - -\section{Drawbacks, missing, \dots} - -\subsection{moduli} -\ASSIGNEDTO{} - -\subsection{ltac} -\ASSIGNEDTO{} - -\subsection{estrazione} -\ASSIGNEDTO{} - -\subsection{localizzazione errori} -\ASSIGNEDTO{} - -\acknowledgements -We would like to thank all the students that during the past -five years collaborated in the \HELM{} project and contributed to -the development of Matita, and in particular -A.Griggio, F.Guidi, P. Di Lena, L.Padovani, I.Schena, M.Selmi, -V.Tamburrelli. - -\theendnotes - -\bibliography{matita} - - -\end{document} - diff --git a/helm/papers/system_T/Makefile b/helm/papers/system_T/Makefile deleted file mode 100644 index fb2792fc5..000000000 --- a/helm/papers/system_T/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: - latex t - latex t - latex t - dvips -ta4 t diff --git a/helm/papers/system_T/t.tex b/helm/papers/system_T/t.tex deleted file mode 100644 index 7804118ab..000000000 --- a/helm/papers/system_T/t.tex +++ /dev/null @@ -1,701 +0,0 @@ -\documentclass[a4paper]{article} -\pagestyle{headings} -%\usepackage{graphicx} -\usepackage{amssymb,amsmath,mathrsfs,stmaryrd,amsthm} -%\usepackage{hyperref} -%\usepackage{picins} - -\newcommand{\semT}[1]{\ensuremath{\llbracket #1 \rrbracket}} -\newcommand{\sem}[1]{\llbracket \ensuremath{#1} \rrbracket} -\newcommand{\pair}[2]{<\!#1,#2\!>} -\newcommand{\canonical}{\bot} -\newcommand{\R}{~\mathscr{R}~} -\newcommand{\N}{\,\mathbb{N}\,} -\newcommand{\B}{\,\mathbb{B}\,} -\newcommand{\NT}{\,\mathbb{N}\,} -\newcommand{\NH}{\,\mathbb{N}\,} -\renewcommand{\star}{\ast} -\renewcommand{\vec}{\overrightarrow} -\newcommand{\one}{{\bf 1}} -\newcommand{\mult}{\cdot} -\newcommand{\ind}{Ind(X)} -\newcommand{\indP}{Ind(\vec{P}~|~X)} -\newcommand{\Xind}{\ensuremath{X_{ind}}} -\newcommand{\XindP}{\ensuremath{X_{ind}}} -\renewcommand{\|}{\ensuremath{\quad | \quad}} -\newcommand{\triUP}{\ensuremath{\Delta}} -\newcommand{\triDOWN}{\ensuremath{\nabla}} -\newcommand{\Rx}{\ensuremath{R_X}} - -\newtheorem{thm}{Theorem}[subsection] - -\title{Modified Realizability and Inductive Types} -\author{...} - - -\begin{document} -\maketitle - -\begin{abstract} -... -\end{abstract} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{Introduction} -The characterization of the provable recursive functions of -Peano Arithmetic as the terms of system T is a well known -result of G\"odel \cite{Godel58,Godel90}. Although several authors acknowledge -that the functional interpretation of the Dialectica paper -is not among the major achievements of the author (see e.g. \cite{Girard87}), -the result has been extensively investigated and there is a wide -literature on the -topic (see e.g. \cite{Troelstra,HS86,Girard87}, just to mention textbooks, -and the bibliography therein). - -A different, more neglected, but for many respects much more -direct relation between Peano (or Heyting) Arithmetics and -G\"odel System T is provided -by the so called {\em modified realizability}. Modified realizability -was first introduced by Kreisel in \cite{Kreisel59} - although it will take you -a bit of effort to recognize it in the few lines of paragraph 3.52 - -and later in \cite{Kreisel62} under the name of generalized realizability. -The name of modified realizability seems to be due to Troelstra -\cite{Troelstra} -- who contested Kreisel's name but unfortunately failed in proposing -a valid alternative; we shall reluctantly adopt this latter name -to avoid further confusion. Modified realizability is a typed variant of -realizability, essentially providing interpretations -of $HA^{\omega}$ into itself: each theorem is realized by a typed function -of system T, that also gives the actual computational content extracted -from the proof. -In spite of the simplicity and the elegance of the proof, it is extremely -difficult to find a modern discussion of this result; the most recent -exposition we are aware of is in the encyclopedic work by -Troelstra \cite{Troelstra} (pp.213-229) going back to thirty years ago. -Even modern introductory books -to Type Theory and Proof Theory devoting much space to system T -such as \cite{GLT} and \cite{TS} surprisingly leave out this simple and -illuminating result. Both the previous textbooks -prefer to focus on higher order arithmetics and its relation with -Girard's System $F$ \cite{Girard86}, but the technical complexity and -the didactical value of the two proofs is not comparable: when you -prove that the Induction Principle is realized by the recursor $R$ -of system $T$ you catch a sudden gleam of understanding in the -students eyes; usually, the same does not happen when you show, say, -that the ``forgetful'' interpretation of the higher order predicate defining -the natural numbers is the system $F$ encoding -$\forall X.(X\to X) \to X \to X$ of $\N$. -Moreover, after a first period of enthusiasm, the impredicative -encoding of inductive types in Logical Frameworks has shown several -problems and limitations (see e.g. \cite{Werner} pp.24-25) mostly -solved by assuming inductive types as a primitive logical notion -(leading e.g. form the Calculus of Constructions to the Calculus -of Inductive Constructions - CIC). Even the extraction algorithm of -CIC, strictly based on realizability principles, and in a first time -still oriented towards System F \cite{Paulin87,Paulin89} has been -recently rewritten \cite{Letouzey04} -to take advantage of concrete types and pattern matching of ML-like -languages. Unfortunately, systems like the Calculus of Inductive -Constructions are so complex, from the logical point of view, to -substantially prevent a really neat theoretical exposition (at present, -it does not -even exists a truly complete consistency proofs covering all aspects -of such systems); moreover, not everybody may be interested in all the features -offered by these frameworks, from polymorphism to types depending on -proofs. Our program is to restart the analysis of logical systems with -primitive inductive types in a smooth way, starting form first order -logic and adding little by little small bits of logical power. -This paper is the first step in this direction. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{G\"odel system T} -We shall use a variant of system T with three atomic types $\N$ (natural -numbers), $\B$ (booleans) and $\one$ (a terminal object), and two binary -type constructors $\times$ (product) and $\to$ (arrow type). - -The terms of the language comprise the usual simply typed lambda terms -with explicit pairs, plus the following additional constants: -\begin{itemize} -\item $*:\one$, -\item $true: \B$, $false:\B$, $D:A\to A \to \B \to A$ -\item $O:\N$, $S:\N \to \N$, $R:A \to (A \to \N \to A) \to \N \to A$, -\end{itemize} -Redexes comprise $\beta$-reduction -\[(\beta)~~ \lambda x:U.M ~ N \leadsto M[N/x]\] -projections - -\[(\pi_1)~~fst \pair{M}{N} \leadsto M\\ \hspace{.6cm} (\pi_2)~~ snd \pair{M}{N} -\leadsto N \] -and the following type specific reductions: -\[(D_{true})~~\\D~M~N~ true \leadsto M \hspace{.6cm} - (D_{false})~~ D~M~N~false \leadsto N \] -\[(R_0)~~\\R~M~F~ 0 \leadsto M \hspace{.6cm} - (R_S)~~ R~M~F~(S~n) \leadsto F~n~(R~M~F~n) \] -\[(*)~~ M \leadsto * \] -where (*) holds for any $M$ of type $\one$. - -Note that using the well known isomorpshims -$\one \to A \cong A$, $A \to \one \cong \one$ -and $A \times \one \cong A \cong \one\times A$ (see \cite{AL91}, pp.231-239) -we may always get rid of $\one$ (apart the trivial case). -The terminal object does not play a major role in our treatment, but -it allows to extract better algorithms. In particular we use it -to realize atomic proposition, and stripping out the terminal object using -the above isomorphisms gives a simple way of just keeping the truly -informative part of the algorithms. - - - -\section{Heyting's arithmetics} - -{\bf Axioms} - -\begin{itemize} -\item $nat\_ind: P(0) \to (\forall x.P(x) \to P(S(x))) \to \forall x.P(x)$ -\item $ex\_ind: (\forall x.P(x) \to Q) \to \exists x.P(x) \to Q$ -\item $ex\_intro: \forall x.(P \to \exists x.P)$ -\item $fst: P \land Q \to P$ -\item $snd: P \land Q \to Q$ -\item $conj: P \to Q \to P \land Q$ -\item $false\_ind: \bot \to Q$ -\item $discriminate:\forall x.0 = S(x) \to \bot$ -\item $injS: \forall x,y.S(x) = S(y) \to x=y$ -\item $plus\_O:\forall x.x+0=x$ -\item $plus\_S:\forall x,y.x+S(y)=S(x+y)$ -\item $times\_O:\forall x.x\mult0=0$ -\item $times\_S:\forall x,y.x\mult S(y)=x+(x\mult y)$ -\end{itemize} - -\noindent -{\bf Inference Rules} - -say that ax:AX refers to the previous Axioms list... - -\[ - (Proj)\hspace{0.2cm} \Gamma, x:A, \Delta \vdash x:A - \hspace{2cm} - (Const)\hspace{0.2cm} \Gamma \vdash ax : AX -\] - -\[ - (\to_i)\hspace{0.2cm}\frac{\Gamma,x:A \vdash M:Q}{\Gamma \vdash \lambda x:A.M: A \to Q} \hspace{2cm} - (\to_e)\hspace{0.2cm}\frac{\Gamma \vdash M: A \to Q \hspace{1cm}\Gamma \vdash N: A} - {\Gamma \vdash M N: Q} -\] - -%\[ -% (\land_i)\frac{\Gamma \vdash M:A \hspace{1cm}\Gamma \vdash N:B} -% {\Gamma \vdash \pair{M}{N} : A \land B} -%\hspace{2cm} -% (\land_{el})\frac{\Gamma \vdash A \land B}{\Gamma \vdash A} -%\hspace{2cm} -% (\land_{er})\frac{\Gamma \vdash A \land B}{\Gamma \vdash B} -%\] - -\[ - (\forall_i)\hspace{0.2cm}\frac{\Gamma \vdash M:P}{\Gamma \vdash - \lambda x:\N.M: \forall x.P}(*) \hspace{2cm} - (\forall_e)\hspace{0.2cm}\frac{\Gamma \vdash M :\forall x.P}{\Gamma \vdash M t: P[t/x]} -\] - - -%\[ -% (\exists_i)\frac{\Gamma \vdash P[t/x]}{\Gamma \vdash \exists x.P}\hspace{2cm} -% (\exists_e)\frac{\Gamma \vdash \exists x.P\hspace{1cm}\Gamma \vdash \forall x.P \to Q} -%{\Gamma \vdash Q} -%\] - -\section{Extraction} - -The formulae to types translation function -$\sem{\cdot}$ takes in input formulae in HA and returns types in T. - -\begin{enumerate} -\item $\sem{A} = \one$ if A is atomic -\item $\sem{A \land B} = \sem{A}\times \sem{B}$ -\item $\sem{A \to B} = \sem{A}\to \sem{B}$ -\item $\sem{\forall x:\N.P} = \N \to \sem{P}$ -\item $\sem{\exists x:\N.P} = \N \times \sem{P}$ -\end{enumerate} - -definition. -For any type T of system T $\canonical_T: \one \to T$ is inductively defined as follows: -\begin{enumerate} -\item $\canonical_\one = \lambda x:\one.x$ -\item $\canonical_N = \lambda x:\one.0$ -\item $\canonical_{U\times V} = \lambda x:\one.\pair{\canonical_{U} x}{\canonical_{V} x}$ -\item $\canonical_{U\to V} = \lambda x:\one.\lambda \_:U. \canonical_{V} x$ -\end{enumerate} - -\begin{itemize} -\item $\sem{nat\_ind} = R$ -\item $\sem{ex\_ind} = (\lambda f:(\N \to \sem{P} \to \sem{Q}). -\lambda p:\N\times \sem{P}.f (fst \,p) (snd \,p)$. -\item $\sem{ex\_intro} = \lambda x:\N.\lambda f:\sem{P}.\pair{x}{f}$ -\item $\sem{fst} = \pi_1$ -\item $\sem{snd} = \pi_2$ -\item $\sem{conj} = \lambda x:\sem{P}.\lambda y:\sem{Q}.\pair{x}{y}$ -\item $\sem{false\_ind} = \canonical_{\sem{Q}}$ -\item $\sem{discriminate} = \lambda \_:\N.\lambda \_:\one.\star$ -\item $\sem{injS}= \lambda \_:\N. \lambda \_:\N.\lambda \_:\one.\star$ -\item $\sem{plus\_O} = \sem{times\_O} = \lambda \_:\N.\star$ -\item $\sem{plus\_S} = \sem{times_S} = \lambda \_:\N. \lambda \_:\N.\star$ -\end{itemize} - -In the case of structured proofs: -\begin{itemize} -\item $\semT{M N} = \semT{M} \semT{N}$ -\item $\semT{\lambda x:A.M} = \lambda x:\sem{A}.\semT{M}$ -\item $\semT{\lambda x:\N.M} = \lambda x:\N.\semT{M}$ -\item $\semT{M t} = \semT{M} \semT{t}$ -\end{itemize} - -\section{Realizability} -The realizability relation is a relation $f \R P$ where $f: \sem{P}$, and -$P$ is a closed formula. -In particular: -\begin{itemize} -\item $\neg (\star \R \bot)$ -\item $* \R (t_1=t_2)$ iff $t_1=t_2$ is true ... -\item $\pair{f}{g} \R (P\land Q)$ iff $f \R P$ and $g \R Q$ -\item $f \R (P\to Q)$ iff for any $m$ such that $m \R P$, $(f \,m) \R Q$ -\item $f \R (\forall x.P)$ iff for any natural number $n$ $(f n) \R P[\underline{n}/x]$ -\item $\pair{n}{g}\R (\exists x.P)$ iff $g \R P[\underline{n}/x]$ -\end{itemize} -%We need to generalize the notion of realizability to sequents. -%Given a sequent $B_1, \ldots, B_n \vdash A$ with free variables in -%$\vec{x} = x_1,\ldots, x_m$, we say that $f \R B1, \ldots, B_n \vdash A$ iff -%forall natural numbers $n_1, \ldots, n_m$, -%if forall $i \in {1,\ldots,n}$ -%$m_i \R B_i[\vec{\underline{n}}/\vec{x}]$ then -%$$f \R A[\vec{\underline{n}}/\vec{x}]$$. -% -\noindent -We need to generalize the notion of realizability to sequents.\\ -Let $\vec{x} = FV_{\N}( B_1, \ldots, B_n, P)$ a vector of variables of type -$\N$ that occur free in $B_1, \ldots, B_n, P$. Let $\vec{b:B}$ the vector -$b_1:B_1, \ldots, b_n:B_n$.\\ -We say that $f \R B_1, \ldots, B_n \vdash A:P$ iff -$$\lambda \vec{x:\N}. \lambda \vec{b:B}.f \R -\forall \vec{x}. B_1 \to \ldots \to B_n \to P$$ -Note that $\forall \vec{x}. B_1 \to \ldots \to B_n \to P$ is a closed formula, -so we can use the previous definition of realizability on it. - -\noindent -We proceed to prove that all axioms $ax:Ax$ are realized by $\sem{ax}$. - -\begin{itemize} -\item $nat\_ind$. - We must prove that the recursion schema $R$ realizes the induction principle. - To this aim we must prove that for any $a$ and $f$ such that $a \R P(0)$ and - $f \R \forall x.(P(x) \to P(S(x)))$, and any natural number $n$, $(R \,a \,f - \,n) \R P(\underline{n})$.\\ - We proceed by induction on n.\\ - If $n=O$, $(R \,a \,f \,O) = a$ and by hypothesis $a \R P(0)$.\\ - Suppose by induction that - $(R \,a \,f \,n) \R P(\underline{n})$, and let us prove that the relation - still holds for $n+1$. By definition - $(R \,a \,f \,(n+1)) = f \,n \,(R \,a \,f \,n)$, - and since $f \R \forall x.(P(x) \to P(S(x)))$, - $(f n (R a f n)) \R P(S(\underline{n}))=P(\underline{n+1})$. - -\item $ex\_ind$. - We must prove that $$\underline{ex\_ind} \R (\forall x:(P x) - \to Q) \to (\exists x:(P x)) \to Q$$ Following the definition of $\R$ we have - to prove that given\\ $f~\R~\forall~x:((P~x)~\to~Q)$ and - $p~\R~\exists~x:(P~x)$, then $\underline{ex\_ind}~f~p \R Q$.\\ - $p$ is a couple $\pair{n_p}{g_p}$ such that $g_p \R P[\underline{n_p}/x]$, while - $f$ is a function such that forall $n$ and for all $m \R P[\underline{n}/x]$ - then $f~n~m \R Q$ (note that $x$ is not free in $Q$ so $[\underline{n}/x]$ - affects only $P$).\\ - Expanding the definition of $\underline{ex\_ind}$, $fst$ - and $snd$ we obtain $f~n_p~g_p$ that we know is in relation $\R$ with $Q$ - since $g_p \R P[\underline{n_p}/x]$. - -\item $ex\_intro$. - We must prove that - $$\lambda x:\N.\lambda f:\sem{P}.\pair{x}{f} \R \forall x.(P\to\exists x.P(x)$$ - that leads to prove that for each n - $\underline{ex\_into}~n \R (P\to\exists x.P(x))[\underline{n}/x]$.\\ - Evaluating the substitution we have - $\underline{ex\_into}~n \R (P[\underline{n}/x]\to\exists x.P(x))$.\\ - Again by definition of $\R$ we have to prove that given a - $m \R P[\underline{n}/x]$ then $\underline{ex\_into}~n~m \R \exists x.P(x)$. - Expanding the definition of $\underline{ex\_intro}$ we have - $\pair{n}{m} \R \exists x.P(x)$ that is true since $m \R P[\underline{n}/x]$. - -\item $fst$. - We have to prove that $\pi_1 \R P \land Q \to P$, that is equal to proving - that for each $m \R P \land Q$ then $\pi_1~m \R P$ . - $m$ must be a couple $\pair{f_m}{g_m}$ such that $f_m \R P$ and $g_m \R Q$. - So we conclude that $\pi_1~m$ reduces to $f_m$ that is in relation $\R$ - with $P$. - -\item $snd$. The same for $fst$. - -\item $conj$. - We have to prove that - $$\lambda x:\sem{P}. \lambda y:\sem{Q}.\pair{x}{y}\R P \to Q \to P \land Q$$ - Following the definition of $\R$ we have to show that - for each $m \R P$ and for each $n \R Q$ then - $(\lambda x:\sem{P}. \lambda y:\sem{Q}.\pair{x}{y})~m~n \R P \land Q$.\\ - This is the same of $\pair{m}{n} \R P \land Q$ that is verified since - $m \R P$ and $n \R Q$. - - -\item $false\_ind$. - We have to prove that $\bot_{\sem{Q}} \R \bot \to Q$. - Trivial, since there is no $m \R \bot$. - -\item $discriminate$. - Since there is no $n$ such that $0 = S n$ is true... \\ - $\underline{discriminate}~n \R 0 = S~\underline{n} \to \bot$ for each n. - -\item $injS$. - We have to prove that for each $n_1$ and $n_2$\\ - $\lambda \_:\N. \lambda \_:\N.\lambda \_:\one.*~n_1~n_2 \R - (S(x)=S(y)\to x=y)[n_1/x][n_2/y]$.\\ - We assume that $m \R S(n_1)=S(n_2)$ and we have to show that - $\lambda \_:\N. \lambda \_:\N.\lambda \_:\one.*~n_1~n_2~m$ that reduces to - $*$ is in relation $\R$ with $n_1=n_2$. Since in the standard model of - natural numbers $S(n_1)=S(n_2)$ implies $n_1=n_2$ we have that - $* \R n_1=n_2$. - -\item $plus\_O$. - Since in the standard model for natural numbers $0$ is the neutral element - for addition $\lambda \_:\N.\star \R \forall x.x + 0 = x$. - -\item $plus\_S$. - In the standard model of natural numbers the addition of two numbers is the - operation of counting the second starting from the first. So - $$\lambda \_:\N. \lambda \_:\N. \star \R \forall x,y.x+S(y)=S(x+y)$$. - -\item $times\_O$. - Since in the standard model for natural numbers $0$ is the absorbing element - for multiplication $\lambda \_:\N.\star \R \forall x.x \mult 0 = 0$. - -\item $times\_S$. - In the standard model of natural numbers the multiplications of two - numbers is the operation of adding the first to himself a number of times - equal to the second number. So - $$\lambda \_:\N. \lambda \_:\N. \star \R \forall x,y.x+S(y)=S(x+y)$$. - -\end{itemize} - - -\noindent -{\bf example}\\ -Let us prove the following principle of well founded induction: -\[(\forall m.(\forall p. p < m \to P~p) \to P~m) \to \forall n.P~n\] -In the following proof we shall make use of proof-terms, since we finally -wish to extract the computational content; we leave to reader the easy -check that the proof object describes the usual and natural proof -of the statement. - -We assume to have already proved the following lemmas (having trivial -realizers):\\ -\[L : \forall p, q.p < q \to q \le 0 \to \bot\] -\[M : \forall p,q,n.p < q \to q \le (S n) \to p \le n \] -Let us assume $h : \forall m.(\forall p. p < m \to P~p) \to P~m$. -We prove by induction on $n$ that $\forall q. q \le n \to P~q$. -For $n=0$, we get a proof of $P ~q$ by -\[ B \equiv \lambda q.\lambda h_0:q \le 0. h ~q~ -(\lambda p.\lambda k:p < q. false\_ind ~(L~p~q~k~h_0)) \] -In the inductive case, we must prove that, for any $n$, -\[(\forall q. q \le n \to P~q) \to (\forall q. q \le S n \to P~q)\] -Assume $h_1: \forall q. q \le n \to P q$ and -$h_2: q \le S ~n$. Let us prove $\forall p. p < q \to P~p$. -If $h_3: p < q$ then $(M~ p~ q~ n~ h_3~ h_2): p \le n$, hence -$h_1 ~p ~ (M~ p~ q~ n~ h_3~ h_2): P~p$.\\ -In conclusion, the proof of the -inductive case is -\[I \equiv \lambda n.\lambda h_1:\forall q. q \le n \to P~ q.\lambda q.\lambda h_2:q \le S n. -h ~ q ~ (\lambda p.\lambda h_3:p < q.h_1 ~p~ (M~ p~ q~ n~ h_3~ h_2)) \] -(where $h$ is free in I). -The full proof is -\[ \lambda h: \forall m.(\forall p. p < m \to P~p) \to P~m.\lambda m. -nat\_ind ~B ~ I ~m~m~ (le\_n ~ m) \] -where $le\_n$ is a proof that $\forall n. n \le n$, and the free $P$ in the definition of $nat_{ind}$ is instantiated with $\forall m.m \le m \to P~m$.\\ -Form the previous proof,after stripping terminal objects, -and a bit of eta-contraction to make -the term more readable, we extract the following term (types are omitted): - -\[R' \equiv \lambda f.\lambda m. -R~ (\lambda n.f ~n~ (\lambda q.*))~ -(\lambda n\lambda g\lambda q.f ~q~g)~m ~m\] - -The intuition of this operator is the following: supose to -have a recursive definition $h q = F[h]$ where $q:\N$ and -$F[h]: A$. This defines a functional -$f: \lambda q.\lambda g.F[g]: N\to(N\to A) \to A$, such that -(morally) $h$ is the fixpoint of $f$. For instance, -in the case of the fibonacci function, $f$ is -\[fibo \equiv \lambda q. \lambda g. -if~ q = 0~then~ 1~ else~ if~ q = 1~ then~ 1~ else~ g (q-1)+g (q-2)\] - -So $f$ build a new -approximation of $h$ from the previous approximation $h$ taken -as input. $R'$ precisely computes the mth-approximation starting -from a dummy function $(\lambda q.*_A)$. Alternatively, -you may look at $g$ as the ``history'' (curse of values) of $h$ -for all values less or equal to $q$; then $f$ extend $g$ to -$q+1$. - -Let's compute for example -\begin{eqnarray} -R'~fibo~2 & \leadsto & - R~ (\lambda n.fibo ~n~ (\lambda q.*))~ - (\lambda n\lambda g\lambda q.fibo ~q~g)~2 ~2\nonumber\\ -& \leadsto & - (\lambda n\lambda g\lambda q.fibo ~q~g)~1~ - (R~ - (\lambda n.fibo ~n~ (\lambda q.*))~ - (\lambda n\lambda g\lambda q.fibo ~q~g)~1)~ - 2 \nonumber\\ -& \leadsto & - \lambda q.fibo ~q~ - (R~ - (\lambda n.fibo ~n~ (\lambda q.*))~ - (\lambda n\lambda g\lambda q.fibo ~q~g)~1)~ - 2 \nonumber\\ -& \leadsto & - \lambda q.fibo ~q~ - ((\lambda n\lambda g\lambda q.fibo ~q~g)~0~ - (R~ - (\lambda n.fibo ~n~ (\lambda q.*))~ - (\lambda n\lambda g\lambda q.fibo ~q~g)~0))~ - 2 \nonumber\\ -& \leadsto & - \lambda q.fibo ~q~ - (\lambda q.fibo ~q~ - (R~ - (\lambda n.fibo ~n~ (\lambda q.*))~ - (\lambda n\lambda g\lambda q.fibo ~q~g)~0) - )2 \nonumber\\ -& \leadsto & - \lambda q.fibo ~q~ - (\lambda q.fibo ~q~ - (\lambda n.fibo ~n~ (\lambda q.*)))2 - \nonumber\\ -& \leadsto & - fibo~2~(\lambda q.fibo ~q~ (\lambda n.fibo ~n~ (\lambda q.*))) \nonumber\\ -& \leadsto & - (\lambda q.fibo ~q~ (\lambda n.fibo ~n~ (\lambda q.*))) 1 + - (\lambda q.fibo ~q~ (\lambda n.fibo ~n~ (\lambda q.*))) 0 \nonumber\\ -& \leadsto & - fibo ~1~ (\lambda n.fibo ~n~ (\lambda q.*)) + - fibo ~0~ (\lambda n.fibo ~n~ (\lambda q.*)) \nonumber\\ -& \leadsto & - 1 + 1 \nonumber -\end{eqnarray} -Note that the second argument of $fibo$ is always a method to calculate all the prvious values of $fibo$. DA CAPIRE (per me) come mai $\lambda n$ non viene usata... -CAPITA CON csc: - -n non serve perche' c'e' una relazione logica di n con q, -in particolare $q <= Sn$ ... quindi $q < n$ (lemma M)... -e quindi posso usare come history $< n$ una history $< q$. -il $\lambda h2$ essendo $[[q <= Sn]]$ = 1 viene scartata. - -se si spiega come array viene decente... forse. lunedi' provo a scrivere -meglio. - -\section{Inductive types} -The notation we will use is similar to the one used in -\cite{Werner} and \cite{Paulin89} but we prefer -giving a label to each constructor and use that label instead of the -longer $Constr(n,\ind\{\ldots\})$ to indicate the $n^{th}$ constructor. -We adopt the vector notation to make things more readable. -$\vec{m}$ has to be intended as $m_1~\ldots~m_n$ where $n$ may -be equal to 0 (we use $m_1~\vec{m}$ when we want to give a -name to the first $m$ and assert $n>0$). If the vector notation is -used inside an arrow type it has a slightly different meaning, -$A \to \vec{B} \to C$ is a shortcut for -$A \to B_1 \to \ldots \to B_n \to C$. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\subsection{Extensions to the logic framework} -To talk about arbitrary inductive types (and not hard coded natural numbers) we -have to extend a bit our framework. - -First we admit quantification over inductive types $T$, thus $\forall x:T.A$ -and $\exists x:T.A$ are allowed. Then rules 4 and 5 of the $\sem{\cdot}$ -definition are replaced by $\sem{\forall x:T.P} = T \to \sem{P}$ and -$\sem{\exists x:T.P} = T \times \sem{P}$. - -For each inductive type we will describe the formation rules and the -corresponding induction principle schema. - -Symmetrically we have to extend System T with arbitrary inductive types and -we will see how theyr recursors are defined in the following sections. - -The definition of $\R$ is modified substituting each occurrence of $\N$ with -a generic inductive type $T$. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\subsection{Type definition} -$$\ind\{c_1:C(X); \ldots ; c_n:C(X)\}$$ -$$C(X) ::= X \| T \to C(X) \| X \to C(X)$$ -In the second case we mean $T \neq X$. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\subsection{Induction principle} -The induction principle for an inductive type $X$ and a predicate $Q$ -is a constant with the following type -$$\Xind:\vec{\triUP\{C(X), c\}} \to \forall t:X.Q(t)$$ -$\triUP$ takes a constructor type $C(X)$ and a term $c$ (initially $c$ is a -constructor of X, and $c:C(X)$) and is defined by recursion as follows: -\begin{eqnarray} -\triUP\{X, c\} & = & Q(c) \nonumber\\ -\triUP\{T \to C(X), c\} & = & - \forall m:T.\triUP\{C(X),c~m\} \nonumber\\ -\triUP\{X \to C(X), c\} & = & - \forall t:X.Q(t) \to \triUP\{C(X), c~t\} \nonumber -\end{eqnarray} - -%%%%%%%%%%%%%%%%%%%%% -\subsection{Recursor} -\subsubsection{Type} -The type of the recursor $\Rx$ on an inductive type $X$ is -$$\Rx : \vec{\square\{C(X)\}} \to X \to \alpha$$ -$\square$ is defined by recursion on the constructor type $C(X)$. -\begin{eqnarray} -\square\{X\} & = & \alpha \nonumber \\ -\square\{T \to C(X)\} & = & T \to \square\{C(X)\}\nonumber \\ -\square\{X \to C(X)\} & = & X \to \alpha \to \square\{C(X)\}\nonumber -\end{eqnarray} -\subsubsection{Reduction rules} -We say that -$$\Rx~\vec{f}~(c_i~\vec{m}) \leadsto -\triDOWN\{C(X)_i, f_i, \vec{m}\}$$ -$\triDOWN$ takes a constructor type $C(X)$, a term $f$ -(of type $\square\{C(X)\}$) and is defined by recursion as follows: -\begin{eqnarray} -\triDOWN\{X, f, \} & = & f\nonumber \\ -\triDOWN\{T \to C(X), f, m_1~\vec{m}\} & = & - \triDOWN\{C(X), f~m_1, \vec{m}\}\nonumber \\ -\triDOWN\{X \to C(X), f, m_1~\vec{m}\} & = & - \triDOWN\{C(X), f~m_1~(\Rx~\vec{f}~m_1), - \vec{m}\}\nonumber -\end{eqnarray} -We assume $\Rx~\vec{f}~(c_i~\vec{m})$ is well typed, so in the first case we -can omit $\vec{m}$ since it is an empty sequence. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\subsection{Realizability of the induction principle} -Once we have inductive types and their induction principle we want to show that -the recursor $\Rx$ realizes $\Xind$, that is that $\Rx$ has type -$\sem{\Xind}$ and is in relation $\R$ with $\Xind$. - -\begin{thm}$\Rx : \sem{\Xind}$\end{thm} -\begin{proof} -We have to compare the definition of $\square$ and $\triUP$ -since they play the same role in constructing respectively the types of -$\Rx$ and -$\Xind$. If we assume $\alpha = \sem{Q}$ and we apply the $\sem{\cdot}$ -function to each right side of the $\triUP$ definition we obtain -exactly $\square$. The last two elements of the arrows $\Rx$ and -$\Xind$ are again the same up to $\sem{\cdot}$. -\end{proof} - -\begin{thm}$\Rx\R \Xind$\end{thm} -\begin{proof} -To prove that $\Rx\R \Xind$ we must assume that for each $i$ index -of a constructor of $X$, $f_i \R \triUP\{C(X)_i, c_i\}$ and we -have to prove that for each $t:X$ -$$\Rx~\vec{f}~t \R Q(t)$$ -\noindent -We proceed by induction on the structure of $t$. -\\ -The base case is when the -type of the head constructor of $t$ has no recursive arguments (i.e. the type -is generated using only the first two rules $C(X)$), so -$(\Rx~\vec{f}~(c_i~\vec{m}))$ reduces in one step to $(f_i~\vec{m})$. $f_i$ -realizes $\triUP\{C(X)_i, c_i\}$ by assumption and since we are in the base -case $\triUP\{C(X)_i, c_i\}$ is of the form $\vec{\forall t:T}.Q(c_i~\vec{t})$. -Thus $f_i~\vec{m} \R Q(c_i~\vec{m})$. -\\ -In the induction step we have as induction hypothesis that for each recursive -argument $t_i$ of the head constructor $c_i$, $r_i\equiv -\Rx~\vec{f}~t_i \R Q(t_i)$. By the third rule of $\triDOWN$ we obtain the reduct -$f_i~\vec{m}~\vec{t~r}$ (here we write first all the non recursive arguments, -then all the recursive one. In general they can be mixed and the proof is -exactly the same but the notation is really heavier). We know by hypothesis -that $f_i \R \triUP\{C(X)_i, c_i\} \equiv \vec{\forall m:T}.\vec{\forall -t:X.Q(t)} \to Q(c_i~\vec{m}~\vec{t})$, thus $f_i~\vec{m}~\vec{t~r} \R -Q(c_i~\vec{m}~\vec{t})$. -\end{proof} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{Improoving inductive types} -It is possible to parametrize inductive types over other inductive types -without much difficulties since the type $T$ in $C(X)$ is free. Both the -recursor and the induction principle are schemas, parametric over $T$. - -Possiamo anche definire $X_{\vec{P}}\equiv Ind(P|X)={c_i : C(P|X)}$ e poi -fare variare $T$ su $\vec{P}$, ma non ottengo niente di meglio. - -Credo anche che quantificare su eventuali variabili di tipo non cambi niente -visto che non abbiamo funzioni. - -Se ammettiamo che i tipi dipendano da termini di tipo induttivo - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{thebibliography}{} -\bibitem{AL91}A.Asperti, G.Longo. Categories, Types and Structures. -Foundations of Computing, Cambrdidge University press, 1991. -\bibitem{Girard86}G.Y.Girard. The system F of variable types, fifteen -years later. Theoretical Computer Science 45, 1986. -\bibitem{Girard87}G.Y.Girard. Proof Theory and Logical Complexity. -Bibliopolis, Napoli, 1987. -\bibitem{GLT}G.Y.Girard, Y.Lafont, P.Tailor. Proofs and Types. -Cambridge Tracts in Theoretical Computer Science 7.Cambridge University -Press, 1989. -\bibitem{Godel58}K.G\"odel. \"Uber eine bisher noch nicht ben\"utzte Erweiterung -des finiten Standpunktes. Dialectica, 12, pp.34-38, 1958. -\bibitem{Godel90}K.G\"odel. Collected Works. Vol.II, Oxford University Press, -1990. -\bibitem{HS86}J.R.Hindley, J. P. Seldin. Introduction to Combinators and -Lambda-calculus, Cambridge University Press, 1986. -\bibitem{Howard68}W.A.Howard. Functional interpretation of bar induction -by bar recursion. Compositio Mathematica 20, pp.107-124. 1958 -\bibitem{Howard80}W.A.Howard. The formulae-as-types notion of constructions. -in J.P.Seldin and j.R.Hindley editors, to H.B.Curry: Essays on Combinatory -Logic, Lambda calculus and Formalism. Acedemic Press, 1980. -\bibitem{Kleene45}S.C.Kleene. On the interpretation of intuitionistic -number theory. Journal of Symbolic Logic, n.10, pp.109-124, 1945. -\bibitem{Kreisel59} G.Kreisel. Interpretation of analysis by means of -constructive functionals of finite type. In. A.Heyting ed. -{\em Constructivity in mathematics}. North Holland, Amsterdam,1959. - \bibitem{Kreisel62} G.Kreisel. On weak completeness of intuitionistic -predicatelogic. Journal of Symbolic Logic 27, pp. 139-158. 1962. -\bibitem{Letouzey04}P.Letouzey. Programmation fonctionnelle -certifi\'ee; l'extraction -de programmes dans l'assistant Coq. Ph.D. Thesis, Universit\'e de -Paris XI-Orsay, 2004. -\bibitem{Loef}P.Martin-L\"of. Intuitionistic Type Theory. -Bibliopolis, Napoli, 1984. -\bibitem{Paulin87}C.Paulin-Mohring. Extraction de programme dans le Calcul de -Constructions. Ph.D. Thesis, Universit\'e de -Paris 7, 1987. -\bibitem{Paulin89}C.Paulin-Mohring. Extracting $F_{\omega}$ programs -from proofs in the Calculus of Constructions. In proc. of the Sixteenth Annual -ACM Symposium on -Principles of Programming Languages, Austin, January, ACML Press 1989. -\bibitem{Sch}K.Sch\"utte. Proof Theory. Grundlehren der mathematischen -Wissenschaften 225, Springer Verlag, Berlin, 1977. -\bibitem{Troelstra}A.S.Troelstra. Metamathemtical Investigation of -Intuitionistic -Arithmetic and Analysis. Lecture Notes in Mathematics 344, Springer Verlag, -Berlin, 1973. -\bibitem{TS}A.S.Troelstra, H.Schwichtenberg. Basic Proof Theory. -Cambridge Tracts in Theoretical Computer Science 43.Cambridge University -Press, 1996. -\bibitem{Werner}B.Werner. Une Th\'eorie des Constructions Inductives. -Ph.D.Thesis, Universit\'e de Paris 7, 1994. - - -\end{thebibliography} - -\end{document} - diff --git a/helm/papers/use_case/stats/CANDIDATI b/helm/papers/use_case/stats/CANDIDATI deleted file mode 100644 index 9cc2619a8..000000000 --- a/helm/papers/use_case/stats/CANDIDATI +++ /dev/null @@ -1,191 +0,0 @@ -# -# CANDIDATI -# ========= -# -# 500 -# -cic:/Coq/Reals/Rgeom/isometric_rotation.con.body -cic:/CoRN/reals/IVT/b_mon'.con.body -cic:/CoRN/reals/NRootIR/AbsIR_bnd_AbsIR.con.body -# -# 1000 -# -cic:/Rocq/TreeAutomata/lattice_fixpoint/map_maxi_maxi.con.body -cic:/Sophia-Antipolis/Float/FroundPlus/radixRangeBoundExp_subproof5.con.body -cic:/Sophia-Antipolis/Float/FroundPlus/radixRangeBoundExp_subproof0.con.body -# -# 1500 -# -cic:/Sophia-Antipolis/MATHS/GROUPS/g2/T4R1.con.body -cic:/Coq/Reals/RList/RList_P15.con.body -cic:/Rocq/THREE_GAP/Nat_compl/ge_trans.con.body -# -# 2000 -# -cic:/Sophia-Antipolis/Algebra/Parts2/compl_comp_rev.con.body -cic:/Cachan/SMC/make/BDDmake_node_height_le.con.body -cic:/Orsay/ExactRealArithmetic/Zsqrt_complements/Zsqrt_sqrt_bis.con.body -# -# 2500 -# -cic:/Eindhoven/POCKLINGTON/modprime/techlemma3.con.body -cic:/Sophia-Antipolis/Cours-de-Coq/Fil/Pairs_are_enough_finite_case.con.body -cic:/Nijmegen/QArith/Qquadratic_sign/Qquadratic_sign_One_y.con.body -# -# 3000 -# -cic:/CoRN/ftc/Integral/partition_join_aux'.con.body -cic:/Sophia-Antipolis/geometry/reflexion_plane/reflexion_projete_orthogonal_milieu.con.body -cic:/Sophia-Antipolis/geometry/trigo/trigo_Pythagore.con.body -# -# 3500 -# -cic:/CoRN/algebra/CPolynomials/nexp_apply.con.body -cic:/Sophia-Antipolis/Angles/point_cocyclicite/reciproque_cocyclique.con.body -cic:/Coq/Reals/Rtrigo/sin_increasing_0.con.body -# -# 4000 -# -cic:/CoRN/algebra/CAbGroups/nmult_plus'.con.body -cic:/CoRN/fta/KeyLemma/lem_1a.con.body -cic:/Coq/Reals/Exp_prop/exp_form.con.body -# -# 4500 -# -cic:/Utrecht/ABP/abp_lem1/CommLs5.con.body -cic:/CoRN/complex/NRootCC/nrCC4_a1.con.body -cic:/Coq/Reals/Rpower/ln_continue.con.body -# -# 5000 -# -cic:/Sophia-Antipolis/geometry/barycentre/unicite_coor_bar.con.body -cic:/Dyade/Otway-Rees/inv1rel5/POinv1rel5.con.body -cic:/CoRN/algebra/CRings/nring_different.con.body -# -# 5500 -# -cic:/Sophia-Antipolis/geometry/milieu/milieu_distinct2.con.body -cic:/Utrecht/ABP/abp_proc/LemLin3.con.body -cic:/Utrecht/ABP/abp_proc/LemLin6.con.body -# -# 6000 -# -cic:/Montevideo/FSSecModel/chownIsSecure/ChownPSP.con.body -cic:/Sophia-Antipolis/Bertrand/Knuth_why/Prime_po_9_subproof46.con.body -cic:/Montevideo/FSSecModel/chmodIsSecure/ChmodPSP.con.body -# -# 6500 -# -cic:/CoRN/fta/CC_Props/seq_yields_zero.con.body -cic:/Sophia-Antipolis/Bertrand/Knuth_why/Prime_po_9_subproof58.con.body -cic:/Nijmegen/QArith/Qpositive_sub/le_minus_left_subproof.con.body -# -# 7000 -# -cic:/Nijmegen/QArith/Qpositive_sub/Qpositive_sub_correct.con.body -cic:/CoRN/algebra/Cauchy_COF/R_inv_ext.con.body -cic:/Cachan/SMC/config/bs_node_height_right.con.body -# -# 7500 -# -cic:/Sophia-Antipolis/Huffman/PBTree2BTree/to_btree_inb.con.body -cic:/CoRN/reals/Series/ratio_test_div.con.body -cic:/Sophia-Antipolis/Buchberger/Pminus/minusP_inv3b.con.body -# -# 8000 -# -cic:/Rocq/COC/Termes/mem_sort_subst.con.body -cic:/Sophia-Antipolis/geometry/orthocentre/deux_hauteurs_trois.con.body -cic:/Rocq/GRAPHS/cgraph/ad_1_path_dist_big_enough_1.con.body -# -# 8500 -# -cic:/CoRN/reals/Series/aew_series_conv.con.body -cic:/Nijmegen/QArith/homographicAcc_Qhomographic_sign/Qhomographic_Qpositive_to_Q_homographicAcc_pos_1.con.body -cic:/Sophia-Antipolis/Buchberger/Pspoly/fconfl_top.con.body -# -# 9000 -# -cic:/Coq/Reals/Ranalysis2/maj_term3.con.body -cic:/Sophia-Antipolis/geometry/representant_unitaire/unicite_representant_unitaire.con.body -cic:/Sophia-Antipolis/MATHS/DOMAINS/triple/Triples_are_enough_finite_case.con.body -# -# 9500 -# -cic:/CoRN/reals/CauchySeq/str_Archimedes.con.body -cic:/Coq/romega/ReflOmegaCore/T_OMEGA13_stable.con.body -cic:/Orsay/Maths/divide/divide_1.con.body -# -# 10000 -# -cic:/Nijmegen/QArith/general_Q/Qpositive_c_equal_subproof1.con.body -cic:/Rocq/TreeAutomata/inter_correct/preDTA_produit_l_ref_ok.con.body -cic:/Rocq/AILS/ails/step2.con.body -# -# 20000 -# -cic:/Sophia-Antipolis/geometry/mesure_algebrique/barycentre_mes_alg.con.body -cic:/Coq/Reals/Ranalysis1/deriv_maximum.con.body -cic:/CoRN/ftc/Integral/integral_empty.con.body -# -# 30000 -# -cic:/CoRN/reals/iso_CReals/less_pres_Lim.con.body -cic:/CoRN/ftc/FunctSeries/Fun_Series_Sum_plus.con.body -cic:/CoRN/tactics/RingReflection/PM_plus_corr_R.con.body -# -# 40000 -# -cic:/Nijmegen/QArith/Qquadratic_Qpositive_to_Q_properties/Qquadratic_Qpositive_to_Q_0_subproof.con.body -cic:/Sophia-Antipolis/geometry/barycentre/unicite_coor_bar_aux.con.body -cic:/CoRN/algebra/COrdCauchy/CS_seq_mult.con.body -# -# 50000 -# -cic:/CoRN/transc/Pi/pi_seq_Cauchy.con.body -cic:/Rocq/TreeAutomata/inter/predta_produit_5.con.body -cic:/CoRN/ftc/MoreIntervals/compact_in_interval_y_lft.con.body -# -# 60000 -# -cic:/CoRN/tactics/FieldReflection/FF_plus_corr_F.con.body -cic:/Orsay/ExactRealArithmetic/Lemmes_generaux/Zsqr_cond.con.body -cic:/Rocq/COMPILER/Mini_ML/ML_DS_determ.con.body -# -# 70000 -# -cic:/CoRN/reals/IVT/intervals_small''.con.body -cic:/Sophia-Antipolis/geometry/Plans_paralleles/para_plan_sym.con.body -cic:/CoRN/ftc/MoreIntegrals/Integral_plus_Integral.con.body -# -# 80000 -# -cic:/CoRN/ftc/WeakIVT/a_seq_b_seq_dist_n.con.body -cic:/Nijmegen/QArith/Qquadratic_Qpositive_to_Qpositive/Qquadratic_Qpositive_to_Qpositive_equal.con.body -cic:/Sophia-Antipolis/geometry/Droite_plan_espace/points_plan_espace.con.body -# -# 90000 -# -cic:/Sophia-Antipolis/Bertrand/Knuth_why/Prime_po_9.con.body -cic:/CoRN/transc/InvTrigonom/Tan_ilim.con.body -cic:/Nijmegen/QArith/Qquadratic_Qpositive_to_Q_properties/Qquadratic_Qpositive_to_Q_4_subproof.con.body -# -# 100000 -# -cic:/CoRN/tactics/GroupReflection/MM_plus_corr_G.con.body -cic:/Nijmegen/QArith/Qquadratic_Qpositive_to_Q_properties/Qquadratic_Qpositive_to_Q_5_subproof.con.body -cic:/Rocq/DEMOS/Demo_AutoRewrite/ResAck0.con.body -# -# 200000 -# -cic:/CoRN/ftc/Composition/Derivative_I_comp.con.body -cic:/CoRN/metrics/Equiv/inv_isopsmetry.con.body -cic:/Cachan/SMC/mu/mu_eval_lemma2.con.body -# -# A NOI CARI -# ========== -# -# 7211 cic:/Coq/Reals/Rlimit/limit_inv.con.body -# 3054 cic:/Coq/Reals/Rlimit/limit_mul.con.body -# 1172 cic:/Coq/Reals/Rlimit/limit_plus.con.body -# diff --git a/helm/papers/use_case/stats/Makefile b/helm/papers/use_case/stats/Makefile deleted file mode 100644 index 6858eb637..000000000 --- a/helm/papers/use_case/stats/Makefile +++ /dev/null @@ -1,116 +0,0 @@ - -SORT_SIZE = sort -n - -SORT_NODES = sort -t ' ' -k 2 -n - -TARGETS = con ind var body types proof_tree - -STATS_TARGETS = \ - $(TARGETS:%=stats_%.xml) \ - stats_theories.xml - -all_xml: $(STATS_TARGETS) - -all_html: $(STATS_TARGETS:%.xml=%.html) - -all_txt: $(STATS_TARGETS:%.xml=%.txt) - -stats: stats.cc - g++ -o $@ `pkg-config gdome2-cpp-smart --cflags --libs` $< - -#%.xml.gz: %.xml -# gzip $< - -stats_%.xml.gz: stats_%.xml - gzip $< - -stats_%.xml: - @echo "" >$@ - @find /local/helm/library/coq_contribs/$(CONTRIB) -name "*."$(@:stats_%.xml=%)".xml.gz" -type f -exec ./stats.sh {} \; >>$@ - @echo "" >>$@ - -stats_theories.xml: - @echo "" >$@ - @find /local/helm/library/theories -name "*.xml" -type f -exec ./stats.sh {} \; >>$@ - @echo "" >>$@ - -stats_%.html: stats_%.xml.gz - xsltproc mkhtml.xsl $< >$@ - -stats_%.txt: stats_%.xml.gz extract.xsl - xsltproc extract.xsl $< >$@ - -stats_candidates.xml.gz: - ./stats_candidates.sh - -stats_candidates_c1.xml.gz: - ./stats_candidates_c1.sh - -mkdiff: mkdiff.cc - g++ -o $@ $< - -parsing_times_%_candidates.txt: parsing_times.sh stats_candidates.txt - @echo "Collecting parsing times in CICXML_NOBLANKS_NODTD for $(@:parsing_times_%_candidates.txt=%)..." - @./$< CICXML_NOBLANKS_NODTD parsing_time_$(@:parsing_times_%_candidates.txt=%).sh stats_candidates.txt | $(SORT_NODES) >$@ - -parsing_times_%_candidates_c1.txt: parsing_times.sh stats_candidates_c1.txt - @echo "Collecting parsing times in CONTENTNB for $(@:parsing_times_%_candidates_c1.txt=%)..." - @./$< CONTENTNB parsing_time_$(@:parsing_times_%_candidates_c1.txt=%).sh stats_candidates_c1.txt | $(SORT_NODES) >$@ - -#parsing_times_%_candidates: parsing_times_%_candidates.sh -# sh $< >$@ - -#parsing_times_%_candidates_c1: parsing_times_%_candidates_c1.sh -# sh $< >$@ - -PARSING_TIMES_TARGETS = libxml2_reader libxml2_sax2 libxml2_tree expat xerces_sax2 xerces_tree - -PARSING_TIMES_TARGETS_TXT = \ - $(PARSING_TIMES_TARGETS:%=parsing_times_%_candidates.txt) \ - $(PARSING_TIMES_TARGETS:%=parsing_times_%_candidates_c1.txt) - -parsing_times_candidates.ps parsing_times_candidates_c1.ps: $(PARSING_TIMES_TARGETS_TXT) parsing_times.gpscript - gnuplot parsing_times.gpscript - -parsing_times: parsing_times_candidates.ps parsing_times_candidates_c1.ps - -stats_candidates_localdtd.txt: stats_candidates.txt - sed s/_NODTD/_LOCALDTD/ $< >$@ - -parsing_validating_times_%_candidates.txt: validating_times.sh stats_candidates_localdtd.txt - @echo "Collecting validating times in CICXML_NOBLANKS_LOCALDTD for $(@:parsing_validating_times_%_candidates.txt=%)..." - @./$< CICXML_NOBLANKS_LOCALDTD validating_time_$(@:parsing_validating_times_%_candidates.txt=%).sh stats_candidates_localdtd.txt | $(SORT_NODES) >$@ - -PARSING_VALIDATING_TIMES_TARGETS = libxml2_tree xerces_sax2 xerces_tree flea - -PARSING_VALIDATING_TIMES_TARGETS_TXT = \ - $(PARSING_VALIDATING_TIMES_TARGETS:%=parsing_validating_times_%_candidates.txt) - -validating_times_libxml2_tree_candidates.txt: parsing_validating_times_libxml2_tree_candidates.txt parsing_times_libxml2_tree_candidates.txt - @$(SORT_NODES) parsing_times_libxml2_tree_candidates.txt | ./mkdiff $^ >$@ - -validating_times_xerces_sax2_candidates.txt: parsing_validating_times_xerces_sax2_candidates.txt parsing_times_xerces_sax2_candidates.txt - @$(SORT_NODES) parsing_times_xerces_sax2_candidates.txt | ./mkdiff $^ >$@ - -validating_times_xerces_tree_candidates.txt: parsing_validating_times_xerces_tree_candidates.txt parsing_times_xerces_tree_candidates.txt - @$(SORT_NODES) parsing_times_xerces_tree_candidates.txt | ./mkdiff $^ >$@ - -validating_times_flea_candidates.txt: parsing_validating_times_flea_candidates.txt parsing_times_libxml2_sax2_candidates.txt - @$(SORT_NODES) parsing_times_libxml2_sax2_candidates.txt | ./mkdiff $^ >$@ - -VALIDATING_TIMES_TARGETS = libxml2_tree xerces_sax2 xerces_tree flea - -VALIDATING_TIMES_TARGETS_TXT = \ - $(VALIDATING_TIMES_TARGETS:%=validating_times_%_candidates.txt) - -parsing_validating_times_candidates.ps validating_times_candidates.ps: $(VALIDATING_TIMES_TARGETS_TXT) $(PARSING_VALIDATING_TIMES_TARGETS_TXT) validating_times.gpscript - gnuplot validating_times.gpscript - -validating_times: parsing_validating_times_candidates.ps validating_times_candidates.ps - -clean: - rm -f stats_candidates*.{xml,html,txt} \ - $(PARSING_TIMES_TARGETS_TXT) \ - $(PARSING_VALIDATING_TIMES_TARGETS_TXT) \ - $(VALIDATING_TIMES_TARGETS_TXT) - diff --git a/helm/papers/use_case/stats/download_candidates.sh b/helm/papers/use_case/stats/download_candidates.sh deleted file mode 100755 index e2265c47e..000000000 --- a/helm/papers/use_case/stats/download_candidates.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -for i in `fgrep -v '#' CANDIDATI`; do - DEST=`echo $i | tr ":/'" '_' ` - wget -O CICXML/$DEST "http://mowgli.cs.unibo.it:58081/getxml?uri="$i - gzip CICXML/$DEST -done diff --git a/helm/papers/use_case/stats/download_candidates_c1.sh b/helm/papers/use_case/stats/download_candidates_c1.sh deleted file mode 100755 index 9dfaade1e..000000000 --- a/helm/papers/use_case/stats/download_candidates_c1.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -for i in `fgrep -v '#' CANDIDATI`; do - DEST=`echo $i | tr ":/'" '_' ` - #wget -O CONTENT/$DEST "http://mowgli.cs.unibo.it:58080/apply?profile=default¶m.profile=default&prop.media-type=text/xml&prop.method=xml&prop.encoding=utf-8&keys=C1&xmluri=http://mowgli.cs.unibo.it:58081/getxml%3Furi%3D"$i - wget -O CONTENTNB/$DEST "http://mowgli.cs.unibo.it:58080/apply?profile=default¶m.profile=default&prop.media-type=text/xml&prop.method=xml&prop.encoding=utf-8&keys=C1&xmluri=http://mowgli.cs.unibo.it/~lpadovan/CICXMLNB/"$DEST - gzip CONTENTNB/$DEST -done - diff --git a/helm/papers/use_case/stats/extract.xsl b/helm/papers/use_case/stats/extract.xsl deleted file mode 100644 index 3704d92a4..000000000 --- a/helm/papers/use_case/stats/extract.xsl +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/papers/use_case/stats/group.xsl b/helm/papers/use_case/stats/group.xsl deleted file mode 100644 index 8d25fee6d..000000000 --- a/helm/papers/use_case/stats/group.xsl +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/papers/use_case/stats/groups_dependent_depth.xsl b/helm/papers/use_case/stats/groups_dependent_depth.xsl deleted file mode 100644 index ff3439c22..000000000 --- a/helm/papers/use_case/stats/groups_dependent_depth.xsl +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NSize (bytes)ElementsMax depthObject
    - - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - -
    - diff --git a/helm/papers/use_case/stats/groups_dependent_size.xsl b/helm/papers/use_case/stats/groups_dependent_size.xsl deleted file mode 100644 index 48ff69739..000000000 --- a/helm/papers/use_case/stats/groups_dependent_size.xsl +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NSize (bytes)ElementsMax depthObject
    - - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - -
    - diff --git a/helm/papers/use_case/stats/mkdiff.cc b/helm/papers/use_case/stats/mkdiff.cc deleted file mode 100644 index d31bfbfc1..000000000 --- a/helm/papers/use_case/stats/mkdiff.cc +++ /dev/null @@ -1,29 +0,0 @@ - -#include -#include -#include - -main(int argc, char* argv[]) -{ - std::ifstream f(argv[1]); - - int size, nodes, depth, parsing_time; - int size1, nodes1, depth1, validating_time; - - while (std::cin >> size) { - std::cin >> nodes; - std::cin >> depth; - std::cin >> parsing_time; - - f >> size1; - f >> nodes1; - f >> depth1; - f >> validating_time; - - assert(size == size1); - assert(nodes == nodes1); - assert(depth == depth1); - std::cout << size << " " << nodes << " " << depth << " " << (validating_time - parsing_time) << std::endl; - } -} - diff --git a/helm/papers/use_case/stats/mkhtml.xsl b/helm/papers/use_case/stats/mkhtml.xsl deleted file mode 100644 index a61576aec..000000000 --- a/helm/papers/use_case/stats/mkhtml.xsl +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - -
    NSize (bytes)ElementsMax depthObject
    - - -
    - - - - - - - - - - - - - - - - - - - - - - -
    - diff --git a/helm/papers/use_case/stats/parse/.cvsignore b/helm/papers/use_case/stats/parse/.cvsignore deleted file mode 100644 index b84979dd2..000000000 --- a/helm/papers/use_case/stats/parse/.cvsignore +++ /dev/null @@ -1,4 +0,0 @@ -parse_expat -parse_xmlreader -parse_xmlsax -parse_xmltree diff --git a/helm/papers/use_case/stats/parse/DOMCount/.cvsignore b/helm/papers/use_case/stats/parse/DOMCount/.cvsignore deleted file mode 100644 index 4783afaf7..000000000 --- a/helm/papers/use_case/stats/parse/DOMCount/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -DOMCount diff --git a/helm/papers/use_case/stats/parse/DOMCount/DOMCount.cpp b/helm/papers/use_case/stats/parse/DOMCount/DOMCount.cpp deleted file mode 100644 index 8a5b4f599..000000000 --- a/helm/papers/use_case/stats/parse/DOMCount/DOMCount.cpp +++ /dev/null @@ -1,460 +0,0 @@ -/* - * Copyright 1999-2002,2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - * $Id$ - */ - -// --------------------------------------------------------------------------- -// Includes -// --------------------------------------------------------------------------- -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "DOMCount.hpp" -#include -#include - -#if defined(XERCES_NEW_IOSTREAMS) -#include -#else -#include -#endif - - -// --------------------------------------------------------------------------- -// This is a simple program which invokes the DOMParser to build a DOM -// tree for the specified input file. It then walks the tree and counts -// the number of elements. The element count is then printed. -// --------------------------------------------------------------------------- -static void usage() -{ - XERCES_STD_QUALIFIER cout << "\nUsage:\n" - " DOMCount [options] \n\n" - "This program invokes the DOMBuilder, builds the DOM tree,\n" - "and then prints the number of elements found in each XML file.\n\n" - "Options:\n" - " -l Indicate the input file is a List File that has a list of xml files.\n" - " Default to off (Input file is an XML file).\n" - " -v=xxx Validation scheme [always | never | auto*].\n" - " -n Enable namespace processing. Defaults to off.\n" - " -s Enable schema processing. Defaults to off.\n" - " -f Enable full schema constraint checking. Defaults to off.\n" - " -locale=ll_CC specify the locale, default: en_US.\n" - " -p Print out names of elements and attributes encountered.\n" - " -? Show this help.\n\n" - " * = Default if not provided explicitly.\n" - << XERCES_STD_QUALIFIER endl; -} - - - -// --------------------------------------------------------------------------- -// -// Recursively Count up the total number of child Elements under the specified Node. -// Process attributes of the node, if any. -// -// --------------------------------------------------------------------------- -static int countChildElements(DOMNode *n, bool printOutEncounteredEles) -{ - DOMNode *child; - int count = 0; - if (n) { - if (n->getNodeType() == DOMNode::ELEMENT_NODE) - { - if(printOutEncounteredEles) { - char *name = XMLString::transcode(n->getNodeName()); - XERCES_STD_QUALIFIER cout <<"----------------------------------------------------------"<hasAttributes()) { - // get all the attributes of the node - DOMNamedNodeMap *pAttributes = n->getAttributes(); - int nSize = pAttributes->getLength(); - XERCES_STD_QUALIFIER cout <<"\tAttributes" << XERCES_STD_QUALIFIER endl; - XERCES_STD_QUALIFIER cout <<"\t----------" << XERCES_STD_QUALIFIER endl; - for(int i=0;iitem(i); - // get attribute name - char *name = XMLString::transcode(pAttributeNode->getName()); - - XERCES_STD_QUALIFIER cout << "\t" << name << "="; - XMLString::release(&name); - - // get attribute type - name = XMLString::transcode(pAttributeNode->getValue()); - XERCES_STD_QUALIFIER cout << name << XERCES_STD_QUALIFIER endl; - XMLString::release(&name); - } - } - } - ++count; - } - for (child = n->getFirstChild(); child != 0; child=child->getNextSibling()) - count += countChildElements(child, printOutEncounteredEles); - } - return count; -} - -// --------------------------------------------------------------------------- -// -// main -// -// --------------------------------------------------------------------------- -int main(int argC, char* argV[]) -{ - - // Check command line and extract arguments. - if (argC < 2) - { - usage(); - return 1; - } - - const char* xmlFile = 0; - AbstractDOMParser::ValSchemes valScheme = AbstractDOMParser::Val_Auto; - bool doNamespaces = false; - bool doSchema = false; - bool schemaFullChecking = false; - bool doList = false; - bool errorOccurred = false; - bool recognizeNEL = false; - bool printOutEncounteredEles = false; - char localeStr[64]; - memset(localeStr, 0, sizeof localeStr); - - int argInd; - for (argInd = 1; argInd < argC; argInd++) - { - // Break out on first parm not starting with a dash - if (argV[argInd][0] != '-') - break; - - // Watch for special case help request - if (!strcmp(argV[argInd], "-?")) - { - usage(); - return 2; - } - else if (!strncmp(argV[argInd], "-v=", 3) - || !strncmp(argV[argInd], "-V=", 3)) - { - const char* const parm = &argV[argInd][3]; - - if (!strcmp(parm, "never")) - valScheme = AbstractDOMParser::Val_Never; - else if (!strcmp(parm, "auto")) - valScheme = AbstractDOMParser::Val_Auto; - else if (!strcmp(parm, "always")) - valScheme = AbstractDOMParser::Val_Always; - else - { - XERCES_STD_QUALIFIER cerr << "Unknown -v= value: " << parm << XERCES_STD_QUALIFIER endl; - return 2; - } - } - else if (!strcmp(argV[argInd], "-n") - || !strcmp(argV[argInd], "-N")) - { - doNamespaces = true; - } - else if (!strcmp(argV[argInd], "-s") - || !strcmp(argV[argInd], "-S")) - { - doSchema = true; - } - else if (!strcmp(argV[argInd], "-f") - || !strcmp(argV[argInd], "-F")) - { - schemaFullChecking = true; - } - else if (!strcmp(argV[argInd], "-l") - || !strcmp(argV[argInd], "-L")) - { - doList = true; - } - else if (!strcmp(argV[argInd], "-special:nel")) - { - // turning this on will lead to non-standard compliance behaviour - // it will recognize the unicode character 0x85 as new line character - // instead of regular character as specified in XML 1.0 - // do not turn this on unless really necessary - - recognizeNEL = true; - } - else if (!strcmp(argV[argInd], "-p") - || !strcmp(argV[argInd], "-P")) - { - printOutEncounteredEles = true; - } - else if (!strncmp(argV[argInd], "-locale=", 8)) - { - // Get out the end of line - strcpy(localeStr, &(argV[argInd][8])); - } - else - { - XERCES_STD_QUALIFIER cerr << "Unknown option '" << argV[argInd] - << "', ignoring it\n" << XERCES_STD_QUALIFIER endl; - } - } - - // - // There should be only one and only one parameter left, and that - // should be the file name. - // - if (argInd != argC - 1) - { - usage(); - return 1; - } - - // Initialize the XML4C system - try - { - if (strlen(localeStr)) - { - XMLPlatformUtils::Initialize(localeStr); - } - else - { - XMLPlatformUtils::Initialize(); - } - - if (recognizeNEL) - { - XMLPlatformUtils::recognizeNEL(recognizeNEL); - } - } - - catch (const XMLException& toCatch) - { - XERCES_STD_QUALIFIER cerr << "Error during initialization! :\n" - << StrX(toCatch.getMessage()) << XERCES_STD_QUALIFIER endl; - return 1; - } - - // Instantiate the DOM parser. - static const XMLCh gLS[] = { chLatin_L, chLatin_S, chNull }; - DOMImplementation *impl = DOMImplementationRegistry::getDOMImplementation(gLS); - DOMBuilder *parser = ((DOMImplementationLS*)impl)->createDOMBuilder(DOMImplementationLS::MODE_SYNCHRONOUS, 0); - - parser->setFeature(XMLUni::fgDOMNamespaces, doNamespaces); - parser->setFeature(XMLUni::fgXercesSchema, doSchema); - parser->setFeature(XMLUni::fgXercesSchemaFullChecking, schemaFullChecking); - - if (valScheme == AbstractDOMParser::Val_Auto) - { - parser->setFeature(XMLUni::fgDOMValidateIfSchema, true); - } - else if (valScheme == AbstractDOMParser::Val_Never) - { - parser->setFeature(XMLUni::fgDOMValidation, false); - } - else if (valScheme == AbstractDOMParser::Val_Always) - { - parser->setFeature(XMLUni::fgDOMValidation, true); - } - - // enable datatype normalization - default is off - parser->setFeature(XMLUni::fgDOMDatatypeNormalization, true); - - // And create our error handler and install it - DOMCountErrorHandler errorHandler; - parser->setErrorHandler(&errorHandler); - - // - // Get the starting time and kick off the parse of the indicated - // file. Catch any exceptions that might propogate out of it. - // - unsigned long duration; - - bool more = true; - XERCES_STD_QUALIFIER ifstream fin; - - // the input is a list file - if (doList) - fin.open(argV[argInd]); - - if (fin.fail()) { - XERCES_STD_QUALIFIER cerr <<"Cannot open the list file: " << argV[argInd] << XERCES_STD_QUALIFIER endl; - return 2; - } - - while (more) - { - char fURI[1000]; - //initialize the array to zeros - memset(fURI,0,sizeof(fURI)); - - if (doList) { - if (! fin.eof() ) { - fin.getline (fURI, sizeof(fURI)); - if (!*fURI) - continue; - else { - xmlFile = fURI; - XERCES_STD_QUALIFIER cerr << "==Parsing== " << xmlFile << XERCES_STD_QUALIFIER endl; - } - } - else - break; - } - else { - xmlFile = argV[argInd]; - more = false; - } - - //reset error count first - errorHandler.resetErrors(); - - XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *doc = 0; - - try - { - // reset document pool - parser->resetDocumentPool(); - - const unsigned long startMillis = XMLPlatformUtils::getCurrentMillis(); - doc = parser->parseURI(xmlFile); - const unsigned long endMillis = XMLPlatformUtils::getCurrentMillis(); - duration = endMillis - startMillis; - } - - catch (const XMLException& toCatch) - { - XERCES_STD_QUALIFIER cerr << "\nError during parsing: '" << xmlFile << "'\n" - << "Exception message is: \n" - << StrX(toCatch.getMessage()) << "\n" << XERCES_STD_QUALIFIER endl; - errorOccurred = true; - continue; - } - catch (const DOMException& toCatch) - { - const unsigned int maxChars = 2047; - XMLCh errText[maxChars + 1]; - - XERCES_STD_QUALIFIER cerr << "\nDOM Error during parsing: '" << xmlFile << "'\n" - << "DOMException code is: " << toCatch.code << XERCES_STD_QUALIFIER endl; - - if (DOMImplementation::loadDOMExceptionMsg(toCatch.code, errText, maxChars)) - XERCES_STD_QUALIFIER cerr << "Message is: " << StrX(errText) << XERCES_STD_QUALIFIER endl; - - errorOccurred = true; - continue; - } - catch (...) - { - XERCES_STD_QUALIFIER cerr << "\nUnexpected exception during parsing: '" << xmlFile << "'\n"; - errorOccurred = true; - continue; - } - - // - // Extract the DOM tree, get the list of all the elements and report the - // length as the count of elements. - // - if (errorHandler.getSawErrors()) - { - XERCES_STD_QUALIFIER cout << "\nErrors occurred, no output available\n" << XERCES_STD_QUALIFIER endl; - errorOccurred = true; - } - else - { - unsigned int elementCount = 0; - if (doc) { - elementCount = countChildElements((DOMNode*)doc->getDocumentElement(), printOutEncounteredEles); - // test getElementsByTagName and getLength - XMLCh xa[] = {chAsterisk, chNull}; - if (elementCount != doc->getElementsByTagName(xa)->getLength()) { - XERCES_STD_QUALIFIER cout << "\nErrors occurred, element count is wrong\n" << XERCES_STD_QUALIFIER endl; - errorOccurred = true; - } - } - // Print out the stats that we collected and time taken. - XERCES_STD_QUALIFIER cout << duration << XERCES_STD_QUALIFIER endl; - } - } - - // - // Delete the parser itself. Must be done prior to calling Terminate, below. - // - parser->release(); - - // And call the termination method - XMLPlatformUtils::Terminate(); - - if (doList) - fin.close(); - - if (errorOccurred) - return 4; - else - return 0; -} - - - - - -DOMCountErrorHandler::DOMCountErrorHandler() : - - fSawErrors(false) -{ -} - -DOMCountErrorHandler::~DOMCountErrorHandler() -{ -} - - -// --------------------------------------------------------------------------- -// DOMCountHandlers: Overrides of the DOM ErrorHandler interface -// --------------------------------------------------------------------------- -bool DOMCountErrorHandler::handleError(const DOMError& domError) -{ - fSawErrors = true; - if (domError.getSeverity() == DOMError::DOM_SEVERITY_WARNING) - XERCES_STD_QUALIFIER cerr << "\nWarning at file "; - else if (domError.getSeverity() == DOMError::DOM_SEVERITY_ERROR) - XERCES_STD_QUALIFIER cerr << "\nError at file "; - else - XERCES_STD_QUALIFIER cerr << "\nFatal Error at file "; - - XERCES_STD_QUALIFIER cerr << StrX(domError.getLocation()->getURI()) - << ", line " << domError.getLocation()->getLineNumber() - << ", char " << domError.getLocation()->getColumnNumber() - << "\n Message: " << StrX(domError.getMessage()) << XERCES_STD_QUALIFIER endl; - - return true; -} - -void DOMCountErrorHandler::resetErrors() -{ - fSawErrors = false; -} diff --git a/helm/papers/use_case/stats/parse/DOMCount/DOMCount.hpp b/helm/papers/use_case/stats/parse/DOMCount/DOMCount.hpp deleted file mode 100644 index a394a3fbb..000000000 --- a/helm/papers/use_case/stats/parse/DOMCount/DOMCount.hpp +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Copyright 1999-2000,2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - * $Log$ - * Revision 1.1 2004/11/23 13:38:52 lpadovan - * * basic infrastructure for collecting statistics - * - * Revision 1.11 2004/09/08 13:55:31 peiyongz - * Apache License Version 2.0 - * - * Revision 1.10 2003/05/30 09:36:35 gareth - * Use new macros for iostream.h and std:: issues. - * - * Revision 1.9 2003/02/05 18:53:22 tng - * [Bug 11915] Utility for freeing memory. - * - * Revision 1.8 2002/11/05 21:46:19 tng - * Explicit code using namespace in application. - * - * Revision 1.7 2002/06/18 16:19:40 knoaman - * Replace XercesDOMParser with DOMBuilder for parsing XML documents. - * - * Revision 1.6 2002/02/01 22:35:01 peiyongz - * sane_include - * - * Revision 1.5 2000/10/20 22:00:35 andyh - * DOMCount sample Minor cleanup - rename error handler class to say that it is an error handler. - * - * Revision 1.4 2000/03/02 19:53:39 roddey - * This checkin includes many changes done while waiting for the - * 1.1.0 code to be finished. I can't list them all here, but a list is - * available elsewhere. - * - * Revision 1.3 2000/02/11 02:43:55 abagchi - * Removed StrX::transcode - * - * Revision 1.2 2000/02/06 07:47:17 rahulj - * Year 2K copyright swat. - * - * Revision 1.1.1.1 1999/11/09 01:09:52 twl - * Initial checkin - * - * Revision 1.5 1999/11/08 20:43:35 rahul - * Swat for adding in Product name and CVS comment log variable. - * - */ - -// --------------------------------------------------------------------------- -// Includes -// --------------------------------------------------------------------------- -#include -#include -#if defined(XERCES_NEW_IOSTREAMS) -#include -#else -#include -#endif - -XERCES_CPP_NAMESPACE_USE - -// --------------------------------------------------------------------------- -// Simple error handler deriviative to install on parser -// --------------------------------------------------------------------------- -class DOMCountErrorHandler : public DOMErrorHandler -{ -public: - // ----------------------------------------------------------------------- - // Constructors and Destructor - // ----------------------------------------------------------------------- - DOMCountErrorHandler(); - ~DOMCountErrorHandler(); - - - // ----------------------------------------------------------------------- - // Getter methods - // ----------------------------------------------------------------------- - bool getSawErrors() const; - - - // ----------------------------------------------------------------------- - // Implementation of the DOM ErrorHandler interface - // ----------------------------------------------------------------------- - bool handleError(const DOMError& domError); - void resetErrors(); - - -private : - // ----------------------------------------------------------------------- - // Unimplemented constructors and operators - // ----------------------------------------------------------------------- - DOMCountErrorHandler(const DOMCountErrorHandler&); - void operator=(const DOMCountErrorHandler&); - - - // ----------------------------------------------------------------------- - // Private data members - // - // fSawErrors - // This is set if we get any errors, and is queryable via a getter - // method. Its used by the main code to suppress output if there are - // errors. - // ----------------------------------------------------------------------- - bool fSawErrors; -}; - - -// --------------------------------------------------------------------------- -// This is a simple class that lets us do easy (though not terribly efficient) -// trancoding of XMLCh data to local code page for display. -// --------------------------------------------------------------------------- -class StrX -{ -public : - // ----------------------------------------------------------------------- - // Constructors and Destructor - // ----------------------------------------------------------------------- - StrX(const XMLCh* const toTranscode) - { - // Call the private transcoding method - fLocalForm = XMLString::transcode(toTranscode); - } - - ~StrX() - { - XMLString::release(&fLocalForm); - } - - - // ----------------------------------------------------------------------- - // Getter methods - // ----------------------------------------------------------------------- - const char* localForm() const - { - return fLocalForm; - } - -private : - // ----------------------------------------------------------------------- - // Private data members - // - // fLocalForm - // This is the local code page form of the string. - // ----------------------------------------------------------------------- - char* fLocalForm; -}; - -inline XERCES_STD_QUALIFIER ostream& operator<<(XERCES_STD_QUALIFIER ostream& target, const StrX& toDump) -{ - target << toDump.localForm(); - return target; -} - -inline bool DOMCountErrorHandler::getSawErrors() const -{ - return fSawErrors; -} diff --git a/helm/papers/use_case/stats/parse/DOMCount/Makefile b/helm/papers/use_case/stats/parse/DOMCount/Makefile deleted file mode 100644 index 4fc7bcc91..000000000 --- a/helm/papers/use_case/stats/parse/DOMCount/Makefile +++ /dev/null @@ -1,76 +0,0 @@ -# Generated automatically from Makefile.in by configure. -# -# Copyright 1999-2000,2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# -# -# $Id$ -# - -################################################################### -# IMPORTANT NOTE # -################################################################### -# If you are going to do the OS390BATCH build, make sure you have # -# the OS390BATCH environment variable set. # -# # -# export OS390BATCH=1 # -# # -################################################################### - -PLATFORM = LINUX -COMPILER = c++ -CXXVER = -GCC = yes -GXX = yes -CXXFLAGS = -g -O2 -CFLAGS = -g -O2 -LDFLAGS = -THREADS = -EXTRA_LIBS = -PREFIX = /usr/local - -include Makefile.incl - -APP_NAME=DOMCount - -OUTDIR= . -EXEC= . -OBJS= ./DOMCount.o -SRC= . - -## OS390BATCH -ifeq (${OS390BATCH},1) -BATCH_TARGET= "//'${LOADMOD}(${APP_NAME})'" -all:: makedir ${BATCH_TARGET} -else -all:: makedir ${EXEC}/${APP_NAME} -endif - -makedir:: - -mkdir -p $(OUTDIR) - -${EXEC}/${APP_NAME}:: ${OBJS} - ${LINK} ${PLATFORM_LIB_LINK_OPTIONS} ${OBJS} -o $@ ${LIBRARY_SEARCH_PATHS} ${LIBRARY_NAMES} ${EXTRA_LINK_OPTIONS} -${BATCH_TARGET}:: ${OBJS} - ${LINK} ${PLATFORM_LIB_LINK_OPTIONS} ${OBJS} -o $@ ${LIBRARY_SEARCH_PATHS} ${LIBRARY_NAMES} ${EXTRA_LINK_OPTIONS} - -$(OUTDIR)/DOMCount.o:: ${SRC}/DOMCount.cpp - ${CC} ${INCLUDES} ${CMP} -o $(OUTDIR)/DOMCount.o ${SRC}/DOMCount.cpp - -clean:: - rm -f ${OBJS} ${EXEC}/${APP_NAME} - -distclean:: clean - rm -f Makefile diff --git a/helm/papers/use_case/stats/parse/DOMCount/Makefile.incl b/helm/papers/use_case/stats/parse/DOMCount/Makefile.incl deleted file mode 100644 index 46321d8e3..000000000 --- a/helm/papers/use_case/stats/parse/DOMCount/Makefile.incl +++ /dev/null @@ -1,337 +0,0 @@ -# -# Copyright 1999-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# -# -# $Id$ -# - -################## LIBRARY NAMES AND DIRECTORIES ################## - -ifeq (${SYSOVR},OS400) -PLATFORM = OS400 -endif -INCLUDES= -I. -I${XERCESCROOT}/include -LIB_DIR=${XERCESCROOT}/lib -ifneq (${PLATFORM},OS400) -LIBNAME=xerces-c -else -LIBNAME=xercesc -endif -THISLIB=${LIB_DIR}/${LIBNAME} - -LIBRARY_NAMES=-l${LIBNAME} -LIBRARY_SEARCH_PATHS=-L${LIB_DIR} - -ifndef XERCESCOUT -XERCESCOUT=${XERCESCROOT} -endif - -TO = o -####################### PLATFORM DEPENDENCIES ##################### - -#=============== IRIX SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, IRIX) - ifeq (${GXX}, yes) - CMP= -c ${CXXFLAGS} - CC= ${COMPILER} -c -D${PLATFORM} -D_REENTRANT -fpic - LINK = ${COMPILER} -D${PLATFORM} -fpic ${LDFLAGS} - PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib - EXTRA_LINK_OPTIONS=-lc ${EXTRA_LIBS} - else - CMP= -c ${CXXFLAGS} - CC= CC -c -D${PLATFORM} -LANG:pch -LANG:std -O2 -D_REENTRANT -I/usr/local/include - LINK = CC -D${PLATFORM} ${LDFLAGS} - PLATFORM_LIB_LINK_OPTIONS= - EXTRA_LINK_OPTIONS=${EXTRA_LIBS} - endif - SHLIBSUFFIX=.so -endif - -#=============== SOLARIS SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, SOLARIS) - ifeq (${GXX}, yes) - CMP= -c ${CXXFLAGS} - CC= ${COMPILER} -c -D${PLATFORM} -D_REENTRANT -fpic - LINK = ${COMPILER} -D${PLATFORM} -fpic ${LDFLAGS} - PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib - EXTRA_LINK_OPTIONS=-lc ${EXTRA_LIBS} - else - CMP= -c ${CXXFLAGS} - CC= CC -c -D${PLATFORM} -D_REENTRANT -pic - LINK = CC -D${PLATFORM} ${LDFLAGS} - PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib - EXTRA_LINK_OPTIONS=-lc -lgen ${EXTRA_LIBS} - endif - SHLIBSUFFIX=.so -endif - -#=============== OPENSERVER SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, OPENSERVER) - CC=${COMPILER} -D${PLATFORM} -fPIC - CMP=-c ${CXXFLAGS} - LINK=${CC} ${LDFLAGS} - EXTRA_LINK_OPTIONS=-lc -lsocket ${EXTRA_LIBS} - PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib - SHLIBSUFFIX=.so -endif - -#=============== UNIXWARE SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, UNIXWARE) - CMP= -O2 -c ${CXXFLAGS} -pthread - CC= ${COMPILER} -O2 -c -D${PLATFORM} -D_REENTRANT -fpic -pthread - LINK = ${COMPILER} -D${PLATFORM} -fpic -pthread ${LDFLAGS} - EXTRA_LINK_OPTIONS=-lc -lsocket ${EXTRA_LIBS} - PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib - SHLIBSUFFIX=.so -endif - -#================= PTX SPECIFIC OPTIONS =========================== -ifeq (${PLATFORM}, PTX) -COMPILESWITCH= -KPIC -Kthread -DPTX -w -O -CMP = -c ${COMPILESWITCH} -CC= c++ -LINK = ${CC} -DPTX -Kthread ${LDFLAGS} -PLATFORM_CPP_COMPILER = c++ -PLATFORM_C_COMPILER = cc -PLATFORM_LIBRARIES = -PLATFORM_COMPILE_OPTIONS = -KPIC -Kthread -DPTX -MAKE_SHARED = ${PLATFORM_CPP_COMPILER} -DPTX -G -MAKE_SHARED_C = ${PLATFORM_C_COMPILER} -DPTX -G -PLATFORM_LIB_LINK_OPTIONS=-L/usr/local/lib -L${XMLINSTALL}/lib -EXTRA_LINK_OPTIONS=-lm -lgen ${EXTRA_LIBS} -SHLIBSUFFIX=.so -endif - -#================= AIX SPECIFIC OPTIONS =========================== -ifeq (${PLATFORM}, AIX) - -ifeq (${CXXVER}, v5compat) - CMP= -c ${CXXFLAGS} -qnotempinc -qnamemangling=v5 -else - CMP= -c ${CXXFLAGS} -qnotempinc -qnamemangling=ansi -endif - -CC=${COMPILER} -D${PLATFORM} -LINK = ${COMPILER} ${LDFLAGS} -ifeq (${BITSTOBUILD}, 64) - EXTRA_LINK_OPTIONS=-bmaxdata:0x80000000000 -else - EXTRA_LINK_OPTIONS=-bmaxdata:0x80000000 -endif -# the compiler knows about this two -# PLATFORM_LIB_LINK_OPTIONS=-L/usr/lpp/xlC/lib -# EXTRA_LINK_OPTIONS=-lC ${EXTRA_LIBS} -# EXTRA_LINK_OPTIONS=-bnolibpath -SHLIBSUFFIX=.a -endif - -#=============== OS400 SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, OS400) -ifeq (${SYSOVR},OS400) -MYCC = cross compiler path here -TO = qwobj -else -MYCC = icc -LINK = ${CC} -v ${LDFLAGS} -endif -CMP= -c -DOS400 ${CXXFLAGS} -CXX = $(MYCC) -CC = $(MYCC) -#INCLUDES += -I${ICUROOT}/include -SHLIBSUFFIX=.a -EXTRA_LINK_OPTIONS=-q OPTION='*DUPPROC *DUPVAR' ${EXTRA_LIBS} -endif - -#=============== BEOS SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, BEOS) -CMP= -c ${CXXFLAGS} -CC= ${COMPILER} -c -D${PLATFORM} -DAPP_NO_THREADS -fpic -LINK = ${COMPILER} -D${PLATFORM} -fpic ${LDFLAGS} -PLATFORM_LIB_LINK_OPTIONS=-L/boot/develop/lib/x86 -L/boot/home/config/lib -EXTRA_LINK_OPTIONS=-lbe ${EXTRA_LIBS} -SHLIBSUFFIX=.so -endif - -#=============== LINUX SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, LINUX) -CMP= -c ${CXXFLAGS} -CC= ${COMPILER} -c -D${PLATFORM} -D_REENTRANT -fpic -LINK = ${COMPILER} -D${PLATFORM} -fpic ${LDFLAGS} -PLATFORM_LIB_LINK_OPTIONS=-L/usr/local/lib -EXTRA_LINK_OPTIONS=-lc ${EXTRA_LIBS} -SHLIBSUFFIX=.so -endif - -#=============== QNX SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, QNX) -CMP= -c ${CXXFLAGS} -CC= QCC -c -LINK = QCC ${LDFLAGS} -PLATFORM_LIB_LINK_OPTIONS=-L/usr/local/lib -EXTRA_LINK_OPTIONS=${EXTRA_LIBS} -SHLIBSUFFIX=.so -endif - - -#=============== CYGWIN SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, CYGWIN) -CMP= -c ${CXXFLAGS} -CC= ${COMPILER} -c -D__${PLATFORM}__ -LINK = ${COMPILER} -D__${PLATFORM}__ ${LDFLAGS} -PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib -EXTRA_LINK_OPTIONS=${EXTRA_LIBS} -SHLIBSUFFIX=.dll -endif - -#=============== MINGW SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, MINGW) -CMP= -c ${CXXFLAGS} -fexceptions -CC= ${COMPILER} -c -D__${PLATFORM}__ -LINK = ${COMPILER} -D__${PLATFORM}__ ${LDFLAGS} -PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib -EXTRA_LINK_OPTIONS=${EXTRA_LIBS} -SHLIBSUFFIX=.dll -endif - -#=============== FREEBSD SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, FREEBSD) - CMP= -c ${CXXFLAGS} - CC= ${COMPILER} -c -D${PLATFORM} -fPIC - LINK = ${COMPILER} -D${PLATFORM} -fPIC ${LDFLAGS} - PLATFORM_LIB_LINK_OPTIONS=-Wl,-rpath,${XERCESCROOT}/lib - ifdef ICUROOT - PLATFORM_LIB_LINK_OPTIONS+=-L${ICUROOT} -Wl,-rpath,${ICUROOT} - EXTRA_LINK_OPTIONS=-licudata -lstdc++ ${EXTRA_LIBS} - else - EXTRA_LINK_OPTIONS=${EXTRA_LIBS} -lstdc++ - endif - SHLIBSUFFIX=.so -endif - -#=============== NETBSD SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, NETBSD) - CMP= -c ${CXXFLAGS} - CC= ${COMPILER} -c -D${PLATFORM} -fPIC - LINK = ${COMPILER} -D${PLATFORM} -fPIC ${LDFLAGS} - PLATFORM_LIB_LINK_OPTIONS=-Wl,-rpath,${XERCESCROOT}/lib - ifdef ICUROOT - PLATFORM_LIB_LINK_OPTIONS+=-L${ICUROOT} -Wl,-rpath,${ICUROOT} - EXTRA_LINK_OPTIONS=-licudata -lstdc++ ${EXTRA_LIBS} - else - EXTRA_LINK_OPTIONS=${EXTRA_LIBS} -lstdc++ - endif - SHLIBSUFFIX=.so -endif - -#================= HP SPECIFIC OPTIONS =========================== -ifeq (${PLATFORM}, HPUX) - ifeq (${COMPILER}, aCC) - ifeq (${CXXVER}, aCC05) - CMP = -c +DAportable $(CXXFLAGS) -D_HP_UX -DHPaCC -w +z -mt - else - CMP = -c +DAportable $(CXXFLAGS) -D_HP_UX -DHPaCC -w +z - endif - - CC = aCC - LINK = ${CC} -Wl,+s -Wl,+b,. ${LDFLAGS} - - ifeq (${CXXVER}, aCC05) - PLATFORM_LIB_LINK_OPTIONS=-L/opt/aCC/lib -L/usr/ccs/lib -mt - else - PLATFORM_LIB_LINK_OPTIONS=-L/opt/aCC/lib -L/usr/ccs/lib -lpthread - endif - - SHLIBSUFFIX=.sl - else - ifneq (${DEBUG}, 1) - CXXFLAGS = -w +O1 - endif - APPL_NAME = $(notdir $(shell pwd)) - TEMPLATESDIR = $(XERCESCROOT)/bin/obj/$(APPL_NAME)/ptrepository - COMMON_CMP = $(CXXFLAGS) -D_HP_UX -DHPCC +DAportable -w +eh +z -z \ - -ptr$(TEMPLATESDIR) - CMP = -c $(COMMON_CMP) - CC = CC - LINK = ${CC} $(COMMON_CMP) -Wl,+s -Wl,+b,. ${LDFLAGS} - PLATFORM_LIB_LINK_OPTIONS=-L/opt/CC/lib -L/usr/lib - SHLIBSUFFIX=.sl - endif -endif - -#================= OS390 SPECIFIC OPTIONS =========================== -################################################################### -# IMPORTANT NOTE # -################################################################### -# Before you try to run the Makefile, make sure you have two # -# environment variables set. # -# # -# export XERCESCROOT= # -# # -# If you are going to do the OS390BATCH build, make sure you have # -# the OS390BATCH environment variable set. # -# # -# export OS390BATCH=1 # -# # -# Also, # -# # -# export LOADMOD=USERID.LOAD # -# export LOADEXP=SYS1.SIXMEXP or &hlq.SIXMEXP # -# # -# to specify your LOADMOD and the IXM4C55X definition sidedeck # -# dataset. # -################################################################### - -ifeq (${PLATFORM}, OS390) -CMP= -c -DOS390 ${CXXFLAGS} -## OS390BATCH -ifeq (${OS390BATCH},1) -CC = _CXX_CXXSUFFIX="cpp" c++ -W0,"langlvl(extended)" -Wc,"TMPLPARSE(NO)" -DOS390 -D_OPEN_THREADS -D_XOPEN_SOURCE_EXTENDED -DOS390BATCH -else -CC = _CXX_CXXSUFFIX="cpp" c++ -W0,"langlvl(extended)" -Wc,"TMPLPARSE(NO)" -DOS390 -D_OPEN_THREADS -D_XOPEN_SOURCE_EXTENDED -endif -LINK = ${CC} ${LDFLAGS} -PLATFORM_LIB_LINK_OPTIONS= -EXTRA_LINK_OPTIONS=${EXTRA_LIBS} -SHLIBSUFFIX=.dll -OS390SIDEDECK=.x -## OS390BATCH -ifeq (${OS390BATCH},1) -LIBRARY_NAMES="//'${LOADEXP}(IXM4C55X)'" -else -LIBRARY_NAMES=${LIB_DIR}/lib${LIBNAME}${VER}${OS390SIDEDECK} -endif -LIBRARY_SEARCH_PATHS= -endif - - -#=============== TRU64 SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, TRU64) -CMP= -c ${CXXFLAGS} -CC = ${COMPILER} -c -D${PLATFORM} -LINK = ${COMPILER} -D${PLATFORM} ${LDFLAGS} -PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib -SHLIBSUFFIX=.so -endif - - -#=============== MacOS SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, MACOSX) - CMP= -c ${CXXFLAGS} - CC= c++ -c -D${PLATFORM} -D_REENTRANT - LINK = c++ -D${PLATFORM} ${LDFLAGS} - PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib - SHLIBSUFFIX=.dylib -endif diff --git a/helm/papers/use_case/stats/parse/Makefile b/helm/papers/use_case/stats/parse/Makefile deleted file mode 100644 index c30617ace..000000000 --- a/helm/papers/use_case/stats/parse/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -CC = gcc -LIBXML_FLAGS = `pkg-config --cflags --libs libxml-2.0` -EXPAT_FLAGS = -lexpat -BIN = parse_expat parse_xmlreader parse_xmlsax parse_xmltree -all: $(BIN) - $(MAKE) -C SAX2Print/ -clean: - rm -f $(BIN) - $(MAKE) -C SAX2Print/ clean - -parse_expat: parse_expat.c - $(CC) $(EXPAT_FLAGS) -o $@ $< -parse_xmlreader: parse_xmlreader.c - $(CC) $(LIBXML_FLAGS) -o $@ $< -parse_xmlsax: parse_xmlsax.c - $(CC) $(LIBXML_FLAGS) -o $@ $< -parse_xmltree: parse_xmltree.c - $(CC) $(LIBXML_FLAGS) -o $@ $< - diff --git a/helm/papers/use_case/stats/parse/SAX2Print/.cvsignore b/helm/papers/use_case/stats/parse/SAX2Print/.cvsignore deleted file mode 100644 index 22e4c28bb..000000000 --- a/helm/papers/use_case/stats/parse/SAX2Print/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -SAX2Print diff --git a/helm/papers/use_case/stats/parse/SAX2Print/Makefile b/helm/papers/use_case/stats/parse/SAX2Print/Makefile deleted file mode 100644 index 83c74e057..000000000 --- a/helm/papers/use_case/stats/parse/SAX2Print/Makefile +++ /dev/null @@ -1,80 +0,0 @@ -# Generated automatically from Makefile.in by configure. -# -# Copyright 1999-2000,2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# -# -# $Id$ -# - -################################################################### -# IMPORTANT NOTE # -################################################################### -# If you are going to do the OS390BATCH build, make sure you have # -# the OS390BATCH environment variable set. # -# # -# export OS390BATCH=1 # -# # -################################################################### - -PLATFORM = LINUX -COMPILER = c++ -CXXVER = -GCC = yes -GXX = yes -CXXFLAGS = -g -O2 -CFLAGS = -g -O2 -LDFLAGS = -THREADS = -EXTRA_LIBS = -PREFIX = /usr/local - -include Makefile.incl - -APP_NAME=SAX2Print - -OUTDIR= . -EXEC= . -OBJS= ${OUTDIR}/SAX2Print.o ${OUTDIR}/SAX2PrintHandlers.o -SRC= . -HEADER_FILES=${SRC}/SAX2Print.hpp ${SRC}/SAX2PrintHandlers.hpp - -## OS390BATCH -ifeq (${OS390BATCH},1) -BATCH_TARGET= "//'${LOADMOD}(SAX2PRNT)'" -all:: makedir ${BATCH_TARGET} -else -all:: makedir ${EXEC}/${APP_NAME} -endif - -makedir:: - -mkdir -p $(OUTDIR) - -${EXEC}/${APP_NAME}:: ${OBJS} - ${LINK} ${PLATFORM_LIB_LINK_OPTIONS} ${OBJS} -o $@ ${LIBRARY_SEARCH_PATHS} ${LIBRARY_NAMES} ${EXTRA_LINK_OPTIONS} -${BATCH_TARGET}:: ${OBJS} - ${LINK} ${PLATFORM_LIB_LINK_OPTIONS} ${OBJS} -o $@ ${LIBRARY_SEARCH_PATHS} ${LIBRARY_NAMES} ${EXTRA_LINK_OPTIONS} - -$(OUTDIR)/SAX2Print.o:: ${SRC}/SAX2Print.cpp ${HEADER_FILES} - ${CC} ${INCLUDES} ${CMP} -o $(OUTDIR)/SAX2Print.o ${SRC}/SAX2Print.cpp - -$(OUTDIR)/SAX2PrintHandlers.o:: ${SRC}/SAX2PrintHandlers.cpp ${HEADER_FILES} - ${CC} ${INCLUDES} ${CMP} -o $(OUTDIR)/SAX2PrintHandlers.o ${SRC}/SAX2PrintHandlers.cpp - -clean:: - rm -f ${OBJS} ${EXEC}/${APP_NAME} - -distclean:: clean - rm -f Makefile diff --git a/helm/papers/use_case/stats/parse/SAX2Print/Makefile.incl b/helm/papers/use_case/stats/parse/SAX2Print/Makefile.incl deleted file mode 100644 index 46321d8e3..000000000 --- a/helm/papers/use_case/stats/parse/SAX2Print/Makefile.incl +++ /dev/null @@ -1,337 +0,0 @@ -# -# Copyright 1999-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# -# -# $Id$ -# - -################## LIBRARY NAMES AND DIRECTORIES ################## - -ifeq (${SYSOVR},OS400) -PLATFORM = OS400 -endif -INCLUDES= -I. -I${XERCESCROOT}/include -LIB_DIR=${XERCESCROOT}/lib -ifneq (${PLATFORM},OS400) -LIBNAME=xerces-c -else -LIBNAME=xercesc -endif -THISLIB=${LIB_DIR}/${LIBNAME} - -LIBRARY_NAMES=-l${LIBNAME} -LIBRARY_SEARCH_PATHS=-L${LIB_DIR} - -ifndef XERCESCOUT -XERCESCOUT=${XERCESCROOT} -endif - -TO = o -####################### PLATFORM DEPENDENCIES ##################### - -#=============== IRIX SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, IRIX) - ifeq (${GXX}, yes) - CMP= -c ${CXXFLAGS} - CC= ${COMPILER} -c -D${PLATFORM} -D_REENTRANT -fpic - LINK = ${COMPILER} -D${PLATFORM} -fpic ${LDFLAGS} - PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib - EXTRA_LINK_OPTIONS=-lc ${EXTRA_LIBS} - else - CMP= -c ${CXXFLAGS} - CC= CC -c -D${PLATFORM} -LANG:pch -LANG:std -O2 -D_REENTRANT -I/usr/local/include - LINK = CC -D${PLATFORM} ${LDFLAGS} - PLATFORM_LIB_LINK_OPTIONS= - EXTRA_LINK_OPTIONS=${EXTRA_LIBS} - endif - SHLIBSUFFIX=.so -endif - -#=============== SOLARIS SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, SOLARIS) - ifeq (${GXX}, yes) - CMP= -c ${CXXFLAGS} - CC= ${COMPILER} -c -D${PLATFORM} -D_REENTRANT -fpic - LINK = ${COMPILER} -D${PLATFORM} -fpic ${LDFLAGS} - PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib - EXTRA_LINK_OPTIONS=-lc ${EXTRA_LIBS} - else - CMP= -c ${CXXFLAGS} - CC= CC -c -D${PLATFORM} -D_REENTRANT -pic - LINK = CC -D${PLATFORM} ${LDFLAGS} - PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib - EXTRA_LINK_OPTIONS=-lc -lgen ${EXTRA_LIBS} - endif - SHLIBSUFFIX=.so -endif - -#=============== OPENSERVER SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, OPENSERVER) - CC=${COMPILER} -D${PLATFORM} -fPIC - CMP=-c ${CXXFLAGS} - LINK=${CC} ${LDFLAGS} - EXTRA_LINK_OPTIONS=-lc -lsocket ${EXTRA_LIBS} - PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib - SHLIBSUFFIX=.so -endif - -#=============== UNIXWARE SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, UNIXWARE) - CMP= -O2 -c ${CXXFLAGS} -pthread - CC= ${COMPILER} -O2 -c -D${PLATFORM} -D_REENTRANT -fpic -pthread - LINK = ${COMPILER} -D${PLATFORM} -fpic -pthread ${LDFLAGS} - EXTRA_LINK_OPTIONS=-lc -lsocket ${EXTRA_LIBS} - PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib - SHLIBSUFFIX=.so -endif - -#================= PTX SPECIFIC OPTIONS =========================== -ifeq (${PLATFORM}, PTX) -COMPILESWITCH= -KPIC -Kthread -DPTX -w -O -CMP = -c ${COMPILESWITCH} -CC= c++ -LINK = ${CC} -DPTX -Kthread ${LDFLAGS} -PLATFORM_CPP_COMPILER = c++ -PLATFORM_C_COMPILER = cc -PLATFORM_LIBRARIES = -PLATFORM_COMPILE_OPTIONS = -KPIC -Kthread -DPTX -MAKE_SHARED = ${PLATFORM_CPP_COMPILER} -DPTX -G -MAKE_SHARED_C = ${PLATFORM_C_COMPILER} -DPTX -G -PLATFORM_LIB_LINK_OPTIONS=-L/usr/local/lib -L${XMLINSTALL}/lib -EXTRA_LINK_OPTIONS=-lm -lgen ${EXTRA_LIBS} -SHLIBSUFFIX=.so -endif - -#================= AIX SPECIFIC OPTIONS =========================== -ifeq (${PLATFORM}, AIX) - -ifeq (${CXXVER}, v5compat) - CMP= -c ${CXXFLAGS} -qnotempinc -qnamemangling=v5 -else - CMP= -c ${CXXFLAGS} -qnotempinc -qnamemangling=ansi -endif - -CC=${COMPILER} -D${PLATFORM} -LINK = ${COMPILER} ${LDFLAGS} -ifeq (${BITSTOBUILD}, 64) - EXTRA_LINK_OPTIONS=-bmaxdata:0x80000000000 -else - EXTRA_LINK_OPTIONS=-bmaxdata:0x80000000 -endif -# the compiler knows about this two -# PLATFORM_LIB_LINK_OPTIONS=-L/usr/lpp/xlC/lib -# EXTRA_LINK_OPTIONS=-lC ${EXTRA_LIBS} -# EXTRA_LINK_OPTIONS=-bnolibpath -SHLIBSUFFIX=.a -endif - -#=============== OS400 SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, OS400) -ifeq (${SYSOVR},OS400) -MYCC = cross compiler path here -TO = qwobj -else -MYCC = icc -LINK = ${CC} -v ${LDFLAGS} -endif -CMP= -c -DOS400 ${CXXFLAGS} -CXX = $(MYCC) -CC = $(MYCC) -#INCLUDES += -I${ICUROOT}/include -SHLIBSUFFIX=.a -EXTRA_LINK_OPTIONS=-q OPTION='*DUPPROC *DUPVAR' ${EXTRA_LIBS} -endif - -#=============== BEOS SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, BEOS) -CMP= -c ${CXXFLAGS} -CC= ${COMPILER} -c -D${PLATFORM} -DAPP_NO_THREADS -fpic -LINK = ${COMPILER} -D${PLATFORM} -fpic ${LDFLAGS} -PLATFORM_LIB_LINK_OPTIONS=-L/boot/develop/lib/x86 -L/boot/home/config/lib -EXTRA_LINK_OPTIONS=-lbe ${EXTRA_LIBS} -SHLIBSUFFIX=.so -endif - -#=============== LINUX SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, LINUX) -CMP= -c ${CXXFLAGS} -CC= ${COMPILER} -c -D${PLATFORM} -D_REENTRANT -fpic -LINK = ${COMPILER} -D${PLATFORM} -fpic ${LDFLAGS} -PLATFORM_LIB_LINK_OPTIONS=-L/usr/local/lib -EXTRA_LINK_OPTIONS=-lc ${EXTRA_LIBS} -SHLIBSUFFIX=.so -endif - -#=============== QNX SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, QNX) -CMP= -c ${CXXFLAGS} -CC= QCC -c -LINK = QCC ${LDFLAGS} -PLATFORM_LIB_LINK_OPTIONS=-L/usr/local/lib -EXTRA_LINK_OPTIONS=${EXTRA_LIBS} -SHLIBSUFFIX=.so -endif - - -#=============== CYGWIN SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, CYGWIN) -CMP= -c ${CXXFLAGS} -CC= ${COMPILER} -c -D__${PLATFORM}__ -LINK = ${COMPILER} -D__${PLATFORM}__ ${LDFLAGS} -PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib -EXTRA_LINK_OPTIONS=${EXTRA_LIBS} -SHLIBSUFFIX=.dll -endif - -#=============== MINGW SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, MINGW) -CMP= -c ${CXXFLAGS} -fexceptions -CC= ${COMPILER} -c -D__${PLATFORM}__ -LINK = ${COMPILER} -D__${PLATFORM}__ ${LDFLAGS} -PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib -EXTRA_LINK_OPTIONS=${EXTRA_LIBS} -SHLIBSUFFIX=.dll -endif - -#=============== FREEBSD SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, FREEBSD) - CMP= -c ${CXXFLAGS} - CC= ${COMPILER} -c -D${PLATFORM} -fPIC - LINK = ${COMPILER} -D${PLATFORM} -fPIC ${LDFLAGS} - PLATFORM_LIB_LINK_OPTIONS=-Wl,-rpath,${XERCESCROOT}/lib - ifdef ICUROOT - PLATFORM_LIB_LINK_OPTIONS+=-L${ICUROOT} -Wl,-rpath,${ICUROOT} - EXTRA_LINK_OPTIONS=-licudata -lstdc++ ${EXTRA_LIBS} - else - EXTRA_LINK_OPTIONS=${EXTRA_LIBS} -lstdc++ - endif - SHLIBSUFFIX=.so -endif - -#=============== NETBSD SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, NETBSD) - CMP= -c ${CXXFLAGS} - CC= ${COMPILER} -c -D${PLATFORM} -fPIC - LINK = ${COMPILER} -D${PLATFORM} -fPIC ${LDFLAGS} - PLATFORM_LIB_LINK_OPTIONS=-Wl,-rpath,${XERCESCROOT}/lib - ifdef ICUROOT - PLATFORM_LIB_LINK_OPTIONS+=-L${ICUROOT} -Wl,-rpath,${ICUROOT} - EXTRA_LINK_OPTIONS=-licudata -lstdc++ ${EXTRA_LIBS} - else - EXTRA_LINK_OPTIONS=${EXTRA_LIBS} -lstdc++ - endif - SHLIBSUFFIX=.so -endif - -#================= HP SPECIFIC OPTIONS =========================== -ifeq (${PLATFORM}, HPUX) - ifeq (${COMPILER}, aCC) - ifeq (${CXXVER}, aCC05) - CMP = -c +DAportable $(CXXFLAGS) -D_HP_UX -DHPaCC -w +z -mt - else - CMP = -c +DAportable $(CXXFLAGS) -D_HP_UX -DHPaCC -w +z - endif - - CC = aCC - LINK = ${CC} -Wl,+s -Wl,+b,. ${LDFLAGS} - - ifeq (${CXXVER}, aCC05) - PLATFORM_LIB_LINK_OPTIONS=-L/opt/aCC/lib -L/usr/ccs/lib -mt - else - PLATFORM_LIB_LINK_OPTIONS=-L/opt/aCC/lib -L/usr/ccs/lib -lpthread - endif - - SHLIBSUFFIX=.sl - else - ifneq (${DEBUG}, 1) - CXXFLAGS = -w +O1 - endif - APPL_NAME = $(notdir $(shell pwd)) - TEMPLATESDIR = $(XERCESCROOT)/bin/obj/$(APPL_NAME)/ptrepository - COMMON_CMP = $(CXXFLAGS) -D_HP_UX -DHPCC +DAportable -w +eh +z -z \ - -ptr$(TEMPLATESDIR) - CMP = -c $(COMMON_CMP) - CC = CC - LINK = ${CC} $(COMMON_CMP) -Wl,+s -Wl,+b,. ${LDFLAGS} - PLATFORM_LIB_LINK_OPTIONS=-L/opt/CC/lib -L/usr/lib - SHLIBSUFFIX=.sl - endif -endif - -#================= OS390 SPECIFIC OPTIONS =========================== -################################################################### -# IMPORTANT NOTE # -################################################################### -# Before you try to run the Makefile, make sure you have two # -# environment variables set. # -# # -# export XERCESCROOT= # -# # -# If you are going to do the OS390BATCH build, make sure you have # -# the OS390BATCH environment variable set. # -# # -# export OS390BATCH=1 # -# # -# Also, # -# # -# export LOADMOD=USERID.LOAD # -# export LOADEXP=SYS1.SIXMEXP or &hlq.SIXMEXP # -# # -# to specify your LOADMOD and the IXM4C55X definition sidedeck # -# dataset. # -################################################################### - -ifeq (${PLATFORM}, OS390) -CMP= -c -DOS390 ${CXXFLAGS} -## OS390BATCH -ifeq (${OS390BATCH},1) -CC = _CXX_CXXSUFFIX="cpp" c++ -W0,"langlvl(extended)" -Wc,"TMPLPARSE(NO)" -DOS390 -D_OPEN_THREADS -D_XOPEN_SOURCE_EXTENDED -DOS390BATCH -else -CC = _CXX_CXXSUFFIX="cpp" c++ -W0,"langlvl(extended)" -Wc,"TMPLPARSE(NO)" -DOS390 -D_OPEN_THREADS -D_XOPEN_SOURCE_EXTENDED -endif -LINK = ${CC} ${LDFLAGS} -PLATFORM_LIB_LINK_OPTIONS= -EXTRA_LINK_OPTIONS=${EXTRA_LIBS} -SHLIBSUFFIX=.dll -OS390SIDEDECK=.x -## OS390BATCH -ifeq (${OS390BATCH},1) -LIBRARY_NAMES="//'${LOADEXP}(IXM4C55X)'" -else -LIBRARY_NAMES=${LIB_DIR}/lib${LIBNAME}${VER}${OS390SIDEDECK} -endif -LIBRARY_SEARCH_PATHS= -endif - - -#=============== TRU64 SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, TRU64) -CMP= -c ${CXXFLAGS} -CC = ${COMPILER} -c -D${PLATFORM} -LINK = ${COMPILER} -D${PLATFORM} ${LDFLAGS} -PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib -SHLIBSUFFIX=.so -endif - - -#=============== MacOS SPECIFIC OPTIONS ========================= -ifeq (${PLATFORM}, MACOSX) - CMP= -c ${CXXFLAGS} - CC= c++ -c -D${PLATFORM} -D_REENTRANT - LINK = c++ -D${PLATFORM} ${LDFLAGS} - PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib - SHLIBSUFFIX=.dylib -endif diff --git a/helm/papers/use_case/stats/parse/SAX2Print/SAX2Print.cpp b/helm/papers/use_case/stats/parse/SAX2Print/SAX2Print.cpp deleted file mode 100644 index fce04fcce..000000000 --- a/helm/papers/use_case/stats/parse/SAX2Print/SAX2Print.cpp +++ /dev/null @@ -1,359 +0,0 @@ -/* - * Copyright 1999-2001,2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - * $Log$ - * Revision 1.1 2004/11/23 13:38:52 lpadovan - * * basic infrastructure for collecting statistics - * - * Revision 1.17 2004/09/08 13:55:33 peiyongz - * Apache License Version 2.0 - * - * Revision 1.16 2004/09/02 14:59:29 cargilld - * Add OutOfMemoryException block to samples. - * - * Revision 1.15 2004/02/06 15:04:16 cargilld - * Misc 390 changes. - * - * Revision 1.14 2003/08/07 21:21:38 neilg - * fix segmentation faults that may arise when the parser throws exceptions during document parsing. In general, XMLPlatformUtils::Terminate() should not be called from within a catch statement. - * - * Revision 1.13 2003/05/30 09:36:36 gareth - * Use new macros for iostream.h and std:: issues. - * - * Revision 1.12 2002/06/17 15:33:00 tng - * Name Xerces features as XMLUni::fgXercesXXXX instead of XMLUni::fgSAX2XercesXXXX so that they can be shared with DOM parser. - * - * Revision 1.11 2002/05/28 20:20:26 tng - * Add option '-n' to SAX2Print. - * - * Revision 1.10 2002/04/17 20:18:08 tng - * [Bug 7493] The word "occured" is misspelled and it is a global error. - * - * Revision 1.9 2002/02/13 16:11:06 knoaman - * Update samples to use SAX2 features/properties constants from XMLUni. - * - * Revision 1.8 2002/02/06 16:36:51 knoaman - * Added a new flag '-p' to SAX2 samples to set the 'namespace-prefixes' feature. - * - * Revision 1.7 2002/02/01 22:40:44 peiyongz - * sane_include - * - * Revision 1.6 2001/10/25 15:18:33 tng - * delete the parser before XMLPlatformUtils::Terminate. - * - * Revision 1.5 2001/10/19 19:02:43 tng - * [Bug 3909] return non-zero an exit code when error was encounted. - * And other modification for consistent help display and return code across samples. - * - * Revision 1.4 2001/08/02 17:10:29 tng - * Allow DOMCount/SAXCount/IDOMCount/SAX2Count to take a file that has a list of xml file as input. - * - * Revision 1.3 2001/08/01 19:11:01 tng - * Add full schema constraint checking flag to the samples and the parser. - * - * Revision 1.2 2000/08/09 22:20:38 jpolast - * updates for changes to sax2 core functionality. - * - * Revision 1.1 2000/08/02 19:16:14 jpolast - * initial checkin of SAX2Print - * - * - */ - - -// --------------------------------------------------------------------------- -// Includes -// --------------------------------------------------------------------------- -#include -#include -#include -#include -#include "SAX2Print.hpp" -#include -#include - -// --------------------------------------------------------------------------- -// Local data -// -// encodingName -// The encoding we are to output in. If not set on the command line, -// then it is defaulted to LATIN1. -// -// xmlFile -// The path to the file to parser. Set via command line. -// -// valScheme -// Indicates what validation scheme to use. It defaults to 'auto', but -// can be set via the -v= command. -// -// expandNamespaces -// Indicates if the output should expand the namespaces Alias with -// their URI's, defaults to false, can be set via the command line -e -// --------------------------------------------------------------------------- -static const char* encodingName = "LATIN1"; -static XMLFormatter::UnRepFlags unRepFlags = XMLFormatter::UnRep_CharRef; -static char* xmlFile = 0; -static SAX2XMLReader::ValSchemes valScheme = SAX2XMLReader::Val_Auto; -static bool expandNamespaces= false ; -static bool doNamespaces = true; -static bool doSchema = true; -static bool schemaFullChecking = false; -static bool namespacePrefixes = false; - - -// --------------------------------------------------------------------------- -// Local helper methods -// --------------------------------------------------------------------------- -static void usage() -{ - XERCES_STD_QUALIFIER cout << "\nUsage:\n" - " SAX2Print [options] \n\n" - "This program invokes the SAX2XMLReader, and then prints the\n" - "data returned by the various SAX2 handlers for the specified\n" - "XML file.\n\n" - "Options:\n" - " -u=xxx Handle unrepresentable chars [fail | rep | ref*].\n" - " -v=xxx Validation scheme [always | never | auto*].\n" - " -e Expand Namespace Alias with URI's. Defaults to off.\n" - " -x=XXX Use a particular encoding for output (LATIN1*).\n" - " -f Enable full schema constraint checking processing. Defaults to off.\n" - " -p Enable namespace-prefixes feature. Defaults to off.\n" - " -n Disable namespace processing. Defaults to on.\n" - " NOTE: THIS IS OPPOSITE FROM OTHER SAMPLES.\n" - " -s Disable schema processing. Defaults to on.\n" - " NOTE: THIS IS OPPOSITE FROM OTHER SAMPLES.\n" - " -? Show this help.\n\n" - " * = Default if not provided explicitly.\n\n" - "The parser has intrinsic support for the following encodings:\n" - " UTF-8, USASCII, ISO8859-1, UTF-16[BL]E, UCS-4[BL]E,\n" - " WINDOWS-1252, IBM1140, IBM037, IBM1047.\n" - << XERCES_STD_QUALIFIER endl; -} - - - -// --------------------------------------------------------------------------- -// Program entry point -// --------------------------------------------------------------------------- -int main(int argC, char* argV[]) -{ - // Initialize the XML4C2 system - try - { - XMLPlatformUtils::Initialize(); - } - - catch (const XMLException& toCatch) - { - XERCES_STD_QUALIFIER cerr << "Error during initialization! :\n" - << StrX(toCatch.getMessage()) << XERCES_STD_QUALIFIER endl; - return 1; - } - - // Check command line and extract arguments. - if (argC < 2) - { - usage(); - XMLPlatformUtils::Terminate(); - return 1; - } - - int parmInd; - for (parmInd = 1; parmInd < argC; parmInd++) - { - // Break out on first parm not starting with a dash - if (argV[parmInd][0] != '-') - break; - - // Watch for special case help request - if (!strcmp(argV[parmInd], "-?")) - { - usage(); - XMLPlatformUtils::Terminate(); - return 2; - } - else if (!strncmp(argV[parmInd], "-v=", 3) - || !strncmp(argV[parmInd], "-V=", 3)) - { - const char* const parm = &argV[parmInd][3]; - - if (!strcmp(parm, "never")) - valScheme = SAX2XMLReader::Val_Never; - else if (!strcmp(parm, "auto")) - valScheme = SAX2XMLReader::Val_Auto; - else if (!strcmp(parm, "always")) - valScheme = SAX2XMLReader::Val_Always; - else - { - XERCES_STD_QUALIFIER cerr << "Unknown -v= value: " << parm << XERCES_STD_QUALIFIER endl; - XMLPlatformUtils::Terminate(); - return 2; - } - } - else if (!strcmp(argV[parmInd], "-e") - || !strcmp(argV[parmInd], "-E")) - { - expandNamespaces = true; - } - else if (!strncmp(argV[parmInd], "-x=", 3) - || !strncmp(argV[parmInd], "-X=", 3)) - { - // Get out the encoding name - encodingName = &argV[parmInd][3]; - } - else if (!strncmp(argV[parmInd], "-u=", 3) - || !strncmp(argV[parmInd], "-U=", 3)) - { - const char* const parm = &argV[parmInd][3]; - - if (!strcmp(parm, "fail")) - unRepFlags = XMLFormatter::UnRep_Fail; - else if (!strcmp(parm, "rep")) - unRepFlags = XMLFormatter::UnRep_Replace; - else if (!strcmp(parm, "ref")) - unRepFlags = XMLFormatter::UnRep_CharRef; - else - { - XERCES_STD_QUALIFIER cerr << "Unknown -u= value: " << parm << XERCES_STD_QUALIFIER endl; - XMLPlatformUtils::Terminate(); - return 2; - } - } - else if (!strcmp(argV[parmInd], "-n") - || !strcmp(argV[parmInd], "-N")) - { - doNamespaces = false; - } - else if (!strcmp(argV[parmInd], "-s") - || !strcmp(argV[parmInd], "-S")) - { - doSchema = false; - } - else if (!strcmp(argV[parmInd], "-f") - || !strcmp(argV[parmInd], "-F")) - { - schemaFullChecking = true; - } - else if (!strcmp(argV[parmInd], "-p") - || !strcmp(argV[parmInd], "-P")) - { - namespacePrefixes = true; - } - else - { - XERCES_STD_QUALIFIER cerr << "Unknown option '" << argV[parmInd] - << "', ignoring it\n" << XERCES_STD_QUALIFIER endl; - } - } - - // - // And now we have to have only one parameter left and it must be - // the file name. - // - if (parmInd + 1 != argC) - { - usage(); - XMLPlatformUtils::Terminate(); - return 1; - } - xmlFile = argV[parmInd]; - - // - // Create a SAX parser object. Then, according to what we were told on - // the command line, set it to validate or not. - // - SAX2XMLReader* parser = XMLReaderFactory::createXMLReader(); - - // - // Then, according to what we were told on - // the command line, set it to validate or not. - // - if (valScheme == SAX2XMLReader::Val_Auto) - { - parser->setFeature(XMLUni::fgSAX2CoreValidation, true); - parser->setFeature(XMLUni::fgXercesDynamic, true); - } - - if (valScheme == SAX2XMLReader::Val_Never) - { - parser->setFeature(XMLUni::fgSAX2CoreValidation, false); - } - - if (valScheme == SAX2XMLReader::Val_Always) - { - parser->setFeature(XMLUni::fgSAX2CoreValidation, true); - parser->setFeature(XMLUni::fgXercesDynamic, false); - } - - parser->setFeature(XMLUni::fgSAX2CoreNameSpaces, doNamespaces); - parser->setFeature(XMLUni::fgXercesSchema, doSchema); - parser->setFeature(XMLUni::fgXercesSchemaFullChecking, schemaFullChecking); - parser->setFeature(XMLUni::fgSAX2CoreNameSpacePrefixes, namespacePrefixes); - - // - // Create the handler object and install it as the document and error - // handler for the parser. Then parse the file and catch any exceptions - // that propogate out - // - - struct timeval timing1, timing2; - int errorCount = 0; - int errorCode = 0; - try - { - SAX2PrintHandlers handler(encodingName, unRepFlags, expandNamespaces); - parser->setContentHandler(&handler); - parser->setErrorHandler(&handler); - gettimeofday(&timing1, NULL); - parser->parse(xmlFile); - gettimeofday(&timing2, NULL); - errorCount = parser->getErrorCount(); - } - catch (const OutOfMemoryException&) - { - XERCES_STD_QUALIFIER cerr << "OutOfMemoryException" << XERCES_STD_QUALIFIER endl; - errorCode = 5; - } - catch (const XMLException& toCatch) - { - XERCES_STD_QUALIFIER cerr << "\nAn error occurred\n Error: " - << StrX(toCatch.getMessage()) - << "\n" << XERCES_STD_QUALIFIER endl; - errorCode = 4; - } - - if(errorCode) { - XMLPlatformUtils::Terminate(); - return errorCode; - } - - // - // Delete the parser itself. Must be done prior to calling Terminate, below. - // - delete parser; - - fprintf(stdout, "%d\n", ((timing2.tv_sec * 1000000 + timing2.tv_usec) - (timing1.tv_sec * 1000000 + timing1.tv_usec)) / 1000); - - // And call the termination method - XMLPlatformUtils::Terminate(); - - if (errorCount > 0) - return 4; - else - return 0; -} - diff --git a/helm/papers/use_case/stats/parse/SAX2Print/SAX2Print.hpp b/helm/papers/use_case/stats/parse/SAX2Print/SAX2Print.hpp deleted file mode 100644 index 7d89f74d6..000000000 --- a/helm/papers/use_case/stats/parse/SAX2Print/SAX2Print.hpp +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright 1999-2000,2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - * $Log$ - * Revision 1.1 2004/11/23 13:38:52 lpadovan - * * basic infrastructure for collecting statistics - * - * Revision 1.4 2004/09/08 13:55:33 peiyongz - * Apache License Version 2.0 - * - * Revision 1.3 2003/05/30 09:36:36 gareth - * Use new macros for iostream.h and std:: issues. - * - * Revision 1.2 2003/02/05 18:53:23 tng - * [Bug 11915] Utility for freeing memory. - * - * Revision 1.1 2000/08/02 19:16:14 jpolast - * initial checkin of SAX2Print - * - * - */ - -// --------------------------------------------------------------------------- -// Includes for all the program files to see -// --------------------------------------------------------------------------- -#include -#if defined(XERCES_NEW_IOSTREAMS) -#include -#else -#include -#endif -#include -#include "SAX2PrintHandlers.hpp" - - -// --------------------------------------------------------------------------- -// This is a simple class that lets us do easy (though not terribly efficient) -// trancoding of XMLCh data to local code page for display. -// --------------------------------------------------------------------------- -class StrX -{ -public : - // ----------------------------------------------------------------------- - // Constructors and Destructor - // ----------------------------------------------------------------------- - StrX(const XMLCh* const toTranscode) - { - // Call the private transcoding method - fLocalForm = XMLString::transcode(toTranscode); - } - - ~StrX() - { - XMLString::release(&fLocalForm); - } - - // ----------------------------------------------------------------------- - // Getter methods - // ----------------------------------------------------------------------- - const char* localForm() const - { - return fLocalForm; - } - -private : - // ----------------------------------------------------------------------- - // Private data members - // - // fLocalForm - // This is the local code page form of the string. - // ----------------------------------------------------------------------- - char* fLocalForm; -}; - -inline XERCES_STD_QUALIFIER ostream& operator<<(XERCES_STD_QUALIFIER ostream& target, const StrX& toDump) -{ - target << toDump.localForm(); - return target; -} diff --git a/helm/papers/use_case/stats/parse/SAX2Print/SAX2PrintHandlers.cpp b/helm/papers/use_case/stats/parse/SAX2Print/SAX2PrintHandlers.cpp deleted file mode 100644 index 73950593d..000000000 --- a/helm/papers/use_case/stats/parse/SAX2Print/SAX2PrintHandlers.cpp +++ /dev/null @@ -1,297 +0,0 @@ -/* - * Copyright 1999-2001,2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - * $Log$ - * Revision 1.1 2004/11/23 13:38:52 lpadovan - * * basic infrastructure for collecting statistics - * - * Revision 1.10 2004/09/08 13:55:33 peiyongz - * Apache License Version 2.0 - * - * Revision 1.9 2003/05/30 09:36:36 gareth - * Use new macros for iostream.h and std:: issues. - * - * Revision 1.8 2003/03/17 21:03:52 peiyongz - * Bug#17983 - * - * Revision 1.7 2002/05/28 20:24:15 tng - * XMLUni::fgEmptyString which is defined as "EMPTY" is incorrectly used as an empty string, should use XMLUni::fgZeroLenString instead - * - * Revision 1.6 2002/02/01 22:40:44 peiyongz - * sane_include - * - * Revision 1.5 2001/05/11 13:24:57 tng - * Copyright update. - * - * Revision 1.4 2001/05/03 16:00:03 tng - * Schema: samples update with schema - * - * Revision 1.3 2000/10/10 23:55:53 andyh - * XMLFormatter patch, contributed by Bill Schindler. Fix problems with - * output to multi-byte encodings. - * - * Revision 1.2 2000/08/09 22:20:38 jpolast - * updates for changes to sax2 core functionality. - * - * Revision 1.1 2000/08/02 19:16:14 jpolast - * initial checkin of SAX2Print - * - * - */ - - - -// --------------------------------------------------------------------------- -// Includes -// --------------------------------------------------------------------------- -#include -#include -#include "SAX2Print.hpp" - - -// --------------------------------------------------------------------------- -// Local const data -// -// Note: This is the 'safe' way to do these strings. If you compiler supports -// L"" style strings, and portability is not a concern, you can use -// those types constants directly. -// --------------------------------------------------------------------------- -static const XMLCh gEndElement[] = { chOpenAngle, chForwardSlash, chNull }; -static const XMLCh gEndPI[] = { chQuestion, chCloseAngle, chNull }; -static const XMLCh gStartPI[] = { chOpenAngle, chQuestion, chNull }; -static const XMLCh gXMLDecl1[] = -{ - chOpenAngle, chQuestion, chLatin_x, chLatin_m, chLatin_l - , chSpace, chLatin_v, chLatin_e, chLatin_r, chLatin_s, chLatin_i - , chLatin_o, chLatin_n, chEqual, chDoubleQuote, chDigit_1, chPeriod - , chDigit_0, chDoubleQuote, chSpace, chLatin_e, chLatin_n, chLatin_c - , chLatin_o, chLatin_d, chLatin_i, chLatin_n, chLatin_g, chEqual - , chDoubleQuote, chNull -}; - -static const XMLCh gXMLDecl2[] = -{ - chDoubleQuote, chQuestion, chCloseAngle - , chLF, chNull -}; - - - - -// --------------------------------------------------------------------------- -// SAX2PrintHandlers: Constructors and Destructor -// --------------------------------------------------------------------------- -SAX2PrintHandlers::SAX2PrintHandlers( const char* const encodingName - , const XMLFormatter::UnRepFlags unRepFlags - , const bool expandNamespaces) : - - fFormatter - ( - encodingName - , 0 - , this - , XMLFormatter::NoEscapes - , unRepFlags - ), - fExpandNS ( expandNamespaces ) -{ - // - // Go ahead and output an XML Decl with our known encoding. This - // is not the best answer, but its the best we can do until we - // have SAX2 support. - // - // - //fFormatter << gXMLDecl1 << fFormatter.getEncodingName() << gXMLDecl2; -} - -SAX2PrintHandlers::~SAX2PrintHandlers() -{ -} - - -// --------------------------------------------------------------------------- -// SAX2PrintHandlers: Overrides of the output formatter target interface -// --------------------------------------------------------------------------- -void SAX2PrintHandlers::writeChars(const XMLByte* const toWrite) -{ -} - -void SAX2PrintHandlers::writeChars(const XMLByte* const toWrite, - const unsigned int count, - XMLFormatter* const formatter) -{ - // For this one, just dump them to the standard output - // Surprisingly, Solaris was the only platform on which - // required the char* cast to print out the string correctly. - // Without the cast, it was printing the pointer value in hex. - // Quite annoying, considering every other platform printed - // the string with the explicit cast to char* below. - XERCES_STD_QUALIFIER cout.write((char *) toWrite, (int) count); - XERCES_STD_QUALIFIER cout.flush(); -} - - -// --------------------------------------------------------------------------- -// SAX2PrintHandlers: Overrides of the SAX ErrorHandler interface -// --------------------------------------------------------------------------- -void SAX2PrintHandlers::error(const SAXParseException& e) -{ - XERCES_STD_QUALIFIER cerr << "\nError at file " << StrX(e.getSystemId()) - << ", line " << e.getLineNumber() - << ", char " << e.getColumnNumber() - << "\n Message: " << StrX(e.getMessage()) << XERCES_STD_QUALIFIER endl; -} - -void SAX2PrintHandlers::fatalError(const SAXParseException& e) -{ - XERCES_STD_QUALIFIER cerr << "\nFatal Error at file " << StrX(e.getSystemId()) - << ", line " << e.getLineNumber() - << ", char " << e.getColumnNumber() - << "\n Message: " << StrX(e.getMessage()) << XERCES_STD_QUALIFIER endl; -} - -void SAX2PrintHandlers::warning(const SAXParseException& e) -{ - XERCES_STD_QUALIFIER cerr << "\nWarning at file " << StrX(e.getSystemId()) - << ", line " << e.getLineNumber() - << ", char " << e.getColumnNumber() - << "\n Message: " << StrX(e.getMessage()) << XERCES_STD_QUALIFIER endl; -} - - -// --------------------------------------------------------------------------- -// SAX2PrintHandlers: Overrides of the SAX DTDHandler interface -// --------------------------------------------------------------------------- -void SAX2PrintHandlers::unparsedEntityDecl(const XMLCh* const name - , const XMLCh* const publicId - , const XMLCh* const systemId - , const XMLCh* const notationName) -{ - // Not used at this time -} - - -void SAX2PrintHandlers::notationDecl(const XMLCh* const name - , const XMLCh* const publicId - , const XMLCh* const systemId) -{ - // Not used at this time -} - - -// --------------------------------------------------------------------------- -// SAX2PrintHandlers: Overrides of the SAX DocumentHandler interface -// --------------------------------------------------------------------------- -void SAX2PrintHandlers::characters(const XMLCh* const chars - , const unsigned int length) -{ - //fFormatter.formatBuf(chars, length, XMLFormatter::CharEscapes); -} - - -void SAX2PrintHandlers::endDocument() -{ -} - - -void SAX2PrintHandlers::endElement(const XMLCh* const uri, - const XMLCh* const localname, - const XMLCh* const qname) -{ -#if 0 - // No escapes are legal here - fFormatter << XMLFormatter::NoEscapes << gEndElement ; - if ( fExpandNS ) - { - if (XMLString::compareIString(uri,XMLUni::fgZeroLenString) != 0) - fFormatter << uri << chColon; - fFormatter << localname << chCloseAngle; - } - else - fFormatter << qname << chCloseAngle; -#endif -} - - -void SAX2PrintHandlers::ignorableWhitespace( const XMLCh* const chars - ,const unsigned int length) -{ - //fFormatter.formatBuf(chars, length, XMLFormatter::NoEscapes); -} - - -void SAX2PrintHandlers::processingInstruction(const XMLCh* const target - , const XMLCh* const data) -{ -#if 0 - fFormatter << XMLFormatter::NoEscapes << gStartPI << target; - if (data) - fFormatter << chSpace << data; - fFormatter << XMLFormatter::NoEscapes << gEndPI; -#endif -} - - -void SAX2PrintHandlers::startDocument() -{ -} - - -void SAX2PrintHandlers::startElement(const XMLCh* const uri, - const XMLCh* const localname, - const XMLCh* const qname, - const Attributes& attributes) -{ -#if 0 - // The name has to be representable without any escapes - fFormatter << XMLFormatter::NoEscapes << chOpenAngle ; - if ( fExpandNS ) - { - if (XMLString::compareIString(uri,XMLUni::fgZeroLenString) != 0) - fFormatter << uri << chColon; - fFormatter << localname ; - } - else - fFormatter << qname ; - - unsigned int len = attributes.getLength(); - for (unsigned int index = 0; index < len; index++) - { - // - // Again the name has to be completely representable. But the - // attribute can have refs and requires the attribute style - // escaping. - // - fFormatter << XMLFormatter::NoEscapes << chSpace ; - if ( fExpandNS ) - { - if (XMLString::compareIString(attributes.getURI(index),XMLUni::fgZeroLenString) != 0) - fFormatter << attributes.getURI(index) << chColon; - fFormatter << attributes.getLocalName(index) ; - } - else - fFormatter << attributes.getQName(index) ; - - fFormatter << chEqual << chDoubleQuote - << XMLFormatter::AttrEscapes - << attributes.getValue(index) - << XMLFormatter::NoEscapes - << chDoubleQuote; - } - fFormatter << chCloseAngle; -#endif -} diff --git a/helm/papers/use_case/stats/parse/SAX2Print/SAX2PrintHandlers.hpp b/helm/papers/use_case/stats/parse/SAX2Print/SAX2PrintHandlers.hpp deleted file mode 100644 index d354c9ebd..000000000 --- a/helm/papers/use_case/stats/parse/SAX2Print/SAX2PrintHandlers.hpp +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Copyright 1999-2000,2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - * $Log$ - * Revision 1.1 2004/11/23 13:38:52 lpadovan - * * basic infrastructure for collecting statistics - * - * Revision 1.7 2004/09/08 13:55:33 peiyongz - * Apache License Version 2.0 - * - * Revision 1.6 2004/02/15 19:43:15 amassari - * Removed cause for warnings in VC 7.1 - * - * Revision 1.5 2002/11/05 21:46:20 tng - * Explicit code using namespace in application. - * - * Revision 1.4 2002/02/01 22:40:44 peiyongz - * sane_include - * - * Revision 1.3 2000/10/10 23:55:55 andyh - * XMLFormatter patch, contributed by Bill Schindler. Fix problems with - * output to multi-byte encodings. - * - * Revision 1.2 2000/08/09 22:20:39 jpolast - * updates for changes to sax2 core functionality. - * - * Revision 1.1 2000/08/02 19:16:14 jpolast - * initial checkin of SAX2Print - * - * - */ - -#include -#include - -XERCES_CPP_NAMESPACE_USE - -class SAX2PrintHandlers : public DefaultHandler, private XMLFormatTarget -{ -public: - // ----------------------------------------------------------------------- - // Constructors - // ----------------------------------------------------------------------- - SAX2PrintHandlers - ( - const char* const encodingName - , const XMLFormatter::UnRepFlags unRepFlags - , const bool expandNamespaces - ); - ~SAX2PrintHandlers(); - - - // ----------------------------------------------------------------------- - // Implementations of the format target interface - // ----------------------------------------------------------------------- - void writeChars - ( - const XMLByte* const toWrite - ); - - void writeChars - ( - const XMLByte* const toWrite - , const unsigned int count - , XMLFormatter* const formatter - ); - - - // ----------------------------------------------------------------------- - // Implementations of the SAX DocumentHandler interface - // ----------------------------------------------------------------------- - void endDocument(); - - void endElement( const XMLCh* const uri, - const XMLCh* const localname, - const XMLCh* const qname); - - void characters(const XMLCh* const chars, const unsigned int length); - - void ignorableWhitespace - ( - const XMLCh* const chars - , const unsigned int length - ); - - void processingInstruction - ( - const XMLCh* const target - , const XMLCh* const data - ); - - void startDocument(); - - void startElement( const XMLCh* const uri, - const XMLCh* const localname, - const XMLCh* const qname, - const Attributes& attributes); - - - - // ----------------------------------------------------------------------- - // Implementations of the SAX ErrorHandler interface - // ----------------------------------------------------------------------- - void warning(const SAXParseException& exc); - void error(const SAXParseException& exc); - void fatalError(const SAXParseException& exc); - - - - // ----------------------------------------------------------------------- - // Implementation of the SAX DTDHandler interface - // ----------------------------------------------------------------------- - void notationDecl - ( - const XMLCh* const name - , const XMLCh* const publicId - , const XMLCh* const systemId - ); - - void unparsedEntityDecl - ( - const XMLCh* const name - , const XMLCh* const publicId - , const XMLCh* const systemId - , const XMLCh* const notationName - ); - -private : - // ----------------------------------------------------------------------- - // Private data members - // - // fFormatter - // This is the formatter object that is used to output the data - // to the target. It is set up to format to the standard output - // stream. - // ----------------------------------------------------------------------- - XMLFormatter fFormatter; - bool fExpandNS ; -}; diff --git a/helm/papers/use_case/stats/parse/parse_expat.c b/helm/papers/use_case/stats/parse/parse_expat.c deleted file mode 100644 index 900888728..000000000 --- a/helm/papers/use_case/stats/parse/parse_expat.c +++ /dev/null @@ -1,50 +0,0 @@ -#include -#include -#include - -static void XMLCALL -startElement(void *userData, const char *name, const char **atts) { return; } - -static void XMLCALL -endElement(void *userData, const char *name) { return; } - -static void XMLCALL -characterData(void *userData, const char *s, int len) { return; } - -static void XMLCALL -startCdata(void *userData) { return; } - -static void XMLCALL -endCdata(void *userData) { return; } - -int -main(int argc, char *argv[]) -{ - char buf[BUFSIZ]; - int done; - FILE *xmlfile = stdin; - struct timeval timing1, timing2; - XML_Parser parser = XML_ParserCreateNS(NULL,' '); - XML_SetElementHandler(parser, startElement, endElement); - XML_SetCharacterDataHandler(parser, characterData); - XML_SetCdataSectionHandler(parser, startCdata, endCdata); - gettimeofday(&timing1, NULL); - do { - size_t len = fread(buf, 1, sizeof(buf), xmlfile); - done = len < sizeof(buf); - if (XML_Parse(parser, buf, len, done) == XML_STATUS_ERROR) { - fprintf(stderr, - "%s at line %d\n", - XML_ErrorString(XML_GetErrorCode(parser)), - XML_GetCurrentLineNumber(parser)); - return 1; - } - } while (!done); - gettimeofday(&timing2, NULL) != 0; - XML_ParserFree(parser); - fprintf(stdout, "%d\n", - ((timing2.tv_sec * 1000000 + timing2.tv_usec) - - (timing1.tv_sec * 1000000 + timing1.tv_usec)) / 1000); - return 0; -} - diff --git a/helm/papers/use_case/stats/parse/parse_xmlreader.c b/helm/papers/use_case/stats/parse/parse_xmlreader.c deleted file mode 100644 index e154b709c..000000000 --- a/helm/papers/use_case/stats/parse/parse_xmlreader.c +++ /dev/null @@ -1,31 +0,0 @@ -#include -#include -#include - -int -main(int argc, char *argv[]) -{ - struct timeval timing1, timing2; - xmlTextReaderPtr reader; - int ret; - reader = xmlReaderForFd(0, NULL, NULL, 0); - if (reader == NULL) { - fprintf(stderr, "Can't instantiate parser\n"); - return 1; - } - gettimeofday(&timing1, NULL); - ret = xmlTextReaderRead(reader); - while (ret == 1) { - ret = xmlTextReaderRead(reader); - } - gettimeofday(&timing2, NULL); - xmlFreeTextReader(reader); - if (ret != 0) { - fprintf(stderr, "failed to parse STDIN\n"); - } - fprintf(stdout, "%d\n", - ((timing2.tv_sec * 1000000 + timing2.tv_usec) - - (timing1.tv_sec * 1000000 + timing1.tv_usec)) / 1000); - return 0; -} - diff --git a/helm/papers/use_case/stats/parse/parse_xmlsax.c b/helm/papers/use_case/stats/parse/parse_xmlsax.c deleted file mode 100644 index 334a42e7d..000000000 --- a/helm/papers/use_case/stats/parse/parse_xmlsax.c +++ /dev/null @@ -1,98 +0,0 @@ -#include -#include -#include - -void characters_cb -(void * ctx, const xmlChar * ch, int len) { return; } - -void whitespace_cb -(void *ctx, const xmlChar *ch, int len) { return; } - -void cdata_cb -(void *ctx, const xmlChar *value, int len) { return; } - -void start_element_cb -(void *ctx, const xmlChar *name, const xmlChar **atts) { return; } - -void start_element_ns_cb -(void *ctx, const xmlChar *localname, const xmlChar *prefix, const xmlChar *URI, - int nb_namespaces, const xmlChar **namespaces, int nb_attributes, - int nb_defaulted, const xmlChar **attributes) -{ return; } - -void end_element_ns_cb -(void *ctx, const xmlChar *localname, const xmlChar *prefix, const xmlChar *URI) -{ return; } - -void error_cb -(void *ctx, const char *msg, ...) { - fprintf(stderr, "Error: %s\n", msg); - return; -} - -int -main(int argc, char *argv[]) -{ - char buf[BUFSIZ]; - int res; - int done; - FILE *xmlfile = stdin; - struct timeval timing1, timing2; - xmlParserCtxtPtr ctxt; - xmlSAXHandler sax = { - NULL, /* internalSubsetSAXFunc */ - NULL, /* isStandaloneSAXFunc */ - NULL, /* hasInternalSubsetSAXFunc */ - NULL, /* hasExternalSubsetSAXFunc */ - NULL, /* resolveEntitySAXFunc */ - NULL, /* getEntitySAXFunc */ - NULL, /* entityDeclSAXFunc */ - NULL, /* notationDeclSAXFunc */ - NULL, /* attributeDeclSAXFunc */ - NULL, /* elementDeclSAXFunc */ - NULL, /* unparsedEntityDeclSAXFunc */ - NULL, /* setDocumentLocatorSAXFunc */ - NULL, /* startDocumentSAXFunc */ - NULL, /* endDocumentSAXFunc */ - start_element_cb, /* startElementSAXFunc */ - NULL, /* endElementSAXFunc */ - NULL, /* referenceSAXFunc */ - characters_cb, /* charactersSAXFunc */ - whitespace_cb, /* ignorableWhitespaceSAXFunc */ - NULL, /* processingInstructionSAXFunc */ - NULL, /* commentSAXFunc */ - NULL, /* warningSAXFunc */ - error_cb, /* errorSAXFunc */ - NULL, /* fatalErrorSAXFunc */ - NULL, /* getParameterEntitySAXFunc */ - cdata_cb, /* cdataBlockSAXFunc */ - NULL, /* externalSubsetSAXFunc */ - XML_SAX2_MAGIC, /* initialized */ - NULL, /* _private */ - start_element_ns_cb, /* startElementNsSAX2Func */ - end_element_ns_cb, /* startElementNsSAX2Func */ - NULL /* xmlStructuredErrorFunc */ - }; - ctxt = xmlCreatePushParserCtxt(&sax, NULL, NULL, 0, NULL); - if (ctxt == NULL) { - fprintf(stderr, "Can't instantiate parser\n"); - return 1; - } - gettimeofday(&timing1, NULL); - do { - size_t len = fread(buf, 1, sizeof(buf), xmlfile); - done = len < sizeof(buf); - res = xmlParseChunk(ctxt, buf, len, 0); - if (res != 0) { - fprintf(stderr, "Parse error\n"); - return 1; - } - } while (!done); - gettimeofday(&timing2, NULL); - xmlFreeParserCtxt(ctxt); - fprintf(stdout, "%d\n", - ((timing2.tv_sec * 1000000 + timing2.tv_usec) - - (timing1.tv_sec * 1000000 + timing1.tv_usec)) / 1000); - return 0; -} - diff --git a/helm/papers/use_case/stats/parse/parse_xmltree.c b/helm/papers/use_case/stats/parse/parse_xmltree.c deleted file mode 100644 index ae44269de..000000000 --- a/helm/papers/use_case/stats/parse/parse_xmltree.c +++ /dev/null @@ -1,17 +0,0 @@ -#include -#include -#include - -int -main(int argc, char *argv[]) -{ - struct timeval timing1, timing2; - gettimeofday(&timing1, NULL); - xmlParseFile(argv[1]); - gettimeofday(&timing2, NULL); - fprintf(stdout, "%d\n", - ((timing2.tv_sec * 1000000 + timing2.tv_usec) - - (timing1.tv_sec * 1000000 + timing1.tv_usec)) / 1000); - return 0; -} - diff --git a/helm/papers/use_case/stats/parsing_time_expat.sh b/helm/papers/use_case/stats/parsing_time_expat.sh deleted file mode 100755 index e8c94bc99..000000000 --- a/helm/papers/use_case/stats/parsing_time_expat.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -TIME=`zcat $1 | ./parse/parse_expat` -echo `fgrep $1 $2 | cut -d ' ' -f 2,3,4`" "$TIME diff --git a/helm/papers/use_case/stats/parsing_time_libxml2_reader.sh b/helm/papers/use_case/stats/parsing_time_libxml2_reader.sh deleted file mode 100755 index 71b319d76..000000000 --- a/helm/papers/use_case/stats/parsing_time_libxml2_reader.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -TIME=`zcat $1 | ./parse/parse_xmlreader` -echo `fgrep $1 $2 | cut -d ' ' -f 2,3,4`" "$TIME diff --git a/helm/papers/use_case/stats/parsing_time_libxml2_sax2.sh b/helm/papers/use_case/stats/parsing_time_libxml2_sax2.sh deleted file mode 100755 index 711b92e6a..000000000 --- a/helm/papers/use_case/stats/parsing_time_libxml2_sax2.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -TIME=`zcat $1 | ./parse/parse_xmlsax` -echo `fgrep $1 $2 | cut -d ' ' -f 2,3,4`" "$TIME diff --git a/helm/papers/use_case/stats/parsing_time_libxml2_tree.sh b/helm/papers/use_case/stats/parsing_time_libxml2_tree.sh deleted file mode 100755 index 55d3e211d..000000000 --- a/helm/papers/use_case/stats/parsing_time_libxml2_tree.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -zcat $1 >/tmp/a -TIME=`./parse/parse_xmltree /tmp/a` -echo `fgrep $1 $2 | cut -d ' ' -f 2,3,4`" "$TIME diff --git a/helm/papers/use_case/stats/parsing_time_xerces_sax2.sh b/helm/papers/use_case/stats/parsing_time_xerces_sax2.sh deleted file mode 100755 index 405fa42a4..000000000 --- a/helm/papers/use_case/stats/parsing_time_xerces_sax2.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -zcat $1 >/tmp/a -TIME=`./parse/SAX2Print/SAX2Print -v=never /tmp/a` -echo `fgrep $1 $2 | cut -d ' ' -f 2,3,4`" "$TIME diff --git a/helm/papers/use_case/stats/parsing_time_xerces_tree.sh b/helm/papers/use_case/stats/parsing_time_xerces_tree.sh deleted file mode 100755 index c5457f5a3..000000000 --- a/helm/papers/use_case/stats/parsing_time_xerces_tree.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -zcat $1 >/tmp/a -TIME=`./parse/DOMCount/DOMCount -v=never /tmp/a` -echo `fgrep $1 $2 | cut -d ' ' -f 2,3,4`" "$TIME diff --git a/helm/papers/use_case/stats/parsing_times.gpscript b/helm/papers/use_case/stats/parsing_times.gpscript deleted file mode 100644 index 677761aa9..000000000 --- a/helm/papers/use_case/stats/parsing_times.gpscript +++ /dev/null @@ -1,28 +0,0 @@ -set terminal postscript color -set key left box -set label font "Helvetica,8" - -set output "parsing_times_candidates.ps" -plot "parsing_times_expat_candidates.txt" using 2:4 title "Expat" with lines smooth bezier, \ - "parsing_times_xerces_sax2_candidates.txt" using 2:4 title "xerces sax2" with lines smooth bezier, \ - "parsing_times_xerces_tree_candidates.txt" using 2:4 title "xerces tree" with lines smooth bezier, \ - "parsing_times_libxml2_sax2_candidates.txt" using 2:4 title "libxml2 sax2" with lines smooth bezier, \ - "parsing_times_libxml2_reader_candidates.txt" using 2:4 title "libxml2 reader" with lines smooth bezier, \ - "parsing_times_libxml2_tree_candidates.txt" using 2:4 title "libxml2 tree" with lines smooth bezier - -set output "parsing_times_candidates_c1.ps" -plot "parsing_times_expat_candidates_c1.txt" using 2:4 title "Expat" with lines smooth bezier, \ - "parsing_times_xerces_sax2_candidates_c1.txt" using 2:4 title "xerces sax2" with lines smooth bezier, \ - "parsing_times_xerces_tree_candidates_c1.txt" using 2:4 title "xerces tree" with lines smooth bezier, \ - "parsing_times_libxml2_sax2_candidates_c1.txt" using 2:4 title "libxml2 sax2" with lines smooth bezier, \ - "parsing_times_libxml2_reader_candidates_c1.txt" using 2:4 title "libxml2 reader" with lines smooth bezier, \ - "parsing_times_libxml2_tree_candidates_c1.txt" using 2:4 title "libxml2 tree" with lines smooth bezier - -set output "parsing_times_candidates_3d.ps" -splot "parsing_times_expat_candidates.txt" using 1:2:4 title "Expat", \ - "parsing_times_xerces_sax2_candidates.txt" using 1:2:4 title "xerces sax2", \ - "parsing_times_xerces_tree_candidates.txt" using 1:2:4 title "xerces tree", \ - "parsing_times_libxml2_sax2_candidates.txt" using 1:2:4 title "libxml2 sax2", \ - "parsing_times_libxml2_reader_candidates.txt" using 1:2:4 title "libxml2 reader", \ - "parsing_times_libxml2_tree_candidates.txt" using 1:2:4 title "libxml2 tree" - diff --git a/helm/papers/use_case/stats/parsing_times.sh b/helm/papers/use_case/stats/parsing_times.sh deleted file mode 100755 index 335a24626..000000000 --- a/helm/papers/use_case/stats/parsing_times.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -find $1/ -name "*.body.gz" -exec ./$2 {} $3 \; diff --git a/helm/papers/use_case/stats/serialize_into_text.xsl b/helm/papers/use_case/stats/serialize_into_text.xsl deleted file mode 100644 index 97f542fa0..000000000 --- a/helm/papers/use_case/stats/serialize_into_text.xsl +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/papers/use_case/stats/stats.cc b/helm/papers/use_case/stats/stats.cc deleted file mode 100644 index f2b128faf..000000000 --- a/helm/papers/use_case/stats/stats.cc +++ /dev/null @@ -1,131 +0,0 @@ - -#include -#include -#include - -#include -namespace stdx = __gnu_cxx; - -namespace DOM = GdomeSmartDOM; - -int n_elements; -int n_leaf_elements; -int n_text_nodes; -int n_blank_text_nodes; -int n_attributes; -int max_attributes; -int max_children; -stdx::hash_map depths; -std::vector widths; - -bool -is_blank(const std::string& s) -{ - for (int i = 0; i < s.length(); i++) - if (!isspace(s[i])) return false; - return true; -} - -void -add_depth(int depth) -{ - stdx::hash_map::iterator p = depths.find(depth); - if (p != depths.end()) - p->second++; - else - depths[depth] = 1; -} - -void -visit(DOM::Node node, int depth) -{ - assert(node); - - add_depth(depth); - - switch (node.get_nodeType()) - { - case DOM::Node::ELEMENT_NODE: - { - n_elements++; - const int n_attrs = node.get_attributes().get_length(); - n_attributes += n_attrs; - max_attributes = std::max(max_attributes, n_attrs); - if (!node.get_firstChild()) n_leaf_elements++; - } - break; - case DOM::Node::TEXT_NODE: - n_text_nodes++; - if (is_blank(node.get_nodeValue())) n_blank_text_nodes++; - break; - case DOM::Node::ATTRIBUTE_NODE: - break; - } - - int n_children = 0; - for (DOM::Node p = node.get_firstChild(); p; p = p.get_nextSibling()) - { - visit(p, depth + 1); - n_children++; - } - max_children = std::max(max_children, n_children); - - if (node.get_firstChild()) - widths.push_back(n_children); -} - -void -print_results(const std::string& URI, long size) -{ - int n_depths = 0; - int tot_depth = 0; - int max_depth = 0; - for (stdx::hash_map::const_iterator p = depths.begin(); p != depths.end(); p++) - { - n_depths += p->second; - tot_depth += p->first * p->second; - max_depth = std::max(max_depth, p->first); - } - - int tot_width = 0; - for (std::vector::const_iterator p = widths.begin(); p != widths.end(); p++) - tot_width += *p; - - std::cout << "" << std::endl; - std::cout << " " << size << "" << std::endl; - std::cout << " " << std::endl; - std::cout << " " << max_depth << "" << std::endl; - std::cout << " " << tot_depth / ((double) n_depths) << "" << std::endl; - std::cout << " " << std::endl; - std::cout << " " << std::endl; - std::cout << " " << max_children << "" << std::endl; - std::cout << " " << tot_width / ((double) widths.size()) << "" << std::endl; - std::cout << " " << std::endl; - std::cout << " " << std::endl; - std::cout << " " << n_elements << "" << std::endl; - std::cout << " " << n_leaf_elements << "" << std::endl; - std::cout << " " << std::endl; - std::cout << " " << std::endl; - std::cout << " " << n_text_nodes << "" << std::endl; - std::cout << " " << n_blank_text_nodes << "" << std::endl; - std::cout << " " << std::endl; - std::cout << " " << std::endl; - std::cout << " " << n_attributes << "" << std::endl; - std::cout << " " << max_attributes << "" << std::endl; - std::cout << " " << std::endl; - std::cout << "" << std::endl; -} - -int -main(int argc, char* argv[]) -{ - if (argc != 3) { - std::cerr << "Usage: stats " << std::endl; - return -1; - } - - DOM::DOMImplementation di; - DOM::Document doc = di.createDocumentFromURI(argv[1]); - visit(doc, 0); - print_results(argv[1], atoi(argv[2])); -} diff --git a/helm/papers/use_case/stats/stats.xsl b/helm/papers/use_case/stats/stats.xsl deleted file mode 100644 index ea643f082..000000000 --- a/helm/papers/use_case/stats/stats.xsl +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - - - - Computing max depth... - - - - Computing number of nodes... - - - - - - - - - - Computing number of leaves... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/papers/use_case/stats/stats_body.xml.gz b/helm/papers/use_case/stats/stats_body.xml.gz deleted file mode 100644 index 0a442bcc9906c86359ff1c005cb1e9837306b7ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1201479 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

      bBak|ju{*eD<{yF0 z?0A9qYlruIRvLGFU$WA^Ztu#EI_)zv59cy+G+^5x2!;Wo$VI17Y=!YvmlFgXso6z2 zCp6SiK8rINsL0=bqo~V|X!GL_M8~s18yXKBf)iCS^0Ta0=yN$Mu68F+J+TPo!@S7&>7p(l%Hnbm_ zQTd_8Ek`6zqm2Z1M$%d`FNM|f`2^p?0&+vy{Zlw2=qzy4Z05bTaRrlw@kl%G6l)90 zLIKk7p$YoWMND0-%~gvsz@e@NT=Csy--G0K=&+P#A&t`3-|Wry55*C@)WX& zi#~Bfv6h5>tiWtsfh;m!*K=yBbZSCclp67A4xU_Ll+Ow!HEc6Fxw-zw?kyYZ64T3a z>Kk589ZhgXoNumKE`ha094xjsO9K|Z`t#Lv7EG2?@k6bFn_p)IMf=3RWO<>>cljHg zzJj3nBlx@ogLkEEvHr$pGfP_OrZ<9dD5nbnnHCYnD@vrp15lS8u%+Adqkxiy8_QE8 z553KCjeO%NfFQ_+qLyTp$Wt@Pp^45zzV_DZk2DK&Vy!A)p6##q*?!U)w%i$}J>&i0 z6H0u`+U*tQqAiqKo2Z`w3(S5tSdSKwqg|a5sL}GA~U}I)+*g7;# z`5*&rRs<@uBD+yKYB|Zf@&C%<{lj~1kAXS6$SPogo`yv?%%-%@t-Hfug7b1+q&YF4 zSQy(NcOt}8bRR?+HvfX$q$;K@EsLgYhsF(3dWqH4;!778nqNJ^Ek5k4XEr|!=4ryMQmuCd{ zT&GJcwOaYE;PFG+;*{eLgpWXfb_B|Kl|-Ym~!idKBavmrIp9_3`=v4Ly2AI!g? zfIQTH!_JU9R+Hy^a-0+((B=79uh}G_3%h2$7K6$1Nx3aW-szalE8GQ>3pD2QFDQm> zq4uxqg!$igf9$TVr@x40osIP*J925cz@u4-VK}}liY~nN?4L(2Aa2NzZo^U4hI_lk z@O&)IFMhq-ac4ULvg9+MFLQvwdx={SpXVd)#4)3$fO`dcY`6fH<5$MZ% z7H1nRKR9pr`i1nD9 z23Inzg~vP4-oH*Bhi+pesb}+dg)y1iVh3hVsikiYAJ~R#N}>pC@|K~?@n{E|jbOIY zZnSeqLA(d^&X5Ow%8!$~S@}eF+RHB}^aA65af@rd`Vlw-KU#JL+UU2_;4_NM{F`I7 zY+_KPEK=r2a!EEK-EO0*-L7lO?r`&1J3tQV7OmKhwZIA-ayJAGt+-~IE!~(D=uED; zvuep5w^)tXPnf4X%swK^O>FD#$3kU=BOQkM2S#|AM~bOdl(oW(oK}cLl|Te?y?Xzm zVBcTgTwh+l`*Zxgdwu!vX3tJac_~oSb<&j?(=+Mgc1YG*xrB2SkuIH~r;5<)%3XLw z_s!w%HCvLg!hjaC&Krrwt7#0Zlh~7Hg!1wCdJ!D;V5SeW*EjpC-QAw`$*^n~L(|D@ ze0SD3xEYg|k5NbhlDNepi!H0FwKlnyul9#`zx{gsaQoZ!HG4OQs1b0D@2_Nf(vtQJ z7(!5(T9F$pF~%fiSe0^FlO_6KJZb9Zf6wtRXEm9q@y8guZGlBb`}x&`=a3#5@}7xS z;A+aN`iG?x!k5=~`!{E9>8vs{!jzrB9iwR{Dp&T9>x>QUPimWuUUl>R{`PMF`u=cz zwR>~@{^D@Ome6dY)O4(x3#4ZkT1L?((YLgG*h$t|Ruy%&$u0eG^;Cpe2GI+`UoFDr zC?Br5HC1N)1zX@6$uz57MvHG~3Rn5#OV2A+BAuSxzY|z@KXa7s2)f8o%mF0EMNPj8 zo4u9ugD8mQt7fQ?SvUn&#SN;x?|Q?`GP#Q=P@Xhuy=eE))Mo(1pl}mhrBPaOinR^I zH`gP`yNfr!?Qh3_SJt-3vxm8*tAuDIFgIUeoJ{^#u``h~{b&a=l>u4Tbd5)p7kpoH z+@KseX3)z!{58JAkGS#=agLVjgBb;U*(*Q)A$B&&6?Ehk9mQAliJ0}sy;n8F^@6MK zCTVwndvV2yC9P+zecNN{oFsmr?V)8VJVD{skQ73T)l`{e{$!Qu)HW-nkM$NSqnch+ zHeG{;8U27xBClxEyj&{OLaC&N+#E(LzPBOQ_x~|L7IXv5t}HKlNX_5iKJ!uwq`6&# zg!0jJp)zuj1xeUdD5vU;mvt*f0xH{mnB`(?{XSIHsNeO&7hJ^ z(cQDWv#RYSjs}7nlx?k`3)p%s z&0gi+oV!ZoXyVVAbB%1~LbKk+97R^$?V5WmtP}^E8kq#S9+J+g1XWmNUmH2%{${K0 zn2>dsqCMI3U@-bsMq{YC!LbeiosTt&JL!{KcX_8(P6e?mr=CEXtGb;phI?W{eHyZ{ z0{7Q8(hv;DV^nG~?K~WlPsaky+YBn==J=DgaZ$#a&LCTqHAIk;H4r|Z)#rwZ)F&T~ zQ8Q36H@6;{FKv}Z#@;pgiU8QNG17@0m9%z|E<6T)K5ylmG?#XL)h;Jlevs*Nta6Ck zOgX`qUl6@zwd0ak7lq5S9zW-M7c8sxY|yA23)?TL__<+&EMtMH=1pjVec>A?RU3(RvKl!hIH>t zh|iZs+41t$jK#>&r?}iE&$QK?=sKRG|9R&6Dwoi3Pc+i^H%!YW3CQhjMzqd|pJ-2V z4$z7Fs$|GYtbA5@k8Gn~{S<7jwel{qDppH3(U6CXSwaD9-`y^Q9Bk6y5#>QDkv`T@ zb*{m0b8)}A+uvN=as)AOA+wQYE#85ha&FeB$&ynTd14(Pw(yAL5h4^2iP~&WP2_C7j#$pK80Y#2W`Wsg)*5Bh zz8S~|)}}Qkj#JWPd|D%Du$tmH@5^#jdYCC%iM+R>J1Y&RWFuZa2dmBe(QU~t#_N3r z=K=96yiVfen&iKl7To(@=8kOCXdPdU?B+-IEoCJ9Dyj+9C4?Nngt7BKQ2EcOtD#_|QhHeOsZLMfu&Mm0$ zjXj;&>U;Sqo-l?Duxag`vLx^MdzR2_!V{R)=exIutHV9p{qnJ6pYMu3X^0|Pi9>dK ztEie<(!rr(l_NRdaGLQ(S2NA}44(x#I=Nqn9by#CEZcq|nx?mQv{u$v^s-5V@HX|; z>+28u+r!m6j(2T%4F$b5o@{MJTVrOXVZ7LEuMS9`Pq5thoE&L5%|xRPN$HF4lip!# zHGUy36>IwE)2`R?-4hpEwOP-yT+#_BHpTe-V_c+UF9?5Y2;c7S#$TL`o#r>0EvJJf zlq3xjC2Ny_E4P#YM}eH=dj>kN8&rYa&Tle*zI*ufEWQ|3PSz>KxW;pw!~oa&LFK5D z4x3SB%|Ok{?{!hXzqw%7M;IK-(4)JhIDl~yaG7pN%+4ddZ{>MW>#_6d_>!)z63f@7gR^-^$af5x({Yaz^EK{C$DQ`skl{_#>gd@Y;F^aJkG=#|V z;U(>Yt0L~WIt{YxTYQFIn~h=p%7dq8TQEc$Rsq^M9~CLQmO?sO#R8FbrJujcXVrNd zBdVoPht*_E&m=wuUx*%OEJ66-1-Rj zKmYsB>|oO(H@C)yv<(K#5)ETpnygAAsArPPazZ@YwDq#`82P3_I&7nRIs(1_op+SL zgsj;n(v8&!b@b~{ZB5E@bz4h@E^eStg+9q$z=ITgEYvNmu2J}#cReWbqm-B;8&OT zyI1cIR}Y-I?)W$+c3MUcQSuOcUZozhrWn&oXDFoWs$zmdmfq#FVt%sG;_6Y+cz%a9 zwxW>@uy74cx*I%7l4qFdsNC`%4C%7#6$uuuv50o6O|&)Jc%c?oKw2b;v=4miPb6QR-UB|4r^-25%uy5@)tXwG=$yH`o*ui z_ZR=e6=>m15MXRjiu^EMuY%W`vDA(L;<<{0L@m6~$~nHlIC4Nff7ghpYGqd+*#GO| z@-J_GU@K^zord4ReqhtD|+)&&F04W>(zK?ycwW_Nvt%sfwP&6vDY}z!J$04s8&eK_qV(huibo)%MVS% zjoU0fKA!2Z4ZC4yE72HkNZK+HO4HI}mDbD4EriDZ%hZrG$WJr`+Pic9t}tER=1hMQ zfx$bp0_zynn53n_m@KNyn%u&ilEPoRHglPGABymGS~cr61VeAOw5xbh3_BQhj`kvq z{u+hRpB3I84sZ55w%M}fT~Z`eAxf_A=7Cnw!Kt2FF6Rj3y&ZINj&0cq990O zU#a5qpRO5%v4qi#s+xG+|;7d88L0cDl#YDpk1EOi-L5iNn^2$Kck{ zYtH$*Tr3auKUp8xAFdALfBF6H>3np0 zR0(~yVUr&2c9##o?jG1~EAaWxE&h=YF0BCYc&L+H%60PlIp5%7DFAw!Qs^~|LSGk+ zeL!AJig=CB*c-DNAKT!Dk2uG;&fRT|ljCgaQ#dcLorY;f+l`g)3a;5UVc-An{&2;a zU%2tU_H2MCG`cOH2PkXV6{z7kC}OJ&(h464a$X^(Oz*drUr=m4y0XK6{$+oA*x&7L z_wU9k?ctKQ-Zq-G*7%dMhNbJ^otK|$vH+K_wP@L%O0-uSFZ4q9umAO*+;PqtQehg< zp`^8HhZ&8JynIPbdTm>AxxH=$R_puw0sPaBqXv(^!)zEv<6$;K2D^s;r$aAy9-~8y+fXP!5dCUdL{sW3hpoe z@^2hBu!LdCEfPYClKn;7HZX!bHnJXK%!gO*-%IySpz58lPN3|0c=rC%&T*$y*vgPVcui(Sxt@U7@4y*(q1m*3-sb$w3Ni0!Cxl=?5>O zf?{(n5)tK-ZEr~ z;ts5lP?jLe0|)7VN$_It8&}Kw7E9Qy>8x_?5Z&?V-hBo=ciuA_3*2b5;>0-#5;afb zCHDh*r{J8Ba-JZ@`=mKqp7Nw)By^mNwee=PJjIPo+;ic85+-n4N^fmpY)h%Y6!)Ys zE2Ly#+7ks-o+v$;-zQzySi1efC&!jlns(_%@1`*gIjnJ!`@uMa@~B`SlaG9oci6Gf zVn?KJ&$>{y$9g6r<} z2hNrs3}$vZMyqVcn|kJEKObFiillFHysZ$~)~sDVzwFQ7TyDz~bW+Mo-#`|(dECJDE|2+1dw8Aw}SAWjai z0yR#1coN4NKzxL4uEWQU;#qMY?E|f>oWCo0ps9|U?E?1ui~rf3Kg|xUTVo|@RF+g-Ibok;{mT>34hGl*-9$Trg#5>O0ULR|Xo}Qg!zm0+kWR0g zzsu1Mo7C6^?W^ni-7C((CPse5X=$Yu!jQ6A#jpsl^dLemNxfy9-)AeHaW(`RI(-J@ zx@_p#O`S2UamG5&p6fvCWo??wsRUy$?iNQY7G0r(+L?P9jHDp9JaC?t*)6{ypOB!b zos>Ek-mgFKM;yUelR4lM4ZItHPwQOhAYSMRFy1&QY$r^R@nU>8-6wVu?LTf}f31ZZ27O zNpE-qQQL6wPb19hJl+XHl6#uew2>KRxhOu+{F9)fpN!YQ7E6o*^Yz{IKWsRf58ONy z>5UcG!5c{uEmNksn8cj2GNvb}2V$y`qhoiRDt0GrQjae{b2D#m6ZcHp##$o{_$Y>W z9>`;Tmc(>}P-`mYT0Dq{WvL#nF6LudLmh-zhlTX%y7sq+4;N#9J#mUI5ASyq>}+*r zlJR_MgP{j#K8}5IScOUGC&s9lFnV$*=YKGs=Yx8$G9~^qJ315vL-d%sfJ9*7N;*b-v z`G|?W;awbZT1kWl803xE_+O%S*TKs9qYzF)kB_!hprR;Pn`#YbC(J*y24{gEkq>N4 zOXHZEAx2zbMKW>AVip(b;A{TJa?Ir^Etu(JUcM_LszX=hJO%mP8S@ixd@@gC!#&>Y zA+GSKhr!4ja4@6_r08~~^Oi<@X1H-x%NEK_j`Z=9?#bExWnU9 zEFZ+!NHPu)P~5xuli1bc$W0ZyHeN)vOld3d$ETeIAKdtRkKA@VH>?%PR(plhKVJ3L z%lD-r*Cg$EVG2R~yys9`rXAO4UPX1uCmhEOk3M(s!KG=T)r8*D2j7_iFs(CzwN@St zaH6?dCb05c`;h7q@o@&LOSU(C-LKel&(h0n4W7jn@kwE(41?le^={FP7=gzZXJ&_uhwSmWZ(=##tJ|gsd zPwU_c-v>5m>jmF$9p5Rh<;*?J7F?EIVL%w1i!1O;!;qborz3(RQ>?R`F%G#wK+7ur zne#n4^mF^NjB zZB5s}#M3iANx(Qmvp9=06qh>qRfPG&l>a4nQbDTvc1J_Kr{kSz_l2yoUqGzo#r@Gf z6Naj@rZir}KxrW9?bh*UPc~R*vl%a}JcH&;!`Tk}FyXaXNNUOz;-b-Ww ztrmNPImk_=YmM#9Ardo)>X5^QH>l~lplAh`(ltZ?6Bb!yQWnWTl%8 zbk~SEOX^?|aw7yt~@}&O4{ToR`(EzG&Z+G9t6|uq!TSLI`osKq zv*xqoZ!{~?ps}`YGALc;<<7~;lTRZ#_l9D(AzWf6Lk_;@?{fbX>>6qO5$o%#H zxEqocarN7gEvY!b3Way1nSzy@8RnW&uuMX|&b+d#jRG+syWj#*oeOOC7B;5dBi3e} zsdqFAqf$qj(pn>4R|iX~tIKDF*I8}d(|b~O7HjUoe!==1!1~Ak`Va2vj=30;v?<=S ze$u4@eON_5X~!E++-_N4V>4G}Da#WeppgIpx&#PQD6^XYJ^lsUc}8QvaVyJ~8OqpO zCrO-3`=L&ljhqJ@6P-x!#C|B~Y3|AVUCt$RwQqGFtmi-5|8cmxXXP6yTi|YRN6WA< z4Gyd%qP}^98;J6J7jSjp@Z4Sp`RekdA3nC%I(0PmG$*a_<{W4pJ4FF{CY}f9LE?PT zY_y^eQCxr5qpA6smRlUrO*N=`>c0L))p>qWPwi&5rr3fu4q!wRvo;r@cuELsGV-}r zSW1U_@wn7vsM}(?O%`7BpPf6@E;yD;)<)VGNom$bI%4Tzg;3Z1>kPHr&8A^yqx7<| zJ#FG&?Ivu0I0LXv?AW9^9`h#pHE!(?lNXP^$)y&`*BmP*a@BWBCuE;?UuVxMI)FaJ zc}Njp1*P<~yHq%apNt%5YJyx4U*|C%$q6bex>|VM3+OZF7*YVPt!l3<$NO~!HvdHW zE&YpBnnecEqZnjc8<-u{SsIYTRv@zsgya>pqQRH^?PuQ8VZiARd0Y>^M93RIG&%2w)JKl-!W-_otZVL!BQw&r@F$^2s%;Uc(3$b-<%2MkPL$)Z{ zKDOgJ<`^Ggn?yanC~uPJ9!ZyM+jI7D#P|NT;LBaoF0yX@jXr6jdw^(a-5z4vBv)V5 zJg!-1BPIxC(xpFZEc&tL8}~ZEZ}xAw4k>Gl!X$aNP1d%RhuM;5y^6dIdMd4AbZ*rY zJzU&!`L*a+rU2a(jqhd567o;G@wK2(T2SvU$`h$cLWooGLF&lkUiePqN%quoh4ag) z{Yp>mgzE0%S2iXkSxq^WA9wH1<=QLeRdtq)Rv|?TD|E7o{{2t^_sp>B<=lRg=l1=> zC5I~J#EQ||4sSL|URy>LmC%Y8{g&P)81X2>(ar--79V3;4TJK0 zGEaBAUe)dbc6HbN{1~&_1d}|+$^x2mIf4v1uVNB|*2yJqKuX-Ad?%P`!>_CpJZ&`7 zxa1cL!9>MPJzcQItx`rOR4n&vqtyAP7SF7J*0h02(uQ3#20t4+pFPFwX5r-&e*>p@ zf9@2s3RhhSq_u$D8M~f$9-W<3&e)-+ zwZLbG_>PbLO^!RoNDn<=>}lf~BzQk$j7EG>BkB4BPCV4I4GxEr#Iey${r;L?Heg~0 zTWyeiTtllif(%if^oy3{U^zJli`J@Hl~yfu^=SJ9c zc9O%)47xm^cs^|d>6eUP#m}-wdJZywSIntHEuiRt_TToG_ZQr8ww{f0ZR{YD_3rtM zyRots<4e8Aa%*HqKF3bw4$=Pz7f^SHyNMXh)m#W))T6D@sQbFup5t0;NlyPHkL%L5_L$HI1M?_?$oG?Qw z+k@vf#L1W-_VkFg_GG3OdZJgsQ*_vX6CL_%<3p3f0n&t*T(d{?T2Wb74Wy3 z?2lEP^sM-{u4N}j8MulPu;D>|eSJ6H)sE|ogLQ0g+{zS*Lrwzv2jh^5CdhLpTs>@9 z))8V=IGTFAe5C4Sm0b&%p3?9N@1K9P3+914)PUJ*GXLU`tVAK+F2|;S1TpBCN%wk4 z@(4I*YL5F-ftT-M)MM^ydVGR2l6+MOsS>V>5aQkDvi| z9E?YKtY_`NGM8wIZj0`HF-h=Bj)L1B7OBBdU+sorbj6A zclqt@yRMu+1^f5gdn_3w-2IJ#7c;g}XYw##yep9XvfOp8!7h*wNp0QAEnqth6)bdh z;`#*YSFn2;+Kx|=YS<~pA%=hwu$yg|3r@~4Ak+S=SV~j(ax=b3rCqK6k$N6#yE_lG z&na@UDccyH1pld{PHeT9N-Y^)W;1gh>9`K>~mmG;}TXx*9JRF-e)e@u}~wV`MmWY zY6ctS{xVQ|-Y;O6?~3LsZ*+g3Ust0y5IHwS+vuX>;4-YxT7|(Q%8i83*1Vp%7%O2K z!eJ=V#n}8^J`UaN9-m)p4(+ik2y7a2Yold{Z1M`6BR`~&<)ctI@trRa7cQjq#rCx8 zO!=;Ov$rbE7DfuYqvqo%TJ*B)a1AN+#7IaWUtW^COK~e5$*Ff#O})F)zfW#&mUa@^ zad%VE;ldhD$rHjpiVw3V;~d2&c}=I}+C!u7jm;q(Ofs5T$u#7)tLUK9*r_SZlF4J7 z#oMb~->-{bvQzcZakH)Tp^$-Dq@zWy>TX;9ITKf~H5d!A;N{|-m?&0}ms|e9$$0HZ z{0^F18_kwQ_c^SsO^J2MrspOY2ZL+$(_vak%Yz(UBI$zG$fFE`rw3&7cMTJ~=EC&6 z#LwUj#yB>(6B~S!vF?_fZAR4LL6O^O$c{S5V`sq8tik!a!tJqZMp$*Y{h9fRb%Bi+ zY6bm`U}IQ8hB*z(Vpceb)rIa%`v--Wm?3>1=kM|+D|O9~s-Eo^wEu5HdpzIg07uJ) zZZ}sRIlH*d$|E{2$D6bm10&vRoy5!?XQP@b&DCC3-FPSO?u!zW=OTEPH`t7cGfpxp zYm)r!^v60PJu%8Okxa)UqcHA4MVK%i3p1WX2CSZ%F3aqIvybER=_ZOT2X&0)W{|WO zq>4L6ILLK@_ws%>qI*V9?ZIW%^Rqz-wbN#KmFGE`oE0Plve8m#IO=iRqcwtxh+sC_ zZA@U7`Un*&DUOQ5844-maK~3faHD{@n|--y^iQ7jJfNSa5BC;&a=srRicC-QYwG6GPH>S-y_M zNav<|6hFWAL{0xFqSP=+lB>B2{SNYYN1w4;x5oR#`Hr>l9-m<^*Hakag%IMc1#Q2<-1%oYha_(J)Z2{E&D24&z|iDnPg(@8<8%f?W?aLlaRv@IUjIU zs=-DL)ZO8V!#A?2>h#NOhbViQ8{m$AA5iFHYsuOGra)Q0+%$<>CVDTW+DdISw|;$n z_X6$r3GMyGnN!QP!7tE$&Ct#cuZxe|o89#l7l#p9ADS1SzhSq5r>3p>=nmy+7&UEu$(R>_-Q#^$ZS#~zN14=%6CQTN$ouQMG=3uzkdJ2o5S7x zZvXI_8-nnH$fkp@i$>BkHJW6n6F8Fw6(Dbz$knmcY>sR5=swt9T)p1!Zuf65Io`c5 zd`xkWAPiWXwN{ve1P$@tQ0EwvT=>{mUc$2e&$oiCaO@=hzO;CCQcDT0zNm zkJL>q*F4gSN7WtO8_Yjn!2Eu|{Nt8&%SUd-K+B)p5K<0;#;BPlr_rF3dn9?(C)pHf zY$dv8T`aHa#ns*A#r@&>isxCT;!ZC0;LL;dCJA(mt(VmeIfB9;9Y~Cgc!hLg3b3H8 zVqBgWJb!td4|mt^_v0_U-hF~NgLg{E3fw-&>C-0I2eXQYh{Ga6l;NEXbxFG{zosqi zhChFo&n{DK-rnKmWiRW<`X{$8>lCe|PHtb;A)|crPg1Al(aa>URuyv4eL#6T{$D$L zS=&^Ee+nsb4sn&-8t2M5N@}-B0sLqH`gDXtP5U~kA9R7tzUSiMbCh{*ytC1;lgcK} zDdQ^Kc%K}|Rmk=5V4-!$o85Zkx%9e5<+y2WPfM@rResXB_LIc`YyZ=rY?)y!o>rph z0g6YKW4}fsUL4_sM?2SYmE~-g?~3s>*734ipw69f18f8t&|PvK0>Bzc2VuwnC?9Fn zn$m?aFZUU!d!i#}UN_FF6Hz*&Jy+kn!xvA~qwDTCct~DQnL$$<5sZ!URCY)0B(j2O z-Jn`)xYjQBq~B6))&x1rr!S`DalGvIy*eOSOQw{Z%sRSG7a6!;z3-$#2m)~#i zcend@CD>y3;o^4p{(|LNhdF6Lnom>~6KkZxh5-{~@hv`^xu5o2S?-PQ8V0ORXTX|5 zZS&j@@98f%Ts<7_|J>c&?_P14?k<;Av3T(~C6KvwD)g~3661byn3f7%T&~4hZ+fiI zl{Rl3UvCC;cB2uBQBRxe*BGtf04cAqf}GRbRNQ^2@{f5_7^TEPTlzY9mi;ENmJ?Gc`u2ZiAdof>;kamo?6 zZq45nxnw>0e>CoAFvs#EE#?AR6T=EIqF%0JCS3_Ye67GW zfCb>%7Pw*d@f8A0k^selMRkS00IZ>fLEX}ILHP3;?F`D(h}Ut0RNt7Z4x z3j9t(3T~aKLF+Zyz~qiZ{#eJ_k^RUMQ|(B69k|d5@SEG+)x*?)v%HjY1xdFgc}OEZ zt9a&5`#AZw(~xhq+$sv`F$=23EI#$50}?=U`>+&w(n4#>GFdSDRj%>q6($w2257#< zgZR}3s3}d$HD12UuW_5UIn^JpasCd+0Nkv+l}$FDEJ?%Fmg0m^))2x9jdZIJm*6#@ zWXT#-%~fjGi=Hq)<*7EA_0Vq#a&Um+UHJTw3TS}#Waf$W;_58c)3{?8hU%$~b$)Fp zv|nBPdbe93=SHR>I?J7E+hCrB!56L3^B0~|T8+3C50M(9I5|Bj*IIxjF~Mq%HkQI; zW3;&^JLk-@hFhvx7{=aYmEtTLFApG0bs031!H>2$f+zcge{k%)RL%DIB5riLKWn{4 z@Y!}dvX0w8W1a^$c0a4MUddRLJGVO0a9gqCCa0vRB9^+^{Hhn;pA1-dw4L{XZL}LC zwKSCWc!kkQRP@=79;7)rVTqoJ2h~U%aHGfj6SUtRt`7J6-Q5Ext+lq;3W$AN?O-vl zfVvy%infuv-7V ztUr@V3YIo(%8$@L?XC}na4oh`aD#QC`D$Al=H!dedhfW5VZ;Tz&m`#Ovtklc3;w&K z{v^l&EmzXDjDQV-M7Y~j4^38*a^DO}VlSq#(dv4Yw!SvE-0E(BeSP;E$7q^$mkLXM z*_f3P6QwA(!=ZBxoji#az>=8H-{l=Tbfus(xZfSFINYb8XEsH?5qakZAN?v?ld)=& z^O;hlx^$Q12`gBu`;L>Ds9Buh2`g?3-1mRnuvutcbFKS1=ji$GcpCqZ`xH{=9K^e` zT6?%$?3y85PiArp=rfl(*ua%+FGznoNT0dJUy%Mjkmhf0YuKlneyNWEbx#Gk!Bj*! z4V7fJh|wj%)wJ5D(0;KX9SYhrceUla>lbXlW^B*g&M(-0o7g_7m_|)8?dJFLx%Bau zhj%TM&sNe_lQH`O^H&D**)sYC=5Gz=o9lnd`pUU6EB8Ulbr#Noa?~;YYxB#VD6{)y zo-~3D6;B#cl!U%>akGVYE_{<~{_cF1qdaW|>X-D$Bk-F1B(d8d`rE z0ybMZ>|hH2>Dl1s4DtdC>)*7ZGIT3!C4LM5eBPre9 z5q`y=;cVIE0?;hWb*v|XvGNTeQo{|!z&X;+GEqa^vD;Kti|+&%`kY)gEQ>ZY$XO#i z30C2DxE$qOk#po3MknWX1V@XI=kFSqk**rWWw%iN7n_zcElR{yG$xTzR4Xlb!08Y9 zwx2r6@?Af@>R0&%Z3OJ@=JJ6xg~G@OAGNke2;K_tWx6B`P9A&|XpW`4)T&3?3&>Ve zYWaFp(hue{<(5Mm*~p{D78r(v>m=A=u<~8MtJ~P+t`_eJ1N|rm)uRm9)s6Qvod3@H zvRbaBZuzqMVB9+7yX-)GRo5#28Da4`t}`nZI}lYkVI98I4_$7Wg(Xl(jP8_2xQ?54 zNOF75IyG`RzjC)15?$4re}g^4@hQIk2kYGy4OeKjqQC7hCE%>GO^Pwdv&sTRy2E1_ zx#R@X-fgJ!ZtLoy{Ta;cL+lNkY|hV4~u*tRBb_k;QHp0(o{J5)CIx5=uVMG`B(3|Y>ZcD1H#hWR*N6~J68&yTDR zRSSh1Y$N{0vZf*C$R>X_6iblCb1Wg%GP%yaSjdZ~)zoe=%jcNrYBJ6;uP)yeUZ@+8 z%ziOO{#NWL#nlt1xS`FJyG7IRJH#gZLan?NPft%T9BSZQa@RIL5of z)tS3`?19*ESAzf&2k#(BitEN^(GTNqXOR0pcNV@vf&k&#Z+VXlA z7%yP%=Jxc7#x(e~ZtfTqgr7hj>1^aTx2^w9$4#TrNyqCByw|bjD{U~|u)Hq%g-%2C z8CRKbf>9`&fLv5WanD@l-UP@-v#M~|pZxQ;^Ft9dEU^n4_IY;fb@K|bfK!4m$_euT zK(R9e$O&Gd{yRN-_h=@Zc8h)E$?bg(b{D;2W#r9CiGi?6YZW4ZJPeYwgg`mhE7rC< zOBke8?I3;6yosOo|G2-t`tj<1`Lpp7zu&*RozUlA>=fkd<}hG<6bnA-8gGZZnj}V> z-ZqQLxwK=G&abIwE?^Dx_-EXr3R$Df#zPHefQ$m$00vP%>Xz4Y*BT?*og}Yv$m(e+|mn0Go-n(JOqp!i&>SNqT>>S zxUzRYbH~|xWGA55IL={61_fJZ#=#KHoP3?(>f-5`>Zp+?$GS7`4mD?$I`-6-orbounXNZ# zPz}ac+ByZ)fsXJLPsdJJKFj^B(!-r_nYu&m*kEQCJa>gVTHK0Zu-UF6obp&qgoH#- zM|;C$xl^h)bAUshMy2<9eM#uC=b#)AvFB;_Ch|&(H2B6MME?!;HvVsnWt5w1bOD&}K7pvz()t zLxzo@RvX1CI$J~`#NA%L%inR=b6iTE^}tP4V1$h;+C2S|TO1Nd1a-{q?s68>_{aYe zS)rRKAC=}Bp`}JI-xWoAt_h9XoO7;J2cJU799cBb`)p^1EU~O$1a{fWL)i1lIAfWo zDO^dcZ_L!@UyzSlqTgnES_97&?lFhJ#`HGEs3Tq|ve#`)UBZaFkqe|#z0N3Ddz4d1 zPY4l@_PQ!Jnpj((Yy&x0z>ko7Ha_eH@^1n1PagEhp>3RDIi(Hdba5e($UGWo`(b=H zt(+rX8|^LgbGZt@csi-3d{^jsdg?Dpv=g^2!BkF!l&56vkU_*>X~LajG0qWFh-s?0 z7r*1ak$&KH@ds1Ou=S8NbDZ%o{)@2{d!SFa3xoF(qd=}=PYMf+O!LOUq$FpjjgJ~l zPn&;1ZiSIkEe!smw3fsE{l!&5`v0>qo9HpY7| zAGVT~Ct~KQBOh<4vX<*fJN*pdAOHKO-G_@aJTDwaDPG#UEXM? z!g_o%dX88=hx__wKU30fKU`e0!DFmZRVxYh%CqM@{By()ce}fXU*8-)9PSQ02Qf$PnWjrKKNx4$K-&#Ipgh-zyvW6)vbtnm zIx7vOA#T5t5A=bbggI8O*`kau z)>F@}xgCVCQud9w?p~2H-ZiYdb)0#Wxkvd0<*yv&w_HbM4WB~S8fK4GF|3harE+Mm zr_eLHatnU)Ne(JeW=&J;2k*@-i?3q?oSXP25an34b6~xdQ%7qDlldtY4>}{cij2BN zf;%QRR7KT@+15np17nR*LrT7GKkKZtybC)@g2g>ghjkp347XeT{&n4mG?J zaL8_z*k4GH_!o#x${fi?hdAleY?!C-?VTCzR+n#dRO zT_hRvEH^`GIRUGTfZcY0fA;_5w3)nRLNl;ESreasxcz`m!5pe5O$$$K+f2gkp6X*i z#j83@U}n%(O!eS>93Asw=H9(>7vbRk^XTHm%$MY*vNqd||`4^?D8KGB?;H zk?^#&nGv&>OL$Dp5m*RAK~5`4bR9l_mk&RoR)cQ6@}<6vc`8EtR( z@%L8lKk4de$NX|D_<)8EOq#zd+`sF7e*?rhPXBl)BCEe{y5U&Sh2C^}H$iUY51C{H z%EObecHlo!5Ok!#&E_bNP;+Wrw2;`Dx1+JfG{mwLdH&%J3FY)Lh~)EKw0=UkT_b(g zspR(lgnPaL;+!UPmW;~la+{-~JXOcIQZP`ICZ$0Q8=E{w_v5r`qFV1ISs)PBb~N*246Z z#o`2&#G0}Vxj|HfJJgDcd2|}(itAu&74Olq(5nJ@#`1Ubg(ffB8K3aPzTpj9g*@1> zjtOnD#wctR$V+`}!R32Rq(|oScX=0%HN|m@nTugC&kz9l#I1%nFHaSh7pzFyC*5E+ z^0`aG+7V%fJ>(>})5wkp3Aq~z*Y&C4NLjzm- zEpZW7XF?aa16pyH1`g^Nk;e^6(jad!)D!wGkmrVP&f79o6kqgV2qKr-wlA7NFCN6$ zlQ7d|EgHo4yvwx{&r;5n?+U3;tnK->z?_}F<&YI#cts*0A+)rQdcZ7?-NRZZzufWS zRf?^*AIIssCjBLK&B1M;&AMrTI}_>zjmXsKhq0Vm1#t8}D9jHNEy)c*&VR76JW~Yh z^DoGsb<@?Ax&=M!i)XB5*W)xBA`U4V6b$0pyqnsa_K z(%S-TZU~2CeaadaH+QD!o#Z8N<~>C)UfiW48E>v}IIYbJm*bsO4yRpX+Zt$db2tdb zv2QqirRVYK1zf>XBMg2#rt$?^CefBl2u^-%mI=FxnHs)=2^?@EH~=*4)V0NH^MfhB z<T3@BCe%-OihNFnlD!a1%HfOHs}W4d@vRm?3(yRdO`dU=G@FR`|hTx!EsQqw`VV&g{ z6cmY6+beH@JUewWz#1PmoAHn$NKShbcDZi<#7<-G#O1aei8g6Ss$|x$pjt;ZfFe7W z_=miG#?ebCG29uCM$A=*5E3cnH|FTuCOPC-7hK0fUVcG-$Sr;a)HmcOZos5y~dHo#=F=X&x?58Qkjyo3nVcBwYW$#egFs;Abo+RR6B^_GC%oXy|m)my^)CvgkV zxvAUO5OYF>mVw&X$xD36nVFk-mR?%}&*~%b*`|eNDxDd+?Ws@54cpLq*8LJ`5)9yA zO4R)GVYX8)kUSNRRQyM|3lFVKuqt6f?wJbLLYrl}A^Tu6K0J~QS&OnM$z<7~Ov+LW%wE<;o~sGSx$68vLHt^VzkG9jfQ`k zGI<+oO7#|)a}zd5*+fo9YH7?7#+Np%lKPl4DxBworzb6%9*lOZwkjWE4>j3t3&^?o zT8xgRG17f^9HuCwRdi-91t(vNk`wf>t^KL3buC+9%}&&u&uo6Lr8}_ccv}f)wSBxN zDT>_slumUGUVOZvp&JIBZrHl7;YMd=q}h0OvewFWot#-D+CruWb5jC-s@ zot9F)d{>lib~|h9kD#+`w(*>M_MkU;=^4`sF`r{+=AztGapGlBrCX9O!?8};Ue0;> zt|;BU0*3(0QrZjvM_{A@pK!_|?NPHoOU5PnTC}#>I4(@YZ+UGLv^?ce(~kR|A#g3Q zSw`DfI05jAqeh@>9!!n`z}rc1DFu0uZ?yDG)hfz2V;h2_`4<$vPH{UIuaCg9yf#dR z4XCgUDq|c%SR)NC4mMgVZqdeTm((J7E6*dzjhj8IZuXe#oRkePciimFV~%C##VAYZ z+dbhBe3Fn}+J`-td=n{~(ULizV3Iue5&emtWdVNv1qGwg)kFU+pl3&L#@VcC*zDkv z$S68yZnX^ar+6JW0Ts`*mZGRQcEKaX-arqp>p>_ z4n|YCla*Xf^7|cYmBX=e&#GF^Y?nIq5pr%2=lrC!XC;OW>T<*ZN;KZ{k9m$o>@W3v zqD?}k@MW>C6kTXc+vi`9Bkxk3tg;34+&~Ve>VqXkKqIa_xWU>WIq&TyOA!G}r74lL zP!Cy7gn{7cif;J@`5<KV{YRhM*K>ik<_#)q zUhv!OQ;&aILPOu(Ui``?N+xgEFz+Vfh(R)^Y1VT#7SAqWq9k?76*C$~Z`hn>@P1Ml zc7prnx5Msk|NF!K>NN*+PJw;Nn{N6LC9&S^b*eRmFD8A-DWroO>BcTqw@R($sv97^ zyScr-;o#0JIpziKuOIGDUU1e>-;Z56oBiDKSTEy~RRk$MTe$|QvS+P9 z0)5Ke2vZ7@VQT~KIDjj15Ghq6lEc=VgWRh#`$qjX|AJ!5enP_ShWpirpLRFb+yRG> zxb-PLY4c;D?w#a#x04IULS13TOr37IT_cIJRR!a0vMrqv=FsJB`kHa?2vLA;V{_sL z`9UVt337WMa#x}vv2InCO(*yD2X1zjgXMvE<~IH=7$`kc`g$fA;=uJCf_T7KR^Z-=)_1aB1_m_UAEd%R|zYZfbz&YO=i1 zC=ftXq@MoIT$zPNuZk5}Gmy$ew@Z6VqOz$r#fgX&hZ%FWS6?o8+@G+>1yG$eyadr? z?k=ANZFN1ESqbg__vc<^qchJ`Y*EmCkMa^Tv;Oz-5m!{zkredM3O^Y&u3kgG5E?`r zbhFWz^e>-({I_2|A2_s~V`*v)f4bDUY#oxk8(6!}Ij!MgS$)AhO-EsQ2U3MiB)g~U zMeBOOyyNiAhONUIdb$1MJa#^BZ=nW?6n-~WTdj{A*J)$Yv5IGW9)RmiHGE)ta1Ho^7L19`Mb?=*dPAC{o#J!|2dDWRZSd8&#(cV z?t-((O@EtEoQ*)9#np4^X&i#9Ct633zQ*tPywh((DgJ^tODDG3N0v_9xED#CcF5%b zqif%n`}msL);dQ8D0Gb_sDr-uqIM;jC1yfK}(a>Su?LIK@(_2zP$60)xr5YnqB^rquvyDyrS9o(Tx6L+}+k-Yo zke-73K`aZBQE96trKs@PX!45ex=fVlE7)4y>O@BvvR|05P4!~SV^5yfm+7x6kuTok%1GorSv_;G9;@T^K&4348K zG&D7|=|YAW-|YnN1f{xFTZcQU z%aGRygR{kpH&Ykb(V?jk ztl)q*Uf13aBlM$r9LiR5byaYpE0tfs^L+pFw~0v7*U+J%h$+P=6?g{6W9IO*LUjX?7-(cG5u z9bcxzdJ(q;;_RedN2j>g+%|k62XkMIEK8epobrWZgPstO(su#p9rq0$%}^}g1(4TI z#9ENw?RU4o?(PnsxO{G`Ni5I2as8G009On61^TY6KtPzO~(IswGp6Eb#eSiieueU*uNi8O0YjIx!ts1)3(=P~YNNlZ=x&`dqfL#xU z=j`OQ(V_J%wO>M|e(2B~ey!ivd{n3>gRjj~ZQ1+6R~507P3>8_66AmU>ks@%Nw(~W zy=@7aqg_NBDb3hy7(YB7J{_J9zjETW+62qWnbMS} z-1R9lFTiE=eLx#r`c9Ml^Msqr(EYa&_1|tIV)9qgmfR{u5C7mQHAAD_r*Gq-O0BKU z-~`ePX9m4vFD5zY)^uE#?|3if{X0OM%i{fe9aUma0~OtX`_x&DT>dg0nNfJ9rh_Hb zEwfMXqunQ%nwoYp^e(?3P|iA&TipVAc8{WRVr`y%qbti@j%Jx*dJMS#t8+E)U_3{N z_{mA%6_T~u_+4<6VC&y+3(&a@$^bg+70CiM#I+%)_S@VpMF6=gbLfZzGi zM=;2nVvGPj>>-hS7?V7%1rhw2bIs{4O^faiwad2Fl-dG%md9>YV0-q)m_~KpCZwWk z+#$xkPAD3BV4km~c*cM~2>}9Geo2D!sNlIV+?F-^cI;VNBg(t15zbqSAK^RK$0dw4 zncE#cXKx8zi}a7{w6hY>Kj_`Z&-c5>{VjKdWS!&q%uSR-Mr5uVJ(?Q^xH!+PuCT{E z4#zVs(Iryo(zR#Fx)>ksKd?qZ+{&zVJg!~{2bTcc*rV9a_x}*6uu)-*>p_q~EP0+c zA~$^rVcsX|3hy@w@9ms6DmzVSY`Uk#84oJ5!d|WE&3x~-8S<;x8yLV%zAN))ZSogW$_I*>C=awg6Z08 z=JfuGbc}1mnJvI(m8*4T%dGb7L;H;QrZ@XxoODKt@(5@OnkFe|$#d-d_Sb%v7rE8e zaw@kiwT8YYUWiL-v{yJANs-zt!Qe7_wjp$DMM}3;=WQS#xTMp6uQHC%_M3rz%S{81bu+gIXZZyuDUSyab$zZiz^iSqYFg*06{IP4E@bd)H}_nK0%N=GZ@1 zgx@v7H&0K;+nwQK*oVYUKpG}(rYojOZ@s;9U3LgIk|RO=chx%18aoEneIumJ}=kt z*83c9QBlpJtgiFvZwckU{=7f-f6nXwFqgQqWd(^EB%sjc{$~SGH)x^UMQg0U=bExg z4R{ZwNS0UmERc&`h37Q~IG?$b<{TcbB;0pH!X;q-7mi$=BL{4AH4%(O%&psT?8<@` z<${pbOt5Hyrs;fI#OJd$KV`GL&4w}8JYU23U5D|*-RCFnNmlG?qU~OeiMTV7>$+O-?3%a72|IoJfixY#0nz>o7{>T3D$b&2^yRIO=Ban{|4;;oJi7<|~Y=Ga6vCR?_ z%vv>d#2D9ntTl&D$y$VQ?Zvtt#`|A5h-a?cnh<-);*tqt_jQ`AWL$va|s(SlkRT*Hy)rJ^9Vx%>;x1|r*^%)`)ynp?9*FVR* z5Brb&VKTdoXuzC16Ldm!IGZpBmjxyXj$&yBSYg1_Z~F;q(XvsmBC|_C{cpcLJpRkv zno--pLrtHw4Q{kH07<(gvfD?rXyR3u#^Y%+Jn=I0#LI{#UcUbMTN&y(5htzyyKW}l z^Jd~Dlv#W^qSqDQ_l)oUml5GVv5q!T`^?3#qlrIeAaI5SyKO=kyayXi-jB~@F|V|>5f-x46OH47lz*WDv) zK~ty|=)NO&Hm1CQIH&9SZrS4&bEH_5w(!EEY}(K9E}wC?DYqFjaE$B;_78oB&4KQ$ zvNGQxqn7X$>??8`1TS}_*r3MYYWVg1^`xpTtH^7?&(%M05~h)Tza6u~HB1a8 zwjA(=n@;3fl*sKm{&5V_d|iG;`ny3|^D%wxz`lbH>~Q}p-+DQlxz4L4MU)KY2ibU| z`wBh!a_xwa`D*L2$rB zvClkCKU-4b!mML9N0Alwk3a3_`Yb)_U&9K5rc>p$T!5hBO~9RP>g+p`h4B-BKvK`j zXPg&aGniL{dQ|Y8gW8ngo&ajI5EseXhW>Gt;s@ zsuP>QuTlN2L^X%9OPTGbng<)UuO9c6n;?e&V1y??MHDE0M}iqcCnfEUFACtyv?=6&IYyGCGj3?Fl^gR z6Uepdyjo(pJ?KXJ2p4UUbk`^n+h8xI49y-d-vx}cx-{4jcW(XVXD;tuBhTl~Avc_D z*mDf{;k_}nA4*=k%^iCA%XOTM7xLgAXu!N$x zne@*2JAFY_uC>x^iPm|JNI~4!EZwFP`M`KzGpvAb~R*5|usNkEOaA z8Us7yj*G_7p zNH3r9dy}x$y~(HJ{qfW8asTP~E9c+lyjGG@yidj%GPQ3@qKekviIhZjaPJ*!Z-{C4 zZDi!O&HAtr?x(}2hr7ea0d{VR8u=5^rXhjN8Y#=$)ta&ihP-}&$3ZIYEJBC37KQhA zGHYMq%~j@sKm2Yv666pRFlb@0j!t0uRiE*WFE~tX(RDnY+H6U5o0@2~8rX;XU-yqs z`%Bjz?twGI_kCQtU1vI-!@LwPGI_1TEsK_UxeWrueckbwN#6S{i0ef6FYy6V?u;p^}=aGPexF$|p3>63BM#rR6v z$UMm03}zr)i@ZL)@yL;38|D<1#n+*=Jkq!g6}a}2=LcFOu;^CuSDy)KKB}!{yR??Q znCstc1nx$YhF_DC&o$hh)ykJA#dAsK4(}nRpJ&3_$H<0tOE@(ejrhnlaqjw79N(Ae zOlENWp3DT=4l>Bpk=H5CX0kXR*STCi;mWBhmKnv{0UxZZ@H}2GxyC$>Z_AbxZ#t9j z-3o6m!mUZH59rrb^q2O_cE3)P~RGbRzHU==XOi(v1epba>OLW7PkA#6Sp>+9jCOdD}2<8TpBo|lR$@WnMV8Ue)BXYmo(aTCHL1B z=$Gbj8(1svHspQsUuZez1cItHZ>S)haXr5JqVFWVC|QZRS`Tt%$Y*o7R_q>(Zoh1& zbCF%S6zZkMDx_ltK0PB#a4nM7Tt~5`1@HZFW^9&Hw5&i+Lv?Ym_gzM?L&f6lgkFGB z%q6FA>XN2O$m4ebd1<9JHwpNNw&G}NIf<+NL-5q zc~;WFZk65zX_kX(%0^f)MhOZLJ!j%NC=Juh&xpd~7{%a@Vl}bs)LKg(>HcSA!!$ld z^~_E)mK#}EJXa5rEO8OIv&BPOXX-9YE0|zz=*uu8It}w%j#9?Ro|%#AvYdy>Nv^ZT zEJ9H+A!d9=TI(%L=LAHt&VY!0*&Osikv7crb3MO-#%PYp;1jaM%^cCZ8 zALG8O`so_S-#NxZy1ruk4P*S5{qyng;c5E!>EEWKj@`^9N8jv9v{Yiq2B8Wz@O7Pc z%EKL0O}iCRiOv=eC*g6)1ni7H{?F;6Sga5CAGk#Zdv4!ql1(%bK)NYui67ci7~|3@ zB*G#qiB(1+XZZfoNAO3^RNV)58>#87Me2gH0T^tyL)dwPtDBJ)Z~|fRhJc+&zfR{> zRu*&Vnhjx&L~;$`_Zq@azq3LpMzf2kRs_eW5L}r@cr4aHaH+F-D-gG8Xj_TY64tq$ zB@ljoyt(HHVB_)!$2i4gff;oh;~=@osLxy{$_OrYLt`wWf0=bwjTOfK{dj!X{e@dW z815BrrDkiOlbhzQ3Ewo4qS0H5g|BjGQ=$4azP)|?_J57+twm%rEbdc`heYY-8-MupYGJXUJx;T%N( z!YKkRF>sL4Dv{ck_ks$6%wupE+qzx|n83P;vxqh*hlbVBY|8_%!p`d3_Fltrq$ zZpf{zsog6gJCmAoV%7ax^_A)JB8ovnYAz#j*cXXH7+*NlI>0B4MSbu(RQV>#e2FDU z&({)byAtd8_-t9I^OVs-e*-RJZ4={7r_41Uu zjYwvoR)1U_?EcSV+bqjUh_oi2G1#;~OWh~$5CR<3o?>|klJ|lrFW1#*0HW1{<(Oc{{3!0G+X~N zb2s6NBTE}-+T6x>S$Rk&zZujfdxuLvkpz33y4j%ki8y|1-N-ay{*{}C8tXYb1ltJc z+(GNeCdxjR*9{d_raEbZ8=XW?k_yUaiH7#7`TO+mPyN5o1ak_O-8$1Cr!EBOfo>nm zxES%(RXyeynIm{G*TeG@!%tF+*_uMUD#mOiC&La(EWMvJs?!!asA$G=@X^6njh^Ij z3e1EPJrzr$shGAk-DpLe`D>`Y8_@!b@Yr|0J}**&MTI+r(|(gUUH9w`VxoaL5e=+v z?AHPL)BbUg3fX^}J5%m!DOQBD*+h@U+X9W14i4U56$P;Kyp1m_GrhpdA_@H3rE+bk z`3G7T+eCOO7EC%ZDc^KRV+E>hv_>C%%UW9topu?LRmM7pj$AbJ5OdVdE5z>{V)niw zD0ZrC8zQ>7%UL1k=*?3pr9;9qwXLO&#|w*qlMQmMPH{@sL8Q%R*WF|MfBTzEdTt*%)P!>VBaUOcl&?Y4d8Ms32pJiH{WFoy}WJGF20PQ_)0{Vxc*oF7stARS&1$e zav{^Kq441q)d#_w;yQhvu8<{+fK`Xk1=z#W?&tpBXUeCXjKH)pby-`#fXCZF`?DF> zCMRdmLGaen1#%V{eywz)`W49czwRHO3((v)$vKwq;Tmb#cjNWrTQ6mNXMDiv)`4CQ zdpM9YP1wsa#$K*{d{+$SxrtS@0295hgGwL7F(4lBX6Fm3Mzr)sk1$|4$%S(U9-(B1#?`S9yp1FU(?h}L4k^`#OJ z!0pqgqy>{_if4;g)Z{yCB+sy0zg0TiKMlp!)5HFDZtNVAW6NqfNrx^LN!YjVfs>CK z&e3)3jq@wqj}W=^iVm1|G!wPc0vdHqbeEnw(WRD% zF260rGc|Q!?;@@czi)`y3$}7x3Oj3>&Uqk7o5onncS#kwPLN7l6WYf@E5fsnP-AlP zQI!oY>s8|l2>vb0E7 zV1t(F70xryu@^nZUS&kxcqxNLLrp#Kna6TTdL1idCWLutCC~5`+RdOX0uj&0x!JVs zk!7WB>D;VsmjmK>+}bYrPAQ+^+-ylZa~=ntwDxdM0Wn6zW{qgSR(w>-=>uQms zmvN4WI0>sB^N;N?uG3Y=-l-jySX!Tr%2x$==JmCX8%(!Sv>mB7Yo};(MU0EwlEG^v zvFp|^puY-T7Fm|Db4B*uAzLb{!NRzIgt^6V-{5fc*p`H1?3_|SW^S+lvrh>|IMEV{ z3g0G~nn-YB$QlvfPOT)P_!{cx$Nhe|LgN^BL3y_Sr6XAD9v+0i(>^qmC;-snTW}Ta z>Na}f-9^zkLt3Sfems8K|8(<*Kkq-@{b~54AC8av;_dSvLs32Jm1zW&_c(~HsU-lp zKt{jThk6iET*NEW-~nC#)SNUFMGM4Q|7{DfXYRxmw`RJMq~8rmdN!h2COoGFa0U5& zgM9z|^MErqozDE#FpaQQok~lrn3OIi$qQU4;bKf@M9x$FC0at%kI0HBKkpxBufw(1 ztl&eFY@1Z6JKlP9ILtw^#_4&AqHbluI+51B)gs~ByviP;jrH7B+Vx%jc2o8#m^pyc z^-cbE0e_wn=71#h#}Yyi`jRy@UpFsU)8hLyG=$*_(R zg7sMkz6H*6Lr(6f?V6_Fcba}3%xuTZQTMJOzi*JAp7*mPT%#jz?$ugM1(%TPRNtI* z#=e<@{rXIOBR(x6VMc+Yi9k+71S)g9Ey13fe{rSPHJZPTXub|Ozf*vpcjfCWlR)Xf z>It+ik+s%{R#R*CgBPhTEK38a8v-Wop)K|vH zcZ%`D?vhG7#V8PvNS)Ow0E_}=Fro$Ss%Mt9BhdK$c_tO-%V%67WP7l$`ltUJ;`yqC z`kg}j^F=A!NKEd1=Z#uKW}yFFaG8PH$9f!$z%bKy=%O?9I`gj&^K~rpzaf&ZgOTqP z;tz)*PhUa{ikjo>w(_;Y%t6{0t+<=LBSjYB3yVcPk+)ktegS%JByz32zLRjiZkWGQ zl=l}^*uzMgJ+o*MIfFeZOTTR@;$5*y2Z1IjBLQXxnZ`l0?4o(Y?c@GB75U#2(ATNR z_X_bZyZakfvd!_5ZSAADQ%(DZfr#x=_6a|Vqe^UpE5+z&_IrGRISG}5>3bc7^F8qASF z9Zq?C1zFd%1ztR?&r~u`E(MZPS5wc~SI2oSgL~~F%j|4s@Ej3IdnSXA&Zr4-g9X@2Jg8|Mk|fG;mKYA@Im0-59t@xjiP$#;y(q(_gPH7 zIID^xT-OiGx{&{kgW4xHv~6o@617F-IopXmc>^O|=!fS>3+}0C@x~w$Z`^Wf(xW_= z#$7VJ5J@AA+s;_CNFlCL*6>Z$*@g0$#&Idum`LJK`7G$W*3rCgqdl9%`=4T261Ukd zazB^)5*nVOL{ciu3aq5gvhGWtE$P0Ds!urA1$+>#;5x6MSOx8t24ElDCL>RF+jq#t zB-mP#t(SvauMo)At9-^=uMMf(6V$U)6{mvbCTJ~TZPzJigw{5Fv^EBOwBjw5&b19N zF=-weAN(XIslaM5IZ(8vHb_~>YyL>9q zB^!~mpTZTPe%#;PoERw_+}bR{yJmCQSR8Ck&DA_C7^ovXWQn2~OMS+@KG;A1{=kjQ zy|HY8-kP+8oE;F>&3C(R;_;m}z4F8d=5^jZwPF&HZtb@lm`_l@(xBopdD4oN>TY!4 zs`JIq{xOKhMq zPhCnbEHF@Yoz=K*QKG`!;>-q`gr-F#G`*n~e?fXMx8hT}R>f)=&*`oY%mvJ?+%P>? z@L`X(q**(j)pLWZBr478>FkPd4=@jK53sX7Igy9ERhj!_ppi?{%Pcx;1co`JDw%@A z+t3O(Mx=1#H{6MpQA__j{dmWY*tC<}?BykjHJeg`w_^4DN_ep6$gXymz1E}MfqfVHG9K}8Z+pg?Vq1dx5>gQ3s=qW(NisjHJNC69=0+)2vuYSE zh+`~#m$xs#`sV_lkUNsK0vF%(@=LV((q_Act6)4=hnbYPOikk)I;Ao+5^tB>upbgF z-wjt_OM+b6K&%e(O!XBME89&!$Dz{^vU6w13&!Gu(L}8`oq&);udfo|SoXq+Zf#FHp=PV_B&qd-bXryVzp_VZY(<-iovv|+Mce1QkWsAU|I_CmV za<{YiaJ!8U!%6oXCs=dQ5iaAZ)Mes|h`&I6$^68Y(KfyS(b2jEhGo7RJe%-CFVYk2@K7=9+Gtn-0Awxx+GY7)!H-D5Cx{Cnfk2bwBnSk zLj2YZ_C+tbElLn=#A(V(=#0%vaE$xRo&(HZsE@5iym2XiT4GehRM}8Z;}zI5@$G_T z!PX?$u`jnGWP;b8t61Y;wCPh3xF4ej;-Y!Dt_h86uRjXpES;PuFVImv%tx(5Xh}>% zmK~hOYc|ouF2;?B>4mnEWN}lIU{{3t=HX#~|6vwvYh&U_Xog;WXx&9)k@mZ}`momH zmD<_;?HJbr5xd$edYYI<(WvE&!MGye_s>7imgR;OIinjf*Vk3b0Z=oIcj;Kc`ix=~ z!}+@&bWXLIWc9J(vGxG*TtJ(UJX?l01sGC-uJYRf?Lx*+wGAnA7V#w)-ETWlznwP} zVdxY1-S4~O!~Su{twM}r@BCUZol|ild3#mn@l_YOwT9)QJ$dxyB{yFidJ?}vncHcm zz>|;YO-Lb}nI&eXDh2%FODjrk!@{jr$pS=87A07l`s#3_ke*HCK?SbgYV9~(j0p+s z2IQgBrU<()FedlgD(RRF`DU-f`+}!Cvu0|oDA!$p7>4ba+vp4zXqG(A*Z3K)qc8oO z?9$I~+Isb%-|auLI$4DViOQe`^-36g#+ zZnzHllGNuxw@S0a)8=|R^?zR$3H9g&sw=kcou@%LJVEuf-}p3dF`^xq-jJ$xd;Iip zeA@3WI~Iu6aBX;#ooF-iqPKTpIpE4l^x(zg%dq+&b9&OfWNvP28RZor|Leou=cnDx z)6?;G$5Pd_^)>L1e4GmkxNDrh<2Zl3EY7)I z*)`6;nK=LS`R@6$IA>1{u5tct#QAHuuW|mrD9%fQf9M;v{kGj1QLTHR*_BFb z(CR}piwGVE>mANht%<}VQ58<+hL*)NB3Vqg;YwvJ+O9GE{l@eO;A>3(uZij1pZ@dT z{_nqN#n$4HmAUma)+Tk%Lh3B-Vmx~bFUmrF_#?e2$+U-57I{dG7aLoneL;Xnt2HaT z6zCqzna+EJqTJq(YUA;Ir?0mTryL z+#uaHuE%0$6J$lg#JX~@n1>}X*Bb7?e67bYEyb;*^Nt%{3%-DTLD%h!VhN3wF58Un zvRQ)k{hC*81`lIizsXk77v_64D?jIyluqNj7b4TI9s z0v9TMtOqBU&6IS0hP%}PpS_woGN?F1V~rM~Oyfn|#K z7?Ss5nVpFMe%XV|~d{k`3%$#nQ7lW4aLS0<*Zm=DXNFpi(cS z3VKTLg^G#wQQJxIB}oQx{;WP&6Zpsdhuz1U+vnpW_o8cO*%eER457QA-2!nw7=Bxg zb6_G>z6X58QVT*&fM>}inysyhH-dXU)N?9Fv2D~F*59$~OYTLOPf@81qn>L6sj+q! z9G$wl{X13eR^;^VH#DRA>+#`XH}E9*CY=>wY!cm;Y0zEig;ACp*{2CuZnThc5(z2S zUMO4Oe8ChhYIfA#X1Jxa%r4a@kKdm;(jr#l@A%npXJWXCf?KPwG3fn2xl2QDMRveG z`n=2o9yP8BqU+LVY|ZdnLt2PYi-Z`@`o#^9z9722W^YS%veCkOG+nFNkJrR-D{gA} zmJhMM)0S{~=p(Yw*0TEo~-Qz6*q5 zHnc++Q~Ny!x3ivAiJ*5Wp-V- zVps%mmCN5Lv<)XmF1Vi&O>fmAdaK!TaaJLI$-P-NT&%acaog8jY7yk42?|Eu)yh3% zc2{t)2U-p$h~!}UpT`XsX9fEq$ULqc-xxE^pEl~ z0S^ykOg%>_VB@41TW92n@aQGwyYn0F(9R*hCvY4a7FEbJu9v@djs%W8p%_XvsUgN~_(0$9Eg9(G4vgVMOW?wx-i>g!U!Wb+1@g zQcEvZbnJ4ej~Ae{CWZS{X7U`(;e&SVXoBPT9Ur_#|1O~C4$_7|=jajFK>yYP{gQLE zA<$Xw`ZdtM#Xxtg@0k$|UIzD*g=TI+IsDc*Qq$H9J1d;6J*N{DFR9!8mU=O-;J)BW z#fO~OC!M}bGPVmDnZ7WQ9wL5>W>h`d9C6REQjpb}oVShNap+V1+iinAca4@=A&JKI zVUH7(+Lw}hBU#MwL*8&e6FuYaqB*sOvH!@?+_V^-K$7O`uH86p_>h50zQ6z zI`mL8%%;S9SJKfv5Zbgwwj~Xdao5?=))*YGP~_E<`Vf%QJt_WCJ`0Y_wmUc)VZKBP zqBxEU4oF=z$TY2KU}(J2aB!cQP>ivS--laI5*W*881S&6EWiZ#oY#0L^Wk=M)4R~r z#h{>j;bwF@<2`&sN{-Ae-f0`U)ixq!^$iDU6WF&m_qTh_uF@)2xUGTqFe!hLH@*bz z#=C91916D_rK3}!4TDWHlSRbj4ZX&{Li!TtX~hy;T3iR)`Ro_)qjjB+#=~@UV@NS4 z`1!W=N!XOlon*w~YmWSius`+xy_?6~{qgbB?&br>N4AEYkv9{%cF2glRhh%FP5a8D zIMYXEqMNb}iRZ6CW&w_@>cbV_Zvo&TiZ4jt!Fkr0u#vu9UqySQ`D&+c>+s#Ssg-v| z)D8S*J34Z}^y74>ff^&!S*vw7ge9A8aw*_nYwEwAmqx+)C$;&~_#VX8p*XeIO0wGyZo4H&|7Y~S&;4_s&-;IV z=0<2n8I~O!CQLzocU8iEew_hfZ6BSso$JLo)O669v5b^c-`G%11e!aOn zu!r73nZOc_8}#x)a1oi6w~_D52!SW1SL6jKZhK)YJue@>3pnN*-VS|%fBzF3?b)!m zL(OQ9(7`Vg?Ox-K;b;D#W3#U`~J6^+vnYf!>@-A{PJ7#}#ErHEz3-F~NbBmH zsE`-j7MR>n=F6hFj1M(MYTa!A{CM->aQn`P$Rqu_N73t^H`Gf13h&uicYQU^N^p95NMll`6*7)v3i+fmE~D*8#;PtRLm+|C z(p2T~JC4218@})TA3X1OUw#HSwv+X&i=Az-+XjzP2b>`=<$T{yz}F_BMr)*~Tez;% ziart^zYES0>fdfl+;@ljU)l47VpRp-35U)&w@B1$lRbWfl1MR5kKYOF+F$e}(Pu>G z2`+Bey+3{Cc52%A%Kp_joVpgg9B;w}E=MWQ*0kljKy|lvN82>c z=N|Z=txFvKj_%)$@2o~Hk(dWQ2Ylb=A}y<4q>{nX?o2Ics_m@I3CF|@{g22@Kl@V< z`xl#4fN7O^aZuS?prvzNOew;Ty|;BEHf4PLxlfIKT#_y1^f(sVF6XmKZXvL;`Yj)Y zK~w;_NouUvL#J)b@aU$#9UBwApsricN5O1(OWcFZNqJdsHM?!4^*0C4O0$FuweO74 z0baor59RZSRxr-KuDPbREsDbVtlU@^Ximy0I2R3jOxzg3_fL2^V7e4()11e-Vibt_ zPLn>B)@gV+lNGI~J$@Hl6UPmEwH|Fw&qsR~Skij)#;~umkg#s@qf)?c&U9TAj|ar~ zT9poJBMNF)?*i6EnKK*?(evJvjgWSI(p|y_#Shz+glpuJS|1i)s%cdZZcneY7d2&S zLu0ER>iIRQ3CXjvE{-nB`aaC7yi5h2qZQl^*OoP7S>^@z!!FbsJSTOw@(VcXL2bB3 zzi^M*KQ@ltqc+B@s&gSOGG^6LAdGJe=_ZfMbk)K!6D=-?7HMj`Y8+dknp`TTcC^#7 z5XN@d+C`#0=ag|Nr({WLoW@xb(b4><@?C&@-frgdY5(}sez*UHYsUKY&b{ZYfqIee zScEO1O~%VMOFG$Ue7drz8*Qp{&x%-20e*A;VR!TJ@Ob=K&QN4b z5t=~tAxJ_Te7WN4Y&T>*E7`Fws?+FB0!##Y6s&if^}kiOI7UjeG~RO@Js z&pJL-H$IT$=kYrZzuu5Camw$ruv?cEd(zTcrkFthXb}o*|3G`30-Ne}=alEYg!A4a zy-RS9aa(HCM1-BWa=7xI3BbQ$-t$El4k@!j=|fBF%t{GObQk zU&gGB^lWf@?JRq^)@si~=fbI0dgCxIsEqH z9R?x<+oF4=L`o9x82B)S^h;VjdXw=844o!wb%0{48Q=9O1$YHti? za%YQC^8&XFDLRSh7kS5`abZ7eY2wTH9Y0OBwI123L)iUo{~PbhuW__?RgObp=W){o zs}~u+24BPv&}#;29A^}Kj2`PV*Xco5lA2wg8KSRrIG`%Zn7D1PjPB> ziaW~d8ki}lqh!!#YoFXrLV7llCmmT0=9X`U?owQ0rQ$mm1$)y>%1THwd81g}6*BH;wRCVU8GMdI#BR%L+sM~5_&fz|V zB;gIN$Lkm2q#z*~q`nid?+#B~h1ORUBI)JWzW@t}Id=UkY2Y+YULY8p=vMdcCnwzr_ALRQ4{=qFxzR=}b}=LmY)x8rID?JeBL4;U zpN==&a?}OGof^?|7T0DVN6@ z&f%8K;l)uNBs|c1Urr?VmAB-z?QahsZhk!69iD$@-|V2+;b}{!H>QA`moYR(UAC&| zn@uqtJnmVjY0p9}IW4mr-l0rz-woH{kB@s^{Kd^^tZ79TjxPRV1KI}ezzPp=C?SZE+Hpk{EIYi`3w^!hTc?*fT zg_(=X8k}t?;`j=0o~tTo#6stCP>9KN8*1kgz5yl44)7CBufs&kFkN3ZY!ulaZ|;FOzTU{~EbrYI_43 zVp?LFI!$H4#+w|l3108U<1K2)>K<_`u;+(sIkGvu?MGWg$=}|WIow`>+=Xfb&swaZ z??{bg+7jY+gqBY?55u4J#4SM;E6LebfY1>+GHHjl&iI~0kzybC?0m_k_m=8C{a@Pi zs4gsWOg4yfIgJavWO9s(Tc`9tJG2^O`7WrTibh&0l4H%Y-cK4?!S`SH6ziZ5+wm-O&>e7L~%t_+C4H5pK| zHQ#b?%8V9O*QTNzrnq>rWb-0x!|gcd55rOT-S35`$Q5nTvv%@yZ63OuLtf;BOxAvr zhrzg@vY`p*MnpKbYP)>?8tn@l@A_;W*`uOnOXe(MdDrGEhEOUAR0n``FU=WeHo01p z`!sk-5-OVy^l)U;_j}Cv#2Ukuq z)&(cwH5cs^>p`*__hCahuZKZ5d;iEDnW)Tq95%UZ-lWr+-Wv}_bBqG#GYaki@5@Z% z{$F(dZ#OOAMyTgQ+@{3)VzgyBqt=Urcn$^^X>_Wl`H#JsQ}CR%e}G9k#Q0q>TrWJo zjgbG_-Sb$;@op%_tH{>w4fzM%^{wXu+_uoEfH&kOkzHDZ1KrY82rFVj^Rnujg zmQ`&VUL$;s_Pivc(uo_!v?}&K8#}d#3(BCw3EzlYvS8Qv#nIVT=0sMPBWn?cMB5`Hi_VTnA}gHO>GK59bwbHk8v)+`1wIav>OI`Mha;EQ`<}wF zU3pVnJDVl^s9k5Q3NR%m(|8BmEW>-+(yDyNSutDEVqT+uzyIlq`u_^lZ;#_c&Y9L3 zm$-hMF5Y|>`>t*gzB*2Bqz}&UH95IY@iOD_%>#S3VDquaOTk7ssxw(FBJpC3QurmQ zu06;mxbe=+h1zUxD%#3-9Q3n9u`2)R_V}rPzWa9kc=s#UjmM-MTd6nv3gfWiUL>De z9SmHl$GWi^2QV4W=epj3oJ88PB%kXo$89CZcXu=Wxb;p%i3vI&p0n+gZhTTO;5BPW zc!EUtWumt1Y$CK>e9xzMYgOdJ+|h?A#tavsi>%O84i09-m{^xbV|o{?(9WgKPsS)w zLT8R)Lp8?7{fE!D``Jhz{-?3EdgEjvcHY|smMH@z1|O|kQjSsMrWk=X7!M+U@l>l2 zZ3OqcR$s7LDXx_B^cA`Foi%9@*mEq!518SdC2h`3EdO)BJl|Jv7q1OZ%YUj&{DT0Z%$lB1tb@3(KsC`6!$Id~^GJxMgQqfH z?$ExI^OSmtyKZ#Pxgo?t%0h`Ru~SGt)?SbXpB2tlCl!?g{8TTx7q@zay6n&Y^@p3g zpZ5K){oy|jPtSk-{bB!yqP;mI>Ew!)9;)aR`}Z{>i}3c!WiMwU!2>vI^LGH~DLRT(zKQCj`RqOl3i}>@~)wTnw}5a-@bUy6+g> zn+LYAHmss%Q=3USo0hl&R#xCVR{MSm%dEOMpJrncaJ5=t(bYhAcYnCs?b+n)OQYIG znWmx*+Se8tg0{P-m@Te(PAV$G{6pH2Mr25HrWv#*$~R9e6UneEjq}U9`B96X~ey@e2!D&qRyl zOl(~qtOfGF-?OeRo+I2gTVJQb67g#k-uu#$(Qug+Ns*!`a(q}rADn{raKGFC!ZIyc z!MUczVm63CO>^*!XJ%^qE6B{tJ-uqnt>p?rS zVQ3t(sxClzx{b6k3cq$Tb@Yr#N4U&7)ABs+ktD;)ycJ>RaDU5Aq8&TXq9Jx&azO)y zR(leSXKPaAcgrq#Lty9T(3us6Yh0~$E~*9UEY}GtD^hNk2pj_ zO0AM!goI_ZGx&m#ie3$;X4+LpWU8ar5a(_q{CLB)!Nz1sqcjM(FLKf#(d)Hjp#^XF z>vnpAShV5STS7dD?{g5Rz#Xl$9^e=ekEC`Khd$ZEZ0OpCXe4pq8r-x3w@iO~qfzAv zVzy8rp8I{i=GzNb^bpY-+#S%I@~_}q1a&TKCriE+StIVb+zZ0F~5EJ-}g<~ zM|^ciDtaV%1z}qJI}rh|{)<`-<$vs+|9)ga4qPBN2OlQ+x5u&T`rk$4&eDr;-xnNx zY=rK9_wcx9rPp*$+*qq&BdtScA|kBGFyFJoPrxm05$|!`wVFORwZ>Vd=&&w{=SvKK z`rQA^oCTpyGZ&>z%Oa;U5X$ZD$-9IbRT=VLxR{Wjb81p^%Zf}0Lwy6e4%QFHzwf#B z*hV&4H@O~zLpabnwX3di+`WK$CO+j#w4|CyPpzJvua>VbisZhw=El`ckyPy=$2sPt zR0$sC+Baal8itp~nIvpw317?97m(|~{PBj>S1R*nJcLckagh)<9=8}HM_d|yjsw{@ z1xeeqhI!;UwD&j9yB^-%PtX6@KXO&Ijh;=^tq@K@LDP@6;;qxTL>@Wf!lid=#?{2j z6Dg+ErxYvUeC)II?&{{6$hI%eIDVJq>+TlX*#|_IynT;q`otm-Q=_`7fYZEa{{bzsAFy$gqU>+G z{co%Wge_AebSI@%XP{ff_5jQ!0R@+wj^LM0#g&2>bt=g@Oz}urAK}-DyNtFk$l`-j zJL@6TFzp_^S?wZYPr;(ukRqqr;l%6O@qHS4CJE|sUZCEm%mCJy-dRGfe8y%u2P{P=r5y zzP+7=+N8`1wY796OrLliV(r+zvT-`$MlrOMNQ4I}E|Rme@>yWoyDqQy)M1zPbpLFB ze%gIFJUu_|I5L8Eg+?t7!TN&ePB`Uq+H<^gH(O0adh4q=0ENPtX z=uSl_?%VLIWO3ONS5Gp=>mA(K!00+!rv|Ki$4|7}Mx6f|e%8>@vvPoKH(r;Q2>H;d z@dz8N&dKuJTAW!*Gl-*zLafuu-klTRCB(}(?UFR_lwu8eO+#8N45~8=Oj&$qL%>hC z9JvQG_}PcA2@+G|on!{g_2PYP$hkT$MA0}cj#sj82U>aS1v?Sy7*kNPFRIkLP4oS? z;kal2(|F~>O3CHGN`D&q?bdw_8tZ?~xzi_>ZZzMxK(=@phZ1+on_X;c-UpnM|4t#WfMDkq-IqY zvR)*68><6enbljXu`)Zke_xJvs)_y6=+ue0<6)!y*H6#8;Ut7rj&NgUZ>=r;L>oPrbt3!hCSly! z;Na-g0krLo^|GDIi(98O$~-JZaOH zT~2TmK$Ffymzt)wdtL|Ozwhtvb{~(Q??13YDB2tDb#76Hy$;AWq_OX^T@vW~k{T$u z!7I%{l2DLpnb9>v_*Zr)=0tt7aS36LwwIa8YnXRLo^ctt>^h?xpQOk{E9-5JGYi7c ztnP_3p3Tyxwc?5@FJP77PKf{=doF@8ec~ay@Yo39*GYPKk3Zi&ACC9C=ieXptWt*I zX5Fov9Ya}*z4>W25@WJ@BQXw0;H(|UtQ};E&KoJu@ykmcIC{d>)%P8``clC>2Xo|4 zwM;{QPIt~nX0!4P)hTRsX4hA*ZNx@YZInCB0X)Gyb%ml*Dy z>N01HUwj5a=ISUCNm$vc`-lHH{&cwg!w>)cc;t<%I7sQTT6cDgv`c|)Bxlp%Juw9< z`~s5?up}X`8mbeb|8?YIG_ZorjUB{Eg!fWB8!HIgS=@15Q#1ki_(qe<2QAq>)ZWo6 z#p%D?f0)a^)+I?l6p}LtF~3<#d9NeBV4^}6H^+$N*?W|nz3Y{|xL+eYb1i9E3!|3# ziBr)505_jmrvok-NL#Jrx02)}+DZn|wG`I60nFcAaLM@!?>mO~-&tCwHteLT=~|TB z0@pP5(4BAP_y!S;S{%jyt#YY&po}`v9#OP(|elrz6srs@T!Vb4a31* z&ZfCmmR%KG{?(01GKn0GmET-3`~DvSQMg5h7R%XRtW3Z=3tbLf_L}vI?)ydeuaBSS z^K#kX!g;w*=i%+_jsD@y#efY}{9B}?a^xk1lN>^XZIW{VcqTVrqxTz+UKU(#HFO2{ z-Gck@c>Eu|dpi8Y?ShP~WPZDCoXAYQHcTCpGECJ7WIGf@WSsgGem!i>EVkLRQZOxz z5EFHN`=-xzR?_g+k^sV;5Pha3x>C~Hgl`Y7`RiO|<@mO!Nxq3@2`@3%MIAE?aU`|T zaZ+8ql$bKKmc+5C3E69cJR{kr9JjA;j;%~a29j-3oioKU70lGMH6VOeNlD#5yfTmOb)|JP z4{+kueVTe~wrJBWKz+7?db(D}8c~KXRO+jtiTW(!!EQ6oe4ApD7oOUn{<+$#iAv-#A!FYXvky)XOW&x+GfMw13b%k zmJBGbl-RGI@XgSjB|LLOjVrqE7~OyW_;Gi)|2RX6O{^+I%fl=A49zo|udlJ?Ckz!a zq#%yCvPvz`a=Pu6oPGM0g~wl^{CN23=Q)_U8tV%4w*mA1BdbUn1t$#tlw;r80^2S- zhl`!jl{8MJBoP*gh}Vi*>*4$K`zMy<&K6p2jU*jTDuHi{VI7Gfl{hu;B0*Tp3)a?L}8w-cQJGK1HSwfuB!*!Rg`<|1pkAx?^ zwny#+^6k&Z!!5UX@Y!(7!iKJ0>{3(^&9cqVQc1%!_*#%|oKWNPqjZz3MP0H{n{a7| zFuuDmjMT0Jrc>!63dIjMV5d67K>xC3-^r?aVKKc>4X* zr+xqH>^9K^ZkyPGH`?N7@b+z@WI#<0JaD5++U8PZa=A?bz5nI&fs^o$>~y;I<|2-k z&8iuXTI$6W2=|jYS$1K##f$sbOG+uj?T4?W)a)_CM!;T6sqeOw`s=ln`mRf$Q~n?n*wf@U`=*|$KJzGv)(S670{%|*| zLK%%=39@uOl{%#tx$2IoxGaO+5ZMml>)l$|cY1uCXuZ454u3#+?o5THX*AlWzswE4bJ4;_DuEhm;HRQz zTA`;FSTuFs=vcIe_#x>-sK zggEMDUV#%Yv6ho_uT{ub%gjX~i3L}C#qrl$YW+qnuOcJ z7yZSAfPgzoE<{6J;;#hv@x#0&aJ1a`vT3rCon7dBFbGtG$+a*{#Y$vECrLo-TF7`s zgy+;`okT*(d#ERF6YX@;f~37fS=~t35_q>Mt55OEqs!G@S9ISoy8B=E_p|bahK=5~ ziH`NiOuFsZuH7)E04J8@v;*D@XAWv0mEwqzoQ7gKEK~3yuTrNd~s+&OS45iy+9}p5 zxaqJG6T*3Kzr`@&z4nqE-(fhAGs$?*62|+PmdBcjdIntf8NP!1Zoz#%?p`uAm!?f- zb^INTu+g2;ZjtS<4;J74$9hsYrfCDuFSWMxnyGvjr0H!&m=oHZicVlj9t{(9 z9#31*KSYb)u`FafN^c{yXdQ7jOkEG+nPBcQW{1;PjNduNKm2XC|Ltc^A<1f98l1jE z)2cJdE^x5qyYiC)ZXakWkH>XL70L7{pJ9lT+J?z<-~ab_f17g<)?TxsXDw~;;9_2& zd-9#u3LkNqM3rCK!NKh6_&b@fNRW;-8+0Y4KO8=OoJG1XltqfOG5ffH>Y4A97qrQm zTqt^+U`x9fYLR`RtzUrEao#Kt=R7HrhiMXMMUpjRCqqM*Z+4rw>!1PW7e%V#`k=S}D$ z1?S`AZrElFaC5ztF0Wm?)}|+*+IB9-MbJ(;COo9;``jKWHq95~CY<;JaK+%>CTDZhsQle`U z4oMkuve&EDYSEp{$iIAh=qm3$tN~Nc9>&;(cNaCEdwO_9@9s7NFn#RyT@J%1uto*; zlA=sWC{BSLA`jVCG@o5>jD;7GIww+yP4^7~e)N_?ig_dCrdZOe8{Et-%u z&Lbh+e3Z2fcA=~dSJE{XV9MIxQpL638Eyt*z2}ct>4l>kZi^if!R<~dSb+fFnPKc0 z!Y1O~lBMS$<99q==Q_EpRDKP^kNq#Zsr_t}jAE8z}WHZ(f8- z;z}U{@;&Rnr3GP!Pdl}t$0Fl*fp19I1nUy!rPUh$g&%R-*cauz<*jKb_T?^XKXCBa4#Pp!fgIjb2h@XXQ;rZQZw9i%`LXbpa*@Yf>;y zLRBDn!R0efRoEuN2cSQGzVH8}U-yq(6&FHcb;KGaoQ|Dyc@a{u*2d%4wPc%SaUHQt z+goIjy@gKOC*f_oNkt-O!i(9P0~c@KDsOUNPkPURx0jFLy|cXwou;uqE0 z)5;g)cY&qJHhb*<_q6||@6(PCEDOm-quIN8Pv7Z9-T912f3{mR7s_k^ox^x?j-CQ; zP-Kj!Jrbs0z+1FzYSqdW2}y_h51(&mYIy+-_; z-Z)x0Vf-%W%4@f*br7HQ17`uZIU4SI&o<6+V`tO?O_}S9bcHu%wl<=Wp7sR#9yf^Y zakZ+oJJ!Ma>Om8MF2Ed4Mzd8D)1wJHzFgr>}jy=-Nl0^@!{B-nYk3 z4|n_L{VUjKBRv-DB7u&^=)Zh1_D%WUq$D@liWZQ^(1?S{-*vrI>368?1CdiFg=b-;^sdgLM-xNJmw zYE*4(y~ZDSUh6fWUfU##pPF#C{Wg)EwOre8r2XDxuJ*UPXLd`XwZIE)0i!H|*-AaX z80X~h!%T**kwoq`WaN{_-QQTIqVbMP(5>^nzQ-|(?7mzGxI1M{E*uHx@T#-Es6ELa z$=pXbxz7FDtk0dbED_bvp{reIO-9%%?d_(-kwZI@x`3D0byIfYB8sGO>cgd#QuEVK z_w3b(j!p^0t#TJs+10+a%JN;d_?@oKr!Z1ON0?xD^E z+D~WMlB?`9r?z!a{!6*i#VrRQh7p}8;j_yxv5A?#LU}bQ})K~#4rXIF-6F|6P&VXYLG|_XPcGNPtUtgpYMj1 z^8K&70qn;gcXu4vgJ7>fP*itLLz;E%ZG{$WD|B7oPURR(>Nd0`ixF9}_sUBn$QeHqT#dSFaC6Jz^C}0MU?NEzYp45Ux5_WnU`uK~M~kUcy;?myn`e>?oj zDPm~L`c5}F1x_Qychf>X%N}WJFox?y~An1Epp9Tc^-B``T6kE&(FJ?hnq*19AsFD*_MW|PYzKl zY_s~J@-TCRo`~UF3|iqtGWD!obl1Z8=KlHc^!ukz`~FYjY_oJ?8A5G^_k@@pHW_|K z!T_Unz+ug*1$*e)wP&>_`Dr)(@!*ceMRO=jXfT=w4gQQQGukBGq>_hcpQK8a!zW_2 z;=2|}zMHsmKSf~8GqQC~9FL^w#}O06`D?z;LEzg!CvN<4rtOJEejF<^Na&E}VaBcS zt}wq7m~VdT3$Wc~EtNNxC5E-`Xmkz{8I3fdb~Y<`(oNn@S@@OKnp{qn&w|!@qsD54 z`;vmp8@3>8gB>6NvMbjAWUMc2rM=;8(yp=njo@9HYSy$xvC5$>pp6b@8K6^yPn}6I z1B(y0>nZsOXOXx3+J_h?oG; z=9$~(%x$Y$)B|M|&`mej7+zwpRU1-{%`_a!^p;Arqgq*Niil$l;3VOeTmgOu0N+0C zZXX}nyI1z0S<_BDp^GZ`Mc!f&f4iPy35VOB9EN$(aC@WX`F8N%;qXoD6Wqi%Ck5Tv zH1Rcqza@+>DIo;&JZaepk?Mr5nf@yRe8Wlkn#^9=w7aJ99C?8N#(mPr(HD*`$?Xh6 zwTaEpeRw<`KeAqUY<<;;;MiHM>@s7J(f16*n99(&G(o*hnlKjewAWU6e1-8no1?X5 z#T;7&mi8env3T@@Z8)y(M{+swQ&;-ZRkC>82;P?_>1A8N39m=4l&19wOsBF!*donZ z+DiIiQeyWOggj1Ub1S z)Czi#vxeVhniT|-2z0}xRAy3I58u|pc>mk(^F3E*_r(uaeYIy@Iay%V)hx7aR2F9V z(Wc^Xp-qcXh_op5+RBVC0ROVPh<0xhs~%(;MplC{LIm=4`x;Ugk&i_rDe#U;(K^aX zG8eIHI}*Nv`jQ&VIL#JerXi+0TreW{abGLPeRV3OEl%b%q>NC}`U82p^+nr6+zleR zg0&^zUV(iXK_rx?w%tC{M8DyjU4=ys zjl$@9yF}lcw->kqKDmR0J7=W=QJ>+b;TFM&N9+lIF@Y1Q2>6{_1?A8FsgcT%#6QJnqotr*jan_RlilPkRekP6-rEn5a3avKc z-(QBYwyYX&i~kq$GO;`enBeN2Bt;umimJK56UdU0c5NWK<`aEN-7L;lv3g*Q{qt}S zrx7lGb1!Lvz`2Grpb`vA$YA!OVBTt2@~ZBhA@pW;Pt^)&l?|fC%XH8Z#cf3C+=UD|H8lmuuzPxbJl_Ab z>;FPo7o#X}ZtiRj>Fu0A*9`^<@KS?TcZ74fC3RY@M5nc;k*sPV zEyg+CyoM03QgM}-dB+knWN5QcO9*3EsNVt9!z0}n+cSlB3Nm%SkQC5Bw_j@94uQDUWu$KTFH{uQr0JBwg)Sj)u=+mmuw?APS=dqx2gaf#qF-lnmi=Ii=Chr@y%$!Sm z-!pTeeC?UPg`SxMxNn-d$N1Vbzx$^7|IByIGO^uj*ZeAiH(EHKmDc}fwrw`-V)EKH zU)VNptR?jd@VUNOq8xT@rkH|Z+u**=NWMp`%R_xZ=WIm-?rZ1#>J`{%z+DiYYn|Cb z?AkiN`_}n!f7fHo%4zdbo=qz60$L>B&*9ugnlmH1?6LC|-ESJ**%#RI8U?Lui{xBD zPG8$cR3SN-4dh6}5?l;_xkp&nT;laX-rapy5Z;X%J9I`BT{&=|O?t@b z03S!%NWRnMGyYK5Cp#N~-Us*$=+^Saflbg&Kp5Li(Cs*5LC)9oe;InBRFY z^P}&+?hx5`$LOHL$yPAKVN8xj;hrmzG?OF~*59bj9>HZZwK5`?!7I4$0^HeNYUpIH z_)z@e@2!5gWG#7x_nU_Ig1scm)4uK{-}zqh2VgO&MY@jHh1FNT z)m96uAArr|73l8-=u20Vk@fMut|s6AYO+TClHDYKFnQfgzW?3i53=PXTe4l3lSq=^ zEZ))Wqz$YLduuzXU1{Ooet(rMF4s)YQee4e+MP~jPG`1y)#2^r^(5yD*5A}Z{*3@a8>EmXzqVK)!IaLYHfzYAtWobfeqJE7jne4(9nOnlYRNWZNUf z>m|S9R!Kk!B)OjKg_S7wR3^Z*mMx5&iRbozjIBt!A)@L%4x(H zKch5`)Lt*2apB(0L=Wb-(N~p;KBLGmcut>kG6!dx8t$clV66!t@x`ce&o%5o<2PT3LF~82ZcZ@B6#E-G}{0-fj>-fcKq``J@T*HbTB#$ZQbaR4r)c zo;M=nfBbyUE6^Cl&NG{Gp57(^+~#uPJ8>o3s$Ux5y&zq)o>f(W1&(|H}>vCaZz1At5S&*-b^5wsb<_*#)Fs^Oa2kR`PdRn%M6TgUsS z=iRF`&5o;i=^#3ULyvKp;k~)yidhS&T~woN@DL_dWP(UVW~)5?k@Q z)QjwouUB)+fIR;oyTSb$20Fx`fnaX0kzFi1b`WT4jf`tT(H9n?0}EaIN^b-7{On7o znAi%8exkMNbP@P{>v4teaF+eqhJGx-41P(a$j~mI@y%m>>9ck>b%K6wK#~F%;Z4;y zmylH6e6F=A%pUNrg3RQ&P83<0B}rwb&Bg^cNpL=sIyH_r-Z&;1eojhz0#;?@D~(UJNra=Q{8pP;+WdIQFw9x*Wo|1+ zDQ|&2By%L?a4I(0WZ|Td1v}}jbPNi}Gt;ol?WV5Nu=hC)8>gI?P&ajE$DJ+tDCLq} zzy#L!`CgzPMce%1q!IEiN@M~XH#31fW$8=6HkNf~Z_dP2OpAbRebl(k9LXtwALRw* z!fGY%mDBY_jBKMgfuUAd8|?#vbaO-!bg@xgV)}`*Imw6Fi$>g=CGg{?Ps8uZ1#?la z2A^i%WmCpyZ=Q+_p^QuaEkhfrSnH)N_o_ zv1vgt$!lC6d#sD^Y>TYR-TxKiZxZ9vM6+PcfE*I1E#XLvP1je|ZV9Ovc#s(hcwr`i zCU=iow0k7xm}}g?{p;t$-G|+!AV-#veFb?Ah(SdYd68$7QKZofE@h2icj$~RN2qV+35jlIYLe}UHcUCFFQ2CoxCH97p(@l1(le#o73pso>0|#} zK9-jI0#5_2x##=3)_T`#trw&((7x9k`{0W6yTnK8ntpo*>xQLj>qA*PsiiT zMk`9lfLCze0k~gpr!NTPd}SiM73=Nx(|sV%FD}z{J^hUa^Gn@z!Rj(7Tp{SXx_lq2 z%jreFWT)j6m#(int@pUodiwn1?bG-m-#$Lh$*h{}a331q1s@&IL$zgAM-s#mhC}dB zB#=r_L81h;nPOiB_M8>X)urUs+x#twZ=MG=SA&U6AFnvS2b^!8cEkTvcId^5B{$W9 zut%A(h$}XP;KNKxK*8H7M`mm%$=G3|)zkp+!y`Mqw!HmvYfs?=qQBWzSH=B!$=xG9 z(IgezoJ7H`R+3r^+{b<2A0KX?`}}-&^L#jREtGSb>y*E?o_Ikub;^aXgg}9|WvB`Y z+>^u-gF>CjTjwlO`r1nO90J=%u90ekZS(2x?%Tjt3Ew@|djTofbjN%j<1aNi5K`(HjEe&q<)+_)8z)k&*i2b>+(iE6^N;h0C&l$wbSY*!H?Tbx z(L2(SGayh4+hNrO=xe7UOW^jZL)ctcn3{uIj(5!Xe3m z3aoyk99~+hSrs_z*i&dtKi9GII-9po!dz!Wj;>_dhS!h_nlk5&da73-&j@BK!)ENS zx%98DF|sZ8cNeGZ#v;;nS$o`9O4lXtn6%-tOh=kp5JlcJTMf2fqdl+8s>AC*8CD^K5+(OlpnvLNLE3)Cz zqB$r*;$88A_L7>+cy@8ss>!lb4sq~pcGuSfj0H0ItO8NrII@p5y?)MJOhF^3lTDai zUoXH5=s+$u;AUFa7jGv8NC`hohmA-juaUmw+{P-yS|Mn9C#`K~q5@b%rfJ7+qsNz7 zXSUi?Y{RI##_CeEyUg{HdlS^>O+d$uk^pmWkaIfIoTE6M1YXQWbJrqm<05Sg?T@=+KgNn(m>>yi(|I3|8m)Q#u8hE7&LlFZ9lY&w zbpv<0s*}vZW1VW&3hIZ)W$Tgg-IlG|vu#{LK>mR#r*dpqqLDZc+1 z&9N24XO>+`c z7n4Oy?%M5|^)BJZAc~x+;}-)alhfAn89xZwhFeU9_kjH8+4tL)oiwUZsC8#m2AZ`t z_$H@}?^7}r>PEx$nvZ0wRz3@OYxQ5&w&?TF8|T>b`z9eGYONL-)9B=IkwRM^$xicj z{8Ff9yq;#Sk}*v=mV6(`_c1>Yz73Ww=h}n!V3(=qwATp-zor?Daj#(JlTT!yRzBl# zZ?@sXoF4i8?eqSUh_}{Cnl)omLaMqZ9VX%D2leP{#2cQz2XYt_B%>HzYo@J-b&v1> zx8|yL_Uf~>Sn=5+=Oyi{UL0U@lZN}+lCQXyJmU5F!us%Dur@V;OWv*9{E&=6YPR-( zJtq9X*EuSbalH+4krrfEpW7Ad#l&YWnj?D%cwLje!!_vu?(yMI_kWxjuJB#gb-420 zhb#S`@IU{}O;wCYKE))X-u@Ezzt8Xw7-MP)0+-hH8g&|{h*bYKS$~XWHJg}ia%}vz zMrKw+`u=Tr6@C~*meLvy;7Cr(qKKMUs~E3}uesv;{o*^MXZ{{2dc{t?>FO$VJ|$%S z(HMRWM}oLD3&~D!c(+8$Pim3=q^Sk))&u#&;pu<)Czv}0xjw<~`w2eWvrn)NiJM-x z&>ch;-Yy>NI`7I}8{Jtga+_;tYLU!bXG3_o7x)VAw+-)*n`Z?3Ll&){R4y;~+h5=q zirFTZpzGV5u@Ah zJnk9xn!mAb9qI+AJuuB`S6NXRSU#biA&;YIxQ?!)?!@&J(ZV*XqWix-v%BFsrIguQ z%mzh7by+QQi|Jj_oCbR(3S$Se1aw^hPkGu&SOTU_`sUbU(j z(XsEok#pH*M2D`%D&TRiOXQYgR>PIF?rf=g@hFoz6Ah=FqtmoFJg7ydCh~s^-t0cm$Fi zhTZNk_TpALCL?R5b99SH$c7jNVNEKON%A*2@75x116yx7w}5-5kJgTxd$-DNJ6hMR zO~2L@{R?M~kPsUQ!fvza*u{O7W?6n$fZr>?vjdW%*i&ZPbftS6{z z66k4LC1MrSqtg}HBeM;&_v}mDZlsJ~2I1%w{1TJbs}4Vsp|z!C(o!aE7{)X0a?I=` zyNPnP-XavCHp*F4UQ^2|2d8RXTj!m|BBHa#`Y&otnCIGMWt||Jb7!4FNF|D z|HMu~EE~qUF$J+XhDFwoDM+$)?I|ZF?$Rg9BFS!3GZ9yeW7gd+c!`dL!bn05#)$3U z>tw2~hP9wH&GZvF7;fTIS{~s(b_W@l+rdkEH)sRR%SjlMSryM_ooyUsX4rg}wTXgj zi`u)&X~?n%V&-tHW>f&YB?d#~B^jYjyJ zzFRg6Nb!d*h{C_-1Wg1oT;8>2ubjvTGB1YB@c-At{pt;}QgKn@xg8F7@Bi5oP#! zUQ}*qv+JB65Az`FB$$i4&Iib6z6o;wyC}E{t9KS-5e6@;X`Y~nCb(Sz_9bZ_`nvn# z6h2(YvN_x~sJC@-fd7BuT>*OUc>>=N3#t+={2IYbeN zAT;!~MFQK#ZuU%0t(EZ#=sYF%8L!(Djw(0!#(pIps7=FY`60daTLtnQ5$z z%ultq%<*cwQ=L9*&oInl5O^QO&IOCe6ETN6HX2+spY%Wx9LFzucvqi%t_m|N73d7h zFEb5OO5G_JkPS$iU*@yNMK8$7Sc1_gqp_rE^+24f zqHBOoC7F?l_}1p<>*4+HY-eTo2fB5mlMp|fR>|!<6JvyjCgc^Zfp0nJw^{TwZz#mw zqdQY<8=F*MJ)`LjrO{pTW)b?gb5035=()`$G z_qYAu!`r*hANJfv+DPsy``1bVIf?CWtR{ig;u5Qx|lRRA|WMy?WVNRZA$Djr2h|>xGmRI(Zev)WuNTZ zSCoC?wvzKKYQl{xnUI-VG9b~!2IHSk{Xa*UhnX9cTw(rpVBXz*0dO_tPTa%mq`FMXi{NKmp=ZB|19G-Sx z{v+#)#4a{kzDOoTWD44(gQ|e{)HT0$qKx5-N_tNznRKt-QorE*<&Wo7BduXYLg@tV zyNC=!n>gbrJCgH@`^b_<)gqhkvt8#lF!O4WNlDn<$|BT*reJ~}B?%W8dgF)hLuwe2!)fkm>oVS;ac%rosXB(-*( z_g6;u$kkk?2pZr`b9RNp`qsx72A8b2;L(UD59z$*kS=Za5D(x!JRXmnz??~zW%D-l zxfdw2bhNmCMtv3~Tt?C|ks_7I^_5M?LhHg7%2>8zZgRs?Kn^n69?_|=BtgtcUmSb^ zO~$kn#q{cQk{8S$?mj>5Zl0cwT*YMr2Qobs(VZQaOqYV(7>XEN$(f`J!Gti94JK)j z*WOYQ*zP{xe>~ptoUo`l24G7w5}0x}YicKHr?UyaafAi69`L$$gs_k=HhRLm*$CV@< z)n^$v)N2d(5#k^Mdwm6>2G-oh${Lo)-QpW4qal}#CId9!;}Wvtg8BLjo@Q*=QCC1; zk^XLx{@2fkyAQj+eE#vGwz>zKqY<^+Y6E!}e&1lP{8s!*MZjr z<;g>>A$MQRA@T<8$q9}yxs-%iC7x`#yhv?oZ9|n;5Z`^gLj0XWJpJ)3x1by@!u7T@ zaT(v}XjO!#C$)W*u->l4peBZah|RsWmmPuhj2Wegk_lOk$pBNbb~wZH6N&~1lSmeH zE38E@)$ut072tOa@a?BL?xy99j#@JhZy}?j_Duyo^B~zk@S>6SgBICA z$CZ_$UV%F|(MpOnb#K{Ds%Z2Q1@x8T_f~-C>6^R_LbH$#DgfK#_N`1PvriCVQc(t$ zV)bMQdr1iAjVi4B*FI~j;_hv)76_u-)&_# zlUE^p!E(t383jZk%`n6EQqe8c4Z}rNt>rXz!!o+h#@+CjxfZY8C{gFkHX(-YZF{0o z5^xDYKR992_sXJkK` z2yRmoNmYBL#EHJG}q|96Sj3ZrZ#;t|)7vlANE3E`fKG%gMcFO|q1FDC{&s=HiK#_Cc%7p7L zYF~%@U-yqsti5lJ`1Qmfzo+9O2atOB2V8rTx|}#cgbZU*6zjF!KVK=j&D~5m%lm&e zk6bZLWrm15ssMr*lk^ZcS1&pyS$REmQlGd?$<1YsJd<0W9o)etIVi%ZIkVa&JLR!KasO8nh#UjkxTv(8CvvO>VD8oGUDOM`-Nt8})Tzjl+`~LL7GnEeX*v}GS9aQ4t~CMs;i;`bH>elO{`sFC&0^h0iCxdB&`lO zf0d!b@cs$_*L~NGNReC-U-JoPhibZiie-;D){il7xWPqt`^ShHwFHl^ITP*pI(`>e zIM*}xEfC)sZsZb^lD*>|@^EIhBI7_79J$nUtcetgGZ*NAc@Ry^wX)l=yL-IB>LO&l5-{P+;HHdCMCT8Wx(%CURBR%}3;m8WrmeYWXY zdFq_8agk?R^_2r0(S~feHGYp{>w(QAQez}g`?X!WzlNGOg6;p}`0F}4qWg+GT10D# zd9F2%bExH3C&p-k$K^KHI$#sjMM{Q zMHcU#bKUTsB3i^t@%5?oN_ZE$-^cya!*2fzUum;cvsP4xPz+C(XrD_jv_z$iFEMFG ziWV_a&g#PT0{iB}huzJ?+^EDD$1_q|d@~<(UW9+7N4aRQ-mWzy#(LYqHy>x>L6iQc zlJFD4MzikYLpl5?fqlc5+a_!7!8UYgYu6>B%+~d3n7j$ZsBI zP`B*q2R$p(Xk*<#+~6){MR+Fo0Nh055xiOAF=ilsT1ABzq9E3W(%)ZiOfl5Nn zd`(IDh*=#|cl3~{zEsD76`{PBF+O@{zB5i#PIVSK3ztz5$%9&0ywIq$F zwe=#;;bv!N%CM2$8mR=6!y-ejk3;l-9#^t-KOOON+}_KbqNEdvrXyoa{S>1Ei$!Q)nT zJs=d|-V55Ux=%W_T}iSBF=1`X(XT+iwC~a`CqZ?dI%N}-)!R|-oyB2KBx4vq%dU+F zPkdoXn7fTuUw`CDgnjWT+ib>+DCD%?ZL6b#=P4xT$l*~!d^Wk`3XlApAy4pluny@8(Ww3R2Gn=~6pxA1F) z_1rdF=iu3OHr;!r&IXH^gL9FcH12FjdsiAbw$Hk_iG1WF?{&FE+&s1~Ji|{pv+5eH zy@>6f?YPJ-pNkQ{<;x`P%;U5(-Qb;R8S%`x+Ua(+&inT6^N0P1-5>v*Ki>47(-3Yb zfcq{gqnF^V3}G%f>ssUI_hYG?Wn+yW#; zwg_us9DQ+scr*Lo+oJrrgcS>}b4GSrQA7~m4Cd1x&H3$^5ICS)SGPVJ0~FhBQwQ8z zoV?G2Ny9W}SVkFED^JSKL7ws4$y~m^nzFn@Qx-CgS%|se*cIaU4Ds#Fob`^5mV>vI zq_eT=?Y*+?VsQ9lOe$I7H7xAlFa;^M>};aQift+}R`IZ3j0T>GZ>tB^iE%vm2A$4ZYi4lQ$Ml3K)iM`^*d z%O=v>GQ&NTuUUmB>m3Qy*{*yp{{rDxt_j0r8yZms+f3Fg&>{EVEx4*X?p%TcY5bLh0T zeW?+ZK-|3^XHE|}?%qKABx(ufwl442g?xtH>yzT1aC)^7`g+YTp??uNZOiHme8MT1 zaRq;^XuT69k~>-Zptgef^ZkM48Q8!L%UVtZ*4mObUxR#j z8rb{nqSEs=ORf4$DTp`J(l82LU&IFdN`s_tYX^7Prgqhw5_gtFbktiV?#W?^B>@_C z_}$9eHaNRbQHERPQ3V;ik*1F^M5h>fvsqb*=9y47nu}!mLfUrTCB!eSxu+cN>hY60 z(r5*Kmg#GFk%-M!>3ST7{_vOmr$hO|g>p)gVdz!o`O6Q?%GCTC<^Me19}gc`>!c!E z(8QRYlMM%S$szLmjczJ*0xxn(R8Vj`M_G5n$-^*#y!JMs!E9-*1`#Z-RGND{yKVFGq9S9V;$ki zm#dqx6Yo>fC+D?|kt(E*_nh;z&X!wAx47FW7Xg+xa`XE>N>X0eRQM5Q-0O^#qp=b- znzgTAD~SI#BMj*jOVDrYi8;)flo5v1xDu$TFWsbLFIV#fP8aPGsLQf#L#*dW2bmA( zmgsBWF&n)I)~0`N;n7G8)D5gtxX7=rX#&$LUA_x?=d~paD!6AVvc5OU+)Hif%Z$Or zu-Ht#b)xON;V%Hcc&@vlvEs&Wo>MKuJguL-Xy6$(TR)Fr^E}X`1MfE6^pN-2FGMKP z5x%5LwOH#I+5-JJt7#wF@*N+3l1{WMXL5Fjp}bKng}=e!A4VOJAY@wyG#gwH(y7{$ zYTRY048Pny(fZV9|%=PEHIF3JPlZ#&)T7?D*+8~GFj%Fdn?=}!@7Ae?a-UMS#_X3T|J zJ7-JiIr6{BDzb~rNMCHZzA;mf4I&4d`&%Ng% zxxlt&4Q8B&RnItGG&I_?AZpL7+H4K>j|=AJ#?-&m>Yvb zZWDQ?XB5tF@UgKaiJ~n@j$w6*!^jao$v=<(i9NJuJy#mblGte-fV|$^mN@HhH^kaj zVS2)0mMJ+p50b%oZIHVj%rAd9um2qJ``fGj^H&*sef{Tin0W>0#7Zb!<$>R&Jn#wR z+nZ0b`oQd9^r{d1KJ|ggWX+0vb1HS$D1P@*Jg)*BS!(H31^OMTKof8AWi_@AY&>6u zpx>tu^jFXFB}&j7$XAhIKAP7abyMJ8CI!th5w0k|OO!9vf;K)yZl}?{0dNj-plxeG z_rDMBR!L5|1>VDs)~RwLovKjtTGz|iuN8u4U+2s!CS1>}8Hm^BmHg%Nr>8&k|8jSD zVvnnXVqKEj=N-;0qG^K@N;G-ek?>Sq>xP}2g+-juS|DdFe1BtGCvP|homP&vosM~l zNoEKcCx4no10|r5kkqj98Lz3=zTqeU7jyXj|LX4k=6Ob&Dn`e03}`)@*hL*ZLi}uV zhK9QxIG9P{XOE9V=#xAxI>|Hjq2MN1?{0r)x!t-XVD#oTcOhxL$kI9ZnDB0yF2Fqe zGFv)*TT%K>TRqR*;fA(~7cXiGpM-3d*f@HpaXk#}DJFM-nZ3r+dcRhr_gnu(Z57dm zjp)(`z*qFDPrU(YsoFFWpRAyzqJ=`?ma5F~h=@*-dOOy4V{1h;o3s0B8+VW%ZZix( z8EM9I9L_`V(~LzJ1og?(L>3X*>1>p%xyCr*yJXuXV?9u2H+lJ5ASFmCU*M{s%Ppa5 zU7WQ*CWb5u4{C#3XWJ^3ocI$6y71%Idpo0lVrx_w?cUCrp6`D+RQfX zQxe4MV#wLvYgmrTDw6XP;4XPl*|D_M7-YBq^zi&U>#4w-xe%`oQQU>%jxtbicR`RUVjgx1GxjC~3TZzz!fB?d zMC>24_Fm!z>W_yR-UyJZtNFbXA@FPGcq+P;$Yjv=eamMe0syc2J z*LOGkj>6>N*uJSPC7AL8jyS$J;z%YT)NnHF5mG+%Wblc92U+O#CBiNCN8#ZW0IW)$@WDw1VhLItDLih zIaT5Yf3ZD1@EpJ6mAF?M!F@{Qtjk7FyjMJ3pADywIwJL1ySc`<7WLoI32OY>qTXOn zTMH$r%>3G3c2y2%PhLaj_4ykQw(5d~yj0pbTzNc)`#{l!tb+TkMEi&*k&Sr&SZ@~4 zyrPs#yjvmtQl~CB;}?-HP+7q1)MVz)a5S6P7@&yeCtD@$8Hl~%+v(OUG&0MZq z!BT^Mn(-MK?TKVWo=CpFwOg+WV<8^yVc0f$DTDC#bSxGVE7XpXI)F5|1W9Zt{K_PL zeJw4$VjQz|S57f=yDQ&VQ0C4-9(HZ18DEqm;4+))s&Wui*>zSpRoPjTuk}{*ZZngy z`|KB4CNI6D)C0eIkpeqdBLLdejGl1-YVieDqK}%#?}7nnTKTZ~OZ8Q3W@ngx-sBPu zFy6lN5$dSe{0%Rq`}|D-ZUl(OSlb(&Qn;5OuKN~bt0aCxoLy(BGC~&2y!$N0rT880ki%AQ(wD$G- zaavkCxcl)acj@(i!6ozY`jB)paP4(_uvNk;JkPc%pO zVB>e3b>!;($(lg3R~pgqKsS~hy3=`~>39G4M!-&}H%QYRC5*JOh90Su?|5;Z>lCpj z(%h4+RWPibM*HYJC%ep8#i;}fbL+F!@JRO-1a+jL9={9Z_BSB~Pf)YBI94SkG13Tq z+FeG|)#m7N@u4%9_VKAM?wH_Wt96efJID!slN+p|0sC~gpY6c3R%JRUXt_;-(sHzS#x5At3npu>v=hzB;|O+@=Rn# z?arj#SHpT1>8#k!tHml*U9@VE{g*MK&Z`!y7@;<}yWJV@_{0lOk|DWsn-LbC_m5n4 zHi&>~wmj1f|I(1VXc90XH%(@^w*m@jQl#R(^Z10kZ{sXEBAyVt&=75;qq z$dX7^w2qa(Xv|eiXJbStwpI0VZas40EY?2o z4ALfFB|v=PcC&5qvG`!VNFnWE)|rkp?QHyxBYpNPtcLWDho5HAj{VN zsB*Pu@U-ECU+hpXQ>Oi95;a|=j9DG$|J>jIbiBJe%*@Z+aD2_0U^OX9V`u($tOu8I ze4VXo&esUGN$^0$r^Z2U5*_4fqrw(x{59aapZ1*QVBat}R#w3`dhOKZY?hg!jkm$5 zUrxPD96?t&1<{{LUc7)VGP_erZ;{QPo*#Dr@H+Cr-njUQUCIXWE#(|7T^2}-((2Cw zv3_z5W<{5qVXMW+Z@cH?+*-sa%NyO5lPLmgue+d^>BIW64=11YuK~3fu^OM9CSRLa zPp3cSJ09av*L<3PHsXIi-2e3ShYyFR@wYwv$|)j+z`NDbDs^!XWJj8@rc7NP9RR@U zoNC1!{D$ksghe)AS-UVFVIHhjhCiCKxzj1|BemA4SM1wTB#AfsFy*YnwH9iplrf2G zTyL_ThfGP_3D?`3V$FNqS(8|#Y2J$OVxL8kKCEfh5VH<=ZB7$S@h*&R!bCOs$`$!} zMDr-KiTjH3yGHrux8gLtyLoy#axfdC410*(oT}uUkX3ersnWmDaL%q-x>MneYx>iY zlvX53xw_)j*EoMVvMpBjmaV&+DEkPt)=fT=GUZWQ#JxeoOmW+=u@oJAg}Q)W7wOw0 zyWBK0I`7wbe(&-8Va8=AJN~+>9m~NZm3AB9{x^bo!>w3`hh&!4KC&X|qo7yj9=)J^ zf4txIf5NXU(uG+fLE1T_2IG*{IBl37jNvA`pC zk`B{;_IR@a5YVnN?@*7CfChbv}|5mG4=)Dp(|$fPc%Eoq_@ktQ_;j_0G7zz zko!gfz+?c61dX->_~G$*{K%!~|TCFg@IJvkiWSc!l&`LRyX^uW|YvfjSK?rj;=F#%lhJrFlG|Gdd#H z?(H`=jc2fCNw-(5zYVPU#lO+Kn`~Qw-6lwZy{#t|a}XH2 z(>Bn!?o1|^3+1z5CA>+0G_wyjD##{SQ6iPsD z#E(N2cELv2D9^LCn&F%>M4xYCofWR^dS?ANF+6aVZ6vw#<+A|mO(xPMYx4@-s@VGB zo(d+KWu(}(bvSEY*CeZgZG_kUhF%C8(L(s_CuUWU?--PG!K8_uPOMO1o!R|bdA+Tu@H8DHJ!={K$#hEXpOto7+?FWp5|DBK~}v7 zJWaB^Xfkcq_Ky6Lr*9tSv{k+4rdii$es9rycq)kQ9)D){4n=tuJrEC_(h8AKZ8p64 zIjJS@l5le|T9`|8u2SnXuM@T>fbUpo#Vf$yEWo$rK`xEaobI*lvolNjXgUrB4>_^7 zN0cd9+=j+0DpkiQ(7mRQ!^iLVm@?E>Nb5lU+eL62WrA#3>@*~o+OE7*#Ery?$M_-( zL|WOyiljY4T@G#%+`Hog8{fvU8)JF{k-88(RBE@CAGEP>CfDSFOTu@FwCc4HiC(+4 zt-D|2J@`x&%=t$<=EUROOy|Zg*y;K=fWlIE$qZ6&9rDmR}cmL+6}d%Q8zA=3V!wZP(&gC+3}JP{_l5ZV{x|m7cEt$0jdIhyJsL!luQ^E#T5H&BjBddrOae5u7Rl6tdy&a=+T?t0 z0C@NJ{oUQ}!=6(jFsitQ2;y1!n3myt3RH7VP2iixYq&OFT~nRLYa(sFZIp8h)@&I* zTwzG$+WIg=s_+KJuEWQtv{MCsOhw;PNwD26jGvw#kNpGP|7CLRb^pY%4|8*jX02Jq zv0Yo-i^e-rHYUS!(@5XVMbX`yb{oO{$ltVU75Ed3=DTbIqOaNBaE780hBjDK@#SHN zHLaGbMQXVwZi4U+Ki@oZo^dAdmT@f+`y5_8@81M)5|Q$$#ioWu3+S>-RCU!FLo0@F z;cd_91L>fHVfAEaptbD+G#6`cHI2Y7PKQK2%t^4r_Nq~2D+%6C$Cce(&k&zs|LT-f z;zGNHxa*8YL^qjHs42#8Amq6=`zkuyc2 zI0``ot;#gL%Pij|N0Zx3#HJzW$B+BR{(myJ=I9Y;rKJ)LxeHy)8JU?hTP>%H*f{7k zlr!ly6fI5{HlEhmE#C$0R#cl1lm1aaKi;wCVV;+|Z}|cC4S86?4=~_BlQ6>|*Y>-U zrIZNZTDyB?cxO4Kj+K^b#B&$D2YRkXG!J^&76-Z3F(0ckye6Y7GD$r~r0st`^ZyIP zL+WN1SE@Wn?fScM!jn3;2yNJPIcEje-$B({ek18f;nGrB*ZMJ&^ltes$lAXC@mV{p zOL=yG^Spcd{NtSFvQ5sh9e1Np3tcW`-UVK5t8vq28_5G7CAbkFr)OToGVJS*O}HrM z(6db9%&QVL`6%Nd$=eZEp{#|`Aq$20i68^y_Ik8_ViJqG?QLwQzTiEuka)O_R(!|Z zNbtJT(IX;MZMc2L??Q~DrN(gcDNh^vdXb^;Hq7y_oRn9csZ2ScQjW}(?Dy_2m1&?{qHbkyuPxMOL53Z3G8K5_VJw}DE zJI5c|^JtGzAYoLmT}~oK!*{{PWE-u}uQU7w&}(lLFK0v-awd0u;4dNs+}FKHum!D4 zrg7qii&tr1tM^WEU%m?_ZriLvze1jU*Nw>>N69oeO0kP(p@-dgJk{$=mhL&@m0YHW z>En07=46|L&o6+_u}rO-S)R0c4hty+Yg-tQOY~|Q2i!Lfx3umv>$^|CfFFzW5BkO}TR9rJ;6+c-C&%4* zXSz}MxpQtA?pn;s!y{Om>n3TMwBriGgPkoM@kVqWrc>Tzi}o->U`vssK+rJTKFVL_ zU2mbG;uRZ3Tf>in=#wA`XKmwv<{1x0Dc*6XB?4|uP>YP)@E6;7lJ0Qo5P|$nJMLJK z|WzuQoXs z_`2hsVKEIpkutFzYb^3KGxQb#Pcf2}S;j92Mm{dldIb?L)!AC8d_~MT5e}tTlfZJLgFoHyTaw~SAz&UCse%QV z$68t3MoZVu-ct%Uxc!c?bf;Cm zmupFQ`+60>WE6Mfzwcif)GVnf=$Q zaL+JOb7X;T-2p~mkkTZi;(AHs-UAP2x-JtLoDz||78`YjiRyzD9pk4Qmr+U5HYJ$3 zK(4kNE|FBvJYFa(l6mNsB*Y5{h}K$GTcd@vcNyXzHcRiA41TUnU*zNG10+WwNEixw z8%fK5yhvK|FbAL63z3#(UREz$fVaV%QX%hv(-R72+?HC`xqk|1BLUiMIT4*<99k7K z`y@9jZ5`|)hknMG1XtQ;cA`@w4R5GD?V0CArg?cADZ`hD=IKW4GP;Sgb62wk!oueC|ifuMCZi7dCv zXS{XZl4LYPFfvK8w1Z|ud+)UPjspm-K#DwXO@-x zC4Q@C4$&e)^4B}ge`>8gLo$goB$MVk!~3+zyi-|?n{-)2>J{P!)sE(wI1$ez)^6A9 z#PVN0f7*S1c;-!h0uOVO0IVz`meUqG%T@_2eyAadKpd&z?<2MM*#hLJ3FO_MSn6*U zF~(fh77)^CW^8Ayg5PCwQ-!agmy}naJiGq+IeUoXkB`UMU^Y3h#t*GAm<|a!yl=*G z47j}ud6bEROv|LmL{ii?alHSffXv}*c!iV}zDrjZuln3^9!kF5c{~qdmQ>s8SkLTwG^(LKno{G1|r+&QvUfr1~Z5M+;c&!y|o;` zE#ipjMn>@4D=wTfLUBBCV;)00>=}{6p3R#~unWMK)zw*cSU0NYygiP+fGwiy;nIjS zEP!KbyVX-&EfT8R=7{ocK>EVsn!S*37T4aYyu>&JznG;rk9cKGzRN*mXI;Dety5XQ zg!5(PH7^<6e3`MaS6ea~pN3E~FF|ol;_PKOZ^PjoaMnL^Iw!9D2nzf;LPR{RIs04Z z@r$(ZP~!}`_MSHBH^#uJ;;`-sqN$<`RB z*umvtp_Cp4)ww6nZ=zsRX=wkv@jIT<<2FL!qgx_(c@w;3hZXy$+d&mu^FVsoN5ibZ zS|@Hyam5r;^V>nsl!WsbHmb|MGk7`DsUbBulM%Lt&| zanV^@4>L`LFnk#gChKs@{+Y-0gf#BC<)R}adi;)q9qR0j8!+j#Y~!1CMur=RrfaX-=)u*0XiwGqC^fhbUq@27EDmbfZtDs z`nq+Rp5a=Ny6-#47Hj$i!2r!|=u$q%-uEFpuJ&%>?YdZKu?qmMW5ne_&m{DxlN{W- z!=~Ig%E_Xu9Ba2Z*4RHD=b~FHl`V(1ZA?#Mm!a$E=Gr=&fSWkvT0?5=v^-paYgg0! zrqC|m@n*}`B9`kwU5;jl;NJhb=Sp#%WBFl(OElkEuNOJOQocCqqFb+8U|_u4kZ60? zig2f;ml3+6ZbC780sQ&z99O}H#CBdZ$t-kHWyCDA$yLbSdARYSX({j&g?7IcdEe@7 z68Hf>8YYMkS&9x807}NNE)0~|*pJG}x6?KVXA+1!M z&7It-%ywO^QHs$H@vCP>Db5F+I@*v2g@LXqs1wdnQkJ>eplwBz`K%rK`j=gEG<)l$ z5r<4}&0zvO{SM?gmc?)4b8Rj^`6fn@Hhb9SRC>CtEEU;o6|MvCoJWUs8t@JatT2a% zI$7K~j~u2%oQPEG%}imfB?D4h?^V}@yMLPF|L&ouu@D>`afS|2aPip z@|jG|G)EhM0grJV>k;4DnExN%FfFqDl;%o1Si8VVyU+|_#9e)LF&%=yQ`56i`!rh- zL9Nv`UdMl&^GQ=)vBR^LNrQ8XlxYKNTnhx~>RHHGre*xxr#{=B?tQFerjoYF;14&C z&qFldJ|B+vlR?@XCn+b(i#|8HZ`JjGYmjEFna+pBw!rVSuCm5#jtiCPvqt`O0^~&^ zlV{tsmE!yU`DYI1%v-RuR78i$c$o~Ig2QXHx_6qMY#3u&*GP+Wjn0@-TLgEH_62;y z6nIh5Cf_i|B_`#4Y=@X}+cZlXU*el>`XbwkF0w;iKCU%sxxM@RVgF(G$N%IX@Q|(G zPtw)KLWU9vpGPd6LS zwB(iE=4kUPkl9I!VP%lohd!p{{5PZQv&y(-1Fi9nk5T9;ibUvYn-R)W|KFJzqc~$k zZVi3(XJ9zm*11XwCoFjCUJpOVt&6#dBQEmfs98~K$MIkK|ME=1oxEcGSDH_=O-oeV z{nKo%V2fP~o)nBdoU?WPLo>b2UPL6Vf3vON=5lv*ESIz?=&xOl$lik~#S$*Ckg4P? z=&)*aj+2e8sKcsnxc}L3|M9TD`_SY4v>X4B8^T{_qe}hhhx$5w6oSyD-N{8Wq2vdqaG&CyM2Q8Ey^OqQ7KqTbN2+P!9hK^_>3h6UZ)0OZpDSLqXaR2N6@rgU3wyfK9L;j+(_T`TC z60jRs8{Bn=th8Z_NrWY>)H%BUOm~jclU#ziu(x?HamzN%S8U%Qwsqw0KHq;l-hJ3} zDchzQ?YXAnvx|0-GTT^>+oL&0m0$*Efd$$LFNm!0^chujtwQ^&sNNm9lW7}0&*fz_ zzLBXmgSf-}X&tFjWi0NnMDLn|XxFS)H{Y26FHk@3pB{EM54%B}j9WTu8`%(N42i=s zH@fZ&K}EKr`X!8Vc20h6YVlggKVR~ z7m+0QW(Cv5OrTHh#_#yqw2j+zUt^&EdT-s3U1a+vEH(WoQCf`7Xe_CXKI& z_k3`h7!rH6(Wu+{)@+H$*2V~It80ghY0b5*(0{7uxoZM_dvkxgznk&evV*9g>`>l> zWhSR4IoyrD-cn818*q*8={DSp+VH%#dj|pcjL%lKd}uc^x$102430Ut1Ab8JNw^KZ z-Awfb#k1i~6hTE5EQR6GImPQ?Z6jIY!)FQS~evgj-OaToFYBfF4`K@hR`{P&C(RRN=hqu*L^m$nwSl^0+OQH zEaP{9K4E>Aw$=c3q^3R}N6c@3dOUt+nQOUlXa!fi{d)<_%^R@y?YGK!`+erRG+mJ3 z$J+JJ&q+5$vL^8xO;A4^ejTp0d9E5SRoJ@w3#w>-3-CP6lbmySm=?*L9z~R; zdMvjh!kSCoG4m?IjfJP~RD?L@4COe&_$Jbo%L%3{mY$7|-|=;)skf(V!pt6NhhzjY zSE-AA@xBP<)THuWprQ-p!Jj}|mNsv(BJ&o%(NKIunS(jl@`EertDS|G+3f+E%D9dF zneEY7j0x5s#Y&7S#-iw0JNa!c2!0!mwRap<#g-pJ{9X1zA=hBdcRA*A9E~!_$xfTJYJs$Ae4-_NRjPT5 zs{viwsox9U|KL)$4%&xy$Xx$tF4I|_sJwDV-lZCdV%Rh3(Q<=*shz(4Sx|}S?$>tCB<~vK^=87 znOhqK7XhkPIGPxRxHOihwUWl~f{TESI<8WNABzea=VRViNS57J8#<2zJ;c10GXYNdf5)^ zit>9x`Dy>@uzUKQqaqAcVL??k9Opv18tv4blErB#iliHP!QH*r^g642$I%WO-RJIq znQ5_&@4HnlbGOPe+Xdy3*=Tc=;s#d&c$5;z&82n`uE1@oS$`+F_$;9yL{*d3)(q`A z3u_yEWJfA3#T*?RB6HY|><}~_*$weKJg`GO0-07GMzr%V8{KHWKD$57RCu+8A)&L^ zdkt<`ALb6?j<&D&T*56Oa&2WgzTJX-rls8!$M1MTw;KgHg*-33V08AZ@Iq4~OKG!= zgiZT9cHC0R< zOk%8SExprTL^5Cr8)(Kd(cwDzjH{%4iA3l(mnZXTa^A3xvUJ|B+vyYVMrww5!tFQwQ=o#vtqSANbS{W#O6 z75RHG++8hdHXVCqJmAkH#5xJJpZ6FSdfr`G;h{GL)U3t@IPS-SfSR~x(Gb>dv@rc6KZ5Naah9;i zz+5~V-k#odC|-JK8BguSO~#A(`b6`jj3~J%(9UlI^5OpW?(>H}r2qKmnde-Ga;=FD zWKx%`$;%L&e8ih{O_~#Eg$wR1>%zMY!>NLsy%e>$EsCY;B4f+ZT#37+nn+P=^LKjyn?u{E#2y{A z3}%Kq{jh-i%5bQk@DpxBo&;)Kn#0n9-|!q&8+nRq6XOWA)mM!FX&4U%>!<%T zSBiOK_$f-W*UE93TTrDVe#7rc^0~x6Cen~c5#~O;577C7%!J57-V!F)-XOx{%?S6n z+$DKBgfF&fp8*Nf`F#M*7i1>z7r$4a-!srRzwPe!Pfx=_yHwxot}C;pcZ^jTd~%UZU!K<_&x2WeC@ zgEQR2GuBLjagKtM6t$+KeEcp@aah|m<}1{{IJZ6=S5ls6>%FYyrzteRsk70Ps!* z>LZe&97UmQHbeQR$NkMSKPoHAlW1i@>XI3e>j4!fR?;kV7QLQDj=T z!T4_fZ=8Sjc#DG5z?HFKiJ>>V%OX9VEUv9XI|yizgMi+SNA{|BdbR0b3ozb)m6qTL zowFL*U^W2{+2i_$^sP3WwQ0d(kzVncA?%tFec75LD5qq^;AoZ+HC46@48Z`W)3=4o z?c6BEghpQVcy49D3)$%KeE4<0`+WcLc=usHv$W=&Lz<%1R%c|}(PWKgfi$^QO9Pv7!+(Jf!D3x$=@KRiC}Ki=(s>jR(bxE(tiZPw||*dT++6tp+6kiR*HwXcC?$!_+4<7 zyji=poIB%TF>+qo$dFCY%-#AD5pJ~1P1?h`f3%-;b zg5XX*AZn=X!rc`@E-1NBn_`Z^jkjsq&=2_dUBFeTMFLh1?h7ajAtv@zfI%F(#&09; zlU~Z`4?p5u+I2atEs0to{`U`DW3ICk5lurVYo9l6IfVy(wN&_Yz=_{)(&w9!>rG;ZhcUu+BTgZ%{Ew$i{6C8w4%yFymgAjVBon%XGuQp5D z|94!4U4}R-hjvB$+d%y0p@2O@W$?xrS%4?MjBvF!#fc8p#iDwyqHYAjZOOu{d=^Ys zwmb9dTdoVFtAnxvU-j4};}8|J=5{QbB5eSc;pD;uw+5q4;IzmDPS^TctM^=A7A6ed zIa*%5x*>b#yS`&v#1GB{kISj#S^>Tw?G-#a)vhLzo#tptG)LPopP#{g*&vO5%ddkp z4(-hbX#=NacYl1|?Kx_Taf(0aY|5bN5EnVt))G3gA(czDgZJN#c8_u*^Qf~?&$o=uT$a4d)p+(USHT1^ z$wuKOcUb2i)lBSSzsRDUeYMNo~Xs@kI!YI8IHnv__T{iDYd}K`k*p zCwgZ_+bcoWrAj@rK-Z-L{$|@cG^ZOsSh3X6O5;wXG@fdauZIIKs!aVZcZY`t-i7nvy zZl8w*hhOs6$9BTPT-USg6DLV@0a!~guDkg<-gEJ6T~3a>^R$h+Ja;KVhTP3QyZ^tB zcVJf0vhvR3!_rXSo}5lbl*CA25T4o!@B7EY{ZEq^-sf9RYs2Pj*z;a`nAX4CW{KVQ zP@I>aJMb8g-fiPTNr5IE1{vqDOrW<$oOOKi>?p169FY@r4%og53K93|)QJl53{TTc zEfqdZPNU=`%xxdt?6a*+`60#~xU~;%kvWSQ4CP>~Nm;A}S7@g8<2p^rB^8>h$GK}` zeKXiLvU|=XIu}q~bbgVQh%K_H;E1IbAswIY0B3PmTZByyw~-LiQe6eC5B3~INtcTX zSRrc(U7ghbLy*8JoZ&9J7PXo}TH*s!lV{e$_%8)ycD?DiH@fBZV@6=!y6u9YrKY5C z=}pJ4D17Uc*+$XJ+O=g?;EtY^^$2UDmk8k?k;WoT7&Uz5L%S%8Je0T7)A@5x&wb#t=kT4KqqzV}&iV`l(g;)}5ftrtTDF)ZwgDL^fT` zCANWSq-W~T<3tn}7jI~b%cRA(n}`;O|8hwUHY0sU$F=WL42b4%!xFtO=0d>d-?Y6d ze%-ZP77yD>YYd7De_{utPDkEJw>cp5HZKy?s`TUFfUH(090z0$ey}4w6OE#gsNPTn zZ+x^r-rQag+fjK|P2ACx1(Q0LpxH@NTEkiwaYb=bhS)?nna6qqIf3qE2VS+V@p_<_ z0`2a35L*}`U32+d+r*AgS~7^)K@HeTKSAyC~qfPTNHGT z_xoM{7dkr)&q2Z?&Rw(?smwXV1Kvw%xcTUuemiUc+`bO0LA9!V;H=W@EsMvLM* z^?%2KyFT5h*oJq!oJOIN)YOdhMe6=?xKqQbQRda?Y63)A5wC)G5A%fg&yRbqa?`e` zN}=sokGOu3qk7vVXJ6~X@!dERz?WTg<84HZx2=VcSA=^&c?A69@iVWfk}aFh=?KrA zQwHHAwe`?c!VUb2a}1Hsah@s7NwOkN5}D7}0eqOW@TuJMWW&~keE6>|a4IlN)Rf1) zoyb!GoO!maX!U08*q2v(CW{Blx+}N9jyfPd5^b@f~OWXkUSo^5q4H!8o$4_;2J=;EA;meNjH*2{|`ksktADjf| zV4)Q!m%t4^DW@r=IL-|_MwuJqc7yVl1U?tjiY>~TF>Q(x_yRF4AuJ^7v39tjS1pG* zVQnQf_}Sg>x-mTib5N|!@y8dl9z&fP4_i|dY_agN);ChS>XHhh7XDBc>)R!zcHO^A$1JPx~E4z*J_n}_7 z-F|aO*cZTT6x&R<$VfWHB~Zr4CFHaOo{rVxz!Sofv!2?GYTak~>F^sn0%e=$Rt)zY zuLp8*9NVV96&s@vi2y@@PQS>Dur*j~{2%!6#*V(=tbr(bsn3|Kl)wf5!_PdA8DO zD~`J4fF8Mt@^?ZA&YP85(?k5c-`}$*wwBG+ElaKx6w)I%VIGEFxE~vNq60t3^lnPD zn$p{e-n_iXGeGkvwJplG8cyApD7)~gtB%4EW%yaHuWBZgMU%~1bb9riegFLX%*@Ms zR@lfin4xyKm|p-qko+*nT5E(Y9X|`sn~a6zzf};h6pr_XgVOg zs;KRir!yVNWqd7OydKIWj4#1C@i?~>MV&VY^RtO_&_z)ne51+PCM;>=$hOLf_iSr6!lDxXGQA7wMYR1_5iXq=w%45~ycR?;4uW zOMskog4?Q^oH>?Z@QkFkOPo(T8xJHANUea_4-bL2j`bqs;vWqm^dGCDbqc7nW z_+ro6?x*S4HUm(8iAOudY;gw%O{$0Ds*?3SVrr^`B*N`>msd}}e7=#FIhR=x{jy{OM`1N*1L{p)CF#S%EG#1 zHzEfBQ)_Ol4EycP{q6p4F1x!JBD*+g^=y5wm6s61DMNL9{MP?k0PqT|iYclyJsM z)0v+SA4d(OqH@QQ$c;-J1GQy=?gr+=0vdOPg6eQt=}3yjN6Fh>Ux=L^cO$9do!XG; z@-^(74zcOG4R$}?D(Fn|$ke^vuWRL!z?qNSkmJ#AW8(@)bOyBDMc*sPOGVEf6j)`s z84VNa7BWv}QhYi2MT>ZH*^+Rb1(Ryyjw#g3cRbYXcI1c}cQ)2%O1gF(uf1BJr0eVW zXe{o#T082Dv5rq_KUCT+)uecaz39!B6Fj_kH=2zHJk>1dUY;kZ;GR}G9S zuM)7It*zB*r;9ZFjHQ3-$O3-+E_mhBX0U%a{CWxKdX%h{ScL_PbZpJFdLN$xTR75T zM&swER*{_8@)_6C+fMEF1?~&@GfwwW#&IdyYjy9!0-z5AIc?y{jH5l`bi&yb!PZbs z#Mts3KR|W0ZOvBi`W!RXMc#a*-NZpAkjzL!;|#5Vu2bg~qNU3KA06&LGhDw-7CM<2&uUCk(NqsE8uaJKike9-J zjy2T>Is1%X5&tF-FYEL_O?G4~d5V=~ZmK>8gVb!zN!<6K%Dmw<)8B6%=IS)B6q~|Z z*K2;bZ9o?2O~>aTQE;`6R3p$nz@?hEw4VO>T@chYLvuaA_YY4m&DgI04{SeXlVH0t zFrHIdw9w6u4pG{6t){Yqk9jUf2(v?rR ztSc$`Ssa*AvIO~Td(rAVZEJ5dq0QFiag>A-Wc6Sa@^ZInQ9j~jnhB(Um^S#ynp2U? z>f?8T<56w0wE^fe4#7Il|1pADOiVlI_ zpfGoeAul5$=5Q_0KoZ@fhmTr}&vc-d?>N^vZKo&o8gZ829&=!&q}q_%ywGt&iul2r zPKMf*CJXD!m_ _+60Q>jbnu=)4oDwK}kuYt5?NDUF;oa86)h* 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 z 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%0D!7*9SOr&7rY0wmcm?^m zJIyE++O38Ol~LUA#09Sj`tsWm&x6iumgL0lN04XT`Y_K*yRk)~S%TGc3eA#M@@5Kq zR@HRNuf5$r?C-WeZr>08;NRZuKYV=}j}5%0AR$GTJLA(V3<{s47n9`L(>kJZ;w5J= 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

      HP}O29I_>W|88{fhKpb2f`O*6lndfz z?eu-;0#O&!M~(KuB^T^G7yQfh{eyJvW0B+#0~>bN*<=#{LTcXnRmRJ>M-JN!kfs~h zrAN+B$NsRd4FLV zy;`Qx`ys&}KHXgZ?bGq*_^`Y!NE%Pni}dm5W4TA^@v@WPM0>Q0vXOiMc9;e3uCDL@e*JJf{QiF* z?vHOp+DR!IliZjbVvr)3Lje}DgF%91^k=@G(CUZd-(e_AckM$AYH=$+QWY(Mc>H+MTL!i?8s%i z3b-u8^i$6X(cmuWwLshr9Ank-NN8r^SfzKG@XS0E28lvcm za#;es&Lt3g78a?9E@`aOFK6Kuo(1_NI3s%IwN65?E+dab<0wSk(2#p3aH*0Ni3oe# z8vHYJ7=(imj94wSMu#b82W$~+n~e}+f>kRL*EKj?)3U~Woz8+v)sjmMo1cbr<;SNf@S93XYP2-vbG`q*y!P5~C*G-or z@Esq4>xaYDVWWhei~}*(A*oUu*mfY za~Ee}Yz*%1Z~rg#f0ey;i})(=1w!nS8K*m6T_Ct%3qCL8#zX|K4?H_I_L{MA+N09l zkAD)4P@+gqY}5m>GgK_FJZ!TQaViRjDS(#+wR_E63uvB!THt6OQ9oV%1s^PHMJPeD z9!x%Z-~niJQ8e@6dLBF7eB4!=&HrAL|MMP4gX8l*oPkBSVKV=-Hdq%Qob7JEY=foP z3|!iPSI`DLKLMf>lC{!)kmn+R~!oEJx&6iM_)3$xJ3W^j{dL| zT9^lB6~5djw+0are*U?_4~~D~!e2DFfPKIHee^{KbP+Y$1eBYQk;pgAZW2yG=dM5Q zbW?-UXV|C;65w`;47vUL@&4f`LxxETK0o&RdRGgF6OUOXBKXSJH+3%eG=2v4>#?hl zFUx1zD;mzH2b6xo**vg!yR8;I?M+^^XAuSXm1BVZ1^q*;5$74cf$cN3)NnZ z8ZhXEDDwF%?vW_+bob>^Zwmgx4f)QvA>*wdl?B9SKZxEFO&hc55bue`y$^~V4;Op5 z=Bqh=bL=(aearX`Y<}%O$6kK%#RbnL_OCMb&r-gK?uZW0`2*&+AP;^U`5zqxc)-tM zeig|7^?YZ@>~h5a`3y)Cek!8sY+GI45po8aR%AG?gS9Y(G2f0I^Eu6&FYQulYzY72 zW|zc@zm@$HFzRWR`xgV#|LJQlt#&AgX#b|_I3_aM4F30k>)GROXT0@p5znEh_b+&k z9pgDZ-}xY}bF;L}Yd-bC`&G)l@5Oa=kJa9I@%`8Nm0z~G;%mS2n;+%ZUga@zdF}WA z+J{B?C(^jbU8ee<%ZHs$^^GUEIWY7kS{1 z{crt2kqF2KY5v!21&I={@^6j(gH9xtdl}$K0BbR#aTwt?{+lNR<~+#DAI(I_rdaG6 z%O9(v_pu8=T<(EA2u^bnYRK>|GQ&@OZ!rA#udZ(flWFlB1atA0csc^#jbQZI3Fu!2 z$#2?e<^-48aIdxDZ*M={ygR;ost6XB!G$mIaM_5-jOe^p6%iT|sJ|50oP#Km9> z_HW`kouP*7$)f)8DbadcN!3=Ejb_#9~Y+AHxB>n zkbP%^rmrpqa2PPR@Q2g?Y6x&H{cnEx|7rM#7X_cJ$nkEfGx$_Otz2p8Fx@9iMmoC?D0n|Gha zAN><834NL*Nj+bh!`I0YVNSy0K?qWfc9eVOIPZUJTc3{FyVPS`F_}{FO-v5;Pzi2@}}VgS2)HuXx}2Y!gfyu6>)PO);(m z%wj{51{*?tk5xkdx5vL8Zw?RrukiMika!SUON7$58EZ@qz7t{4J&uoWZXbt# zTTtt6UX_{(mpTvNZ-olK zd^ruT@-(=`(xLdvarnnM4sZUjglc!?B6#!Zl+d`q7hWNJK{^Tt z3G_-{+*hBn1e&ws?*YKL%eX&X_k|Xaf+Hh!0zzx$gn4R#%orp4>;JyPhmF+r090|*b}ntTg4dXXLJ zMa@i)cF9vb-F&|Y5mXiWl&nYGbK2eBDpMX<{ejsE6#g4*^13G0ecXBD;`vFM&TU zv45Sh|NZ|FV=k&$USj@QW8PnO*)30V)h$_CV-&2~{PS+g@H_9=HqdF>z_iC5;PuTf z$NPulVd2_eQvG*$?LWtU>H24B|9iRqulM>tEAtO;Za>|;JH8wK&F%ZcA`&P@jauDB z?7W?&b}K+{(GU1mhd^Y7O3%Z^Q~Nb~YJVO9!0&>WYQ@XD@JinW z=0Geu;z(ri%d_zMo`v%>AifH?a>(UX*!Qb2)di9-V#GH>u1o#D0HAm?@QJ*|MPs;G z0lXnz5jbSSZX@5{eUT?XD#&pE^7|F|pdI0Zq8je01dSFp_(g*n+ja0oWspnozsunN z{{JkogR;uvY#mjga8jiN$Aetx72`n`F6=aL;j~Az;C%64zzd{sQHFXt0N;%=)aUri z>wyal=!^J&KQN%N;}h$Bjhoe_-rs$_e`@s?%6*jp)TQFvcg1&#{X(^WiT!sN`)8Pd zrK;ac72l=mf4x=zbpKyc^ovK}QuM#hqW>xUa?P(20=m@v`>*+rzg&G7{`r192TM!7 zqHznjYngT5;gQ@IFFPUKHnc!JN@N^W!lpxZ@FDc;_r-X;Y)!}|7h)PGmiKBs*LhLO2 z@U^3XRTRNt-G~)ULi`?E!c*9n;eX^b1)=RP?go<3oKytd53r%vM7~B3?IQm_MgHN_ z8`)wK-vsmxA$jD|Q)3n2y9mz%9or4Uia~+*6x2z>?lJBE{rKU-;ob55_093!&GA8! zgSU~SLy#Lpp_B;G32jRTX6pi61F{mq1it{DEd#x#4lH||3Y?C?@(YlXW-92Diz^%g zm?*{pf8nhFyA;su1nLR(E}noo11vlR-WiD*)_Mw}^By<=ZT+wk!vIDBD*^5tIJgJM z>}!x!uR+?QdEnRtyq~}J-N0K}L{NkWv^s(0JRzx|c@oG3i%Z6{mI1KUuxFP9Ub7|0 zdxV02c@VB|Br3pY+5u}x_UT{^qo|8b%s0scV)&(k;1d2<82--}|Aj*#o4m9t;57td zXF~|Uc({odF+O;_L*zW?@qJO89jrM(Gp%e<-Z^H~el)D)*>LJ>33JZx$}UGX*!Mvt7H5pN#85PqU?{2V2-A}4_-|w*v z>~DS_{3U>?xhM>Oj=qX%w#S<9SqpIe`0Jtn|MN5!lGe!1dJW?&YRyaY*?3|I*&ybxd?1JXPO z9HwORLf~mCH1Lo=EdtDfLVEZz9C{VQq5I=Q|KEN4czkzwyp?^ba70lUEBUX66J1QI zzCrAl2E@hSAk%>`lH3Y8AarH|AFKf}gcpW&@aB=AZfU&7)}THJqBC&__(AC7hnP>a z_k=|O9jGtoOA7+)L@AQyf?$pO ze~JG8bo7^kPa+AumH4Ccv`+X{(&Vfp2|N|7r@J$RSaSsGy~SQ0fG^(vAdLi!N})dI zkm#!mfG4H<6_l#sGGIj@d0m(8*i&8W#21%q5YrMji&{2TvK^`;=cZPv& z3xWzZxJ%G*eGrO>9~Fl~O)8O#kW^u#FzDX{KcbjG)CiXka1_~^jPsfVzl(!#{CM~H z>-(EUr9z`~D7O}Q6IR?9bK?Ox`l~euTsg4$V=#vPxiHnTT(wo%7n(#KAQ7~ktl*-6 zlbyh6<}7l|YLH_!s(nu>U}-u)HcE@)=8Sj^#0Wki=7t0KdWfA1k!CK$!ASR(0Z#uQ z>C=fbf{Trn>Lu7m2KamqFkvc( z_60zBahK44$Dx-X5{{aqjWMevx<5_qhkE3yV=^dc$pKX>W>Jp8W2 zb%2N!Z>@xECWJuN*a*1^ce+CG@oUdQ1V{rB*yXkV9Q-Bvm?O<5zy*(N0@`z*0c!%M z{u-h`&3)iQuqJ0@k7J*w+`qUHNLfM%T=0TY=y!=1{NnzLtifnB9+oa!gJ6W(V8QPN z9I{8f+5T^DukQQ*pVwE5b_C9geP2sikX(egBkh9#zXEmoo{%B1X<1}5K~$jwYO9R> zoq`1)0_QcZWznVrFbCQMQq^9NWstzg;T6FFbza%uDOj)}a9%U`y_|wqb_(vUuJ0vJ zQ!AR1Gy;&R*XD`vqo6-`N z%nB%>sN4#(o@F@0ctw*UrcKy``*+cQ0%TE+^o7JprGqfc{r`c)b5K0Y?{Fgcvm9 z)EA}tc3rWHs_=L0VGtQ5;x6H`S$xf##m}c<0bXLQ3SLr1ruf%qgOC;3pw@s>9)h~L zn^mec8KLY^ocMWxaQlC$KMCSNQ27{M4#KND2=;Oi{!tIYP%sWl#eZ6w8%C9Z$pvq= zTfEsR^1r=A{vRyzzxx7Cu;^wi+SfK&=CPy|s?16+Nil(#tCTbX@E^^)}$NnQJsoE45GbV z(8!kBlEW&nGx#9Xe!|m1fPu($^ycnBQz@jqb_X*E`Qb^VY^h#!`Qm%}`7nGp(`5E6 zh*GwyoZzjoh|5_sCj`wos0Br)yx?G(8e1-SO}S8`T6d8b9v+W(|0D{UJ5idbl>|&N z2p+vjQdQ*ut~P*Q1YWaLC1bto9Psez&BNj9{`iy$M5QvP(kJrKrxj8`|0HCOV^C`m zX=UfIVk+3>0C7kKzgC93SMa{xc%jLe|_`w;kYDIXJfe>fbaMKEFsWc78`<= zU`0u`d_CGIbXH?=RVzejlRpb8@ETA-+9Txf=?us-0i1h(uFboTiaNb}=tjFbmjbaiKf_rNJ=PYa#(3U3omxFq80H8o`T zbPQCoRlCF<{(Qgm5)^TP&?*G1GspsAEwM5VRt66O*r01dUQe!fQ3CvYza&$0iTL*x z@ugxf7?oj7M8wHj{#Dw$P7IHCxnp2qJ>oTW=s2Y4 z_UGW8T?B>)dm#^g4*quo_vk~vhz!4k{(BAmQpP7ydA^nLlZPCK+DYH^zYtve)sOa+ z^zi`?yVHp}qUbKWyr=5ViRJ^M^F;dy#0*UHh3fD7P$AFz9`$%xhgwSi{0RshmE;gU zKs)`1L@S*Dxbj=E0Vq2?0n3a)QDXAK3lrb{J@Uf(pf8ntHihh9ey1x#qYek_zzehLGQ+a=Pe|!6W(PzkNh#VK!`Q~ZbOMO3gctPy(twtx%rM!lA zw8zzgc_;_o-?Q^QuM&OPr4-oh$GiTYACLEo7DGwoakVg;#vt#0^Y$0`>92YE(~J*( z{1aRAB~8soVdp1c!Cokfc&?USc%p(V_#1GZa3X<#OI~i!i<3C(WHOVxRp9-dpMeE) zp=_i&@Nx#ei!<S^`C;iC%juM3bVNS`*LIR>=+mdD;ZB}x)&XrWOPR>+jN5^2v zcv2L9x>ydrUdzERGJ$*qG=<^i2)vdfu;4ZsvXlXc9}cF@dk4XQ+KPbi8^HPxA-s8;QO5pj0a%BQflDnD-J=R zNXUq&aR|Z*QVcE&xIHm$MqgV6&#XVytk~}MF_=!l0{1fqjm%dZ>cOvX3;X^u5iamh z>oO=&!7HweMuWV4p8}B!|sjbSB%INTPp zR)V-HJc}K38t_;RMA^;NzkRqKwct;#^KYc>@dyKMo&(FC141!`jpooQjsbTH-~ll^ zA66Uzh9bCm24GHrI3h9{s$g-!12D1%iY#{NHc*pVoeNq7s;5 z=jXaY7zm^}>BB*QtPUhR<*)7H=E_eq>8r(q_YwX6^4|^PeJT4pLpVop81F#iy*Bs* zFZ}!yyH6&fIMRo?B@EPj=|rLA3hx3 z9p7Ky9N*m>A0(?^pTv5wbtY1v0H8l@^Gq0LEu0l1xAZ&Jr$Am{cm74C47^L-m@iX< zI1r|+Sp&IAWbo@#gGsUAj?b+5JIoAPaU_)Y*cyz5!SRL?}ux77i}xJo_t{3<3M0+1*RjgFe;2zqJT8L zA_LJ12jH?P_*RKvsVBH3f`5QSAPxpEiQxN91fNfV*bye&Ep|`=4hTu0Jr*oBf_<=`Zss?w{MRR51$@>^Y-fQYEdtgL;^Uk4&=L1 z2pA4K)f8BJ?*` zACJpbo0#02nvOAqRX80+v%cdCH@H(Y?SOX2np@tB`(_oZc8yFw`eLj5gN=CFqg4j;YNGV4<^cknjW*O=cESXYC`$cZuW-6-x$`COyE zcDdubz2jo6HE`QYtalgdhfi-F4!>O8ABIO<2zWH2`%WXJm%bYhaSg4VVIPBoYq{zi zcj7uLsZa1aojva^^7&KThfmU5?uzKQKzv_DwhPGvu*x>W!a73=!vz*w@8Ndb)!~{q zsYUaarwv#Zt=Qka=*}z3xXYd2^_{<4zVqY@Nl5C3(GHm|7z;e`!krHh_SvD@DQ^sT zfg^7NtD!l5##J`_w};X)k$-=GeE91NMlxPj)@hpS7_zHuPMyYJDRK-;+=IK8!rIH1)0pb{zzOQu04wUmx==XLXH|^*k2EH%u zUUcKduKjZ3U*C-%s``bX8<{TKy!4?j4c55x-o*kl>3!j7(>B31eX2#5=XDFIR%~$} zNSUj*k4tmeV8y66?|N{MZeH`Qdq)|@Lh|)I%#tKxNwVW-d~`#*nB5E^UmD3ub^K*a z_iDy;^X(QlY?tZ#cM`;mM>BBcX3q}LJe(obZZ-G~ zh>lF?k2k+aWt-?`!`qqJE=7;*(wnIrF4$OS%gqSQ9F_fln9$5U-|ybZG4@{GvJe~P z)ZgoMz;D@&I0G=!tg|^hf~nK*EMKFF_CDJ1KGqMSM1jjvUCy%-LkC>vCa76uPQ|KM z!y+YhpFF2-O`O9nrs~JP{UYD${&wQ*(>~70nXfk@)9{d3gBlpTUYkhHD^m^cu-?UN z6X?fZ@2+otUZ~Du9JiHi;JRsU&Bn>r*Kf^2E}HoYSDSgo#&nclV~XurK=h2qEouXo#rDjNr@j*#Kn?*Lb76nO2apc0=-`)I|6m@j}Mh`fkj zZv$hD55PFJ8TAxg#0`h*+&nelc+?9Ik0_e8nX8rXw!G;}(1`4%B!7WMyf$dW7kfg?)6&Jlu8st_XWATmS9D{$@Guj%+5;RieQ;?u)R9AYFYE z5RrW_@HS=meRF}&4!0NZJl=KsuHYTJw0YzouRbj;R5BUSPQ>!lb)r7e6Hv}ciQaj9 zp;7`%RU=$7#-_}>36I|uVqvv*)whiMxH^3fc9nz%D3~NtTKMr?U&{B-EFu`)#KR;C z3GdqzH?PSsAjT$kN;iIn!|rS4p^c*cgn5(#ANogL+Ne1`@U{=UD**hh9r##Gg5eUL zUAI`m;ctdb_2Xy7eyyG;Y!v##)%(Ze{bA%dER1e)$l@B^@eN&n0E%4&2$xIDII)FY zqPqz1+xlmM@90PcfV3uVIJDzWfRy&54IxX3Kk&;|>%qxg3;x>o^N9>T#IeP5uYUA6 z@|lXSG1N~8ny9JtUH@mgzdY~)jvK|0#g?zJwV^KL0JQpobx=uoGN5{CK27xSooqdD zKUD#$t!ynfxsM|tM&H;Jq*0IOTR-diN8BP>742k@6=Qsx*$yCjqsRr$G;+cC15GZd zcS}1s2ycFU3C%qhC-U4qKLP5G1DS%@N3?5$5u^{629_tiDtu&2qckwO(!gxE*%1$d zTp^GbSNZLvkn#%rm{E!rp92mB0=MUhUQr_!&%<@*A1IPS-V)34{4BgV_P^TkMV$hf z5Je8WYrrr2^1wg>;%zlTpE5ik%4~VyPX!Bb4qTmD=3_8^SAaUUT<|vzfoLmP(%50O zn+3i;?3;yz7|yq;auj31%fn=9E5~U}lrxOAx4~xi49q{khedtiw4oltbP9&8z<=J{ z{{3dTLFj7&FRC3iazOtYKtp2JM(0u{m?BLs)P4T^9N>y()&w4tKRwnuR=2?jcX*2=iQ z`+?x-+kA$+npVbcgp7k=0ehx-Frx*gAKI38|p9}fdf^WE}HC^``W&X0&o=le!-6;nam z{|?|8G1Ya}RQ%x+p>?VE8={5ybMT@wP>QIw(L4eLMU3EdfZ9c9ZuwM7d2T}n2ov@3i&|(@^kPPpN126Z^;G@Bm-SBF*W3{Ep}QO(hz>jQ_*muOHw3 zbvfsUXhf>#mnHjidVm>)9$tL+n@7N=LU7WLY{%~`-0$Ujmo(S@Sp^tPTZ-p>c>wzV z^e@*}A71e4_qCHq0c^hdCMLv1xcTZ^H=@oocqe}E5vT&@Qc z+nt8#3>-e)e0o^!0If+O7U@+;4HS9m5+Q@&c41(s1RO>js4n8CtPl-O9fM&m9j3b}BS**peqS$b39}Zu}-qr^D?c(!&Qwq7(#A79!WhkwN>_qh33< zkf>5VOBKXnz===vNtNkoQ=#4S191H?VSsNZ@Rvv$v&G6p@djBqchzb^pg8)&g0^{WR1<`V!6{{a*VK=-Wno3g{!(?^~P<5^I%* zc@2~_F95lEC%JJsI2l~O=p5wY3Q4Sx!sh~)ItT#PhJYGVEG`sP9IqSW6RslRUEw9d z<{#i)p~-o}%|Po(cnM7`rjn%N(5?(3B_uJlAwkLFGD2tGcXMTc8>!WrG;?K;bY`hr zl18OtAc6xZ8<8m3=o3>{>f2FnfZVgi!1LO{sw38X?z?D)X*5Xk?`**4m@no`Kt&!weG? z5n|RA@dPvwBeBaaBKlH-M(`+9gl-1vj%?Zs8JHnLg@=hv-|<;N+EPW59~?gZ{rauA z9?aQ^-VcrUz?#ldMi2w-LoiSlaV^nW2Xdx~;4Cqh0}C0SzT+GbyRU&kp9>b>f}CRt z5>~vWG-kWL)m%YNr0*DA#$SUJSm1~^5ndb7@Q|~~VETc=d(*kS)Q4Yai}XJb*GMsC zQAXT1&VuWlallzxVUVzRd>34G&77-+wtdWvK zONTD?-QFtGBr+o@6nr6g;}CixHUKXKSr$DqeaH8UWlI&(#$<7+P$1`{xK(gGugp@{ zKko>*wB0b2QN$W`7pV6^(`Jd_I)NfDFEV|{t3|h)@xhEWc-i~leaK#Ng$q2&*yhfR z2=%YWljV{;jxjZn#TQ1K;eeD8dL1nOIMjig--f7ZAveXGOQ%4r7>9c;jg@0t zdn&9`F`8gKjxcr3v8aO-@W-K)+LQ1!OBjEk7$%V4kbBIWg&`L_lP7$E`b==aiIk+~ z9nC=_~`KZFIM@+C>U<|J``9^@pk zu#{>giP-gjUMtO>Ou&1KXzIdkN)jHIt+FmOwCkoHD3U}d8&X-nJQUA>D}eO9bz+Cn zM7GE1SLrbNBcW(GSp%E`Zz?U{U|3ay5zKD#19uc;Ih!KxD8A$)K7S}&4y)vboRY)4 z48tqnTYO#VYZaQ)&>^cdZTyy!Ce>RpG2CB*VR9y#Ebgir^C#P72W>0`7w5nRlTnL}0$9b65*-^D?Y&VZvrqBBxM=^%B;$f+%H7IJX#gV6smvnODbzyLvw z4PR@oGqxtXSsRU`>#~Um&9y;!i+uw+;*rrTz@e8& zl>-_nKyd_0*|rv#Pr%=gSO0muS+F^`gR-GQ=EilQK>X%r0gxjub8l-z!TkK=TvyBE zSFHx6lD4F^e~$a{;c-dAKz{IB3I@pJu#xWje4!As<6e54%*YEEs`LxD1f@OC@DIyU zX4wQ1-K|1H!Y21A*&zj9^Mw!5dpPKQSHR_VXEO{(%V+9CCmmarmJwyMrGEM6129UL z_BH-r54VqheSrz4i%CYEG*rx~>+>xFK59Pl)}@4l(Wv$hny_dNH@F(*k2utc)l~W} z*OdEjc@73MoBQLt@$Xlk9&h`97Nx9A-yBONUTTbk2LfUNn9MCJlR>~7cQCLf8J50g z0?uW0rUg$nI(%}-vF;tWIs(U!*N+eVf9d}I`1bLzKv%FS_ic)_P8LoBL|G9|gD?1| z$dY3%Eofju;ZVfP?~CRiz{er>|C=@}0pFa?!<(1pgwmG=qOV2s6aRbp}v`c9|cFDrl6iq!T1CG6!gE14c~+pR&PSRBZxZj}QuOr-IC z&=i)-)}IHjKq$Mq<2W6N@dt{LklhlbJUE^W=VAE!3z9;KVKg6XE1vPYA)AKP9?&AT zp9XS90Yaq0gVf0uoX2ECEu?#z42(a(lY)&~dZj;JeHzce{C833V9=Y89)-e>gx#Qf zYk@YwHAg}e5}pH`J2RG;;@>AGIR3u)8j~_l1g9V1Gr>q3&|3fWaP^yiyMA~({Qbk@ z;p3ZSn-h+ThXRVJ8Q-6IWje+|HKomIVXaBi>=W_;%y~a4mbvchRMPQ!ih$jTE{dgdd3J0`-g3a?t z-`)QGD0)|t2=!@4nNk4ezfA>m;{xtm#}0o9-tW}vqjQv1N|qZ)*q?>@@Y4@Mq?6C$ zeQvqcQN&bhn}u8K3paSg$J*B8S~S$KEKxa@*bO|&&V${**;2R{ZK)cXBh;-xAsw6v z65+%AdH_4k@)hv^HSLHuF3sm?i%2~y&ufL+EFwk}LTxsT>fpz^-mg!2Jit3V&)d;> zl^sp4y-YWW_fV6INbPZ^)xO<)8(s!vZCN4WQTK3L9+`=AK`rk&X;q$+aRbNs^N251 zYLtT)UB;Uhlg=QeT07*vf57nutlp|lA@^_t<_z0_jh_{0oNvFGdmi$ieprlm94X3Z zy_UL?JY*`{tk;4@UAUfOjxknv%+;jNERtTcW z7xApv*d=EWjBLB`?i*#?<)eO6r%DX=_&A$v&Tq2{9cycR);E5ekAIsYE|y|W+;cT1 z;;9RHl-*b%+HutCK}8w4!doG@Rijp)wws#KS=e@Tb_)0ZUmA-iEA6wJm)qO8Mw>PK zLU`THdN?J#?)E(5*{cB0;oGAdt6&eMw>UwGQb*0tPkiSn6QaD^e6c-^n-p|`y~?hu zo_EZ{6V-rp+c?ktmDo-f??v8PQz=!R*w zq6&bA1)xW;zbiK3`2XPwZ6u#V-H zEfF_hbu|uT46-#a_%QI;l%N8q5N*I#WG?sNCy9UFCuMQj)n0D~T4fS$Qowl#ffY$t zXy9fZY?@V2Q`-85Uq2k)UH@{pzL9XoA&c%=e7wWpmV)RWQb>$ zUhvpz^10o3wR!xn7ew3Ttci9o5t^hmSS7v-6WtA^Aal1HPUm$oJ>P9jp++^t`5VW2 z2=sp)ZluRMdQYODOoLM9It*^uRu=Q#;8W9v1Z9DTX{jb6%@UMZMKzDK?d6^V{=-4q zV)uV^SzLuQB!tY6%-0Bb%tY`O+w;{Ljzo+6I4!EiY2?!$Zuk!eX)8k32T?7^^T0#f z-_3-m#t9*}8BXV=aJ_d>*cMw6-FioaTnJ1t%)%K*y47` zLvpx^NUrneT(RMr^u#x1(|5&|q_#}lAm%^)*H5BG5Q!>5EoHd=aympWLWsD_1(t?P ztTdE2_?pDjlAfovm{%=A&w!B|MEuju^;`KZ@7p5L(l+x#aNc%<(9kNW-P?om?v@uESZ=Y@#U~3^H5r*1YhWCHyb_M4UxKB&0DX9YE!k6qulhbXj7`w$teYoNx znV^5KM8_c4=+dYwkd82wT5VfMoI=ZcX`?Fc*vJ*emfwVmMx z#hV!G6i6!7o6NwJ2w0Cd2>pXcq{W3C>nW-B9e0h}t-`9-``Zn`iwh*skk7y$^ zf)`i0*2Up0Z(CPebAgVVhZmM4Hh#vd^BN2Jjl=!nIKmfYqBmI*SEWt4j$+aYc<`0r zWDSOq>MisPY{MOzcwn2=0o!W&`4&LNiGXnR@NoN9v|))dKadw^?r(a=_<_y1+u(4V zvagM|=lKgP-x2CD*$jFLDi0P{C!lW>_}^aN+22+@UoKHc#Y$ zd)}1gp+Vmi4L5tsardp-LvIRj(ZFA*RtnlE(uZpit(>KTjlbH1RbE8cMa@vhs6nN( z;8k3>gRR%Rrd+Fyy0(h+d+}C}f`ba2avC8bUth3gmjk>%@jQ|dZ@(koh(%Q+Mq#7o z`z+-BZ&!M|i_K#5-9WDnOS5%^9J0qfv^;CrZUc^h;Y+rtD%mz$ot(w|>Yap$NOsgV zYF~67=SIFu!L6`6>Fe~6aoAI0^|zi(!CxM98c!}aQFkg7YpA9AwhH^>^~a+`G4qa! zsKnLG@CEYI5p(mhEuV!m*XeGT`->-##wxTU0c%h{(KhCJ1*-;5-4;Gl-TFH*~s)U&my<aI7$aPZ!1dM44DC00FmZkt-ZO<|fy~?U+n|<2zAkVj2q9~LgQjuCd<+ckD z1WMwdnS!gqu-aa>z{A!v3gg_ETa|6m8L(!fEZ+ZJ9I(4Ab!U#h-IThR-74NiJ|qXP z(`=oAXWF5Hb;veoUe%!GxXm=?Eabgo}i^X~t zO(!qK`fDiG$3PDtc4>tclTDKTlW)A@sq@9Iz*v}6h42=XJt^pahlHVsH;i@7RlO;gCmurxI056|%MB;6@?8>VNw1s|0>aC5w|c*N}!O zo%bv0F;mefL9tgoGH;1f2_gJ~d&BNZ z$Ipr_`8H_B^N>qzn(ezZ(LtjDZtZ*Wyi)b1$>`R4F61~7(eVIRrvkXfjhv89A^$K( zT=Wl@mA=}7euKX63TS4Z4GwK3R_`mpn{iwJI`hmeX>z)+RVco3w67lyKfirM zCpUt1U?4=_MaLDcx9^gMWn9lQ=OGLXgkUG?Sw%YC$PB3pwp_0fWeM%X7w4`UgnJN@ zal2g8#G0L^!%uhp9?Tb8Bi9(V!LgoSYdO*qwfGY0R}|?%kySJ=Od6vP2)Q@O9?yb86j|D(m(q-Q$G6Uqhm%cvJxPtYb!xNE72jlwMg9$b*>v`Z>~ zRjK?3Nm;uOwUo#&p?)2qo<^p9w57cW$#y7>)u*M-nX<~G?R~+qioRA|o5m_0m-FIH z#iPnqoZQCPmgR0cI+MkCH}@ix)^S0J*+jSni?u=YvBixZF?4LUnqQ#c**C{?FIsiwG>po^q%Q97T$ zpw2b^QN*g!#h@?zT!y`*OGUd$(o5hs)i5^>~{A zKCGeU(NP@zc)vElzO&I}e8$3)fnl*t7HzD;8gC@D`TQ=6PDaCULn_KzAf*9qf=DiY zxm@`|IXjkwqgGf@n!}laiJz||-Fzk1ir(Ko++y1mMJpqoJrY(@X+ttrdaGNsu+cdhk!xvI-ys%{OLv@k2F~}J@cP^E(p%Ga1-N))#>lgK zE>S?O5z#BHBHT?nm|s6d!)3R4jyH@pT`{9?y#yOV{qFeQh|ShmYQb@iHX%52f#}=+ zOL4u~VJVJD;~{C9hHG04;wjSN$m|m7?he!MBq;mM_SOeXXA_OGCO?%;x) zw>40?8cJ~cyz(0C0t%m#7QYo566RK)GH1GvhBM-wM#qupP7g4T$*?{XppXWE#c!OwMI zN8t`vT1s`7bef&1bazrs0{`Y{wBzqTz5Q@4qR~S3;%KGeGf17Y0lD3+Sa$>6AC7pe z2ijwtJ-+=YymduUIagTPm=yG{hbiEq7A~1lo2VUf-exd$IgaUTg@o>Nft49XRLWV% zakIHIE2|kso;C0HC`Pl3fQzNM6A_3lnZ(@ZhIRa7i%+snE22-O#uFuC{ zKi*&6$ezF@8Y$qRA;~e!K_O+tW)n_{B3z-9smU2r(WVeb^!2awq+hRjy&cs$om+(c zIqe`8#g#iJPTbgnnL&j^FVKOs*wfwg~&x zJ8{Sw1BsNtMsr48bOzatw)49gN0Z=Ky{@mPI{oBQ{qm5YJ~6CX|aa9p0KJa<&F_@yHT|7AFf`a>d+TSUZQ&^{s9lR zGsPl6mo_rlj_Yi+!)Bo_G)`#19^2LW8z&2~sB);t8;wt^po=n0$rjN?tTjyQqcuKS zFO9lw6z6?XF9~-ou*S3E4#q0P9cm$tlek0F%vM6KWhcH-)c@sp|MBW^gekwj60dsy z=Pirk^3~hm6c{rCduUg0F)Oexh81PP?>U(UJlW{r$y86^ziq_thEdw#&Gn5)Gs>f1 zJ-Q{K)RBiI_1f7z<)mODu*{PY5RR7Y^%Hz5*^`ET;E#00z zC40My+(WVnzvk9EHnor5t?cl|ckuY!jOv3kBSR$g`-` zjH4ZFgLPtcv=bjTpbY=pKmGat`RO-*`ORP6Ts<6r^Or>zST9nH^ky>y6~kx)++rPRnM^hUIAEzJ;|x%(HPX1#2{jQHWqf7Aim#DI ze9eCQPK>$DVvHqB!zISAA;y3Bi>#F@HC=oG-VN>{KsDBku+!{4xh5NiF0cw*Dgmyo z!+ZU3xVwFjdTUo?NhUtZxsNjD>f5q#h96_D_`)CK8YnoU&{WHi4YYZ_jPmhshadiO zcqcn`r*Z6{*ogR8R_UjSe8Aa4^>k{Ul;Q%4y!f$IsUHWwb*24yeEZkoY9DTHABVq- zY1}$d#)F5H$IkY-VHGJ{Gl=Tq5M!1xv}M(uwod1Lpns4eO`~WU++L+vEKrj*Hr%co zEPdfPvt|WbiXLyk^Zqi*H^-kZQU30ueDy|5+SV3nEV&wGnd@?NIE~-& z*kODS%FjVxhuHC#VSf1eMhvry_+7q)c~4`{70R-dhsi_NHk?4hEnJ39vLzxTYTKGKHH~@J8)ApY|H4zESw63ELQc zdAv4ZMoUmFn2BUzsQH<-)5Io$BTqcioK#42TlVqLkFlTr?ZU*(+bGI) z@V7p7ebPtPphECn#@*%W;m5Q@fz$q)w|)c4*eUXVyn5{aQy=f<|HZ>P<>$x44+{&G zkc?&l5{4;fkt!-w zdSik1wGVyljK-ac>Rt30@dOWT&MxYl?}JJeeFKc582p>#r$^C(&WrA`yo^WaY#x*J zS5pWrF5$tw^6-7}g8~}=$knWSgc?iTZ z%rboQZ5^&t>@|1aZ=l@MO!q_J4>yOOB=vN1R#aPUqN8lzimw8iDIsVic3Isf12=cJ zCbOJ0d{j4o18Sjg^N03Ms`82qmufY3u0Jwss5jyD9S4+3ct6jRj!4BhavL~dJoWQe z@812U|38Uk7K&5s<8s%(tjNr+S?X~;)NZ@1 zS(K&3oyF_SbBqR56O^`F>K=Fv#;sKF3XCtnH1*eZz4r3}i=NrQ+4g&EA48K@yR$+1z4_Y{%;-e5!tdBaVj=Six1ln+oCR|b?iuj&ko*v zoGq27nBz22$18L=l|V;y8v@&gn2)fQ{vSr-;38I?#K7}$KasXy8utd8(c&qc4LF?9 z*@UhM^?9J(7Jy#)I82Kw{6Euj{C9G&*yEN;7!!YT~lmc{Q~`-@!v(*|IaR1>ii#1vaL4+dm zqm@49R1iFxl-D&-M8oYnq5^u(3o&^OAKcY*pDjZEv5)yuxkhGzXwnY4MW!u6(0$18 z?t|EtEaHQ;Rq>}=cVrXT`0DZc7tyh#h#rwG)Ty_SxqEYY?UM=cC9kKJ%AIBnW1B+k zHTa{l^`QLW;r8wIQmm~n(kQhh?omQU+OcM=6E1(t3N*nrdadhqvM140YrEKMe!kk* zkH3o6Q&D7zTYi;IzAG4WRCvUL!*$p^t7lKJFjwN0&67&loJRD;Zf0!b_+>$y%LiE# zqOHqj<2usz&Sd!3pFw$N3K^_&9(kRBs1phZ8zPLy@c%)q-Mr{P#S@3@NpR_aH#4uNkrHZMV@NH*pV^;tCh|5_$8n2qZ^ilG06)pSXON3>*BJ23;G92|>BY$W4 zkD|HO*3=A?Z+)#tUf7kiDeGGaas1Mv|Jy*2cR>?*n91jrq|M(P!I}KHD7S z4WGI>dWvklM#vY`iY< zem(K7yKZrSPQ{62Zk`NOI_tt|Uj3Drrs5QWJuFKEw}z#94tlb$P zoEObPTP0f#lvfEmF4w}&*iP_O?MVlbM zsrG0!jONWKeVc_R!w?8tU(OSITeB()eor@jDaD6OqUAwjM`}7_*Krc`HY#?cEaQ_5 z4sYXcyj5NKQ2X6|^N#$@!{PY1!|nZHp;;p$(Lk~x(^3XCHV6;VRAcjTG~q*Ec5YXi z;7tnE!|(ZJ&nnhQ-Q;g_-^V)s1tpy=NxbiZ1|zgYX$C%#w>S`{2C$6r#*ITQ?+9&G zhR{B5sKNN**#A!#Wp-^+39{rwZk2&d$w3il!&3PbtTG<_q5`?mmf{>kpdZEVT#R#* zGuZcNzb+)pcVx!>3hvWE4_tBPCqArQ^ww91uur?zkgr-8eu>qf@Cswop zm(6Stf>n&*Gg+>0|3n|I`ky@f`tjqj|IbT0S}sr)d+-Ll$#l-sI;~j$l)#HoUlaeP z(F;C%37M_U#?K05Tm7qj^EZ1brT0CUgnMYY0@H9gS9rMX@Go2_lk30WDxB}RH7$2d zg4raekD-=HCuCv}Rq|SWS2WQhm%I6h$LtF}XQ}h&RIA~hqBW7>B#x*0PvxR z&vz@@tCZ+5M7$BJsd_Uq6-Th~05%n-X+t@+=aCj~b&=2ytyZirNXjb89;yKvd#Q1S z#9A)*L=RSldMB4!5>+ckvmMD@3U-Z6XdKMr4PK?yQ_ktt#uwoALwjP7Y0TfrX%Y`;R~U=3lS={_s*7SrEmnTcx?{OM0MIYf_7{iYv<7zr&RpuVbx}vEC||KM(i| zxnv{)U3h>~A1Ln-@$#lajY6x56+*?8n%J`3X{z$g`t9e@{&0N%_yR~Wc~Qxwg>RuS zdP{uu{l?p{#6%l+r&#Z5*JRU8f_;De^Iu;WZAsJR675$J?eS_~-~4jCe~=mAL3+Ad z)j2RWZ+i~Kh}%lmVNxQ{c>t3NzqDBkc7C^C6mF?Nzl8gBg!_2&?)LEh)6Lt*>ps*H z$)rdRca!t)BEk!8FS|{!xMn@8?*Q`zdG}D2d1y^;+Aid`cgOpyg_t`luEpBKqR|Zf z>xZcDBGhvWF z@RjBYG#rG;t~*sow0bQ!{LlO*gzsnJl^iH?kh1nAyssdHYuRe)#{``?uyujw4$X{yF>UWXJvTC{Y{@?W07RDA}=Zzm!!2)y>iX1rQgC z+`s5gvY7zSiS3?iB4C9jkTl|}Hj@udps-jHrZ z_YI@_SM|Th=u8c%(3&}AjtL_|?OXAk1z)}5`>yddTN+@hKw1HQ3jlvy0e;^AU#tMX zYk=)Uh^8vw72vl3@I;7S0eR zSX#v<+n%#}F3c8nHd4U{KF=PsP3SGNd3d{$?l%g=XpvQhsjLdrLH_e*f4?CaA=;4k zq_E<0Xsolx|GqDw;XTZDOf9A(_=sB-&*EgL47|HjOxFB^G-6@WyJ|5kz za_lw91g7e2@h=S{u0@FJQlY;B;y*op{Cs!wc-!9epSK_P54%fJ)sfT#!*(rH4v~?` z;ky=+4VyA!8tyt@*>OHa=2G*&Qi(Qk%^lrZBa%4BN!#&jo@|P2*Q+p(pTeBh8MRe< zTe$zZ(VMWLcHgz~XAP(PfE4tz#0Ae;(5U1v&Z75e{Rfa-tRG!6p zx=jNzdroRVS3_<2FL(e|P5RILH(b@f3O$+A^EIplgL61E6rW-i9>`z)vMay#_(l~ zKyQuACr4x$_bl=tFAIPQsP~@Kou6r2rFD7x|0X$5R*`KPIHik?@>X$DI-DtClVeAF z4?)j&D~=!uDvC%@3wYd5fTvQs75Mi9{Ke1P!{^AefH zWcArc&F;k}P=?ecc2=)7JXssQ^Pl?qiiP^a?ahC7cO7?vnx(dN3xzxCkk{tpoXj3= z$U1G~Ja*-VO_!PT%9qEd9^N;fHtm()jQ;^B=!X;wzw>aCr){I7nkBpU*#~xd?@E#1 z0ewD+;v^j(E!31G%hM+fhH3*=OODg6q2}opzVN0k+zjd@?4 zoMPU8W@Da9Hcth}zx|C$<&AQIq)))QXsL#!R*%jytOpi^>`M_78T}u0abZ{_F)Fy@zWpoNVf7n`*+eYA{q%t?9jm-j}KZbqs&QsOfdgtHd zo$r^~NcT=9SY%60Fp)#9A+EiPiT~7t3_8b7^>oQ{9I;Q5mDQ7N`TFR0D^3*nK?uIq z9GWZvzLoGSK<^+y%unzRL=ySJ)vn-A!QYY48`|d+eeR=ojB=iUK4c@f_fW6Sv8(wL zqq*aAFS_^T{(ODt|EehLwVD7Q9=)X|+QivjCcw}AekAv`hemInzx$Nod!I%3J}>Uc z|Enf1ex}*9Xw3JPvkXIEA43x4`Or+pu_ti4oT40KzNATSYL8?9?9Gsm`zX*KY|;1GGBzrRci$>We-Enky>udi-mWTdConQz!^qazY0X)xLdn)_@&>$H!S3%TaGswe^L$-)1^9;I(+#yyqjtwKj{L+GeQ`{usA=fCbY!&((Nz|Uk) z4_=+@`uV+f&J4U<9fF{)ha!C7Z%!t7S3XI$sBHBmDm$!9)53*1$3Q|3Q+2dzR5Y_} zQ6=s8;=_mrj%AZJY$=vCUUeh7>!$X$^jFL&6`bfuLN&UoR&!7^y>(OYT(!OSj?Smpe5%>lq&I(3qLFBL&KJCj_|>@F?lR_Kq9%Z}jGH^RU?;{!R8? zTp*{e*ix)dIWuZ9LcNY3!=Z{S3ifD_{)?mmW6Q0q3W(qBuDAQc{y+-PdSfhAgM0Yl zwx)@Wr7MnS=cyMIV1gdOO$x0vA9q*s@<-tN@BGDgQ_g@ZKtE_(Pz$myYtqQi!fjTg z8pk2j;;=gx_{;AOEXs^yCv2f?>6;VfZznc!RUrQdg}L=AQPVO9=jtuyF|Z6maCs_~Gk+gSm7>l=n@zDX*B&wE z^&)Ft<4Oic9n49MDw7P^eDTP5+%)a`Khppudw!$MgN1n%lxe0^iySX{|DAu)PYQ_| zp!ex|qBW+;_>M|kD62WBBWkm*@zDyhw^9~r7@P6cY~XC&h_ZE)D@XQ!?5?&0DdPAe z%DIy??!@fYbDR4yy6ULiI=esvt$F$L6L@?gQWvhos>`(G&&?&Qf<3_^Tz z!$kYVV2ebIpr@QKX#lUcind!T&rZGq{?EJZVPHkji92<_G00OeEKymsDCcwC4A^&L z%L$i*x1$`L$b@+*kavH>{qNV;yY`on498x%ovmHM9H1e*r#5ZRz0=GbxU*w>*(p1c zA>K6ZKipmJ?x?sPDY&smJiYt{mt1h@3Fi}?5Wh}IL58|6ocQ@CYn~6-#C2vTJR>Z{5HkQYELMk%fIGa3s zXy!qgaKpEJh_K*H6ba7gSWh_m+aLb+?LYtV|NroDd%r)c(H1R5hrlkqHvP)~%NuR) zLr=2WT)c#Py4R+AZ&MU-cy{(B!G7)c9MqHI4@u$4iR4MIm!dz1`m8RSQ6v)r#@aVJ z)i`Ylah8)~7 z(`>3b?9M0h<}2AawGe+&hfnE7n3SkVDGGelc^;mdO6)-?oWAi{jbIBVNLnx_8;?ss zeo8aKNXBPt>+RV|tj2UBFFXl5=>)LC{+3|>`|k5pp{7luI_z+zW}9sLF73;iFgDo0 z2OOG{v#axxlQ;q{kpm5C8GyH`+-84$yJ>-Me@N{d_GBXVv(AAW?Z{=H_{@m1LK@z5 zcK#m0PJ5Je+I2nU@8_U@cXxMAg-%~|OdTZ6P@Xp`3AixeCFe(V#JNqfi&Tx;SX}bm z?e?yX>+~v`CQa30xP9Z=z|K(&K;wE;f<3g7&M;JLeC;2Q-{?fkNc9x|o`e3U7W0S0 z?*4wVV55ClvB(}%=BNM>uIiG33%GR3Ut92CsqSUnnT6zVUxA;h*GSyg#QiNL?$2&J z4La49TS0$Ipm)>szwCb`gL@!t+R!CL9UW&05!ZM##<0h!u=Eo@xPz&?m!$4_A(OTK zn)d}8U9E*+NP9+DBPKS%@V1T7Ev1+&U;inAi)n)W1$f!mh!mX5(O=!m{yo*2X)ime z7qedWH+9)N#J{;YOhHcS#jKFODail6`@GrqF@D!I;AxfqOup=J!JfNjnwllVXV**D za5*#J!a3iHvs_$1TJlNyG|n$1#((<@nap`|ZDpmv5)jv;z?KM;;k>7?t_Z(ngn!&p z1lJYdHxF?CGH)hAb?{XEh2cEUhM{Xh5QuDp9@*@188|Hyk(ZZ+HW{{qr)Hxo+HVYP zI)n#O$881s&4At2*ArpfDkJKsSQqUa78!Z?eVFAn$b8^0BY~RQULvWznAz9>IT_1s zFO#@J{+=MG1A2?NsE4*9zD&fwJ6!B9+kbJ=)}BhwF%Dx&hO?Z2vYRwtSRIsG<~w7| zw`*1|In?7eeeV9Xr${cgmt0}HS%#oynR}a%4WGdXO1`jLr2&>&7G-Wr8HOEErx`B2 zA}V{QR9VGH)RFf1yICn+2%GK6H75b5_6%3R-w@z8cl*zKa`M>=C$kkfS$0QAJhyGi zCg3r_)`jept$Y?nvZ{p06cz$@`wx4!yWT(iPUB7GY%AVx2=6wUcfW-6CT%k&Nl_M4 zFBJ6Rj7?|d_;hrT*uW0w<=((plt~b;r<`Bt1pKG{xx;RfjBZt;_^E52{ZEAjnzy~7yzS{lUrVz;0^%Lqq-R1On%BhbJtS@&)`rHK%Gy?}-w@VaB%jXG$#iYa z(%)8=enoNqitboPJq8sR;$3)0 zJqLb69a=om>>O@R=`P46qbllaL;VlZUVVDc*M|BZ0rC6C>+3x!>S9QvN}RA9LztoK z#(v15m2bYR_KZsE<;zeD>Gsd0ZoctU7+-OID>%0?e5#Xfl_NXpu<=c7beoXQ(MdNF z-E?pXfiJ%}qwP^%NT=<~t9`lqM2h7b(fq_~#j(afQTOacgp&6^K+e~00VSHeM4_pk zpLjuPqqmH-NfL6hiJ4_C`V58@_Bdh_y(K%P+*xs)c%cb+x;?`Fyv%o~pnH zDKz#_Jb7a{0;{Osu;HiX<-no`-1Aj>;Po;s+Ap(aA+Py!@Fxm!QW;<^%id5~c5>%Q z*w;mrcLMwU{*t7(MMLVQBZ+%zymDcd@UEhE>=tVRB_a4e#IU8E7J1s4l0;P#a%z^+ zLQalSR>(bQJ2%Q%#n?b1sx{{g zo6@RbeF%2%RR>r)JBXyS%|fd65q9cH&yk#;t+2mA*l)LYU5vlq?5Rr4&`SAOln==T z#?k@~yjH=ofiK(KLw|;kdue<+;@*AcNBO0g)qcgD2HujxwH5d`1bio%u0Qa+8 z*Sp}{eCmGj{lnek#l!A$)2}2_bC?_h_3Rt?H0Z&%cn&pn+c{RVhcOCVWeMzb&%x)x ziOxgH3po$p+#G)0-F@zbg062jm;3vN{ef=P8=49Yo1x_1pDib=BYBd)-d5(8~T_p8G+?h*l#758Q1e%omUQWHCq$OI5`K@C=W22CEv-J9(A`5*N38@5HmjAR^b ztGD{f`@Z7-$HcwEoQ(5)rHVDqFFnq;xZjdAy!O6RZJ+hNzs>vJzVDZNGOIk+lgSW zGx^A4JUnZY<0zPD82PRd)HlMIYcwFkp54E(pq!+Y$VsLp^={f9PNa6JcL80m`}?`> zorlZBdWE+^qCDp`#|9ZwI0%iA_#j6OV9w|2l;*_)&iRcpb;`H>o(}OLdVaqyG|^|r z;93*FE1zaEy64-uluU~wNlS}HHVc{B-R*we-O+ooKJXR}dO7hIBOdu{lHg`6dv(r(q1}t@b5(WW znlX3(?O_^jl3%~V{f6Lfq3)KTdrk2B?e&h<7&WBH2a0@%DsrB4G;dP}|YF)ONW?-YL^*h8awZ^s$P70v{{ z9Y}-{dc*gC@fHjK{bzxN+cJhPN8mqFRh;&uAcBFzzP8^cqi-LbR1P-@|gj*V87 z;GZ0#y0}khReEwW26^AxK;LI)FUQ@eelLl;EeGCr{*c|lLv|+`vZuVH`);WRJ}529 z?p+9WmW3#n1WS?;8ny})F-nE3F{{&}mDw@|)dKye->kL24!%GXWHtN5 zpSG05hXHSPjy9*eS2^#ki8m!lx#Io4@E*!Aay?yVPcE~-Rkzkn^k#-uTWD19nT@%z z&}xHrY@xCf(f_fvZX~$Ju#ie@z@2KbuDHKH-0fFapzUw_n`>H_GH6Fj(!s0hIyNcJ zv#M^qN$eBgODWNTOrh9K_GG}JTK}0J@qJnZp9VMr)ES7nmx#pA01^edUBX{@t+24$J84JUxz zsL|yxd~C!j$unT|BD(K(c>evK8ns2Q$Zid~!)%?JVRhX%KB&x>qJ-|f=ex+1#Ehd9 zrKFfQ^(_IPp-v55qK#yI2M=9hqoU0mJ_UN$U7I}4ggT!#S2Ep>s7uW29sjMJyQ9*(Mgf}PcSVyH%a&U?k{iU7@rgycvF(xhE@*$UAHhz(u!!3sq7|K z#+?FQx1}?sA^ki!KLOrlZ)c##hQ_HJ_%`mP^WxaU;{#vD<`H-$vT|R>lIvIC$t!O( zmB*tZli9gh9(R#*n1Q%cd^7iQac$(rN*?!8CZ`tUCnU-LMYAL+PW;M}d@C%;@v3L4 za%*39vS5cJd}>^@ZkELtCt7wbyJ|zl&exwRc@jslIZ2=9gq>d(b*gq-QGb`H`whjl zaVaG#o5Pk~e3Qc*+l}2s)+K)Z7C`Oj#O7ZF4|1aW&w_bexo}?y;t3DX__^ z&5`Bmh8E{KXv5xJg*)$jsbFx#mPLyXrHe>K#Q*f0Cb?AF^s|2)bXb!pH|=4WW5nhg zHi1GrC~r&bw!49C{EW!P&z1jBwK1Onoz@*&L4R|gw=a3zP+Lyc_x9r`=oYThjBeB% zEqC9fHd*KE&6Q8_(0fhnmbfZxD#HGk{r88>FP+5?ZT4bxKd8prGjKCjnDip(J_Y>Rp?#0QJCZEt6Y0u~EjhP2w`OfT;niDq zi7!J{E|d?MoZ<^nmCy2+%V|-t*QR>;_8k0w9rnLG?hd>A`;I#K?B_`Ncx^=+uWeDl z+ImJuvLVO7F6mGH>ksjOU(%Hu^hf!4$(eBVOS97Hc1Xi|gCXV}A(f#-8&|Q-gYolzX}{ znZ>)p*JdPMBDP#SmF`PQ&69Q`TP_-{Cu5AcAnLa6dpHlZKy+|)f{#Mp;5+pf!zQ&;z|6C zDp(20$&`>(x!zYB{~tbHbyWgY5YSB_%uvq6tY+x@Hlh84UkyOuvr|C>mI6jn2`sJC zzwNlWo12f+WY2qg(FSV+dly&|XlPR?8-WNOXeTF7#sI5;EGh!(^ErT+pQxE`AQ{=1 zJVsl$n;C!)P11_r7CK>6_kc%Jcf%@HXJ(&Fe!5oB=4$^xyKcNs4+Jzx?tw$UZMsEj zMkfdj{Q~8)vZFVg0e0XAWpPC6m-U@QfxDkK+sEHX(K|yrgIgGRW82uDX4tXpJjPSv zZ(Uh%+b*(G{u2h?IQdngoKL%j#em@qklGoRD)>+Zg&|dY;U<0i`wTo0CZ`Lk_B3BM z17!4w2t7*+{XOh$RZiIs8Ib~>(dnoz`7&Zp@HX+)E}@vuZ~T@$x-sJu?PK}sqoCWn zHo4zj-+#FMm`TpQRz67Vf>opPEbH{a7`{vnJno77aZh=8#$+!_iaeW^1ABYf^M>*% z>6B8)t{&Xsk8PCa>Es|`J~Y<%8rxhCBGAx)FN5dH9>H<=E9>i2+o=D`4}bg9cYpus z!}jX)ZTpY;>HfnvH;4QE{X_d7fV7LIZ$0KP=Z&9(!|57l`n?-wh6gqF4L`pFIh;Yn z;Z#ck{^#8t4ZF#ir1oL!8o~5t!!J(ltY|?COzqg6Tn|bhdWiyJs-=+xfqs3vz37Je z7ZmU@lBU7PE1#OA;~c4-Ydn972a)vooxE8|`lcGm2S9)=0f7@Sg50lZ|#6ZzBu!c=E z(Qs-wq+#Da>-;wzD%v$0c~}-pq>7bmwQFePC!)I}`8n8a_w66Eq;qSB{{P~Qr*Wqm z^egUf75Dpz3vXlMk7m2o%NeNI9jU_$L=eG_4ZCQMVEGnB0`{faa!u^7KJVIJPZIEq zCymHZixS1U?dTj*b-uF@?xgzF&*&QCQcX!*5R}}HeSW;U7ZP8g9 zk86)FfZaA(xyZikumvT%XfJK4$GlDw=fiR``oG*9tm@PhtMy zdiQy|*`5*DwNum;$Lcl{Tx9Iup@F@p_b}5qXzs>Wv4(YXBn|k|t?t#Y_tovqhkxv@ zx*fZ77ORp8AQs?dauHCjO{xBRs#4XdYUk$j3-($#;s+aB)s4-&|w^zFs{fn!|%iU#n3@#>*fzOGg-N0(+zRAvTaz4z^pgjcwKWS(H&sWRSu-<}} z=`Bv3tws zT$SX=vD8nJwHmETs{aD;|JUv9?r!tvn@4(L7ki;sJPIIAw5l- zuu{n$*qZY98KXd!^n6@3kHV*?;7^C&Zw|XI4}5Y0x|-n2@u1QHo5`dQW8t=G8E0}& z(6R)F0hZchhlC8)16d}eX%=u22K+B?{&V=x_U>}i{_b>#Uu#RcTcPNi?j@fi8RVA( z<#y!I0Oaph!<-!>Bkff0@ptI|`R3u_=DLdm7Xwp^qGLKm>+8T}fKg4*ZU&9b7Wo`J zyATMaIMR6Y*}Z^VzTe~Bx3bG$wkIor;d6=3{?2NKNIw z6vp#I*r>d7y32~g(8cq^6a->?Fge@vnOtx{@S=ba{Su19F9h9lJ4DJwkql=vI&lg_ zG#iM@3S2bGY0g06_1-h>ESu!A#MA$7(P+oWy?tjk&M7M z?Yk8CT1#bXcjytY$NmQPQ!pYw1zSyZ4QdkJpCz@WJx$j~o5V)57IX;wMb%+~@`B7} z1N6K4P>)DN@QX{R37&_5v(A8Zl8xNdSZy_@MU1TEb}iywyNP)Q0=SaPUd%KOT+Hl0 z3s!P#vpmZ)FnH=rFKFsOb3+i-y>49OIIKS+5=19p3Y5Z0LnPqWhvkahcnXqCeQO!x zq9g3%DL5VqQjvjF=tjM9RW_^!0bVBZDMAra;NmZ6>vE;~I4u$}e#>4{r4ukL=$=~> zYUd=BQ*VHc`}8z##498B>_$9Ps-C zU{dJV<)L<9dDwsEcZjM9az8r(-{1UaJpq606EKhn9}g2k%xy+*$-V$QA!sW?qgfRp zng`_Ulwd*tu6pwy00+;DooHa3mOvhV9{<142_NomC^ddZUw(LI+&N^&%$Xdb%fH!c zzHS#R*cR9{QVr9Hw1`Gzp{1dP9D-lTF0m)|Sy9v7kd>Orq0uG2*axWSqxoDiQ&JL- zZDL6zSOkga`62kqDxC}lNt5FO_(_OOi2d20p)_p&;CBk(V8EAlf}4a|)FiakmE6d4 zK*fXTvPjC&2WMv?lSJjyJT5(sFaA>+J0DX*$ssV+^?&+9@b?z-UC$ouI)$IFNLsma z*;A7Oi!euWW7Isf@+4>v5PZqVE6?Z{ z8=OcKtU%Nm+%on8$1ZS!+<)fBgHkNE`Y~vK(K&UZnc6qRZQH&?;j<0_S|k|PQyRI# zF%XqVdp58YRW*bh7Pn-}L(CaMPxQG=(HMT4ewu4=4_Q1n&^AD}sKZ2q+Et z3^G{8--vYl{Q}fppVLRK9zWib%S9=WfgkG($7BP8L~N13@4H<^%Vv<8Qjcpu->~nz zEw{o)`wlC)^Pzfsc)0WbqRo1Ao3JL*tp^5O$HrvGAc^3CUYR8D>(XGP5Bzpen<>H% ze*az22vD`3{I9@M77p4NL(+q=%CA$D;7EiK$m`xcgo}Kcpbd#0UsOOx#G*HfJbFzo zEg$PW^EaP1|2phxlkOIN@|8yz0ji0abMNtakPDIT(gkvbjb-yfBJ9r@MFySvgu+}E z`f-Eo{=986=XD=8aUn4{5ZKh{JcpT!Z*&Yw;Mr9cSHr_^GdmL4TzZ3yPk;ZN|Mtgf z7EaHO!!u>r%Y7#UzPp@QDb^|V?>epy3@b;P)Hu!AB*XK6<@mdW-R29F5Af@MbMk;6 zWrCGRVeVvCwa!`CK0ON;S2y?VN%;8t=F|SLf0(QcY&4PdarSU)(5lAg$QTk}xkASx z)Rx^7GAG>au{PlQzjWR+V2DVfV-Zw!R(XFczU$1-Ncsdi-lUqWzuxnq2-DdpHK|Kw|XL9Wr zFC&tfheV)z{tk0$RQh?1QzLe|;9)HSFVZ4N)d$E!8L_*+@3)L3uY58Z5GUlp38_Ehco3oK@r(4O*Aa`_N!?Y({|&<-X8Su{w$D1EXHZiTJ)P z7rQ56JP5bjyGiRAPtO!F>zSNv=H!gH$(Zqc6G`w<;7gV1ver8W29bJU^CF-kC+{}l5Y5{k^r}hf~;GlZ0!>;P{=;~g`yBI_Bg_%XhG zsfP&9Ulf4%1SEm|^-Fpb>cNhN+#e1kTL{sWN^KeNa%HLZN#HL9Kyb6CesB#hs^H7n zQ^gqm#e<^j<4~YyQa%W4-|69co(nqC!Lc&e2?Lr=)HD%({r2r7?sV5SlZ87bA*ZaG zql_E<=DBUVSz`Nq7Ne!`)Dl2%FFOgkL^p5+eUYGlRRNfY@ZH8AJHoprhsdec@e-{q ziY?zT9At5@kuM+Qqeh?r`TY95`AOvI7_YUZigWb7uR5W_5qy1m?>SeU2Ao>$T>*b9 zfcGmt6Sv#-i8DKKXQ=?=gBPbmV2gg1Y4XsAVYgpluQ-ua+zC6ZW`X{&ySs0n@@eR8 zB=0!}y~)YXVg%qMMO$gbHtu(^r>|x(MT<;H$Qxq$kL=-Ehm6}E9+exGyOL^|$zOyrU zSlCf!59?ol#)bg@m;L>}Z}x}D?wm=qSPQ1u(>@S^13k{Jb5X#-2iG^*?|fA?6SPDFWchIw}UTLQ+u%4pqD-UuS48f$M^Jv`?6Zpm^Br=Td;h7d%c^IVX&k&57whI zgZJKxhwMRe+sidp*}N6jWf94;_{Bu|BjVG#i^fYPt~LaQ$^sVUePfg3D>A`Rp8dST z<{Tn#jtYKl&w&5O?rPgL=QJb{wBA4bm#KgjN9w zth^>s?m61iF3l-WR~$><$5#4_;TBP8pc~Gguftn#k{(U%`TA4H|9Q7P-0vSIoVin= z?l=Z|3Wn92!wJxQ)*P&y!xz;AX>%eO-OA7TQ_z1p%Zi!o$6}aAt2y*%v`%;3AAFS* z0Cm0#^L*1*S2=5c3VQdqoaMnC$>bdaKAUJbmz`L9?|FM%8QppAJE(sl64We*IW?j0 ze#v%!Acaptrmj2Ip~>19hS&k#mQyjz1Uh@cea0Xk7WA^;cU9ZnbpEcLqPjF|vHli{ z^{2r9c(=Q`yWHJPvf@LevN{ZSXZqd9m$TwUJy}rbh<)Q>y;MnKu7XzTH1HE`SyIpf zd*8d~eHM!Jn=jZG)Sh{I)k(x9Bexat1tR{#S&=;%N&npsiuNy#>{&2m1?4UIYi=Ne z%8Cq77L>pLa86XWlD^z}$CrG^Nw_85nHBB@!u{zCh4_{PrKy{TLB@V(rH~i|$M6$F!JFCGBe~=6zjo z6701L^FF}deCiC!dUMiAiwSK-QC<1Sl9fltsqa8>sN9jMkNiLGf4}ZMCJr|b-H%C& z5wcQ81*c4Ajni@UShjAsgZNU%jq39c04y9R(hbxL8m5mYpikmApYCq1H@9OGp0*wG z)Ju=~%;+Yv49PJHRktk1*AO-(6LsXq*7YOTYC*%+)6+0@6oN{mO*Opj7#m|;nuBQ( zj4^DIH0WDu*?GP$nUBYGK(rEJE6W<39)ly#rqh)_BPs+NsiuyGy((j)gR_jIfSU~k z%inuV5Xa8(T_q6rVwridue|wsdK8|qZ@Tla``Yy($vB$I7O`w02G21XK@WsZy%#W( zj005)eAXrCV{Rla=A|6NYoCVO_8;(5`)zx7ww4ga9n*R>zA{peADf-@q4e}0xNs| zR`$roDU75EUpfuffxBB-?*1XJejhrmyUVE*-D^@qwu2b%vbkVq5g+oV->78D$b!m( z>?vFZd2?ALDOr2D4Ltx8B6BA39RWHzOmDmT(*3qs#K!o7(XfxZq_~IIT|v2!D#TAPoi0SZH0Ic z`iT(l6~8&tUiQ?RcD#IfeU|lQ{=@_vrix~%Zi$#r1bCPEU78j11!DgF&41Pq|HlmR zPoZB!{2%hVuOa@AfcfLc$w{j3wolmp58nAX2$Djdr={Rgo!BPI+jfN+PF`IbVY8iqEhcJaU@}98=*n2E$pSmQbBs8 zz)5UZ7xQ?3z2r355<#gI?1h2d?WAuX_8+gPEhFd1%>)gvCZr}Q)>1mI`KzL4V_t53 z4)L5#fQ#^wf@n*j9Jp6Q{V)6O37_Ud#eTmI2Odt{Qe(X4P~iwJlvR9})daodmd%CI zC57_1awrjeHYH`FKK4^ID1qAZN{Cq;A?E2-r{Sh<`U>|OfqT%Hd6-m&beiNiqbyhD z+zcdV*BG7n+K?VvTj96d<{XWirIhAhfS*`Pv#Uhl8y1xU?>PzgDj4@J;J&4NG(G9i z0Ecqj*ufj`T$GXNiQ%IR+VHR+Z}9DwsD&+Ib-aW4=k1>K&CC>`$$}u8<1*2UudzVs^`r;mRGzO61Q*+c6{H23`|KZ1;%sP0ZQ`g*i5^7}U z+&9TO&deOA#At658}I=-%1Dk&sG?|JeRO{R;oIxmhu?e5ulI-j^_G%=vRaX9 zj~MPguyDs8c^CN-e-@Vg;0D+?W5F85P5W|+C}}-2mi+(NO7U8*y2LA$w5VqhBMBn7)bLoSUm8Z(+!x| z8%binfV}?8b-&wvy4w9V8Rx0??HcFbP@MnQp?l${i#hKV8Q-yD&SuZ4;nCbK2CLc9 zkmWwg(6!-nCCi9Bg04hTQmKA;|L*XxySv|A^!n`W|Kkbloeva!3e%9w+H%Gr&MxA?VJ!Q)JMgwU z$z@NqsZ^(k(^fqqzor%OMIrtyx?k?jx$53U3V2i&R_72nvarZJraeMFb}^Otyn`X0 zKb2ANE`*XSL+C~H?Z5*-x^cKD=+&y&1HzZq7bNMR{2n$wt&%p47SuajrD zZpx57)N_2-ju|%`Rej*c$Nqlv{o_aKosTY(TdlAqUv83%EE#Y-r4QM&4VNt_^{+h} zbr(UleE*q0s98W-|19FS@c;FSg5R1PadUnB z*#5S3&o=5vwd&CXF9z*qkdO3@<2yE$y_aD!%ePyE?e(X8H_xCp!`zhQ_ z41ok5-gnN8bvbdmcPQ{CCC|?6Ej*=({HH#E;P;>T#eH=ffcp=B?`pdJ{l9PahlkB$ zcM?eD&_Iu6;g(KrZ>yRq(c?R6LeW04CpG=bFEF5sl8tBQ>hm%FYk$~3>^8SokN2CK z!>&v7KJ}j{{B!oy?Kj9ijcKB{oUo79^)ZIXzWoMH^c8!t#u~%}MncN*3n1nEv_E{l z+C2(;wQu@7Fy&tS1Tg znE7t@&NIe1$dmsLb}Pz9qXx*=x1?Z|OdLG>G=qtsZL;oF@n*0}=cjexsLsfUcJ*Q2 z9xl%;;7uYG>EM=Krz>kYvQ>B)XG3!QF8w@9G#(^jc-az7!M(~n0}v~FdFzbXY4 z>U^8d8OaxU0TKPjyY24cYJ2xcja-8!SETShyf%pgINFDg)&+K1UT(PbI6J=8b{Qa! zT67|_?Q%F!1M|Dx{ms?m1Ko==nykYxa#eI@9{(mCEx#1EkmiA4FAlupUUbJRljS?S z|KI(?VRwJOyQf$cnS8oY;pm_eYa0%Y>4`sZDNE&{5@V}{>vAM|B*{zOZc|%mw12zz zou&abUh{z*tYYIe8y#oJf+lL#^pZMUC1GgmHLx=^9Y7XM|Czt~m@Cg%I=l}z-KsOC zV59qOe0B+*txj`D4!(UKfF)Gl-P+6MVmlGYT_XFZXs%|wou>$s$W?(J>U_=wywoh( zY1X9_M#YQW{gPih#uUYpa*3RsV7S|u)hvDUXjNo)*&JAW^OeG9CCMbN5^mT%=zzNEL^|@mda&2`Tqr9at$^iVivlNO9 zvCdN7%q(R9{mg+1*@s&PDsN|?GQQ{2Qx($4X`QOPsj12U`Wd4YMFw|#w4w~7R7cux zZON~bKt&W15#^hB%{N|IK+|>X%A7Z2$>gwnow2-~8OxZz@Ah}3VyIJre9qwC1^?U$o5@BH?n9GJ z@^dJNc4-~o01E8MvhO~;k1Se8KFKs+8~p#;Uw!y-yT7~NZ0~lP-Qni(^UufKwC>3# zH6?wo28-A5@F8%z(T4Tr6S9(-tte`|0#{RwVlSrIq`){ZeCJ!gsoEWS=rmAiep{GZ zPu6!H&h4}MzNFq057PTFH*OR+|R*Xyy3gxIY_ln!R6il@ISk|<6r;R z{pR84-Ob&O>f@T&D=Xk@>d20&ZA{j)^md}+_i;~58pehme?_${&c_CRmK1)utV&+{ z0Q_Tjwe8xs_Z#!!AMI~@H(?Kz6X_c99J42dK=gq%p~bP!Aqi|lpm#uE8o+4PJLFD45`vuA4)%kA3wGEKgyC@)VV6SWm(K>EZ6?@VWPbJbb!( zZ2v=$i_M8*W?`;TR`-;Ym(TLDbNoh-h5EgGf{q7Ue_qu3D^F9s17O=<_Vey;0`^R* z%Om5w*y!vTnLir#z3EL%n5aVyU(HVXJ=p#8lICAp%&oV>?{w~^@7ZU8E{8Zo@j;p4Z(f5**&zm+}0%juoVK zB2g1(``Oz|Z~ZLRpX>>4$=V-tc*$M&%jwl0q3`>4-7nwn+t2@?#f8ZME{47GEOsW^ zxbcBc$SrqShLoPo;3&BOrVoP@}hn>VoByb;OGyHY%LDJNly z%&jABI)IGza{Hk7upX~Vt`Y51IW62p#hJf}3QtHDzcg_P3de~1xAB&(-kBHo*%K6h0PQ&lloBj3e za1`4ALB$2rldQN-1gQxsdJfZva2@1JSnJX(Zg?B`Dja3DF}@8}H0>`bR&Pesny z{ZCpykCZ${e5u-;F&aM?{nzuYNy@~3I1T(wuX46@JPo2Egvk5=}Is=y7L@4{bBlB0}N~adnGk%sQ4Be!EOa%is_=@8E zU-%ek*QlOB_R?VB8|}2`%dVB}yMYF7+0h`t^MfFoAGH4}iz^|&-(6pCsYEek=cs0) zgHM2I6UD&F4N%oRqZ6M88cJ))Arx44<(T2hF^eikqts$X3iesq&}E8eaKn7c;DLMbj1y z%5%~Lw40D)U}p&#RQYm2BKQOw8CzM-7~|rO!{2xRxhAOwHik@Zjw`ru^rlHs&Co?? zBSJ|0?O~nDR!|RqHvG~tmigV$*;dO&&jx_Njyuhb(G6+gw{63ZPo>JBCoB!LwVBI>S4LS+-+XnS=b}_U>W7z1rN|UGDCV)y3|rv&B7!u@rqEClZ*Z zSPY62CD4YGO)1SI8EN^;rsZ5?JP1y55KO6gwV;ErZGXi%B}Ze=}la!5Qp!w=rIkn5&|&!Y`u5@X z&He7-jKkoq^W^9fZbxa~IM3p~qK6@Lo`USrWqApQ(Iubm7E4Q*QOwYbGKcCS2Ghsk zU$?jI&;0r3k(M?|hMrr%>&{v=rsw>4{`~j=brD{VaSZJ}Vj&GUw~ul#PP%FlfnPu%!g= z5)Q*RH`lk@hyBMcr@TLJZ!RWFjxo@=rt3EZW;hNh@MW*Sax?Q~uVB$LBN9DxB_(ee zC*p9q@0!=6L_%kD@UZJ2knQH<&BMbD>1$(?qE3fJ^bm8CqML;P5wzxaDLrU1{6($x z{PU4uee5LD$F8oCOqHPb=g}aXB@YDJkuWaJu~*|e%OrO7sRK0H5;P=WjZ`C&NOh&D z;xbOd(+A|76X6_fKyKiEr8X^+dX}BLDA=-bu!6c~OQwbd%V;N&j<%{$cKr9_r%%`0 z!-xBSwkKeJ(Y+WCciYST#RIueqY~An#&)i=PMj!!J`4O906ST-xi2$Hrd4pl!Lc@E z&?g--Fs!|vX&_;=Gwd7y)ub0H@@Uj3)<2 za3If3_S$kveO&BPCC48ZC}^4}(8el@fTN9_NE@p(RD5N$hr2!e`Mz^6bhO2ZCsTA} ztI0H0vC=gpMURbAp3hhA9o0^UhJ0^}ST3cFqX8w#(PIUN+NaR(e%XAyxw+b0?&y7m zqy;i~S~o_qWKL1-1E;jW)&`NchCjrTe-8nk$_o+bTRP}PDh zYEcdW#^$U@(xNmrt^;)Yci(mU1ytw7`k1M5+`=4k-Fa1Ua(1-emaO)C#rjfwdcZug z3vv%v+`C9!LAR(x+7Q|i)={Wmu579QGL(a_#kkTfQ6r}8+XCl-!T z-1Ct<^+MR&bdbF%WE`Bov(q?Rc1uUtg9P@F>ZWm@ZmupjSG!LSo9*o_$@dPKTmwPI z?d@Gx^Gw@wFX6-Gb3(mW3Edl>t_In3wQhv}3i<9~OA6DuK!$e&a@Fw6XVEfU$6lX+ zt4jwB)O%ttGn*@2Y{zU)NnZ6_L8ubO{CZ1XbEhL&qNAbR`+0W%!r*1Y9kDQ?cE|XejR)oF@_cg_k*a61{2#SEn4z-}%x~4v{JsX_be{ zb=%jQ-g%6Z^h#&RZ9arvsT-x{5u{F;KVJh~r8VDK+`xXqM&u{#D~QHC%iZ_)4=v`0 z&ksLOIMAetC4aO7n?jl;yqlZ^ijt+8$1rDOQ|?dF!J`L_By%_AKIkihzCUbszfDB; z7-;KYi$wO0QqN)38+;AR@cB>?tkkSvu6jai{j!uN3GMAUsmz>se$O8-I`%Yu+sQ%O zdfVU3Z68seDAG-)oxHVp;HCgJB0bec2CV!wQ-s3 z#aU$DlAB}|V~$R|>dNr_z_l)S6nd;Zf1y@K81~`2fH7t2k|>VA)6v~3Lz{*;xMDM= z$(}Q3!*LI)Z+~%Zq05HnaNG59N$-5%ZB_{ae)uk!xs*M=dcacyR-cnfq;Mai>S>!0 z=RrQUA%`92T`Czb;|hId6Dp#E_uYo?0#ZdPTl%jI{r&cOcg*E?zfsrTI-99R4R-B) zWBgJ7>}BAm5ZPIs39yZviR^IiPPDqm23`MMK$$CPyRTolUvK-1PqC+BZ*GM*Ws&w= zM_hLtvK&&pwWlYg$ZpU%ut8@6d$=A;v#IgE8%dzowt`6%0Qsl;hY8qy%!cIBz%_dd zyA7-w4kyPBlx(KRfBBFOEgQ>D=u;`UJTm8^NGrw1+M5r3e5Yq_*&0&y0xsIq*gv14 zX!kbp_m;t}CeJR~PZXDqnY?7OZYp>MKU;lhulPiVCiga7T(Grj+Mv$ZU?WoaWHg^L z1;6EjokdtT&x&;Od`YB#{hWSpuUi{~fpGy7z#1U|;Z) zb@tdB$AH|$c~gI+y`@8lQZ-g^}F-gRvz zMGH4oo~Inht~6 z-)t9I8mBnfJ=n}QUMl$x!%&T%plb{Jx)0y^h@0AM$o*Yglu=XE=oHDBz^?bpZ}vP& z*L;@@2P5o6!Mj|JsDp2JtEtr`A0oMdZjjX_+XT;Qx1iTLBz}W6z-nTNeXBFPnwVu0 zr7qRe6Dcq!_m)B+)nl;bbK5AB7!Nm5jKyf!FSk?RIEAlL97-XYQ6S1lp6;CM?w%hp zA6hO{Jr1CBZy zWu6Qie$BJvZzpQ-mh%}BCvM#1V=l|qN~+Fl56%8(e@o_S!DX_Sib}@%#8C}Gch0kO zd}2ho0yY-i{LCCCMOX91O1}f zL(CU%whFxT!*~9mG*s{ad4BB=mz^#gsnhK&naClC8&ge6ksH{ecQ(lN?Aewa6~4f*h0 z5a=ryNS>lkhWPcezqiZ2{q3yF9+IVqFxX}Hoyx!r3u^6UPtgd(Ud!iryzG32qc!ES z+ZVl8$;<9f7_zU3{x|JEUHi9QQnp=*+*H9F8FVy`(VW37yZAI#sL9UP?*{8N*`Dz! zxb_vnZJ+S%)$PyQk2~sG4|cs=tEJSKKw>juz(+faT5zQ#T}`;#UqTsi7^Ag}t!`Pq-6)y04Ht%uxhZoZ zF*%}K4LoidN?bQXMd}+6-Kn)ROZQ!2(0yZ~_p?;wiVb?F|;0 zxq8WF>0#!toXwl7S7b;$hkPP)vpS0e18n1XF&!mwAK?`&-#dI4WbUbUg?_)ez1w}-|2CoD+dh$jTt>q> zuQ~QUQZHX#@LDDQ%N`(kkjNgK8d&$uh-BYtZWR}xw|}NmcN;SGvcs1>G&c6X?&X<# zP*KlRptD1K>1KLdBp0aw)uY1ofIlAgzdY_n&?)xggh&Xg+p8l>j~{>4Qxa6?5ZBf5 z-*lujmsRGq@AxywCwlEVL`#-!a0Z_m6%ES_7suUYzV_3}(*BUa^S2pnISo4w$|ZH1 zFDW)vk*AhewCg?R_(qu_CN)bEpM&Qc?da0zq6a&%Cu;^azcwQCYgg6-RZ*wbSh6-U zb0x*mbi^?aNkDLirP&3lU$CE+7WrwJvWNfLnD>0B30915lQFVTNA(4A;JoSRT+Qal z7x6q9X$&1XzVk7>b8JLA$F_EF=J}gGA>*n07|ouin#Kms@-ZR*m9u9j?=FDC5}sYL zoynEk-CaMnzc+2d(&8^vbWOa~MKl6vlN^6v6{b{V_FL~ASi$$71+LgjdF#*d zL(j>O?i>d0)^()!=ooEUY^|v?*fxeelF8uKs^hcXwJYQGQAx^4_8iQK(ROw8sSIBS z6G`C_2giP6nzkh5Y^ozkUpI#J0*^gg{%0PtK0f|Nl_zP;`}*&K#IJUnzI*UH4bU?Z z{$x!iS6LC+xNe8p&O@=WeH)Rx!VEq9PVot|CmR&U(VS?Z(Wr7}SnuvnNIYAm$WqV3 z0u@GerhBv0_Ayz3S2pa!h-yHt9<)VuR%=K3o8ObzBO;?<&?!S`VX{a;!uYrP%_R70NN=>qmR;RlQ$e%20p;aD)S@10lPiDxF|F7 zXJi#Fi?jrWjj%oTY1NueO4dGnM4W&Bh=d1 zgv^nQ#rrrqSbi;+LAsse)2_6I=QqQ5enM|cgYVkllWiRDXtE{V#%U`8P8Sbt;Va8$ zW#|)^yWvqk?rU)#bq98FhVT3!Z!2mBKPTCq@w#UljHHc|+FERm)wnL97dUSw53M~r z!

      >8BFJg?}AOK+O(YEiJ#J;ONtEmI6K2fmPR<*yfZo|{=Srh8n-&J1HOmlYP?9U z=HwZAZOAWoQ{;?3lCig6b@CiX7o3`*4I66EsEJRcFE`W2T3tfDswfTq^kR2gQd1tA z-qI?Qc*W*f3c~nA*2csp+<8!c%qn)9E|ul}QNct+s`h2jsdK$I+eeC0-A&ZUDLkqy zs*+($;n7QOQg6$`-J5_^r~-cwSGM<#Rk~yhYs-JAN;mzymaGmT3v_GR{4J+>X7F0Y z#3$frupz71*}E-&qmh84MM{HZx2Hbz6ZyN%p4^JX$&xT*jFQ=Cm$a~YvHl$K!JK2Dzz>M{ply8bfAP}Fy<4Oau&j+MDO1Dc*L-rljirsu zc>VkD{2Wi0lif-OU>bZIN$M4*Ll}IRV-(xbZZ%&4p8M6gl?y0bUPJm)9vndzdW|U z|9%eB+8Jd@_#@1_v7N-Q=MZfP#+5Pbvd(yL`l^jUWjK|s)uVral|1)t3RG`M^W)bP z@59q{kKT_r*3O}i=8qy%H4Ez1>*Hn$Kl&6|I80<+q)}_aJ z)-EJI1*05=49y(@=?3=w%aUe&O>-y={AqWvm`F=FgqD$-esy#P+NBCzs>GF;2cLaG zhX;=NRuuDn$=F{2{)hdP-d%f-qtG5MT27Y-*Fy@)v5x>k!eTRXX0?ZNoZdq_cnuVD+X*vd9+%g)mRz$ZEcth)B;j=xLIjdHL z!FMqHHm?WG;|#yao8aU>$+G{Gecgo|g8To_l8Ei$mF(L3#s*HWpCD@4BxwFQsPeah zDnOSqOvmP*7L9uPglb{O;Nfn2xWB!*-%rhal}=ga3$8LtQVBf_DF@4!R623s9#-)9 zeIOko;z<-mjNMq#vE=D#*dLzFes>h*!=~N=RUo+&JWDqbKLjc{_91ZP#CE6)`Q6}P zz-d7LnI8{SMRx-%9`sx<@(j3M#)4fI_*qmGb8vhwVc4XK-4vL!Ch*I92`1$4bFYVp z4+3G_JBLvpW|#zZQvk;|9fSvg{R!sg0;M+JF&Bs;dE{Km_f|Rq_qSL3hprhwu4}aa zxB_ygZKCBk5E4EYu2*j2Dy=~;f8eVrmU~rWE69nw4=T!Sfw-T^`D<^#S5*GzkTq=I z#F>hLZV{L7BY(oS7<6PI-zb$O^GOEI_M`1sa{%KBZfwT>{d{z zlysa1Niu+i-uZK-7fJI{y!vB-j}L|31skMP^jJXkN1Ge!=rq;$K}JHki797J^AF$G zHd*sIU~u0@AfsP45y#9=iDdN4Bw_*ZGs3@BTo zi%iPPW#9!Ifhi@n;7OSlmBdFfrOwI zeY*B*tAEKtcg%rB14ZHQjF;FCK)JOsP67pkKx7Um(rc(Ez=fgz>1z8h5dfUBGD{V& z`f=$DtPt<`f<3+@T#wCvzG)WR1&pFDpbiUZ1Ae->y4+mtK0Tb9{=1+Ar$DPFsXW8( zr)zTd{LvG#hO4vRL{QmI>W-dSwaUpvE!-+I4R~4L!jPzOmtT@Dj3dVk5hkL;%n@C4RSyE zs(cBS*-j#rZEZ@g^h%i1@=Q7PJ#2iug9pL=r^Pm zU&xx`dOK9k!I?McdYmcC2z_s)vv_d*Y+YLI&w-qoW1FSz%*4W*h7sU|FwsuoQCiGGmuloIv+X% z6B%Gz)22xF_~1uC=f;~j!|=v8LGkr^6}Z9?1ofV`a4Wz6E^tz++02LVr#rkc^+GfP ziSDH4@KI~gPdN%UctG0)$A|x96ZDt@h*(_4R2209;qS{pQnoo|a)rag6`+aj3ouI( zpuEleB*1`4K(PEBu7p(nNmTh;Rna;7$qDGI|F7qOB5|o0$o&lu=KxkWcBYnJY>RFF z8*n0_H5>uHkE+q-kZ>#l`|tcCpwq(YfGImguN^t-L5!Dl<1A-`7f%Aca*|PX5X^ zSoDcVn#B_T|KX@?*)eJNA8pY&8$)Q|p9Zaw(SVkX22@2-_e5wQn?pH>!h-4rUuUTdlh=H4 z2Ul)W4%1=7miK7WPI$>%iRuNXN&|u_=iuyOp>uGQ*sz;mX0c({HuFs$%0;??@y*}w zLOR2u#;`8sCzo>nJHwZWF>#E6dI~JE-IJSW6hq_-x8?5WsQegkLgE~{Lwp-g9ZNFT zcoO>W0$&4Z#kf6U?p1s zVG%t8ZoeQKnNN58;)VXQ1E7-6`~y(7b%z6B1%^+E-;>PlsothHdH{y1fL!&aPXIh4 zh>g;QlL-=Xf7UpDE&%0$hCL?EU@DMhnZOe2!u{b%A}}HH;H)(iLlj8>Oq;x0J(J&C z=4=1!1QvstPZBUmfg|GKyP#QEQRo9d0uwDFV*|+)!&RP5imcsD=}5C2{5L<4K_EKP01RmhcIzT6#yDCF>VcTa%>%(Mv1N~r zZ3eqR{b%+eh-Hg$L5F~54VrF4lzIyg&Zuc(U}Xe&J?Qw-&lX$@*L>M;SMHu1b)O{J zKq^Tr3pxd7TR?PAGr2!#5m%VpWHX04M4KZ9Cm1LjPzFv!BSe}+N!BDX6?aJ($AYAl znMf-FBTa+YB%^0xmK)b=5pa2h;P4=7zJ@?9JAFr)m@G*eY+3}{=!sc4Gk=UqTbWR} zaxAqlG)Qy`GVJUjfcAj`U4aaTh%AZ_I#tvO|KaX(celIza5MaMYQ@y%EE0+}$+CQd z3F)AIJ&Y?74dn}b6&XZCMy4U-DoV(lqE4E_1WT5S`0UvCb^Z*f$H3PP0{056fLw&g z18bQ+uu-MbY+c|t{g0_j-{w}NQJ{l|#~sD6H|u*j{-LeQ*hJHlAU*U8_-?Uni2{?# zorqL!Y{i~Yc>wPJXHRYvctZz#bX;UT%O)Bh7g@*W80*rCacCIxNh9Ud;b;sX*(!JC z?4cs;y)Puy7tk?MSDvs3Pb@z$+zO7rN@hSg0nI0j%-SJ7Q6;Gj`&3IPBqQ?%R*E$q zAY1?=pDSd`ea!)U&n67Il88F?guG-zoa}PIKVveaLoigh_sC1%kwxdp?}OsoLZ8Yl z5Ba_2$9wNU@Q3gGi0>Da>UF)I&9?p9?tj1D?0%sr!#yWX(@hZ^1*OijxD&ejW|woSjO#9SAJG$Q!q zKUnHpr1Y(IyFCx01 zaqE4rU$c@tp9cE3M)G`$_<5H-^^*>+i&t!~XizhdyW6{NmB6{RWKs5L^VMH;$q@V^ z048$pt+(g%|L*pme|{L;dv32D?>D`NGnLb&9LXS$%wtW{7HqT3W0mc#Zkc%3Td}*I)4;6Q%hu?S<7NJapMgDH zhVOz2O-U1f{S$DtJA8ild9yoQwEwi5!*|qUAKJS|qK_)U#K`h+!WrF8d%n~^Sl3y{ zp3r7k=|2mF{wq5A9IyY^m7e|>P{Vm=v!V!l0TF%=%^;C7L$}U4zWA?CrO?V4{P}F0 z6k!_Y@ST4EY^dnrIG%w2^nW4MpA>cFVM<1OQN821JfJnb){)QKg||4_{aLs>E9%Xb zvz}T&pZUy(q^YZpRCS^8E~;5-c|HvXv~zLnshloHJVy$KXlbJ&{c?o;Zg=1QjTaA_ z?s=yW*Q8e;D(vSYk9mtGc0PN7ffLxf6Uh1_(k-IKU8tVbv$R}|C38AV%T+Zgb4D_R zmTP;4__e$%rSk_KKL1rWh^Cj3X?odI%7a(F^yi%e?={K2#0$IB7i2Hb?vmA--N^Hx ztheD)Zd3Ui9aB3|GtbnI0ng6>E!N>}ua$uh;t@KAZk%%S?Bc{AVBcBL%q#Hsvve*Q z`^UWtFVk}_AC%hokLCSX?C%ehwVP2Pkz7nn!^uX=;p7p8UN-#Ut$~I8_={P+FA%`W zOOm5db8mb4Bv3&id1`MLuKT*jJgHgoLF=RD@9sl$9e&{l4{}9g+;Ru}72*H$Kks(C z4<8@eKX2}K7gUiStS09Tx z8a)Hi&NoIoNyi4t&m-S|6>ioUQM1m)+Ans8IIWc76ghXpSL0HD3tpa_m7?L0YtRGWViss#fLz+l=GGXv5I3Si+^c%NDo+cvOR_-I zNhw7->7stxCZ`!ZRD9Du?2-SpI|HV2kw1G=Fr#Mp&VSxb#WmQk!JbAvsE{;;dVnLn zHNB?!EG)VZGrMAQs?;nG;? z!HW0MS8z`Rwa^V;*9O)?)*>lnT^_=UNYhhQV|1?+iAQ(1Gt)+Q>*73Qc`bR+qlcIk zDeh1W?b3X9B z_!Tffi;`SEmP7tmNBwet|FAz?JWL08V@W{+j4bOzoQFxJJYTHPf{qvLlD(XBk7QZN z(sQo;m=}O|fB8gZbiqdoc7w>A$0n$wO4th%I`8?+_)sRx!w6Nd23d|h$F&G6df-z< z<2wX?Dy8eSh*0R^00(I(A`|LPcSCX>b zhO)q{ivNVMrS{s9?OC{*Ym4_B6KCp*W_Kx>%@I6@Men+VXuqVy`6a9PcW+7k-_}9j`t~w#wEyTA3E^<=EI**76IH=4sEDsPreT z_F-5P1R6KKtQW>rxc<9D<)He=W`EdhuWosb)hUdMtD3}-rN?i)H;%7lYr%1z zc5K9bsai9Vv$O>9RFQuD6!G@&rU!XGhOW9{OVjH{bDnz~^ymYhtP@I2`C+P~*fU(M z5M@IpQa03~;wtP@+|SdyvO3W+#whqk%_Dgbl;S6Qwxm&x+ztMf4`9jHf97BLRIk!{)Fj@4TIGrAA=ybSOEKT>R3zs6AiO5aekY{_^`tHa=GRL3HI$82qn}`^}-N z>pSepCQmfZQ=uMnD)3D(Eaxe-ws(TwZUjm9RteP3O8>H>+?kh%-04tpn)f`Z+YIZ{ zRChPFsWcVoG0&mU_{<`2pxxc}pFp$6xDi&m3;cKfWFUM5KZ!1V_RDzZ2k^=LI!CS7 z!B@Tw^eHG#dWXaAROEAZplJ@Dk6Rv|k+UP(wW!F!evbFAQ?yL$Nd+Se@sN$3N5hm2 zH@H2^U$}tv3`J^&+SD7}JcYY^*=bKf?Yt)^H~82tax4XLX?kyag9$D>3)HOoBCEuR z>=~}xhwuDWO)4h<6>mE2BvrBbXuEY#@Yc>fp!h^Xe8q8^3(P-*ft$wyFMq6eYOIB|% zHAlBqmsX7G4e!;&AX%C=Wm{xmgC(l126@?>nBZI`J2#amog`fN1t`CgFt{DnzHjdGzsL{B+*vYLMCtLKI-jDq{)O1 zQ^5&Mh;D{`y7t!lz@Ng{6J3iV!-jqB+Y<~nWry#4hE1+0e*_)@l3+y(CBWC-H#zIT z3HkW7AGR{N<=iZtx>9{|tmQ;|)1@CuCCn!_siKNxMh9o`xrxrQw&?I3N|pI{-IPXc zBe$NP!ZN|q4#MC&caok$w# zCZ1qwy-jU6;OtoAWE>kKpL3fHNXtluPp)rkNVu0j`~<%WaH$M2uXq>+!>NA7;{Nga z96d}+CIm42xzWjSNIAH~x$pT6O!z_Y+57dn^rZj7w-(VfYWoX+0lmNdq>N6WfYE8AJfp}A4s(Xh-uYRy(Axj^{JRdSV)3nkVNE1S_okHNTn6kt{f?44 zHilL~M0L%hV@VyO7e6O&+5Nkap#Gh8f~u`#R2<7TBl0Oq6^HfIF*t8+HfWaw)4XnN z*0T6`xHg7OitSl-(mNkc1E00gq7Dn9Dj6F$R=17sPs6c+_qB(!+5JMwW2Qtl^zz#&vBKm^seHco>LD3DSR+OHJxw^;+{+vvf$M z#_<>lhM(X^0-s9J{big4Y6#GVug;@_>J7p>_%1bGd(MkMs3#l67fn?si!#GeP?;~V z5^QNkdOQmKPe_hJMfLpu?%M)C-t8{iU)?u}ZoAgN1k*DaM@nX5OwW*jp_cFBN8O9_(g&akUB?Vr-!B-?j2i$lC>^Z zQLBLt1XNPsog>GEm|TPDgqS!&`h=RU4eS%(OK-Yyv6I~^$}mA7ix>jK(0f^DU~tx< zvVlC|oQ7rtHe?RVmxuvUzUD$n2euP|75a9YZT=4ro=8K1N1@&3*f;FQ{iBI8FMjVM=bMNg*&YLn0t# z0c{{;h(##k5|!fpNA`%9u}4bB#>E^3QjObrWyyE|w~yO+pta_thqxp_jC`jpU+(XW z1p+%ah~-}4(NSBZ$849^ExO#_|ND&ez*$3@>{_H_l-necQz#N;LbqhhW|kUI^-HV3 zr;=M(sCoD<@m*X*l7O5A(sfG>TDtgX8SWdIHq+ORlO&+*qTDHtun&U+hs#=Lc37~X zw8=W^z-f^tkXqhhxc~WXfA}AApk(Qi0khuHMr+PE31=I3f(3jNMsSY6&k$T`=`<=v zSjikAy2VYA&h+9;F{MaKd&68q6B=hZL=(JZ@VOtuaLt)YyR#uj$bv<2Wng8%@h1d} z;-;b%+XnwT-i~L8C#((=r z)+-r7@Siu7ND^vvq)8(>S@bakM%hRN0;4iJ5*TC?jU5MU$zdDQLno4usn|t2;~dZu z(fwR>JqPdd983-uZSIxW_=1wzvYZcPZr&7deXEq7?Mj?asf#LggJ8fYt>Ha&vKCrcIp#HW$j0%I- zdukckIa*&9%LBBw9L^~&C6{^w)Hz(B*snlIWFI+3GAXgjqQcMc?u_54uH`sPL0fCFX=Sk# z020x*Kp>zGcZ+}4A{>DIte}pw+o9H>Vzj)f8 z`BD@of*(E9ft~i7axv)0Dwf>+6QXNHz&8vzx}dWn_m2}i5^}N0ndJyeSO{6q-!D*Q z=04Q?mhUa%A~F+Z1xEKhr2{CcFr1$|aHuL2Py@MSEEISlv zWl9;@FGLY9(kFGcqA&QLANN<6A3k<}o*)M35S_qZDmNkMd2HZaFnsS&QwoXoaA&?U zDNGNtB6844U!fA>Q`^NUJ4I54;p=X6(*}x}oMaN;3qF=sVB-b>zxk&#qC}iUSN%jG zts3rhpx4%VNk`%@}y$wtfA{=1~>U$NeM zg8e5lzf*?X6hXLOzRA5p(F`SiTj8_QJ71ElM$p-qpV+z{$2_80zbR#EDqZ$IzduiO z-unKOvNy(b6EjPB5^eQ`HdW`7{}fp0B{uml!1i%LWFMDGg@a1?pV#JZU$jJCeg}7X zO=?VF`G?{<5;;fy4!Mn>b)aV7{xTBdC1G`$g;aa&dv_74!_$_bHj`aGjkNiE zCpFHv`M9uH@P@w$qD?G`G((#|WWWn>;>hFJo-|Wx6%pocrflrUr)o=gx$ng$l zHPRNmp3~UJNBl+$E+d<_lMh$Q}VCv>rItv$m5+G9XvyN~aHiaw8z~oT z{;e%#HIDn2B8`rkPEb!kCu#R48X9p#z)v@dwQ7fFbU7)@p1N9Cn#Z#*yMtxhoJh4T zmGs@$NBnYs|FAz?JZ$=uo~BqCNBTa&J$T>v5NCMdJM9IZ*z6iaz>`n1gDG|*o0r95 zzWKiWk3oBW_4YVy;g!@xj!GZ(#wP*GUV+Z9p3kw=h#r@g>2bAbXGNzU>=00b8|@=Y z;g67PJDG*dp;n^LdUDE$*bd(~A4s#r>AL@HTl$ zwjTvPbJV)AaeIrq>P_^RxX)wn3UjMu%&N4&$NrYO@GI``7x%ttKb7W@Rt;;K_x97g z?gyX9@q5=&A$3%ct?JxFV>vB+Gz_%arohNgmnIA21fEZ=4&_S5@fa=iM?cP zPsVUZA@(H63%y;!48K1D!(r$e{^Voe9I3GA-~o@(jZvP{^+lJgvPzlX?hmD!&G;Nd zHgCtfGM7I(xFyMYb^9+)1RV_P;#tI$6a}``>6kU!_zaSv`o(j9>G!IZezQzYQY$>-L-YR~}li*Ze(eUuNsa z`!2F?uBos61@-MEsiTns+5X4)+O9Dyn^vOv(+jyV?>M+-Cn)yd6>BS6vG%H-aLQA( z+rWNvOC@)0dPZyKA(*E|8Ozbo#2H;yXLe?nO2xZ@zp453O;frij-kE(&X4V?q6y;( z@RZM9$g$6-*pdpdiPp}N)5jF~IeqXY>v96sfOgx=Ns+Ev0jBiY)VQ8V z{qn*tsifGU({r?X4^^_>Ln*&C(!sXj9I^RmI8)+YtyGDd%AJqkIJu3FFOdSBlJ+nA6z zr9NS^=lS03rp&ne6Oj3BJ`E~u^q&Q$TGflbuHD~9f!!}u4A7mJJ{1EHJ-yiJ>CMCb z$%0{@jiAq}{z6FO!~hui;k%&VPvxFbrCHBZ*&nPXclZq4+tZ=3EG0#>4#+z5r~RQM zR}8^F^Q!=u^_4}WFWpn&>Vw|j_#xi!55JNN+uDXe#d{CKZ*3c=IezQ-&2K|@V%LGX z+d2kLK-88mx}sER%5$9Y^*LA5y_X`u#BcuXhIGK+6YZUZd4^mnNo#16>Y%qDk4 zTZ-HtJye54nnzn#(J~RnpJaHM6tiHTyS@1Hy!^^!fouoZ_|cJ{@oTX6*MAn|`)XNN zf0*o3;9C<7_3UHxKG%5X7=0hyK`|#$>kqU{$eP{#H4z^E4Bz?H{sMTu&yT=_e~wZ8 zSe!rMw^q+1=a7uDe15{#U8?ZIY}0g;6w5vl zFZ{CQC;caC^#l4ovRi#^;R9a(;X9wvrAooK>L*}g<R~`#ZEg6v9K# zC;x5k2~Yj9Xz1rpme5}R0DQXXRQ12$znR$ebe+Hh$^Jnmf2J|U%(CLsW?Fo)WgAMX z>X)#3;RO#bTkx>;-vDaxM{)s-p_)M0@_%lNI8HH$G=Y3$LvnmGWpD({-}3?60AAJv zsGbLwVPIZxCO)`#f$5!t5jU zZ?spMVETCD==2Y30EXu4l=USIK;Jl(_>%m#xB5K|0XndQfRE)C)_4f|?}8?%7!cl=c!h?(xNP5R67|k+Y!bif|1^%9AfF?qTT?H6e_r=I$U+TLrjTE4xi8e_DYb!uSLGR#Z za7PCC!n%9O8_+R8o#pTNn^Jy%d;=VR1JIV!`|%CvzYEB}C9`k|Zve#tHtl~kk`Q7L zefKtzi}UC_v{ius)Icl0;|~OM`FM{#VLl7Ylp*_z#)Cxh$L0Dx;o}kDXua!{6Djtk@E|C@Cagu4gRN{i*yZ{{&|i83A169Q(L~zt0m}#4 z7~Z!+X6O*ve)WPW2OLV*tf3qT{GmV!aC2bzF0fsXs&+kKhEwoxv-vn-xZW*iODMtF z8jiOQ$_eJ;4lV--?3`eS7cFvl(Iun2Hr{OwK=pyNQn}yeVy}XB+TFA4gL}rv&NlJ2qJ63NFyL?a%VSo< z%VYg_elCzIT0xwigEQ=*k_u!cfH}o=ll@s%$8(PSK0qoZABMJ&5~#*#aDQOqMdERxUP^HM z>+u2DP>gY%av(1~q8_eV(8DZmz*RAy^0;7-eWQcTj9Co|a?sxL_qsr>2X?An z(n7~FP12i*uV0!!L;B%vd$`{}(D&Ima+x24nzyxq59O>t)&m^L@dX{hft+YKUxB&* z4Cvi2kNaP@SG&Un9k~_7$iOl&lMIKDf%>z)lP9|Joxa`PJ?ytvo3kOO%Iy{Mw*Yw$ z^`^_sNF%PS$@VHty-saeJc}J~C(qt*zB3=~vVA=SbIX6W6Qal>8MCKyp`#AuZKg)< z-z!ZHQBcHn;7BkKh=haEL(xfi;g`=cQBX6iO4j$_APJ!bhE!~Bl`ulT5k>MvkuS7eUri$mE)InR#ae1 zZNWSBY{!K%QjDE)5pBM#4l7~3KTvb=q$RCVWfi07M#iJ>rc?U*${EO=Ch1UA$-UzI z25|mndv~`d*CE@|N3aeXnqU)06bA|1w#lkjXJhtOK(+&48xQ00In^dflFrzQ^0H9=ez*U4*gyQA&He77m!~J& z-(>8@N-AruWz(EOey7qhSvwFL4~yQBi0tXH4iKI}hUk(LyJRGZYW++b)} zic{zX&jXo-sU`vCV|+DjfYa>F-wJ5qL9c?tK(8$FW&p#=Amsz3I= z`Sycg=UYS`e|^Sqk%teY(aFxYCRs>W=Q{??k(b7)W-e*=c&psc7m`y->6x+W65a9& zs?spr6V2~P5lGjj=o@H?KE2o^(o_w$BKEJvG%RLEcS zg15XRuXH*6tO0SCi&Lu|qz4Gb`8UzTS#C0WpC3xV`Mdn!C6*A&Dj5EN2oKd(n}E~y z-+{`#*ZVwqpDXY1{PKA7uy6l;$t51LZ-!WU&5&xd$^IHDrrDeLrHs;emnD1n=JmI6 zpP}16#^-fTOb!&r@D{#rQVMg_RDMwN;+nRBd)R#YM({36sADJ6uCERE-?q1t)pH;h zFX8GrG{#2GrZqmZ3@Wgj;AOZK635DI?XgEDTCgtn_G=(b7tYzNh4Yi>{T9oq@j8j{~;{AUYZ_*)CXOcCBrP^MlIf(o3WQn?h@Ocrnr@COFH+<&995ct-0M|B^ zJkA-y+4C(fO4iD;f|e9jrd;8BZK$ui3;i2eQ~4}vf~lDF4C_~I{cL^YS5=_pIlJ=- zD_DyJtaa_3+Wq0*ZS_nmBRFNL!U_dDgv{BfMFV)WN+MMTVa-mvOHr{AYnhW}m4PIfKmqiOzjfq6W_hIl#&s)OXj3_R}SGH_tQ}8;7L77q?S%5a26_YQ3U?V zG!(ztC|g*6ROVE^kmx;?nrYYTzVpj!<*Z{+1r0(O^Nq=T#+WXhpND&`*z*mOVA=U3 zNyL4wjQZC&J`HOTVIiPOk2a6|s$M?rmx2 zD9nOqBVPhGFjDxG6oiu^BBkiXq;Q+F5_eDQQLf0p9ppQ_`&EEn9&aWV>&YcP#6H9{ zDtM0XJetA>A2Q!b03L4hTj(~yR$@tHC6*RYogYCz@5Z;MJCd_9Oaw`p%-Z(CMdWQS zn#qNu>&ZrfkSDC5uz-*sKt6hwHI z!Z!|qZ@c8OSMZQV!9I_z7L=y;{7~_$s53{@5FM^0BjBrnzR`{id^w{T;LalXtJ;g5 zUy!Gr!L)G{+!&+Wx}X_wg)^F6Xkl!v?DB*xf>Ta zYx;yEY+E(*pYihf9jM3r)E&;^v?zLIkwd#nj5a9)Kr1|yl$%Z9-%Tx94I}JXvSCtvR6gAF`_2Ax^YHWTa8{IWPq-(ww6FsZ zY~tXL49$IGqZ1r}k}N##Bk*mYN`ttgu#!m2b{V1m>j5}3>N_$5VBE*(9cNPkKLN%C zK_doq8Hj9NoPk?!M$~(AwsIq;JOF1-)F!r())Vk1PQW+YyY{!;Zx0_X+8=Eme!tyK zZi&+-LRhaR_~;ltSX^UGvZPc>;R$ePUtUN=)I_UE-%9qux7T z;7xXHjHk*uOag+bii_@;rtBhrY7UBh@ZG`YYuJQ(Q*$JslXrWy5PCOvo3@u(@AiAT z+vFy>F^VsI?3-=@{pAzX&h)Qeec~EDf(3d_b@O`s*5_bTJ@-JxZ@3OK+*^%n28e{s z=ZN3n9=S-GYcb{5?w3hlq2L1DdVwEot(uTEhsumR*`d+=b;PJaew$_2-MQRz8;9jt z(t0!6FQEpzy}S9hCYMhQHAF=s`RnUvf;*>dHbiMBHwJHsd}g`pTn$~bqWg}~)l;lR ztDPaoB{0ZZH!7HUwhuz|>_^&y!VtX!2$RuPD(jAvHY-^l;8P-?u?U|K0rMdw^yGTX)$*3FX#X+LzPNe3B{z$72>evdHFK<) zyaNT8a+kFt#*^}VQPe2aSz89Bji9#-y&0xe1$3z$`&MiCT5Hk0HYF*t9_XD}+`mbq zxI_!}!JA}SH7;?4KydPEbb^IZ#C@GT*|u z%btS4+Fl}QFCCVUvOONAF1gDtlQlS^{9&6ASo*6t;JR-!bM;q2QBJ`~84D zU4~mjisU0k2&r+#ur(oEE`pEVff30{{f!?5M@|#YT-l zZt<*V%QD$ckgAtuw`j^m<&pX#nVsuWC~66~Q`FTJ_xFVR#qh)5r#6kUAv<))J0IH! zZ9J!TN5?L{O&Hj)pSV}_aC^SK*Q|0+%XsF$AWyFwB}=JDtSbpiUr7LOI*IqXUiL2V z{^28qveBee2#j-Xoa=poUmnie-$!7vP#QOn++{Y_WfOk{+e`KmOx4ANrwJVOd@Is7 z9L3u!9XURCINofmHHbBTh#p~W&L~+Aw-r_VfMlH%1?cArg53lY6Q?mlC2V}q%k}#n zYrZ_^teOBe*Q7T;1AR|BiAQq0hTicQ?JOyJr{gQQ=TQIMvFTA7HaOHGheKPQpCxqS zCOnC=OEUP4WwB;(_-z*0=am1Y#qh&VdXzlrwoECP(382E!atGAhdBPOSCp6m|4zA; zk3Ynx@N625hE21y$TZ8AGr>v~TZjG6WL_6&v0mIi$7RF0^vKB7Hz9}2p1+lMb-43< zoyU@yF=DPnMO!(`Tf&{cTkrfI^v<8hpwnK{D*SLWKD3X%*Npp*Nq&YV7|ox+owQSj z2^^n1Y06gWnCE*DE54$G7IXrp#;-n5`5q=Vpt9naWTLG)5iuUh_1I2{uqeM|1Ou!= zyc*Bu6z}PYYoK~|E8uSuaB|eT0{$KV|8)QO@nZY1p%XzD3PnUgMXQn`6|AWHS! zfk(%u(ZMV_359AAeVZqMPxWby@)Vl_L)|LP>eAx$ITH=LegmiK0&l$eHX6esM(R&- zCtJ1JkekXd>b6P2D28s(TzVtmB!*9h?9dD?f6?xzR7|0 zisKCF7_Arhq=Dkhe9&iY%cgoQnjg1!z1{7{L8140`+3*tgKepNUHAU1>x=$YUvva> zQWGvYP3^y+JB=T1*_vdQ_M_3aqpM%-NZngKe}V#d*oC ztsc`!si8=&tE09+{bMtBQ40p0DCwY>X zb{xY67t7n&@f>Wzu#0i*u@Nr6c;QBmQHH_`cg+nk>nB8Y^EZa46+wD9Hq3{II+)yWJK+yrZZjD+Ng_ z0zOfWkx_h2&)-6N{_Jv-Sg*cV?*Z%0r^f^JW@lPV2Fu2MHlFcl2ozAr+gLB4-yBM}3&8Gf{``H(x?##%5|shOSn3 zPv&Wg;yIyOuc04oy*N+Poqh-#ZLsL(=V{g}u#E=$GDmQiAWC)#PDBG=ALr}a2g*so^u%6vuI+Pg zru6dJ7C-p{yCv-B*nwnnC*hJ;@0N7i12n{vmiG$rf*>BBOxgpOvrrZkuEJR2098~ zeGxW}*COM1n`={2`p0_GC&79N=g17(nJ-Su*bQ%xdBk4>n(ua3Ujyp5{U%WE!9qcX zT?=i~VLVF@lxpL z6&iMumcR)|64A?S?H)=8_prH5Uh-_Ixg{3L1J9arUC{r(8p)4Ple*ZB%*0`!bEAFK zbM(us&sHFV4(cZgmh-`;nHF`;O!e1$f4I1MyxdW21mj7=DmV@IjSVr)5yZU-mfavN z>sl!%9JH?S66=~$y{{V5o4eg7vajMK9N{^xb+CaS#UU~{d)`ro-lHd(WZqF*ZsQBi z+xBm`|D96Liv0~`>n?N+6^;-p(NXbySE>`k?&0C)dmNNV9d#EZRhX^5l>G(vhr8|J zp3=uNwbEDn65O!9p3V<=g(e9TL`(4+XVNNb~__h^CnlwO*ql{OH`g<`QhGEwt+-sT$p8!97*LAR@+6qi1PmK#Kiz;G>qWQ16b`bCa zPdY@0LnOpu%XNnOz)uawO-OuYOxL7r9D@RZUwWHV=Cj(s#Xo-Y6;`yDBy#02?)8Dc z++1&Od+hHgC2&pf)O-ci+DXCAk-jI1g#k!&;xBv7*l@3COoLtabKd#(zkMPrb{KxG zJ5d(SLyr3V`luQ5vZ#FVCqsTp6d?+eK38fU2`1|z zKg|OjXf?Y%TN)CK+eMPeYIO;w$HV?+a>J;t!AVa8oE2qyefk;tb1r)RWe26NbzlST z5D7(*hGMGdGhJdnNo_S`Lms2b#910Pe7#K2ZlFoF`IPwa9Zcrg;}_Ux zQe-o!RqaIX3G9!zx4XN|$D2n|#6>F~$c~*u8aKL)793j({B1Y=ZQ<&BK&|=6Zq(|s z^>_4{6|E_i3KFjl|KX;)?&qy4wHY*DRI^LPSbIu1!D6s7WcpfwdkyUBErYD*EYfu; zlgwAgyhpp^!|v}l_wBE^c)0p~^Z9PKeQ2-$!_V78_mi3m0m+cFIRh(1XxD^3cAR|{ zko6YV34rlOHM*2W9Y}TT5MTmW%J-l7)tpOt_`3u47WnXbn_XX=IZe7$mQ~g>4*LK=A+GdXG0Q%l1l@z<8k6^#{i_{n+&r{{uIhJ=> za=nc$r$?^{`cJ(t<%hGJhm9uX2e4=!ypMB`r4*h47|mvP2+Q5Ty>m09hKqV^_(E|ec=03x^lN+4DkJTfkR~}dh?p#x7mA# zeqX|ObGh#S&T>Z4DjC5pb7;JGoLy%86qqi7=Qr*lE=FWW08=U_k9nPzxzpCm;g2Wa zr*HpBq3tv2LX5NR0!x|~GoWtY_w0i}{158bXZDr1Fzd>SSXU z_CKB9Rd?BM?)MM-8_H8b2h!mTPwr;O?2LAXea}npXeqmPzRa#-yXFb%+xz>Qi~V+j zbECDTgFDQq?#A$$2SHx%5X%1ac?D&sARdZGR)5T9QaaV2 zUUX9ReXYyi6XFw{^`6hcWyZuN4B`0YGI_p}C zP&d(g20;Qx-D&<~4ll2;@3{x>xtHAYiqf$#>J!{o7kV)e9CtX0)26-dk+Z;tW^vg^ zfrSg`#AWyz;SovXWSN{>)Ie=dWpP#q3U@4bAGZ=-zTJ>Ce`_6_pc;137C;HAAW|Bv zs3`gb@Spzrk01W^BdJC*F*wES>XYeZy8iR8S4ZZ&k>65g2oK27otUa zA-ZH(R7ZY_-bxkbYZ~{~(zr9|t&UO>SP_3~h<|0jk?}o~`VrXLN}Gdme3@|lh-?D8 z9Rq6k8+Q7xVX;pw()!dDg+s7}j!NOvgm4HV->n*JI7(o+hJ>;gO1JJ5>F9H#(`Y`(NgJn|kz#7C9uZ7l(P zSkj@%lV<9e-(qV2U>Gi<7e00lP3*?|Jo^j|4D?PC=PNqwKEeBMKm7fN@BTsyd(s3c z%#L)DwSH%3UU&zh-!>_x$`yFk_q{ylb zuhz{Rg03QQ&+=*xVVxb-%XRT_e?b=0>xJ}FxGB!-3irE#`&=28G6$kHc!k=Fsw~;Jf?@J`K8&3g60s@`Mz2SroknVUAC%Mo?+-u@n5wunv@R0 z@J}fy#*B@4)3fvZHytF!1^(67uv@wo;a^cU3d4Vj1H0n?KJlLx_2sKZtt8lIN3bFZ z_Vl*X6j-YDy3SUYJzE8CHiZ|^pgx}>zXp*(;!1w~ zngi71!Xa5YH7|EwBsE}@=SU5pgHw@1BIvkb*c8Y)T~_oGg8Gy~P$Efi@X*vW*{2!A zo7?Mc1r|zBTF!sGLEBT2>uH$>bpNXMb#VUE$KBO_d)R!Hgu1x7zJ7d|@NCQ7Byc_iuqT(@SA9#Wv; zFSyOA;$J#zFX;?Sb>y?in`!OHKY_nuM}89ii55NSkG-~Sm)*8K=kAl>ue)#W82o7s zi%h=#YZHIrP5g6G|B0@?B_IE_tH0>3{we-{`t!HnfA^=qZzeV26G^OHJHBtN<9odL zXG=+2M?U^o?2kz~&Y~3B^)o849Ra{K3W0qaINph(@lHhn!gCJ6WYdp&|JTOP8*KcX zEi!HFx?1r*v45Tfl4ML$wGhw#cww0q>{zcebAG+WdQh|NCkFP0Hk~ z&A(@%|J^kI&L#X==Os=QYwxc}N0!+8JD=}I(fil-&l_z2oK5#LtC!%rg#LK~NH+eo zEc06%e@}m_MK=DgEq<$vw_Jqt{W?E9U^`CB_bPtyN))A>1z@)sx}y%qbnjr}y? z&#tCbPw;;~J-@U0eu@;*Tw8u`v*kBQ_e<2Ef9?1!yW{uM0Qjfv#Y6jd^;mDV_xCr{ zLvMnTh%W`!Ue|Mxwr6GsmhUVM%ignV{nGzzyz7!$zZBkm#k&q+K4Ed8bqu6!8NACE z8V=&fCHIYWiNDRS9rU_Kc3aoL%J)X3d~f5jU_ZmB&}buJa>iK{(b;c0w7aj_YUmcU zx3Cg>i?S{7ih%!PfB4)#<(K>W2h!$1JFTd>orYt&R*hG)bZxvOsOt!6@BGggP6FN ziq<{cncbf^Wr20XU6R20it<}0xKB-F$%K6!%Pn>+2VHO)=ymk|4uHOXym~le$GUw) zNr4sg5qCCmbk31dyp85sv)MMi*ym~2m2E+1JZM?ef94}!I-u5tewtw$JSnV3K%WA~ zwg`vbCoQ<~P<@u!Jy+wwo_qh9k9|eQ$pZUH*rOwd>p1Ko=oy-CzG=$_&386PP~Ofr zAv6(oHi!~ugPJCU&tV_R^C?q{?1aHS@JwxR=(|7o{*xfJMzO=aEjbZK14>D__lpVl zL#2KO_GH<%V*eJgpY${FR8MXtQZ1WE^&IO7+LWeV^_4oaZ0gL(ttOFP_hR1*(v$Uh zBHe^nO4PzBQ76r}NgES#hPD!*mP~*;?ZS|B2uFHSAqjbEa#mT-kenr(48QwgH2`=J z#By+a)_>+RA{H|~dpzuED}zKr4x38GCd7Uz>V;RlEy1jEY^IxouDD?rU}ej8Ovxqj z{KVz52HqFv&P#2KB73kv9LN5%V7Rh?m;B<) zfoX5wyw1_y@Eq;p%!#Q^t4`s2KziDa!no+k)l|43)3&k3GlnPV3vM;vjL0~Uxop|S zbGGyl8f!8y>8pjjm`8lFiRvio%i2VJBTdwcbGoRjPw*40-)wK~;;c66+Ax1VP`7^~ z+o)O+!q+zH)8A?dZPbf%`>5pHbM2$PjXvtdnUtnvExC!1P;P^YFL#6Xjq4X0n87@Q zSvjBCU?RMU5GActU$Wxrk{G+)vaY8(wO|$!DH(?}R#T&5xz6R-)E}ZrSnu z#KC)f&b7!SHZ9=NKSzH8cGwB4pmTYgNWP5ta zNwn8q%zHum_UiGzgPh(cmJlMeZhVe&Jmo(3%OBjB9%hQ^U>?_h77!wqvX}5Iizl~I z3@!bHfNvU=-5eQwu-@^PQovoL#NS1N$q`1xj&N#$Nj$ll&|)tU5?HZcF!mkn6M{f( znW7AJ=?z@AYu~u&7^8Dc6{xM=R8st2oh_RrL+eI+wwi$T0o3~)zVmx_YB7PIY}iGU zNhK((U1JBOwwD*}R?x63<&=lyjt#knsS{enoiHUGvj*P(`0nq2rR*HECFT8a0$lcq zvw4Ph=LEI-38!?p_ z@TB-xG*kwM3cR^ldU0N&*KZ&_ApXS7z}cH|Wn4Xoy=^Q<%@ZeAtgriv zApfuH?d^xd&BJDY`1kJOVgKuHa>A-izm^%ny%LQ4H zTu`hi7t}+4vAw(8AGTMU{q^?qZgaJ}zu%E*eMliu#hgL*9dZks<%oTvy4_k^&)4nt z5vtykW>@dVI#@5N|IY8vy7D|#J_28!0n(3^mW^^So6_jU_BqkZ4}mpKK(NXXfz}xb z#R{ItYLQl)u@$M6&>6UIf6c|ibTnwuw27kGdH5}`s>v!c9s`4}vTCLH(!b_}FEjS* z9lP+eR)NXD@LeG6UK$KkJ_@^E9=ji(5fqF|p2`a>I=ji*aI!+A2JD;okzE6tGW!xI z1_>VAB+1++mR$eWJ_eumZQcLmHF%OBQiWiQQt zz;%JBEU=+oAL!``cv2Xg69r-pe5>xz=$t&G*N+_l-WHm7Qoh5N(B)#K&va=cFc8YhnfN=u=9YB zU^SB@k~8U-!Z+^0Zll39eVlbe({0>TFG2YD|r{%~;n_sAeRAN)4x!2D}1 z>IS+KO{Ld{zx}_>vz{Q8_jye(Tp+tvx>1%B^YI!$Ab^m;?K*zMKk;c9_v@_8y=@Um zAKCsI{v^y(G7-TJ2>nliDQNRy}{mdI7aO0eH${9!-{w1UE+|hQ4&Y6mOt4Ep!*Bo z1_XZLjp&JYWqs4TyzMLCd%FWBtwV#f4!&|uhI{x~ z*26#f-Kw5|b6C7qWs=$jU;l3F*6JD7vN~OI!xqKMAhFLSe)xCgIr`G>kpuu^%4+fz z@&Did`tieI`>=Vq8T@1>ttXsGv?e{$#J7zLX@&&QH`>`C&{{x7IQ#_;L^jLFbhE50 zm$+XU{r}xzKcRscj0v7f_%JeOYP`zxkU4|NY}CC4rP55~SN-iTNf7MAcYzPZ2|M%^ zasSiD-PL}37_a;g{r~jmZ@>TUPk-P1^rhWTy#SeHb;4Y}8Rj}{!Uh!b+1QubJjbUG@dXzx8-5RN-rLBY>c!Hf`FQ&!gdH6#PWH~Y z`?tHh>qmOLn`ny?v;fq`8P0A8dK_%9fiJ(IpyxnfXJFtxJ|o)W3l-H9snam7_0cau z^t3OuLBfJ_hNHZN^EhKtY*t5t`at|tP$P0{BE2L zG>c@dTPrX{;O7Xi<%Je`UYJ` zi$i$F!-!TqtgE;4N1cLm3IwfeAQJ>QUCfP5M$MtCuG$2JKOg|}13@r=Yeg+86-`CQ z_~~PC#=GDYN%}>PLi;K(A_Cqkj7lKU2M!D)`y?2+RcJ(=LR&HzmUI%xS0VOXX~7Xl zE^y{W#P(m$SYaN51TFsw7$fi|xDjoFyE4&u#Y6Dz;qqp4zkB$w>wYl72(>vxvNV9@ zKD25~cC*mElZlZ%B8ed@VfAG_{|J>Y9na_v5sO6@C z9YMfzobRwDA9wU$n!{Lwzukq*heSdDL^7x*@YG&cBBfqX#=p;jqq>eK{>di3Q&zc$ zHz3Z=`{8-8bfv2r-haEfe7xHAN{u(So2&g{iVYY;cBBk1BJg87_AXd1(=_Je?9#040n1(n^z-DfZXQd+02mCyC$Z7YnHph4aqq0)4LN9_YwUlYW0-4 zVr}dv4C+mw%DL6He4>O~7}ygY^@cRaTfu%yVAFVbqvK_2@e6CuS~6ty%ng%HqfCPD4(u+^vwmHOQ|A*R-E$ z>bwb>jPZ!+ZI{_`nsMk#l^3b28IU^9p2O%2YwKi@$8la#OYRIi`_vO!*wC9MSu?}1 zwc*=k!5nEmo5m!NN!5RzM^&#X?h{;TZFOHw3HOB5fUy_zJk#RT`J!f~CCaqSbL zsg-1+S|<`sb(`^2Vi%MaY)YlZsebeI<;9#5yz`}K$v~nLaOmKSUWqvJ6_vD}VE(rs z{_?Nyzon{o)oY@#d6Qjc$1+AlA-75yb`=*&BKoix!C#Wp3aR6isF2gXqJGv7x4XOT z!~W*5x%o7vcOPz!-$)}|sy`1`@wRhDoPjv|9%NL2zRfGisE~+nw)gipR7ux{T1O`L zXxr8))_ycn*10Bjro3z&l`@eY?><{Qt@r*pJp}z{{>`sRv7paEC!|g7##yDwL?7?o z>%`fX!H+?9jvWT91Le~L`xy9AiFLrf|ID|*t2n6p>G9*Z4EN#w@#FBL3Gqy0Gi`l_ zz5ku;;ZdsoW#G3dr{m9O+pGbc*co=(XFW`wAHMU;y;yN47CZry`;p0!}5*x19!(8_1+<~RYJ?;d|_ z1LpK>*Ya8IZL8`WkAK|`e?3FwBm_mm4p(yR#m|Zr?a{Q}ddD|9D=(}xtuHxU$BvC8 zwKEmhBLUne$hI+3;~DskcTM(&qiTiHu(ZU>8r+}a@6(hjL}O=O0(nIvYxt(qi1V|$ z74hXF{&9b`KkT-5o9it(h)EI=E3G@B>N#AjZDjZ3%hjjhRp--iNe69Bg7E^03j%dCsS_4k&u%+KOLxD;~Jq zB-T_gU$K5$SWoL5m>5VJ6-J{_DQ3p&jrU)*<+tO?-q#S!*;Tm*DKuU}peZ|hbrbao zor6I8kHV0LCfi;~`{j^(0foXsvlap5VBcLtor(4O?j__CN(a``t1%c?(ljBaIa2hf z9J@5Lpnr%C>@3}vTGdCUq$IYd1te{q)$Hc{2Apxhkh=27N}OtXJ>{2YDEk=3(r;2>e_Yfwj?}*nu&jcZL?^bvdV5*w874 zBzW3E2`j#b@T^aJC`Y|Z0Dp5u!Jk7W_ny(auM=zK9l!h9D}G`RFTprAZ_brL@&BQQD~89L*W) z1e9pd1k$jl?WKU^XyY#0aD*i4YGOaJ)fzl)EP%nDqt&yB5*aq=5h7Iywwy{*%y{9o zXuGYVBHa_%N6d!>_UUBac zn-5yF`2alXucSTt1n_ZzdGc;s=cvv*s#c(UeEI!u!+Ppjx6Ex9P_Ka9p9x@G50bE6 zak_qr`TduhKE1ZCbv6|K=)3NX_j9Z}1)UuG0BBfNo_*^LEIDjsn!~x?ire1?#2+8_ zS06|N2~Ae%SZwz$%_39Lc?hr@@L<)(*Oi1<)kT}?z>EG$0sa}zlUmZ`?h7nPp&L7F z8lQ_b!izQyJ6#8*gV{G4yw8%3`yw#jbvzl0CKC)*m8}@R6^tn++=}s=$N2s;`6!ce z-|(c&92d=A_$d2^-&ldjPW%TM>8gk_uSFzYfBx5Z-~VOvw;%rg!*_q7;C6w!&oJDb zw?{9T_|n0sZ}{EQvN)FQG0bT1QPr09E8u@4sV<%(IAJIo4sji=s`+zosENWJewO2m zF=|T)54K(t@3#Ue0TAO_JyVft3{h9>Yd#A{(}vhU(8y?)oOTcQ-dw z@tjCq&ovKw19{jdLtbYRV06r(Bd0ln+p6-dH35X#whMEv7uNLGEAy~F{rTJPzx&hQ z&&bC-$vwxSxS2!NO<=P!OYRMOtcb>2H63)HT=JH6}|C{OptX$oCW^& zFgVx}`Dj(tWIny#|NXdIg@BZyETIBR|B0bi}|< z-ODlf@w!XQQfJzqJl5GfcTzDUx=hGI-p7-#!^Oboc+&hn==6Nal zT079wO9tzj@Dsq_Am{w_nv-y^OTzC8?sFK4*?N+Z2E(pZlY?fY?|5i8!SX|UDYq~H z&#&7&++FvQew-;~MeBk;<&zf_*@(k{*G&p)9vx4?NCgyfjQmutbVfMN&P1tPMGKv; zxIgvCo3_YvRHJ6yFd*TsyJ2vWz)c$DIeLQ((*y8Y<(Cs)I?j0x?1vrRAY;Q0TcwGd z(sU_PPzCp=Mrq_uxS~eoxT%ItbF}25PW%RZfI6{;9ojS4fzP7Vl0{r~wl|)3iR{B8 z)q3ZB-2cKEZoC$xbfA!96tH4I>UsZ}AM4Ad##cN6f9(P9oAIA_hyCGKinQvTc7o1a zo5s7$>B4KIehZC@fxlVeVQaj|?$PxA5vQp4p9Nc^v0hvD3GDQ032BhFu9hr(wd4uR zJtMun;#b@MP*+?lt4MWbIFXBu)|%t4f?e_0sMzb;a=Wll$(GpEs98&Oo9ZQVPcQi7 zP7&FgSvhbd$jiCh74GH1{Z~rl+=@VM zA9aogsX>XT?P1}k+6MF~WB0nt9iUO%UJ|?^hq~8K#m-y^&7_CLnsYBd=cf0&jdoO< z1m+{zCUchf@zp><*oJmU_*5hqVhP5s-njbYl|Jr+PQBJ98ER1w6GUX*Y6N!Amu@KG z8m={43eSQp1uJ1GR5Yu2I?A9{y^S_hk%fY+EJySZU-eD`^#&Mdb^tF^sS#+&^{(hd z^AzaG)!(G48@=xJFL_~aUUJaN_E{vUmvEw*R zA+2%WsE&KYRxO8lW_;apc+MpUtH78$obZSkSB>Ci3e}J zm0WrUFiT%end>X+NAb+R{OkK~&*{BsntQl5-xk_@!!V~Vy315^$C<8TfGfGaG&f!|z1!=c>Z!$V1<^?#|LzCKm?R$NtSc_8{<7 zo|oLZa`Ntwrz$#?`DWp3MfddCs8`YbV}JO(`Lw-wxc~5v@BaSR&E(2plq~j8MT2jJ#*bNzTVk-jBwM79|zXE)2_B^l$`g_=_keablY-kOiFb4HY` zmTO(McNTy?S*#^*N%^i7{kMnyH^=@ADX>m8XVwI7;R)UVad*8P#fon43ALSysHx|s zt?B2OtF}dc4xUYo4H;^}Im?DU!-DErB&cpwMVmtqdP}aNDNv z84tUrc#&<2)}=>k#cb~9o9jtUeG@Gi0Fgj$zwY6cR&APS=J3u)s%PUcQ#p_gZxnmt z5=z;Ku_5aub_zMw<4~RC@rT_M^2V4TNaMR2-ugML&|>>fz`pgyLM|FwpgjWfC#{G; z=@&F?>n?r!4^0s#b0l3;aOB(ijnTfrFMaGs`%L5&xb~>{J1}tb#)^73u5@X5edgSN z{m7u1n6O)ubD&0V2EpDpjypL$4$D z;;h!}p^b*EaC)ojD@W?e;;|qo#drybSfFBJ zAA*xc%Fx+6P8ZHU0}&1dQD&cL>I>X}CxChlocE+4B^Cx$qw_3Lz-G%=7Iq2h@|eI5 z0#Si6p#Lm50Fc32#RG6oXJ19q_`$#~YudK2IA=2+H_x<|FLC4)xFnbOt^M-xK60%^ z%M_vB3-I49)WcfzhwbHMkNmhLeU93VR>qL?9U>WUoN+$h<`0JNj;`UH(DJEz5pmm# zBD+1~A))cboCIoD)@U1e@}4KPp=XNvh~#Mb%^UFwi4GP0a@IJkdta zq5t3+LYtHewr;^^!3(x-;dx+^jRWfu0iJ;We|C2_%uF$7vRXj;#;LKX|1b4&Hc0e* zC1eeIKC-(78s`6L5&zGGdX#`O&H$;Kmp$D8}v?HGuty*s;LE zR6r}D0=fjGhp#j`I^!Hr`Jr=~>>y+N+3ibW=CD49Rz-g62+9r(yGn>4B```Dff`a( zTh0j}#r2FKJ&aIsy`Xyqx)~yYL>ga%^gw?1&?xW}^q&RddW+~D6~}O_E>+goNj=#vQ~j{xluXv=6G6Ged+ zJOKgB2m3g}+yb)T{qH~X4}qP3Xn;K~GJQHO!d3S*{o0yHKlJI6?|>lImkb}Awn3TMbp)x{C&piAW2e0SGup&!M>-I@N&e^W@wVx zvTAaeXSAGp;c8}%2u_iD!w6=M7(p|g{xknMaOFSNvW@}SHFPGELd^JN*|7xu$izUi z3r6igL7GbE$SEub+X^xp-p_2sVHvJL~8BxWaKpQZa^jGXi3}ksKDnTzj`px;_7;*Y$5O{>l7wV(;`dPp{QqWUh;2P&14%+f zJQ`eMqT>VsTs%rgzTB@4rN-Bg8D#z-A$WL_(0>1XQ1i@{ zgY6}Xn4KdF<%jyXDR=%U2mve=`p*Kho_fm9^bw%)LaX~GhlGwE!yK!LZFSBcC|FQ5 zu-EKkc9Am}2KvwZ9&(viEan7I31P}1k#;@kTcBBfJ$Mjs60xCF-rb>J;MwUw8w0^~ zaQM!z4N_QY9H2zz+UJkPU-afW`r@`|cCBa|pczM=CTU9VmaFW9Lw^mUgo4 zx|jn%2~3)ltz?R%nq)j97r+ldPVDx81$R?5UtZF|OhYGP8urBLB^>~=9T2^v_7M%t zC~CvMx0!MAEm{hAtpgi*;}G2`%N`rp2zQK!@BDs%sVz9y8@Tu<9>2lckiX@`1IRA~D2Wkn4Ys`Rs zUL$GqmZZfh_zp&ly@cQyot>yjb3SGP_eJR1wDRrt49 zfdbC~f1$&b4T0nHFOmbQ=mGKk9Q05B@i0v3!FPK6t4Q>dhv1EgL=(_YYDKr$Q?I~^ z{Ts)gb_7_le?QpYbrs-t{M7vqvU%G+pfUm{4JCUs#$!xCrr5+J4i`H)fzxbBN)Z3V|)efM!3SR{Ykvb459XMCL!@9rT zekPqWw5Pdq2${+>-h~;clfDUF@x?7{sckz%^~@flIC!1SiMH8tMLEo;c+*Lnjha-v zgLzY-i6I~V`@ZOYr;t5g02K`C?C}Y_xhh&*)w+7t)@E!|_dE6rmVB^-;+17+E5=Jy zPRpfm>5>yXCfA}l`N_*r?{ZJ3ZEZE4$o+I!{XRF^D3;>g`?T;t%Zu3h^rs}96fr*@y4X?|*RuXGtaA?XGmxFhjoM@#f z)E}EYzvr9of9@_G_P>(N7~A_U3YsxNbK*Oew!0=Lfnk{iUF!rpO}<=28-VXW^M@)G zx7y&#f94_R`k#WmHq$v5ax4kZLl8qs{02?g`x*{GV#ogz|EuF-o8-OE6<>gV9ribe z50BlSNt43pNv(Ozq%eiR(w9bMXtZRirc2qjVQ|jA@zYe;Q&-5B4LNk^D%;_TUZ4bH^;^wYIFAj&moX=c@sidqzX|oejE%i*+q3)=ha7 zt7UO!^0p^yB(k9~_9`nc-$wLVCxLG$C_col*L1n;HliLxOUET^y3$pj8mxL+LlUzF z)J<|Mt5_8B91=gg2Lp~)j}lntW1bKyq>Kxh%Zk4e=u@IHE@n?Y>Tn*{xyL)s00s%} zvEk3sed($*?i{lbkELbIID}CWaVdRbAy@C3Q%PLz<-EAF^webIW|4yq0#6513O0?) z4D7gWVL34?k`s#+^^zi7Ef9^i0UE>_z9qCTSK^LCIMHjbQoYy@fxkacyvaNr#kD|b zmUSN**Iib8aTyEJs&r=O^d8RXy)36!ZXu6)hx_%--R;j5^ub%wx)p`qWtPo`Qe5zwiF;3G99DH%Zypx8rkOeId2nH|G{}c`fGNSuyv`+0~pEjpEm8Zpqc$H|Lgfo-}k^%Q+7C zHOsmG>S&c8wwISZzmgovCkfX|X~*GJ5)K~%_f{y-^W!{>wMb zyhUa%sTp*n&V}9J%Wqoo)g=>1qjh{&Hf>7D*W*@<6RpL#ib5vfwV#xP*KJ`*&fC$8 zAA0YnIfA~RL!&_kZDhakm^HUZ#^$7L^y=te?+=gnXB6pFs9%fpH&LX2h5C##ol4`^ zGX3q8=}$nPjO^KYQfm?xs>w}Aiu1G+x8*w7jJgmF&froYJv`CoFRul?{Zaa0^ zb+)8HJYol+o9r{Eh(llxjk7`V#RyAX_i-bJ{h&wK%qxn_ymT!6TPp!S?d;RWYKaP& zZA|vF%v!V!fgR;d0=sjbJ!o?!8Df0ejYL5@mC0o#)F1A)hcmEmL#81o>{z5v)`uDT zHf^Mj0*7T?mR`e(JHKzELFoI>{77HDfE#vS+dn^$S{BKZvlmoJI-1_v^W|k*GRE-z z)XP50fI0tl_i)+nB~`nvK3TorA3k60Hf`-r@?#^F#$#T~+9=CO=TP%D=M(>ugLho> zMJ7Slmmo5IsXcueVmpns_q{D9-j_q3^G+!~%&^_w&DxA%k6vIw1C!YIJC;5DF^kKh zvdvd?aQoVo>v5;8ok&hBt|pxPJoatDdjV4pwEEHf`HRc2qI8ytk@?ys+r{?oa(~!f zO)%ee?*9$BYY(}JVHOPo*QBfkHjNe(BjfvWTKFlqqNhAm&)mPDKGBqmYC=04k&ll} zN*w)oeDY$fV7MO2P&(AE#k_lS>(uUN{QW?DQ6`k1)9x(2HUV+WDjC$ zH{-rQzPrAC_hdOF5umnj&}r-LO&Y;dKnbrX0BvuIl9oHu+^=CYqQH+N2^h{*twsHh(_x`isd0$SiW`DRe6pqp7`pEtw-d4==f8=JW};s$c}{H!Vi3V?L+1??TF1Mr2@N$6D*Y7 zS^g*{mlLyb{$^#C5!ESFUoQP5^49d^1pJ*x0={kYaW~84wJj_HyP~rW9JnXGCQYd# za}=YJ^zU-62>gC`b-B6NK79Dp|ERP1qa`Ly4q4_5qR>q{Cz2ydp<*?E3jGAjMw28PZ0K$Wp}?1p<7OGgu?u*_yhxKc`NWUi6l(8rdz*IpO zJvF6)`52uguQ7~D9%areKH|{+8=o{^dJc>iUP77IW$>sP@TnRukt6p^a9l6G_|s+y9*L8f5E9msW%L z^!g^{G)q~~meOqelYKN(s|NBn9nJpeh49;rIkEHs@}FH&0t2 zg*EOxbOicTx$NZ}4FhDedbOk=@LM;@+x$k2ZxfjZpmtx$_R4!Np5^6``OrgL z9LonD)U3!7$%=lnZZW9$=IrFVuQP4cjP`8;FcTTp54N_2390& z5Xyh5s^H%oc9WMrSWWf3%hJIrMOvg%RMof{hn|uh z?o4zAy2Gh)!OhYD3R*k9-5w zhX7Lc`p*KVfl@!MD*D%tR}cLWpou+-EcW1rPi!xLa5JdRdx3$Ff_5Z5UvVCGjM5^@ zC{wEBF5%u&YQ!cwQjHjo`Z4->GJcc!7yrb|V~F~Zzj@(cH7h4mvs&2rZzAgJ+&g^m zXFjQ${?0P>^Ukw1X?yA6Q}Fp-akezA7|T5^iTa_Uip{u>F`)m=7upxe`ZCnDho5`f z8A@@0M;U&d#Rxy*LwBB?=fRkZATKRxUygb5?PP-o8H}|049>28*clIRL9U%8q zjQAbel*P=7_Pay-LKqd7kbY zm-}`{WkuCi+$8kMlg(Fj12&n!nWy6J-8KlepfP%+U>gn${QYME zJ#s05zw61J13lS`U7>%A(0?;wLEuudo^+kCh_PpA0*eoC(Nr&Z$KQZ;rl&uj*6&X7 zY0*I$co%B?34x-qk7ZV}n75zYj%Xi$ku28w_%HeK|K?&M4uoWBQVnb^rFEl|o@pC4 z^ILea6qy)Ge7^ooTie0Inf|*#{bDgA*!J)L_v7d71J%wmNs(zE*3MHlxjCkCNgMV~ zjGf0fSLOb$q!asB74lyIfi7F=nqi!hKs&+t%0HZ$1TjbG;=?Ig?zZgbgq;JKJ?{ z=Mgs0Nsz>8aO|!H8&6i3b>VT*(TEy(v7~XI`~-jV(d%-$Q11+UL$Rb4HK>F4n@wY^iZ36;v)eZy z&4yjQgO&SC%Mg_=`O#yJwuYr8OA#)eZCv2+YzWCx%bw81k`gr(Y=(cqd%_2Bzx(g} zv8<{{z4)oE&98P3H-{F??nhL=&M4|-hanG*cRJ6bQp>*KV3UrW%9R@9BgsZ|%PUIO ze?@wK*i3?*Ep@+9#e$S);Mnj9bWlCcFVA4Ag@|cUZ%?_r&{M**LGfMPL*tU-xCmmG zI<#e8c6@RTw4Cnwq-aE)LL^UN%JF?o%x~{*NEa$c+K^zkJB93D&aZhFC3!t=1&H>)U|sdD{N~i(=p|2sl^t`AGS5PK$!Z;0@FMZx@&MJwoVx5S=2Y6Y zV*Yk8-`sBR9?rVvalPj64|4jJ$Mu%KJIE=CNE4`p9aEi{Cs&U){D18IYnL6xkp_(Z zqaq{n{?YcpEUyEY12gXjed*Pp2KT&Dw`fV2nO}dZvT8R{?ughsLUlT~aI@A3xiGRu zkr^46=c2CFdmW&4uBw*-C(#he1cn&MZ2F*3zq-3$!YyX>m}Hncy&s*gWdWy|xUnIR ztDJ#ycS23vf?j82Pu~w5IAtY*E?x0C=pw-VIq08L(AR<;PbT(UgLKuomprcz@Yz9U ziL1#wgYI)5t#uHi=Cd7%8XT1VEg%@*PlpCw^%F#vSb``MhcpBN{FJ>);++Y3np^`J zDQh=!^yc-x9))d!7(OQtwQI zr$%sC)myaKI{_XPzD*1Aa3N7YA?TkWnluTL_X`M^JxhazU%b41`#<+{+-1WqX;03*#-k5t&pDYoGOnTdz;~^g+LQ{pQ{OZcUn$ z(%p$?oRbbK7&IolTuu)Q`%piN0Z(FK)SEN}a&Ou`>!aQiqy}E~)~-n^?hsHm<)U+Y zom|X&Jmzu!g$n2~Z~dZs1xcvEtk~;7ZGn##@z*1Zz^4!V<38>B<;ymI6}g8+zg=n0 zxhn7*W5XAwtbf%hWDKaGF|;X*$&&@#@Voy0?)LufbcU}b7@T;PnqB3x&I6bMlAdM^ zz2(vRtn1OOg{fQC`4AY#2U#KRoGT%oh_|X-I=~2|vf&`#nnd zMOMI9y^SuZDq*qFr8Om@Nm2rwAGc)d+qYAf-DQ!h#uf5znvb@oYiEZvwOGoyo_w@+ z?RxACjfeyjB+`!$`^Sa6#7nIpjpo=Dj7u6XE`9~07X>5L1)^RJt{>?U5iP|B z-D^5@Y5txKiS@JGLNN(a~3PMJrjHwp5R-De#WxRLqX|D=PVvzaqiI!W_UboNvMvxC#`$XsXhK>i6*jL`XG-*Cpm7s<@lPLsI_dIwW0Ig)Rm z4N9PWS{gW}J2jS{i@Pdi{zUii-cNIyRqSH;E&E(I=;eMf^dRSr3ZY-K&yNVbk7?ia zY>3pa3`P%WPtI`?R42OlFs!#aHDl?sFF$YM z{+RM#-`>4{d#c~7S$y=Footz+Qz=37CN6Wgrw8273WNFu-L63Dp0xFpul>XIPw$oo zeieTI`S2efZhjJxl`e`754=rVNlwx1vs}oWU?*~1R1bK7p74Na#N!8Ed@lI6cQ2)j zFM4%xN=43VcJjotq|Kj>{ms|VlE z*c;1!b|4UguI8K+^jO8)P7mwSuWM3ud9nd5S z@beoTG>bW2@S<9dK!0u5BM{WeHmP^y+KxarE#{64f-m9-y!~HkhEtrZY{b3z)x|vo zZsO!?)DP-=GQ`^44aQlI1m&>NZ%})w%k!ZIaY4({CQFFBq=1|w>Zdurzq)IqSJibN z)PA3SnCS$IMUXE&h1ngeg)v<6~@G8(fn*t!GpaSNTU7?m+))ySp&%u z0GUlaS2^M%k+|xvZ%_WkNP-pp(t{|9;-z+<+u6bL*DmAyVo)q5#Vid9rsOc+0=^Fy zgU0#rm49{pFH!OeV|1dw4Cgz6Qv}#W+A>=(c^Hu-;Dn@p?S1T}sx}mM`>sb}*O6l7 zV!e0DnIJlGdCwGmc?z`@#k0>Jh3HbyrvegBOl%hmP!-$hbxta2`3y8;hUF$(ZJF)!|GW^9Mjo`#FiSdY&HqBTS+AeULvnM0FPs za<6c-F8v~^Vf^#||D+zv`dy#+=dNbl_HQwz{N-VhVz_^OeLL5E*YCc#-G2V&;a;+_ zgSh|@^8lUu7lFlEG~0iE`RiiQTbj|%R_bK{_KoFXFl=cFLyt(fkRx!Kujvt`bigU; zrjmj}po16Lgj@{SU?12ojR3O&zy@1T3kN{vY(n$!Q;q`{$I+-Uv*b!Z{pF{CKkBPb z&H>Rf2OOx!ar)lNVV83MbJ#!2u*m^ElX$>C_6iVmKQe6gUodxpIc+t<$lw))Pp$?L^l2Z#Re-~QK^|M~r2 zzP|d8e|++FvDeo>8wUCGX;{A-MmxP_>cFRfJ`oGjM+ABWFIR&cv2!^R`yhM}ir(Nn zka8aA_1tc{CQPQH5TKt%UFLz1K)=g@kSfII1Mw$35O+=nf`=NU(vf%EQtti)0f?wq z=k8~^>ygl_a~DUV0NQ7Z|I#=-xb8?u@5X#2M7h7`Bk`v?5^rx`zj-C*2=Jk4eefrO z0g3o2WR-UdPZ$Dcm?`#3@hnt(L>mP4k-Co~a{qk`C{>>L(UH|7P972`7yjcgxFh@@FV6e8IJ{k0cdySZN zR;g}2q0r08Vrf48P;FT<_9sjsP*NFu-bi2eMw-9wV#uYr!gI(!yO7`fditLG;=B}g z*7yfeBPWLZgwZEZKk|X3m!n==Akq5a$tEBk`d{r5;{WBZ?{B3QB({~Z8dDs7R>YrY z5>&6}6ZZ726^Ec_m6OQgVDft#DJn+hdRag+CutHuSN1sh6*ln60Mj)8rB@T#BiECY zLerdZq>#vQz~@hYS-eQ}uuE&VC=RJbBT1tO zU)4jM-d}8+>O`Af%!MTU4}yPceEUo&`XK6`^DOV<3;#T_|2K;HGQc}^)4i|B=G!@;o+t*TSd3V?vo*(?w^L)1ft}|8kzK4=s!~r-x!41+0c%I;XP7~Y@ z(*21MZkEs)&m-K=W`z4e#Lt=GxrT{Qn>@S8JB|D!f8V1=gZo!6-?#=}U)R$*fMC)A zJQ5QdeFXj(Navs?%N!p|)Hpr^n*e^%4m6(wBu)^z zBAWlwg?^o)W?j#+2C;a(3TWux>5UMij(nmAI>|KA0ql`t7ZCjugIo}a9-Ix7TOaEk z2Du@q?>uSy2kOx8ILd>8R8cPOXH9aQ==%8ai~YeQ*9XwJfU%R@SPJUHPYJ*p4B+;w z^m|vDr;h$MzCVq=1yStp8GZZtpl=^TenS3B6a{&n;C%)Yybmw86ls&C&vT?NF48x@ zp1jqIU$-Rd$3tvGPMV^fAJIk(>J@At)jSdPMSK4X9a#J(2TxxvC+;T)v)M_3e;&+! z4ujdpjDBJq3sPbksd=Qaqf zW!n}nBjD#DX8~m7EI)Nujazx(Y-prfZOujnJ?g8rLf-QBSzotZ#smJgpi?mmL9kFA|MLB-n=iil=H;oC zD1=s6YHxa-poFr6gxy@KVKiKI()=>3!;Z9C1)9_tEdSbsjTzWMd^&Cbau5zNR`ZgW4D5A%()`Y~R9C`7#?K_TDqpqC^7EQ}>a zF_~hdp65O^_NUjQ^?5z|LDWCX_2>tg{ltQ_N=vin1?j~vNDq;ofBsGTsfc+Ikq_L8 zH29<;C3;?TK!39-m1(^>`L22sm+_DxWPiP2j#^IM6Z}{rh_xJB^=l_Sl zxVwLNeJxq6F4t8b@jN+~gCgSla?PNZ$hC4x>24fM-S|i$$1du>9RB0g&94$QB_>f5 zgpPfhlImIKcV`i+I`oNZ)4ck!S8|V1O?#9yt|u4b{%|8YE7u|#D>IAJJQYpoxvp)l z=&IAJ!5~dHL_KwZG2ybga1G?2vGJFuGZ2ae^td2G6=(_e;^Xp{-cy^RFR0sgn!I2E zy7p)2ghfqFO+CeRgHj~hCZ=b) zUce(D1%FNeq9YeaUi4FQwfOWkTq#)(sR*gZB(BlVN!{Y7NOP0d?}h^q>$tfNUk1E? z_#dg=Pf?uQGdZA41!~Yp3h~qzC|>Qn-JArE>%geS)&!>KH#Pmahh0DU0r-D!9`0^l zeX;)S>dp0oIMpplR+HlLKNi)1k5liDlXJl!<4*Pfs9(yao@Bn=|6o!Ua=oU-sNny9 zZlswmIG3COO9wEyk~C3gZ@f$1Q2Dj_|MA4ftMfj@zJNH)e6k5D9qQ=rZwvfS_j2fc ziav{a1q{zIPf<1RkwPC0$-ZrDj$+ zaW4D(E)V{kD64wH??b;M-;g*5Q|R;0K!kowyKVE@cLN@$hZBrC1Ai2K|F4(_YLN0j zjn%-Z#rWCToD&BKVIMn+69Pbr7A3oXiLRKN6OZ*M^9AX(VA&xWf$ zZhwDV-ksKvEY5(`0XLQE_CeVO(C_p-UExLbjSuubH<DKq%=2O1#a_FyK-`?Gxs`6ta z$EZ8KI<0f;PiMgw-+0yPu^uT+7xZ0zh>4u;uHOxvUO#oZoLq3~O~^^6NFzPx13!gQ zH4`6JHa^FoNAl%f?tRS*Nzb3eUIzM54>(&vFmlX$#!g$>{K((lV}I_IG6p0hoe|ib8;I7nAeqc>$8} z@2U>H@2!b87${moA9`t)(V;(~XDqG(o>dnvTXliE>tev46;=LZ0iS<%Y8;5pi+B&N zzMDgaeh(U7^wFtte%MP>tsHH2@9*iMpf?Q#kHBK1!+&D%<5Lo8yIknQgkI6t@gfY^ z5OK;DzwgX9u!njJ6lvM4Xp+s!WgNWwgU}xux}UEe4}nzMd9kzONFJXqkLM@#g(t}! zdJ`JjgT~Uv_ilEh@A~cCsq0?bL`3T|RVE)nHRfg8xKv8ivwBG7+o)gv(5@t4awWlm zY>p42e|z^oXI=C~a@eANixc>&VRG=P-Z%RfUFc&W^%;`-+SeYOv5`5!g!C9m#rKV{^U}>ilV7(u~&S~yL9#X zJHL;iDD)N?hh?2jWAD;JeqvV(p(IhYfm7nj%iFxi6Q5nsI}eg(@LB!BW1uIq{a?Bd z()|aQOzMmCpHtYS$&c9n?6gfjHQtGOWOpVLK>Mt3^8G*-$Eh=L2Ff!BZ0^du$S$L@ zJNJ9lYubKRtu4>Lka}^Spx?-BIYDoRQ3H@Y-}>DE-f%sB{F3s*+33Cyipc8c5M4Nh zTr_V5kLUu_8>I9Typ7ncUixI3|B-F{kE5J(aYsUWFEHjR!n^1#0K^Gu(hx$}qmZ&s z`UeAhou>80h4Yo{GhTqHWDQT8e-vubCxau0(zRp^dJHg) z9LOf<0JLrF1=I*l`1_acgSbbo;x36Ljn8Li4_VOQQE#2wOKoq>q`H+PQG(T^1=za= z4H_(v;Xh-rfDSW=z%iyYD3i-oF=dwMqcQ6%#6ms_C969~JlX?pr9t~{@OSA!E|-)L z&L<6GluHGsmvocIU1pDZy=YQ23{Z_O@|E`0t|oJUo|=4dr$O371Sj*w*x6Ez`xFWp z5~^2FM|h5nFQ&(txgHsK;EQ?F$Z;glnhaY!=p=B^=$>u(n+p~aYvVb>b zfizNj=yVonveKvVs1ZaHP*z}guKhLKQbAxiRnRj~$e{vMy=@#VFdt0<^R<`A8hIkR z#Bd%uIXbCKpj*l`xw(1TgJ*0o|0VYgdVPsRj+T;Tved7#Mm`Qd-u6l1BxKdaDmzZ_ z7^Z@|Kvrw6`ppv_mHbG|4`=9>^_!o~qyLxr~FX@#CHHp(_j?&_%xx&z70^X9c z#-gqkFaT*vf=<1e_KBgbClhZy9s!~*15eWr{N6*a|mwlr17GkUq5*nMZX7gVGy#{ETi}?GG=``m@7I8!3Htt zO^RY9)4}>(Ul`zU#}fJ^NZj_A#I1vXQpuXm0huZD;#E}jy4K(vRT#8RSXmjw{&hLH z)_`TegrR5MUdS0(ii4A&)=;B(7+BM?>@oV5axaQ}9vcOv}qzSxo8+b>R&rl{DKKY;5Oxd3XN* zZXP6i>bXUgDts=}S11ZWYW{JzM4l!js2e>-wb0V!^+GF8Sla#l<<0yr-oCxMU49}G z6pN^0!!-7FN$N)1@$n1OfyVu1e0;2+z+EI3yha28O=WHO<%U&ba$)8I6n)?|2g7( zhMc&EAnH$XRe8)o;}yb{W_m0imAloUruT5BH5^rx4G8s{ho40oQ51=QT$IrT#iiaY z$Rq+s4Zff)!Ay=|z03TtAj|XfQ!bILY;Y=0gU{t9#R7ufC6ZBy*SA{zo_>pXuxwSE zJNkvh97Q+CAeCkOSfwNtxP~Y3RnYstQ)?5wLNN3_`awI=5^(Gh{{sW=r4BnbdX#=m zg1J`BAdMwxl|`RiU87~{mKXKD1pBq?)@COYIcJ~?Y#;L=bMj2H)1;c8v2Av?6y-g( zeZAub^LJVz5KR(+J$&QIM%J5l9P#>sQB_xX|b{)t&$ec?&99`%#nM{1j-+N4@WPg1F zC&__Ikca8o;^b?{ddYukB^nGSAB@L`3Hds_gr{OJHgHumcVc26Cj|k5<;49-L=}4c z{FBH04`G#)3-M4(ktQ^pVsDz}o^}Ua&beQ=Oy%H6NO9eZ>*)@7#GKe#_V!)B8i$@t zH8A?;`?iMSQGNmJ1n z{O|@}Mc?7~o3M@Ps^+=UELRi9b$GaM?|y3<+!CqP%W}&cyB%WGY+_knv)-Zw9Hpmf zFy-h+{|7Rw$&w?F>*%Sw-K@Ij?;^fNwCbiadz{i-_9*zP?1S$0H=G2wt8X~n*qPe8 z%emomyhRO*td~7os_v+P*zl}1Z(*&Gs>y0V6>ZIHGUiRgE4KMkpOMm^qy1-z_T$|? z?Y7pm>C{}Mkh5w`!y9Kfk9yYxYFOv>27F}DP0jg8xvDR^?ItBcR>TTU?pf`z^Ioc>!;sq zde?hx`d&Zkpj>GINXK3Vb3oj;{C@IHFCj^9I!}2BHSTiT=a)jSNZ9Loteu)cZemXY zdjIN-zU}9P-{&gUbe!u6OfkbQ_Z~6oA=9Ckl3ZaIdhScCByq8Q)=%JjkJr)n{&d#I zBCC$@`&b8M7oWr!K#i@O6Ff;%*6U3{rq^)mcf&fiKbTK=1pdE2-`>1>`NfN?`@5T~ zm$yIvd`gF)hA4VuvSv3$m;2cr?EL2I%@OGxtO0nF$azisY~VPKyZT$)|GyH#DoY?6 zy0lw7jmi$@C4MTF#+`cM^&nbWPRc|}A15XDV$~2kUr5SZTJ~olsSoRdaYLFzwC}Fp zUA?e-H#HUlF5=Kk%~^^cNV z7`h;Gmyv-@g{55I1vVAeH(`%9y{b1Xp1I++D?ZTJyo>nN{r@YrllgN_~* zI9Y)ROw8hs!_ov8#QpXc8L0mSMRPKZhpCvkWoGrk>tqYqIHIIe9Wt! z3PAxS^i%i#b=Yu`7GMkv9Lf9rGuO-q;N?9DZ)7QIBSX|zr4U1EVHRu_wR0nS8 z!g@!@gSDKA(b}W5N5uQFXuDb}xS!uk`*VosEiE`q-YYUYuMg)+Rj*ngQy2X(4LU#c zNB+ed65eJO)eD&ouGp6?oAjn(bZC-*Kw$rKd!WxzA-pymhPEuEKe~d4IPm!&0L64eWz0*ectuD{FMen zR1+8i$^{Hxu78(=#0n&fLL@94@_nA`QuHL`-rsJ0uGQW5zSyT;igw7|mhyKhveSyE z8}9jTJAasAe&XFm(0lBqKw55~y6vj8t5!AHYC#^zO8Vn&M`^O=8VXa-KSPAF%hIH} z91KDeRDEW^HT8mn+wCqkVaRbf=0BpHo}>M56zwdc7F(O4$Et^ld51bJO&Eh7tPVZY zaNUCIML>JUqk}fTWn~ijcVYDO^r!pRr?kREHBe?54pT&xSQvZLi;Go_Sk1jK*H*RZ z$;GbE83)vhx1rkl>Cfo+zrMYDFF{~x4)W!v@onIz81`6~rnyN=dd$-iHhd$O>koiu z=;hwXFE8WU^6TG=C=pkruAK8=Sq5~Ut{D-h+Ienp3{0FMUT|k&$ypp*+|b57I$7qFCl_9xk9u>)&>%N3Ra62zp{tJ5G?? zE^qssrGq}TJF1G07IpVTTR61uhM`PPU>*05~}3{QRvb(beU*97|ATA}6tk{$#XT>ncQq(zFQpDX?X@XZUV z{S4+x3Rx6;XMs@8M-32)75|(cNImtK6q@k*ksV{OXmVJDzHS&4^dAFm$#eyQsIKJ=16E0PBF z7MzuKWUMC0lp84fPhb42n_s2D{hW0zRENc#Bkt1N&wpfDy`szgJH54f24yK)=Xw2Z zNc?4dq4(mPG7nO%D2;UlC)T9W_~xOK`Z90+T~n~w64lopV~^oD@LYn0?l5<&<9qz| z&cC_;*Uf`8&x^7fE4`*IQ*@B`U^nFu^&}SnYE!2VJJ38vFcBHC?>Yv={Ot!p7dh%i zN1vKisxoZU=l9yFF_g5Gy54k|R&}?8ye}3;NBoqsdoGO^Xu!i)A2p*KR!PiRq@<44 zpBwwZ(9rkL`a?&bErT3%1MNKM1MqP3o4CAjCRg71*r<%1SRp~w19HezpY)-p8#^#H zb{>YO`m3L>e|q<}XENXXIv)fv@#iQ@(J;eYH@U3Q9uhpAYFqhhbt*{pp`b=)1R9tT zOt_4rzGK`mxPS9TB0{0dRl;6!nlv~?gdG4m3u_|iFF%q58PLD^p4JBUHgWLr3I-p9 zT>|1ghy70(_JbnP36b!*$PZ$*$ISA=@INRw!sc;v^??|1j|Tqinlb^LqCn(h|p@#UZT%IGMxj!@#{SLAl%*jBKrC^5Dk9@=;nX!{t#goQ4@5b=yL(N z%&&$KFNxx6pY;RYfd(<+5xBjR`hQFT#O)qO%BdyoQxBTp97sL~p!X68ePMafG_n9X za`G2)20rFyyniLZxuR><+J^OhavCjK;Rs*^_3StHo7D9w(5HdY%bc!pZ=dx~!38Lq zQD@-&-K}W;SF}urog3XtsR=(=2VA{*CDQat&SG;&r-3rxUSIYw z3(PTOeLdK>Ve2x;-~dZ61foe>BV0-?@L~9Wklp}~B4dx^@wkPfyGuuyS9f?VXOA2W z>J5M!5rh~GW>YD6F>kbgvEEdnr@l z4?{2Qf*>?~b-fz}1jxJ00esB{=Wo(5wCKq^v_Aow{0RbH;|h*Yl3F zCxVpJeC`l3nGx3S`ZZzdnFvpC4!(MIfBo)@xBoSV|MsUZ{b+LAs8G|IhFh{sRWJ5*>j@HUcjKcrV@p{hIea;H}#KkWBR@_K_}{nhpR z-@j<;S|>HO<}yW;*rFl)X{y*5R-gKE>)E-a7mchi6yr^+;R zrHCwiZf%hvwm#Sa<{2IUil_t2x+j9&RL~A;?Y!=rWtw`N4K7+9f}T zEmg0y0Hhs>UTC4MASisEC7H*;H~ZZmxm`eLFk@oeX(*uc0<6BbQf&I_V?=iNT8L;44NR~?-rFxa?&OMqKU zqD=`WnwKU>he_rq&Q=%IEH&bmlt4z*BW~%=JDFNS4t0aDQDtlo@p+6X3T zgn&;Ei}`rWaw66#$_j_96hcAGrDo-hg4dhK(J~l%LF4|w92Bfg5QqV;kRQ*=ukNM3 zYp%(}Kywq8G?fTDfE-d&Le)!}^%Ajbtdl<2j>b8!-}T{+0}xL~yOFsNznate{6Q45 zOd#r(v(|x1u^WE2=1{L&4E;>ZigTmKENB|DguxBi2T_-*@=~OtoCCFnqERyAU+>@z zGW8_I)nE%sw%gUxZKE5t>HZ+ruOyMu`2~(5ae+lJ!XBQWX-b&&Y-Zn6MAnMj=^;x% z*5vK8VSw6?e4e~2f4to%v@FDWjTxHH$vo{rUS6K@<`1R?Es<;`r|!7-9hyT=f_(a- z?M|d8V9KUxc`T(U<}18Dp&p(_vDEcuQhkfO!P6`)*Z`Z6?p`lr)9d*kwu$-myW1ac zU){d@UvWtyKHzKvKG$oip*bs0m=KbhmePy-u3HklLS5f7AKEe#A#H#d>Bs%IKKi+7 zP8nMAS zK6mD&=3V#)As0OnsozYj6}$Sn)6+K7u;rX~2;^#1+)zw`CY+qYu0ooFS%l8bV3>C-Ji!~7~_ zJ;M}en?SuwU@up4AeWm)tYa&=L$D=|LCLbr92@N5HLjq7d4L6WPOHf4Nrj9fq{$G{ zk6oNB!T#ZYUyF}+&6cq$PPJyuI+WdgyPEWKwh%}yIsLnxdfBIKBbrPv_h4kp67IkJ zDA5c;j!tUDISJV?r9G4a(gXqZieb@_V^vTm^4tqgZ)KV@AsylX**Kz5dvPs>9NdYg zn=8~pEn$~EILxQcum`7NZs3Ub{rr~Bi$y5V`=OJz<$iyE0;-s55*?j6+*+70!7g~@ z6hOZqC0XF%;3lsKx9b%=9v7sh!3z!`f`8O~-&}p~uD-v2BT7U2EOp-W{v=L*-Ei%| z`nIgfXa=x)G1^P^ZIg7%?H&t7ZiAL{LakT&c@Fhug?j!k{dV*4?&|LT-IX*^!)n!b zfxM4>BjjkX_dpVZtVg?WVh$!PhuZU!pEl;VcmH!G7it(&6bm&r+5vY8w(|yK?!CNR z`Z@Pu4{jNnmwu`Kw84Jy>gH<+@(`oQ6J&J!^Hd?KIAeU%U79|cvPdIAYzEsdxI^XJ>pWZc@rY)(nbtwU=pu#X~Z%u%1?DV|BtPhEO++#%#9U5^2>d>`KQhIn|m zx%%=y|MImsc`33MKmDphm>}U!={*@nFP?hVeb&d^(QfPOcZ(h8(1QKN+>gIF(TwL3 z#XHWz7@bayi^rtLT=eZY&HYbmj#22_=&fY0CV*S7y8*j90;v!H; zmjm=hQMHpRGaEN}tcK6FFZ=tq-%GKsvYa-3wHFtKJskEHmQm8<7W*ak)}iSeG`c@C zwP!>7^22IWzSnb+V`2zn%AnyGv0|E`VAdlRNl_1VH=fC6Jezv)UV8b7Gx*}3x<*{W zBZng5kvZ>77o*qoV{EWxEp%tqJJYqV$NxG+`N9lDGW*>PCul^e z%UTpHOz???rp@fWx)6OjQQ6#IMT@%3;DJ2l)PMb^PDQ8WRN#8A^@dZltFYx#kF_&cLj1MZdx38gPc`}&CM;ne^oq~wI5&Nlqd*t+ zG6d=QIGX0;Vf3K%6zR7>73~6%!L7t8qKfn@Xg4(7Rpp@6lO!>NcmvW{^Yyy{pXP=K z{6w=|K$h5}OY$<+QoQDJ^UJSTEn*$i?KVi{?yBF=Yqt#vwm2@89l@U`E1$_^WqGp2 z30e?MN!U0??{qL*Y&lYCsJut zX|eQdN~#!$@|?t>lQmzxqEp-sqz=CjbAtGK*g0oD^=*i*(QsQ)u!(Q3xsY88p zBGfrJvA5bB7!g4oAs z?X1<^R@_oWhHdgWCg-vMjbr z(62g3duHzq#B8!AYo864tz+S(Es2Z!j_75!CY!^-r(Mi>BSd{&*6)X{UG=W$qp_9Q zVhAP5EyNQq1Nw)fRCm898^n1rG?;So-VIB?($9%2fauV_Et{o;#!X+ z_5Jwmz{$1r5AEv?f+ehNYPoK~=p-(P~w0u7Fkkc-W*<7kS^|mwgo5d~odUPq!@KUgi zQpY;DlEHW4#RqY=Dp+70N{(fS79FmN-$5c|Y2s41Vz_g~IQ^xiwMXA@NDn*hMsp=Sh7 z=g?=bhdOxD2hN~>8TzK+;0k8(cdh+kaA5Gosf;X=2ecT=Vl?6Qaq3Rk)N-{l9kf%o zUZ{h{tpyWqt%RX5Uuya-?&p+szKZh3f$romO>+Ue3y95I%)tT)LPos@V5Z%iv&qeQ z{v#P&*1bDzBsBjfWnwoofpt?XafiD;_wGLFNn(&GN?=g~B9NA;N0Utb;4=R9?thw` zwHR$D&)Zpz7KD9#e1kIp7om5@Zb7bk{$~%3I|yT1TJ|t{GIz7wZczlah~pXV8HdTK zJi-LY2K@{cNcX>@&g9rj@Et;J$>gC|Q-AVM|K-QGXHDc>bdng4r=>A*zTeJi8a1|B zk0}}6ZyMef^_W%qf+y1j2j2sxM}%Ff(-Vq27NmD9i^f{shX|TVta>@?LT*nDj?Ip? z6LJ>W^3scK4!z^j^erzuULov}R@}lox8y1h5&{0y#(2tg3#o4H^{O357IPce&16pi zM`QdaMnJv0TI%%M^TzHFQ2Zv&^ObiRpd-Imbs5#Ic_r1>qTWCZJgs8Ce%DXq z%GfrSQ{N-=`@j)gYFy-(#~i({hAKLZQB01MFwIk2GOR&d1baw?>6u z1hUsGA}Ki0o?28U-n_O)F^pv9=7Ykq>rpe6#>7?2EG~@IUHf+aZ~b=j@J`~JVTiIs z6Wg>w4Z9%O-ChNq-q<Y!?=NQY z1BLz>Uaz-$y@Ip?8=4f@d_M+$+K7Mu>YXHTAHbWKq_ISmYXv`AcfqUgHVu+8;3ep} zx{01L)Su-0SARbdW;7X0RUh{mz*JZD{*a`yhx#_}8s)*t9yc%V-~T9bQ|4OSi-j5g zRC`6JIhVk=h$%b$mXsFHbm}X81VP@g>tLzGef9m^cKyexpwC4XitAAp3V}KA({R_MSGPx!SPFWi zTc8)>!L$%BWjL?&d%4%H5yXudM^GujrClbgCbuc*+orV`*Ao}$_Zv(PxF5S7{rla! zt2fsV?@lm@LryZRk=3;?ZIk}#N!{0~Z@*&y_HJdl9>h)yo@bNdIfQ;sKPu)T&2%9h zT1G557wK^q?0TLb75ziri+8L!J*weto>sy3CKc?0L+kVpLw?Qz1wkIKAydS~30>Hw zKbspHy-)=9c0gMZr&qkEc?;geTS%jU>!&neVq4Z?kbEy9upVC->ve?OI!e zosKj?2VCkCRFhm~n;Lc%8tP$)@rf+5s?Xur1Btg)sD3p@3-x)EP+#mvvQIx%XF7AS&5?dp+{JUtS)JzD)*2{oxrF@A+SNc)0mVRMG}t zs}y<9Xh4(+J?>Dmg(n9t%R>RsmOSNi~?)7)gT zEN`C;?vZ0#FhvfpzBs8s_q2Qy#3k;#6zDkzJyo_Q%Lr37_O_m0G<>cbvrMeSe`)GqxIdit2Zczt{K{%wo;S#(hs zswmVK>1&URfPUGbM{87Jbzh!IdF|l!8x+<-)@UKy&*+Dq09lXM z_Na%2p`(dG~yFJPnceCPko?);DVqYGA?+gr5<<~SL68-_SA$q-doz=}8H}}?Z2@1h`-vS3<|x9R=)9h$SP?a_ zCw7~r=bDjQQ&3m&y>QHSxh=6C%L#7<+_E^mz57iXz=3m4lj`2j4Mp#RM6XW4v^yPaUHDeyj z#0IsPaOvZf8PC1t2I+_ATYiDJ{N}7%9zBW`8|R4>VsyJqW1d0kJE!$iHM;jn^hrTR zUU?COh>EI>=NATF^&kn~iU9Y$s>7Ykb(82Xs$)~^OccuV3b7^BD*mOcg%`o_QFD(D+`!x!jV(0kz^DWDE|+MYJEf2cLO$UBXeJKYa|hJ^Pl z+na<@!Y+Fn(28?ER_iX}>7bvs^eEId-bueTr3Ws-HgOq@by@`Y?%!SA{3<=!A(>pp zvF05Jg>xeoebK+zq-K{ofA>I!O-$KDNf>QocL?=ai?UF>IAdd!KVWhy14C8_z{MKX ztMMa=mKN-yMzdmXO|vESXcF)0H*Uk?{%|7^heMD#;?LLoGrQ(W|A&QTW4yOdO|oWpS#QahF|qFc69NS%j0pPL^07Y5b0gwJZmL#Y^)RPH=Tj>MDOq zfj(?d#P8jSj3mQIwr0^pG927`ujBJ~5BH+$v|O@r4|q;l*K_`E4F04*Hf+P1RdinG{;cdNO$$-sSLp#lZ z|HrpqN)g9kh`mx6M4;(>6ZJUko7n3?(eSOUA?^dSwup_P{hSJ zYeMUa-=#xC^ag4%X=_vsCbV>iW~$obSdPMcy??lpb<`WoT)9H=Q?8*X@;JLi!R0S? zq^agijajALZA|7iJ+EmPs!e{hv6NtgwFNwQMSWVuUVN?w_yfI3QQz!{q^MW>Y=A%X zzuMD9{r=4tU%h$tURs1lkaIZQoR!J>#`pR}-uRyfjou?6pFYS3KJi(C%F&7PZ9KrK zI@raK60wagl&f(XnvUwo``#dF1Fl9(v6gzXy9C>vz+$J~Z;Oh#!DBbER*1n4&Kle+*6y z=Fd{D4-@d)0({2JPOgZ;Fzj&MmAZ@ZsL!D1kCHIPpl2h{lT|QHRuP7W`^2SQRT=am zKpE;ju2#+?s+VT{m}DEH4=vV*c4Yr|^KgGcLLFR?IVZd_r`IHKz5`G5bud_3QKL13 z?oYpbJE-UjeRm?nK=p}(OAe?n8W z7RDjkx|rixBoqiD+lVKjgr+92$9+##FRM-xhC$zy1zO1|n1q~4uLC_U_EHlbV-(#` zX!huQ-wURF*rOKz_|)s(ZWuRpiZ7L1n6=OP`<{E%*kLi33pp=>l^I=iH>oZ;yAUs_ z>V-er>wOe({el#GrO&OHb0*8-9##9K;r{;B%~vF@F)Rd;~|Yx2sotoHi8ok<(-IOWIDFRGXr)JZHqN!eRd}!esI}S z1iY^V4;nv~>K(@dBi8Age8FRuX-6Cc1|z6ojJ)9$6#exk=?Mm{Wkzb*bhZ0~^R%&U zdaL449V8Y42VpEL$n=wEZ-9E$F4BTl9b*!PZt@Nv$3J-t@ENuF{92ldH2)u9z+);Ac(Np~&cmKo@F@YC5WHad=dduSLI5NqyV1QV^mV)Pz`Q5<>f~ zU#ygIvM*iuU*5hIVJ|6rNfiQ_@k^TKe{YASN}8a6KJuwIgI|F!PCap}js&x{&xV$4 zoDe4w_Oq^jIDwGhIHh&2!}h^50vHUjjy&YnDZA5~5@VpP$Jg(A0uqj6lFw(LMgNEE z*Ee7O{^p$c&lgF4^cjFmo+5b7{bz{_u{gatNTP=_L0!|A9znNF+_UNam!W_tGWH^X zz1Awqvog+>VJg{a3Vb&BJ|+FS#rKt(m7f&)iTS}F%X0C@j^jRzy`%vJQPcwBYy9k; z1|Y>mJWVbJy#{k2p)(lu4)pYOkGAWMJ(lu`+xYjQ3J?@g!;voO;{ z%aB+ZHB^RNu6WC8B@f-3HY0+JrZZS15)y7qH` z1Jo5vyVNvzLia)3&*ULi>9Rjl(GLlBjU29Ydf+~A9vBO z=l{ZoxBZ-QK0^d)D-#%Wq@QBiN7gmDkkt=)x3p@i|ApKDkLvE8qOoSDhszeazgxc>{POT(D*ygOhyy)Y>zN}n z<5XkZMWZ0kuc*GscU0%sD9*}KkY-1qi5-!Kt?7hPP!bMIO=m(cTHxjK_wx{w*Sj0T%GfKu(}n4+3R2&uDvPj!%)>9bbzAiT9!umOs~J7ZE=qa z9wuK6Xxl(ta8xJw9)^D)I-AzAV~0G4PG2OpL%US`zJ?*T`)RIQ6cR){7s~slz^`oZ z`bq3YY***=oJeqW`)nb$51#4%bpQIz^~22>n_7fsv7|WtN}%hG5W5|N6xC#yc-A>^P9!LUvVw?0Dl2%$CVsrLKE2u%mMC4(FFWxSga0v%ZAOBo@b4eeLdg&yB+zKbpEXxRl_F z<{fPgYrx~IqrS6a&YSM#7!5M96q%+OJt%Q@dn&)z!7JP2+b&IO=VKkk+Ah-5+67S` zcHz?a67@D+Ig(PMdhFfYlXJbgscXX?IP%2Ne{=u#>ebENFYo>--FIKa-i;g1MJ#oP z)tz4e+4?;#X}SpdVt&WoZSdaiP|UO7@BJ6)78y~(B`Exr$ve-!`yMCNR8dh2Zn zq)TUUdRVrj1&P=1dSG@Nbza^X5Rq9ffN1~4&?)`oqSNGmcFZ&P`av&IOKPS7s1dr} z(UR28asbjWS4S%TqGYM7A|{_p|8c_V_km^S3i^4zBmMp!m9iD-KlX~ZTl#O`_37W^ z1x)x(Jo*??l|Y!hP;JSo{XDNlo}FI$49Qv#^jHkvv*Nb9UM=|S(x0CZ0ss5mZ=y0r zP0|RT)1EJruR-&^^YY`a7__L7#9-?Y8I^|IRTJdySg&P7!2cnNSBgdhbRRdNZ+6a~ zN|smSFsKl#dv~&PH_4ui53Mw$$tZFun9%0c;^k9AJLyw4*_^AdFL`+_P5A}PWF8^1 z(glu56dUF!@MVe#H9a}+>XwqlD};npC3V1aB17IjTOd^zkgvbJfA?bXcsobO%83IR zh9$e$Z+ivAf>l2-q3KAYkf4{o=tb!d@Cpk<7BAttZ*dn}FaXilk1oa+R&+z1e0t*z z#pxpseV?;7V0tO}UQYHvhq8>_ecvGr8M?lFDG6T0rmSeNadg4&z=vE&@J%O0ncF?7 zQm2@4Fqz+6RjBMwoMr&2VM;{yK?4Xs%9Br{sCfdIbu zkUMBmN6VmX{^Ps=ltq64q&aJdUYxxMK5z|Tx&x*vG(`*LniWYOI6WUa(L9)B;=#aZ zMAe7kmj-UB!F<&m37qDCQNfWA25uFSdbf_fj)8sPMh;-wXZ^sf=jjZI`H%PS@1%D= z%gz!E1!_?b*IjeAjxYLdoy5pTeM#3p7LO_3B!6)UH~f@?ue?NIS~hSCqjd+& zw|mR5W}H#?cMFmEi)C9bjn*?rp{B3-B23zp$v<)a>gTt?Fq)xYGKR99&gdp&)bI#P zrCM?#3XX{|X4Lq`Fjv`6>L;6YYt?hpX==J9x})?c{)q0k-%I`1+(w(6-J*|S7ww5; zATLs7c+w-?`sBLBIa#W3@5e{_TAZ}aB~cPl4)my{PSuw^CT(*G?%K*iD>q5qY0x8E zkPbJR!X0~OkpbcU{@be)YQj*P(}_Ohxdu?Y(86#PlirIL1F0~o_kQyIs_RgTS%&F3 zj_R}j2)S5!=PV-D*+p5YF=~jZJQY1BJ!rM3g{@7to{HQ<47X$+Os31jJpI;CfB))T z1FC*6Rc3RW6U0V~6&i6+_8Fp;q(`cIy3x`bZ3kLaG?-LH$Ju**6me-#K0m{vog3=| z;FHGngU{tTwO3aQf}k2Muiu5Iej2w8%BzWwl!gh!fAD@ww;NJS#lk-;Q_cI>w`G_0 z1SCLGG&nmw_#yXFo{uKmCSTszgDIXkYgd;^dSLdYM8}P087A3|vvKMS5!A z`hx4@O%Kk%G&sXyW796!XRX2OO0MGXI*ob3FqO2=$P~R^05p?*xG(CFDY#y);DB=q zrX@HGbLj1ZFD^-BojA5PTdZ+4?>UQe3MuP_z>jX}n%?zGvC3GkTW)(8X6eM-w-!u8*4hJPpT3&AdHDW?v=u9& z9VespI@jDGYD6J<1yHCBoT5d!P_3Fe+==ERnEJG_7kvw~yb}{ExaXbNXR#A&QI_{& zQZxR%7rXeqSc~wt|M*@UsEQppEBzHpQFY*aH>RJaQp2^VzstQ^;3Emx1WLV(q%E(< zu=olh^_xMWmnj#O(I#7zRfMSCk74Qsm$z++Ub@*c(jVR?{gLZ1@#c>M|Kk3QO0IUcs)riZ(C2N)G`aVr`@T%54Ji)HSb_Ay=v zx#;1Eh17J^m*dS`omhlN%R?RqFHQ~-7dN9(CYdlGm%LEQc9^P$`GIJ70cFWX-EXg6 zlkID?(U*W@1}%%f%ITil&kwpt8)jh0VG2zldk?@%(z6VFFM_>NOAhwV=SM!$CY#Y@ zvI%Y&m$19&qI_ExSqAhNJxspTqG-!_r}VYG)1qCdw5~4M`?dN3>S98=T*5B=#O=;d zMB*sVAu6zsb7FL$7wF35wk!mL7&n7>F+yH^zo>uesGnSkM=vX~B4e;J*IRL)jd<~f zLY<)s>*d#(?#$Ml%|-Cor@Y1c=GUuRQK|_;0TG|fpkAC71;OO>GzI4kOhNLNHxj=R z@f;Ps6P4%$wv4g?O^O z>CpVYFD&>XF}xO$T*Tqs@&u{wQoTp-ojTjk`HGCb0q;hRV3Wxb7g~XF0oA+sz+*{X zwANt}t%#tw@Vs@NdavSXz16HP-vjNQ7EJDGWti6n*QPIw;rmzbMb+gZin($2c`#+a z(|u17^<0I1e7d!7>N$<4;mqCyXKv%gp)K6a87y%ALXy^-oF-C z<3YN|Gy-ORRMS4-#Z9$c-n<609?Ax!sG?qg3wrX`K||M4XZt(~s`^2+|3iG10ituF5EDH( z!!kKgnbq;s|Iz@_%C@S%NbBny4Z!5UfLwwJMQt$=P4Kp!;*{W!|siF5Df7soF>=#d!U zl*2x`+hq^>4R_BFSjQx2n0u3tb^ELzf{sqy@9rf+$y|I(`z?Chy#%NPMF-9L)x?!d zs0=g(Lk0CZlh$%DDLKTkm%82P+qd7}T)%qtzbDNs#JLz9@CA>E8k#Q~aL{WW_fM=b zh3_{oxsVio^>Fh>RAb7b%NS4a)!EbtjBaSods?&t306>J705kSvaGR=M3|pA-e134 zMr1F({9dB?&VSU=va6oo?5dGkDS zvHg4eb_=;)G#6;AcQ9GKhrvVi5AOPN^#ARmzsy>{{Ppj5znvwq>8ng6^K|4PPu{@} zM6$(5IO@qnzE`$ebG}|pH_}r0(IkaGr~R=-{2#HGLOx#`k^j%oNnk2rABJ#BrK&Hx z?|Hpzqh8gw{fP0kJ@nPa9UMg;>mn|7={VmpaV|%1O&8ot6SMvFh*!*d<2lTv1c2Ts z-uJYR!)V5&0x(Q#v5)v!`8_AmHk`}vWkOdqq382ESj-Tp^bSQmq6xI4XfQd7)?rl9 zKdSonv#S@PtdDm=y6xOLb$-3}ahVLzl$ezvCs!_daToHYM-w%;S0EWs#vj5hiMu?9 z`%e+>`@5Sje}8jA$7gPmM2R-e2Vo%whFzpSz#!cOy^j6br>WQH*vohx9Aqu=4*g1h zP`sr~Uc8q^aqRZImR+Pb)8x<>gW4*IS61^tclE9sXAu2SxaF67ZpOv!3U|FrNE##* zpUZuUhJ6}Pb$Zh8({?qUOk>w8kMWlBdCem07-PrScsj^HBsL{wd5F>e_(p=N1< zdH&0=DW?eD`e&PdwM~{5V}tzmpSM4YL2h0k>RMc}H)BDK6}_HnLNbdCB8#-2sL4)r z>@)rL`t_2xMH*SCS=QrW710shK2^BO1_7=_!Q37t!Oo9%qJ@%^NhlfoXxwtU({aeT)aNx@K3YWgL;3 zng-dWe%*3-#VzG{?%#-!(HHk4CnjnvB^nyM?}_?*|%bUGIVUSAIq8W<{6<&IfBK~J>dWHK2}LKtQ-N}m8J-KSV2 zF$j)e3R5m&mxn$A7fnNMORkIY7V?ywuO z|I_0R1%tj*C&l(aueKLxwY^|c+bcLqQI(Fnq@0X3CXt{-Ph02uE|h~p`KJXQz0(tv zJn3BrNgwz?V%)ky73%Xrc$g$+2_7wNMde4S<)T5wiVrnoEQ){o|KP2vd zdHM3JD<42qTJ?0~(a$;G@8gC8)v3`jnI^1xy|nI;9pb?a2Tbc1?=GRv`-|vUx@aPc za~#GW!%uM+<(M?htwm5L`Xk=J*3+vKee5g64HQ*OkoM8IiSKWI{m%VT_ z{qu))J#$u_U%(Y=4M!m%pC%8U%-;N_VEK0-vW+q9OqZ zCOUH>(YqUm9@n&DXF(l(guZs$?tlBPhtK-ag3f*P#rzMog475kTAIkGsn)Oy4<>rA zx6uLL@5@`zvz`M5wf~hKNv@Xm-`9F!;TIjW=G!le8a&_r&;0g_{Kx0p|0liuCo~O2 zJ?Oxwe=mz3&1#>&^C>kLgi;Zj2Hm0_UhQd<)b+anw?Ih0K^Yo`4gP+*fBj~O`Oi{` z7rY3tW<9iGa9I&<27tR@>D3m<)a}*}`Fh8z&HvaWToZ@g>ovwV;+6Jt7H1&z^DF8V z0cIhXA+%kYGKW*^o1%Wc={b&x_cn~?_{S}t|GUqyyni!To)CR`a_54m1OFWU&ounf z3Mcp?qOd)qQB&q*zlR0te0m^OJyrvO;Rx}_o+FW%(2G>q`{QJfz;YAJgM%th>^85PL+M&d3lRj5HvTJLYtii!(r zEL7@IRU6OAn^?@)OB0O_{KHwJv>KC?*|}Lt6L;4jVE9=|ZO&g>>I>OaNA)Zv&>23M zQhXVwTfiIv5fcklB)c)(m$`WJMWZytv)Ubix_Apc;BdYDUcC#8Gy*=F5bywT@GOPD z{ig^}mPz{a^}odH|LWayiTCeV;zvUPpZ}b9LA687Nez8r#K`oDMTxduOeWh!z|jlRKJ;Qchc1Zi97A-& z$>q9_bV&_fU(fXjlx;Pxcig0Jy*J(Z41g3uqBs!)gTN`q ztRb$m5LWP5_4XYkl@+oc1VJ0O1e0+~?N#VUM_wG*WGI$iJxxV7tz~cfV#%$KJgGPd zdT-rGYm7#d#%S#kvZEs}I`+7T;+USLucv)vN>XqJL$)5Fx(2@JhcrFoWxMjpGNh^F z7>bX9mlfb4*DAK`to|T2+q^x1ZbeQaApc3fSr>E zcQt_q%F0^nW($IXG}%PGECpG@MU%{+AKj(hT%Eu|)g;YhIHXLd=oCm9mZ^|aMZMh~ zjaXKf>g0{~mJ8iOpPwG?cJ)FGGs@*TYnAPEMw)DOo=eR78jWhd4R+bIrj%`=Ho7N! zcXa~!=0&Yg?mj!6Ju-Wr^~7PS0n@XNNXUc*S* zIqg(stE;bmt#Z(Fx5>E=4Ry1-z4`sk)y=Ob+NxYd4}0FSV@~?JXnTd+ejz2%pSs*p z-B&@6kUVU?!9wycV@vMldHWc1sq}u1`JW}`U%&g_eRcO<67WscnSxy%s(@>PimQ+6 z>a72BZ7~jdSW9109VA>WqZ8~)#-|SU&2zB-je@;|`o)*uOMYA6iYU#+I;$1uQPX;{ zsMMOA!5Wj?ac1=d9C{heE#TQ?a-7G4Qona!zk9yj|0cJ44))D+u>Vbh{q@a~#!rMB zF?eaT!r+g=O$k+AT6`)8AN1SINLngI{pusqfV5}=q>XF8f4qNx_j3E&)d{HJOEEiR6dwGPieBQO zSKwINt%2Z#aRSI|h+m$tJCM1a&msN{LcIR%MtYOyidzaZSALZW8d-BztEHfiYH&ht zO0!{v_26(C8*Wm^yNp1~Sv#Q!Dr2CcWy-M$`h0S&og#qV%8XoL>&Ij?cNe&fxVPVsGFJxV1VDi1_MO=71F=-2Q1)Smi>;>mOS|J^*?-@bh@|0tH{qEZ7_w}qmyAm=6a zl23Xid+H_E8_|##9WD2K9J%M?SG+}Bs@r0f4CmQ*yo91sFvLA>Ye_A8*~ zA?N*uuo{*jNS5ptIR+ZZ;7v$|@!PN8u3xo?pXX5mMG|4*O)5%Cnnkx@QW2^ebBw*) z&lY+$9?|!x@I&Y=4O{LHO&BFEygY52aCHPxY0%3M@K+ZT`ED0JLfN0CoGzz&&NHicsZ?^tfMNsVo3WQ zY2~H%U7z^9`tl!azNKyE0mA@ktFB#*thQn z%5d*4b1ijq0GOj#;jt#N*{c?BtR;N(MNdbWZx*SCpYgSYpHJ2y~qtjO&aVkZ1<=N=_>WaF)FQj2%Ff3l7=dm65XT?(7;n9r$se}LG)y>uG z`@8#h_jmuh{yW!KbBllV=Kf#e4z@{?8fH4)?P7^hashSX4~3lI>E%=ty_8F)r5uEQ z=VBgPwlcBPO;CU?HH=G9m4|Ap?wtNq-o9 zX*X9ZicLLp<-_DagPav;s4nWklnJRj@AZqC(oY8t=vk8rR7r#D{P}N8;1zs{UEF~84Wv3%QzwDu^k~}W}W-zMGE7Y(v1ywaz)>u zllFCL#6@2R9PYG9d3jiOb`)+YjeC@cZhW1-L!kBVb#L;!C2utxo?N_S)81v=2+QbEkYAssEF1g2cJaNe1eD@%hX^oeml!clDomJN2tS(fZ+X4OE zCMW6YUYkV4f&~;ij@8scyf)cz)?^K3%NuTao~ByjE?SP53=uzKldo4h>8(fUMl6^* zvC8D#VNO*7OK=F8xvKWNpkWh$-b)%>rLgZw&vk%EZ%x+k`Wd<#M|e1D$Nuu; zSzy@389}5!@GQohpIMCEYd#JTNyT51CxEtNG$15u)J)O^ENn*onmqNEV%xe@o#`u` z>8mNzL+-_dpE~aIML#`T%~cwuGZt8j<*bIg%3gC9OVRJl$eLY`cqf~*Xmc07kVv1S z6BtiOvC}c1FFCrj3wJeHl$w#0k292WzVD~E++Iz&y~ovzi~Nl&KvIG@kzti*a?q%X zu@Z8{7rm)rKStRo>S`1WIdipP-ABLWkMTYUeR9dPN~w*%@#*ol?8JM0zBS(J@f*!f zH<8mDG4KN7{nh;&ap3A?5)&KkR7%#&PxuD0e1CY8ShVd&+U5b{{&G-6)gQI@dC>ER(RlW;-079BV!d+&u(Uqz{0Ez6` zsvhlzjI$2ftaU;j=abf*g0Dr_`EX)|&Ph}FT9O9T%v%}zCc&$Wd!|`Q{WeTtLDzLFTE?M4!tKi3~-nrD4u$nw-ijgrP}+$42=B= zF$yu{^mT_gL4sYj=^h&PUkhfZCv$3z|05N+1DM^^!?|9e?x}P9PuF+%cej$!5;WkU z+Gz=L3VWD$0IEy*9%HzcbOVi+Mi=p0kWbBJyc6|7xq-WfR1_DRoy+);i{7S%9KEV< zHI0fgfug{Tz0z;~`)_Nw7vAyxtM?)pE=sFZ_G&}YcpCFoEvt=_wr-=Ub#>K7vd+=M zIq%U`gD&@pF9@3CvdSLc%P&F znMeDZ>)+ddlyDJEbVIN93#rLD?$Cf?)=PwCQovs?9Yf1Pf=L!~Ai1yw``ZI$;fMD> zetW75t5ueAXD95cuA85@)L??a5mAroS`Fx84NTRV@8`cyozNR9;@kQ6dLH;~?qkJn zj4slBnVi=Y>HLs2AnGHZ$TGd?r6AGMrXA~d!;E$C(1i%U#3#>DuGk~PC$DoGy^jr7 zh@ht{#eSc$GSu`+0-2^FW*ZkV_H5Yk!I#j_IaHBs92qU(GOZGGJ1kgGpY@OCWn1jk zG?q;3erKERcN}M%+r?h$&uffDD(@KiXDEwX&n^nE36fq;0CMkowsz_I3y-m%rX1EQ z&T{2L=_}7C4*Sd7UvA$m6sG^@+xM?;f0%#v)9u^a`@6Fq{}7u<8~^yz#lD~GH9!qn zRe1c{z*>14+M9L!`bYhS75iUlI}Po-{xpO?s2 zZ7mp^FwTFs#s0TB>}Lhtf&Jhu+?)Tr z{q5%Me=JvC40lZ8pq>Rshg^1n%lcG;n)lMSw7W!{p6!_Q!hAn<7?Ivv)Hivd`O1sc zzQ}N+g(B1Sqk%Mf-U}^IV0zLAui7_~(?9Oc0!@PVE{L}3Oi7=oRqA?& zp1w986{Y%bFZI&m9SpNv=$VLz5q>m@zqdN)GU6|a{>wCWffJ!Z$_f@A*<#VSkLVB- za)jGH>vQ~Q37Re7-?YEWW?nfs5h9Nay)iHS`#vh~O;TOCmhA<#*SoII^0lA6Y@69^ z(kO8~5M*fJMTxP}MjiYRkFMa+Ef(vFoee+4ixp8n!~^nmPhQWBNd0s1xUn;_BcK-< z9UA)c6#l)qrcd+{@GxQ6MRY9AsYhMZr{2_lUDNA*yehr1tu}n!(XaN@;a@S*=QQuJ z1ScwgGZ}v&Gig*qg?(K{R0p0h;084pt^kR%Yo84}n|=c{Ch#YjaH)tpdZxNdOLeEx zn`7V^VVa**Jwm=vL;9fJ*c`nYTdqfwo5$!!{=k1a)2S1p3!q+{=Kg1Xa+CT9Z) z?x>ntu{j1FWJok_zJ1ppfI3>$fI0ypL?ioR+0ut8mZ;GvxXk;aMMqUmV?G5q+AusOJehDwJ!Gz4zWV85OmTFctQ!*Ev9-1t{0=hPJ*}M!AH0 zFQId=_?n~|ztTq_l&K`IacSmLe@zA+Y#_Cyi&GbS=x8s$^}BvShnJxz{q?(VZ+;Qw zi)ysU3*(}2q7kj)N4O#B%e~kO%B=}sZ`hmZjeIt3=V(R6@n)l3_*bdfxhm#@3H>BklRJem7{6_KnCBpMbjseE-d@)YfN_OGO79r==6$ z!wEzmY;swn9^#NA9Mb^jIKKXg<9ni<1JR9@X1Mz)6x7(YaRJs3YN?B?AJWnzTGJM8 zXn@<={cwxV1y*{?7WNrfdC9=aGZJ~KUh?^&As35hON3ppHq}?JZraE}T~x2*j;xpt zn|BMa8hdWnlRw%I-+XiX`swp4gwlwp?ijLySc>S;8_rL~+vwCtFnx*mm~?(Pu#{m$ViI7^2Y zg1@|@Ae+W`5misO^kqsAHO4{QtDh#9na`;RPR;v zqF^D?6(1~ZJt)xC0%tl^R9E<=2Qsg1z22J}j_gPd2pp4@FNVRC>BpF#Q}pE!QL6cP zjf9Xi%2&cN4w|y9Rv?24K34TRpJ_GXY*Hhh-@c0g+eep}U$JKus5K(rLml z!0io!4@f%`pCVp_6XZu%UB+ENbu!GBwQhI8X<)YOU55Zsf7y|8j%p|=Tg4Z9fDx$1pE@Qa!G~DJ9@2z;@X@+z*F{EL%;lP_89_Sq$%;>#4LyD=-p!O zxRU`v6E#!j{Xph@y=9>9EoHa7A1vM7k@?NA6L22TI-oes;S|er47>2A)ytgT$aTy5 z>ZDKSd{fHrjjD!6TrTslrYLrF47}DY#?QM19p{Qeo$)>S-Zvc+<>vUcfR?e zmtdgBcsSqvprX+7W8CERDuJT7xk_z5x5)|9T;%Q&{4n1d z^%GEg`W89^ZnG%A4bRitY-jnEzUr%^JOZyi{xztr=RwMBkd+*HTX*R z6PibMoej%5Sn~LT4sdg+JEt7P(4?Z&BuhU*QrR2{)(17InORtSIl{FWO!|5t06qC# zzv~A97%rtI?9YLe4q|pq#hfSE)2~7(lXJKakh6xQAO2RPFukUOaI`?&4nq5`KL|(j ziqQu_3_m(?_V4M65aXhTy^maKa|}{81)fyS#GqGKN!UwkZ=GTLZfOkqZNljApCz_Y zUCy%UJfnpl{p9LCi@>n(?)68Zr_HQK!62%aFp=o~^}GHkpc^c?vM&Gra`*Dl0PoxT zcVGT`0^BPN36M6!Shm4_9|%Y)UT=>R9BGH;)kh%GSb%850zeNHe(F@Pd7GZp*Mky8 z9~`bVgb6`I(C24EfH|mlfk-mDz#^B<=%rf}S5nV07!>udZ?50I`|@{bHBg)r(SDwp z3NP~@4Z4%x3_vYe-326aD(v-uzgoz+x6cM?wKRAUd2`_d*d>H9hmrrzy1pVTZt@*SjQCGVal- zSHa->Zheb;`)-&8_5-+JtZw_^Xm)=X z2Nz4V?_F=5eGx}M9tF=Kkg%VbPXED8m{iDLe)i*iG$^eBc?OaJ@J~A^tltgVx_x0X z@(f6Ao<~tq7Z^q#Od0mM{Q4!J@0+P@5v=d=`pMzeTgb1ze|2;9;?-Fu zNeGxksh&)OzL$%y($*DT|HjYITB4CtzjUx|Qr!DoX;-xNU7!2o=rwS62xKXJ@#=e; z5WCL-;sNw*arKprcrMg?RfoI?4K{K8lw2%KTE5AUec-`9RXQV zIa#2;&yva)DXF|g{j0;KN1W+nDB_*x7#;;QZ#_TS)!%ngqsPGKB(J*Zq7Swc6`A{mu8U-ks;2;=O2no9Nj4G-aKK0z2Lf=s?fr4x}C@=*v9c_hW}CPco_S=3Z9d za*l!2=hs-OlmQ}x|E~+`bDt@1a}iYz`TLZ;=KgGONu-DTw%lJSE#}KO1JZs!doQBD z1B3paJ9TjTjCw3~$g$_vZ3TcD{CVWByP4>i{1PF#!C0@OLm)D|L2UK~`KF=~Xyvbe zYEm#-f;aUDm{$5^&lgSRxNt-|9u)bx+<&eFo+|<37@VpEB%H@{CGZ(m0>l}3t_1$w zDuF)^fr#$Qq792s2{ih}4wXPMxF-8bB0Tk?50NH;MjHwALRi3!{PUL|-=c)`!WbmD z2QTsDvI_3OKmQq%dgWJ0Xm5ymm=E*=oP#w-F?n;~;9I{KGW__>{lm?F{qy?nA9tdj zA7&}rGpO!7-}t=%y{_t6zm>%KsB3@d7lw~0A5+mccGlkq{j9>@1#qH$G6VDR6Ev#T zE`xvlvOo2@o9k<@-}qHpt+|@inpg9Ifk$9dWY(oNO8@7)=KP{pdB9$P^^o(UO{~9{pBQ)mMBl}lMFtn` zya;olpEXat)Zvw^4tw)yKfd>RXQtY(3${8BOrXx(<4#8HcTPmz=O8IL(ly>0iP3}+MeDB1#v!=>1!!BvQWObq^k@}#X*avc8A58OlH#X7#xQcYm4g4JJ|GfR} z=IxiipC#Q1x#lEw^oc$IzRdU4X*zoL1SAJp@3rW9a@9)La0b+NkGeRZwu6bTaU=qG zQAa`S?qYx-)%o06SX`1ditT)zA2I5uJGHOa)`7k^067@erZ=%Ru?(*C$)h03^~Wlj zwa_)dBI1}e^L)XJuLeDFJM>ldTKEU`Chut9eklD-5Dx4WA)hY#KfM3xr}ak(uaiZQ zKGuxOBOc)LpYZaBDOnVmfV5^YENvOrMVskjFYGfS(m&k3e)CGg=J;5}=`C-zSHNjn zJmz+XsfH%1qow9j4?XBB{Ful!efz9e=#ql-(AQ{CT6MI#rnBj8^wZ$+ zu@@WngjF z#zCAfecokWlZs(xkDi3vgO6(Jy>H2j0OYjqdPL4Z)s2tiE>`v69Ec`+%sZc^h-sH) zoiDkl=QQB@Ki&1ZXZ1oJ7?~xo=`3LyN5TI%?Eaj$KD#Jdt_8ZO!!&uHH6$CJX;DKm zcq)@jD}9}pdsVDWZzEb{)fV>Rg~VP;^>d>4lCg@XMYV7d*U{AWe5%hW>qoP5Aw_j` z0A8KyG1K##^}BvY?|T&Z_&YDwc%^2s#>+H9qb=(EF5t_MeK5%B_Qsg&qR#7+e(G(} z4syD|B(LPh!Ef6Ec=77p2Dtuz?%uza2DezGtqh&*!<0}br^o{{um=6umNrgM4{d1! zb(4R3Z}vAd-e*ZE&gH0VsmJzp4p1|`<>|C5Ek$do7b#Ru(IYSCcaJRe*6#*Oz22I8 zMABbQfh?hl7@Fggy0i1kjztl8!Bw|3e6%v~xi6$!xU0Ug!$c4B*6;ejr+$kxFz{#L zazc=^eqf|D^8|jM=RT(34HDYDc*WY|RRb=E_D)*A8*n-OFE?a_|Nh4XnepxYyKir< z9~5-ERND?#-SfryIH;($nSBZ7CRs18>Pc}`y|H5M9U8ZuFPVD2wn@CmvmkZ=8AP!~ z-cD_P!!25JB2SBwC;>QG859|Z%ui6%WJ<6*v zlfhz}45rarKqCIq1AvfRknmoGo(%__E4sSRY#6=Xa2t?B^Ck=4i|!A=)*$%M|8nC_ zfULpdgLLtc?g*ev#phk%onQd~fQwY-kNWu_M0!BHez&MFT>$87d;PCp$&bF1wn4xE zd)-u$Mr@Ns@8_6NKOO3ERqJ?AKOO8Pybf$#%ViJaOqTwLc~jqc_s#Y1Qk@^X)barh z@yk<<2z!KFZ>ZNBA+0cO{VnhN^ha8j<&MJzKzYAy)%`Ea>_@}VhFqjZFVRiEck?q} z6emE?;c&$uzeCHd=^uH=fV!Ox)a@=|{KKCFvEuV7qSW(oB|lE+R0|@$;+v~vwfY)( z5(JdJUW(_)u5~*M)n=}H%P=%&~vaXTagXiN+B5P(Vu$so>F0^JImcH6D886Ec1F^|bhun<;(9aGSltg|zL z;$l>9f$7bkp7hm=ELtn4A z-Yh+c;IQyDNi?QQ$nRfE&MG+P^(emS%z_`5wahLMa1U9p;sBWxW~xD**)jGCzT2DL zz8he`m%#b?`aD}LfE>gepJ?jOT+mnC$zC~nJ?twN>RAs#UC;saOPPbe3Yx@vu%{*r znfE{3zmYNEJ{DP-FEWiB&X2oh-Y-DBGB|Z5kG`LzZR}pXv9@Pe-QLFPPGRtj?|b+C zt9ReOx;Z7x6=f4OPQ4{hG49g9JJ7Fs3cc$I`u_cBM10ux*!uUQapS1#KKF2{W8x zJZKl9epUmaH@IBKbb0_cI-1_Ie%F`uu3o_I=HvK_Rei?dr2`OIt=;4`@|(h#zPPAg z;JRK3ZQa*6{W~8S+r((HP4tj1E&+%OJ1AZ@Q(|1R>lD1(XNu$6z11%4NX7k(YQtnG zw4lTK-LSzQr@_u007=Eirw~L6Pt)xnPCyLP9JhVg-SZ=$PXW1?NnXb~UY!CkFp?g@ zbOJ)X1d8X!CqR_xoDX^wwf7kWM_S}HHM=^2)R~<=1po=(P5J|{dUX>ipnW$;dR$Bj zko}UqNbQa^YTM79p7XnC`FM{8lk`CHHLyl?>MxF7-K^gYeBLygzW42kna=!MlqUF` z%L=A;6FzlKr%&Yv|MOHkkF6>z&GAx=o9?SfOEbMNH=O=B-Y1 zXS9dD>LQP?qkcJ;X+4c>lG8XAYae<5 zq=!F85ow1^osW}q8UQ^%m~$?Bb)8>;bjvbWp&~7%w0{3Q3AW4seRKQrEb5e>|M(?g zeQq!dQ%L)mpa-XSLoU5(=^Fl`2H*e#zyTWo2Zzfj{Skg~4_C7I+It#`fiRUOM!N&v z4)xEyr_D4VdUduBk)G$Q-}S&N>`|LTI{fuVIrh26B3*bvMWxwN?$GEvFx+@jMkQDb zkNYcnfM7)vm!ggXVSV>-^K$)BLe?gEj>lQv;;JzE$!w`-%iCQeecJLiw|?AUd7GhV zFgAkaZO}U+`aXefV|sOFk3A@R8`M`*CqGUZvkSS@y48#*l3-cK+vxUz)Vfri-ou`* z;gfz9$2g*a%@GZKud_QW>LQc|N)bE@yC{49l zqV>kf!{RPF-nxeTFgV`&jGEeAw7gaGpB*))@lO4u*M8==Io>+c-aW#w#rq#2|LXot ztK!dE)a05(Qv}8oElwF#_&J^zo0_4tHvFU!9;(atxp5^IHQBbP2^SQ8kq+%ZrbE-0 zes0)vD!YUovp1-ore0#8MZ4(DFfh<>{Q6ywn;i(76fVB(c$~c0x%1H3x%k}$J?~4> zckag$hU3&bB)*uE-l&HuEp8M!Tc{EQW`_FRHf8uLe$6AQM3Q zY{>lM;FVqMMWq{A{1oZo4d9du?oi>+A$I}PH$Ktor+T_fp*4?-N%I(D58)pba;cXO zbN4BUoC3X%0XJnGKSGc4cPKMuLn$cF$`WJI$e zUxny*2zjoc-@H3AwIbjx}ndkR{q2U0`tgm;$l%iS)62k{5-q7%6sF=SD^ zh*`PKF)wkKGTphXHz~kKqA9$(O!u^^fj5a795oLkuJ{RZj1Rs_XnDS3OHHz2hfA(k zG4PeNr+4ab$4XA%+h+q-`T}+?r|8S^1V|3)$=lqAr;_*4EOPobJobpz4H~Nk$L}jX zdi2yhb;Q3tkoaRkRRM2B?hQwUvs)r(qhCg%FKLf7%2f;prt1c6op1JB5&Q<>)*k^Fn#hLjt zSN;5e59F$U0D?Nt1sb6EDy8+v(3b1uLDhNlv}N>3FD4o&G)zePNhD zy1esFKX}VW@AFp18|aE~)M_2BJeUX$P{KG3S^CmT=!jekNHT(fafQiK+(|s#SJ1n{ zMDp5uRA2kj>z!2D((ibJ55_f6Kyq&6QlY#-r|a_CXvg= z27K}9+5y}=Hw6W}dOmxEWLoQaJt;lYM7C_>u?>FKzda+h`$o6dFJI;&0Ctfbncs4~ z+7OWLennl!Aw97})5Ok?v+?{m-m(OEKv8yryWop4*A4<>3t1KPxF{fbYf-;$V?-xR zniEH-=g9*8;^yxC>n~ovn7_Qcx_Y9pV=d}Uh#fg==T%ZOxBGN9G88Ckxe3zE0rkijnv7~H%!iTB`%69l3l9%B zKZ*9dsnPe;063U@+k$`k^F7yndX|bO!7^>2qujXl-U|oyC`;t)Fe3*p@>dTxzn#TN z^hG42GmmkGl^!?7~<| zQ1vcO2&Bf4ehhm=9^U}ZCMTCPOfgalKb|#|O>;Jv<}`_JRG)*UAU5IwMZ<|zWuN9hE{q|>w4p`95Lkz-oYg`Tr> z8Am{T2BNFMfXSQB0F;Aq$0s6lQqZdrf+LmWV>V!OA`QxG-wiIm!&s2wA&?q`;^lXM z*OyL7(;x6hz(>@h?P=YTs$b_gMpWL}MCD=FuAVvpGW%H^2yohje!^5W(?A}PS$xsM z?gRP$>le4NUl(l1duP%pay^%N?8QGZ6hIec0!`2Ngy42RQH0u=f!M8 zfn-VgX_)XZ7y9!C0=~$$fssxC-cO4I(Jlp`PoU2HwP(0)Yd*b1o$s5;gA}o|NshxM zW&V@x-|ClaNCCdtL40}&z*6)R08aw)+gMiF{`GQGTl*JG;uphA1h>$C_i!&73-}<; zfLR|2tWGogV+`ZM-0BC=I}4DGaRz6B9_qE-^I}493{xTgAk=4+cXjUVr2Fj|p_4oz zs9Yl1@~#-BJGCFGZlnu?bx2=_ACh~p;I#Y^dTeCaPnCDIM37=1n9{yZG4G;r6MYE! z*wfb?^pk$i5N^DUa8vuT^NC}Bdw2Ev`pwnt-EZQW-`hYu1)FT>rw4uQn6=#;x#r92 z`yTswz@eKn0eRdoSSEAZrAlu8b9bVq6@T4B*h8^yzVD^&YnAuC7j$3myFoHxUr!P5 zhTZqCUfQ8U8fN}%LX=SR{G4#9wzT{(l_rUgI+ISMz8ZNOS@ir zVN96+cCwU%Ttopnar6DYc)$txUaa1VBsNS>W)_WLuTd-H?zuY76c|fg zu=S1J#;7qBYr|wP{)q1Of{RX%6=d5#W*QSFbZ(c03tAF-pdH)wD9l8U+LLM04lqty z`j4nT{Ns%zbQM5!eq%{!wr|ZaDT$_32D{B z`G)(vPZN$Z`mgOjND`GGGbHI?mkFV$jJcVG z%CbLCdh8r2Q5p1$(;l0D0M1#Oa45ql?^~#^U*7(7n6;h7q`}~_NU7q`(^2d2C%C(z zzIHn@(A*f&dIe&nRi@YP7K6WGnzZ5>kg$_;wr$>;YW!@NidQMx@rM9I)Gt*-rp7Y4 zssXeJeZPOG!r`#fZc3qQrgehGU3*NlZ$OWF-`)VjB!`>jn5H?w z^^V~~V}BNo5?#zm6gOo?wq;6LL!=T$wmw94=Lbl-y{4>g{U9?;nrvdy_}HJRv4=ov z109MWE2I@Qn(3UGvPqEVBui;g6P0V-JCp{$muSZh1+i>NV6kKJ>Brpf~;|O-xWPsg(Pi zy}ba=B&Oy4Fm>ZK?%%bzfA!;P1}!E2Tp&uENd{?&^Sci!ty^K{XOKQcPbymj>Rn8H z=*x%=jMcsy1a-!O@VgOg}v44YImw!y-E#}Rn6NJxRi@Mk}9cI$>@D& zx2>K@J8SHe|C{@}`*-(uH&Ud1(-7518a-+v%>rwifw(fMlN)<=MVH7%E}8nczASj! zIN!eg=JrmCam*qYjupWyUZaD>W^fl`&_|h?)#_D`defjS$|gsO-r`_Dlov{j$b&-B zgNFB-!;}Ae(Y3sd!*%SjVDHNe6Z&~lU*Pg5xv3K zoqngiI^e$dsXNqVma^u=B+}ZSW`(YBZ zYp}0>e-8G)O|Wn8{_*CGoXJxNRoZ_dvjm$fte|lX5(UKcz9L6PsvGu2oylu|ayINs zGR?-zFj=X??Op;d_S^GO7R7>*Q4w4G`cR`HCU6*w9`K&Xt*1|VoU3E(J)OzRz$o4^lJp zropJSgQLneNNUDH!%Y&`JDPM~hnMMpy}i4Bc_Srsk5xjiATwf%Q*`^-|3UVsrlvz3g81z0tLqdL@#aoQx?j$n2beIzCBkS*@H#l`ePa|0&$p%UHL=V*0 z@1K*M%i%3QncuNSFH%w16-p|&OZ_(I8$Beo36dY*cRdz4_Nc;x@T-M;TGHs+?F4o$ zB+<8n6PbajhJBPEeF({bMI|@kP9N+<2Rm7U4Q?#;=&SjEM}EwGaZc0}VrJ@#Lx;+q zi|@u$cIt44e)GK5Zt7Y+(!%}GB-}s0GQ+eW?_a+B;>+J|q^k`@cI4sgnM14^W&sO( zNEW%U-t=;#6{t%#THn>ukqtBAXfgiBOOZa}#oNqF!sVh7b>)#Qdaq3?yy}Xa7W6d9 zdG@opClBurC$91QJc<+o4&M+atou+yUDlhbg}!XIX6!^ySCVPE0@xRcPoJ@WIB}(8 zYnu5xO_M+YmnG;P(T0M0Sx=;!ZLhA!d?EKE?Xw=u(ieAQF8AMMn~m(8G(P35l>Fqg zh7HC?91*xb`WyDFb zzoyZsyyJb5cTnHAti#gy8vGw(tVN>*&R4_vM-ug?Fg@pXD;i`Sdb*vlO6x~m2PmrL zUJsk1Y>8a-K5g(%EtMcnsj4sye2h~{2G?71fTGUcwB^06ogR9V=OCZZ-%iYB3d{ix%Sd~A|-lsl5C@sfgpy*v@J&4$Cxc#Fh7;7aWNOd?V8lJ@>-K% zL@4SBO7tX#p?%h4R>ny(Z&!N>_06Bw{c7|KtJx_SAGVr;sJdoj}JM^Hibk089&0aTWBdP3$}5ZMCT`!=d(1 z!?xON-wkR@eJ$|xDg9e{wlc?Do}~#fkIyl`%$R@o>it`(I!{o=`3eV5OH+#bsH#Cl zy)Ahp=PO+Db)eblT*Fq!a&WZs1EoM*>VkdR=3^Y z`XTp$RS-<-*{+xOfAY8d)D_QAyht2kuXwFt7x`3#Hm}qYhbY8~4{D}Zr757*rk`5J zsV069Z}EnMJU|t0IF?;jV$bp3J*EF$7I6s8ok*|OkwW9ve|mcsqoExqhcEis3q5+V zO{6*74%^9BL>LUmaDIN=@AoK=+R_zn8zu2bitR> zdq^m*$DXhH=XTZ4vb|WYy2u-QzUrUPRo|+(bJKjvS$y6-y(mRLWyqT8DMRpFpL%4#a=GxOag4rS^lE3{2#$SE6FbxT~q*gzUZIhMVHID z=ZpR)xadnc_s#oPqJ3TPS=M4>=p}Or7hxZaL@kRGof0GAX?lrz^qP8W@eLypOg`mD z<~m~nF5YdQgSa$*4*2I2@Hw3?@fMX-WvClJc+C*^S*@g6)lv_IG%5>0zdmgSO~h)Y zeb=v6j$AXx+;ADL98(eL!1NW*QwUDONZ{Q{DtbNcjb5MX1)CU!E|WkPj>Rf(_xnV& zy$ojMq8)QP%%2|ZGAB=UwU+m()}SAn95$zxdJWys;(WQ>U;ZvZ93f*CwUQa;iJRgs zYKtCgRzKa?GdwmHg1QsKzMS5ChO4C$OFgCG=>d*%sADq%QnSk3gihlxCj`6rthW{< zodw|lr&a{J$1rTc&K4c?n1;UEU){*a#>RSMBTb8U_$kkSDY|VY&dZo4p!!k+wHVin z-IGjFunqw8(`h3;)m4)wNapw6sQc7=<_Vl&;d=8`szXWj~ zN=Lm+b?%_|5N*OWV=5nfQqIRPPNnHbU}71L<)R#}yc}wAbp9Ob&nVPiiFMs7Ev4+r z=Lor`&v9;~S)XrpLD$z{Ex79Z-M4((Sk02T`%UW8r|nY#7J*C80lx46FIV`xhZ}LQ z=CfFkal0=UGwxzl;t)|iB(LOhTdl)&q)ff#Ym;6N_WIjTf196U{cjTMZ{_(K1d%{Q zk5U()NgIoOY6-SW)>g;2kI0s_EhE$(DfQIBJ+bV9CLaDA-On_-^N*qjCC^?PCVL z!wgOP7zi#MYcBIuQ?xz@aJFb1in=;owd(7=jXs{+!nx2i9AL~^*&K3hCo$3l(1Jv*`I6h!;SK$H3~P32&M zepc9-hkOZp)_Zd|k+-9;8>Dnfuaeb@J7ejID$qqs|y5$8>QaWI9r zQ-05Aa2}#9Ko5f3=Z8GeMSC(;?ci}(gVqB6*Vngq@8AA#{rcw1-`~i$Jr^vZoDviG zJe5a6{8@o#P>1tnk3nx&(WD%YGkn#0xnhnftN z8Ope#S;{JBGd+cC8_q-vBP{g-eoq(ohx_+;FTeP&<$wD-QGP}2+F0Aj8c@@wbBJ=i z#WNLUyZLTVPh~ew*63>C ztW5S~+0v0g7zQU_qy5e8-9H|_x&B>@wUc3~oThC|LBrr?V;y4A*JpiMwawe~nwMlZ zW}yzixLMm8>+hEzZ(e>g|3<|;9zbSlb9Xxzw+H!4JxnJ%Fuj8}t!`=(H|<>#Mn?MT zR+gssQGB);$V1}>X%wq@t{)oS?Y_5NGr77xqjzPdO&RoJsiR{qDH+F-MXENvBrQ{k zPl!rdTda*Pmj7wLH(j1l}c75datCgg*}C`{oVb$`#b5fL#)wDC7h>kJBA50tV1691OP#e zbObuhr>IWzP%0Vt^}D``!`}aFOz6)n;6w7#XpVzUK#We)wy~J@xRRWe(20GPFPYrE zWYg-!53k+-e)se3-R-;omFxE`b?MLb`{z=>AA)_lhR>qq#d8h+dDZZTxSv(WN8h-C z>UA4V2~_^yY#l#8hNupHB(3MX9tc@_nCeDTizbho)Wb8!MgPoNUc|{g*YclHE&mw! zGwS)2qIm21dOp^q>E8K*-dBU+qzCHSC;dV?xdiC$AhX``H~_wWw@AcW@Wh!Oida^DY1P zx#i1@=5)LvVJ;FnHqh89%##Zm0K8xyT@B1cK%~e_DeDok&8m%f&D(dwcy1gkwNLP8 zge87S+J;IhtaNBU~o^@t*&U zhZEga0$)X)C{~NTB$Y-lpV@Q6B`cfkN^L>|s+;VZNs4*+jp_V+JjlPt^j zv#tsNpIEB-snn458oi`;t6rm*RPziLHP2xtS&wh`8JD_1tN_yNEYjijX{xno3N{|8 zJYOO87$ub0zn1GHC16xPlMfLp*_l1g_0A8yXCx%NO+zB49xgK`>=Is8G}fT;4yf6EGw-*bP+hiB zzG!NY1Bq!dsc{p%w}0}`O7gAqU6Q5V0zGHJG(lUT?0{Db(SUDo?M}uAn^rNzsY-aF9 zBLm+)>u2cwZ|aHrvX?Kf7O(27`TuWm22(@=;L~Xgt9mz1yWyG4@apg?{-c0PO&sK0 zWE3k?&y{J8xn?NCKJGq-Xc6_KUiYf^t)H6-GO@4U4NkY?XR#keUu@=LM$uu3i+)~K z=o+G}W^}dv$Yqq24ORgLUPO9uUX3BiR_uv=Lp|?1x zAtfAP$o7m>kR{s>ujW6BxMax@=So`a zJ(ZY%^pK8<&)Gql0)(FsU;Iaf&ZtG<3WNc#<=mUkyWYS4m{Vh(hoPg5-=?2_oK zZ`3#Cr6=#a9`s65SE_}&g1wORs92wK)nh8M1W=)?_pro0Xr^#%*rRtz|Grlm8JDuU zUkkn$Y1;-e?Yn*?kWZo_9OtN5vdg=TY9h(6Cv+ zsk*w$9S;=@^oRagUaxpivl)FNBi=si=XP=Y>%K<(KW=}ym1cMG1YDNA;l(8lf{NX; zhE((vR=T6pGgx=M<^3-W%*8Xm(|5PdAq&kat|ZAZ4thD`_J2-rA(d|sUZ`V#(4!s zj-SRYt3Uk?rWa{kOLjdX7J%louHOw+`!GE8A>a$SQEJSctoDe^rX8m2qh|0fFdAD4 zpuE{M5*F1@xA$~o?k!DP>J!d@r~B&uji@PAa(2=r#xqYgP98NjTKo-1U-jZbbM~j+ z>|)T3Lt4Ih{cfN<^nzDUe#K8j+&d>4rHOd#9-lWbo`TVacGPAP^_qI4xpkTn)YBAj^f+bxZkVSG9ix78PV?nNt?uXMOA+p| z&DS?4>+s~fI3lO}t~}M?;|?p5Fx4Eq8s|h#N(~Ysy)MP$SjBR&hZbbtoGi$mBmL)y z^iq1iy16=0l|d5|H%NjxfE`p~=0`hN+AY%PFss9jy-mWw*U}^)5Jy56zgpC}=XlGD zkS05-mIT68Q2X3qv%;S0Dx56M)OVT&ve1e?~}ItuBM!L+A__XEYtE( zM&Z}z-)R=clUQU zvPwX3E*W3*sNxy$sXYd#e$IoZWSTLkAx()M%_P%o29B&XheciN)N3@c2=mkg`gTB~ zV=np%F86=9EABFa+Rxsb{OofNxqbQy{`M?gza{FT!OnBkKeMQdZuX&q zIE5?R6fVV}V50Ep-DmIgT7IQ>w_AHQgA{-2wSx{lTebu|x}k6SGKqV*k=dl+Kq}(6 zeX5&k&}jDw54v;u2OT2Qtm(US>^0#Y*`y}%4;-rAxJ7)v=XbIvYRzKl&ZxP~rF+mo zXZWZ`{qz-}*Kt_8HT?i~8Bx&vnu)k@Y{@+;=I3r&EHC==rsbkGEiYc){&qY6?!LHx zAvz@1s^7CLLh4?l%FKk?Po;*eSAC%xbUhl9HbykrBKCXPr;qZBU*F%qyPf}Ema%c- z%?74=^Ai+RtLBteGK^R-Tz$4S35$H)+<1d-^%pq zCQ4zNTQdEGoh;eBx+UxJirWar#xNZo=NC5*_sbOK{)O0u%TqTR^O}}Lnnq%s4fp)# zRMp`occ-8(*61agX@%A=-Up`f?;h^ooKvmM{cx_5a9gDrOCe9S?z2XX!3X_jrIM(q zx%1F>Xt{^39sKc%$w4a*BdMJ@1`_UhJ_k*d@cA74`Oks$=s%x>f1h(8d7nR@gFpQ_ zkU8rP#l1|Rr#RkCF8N&+u|5W;-oEGBOXRL#X)Joo1;n1X_NY{lOh(D*hoLEn6L5bP zFQx!i(RPdRS&UQhhb#A~3;CcI_Dv)s$_F)Oz5)%V1sj@nn8~7i0Hn%rIRO@@&F2&F zIh_EhCamB^2e!zFTDWO`!4+tF{sg4pli>tV+&G`~czRmiqMGzA7P!GBod6MOi^)mJ zKhUU4T$GA-0oumms(}hkI%}t_Cro9eD}eUhK!xsM1Or09{X~?J6gB6#l}=aY4 zXfkZ*C6?EsUysJ2!8j&p#`rwH{p6h04(8y+X+M|a=R2w~;u6aJfS||J=iV1_1?G4) z@Dd}v-&w!w7d&Mcg@%v6Y_^!H7u92F234NCQzd&2VXp>dk?zV--{vurq9#RAtfPP$ zM^XPq=2H|9J+&DL!ZLT|um=@7O)i6By5p$s-r~naBJ0~{{j)yIP5px<->;28bM^LI zSM|B8L+JoS`nqFPc6EX=6ULRPNO#AE8F_fD(tzr~g=@SIgM>Kmjxn)nJ~`Lq#_1Rx;6Spf4RqNB*p-&is}Z zQRytuhXBijF6=_Rh!6}DehTFif*Pj@Km+*J?*^CcVYZA%wcmf-imvMOc@;(F8D3?a za;p1CAEn~-X}>o(UN661;4b%5m`&u&n=XIoOVV*+|4y3W=IW$_i$PDof*u92?(3SqxN>6${ljq(r4N?ZJ;k1%eK`j~8s*K+ zJcwdw%>EAZv{ElV{UD^|v%0=-O6SM*ebQS|K+lAK?B-3296wC8oI3}yu&qO>07!I8 z@9R{e#^IBX{`?&2J%)VgXQo@#rzc~^*stEU%CCJl)PAmqehfSSFHRUZhvG$$CTH0V zQw?F4?Y+Y$ud4;>^oZzPi6lx)HJI)}pQF~$Z4ZqR8>(M*07x;Pl6Y%Z*yZ<=MbAP!NiPqhUCMKGpRq;-yGD*t8pllGCr&Bbu{OD}D* zLihCA*O+_b?gLLNn4o+0a_;`s^~;x{T4sYftCf(;lwIAW?!&q9RA2t1f&5zaS9Q_f zwul6P!?cICPLD;B)JwNy^?Lx^w7lPiXs%O+~kyoev(&K)&$a{-L z8N^}UHODvpgbsG9K8ea|jJj5xTQt}w@CXKhTp+nPsGj%j%f`y%ul(UB|MhTvCmNcB zgi?vm-}so~F4CEhLR8=Q&_AZ@jgNZN293|pCU`!K^Q1fq{MR>c-+p)hFA2MWBK?j< z<_AciDDio)-W>O+7eem`Xf57)PeSN7Mh6a-<;IT#X?^u@|Nidf!n^kFZ%ZT||{?d!znCLIf2&*i_*sxFZYxa7kC9RK}^b+V$=t=$h-9W1D z>w{4T;OhTw9_~e914THP(i=eTlj^jDDwHUw}^o~Zqq6u`|gDLEJn2Avr^&j5< z^tbC1V(1}=*3vBAzUF;yyoY9drbXcP{D>8So74kZh&@>PfWSpd%AfDiD6ke8`*YI% zT$w}(sKv->VOpqmdr)nHGvG7mah=!K^##c#P5Z2W@-Hd=Qof&yEE~xV(CvcCbtUPA zlMqNDd_yzWzWn{o5A(nK)4Q`YHXLSAK8-2* z7DR<69U$N8L$gBF?&`>@&+C`8^lYz~W_wV2Rkw>e4-!+S1d#fE{#9_!Ym999V^EqR zma_OKZE~=xiS|dW`nI`Crs6;JtA@eHVE)hlbMw=?`-i{3ym>9v2BDbbqSLSNeNW~;fONfyoRxavrb~JQzWi105J5E6Vp+Q(?a?8IsU(AxGSeYC zbuHlOL7+Dc0%H#%zkoEbpn1ep;80ZF;!;7LAZVC+kl9oavR5wyDyg&DvbQ!BBu0lN znbbH^|3D2n1FvqrxxM>d^jE5`ic5bc?qTlhz2*sEW4x!*29~y9!Gn)$|aQbFK>UtzrX$K&AWfy+?>b(Ibs!8zmeA4^KPm^(eiQT|bxK zMmt`80I)KCnbqc(>4&j0KZyVB+qttp!Qq%6|01ey(03o|RFVeQ%WrmEDC(=9X-a0) z!#kU|D)IKW?}pqTE^EWLjP?HVqgVkhyFH7#a-Fd3M8}RnfB6APc4jh|r8aeG;taI! zdQgApr-Xy<{`K#t?|zk5JI{Cj^Sk>Gf8710-T$WfDxB^BY7C;}G6(l@Q$&rON@P~N z%VQ(E;^`Uu1_`KIZ$M?Q#A5BYGUEH@;*C~F9XrhK*U zdf3NYW?kedILmJ*WiN^~F&ce~a!XLW4xYz=l%O|OjeP{yO2J^Z)dP(;Fle-yZT02m z;FIvp{lm@qbwU-D+xe#xAS) zaIkO~yhgfLIt)4J4+9AeGr4f}eqN7i6~PosM#Y4Zv^NM zL+rhdw>Lta848UJDkf+UAV$49%O(kjG00Aow27MSL_lTgkX7#jIgf~e= zq)QM7deMIRLRub1U#0bdzz{-5H)-x^sU8#8)QlNr3WGmzwQqr zcqoEM4Pmc)Xlg<`gg$0HYy`)GsJG^fkwlEN&xS&;*Cf1z=u1!ibM*gg(f_vn^jlE`&dW4lHs-Zx zoO*bPkmz#R>#5gkfdyJ3B$y;Z$|c17tN(uW=IZO4tFM2!{pGJRK-5b`9&gfGF>79W zUKPkEJw}9a=rdUKKxW3i*);Zb+8O~f42nxEX7}#-+XDB7is4PEK|rDH+Dh)1)YBL%OrliKNA2= z3R=G#?ti~~x}<|3n)Cw7?0^0wq@)?_va|i*nG9*}1E~vz zh5>L$WLvm?H;jOLKGU!%;Cu|`|IxEbL|1KTpiXl~uTh2J^}(ZFC^GkvTeEEr{UT}W5y1ot zb^VxfXy9+pvIcm*{D0=lFOLRmLDB1t6AgeVL)c;a8>Uo1PZ@$lI{0S2Ck)13d1T`Z zx9@s;zoT{Xu;73F!(YD3kwQG^YA>ld4(ptAMrgg*0kI{ao-#~(_h{lD6Gy&6m&rwa0M{6%f|6imMD75zTm zUl=^9FMTF=yOv6hDda45+&JCOkHh`ql~l#S+=q$Q?R52?r&zK^^ht<#H5oY*5jRMF z7J6}4EbaS1NY^3a>)*e-fBTpBXYFjTmYSvJt*t>?a?%` zcWxMx_bBk<#4d|I-axbS)07ITEFM`|ceKE_pqEZ+!7l1O4I(+NYoGO(Jq(j+_&DU> z-u!ZA!uQTOk*dced|#)6nzqgh)-6Tv-2<6C05z!ZJsvfPhlFp!?}a*UTT2}R8N-iN z8rbm}f9}M0i9M7M)px(rnmq7ZiFa?kLY``IPU9rjchi^Eh8q{oJnC zz*#T6I_O8P5ZiUPt!BrmaBLBOxPE#2`}fy(zpT{kFMoe?mWglhNfdUc1zE66@JNR~ z>kJ6G{z)(Fp8A?S9e!>h=>2)$nO@H7RO-{v7xk z^+f&JbFW(Tqd}-E1RA{GzUyCr+Czvh=_E+t{W&3IiO2bz5dJg?L4@wl2?3;Y@SG4n z|AZiF_LR0S;adVG4=l=!yM#aHSk=H?#9kw1L+ojvw^po3JCv!sHxWFB$=Zhl{5 zFD-Y()}IOWluA~Fnwj?bNl)IU?zmo#k<9ZZOzybA{wRuZWWxd{O}VJ}m@Fcrdavi@ z_L>*#{Z-%IKu+_5Wtazj9(c<5zInL$>GtjIy@<0;Z8OT3Z1g^UF4_DZ7kDx0FbM5{ zquThWf2bLXorz)R`-Sn7Ch7k=CAlE$W^!p-iLhd(HGV3V`%F&g^z%7-I%m1fM1cKM z1^92T?%&?LefQ;WqS;y&^%S0?e92MXkg~7dzy0FP{KH&i%knw72GLuUGgD5BW`af= zlgCH{6m`6FBGq#YSSr`cFB}|}ss&4hFq$F#LFE7Y&6}Ht)@z;Ru$qFGP<1?79!uQ8 zYint^L)1HHkSF00^Q9=qdzFK&AO}mkeN5rHtaBjEVq>l1NS=|&N0^eUii03b;6m1$ zYzI;%AG3NBpMfms+Gm5$svpdoArFGowRxXKk$hfIErP~kT@pygpx01zg|u1){U+W! zT1IjGu7}m<9?3QE44nNQ_*hGl3c*6Rbsd_38N@{1gXkb?KHrWSm zg}0=Fm`3a9u*X1p4(4;vxMzZC2AvQhEGC>9-xU5J#1Qo-A@|M%>!LpC4??6B)YtF& zgMe-@hn_tMqO4Y}%_@!OUC^ze&+~&03PiSW4nj2GHI6iER!p`5l%0FSgRNO;-}S?u zBZ=mVIS1lu?)e=2+nfXcd=8$^!F&#a)G(Cli_|b?8oe3Z6q-WDr=Nr9o!1lc63Nc0 z2g?^leGq_L=B?iiSiaGAyzDuMQlS`9s3I?u9vlRm?{VD)#T#=<`Z}@FYJ1H+LfbL) zOZG#@P)vO6qhIb~4nmS21`sC*&kw`r{xC>s0BdW!`1v6-NUn1lS26dP=%>l~4C*w1 zK2wuq2wpuw^qyWNt>4w*U&Y8qhyV5M-TSvqd+Ylf3AyFV3EW3y^cfbzoP7k@(K$o> zOK)_%#y>iB`~%X|&GoxJ{%N$u;u3!wzCU{}x^r+6d|@$RQalC1Fgb;yhH=JBk~#JI zy9G&NPy1}yDh;+@K5-C4h<|cTf82uTb$cOty?(C%&QW8;81%d5(AV_`NN+Srvej`y z4riSPX_#2&*3Y8NRwfO@TgVE4UY!+Ep-zI&YUpPzWL9XO4Oo+W+2=qSCL+}4Z_f7$ z^g#%2N-BkB!L_3pwoFLs^Jb@~eljlv*q#WV(q$h8X`=X?6#jjZf;3TFibiRW^jtLl znTkefrr3%`Y5DwIH2yh?M%mNVi6sJ01@kKHH@-wj81?E9h`lk}#sw>SKoa&m&I1=L zSmucd$0`2(aR|Qr{rabO-z-z5zu&#PdHC)6)tOQ;6{@Hd#FYs!=LC(cf8=ulI)l+0 zjadeRzZWM5Xw(DjwdOAGG{}R6m8h$gd&WFPUllDxWCxCZE*$j)B=i)IFeN>4q0oY` z>vw$*5qjzP%R3MvP|26(-o_sY*7hsspjbpE_Q9B+S-t)@xI`_aqaMNxv7cpc2cms9 z6b-#H)#V)s5wYY$G98FGflrDGBJnSVYsU2213|LM+cr>pAQ%^*XmbH7mwzBc=+a!D zXYt8kN=le~LKvGtZ*O_7+fc?ml4{U z47~<@>7_9aO@_C)O3x3?#WxvQd@_nGT9avC$@$6f&MBG)E)9zyg%Dk(EFsSZ<#MKP)7dyKj1)Vt0@>|MRuF({}`5ZGk6i38ET z>rv1!+H>&qfv94FIMH-+HZ`zFD`;v;K0!bRHK8783(Bl-IuUxF+jbz@cZ)X8#W$TG z4JtADDry>5dT{OQgkCe3l4=NF^|r=!L&hi3JggB{$Qp8O+ zH@e0tR@98H1qtj@)K$dMJaFwYKwngbeouPnGMuG|m`mgf*lv;sLb56j%d}V$La%h~ zkit>}Dw+#^VC|iSVO^lF0aprDMm>irrGAFA<%abi=#xVpXnb;Zc91o2eG(;k5+kga z=aSOxQc`+X^@u27r1h%0$AHw!DILW1(9~nN-Z<}KPK5YMc`-bwlqyeW)9*j*yMumHcnTQx9Q_6RI8ZR!Da zA>L<$YiufW_ixQe@2U%L63R~HAq zp9ZYxr>w3FV&9K$R@P|YR+k==H6reFyxYB(?t2B%{SxWM0Mb-4YSj36QQcDXCU~Wn zy<6`)>R*1$G{&iYH{ADLmw!;)m%qzlN2%g_4*Ta4_DyQ{@OP0g?M2^1T0J98RnhqI z8tLl1PKs)w8pPOx(zm2;$?4DwHjWDNe=WZUsnJi+O!>6PRbMAaRRKE@)OHJIJ(4+- z^B#!$t&y*E;MebZYIGUqblJuJZ}+d?T)(^hQS`J%m&N!aeb)h|uuu3+CgwCw74%}u zo?1*V0Gq%}BTV9`r&e*iV2Cyp?1T&P?Ns?2qsKKOW@p z`}x%rscV5j423C&te~mz;m3$hz3szD>)?1jFTv-YS+a${ebX|H zYvk|m?%&(nG`RiK?aa;o7L{?YqUlv_F@l z!rzq7ZeD&f|CYa#j11dYn%B%H;~%G7y@o~rZ2Xr7Q+)vX@_Zwv>UpUQE!8r*gMQ=p z8Q}f07J9duArwi15bEWMaw3O1?XxBR7j*y6=`=d^I&H##+ zp3VCez#uu$%M!29ZnZ!W(w84icRvh+=~1CSUFBm!5Pgm5&;u;S#+oTU%N2FWGS}(( zeA^C3o%(|(FMj*1$7A%$`6GjWc8y=8tN&c%f0i}=f8X8y`d*B?$52EeDux5<>*Q3b z0TMa`4Z0$wQo*l!QZSZ48)3EY28i}Bm&~ra|KWdMzrLCOg`Z?Nb`W)jxP1=J340e` zOqXgh$PAI|oMgaYmP~5|wC{Q}b`wIolkw$PpoC5kCK$*)TH-Ng}k3B5zFznIKddNpV zo8Ei~qtSXFM*hEFN!NaEX_CCmW9XTF@-^;~@FDA`yFQS-8)#HhB}x+*@IBbj_hlHT zp9ua5*;$`a5`5v>e77h7X-HRm?7`rFjETzlU_ot>onHH_hi(j`+YoX8`^%fxqV^M_ z{MgeSK9o6PQKL63M7|hk`an*266m#`at{GIJoecn+;FsC9(wB^9_}CJtN+7N>`R-y zR8f=w<7&RLsK+b1ePPLyYtUEweObLN^Ytq9{nTJv9!+Cj96jcx-hUC(gH<#l3UvGzBcfb21~j~Y_%dx) z*ZxO7)EjbN-}A2^Qlk8iCU{SB!z@gNBXEw{M4B^!NZ+BgH_%NPRVaSmpA4#A)-U!+ zcOCu|brqQV?ZGzui6$?i=q_mZb94+O@wU0A7lD3(83lzYrKA}L@DfcKqP`pGNA_zs z5Y%v=Bj2EH_7A3WP+*i0k607nIT_(palmB+oLtq|-17xu@Gh#iz#&uhA?jH@snW2| zYQlXUjhQa(BuGhNISL})|M@8V366qP9k?94=q$p@f}`7KMl{#t>QP|`k=zaWs(u$z z><2sB8ED@PIPfDs%?mjNXIT$DCxky&LReILZXVCTO_TBY`sOU-dqC0c+%q1gZbH>b z@N8y?&g=Ez6Dbex_0;dudx#x~V5XCh`vZC*CqZf$FqAA>m(u%#u$%x5{hvPp!8H*v zZ7zsp>lmvc8#r=~w0<|_0~ZF9M95?C7a2X`a}d!Z%r-GjspNeeY*TOso(MfaP#=Qa zYpxy!2sZRce>gAV1c>6T2vNcjFygIqN#LW#Nr;bs^cEKYpyHqP>m+pj_V?fu;!W#> zdJ#F`&HO_XaD{V<0j$22SiHbD-6n)Ql@c`@1(q`sVlfE+lZT+_!6XPh*7u+aP%K?S z2;mYc!#@szEc%v{#1~5R9ulF6bPHUghAcC=A8; zN_scB6gAZ#KOnLU3|rlId=R`ITmrNP;xS;~g%mWba-l$2jf<7(pl5`x=>QGy0?_=j z_T7*U{KXZD(i#ykiF>2Sn1_}rfvQL3L8l=Ub&ud00G{mZ(5z_ASNzX1t*PGBj&Im12VjqUNypX~FUUUVGC5p~Y z^k@)ZiUAcJfq*wp!GJX-3xMWOt{e{0JECA(5#=7WIxg^!D}u8o#Kn1$W6Z$|m*Jk% z3<&rwQE3!+?YfvO1ND7jDdZ_=pDpX+izx$%V<5sz=W`$p3!l%yXMYYP&`8W}`>qub zUf^UZaVdd%>T6QB0Wp%h0xVg702qttVzY>b0KEqNC7gjDZ{I$@3eVY~I|Z9kfqm4c&}Gmw zk)U4yZb!hW+r%7ccUGTo_9gn?}|rGVO8_!eVZu zo)@@&*4x4#t6reu$fIVP7Dkgm1=h=0D}VQ}h>t$p{MSFP@BVRj9?UpaQK5*d5b}a9 z*kyV!7g&0asYnVDd%fLA>ED;FLU1NM(u5b054v+8F_l4l66mS%A|slsA`kF-qy@b` z50Gvnphp$am?D!d)kRE=J`8(PsyGW;xNLEyry$V_L?5Q5+1x{&&L@LhMdJ5ERUNA zd8-7^LYAS!A_9sSsfsk^5_SO;MF*(Hkrc8N40`_I{J%{S)7S3?wW85JB;6s9yMVd) z6WOP9@O_+0^}DT&)t~`Klgx6_Hv$gn&EfVBEC`Yw(lB;+C@a;3=uzAkM0zYVzy5RS zs7e0p2`JG8y-H;zNoJ6}`UnK*m%Upd*uLva!I&;B{(rl^yT22K$wLaYNF@M+BAXLI z1&u^8FIksdn@DJv$UQA&JqF2g4Cq9#e%CLO>u5tFY&`V;`q%w=onRyG@+3352$;~j ztRNdR;4yXF$>v|pE+wg@CN-K%i1b%Czunw@d;jqIo7=my8o%O$)cbQPm3ea6D`NgJ zJ>{dquVlR>J@yvf>x~a;z?kp(DF<(9%jD+>$2k5Bh;+gr*8E66`rxNkxBFA)zhSDi z`50;+eTGn`&h<2hAeblwrSBichyJXEAXXbrASzY=g=||CY&6Kyl z=Y1U1$t@2+9?d3NkHF$a^VPRMy#MK^^~Y~+rS30A5Fx|J#DB3835p~jm{DQFDk-1- zUJZEN1}6RFpJtR56QK-nv`F!K1pe~F{AlNP!`} zq6pHeq-YW)4dWmErPX^b@&6r4{6ka!-*4XBoED&VwP9`en?2gliqO% z9O*J?TJY1VG3$53f`2sL2MMHynCBNmY>^W}C;GX@FRjJe0s1$;iRuCmLT?te?e+A! zF$^ONZHzEqa4^Q>k0Y>s`1<}|TPpa=``<-X!8xQ=n)32H-kf%k5W<3b1qq*M1(B-v z9FD#>5Zc&b?Yo{GmU~;P%Q_5FW(bg*oEH!IVHm?@%3ebl5=y|Dof;I3mDC)CsJEdF zzK0JTEU2Sp0+4e*I=-OOAf<(sw`C|23aYk$d|C(|^_5}o2C;U4de&fZH#` ze)7ofINwZ|}apd9(cVoDr}Ov4AuP1jp!##i{zFK!pc(3Y4;UdL(G^ z6#55T)Kf=O?|O1*3DLqAiQbRe`^d*Y90fuKlu)3Bo(0YIK`I&%3H}&lAN3{`;K}u0 zae5R;?TP4HztFxLLANEAO4GU1z=O7@R z4c6}l*V_JxxsY=pDas&XqtL701g{(+MZPqs%{ob&4SL~@H5=#=Aq!iH&IZ|18O+(> zqACLs6zZ#sA~ArT9z~pcyMwyxrv-nm@RFW5dZZP+&W&SGkB>_10X$oG(7s#zOE01% zxc*(yAI$Ap7M+Z_iU203(UlQig84Zzl!cY*4vJHcjiB~^h2&YGO z##yI;e-mOeaZsKDraO2!;`u@`s_f|L$0pcjh+peM-DO{x7q{ORW) zM?^KC2#@50*K>e+C1R|!Rn_|4V0GM|&L=46>+6I!9CDlNH9ZCQk^USS?H0AnGv&5PN38IytE7 zWPngfz{&dEU|2MaTP~l1BFYMsnkA0{U}T08PBEiqugD(*Fks9v_8Nj4$w+T#>JyDZ zTfgg}CZXRfFDcYQh- z2Sz+GK$0ejp*UHkp34WZPEa&5^};!r-xvKP@d!$~H4AzPI^RfFL_TQW_00kd6RbXQ z5X4cUuMwq#Q0RQ%%M_f~REa`)V6eG{BilgxZjqTCIMeK4?tCsZA4s#rh5jWv9CH)p zJmpk1GbFxQSTP#fV}Ml8SoE$X=os*sGl9>7E0;Ms0BM#OA;?TbVRjIsYNpIX4X}7U z72VTKqt~lYdEd)fZO=mcu74Igbfqqpb;`*d&W?MUbi~;%fa=T2>NH@$QI+#2>buX-oJK7avW)b z@Xy(AK{xaJM@ilDu4boOI?`|GGI$0pA62Y_}$89A7H%a*d-6xQs5&Ge(ia{S|LMV z_3k6RSF*8Gf?j|*>W4p;LRvgbc9|rqV3Hf&g-mZ2rtb>-)36D~()%2EJYMCCZNUYW zrjR<$hjxfjuw&{I+dW2w-cf9shtq~Rh*JR_O>CdOD@Y2PfT#B|fqNCegb>+TLB|0# z3=r}nayLF%xdZB%=KRzl%B3;k3_JMNA*%L`w$0H^r2@NC_(+A{Qz~#P1)p(uRrCcZFkWJLue0D)8Hdk5u^WrvmGy6I|6O>}NnnAG$@|ZU`V@ zFfi6jRfSKO0j=8clmT+F%-rf0oxn$`wR2i;YVi5+@R!H$j{ga}OFJ&C~$p%mcc_x2gg^tVcVTqWzzEp{+}-#A%0TG9-f%PaNo6-*$)!89Qn(C|0l| zh0B~uwrsWW-W=k`(E)4saPzX;v;CX(F0l1l=Um$XqZc&reY#wlf1&MFU$J2lVs=siwp7_5`*^%yv?MuG~AZ&hY%#Dg*7#a>CG_60t< z~Ysa0+A_j4G1VW2Z?8t(s#c%rB{~-P4pYJ5Ukwr%0ebJYm>aLbG|h;p5OfX zUG9r&^R}*ns~|ujPqNQUBG4VX$00h=2)BPJcrUN|tfh4-s~>?d5n?2vAJcbvBBXW@ zxNahFSPzTn*zk|i@YL8g4i=&W7~D6+jdg_}mY<@#JGt?lbu?jY`mT^LkDGc9IBZAh z>Mc94^>p+{hL}eIwxfUcEd)8}t8^bU&?m~zzCqgErhZpw)UKyOM@IjuVgOTB;1p}r zjv{nbE@pvZpbmvjdX&fxn{FZw$0nm`edG&x6?Rf=;DC(umIFwDv6M>pXDRTnCU!0nBSwBRwGq;{r}% zfoQw;K{Qdp96l2qpU}V+&MIBybsTQyAISSeJQL8}N-nSz0Wjv0_7I&6rBk#f2pR<2 z_dW~GiZLGEk!avjwu(E&7z5cLOy3oB(!BN-pqC0PMZlHRx7_@Q5v#RUvf#H2pFBJH zg5R~w{dvEe#HwWZOmuu+{nhV^74I1yaVx37s#llWEJW7x$kC|~(qK`dNX9rKdM}?J zr87*$1pETI_Z6I5Wt_l&^#=+FXjl&e$|nQsmK|(%k$oaMi->O-CqJCE(L|iM2v2rT#m|$Ox5Bp?ux{Gu$lEfu$c-@!5rikL^Ay=_t z;$`si=E26+JZHWPrXMI?hO>XTbu++U)kvC{>nw(8Bs+J39c)BN@6az8U66~Bm7r5B z5zJORV2rkHL+0M0ewW_`F11LNtz-h*Mq(}xG+!`wQXvo1LS=zA5)@AAK9JXfMY*(j zGA;UWeirI?c`AgnXJ#v@z_yW?jA5w)6%s_HLK-B+qGiNL6v$D3MhTu1A1ZTv^l;qk8(AyY6Ni^9OSoKRHaJK3I zHaS+B2yACBZOg5`$dwQf6duZu97$yG@!-^zs`ZCF;sKWlI2bhIaSxCR^TWN$k6bt`I&v*MeV12q zXa8isbo8J8wtpTS?=Q#@Si_o~ci;e{;GY+acY8`BZlo&6sb?+tVv4$aj6)A`R3n`B ztynAE2iA+ME-(5zku)T%#K;KBx6To_gD?LlKjPG&MlLu&H|aVQ*fs)P&NUloRu%Xo z(7%E}*FWO=v6xgMQ4j<}_>Sz@+-Srm` zIXztn96U$>IncL*F)oQuxoZ_Or!iZQkJ(xkhk48vRY*Wi)!ein3LdAv4#vjddo zStRt>=ly0-G~q3savG}3jXv5(;-n0wQ2|_iu{vGwrzZR=Yq)Sh2*T4d7;6Sd5}&~S zUTqX#l1qJ7TIzXQR`sQXw|?lTeFl}>XLM^%TRU06f%R(|aIN`A8vM%BfK`78;DI#@ z?HE4cr~)G4?{%XO&MB1q4U#Nxk6Au{_s|M=yr~3w)eJu3+SJ~sKkX0q+^M&0)VnJ- z%vQ2c@5y(a=8NX9pXL0|eZe$7*EgJ)q<9cLDV zAvwt|rWbrSuF+RwTeQ0@i^SQ6z6;F9f(f`GvGq=ajk2g>IYmWXTU?#Tj zC_zgS|II#xA{vyRd`Dv7(a3u@+H5Q6%(hHB@%hE?{J(GzSoDTvKGANwVF(zkU>Vn4 zx@NHQ!90n7m1CYgxr_0dRZI)N|K*#s$xZKH#~Yr7Lt^%Zb<*p&w4}k;Y2&xAUp-c* za_OF(8o~jH_pgp-K|2)*I;>4?dLMW0O0S#}MkI%fc^*s(qLq91MhBacc;(*CN~a55 ze9YVS{-ms_+PJReoH@t)Z}JTjN%Ar)xi(p^nQ<&B>Wg5PT@y<&& z=4~19OUL?TmU?*Lb&pJ9g_K>VR>xr>ptFIhJ|_maQ>WX@UvcoQ4#jDwf-1Gt&{h{~ z#r@`IKJExn2c@yj37E=U;B8d6ZXvCdE9W+N8douW*93m${`|{<=k%?Ti7dd~b_%#W zM2Qn}f4c(K$?LaB^3!dUcjl(WVx0u^gKEE$*OtTma@^Ud`(Ri@CAv{7r+sn>Um)zx zh!1;gujX%vIz5l6-!)NRxnUa%_A4KF=h%j=yFm|=sol3n97AccrPzH`AA(R|`8YD)P{ zg`I!i!3D!BT7QK7*Aw=C{QYtNKmX6+cFzeB*p%7Hdxr)CLw0!)hfE9_LCV%LV5;Z> zh^KNb+-e@nWepG(^4e_Gzumu_g3i6_AqC5A)sZga0SBM+GWtR>IdRlu3sRY)uJJ!> zbCe$+I>62_xxLbXV*B>a^x}sc=mmJVk&O3Qyqh|RYOj?Tu^KXCu<6obSkKcWNe0{k4%ftS!CHRNu!;xFY`cnCE z>$x7jW^^@^C{Xv~Z+*2s5pH8i@0zOpEZorrw^>t$Z@5iUlH~0Vcde0vH za_(3YGutTx!r(-38z%IwI^sx=ex|B^z$_l*T1U%^PT%E6->-1=|L;Hi?O*=CKm6@q zzx)6F>%af&cYk;~y!^Nu;dS@lJ>I`Q?;du4{|ifqVo8uaeWH~8GV59wtNwxzTt{N- zWylDkS$f;NfJd?MCo@?|KPnSS!gazp>#vE720`i^gBykH@NZtQH zV=s<8IptNcW;b}(*MrZ+eX@9yp7^oQe^V9uwzobwD_1P7H0$$oZ^eDSZ99f}$YV8+ zeP~ezt0utxem75fxK7We$jaXIMJ`KID`DJp6To^G#GRgPZHgAzP9ZmPSbwP$hTT^Z7~D55-`^BR=*OU zmwjn4-bt(_`_iYF6x2&{-=nb~A;S-<@Sn|&R}KHCm)+g*_4|8n+-H+z?Fo8Z>vH;o z#EG6+_5d1j@Lda_oQb#MO|Ngo3Fj&xsW5(3Zh3q0-yI%)VqrgkERMgceVppku|N(a zG-BCHOS%_;oVnv#iu}yCcbau?ZZ`-UNr8vm-??i5vgfXWUJBrVPNb67O#z=#?nPut z`D=xs%9$k7d<}q7FKtVUpD#J^_Z>qquMuyFRQQ&^4YXB7< z811<4>7%mD*nYG zCj+i(__i2q7U~l;w$lrMe8AfzZt+PxzueA>HnY+cdMj96^aFnL_;}%H1G3$H57;HR z)jRRFgS@Pxj<#4gcR@f`i!$0ktXcGK0Ir+w5w>iwK@jh5DKEFapyjdUV_SN8r#am# zn3S>C`2|z?ocWax)RwTXy!LaF73s)I%E>OS3fJx`q~@2_o08NPF4?G z)gA&Wu-b7*E=x2TdPVyP+D%zZ&`V_b7R8~bUvyAC>99Ipn<{)c zMUO`7p$e^Mu;f6keRpjhI^}}Ej!U9?i<@95e>+#ZXeR1sDLSlyNYa$Pu0&$GD zKR@k9M9=PdyA~WKFTu@mL&!!h(t)HeE`S`qLoa%*YSFufZRW*ef1&&fRSZ!f$7$Rm zuYQPfkT#NYzAS$8Z42|9gKsoStgglTt{VKGcJtZ4{OluSh4n#l-y?+WxX1@yRpM`{y{l85tFC!( z*=xQ>#J3{9g>HQpHP1WQ;h|W9uSJE86Ntk9uVJwOxaBo8uDJN#$a<4#ZKXH?)e!oknZv;9Bi#vwGn9 zG5rWf(v9gIxHeA${92^-mmoP4NAu9{IVf=i`rPShL)I{Lw8#$jhegwWT{+azKyr z1x?GLnB$)`Yr3$ykk0$~f4<>v{ZLJUq|^C4nDL!np^GOcHgW=POPo7(aH=l8WpZrc zxbsmjttvmQ>&vC@~ zCW$M0e{$n(@ZtpxDViu3O@&r&{Z!zqi1+Pfv^oy!a`akINZWSs}?OmTo9Fpafpu*U-}R@GY%z0$R#_kI9lw)4pv4UOmNp{CB?;bl ztAU)NL`AEA(tjI4-_k*!d$>!FI%4uVRBd!3*SkLIB6_*u4U&d8fbyYTYoB%k)@xLh zLhGQtem!@IQ;UYH>3V1@Q(pK5aFv6r$ektdwBk07uH#i@{H7lGDe5=(9GeDwVCAm6 zqnnW95-wM+l!%qcB^AA=CUVBJ)%fde~sq&ue9dm;#5==-vFKNzY55v&M7pto-J0uhNZVQtf{d!?U3Uft>78G&D=M5qS3d_&?siKJOm)F9&Ydm$Fx|Y{L+oT_gpZ zwQ|2pAZ62od;&zBbhH3j!SoM71vcDUI`C7pt9Y_}4ZGm& zXyli3iXd6=GH|`%#4R8AOagT^NL?DJJ$+YTb>o(>9rMih5|j(_1#SkN1!?eTmvA{A zSH|*9FD;#g;>O?7J_%Okli=Gi!bZmamr@{uWiz11%8cM~kR}U9P6mU*7)H z>S>@-Ps6yqcb~_3*b8o1y_&DIeG;HYUsgx6@g*0&AaDA~xsTUOeKs}jo#M_TJu*M^ z>u7AmA?4r}q2xuIoV?gaQY=|4s&hu4o)5iBRtGn=?3sek13eIsS6J!6d~EP$nJYhe zg=Q{Q_k&z!$0k}&E2#vv%=V(sTBbyoIgORBWMXnjq?XFbq$_ZpWYec2W0Oa}ewL4V zT9D`lf`36T*+pmBbx%i$Aq>XBB4ZwK0pvHov(&z){L6^jzOzSUZu{zYMcdaJ@N6Il zrvGHye>C7(z(=?Jw<3u(X543-eDnjYCFL~yQRr-ic8>5i@Y7BFS`q#&qyfA5P3V#J zN$xIw(Tgn7yBT0nzVNYB+vmKTzK8TRFnyO7f!1yBDfmEq{O%AR@9uwAVX^M0#pE74 zgk%@NdRd5aIi^S!fmUvjTk1wyjLWDz)5=@ArOSWB`_0IoOGI7_V7WKI(r*Bo!7SvT zkrPHS_y;nn&6DNsX_(s;@>~tp@A8HqwTP4r+y*n>i*E|qQlKx-=9e*0%nA<`st^Pt zUjt>D=$Uo&-t7$nFT(y!s5Y4W*Pz4uDYv*=W(QKnl;M+k8mLrv zQ#)YV00QLVA`l!J)L+7{a?$i|78Mjg~U(D$l`wc!=O^IEdv27r(UkwNMZqOkk@^tW1wzS z2I`PoCh-<(fZ*CuCEei$f%Qyxjpn!EXf1rBY2*o?8*em28TFTC;|JS?(wT<3h zqLejd>p=hJ}D>aXfDHC}2p`(919`8^3{`*fnSZLIK)>$}tCut6P z>Tsivvrme8fSMC!`Hq;TilB-s;#MaKy^H)0H}}u`-OF(t7jb1kV2c16Gmb+4BR9^oZawqXZAsjdaw=z_j9xQ>`brS*OXM zn(=?DLcM0d$CEvt@Osogj`;87i0{h(W08NrE%pVl8V0joTD{Se$GkWr+C^& zcXXP^GFRbcP7om?~U-;cj6Py53SZ`>0(uz%0X0c9_H zXRl*V=nyHqmtyZtS z`GAjm54UHX7ul}%pLVOb;@h43w7L}&d0X|3*|bBowO!qX@$0CwBUuYPUbm;*6O)xF z_b~okshVxcg5DNl(=c8P+-o(Kr%(qKUaJ)rSU2eG+nz1kyLAqF8k~h4kpm#fsWT)M?av=WGZe`=Ey?|X%Horhnp z*wBhSpG2E9AT75#JdX(frO^$T3nJZgai2%24Ok`tp@?bt_nw;kS_ z$45T8?&I+OdavdQ?aT+*bCvZ+fHxoD3zzdpbbr0k{o{Y^9$tAlYXx!H4d8=B!M^KY zqR_DeQpj395}_v|nvKT>nxjftzHp8?hU&*T-u5}J8blxQ{msU=GR{Au`x}k!&G)Q( z+(&SK&A~0PecrR-WnBY4!n^J8{_#H^jx0pbupUso0@|hE1Xgf8@W0#)fZ}z^jR44v zl1}Sy{o=VaNf(izHhY%KO&{YtU`k04=dQ$u2}TYX@gxLTj1FwEJu^;7Mc#z9$^7r* zz1#nTv-alUpdEeZ6F=jZKH1dGE#4KAJ44OJux+o`4m0Q94OOQ|4)UICm%p92C&&C! zel7|LHxmA5HSoXHja^B%#;!TlslSNx<`tTQp`1`YfRxA3md0!&w|Hk^i!|FPQWUl+f4 zxc_bc`S{(<-5sZ`gPAqtq2*NuI}vWK4YQ@gj0yo>>LM54OD3IjDU6Z+ntoIU2ney z`ah2k+*$U98=HNcHS!wic}y^iAEdH^`&hqTO{*a>uYvB}cpV*n2w67uqKP)|{eOcYXVA!wzzn za_S_@t1fc0ftt<6HbVSVp5xvBxo}}4WUjvM%GU_3DEo8mlu%q|(<)WsnHSA=RFNH9 zRg7OU;(z#;fBDzHefNLg-2YH+@BPzvKbBwZZpL5ko?lr5lTGFrLS5K^jjAl9E=(1Eh`I@m}COxM809N=Y6KJ=)!uSb31 z7Pw?E;kk04R|bx50fK6vJFF8I0#xMXs1|Yo4w?;ki>%s6;HSfXNthbhzVGAg|EkYE zYdZ-Z6YD5NAN_0J7xxClU%nNS`14KeUw`cXOg~9 zKg;KUYg$TPP6L+75F#jKZSxQ#q9hHv$o3qak;~d<@+y#*fY_ek`6URNA%IUSf}Jnq z!4)$A%^YafA^+$DHq!@mGvHz)7`bBbBLRNZ3GlWLxKI#61tQM?^;iMA|D8ao>}%g;@v!o|XXr#^nX3%`MP z;ZkW}Gl$3Tr$CbI2bfnOxgd9~q{f5_^Fne@tXdPVX zGc?|?&R4XiO(_x4`vsWrr7|!%h^NMgREY?3F1$4)e5`(!g9ciL*hUh8-5R-M`H2yY z5(Ya2ixTaV?k$j9mLvaN3(B2p!z9KJhSq#|mN-h9Cjp#WePlF+|BwH%yMAw!5^x0p z((*Up25?cZJ?Nu`EL6#OsQ?POJCff4?Td19w$_ORfO^>0l7K^&FZk-LT)Ma+;{+ayOmxUSmCDMzByD_9Jf}~+FoEeib%V^*iz{2 zN9cdAp?6&9ljVFodLoBlf@mbzk;y54qfnm?Vfd-$55;0Ro}34I-8gXdqMwTYHFyzL zB#HJnAItve79j^h03)}+BozxMHC5m0(;qJQ zELbE*uI=m5gHx`{uy20;gTo~Dzow}o@}7@w`7|A0+~oUzia%HUeZ>E_AAhz2M6Z#7 z@ItOwrvfaAq)_~z)d9rQe_HKWrFFbMNQ{U-JMHrvFsLj3k)0&!om1~mEF&DSRg_PV~Gb`OX9D|n*F*8f1~!AKSX30t5K6pa8@vG^g^z*aHzC0oGySpgeg zoi5UU1Fp*lFg~;Fak>{6+2i@-AM$PaFjEnv`p8s05XBqtM_Ysg4qS0h*BULE4MgGj@k@6BOVe0(y+nlyMk4`zP3pJmAE7@6Iks>pce&T z2P@(hGPDxwy;xTwwJs!6DkQnaOiyG+sWRhQ^wBm_;nM5iGq)q|3Cw(Z_~QVO71Uy~ zSWIGe=@~`&q%oz5y=$A0l|uj5r{nR5CjMigSb>8)&)isER}g7l0gMVkxJa!SL(B@P zA!>Kv6}Q3Jt9~jHbOYqn5*0R<5^Og3%!|(To(3FJJ<{Kv48dR$myChjB-$YE95S5? zS(OTqHnL5mQh`l_Y%?TopX}&`BEpcDuv7|zL6pl6#MEBLQ;87ef}>!vr$xx7A1L5N zsa3T4<+I_>54TVMvcIjB!lC@S{yuQmK@6-0Nr!1<1`Coj=q(k*@u$YgD35(dg;FI$ z32sG8Ehg$0F$K=E7{bm7DVKIJ_-|h**&%rw#0w=)4iv?XxS3oiWz9kf*0fYRkN@5N z-87GCq@m&`@3^6N23%&0uIz|hza#(KrjxLw>Urvup9p3agZ zUb9TD#K_HM!8K37M;81xv*4==@c!`mz$SqSk);#%9s`TnEFwQ7chLrtOBm#ZGjI6IkPgesU8SwkefaVUkSQXlo*)*Vc1#z$@NlbVdA#$JO*y6SZS2hNboC8G_ zqjXzo&|Cx`Y4H0@gD2`kuLs09v)p<~%q?P8 z%?Q#~(|}(Xh6^JCdS94^6nt8wCWzL__k}?23qigaz(|e>>SwtqW&1Z<|3RpEz_y0L zv+`q|)({5cMT$dAYZ&C#G!Up~ASsl|N%%nhEN>0BH6|P*UvuC>_&J`*NBDmw;s3Y) z_kaA)KmYZA{JG@7zwCcFJRDvQ$A{kh~FRo&-d&U0Fjjy02&JrO4)C%fLPk!31E=R(UV93Sd&{GR`en3 zg#O3FryrlW$cM~s0(+4UAVLE%+aQoT5w>VdC8;owkq?^4$L&RaI`q54^9T`qxMfd& z1!Rf!q+qa1w0x!McRtFgMePKC$^yCCtWBg9RsAf#0@f51yO;?#{4?NUU{^wP9+bBTKMwrw?!ZrN-Zgc8j2c1VkH~K|@_%E?`j4yrw|v$A4KApM`=G)0%&u?0 z^kJuFdGZxMx#3r>^|l#q)3pm2#LO=87`01ezw;WoBX{r!*q z=f6Jf?+>5H=$GFDc6paQ8+qG#3rgh=l1`6#45Cr+_d;v-UZb9^7`%m+wvC^@%P#@n zvP(CT1e{rri#%}0c0k=@MYzoA4=IWL0xSE7xBa-yhhQAo7epTJJ3n!Bj5xN(+74!m_7iKygvvJL3S|JfL1}n@Wa1{>Sd+ zxO=#H87~FHC4%#jMRxTEz$kGLWD-H{AWGf{^1Z%qC$^^~P?ZH{b2masf;j`&Z7<>l zF>re41Es@vX%Uh~^2W)*eL!1=WHH?b0+#WdCz!w?cKqxF%4+$zH5NV2}O+%~3k_~e#o`mPut!bZrTZ7z&X z5ggaL_fBVS%lHvd3|M<(F{-5vu+u{Cx zcenrH`MWr2(Yw`{n(6mO4F)B$#A9)3XdNv`=oHGo$9z_%t|^Tt>u`IJ|D z+dHu@eNtPZKjQs+iucVuA8-CW@5LLv z%#)`ZaW|^F%Qy5?$i+T=OHzB<1;NT8A18D#{2ms9WhuLT;3gQqK))`AY@W$x&YilP z#}Vo6Yt&5WLMsZoauLU#c8{ziLzl=Wkz?1@rAB0N-N8Eh0Zo;f67Eq*)|)lr zQCn&wHKW{}3jP|_WW1f%;~#PVJ;wd!{v+SKY zaOlGzKlANjooMQEtEx6mGfmxS+^8{a>D1qSJnX-#hrKlI9}oNQ>R}%v{_(K?jvw~B z1E){_v1|Vl>|gz^{r2aNQ2$OseRKa2>fcGIKl2VF9~j8rP^@q6K92S8B-D2|AEEx8 zg!=aQ`SG~J9qSxvBiDb??Ux@+j$Y7yeXT6_CB$(s);TfbxE1NG(GGICcUs~ZR1(h? zHr0Gx2z&Lt`B3`RSv;J_*{;@keZ=|q5a*lwk2wDx;ykK@TnaSTb$tZ-R}$!(yN?6? zdx-Ph%}1Pn4{@%o*8j!zS%KAD@AX+Avg7TySuQvfi+r?-OjDaB$1${>(W%YS;23Oc z_O))C#f99nI*lJk``2=`fBp#aZ$8L3_a8z2%?G)3S8S9&O0nNUlyB}nj`D9l$agm% zLH;cV`SIy^{9zn#^VOG)A+hkmj&ddp5to1p#{qmLZwl2DTViDmHlF;ot`ECwRS!?5 z2ddB;+(vIT1^@1_yU zO`U>&bHC$Da_}k3W%1*H<+n!yRp`VX%n+>?J0Sq+UI|uw-=8V1&oh;*akFz9;dxJ? zA9o-ZDs@2XGgqu*hvr}6AJQU6Kjq-W_dXah{?Ut#5x};`bxwf#T}~Fs8!^O~QlS3w z_`i9{Y|B|A^p1ZrIZKrC`^R5Q80pAmd%0Y8>xX%QD{17i!wUALpZ3Sk`k{q6PT zaKA6V|3B=W|MA4~M37ZTr;ocE1eP})f`}VZ`9JaKytRX#VlDTXbQ zJjQtUc;t+UA+o4qx}0}IbUq5;Xq{O5QXOEF`;$`QEg)W#w0@#96G(HNw@yhb#QJZa zU+*sk8zXSqT)kjt=S6NOou!!A-G=0Rp*YU18`f+?tYZA(1_FI}_-S{)zjUrm1kQ0B zX=E|r5S+xFuzQPVUtJD`w|L9Wn>L_gmLDX#SWBA2ZS5~#t+zpcI6l-Dd-q@arz013 zu)HayC&QkG=&ctpdwYv-KR|Xy-ljQf^Bu+G8Eg&f=l9!a#xpjo|AN=Ue#JA6)^N>v zuUv}|CDnQN85h^)vrYuiH z6hGgpxizu(%p*4b=Sz=;| z76_5Fp`E@fh+->n1kXoquRrhZ_Mcf(N|%8PJko(LJsVgnY0$d|9;{rKhhDKH@ePl3 zF^8&Z&iVE4__vVnZn#(7M*dmvZq%JwrekvkqnHtTw!)f*GpEtP^?%~L~jAP&$_0%cmoQY22LfMUac22%eYcJ9%=yI2F@?j6EiCjA*Tp{51 ze*@3@jT&RPS)8ShIF|n03JQ1TgnLZl_Z*Slsi53-)MDFaom98R?~0~v1#9{9pqGM+ z8^mSQTUXb)m)$Ejm~#o) zYrY4M!yzU~zs~e+7L0gv?psvbT*-+G_(;Pfq6#JfXOPWxLO-xLd=hkkGpZ{QX9890odX$v#>~{r}5*VcM_&4 zGo%9q`D(pI9#6Ghk`L)Lq0=&@bUH1lxTUy8kjQrUB{r;&8v2Jg)xXWp40 z4!vy$CiC)LeCA!C>-wOn@A3wQ^zUx_i^o10Ry(K%yl_K;C_&ovkA2b%?8)mMWBL z4Pd6?2&?{+so{BU^Ke|OJmG+PV6joN`m zM*cDy?EYgJ+)Ltxe7rYAe~3NepV3MTC&|Qd0&4WbnezJLFaq0kD&i5 zgMM>&xBKf~FAZNxajiV^U~w6ctVQwtj_rVa8o4(hTdUfkB+Mem-bb6nK-nsTNX%Zuk zB%#@g-}}@S4pYSIXZgX8Ypz+oivB1rR<(%!`d2RaG4O(dU9fb{C|Iv@q?j5?Vf5*1 zAH|cnM3bA7irfrg1vNoB`g7!23mzLY%Y9=+go8v&lzH-v4`Rxr&19u7kG-cAEWAp= z0xINxQ?ciGQLeQ1+;pyg?)}^E^taMo#drRh62TOCCysn*VQ=%K&T8iG04+^^y*vN# zJpTDt-1{NN$Ugf0a^Ecz|8nx>o7O-&;Mydf!{)cA$cX|Sz_Mcww4|`V52+*+< zSxajQqaQFQNfvbH`92#b?)JLk930$!*Btgmuw{R)r{ zeW?KRGDJxa@=ffS9^e%BEEgoDm1n(5dN#MU$=YrI6-Pg$+QW%Sb9RUol)J#F-=`o> z0J;cp@^ha9Sq9e6iXx!Bk2a72yH7W-w?A@-yOIN}%GE~>{5o@>!f~cVVAnl1b5hjI zy2mUNeOGlFr0X6MUGKy%fNcqnr*)6!*^jWINW$6Z?-Ixw>u;ib;*TDenfrN@ zBWF}00Ig76zsq+%p+y+2mIGtYzZ+e-S(`w|Zu@#D`*LS2!K(?wsERM1`M2f{(~B=( z^wN7?&6>9ok=Kg)Py5@K{p-{C-|UPhaut5hYQhJJBuWp1IVjYrNs_c&o0>e_n%jL% z0n1Z}|McU{^ZovLcOldP9lOQHPB9k;YwaSMS82p>$Zz$Q*F4?oK@7jeGn=tD-vQOF z4r@|nPr)CBaOPjLJ|nh*sXU(vZYTM z@ObldbAP|TKYn_;`TUt1-B#;d8d(25UWRvBhckTXV3ch%s+W_4_BEQyQ za~rR6qF52Xa|-%Azq@?uBLV`q#`W~6w`K@FEpY0?P@*nxU$oBv&X1$2!`oE*_X3R#PXxU@)yN+SbW z^~^QGU;g^r*L#+KmDzLOo7%f_?(HJuyI^t@pZnB$08Tx8l2?0YqS$k_SHH`vy)*IE z?Hu~Y{nO|2zsn8rF>pP8*CRGX33i+FBU12bTL#?p@{6zkjyH|w<{Dxlg>K^)!O`?1xqb<5c^rWEXG? zC%=L>;li}PJiNTINjL5}F4F--Z?brUA6n&`>A*+v1~=23y{zKwL2B2*>puGdH7>%wY5h0zoPB%8BpFzUKY0p-ol~OX^UI{IT^VxZI7>! zjNEP>>3(neE|#X1>Qa^d8UH_D(b8w;qB-A+>|)34;qxuGB!{_PjzUlN|Je zN}C5;+16ENzO$p*bqocCc0wey-~Gayvr=8rX#>pY>D^Ph!?nzsqMm z#%%!Lb&CE8@9}s%JaDG9<+n4k#LW(S*9@gX77Tv->Z#E?5;=K=mr<;KKU0w>{76!g= zm%#O~zhELO*VjjV#_E>2Kpw<^;(Fjrd1bl;hghpHl*l4KrKZ5)w@YrE-ql(525Vt_;IF$jF#d+Z= z2<08t*yN0sr2;v1ZUK~oybfr4ZtWrh~OT z#(p3yG7?JV9TJ28OFK(SIruCWZcRW#0P1%+m)D04;6UCAg7Okv;ei}7B6|^ZwnAZ; z%HKtRAaY(`AVHv34hqa|5jS@PMzso#c>_biHUoI$d*dvt;oDd8@zyQE0ZJMfS8GT- z7(}@Zy2C(rh0}NWWY|$g48K$od_LSC_OJ7Qu`5B#wSryzXUt{+qm9xD28AaoH4qjL z1CexOK#e2Anz+BO0(}M63sT_6f1TzZ2h7WOVv2!YXCu4mh=Y9g*X|MLm}iy!aa^(C zo1;FXJ}#f~99V*1Kj^j!R4x$okmW!xBu74gARqjbhrNDQjQv+^^1eRq<ZE|+xcU=MqK0Szdw9>*gs!!_s7gG z{rh*nw-R?u#su3Xl#{zjbT=5eAui4GKo!ZuuPNz4J^B^n&qd$II9^%(@OQAjX)rb} zgZD%T8oVdH@0H^|a$BCi;XPG~UAfhYSRnhmMRa9TZcHX#p3b4zakzLEJ_h^_$t^AhIXdgMAG082_f%N0Efa1z8LMEvm z({}~IKe+X8|F08ZcXxdKo|kq2jI3ctAMTT_MBRZI?t^u5mSFF_0~D0PK2Xg7VAI{}}OH%{;7f%C9PHIThm%zMw|xu#msipv4Wt@`h&77Uu} zz^2wpYK1f?f7;E%r~Cb>Avmplc$-$PF6hC)VPX$m-4J#}AHo0-gTlavwVdc%og#>1?=;(8yQa1q z9d@n{$Ub}4sVC4qpiM(WkgWFmZGb@(-}>H>x4yOV*FOgO^`E{g*8680sWqPepG)xf z54Zcv4?kAR!)^l56QB{EnT=oq)RXt~qeQHn_t8T0rrJ-=_aaZe>fpl$7C(1S$Fb(S z81j+M#yc~0n0_#%AbI6Eb-#*?7DnBX;!bGfOb-`nhlc69eEPGhL)R(%``4f6;Q#z~ z`*S{RIl9C>`%LQ>C7WNSA+(>GON|!6L3#9Nhbff7kQHu*FI8!KKb64Hf2*;vbB7JHG90K+54HB{(%Md+4uCj z?_kIhXm_{EGo|4WSAEvCSls#k58}m-i?p=o^j&fPrxiv1$lc!+Xs>bo$KrZF)_=dg z_21VIz?A~OXu(+)2STrd(3B7^r2G?64g!NrTDAfj@iqWsYqxa50t8JT=;NBcjTdu) z8w!k@EEWdZ7k&(J2_>NMd8o!A(qy1j-yw*H0vOui?VJqty8;=qfz=?H43}StXg#+k z?2ZO)GAJ1ccRigPIu!4T+roZo5#*9kt+dRW8nnv#WBt9*ml|<@SAMmBeybX}l|c3( zu`t0*R|?UM5RYZXguZSYrMeJE62X#}PYlXagS1G@^aD9DAelBx*S{6!w73F5fFY)6 zxQ$`#?22r8>qT8ee`|ozDg@(@GVf`*28@g6xXx)R)PKj8UV2=c9T>!y7-#_+pUKlwLkkbKaHlT(Rwv7kTjEB9!kD7AWrfARBrHAQuFjJc+3pKvWHcyjijRdw=uaJn!!IpZ4Xq z^{Trcy!A>!IPaFB2?kf~v!!EV(*8AST-{rHsZ;0YHFE%)wsrYm!4yr#D@|Za1}q~F zT28Py1^NmKPBv@%uO$N+9CoP3BZSFEcBm2n|o2#0cGIPy7g zCxtRW20+_OoUj5`#TJ1zS4I5{uv`Q&l+7VoC3rHe{ zRSZE`QyTtV>}L$f6@f2TmNi^0;Ak`mj!%GFW(`oDPdQ!WZ1#2{4#<6>a|=SAw}17! zVjX1G6oe%j!Rr8n;Bs=TJb0wrK^Mz2j)GU9FA$!=$jgD~T9dbVCZzC-Gv3f<0n-l@ zrJ>(QZTNLETmdBxfyV-LdIU3|mna1HQDUJ4P(C82H3T%f0&+ZvDhx>2*m(F#*eK-4 zjflHyv38k3L9o@DSGpml;x8@<7bKLd2?^t4&$R?-gQg-3E{VM3`gmato2d0;m}>%Y zMLo5oN5Ya9)63UttVJp~CL!P~OFMvpsNT=@#zlb%x11{eI zY#Z=#2mEI50QT;84p?l6qgO%}2Eb*&q7LLLQV`nSZMp;G2tl+R=U}U|4$duYZKVvj zf*c6Eln{O9?T|g7036T(2D!nF|0fST1rL!2oeuf0%p{07@b9nwO9g;SZ1>;O53|V! zLHwbU0AUD5E+j$%gPpkZqcNd6L})ug+*$^3*T1uD3UnnyGf0GE`{I#uEI>P9uW`5H zv42~sos?_t0>uf2}}mjBA~A;7f{X=AoqZB!+3HD z>~&0mZQKG)@UK|~eyjn0Ljxe{@beH5R#fr>0`hBufKb6_hrhg+T=(ivc&fO*4FfU? z4#>|w6@583fZhP8=Ks)YT(1=V6DoL${uP73a*DY!@B;(%E5HDKU;f-l5$rAgUp}!z z;L)~4#SRVz7a@p;Y~`gN0I4M&*{I=O&r}SqWL} z$VA|fjbDTx=CPV~3;AJf+-8QjSQQMg<(i-PVMe1Finb*hte64SNtV@u%a`oKI%cA& zRDVlYO86m`3qWop9Z2h_Qb~vvgKTWOwv&yVQ%OYSHR(a`;{W6E^Kn#*x$-4&(FWF3 zzH<#gxdxWm1(zFF?kEmElAQ4@o(3YeZ^|1UM57epLaS82QXbsxe|WPK96xiK!9GPc z2fEI}VB7+f@i2g^Bz++_sP%uFp8~m9h-t0B--tn~rvTSy7C;-|;5GGPx$s}O34#wkaRkA!3ZrgU^WQvHh zfEp57@ra-mq?zNd8WOc8=qttkoovKa-2sMD%5e99?c4)quqe`uXON;M%iYG2t_Up3 z+e84mO|0MLWMS7%9ac((6H?@=JcuswdXgQ7nNk?m^SeMAfb(+kfY!ldZV<#t0H%W% zFeWQdR{oJ9AV6pn+z22q8)=C>W4o%H_%AUc)uda?DFmKeEfVxLf91QoWB2P&>4YtK!=NP4^zr=WpZoir9+a7Q%*Lj z#C)lK7pFz?tyl+~ia0TR zi)=VO8me{^*L1gkmlm%NhuhJn?Dlx9b0>D>RDLfxNP17J&JE>qTm+IZs^y6<2X9Er zy3+QDOUh_yOVjDQV&vr7>|8w!_CH)m18)!#S2Z|#`iyZ1us~lidK{Z9H?E36B9qXH zv1uOYCt~`p!KTJ-G@I>Zu)EQeInnd9) zjqGw}TM9ZgFb&20#@S=56MPUoJCW|=W{402v90ttKplyf7jL9(Ej zzRQ=J*w#AhCc)GG_VD<0EWh4el@Bf=i;wQ-10+}gA6@GRFV{=UncQ|m6qlHoS|9ZJ zR;b_Qw?bT#EYrOeF1YKZatAtgHraU{!Z=!9q+kH>a_NjJ!%hDff(+|L3! z^}Bo+71NrVife9$3pwF(sm3@74Q6c-M7}Cr5rv%Of?77VfTnp~EuTqvOS`H}-xc%f z+-ftf-D2E4?*D7-K|hyP^o4&az#1^@pfYq+6|me961TPfpc0M3elbGNds&AON{4c1&^T~3HguSU!kxG99EZwNbb?VV(?+06(Ovm89>JuSCogSdK#v4!Q&i_Q97 zenkYcs_4R18NurB+Q72!fzF6HcoRjO%T7kbp|t9XWd>=#ght+8v{Z<>yGWW26HMFo zteXt~vVXpL`t-_du6BrT*QE*mgK(t#_=c~&;JqMmaS z)bDa6RBRVyo9HO6*(@Ki@e z)shpyLhA>mZs)g6*E7!0^q-7 zHk^jghv(1xw_D+jgfpcBS26@}9NnTP+Z|&R%%A$$NXXWUUyDRKx{CqzX9`QF<))@~ zJac|rKMB4pt9DQOAGlV+8pkasdP(3)Q@V(5Ggyse7fGxTYc$Xb4Jv(xGiUKl<-qel zKXW^6?*r@O>pKn(qgF?fEGPQ4f&uX;x;!IfGwGrjDVHFE9`NFm2X5-n zXY)@ul?Bqm2f5A@0x9$anB)zGLAs-;-xZ7PHD^zJPjOXBfJJ^1NoPbFVgMtN0Poh6 z-XuAA5?YP5nWU)@eli}U7@rOVD@ei!(lM5_!8|gO#Mr6ESMB^c3 zFJDuP{1ze?g2ol1g+iZ9A&hEomDh9!rqf{rRZD8i;1%jW-`-=4J4`R1M<(i(@M4Su zAg%R*Drb;2odGZ236}++T=u{sB6}d&JU|WM0yRUBL#VB5H-z)9N{+5~iJm`A-xcdB zv%NXwc}f7w(ew`3mb2?2>~dUSe>vtvaPmo%BlUpL$hQ@)Vs5CUh$;ga17SrX|FucM z4XAAj;8`S8rnlPOm!>l>vc<~2;%}vbAC~l%1EWv{LT71{!TAUBn$r5Vk=U1EAE*PaCvT3-FsiCVb^L}@u&fc#r8iYk8+sQ(n(%8fVr_t$MHxBaq)6#<~@ z&RF7UjDXMCn^ujhRGZ}^3ZPAE-vVVHs-@Y75 zHZWtW(g?87Df<0LgPYcv-wMAEgLg5@fpjg#eO`2k!4XI^zfr~e4y_2{`Z+P#nSJp& z+quVMNex~SpsF_ZQ-Xdz(g>~0l3SuvQp6FrEtjAK(%u&2935yuc_#&X&Em_iDFo0d zDZaiOM%48Mn^W+~aR_{%Cz)voL4>yLT@rCH;DfjUISb@`Nr)j6NPFF)%Ir3@awh9% z#9JY8o#l~9z*-*J&iKjotjxJ(~wT zy9;z72x`fG9*ib(^2W1;G}P!PaT-9|5zMzj)T}w&_R`?(mH52BJKQ|5Peg{Q11)C! zn_(oUEh7OT_r`?KdJxtO$WdHFqNVj{r|bi4~n$L+$D(osa*>s1Vk5jau40ynL;>AbtB-{l0( z)QaA1ARnd<;?vX3Pa|9JtEt0$XYiYhfQIcf6J1e;k#HrV{xjRHXypoX21uktz!Q2y zP*u7!ZL+zpoPMCNTE|~kro22I56{=+%jjawwI3Z>fYLVjC6Xl$!Nx3aLpxI{dClo) z!xX0(N`$;(!Et+hEdRVWPbC#jzaCNg9Hz=u%Nyy0G7qEWs-)2DmKPW@iepdGHRMZ- zc5gZpx>WGGHJujU$Nl8CI(jf)nFFQ!=bd+5r^w8M3!)pKKbWk3pHiV1pdJfr<%8-N z+r8LHD8{HvSA$uz$n0DL+zU|c2Kw4jv?$16ZIS@!m`fmH6kh_ZROEF3i>K1I!`IR< z{a36HdUyZs-G#vN{EbJ}d6~WgtQo+H^yKNDi5-_T0}YZlx=v%$2jWvzj+<>QO(n(MX{p3VrgYJA$+%2|Cgc^3aUuIiv&Labr8~d6BoA=Q_ zQ7Ep9yd5pkG|JPV+yH3-Rr(ReRDBYpA|I{%(mXI!hh zasPAy?)ld|_?gQAni^q;Q4C&ybnWn`T2DCbo=a=%cy3&Oc_y9=7f%2}r&+KSnU`kWYZ`CD|jI+vwI9l413RK$9c*H19B^6o7?C8#Eq&ykY5cc zw-OJl<-*O=OUZ#9p9H1f)o6_SF?qf{1L9z?y46W*L`siCK2U;%bsu37A$)XSYPnU*Y&3l`=31ed5>uqYlJ1R8`C zR2U=(EjVf$nehGLlnd-S!2zqg)H5cF1AvGi-K`EGRMNdvcZr-L0S38hLZbPx(|7su zIkc?ZZKT8J*ZY_HAMBl7F-RcB^;eRXtL^Z zz_2E0`9eByZ$zmZBg>TTtr<$cmnD{kjM%GDh^a(+S2T|83UP|Qocl~GV}ME;!{TPjf&bb+ z9d}dsUyiTrlaPI4g>gDX;n*c)zleiWESV(NV~wr*;#Gs9) z0jq;B<^el3_{f7_Z5|vSA9r8A@J_|m`CH*s9ATN6K}=a;T5Vd+`t%@xd}!bj4N|S& zHBQAF%>veN(zABeUFN$DRxl>$$sdFvfm|w$OaLp#A&@9ll??Bh9>Z2b&#It6g2e5c zu_JyF2cIQWCT2!}Xyt}3re!BjHvlSbfX*txsa6S?(?)Lq$KL?loZ#aI_;ud^o3X^_@mEB6nQ~)9zvD`Dbnf%(|1K8#5I{IU#G$d9C()wyilqQ ztjS~VB7jljdGR@sFakJuQTn3QD7+KyLeJ7;B7-yET?218d z5l+gZ$~8{Fb;bfJfZ>`1m2MV%@q*?U3Bh}|QgrlffN5~BRHZ0qD%so)cBdl2$`z9* zD~a<|n7+$P1#qnp)5fxaofV^VmL;gr^&*zj43gJ@sT4{FDy|gJwNm&qpH&Vtw5}Do zof)n5yTV^*J5R*PlBrY+S1yn;i!cLvix`H|ECtCHu{%ZZ36gwzOqzRwylTW2BYF}; zQ)wr|X7b=vGM;D&ETjmnQEZY&gI6yCnf2d?EN3Yt5@hJ*V+6ofgm*3!>URaow8cZO zmjz$2#-q}~4!?`gN+>ARv< zfHlSOdg*YnbFd*};xZx7mx99~m_^13F*!M|0MF2TGpE^z8A>Ie$!lTyuJCwmtsmFR zgOdo-d?8#}DcH!GF?A}1IGAWfuD{(%A%mAM9Dvq90=a4`&0a(mc`>x!ZogzQJnbK! z_Rr=_4AT!3YMN$c*=6<- zk><$!uOrq|f}y;?62s5#&LX7BAQ5&RKoOnLi1VYG%@R8cR7s|oH3yWP)R_6N;>#oZ zSXs#o!inBvgfzskfcoaR+LVi~1u`?7H{wbIN(J2^Mn{#=8(P1nz!IGwC&KjO@%iv_ z_(7Z}r8{sO9I7|gwj(ia5tYXByK3ZG?yaQWlqNxuCG^&F`mV^4w*6f{MaZwa?+@G{ z!{>}_rxNMH)SCfPUSRuG3e#YnT)Q{7W=r!n9K>Kb2a#mWP2c7Ey{S#v^)uu6Sgs9C zVH&ZHu%)(8Ar2NK^UnU$lC2T1$b)aeDHDjUN-N8fBcE~Nr-YckD?~T^ni5@fcASb**JVu`y^~c$(u}x$+U~_LCIfKLYn!>L1JH$GX)Do*AozWmrs}RB+;@=M4!LYw ztD$gG>CsdMm{)8YF6RITwT;ej#X&y@ypxFhe&oQ4IdIuLER6(hZZhrZ8I$!xa(Nj? zfSkM-E8&40O_#e|Je!V?$l3JtUBT7MYwowmgt)zVy19LkPasWz#EQHIIy;;nM3)3J zfecA54QX(0ynCQyA*bpQet3IbQMI&!ATX5sN<(4nG zJ9^M6(U+D`wt6CzBI4aXCuFf4Xw8sF8yuSKD6xR`iHFI^D0W zJrq+moN!ZDB!dH18J3{=4RKHb9H4z|R?mdDk2NJ& zaxbg<(8~ZLvK#Bq8LxUK;aV@W)$`)qb&S=F_LjF3>Bz$1kYoeNZtZAMfw6{G z*r%pImNRzRo90a~S|t~~qK`HINWfQ9DBgLD9ZYt7&C?LV3B~-a98ZmxKhN!pihg55*xJ=_YAEJy=2bUCwyYcg zz1*(;K@!oJ{?%X+O6o~l%x6zkyWv2^_|&xbQ_Cx%p;JuUYCv4lhO$!RSRhi8+VE%&33Zk;@uEUQYC`Ju!Lnzxfx=$pAsrg zQqP2or56KL8+kg{Z?`L#NF z?aJ(0DiJ1G>MxSSOd5nyPmZe=e1}SBO0|#|=^;~gavM7vJ^4By%9Tekkr;;QyCxx8 zqTgmxVxBJ?p7^W5I@Z^wBMFtq^_0ljunTChDaq>vjHFJvT(;iQs7I?pJ*IY=y>2qR zZ6R)t$EUkv`3>e%AqU5ro%L|haYV^40Fw`ck!z1)Y-tKJ&0gMHmY~zcV^md-X;ml# zn+~5JkIy#`<$rhghd=)5UpTB&w1!o7AaI zf^D1Lb@Soft?*@G`Tfl^i+wXOI@SWK<8$IhOT-264CRh6)dE0jYyl)8-+6HfVJ+>6 zIenMY^6i>X`SYy!0)xEj(MW-Bx6dDO{*}b}<@oxtn>Grc_s_4q+7{TXfv@_}l0rg#>dUcBz(;AtM|zXUVJN-Q&rO}7u zKp5RJ?3L`Yd`m#mf_HjJ7}QHR#0QKMUJD`j=zN zT9DdFcvB_E+g>EAz5x5D(hKgVM}U=L&KNkgexR#>IF#Qck(WdF2JoSZsz}#AB>dbf zu7BFp95n#sGZn72Yrt9v)c@cwf}D``Y_K$-4B}9J%O$-)S5GenAH_?+++urYaG}D@ zy5*goL~)XexESJwhC_e)@#cB_aCi9O2X-is*&OH!uVM~%fkH40F`-;}72Cplx(Td! zFodmO!dwgl4KyHZX-@ojcz%5vcSB!L0lY8i2prPr^8-pIgk4D_@obQSj-hz>yCkl3 zO)<^0hu|Hm^eq#PocJz;#JYcVl@qN?lCGeykA_yEc+zT-%`KrqIFTF?qe>Smv=)_X zrouE6xL`_bN-e;m20Nz2W^i62iN?582aDp8Ftx?kR17#d1_Wt~mg&2q7+BMj`1~!H zi$V@2U_+g1_jg1c+^8%4+!8aPN>c}M2G~HN1W~>-ZflD9DKIK&WwWJC;e;31eLmjp zE}}&sS*5T|0#R?+O#@$=LvcBPZ6iL92jmrDtHe9M16frOuIW2XzXPQwd>#MeCw4;U zc`3ZUj)^g85khLpAfFGz8Io@zq$c@uaQ1?q2&pQUY3sH$BYr-9{=DCvn96KPh|#m_ z!VXS&+!IJRXG~Rq7Ua5T)>DguB$vvBL^DgK@AAFznONic7s54p;9R}i#ePk3$lgk- z!#a)_BDpNx|6;>y7~dYCkQ*VGQ1yDQF|=ec>3%a$E2c6ZFiOMJch zoWx)=hzAPTYLm>ML%G9SI}Mz(A!r_syrwE1p9^n}z})TNtYOvnJ>6VdJIHhl`pJMH zD+otOiYtSa%PUWCdTQ^e5?Br~Y-rlp$p}ti8B0QN_B~x?3j;Yy#tr@J!Bo(*ZO7y52aPo#(i-Am-=syp5zh`NxBGLg0_se36wjpsEw>$1YTM^}j+@B^?nbbl zUs%zz$ut^V0XK8{xDI|B*8y+c zRHa1Z_W|0NB}lgJeUP!51qttiL^{CAxh>c}=qK+c&0rz4sQXo63{zP!f4=5AurcbY z1CvB^g+9$GIJwBSGZdx`kXoryyl_^w$gvZNfJlbCCQkfYxftu zxTo|j#B3tP%CV2BHSwI1qJCD8V(o^Ik5}Xe$B=P}ojx&h=^&9|XVLwPN5a#mB*zGe;u;TcIEH=K+6Q7-#M;LOxzJ84k~>usVw?kwa!_F$&ZK{S z`QZQUFaQ28yYe3_kRkKF3^cSQ4Hj}1tSfuWxl)5dl}s0|s7Of_kgF?Ox_Y##>M_BJ z6w0qd{%01?1gxG~7rc@t6w(4Q_g0RFwe2!^8Y~3)V436c)GO1G{m~DUxEu^f*h9O+lp*PtU0-6x^D-Q^HpEJ z%Ry^yO*hvm@VCe3N{JgKby)+2#Or5v^mN^jqDV4{(bKg-e&4r%kC`MdcTk|Kdao+# z0oKH!OmY9BqFaytAO6Ui>!iRIc%3bR8DfeH6nN#q$l&A$pI$IWxmr$ZZEymztGfL) z6%)Ul`NvCR9up#mPVN&ReMG^Or@urD(RuOX?%K)B^tyxiz=!r~o)^hZ^}zeKMOZ25 z`=`V4?(mOSRyy5Bww=QcZKXskNSrtOXc9D0zA~f{1WE3*M=y)KYF7l#tX|qZA0DoG z;hjyuhP}Hc3;`Dy+?5wT%kOwc&h6^WFAO_PbM-2gE7;bzbDgkXb>2NX79-FRK7lm2 zB?h+Rd50tqJXzUQx~uS_rv;FLP65fUxf}ix_< zAsY~22>V%p<@FFR`oOikpBnr+j}(H2OzWjIqlW5tIltMpV}^BJ{7aJf0f1G)?b>Xc z%DDRWw$7J_Tg+Lm_XPnJlWU#O##g8^zVhp@YQ~V)i(hc|AsUuX&|w?pA=yRtxqdJa zvpfe{V#t&OMh+jQF=D8~i23#wS?B)0aO^Eq>qjxE$PO0F0_rv+si*?2h0`38i;N0C zoc5JIxuK}0_Xbx)3BPOZPG_DAJbK`$0{y^yBU;;Z@B4sBjPtT|ZzmTqar7X^sRlV< z+JCII;?4%#1Xg#z(aTx%gSR67VBhb=8Tsvwjufr|EBC#z)zq07-_`F5-GMa~jNbKj zR~>g?iNyWm?)(yLkny<7J+EkCTe;PVYZv_UY4^HYeoa*8`>?Ysx?~dfuseEEU)ney zVG&!Cf1-O>4ZhLilg)Z(r}PhJ{@_h+Z>YTih57;{cIe3RpGlj@?GJ% zY-_nDm56AyVdwpURZ)2iC;oe<}A4pD!)ygNZEQzVCExoB){9 zulT@K=B|{wMMhrn+_(Do^K+k6MZWi|k8&OlSIlf90I&MdE%JPf3p93q7-_xYD?he# zx2eces1lo2^nQNs>vu(&xBlqwuUDwp)YxZs+gj;Tu&c5*7dgPJ1!wTZ6M2aBAsphL}qA)5tn!6FCoDh({}|r z16#1iN}IalXV#rAu+sBAI}%&Ual6P~4nvaj_A{yc=H(?FI8Q6j*YEN>KDN5X>r`}n z&`0Bmz~V0Hjr^$A;6$R)-Kg7Gh18_R6QmDOaN+?TM4DPNeOJi4tq;Ad2t59l4;Fbo zRR?a116s4l;MPL2@|V4Je4NQNask*x3&1873M;kU#V;T8yVuA2!|lz>;aJgF+}JMG z%+@U9lSHnGx#u&=$2XajXK@Or8QWSxyfLOVWgVW`Sgjs>POK}%%2Cm*=$3iovz4Rl zGwD96(0x7!%AR5mD$_Z)rWNsd?D={9XtBXH@m-xZ@2y1UxobEnhux7|I)!2*t>B6( z0ax!<-^Z8#{ONEr?P&hQUiPI<%IrJe^PW#$q|e9zaFUlxdqW#AHQ25dVL72}HMN~L zt556R?`F%NF!=`E-aM86$-};U=5k@|>{*qJ4x!eX!5ENWbNU2oqp0=$nI`vC_2J3* z?)r3yXCa)&_Vv4BY;V?dpq`nPpKk6CFZ(MlgH#@Ww({$A_ZuYWl%3gh{aE`xRv-c2&m$YIx{jCDb0y##z; z2$Wm@LJ9MRrz2 zwX?t*P(ZBglz48C%Vv;1;_^<97GYOuux}^GBc=Lt`CsC=w6&xb!!R)z3Eu*`6FuX- ze4FM2A?F8 zR&M4^r?`KK_wI_@{Uh$bsklGvcR${|j%vtP1V05-XrGoU%v!$)q0-A4 zRzMmx%7ssXhUI_?m1E-uUink}Pxtex7ogyhAPY#JU=-Cf7XM z(J?PKa0`^6k018CQ3ktS1#BB&CjY$tGhpb2uFr#WaS;_Qs(F0&G9eZ|ztv-8_qfznbKaWmk_ z$*z^#F2|G62Q9n!e>AX&>UfkLMTz#)4PvakOlI4ei?A&?4t<*R%okZD1V z>AQR=VB4!@)w^JJ%iBG?-tV~Spih+xqnHj($N1atgJ`UroKLfQA-?QVBFE_vcNi#!FJy~%Yu9`2!^Z(g4{G0T>E!=Q|QuU!MS?W z7P4UcCHELW@(DbL`3KVh2&EyXxJZ`>HV5&pC?UBq^tD@;!u}m?wlV)eLHmoV`f4-D zz!irf=%Ao(2!IQWjmpE|l9lfY+LmmZ7R$L{*^vXo`dP6rSQ7(&mI9?JynmkvT(>wf zmW^c>2hdp@jJ!Y*8KkfA;uQ3M0Bgx2At{DOKDC&nQ<+eIpiq8Do4OUMwd$wi!!`EV z(Pb7>#+WfVi3t~THN=WpmTr>hMUq$(Ah!k|r!|u5c{rPDY$OlZJK+L1v_DKXQG_Vq zGQi7~oX_M|rU{ZWaY6}! zAGE{Z={`^(4bRZvr;1T!yo+{Cu<2PY+#R0BzlJRq$K4Vu7SR<5@?HWnW|m9YWihWH zwHjVi*Km>@mSjLCkpEEhK(KOcpS#*g9KpKReSa}c)5m1E6hKk z&gFVhG|325EF-(72I%|vKOY|cuzP-e+TC!#!jZMhQpW?$H*jvqNkSdBo!F0B??Jv! zD3=D%gp+9HhCar$rQBQ@PCt;BhCa0rh_%w-@#%Q?dU)C0A0Ixwj_akH@1KwNuNM^s zjN^U1x>}(USzzWu@Kt*N`alK0LwX^QBgN>%uL9H(haMfME`?Tta)ar>JrDrpV6jWb zZa&zY7kVPRm79S;tI;}TgqLp{e5+A(%80B|5sjOIB9*`35*itiy%4%)Feyn?WV;Y_ z6E!wa9eCVB~h;}#5@z@W(Ov3m=Y!rv=sNo2PmC#PZu zf}}zq`Sx$Nexngq%4(uk$|)-FsfXELyM8zMm2ExDJbdg zc!WV0d;}=cp6v^lc%zXnAsOq@h^L6<9MBg*{VtynoEet?lBrMwep@x?zbux&+zB^7 zvvl=f49i>V;$3bJ!XcOM2`hyEt}+Oc7Uc`6HeCz$g=}NZXqr6MKS$AF-wfC z;mHP4-VcO`5gCnugQSQ3(gL7W#J$Xla+ zR@@qEPM0p<8vCcm{lnei_VxbK$jS326 z>2GnNq`u60WT7g(=tCLf8sVXj8frVeR&6rrv zcTdMd`TKu&cYOW6v>1Q*4{pf78kW*pSmP=>1i=;1iMt(=RnXn2)sw=?jGi#61`At@ z_@92fdA?^$0&qFA!zJ5UJI6r;PGMN@-pL6qU`bi~B$u^^j;=lEgzeqBQ)V&?cnu^# zn^+;l?uNl65!tyvU33ZLQ-u~%HqV#kst4_K;$&~78ZNK-{5R46ul>_;@+Y72fa@Ad z)5wyUI_@TBFjYl!0i<%M9hR^$FeE@t?q}&*dh!W>plKGJyRHyIqMgZ*A(qR6h-Q&&E&HeqJFAUJc>LlLJ2%5cM zafnOt*%V~~$z4ctt1IY$5I_e)nA)1HWW$>V#%}*ID7<@!lcUWzO8Az^iu?az|v*8;;(dI`bhz~n;=Vzi3&Ev;-$ z2P1|nctfiqOy4!>&|Wy3NQbM+NGQ*o!Z1A!DOd@bwYyu0#wT$yoS~4XuHxkWa(yb; zmX&hi!)uT$sa;>Kp9Z3qVl0(d$>m-ygcQ><$&d|**9%A^8NFC8#kRfb$$3eGW{r7c z$xzozSLK1{`H-DvVsOTZ5Y2sn`-F;<>ZDNH2JzcKQ=C);Cv3SlYxWOsd*`cAD#29) zTCuX88$!&2hO+OXo*>9c@qtudcPJ)5rZ$^qh0Umw(Q1`LYrD96rLHpZyu}6uuL$p}} zPUsu=84Pl@6dJH3A0Sl96j3ck6(e#@!=~H))9w9!{x7yYh#W$Ve)H{+eYMQHHr}0i zksCs&Kxe5c3e_6O`3W>VK?P6TNT5$f-Tai8JK?=4akMf=-oEa|sD~t;5>w|}F09@n z2v1VlD&5@m5BHbp@YBsdkGv`#vID{1DR}fG9uN_2AffLQ{`+dBTOOS_lRI1Mba(Z7s|4MVMbO#V<|x;PA<@}z5;GN4`fbN>THk1P@~H)etak@ozWy<~%xXjR zA|I_6$%A$x9|tpz@8ty`$iQxduetrgly5fzI`Rw=b>!o<06HM#HUe`h-23 z7IC2oDS%ubj5Hvqc0j^iJuNrxb#mjl0T@;T$+_kUfK(MT`WFE`>H!!47un(k>*ZTK zY_SpZ`d)kwAgvRLDw)WzCP8OTffLsLn%93+!%Xa$uj5KqVb=@jgpR86UjF_A&@#~> zX#6Q-TeqDAg6j_y(m%HCQGUrZ*uUQ1AMOtOhu!V{&GU1e0DX6R^E5h?oRsCCkDovD zVlOGPFilHe3OFi9N_=elKx~t85;uqLY$-oK4RUuPA6w12`EjV<6|V!dL#Ne~;_mRn z52ZdBUyHx~^X12zPe=B)aHYy(kuC$)ic`Wus~+(t|Dw4k zLTFv_R?moQ62WI@S+(g-5s3p-9o7XpiD=~*&_E&q9f~`Nj@r0RY#gCobF7{NZ?5N` z_oc3U;8Gz2M8nM#dz!<3ScJi4d>!Kp6M@$La0=g%+;KC@IyW=OA+I=Aq6>%p=fm!l z60DkNvg~xZ^E%kU7`wphFs>?`e8v<=wP9!Ed>?weoR#C{w&htp4=!H@At2A{?O0R6 z5M7qI5OnK<6so?TR27VT7eJl??Wk(bfUHx5+FWh$w7-41zFhQy*BQOfBL~AZ9>UVi&q|jnvR?m!+bAi|l6=Fh`mDb}Vx)g%M zLb=;>l%`)bk)j4tPA)4!iwvMjWgxcmk@fT9ZNd5Wj!aTBEOjAUMM|W>8gCXEPHCL* zNFzLPVNtJ2Vz-qv7lpGccA(>bjydqABQ#bNcdv(+FL%VBj?agOR~GN=OAqC^NoD9T z8|)C@tnI&TKm|D{ILkJW;`I{^Pnr{{HPCr8N6f0cC{_5jGvoGRWR_s2`)8TEW^<`X9t_l_$m-ux?XKaN7R6OOkCqr~zj*GRe9>LUm$b}7D zn^kWTr7CdTnqEj(Wy39-4d8-Tm6VvnBC7TQL9R>)iGo7Zzmf1}XmM@x&EPeYiLj>G z$$2ik)3ra*p1Dl0f!$|x?a|8rNfLn(FY_n{OOfsdR-6Wbl)DHTwF_t|)SJ5yZoYp$ z-oIYB7i`Eeu;_;lD;fuHon%JUokYYG70O2r$g9B_@v_r)VANKJqmH{%@L?fY}8_9XO^Db1?QUX{h?=n2S`zyI?;3yhttZF)qFhRij5f3PMsFA9hma*6 zN<9zOk{VHNrsnCjhppZp!c~}Q9UJFWSpBY8g`M4Ko6e2h^XvDIPsigA+-|HCP%N&d zvqvv)%bN}Ax8+F4MzKe4)o$hmhez?%B#<6_kUJctdaK zkEF*&$q?}}EIN7{Hhou&Fe9BitSd;MdkB|CB^bfA;JRF%l!F&9 zFvf8gMfrQtb6F~p;k*ynZt--`p9vFO%g3)v@ zC&Dl`GUCY-o;hev^+Kh$3vm)>Ey;|N2r7rynd@TPa zBUGQgD^iRpvDHO~yhqRQ^NgTBO!`IZ^(C z+vDrgwHZ-bPzS6iS+(^eQX=HR`XK2+n6;LZtCE5D?J}z7K?b=j8KMCaGc*4{fv2is zO4~?@*-C!*aD3Q(xiWZ9acfwii9kOa<(hb_?Y?o3VL|R*6KN8tLo4q~OFKh1rqd4; znp9>x569aj@%+!v?1&08i+$)BRK^@6zS9g9I4ZQLAdoIbatTYMvDv7CX8U%~v0~kD zd_KG!%5CtpzrT4o{B)uKKhJ*xS5VpugX^B^c{X_wURMfr)h^s%kS_&#@p{wK7%8v9 zNP%6m3B5KYuBYFs;;INL_UD@Ng;kTR z{7EG#zWkDnJnMqfwJsOj23=D_`9z8ix18%sQ++kDUUkkug!&5iE1Ox@@}B9L6G@PD zIDFHzNxZ}M)B_;5E^X(TC)+C(_-$1n!7UYpyYIpHI-~8+6zMduc5o>zg>p;cD}DA&IvUIk#+`lPqP@v<7I-jQLhdh%f3uSKSBB*Rfn55#72fPC!(nn1(s zKjYla?SOdk;9H4+xgAIPIgf@_w#Zo4YdRte60CtSoKf?NKZ}d`1{DN|p}&gouz(+;3!ZOC97&AAl{abtkp)KB~JHd%p5xMPG=1G*(^cjfj z!sm$$c>aQSJfRl2KEoJRt-;ajY4n2?RFbxz3t3!A`WCu6ttR9?tg)r(y>atZqAqK` z3wMY6oANh093MtM#hZuc`}zm0Oo!p(PH&(6P@ZNlm^F0ee5{5=V`=`qm`g`q0IKu9 zCPbwZ^W9JT+ZWy?4P(l{4Hs!8|3r|Y(4JgHnM(~ zFQxsOKHR-bINX)r2EH2bo}WM?T@8R6tZ0_NOrQhG%?i9F6J4yf zf)n0n!PEYBC%hAquihKdI|1^Lyr?(mOD{MtSEG02___4H3T4^$eK{%1T1}@I@|vKe z-jz`Px}OgGQmU$@_Gbnic#;Q+9!t+JPgxkyC?z?3l~xED z&8PiW#lSVb13m<9NYq6vS`^u1_SIIf{iJ~Srxj-YbWM!({Suy+q!9uj7> ztkeq4kcN^0(JxXACg-epbC6nLn<)bnV1zR-lM_E$g;YBCKiEPRTwF9e%oQCZmQlbV zcqhRp^%qE`j27<;Ftq}UCo;4+5o~Ui{^q8jewUM>jbD-F_&yPSJbpgD{J4KPuq(vG zGF>}jd_xkf3Hnq82tgisGVWs5QoGhUHG&$0k&R3Q-XHu4#e4yQWXn^oQCfl_K$L)% z`^>dmHU5P&;z%;roET@~Xgr!z;n4us1h9AKgAYILpPso30BubCq__)MP8FuLKp`;M z+DHcitziE=5-{RCz)Z_wOyA|m#Mt7Owvh=hVARfeDtZPcPcXF`j(Gw`jK+=lA1@Ta+LIkw(~Z` z!C=-nKajet@;kw`f1{Hcr)q0p{6#$lwZxE;N3g_ZAw!yF%W;g^j=o-}2z_@YC`B^%AJqvt+a$b|?n#1YES9+DRC|+a!1X zquv2Im7QjmsCXr3J?dJ~|Dta3Rto;(m2Cw)E1uldKMX;FD(|7kM$U4Q_k*o=evP|a z+X84KFHre-otc!bp91q$z$XAylf;iQ@HbEfzU%%jBL{u9{4B_IsD-1~=R%932y!x! zv*hW=Dn2SCA_Gk+n7%7khN0bNZy*ycmxC6g)0BhO4?YG7rJzeLO34`U93Wu}-k;%P zQ9c`n(18+8KTxoa6L6!3v60*eooXNsPE03A6n@N$Ujv}s+Cb&j zcE(g%7fJd)0j>a&CIf6q*t2kq0|rrZ*ku%iP+hcz!(mI&N}NLB%Fyx@(|3*X-S!@Z z%QzC}LtqO-*I}KfL6!x5%LFtahLe?=hNPS(IgrrV_Ia5b#QI&aG&U`Jc>{@X6|fA^ z0V{3QvxP4Of=Lo|IU`F_!5?Ckd=gz~~|4c_I#b;cPPUDBvg zm?2m%m>JnF<-|;m*&kgL9;w`soiaFAQi4fm-)Jqm7~iXhLd5* zRp_$Ly^scj@&=N0g11KQlt7P=y=sCCek-`+ca~f4KC`k_F?kkw-0{+}aWG4ek4E(? zD@L5Av(?SiJ6O5!A)p7kW}JSY;2?!Hi-o7-%Zx27|KR&Ce>jQMJiKyjm=@+ z977r8iiWn;hMI=VR(vD4b__T-kx{p1Yz1~Vkp#1!FMA(k=h;%x(WN5B!Fh?XMxUVU z%ORH2)37BFOf95CaVA(}Xn*JWT|rZ8Cmk#1!tL?%xdLC>5m3@%y;YPmmDunEPQ z`K4VTrS3e4mr)klBRv<7^}D=y^l3Zer7wWBFIB@0S2V;@GF$F~$Q?g-9E_l)WVTT* zW;uJwlJiFA5@D<;I<{`Ke5KRnO##?wz(yH0T21%VwYOgq>F zf)}Gdb&Sc%F9=5#4=5Kx^X<4|UPXA-l);!e>cVd@bG;5bl@I{ zad}cXc>NoJE*bpfZ?MFjU=0Lu9}$t%zj2kUFYP61W47tL;zkIt;=r++1;`DVTxH|- zZvnc2D7S!rbIAO*S)+}h5Xo+hwWlf}$cqHJhp?(1BDH|XwZi}I*X$A!BXEnSKnvhG zGkB5iP5%jSrY^OGTS(HjxtgVlA*{4hO8qWB|Iu&c_}?C$#@2B>{9lYR9>!wfV%q?$ ziEmFIyHxvicXf3}bhK~Aj7SR4gx29~DhiAkv*c(3&d>|RS6Sdxs*XxL`6_9Wit3sjm7ihWciH>m;hQ77mj_XpfZScH-Uw6D_upG`B-s6A1l24Zb`MyX$7u z4qY~^`dZyZQP+YiWu;waPlYy!*>m~KhI{7OM|q!#u_L}Y{XkJRz?x#bwPc(s$!T%@ zLf9i@h*T^r^f zsQkTGgh0N}hMU))Ipni5l~vN$UZcm5-VYve0iA_XAwab@kczL7mcD4@`a3SRbcPc- zBB~lpW499ex0zFUBVMLoy*})BKU}yFTu9ZWNQ`{Ug8?VlU~^2$dbp*~CUWTDtisaI zV5{%+25ri!MJAXvCy``UyveZa9uNDw(~H3ZTs&|3+{HH~kBh7_!BvA6De0ah&lqu5 zV8`fHrPA!zq}G!8@K!QB?{9A&Uf7Xzxw2WPTfb(&5CzXhe`tO`DJ#XhOdm-x;K|-dmL%zn$vLIQ z^j)4NA-C(bE!-Pl<;*EvxNc*_RdaVoqzBgCjheoTfF_M~a zRlkc9Bd53~6?6Z?eQ7nma53Nh_~vK!hVT$sIE?M+`9P^FPfUhyoJ=_*x0MAXIl0lv z!48pDfSkU|DcZh$-L{bik59+{wSU>aN5Wj;I$uJ=?lC&akp^%QO-R;OFv>-KOzYV& z6`V1OyAFpfI`;&sMGe|Mx%O|jjqLbZ28_KgtZ@qYU~7g_tuEs(fL6}M0@Gp?CvcQp z?g!4~SWb!#My2dwR+WD0X2f;)2kS#+O!vzOIvxCI5F+8?aP?)~PzfEUEXmKbZ!!~t z`ZCe%yy?5VzD%xtkG7EzrH+unD05)7rMs@gCdRmkU}TC(zVZU3o{l6=3!p{DL8UQ% zwwhftC5TF*J|C5^zioJJeAUho&aK)7<5WguxjAv$GS0KhsChAR zTvH0FNrs2{W|#_yhs*tjwTVSXc-n=+`av{~=ufP2lB)$KQarR)`cha-8@v-LCaRFt zq16W1##?cPVW}(UkyZBSu(I3$UeI>-DgD`0;++^qyAS~fXbJ`>85rB_DxQzGdwxLa zUFN!pE`T;cm4x_q{6mZw<=sRk`%C$KfHagERY>a4{>|3Rg7H!K^6jEQ6$bD4{br|= zaB;-dO9oN>PQv6QA4J(e@^_PwkE%;rwPpeH^DzBDVPJUXgtwiX`2O%b4y-S=nB})O z0Ec|YK)0A9pk;x)C?$iniE$ z(GLht0)pt*j}{V$2a=vLIhRYp(6ytka$M8ZmPvp~cmAT3XeoTFNu*Rc67vw9S%hza z$;tPcklGkdl>;d3iaOhG)UCgL-saxo8WDPDTn3KLA38&6H#i$4dx~y15n^r2r2=8? zb3gAXta#jHLyNJQM-275d`}TqRT{o{Km6g}{+%Q4hU6@}x1yg3j3eq{k$muAy!dv& zNX{7`$|Zs9nU?)&X zlNV?&N=De2#1&7!d6}y90`7tPz(J zksM@KDNXT8g9cF=RV#`fHe61OzqY(yOugF_*?@q86<0qS!lZ;PeJLm~MEzHhWCC&`AB+|NmmM^^4q-$MsNqF{> z2*GmAMgNj0Z;eFMoZEQGYe{;+;S_ohrXx0IbXs%up4xIY1YWS%v(u@5Hl$=0$%dF9 zDqOP2a#GIHI)g;d7FjxIglk2Kwvh`H(f9qk@kNB}B9$*1V4W2mJ&ZsDJZ+RB$4s0}!{>KH=aiAxbnCvD5zo8N)+F#qt_p6d9kOAmeLcI3Qe!$0 zpziv2MRK*Pm)4jR2-C{ts3JX{h^p}fq*gzB6Djc(`S;S};Y|*X6&dQdH^(7V*X?i5 zh+yhGTDtKfVH4oxj_wu>SzS)wpTn06Er z6SN!slyE7^4ZXc@yM*bM@N%ej^zA(K)Qd*dMG@1QpgX=Bore~8$Jg(9K1U2J@UDlV zfdQ=qu+3Z)L1CX^Nh1|B;-|yWK1)tzvjk>Mi|1}a%%t$qR^?r8aJ@$`$lVpLYM0<24N$zx9{-dY9Si{6Sx)lw8<>o)vLCdKXX^W**g=l%0{fBEx&-#zUg_fK;c zu)QZo4et=VMwzK7K}d9=xOV(Mafd-+r^J#%RM=IRDFPK?R}4A3!?4^2qjS^;V||ne z8~4Wy3Z)=w>?H0a>EWYl^hgXB)`<2O8w^&;+OvbDjyzNxJOl|Fr!QpdDa+I4|M}X`qhXf}^gy80`4dU)+Yu}&c{ywWS{BO` zdK5!o&#<&71dC?D;9Bz5I-$S$;fKSU0@zRc+Y6RQ<=>T+d7)KahEj+J!5+E;RPaN{ zXvIj!7Ed^ZUwrV}+0CiRQ}uW&0$#twehT`W0awJ{8Lpx0#a@D4`w09m68LwvM(@x4 z?(}DHQ{f!h31IK_kE4<3x6@+$;Jov4tP+WCRoLKllzfyHc-zW_uP=h#TeeTtL0Q7HexL&$R;g7sU5XIjgxCRk;nq^jHk__ zliQtcw6}@i&%fGz$pS9;m|1H9dJW`;(a3&*MxZk7#Yf*!Z2*d6PXo?Wa5GpFV?;dx zk0tnrD#39-B1*>U;P7yBcw)UTF`B?l1o~82BjQDNlOeez2M%B&iIGvf5p;%J2-eRE z$%Pe_dfsKkrj9i*0(Q?2^ zCkNaTuh&U|*N3|J(_IM(BkOiaCqx(mNZ@6CQ3X&;2%)v8tVy8o%5K#;PfG!nAyI2Y zu#A*x6V*0)9_ zTgU{SqXZhRhH0&ih3oJvag!vhxd=h=jqrDA!D|q&62C`4F+~KISUXY4Rbj zsmpbq569!v-Ld?(maiAD1$2Qg4QQBg$pfhE{ zORcf?s+sWlc=vk0-`(whU-cYfDfZT}aN%z3;f?F_ZP>t4&O7%F|Z9|LBr1S8yE32N$lQUmX#pCh>V$&;_L4hC3} zS>B8N!|VO!2cR@+EL51z0Du9qlN9;g3{W8kfmAq?3!EXXZ-y#)GlyFm^qi95_)wF8 zYw-(sdeynS;}`lc4~kpZ^grA>bQ8&N8356%$&9~>Mcvq z{2;=JcF(>X8btMXC|>%t%-tCpq+)z-YO?cY5MHBS{`+$27n5N#pa&1lDK5bk86C$V zi93K+wqv4z$`!IZlE^wm?JHmo{_d-+;G|_tVuf#Md{`KQgJtf6V1pH>LL}9O z6oSYd9|aX9cvH8+JLvd4`Q@qsG>NMS`zS$|`~raCaqR2m(jnLuUo&q|+!fe%U3cx0e~7={of!gT#HaBxXs)deJGRPG#afgA+a&+=rz zEe(R_;MWGBbc*bZz^Ooj27_Hd5544oyiTOv1jQ1FhK8wtVQYGU6Ht(uMNt04EA~Kj zpVzmB@AL@SBrlP@?m+;j>^ zZYP|uJP&9g0Z<7E*fkxWsW;&5k1k&WE_<#$=n}~woqp554JQgvMW19@(Dr0X9$_Zy zfUMdF!-`}gJ_WA03PNVtguS;QdK4`Tx=G+C>2IMABUKK1xr0($R-WW&RR#!YOD*Di zobctgpmcg1Fr;@A_~3%%IbamyViIqSNH0z~HYAaNz@+l_UQ>Mbd|CVk55K%Mw5-Q_ z?-KBn_Qa&`jeJB*Plz>F{+5=+C*I&!cm5Sa;%ssc;ot2+>7$KuAkU<^jP;287s6hh#$*j|ec(q;hdd zXzAy`s@{Wb@dHlz@UAYn*dl_jv{13~oEfYYt&n=@AlIBDi6S6Y7wGsK>FkYsOFdY3 zZ7@?wuk8-JMaz0!bvQ$D04K36;l@RB>3Nb>t`HfBwBk@yDGq_BK*d|S60R5-KsnoN zzlb!%2-0Ay1<<#%%qKh6 zvQ`9rnz5BYj{9XKh8V>?q-}+O)HGuneCl-QQ?se%((z%>GfY_fq7Q}%6X-25OvZV^ zC1@#s@6){j4oPspdx2I+%~Jpp#nzBs8mj!tHgu?Kv|l;fp~x- zTpu^AA&s@}9dr1_sHy3;DysF35Pl^I!g8O*v(vUK5(>it(zz0Yqv8*0qR>OXYBzcHHyoZ-p~ zkKV~Ac`d|hy5qC>iBB!ba9;I$)vn*QP~vru_*D;l(#gMkJn-9p;JJfe9x;#XHBYZ` zuw3*G7J1&oPRY(H*#rMYhL8-6IE^;3d}5 z4EA3E{H4hs@{Jz7(9`VmwsiG>9e(y62%~BHN9=z)u|KVHXY&Y-^^?5kBw;$3|1daT z#W21d>1$2);sp(mexY)+0B8;WPB|T9yFcHfn?10D^{~j+ zwj=<^L4U0V^VH)jcpqn6jW=?*ru)MxwZEAxn8JTW7hu70SEmsBfMt!DS0}}dY{~B;f!}uV1Kk^{}VCz0|Y6Y^U z8bG@#Wq|oDc-rr|QUGjVU8Fi1A!*3LOElq`6o{DR0&#(Q39@(qh_p%&s$_y(%PHPa zFL3cPKxF-cx@vJAMAiWPiIB!GhL(zwO97A*A(c=}yM@@w6;Kj^wUxH$6i$+9h$68- zX6IAc#L`QEDh0BpV`1MG zsoTng-Sg}Bk59+r53FREW5r>R-V{I_5-u|&2r*l6f9Pp{S-IzUr0t`k%03GGrljKE zio_=*6;G2LE6;Lc)kkwH^5h3l2ku54j7gZllLjet-?rwAS*5eG8z1=avN{W z%eGVnTzCgOYTkhaZ$!&)D+93n1IWt&lG7#5fF<97_8)28ci{WyE5yM9OZDmM09b@2 zd;;B28bf*LTUw?v^ogthldb~Xk|xl6?LU{l@b=RK3_-ej)*FOAdki`!t4&F{6F!KkZJ~l z95+P!NrBE#YE8&ElLqCFKfjj$k;6~CYOrCA<$E$9X$TVQ*nUHpY(lwxXj{n7C4qb@ z)QbDf^{{alE-j##BbqL#WVR7@{gQck)ZJFcGs^UF{& z;lH?9QLafZZWu@6zmrG@_E(2K1i6AhOZ=Y-1i8JurtwtgXG3{E7QY5e?s9Rn8HA6Z~H+=e#-q z$}y&3-WdK@T>~A%u`u{#OD(v~jLVg%E30PTq%#I%z z((|G?xah+|!(%JP7g$FNPKtx?=$WBY4GmLEYF$14b0u)i;22D~d|73ZOwW$JA3|-` z7N`UQ8u2CIjitzFrJ55j5~87vXr}KP+<9w%zLAW$J3LSSyL@rzz(>9~q{*q)4L;gM zrpYPhD0iw3baCkA?u0hB)bbNW6;!fiu)VTiS}a_gD5DP=qf!S31#JR@Ll!?0)U_Zd zBei|!{6c7;CwZHVL6s)H5PFST$w%n79QyzH}n3VgGZv81@gh``zK;r~T72+cXButY3kn7tGcS-YuhE60%kJmbUQ0379Nr zDMM&GywiHosJu&IO=mhX9Zrt6S0qD*%zBr2`ev|pFdzY`bBb10+$;i;Vm2YmZERBq zr=D~`b+^4)CZZ8ghYZ5W-73E{(j*5v+#3XKRZZt;zvQurS zV;?ar9fln3BANxh{GY@9GyxURIMA`ThSGF@WCs1UxU9)={Z3|jTvQ;(pz3f$%%g_HLEWoA-BU>6A3 zX%%q*zl@;8Z_5s_3YtH7FR+mh3O;XZaPerb{oK z5T~!Zm#3SD=llAVn?5<06!6wjOV5fdxjOP$zC1mcqM1ZXTZ%h8*dYc`OTQO+M{*P z;pOndbyY?A-FB)Z$)y~SP-D8Xdod{rO`1tBA6i!vJK_}qO^(F2yWMV%Jd}Fl`W%63 zWTBweqA?4+EhR@3bq1Xw;#c)J9xo41AT>+=OCnQn5*ojHmp z7`7#|&CF~0q#MYgR{gACUbj%L?WRa`iLi#zJi@l0BFO~FYP6ps)kZ*=A+0Oxlp#*s ztN7M@`ozuGU?u=t>8JHGWL}Fk`Ek|b0^nE`pYB{E_$qyV^<1NGAr|W1RcaGMRjCRj zeg}xJ!r{B^-5qRZu#bx6>6+aeBL^!PcXiVOR0@zS&T)QJR%J}PT^%<==T$K&DQ z<)ULmik1A-Uy^jNHD<)oF0v(wr3w~g4`0U@ZBBOy3o*)9tmhenQklc&_?S zhlktptB2#m<-AD1YC~I^vw=7SkX#c?UI1G0>k-KrhcoiAc*kQ5bRJ`n+ceuiUNqIj z#f55gRZz2!!=p!`qw!pjTov6#iNT6&kcxx0MdGPrl`m97Te!|WYyB>7T0_e_-A+EqaVBN;A;eVeonjE zi`nZIoiU$mpuVl>M2rBLKxV&LykoVrv%OqW(9sifr<$09*w~Sh;b}_L@jfDo2@!H%s|%6@~ zc$Cw;Fwzr;`dv=(2`y%HBZ+WXBLKkw>tE^U2LaS&t8G9oc zaA2##s;?m*4}ftJ5Cc;Qn4l1tc2sMSav21Wq~B#L~#;0TKdDOq(9CESL-Li8y@;X z8bB!bvBsws2e4+DvJgOFJ!HtvFerwFzB4TJs$ro$)4^Xq8Oq=F^N3=cltnLOM5vE# z-^#kPQBEc-VL(v|O%HOS1gQd}&SlBq_8*z!i#PlT^-1>{!A*|EK1&xi)gd$>rM z7*aqv;GOiQi(&~FpsPesRf%>@3ko_7p7uYKkB8DRzWd58mC+z@`QSPb)-WV1=^Aa9 z8&lo=gtdYp9Z4X`33jeyOyhLUG|8@MPe9ajZ{#;_LW;dGv57r z_x8AOHKxOw-+dd4&Xs{fa0|#ji2F`=Ht(D8t6nZv?vp3!bklbQZz{G|&o7w|Ux10b z$MTQ9fB&KU<dJ;)2g@US)4(U;3ZPF8S9Faq{q<>HfIS~Z2K2~|{_ww-Xk zp;k zoS3Tz6}Gv$jBh3v9&es*?(fTQ!t<4xV5XYAUp91zQDLxV86_adKFBc)^w>Iq{GCWN z=X(0Cfx55gd2^Nzx8+~|X}|mQbo0|lyS^$Xym1&k_gQV=T0L9gIDk{w>9*T#ES}zNpc^n) z$?MTc3qPc!06&D*`EWwN1o3vGmemCQCFlq;t?AaPIr03@@dxD(pN=n=L?_XEzQO2_ zWN@%fLa*-26eojhx^0J>s@8iK8;lR=XtNO z|8g0J z6hd0@;ZWrWYorwo`<8U%82sRkNXeyJYUY@|SOcsh`jo`eiA;lMvW{ry+=`=YJ~f(K zESXo>{Rir<+)dbisszdmTGpQKXyfw(5}T9qTLHdrv4 zmIMZ$yu`V;lNzyfs?muDTCtrCOtWtJ+yYFiS$;xXq3QxT>w8yEj{VPv=a2*9IBM!T&oAMdNRCAfv20t$K%t> z?)9oC#O9niPqrRfI}XV$zTo@`#_$(Gk-^DENAaL7F1mE!t& z0W#V9ZeDnU^2NC&oxTy|s@1JI_na6(XYah`*8KX+;6_^*5=ZYtdZYnnh#3|bX_UN* z$%}!zNE`JjmZdaK)9PTFYi>X;rNd9Ize~w*xGTRGhZj~DtonxuX&qrOB57)d)gj+{Py-6_!km^7)rp9< z1jN-dpvnx7eZ`w1^=?|BbIpafyhme?+EH#}5dpkAu!<9EUdsL?UkH?U7&Q74Rp84? zdD>J;yt@?c_S0bEaLI$sVrJ)4J$6TV>`{WSVr&{GjTtHWvIR3u>vFmG3E0+@;)K2o z8pNH&H7S5(TJ)A5e;y@9KbL6kd6#(<5kBjoc-+dloLIzl5I zlET)mjCU#Vu>W+`K-*ZB9@xj%;6j>mwyN66^5M+kXqsosx2BOUDx$8caP0%BEU9Z`j(h-)egT#*Qz!az*Cr!UR; zii5Q-N-%iciA3q$Nix1Be=Eefa*5hbsE={m=0sqEWAc0A1=W3 z@PkKm;{0$e7js%{$Vp(n1$)kmji?f#0HI$Ou+qgx2jN}H)|@~tb4kh^Iys%V zqeh|BqQKVHYxT@{H|4yVWFCEBX<{9Y`A7-^iT-gax< zbfjXtITYR-$^6StxwpgDC4>UEYrM!gtD6mw(1{T>&XbLZT!kXEE?l#}o>6H~_-$z3 zy~~U54$sG#5p;6#opdqT6)EuGiSDZrMXsFvp2Vg~))(ePB6Grs*C2rwMhz-qRPZhP zVEvq!FcY)K;`8pLhR5Oi9U@<2b|4g3YC{RYs=qEB={|~kf~+xzq6**bf%$d#&^n(i$OV)mFBo~6X4+R9O-H38U?NT4p>P7Xt zf^OczeK(jNtV{`3w3s3x07aV0-9o|`P$a}z88@N$<$8$NQBXylgsKbMt1rLY6Z4PR z$D@RUU5a*?#xN2{CGh?3G&4Jw8$b8o51vm){s>O<^NCKfW4TUA{BCcfeJg z9Uz5uL-G=p3g*tJmcUX~qn5%u11X#wc6BC)bCNVtr9_C^5M3s#imPT;SPp~N6q+R^ zoRc&m-DVUZSb1F$T2|(i6Gp!BK-+=uS`~iR!@!Lk1(dH=k{ch($^J5_%T_O$1L=_}+Rl(E?xo}M}nb5KRUi2%GM}N*F zS$_6&0gRWAs@fAcb3(;$grk)Zok|C>JW|`b7~V>TcUi#>r(9&!a~+MmL_hdiY%DN~ zNKu{*P+_0v!zm-i<3ea{9!_p9ph*bp+NyNrgt*(k{=5@j5s#>>;q!}DkZS0_}@-|heLI?bxeFIcls@4#xP zUoe#4utm5&rM2^7x~M1hXfTWOp+n}-aXG-ZxZf>i1Bcp%$%H^|BA%>)MQlScSu3w5 zNS_XcO-IM2Lub;ljW(lAhSNg)=JWCJ@O(jT#AiMoy0=3xd69IG?=(6@FL4QBTVUQi zoy;mzr*@9Mja+yqUUs~HJzWu(_MfG=72;rGTtu+SnvmrMCOE3|2q1>xLZH>R zr|$~8;r2<|Msj?)IUdV1^0KSWf!B1VSiv9iK_&#dj5&RR>UJRQOsQ8T%l8{J+zwT6 zJGZ9Laz8aD)tbpnlEdp)pLuDenFh>3(0BCnz^5$7;*u&gUjBl#&M+qjFio9_?Idj* zX)wEq)@)!I!z`4l-*8~W1r{5Aa2lRyq#)T&{#Zb#kkHi;o6Li^KfWRtstrp&7iiy( zFk~041dH9x1#1<}XQBx_@;iYB$moQUx8W|_xf8ym1S^Tlnoa{f!4AV{h_wKL+z;{& zgM?Sg6-L^*!K@*mV(x4MM%U)S54#_Z50gdYRk<*})tX%J35{TA&0Gu-&saT$8%2wM*i1$|mN9)Te zu|tNQ7;X;6FVazjXyqz1K-vih1vG|kDO84#ww+mQBNJX9X5#nm<{IvnLkrx#yEC7L zQ6G5`NttYH5*H9>Y7A3nfpR|uOI{B3v;1;^Z5ER^yW_+DPt)i7iw;d-f$J?gigkzs zB)154t28%qlgL2QFlrehd@fo~jQP1hm2_cjd!B7%#QRI4gy{a}w*JO&X<@VFHs6*m zDj^SG@*?x;QBhNF+||-2rk+!=#xkua(8;(ft2BmIwO;8b#_i4X_-^d?_t&}6I|LRG z(SJVBNJf8+Q!wHh<4jR(dQ7sM{M%932c5(|x_0F8OD9Qn1HC(x;_{RqG(KJ}_UdHnrt>guPW zO9A((lBT8jD4GE-zaLu9pOZnXW`d2AR^j*OKhF`-qv4dURjB;X@2$?5yb%6P1CjR7n3ag7295)viPQ(55 zYlHDSjcED!E;X*)iN##^{@ujzw5UYYGmH|37c3RB;IwV*lZfI@FBvEjj?TRZA@1h~w+W7}6*j78P z-E68n?{9B-2aobEW1Ztj0gSHV`-N0lOv`vg{Hls zc_s4?x;RGG;aDFkFy7$J5huW_882p%HazhOd^ z#FiR{_()P2(aFURFokx=e^Pa>KTw#4)S`dm$@2CbU01b4fQ*(~;XtG@AvuoP76Q;1 zlPu19xe{ARFzR9{?T3}K9CI|Z1o-p=d9v8pvZH>ZCmX1;{E3Hz)rnlU_;*3L-G)kgm=_+Hiu9R zVWouuiT{)PL}9z2nQ!@^IqQB+aptdr|KC4?|GN$TpRW!61>`S1#T>PEaS0`~Fr?(= zyAWt`4|9ztNB-K5V!sNevnGw`eeho&MhVrM1N+STj6BSj7CwVGU>5m_b|3mtLPb2l z_N4i+m7n|Ak~n6?E345d0JkQb^L^}(kB_^n;y?2D*!XuOOVSXnh=bmZzxBb3rvafu zHkOO>8l6lpdmSaRCv5(L%iHhzKu( z7DrvfAH)OTGbP*8Oi)uJ+BJEAUzLdWhffcal*GHwoY;sns;fZICG-=(LIOD`pV|S* zp^}lj2cqU4fVSP(%02KU8`zydU={584jSMkFoS*?cuew|pjD-u76bBYpe^X$?E8Lg z1{xPig0XjGr9_-z(I&ldp(&k0TI4oJ295YO!1f$ZwP6z1hL+Y5u__snOl<|%PK0r2 zT>erv3v8)s*$$y=&}PFD0;l89I4k_&+g<(ykCuzwE~`goTN}YGq`~p&ZX6^1^Y)%C z4wGS*2R-YIuEsH%d;tH+*k{ z7(!k`3q6dgsB+{gN%jtM_#u58fa*4|Exm88G$?N=1sNb4aT*^~4@;?XWS@voai`T_Cd`(WKQL?^+^&V>*I&l+1>F4lc>CAs$B&O6KHiL9 z%k$l*M}5YS=dxbDE_f@UKtm#A%AkD~p|Q}mg4Y<(-941=`j!XBrpFEQjglf;Mg*9qEPl6 zJxkw!wtNav+ei!A+M(ovET3fXTdD@mIUDs2*O9%V{t%^OIsN^`bWYs=+XD5+@jvv< z-P6b0H+L)gPvgIP`gLkARenmDRVHw#5)E-ym%UzM-9jwzv@!P4dFDHSuMm={KA;$P zTtzeA!WTb=o5N=@{jqi_c-66(FAl~_p*h6QTz2ii3&#H1UF(8fZ-fi~3U2Nn-i*zJ zI(Cd|Q_0U6($FG726Do8PzIc?+$SzCBL>`7u-CjF*3l*x^F5W(FZvSZKmF>dc)_QU zGmX`_x}1oD`_r6^f!HmGO~m+_;h#t=k=HG{41XuS#J(3?NleQh;JQT@-HyX3{cD+j zUO${jw10M!_fSJX8790#jI(9msxClQgygdG1V+6qL)7~EVNP|tg!QUv3?4R zH{js|QK|91X4MQqQp~vVqJY9NWRK!N_++ZK$dwK$kU=bw`08Q(14BpJdJ*Q{*Tt0c z{PgutYK~G)c^)~-w}ss7ga>1(#5l7W(AWrJ{@#pIQ=y#{145{=~4- ziXmUt0Q0!i_^MY`Z2+rYbtZn6=_m8PjC7^qNZS)dJS8Kuq&dnC=T4^HRO=9w(JVD+ zb$x)>IX{iN|NOLAxgBPg^EUkL{p0eYOr)v5-mBb*@ku6a*C}UYjOED&V~RAC6dFF! z_qLbwIm{;1cN25!n-4<`S;{K4S|ZVTR}d|(?6Wk*e&Uhf zd?Gkbli^7+CZWZSyUtVh!pFPE$<$GgN73zABy;lMXUgFQ_d?DF8eQ*wu}&%Q*(INx z<4wUiDePE29DfU64J}`KE3^{SuR)?%x8xlnxR6(%z9xKR)l(OjE)=I&3$2E!(TKfX z{Gu*~mrSYJoS&`q8N$a9XP*9xzXfq>-F!BPu-IHiJb`bHX5+pEixFeItZL!gZ(-qH zt8<80RHB^V-QsB|5gAWK@sUUqJqnlQ3Y>e~P(1aW>p^@`EX_oiHS3r2Jsf^HnqjN- zNxguSRJyLZ2GAp@xFsOF1UK!#J?*HvP``jLea2@E->1L5CM}QW-PU2E z&~Ff5REF#cSND3JHj@mA5iIF){uwt2>?7JP=Ck-B=zP&!ib5^wb0LkZsmy}R*MAi; z&uY9)T;e?3Z+L-DW#UuiOP)-9^lP z^#qqgxVPmA$$RR*)#3HK7nYQhLp*L8H6HC4BBJsY?+7A%qeX0rCV7|<;rnLgu*ooe z4E-d0|1089QGWGZs8@ro+7O4=CFY1QEX9u@)n@n_c&lMN0&!EP`3vqZzI+X8`H-sW zJT2_C%HXoAh|*j98XC$4`okUrTS1jzVM;QshM`(j$GQH zY$!uWE#T~HK7s`AJ7*6v=4;3np=Y_Qvf-<{;pASc z6{l⊖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 OgW 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%0AIyT-}Q5~u%0qb!r=f(Rt9V>HI$BMp560tA4VH> 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

      btxa2bMUR+fHe%_S2lE>%qrI&&4eD+x{n#$D+ z2GLZuyUZpDWWUyqeCB7*rqT0S<3HR4=lX`? zrM96J|GsO`#9vrsN|@A}E&L*b8e^JMziqX{=F8egN)oWVl>@J{9QZ2sm(7_-US#1* zg3pEBWZfpmNz9fN_M`!on-_q7x(M7;pk|~Z+Yg{gSpVt@pWg=h z{`2SE$D4mif?*JyMd>lXEN*4NMnA8G`=&_iUw!_Tw_NgZMI?g%5|4BcTm5E}7XoRD z{5K!(g&Y0byWh^8Y{Xz8j3sno2Akkuv$aBY2BdE3Yg+oDowKZ!tZ5PXzjyb)?H_iM zz)&A`QxiYPk<1Zwizf~jaLWtt{d`dcj)*R{om2&-KYBpNs0z#N6MC~ z29OHHZ8HN+E;%eGOh4pf?{;re6T80TkS6{jI|%#6U2N0%JtBbq;Le~r5c@(QJH6@v z+qXl|GXr^Y5Shq985ZS&oXvyVyZ-;kr<>uUH0TXQB#t)}iy(I)`WcX%*twGQLKLYc zc}{#WuO9D!16Gz~`fkwhzrM1hDl0_Nu*+HM_L@Y}oKdq&BIH7#px-jA$0`%7r(ZX& zWkikwgeF)oEjsHtn+K9MjgLt*DQ~?J*p(1wSuh05>Mk(UAlx+Y4eDAU@r< zVMJj;r|G*Mi7aW+`SQgXGSQ1J%#pI?$Pb$%@|z;{qT8GDhTarultmFp8eB9%iR3_~ zjM$!K0qIo_JbOW)UK20!;+WASjtPEQUBnCXL6p{aNwywu=0h&1V6M?$vxS5D8u|}uh!Kh`rj3nN1=oeFao)kEWM&Eh^aw@arWoGog)r*5 z!=WEdmiqxu6gbzJ4XF9X#N#>u&!E{I|PDA*;Y@v}Z5 zV4d^LKR$ol-+g%cMeH%;;TFHKkh_4RUD8YWP}Jq*ivGResWAE(CqLpe@u5~(N?!15 zq-r7r(e)nr{u5Fcib{CBiDp7H2q1XgxGn0d3EsymnrytlhgGJ?Pq%lnMfy*-<1eOU_1kICg@@i$zzFt##zIVU&>R40o`?D_w-=c}R1%LIy|5yKK?;ak+Au~wm z4}a^&&VkoJgN??Yj{7vq88g@TFR6yQtdx2)`2O?5&%5#bi>tC(94@;?1_Xkrc=wyo z54h33W)4AIwZe&K0RV3S0MaU7{$EAV&!fy^_EdjY9YUU?Kq3lC8_Uy-f7X~ zvk2=XH2?Zh!u*3P;&wwT@FgdWbAmu%)~~^`!(#ntke>{i27~MD^?vul z|H6+l>W^7uE%TcVzAH&n__dujF_NL{V_8LNQc-=AOyLhEN)fJd(Wy!VaRkuELFxcn z-pfEKYQ$2SnJ~}=)I$JvK#b}EP;Gp2=>IJPAXq2#`wxE(`+>d<5GevJr;HqeM&+`J z{*+L>z6q@Bw`l^XE(ehB1JQ>5FROAXJM}|X%-oqG(nfpa_e&ypv7vPEdkL)E2ny4VJ#W(`9az~LP$>R1REKE zT?P$xxS0Va6-?w;kMssv6nK@aV9~(|%Zl6z*T2mC3SN}OLLLH!&=s1a`1f6ipm)`- zA=l{=&?}+xa(QUd%Uh}9MV|p;^S5Qd50C*LpLVy8yW59{{m&ow|1DF3OY&YC3Vpju z`t?exa~dW{TR<~o@M_=04BYPFxErG^3?cBgXybRo20<;Mv9hdqdbqhe%M%Y2ootK4 zuMv3Hp_{`yF?L8))W!z{nUzv5`m4fwo-00mH!P;ElrD12i~EQ7d#QiGaRET@iV)pV zvhZaK%Ffa|@_PenS)9NQ5`u{}R134LCJpw#4ry@7lL3x`2q3lI4D3o)3F^0H3{rA> zAI;i=WMUAa!AY}zeU4U|VDjUp+Tn9$N%8p4PoMVv?;`AS&Ft!6%~EG;f7C1N01UN7?ts@`|592L=DSW5Jd zkpAh2>=YU?>z@x-w=ahWWc+TiV_v7M!E<8lfBkav@%Bmb>FAHDq{-Y8?T`Jr)Hv`o z%LxoYufaH*sMkeZ1TK+Dgk}f%^mcWLEANd|vOCIlDd!F1-SNrHyoZiA2oaH z?HU3wc{O*LJTKnvl6rdKQ|*z|eVoe38;oDjvu)~45E@){JPJ>K#`|4`Ir+o70T(8M*Y5|R2N70$xdS#rGrXyn;c|o;z+@8o@<)L>eQCgT zl zsIuK!j*L-NBeo61!Jvm!ucRKRPU>V}=MUbr99gsM*O3i>eAZx#P$WQU!xmpLwpclU zota7%@>2iUu#(2UgUl+;+~(dy!Qk``^Q9)E9G0h}`nd?9<|iExh4H&#g*vQOK%>uv zVS#S!#wij=syd%Em!ygH=(UK)4#8pZz+~4hYclUR@yZwiACiGsES!=x@0~ck4&aq1F!qYDg z`-^XYND|_>#s3w?|L6NJ50{2NiONf@!2?o$`Teh7sG4QsFkk1ePMw{fhc8?7f6(YZ z-v0OH!M9ihZ^2)2@b|y%?=BC&RQhk>e|_N}s{YR(zdY`y0`LN}rR=sGcw0Fz^!{TG zj78u@DX^6QZz}~V==k>T{jLv<)B^e-T7Cl$AD1piPl_~X>#ycqk{Sp~EP5P3-424Q zsUwG+7{BYYBG)|l)#b&_I8x~Eh=<+SF5LgNpZ-kTt`E}gY@5F9HM-nw)91ncTMr)d z%ME%z0OXGrHGci|0^{znZBu=a6-xKtsecR<(LhYLbV$j?6Bv-!*(~JQi z>UG>O^J2b-AL#iDc{HzmojKz~p(pU7%4<{WzW^!j6l#nubJxFoSwF$fEUSU^R*&`V zbR<7oJRcIQ^3l2YUfDf9J=}|Q2Z~72tb+J)6~wLp>_8L0WX+a-D_vq2bMR_O530HD zhatCKyP+Z7U{Y=XT&F_hCHVp(f7XxE-CE%nD4kbPAsVc?{&MQCYdx8o*as+keKDJO z`}yg+o=xl5X)AC^o}iQ`$!F1Ns3j2OI+ufjP$!s9B-F2AL0~;cz&ZUY7Vvv{(|3KD zg0*wq>&X-nc{3D5^@ql@LxULo9IsA62WlE_a$Ixlqnc?~YH{0xMTs{7Ccf4octtt# zZ)cK3YJ9dNc|}R`c>CdQ_xa)e^Zw!KcK`UN#}B)wFP}f2Z-A-qK4ncxzM~=N`ukf^ zqGD4X#E&I|lCqy_Ok#Rdl3sR>V!Z}(fJ(;i27R%Gw|SUU7(|1l3X~$D7fDsIvAF@A z4_-sGY-T~8LaNmZBG$Vcs1!A2A9F-r$awmJUNe}i=#DxOT{Ttp{WHCEjwPoJs0{bf>jGLX$6IKrvPp@!*(+?(qg+Aex#e> zP(Mn@RNwvNB9byvL)qT<&7@`lT&N$*=%}j}8O$6#8&WdJ491g@+_95zCay+Ku69;j zJ{RuxALL#lmExi(YTrbpFc;mKn!3C$!1t>gD>8a@b5X&fl&fEyo5AEEs9rZ`YAL#Fe63f+d zp`vJ=q{g4__P_6Lq-01a`lRuhkUH%DaW%W&O*Mc30o20_mat_Qan(L0N4l1Yt>vzc zDqIx(pG3j>Al(DNZ*8S6dlhe@9ewW;scS=4g4pX<|M|B7OfLam{~fp}`jSXk0&#Jp z;f;q`NzNOj%6;bR%jpMtd8x3*4nvVO=P)X8(pucSV$?df$!R~8_^XG?~cTczXcf0-FyZiUIcOQkQ{Z-Y%9%##}C8yvZ#O>!#H$o-we%l4^-72p}p_n$03wf1(jHB+!&qy z74Z%8&chE3uL#zI+|{In^vmR2@jiO7;2<76fzUah6+;thq)P4p404Ajv(M=bK|OjF zQehVkr|*V0#J|ckkycXCiTGNJa+AyRSo?*86|hLIv+Qj(yw;klT9i@O`l5(=aY-pk zp(OFaY26~!m66r+(px0;?T-N?p;YT!Piv?V)#F#6siDVCCPntXcVCl2|E1{y7p03Y zqqeX*U3}*>TZTfmlu_tQ>nzR^`7i`Epw|E6v&G5u-LSWO!V!HP*|I%4+oQw$GQ0@? zaQ&krBCO5QwSOvRd33T%NzDQbuI^H&+BF2VV0Szj3{Ckleb-+j*~PWuA7Z*}*T{B_ zFuzP%U`H^iJZ^dM7V_evt)u>G2T@t4`Mmh3@uqGgBSeApTJSM*V_%>3{xPS#g9Ew5 z_Pn4^HEQ!J(#2ntE`3KKDq^(LC3wx2y8xs`&>IxS%%@8+q)Tq3OSYv;z}J~B@~b1k zB-^X=hF_g<(KQkZ$#{H2GbMBp(=2#AI)hkb^fih;T_drmm)!CR@^!dI#_t9~>!>{T z`qE{)Mz(8&`DJm-i!Cp>ytwdri6WPEdtTnq^YY8IQF}3?ERiT?-rS!A3L4|HmUnLK zFo&eKSZBHMYIz0Vm6^b#%Y=2ht}-XY9ec_9pwY@6tt&6SB=|hQPJKUcghD-ejOC75 zsAH$Gr!~ZW+@HSuI=}(b&~Me1u76`tQ%^MS129QTBbyC+wKnhBO_}ktVWWPnMa5TH zAzld5;?#B_yxI%lr^_z{Dx+6}))EI?m!oRYvUwr66xFFPI<1_tHnN)H6FplYjGrxL z>TA9be%daCAN4|br&vMp7{m&J-*E%z(kQ3?(hDKXw z`(&+6!&hms-3UM4jqrZE5w;tlnHJlP@Z;SGpD(`=AdZHST3xQ(^eEien=l#3g$>zE!?(Ib_*T&Ae zC(sc38@b>+z3U}6yH@WiBkwq7@f)ils)b{JHsEwvt5(b8xXz`cSlY`-3(k3c!+<%n ziUnRT+}bBE+cQkx^@9eewG^URQIMwuj^vzDEcaNUHzmjWu#{%`6vqMwG75W7fDlMv|O+IaMJJI#M8sjLQj1JXy|l;Nv6|X-=FltcSce<^3IXea}Zx%^bd^>UeR<24-Gm{%Lz~| z+C4oqPTh6{zV8U8#si>+y;qY1QmfJDfZKB5?dO2>8sq>dk)J*P8X$Igl#_aS4h%4| zdSG>8*fhNcS^XN6!afG$XZ>3MwF={EazIjtfc`-yF$wst1AUisP(aZ_5_pR0Dl)U4 zX=|t$D~rX#jD8!Y2UX0ryV6d+MAV)DMcBk6tlbuvBaPsPa$hBmh>nD7p?uFO*wI5Idduujy3>Z%~~ zn{nB+83!4{N^_vda|!t#*ya+799Yp@qK1pkV1{056Sv3UZ9E1bfre#j(b}&8p9Dz5 zTI4){5yYrYf>fjQ6IKBFfs?C8S4ZpVWKmzi6F$^>(m=uuhr2)=RBv~|+qes4;4lM8 z()NKj<-*VrdIh0bLX3jmP$d)VLmmxA}m+is1F)8Gv=*j(LzxbA$}5Ef7WIFsD+a3NbW_gVOc2!92)ej!w;8>+_c* z7o@14B%Gww5jiZDZqY-%F0r0OI0GGS)xnQY9h|`qWiI2E1aBh=B=9h~aj)C}9{Q|V zh?Ob>AoXZDunV!zi?Yo|a$r6q9-? zb?gr;+mC+5DR2=BxxWxl+Hu-0gg0^_NJ$V&mIeyI=RoTECt0(P&=yfbr?~nE)~6qS=3L-U0!fo^=RZ1{e?{zCi#}gFs=u zSAfVu&rZ})<1-+4;F6nZrnqImch3N6l$1c^mo)Eyq*F_3-vQer@ck1&njvjhz#F~- zM3n;qs#SUt$JnpLE6k@**C^CW}B zBH+1&{fUjLqYv$c9AvH?XLsC5Hm51_yVrDRBYPNC<#nDm;d zHJWs!7Mpw)Rx>0#+yGM7N3y_C^9mUD>NH|_Lexp`xKoed4&a|U>TJbl(#Zu{SJWkm z)Vse)NFY!Yp}+=X0J@x#=22+MBbE{kCgkkip+DYCm*+$YEVX$2Y*a!p=S|{?IiP3M9ZZBzBYbbaa!E{ZTIEw=lhTE_wPlXiBv>v zD(hlCTwP`T1$V@j3_nyd4CR9OFbw*rLBfrY=N5wR9JyKScQTZqE*T)!n9msRlGOYG zB%WeAeb>`TMhlV^Jq}aFxZ8iaeS93`4KJV<6^bQ;m(n6NlyhB&np>a+C;JWo^g9UN zd#GhXru(2Tik%u!PUuqYxi}@n@hAG)!4YM*uJWPE5OGJT|3jKEAx}qz*Z~&Jn4wWe z#?BSe&lvlp;9iMT)ZHcIdRp~7V=&zoF0Dq%;HwAYl3a+0*^Qp40{GNGpK=F@6wPM) znxGu@GN?!pkn1dpPe~0uQp}jxTjKZ=z3O(!c|EdMUw@_Q@Mw725w>uZI{AW~FQmX?_K*|hI`0aY$Ecqy?X@3Z>R zNSxS#o}UV?0ZEw3&$vn6sG(67N0A+mKD`zld3ZNl}vm)7LC|S;fpD zQeHpuuB9-K4~4D0SPdH0OazJl-uIc7iec+BUt^!?FY|&6L4qi;!G;=HOo~@R=reN) z`aZMvz&H@()N{>P+rJ-)4<>Fjtw%qlnHJ%~K2zM3+4@XHR=kEjQ&L=uK5TvFkJ4vK zifdR%wD4&REpk_4&KGA6~aTLPcd$Wsj%jfp@`y=;|vjoxgM=!Li*i??P@h;AOv zN%PDNaCl3AgJkJJZe*$HD~6mLD0FvPe5k%;NFk})OJY|rA*zFkrf;72IK1k%JR!5l} z7R{8ZNs{!FGk}sLSwHb(21IomF)GC}sX!LUiPodtEu_LljJQa_sO0Q5BEGGx2qSc* zS8}fRVh>M+nkMNB%aI&E8yImlX@8A*anVe>&kMP&*z)4d<%RroNHxUvbiA#nLmX>w z<>Zf3PD*3#C^wnSv37Q(8BjDIh)5$RUzrKKEs!2=;8oqg<_Yu)t^{#Z1x}h~Z<+9> zGC`VEMR`kmdmP@<;~);IKz5DWu7tOAC5SdbHXg&)I=s%-Azz9vNKM3sE-2FCb)XB< zylQJHf1IiTrBT&3q4<&B3cP41cbicBXm16I>z5nW@Z&TVC~6Et5S@rOF%Q+n@Cw8{ zkS-K)5I3|p5eH3Pyao{ml;%|-iIC*BefO5O@9?tqI~T>0a@(^~ToA8e&kDskrWcjz zw?(VBv}lFm95a%rF1l^kyrJzHyl5piL?o$v*tA_VZ^f(7b`j^>PMlk8D>iRw#RjDT zcSxeO_10FrskY*xRm?%vL*h(tsverR;x(vx;6>B!zQ6~mhS=IoMOwUyc2nHawNdG} zcJo!Xn-c9|5cUvF(Kca^i<99s2z!vYr5jPAK5W>-Tf!dbBId&&?IGO{o3zKpRl{qL z_8^h=;6!D(4S0AujDH~paxCd?9m>YF=Oay6)xlw0-BTe$gwGU3dc z?k4W>gFFsioKx&na|Bo|1{dm*Vw(hcgHe&vqe zxU=!z)}IE_JR(q%YKCF0f=z>rIP@SFr$KY0CKN*=B=$y7KMp6W4#zbs3qcxbwKsx9 zk%v@5i4yfO@+AVfuAo;IAq)?zvT*F{6ZU1ugrt5P5NM?8pJv1HC+dXonA3W5 z;*aY=no^PT1w_Z>!X^ji4nXxzG?OFu?X9}2Kn!dFNvK|_A*lPpDHEpe>a2*ltdTzd z@9*C2KHopyKHdJde@=~y8jKuCN|1pE!!;PxakbnpW()fbEGD6pvq)xF_(aMNnb=x2hRxe9UID`R`;y3Wnw1J1OCLJ!5 z8qLvfm&FfwS%{j%4kRYbc3Zr`+d|yL3L_rf?n!x+3S8IsvNL4FkXkXS*ZC80GYu++ zuCxX}k8LTLkScgR*ThB6i9V93Cx?yv@LdKCX3^fyihU&XDj`PN3cHSpaUl}L()AWky*SkHx-tA56-EocjA8bNg zrdAxilaTK1x_G14g*YnTu8SYdrLPQsjrCQ$HMa zflrF@yP@b@rRW@+7Sfay`hR|@IcWm7_$m~JWYBc+5iI`tI1C`Z}w!SF*WXoNx<9E#Xs3Pmj%gFbSlB?MAK733ZJ zYE0kN>5v_)W?p*#<>~X6r`=DtPeKah9Ac6R$%gVIQkMd16iJ&Y5d8=-X|bxnrGSs9 zhO|p8EC+Y`t}h%stWrPdn`h$g%cuRr&C~sZkQxOn|nW@9*wE-QJx~3F*1mQsOnH#N+4vyWL;E{^?(z)8grV_t)L{ z3+`@l$QJ1-NiInZXiM9gy5dk#R<_e4_Mujbl@@k18bGgHOS~T8^xdFBSLf|(NRhk! zhchW6ku|pz`7u&tCrwWwc$X|9`Mx7U1(Mayl7ud*DZLO_t=j_X4i&LBK{*gP$M5T}JBhF%}0hIKw(;OA-pz5yQM@pO_pq?T;%EEDTSW9+5O(I!) za!5~0f7*gX9tWO0o`ib_>zfAw8WO|_V&ZfX(_6rK`VY>R2H>p|Ix?&H~uqG`~0 zQJ}+Faw1bm>h~np`Vt4)hPu`$wO7z#_(CS<28XK|zde4~eSX+K?tXr_dG~aCe|O2V zfs`_25g}_#WCv!KVjvrvqj^_~Q&atrM!Sd8^1_pTxt%ccqBw^i=$H$| zjYQ4mhOEYo0;r2iwz9MY{WRdTNWi7H;r8ym#QXKp%bjQ=2SVq3 zRt(%)?oQ(hw0bn}Lw$S?g{0mtG^G0A9@fpq?*^?4U(0qacM;s|e!ks*e81cO`sL>1 z?bAOm13UX}K8eKw|32jYl~1S;z-eu>$1WBE^#o;%{psxx)y*dn+gyyF^=utl&9fk6 z!$m6sP=WyiFI^51(;T=afzy+JeQgIktq2%=g)@6kjGqm@!nO3my7NL>P4$#>kd{Y? zhawQWh?+N~#qa8S&XiG2@uQPT>2zb{qRtJUfK86+yTM-A`_;J0o~DObPl}zzR!_dZ zda~~(M&{P;?*8sy`-l7Eue_|7=vzh*`CPnDU>RzFd4^#rkbbYsbI=2lddwbcL*T=s z;VqC9;Cg%lwJ9QM8x#?bXd~GPG~xzrc*=#G)#{u4qFGRvn@|h(9Z<{Rvq5ojHCVPb zL&RsL_*BHEB=Fmal==%mwV>LlF?@%`c{PTKG_IL(j2*QBEu{#&$ky}&{a7qPeb22v zT||(Z#5DutWf}oH=bhrMY4@#tdlJtqHriGw`1#L2c9(ANhCRm%9vJXYME*q!JaxnGQw9cuRC3IdW76@WhVr6YvOs`6mODES`?6V-7z|buVUPl&)DhN(A5coD`Uq1$6RPcXkWe|t8kfKH>3agzoviXz+BPMoG zGJV&-1*OKqR?fKqtSGry@W^C!4dZ%Yz*kRq5c3V_-sZ`}zZBAgrT_l?ms&H>&Rt(1Yh zJH!vrVh28Hq%&HtiSLRCdVBV(QO!^#is)XGWUH&j6n zhwvEHw@3tDNE}Q;;#99euRA}sisOw}9ADv`Hy=OT55M-)?)LHcYoz#(#_?(`d5BJB zkSJ`Rl3~q=WB8$-bipqUm}oiIe=z>~>zAAN4>wN-OUyy@_3`%oe)rgae-NdA9ZF}O zUpeld_cDrHT^#aeF{$4mVo?b_%*~srTMqv9$6a-_Z|}Yew%k)jQM80V;j#0R+ufz% zZmxhJWi?->K1_$zAU(;O=XjgW_thW#I^s{iJnVPiuzjhKd z9D^fqf)IJ2hg=t&S46aCA{>*vuv)?#0WPX8!pp{NT&UB4YFgYmneHt@8@B)CkV zFgtNj&=QP*5;PXY?PNe7^g_6iSZNtjzYV2MszYCZwvkdTZnug&__s?FLE5I-65$Ob zf>;+&jM7ceeim{Lio!s87P7%zHnRryn6v&_$h0qeiDHDrNkSnmRgFj3%> z0Mmd7YlcA0!Eqt7lm^@_fXVA~z}NhtBWO@;r9rIy$<~kq5?s{h0ExrlEeGC24oFh8 zeGZJmfm;r|?Hmw&q+J-DjkX+k!#N<@FM*3est6mFpoASbjZAslTs}_G)N1}vUB^v3 z4#{BDoFvFm5{-6g?Nn%}2c|CMqX5QB?t<7AC|=zi zQXg^_H1ZMDYtsi$28J~-{lKIkczxqG9hCfA|3&gaNufkhaI^_014Kn)wBh8ONDmtn z$KDY7U3x&^_n^k_hDE4aL}n$o!|w6v;r>qYbnG8%XYmjZT^eoZFU^G5m^9}OFp+w3 zwgiqw7_>fVXJ-0gSL`Ygu&m5}^yT9#R5tiiag|b`M2@AIt$VYxP)~U-2LtSpNCYCRoU^bWpRIu=Z7 zEHSuRE9-zJ>&J{S5vv$EeYa3bYmw45B*J(jhYLmb$l9%r9eoyIy7N7Jq+88@WbB-heX(JgdhDz7>mX6Kjc;SzH<{@u3A{5 z>q;mZu(^>8sdEuYtuKx#*NQn)Hsom0j&}8$^ij=o{DJ;vh?rM*HT;ng((T|wAJ-)H zlD@%57#0#i@lH^qh3GRPjjH6zcLEAeNPyAgM!ThS;-Ph1R0<}@aUg%Lv!NXSL$t?q z4w4K)^E~E0BT76j4_uTHjmlvdY@uFWe$e}6L1+TKSc(s+7H~T5wvRv1ca|>t)sdBk zj-vm6(s&YFUp+*re(?MfJEktH#M)Z*L!S6+g}0Flf0U3xYATYa9L1)h z(Plyyvt}DsXex3xXzgLHH&&(+5}kfT)t`ylQ}IwjPCqb|kbPmkV&oypYHCEHxpJ$k zz(L4WLv3kx72xzVHwwPiRz5Tp8TA>F9KRHI_<T�Mi~3bv-Apk@m~ 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%0AhMaQ@7HsAEgC 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�M2yY_4fLtx{Yfu9FG;@uu-uTzmF=ozLtc-1)Ph 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 diff --git a/helm/papers/use_case/stats/stats_candidates.sh b/helm/papers/use_case/stats/stats_candidates.sh deleted file mode 100755 index 370752991..000000000 --- a/helm/papers/use_case/stats/stats_candidates.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -DEST=stats_candidates -DESTXML=$DEST.xml -echo "" >$DESTXML -for i in `fgrep -v '#' CANDIDATI`; do - SOURCE=`echo $i | tr ":/'" '_' `.gz - ./stats.sh CICXML_NOBLANKS_NODTD/$SOURCE >>$DESTXML -done -echo "" >>$DESTXML -gzip $DESTXML diff --git a/helm/papers/use_case/stats/stats_candidates_c1.sh b/helm/papers/use_case/stats/stats_candidates_c1.sh deleted file mode 100755 index 3dee0a1f4..000000000 --- a/helm/papers/use_case/stats/stats_candidates_c1.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -DEST=stats_candidates_c1 -DESTXML=$DEST.xml -echo "" >$DESTXML -for i in `fgrep -v '#' CANDIDATI`; do - SOURCE=`echo $i | tr ":/'" '_' `.gz - ./stats.sh CONTENTNB/$SOURCE >>$DESTXML -done -echo "" >>$DESTXML -gzip $DESTXML diff --git a/helm/papers/use_case/stats/stats_con.xml.gz b/helm/papers/use_case/stats/stats_con.xml.gz deleted file mode 100644 index 005deaf185a91fd423e72e02409bb822d5ff99d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 872396 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

      YsNuP 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

      tqzFX4W1C8h4Gx&kqRo_ta)p=k_G++1mXLb>m1 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

      w_B!AMtu5%qS` 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 cOW~KAM^Dfk`L)GMA3`($$ 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

      GuIf)oG+$Q@Qdc#owwpf` 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 diff --git a/helm/papers/use_case/stats/stats_ind.xml.gz b/helm/papers/use_case/stats/stats_ind.xml.gz deleted file mode 100644 index a97d809b8d25fa12a2c68d0a3f00abcaad024976..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47705 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�!g1t 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≺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 diff --git a/helm/papers/use_case/stats/stats_proof_tree.xml.gz b/helm/papers/use_case/stats/stats_proof_tree.xml.gz deleted file mode 100644 index aed4d9caf36eff4ff14fb7776455508c2d0b1169..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152407 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 tfA7 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

      _Ph1wagP@9?fWb-PD?W0y&()(WSY_9 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%0AAl~`;aBmB<^#)%E5e`+hKzgs9RFWrEh`dmA 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�OUR{C$o`H62~-EyGtHE@>+fm! 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 z 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 z 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 diff --git a/helm/papers/use_case/stats/stats_var.xml.gz b/helm/papers/use_case/stats/stats_var.xml.gz deleted file mode 100644 index effa3221fa0ce11000927f05e7f8bbf33af52249..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118335 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

      X1d zA@(bWxQ~@gAZow%HAx`ue$-(Ti2HOO$Q~NM1hHffcR%W|*~1-sOQ#O4&+wL{4tGB4 zpsB+(4*0i{^{!zj}VT{+ci9CF$b{ zwy#1miT~p%nZyH3z&{S~7XchLU?eaSz@Y#}JZJ$N3Si{6fdC#bVA&S+JWLNzp@o>f zr*1e3(xDdDl3O&Za?Y(hh=t<{x(^a)79ph+xE2EXHmdGNGpgI zxt;6CTQahTu?Kq??~{Eoors`?^&@tobkAUTMHL68iZO2~_USJcZ|SJs(gx_CNZ1;CbjegmO>7ugQNzkE zv_tKve57D|jPhxZX`ie(7}A?*z2r%BZ)m#rmMeC?m@L_d6Wp^b)63r%m*sT)^6R3U z7Fb~8G_?&?tZKik>Mhc&wqN9vALZg|HU5O% zGNmR4M0EQmy0>&cE*ICua$Ody`qbretE-9aBVvPxWP{s6{AH8n5Frjqh;Qls65o6> zKhLk1#d$fMRR7Ux7!P zg4AbMgP4N7k2`+mJoJ9l}}&2Ts@s;jjtc%&R}T^K+!*BqdJ( zqNZ6^?c5pWBj?WV5PvBj$6Tq*=Roh%H&mKY#>VXc+%ek^GoT-4d{*xq3HNm4Yv;{h zU%t4O#9Lr0{1)({`sgiSakN7xERJ?igg@PUx%*nwbEs(1L?_jSB8kqv=DPQ!_Se_> zCW5M47$&4U?IKE9%UK4R`C-Ra+03t(NXHpDSS4zF2x@$X`!;lbjIjG$H4|a)qp;tH zj!Qdb*+ts>DeZ4==B+en_4}``7pqO9xP;fI1Y08Q6M`+(tEMl-m z>m0KA;5krZ=RySaFj41T}obr#bN#=Ct zqmGg}B}xBHNC!+>GPtB<=a(Pus#a3S2+bPtb<5$ZuxM;D5xR9IFAssQ$6 z6jj(CPrX)zAoh{5Nov^MJ5)7M3738hrqW}dRC=1-r+=7Kdfk17LYJI+Xb~HYTaxQ1 zg!;2IW=RS@jemo%%#*wwI`pXk1W-hZ>8)b>g#f zI~S&FEuO zh_hx#wvNBK&}{^HYbiVY29qzbPx2)L))_v3`2B7^t^Vewvzw+-aeE$DwkqK!cW`~F zAYrt_TnGn37}3^3c=&{+g=OEA4?1PCj}|Lo8)_m%O4xlYVef;*8d3!8z`>&Z2T?4Q z=z&$D_sOC?210h=WW_fQ#5cYw|GHe4eduiv>+1m8z6q7lwvs*%iX}wb*UwgLOIi5yJHoX;}3I8D0fw@vvCx9w#k4PN$!v9?9uV)p5|ZC|WC9_Gb$e!VPKIp$+G zo)3SYToP%9=Y{oN4!u@$l%iuHl^&AePAbw_g6O%h-|OMpEBHsz2ht$ju$QWd3)cKLA4 zbpJ&AA-}8{Phf{xsZ$X{zR{VOKr&)S_RhB0#XAeaJG<>DcvQ!TlPuV9+3u)oIv1u? zM0I~&5#1L|kvqn{6)4116=?rtX;rL0l^%NWDx-$YSwKj-P4 ze*DxYNL%^PZu@h`rcL_W)={NrjCU5-CB|=9gQb z3?pnp@*@1Y6x0pIZxf0ksP$8RO62%hk@K3Z&sB2B4|5J5Wtw8+qeipY^hDKqt}%=F^RZCLxI zn3a=x{_Ce3(k~uZHb6DximTi=R~e&SXC#09ny@|{*61{AMA_%MZUbuZtdklt-=~H; zHu(ib(5KcuKD9Y;58vZh;~fK8N_7lK1l6wy>QS`Gj)A6t%kLOS(u7l7LKj*GQcFDW zspm&wf1q_hD{^=p^Uis37g|FOA?`YG0r^qTA8Z{+4duI`FOJilEqzcYp9_qS(N<1h}?nud;ql9vzrxqw3j~+XGdM^ zCy<0_2V~I>Jx69qu({UAr70tf!ezFLQ*UgM1zl+$Pr4@}o6o9$Tg2YdIvGxjxRH)i z&ZIilgXu<*#}b*gzq_%x>@eAan%VlO<_rjvpY!Y!${Dx4N~b=ZA!(9EU9?u)`dcSM z6#R5ZcZ%8q@_Y==)5X;lmi99IG-oBxQQXDpKK`blHXPsVM|UA`44mgY2IEQHgNy8% z$S9kPu7fhw|2nYAY{pPhlfP>MJk6+lPBXUszvH-DIqGt$ETs~dNM$M>X=PLw!%wkt zhP^(fJ*ws_$PN@_=aa?+3RDLX>mTdoL^4>xHg7JJ}^jeBZ&@4)#V>#zC8#h=A;JjVo@GQ{FL_uY3EtN~%2Pu6)k z|L|B_j6%3^lD8aF@Ow!0$Q zTJH1=%O3Bc-F8+9+VId`J<8V-#Dhe9HoczCcEe%88xr1)W7RC_5VAp$eN}!Ju?-b& zEw=f~$$VPO@)y_ne-+Dx5Dtp)=EtVs`=0_fOt4s1(vWKl@nbxl3=r87KZyaIS5^Q26TU@`Ad~F)1Kag+nfuh6#~v5) zfU?nZ?w5TW_t!tx8ewm;NKt!nH0+8gJyIs?fW8|=S!CIpg{_GI`dYK2sJLw!Hq4vH z9;Y3mp7DQGe#Z}1Cv=q<-V3jyQDkh=iQLD^@%R6OxA9{3QfZZf#p32Mzxg9N@Ue%- za2Kf$Rq8)1&u?FV+bm~RiQY?JK;9Fp~EEVNz;j1I!%yh8~#>6J(_XI)PBiQYq8te(tJ}n`(HxAcZ zgtJlPaURqdbB+_Ehbt4d6vGYNY{V{x5Z6!Hh_l{E@*lDYbx-!f3!3sT^K)#|PeM&U z!Y!P3lt$KcA;@ewR*)R?H8m*4+DD8bP5sQRdt0i_?DB0QQ!*c+3Grq$z4~3{{AO_@ zxy$eXFXoGN_0P>Jzu2~23*|s4e_YId&KFnZWVYJ;ByZO6jbEZGQmLR=_zs2d^t%4~ z-^Fr~Pgh9(Bc&WJH2-0gOFPJa#9YkKkQ{$T4jz&7nUGTl_P1!#vvOWcmMCizXXIcc zmJBgjbUTprv{`54>S1eU!V8>{VKYxaA3O2!u~mD`?vbG9)AhNi@UT^Q!?^m4>x-LN zzSA7q>QmIP$d#|AYn!ktyOlWJLjP{`yk#M+w6YeL;eTuHR zr@}BsEW*D71Ibx4d~6_?AR7;k|ii|b|!e)IKN zalI^7)qm~-_Zrr^iWL`&--NgM6>ACdzo`U*5FIVewK3(Ui9(VM*X6$%E8fT8Nw-xV77=F{Q z?HTfoOOC1XNc;47YpV>SP%r?Slu^+?%iSck_z& z_leAH1R~A;Gmu@7VG@)^YYtG zA;KCE*G5=n31c8^*OTeG32o}a|5xwu$j4p9HzjRIL6L(QCE(9&i}RtAw1!OVsCupzSr=tFK&=h zb0ztd!WYROKKw5wCHiDbiHQDS=>M@;UcFo_m(@e@?E?1gb~zLNob_rI6RqBBxu$%$ zm^}O}ihPj3DZkB;PP<6>Ac2#kub=V-{V-=We6SO4oTInX;a1&rK)#dl4mNY6K;^E& zVorE+)^8)B$odetQx07mkxE{Kz3J$LcmLiOGrmvOT(Sw|5qJ~V-*ytMk-jVSIg z6gTCW(VRu5hsK)n#++{+y@5_2R1XyZ>F|-ri>^*FVP-%aW|FIFPtr-xjmJRszM zT`q2}cYL)IM zAi{lk;>)7G(Di=uBY*K__3o_xs=T_nYM$I4z90XPEbH*ItdAo7Q%DC$x|}zpr9Kug zT&aWw2>0E5I=fjBJDMuI_Gv3sQF>&!e-pUj!bN6zR7NXi3~sjBmGET6tbOVd8rmkV*p&$b zCOM2xlEWP*$?mOH=GAj?uR^rH_c4o`brP6ScZ*(>BNn;87WqD8)a??;VL+~) ziCqp~Vb_?&E}sNuvCAi*vc)b30{P`x{ev2Ry7{syzTFh_X|WntUnw*tLiTh?N~C`& z5e%^w#6crQZc$rHtrc}3T{ALIM{7pP2QAd4$JWp7qlVl2wLXqk`xNfs!Co!qSja?= zN?~`#Giy0JOtR2jX}|!xgA$%Di`5j{>Tl?_YIs^A9a)nwWEgd^%x364bgKf&fPoCa!?a^_P0z9|beP;1A&RUAQ->!*Bc+};&_9L#V20z-D%lC#U`5_hK} z#%LQ#IaMxUYwHA(Wy6-`=Dz@Nx*{KG*3en%XXm^*rk+b9V4D~qO1RP;9Rq> zGeELz*pR{F49e#?gF4I*8I$H>bL0CfL9Vi12jUm2NgzTupNfIIVH$sL$(}6Nw zSd>7yw}CQfm5F%SJa8Qgj+fI>6s1WQ!Bi6Y1XEDX+N1OYvW|UNs|ZM19|blYIy;k) z*YDur<78wKef#(OwAgv`IZR^>oyIck>0=dv1Lw_SKJXN<*v|(1-9J8$|0q`LVtc#x zd;JibSIjiI|3|7&{i{NOe6f*5;Ts0uNsbUUQAXaRg`?$kZ8^Y{G z>uoF>uFl6MXUEsjd1Z~!Eg;n3F`UD8Bdb%_h1+Ff!|(V3Zzix$RCc%o#6`y@{6z={ zPZ;yFTx2Q08g9Q;dX(v;3tu|TbY1IY5{@l^IAvR6-ERNeLbg86w2h9Ad4iOolp}k( zu&kF(;<$rMh)SC{qk~;d{L?m|A=W;Ixa}Goo-UHLR*CV*b0w97lxAJH(k4n`cA^VB z6z!4IG@vVO`rbef^Tm|3OEWUP1W~R81oE`GUxQSj$UD$j1uAlB`t+0UX2e#~VDmheFxVyF)j8h-2}XipmqnzG776aH z1pij9whJ=F{sv`#@4(8=ykI61_rc1(ygQJuWL5i7;K#82SlJ#m3g_#4w!;C z7+WkDYSMwicED_B7i%mSa&*@nT=vaIj7Vs|zh}QOM|t>Fuw%tHx5~k;mGd#TZFld0 z=JwOoWQI6YPFt_5>2Vxoj0_b{IGjYr5&fyMjZ?Kab(Zg9v za>ewp+AO5&VCJ*3vfWGsvQ4Z5{bSer#dbSbCFdAq&ha+<5upu6XzRrq&AR^jX`QCH zDc3(GzZgz_5dn;CbWi9bl|s0Ggg>00e_YIdo-G#ZcW2|5_1F1t z?xMX0utCaBU9<;)w_cUc{JlP8Ahb{S&8)o6>z|{N>nQ6hlG|g+-C>JJt|P-DIFF%6 znX|47(H;K2*yG9V_GkI0@^Zcss~eo`w)kR}ms|)embcHAx54|zVtIvIUP?KO^!8YK zci1A5n;1$pW1HHYN?jK%7|G@k6H|Dhk{>@C3AQnNbuqX1Xgw?7KelL_AIC^zjdqki z7Lo0h$nF!JN_$Nx?KLe?&94_LtdL9f!NHXSJxUeFeL}X5nGxT6g8Jat;ScCL`M6Hd zv5aS{80;gxMr74EGFgFavB^fUOH$Ltnst}P{6%u$uE2!9N)EnFroE1nndFF?IG-=7 zzrjnaSm3i;Jsznyav9!Ti+FQ0ig>A5G z-(rF*8hPLv`7I{4LUveW|CXN@^Hnjv9nh?PdQr~HW~lxHc7`gZs<)D}=vB_*7Vygt z%kwv7F+0zzf5qiQ;D!YEY*GtsCB3)zrp9N;MOP`#4+!t}j@ag`*!b-B3siEYb~|*m zpRt=Iv85)1uwgzu(x#L9a7k(-e)*@p*|_1Fvg0A$9{bqlshp2@W!pumXU#$)m_K5i z6P1ul0@1D7N!-D8bvKIm{&Ra)U>o$Z%X}t+!`{d%?mg(bB1})`nr(cV!NpW6I zkP@JatvY0I{ zZ^RJ`!&-m3xms;d*I(s}@5M6T{9LNQ!Q?M%pud-^^=iENzWV<%tG>u5H%K1S#&MKT zm<^)4vysygV-Q~1?F0dw#6DZgOs2XBtJo?Un%(Djx_39L(wY<7`7xQDueQ4#zlPUQ56@$fpqf=9!ndN z!`^;<5dY;2)8Z=2GIHP_; z54yJFG2)+JFBeE7XRIFB>S2&~pi=ibW~^8u+;ZnE-!0F;#U9%6^QV;t0&V){IbQ?l zX6CC$Z$PC19(V)D+_}5~gLwm9F0QU8)3tkvtZhV=zm7JB;MPxjzK#|W*}q_X9eLeOwha#eZz1M3 zU~`MmH8vp^N@J3{Z4c<6ZA{0C9T7p(jhdYkY3DDtbxE(a0ns6w4bJkb#q#=Vxw;zv z`a-%$0_Y+E!6F+j1?<4V-hPpv7wbt`{if~^@+4Bi2>2#E2QP#yiVrLZ}wuNYG zwh8W3NgpyedK_{@Ya5qQQ7}q;vpD*(z>z%?6>xT`!a9gHTe#b;JzLsd1*+(fQ*w`^ zji_>=9U|=uOtvjKKquOKu-Y73MlQrdC4Py>c;&E>TZ3TY496T*=5f*tf^~7ohs`Eh~ovD&OMko-wlVfG$dNuh+x)(G2B*&^4Q;)H);z>I8^ zaR#8#9h<|yFaWe{9hxk%h*8K6l5DwJ+a8eJexuWr}arZ{KQFUR}@1 zi*nj*hN}MJ)?f2kv09DaVs!>fZ+?RhJY}QEL|sg;*-@-h$1gWPy_z2725_NB=Cw|w z-Mw%m;$oEpQ`;@PVwFS2D^~dwtnyp5KU0x4e^`vuQKZuN>04Osw)2lk89J2eK^a`N z8~be9%?^2N@d4NCdUjK}UP!)L*@(QYiTGai*4@Z<;(Mjm@b|~47@BeOIRggHK{b#0 zXTZ{fZfty*x_I5Ejf8aJU>D&Xpaa^fg`gC|ImU0Ekg5{uNT@%=2>5d za<#Z!#{P0KpDv4ak=M_@6ze~WVxGU;zBQ7S+53<|hV74KEh(Dev;J*ao?jNL{P(~A zHm?5pC=whb)q1<*-Q~fRT&Ft;%AY2TwfQ<{7b#T^X?|$3xsw?-;BkU)MU=2odEZd>h@;L4RE$xw|9STf&0uz zAM|YO^0 zD|O_IfgG)LlBpF=kWrxZRn<^#^1}FLHO&Z9y^&$@92No?CH)YUl!ky zJ#;op{mxoODtr3uPhB^6maX+2wEa~l>?%tH(XXHK=^Ma(KQjG~h>>?O-6{cZW6wsh zY3{l{9eHYuVHegQug;^e1`2%UCGZwVsvle6BgDv?EGE}YX0Vv6Q5AAAJb8R$f{!PU z6xG;TUbjo2w?#Fd=*=XDyn^>gNk_Ts=K2X&)+_a{GuMSfAKTcl7eFiUAYRP(?%Jz{ zx7>}7hBxhf(mmk*cO;5aNknF8P-%B*%(=Rx@EUrY@B?=PnRRu$sQU5TO$@IOj=lB= zLjm29xt~{`zFg-sq(?4}$l*^ch_`VTb+OAojWd4Z47}NnJ=EPke!Xpy^I7_?pmX#` zj^wxCmoWG=PK-|vtW6Tj5PKAS7A2OwQ~KTp=LWcAlUEKtv*vt~IJ$=^yMG{OJFF(5 zW8r(^GTV(eA7}gnYv3*{cDIz$U{^%**rP}0kT>cd$NZnd{N$MbhB$R8?bBga-IylY z?!c4RDVsTX%v`Z`dxy1{_>k%OPsOqcEVN^U0V%&h$a7@5`5Bbb~XxAF9}BA|6%n zaDNKiaN&xx9GbJd3wJU9{+~!&QR;I{I;!slKN+tXvD?X@G!@%VhFeR#Do;np`hNv$ z5Lg@cSUjnKjcuDSrIg8QcOt#LlinAztHo-azy4khR>ag&0%SsY-m>uGL62Qw1HgU^dOP z-24Wd;NZ7wC>XQy;v50{%bu-82LpY*SmlU3Yi-G9ENmp+s3`5CF6d&-uMC2n*6hKG z_WshXzV@jMCWmaq!YKbRInW7&RNwqq1NQ4};Y zb#SeHwV0!rt)ei)dfSccW>@5sW!c0g=8wxj!pt9*0d=B-ZdS?DiKtrlC`1 zZ2w*ZZ1I?loF!d01J6upUCC_57=u@+Utan5iv1R-EJ>k0kSy`oJzBj`@Rq^NFYuLp zYNH;$1IXrCmueHo)H`6|9h17U&f0R`0bCPAX~y>3t<&JZq}I(49&>;yNj10=WBUsp zc~kAuLyk^9@-0C2j8@)S7L%K&E$q;1GfEX_W|p!CnPqzcIx=vO9%=rNg^6rC7~IBi zn_uvW;*ul8aW5w~)2~1CN9WP$9ka0bn^B?@&G7!v3d!*A;2t6Eh9X9CGlDoA#1CZA zRl^Kr4SRHMlqr*RvDzj|lx6QZX&Ya^V6N?YZ&cIDaaBFKx}N>a7dK1UG#f;5>~W}PH(##Njg*Em*cwi} zstS0NFw*PzE|a9PB78O8o`u*>zOp@Wi{#k-lI-nW3(x9uTBUV`>O}gwK?(6(75B zpk_yQ@~-_}-R`;bar+Nh!+DyesQy^KS}zy#%j$Pl|8d29RW9aOQ0Oc@=!ssCw2A3v zHyXPSHi2>g{3JjGR(P7n{4_vvjBU4^_oGP@I3#T{QF?}w(6ztSZA zK(fE*uEoP|MUGVn4Y?;7RvYmsiQMhJo2U7nNmJ2dhMi#l2U~NrH(zc;5T6n8_I=FZ zy&%_!-cWHyd7_xdVUol!N{86{(Me|zzf9EKC?m8#dsr_9;)%v7tvKKarC!QtRVRxj zlu~SWG=%~b%MMyQ-PNWK+6e0Niik&Xf*u9xFc^9nt2hi{I1H#i;4(_=#UB{BKkz#? z4d6Vsgt<|ga;g=m)Ek#5K77d9dsHJqsW(1S@A@wFtDEb5Jt?vAy@zjPz?q#I$n zsD!xqF@Eu7_44KB`@B-=*Tr&OcO1=fRs9c{4luD!$#qreJ(VnC_;UDNg~S>DL5+6n z{YIoCb|@FO7goVQjsRXU=UrC?3qZj@=q5Nxaoyn?Q*_PLnV zOf%gtC8joGn{sWnYac$#|_u=mU9YIA;jG%a*FS{WhvB4 z>LPx!*2W<6&2xUb*0v`KkH_5P$h40#+LEhQG~7O{%qWf$Mo*bSJUBZ_UE*;e&t#C6 zj}x|>YtzyyKNz7qpAbDeOvf;X_!NoVRHEp5J6vzg zM!ItNyI8%HDHrjZ#3S&SgU{+EFau}2X8l|{2Izq;M;40PC?d-)n4m|oi@G>{nX*f* z?M*nF^b9*j?=s`64l@JBa^3!d$$7o8!%NPiC}TM8xSYq4GV+_4|~ zWL|ZAm_cqHb&>KDk@E6taw&YN;{HbxgC{DAtUq9M$an70KWx z9{!D7aL~p0%(=M3tVm{=aiJY3Z9Sf2dv~Y^OxhZI*4B8RD|UHP)0ZhCY$=|zoIUpV zfCAejLrxffw=vkmsC`-(?QyNK9{*d&21<5{MNdue!bKa8D*Mcdm+|PSoBJZ{beILx zVb&)d*3PUQn5~iASIDUlBblzi@nV`eC8vBPuQiCgmXRnZ$SBDC1r38lFNdI)|004L zs^HEMi|aH+7H$X8qf~Jcj>u4+871tDBRG!5r3w}kd`bz>^@amBblSVGWH{p#6f^`} zBBfIUEYon3d$L;0Zr0^uz8Wtz(g;#H zZypWX;=J|Wd4pa9boMf)PqE2c5Yk&vDFf88r#I(_V?R{K{_aVAc60k4NIZY4%HZxL z_$ekq-U968vepSXs*Sw_v5GhwQSp}`R*t_E84UgTK|*(zcn`D``N{U+cKa6gHn=$R z*|QdnoHb9M+;^kMSbl;)XJG5NV{3)xju4OzGCoVzk{)IXVDs?6OJSo_k;&i`dnvM} z?e*#7LP^Tk5w?AuV3Rj8{2i<9w`;p&HS^lBs@h7Y2W39!tw1h%YeR4L5OWcdxj?$v zb(E5gby#9CR$4Pw0N~y1v5EO>8KJgkb_l7#a=-Se_uF2*1F{3)!~zA`0dR`IWe30s zr3D+}Qt#ilx9QBfA=AQ*89n|9xkz7i#Ba!yIIJl(u{r5vVE+4(}m05>e1fo zc6&kHs}&bolzwc>EqfkF<3HRz51?Z%v;(E>Wcvg8f(&;@fRh~oZ6Jf&5pZ67FJ{$m zExwH3y?QZz`86J2$MI`D{!i?}AXP4tFsdhE6pHl%#u}3$6LuE9ikKY3kH#8jxj>L{z(=Mvio%RIvzFe|LQT5i+h;=Q@S^8KXT#t7VmQ^%>}LL?>3UzgNgP~_P`317$a zI*xakR%(=Np>VWRl}^z1813h;N{!!31RIv6ZK%FOsFKqyLiOQ_`cbLAM0Bu~I3E$sUZc zma0yG&XbXxVxU+hsTdg6>m;iG4KXzwCzShyr4(5!y3tvX)W^O;t%&@5BIp?_AJ4e$ zWFOSJTG7M73G4=|=;08tBK@V6I;G+qEQn3hD0_M!Tg5q@~Q8jgH?;pBKxj(RP1y5IzMgB6*OOd@J$1y)tx2AvYTHUfK?5lNIR;x#3yC1+pZ zv_v|JpT2X_j$;0b3Kck$ceLWo+rlTAMK16%_*4dbAmXD|2K1(yj>J+7qC5!}9$1;_7O$8gGAigGnt_9T2JQiPXYO5rMUq${%B`Pn^3pX!2P30EJ|gy*aVV zg)xVj2|$=eNb1-RYNi-90X&)5MLmE&4gk*CDW5qz4T$N%R4=mBNhJxHZ^AOfwu>#8 z+NX~KJ}|={0RWAv@v*4~I$Df~YJRmq*3K(S4%=akPg&(MF;a=RyasYu;xL7t7Tx!Y zWs%<^M)niOCLQpf{QVHG$I*g&ZM1KVIRow zs&W3AH*na}_zYXR!?Z^|iZmk3DyB)xsi!`jdU_P;zY6ISA^j01Z5&x9LbZ3CIITJu zFW?_%w9tHkX6HI$@O*FVbG`T8J(**2{+n<<3C?HYjfLrrz4&wTGrw3auJZpXmW%PL z;-Z|Fn;X00fuA08@x=r6&+>ZfLrc;+-O?4dblhT+l?^GBe72cq=IB zn6PhXf?k>S@ygnFhxT9bW8lVWKq~d=R8Dv~NgQ{|&q}s6u%{jeVJjcl?PGJtmhJBt z>%>s05ty|dMOHfwYqYshr7C4-EkV)dpT`ALUD_wt)vI_5uQX(oXC{?~K2;hXM2yS{ zW@KRyW^6`L2YTCjAco|aueBpkYezm>`*1Vd4@17hM!93M(1az)qSSIGLGeP9Ng~7c z#^AjhZ120vf&B;wwT|YGVO7O6@~B)$Rq@DG#fN=wM7UMzC>t%2)-WS2Z2g^eRJ}t2 zt)T>3(iXdK?1$MF3$w*?Vj102Ae*uJwiydYEWOadr@8-HRDX$^DI+u$rW1ZDtTLjR z;;3uX)n;2_$jN5=*zMP4>vj2XZs*gE%2`TRrz6vn@Z9;3uo9lPh$R2_^V47uX?AL)-2k+8$h>-qvK|RFkp{~mY6x70+4?oi z24k*&FP15Z$R+V2$Age#Y8aI~jxF-rQ~7;WEX(hcb@{!J9Cmm)>=s>g#?i`*<6veS zF}PBq2(d)bf{aB;0y!YaQi%#NYu$n@#}H2d@_Dhu%(C^$YZ;X(hQh`t*MsP|w?|4? zwh#D{F*8h+w~YzfJvC1ijtA%F;D;ge|TV6-&iSBsVoMN4CW zlW6H7Y3V(%%d%KW=^=>H!+ox3(ZTriADzqV9BB3tOVnME;9SGW&)su35Qy-yxwYig2 zF6OIzGC$9Mo2<%depak*X6u#gO%0_?_-Nv?KK0ay<6Bh8Q_`|U^?{7m;kKwg8Z~+} zoLsgjN5daE)YL=amS(O~Q|BL%F;$m%$#|SN%{W$pF4>IP0uGO;^3R875bpY^$B1g$ zKi*Vth@tArQoQI<@#68`S~;I0dpAu)R+;fh^f=<2EZ=p}mr901_Amq@BICGkqDP%m4B_Sq732c@)6Cz#xn*i|Tp zyD32;#=;~)90cM@Lt`pBHDn+RBhE%Di?a^y0J%}*lG=tbAxDre?f94-n9ph+dknV$ zq@SrFdx!MP#d0y5G+nz=PYN&Dv4dBNNkQYqD@o*Zs#KEtSV`L9ik6WQ@;-=^k$PN4 z+QBO|q@cC36p(_(i&l@wsR*eq^tZaO0~akF3Ebhs#k0=F$6c1J^HHah=RMARabi382DuswHR&n=g^2 zrn>JWQ0jZ2gl93mI55(nH*pc7rD1CavL!2E2lD|GBjVg4Oc2c0XfZW zxDpWs4EHS}x{24?4HvuHJtilvmhFAG&os|X!9_$@;06E}NorKF4YlMM%W4?q5{6z@ zh+>XM%11FPXeWbWtLAn}VnbH@WH)RtvKvSThApAE+_#RzJVTDW=36@eP72u&&fbX%z+SG;Z;MjgDuBEsiw$t1~ zEOAlrh|$u%Bj-(|wBOg#ev2<2^^)VC67}{b>OCtiDyEa=q@Mm8-+g&USxj*#dioKp z#U`H)Ygt}*0?Hfnz?}2iAuRhD_CD%>`xzd=TBf^CM|qd?DT3QZ8FhLE5$$voZ4%B; z7VXTX#<1^VLGhJli*^EL!4jV=n5rYq{_v(I`*kF@-FJ+3&nNpI=b2%<{~djJM|S@Y z&umL^d7ty}%8!qLEURaSU8#DEiC&ec15SyuIN(Ecz$dfouXtvZ^uUGp0C~S9fE%YM z4;;Tk+)>Dtq&imYkjp|L7ylHogMimhJx&q#%4EMq6?(;+ROrHch`irp#cEBaN?~p8 zMwx9q_@|Cs*pbt5J+#Gi#Ua|aA>iX_w{`HgVC|#Mlf#{(egy1G1h&y$n%uc&HR@ww zqZj3E5;^u=TR6bB?7$0@Z0jT02fS(f2-fGtY>ilMo!ON1)e<<)jz%_)83`5QlCjl_ zA7~qJqAFnr+b#m5vF0(qB_&GxB;s`z4N0TL)-R1_;*?Y5B&h4ALxxAaEmaL_lkx-b z1dhNH9~+(mUi$Gw{Sq6Ejdel*k3rs*=}naF#D=rIHE?7yVNXng$u#YgO=|~sM>gLd z5y@5=IpB`Q-bv!pE)wMYq*}Z5uu!?|N(l$(28j_*(>dtf&rC*nsO1ujYxk>Bd9KA$4xJxWRg-Pq|Y8Yb<)hJA#2b zkCmMQ9C0TO;-x(f`1P_lSJ<+PEFxQ%GFY>#Dyrg?yA{ISjdUDo{<@2Hn|}j6We4P1 zgN}OhnD4)3$8gji{|ad26>x_1-0@dHMTSvKAzlGz`29>OhH^3~JO8F(w@!Qcbv6Q0 za6Nei-j+xkL`;@eMC}jA&dVT4aOF~zwG5J+4r>`C+0nQIA0$B`%OFW`gCr9GK@O6jyk(Fiyg?GmGm}A*&<06R+Oo%PpL3AKF_{)R0mw2f6w0&^iug*lAGZApM=P%az)IN$=*dN1p5k%rly8j$)n;T|%9sTsI**Ks`AS{2oBlUmdB$!(Q?Ub^k2cTwmOMSmR2ZEIN3x^V zL@||5(Xei>*(Wi_prh=S)$Ey1>!56SS64t0aOEccW-CJIYk&P!k%TxCMz@FXFvY=M8Zr z+a|<=C60LMacW4dp5n71F=sY}THe5q&|JH*b7RC~ev?uHy6Mehz8%+buV%z#K}&E8 zT5#5~wPDXB40vlp^?m)-X0S^}e+bG$4!IG^GW2r_l<}iq8Rd=1xKGcuHRZ8H70Qc=jti?ahD88_BW$VI`;~+-s5h_(FyRV?_ z7;XB#*=cHcJDt~Zx3 z6dV3h*bH>z_>%A7^tbcNe@E?2T7A;{(nYkdKL*)m!b2{dMJIo!XHcNC=|Hed{rMen_#zbq~=_$d{| zNmE)6o6>mfFR-mQ#!+G~>k<069)T(L7<(1RRQxX65_+~RfsGx>*Q+e^O4lZdOS`C| z^L@N_31lPi?1UYB8`rYbGuWqnTS7j1v z&cI`B37fvkKz-jl_K53%7oay9AIsBc{L zcC{u2du3CfURjmc95s{)aPXSbN@FKF>7)lf3`ai&JiddI|5Q}J`&{a?r&OQC znE$shKRM?A66Pnz9Bss)96G7X51=lO5l1^Qgm|FDvF$%XJXGQ`JQ4ix1ctuuyupg_ zX-0M1N$bsUT5l-&*fubsA3FU4tIWlks?Uht4?*waQ*$26v}J0pms4{%d_?k%v*Z;r zp&tN!VrY^)5-vlNoHw8sLzCz$fXRPs$)+562f}#=@V@sh=da~bdT>vwHxEHBo6t@Uxva$swNncLj<)6r@GyZ( zXI}6f8W?$L&N)@|veEhkx-(GrXlst~T9G60hXY^MnV(Eo2KENvjXC7_jl2TEyaKWh zGyFmgX8eh^oQl53ncrljY#ebE0NR(KlGyT7c~HGZ^Ti)@{GE^EpQin_|5RI!ab$O{ z@DG8%?8Dvrl+fz5ICj~Qc#>sWyeUU~z0iFAF!@}JNbf;*EaFG z9q*J;U67AGZV|)Eo_{(XZqx9Q`d*xlN7#QU))TaxN7e47oHzV(-gH$e1isefCS3H` zys9)t2gbe%>eJNn4Sw52+gN#qoYt5P!3!}Pz+blge*R;ru0fw>GDQ@{h5#ISGo^dmavL$F zJlH7&JIb;q_F(${Df9}cjIIA&+h^bA^%Jkee%50PfM$4;%w~M^-{}905&PjfAW=%O z?SBgCf6E`YhBvJ#uT^U*0V+Fvu>e&JpwSq>XXlc{07Hubu)JT~Tow{1Ab2MLQ2@0Q zKt_P#1cc%QU@D-JWU{AUoPbcA0E5_oIPuB?n=En+A3&qsolzEL>=z)0nmbL*HUi+% zoy=$Hj&eN~f9(FLieoAT1gn2n34dxB3zrP4{!^zdTm36=)v{ynT2=`x{fUqC>t3u| z#=Bjqc1Bt_C6%2{R|j$ z*~xKw%;iMdT}>8r?FPG}0V6I4vrdh;tmO#4nF~cPdpS;)y&TOsfgUa#z8uXtUHWn~ z=VbOWps#=&%{lpZK#t~wKd^~90Q7bak2XHp&d|&44CD)duII?8oUXh8LA(HRHfQfs zLYvtpxXT@d7O%jDwo!*q&gPu1!zX8RPE_5?*_;zq_xO^IOdGPk1K-8WD!<&RCzE%h zNM-yauZkf0w;jWer>`71r_ns-7j|7AD!cC|(?dIV*po3-g^ zgx3%F6G|}u%J)I4yY3_piaEbg{ot+#&3a35WO$PgA1a+2-;B5zMUX&6H67L z;lXe-GMQrdSExc}*C{dpDnGXg4}^Qog99g94rg_dSlC+fDmNM)#nyGa zdup^FkyjgHw{=-213wBslLO z{%0|p<*%9%n)7+Fk~sPVRQ5gQ5=@^Sb26e%B*NOU--C^?K#EzpC2{(D7xvMkp> z^U3@?f4`V7){A*LtsaPN4`0s{^u@}bGJVqClP5?;^#`E(Ny{(z1IPatG5x2k{Qn}h z|FrRcDb{$kjT-QhHz1HVfOh|+>oIiuPy2tuKXm?++4Wc41bE%06caEk6Yv$r?~L+j z#z;m{BezeV35`AEKZbU)81`w(3>@>$e8#+$vpvUOf6iM(1JDJ1u>eD{0KewIKiynO z$REDC-{U=%X1kN({dR&7PsyDv(s?(8&bvL(Q>4XGKnDgIJs__tEiN8fXdYUn!7<)i z`G~gg?lOSqWVKo{mbu@*_)gBbUpr1v7gkG>)$b7 zt);deQf(dNEZe9;CoIdTLMKe@qLN05!8A&MXz^84)J|tvMb*nyR3PCCgs_gto9%F& zEE#E&ri`uKcofZ6%}@~K;YPzpyuD6%A2xXo(!CVA0n`0s{Wbr%__J6_k3$f(ZV>WW zF)gq2SLOHdTSS`Uh}`+Pe;MHy)okRnQ;du!YK>DBrR=0v+xBf{i9Cv(pgC?H^QVat zz~y?zq~{&)my4_G#j440Nk|-Kz_g24V&dQt%Yx<|y&6DJyvtS=GzS?K?-^mNV?5SW zaZyzCfK)U(6(Ed*VT{jqC8^K)6|uv8vcp&tfQu-$Vu%N1h|&DCB6YN6F#DUq+{KF~ zsFftB1Hk+C0s(Ad8Zef#R9(v>2Ey&_$od9Iq z*Ghf1{EDx2Twkk27xTAVc?U}E#$^_ zm}Ynnu^ikA9Apr!$du*ixKE!Z%4>1-DyNJ}#XfUiI z*McV}tvG@SN14cA^re|WHH+m4nt>3zZNd7cvCD=i&in_lF)k8##(|7@H%-9<-M z%og6Z)cJP6gDqLHPfM1H(qquQcjrN(qwqxd9%KoTP5?3$C;5$~Nt|?icMHOd1xuL( zO9Km*?w?)4A||rfAQ97`L|DS66EMfp3x5KT-wNdLA){FkCs~j?!h_C&Ah%2faX5(2 z1aaty>kJ6GZdisM1~K$N@xA-C{9S%CFTdRsdG!}@h32s9@Yhi%m|#atWh13y$LPaE zJTX^&PGtCfnAXJ5%AUkz?2bLHOuLJ6n3BIrS@=ldhU>axL%EauVG8gB0#Tu zhprSWLZ*w4B|5Rt1GCUOSkZ~ZSSAwp=nf}uy+cYnA@}7;in`bNt$oH=emXIdpB`L(dIv3EH>A5QmPK%0|bMtQ=ypa-S}miWa&qpVXWZOx%z#zH>9)^s$WpN~Z0|R%< zK2(e+awaoyBfUdeT(MK2Ozsl!QrhB#^-*UN?pH+ZJr(z>zwXx#UNj#jOZ5VBy#86t zW_fdUu{fU>E9v4q4I6zAyWA2vN$ls;~Frcs|E02 z0XN;-vS}i8OT3F&Dj6q%S(-lsE@iYpqi5Wtm1LN;j9tEHF@szyBE^h>iLqq6PQolp zy6ZGBLe`kJ=T)@Ivv(B zP!&u9?2q-=yOHPmXZg-gMSlk((&c_V0WQE_J@HSwF>bJ?N zoc=oFH@W#CT_9mv-}|6tUSjt{hFM&E6yrG}(S~f_!}i^q`dbH@Ti4&%OYa@PI$@h- zuo*=AG=mtxEW0DHmXIlYr7dys2|y<657eBhgvUejw23G=qYg<)l-$oKd7myCEW1pC z>-K{f;9)uTA}u)+qS%Z3ZG z^*|dRoh*8wfRbDx+gq|P7gyJl={kQ|!CfzJwv<1W^UGP0-~Qt5Zy$d|Y;s1|8ZpJ4 zIg>JKP^f>cefVprG{HB{1~ksb$2hyg9prt=OYrA8@*3!f98^}Y8c0UQqzS`6Lnf8& z$hbtY?YD-`GJCuRp#3&J_S+rKM|;X^@IzwlFk*Zzd#v!T+;df6YJ4i+r)nKmWPNKQ7AZFJ?R~uN9J* zQE6f{Wg2t_dx&u@&YIDsf~tiqN^2o!b}yvuE|cbkNKivcGE@AwBz0gsvU%>IN?bb3w?xBlh;_=*dW3LDB1ShQ@rFc+V;dW5 zVhwq!QNngs+(@UQk&PT@ZWQ%L zqEtt0gX1*#lEmzHBuU_EP2%;2nA*ud;0toskMp=W2Ik(x?+rjG{*ao<*wEVKo&zB zxFN28HzLUbc$k1c-CT)-6`F(9K)pbFe?5Xoy)u{mOTi-|xU z5@d;yPJpopa`=$XizQ-|GjduRjg&HNy4Vh^e7tFJzYzZx7U)kaABVdA)*X#8qOXPV zfEjOkWH-}GYbhy(7Z%?GjEBbjgM|_rA3Zd_$5+DRARVrIoF#fX4bE?cbBLT9=URGs z!gajv0T#zAD97s_Uva!nLs3g@;zU4;hkYWPMW9auG*PGUn@f`%Hu2^il`~eW5Y7Q{ z{_B_dIm|hYsa4__XJ*ulY;G~5L|M(gObT+gY|akk?0h%_%fk=HStd?H&51N*(PW5` z#c4xLhR8f|xbwt2fbnZlYk*!C%2`TLK_)a&-cqSJE#BwV zFCa3WW?r+&8)N(A%vWlRVP6o)0O0(@7kJD_dEGJsE-N0NHzMQ0d-%Mi4J>?L{861? zPTcSTyW!Fdb}}BBvDE@Y<_!Ut+GEk2-A3RbNcM zT-F!Ue=n}CCaduT6>BA8Jv6btNB4`+4VdoR3C1@{$Wa^RK)~53OKigM!;qd(H;R-? z`7>4RcFqQD%nzngu<^Hf%w}w&V=3s}Kv}eOkaE0>SX6cJh$(%YiM|dgd*+ktG!bym@gSt{+C1~cMSlBS z{ID?P8lf#N*(uQ`ytC9%1D4{Q4Zu4?po^n+N+K>zp{GQfI<&50Mb)XrNguG2PTU9; z?jdk*mSXG-;z?8%q*`xdmT>GOFi!>ZDPXR`ZER;%lqzy*mBicqkGJpRo(k?0!aWt~ zJ|WzaMmrUojcIYMbV}|L#Uty;Fj(VaZIxlKA=DOJHL2NhZDKI8ZXWY_w>+I=bR^x^ z_GczeCbn&N%!zH=w(VqM+qP}nwryu(y?y_mwcamhRoCjSI$hOW=bXLwb^QkZ8U7Nj z*gVV)AyHtr=%f!z92ZC4BoFeWn)jAyrM`&5u(dYN;r4g0h>JL|aWkFTpEfX2LrKvJF|as7pq>!Ij3NWH1VrTPKe9rS4J!1qG^^J>46{_27B# z?B@rDMw$5`OYd##-Qag)nFVLq3!Q3FY%gXIYyFrY-!yGq5{rB?kv-n+h zE?)aBT=esXv798F=hEc{QvEPtLe`o*uvAc-QM6%Pm14=UtD2yTH1^AW!$sZ(Mbv7<4 z(_T(2mhG7PHxBaNr4s_~f^=6W3O)?%#q(II%fXd>o#Fid?n&A+MH426Z?M4%-9E}J z)a9^8Cb?K{)QJ5cT}4^pmRketK5%Nl1XczTj1JfD{hS*c2?xQ^S{tD@91L7%M6d|r zu_nM|lao#!uH&JPY4!8CUw>-#tAn+y`q1O45+HTLD0@}@$lJ%}q#_l=)l|Mst1&uE zl$U)jzod{s_VJ};XYF6^L*qR>F7V%YAP*S`7psUWLsMwgG8g^b5&p~AHQFMU?42qH z9M|aT0KbKN3|aVU9u=2ZlU(FDYbk-;6-Z+iC|9ay(5@70nn&*- zvpCL4Bdvw}E1qo!wjmeARI+?)*+50nftVO$h-xex>KQgos6BjTUI2Y0c>yz%IJtDn zWkjPMcC^0b_HUzf_pL(fZ)#jfAS1Q#7N@WUQrXZjo(e4wP$POU&bGwpiO@dvhEvEc zLkb9!UggKF#&k%rRs1_J-?J{CA0fi3?pX6V7bO4JD)UJV4eXJhl642}q34=ir8!(} z;zn#TeGteVwO|oL_vDnIF^%~_*UcGD!-b1eas~TClYYElrpji`kF@m_3?7m7Zck(D zNs7L_&`_{>Xjfug1cy9revT2_VSX8yv-sfjFxnLWGOa-v63KXf>>R&)so)2$V4RM= zsT&%qcj!URPg(F6vzyK`C^Sf=NMkwWvdwslz{9h}*OQNh5~!}XW8N8pEEkZtY&DXa z;t2*zv^*bK&qoDcNmLYGwQV(%lJg#zkO6fF@O&>HzwDc(%11r>ok>y1Drqb`DfpqV zksF}c6ny_EDOh>pwEQu{rlF+Q#2FfqU$T|&W)1(%LKbZ14Z^S{Nb#HShp{8y5zcvX*IvE0A{#7`t0eTxFnLK#dRAQNR$LQY+{8|{@;Cy$-b z=jj5RbiYtqmkhw0L?Nn2CyAGxLZuj+0)rv^1TL66TM~VTqLb4qD#_530=C(nt(wh5%*JWOQvo7)T6R_W#;y`&PvZ-;>Q_a@d1Kdthxv%Lbc6|b zW^@{+oYzJiHjQPxj6<)IAWADb&oKVN4x_dIwmNVsE(QC zb{kgFihtTubq2T>BBji7MO4}b?GI6_=!}-to9R@nF)iIVeJtv`yj(0z4Dp#NVo)ws ztPmkMrU3AQ)OMbruH^H|kVX|*`QtF);u6EexOLI61p0DElw3X{1>t0UGMSUaaPx4@ zZ5z6~Tq@=+y)0_hE6|80rpVIGbjU*jBjaYf-ANY9VhoC^>K&*i2_50Y%|hf@PuXlU zuc=K@F$wc8ww2wng+}+7HYJKKMpXtRId^@zr2_1-dBq1vsYl; zAuB6r{+U9>^7IrYFow%>Vh;|pFWEs-cPk{TC{jT9v#+`_Y9U80S?4F149F;lIn%mKsCx6?X7J=I;C0MQ^>3$!hv5I9AnN^~}TG4ukF8xyXBNdU}GEx=$Bpr9TBv2r8!| z^w313wi&lRrR_paoY_2KsTZxb)vWUUx^kSF>KlNYt{6Ye#Y_(D9U2c+mq1Iem9Wp+ z-nD`w@2oo}<7(l7cNp$04@D~@(&(Ww@Erf<^ZNcfYn`sQimPd1RPh~8R~}0C$UX?! ztW!VNO#23Ia-M`_?rMN9VS!kgq$q9UKkQ|}B%vsy$xYX2?)aK&?%1d7c-{<*K$j}o z6&JZrwzSN}wKsnKW!WoJOYm;2h1qIUFP24LZ=X=$;?)A#9+7#m+jxAV-JB#>k=S_W zfV*KYS#2H_iyIPxT_I1z#!N8E%Dfa){DS+g>_WFmxY;-5Pn6!B3pwWab7UN|NY@p} zIUvWSi%)&D$y>tN6rZ|)1tihq4Wb!6W3Jl$o?U-=X@N`cUPEjNYqkU2)#(JZ`q@ewqg$=#QOF9 z6&44(g4tM=Hq%^pY3rC5ILN__K9^I9`b9;uwUH=OrmYJ>qgUTg(2VFI*D`%M{IKlJ zwy1ioR=-@A*l+gLahGNnR__pfhir{Q^C+@DT9k9Ahk=+`kIr9pHf*NezSMF#%H>br zq#U^!XoAXI-~0*)NkD6o6~ggnS141UnoDNh3Kg{xO`2Hm!>U?$;yST+0kJBJd4=Iq zn!ko@&9aT~j@RdO3<>^xKb-NhkE;RN_`MqdQov^Qt=-KJl9Xrp4~minM(R;K&~F)% z1wj1jL_Dc4@pk5>Eg=g+D*b9FYq;M@ z0H%FvW@#LxrZf6j-sCmB4Vm`{7EIorNI(}l1@^~Tt8=X%*UFuYs#hS@B)1s?hnjvF zu#iU!qts#EonZDhQ$49bgqF)zcy_Q{?5Yj*f*b4I>?M`+&3fG(#HZzhV$i{)%4eD{ z2yYg6{kGYFy>}|!oq*+KZTalS#i8$Ro@WgKe|d$rG?+4X9MV1-q;hfEu%X>l(|u|b zfEH;fTj_p&lBg+Q7-sDu4^tgTRw)p6FhOX9H+z4wrTl)79W}74VyZtaiMuMaC`>2~Bz1iZTZ{C?l59x< zwbf)?jf?k(=!{zNa^2+puKfsv!zNEyK5h@0E885U=qI;& zaUxMd@=U7&%{xX#;s7f)_3=*rgDPz*sQ{KWz7Xjz>oM-Nl6x^g;5*}LN5_UD-^Sga z9RK`gcwf6K8sV+nB6Qj_&hzPj#4it(H%rAK=yn0;UZpXKoap!$?KKb*->5qpz%%%y1@-(CuT7n_pH zpu*_AN9ej0AFxxYQ>L)T3=O|Os5>^{uZ*xG&tsQ%r)q(I}=GPa^6i<@Gy(9 zKZ!YAr>i7rnG@a}tYQBWQOQXIi)W`x60OGR5Wvo5ddvJsMnHM_|=2oVqXf%~61MC$T&Jd9en8v*OmAU;4 zJ^yC6j`ebyS{+k;=|9Y@0jt73mip59 z>aO~CXMaZ*eT63*S&UL)H=Zqa+&6otyvjqLgLUAB+b~t*q*QP5R(Yo5uYqwGw`uBx z%#|OGI?q1}T*pph)sb{RWxTcyXx3^78g!pgS^L*w#}K7-OVSLEL~7&gIEz)#|Mx8G~UO_th3{>;^@$pt=l6^jB+d69#F+-avv~H%JNiJ>#-_fMs*r zQ&vHG+Xxew0o|Xw_UZe!AU37D8w0$wX;vI0xYfw3qSTR0$^FyJM02?T;%Se}#>>YM zuEcIx=kZ2sK=OJEwmw8d;aGrFLKCAd^s!8WMi3|aJker_-&@UoY*x5nFx<>?#d=W?q7YPIr81=hM2#OFmYI}m1Run( zIw&XiEWJsJ@MFhBnNn`x^Dy7CLNE~WF!&O@m=B>A0Zw?ZfUOX_ZOBs@z&xr^KF^;_ z&A+UW4t$G34liy=B+f!uVRlo5rAw}mN~`q`dmm`}#tP+s(1L5S^tWa2yHXC#_-yYrn6 z2EBK1XvDZQAeVZ5;sw?;WsP;0Kk-$tVc@hp)B`SUd;KK^C&GUEMufFSl^T?4y`4T5 z!TTsiB+-TN90#5||0XyQtbA#}A2d*D?%$(kHDazHeT`CuUW zXFTQnyjl%vrtg0K{6mrgja~1iNM4LoK=eCX}&myB4kcwkNmFR^Ouw{mBA z#!#WM{s4PX`TYGp;i2bSi9-~Yz93;wjr}UuA%s>vj38Q^L^(G?rkVZ7K-ABCnE>dw>2AvFNYg z=fHvO8pdEtl0)4632m3)pA2fes<0VMqdpDDX$erT!TfB=(a()i@lDs z8i{Lwr!HCuk}=_@fesJ+tN5Qb=c7_>YjSyC8RE?DiWn`2(`|52D82G0W~OM@jEYv( z5A7=N!NP(hxro=nx$~NW$NGE?8v2VN_}2;Jw(4w|!5!#1jKIR7D^Aq;7bMmi+>Cv1 z+@<$lhy~)(#Ntyt^MVo<0fj?baI;(B;))~w+7erdiN>1Vn$5~3)zrJae6QcbtR@!f zkc^Rk5!f~7mi$jGa2Shoi(GB>J@f*gM5)PQhWa8rCn;F#^n+w6bX_cv?`tO!1&y3rE4JRa5mHrjV}*Jn#U0TXf&p_f}pZGDX9JF>BT(Vx*}Zt z8=S zglP%(9MV|Y+(Dm*Z#fiCwy|(1I2DbUk60ipc1us7y{0h3&Ev!&Wl+r%AMk=vF{PSc zK~PY^YNEdEf|N??1qbl5F)Vi6Of*i`D{tvTfy9JOGt4O{6KG3GWIUkB$3ZeeJnE%1 z>|h;wg`R%xZ~p>>H&d6iMp8y zEiuGZIsKfPv|>02`yKv}joQ7~dnzFxHHa*Us1GvqhqbEC05vFduOa^}lwHl3;U~sz zh+-~nZHn1n?t-oll?e93qc|;Ik-X0%kA)u+msDUL6#`=C00rdWAGAdK>ITNfC(%s2 zok>}jzstf&Y*|M;F{7{*&jPsEH*FD@^CuxHC)xgtj(cU^?}9M=s1wrR=iL8cUKluA zxH$g{@t6?mK~*T#StQ$C8B>e{TRnk8#sQ@bP0ihrtcu(|t$1zd$7!PW@S+{Aq9-cA z8dQlFt|8yKyL_|8>z#>lN?-heSG#VUU*pJoba6JRII=$S=wB1(R?sAp7+6ge<8*#Y z;NnKdNZbF_ED+(QiwQ;wX9l95q)a$y^JIl`L(t6h5Jd3hMDrm_Zv)!xMcZ#!#{RFs z=&okuhI|F+#aDyw{^8bst{G+(X1QMH_HgiBD>et~zC{tV-R$2k^BWgQ z$~gdwwT2dRmNRfNr71ck~iQ1 zsH3t=(=5&7Z%89Y9PIQNzcG^wnW*B$dsBX_2vuNPB=Jj>_E2Iq-|MD3Nr{($UHoIY zD>2Wk*BXxpi&0G?01_Ng%#D1)q)hqqz7FItxSWIy1WjGs5d1f~v|2bXUM=tNy%L#Z zX&m;L;v=tYQ(uHtF+wN*?htY`mGnzWghnsH))+E@LIhR>^1R#0@XD#Ntt%sU8gp*HwOTO^l^Dkaer&0;RwvcY`v& z8WPKa4GOSfVxik>sZdF`2a-9}s&t?EBoPlt4%H7 zL(j@+PqEm)w!L0+WP~}^TJt1}nk-T1C5d@t1%>QO8~Z4`TB@?KMlR_J;xcNPQxxa9 zYWkvHAut*hBlOCCK}qm?Pt>kT{bG2Uknpj$x)JB})_{uAtdkbfQB;e>qxsKh9=yph zwA8zAwBbIcZV}M6`1dk>W$nH?PUDy5Q+v0O6tM44_?tyjnfLeXIM4539l zB)y3&0UFJw*}pB#AvkdtiI&L+ux6avgK`KEQz}#F)L}8>%v0o6BL6zrQutZBsH6Z=W$UC+8UF&264);Q9;;)?UK`4VXGB<5j6{lNlHdAW#QvcY%NT7Q# z@NCD`W7n-FTMY=;q5GAR&=40vOYR@l5XT3D|E53K^zgTjQfq!d&4USc&NO7e= zKPi5mc`cOr%7v9zgbdZuSh>+b)LdWb{Uno$M`1l?0CD4-CxdPtKXir_yzuw0bO0M@ zCpu{`8zA~u^nk;M^z+D`_n#@VGa{<7#q|1*I!Rh-rMZNSFLZQ^-EWs$M9Q4GZ1RjWWT zQ@WbD!s_F8472o+as{ei#7(rTfvAYPq+>p%YR%(itkySsEyFpjvd-|R2?i>KH1B5A zs1CLC942Joi@kA;of5jBcwxCJ9O-#la|X`mkJouSS@!7!9y9uK*W<3^P6><3lZPkU z3*=yL^~L2&3{y{yO~;afQ#q#wO=*?^rJPfa@R&2vH8U{ge30Cz(FoQ1+VeVwidP$T zr6ng4ic_*RjV-}eoP(>;>c7*^S105|L$K@n5pq`8M(<@ED`6O-M|t_Qtf{ZsTWQ(G zGb7e)S}oC&*=iSns2*!m4z}2g5wC4B9xaQboS{SAo3A_fO#;<-Z-wP>>JVzO$$y`{f^o6NGUU!t2pi^--hQLo(}c?u<-jVTi( zYy{DljMjBT_EE_jhk@ai>Ann5$~vkVB&BD8p%OyKxg4}7ia{09XU4x%Ytw}~WR`nO zftElgir2R+K3m0#&B8#=Sr0r|VBZbhE21#~hoD9@^ zUiC;2T80gxsK_dLoDAhT%M(K%4ik^`3ViTGxWLq#fTesDr(AYUd^BGT@G~8P8@#F{0Q>H0X>% z9u_Grj0_Fnnd9`PJ zPs>5w8M#4!7*gg)s~R>H%Nvo$G%`B6rKsv=Tx4`8m3|-M(L=`W7zJ5&^Rn5)6N4vK z`bJhK(OgqGnh;15*SdCzm|4SuaHeAYEM{+IO_K~Mi{Tph@x8DwrmZat* z%t!Ksf%NVho|AF(wS@k9OkGJ38~08+t4Cg8kXWMFM0`bDgEfiSK)USL7kvli0_Spp zX2dnZ%xJ7HjQlKy3?dhCfeMV{v`UP(no=6ZULSGhoFD=X$c;_wz$tY0aG{K&Mvm-n z$#p$C_!ubfK9ajlFQi-{V4LRuHaKU{$2Cr3$_eHm~BF10YJh5nd9U)mvXkknbg zhKWrZH!@-k(a70$#IbDlSl*42a7id<$yGJxwBX<^49`A+c1%TfI6^KiJP_NUyDeUC zjV3c$GdF_K(7P}USP+bY&Xw>`IV>fWG054H1%THtk%bt(A3sFA<#?%UeHnZCw<=G^ zH)%*2P-~{0(aocKIscBbsJm#q@~^3qJW~8;J`;}DcPm3=uopLEJJSsqirF59~)n}ev(-eA;< z0q1Wqae`4eVWC?-Aq!N8ZdDg#g}(V(n*dlu`F*@H?oX{8ZMC{fJ*ky>#F|nNsHiB1 z%Vd2JmATi?5Iu*!R}yr%Ro@pMg=x0e{5R^eILHdoUxn1uH?vu~2o?XtK@}aqUgNWn zNc7JVPbEu0t*nbwiOl-EOEvp1+M}H$FDHN%JfsMOKDoO6h7e8vByp;Ae;G!)N)_r{ zbQKyJ>=ffymq(Xd)SD9R%~*)f3?h1v@wH$4LFYjFFfsar-N`r_X>h?_VKdj5B%|HW z+P|Aj?_+_viB{;9494$x9ilXoQ%%-@xi4PQnDV#G6niKW0qU{vbr^k8qmHNYsXw*~ z{i+EXdbQMDY|r`>O>*#q>Wu<^San2vlA*_KdySe23ijBYT}`jh$eXC>#cx6L!9ba& zg(qTaMRR&}onEw<{7!9^bK@^)g*048pjzsV)lUt*8d!m52tU%#&KM)NGgB>>IjLmH zF<#0_%z2)G?20|DTbJX~C?#*b}6%-lxpWguS6ID)vHjXh=VOGCz4Tk)r^^ zZ%0NyPkO^)6HyG^C6eZCn8`-Ml!N&(>Dg|*&1NU|Mf>%z)?W(q;M)#<34Xwqk+~P= zS!W7s7g8*+J6aJo%T)_Dz}o-b4hZwM>7#INwc#93n>MwqbW~tlpEoVB!D1wXx8sl2 z8oy}_R7eibYOoTm+ejTFuSohwV39vRf9MugSmc?UEP|L&b~Y(%ENSruS!SNjkey9t zizepb!G3lId$NSZRdw0`;KE%Sw5wli{a#W^Pg6E9BbvRx7`$TXZppazc1UZl`i}9( z;^MwWs-b(KkOl-Z9BAM2s$gc@>j~P}s_sm)yWxuPEdJ#Uu&W#9;sIRAGgeb@9dWMt z;MbkRD}fpd;`lO@WfiSU)IX-NEyy)~XmvE|9^`6U{AsAA*8g6~>THy*i_^5Z~jB z9NK%rUf2|g(#=Ierm@@D8cfksis}_H8b&zd_;_b zgz6PRyG+AKxz~|mD{YU9y5nCiei|ak-t{@y_kcL|)D)~?9ccd@Hd;Zqs%eOmS0@)d zc2-1cpa7#CXt=a?E8o&|${2rIuUpCv_3_#E75ha~3%ZIQBkn7X{^>Wb+Y@TA25(-8 zS6ufA_O#RR%P?cm=post`7L#=Jwc5*rijVIv-Ys=Ep_A#OvOYiKzYbAsHzTXOa;yS z(I#%0$2rq*1D411n|SCfP;_>=N-fQ}AS&;QD|iQT$L4$;7&VXCEobM!(z+xFFFo9= zFbb+FJkLnw2)?KcN^nf@kp|v5rt+|$zrOYPhoXB~ zBF(M1PI-)b**lWdVF{pykYr4D%X`uOt@7!IWHyx>YSc-ELJb%k63*4TIuB&@ZKpDs zdxigT)wO7^WM!8&cD-JV?6d1Uo_Y+3E7SUnO-946Q`%!1-35f6kn#q_1JelO$t5Nu z^rTIMm1cKTwu$YNY%jOye!{8Th6yfCaY-+hBo^apaUbw75xI9H36WWvnR# zz?Qiduz7Y~dBCO3Vme9U3HK{PoHt&)o2ooV3dokzLS;LNc+LURK@3=UsZIWue;lT- z9rFoqFe>(pPxC>z;Rs;MFCf3njR!2_9HB)7GdGF)z-UeBd$Bs=m|3C;yd0c=mU!J4 zXld;cN#SiEB3`#ZvibE$sXWqu>i)#}wR?W{pQ5ZF^(MLc5WNR4oFoVGbO+QaG`B)F zy#~x?)b3kx7aZ~#NZX*g$bsDHeGPX2Mr7;D6oe0f5R-t7=thYIy7fB+p8<$g$n2i< zpO>SGytM9DLr0>59|}V3W{AVdvEh*LQb9XeNA!PekTeb&3;>#8t}JGA+VtcPOHLp5 zccyh8N;DIk((1lhw!Zg0bs9)ZmXuBq0?#2 zVoS=^#R9-nw!i_Bn_ZRrwCZ6Q$K=b|K=}v#YPOv=8||Lw-#x2P2`bHsj#RnHMnydD z2RZWMdaItv{*n30mAXbyEPsyQm;V_C(I3BFGeI@{f^8sJ-H#19ixsTg(c|JnDH;p& z3s9LNva|}PQFN;} z3@tW(MDmb;Wc!ACPycC@t;So?>k*cirfg%zc^aD<1qL)jduJopZf(7Aj&F|&2#K@Z zEJ`Km1l-jU;7ME@Qg9`{;*pc-^d-Q$TMoUX}QD(RWl2~P4{mR z?c0GCMYs+*7iy68E?x8*OpC-tp^j`NQc|WcgaZ);ko-H&TIMG|FFidSgZVNdi&J($ z=9U;EK&LcjXxfiLOt!%ly0OK>s?;JUU-(^_BR=7;a!v+GLSxMDJa16rh{t8q!(z=b zm1joHDC$##urt#PIccy|AJ(#I3>OSqj`GGcP`z?<3N(|I6qZw2OZ<>^JXz@;t;rtr ziHWyOeVyqCAbYDtY_yP)i-vFkWc)3+iXR>!xtCHd=Z)6_Dn|yK<=kjw-{|@Cu=fBm zq5`+H!W*CE$gU(Y2`%JZ9?msqvkr)m6{?3_yCYRD#Z%4u@g7Mtrc6dA%AoYiFZ4548$gL(?KbU{uW$BXLy*5H>g&Ps;%{i6jbvC3<5x ztO5>ooXenChIIcCS}1{cWC3!K7rk$xn#sr}#SSruDI3Be?7pEk;(a)u$T%CFlG{;g zR7*Xp=Q2pn<}g^i<>`euLE|O3`;Nwwi^F60085q`)hJ^{PEFY;L)?5()GJ1HTw^8G z8=(jEtr?!~HtMaVDXBv|G8s^p(R5!6XIct3(Jx%; zeH+nGT%Ggao!e{N#}Ta{SYGdbcz6BIk1b+luCOIziPf_mbjvd&>K5D<*tgw;E)!w) zc2-xN0hX?6wjXx}F;d**!)EnU6anv%|3;k=1BU4At&H(ScaN@utk)Wzjw7njO*@Yb zru5k`84mIEYs!DH6J`YNO*yo0V-#`5d8JT1J@)?ocTuU|aXT)Oi{9fty)#m^t~2`3 z{R4F$`l*#@(@&T7en@N5)9e_xkS3X%SrQJW0pqGSl9gu4AV;uq<}ohP1b^xZZ*~KO zvc97*sT0#^g(6zjW1{~|q>ob4Qk^|c;Rsc^~!+7r!Lbcd-9=S?4uszI~J}1 zIp14(8W9=S_;8gQPqd^wATa zB@s(K1u&S|Tg^1(GAP}_VicH#@6h%%9)AS}esoY+be&s}7K7ws)Gtbn9+zRmyy;jv zS&9@E^b_xHd`nCiu}4(=qB+w>kt$jnk)?Qxz7_QqNUoY23Ca55j^Z74<{|p-!0ugP zJ43*o)cufKvyM4V`x)9bH+~Aq3be!L^-g${eS)oLB{hHQ@;LpVVZzCZVHRkOdlK(v zhoyB~`FQOn0WaxJAHg$cb)H?EDCpIcx;zNFWEznql}=EAP|!`oWp%Ue)rvGRHH-v{ z@_tx7c#+uw^|=ROdQvwUnlu&-7%Ts8KEuzMvYsFf1`=t7UkNT8z@Y9anqcUa_ILs`>U`XHlP}Ph@>U>;8xv z{(1Gs@KhXwQq~{nvm9C5;}i4F6tOB}yS-|nF%*4*N}UCknb5a2s!HNyd2+a}9?BmB z6t;+~kd%$^M{up2N_$N?@70tx!JE_mguft*J=@f6vks}{^llg0?{IfH;1LVt6dI}H zs&B?GslOK@E7s%>-g|ELk-1jAj%46?b&a_@%L(1_LrCBkT?wDds+^PmK`3j%ygJys zNUx0I8b3~pyg6u!*|RC+H6*`Ngka@ojp6a?Y&2Dfp_`LpR&MXB=deK0RFRWSw80|O zcbV{C!zozf*9OO*neL1>rCyna$I;v*7Xys6jmC4m)MkvEBw|ga845~1q{)s=4`JfW z8((gEpRW^nP~VpA5M7duEm6OS(Ur{qOPAWS5IVgYRUbGlBHlG+J+kGESub0G^%_Bc zA8hKXw-(yrJ{ee{y1@1#Nm4AknpB|00*5-&&Kf-k`p5o368-u)M;2KAC{pB=g+Jik zka5DR@#kE9&LyDGQRrTl|32+|)win5&~61v zt!jt+c~ux0-{sF3@vNatw|GM0{8MXLOwz^p;>sAF4VvnJxt0%rK6(%Ba>_AB%En_h zZA7$pB-1PDJaPWHwTvyzL~2;RnD^+}LdgUJ`bOGl)tWOcpy4Is1Wy#|z=gPPZVz}| zu`ehw-s8iF!w~vcQFi#zwcLHcOYh?DD`RDEs2_@Je5NYN;Ffx z-*v!vW7ujFEo?NI`jZqEci^SstW~eDi$m*=yKHSmUpGO&Z-_b2}+p z1pcOQK#4-pRSgSipz{4~8@o8qum_W18K)$w8DqJ5LZz=m>v+u$fBiUJci{VgS93@c zR~g&|=@DDSK2F;JNg$QG;`IAz>!5eK)(9b0t-t3CWxR5!j)#3(l?(iSPX=oU80DtKrUS9PNk!U~JohN^_g-@slm9mK>{ebd$vwO7{ScJEe)I}YAcLDv|ec_ylpSkYaRcuFsaC2SHe zNh#lUVg(lkxV}K+fx9+O$02)bB$OG_kc|^%F*KtQJ6$}sN_+A+S~5Ce@zuS5(x$RE z^SU1d+R$!8Ii3yvZA^ocBd1SBIs(6-x#>+Jc;>)4!V{ylv8d-%44^iXPqqjx*r_T?%BhYhp6cTl8=xj1ic zpYd+%HzpMfuQg_b!h9Kn)dj z61!>ms_1D(x(@uKlWxP}FyP+3CAyOCUnK+=8*DF@Jc<}>9}IWCJB5|5Sf<5-ig-gu zmbR+i!Xe%m`OxXx)@Co!X@_~_2-?IPDPF}V<+53gC8e@ibopqu&t+E;TcML?+pjVn{4R}UxV`u zt>rWJGAi!H-1`DKJLeXgC?3lkNpNPO<5P3C{O7pBfa=0aQ2hiZwg|pxJmACM?C9~( zqzkAa+Q$lQy%tPTMB^7bZ^;10tEl&;fX@SeNXv+es-z@PWwD>vAhD#v&d-DcQt~`M zUP?&H1XA=l;_RRk!z6)L{=#WWpfPfYUaLp_AY}6w@qXs)WNBg?BXP3I{0h?{vK)VU zQ`vL$Mj!kfc=LQukgrMkPEnZus{V7Td33rHoX7X)TH*>NeZ9l^ansl*Azv069WnTx0E=*==etKWE!ja9&_ui|mC?37gxC_bqj9+8!u8LZ-^<I@G<;(8=xW5huzDGwmV+N)={0-6yQw&p~%gw|SV6d?G zTuI!-@dCf5wrY)F~@4aD=4MtqRYBg4Wx(H)YF3dX2D@qwpuu#DGgb{RVk|zYd=gK3rkQ*g^X7MsKcCX| zP6z^*jg^@+tFv{;Rl$11ZK!Di;hl{bOhY+!JCw=|5O6^VW!mC0#R{f@y6Aw%bhrm8 z*8I+>9@>D`kY4%DPo+c~)@LYo9eUZ^MiJa(QkLE(za^wOt28WXKjJ2n<}wzkKF_bW3(lMC3vN>U6Shcnlt)Qo`I_K zn&i1y=@PK{zk1&kjRvDlI~jZKQJYJ1&!N7?dubMRgI#5WBK;< zVsV#ZU_`|I79=iUReg0+L6B))v(}uj=9GN>!DGaEac)9f3*;miym|vPqyB&GGM|^J zFly4Et50mr1=KdqMN~9#&TCQ0%?eY&_@j$e`)o8%v*Oaz-{$*^0aaW8dprD#E0lYV zuvLuYtUu}dhVY*sEh4@9Co1YbTI8zD673*nJNT~EOg&1?OAtEnbnn)hmPQxyS2S`f#hW=XSSP6*S}1kF{-s?2^&d7m<>Ug zj-xj)bQKHfT1d;BzmK2NI!b?z6O?`Azc73g6=D5>*hGyrEbQNVq~*n=*r<^E5$gl} z2HKWG16ai&&N26gSVft_N;fE4Xa@h-4bpzQG{O`yzL-)QGOR~==WFMhp3A96dU{3N zfGKQ5G2s&?i>R=3IS7qT1R&^#*M-{Q3%f-fD6!@#Ie_0g5nEbyeZG%Tnlz6#SM0;i zL{2CNYBj;HxKzKTwM|F-8S!2G4(-74>*%CfUV3i-;`f6?Iqi5b0KCuGyMG<{%BWNf zIep~6cE7e~RsyYsc-861|EL<0w9$Zo$qId3f`G+{e!%nNaPEIAdQHs06gE~E2*$}U zx>7{|miQr+yrpmwiCUz2>o&4K>8@>novj(m6=YjAWzAzhn z{I%})*Z$?wh3bLozAV_G?3RLXb&;imVu{>UTcw0Hfl#>uHe?)?0)B1U<-C#I15_Y>@z%C-Y-WjqlUhl{l*)P8$Wp2A(wU*Z8OM46|EK3g5UjHA-KHKPAo7UW?;D5QjJ~uS1_;!Bu#Ggar*O71qh|-)z$0GE2Kc6>I9N)%< z6T!ii6%yt^oY~ha!75xv3X!D<1XC5omqNmo{ge6|^zYHvXR)od^Cti`hmE0Figk9lUh8SATQh$hd@bO5ft)KBsUo1v5H+npO1&0PUT>S*Xsq>_AbS15FxJn zokkFwAJO}9{{hBnE?esfk4B+#LM|2#@hqbO{YIBszKdT#_*zGtg2}9Ww2eBC)2O_( zAQ5u0Pe53k)SpwSR70x>c&-W*B4zueUxid0MF@HM&}#FqAjRQSdU>2$BVlafe_K zJ&$^y3-s>Osewl20T_1Dot{WRy>(EjCO@k8xqt5f+O;|GeA#tX>luouiKOJ5>hrvx z0{UJaW6bAfw_X9?9}n#q-yo8t)M0S~gHcDRV6LI9x)Dw}C^m7|w|3t;)yp;M>jMU_ z2CNf*=+OUTJ*xDORIiKgi4ZaL;gVga1iUBO^&oAQ1iceSZU{@n7j?-bzwPk`+LKc~ z^y2=>b_tkk=5)4NS0@islxs|iv8pho*L<7%`n@pydkHUSPKMRtRc#+rgnPLJDniiKR65aBV7yKz*ms(P% zv|RJonPS~pwU%_ImxmMpmi!Qg*u!F=Cdl|HT12(k!g|=lD`JUNUYh{@NX(c5055%U zCMxz)WWYF`d{=KDyQy^<3|Pt20N(Y7Rgm?If)6;BpddYDwp$^`-EU`2cF4$j1AVu}8|{K*a=Cj3M;xAg*8tC1pls1AS9C{L8&w5Q;N$9kIIAS@$_B+8SzbZ-R5l2Sb(TZ@U)`0dGyvyqX z6>w2*nhH&CA;?W-JnMnTlG5GTZPSQlIG|%7cW^HlLbn_dj zfkt0uZD0R-GIFr^MV!Ja+q5ewa)H=ZfA?i;aFRY&i0}027fnBTDc2ljc{t~)H*VZG z9jPXu!Ec7NM}dFRAp15rQSNuWjvldI{gPMq62mGd{S-0nc$~*;dNyUs_1|c~e7H&@ z?O?1isQ5BWY%oougb^iD(+E_F&`fpKE}JV6Y@6Nw2wYFTxSKKWWD)rCjscl&52(mC zHPquDHOYQzChM81^8E)2RhRPqXbAt{+5_l#b#`@PNIq9Kl70Qdr@cSOah_+VW;T6R z6#(SCJvE`fBdGUo(TF4?Bs|v&sTm*o*mq>6pFZE__|o{4+A4h-OHJ3fStw+v_l;O| zKw_BN>qA%%^7`Q;au)KnbLywX7&*2?iL&5L1@26-)&#dIN% zN|9w8{2?ArnsOpdsI-;`{M z-+mp$?=un5LE>*t9Y_V%o+t~@JN6P4eegNZ3^$OUlU(!Y5{B%#5IaYrOcG4kziA2m z^&vRQlVAqOa~TB7U-$w-9|Xsz!Grh$Zf{{P;`D;}`54jjQCU5@uqt5F0E1b8kVWhP zHCW~whT2$i^I85`zOR6*JU@H2Ny^8L+BYpdY26+42H{aW;-&y)Kk!06`!l;1ubpZ6 z9e?RDPA3=|KrdLV?7w~VQa|`6?>Q1H94W;O`Y|rpEfjZ4gxZz%0aD{#ex1Idl$?^Xm~q^+vRL&l-l zht=>GXsRzSK>QY0A0g9I&EHB6zteeT?#U&1B*7Y99+eU0xh$CX+>oxL7+Q~ALb~UB z$99Fky;L#n2%(3Ti5kqUWIhTh()hULM;tP4r3bOAppVoifYx9EB&>GKlM=|!pI|(4 z-f!ANVMM`5-;!q+RL3JEsv1Rf7?lI28r+so={#-8ypMn+ND7nHq1LB}tg74+z92iF z&=_lR6%>nU)2+JeiMsKM^VJF?u61u!`8pZ1M1=c~#}BVIoyqf_sN0hJGpsv~!%9!G z;g!*Pp37hFw25?G<^%2*k;E9U$TnXEx6+zljjveSw2%s)q-tsM)NTTB_n(ZD{BN=^ zX3Q1%fkSuYoFg%PRAsSF)QEya^SnQz71kkyC<;}+#8vv^RQfd?*xLT{jCkdzY{)oE zEtI9QciSO!C|k?HzZ(WxxQ43d?*=X1$bw>xJ(H_oF&u4Kq@FV9becGs) z^85yEaZX3YTS}6({)kuu9-I%`)wk#6s~&j4#a)_z6ueG3G4k;_9p4xyYJyUo+od| zwspS6$beIekGEX7F%!qG36zPE(s4Lu%tZu$WdA#WTx{7373Ct$tk!PDCca%rSPNr z4bv?j_oYS{svA+WwkBwjFzkel54UHMFo)eQofokaJ#bk;UnN)Jyit3-OpZ>|I(RrBb1{k6R zI{mX?<{s%)plcTVGh-SEU0{#OUq9{5xobbWTeVbrZV&g~jzeEw$~^-K;!@0SBqP3N zUw1M0D$d91k;e^{z8bStG&r`UUHQ?~FZr}-PN0802axN~Nw)Hi4oLKW_IEN2n+hS(pB%d_3mJ0@oUi0In>ssU;fQ={^9;+mguN@z<9SkvE;chGiQyVisepb$%^mqjED)*FYVv_`l{4N3*MjixOLm?$xoAlO=f%`pH8BlYz#-+6^zJP zSBG`0vdu@Q4W7FA{>SIewYA0Ga8{Rk(F5SyoENW=nxBGGbYc`+HOJeK&*3{;sV^)1 z)fGq@OG^(QLmxbLVBJSG<{zgsj=Z1$wtdu$f2g(efchHhh)mr@h@SL_p4>&3edT16 z#Ty8@oQHP+{M_oaryQBv(n)AV6U8MCRbk&$Evyk!^zBumH8T_AvJ!h{s2+1VyR(xQ z*0*lnRB3z-0wNQXhlAwAcy~=-tE_wI@9Kd&3Y~QCJ-4Ed84SmdU_qPw%AemoJe`rldeB9p^w@wgA$`K#9Ba<`W z_$!k!-1-6#31D>bUl#U0%|2^=LzmnSjJB98d3w4$*|O!1fPn1uD?_ajqw4!Wc>lT& zKA_>ZlSt{9PcZ2sFX|cQHb=5^O{BMKrTYF+2iEcNeh*1rS~04lkcUB1yep#c@cMre zN{co%wD2nti{BSrFcOw5zsO6?ME+fa`uVNq)(75UhF8%CLWj1uGcm0sSw5Si@-g&YNal17%AroOULg^xZ-m?*kjut-^k*z^Dxs5rjA zerHcIU`;rFK9(yiEzCR`j5kL7Qxnyjp0O)-=?TY81x)c$S-weHw)YIyy?YArDD3Go zK=E|t91JH)k^n=<5=|Ts$5e}`8u|=XY#xB3w*e! zF$I$PD%SX0m3<^l#%P(c{OsHU-!w5-#}1Lh=3)P*p66m zEA0F&YT79M+o`jyK=~T#+K;lF;vM)i*a%uq6jlFD(0n*KK@17;Ey?ko#=|Uf*V8F(*^Bux zhX_Cs<2`F#WMdAgYd+PA9{mXFR(AqGzJl(YT5GY=d)7mhbl^QR1u zqHDlv$CVr>zU%3}vL1NZNmk)ZO9^bPI&pL{r$hvsRtiZ4s)xkKavn)Zq94!0}nG>6^u_FfLN z>&1gAQtzWP@$UW!5SfG33g8&kU-oKEX@S+fy#X>IW51vU$7IH#0&xIGK7a2!`RIPM zZM`}nKU!H#a|&wqh_Q7lAf>*oBc(NV{B3`Wa4{V0oVJE`;vht5L-en1n?-~1+*=3* zot%G;;3B;g;x#y{VbYwjzHk~EPk%V2S9dM+cJ7Sex;<^@Hidk3?lOv%=&VJ``piLX z&&f9qGibqS;!>vjsHNut<89DO%@Z9XQX6Be?nz1fel_Z5sKIJ*bXouX-Q}*Tvq+V1 zHJlT9sQM|cc7EI8QitCY=hQ!wznS9~lMi$U`EXPldw9&xthpa@{B&Wi`m#zLdbwXQ z0y;S^j4TmlF808VjngWP*BM%#qYkCzi5Br}dLt^2(}QI3@)z{J;vD|sH+~!ayu30t z@zqkc-~v=;C=M!IH=PEJ-JAWHmvi=lP>S_-_HwpA1FoEVd}&frli|K?>Vfsws3m*r z8?I%-&5L9_D`W(D&rDp8PG;oa**c1Uytoa*cK?4@7T50fkHCxaCX-WV{jsk=yjW`> zq)tFG`^5|V-2j_*0-Ak4^DVAJaHGq}p)!Mwh+W2@Vgz2%Wr7%Wj$DW5`U?ujL83*o zdr7W)iQb+~c8`G^a!+|@ZEED+-v88q+t-)!ud-l05?m{E*I*iF+7r|@UWtOYSuu8W zxJzUUtZigfLa$2-^p;L6+uvdxnSSE-9e@%{OKeH>My9=FGH5%AT92P`Eq8a5@1yUY zt_?!|RFBn!@pg8vzF$p2gq<_eGTlI!Hdgpf?eUniL3XkyvG)`VZf?X&OsUr1^^gjL zKbPPeg+5UO)#JZOcKK3CMf<(zch!L=g60nkyS$<)P!+7j31u2f6V~2UBd9A9yFYJF z{wNx-ViGt6J)pp4$3~9c-5W(1#FCW*V7I-T$dvugiObF^8$M*?6>zhVy1VQhttNbE zHxXf`W9%lZZYpv#a2C_e7!obWpHXAc^#N>+^k2;@fqnQFdJBA)R+mO{e!)InnUg5= z`ijr#?C58oxq2LxHr^iYyGmm)!f!*27V|x#o$3|wpty{#X9JYy!aj{!@HfjT2}LPrQtp+)%<^@7 zn}_Ha3%jB=p3>3~ef^pCT6p)L8MWr^WO|dD)$#1nd$3<)K!=JJB|;N#Pqm|BZcI}h zD=XovypcxNVwWUWdwrI>`YD6o@dVV`0G@Zi@x!ZK3|c9_uSWI?Kixl~!on9GK7e9T zTL|{gpO!d7IMq3uMp4O_Ar4GYw|Ds|Bo%!rSkE|U6k=orssr@QSIWiXQQ?hnKiGY` z;OV_O5OL@Qk}Df11zz~UIufz!g+82pB(Rv+MYHNgH0u4DREhxdy6`2F z9v}XgNG<(KD^AMQ88m4&oMLveCN{ae0kya>ES??Ug*O7GNNyx<)b1a zkuW7hcF!8v@MTopJ9cP_t!Q@xEvOJK-O?u6xHqs&WoqXXfe91DuE9>U)VfRmtj4}Z zE=~!3u?~$dcaSe1=8hUmCaM22Yjp`H7*=`YEK(v>;=S^Cbcbf?VhDC@7fFC78#|~+ zo?8}V8deYCl!_=y*!VtpL^Lgt665kK>h&)NeMA#{T`2IyPh`sszQ0#dXgL9s~JNr7>>5_AuTI<0}qD$=g&H7Ky! zeML*nD-O%*WD9&A!iy)$TUn^2EU>9wbn~NRu#jS%Sc;8`r4JqR9JtH#bICRldn(`7 z4uPsy2bUk4C9@Y!4hE7n_y44hK0n$i(ayqos}r6Qm-LpdQ{EqA4q5|d!SE#=BAEj}hG(cqi}Y}hF^ zY)gSjDll^4BaypX@0=98saPMW%_RkPMZF41Pe4K9meeSs#U&+lMeU*LTjN&z{iYZZ zKeL}qpjvz_C^iwVQY}LLy#CxRjzcd2cW6(IMj@GFnOr#NshD7`Oc{}|JaU+lZ^9pu zU^A_vnXu7Kceinl?w0XOHH|#BQrfV7J7kRAyq;AOlT{=inqp4HL5bCkGjs0FB)_ab zIf=?E=hZqf1?+Gu3<8f&nL;X|DTx|dA>SH&Br++K_K!q-{kP~iyJe?L`U`$mB8zEk z^doqP)S=V8I$W|B(Nc}j;UQLGyWwc(bGOQs%*gP+c+{a|J7$-j=oKY3E@FBC(s85a1*J`P@NMGwU**cDLA%;25<=p3m87|?ZPrufCAl^8ZaUpq`)R)8(;%`U3 zN-TauX304SA9ZFd*L;>#&VmUgrO$%-yb@`R{dXZcTKXeh;<2~z-^tg+&+>eHEs%02Y(Yg{=t6lSAv?G$mg^4izT6FUGc0T6kip?mC5J5iURxusfB9(xq zSShTZZR_C#rYTO|Rv4PhZT%21Ek`yxHsj6KAqC}30X~&}mPN>i6qTNAv7`@}3FNkE zmXPjqycP~b$T1D(I&n0GZ;et2)2_76176@So%}qcB~~iTpwe9?5IfVXSwD0^rB+fX zWa%*drdzUM$|EXvpe#yIF*t9`H8-}P%ks++_-CuCoy{LWsOVy~gf)JA_-s|_O_8+~ zM6Z8InypV9h_76(1@WpF=)JhN#Bdmm7b>DQ9oDGGV2BNLg)1kmkmIrORe`)>o#W${ zjlomBRQhtO(~(dfYv9!DGSu-oO2r`^qa}?!GRVg-;W`(x7@=hMF1qAGIlh8R`b0UN zINXzdR1epscx+>?R9!&-IM_l>ygA2FI7++@8p?HvfxZk{^2EDsu#qZiE%H0rWmD-2 zltKT++I9pc9moucOaJFbPu(D)%QnE*mYi{>PI#bBeoTr+4F}hTXsw%mGC`FiZ&nK95v}aumzEfNN`B%;vy0oCN%#kGocRaDS0-FGn>Qb>|XibPWXF9I4*&&G| zl-4doBq}LQ2#k)qUQ5(EY|`Ix%C&2~f{G(5OWubCa(;azkGE&E?njFhnpB7x%(;e( zQAxDCL%oeDN8xH;BdCwv{=V0Uz@H0q$1Xj&BMEvfZCMXfZ0kfZoB_xYNNzQ$I^ACy zwZ^Vj5Gwo2;?ZV4{k*z5Bu{H1D5`&}eF%}={uPy@Z7dgg7ue)Aa`;U+{b=8-Q+FXd zlcjIpi&o`S`KPqXBGZg^IbYI(9!}}UFgMJyqbQPY6Mwlo_C#5rG&%lrQM2NL<1nq@ ziQCnJYW7v`H%#VbQpha@JpNb2ZsvYf5OWSk z5|iph+ zy6LiP^i)pN-#j(RQI)pK{rtGUl|IUyYOQx*RmRvaYPFk2plmDjhoL=O7f)kc8A-IT zB*%s!t=q}gHcma>oWtZbAu7%8JEq$4W)^%BuB>P)QsPz}D@$z(=sZ2)mTnN-;KtbS zSW8EeQwgtSv0jEPk43gMQxrdUN`wB8PNmNc$hsL71ZSB#%-VB_Eu^eZ?w5*pDb12@t$P)!+G zEstIQ)`BaX*&lio9KRk&0kdf3d-qvWBIYFl1{9s$c~}zHb17h_e1*Mmh0pHN0S~JO z9Z07SUY$h(xUK;Yg!VLX*=fPR^hRJN>kZf`@17Fz=6l@EfE_SL09eAECN5NuxGPKt zuCNbFf`mC0%wiUDUeyQg>Is@Ak}vk!RR@SP7=5bir_D~!d#rctZ1e( zbE|y{Vv(s1v_lgF)8KS^R}Lu&|4m}J3}_)zWR{xjb#q zxb#wI8W9OzVxIn@W6cuEMG`e?Xf&c%Kp#=*`0q~6$l>!EGor#DI7T>*(2Qz@z z-tU)o*Ed7svHct{-R`H%35zQR(y?yd;q?W@bhSwY@4Bv?WHQP4U3--AyLyE+*Dz>@ zVp$3Zq)N6IZf&=S%$k-_Ws6M`w*rM}w7(*<5d)a?jL5GKq{8c-S0}iKmGpqRJ;;Dz zd7}g+Z($>+|NI_-WoKn6wPs4a(f34zTik6z{;i~)q-0&HSULmMzu*Kj8Y;xx%om6D z*0=gkJ-CRO{Q!a%UIQ#9t|f^kNSIyUcYs&$T)G$uK9pf+r9`=fq|0M_Wvg`BKeGoM zt>k_qez?evs4)w%bQwbHanDp{RUMhKJ`);-r;gTE`1EX(!c2zvgFXqC-y_s(Trk7# z;d6>gbQHr|X20BMq~jfc6Vi{^GM0j3S9pnZ2N2U?U4Tel{2pD%@D~=Y8}ojVSk1Yp zlI2C2gKsWC!ZtC^XdgKu+J(63Q!gTVW z7Pdg6uB0$}1wkm`q7#c%w0@N;_8w3&$2ON(PjDN!U9pL*a)h=38=>34QXz1Mg6VMBqX6jCING1 zpV{cx&wOWqg{U44v`5i#QfVItkjEkJad(foH|IrZkGh=D*Ss@QRjHJ-J&^Lq$5bE= z;>Vk!RMdY@OEnj$2#Vtt{b1AadnYt?u2iHB6UM3Gw3PHmXx;-9%Onw0&6rZta6c7X z0FGpq2*++Y;*a&H8rL(!!3q_X{PAr;>k zz3^FUkktYX3nEnO7a3Jb$z`QDB~risjo*lH;;}6H_lIT*MJW>v zHp~B=iKO|HXe{fYC-nMlcRjJTE|y^ZE!Fe5KoJk$EUuZ7ntnH*!mGQ<_(F}6pdlMi z$H36x_X#N>MVc2?ND3J#u(vn~K;0}Vt42e?nFvQi5NrEzyoZ;fLTWf8aF-P1T>tgM z8;Iiv*poi%1Jx(GDN6kXhBt*X6;*7*4L)+qc&wOvngtdQH_~1bqepr-q^e= zL%&kXzFCn)jrm_sMBVEU1LQG_WH1)TWMq|;{oe&bVj1{8%`qR1PIJgqr+auch9}>@ zVTZLgtNm*az4fBfDfH|;8Y(;1-BE0ju9ceBzIj-5Nzz{M@R-rwNl50sn(1j8Rpxz` zL*R=g%D=|Lb(8YFZ+|d}cd;S|CI+JX*0|-OB8|V08ds6BaNWVoO9w&aViuS$VDTZ$ z^}Y9qSGMLYv&L|e3aE0i_>f23CI_&gUMcpEDLlh$f5u4)6W(wJF&*;w#vg)V){^B2D?oD0Rwq zthkrsYk#v1hR_)9H^`q=v>Z;j4d%eK`{%e#&4_-x32d>AenXCSK)oUbD&nr`IXbrM z%7Ygp;xPM6&OJ^1g3pP1mfzW=>7-w6kBhh2la-Z&Kyr56%d+-G{AG~}b+J0+;o{mo z#OElvhM;^+X~-DhV^*gw!i8m?`dFhNNnTM)`vUBTUI%l)|wh+4JU$l>edv}x$HZyZjqg01aKNbetjLK?e+L^QU z`2zz9{|{W4kJW1+K3KNd1YZ2q(ZZ?f_pdt6VrzJqTsor3dwpMySy1nX%cmTRoD9y` z-W)}48qW45+DAX=6T82>KvPrj+-Fcv?L={nQ`N-+#{F8TkJs?-aPPjHv1N_Dp3b-r z!w;;ANYU=eqt_+QZ|1jbW3Kf)s&AB+#X|=FZP1%=asCwVDN%eRl6Ki>0lsf1Htg6G zew0V<(-)|h6-j+D=3All2(mPH8`C{Wcb~9MU-;i#o>@WOA~vjKHTOSj*7t1Acg#(} zv+x1Sf(yO1PpMSSkvT0b9=FB}xAkt+lXyGgL?sJ1%31hB>MgyI+Xq8`l(rkVjt7%uT5(q$bRa0D%xT|aidG9!W!!~J2FSH_G zrd_phI$Qb$WGfoGNDH5&xN=&wU|7eyREilgs#06cRUgPN%d9h9jQwNcJMTZ#RhRW% zp?b}+LcLI%fl}3W+j@q3DBa?M=N0sft#WHq9BQhGsMzt9-ksid0lA{@-%Q#2IcB#> zJY**r;rDf^+MJ0LffRSh(h8fpXo9 zep2yZv}r%Ee|zHYYU-B9X9#%?)HvbdO#PsVkxbwSOxQL&BhF8)oO_JFuI#n)^UVu?50@7$|;ZrA`c;85u)^ zRc%kR1;C&Qz_;F0`m5O=%lccwh5;s@E7&A<*@EKRQ9-H<~={K*T{_tUp)-cU^iny({{j+2*+IU_NOR>=8$}0ECIPr9iOq%Z2 zC~Bu-G8kORf@xJj|G0}$vJ(*bDN-B?(Z^5!?!8qGC(;Wmr0fYX4o5^+@h$fv2ACEzk@6Sv%#YhhFptrM+0gdDBq!@TV11kr1ejW zYL#SGb`HyOgxgMS&3~1xt9n25dpn)d{D@Io2Tcd@!~<{td1dqr$wF<2J;MYKL?KdP zU5kOr^0c*vakI6h2Ih=_K0ocqO&yT!_5=J+R(S7Z(LdLOv)4dkl&u4<^RE%q&5(R7 zM+pl*q6l>|vw$7QFirR{xLlL8yiZTwp)Dyl+7f5OuIoejQ5?gA_eHC04BqZcbE;C1 z;X?7jeE7O{sD-EZA=dNqj2;Q>?5W0=>={1>JF!HoAKToERV`_tpW>pOy+)kY2XWDH zQVAM(PgWoYmc%K|M*mvv-)E(5tr=I1$Wj;z7S*_OOE)DE>hj6|*5pteIT?-fL9XLB z#={rtjtbQE;m62b5z=GfIoh$eXGM#P;v{^x;YPI(r9jo^ea7A?>OsKP_HZZJ+1msW z|09PJLF>8uQEgax9~p(K17~$15HZ(|zF&3}@CCJ%P%ev%DxNnGLN+^#Co6o+OG;jb zGM7Ivw>QoHck-93La*S_sr*qJg`8r#8E$^d(%9g_{B=?Q+aHDKY9@)j))+N)Wbq3% z_2hwO4+XI1m;e?{@mHF4u6{~5E&IwKQfy=L{CY-EQvPEfD_DiLB5Zshd90yNe|bLwRRA;lupM06DoJ z?%#>0p#xvUYMRf|5NXz^T zt!)U$d~J1ZVuxDDdy&*nT51cH&^zTXk(FFe&xi2pA#7?{0*nHV16{k58gHKI&{tK; zTdo~w_tRqQ!$5?M!345@1H2k?KcYK9?a0FHZ4Z0)1<=xfXX@l z3Hhtz$tD%3wqT$&#e3GQCTq>BCPJd$>e-vtp~bMAtKkRxP$nl^Xzjssh0*k-7hhjT zV`|W)U_O22EMKS;&V}n@tyQJSoUJ=Dwg}^MCRAb5d5lH{r)topA|_bl!K?KqL6Bpw zENTPp+kd2j*Qd^~GXj-d`6obLhZ^0%dcBThz!%j5>SfRqGXG0DPo98gv7h2l8a$rm zpBwp`;Vl-PkJEwK{bl)2X6+YUY&S!+kp{0DWpTLVh3IjOqWqLhM#s^Y=)9coE4*{w zQ>AOw*lAXxmlu!hh%?_ymAAc&(eh<-ixk|J`S#r_%@JDrTbFP z;DEFu^vKsZ zJhmX==jx`-jt(B%x_0XM)>WZg|8LQl?E|nc&`&>*PsDc(j2x|n@YzL!z#N)A?|ZbvNw z726UpK?o?Xo$D>UpdkBj#ORH#8m(Xvx8A+M?v*gq%>cQA*ee0?NQl**+!(V~fmrfd zRa<%I(EL$YFA5>3varEyUPP85@8)&&hGCmYw{)nc!COhG)T06<#fL2Cp78aIP^xXE zYYLK_B~=I;jOB*uffi7-x>#Oh%;6IK*3QrJa1w)TJ2|o>j$bW@{Art6(q9%odo#_i z!`wFsimUu*=dc9LJCcQP*7G@4Jb<{S)d$6c{Lk03v(e=Jk`uk=~zq!&b9-D+WZb>H^&bqd8!&F{JVcAeDhW z*dUEHNUccR@rR(UJ%-Rol@$)zTK8zp6vUj~>jYa;R}uCQD;*v)#xFE;V!hWSAE`mF zj_lY|b3>=I(tb!>xSRwK1iyWt1xF+o5d-CPR}{i+iemrGQa+kDZG2|p7B@0;XGBJ= z>Kq7d!2XN+;5h3Ko#@9@(O%{+4=<-jise#l9I0D~AjED*xB~F-oc%XJu5&pn-Mc-` z<$Js+PT9_BFqUg5bHRDU+iSR`1kuW!w-n1{`)K67(b>(ptqv*5n(SWX$>Xa8YhK@%PF(9#uMPqCQE8wj%;K5VCQ{oqWA(6iM^iZa0?` z!5_ASMd?R0u=wL`%!s)9d15&8Mn zzZgopt+555kAbU1v?9hyOaa=xwj|eFJ=SzjLw1n;lJs0lU)E<=>w(lG!WkAAf+6zW z0E8Yj+NnQ=7DyOn1vV`Vlu9FoP-wHfP2tRw00R{%BMztv=*yPfKGO&yJlr60b*X&% zfHQ1ZD=@*LIMQUPofx4+jKyj3#B+ykx{IA%J$A94%`ps_7vt0B^_TqvEpZkhw3op< z7xXsj%G{t?_LpaV?Mem+l}D~Gd~BJ$&{8zik_9h!QY|7fYx2a|Q{14Px-q4mRg?N~ zVd_wuICvux{wjZ)#$NWjP6$6MbO6?=98?`N&$1X7+y{nBaxCL=ScNxwQJzPwKKK(u zzg%feq(GZYbVMdonQ`FB*kWn8>Mr5i?}GGR1TTUZ*eVzt-%X0y4sTXuxi+Db%^`@Bl>_((Yh=h4A+XUs7!K*$(tH^Zvv$Jzkg%AQpAyU9r#mrxbybVk1K#Lw`gg z4*IJNgJ?naQ=rUB7UD4bUwji|cnhKt7yD>w$P$wT3mB1vRPN)<_8Xp1$qo?psYR-a z5tcZTIEu+Gg01QT;*tGN@LMK=`CWU7^iXHQdMICDKf@%}jsy&DTjGZ7gto_D9NSKy zmgN&Q`IBJd)^63H;xy%2I}uQ+*cu^$sN}WE0v7milBszLWYT?0CJ>(`F~xqW7vYOY z05_0#yWrBufdV8{fgni`)eXffx0Pd>D*o_8*`DUM^4|4v9vT8nFZXwRAltG#u$Pb|s93L)jiL8lkQYt03@=lh zrolRGto#33f!OuG>)hZ+KSMT_-Q|t3%6&@nYg1e@G|b1k+cXFqY?ZjW*8*Al^nJ(G zwarOqEU|nev>{)(LHQ|~!2dhtHGsc#fbtjBlT{j>YBbp#mtQj61usV^ku;w_?L3=x zT*bJM307U{khMhcmM(1$5iVNZvu>(evay%#-sh?**9|CJJ}R@D3s!w)_${7sgDZ^Q zapOH=)PGDH$I|s^Yjz8zYCWigM(yP;r6{Pj z6V~;E{(uynl-18IrebqcTOyNsgOE3@9fs(AUb61m5V8oKS;s%H`pa2nQ#1Vu z2u)3P(doA}>f*cvY6t#_&~^A;9S4h0QmBBgS-tdK!Sh3*S-*lS`#j8v2&mXBESY-< z1G>$RtTUl5AuPDdP;u8AI9=+rA;AU#EI8d#^%J2yc+)0m=RB^h5Kn8=6QRqmq!^dH zW?3NT*6dn}l2VNbcBMt)jGZ8a!ysl&S^2be`LzG15_ZUWQl!1EIdZjCCP8N)K`-LC z4OImJ^{!BaD8^hh?cVbp5;YofpnT+D^}U>qB|PK5B-TiqWU^^dBLALnDOcc#(*1=4 z)lB8D7ef10g802X7>^4l+HK$wT_b=7IUy^CoDogDgqTbsB!DO6zm?ykb@mvGm!ywS zdJh@bb?b5<00^)#q_tP*>+6?^oZ1c4N)^*MQPF6vZH`C5Y)8jr?@5;x?66VU`%_ex zIA*Q2ukOPWrTeEii zucf@Zw7aVX<2j{t#ir(fS$Wfsi2LnqVF%kg^Ib%*(b6y6iwqgNo&iFZa^M^6_-}J4 zyWNvO11UeDVURQ4#k#ewWnE^B&@axUGlEj5I={&%PUIm_1X(KVa#&!f@BVmn{FWiR z>|y_>)$%BX#U1|ZGzfKoD7OC!6w^%2u*56(+rzcL{OIvW-PAitj@>|4-`y*B?|Lbi z&^oRUaeQ-{h*lkl(KnMzYc?p9COqml+{YpWlZ*q_>WXOK(9F8Fi7&y_hik8ROUuBH zvU-CM)*s^euh5cD?p|ffH;^r-ol9sXf_a}sFFz~6F7-N){H-8J=V7qY1SHH^4ES7j zPy#iq^&6qb(T{)XXdoI@{5xi->z(-*I z4*HI0AdfFQ!qRFtv7@?^2R5s?V?)19UY8|LdH=x~gJbpWoSj2m^dh8K9BtSA$He8Q zea1xz!pPB{2)D zZ;UOZNA{s#{>Hh^T1(`+_Rf~%M$KgF`tvi%jU(})RetXT!`X^JS5PTZ*(bf}&+F2| zDQcCm`*Uu)zZ@2lKvI&f1zeq3n-#dfBI6@cIwDEZvXs6WZHQ;JKyR z4#D^FUv=!|Cy9;pmyY+4CmeX6=X1~A2?&&{Px?^Jk6epWUJ!g5+yqcLnL8aYt_72J zw&~w6uiE(~6|b*^p6$_Br&~WTS6d~X1FfC8@nY|$+`wvl!@&4W!TnGbiJdL(N#Poq z;D|qk(Ou|pS@hB)<&Qfmrm0$}|LgExo2+47Ds+E}6DU|88vm<;*f zd<292NGg-`X`vOA9Btd@#ou+BJ)^vlyZ=Sjag*z;2`{k~hynVHSljg0`$#)*yk|I0 zcQ$JcKvh?!dEw+){yH@Xij*n8W2ffeZLqs1@a9?y_yc~yB%v_<?NuvFLfW^I+{YqR^kTio(w|5lge%+2(r$~h2&PPDE&NkM%!+=$ zCc`_yMx$z?r+C%AQ6nbed$h|YS92+Eem|Evml@Q!l>>^E!r;gAu)ysWD%LRC_{>pC z4m7>t4{3jjO8Njmv{Z=fY7%*Gva(ezQ8{_Ls|FZ}4Z$$OdpsbPSzDD%#xNCzjCuM( zC*QoEC`72`78l2Fl0Hl{F^LTon|1GQ5A7DX+ z>C<=g1Q~tv4S(Z??W^LySpjlgtN+ohp^Lo5D0ImRUmBzwEc$}g6zJCn*KP%gtLrbP z4vMP_vZKHAZMU;+@d2BXh8!?KEie*pf($yU2*M32fv|HwV<5Tz&Zt`qQcv-M7L`k$ zU;yDU1j7=*5BjnRNkou)<>LR~1O0cFBm9NxD$nljrr_V!XV*v$^}D|x$IbS)bzM91 zC&n$l#1|M#u^=H}K&yth03F`>%#j~qeWZiGJbrzI?wnW^9!wh)^!#R=tFk4z%D50< z4)cFof?O~~7smtcCaFGu6mfpR9VRH655S|c&%qH6!GuSF;S6Q-R=U{6Deg?wYCyBV zX@sdF!{dmmv%p2ZB z(70q2F@ea!LV;wX{_v-yZL?VMFI~jUpWi`N9-}NlsF#`;qYWC+{eu(S9AhMsCXgSb zvZ#na?W?Sq_Cv5%AJoDds&InafEGT(6c(!#vONn{Cl}Kn^nb^RCB41F-_{td-hHi| zJ=i9Je49j2OTHu#nh^*HK|=&DB}nFXj8eoS_8AcE!OFGiZNzY$W<^UFqti(MMaxL9GSxN{Fwg%-ZvjCK-;s!( zAm%@hEGEDfQ4l9j64>a$O$2`SBzaQ54s&MVR8~?5sjyxJ+pOKSW=nx!@W5>dmS2iO z&{`-+#~LIpT9L2uHVt`WEY_TbZ?96+K zZJvTL_iBm%dV+ax>FsU+#LB_UU6?0pH*YH57>L+ zgX<|W6Fcv)=dm>g`JrhG$KJGr*Nq@bg5(Rp=lA;Ezp~=RR96Gx?P^Fn{>j@loRUL( z6$$%*j6?M*2OuER=gnH+AqpQsA*Iv6|33i1Kt8`9I7zU8&R76JG;zrZu@T$kwh(0i zw#p!Kq75+T!X(ojbKzfR3wNH)CHY40kSOMH;a)JHaaOJ41lZ( zU;y1P0IDdkQbkY{w67>2@VC|k@&&k}s0ofKsroQCf{{5o=YG(RRnRV5cwPJvp=^^vV%0CbBiaf^M6Dn~ ztKu@Lg%-v_*AWsnKc@zDP5x}bc%nU zkeyJp%E&1t#o4h3n`qf9^I#LND2^p;!bh7}#H=bJwpP}&}G#BWZZ zedUo|lr4z?*}IAYzVHKD5-n&+9JCUP5JV8Th(xAh4d%076Q_n|YOo1DaaS2_LiuvO z_9-?&^)BPsR)b?anpsjY05O$yypL7HvrphbRL?I^H6jIU@TsTKC zg~pr0AX^*5XpwEd0_CV{!)C$+z&Yx?349X*R5dpt#r(H{zeKjq$ ztmEcPxH(5qgU|s#A*iuTXd>stVhhB4L8hs#Z;%*mA?&FzNuPgjMsKxMm@h&-EhKGh zA!(NuQfz1;9etVo4*x&o)(U<{PSBa0;1T%$0{GnppGpNo7db4Xf{jfD9|3Pm0)^yX zsjh=^?1@}~YzzLh0J{zUh!8Ofq?ED_;`!zYspHgOaKz!ERt+?R{C2kdc{RxdQoato z`VXj&2x6%NT>$ErO{SGTKyG>HlfXrf1X*5Vv%JqI@4u{H`Em+q&+rlGJq+|F{0YJ1 zP`iYD2;`dsNn_Ff2=DK-_fO#c9rk`|vpfiGOhBkowpNwWWCT|*0vN#uq6CaW9LMo( zrPPQ&(dz~N-N64N{J-1y!~Z*t{|7;Bkz>;De-HR0(C;w%->3pm0etVlxAAVG*Cv>2<4(05jOE;8D$EDij0tn z!+JQPK^vn1p&wI30~_%V(ZIuKKq$z_$VnssVi6Ap)t1(PMLI@k7bbWw*sSqAe;tr* z1g8Bj_WGAFl7NK^3AoB9ZnO~)x-l?J){oG>nbl7oepou0v8F;cE&Qn}z&=a(!(gQ?u~sQ^ZH`6Kb;d zk%2iEls$ngVEy+u@dn8w=<-U8sds5zA&e{&y<% z!-+!QQoqMRzw&|X{~IlV-5=t0OW+CS@E6e=a1t0tZ=k`w0b^P~=?ccFOHrUh9oDjO zzS&%_;V2nOyybUNUwd5JFzE z$t6J*cv~|d3~aMu@}x)|tikf0NG<(@hNvP6m#mIQIc2nytIkZ%jp)F0v#!i;&Ma>)}zLx1S# zgfQA141Xd}KX#~oWSRysP)t%#iu@WXFzte9I>f?Bk_Jr&e=K9&k;tf?L=rpb*kKse z@1}RcK5bLZ=o*br9QdTLATW-=MnL!L*#xP*U1hu+*R2<3(H7V#Lv>|+8x~ypQ%Sp`g6*nC>d?VvR}*B);6XKE7>GC66lQhuV=>2QW4GFN zUL~+53TR7v)t0uMS5cDBnnjao#}t~_WLgw|=jHN#X9A@8u9XZ%10Z*$aZAB7cAOD@ zYHcEdc)D*41|$Ca9|~%HI=0^AMTOw0HP{A`+JWSRTa1-Fv5B`BpKKY_4fh~I8R=OW z`DB|QW|Jb6{CpA><&IUfrlPcpa6}H*SP&Un7#YZ+v`8XbDoKr?RH7qU$3AZRcWtWV zmuAcyrpxln(Q=WGud?!nE8SUe*~mvJ(cDs^_-%QUPqK$lu)g67DaNif7_Ejtgo7yL zbDI$kS{n{5*`do)3>NdZKdRA-`L}~IHMko>sQNe5E-Ek}-0h_}O(fj?8Z)BUd8tc34NR;D6KWz8%guz=hC+$dNs+kh zii44X|c6X ze{j*iHCs^XcA0^f+ITzrHz-)O^g*HxXB~hp$m`xnjgcBxUn@#BPgvD1kk@o6uc7|n zvOhs15RE_=!&wKPOH#^LI*=GpegDnF>iduhQGLK9aapB9vg2v8bI6RSJ|K8?n3X@t zfQXe|DWuCx3s0GcPuZs6q6{ULHcmg)-H8&BFbXbu_^J45b9Hd(*d44k88;>(UE+iJdoYupkTX-r_GO9E4EJh!$6SJ)7(czS0y zfk+D>WNTA_O>*>N6!{1FZGZg_GoaK+LYK?%x;*KQsgpNTC#(IeWv)nuL>Rcty)j9! zX0auraTACi~N)KeWIKMvjGF3Ut(_SK=+=S zXY1HOJ`E2k9@3|q9+kr>D@PdhC+g2StdC0ZLV>M3OvRsDKoI*6N;*i{7qKmg8QENE z66ROcZQsg7Wlq=@X4JD6E`s(-b)kmX491BlrG%Akh&>uV_h?8vx?8Xzc@)Z4M3Ov; zG*ET)Ex@BV^4=Ad>nQ7Kcgie68Os`2?>!N!gx}FJCNrQK0fAL8EF#Px*}T}#pRH^%h&mca zd@C@vxTQ;rTN@gXN4J9fcDDR^HOVB3y$&UP52&Ne>mus^2I?I|oha?n$o9CCIbNJd z#+_`koy+d;{#U9yR zcd&HT}&A_-jAYFC`bd$|MqtVmZq+g@a(|PRC=;sXT4B)#7Ji5D`?(S-Icdcg7iSF)TGR$U!(R`7K{uk7Hd#L$e z@9m;b$od2QPN4q^=yw=>qT3^a)am>zHaE5@L=!hR9;0vF;1F&b95PJmP!=z$08xwR zDSwNjK4HLWCfQ&!AnE`itjz$JfoEnw2(yVWbcqJB)^%J+aZ3lP0IuO@3$xWJ?`RNa zYp59zYOx}fwi~LH8KiY+HnL?J%-sOKzNfJ@C|!Dkx``UtW&;RG190gM!T=g<0I#QO zrOxGz*tP}H4cZ6I=Zf$V_@H`r7<_O&I}ASA3bLY)R!|#TL65+|(l_4D%sUz|K7c zq!D~I8$lHD53v>CDZ%LohGrvBy@+c7rY;bh9wdwhCxy$w$wm@{=s-aHK_-waB1Ty4 zV`jFG#5z|3yRaLci64A(Znf}i*2lHk&K#4r->6YA&E4@Mu=)8>kCCxKho(n2j2>!8NLz zbsVTtQ=5^XN^NbGN*jx{Oto%PqD*aXnL3;PmCtA6)dG8TT}n82U`L(NN!T&|>?G_z z2+foLnkjzOj60bB1m>N?{4>#B*0%7D_Hx@%Ct#1ANGpK7C9qpdcWacVIyuRvU}n0;T>(6tdxOV1|g`RfnHY+kse^Nn18s31=*y(hwD*)@!l^!XW{ z?nRP+#?;ipO^zvp*TgfX74)fHcM-Xu59JHn6VgQd$yN8*mg-Xqh$#bndglqN?k|CS zL?AEABh>JG?>#>zQvN8gvCz$)U*v0{tVaU3T%6?R{Kjz|d)BX%$pXqx`Qy44r*?7ZVy4 z)^~A!Cn0y+P1r%w=p^hQX><~HkTmXpNJj?t5+scdV*ZU<;IXOHVnf3Ud87Mw(k@wV zeb$LdZ7+z0u47)yFWH3wdw$Q>*su{U4V!B3r-|5;I`zQbd+ez>y%zj89@w`FdumD# z>^;POBLxFR@-CL~RqWBZ>n`?a-*p#zQjR=!xkLmx@+R|ftJquB$dyf50czy!RU^;8 z560!!^E)9xWPY7`0ZjNK`|CFTL>7<+F7i6tWvb4%_?t+~G=Wc~|49S^F0aNrChTo< zo>;l?^C7Oa_Z&6x1sF}fXLrUhycgO+8rZ2cfHVShgJ1+?Lg;p_9tmM%6GGAgh?21I zXJmywWrd^xl&N7rj)VEy&8jDOae!Xja#8Cru5QL`YcT3;3KyNt>K1VGt$`{O61UT( zC={ArC|qqn$QJqLchP@??65Q0p#lCYGyI{`L9uA#xle_k6z<}$ahklJJt#76@w+VX zS5u6pf{!Udr+pudflk9uGDT9`8VHyoZDfiV;Qv3O9}v1+@j*YJvHbu8^wuGf^@4kqq+Q#ec1m1>|KQ2ewf9jy<5*B zSlCniSKh49%NJ=kMtkWJ?sXGi`pfC}d_J077v=o@m-+3^$Jt4LM5wpMR^@KweeKKp zo?;DUlsKWnL=?NU|6;}nND%Y?s3-UYfT{xXCP=WKi5hP=nRZ3nV-|#76wIRAWNF>`fOoRf#o+2q@exY0vjJVYa1~FICDsl-Ku#Gm`M)4yD#F$Z8#b?QTq4l&R zJlQ}{EqX+(92AFaVtwxS`I{&X?Fmyg$|oHdQwiykN>rmu)2)D#riB%B$qJ~-LM2Xj zq@@aLNE5;wb%l6mKL_qEn9d)jJXqq-6pSgn<)H=Yo)-y8~DG4|92aI z_#frAcy*bCA)sijJc9D2*uR_@vcB)dqgR(2Z`2wj@Xse$l*bRB%#po!2u zE3CoRGk`UCXAL|2gjf9$@lJpa+dVq$t977w1v>2BkLf(`acdT!!@?{KW&t|vUS`sH zI_%agNII-F+XUs&N6KT>HfTC5|0RKKwAnV+g(;P9#-XiE5fkR15*^7JMph1)g=t>J zw*;f~l5&w=GVN$KwJ2R%0+nLMq3zLtCHQ9vL{_Pka2aEVLM9ALpqo`%CLw>0ZE8-G z!)<28VQgeemqxZ~;`;uMIS{ieXteAA?~6vu4(voL60rLXJH+=o2|JYcIte>?8Bms~b{3`odp0{aeN4=v@rAJUZ)ZuEoTmPal(Qz5Cl`B4q;$^QY+ zy9fF=0&}ZS6_!Y>kT*S-CmwYXhKa*{^dJ@-c8j%ei|%Nz*}y$~z&d`x|Ka z_rZ8ISbvFYSY1o&X)8c+2P?S3foxboVFlFC*6C0(=64OA-_bTeHTi|&3!LLtI+(M%jvuJ;Nit=qdidi)oJXaXpaNxjW>sRz9|0Q z%Vj>ymeWj>-><(Ipls|=!9ZI9l`P8GmMli*O)j*Lo5}&A4S?ty2w*iCpAx#Xn^70EuP&$< z1W8a4E`?$d7XpSdg~cHF9M-Bkx;74!(H@kGxM&l3th7B4Bgqs`M5mqzV%#8N#oujJ zJ;B>&rnlX^(5s)w`U6e7JZg(uvAW)C|Gdb`%#Tt za4vqk9L$UVpQFJfyO^#f!+f}vM7o?^klN`e2|O$b4%q_5P7eYX8H`kG%_tN|LIIzA zXqphPiD$+&cb6^qM$*m>nF7%%h!R_|NJ^=yb*lMPOCY6G*>8l&5ZEt-Fy;xuB~K7d zLyMV4JPah>HUMnUjY zVH9093WBVvg7lXPu?ixS;5Va;%?EaOy1Id|Rnl_FBuq+LO*RE6r0o5WuJ)l`!3(NlkC`OIsX%Nbnev$mv2brq=C^ z2sT!W3~U)AF^Z~TTAsB}PJKwx+X473iXEii!1(poml z6KsMy{3L`61yZVzBcwy?De*VyOa{STo~cuIucbkPqP)Q%I%*K47Nc@vHbJX(H>qqQ zo#hEOL9yLn6Wz55N|{kx#n|w0c>8crOcxkLM-3t+=&&lWofM@ELWwZu7z9O%b?i?W zPe}5$TkG4_H)*#Xo%}S<$AkM19!z9Ihx>xb_8x#fPqwXwFgF`Q7`ZHHM;q;pXSXT& zgh-QqhvZs;ac#n7Yoa<7YrYu}RLCf{3HqR0-NtUU)eZy}F@dDFSlf%B zx3reta?m0ua*Iw~RH9=UOU7M#QWq4r?D2L0E)v3Y89QY!! z#-X)z8Cr+UJTiK~90+QQRFc0)1JRz!i_yCFvxV4FScJ=n5*E>Zi=Z@|w6*y}J{g?r zv-HH8Kbtb^inBMZs>eaLPlk&*giTB-A1q+B$nI{^0nY0S+#-_w>!Cd9|Dcv`t?vSPnvS;{;jJt~ z+7|eUiBzKbgGp#|n0pY-1>gDvxNTV{k!F|xIds59x|g>EVjwA1Q$) z?E7f`p!xG)326Rwtod^}y`7blz*(ly_~}pqxQjcQKHbC}4WDk}eo5r}*88qhzMpEX z85?J$3?l!9H|-y?bAIEpnai$OBQyS8)NP5rvbuat3Yb)S2MNp&)LP5xgl4l@&cWlZpuOM>6TRgtOz5Zk4N0k~9nFo4z>0JTjTTZO7914z;+ zA4G2$?EqhmV2k~DmHjm=e>>^_K~0DP>nb>80oo`FK%2n` zX3%jnKu*}boN&(o2vRrj}QIxz|5*HSc z*26RApRqB%8Pes=Fda>AxkXSj2S({+FmNDA~s=T~Sna^(P zRqxttppRT;e4>%<{Pl^X{Cg(Q%I{D^_W^aZ@wazb ztsfBenq194piaq_0(GBJ|0gl2vr_aisk0&8$VuG;;+83$)B*oyP2uaz%?twg*s*JC z@_4~EfEw>vhX!6ogPJwANu9Fx>#1O`A{FTxf_)eZ&F|QnQagUf)=19~F8qw@rcVR? zpPJQ0iOVVm7L_3d-3CbsJLfv4tl@cT~qJvpg^-}~+N#M)Ki zz&1vnc|2G6s}4ej-;=Ajy&!QI(JEoUzZB_VHgk*_zjn#^1qm<(*5PRi~*f2&gW_-!0h86UAR zH|FrdC5M+yp4&-^ft5)9$PSa*7EEd-#lA`-{#pePZw2DE4cbUK@oGmMdzXq zu*q99%CI(~q|3ro*yPoCWm}k%>wo_aC+tM} z{G}=2|I6_oEEdyC=-PF!OMeGEhH@PRp1529;C%=FGl1_V@H3*Mw_hnHvin}JLG1Zu zy%*xu&6PyBL!aPbL{`x=ayqL-$hcQdPG{M*IsH7#sghbw)$nJxMim6%qJmHrRA?UVw((sOIqlYzx@C3b`kSA_v;bX; z=ch&sNL@U?6&66v@sxB4{;`ZDquL`I`VLp;%|a;bI$s(Ked$u^>&CzQmSLV&%Erx1 zjRsIW+Hr7q80eX^T*0U0nq`pK9L>=93WP4NK-yRxtX&hJhI)=94$ShKKg-{RpVC4M zV%s>Mp6T+$uj>-RswP|;^w~=H)ehYTbLCR`g^gwL?4nNyA<8Ir;pT@b3Tr?=>=hZH zOxZbrsrYxu0qSFNRZr(N(*_7FMA$%wY=DqMRBlSxag<61iJLls5V=$WRp=aFf;x#k zjqm-g+y4Pk3Iwsu1gOcMDAmyGFaf>+7)wER^S|1$-=+dCiD2CD5CB=sj*k1GjM-V> z!R+cN@L+az6nHSZy36b$#gIYo@S5IX*H8qrs{_m~31(MEU7w=%fZ5dnW*4cD4Q7|u z%r3iZE|^{W7T_bZOM= z>XBe}!3MzW>NvAYg4yLAv+K)Z(0@JpJ}Umn`lqk^6H1cJ*66`Fzk%cY64>?sou5#% zdZ5~BRR0939-^89RS!{}%}2L+M#N#QTt;ZPRZLLX>!6#r|16M+c=n4&&->s`rpxTV`Fu*evrhaHyt4#N<;BrmyDkxz z;kvDM-F%phCf})RZK2I?$yq@8R}I*@@WM>IK=uw$or?g5du=a=?tAo%eN3j_qiO6X ztmqnh3G0Ejv8@M%=32o zvgeNt^J_E8Vc@cv7KBN{h}?7<%|+RCIi8(G8#j|(7L$*VMekvJJum)ux|(IhfB5@o zFdi*OIpVgbaoY^`+d1Lap$%>LbqoEPP!1JA#2+LT4>eC>f`mFQ{^E;_m^_=mS5)69 z=?EetPe8o*`Gk858S^y+RWFGG{rt&r@pD8X_@JAdoIM?u#_6zhnGQ>Xroiz*w@i$M zZI7J7JdTv8qvgq0kTT7S`A%Nn`lyNOaeTaqxm1yNIe@Lpzv=+nX<^tT9KaS0sgeFs zRkC?;z(xOT``?(7f7UVbwD#s{JNPbE7sNOta(StvTGW1(o7%6bm%{hs`Xt~Q;K!fm z`Ryp5lWweSAj6HD?#6fU-jLZ>64>U=1YNHN2lnJ8K6a}80P$a=={k6 z22Lp{oQnr}kuNFEyh|m8H@TT_@@R51xEL*Sf_V_9NWlC7`-X0cCBi1Mg(tc-PjpUX z*@EWBupPeqZX1R5+c|arEOr`S#YxJUWJppIO_qPLp*FR)1$&lJT~FIWEoxH8 zJrdOUyHXgBfLo-It>HdvQeMH!gn&dRy8K z=vxH+d0zZyhZuP6L}HHyUR!i;2&L*caSdq#85s;fc7N2d2Ow|P6yRZgHJXgpXGFH7;D=AJ!S#!t>SJ$kss8C`@+V3v@}X~W zNwvlHhI*c@+tk$ato6EuiRXF!JRiF!a_7F;n=()nEwIR{UPETvyc18P7qekD9eCoe z&DW=1Qzf(w@GCG>wG%GvYnS1_8qwY3vm4fcd@!4oHq{n3s{KH&5X|l%7hmK zWgk%f$7-;g=Xi$wjMQ6n@eccpuI(X4q2x`7w!OrFx#ci_$;X4ui1Fbo%og{4h%d86 z6VzV_UcR++4XB&T_&WRa;q2>|fAy#H<<0bZIw>W@eik5%N0)%zmP}2%Wop$);u>i-xuB{jx=qz0ms^5CLqR7LY((fFc2Nqz zYR>&5VnIIaiOn4)Cg`RcNa-;TNFHrz`T*#ZlwfL0(#e}wYJF<-*{u~e-liQ|KIgy) zw{U^GN+NxEAD_*q7sY?)Me%n{7R&kSvP{&|Oj2GhV_P>IPkHm7auV@Vf>sp3#r<^g z6ROSTa_vq?1}&6?+m9yO(MU!IA%8_d?s8cPkhcQz0ks<+YnMw)K)ns9|3q~MFTrlUO5;g$>2lKicv7WLLp}UE!C@7N?S-e-wWSc8kS~bNd)QMh_Z6%EvNu## z_E0r4!XLT7FRB*VH2fujzfh@-Lt)PFiXv`Pem&ds{TQiN<4DuMCu%t*75`p{?x`rP z!}p_Js6)PlWmQRh!?UYsyM?`>rd(b~8(*4MKaRQUq_D)_m zsUB72g^5+Inkw>wB$bSXC924adc|`S@~KqD3+gf3<%Lq-e$nTaiflO9k}x;clJPOrf6P7XZ{{)B*Eqz*Sq0Dp_% zKPT$FIJD(`nAf&>UVBcpb(7GAW|>53$XJ;m`#Wq;H$l$V(5+9s&7`5*6gMXddl6e( zx`4dBkgp&1l-iStY@OVg=;w%(CA>;5NAZWZrY1grN5E-#2qp0X$NfWE=dzy9>$~3OcbvX}>9sr@q-wy%ljPxzjGU&wzMi5EuR1={(QYr8|PT$H9CbXexjU zTVEFL+%k8jg0^rOt^(y|pgbtw>6792!Q?U@B5?a1xQ$>_ZY^CDOyJhdaO+9_*VSm; ze>0jdmf2`BEXOL}w~-v~?WucPK_|MZp>-1mZr)-yr*_=~D@z7l)K+v+i~rDUoNtfG zBf@ti!rM_NLp(CMHih`p>1w|Cf5ZI$olgJkpG_9|?Zr4>?0g09_QkvRpuWHAk%_&p z0e7e1rcSzO!2K+^UtTAA5AH4N;WOsl9q{c9*o8B{nyw~8z}yj-$yO>RB&|)rs~A)4 z#2~Z{JJD5XXjjFGHN`^=thpGlZUxqh{@0s4n@#`9=h-4(?o*WTVte{x+fgSDc!Uvn zX{~+0-%tY*q~)GExdm~GsfMj0FCCoZ8N1wX0Njm$`=M7V_r69j_cEAMa1*szXuaD2 z*KUbxtG%z`+Mc`iKHP9^|6F@-?v-5)E|&{zfp*N_SvEjbY6(*JZUh0UcC%_Z!vLCQ z0Pj{;SGR*n|77)}e>EKssUEAeUg1G-Z(wkL1T7J>0d4!Cy&^=F6BmsJhM+njyQq3v zCLtSElj0`-qJmjZ-v!tsTuOX|>@|?}6xkahg9==(l&d<#u!T!3Hl09Vr%-jCH+^}z z)JM?ff1YH+{E`yHO>GY@b=pp+LHc~5d)+I3Ou#>EXgX~s*f3YmByIIEU0^O}w>UdhMIhWcXn;0lHqJOO-$YN}!gOK&Qn&+vXQ|u5X_E zfbF4?fo&*+kwMc(1`jx27QfIyOD*ESwyCbo>&vo8e|5sSokm_l7g3z>_m|Vulu3&~ zv%OlTq4{>=`g6W-2Z6!8UkLWk`TTaZTr;Qpvz@OI$bAds6w*6iXVXcZjV9l-!RiN5 zJEw7MbAD-deo^FDY0L=plCS~Yi}YGAo@WDzHl0jWiNi^3B4bldIhzcQ81bKC5amtH zEdN0pgb+~>3+vTn;%su*OQVn>XJIjkC}h)Wlel`cc4HE0%4NShLMwi{Aha;pN2vKB zBUZ7|I@X`_jU$em9WqRILdA|a2y7%lX)YT?)JwvUQTSVIBMv0{?E2=6pusly<$sih zM%!3_?qD0*Ad2%sw()H}-~Kik{kh7)J@PVzd<3z*B@kJ4qtOy*dP`sf^#A5RcfNvC zd*{>!l)-oK4dplUyufyH`E%zh_;MFeKJZ3swC&scMt>@Io%3OTy8RtK?VC?m5nlgJ ztlU}8+k@G3XoCLo3jbD+v*mm+SrCCcPHb44+wi&<#Zo9n9&I$v&nJ^L}ZEzdF`c>5N-4Ita%w{+2_LHs^`{HAcuu2#fgB#K?c z$bj|nS;#i5izj=PQ!jR4^X`~ z1N9!#wn%Mjjlh>%5~(lCU)KvH<-Z1+_^XqsEaz$7FM+t|X{i|FD|%%hlu^naUxn4R zug%UcpZ1$XMnUfN#}0eH)t`1G|9(J!Fq_ffr)eD8Pu&W0^E>J#I_97+DDg3s7mIk7fef(e=g#_P#;l=3C;nX_2k#uAMJ|b2o6NggYdJ zJ6bB-@p(QS%JnA4!&mTT-@Ms`GU>}MtOWRS1AO`2I#7Qu*@HV@!kc~bW;4!so4eu9 z2im0}+NHagx2;`j#{6deWi~6m&W5AKAK7>?zs~2D#d@W*NUdx$v+9Dn;K4rOStiYVdB_(&Xh z@bMTv?x&C2-fxXP?v}paU-CuqpSWB;e1TZ*TP%N!@h!3Tnc8?qR1YNxlZ2szMYd7c zC!&nYp6pdWO1I0ikIU2yWV6AK$1aRb51?xliU672mIT@?|j;GnTr@8t&^)M&4 zD{Od}oBA+Uf4BBPQA4%#S$>4F{ZW>9lzn=XukH@{WVh3Ko-J<%>od&+`l%E8VH`=u zWp;AsM@J%LU(=LEKj%vg8$De)z1Ql+(LWhq=f!`nf1WQF>t95XgpW4|RQqRCUS`|a zKuB+3US@##AFJtdRQy*KB+QX5IRnfMe7UVKf1wgIc(Ye9XT`fc`cAylfwDO@brN7r z!g+SRmBj4j%PMm#B*@)Pk|M}I1a*{+gpB84PPI@wp1BT8W%_d93 zAYoV6!g%{3Vmr1-jK?3=AM0%@Wih`bHcEB#$B*Xeqf1F_ zIGp)n_%8G7>3ozg?!Nq)4U6Jw_Z!jwbU{&nvCZ);$37l?>}kNin-Z&9v35Do71iMG zS|%YI_0)j6VmHBzunQO5McjPgi=TBnBm6$L$^etZlOR@tvEV_j_pphh%DCFYW{zqj zb5y%9M~`qRmu~^1A;lZEN}*7^;V`P@!S{hUtX}?3%ah?R{l0%nc|O(yTARw7aeuQK zkF&+<;&QOu*a495D)N6vn%|K$zY6_`SRGN;6KzDAUtZ~Y_IeQV{O2M6c`z?&4Xcag z&smP%x_3c+A784qj@|6GM(%xliTE5_?zh;Qg9!Ka0gg-+T-d}_l`4TSd zJHYv$*{uB9vXmJn(ke$OQZwG77p4h=C2U#B3}VezKZ=Z3t=H@BJkZnFI2T=i%zvJf zdtF2}3IXgYy+d+OcaCI!0L^lI(eK)Dkr6RB8|*vct0jYXI1^opUALRM7k z=@@gaWztCDZ+FDTf+}{Qvb?+ssrjwWuIKq+na|YcqmPPm!Gl$Z=Q>fCf|wJu0*Mb%*Q(vK~f9r zkdL>isdC4FWZ-Q~+CrDCEk0g9<@M<5YV!+Ha^F(&^EH!X``Zqs5LB{`01f8YuR;2V z`od(b_wW-AxAqd=4C*i{)Z^7lfX9lA{Y9K{4Qm@;bha4@8sH)r%Cqc zD>C*=BbRomFe#fg!Ob%Y^;AmR7BA6IiF>IMoQsQ;tB1W<#L7X@&Xl}G4w`mGrpo$b z{);XR3EWG8e?6bBW?5+f@20n8cO|xE=qSaSTy*aPOmY1Ia9aWXFr7?C!!^L)CL@xB zqyrnm+K6z0Oi>^+gcs=hxa>FDq_e_4r)lJ-xKLA$a3Gh$ml$Y8!sY(4jFhMYU-r;C zHo(j8p_s2Txs+L=ISx$RMO|MRfdjYNfstZ){sJS#@)6*-_bK%I$@hG|$SJWxBv~zu z(T@?P(ky9X2qMjDZkqKNVk*(Ha(>~&Epp<~ggR@hY|TrY;W)tbJmS5TO*`vqaJgLc zf6H%g2c-75ww_vnA2-&IO&AkNH8A!FVg|x25oI+geDqJbs2v7$ep4A7i9io~2rE zAE(n~kJ>gUh95W9j~_!UfpG^gCf{RV>4k#$Jr^M~aFiNc|P^7@0 zX056c^q;UN0;SpB9hvAqitXQt(ZLfZ53hm11Rdp-*Ad)898lH_41v2nf!jhK z0LZNc`O_?)50+cu^xI9@ynd!JUiK|tyA6=L05b7Lht@-(6q6(f6OLFL4KlmuSqH|c3FEX~ z7~lOq*!;fkZj(Jvn_f2jxUm?Qe!N>aKYU9#a}?V|2q?kqSjLiZ%7R3i4Rm4vnlD07 zA1&;NA_NwwSCi3_62g}@s;BunQP>M2rRz9V6Gv&;g=Oj}o4i}FQLi3B*$OE~E^7D& zA?4$sjy%lU_>E+{Qy?SR_A1%lZpy8eqwyWl6X&M(euxKiNdw5F5EMpLt&G(Mh_Ca> zc<>i_{nOUVCe)yMbsVJO4=zj~N9?PgM)i8>CSKnpn6ECUx75T!Nn3w}npmhnaALL~ z{MnOo@s4c0J=a$zsR5}=O_)u^B3sK3Y-tRGQQIZ`=K_*aqSYw zQ^Os(<6)kceUc6EbLxzDVr!34^XMc_0!B!uw)i;@#{k`T z&`Ulj+9&>|j1okS+CA7}#E9Gtf~lka7I{tANGJ9;t}^BAY8Nwm(P4CpmI?l124S@DbnS zt1GgFqEc-uuFZE|qh2V}RMb&uX{8f3*d}rOyEDTKu#KmEBbU>@qB=D_D%h5Rv`eyG zpcJn=s?SF|US9`h4x~+J^RK)rBihOZ?W*A%DURPsAKYT#;s3y+0yZ`Hh*4#=J_)Zt zZ6AQd4(Bj10BO!2r$%A`-y85> ztw!Tvws_#6Vm|ipLwu{;9)V5Jj74Bwyf;7Xg@YGyf#KjJ+6h0GuP*Vdapo&T8+&lV zr3Yt9>KcJKS*znLm|F4_F1LBGB|;?74uUb};| zb&WRwm*D~G)^Qn#&~07f1%qKP7i$@V;c+(hgcV+E@{Q4T!$;STATQo+I;2Zsomx{N zT|^?TrS+MFF?*tAUMFA&b!Duml}kw-ACHwtWNMUihgJeA70;!JRUHgeex_y`Y@}?* zHYyoP7bU|ZjxKkQ-aDCzCW_BZlzphlr4gK5YkMqv z=m&Vi($+l#Z@B5aVKP@I8N*gS8W_V3W(*s!p3XAbxg#NMk_=?tR@Cm2Gw&qRb+KvA zG3AF%kGNt(E&?Ow>yP;bTF|JFKAnw6lZ-eJ6UJ5#FOxG9Gp%@g<2v%T;%VSBP9x(b z0k-6HYHXONE**0bA5UM^-`uiFg{x8XBwxpn^8+2SmI2C9c**Xo%G^xt)*6jck{FE)O4Lq^PSr~*cMKcZ7G`sH(f+W zDz-MtsMctd#tE+R?Ivl*+vj}TH_4`VS~)1JckITq!n%sJb@G*p$e}+P_mtKNgOo^5 zzJfFf_(X=lgnY>N^=hYe>+7M*AVen3NZhLU-#+|VMlEtH_`P?2{{+6GiUMoVMtOgb zhMb~}Y8Cx-tODm?jG29RXunxcD#79ut}Ii72RJA|51(WXJs2wCS(-j$d8RzpL$>8t~O<)EM+FB29t4k7E|& zii)VOYf)Z{rIc*twd$V!=D}x!UzO3?cH{$>j{Ncb{>x}`om~wsmy7;y`R(msfm+_P zoPG!4)9LN)s`#0s?|C*aJ}$r(kmB+c?RV4LYz&|75Xz*~v8^fx%q@eNU`Hg84du{? zvMMUDP}VU~W2fMz;i*IURU7~1_^aT^!aR0m6UH=M(dx>evNfK{R)v|OEL!EYfOETW zrVbGZ>yi+)*)7vR)$uS(mrdU)NNb4MoW(kYT8=joDKoFl+-v8{Y?xosZ#2^FR=&|R z(uKPdjgmyW$Tr9@m34p}yIdI&rsg+ag~@n$Lbx2Bs0w2@1#$_c0kTE=E=XO(Y@vO(A0CdUeMjV9 z7Wranz5fLH;)cr?6M$PqY=w(#4n%Bsf7B60Y|RfhrEM7|Hur``QiC;;4Be8F?|bLs zq+D^tKl25-;tJ}=TkxY_aO$jx^%^hEiZuDG2+>JFy4Im|tpptDT36Dw)#UCCFL9^e zaN7-Lyy5M7!#9|Z5A?}_xlfpvU=K%&C9#w(Q)|{nMfD_(YLTZdehhzzZIq`D*vomw zhdgw8$gAQY$A_B;=rXmQ9RS?zfqSi1Tzp5c&SY#Gm4Kbn3U7C#xiUD zvBUAFJ*3)rIC!aZUjr~4iJ>Z zkD=EQFE4L@f8tg>=%uZsml{Dnp+dK9rb+2z6fq!q{_T(gWOmT517maQ-F}QEJh=m& zEJ;^ZwjmZ=xg8*{6S2YeqrqaWNC&_6+OLg}Q%-KpzTxCeMf~$%zAQrb>GXEC`EM++ zW9{99V+->8+rf3d0Knb@{00E~4KOJx$v>+4{7W9*sGJ<{(q;wT#cKXXw#b*+sQe(i zq86<~Y2^o!XE(R5`0S>q3fFf;n5maB_u?O749v5uz-gRO-Sm9H4z~&WS@GE+@I{bX zS>WVZMlI?YQ|mBfgD;E+c0>L)moNtP^~Zcgh3e727exQtWHg;@enn#D-@AP}m@KFB z>{ULWESC9b^7sQ_-aX8bpLY*)B4tmtZO(<1y|F3#VZ^V2c*hXG8cqJ7l67V4j|24s z^_ihOYYghwK)r*g-w>nENZKGLD2Gum4b!`A=w}t>B3@H7ne$I$OXjGQ!{B)P_=mCo z{5!=#jI574(UM7fS|p0mkQ3xhSMAZuccXxuEcDj?} z?Q}mO@c&L2fR>4Evxt<{i((Gz%@XtZGEAn^%97o_s}A(GGE6SYdTEoZ`_I4Ue^Sfe z!ZwGc#E=EU?FEHruRs52oGAuG{HH%LE21YZ)MsT{D{aivU$QbrgK@UVFPEb!#mP~^q4tY=ak>`U zdcGxS{wiW@>ij8oA|R?fiaSb9;*Ev>mujY&X>-;Jc{Zmrp z$417%@V3#zTMOKz-VfkzDco<$INrZ1e_dpw$@+dESUBFHJj%zzy#+=La9XaeNEhDx{n=)P@6A_yLuS02kqsx!k*eCLM>ksFn$@Ms2PAA*1z=HQL z7kfWh=JU<3fY(2G*9Dc_R#X!8l$RiX9nGhs`J%tv{0@{mgEF>Nx_~mZQl4O?yp`Ju zZ{~yblRiHj@-^ZQq^k<_+fW|6Jl8Tk z9v|I+`_)x8n#?omxR6jHv2oI*SrAzi?jA%OVj6uGGLgc8np72bSRqWgN3S!1!mweX4#6f3BN`naq_CQ}5 zZ9uu$KzQ^B@KC~|gXep+H)8$7jvdz8yoa7D;G`B7>|>&U)1eOQDBwaDEm>hAS+hkX zs|2t+Q5lyK?s%h{x9fua&((A}D*g+vc{}LQ_~qmVh~E+PTkEwZTu5yb!jtLzb}%Lu zlT%x5hP{{u@5OAO{!c!i}tz<;L@wrL9h;r1X*?X_u_d*xviO2%tUpHAfB zn;P(CbE0ePpjG=hFNtto{EHhb^Wk<01u;{!gOQ51*BnyHbx%LP=bj%i2~uEm>}pjWl7H%&4=?A2|lE$*QU@G3NL z9bQTVibj4wUcXL4TXR&Jg_cF}p2rcRJ1R+`vp(?4sJJI!FV?u!|H4Yd^}zE4H`1!<|k!qP1Vq`Z2;ZpEv@axShe;2r_ZACW>q% zQlQ)>lqtrbu-+r27=tnmR2_58^6oTS^Qj7v+svaX8FAMPb7_SgZ|Un{u(i#=svlte z%fpxYX{eL0cO2mLZf9J78t~L)JB@4u5Mibo#ywT?!=FFe?uk$(Z1Ah2={4$XWuF@N zfb=m-u=PH`_Emp>JGjoXo9QhUK|BlZB+eB1(8^c=(5(ZS;vmN0Ahw-@xZUrney~Z{ z5XZf8@28Ewb@ZkfAj=LtCRfz1l7alvy}Jwy)0o7-lMHL;beRIM1ekZSKf!zk)aW zi}Los2_W_h;`hV6_!~#%uk`gA%rV;x?w8TzIvXtRMp^{OGO~5SAd}HxnT!q056!R9 z26i~Jht6C@nd)waR=T$^FXKf$ouoC85Ohx@>vMTz1Hz~I9BffncSjzMohem^OdMDuJ^(hU%^ zy>;da&IsDwzP}rf~vfk3mLw_BK3Ac&?wGyQXU{ zzzgxqgWrs&gJu8Cbk?8F%0XkV=?}PhcI?un}3?_mS zAhDrLMQf$jhh(4W!0go8MEc=}Y2$?j;c{U?sz&(l9mJm|IVH6(`LhSrOL!;~%TQrY z@RRGRB-F;012(}+nXoQD zcGfR{8O%ouJlCE+*N;#>)D@F9sxG=>&F+eseH!n!pYOIEZM@rlzS|em)nvH+Egxp3 z76o2z4_|Hr&IjLaOtjkjc2j=+gxA|e;}fs{nR<5%QP8t#-q;}Z%32Q;PR5eCFVIl>I-4?#Z^UXPgFYDhBtv!p@d*~w9@*QDxu)Bcr!MrO(-qqT? zYu}#_cd`{<urgX9&KhIA{vt2aYkY+b2&F1wuB>-<9;GYMpAN`Bf^_$U;{^#N7 z`^k!Ut%b0Tr(z<4CqWuA2!0g4J;9FNkpbeEJ+m;TWYQ%kQ{j=G>JR6y`nNbC=VQLT zh4vs_1P#vCCfd8+`veLBdYkQggG~_I_yZF6!gk)`cJT++`Ss`Z%wnBme?~9cvp3lQ zF;cHiz>KbTXP`cmaZ9weTbps4Jo|8eJ3@c^xriURzy0{hK3s31=h?z~>k!T=n?+WwAm+q2}nf-h=q|1n0P-3^=%63C#wy!$S< ztIDqW^x+a)LxTCaa38P4Ha*i%sIQ^J-2RmNsRCjUV{WB@n9Z|ot(2Ir1c_G4e!_R; zR?2v_z!=-tT>LS_D6KmIGpg&(K#eiB#|5^*voXf@y2d7+Y>ct}EVB>5jWKptYA=kj zy?6H0@pO?d3iL0xU!dOhD?5J#FskhifQ(wZBS0Ulw6UVO`!=_#(thmKhwJQ+uK|oY zyCHS9`Kf+Fm5t?G4-#)?u?5Uqi}{8szQr99!Jg)56_inSbp>hEUR^@_Pywb;fIT-M zKXw6D_3y(~Sb{3-xu74r3Nt<5hf6V}<=&*_Pn~&&)=Siwc{X|Gc_4v%QYCJ^x&@bS zw#%2(?z^v1h zOHW^F1H@pNbpmGO-kpIOl9v9a-zLw7q-DplGDuqbTXP+P8`8AW$@us&FI+u}E>?nYPLM&EwIT9=LOkFvYbWjFb3KcVh+x#EXZ zym_fOvjPL`?SuWz?P&68cJ~|da{qF*eS}e6`;6{E;u$7it>k}HUS=5tE;-@1*P8W9eAaZLqTm^kRzNmH*yurXHB1akQ)ALU=3ogadE{lOY*qNNtQ zta&g?Fe(#wlPff~)Z!!Z6x1(osXYnhkAx=&);q}w(OOAknZ_?)Y#Ey>5xc-PR$J1g z+EVF@yKuhxo{Ro$Fkg-?SL4APvD(vE{Rn78YcHd<8E3?6kK(oLf4!OKNUMDg)pr;p zN_!in_aH`q_98$pOGLBl!K`2Y9|5WiZGz8eXdRzIWJQ%Ch5^+!qxz13HH}>MBJsf5 z(y`nZS(_sxB{|~eoz55vjQ@BFDf7(DxmXs-`>3W?X3THG`=XATQ~jF z;?IkJ!v5)Ck&CSVX*kSQW|*~AnOhrSF47_`lc)whHlMy18X%Tjh+`ANu>-(WO4y47 zjIEhAC(Sgj)W#cdZ8xrG-}6aEIIXt!l@W>?9*PN?Rj6&bGKFfwx+O`ZQK}cSL5&Qc zDlVvr3Dm>|)L$+iaR5{zYeF1uc^v)@T)o8gl(^?>RSKYjaH@;HYG_#SpH|b35_@08 zxRvIzlvZ7tdT~_$g136=Wd#uDDzUT-a%PBPn+I%L-grB3rpozr(;KApWj`_g~2 znp`eN)5&7zt8dg+iLIZAnB0)95<9j;DXSBgkw6e8iLAqG>nLT}PFr7CZi3Si>z)9% z?Z93Uz@|2u8-Q&VuxEd+%H_^+KDo^Izrkbc$74$)Og*`&i(D2QxM>bdJ-mR|3wXce zV}eE#MtqqZ*-Jwm)}nV;hfofC{8Q!OY#B5zBq?DK%K4=jpXbZl(PXvAt_GLObxUJD zD1aRe3YfF$Rd)C1c#=JNlFwJSixTy0{RL3<1l7x%`7|Hq^M|jpSNVLhSmvWi|JCS^ zd|fzEbyFx%H?`+oek$140J}S2zrQ7XTWD)a78~)_y->vgW4uJ-y=B2O+3SG;bT+fO zM)JCPAz}_cpl74WACy3C;BqcA=5et~hcF|b@Yz^KMmztWkCBfhTnJev;mStfehu6^ ziTnFo;#EhO_c_eJA?mawun`MNnP&s)VK0f&;Q4%8-4kq2uY$Fy)7UMSFfd_We#$2W z{c>$$N6cRnj-CcCS`Kj?{OVLDA-giK?uo9EW{b`%qX4;b5+Hw>Jz_rM|3mGcS`nv2 z=i^9;I_N`ez>Vw0?AN@y!Ma^9b_weZd(F{w+jmDln{MX>%wc3>dtyS;xCx0BWnzx4 z5?cudUv3Ij`>9VfP;N2GpHIG=y#Dn2*?IrB>GkMx(SJYrp3fI~_WpKoZPAOzbKHXG z_yD-%!4H7jesI4K`!oSR!%{s)sYKSt+NC~DYss*T$O;!|tAa4c!Iqj-N46a}@(foU zsk3nLTGOr+dwN;pC9Y~F{>#CAwVDscqc_v}aB>5u;T>SB>E7kz?I zrWA6lR^?a+0Y3?-H`&(92GWgtlMf<2B9Kn4YQ)s2Dh?xtoF4f`N2>TAc1zQ=5y@|9 z8ljdhSSte$NHGAfx5n19KCPNw7GVtoi=4e|`-loz3UI2sgxlrJt<{jXnN?|ySiwL`3uB7nGY zc^C!pXSlG>E-Z`hPEIA|#J2q_fZP@*mhfUvy!hQ}{-1oZDEF-Hzh30aY?5F1XOfUb z)q%?zC7NI_OyYkU$`_JIs)4dcD9_|fP;_l=!`aN|tAV`9Zh@HaW!J;fs5UQM)aLa| zw?GcyOXOT>XnT^WX4iI-^z3d|T>O==p*FqA{BD<#qbprFx-Z`C+J*Y;!yU@mXj1$Q zi_v14PcDD%`~i6s#@5j$Ji8}_mW*tSCTFu@H?7+7J-o&y=Sw%d46ySck3-wEid@2| z!O^|gx_KGAKYaW8?c}%rclP_~Z{N<}fBM+J7){FmWI28wO(&xNI=||l7e6&$;4nd} z3+bmJeR-1)SL1x%zr2}_h+_pJuvXTjXA8+#nkF<_eVJLwq#2-}Pgj%SBwsB0UvKj4 z^ylR`hoAfH=SIkhf=pTyc3|EP%q3p&ZXtdDic{^h*hTgP?X(wW4l=>Eq->FPp^AbA zO!WJXh4=aSa-I)L(Xv^7Il3C5#__$AR) zRRQ9;Hz1$B{WyI!7_Lk3MSn8QE(XKwa{V1yj@x{ky1pK2DHsDZO3q665~<3604DxM z17Ocmw6V9YU3%;3%Z$(t7y+SagN&^e8QURn|4YPgfk(Ri@%uG7^bCcI-XOB>7w)Va z!gn@a5l?Vr?USOD(u_{ZA$-R<)hFYhYyi3qL-+LU$#7WwDKXPh0cKk5e}Xq46YXw0 zjT8{K3F4oC*msDBRIOywt^vgDfOwrtXTyvrh=tHDG|^bf8rWpI=dcZLlyv1&gKK1j z8*n~CJ8O;ee>1|FfwNaQ4;G8*CGj!`v28t`qWVWNN*GOQ0_m_9#8JvVtRqc*5Wyyh zDr1jYx%8-$pgCaETOG>E@u#2`QlyNI7wOcx{HvDD4z>h)RYrU3)~dO?TZdaB**w1* zQ_Angy?Nxd>;qq!DKmF{JbTiw{jr&my23KsGdJ!40|e!1>2{qJ8_%v&30;S zbZYJ5)T!Zm%5l&xKA2GBbN~RoK%GeqBw1HWLeWjaB2(6d{`NRF_zn z{}fbKrfk(T^;9!2VUbyxWCLB@j&@DSj7!$aWyv}=bhlp~=M8s6fFa~{*W~o=`T2DG zJ?{@Dmp9Wnb~ZW#b@qKQUJ>I-W##k&@Rk8S%&&@MeDPOK`8OE79>85DX6rV}?Q}9F z{90RO`pK4=3PXkrupp>IVK0o6l%1eyQ-v)fF4&QgJQO*RhnmqLJ$?Jn(emcgB=5hT zPN+x@aXJrNdmrg+HYEye5m-l=6t5_(qj$zvJThIPWxI7%H)+c%a_Oa1oAXWZ>g;wj zvEZFbmnK^Ax22563OxczgOq=O*y!JEHd&1qh@%(nq5XFY{J&4%=0yr#uGY?Pi1%7s z4{?Cy+bou^0oi{S&}RS5=LEiS=n}3~Di|$rda6|i3zRQiRo_|4YUl13`R&R3-->8m zhUr1^-)-lsB4(2X6-Z+($ht^m3-=}HB{D`n-DYIJQXNj*L23)EKQAZOSIeJ^hc6I_ zeZh5chwB2k`hsgw-TskZE~mwRV&_X>>o2xQpZvuZ2~_KW9gJr;gKRP_|Lkf!x?CDQ zL3r*8(g@aFK^mdE%`m?{`|#7nQITwLEyKdqMMtI2RcNq|^MHt^cUdo6J#FiM=R6O@0w{3*!9 zfT%tuwZ?Ea>_tIUR4BG_*%68x9g0g_H6eHz*>;e$5m(vcZ57fNJ=vsn(^4TDR-?*; zi^xOOK3*Ku&EIo1>pKu$K9OI5awJ=)!_CYz4n4wh`s9E)tjE zuD&pLbqCjz0@g42U-Qv2@1I=$C!gOACX@0j3Siq(KQv4m_t5U*`{D9*FkjyM>{I&E zk*($dxXl3f^wVko!_VK!8xQ3#InFb+yM%p=XZai9p@D5|XZBFpOG6#j@x-zdVpILf z_t5&52daBxFNSFTXEw|UNjni*7k;SyT)o-DdiF+0S}t_4_qj|L%>_Gis!A(u_qkj$ zr^t{w{er!a650~euRmvb|LdXnixy%V;_th&)BipD(top>TrNk`$)f*ZFq@4g*Ngt| zcv$@e_Fn+jPhhWzyh-!(CiErf9PGt_eKVRAmFxPTJc6-bK6^U7olO^`@*805F}8SX z{l)g*z}8!AsZ`3U%8pd3v8mK9w$uOs*tQef&+~kd&%Y0lOnDfT_rOIq|LtGAu?cVO!ew%7CNYPPuh4Ykj&3CTyPefFWHil4}7JsMtn)Z%9!T1)j~ z^IKFujjVq5u_enN+hdD}+{`4o0xg*(3&iC1Wm5AsAG!P$X_QZC)DEu1-p_j34*uG* z9BLO=GJ&$5IY$E3$OLK!*bgg8elb!u1tB2YbY#iA7^<4>%Zqn#C5HmQwbi&+q;{j#2IKSWt+?tx1b{Bq#ve zZeT4154y$ePK+%SC_vjfXu*JbiFkaBqUUJ@C~SYUuj+X+{|Vb4Z7X}8NPohPK1oU-=~D0j*oFX0X2iBq z2hVFGGvcT4o&al`VI`{^oucj3<|>C|J>ec+8({tI?b)j@C;cyHzny%2|LNm-|4Tj| zY-GMZ&4>90=x;dl@=Id!3stgD!uSjE?&2DFE8g8l7=N7R%bNn*!Q}2sxUpw$Y=D^X z;?N2)^%@6ZlE@k!WLd{KY4&5Bn&3?v+?jfW@9C$HZ+`oB_VM(re>$C9jaT{PGT;3Y z4(*pi9|W9oZ|%~1hI=2wz0c3SetQ49yxUd$znIY{6eCQDT9kKHQGEqe{X%s#%nD$$ zVSWXV^$pwG%jxY5u=)urBC(gSo&r`MVI@w5MA}6NOm7anKYLssav@D>8P!V@rsb#n z66a+L+DE7oH$s4F3sF7Km($Vk^OsMr`-^NgpAL~Y`4oyD!;1vUBY2CL{CPf|<@4pw z;$Pk$*FTB@lc+t}E8eXEcAw+81FNuu! z>K=nANmjrq7uRaVxdt@i0xOjX+4561wCZJ9k|egX>&r29Rs{D6eDK}^;W-fY4B=T( zBq4M59b2T${$h)q*^xXh7EBlUD_Qz~bUg_iuhIWT~$*`uS-gl_pMe{_@{ z4c~eGSB7`jU;o|57jLiM_~QNb8(-=TPMoAO@CG0K4c^T6*9i9)tBY*0{+`?e2nM$qWBM9F7x${0&?n(;Ede58#og=SRAm)yj-QEqzN7?N?|N7DO;x&iWswlQQ$VUH_Ji2Y+GT*RQB;LwZUnp2fDnt&LC@ z5NVk(v?pngW=C!l>4WXku?gqc50}mPUnmMtsvlzp|In}YrVx; z0%sp_elySWE!J1Xm$z7T@)zs3|Gs}ZSmxK$^6woi`=2f- zfm>WXd{&@;*=PM}V85H*QiDzxnIPP0y8BTtbf<|0_Iu*kTAJFhj){~#j3hGlZJY@n zqx}mzs85XJv-Rsus+HTKIn_FkqeL(!+yt4lupL$W#f4p(&cz6}muq9^T)TA6W8FO5 z%fI)Uq=;M7HN4>sE7qO>c;VsG#i+b1Q*KR{@zh)Q6E`d z>#{lm{?n_~gopq-w)JPt$zIr#A_y5~c30;(P zp%`-<#h9l-O`O&Q)ZRc{UY?&$*2OkKkjCDVA2IxOQFir*S;?3MY0_(?-%W3`v$Dz_ zEq`vy?VIAG;;YejVBcZviSAk`ZEF$OZEMGFn-zJY%?9MXN1i$i7=$j$k6{$bI`(38 z9SmvyCRBYnynNZ)fNt0mbQpNO_g+sdKmvL1ktbR6>9J)hr}VCR$JbWN{7Joh@DKf;^vZ=KqdDo~}hqe?sd^l>9M`o8$0 zTvh!%FZWW*l5IA+Eb%XXMb_@U*FV_~sA;^mWp{`Mo<##{G7l^8+6qRCDIS9^KL&RO zK)nJAo%=5MKNbD~zu)jrM$6G)j3=PWPrx#t-;O4*g6>(t`PtX(>lXd~B41{ArqDmf z`MB9J22f0Vb}DK4M3nFLaVHl_%N41zjxkXX}2 z^O1w7CwR6%l08zFA(1p~Wjbgb*LdWhDaS21CQ*F;hp6i47o$m;4U{RtA9xVD{2)9s211iBOfY}$T412E1gqK; zOuCSN^q|Y0mWm-bA^3Npb`bEQZqt=cOl{ao7=%m(j-<`MTf0|B(=gS zI&2k`91*Od%T__s8(1U?Vue6#O#vjipwJ;xD0eCg zb0|$=(f^*$M^|f0=$~Mta`%V$O<|yn;1!GjMo=zVPiNV3dYvzC^0}4Z1jFdKVXU|E zcRwJC%_PDtR1a>U)@Ue10Rltu&`{2P%%+p_-$FkxzFNb-{$jm`TmB)nc4ezY(Wz`> zr_yc;-v?t#%w5>J*0IqR!d{@2W(a(j|H{nODBBiYO5jy z%cTPe0(p=d=yw2p@+ddZ?*RI_8U4tLKA!%zKm9j@MZWz8avZRO9XlWwY_W6i?{o0j z45Zl%;?$*OmYx+bGEfAXw*Auo@hYl`Bp zggtyVSqgj7D2+!0q|4C&*~rS`8OE~zk+7~}hqe|K^3XQsq4%2 zQrKFUFo1&w&`37C$pDB+MiM0!1Bi%ih=f6MC6h(%a<0zw2JqJ*jPMH={6*Yo1K5hm z{~eD&XCHw*6Ce*zVUp!-)wpK>~=aCU1FHorI)~B z2N-9<4oW+qcIvHH39%~O%2jEL8QczL<fX#pRL9h z+h+3mt938=P4WLHA6gDshuU`c9yZ~zO;FNqPEQA<-5M?J_B50D6D9$ZxSK*=*rt#w z7Pj#;rMaOK6*5eMQdtOlGSz}TpH{Ky@nF{)q0urzr#v%g=7ic{8fZc9{SdzkPLlzU zMFkSbE+mj-`x)?e0e*_W3ivw#KSh8K5*rBtm4P>v0d*4q2H>Fqoc*~Pj0;TXi+)~w z`QMG&%KEEyZAd-_wwe%+K^q@~L#9CV2ZRu|x)5=}%eZi6C9Wq9%W`2))nE>(3tv&1 zhLR4NoW@N#?XoEs8yJhnZx$Ji0^Op0Bk;OgWV8UXU4$H=6FCCeF9QCZz#nTXzvcyK zBs0lq0skRN10C{5hq@OBA!m1m%moEM1{ft1B6f9<8moiUr8-DjV+2IwFqXDucZ7j< zCW33xj5{mnFR}+S0Bs#+P?!N&>o5c4hTX~yX)~aPiZZYz2c)W29L9C1YK7rim5G@m zN`oP=1up7L5gS=4(zbB_b=g2(fASh{1>OpiVcbx92)45iSb1ve%F~nWf>>yfBC_=x z%t9HZNaI>0`pHyfB4p@tfW>@EOf=<$Eu$5hOr!jiFQe61g~mIkN?{EpRRyJH7vBw& z5unh75kTD;MnE5(m$)VFWwvOt0qUMSY@j8A{nz9P6WyAzH`N7I|rsmBw%-)j1vs$GQrTtonXBA_VM)V zr!W2Ud^sHrv*BtcN|mL>-^m73ViU`{W@V;72WVW1U1@01l-c{V; z@7=_m+*tzdUgJ*DkhHJ?PtJ{NDD2W&E-$ee>QWh#cjYoNKJNbNVbEvSmt$f>DYelB z;P0*X_X7GkpzjFuv-xy}e7?J&Bbo0Y=*Z+d2s$ZIrfrWpHKU1S8a-cnMD=2!B|n`v zHRJi)1V#p^aAAN}7ZZ+z{F~L}aygxs`P}7l!|qvswb8KtL`V*#)`>n<$4R9W!vILh z0f%#`)h&NV_>HOq!bNuA$ZAASga5;TB7jHMW#iOn08vkbF(>Ym3+GW1vn@awr*VAk zA#>z+3H`BQ<@^P;hiDUk(vZ(@{bRf-+7|Hk5AVe~(}Rn54{~^U7a%{K-p;Z&@b4~x z4bScn*k=H{J7B*hq`s`}7jUGT&5 zPxRPbQ}LS zgkYWZ1~Ufqts2l<;3v2^fWI5?zadmiRcbYWa_`V!0Z}hftOtOs`jbdS?8;x8UI5AN z14Tx4lgLHgL~t@@)Y4J!9u^_Zo zi00#qVNZ%6WNgdR*RuTBmQGsrEX*#iDJ`@x!OPJ8cEQu_fD%T79dyVJ2;PuNZ891# z0>6xa;19tFx?}_dj|fKKqY(_2fA4>~_&e1jfOg)qAa7)kpoIM0^p?Opc2mwnOQ6Xu zffDlfLjrLTDBI~GbM>!#;acSG*{C~|{?*}*BP}p7f}Xetp9f8>{MVsjoKpfW|iqsx?sD!4vaBAa8b!KTuML2TQapV9cXt5ZBjVZR<0nsjM;|>J zztMla8jQ0$VV>dL5*AYT?&1z1)o$WWt=?Owa7gD{l+JI2k}vPSM40#9-D%v>tLY~0 zl*9(Yyw_o#=--3_{Tn~}H%8QVzP*!KCCFC79{8yM5GR7ep)UW0nN7h5617zAGY4W{ z4(8yEITXd-o9XEs@K zs@%6;Km_()U{7^+fxZ9O?|x*zun;Gmr=XQuCz1T*ALQi8=hddzh2k@W9+#%&A=|mDp~Vo7bat zuMWYJl--&&jcp<>+SPvQ2IcZozTC-iub|lhpIu*4x~4Jw+*>~{V5ekE0lP=Amj@1z zw|5k9B<&po92tAZ04MJj3m1Z2B-2PeTc}R;Vxc8JZ8se#(CprNXu`bwl;2xVkB$1r z<$N$%6hG^BP|6PXCrhZ*`RwHc-Z)d*Exd`{m^g-JNvlVt1l*Le0pRuv?!_jDn=J8w zcO{@dK#n)ObC6Tdc!J$0PvbiEk^}K}BffhmK$3@ma60x^1^Lz(0ChGtcIw9AM$Gm{ z9ambMfxqo!thSv4!^zk-oQ!2yg5_MS)e!I+G(Y8M*Z{?`fDLrS2BJ+fD?MR@_)3!FxCZcaI!jdOp1KR>SPQtd~B+0P$Cjbl-rftrfnA(o;%i{DhI z4M=-|^x$H;T4tj~`8A$uzvK5V)_AMCgEd)f1qk7ug>Z5%2B>|5ni`FW*hR7*4f35I zb^Hdo0q+~?P)};Ryjg8K3RQh2nB_Hk$!* zV&bi}vhAnr`{q5saW4`KG8^UL1>&g;+45o9L}!!ipk8GnZO=72@!0|cq3!69e@0y#8zM8MS77}rE*Sdx{$V**AoYW6< z;U}Wi)|gfs2{sa0S{OQw^sqc77**oo#$5};Q1DUYw9PIPF1y4R=^ zEE%BgHR@DzE(y@8@fdchLkHNshMi(b0d}upC%dx|y0bgb``D(VTeLA+w4P)C4Q}6A z=;8L=!G5qTW^OgC}IaHgBML;J6rxRX;ksQ&rX#Hqqgj^zNm&#==I z8W({I;NBM8=@AWZ_Zjy$)DfOUKz+z(;NJrHZURq^=VF(sEPAy&KdSM)T6#VQp_&eW zPoodlZ$0_|LqWX0@20nJHisLs;=8NWWRWkk$+ACL-ek9f*;*HxxSOm~h}g7Q#D;<% zt@^zm;!n$#0{jC0-6j8~G|2$BmvCR1;ZCiZgH-kwMxm_ZS~6Qk)}$%Q&)n)O*sH>Y zFOT=XK7BlUeUkll_Tj@x|HEJwl((`)@lP;Y1b_cKNwA4*t1@`SoBxU*z?~%6DB$iZ z?tlM#KojbKyVtl={*E~BC+-)cKk&SF7IwVuU4Z?rj$0#te@VB*AHBJ5<4@9QZQD}7 z-y8fl-;4);t!uqEpDqG&JQrB??Wm&?QWbyI(9etb4ZUg$ZEXsg-QzK~^n^=KuVFo& zCtF3CHBe?D6KSL3rbe@fdLoQDp@QuDMGjNj>S2#fsNi3aG6xHnXb~rm4dZ3c2^}zu z;+xrgIzz_L-4|oW1dudz!36#_o#ey8Z~5)*p#O9Ibv9mqg9y-R_kehi)%2Z*XN(KZG{VuU{I z36+Kn1_M2+c6kJc$zsl4v;z3@Cj~0-*ofImjXX+d0Uo z0v|b@r#T&={~0IH|7`E@h(vs}nBp<-USz+69S?dZVW%E-VVeQtQE%s?eg``4?RN2D zUkOt7(}fKL?Z2HLb!6?o!`Mq;?>F|R)5&64{B6arZ&njz@jj<>6|9lEcL!@q-Z25o zrtSH91?lw{4{SRkdDE#)wHv^yaYZkMLvo13{ptj zq=lwWg_^_6r)54P5wfK|tI6@^NoT+5%J`@&msdSB2tm9&e~N&9MzrHn+sFl}Tsu;^ z3g-WVw7oM}gBjf&tf>ndDA9aN*r@H=2JuZLU@>?Ii-h8!QcNk~3g$H|l zH?Pu$JuTu?Jioi{Aj~f#Q*>v0y)v%SDwkE-C}>W$P8tJMp@SIbN5D4&KcQ9~q{Jn? zoj0JpGc~K*o57EyZJvsZzD*hZ1K23lI|Mdr^$vkemT;iLwZ4QqomL1@m(%-Y#rrSU zU#v^H%c-rFQ$b)`V8rrziQmd*7 zsyq*>yowmld!IOijaJ!qNvTIZYei0X0D6LbueGg+gWG%I_OlDIA!@F_n^R{AF}iJgInT0#C8cg@mn+94=PCA} z8?lASvj)B-)QlmLUy+lRjExRW#YZ5O-*bCAqX4^xgO*y0H8bqp0 z22pOgbEXY_Z|2vBJU4E+W}Il zEf_|jly!(_a)D0`!1EP3>T3&1gKTEgpuYz6{zCtHw78u2hvl#NGVgz*L~=3Me^xTz zi0*#{>+*~2b~@hShf<_6X$n$jAN7#~)z+52bmkZ0cBMrDNTTgD_!?(Z~|pK^se$U}j5W38T`n za8Wvzjo6m_Jf99%m&>xhvi%AJw2mZYHslfAeU9!nH0c+wjH?T`P9z3~&=UeVV$gOhz(|p1%{Jdc_MaQ+EF@FksH6z*m9VV(ubsUu^|8 z26O5jWs3a0?fJU_?b*#}eN0+pSF4GY5SfHFp;KxRN=0eeeR+1`&TrV8f;@i-%9yiD zmz=$N?i%d&(S zHQ151$HCm+FM_%bHRpyUQSs@Xs%1qsVZRQ>bWpmagG#r-7Etc*{Sd#({X^hWOOeP1 zyw3)xwMankJ@lY*{F;#8h?d_W@G1J9wyGb4zSkD|-XZ*{tK|uF)BMZ#{+nH0Bg5|; z;#686KoQTk+-{9GmCFNfKk+8!Ice&0$^gCFM)z*lfD^J70NhK!Z>G0M+Pamrm5`HJ z8#;3Sz2YU{WZDM6+Yb2Y^!9d;eLLx|2F2f4e2pW6J_q#2aQ_aty976Nh$MEAodb!w zQ6%ceX#b%2w6*~n9`1HN+|+$=8MrJ+#L0Tp^<;jOpx{no{=`hyQh+B$|4v*AaMe)A z*I#6V@|5I;C-Z}%P^;9|W2IPfT1m~=o1mX;iWn8yIx^)Rn!y61A|umM z*U@N?M9AN8H`ZSZrkvlHyk?;2|-lN6t zcXwZp2Y)U4m*dUOIweA=`Re0gPm4Geb@b@??U~3F0obp6Re@yNo^e@UiW+gz`H5Bm z=2Vvwy?q0ikP}%awgo1#yJ4vz6WK#HKy5LGwrMOf!FFVVZ&s5x)A@D2+>Yq3Zb|lJ zgvPv=c&~rm5h;2_jb?#=C-A4}H(J>OJ~f&T(vUNlB`QJP6YTfil=a7KK86u~>4Lv% zK+cz)e)@R+^~<-@ukVX5`d@E0f|iT^@@Cv$4pwU`pl=W$-)aVE{CfNRTXDyPr<=IH69n*qw6Slgd~Y42pGm`0y;Si-z46WrTe4aiL%nhd z_1Yj={nA}tJM@wwVJ0@{QzP_IPw+B568uCJf7R0DXQQu;lOOFe`Ds4-%8b4e)gf1fV<5&sCn?PUqRMKg7A=`yb+YtDiOkYT_rXBY$Wfwm|ccV+KS;05kC343G=_ets%4A_|0wOZZ1U&=%}pm%1#oalRz>JwgfR_saRt&x%jB zkoOn)GP_*=x*`7%VwxJa$~t5OGy_aaXt1?hgN^yV3f3vQ9`^AWFAgo}4iV#*%d{0#dP8?&T1?@}=sN4`n z;F%F@uD{)niq;37$b-J<`XvrjKYY zA{><8Qmk}s6S2dnxpkvvyA=?PC6Q`dQ-M&kJ4W#s8}R4rl^c(UOP3?!)rzC>7I3ou zGAsUnXT;MWVqp`vqofUGs2NWKt!r5x7iXJ=NzQ<67S$8=+v+iJF$=?O`6G*(9mp0p zt;heNss}qMfjnmxhnjQFjFP*o<<>mEn_vtR$|X!_L)zGAdwBDALiaRvGK3&agE|bM zr*xdKWpArT={Bh&J3dqo(rv6Da)}Rd^9U+-dl+YwMI6W-NaY(HgbXQ6O8KV!-Dkr~ z(Qr$6OPPX9Qd?C?O(K-gNiD%a3x~4O*m)LgRpjd7n(brZViHw-?FN{{yXozl)#P$n zWR0iA4;f8X)77GXwVIS0O=afLzgj>Wp;Lt>!z4(h1eq$nhJM(KVj(%BOEO?cwWiuL z1BR(5$-k7VmB~2DPubQHHZPlCSjXKL8-*>4fIU%{C940-?_?MC7tX70EPWWR_$XI~JOsSXPhWtPMf44I(reMCf7=hU-j? zHwbE{Hbni|+U)V<_5XbPxVC^D1CZsN=JR|hvw44TG0(sEhvLU2ai~uO!p3`{NRbS2 zR`Okl_~2Lnbvs4^BmBYze|cOs1UcQo5G*a9+t*uvHpc0Sn-6fJc@6xfml)CDcB3&yAmx|kr2Q5SR*c52}fb%DQi z!TA2QAEPelcrIwP1=Izwg-Ts8MqSXEy5MB^M`;?P>7+jx{;>ufMS0RnP=A)nn47qnC$Z7O)=YEcp@2I>|Syfn}WJGz^;Qw2NCukHhF zAP-$qx#+m7MRxFq1l2Quri~9&PqVvcL~o~Xcw3l=>Y>FgLRfMWL}!4ma-{=Je3T<<12f@GWS-3(M36pnD5CId;*uG9BIb_IKaO zxeJi@3;FEZ$r|6>N!7J*irAFa53yvcSu@b&@k)6>&ZIQG*dFMrF*-%*}Te11Ec4924Pr{8`Bjp(j~e+v91Auku(ww?gKAKP{jnzCzYSmb(M? z;Exp)|0hc1*TCNl7Wt3a^#1$xH{-$W#c&|3I@1CS`|cP7l_9_gI%EV?8yH5=AtNB$ zLQxpnX!%rIC`!_ZVFz?uC<)eAFL<^Pnc6~%e@(R7%h|F$0;k51ZoWyNIkfjf{A>;x zk$*=#0#=ef9)Z?B0`G|SfY!EQ09?LZF8_KoxSmdmA2%$%SpRaE1)|{io;bb*eUbtK z^!-F18D0m%{pny{{C^q^CSv35#baMS`rGd|Us7>jg8b!+=Rd^^s0RRM&?z$@+dpv} z*-`+evMf@8aw%{=82-_pEk;@K?PxLW4}TEx z|A1^$Y%~MiV@NiUi{BAH`d8!aCNp3s2FCa=Tpj?~m|NtO5g_(=)cc|5(ox_ES(n7= zDiTya8mIDc;JIH8R_lTfPkvXQ{BI}OloD)=w2d)r#y;!`9VVPDF;e&?6)w7crdSZO zb^DCcFVaQ&Ma7Rz;5fY?$^>Q%pg$fP82H@oa&T>lR=P`D_f^Btale z=u(=nZwTYHA>2HvImFKvU;=G10knqpeu$SH0t4)540RHALi{xeApYu0TZn$`07@lTKsDBr4!{%bfNTZX21YQ1b{oPrF?d=d2&sV& zsljif+tISLg??!P*=(LK`r{%7jPgZ}%e;OE0W0=J2q1a_O4*VDDmM%^#r%_VL!v8C z#1NrNwl>cMs)rdiZ2>lYT!khpC_iPJf!0kn1GEA6!Sb#jWC9&czz%{=-G545jsc+s z*tiy;@sTGsMU%v(%un@NS>manllMFMiJj?oCp)b-E`+(QgEblR|3Pr?UT`PYd=T7y z4(?RP#=6x>fgZ^;Vzl&$;I4YHOVuWVIs$wZt}XH|MVm;Qg8ai-Zc+AcH~YNnFUEtv z7X5rlJn>RleV?k{r3^xb@6*-0a5(cQBU8lZhy1`8^8=USy)||)Tab2O3kR?RAM5~K z9M5w;BkE}5bP;uG!!NMS>5%HTCe=5BPV)Bvx{sijgZdJCJnS6{@%O;vZSN@XSm5tw zq^DkZ;O;l>1A==cWa@%^To_DP2Q%BDZBxZtX}&GBLz?eTnh)6>B>HPZfF^SX zO(4tvT#de?((72lzl9xjUMFEExf+n&@iE)qq7Jbozfu1!zgiZ^XYY$VZcWE85<1W@ zyAb6`tBoVYk-Y3TPzogl1Oiq?rZeTZ24N&WXtC@?@}& zRg^rxhp(Obb|$H$ge{>cOyHNF@+A~y^U){V{(y!i;P(Um-^x!{lhM*_1zJb8jE_FH ztRzQCl{~f_s~~14`_;9^HU5(Q2E@u_2<4~zS0HGNmg-?kAOeEcv285}rqDW5c=P4# zU#~ZxpMB`RIeGInJ3l{_{l(%^u1(?u_5YqRc~}1*w1D4X0UfshsuQGL2tMcpHLeqM z&;WiAD!NKRMb`rr-GlfO3M`Sbm4|o&JbD6%mM|hfM=fQj_v(NMC^h)-x=K0TIw!F#Y-}|eLU)MzGAPl>pW18};hg^Jm7 zv7t#WR`N4cbBgMeqXvc@q*mI=-8aSm-(eA4eo!fGq-}OXWh+`qU5DMU^Av5c820;9 zbmI819XMnua;4T45U2hG`i6 zN@T>ca~RrYqevNiOc~x%#!%EywgxEp({15TbF6`wnTmB&8+YmNEu!Uj=?Rk%54Irs zmqXc~Q(Y>T$bfgECGW%|Ga#ByGEgqWTFg=RfeGD`oLSASh5l zq1kT(wRjP0TTmbmTm@_Ud2*^i)RbXQZ5kC!w!LwJ!LBUB$Yc)Xr)+yjTlGkw@3?PH zU1>G#83Fo@FaomA7~wLK&wa-I*MRIVYL|_C)QxSd8%aHm*w#rxSFzPi?O*wsqfUIH`=>?Y8vmJvmWO(R>ss60V$q&h}H7}r9um#N@a2F6B#U=I}{V`><= zq=tz>VY#`DBZ5YsN~>g#Fuw^&FH(u(oJA)!8WO!G&@!t86Fpk9lLMiQJo@#={MR8h zY+N+T9=3DG9kY;YBIEj(?0Y^RUG*tRuQ0UjZX$DNdFJpG)1YQi!b*U~EXs>n)Kd)P z9r47h3rPBjG54U-UJ|7tC*L5Sm?CY76ZR8hI_RL-`GznXiEy$KQ5|!%(oBl~=nbVH z7sf8E$S?};mR_C}OW4~KrZj|q0I0rhrEH9P9M?X`RSF0ObS&+_M04+lbY_@kvIPt_ zVGDP*K+QK3sEYYK-!wiE^csaNFd$vr+}<-2C~?6)ifl6lAlf8E|26&3bai<%y8i-?sSl5-0aofk zP0)a7%Y$k_^&F^rh${84#&}p;{IF69aB5RR2dWK6^_+6n#I`dCSQ`%O<@EM;wG_m5 za9~vtEB^}{(2aVL6pC|KiAaZauXtkxdl5sMwsj;sA&vqQ$mORFWV)9*g!1nF+Ycun z`|n2AW%;`KE$jbvHOj`zan}D#Ne0@8lIRFGgerLeTw-ZPT6c9(&NhS|ZwB|xbbdP+ zXWLI-4Tjkw|8td3F3GW7C|wxvD2QIRAbJYgXixnbe}0*K>nR8?Z$_8@$>7Ppd-7;< zHJXf;`S@p6eETz_#1nwHw}|IIM%n0=z&#Q!jgcTs62_i8y{N>+J*p%9u5UHvn9276 z)Hea1@^)%UXzq~EJI?wtOswlHHxRJ!Qt0-Hejx5ge zH~kLi;&%$`)TI-Scf6?q{VJfMw=G{o^loGH&Vr1BJ91JxOoU`K$jK-kv-32QTeCyB zaZ%W1PuLW|Uu^L42PE> zMI7QOnZbcp{40EYGM!}k?QHq8_)gIN9$Bwcrbg(aUcgc3BMHZB;FYON6AAlfu`zoO zoznNdb^$b5<_>?ORBI9a48N|hp^%s_7{-Pp%Nw9)aki{pncbHV&6 z;IIFV!Ekh0ibSC)v*V#&Hf8qVrh79{;IiF^-b~YaGZpv7uyjA9`&YD80Jn`yV_Q(i zJf*qwl4^}_=v-$LoeB-)U zE%`N}`j^+-hk&IPJVRSA1s;3+q^k<-;?Ma~ZhpP*koIS2i?=hwdJ?)Adiad)Y`Vw@ zghSg7@a2*$G5Zyk#*H88 zvhoxD@{==Fs6XWM>pc53ALjG^+r0RS2wy}{d9!S zfUtK6f6TAfH%Sh}Y3pTi#OdZG)fSA2KrKXQ;{cl(B)S)Dz>4Y6qg!H3wGWJ#ASOBuwS zkCjLR;+8`EX}%cz?0*<6Zx;RQ%VEFx$I2(ee3<2{%kgNK4aV2g68qc!fEpCrwkA+4 z9luz5I>Z-%xSbGxD89(QkB0fQ|79>5&!>ao>3q6aj3(Fp`SyeC^6rzb`R!~vAB;cE z^7&vnoiDQYlObk{ZJjOF0seAMtV3EAYN(-9%uB)v27&5De7VpnXKoF;X3wRJ^a0^Q zACSMC#P?kMPrv>K=kKcXm*B(syX*X4;r$)<{;yW|x38BQiOT$%u9d$%%rw{r3B$gombFE!i_`gD1d&*9zvd-r3Y zUjb;}fPS-@TyDVK!v0%+dpm$ncL{3yn;qlLZta_W{^q>=A$kAvV7?p;#t$a&JN(-x z|E7Wd7l7^t(7zuDp)pX0E|EGpQYCCcnF!cGxwR-yXZfW6sr&_* zmRFh91F+N!tgIWl|cg3+g>Utpyp!GDEKTu;SrPbbFqbmBzz)X8x?w^V~&=Ka&n zZ}48Pymud5OQj@SW(}y6no=q4<4o2{sg00NM(Ri_hNQElR*IvPf6B@P^WBaBBT^eZ zIdKyUZ3M`ND<-~6BbRPME^Wq{u9<*yOL4xroem3p%U_Xq`IUF=Kucy_LMvf|x6Fx5 z_{v@?>PWnFFA9T*y(k%)s68>8d1Mz{R zD@=tg!xrX%o%Di8isxTV(LEi7f}LTF* zMFQqk0=5e+*|@guPT*Z`_`AHCj7O9I^uKL>ga3Nvzx&`49<0K|hA!p7v63<4^bzgB zQpS=EZ;mAi^fFmPEK62s6i|Vq*OL_48wj>37xdlPbJOAB0iaavg~p^UF7{w>#tAOUjyb&z)TfQ!YOD+kq+t!+Nt0JZR}Xf zlnZsW$Gm|!cA6opBc)sv+#k>Wd4Belm{Y`|^_+?@UtthIQQ~q?7lJ}PV6#JHVA69G z0sk0unwn5wf6RtmAB~>5T|@nZbyOdNc$tc=^DqGG7qFW^jl|1yXsKi?u+lP-Y&AUD z+J)GjVCmGBRU^S_e1dg(vshg$F8in3-w~|+3f2{P>45FDjf#NXkbr$t)W-$L<*)Ey z&ph}6T9T0&N7DKZQTjQjL8G+N z1gI5>C`j&zanAype~U&NS0wl^vNXQP(nUruK0d@Gy*hE)Y6FdHKO`KFUOm0|W1U)W zen;NrTi&$?FI_n~?xv!0+RNdNly(hiKZky1BP8YuQk#hLM20-QUGIb#&A&);^9)G$Vf4y9e`{n;V zKH*+oaQ|&^k&mhCa<;M!8D68V%N<7g95)0zfbw!q47`<%n-m&hR=s!w&oiHG)rIq^cPo^bJI<4!GKlE#R$(=4=UI1?uV zBWos3;mnwq#T3k1CLy1vWU9c}FdL(`a2l2wNDaRn=A{|uugJvwd!ubwBNyui&SW;G zk&U%58?!-e$;WIxbL3-<%*X6VlNp)qnMOv|wv6mzx|$3Lr?#HwhEq4vsUO4qeljFJ zMKmZvyel|atFY?iN zocDh#lJ#+cd-;FmPsowDwe$fuLOMn+?i-|6gAtKzY3(PXsDEWuZY zw(1GEHWk<9d@xyzmZRx}NRvW7DNy%{T3Rw9FbVCNQ_N+9){-fiPvE#+zgAv)`E(#)Yb0YG=Oe(_csZE(w@$vP1l}|47-7oR(dJ~?_ z0OS4j9N%)ci4>c!S~pSh>iF7SnqM!dz|Ep#lshPi@gcekHN(|>@m2O zIYNXvLc62#!9It>Iy&;JW9C=If6?J0TTUOoz{~4RaDEIfUS5B|9evL?+0@+^@LZ3< zh39${N0UM6w0mEljAu6kJiThNVP(zow6WI5?Mo>mTUplI%2d@M$tt?u_+PyHXjh`*pbs4jO8IBUpp4S@3OzH z2!K-;RSzAc0V6zQoURSWC%4kV8t0lPu@L&0OoL!X~S^04P8+5LG zdxUAMkxKi5^*kS3-V82^Z%ki(geaEx7~c@Rj?ksofo9fmo@YD6^XZg0@1vv*Wq5J} z4*KoFd^wm8AAT84iof#&A=-lwZ21Dp44x39HHg7Gmh0BtI1}RYB zwiej0MAITb7=9L}FW9trglYcg*KC**^4mhEw&_7)gf{Gj$+IQ*buZ;&DorCn!A4ak zCRoc)`M&z=&rH+69vu0`E+$_Hbpl^of1lGcS8HM8Qs5;)~AW=%OW4LK9n6RH{;}U~(*<#SY{E6n{ zy&RKxr-6&CY^>H$Jsa{Z-;0@+83TF1#ax9Z%*#*tX_=vhIuhpO>;dOWn>~AYGQ$4= z!k!~cOdrD37OFwmIr{e5(}VOsEFBVIJwi*p$cb7ruAd3DW~X1;fO5o6zl?4yUEH|( zsvq+y{zsPoxFpt=gotca6$SIU%kgY~W~W@$#Xd)vl@Vs;0<(dAcO;lc6B1)-Jslnq z80$Ee&+mv8MHw4q)0@n%rHpyCbjhoA(ioIK&!@9|z8vKXbi};xi0y#=C&2Cw*kl9L zM%+UKv^9m*4%Ghw)SZDkTaL+gcVf%JshT2qn7ao zJ4j1okd{tCx;e8-x1jSb2lN{jTz^T{^~<;A4kAm4 z4}cxkc6Qie^98Y7rJdApc|2`0nf771s=6ugixB?&<7D6z6rT}ZA6HoE7pb|QZ3v$S^TBOi{KU)bWc=6QC&b1&k_A59 zAczgWGYpFX7qgMYjiHX zcq0*l@A5`D2H_&dAPuef7l-)E+2^wpLhCGwal89(&*HlLdL{lRdhz>@Z_OAdP9hs{ zFg%jJ*JDmiEc|I7#f$zF{XqubSZ zP%0B|Kl*wvRSbjZx+p{9D` zG;9aZdq6j#-g`o8-73F^)_Ozxa?H4#}Wn z)2Mdrp_Y4$u3W1ye*f|7*_Y2>&Wc~{4LP#mVy&>yaA{n_-LXygFU0=RR|bME8mx6YvkdnObFnjk_}9u3T_`A%U0oXJ=<|sPBHyhWSpY;<~ zc&l%)p8Z~K>wP_Y4VU#8TllSS*p}fqJNfuJdwury%h?&c*L#HF!@eVYUFSWQMAUM! zo=>JXtx2)Tx5h)6E_X7kEZ!G{_vG{EvjW_Ip8WQ|=ZMeVdG8*)2+qF2`{nHa&c2+V zt?`BT`VB9<*K2sGyvllm9C=mq@~YRP*&5x~@4uXteT}TlpwEz8`Q*P8#)#2v#`w+q zFYiCT{eS2G_;&KT_~Xf9Ip6-ay4-N;W`jkx{VzTk&2v(ESw^;~4ZzzAI3d3dzNV0=Uz6e=z`Ij;fBriOxQ#vtz}pJ=KLB{Q0RIBOy9M~?&;KA= zE@{fAE~#F?ATCkIGqeM9DKUT@vXu-16WZmce8ugcp?Lq}Gj)O-czcOA{JUd#Q~oV& z6BFRwR=mF;o_7fE-^qL}Q8tz;MKw=#@mCFMM3RlTNqdTYBgJ?k#pOcE3!Ts4SKyzK zuXV}43%rRT8SwTJZ`5O5!yEqHDZEjSbqjCQW1YhL3*PT8;r#{mSf}v*Tm*FB?FZf$ zgT?4_4{nM5A%Di*CU~(gX6TyiXR3{J+`td@vaj67-r6J0$4utmkDU==UHWjIXEtk6+*QhgZ})4SkK)1@7g1 zFw6g&-~GNQ{>`s`WcQyUA?pUvD5*OF^t&4(3yV{SEKCN8Qj9Dtq_QyngIpzjtpSeN zX_z#oVbUcHOI|(=JAgHD97f1kTELEtVC$X|S~A?4rU@otTqZC~ytM)EgpIdxGgG*% zW@^y@yif1JJ{>Hw*`Q3uSL0DW$J6a`M5j^5JKjaq-(8wvk3;O0ep3YrrKh9dz&xse!JYqd(r=MHCWD3lY126 zp9VPI^o{}kj+m50*1;HB=8bEaKM`*7A&+e%5eaJ6IlRxo{cP6T@;l?B0DY(fe zT;mD%=?UL}O+MgJf(N`M5BTY)_a9$>JN^3p|IW_)Ctu!web+y^yvzoZVfKD zMi=A!?vv4EnfFhKs4hT+cve(5K>iCH-3f9+cBA-r?%?VS1{)dGwM;@b+$IhiJFr*d z@z%**02eRwjvEmFbemrf`X}?z@}`LJqs#2C;;RDjEdMbZk1j{cY*ZpYTK?>Ry~#Ib zP=5326E0G;IHP->C43&Q7DOBf1meIm;=s$yT=vjE|N71)#eD^c4}gg>6_)MQ+8Y)Cl&Qax2tK!*Y4VHH0da?)X684rWAQ9t1Y5 zDFR%SvWO8R+*%+!eY!pZ zjDg{JJd_9HWj+VWT|ik7Fk4T_0Oq#AECI9UFkj85w?wwBY$2PdaCkZq51q-~5c)LG50vmV1txH4e&2xi;E93?JG zAwnmjj-FY(F_;>lX7|KJXoNa+>50FL_R^D~rhFPuw+8C>UrxWh|9akk`{r~1?K~e8 zKX9478U2_|N5y~H{u?vGDsoxTM)#XCw_g>r525?v(??1xFLimB<5J`9`Sr5ur7o=g zs?WIX@F`_1nUzat^JBB>$i7$Qx9%pogyGGH$O1HpA^8329xEM znALxq7ymv-m;HZGYs3ukWn+ER;7#ObVeE2^11{Y-mwsRF%as4s2kUe7zhk8MOWx`uw>(L_iB4$fMDYOu z3FzG_+L&Dbdgze+x^Usj{#V*SPE`E+{K9|e?5kxK>-c{yVx@T+4x1@4>xSEe??8PfHprRx;FpQ+5u zg#(Pt>`0jz8Jelu3z@es_*$|noU!#GyDA_atca$W4x|lYVa7P_=^zRiNfuc-g`tSq ziB@PL^-DHCB{t?-v0JkB!mBtou#2C1F($5Bs?e(Ox=#naM>p!FK@>6;uL!)uUZB@v zggm^pDe;nQ&#tNgZBUL}s^uf&{q;RH(!@oxXXVr{JkqS7N*pW%s;x$qx;_Y0Ta0S? z1+|eA+gg&;-i8jNkdaW;m^D`!`HpMNMqa;kIwSnTy#9S;r>o_R8Z*QJ297N_8EFP~ zH5(3=)UkIbaTox5Bw#>&HyzAaSolc6Mv*C932h?=X){Deb+q70Q1@8sm^$gyJ zFSE-{obJy@gc_d=kuduNGoi!>n0ujhl?;$PSw zv-xy*_xp+}e-kURRQb!B84>Me)l1pcZ?)LmI4|FOjbkJ2GBlTFPL+Jh=(DfKyYLEbQeL$DE-U)QQK=&OX7nHi(4@qk|`ovdC zH6>N-kwW#p>$XAZqH6p?ms#(zy`9eU?62v3xY&F-xR|b%+YgBAoH~R)c?;GRp9Jw= zIRSF4oj~S^e$iKeAo|6I`D!}3EcZ|rJ71mQ0ruemHbG11lmpuKLyLFUi+9%u?OznO zko;&lwi2(cw;@^Lx%C)Zytn?w;-BeVn(ZqTqknSEU$K%9D7y9;jVC* z?#d=OFWtdVE_=P`VC>*~{0_#(f&Wf@-vccUa;L`mXA8sDfgc=f%_73U4h~u|1vfcFp)NO>C+A9RqzCleoHR5-h zkS@8EC8+(A&##evd59_Y7yQE%TMPbSdQJ=(kUF&()N)UOm<~p^>92W9pQsk5ZIF6Qb3)egUpt;(88Ty~OqZD9K0Q+GyDMLXmENM3*rI;kJ9`YS#Gc3I#EmGSgsod_ zp491H6vPQ*z)oVD=t%I|vde38P$?F#5=YfO5%}fH#(Wc#Gt={HumRtk{GA z<}lX8pD3-AiLcRnm5cX=FLN82#P{upAh3z`6+U(@m84<9h|Gd0ZbO%3su~G5=(0C3 zs}uX}0l&xv-6O~5-$`^s2j|tjRH&d1@)JKUn`Z9m5s_8Nagiv~h9;|gsnby6+roo9Zt5&Q0w* z6Uj8)flgf7l;}Vov(Z8NGR2P!0$Vo=z39gFqKV3h^kyB{qBgqHP3=mP9!>S9BVnUF zqd(oAuuXTWrLxsg=w`O5n@RVqfwDg+(-$s8>~zJ1waP%=FyU`8nD}>mf|fKAw4@6` zOE(7N;!&nFvA84znB-$hGd7#hX%$;y%Qo=cjY-t!IoSV0nXh!(MbTTCl zye76@w%Lz$FHl<7AQW56;wc|tW2hD`q57q7LedD++r?H|F1Cx?zeWFCE#VTn#Q3Re%Q+YP`E=$d4L+hzd z4B?wNguhRLDQ^{4Rvd=z%^bSlXH0gWom-7{FJ|N7akE*>goYNZ7-<53#yZ^LmPn~`|eHbcESQ{&y8Js ze&`WW4lAwM5@xDRovA)JE$Ow|y7h{wYLjE}7t&#ah@UrM{$}(1mu&(AS08cxosx_} zM%>~k{FbaFyvCWwi<*ku+Q6a|z+l&X6+|U55ZHART*_2qt@$k4d z{c(Lur^JDF%A4@KHsEwqj^ruVPnYBwoI1x5wb)-5y-X`S^AV(6ynHMdy^;n zcp7kR8?MDa)O>KcEdF(0WrH81>1}rM`85^+(g!X0m@8etmM(Ib!Tk(y{RQ{0A$G7l zMt1;o{Y95_T?FR#gZmpLx8^jbO?c}4RE4YDNN&c?6u;qU%$lW3)~v*FAf658i+qlB z*)PZ4qWXV8)k9Rj096lBrDO__7`GbMcf?2_whi(y5@^;)pn~adL?)cXHdi%+DtjqI zPJ{-PtyEBjV-04+22~kBRV_F>SOJyjDMr@fhQc(C1S9&^bxG3Xru?I1!icDFK(u<_ z?1d2}nh`>Tw%AM6t5Fz>IyUW+&Cg*vt7#`IVMA+F6%j6~BI>x#dX;_2s9uv2ww1fo z2yfV{;qYruZIUi#vSd6O$#z?9RCdxX(oTutb^Vn`BOhV=JB6)Ct^6nRI%U|Cp^6!; zCK6w^+g6!N8*JI4UCQXU%EfPE!z$$qVoS|-qR2)?#Vc#gn+%=9mxPoU=oG;a@_Nql zdR6;)VNj`7zg?sNt^TI8`UjKAsDQWpU^H0`mc=)V{^e}_f7!<$3cfRF{8PanlaWr zzABBW56y3Z)F?`07$4Q#-g+{|#n;3*U)#p{NUxvpApiPxYdg$%jy->lAH108f=C;{ zln=`qGHPAwhjGC*sfV$}!>VL~tpmHjTc!6L5#Kjd55%R-g&?nW~qFMDQ0|OwCUAVv7t-fR~^037SW0XxjnLR+G_^QV^9k zVgYrvCT6%e-P?AMz%tXU`LW!%pr&0G)ItN~FVWvV0Qt>eG8_|OU52TxlR|Op1*45Z z-P$cs=l4;nQl1;o*;|Q`5%kCf^cUEhZ~=Wj7%eEw1M7Ah>F6ru>{F1wE>$Sm`!ZD` zuH#Ncbpo|@c9+G)stGj#_pjMtMZD=!Tcdlq7ivH~>J_$N-dR{+5&xb@m7| zG_tru7Z!JtHV^f}+w<}0Hlxxxxt925$M`^ptj+WK7O1LTx`CaoARQSMq$3vvX%QG^ znlFj_?H=#~y%#?V@+!;}*~t2U1LmfZjYyd1(;3C~j%}xP$N^ZG$~wj)vC#Zn&8RWK zpLH5bap6*mA9+6V2yTjBCQ}>M;FmR(Uq<0fa?C_xZJbjVJ+?XYb2ln=FK}QmR9j=4 z2p$}9t6l&41HoLlt-Tf(?G_z7+~|o+54U8CkfcWDO6tU1(MPVq zOt{l+RhcUOG4QY_RU9$uZrazCj?0}uX0~QLXvvQ4b+*|I^OIwPZt1b9B(Ozz8g;EW zXG}?750%3i)6kT-Nj9@3HrCy-Q{8P!-Hr|WrrAQh?OG=M?rPZ6DNikd?6yRq!{Z*B z{GA`=tKG2;-igcOE}~zrg~32xqT|wqj*CRcr3)PwiH=K`IxZ3&m))P@ZO28T*M`9hc5@T-LZ>UaoO3enZ1$Klk#a;Zi}F*x-+y zHu!a-lR7p|!s4%}mXpl6$WV?SSLCXeB}nyL(R_1l`$_@E_r#C6n*4p`eSxQZ1ooo zYNMP}J(n;}#Pb>Fs+THp*#TFj9{CW)dY&ITIfLpH=lI`<4nk>>K5jVrlPQ`2V?}pV}AG7i3ih8^w$8es; zq6Wn4Sr28qwl=PSYnK)9YRP|mtn($M$OG5*&$So%pOj}yTUt(mt#m5u@a&%0=(5$2 zsyRH}#xaR<8Iv4){reH%(;0P8Ewwo}70HW0uH#zp4noOpuT(22*A3wMF6PBY9)4Hw zw(97`%IRnX`f0mAs#*Os8{8rcT(mqADQjt}B@W6C)kDB*nA!7?8pFAX>~Pd@Ui`2z z33%)v-okKg5^6uXEJq%7KZ1IBGoSuNC2OgT-GF4RmB|{EJA75{c=PGoWOVg2D}|3I zgJrhN=eJq@XZGi6uo#u!^vhosYx&e{Fdr>{68x3`bML>kkb%C7e?A#*@Lv@lJxI9Z z&{Fk`?C>a ze5?9uWIfjm_0`6zuRa-mn+~gx&|%#R0BzD?eX<4EwK>xm+MEv|pyAq_v+4Nf`exP5 z>gwutFzGMy%WOEk?HB(?`MB+UM=jT!T8_kaK=k7T6d|64tW(y${$jLPjxLMu{y$OZ J6jkQ2GXPE|w}k)z diff --git a/helm/papers/use_case/stats/validating_time_flea.sh b/helm/papers/use_case/stats/validating_time_flea.sh deleted file mode 100755 index 851f5a39c..000000000 --- a/helm/papers/use_case/stats/validating_time_flea.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -zcat $1 >/tmp/a -TIME=`~lpadovan/Luca-CVS/Projects/flea/tests/cic /tmp/a` -echo `fgrep $1 $2 | cut -d ' ' -f 2,3,4`" "$TIME diff --git a/helm/papers/use_case/stats/validating_time_libxml2_tree.sh b/helm/papers/use_case/stats/validating_time_libxml2_tree.sh deleted file mode 100755 index 0249c1e5c..000000000 --- a/helm/papers/use_case/stats/validating_time_libxml2_tree.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -TIME=`/usr/bin/xmllint --timing --valid --noout $1 2>&1 | fgrep "Parsing" | cut -d ' ' -f 3` -echo `fgrep $1 $2 | cut -d ' ' -f 2,3,4`" "$TIME diff --git a/helm/papers/use_case/stats/validating_time_xerces_sax2.sh b/helm/papers/use_case/stats/validating_time_xerces_sax2.sh deleted file mode 100755 index 7d7ea2405..000000000 --- a/helm/papers/use_case/stats/validating_time_xerces_sax2.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -zcat $1 >/tmp/a -cp /projects/helm/xml/dtd/cic.dtd /tmp -TIME=`./parse/SAX2Print/SAX2Print -v=always /tmp/a` -echo `fgrep $1 $2 | cut -d ' ' -f 2,3,4`" "$TIME diff --git a/helm/papers/use_case/stats/validating_time_xerces_tree.sh b/helm/papers/use_case/stats/validating_time_xerces_tree.sh deleted file mode 100755 index acb1666ae..000000000 --- a/helm/papers/use_case/stats/validating_time_xerces_tree.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -zcat $1 >/tmp/a -cp /projects/helm/xml/dtd/cic.dtd /tmp -TIME=`./parse/DOMCount/DOMCount -v=always /tmp/a` -echo `fgrep $1 $2 | cut -d ' ' -f 2,3,4`" "$TIME diff --git a/helm/papers/use_case/stats/validating_times.gpscript b/helm/papers/use_case/stats/validating_times.gpscript deleted file mode 100644 index 74cbbebea..000000000 --- a/helm/papers/use_case/stats/validating_times.gpscript +++ /dev/null @@ -1,16 +0,0 @@ -set terminal postscript color -set key left box -set label font "Helvetica,8" - -set output "parsing_validating_times_candidates.ps" -plot "parsing_validating_times_xerces_sax2_candidates.txt" using 2:4 title "xerces sax2 parse+validate" with lines smooth bezier, \ - "parsing_validating_times_xerces_tree_candidates.txt" using 2:4 title "xerces tree parse+validate" with lines smooth bezier, \ - "parsing_validating_times_libxml2_tree_candidates.txt" using 2:4 title "libxml2 tree parse+validate" with lines smooth bezier, \ - "parsing_validating_times_flea_candidates.txt" using 2:4 title "flea parse+validate" with lines smooth bezier - -set output "validating_times_candidates.ps" -plot "validating_times_xerces_sax2_candidates.txt" using 2:4 title "xerces sax2 validate" with lines smooth bezier, \ - "validating_times_xerces_tree_candidates.txt" using 2:4 title "xerces tree validate" with lines smooth bezier, \ - "validating_times_libxml2_tree_candidates.txt" using 2:4 title "libxml2 tree validate" with lines smooth bezier, \ - "validating_times_flea_candidates.txt" using 2:4 title "flea validate" with lines smooth bezier - diff --git a/helm/papers/use_case/use_case.tex b/helm/papers/use_case/use_case.tex deleted file mode 100644 index b416efb8b..000000000 --- a/helm/papers/use_case/use_case.tex +++ /dev/null @@ -1,134 +0,0 @@ -\documentclass[11pt,epsf,a4wide]{article} -\usepackage{latexsym, amssymb, amsfonts} -\usepackage{graphicx} - -\addtolength{\topmargin}{-1.7cm} -\addtolength{\oddsidemargin}{-1.5cm} -\addtolength{\evensidemargin}{-1.5cm} -\addtolength{\textwidth}{3cm} -\addtolength{\textheight}{3.4cm} - -\def\mowgli{{\sc MoWGLI}} - -\title{A complex use case for XML-technology:\\ -\small{The European Project IST-2001-33562 MoWGLI}} -\date{} -\author{} - -\begin{document} -\maketitle - -\thispagestyle{empty} - -\begin{abstract} -The following paper contains the results of an extensive validation -of XML-technology conducted during the last three years in the framework -of the European Project IST-2001-33562 \mowgli. -\end{abstract} - -\section{Introduction} -The European Project IST-2001-33562 \mowgli, activated in march 2002 and -lasting three years, aimed at the exploitation of semantic based -techniques for mathematical knowledge management\cite{mkm03,mkm04}, -with particular -emphasis on {\em web publishing}, {\em transformation} and {\em -searching and retrieving} issues. \mowgli was based on an -extensive use of XML-technology, aiming both at providing a -major XML test-bench and at becoming an example of best-practice in its -use. - -To grasp the dimension of the validation, we managed a -repository of $tot$ fully structured xml-documents\footnote{Each document is -piece of formal mathematics (a definition or a theorem), exported -from the library of a well-known tool for the automatic support to formal -reasoning: the Coq proof assistant} of very different sizes, -spanning from very few elements to $tot$ gigabytes (for a total of -$tot$ gigabytes). We wrote 13951 lines of XSLT (39 stylesheets) -plus $13398$ additional lines ($21$ stylesheets) which are -{\em automatically generated} -starting from a very high-level -xml description of mathematical notation\footnote{We also reused -a stylesheet transforming MathML content to -MathML presentation (4007 lines) developed at \dots.}. Each document -in the repository has an associated RDF file mostly modeling, in addition -to traditional Dublin-Core metadata, dependendy relations among the -objects in the repository. This kind of metadata are automatically -computed from the structured description of the object, and extensively -used to improve both searching and browsing functionality (e.g. providing -graphical descriptions of the dependency relations among the object in -the repository). - -A lot of different tools have been tested during the development of -the project covering most aspects of XML-technology. -Our validation effort provided valuable feedback to many developers -of these tools, both in the form of bug reports (abbiamo idea di quanti -bug reports abbiamo redatto e della loro classificazionI? quanti cioe' -gravi?) and suggestions for improvement (especially in performance). - -We also actively contributed to software development. In particular, -let us mention the implementation of Gdome2 \cite{Gdome2}, a level2 -compliant DOM api written in C++ for the gnome programming environment, -that was mostly developed and tuned within the framework of the -\mowgli project, and GtkMathView (\cite{}), a rendering widget for -MathML. - -Summing up, \mowgli has been a very intense project, explicitly aimed -to {\em stress} XML-technology up to its very limit (and possibly a -little beyond, as in the case of stylesheets). The following paper -is just a report of our experience. - -Cenni sulla struttura del paper? Vediamo alla fine. - - -\section{The repository} -The aim of \mowgli was to test the feasibility of passing from a machine -readable to a machine understandable encoding of mathematical information, -and to explore the the new potentialities offered by such -encoding. -To this aim, we needed large collections of documents enriched with -semantic markup, and the natural solution was to use one of the many -interesting libraries of formalized mathematics already existent in -the world; in particular, we used the library of the Coq Proof assistant, -developed at INRIA Future. -This gave us a pretty large ($tot$) repository of {\em fully structured} -mathematical documents: the actual dtd contains {\em no textual elements -at all}. As a matter of fact, text is the most typical example of -information which is machine-readable but not machine understandable. -By banishing text, we intentionally adopted (here, as in many other -aspects of our project) an {\extreme} position, not as a phisolophical -choice or commitment, but as a mere working hypothesis. - -The actual details of the DTD are not so relevant here. Let us just say -that we had essentially two main classes of documents, characterized by -the different nesting depth of the markup: {\b proof objects} -(usually quite deep) and the corresponding {\b intermediate goals} -(relatively flat, being collections of formulas). - -Anticipare il perche' dell'enfasi sulla profondita', se (come -pensiamo) il comportamento risutla essere sensibile a questo -fattore. Se non lo e', cassiamo direttamente il discorso -profondita' (o semplicemnte diciamo che non sembra essere rilevante). - -Adesso mettiamo un po' di dati sulla libreria dimensione minima, -media max dei files, -idem per profondita' e larghezza. - -Cenni sul DTD? Spiegare se/perche' non abbiamo mai sentito bisogno -di una schema? - - - -\begin{thebibliography}{} -\bibitem{mkm03}A.Asperti, B.Buchberger, J.Davenport (eds). -Proceedings of the Second International Conference on Mathematical -Knowledge Management, MKM 2003. Bertinoro, Italy. LNCS, 2594. -\bibitem{mkm04}A.Asperti, G.Bancerek, A.Trybulec (eds). -Proceeding of the Third International Conference on -Mathematical Knowledge Management, MKM 2004. Bialowieza, Poland. LNCS 3119. -\bibitem{Gdome2} P. Casarini, L.Padovani. The Gnome DOM Engine. -Markup Languages: Theory \& Practice, Vol. 3, Issue 2, pp. 173--190, -ISSN 1099-6621, MIT Press, April 2002. -\end{thebibliography} - - -\end{document} \ No newline at end of file diff --git a/helm/proofChecker/.cvsignore b/helm/proofChecker/.cvsignore deleted file mode 100644 index aae07b862..000000000 --- a/helm/proofChecker/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.cm[iox] *.o proofChecker proofChecker.opt diff --git a/helm/proofChecker/.depend b/helm/proofChecker/.depend deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/proofChecker/Makefile b/helm/proofChecker/Makefile deleted file mode 100644 index af48d0a5d..000000000 --- a/helm/proofChecker/Makefile +++ /dev/null @@ -1,47 +0,0 @@ -BIN_DIR = /usr/local/bin -REQUIRES = helm-cic_proof_checking http -PREDICATES = -OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)" -thread -OCAMLC = ocamlfind ocamlc $(OCAMLOPTIONS) -g -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: $(PROOFCHECKEROBJS) proofChecker -opt: $(PROOFCHECKEROBJS:.cmo=.cmx) proofChecker.opt - -DEPOBJS = proofChecker.ml - -PROOFCHECKEROBJS = proofChecker.cmo - -depend: - $(OCAMLDEP) $(DEPOBJS) > .depend - -proofChecker: $(PROOFCHECKEROBJS) $(LIBRARIES) - $(OCAMLC) -linkpkg -o proofChecker $(PROOFCHECKEROBJS) - -proofChecker.opt: $(PROOFCHECKEROBJS:.cmo=.cmx) $(LIBRARIES_OPT) - $(OCAMLOPT) -linkpkg -o proofChecker.opt $(PROOFCHECKEROBJS:.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 proofChecker proofChecker.opt - -install: - cp proofChecker proofChecker.opt $(BIN_DIR) - -uninstall: - rm -f $(BIN_DIR)/proofChecker $(BIN_DIR)/proofChecker.opt - -.PHONY: install uninstall clean - -include .depend diff --git a/helm/proofChecker/proofChecker.conf.xml.sample b/helm/proofChecker/proofChecker.conf.xml.sample deleted file mode 100644 index 1f58c6c83..000000000 --- a/helm/proofChecker/proofChecker.conf.xml.sample +++ /dev/null @@ -1,11 +0,0 @@ - - -
      - 58084 -
      -
      - remote - http://localhost:58081/ - -
      -
      diff --git a/helm/proofChecker/proofChecker.ml b/helm/proofChecker/proofChecker.ml deleted file mode 100644 index e4f00fe3a..000000000 --- a/helm/proofChecker/proofChecker.ml +++ /dev/null @@ -1,133 +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 _ = Helm_registry.load_from "/projects/helm/etc/proofChecker.conf.xml";; - -let port = Helm_registry.get_int "proofchecker.port";; - -let (html_preamble, html_postamble) = - ((fun uri -> - (sprintf -" - - Proof-Checking %s - - -

      Proof-Checking %s:

      -" - uri uri)), -("

      Done.

      - - -END -")) -;; - -let bad_request outchan = - printf "INVALID REQUEST !!!!!\n\n"; - flush stdout; - Http_daemon.respond_error ~code:(`Status (`Client_error `Bad_request)) - outchan; - flush outchan -;; - -let usage_string = -" - - - ProofChecker's help message - - -

      ProofChecker

      -

      Usage

      -

      - Usage: http://hostname:proofcheckerport/command -

      -

      - Available commands: -

      -

      - help
      - display this help message -

      -

      - proofCheck?uri=uri
      - proof-checks the object whose URI is specified by uri -

      - - -" -;; - -let outchan = ref stderr;; - -let _ = - HelmLogger.register_log_callback - (fun ?append_NL msg -> - output_string !outchan (HelmLogger.html_of_html_msg msg) ; - flush !outchan) -;; - -let callback (req : Http_types.request) outchan' = - match req#path with - | "/proofCheck" -> - begin - outchan := outchan' ; - try - let uri = req#param "uri" in - Http_daemon.send_basic_headers ~code:(`Code 200) outchan' ; - Http_daemon.send_header "Content-type" "text/html" outchan' ; - Http_daemon.send_CRLF outchan' ; - printf "Request to proof-check \"%s\"..." uri; - flush stdout; - fprintf outchan' "%s" (html_preamble uri); - flush outchan'; - (try - ignore (CicTypeChecker.typecheck (UriManager.uri_of_string uri)); - with e -> - fprintf outchan' "%s\n" (Printexc.to_string e); - flush outchan'); - fprintf outchan' "%s" html_postamble; - flush outchan'; - printf " done\n\n"; - flush stdout - with Http_types.Param_not_found _ -> (* 'uri' argument not found *) - bad_request outchan' - end - | "/help" -> - Http_daemon.respond ~body:usage_string - ~headers:["Content-Type", "text/html"] outchan' - | req -> bad_request outchan' - -in - -printf "Proof Checker started and listening on port %d\n" port; -flush stdout; -CicEnvironment.set_trust (fun _ -> false); -Http_daemon.start' ~port ~mode:`Fork callback ; -printf "Proof Checker is terminating, bye!\n" - diff --git a/helm/schemas/13-dcagent b/helm/schemas/13-dcagent deleted file mode 100644 index de0e6b477..000000000 --- a/helm/schemas/13-dcagent +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - - - - - - - - ]> - - - - - - - - The Dublin Core Agent Core Vocabulary - The Dublin Core Agent Core Vocabulary - The Dublin Core Metadata Initiative - The Dublin Core metadata vocabulary is a simple vocabulary - intended to facilitate the discovery and description of agents. - English - 2000-03-13 - - - - - - - - - - - - - - - Agent - An agent - - - - - - - Person - An individual human. - - - - - - Organization - A group that that acts as an agent. Typical examples of organizations are associations, institutions, business firms, nonprofit enterprises, governments, government agencies, cultural groups, and religious bodies. - - - - - - Event - A non-persistent and time-based activity that acts as an agent. Typical examples of events are conferences, conventions, meetings, exhibitions, expositions ,festivals, athletic contests, workshops, and expeditions. - Name change and relation defined due to overlap with Event declaration from dc:type work... not sure how best to handle this... - - - - - - Object - A device that acts as an agent. Typical examples of objects are mechanical instruments, electronic services, non-human entities, and appliances. - - - - - - - - Agent Name - The formal or common name of the Agent - Typically, this would be the name which is used to refer to the Agent. The Family Name First Encoding Value Qualifier may also be used to express the order of the components of the Name. Vocabularies of Names may also be used as values for this qualifier. - - - - - - - - - Name Encoding Schemes - A set of name encoding schemes and/or formats. - - - - - DCMI Family Name First - The DCMI encoding rule in which the family name of the Agent appears first, followed by a comma, then all other names. - - - - - - - - - - Agent Affiliation - The organization with which the named Agent was associated when involved with the resource - - - - - - - - Agent Identifier - An unambiguous reference to the named Agent within a given context. - Recommended best practice is to identify the named Agent -by means of a string or number conforming to a formal identification -system. The recommended Encoding Value Qualifier is the Uniform -Resource Identifier. In some cases, the Agent Identifier may provide -or lead to more information about the named Agent. - This seems very wrong to me... again this seems like a syntactic mechansim for uniqly identifying some resource... this requirement is neccessary for all resource description and should be common (e.g. RDF) - - - - - - - - - Agent Type - The type of the entity for the named Agent. - The values are defined in the DC Agent Type vocabulary (referred to as DCAT1) which is maintained by the DCMI. Other terms may be used but are not recommended. - - - - - - - - diff --git a/helm/schemas/21-euler b/helm/schemas/21-euler deleted file mode 100644 index 22885d7f7..000000000 --- a/helm/schemas/21-euler +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - - - - ]> - - - - - - - The EULER namespace v1.0 - The EULER namespace v1.0 - Manjula Patel - Eric Miller - The SCHEMAS Project - Semantic declarations for supporting EULER - English - 2000-11-21 - - - - - - - - - - City and Name Encoding - The EULER encoding rule of the following format - City [(Country)]: Name - - - - - - - - - Physical Carrier - Physical carrier of information. The reason for -applying this EULER-invented sub-field is that the end-user should be able to -conclude if the resource described in the bibliographic record (displayed in the -hitlist) is available online or not. Example: book (= paper) -is the physical -description (compared to monograph which is an entity, irrespective of how it is -'delivered', in a printed version (paper) or in a file). The physical -[...] manifestation of the resource. Typically, Format may include the -media-type or dimensions of the resource. Format may be used to determine the -software, hardware or other equipment needed to display or operate the -resource. Examples of dimensions include size and duration. - - - - - - - - Carrier Types - Types of EULER Carriers - - - - - printed material - printed material - - - - - - hand-written material - hand-written material - - - - - - cdrom - cdrom - - - - - - dvd - dvd - - - - - - (dia)slide - (dia)slide - - - - - - diskette - diskette - - - - - - film - film - - - - - - audio - audio - - - - - - microfiche - microfiche - - - - - - microfilm - microfilm - - - - - - video - video - - - - - - object - object - - - - - - internet - internet - - - - - - media combination - media combination - - - - - - - Metadata Creation Date - Date of the creation of the original metadata record. - YYYY=Year, MM=month, DD=day. Use "01" for unknown MM or DD. Useful for - SDI services - - - - - - - EULER identifier - An unambiguous reference to the resource within a given -context: The purpose of this field is to identify the resource in other -ways than those provided by the other fields. This can be serial name, page-, -issue- or volume-numbers for journal articles or similar. (Can be used -differently in different databases, e.g. ISO 4-1984) - - - - - - - Full Text - The fulltext of web-pages and other resources available as a whole - - - - - Event location - Location of event for/at which the resource described in the record was -created - - - - - Event Date - Date of event for/at which the resource described in the record was created - - - - - Event Name - Name of event where document was created - - - - - Record Source - The source for the record i.e. describes which information - provider has delivered the record. - - - - - - Record Source URL - Identifier of source record for the description delivered in EULER. URL - pointing back to the original record at information providers' site. - - - - - - - Record Creator - Creator of the record (describing the resource), e.g. a reviewer - - - - - Address for delivery information - Meant to give the URL to the library where the resource described in the -record can be acquired. (Pointer to online-order forms etc.) - - - - - Additional retrieve/delivery information - Additional information that a user and a local library need to -retrieve/deliver the resource described in the record. - - - - diff --git a/helm/schemas/dces b/helm/schemas/dces deleted file mode 100644 index f0723c500..000000000 --- a/helm/schemas/dces +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - - ]> - - - - - Dublin Core Metadata Element Set, Version 1.1: Reference Description - - - - - - The Dublin Core Element Set v1.1 namespace providing access to it's content by means of an RDF Schema - The Dublin Core Metadata Initiative - The Dublin Core Element Set v1.1 namespace provides URIs for the Dublin Core Elements v1.1. Entries are declared using RDF Schema language to support RDF applications. - English - 1999-07-02 - 2002-05-22 - - - - - - - - - Title - A name given to the resource. - Typically, a Title will be a name by which the resource is formally known. - - 1999-07-02 - - - - - - Contributor - An entity responsible for making contributions to the content of the resource. - Examples of a Contributor include a person, an organisation, or a service. Typically, the name of a Contributor should be used to indicate the entity. - - 1999-07-02 - - - - - - Creator - An entity primarily responsible for making the content of the resource. - Examples of a Creator include a person, an organisation, or a service. Typically, the name of a Creator should be used to indicate the entity. - - 1999-07-02 - - - - - - Publisher - An entity responsible for making the resource available. - Examples of a Publisher include a person, an organisation, or a service. Typically, the name of a Publisher should be used to indicate the entity. - - 1999-07-02 - - - - - - Subject and Keywords - The topic of the content of the resource. - - Typically, a Subject will be expressed as keywords, key phrases or classification codes that describe a topic of the resource. Recommended best practice is to select a value from a controlled vocabulary or formal classification scheme. - - 1999-07-02 - - - - - - Description - An account of the content of the resource. - Description may include but is not limited to: an abstract, table of contents, reference to a graphical representation of content or a free-text account of the content. - - 1999-07-02 - - - - - - Date - A date associated with an event in the life cycle of the resource. - Typically, Date will be associated with the creation or availability of the resource. Recommended best practice for encoding the date value is defined in a profile of ISO 8601 [W3CDTF] and follows the YYYY-MM-DD format. - - 1999-07-02 - - - - - - - Resource Type - The nature or genre of the content of the resource. - Type includes terms describing general categories, functions, genres, or aggregation levels for content. Recommended best practice is to select a value from a controlled vocabulary (for example, the list of Dublin Core Types). To describe the physical or digital manifestation of the resource, use the FORMAT element. - - - 1999-07-02 - - - - Format - The physical or digital manifestation of the - resource. - Typically, Format may include the media-type or dimensions of the resource. Format may be used to determine the software, hardware or other equipment needed to display or operate the resource. Examples of dimensions include size and duration. Recommended best practice is to select a value from a controlled vocabulary (for example, the list of Internet Media Types defining computer media formats). - - 1999-07-02 - - - - - - Resource Identifier - An unambiguous reference to the resource within a given context. - Recommended best practice is to identify the resource by means of a string or number conforming to a formal identification system. Example formal identification systems include the Uniform Resource Identifier (URI) (including the Uniform Resource Locator (URL)), the Digital Object Identifier (DOI) and the International Standard Book Number (ISBN). - - 1999-07-02 - - - - - - Language - A language of the intellectual content of the resource. - Recommended best practice is to use RFC 3066 [RFC30 66], which, in conjunction with ISO 639 [ISO639], defines two- and three-letter primary language tags with optional subtags. Examples include "en" or "eng" for English, "akk" for Akkadian, and "en-GB" for English used in the United Kingdom. - - 1999-07-02 - 2001-05-21 - - - - - - - - Relation - A reference to a related resource. - Recommended best practice is to reference the resource by means of a string or number conforming to a formal identification system. - - 1999-07-02 - - - - - - Source - A Reference to a resource from which the present resource is derived. - The present resource may be derived from the Source resource in whole or in part. Recommended best practice is to reference the resource by means of a string or number conforming to a formal identification system. - - 1999-07-02 - - - - - - - Coverage - The extent or scope of the content of the resource. - Coverage will typically include spatial location (a place name or geographic coordinates), temporal period (a period label, date, or date range) or jurisdiction (such as a named administrative entity). Recommended best practice is to select a value from a controlled vocabulary (for example, the Thesaurus of Geographic Names [TGN]) and that, where appropriate, named places or time periods be used in preference to numeric identifiers such as sets of coordinates or date ranges. - - 1999-07-02 - - - - - - Rights Management - Information about rights held in and over the resource. - Typically, a Rights element will contain a rights management statement for the resource, or reference a service providing such information. Rights information often encompasses Intellectual Property Rights (IPR), Copyright, and various Property Rights. If the Rights element is absent, no assumptions can be made about the status of these and other rights with respect to the resource. - - 1999-07-02 - - - - diff --git a/helm/schemas/dcq b/helm/schemas/dcq deleted file mode 100644 index 04ea953a9..000000000 --- a/helm/schemas/dcq +++ /dev/null @@ -1,588 +0,0 @@ - - - - - - - - - ]> - - - - - - The Dublin Core Terms Namespace providing access to it's content by means of an RDF Schema. - The Dublin Core Metadata Initiative - The Dublin Core Terms namespace provides URIs for the Dublin Core Element Set Qualifier Vocabulary. Vocabulary terms are declared using RDF Schema language to support RDF applications. The Dublin Core qualifiers form a richer vocabulary, which is intended to facilitate discovery of resources. It will be updated according to dc-usage decisions. - English - 2000-07-11 - 2002-05-24 - - - - - - - - - Dublin Core Qualifiers - - - - - DCMI Usage Board decisions - - - - - Alternative - Any form of the title used as a substitute or alternative to the formal title of the resource. - This qualifier can include Title abbreviations as well as translations. - - - 2000-07-11 - - - - - Subject Encoding Schemes - A set of subject encoding schemes and/or formats - - - 2000-07-11 - - - - LCSH - Library of Congress Subject Headings - - - 2000-07-11 - - - - LCC - Library of Congress Classifications - - - - 2000-07-11 - - - - DDC - Dewey Decimal Classification - - - - 2000-07-11 - - - - UDC - Universal Decimal Classification - - - - 2000-07-11 - - - - MeSH - Medical Subject Headings - - - - 2000-07-11 - - - - - Abstract - A summary of the content of the resource. - - - 2000-07-11 - - - - Table Of Contents - A list of subunits of the content of the resource. - - - 2000-07-11 - - - - - Created - Date of creation of the resource - - - 2000-07-11 - - - - Issued - Date of formal issuance (e.g., publication) of the resource. - - - 2000-07-11 - - - - Modified - Date on which the resource was changed - - - 2000-07-11 - - - - Valid - Date (often a range) of validity of a resource - - - 2000-07-11 - - - - Available - Date (often a range) that the resource will become or did become available. - - - 2000-07-11 - - - - - - - Date Encoding Schemes - A set of date encoding schemes and/or formats - - - - 2000-07-11 - - - - W3C-DTF - W3C Encoding rules for dates and times - a profile based on ISO8601 - - - - - 2000-07-11 - - - - DCMI Period - A specification of the limits of a time interval. - - - - - 2000-07-11 - - - - - - - - - Extent - The size or duration of the resource - - - 2000-07-11 - - - - Medium - The material or physical carrier of the resource - - - 2000-07-11 - - - - - - - Format Encoding Schemes - A set of format encoding schemes. - - - 2000-07-11 - - - - IMT - The Internet media type of the resource - - - - 2000-07-11 - - - - - - - - - Language Encoding Schemes - A set of language encoding schemes and/or formats. - - - 2000-07-11 - - - - - RFC1766 - Internet RFC 1766 'Tags for the identification of Language' specifies a two letter code taken from ISO 639, followed optionally by a two letter country code taken from ISO 3166. - - - - 2000-07-11 - - - - ISO 639-2 - ISO 639-2: Codes for the representation of names of languages. - - - - - 2000-07-11 - - - - Is Part Of - The described resource is a physical or logical part of the referenced resource. - - - 2000-07-11 - - - - Has Part - The described resource includes the referenced resource either physically or logically. - - - 2000-07-11 - - - - Is Version Of - The described resource is a version, edition, or adaptation of the referenced resource. Changes in version imply substantive changes in content rather than differences in format. - - - 2000-07-11 - - - - Has Version - The described resource has a version, edition, or adaptation, namely, the referenced resource. - - - 2000-07-11 - - - - Is Format Of - The described resource is the same intellectual content of the referenced resource, but presented in another format. - - - 2000-07-11 - - - - Has Format - The described resource pre-existed the referenced resource, which is essentially the same intellectual content presented in another format. - - - 2000-07-11 - - - - References - The described resource references, cites, or otherwise points to the referenced resource. - - - 2000-07-11 - - - - Is Referenced By - The described resource is referenced, cited, or otherwise pointed to by the referenced resource. - - - 2000-07-11 - - - - Requires - The described resource requires the referenced resource to support its function, delivery, or coherence of content. - - - 2000-07-11 - - - - Is Required By - The described resource is required by the referenced resource, either physically or logically. - - - 2000-07-11 - - - - Replaces - The described resource supplants, displaces, or supersedes the referenced resource. - - - 2000-07-11 - - - - Is Replaced By - The described resource is supplanted, displaced, or superceded by the referenced resource. - - - 2000-07-11 - - - - conforms to - A reference to an established standard to which the resource conforms. - - - 2001-05-21 - - - - - - Spatial - Spatial characteristics of the intellectual content of the resource. - - - 2000-07-11 - - - - Temporal - Temporal characteristics of the intellectual content of the resource. - - - 2000-07-11 - - - - - - - Place Encoding Schemes - A set of geographic place encoding schemes and/or formats - - - 2000-07-11 - - - - TGN - The Getty Thesaurus of Geographic Names - - - - 2000-07-11 - - - - ISO3166 - ISO3166 Codes for the representation of names of countries - - - - 2000-07-11 - - - - DCMI Box - The DCMI Box identifies a region of space using its geographic limits. - - - - 2000-07-11 - - - - DCMI Point - The DCMI Point identifies a point in space using its geographic coordinates - - - - 2000-07-11 - - - - Encoding Schemes - for temporal characteristics - A set of encoding schemes for - the coverage qualifier "temporal" - - 2000-07-11 - - - - - - Resource Type Encoding Schemes - A set of resource type encoding schemes and/or formats - - 2000-07-11 - - - - - - DCMI Type Vocabulary - A list of types used to categorize the nature or genre of the content of the resource - - - - 2000-07-11 - - - - - Resource Identifier Encoding Schemes - A set of resource identifier encoding schemes and/or formats - - 2000-07-11 - - - - - Resource Relation Encoding Schemes - A set of resource relation encoding schemes and/or formats - - 2000-07-11 - - - - - Source Encoding Schemes - A set of source encoding schemes and/or formats - - 2000-07-11 - - - - - - - - URI - A URI Uniform Resource Identifier - - - - 2000-07-11 - 2001-05-21 - - - - - Audience - A class of entity for whom the resource is intended or useful. - A class of entity may be determined by the creator or the publisher or by a third party. - - - 2001-05-21 - - - - Mediator - A class of entity that mediates access to the resource and for whom the resource is intended or useful. - The audience for a resource of two basic classes: (1) an ultimate beneficiary of the resource, and (2) frequently, an entity that mediates access to the resource. The mediator element refinement represents the second of these two classes. - - - - 2001-05-21 - - - - RFC 3066 - Internet RFC 3066 'Tags for the Identification of Languages' - specifies a primary subtag which is a two-letter code taken from ISO 639 part 1 or a three-letter - code taken from ISO 639 part 2, followed optionally by a two-letter country code taken from - ISO 3166. When a language in ISO 639 has both a two-letter and three-letter code, use the - two-letter code; when it has only a three-letter code, use the three-letter code. This RFC - replaces RFC 1766. - - - 2002-07-13 - - - - Date Accepted - Date of acceptance of the resource (e.g. of thesis by university - department, of article by journal, etc.). - - - - 2002-07-13 - - - - Date Copyrighted - Date of a statement of copyright. - - - 2002-07-13 - - - - Date Submitted - Date of submission of the resource (e.g. thesis, articles, etc.). - - - - 2002-07-13 - - - - - diff --git a/helm/schemas/dctype b/helm/schemas/dctype deleted file mode 100644 index 184c032c7..000000000 --- a/helm/schemas/dctype +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - ]> - - - - - - - The DCMI Types namespace providing access to its content by means of an RDF Schema - The Dublin Core Metadata Initiative - The Dublin Core Types namespace provides URIs for the entries of the DCMI Type Vocabulary. Entries are declared using RDF Schema language to support RDF applications. The Schema will be updated according to dc-usage decisions. - English - - - - - - 2000-07-11 - 2002-05-22 - - - - - - The DCMI Type Vocabulary provides a general, -cross-domain list of approved terms that may be used as values for the -Resource Type element to identify the genre of a resource. - 2000-07-11 - - - - - Collection - - A collection is an aggregation of items. The term collection means that the resource is described as a group; its parts may be separately described and navigated. - - 2000-07-11 - - - - Dataset - - A dataset is information encoded in a defined structure (for example, lists, tables, and databases), intended to be useful for direct machine processing. - - 2000-07-11 - - - - Event - - An event is a non-persistent, time-based - occurrence. Metadata for an event provides descriptive information that - is the basis for discovery of the purpose, location, duration, responsible agents, and links to related events and resources. The resource of type Event may not be retrievable if the described instantiation has expired or is yet to occur. Examples - exhibition, web-cast, conference, workshop, open-day, performance, battle, trial, wedding, tea-party, conflagration. - - 2000-07-11 - - - - Image - - An image is a primarily symbolic visual representation other than text. For example - images and photographs of physical objects, paintings, prints, drawings, other images and graphics, animations and moving pictures, film, diagrams, maps, musical notation. Note that image may include both electronic and physical representations. - - 2000-07-11 - - - - Interactive Resource - - An interactive resource is a resource which requires interaction from the user to be understood, executed, or experienced. For example - forms on web pages, applets, multimedia learning objects, chat services, virtual reality. - - 2000-07-11 - - - - Software - - Software is a computer program in source or compiled form which may be available for installation non-transiently on another machine. For software which exists only to create an interactive environment, use interactive instead. - - 2000-07-11 - - - - Service - - A service is a system that provides one or more functions of value to the end-user. Examples include: a photocopying service, a banking service, an authentication service, interlibrary loans, a Z39.50 or Web server. - - 2000-07-11 - - - - Sound - - A sound is a resource whose content is primarily intended to be rendered as audio. For example - a music playback file format, an audio compact disc, and recorded speech or sounds. - - 2000-07-11 - - - - Text - - A text is a resource whose content is primarily words for reading. For example - books, letters, dissertations, poems, newspapers, articles, archives of mailing lists. Note that facsimiles or images of texts are still of the genre text. - - 2000-07-11 - - - diff --git a/helm/schemas/schema-h b/helm/schemas/schema-h deleted file mode 100644 index c852385f4..000000000 --- a/helm/schemas/schema-h +++ /dev/null @@ -1,272 +0,0 @@ - - - - - - - - - - - - ]> - - - - - - - - - - - The HELM Element Set v0.1 - The HELM Object Element Set v0.1 - The HELM Project - The HELM metadata vocabulary is a simple vocabulary - intended to facilitate discovery of mathematical resources. - - English - - - - 2000-6-3 - 2002-9-6 - - - - - - - - Mathematical objects represented by a CIC XML -file - - - - - - - Mathematical resources (directories) represented by sets -of CIC XML files, contained in the tree that has the dir as root - - - - - - Types of objects - - - - - Terms of objects - - - - - - - Positions of occurrences of an object inside an object - - - - - Additional information associated to fragments of the objects - - - - - Constants in the body of an object - - - - - Identifiers in the statement - - - - - Identifiers in the body - - - - - Implicit arguments - - - - - - - Occurrences of an object in head position of some hypothesis - of an object statement - - - - - - Occurrences of an object in the hypotheses of an object - statement - - - - - - Occurrences of an object in head position of the - conclusion of an object statement - - - - - - Occurrences of an object in the conclusion of an object - statement - - - - - - Occurrences of an object only in an object body (not in the - statement) - - - - - - - - Statement - - - - - - - Body - - - - - - - Statement identifier - - - - - - - Constructor identifier of the statement conclusion - - - - - - - List of all ids in the domain - - - - - - - - Body identifier - - - - - - - Reference to an object - - - - - - - Position of an occurrence - - - - - - - Implicit arguments of constructors - - - - - - - Implicit arguments of objects - - - - - - - List of implicit arguments - - - - - - - Backwards pointer: who points the object - - - - - - - Position of an occurrence - - - - - - - Postit - - - - - - - Content of a Postit - - - - - - - Identifies the object fragment (Xpointer) which Postit -refers to - - - - - - - If the object can be a coercion - - - - - - \ No newline at end of file diff --git a/helm/schemas/schema-hth b/helm/schemas/schema-hth deleted file mode 100644 index 10e20c083..000000000 --- a/helm/schemas/schema-hth +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - - - - - - - - ]> - - - - - - - - - - The HELM Element Set v0.1 - The HELM Theory Element Set v0.1 - The HELM Project - The HELM metadata vocabulary is a simple vocabulary - intended to facilitate discovery of mathematical resources. - - English - - - - 2000-6-3 - 2002-9-6 - - - - - - - - Mathematical resources - - - - - - Mathematical resources represented by theories - - - - - - Theory items represented by: axiom, fact, definition, theorem, lemma, corollary, variable, specified by a XPath expression - - - - - Creator contact information - - - - - - - - - - HELM File text types of a mathematical resource (possible -values of the Dublin Core property type). Possible values of the rdf:about -attribute can be: Abstract, Paper, Bibliography, HomePage, LectureNotes, -Monograph, PatentSpec, Preprints, Proceedings, Review, Separatum, Serial, -TechReport, Thesis, Enclosure, General. General describes a document not of -the previous types. A helm theory has no type per se. Subclass of dcq:Text -which is an instance of the TypeScheme class - - - - - - HELM File software types of a mathematical resource -(possible values of the Dublin Core property type). Possible values of the -rdf:about attribute can be: Exec, Source. Subclass of dcq:Software -which is an instance of the TypeScheme class - - - - - - - - - Instance of the class FormatScheme to describe HELM File -formats of a mathematical resource (possible values of the Dublin Core property -format). Possible values of the rdf:about -attribute can be XML.cic, XML.hol, XML.mizar. Each Helm format describes -a logical framework. The class dcq:IMT contains values as text/xml, text/xhtml, -text/mml, text/ps, text/tex, text/pdf. - - - - - - Instance of the class IdentifierScheme to describe HELM -identifiers - - - - - - - - - Short name (alias) of the mathematical resource - - - - - - - - - - Any additional information about the first version of the -mathematical resource - - - - - - - Any additional information about the modified version of the -mathematical resource - - - - - - - Affiliated institution of the creator of the mathematical -resource - - - - - - - - Contact of the creator of the mathematical -resource - - - - - - - - A relation between mathematical resources - - - - - - - - A relation between mathematical resources - - - - - - - - A relation between mathematical resources - - - - - - - - A relation between mathematical resources - - - - - - - - A dependence between theory items (for instance: between a theorem or anything else and a variable) - - - - - - A dependence between theory items (for instance: between a variable and -a theorem or anything else) - - - - - - A dependence between theory items (for instance: between a theorem and -a corollary) - - - - - - A dependence between theory items (for instance: between a corollary -and a theorem). Alternatively: IsResultOf - - - - - - A dependence between theory items (for instance: between a theorem -and a lemma) - - - - - - A dependence between theory items (for instance: between a lemma -and a theorem) - - - - - - - - Theory item - - - - - - - Dependence between theory items - - - - - - - Axiom, Fact, Definition, Theorem, Lemma, Corollary, -Variable. Redundant info: it is already captured by the corresponding xml data - - - - - - - Description of the kind of objects: data type, -algorithm, specification, theorem containing algorithm, verification (that the -implementation satisfies the specification), predicate/relation, proposition - - - - - - - - A Definition item can be a coercion - - - - - - - - Identifier of a theory item - - - - - - - E-mail of the creator of the mathematical -resource - - - - - - - Address of the creator of the mathematical -resource - - - - - - - - diff --git a/helm/scripts/init.d/daemon_respawner.sh b/helm/scripts/init.d/daemon_respawner.sh deleted file mode 100755 index 7bbe47a10..000000000 --- a/helm/scripts/init.d/daemon_respawner.sh +++ /dev/null @@ -1,147 +0,0 @@ -#!/bin/bash -# -# Generic respawner for daemon processes. -# -# Created: Fri, 16 Apr 2004 17:40:36 +0200 zacchiro -# Last-Modified: Fri, 16 Apr 2004 17:40:36 +0200 zacchiro -# -# by --Zack -# -# Test to see if a daemon process (run via /etc/init.d/script) if still alive, -# if not it respawns it using the corresponding init script. In order to check -# if the daemon is still alive different predicates could be used: -# 1) "ps" check with its pid -# 2) http request to its url (if it's a web services) -# all the available predicated can be enable or not (command line choice), all -# the enabled predicates are ANDed. It's enough that one of them fails to -# trigger daemon respawning. -# -# This respawner is supposed to be executed by "start" target of daemon's init.d -# script. -# -# Sample /etc/init.d/foo script: -# -# DAEMON="/usr/sbin/foo" -# PIDFILE="/var/run/$DAEMON.pid" -# start) -# echo -n "Starting $DAEMON" -# start-stop-daemon \ -# --start --background --pidfile $PIDFILE --make-pidfile --exec $DAEMON -# echo "." -# echo -n "Starting $DAEMON respawner" -# /etc/init.d/daemon_respawner.sh -p $PIDFILE \ -m root@localhost \ -# -r http://localhost:9999/help -d `basename $0` & -# echo "." -# ;; -# stop) -# echo -n "Stopping $DAEMON respawner" -# /etc/init.d/daemon_respawner.sh -d `basename $0` -s -# echo "." -# echo -n "Stopping $DAEMON" -# start-stop-daemon --stop --pidfile $PIDFILE -# rm -f $PIDFILE -# echo "." -# ;; -# ... -# - -# parse arguments -TEMP=`getopt -o p:r:d:i:m:s --long pidfile:request:daemon:interval:mailto:stop -- "$@"` -if [ $? != 0 ]; then - echo "Usage: ./daemon_respawner [-p|--pidfile ] [-r|--request ] [-i|--interval ] [-m|--mailto ] -d|--daemon " - echo " ./daemon_respawner -d|--daemon -s|--stop" - exit 1 -fi -PIDFILE="" -REQUEST="" -DAEMON="" -INTERVAL="60" -MAILTO="" -STOP="" -eval set -- "$TEMP" -while true ; do - case "$1" in - -p|--pidfile) PIDFILE="$2"; shift 2 ;; - -r|--request) REQUEST="$2"; shift 2 ;; - -d|--daemon) DAEMON="$2"; shift 2 ;; - -i|--interval) INTERVAL="$2"; shift 2 ;; - -m|--mailto) MAILTO="$2"; shift 2 ;; - -s|--stop) STOP="yes"; shift ;; - --) shift; break ;; - esac -done -if [ -z "$DAEMON" ]; then - echo "No daemon provided: aborting." - exit 2 -fi -MYPIDFILE="/var/run/$DAEMON""_respawner.pid" -if ! [ -z "$STOP" ]; then # stop an active respawner and exit - if [ -r "$MYPIDFILE" ]; then - kill `cat "$MYPIDFILE"` - fi - rm -f "$MYPIDFILE" - exit 0 -fi -if [ -z "$PIDFILE" -a -z "$REQUEST" ]; then - echo "Neither pidfile nor request URL was provided: aborting." - exit 2 -fi - -TIMEOUT="5" # timeout for http requests - -# usage: alert -alert () -{ - if [ -z "$MAILTO" ]; then - echo "ALERT: $1" - echo "ALERT: $2" - echo - else - echo "$2" | mail -s "$1" $MAILTO - fi -} - -# check if daemon is still alive -daemon_is_alive () -{ - IS_DEAD="" - if ! [ -z "$PIDFILE" ]; then # pid check enabled - if ! (ps `cat $PIDFILE` &> /dev/null); then # pid is no longer alive - IS_DEAD="true" - fi - fi - if ! [ -z "$REQUEST" ]; then # request check enabled - if ! (wget -T $TIMEOUT -O /dev/null "$REQUEST" &> /dev/null); then - # no answer - IS_DEAD="true" - fi - fi - test -z "$IS_DEAD" -} - -# respawn daemon -start_daemon () -{ - rm -f "$MYPIDFILE" - invoke-rc.d $DAEMON stop - invoke-rc.d $DAEMON start & - exit 0 # the respawner will be restarted by daemon's init.d script -} - -# first check -sleep 1 -if ! daemon_is_alive; then - alert "$DAEMON failed to start :-((" "$DAEMON died during initialization :-((, enjoy debugging! :-P. Cheers." - exit 3 -fi -# save pid -echo $$ > "$MYPIDFILE" -# continuous checks -while true; do - sleep $INTERVAL - if ! daemon_is_alive; then - alert "$DAEMON died :-(, restarting it ..." "$DAEMON died miserably :-(. I'm going to try restarting it, you will receive an additional mail in case of failure. Cheers." - start_daemon # performed in background - fi -done - diff --git a/helm/scripts/init.d/etc_default_helm b/helm/scripts/init.d/etc_default_helm deleted file mode 100644 index b284b5dd3..000000000 --- a/helm/scripts/init.d/etc_default_helm +++ /dev/null @@ -1,35 +0,0 @@ -# Configuration for helm daemons - - # DAEMONS started/stopped/ecc. by /etc/init.d/helm, name listed here - # must correspond to scripts located in /etc/init.d -DAEMONS=" - helm-http-getter - helm-proof-checker - helm-uri-set-queue - helm-draw-graph - helm-search-engine - helm-uwobo - helm-rdfly -" - - # script used to load/unload uwobo predefined scripts -UWOBO_INIT_SCRIPT="/projects/helm/etc/init.d/loadPredefinedStylesheets.pl" - - # http getter cache dirs that need to be created at boot time -HTTP_GETTER_CACHE_DIRS=" - /tmp/helm - /tmp/helm/cache - /tmp/helm/cache/cic_library - /tmp/helm/cache/rdf_library - /tmp/helm/cache/nuprl_library -" - - # user which will own the daemons and the cache directories -OWNER="sacerdot:helm" - -export HELM_GETTER_URL=http://mowgli.cs.unibo.it:58081 -export HELM_UWOBO_URL=http://mowgli.cs.unibo.it:58080 -UWOBO_PANEL_CONF=/projects/helm/public_html/uwobo/panel/control.html -NUPRL_UWOBO_PANEL_CONF="/projects/helm/nuprl/NuPRL/uwobo-panel/control.html" - -# vim: set ft=sh: diff --git a/helm/scripts/init.d/helm b/helm/scripts/init.d/helm deleted file mode 100755 index c58a15d50..000000000 --- a/helm/scripts/init.d/helm +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh -# -# init.d script for HELM daemons -# -# by --Zack -# Created: Tue, 8 Oct 2002 17:18:17 +0200 -# Last-Modified: Tue, 8 Oct 2002 17:18:17 +0200 - -DAEMONS="" -if [ -f /etc/default/helm ]; then - . /etc/default/helm -fi - -case "$1" in - - start|stop|restart|force-reload|reload) - for d in $DAEMONS; do - /etc/init.d/$d $1 - done - ;; - - *) - echo - echo "Usage: /etc/init.d/helm { start | stop | restart | force-reload | reload }" >&2 - echo - if [ -z "$DAEMONS" ]; then - echo "Actually, no daemons are considered!" - else - echo "Actually, considered daemons are: $DAEMONS" - fi - echo "to change this setting see /etc/default/helm" - echo - exit 1 - ;; - -esac - diff --git a/helm/scripts/init.d/helm-bootmisc.sh b/helm/scripts/init.d/helm-bootmisc.sh deleted file mode 100755 index 37decf723..000000000 --- a/helm/scripts/init.d/helm-bootmisc.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -HTTP_GETTER_CACHE_DIRS="" -if [ -f /etc/default/helm ]; then - . /etc/default/helm -fi - -# create http_getter cache dirs -for d in $HTTP_GETTER_CACHE_DIRS; do - if ! [ -d $d ]; then - mkdir -m 2775 $d - OWNER=`echo -n $OWNER | sed -e 's/:/./'` - chown $OWNER $d - fi -done - diff --git a/helm/scripts/init.d/helm-draw-graph b/helm/scripts/init.d/helm-draw-graph deleted file mode 100755 index 70859c08d..000000000 --- a/helm/scripts/init.d/helm-draw-graph +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh -# -# init.d script for HELM draw_graph.cgi -# -# by --Zack -# Created: Wed, 9 Oct 2002 11:12:01 +0200 -# Last-Modified: Wed, 9 Oct 2002 11:12:01 +0200 - -DAEMON=/projects/helm/daemons/graphs/tools/drawGraph.opt -USAGE="Usage: /etc/init.d/helm-draw-graph { start | stop | restart }" - -if [ -f /etc/default/helm ]; then - . /etc/default/helm -fi - -NAME=`basename $DAEMON` -PIDFILE=/var/run/"$NAME".pid - -do_start () { - echo "Starting $DAEMON ..." - start-stop-daemon \ - --start --background --pidfile $PIDFILE --make-pidfile \ - --chuid $OWNER --exec $DAEMON -} - -do_stop () { - echo "Stopping $DAEMON ..." - start-stop-daemon --stop --pidfile $PIDFILE && \ - (if [ -f $PIDFILE ]; then rm -f $PIDFILE; else true; fi) -} - -case "$1" in - - start) - do_start - ;; - - stop) - do_stop - ;; - - restart) - do_stop - do_start - ;; - - *) - echo "$USAGE" >&2 - exit 1 - ;; - -esac - diff --git a/helm/scripts/init.d/helm-http-getter b/helm/scripts/init.d/helm-http-getter deleted file mode 100755 index a6c18ae46..000000000 --- a/helm/scripts/init.d/helm-http-getter +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/sh -# -# init.d script for http_getter -# -# by --Zack -# Created: Tue, 8 Oct 2002 17:18:17 +0200 -# Last-Modified: Fri, 16 Apr 2004 18:21:30 +0200 - -DAEMON="/projects/helm/daemons/http_getter/http_getter.opt" -USAGE="Usage: /etc/init.d/helm-http-getter { start | stop | restart }" - -if [ -f /etc/default/helm ]; then - . /etc/default/helm -fi - -NAME=`basename $DAEMON` -PIDFILE=/var/run/$NAME.pid - -do_start () { - echo -n "Starting $DAEMON" - start-stop-daemon \ - --start --background --pidfile $PIDFILE --make-pidfile \ - --chuid $OWNER --exec $DAEMON - echo "done!" - echo -n "Starting $DAEMON respawner" - /etc/init.d/daemon_respawner.sh -p $PIDFILE \ -m root@localhost \ - -r http://localhost:58081/help -d `basename $0` & - echo "." -} - -do_stop () { - echo -n "Stopping $DAEMON respawner" - /etc/init.d/daemon_respawner.sh -d `basename $0` -s - echo "." - echo -n "Stopping $DAEMON" - start-stop-daemon --stop --pidfile $PIDFILE && \ - (if [ -f $PIDFILE ]; then rm -f $PIDFILE; else true; fi) - echo "." -} - -case "$1" in - - start) - do_start - ;; - - stop) - do_stop - ;; - - restart) - do_stop - do_start - ;; - - *) - echo "$USAGE" >&2 - exit 1 - ;; - -esac - diff --git a/helm/scripts/init.d/helm-proof-checker b/helm/scripts/init.d/helm-proof-checker deleted file mode 100755 index 9ea0eaffc..000000000 --- a/helm/scripts/init.d/helm-proof-checker +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh -# -# init.d script for HELM proof checker -# -# by --Zack -# Created: Wed, 9 Oct 2002 11:12:01 +0200 -# Last-Modified: Wed, 13 Nov 2002 18:30:39 +0100 - -DAEMON=/projects/helm/daemons/proofChecker/proofChecker.opt -USAGE="Usage: /etc/init.d/helm-proof-checker { start | stop | restart }" - -if [ -f /etc/default/helm ]; then - . /etc/default/helm -fi - -NAME=`basename $DAEMON` -PIDFILE=/var/run/$NAME.pid - -do_start () { - echo "Starting $DAEMON ..." - start-stop-daemon \ - --start --background --pidfile $PIDFILE --make-pidfile \ - --chuid $OWNER --exec $DAEMON -} - -do_stop () { - echo "Stopping $DAEMON ..." - start-stop-daemon --stop --pidfile $PIDFILE && \ - (if [ -f $PIDFILE ]; then rm -f $PIDFILE; else true; fi) -} - -case "$1" in - - start) - do_start - ;; - - stop) - do_stop - ;; - - restart) - do_stop - do_start - ;; - - *) - echo "$USAGE" >&2 - exit 1 - ;; - -esac - diff --git a/helm/scripts/init.d/helm-rdfly b/helm/scripts/init.d/helm-rdfly deleted file mode 100755 index ef17cd239..000000000 --- a/helm/scripts/init.d/helm-rdfly +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh -# -# init.d script for http_getter -# -# by --Zack -# Created: Tue, 8 Oct 2002 17:18:17 +0200 -# Last-Modified: Wed, 8 Jan 2003 12:09:41 +0100 - -DAEMON="/projects/helm/daemons/rdfly/rdfly.opt" -USAGE="Usage: /etc/init.d/helm-rdfly { start | stop | restart }" - -if [ -f /etc/default/helm ]; then - . /etc/default/helm -fi - -NAME=`basename $DAEMON` -PIDFILE=/var/run/$NAME.pid - -do_start () { - echo "Starting $DAEMON ..." - start-stop-daemon \ - --start --background --pidfile $PIDFILE --make-pidfile \ - --chuid $OWNER --exec $DAEMON -} - -do_stop () { - echo "Stopping $DAEMON ..." - start-stop-daemon --stop --pidfile $PIDFILE && \ - (if [ -f $PIDFILE ]; then rm -f $PIDFILE; else true; fi) -} - -case "$1" in - - start) - do_start - ;; - - stop) - do_stop - ;; - - restart) - do_stop - do_start - ;; - - *) - echo "$USAGE" >&2 - exit 1 - ;; - -esac - diff --git a/helm/scripts/init.d/helm-search-engine b/helm/scripts/init.d/helm-search-engine deleted file mode 100755 index cda415fdd..000000000 --- a/helm/scripts/init.d/helm-search-engine +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/sh -# -# init.d script for HELM searchEngine -# -# by --Zack -# Created: Fri, 22 Nov 2002 15:51:25 +0100 -# Last-Modified: Thu, 6 Mar 2003 17:40:16 +0100 - -DAEMON="/projects/helm/daemons/searchEngine/searchEngine.opt" -USAGE="Usage: /etc/init.d/helm-search-engine { start | stop | restart }" - -if [ -f /etc/default/helm ]; then - . /etc/default/helm -fi - -NAME=`basename $DAEMON` -PIDFILE=/var/run/$NAME.pid - -do_start () { - echo -n "Starting $DAEMON" - start-stop-daemon \ - --start --pidfile $PIDFILE --make-pidfile \ - --chuid $OWNER --background --exec $DAEMON - echo "." - echo -n "Starting $DAEMON respawner" - /etc/init.d/daemon_respawner.sh -p $PIDFILE \ -m root@localhost \ - -r http://localhost:58085/help -d `basename $0` & - echo "." -} - -do_stop () { - echo -n "Stopping $DAEMON respawner" - /etc/init.d/daemon_respawner.sh -d `basename $0` -s - echo "." - echo -n "Stopping $DAEMON" - start-stop-daemon --stop --pidfile $PIDFILE && \ - (if [ -f $PIDFILE ]; then rm -f $PIDFILE; else true; fi) - echo "." -} - -case "$1" in - - start) - do_start - ;; - - stop) - do_stop - ;; - - restart) - do_stop - do_start - ;; - - *) - echo "$USAGE" >&2 - exit 1 - ;; - -esac - diff --git a/helm/scripts/init.d/helm-uri-set-queue b/helm/scripts/init.d/helm-uri-set-queue deleted file mode 100755 index 415abdee6..000000000 --- a/helm/scripts/init.d/helm-uri-set-queue +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh -# -# init.d script for HELM uri_set_queue.cgi -# -# by --Zack -# Created: Tue, 8 Oct 2002 17:18:17 +0200 -# Last-Modified: Wed, 20 Nov 2002 10:50:25 +0100 - -DAEMON=/projects/helm/daemons/graphs/tools/uriSetQueue.opt -USAGE="Usage: /etc/init.d/helm-uri-set-queue { start | stop | restart }" - -if [ -f /etc/default/helm ]; then - . /etc/default/helm -fi - -NAME=`basename $DAEMON` -PIDFILE=/var/run/$NAME.pid - -do_start () { - echo "Starting $DAEMON ..." - start-stop-daemon \ - --start --background --pidfile $PIDFILE --make-pidfile \ - --chuid $OWNER --exec $DAEMON -} - -do_stop () { - echo "Stopping $DAEMON ..." - start-stop-daemon --stop --pidfile $PIDFILE && \ - (if [ -f $PIDFILE ]; then rm -f $PIDFILE; else true; fi) -} - -case "$1" in - - start) - do_start - ;; - - stop) - do_stop - ;; - - restart) - do_stop - do_start - ;; - - *) - echo "$USAGE" >&2 - exit 1 - ;; - -esac - diff --git a/helm/scripts/init.d/helm-uwobo b/helm/scripts/init.d/helm-uwobo deleted file mode 100755 index a5ab6c76a..000000000 --- a/helm/scripts/init.d/helm-uwobo +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/sh -# -# init.d script for http_getter -# -# by --Zack -# Created: Wed, 15 Jan 2003 15:14:07 +0100 -# Last-Modified: Fri, 16 Apr 2004 17:54:54 +0200 - -DAEMON="/projects/helm/daemons/uwobo/uwobo.opt" -USAGE="Usage: /etc/init.d/helm-uwobo { start | stop | restart }" - -if [ -f /etc/default/helm ]; then - . /etc/default/helm -fi - -NAME=`basename $DAEMON` -# Warning: $PIDFILE value is shared by UWOBO respawner, change at your own risk -PIDFILE=/var/run/$NAME.pid - -do_start () { - echo -n "Starting $DAEMON" - start-stop-daemon \ - --start --background --pidfile $PIDFILE --make-pidfile \ - --chuid $OWNER --exec $DAEMON - echo "." - echo -n "Waiting for UWOBO to startup (2 seconds) ... " - sleep 2 - echo "done!" - /etc/init.d/helm-uwobo-stylesheets start - echo -n "Starting $DAEMON respawner" - /etc/init.d/daemon_respawner.sh -p $PIDFILE \ -m root@localhost \ - -r http://localhost:58080/help -d `basename $0` & - echo "." -} - -do_stop () { - echo -n "Stopping $DAEMON respawner" - /etc/init.d/daemon_respawner.sh -d `basename $0` -s - echo "." - echo -n "Stopping $DAEMON ... " - start-stop-daemon --stop --pidfile $PIDFILE && \ - (if [ -f $PIDFILE ]; then rm -f $PIDFILE; else true; fi) - echo "done!" -} - -case "$1" in - - start) - do_start - ;; - - stop) - do_stop - ;; - - restart) - do_stop - do_start - ;; - - *) - echo "$USAGE" >&2 - exit 1 - ;; - -esac - diff --git a/helm/scripts/init.d/helm-uwobo-stylesheets b/helm/scripts/init.d/helm-uwobo-stylesheets deleted file mode 100755 index 9c0201446..000000000 --- a/helm/scripts/init.d/helm-uwobo-stylesheets +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -# -# init.d script for HELM daemons -# -# by --Zack -# Created: Wed, 9 Oct 2002 14:26:27 +0200 -# Last-Modified: Wed, 9 Oct 2002 14:26:27 +0200 - -UWOBO_INIT_SCRIPT="" -if [ -f /etc/default/helm ]; then - . /etc/default/helm -fi -test -x "$UWOBO_INIT_SCRIPT" || exit 0 - -case "$1" in - - start) - echo -n "Loading UWOBO stylesheets (mowgli) ... " - $UWOBO_INIT_SCRIPT $UWOBO_PANEL_CONF > /dev/null - echo "done!" - echo -n "Loading UWOBO stylesheets (mowgli NuPRL) ... " - $UWOBO_INIT_SCRIPT $NUPRL_UWOBO_PANEL_CONF > /dev/null - echo "done!" - ;; - - stop) - $UWOBO_INIT_SCRIPT --unload $UWOBO_PANEL_CONF > /dev/null - $UWOBO_INIT_SCRIPT --unload $NUPRL_UWOBO_PANEL_CONF > /dev/null - ;; - - reload) - $UWOBO_INIT_SCRIPT --reload $UWOBO_PANEL_CONF > /dev/null - $UWOBO_INIT_SCRIPT --reload $NUPRL_UWOBO_PANEL_CONF > /dev/null - ;; - - restart) - $UWOBO_INIT_SCRIPT --unload $UWOBO_PANEL_CONF > /dev/null - $UWOBO_INIT_SCRIPT --unload $NUPRL_UWOBO_PANEL_CONF > /dev/null - $UWOBO_INIT_SCRIPT $UWOBO_PANEL_CONF > /dev/null - $UWOBO_INIT_SCRIPT $NUPRL_UWOBO_PANEL_CONF > /dev/null - ;; - - *) - echo - echo "Usage: /etc/init.d/helm-uwobo-stylesheets { start | stop | restart | reload }" >&2 - echo - exit 1 - ;; - -esac - diff --git a/helm/scripts/init.d/loadPredefinedStylesheets.pl b/helm/scripts/init.d/loadPredefinedStylesheets.pl deleted file mode 100755 index 700cf68f5..000000000 --- a/helm/scripts/init.d/loadPredefinedStylesheets.pl +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/bin/perl -w -use strict; - -use LWP::UserAgent; -use URI::Escape; - -my $usage = <) { - chomp($l); - if (not $inForm) { - if ($l =~ /
      /) { - $inForm = 1; - } - } else { # in form - if ($l =~ /<\/form>/) { - $inForm = 0; - } elsif ($l =~ /

      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 diff --git a/helm/searchEngine/html/manual/index.html b/helm/searchEngine/html/manual/index.html deleted file mode 100644 index 8efa276fc..000000000 --- a/helm/searchEngine/html/manual/index.html +++ /dev/null @@ -1,40 +0,0 @@ - - -Search Engine Interface Online Manual - - -

      Search Engine Interface Online Manual

      -

      Index

      -1.
      Roles of the frames
      -2. How to compose a low-level query
      -3. How to compose a pre-defined query
      -

      1. Roles of the frames

      -

      -The interface is composed by five frames, as you can see below.

      -

      -Each frame has its own role, in particular:

        -
      • frame 1 contains the query as it is, the frame is refreshed whenever you modify the query.
        -
      • frame 2 contains all the available options for the composition of the query, it's where most of the interaction happens.
        -
      • frame 3 contains the form used for the submission of the query and various buttons to modify it.
        -
      • frame 4 contains the grammar.
        -
      • frame 5 contains online help.
        -
      -

      -

      2. How to compose a low-level query

      -

      -In order to compose a low-level query, you must click the "compose a query" button in the main page. Here's what you'll get:

      • In frame 1, you have the query in its actual state, so at the beginning the frame is empty. Later, the frame will be updated automatically on every change of the query and will contain hypertextual links in this form: [?<production name><production number>]. Possible names are "set","val" and "bol" and they represent the main productions of MathQL grammar. By clicking on each of these links you'll obtain the visualization of possible options for the corresponding production in frame 2, allowing the sobstitution of the link with what will be selected.
      • Frame 2 contains, in order: the identifier of the production you are choosing (e.g. [?set1] or [?bol3]), an "undo" button, a "redo" button, the options list, a "compose" button to confirm your choice, a "get help" button to know the semantic meaning of the selected option. The options list is composed by various radio buttons, sometimes you'll have only to select one of them while sometimes you'll have to fill input areas with identifiers, paths or other things: anyway, whenever an input area gets the focus, a help about what you can write there will appear in frame 5.
        -
      • Frame 3 contains a textarea with the query, a "submit the query" button, a "restart" button (it will bring you to the main page, erasing you query) and an "apply changes" button to modify the query.
      • Frame 4 contains the MathQL grammar.
      • Frame 5 contains various help messages, whenever an object gets the focus a message will appear there.
      -Being "set" the main production of MathQL, at the beginning frame 1 is empty and frame 2 contains the menu for "set". You should choose one option by clicking on its radio button and then press "compose". The interface will perform a syntax check of what you entered and should something be wrong a message will appear, otherwise the query will be updated. Afterwards, the query will appear in frame 1 and in frame 3, and frame 2 will display the menu of the first production found in the new query string. For example, in the picture below you see the interface after the selection of the 10th production inserting "positions" as the requested identifier. As you can see, frame 2 now displays the "val" menu.

      -

      -Now your options include following the instructions in frame 2, choosing a different production by clicking on a link in frame 1, or manually modifying the query by writing the changes in the textarea in frame 3 and then clicking "apply changes". Obviously "undo" and "redo" buttons will allow you to recover from mistakes; just DON'T use "back","forward" and "refresh" buttons on your browser since they will cause unpredictable errors. Once the query is completed, the "submit the query" button will display the results in frame 2.

      -

      3. How to compose a pre-defined query

      -

      -There are actually three pre-defined queries, Locate Object, Search Pattern and Match Conclusion. By clicking on "submit a pre-defined query" in the main page, a small menu with the three options will appear in frame 2.
      -Locate Object is very simple, you must enter the name of the object to search in the text box and click "display results".
      -Search Pattern, which takes a CIC term and finds theorems which have it as thesis, and Match Conclusion which takes a CIC term and finds theorems which have it as conclusion, have an identical interface, being the only difference in the output. -First thing to do is to insert a list of aliases (you may skip this step since the search engine will ask you later about ambiguous interpretations of your query if you don't know objects names, for example), then you must compose the CIC term. Composing a CIC term is pretty much the same thing as composing a MathQL query, except that the term is usually so short that there is no need for links, undo buttons and the like. While composing the term, you may modify your list of aliases (i.e. add or remove them) anytime by clicking "edit" in the frame 3. When the query is completed, the "submit" button will display the results in frame 2, and the server will ask you to solve ambiguities, thus adding aliases to your list. Once a result is displayed, you may want to submit a different query but keep your aliases; in this case, just click "new expression" in frame 3. The "edit" button will work even in this phase.

      -

      -

      - - - diff --git a/helm/searchEngine/html/moogle.html.src b/helm/searchEngine/html/moogle.html.src deleted file mode 100644 index eca23d339..000000000 --- a/helm/searchEngine/html/moogle.html.src +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - -
      - @RESULTS@ -
      - - - - - diff --git a/helm/searchEngine/html/moogle.png b/helm/searchEngine/html/moogle.png deleted file mode 100644 index 07570d07a9f9771b3afbcc59b4d551e928e5b14a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16808 zcmXt=b97u^w8!tnw$WG(8{4+osIhIcaT+(a)1NIuE}wOJWf5t#a=oiBxK}Jx+%l}Co3bXs zllj0!3qz69>Oq0fasNU?UlnNGMqO7d+!>^;A_}473it25MUumfkV`8&2K_*T7&c93 zsHdvGwauRa_bD>=iuO26G%#zVF4Xb=Dy$F-m2#cx^+!HETNjLaE`?-T@l0! z5wEr^E$+WBCSCkwZo1v&14y4_NBrJC0v0AidVxNcL9@g$20ZgY8|0Ah4X{_Oh=Brq z#Kf?CfRU#bM1Wg=1%0>A`$J~tw?U_h)zh^M;+p=cvL>&~;u?}i&i9t8CbO=^U{4@W zU~0N95Be%l+H*4_7tXfGbP;+8GlwWGmghcQ8ogN6N;lx*=E;ChHS;PN*z{C6JMF0j z|H@j;X@}>LgoRA09cR-P#b@cq@VF3SX~bR9hpFwjq zDDQMW)x5D#?y75MN&iq#9JHzB5!Pz-V~2ayonf>K=SN=nTRfu`u-H0En+YS>I}8Ya z1oChVyzO_j0zErbiwoA8^(HWdri(ycX>@a?ho>7QF8p|J@k79~pl?0HXegS5N*p4O zBXC&>iwfDZiU$iQ#6khQ?U0C>17{uYAQ#KUQ>7_~Ri5isy$qeyJ#G;+?zkP#9Oe|+ zmXEmM-|~m&U%paqvO7Ms&jLVu(e{fW^pLqI!=P?f&ovP$5kS=UG!|EgW{t%lTi;L= z9ux$Q`4GIBgB&HsUn%L($7p}ip{oXbgQu6e&X>EK_w5P&f%*U?3QF*=IyP?>D&aV^ z2_gd!%rL?J-5aO?|Kv)OU)5ihQIO(*Uw^bDE@W;i4-{}Rp@G8zn&-GgkJhdl4&FTo z%7pHV4E_#Lh9yjNIviu%Qw;t3CAX9m0z`fpEKd2GR(kg_u(#Bg)y`njZQ@?+xi5^{i#VCy$J>A$(nvZ-caqGal`@$>J5vN-PNteVw7z(-|) z6B3r@W^*S9q#~T=$F3W*T%o_tf~nHhpP`}2(b0iGv~So7IXeua8GGL`t;cZn?uDiH zP8@J?v92Xlh*sW0hX!NuM;PWRnN)my=DY0^Rh+J^sk!}M9HrKfgB-;{K*C)u!>AL{ zXx(5Gk^3pTZpM6ed){XZVACa69{(vXK}nWesazaxOD7c~kTh{g!6O)%932`6>_KCw zv|D0Z1z)WFcV)bS@qtK2bm(DdqLkn2IU&ccK#(JMs^ye$SypwFq&0lF?`^}9qId+H zqwo7m2Pf5?Z3{Pc60_`nf+Pk9hl3OPFoD6|x>Ok8Q6dR&J+J4H%1*G0i)zCF+UvFW zar3_BgVUrz1nMZG4cyf7^mgH@iXo0egHJ%nEh>Ho) zdrjqDM*{#L73FLc&}gKnS}SK0cE(oo0v$qh3>d5(E`mP8~GGQdjNge&WbIo)X z%z?mGrvsiHHJ~SaC|Yj^_#sICUNQMJW3=5OmQng z0tvN}cXH(DLJ88Oct0ZkUT2-?W)ss)81X;bP_aR2M;G$~XrK-vXQG}S7NpNS45PA% zlyIWlL`+VmjfpQaU?92xq$!f0(2X{eh? z(%eJ{&u^eeG;$e#ae^AIGO&7oO-K^@H%2%wREyPAIZiaNF}2Tln9x9*I}K6H1(%K9&guU?gNM zvUvmt^;S|a8gS37a--BqqaYO-tP*hDW+gDIQq&xP#x3y_erKKw&$b5ifRotG0*X8e zB=AGr|I}uzEnd+vH<2f`K+BvhBBqd8MV8oR>n{k>+pS|K>dsfg{J+T~A-9yoz4l@+ zWE{-^@gPwl#tSAK3yOnp_XR`BOo_quipsrXYnmi%2xbW3;m_le*ou~!A_!i{mNnxn zFnG>cVkKP_ycnZF^hKb}Z8tA16A`PkXYJ`2rd{NaV@t_Nc?Ho~uNOrGfXjdAvn~!f zsBqIPB!zs>&?FUK@ic+XyaVQzJ3K9T$6s)Iu87s#h}-5(VrNF;>)?mWWONx_KEA+C zVBdtkJGU8a%jdRudY$D%~_ zh@DKF3rSw%k5NB5adwkk8iVNx}6>1K)Wu> zSFx-0E5+tpPpmTvmjVk~WKa}VC;h)0R6zu>K68D>g$o(pzm~TnW}6w)1+?&gl3B~} z!|8C&q;jS2P=C71_`Oh#$2#e2++_7!2yChow8HQ1%oPFnlSuD$jCvLEf=@K&qb^4w z#K-GvTNxR*5q+Lp83eFa9C!bQNcGf645n0hy^ebN7dSb%I?cDDtNyv5Can`~=bYOt zfbxtJx@+_tw0AFT76@^kK)`LO$af3?sV7cA$iRE6_#5f7T1gcmPa_2)cS~?GW2S~cf!!j>Y0>_!GnSLl*NgI^d`Z@ z7PmY#>}O0Y(z9o|k@XlZKbCZuK=gS|=Qy1#5)n=t*g$4K$D3!i1y-CLI1`k^hB3gt zg5|gWy@1;aHI{`8V^W+r2jV8^Q0anRgzL5N{@bQL&r94vkI+yyf zw3+oxLOR*J#p^TfQmhgwl6$Nv#B|yFQDz2i4ch@zm9bn#JXS-|4}$g14~O^Mk7_Sd zC`o7}!S}287cKs`#S0MBo5AD8dSH4Y*0gUhj~JpgsBd!Y(B>ypkwkc}8pY?(Q?c=Ceo%wDOLPY)p! z$dfewOtys}A`YR3S9HYm(9C7Xc~N+wx3Y>wkA-0JG79xaB(r9+k~-yrt7hEsZ^ch_ zlDBCOm1?&oh(NT+{>}Z9ll^fRicT?L=Vy)ZeI`A^d|61Vi zSbzrWch-g&QfyJBWeN?%1S`-rGQd5$fV!*3^h@tQh7sY_a{+L?>xt|kTNvw0JYcYl zSKQaXae^1i}LKK#Rt4qM@E@no%CLo3BvH@OHK+EMFD3~hl3z5 zM5Q)Mvx_eOyWQ5C`@2fulH@|jZ9K}H!;bP96Ud`Qzyg{5wp&3i4v+ltpS(gJPOuA~ zCaj2EpSo|2wfT5+x#BV;_`%&b<>C!5D`~7F(q;6vKDzGnSY5OD;+_`p;Me|8BLwMx z=XrBvL4uEDpJhB3MgRd!3St?spizJMC4>M~W9%6ou@U ziy#9=<@V@8a(7v0kbx2lepMGSZ0%hSXO5roQ^d?pS}rPF<{bh8#x*W7K^P4=D}B!k zDq|EF$IOSZ3+NP;)G!*n8Ld{zec4EX%(~sY@PzIjt4$sK?oXiF+V+s3xF^@QiIP;R z**fwj4_3lv6#iFKWT0%>f1)6NMX>IESK#mZBn7 zd+VhW(Ul^N*UXCu-Be514A|Mg$_HO(irnG*qyvbWHF{CKtGtLJ`z5nyyYM zmfAlSI`aqi7OFl*^b>Q7=6c0z&h-U=viN>g!w#3-Ad)^c)Ga@GYm~da#NoFEeH0~o z#+~nU{rLRHNsm{kR@L!twrRq<;9A;Mz-BkveE9S3O>0%$^x-gacy>Dyd$yAOF#Es_ zo&f-?n4Xx7h*!_EI;hTbL%xmsjinv{d1B+F82>(Qw=$O7nwpvtw#Yb&aT+MA3CMf@ z6u^}v*ZW;>bF}Jp{fHA!(uL8Ql8|6ZKYdYZP0y zon(GAzjb|Ip81X$SzX;V(bcsssG)&uJ;kqJG1Jha9Ku@mjcD2&tt2osHvTck_wWA& z`E5jBnH8f`f4HdLm39pvwRkBL@ft1t`nEM8SL5VR@F0ldzw4YaUnWvYU~xHs$xVU? zoPT1RrN);Qcx!&LUpL7AIcRxH`Qnu>h z55dLhd~<`vrF#ZK?U#_3a*^+CdSo*SW|W)n^>cR%dWIsXwLM17z+G-6#_@!A}Z4!7?-3QpKE zR+wj35Nl#DQ)ys`qf2(i2U^|}A2V^0zl4cAbo(@t2u!~$9C+|{O+!Ha#7M1x@5l=s zZt*=WBs4$K6o&wcU|=xl7qa|U0oV8)61afJV9Oxz60nfBm(-&^<#YV~^20=> z>MIjABcvOpDBMm`he)%PS5gdk`kMF;n23O^m$jEFe%CvX{CpfVxnLp*PLCRj1aIF0 z>(AJcsrfb&+U;+%T>a-A3olMiC>Yd0&lYND=gaV~@!0X|bZs{tyA>v}Kj-!~XT>Da zgh9K~xf%>;B;{H0;*^2jlzzHKd8U>bnns#5#*jS+=#VBE7{E3e*0~B+nEaG!f74m- z)|>z#@zUIE=0s_`eW!JLMR{Zp)MxX2Bfx_V9e!NxM`71D5U}pI)q%T=*tE%ju7*ds zWzL=*@H;`Li<>Q=*Y^R{Od>TxoYGmIAZV#+yy)dut{*Be1IuS%#RpzmvLEJ2j(PMo zW|QOegkR62sz@c2Wy?jZa%L)PzLWTMUTy%odEr?u~ z6CPQeM(@f2xCpX0DFco;?ln{ACw<0!|Cr)mpqD#7&MBDVvLUdN<-0^r= zvk3u8@px}jn@qa_yeM8}>x6!7m)Z*e~R;0w> zRw7Su6ej~oz+;jFzoC9#5;&A0Rg_RG^6BZ+5v@hSW46h5F|8*wt&l7$yWE@s$v}F} zc+Vqc&Uoj=@iA9l_)xxq&O*JVWc!|jGGjSmyVN}mEhJrxQA-J%Cfy^X3r!t9^_T){ z@9U03Z@r^_M}xbHfWovqZ-@u3x8Po8eQ$gY4wYM_{Ts09hcgjaMs7f{4y_7TRmVVyMcyRv&1Qv6EYcX+3v`DBB zV=u+82`Qe$*7&j=2AZbDt>sH3mo-AAPgw)mCb(F~puo^f&?a-uZW}B|KXWYPP3=%~ zz1@oK+VRRl_zWWl%T&Ky$cbRGA|E22k*utE0yd9F9#0`ODA%WXlcU? zQNP&9=bd@uZGPyIg@cxH#%d7>==l;>fDHtmtP2dsPjx zzsGRA7nqSTItpr%`*%|wwZ0#DCix!P8NtAwKI1WE?UY&a2WS)Gi07bT#P`bxmxqdk zX54%SR^OTu*@k-`I&DLFu-K9-yp;>GI=< zV(S@3Cn4oGRG~g4bp|+|vf7E*tzK7&j5L zK_%@m`TrvRP{oQ0Dn*KCF={Ylf;%QV2od7q)5?Z=%=FjY`b#ln5hGWdY@HSMM1+Vz zgg$>*7#65O)LW;oB(D;3!E+wAd#tisyF6PI@+_7UqT<}3Qg;El&O2GikepFnw%M|w>j$$p&Az3Xh6`Pt?t4%!bk`&L7|-Qr>6txTrl%RM1%v0H+pW+N zYwP8opV(R`zT(oa6rS@{rgo=Lxjo$Ce(C5Dw*F7JyJ<;n>!j|)O`Q~1a1AfkK^q4u zQYMot5W{9?i^Fl+W^QNq{0i*+xjSz`TNunpo+7(5dKSjgsmr0^LV+$j-veI^atx< z5Rc7v#dKk?Ly;0VwATTE;33S&AA#G_307C!a@%fEes_1^7C=#08BvtW4#Rix02&}r zq7%zd1`$whKSToH!o-+LmB{C*m(!4F!Zhv5qC(f!G!HgA4?Rc_olI$+A&#Z19oQXQ z3Z$n%5>VXRBSZeq)1R>m9a46u`1nPUD@rQU>{0f^ONlM=lJV~l+{^H_I_dV<55hHz zp)tq){kmOgM)~S)KdDbR*V*n7Ys!i3YkGIw?7!dUCgk7pRR7VLM|Sv&RkRi(7QMj8BO7 zdmtr3(}ogot@c2T>`Jp80%<^OmGy@LgQ@_nH%Ej-i5%Tp`1G{#auc;vr`qI`je+(0 z)i>XBQ7U=hO$b=-5%w$?EBeZbg(6dk43t(HV@3|~A1y!Jldf_am%VI8v*Sp?D^Mol z6(C|eUMWldhT-@|=`J4pM>1i&*3(aYP`(QtPDN>qtT=;RDbh4hA~075WTC?+;L>eU zQ;Ox>&v zUZtJV$Ph@FWiv2evlCcHWiYM(H zGiU>>ey3>GRxWrcKc&nUqT+}_+%ccV!gNZZ8_KE0;PNW_k_YbA7PshL||6%!OSw9Bxj;Ll6`nOOxsmV5!X z`P0X<>&LVP;7vwQ2D%Y2+ZL#s@kiw2vWd@tK-&vdzm=Rf0Bz4J4%bnZ(}s^=y7Ay) z^?FOo-{+$`VXQg<$>sX`QOiEy;NLx>kZ)SYzVDgiw=x%897QO|US)1|`h^KY7Q=Ea zYwHsTDZlx`;LImuh&juAMnNf3j>#j54nm&WFw0N?$6v~Y?k zaDq(O0Vl}d9)XWuwIx4i|Cx2tm9_w|pQxkxy8_@XjojKn*#36t`@OX>9y1_hU&dNmjO2Cg*9c zQNsofBdpu6f|?RGb*OlmI^4u%(5-%wSXIW8vz7X2{5aNZ^_-GNyPnH~NsykeG{!xr z^B*r(_dpJpW(bcX?MYpO7;@R}Rd)PXPa_QY2)y5=I7&dLVH6@Ts}9hb-F5@3Z3KYM z?NWHdzFvFC)CCaa$AIR7jQNBG1swAKbcb5z!{KytG5I=QWX}-5cHJ+p`2c$(sj@Af zbnpb0(?0SC0|mw23Kpku;mGGSYCD5mP(x;SEI3^AgFQR$j*F=--YVZb&ha1LBgA_` zOZrc$XgKRQ?ovin!80g_N&_LfN(ys+jrP#6;4NwQX)QSacYTid&sN+-R;*O_sOP_` zoTaKESixcP=BI2d2Uz{B>dh7Ho!F#;j1vuZK1UFNxHOKoSW?Kw(X9U(IE23!%J+zC z=@AC1bT0TP$??S26s078 zg7go<{al#E){L*6+Q@Jcd_&}17V}?K=FNGQM#&K1!ghnhInOn4Q<34(he*VX&@tpB ziq9x-a1@>#ET>5)@zntXxQyX(!R3a%ex;sEUd-^u!-p3yWZ^Fn!}*n%>CVd(U9NAq zzWsM7m9tm)<=?A}oG`}bVYvM6TWfP@dQH2`+B!PoThI)lRgP{+zY9^I&c8CX3O#55 zycEdu?od<6PY=UTnc05@0@u!VlILp&Jf(PAzL;w2298VY>{*al9&-=flUPUg^D=b~ z1YBp`MV=z!1{57Ns6k?IC60ZQWj)rXRfFdFyqOPO_-lFe+k6uIFdZx8%uf-YRQ1zWs9^)(je z>;!E56=x2KLp+*Y)|l@^D4&kCeXqZ%UzTiJ)Z6Ky@ZQ;TAk0?sa`r_@fR>aTKU8Gt z5-NCWY333TGz2XRc;=XR3!g>^2{SWxRQ8fdLF6mc401Ndj^tkik#nHYc4=eG<@0%= zSn@Z(ef{t+H|l6#*_K~uIK?~kO>eV6f$3g~Dl4$-0_MCs(|rEJ(+P2>XSWqHf^^x6 zS}Ej!5&ye9UFp*l>QG{#l^B(8_{aaV0Kt@>!0qk%n0shb8nO;ch^Hr5(k(}y@qWSSuYW6~-j6lshRZU6?1`|BFPlK2*fOX5{{5X7Zq{n8pCu;M z?N3!_Htbiu4y)-3Bhm;uj3m!t>KHb-J(vb9i+V|z&I`N6W@3*f*&rNYVp-Qa*8!ehLehPbR%@NZ)Hybd#Gu-T4%68g7oXIR!CFjv?*1tAz<6%S zhL?@u>g7$12UIqeX_`TG@yD2sP4&18#UzLZ+1>nXA`-ACDnt<4V;{>OB+<{zmvNr-5ig2sLxiR(?XuQe%&M+XoQ#p0?`4gH=!q^Ll6LSn zGc)7Mq%6wl&zdhhcf{CiMz}9-HpMap(}2-#w4~z7v~jzHotz?s!yG>F3L0kC5TbIr zUZn)!ps+8NQ)0IgK)pTFA#MLLJ?zA3)K&eCx;KN9>HNkZPqq%_hp|0@lj3Dxm`CGAwv; zl7nTW2F#3;$@EkL<9?@=nA0pO|%MeESc zeVAL;8~}11vI_KdV7XuvqYc^!CahLk{NnD@g3rbJw3G)M4;m#k55B@0GYU^>8qik9!dP*j@y;f zaJ|}oSz#l-qr!oa@LqEF3?YxwjmPH8dqmnwB$FRRv- zUM*1tnG^emBN-Zq9+DK6oZaT)EY3F9D%xd^S1}er^gisB%w<^P2KQ}C7=$?4S$qZg z7;|pE7^$6$J`WBq(DHFUNwGfa&Ly${5N+*u6d<7JT_HNSlFrD=??*}!5j zcvR_`)l-2lJ2nx+Ww8zf=AKy2!Bx0y)I z(B`>uU@I75v>tvoS*zN(Ti@PC3=;#@?xH?|^3*@?rMahi@uzXsmeGN8-jw>dQwLW3 zi0#iqE&l*vw5P1Iz8f~DtN_+dx3>sH$c%Fgn+Z|>yrXK5H!bIdpisj6$~r2BlX;ZK zrP=2QYa7^H5lY{y0k_C3B%oKAg*26=N-@G$J_^6?MzLZpL3v=Bn6KfjCNU7A@ae4O z#p1`hGedeWvDR0da%)Ks;zV#)=Dg#(7|qN!4hb{R1n<&^xaEk~hp1s?48C=OaP3Bw zQ?np)!mZ7!GB)n;;G|ZZqmA(#C}eAT(PIBu%%o?XVg8Nifv*}TIDM%kn3^!)pOcJl zqsZ}*)y2OFEUjtmL8N7f6z`E*_qr+vw^AcQh5w8%K8@~u_wcQKTTr@FkH5mdtsPIV zd94dzNtc8^a#{GbdRb1-l0r~V2*vZ6KIiK#KFJ8@vzD{A|9jQ^`eR9RBIVW8TSoQ7 zU+n;ebdcFot3@QH8=U_>$;oMARGRmJ*>}2P^L*_gLhZSIRB0e^E36{G|F0~UO0qP2 zbygG3l`^!VQnx9#1`Qm`tjN*N2Tl%_O&ocdG($Wjs4wvtvM>X!*b*Y$G}j@Se4)EN zMW{y4FxqSupN-(WlU4`V$|&fj>AxV_Ro$ZZG})1(lP_KbEYN}7qRD6wv(~D&*2|vZ z(Z`*dogFMMY&iSb?|W<5*LUc%RKvqXWB9dl!{^O{QDz=`GfO6n?W-0rH?f$6^>tkC z%P;S6)oFX(4*LQhS&!4h=anQRnpim;f5sl=VWdR@6AXpngB!1L%LhtWyfc{ysf?Ph zI5Nev<*v&%y!8xv^R77~Jyr8ObpexY%|0i{9jc+{i_^37FjUrf&oLaB6*d~#gpJV? zL;H0Fg=A>_%5s$74&Ezi+SI`UOYBWwxu5~)F|+VI89VM&#;x*>_7E)VIg{gRd8s+o8@C|OgnY`8_VOncXSg*gj%+-}!R0yd!V_$Q7pgCbS)Z*e# z6xRjoxjJ&p1ll_1zjF(8^K6dxK%|xDjb3e{DY>(B3?)(XjLkTbTjN)=;uT6k%^G}x zlI2u&c5Gnt)#bV^Xa26rhIglM<07}<=<7U~dZ4Pr3b-jA8y=-!Y1^F2^%SP(_RF#0 z4DN*e8Um`U1Q{LG^-o)NQbYhz{5ioq3@mWlDl#**{YZxFZ*Zy^aX=WQaqU8O!d+TwL8!UhH~)uHb4|(kkF{KW%-hoP&ya&ZQmOWH7|kvXb-} zOfSXv6s85>3PQKSC^9CJ9u%CrU`~<_hPD|EGo+)C_@94gNE40Arnl=&j~^&J4C%iz zE%bh`CS-l4+C@7`%lQNg8DBTY<5|PY@5l}#&-no1xjfm@02Jz+*xQ?X4MIxfETHAk ze@|;-4*=%^l5X$$wDms!Yx0*Q+$9GC_S@-t?~VG3*0ZIx83PQ97C z)gkb*<+O>?;*ylKb*wVc8Rf8RBgg<|g!s3#>iCg-*@;0udVzQ41&50rp7WnX#ey2f z{5))VUzv4Y!wwF$I`E3|8AMzR8j$wH*;CShlweR*ia6T+}D~6isnl5)le-7j7-WmDyM>vV%N6oY}2= z?_Sf)auus*_;!REAKCmo)b1!{^L=HelG~|WI^5VZ-}MUoj|eF+fIKpL&oJHtlg@On z+0RC0|G3~WUHAIA{5XjtHT(N|3Q@bC=iV45y`uL@>(KGT(GC4MZ)Ok;bhX=Tolb8F zv%?bmOnBkBN?M1>W(fW8zij@^7nnY5`qez6uV-YPzv0Y6Y42ft-`=fTMk-OLh)4Dr z{@iy2_0LuyTIsZ;=ldT|enBmi!JR7}7b5JyR7*YPjy9VzA(3fy7H9m0<%uG;bl335 ztZyn3?j0{`S@)rweNdxuT5-{d#4*5Q)Nm^bQ}}}(V$Z}DAr2Kik-1^%cZUd%c^QEJ31Z{r zeqErw_so?&r2`3btdIGd3G1nBc!O~DTj&_|*P3r;yD67Y49j)DMRcx8Wu1kkk?ws- zr&l;2artNd43r|P|M+KVlbYp~ezMZrRm+|G8F4fSFM>7-BYq;X|C^fv1epffx(|T zwE!^J2k{LB5FfaH2?0pK*xO&3KZqK0*b(x7kqV>Q8PKi9+icSH94frSzOq`a-A{{? zi#*a<#AM7p51`K5Wp+q&KeRu@uBnSgNLLhDI|B^p++_R##^vsP;%Owl?=gSDgaLtF zjNHq1T;r5oqgx0@XX4kFNENvlA?K9{m3;b1a96l!NR|O7dT<*Yf^miMXxv6H&N9f@ zu6#kwD$v-K4OB#cJ!6Gh-xtwl?p06KAe*V#xDNH`(;HyLxH*iPc!mQu`ci>wUp z!DhL{D_gFBZ{joGX!_3G^l5)2iWc%&u5`= zUo?5rTZ*>G-NLI$6as)c40Q3^GEG!wZR!??duxc zr$TX4*v|2Q2a#6Zt*$RrJNPbxT|!a}#qQ0{bKfal$K@{yzi`#WBWa@whN8&nuRQq; zO20P9>em-c2qg7-S+t~wX1;9NHLvP(XN~-|8AAFIs1)u&^#dObBSTS4L?|IbB(~y- zb;$XeN-Je;R#rMxP3H06uN7v2xBiQb>AUOb`LjOt+@-epmY2-`&R*m`FW!6jdV>A= zzU#JQhf2dmUfC*=jt>@}98PSEM3Wg)G}w1XEzli4wg zB_Zyw^VBql;$;hTF(CFBl>kQK@_(ZCw9wWNkxQns>wBtk2_JmCLhv< z%*Lf%HAnyjRVl0J>m9M;qxx_EKVzS6E)_Q}B|J~Dt)*PFHlFtD(@vJycZp25eY1Rv zj>`5IUm-jpB-$EUy^JgO1$vP(E8Bz&KJ<4|`)->a6vf26rG3zNKna_ykUT?cOlwXj zn=}*ol_wdxvJxwUUs7zOk!3wU=oVI+h);Kb>{E8)-HePMLSDZma8c0y_oWQ zTG7E3QeFQWGSc$F)s$m?pWhiT%{pU|LH{{|g*zI0vBm}flkWm=yOPK^@)wV~7{F`( zZw!?AxqnioJb1S^{D!UZ<;JCV+vNwRXG+SnZYG{v6>`KoWV&jGhFYbxvJ3_!2w_kn zWgT!ihc|^UFnsNZYu^v=vm1m&^lw6f<~+LQKK&|xcnLwo8H<-Jj4B8fGd9>n&zj3S zl5caMwA#xzaX1-L;+!Jp>##5Wg4%n%cR#<7TYKJd+L4q+RP#00>-Wa$T87tU>0)Wq zD9-OCyYblOMh2bv+4+5#%z{Kxt})c_f3!JR6T}A#f_t}m`zrj)Y`VdUNaoo}Lz=;% zR;-c}2q1>X5H-zoQv}U>pTnORdQ6`7p7)m;UamhO?xUh0spn3raPu;bTH6tJ9oZxE z4{D^$mMDLKSL%62mrTmpKG=Z9iT=3i4dFKGVv{oO!s;rk z^r3ymIS2GdVFd2@7$deN_v& zg&X4$s}VSYeF|E|?E&%eW~m+(_wQWUwFvCL?3CRODCk-5<+4Y7OISJiSsV`>P(Z>| z7+K6I=iVpfLAib>0{K&>y~X+Y`PlKf2Jj(HX#`3-Turb{;#jS!R5^1Wa^o>q@Ao&o8NKW1sy8$os*@fT{dK zr6RxxtYoXy@9lfT6m~o6bteUH8o=t@Oa}$(4J?~Z@RdcJRa9uP-kXM74v90ruwC#O z-s3+NR9n2g8#Pet68=gs!*A`^JGWiAzuel6%N_uOs}>&l&R}lWHiA1|a8K-F-T6Mf z^p{TWzqx;~!TvJW(FL1|)Jiuk9}P$frAfN1bVT0vYA;5o34`22@W6F3sATN9Zr@W|s}8_V(Phm1wI6b!*_lfqd@?G(w#_U!!G{{OOaV7qA+ zBI)pAPW^1?CVj#YrIQ1uP3^BV4H(;c@Nacv&6F*hjJGv#9g*mMZTNj#6o$E^zml{< zLj0swrT_po0fKUnzhWnI8-}3*A#HekAqqQTmio7)CjA4rRSg4ubqsx0n$~=xSgRkV zdOP)UdI*>M z*-dX}Wsi@s@%(^~#Z}>{i-(um?-&CJXsD@XI;oAfx43-mM;7)d`tHVp*{ZR=UocQG zMUPEtmzT@ZwC~RsI$dZ@AU#l0?5T)s6w^O0nTx<0*%2ZkA|AY>K#u_n%xv*CeK_Oj zjaV&xbysw*?7FygZ#q271_92q-`jLL%Mr6h>10 z^R?krG(XScuKK)MoIF9sqOP^dyx)uy1n8>Um}-T>>uF(9<--}{zZz&L@n4N3%WEzq z4%;$i%A>&Kyc6H!>VfOeCCsC1M5S8KqZqaw8>SzH312x4S@=U)mRZHX!2OQP^4*6! zn&j+J$2ZSJH(UFPfKx6vf0>FX*p;T6r`LG@3cvekJ_Bz_CS6U=(#$Y&f6AHQ4JBo% zI(hD?^6s;!`=bft7%I|6yBpc`AF}*d3bUUxBE^IE%PT6%lg*t$&1i$TKl(ybc+hss z$kBn{RAF$OfMtbCNzy@;NYB4BJX>-Ic`m11RUlI}q~bfKZbn6gES-cj9QnquD`P`u z|8$Z=Aljd3XJH6H*T_=w7cWVqbR4wMUXpW}$jbBZz%NKJ%85)pE6`~*7p6SZp4kO@ zUxjtB2^8`u(xV=PjKe(_ENrFYjGQmBJ|4Q9x|GJy-~)t(paiAHXUY9n3(u`s_l#I* zftFWcHLN%Mtu`;(BlheO|AHedV1NFf(NiUD9BN-YCkmvfspu-I^IVZ=zVhc3*X;cp z7>?^U<094197K`TCpvSFpq>j<$v?(Akzo1%emSMN9O%hp*K38nrTw=hvv%x<=8RN-OTm=iC z>=PUe6=dPJ9>1xB)Az9$0?C&b!^dEOaFY+?cZ~g9`Y%xq z;wQN4H;#OH5Iv~}3ydo2EMuuq>5y^eg_m2*!lImZ-qg^qiAGes{yt2O=JeM|wfUA3 z=-QiSMNs|GvKikm3CRy&{ZgepB%%4$H!l~q>ch*zVx$a7_GLe4LPG{ha&GIIytDA@ zjc8oRG*elLRfc&G!IS8h8jD#xXB_e2A>1$W`%t5Qod)S1CFU`9MSB@+LJrK$^irup z81TN4ZkV)n7Tl1!>@UaqP+fj`Q3_9a6(G{ zf43i9%GENQWbGtEM@qwRyn+HGnRTp5fV_y}WKoc?V_d8=Vd`&n++A8UItC1Kh%3HW zkGKJTGdyZ6gykj$T4SD6sAN&W{%v2%Ui2qu;9u+BIS#XKDjx}RJ!B8o3$fjW>G@Jw z`)#yN8Re?)joD3ghpCF#+Y!ScLUE!>-7G!{V0xRVq;#EH^Mjem()MZld7}Fa^?fge z=v`w^s=;By^JVhj?V#H*aPUCAO$we0yd|ZyUjgG84c@sXX`QvUj{s19QIbs-m)?-3 z?$PCmMvfaG(f6W>=x{*_qvw|t>K`qOv0EwI#zlbEUvMi-E~OK&_}TAET}eUNQJQSB z<4GP#yZ@F5rZ%vs)P261|F&ya|D0bW)dT{_BN;~9*tenMJy253if65|#HQ4$pPuw4gOkos6p!RhQFy;Bj%J`rq^%`6~0+myb z)LA!XoTKs$R!L33kub{3kq-t&JxN(&SdXeioqar!@EiRkE0#pu4Sa`oQ+KBz)rA?T zhaHiK1`cA-DGQe~#bJO42(-roHnT%?##}nIdBA^Iq+aLNy?JDy;V zkB^r%Z(7X)n?!s96-*iZqSJLm>M`EyE4*!8PkNQAhN3JTcXK^TUH)!vy~ezB#-TI~ z(!B*e7zgM^r^DPhvoEI5vPYwMqr{BS^|1EC;Q~#ok653>b^1QVzKx1srSb$HEwaR^jzZjo$)USP5 zcfUTW)Eu-Ks55*ZX&gC`n;F2O*0}sbRR0X_fp&E zSfy9zX!fsRWkwYH^%6Z|vyjfZ%RfA8fw}Q&ODp-8!k!r!#UVkF-pzAD4>^UovVt)~ zc8QPSIRQqs^gdUb%NicrmGu@kG+{8skh7t-+~h{6&t*!|V}BwIH70Rglehof zMyetV4+SZckcBH<`Q7JYg};U&7Im_I#LNYP2Ix6~LtQ=X@)C@QW^b~rV}OI*uA6I zGM`TZ=d;OoUtWdaK9EBKJGpV&ymct#CY-kVCX}}DNulxBChY?O=7@6@uzg~==3B3K z5X*%ZzO*5>CWicF>rcXxB+e*Hgfv8Npo{P(5==s*crwpbGrKMGi-PzT%YbdVCg^&w zVr}ieO~>-#KEJI?KexaN?Ho}iV*P#pR!9C_%=i!H0D;4tg5AZoaiFs{Cq?P@@RX%M zyVPUHr$Gk1^}s^@aJFS%A1xmgNt5F^LA9#Gac;8|__LrVbnJlz{+3uy1CNYH@HZnu zRDnY!W%;3yY0Fym=3^tnRO!EV?;h&e-2lVrv))4s=fgrr@hAEVbMWx9fIcYx5@b{k z*GZ?otB_bEjzjIr=R&nZx3wN7lXE9zL;}6KR)#AcyiATfi@~dAd?sBGMa9}|ru!Se z{pabmfJ2Pce+*Kkef;mf@he52073t|&poDApv$r-9Y}9?qJ>`2Xq{Z<(6vNie`JnJ z<$u-OeVf$#OuzH#be0JeP~+Z{t;DhzJ`cXypOF!#b$iZVgYobe^8Im;>UTVmzo3Cv z2`8EsuR-E~-(9aPrNxcuk#;Lhu;C40x1_t2E1P7=7OBzyye*|P*B?h05nV=;90C2b zyt$G`g$UK~WqHB8d4kYk*Q%>T5ubPb z^7CI*nEOw71FX|}>n_WDOkX+q`E7NI!3YdtC31LhzEQ*uPu!k?)OBk5uI2BgtF}+e z#tI6vlN(oq-5rVaY=i@*9m+xh29L)sdmg#aR|MOiF7#56ui4`zL?>TOriRR}DKceR zp4v&~7OJd{&SYmX#t*D0w}}=Ut9bv71sl5)g>13gjNm_f*uTW*9NxW;L?h^xr9qGZ zWhy^8=#T$#AVUOV#c}nU0*9Zb0AOdyQyCH`Zy#edXhV+94N_nQ|oVZwdt20_>jOc~~zPnDjk9HVYX}{K8xwfdb6`Jr_Wpx;AN}SBzMPz>*N&y}8-F zNbfT;yu$~gUYSs-(}52CHho6ezU0!1K+oBx`ah`yH;d0>!CQtXsO!~wn^sIkN9@HJ zRK|kuWn*N=#uZ~^u}+)>n_|7dAR;AJem}pt7gmF*&I54D%$?$o^WOjl1585*cl*_68t?S!VbbwWr4#MveAw9n*XY zKucpS%!rS;Y~XgG15ayJI8( diff --git a/helm/searchEngine/html/moogle_chat.html.src b/helm/searchEngine/html/moogle_chat.html.src deleted file mode 100644 index bda0482d1..000000000 --- a/helm/searchEngine/html/moogle_chat.html.src +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -
      -

      - Ambiguous input: @EXPRESSION@ -

      -

      - Please choose one of the following interpretations: -

      -

      - - - - - - - - @INTERPRETATIONS@ -
      - -
      -

      -
      -
      - -
      - - - diff --git a/helm/searchEngine/html/moogle_form.html.src b/helm/searchEngine/html/moogle_form.html.src deleted file mode 100644 index 05eba4cbc..000000000 --- a/helm/searchEngine/html/moogle_form.html.src +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - -
      - -
      whelp   - - - - - - - -     - - Help
      - Input Syntax -
      -
      -
      -
      diff --git a/helm/searchEngine/html/moogle_header.html.src b/helm/searchEngine/html/moogle_header.html.src deleted file mode 100644 index a788d1f6d..000000000 --- a/helm/searchEngine/html/moogle_header.html.src +++ /dev/null @@ -1,45 +0,0 @@ - - - - Whelp search - - - diff --git a/helm/searchEngine/html/moogle_help.html b/helm/searchEngine/html/moogle_help.html deleted file mode 100644 index 7b2a8bd05..000000000 --- a/helm/searchEngine/html/moogle_help.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - -
      - whelp -
      -

      Coming soon!

      -
      -
      -
      - In the meantime have a look at the - Input Syntax page - for syntax and examples. - - diff --git a/helm/searchEngine/html/moogle_init.html b/helm/searchEngine/html/moogle_init.html deleted file mode 100644 index 5260da7b8..000000000 --- a/helm/searchEngine/html/moogle_init.html +++ /dev/null @@ -1,106 +0,0 @@ - - - -Whelp search - - - - - - - - -
      - - - - - - - - - - - - - - -HINT - -ELIM -LOCATE -PATTERN MATCHING -WOUNDERFUL - - -
      - whelp -
      -
      - - - - - - - - - - -
      - -
      - - - - - -
      - - Help
      - Input Syntax -
      -
      -
      -
      - -@RESULTS@ - - - - diff --git a/helm/searchEngine/html/moogle_querybar.html.src b/helm/searchEngine/html/moogle_querybar.html.src deleted file mode 100644 index 7a5110abe..000000000 --- a/helm/searchEngine/html/moogle_querybar.html.src +++ /dev/null @@ -1,15 +0,0 @@ - - -
      - - - - - -
      @QUERY_KIND@@QUERY_SUMMARY@
      -
      -
      -
      diff --git a/helm/searchEngine/html/moogle_small.png b/helm/searchEngine/html/moogle_small.png deleted file mode 100644 index a387d9a937fcf72480f0ef245c530908f782a798..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7599 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 RIQjqp002ovPDHLkV1oMj;e7xA diff --git a/helm/searchEngine/html/moogle_syntax.html b/helm/searchEngine/html/moogle_syntax.html deleted file mode 100644 index 7fa0fe380..000000000 --- a/helm/searchEngine/html/moogle_syntax.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - -
      - whelp -
      -

      Whelp Input Syntax

      -
        -
      • - locate <pattern> -

        - <pattern> is a shell like pattern which could - include * (denoting any sequence of 0 or more characters) - and ? (denoting any single character).
        -

        -

        - Examples: -

          -
        • nat pattern matches - cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1) only -
        • -
        • n?t pattern matches - cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1) and - cic:/Coq/Init/Logic/not.con -
        • -
        • nat* pattern matches - cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1), - cic:/Coq/Init/Peano/nat_case.con and many more -
        • -
        -

        -
      • -
      • - match <term> -

        - Examples: -

          -
        • \forall x,y:nat.x+y=y+x - (commutativity of natural plus) -
        • -
        • \forall x,y,z:R.x*(y+z)=x*y+x*z - (distributivity of real times over real plus) -
        • -
        • nat \to nat \to nat - (all binary functions over naturals) -
        • -
        -

        -
      • -
      • - hint <term> -

        - Examples: -

          -
        • \forall n:nat. (fact n) = n * (fact (n - 1)) - (how could we prove n! = (n-1)! * n ?) -
        • -
        • \forall n:nat.n \lt n+5 - (how could we prove n < n + 5 ?) -
        • -
        • \forall x,y:nat. x*y \lt (S x)*(S y) - (how could we prove x*y < (x+1)*(y+1) ?) -
        • -
        -

        -
      • -
      • - elim <identifier> -

        - Examples: -

          -
        • nat - (induction/elimination principles over natural numbers) -
        • -
        • list - (induction/elimination principles over lists) -
        • -
        -

        -
      • -
      -
      - - diff --git a/helm/searchEngine/html/moogle_trailer.html.src b/helm/searchEngine/html/moogle_trailer.html.src deleted file mode 100644 index be349ba52..000000000 --- a/helm/searchEngine/html/moogle_trailer.html.src +++ /dev/null @@ -1,9 +0,0 @@ - - -
      - @PAGES@: @PREV_LINK@ @PAGELIST@ @NEXT_LINK@ -
      -
      diff --git a/helm/searchEngine/html/whelp.png b/helm/searchEngine/html/whelp.png deleted file mode 100644 index 8e36ced3f916bc4a11e8e991e781e35d56964727..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12096 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 q*O`wR&=SD&C - - - - - - - - image/svg+xml - - - - - - - - h - - e - - l - - p - - W - - - diff --git a/helm/searchEngine/html/whelp_small.png b/helm/searchEngine/html/whelp_small.png deleted file mode 100644 index 10c61589090731ec64cff94dd812a24c3c936a92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3092 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: %s
      " title msg - -let paginate ~size ~page l = - let min = 1 + (page-1) * size in - let max = page * size in - let rec aux i l = - match (i, l) with - | _, [] -> [] - | i, hd :: tl when i < min -> aux (i+1) tl - | i, hd :: tl when i >= min && i <= max -> hd :: aux (i+1) tl - | i, hd :: tl -> [] - in - assert (size > 0 && page > 0); - aux 1 l - - (** pretty print a list of URIs to an HELM theory file *) -let theory_of_result page result = - let results_per_page = - Helm_registry.get_int "search_engine.results_per_page" - in - let results_no = List.length result in - let buffer = Buffer.create (200 * results_no) in - let result = paginate ~size:results_per_page ~page result in - if results_no > 0 then - let mode = "typeonly" in - let output_results () = - let idx = ref ((page - 1) * results_per_page) in - List.iter - (fun uri -> - incr idx; - Printf.bprintf buffer - " - %d. - %s - - - - - " - !idx uri uri mode) result ; - in - let summary = - sprintf "%d result%s found" - results_no (if results_no > 1 then "s" else "") - in - begin - Buffer.add_string buffer - ""; - output_results (); - Buffer.add_string buffer "
      "; - (summary, Buffer.contents buffer) - end - else - ("no results found", "") - -let html_of_interpretations interps = - let choice_of_interp interp = - sprintf "\n%s\n
      " - (String.concat "\n" - (List.map - (fun (k, v) -> - sprintf "%s%s" k v) - interp)) - in - let interp_no = ref ~-1 in - sprintf "\n%s\n
      " - (String.concat "\n" - (List.map - (fun interp -> - sprintf " - - - - %s - " - (incr interp_no; !interp_no) - (choice_of_interp interp)) - interps)) - diff --git a/helm/searchEngine/mooglePp.mli b/helm/searchEngine/mooglePp.mli deleted file mode 100644 index f3e2e5952..000000000 --- a/helm/searchEngine/mooglePp.mli +++ /dev/null @@ -1,35 +0,0 @@ -(* Copyright (C) 2002-2005, 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/. - *) - -val pp_error : string -> string -> string - -(** @param page page number - * @param results query results - * @return a pair of suitable instantiations for - * QUERY_SUMMARY and QUERY_RESULTS tag in moogle's main template *) -val theory_of_result : int -> string list -> string * string - -val html_of_interpretations: (string * string) list list -> string - diff --git a/helm/searchEngine/preloaded_uris.txt b/helm/searchEngine/preloaded_uris.txt deleted file mode 100644 index be1cea194..000000000 --- a/helm/searchEngine/preloaded_uris.txt +++ /dev/null @@ -1,4130 +0,0 @@ -cic:/Coq/Arith/Between/P_nth_ind.con -cic:/Coq/Arith/Between/bet_eq.con -cic:/Coq/Arith/Between/between_Sk_l.con -cic:/Coq/Arith/Between/between_in_int.con -cic:/Coq/Arith/Between/between_ind.con -cic:/Coq/Arith/Between/between_le.con -cic:/Coq/Arith/Between/between_not_exists.con -cic:/Coq/Arith/Between/between_or_exists.con -cic:/Coq/Arith/Between/between_restr.con -cic:/Coq/Arith/Between/event_O.con -cic:/Coq/Arith/Between/eventually.con -cic:/Coq/Arith/Between/exists_S_le.con -cic:/Coq/Arith/Between/exists_between_ind.con -cic:/Coq/Arith/Between/exists_in_int.con -cic:/Coq/Arith/Between/exists_le_S.con -cic:/Coq/Arith/Between/exists_lt.con -cic:/Coq/Arith/Between/in_int.con -cic:/Coq/Arith/Between/in_int_S.con -cic:/Coq/Arith/Between/in_int_Sp_q.con -cic:/Coq/Arith/Between/in_int_between.con -cic:/Coq/Arith/Between/in_int_exists.con -cic:/Coq/Arith/Between/in_int_intro.con -cic:/Coq/Arith/Between/in_int_lt.con -cic:/Coq/Arith/Between/in_int_p_Sq.con -cic:/Coq/Arith/Between/nth_le.con -cic:/Coq/Arith/Bool_nat/lt_ge_dec.con -cic:/Coq/Arith/Bool_nat/nat_eq_bool.con -cic:/Coq/Arith/Bool_nat/nat_ge_lt_bool.con -cic:/Coq/Arith/Bool_nat/nat_gt_le_bool.con -cic:/Coq/Arith/Bool_nat/nat_le_gt_bool.con -cic:/Coq/Arith/Bool_nat/nat_lt_ge_bool.con -cic:/Coq/Arith/Bool_nat/nat_noteq_bool.con -cic:/Coq/Arith/Bool_nat/notzerop.con -cic:/Coq/Arith/Bool_nat/notzerop_bool.con -cic:/Coq/Arith/Bool_nat/zerop_bool.con -cic:/Coq/Arith/Compare/Pcompare.con -cic:/Coq/Arith/Compare/discrete_nat.con -cic:/Coq/Arith/Compare/le_dec.con -cic:/Coq/Arith/Compare/le_decide.con -cic:/Coq/Arith/Compare/le_le_S_eq.con -cic:/Coq/Arith/Compare/le_or_le_S.con -cic:/Coq/Arith/Compare/lt_or_eq.con -cic:/Coq/Arith/Compare_dec/dec_ge.con -cic:/Coq/Arith/Compare_dec/dec_gt.con -cic:/Coq/Arith/Compare_dec/dec_le.con -cic:/Coq/Arith/Compare_dec/dec_lt.con -cic:/Coq/Arith/Compare_dec/gt_eq_gt_dec.con -cic:/Coq/Arith/Compare_dec/le_ge_dec.con -cic:/Coq/Arith/Compare_dec/le_gt_dec.con -cic:/Coq/Arith/Compare_dec/le_le_S_dec.con -cic:/Coq/Arith/Compare_dec/le_lt_dec.con -cic:/Coq/Arith/Compare_dec/le_lt_eq_dec.con -cic:/Coq/Arith/Compare_dec/lt_eq_lt_dec.con -cic:/Coq/Arith/Compare_dec/not_eq.con -cic:/Coq/Arith/Compare_dec/not_ge.con -cic:/Coq/Arith/Compare_dec/not_gt.con -cic:/Coq/Arith/Compare_dec/not_le.con -cic:/Coq/Arith/Compare_dec/not_lt.con -cic:/Coq/Arith/Compare_dec/zerop.con -cic:/Coq/Arith/Div2/div2.con -cic:/Coq/Arith/Div2/div2_even.con -cic:/Coq/Arith/Div2/div2_odd.con -cic:/Coq/Arith/Div2/double.con -cic:/Coq/Arith/Div2/double_S.con -cic:/Coq/Arith/Div2/double_even.con -cic:/Coq/Arith/Div2/double_odd.con -cic:/Coq/Arith/Div2/double_plus.con -cic:/Coq/Arith/Div2/even_2n.con -cic:/Coq/Arith/Div2/even_div2.con -cic:/Coq/Arith/Div2/even_double.con -cic:/Coq/Arith/Div2/even_odd_div2.con -cic:/Coq/Arith/Div2/even_odd_double.con -cic:/Coq/Arith/Div2/ind_0_1_SS.con -cic:/Coq/Arith/Div2/lt_div2.con -cic:/Coq/Arith/Div2/odd_S2n.con -cic:/Coq/Arith/Div2/odd_div2.con -cic:/Coq/Arith/Div2/odd_double.con -cic:/Coq/Arith/EqNat/beq_nat.con -cic:/Coq/Arith/EqNat/beq_nat_eq.con -cic:/Coq/Arith/EqNat/beq_nat_refl.con -cic:/Coq/Arith/EqNat/eq_eq_nat.con -cic:/Coq/Arith/EqNat/eq_nat.con -cic:/Coq/Arith/EqNat/eq_nat_decide.con -cic:/Coq/Arith/EqNat/eq_nat_elim.con -cic:/Coq/Arith/EqNat/eq_nat_eq.con -cic:/Coq/Arith/EqNat/eq_nat_refl.con -cic:/Coq/Arith/Euclid/diveucl_ind.con -cic:/Coq/Arith/Euclid/diveucl_rec.con -cic:/Coq/Arith/Euclid/diveucl_rect.con -cic:/Coq/Arith/Euclid/eucl_dev.con -cic:/Coq/Arith/Euclid/modulo.con -cic:/Coq/Arith/Euclid/quotient.con -cic:/Coq/Arith/Even/even_even_plus.con -cic:/Coq/Arith/Even/even_ind.con -cic:/Coq/Arith/Even/even_mult_aux.con -cic:/Coq/Arith/Even/even_mult_inv_l.con -cic:/Coq/Arith/Even/even_mult_inv_r.con -cic:/Coq/Arith/Even/even_mult_l.con -cic:/Coq/Arith/Even/even_mult_r.con -cic:/Coq/Arith/Even/even_odd_dec.con -cic:/Coq/Arith/Even/even_or_odd.con -cic:/Coq/Arith/Even/even_plus_aux.con -cic:/Coq/Arith/Even/even_plus_even_inv_l.con -cic:/Coq/Arith/Even/even_plus_even_inv_r.con -cic:/Coq/Arith/Even/even_plus_odd_inv_l.con -cic:/Coq/Arith/Even/even_plus_odd_inv_r.con -cic:/Coq/Arith/Even/not_even_and_odd.con -cic:/Coq/Arith/Even/odd_even_plus.con -cic:/Coq/Arith/Even/odd_ind.con -cic:/Coq/Arith/Even/odd_mult.con -cic:/Coq/Arith/Even/odd_mult_inv_l.con -cic:/Coq/Arith/Even/odd_mult_inv_r.con -cic:/Coq/Arith/Even/odd_plus_even_inv_l.con -cic:/Coq/Arith/Even/odd_plus_even_inv_r.con -cic:/Coq/Arith/Even/odd_plus_l.con -cic:/Coq/Arith/Even/odd_plus_odd_inv_l.con -cic:/Coq/Arith/Even/odd_plus_odd_inv_r.con -cic:/Coq/Arith/Even/odd_plus_r.con -cic:/Coq/Arith/Factorial/fact.con -cic:/Coq/Arith/Factorial/fact_le.con -cic:/Coq/Arith/Factorial/fact_neq_0.con -cic:/Coq/Arith/Factorial/lt_O_fact.con -cic:/Coq/Arith/Gt/gt_O_eq.con -cic:/Coq/Arith/Gt/gt_S.con -cic:/Coq/Arith/Gt/gt_S_le.con -cic:/Coq/Arith/Gt/gt_S_n.con -cic:/Coq/Arith/Gt/gt_Sn_O.con -cic:/Coq/Arith/Gt/gt_Sn_n.con -cic:/Coq/Arith/Gt/gt_asym.con -cic:/Coq/Arith/Gt/gt_irrefl.con -cic:/Coq/Arith/Gt/gt_le_S.con -cic:/Coq/Arith/Gt/gt_le_trans.con -cic:/Coq/Arith/Gt/gt_n_S.con -cic:/Coq/Arith/Gt/gt_not_le.con -cic:/Coq/Arith/Gt/gt_pred.con -cic:/Coq/Arith/Gt/gt_trans.con -cic:/Coq/Arith/Gt/gt_trans_S.con -cic:/Coq/Arith/Gt/le_S_gt.con -cic:/Coq/Arith/Gt/le_gt_S.con -cic:/Coq/Arith/Gt/le_gt_trans.con -cic:/Coq/Arith/Gt/le_not_gt.con -cic:/Coq/Arith/Gt/plus_gt_compat_l.con -cic:/Coq/Arith/Gt/plus_gt_reg_l.con -cic:/Coq/Arith/Le/le_O_n.con -cic:/Coq/Arith/Le/le_S_n.con -cic:/Coq/Arith/Le/le_Sn_O.con -cic:/Coq/Arith/Le/le_Sn_le.con -cic:/Coq/Arith/Le/le_Sn_n.con -cic:/Coq/Arith/Le/le_antisym.con -cic:/Coq/Arith/Le/le_elim_rel.con -cic:/Coq/Arith/Le/le_n_O_eq.con -cic:/Coq/Arith/Le/le_n_S.con -cic:/Coq/Arith/Le/le_n_Sn.con -cic:/Coq/Arith/Le/le_pred.con -cic:/Coq/Arith/Le/le_pred_n.con -cic:/Coq/Arith/Le/le_refl.con -cic:/Coq/Arith/Le/le_trans.con -cic:/Coq/Arith/Lt/S_pred.con -cic:/Coq/Arith/Lt/le_lt_n_Sm.con -cic:/Coq/Arith/Lt/le_lt_or_eq.con -cic:/Coq/Arith/Lt/le_lt_trans.con -cic:/Coq/Arith/Lt/le_not_lt.con -cic:/Coq/Arith/Lt/le_or_lt.con -cic:/Coq/Arith/Lt/lt_O_Sn.con -cic:/Coq/Arith/Lt/lt_O_neq.con -cic:/Coq/Arith/Lt/lt_S.con -cic:/Coq/Arith/Lt/lt_S_n.con -cic:/Coq/Arith/Lt/lt_asym.con -cic:/Coq/Arith/Lt/lt_irrefl.con -cic:/Coq/Arith/Lt/lt_le_S.con -cic:/Coq/Arith/Lt/lt_le_trans.con -cic:/Coq/Arith/Lt/lt_le_weak.con -cic:/Coq/Arith/Lt/lt_n_O.con -cic:/Coq/Arith/Lt/lt_n_S.con -cic:/Coq/Arith/Lt/lt_n_Sm_le.con -cic:/Coq/Arith/Lt/lt_n_Sn.con -cic:/Coq/Arith/Lt/lt_not_le.con -cic:/Coq/Arith/Lt/lt_pred.con -cic:/Coq/Arith/Lt/lt_pred_n_n.con -cic:/Coq/Arith/Lt/lt_trans.con -cic:/Coq/Arith/Lt/nat_total_order.con -cic:/Coq/Arith/Lt/neq_O_lt.con -cic:/Coq/Arith/Max/le_max_l.con -cic:/Coq/Arith/Max/le_max_r.con -cic:/Coq/Arith/Max/max.con -cic:/Coq/Arith/Max/max_SS.con -cic:/Coq/Arith/Max/max_case.con -cic:/Coq/Arith/Max/max_case2.con -cic:/Coq/Arith/Max/max_comm.con -cic:/Coq/Arith/Max/max_dec.con -cic:/Coq/Arith/Max/max_l.con -cic:/Coq/Arith/Max/max_r.con -cic:/Coq/Arith/Min/le_min_l.con -cic:/Coq/Arith/Min/le_min_r.con -cic:/Coq/Arith/Min/min.con -cic:/Coq/Arith/Min/min_SS.con -cic:/Coq/Arith/Min/min_case.con -cic:/Coq/Arith/Min/min_case2.con -cic:/Coq/Arith/Min/min_comm.con -cic:/Coq/Arith/Min/min_dec.con -cic:/Coq/Arith/Min/min_l.con -cic:/Coq/Arith/Min/min_r.con -cic:/Coq/Arith/Minus/le_minus.con -cic:/Coq/Arith/Minus/le_plus_minus.con -cic:/Coq/Arith/Minus/le_plus_minus_r.con -cic:/Coq/Arith/Minus/lt_O_minus_lt.con -cic:/Coq/Arith/Minus/lt_minus.con -cic:/Coq/Arith/Minus/minus_Sn_m.con -cic:/Coq/Arith/Minus/minus_n_O.con -cic:/Coq/Arith/Minus/minus_n_n.con -cic:/Coq/Arith/Minus/minus_plus.con -cic:/Coq/Arith/Minus/minus_plus_simpl_l_reverse.con -cic:/Coq/Arith/Minus/not_le_minus_0.con -cic:/Coq/Arith/Minus/plus_minus.con -cic:/Coq/Arith/Minus/pred_of_minus.con -cic:/Coq/Arith/Mult/mult_0_l.con -cic:/Coq/Arith/Mult/mult_0_r.con -cic:/Coq/Arith/Mult/mult_1_l.con -cic:/Coq/Arith/Mult/mult_1_r.con -cic:/Coq/Arith/Mult/mult_O_le.con -cic:/Coq/Arith/Mult/mult_S_le_reg_l.con -cic:/Coq/Arith/Mult/mult_S_lt_compat_l.con -cic:/Coq/Arith/Mult/mult_acc.con -cic:/Coq/Arith/Mult/mult_acc_aux.con -cic:/Coq/Arith/Mult/mult_assoc.con -cic:/Coq/Arith/Mult/mult_assoc_reverse.con -cic:/Coq/Arith/Mult/mult_comm.con -cic:/Coq/Arith/Mult/mult_le_compat.con -cic:/Coq/Arith/Mult/mult_le_compat_l.con -cic:/Coq/Arith/Mult/mult_le_compat_r.con -cic:/Coq/Arith/Mult/mult_lt_compat_r.con -cic:/Coq/Arith/Mult/mult_minus_distr_r.con -cic:/Coq/Arith/Mult/mult_plus_distr_l.con -cic:/Coq/Arith/Mult/mult_plus_distr_r.con -cic:/Coq/Arith/Mult/mult_tail_mult.con -cic:/Coq/Arith/Mult/odd_even_lem.con -cic:/Coq/Arith/Mult/tail_mult.con -cic:/Coq/Arith/Peano_dec/O_or_S.con -cic:/Coq/Arith/Peano_dec/dec_eq_nat.con -cic:/Coq/Arith/Peano_dec/eq_nat_dec.con -cic:/Coq/Arith/Plus/le_plus_l.con -cic:/Coq/Arith/Plus/le_plus_r.con -cic:/Coq/Arith/Plus/le_plus_trans.con -cic:/Coq/Arith/Plus/lt_plus_trans.con -cic:/Coq/Arith/Plus/plus_0_l.con -cic:/Coq/Arith/Plus/plus_0_r.con -cic:/Coq/Arith/Plus/plus_Snm_nSm.con -cic:/Coq/Arith/Plus/plus_acc.con -cic:/Coq/Arith/Plus/plus_assoc.con -cic:/Coq/Arith/Plus/plus_assoc_reverse.con -cic:/Coq/Arith/Plus/plus_comm.con -cic:/Coq/Arith/Plus/plus_is_O.con -cic:/Coq/Arith/Plus/plus_is_one.con -cic:/Coq/Arith/Plus/plus_le_compat.con -cic:/Coq/Arith/Plus/plus_le_compat_l.con -cic:/Coq/Arith/Plus/plus_le_compat_r.con -cic:/Coq/Arith/Plus/plus_le_lt_compat.con -cic:/Coq/Arith/Plus/plus_le_reg_l.con -cic:/Coq/Arith/Plus/plus_lt_compat.con -cic:/Coq/Arith/Plus/plus_lt_compat_l.con -cic:/Coq/Arith/Plus/plus_lt_compat_r.con -cic:/Coq/Arith/Plus/plus_lt_le_compat.con -cic:/Coq/Arith/Plus/plus_lt_reg_l.con -cic:/Coq/Arith/Plus/plus_permute.con -cic:/Coq/Arith/Plus/plus_permute_2_in_4.con -cic:/Coq/Arith/Plus/plus_reg_l.con -cic:/Coq/Arith/Plus/plus_tail_plus.con -cic:/Coq/Arith/Plus/tail_plus.con -cic:/Coq/Arith/Wf_nat/acc_lt_rel.con -cic:/Coq/Arith/Wf_nat/gt_wf_ind.con -cic:/Coq/Arith/Wf_nat/gt_wf_rec.con -cic:/Coq/Arith/Wf_nat/gtof.con -cic:/Coq/Arith/Wf_nat/induction_gtof1.con -cic:/Coq/Arith/Wf_nat/induction_gtof2.con -cic:/Coq/Arith/Wf_nat/induction_ltof1.con -cic:/Coq/Arith/Wf_nat/induction_ltof2.con -cic:/Coq/Arith/Wf_nat/inv_lt_rel.con -cic:/Coq/Arith/Wf_nat/lt_wf.con -cic:/Coq/Arith/Wf_nat/lt_wf_double_ind.con -cic:/Coq/Arith/Wf_nat/lt_wf_double_rec.con -cic:/Coq/Arith/Wf_nat/lt_wf_ind.con -cic:/Coq/Arith/Wf_nat/lt_wf_rec.con -cic:/Coq/Arith/Wf_nat/lt_wf_rec1.con -cic:/Coq/Arith/Wf_nat/ltof.con -cic:/Coq/Arith/Wf_nat/well_founded_gtof.con -cic:/Coq/Arith/Wf_nat/well_founded_inv_lt_rel_compat.con -cic:/Coq/Arith/Wf_nat/well_founded_inv_rel_inv_lt_rel.con -cic:/Coq/Arith/Wf_nat/well_founded_lt_compat.con -cic:/Coq/Arith/Wf_nat/well_founded_ltof.con -cic:/Coq/Bool/Bool/Is_true.con -cic:/Coq/Bool/Bool/Is_true_eq_left.con -cic:/Coq/Bool/Bool/Is_true_eq_right.con -cic:/Coq/Bool/Bool/Is_true_eq_true.con -cic:/Coq/Bool/Bool/Is_true_eq_true2.con -cic:/Coq/Bool/Bool/absoption_andb.con -cic:/Coq/Bool/Bool/absoption_orb.con -cic:/Coq/Bool/Bool/andb.con -cic:/Coq/Bool/Bool/andb_assoc.con -cic:/Coq/Bool/Bool/andb_b_false.con -cic:/Coq/Bool/Bool/andb_b_true.con -cic:/Coq/Bool/Bool/andb_comm.con -cic:/Coq/Bool/Bool/andb_false_b.con -cic:/Coq/Bool/Bool/andb_false_elim.con -cic:/Coq/Bool/Bool/andb_false_intro1.con -cic:/Coq/Bool/Bool/andb_false_intro2.con -cic:/Coq/Bool/Bool/andb_neg_b.con -cic:/Coq/Bool/Bool/andb_prop.con -cic:/Coq/Bool/Bool/andb_prop2.con -cic:/Coq/Bool/Bool/andb_true_b.con -cic:/Coq/Bool/Bool/andb_true_eq.con -cic:/Coq/Bool/Bool/andb_true_intro.con -cic:/Coq/Bool/Bool/andb_true_intro2.con -cic:/Coq/Bool/Bool/bool_1.con -cic:/Coq/Bool/Bool/bool_2.con -cic:/Coq/Bool/Bool/bool_3.con -cic:/Coq/Bool/Bool/bool_4.con -cic:/Coq/Bool/Bool/bool_5.con -cic:/Coq/Bool/Bool/bool_6.con -cic:/Coq/Bool/Bool/demorgan1.con -cic:/Coq/Bool/Bool/demorgan2.con -cic:/Coq/Bool/Bool/demorgan3.con -cic:/Coq/Bool/Bool/demorgan4.con -cic:/Coq/Bool/Bool/diff_false_true.con -cic:/Coq/Bool/Bool/diff_true_false.con -cic:/Coq/Bool/Bool/eq_true_false_abs.con -cic:/Coq/Bool/Bool/eqb.con -cic:/Coq/Bool/Bool/eqb_eq.con -cic:/Coq/Bool/Bool/eqb_negb1.con -cic:/Coq/Bool/Bool/eqb_negb2.con -cic:/Coq/Bool/Bool/eqb_prop.con -cic:/Coq/Bool/Bool/eqb_refl.con -cic:/Coq/Bool/Bool/eqb_reflx.con -cic:/Coq/Bool/Bool/eqb_subst.con -cic:/Coq/Bool/Bool/false_xorb.con -cic:/Coq/Bool/Bool/if_negb.con -cic:/Coq/Bool/Bool/ifb.con -cic:/Coq/Bool/Bool/implb.con -cic:/Coq/Bool/Bool/leb.con -cic:/Coq/Bool/Bool/negb.con -cic:/Coq/Bool/Bool/negb_andb.con -cic:/Coq/Bool/Bool/negb_elim.con -cic:/Coq/Bool/Bool/negb_intro.con -cic:/Coq/Bool/Bool/negb_orb.con -cic:/Coq/Bool/Bool/negb_sym.con -cic:/Coq/Bool/Bool/no_fixpoint_negb.con -cic:/Coq/Bool/Bool/not_false_is_true.con -cic:/Coq/Bool/Bool/not_true_is_false.con -cic:/Coq/Bool/Bool/orb.con -cic:/Coq/Bool/Bool/orb_assoc.con -cic:/Coq/Bool/Bool/orb_b_false.con -cic:/Coq/Bool/Bool/orb_b_true.con -cic:/Coq/Bool/Bool/orb_comm.con -cic:/Coq/Bool/Bool/orb_false_b.con -cic:/Coq/Bool/Bool/orb_false_elim.con -cic:/Coq/Bool/Bool/orb_false_intro.con -cic:/Coq/Bool/Bool/orb_neg_b.con -cic:/Coq/Bool/Bool/orb_prop.con -cic:/Coq/Bool/Bool/orb_prop2.con -cic:/Coq/Bool/Bool/orb_true_b.con -cic:/Coq/Bool/Bool/orb_true_elim.con -cic:/Coq/Bool/Bool/orb_true_intro.con -cic:/Coq/Bool/Bool/true_xorb.con -cic:/Coq/Bool/Bool/xorb.con -cic:/Coq/Bool/Bool/xorb_assoc.con -cic:/Coq/Bool/Bool/xorb_comm.con -cic:/Coq/Bool/Bool/xorb_eq.con -cic:/Coq/Bool/Bool/xorb_false.con -cic:/Coq/Bool/Bool/xorb_move_l_r_1.con -cic:/Coq/Bool/Bool/xorb_move_l_r_2.con -cic:/Coq/Bool/Bool/xorb_move_r_l_1.con -cic:/Coq/Bool/Bool/xorb_move_r_l_2.con -cic:/Coq/Bool/Bool/xorb_nilpotent.con -cic:/Coq/Bool/Bool/xorb_true.con -cic:/Coq/Bool/BoolEq/beq_eq_not_false.con -cic:/Coq/Bool/BoolEq/beq_eq_true.con -cic:/Coq/Bool/BoolEq/beq_false_not_eq.con -cic:/Coq/Bool/BoolEq/eq_dec.con -cic:/Coq/Bool/BoolEq/exists_beq_eq.con -cic:/Coq/Bool/BoolEq/not_eq_false_beq.con -cic:/Coq/Bool/Bvector/BVand.con -cic:/Coq/Bool/Bvector/BVor.con -cic:/Coq/Bool/Bvector/BVxor.con -cic:/Coq/Bool/Bvector/Bcons.con -cic:/Coq/Bool/Bvector/Bhigh.con -cic:/Coq/Bool/Bvector/Blow.con -cic:/Coq/Bool/Bvector/Bneg.con -cic:/Coq/Bool/Bvector/Bnil.con -cic:/Coq/Bool/Bvector/BshiftL.con -cic:/Coq/Bool/Bvector/BshiftL_iter.con -cic:/Coq/Bool/Bvector/BshiftRa.con -cic:/Coq/Bool/Bvector/BshiftRa_iter.con -cic:/Coq/Bool/Bvector/BshiftRl.con -cic:/Coq/Bool/Bvector/BshiftRl_iter.con -cic:/Coq/Bool/Bvector/Bsign.con -cic:/Coq/Bool/Bvector/Bvect_false.con -cic:/Coq/Bool/Bvector/Bvect_true.con -cic:/Coq/Bool/Bvector/Bvector.con -cic:/Coq/Bool/Bvector/Vbinary.con -cic:/Coq/Bool/Bvector/Vconst.con -cic:/Coq/Bool/Bvector/Vextend.con -cic:/Coq/Bool/Bvector/Vhead.con -cic:/Coq/Bool/Bvector/Vlast.con -cic:/Coq/Bool/Bvector/Vshiftin.con -cic:/Coq/Bool/Bvector/Vshiftout.con -cic:/Coq/Bool/Bvector/Vshiftrepeat.con -cic:/Coq/Bool/Bvector/Vtail.con -cic:/Coq/Bool/Bvector/Vtrunc.con -cic:/Coq/Bool/Bvector/Vunary.con -cic:/Coq/Bool/Bvector/vector_ind.con -cic:/Coq/Bool/Bvector/vector_rec.con -cic:/Coq/Bool/Bvector/vector_rect.con -cic:/Coq/Bool/DecBool/ifdec.con -cic:/Coq/Bool/DecBool/ifdec_left.con -cic:/Coq/Bool/DecBool/ifdec_right.con -cic:/Coq/Bool/IfProp/IfProp_false.con -cic:/Coq/Bool/IfProp/IfProp_ind.con -cic:/Coq/Bool/IfProp/IfProp_or.con -cic:/Coq/Bool/IfProp/IfProp_sum.con -cic:/Coq/Bool/IfProp/IfProp_true.con -cic:/Coq/Bool/IfProp/Iffalse_inv.con -cic:/Coq/Bool/IfProp/Iftrue_inv.con -cic:/Coq/Bool/Sumbool/bool_eq_ind.con -cic:/Coq/Bool/Sumbool/bool_eq_rec.con -cic:/Coq/Bool/Sumbool/bool_of_sumbool.con -cic:/Coq/Bool/Sumbool/sumbool_and.con -cic:/Coq/Bool/Sumbool/sumbool_not.con -cic:/Coq/Bool/Sumbool/sumbool_of_bool.con -cic:/Coq/Bool/Sumbool/sumbool_or.con -cic:/Coq/Bool/Zerob/zerob.con -cic:/Coq/Bool/Zerob/zerob_false_elim.con -cic:/Coq/Bool/Zerob/zerob_false_intro.con -cic:/Coq/Bool/Zerob/zerob_true_elim.con -cic:/Coq/Bool/Zerob/zerob_true_intro.con -cic:/Coq/Init/Datatypes/CompOpp.con -cic:/Coq/Init/Datatypes/Empty_set_ind.con -cic:/Coq/Init/Datatypes/Empty_set_rec.con -cic:/Coq/Init/Datatypes/Empty_set_rect.con -cic:/Coq/Init/Datatypes/bool_ind.con -cic:/Coq/Init/Datatypes/bool_rec.con -cic:/Coq/Init/Datatypes/bool_rect.con -cic:/Coq/Init/Datatypes/comparison_ind.con -cic:/Coq/Init/Datatypes/comparison_rec.con -cic:/Coq/Init/Datatypes/comparison_rect.con -cic:/Coq/Init/Datatypes/fst.con -cic:/Coq/Init/Datatypes/identity_ind.con -cic:/Coq/Init/Datatypes/identity_rec.con -cic:/Coq/Init/Datatypes/identity_rect.con -cic:/Coq/Init/Datatypes/injective_projections.con -cic:/Coq/Init/Datatypes/nat_ind.con -cic:/Coq/Init/Datatypes/nat_rec.con -cic:/Coq/Init/Datatypes/nat_rect.con -cic:/Coq/Init/Datatypes/option_ind.con -cic:/Coq/Init/Datatypes/option_rec.con -cic:/Coq/Init/Datatypes/option_rect.con -cic:/Coq/Init/Datatypes/prod_ind.con -cic:/Coq/Init/Datatypes/prod_rec.con -cic:/Coq/Init/Datatypes/prod_rect.con -cic:/Coq/Init/Datatypes/snd.con -cic:/Coq/Init/Datatypes/sum_ind.con -cic:/Coq/Init/Datatypes/sum_rec.con -cic:/Coq/Init/Datatypes/sum_rect.con -cic:/Coq/Init/Datatypes/surjective_pairing.con -cic:/Coq/Init/Datatypes/unit_ind.con -cic:/Coq/Init/Datatypes/unit_rec.con -cic:/Coq/Init/Datatypes/unit_rect.con -cic:/Coq/Init/Logic/False_ind.con -cic:/Coq/Init/Logic/False_rec.con -cic:/Coq/Init/Logic/False_rect.con -cic:/Coq/Init/Logic/IF_then_else.con -cic:/Coq/Init/Logic/True_ind.con -cic:/Coq/Init/Logic/True_rec.con -cic:/Coq/Init/Logic/True_rect.con -cic:/Coq/Init/Logic/absurd.con -cic:/Coq/Init/Logic/all.con -cic:/Coq/Init/Logic/and_ind.con -cic:/Coq/Init/Logic/and_rec.con -cic:/Coq/Init/Logic/and_rect.con -cic:/Coq/Init/Logic/eq_ind.con -cic:/Coq/Init/Logic/eq_ind_r.con -cic:/Coq/Init/Logic/eq_rec.con -cic:/Coq/Init/Logic/eq_rec_r.con -cic:/Coq/Init/Logic/eq_rect.con -cic:/Coq/Init/Logic/eq_rect_r.con -cic:/Coq/Init/Logic/ex2_ind.con -cic:/Coq/Init/Logic/ex_ind.con -cic:/Coq/Init/Logic/f_equal.con -cic:/Coq/Init/Logic/f_equal2.con -cic:/Coq/Init/Logic/f_equal3.con -cic:/Coq/Init/Logic/f_equal4.con -cic:/Coq/Init/Logic/f_equal5.con -cic:/Coq/Init/Logic/gen.con -cic:/Coq/Init/Logic/iff.con -cic:/Coq/Init/Logic/iff_refl.con -cic:/Coq/Init/Logic/iff_sym.con -cic:/Coq/Init/Logic/iff_trans.con -cic:/Coq/Init/Logic/inst.con -cic:/Coq/Init/Logic/not.con -cic:/Coq/Init/Logic/or_ind.con -cic:/Coq/Init/Logic/proj1.con -cic:/Coq/Init/Logic/proj2.con -cic:/Coq/Init/Logic/sym_eq.con -cic:/Coq/Init/Logic/sym_equal.con -cic:/Coq/Init/Logic/sym_not_eq.con -cic:/Coq/Init/Logic/sym_not_equal.con -cic:/Coq/Init/Logic/trans_eq.con -cic:/Coq/Init/Logic/trans_equal.con -cic:/Coq/Init/Logic_Type/congr_id.con -cic:/Coq/Init/Logic_Type/fstT.con -cic:/Coq/Init/Logic_Type/identity_ind_r.con -cic:/Coq/Init/Logic_Type/identity_rec_r.con -cic:/Coq/Init/Logic_Type/identity_rect_r.con -cic:/Coq/Init/Logic_Type/notT.con -cic:/Coq/Init/Logic_Type/prodT_curry.con -cic:/Coq/Init/Logic_Type/prodT_ind.con -cic:/Coq/Init/Logic_Type/prodT_rec.con -cic:/Coq/Init/Logic_Type/prodT_rect.con -cic:/Coq/Init/Logic_Type/prodT_uncurry.con -cic:/Coq/Init/Logic_Type/sndT.con -cic:/Coq/Init/Logic_Type/sym_id.con -cic:/Coq/Init/Logic_Type/sym_not_id.con -cic:/Coq/Init/Logic_Type/trans_id.con -cic:/Coq/Init/Peano/IsSucc.con -cic:/Coq/Init/Peano/O_S.con -cic:/Coq/Init/Peano/eq_S.con -cic:/Coq/Init/Peano/eq_add_S.con -cic:/Coq/Init/Peano/ge.con -cic:/Coq/Init/Peano/gt.con -cic:/Coq/Init/Peano/le_ind.con -cic:/Coq/Init/Peano/lt.con -cic:/Coq/Init/Peano/minus.con -cic:/Coq/Init/Peano/mult.con -cic:/Coq/Init/Peano/mult_n_O.con -cic:/Coq/Init/Peano/mult_n_Sm.con -cic:/Coq/Init/Peano/n_Sn.con -cic:/Coq/Init/Peano/nat_case.con -cic:/Coq/Init/Peano/nat_double_ind.con -cic:/Coq/Init/Peano/not_eq_S.con -cic:/Coq/Init/Peano/plus.con -cic:/Coq/Init/Peano/plus_O_n.con -cic:/Coq/Init/Peano/plus_Sn_m.con -cic:/Coq/Init/Peano/plus_n_O.con -cic:/Coq/Init/Peano/plus_n_Sm.con -cic:/Coq/Init/Peano/pred.con -cic:/Coq/Init/Peano/pred_Sn.con -cic:/Coq/Init/Specif/Choice.con -cic:/Coq/Init/Specif/Choice2.con -cic:/Coq/Init/Specif/Exc.con -cic:/Coq/Init/Specif/absurd_set.con -cic:/Coq/Init/Specif/bool_choice.con -cic:/Coq/Init/Specif/error.con -cic:/Coq/Init/Specif/except.con -cic:/Coq/Init/Specif/proj1_sig.con -cic:/Coq/Init/Specif/proj2_sig.con -cic:/Coq/Init/Specif/projS1.con -cic:/Coq/Init/Specif/projS2.con -cic:/Coq/Init/Specif/projT1.con -cic:/Coq/Init/Specif/projT2.con -cic:/Coq/Init/Specif/sig2_ind.con -cic:/Coq/Init/Specif/sig2_rec.con -cic:/Coq/Init/Specif/sig2_rect.con -cic:/Coq/Init/Specif/sigS2_ind.con -cic:/Coq/Init/Specif/sigS2_rec.con -cic:/Coq/Init/Specif/sigS2_rect.con -cic:/Coq/Init/Specif/sigS_ind.con -cic:/Coq/Init/Specif/sigS_rec.con -cic:/Coq/Init/Specif/sigS_rect.con -cic:/Coq/Init/Specif/sigT_ind.con -cic:/Coq/Init/Specif/sigT_rec.con -cic:/Coq/Init/Specif/sigT_rect.con -cic:/Coq/Init/Specif/sig_ind.con -cic:/Coq/Init/Specif/sig_rec.con -cic:/Coq/Init/Specif/sig_rect.con -cic:/Coq/Init/Specif/sumbool_ind.con -cic:/Coq/Init/Specif/sumbool_rec.con -cic:/Coq/Init/Specif/sumbool_rect.con -cic:/Coq/Init/Specif/sumor_ind.con -cic:/Coq/Init/Specif/sumor_rec.con -cic:/Coq/Init/Specif/sumor_rect.con -cic:/Coq/Init/Specif/value.con -cic:/Coq/Init/Wf/Acc_ind.con -cic:/Coq/Init/Wf/Acc_inv.con -cic:/Coq/Init/Wf/Acc_inv_dep.con -cic:/Coq/Init/Wf/Acc_iter.con -cic:/Coq/Init/Wf/Acc_iter_2.con -cic:/Coq/Init/Wf/Acc_rec.con -cic:/Coq/Init/Wf/Acc_rect.con -cic:/Coq/Init/Wf/Fix.con -cic:/Coq/Init/Wf/Fix_F.con -cic:/Coq/Init/Wf/Fix_F_eq.con -cic:/Coq/Init/Wf/Fix_F_inv.con -cic:/Coq/Init/Wf/Fix_eq.con -cic:/Coq/Init/Wf/well_founded.con -cic:/Coq/Init/Wf/well_founded_ind.con -cic:/Coq/Init/Wf/well_founded_induction.con -cic:/Coq/Init/Wf/well_founded_induction_type.con -cic:/Coq/Init/Wf/well_founded_induction_type_2.con -cic:/Coq/Lists/List/In.con -cic:/Coq/Lists/List/In_dec.con -cic:/Coq/Lists/List/app.con -cic:/Coq/Lists/List/app_ass.con -cic:/Coq/Lists/List/app_comm_cons.con -cic:/Coq/Lists/List/app_cons_not_nil.con -cic:/Coq/Lists/List/app_eq_nil.con -cic:/Coq/Lists/List/app_eq_unit.con -cic:/Coq/Lists/List/app_inj_tail.con -cic:/Coq/Lists/List/app_nil_end.con -cic:/Coq/Lists/List/ass_app.con -cic:/Coq/Lists/List/distr_rev.con -cic:/Coq/Lists/List/flat_map.con -cic:/Coq/Lists/List/fold_left.con -cic:/Coq/Lists/List/fold_right.con -cic:/Coq/Lists/List/fold_symmetric.con -cic:/Coq/Lists/List/head.con -cic:/Coq/Lists/List/in_app_or.con -cic:/Coq/Lists/List/in_cons.con -cic:/Coq/Lists/List/in_eq.con -cic:/Coq/Lists/List/in_inv.con -cic:/Coq/Lists/List/in_map.con -cic:/Coq/Lists/List/in_nil.con -cic:/Coq/Lists/List/in_or_app.con -cic:/Coq/Lists/List/in_prod.con -cic:/Coq/Lists/List/in_prod_aux.con -cic:/Coq/Lists/List/incl.con -cic:/Coq/Lists/List/incl_app.con -cic:/Coq/Lists/List/incl_appl.con -cic:/Coq/Lists/List/incl_appr.con -cic:/Coq/Lists/List/incl_cons.con -cic:/Coq/Lists/List/incl_refl.con -cic:/Coq/Lists/List/incl_tl.con -cic:/Coq/Lists/List/incl_tran.con -cic:/Coq/Lists/List/lel.con -cic:/Coq/Lists/List/lel_cons.con -cic:/Coq/Lists/List/lel_cons_cons.con -cic:/Coq/Lists/List/lel_nil.con -cic:/Coq/Lists/List/lel_refl.con -cic:/Coq/Lists/List/lel_tail.con -cic:/Coq/Lists/List/lel_trans.con -cic:/Coq/Lists/List/length.con -cic:/Coq/Lists/List/list_eq_dec.con -cic:/Coq/Lists/List/list_ind.con -cic:/Coq/Lists/List/list_power.con -cic:/Coq/Lists/List/list_prod.con -cic:/Coq/Lists/List/list_rec.con -cic:/Coq/Lists/List/list_rect.con -cic:/Coq/Lists/List/map.con -cic:/Coq/Lists/List/nil_cons.con -cic:/Coq/Lists/List/nth.con -cic:/Coq/Lists/List/nth_In.con -cic:/Coq/Lists/List/nth_S_cons.con -cic:/Coq/Lists/List/nth_default.con -cic:/Coq/Lists/List/nth_error.con -cic:/Coq/Lists/List/nth_in_or_default.con -cic:/Coq/Lists/List/nth_ok.con -cic:/Coq/Lists/List/rev.con -cic:/Coq/Lists/List/rev_ind.con -cic:/Coq/Lists/List/rev_involutive.con -cic:/Coq/Lists/List/rev_list_ind.con -cic:/Coq/Lists/List/rev_unit.con -cic:/Coq/Lists/List/tail.con -cic:/Coq/Lists/ListSet/empty_set.con -cic:/Coq/Lists/ListSet/set.con -cic:/Coq/Lists/ListSet/set_In.con -cic:/Coq/Lists/ListSet/set_In_dec.con -cic:/Coq/Lists/ListSet/set_add.con -cic:/Coq/Lists/ListSet/set_add_elim.con -cic:/Coq/Lists/ListSet/set_add_elim2.con -cic:/Coq/Lists/ListSet/set_add_intro.con -cic:/Coq/Lists/ListSet/set_add_intro1.con -cic:/Coq/Lists/ListSet/set_add_intro2.con -cic:/Coq/Lists/ListSet/set_add_not_empty.con -cic:/Coq/Lists/ListSet/set_diff.con -cic:/Coq/Lists/ListSet/set_diff_elim1.con -cic:/Coq/Lists/ListSet/set_diff_elim2.con -cic:/Coq/Lists/ListSet/set_diff_intro.con -cic:/Coq/Lists/ListSet/set_diff_trivial.con -cic:/Coq/Lists/ListSet/set_fold_left.con -cic:/Coq/Lists/ListSet/set_fold_right.con -cic:/Coq/Lists/ListSet/set_inter.con -cic:/Coq/Lists/ListSet/set_inter_elim.con -cic:/Coq/Lists/ListSet/set_inter_elim1.con -cic:/Coq/Lists/ListSet/set_inter_elim2.con -cic:/Coq/Lists/ListSet/set_inter_intro.con -cic:/Coq/Lists/ListSet/set_map.con -cic:/Coq/Lists/ListSet/set_mem.con -cic:/Coq/Lists/ListSet/set_mem_complete1.con -cic:/Coq/Lists/ListSet/set_mem_complete2.con -cic:/Coq/Lists/ListSet/set_mem_correct1.con -cic:/Coq/Lists/ListSet/set_mem_correct2.con -cic:/Coq/Lists/ListSet/set_mem_ind.con -cic:/Coq/Lists/ListSet/set_mem_ind2.con -cic:/Coq/Lists/ListSet/set_power.con -cic:/Coq/Lists/ListSet/set_prod.con -cic:/Coq/Lists/ListSet/set_remove.con -cic:/Coq/Lists/ListSet/set_union.con -cic:/Coq/Lists/ListSet/set_union_elim.con -cic:/Coq/Lists/ListSet/set_union_emptyL.con -cic:/Coq/Lists/ListSet/set_union_emptyR.con -cic:/Coq/Lists/ListSet/set_union_intro.con -cic:/Coq/Lists/ListSet/set_union_intro1.con -cic:/Coq/Lists/ListSet/set_union_intro2.con -cic:/Coq/Lists/MonoList/A.con -cic:/Coq/Lists/MonoList/In.con -cic:/Coq/Lists/MonoList/List_Dom.con -cic:/Coq/Lists/MonoList/app.con -cic:/Coq/Lists/MonoList/app_ass.con -cic:/Coq/Lists/MonoList/app_nil_end.con -cic:/Coq/Lists/MonoList/ass_app.con -cic:/Coq/Lists/MonoList/in_app_or.con -cic:/Coq/Lists/MonoList/in_cons.con -cic:/Coq/Lists/MonoList/in_eq.con -cic:/Coq/Lists/MonoList/in_or_app.con -cic:/Coq/Lists/MonoList/incl.con -cic:/Coq/Lists/MonoList/incl_app.con -cic:/Coq/Lists/MonoList/incl_appl.con -cic:/Coq/Lists/MonoList/incl_appr.con -cic:/Coq/Lists/MonoList/incl_cons.con -cic:/Coq/Lists/MonoList/incl_refl.con -cic:/Coq/Lists/MonoList/incl_tl.con -cic:/Coq/Lists/MonoList/incl_tran.con -cic:/Coq/Lists/MonoList/lel.con -cic:/Coq/Lists/MonoList/lel_cons.con -cic:/Coq/Lists/MonoList/lel_cons_cons.con -cic:/Coq/Lists/MonoList/lel_nil.con -cic:/Coq/Lists/MonoList/lel_refl.con -cic:/Coq/Lists/MonoList/lel_tail.con -cic:/Coq/Lists/MonoList/lel_trans.con -cic:/Coq/Lists/MonoList/length.con -cic:/Coq/Lists/MonoList/list_ind.con -cic:/Coq/Lists/MonoList/list_rec.con -cic:/Coq/Lists/MonoList/list_rect.con -cic:/Coq/Lists/MonoList/nil_cons.con -cic:/Coq/Lists/MonoList/tail.con -cic:/Coq/Lists/Streams/EqSt_reflex.con -cic:/Coq/Lists/Streams/Exists_ind.con -cic:/Coq/Lists/Streams/ForAll_coind.con -cic:/Coq/Lists/Streams/Str_nth.con -cic:/Coq/Lists/Streams/Str_nth_plus.con -cic:/Coq/Lists/Streams/Str_nth_tl.con -cic:/Coq/Lists/Streams/Str_nth_tl_plus.con -cic:/Coq/Lists/Streams/const.con -cic:/Coq/Lists/Streams/eqst_ntheq.con -cic:/Coq/Lists/Streams/hd.con -cic:/Coq/Lists/Streams/map.con -cic:/Coq/Lists/Streams/ntheq_eqst.con -cic:/Coq/Lists/Streams/sym_EqSt.con -cic:/Coq/Lists/Streams/tl.con -cic:/Coq/Lists/Streams/tl_nth_tl.con -cic:/Coq/Lists/Streams/trans_EqSt.con -cic:/Coq/Lists/Streams/unfold_Stream.con -cic:/Coq/Lists/TheoryList/AllS_assoc_ind.con -cic:/Coq/Lists/TheoryList/AllS_ind.con -cic:/Coq/Lists/TheoryList/Assoc.con -cic:/Coq/Lists/TheoryList/Find.con -cic:/Coq/Lists/TheoryList/Hd.con -cic:/Coq/Lists/TheoryList/InR_INV.con -cic:/Coq/Lists/TheoryList/InR_app_or.con -cic:/Coq/Lists/TheoryList/InR_cons_inv.con -cic:/Coq/Lists/TheoryList/InR_ind.con -cic:/Coq/Lists/TheoryList/InR_inv.con -cic:/Coq/Lists/TheoryList/InR_or_app.con -cic:/Coq/Lists/TheoryList/In_In_spec.con -cic:/Coq/Lists/TheoryList/In_spec_ind.con -cic:/Coq/Lists/TheoryList/Index.con -cic:/Coq/Lists/TheoryList/Index_p.con -cic:/Coq/Lists/TheoryList/Isnil.con -cic:/Coq/Lists/TheoryList/Isnil_dec.con -cic:/Coq/Lists/TheoryList/Isnil_nil.con -cic:/Coq/Lists/TheoryList/Item.con -cic:/Coq/Lists/TheoryList/Length.con -cic:/Coq/Lists/TheoryList/Length_l.con -cic:/Coq/Lists/TheoryList/Length_l_pf.con -cic:/Coq/Lists/TheoryList/Mem.con -cic:/Coq/Lists/TheoryList/Nth.con -cic:/Coq/Lists/TheoryList/Nth_func.con -cic:/Coq/Lists/TheoryList/Tl.con -cic:/Coq/Lists/TheoryList/Try_find.con -cic:/Coq/Lists/TheoryList/Uncons.con -cic:/Coq/Lists/TheoryList/assoc.con -cic:/Coq/Lists/TheoryList/find.con -cic:/Coq/Lists/TheoryList/fst_nth_nth.con -cic:/Coq/Lists/TheoryList/fst_nth_spec_ind.con -cic:/Coq/Lists/TheoryList/index_p.con -cic:/Coq/Lists/TheoryList/mem.con -cic:/Coq/Lists/TheoryList/not_Isnil_cons.con -cic:/Coq/Lists/TheoryList/nth_le_length.con -cic:/Coq/Lists/TheoryList/nth_lt_O.con -cic:/Coq/Lists/TheoryList/nth_spec_ind.con -cic:/Coq/Lists/TheoryList/try_find.con -cic:/Coq/Logic/Berardi/AC.con -cic:/Coq/Logic/Berardi/AC_IF.con -cic:/Coq/Logic/Berardi/IFProp.con -cic:/Coq/Logic/Berardi/L1.con -cic:/Coq/Logic/Berardi/Not_b.con -cic:/Coq/Logic/Berardi/R.con -cic:/Coq/Logic/Berardi/U.con -cic:/Coq/Logic/Berardi/classical_proof_irrelevence.con -cic:/Coq/Logic/Berardi/f.con -cic:/Coq/Logic/Berardi/g.con -cic:/Coq/Logic/Berardi/i.con -cic:/Coq/Logic/Berardi/i2.con -cic:/Coq/Logic/Berardi/inv.con -cic:/Coq/Logic/Berardi/inv2.con -cic:/Coq/Logic/Berardi/j.con -cic:/Coq/Logic/Berardi/j2.con -cic:/Coq/Logic/Berardi/not_has_fixpoint.con -cic:/Coq/Logic/Berardi/pow.con -cic:/Coq/Logic/Berardi/retract_cond_ind.con -cic:/Coq/Logic/Berardi/retract_cond_rec.con -cic:/Coq/Logic/Berardi/retract_cond_rect.con -cic:/Coq/Logic/Berardi/retract_ind.con -cic:/Coq/Logic/Berardi/retract_pow_U_U.con -cic:/Coq/Logic/Berardi/retract_rec.con -cic:/Coq/Logic/Berardi/retract_rect.con -cic:/Coq/Logic/ChoiceFacts/FunChoice_Equiv_RelChoice_and_ParamDefinDescr.con -cic:/Coq/Logic/ChoiceFacts/FunctionalChoice.con -cic:/Coq/Logic/ChoiceFacts/GuardedRelationalChoice.con -cic:/Coq/Logic/ChoiceFacts/IndependenceOfPremises.con -cic:/Coq/Logic/ChoiceFacts/ParamDefiniteDescription.con -cic:/Coq/Logic/ChoiceFacts/ProofIrrelevance.con -cic:/Coq/Logic/ChoiceFacts/RelationalChoice.con -cic:/Coq/Logic/ChoiceFacts/description_rel_choice_imp_funct_choice.con -cic:/Coq/Logic/ChoiceFacts/funct_choice_imp_description.con -cic:/Coq/Logic/ChoiceFacts/funct_choice_imp_rel_choice.con -cic:/Coq/Logic/ChoiceFacts/rel_choice_and_proof_irrel_imp_guarded_rel_choice.con -cic:/Coq/Logic/ChoiceFacts/rel_choice_indep_of_premises_imp_guarded_rel_choice.con -cic:/Coq/Logic/ClassicalChoice/choice.con -cic:/Coq/Logic/ClassicalDescription/classic_set.con -cic:/Coq/Logic/ClassicalDescription/dependent_description.con -cic:/Coq/Logic/ClassicalDescription/description.con -cic:/Coq/Logic/ClassicalFacts/BoolP.con -cic:/Coq/Logic/ClassicalFacts/BoolP_dep_induction.con -cic:/Coq/Logic/ClassicalFacts/BoolP_elim.con -cic:/Coq/Logic/ClassicalFacts/BoolP_elim_redl.con -cic:/Coq/Logic/ClassicalFacts/BoolP_elim_redr.con -cic:/Coq/Logic/ClassicalFacts/F.con -cic:/Coq/Logic/ClassicalFacts/FalseP.con -cic:/Coq/Logic/ClassicalFacts/Fix.con -cic:/Coq/Logic/ClassicalFacts/TrueP.con -cic:/Coq/Logic/ClassicalFacts/aux.con -cic:/Coq/Logic/ClassicalFacts/boolP_elim_redl.con -cic:/Coq/Logic/ClassicalFacts/boolP_elim_redr.con -cic:/Coq/Logic/ClassicalFacts/boolP_ind.con -cic:/Coq/Logic/ClassicalFacts/boolP_indd.con -cic:/Coq/Logic/ClassicalFacts/excluded_middle.con -cic:/Coq/Logic/ClassicalFacts/ext_prop_dep_proof_irrel_cc.con -cic:/Coq/Logic/ClassicalFacts/ext_prop_dep_proof_irrel_cic.con -cic:/Coq/Logic/ClassicalFacts/ext_prop_dep_proof_irrel_gen.con -cic:/Coq/Logic/ClassicalFacts/ext_prop_fixpoint.con -cic:/Coq/Logic/ClassicalFacts/f1.con -cic:/Coq/Logic/ClassicalFacts/f1_o_f2.con -cic:/Coq/Logic/ClassicalFacts/f2.con -cic:/Coq/Logic/ClassicalFacts/has_fixpoint_ind.con -cic:/Coq/Logic/ClassicalFacts/has_fixpoint_rec.con -cic:/Coq/Logic/ClassicalFacts/has_fixpoint_rect.con -cic:/Coq/Logic/ClassicalFacts/inhabited.con -cic:/Coq/Logic/ClassicalFacts/proof_irrelevance.con -cic:/Coq/Logic/ClassicalFacts/prop_degen_em.con -cic:/Coq/Logic/ClassicalFacts/prop_degen_ext.con -cic:/Coq/Logic/ClassicalFacts/prop_degeneracy.con -cic:/Coq/Logic/ClassicalFacts/prop_ext_A_eq_A_imp_A.con -cic:/Coq/Logic/ClassicalFacts/prop_ext_em_degen.con -cic:/Coq/Logic/ClassicalFacts/prop_ext_retract_A_A_imp_A.con -cic:/Coq/Logic/ClassicalFacts/prop_extensionality.con -cic:/Coq/Logic/ClassicalFacts/retract_ind.con -cic:/Coq/Logic/ClassicalFacts/retract_rec.con -cic:/Coq/Logic/ClassicalFacts/retract_rect.con -cic:/Coq/Logic/Classical_Pred_Set/all_not_not_ex.con -cic:/Coq/Logic/Classical_Pred_Set/ex_not_not_all.con -cic:/Coq/Logic/Classical_Pred_Set/not_all_ex_not.con -cic:/Coq/Logic/Classical_Pred_Set/not_all_not_ex.con -cic:/Coq/Logic/Classical_Pred_Set/not_ex_all_not.con -cic:/Coq/Logic/Classical_Pred_Set/not_ex_not_all.con -cic:/Coq/Logic/Classical_Pred_Type/all_not_not_ex.con -cic:/Coq/Logic/Classical_Pred_Type/ex_not_not_all.con -cic:/Coq/Logic/Classical_Pred_Type/not_all_ex_not.con -cic:/Coq/Logic/Classical_Pred_Type/not_all_not_ex.con -cic:/Coq/Logic/Classical_Pred_Type/not_ex_all_not.con -cic:/Coq/Logic/Classical_Pred_Type/not_ex_not_all.con -cic:/Coq/Logic/Classical_Prop/NNPP.con -cic:/Coq/Logic/Classical_Prop/and_not_or.con -cic:/Coq/Logic/Classical_Prop/classic.con -cic:/Coq/Logic/Classical_Prop/imply_and_or.con -cic:/Coq/Logic/Classical_Prop/imply_and_or2.con -cic:/Coq/Logic/Classical_Prop/imply_to_and.con -cic:/Coq/Logic/Classical_Prop/imply_to_or.con -cic:/Coq/Logic/Classical_Prop/not_and_or.con -cic:/Coq/Logic/Classical_Prop/not_imply_elim.con -cic:/Coq/Logic/Classical_Prop/not_imply_elim2.con -cic:/Coq/Logic/Classical_Prop/not_or_and.con -cic:/Coq/Logic/Classical_Prop/or_not_and.con -cic:/Coq/Logic/Classical_Prop/or_to_imply.con -cic:/Coq/Logic/Classical_Prop/proof_irrelevance.con -cic:/Coq/Logic/Decidable/dec_False.con -cic:/Coq/Logic/Decidable/dec_True.con -cic:/Coq/Logic/Decidable/dec_and.con -cic:/Coq/Logic/Decidable/dec_imp.con -cic:/Coq/Logic/Decidable/dec_not.con -cic:/Coq/Logic/Decidable/dec_not_not.con -cic:/Coq/Logic/Decidable/dec_or.con -cic:/Coq/Logic/Decidable/decidable.con -cic:/Coq/Logic/Decidable/imp_simp.con -cic:/Coq/Logic/Decidable/not_and.con -cic:/Coq/Logic/Decidable/not_imp.con -cic:/Coq/Logic/Decidable/not_not.con -cic:/Coq/Logic/Decidable/not_or.con -cic:/Coq/Logic/Diaconescu/AC.con -cic:/Coq/Logic/Diaconescu/PredicateExtensionality.con -cic:/Coq/Logic/Diaconescu/guarded_rel_choice.con -cic:/Coq/Logic/Diaconescu/pred_ext_and_rel_choice_imp_EM.con -cic:/Coq/Logic/Diaconescu/proof_irrel.con -cic:/Coq/Logic/Diaconescu/prop_ext.con -cic:/Coq/Logic/Eqdep/Streicher_K.con -cic:/Coq/Logic/Eqdep/UIP.con -cic:/Coq/Logic/Eqdep/UIP_refl.con -cic:/Coq/Logic/Eqdep/eq_dep1_dep.con -cic:/Coq/Logic/Eqdep/eq_dep1_eq.con -cic:/Coq/Logic/Eqdep/eq_dep1_ind.con -cic:/Coq/Logic/Eqdep/eq_dep1_rec.con -cic:/Coq/Logic/Eqdep/eq_dep1_rect.con -cic:/Coq/Logic/Eqdep/eq_dep_dep1.con -cic:/Coq/Logic/Eqdep/eq_dep_eq.con -cic:/Coq/Logic/Eqdep/eq_dep_ind.con -cic:/Coq/Logic/Eqdep/eq_dep_rec.con -cic:/Coq/Logic/Eqdep/eq_dep_rect.con -cic:/Coq/Logic/Eqdep/eq_dep_sym.con -cic:/Coq/Logic/Eqdep/eq_dep_trans.con -cic:/Coq/Logic/Eqdep/eq_indd.con -cic:/Coq/Logic/Eqdep/eq_rec_eq.con -cic:/Coq/Logic/Eqdep/eq_rect_eq.con -cic:/Coq/Logic/Eqdep/equiv_eqex_eqdep.con -cic:/Coq/Logic/Eqdep/inj_pair2.con -cic:/Coq/Logic/Eqdep/inj_pairT2.con -cic:/Coq/Logic/Eqdep_dec/K_dec.con -cic:/Coq/Logic/Eqdep_dec/K_dec_set.con -cic:/Coq/Logic/Eqdep_dec/eq2eqT.con -cic:/Coq/Logic/Eqdep_dec/eqT2eq.con -cic:/Coq/Logic/Eqdep_dec/eqT_eq_bij.con -cic:/Coq/Logic/Eqdep_dec/eq_eqT_bij.con -cic:/Coq/Logic/Eqdep_dec/eq_proofs_unicity.con -cic:/Coq/Logic/Eqdep_dec/inj_right_pair.con -cic:/Coq/Logic/Eqdep_dec/nu_left_inv.con -cic:/Coq/Logic/Eqdep_dec/trans_sym_eqT.con -cic:/Coq/Logic/Hurkens/I.con -cic:/Coq/Logic/Hurkens/Omega.con -cic:/Coq/Logic/Hurkens/U.con -cic:/Coq/Logic/Hurkens/V.con -cic:/Coq/Logic/Hurkens/WF.con -cic:/Coq/Logic/Hurkens/induct.con -cic:/Coq/Logic/Hurkens/le.con -cic:/Coq/Logic/Hurkens/lemma1.con -cic:/Coq/Logic/Hurkens/lemma2.con -cic:/Coq/Logic/Hurkens/paradox.con -cic:/Coq/Logic/Hurkens/sb.con -cic:/Coq/Logic/JMeq/JMeq_eq.con -cic:/Coq/Logic/JMeq/JMeq_eq_dep.con -cic:/Coq/Logic/JMeq/JMeq_ind.con -cic:/Coq/Logic/JMeq/JMeq_ind_r.con -cic:/Coq/Logic/JMeq/JMeq_rec.con -cic:/Coq/Logic/JMeq/JMeq_rec_r.con -cic:/Coq/Logic/JMeq/JMeq_rect.con -cic:/Coq/Logic/JMeq/eq_dep_JMeq.con -cic:/Coq/Logic/JMeq/sym_JMeq.con -cic:/Coq/Logic/JMeq/trans_JMeq.con -cic:/Coq/Logic/ProofIrrelevance/b2p.con -cic:/Coq/Logic/ProofIrrelevance/or_elim_redl.con -cic:/Coq/Logic/ProofIrrelevance/or_elim_redr.con -cic:/Coq/Logic/ProofIrrelevance/or_indd.con -cic:/Coq/Logic/ProofIrrelevance/p2b.con -cic:/Coq/Logic/ProofIrrelevance/p2p1.con -cic:/Coq/Logic/ProofIrrelevance/p2p2.con -cic:/Coq/Logic/ProofIrrelevance/proof_irrelevance_cc.con -cic:/Coq/Logic/ProofIrrelevance/proof_irrelevance_cci.con -cic:/Coq/Logic/RelationalChoice/relational_choice.con -cic:/Coq/NArith/BinNat/N_ind.con -cic:/Coq/NArith/BinNat/N_rec.con -cic:/Coq/NArith/BinNat/N_rect.con -cic:/Coq/NArith/BinNat/Ncompare.con -cic:/Coq/NArith/BinNat/Ncompare_Eq_eq.con -cic:/Coq/NArith/BinNat/Ndouble.con -cic:/Coq/NArith/BinNat/Ndouble_plus_one.con -cic:/Coq/NArith/BinNat/Nind.con -cic:/Coq/NArith/BinNat/Nmult.con -cic:/Coq/NArith/BinNat/Nmult_0_l.con -cic:/Coq/NArith/BinNat/Nmult_1_l.con -cic:/Coq/NArith/BinNat/Nmult_1_r.con -cic:/Coq/NArith/BinNat/Nmult_assoc.con -cic:/Coq/NArith/BinNat/Nmult_comm.con -cic:/Coq/NArith/BinNat/Nmult_plus_distr_r.con -cic:/Coq/NArith/BinNat/Nmult_reg_r.con -cic:/Coq/NArith/BinNat/Nplus.con -cic:/Coq/NArith/BinNat/Nplus_0_l.con -cic:/Coq/NArith/BinNat/Nplus_0_r.con -cic:/Coq/NArith/BinNat/Nplus_assoc.con -cic:/Coq/NArith/BinNat/Nplus_comm.con -cic:/Coq/NArith/BinNat/Nplus_reg_l.con -cic:/Coq/NArith/BinNat/Nplus_succ.con -cic:/Coq/NArith/BinNat/Nsucc.con -cic:/Coq/NArith/BinNat/Nsucc_inj.con -cic:/Coq/NArith/BinPos/Dcompare.con -cic:/Coq/NArith/BinPos/P_of_succ_nat.con -cic:/Coq/NArith/BinPos/Pcase.con -cic:/Coq/NArith/BinPos/Pcompare.con -cic:/Coq/NArith/BinPos/Pcompare_Eq_eq.con -cic:/Coq/NArith/BinPos/Pcompare_Gt_Gt.con -cic:/Coq/NArith/BinPos/Pcompare_Gt_Lt.con -cic:/Coq/NArith/BinPos/Pcompare_Lt_Gt.con -cic:/Coq/NArith/BinPos/Pcompare_Lt_Lt.con -cic:/Coq/NArith/BinPos/Pcompare_antisym.con -cic:/Coq/NArith/BinPos/Pcompare_not_Eq.con -cic:/Coq/NArith/BinPos/Pcompare_refl.con -cic:/Coq/NArith/BinPos/Pdiv2.con -cic:/Coq/NArith/BinPos/Pdouble_mask.con -cic:/Coq/NArith/BinPos/Pdouble_minus_one.con -cic:/Coq/NArith/BinPos/Pdouble_minus_one_o_succ_eq_xI.con -cic:/Coq/NArith/BinPos/Pdouble_minus_two.con -cic:/Coq/NArith/BinPos/Pdouble_plus_one_mask.con -cic:/Coq/NArith/BinPos/Pind.con -cic:/Coq/NArith/BinPos/Pminus.con -cic:/Coq/NArith/BinPos/Pminus_mask.con -cic:/Coq/NArith/BinPos/Pminus_mask_Gt.con -cic:/Coq/NArith/BinPos/Pminus_mask_carry.con -cic:/Coq/NArith/BinPos/Pminus_mask_diag.con -cic:/Coq/NArith/BinPos/Pmult.con -cic:/Coq/NArith/BinPos/Pmult_1_inversion_l.con -cic:/Coq/NArith/BinPos/Pmult_1_r.con -cic:/Coq/NArith/BinPos/Pmult_assoc.con -cic:/Coq/NArith/BinPos/Pmult_comm.con -cic:/Coq/NArith/BinPos/Pmult_nat.con -cic:/Coq/NArith/BinPos/Pmult_plus_distr_l.con -cic:/Coq/NArith/BinPos/Pmult_plus_distr_r.con -cic:/Coq/NArith/BinPos/Pmult_reg_l.con -cic:/Coq/NArith/BinPos/Pmult_reg_r.con -cic:/Coq/NArith/BinPos/Pmult_xI_mult_xO_discr.con -cic:/Coq/NArith/BinPos/Pmult_xI_permute_r.con -cic:/Coq/NArith/BinPos/Pmult_xO_discr.con -cic:/Coq/NArith/BinPos/Pmult_xO_permute_r.con -cic:/Coq/NArith/BinPos/Pplus.con -cic:/Coq/NArith/BinPos/Pplus_assoc.con -cic:/Coq/NArith/BinPos/Pplus_carry.con -cic:/Coq/NArith/BinPos/Pplus_carry_no_neutral.con -cic:/Coq/NArith/BinPos/Pplus_carry_plus.con -cic:/Coq/NArith/BinPos/Pplus_carry_pred_eq_plus.con -cic:/Coq/NArith/BinPos/Pplus_carry_reg_l.con -cic:/Coq/NArith/BinPos/Pplus_carry_reg_r.con -cic:/Coq/NArith/BinPos/Pplus_carry_spec.con -cic:/Coq/NArith/BinPos/Pplus_comm.con -cic:/Coq/NArith/BinPos/Pplus_diag.con -cic:/Coq/NArith/BinPos/Pplus_minus.con -cic:/Coq/NArith/BinPos/Pplus_no_neutral.con -cic:/Coq/NArith/BinPos/Pplus_one_succ_l.con -cic:/Coq/NArith/BinPos/Pplus_one_succ_r.con -cic:/Coq/NArith/BinPos/Pplus_reg_l.con -cic:/Coq/NArith/BinPos/Pplus_reg_r.con -cic:/Coq/NArith/BinPos/Pplus_succ_permute_l.con -cic:/Coq/NArith/BinPos/Pplus_succ_permute_r.con -cic:/Coq/NArith/BinPos/Pplus_xI_double_minus_one.con -cic:/Coq/NArith/BinPos/Pplus_xO_double_minus_one.con -cic:/Coq/NArith/BinPos/Ppred.con -cic:/Coq/NArith/BinPos/Ppred_succ.con -cic:/Coq/NArith/BinPos/Prec.con -cic:/Coq/NArith/BinPos/Psucc.con -cic:/Coq/NArith/BinPos/Psucc_discr.con -cic:/Coq/NArith/BinPos/Psucc_inj.con -cic:/Coq/NArith/BinPos/Psucc_not_one.con -cic:/Coq/NArith/BinPos/Psucc_o_double_minus_one_eq_xO.con -cic:/Coq/NArith/BinPos/Psucc_pred.con -cic:/Coq/NArith/BinPos/ZC1.con -cic:/Coq/NArith/BinPos/ZC2.con -cic:/Coq/NArith/BinPos/ZC3.con -cic:/Coq/NArith/BinPos/ZC4.con -cic:/Coq/NArith/BinPos/ZL10.con -cic:/Coq/NArith/BinPos/ZL11.con -cic:/Coq/NArith/BinPos/double_eq_one_discr.con -cic:/Coq/NArith/BinPos/double_eq_zero_inversion.con -cic:/Coq/NArith/BinPos/double_moins_un_xO_discr.con -cic:/Coq/NArith/BinPos/double_plus_one_eq_one_inversion.con -cic:/Coq/NArith/BinPos/double_plus_one_zero_discr.con -cic:/Coq/NArith/BinPos/iterate_add.con -cic:/Coq/NArith/BinPos/nat_of_P.con -cic:/Coq/NArith/BinPos/plus_iter.con -cic:/Coq/NArith/BinPos/plus_iter_eq_plus.con -cic:/Coq/NArith/BinPos/plus_iter_xI.con -cic:/Coq/NArith/BinPos/plus_iter_xO.con -cic:/Coq/NArith/BinPos/positive_ind.con -cic:/Coq/NArith/BinPos/positive_mask_ind.con -cic:/Coq/NArith/BinPos/positive_mask_rec.con -cic:/Coq/NArith/BinPos/positive_mask_rect.con -cic:/Coq/NArith/BinPos/positive_rec.con -cic:/Coq/NArith/BinPos/positive_rect.con -cic:/Coq/NArith/BinPos/xI_succ_xO.con -cic:/Coq/NArith/BinPos/xO_succ_permute.con -cic:/Coq/NArith/Pnat/P_of_succ_nat_o_nat_of_P_eq_succ.con -cic:/Coq/NArith/Pnat/Pcompare_minus_l.con -cic:/Coq/NArith/Pnat/Pcompare_minus_r.con -cic:/Coq/NArith/Pnat/Pmult_minus_distr_l.con -cic:/Coq/NArith/Pnat/Pmult_nat_2_mult_2_permute.con -cic:/Coq/NArith/Pnat/Pmult_nat_4_mult_2_permute.con -cic:/Coq/NArith/Pnat/Pmult_nat_l_plus_morphism.con -cic:/Coq/NArith/Pnat/Pmult_nat_mult_permute.con -cic:/Coq/NArith/Pnat/Pmult_nat_plus_carry_morphism.con -cic:/Coq/NArith/Pnat/Pmult_nat_r_plus_morphism.con -cic:/Coq/NArith/Pnat/Pmult_nat_succ_morphism.con -cic:/Coq/NArith/Pnat/ZL16.con -cic:/Coq/NArith/Pnat/ZL17.con -cic:/Coq/NArith/Pnat/ZL3.con -cic:/Coq/NArith/Pnat/ZL4.con -cic:/Coq/NArith/Pnat/ZL5.con -cic:/Coq/NArith/Pnat/ZL6.con -cic:/Coq/NArith/Pnat/ZL7.con -cic:/Coq/NArith/Pnat/ZL8.con -cic:/Coq/NArith/Pnat/le_Pmult_nat.con -cic:/Coq/NArith/Pnat/lt_O_nat_of_P.con -cic:/Coq/NArith/Pnat/nat_of_P_gt_Gt_compare_complement_morphism.con -cic:/Coq/NArith/Pnat/nat_of_P_gt_Gt_compare_morphism.con -cic:/Coq/NArith/Pnat/nat_of_P_inj.con -cic:/Coq/NArith/Pnat/nat_of_P_lt_Lt_compare_complement_morphism.con -cic:/Coq/NArith/Pnat/nat_of_P_lt_Lt_compare_morphism.con -cic:/Coq/NArith/Pnat/nat_of_P_minus_morphism.con -cic:/Coq/NArith/Pnat/nat_of_P_mult_morphism.con -cic:/Coq/NArith/Pnat/nat_of_P_o_P_of_succ_nat_eq_succ.con -cic:/Coq/NArith/Pnat/nat_of_P_plus_carry_morphism.con -cic:/Coq/NArith/Pnat/nat_of_P_plus_morphism.con -cic:/Coq/NArith/Pnat/nat_of_P_succ_morphism.con -cic:/Coq/NArith/Pnat/nat_of_P_xH.con -cic:/Coq/NArith/Pnat/nat_of_P_xI.con -cic:/Coq/NArith/Pnat/nat_of_P_xO.con -cic:/Coq/NArith/Pnat/pred_o_P_of_succ_nat_o_nat_of_P_eq_id.con -cic:/Coq/Reals/ArithProp/euclidian_division.con -cic:/Coq/Reals/ArithProp/even_odd_cor.con -cic:/Coq/Reals/ArithProp/le_double.con -cic:/Coq/Reals/ArithProp/le_minusni_n.con -cic:/Coq/Reals/ArithProp/lt_minus_O_lt.con -cic:/Coq/Reals/ArithProp/minus_neq_O.con -cic:/Coq/Reals/ArithProp/tech8.con -cic:/Coq/Reals/Binomial/C.con -cic:/Coq/Reals/Binomial/binomial.con -cic:/Coq/Reals/Binomial/pascal.con -cic:/Coq/Reals/Binomial/pascal_step1.con -cic:/Coq/Reals/Binomial/pascal_step2.con -cic:/Coq/Reals/Binomial/pascal_step3.con -cic:/Coq/Reals/Cauchy_prod/cauchy_finite.con -cic:/Coq/Reals/Cauchy_prod/sum_N_predN.con -cic:/Coq/Reals/Cauchy_prod/sum_plus.con -cic:/Coq/Reals/Cos_plus/Majxy.con -cic:/Coq/Reals/Cos_plus/Majxy_cv_R0.con -cic:/Coq/Reals/Cos_plus/cos_plus.con -cic:/Coq/Reals/Cos_plus/reste1_cv_R0.con -cic:/Coq/Reals/Cos_plus/reste1_maj.con -cic:/Coq/Reals/Cos_plus/reste2_cv_R0.con -cic:/Coq/Reals/Cos_plus/reste2_maj.con -cic:/Coq/Reals/Cos_plus/reste_cv_R0.con -cic:/Coq/Reals/Cos_rel/A1.con -cic:/Coq/Reals/Cos_rel/A1_cvg.con -cic:/Coq/Reals/Cos_rel/B1.con -cic:/Coq/Reals/Cos_rel/B1_cvg.con -cic:/Coq/Reals/Cos_rel/C1.con -cic:/Coq/Reals/Cos_rel/C1_cvg.con -cic:/Coq/Reals/Cos_rel/Reste.con -cic:/Coq/Reals/Cos_rel/Reste1.con -cic:/Coq/Reals/Cos_rel/Reste2.con -cic:/Coq/Reals/Cos_rel/cos_plus_form.con -cic:/Coq/Reals/Cos_rel/pow_sqr.con -cic:/Coq/Reals/DiscrR/IZR_eq.con -cic:/Coq/Reals/DiscrR/IZR_neq.con -cic:/Coq/Reals/DiscrR/Rlt_R0_R2.con -cic:/Coq/Reals/DiscrR/Rplus_lt_pos.con -cic:/Coq/Reals/Exp_prop/E1.con -cic:/Coq/Reals/Exp_prop/E1_cvg.con -cic:/Coq/Reals/Exp_prop/Reste_E.con -cic:/Coq/Reals/Exp_prop/Reste_E_cv.con -cic:/Coq/Reals/Exp_prop/Reste_E_maj.con -cic:/Coq/Reals/Exp_prop/Rle_Rinv.con -cic:/Coq/Reals/Exp_prop/derivable_pt_lim_exp_0.con -cic:/Coq/Reals/Exp_prop/div2_S_double.con -cic:/Coq/Reals/Exp_prop/div2_double.con -cic:/Coq/Reals/Exp_prop/div2_not_R0.con -cic:/Coq/Reals/Exp_prop/exp_form.con -cic:/Coq/Reals/Exp_prop/exp_plus.con -cic:/Coq/Reals/Exp_prop/exp_pos.con -cic:/Coq/Reals/Exp_prop/exp_pos_pos.con -cic:/Coq/Reals/Exp_prop/maj_Reste_E.con -cic:/Coq/Reals/Exp_prop/maj_Reste_cv_R0.con -cic:/Coq/Reals/MVT/IAF.con -cic:/Coq/Reals/MVT/IAF_var.con -cic:/Coq/Reals/MVT/MVT.con -cic:/Coq/Reals/MVT/MVT_cor1.con -cic:/Coq/Reals/MVT/MVT_cor2.con -cic:/Coq/Reals/MVT/MVT_cor3.con -cic:/Coq/Reals/MVT/Rolle.con -cic:/Coq/Reals/MVT/antiderivative_Ucte.con -cic:/Coq/Reals/MVT/derive_increasing_interv.con -cic:/Coq/Reals/MVT/derive_increasing_interv_ax.con -cic:/Coq/Reals/MVT/derive_increasing_interv_var.con -cic:/Coq/Reals/MVT/increasing_decreasing.con -cic:/Coq/Reals/MVT/increasing_decreasing_opp.con -cic:/Coq/Reals/MVT/negative_derivative.con -cic:/Coq/Reals/MVT/nonneg_derivative_1.con -cic:/Coq/Reals/MVT/nonpos_derivative_0.con -cic:/Coq/Reals/MVT/nonpos_derivative_1.con -cic:/Coq/Reals/MVT/null_derivative_0.con -cic:/Coq/Reals/MVT/null_derivative_1.con -cic:/Coq/Reals/MVT/null_derivative_loc.con -cic:/Coq/Reals/MVT/positive_derivative.con -cic:/Coq/Reals/MVT/strictincreasing_strictdecreasing_opp.con -cic:/Coq/Reals/NewtonInt/FTCN_step1.con -cic:/Coq/Reals/NewtonInt/FTC_Newton.con -cic:/Coq/Reals/NewtonInt/NewtonInt.con -cic:/Coq/Reals/NewtonInt/NewtonInt_P1.con -cic:/Coq/Reals/NewtonInt/NewtonInt_P2.con -cic:/Coq/Reals/NewtonInt/NewtonInt_P3.con -cic:/Coq/Reals/NewtonInt/NewtonInt_P4.con -cic:/Coq/Reals/NewtonInt/NewtonInt_P5.con -cic:/Coq/Reals/NewtonInt/NewtonInt_P6.con -cic:/Coq/Reals/NewtonInt/NewtonInt_P7.con -cic:/Coq/Reals/NewtonInt/NewtonInt_P8.con -cic:/Coq/Reals/NewtonInt/NewtonInt_P9.con -cic:/Coq/Reals/NewtonInt/Newton_integrable.con -cic:/Coq/Reals/NewtonInt/antiderivative_P1.con -cic:/Coq/Reals/NewtonInt/antiderivative_P2.con -cic:/Coq/Reals/NewtonInt/antiderivative_P3.con -cic:/Coq/Reals/NewtonInt/antiderivative_P4.con -cic:/Coq/Reals/PartSum/Cauchy_crit_series.con -cic:/Coq/Reals/PartSum/Rabs_triang_gen.con -cic:/Coq/Reals/PartSum/Rsum_abs.con -cic:/Coq/Reals/PartSum/SP.con -cic:/Coq/Reals/PartSum/cauchy_abs.con -cic:/Coq/Reals/PartSum/cond_pos_sum.con -cic:/Coq/Reals/PartSum/cv_cauchy_1.con -cic:/Coq/Reals/PartSum/cv_cauchy_2.con -cic:/Coq/Reals/PartSum/decomp_sum.con -cic:/Coq/Reals/PartSum/minus_sum.con -cic:/Coq/Reals/PartSum/plus_sum.con -cic:/Coq/Reals/PartSum/scal_sum.con -cic:/Coq/Reals/PartSum/sum_Rle.con -cic:/Coq/Reals/PartSum/sum_cte.con -cic:/Coq/Reals/PartSum/sum_cv_maj.con -cic:/Coq/Reals/PartSum/sum_decomposition.con -cic:/Coq/Reals/PartSum/sum_eq.con -cic:/Coq/Reals/PartSum/sum_eq_R0.con -cic:/Coq/Reals/PartSum/sum_growing.con -cic:/Coq/Reals/PartSum/sum_incr.con -cic:/Coq/Reals/PartSum/tech1.con -cic:/Coq/Reals/PartSum/tech11.con -cic:/Coq/Reals/PartSum/tech12.con -cic:/Coq/Reals/PartSum/tech2.con -cic:/Coq/Reals/PartSum/tech3.con -cic:/Coq/Reals/PartSum/tech4.con -cic:/Coq/Reals/PartSum/tech5.con -cic:/Coq/Reals/PartSum/tech6.con -cic:/Coq/Reals/PartSum/tech7.con -cic:/Coq/Reals/PartSum/uniqueness_sum.con -cic:/Coq/Reals/RIneq/INR_IZR_INZ.con -cic:/Coq/Reals/RIneq/INR_eq.con -cic:/Coq/Reals/RIneq/INR_le.con -cic:/Coq/Reals/RIneq/INR_lt.con -cic:/Coq/Reals/RIneq/INR_lt_1.con -cic:/Coq/Reals/RIneq/INR_pos.con -cic:/Coq/Reals/RIneq/IZN.con -cic:/Coq/Reals/RIneq/IZR_ge.con -cic:/Coq/Reals/RIneq/IZR_le.con -cic:/Coq/Reals/RIneq/IZR_lt.con -cic:/Coq/Reals/RIneq/RTheory.con -cic:/Coq/Reals/RIneq/Rdichotomy.con -cic:/Coq/Reals/RIneq/Req_dec.con -cic:/Coq/Reals/RIneq/Req_ge.con -cic:/Coq/Reals/RIneq/Req_ge_sym.con -cic:/Coq/Reals/RIneq/Req_le.con -cic:/Coq/Reals/RIneq/Req_le_sym.con -cic:/Coq/Reals/RIneq/Rge_antisym.con -cic:/Coq/Reals/RIneq/Rge_dec.con -cic:/Coq/Reals/RIneq/Rge_gt_trans.con -cic:/Coq/Reals/RIneq/Rge_le.con -cic:/Coq/Reals/RIneq/Rge_minus.con -cic:/Coq/Reals/RIneq/Rge_trans.con -cic:/Coq/Reals/RIneq/Rgt_dec.con -cic:/Coq/Reals/RIneq/Rgt_ge.con -cic:/Coq/Reals/RIneq/Rgt_ge_trans.con -cic:/Coq/Reals/RIneq/Rgt_minus.con -cic:/Coq/Reals/RIneq/Rgt_not_eq.con -cic:/Coq/Reals/RIneq/Rgt_not_le.con -cic:/Coq/Reals/RIneq/Rgt_trans.con -cic:/Coq/Reals/RIneq/Rinv_0_lt_compat.con -cic:/Coq/Reals/RIneq/Rinv_1.con -cic:/Coq/Reals/RIneq/Rinv_1_lt_contravar.con -cic:/Coq/Reals/RIneq/Rinv_involutive.con -cic:/Coq/Reals/RIneq/Rinv_l_sym.con -cic:/Coq/Reals/RIneq/Rinv_lt_0_compat.con -cic:/Coq/Reals/RIneq/Rinv_lt_contravar.con -cic:/Coq/Reals/RIneq/Rinv_mult_distr.con -cic:/Coq/Reals/RIneq/Rinv_mult_simpl.con -cic:/Coq/Reals/RIneq/Rinv_neq_0_compat.con -cic:/Coq/Reals/RIneq/Rinv_r.con -cic:/Coq/Reals/RIneq/Rinv_r_simpl_l.con -cic:/Coq/Reals/RIneq/Rinv_r_simpl_m.con -cic:/Coq/Reals/RIneq/Rinv_r_simpl_r.con -cic:/Coq/Reals/RIneq/Rinv_r_sym.con -cic:/Coq/Reals/RIneq/Rle_0_1.con -cic:/Coq/Reals/RIneq/Rle_0_sqr.con -cic:/Coq/Reals/RIneq/Rle_antisym.con -cic:/Coq/Reals/RIneq/Rle_dec.con -cic:/Coq/Reals/RIneq/Rle_ge.con -cic:/Coq/Reals/RIneq/Rle_le_eq.con -cic:/Coq/Reals/RIneq/Rle_lt_0_plus_1.con -cic:/Coq/Reals/RIneq/Rle_lt_or_eq_dec.con -cic:/Coq/Reals/RIneq/Rle_lt_trans.con -cic:/Coq/Reals/RIneq/Rle_minus.con -cic:/Coq/Reals/RIneq/Rle_not_lt.con -cic:/Coq/Reals/RIneq/Rle_or_lt.con -cic:/Coq/Reals/RIneq/Rle_refl.con -cic:/Coq/Reals/RIneq/Rle_trans.con -cic:/Coq/Reals/RIneq/Rlt_0_1.con -cic:/Coq/Reals/RIneq/Rlt_0_sqr.con -cic:/Coq/Reals/RIneq/Rlt_dec.con -cic:/Coq/Reals/RIneq/Rlt_dichotomy_converse.con -cic:/Coq/Reals/RIneq/Rlt_eq_compat.con -cic:/Coq/Reals/RIneq/Rlt_irrefl.con -cic:/Coq/Reals/RIneq/Rlt_le.con -cic:/Coq/Reals/RIneq/Rlt_le_dec.con -cic:/Coq/Reals/RIneq/Rlt_le_trans.con -cic:/Coq/Reals/RIneq/Rlt_minus.con -cic:/Coq/Reals/RIneq/Rlt_not_eq.con -cic:/Coq/Reals/RIneq/Rlt_not_ge.con -cic:/Coq/Reals/RIneq/Rlt_not_le.con -cic:/Coq/Reals/RIneq/Rlt_plus_1.con -cic:/Coq/Reals/RIneq/Rminus_0_l.con -cic:/Coq/Reals/RIneq/Rminus_0_r.con -cic:/Coq/Reals/RIneq/Rminus_diag_eq.con -cic:/Coq/Reals/RIneq/Rminus_diag_uniq.con -cic:/Coq/Reals/RIneq/Rminus_diag_uniq_sym.con -cic:/Coq/Reals/RIneq/Rminus_eq_contra.con -cic:/Coq/Reals/RIneq/Rminus_le.con -cic:/Coq/Reals/RIneq/Rminus_lt.con -cic:/Coq/Reals/RIneq/Rminus_not_eq.con -cic:/Coq/Reals/RIneq/Rminus_not_eq_right.con -cic:/Coq/Reals/RIneq/Rmult_0_l.con -cic:/Coq/Reals/RIneq/Rmult_0_r.con -cic:/Coq/Reals/RIneq/Rmult_1_r.con -cic:/Coq/Reals/RIneq/Rmult_eq_0_compat.con -cic:/Coq/Reals/RIneq/Rmult_eq_0_compat_l.con -cic:/Coq/Reals/RIneq/Rmult_eq_0_compat_r.con -cic:/Coq/Reals/RIneq/Rmult_eq_compat_l.con -cic:/Coq/Reals/RIneq/Rmult_eq_reg_l.con -cic:/Coq/Reals/RIneq/Rmult_ge_0_gt_0_lt_compat.con -cic:/Coq/Reals/RIneq/Rmult_ge_compat_r.con -cic:/Coq/Reals/RIneq/Rmult_gt_0_compat.con -cic:/Coq/Reals/RIneq/Rmult_gt_0_lt_compat.con -cic:/Coq/Reals/RIneq/Rmult_integral.con -cic:/Coq/Reals/RIneq/Rmult_integral_contrapositive.con -cic:/Coq/Reals/RIneq/Rmult_le_0_lt_compat.con -cic:/Coq/Reals/RIneq/Rmult_le_compat.con -cic:/Coq/Reals/RIneq/Rmult_le_compat_l.con -cic:/Coq/Reals/RIneq/Rmult_le_compat_neg_l.con -cic:/Coq/Reals/RIneq/Rmult_le_compat_r.con -cic:/Coq/Reals/RIneq/Rmult_le_ge_compat_neg_l.con -cic:/Coq/Reals/RIneq/Rmult_le_pos.con -cic:/Coq/Reals/RIneq/Rmult_le_reg_l.con -cic:/Coq/Reals/RIneq/Rmult_lt_0_compat.con -cic:/Coq/Reals/RIneq/Rmult_lt_compat_r.con -cic:/Coq/Reals/RIneq/Rmult_lt_gt_compat_neg_l.con -cic:/Coq/Reals/RIneq/Rmult_lt_reg_l.con -cic:/Coq/Reals/RIneq/Rmult_minus_distr_l.con -cic:/Coq/Reals/RIneq/Rmult_ne.con -cic:/Coq/Reals/RIneq/Rmult_neq_0_reg.con -cic:/Coq/Reals/RIneq/Rmult_opp_opp.con -cic:/Coq/Reals/RIneq/Rmult_plus_distr_r.con -cic:/Coq/Reals/RIneq/Rnot_ge_lt.con -cic:/Coq/Reals/RIneq/Rnot_gt_le.con -cic:/Coq/Reals/RIneq/Rnot_le_lt.con -cic:/Coq/Reals/RIneq/Rnot_lt_ge.con -cic:/Coq/Reals/RIneq/Rnot_lt_le.con -cic:/Coq/Reals/RIneq/Ropp_0.con -cic:/Coq/Reals/RIneq/Ropp_0_ge_le_contravar.con -cic:/Coq/Reals/RIneq/Ropp_0_gt_lt_contravar.con -cic:/Coq/Reals/RIneq/Ropp_0_le_ge_contravar.con -cic:/Coq/Reals/RIneq/Ropp_0_lt_gt_contravar.con -cic:/Coq/Reals/RIneq/Ropp_Ropp_IZR.con -cic:/Coq/Reals/RIneq/Ropp_eq_0_compat.con -cic:/Coq/Reals/RIneq/Ropp_eq_compat.con -cic:/Coq/Reals/RIneq/Ropp_ge_le_contravar.con -cic:/Coq/Reals/RIneq/Ropp_gt_lt_0_contravar.con -cic:/Coq/Reals/RIneq/Ropp_gt_lt_contravar.con -cic:/Coq/Reals/RIneq/Ropp_inv_permute.con -cic:/Coq/Reals/RIneq/Ropp_involutive.con -cic:/Coq/Reals/RIneq/Ropp_le_cancel.con -cic:/Coq/Reals/RIneq/Ropp_le_contravar.con -cic:/Coq/Reals/RIneq/Ropp_le_ge_contravar.con -cic:/Coq/Reals/RIneq/Ropp_lt_cancel.con -cic:/Coq/Reals/RIneq/Ropp_lt_contravar.con -cic:/Coq/Reals/RIneq/Ropp_lt_gt_0_contravar.con -cic:/Coq/Reals/RIneq/Ropp_lt_gt_contravar.con -cic:/Coq/Reals/RIneq/Ropp_minus_distr'.con -cic:/Coq/Reals/RIneq/Ropp_minus_distr.con -cic:/Coq/Reals/RIneq/Ropp_mult_distr_l_reverse.con -cic:/Coq/Reals/RIneq/Ropp_mult_distr_r_reverse.con -cic:/Coq/Reals/RIneq/Ropp_neq_0_compat.con -cic:/Coq/Reals/RIneq/Ropp_plus_distr.con -cic:/Coq/Reals/RIneq/Rplus_0_r.con -cic:/Coq/Reals/RIneq/Rplus_0_r_uniq.con -cic:/Coq/Reals/RIneq/Rplus_eq_0_l.con -cic:/Coq/Reals/RIneq/Rplus_eq_R0.con -cic:/Coq/Reals/RIneq/Rplus_eq_compat_l.con -cic:/Coq/Reals/RIneq/Rplus_eq_reg_l.con -cic:/Coq/Reals/RIneq/Rplus_ge_compat_l.con -cic:/Coq/Reals/RIneq/Rplus_ge_reg_l.con -cic:/Coq/Reals/RIneq/Rplus_gt_compat_l.con -cic:/Coq/Reals/RIneq/Rplus_gt_reg_l.con -cic:/Coq/Reals/RIneq/Rplus_le_compat.con -cic:/Coq/Reals/RIneq/Rplus_le_compat_l.con -cic:/Coq/Reals/RIneq/Rplus_le_compat_r.con -cic:/Coq/Reals/RIneq/Rplus_le_le_0_compat.con -cic:/Coq/Reals/RIneq/Rplus_le_lt_0_compat.con -cic:/Coq/Reals/RIneq/Rplus_le_lt_compat.con -cic:/Coq/Reals/RIneq/Rplus_le_reg_l.con -cic:/Coq/Reals/RIneq/Rplus_lt_0_compat.con -cic:/Coq/Reals/RIneq/Rplus_lt_compat.con -cic:/Coq/Reals/RIneq/Rplus_lt_compat_r.con -cic:/Coq/Reals/RIneq/Rplus_lt_le_0_compat.con -cic:/Coq/Reals/RIneq/Rplus_lt_le_compat.con -cic:/Coq/Reals/RIneq/Rplus_lt_reg_r.con -cic:/Coq/Reals/RIneq/Rplus_minus.con -cic:/Coq/Reals/RIneq/Rplus_ne.con -cic:/Coq/Reals/RIneq/Rplus_opp_l.con -cic:/Coq/Reals/RIneq/Rplus_opp_r_uniq.con -cic:/Coq/Reals/RIneq/Rplus_sqr_eq_0.con -cic:/Coq/Reals/RIneq/Rplus_sqr_eq_0_l.con -cic:/Coq/Reals/RIneq/Rsqr.con -cic:/Coq/Reals/RIneq/Rsqr_0.con -cic:/Coq/Reals/RIneq/Rsqr_0_uniq.con -cic:/Coq/Reals/RIneq/Rtotal_order.con -cic:/Coq/Reals/RIneq/S_INR.con -cic:/Coq/Reals/RIneq/S_O_plus_INR.con -cic:/Coq/Reals/RIneq/Z_R_minus.con -cic:/Coq/Reals/RIneq/completeness_weak.con -cic:/Coq/Reals/RIneq/cond_neg.con -cic:/Coq/Reals/RIneq/cond_nonneg.con -cic:/Coq/Reals/RIneq/cond_nonpos.con -cic:/Coq/Reals/RIneq/cond_nonzero.con -cic:/Coq/Reals/RIneq/cond_pos.con -cic:/Coq/Reals/RIneq/double.con -cic:/Coq/Reals/RIneq/double_var.con -cic:/Coq/Reals/RIneq/eq_IZR.con -cic:/Coq/Reals/RIneq/eq_IZR_R0.con -cic:/Coq/Reals/RIneq/inser_trans_R.con -cic:/Coq/Reals/RIneq/le_INR.con -cic:/Coq/Reals/RIneq/le_IZR.con -cic:/Coq/Reals/RIneq/le_IZR_R1.con -cic:/Coq/Reals/RIneq/le_O_IZR.con -cic:/Coq/Reals/RIneq/le_epsilon.con -cic:/Coq/Reals/RIneq/lt_INR.con -cic:/Coq/Reals/RIneq/lt_INR_0.con -cic:/Coq/Reals/RIneq/lt_IZR.con -cic:/Coq/Reals/RIneq/lt_O_IZR.con -cic:/Coq/Reals/RIneq/minus_INR.con -cic:/Coq/Reals/RIneq/minus_Rge.con -cic:/Coq/Reals/RIneq/minus_Rgt.con -cic:/Coq/Reals/RIneq/mult_INR.con -cic:/Coq/Reals/RIneq/mult_IZR.con -cic:/Coq/Reals/RIneq/neg.con -cic:/Coq/Reals/RIneq/negreal_ind.con -cic:/Coq/Reals/RIneq/negreal_rec.con -cic:/Coq/Reals/RIneq/negreal_rect.con -cic:/Coq/Reals/RIneq/nonneg.con -cic:/Coq/Reals/RIneq/nonnegreal_ind.con -cic:/Coq/Reals/RIneq/nonnegreal_rec.con -cic:/Coq/Reals/RIneq/nonnegreal_rect.con -cic:/Coq/Reals/RIneq/nonpos.con -cic:/Coq/Reals/RIneq/nonposreal_ind.con -cic:/Coq/Reals/RIneq/nonposreal_rec.con -cic:/Coq/Reals/RIneq/nonposreal_rect.con -cic:/Coq/Reals/RIneq/nonzero.con -cic:/Coq/Reals/RIneq/nonzeroreal_ind.con -cic:/Coq/Reals/RIneq/nonzeroreal_rec.con -cic:/Coq/Reals/RIneq/nonzeroreal_rect.con -cic:/Coq/Reals/RIneq/not_1_INR.con -cic:/Coq/Reals/RIneq/not_INR_O.con -cic:/Coq/Reals/RIneq/not_O_INR.con -cic:/Coq/Reals/RIneq/not_O_IZR.con -cic:/Coq/Reals/RIneq/not_nm_INR.con -cic:/Coq/Reals/RIneq/one_IZR_lt1.con -cic:/Coq/Reals/RIneq/one_IZR_r_R1.con -cic:/Coq/Reals/RIneq/one_IZR_r_R1_subproof.con -cic:/Coq/Reals/RIneq/plus_INR.con -cic:/Coq/Reals/RIneq/plus_IZR.con -cic:/Coq/Reals/RIneq/plus_IZR_NEG_POS.con -cic:/Coq/Reals/RIneq/plus_le_is_le.con -cic:/Coq/Reals/RIneq/plus_lt_is_lt.con -cic:/Coq/Reals/RIneq/pos.con -cic:/Coq/Reals/RIneq/pos_INR.con -cic:/Coq/Reals/RIneq/posreal_ind.con -cic:/Coq/Reals/RIneq/posreal_rec.con -cic:/Coq/Reals/RIneq/posreal_rect.con -cic:/Coq/Reals/RIneq/prod_neq_R0.con -cic:/Coq/Reals/RIneq/single_z_r_R1.con -cic:/Coq/Reals/RIneq/sum_inequa_Rle_lt.con -cic:/Coq/Reals/RIneq/tech_Rgt_minus.con -cic:/Coq/Reals/RIneq/tech_Rplus.con -cic:/Coq/Reals/RIneq/tech_single_z_r_R1.con -cic:/Coq/Reals/RList/AbsList.con -cic:/Coq/Reals/RList/AbsList_P1.con -cic:/Coq/Reals/RList/AbsList_P2.con -cic:/Coq/Reals/RList/FF.con -cic:/Coq/Reals/RList/In.con -cic:/Coq/Reals/RList/MaxRlist.con -cic:/Coq/Reals/RList/MaxRlist_P1.con -cic:/Coq/Reals/RList/MaxRlist_P2.con -cic:/Coq/Reals/RList/MinRlist.con -cic:/Coq/Reals/RList/MinRlist_P1.con -cic:/Coq/Reals/RList/MinRlist_P2.con -cic:/Coq/Reals/RList/RList_P0.con -cic:/Coq/Reals/RList/RList_P1.con -cic:/Coq/Reals/RList/RList_P10.con -cic:/Coq/Reals/RList/RList_P11.con -cic:/Coq/Reals/RList/RList_P12.con -cic:/Coq/Reals/RList/RList_P13.con -cic:/Coq/Reals/RList/RList_P14.con -cic:/Coq/Reals/RList/RList_P15.con -cic:/Coq/Reals/RList/RList_P16.con -cic:/Coq/Reals/RList/RList_P17.con -cic:/Coq/Reals/RList/RList_P18.con -cic:/Coq/Reals/RList/RList_P19.con -cic:/Coq/Reals/RList/RList_P2.con -cic:/Coq/Reals/RList/RList_P20.con -cic:/Coq/Reals/RList/RList_P21.con -cic:/Coq/Reals/RList/RList_P22.con -cic:/Coq/Reals/RList/RList_P23.con -cic:/Coq/Reals/RList/RList_P24.con -cic:/Coq/Reals/RList/RList_P25.con -cic:/Coq/Reals/RList/RList_P26.con -cic:/Coq/Reals/RList/RList_P27.con -cic:/Coq/Reals/RList/RList_P28.con -cic:/Coq/Reals/RList/RList_P29.con -cic:/Coq/Reals/RList/RList_P3.con -cic:/Coq/Reals/RList/RList_P4.con -cic:/Coq/Reals/RList/RList_P5.con -cic:/Coq/Reals/RList/RList_P6.con -cic:/Coq/Reals/RList/RList_P7.con -cic:/Coq/Reals/RList/RList_P8.con -cic:/Coq/Reals/RList/RList_P9.con -cic:/Coq/Reals/RList/Rlength.con -cic:/Coq/Reals/RList/Rlist_P1.con -cic:/Coq/Reals/RList/Rlist_ind.con -cic:/Coq/Reals/RList/Rlist_rec.con -cic:/Coq/Reals/RList/Rlist_rect.con -cic:/Coq/Reals/RList/Rtail.con -cic:/Coq/Reals/RList/app_Rlist.con -cic:/Coq/Reals/RList/cons_ORlist.con -cic:/Coq/Reals/RList/cons_Rlist.con -cic:/Coq/Reals/RList/insert.con -cic:/Coq/Reals/RList/mid_Rlist.con -cic:/Coq/Reals/RList/ordered_Rlist.con -cic:/Coq/Reals/RList/pos_Rl.con -cic:/Coq/Reals/RList/pos_Rl_P1.con -cic:/Coq/Reals/RList/pos_Rl_P2.con -cic:/Coq/Reals/R_Ifp/Int_part.con -cic:/Coq/Reals/R_Ifp/Int_part_INR.con -cic:/Coq/Reals/R_Ifp/R0_fp_O.con -cic:/Coq/Reals/R_Ifp/Rminus_Int_part1.con -cic:/Coq/Reals/R_Ifp/Rminus_Int_part2.con -cic:/Coq/Reals/R_Ifp/Rminus_fp1.con -cic:/Coq/Reals/R_Ifp/Rminus_fp2.con -cic:/Coq/Reals/R_Ifp/base_Int_part.con -cic:/Coq/Reals/R_Ifp/base_fp.con -cic:/Coq/Reals/R_Ifp/for_base_fp.con -cic:/Coq/Reals/R_Ifp/fp_R0.con -cic:/Coq/Reals/R_Ifp/fp_nat.con -cic:/Coq/Reals/R_Ifp/frac_part.con -cic:/Coq/Reals/R_Ifp/plus_Int_part1.con -cic:/Coq/Reals/R_Ifp/plus_Int_part2.con -cic:/Coq/Reals/R_Ifp/plus_frac_part1.con -cic:/Coq/Reals/R_Ifp/plus_frac_part2.con -cic:/Coq/Reals/R_Ifp/tech_up.con -cic:/Coq/Reals/R_Ifp/up_tech.con -cic:/Coq/Reals/R_sqr/Rsqr_1.con -cic:/Coq/Reals/R_sqr/Rsqr_abs.con -cic:/Coq/Reals/R_sqr/Rsqr_div.con -cic:/Coq/Reals/R_sqr/Rsqr_eq.con -cic:/Coq/Reals/R_sqr/Rsqr_eq_0.con -cic:/Coq/Reals/R_sqr/Rsqr_eq_abs_0.con -cic:/Coq/Reals/R_sqr/Rsqr_eq_asb_1.con -cic:/Coq/Reals/R_sqr/Rsqr_gt_0_0.con -cic:/Coq/Reals/R_sqr/Rsqr_incr_0.con -cic:/Coq/Reals/R_sqr/Rsqr_incr_0_var.con -cic:/Coq/Reals/R_sqr/Rsqr_incr_1.con -cic:/Coq/Reals/R_sqr/Rsqr_incrst_0.con -cic:/Coq/Reals/R_sqr/Rsqr_incrst_1.con -cic:/Coq/Reals/R_sqr/Rsqr_inj.con -cic:/Coq/Reals/R_sqr/Rsqr_inv.con -cic:/Coq/Reals/R_sqr/Rsqr_le_abs_0.con -cic:/Coq/Reals/R_sqr/Rsqr_le_abs_1.con -cic:/Coq/Reals/R_sqr/Rsqr_lt_abs_0.con -cic:/Coq/Reals/R_sqr/Rsqr_lt_abs_1.con -cic:/Coq/Reals/R_sqr/Rsqr_minus.con -cic:/Coq/Reals/R_sqr/Rsqr_minus_plus.con -cic:/Coq/Reals/R_sqr/Rsqr_mult.con -cic:/Coq/Reals/R_sqr/Rsqr_neg.con -cic:/Coq/Reals/R_sqr/Rsqr_neg_minus.con -cic:/Coq/Reals/R_sqr/Rsqr_neg_pos_le_0.con -cic:/Coq/Reals/R_sqr/Rsqr_neg_pos_le_1.con -cic:/Coq/Reals/R_sqr/Rsqr_plus.con -cic:/Coq/Reals/R_sqr/Rsqr_plus_minus.con -cic:/Coq/Reals/R_sqr/Rsqr_pos_lt.con -cic:/Coq/Reals/R_sqr/canonical_Rsqr.con -cic:/Coq/Reals/R_sqr/neg_pos_Rsqr_le.con -cic:/Coq/Reals/R_sqr/triangle_rectangle.con -cic:/Coq/Reals/R_sqr/triangle_rectangle_le.con -cic:/Coq/Reals/R_sqr/triangle_rectangle_lt.con -cic:/Coq/Reals/R_sqrt/Delta.con -cic:/Coq/Reals/R_sqrt/Delta_is_pos.con -cic:/Coq/Reals/R_sqrt/Rsqr_sol_eq_0_0.con -cic:/Coq/Reals/R_sqrt/Rsqr_sol_eq_0_1.con -cic:/Coq/Reals/R_sqrt/Rsqr_sqrt.con -cic:/Coq/Reals/R_sqrt/sol_x1.con -cic:/Coq/Reals/R_sqrt/sol_x2.con -cic:/Coq/Reals/R_sqrt/sqrt.con -cic:/Coq/Reals/R_sqrt/sqrt_0.con -cic:/Coq/Reals/R_sqrt/sqrt_1.con -cic:/Coq/Reals/R_sqrt/sqrt_Rsqr.con -cic:/Coq/Reals/R_sqrt/sqrt_Rsqr_abs.con -cic:/Coq/Reals/R_sqrt/sqrt_cauchy.con -cic:/Coq/Reals/R_sqrt/sqrt_def.con -cic:/Coq/Reals/R_sqrt/sqrt_div.con -cic:/Coq/Reals/R_sqrt/sqrt_eq_0.con -cic:/Coq/Reals/R_sqrt/sqrt_inj.con -cic:/Coq/Reals/R_sqrt/sqrt_le_0.con -cic:/Coq/Reals/R_sqrt/sqrt_le_1.con -cic:/Coq/Reals/R_sqrt/sqrt_lem_0.con -cic:/Coq/Reals/R_sqrt/sqrt_less.con -cic:/Coq/Reals/R_sqrt/sqrt_lt_0.con -cic:/Coq/Reals/R_sqrt/sqrt_lt_1.con -cic:/Coq/Reals/R_sqrt/sqrt_lt_R0.con -cic:/Coq/Reals/R_sqrt/sqrt_more.con -cic:/Coq/Reals/R_sqrt/sqrt_mult.con -cic:/Coq/Reals/R_sqrt/sqrt_positivity.con -cic:/Coq/Reals/R_sqrt/sqrt_sqrt.con -cic:/Coq/Reals/R_sqrt/sqrt_square.con -cic:/Coq/Reals/R_sqrt/sqtr_lem_1.con -cic:/Coq/Reals/Raxioms/INR.con -cic:/Coq/Reals/Raxioms/IZR.con -cic:/Coq/Reals/Raxioms/R1_neq_R0.con -cic:/Coq/Reals/Raxioms/Rinv_l.con -cic:/Coq/Reals/Raxioms/Rlt_asym.con -cic:/Coq/Reals/Raxioms/Rlt_trans.con -cic:/Coq/Reals/Raxioms/Rmult_1_l.con -cic:/Coq/Reals/Raxioms/Rmult_assoc.con -cic:/Coq/Reals/Raxioms/Rmult_comm.con -cic:/Coq/Reals/Raxioms/Rmult_lt_compat_l.con -cic:/Coq/Reals/Raxioms/Rmult_plus_distr_l.con -cic:/Coq/Reals/Raxioms/Rplus_0_l.con -cic:/Coq/Reals/Raxioms/Rplus_assoc.con -cic:/Coq/Reals/Raxioms/Rplus_comm.con -cic:/Coq/Reals/Raxioms/Rplus_lt_compat_l.con -cic:/Coq/Reals/Raxioms/Rplus_opp_r.con -cic:/Coq/Reals/Raxioms/archimed.con -cic:/Coq/Reals/Raxioms/bound.con -cic:/Coq/Reals/Raxioms/completeness.con -cic:/Coq/Reals/Raxioms/is_lub.con -cic:/Coq/Reals/Raxioms/is_upper_bound.con -cic:/Coq/Reals/Raxioms/total_order_T.con -cic:/Coq/Reals/Rbasic_fun/RRle_abs.con -cic:/Coq/Reals/Rbasic_fun/RRle_abs_subproof.con -cic:/Coq/Reals/Rbasic_fun/RRle_abs_subproof0.con -cic:/Coq/Reals/Rbasic_fun/Rabs.con -cic:/Coq/Reals/Rbasic_fun/Rabs_R0.con -cic:/Coq/Reals/Rbasic_fun/Rabs_R1.con -cic:/Coq/Reals/Rbasic_fun/Rabs_Rabsolu.con -cic:/Coq/Reals/Rbasic_fun/Rabs_Rinv.con -cic:/Coq/Reals/Rbasic_fun/Rabs_Ropp.con -cic:/Coq/Reals/Rbasic_fun/Rabs_Zabs.con -cic:/Coq/Reals/Rbasic_fun/Rabs_def1.con -cic:/Coq/Reals/Rbasic_fun/Rabs_def2.con -cic:/Coq/Reals/Rbasic_fun/Rabs_left.con -cic:/Coq/Reals/Rbasic_fun/Rabs_left1.con -cic:/Coq/Reals/Rbasic_fun/Rabs_minus_sym.con -cic:/Coq/Reals/Rbasic_fun/Rabs_mult.con -cic:/Coq/Reals/Rbasic_fun/Rabs_no_R0.con -cic:/Coq/Reals/Rbasic_fun/Rabs_pos.con -cic:/Coq/Reals/Rbasic_fun/Rabs_pos_eq.con -cic:/Coq/Reals/Rbasic_fun/Rabs_pos_lt.con -cic:/Coq/Reals/Rbasic_fun/Rabs_right.con -cic:/Coq/Reals/Rbasic_fun/Rabs_triang.con -cic:/Coq/Reals/Rbasic_fun/Rabs_triang_inv.con -cic:/Coq/Reals/Rbasic_fun/Rabs_triang_inv2.con -cic:/Coq/Reals/Rbasic_fun/Rcase_abs.con -cic:/Coq/Reals/Rbasic_fun/Rmax.con -cic:/Coq/Reals/Rbasic_fun/RmaxAbs.con -cic:/Coq/Reals/Rbasic_fun/RmaxLess1.con -cic:/Coq/Reals/Rbasic_fun/RmaxLess2.con -cic:/Coq/Reals/Rbasic_fun/RmaxRmult.con -cic:/Coq/Reals/Rbasic_fun/RmaxSym.con -cic:/Coq/Reals/Rbasic_fun/Rmax_Rle.con -cic:/Coq/Reals/Rbasic_fun/Rmax_stable_in_negreal.con -cic:/Coq/Reals/Rbasic_fun/Rmin.con -cic:/Coq/Reals/Rbasic_fun/Rmin_Rgt.con -cic:/Coq/Reals/Rbasic_fun/Rmin_Rgt_l.con -cic:/Coq/Reals/Rbasic_fun/Rmin_Rgt_r.con -cic:/Coq/Reals/Rbasic_fun/Rmin_comm.con -cic:/Coq/Reals/Rbasic_fun/Rmin_l.con -cic:/Coq/Reals/Rbasic_fun/Rmin_r.con -cic:/Coq/Reals/Rbasic_fun/Rmin_stable_in_posreal.con -cic:/Coq/Reals/Rcomplete/R_complete.con -cic:/Coq/Reals/Rdefinitions/R.con -cic:/Coq/Reals/Rdefinitions/R0.con -cic:/Coq/Reals/Rdefinitions/R1.con -cic:/Coq/Reals/Rdefinitions/Rdiv.con -cic:/Coq/Reals/Rdefinitions/Rge.con -cic:/Coq/Reals/Rdefinitions/Rgt.con -cic:/Coq/Reals/Rdefinitions/Rinv.con -cic:/Coq/Reals/Rdefinitions/Rle.con -cic:/Coq/Reals/Rdefinitions/Rlt.con -cic:/Coq/Reals/Rdefinitions/Rminus.con -cic:/Coq/Reals/Rdefinitions/Rmult.con -cic:/Coq/Reals/Rdefinitions/Ropp.con -cic:/Coq/Reals/Rdefinitions/Rplus.con -cic:/Coq/Reals/Rdefinitions/up.con -cic:/Coq/Reals/Rderiv/D_in.con -cic:/Coq/Reals/Rderiv/D_pow_n.con -cic:/Coq/Reals/Rderiv/D_x.con -cic:/Coq/Reals/Rderiv/Dadd.con -cic:/Coq/Reals/Rderiv/Dcomp.con -cic:/Coq/Reals/Rderiv/Dconst.con -cic:/Coq/Reals/Rderiv/Dminus.con -cic:/Coq/Reals/Rderiv/Dmult.con -cic:/Coq/Reals/Rderiv/Dmult_const.con -cic:/Coq/Reals/Rderiv/Dopp.con -cic:/Coq/Reals/Rderiv/Dx.con -cic:/Coq/Reals/Rderiv/Dx_pow_n.con -cic:/Coq/Reals/Rderiv/cont_deriv.con -cic:/Coq/Reals/Rderiv/cont_deriv_subproof.con -cic:/Coq/Reals/Rderiv/cont_deriv_subproof0.con -cic:/Coq/Reals/Rderiv/continue_in.con -cic:/Coq/Reals/Rfunctions/GP_finite.con -cic:/Coq/Reals/Rfunctions/INR_fact_neq_0.con -cic:/Coq/Reals/Rfunctions/Pow_x_infinity.con -cic:/Coq/Reals/Rfunctions/Power_monotonic.con -cic:/Coq/Reals/Rfunctions/RPow_abs.con -cic:/Coq/Reals/Rfunctions/R_dist.con -cic:/Coq/Reals/Rfunctions/R_dist_eq.con -cic:/Coq/Reals/Rfunctions/R_dist_plus.con -cic:/Coq/Reals/Rfunctions/R_dist_pos.con -cic:/Coq/Reals/Rfunctions/R_dist_refl.con -cic:/Coq/Reals/Rfunctions/R_dist_sym.con -cic:/Coq/Reals/Rfunctions/R_dist_tri.con -cic:/Coq/Reals/Rfunctions/Rinv_pow.con -cic:/Coq/Reals/Rfunctions/Rle_pow.con -cic:/Coq/Reals/Rfunctions/Rlt_pow.con -cic:/Coq/Reals/Rfunctions/Rlt_pow_R1.con -cic:/Coq/Reals/Rfunctions/Zpower_NR0.con -cic:/Coq/Reals/Rfunctions/Zpower_nat_powerRZ.con -cic:/Coq/Reals/Rfunctions/Zpower_nat_powerRZ_absolu.con -cic:/Coq/Reals/Rfunctions/decimal_exp.con -cic:/Coq/Reals/Rfunctions/fact_simpl.con -cic:/Coq/Reals/Rfunctions/infinit_sum.con -cic:/Coq/Reals/Rfunctions/poly.con -cic:/Coq/Reals/Rfunctions/pow.con -cic:/Coq/Reals/Rfunctions/pow1.con -cic:/Coq/Reals/Rfunctions/pow_1.con -cic:/Coq/Reals/Rfunctions/pow_1_abs.con -cic:/Coq/Reals/Rfunctions/pow_1_even.con -cic:/Coq/Reals/Rfunctions/pow_1_odd.con -cic:/Coq/Reals/Rfunctions/pow_O.con -cic:/Coq/Reals/Rfunctions/pow_R1.con -cic:/Coq/Reals/Rfunctions/pow_R1_Rle.con -cic:/Coq/Reals/Rfunctions/pow_RN_plus.con -cic:/Coq/Reals/Rfunctions/pow_Rabs.con -cic:/Coq/Reals/Rfunctions/pow_Rsqr.con -cic:/Coq/Reals/Rfunctions/pow_add.con -cic:/Coq/Reals/Rfunctions/pow_incr.con -cic:/Coq/Reals/Rfunctions/pow_le.con -cic:/Coq/Reals/Rfunctions/pow_lt.con -cic:/Coq/Reals/Rfunctions/pow_lt_1_zero.con -cic:/Coq/Reals/Rfunctions/pow_maj_Rabs.con -cic:/Coq/Reals/Rfunctions/pow_mult.con -cic:/Coq/Reals/Rfunctions/pow_ne_zero.con -cic:/Coq/Reals/Rfunctions/pow_nonzero.con -cic:/Coq/Reals/Rfunctions/powerRZ.con -cic:/Coq/Reals/Rfunctions/powerRZ_1.con -cic:/Coq/Reals/Rfunctions/powerRZ_NOR.con -cic:/Coq/Reals/Rfunctions/powerRZ_O.con -cic:/Coq/Reals/Rfunctions/powerRZ_R1.con -cic:/Coq/Reals/Rfunctions/powerRZ_add.con -cic:/Coq/Reals/Rfunctions/powerRZ_le.con -cic:/Coq/Reals/Rfunctions/powerRZ_lt.con -cic:/Coq/Reals/Rfunctions/simpl_fact.con -cic:/Coq/Reals/Rfunctions/sum_f.con -cic:/Coq/Reals/Rfunctions/sum_f_R0.con -cic:/Coq/Reals/Rfunctions/sum_f_R0_triangle.con -cic:/Coq/Reals/Rfunctions/sum_nat.con -cic:/Coq/Reals/Rfunctions/sum_nat_O.con -cic:/Coq/Reals/Rfunctions/sum_nat_f.con -cic:/Coq/Reals/Rfunctions/sum_nat_f_O.con -cic:/Coq/Reals/Rfunctions/tech_pow_Rmult.con -cic:/Coq/Reals/Rfunctions/tech_pow_Rplus.con -cic:/Coq/Reals/Rlimit/Base.con -cic:/Coq/Reals/Rlimit/Dgf.con -cic:/Coq/Reals/Rlimit/Metric_Space_ind.con -cic:/Coq/Reals/Rlimit/Metric_Space_rec.con -cic:/Coq/Reals/Rlimit/Metric_Space_rect.con -cic:/Coq/Reals/Rlimit/R_met.con -cic:/Coq/Reals/Rlimit/Rlt_eps2_eps.con -cic:/Coq/Reals/Rlimit/Rlt_eps2_eps_subproof.con -cic:/Coq/Reals/Rlimit/Rlt_eps2_eps_subproof0.con -cic:/Coq/Reals/Rlimit/Rlt_eps4_eps.con -cic:/Coq/Reals/Rlimit/Rlt_eps4_eps_subproof.con -cic:/Coq/Reals/Rlimit/Rlt_eps4_eps_subproof0.con -cic:/Coq/Reals/Rlimit/Rlt_eps4_eps_subproof1.con -cic:/Coq/Reals/Rlimit/adhDa.con -cic:/Coq/Reals/Rlimit/dist.con -cic:/Coq/Reals/Rlimit/dist_pos.con -cic:/Coq/Reals/Rlimit/dist_refl.con -cic:/Coq/Reals/Rlimit/dist_sym.con -cic:/Coq/Reals/Rlimit/dist_tri.con -cic:/Coq/Reals/Rlimit/eps2.con -cic:/Coq/Reals/Rlimit/eps2_Rgt_R0.con -cic:/Coq/Reals/Rlimit/eps2_Rgt_R0_subproof.con -cic:/Coq/Reals/Rlimit/eps4.con -cic:/Coq/Reals/Rlimit/lim_x.con -cic:/Coq/Reals/Rlimit/limit1_in.con -cic:/Coq/Reals/Rlimit/limit_Ropp.con -cic:/Coq/Reals/Rlimit/limit_comp.con -cic:/Coq/Reals/Rlimit/limit_free.con -cic:/Coq/Reals/Rlimit/limit_in.con -cic:/Coq/Reals/Rlimit/limit_inv.con -cic:/Coq/Reals/Rlimit/limit_minus.con -cic:/Coq/Reals/Rlimit/limit_mul.con -cic:/Coq/Reals/Rlimit/limit_plus.con -cic:/Coq/Reals/Rlimit/mul_factor.con -cic:/Coq/Reals/Rlimit/mul_factor_gt.con -cic:/Coq/Reals/Rlimit/mul_factor_gt_f.con -cic:/Coq/Reals/Rlimit/mul_factor_wd.con -cic:/Coq/Reals/Rlimit/prop_eps.con -cic:/Coq/Reals/Rlimit/single_limit.con -cic:/Coq/Reals/Rlimit/tech_limit.con -cic:/Coq/Reals/Rlimit/tech_limit_contr.con -cic:/Coq/Reals/Rpower/D_in_ext.con -cic:/Coq/Reals/Rpower/D_in_imp.con -cic:/Coq/Reals/Rpower/P_Rmin.con -cic:/Coq/Reals/Rpower/Rinv_Rdiv.con -cic:/Coq/Reals/Rpower/Rle_Rpower.con -cic:/Coq/Reals/Rpower/Rln.con -cic:/Coq/Reals/Rpower/Rpower.con -cic:/Coq/Reals/Rpower/Rpower_1.con -cic:/Coq/Reals/Rpower/Rpower_O.con -cic:/Coq/Reals/Rpower/Rpower_Ropp.con -cic:/Coq/Reals/Rpower/Rpower_lt.con -cic:/Coq/Reals/Rpower/Rpower_plus.con -cic:/Coq/Reals/Rpower/derivable_pt_lim_ln.con -cic:/Coq/Reals/Rpower/exp_Ropp.con -cic:/Coq/Reals/Rpower/exp_increasing.con -cic:/Coq/Reals/Rpower/exp_ineq1.con -cic:/Coq/Reals/Rpower/exp_inv.con -cic:/Coq/Reals/Rpower/exp_le_3.con -cic:/Coq/Reals/Rpower/exp_ln.con -cic:/Coq/Reals/Rpower/exp_lt_inv.con -cic:/Coq/Reals/Rpower/limit1_ext.con -cic:/Coq/Reals/Rpower/limit1_imp.con -cic:/Coq/Reals/Rpower/ln.con -cic:/Coq/Reals/Rpower/ln_1.con -cic:/Coq/Reals/Rpower/ln_Rinv.con -cic:/Coq/Reals/Rpower/ln_continue.con -cic:/Coq/Reals/Rpower/ln_exists.con -cic:/Coq/Reals/Rpower/ln_exists1.con -cic:/Coq/Reals/Rpower/ln_exp.con -cic:/Coq/Reals/Rpower/ln_increasing.con -cic:/Coq/Reals/Rpower/ln_inv.con -cic:/Coq/Reals/Rpower/ln_lt_2.con -cic:/Coq/Reals/Rpower/ln_lt_inv.con -cic:/Coq/Reals/Rpower/ln_mult.con -cic:/Coq/Reals/Rprod/C_maj.con -cic:/Coq/Reals/Rprod/INR_fact_lt_0.con -cic:/Coq/Reals/Rprod/RfactN_fact2N_factk.con -cic:/Coq/Reals/Rprod/fact_prodSO.con -cic:/Coq/Reals/Rprod/le_n_2n.con -cic:/Coq/Reals/Rprod/prod_SO_Rle.con -cic:/Coq/Reals/Rprod/prod_SO_pos.con -cic:/Coq/Reals/Rprod/prod_SO_split.con -cic:/Coq/Reals/Rprod/prod_f_SO.con -cic:/Coq/Reals/Rseries/Cauchy_crit.con -cic:/Coq/Reals/Rseries/EUn.con -cic:/Coq/Reals/Rseries/EUn_noempty.con -cic:/Coq/Reals/Rseries/GP_infinite.con -cic:/Coq/Reals/Rseries/Pser.con -cic:/Coq/Reals/Rseries/Rmax_N.con -cic:/Coq/Reals/Rseries/Un_bound_imp.con -cic:/Coq/Reals/Rseries/Un_cv.con -cic:/Coq/Reals/Rseries/Un_cv_crit.con -cic:/Coq/Reals/Rseries/Un_growing.con -cic:/Coq/Reals/Rseries/Un_in_EUn.con -cic:/Coq/Reals/Rseries/cauchy_bound.con -cic:/Coq/Reals/Rseries/finite_greater.con -cic:/Coq/Reals/Rseries/growing_prop.con -cic:/Coq/Reals/Rsigma/sigma.con -cic:/Coq/Reals/Rsigma/sigma_diff.con -cic:/Coq/Reals/Rsigma/sigma_diff_neg.con -cic:/Coq/Reals/Rsigma/sigma_eq_arg.con -cic:/Coq/Reals/Rsigma/sigma_first.con -cic:/Coq/Reals/Rsigma/sigma_last.con -cic:/Coq/Reals/Rsigma/sigma_split.con -cic:/Coq/Reals/Rsqrt_def/Dichotomy_lb.con -cic:/Coq/Reals/Rsqrt_def/Dichotomy_ub.con -cic:/Coq/Reals/Rsqrt_def/IVT.con -cic:/Coq/Reals/Rsqrt_def/IVT_cor.con -cic:/Coq/Reals/Rsqrt_def/Rsqrt.con -cic:/Coq/Reals/Rsqrt_def/Rsqrt_Rsqrt.con -cic:/Coq/Reals/Rsqrt_def/Rsqrt_exists.con -cic:/Coq/Reals/Rsqrt_def/Rsqrt_positivity.con -cic:/Coq/Reals/Rsqrt_def/cond_positivity.con -cic:/Coq/Reals/Rsqrt_def/continuity_seq.con -cic:/Coq/Reals/Rsqrt_def/cv_dicho.con -cic:/Coq/Reals/Rsqrt_def/dicho_comp.con -cic:/Coq/Reals/Rsqrt_def/dicho_lb.con -cic:/Coq/Reals/Rsqrt_def/dicho_lb_car.con -cic:/Coq/Reals/Rsqrt_def/dicho_lb_cv.con -cic:/Coq/Reals/Rsqrt_def/dicho_lb_dicho_up.con -cic:/Coq/Reals/Rsqrt_def/dicho_lb_growing.con -cic:/Coq/Reals/Rsqrt_def/dicho_lb_maj.con -cic:/Coq/Reals/Rsqrt_def/dicho_lb_maj_y.con -cic:/Coq/Reals/Rsqrt_def/dicho_up.con -cic:/Coq/Reals/Rsqrt_def/dicho_up_car.con -cic:/Coq/Reals/Rsqrt_def/dicho_up_cv.con -cic:/Coq/Reals/Rsqrt_def/dicho_up_decreasing.con -cic:/Coq/Reals/Rsqrt_def/dicho_up_min.con -cic:/Coq/Reals/Rsqrt_def/dicho_up_min_x.con -cic:/Coq/Reals/Rsqrt_def/pow_2_n.con -cic:/Coq/Reals/Rsqrt_def/pow_2_n_growing.con -cic:/Coq/Reals/Rsqrt_def/pow_2_n_infty.con -cic:/Coq/Reals/Rsqrt_def/pow_2_n_neq_R0.con -cic:/Coq/Reals/Rtopology/Bolzano_Weierstrass.con -cic:/Coq/Reals/Rtopology/Heine.con -cic:/Coq/Reals/Rtopology/Rlt_Rminus.con -cic:/Coq/Reals/Rtopology/Rsepare.con -cic:/Coq/Reals/Rtopology/ValAdh.con -cic:/Coq/Reals/Rtopology/ValAdh_un.con -cic:/Coq/Reals/Rtopology/ValAdh_un_exists.con -cic:/Coq/Reals/Rtopology/ValAdh_un_prop.con -cic:/Coq/Reals/Rtopology/adherence.con -cic:/Coq/Reals/Rtopology/adherence_P1.con -cic:/Coq/Reals/Rtopology/adherence_P2.con -cic:/Coq/Reals/Rtopology/adherence_P3.con -cic:/Coq/Reals/Rtopology/adherence_P4.con -cic:/Coq/Reals/Rtopology/bounded.con -cic:/Coq/Reals/Rtopology/closed_set.con -cic:/Coq/Reals/Rtopology/closed_set_P1.con -cic:/Coq/Reals/Rtopology/compact.con -cic:/Coq/Reals/Rtopology/compact_EMP.con -cic:/Coq/Reals/Rtopology/compact_P1.con -cic:/Coq/Reals/Rtopology/compact_P2.con -cic:/Coq/Reals/Rtopology/compact_P3.con -cic:/Coq/Reals/Rtopology/compact_P4.con -cic:/Coq/Reals/Rtopology/compact_P5.con -cic:/Coq/Reals/Rtopology/compact_P6.con -cic:/Coq/Reals/Rtopology/compact_carac.con -cic:/Coq/Reals/Rtopology/compact_eqDom.con -cic:/Coq/Reals/Rtopology/complementary.con -cic:/Coq/Reals/Rtopology/complementary_P1.con -cic:/Coq/Reals/Rtopology/cond_fam.con -cic:/Coq/Reals/Rtopology/continuity_P1.con -cic:/Coq/Reals/Rtopology/continuity_P2.con -cic:/Coq/Reals/Rtopology/continuity_P3.con -cic:/Coq/Reals/Rtopology/continuity_ab_maj.con -cic:/Coq/Reals/Rtopology/continuity_ab_min.con -cic:/Coq/Reals/Rtopology/continuity_compact.con -cic:/Coq/Reals/Rtopology/covering.con -cic:/Coq/Reals/Rtopology/covering_finite.con -cic:/Coq/Reals/Rtopology/covering_open_set.con -cic:/Coq/Reals/Rtopology/disc.con -cic:/Coq/Reals/Rtopology/disc_P1.con -cic:/Coq/Reals/Rtopology/domain_P1.con -cic:/Coq/Reals/Rtopology/domain_finite.con -cic:/Coq/Reals/Rtopology/eq_Dom.con -cic:/Coq/Reals/Rtopology/f.con -cic:/Coq/Reals/Rtopology/family_P1.con -cic:/Coq/Reals/Rtopology/family_closed_set.con -cic:/Coq/Reals/Rtopology/family_finite.con -cic:/Coq/Reals/Rtopology/family_ind.con -cic:/Coq/Reals/Rtopology/family_open_set.con -cic:/Coq/Reals/Rtopology/family_rec.con -cic:/Coq/Reals/Rtopology/family_rect.con -cic:/Coq/Reals/Rtopology/image_dir.con -cic:/Coq/Reals/Rtopology/image_rec.con -cic:/Coq/Reals/Rtopology/included.con -cic:/Coq/Reals/Rtopology/included_trans.con -cic:/Coq/Reals/Rtopology/ind.con -cic:/Coq/Reals/Rtopology/interior.con -cic:/Coq/Reals/Rtopology/interior_P1.con -cic:/Coq/Reals/Rtopology/interior_P2.con -cic:/Coq/Reals/Rtopology/interior_P3.con -cic:/Coq/Reals/Rtopology/intersection_domain.con -cic:/Coq/Reals/Rtopology/intersection_family.con -cic:/Coq/Reals/Rtopology/intersection_vide_finite_in.con -cic:/Coq/Reals/Rtopology/intersection_vide_in.con -cic:/Coq/Reals/Rtopology/is_lub_u.con -cic:/Coq/Reals/Rtopology/neighbourhood.con -cic:/Coq/Reals/Rtopology/neighbourhood_P1.con -cic:/Coq/Reals/Rtopology/open_set.con -cic:/Coq/Reals/Rtopology/open_set_P1.con -cic:/Coq/Reals/Rtopology/open_set_P2.con -cic:/Coq/Reals/Rtopology/open_set_P3.con -cic:/Coq/Reals/Rtopology/open_set_P4.con -cic:/Coq/Reals/Rtopology/open_set_P5.con -cic:/Coq/Reals/Rtopology/open_set_P6.con -cic:/Coq/Reals/Rtopology/point_adherent.con -cic:/Coq/Reals/Rtopology/prolongement_C0.con -cic:/Coq/Reals/Rtopology/restriction_family.con -cic:/Coq/Reals/Rtopology/subfamily.con -cic:/Coq/Reals/Rtopology/uniform_continuity.con -cic:/Coq/Reals/Rtopology/union_domain.con -cic:/Coq/Reals/Rtrigo/COS.con -cic:/Coq/Reals/Rtrigo/COS_bound.con -cic:/Coq/Reals/Rtrigo/PI2_RGT_0.con -cic:/Coq/Reals/Rtrigo/PI2_Rlt_PI.con -cic:/Coq/Reals/Rtrigo/PI4_RLT_PI2.con -cic:/Coq/Reals/Rtrigo/PI_neq0.con -cic:/Coq/Reals/Rtrigo/SIN.con -cic:/Coq/Reals/Rtrigo/SIN_bound.con -cic:/Coq/Reals/Rtrigo/_PI2_RLT_0.con -cic:/Coq/Reals/Rtrigo/cos2.con -cic:/Coq/Reals/Rtrigo/cos_2PI.con -cic:/Coq/Reals/Rtrigo/cos_2a.con -cic:/Coq/Reals/Rtrigo/cos_2a_cos.con -cic:/Coq/Reals/Rtrigo/cos_2a_sin.con -cic:/Coq/Reals/Rtrigo/cos_3PI2.con -cic:/Coq/Reals/Rtrigo/cos_PI.con -cic:/Coq/Reals/Rtrigo/cos_PI2.con -cic:/Coq/Reals/Rtrigo/cos_decr_0.con -cic:/Coq/Reals/Rtrigo/cos_decr_1.con -cic:/Coq/Reals/Rtrigo/cos_decreasing_0.con -cic:/Coq/Reals/Rtrigo/cos_decreasing_1.con -cic:/Coq/Reals/Rtrigo/cos_eq_0_1.con -cic:/Coq/Reals/Rtrigo/cos_eq_0_2PI_0.con -cic:/Coq/Reals/Rtrigo/cos_eq_0_2PI_1.con -cic:/Coq/Reals/Rtrigo/cos_ge_0.con -cic:/Coq/Reals/Rtrigo/cos_gt_0.con -cic:/Coq/Reals/Rtrigo/cos_incr_0.con -cic:/Coq/Reals/Rtrigo/cos_incr_1.con -cic:/Coq/Reals/Rtrigo/cos_increasing_0.con -cic:/Coq/Reals/Rtrigo/cos_increasing_1.con -cic:/Coq/Reals/Rtrigo/cos_lb.con -cic:/Coq/Reals/Rtrigo/cos_le_0.con -cic:/Coq/Reals/Rtrigo/cos_lt_0.con -cic:/Coq/Reals/Rtrigo/cos_minus.con -cic:/Coq/Reals/Rtrigo/cos_neg.con -cic:/Coq/Reals/Rtrigo/cos_period.con -cic:/Coq/Reals/Rtrigo/cos_shift.con -cic:/Coq/Reals/Rtrigo/cos_sin.con -cic:/Coq/Reals/Rtrigo/cos_sin_0.con -cic:/Coq/Reals/Rtrigo/cos_sin_0_var.con -cic:/Coq/Reals/Rtrigo/cos_ub.con -cic:/Coq/Reals/Rtrigo/form1.con -cic:/Coq/Reals/Rtrigo/form2.con -cic:/Coq/Reals/Rtrigo/form3.con -cic:/Coq/Reals/Rtrigo/form4.con -cic:/Coq/Reals/Rtrigo/neg_cos.con -cic:/Coq/Reals/Rtrigo/neg_sin.con -cic:/Coq/Reals/Rtrigo/sin2.con -cic:/Coq/Reals/Rtrigo/sin2_cos2.con -cic:/Coq/Reals/Rtrigo/sin_2PI.con -cic:/Coq/Reals/Rtrigo/sin_2a.con -cic:/Coq/Reals/Rtrigo/sin_PI.con -cic:/Coq/Reals/Rtrigo/sin_PI2.con -cic:/Coq/Reals/Rtrigo/sin_PI_x.con -cic:/Coq/Reals/Rtrigo/sin_cos.con -cic:/Coq/Reals/Rtrigo/sin_decr_0.con -cic:/Coq/Reals/Rtrigo/sin_decr_1.con -cic:/Coq/Reals/Rtrigo/sin_decreasing_0.con -cic:/Coq/Reals/Rtrigo/sin_decreasing_1.con -cic:/Coq/Reals/Rtrigo/sin_eq_0_0.con -cic:/Coq/Reals/Rtrigo/sin_eq_0_1.con -cic:/Coq/Reals/Rtrigo/sin_eq_O_2PI_0.con -cic:/Coq/Reals/Rtrigo/sin_eq_O_2PI_1.con -cic:/Coq/Reals/Rtrigo/sin_ge_0.con -cic:/Coq/Reals/Rtrigo/sin_gt_0.con -cic:/Coq/Reals/Rtrigo/sin_incr_0.con -cic:/Coq/Reals/Rtrigo/sin_incr_1.con -cic:/Coq/Reals/Rtrigo/sin_increasing_0.con -cic:/Coq/Reals/Rtrigo/sin_increasing_1.con -cic:/Coq/Reals/Rtrigo/sin_lb.con -cic:/Coq/Reals/Rtrigo/sin_lb_gt_0.con -cic:/Coq/Reals/Rtrigo/sin_le_0.con -cic:/Coq/Reals/Rtrigo/sin_lt_0.con -cic:/Coq/Reals/Rtrigo/sin_minus.con -cic:/Coq/Reals/Rtrigo/sin_neg.con -cic:/Coq/Reals/Rtrigo/sin_period.con -cic:/Coq/Reals/Rtrigo/sin_plus.con -cic:/Coq/Reals/Rtrigo/sin_shift.con -cic:/Coq/Reals/Rtrigo/sin_ub.con -cic:/Coq/Reals/Rtrigo/tan.con -cic:/Coq/Reals/Rtrigo/tan_0.con -cic:/Coq/Reals/Rtrigo/tan_2a.con -cic:/Coq/Reals/Rtrigo/tan_diff.con -cic:/Coq/Reals/Rtrigo/tan_gt_0.con -cic:/Coq/Reals/Rtrigo/tan_incr_0.con -cic:/Coq/Reals/Rtrigo/tan_incr_1.con -cic:/Coq/Reals/Rtrigo/tan_increasing_0.con -cic:/Coq/Reals/Rtrigo/tan_increasing_1.con -cic:/Coq/Reals/Rtrigo/tan_lt_0.con -cic:/Coq/Reals/Rtrigo/tan_minus.con -cic:/Coq/Reals/Rtrigo/tan_neg.con -cic:/Coq/Reals/Rtrigo/tan_plus.con -cic:/Coq/Reals/Rtrigo_alt/PI_4.con -cic:/Coq/Reals/Rtrigo_alt/cos_approx.con -cic:/Coq/Reals/Rtrigo_alt/cos_bound.con -cic:/Coq/Reals/Rtrigo_alt/cos_term.con -cic:/Coq/Reals/Rtrigo_alt/sin_approx.con -cic:/Coq/Reals/Rtrigo_alt/sin_bound.con -cic:/Coq/Reals/Rtrigo_alt/sin_term.con -cic:/Coq/Reals/Rtrigo_calc/PI4_RGT_0.con -cic:/Coq/Reals/Rtrigo_calc/PI6_RGT_0.con -cic:/Coq/Reals/Rtrigo_calc/PI6_RLT_PI2.con -cic:/Coq/Reals/Rtrigo_calc/R1_sqrt2_neq_0.con -cic:/Coq/Reals/Rtrigo_calc/Rgt_2PI_0.con -cic:/Coq/Reals/Rtrigo_calc/Rgt_3PI2_0.con -cic:/Coq/Reals/Rtrigo_calc/Rlt_3PI2_2PI.con -cic:/Coq/Reals/Rtrigo_calc/Rlt_PI_3PI2.con -cic:/Coq/Reals/Rtrigo_calc/Rlt_sqrt2_0.con -cic:/Coq/Reals/Rtrigo_calc/Rlt_sqrt3_0.con -cic:/Coq/Reals/Rtrigo_calc/Rsqr_sin_cos_d_one.con -cic:/Coq/Reals/Rtrigo_calc/cos3PI4.con -cic:/Coq/Reals/Rtrigo_calc/cos_2PI3.con -cic:/Coq/Reals/Rtrigo_calc/cos_5PI4.con -cic:/Coq/Reals/Rtrigo_calc/cos_PI3.con -cic:/Coq/Reals/Rtrigo_calc/cos_PI4.con -cic:/Coq/Reals/Rtrigo_calc/cos_PI6.con -cic:/Coq/Reals/Rtrigo_calc/cosd.con -cic:/Coq/Reals/Rtrigo_calc/deg_rad.con -cic:/Coq/Reals/Rtrigo_calc/plat.con -cic:/Coq/Reals/Rtrigo_calc/rad_deg.con -cic:/Coq/Reals/Rtrigo_calc/sin3PI4.con -cic:/Coq/Reals/Rtrigo_calc/sin_2PI3.con -cic:/Coq/Reals/Rtrigo_calc/sin_3PI2.con -cic:/Coq/Reals/Rtrigo_calc/sin_5PI4.con -cic:/Coq/Reals/Rtrigo_calc/sin_PI3.con -cic:/Coq/Reals/Rtrigo_calc/sin_PI3_cos_PI6.con -cic:/Coq/Reals/Rtrigo_calc/sin_PI4.con -cic:/Coq/Reals/Rtrigo_calc/sin_PI6.con -cic:/Coq/Reals/Rtrigo_calc/sin_PI6_cos_PI3.con -cic:/Coq/Reals/Rtrigo_calc/sin_cos5PI4.con -cic:/Coq/Reals/Rtrigo_calc/sin_cos_PI4.con -cic:/Coq/Reals/Rtrigo_calc/sin_lb_ge_0.con -cic:/Coq/Reals/Rtrigo_calc/sind.con -cic:/Coq/Reals/Rtrigo_calc/sqrt2_neq_0.con -cic:/Coq/Reals/Rtrigo_calc/sqrt3_2_neq_0.con -cic:/Coq/Reals/Rtrigo_calc/tan_2PI.con -cic:/Coq/Reals/Rtrigo_calc/tan_2PI3.con -cic:/Coq/Reals/Rtrigo_calc/tan_PI.con -cic:/Coq/Reals/Rtrigo_calc/tan_PI3.con -cic:/Coq/Reals/Rtrigo_calc/tan_PI6.con -cic:/Coq/Reals/Rtrigo_calc/tand.con -cic:/Coq/Reals/Rtrigo_calc/toDeg.con -cic:/Coq/Reals/Rtrigo_calc/toRad.con -cic:/Coq/Reals/Rtrigo_calc/toRad_inj.con -cic:/Coq/Reals/Rtrigo_def/Alembert_cos.con -cic:/Coq/Reals/Rtrigo_def/Alembert_sin.con -cic:/Coq/Reals/Rtrigo_def/archimed_cor1.con -cic:/Coq/Reals/Rtrigo_def/cos.con -cic:/Coq/Reals/Rtrigo_def/cos_0.con -cic:/Coq/Reals/Rtrigo_def/cos_in.con -cic:/Coq/Reals/Rtrigo_def/cos_n.con -cic:/Coq/Reals/Rtrigo_def/cos_sym.con -cic:/Coq/Reals/Rtrigo_def/cosh.con -cic:/Coq/Reals/Rtrigo_def/cosh_0.con -cic:/Coq/Reals/Rtrigo_def/cosn_no_R0.con -cic:/Coq/Reals/Rtrigo_def/exist_cos.con -cic:/Coq/Reals/Rtrigo_def/exist_cos0.con -cic:/Coq/Reals/Rtrigo_def/exist_exp.con -cic:/Coq/Reals/Rtrigo_def/exist_exp0.con -cic:/Coq/Reals/Rtrigo_def/exist_sin.con -cic:/Coq/Reals/Rtrigo_def/exp.con -cic:/Coq/Reals/Rtrigo_def/exp_0.con -cic:/Coq/Reals/Rtrigo_def/exp_cof_no_R0.con -cic:/Coq/Reals/Rtrigo_def/exp_in.con -cic:/Coq/Reals/Rtrigo_def/pow_i.con -cic:/Coq/Reals/Rtrigo_def/simpl_cos_n.con -cic:/Coq/Reals/Rtrigo_def/simpl_sin_n.con -cic:/Coq/Reals/Rtrigo_def/sin.con -cic:/Coq/Reals/Rtrigo_def/sin_0.con -cic:/Coq/Reals/Rtrigo_def/sin_antisym.con -cic:/Coq/Reals/Rtrigo_def/sin_in.con -cic:/Coq/Reals/Rtrigo_def/sin_n.con -cic:/Coq/Reals/Rtrigo_def/sin_no_R0.con -cic:/Coq/Reals/Rtrigo_def/sinh.con -cic:/Coq/Reals/Rtrigo_def/sinh_0.con -cic:/Coq/Reals/Rtrigo_def/tanh.con -cic:/Coq/Reals/Rtrigo_fun/Alembert_exp.con -cic:/Coq/Reals/Rtrigo_reg/CVN_R_cos.con -cic:/Coq/Reals/Rtrigo_reg/CVN_R_sin.con -cic:/Coq/Reals/Rtrigo_reg/continuity_cos.con -cic:/Coq/Reals/Rtrigo_reg/continuity_sin.con -cic:/Coq/Reals/Rtrigo_reg/derivable_cos.con -cic:/Coq/Reals/Rtrigo_reg/derivable_pt_cos.con -cic:/Coq/Reals/Rtrigo_reg/derivable_pt_lim_sin.con -cic:/Coq/Reals/Rtrigo_reg/derivable_pt_lim_sin_0.con -cic:/Coq/Reals/Rtrigo_reg/derivable_pt_sin.con -cic:/Coq/Reals/Rtrigo_reg/derivable_sin.con -cic:/Coq/Reals/Rtrigo_reg/derive_pt_cos.con -cic:/Coq/Reals/Rtrigo_reg/derive_pt_sin.con -cic:/Coq/Reals/SeqProp/CV_Cauchy.con -cic:/Coq/Reals/SeqProp/CV_minus.con -cic:/Coq/Reals/SeqProp/CV_mult.con -cic:/Coq/Reals/SeqProp/CV_opp.con -cic:/Coq/Reals/SeqProp/CV_plus.con -cic:/Coq/Reals/SeqProp/UL_sequence.con -cic:/Coq/Reals/SeqProp/Un_decreasing.con -cic:/Coq/Reals/SeqProp/Vn_Un_Wn_order.con -cic:/Coq/Reals/SeqProp/Vn_growing.con -cic:/Coq/Reals/SeqProp/Wn_decreasing.con -cic:/Coq/Reals/SeqProp/approx_maj.con -cic:/Coq/Reals/SeqProp/approx_min.con -cic:/Coq/Reals/SeqProp/cauchy_maj.con -cic:/Coq/Reals/SeqProp/cauchy_min.con -cic:/Coq/Reals/SeqProp/cauchy_opp.con -cic:/Coq/Reals/SeqProp/cond_eq.con -cic:/Coq/Reals/SeqProp/cv_cvabs.con -cic:/Coq/Reals/SeqProp/cv_infty.con -cic:/Coq/Reals/SeqProp/cv_infty_cv_R0.con -cic:/Coq/Reals/SeqProp/cv_speed_pow_fact.con -cic:/Coq/Reals/SeqProp/decreasing_cv.con -cic:/Coq/Reals/SeqProp/decreasing_growing.con -cic:/Coq/Reals/SeqProp/decreasing_ineq.con -cic:/Coq/Reals/SeqProp/decreasing_prop.con -cic:/Coq/Reals/SeqProp/growing_cv.con -cic:/Coq/Reals/SeqProp/growing_ineq.con -cic:/Coq/Reals/SeqProp/has_lb.con -cic:/Coq/Reals/SeqProp/has_ub.con -cic:/Coq/Reals/SeqProp/maj_by_pos.con -cic:/Coq/Reals/SeqProp/maj_cv.con -cic:/Coq/Reals/SeqProp/maj_min.con -cic:/Coq/Reals/SeqProp/maj_ss.con -cic:/Coq/Reals/SeqProp/maj_sup.con -cic:/Coq/Reals/SeqProp/majorant.con -cic:/Coq/Reals/SeqProp/min_cv.con -cic:/Coq/Reals/SeqProp/min_inf.con -cic:/Coq/Reals/SeqProp/min_maj.con -cic:/Coq/Reals/SeqProp/min_ss.con -cic:/Coq/Reals/SeqProp/minorant.con -cic:/Coq/Reals/SeqProp/not_Rlt.con -cic:/Coq/Reals/SeqProp/opp_seq.con -cic:/Coq/Reals/SeqProp/sequence_majorant.con -cic:/Coq/Reals/SeqProp/sequence_minorant.con -cic:/Coq/Reals/SeqProp/tech10.con -cic:/Coq/Reals/SeqProp/tech13.con -cic:/Coq/Reals/SeqProp/tech9.con -cic:/Coq/Reals/SeqSeries/Cesaro.con -cic:/Coq/Reals/SeqSeries/Cesaro_1.con -cic:/Coq/Reals/SeqSeries/Rseries_CV_comp.con -cic:/Coq/Reals/SeqSeries/sum_maj1.con -cic:/Coq/Reals/Sqrt_reg/continuity_pt_sqrt.con -cic:/Coq/Reals/Sqrt_reg/derivable_pt_sqrt.con -cic:/Coq/Reals/Sqrt_reg/derive_pt_sqrt.con -cic:/Coq/Reals/Sqrt_reg/sqrt_continuity_pt.con -cic:/Coq/Reals/Sqrt_reg/sqrt_continuity_pt_R1.con -cic:/Coq/Reals/Sqrt_reg/sqrt_var_maj.con -cic:/Coq/Relations/Newman/Diagram.con -cic:/Coq/Relations/Newman/Ind_proof.con -cic:/Coq/Relations/Newman/Newman.con -cic:/Coq/Relations/Newman/Rstar_coherence.con -cic:/Coq/Relations/Newman/caseRxy.con -cic:/Coq/Relations/Newman/coherence.con -cic:/Coq/Relations/Newman/coherence_intro.con -cic:/Coq/Relations/Newman/coherence_sym.con -cic:/Coq/Relations/Newman/confluence.con -cic:/Coq/Relations/Newman/local_confluence.con -cic:/Coq/Relations/Newman/noetherian.con -cic:/Coq/Relations/Operators_Properties/clos_refl_trans_ind_left.con -cic:/Coq/Relations/Operators_Properties/clos_rst_idempotent.con -cic:/Coq/Relations/Operators_Properties/clos_rst_is_equiv.con -cic:/Coq/Relations/Operators_Properties/clos_rt_clos_rst.con -cic:/Coq/Relations/Operators_Properties/clos_rt_idempotent.con -cic:/Coq/Relations/Operators_Properties/clos_rt_is_preorder.con -cic:/Coq/Relations/Relation_Definitions/PER_ind.con -cic:/Coq/Relations/Relation_Definitions/PER_rec.con -cic:/Coq/Relations/Relation_Definitions/PER_rect.con -cic:/Coq/Relations/Relation_Definitions/antisymmetric.con -cic:/Coq/Relations/Relation_Definitions/commut.con -cic:/Coq/Relations/Relation_Definitions/equiv.con -cic:/Coq/Relations/Relation_Definitions/equiv_refl.con -cic:/Coq/Relations/Relation_Definitions/equiv_sym.con -cic:/Coq/Relations/Relation_Definitions/equiv_trans.con -cic:/Coq/Relations/Relation_Definitions/equivalence_ind.con -cic:/Coq/Relations/Relation_Definitions/equivalence_rec.con -cic:/Coq/Relations/Relation_Definitions/equivalence_rect.con -cic:/Coq/Relations/Relation_Definitions/inclusion.con -cic:/Coq/Relations/Relation_Definitions/ord_antisym.con -cic:/Coq/Relations/Relation_Definitions/ord_refl.con -cic:/Coq/Relations/Relation_Definitions/ord_trans.con -cic:/Coq/Relations/Relation_Definitions/order_ind.con -cic:/Coq/Relations/Relation_Definitions/order_rec.con -cic:/Coq/Relations/Relation_Definitions/order_rect.con -cic:/Coq/Relations/Relation_Definitions/per_sym.con -cic:/Coq/Relations/Relation_Definitions/per_trans.con -cic:/Coq/Relations/Relation_Definitions/preord_refl.con -cic:/Coq/Relations/Relation_Definitions/preord_trans.con -cic:/Coq/Relations/Relation_Definitions/preorder_ind.con -cic:/Coq/Relations/Relation_Definitions/preorder_rec.con -cic:/Coq/Relations/Relation_Definitions/preorder_rect.con -cic:/Coq/Relations/Relation_Definitions/reflexive.con -cic:/Coq/Relations/Relation_Definitions/relation.con -cic:/Coq/Relations/Relation_Definitions/same_relation.con -cic:/Coq/Relations/Relation_Definitions/symmetric.con -cic:/Coq/Relations/Relation_Definitions/transitive.con -cic:/Coq/Relations/Relation_Operators/Desc_ind.con -cic:/Coq/Relations/Relation_Operators/Ltl_ind.con -cic:/Coq/Relations/Relation_Operators/Pow.con -cic:/Coq/Relations/Relation_Operators/clos_refl_sym_trans_ind.con -cic:/Coq/Relations/Relation_Operators/clos_refl_trans_ind.con -cic:/Coq/Relations/Relation_Operators/clos_trans_ind.con -cic:/Coq/Relations/Relation_Operators/le_AsB_ind.con -cic:/Coq/Relations/Relation_Operators/lex_exp.con -cic:/Coq/Relations/Relation_Operators/lexprod_ind.con -cic:/Coq/Relations/Relation_Operators/swapprod_ind.con -cic:/Coq/Relations/Relation_Operators/symprod_ind.con -cic:/Coq/Relations/Relation_Operators/transp.con -cic:/Coq/Relations/Relation_Operators/union.con -cic:/Coq/Relations/Relations/inverse_image_of_eq.con -cic:/Coq/Relations/Relations/inverse_image_of_equivalence.con -cic:/Coq/Relations/Rstar/Rstar'.con -cic:/Coq/Relations/Rstar/Rstar'_R.con -cic:/Coq/Relations/Rstar/Rstar'_Rstar.con -cic:/Coq/Relations/Rstar/Rstar'_reflexive.con -cic:/Coq/Relations/Rstar/Rstar.con -cic:/Coq/Relations/Rstar/Rstar_R.con -cic:/Coq/Relations/Rstar/Rstar_Rstar'.con -cic:/Coq/Relations/Rstar/Rstar_reflexive.con -cic:/Coq/Relations/Rstar/Rstar_transitive.con -cic:/Coq/Relations/Rstar/commut.con -cic:/Coq/Setoids/Setoid/Prop_S.con -cic:/Coq/Setoids/Setoid/Seq_refl.con -cic:/Coq/Setoids/Setoid/Seq_sym.con -cic:/Coq/Setoids/Setoid/Seq_trans.con -cic:/Coq/Setoids/Setoid/Setoid_Theory_ind.con -cic:/Coq/Setoids/Setoid/Setoid_Theory_rec.con -cic:/Coq/Setoids/Setoid/Setoid_Theory_rect.con -cic:/Coq/Setoids/Setoid/and_ext.con -cic:/Coq/Setoids/Setoid/and_ext2.con -cic:/Coq/Setoids/Setoid/fleche.con -cic:/Coq/Setoids/Setoid/fleche_ext.con -cic:/Coq/Setoids/Setoid/fleche_ext2.con -cic:/Coq/Setoids/Setoid/not_ext.con -cic:/Coq/Setoids/Setoid/not_ext2.con -cic:/Coq/Setoids/Setoid/or_ext.con -cic:/Coq/Setoids/Setoid/or_ext2.con -cic:/Coq/Setoids/Setoid/setoid_eq_ext1.con -cic:/Coq/Setoids/Setoid/setoid_eq_ext2.con -cic:/Coq/Sets/Classical_sets/Complement_Complement.con -cic:/Coq/Sets/Classical_sets/Included_Strict_Included.con -cic:/Coq/Sets/Classical_sets/Inhabited_Setminus.con -cic:/Coq/Sets/Classical_sets/Strict_Included_inv.con -cic:/Coq/Sets/Classical_sets/Strict_super_set_contains_new_element.con -cic:/Coq/Sets/Classical_sets/Subtract_intro.con -cic:/Coq/Sets/Classical_sets/Subtract_inv.con -cic:/Coq/Sets/Classical_sets/not_SIncl_empty.con -cic:/Coq/Sets/Classical_sets/not_empty_Inhabited.con -cic:/Coq/Sets/Classical_sets/not_included_empty_Inhabited.con -cic:/Coq/Sets/Constructive_sets/Add_intro1.con -cic:/Coq/Sets/Constructive_sets/Add_intro2.con -cic:/Coq/Sets/Constructive_sets/Add_inv.con -cic:/Coq/Sets/Constructive_sets/Add_not_Empty.con -cic:/Coq/Sets/Constructive_sets/Couple_inv.con -cic:/Coq/Sets/Constructive_sets/Extension.con -cic:/Coq/Sets/Constructive_sets/Included_Empty.con -cic:/Coq/Sets/Constructive_sets/Inhabited_add.con -cic:/Coq/Sets/Constructive_sets/Inhabited_not_empty.con -cic:/Coq/Sets/Constructive_sets/Intersection_inv.con -cic:/Coq/Sets/Constructive_sets/Noone_in_empty.con -cic:/Coq/Sets/Constructive_sets/Setminus_intro.con -cic:/Coq/Sets/Constructive_sets/Singleton_intro.con -cic:/Coq/Sets/Constructive_sets/Singleton_inv.con -cic:/Coq/Sets/Constructive_sets/Strict_Included_intro.con -cic:/Coq/Sets/Constructive_sets/Strict_Included_strict.con -cic:/Coq/Sets/Constructive_sets/Union_inv.con -cic:/Coq/Sets/Constructive_sets/not_Empty_Add.con -cic:/Coq/Sets/Cpo/Bottom_ind.con -cic:/Coq/Sets/Cpo/Bottom_rec.con -cic:/Coq/Sets/Cpo/Bottom_rect.con -cic:/Coq/Sets/Cpo/Chain_cond.con -cic:/Coq/Sets/Cpo/Chain_ind.con -cic:/Coq/Sets/Cpo/Chain_rec.con -cic:/Coq/Sets/Cpo/Chain_rect.con -cic:/Coq/Sets/Cpo/Compatible.con -cic:/Coq/Sets/Cpo/Complete_ind.con -cic:/Coq/Sets/Cpo/Complete_rec.con -cic:/Coq/Sets/Cpo/Complete_rect.con -cic:/Coq/Sets/Cpo/Conditionally_complete_ind.con -cic:/Coq/Sets/Cpo/Conditionally_complete_rec.con -cic:/Coq/Sets/Cpo/Conditionally_complete_rect.con -cic:/Coq/Sets/Cpo/Cpo_cond.con -cic:/Coq/Sets/Cpo/Cpo_ind.con -cic:/Coq/Sets/Cpo/Cpo_rec.con -cic:/Coq/Sets/Cpo/Cpo_rect.con -cic:/Coq/Sets/Cpo/Directed_ind.con -cic:/Coq/Sets/Cpo/Directed_rec.con -cic:/Coq/Sets/Cpo/Directed_rect.con -cic:/Coq/Sets/Cpo/Glb_ind.con -cic:/Coq/Sets/Cpo/Glb_rec.con -cic:/Coq/Sets/Cpo/Glb_rect.con -cic:/Coq/Sets/Cpo/Lower_Bound_ind.con -cic:/Coq/Sets/Cpo/Lower_Bound_rec.con -cic:/Coq/Sets/Cpo/Lower_Bound_rect.con -cic:/Coq/Sets/Cpo/Lub_ind.con -cic:/Coq/Sets/Cpo/Lub_rec.con -cic:/Coq/Sets/Cpo/Lub_rect.con -cic:/Coq/Sets/Cpo/PO_of_chain.con -cic:/Coq/Sets/Cpo/PO_of_cpo.con -cic:/Coq/Sets/Cpo/Totally_ordered_ind.con -cic:/Coq/Sets/Cpo/Totally_ordered_rec.con -cic:/Coq/Sets/Cpo/Totally_ordered_rect.con -cic:/Coq/Sets/Cpo/Upper_Bound_ind.con -cic:/Coq/Sets/Cpo/Upper_Bound_rec.con -cic:/Coq/Sets/Cpo/Upper_Bound_rect.con -cic:/Coq/Sets/Ensembles/Add.con -cic:/Coq/Sets/Ensembles/Complement.con -cic:/Coq/Sets/Ensembles/Couple_ind.con -cic:/Coq/Sets/Ensembles/Disjoint_ind.con -cic:/Coq/Sets/Ensembles/Disjoint_rec.con -cic:/Coq/Sets/Ensembles/Disjoint_rect.con -cic:/Coq/Sets/Ensembles/Empty_set_ind.con -cic:/Coq/Sets/Ensembles/Empty_set_rec.con -cic:/Coq/Sets/Ensembles/Empty_set_rect.con -cic:/Coq/Sets/Ensembles/Ensemble.con -cic:/Coq/Sets/Ensembles/Extensionality_Ensembles.con -cic:/Coq/Sets/Ensembles/Full_set_ind.con -cic:/Coq/Sets/Ensembles/In.con -cic:/Coq/Sets/Ensembles/Included.con -cic:/Coq/Sets/Ensembles/Inhabited_ind.con -cic:/Coq/Sets/Ensembles/Intersection_ind.con -cic:/Coq/Sets/Ensembles/Same_set.con -cic:/Coq/Sets/Ensembles/Setminus.con -cic:/Coq/Sets/Ensembles/Singleton_ind.con -cic:/Coq/Sets/Ensembles/Singleton_rec.con -cic:/Coq/Sets/Ensembles/Singleton_rect.con -cic:/Coq/Sets/Ensembles/Strict_Included.con -cic:/Coq/Sets/Ensembles/Subtract.con -cic:/Coq/Sets/Ensembles/Triple_ind.con -cic:/Coq/Sets/Ensembles/Union_ind.con -cic:/Coq/Sets/Finite_sets/Finite_ind.con -cic:/Coq/Sets/Finite_sets/cardinal_elim.con -cic:/Coq/Sets/Finite_sets/cardinal_ind.con -cic:/Coq/Sets/Finite_sets/cardinal_invert.con -cic:/Coq/Sets/Finite_sets_facts/Add_preserves_Finite.con -cic:/Coq/Sets/Finite_sets_facts/Finite_downward_closed.con -cic:/Coq/Sets/Finite_sets_facts/G_aux.con -cic:/Coq/Sets/Finite_sets_facts/Generalized_induction_on_finite_sets.con -cic:/Coq/Sets/Finite_sets_facts/Intersection_preserves_finite.con -cic:/Coq/Sets/Finite_sets_facts/Singleton_is_finite.con -cic:/Coq/Sets/Finite_sets_facts/Union_preserves_Finite.con -cic:/Coq/Sets/Finite_sets_facts/card_Add_gen.con -cic:/Coq/Sets/Finite_sets_facts/card_soustr_1.con -cic:/Coq/Sets/Finite_sets_facts/cardinalO_empty.con -cic:/Coq/Sets/Finite_sets_facts/cardinal_Empty.con -cic:/Coq/Sets/Finite_sets_facts/cardinal_finite.con -cic:/Coq/Sets/Finite_sets_facts/cardinal_is_functional.con -cic:/Coq/Sets/Finite_sets_facts/cardinal_unicity.con -cic:/Coq/Sets/Finite_sets_facts/finite_cardinal.con -cic:/Coq/Sets/Finite_sets_facts/incl_card_le.con -cic:/Coq/Sets/Finite_sets_facts/incl_st_card_lt.con -cic:/Coq/Sets/Finite_sets_facts/inh_card_gt_O.con -cic:/Coq/Sets/Image/Im_add.con -cic:/Coq/Sets/Image/Im_def.con -cic:/Coq/Sets/Image/Im_ind.con -cic:/Coq/Sets/Image/Im_inv.con -cic:/Coq/Sets/Image/In_Image_elim.con -cic:/Coq/Sets/Image/Pigeonhole.con -cic:/Coq/Sets/Image/Pigeonhole_principle.con -cic:/Coq/Sets/Image/cardinal_Im_intro.con -cic:/Coq/Sets/Image/cardinal_decreases.con -cic:/Coq/Sets/Image/finite_image.con -cic:/Coq/Sets/Image/image_empty.con -cic:/Coq/Sets/Image/injective.con -cic:/Coq/Sets/Image/injective_preserves_cardinal.con -cic:/Coq/Sets/Image/not_injective_elim.con -cic:/Coq/Sets/Infinite_sets/Approximant_ind.con -cic:/Coq/Sets/Infinite_sets/Approximant_rec.con -cic:/Coq/Sets/Infinite_sets/Approximant_rect.con -cic:/Coq/Sets/Infinite_sets/Image_set_continuous'.con -cic:/Coq/Sets/Infinite_sets/Image_set_continuous.con -cic:/Coq/Sets/Infinite_sets/Pigeonhole_bis.con -cic:/Coq/Sets/Infinite_sets/Pigeonhole_ter.con -cic:/Coq/Sets/Infinite_sets/approximant_can_be_any_size.con -cic:/Coq/Sets/Infinite_sets/approximants_grow'.con -cic:/Coq/Sets/Infinite_sets/approximants_grow.con -cic:/Coq/Sets/Infinite_sets/make_new_approximant.con -cic:/Coq/Sets/Integers/Finite_subset_has_lub.con -cic:/Coq/Sets/Integers/Integers_has_no_ub.con -cic:/Coq/Sets/Integers/Integers_ind.con -cic:/Coq/Sets/Integers/Integers_infinite.con -cic:/Coq/Sets/Integers/le_Order.con -cic:/Coq/Sets/Integers/le_antisym.con -cic:/Coq/Sets/Integers/le_reflexive.con -cic:/Coq/Sets/Integers/le_total_order.con -cic:/Coq/Sets/Integers/le_trans.con -cic:/Coq/Sets/Integers/nat_po.con -cic:/Coq/Sets/Integers/triv_nat.con -cic:/Coq/Sets/Multiset/EmptyBag.con -cic:/Coq/Sets/Multiset/SingletonBag.con -cic:/Coq/Sets/Multiset/meq.con -cic:/Coq/Sets/Multiset/meq_congr.con -cic:/Coq/Sets/Multiset/meq_left.con -cic:/Coq/Sets/Multiset/meq_refl.con -cic:/Coq/Sets/Multiset/meq_right.con -cic:/Coq/Sets/Multiset/meq_sym.con -cic:/Coq/Sets/Multiset/meq_trans.con -cic:/Coq/Sets/Multiset/multiplicity.con -cic:/Coq/Sets/Multiset/multiset_ind.con -cic:/Coq/Sets/Multiset/multiset_rec.con -cic:/Coq/Sets/Multiset/multiset_rect.con -cic:/Coq/Sets/Multiset/multiset_twist1.con -cic:/Coq/Sets/Multiset/multiset_twist2.con -cic:/Coq/Sets/Multiset/munion.con -cic:/Coq/Sets/Multiset/munion_ass.con -cic:/Coq/Sets/Multiset/munion_comm.con -cic:/Coq/Sets/Multiset/munion_empty_left.con -cic:/Coq/Sets/Multiset/munion_empty_right.con -cic:/Coq/Sets/Multiset/munion_perm_left.con -cic:/Coq/Sets/Multiset/munion_rotate.con -cic:/Coq/Sets/Multiset/treesort_twist1.con -cic:/Coq/Sets/Multiset/treesort_twist2.con -cic:/Coq/Sets/Partial_Order/Carrier.con -cic:/Coq/Sets/Partial_Order/Carrier_of.con -cic:/Coq/Sets/Partial_Order/PO_cond1.con -cic:/Coq/Sets/Partial_Order/PO_cond2.con -cic:/Coq/Sets/Partial_Order/PO_ind.con -cic:/Coq/Sets/Partial_Order/PO_rec.con -cic:/Coq/Sets/Partial_Order/PO_rect.con -cic:/Coq/Sets/Partial_Order/Rel.con -cic:/Coq/Sets/Partial_Order/Rel_of.con -cic:/Coq/Sets/Partial_Order/Strict_Rel_Transitive.con -cic:/Coq/Sets/Partial_Order/Strict_Rel_Transitive_with_Rel.con -cic:/Coq/Sets/Partial_Order/Strict_Rel_Transitive_with_Rel_left.con -cic:/Coq/Sets/Partial_Order/Strict_Rel_of.con -cic:/Coq/Sets/Partial_Order/covers_ind.con -cic:/Coq/Sets/Partial_Order/covers_rec.con -cic:/Coq/Sets/Partial_Order/covers_rect.con -cic:/Coq/Sets/Permut/comm_left.con -cic:/Coq/Sets/Permut/comm_right.con -cic:/Coq/Sets/Permut/cong_congr.con -cic:/Coq/Sets/Permut/op_rotate.con -cic:/Coq/Sets/Permut/perm_left.con -cic:/Coq/Sets/Permut/perm_right.con -cic:/Coq/Sets/Permut/twist.con -cic:/Coq/Sets/Powerset/Empty_set_is_Bottom.con -cic:/Coq/Sets/Powerset/Empty_set_minimal.con -cic:/Coq/Sets/Powerset/Inclusion_is_an_order.con -cic:/Coq/Sets/Powerset/Inclusion_is_transitive.con -cic:/Coq/Sets/Powerset/Intersection_decreases_l.con -cic:/Coq/Sets/Powerset/Intersection_decreases_r.con -cic:/Coq/Sets/Powerset/Intersection_is_Glb.con -cic:/Coq/Sets/Powerset/Intersection_maximal.con -cic:/Coq/Sets/Powerset/Power_set_Inhabited.con -cic:/Coq/Sets/Powerset/Power_set_PO.con -cic:/Coq/Sets/Powerset/Power_set_ind.con -cic:/Coq/Sets/Powerset/Strict_Rel_is_Strict_Included.con -cic:/Coq/Sets/Powerset/Strict_inclusion_is_transitive.con -cic:/Coq/Sets/Powerset/Strict_inclusion_is_transitive_with_inclusion.con -cic:/Coq/Sets/Powerset/Strict_inclusion_is_transitive_with_inclusion_left.con -cic:/Coq/Sets/Powerset/Union_increases_l.con -cic:/Coq/Sets/Powerset/Union_increases_r.con -cic:/Coq/Sets/Powerset/Union_is_Lub.con -cic:/Coq/Sets/Powerset/Union_minimal.con -cic:/Coq/Sets/Powerset_Classical_facts/Add_covers.con -cic:/Coq/Sets/Powerset_Classical_facts/Included_Add.con -cic:/Coq/Sets/Powerset_Classical_facts/Simplify_add.con -cic:/Coq/Sets/Powerset_Classical_facts/Singleton_atomic.con -cic:/Coq/Sets/Powerset_Classical_facts/Sub_Add_new.con -cic:/Coq/Sets/Powerset_Classical_facts/add_soustr_1.con -cic:/Coq/Sets/Powerset_Classical_facts/add_soustr_2.con -cic:/Coq/Sets/Powerset_Classical_facts/add_soustr_xy.con -cic:/Coq/Sets/Powerset_Classical_facts/covers_Add.con -cic:/Coq/Sets/Powerset_Classical_facts/covers_is_Add.con -cic:/Coq/Sets/Powerset_Classical_facts/incl_soustr.con -cic:/Coq/Sets/Powerset_Classical_facts/incl_soustr_add_l.con -cic:/Coq/Sets/Powerset_Classical_facts/incl_soustr_add_r.con -cic:/Coq/Sets/Powerset_Classical_facts/incl_soustr_in.con -cic:/Coq/Sets/Powerset_Classical_facts/incl_st_add_soustr.con -cic:/Coq/Sets/Powerset_Classical_facts/less_than_singleton.con -cic:/Coq/Sets/Powerset_Classical_facts/setcover_inv.con -cic:/Coq/Sets/Powerset_Classical_facts/sincl_add_x.con -cic:/Coq/Sets/Powerset_facts/Add_commutative'.con -cic:/Coq/Sets/Powerset_facts/Add_commutative.con -cic:/Coq/Sets/Powerset_facts/Add_distributes.con -cic:/Coq/Sets/Powerset_facts/Couple_as_union.con -cic:/Coq/Sets/Powerset_facts/Distributivity'.con -cic:/Coq/Sets/Powerset_facts/Distributivity.con -cic:/Coq/Sets/Powerset_facts/Empty_set_zero'.con -cic:/Coq/Sets/Powerset_facts/Empty_set_zero.con -cic:/Coq/Sets/Powerset_facts/Intersection_commutative.con -cic:/Coq/Sets/Powerset_facts/Non_disjoint_union'.con -cic:/Coq/Sets/Powerset_facts/Non_disjoint_union.con -cic:/Coq/Sets/Powerset_facts/Triple_as_Couple.con -cic:/Coq/Sets/Powerset_facts/Triple_as_Couple_Singleton.con -cic:/Coq/Sets/Powerset_facts/Triple_as_union.con -cic:/Coq/Sets/Powerset_facts/Union_absorbs.con -cic:/Coq/Sets/Powerset_facts/Union_add.con -cic:/Coq/Sets/Powerset_facts/Union_associative.con -cic:/Coq/Sets/Powerset_facts/Union_commutative.con -cic:/Coq/Sets/Powerset_facts/Union_idempotent.con -cic:/Coq/Sets/Powerset_facts/incl_add.con -cic:/Coq/Sets/Powerset_facts/incl_add_x.con -cic:/Coq/Sets/Powerset_facts/less_than_empty.con -cic:/Coq/Sets/Powerset_facts/setcover_intro.con -cic:/Coq/Sets/Powerset_facts/singlx.con -cic:/Coq/Sets/Relations_1/Antisymmetric.con -cic:/Coq/Sets/Relations_1/Equivalence_ind.con -cic:/Coq/Sets/Relations_1/Equivalence_rec.con -cic:/Coq/Sets/Relations_1/Equivalence_rect.con -cic:/Coq/Sets/Relations_1/Order_ind.con -cic:/Coq/Sets/Relations_1/Order_rec.con -cic:/Coq/Sets/Relations_1/Order_rect.con -cic:/Coq/Sets/Relations_1/PER_ind.con -cic:/Coq/Sets/Relations_1/PER_rec.con -cic:/Coq/Sets/Relations_1/PER_rect.con -cic:/Coq/Sets/Relations_1/Preorder_ind.con -cic:/Coq/Sets/Relations_1/Preorder_rec.con -cic:/Coq/Sets/Relations_1/Preorder_rect.con -cic:/Coq/Sets/Relations_1/Reflexive.con -cic:/Coq/Sets/Relations_1/Relation.con -cic:/Coq/Sets/Relations_1/Symmetric.con -cic:/Coq/Sets/Relations_1/Transitive.con -cic:/Coq/Sets/Relations_1/contains.con -cic:/Coq/Sets/Relations_1/same_relation.con -cic:/Coq/Sets/Relations_1_facts/Complement.con -cic:/Coq/Sets/Relations_1_facts/Equiv_from_order.con -cic:/Coq/Sets/Relations_1_facts/Equiv_from_preorder.con -cic:/Coq/Sets/Relations_1_facts/Rsym_imp_notRsym.con -cic:/Coq/Sets/Relations_1_facts/cong_antisymmetric_same_relation.con -cic:/Coq/Sets/Relations_1_facts/cong_reflexive_same_relation.con -cic:/Coq/Sets/Relations_1_facts/cong_symmetric_same_relation.con -cic:/Coq/Sets/Relations_1_facts/cong_transitive_same_relation.con -cic:/Coq/Sets/Relations_1_facts/contains_is_preorder.con -cic:/Coq/Sets/Relations_1_facts/same_relation_is_equivalence.con -cic:/Coq/Sets/Relations_2/Rplus_ind.con -cic:/Coq/Sets/Relations_2/Rstar1_ind.con -cic:/Coq/Sets/Relations_2/Rstar_ind.con -cic:/Coq/Sets/Relations_2/Strongly_confluent.con -cic:/Coq/Sets/Relations_2_facts/Lemma1.con -cic:/Coq/Sets/Relations_2_facts/Rplus_contains_R.con -cic:/Coq/Sets/Relations_2_facts/RstarRplus_RRstar.con -cic:/Coq/Sets/Relations_2_facts/Rstar_cases.con -cic:/Coq/Sets/Relations_2_facts/Rstar_contains_R.con -cic:/Coq/Sets/Relations_2_facts/Rstar_contains_Rplus.con -cic:/Coq/Sets/Relations_2_facts/Rstar_equiv_Rstar1.con -cic:/Coq/Sets/Relations_2_facts/Rstar_reflexive.con -cic:/Coq/Sets/Relations_2_facts/Rstar_transitive.con -cic:/Coq/Sets/Relations_2_facts/Rsym_imp_Rstarsym.con -cic:/Coq/Sets/Relations_2_facts/Sstar_contains_Rstar.con -cic:/Coq/Sets/Relations_2_facts/star_monotone.con -cic:/Coq/Sets/Relations_3/Confluent.con -cic:/Coq/Sets/Relations_3/Locally_confluent.con -cic:/Coq/Sets/Relations_3/Noetherian.con -cic:/Coq/Sets/Relations_3/coherent.con -cic:/Coq/Sets/Relations_3/confluent.con -cic:/Coq/Sets/Relations_3/locally_confluent.con -cic:/Coq/Sets/Relations_3/noetherian_ind.con -cic:/Coq/Sets/Relations_3_facts/Newman.con -cic:/Coq/Sets/Relations_3_facts/Noetherian_contains_Noetherian.con -cic:/Coq/Sets/Relations_3_facts/Rstar_imp_coherent.con -cic:/Coq/Sets/Relations_3_facts/Strong_confluence.con -cic:/Coq/Sets/Relations_3_facts/Strong_confluence_direct.con -cic:/Coq/Sets/Relations_3_facts/coherent_symmetric.con -cic:/Coq/Sets/Uniset/Emptyset.con -cic:/Coq/Sets/Uniset/Fullset.con -cic:/Coq/Sets/Uniset/In.con -cic:/Coq/Sets/Uniset/Singleton.con -cic:/Coq/Sets/Uniset/charac.con -cic:/Coq/Sets/Uniset/incl.con -cic:/Coq/Sets/Uniset/incl_left.con -cic:/Coq/Sets/Uniset/incl_right.con -cic:/Coq/Sets/Uniset/leb_refl.con -cic:/Coq/Sets/Uniset/seq.con -cic:/Coq/Sets/Uniset/seq_congr.con -cic:/Coq/Sets/Uniset/seq_left.con -cic:/Coq/Sets/Uniset/seq_refl.con -cic:/Coq/Sets/Uniset/seq_right.con -cic:/Coq/Sets/Uniset/seq_sym.con -cic:/Coq/Sets/Uniset/seq_trans.con -cic:/Coq/Sets/Uniset/treesort_twist1.con -cic:/Coq/Sets/Uniset/treesort_twist2.con -cic:/Coq/Sets/Uniset/union.con -cic:/Coq/Sets/Uniset/union_ass.con -cic:/Coq/Sets/Uniset/union_comm.con -cic:/Coq/Sets/Uniset/union_empty_left.con -cic:/Coq/Sets/Uniset/union_empty_right.con -cic:/Coq/Sets/Uniset/union_perm_left.con -cic:/Coq/Sets/Uniset/union_rotate.con -cic:/Coq/Sets/Uniset/uniset_ind.con -cic:/Coq/Sets/Uniset/uniset_rec.con -cic:/Coq/Sets/Uniset/uniset_rect.con -cic:/Coq/Sets/Uniset/uniset_twist1.con -cic:/Coq/Sets/Uniset/uniset_twist2.con -cic:/Coq/Sorting/Heap/Tree_ind.con -cic:/Coq/Sorting/Heap/Tree_rec.con -cic:/Coq/Sorting/Heap/Tree_rect.con -cic:/Coq/Sorting/Heap/build_heap_ind.con -cic:/Coq/Sorting/Heap/build_heap_rec.con -cic:/Coq/Sorting/Heap/build_heap_rect.con -cic:/Coq/Sorting/Heap/contents.con -cic:/Coq/Sorting/Heap/equiv_Tree.con -cic:/Coq/Sorting/Heap/flat_spec_ind.con -cic:/Coq/Sorting/Heap/flat_spec_rec.con -cic:/Coq/Sorting/Heap/flat_spec_rect.con -cic:/Coq/Sorting/Heap/heap_to_list.con -cic:/Coq/Sorting/Heap/insert.con -cic:/Coq/Sorting/Heap/insert_spec_ind.con -cic:/Coq/Sorting/Heap/insert_spec_rec.con -cic:/Coq/Sorting/Heap/insert_spec_rect.con -cic:/Coq/Sorting/Heap/invert_heap.con -cic:/Coq/Sorting/Heap/is_heap_ind.con -cic:/Coq/Sorting/Heap/is_heap_rec.con -cic:/Coq/Sorting/Heap/leA_Tree.con -cic:/Coq/Sorting/Heap/leA_Tree_Leaf.con -cic:/Coq/Sorting/Heap/leA_Tree_Node.con -cic:/Coq/Sorting/Heap/list_to_heap.con -cic:/Coq/Sorting/Heap/low_trans.con -cic:/Coq/Sorting/Heap/treesort.con -cic:/Coq/Sorting/Permutation/list_contents.con -cic:/Coq/Sorting/Permutation/list_contents_app.con -cic:/Coq/Sorting/Permutation/permut_app.con -cic:/Coq/Sorting/Permutation/permut_cons.con -cic:/Coq/Sorting/Permutation/permut_middle.con -cic:/Coq/Sorting/Permutation/permut_refl.con -cic:/Coq/Sorting/Permutation/permut_right.con -cic:/Coq/Sorting/Permutation/permut_tran.con -cic:/Coq/Sorting/Permutation/permutation.con -cic:/Coq/Sorting/Sorting/lelistA_ind.con -cic:/Coq/Sorting/Sorting/lelistA_inv.con -cic:/Coq/Sorting/Sorting/merge.con -cic:/Coq/Sorting/Sorting/merge_lem_ind.con -cic:/Coq/Sorting/Sorting/merge_lem_rec.con -cic:/Coq/Sorting/Sorting/merge_lem_rect.con -cic:/Coq/Sorting/Sorting/sort_ind.con -cic:/Coq/Sorting/Sorting/sort_inv.con -cic:/Coq/Sorting/Sorting/sort_rec.con -cic:/Coq/Wellfounded/Disjoint_Union/acc_A_sum.con -cic:/Coq/Wellfounded/Disjoint_Union/acc_B_sum.con -cic:/Coq/Wellfounded/Disjoint_Union/wf_disjoint_sum.con -cic:/Coq/Wellfounded/Inclusion/Acc_incl.con -cic:/Coq/Wellfounded/Inclusion/wf_incl.con -cic:/Coq/Wellfounded/Inverse_Image/Acc_inverse_image.con -cic:/Coq/Wellfounded/Inverse_Image/Acc_inverse_rel.con -cic:/Coq/Wellfounded/Inverse_Image/Acc_lemma.con -cic:/Coq/Wellfounded/Inverse_Image/wf_inverse_image.con -cic:/Coq/Wellfounded/Inverse_Image/wf_inverse_rel.con -cic:/Coq/Wellfounded/Lexicographic_Exponentiation/acc_app.con -cic:/Coq/Wellfounded/Lexicographic_Exponentiation/desc_end.con -cic:/Coq/Wellfounded/Lexicographic_Exponentiation/desc_prefix.con -cic:/Coq/Wellfounded/Lexicographic_Exponentiation/desc_tail.con -cic:/Coq/Wellfounded/Lexicographic_Exponentiation/dist_Desc_concat.con -cic:/Coq/Wellfounded/Lexicographic_Exponentiation/dist_aux.con -cic:/Coq/Wellfounded/Lexicographic_Exponentiation/left_prefix.con -cic:/Coq/Wellfounded/Lexicographic_Exponentiation/ltl_unit.con -cic:/Coq/Wellfounded/Lexicographic_Exponentiation/right_prefix.con -cic:/Coq/Wellfounded/Lexicographic_Exponentiation/wf_lex_exp.con -cic:/Coq/Wellfounded/Lexicographic_Product/Acc_swapprod.con -cic:/Coq/Wellfounded/Lexicographic_Product/Acc_symprod.con -cic:/Coq/Wellfounded/Lexicographic_Product/acc_A_B_lexprod.con -cic:/Coq/Wellfounded/Lexicographic_Product/swap_Acc.con -cic:/Coq/Wellfounded/Lexicographic_Product/wf_lexprod.con -cic:/Coq/Wellfounded/Lexicographic_Product/wf_swapprod.con -cic:/Coq/Wellfounded/Lexicographic_Product/wf_symprod.con -cic:/Coq/Wellfounded/Transitive_Closure/Acc_clos_trans.con -cic:/Coq/Wellfounded/Transitive_Closure/Acc_inv_trans.con -cic:/Coq/Wellfounded/Transitive_Closure/incl_clos_trans.con -cic:/Coq/Wellfounded/Transitive_Closure/wf_clos_trans.con -cic:/Coq/Wellfounded/Union/Acc_union.con -cic:/Coq/Wellfounded/Union/strip_commut.con -cic:/Coq/Wellfounded/Union/wf_union.con -cic:/Coq/Wellfounded/Well_Ordering/B.con -cic:/Coq/Wellfounded/Well_Ordering/WO_ind.con -cic:/Coq/Wellfounded/Well_Ordering/WO_rec.con -cic:/Coq/Wellfounded/Well_Ordering/WO_rect.con -cic:/Coq/Wellfounded/Well_Ordering/le_WO_ind.con -cic:/Coq/Wellfounded/Well_Ordering/wf_WO.con -cic:/Coq/Wellfounded/Well_Ordering/wof.con -cic:/Coq/ZArith/BinInt/ZL0.con -cic:/Coq/ZArith/BinInt/ZPminus.con -cic:/Coq/ZArith/BinInt/Z_eq_mult.con -cic:/Coq/ZArith/BinInt/Z_ind.con -cic:/Coq/ZArith/BinInt/Z_of_N.con -cic:/Coq/ZArith/BinInt/Z_of_nat.con -cic:/Coq/ZArith/BinInt/Z_rec.con -cic:/Coq/ZArith/BinInt/Z_rect.con -cic:/Coq/ZArith/BinInt/Zabs.con -cic:/Coq/ZArith/BinInt/Zabs_N.con -cic:/Coq/ZArith/BinInt/Zabs_nat.con -cic:/Coq/ZArith/BinInt/Zcompare.con -cic:/Coq/ZArith/BinInt/Zdouble.con -cic:/Coq/ZArith/BinInt/Zdouble_minus_one.con -cic:/Coq/ZArith/BinInt/Zdouble_plus_one.con -cic:/Coq/ZArith/BinInt/Zeq_minus.con -cic:/Coq/ZArith/BinInt/Zge.con -cic:/Coq/ZArith/BinInt/Zgt.con -cic:/Coq/ZArith/BinInt/Zind.con -cic:/Coq/ZArith/BinInt/Zle.con -cic:/Coq/ZArith/BinInt/Zlt.con -cic:/Coq/ZArith/BinInt/Zminus.con -cic:/Coq/ZArith/BinInt/Zminus_0_l_reverse.con -cic:/Coq/ZArith/BinInt/Zminus_0_r.con -cic:/Coq/ZArith/BinInt/Zminus_diag.con -cic:/Coq/ZArith/BinInt/Zminus_diag_reverse.con -cic:/Coq/ZArith/BinInt/Zminus_eq.con -cic:/Coq/ZArith/BinInt/Zminus_plus.con -cic:/Coq/ZArith/BinInt/Zminus_plus_simpl_l.con -cic:/Coq/ZArith/BinInt/Zminus_plus_simpl_l_reverse.con -cic:/Coq/ZArith/BinInt/Zminus_plus_simpl_r.con -cic:/Coq/ZArith/BinInt/Zminus_succ_l.con -cic:/Coq/ZArith/BinInt/Zmult.con -cic:/Coq/ZArith/BinInt/Zmult_0_l.con -cic:/Coq/ZArith/BinInt/Zmult_0_r.con -cic:/Coq/ZArith/BinInt/Zmult_0_r_reverse.con -cic:/Coq/ZArith/BinInt/Zmult_1_inversion_l.con -cic:/Coq/ZArith/BinInt/Zmult_1_l.con -cic:/Coq/ZArith/BinInt/Zmult_1_r.con -cic:/Coq/ZArith/BinInt/Zmult_assoc.con -cic:/Coq/ZArith/BinInt/Zmult_assoc_reverse.con -cic:/Coq/ZArith/BinInt/Zmult_comm.con -cic:/Coq/ZArith/BinInt/Zmult_integral.con -cic:/Coq/ZArith/BinInt/Zmult_integral_l.con -cic:/Coq/ZArith/BinInt/Zmult_minus_distr_l.con -cic:/Coq/ZArith/BinInt/Zmult_minus_distr_r.con -cic:/Coq/ZArith/BinInt/Zmult_opp_comm.con -cic:/Coq/ZArith/BinInt/Zmult_opp_opp.con -cic:/Coq/ZArith/BinInt/Zmult_permute.con -cic:/Coq/ZArith/BinInt/Zmult_plus_distr_l.con -cic:/Coq/ZArith/BinInt/Zmult_plus_distr_r.con -cic:/Coq/ZArith/BinInt/Zmult_reg_l.con -cic:/Coq/ZArith/BinInt/Zmult_reg_r.con -cic:/Coq/ZArith/BinInt/Zmult_succ_l.con -cic:/Coq/ZArith/BinInt/Zmult_succ_l_reverse.con -cic:/Coq/ZArith/BinInt/Zmult_succ_r.con -cic:/Coq/ZArith/BinInt/Zmult_succ_r_reverse.con -cic:/Coq/ZArith/BinInt/Zne.con -cic:/Coq/ZArith/BinInt/Zneg_plus_distr.con -cic:/Coq/ZArith/BinInt/Zneg_xI.con -cic:/Coq/ZArith/BinInt/Zneg_xO.con -cic:/Coq/ZArith/BinInt/Zopp.con -cic:/Coq/ZArith/BinInt/Zopp_eq_mult_neg_1.con -cic:/Coq/ZArith/BinInt/Zopp_inj.con -cic:/Coq/ZArith/BinInt/Zopp_involutive.con -cic:/Coq/ZArith/BinInt/Zopp_mult_distr_l.con -cic:/Coq/ZArith/BinInt/Zopp_mult_distr_l_reverse.con -cic:/Coq/ZArith/BinInt/Zopp_mult_distr_r.con -cic:/Coq/ZArith/BinInt/Zopp_neg.con -cic:/Coq/ZArith/BinInt/Zopp_plus_distr.con -cic:/Coq/ZArith/BinInt/Zplus'.con -cic:/Coq/ZArith/BinInt/Zplus.con -cic:/Coq/ZArith/BinInt/Zplus_0_l.con -cic:/Coq/ZArith/BinInt/Zplus_0_r.con -cic:/Coq/ZArith/BinInt/Zplus_0_r_reverse.con -cic:/Coq/ZArith/BinInt/Zplus_0_simpl_l.con -cic:/Coq/ZArith/BinInt/Zplus_0_simpl_l_reverse.con -cic:/Coq/ZArith/BinInt/Zplus_assoc.con -cic:/Coq/ZArith/BinInt/Zplus_assoc_reverse.con -cic:/Coq/ZArith/BinInt/Zplus_comm.con -cic:/Coq/ZArith/BinInt/Zplus_diag_eq_mult_2.con -cic:/Coq/ZArith/BinInt/Zplus_eq_compat.con -cic:/Coq/ZArith/BinInt/Zplus_minus.con -cic:/Coq/ZArith/BinInt/Zplus_minus_eq.con -cic:/Coq/ZArith/BinInt/Zplus_opp_expand.con -cic:/Coq/ZArith/BinInt/Zplus_opp_l.con -cic:/Coq/ZArith/BinInt/Zplus_opp_r.con -cic:/Coq/ZArith/BinInt/Zplus_permute.con -cic:/Coq/ZArith/BinInt/Zplus_reg_l.con -cic:/Coq/ZArith/BinInt/Zplus_succ_comm.con -cic:/Coq/ZArith/BinInt/Zplus_succ_l.con -cic:/Coq/ZArith/BinInt/Zplus_succ_r.con -cic:/Coq/ZArith/BinInt/Zpos_plus_distr.con -cic:/Coq/ZArith/BinInt/Zpos_succ_morphism.con -cic:/Coq/ZArith/BinInt/Zpos_xI.con -cic:/Coq/ZArith/BinInt/Zpos_xO.con -cic:/Coq/ZArith/BinInt/Zpred'.con -cic:/Coq/ZArith/BinInt/Zpred'_succ'.con -cic:/Coq/ZArith/BinInt/Zpred.con -cic:/Coq/ZArith/BinInt/Zpred_succ.con -cic:/Coq/ZArith/BinInt/Zsgn.con -cic:/Coq/ZArith/BinInt/Zsucc'.con -cic:/Coq/ZArith/BinInt/Zsucc'_discr.con -cic:/Coq/ZArith/BinInt/Zsucc.con -cic:/Coq/ZArith/BinInt/Zsucc_discr.con -cic:/Coq/ZArith/BinInt/Zsucc_eq_compat.con -cic:/Coq/ZArith/BinInt/Zsucc_inj.con -cic:/Coq/ZArith/BinInt/Zsucc_inj_contrapositive.con -cic:/Coq/ZArith/BinInt/Zsucc_pred.con -cic:/Coq/ZArith/BinInt/weak_Zmult_plus_distr_r.con -cic:/Coq/ZArith/BinInt/weak_assoc.con -cic:/Coq/ZArith/Wf_Z/ZL4_inf.con -cic:/Coq/ZArith/Wf_Z/Z_lt_induction.con -cic:/Coq/ZArith/Wf_Z/Z_lt_rec.con -cic:/Coq/ZArith/Wf_Z/Z_of_nat_complete.con -cic:/Coq/ZArith/Wf_Z/Z_of_nat_complete_inf.con -cic:/Coq/ZArith/Wf_Z/Z_of_nat_prop.con -cic:/Coq/ZArith/Wf_Z/Z_of_nat_set.con -cic:/Coq/ZArith/Wf_Z/natlike_ind.con -cic:/Coq/ZArith/Wf_Z/natlike_rec.con -cic:/Coq/ZArith/Wf_Z/natlike_rec2.con -cic:/Coq/ZArith/Wf_Z/natlike_rec3.con -cic:/Coq/ZArith/ZArith_dec/Dcompare_inf.con -cic:/Coq/ZArith/ZArith_dec/Z_dec'.con -cic:/Coq/ZArith/ZArith_dec/Z_dec.con -cic:/Coq/ZArith/ZArith_dec/Z_eq_dec.con -cic:/Coq/ZArith/ZArith_dec/Z_ge_dec.con -cic:/Coq/ZArith/ZArith_dec/Z_ge_lt_dec.con -cic:/Coq/ZArith/ZArith_dec/Z_gt_dec.con -cic:/Coq/ZArith/ZArith_dec/Z_gt_le_dec.con -cic:/Coq/ZArith/ZArith_dec/Z_le_dec.con -cic:/Coq/ZArith/ZArith_dec/Z_le_gt_dec.con -cic:/Coq/ZArith/ZArith_dec/Z_le_lt_eq_dec.con -cic:/Coq/ZArith/ZArith_dec/Z_lt_dec.con -cic:/Coq/ZArith/ZArith_dec/Z_lt_ge_dec.con -cic:/Coq/ZArith/ZArith_dec/Z_lt_le_dec.con -cic:/Coq/ZArith/ZArith_dec/Z_noteq_dec.con -cic:/Coq/ZArith/ZArith_dec/Z_notzerop.con -cic:/Coq/ZArith/ZArith_dec/Z_zerop.con -cic:/Coq/ZArith/ZArith_dec/Zcompare_rec.con -cic:/Coq/ZArith/ZArith_dec/Zlt_cotrans.con -cic:/Coq/ZArith/ZArith_dec/Zlt_cotrans_neg.con -cic:/Coq/ZArith/ZArith_dec/Zlt_cotrans_pos.con -cic:/Coq/ZArith/ZArith_dec/not_Zeq_inf.con -cic:/Coq/ZArith/Zabs/Zabs_Zmult.con -cic:/Coq/ZArith/Zabs/Zabs_Zopp.con -cic:/Coq/ZArith/Zabs/Zabs_Zsgn.con -cic:/Coq/ZArith/Zabs/Zabs_dec.con -cic:/Coq/ZArith/Zabs/Zabs_eq.con -cic:/Coq/ZArith/Zabs/Zabs_eq_case.con -cic:/Coq/ZArith/Zabs/Zabs_ind.con -cic:/Coq/ZArith/Zabs/Zabs_intro.con -cic:/Coq/ZArith/Zabs/Zabs_nat_lt.con -cic:/Coq/ZArith/Zabs/Zabs_non_eq.con -cic:/Coq/ZArith/Zabs/Zabs_pos.con -cic:/Coq/ZArith/Zabs/Zabs_triangle.con -cic:/Coq/ZArith/Zabs/Zsgn_Zabs.con -cic:/Coq/ZArith/Zbinary/Pdiv2.con -cic:/Coq/ZArith/Zbinary/Z_div2_value.con -cic:/Coq/ZArith/Zbinary/Z_to_binary.con -cic:/Coq/ZArith/Zbinary/Z_to_binary_Sn.con -cic:/Coq/ZArith/Zbinary/Z_to_binary_Sn_z.con -cic:/Coq/ZArith/Zbinary/Z_to_binary_to_Z.con -cic:/Coq/ZArith/Zbinary/Z_to_two_compl.con -cic:/Coq/ZArith/Zbinary/Z_to_two_compl_Sn.con -cic:/Coq/ZArith/Zbinary/Z_to_two_compl_Sn_z.con -cic:/Coq/ZArith/Zbinary/Z_to_two_compl_to_Z.con -cic:/Coq/ZArith/Zbinary/Zdiv2_two_power_nat.con -cic:/Coq/ZArith/Zbinary/Zeven_bit_value.con -cic:/Coq/ZArith/Zbinary/Zge_minus_two_power_nat_S.con -cic:/Coq/ZArith/Zbinary/Zlt_two_power_nat_S.con -cic:/Coq/ZArith/Zbinary/Zmod2.con -cic:/Coq/ZArith/Zbinary/Zmod2_twice.con -cic:/Coq/ZArith/Zbinary/Zodd_bit_value.con -cic:/Coq/ZArith/Zbinary/binary_to_Z_to_binary.con -cic:/Coq/ZArith/Zbinary/binary_value.con -cic:/Coq/ZArith/Zbinary/binary_value_Sn.con -cic:/Coq/ZArith/Zbinary/binary_value_pos.con -cic:/Coq/ZArith/Zbinary/binary_value_pos_subproof.con -cic:/Coq/ZArith/Zbinary/bit_value.con -cic:/Coq/ZArith/Zbinary/two_compl_to_Z_to_two_compl.con -cic:/Coq/ZArith/Zbinary/two_compl_value.con -cic:/Coq/ZArith/Zbinary/two_compl_value_Sn.con -cic:/Coq/ZArith/Zbool/Z_eq_bool.con -cic:/Coq/ZArith/Zbool/Z_ge_lt_bool.con -cic:/Coq/ZArith/Zbool/Z_gt_le_bool.con -cic:/Coq/ZArith/Zbool/Z_le_gt_bool.con -cic:/Coq/ZArith/Zbool/Z_lt_ge_bool.con -cic:/Coq/ZArith/Zbool/Z_noteq_bool.con -cic:/Coq/ZArith/Zbool/Zeq_bool.con -cic:/Coq/ZArith/Zbool/Zeven_odd_bool.con -cic:/Coq/ZArith/Zbool/Zge_bool.con -cic:/Coq/ZArith/Zbool/Zge_cases.con -cic:/Coq/ZArith/Zbool/Zge_is_le_bool.con -cic:/Coq/ZArith/Zbool/Zgt_bool.con -cic:/Coq/ZArith/Zbool/Zgt_cases.con -cic:/Coq/ZArith/Zbool/Zgt_is_le_bool.con -cic:/Coq/ZArith/Zbool/Zle_bool.con -cic:/Coq/ZArith/Zbool/Zle_bool_antisym.con -cic:/Coq/ZArith/Zbool/Zle_bool_imp_le.con -cic:/Coq/ZArith/Zbool/Zle_bool_plus_mono.con -cic:/Coq/ZArith/Zbool/Zle_bool_refl.con -cic:/Coq/ZArith/Zbool/Zle_bool_total.con -cic:/Coq/ZArith/Zbool/Zle_bool_trans.con -cic:/Coq/ZArith/Zbool/Zle_cases.con -cic:/Coq/ZArith/Zbool/Zle_imp_le_bool.con -cic:/Coq/ZArith/Zbool/Zle_is_le_bool.con -cic:/Coq/ZArith/Zbool/Zlt_bool.con -cic:/Coq/ZArith/Zbool/Zlt_cases.con -cic:/Coq/ZArith/Zbool/Zlt_is_le_bool.con -cic:/Coq/ZArith/Zbool/Zneq_bool.con -cic:/Coq/ZArith/Zbool/Zone_min_pos.con -cic:/Coq/ZArith/Zbool/Zone_pos.con -cic:/Coq/ZArith/Zcompare/Zcompare_Eq_eq.con -cic:/Coq/ZArith/Zcompare/Zcompare_Eq_iff_eq.con -cic:/Coq/ZArith/Zcompare/Zcompare_Gt_Lt_antisym.con -cic:/Coq/ZArith/Zcompare/Zcompare_Gt_not_Lt.con -cic:/Coq/ZArith/Zcompare/Zcompare_Gt_spec.con -cic:/Coq/ZArith/Zcompare/Zcompare_Gt_trans.con -cic:/Coq/ZArith/Zcompare/Zcompare_antisym.con -cic:/Coq/ZArith/Zcompare/Zcompare_egal_dec.con -cic:/Coq/ZArith/Zcompare/Zcompare_elim.con -cic:/Coq/ZArith/Zcompare/Zcompare_eq_case.con -cic:/Coq/ZArith/Zcompare/Zcompare_mult_compat.con -cic:/Coq/ZArith/Zcompare/Zcompare_opp.con -cic:/Coq/ZArith/Zcompare/Zcompare_plus_compat.con -cic:/Coq/ZArith/Zcompare/Zcompare_refl.con -cic:/Coq/ZArith/Zcompare/Zcompare_succ_Gt.con -cic:/Coq/ZArith/Zcompare/Zcompare_succ_compat.con -cic:/Coq/ZArith/Zcompare/Zge_compare.con -cic:/Coq/ZArith/Zcompare/Zgt_compare.con -cic:/Coq/ZArith/Zcompare/Zle_compare.con -cic:/Coq/ZArith/Zcompare/Zlt_compare.con -cic:/Coq/ZArith/Zcompare/Zmult_compare_compat_l.con -cic:/Coq/ZArith/Zcompare/Zmult_compare_compat_r.con -cic:/Coq/ZArith/Zcompare/Zplus_compare_compat.con -cic:/Coq/ZArith/Zcompare/rename.con -cic:/Coq/ZArith/Zcompare/weak_Zcompare_Zplus_compatible.con -cic:/Coq/ZArith/Zcompare/weaken_Zcompare_Zplus_compatible.con -cic:/Coq/ZArith/Zcomplements/Z_lt_abs_induction.con -cic:/Coq/ZArith/Zcomplements/Z_lt_abs_induction_subproof.con -cic:/Coq/ZArith/Zcomplements/Z_lt_abs_rec.con -cic:/Coq/ZArith/Zcomplements/Z_lt_abs_rec_subproof.con -cic:/Coq/ZArith/Zcomplements/Zcase_sign.con -cic:/Coq/ZArith/Zcomplements/Zlength.con -cic:/Coq/ZArith/Zcomplements/Zlength_aux.con -cic:/Coq/ZArith/Zcomplements/Zlength_cons.con -cic:/Coq/ZArith/Zcomplements/Zlength_correct.con -cic:/Coq/ZArith/Zcomplements/Zlength_correct_subproof.con -cic:/Coq/ZArith/Zcomplements/Zlength_nil.con -cic:/Coq/ZArith/Zcomplements/Zlength_nil_inv.con -cic:/Coq/ZArith/Zcomplements/floor.con -cic:/Coq/ZArith/Zcomplements/floor_gt0.con -cic:/Coq/ZArith/Zcomplements/floor_ok.con -cic:/Coq/ZArith/Zcomplements/floor_pos.con -cic:/Coq/ZArith/Zcomplements/sqr_pos.con -cic:/Coq/ZArith/Zcomplements/two_or_two_plus_one.con -cic:/Coq/ZArith/Zdiv/Z_div_POS_ge0.con -cic:/Coq/ZArith/Zdiv/Z_div_exact_1.con -cic:/Coq/ZArith/Zdiv/Z_div_exact_2.con -cic:/Coq/ZArith/Zdiv/Z_div_ge.con -cic:/Coq/ZArith/Zdiv/Z_div_ge0.con -cic:/Coq/ZArith/Zdiv/Z_div_ge0_subproof.con -cic:/Coq/ZArith/Zdiv/Z_div_lt.con -cic:/Coq/ZArith/Zdiv/Z_div_mod.con -cic:/Coq/ZArith/Zdiv/Z_div_mod_POS.con -cic:/Coq/ZArith/Zdiv/Z_div_mod_eq.con -cic:/Coq/ZArith/Zdiv/Z_div_mult.con -cic:/Coq/ZArith/Zdiv/Z_div_plus.con -cic:/Coq/ZArith/Zdiv/Z_div_same.con -cic:/Coq/ZArith/Zdiv/Z_mod_lt.con -cic:/Coq/ZArith/Zdiv/Z_mod_plus.con -cic:/Coq/ZArith/Zdiv/Z_mod_same.con -cic:/Coq/ZArith/Zdiv/Z_mod_zero_opp.con -cic:/Coq/ZArith/Zdiv/Z_mult_div_ge.con -cic:/Coq/ZArith/Zdiv/Zdiv.con -cic:/Coq/ZArith/Zdiv/Zdiv_eucl.con -cic:/Coq/ZArith/Zdiv/Zdiv_eucl_POS.con -cic:/Coq/ZArith/Zdiv/Zdiv_eucl_exist.con -cic:/Coq/ZArith/Zdiv/Zdiv_eucl_extended.con -cic:/Coq/ZArith/Zdiv/Zmod.con -cic:/Coq/ZArith/Zeven/Z_modulo_2.con -cic:/Coq/ZArith/Zeven/Zdiv2.con -cic:/Coq/ZArith/Zeven/Zeven.con -cic:/Coq/ZArith/Zeven/Zeven_Sn.con -cic:/Coq/ZArith/Zeven/Zeven_bool.con -cic:/Coq/ZArith/Zeven/Zeven_dec.con -cic:/Coq/ZArith/Zeven/Zeven_div2.con -cic:/Coq/ZArith/Zeven/Zeven_not_Zodd.con -cic:/Coq/ZArith/Zeven/Zeven_odd_dec.con -cic:/Coq/ZArith/Zeven/Zeven_pred.con -cic:/Coq/ZArith/Zeven/Zodd.con -cic:/Coq/ZArith/Zeven/Zodd_Sn.con -cic:/Coq/ZArith/Zeven/Zodd_bool.con -cic:/Coq/ZArith/Zeven/Zodd_dec.con -cic:/Coq/ZArith/Zeven/Zodd_div2.con -cic:/Coq/ZArith/Zeven/Zodd_div2_neg.con -cic:/Coq/ZArith/Zeven/Zodd_not_Zeven.con -cic:/Coq/ZArith/Zeven/Zodd_pred.con -cic:/Coq/ZArith/Zeven/Zsplit2.con -cic:/Coq/ZArith/Zlogarithm/Is_power.con -cic:/Coq/ZArith/Zlogarithm/Is_power_correct.con -cic:/Coq/ZArith/Zlogarithm/Is_power_or.con -cic:/Coq/ZArith/Zlogarithm/N_digits.con -cic:/Coq/ZArith/Zlogarithm/ZERO_le_N_digits.con -cic:/Coq/ZArith/Zlogarithm/log_inf.con -cic:/Coq/ZArith/Zlogarithm/log_inf_correct.con -cic:/Coq/ZArith/Zlogarithm/log_inf_correct1.con -cic:/Coq/ZArith/Zlogarithm/log_inf_correct2.con -cic:/Coq/ZArith/Zlogarithm/log_inf_le_log_sup.con -cic:/Coq/ZArith/Zlogarithm/log_inf_shift_nat.con -cic:/Coq/ZArith/Zlogarithm/log_near.con -cic:/Coq/ZArith/Zlogarithm/log_near_correct1.con -cic:/Coq/ZArith/Zlogarithm/log_near_correct2.con -cic:/Coq/ZArith/Zlogarithm/log_near_correct2_subproof.con -cic:/Coq/ZArith/Zlogarithm/log_sup.con -cic:/Coq/ZArith/Zlogarithm/log_sup_correct1.con -cic:/Coq/ZArith/Zlogarithm/log_sup_correct2.con -cic:/Coq/ZArith/Zlogarithm/log_sup_le_Slog_inf.con -cic:/Coq/ZArith/Zlogarithm/log_sup_log_inf.con -cic:/Coq/ZArith/Zlogarithm/log_sup_shift_nat.con -cic:/Coq/ZArith/Zmin/Zle_min_l.con -cic:/Coq/ZArith/Zmin/Zle_min_r.con -cic:/Coq/ZArith/Zmin/Zmax.con -cic:/Coq/ZArith/Zmin/Zmax1.con -cic:/Coq/ZArith/Zmin/Zmax2.con -cic:/Coq/ZArith/Zmin/Zmin.con -cic:/Coq/ZArith/Zmin/Zmin_SS.con -cic:/Coq/ZArith/Zmin/Zmin_case.con -cic:/Coq/ZArith/Zmin/Zmin_n_n.con -cic:/Coq/ZArith/Zmin/Zmin_or.con -cic:/Coq/ZArith/Zmin/Zmin_plus.con -cic:/Coq/ZArith/Zmisc/iter.con -cic:/Coq/ZArith/Zmisc/iter_nat.con -cic:/Coq/ZArith/Zmisc/iter_nat_invariant.con -cic:/Coq/ZArith/Zmisc/iter_nat_of_P.con -cic:/Coq/ZArith/Zmisc/iter_nat_plus.con -cic:/Coq/ZArith/Zmisc/iter_pos.con -cic:/Coq/ZArith/Zmisc/iter_pos_invariant.con -cic:/Coq/ZArith/Zmisc/iter_pos_plus.con -cic:/Coq/ZArith/Znat/Zpos_eq_Z_of_nat_o_nat_of_P.con -cic:/Coq/ZArith/Znat/inj_S.con -cic:/Coq/ZArith/Znat/inj_eq.con -cic:/Coq/ZArith/Znat/inj_ge.con -cic:/Coq/ZArith/Znat/inj_gt.con -cic:/Coq/ZArith/Znat/inj_le.con -cic:/Coq/ZArith/Znat/inj_lt.con -cic:/Coq/ZArith/Znat/inj_minus1.con -cic:/Coq/ZArith/Znat/inj_minus2.con -cic:/Coq/ZArith/Znat/inj_mult.con -cic:/Coq/ZArith/Znat/inj_neq.con -cic:/Coq/ZArith/Znat/inj_plus.con -cic:/Coq/ZArith/Znat/intro_Z.con -cic:/Coq/ZArith/Znat/neq.con -cic:/Coq/ZArith/Znumtheory/Bezout_ind.con -cic:/Coq/ZArith/Znumtheory/Euclid_ind.con -cic:/Coq/ZArith/Znumtheory/Euclid_rec.con -cic:/Coq/ZArith/Znumtheory/Euclid_rect.con -cic:/Coq/ZArith/Znumtheory/Gauss.con -cic:/Coq/ZArith/Znumtheory/Zdivide_0.con -cic:/Coq/ZArith/Znumtheory/Zdivide_1.con -cic:/Coq/ZArith/Znumtheory/Zdivide_1_subproof.con -cic:/Coq/ZArith/Znumtheory/Zdivide_1_subproof0.con -cic:/Coq/ZArith/Znumtheory/Zdivide_1_subproof1.con -cic:/Coq/ZArith/Znumtheory/Zdivide_antisym.con -cic:/Coq/ZArith/Znumtheory/Zdivide_bounds.con -cic:/Coq/ZArith/Znumtheory/Zdivide_bounds_subproof.con -cic:/Coq/ZArith/Znumtheory/Zdivide_bounds_subproof0.con -cic:/Coq/ZArith/Znumtheory/Zdivide_bounds_subproof1.con -cic:/Coq/ZArith/Znumtheory/Zdivide_bounds_subproof2.con -cic:/Coq/ZArith/Znumtheory/Zdivide_dec.con -cic:/Coq/ZArith/Znumtheory/Zdivide_dec_subproof.con -cic:/Coq/ZArith/Znumtheory/Zdivide_dec_subproof0.con -cic:/Coq/ZArith/Znumtheory/Zdivide_factor_l.con -cic:/Coq/ZArith/Znumtheory/Zdivide_factor_r.con -cic:/Coq/ZArith/Znumtheory/Zdivide_ind.con -cic:/Coq/ZArith/Znumtheory/Zdivide_minus_l.con -cic:/Coq/ZArith/Znumtheory/Zdivide_mod.con -cic:/Coq/ZArith/Znumtheory/Zdivide_mult_l.con -cic:/Coq/ZArith/Znumtheory/Zdivide_mult_r.con -cic:/Coq/ZArith/Znumtheory/Zdivide_opp_l.con -cic:/Coq/ZArith/Znumtheory/Zdivide_opp_l_rev.con -cic:/Coq/ZArith/Znumtheory/Zdivide_opp_r.con -cic:/Coq/ZArith/Znumtheory/Zdivide_opp_r_rev.con -cic:/Coq/ZArith/Znumtheory/Zdivide_plus_r.con -cic:/Coq/ZArith/Znumtheory/Zdivide_refl.con -cic:/Coq/ZArith/Znumtheory/Zgcd.con -cic:/Coq/ZArith/Znumtheory/Zgcd_is_gcd.con -cic:/Coq/ZArith/Znumtheory/Zgcd_is_pos.con -cic:/Coq/ZArith/Znumtheory/Zgcd_pos.con -cic:/Coq/ZArith/Znumtheory/Zgcd_pos_subproof.con -cic:/Coq/ZArith/Znumtheory/Zgcd_pos_subproof0.con -cic:/Coq/ZArith/Znumtheory/Zgcd_spec.con -cic:/Coq/ZArith/Znumtheory/Zis_gcd_0.con -cic:/Coq/ZArith/Znumtheory/Zis_gcd_bezout.con -cic:/Coq/ZArith/Znumtheory/Zis_gcd_for_euclid.con -cic:/Coq/ZArith/Znumtheory/Zis_gcd_for_euclid2.con -cic:/Coq/ZArith/Znumtheory/Zis_gcd_ind.con -cic:/Coq/ZArith/Znumtheory/Zis_gcd_minus.con -cic:/Coq/ZArith/Znumtheory/Zis_gcd_mult.con -cic:/Coq/ZArith/Znumtheory/Zis_gcd_opp.con -cic:/Coq/ZArith/Znumtheory/Zis_gcd_rec.con -cic:/Coq/ZArith/Znumtheory/Zis_gcd_rect.con -cic:/Coq/ZArith/Znumtheory/Zis_gcd_rel_prime.con -cic:/Coq/ZArith/Znumtheory/Zis_gcd_rel_prime_subproof.con -cic:/Coq/ZArith/Znumtheory/Zis_gcd_rel_prime_subproof0.con -cic:/Coq/ZArith/Znumtheory/Zis_gcd_rel_prime_subproof1.con -cic:/Coq/ZArith/Znumtheory/Zis_gcd_sym.con -cic:/Coq/ZArith/Znumtheory/Zis_gcd_uniqueness_apart_sign.con -cic:/Coq/ZArith/Znumtheory/Zmod_divide.con -cic:/Coq/ZArith/Znumtheory/Zmult_divide_compat_l.con -cic:/Coq/ZArith/Znumtheory/Zmult_divide_compat_r.con -cic:/Coq/ZArith/Znumtheory/Zmult_one.con -cic:/Coq/ZArith/Znumtheory/Zone_divide.con -cic:/Coq/ZArith/Znumtheory/bezout_rel_prime.con -cic:/Coq/ZArith/Znumtheory/euclid.con -cic:/Coq/ZArith/Znumtheory/euclid_rec.con -cic:/Coq/ZArith/Znumtheory/euclid_subproof.con -cic:/Coq/ZArith/Znumtheory/euclid_subproof0.con -cic:/Coq/ZArith/Znumtheory/euclid_subproof1.con -cic:/Coq/ZArith/Znumtheory/euclid_subproof2.con -cic:/Coq/ZArith/Znumtheory/prime_divisors.con -cic:/Coq/ZArith/Znumtheory/prime_divisors_subproof.con -cic:/Coq/ZArith/Znumtheory/prime_divisors_subproof0.con -cic:/Coq/ZArith/Znumtheory/prime_divisors_subproof1.con -cic:/Coq/ZArith/Znumtheory/prime_divisors_subproof2.con -cic:/Coq/ZArith/Znumtheory/prime_divisors_subproof3.con -cic:/Coq/ZArith/Znumtheory/prime_divisors_subproof4.con -cic:/Coq/ZArith/Znumtheory/prime_divisors_subproof5.con -cic:/Coq/ZArith/Znumtheory/prime_ind.con -cic:/Coq/ZArith/Znumtheory/prime_mult.con -cic:/Coq/ZArith/Znumtheory/prime_rec.con -cic:/Coq/ZArith/Znumtheory/prime_rect.con -cic:/Coq/ZArith/Znumtheory/prime_rel_prime.con -cic:/Coq/ZArith/Znumtheory/rel_prime.con -cic:/Coq/ZArith/Znumtheory/rel_prime_bezout.con -cic:/Coq/ZArith/Znumtheory/rel_prime_cross_prod.con -cic:/Coq/ZArith/Znumtheory/rel_prime_cross_prod_subproof.con -cic:/Coq/ZArith/Znumtheory/rel_prime_mult.con -cic:/Coq/ZArith/Zorder/Zeq_le.con -cic:/Coq/ZArith/Zorder/Zeq_plus_swap.con -cic:/Coq/ZArith/Zorder/Zge_iff_le.con -cic:/Coq/ZArith/Zorder/Zge_le.con -cic:/Coq/ZArith/Zorder/Zge_trans.con -cic:/Coq/ZArith/Zorder/Zge_trans_succ.con -cic:/Coq/ZArith/Zorder/Zgt_0_le_0_pred.con -cic:/Coq/ZArith/Zorder/Zgt_asym.con -cic:/Coq/ZArith/Zorder/Zgt_iff_lt.con -cic:/Coq/ZArith/Zorder/Zgt_irrefl.con -cic:/Coq/ZArith/Zorder/Zgt_le_succ.con -cic:/Coq/ZArith/Zorder/Zgt_le_trans.con -cic:/Coq/ZArith/Zorder/Zgt_lt.con -cic:/Coq/ZArith/Zorder/Zgt_not_le.con -cic:/Coq/ZArith/Zorder/Zgt_pos_0.con -cic:/Coq/ZArith/Zorder/Zgt_square_simpl.con -cic:/Coq/ZArith/Zorder/Zgt_succ.con -cic:/Coq/ZArith/Zorder/Zgt_succ_gt_or_eq.con -cic:/Coq/ZArith/Zorder/Zgt_succ_le.con -cic:/Coq/ZArith/Zorder/Zgt_succ_pred.con -cic:/Coq/ZArith/Zorder/Zgt_trans.con -cic:/Coq/ZArith/Zorder/Zle_0_1.con -cic:/Coq/ZArith/Zorder/Zle_0_nat.con -cic:/Coq/ZArith/Zorder/Zle_0_pos.con -cic:/Coq/ZArith/Zorder/Zle_antisym.con -cic:/Coq/ZArith/Zorder/Zle_ge.con -cic:/Coq/ZArith/Zorder/Zle_gt_trans.con -cic:/Coq/ZArith/Zorder/Zle_le_succ.con -cic:/Coq/ZArith/Zorder/Zle_lt_or_eq.con -cic:/Coq/ZArith/Zorder/Zle_lt_succ.con -cic:/Coq/ZArith/Zorder/Zle_lt_trans.con -cic:/Coq/ZArith/Zorder/Zle_neg_pos.con -cic:/Coq/ZArith/Zorder/Zle_not_gt.con -cic:/Coq/ZArith/Zorder/Zle_not_lt.con -cic:/Coq/ZArith/Zorder/Zle_or_lt.con -cic:/Coq/ZArith/Zorder/Zle_plus_swap.con -cic:/Coq/ZArith/Zorder/Zle_pred.con -cic:/Coq/ZArith/Zorder/Zle_refl.con -cic:/Coq/ZArith/Zorder/Zle_succ.con -cic:/Coq/ZArith/Zorder/Zle_succ_le.con -cic:/Coq/ZArith/Zorder/Zle_trans.con -cic:/Coq/ZArith/Zorder/Zlt_0_1.con -cic:/Coq/ZArith/Zorder/Zlt_0_le_0_pred.con -cic:/Coq/ZArith/Zorder/Zlt_O_minus_lt.con -cic:/Coq/ZArith/Zorder/Zlt_asym.con -cic:/Coq/ZArith/Zorder/Zlt_gt.con -cic:/Coq/ZArith/Zorder/Zlt_gt_succ.con -cic:/Coq/ZArith/Zorder/Zlt_irrefl.con -cic:/Coq/ZArith/Zorder/Zlt_le_succ.con -cic:/Coq/ZArith/Zorder/Zlt_le_trans.con -cic:/Coq/ZArith/Zorder/Zlt_le_weak.con -cic:/Coq/ZArith/Zorder/Zlt_lt_succ.con -cic:/Coq/ZArith/Zorder/Zlt_minus_simpl_swap.con -cic:/Coq/ZArith/Zorder/Zlt_neg_0.con -cic:/Coq/ZArith/Zorder/Zlt_not_eq.con -cic:/Coq/ZArith/Zorder/Zlt_not_le.con -cic:/Coq/ZArith/Zorder/Zlt_plus_swap.con -cic:/Coq/ZArith/Zorder/Zlt_pred.con -cic:/Coq/ZArith/Zorder/Zlt_square_simpl.con -cic:/Coq/ZArith/Zorder/Zlt_succ.con -cic:/Coq/ZArith/Zorder/Zlt_succ_gt.con -cic:/Coq/ZArith/Zorder/Zlt_succ_le.con -cic:/Coq/ZArith/Zorder/Zlt_succ_pred.con -cic:/Coq/ZArith/Zorder/Zlt_trans.con -cic:/Coq/ZArith/Zorder/Zmult_ge_compat.con -cic:/Coq/ZArith/Zorder/Zmult_ge_compat_l.con -cic:/Coq/ZArith/Zorder/Zmult_ge_compat_r.con -cic:/Coq/ZArith/Zorder/Zmult_ge_reg_r.con -cic:/Coq/ZArith/Zorder/Zmult_gt_0_compat.con -cic:/Coq/ZArith/Zorder/Zmult_gt_0_le_0_compat.con -cic:/Coq/ZArith/Zorder/Zmult_gt_0_le_compat_r.con -cic:/Coq/ZArith/Zorder/Zmult_gt_0_lt_0_reg_r.con -cic:/Coq/ZArith/Zorder/Zmult_gt_0_lt_compat_l.con -cic:/Coq/ZArith/Zorder/Zmult_gt_0_lt_compat_r.con -cic:/Coq/ZArith/Zorder/Zmult_gt_0_lt_reg_r.con -cic:/Coq/ZArith/Zorder/Zmult_gt_0_reg_l.con -cic:/Coq/ZArith/Zorder/Zmult_gt_compat_l.con -cic:/Coq/ZArith/Zorder/Zmult_gt_compat_r.con -cic:/Coq/ZArith/Zorder/Zmult_gt_reg_r.con -cic:/Coq/ZArith/Zorder/Zmult_le_0_compat.con -cic:/Coq/ZArith/Zorder/Zmult_le_0_reg_r.con -cic:/Coq/ZArith/Zorder/Zmult_le_compat.con -cic:/Coq/ZArith/Zorder/Zmult_le_compat_l.con -cic:/Coq/ZArith/Zorder/Zmult_le_compat_r.con -cic:/Coq/ZArith/Zorder/Zmult_le_reg_r.con -cic:/Coq/ZArith/Zorder/Zmult_lt_0_le_compat_r.con -cic:/Coq/ZArith/Zorder/Zmult_lt_0_le_reg_r.con -cic:/Coq/ZArith/Zorder/Zmult_lt_0_reg_r.con -cic:/Coq/ZArith/Zorder/Zmult_lt_O_compat.con -cic:/Coq/ZArith/Zorder/Zmult_lt_compat_l.con -cic:/Coq/ZArith/Zorder/Zmult_lt_compat_r.con -cic:/Coq/ZArith/Zorder/Zmult_lt_reg_r.con -cic:/Coq/ZArith/Zorder/Znot_ge_lt.con -cic:/Coq/ZArith/Zorder/Znot_gt_le.con -cic:/Coq/ZArith/Zorder/Znot_le_gt.con -cic:/Coq/ZArith/Zorder/Znot_le_succ.con -cic:/Coq/ZArith/Zorder/Znot_lt_ge.con -cic:/Coq/ZArith/Zorder/Zplus_gt_compat_l.con -cic:/Coq/ZArith/Zorder/Zplus_gt_compat_r.con -cic:/Coq/ZArith/Zorder/Zplus_gt_reg_l.con -cic:/Coq/ZArith/Zorder/Zplus_gt_reg_r.con -cic:/Coq/ZArith/Zorder/Zplus_le_0_compat.con -cic:/Coq/ZArith/Zorder/Zplus_le_compat.con -cic:/Coq/ZArith/Zorder/Zplus_le_compat_l.con -cic:/Coq/ZArith/Zorder/Zplus_le_compat_r.con -cic:/Coq/ZArith/Zorder/Zplus_le_lt_compat.con -cic:/Coq/ZArith/Zorder/Zplus_le_reg_l.con -cic:/Coq/ZArith/Zorder/Zplus_le_reg_r.con -cic:/Coq/ZArith/Zorder/Zplus_lt_compat.con -cic:/Coq/ZArith/Zorder/Zplus_lt_compat_l.con -cic:/Coq/ZArith/Zorder/Zplus_lt_compat_r.con -cic:/Coq/ZArith/Zorder/Zplus_lt_le_compat.con -cic:/Coq/ZArith/Zorder/Zplus_lt_reg_l.con -cic:/Coq/ZArith/Zorder/Zplus_lt_reg_r.con -cic:/Coq/ZArith/Zorder/Zsucc_gt_compat.con -cic:/Coq/ZArith/Zorder/Zsucc_gt_reg.con -cic:/Coq/ZArith/Zorder/Zsucc_le_compat.con -cic:/Coq/ZArith/Zorder/Zsucc_le_reg.con -cic:/Coq/ZArith/Zorder/Zsucc_lt_compat.con -cic:/Coq/ZArith/Zorder/Zsucc_lt_reg.con -cic:/Coq/ZArith/Zorder/Ztrichotomy.con -cic:/Coq/ZArith/Zorder/Ztrichotomy_inf.con -cic:/Coq/ZArith/Zorder/dec_Zge.con -cic:/Coq/ZArith/Zorder/dec_Zgt.con -cic:/Coq/ZArith/Zorder/dec_Zle.con -cic:/Coq/ZArith/Zorder/dec_Zlt.con -cic:/Coq/ZArith/Zorder/dec_Zne.con -cic:/Coq/ZArith/Zorder/dec_eq.con -cic:/Coq/ZArith/Zorder/not_Zeq.con -cic:/Coq/ZArith/Zpower/Zdiv_rest.con -cic:/Coq/ZArith/Zpower/Zdiv_rest_aux.con -cic:/Coq/ZArith/Zpower/Zdiv_rest_correct.con -cic:/Coq/ZArith/Zpower/Zdiv_rest_correct1.con -cic:/Coq/ZArith/Zpower/Zdiv_rest_correct2.con -cic:/Coq/ZArith/Zpower/Zdiv_rest_proofs_ind.con -cic:/Coq/ZArith/Zpower/Zdiv_rest_proofs_rec.con -cic:/Coq/ZArith/Zpower/Zdiv_rest_proofs_rect.con -cic:/Coq/ZArith/Zpower/Zlt_lt_double.con -cic:/Coq/ZArith/Zpower/Zpower.con -cic:/Coq/ZArith/Zpower/Zpower_exp.con -cic:/Coq/ZArith/Zpower/Zpower_nat.con -cic:/Coq/ZArith/Zpower/Zpower_nat_is_exp.con -cic:/Coq/ZArith/Zpower/Zpower_pos.con -cic:/Coq/ZArith/Zpower/Zpower_pos_is_exp.con -cic:/Coq/ZArith/Zpower/Zpower_pos_nat.con -cic:/Coq/ZArith/Zpower/shift.con -cic:/Coq/ZArith/Zpower/shift_nat.con -cic:/Coq/ZArith/Zpower/shift_nat_correct.con -cic:/Coq/ZArith/Zpower/shift_nat_plus.con -cic:/Coq/ZArith/Zpower/shift_pos.con -cic:/Coq/ZArith/Zpower/shift_pos_correct.con -cic:/Coq/ZArith/Zpower/shift_pos_nat.con -cic:/Coq/ZArith/Zpower/two_p.con -cic:/Coq/ZArith/Zpower/two_p_S.con -cic:/Coq/ZArith/Zpower/two_p_gt_ZERO.con -cic:/Coq/ZArith/Zpower/two_p_is_exp.con -cic:/Coq/ZArith/Zpower/two_p_pred.con -cic:/Coq/ZArith/Zpower/two_power_nat.con -cic:/Coq/ZArith/Zpower/two_power_nat_S.con -cic:/Coq/ZArith/Zpower/two_power_nat_correct.con -cic:/Coq/ZArith/Zpower/two_power_pos.con -cic:/Coq/ZArith/Zpower/two_power_pos_correct.con -cic:/Coq/ZArith/Zpower/two_power_pos_is_exp.con -cic:/Coq/ZArith/Zpower/two_power_pos_nat.con -cic:/Coq/ZArith/Zsqrt/Zsqrt.con -cic:/Coq/ZArith/Zsqrt/Zsqrt_interval.con -cic:/Coq/ZArith/Zsqrt/Zsqrt_plain.con -cic:/Coq/ZArith/Zsqrt/sqrt_data_ind.con -cic:/Coq/ZArith/Zsqrt/sqrt_data_rec.con -cic:/Coq/ZArith/Zsqrt/sqrt_data_rect.con -cic:/Coq/ZArith/Zsqrt/sqrtrempos.con -cic:/Coq/ZArith/Zwf/Zwf.con -cic:/Coq/ZArith/Zwf/Zwf_up.con -cic:/Coq/ZArith/Zwf/Zwf_up_well_founded.con -cic:/Coq/ZArith/Zwf/Zwf_well_founded.con -cic:/Coq/ZArith/auxiliary/Zegal_left.con -cic:/Coq/ZArith/auxiliary/Zge_left.con -cic:/Coq/ZArith/auxiliary/Zgt_left.con -cic:/Coq/ZArith/auxiliary/Zgt_left_gt.con -cic:/Coq/ZArith/auxiliary/Zgt_left_rev.con -cic:/Coq/ZArith/auxiliary/Zle_left.con -cic:/Coq/ZArith/auxiliary/Zle_left_rev.con -cic:/Coq/ZArith/auxiliary/Zle_mult_approx.con -cic:/Coq/ZArith/auxiliary/Zlt_left.con -cic:/Coq/ZArith/auxiliary/Zlt_left_lt.con -cic:/Coq/ZArith/auxiliary/Zlt_left_rev.con -cic:/Coq/ZArith/auxiliary/Zmult_le_approx.con -cic:/Coq/ZArith/auxiliary/Zne_left.con -cic:/Coq/ZArith/auxiliary/Zred_factor0.con -cic:/Coq/ZArith/auxiliary/Zred_factor1.con -cic:/Coq/ZArith/auxiliary/Zred_factor2.con -cic:/Coq/ZArith/auxiliary/Zred_factor3.con -cic:/Coq/ZArith/auxiliary/Zred_factor4.con -cic:/Coq/ZArith/auxiliary/Zred_factor5.con -cic:/Coq/ZArith/auxiliary/Zred_factor6.con -cic:/Coq/field/Field_Compl/appT.con -cic:/Coq/field/Field_Compl/assoc_2nd.con -cic:/Coq/field/Field_Compl/field_rel_option_ind.con -cic:/Coq/field/Field_Compl/field_rel_option_rec.con -cic:/Coq/field/Field_Compl/field_rel_option_rect.con -cic:/Coq/field/Field_Compl/fstT.con -cic:/Coq/field/Field_Compl/listT_ind.con -cic:/Coq/field/Field_Compl/listT_rec.con -cic:/Coq/field/Field_Compl/listT_rect.con -cic:/Coq/field/Field_Compl/mem.con -cic:/Coq/field/Field_Compl/prodT_ind.con -cic:/Coq/field/Field_Compl/prodT_rec.con -cic:/Coq/field/Field_Compl/prodT_rect.con -cic:/Coq/field/Field_Compl/sndT.con -cic:/Coq/field/Field_Theory/A.con -cic:/Coq/field/Field_Theory/Adiv.con -cic:/Coq/field/Field_Theory/Aeq.con -cic:/Coq/field/Field_Theory/Ainv.con -cic:/Coq/field/Field_Theory/AinvT_r.con -cic:/Coq/field/Field_Theory/Aminus.con -cic:/Coq/field/Field_Theory/Amult.con -cic:/Coq/field/Field_Theory/AmultT_1l.con -cic:/Coq/field/Field_Theory/AmultT_1r.con -cic:/Coq/field/Field_Theory/AmultT_AplusT_distr.con -cic:/Coq/field/Field_Theory/AmultT_Ol.con -cic:/Coq/field/Field_Theory/AmultT_Or.con -cic:/Coq/field/Field_Theory/AmultT_assoc.con -cic:/Coq/field/Field_Theory/AmultT_sym.con -cic:/Coq/field/Field_Theory/Aone.con -cic:/Coq/field/Field_Theory/Aopp.con -cic:/Coq/field/Field_Theory/Aplus.con -cic:/Coq/field/Field_Theory/AplusT_AoppT_r.con -cic:/Coq/field/Field_Theory/AplusT_Ol.con -cic:/Coq/field/Field_Theory/AplusT_assoc.con -cic:/Coq/field/Field_Theory/AplusT_sym.con -cic:/Coq/field/Field_Theory/Azero.con -cic:/Coq/field/Field_Theory/ExprA_ind.con -cic:/Coq/field/Field_Theory/ExprA_rec.con -cic:/Coq/field/Field_Theory/ExprA_rect.con -cic:/Coq/field/Field_Theory/Field_Theory_ind.con -cic:/Coq/field/Field_Theory/Field_Theory_rec.con -cic:/Coq/field/Field_Theory/Field_Theory_rect.con -cic:/Coq/field/Field_Theory/RT.con -cic:/Coq/field/Field_Theory/Rmult_neq_0_reg.con -cic:/Coq/field/Field_Theory/Th_inv_def.con -cic:/Coq/field/Field_Theory/assoc.con -cic:/Coq/field/Field_Theory/assoc_correct.con -cic:/Coq/field/Field_Theory/assoc_mult.con -cic:/Coq/field/Field_Theory/assoc_mult_correct.con -cic:/Coq/field/Field_Theory/assoc_mult_correct1.con -cic:/Coq/field/Field_Theory/assoc_plus_correct.con -cic:/Coq/field/Field_Theory/distrib.con -cic:/Coq/field/Field_Theory/distrib_EAopp.con -cic:/Coq/field/Field_Theory/distrib_correct.con -cic:/Coq/field/Field_Theory/distrib_main.con -cic:/Coq/field/Field_Theory/distrib_mult_left.con -cic:/Coq/field/Field_Theory/distrib_mult_left_correct.con -cic:/Coq/field/Field_Theory/distrib_mult_right.con -cic:/Coq/field/Field_Theory/distrib_mult_right_correct.con -cic:/Coq/field/Field_Theory/eqExprA.con -cic:/Coq/field/Field_Theory/eqExprA_O.con -cic:/Coq/field/Field_Theory/eq_nat_dec.con -cic:/Coq/field/Field_Theory/interp_ExprA.con -cic:/Coq/field/Field_Theory/inverse_correct.con -cic:/Coq/field/Field_Theory/inverse_simplif.con -cic:/Coq/field/Field_Theory/merge_mult.con -cic:/Coq/field/Field_Theory/merge_mult_correct.con -cic:/Coq/field/Field_Theory/merge_mult_correct1.con -cic:/Coq/field/Field_Theory/merge_plus.con -cic:/Coq/field/Field_Theory/merge_plus_correct.con -cic:/Coq/field/Field_Theory/merge_plus_correct1.con -cic:/Coq/field/Field_Theory/monom_remove.con -cic:/Coq/field/Field_Theory/monom_remove_correct.con -cic:/Coq/field/Field_Theory/monom_simplif.con -cic:/Coq/field/Field_Theory/monom_simplif_correct.con -cic:/Coq/field/Field_Theory/monom_simplif_rem.con -cic:/Coq/field/Field_Theory/monom_simplif_rem_correct.con -cic:/Coq/field/Field_Theory/mult_eq.con -cic:/Coq/field/Field_Theory/mult_of_list.con -cic:/Coq/field/Field_Theory/multiply.con -cic:/Coq/field/Field_Theory/multiply_aux.con -cic:/Coq/field/Field_Theory/multiply_aux_correct.con -cic:/Coq/field/Field_Theory/multiply_correct.con -cic:/Coq/field/Field_Theory/r_AmultT_mult.con -cic:/Coq/field/Field_Theory/r_AplusT_plus.con -cic:/Coq/fourier/Fourier_util/Rfourier_eqLR_to_le.con -cic:/Coq/fourier/Fourier_util/Rfourier_eqRL_to_le.con -cic:/Coq/fourier/Fourier_util/Rfourier_ge_to_le.con -cic:/Coq/fourier/Fourier_util/Rfourier_gt_to_lt.con -cic:/Coq/fourier/Fourier_util/Rfourier_le.con -cic:/Coq/fourier/Fourier_util/Rfourier_le_le.con -cic:/Coq/fourier/Fourier_util/Rfourier_le_lt.con -cic:/Coq/fourier/Fourier_util/Rfourier_lt.con -cic:/Coq/fourier/Fourier_util/Rfourier_lt_le.con -cic:/Coq/fourier/Fourier_util/Rfourier_lt_lt.con -cic:/Coq/fourier/Fourier_util/Rfourier_not_ge_lt.con -cic:/Coq/fourier/Fourier_util/Rfourier_not_gt_le.con -cic:/Coq/fourier/Fourier_util/Rfourier_not_le_gt.con -cic:/Coq/fourier/Fourier_util/Rfourier_not_lt_ge.con -cic:/Coq/fourier/Fourier_util/Rle_mult_inv_pos.con -cic:/Coq/fourier/Fourier_util/Rle_not_lt.con -cic:/Coq/fourier/Fourier_util/Rle_zero_1.con -cic:/Coq/fourier/Fourier_util/Rle_zero_pos_plus1.con -cic:/Coq/fourier/Fourier_util/Rlt_mult_inv_pos.con -cic:/Coq/fourier/Fourier_util/Rlt_not_le.con -cic:/Coq/fourier/Fourier_util/Rlt_zero_1.con -cic:/Coq/fourier/Fourier_util/Rlt_zero_pos_plus1.con -cic:/Coq/fourier/Fourier_util/Rnot_le_le.con -cic:/Coq/fourier/Fourier_util/Rnot_lt0.con -cic:/Coq/fourier/Fourier_util/Rnot_lt_lt.con -cic:/Coq/omega/OmegaLemmas/OMEGA1.con -cic:/Coq/omega/OmegaLemmas/OMEGA10.con -cic:/Coq/omega/OmegaLemmas/OMEGA11.con -cic:/Coq/omega/OmegaLemmas/OMEGA12.con -cic:/Coq/omega/OmegaLemmas/OMEGA13.con -cic:/Coq/omega/OmegaLemmas/OMEGA14.con -cic:/Coq/omega/OmegaLemmas/OMEGA15.con -cic:/Coq/omega/OmegaLemmas/OMEGA16.con -cic:/Coq/omega/OmegaLemmas/OMEGA17.con -cic:/Coq/omega/OmegaLemmas/OMEGA18.con -cic:/Coq/omega/OmegaLemmas/OMEGA19.con -cic:/Coq/omega/OmegaLemmas/OMEGA2.con -cic:/Coq/omega/OmegaLemmas/OMEGA20.con -cic:/Coq/omega/OmegaLemmas/OMEGA3.con -cic:/Coq/omega/OmegaLemmas/OMEGA4.con -cic:/Coq/omega/OmegaLemmas/OMEGA5.con -cic:/Coq/omega/OmegaLemmas/OMEGA6.con -cic:/Coq/omega/OmegaLemmas/OMEGA7.con -cic:/Coq/omega/OmegaLemmas/OMEGA8.con -cic:/Coq/omega/OmegaLemmas/OMEGA9.con -cic:/Coq/omega/OmegaLemmas/fast_OMEGA10.con -cic:/Coq/omega/OmegaLemmas/fast_OMEGA11.con -cic:/Coq/omega/OmegaLemmas/fast_OMEGA12.con -cic:/Coq/omega/OmegaLemmas/fast_OMEGA13.con -cic:/Coq/omega/OmegaLemmas/fast_OMEGA14.con -cic:/Coq/omega/OmegaLemmas/fast_OMEGA15.con -cic:/Coq/omega/OmegaLemmas/fast_OMEGA16.con -cic:/Coq/omega/OmegaLemmas/fast_Zmult_Zopp_left.con -cic:/Coq/omega/OmegaLemmas/fast_Zmult_assoc_r.con -cic:/Coq/omega/OmegaLemmas/fast_Zmult_plus_distr.con -cic:/Coq/omega/OmegaLemmas/fast_Zmult_sym.con -cic:/Coq/omega/OmegaLemmas/fast_Zopp_Zmult_r.con -cic:/Coq/omega/OmegaLemmas/fast_Zopp_Zopp.con -cic:/Coq/omega/OmegaLemmas/fast_Zopp_Zplus.con -cic:/Coq/omega/OmegaLemmas/fast_Zopp_one.con -cic:/Coq/omega/OmegaLemmas/fast_Zplus_assoc_l.con -cic:/Coq/omega/OmegaLemmas/fast_Zplus_assoc_r.con -cic:/Coq/omega/OmegaLemmas/fast_Zplus_permute.con -cic:/Coq/omega/OmegaLemmas/fast_Zplus_sym.con -cic:/Coq/omega/OmegaLemmas/fast_Zred_factor0.con -cic:/Coq/omega/OmegaLemmas/fast_Zred_factor1.con -cic:/Coq/omega/OmegaLemmas/fast_Zred_factor2.con -cic:/Coq/omega/OmegaLemmas/fast_Zred_factor3.con -cic:/Coq/omega/OmegaLemmas/fast_Zred_factor4.con -cic:/Coq/omega/OmegaLemmas/fast_Zred_factor5.con -cic:/Coq/omega/OmegaLemmas/fast_Zred_factor6.con -cic:/Coq/omega/OmegaLemmas/new_var.con -cic:/Coq/ring/ArithRing/NatTheory.con -cic:/Coq/ring/ArithRing/S_to_plus_one.con -cic:/Coq/ring/ArithRing/nateq.con -cic:/Coq/ring/ArithRing/nateq_prop.con -cic:/Coq/ring/NArithRing/NTheory.con -cic:/Coq/ring/NArithRing/Neq.con -cic:/Coq/ring/NArithRing/Neq_prop.con -cic:/Coq/ring/Quote/index_eq.con -cic:/Coq/ring/Quote/index_eq_prop.con -cic:/Coq/ring/Quote/index_ind.con -cic:/Coq/ring/Quote/index_lt.con -cic:/Coq/ring/Quote/index_rec.con -cic:/Coq/ring/Quote/index_rect.con -cic:/Coq/ring/Quote/varmap_find.con -cic:/Coq/ring/Quote/varmap_ind.con -cic:/Coq/ring/Quote/varmap_rec.con -cic:/Coq/ring/Quote/varmap_rect.con -cic:/Coq/ring/Ring/BoolTheory.con -cic:/Coq/ring/Ring_abstract/abstract_sum_ind.con -cic:/Coq/ring/Ring_abstract/abstract_sum_merge.con -cic:/Coq/ring/Ring_abstract/abstract_sum_merge_ok.con -cic:/Coq/ring/Ring_abstract/abstract_sum_prod.con -cic:/Coq/ring/Ring_abstract/abstract_sum_prod_ok.con -cic:/Coq/ring/Ring_abstract/abstract_sum_rec.con -cic:/Coq/ring/Ring_abstract/abstract_sum_rect.con -cic:/Coq/ring/Ring_abstract/abstract_sum_scalar.con -cic:/Coq/ring/Ring_abstract/abstract_sum_scalar_ok.con -cic:/Coq/ring/Ring_abstract/abstract_varlist_insert.con -cic:/Coq/ring/Ring_abstract/abstract_varlist_insert_ok.con -cic:/Coq/ring/Ring_abstract/apolynomial_ind.con -cic:/Coq/ring/Ring_abstract/apolynomial_normalize.con -cic:/Coq/ring/Ring_abstract/apolynomial_normalize_ok.con -cic:/Coq/ring/Ring_abstract/apolynomial_rec.con -cic:/Coq/ring/Ring_abstract/apolynomial_rect.con -cic:/Coq/ring/Ring_abstract/aspolynomial_ind.con -cic:/Coq/ring/Ring_abstract/aspolynomial_normalize.con -cic:/Coq/ring/Ring_abstract/aspolynomial_normalize_ok.con -cic:/Coq/ring/Ring_abstract/aspolynomial_rec.con -cic:/Coq/ring/Ring_abstract/aspolynomial_rect.con -cic:/Coq/ring/Ring_abstract/iacs_aux.con -cic:/Coq/ring/Ring_abstract/iacs_aux_ok.con -cic:/Coq/ring/Ring_abstract/interp_acs.con -cic:/Coq/ring/Ring_abstract/interp_ap.con -cic:/Coq/ring/Ring_abstract/interp_asp.con -cic:/Coq/ring/Ring_abstract/interp_sacs.con -cic:/Coq/ring/Ring_abstract/isacs_aux.con -cic:/Coq/ring/Ring_abstract/isacs_aux_ok.con -cic:/Coq/ring/Ring_abstract/minus_sum_scalar.con -cic:/Coq/ring/Ring_abstract/minus_sum_scalar_ok.con -cic:/Coq/ring/Ring_abstract/minus_varlist_insert.con -cic:/Coq/ring/Ring_abstract/minus_varlist_insert_ok.con -cic:/Coq/ring/Ring_abstract/plus_sum_scalar.con -cic:/Coq/ring/Ring_abstract/plus_sum_scalar_ok.con -cic:/Coq/ring/Ring_abstract/plus_varlist_insert.con -cic:/Coq/ring/Ring_abstract/plus_varlist_insert_ok.con -cic:/Coq/ring/Ring_abstract/signed_sum_ind.con -cic:/Coq/ring/Ring_abstract/signed_sum_merge.con -cic:/Coq/ring/Ring_abstract/signed_sum_merge_ok.con -cic:/Coq/ring/Ring_abstract/signed_sum_opp.con -cic:/Coq/ring/Ring_abstract/signed_sum_opp_ok.con -cic:/Coq/ring/Ring_abstract/signed_sum_prod.con -cic:/Coq/ring/Ring_abstract/signed_sum_prod_ok.con -cic:/Coq/ring/Ring_abstract/signed_sum_rec.con -cic:/Coq/ring/Ring_abstract/signed_sum_rect.con -cic:/Coq/ring/Ring_normalize/canonical_sum_ind.con -cic:/Coq/ring/Ring_normalize/canonical_sum_merge.con -cic:/Coq/ring/Ring_normalize/canonical_sum_merge_ok.con -cic:/Coq/ring/Ring_normalize/canonical_sum_prod.con -cic:/Coq/ring/Ring_normalize/canonical_sum_prod_ok.con -cic:/Coq/ring/Ring_normalize/canonical_sum_rec.con -cic:/Coq/ring/Ring_normalize/canonical_sum_rect.con -cic:/Coq/ring/Ring_normalize/canonical_sum_scalar.con -cic:/Coq/ring/Ring_normalize/canonical_sum_scalar2.con -cic:/Coq/ring/Ring_normalize/canonical_sum_scalar2_ok.con -cic:/Coq/ring/Ring_normalize/canonical_sum_scalar3.con -cic:/Coq/ring/Ring_normalize/canonical_sum_scalar3_ok.con -cic:/Coq/ring/Ring_normalize/canonical_sum_scalar_ok.con -cic:/Coq/ring/Ring_normalize/canonical_sum_simplify.con -cic:/Coq/ring/Ring_normalize/canonical_sum_simplify_ok.con -cic:/Coq/ring/Ring_normalize/ics_aux.con -cic:/Coq/ring/Ring_normalize/ics_aux_ok.con -cic:/Coq/ring/Ring_normalize/index_eq_prop.con -cic:/Coq/ring/Ring_normalize/interp_cs.con -cic:/Coq/ring/Ring_normalize/interp_m.con -cic:/Coq/ring/Ring_normalize/interp_m_ok.con -cic:/Coq/ring/Ring_normalize/interp_p.con -cic:/Coq/ring/Ring_normalize/interp_sp.con -cic:/Coq/ring/Ring_normalize/interp_var.con -cic:/Coq/ring/Ring_normalize/interp_vl.con -cic:/Coq/ring/Ring_normalize/ivl_aux.con -cic:/Coq/ring/Ring_normalize/ivl_aux_ok.con -cic:/Coq/ring/Ring_normalize/monom_insert.con -cic:/Coq/ring/Ring_normalize/monom_insert_ok.con -cic:/Coq/ring/Ring_normalize/polynomial_ind.con -cic:/Coq/ring/Ring_normalize/polynomial_normalize.con -cic:/Coq/ring/Ring_normalize/polynomial_normalize_ok.con -cic:/Coq/ring/Ring_normalize/polynomial_rec.con -cic:/Coq/ring/Ring_normalize/polynomial_rect.con -cic:/Coq/ring/Ring_normalize/polynomial_simplify.con -cic:/Coq/ring/Ring_normalize/polynomial_simplify_ok.con -cic:/Coq/ring/Ring_normalize/spolynomial_ind.con -cic:/Coq/ring/Ring_normalize/spolynomial_normalize.con -cic:/Coq/ring/Ring_normalize/spolynomial_normalize_ok.con -cic:/Coq/ring/Ring_normalize/spolynomial_of.con -cic:/Coq/ring/Ring_normalize/spolynomial_of_ok.con -cic:/Coq/ring/Ring_normalize/spolynomial_rec.con -cic:/Coq/ring/Ring_normalize/spolynomial_rect.con -cic:/Coq/ring/Ring_normalize/spolynomial_simplify.con -cic:/Coq/ring/Ring_normalize/spolynomial_simplify_ok.con -cic:/Coq/ring/Ring_normalize/varlist_eq.con -cic:/Coq/ring/Ring_normalize/varlist_eq_prop.con -cic:/Coq/ring/Ring_normalize/varlist_ind.con -cic:/Coq/ring/Ring_normalize/varlist_insert.con -cic:/Coq/ring/Ring_normalize/varlist_insert_ok.con -cic:/Coq/ring/Ring_normalize/varlist_lt.con -cic:/Coq/ring/Ring_normalize/varlist_merge.con -cic:/Coq/ring/Ring_normalize/varlist_merge_ok.con -cic:/Coq/ring/Ring_normalize/varlist_rec.con -cic:/Coq/ring/Ring_normalize/varlist_rect.con -cic:/Coq/ring/Ring_theory/Ring_Theory_ind.con -cic:/Coq/ring/Ring_theory/Ring_Theory_rec.con -cic:/Coq/ring/Ring_theory/Ring_Theory_rect.con -cic:/Coq/ring/Ring_theory/SR_distr_left.con -cic:/Coq/ring/Ring_theory/SR_distr_left2.con -cic:/Coq/ring/Ring_theory/SR_distr_right.con -cic:/Coq/ring/Ring_theory/SR_distr_right2.con -cic:/Coq/ring/Ring_theory/SR_eq_prop.con -cic:/Coq/ring/Ring_theory/SR_mult_assoc.con -cic:/Coq/ring/Ring_theory/SR_mult_assoc2.con -cic:/Coq/ring/Ring_theory/SR_mult_comm.con -cic:/Coq/ring/Ring_theory/SR_mult_one_left.con -cic:/Coq/ring/Ring_theory/SR_mult_one_left2.con -cic:/Coq/ring/Ring_theory/SR_mult_one_right.con -cic:/Coq/ring/Ring_theory/SR_mult_one_right2.con -cic:/Coq/ring/Ring_theory/SR_mult_permute.con -cic:/Coq/ring/Ring_theory/SR_mult_zero_left.con -cic:/Coq/ring/Ring_theory/SR_mult_zero_left2.con -cic:/Coq/ring/Ring_theory/SR_mult_zero_right.con -cic:/Coq/ring/Ring_theory/SR_mult_zero_right2.con -cic:/Coq/ring/Ring_theory/SR_plus_assoc.con -cic:/Coq/ring/Ring_theory/SR_plus_assoc2.con -cic:/Coq/ring/Ring_theory/SR_plus_comm.con -cic:/Coq/ring/Ring_theory/SR_plus_permute.con -cic:/Coq/ring/Ring_theory/SR_plus_reg_left.con -cic:/Coq/ring/Ring_theory/SR_plus_reg_right.con -cic:/Coq/ring/Ring_theory/SR_plus_zero_left.con -cic:/Coq/ring/Ring_theory/SR_plus_zero_left2.con -cic:/Coq/ring/Ring_theory/SR_plus_zero_right.con -cic:/Coq/ring/Ring_theory/SR_plus_zero_right2.con -cic:/Coq/ring/Ring_theory/Semi_Ring_Theory_ind.con -cic:/Coq/ring/Ring_theory/Semi_Ring_Theory_of.con -cic:/Coq/ring/Ring_theory/Semi_Ring_Theory_rec.con -cic:/Coq/ring/Ring_theory/Semi_Ring_Theory_rect.con -cic:/Coq/ring/Ring_theory/Th_distr_left.con -cic:/Coq/ring/Ring_theory/Th_distr_left2.con -cic:/Coq/ring/Ring_theory/Th_distr_right.con -cic:/Coq/ring/Ring_theory/Th_distr_right2.con -cic:/Coq/ring/Ring_theory/Th_eq_prop.con -cic:/Coq/ring/Ring_theory/Th_mult_assoc.con -cic:/Coq/ring/Ring_theory/Th_mult_assoc2.con -cic:/Coq/ring/Ring_theory/Th_mult_one_left.con -cic:/Coq/ring/Ring_theory/Th_mult_one_left2.con -cic:/Coq/ring/Ring_theory/Th_mult_one_right.con -cic:/Coq/ring/Ring_theory/Th_mult_one_right2.con -cic:/Coq/ring/Ring_theory/Th_mult_opp_opp.con -cic:/Coq/ring/Ring_theory/Th_mult_opp_opp2.con -cic:/Coq/ring/Ring_theory/Th_mult_permute.con -cic:/Coq/ring/Ring_theory/Th_mult_sym.con -cic:/Coq/ring/Ring_theory/Th_mult_zero_left.con -cic:/Coq/ring/Ring_theory/Th_mult_zero_left2.con -cic:/Coq/ring/Ring_theory/Th_mult_zero_right.con -cic:/Coq/ring/Ring_theory/Th_mult_zero_right2.con -cic:/Coq/ring/Ring_theory/Th_opp_def.con -cic:/Coq/ring/Ring_theory/Th_opp_def2.con -cic:/Coq/ring/Ring_theory/Th_opp_mult_left.con -cic:/Coq/ring/Ring_theory/Th_opp_mult_left2.con -cic:/Coq/ring/Ring_theory/Th_opp_mult_right.con -cic:/Coq/ring/Ring_theory/Th_opp_mult_right2.con -cic:/Coq/ring/Ring_theory/Th_opp_opp.con -cic:/Coq/ring/Ring_theory/Th_opp_opp2.con -cic:/Coq/ring/Ring_theory/Th_opp_zero.con -cic:/Coq/ring/Ring_theory/Th_plus_assoc.con -cic:/Coq/ring/Ring_theory/Th_plus_assoc2.con -cic:/Coq/ring/Ring_theory/Th_plus_comm.con -cic:/Coq/ring/Ring_theory/Th_plus_opp_opp.con -cic:/Coq/ring/Ring_theory/Th_plus_permute.con -cic:/Coq/ring/Ring_theory/Th_plus_permute_opp.con -cic:/Coq/ring/Ring_theory/Th_plus_reg_left.con -cic:/Coq/ring/Ring_theory/Th_plus_reg_right.con -cic:/Coq/ring/Ring_theory/Th_plus_zero_left.con -cic:/Coq/ring/Ring_theory/Th_plus_zero_left2.con -cic:/Coq/ring/Ring_theory/Th_plus_zero_right.con -cic:/Coq/ring/Ring_theory/Th_plus_zero_right2.con -cic:/Coq/ring/Ring_theory/aux1.con -cic:/Coq/ring/Ring_theory/aux2.con -cic:/Coq/ring/Setoid_ring_normalize/Amult_ext.con -cic:/Coq/ring/Setoid_ring_normalize/Aopp_ext.con -cic:/Coq/ring/Setoid_ring_normalize/Aplus_ext.con -cic:/Coq/ring/Setoid_ring_normalize/canonical_sum_ind.con -cic:/Coq/ring/Setoid_ring_normalize/canonical_sum_merge.con -cic:/Coq/ring/Setoid_ring_normalize/canonical_sum_merge_ok.con -cic:/Coq/ring/Setoid_ring_normalize/canonical_sum_prod.con -cic:/Coq/ring/Setoid_ring_normalize/canonical_sum_prod_ok.con -cic:/Coq/ring/Setoid_ring_normalize/canonical_sum_rec.con -cic:/Coq/ring/Setoid_ring_normalize/canonical_sum_rect.con -cic:/Coq/ring/Setoid_ring_normalize/canonical_sum_scalar.con -cic:/Coq/ring/Setoid_ring_normalize/canonical_sum_scalar2.con -cic:/Coq/ring/Setoid_ring_normalize/canonical_sum_scalar2_ok.con -cic:/Coq/ring/Setoid_ring_normalize/canonical_sum_scalar3.con -cic:/Coq/ring/Setoid_ring_normalize/canonical_sum_scalar3_ok.con -cic:/Coq/ring/Setoid_ring_normalize/canonical_sum_scalar_ok.con -cic:/Coq/ring/Setoid_ring_normalize/canonical_sum_simplify.con -cic:/Coq/ring/Setoid_ring_normalize/canonical_sum_simplify_ok.con -cic:/Coq/ring/Setoid_ring_normalize/ics_aux.con -cic:/Coq/ring/Setoid_ring_normalize/ics_aux_ok.con -cic:/Coq/ring/Setoid_ring_normalize/index_eq_prop.con -cic:/Coq/ring/Setoid_ring_normalize/interp_m.con -cic:/Coq/ring/Setoid_ring_normalize/interp_m_ok.con -cic:/Coq/ring/Setoid_ring_normalize/interp_setcs.con -cic:/Coq/ring/Setoid_ring_normalize/interp_setp.con -cic:/Coq/ring/Setoid_ring_normalize/interp_setsp.con -cic:/Coq/ring/Setoid_ring_normalize/interp_var.con -cic:/Coq/ring/Setoid_ring_normalize/interp_vl.con -cic:/Coq/ring/Setoid_ring_normalize/ivl_aux.con -cic:/Coq/ring/Setoid_ring_normalize/ivl_aux_ok.con -cic:/Coq/ring/Setoid_ring_normalize/monom_insert.con -cic:/Coq/ring/Setoid_ring_normalize/monom_insert_ok.con -cic:/Coq/ring/Setoid_ring_normalize/setoid_eq_ext1.con -cic:/Coq/ring/Setoid_ring_normalize/setoid_eq_ext2.con -cic:/Coq/ring/Setoid_ring_normalize/setpolynomial_ind.con -cic:/Coq/ring/Setoid_ring_normalize/setpolynomial_normalize.con -cic:/Coq/ring/Setoid_ring_normalize/setpolynomial_normalize_ok.con -cic:/Coq/ring/Setoid_ring_normalize/setpolynomial_rec.con -cic:/Coq/ring/Setoid_ring_normalize/setpolynomial_rect.con -cic:/Coq/ring/Setoid_ring_normalize/setpolynomial_simplify.con -cic:/Coq/ring/Setoid_ring_normalize/setpolynomial_simplify_ok.con -cic:/Coq/ring/Setoid_ring_normalize/setspolynomial_ind.con -cic:/Coq/ring/Setoid_ring_normalize/setspolynomial_normalize.con -cic:/Coq/ring/Setoid_ring_normalize/setspolynomial_normalize_ok.con -cic:/Coq/ring/Setoid_ring_normalize/setspolynomial_of.con -cic:/Coq/ring/Setoid_ring_normalize/setspolynomial_of_ok.con -cic:/Coq/ring/Setoid_ring_normalize/setspolynomial_rec.con -cic:/Coq/ring/Setoid_ring_normalize/setspolynomial_rect.con -cic:/Coq/ring/Setoid_ring_normalize/setspolynomial_simplify.con -cic:/Coq/ring/Setoid_ring_normalize/setspolynomial_simplify_ok.con -cic:/Coq/ring/Setoid_ring_normalize/varlist_eq.con -cic:/Coq/ring/Setoid_ring_normalize/varlist_eq_prop.con -cic:/Coq/ring/Setoid_ring_normalize/varlist_ind.con -cic:/Coq/ring/Setoid_ring_normalize/varlist_insert.con -cic:/Coq/ring/Setoid_ring_normalize/varlist_insert_ok.con -cic:/Coq/ring/Setoid_ring_normalize/varlist_lt.con -cic:/Coq/ring/Setoid_ring_normalize/varlist_merge.con -cic:/Coq/ring/Setoid_ring_normalize/varlist_merge_ok.con -cic:/Coq/ring/Setoid_ring_normalize/varlist_rec.con -cic:/Coq/ring/Setoid_ring_normalize/varlist_rect.con -cic:/Coq/ring/Setoid_ring_theory/Amult_ext.con -cic:/Coq/ring/Setoid_ring_theory/Aopp_ext.con -cic:/Coq/ring/Setoid_ring_theory/Aplus_ext.con -cic:/Coq/ring/Setoid_ring_theory/SSR_distr_left.con -cic:/Coq/ring/Setoid_ring_theory/SSR_distr_left2.con -cic:/Coq/ring/Setoid_ring_theory/SSR_distr_right.con -cic:/Coq/ring/Setoid_ring_theory/SSR_distr_right2.con -cic:/Coq/ring/Setoid_ring_theory/SSR_eq_prop.con -cic:/Coq/ring/Setoid_ring_theory/SSR_mult_assoc.con -cic:/Coq/ring/Setoid_ring_theory/SSR_mult_assoc2.con -cic:/Coq/ring/Setoid_ring_theory/SSR_mult_comm.con -cic:/Coq/ring/Setoid_ring_theory/SSR_mult_one_left.con -cic:/Coq/ring/Setoid_ring_theory/SSR_mult_one_left2.con -cic:/Coq/ring/Setoid_ring_theory/SSR_mult_one_right.con -cic:/Coq/ring/Setoid_ring_theory/SSR_mult_one_right2.con -cic:/Coq/ring/Setoid_ring_theory/SSR_mult_permute.con -cic:/Coq/ring/Setoid_ring_theory/SSR_mult_zero_left.con -cic:/Coq/ring/Setoid_ring_theory/SSR_mult_zero_left2.con -cic:/Coq/ring/Setoid_ring_theory/SSR_mult_zero_right.con -cic:/Coq/ring/Setoid_ring_theory/SSR_mult_zero_right2.con -cic:/Coq/ring/Setoid_ring_theory/SSR_plus_assoc.con -cic:/Coq/ring/Setoid_ring_theory/SSR_plus_assoc2.con -cic:/Coq/ring/Setoid_ring_theory/SSR_plus_comm.con -cic:/Coq/ring/Setoid_ring_theory/SSR_plus_permute.con -cic:/Coq/ring/Setoid_ring_theory/SSR_plus_reg_left.con -cic:/Coq/ring/Setoid_ring_theory/SSR_plus_reg_right.con -cic:/Coq/ring/Setoid_ring_theory/SSR_plus_zero_left.con -cic:/Coq/ring/Setoid_ring_theory/SSR_plus_zero_left2.con -cic:/Coq/ring/Setoid_ring_theory/SSR_plus_zero_right.con -cic:/Coq/ring/Setoid_ring_theory/SSR_plus_zero_right2.con -cic:/Coq/ring/Setoid_ring_theory/STh_distr_left.con -cic:/Coq/ring/Setoid_ring_theory/STh_distr_left2.con -cic:/Coq/ring/Setoid_ring_theory/STh_distr_right.con -cic:/Coq/ring/Setoid_ring_theory/STh_distr_right2.con -cic:/Coq/ring/Setoid_ring_theory/STh_eq_prop.con -cic:/Coq/ring/Setoid_ring_theory/STh_mult_assoc.con -cic:/Coq/ring/Setoid_ring_theory/STh_mult_assoc2.con -cic:/Coq/ring/Setoid_ring_theory/STh_mult_one_left.con -cic:/Coq/ring/Setoid_ring_theory/STh_mult_one_left2.con -cic:/Coq/ring/Setoid_ring_theory/STh_mult_one_right.con -cic:/Coq/ring/Setoid_ring_theory/STh_mult_one_right2.con -cic:/Coq/ring/Setoid_ring_theory/STh_mult_opp_opp.con -cic:/Coq/ring/Setoid_ring_theory/STh_mult_opp_opp2.con -cic:/Coq/ring/Setoid_ring_theory/STh_mult_permute.con -cic:/Coq/ring/Setoid_ring_theory/STh_mult_sym.con -cic:/Coq/ring/Setoid_ring_theory/STh_mult_zero_left.con -cic:/Coq/ring/Setoid_ring_theory/STh_mult_zero_left2.con -cic:/Coq/ring/Setoid_ring_theory/STh_mult_zero_right.con -cic:/Coq/ring/Setoid_ring_theory/STh_mult_zero_right2.con -cic:/Coq/ring/Setoid_ring_theory/STh_opp_def.con -cic:/Coq/ring/Setoid_ring_theory/STh_opp_def2.con -cic:/Coq/ring/Setoid_ring_theory/STh_opp_mult_left.con -cic:/Coq/ring/Setoid_ring_theory/STh_opp_mult_left2.con -cic:/Coq/ring/Setoid_ring_theory/STh_opp_mult_right.con -cic:/Coq/ring/Setoid_ring_theory/STh_opp_mult_right2.con -cic:/Coq/ring/Setoid_ring_theory/STh_opp_opp.con -cic:/Coq/ring/Setoid_ring_theory/STh_opp_opp2.con -cic:/Coq/ring/Setoid_ring_theory/STh_opp_zero.con -cic:/Coq/ring/Setoid_ring_theory/STh_plus_assoc.con -cic:/Coq/ring/Setoid_ring_theory/STh_plus_assoc2.con -cic:/Coq/ring/Setoid_ring_theory/STh_plus_comm.con -cic:/Coq/ring/Setoid_ring_theory/STh_plus_opp_opp.con -cic:/Coq/ring/Setoid_ring_theory/STh_plus_permute.con -cic:/Coq/ring/Setoid_ring_theory/STh_plus_permute_opp.con -cic:/Coq/ring/Setoid_ring_theory/STh_plus_reg_left.con -cic:/Coq/ring/Setoid_ring_theory/STh_plus_reg_right.con -cic:/Coq/ring/Setoid_ring_theory/STh_plus_zero_left.con -cic:/Coq/ring/Setoid_ring_theory/STh_plus_zero_left2.con -cic:/Coq/ring/Setoid_ring_theory/STh_plus_zero_right.con -cic:/Coq/ring/Setoid_ring_theory/STh_plus_zero_right2.con -cic:/Coq/ring/Setoid_ring_theory/Saux1.con -cic:/Coq/ring/Setoid_ring_theory/Saux2.con -cic:/Coq/ring/Setoid_ring_theory/Semi_Setoid_Ring_Theory_ind.con -cic:/Coq/ring/Setoid_ring_theory/Semi_Setoid_Ring_Theory_of.con -cic:/Coq/ring/Setoid_ring_theory/Semi_Setoid_Ring_Theory_rec.con -cic:/Coq/ring/Setoid_ring_theory/Semi_Setoid_Ring_Theory_rect.con -cic:/Coq/ring/Setoid_ring_theory/Setoid_Ring_Theory_ind.con -cic:/Coq/ring/Setoid_ring_theory/Setoid_Ring_Theory_rec.con -cic:/Coq/ring/Setoid_ring_theory/Setoid_Ring_Theory_rect.con -cic:/Coq/ring/Setoid_ring_theory/setoid_eq_ext1.con -cic:/Coq/ring/Setoid_ring_theory/setoid_eq_ext2.con -cic:/Coq/ring/ZArithRing/ZTheory.con -cic:/Coq/ring/ZArithRing/Zeq.con -cic:/Coq/ring/ZArithRing/Zeq_prop.con -cic:/Coq/romega/ReflOmegaCore/PropList_ind.con -cic:/Coq/romega/ReflOmegaCore/PropList_rec.con -cic:/Coq/romega/ReflOmegaCore/PropList_rect.con -cic:/Coq/romega/ReflOmegaCore/T_OMEGA10.con -cic:/Coq/romega/ReflOmegaCore/T_OMEGA10_stable.con -cic:/Coq/romega/ReflOmegaCore/T_OMEGA11.con -cic:/Coq/romega/ReflOmegaCore/T_OMEGA11_stable.con -cic:/Coq/romega/ReflOmegaCore/T_OMEGA12.con -cic:/Coq/romega/ReflOmegaCore/T_OMEGA12_stable.con -cic:/Coq/romega/ReflOmegaCore/T_OMEGA13.con -cic:/Coq/romega/ReflOmegaCore/T_OMEGA13_stable.con -cic:/Coq/romega/ReflOmegaCore/T_OMEGA15.con -cic:/Coq/romega/ReflOmegaCore/T_OMEGA15_stable.con -cic:/Coq/romega/ReflOmegaCore/T_OMEGA16.con -cic:/Coq/romega/ReflOmegaCore/T_OMEGA16_stable.con -cic:/Coq/romega/ReflOmegaCore/Tminus_def.con -cic:/Coq/romega/ReflOmegaCore/Tminus_def_stable.con -cic:/Coq/romega/ReflOmegaCore/Tmult_assoc_r.con -cic:/Coq/romega/ReflOmegaCore/Tmult_assoc_r_stable.con -cic:/Coq/romega/ReflOmegaCore/Tmult_assoc_reduced.con -cic:/Coq/romega/ReflOmegaCore/Tmult_assoc_reduced_stable.con -cic:/Coq/romega/ReflOmegaCore/Tmult_opp_left.con -cic:/Coq/romega/ReflOmegaCore/Tmult_opp_left_stable.con -cic:/Coq/romega/ReflOmegaCore/Tmult_plus_distr.con -cic:/Coq/romega/ReflOmegaCore/Tmult_plus_distr_stable.con -cic:/Coq/romega/ReflOmegaCore/Tmult_sym.con -cic:/Coq/romega/ReflOmegaCore/Tmult_sym_stable.con -cic:/Coq/romega/ReflOmegaCore/Topp_mult_r.con -cic:/Coq/romega/ReflOmegaCore/Topp_mult_r_stable.con -cic:/Coq/romega/ReflOmegaCore/Topp_one.con -cic:/Coq/romega/ReflOmegaCore/Topp_one_stable.con -cic:/Coq/romega/ReflOmegaCore/Topp_opp.con -cic:/Coq/romega/ReflOmegaCore/Topp_opp_stable.con -cic:/Coq/romega/ReflOmegaCore/Topp_plus.con -cic:/Coq/romega/ReflOmegaCore/Topp_plus_stable.con -cic:/Coq/romega/ReflOmegaCore/Tplus_assoc_l.con -cic:/Coq/romega/ReflOmegaCore/Tplus_assoc_l_stable.con -cic:/Coq/romega/ReflOmegaCore/Tplus_assoc_r.con -cic:/Coq/romega/ReflOmegaCore/Tplus_assoc_r_stable.con -cic:/Coq/romega/ReflOmegaCore/Tplus_permute.con -cic:/Coq/romega/ReflOmegaCore/Tplus_permute_stable.con -cic:/Coq/romega/ReflOmegaCore/Tplus_sym.con -cic:/Coq/romega/ReflOmegaCore/Tplus_sym_stable.con -cic:/Coq/romega/ReflOmegaCore/Tred_factor0.con -cic:/Coq/romega/ReflOmegaCore/Tred_factor0_stable.con -cic:/Coq/romega/ReflOmegaCore/Tred_factor1.con -cic:/Coq/romega/ReflOmegaCore/Tred_factor1_stable.con -cic:/Coq/romega/ReflOmegaCore/Tred_factor2.con -cic:/Coq/romega/ReflOmegaCore/Tred_factor2_stable.con -cic:/Coq/romega/ReflOmegaCore/Tred_factor3.con -cic:/Coq/romega/ReflOmegaCore/Tred_factor3_stable.con -cic:/Coq/romega/ReflOmegaCore/Tred_factor4.con -cic:/Coq/romega/ReflOmegaCore/Tred_factor4_stable.con -cic:/Coq/romega/ReflOmegaCore/Tred_factor5.con -cic:/Coq/romega/ReflOmegaCore/Tred_factor5_stable.con -cic:/Coq/romega/ReflOmegaCore/Tred_factor6.con -cic:/Coq/romega/ReflOmegaCore/Tred_factor6_stable.con -cic:/Coq/romega/ReflOmegaCore/Zlt_left_inv.con -cic:/Coq/romega/ReflOmegaCore/Zne_left_2.con -cic:/Coq/romega/ReflOmegaCore/absurd.con -cic:/Coq/romega/ReflOmegaCore/add_norm.con -cic:/Coq/romega/ReflOmegaCore/add_norm_stable.con -cic:/Coq/romega/ReflOmegaCore/append_goal.con -cic:/Coq/romega/ReflOmegaCore/append_valid.con -cic:/Coq/romega/ReflOmegaCore/apply_both.con -cic:/Coq/romega/ReflOmegaCore/apply_both_stable.con -cic:/Coq/romega/ReflOmegaCore/apply_left.con -cic:/Coq/romega/ReflOmegaCore/apply_left_stable.con -cic:/Coq/romega/ReflOmegaCore/apply_oper_1.con -cic:/Coq/romega/ReflOmegaCore/apply_oper_1_valid.con -cic:/Coq/romega/ReflOmegaCore/apply_oper_2.con -cic:/Coq/romega/ReflOmegaCore/apply_oper_2_valid.con -cic:/Coq/romega/ReflOmegaCore/apply_right.con -cic:/Coq/romega/ReflOmegaCore/apply_right_stable.con -cic:/Coq/romega/ReflOmegaCore/bool_ind2.con -cic:/Coq/romega/ReflOmegaCore/co_valid1.con -cic:/Coq/romega/ReflOmegaCore/compose_term_stable.con -cic:/Coq/romega/ReflOmegaCore/concl_to_hyp.con -cic:/Coq/romega/ReflOmegaCore/constant_neg.con -cic:/Coq/romega/ReflOmegaCore/constant_neg_valid.con -cic:/Coq/romega/ReflOmegaCore/constant_not_nul.con -cic:/Coq/romega/ReflOmegaCore/constant_not_nul_valid.con -cic:/Coq/romega/ReflOmegaCore/constant_nul.con -cic:/Coq/romega/ReflOmegaCore/constant_nul_valid.con -cic:/Coq/romega/ReflOmegaCore/contradiction.con -cic:/Coq/romega/ReflOmegaCore/contradiction_valid.con -cic:/Coq/romega/ReflOmegaCore/decidability.con -cic:/Coq/romega/ReflOmegaCore/decidable_correct.con -cic:/Coq/romega/ReflOmegaCore/decompose_solve.con -cic:/Coq/romega/ReflOmegaCore/decompose_solve_valid.con -cic:/Coq/romega/ReflOmegaCore/destructure_hyps.con -cic:/Coq/romega/ReflOmegaCore/destructure_hyps_valid.con -cic:/Coq/romega/ReflOmegaCore/direction_ind.con -cic:/Coq/romega/ReflOmegaCore/direction_rec.con -cic:/Coq/romega/ReflOmegaCore/direction_rect.con -cic:/Coq/romega/ReflOmegaCore/divide_and_approx.con -cic:/Coq/romega/ReflOmegaCore/divide_and_approx_valid.con -cic:/Coq/romega/ReflOmegaCore/do_concl_to_hyp.con -cic:/Coq/romega/ReflOmegaCore/do_normalize.con -cic:/Coq/romega/ReflOmegaCore/do_normalize_list.con -cic:/Coq/romega/ReflOmegaCore/do_normalize_list_valid.con -cic:/Coq/romega/ReflOmegaCore/do_normalize_valid.con -cic:/Coq/romega/ReflOmegaCore/do_omega.con -cic:/Coq/romega/ReflOmegaCore/do_reduce_lhyps.con -cic:/Coq/romega/ReflOmegaCore/e_step_ind.con -cic:/Coq/romega/ReflOmegaCore/e_step_rec.con -cic:/Coq/romega/ReflOmegaCore/e_step_rect.con -cic:/Coq/romega/ReflOmegaCore/eq_Z.con -cic:/Coq/romega/ReflOmegaCore/eq_Z_false.con -cic:/Coq/romega/ReflOmegaCore/eq_Z_true.con -cic:/Coq/romega/ReflOmegaCore/eq_nat.con -cic:/Coq/romega/ReflOmegaCore/eq_nat_false.con -cic:/Coq/romega/ReflOmegaCore/eq_nat_true.con -cic:/Coq/romega/ReflOmegaCore/eq_pos.con -cic:/Coq/romega/ReflOmegaCore/eq_pos_false.con -cic:/Coq/romega/ReflOmegaCore/eq_pos_true.con -cic:/Coq/romega/ReflOmegaCore/eq_term.con -cic:/Coq/romega/ReflOmegaCore/eq_term_false.con -cic:/Coq/romega/ReflOmegaCore/eq_term_true.con -cic:/Coq/romega/ReflOmegaCore/exact_divide.con -cic:/Coq/romega/ReflOmegaCore/exact_divide_valid.con -cic:/Coq/romega/ReflOmegaCore/execute_goal.con -cic:/Coq/romega/ReflOmegaCore/execute_omega.con -cic:/Coq/romega/ReflOmegaCore/extract_hyp_neg.con -cic:/Coq/romega/ReflOmegaCore/extract_hyp_pos.con -cic:/Coq/romega/ReflOmegaCore/extract_valid.con -cic:/Coq/romega/ReflOmegaCore/fusion.con -cic:/Coq/romega/ReflOmegaCore/fusion_cancel.con -cic:/Coq/romega/ReflOmegaCore/fusion_cancel_stable.con -cic:/Coq/romega/ReflOmegaCore/fusion_right.con -cic:/Coq/romega/ReflOmegaCore/fusion_stable.con -cic:/Coq/romega/ReflOmegaCore/goal_to_hyps.con -cic:/Coq/romega/ReflOmegaCore/goal_valid.con -cic:/Coq/romega/ReflOmegaCore/h_step_ind.con -cic:/Coq/romega/ReflOmegaCore/h_step_rec.con -cic:/Coq/romega/ReflOmegaCore/h_step_rect.con -cic:/Coq/romega/ReflOmegaCore/hyps_to_goal.con -cic:/Coq/romega/ReflOmegaCore/interp_full.con -cic:/Coq/romega/ReflOmegaCore/interp_full_false.con -cic:/Coq/romega/ReflOmegaCore/interp_full_goal.con -cic:/Coq/romega/ReflOmegaCore/interp_goal_concl.con -cic:/Coq/romega/ReflOmegaCore/interp_hyps.con -cic:/Coq/romega/ReflOmegaCore/interp_list_goal.con -cic:/Coq/romega/ReflOmegaCore/interp_list_hyps.con -cic:/Coq/romega/ReflOmegaCore/interp_proposition.con -cic:/Coq/romega/ReflOmegaCore/interp_term.con -cic:/Coq/romega/ReflOmegaCore/list_goal_to_hyps.con -cic:/Coq/romega/ReflOmegaCore/list_hyps_to_goal.con -cic:/Coq/romega/ReflOmegaCore/map_cons.con -cic:/Coq/romega/ReflOmegaCore/map_cons_val.con -cic:/Coq/romega/ReflOmegaCore/merge_eq.con -cic:/Coq/romega/ReflOmegaCore/merge_eq_valid.con -cic:/Coq/romega/ReflOmegaCore/move_right.con -cic:/Coq/romega/ReflOmegaCore/move_right_stable.con -cic:/Coq/romega/ReflOmegaCore/move_right_valid.con -cic:/Coq/romega/ReflOmegaCore/negate_contradict.con -cic:/Coq/romega/ReflOmegaCore/negate_contradict_inv.con -cic:/Coq/romega/ReflOmegaCore/negate_contradict_inv_valid.con -cic:/Coq/romega/ReflOmegaCore/negate_contradict_valid.con -cic:/Coq/romega/ReflOmegaCore/normalize_goal.con -cic:/Coq/romega/ReflOmegaCore/normalize_hyps.con -cic:/Coq/romega/ReflOmegaCore/normalize_hyps_goal.con -cic:/Coq/romega/ReflOmegaCore/normalize_hyps_valid.con -cic:/Coq/romega/ReflOmegaCore/not_exact_divide.con -cic:/Coq/romega/ReflOmegaCore/not_exact_divide_valid.con -cic:/Coq/romega/ReflOmegaCore/nthProp.con -cic:/Coq/romega/ReflOmegaCore/nth_hyps.con -cic:/Coq/romega/ReflOmegaCore/nth_valid.con -cic:/Coq/romega/ReflOmegaCore/omega_tactic.con -cic:/Coq/romega/ReflOmegaCore/omega_valid.con -cic:/Coq/romega/ReflOmegaCore/p_apply_left.con -cic:/Coq/romega/ReflOmegaCore/p_apply_left_stable.con -cic:/Coq/romega/ReflOmegaCore/p_apply_right.con -cic:/Coq/romega/ReflOmegaCore/p_apply_right_stable.con -cic:/Coq/romega/ReflOmegaCore/p_invert.con -cic:/Coq/romega/ReflOmegaCore/p_invert_stable.con -cic:/Coq/romega/ReflOmegaCore/p_rewrite.con -cic:/Coq/romega/ReflOmegaCore/p_rewrite_stable.con -cic:/Coq/romega/ReflOmegaCore/p_step_ind.con -cic:/Coq/romega/ReflOmegaCore/p_step_rec.con -cic:/Coq/romega/ReflOmegaCore/p_step_rect.con -cic:/Coq/romega/ReflOmegaCore/prop_stable.con -cic:/Coq/romega/ReflOmegaCore/proposition_ind.con -cic:/Coq/romega/ReflOmegaCore/proposition_rec.con -cic:/Coq/romega/ReflOmegaCore/proposition_rect.con -cic:/Coq/romega/ReflOmegaCore/reduce.con -cic:/Coq/romega/ReflOmegaCore/reduce_lhyps.con -cic:/Coq/romega/ReflOmegaCore/reduce_lhyps_valid.con -cic:/Coq/romega/ReflOmegaCore/reduce_stable.con -cic:/Coq/romega/ReflOmegaCore/relation_ind2.con -cic:/Coq/romega/ReflOmegaCore/rewrite.con -cic:/Coq/romega/ReflOmegaCore/rewrite_stable.con -cic:/Coq/romega/ReflOmegaCore/scalar_norm.con -cic:/Coq/romega/ReflOmegaCore/scalar_norm_add.con -cic:/Coq/romega/ReflOmegaCore/scalar_norm_add_stable.con -cic:/Coq/romega/ReflOmegaCore/scalar_norm_stable.con -cic:/Coq/romega/ReflOmegaCore/split_ineq.con -cic:/Coq/romega/ReflOmegaCore/split_ineq_valid.con -cic:/Coq/romega/ReflOmegaCore/state.con -cic:/Coq/romega/ReflOmegaCore/state_valid.con -cic:/Coq/romega/ReflOmegaCore/step_ind.con -cic:/Coq/romega/ReflOmegaCore/step_rec.con -cic:/Coq/romega/ReflOmegaCore/step_rect.con -cic:/Coq/romega/ReflOmegaCore/sum.con -cic:/Coq/romega/ReflOmegaCore/sum1.con -cic:/Coq/romega/ReflOmegaCore/sum2.con -cic:/Coq/romega/ReflOmegaCore/sum3.con -cic:/Coq/romega/ReflOmegaCore/sum4.con -cic:/Coq/romega/ReflOmegaCore/sum5.con -cic:/Coq/romega/ReflOmegaCore/sum_valid.con -cic:/Coq/romega/ReflOmegaCore/t_fusion_ind.con -cic:/Coq/romega/ReflOmegaCore/t_fusion_rec.con -cic:/Coq/romega/ReflOmegaCore/t_fusion_rect.con -cic:/Coq/romega/ReflOmegaCore/t_omega_ind.con -cic:/Coq/romega/ReflOmegaCore/t_omega_rec.con -cic:/Coq/romega/ReflOmegaCore/t_omega_rect.con -cic:/Coq/romega/ReflOmegaCore/term_ind.con -cic:/Coq/romega/ReflOmegaCore/term_rec.con -cic:/Coq/romega/ReflOmegaCore/term_rect.con -cic:/Coq/romega/ReflOmegaCore/term_stable.con -cic:/Coq/romega/ReflOmegaCore/to_contradict.con -cic:/Coq/romega/ReflOmegaCore/to_contradict_valid.con -cic:/Coq/romega/ReflOmegaCore/valid1.con -cic:/Coq/romega/ReflOmegaCore/valid2.con -cic:/Coq/romega/ReflOmegaCore/valid_goal.con -cic:/Coq/romega/ReflOmegaCore/valid_hyps.con -cic:/Coq/romega/ReflOmegaCore/valid_lhyps.con -cic:/Coq/romega/ReflOmegaCore/valid_list_goal.con -cic:/Coq/romega/ReflOmegaCore/valid_list_hyps.con diff --git a/helm/searchEngine/searchEngine.conf.xml.sample b/helm/searchEngine/searchEngine.conf.xml.sample deleted file mode 100644 index 6d646020f..000000000 --- a/helm/searchEngine/searchEngine.conf.xml.sample +++ /dev/null @@ -1,62 +0,0 @@ - - -
      - mowgli.cs.unibo.it - helm - mowgli -
      -
      - - /tmp/helm/cache - /projects/helm/xml/dtd - 58081 - 180 - /projects/helm/daemons/log/http_getter.log - - theory:/ file:///projects/helm/library/theories/ - - - xslt:/ file:///projects/helm/xml/stylesheets_ccorn/ - - - xslt:/ file:///projects/helm/xml/stylesheets_hanane/ - - - xslt:/ file:///projects/helm/xml/on-line/xslt/ - - - xslt:/ file:///projects/helm/nuprl/NuPRL/nuprl_stylesheets/ - - - nuprl:/ http://www.cs.uwyo.edu/~nuprl/helm-library/ - - - cic:/ file:///projects/helm/library/coq_contribs/ - - - xslt:/ file:///projects/helm/xml/stylesheets/ - - - xslt:/ file:///projects/helm/xml/stylesheets/generated/ - - - theory:/residual_theory_in_lambda_calculus/ - http://helm.cs.unibo.it/~sacerdot/huet_lambda_calculus_mowgli/residual_theory_in_lambda_calculus/ - - - theory:/IDA/ - http://mowgli.cs.unibo.it/~sacerdot/ida/IDA/ - -
      -
      - html - 58085 - 10 - - foo.env - /projects/helm/daemons/matita/core_notation.moo - /projects/helm/daemons/matita/coq.moo -
      -
      diff --git a/helm/searchEngine/searchEngine.ml b/helm/searchEngine/searchEngine.ml deleted file mode 100644 index c42c01043..000000000 --- a/helm/searchEngine/searchEngine.ml +++ /dev/null @@ -1,505 +0,0 @@ -(* Copyright (C) 2002-2005, 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 _ = Http_common.debug := false - -exception Chat_unfinished -exception Unbound_identifier of string -exception Invalid_action of string (* invalid action for "/search" method *) - - (** raised by elim when a MutInd is required but not found *) -exception Not_a_MutInd - -let daemon_name = "Whelp" -let configuration_file = "/projects/helm/etc/whelp.conf.xml" - -let placeholders = [ - "ACTION"; "ADVANCED"; "ADVANCED_CHECKED"; "CHOICES"; "CURRENT_CHOICES"; - "EXPRESSION"; "ID"; "IDEN"; "ID_TO_URIS"; "INTERPRETATIONS"; - "INTERPRETATIONS_LABELS"; "MSG"; "NEW_ALIASES"; "NEXT_LINK"; "NO_CHOICES"; - "PAGE"; "PAGES"; "PAGELIST"; "PREV_LINK"; "QUERY_KIND"; "QUERY_SUMMARY"; "RESULTS"; - "SEARCH_ENGINE_URL"; "SIMPLE_CHECKED"; "TITLE"; -] - -let tag = - let regexps = Hashtbl.create 25 in - List.iter - (fun tag -> Hashtbl.add regexps tag (Pcre.regexp (sprintf "@%s@" tag))) - placeholders; - fun name -> - try - Hashtbl.find regexps name - with Not_found -> assert false - - (* First of all we load the configuration *) -let _ = Helm_registry.load_from configuration_file -let port = Helm_registry.get_int "search_engine.port" -let pages_dir = Helm_registry.get "search_engine.html_dir" - -let moogle_TPL = pages_dir ^ "/moogle.html" -let choices_TPL = pages_dir ^ "/moogle_chat.html" - -let my_own_url = - let ic = Unix.open_process_in "hostname -f" in - let hostname = input_line ic in - ignore (Unix.close_process_in ic); - sprintf "http://%s:%d" hostname port -let _ = Helm_registry.set "search_engine.my_own_url" my_own_url - -let bad_request body outchan = - Http_daemon.respond_error ~code:(`Status (`Client_error `Bad_request)) ~body - outchan - - (** chain application of Pcre substitutions *) -let rec apply_substs substs line = - match substs with - | [] -> line - | (rex, templ) :: rest -> apply_substs rest (Pcre.replace ~rex ~templ line) - (** fold like function on files *) -let fold_file f init fname = - let inchan = open_in fname in - let rec fold_lines' value = - try - let line = input_line inchan in - fold_lines' (f value line) - with End_of_file -> value - in - let res = (try fold_lines' init with e -> (close_in inchan; raise e)) in - close_in inchan; - res - (** iter like function on files *) -let iter_file f = fold_file (fun _ line -> f line) () -let javascript_quote s = - let rex = Pcre.regexp "'" in - let rex' = Pcre.regexp "\"" in - Pcre.replace ~rex ~templ:"\\'" - (Pcre.replace ~rex:rex' ~templ:"\\\"" s) -let string_tail s = - let len = String.length s in - String.sub s 1 (len-1) -let nonvar uri = - let s = UriManager.string_of_uri uri in - let len = String.length s in - let suffix = String.sub s (len-4) 4 in - not (suffix = ".var") - -let add_param_substs params = - List.map - (fun (key,value) -> - let key' = (Pcre.extract ~pat:"param\\.(.*)" key).(1) in - Pcre.regexp ("@" ^ key' ^ "@"), value) - (List.filter - (fun ((key,_) as p) -> Pcre.pmatch ~pat:"^param\\." key) - params) - -let page_RE = Pcre.regexp "¶m\\.page=\\d+" -let identifier_RE = Pcre.regexp "^\\s*(\\w|')+\\s*$" -let qualified_mutind_RE = - Pcre.regexp "^\\s*cic:(/(\\w|')+)+\\.ind#xpointer\\(1/\\d+\\)\\s*$" - -let query_kind_of_req (req: Http_types.request) = - match req#path with - | "/match" -> "Match" - | "/hint" -> "Hint" - | "/locate" -> "Locate" - | "/elim" -> "Elim" - | "/instance" -> "Instance" - | _ -> "" - - (* given a uri with a query part in input try to find in it a string - * "¶m_name=..." (where param_name is given). If found its value will be - * set to param_value. If not, a trailing "¶m_name=param_value" (where - * both are given) is added to the input string *) -let patch_param param_name param_value url = - let rex = Pcre.regexp (sprintf "&%s=[^&]*" (Pcre.quote param_name)) in - if Pcre.pmatch ~rex url then - Pcre.replace ~rex ~templ:(sprintf "%s=%s" param_name param_value) url - else - sprintf "%s&%s=%s" url param_name param_value - - (** HTML encoding, e.g.: "<" -> "<" *) -let html_encode = Netencoding.Html.encode_from_latin1 - -let fold_n_to_m f n m acc = - let rec aux acc = - function - i when i <= m -> aux (f i acc) (i + 1) - | _ -> acc - in - aux acc n - -let send_results results - ?(id_to_uris = DisambiguateTypes.empty_environment) - (req: Http_types.request) outchan - = - let query_kind = query_kind_of_req req in - let interp = try req#param "interp" with Http_types.Param_not_found _ -> "" in - let page_link anchor page = - try - let this = req#param "this" in - let target = - (patch_param "param.interp" interp - (patch_param "param.page" (string_of_int page) - this)) - in - let target = Pcre.replace ~pat:"&" ~templ:"&" target in - sprintf "%s" target anchor - with Http_types.Param_not_found _ -> "" - in - Http_daemon.send_basic_headers ~code:(`Code 200) outchan ; - Http_daemon.send_header "Content-Type" "text/xml" outchan; - Http_daemon.send_CRLF outchan ; - let subst = - match results with - | `Results results -> - let page = try int_of_string (req#param "page") with _ -> 1 in - let results_no = List.length results in - let results_per_page = - Helm_registry.get_int "search_engine.results_per_page" - in - let pages = - if results_no mod results_per_page = 0 then - results_no / results_per_page - else - results_no / results_per_page + 1 - in - let pages = if pages = 0 then 1 else pages in - let additional_pages = 3 in - let (summary, results) = MooglePp.theory_of_result page results in - [ tag "PAGE", string_of_int page; - tag "PAGES", string_of_int pages ^ " Pages"; - tag "PAGELIST", - (let inf = page - additional_pages in - let sup = page + additional_pages in - let superinf = inf - (sup - pages) in - let supersup = sup + (1 - inf) in - let n,m = - if inf >= 1 && sup <= pages then - inf,sup - else if inf < 1 then - 1, (if supersup <= pages then supersup else pages) - else (* sup > pages *) - (if superinf >= 1 then superinf else 1),pages - in - fold_n_to_m - (fun n acc -> acc ^ " " ^ - (if n = page then string_of_int n - else page_link (string_of_int n) n)) - n m ""); - tag "PREV_LINK", (if page > 1 then page_link "Prev" (page-1) else ""); - tag "NEXT_LINK", - (if page < pages then page_link "Next" (page+1) else ""); - tag "QUERY_KIND", query_kind; - tag "QUERY_SUMMARY", summary; - tag "RESULTS", results ] - | `Error msg -> - [ tag "PAGE", "1"; - tag "PAGES", "1 Page"; - tag "PAGELIST", ""; - tag "PREV_LINK", ""; - tag "NEXT_LINK", ""; - tag "QUERY_KIND", query_kind; - tag "QUERY_SUMMARY", "error"; - tag "RESULTS", msg ] - in - let advanced = - try - req#param "advanced" - with Http_types.Param_not_found _ -> "no" - in - let subst = - (tag "SEARCH_ENGINE_URL", my_own_url) :: - (tag "ADVANCED", advanced) :: - (tag "EXPRESSION", html_encode (req#param "expression")) :: - add_param_substs req#params @ - (if advanced = "no" then - [ tag "SIMPLE_CHECKED", "checked='true'"; - tag "ADVANCED_CHECKED", "" ] - else - [ tag "SIMPLE_CHECKED", ""; - tag "ADVANCED_CHECKED", "checked='true'" ]) @ - subst - in - iter_file - (fun line -> - let new_aliases = DisambiguatePp.pp_environment id_to_uris in - let processed_line = - apply_substs - (* CSC: Bug here: this is a string, not an array! *) - ((tag "NEW_ALIASES", "'" ^ javascript_quote new_aliases ^ "'") :: - subst) - line - in - output_string outchan (processed_line ^ "\n")) - moogle_TPL - -let exec_action dbd (req: Http_types.request) outchan = - let term_str = req#param "expression" in - try - if req#path = "/elim" && - not (Pcre.pmatch ~rex:identifier_RE term_str || - Pcre.pmatch ~rex:qualified_mutind_RE term_str) then - raise Not_a_MutInd; - let (context, metasenv) = ([], []) in - let id_to_uris_raw = - try req#param "aliases" - with Http_types.Param_not_found _ -> "" - in - let parse_interpretation_choices choices = - List.map int_of_string (Pcre.split ~pat:" " choices) in - let parse_choices choices_raw = - let choices = Pcre.split ~pat:";" choices_raw in - List.fold_left - (fun f x -> - match Pcre.split ~pat:"\\s" x with - | ""::id::tail - | id::tail when id<>"" -> - (fun id' -> - if id = id' then - Some (List.map - (fun u -> UriManager.uri_of_string - (Netencoding.Url.decode u)) - tail) - else - f id') - | _ -> failwith "Can't parse choices") - (fun _ -> None) - choices - in - let id_to_uris = DisambiguatePp.parse_environment id_to_uris_raw in - let id_to_choices = - try - parse_choices (req#param "choices") - with Http_types.Param_not_found _ -> (fun _ -> None) - in - let interpretation_choices = - try - let choices_raw = req#param "interpretation_choices" in - if choices_raw = "" then None - else Some (parse_interpretation_choices choices_raw) - with Http_types.Param_not_found _ -> None - in - let module Chat: DisambiguateTypes.Callbacks = - struct - let interactive_user_uri_choice ~selection_mode ?ok - ?enable_button_for_non_vars ~(title: string) ~(msg: string) - ~(id: string) (choices: UriManager.uri list) - = - match id_to_choices id with - | Some choices -> choices - | None -> List.filter nonvar choices - - let interactive_interpretation_choice interpretations = - match interpretation_choices with - | Some l -> l - | None -> - let html_interpretations = - MooglePp.html_of_interpretations interpretations - in - Http_daemon.send_basic_headers ~code:(`Code 200) outchan ; - Http_daemon.send_CRLF outchan ; - let advanced = - try - req#param "advanced" - with Http_types.Param_not_found _ -> "no" - in - let query_kind = query_kind_of_req req in - iter_file - (fun line -> - let processed_line = - apply_substs - [ tag "SEARCH_ENGINE_URL", my_own_url; - tag "ADVANCED", advanced; - tag "INTERPRETATIONS", html_interpretations; - tag "CURRENT_CHOICES", req#param "choices"; - tag "EXPRESSION", html_encode (req#param "expression"); - tag "QUERY_KIND", query_kind; - tag "QUERY_SUMMARY", "disambiguation"; - tag "ACTION", string_tail req#path ] - line - in - output_string outchan (processed_line ^ "\n")) - choices_TPL; - raise Chat_unfinished - - let input_or_locate_uri ~title ?id () = - match id with - | Some id -> raise (Unbound_identifier id) - | None -> assert false - end - in - let module Disambiguate' = Disambiguate.Make(Chat) in - let ast = Grammar.Entry.parse CicNotationParser.term (Stream.of_string term_str) in - let (id_to_uris, metasenv, term) = - match - Disambiguate'.disambiguate_term ~dbd ~context ~metasenv - ~aliases:id_to_uris ast - with - | [id_to_uris,metasenv,term,_] -> id_to_uris,metasenv,term - | _ -> assert false - in - let uris = - match req#path with - | "/match" -> MetadataQuery.match_term ~dbd term - | "/instance" -> MetadataQuery.instance ~dbd term - | "/hint" -> - let status = ProofEngineTypes.initial_status term metasenv in - let intros = PrimitiveTactics.intros_tac () in - let subgoals = ProofEngineTypes.apply_tactic intros status in - (match subgoals with - | proof, [goal] -> - let (uri,metasenv,bo,ty) = proof in - List.map fst (MetadataQuery.experimental_hint ~dbd (proof, goal)) - | _ -> assert false) - | "/elim" -> - let uri = - match term with - | Cic.MutInd (uri, typeno, _) -> - UriManager.uri_of_uriref uri typeno None - | _ -> raise Not_a_MutInd - in - MetadataQuery.elim ~dbd uri - | _ -> assert false - in - let uris = List.map UriManager.string_of_uri uris in - send_results ~id_to_uris (`Results uris) req outchan - with - | Not_a_MutInd -> - send_results (`Error (MooglePp.pp_error "Not an inductive type" - ("elim requires as input an identifier corresponding to an inductive" - ^ " type"))) - req outchan - -let callback dbd (req: Http_types.request) outchan = - try - debug_print (sprintf "Received request: %s" req#path); - (match req#path with - | "/getpage" -> - (* TODO implement "is_permitted" *) - (let is_permitted page = not (Pcre.pmatch ~pat:"/" page) in - let page = req#param "url" in - let fname = sprintf "%s/%s" pages_dir page in - let preprocess = - (try - bool_of_string (req#param "preprocess") - with Invalid_argument _ | Http_types.Param_not_found _ -> false) - in - (match page with - | page when is_permitted page && Sys.file_exists fname -> - Http_daemon.send_basic_headers ~code:(`Code 200) outchan; - Http_daemon.send_header "Content-Type" "text/html" outchan; - Http_daemon.send_CRLF outchan; - if preprocess then begin - iter_file - (fun line -> - output_string outchan - ((apply_substs - ((tag "SEARCH_ENGINE_URL", my_own_url) :: - (tag "ADVANCED", "no") :: - (tag "RESULTS", "") :: - add_param_substs req#params) - line) ^ - "\n")) - fname - end else - Http_daemon.send_file ~src:(Http_types.FileSrc fname) outchan - | page -> Http_daemon.respond_forbidden ~url:page outchan)) - | "/help" -> Http_daemon.respond ~body:daemon_name outchan - | "/locate" -> - let initial_expression = - try req#param "expression" with Http_types.Param_not_found _ -> "" - in - let expression = - Pcre.replace ~pat:"\\s*$" - (Pcre.replace ~pat:"^\\s*" initial_expression) - in - if expression = "" then - send_results (`Results []) req outchan - else begin - let results = MetadataQuery.locate ~dbd expression in - let results = List.map UriManager.string_of_uri results in - send_results (`Results results) req outchan - end - | "/hint" - | "/elim" - | "/instance" - | "/match" -> exec_action dbd req outchan - | invalid_request -> - Http_daemon.respond_error ~code:(`Status (`Client_error `Bad_request)) - outchan); - debug_print (sprintf "%s done!" req#path) - with - | Chat_unfinished -> () - | Http_types.Param_not_found attr_name -> - bad_request (sprintf "Parameter '%s' is missing" attr_name) outchan - | CicNotationParser.Parse_error (_, msg) -> - send_results (`Error (MooglePp.pp_error "Parse error" msg)) req outchan - | Unbound_identifier id -> - send_results (`Error (MooglePp.pp_error "Unbound identifier" id)) req - outchan - | exn -> - let exn_string = Printexc.to_string exn in - debug_print exn_string; - let msg = MooglePp.pp_error "Uncaught exception" exn_string in - send_results (`Error msg) req outchan - -let restore_environment () = - match - Helm_registry.get_opt Helm_registry.string "search_engine.environment_dump" - with - | None -> () - | Some fname -> - printf "Restoring Cic environment from %s ... " fname; flush stdout; - let ic = open_in fname in - CicEnvironment.restore_from_channel ic; - close_in ic; - printf "done!\n"; flush stdout - -let read_notation () = - CicNotation.load_notation (Helm_registry.get "search_engine.notations"); - CicNotation.load_notation (Helm_registry.get "search_engine.interpretations") - -let _ = - printf "%s started and listening on port %d\n" daemon_name port; - printf "Current directory is %s\n" (Sys.getcwd ()); - printf "HTML directory is %s\n" pages_dir; - flush stdout; - Unix.putenv "http_proxy" ""; - let dbd = - Mysql.quick_connect - ~host:(Helm_registry.get "db.host") - ~database:(Helm_registry.get "db.database") - ~user:(Helm_registry.get "db.user") - () - in - restore_environment (); - read_notation (); - Http_daemon.start' ~port (callback dbd); - printf "%s is terminating, bye!\n" daemon_name - diff --git a/helm/uwobo-panel/.cvsignore b/helm/uwobo-panel/.cvsignore deleted file mode 100644 index 335ec9573..000000000 --- a/helm/uwobo-panel/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.tar.gz diff --git a/helm/uwobo-panel/Makefile b/helm/uwobo-panel/Makefile deleted file mode 100644 index cb4fdd95a..000000000 --- a/helm/uwobo-panel/Makefile +++ /dev/null @@ -1,11 +0,0 @@ - -all: - -clean: - rm -f uwobo-panel.tar.gz - -cleanbak: - rm -rf *~ - -dist: clean cleanbak - cd ..; tar cvfz uwobo-panel.tar.gz uwobo-panel ; mv uwobo-panel.tar.gz uwobo-panel diff --git a/helm/uwobo-panel/control.html b/helm/uwobo-panel/control.html deleted file mode 100644 index d47e6f749..000000000 --- a/helm/uwobo-panel/control.html +++ /dev/null @@ -1,638 +0,0 @@ - - - -UWOBO Control Panel - - - - - - - - - - - -
      UWOBO Control Panel
      - -
      - -
      -This is a control panel for the UWOBO Web-Service. You can control a local or remote UWOBO service by filling -the appropriate fields below and sending the desired commands. In most cases, results of commands, such as error -messages or documents, will be opened in the frame at the bottom of this page. For those commands sending multiple -requests to the UWOBO server, a new window will be opened for each request issued. Note that in order to use -this page you must have JavaScript enabled. - -

      - -The sections: - - -In case you want to customize the panel for your own needs, you can download the source archive -(HTML + JavaScript): - - -
      - - - - - - - -
      Global Parameterstop
      - -
      - -
      -The following are global parameters used by all the other section to contact the UWOBO service and possibly a -Getter. The Getter is not required for some operations and can be excluded by unchecking the proper buttons -below. - -

      - -The following is the URL used to contact the UWOBO Web-Service. -localhost is relative to your machine. - -

      - - - - - - - - - - -
      UWOBO URL
      - - - - -
      - -
      -
      -
      - -
      -
      - -The following is the URL used to contact the getter. The getter is usually launched manually. -In all cases except for the check button below, -localhost is relative to the host running UWOBO, because the getter URL is sent as -a parameter along with UWOBO commands. In other words, localhost is the host -running UWOBO and not your machine. - -

      - - - - - - - - - - -
      Getter URL
      -
      - -
      -
      -
      - -
      -
      -
      - -
      -
      -
      - -
      - -
      - - - - - -
      Daemon Managementtop
      - -
      - -
      -

      You can start a new daemon on a given port. The new daemon will have - an empty list of processed stylesheets. -

      - - - - - - - - -
      Port
      -
      - -
      -
      -
      - -
      -
      -
      - -
      - -
      -

      You can also kill the daemon. The log file will be mantained.

      - - - - -
      -
      - -
      -
      -
      - -
      -
      - - - - - -
      Queriestop
      - -
      - -
      - -The following are commands to do some simple queries about the UWOBO service. - -

      - - - - - - - - - - - - - - -
      - Retrieve the version of the UWOBO service running at the UWOBO URL and list the syntax - of the accepted commands. - You can use this button to verify that a UWOBO service - is actually running there: -
      - Ask UWOBO for a list of the stylesheets currently compiled inside the Web-Service, along with their keys: -
      - -
      - -
      - -
      -
      - - - - - -
      Profilestop
      - -
      - -
      - -The following are commands to list and edit the UWOBO profiles. - -

      - -

      List existent profiles.

      - - - - -
      - -

      Create a new profile.

      - - - - - - - - - - - - -
      NameParent profileParent profile password
      -
      - -
      -
      -
      - -
      -
      -
      - -
      -
      -
      - -
      -
      - -

      Remove a profile.

      - - - - - - - - - - -
      NamePassword
      -
      - -
      -
      -
      - -
      -
      -
      - -
      -
      - -

      Show profile parameters.

      - - - - - - - - - - -
      NamePassword
      -
      - -
      -
      -
      - -
      -
      -
      - -
      -
      - -

      Set profile parameters.

      - - - - - - - - - - - - - - -
      NamePasswordParameter nameParameter value
      -
      - -
      -
      -
      - -
      -
      -
      - -
      -
      -
      - -
      -
      -
      - -
      -
      - -
      - -
      - -
      - - - - - -
      Stylesheet Managementtop
      - -
      - -
      - -In this section you can add, remove and reload stylesheet into the server. There are -some frequently used stylesheets whose URIs and keys can be automatically filled in -by selecting one of the options of the box below. Note that for such stylesheets -the getter is used by default (you can deselect it, however): - -

      - - - - - - - - - - -
      Predefined Stylesheets
      -
      - -
      -
      -
      - -
      -
      -
      - -
      -
      - -Here you have to identify a stylesheet by means of a relative or absolute URI. Usually -you will specify a relative URI when using the getter to retrieve the stylesheet. -Moreover, you can specify a key associated to this stylesheet, so that it will be easier to -refer to it in subsequent operations. If escaping is enabled, then the stylesheet URI will -be escaped. This might be particularly useful if the stylesheet is loaded by the getter. - -

      - - - - - - - - - - - - - - - - - -
      StylesheetKeyUse GetterEscape
      -
      - -
      -
      -
      - -
      -
      -
      - -
      -
      -
      - -
      -
      -
      - -
      -
      -
      - -
      -
      -
      - -
      -
      - -Use the buttons below to remove or reload all the stylesheets. -Use these commands with -care, and remember that UWOBO can be shared among different users: - -

      - - - - - - -
      -
      - -
      -
      -
      - -
      -
      -
      - -
      - - - - - -
      Processingtop
      - -
      - -
      - -You can use the "Apply" command to perform a transformation. Specify the URI of the source -document in the form below. The URI can be relative or absolute (in the former case you -will probably want to enable the use of the getter). -If escaping is enabled, then special characters are escaped. This might be particularly useful -if the source is loaded by the getter. - -

      - - - - - - - - - - -
      Source DocumentEscape
      -
      - -
      -
      -
      - -
      -
      - -You can specify a sequence of zero or more parameters separated by blanks. Each -parameter is made of a name immediately followed by = and then a value. -If "Escape" is checked, then parameters are escaped in the final -URI. - -

      - - - - - - - - - - -
      Parameters (optional)Escape
      -
      - -
      -
      -
      - -
      -
      - -In the key list specify a list of keys -separated by blanks. This is the list of stylesheets to be applied in sequence to the -source document. -When ready, click on the button and have fun! - -

      - - - - - - - - - - - -
      Key listUse Getter
      -
      - -
      -
      -
      - -
      -
      -
      - -
      -
      - -
      - - - - - - -
      Page maintained by: Luca Padovanitop
      - - - - - diff --git a/helm/uwobo-panel/control.js b/helm/uwobo-panel/control.js deleted file mode 100644 index 9858fe140..000000000 --- a/helm/uwobo-panel/control.js +++ /dev/null @@ -1,234 +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 getInitialPort() -{ - return "38080"; -} - -function getInitialProcessorURL() -{ - return getParam("processorURL", "http://mowgli.cs.unibo.it:58080/"); -} - -function getInitialGetterURL() -{ - return getParam("getterURL", "http://mowgli.cs.unibo.it:58081/"); -} - -function getUwoboURL() -{ - return document.uwoboURL.elements[0].value; -} - -function getGetterURL() -{ - return document.getterURL.elements[0].value; -} - -function selectUwoboURL(ss) -{ - if (ss.selectedIndex == 0) { - document.uwoboURL.elements[0].value = ""; - } else { - document.uwoboURL.elements[0].value = "http://" + ss.options[ss.selectedIndex].value + ":58080/"; - } -} - -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/"; - } -} - -function getPredefinedStylesheetKey(i) -{ - var v = document.predefinedStylesheets.elements[0].options[i].value; - var va = v.split(","); - return va[0]; -} - -function getPredefinedStylesheetURI(i) -{ - var v = document.predefinedStylesheets.elements[0].options[i].value; - var va = v.split(","); - return va[1]; -} - -function getPredefinedStylesheetUseGetter(i) -{ - var v = document.predefinedStylesheets.elements[0].options[i].value; - var va = v.split(","); - return va[2]; -} - -function selectPredefinedStylesheet(ss) -{ - if (ss.selectedIndex == 0) { - document.stylesheetURI.elements[0].value = ""; - document.stylesheetKey.elements[0].value = ""; - } else { - document.stylesheetURI.elements[0].value = getPredefinedStylesheetURI(ss.selectedIndex); - document.stylesheetKey.elements[0].value = getPredefinedStylesheetKey(ss.selectedIndex); - } - - document.loadUseGetter.elements[0].checked = getPredefinedStylesheetUseGetter(ss.selectedIndex) == "true" ? true : false; - document.loadEscape.elements[0].checked = true; -} - -function getProfileParams() -{ - var password = document.getParamsProfilePassword.elements[0].value; - if (password != "") { password = "&password=" + password; }; - - top.result.location.replace(getUwoboURL() + "getparams?id=" + document.getParamsProfileID.elements[0].value + password); -} - -function setProfileParam() -{ - var password = document.setParamProfilePassword.elements[0].value; - if (password != "") { password = "&password=" + password; }; - - top.result.location.replace(getUwoboURL() + "setparam?id=" + document.setParamProfileID.elements[0].value + "&key=" + document.setParamProfileKey.elements[0].value + "&value=" + document.setParamProfileValue.elements[0].value + password); -} - -function createProfile() -{ - var id = document.createProfileID.elements[0].value; - if (id != "") { id = "&id=" + id; }; - - var password = document.createProfilePassword.elements[0].value; - if (password != "") { password = "&password=" + password; }; - - var clone = document.createProfileClone.elements[0].value; - if (clone != "") { clone = "&orig=" + clone; }; - - top.result.location.replace(getUwoboURL() + "createprofile?foo=x" + id + password + clone); -} - -function removeProfile() -{ - var password = document.removeProfilePassword.elements[0].value; - if (password != "") { password = "&password=" + password; }; - - top.result.location.replace(getUwoboURL() + "removeprofile?id=" + document.removeProfileID.elements[0].value + password); -} - -function getStylesheetURL() -{ - var s; - - if (document.loadUseGetter.elements[0].checked) { - s = getGetterURL() + "getxslt?uri=" + document.stylesheetURI.elements[0].value; - } else { - s = document.stylesheetURI.elements[0].value; - } - - if (document.loadEscape.elements[0].checked) s = escape(s); - - return s; -} - -function loadStylesheet() -{ - top.result.location.replace(getUwoboURL() + "add?bind=" + document.stylesheetKey.elements[0].value + "," + getStylesheetURL()); -} - -function removeStylesheet() -{ - top.result.location.replace(getUwoboURL() + "remove?keys=" + document.stylesheetKey.elements[0].value); -} - -function removeAllStylesheets() -{ - top.result.location.replace(getUwoboURL() + "remove?keys="); -} - -function reloadStylesheet() -{ - top.result.location.replace(getUwoboURL() + "reload?keys=" + document.stylesheetKey.elements[0].value); -} - -function reloadAllStylesheets() -{ - top.result.location.replace(getUwoboURL() + 'reload?keys='); -} - -function loadAllPredefined() -{ - with (document.predefinedStylesheets.elements[0]) { - var i; - var request = ""; - - for (i = 1; i < length; i++) - request += - (request == "" ? "" : "&") + - "bind=" + getPredefinedStylesheetKey(i) + "," + escape((getPredefinedStylesheetUseGetter(i) == "true" ? (getGetterURL() + "getxslt?uri=") : "") + getPredefinedStylesheetURI(i)); - top.result.location.replace(getUwoboURL() + "add?" + request); - } -} - -function removeAllPredefined() -{ - with (document.predefinedStylesheets.elements[0]) { - var i; - var request = ""; - - for (i = 1; i < length; i++) - request += getPredefinedStylesheetKey(i) + (i == length - 1 ? "" : ","); - top.result.location.replace(getUwoboURL() + "remove?keys=" + request); - } -} - -function applyStylesheets() -{ - var i = 0; - var keyList = document.keyList.elements[0].value.split(" "); - - var url = getUwoboURL() + "apply?xmluri="; - - var sourceURL = ""; - - if (document.applyUseGetter.elements[0].checked) - sourceURL += getGetterURL() + "getxml?uri="; - - sourceURL += document.sourceDocument.elements[0].value; - - if (document.escapeSource.elements[0].checked) - url += escape(sourceURL); - else - url += sourceURL; - - url += "&keys="; - for (i = 0; i < keyList.length; i++) { - url += keyList[i]; - if (i < keyList.length - 1) url += ","; - } - - var paramList = document.parameters.elements[0].value.split(" "); - for (i = 0; i < paramList.length; i++) - if (paramList[i].length > 0) { - if (document.escapeParameters.elements[0].checked) { - var p = paramList[i].split("="); - url += "¶m." + p[0] + "=" + escape(p[1]); - } else - url += "¶m." + paramList[i]; - } - - top.result.location.replace(url); -} diff --git a/helm/uwobo-panel/index.html b/helm/uwobo-panel/index.html deleted file mode 100644 index caeebcf24..000000000 --- a/helm/uwobo-panel/index.html +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/helm/uwobo-panel/welcome.html b/helm/uwobo-panel/welcome.html deleted file mode 100644 index f6fbed438..000000000 --- a/helm/uwobo-panel/welcome.html +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/helm/uwobo/.cvsignore b/helm/uwobo/.cvsignore deleted file mode 100644 index 7a77a0ecd..000000000 --- a/helm/uwobo/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -*.cmi -*.cmo -*.cmx -*.cma -*.cmxa -uwobo -uwobo.opt diff --git a/helm/uwobo/.depend b/helm/uwobo/.depend deleted file mode 100644 index a37a2cd19..000000000 --- a/helm/uwobo/.depend +++ /dev/null @@ -1,18 +0,0 @@ -uwobo.cmo: uwobo_common.cmi uwobo_engine.cmi uwobo_logger.cmi \ - uwobo_profiles.cmi uwobo_styles.cmi -uwobo.cmx: uwobo_common.cmx uwobo_engine.cmx uwobo_logger.cmx \ - uwobo_profiles.cmx uwobo_styles.cmx -uwobo_common.cmo: uwobo_common.cmi -uwobo_common.cmx: uwobo_common.cmi -uwobo_engine.cmo: uwobo_common.cmi uwobo_logger.cmi uwobo_styles.cmi \ - uwobo_engine.cmi -uwobo_engine.cmx: uwobo_common.cmx uwobo_logger.cmx uwobo_styles.cmx \ - uwobo_engine.cmi -uwobo_logger.cmo: uwobo_logger.cmi -uwobo_logger.cmx: uwobo_logger.cmi -uwobo_profiles.cmo: uwobo_profiles.cmi -uwobo_profiles.cmx: uwobo_profiles.cmi -uwobo_styles.cmo: uwobo_common.cmi uwobo_logger.cmi uwobo_styles.cmi -uwobo_styles.cmx: uwobo_common.cmx uwobo_logger.cmx uwobo_styles.cmi -uwobo_engine.cmi: uwobo_common.cmi uwobo_logger.cmi uwobo_styles.cmi -uwobo_styles.cmi: uwobo_common.cmi uwobo_logger.cmi diff --git a/helm/uwobo/Makefile b/helm/uwobo/Makefile deleted file mode 100644 index 00b578aca..000000000 --- a/helm/uwobo/Makefile +++ /dev/null @@ -1,68 +0,0 @@ -VERSION = 0.3.0 -DISTDIR = uwobo-$(VERSION) -DISTTARBALL = $(DISTDIR).tar.gz -REQUIRES = http gdome2 gdome2-xslt pcre unix helm-registry -COMMONOPTS = -package "$(REQUIRES)" -pp camlp4o -OCAMLFIND = ocamlfind -OCAMLC = $(OCAMLFIND) ocamlc $(COMMONOPTS) -OCAMLOPT = $(OCAMLFIND) ocamlopt $(COMMONOPTS) -OCAMLDEP = $(OCAMLFIND) ocamldep $(COMMONOPTS) -OCAMLDOC = \ - ocamldoc \ - $(shell $(OCAMLFIND) query -i-format http) \ - $(shell $(OCAMLFIND) query -i-format gdome2) \ - $(shell $(OCAMLFIND) query -i-format gdome2-xslt) \ - $(shell $(OCAMLFIND) query -i-format pcre) \ - $(shell $(OCAMLFIND) query -i-format unix) -MODULES = uwobo_common uwobo_styles uwobo_profiles uwobo_logger uwobo_engine -OBJS = $(patsubst %,%.cmo,$(MODULES)) -OBJSOPT = $(patsubst %,%.cmx,$(MODULES)) - -all: byte -byte: uwobo -opt: uwobo.opt -world: byte opt - -include .depend -depend: - $(OCAMLDEP) *.ml *.mli > .depend - -%.cmi: %.mli - $(OCAMLC) -c $< -%.cmo: %.ml %.cmi - $(OCAMLC) -c $< -%.cmx: %.ml %.cmi - $(OCAMLOPT) -c $< -uwobo.cmo: uwobo.ml - $(OCAMLC) -c $< -uwobo.cmx: uwobo.ml - $(OCAMLOPT) -c $< -uwobo: $(OBJS) uwobo.ml - $(OCAMLC) -linkpkg -o $@ $^ -uwobo.opt: $(OBJSOPT) uwobo.ml - $(OCAMLOPT) -linkpkg -o $@ $^ - -uwobo.dot: *.ml *.mli - $(OCAMLDOC) -dot -o $@ $^ - -distclean: clean -clean: - rm -f *.cm[aiox] *.o uwobo{,.opt,.dot} -dist: distclean depend - mkdir $(DISTDIR)/ - cp \ - $(patsubst %, %.ml, $(MODULES)) \ - $(patsubst %, %.mli, $(MODULES)) \ - uwobo.ml \ - Makefile .depend \ - $(DISTDIR)/ - tar cvzf $(DISTTARBALL) $(DISTDIR)/ - rm -rf $(DISTDIR)/ -distcheck: $(DISTTARBALL) - if [ -d $(DISTDIR) ]; then rm -rf $(DISTDIR); else true; fi - tar xvzf $< - cd $(DISTDIR); make - rm -rf $(DISTDIR) - -.PHONY: all dist distclean distcheck byte opt world depend clean - diff --git a/helm/uwobo/doc/uwobo.tex b/helm/uwobo/doc/uwobo.tex deleted file mode 100644 index 177d21dc4..000000000 --- a/helm/uwobo/doc/uwobo.tex +++ /dev/null @@ -1,216 +0,0 @@ -\documentclass{article} - -\usepackage{hyperref} - -\title{UWOBO Reference Manual\thanks{People who contributed to former -versions are Ferruccio Guidi, Riccardo Solmi, Stephen Watt.}} -\author{Luca Padovani \and Claudio Sacerdoti Coen \and Stefano -Zacchiroli} - -\begin{document} - -\maketitle - -\noindent UWOBO is a Web Service implementing a XSLT engine. It allows -XSLT stylesheets to be applied to XML documents. Once the UWOBO deamon -is up and running, commands must be sent at the URL - -\begin{verbatim} -http://hostname:uwoboport/command -\end{verbatim} - -\section*{Stylesheet Management} - -Before stylesheets can be applied to XML documents, they must be -loaded into UWOBO. This way stylesheets are compiled once and used as -many times as needed. Once loaded, each stylesheet is identified by a -unique identifier. - -\begin{verbatim} -add?bind=key,uri[&bind=key,uri[&...]] -\end{verbatim} - -The \texttt{add} command is used to load a new stylesheet, specified -by a URI, and bind it to a corresponding key. Multiple stylesheets can -be loaded at once. - -\begin{verbatim} -remove?keys=[key1,key2,...] -\end{verbatim} - -The \texttt{remove} command unloads one or more stylesheets specified -by provided keys. It removes \emph{all} the loaded stylesheets if no -key is given. - -\begin{verbatim} -reload?keys=[key1,key2,...] -\end{verbatim} - -The \texttt{reload} command reloads previously loaded stylesheets -specified by the provided keys. It reloads all the loaded stylesheets -if no key is given. This command is particularly useful during -stylesheet development (assuming the URI of the loaded stylesheets -does not change), since it does not require the client to specify the -URL of the stylesheets again. - -\begin{verbatim} -list -\end{verbatim} - -The \texttt{list} command returns the list of the loaded stylesheets -along with their associated key. - -\section*{Profile Management} - -XSLT stylesheets may have \emph{parameters} that are typically -supplied at application time. Although UWOBO supports this kind of -interaction, it may be impractical from several different points of -view. Since parameters are communicated to UWOBO in the URL, the URL -itself may become very large: the URL readibility decreases because of -its lengths and also because of the quoting of the parameter values; -moreover, there is an upper limit to the length of a URL which can be -easily reached. - -Furthermore, it is often the case that among the supplied parameters, -a large number of these stays the same between applications. - -UWOBO provides a facility to store imperatively the value of -parameters as its internal state. However, since parameters are -typically used for storing user-dependent settings and preferences, -UWOBO provides a notion of \emph{profile}. Profiles can be created as -part of UWOBO's internal state. Profiles are identified by a key (a -sequence of alphanumeric characters) and map parameter names to -parameter values. At application time, UWOBO may be instructed to take -the values of the parameters to be passed to the stylesheets from a -particular profile. - -\begin{verbatim} -listprofiles -\end{verbatim} -The \texttt{listprofiles} command returns the list of profiles -currently loaded in UWOBO. - -\begin{verbatim} -createprofile?[id=id][&orig=orig][&origpassword=origpassword] - [&readperm={public|private}][&writeperm={public|private}] - [&adminperm={public|private}][&password=password] -\end{verbatim} -The \texttt{createprofile} command creates a new profile. The -identifier of the new profile can be provided, otherwise UWOBO will -pick a randomly chosen fresh identifier. An \emph{original profile} -can optionally be cloned (a password for the original profile must be -provided if the original profile has private read -permission). Permissions for read, write, and administrative access -can be set to public or to private, the default being public. The -newly created profile may optionally have a password set (the default -is no password set). - -\begin{verbatim} -removeprofile?id=id[&password=password] -\end{verbatim} -The \texttt{removeprofile} commands erases and removes the profile -from UWOBO. The password is required if the profile has private -administrative permission. - -\begin{verbatim} -setparam?id=id[&password=password]&key=key[&value=value] -\end{verbatim} -The \texttt{setparam} command sets the parameter \texttt{key} to -\texttt{value}, if the value is provided; otherwise the parameter is -unset. The password is required if the profile has private write -permission. - -\begin{verbatim} -setpassword?id=id[&oldpassword=oldpassword][&password=password] -\end{verbatim} -The \texttt{setpassword} command changes or unset the password -associated with the profile \texttt{id}. The old password must be -provided if it was set. - -\begin{verbatim} -setpermission?id=id[&password=password] - &permission={read|write|admin}&value={public|private} -\end{verbatim} -The \texttt{setpermission} commands changes the specified -permission. Permissions can be set to private (password protected) or -public. The password is required if the profile has private -administrative permission. - -\begin{verbatim} -getparams?id=id[&password=password] -\end{verbatim} -The \texttt{getparams} command returns a list of all the parameters -set in the specified profile. The password is required if the profile -has private read permission. - -\begin{verbatim} -getparam?id=id[&password=password]&key=key -\end{verbatim} -The \texttt{getparam} commands returns the value of the specified -parameter in the profile \texttt{id}. The password is required if the -profile has private read permission. - -\begin{verbatim} -getpermission?id=id[&password=password]&for={read|write|admin} -\end{verbatim} -The \texttt{getpermission} command returns the value of the permission -\texttt{key} in the profile \texttt{id}. The password is required if -the profile has private administrative permission. - -\section*{Stylesheet Application} - -\begin{verbatim} -apply?xmluri=uri&keys=key1,key2,... - [&errormode={ignore|comment|embed}] - [&debugmode={ignore|comment|embed}] - [&profile=id][&password=password] - [¶m.name=value[¶m.name=value[&...]]] - [¶m.key.name=value[¶m.key.name=value[&...]]] - [&prop.name[=value][&prop.name[=value][&...]]] -\end{verbatim} -The \texttt{apply} command applies a chain of stylesheets, specified -by the keys \texttt{key1}, \texttt{key2}, \dots, to an input document, -specified by \texttt{uri}. Error and debugging modes can be set to -three different values: \texttt{ignore} means that LibXSLT messages -are ignored; \texttt{comment} means that LibXSLT messages are embedded -in the result document inside an XML like comment; \texttt{embed} -means that LibXSLT messages are embedded at the beginning of the -result document (as childs of the root node) in XML elements in the -UWOBO namespace. - -Parameters can be set for each stylesheet application: global -parameters (i.e. parameters passed to all stylesheets) are set using -\texttt{param.name=value} syntax, per-stylesheet parameters are set -using \texttt{param.key.name=value} where \texttt{key} is the key of a -loaded stylesheet. It is possible to specify a profile that is -searched for additional global and local parameters. The parameters -stored in the profile have lower precedence with respect to those -provided in the URL. A password must be provided if the profile has -private read permission. - -Properties of the final chain output can be set as well: valueless -properties can be set using \texttt{prop.name} syntax, others can be -set using \texttt{prop.name=value} syntax. Supported properties are -listed in the UWOBO help page. - -\section*{Miscellaneous Commands} - -\begin{verbatim} -help -\end{verbatim} -The \texttt{help} command displays an help message. - -\begin{verbatim} -newsession?port=p -\end{verbatim} -The \texttt{newsession} command forks a new daemon on a specified -port. The newly created deamon inherits the state of the original -UWOBO it was forked off. - -\begin{verbatim} -kill -\end{verbatim} -The \texttt{kill} command kills the daemon. The log file is \emph{not} -deleted. - -\end{document} \ No newline at end of file diff --git a/helm/uwobo/log/.cvsignore b/helm/uwobo/log/.cvsignore deleted file mode 100644 index 397b4a762..000000000 --- a/helm/uwobo/log/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.log diff --git a/helm/uwobo/uwobo.conf.xml.sample b/helm/uwobo/uwobo.conf.xml.sample deleted file mode 100644 index 75b6f2df7..000000000 --- a/helm/uwobo/uwobo.conf.xml.sample +++ /dev/null @@ -1,14 +0,0 @@ - - -
      - /projects/helm/var - /tmp/helm/cache -
      - -
      - /var/log/mowgli/uwobo - .log - - 58080 -
      -
      diff --git a/helm/uwobo/uwobo.ml b/helm/uwobo/uwobo.ml deleted file mode 100644 index 1a5b44f62..000000000 --- a/helm/uwobo/uwobo.ml +++ /dev/null @@ -1,817 +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/ - *) - -open Printf;; -open Uwobo_common;; - - (* debugging settings *) -let debug = false ;; -let debug_level = `Notice ;; -let debug_print s = if debug then prerr_endline s ;; -Http_common.debug := false ;; - -let configuration_file = "/projects/helm/etc/uwobo.conf.xml";; - - (* First of all we load the configuration *) -let _ = - Helm_registry.load_from configuration_file -;; - -let save_configuration () = - if not (Helm_registry.has "uwobo.cloned") then - Helm_registry.save_to configuration_file -;; - - (* other settings *) -let daemon_name = "UWOBO OCaml" ;; -let default_media_type = "text/html" ;; -let default_encoding = "utf8" ;; - -let get_media_type props = - try - List.assoc "media-type" props - with - Not_found -> default_media_type -;; - -let get_encoding props = - try - List.assoc "encoding" props - with - Not_found -> default_encoding -;; - -let string_of_param_option (req: Http_types.request) name = - try - req#param name - with - Http_types.Param_not_found _ -> "#" - -let string_option_of_string = - function - "#" -> None - | s -> Some s - -let port = Helm_registry.get_int "uwobo.port";; - -let logfilename_of_port port = - let basename = Helm_registry.get "uwobo.log_basename" in - let extension = Helm_registry.get "uwobo.log_extension" in - basename ^ "_" ^ string_of_int port ^ extension -;; - -let logfile = logfilename_of_port port;; -let logfile_perm = 0o640 ;; - -let respond_html body outchan = - Http_daemon.respond ~body ~headers:["Content-Type", "text/html"] outchan -;; - - (** perform an 'action' that can be applied to a list of keys or, if no keys - was given, to all keys *) -let act_on_keys - keys_param styles logger per_key_action all_keys_action all_keys logmsg -= - let keys = - try - Pcre.split ~pat:"," keys_param - with Http_types.Param_not_found _ -> [] - in - match keys with - | [] -> (* no key provided, act on all stylesheets *) - logger#log (sprintf "%s all stylesheets (keys = %s) ..." - logmsg (String.concat ", " all_keys)); - (try all_keys_action () with e -> logger#log (Printexc.to_string e)); - logger#log (sprintf "Done! (all stylesheets)") - | keys -> - List.iter - (fun key -> (* act on a single stylesheet *) - logger#log (sprintf "%s stylesheet %s" logmsg key); - (try per_key_action key with e -> logger#log (Printexc.to_string e)); - logger#log (sprintf "Done! (stylesheet %s)" key)) - keys -;; - - (** parse parameters for '/apply' action *) -let parse_apply_params = - let is_global_param x = Pcre.pmatch ~pat:"^param(\\.[^.]+){1}$" x in - let is_local_param x = Pcre.pmatch ~pat:"^param(\\.[^.]+){2}$" x in - let is_property x = Pcre.pmatch ~pat:"^prop\\.[^.]+$" x in - List.fold_left - (fun (old_params, old_properties) (name, value) -> - match name with - | name when is_global_param name -> - let name = Pcre.replace ~pat:"^param\\." name in - ((fun x -> (old_params x) @ [name, value]), old_properties) - | name when is_local_param name -> - let pieces = Pcre.extract ~pat:"^param\\.([^.]+)\\.(.*)" name in - let (key, name) = (pieces.(1), pieces.(2)) in - ((function - | x when x = key -> [name, value] @ (old_params x) - | x -> old_params x), - old_properties) - | name when is_property name -> - let name = Pcre.replace ~pat:"^prop\\." name in - (old_params, ((name, value) :: old_properties)) - | _ -> (old_params, old_properties)) - ((fun _ -> []), []) (* no parameters, no properties *) -;; - -let serialize_param_list = - let is_global_param = Pcre.pmatch ~pat:"^param(\\.[^.]+){1}$" in - let is_local_param = Pcre.pmatch ~pat:"^param(\\.[^.]+){2}$" in - function params -> - let param_value_list = - List.filter - (fun (param, _) -> (is_global_param param) || (is_local_param param)) - params - in - (String.concat - "," - (List.map - (fun (param, value) -> (Pcre.replace ~pat:"^param\\." param) ^ "=" ^ value) - param_value_list)) - -let deserialize_param_list = - List.map - (fun pv -> - match Pcre.split ~pat:"=" pv with - [key] -> (key, None) - | [key; value] -> (key, Some value) - | _ -> assert false) - -(** Parse libxslt's message modes for error and debugging messages. Default is - to ignore mesages of both kind *) -let parse_libxslt_msgs_mode (req: Http_types.request) = - ((try - (match req#param "errormode" with - | s when String.lowercase s = "ignore" -> LibXsltMsgIgnore - | s when String.lowercase s = "comment" -> LibXsltMsgComment - | s when String.lowercase s = "embed" -> LibXsltMsgEmbed - | err -> - raise (Uwobo_failure - (sprintf - "Unknown value '%s' for parameter '%s', use one of '%s' or '%s'" - err "errormode" "ignore" "comment"))) - with Http_types.Param_not_found _ -> LibXsltMsgIgnore), - (try - (match req#param "debugmode" with - | s when String.lowercase s = "ignore" -> LibXsltMsgIgnore - | s when String.lowercase s = "comment" -> LibXsltMsgComment - | s when String.lowercase s = "embed" -> LibXsltMsgEmbed - | err -> - raise (Uwobo_failure - (sprintf - "Unknown value '%s' for parameter '%s', use one of '%s' or '%s'" - err "debugmode" "ignore" "comment"))) - with Http_types.Param_not_found _ -> LibXsltMsgIgnore)) -;; - - (** send ~cmd (without trailing "\n"!) through ~cmd_pipe, then wait for answer - on ~res_pipe (with a timeout of 60 seconds) and send over outchan data - received from ~res_pipe *) -let short_circuit_grandfather_and_client ~cmd ~cmd_pipe ~res_pipe outchan = -(* debug_print (sprintf "Sending command '%s' to grandparent ..." cmd); *) - output_string cmd_pipe (cmd ^ "\n"); (* send command to grandfather *) - flush cmd_pipe; - let res_pipe_fd = Unix.descr_of_in_channel res_pipe in - let (read_fds, _, _) = (* wait for an answer *) - Unix.select [res_pipe_fd] [] [] 60.0 - in - (match read_fds with - | [fd] when fd = res_pipe_fd -> (* send answer to http client *) - Http_daemon.send_basic_headers ~code:(`Code 200) outchan; - Http_daemon.send_header "Content-Type" "text/html" outchan; - Http_daemon.send_CRLF outchan; - (try - while true do - output_string outchan ((input_line res_pipe) ^ "\n") - done - with End_of_file -> flush outchan) - | _ -> (* no answer received from grandfather *) - return_error "Timeout!" outchan) -;; - -let (add_cmd_RE, remove_cmd_RE, reload_cmd_RE, kill_cmd_RE, - createprofile_cmd_RE, removeprofile_cmd_RE, setprofileparam_cmd_RE, - setparams_cmd_RE, setpassword_cmd_RE, setpermission_cmd_RE) = - (Pcre.regexp "^add ", Pcre.regexp "^remove ", Pcre.regexp "^reload ", - Pcre.regexp "^kill", Pcre.regexp "^createprofile ", Pcre.regexp "^removeprofile ", - Pcre.regexp "^setprofileparam ", - Pcre.regexp "^setparams ", Pcre.regexp "^setpassword ", Pcre.regexp "^setpermission ") -;; - - (** raised by child processes when HTTP daemon process have to be restarted *) -exception Restart_HTTP_daemon ;; - - (** log a list of libxslt's messages using a processing logger *) -let log_libxslt_msgs logger libxslt_logger = - List.iter - (function - | (LibXsltErrorMsg _) as msg -> logger#logBold (string_of_xslt_msg msg) - | (LibXsltDebugMsg _) as msg -> logger#logEmph (string_of_xslt_msg msg)) - libxslt_logger#msgs -;; - - (* LibXSLT logger *) -let veillogger = new Uwobo_common.libXsltLogger ;; - - (* start_new_session cmd_pipe_exit res_pipe_entrance outchan port logfile - @param cmd_pipe Pipe to be closed before forking - @param res_pipe Pipe to be closed before forking - @param outchan To be closed before forking - @param port The port to be used - @param logfile The logfile to redirect the stdout and sterr to - *) - (* It can raise Failure "Connection refused" *) - (* It can raise Failure "Port already in use" *) -let start_new_session cmd_pipe res_pipe outchan port logfile = - (* Let's check that the port is free *) - (try - ignore - (Http_user_agent.get - ("http://127.0.0.1:" ^ string_of_int port ^ "/help")) ; - raise (Failure "Port already in use") - with - Unix.Unix_error (Unix.ECONNREFUSED, _, _) -> () - ) ; - match Unix.fork () with - 0 -> - Unix.handle_unix_error - (function () -> - (* 1. We close all the open pipes to avoid duplicating them *) - Unix.close (Unix.descr_of_out_channel cmd_pipe) ; - Unix.close (Unix.descr_of_in_channel res_pipe) ; - Unix.close (Unix.descr_of_out_channel outchan) ; - (* 2. We redirect stdout and stderr to the logfile *) - Unix.close Unix.stdout ; - assert - (Unix.openfile logfile [Unix.O_WRONLY ; Unix.O_APPEND ; Unix.O_CREAT] - 0o664 = Unix.stdout) ; - Unix.close Unix.stderr ; - assert - (Unix.openfile logfile [Unix.O_WRONLY ; Unix.O_APPEND ; Unix.O_CREAT] - 0o664 = Unix.stderr) ; - prerr_endline "***** Starting a new session" ; - - (* 3. We set up a new environment *) - let environment = - (* Here I am loosing the current value of port_env_var; *) - (* this should not matter *) - Unix.putenv "uwobo__port" (string_of_int port) ; - Unix.putenv "uwobo__cloned" "1" ; - Unix.environment () - in - (* 4. We exec a new copy of uwobo *) - Unix.execve Sys.executable_name [||] environment ; - (* It should never reach this point *) - assert false - ) () - | child when child > 0 -> - (* let's check if the new UWOBO started correctly *) - Unix.sleep 5 ; - (* It can raise Failure "Connection refused" *) - (try - ignore - (Http_user_agent.get - ("http://127.0.0.1:" ^ string_of_int port ^ "/help")) - with Unix.Unix_error (Unix.ECONNREFUSED, _, _) -> - raise (Failure "Connection refused")) - | _ -> failwith "Can't fork :-(" -;; - - (* request handler action - @param syslogger Uwobo_logger.sysLogger instance used for logginf - @param styles Uwobo_styles.styles instance which keeps the stylesheets list - @param cmd_pipe output _channel_ used to _write_ update messages - @param res_pipe input _channel_ used to _read_ grandparent results - @param req http request instance - @param outchan output channel connected to http client - *) -let callback - ~syslogger ~styles ~cmd_pipe ~res_pipe () (req: Http_types.request) outchan - = - try - syslogger#log `Notice (sprintf "Connection from %s" req#clientAddr); - syslogger#log `Debug (sprintf "Received request: %s" req#path); - (match req#path with - | "/add" -> - (let bindings = req#paramAll "bind" in - if bindings = [] then - return_error "No [key,stylesheet] binding provided" outchan - else begin - let cmd = sprintf "add %s" (String.concat ";" bindings) in - short_circuit_grandfather_and_client ~cmd ~cmd_pipe ~res_pipe outchan - end) - | "/kill" -> - let logger = new Uwobo_logger.processingLogger () in - logger#log "Exiting" ; - respond_html logger#asHtml outchan ; - let cmd = "kill" in - short_circuit_grandfather_and_client ~cmd ~cmd_pipe ~res_pipe outchan - | "/newsession" -> - let logger = new Uwobo_logger.processingLogger () in - let port = int_of_string (req#param "port") in - let logfile = logfilename_of_port port in - (try - start_new_session cmd_pipe res_pipe outchan port logfile ; - logger#log (sprintf "New session started: port = %d" port) ; - respond_html logger#asHtml outchan - with - Failure "int_of_string" -> - logger#log (sprintf "Invalid port number") ; - respond_html logger#asHtml outchan - | Failure "Port already in use" -> - Uwobo_common.return_error "port already in use" outchan - | Failure "Connection refused" -> - let log = ref [] in - (try - let ch = open_in logfile in - while true do log := (input_line ch ^ "\n") :: !log ; done - with - Sys_error _ - | End_of_file -> () - ) ; - let rec get_last_lines acc = - function - (n,he::tl) when n > 0 -> - get_last_lines (he ^ "
      " ^ acc) (n-1,tl) - | _ -> acc - in - (* we just show the last 10 lines of the log file *) - let msg = - (if List.length !log > 0 then "
      ...
      " else "
      ") ^ - get_last_lines "" (10,!log) - in - Uwobo_common.return_error "daemon not initialized" - ~body:msg outchan) - | "/remove" -> - let cmd = sprintf "remove %s" (req#param "keys") in - short_circuit_grandfather_and_client ~cmd ~cmd_pipe ~res_pipe outchan - | "/reload" -> - let cmd = sprintf "reload %s" (req#param "keys") in - short_circuit_grandfather_and_client ~cmd ~cmd_pipe ~res_pipe outchan - | "/list" -> - (let logger = new Uwobo_logger.processingLogger () in - (match styles#list with - | [] -> logger#log "No stylesheets loaded (yet)!" - | l -> - logger#log "Stylesheets list:"; - List.iter (fun s -> logger#log s) l); - respond_html logger#asHtml outchan) - | "/listprofiles" -> - let profile_list = Uwobo_profiles.list () in - respond_html ("
        " ^ String.concat "" (List.map (fun s -> "
      • " ^ s ^ "
      • ") profile_list) ^ "
      ") outchan - | "/createprofile" -> - let serialized_param_value_list = serialize_param_list req#params in - let cmd = sprintf "createprofile %s,%s,%s,%s,%s,%s,%s,%s" - (string_of_param_option req "id") - (string_of_param_option req "orig") - (string_of_param_option req "origpassword") - (string_of_param_option req "readperm") - (string_of_param_option req "writeperm") - (string_of_param_option req "adminperm") - (string_of_param_option req "password") - serialized_param_value_list - in - short_circuit_grandfather_and_client ~cmd ~cmd_pipe ~res_pipe outchan - | "/removeprofile" -> - let cmd = sprintf "removeprofile %s,%s" - (req#param "id") - (string_of_param_option req "password") - in - short_circuit_grandfather_and_client ~cmd ~cmd_pipe ~res_pipe outchan - | "/setparam" -> - let cmd = sprintf "setprofileparam %s,%s,%s,%s" - (string_of_param_option req "id") - (string_of_param_option req "password") - (req#param "key") - (string_of_param_option req "value") - in - short_circuit_grandfather_and_client ~cmd ~cmd_pipe ~res_pipe outchan - | "/setpassword" -> - let cmd = sprintf "setpassword %s,%s,%s" - (req#param "id") - (string_of_param_option req "oldpassword") - (string_of_param_option req "password") - in - short_circuit_grandfather_and_client ~cmd ~cmd_pipe ~res_pipe outchan - | "/setpermission" -> - begin - match req#param "for" with - "read" - | "write" - | "admin" as forwhat -> - let cmd = sprintf "setpermission %s,%s,%s,%s" - (req#param "id") - (string_of_param_option req "password") - forwhat - (req#param "value") - in - short_circuit_grandfather_and_client ~cmd ~cmd_pipe ~res_pipe outchan - | _ -> Http_daemon.respond_error ~code:(`Status (`Client_error `Bad_request)) outchan - end - | "/getparams" -> - let pid = req#param "id" in - let password = try Some (req#param "password") with _ -> None in - let res = Uwobo_profiles.get_params pid ?password () in - respond_html - ("
        " ^ - String.concat "" (List.map (fun (k,v) -> "
      • " ^ k ^ " = " ^ v ^ "
      • ") res) ^ - "
      ") outchan - | "/setparams" -> - let serialized_param_value_list = serialize_param_list req#params in - let cmd = sprintf "setparams %s,%s,%s" - (req#param "id") - (string_of_param_option req "password") - serialized_param_value_list - in - short_circuit_grandfather_and_client ~cmd ~cmd_pipe ~res_pipe outchan - | "/getparam" -> - let pid = req#param "id" in - let password = try Some (req#param "password") with _ -> None in - let key = req#param "key" in - let value = Uwobo_profiles.get_param pid ?password ~key () in - respond_html ("" ^ value ^ "") outchan - | "/getpermission" -> - let pid = req#param "id" in - let password = try Some (req#param "password") with _ -> None in - let forwhat = - match req#param "for" with - "read" -> Some `Read - | "write" -> Some `Write - | "admin" -> Some `Admin - | _ -> None - in - begin - match forwhat with - Some forwhat -> - let value = Uwobo_profiles.get_permission pid ?password forwhat in - respond_html ("" ^ (if value then "public" else "private") ^ "") outchan - | None -> Http_daemon.respond_error ~code:(`Status (`Client_error `Bad_request)) outchan ; - end - | "/apply" -> - let logger = new Uwobo_logger.processingLogger () in - veillogger#clearMsgs; - let profile = try Some (req#param "profile") with _ -> None in - let password = try Some (req#param "password") with _ -> None in - let xmluri = req#param "xmluri" in - let keys = Pcre.split ~pat:"," (req#param "keys") in - (* notation: "local" parameters are those defined on a per-stylesheet - pasis (i.e. param.key.param=value), "global" parameters are those - defined for all stylesheets (i.e. param.param=value) *) - let (user_params, props) = parse_apply_params req#params in - let profile_params = - match profile with - None -> [] - | Some profile -> Uwobo_profiles.get_params profile ?password () in - let params = - (* user provided parameters override the profile parameters *) - let is_global_param x = Pcre.pmatch ~pat:"^(\\.[^.]+){1}$" ("." ^ x) in - let is_local_param x = Pcre.pmatch ~pat:"^(\\.[^.]+){2}$" ("." ^ x) in - let add key value params = - if List.mem_assoc key params then params else params @ [key,value] - in - List.fold_left - (fun old_params (name, value) -> - match name with - | name when is_global_param name -> - (fun x -> add name value (old_params x)) - | name when is_local_param name -> - let pieces = Pcre.extract ~pat:"^([^.]+)\\.(.*)" name in - let (key, name) = (pieces.(1), pieces.(2)) in - (function - | x when x = key -> add name value (old_params x) - | x -> old_params x) - | _ -> assert false) - user_params profile_params - in - let (libxslt_errormode, libxslt_debugmode) = - parse_libxslt_msgs_mode req - in - syslogger#log `Debug (sprintf "Parsing input document %s ..." xmluri); - let domImpl = Gdome.domImplementation () in - let input = domImpl#createDocumentFromURI ~uri:xmluri () in - if debug then begin - let tmp_xml, tmp_uri = - let dir = - Filename.dirname (Helm_registry.get "uwobo.log_basename") - in - dir ^ "/input.xml", dir ^ "/input.uri" - in - ignore (domImpl#saveDocumentToFile ~doc:input ~name:tmp_xml ()); - let oc = open_out tmp_uri in - output_string oc xmluri; - close_out oc - end; - syslogger#log `Debug "Applying stylesheet chain ..."; - (try - let (write_result, media_type, encoding) = (* out_channel -> unit *) - Uwobo_engine.apply - ~logger:syslogger ~styles ~keys ~params ~props ~veillogger - ~errormode:libxslt_errormode ~debugmode:libxslt_debugmode - input - in - let content_type = (* value of Content-Type HTTP response header *) - sprintf "%s; charset=%s" - (match media_type with None -> get_media_type props | Some t -> t) - (match encoding with None -> get_encoding props | Some e -> e) - in - syslogger#log `Debug - (sprintf "sending output to client (Content-Type: %s)...." - content_type); - Http_daemon.send_basic_headers ~code:(`Code 200) outchan; - Http_daemon.send_header "Content-Type" content_type outchan; - Http_daemon.send_CRLF outchan; - write_result outchan - with Uwobo_failure errmsg -> - return_error - ("Stylesheet chain application failed: " ^ errmsg) - ~body: ("

      LibXSLT's messages:

      " ^ - String.concat "
      \n" - (List.map string_of_xslt_msg veillogger#msgs)) - outchan) - | "/help" -> respond_html usage_string outchan - | invalid_request -> - Http_daemon.respond_error ~code:(`Status (`Client_error `Bad_request)) outchan); - syslogger#log `Debug (sprintf "%s done!" req#path); - with - | Http_types.Param_not_found attr_name -> - bad_request (sprintf "Parameter '%s' is missing" attr_name) outchan - | exc -> - return_error ("Uncaught exception: " ^ (Printexc.to_string exc)) outchan -;; - - (* UWOBO's startup *) -let main () = - (* (1) system logger *) - let logger_outchan = - debug_print (sprintf "Logging to file %s" logfile); - open_out_gen [Open_wronly; Open_append; Open_creat] logfile_perm logfile - in - let syslogger = - new Uwobo_logger.sysLogger ~level:debug_level ~outchan:logger_outchan () - in - syslogger#enable; - (* (2) stylesheets list *) - let styles = new Uwobo_styles.styles in - (* (3) clean up actions *) - let last_process = ref true in - let http_child = ref None in - let die_nice () = (** at_exit callback *) - if !last_process then begin - (match !http_child with - | None -> () - | Some pid -> Unix.kill pid Sys.sigterm); - syslogger#log `Notice (sprintf "%s is terminating, bye!" daemon_name); - syslogger#disable; - close_out logger_outchan - end - in - at_exit die_nice; - ignore (Sys.signal Sys.sigterm - (Sys.Signal_handle (fun _ -> raise Sys.Break))); - syslogger#log `Notice - (sprintf "%s started and listening on port %d" daemon_name port); - syslogger#log `Notice (sprintf "current directory is %s" (Sys.getcwd ())); - Unix.putenv "http_proxy" ""; (* reset http_proxy to avoid libxslt problems *) - while true do - let (cmd_pipe_exit, cmd_pipe_entrance) = Unix.pipe () in - let (res_pipe_exit, res_pipe_entrance) = Unix.pipe () in - match Unix.fork () with - | child when child > 0 -> (* (4) parent: listen on cmd pipe for updates *) - http_child := Some child; - let stop_http_daemon () = (* kill child *) - debug_print (sprintf "UWOBOmaster: killing pid %d" child); - Unix.kill child Sys.sigterm; (* kill child ... *) - ignore (Unix.waitpid [] child); (* ... and its zombie *) - in - Unix.close cmd_pipe_entrance; - Unix.close res_pipe_exit; - let cmd_pipe = Unix.in_channel_of_descr cmd_pipe_exit in - let res_pipe = Unix.out_channel_of_descr res_pipe_entrance in - (try - while true do - (* INVARIANT: 'Restart_HTTP_daemon' exception is raised only after - child process has been killed *) - debug_print "UWOBOmaster: waiting for commands ..."; - let cmd = input_line cmd_pipe in - debug_print (sprintf "UWOBOmaster: received %s command" cmd); - (match cmd with (* command from grandchild *) - | "test" -> - stop_http_daemon (); - output_string res_pipe "UWOBOmaster: Hello, world!\n"; - flush res_pipe; - raise Restart_HTTP_daemon - | line when Pcre.pmatch ~rex:kill_cmd_RE line -> (* /kill *) - exit 0 - | line when Pcre.pmatch ~rex:add_cmd_RE line -> (* /add *) - let bindings = - Pcre.split ~pat:";" (Pcre.replace ~rex:add_cmd_RE line) - in - stop_http_daemon (); - let logger = new Uwobo_logger.processingLogger () in - List.iter - (fun binding -> (* add a binding *) - let pieces = Pcre.split ~pat:"," binding in - match pieces with - | [key; style] -> - logger#log (sprintf "adding binding <%s,%s>" key style); - veillogger#clearMsgs; - (try - veillogger#clearMsgs; - styles#add key style; - log_libxslt_msgs logger veillogger; - with e -> - logger#log (Printexc.to_string e)) - | _ -> logger#log (sprintf "invalid binding %s" binding)) - bindings; - output_string res_pipe logger#asHtml; - flush res_pipe; - raise Restart_HTTP_daemon - | line when Pcre.pmatch ~rex:remove_cmd_RE line -> (* /remove *) - stop_http_daemon (); - let arg = Pcre.replace ~rex:remove_cmd_RE line in - let logger = new Uwobo_logger.processingLogger () in - veillogger#clearMsgs; - act_on_keys - arg styles logger - styles#remove (fun () -> styles#removeAll) styles#keys - "removing"; - log_libxslt_msgs logger veillogger; - output_string res_pipe (logger#asHtml); - raise Restart_HTTP_daemon - | line when Pcre.pmatch ~rex:reload_cmd_RE line -> (* /reload *) - stop_http_daemon (); - let arg = Pcre.replace ~rex:reload_cmd_RE line in - let logger = new Uwobo_logger.processingLogger () in - veillogger#clearMsgs; - act_on_keys - arg styles logger - styles#reload (fun () -> styles#reloadAll) styles#keys - "reloading"; - output_string res_pipe (logger#asHtml); - raise Restart_HTTP_daemon - | line when Pcre.pmatch ~rex:createprofile_cmd_RE line -> (* /createprofile *) - stop_http_daemon (); - begin - match (Pcre.split ~pat:"," (Pcre.replace ~rex:createprofile_cmd_RE line)) with - id::clone::clone_password::read_perm::write_perm::admin_perm::password::pv_list -> - let bool_option_of_string_option = - function - Some "true" -> Some true - | Some _ -> Some false - | None -> None - in - let pid = - Uwobo_profiles.create - ?id:(string_option_of_string id) - ?clone:(string_option_of_string clone) - ?clone_password:(string_option_of_string clone_password) - ?read_perm:(bool_option_of_string_option (string_option_of_string read_perm)) - ?write_perm:(bool_option_of_string_option (string_option_of_string write_perm)) - ?admin_perm:(bool_option_of_string_option (string_option_of_string admin_perm)) - ?password:(string_option_of_string password) - () - in - let pv_list' = (deserialize_param_list pv_list) in - List.iter - (fun (key, value) -> - Uwobo_profiles.set_param - pid ?password:(string_option_of_string password) ~key ~value ()) - pv_list' ; - save_configuration () ; - output_string res_pipe ("Profile " ^ pid ^ " created. Hi " ^ pid) ; - raise Restart_HTTP_daemon - | _ -> assert false - end - | line when Pcre.pmatch ~rex:removeprofile_cmd_RE line -> (* /removeprofile *) - stop_http_daemon (); - let pid, password = - match Pcre.split ~pat:"," (Pcre.replace ~rex:removeprofile_cmd_RE line) with - [pid; password] -> pid, (string_option_of_string password) - | _ -> assert false - in - Uwobo_profiles.remove pid ?password () ; - save_configuration () ; - output_string res_pipe "Done" ; - raise Restart_HTTP_daemon - | line when Pcre.pmatch ~rex:setparams_cmd_RE line -> (* /setparams *) - stop_http_daemon () ; - let pid, password, pv_list = - match Pcre.split ~pat:"," (Pcre.replace ~rex:setparams_cmd_RE line) with - pid::password::pv_list -> - pid, (string_option_of_string password), (deserialize_param_list pv_list) - | _ -> assert false - in - List.iter - (fun (key, value) -> Uwobo_profiles.set_param pid ?password ~key ~value ()) - pv_list ; - save_configuration () ; - output_string res_pipe "Done" ; - raise Restart_HTTP_daemon - | line when Pcre.pmatch ~rex:setprofileparam_cmd_RE line -> (* /setprofileparam *) - stop_http_daemon (); - let pid, password, key, value = - match Pcre.split ~pat:"," (Pcre.replace ~rex:setprofileparam_cmd_RE line) with - [pid; password; key; value] -> - pid, (string_option_of_string password), key, (string_option_of_string value) - | _ -> assert false - in - Uwobo_profiles.set_param pid ?password ~key ~value () ; - save_configuration () ; - output_string res_pipe "Done" ; - raise Restart_HTTP_daemon - | line when Pcre.pmatch ~rex:setpassword_cmd_RE line -> (* /setpassword *) - stop_http_daemon (); - let pid, old_password, password = - match Pcre.split ~pat:"," (Pcre.replace ~rex:setpassword_cmd_RE line) with - [pid; old_password; password] -> - pid, (string_option_of_string old_password), (string_option_of_string password) - | _ -> assert false - in - Uwobo_profiles.set_password pid ?old_password password ; - save_configuration () ; - output_string res_pipe "Done" ; - raise Restart_HTTP_daemon - | line when Pcre.pmatch ~rex:setpermission_cmd_RE line -> (* /setpermission *) - stop_http_daemon (); - let permission_of_string = - function - "read" -> `Read - | "write" -> `Write - | "admin" -> `Admin - | _ -> assert false - and bool_of_string s = "public" = s - in - let pid, password, forwhat, value = - match Pcre.split ~pat:"," (Pcre.replace ~rex:setpermission_cmd_RE line) with - [pid; password; forwhat; value] -> - pid, (string_option_of_string password), (permission_of_string forwhat), (bool_of_string value) - | _ -> assert false - in - Uwobo_profiles.set_permission pid ?password forwhat value ; - save_configuration () ; - output_string res_pipe "Done" ; - raise Restart_HTTP_daemon - | cmd -> (* invalid interprocess command received *) - syslogger#log `Warning - (sprintf "Ignoring invalid interprocess command: '%s'" cmd)) - done - with - | Restart_HTTP_daemon -> - close_in cmd_pipe; (* these calls close also fds *) - close_out res_pipe - | Sys.Break as exn -> raise exn - | e -> (* Should we return a 404 error here? Maybe... (how?) *) - output_string res_pipe (Printexc.to_string e); - close_in cmd_pipe; (* these calls close also fds *) - close_out res_pipe) - | 0 -> (* (5) child: serve http requests *) - Unix.close cmd_pipe_exit; - Unix.close res_pipe_entrance; - last_process := false; - let cmd_pipe = Unix.out_channel_of_descr cmd_pipe_entrance in - let res_pipe = Unix.in_channel_of_descr res_pipe_exit in - debug_print (sprintf "Starting HTTP daemon on port %d ..." port); - (* next invocation doesn't return, process will keep on serving HTTP - requests until it will get killed by father *) - Http_daemon.start'~port ~mode:`Fork - (callback ~syslogger ~styles ~cmd_pipe ~res_pipe ()) - | _ (* < 0 *) -> (* fork failed :-((( *) - failwith "Can't fork :-(" - done -;; - - (* daemon initialization *) -try - Sys.catch_break true; - main () -with Sys.Break -> () (* 'die_nice' registered with at_exit *) -;; - diff --git a/helm/uwobo/uwobo_common.ml b/helm/uwobo/uwobo_common.ml deleted file mode 100644 index 8952f8132..000000000 --- a/helm/uwobo/uwobo_common.ml +++ /dev/null @@ -1,243 +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/ - *) - -open Printf ;; - -exception Uwobo_failure of string ;; - -let uwobo_namespace = "http://helm.cs.unibo.it/uwobo" ;; -let xsl_namespace = "http://helm.cs.unibo.it/uwobo" ;; - -let supported_properties = [ - "cdata-section-elements"; - "doctype-public"; - "doctype-system"; - "encoding"; - "indent"; - "media-type"; - "method"; - "omit-xml-declaration"; - "standalone"; - "version" -] - -let is_supported_property name = List.mem name supported_properties - -let version = "0.3.0" ;; - -let usage_string = - sprintf - " - - - UWOBO's help message - - -

      UWOBO (version: %s)

      -

      Information

      - Version: %s -

      Usage

      -

      - Usage: http://hostname:uwoboport/command -

      -

      - Available commands: -

      -

      - help
      - displays this help message -

      -

      - newsession?port=p
      - starts a new daemon on a given port p -

      -

      - kill
      - kills the daemon. The log file is mantained. -

      -

      - add?bind=key,uri[&bind=key,uri[&...]]
      - loads a new stylesheet, specified by uri, and bind it to key - key -

      -

      - remove?keys=[key1,key2,...]
      - unload stylesheets specified by key1, key2, ... or all - stylesheets if no key was given -

      -

      - reload?keys=[key1,key2,...]
      - reloads the stylesheets specified by key1, key2, .... Reloads all - the stylesheets if no key was given -

      -

      - list
      - returns the list of loaded stylesheets -

      -

      - apply?xmluri=uri&keys=key1,key2,...[&errormode={ignore|comment|embed}][&debugmode={ignore|comment|embed}][&profile=id][&password=password][¶m.name=value[¶m.name=value[&...]]][¶m.key.name=value[¶m.key.name=value[&...]]][&prop.name[=value][&prop.name[=value][&...]]]
      - applies a chain of stylesheets, specified by key1, key2, ..., to an - input document, specified by uri.
      - Error and debugging modes could be ste to three different values. - ignore means that LibXSLT messages are ignored; comment - meanst that LibXSLT messages are embedded in the result document inside an - XML like comment; embed means that LibXSLT messages are embedded - at the beginning of the result document (as childs of the root node) in - XML elements in the UWOBO namespace
      - Additional parameters can be set for each stylesheet application: global - parameters (i.e. parameters passed to all stylesheets) are set using - param.name=value syntax, per stylesheet parameters are set using - param.key.name=value where key is the key of a loaded - stylesheet.
      - Moreover, it is possible to specify a profile that is searched for - additional global and local parameters. The parameters stored in the profile - have lower precedence with respect to those provided in the URL. A - password for the profile must be provided if the read permission - of the profile is set to false.
      - Properties of the final chain output can be set as well: valueless properties - can be set using prop.name syntax, others can be set using - prop.name=value syntax.
      - Current supported properties are: %s. -

      -

      - listprofiles
      - returns the list of profiles available -

      -

      - createprofile?[id=id][&orig=orig][&origpassword=origpassword][&readperm={public|private}][&writeperm={public|private}][&adminperm={public|private}][&password=password]
      - creates a new profile. The id of the created profile is id (if provided); otherwise it is a fresh id. - The parameters are inherited from the profile orig, if provided. origpassword is the password of the - profile being copied in case the read permission of that profile is set to false. The default for - password is no password, the defaults for readper,writeperm,adminperm are public, public, public. -

      -

      - removeprofile?id=id[&password=password]
      - removes the profile id. The password is required if the profile administrative permission - is set to false. -

      -

      - setparam?id=id[&password=password]&key=key[&value=value]
      - sets the parameter key to value, if value is provided; otherwise - the parameter is unset. The password is required if the profile writing permission is set to - false. -

      -

      - setpassword?id=id[&oldpassword=oldpassword][&password=password]
      - changes or unset the password for a profile. The old password is required if it was set. -

      -

      - setpermission?id=id[&password=password]&permission={read|write|admin}&value={public|private}
      - changes the permission permission. The password is required if the administrative permission - is set to false. -

      -

      - getparams?id=id[&password=password]
      - returns all the parameters of the profile id. The password is required if the read permission - is set to false. -

      -

      - getparam?id=id[&password=password]&key=key
      - returns the value of the parameter key of the profile id. The password is required if the read permission - is set to false. -

      -

      - getpermission?id=id[&password=password]&for={read|write|admin}
      - returns the value of the permission key of the profile id. The password is required if the administrative - permission is set to false. -

      - - -" - version version - (String.concat ", " supported_properties) (* supported properties *) -;; - -let pp_error = - sprintf - "Error: %s%s" -;; -let return_error msg ?(body = "") outchan = - Http_daemon.respond ~body:(pp_error msg body) outchan;; -let bad_request body outchan = - Http_daemon.respond_error ~code:(`Code 400) ~body outchan -;; - - (** {2 LibXSLT logging} *) - -type xslt_msg = - | LibXsltErrorMsg of string - | LibXsltDebugMsg of string -;; - -let string_of_xslt_msg = function - | LibXsltErrorMsg msg -> "LibXSLT ERROR: " ^ msg - | LibXsltDebugMsg msg -> "LibXSLT DEBUG: " ^ msg -;; - -type xslt_msg_mode = - | LibXsltMsgIgnore - | LibXsltMsgComment - | LibXsltMsgEmbed -;; - -class libXsltLogger = - let is_libxslt_error = function LibXsltErrorMsg _ -> true | _ -> false in - let is_libxslt_debug = function LibXsltDebugMsg _ -> true | _ -> false in - let flatten_libxslt_msg = function - | LibXsltErrorMsg msg -> msg - | LibXsltDebugMsg msg -> msg - in - object (self) - - initializer - Gdome_xslt.setErrorCallback - (Some (fun msg -> self#appendMsg (LibXsltErrorMsg msg))); - Gdome_xslt.setDebugCallback - (Some (fun msg -> self#appendMsg (LibXsltDebugMsg msg))) - - val mutable libXsltMsgs = [] (** libxslt's error and debugging messages *) - - (* libxslt's error and debugging messages handling *) - - method private appendMsg msg = libXsltMsgs <- msg :: libXsltMsgs - - method clearMsgs = libXsltMsgs <- [] - method clearErrorMsgs = - libXsltMsgs <- List.filter is_libxslt_debug libXsltMsgs - method clearDebugMsgs = - libXsltMsgs <- List.filter is_libxslt_error libXsltMsgs - - method msgs = libXsltMsgs - method errorMsgs = - List.map flatten_libxslt_msg (List.filter is_libxslt_error libXsltMsgs) - method debugMsgs = - List.map flatten_libxslt_msg (List.filter is_libxslt_debug libXsltMsgs) - - end -;; - diff --git a/helm/uwobo/uwobo_common.mli b/helm/uwobo/uwobo_common.mli deleted file mode 100644 index 9bd90c514..000000000 --- a/helm/uwobo/uwobo_common.mli +++ /dev/null @@ -1,75 +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 Uwobo_failure of string - - (** XML namespace of UWOBO generated XML elements *) -val uwobo_namespace: string - -val supported_properties: string list -val is_supported_property: string -> bool - -val version: string (** version *) -val usage_string: string (** HTTP GET usage string *) - - (** return an ok (200) http response, which display in html an error message. - Error title is reported inside an h1 tag; error body, if given, follows *) -val return_error: string -> ?body: string -> out_channel -> unit - (** return a 400 (bad request) http response *) -val bad_request: string -> out_channel -> unit - - (** {2 LibXSLT logging} *) - - (** libxslt's message *) -type xslt_msg = - | LibXsltErrorMsg of string (** libxslt's error messages *) - | LibXsltDebugMsg of string (** libxslt's debugging messages *) - - (** pretty print a xslt_msg *) -val string_of_xslt_msg: xslt_msg -> string - - (** libxslt's message reporting mode. That is: how to report libxslt's - messages during apply method *) -type xslt_msg_mode = - | LibXsltMsgIgnore (** Ignore some kind of messages *) - | LibXsltMsgComment (** Embed in XML comments some kind of messages *) - | LibXsltMsgEmbed (** Embed in XML elements some kind of messages *) - -class libXsltLogger: - object - - method clearMsgs: unit - method clearErrorMsgs: unit - method clearDebugMsgs: unit - - method msgs: xslt_msg list - method errorMsgs: string list - method debugMsgs: string list - - end - diff --git a/helm/uwobo/uwobo_engine.ml b/helm/uwobo/uwobo_engine.ml deleted file mode 100644 index 03a3b424d..000000000 --- a/helm/uwobo/uwobo_engine.ml +++ /dev/null @@ -1,263 +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/ - *) - -open Printf;; -open Uwobo_common;; - - (** set this to true and uwobo will save transformation's intermediate results - in /tmp/uwobo_intermediate__.xml *) -let save_intermediate_results = false;; - -let xslNS = Gdome.domString "http://www.w3.org/1999/XSL/Transform" -let outputS = Gdome.domString "output" - - (** given a Gdome.document representing an XSLT stylesheet and an output - property return 'Some value' where 'value' is the property value, or None if - it's not defined *) -let get_property name (document: Gdome.document) = - let node_list = document#getElementsByTagNameNS xslNS outputS in - match node_list#item 0 with - | None -> None - | Some node -> - let element = new Gdome.element_of_node node in - let domName = Gdome.domString name in - if element#hasAttribute domName then - Some (element#getAttribute domName)#to_string - else - None -;; - -let namespaceURI = Some (Gdome.domString Uwobo_common.uwobo_namespace) ;; - - (** output type wrt adding of debugging/error messages *) -type outputType = - | XmlOutput of Gdome.node - | TextPlainOutput of Gdome.text - | NoOutput -;; - -exception Found of int ;; - - (** add debugging and/or error messages to a Gdome document. Handle three - distinct cases: (1) output contains an XML tree, (2) output contains only one - text node, (3) output contains no data. - If output contains an XML tree then users wishes are preserved and messages - are either not included or included as comments or included as XML ndoes. - If output contains only a text node comments are either not included or - included at the beginning of the textual output. - If output contains no data (i.e. DOM superroot node with no element or text - children) messages are embedded as XML comments or not embedded at all *) -let add_msgs ~errormode ~debugmode ~msgs (doc: Gdome.document) = - let getOutputType (doc: Gdome.document) = - let children = doc#get_childNodes in - let len = children#get_length in - let rec find_element i = - if i > len then - raise Not_found - else - (match children#item i with - | Some node when node#get_nodeType = GdomeNodeTypeT.ELEMENT_NODE -> - XmlOutput node - | _ -> find_element (i + 1)) - in - let rec find_text i = - if i > len then - raise Not_found - else - (match children#item i with - | Some node when node#get_nodeType = GdomeNodeTypeT.TEXT_NODE -> - TextPlainOutput (new Gdome.text_of_node node) - | _ -> find_element (i + 1)) - in - if len = 0 then - NoOutput - else - (try find_element 0 with Not_found -> - (try find_text 0 with Not_found -> NoOutput)) - in - match getOutputType (doc :> Gdome.document) with - | XmlOutput node -> - let add_generic_msg mode build tagname = - (match mode with - | LibXsltMsgIgnore -> (fun msg -> ()) - | LibXsltMsgComment -> - (fun msg -> -(* let contents = string_of_xslt_msg (build msg) ^ "
      " in *) - let contents = string_of_xslt_msg (build msg) in - ignore (node#insertBefore - ~newChild:(doc#createComment - (Gdome.domString contents) :> Gdome.node) - ~refChild:node#get_firstChild)) - | LibXsltMsgEmbed -> - (fun msg -> -(* let contents = string_of_xslt_msg (build msg) ^ "
      " in *) - let contents = string_of_xslt_msg (build msg) in - let element = - doc#createElementNS - ~namespaceURI ~qualifiedName:(Gdome.domString tagname) - in - ignore (element#appendChild - (doc#createTextNode - ~data:(Gdome.domString contents) :> Gdome.node)); - ignore (node#insertBefore - ~newChild:(element :> Gdome.node) - ~refChild:node#get_firstChild))) - in - let add_error_msg = - add_generic_msg - errormode (fun msg -> LibXsltErrorMsg msg) "uwobo:error" - in - let add_debug_msg = - add_generic_msg - debugmode (fun msg -> LibXsltDebugMsg msg) "uwobo:debug" - in - List.iter - (function - | LibXsltErrorMsg msg -> add_error_msg msg - | LibXsltDebugMsg msg -> add_debug_msg msg) - (List.rev msgs) (* because each msg is added as 1st children *) -| TextPlainOutput text -> - let add_generic_msg mode build = - (match mode with - | LibXsltMsgIgnore -> (fun _ -> ()) - | LibXsltMsgComment | LibXsltMsgEmbed -> - (fun msg -> - text#insertData ~offset:0 - ~arg:(Gdome.domString - (string_of_xslt_msg (build msg) ^ "\n")))) - in - let add_error_msg = - add_generic_msg errormode (fun msg -> LibXsltErrorMsg msg) - in - let add_debug_msg = - add_generic_msg debugmode (fun msg -> LibXsltDebugMsg msg) - in - List.iter - (function - | LibXsltErrorMsg msg -> add_error_msg msg - | LibXsltDebugMsg msg -> add_debug_msg msg) - (List.rev msgs) (* because each msg is added as 1st children *) -| NoOutput -> - let add_generic_msg mode build = - (match mode with - | LibXsltMsgIgnore -> (fun _ -> ()) - | LibXsltMsgComment | LibXsltMsgEmbed -> - (fun msg -> - let comment_node = - (* use comments anyway because text nodes aren't allowed in DOM as - superroot children *) - doc#createComment - (Gdome.domString (string_of_xslt_msg (build msg))) - in - ignore (doc#insertBefore ~newChild:(comment_node :> Gdome.node) - ~refChild:doc#get_firstChild))) - in - let add_error_msg = - add_generic_msg errormode (fun msg -> LibXsltErrorMsg msg) - in - let add_debug_msg = - add_generic_msg debugmode (fun msg -> LibXsltDebugMsg msg) - in - List.iter - (function - | LibXsltErrorMsg msg -> add_error_msg msg - | LibXsltDebugMsg msg -> add_debug_msg msg) - (List.rev msgs) (* because each msg is added as 1st children *) -;; - -let apply - ~(logger: Uwobo_logger.sysLogger) - ~(styles: Uwobo_styles.styles) - ~keys ~params ~props - ~(veillogger: Uwobo_common.libXsltLogger) - ?(errormode = LibXsltMsgIgnore) ?(debugmode = LibXsltMsgIgnore) - input - = - (* "p_" prefix means "processed" *) - let (p_stylesheets,last_stylesheet) = styles#get keys props logger in - logger#log `Debug "Creating input document ..."; - let intermediate_results_seqno = ref 0 in - let result = (* Gdome.document *) - List.fold_left - (fun source (key, stylesheet) -> - logger#log `Debug (sprintf "Applying stylesheet %s ..." key); - try - let params = - List.map - (fun (key,value) -> - let quoted_value = - if String.contains value '\'' then - if String.contains value '"' then - raise - (Failure - ("A parameter value can not contain both single and " ^ - "double quotes, since it must be a valid XPath string " ^ - "literal")) - else - "\"" ^ value ^ "\"" - else - "'" ^ value ^ "'" - in - (key,quoted_value) - ) (params key) - in - logger#log `Debug - (sprintf "Gdome_xslt.applyStylesheet params=%s" - (String.concat ", " (List.map (fun (k,v) -> k^": "^v) params))); - let res = Gdome_xslt.applyStylesheet ~source ~stylesheet ~params in - if save_intermediate_results then begin - let domImpl = Gdome.domImplementation () in - ignore - (domImpl#saveDocumentToFile - ~doc:res - ~name:(sprintf "/tmp/uwobo_intermediate_%d_%d.xml" - !intermediate_results_seqno (Unix.getpid())) - ()); - incr intermediate_results_seqno; - end; - res - with e -> raise (Uwobo_failure (Printexc.to_string e))) - input - p_stylesheets - in - (* add error and debugging messages to result document *) - add_msgs ~errormode ~debugmode ~msgs:veillogger#msgs result; -(* - (* DEBUGGING *) - add_msgs - ~errormode:LibXsltMsgEmbed ~debugmode:LibXsltMsgEmbed - ~msgs:[LibXsltErrorMsg "error1"; LibXsltDebugMsg "debug1"] - result; -*) - let p_last_stylesheet = snd (List.hd (List.rev p_stylesheets)) in - ((fun outchan -> (* serialization function *) - Gdome_xslt.saveResultToChannel ~outchan ~result - ~stylesheet:p_last_stylesheet), - (get_property "media-type" last_stylesheet), (* media-type *) - (get_property "encoding" last_stylesheet)) (* encoding *) - diff --git a/helm/uwobo/uwobo_engine.mli b/helm/uwobo/uwobo_engine.mli deleted file mode 100644 index 407afab02..000000000 --- a/helm/uwobo/uwobo_engine.mli +++ /dev/null @@ -1,55 +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/ - *) - -open Uwobo_common ;; - - (** - @param logger logger for processing messages - @param styles stylesheets object - @param keys (ordered) list of stylesheet names to be applied - @param params function mapping stylesheet names to parameters list - @param props xml:output properties - @param errormode what to do with LibXSLT's error messages - @param debugmode what to do with LibXSLT's debugging messages - @param input URI of input document - @return a triple: 1st element is a function that takes an out_channel and - write the result document on it, 2nd element is a string option representing - the desired media-type, 3rd is a string option representing the desired - encoding - *) -val apply: - logger: Uwobo_logger.sysLogger -> - styles: Uwobo_styles.styles -> - keys: string list -> - params: (string -> (string * string) list) -> - props: (string * string) list -> - veillogger: Uwobo_common.libXsltLogger -> - ?errormode: xslt_msg_mode -> ?debugmode: xslt_msg_mode -> - Gdome.document -> - ((out_channel -> unit) * string option * string option) - diff --git a/helm/uwobo/uwobo_logger.ml b/helm/uwobo/uwobo_logger.ml deleted file mode 100644 index 0b557f114..000000000 --- a/helm/uwobo/uwobo_logger.ml +++ /dev/null @@ -1,107 +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/ - *) - -open Printf;; - -type priority = [ - `Emerg | `Alert | `Crit | `Err | `Warning | `Notice | `Info | `Debug -] - -let int_of_priority = function - | `Emerg -> 0 - | `Alert -> 1 - | `Crit -> 2 - | `Err -> 3 - | `Warning -> 4 - | `Notice -> 5 - | `Info -> 6 - | `Debug -> 7 - -let string_of_priority = function - | `Emerg -> "EMERGENCY" - | `Alert -> "ALERT" - | `Crit -> "CRITICAL" - | `Err -> "ERROR" - | `Warning -> "WARNING" - | `Notice -> "NOTICE" - | `Info -> "INFO" - | `Debug -> "DEBUG" - -class sysLogger ?(level: priority = `Notice) ?(outchan = stderr) () = - object (self) - val level_no = int_of_priority level - val mutable enabled = false - method level = level - method levelNo = level_no - method enable = enabled <- true - method disable = enabled <- false - method log (prio: priority) msg = - let tm = Unix.localtime (Unix.time ()) in - if enabled && (int_of_priority prio <= level_no) then begin - fprintf outchan ("[UWOBO %02d/%02d/%4d %02d:%02d:%02d] %s: %s\n") - tm.Unix.tm_mday (tm.Unix.tm_mon + 1) (tm.Unix.tm_year + 1900) - tm.Unix.tm_hour tm.Unix.tm_min tm.Unix.tm_sec - (string_of_priority prio) msg; - flush outchan - end - end - -type lineType = - | Line of string (** normal line *) - | LineBold of string (** bold line *) - | LineEmph of string (** emph line *) -;; - - (** non thread safe, a processingLogger is usually instantied locally for each - thread *) -class processingLogger = - let html_escape = Netencoding.Html.encode ~in_enc:`Enc_iso88591 () in - let html_of_line = function - | Line l -> html_escape l - | LineBold l -> "" ^ html_escape l ^ "" - | LineEmph l -> "" ^ html_escape l ^ "" - in - let text_of_line = function - | Line l -> l - | LineBold l -> l - | LineEmph l -> l - in - fun () -> - object - val mutable log_lines = [] - method log msg = log_lines <- Line msg :: log_lines - method logBold msg = log_lines <- LineBold msg :: log_lines - method logEmph msg = log_lines <- LineEmph msg :: log_lines - method asText = - String.concat "\n" (List.rev (List.map text_of_line log_lines)) - method asHtml = - sprintf - "\n%s\n" - (String.concat "
      \n" (List.map html_of_line (List.rev log_lines))) - end - diff --git a/helm/uwobo/uwobo_logger.mli b/helm/uwobo/uwobo_logger.mli deleted file mode 100644 index 2a1a6cd53..000000000 --- a/helm/uwobo/uwobo_logger.mli +++ /dev/null @@ -1,69 +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/ - *) - -type priority = [ - | `Emerg (* system is unusable *) - | `Alert (* action must be taken immediately *) - | `Crit (* critical conditions *) - | `Err (* error conditions *) - | `Warning (* warning conditions *) - | `Notice (* normal, but significant, condition *) - | `Info (* informational message *) - | `Debug (* debug-level message *) -] - - (** - Warning: logging is disabled by default, you have to invoke #enable method - before being able to log anything. - @param level minimum level of priority that will be reported, msg with - priority less than this will be ignored - @param outchan output channel on which output log messages *) -class sysLogger: - ?level: priority -> ?outchan: out_channel -> - unit -> - object - method level: priority - method levelNo: int - (** enable logging, by default logging is disabled *) - method enable: unit - (** disable logging *) - method disable: unit - (** log a message *) - method log: priority -> string -> unit - end - -class processingLogger: - unit -> - object - method log: string -> unit - method logBold: string -> unit - method logEmph: string -> unit - method asText: string - method asHtml: string - end - diff --git a/helm/uwobo/uwobo_profiles.ml b/helm/uwobo/uwobo_profiles.ml deleted file mode 100644 index bd6e919f9..000000000 --- a/helm/uwobo/uwobo_profiles.ml +++ /dev/null @@ -1,151 +0,0 @@ -(* - * Copyright (C) 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/ - *) - -type profile_id = string - -let profiles = "profiles" - -let profile_key pid = - profiles ^ "." ^ pid - -let string_of_permission = - function - `Read -> "read" - | `Write -> "write" - | `Admin -> "admin" - -let permission_key for_what pid = - profile_key pid ^ ".permissions." ^ (string_of_permission for_what) - -let read_permission_key = permission_key `Read -let write_permission_key = permission_key `Write -let admin_permission_key = permission_key `Admin - -let password_key pid = - profile_key pid ^ ".password" - -let params_key pid = - profile_key pid ^ ".params" - -let param_key pid param = - params_key pid ^ "." ^ param - -exception Access_denied of string * profile_id -exception Profile_exists of profile_id -exception Impossible - -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 create_fresh_id = - let rec aux () = - let key = new_key () in - if Helm_registry.has (read_permission_key key) then - aux () - else - key - in - aux - -let list () = fst (Helm_registry.ls profiles) - -let to_list_rel ~prefix () = - List.map (fun (key,value) -> Pcre.replace ~pat:("^" ^ Pcre.quote (prefix ^ ".")) key, value) - (Helm_registry.to_list ~prefix ()) - -let check_permission pid password for_what = - match password, Helm_registry.get_bool (permission_key for_what pid) with - _, true -> () - | Some pwd, false - when Some pwd = Helm_registry.get_opt Helm_registry.string (password_key pid) -> () - | _ -> raise (Access_denied (string_of_permission for_what, pid)) - -let create ?id ?clone ?clone_password ?(read_perm=true) ?(write_perm=true) ?(admin_perm=true) ?password () = - let pid = - match id with - None -> create_fresh_id () - | Some pid when Helm_registry.has (read_permission_key pid) -> raise (Profile_exists pid) - | Some pid -> pid - in - let params = - match clone with - None -> [] - | Some pid -> - check_permission pid clone_password `Read ; - to_list_rel ~prefix:(params_key pid) () - in - List.iter (fun (key, value) -> Helm_registry.set_string (params_key pid ^ "." ^ key) value) params ; - Helm_registry.set_bool (read_permission_key pid) read_perm ; - Helm_registry.set_bool (write_permission_key pid) write_perm ; - Helm_registry.set_bool (admin_permission_key pid) admin_perm ; - Helm_registry.set_opt Helm_registry.of_string (password_key pid) password ; - pid - -let remove pid ?password () = - check_permission pid password `Admin ; - List.iter (fun (key, _) -> Helm_registry.unset key) (Helm_registry.to_list ~prefix:(profile_key pid) ()) - -let get_params pid ?password () = - check_permission pid password `Read ; - to_list_rel ~prefix:(params_key pid) () - -let set_param pid ?password ~key ~value () = - check_permission pid password `Write ; - match value with - Some value' -> Helm_registry.set (param_key pid key) value' - | None -> Helm_registry.unset (param_key pid key) - -let get_param pid ?password ~key () = - check_permission pid password `Read ; - Helm_registry.get (param_key pid key) - -let set_password pid ?old_password new_password = - check_permission pid old_password `Admin ; - Helm_registry.set_opt Helm_registry.of_string (password_key pid) new_password - -let set_permission pid ?password for_what value = - check_permission pid password `Admin ; - Helm_registry.set_bool (permission_key for_what pid) value - -let get_permission pid ?password for_what = - check_permission pid password `Admin ; - Helm_registry.get_bool (permission_key for_what pid) - diff --git a/helm/uwobo/uwobo_profiles.mli b/helm/uwobo/uwobo_profiles.mli deleted file mode 100644 index fc0798f14..000000000 --- a/helm/uwobo/uwobo_profiles.mli +++ /dev/null @@ -1,56 +0,0 @@ -(* - * Copyright (C) 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/ - *) - -type profile_id = string - -exception Access_denied of string * profile_id -exception Profile_exists of profile_id - -val list : unit -> string list -val create : - ?id:profile_id -> - ?clone:profile_id -> - ?clone_password:string -> - ?read_perm:bool -> - ?write_perm:bool -> - ?admin_perm:bool -> ?password:string -> unit -> profile_id -val remove : profile_id -> ?password:string -> unit -> unit -val get_params : profile_id -> ?password:string -> unit -> (string * string) list -val set_param : - profile_id -> - ?password:string -> key:string -> value:(string option) -> unit -> unit -val get_param : - profile_id -> ?password:string -> key:string -> unit -> string -val set_password : - profile_id -> ?old_password:string -> string option -> unit -val set_permission : - profile_id -> - ?password:string -> [ `Admin | `Read | `Write ] -> bool -> unit -val get_permission : - profile_id -> ?password:string -> [ `Admin | `Read | `Write ] -> bool - diff --git a/helm/uwobo/uwobo_styles.ml b/helm/uwobo/uwobo_styles.ml deleted file mode 100644 index 7730857ac..000000000 --- a/helm/uwobo/uwobo_styles.ml +++ /dev/null @@ -1,208 +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/ - *) - -open Printf;; -open Uwobo_common;; - -exception Stylesheet_not_found of string ;; -exception Stylesheet_already_in of string ;; -exception Unsupported_property of string;; - -let xslNS = Gdome.domString "http://www.w3.org/1999/XSL/Transform" -let outputS = Gdome.domString "output" -let q_outputS = Gdome.domString "xsl:output" - -let default_properties = [] (* no default properties *) - - (** apply an output property to an xslt stylesheet *) -let apply_property logger (element: Gdome.element) (name, value) = - if Uwobo_common.is_supported_property name then begin - logger#log `Debug (sprintf "Setting property: %s = %s" name value); - element#setAttribute (Gdome.domString name) (Gdome.domString value) - end else - raise (Unsupported_property name) - - (** set a list of output properties in an xslt stylesheet, return a copy of - the given stylesheet modified as needed, given stylesheet wont be changed by - this operation. - Before applying "props" properties applies a set of default properties as - defined in "default_properties" *) -let apply_properties logger last_stylesheet props = - let last_stylesheet = - new Gdome.document_of_node (last_stylesheet#cloneNode ~deep:true) - in - let output_element = - let node_list = last_stylesheet#getElementsByTagNameNS xslNS outputS in - (match node_list#item 0 with - | None -> (* no xsl:output element, create it from scratch *) - logger#log `Debug "Creating xsl:output node ..."; - let elt = last_stylesheet#createElementNS (Some xslNS) q_outputS in - let root = last_stylesheet#get_documentElement in - ignore (root#appendChild (elt :> Gdome.node)); - elt - | Some node -> new Gdome.element_of_node node) - in - List.iter - (apply_property logger (output_element :> Gdome.element)) - (default_properties @ props); - last_stylesheet - -class styles = - object (self) - (* INVARIANT: 'stylesheets' and 'uris' are in sync *) - - (** association list: key * props -> I_gdome_xslt.processed_stylesheet - It is the cache of the processed stylesheets *) - val mutable p_stylesheets = [] - val mutable stylesheets = [] (** association list: key -> Gdome.document *) - val mutable uris = [] (** association list: key -> uri *) - - val domImpl = Gdome.domImplementation () - - (** process an XSLT stylesheet *) - method private process uri = - let dom = domImpl#createDocumentFromURI ~uri () in - dom, Gdome_xslt.processStylesheet dom (* produce libXSLT messages in - case of errors *) - - (* stylesheets management *) - - method add key uri = - if (List.mem_assoc key uris) then - raise (Stylesheet_already_in key) - else begin - uris <- (key, uri) :: uris; - let stylesheet, p_stylesheet = self#process uri in - stylesheets <- (key, stylesheet) :: stylesheets ; - p_stylesheets <- ((key,[]), p_stylesheet) :: p_stylesheets ; - end - - method remove key = - if not (List.mem_assoc key uris) then - raise (Stylesheet_not_found key) - else begin - uris <- List.remove_assoc key uris; - stylesheets <- List.remove_assoc key stylesheets ; - p_stylesheets <- - List.filter (function ((key',_),_) -> key = key') p_stylesheets - end - - method removeAll = - uris <- []; - stylesheets <- []; - p_stylesheets <- [] - - method reload key = - (try - let uri = List.assoc key uris in - let stylesheet,p_stylesheet = self#process uri in - stylesheets <- - (key, stylesheet) :: (List.remove_assoc key stylesheets) ; - (* we remove the processed stylesheet from the cache *) - p_stylesheets <- - List.filter (function ((key',_),_) -> key = key') p_stylesheets ; - p_stylesheets <- ((key,[]),p_stylesheet)::p_stylesheets - with Not_found -> - raise (Stylesheet_not_found key)) - - method reloadAll = - let (stylesheets',p_stylesheets') = - let processed = - List.map (fun (key, uri) -> (key, self#process uri)) uris - in - List.map (function (key,(stylesheet,_)) -> key,stylesheet) processed, - List.map - (function (key,(_,p_stylesheet)) -> (key,[]),p_stylesheet) processed - in - stylesheets <- stylesheets' ; - p_stylesheets <- p_stylesheets' - - (* stylesheets usage *) - - method keys = List.map fst uris - - method list = - List.map - (fun (key, uri) -> - sprintf "key = %s, uri = %s" key (List.assoc key uris)) - uris - - method get keys props (logger : Uwobo_logger.sysLogger) = - match List.rev keys with - [] -> assert false - | last_key::rev_keys -> - let last_stylesheet = - try - List.assoc last_key stylesheets - with Not_found -> raise (Stylesheet_not_found last_key) - in - let p_last_stylesheet = - try - List.assoc (last_key,props) p_stylesheets - with - Not_found -> - (* Cache miss *) - let last_stylesheet' = - try - apply_properties logger last_stylesheet props - with Unsupported_property prop -> - raise (Uwobo_failure (sprintf "Unsupported property: %s" prop)) - in - let p_last_stylesheet = - Gdome_xslt.processStylesheet last_stylesheet - in - p_stylesheets <- - ((last_key,props),p_last_stylesheet)::p_stylesheets ; - p_last_stylesheet - in - let p_stylesheets = - List.fold_left - (fun collected_styles key -> - let p_stylesheet = - try - List.assoc (key,[]) p_stylesheets - with - Not_found -> - (* Cache miss *) - let stylesheet = - try - List.assoc key stylesheets - with Not_found -> raise (Stylesheet_not_found key) - in - let p_stylesheet = - Gdome_xslt.processStylesheet stylesheet - in - p_stylesheets <- ((key,[]),p_stylesheet)::p_stylesheets ; - p_stylesheet - in - (key,p_stylesheet)::collected_styles) - [last_key,p_last_stylesheet] - rev_keys - in - p_stylesheets, last_stylesheet - end diff --git a/helm/uwobo/uwobo_styles.mli b/helm/uwobo/uwobo_styles.mli deleted file mode 100644 index 95af2a484..000000000 --- a/helm/uwobo/uwobo_styles.mli +++ /dev/null @@ -1,84 +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/ - *) - -open Uwobo_common ;; - -exception Stylesheet_not_found of string ;; -exception Stylesheet_already_in of string ;; - - (** hold UWOBO styles at runtime *) -class styles: - object - - (** {2 Stylesheets management} *) - - (** add a stylesheet, bound to a given key, to the UWOBO loaded - stylesheets - @param key key to which the stylesheets will be bound - @param uri uri of the stylesheet to be loaded - @raise Stylesheet_already_in if key is already bound *) - method add: string -> string -> unit - - (** remove the stylesheet bound to a given key *) - method remove: string -> unit - - (** remove all loaded stylesheet *) - method removeAll: unit - - (** reload the stylesheet bound to a given key *) - method reload: string -> unit - - (** reload all stylesheets *) - method reloadAll: unit - - (** {2 Stylesheets usage} *) - - (** @return the list of currently loaded stylesheets' keys *) - method keys: string list - - (** @return a list of strings, each string is a textual representation of - information related to a loaded stylesheet. This representation includes - at least stylesheet's key and URI *) - method list: string list - - (** - @param key_list non empty list of keys - @param props list of prop - @param logger the logger to be used to report errors and warnings - @return a pair. The first argument of the pair is an association list - that maps given keys to gdome2-xslt processed stylesheets. The last - stylesheet xsl:output element is modified according to the given - properties. The second argument of the pair is the last unprocessed - stylesheet. - *) - method get: - string list -> (string * string) list -> Uwobo_logger.sysLogger -> - (string * I_gdome_xslt.processed_stylesheet) list * Gdome.document - - end - diff --git a/helm/xmltheory/Coq_v2theoryxml/.cvsignore b/helm/xmltheory/Coq_v2theoryxml/.cvsignore deleted file mode 100644 index e4a3d5419..000000000 --- a/helm/xmltheory/Coq_v2theoryxml/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -coq_v2theoryxml *.cmi *.cmo diff --git a/helm/xmltheory/Coq_v2theoryxml/.depend b/helm/xmltheory/Coq_v2theoryxml/.depend deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/xmltheory/Coq_v2theoryxml/Makefile b/helm/xmltheory/Coq_v2theoryxml/Makefile deleted file mode 100644 index 1f9fae538..000000000 --- a/helm/xmltheory/Coq_v2theoryxml/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -COQTOP=/home/projects/helm/EXPORT/V7 -OCAMLC=ocamlc -I $(COQTOP)/config -I $(COQTOP)/toplevel - -COQV2THEORYXMLOBJS= \ - $(COQTOP)/config/coq_config.cmo \ - $(COQTOP)/toplevel/usage.cmo \ - coq_v2theoryxml.cmo - -coq_v2theoryxml: $(COQV2THEORYXMLOBJS) - $(OCAMLC) -o $@ unix.cma $(COQV2THEORYXMLOBJS) - -coq_v2theoryxml.cmo: coq_v2theoryxml.ml - $(OCAMLC) -c $< - -.PHONY: clean -clean: - rm -f coq_v2theoryxml *.cmo *.cmi diff --git a/helm/xmltheory/Coq_v2theoryxml/coq_v2theoryxml.ml b/helm/xmltheory/Coq_v2theoryxml/coq_v2theoryxml.ml deleted file mode 100644 index b1e856e1a..000000000 --- a/helm/xmltheory/Coq_v2theoryxml/coq_v2theoryxml.ml +++ /dev/null @@ -1,176 +0,0 @@ -(* environment *) - -let environment = Unix.environment () - -let bindir = ref Coq_config.bindir -let binary = "coqtop.byte" -let image = ref "" -let xml_theory_library_root = ref ( - try - Sys.getenv "XML_THEORY_LIBRARY_ROOT" - with Not_found -> "" -) - -(* the $COQBIN environment variable has priority over the Coq_config value *) -let _ = - try - let c = Sys.getenv "COQBIN" in - if c <> "" then bindir := c - with Not_found -> () - -(* coq_v2theoryxml options *) - -let keep = ref false - -(* Verifies that a string do not contains others caracters than letters, - digits, or `_` *) - -let check_module_name s = - let err () = - output_string stderr - "Modules names must only contain letters, digits, or underscores\n"; - output_string stderr - "and must begin with a letter\n"; - exit 1 - in - match String.get s 0 with - | 'a' .. 'z' | 'A' .. 'Z' -> - for i = 1 to (String.length s)-1 do - match String.get s i with - | 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' -> () - | _ -> err () - done - | _ -> err () - - (* compilation of a file [file] with command [command] and args [args] *) - -let compile command args file = - let dirname = Filename.dirname file in - let basename = Filename.basename file in - let modulename = - if Filename.check_suffix basename ".vo" then - Filename.chop_suffix basename ".vo" - else - basename - in - check_module_name modulename; - let tmpfile = Filename.temp_file "coq_v2theoryxml" ".v" in - let args' = - command :: "-batch" :: "-silent" :: "-is" :: "barestate" :: args - @ ["-load-vernac-source"; tmpfile] in - let devnull = - if Sys.os_type = "Unix" then - Unix.openfile "/dev/null" [] 0o777 - else - Unix.stdin - in - let oc = open_out tmpfile in - Printf.fprintf oc "Require XmlTheory.\n" ; - Printf.fprintf oc "XmlTheory Begin %s \"%s\".\n" modulename - !xml_theory_library_root ; - Printf.fprintf oc "Load %s.\n" modulename; - Printf.fprintf oc "XmlTheory End.\n" ; - flush oc; - close_out oc; - try - let pid = - Unix.create_process_env command - (Array.of_list args') environment devnull Unix.stdout Unix.stderr in - let status = Unix.waitpid [] pid in - if not !keep then Sys.remove tmpfile ; - match status with - | _, Unix.WEXITED 0 -> () - | _, Unix.WEXITED 127 -> - Printf.printf "Cannot execute %s\n" command; - exit 1 - | _, Unix.WEXITED c -> exit c - | _ -> exit 1 - with _ -> - if not !keep then Sys.remove tmpfile; exit 1 - -(* parsing of the command line - * - * special treatment for -bindir and -i. - * other options are passed to coqtop *) - -let usage () = - Usage.print_usage - "Usage: coq_v2theoryxml module...\n -options are: - -xml-theory-library-root d specify the path to the root of the XML library - (overrides $XML_THEORY_LIBRARY_ROOT) - -image f specify an alternative executable for Coq - -t keep temporary files\n\n" ; - flush stderr ; - exit 1 - -let parse_args () = - let rec parse (cfiles,args) = function - | [] -> - List.rev cfiles, List.rev args - | "-xml-theory-library-root" :: v :: rem -> - xml_theory_library_root := v ; parse (cfiles,args) rem - | "-t" :: rem -> - keep := true ; parse (cfiles,args) rem - | "-boot" :: rem -> - bindir:= Filename.concat Coq_config.coqtop "bin"; - parse (cfiles, "-boot"::args) rem - | "-bindir" :: d :: rem -> - bindir := d ; parse (cfiles,args) rem - | "-bindir" :: [] -> - usage () - | "-byte" :: rem -> - parse (cfiles,args) rem - | "-opt" :: rem -> - raise (Failure "To load ML modules, only -byte is allowed") - | "-image" :: f :: rem -> - image := f; parse (cfiles,args) rem - | "-image" :: [] -> - usage () - | ("-?"|"-h"|"-H"|"-help"|"--help") :: _ -> usage () - | ("-libdir"|"-outputstate"|"-I"|"-include" - |"-inputstate"|"-is"|"-load-vernac-source"|"-load-vernac-object" - |"-load-ml-source"|"-require"|"-load-ml-object"|"-user" - |"-init-file" as o) :: rem -> - begin - match rem with - | s :: rem' -> parse (cfiles,s::o::args) rem' - | [] -> usage () - end - | "-R" as o :: s :: t :: rem -> parse (cfiles,t::s::o::args) rem - | ("-notactics"|"-debug"|"-db"|"-debugger"|"-nolib"|"-batch"|"-nois" - |"-q"|"-full"|"-profile"|"-just-parsing"|"-echo" |"-unsafe"|"-quiet" - |"-silent"|"-m" as o) :: rem -> - parse (cfiles,o::args) rem - | ("-v"|"--version") :: _ -> - Usage.version () - | "-where" :: _ -> - print_endline Coq_config.coqlib; exit 0 - | f :: rem -> parse (f::cfiles,args) rem - in - parse ([],[]) (List.tl (Array.to_list Sys.argv)) - -(* main: we parse the command line, define the command to compile files - * and then call the compilation on each file *) - -let main () = - let cfiles, args = parse_args () in - if cfiles = [] then begin - prerr_endline "coq_v2theoryxml: too few arguments" ; - usage () - end; - let coqtopname = - if !image <> "" then !image else Filename.concat !bindir (binary ^ Coq_config.exec_extension) - in - if !xml_theory_library_root = "" then - begin - prerr_endline "coq_v2theoryxml: you must either set $XML_THEORY_LIBRARY_ROOT or use -xml-theory-library-root"; - usage () - end - else - List.iter (compile coqtopname args) cfiles ; - prerr_endline - ("\nWARNING: all the URIs in the generated XML files are broken." ^ - "\n See the README in the XML contrib to learn how to fix them.\n") - -let _ = Printexc.print main (); exit 0 diff --git a/helm/xmltheory/FakeCoq_vo2xml/README b/helm/xmltheory/FakeCoq_vo2xml/README deleted file mode 100644 index 4accfcafc..000000000 --- a/helm/xmltheory/FakeCoq_vo2xml/README +++ /dev/null @@ -1,3 +0,0 @@ -# This coq_vo2xml must be put in PATH before the real coq_vo2xml. -# It's aim is to run coq_v2theoryxml instead of coq_vo2xml -# Remember to set $XML_THEORY_LIBRARY_ROOT before starting this coq_vo2xml diff --git a/helm/xmltheory/FakeCoq_vo2xml/coq_vo2xml b/helm/xmltheory/FakeCoq_vo2xml/coq_vo2xml deleted file mode 100755 index 34e44a0a4..000000000 --- a/helm/xmltheory/FakeCoq_vo2xml/coq_vo2xml +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -BASEDIR=/home/projects/helm/EXPORT/xmltheory -$BASEDIR/Coq_v2theoryxml/coq_v2theoryxml -R $BASEDIR/XmlTheory Bologna.XmlTheory $@ diff --git a/helm/xmltheory/XmlTheory/.cvsignore b/helm/xmltheory/XmlTheory/.cvsignore deleted file mode 100644 index 1921ec2e1..000000000 --- a/helm/xmltheory/XmlTheory/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.cmi *.cmo *.vo diff --git a/helm/xmltheory/XmlTheory/.depend b/helm/xmltheory/XmlTheory/.depend deleted file mode 100644 index 2b814a941..000000000 --- a/helm/xmltheory/XmlTheory/.depend +++ /dev/null @@ -1,8 +0,0 @@ -xmltheoryentries.cmo: xmltheoryentries.ml iXml.cmi -xmltheoryentries.cmx: xmltheoryentries.ml iXml.cmx -iXml.cmo: iXml.ml iXml.cmi -iXml.cmx: iXml.ml iXml.cmi -iXml.cmi: iXml.mli -XmlTheory.vo: XmlTheory.v iXml.cmo xmltheoryentries.cmo -XmlTheory.vi: XmlTheory.v iXml.cmo xmltheoryentries.cmo -XmlTheory.html: XmlTheory.v iXml.cmo xmltheoryentries.cmo diff --git a/helm/xmltheory/XmlTheory/COME_COMPILARE b/helm/xmltheory/XmlTheory/COME_COMPILARE deleted file mode 100644 index f1389cc35..000000000 --- a/helm/xmltheory/XmlTheory/COME_COMPILARE +++ /dev/null @@ -1,5 +0,0 @@ -# Settare - -OPT=-byte # Nota: questo andrebbe fatto nel Make, ma un bug di coq_makefile - # lo impedisce -COQTOP=... diff --git a/helm/xmltheory/XmlTheory/Make b/helm/xmltheory/XmlTheory/Make deleted file mode 100644 index a927b6345..000000000 --- a/helm/xmltheory/XmlTheory/Make +++ /dev/null @@ -1,5 +0,0 @@ --R . Bologna.XmlTheory --I $(COQTOP)/contrib/xml -XmlTheory.v -iXml.ml -xmltheoryentries.ml diff --git a/helm/xmltheory/XmlTheory/Makefile b/helm/xmltheory/XmlTheory/Makefile deleted file mode 100644 index 1dc9d35c4..000000000 --- a/helm/xmltheory/XmlTheory/Makefile +++ /dev/null @@ -1,165 +0,0 @@ -############################################################################## -## The Calculus of Inductive Constructions ## -## ## -## Projet Coq ## -## ## -## INRIA ENS-CNRS ## -## Rocquencourt Lyon ## -## ## -## Coq V7 ## -## ## -## ## -############################################################################## - -# WARNING -# -# This Makefile has been automagically generated by coq_makefile -# Edit at your own risks ! -# -# END OF WARNING - -# -# This Makefile was generated by the command line : -# coq_makefile -f Make -o Makefile -# - -########################## -# # -# Variables definitions. # -# # -########################## - -CAMLP4LIB=`camlp4 -where` -MAKE=make "COQBIN=$(COQBIN)" "OPT=$(OPT)" -COQSRC=-I $(COQTOP)/kernel -I $(COQTOP)/lib \ - -I $(COQTOP)/library -I $(COQTOP)/parsing -I $(COQTOP)/pretyping \ - -I $(COQTOP)/proofs -I $(COQTOP)/syntax -I $(COQTOP)/tactics \ - -I $(COQTOP)/toplevel -I $(CAMLP4LIB) -ZFLAGS=$(OCAMLLIBS) $(COQSRC) -COQFLAGS=-q $(OPT) $(COQLIBS) -COQC=$(COQBIN)coqc -COQFULL=$(COQBIN)coqc $(FULLOPT) -q $(COQLIBS) -GALLINA=gallina -COQ2HTML=coq2html -COQ2LATEX=coq2latex -CAMLC=ocamlc -c -CAMLOPTC=ocamlopt -c -CAMLLINK=ocamlc -CAMLOPTLINK=ocamlopt -COQDEP=$(COQBIN)coqdep -c -COQVO2XML=coq_vo2xml - -######################### -# # -# Libraries definition. # -# # -######################### - -OCAMLLIBS=-I .\ - -I $(COQTOP)/contrib/xml -COQLIBS=-I .\ - -R . Bologna.XmlTheory\ - -I $(COQTOP)/contrib/xml - -################################### -# # -# Definition of the "all" target. # -# # -################################### - -all: XmlTheory.vo\ - iXml.cmo\ - xmltheoryentries.cmo - -spec: XmlTheory.vi - -gallina: XmlTheory.g - -html: XmlTheory.html - -tex: XmlTheory.tex - -gallinatex: XmlTheory.g.tex - -gallinahtml: XmlTheory.g.html - -xml: .xml_time_stamp -.xml_time_stamp: XmlTheory.vo - $(COQVO2XML) $(COQFLAGS) $(?:%.o=%) - touch .xml_time_stamp - -#################### -# # -# Special targets. # -# # -#################### - -.PHONY: all opt byte archclean clean install depend xml - -.SUFFIXES: .mli .ml .cmo .cmi .cmx .v .vo .vi .g .html .tex .g.tex .g.html - -.mli.cmi: - $(CAMLC) $(ZDEBUG) $(ZFLAGS) $< - -.ml.cmo: - $(CAMLC) $(ZDEBUG) $(ZFLAGS) $< - -.ml.cmx: - $(CAMLOPTC) $(ZDEBUG) $(ZFLAGS) $< - -.v.vo: - $(COQC) $(COQDEBUG) $(COQFLAGS) $* - -.v.vi: - $(COQC) -i $(COQDEBUG) $(COQFLAGS) $* - -.v.g: - $(GALLINA) $< - -.v.html: - $(COQ2HTML) $< - -.v.tex: - $(COQ2LATEX) $< -latex -o $@ - -.v.g.html: - $(GALLINA) -stdout $< | $(COQ2HTML) -f > $@ - -.v.g.tex: - $(GALLINA) -stdout $< | $(COQ2LATEX) - -latex -o $@ - -byte: - $(MAKE) all "OPT=" - -opt: - $(MAKE) all "OPT=-opt" - -include .depend - -depend: - rm .depend - $(COQDEP) -i $(COQLIBS) *.v *.ml *.mli >.depend - $(COQDEP) $(COQLIBS) -suffix .html *.v >>.depend - -install: - @if test -z $(TARGETDIR); then echo "You must set TARGETDIR (for instance with 'make TARGETDIR=foobla install')"; exit 1; fi - cp -f *.vo $(TARGETDIR) - cp -f *.cmo $(TARGETDIR) - -Makefile: Make - mv -f Makefile Makefile.bak - $(COQBIN)coq_makefile -f Make -o Makefile - -clean: - rm -f *.cmo *.cmi *.cmx *.o *.vo *.vi *~ - -archclean: - rm -f *.cmx *.o - -# WARNING -# -# This Makefile has been automagically generated by coq_makefile -# Edit at your own risks ! -# -# END OF WARNING - diff --git a/helm/xmltheory/XmlTheory/README b/helm/xmltheory/XmlTheory/README deleted file mode 100644 index ce4c86c98..000000000 --- a/helm/xmltheory/XmlTheory/README +++ /dev/null @@ -1,78 +0,0 @@ -Here we show the procedure to follow to add the recognition of -a new syntactical form. - -Form to recognize in the model: - -Lemma existsDec : (l:(list A)){(list_exists l)}+{~(list_exists l)}. - -1. cd V7 ; grep "Lemma" */*.ml4 - the result should be one or a few files. In this case the - only file is parsing/g_vernac.ml4. In the case of many files, - only one is the good one. -2. open the file and search for Lemma: - thm_tok: - [ [ "Theorem" -> <:ast< "THEOREM" >> - | IDENT "Lemma" -> <:ast< "LEMMA" >> - | IDENT "Fact" -> <:ast< "FACT" >> - | IDENT "Remark" -> <:ast< "REMARK" >> - | IDENT "Decl" -> <:ast< "DECL" >> ] ] - - so a Lemma is mapped into an ast of phylum thm_tok. - Let's search for thm_tok. Many occurrences are found, - but the only one that matches the form to recognize is - - gallina: - (* Definition, Goal *) - [ [ thm = thm_tok; id = identarg; ":"; c = constrarg -> - <:ast< (StartProof $thm $id $c) >> - - So the ast created is tagged StartProof -3. grep "StartProof" */*.ml (usually toplevel/...) - Open the file and search for StartProof. - This is found: - let _ = - add "StartProof" - (function - | [VARG_STRING kind;VARG_IDENTIFIER s;VARG_CONSTR com] -> - ... -4. edit xmltheoryentries.ml and copy the entry for another rule, - substituting StartProof as the parameter for set_hook and - using the above match (with V. added where appropriate) after function: - -let module V = Vernacinterp in - set_hook "StartProof" - (function - [V.VARG_STRING kind;V.VARG_IDENTIFIER s;V.VARG_CONSTR com] -> - ??? - | _ -> fail () - ) -;; - - Finally, write OCaml code to print to XML the availables interesting - infos. In our case the code becomes - -let module V = Vernacinterp in - set_hook "StartProof" - (function - [V.VARG_STRING kind;V.VARG_IDENTIFIER s;V.VARG_CONSTR com] -> - IXml.output - (Xml.xml_empty - "THEOREM" - ["uri", Names.string_of_id s ^ ".con"; "as",kind] - ) - | _ -> fail () - ) -;; - - IXml.output should always be present and the code inside - (that is simply XML written in OCaml form) should be changed. - The syntax is - Xml.xml_empty "name" ["att1","value1" ; ... ; "attn","valuen"] - to create an empty element name with attributes att1 ... attn. - To create a non-empty element, use - Xml.xml_nempty "name" ["att1","value1" ; ... ; "attn","valuen"] - stream - where stream is an OCaml stream of other XML elements, as: - * another Xml.xml_nempty - * an Xml.xml_empty - * [< stream1 ; ... ; streamk >] diff --git a/helm/xmltheory/XmlTheory/XmlTheory.v b/helm/xmltheory/XmlTheory/XmlTheory.v deleted file mode 100644 index 54fdf82e6..000000000 --- a/helm/xmltheory/XmlTheory/XmlTheory.v +++ /dev/null @@ -1,15 +0,0 @@ -Declare ML Module "iXml" "xmltheoryentries". - -(*Vecchio, ma funzionante -Grammar vernac vernac : ast := - xml_theory_begin [ "XmlTheory" "Begin" stringarg($s) stringarg($f) "." ] -> - [(XMLTHEORYBEGIN $s $f)] -| xml_theory_end [ "XmlTheory" "End" "." ] -> - [(XMLTHEORYEND)]. -*) - -Grammar vernac vernac : ast := - xml_theory_begin [ "XmlTheory" "Begin" identarg($s) stringarg($f) "." ] -> - [(XMLTHEORYBEGIN $s $f)] -| xml_theory_end [ "XmlTheory" "End" "." ] -> - [(XMLTHEORYEND)]. diff --git a/helm/xmltheory/XmlTheory/iXml.ml b/helm/xmltheory/XmlTheory/iXml.ml deleted file mode 100644 index 98fb186d8..000000000 --- a/helm/xmltheory/XmlTheory/iXml.ml +++ /dev/null @@ -1,53 +0,0 @@ -exception NoOpenNonEmptyElements - -type sectionTree = - Leaf of Xml.token Stream.t - | Node of string * (string * string) list * sectionTree list ref -;; - -let rec token_stream_of_section_tree_list = - function - he::tl -> - [< token_stream_of_section_tree_list tl; token_stream_of_section_tree he >] - | [] -> [<>] -and token_stream_of_section_tree = - function - Leaf t -> [< t >] - | Node (elem_name, attr_list, section_tree) -> - Xml.xml_nempty elem_name attr_list - (token_stream_of_section_tree_list !section_tree) -;; - -let section_stack = ref [];; -let xmloutput = ref (ref []);; -let filename = ref "";; - -let reset_output fname = - filename := fname ; - xmloutput := ref [] ; - section_stack := [] -;; - -let output n = - let xmloutput = !xmloutput in - xmloutput := (Leaf n) :: !xmloutput -;; - -let open_non_empty_element elem_name attr_list = - let newxmloutput = ref [] in - !xmloutput := (Node (elem_name, attr_list, newxmloutput)) :: !(!xmloutput) ; - section_stack := !xmloutput :: !section_stack ; - xmloutput := newxmloutput -;; - -let close_non_empty_element () = - match !section_stack with - oldxmloutput::oldsection_stack -> - xmloutput := oldxmloutput ; - section_stack := oldsection_stack - | _ -> raise NoOpenNonEmptyElements -;; - -let print_output () = - Xml.pp (token_stream_of_section_tree_list !(!xmloutput)) (Some !filename) -;; diff --git a/helm/xmltheory/XmlTheory/iXml.mli b/helm/xmltheory/XmlTheory/iXml.mli deleted file mode 100644 index 11fad8202..000000000 --- a/helm/xmltheory/XmlTheory/iXml.mli +++ /dev/null @@ -1,7 +0,0 @@ -exception NoOpenNonEmptyElements - -val reset_output : string -> unit -val output : Xml.token Stream.t -> unit -val open_non_empty_element : string -> (string * string) list -> unit -val close_non_empty_element : unit -> unit -val print_output : unit -> unit diff --git a/helm/xmltheory/XmlTheory/xmltheoryentries.ml b/helm/xmltheory/XmlTheory/xmltheoryentries.ml deleted file mode 100644 index de3c5030a..000000000 --- a/helm/xmltheory/XmlTheory/xmltheoryentries.ml +++ /dev/null @@ -1,371 +0,0 @@ -(*********************) -(* Utility functions *) -(*********************) - -let fail () = - Pp.warning "XmlTheory: AST not recognized" -;; - -(* name is the name of the function to hook *) -(* hook is an hook partial-function to recognize particular inputs *) -let set_hook name hook = - let module V = Vernacinterp in - let old = V.vinterp_map name in - V.vinterp_add name - (fun l () -> - old l () ; - hook l - ) -;; - - -(*****************************************************) -(* Vernacular administrative commands for the module *) -(*****************************************************) - -let header = -"\n" ^ -"\n" -;; - -(*Vecchio, ma funzionante -let module V = Vernacinterp in - V.vinterp_add "XMLTHEORYBEGIN" - (function - [V.VARG_STRING curi ; V.VARG_STRING filename] -> - fun () -> - IXml.reset_output filename ; - IXml.output (Xml.xml_cdata header) ; - IXml.open_non_empty_element "Theory" ["uri","cic:" ^ curi] - | _ -> V.bad_vernac_args "XMLTHEORYBEGIN" - ) -;; -*) - -let module V = Vernacinterp in -let module L = Library in -let module S = System in -let module N = Names in - V.vinterp_add "XMLTHEORYBEGIN" - (function - [V.VARG_IDENTIFIER id ; V.VARG_STRING root_dir] -> - fun () -> - let s = N.string_of_id id in - let lpe,_ = - S.find_file_in_path (L.get_load_path ()) (s^".v") - in - let curi = "/" ^ String.concat "/" lpe.S.coq_dirpath in - let dirname = root_dir ^ curi in - Unix.system ("mkdir -p " ^ dirname) ; - let filename = dirname ^ "/" ^ s ^ ".theory" in - IXml.reset_output filename ; - IXml.output (Xml.xml_cdata header) ; - IXml.open_non_empty_element "Theory" ["uri","cic:" ^ curi ^ "/" ^ s] - | _ -> V.bad_vernac_args "XMLTHEORYBEGIN" - ) -;; - -let module V = Vernacinterp in - V.vinterp_add "XMLTHEORYEND" - (function - [] -> - fun () -> - IXml.close_non_empty_element () ; - IXml.print_output () - | _ -> V.bad_vernac_args "XMLTHEORYEND" - ) -;; - - -(**********************************************************) -(* All the vernacular commands on which one is interested *) -(* should be overridden here *) -(**********************************************************) - -let module V = Vernacinterp in -let module N = Names in -let module S = System in -let module L = Library in - set_hook "Require" - (function - [V.VARG_STRING import; V.VARG_STRING specif; V.VARG_IDENTIFIER id] -> - (* id is the identifier of the module, but we need the absolute *) - (* identifier as an URI. *) - (* E.g.: Logic ==> theory:/Coq/Init/Logic.theory *) - let name = N.string_of_id id in - let ({S.coq_dirpath = coq_dirpath},_) = L.module_filename name in - let uri = - "theory:/" ^ (String.concat "/" coq_dirpath) ^ "/" ^ name ^ ".theory" - in - IXml.output - (Xml.xml_nempty "vernacular" [] - (Xml.xml_empty - "Require" - ["import",import; "specif",specif; "uri",uri] - ) - ) - | _ -> fail () - ) -;; - -let module V = Vernacinterp in -let module T = Nametab in -let module N = Names in - set_hook "HintsResolve" - (function - (V.VARG_VARGLIST l)::lh -> - IXml.output - (Xml.xml_nempty "vernacular" [] - (Xml.xml_nempty - "HintsResolve" [] - [< Xml.xml_nempty "dbs" [] - (List.fold_right - (function - (V.VARG_IDENTIFIER x) -> - (function i -> - [< Xml.xml_empty "db" ["name",N.string_of_id x]; - i - >] - ) - | _ -> Vernacinterp.bad_vernac_args "HintsResolve" - ) - l [<>]) ; - Xml.xml_nempty "hints" [] - (List.fold_right - (function - (V.VARG_QUALID x) -> - (function i -> - [< Xml.xml_empty "hint" ["name",T.string_of_qualid x]; - i - >] - ) - | _ -> Vernacinterp.bad_vernac_args "HintsResolve" - ) - lh [<>] - ) - >] - ) - ) - | _ -> fail () - ) -;; - -let module V = Vernacinterp in - set_hook "IMPLICIT_ARGS_ON" - (function - [] -> - IXml.output - (Xml.xml_nempty "vernacular" [] - (Xml.xml_empty - "ImplicitArguments" - ["status","ON"] - ) - ) - | _ -> fail () - ) -;; - -let module V = Vernacinterp in - set_hook "DEFINITION" - (function - (* Coq anomaly: a Local definition is a Definition at the syntax *) - (* level but a Variable at the logical level. Here we have to *) - (* recognize the two cases and treat them differently *) - (V.VARG_STRING "LOCAL":: V.VARG_IDENTIFIER id:: V.VARG_CONSTR c:: rest) -> - IXml.output - (Xml.xml_nempty "VARIABLES" ["as","LOCAL"] - (Xml.xml_empty - "VARIABLE" - ["uri",Names.string_of_id id ^ ".var"] - ) - ) - | (V.VARG_STRING kind:: V.VARG_IDENTIFIER id:: V.VARG_CONSTR c :: rest) -> - IXml.output - (Xml.xml_empty - "DEFINITION" - ["uri", Names.string_of_id id ^ ".con" ; "as",kind] - ) - | _ -> fail () - ) -;; - -let module V = Vernacinterp in - set_hook "BeginSection" - (function - [V.VARG_IDENTIFIER id] -> - IXml.open_non_empty_element "SECTION" ["uri", Names.string_of_id id] - | _ -> fail () - ) -;; - -let module V = Vernacinterp in - set_hook "EndSection" - (function - [V.VARG_IDENTIFIER id] -> - IXml.close_non_empty_element () - | _ -> fail () - ) -;; - -let module V = Vernacinterp in - set_hook "StartProof" - (function - [V.VARG_STRING kind;V.VARG_IDENTIFIER s;V.VARG_CONSTR com] -> - IXml.output - (Xml.xml_empty - "THEOREM" - ["uri", Names.string_of_id s ^ ".con"; "as",kind] - ) - | _ -> fail () - ) -;; - -let module V = Vernacinterp in - set_hook "MUTUALINDUCTIVE" - (function - [V.VARG_STRING f; V.VARG_VARGLIST indl] -> - (* we need the name of the first inductive defined *) - (* type in the block to get the URI *) - let name = - match indl with - (V.VARG_VARGLIST ((V.VARG_IDENTIFIER name)::_))::_ -> name - | _ -> assert false - in - IXml.output - (Xml.xml_empty - "DEFINITION" - ["uri", Names.string_of_id name ^ ".ind"; "as",f] - ) - | _ -> fail () - ) -;; - -let module V = Vernacinterp in - set_hook "VARIABLE" - (function - [V.VARG_STRING kind; V.VARG_BINDERLIST slcl] -> - (* here we need all the names *) - let names = - List.flatten (List.map fst slcl) - in - IXml.output - (Xml.xml_nempty "VARIABLES" ["as",kind] - (List.fold_right - (fun name s -> - [< (Xml.xml_empty - "VARIABLE" - ["uri",Names.string_of_id name ^ ".var"] - ) ; s - >] - ) names [<>] - ) - ) - | _ -> fail () - ) -;; - -let module V = Vernacinterp in -let module T = Nametab in -let module N = Names in - set_hook "COERCION" - (function - [V.VARG_STRING kind; V.VARG_STRING identity; V.VARG_QUALID qid; - V.VARG_QUALID qids; V.VARG_QUALID qidt] -> - (* let's substitute empty strings with non-empty strings *) - (* to get a stricter DTD *) - let remove_empty_string s = if s = "" then "UNSPECIFIED" else s in - let kind = remove_empty_string kind in - let identity = remove_empty_string identity in - IXml.output - (Xml.xml_nempty "vernacular" [] - (Xml.xml_empty - "Coercion" - ["kind",kind; "identity",identity ; "name",T.string_of_qualid qid ; - "source",T.string_of_qualid qids;"target",T.string_of_qualid qidt] - ) - ) - | _ -> fail () - ) -;; - -let module V = Vernacinterp in - set_hook "MUTUALRECURSIVE" - (function - [V.VARG_VARGLIST lmi] -> - (* we need the name of the first inductive defined *) - (* type in the block to get the URI *) - let name = - match lmi with - (V.VARG_VARGLIST ((V.VARG_IDENTIFIER name)::_))::_ -> name - | _ -> assert false - in - IXml.output - (Xml.xml_empty - "DEFINITION" - ["uri", Names.string_of_id name ^ ".con" ; "as","Fixpoint"] - ) - | _ -> fail () - ) -;; - -let module V = Vernacinterp in - set_hook "MUTUALCORECURSIVE" - (function - [V.VARG_VARGLIST lmi] -> - (* we need the name of the first inductive defined *) - (* type in the block to get the URI *) - let name = - match lmi with - (V.VARG_VARGLIST ((V.VARG_IDENTIFIER name)::_))::_ -> name - | _ -> assert false - in - IXml.output - (Xml.xml_empty - "DEFINITION" - ["uri", Names.string_of_id name ^ ".con" ; "as","CoFixpoint"] - ) - | _ -> fail () - ) -;; - -let module V = Vernacinterp in - set_hook "RECORD" - (function - [V.VARG_STRING coe; - V.VARG_IDENTIFIER struc; - V.VARG_BINDERLIST binders; - V.VARG_CONSTR sort; - V.VARG_VARGLIST namec; - V.VARG_VARGLIST cfs] -> - IXml.output - (Xml.xml_empty - "DEFINITION" - ["uri", Names.string_of_id struc ^ ".ind" ; "as","Record"] - ) - | _ -> fail () - ) -;; - -let module V = Vernacinterp in - set_hook "PARAMETER" - (function - [V.VARG_STRING kind; V.VARG_BINDERLIST slcl] -> - (* here we need all the names *) - let names = - List.flatten (List.map fst slcl) - in - IXml.output - (Xml.xml_nempty "AXIOMS" ["as",kind] - (List.fold_right - (fun name s -> - [< (Xml.xml_empty - "AXIOM" - ["uri",Names.string_of_id name ^ ".con"] - ) ; s - >] - ) names [<>] - ) - ) - | _ -> fail () - ) -;; diff --git a/helm/xmltheory/maththeory.dtd b/helm/xmltheory/maththeory.dtd deleted file mode 100644 index f010b6500..000000000 --- a/helm/xmltheory/maththeory.dtd +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/xsltd/.cvsignore b/helm/xsltd/.cvsignore deleted file mode 100644 index 4b1a68e29..000000000 --- a/helm/xsltd/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -Makefile configure config.log config.cache config.status start-xaland diff --git a/helm/xsltd/AUTHORS b/helm/xsltd/AUTHORS deleted file mode 100644 index 1088c5689..000000000 --- a/helm/xsltd/AUTHORS +++ /dev/null @@ -1 +0,0 @@ -Claudio Sacerdoti Coen diff --git a/helm/xsltd/COPYING b/helm/xsltd/COPYING deleted file mode 100644 index d60c31a97..000000000 --- a/helm/xsltd/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/xsltd/ChangeLog b/helm/xsltd/ChangeLog deleted file mode 100644 index 20c36b475..000000000 --- a/helm/xsltd/ChangeLog +++ /dev/null @@ -1 +0,0 @@ -28/12/2000: First alpha release diff --git a/helm/xsltd/Makefile.in b/helm/xsltd/Makefile.in deleted file mode 100644 index 1d43f9c18..000000000 --- a/helm/xsltd/Makefile.in +++ /dev/null @@ -1,16 +0,0 @@ - -BIN_DIR=@BIN_DIR@ -HELM_LIB_DIR=@HELM_LIB_DIR@ - -all: - -install: - cp start-xaland $(BIN_DIR) - cp xaland.class $(HELM_LIB_DIR) - -distclean: - rm -f Makefile configure config.log config.cache config.status \ - etc/configuration.xml etc/helm-math-engine-configuration.xml \ - lib/configuration.pl *.spec start-xaland - -.PHONY: all install distclean diff --git a/helm/xsltd/Makefile.old b/helm/xsltd/Makefile.old deleted file mode 100644 index a56803cc5..000000000 --- a/helm/xsltd/Makefile.old +++ /dev/null @@ -1,48 +0,0 @@ -JAVADIR = /opt/java/jdk1.3/bin -HELM_STYLES_DIR = file:/home/lpadovan/miohelm/style - -start-xaland: - java -ss1024K -oss8192K \ - xaland 12345 12346 \ - $(HELM_STYLES_DIR)/rootcontent.xsl \ - $(HELM_STYLES_DIR)/annotatedpres.xsl \ - $(HELM_STYLES_DIR)/theory_content.xsl \ - $(HELM_STYLES_DIR)/theory_pres.xsl - -start-xaland-DOM: - java -ss1024K -oss8192K \ - xaland_DOM 12345 12346 \ - $(HELM_STYLES_DIR)/rootcontent.xsl \ - $(HELM_STYLES_DIR)/annotatedpres.xsl \ - $(HELM_STYLES_DIR)/theory_content.xsl \ - $(HELM_STYLES_DIR)/theory_pres.xsl - -start-xaland-2: - java -ss1024K -oss8192K \ - xaland2 12345 12346 \ - $(HELM_STYLES_DIR)/rootcontent.xsl \ - $(HELM_STYLES_DIR)/annotatedpres.xsl \ - $(HELM_STYLES_DIR)/theory_content.xsl \ - $(HELM_STYLES_DIR)/theory_pres.xsl - -start-xaland-old: - java xaland 12345 12346 \ - $(HELM_STYLES_DIR)/style_prima_del_linguaggio_naturale/rootcontent.xsl \ - $(HELM_STYLES_DIR)/style_prima_del_linguaggio_naturale/annotatedpres.xsl \ - $(HELM_STYLES_DIR)/style_prima_del_linguaggio_naturale/theory_content.xsl \ - $(HELM_STYLES_DIR)/style_prima_del_linguaggio_naturale/theory_pres.xsl - -start-xaland-uwobo: - $(JAVADIR)/java -ss1024K -oss8192K \ - xaland_uwobo 12345 12346 12347 \ - $(HELM_STYLES_DIR)/rootcontent.xsl \ - $(HELM_STYLES_DIR)/annotatedpres.xsl \ - $(HELM_STYLES_DIR)/theory_content.xsl \ - $(HELM_STYLES_DIR)/theory_pres.xsl - -start-xaland3: - java xaland 12347 12348 \ - $(HELM_STYLES_DIR)/rootcontent.xsl \ - $(HELM_STYLES_DIR)/annotatedpres.xsl \ - $(HELM_STYLES_DIR)/theory_content.xsl \ - $(HELM_STYLES_DIR)/theory_pres.xsl diff --git a/helm/xsltd/NEWS b/helm/xsltd/NEWS deleted file mode 100644 index 20c36b475..000000000 --- a/helm/xsltd/NEWS +++ /dev/null @@ -1 +0,0 @@ -28/12/2000: First alpha release diff --git a/helm/xsltd/README b/helm/xsltd/README deleted file mode 100644 index ab2790be7..000000000 --- a/helm/xsltd/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 -an UDP-based XSLT daemon. - -For more information see http://www.cs.unibo.it/helm diff --git a/helm/xsltd/config.cache.pkg b/helm/xsltd/config.cache.pkg deleted file mode 100644 index 97be23b13..000000000 --- a/helm/xsltd/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_STYLES_DIR=${helm_cv_HELM_STYLES_DIR='$RESOLVED_PREFIX/share/helm/style'} diff --git a/helm/xsltd/configure.in b/helm/xsltd/configure.in deleted file mode 100644 index 2a8fcd0f3..000000000 --- a/helm/xsltd/configure.in +++ /dev/null @@ -1,92 +0,0 @@ -AC_INIT(xaland.class) - -PACKAGE=helm_xsltd -MAJOR_VERSION=0 -MINOR_VERSION=0 -MICRO_VERSION=2 -VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION - -DEFAULT_HELM_LIB_DIR=/usr/local/lib/helm -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 "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 - -BIN_DIR=$RESOLVED_EXEC_PREFIX/bin - -if test $USE_DEFAULTS = auto; then - AC_CHECK_PROG(HAVE_HELM_CONFIG, helm-config, yes, no) - if test $HAVE_HELM_CONFIG = yes; then - HELM_LIB_DIR=`helm-config --lib-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 lib directory for HELM..." - echo - echo -n "[[$DEFAULT_HELM_LIB_DIR]] ? " - read HELM_LIB_DIR - if test "x$HELM_LIB_DIR" = "x"; then - HELM_LIB_DIR=$DEFAULT_HELM_LIB_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_LIB_DIR=$DEFAULT_HELM_LIB_DIR - HELM_STYLE_DIR=$DEFAULT_HELM_STYLE_DIR -fi - -AC_MSG_CHECKING(for the $HELM_LIB_DIR) -if test -d $HELM_LIB_DIR; then - AC_MSG_RESULT(ok) -else - AC_MSG_RESULT(no) - AC_MSG_ERROR(please check your installation) -fi - -AC_MSG_CHECKING(for $HELM_STYLE_DIR) -if test -d $HELM_STYLE_DIR; then - AC_MSG_RESULT(ok) -else - AC_MSG_RESULT(no) - AC_MSG_ERROR(please check your installation) -fi - -AC_SUBST(PACKAGE) -AC_SUBST(VERSION) -AC_SUBST(BIN_DIR) -AC_SUBST(HELM_LIB_DIR) -AC_SUBST(HELM_STYLE_DIR) - -AC_OUTPUT([ - Makefile - start-xaland - helm_xsltd.spec -], chmod +x start-xaland) diff --git a/helm/xsltd/helm_xsltd.spec.in b/helm/xsltd/helm_xsltd.spec.in deleted file mode 100644 index 9d9dafedd..000000000 --- a/helm/xsltd/helm_xsltd.spec.in +++ /dev/null @@ -1,32 +0,0 @@ -Summary: The UDP-based XSLTD daemon for 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.1, helm_data = 0.0.1, helm_http_getter = 0.0.1 -Group: Applications/Publishing -Source: www.cs.unibo.it:/helm/@PACKAGE@-@VERSION@-1.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 -an UDP-based XSLT daemon. -For more information see http://www.cs.unibo.it/helm - -%prep -%setup - -%build -cp config.cache.pkg config.cache -./configure -make - -%install -make install - -%files -%doc AUTHORS COPYING ChangeLog NEWS README -/usr/local/lib/helm/xaland.class -%attr(755,root,root) /usr/local/bin/start-xaland diff --git a/helm/xsltd/start-xaland.in b/helm/xsltd/start-xaland.in deleted file mode 100755 index 687e09bf8..000000000 --- a/helm/xsltd/start-xaland.in +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash - -# 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/. - -########################################################################## -# BEGIN OF THE PART TO CONFIGURE BEFORE USING THE SCRIPT # -########################################################################## - -# In the next line you have to set the path to the jdk1.3 -export PATH=/opt/java/jdk1.3/bin/:$PATH - -# In the next line you have to give the classpath to the 1.1 version of -# xalan.jar -export CLASSPATH1=/projects/helm/shared/libraries/java/xalan_1_1/xalan.jar - -# In the next line you have to give the classpath to the 1.1 version of -# xerces.jar -export CLASSPATH2=/projects/helm/shared/libraries/java/xalan_1_1/xerces.jar - -########################################################################## -# END OF THE PART TO CONFIGURE # -########################################################################## - -export CLASSPATH=$CLASSPATH1:$CLASSPATH2:$CLASSPATH:. -export CLASS_DIR=@HELM_LIB_DIR@ -export HELM_STYLE_DIR=@HELM_STYLE_DIR@ - -cd $CLASS_DIR && -java -ss1024K -oss8192K \ - xaland 12345 12346 \ - $HELM_STYLE_DIR/rootcontent.xsl \ - $HELM_STYLE_DIR/annotatedpres.xsl \ - $HELM_STYLE_DIR/theory_content.xsl \ - $HELM_STYLE_DIR/theory_pres.xsl diff --git a/helm/xsltd/xaland-cpp/xaland.cpp b/helm/xsltd/xaland-cpp/xaland.cpp deleted file mode 100644 index e22140267..000000000 --- a/helm/xsltd/xaland-cpp/xaland.cpp +++ /dev/null @@ -1,207 +0,0 @@ -// Base header file. Must be first. -#include - -#include -#include - -#include - -#include - -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -int main(int argc, const char* []) -{ -#if !defined(XALAN_NO_NAMESPACES) - using std::cerr; - using std::endl; - using std::ofstream; -#endif - - if (argc != 1) { - cerr << "Usage: SimpleTransform" - << endl - << endl; - } else { - try { - // Call the static initializer for Xerces... - XMLPlatformUtils::Initialize(); - - { - // Initialize the Xalan XSLT subsystem... - XSLTInit theInit; - - // Create the support objects that are necessary for - // running the processor... - XercesDOMSupport theDOMSupport; - XercesParserLiaison theParserLiaison(theDOMSupport); - XPathSupportDefault theXPathSupport(theDOMSupport); - XSLTProcessorEnvSupportDefault theXSLTProcessorEnvSupport; - XObjectFactoryDefault theXObjectFactory; - XPathFactoryDefault theXPathFactory; - - // Create a processor... - XSLTEngineImpl theProcessor( - theParserLiaison, - theXPathSupport, - theXSLTProcessorEnvSupport, - theDOMSupport, - theXObjectFactory, - theXPathFactory); - - // Connect the processor to the support object... - theXSLTProcessorEnvSupport.setProcessor(&theProcessor); - - // Create a stylesheet construction context, and a stylesheet - // execution context... - StylesheetConstructionContextDefault theConstructionContext( - theProcessor, - theXSLTProcessorEnvSupport, - theXPathFactory); - - StylesheetExecutionContextDefault theExecutionContext( - theProcessor, - theXSLTProcessorEnvSupport, - theXPathSupport, - theXObjectFactory); - - // Our input files...The assumption is that the executable will be - // run from same directory as the input files. - const XalanDOMString theXMLFileName("foo.xml"); - const XalanDOMString theXSLFileName("foo.xsl"); - - // Our input sources... - XSLTInputSource theInputSource(c_wstr(theXMLFileName)); - XSLTInputSource theStylesheetSource(c_wstr(theXSLFileName)); - - // Our output target... - const XalanDOMString theOutputFileName("foo.out"); - XSLTResultTarget theResultTarget(theOutputFileName); - - theProcessor.process( - theInputSource, - theStylesheetSource, - theResultTarget, - theConstructionContext, - theExecutionContext); - - } - - // Call the static terminator for Xerces... - XMLPlatformUtils::Terminate(); - } - catch(...) { - cerr << "Exception caught!!!" - << endl - << endl; - } - } - - return 0; -} - -/**************************************************/ -/* - -public class xaland { - public static void Transform(StylesheetRoot style, String xmlSourceURL, String OutputURL) throws java.io.IOException, java.net.MalformedURLException, org.xml.sax.SAXException - { - XSLTInputSource xmlSource = new XSLTInputSource (xmlSourceURL); - XSLTResultTarget xmlResult = new XSLTResultTarget (OutputURL); - style.process(xmlSource, xmlResult); - } - - public static void main(String argv[]) throws java.io.IOException, java.net.MalformedURLException, org.xml.sax.SAXException - { - int port = Integer.parseInt(argv[0]); - int port2 = Integer.parseInt(argv[1]); - String xsl1 = argv[2]; - String xsl2 = argv[3]; - String theory_xsl1 = argv[4]; - String theory_xsl2 = argv[5]; - - XSLTProcessor theory_processor = - XSLTProcessorFactory.getProcessor(new org.apache.xalan.xpath.xdom.XercesLiaison()); - StylesheetRoot theory_style1 = - theory_processor.processStylesheet(theory_xsl1); - theory_processor.reset(); - StylesheetRoot theory_style2 = - theory_processor.processStylesheet(theory_xsl2); - theory_processor.setStylesheet(theory_style2); - - XSLTProcessor processor = - XSLTProcessorFactory.getProcessor(new org.apache.xalan.xpath.xdom.XercesLiaison()); - StylesheetRoot style1 = processor.processStylesheet(xsl1); - processor.reset(); - StylesheetRoot style2 = processor.processStylesheet(xsl2); - processor.setStylesheet(style2); - - DatagramSocket socket = new DatagramSocket(port); - - System.out.println("Demon activated on input port " + port + - " and output port " + port2); - while(true) { - System.out.print("Ready..."); - - /* Warning: the packet must be a fresh one! * / - DatagramPacket packet = new DatagramPacket(new byte[1024],1024); - socket.receive(packet); - byte data[] = packet.getData(); - int datalen = packet.getLength(); - String received = new String(data,0,datalen); - - int first = received.indexOf(' '); - int last = received.lastIndexOf(' '); - String mode = received.substring(0,first); - String input = received.substring(first+1,last); - String output = received.substring(last+1); - - System.out.println("request received! Parameters are"); - System.out.println("Mode: " + mode + " "); - System.out.println("Input file: \"" + input + "\""); - System.out.println("Output file: \"" + output + "\"\n"); - - if ((new File(output)).exists()) { - System.out.println("Using cached version\n"); - } else { - FileOutputStream fout = new FileOutputStream(output); - if (mode.equals("cic")) { - processor.setDocumentHandler(style2.getSAXSerializer(fout)); - XSLTResultTarget content = new XSLTResultTarget(processor); - style1.process(new XSLTInputSource(input), content); - } else if (mode.equals("theory")) { - theory_processor.setDocumentHandler( - theory_style2.getSAXSerializer(fout)); - XSLTResultTarget content = - new XSLTResultTarget(theory_processor); - theory_style1.process(new XSLTInputSource(input), content); - } - } - - InetAddress address = InetAddress.getLocalHost(); - DatagramSocket socket2 = new DatagramSocket(); - - byte buf[] = new byte[0]; - DatagramPacket packet2 = new DatagramPacket(buf,0,address,port2); - - socket2.send(packet2); - } - } -} - -*/ diff --git a/helm/xsltd/xaland-java-DOM/xaland_DOM.class b/helm/xsltd/xaland-java-DOM/xaland_DOM.class deleted file mode 100644 index 59c9683c9c09b9358475aa3f6416ac0488cc37a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3555 zcma)9>vtPh5&vCT_O91^99y<*Z=9sctJrE{HE!d!n-@-;)DH3k%Q1FBNY>KYRw`-L z-IZ&%yeUv#rO?A8a0rxFN})gsmEtOtS9z5;gir7f@D)DxoE&C$Wm~T8bJ!1a=g!QX znLBr8_TJa;yz(k)a1j5HVasr2xH1YdJ}2YzGQJ?=s*JD5xF+MPGQK9`>oUG62lu(jzQ^K-@TM~XE;Z+GgmGCnOKbPlMFt^;AsY*X7G%PZ{WQQKCI$f_>hWk<8c+&@q~)! zv7q8RSXA)>KBnTk_<)M<;oT};VelHhtm0RAQpK-X{cjlj7N1b@JA6dN>v&4VAJ~mQ zGWI97`)7Py#b59q2Jct#H#{aFA_C13BbSO;1vg)CBYDeqi6-_41okKbHC^390b`K2hauJ#reQN> zotx257G`HnoAmKwQrOltwE618UB1q=6&v+-LQa}S_DFZ!vgcxp*-Xqa7GncevXC`% z?jY?rte`Mjf|luu;9aE&?J$c`DwM@({^*b`k|Jk}e? z8}7UpqN(Bdm|;7n9Zwr+$I4Zrw_cjvnM%Yb#%wD|XKnH6bZ@416TjJo@vUT8=}?Z6 zFkuz!q3kTqEaB8kqvkcMX_XD;F`6 zZhFCRO{%(FB+Xl1sXKYV%3D1>JydxO0|lE_n*K~Vy_hufZkqIwS}#nI*>uL#BUGu| z;^~|@QpnDj_JlE$Aw%KSY8azhbt}an&=|LpMrP8m(=11->W0ZtohrW3FPk-`^|Uf; z_}1ld(?~55PPYBiIYYL|%sGcTK_toPnu;u#wnGk*?{!8#Z{||e0Fvn>P0dFOMux4K zi)qItM52S^^c1KkENk_#7*>1B}{TYlYZQ^NliMJG8ac@ zN!DvmRQB?jTO5YCt-0dQ%7E1Q`L7V!B)w`MrPKsvu5htc)V(#4H?66hgPB% z%o^z&mG8!;{bSRO14Bx0b6q`sn{5b%v_SvX=zz z-dec2ZwTzE7W8)MHIJ2_#85V$p?@3;t@IB{zp7Z)&_7c^&U4G8^bn}cbFoocdSiwn zOPJRsDU~YNS|=y2Z6?k10u@rkrV=q7mqw40+8v=zY-CNBYARybBvMO%RzCTl<5gCO zCM%v+erHsiM65PY?-XVn?{7`D=gym6d}P;J$x_Ap#iT9`j1E&5S)2558qw9}Zn~H8 z7eGDA_zaED0yPEH(FF*Bi_x0in>cke8sy+jfbOsO=YxCYujqVO(h)Go3-YqND*)C3;9TYUyIgU6Al$IqPJ?z;ZX2$xP>QS znzRHj7cs22vAu1+UC*t0a!YF^mqLQTs!twIW?qv zhz5EGsC3unOMD}xXfy6X6TMnm&_|pH>B@eBl6H_T@n=aY!Iyrz)nB57P1A}zcH#+o zVmwK2h^OfVaE)FNFVOfR_Ty!A(OtTmZp=~KCawR(0sI?1_zz-u1NVwr91X;Yo@Uc!-2af|94{~a0ugpJ|qGsa4s-_$v^^Af%Eht`XWU^rWaZZ?O{K~ ihF%#2sUT@iH+C9pqb0oM1|eSHs7jg0@HrX-xcxt3%CU$5 diff --git a/helm/xsltd/xaland-java-DOM/xaland_DOM.java b/helm/xsltd/xaland-java-DOM/xaland_DOM.java deleted file mode 100644 index 354f3b213..000000000 --- a/helm/xsltd/xaland-java-DOM/xaland_DOM.java +++ /dev/null @@ -1,114 +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/. - -import org.apache.xalan.xslt.*; -import org.w3c.dom.Document; -import java.net.*; -import java.io.*; - -public class xaland_DOM { - public static void main(String argv[]) throws java.io.IOException, java.net.MalformedURLException, org.xml.sax.SAXException - { - int port = Integer.parseInt(argv[0]); - int port2 = Integer.parseInt(argv[1]); - String xsl1 = argv[2]; - String xsl2 = argv[3]; - String theory_xsl1 = argv[4]; - String theory_xsl2 = argv[5]; - - XSLTProcessor theory_processor = - XSLTProcessorFactory.getProcessor(new org.apache.xalan.xpath.xdom.XercesLiaison()); - StylesheetRoot theory_style1 = - theory_processor.processStylesheet(theory_xsl1); - theory_processor.reset(); - StylesheetRoot theory_style2 = - theory_processor.processStylesheet(theory_xsl2); - theory_processor.setStylesheet(theory_style2); - - XSLTProcessor processor = - XSLTProcessorFactory.getProcessor(new org.apache.xalan.xpath.xdom.XercesLiaison()); - StylesheetRoot style1 = processor.processStylesheet(xsl1); - processor.reset(); - StylesheetRoot style2 = processor.processStylesheet(xsl2); - processor.setStylesheet(style2); - - DatagramSocket socket = new DatagramSocket(port); - - System.out.println("Demon activated on input port " + port + - " and output port " + port2); - while(true) { - System.out.print("Ready..."); - - /* Warning: the packet must be a fresh one! */ - DatagramPacket packet = new DatagramPacket(new byte[1024],1024); - socket.receive(packet); - byte data[] = packet.getData(); - int datalen = packet.getLength(); - String received = new String(data,0,datalen); - - int first = received.indexOf(' '); - int last = received.lastIndexOf(' '); - String mode = received.substring(0,first); - String input = received.substring(first+1,last); - String output = received.substring(last+1); - - System.out.println("request received! Parameters are"); - System.out.println("Mode: " + mode + " "); - System.out.println("Input file: \"" + input + "\""); - System.out.println("Output file: \"" + output + "\"\n"); - - if ((new File(output)).exists()) { - System.out.println("Using cached version\n"); - } else { - FileOutputStream fout = new FileOutputStream(output); - if (mode.equals("cic")) { -Document content_doc = new org.apache.xerces.dom.DocumentImpl(); -XSLTResultTarget content = new XSLTResultTarget(content_doc); -/* - processor.setDocumentHandler(style2.getSAXSerializer(fout)); - XSLTResultTarget content = new XSLTResultTarget(processor); -*/ -System.out.print("Prima...\n"); - style1.process(new XSLTInputSource(input), content); -System.out.print("Durante...\n"); - style2.process(new XSLTInputSource(content_doc),new XSLTResultTarget(fout)); -System.out.print("Dopo...\n"); - } else if (mode.equals("theory")) { - theory_processor.setDocumentHandler( - theory_style2.getSAXSerializer(fout)); - XSLTResultTarget content = - new XSLTResultTarget(theory_processor); - theory_style1.process(new XSLTInputSource(input), content); - } - } - - InetAddress address = InetAddress.getLocalHost(); - DatagramSocket socket2 = new DatagramSocket(); - - byte buf[] = new byte[0]; - DatagramPacket packet2 = new DatagramPacket(buf,0,address,port2); - - socket2.send(packet2); - } - } -} diff --git a/helm/xsltd/xaland-java/rompi.class b/helm/xsltd/xaland-java/rompi.class deleted file mode 100644 index 4abfe3865ad89dd63981985bc0c6ff02a72ffbf9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 732 zcmZuvTTc@~6#k~&?v!OCH`{vQvM9&`mE~12K6r~Htq`gvgs15;HiNr6&0dK9EPbGf z7=M62%6MiqrAFrA+~$1WIcMhl{Ppbzs(6UqI#xLDbF6W!b3EYK;P5#%Id&Xan03H0 z=fKAN6lz#-2zArM8ZH*mG@@n19T(eJbW`6-mc zTGGFTo?YO^cKZS|S5!?}JQ7xBcDnwqV KV)w|aAovY)#-^kI diff --git a/helm/xsltd/xaland-java/rompi.java b/helm/xsltd/xaland-java/rompi.java deleted file mode 100644 index 721b9b2ad..000000000 --- a/helm/xsltd/xaland-java/rompi.java +++ /dev/null @@ -1,35 +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/. - -import java.net.*; - -public class rompi { - public static void main(String argv[]) throws java.io.IOException, java.net.MalformedURLException - { - /* Wait forever ;-) */ - DatagramSocket socket2 = new DatagramSocket(12346); - DatagramPacket packet2 = new DatagramPacket(new byte[1],1); - System.out.println("Ho preso il socket e non lo lascio piu', caro pu, caro pu"); - socket2.receive(packet2); - } -} diff --git a/helm/xsltd/xaland-java/sped.class b/helm/xsltd/xaland-java/sped.class deleted file mode 100644 index cc6f53dac35bcca947942989dc7259047fd6f055..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1142 zcmZuw+fvg|6kUg=O&T&nfdWB5@PeUSibYWZqLhn73pj$#Fg%6!vcu z4V98~6><{>RD^L`MFfKahJ-n+Lc$#t3PyxBDw6LCxF@3bh3|oe$4Cg65Req`NI*)% zJf=06nAEUISF04Fx(^JJVF{rambIS_)G?!_(e}Y1&-x2D_MU7_JU{VzV!D>k z^9r38zbT!L9z6F8hO4%37bnS_+uOoUTgrwH#&oS?sfTV1S<*d+Y}Wr~zK`b_Br-Dda{@?Ha) z8PTOWdgkP~e5RO+E`{Q=v{9P=8Ch+x{sJ!W{l)+Q diff --git a/helm/xsltd/xaland-java/sped.java b/helm/xsltd/xaland-java/sped.java deleted file mode 100644 index 8082020ee..000000000 --- a/helm/xsltd/xaland-java/sped.java +++ /dev/null @@ -1,51 +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/. - -import java.net.*; - -public class sped { - public static void main(String argv[]) throws java.io.IOException, java.net.MalformedURLException - { - String input = argv[0]; - String out1 = argv[1]; - String out2 = argv[2]; - - String sent = input + " " + out1 + " " + out2; - - InetAddress address = InetAddress.getLocalHost(); - DatagramSocket socket = new DatagramSocket(); - - int strlen = sent.length(); - byte buf[] = new byte[strlen]; - sent.getBytes(0,strlen,buf,0); - DatagramPacket packet = new DatagramPacket(buf,strlen,address,12345); - - socket.send(packet); - - - /* Wait for answer (or forever ;-) */ - DatagramSocket socket2 = new DatagramSocket(12346); - DatagramPacket packet2 = new DatagramPacket(new byte[1],1); - socket2.receive(packet2); - } -} diff --git a/helm/xsltd/xaland-java/xaland.class b/helm/xsltd/xaland-java/xaland.class deleted file mode 100644 index 6871fda4b77e5da54ed99846b0a35652ccaf2961..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3509 zcma)9Yfu~475=Uyw9B%?Lm*%cr1G&A<;fE-Dy?5+qT zO`mC-PTx&m?jwEIY1*_++DIn2Y12pA=}dogCjUCq>Ay~A`l~Z-e{?3(b9My?kY@rj z=bn4s_uO;NUj6aSS6)RBefWcnw2W&q9+8oe@o^cSl<`>^pOf*7j4#UgvW!<{{8qxZ zBz#-KcO-mQ!uKS6U&0Lu&q?@!gy$vvP{NNSyddGH5?++>l7yd0__>6aB@`vRuAmvC z3fdWT_}B#n^>{!*1A{1oE(S3lBowq^OhF4SGB(a46AT_?+9c~vF=Lv+B?TI06ub@Z zRM3f87MWx4P%T<~BdlJ`-Wh0(3a*OdP*G}gahXmR;$T`!E zj}kbYO4+945R3F?Jou16sJrL#8D2)&R+N@%#yYCe&lDCGOq=YnG8t^`9<8o@tlPJl zw&LU7NhnCu$PV=+EPFA&lFh^&VuSbymQ2%~v@Dm-Tr~ztLTA}1 zXMNakjYZqYP8i8YObVUY)7{>gw>!ui?vj^=*|EfgVLPUsNE>O#%9S&;U7Ew0ok~nk z*jAG6)8ZTGsb;oH+#JH#Ta?|ExS`z?wl{e@dmQ9wjtY0mD%eSLsLIJV&N68_g^W9G z*o);n#eAc;s}1%W?!J7+t2>Di59?ygk8)?#mn-yg^)rM|q;qNaUMl6YR>~Am&RRLg zHFEBZktxvrj$t!vX!RKpgv(Gjm(T;r&*3ng~uo!otnPh@0=~8@}y~` zR{Q(=$)BI#^W;yUcG@;_&VprU$;~B)hCwXJ)trhgo3=v%(%=Xi`MjA+(F{nYle9G- zEf^X0X0D_imk^2WfvcCy5tcA>i|&$u$~Xr&VmYqA-7G?ZM&eGLo}Dr&_)Pk7(mtnv}&hPj+`hSK~}s-0C!xH+3pTFV)c|dCbW09hs?1lZlFR)@2OG z9o@)UC~KtYL(sE(Cix>HWo6^DCiRw69vA`#cFXRb0|E!Di|uGxf&I6atGN2!w;*+% zn#ZzN1rFU_xN;287mNirCID4dMVf;2MHGwKi2D+7D6j~-S07ep<-fDa&mkJ0WF?Q3Z5 zSVz~~;Szc;t|K;gq=dtIsJBlG6>;iCVhenVU<4t8G8w2PV+!^lj8Ax!AR1}6m*_vi zM}5=5A>wubfxCKx12=KvL~n?flf5+q7kk44WL_H3YkK7YJ-m*Nxe^ZE#67yCNm|Vs z?h8PdHE9j>f*?xRr_>T!yM}WCdh={*D4Npev+Fd)S5UN&Pf;~RQ_BkNa~&ld(v_Dm zw2tUpq^5+Pjv|gm0!7@}Nk|bRMchm5NNo`(*U>iD6v8c;KnZ<%J(;R6;xvQ1^#)#! z4K}W$Wln1dMjK1$*PFDa##j;W7>xLcKG>`^1*4H7?$=wirf4K|HQLOZC~cZUSBp5W zx3WLg_v?ivQCM0Fg%lA4He>R5Vdh1d7u>~@nb*oZy0fz0I_l@N))L-c#9h}>&#n}5 zbpwyBqru~J>up*~q^^j8>xgr*w6-FSuVI)|9GlaW5{~HYS{+x17Nzpg+NmOLV34%P z6lopdJK3Q{XJ9RPyVgw%>TT<2r>j1ow+C;@y2eS?w4m13SwdXjqqS>$ia2}Y%_lcY z?msw5cmpIVuzGrrN9ezeim#KN+j|K+Oi%Vcde0Bill(Z9;3?vaP}yCe-v?9l^WX|S z^B*S3G}V6|`|$)0;3*uUa_*)Fb`PGX^#!u>GWzj4;`kGe;tkx1zhD6Wz}@&4j^Te8 z6g9XUi_K%Z{U9M zSB!|iVO0E`)_>vw@o!uZ|3xAoVIrX7!9WyKfjyWG^k61%6umpzO3;snJT)PAY!|J9 W)|%cD_HXrO*e4SFJTU|K{r>@yPnx#? diff --git a/helm/xsltd/xaland-java/xaland.java b/helm/xsltd/xaland-java/xaland.java deleted file mode 100644 index b32106cf0..000000000 --- a/helm/xsltd/xaland-java/xaland.java +++ /dev/null @@ -1,105 +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/. - -import org.apache.xalan.xslt.*; -import java.net.*; -import java.io.*; - -public class xaland { - public static void main(String argv[]) throws java.io.IOException, java.net.MalformedURLException, org.xml.sax.SAXException - { - int port = Integer.parseInt(argv[0]); - int port2 = Integer.parseInt(argv[1]); - String xsl1 = argv[2]; - String xsl2 = argv[3]; - String theory_xsl1 = argv[4]; - String theory_xsl2 = argv[5]; - - XSLTProcessor theory_processor = - XSLTProcessorFactory.getProcessor(new org.apache.xalan.xpath.xdom.XercesLiaison()); - StylesheetRoot theory_style1 = - theory_processor.processStylesheet(theory_xsl1); - theory_processor.reset(); - StylesheetRoot theory_style2 = - theory_processor.processStylesheet(theory_xsl2); - theory_processor.setStylesheet(theory_style2); - - XSLTProcessor processor = - XSLTProcessorFactory.getProcessor(new org.apache.xalan.xpath.xdom.XercesLiaison()); - StylesheetRoot style1 = processor.processStylesheet(xsl1); - processor.reset(); - StylesheetRoot style2 = processor.processStylesheet(xsl2); - processor.setStylesheet(style2); - - DatagramSocket socket = new DatagramSocket(port); - - System.out.println("Demon activated on input port " + port + - " and output port " + port2); - while(true) { - System.out.print("Ready..."); - - /* Warning: the packet must be a fresh one! */ - DatagramPacket packet = new DatagramPacket(new byte[1024],1024); - socket.receive(packet); - byte data[] = packet.getData(); - int datalen = packet.getLength(); - String received = new String(data,0,datalen); - - int first = received.indexOf(' '); - int last = received.lastIndexOf(' '); - String mode = received.substring(0,first); - String input = received.substring(first+1,last); - String output = received.substring(last+1); - - System.out.println("request received! Parameters are"); - System.out.println("Mode: " + mode + " "); - System.out.println("Input file: \"" + input + "\""); - System.out.println("Output file: \"" + output + "\"\n"); - - if ((new File(output)).exists()) { - System.out.println("Using cached version\n"); - } else { - FileOutputStream fout = new FileOutputStream(output); - if (mode.equals("cic")) { - processor.setDocumentHandler(style2.getSAXSerializer(fout)); - XSLTResultTarget content = new XSLTResultTarget(processor); - style1.process(new XSLTInputSource(input), content); - } else if (mode.equals("theory")) { - theory_processor.setDocumentHandler( - theory_style2.getSAXSerializer(fout)); - XSLTResultTarget content = - new XSLTResultTarget(theory_processor); - theory_style1.process(new XSLTInputSource(input), content); - } - } - - InetAddress address = InetAddress.getLocalHost(); - DatagramSocket socket2 = new DatagramSocket(); - - byte buf[] = new byte[0]; - DatagramPacket packet2 = new DatagramPacket(buf,0,address,port2); - - socket2.send(packet2); - } - } -} diff --git a/helm/xsltd/xaland-java/xaland.java.prima_del_loro_baco b/helm/xsltd/xaland-java/xaland.java.prima_del_loro_baco deleted file mode 100644 index b46ffa6aa..000000000 --- a/helm/xsltd/xaland-java/xaland.java.prima_del_loro_baco +++ /dev/null @@ -1,85 +0,0 @@ -import org.apache.xalan.xslt.*; -import java.net.*; -import java.io.*; - -public class xaland { - public static void Transform(StylesheetRoot style, String xmlSourceURL, String OutputURL) throws java.io.IOException, java.net.MalformedURLException, org.xml.sax.SAXException - { - XSLTInputSource xmlSource = new XSLTInputSource (xmlSourceURL); - XSLTResultTarget xmlResult = new XSLTResultTarget (OutputURL); - style.process(xmlSource, xmlResult); - } - - public static void main(String argv[]) throws java.io.IOException, java.net.MalformedURLException, org.xml.sax.SAXException - { - int port = Integer.parseInt(argv[0]); - int port2 = Integer.parseInt(argv[1]); - String xsl1 = argv[2]; - String xsl2 = argv[3]; - String theory_xsl1 = argv[4]; - String theory_xsl2 = argv[5]; - - XSLTProcessor theory_processor = XSLTProcessorFactory.getProcessor(); - StylesheetRoot theory_style1 = - theory_processor.processStylesheet(theory_xsl1); - StylesheetRoot theory_style2 = - theory_processor.processStylesheet(theory_xsl2); - theory_processor.setStylesheet(theory_style2); - - XSLTProcessor processor = XSLTProcessorFactory.getProcessor(); - StylesheetRoot style1 = processor.processStylesheet(xsl1); - StylesheetRoot style2 = processor.processStylesheet(xsl2); - processor.setStylesheet(style2); - - DatagramSocket socket = new DatagramSocket(port); - - System.out.println("Demon activated on input port " + port + - " and output port " + port2); - while(true) { - System.out.print("Ready..."); - - /* Warning: the packet must be a fresh one! */ - DatagramPacket packet = new DatagramPacket(new byte[1024],1024); - socket.receive(packet); - byte data[] = packet.getData(); - int datalen = packet.getLength(); - String received = new String(data,0,datalen); - - int first = received.indexOf(' '); - int last = received.lastIndexOf(' '); - String mode = received.substring(0,first); - String input = received.substring(first+1,last); - String output = received.substring(last+1); - - System.out.println("request received! Parameters are"); - System.out.println("Mode: " + mode + " "); - System.out.println("Input file: \"" + input + "\""); - System.out.println("Output file: \"" + output + "\"\n"); - - if ((new File(output)).exists()) { - System.out.println("Using cached version\n"); - } else { - FileOutputStream fout = new FileOutputStream(output); - if (mode.equals("cic")) { - processor.setDocumentHandler(style2.getSAXSerializer(fout)); - XSLTResultTarget content = new XSLTResultTarget(processor); - style1.process(new XSLTInputSource(input), content); - } else if (mode.equals("theory")) { - theory_processor.setDocumentHandler( - theory_style2.getSAXSerializer(fout)); - XSLTResultTarget content = - new XSLTResultTarget(theory_processor); - theory_style1.process(new XSLTInputSource(input), content); - } - } - - InetAddress address = InetAddress.getLocalHost(); - DatagramSocket socket2 = new DatagramSocket(); - - byte buf[] = new byte[0]; - DatagramPacket packet2 = new DatagramPacket(buf,0,address,port2); - - socket2.send(packet2); - } - } -} diff --git a/helm/xsltd/xaland-java/xaland.java.prima_del_loro_baco_ma_dopo_i_reset b/helm/xsltd/xaland-java/xaland.java.prima_del_loro_baco_ma_dopo_i_reset deleted file mode 100644 index 1467cdd2e..000000000 --- a/helm/xsltd/xaland-java/xaland.java.prima_del_loro_baco_ma_dopo_i_reset +++ /dev/null @@ -1,87 +0,0 @@ -import org.apache.xalan.xslt.*; -import java.net.*; -import java.io.*; - -public class xaland { - public static void Transform(StylesheetRoot style, String xmlSourceURL, String OutputURL) throws java.io.IOException, java.net.MalformedURLException, org.xml.sax.SAXException - { - XSLTInputSource xmlSource = new XSLTInputSource (xmlSourceURL); - XSLTResultTarget xmlResult = new XSLTResultTarget (OutputURL); - style.process(xmlSource, xmlResult); - } - - public static void main(String argv[]) throws java.io.IOException, java.net.MalformedURLException, org.xml.sax.SAXException - { - int port = Integer.parseInt(argv[0]); - int port2 = Integer.parseInt(argv[1]); - String xsl1 = argv[2]; - String xsl2 = argv[3]; - String theory_xsl1 = argv[4]; - String theory_xsl2 = argv[5]; - - XSLTProcessor theory_processor = XSLTProcessorFactory.getProcessor(); - StylesheetRoot theory_style1 = - theory_processor.processStylesheet(theory_xsl1); - theory_processor.reset(); - StylesheetRoot theory_style2 = - theory_processor.processStylesheet(theory_xsl2); - theory_processor.setStylesheet(theory_style2); - - XSLTProcessor processor = XSLTProcessorFactory.getProcessor(); - StylesheetRoot style1 = processor.processStylesheet(xsl1); - processor.reset(); - StylesheetRoot style2 = processor.processStylesheet(xsl2); - processor.setStylesheet(style2); - - DatagramSocket socket = new DatagramSocket(port); - - System.out.println("Demon activated on input port " + port + - " and output port " + port2); - while(true) { - System.out.print("Ready..."); - - /* Warning: the packet must be a fresh one! */ - DatagramPacket packet = new DatagramPacket(new byte[1024],1024); - socket.receive(packet); - byte data[] = packet.getData(); - int datalen = packet.getLength(); - String received = new String(data,0,datalen); - - int first = received.indexOf(' '); - int last = received.lastIndexOf(' '); - String mode = received.substring(0,first); - String input = received.substring(first+1,last); - String output = received.substring(last+1); - - System.out.println("request received! Parameters are"); - System.out.println("Mode: " + mode + " "); - System.out.println("Input file: \"" + input + "\""); - System.out.println("Output file: \"" + output + "\"\n"); - - if ((new File(output)).exists()) { - System.out.println("Using cached version\n"); - } else { - FileOutputStream fout = new FileOutputStream(output); - if (mode.equals("cic")) { - processor.setDocumentHandler(style2.getSAXSerializer(fout)); - XSLTResultTarget content = new XSLTResultTarget(processor); - style1.process(new XSLTInputSource(input), content); - } else if (mode.equals("theory")) { - theory_processor.setDocumentHandler( - theory_style2.getSAXSerializer(fout)); - XSLTResultTarget content = - new XSLTResultTarget(theory_processor); - theory_style1.process(new XSLTInputSource(input), content); - } - } - - InetAddress address = InetAddress.getLocalHost(); - DatagramSocket socket2 = new DatagramSocket(); - - byte buf[] = new byte[0]; - DatagramPacket packet2 = new DatagramPacket(buf,0,address,port2); - - socket2.send(packet2); - } - } -} diff --git a/helm/xsltd/xaland-java2/xaland2.class b/helm/xsltd/xaland-java2/xaland2.class deleted file mode 100644 index 95b42c712d3475766cddddbc121344701c3c66a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3773 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 W)|%cD_HXrO*e4SFJTU|K{r>@yPnx#? diff --git a/helm/xsltd/xaland2.class b/helm/xsltd/xaland2.class deleted file mode 100644 index 95b42c712d3475766cddddbc121344701c3c66a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3773 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 -- 2.39.2

      N^8GVCneQY<( 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 diff --git a/helm/papers/use_case/stats/stats_types.xml.gz b/helm/papers/use_case/stats/stats_types.xml.gz deleted file mode 100644 index 0b86344086ae16d67bfb7e43a522d65e177f6260..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1200924 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 x=3T+QJx#Iej{jXiZIh*hR4sDVn$$;O+j-HvE9f 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 jK|5(2~ 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ɐFXG zqyhq-srlN(3eWeB{)i*o9;d=eoo=iT2Yq~w4|TkIBV^czryId0dRAMuy;lnOwibf) zeansg5O9Itkm_akX`aOiu{v+C)IY~hdbNbaZvl9=%?= z^fkV!Xz)>?zejcLy=AAkpJ9(G6TIH9HJaUbDUWlM4M=uZZ0|Zt0^WCVsqW9v-K`LY zOi48dVMtpO^5p1^wD%(R`w_8c>r7xb6^q+W(jjELa!uz##kP|=GREk0JdNuJX_v>p ze~xPo&=TGa**tG#iccyKuOe0M?F)k}pO@Y1gVYs$J!3^K!*>>!mys$em}OGE{zZ+` z-Xe+q|Jr`I-)_I@|2Ad+oE_?{topaZs{az%NxSFkCd_GJd)*$|x9>MyLvGzYKPOn&RG#YErjp4AD*sx*JxtpSXNNq9;nYX&X}8Ir*m4f z_w9@buQFuvAzJ>T#)8?MAq@|eb;|k}`pl+=J?7FS(>a@r1L7lad#9`5_7YhSWPHF~ z)ENNL_E~qi07tgTJ3^Z}L+I4aXil_aVKnL#%U4H5u&oFPHIT|X-!8hHfoNxkh~(ih zf+^@1SIQSJF+Kh=ws$von`zA}DP@(KhYREZ#z+zPHp(r|2~Cw(`T-J76iU}NhvAW_ z+Wk%)kru$cy~X)u0HY+!5Gu?JLlc5SBzwvPAqS^wHoYu+u7H5K0wHB=5B_4dZVhA! zmGT5{9&9B9RViXBiO_-=4~i(Vh#u-$Culsl3zOlxxv)=vvH7p?%gybcJVWV*%Xs$+PaxelyXi$5zQnc8;vFC3bl>!bS>`b3SNSbDR)@Yw`)f-w2e5z2&J#fz z{PuR)2#?0iDEBKBO+IkHOw~63Tgcpa#EFPE5Hp2zO*x~0vW$`HQL4f+Fq^KyTrWvk zs#knmA=R^ZQO0B4CR}W0UV^&423|*%N!36tbIV%zt`_BW*QiQ&O@=pdn75#_v8^rZ zI#DjdB^gA&yzCW6(Gv*W&&zG<<4Su+T>FFNbJcF1UqYAV2=NhhhBm-?8_=Tg8aaf) zSzgrfE@*sRBRz)ubqx(ePO6~Gp{is#)w67Rdne6HR zMZPBQpI0nvELoLz27!}$tlCK7SWa(#F6ujncO+{kU%1*^+}qH?Mb~WJl*VgVf5Gc? zt9Q^{i_a_6vg205(p~lu@g>nq1faqz?Kv+X=`F??(&MXHl(!|O(>ykUmt7T&^BDm_g5XtxF~gvUKZ$bfQ8w-F2N71o!B1l27Hk5dhwo6)N?YiGUl0J0y@f>YX11 zl~fh_(z!(}CX)-klTy5R`i-BzC~Ip3HM=2el*pKV+81kh>c2to15iHYrwmgVi_c+% zm02dm@SIT0iJJC}^kzZe z`*0rvJp{qK+Z8dl21)B>nHp&nuAEJj_FQ_*@l&3BdL|#bH>#$Hm(DDqn*6+?zu9dj z?&-JX9NWDqT!R+(G%P44)gi0#(5ZV9kQ%RsT_QT zJMFTd_s{V_C$)&k{ZWZNCUV~Rhgd5SfhhDZ`>!0I6 zFI?I&Tn76n64SX=Z+X!Pm1q>LQ)J z<%?c6J{$~0CM9@fz)gj7G1;{D8FBWwhpE(g$ouCNJL^j_r+dsV?#7Zk8RCKq?pjO1 z=~uC}2!ae8<|@6Fhe8gg)8!@3O_jpAPcMswM(rcUMW(8d6K&;=xKuNvRznr;^e!tu zBV~m=OuqeCbN9LRa3a@!DA`P| ze_m0;r6=-0fOrJ@+r_|4K+Dl?i6@t{vbJ?&&v|U z=Qzveh@LwO@_)JexlQZ7i9h~vdw0KmX#c%09(T9t0cMplZ3 z1Tynhd@Q})q7YJu4eI+c+e1o}k{qs14d5FkN!10c!DOv<34-jdpMJSRevp=YDzAL_>{GB(PpfyLR@h-fwV$IzRPu7FtS23 z#^qAH=)nahc_A+r)IYCSHBVVl3*tX^-fJb4W;6O?A!l6xay?y?i4znz9>A5PBgNi+ zCrRU4-%h3bZNpMpd|t7ZDNk_pP!$9BB`3 zZ~*$jWUu@FIgWlWcDXS6tMT=0Jwhp;W~AzCg>UpXva;S|-H(aKHe9Q0loc)M6?QILx2 zU({@yF0yX=k`UMbc=P@KaeM!%{e^g*)XGyo(Mx?KK@V05)_ScZ3D(wU)&UuM6vi#a zx5QOV3}_7y3YOciZY#2Z|8+S05<$>dke5lx}tJao0B8^=4F4bU~r*dndexM z#uZ<+N|m05_>a%=p{z?4O6P>X7k$0_czgS>oiLMALXPBj1*(;5bexI50@+3wd>*fk zVr)46aRXL;RE7`myDGMg(~B6iy^Q`TqgcaRsFzInoYm?zL_xha72d1q#oEtdag{)y zAH(~aDZEZcy0gRG{x-M!hxVMmxaO@pMkL+K{rFB^@axAh-AykEzUigNb8iGL6{bjJ zGrj&f4t+>Vhxt$XKGrw8p_FH7wL!VSGAngH)t9P~SVO05(`JLhMW7u~s`wRwSJG;{ z!WY4%R*DA)-u?}q@>!$PFYAx~6#jeL4dH&eySUtb^WQ&h-d#NGE+4-6j_c$^m-@An z^Ts*EnkPZwH2g{jy88M+w@5 z1!2;PMZL5qsDp=Q(d9_j23P$clNY_l3Fh+Xnm9<`>ni&)Klgt4OVHz7YCJX9!n0ci zMbMqp0ay+#gWgfeaJ3I>bNmw@VEU2N`5m$TdBuikn3;Zf9O=9Lr_F!!d7O`G4!DO= z`>{ZIT+!p8J(DZ!#q&;u&cM52Qjo}^9-rf(uIFAU$fN!f?`;x-XA8DG>fIuV^+2qb zQJ30O2zr^+Hey&Oz++vez1G74FRRvpot#+!AVIx@e6&vY)_V3@FU7j;%urqfb!8>K z223I~_U=jMc&w8V*;wzN;|z1-7p&4R`b4h3**9$I*40gH<(9wNedC3vSIOc#eh9q% zZ$*w;s3hE-@p&^^U*$#Hek=>d`j@D)#hW&&CX4q?@6PioO*sWeyUF(Clz=&Ap0e3o ze2jyxQ)>GB*ZTeT;cnC7fB$jBuCC39EA~i2qohaFeN4GE7h>BJtl3Rov9+dVcX{9O z{yE-_HG1)y{Q&+bk6e*sGrLk1CxX|=?7LjWIVa$Gi%vB*`y~>BuXvNE6q_naF$u9? z-To!;*YEj;yp^OXfbZ-I&FiG}$~cJ|l^scJ9!SMFo7@$eHm<5^qwU|VeM=$iwSw+^PTuI!%{o);th zl@-s^!gKq}isw1udHvY_Q;+u-dzL!rh?HP8?+U&pwskG2pZSSCxS zBGP>cY~d2v=1X8(R|2ar^IC0!_rvcuH{14~V<#Kdu{I_7hF7OcX$3OZD68ifi?bEd zHgZ4Jz?E$avN?64IZLA5*|Fc>Z{J^Uf7^Xx6_b3w=2@{pO=N(9M#+`EMO+w<-{K-2 z6ZV+n9Zo8+lBkZABuy%)ICGRw#J#;xIoL}Fy9neFg{1P*w3GoyJ(ZyvK*uep^21A4 zHM^W!8YcmK`^)BW_ko{e_$UNXL_1GCG>wlcR+GUldyaXHPcbMP;RiP)0PK_|_$*gm zM@m@^>~DYCKHl#5jlET__{7SvyXz-51rOF%F-?N70hmIS59;Woc8xaL0B3Yju}oNe%{IGaOK=nySm8C$j|T4HFs5ZF-D~;26KYG+kax=R%}b9 zn5jDjBydGT3DX|aFlQ*c+o$jnTjon_Sv46+r#3S~yxBdBA>IB_Yg6X~B`u;b&79`K z;fJ}+s*RHJ6*+sza)SHkI4{(u?iO={K9aN>OS1AP*Q8!0ZTC{++g-+|dm8;L%vqcT z?(_F||GZ)x=F;ifjF^uEI4R=#rTLS*Yia{0c>!qE1ggo>b0;}&=bNW}R&DBLF6y~T z@o)d~?r-kc%_P`{OTHMhZ4E^T$+ujEyNdfd?LH6OZg{SpA8Xf4wZnpi_stW} z8T7m~aCu43&?^LTm&A(-r>8W-?Tc-^H=de_96VsErkZ-e*6E1n4=Gkwl=7*VZR=rY zzrJ&-I&u=>kFI{xaUJRPg1QEr=Rqk!2a(?pRHryr7Wl)J56 zWYmFanF{$(A6`^!*{gJ?a~b$=cKZ?hoo{1~9hVfQ+O82;tzE{StgCQr3|T)HFC3nh z8*j35S;LD8MHQKP4b6O`ce}R}y5uT4<|koaOxsyhWp2ZiF^xi9UtcW(}{EQ@XxQTMPr|dGR>!Bv0X5E!_y| zlXaZUm>-B!)jV9z?XmmC!1Tx6{sWttd&!#=g zPmj;>$o6xaetk)9dfa}vzqsC9-QHa6_I$5B1XaaylHGX@jM!8;Zwtob&J+})^4f7l zW-G+Y+mA1=XxzWR>oTVnkN1w_w!MGgSHa2Icwm*)j0FWr%V#DUM+zrjxc>IrwtegfmwdABnd*hIe2fNc|b8GsK!6=}>)5H9%9 z77@8sG)=hHZTlUkvbl$>F21N(P73K@V6o_D+wW~2%_>0@QoPWRv4|;AIhB_NAG1f# zh2u$^!{tu%<^`t8yTGRmyIGU@?{?d3c1v8gzdx2Ur3=}-vkKWkENAmlYh2nk?pGXR z9q=|>-qh7pdAbI%AUAGW)75K%%RjVdIt9d2uym-K#__fDX*Tl0~jtSXDbChJ;J&vgN z=%6jJq__exrmL@zb(9h@rXxiuyhb;o&|w#NkKLw$IJ9Kq^NMMym|L3uOW+?mWww#o znPf393(`C9fi8Pl$H&`fYXIKbY2{O$p{0>|7@pOXWIk0Ene*0;+rv?go$lv^|h;iU$5T2c@$ihTT zG$t}8Ctv2poK1MGVc?Y(xi%a*4eux!k#EBE&+&NIi_Ta6aep;hm1!NjRTWZCE;goL zVaDR)4Fd*ydT;izjuYQps+f5gn^%z@)q=Vp-PFAOe`3*AL0Y!gUeHyRjnx*>RW6_H zPFt7@qg}S+BA@$z0N@m|Jjecd4OL>not6P}$uG0CSv#u&Q|PbC#u$l&I5S$4cnU{8 zOK%M|&N69caB!BfReKDvW4P3*esMP*=1xe}@io*@3yt*KBPp?<4zNk=}ursf&{PnlH+x<8Hb$h?v{C)e|-8Vn-UV$t-E)V#su|2QGc8}=KEts3D z?fWr6SFgYm0rbb)+sDoS+3$XN+Kyq$7F{c*ZwJ$T7o<~NnXOT*8bq;4>f5Rjp(vL9 zYDnUXMJ`KERd~;g$QNp9UsX|sbcbPIq;34q+Uf8~|3OnJr@RtTs6YxB)giEkf-kheVPpI6vS+L@Pxd)zz-xmz)mh|j1gl2wD#_~kCW%EGSk*@!-J zqZ(kBRfACL!(w^-0Qg^7e{gSkLQ|n`YZ3QxAMk4%;}LO-XYnHMWG3*!&E&ig}7&Gyrl-6b~KMXAAxBi<+hq;$Rvy(C&opmldIJZK|4nkYJB5D*P+O%$8S2O`B2e2qK}3 zV8zD=aKAsUXM%y;tM;1o9sS&=Uj9Nw;Tpzo>AzJL><uoi4g& znNGzmG^>%e4O7MmA#k|>EpqL;wjji_dg-X76+ux7J%7&q$_8#`3g}eab#*fK;FNoXw6f4UCaV`Ag6q|}+}prcGRiM2B6 zcy)fjdDjzfc-gfg&&d;{lwLl^JAPY*+G-APD=H#972!TaxUP%v)I4QAz{jPyv6tdyV` zs}4=)uRY2M7e|j4OvfAt3#VuW71cTkRX_7;{|l5mwH|iq&ytRELU8Mwn)a&)THm1@ z)y4!^xuehDkGmt<;lnN=(-Y#*9f>dSxOOzNuHp;Cr!FHn8(2AqqAI@A&pL*a_^O2| zXB*+7B0CS+iH8n&8}!Ke>R?o+Y6c!sFEZdhi zS^e{htlXr$xB1{6_mtK?nv7K_X__DayvvHnN~(a9QGIsXAmDIIn>tbqO_un)!r>y- zd6@<6&ZBB<>Y;3VZ?m4Fd8~bB6zCA*acQ-rOVUDx5|7QF<&mEVUfl&%4qGY9L6jP# z%mQ~5&m6;Bwg<9sHKdfT7(=Y8;^I-^^41EcnztuHO6l$^@1DkrLEfIfX&FEGhW9UU zRc!CfV#)cK*(8OY<&76&S~*}8W{Ze-PJ(c{CXe(Ad%%^1(=}!CG^GAHzD{D&{igZA ze*BfKxwSE@Tt|7OfGnb?#~2g^+%VXrvSmZ21~=7w+7%hna#7V}QK=v8EHHO-k$)Yi zrEGsiO5v;Iw1V|e3ssbRsHEYt+w1HSL3>8Qul4pl)(3<#mVNs+<)d%CcRSqT65)8d?5j zRs{%en;S}ZE&Ibf#v@vG7c{RcMX#k#XQ}hu+heQzr~UqSHmYUs#R*4s8;#l{cXnB?M@Wa;O{sK_+()&r z6;cj)W9a^Qjq2?p?Um1X^IIU=*a`wmdtqCRc$AbZW7`x>TMy$MvXZCf(B1YrB(!4}c&=o{s?eBaa%DOR?j*f;fB0-;^HusimO#P@y3r$qa{Z;DSvq|2{!_s?tO z>z7E-?mH31rzoPxPr(A!Nj32cU5e*Nv;S6JEUsZhxP3$a|*M_86Ke? z$;>o4RxGnP{c67tq#o*`;rg_{y<2fTKV0AK zrUA>=$t$pL57@R!x^G%w%aF3<{uR=<327&6GcsXb&)`$UwF_0=GM!f?%yUIt(>ahK znl(jBW!tX~fYYX|ehFz9Xq_&;9#%AJI#)r>L;2&wc&&WSFN#N3;n&moByk-Z8Lr`a zlCbVCMsleY)>DLaWJPL)^)z7}Uzb?h6ekJn-R-a2`xV&p0``~j+jW)sIx$eMA6HP% z57g}n>e+$X9>2T&3hH@*+8)0vsAmW2b_Mn9Ky8oTIDlnQ+L|GlDmhN%A6it1USI;K9j zqIziMDi-FNE=e3q!Lv3icEUhPH*!Rvta#6bP~ z?fuPt>QNd8zC899L2_E*yhC-$Hui3Xg(LT136+ zGU}8?-89ZqKr{%-eif2J_rC(V7YLQrycW1Yi43Wr?I5cdpW|K?#%H2^PT=ENK8Aez zZ|4JVTank(bd6IX00A#$C~EI%<8TK-<(11F@10c%EP`!Xys|3T!;1=o8ZBpXbU%Cn z-|e>7S1+sM?&q8D_mA8AyZdeXtF{j}-#zVzx6P-E`?4kptBJne?{DFL$MF7iam^#X zChKR0cqi<~L%#OL&J6OX`Nw0vHo4CX^G=s_4f8XDd>6s~j+1%RLa_d!`I5~wf&ll> zqQ6DJje&D^R1&s2$g9OwiN#UcG?+O-A3z=zew3sQYad#w&I36_AyAcjGTwW*CnG}+ zaWXLEM;3*HLSU6Gu%F3Qa18VjRY(ftiS@ZCTADa*k(Nx+A6Oe3VB0w{nC3dn_fhPU;FLV4_Ay2LP^$DH&O<;XJ%eC38cv5a7#M zdg*hh_s{Ve+0ys(=QwA*sf1uB;_G?-=Fju?*Z8n~97)DjA7^lH?%Adn8%^SE_M;m2V>PzS>=UxWBk*|4TPF-TxLJ?~aXj zRmjGy58^d&cR>^E{%dnS&k8QOLe?ZSRC$CtxhV4QN82c?*3Svv+wZ4!PNISKitR~a zJJKbwia(!C7F^$GPYQszSTF1NzmK8pb1u#bu9!)NEYjU${ANyX`9%)svEInK2y%*n zyjIO;3T$6D4I?TxY}d)-iK4sdsDA5-e3sCTsKu|)o-VXwnlfuebb{FS#O!Vn{@dI8 zuI3%tsv?fXxng`G7>{jIv9!$<@u^o3dY|lon>qG&++hA%4Cj!8KEB>zM|IHhCc+X3PJ>qwplm?NHnI6 zLV&JoMEMXP5%4V2 ziC=!dsyz`XZpu%-5<+p2Qb^p#@I!_ zgdZk<2`;opo@P6-#nZql3494o78Atw8xgP?srM?o+@ZCqDE`~8$`xdY`!{$CKq{L` zbjG&HN1v zCTkPEfi{ix!LuEM;y2JH^@z-hDr(aUFGIzyr}0@)ETe*lGea`YrbXS55)5zfl)$!? z?6QM_!Io{pchDlBEI;lme+N<_nV~J;2PP{1fPy>1rs3OXh9)@tGf+mRU8rY+iuk4? zGc=SQR`Y)bSG!MB>H|+f^Xgjpu2E>Dd6poY);}y)ijwfIkq;*A(Dz?~i@iv=J`icO z@mwFoHx*w&Tdyvwj2R83Mjb0mn;2?#eWf@O;xTtGJx?h$2mKH!*7Z|Wfh ztcmr78-p)R#-@x4jPp{l0iOrG4R|dN3Z&C+{z6YEsy^VAAO(><^MfE*`auSfSAQ5@ zRE&$%!iC`fj?Xvkzx>Tb|1t32fj6uxOoR>k^Y#AYZvWDg ztov!v#o|Za!eU*Vdh^UM1np5Xs+F*PR(OwFQLWn-X9f5KBdT?+>Z}kSx1m}?{3HQ? zxkblkX@VWotO%b1!lTRWYbJj37>}>EuZuV*5AuY?_O-}5d6dW3+SgD%HIVyNsvlQv zO%jdPJ^+Xp3Gdo^++~Pte#C*xCQF^JQw>9o_#B^dgw*0}8QjNQrIh8)@M4&E z)KY}TR06%qzrtpPvf=%Pkd5+Cb)=_X;k;n~`u;~=pk!@&o!UJe)ssiEFP4+OqWWf0 zonTC{)=MV}?O2|rgyU(W#XQR?4=4|)@|CNVhw0;F(j~Bd+1$gou9P|pc>lbDML4tM zNHL=MfLU8A%{ywl5Gou2S@ovf&jf{*ss>~W>ygYyFaer<@H;idh4ZHSyXv?C3Xe*GL@ ztRYJdIGoEyoumZZ4RJYD4SWDW=~C7~UAab9Cz|OkeLSyykTZFY?7&Ng# zyN(Y}6Wno^&h#w_P1y9_He@+oT(|qksSHVAHsi6 z{t%Q9Li2Zh(HKf91?nCf?!lu`jt$ZFv8-mS_PY)EQ2l7@CN=6 zoICy{=lv3XnEWL;p~*u$ix*D|ZO44ai%Q7kwYz zR4^AraEo%wzVL(^TcvDEDpvNObRh(#EwU)h-3VIZrcj;7VeTv-!uvi-QR?P)&;gDw z@Ebu>N~)Rt9GIFD1WV3wJmPXrAglpMOEQ!{fo@+P{{&2`-#&Z-D!}9=rEF^7bNB?} z3;Yu>a@n--3rnbxPe3RgSn0^(Cm^9Vfh@NPgw_VPgd(rA89|#E;-7%D=`S{X0{sj8 z6Hq3Vm!J0&=tPZv95w%FD;PtT%LIyDBKHf1wZ zCkR(lkt)ZLdLGXLc>8?wvwx1C*+-YjoM-k`S3*rpwAY|Mt)TuA+XWqwg4j%@gWG$93%wr=n|lh2#6>qmesdpy}*i|A7f?TOj; zI;=QFaN}QDvWX0#!kNQ2jnd+urw<4+3xvq=N=O?Rb8YgAC;fArT_DYpg;o2Lch}o- z;H^`#s-D(PD1ck6%lw@@+0y|bVD`P9p=g=r&1;F?#kEpzgvo5e~PTl8*vKc?0h03n} z^v^4HK4>x0-^*BDRa?$2l)GyAhl~5i??*HZ*EaU)VcW*+Xt}&9-<<%mf4jeZx_iO9 zk3ZjhA0;~Ox9zXmbu+&k+M3_|jV1NTHImN^?@t%kJmPEZbY_S@?QidR$XA-snL++; zH;VZ>tvWNzyD8Qh=4S?ZFRb=AzT3H0(x-~+XvfoARtzEE7t@Uu3fY4%>Ltpc;AvI# z<2nMmVrb#>So<2Z)yx7ICA`NRjHU4WJUTz242^e!5Xg&@DkDvWELtj68=-aqR>P9Q zWQm{s^9loFKQDoZiF4LPPqCAYQkWa#5Y-zhf?j2wXtUjKm^1d8E_ySsW~6BU`u=Zx z&wH({Pwu9U7Cs{h*h=a>QCKGsw$}#esbV{lYXuPnyUH*9D>>-&fIT$0R$$Kz*mxMr zDe!uV+WHlGeT`OOomJxtWx#FT+Rm+2N3a_{YOn$eyYP0z*0KK`|U3|E|xM}}OH#gn?7TfBQmg{JL zxhV63iZ7%`yh zx2ys`_AFJ}O~=t&Pvo?{Gm9{DI zYQTPYQxn`VbQX;7!>Z!1EImM)5EM%g&?SO^CkGG&$QQqW_V*y*9aSY$_v@an=?sj& zj%ypo==aZI?0wM7BL83CAH3ObZpN~38-(TNQSF1s}qtRa}b zD?@u&XH~QhZ}2_!V8qfN!hcWx5QHOX*;Ak-q%Pa&HNYuA%9fo@w6^&69BG~A(LIS< z2Z7t2I2BSc{^2+n-c(ps1)5n(|L9BjujyZcQq)Eyo(}j%XpKnfD_PD5MEf6KAycAK zvzmy$mDb>te(yqFx#I8!-=`!x5`droOX#NF6TSp#q;Bt6w)iXV(;5TS23{BSYD5TK z@PLav&a1Rg?{h;fjfM{eO`1fuGCaJ&Z5EVw>C(u|pTZB5KLu-)(Voo_i!NBgA)D2< zoFod0UkS(}RxXu`>50TnSp06Fu29X>iTgJdc34iQMaoP2tN;m%z6)#h$AL&wNI$Dx*K-;`WH2+qFVM=_+fH>;E0Sc?7CMm zJ#Y@`3rb!7288wSLV>sBb7`VhWbx#n{R#_yro$UNO>FNbxA151!{jtkg*K*G3-aP; zV4MNI1Feb@S3(DgmkTzeJ9`m&Zz`nCjB@#^v42q^Ze~)cy_r9OZan|D2_JxxR%l<* zHS9hBW09_*;Bo?|;G94Oo7$xHmq7>zr{(FNfC(yJBn&U$Parr?%bo(gg}|o$m%q8- zD+I^43@AT3aE;O-0NDW3I+Bv$i$LYkx9}`bhkVaC)U*wqo@e{_ru~gvxBvC~r_0Bu z`|ZOwKR;|Qzqz>E{LByZS0>Jz9Riji-R$nWN#ORk-KVYKLz&em^#$dIAguFWZ<(oa zoOQ0MlkoBFvWdK_$>K@Oqm{*={qXzE&9?nVFIlX~vf3;qWm09O0Wd?5Iphiyz>&5pB*1gfodkYStbM)@YnXBht2J&!KT}B2K0ti)pHa zF_l{M;?8~ma%5hvCEFk`jYy0o0rb^eaZ+levT%c3#`UdCDTd2qD#|D6{qu^ZODfm8 z{3oE;PryiDu`A^oqa2jR74LK(goK&(GG#jr9{_yx%e>>4taALa>7;FW@HG#<35J!y zF7oHBl!yyd*^k0#f;VgWq3Ut#O~CzDXD?YCv%IJAK-+(W`uw#{uh=@yX`o?+f zk-pe(zIyrw;x!vb>Q#z(%zJi0---JXp^$= z-ENi6;H@OgemdH58*Kin`t0qUvpC*AKYZBp`Mlyu(51z9>pe6kFJ9+LRVXRT>}^i? zlB`Pm_J_er%_PmvM0*~=n=jzJQ&pRhDrm@0th^WNt%oP4(#jm*8lR;3EW0s2#yfK6 z&6RHE-!>0V@9yqzZ&?KdC49|i(A8d^kOkTD5{#*6%<6RMtiRY5Om?>E3dJyJ^Hmpn zWZb{C?|@C>eS6VY@EmO$z3#AgHfbTw6h8nbVw#2$T}}22kPa^7%n@aFV7bQU6(50~ zNgCnkEBI&k75tNTIaviyPNzBF<2hrHY5j{ObuSaT{712{ebj)&Q&2~=@(~jS}VtQVf-rkK|rYnK>)FA!&uRpSTRBM=? z9;W~J`(M{EJugUi`%f#R=LPBi{{Kb}-WAeQgY>(9{GT7!%k-=;ZST^5#%=R1QTpeI zy$^?ONkPOqs{uMpaqi~4>6VdRLqVj1(VQnV*ASvIV9z#oiv}ShJzyENQ}K=S@T|c8 zRWNrb!|c{nUb!Ey!pyf+dt_idRWVy>A!2L9`Qi7QF_?`KoQ_`!X6pley&jNh$Ol{; zCd*l`aC1tzXa_mpD&vP#ae7vuqZZH@)K2hjPKA9G+Zf@HeH33*70}XHn8+5g=3PeP z_q0ysH3z`sa~yHMlse2Xl)W4SJZM%lq)3sGj4^RMmwEgRq7<3eAiaoQ8IpTO8S;qD!|3)|w6osyjgsBKLauEau% zrvDsNzWzB`xKS(CtD|&zEA2g^3RH;iHW!Bxx4ElZ;jt~Uy9x1e#rDyXIa&mKns%d! zmS=cMZZ)z`T+Y=L8Td3$&&}#wEq`@W)y++QX~3t;H%jNYE%MT-ZsqgF_N10dS#ICN zs6q|8vRh{Y*KZ72+~Z?h2}&)QqetAQ=r_756RNrBWR2yz!>0^4*-vQi((R;^Ey&Tqy91p~+9*iY zP%qzgag7f_0XKMgZ@ja2gb#FU@|ij;>=)7ua1aV`RZ6W+EwniP@S|0E?0c~&c&Hcy6&C`Czqi&RAJ(SDm zyAA;udUMep@Z&w(R96PR(Ayj!FY_p>WFE;cIxu^N{`&nC=t;1n@M11!g|e@p@TS|N zL*QLko1KO$f@419v-ePyy^~FgiUm&jUFU>(bMrKE&< zZpEpzdp6wgs;V<=8dCTW7HM zUgM$e)BJ0Qbr^i<@*TSVIX-)lZy?@z`lD)#?JEAGl>({K%O3Sw#_I(nv71~QUK*Gr zWz*j7z+<;njXCL-5B9YQ|EFof?{D`%kMLb(FuXEvNtx9vYk|qCF7ulO;n|xOS;>8Z z(>I%{s2=uI>K0Yf;&I;i-t9jP;mtwrN$9E-28)UDx-wTL7!CK}h_aYlTy~#KdhH%u zwR{z=U8R@J{HX6@Cyw7^aC~K+4|La9B@hp5TSVO}gG+GJ5!q$fWWedpE){iuuFPu) z&&sPs2kPxj{_E8^bB3&DR}jkr{8s2!F;J2ok9C=K*dU2JVx}$f12?Xw8DssTRH+{E z>+O3M@b>27rPhlRmJkTI(925e%ETfOtk1J+r`q6CHCb3tlXVMfdMUB}XVAC5Y(6}0 zu6T`K6O^v9((x1wlE;;;GHa}KTzV7tu=@%MMJP}xLQSP6tzEQIYhiD%^v~-Jo2UKz z+v}?>ujVa#lM6hvlfhe{KcfP(of=CXv|3LWfBSU4;ybXWP_Uc2id|7U1f2at=rj6B zUx0H?vV+!AH78UM$hK;^oKr$5Jj)}KbCb@|tBjLA10Tt3 z6+6o!dWgNkxZP-jFS4e+lKvaOGl2ZM6IHD{DYIxr-{XI=f80H9H%_|>qRSb$<=E|_ z2E=u%#In)&HcToP(q90$qh7Ye3soDfDKT#Wc1`=!yUmD(vFtXO>Xsu+G@zQi4O7hc zO)wsB*m|E`fU3`?UdUimr*Am`I%Mx755 zuJ@v*#c{w_SgYmd@3ziEQ_|9D|A+RHZ%_QYi~Gm@_JLKpmRgFMwPvHF21-6#=GrK& z;bdR=9IGy>>R`wln_Y^Ek8$KhYRx$-^1J>2Y%d=-Kl7S#Ty3`s0=_{(z!uhjZAJy_ z+d9{<1DO(~#*l+dQp>aoD{zl>1y*x>Qkxp%m`!KGcQ50AdHJKVM zm8ri(e40FDKPQBR`IVK(HV0K1I zcnPL_wg(d*vaFP$s)m~v5?Nd;cUT8Y50nO*+eIgZ@3g$C>_l3@&x-i| z_Mkbz0xpdbe6?+|kh`{YLWbh9wB^w03V8|N!ya_HDl;qY zQ+L;-@jU;zG!M64BZBVb#L=ZcRC!jKBge=84^s~H3yqCGEKqzy$9(-#lA~w<@LPq;%e3zWp9?S$WY~Q z=y$ZYF=JxEGTrmpooc#E9%#&!8#Rt9gebC8R9rVO3wPD(>QX$%mq3qs+pa*L3DBdC zw}RbXT9G~#q<1%Wo!Q!$*BTkgE5Me;K;v4@j0Dh2?Y9DRJ(l)6Lm$VfHTcitcu4rFE2fdc6%|u+wC{+pZ5IOy>679_f_`tK(`Ol%H!+ z)m%%ZcK7omJ#L*5T;L`e#U6=Qko8%auR_Y>aA)%|2Pfb%Z&xhq+=|n+!};NE&+yS? zjEn6x8GDP#SY#osg*10NpHm_IVl8Yfq|d&Pj%cri^jV+XQwnJ!FDpdUT%*V+MDn`4 z=SLM@R%wdc^9*nmy)+09iCE2OQq5~HU4p!?rbmit{L)^F>6gFMvc>fCMa}zBvidtk zFLCeGD^ysWIHDt*DVjUOD|%!FE6S>SdeQQ#kLh7lxw+q7Up($^`Rkgv^lZJZ-_Uja z^Jluj&o2pqJRgvyg06hPH^>M40_SHwAfIz{T6t>_zttdqNeASuW?1d&l@0iY*??aF z{y1hEE2XF+13GKIeypJzC!!TIDxLH?Kxc; z1S2Ye;Ti$y)Rl>1ns5OOvbmDV!}qmJ%{~vRlvQicix3W;A)i7CWQB)|m$eqi)_WOg z8*tfSN>yWfj+n$Lf!Q`md|WY_oK|1%zcbj^pDRO5mbp z)(cADT2r5UO}#P#&;RINYwAB!O+B3vxYpFCT~q)4^Q1DdWE_zetJ%0)sYDA>i4vqI zl8M&q`b4hl1m5X%qQD*BE1l>K(}@zuClHEc)#mIl^Y^li65Q^coqKsB3XuN~0S=zvZhS+2MB$=}uy>x=caKC|08`r|}^yC1TL zc35|GV!L16xyIqmQ9EHT;?9ZoR^-vID8x;AS;V^^ZaUc4{pWMLmt&PQDVVKy ztQ26r1!5Z4mVvw^VK=+|Q5r)szn zRe0b?`AfO(N$Q)~tJqyhf!AOGjaQG~f9dqwz-BOF^KclXj&J#v-_S0wlCF1n4W%_Nw~2_M)J zSrvLD-TIURqPo0O6Qse9@sLJQKc7@^>r;t5UAupdPbpQp*|kV`@AjWo`I&Qz?iSQ( z7d0v8*~Vu+Df8V`tzTtNP6hm?rj$EbOXzgjVMct6$MYhK&S^MLiD}0!I_Eo`stIH* zaEuqyaMg6&1DJe}?Q`Q@?tG8CCKq4CgRp>gN94WTf7pzWd99MHPGC2G$X?)Nv3>I0P#6~#0UQdI^3T>g4?@wIriM{@d)nK?vq>#uycd9 ztGC9HU6b$AL{_gOs&j+&WyfSn@EYlyw(PB&Pqj(6IkF7^;I7yRbs-pdzuicc<#bE! zaPL?byvY&^h8H!^|JzKHWtp(c#D6{Bw{bx!L`#`#Ikf zt@5W+J^%izn zaJvHYY-e26^u^N!q2(|?2zyV%T@o4ghA->@kO0MPWZ7EB;Ny|DD9?TZ(!ldEWkYsC z)<4JBb7^LR!`P=V`3T@e3D?s7jg{^{eF66~o2hHiO~+hms@Upu4O!s;?8`TPjfw*SF5KmYZ|f5h(HVe?b*Ix7Zu z;OZ`E?*TSMS%gCy4IlVfcLzM(lUXr%StACo=OjTC0l$8~0{&+J{GTzO|F8HH_B0og zJI(W%yl%9K5Pc=orajCRp2=r7d2ziJlh>54p(uwrH%^YBzL*5{N`HCt$$ARyKmPvL zFRtm4Lz~OX*F*d5AKC}F50^AgNVhCIrjUo*#u%wy#ow58(742~&qep4D+EBESDlqr zva>qnyUu)7cVm{R*R|$4F6(uD3fJ{vsy5}yUY*uX=Gv9%H@M)n|H1w}sZ^J38=!hov%$q&0vSDr4PK zL3T)`g!?-hF0#^v!XD#LqtHQiPJ_$>-jnKTBP~~A6#=&*XdtYax>{LZq27>_t&JW) zXfGx2))Z_)bOr;CkSpxP?%0VtX9^_ejE(y;xQ;)_WH>)ACkXoX9 z_9fhFVSQ$I_TLX@_~aYgy9$DWX`CZKQ>z%u%0~GI@WRd()v%;i$jWqtDhmO-#L@i) z*i)`+E!gaPt*GB>MSVbeFfN}|Q?I@6FVH@rn))T$Q*Y?i$NW@o=#Dqs86c$R}Rl>;z=Jz~9gX9v4Fn^n_l2zKiQgtTQ86 zhsN@$uDyH>-kBF(ROn*nbP@wR#FnYD-Ow!cRV<`bc5xmSQXczht@0K7^TGa$ZLq1g zy5%T{>#hD)Z}l?pQ}6awnC(>V_7_O^-a%8ZcG;fp700`4OwWFKje<=ExWOt@OTELI zH@xK?vIl&83`1|yGh?0uJ`4V&zB&od?SK_DklVZ6OXP5uMWe^|*YOpKe7Ql2G;oW? zh3rm2e2m9^v_4!E{pUU3$@Mzdt66XMH+!?^FrRvqn4v^Ob`Nm+h@w?|B#-*Em=ap=B1I<6*AcoO8@6pTg9@Uxms~C-8G% zPmXz^w5uR4gvOJ2g=$+jZPl*fJu#B$ZQO_aVIvj5-shJ~`saAai&^JgBOk%kXs30% z`;ABY{ciuE&EUGf^^5zDo4f0$*iyUNJ@6u0#s!v_Mp=M;qf|IdkH2oiTSYY!RDnM0 z6pHV7+w>P2MCeuBHfVb8{Gs9fCFLTFfcc@Fm)lPHX3M1w+NPb#hd*o}7KV;&Cm5#AjVuq>1oJw#nPWnHq-} zGwZDDOR(4T`s~i@-Tr_6wfXz~2&f?tvH4bsi{gVvG>I8+KS366naR{bZ>XPPIW+P* z8^ir`7;PE!ob_`8_|Kc|FC5xNdEUvfw85!@aEK5`@w^VwN;sfxUM>sQzH9H(tomL5 z91m@mU;gZ)F{e!tsZcN-q@??XcNUH4;t1`+s({Oxnp`{7!wH#8 zt)2(KWleZ%F(+$&}Ht>+x=$y+r`b@_4eVLzi;-po56MccC*`m+TK5G zH=Rmatg9cM-re2b-o9ruHsu9-hnqspWzDno@ub?iu&LRe>e3K?s>`&N?K8H+5C-@P zTweCFe~wQ)^sE^h@Hw!VoO3L-ARi*`o<}By< zkDxyXCVc|IvYol&Ibhm42q@}h@hT9?;l5HTb%g3afq;wU=B)uul{H|PRUA3{2^^$z zZ=Y3LHltdbGOB`>KY={0HMGGSzFxmUH$nIcGtkr$z5f943Av{1ggicmKLDHhBP{s= z^gkMf-)PSr0D17cUYyd1&}vz_MMd5v2EWfWa5X$KkNbz2JWy6?c%*auKNS4i`>R9I zfB4}y|Lm!65A8pE`M7BxZ|`~C7FJ`o#AbgL;+qMP9t!HVWLYtA$op)>`zlI|o|EI6 z#XPq5{&9ab+V0UdbUmr^IiDBmA<<9}02Qhv(bZn{wnnANIM_?N(Jz{KR%W{mySy=tW zh}^Q8)Nonn^6D?HO8tdY+ALcBGhi=zGos;D0^b-#Kz64KgZfTHK;XnGo9Z48gL=5V zdo%(boUKF+Cxcu{q5fmX^xKQ;_QA!|<;UMQ-~ageN9!Q(MDOt>$804AVi zp?a+yE>urh7VBXMJ00BDmBpNi!J0z+m$ncZ(MVk5^(5kTN;1sdu`8Bu4a*6cFvmMu z0ey3Tj-!M)&sbU2^Mt@0pWLo}-xGmztjFNje$iV8GS1b0+Wzv*$Y_lv zN3Kx5DJTyG%kz+p&1%=f_GEx<&)ZG^GhWWo@d5?KQq;t)$geL&YxJ2ZtM!I2waHWg zX6Wov&GxcNeHi}Oa`YMKuCu$l*|xvCbslpjvHKa)f8*ye!B*^~hQEx|*h}sB`?tVF?`GbJivR(RyCMP5^a{)>8xZ^0w2?c-*p^ zl)-a+wSs?$Ym|vZ`>FUAHE*@3(7erdrEsrppJn*_Dvh+6Hfd9&ueT2m@l<}e-NYY1 z@FK@fYsvbnmpW6b5s>?UD+;0nML0j)i>yMT3JO=plfo7{Q}IQGK3>%5TLAqI_#XA! z4*2+Ec5{}D;QiI}UFdG7M{6M5OMBCu>aiyneeJS>IQ^;vhQ2$RM-8jfROcB)UM$m% ze#U-?{saDFCxG@*EE-)9361D&LnhzoWrd% z;xXqwD}LqsWt?)r=V!+4aUTLAYHy0`Kt3pZiO*6x?d=0TIQWteGVeLlKd%tRaj8t} z{D(acxiqZlV;OQ66fkKtWy!Pl+rfPdD4iD#kb8J_Gsye}-#@Q_+}lhZKTDMV^_O_C z$Ly~C@dz zWlHDE^UxR}G@yK@$`S7aZUX7D@vd+&9GMrxkyTnW0njIIt85y;ST+|{sqn#6gD+Q znek5ll^5BOhFw1`SQNNMJK+(Zief`f+JJXsC@rue!~veOMCrq0q~l{;t|Rryni1vp zaBqK)yyKjYRdM+&&yQN##7zkSv|@C*_bP+J=V?A`KNf!_5Nzl2Ea3RO0`61?aYno^ z?l!xdyLg{p-0@b=QnUI2B`+e~W_(D1m)osId6@XERIc4h4mY4k+v7v(CTb+;yMUQJ)s0q`InG~lgX3S>Q(Xng zdbyX!DcubYbX&_lqF&)l|2C3y^|;4n=lgDR=2VZ*@l#!;?fUs)m!q(|PDz-{+f?B) zSB)XW+`VKp*mYryhojsbS-JING+!YPBSpy5Wcn8sV|24nGbW{?PGA~qiZJ5qT%^2t zg}GWA_Q7dfX3u5Mc^@jmJ~f4V7NW1R4_0nb>?h*x1#dA@+Q7BmNk9y$$d)qFDjal? z+8f0HtwtjnrgJ(b8_5_9(6maJjO%3gnq?DdJ^yryJll#=N+ zCHpg_WbDS#nv$JpN|u7WVO6c9;9y>_<~MaUe-2HTtOfY%aD*#v8yqjp;or4>1m{dnw~|Pf;7HDJT~OU)g*BB*p!m|Og*b{ z^GlZ#XQUzhdc|^&q_cr-hZWOq@yr4EnmvK`C~vNcbgS{YvlwGdXp6cm-U!6p+>sC7zZ>G6$^VW?foW|;RFZ~vi( z5%#d=`6i|F+nK|P)z=;06pV+%TBhXB;rNEbTBbYK!|@$zyr|4V3qW01j{+^VQ!INl zzv$%~0kus^$ys|(3xcm{mCelvx9`*`3+NEjHS-Lg&N>%J&90wVK^E60!mJ>R%EL{r z#R;jrbkStlwFf3#UOUpcd9+drZ=r~gUj9R&-M_$7au@Z57OcTWK&KG@n9u@@WM{1l zbW<3Dc*QcOOnY6!Sq=lPWcDnNk1JB~<#v9?aP}rH$)L-dEzU})SGlx>h)oO(=%aA# zTcaKq+S2Jjc?j(Iykb1PEHk`=e7FC^S6`a=HSL1BnrU2Iv-(=d+t{|=;<4@0nCydF z;-G7CSyjFMISjhh>C}5(&_@6#r3Aa5T{y}qYUI2EAHg~eS731`_qcBgCu=g_NRw5K zG-Z~P&>I2S3ai5I72{7>(EI1Do);3X$vz2L#|t<@hVGaZ{_$H&%{z$jv3GD zQIOj@LRINoLhbKz${n{=Bh zZC&G~1&(Z8E~nd1u7ZD}e2x}sB+fP>r+qdR8(!c6?kHXAofrC1*qzgLEtFp4`RiLK zUJ3Xtms!?#fb}hv$R6hLG0rYqh_Emvx}Eo$6)P`xP=pV_mCbfg@K%}kxoTQ#7-)*p zxtX|*&nqZqZqCg6zb<~;{N>%l_dj+&+TA?e#3%2c_Lq;l+x<7cHJ>i-*M*&v&A&(B z{e6Y^T;Sd9BfJ+JqQuLLuZX@yMBlB5o(rPwk4B6iNIJ_(4VENJgx3~mW0sj=`oO&1Pk(RhgFM}pyXdIQVA8k5z5l>w*lda_wIQ2!hUT-mhCHq)_u z|8W}V(iqQDdCR4jfm0h|qhu_n5%=M9M(SZz9CFE{HsyI0l$lP{P^U(&p)Y3Kt+!Ast;0fXC-}gxgu2RKEnA-=LJix(el? z4r@ZNF3HB}#yP^*W>wZJnJm6pmujyMn{~P-UGuY2dA}&B_$}GM&Kt`ZD~EWaG8ngM zjmA}dv*Lg-Nl2#S!NZbl4a8c`xl#9J)%@$#=4t=__WEkehI9}k9npeQrf7@~2(gpd zgcq(tJTBdm>X{=7*YLLKCi75%#phMDk!A9;=Q@m!Z)138hSF}GvV@r3msun2Weuli zX;2O{UYy07*Qya!mZ-CmMsl^+3iMe6-B(=gPe&>)sib3(E*{}77+}y*zOh4l72u1} zF6)e_;4z0zZPAAUThx?WHWkU3@yZ@^LNq2AwwY2cwHyI=wJgSToBtbp2_p-%!p*Zt zP*(1se_pYKkt)>9iuJgwIyi z!;1>?Ul4QZ9(;y;`^(erQ#8-o{<68@FYeHLJi-k$YRHOL8C(l8xWX?{TF~|>xr0?r z$feS}hw-JXLfxl^FEhsZj@Kdcyl5nIb=!kl%vWCBH9poRI}njD&^9mUZ0q!#DYf&O z5$4O=8`iO$l&jv7^%mI5k>xh2_8K09kV%)O`bAj}ALde}{DuSjNYn_MC_k%M=*z6U zExo#fJVy7!rY*XoM(wxV5 z1UlkAnx)&?GhLDeuJ5v6c?b@dys+6-ELE{)DP*DemQ~gFk`-CpwA^g(9!628Zd0%( z(5aEmAy;{k-Oz~zRk)UCof&M!qD~au$lxBI;|Dw~bilX2{^oYS?aXffwY|S(IW0c! z@mGYp66SSwv!s@A^W3CW)j(*0L){nXEOl%aJ*)NQXTa}nA2tK%{8F``I+GkZo1I%MFd8tWLB{dml-Jbsp^>3T2whTY?+BWPi0(y&6%`nsS!+98=QXeZFmx{jw|6`+e?Q$Y9&OtUmdJO%65 zz>e?^8t<#Pg3petGukm>p-qq7o)sYTmeq7G>K1A5UuDMWD2~O!VMvZtTA@BxsHp1- z>f92Sng!sgq@=c%mX6yMDCgQi>enfzNou^9rmX6P#YK$B6^dzBS4@l4-(|k2?o;jS z_akC9A@F(#1qmb7nD82k(r};$pJgA$#}&QOH20f3%txjnU6}L6OKX^)PMAl6 z+6XyKkyM%;d=~Yqq;de_rEy4`pvNHw*f!Jo5tzgK;)YWG)6hAK&+#dk_6re=Bj=RQ z(xs4w*ltQOz9}H0bPS!GBrduj$>&YBEG$H*WU4v*tnFVD;6|o5nU>XM*XMBz`_MCefDWp4Fc#=Eh!Y zzz4|{2_xQUTo{2wNa^xDk6+@o5LuhLA|94&;|rY1Z$c`@Gh@Gl=kf>dt2U{r(Luff zm%k%}DcrY`C{=|V);93ywy8AD0qjtv)a}wDZ6>IHxVV4Zd^cz~cVr>HB$8s)h&`Dj z{1{udG+MDeX>8dNX~p)Wv1Lo8726ZSwo9$X_UFQw@>DUo>L!k_AlxlvB+#O{RVo0~ z=T^A#6xsZoxPM-eTcs_FR`wKaA2sthAvnsa6j14=xgcgrbUhvCpo^23($~ zUk=LA`&`YEg*NHB&z$vB#CzHjom5hAypVGBEY(37|0}oXl)`~GCc8!_pQX{JBky&- zcJ7~7h{ftzt?Z5m$I&djTc+dL+ul-L#JArJGC^i!FPy^(+)CvbB2`-#`2lkO9H;)N zrKx}a#mikt8CBa*PmYcO7Ci^Q{%UXk_bc>6vwE?(sEsPn1**WdDkE<)6Swz(^}n%n zAmd%-eIB*0zaDHIjYd&#(j41Q5}c{qydj6J^WzYy%GrF8t)AglJZs;xtlrWJoopx| z=^GQ%omFeR8P@=`>c*16MCSjZH6923@xw&AOy+I0D6YQd~S^-zNVh(pvA$TFOR8ONT zdNO&ZajLT#mnNkg&xHG5{{5%#f8-aWx%_W;zs zG$abzz*W+~W}&ON`|Fqqi&B=YsTsus0ve=c9U|xOWBbTgW9XMvsC{Q^toXRbYiF4Q zd%*dc?UiZb!@0Z!?;%CG@&)aq#|OAN7joT`c+!H4bE#0lus0WK#vfrJ5&r|ytXJ`h z^tmAYug&h^Uu@cK9j{kYwpR+`73`I|7MUkF4|6F(5nwIwM2zx1vi^C6m`SclHrq|T zzis~%KkysxO0w3(j7B8V0oRO}JKiLbB5OHM0=HsOB2QrGpW_6EBTc$l5AwTPc6!}$ z4?MfkQS>`C8nM4r90|O_4bf%I$J_J_4sb1W!Hz{&`LP@|=V!(H@?w9vy`G{4t9oyV znmCWU5MMv)5=O#-UXlleVK;dxSW_hh8`7$OR?P3W4|mfLmwZR1jJQVhLCb|$&=%Kr zPt&6wagUo}rWCgUaZ`nOYN0w4;&F;S+E;0>L(QG)<&s+n^%}ji5Mr+uJk(QRz#eG{ zw^mf%!CF-rSeu39OLqHDn`vk(EqT&Hd7h~ems>8b10L5QdxO^$W7(#-sUjqWg%}I% zUw^u}xW3-7lHP5urW88^$#+aUaUzn)41}@HBiv(4k;xw7#=!J5?MxQ#{yB`dv+3__ zZos?2^=ODwdv>wIud>Hhd#VE28Y3HPt;81!OtxDd`4=E*L8)xdrGH*w$CGlVW=+|) z@mP-^0KZNU-4bf7S@f&WlZc|V8!A4RV-}OB(4H$u&s7OirG5BW0Ux4#6mjW%VB0UH zJp$S20CZMM?U&AAO~GNVMAk!*Vu1&q?>5yB8_xIm96#T6ZZbCK`Tlr+v47Y-?mqE1 zyNa1lMWh=?!1>NNvncEEzMIQ&(g;_KeqB%8v}HSQsP8}VXS#~(8WmT0n=T<5bmgmD zR>*Al>;gg6hFB^(eb^B5l^bHqM0nS3>G_94tF_w}8u8>ICxvEZqjibIL=rLODGLyK z9~JZA{lKiAY{i}K)6U6&eteFjuNE@d>oJdhYy7g1(2CvdF3it5pb)lkc~t5`g$_>r)8KO#4{fu_m_c>f$nT&B#p*?Q}T zyPQ4I+wT$4K&UH<1;7AtS3$Q0L=-TCBrD~B@BK0hhS`e-FtY0Q(~MJ3vK%M zXZ*$8-Tm#w<;T$hDoJg4wnV`cT{QZ+6*4LGId1^myGv)Qbf;nTyKFYUIVP%_uy&y- z>hs+`Ix@GWnk4ZmO&N;fAmH|QN-^uVza_r?oo3p@_P43pE)okV#kYSQT?tjnDK>{I zm1(NmMSy6I<;JV8$=h47bBDVld_PcR*eO1?$Oe!%l6VhJ_E4I&8vD@M=a%!u<$Jnl7x95xPDt3Fm*sfx?=Ys8Bhwb|p zLdH`}&XtY6gB5)e@!Wr&L{lubNXcrP#zI!*@@jA3A&Ate|K?Ch#pn2xQ}|^XWZ#Vy z&Qdz!bdDwEk(P}$kk5HJsTQU}=vbw;91&lOZxv9;r`7%Q3iZoW;$t?XNBm(t%R62V z?YDGjf7kwP1@m0MjC%7QFW8NI=}j=~bgFO=QzHrSB`<9TvRHoCUeky4L zJcic3z#R2e%u!Er85Us|yrXziXG72NOiFl*#(9TKp^H2d(jIrRrMy`e2?6i@Nbd_w zGGE0c^LC*e>wq^aMBL^Raa*PW@SqKlX)%lWJ{Vj_N2Q{_J>b#68YPmYYS9NGnW|Bz zHO?;6!i<1VP+}0$YqnoqARKhFiPzC7^-|$iwoEmn`_vj=<7_{XY!THz$5U&emfGaJ zynedcUTwyzDJ868#m0+TE5cgfOfN5TDuFA@t8}hAENH{j;3KP#!-94VspyEV9xt<* z!RAkN7X-TpP)6ImiY{7vx=2`i`bax?xW929fz)bfILu`Y+B#KsS_JJ;xY;f374B1l zo9~vaC;3^O`R^*r5qQyv|834Zgk=S;D!l8hnyd zUg?r*_`Yr-9qKQ@9tmy3+jf>iJA~H|PV(B|CVn!dQ4gUF-`h%NHL2s{iiX;pXn*@- z_c!|Hr>A!h+h3lx`^)XaH|>vzV*3-oG@_zepIYPc>C(w_>&dc^Fy{hi#KD*(@M`hU2MPmHx5~&97h?+ zuRpalsTIib@|Q$}FYK0#67Ys&$n~T(zUh_@e-9cJHG6JS&biijK>P96-Q_mQk+h(1 z{&RQ3>d>@**pf}GiZs6ong!+wfo(`jw$)Yi zkw0iHIuVD}+ch~EyxPy2WKtIc~> zR6DS6=KGkYY0FKEC~uZ&mt-W4Y?fnda8U`DU383(@jgdN;hd!aZr^>{^yhLkKk9$Z zcdu1Ynjb9ZyIY~LHZJ{6hP}M=NJ=`mp{bqDExAgKE5|sIQg?g6`{#IcQ%EIy=jngk z-QV8H%>n(xPy2hCbuJCW+9#;&7vLH}^1yEXx}{gL4j1H$W!hRff?^$Wi!g70P$XG(0?uzHV?dOi*;40l99|l(y-o)AIbbO32Or;AN zvqt>qBmeUmz`NJ-Zdk>D*9!5+DFW|=$Cbi#ZpB@~q=eLia?sbVlHQ%w-tgr#ql3HW zBTNYN_LOE@Wnao;zku5dAXhINT1saXE})+cb9}HN^Bfde#X(W2IcE1S{D-esd`9^h z^AW&>3M?a`2)KP-VEKypZV^{FAt67nbU5iKm~0;3J;njgk&gaw!0&E<-QI8B?LP2( zQz}@+OFkBuC%O>^F+nOxK6ZX-5@(l@E;tkmi(A`CkxB?X+hf=&#S%NO%JvcF?7iLo z?pRCe62YvaA`pPME=%VNQ$aRzSwz2v-Gn5IShAO`7D9Aid zTN!uer3~gOpRIN7#4(qhUY?cBuY?Kk4X)bqFxPf#D>RP_%^Aw4>%$AYPHV5Ig^<5) zZ}3qQ9N{A!q(aWOKO&~0ZW(i8Z*Vyan^mGBkGoPEEwUZC{yAQu`SjA6r!xO|aW6K! z&l$1qm1`IM4Rz7)Zm)meT--$;;t^2S)yb0rwKFIC?Qy$**xl|guGuTuYQZ+n3gD_n zIQ<&(6yA}AuVd-6nvfN?@p(naIzh-Io5Vl#Q2zeE|Mxe4-#$EUuQuQBAGi0Px`!9* z0`y5oaTe5fE2!rO>c!@!J(XEt*F@?Rfql0Ed!E2vY(@^^l_7SDu)f=jBuy) zyU9+0oi(hezEMHU6VJHfdTHWKI>^^>#f=Sl3+m^kMz?-NQEea*o`qeihg| zDKz;bcSZBG(0qTG(d~xgm(P zzkeJ7S*;+SI>`4QSCG#Xh@R1Df-{LA9AuGn99Skn%y!%=I9FJR-el0Vd&d-hivH9!T zdpeoy`7@^9Zm3=c8|OyigAk7Jj%zoZ*+)) z5L2Ni!L03dmp-bBl6CE{4p+*cG%N?9jQG4l86}lpn=i`uTUI4Q3gskmV5`FNylR3~ zh_qQrC!-B??F}wzM`W_sx6m5Cz!mwtG|KP-hTPD+PE384*7dPjeGCy4JAo=lqNv8l z{@G-#O);*m6BX)(sW4TKv~qZ+cI2vZ*vPGlZ0p?IC?6l_qxu*j1jQ02DGxg}Rt7}2 zR1{S!h0+>6(6td+*;46XO_cT$$W~ze^9tEgF?+A<{^R53-5TC!9^UN{zUd}aT-RHX zV5iQd%-l56IN-`IJ7s#I1MHmGX7f3ml|FoXKx$6pvXhPB1s>3j+}x@8L)S9f-jChd zI?%{UZ$2F-+x5#;~Tit{_QPY@*2gE{YSd-;j2BQ*p~U22j!u$Mwjg-a^^ZOw`F7*}mY`lOK_npT_bZ@Y&_b{CMebHpCs zr3GJWya~Y8XK{gmr1$v!>?wCehpuV@H^OYX!ZmD!#pf{E+Pb+pi9OhS+QkVVt!dXA zNxO!qy}Q4?V;8lpVE6jEz55)Xx*>rqY8Q==l?mN%0G;!tk~aOIuV&JhhS*`$=W0BV zrB!qHnxAjthwU#<+x_L1?`W*zI42OipSSjgg#iBARo)6N#ZrZhF57tRffUOWw*kBi z9!{}H<<|kM3BF<%JGIGvUdHZTRBU6Lv}-zBC=amz8#^fUw!Mi3Yhz!4-8Ehjvfw4k zJK4etn5E%@bTWf``x)al_Cz7(j+sCo-r&(5gpqU0*rnL>cFE+~v0Q7WBF!-;S$ z6=m`wmHl&ESi_|y{X8&tzW3~DV`7s~w!Bk){H% zlB$@MYSwD&$M&z^J?$?ayQkfn-_!2#_c1Zjb%OlH>#YK+a&?wF7g)dFKVDw*CG_gJ zaawrZu6Ujqo-5PijNrUn;XEri`NMXF^Mv4h|Fr+l-OYM=o)?~*Z$~A$*P7+@V3j7WNB#K1v@=NryRYjf%56$I&%1~EVxsHbWM8C3(qMB?>c@tHB{G} z_sjtO$9`nVcD+eY4^q}jVukc1A?2I)D|7q=F&!DiteC!aOuzl%_WJitPfYpd?)vFr zb9=WLFK3(*M%J0UIAH;9xGgiyj509LE;7K6uvR`)5W{s|MrwFbK?{%E)!FD~UqFBJ zbp1FH`nKq?Y?fSv-bQllYe26h?)zd=M)v?cP8cRql;7&=U*OPt?-zsqdbi(R+)o3) z{j{xPU4K+TKCW{H@xTr)vkMd*T)_ig>+EWP4fw*fq)=J~3U#YMI>O`Z_-#`7k83>8rT!iWoIu*9rqYL^iu=XKJu+0Jo0U7?0Sg&_@W~6Db?ioL$UwI z)m4Z7kGHpv-~Tv#3ID$P@Xe1r9d(^AyzxA)i0l95fnBLJCk545v~yWNKmBf=QUO2@%k-kX-B0CZKM z9x{#4D!}y+S<1;H_|9(=EQJfJ)3R=NT7@NRp}rDsVP_R2MgON)#=PK+DjLz&debrY zWfOB}E9CQyQW?z23%CY0GG7As&vE&DM{~+ZehGSy`Q0t6J14!TI(Y=?0|0qh9zht~ z=UQb&xyiy(7$!Bn8Q>N*LKr?>!=FFGTeMmA6Vk>Ame*6buBi#0fEH)j*gSZvak(R# zwk7*xT~r+FGCSGmpI02~>3;u=pucY`tCjI{Mu}Mm=%@|`Nuz`1aQ#X-#=5NvAWY5MfbQZlK60eFyp-*=#W_mBJm5LWlc^)lSO}B7Qsi(D39Ca)&Mc2irL9``H8fCh1LF0P;Hdk9Im^u`)As*^TLvxCg z6_I9Z>7cb?X@bR4+C?+mS16?`1Y}7Vo6Er^P7*Xef2POh74qL=PMTOA^Zl0Xkha%V zu&g0Rp+iayA~i`xepqn94z*d(nMplLj0AeIR7AP3{3g$ zN`xHd!PW4+MSrbSdmx%@1NJ0<}KJlJ*05=?N50J0HIlCLs>`KNcr`O@X`3e!QB|Cayc9ke9SAI zJ?Gs&>Bc&oI0jr`3Ak8g7w^|$(+4hN^~X;n33?A_xEW0yHS z)xLzgd)DE-?>cWEFCPB2y=NDxwc}c@`HNjO&o*behF}fmpB8YywzmGrQIn`cE z!*+%9T|$zLaEMPRNoMw^aRHFd{x3J_bwa^Ll9H6k?!yc(@P45RvwBG$Am5MmguRuL zO@j+F02u8ucPA(hgB@&^k$IRr0|Bi~wk_O0uP~DgbMm#msCM{uC*ir;wM^GBLcYp4 zpLB(wlg%C49zM0D&Ys)xamAw3oP66a5Z>I~{>pDF8)+@O)m9$qDFZ0>G2XCNIhczV z>3hdheB9AHWO`eMnn+oEYH#waYIuAby{Te)r20dxC4yygF2&Ln;~} z1X5&|`O?~W_ypG>N0pZbF0!4<3Qokw6$HCk_m{uKx=qjS+DrSdzpzKR)2stn;llPE z-4&6-FAKnRWgMK2JDJ~%z!S6rIi4!X@gZ%k&jR?vFZXPRG^(=~G0sD*8?C(rBD%EB z2scJ^eNnvko!5=2iQ<%#KO3Z*_AmU-VidotIID@=D=eb7*|w4%Us_Bh7yH(UfrD3@ zY_c66zwxETFJK;ThY|@^6o~Rnci)H*G}1LG_d_k=t?wf{n0{yp2eZsKO=MNmM9sRm z_65*jf_exY%tHdsL5pN!ECq%UKaWlW7 z59&lfCLCpzfuL}S#-mAp-zmY*Zc?cp$w4c~*2u<4m1=y>jrZ7~L%Udy!lqNQ353`V z$s*uB$cl|bn`I-A3~*_sMY_*C+}H6r9^u+Ac93^wWBgiLFuY%OK@3c{WwZstyHr=T z;VliW3uQ!V3)a`s8dsEXCO^aMpVySqv#uQ_L}a4a0#RpW_F5NE zT>Gl(npApD%nLNHq#cZLbuOXGdn8R`L>&n?NN6jgoJ%MPe1xfvh-yPx9-re{0%8%~ zQG|O^N0gN0C)R~3>@~t#IcqCa({l-0zTPWSGqFz;VAoqE(ONI+sTNEfM^|i3NynXVZddi17Xe9^*Rt;VuMx4D+!%%v$An(d{CS)I2veCJjHB zR88Ymx6@e-edRP@kNDdt4_7VW`sSKVk5nlj`PJzahEp&q(nr&WO1q~ zv@~$_Eh%LW4Otr=?CNM==#aIAniJj}@tPKZe8lrcd&A~!rDLgQ42>8G@ba;)0zUbaGOOxGWMH&AUBmpe zMAV>d%pwWo-XcL8XBqg|JVR8_fx$9053&&hqx3tdBvpmaKp$OPuFEyRUK5gT@{JNsU`Rg z2hjie%M{StKX6v7wG4VN7U{s0!`xNO$VjCc`F#^T;LDuC=cU)2!809kE%Qw z-SE&WGTLY^aaRS|q&7x9B)a05R=dDyjEY>=eV9xfP=n##)*yMVQ~v@FcqbR(L%fLi z&CPEA#1GZ1kAmhERk~FHDcTr9x{(!x^t|l8!QJq*Nq?yWCtX!J>F9KaZ5Gsj-R|zM zHV5qah<8Mqr$`hsc-<(4n2oEV%98g~;jW^x%%}D#e7RHmN02?}hZp!k@9f)%cDCj2 z+jF+gCQW*abll5XUC;`z)x&Ow;x(qgWR<^XL z)*_HR-j-)9Atub=`5vucj?Z_8%XhTMX7Ba>ISjd9W?%3njJx0aW5D7k0J#u?;J zS7laI6#4->?{Q!JIFI+Z7L&7-?aB4e@v~ikkx3Pvo_jPko56CKZG|57Nr<};d1N(+2ZI!DWyHNwaHNOqHmSBa z;8AfX19*In11=ZQdHD9?>GI?6oB!P1jQ3%6%%52GwIb#o;>8)}MsLf0_(s=;(s1g} zcWE_TtXt<)HhmvnR0!^oNF_t&1b-BGrG#MX^pfg>6$&v+W4JO-R-m50(+SSvY^wJ( z;H_%pk4fkyPWDL=ZoR7m+C>HHuiZH`jT8ZI#d(**SzCN3Nfyk@Wu1AsOo#h_DANDj zTy6Ic+i$+#KW^_oU0k<6eZSl99(T9XGE z+v}@M`&+!f7y*{oTU&vBL%`nNZ}zv3n~OcWHfkJOT<2S--BOqj2(CqvlkEOe(Lu|d z&p5s|FOF$z>S~$x;$}UYn_Y`@k&eCw?TG~K^HtksR=npx;1so1Oy44=JN_t^!Rs2y z`OZ$*08F&<*jj~(*=1JDv_?!T-Q_wAtZSMdZdRv|T=eq6yQaq{61;a8yZg=MJ-^<$ z-mj+u=kB3Bg@=rZYg-Vpq~H<{oEohUW8AOX_K<<#!Lm(zem$W;A{@woYZLgcPj>nTCHyWO|h(!=(br|tf-eL{Rw zaW$+x5orH;{kYlwvib1X{``{XaGBWCMsM2C1aAeR|6SG`mCn?xV&uvmqbfWSLv|L_ zKgYXJHXTRLa@YRl-NR2e7uVO_ntWURyuaT5w)@2H+DRdJ4^!STJJbqKaEN&O`acPZeh*UTgMN5X;rJlZPiYqH+y8neU^t>Dz9wv^k+Ah>-oAg%#U(p5RNAsFuc9a= zK^qsGmYIQ%ZgZ)=hgbxusiDS)I^Mp<}|&xW&B zdKTZUNGAwGK!-X9mpLV7i$T4)yT85L-ar1%a`Q}QJd;+9zk$!pWH-pFPa`=lG6=oOQ?Ifc|wabu(h%6Zq=8q(Z8CqmIc?msjVku<%K) z(rkB_Il{%a_W7lFU$qmT?(@wPNt4$=7+&C27abiGGeS-*g1i2K@Rq zsZ3M^Il8Q3a7&r`EIsR2Rk=3#RMC9S@YcM@tmJp4O3^JFBNPzbj=QmOFCQn;9BUX@ z8hm#~xPtL<|Ds|8TBaV{v*3Ms`*?q`f7o2?FRp+87u!Y)(IOHLa8DZH)|bmsj<&$F_Uuj^0BUPRSPZBK4>54 z0>90zNSmNTsK@6Ou})@*!t68L6E1UaybL_-Wp5|rfd;Gc<&Ad{SLeZTnAfRFY`=h` z6+Q_iC2i{Yci4OH-&AbkIKRkD?ECiBr;(AE;U$X-kc+Ml^D0-mkRDf+KH6;>&h`q* zL*C0vR#|zacAm3<{5Q4~camLq&L8BivBDz#RAw+19hAU$&Tc#7tl`pNyUI^@R^7P+ zwpZKh$BWH)7@IbV11maL5*Rg&QILeNE$hSglIq|PR2h>MF|Z2vfbhcQEkA}A6#}C^ z$R&ch=Za52UMj5&D<1u2L-b`UT|0-&OiVe-gAg$CQkhib`#@j9OSAURAaCk4yui?08gLiBHXx z$?FOaFYw73sZ?=e0r2lf!1uw(z;@q?;0t~5J)P8jW7=<0;yqVIx-c+x0nXR8JK~!S z;P)?Tl!ep$f1W&UbF%Mtje-qqWyGtH-@%Sb)2Ua?Kgz>w?B29rwv=GwbiTT&3+0-%Z+fs0PPoD zyvk*7Hh>b`($QBxA;$?3QlxTH2eTilxy9ScbBRm*V)L-Oxx3!B*ZB6Ar;F_*kJc>vIXEA?Dk@O6MEsP2d*+*2h?jUTT}^~Vol@$p3k zRl+YKee}1@#lxmoocw9~%LtR1>&oTt^fuh1Kk;O8OdfC5t(oDw{Mm*p9Oe0rTvbC( zEwNiR+~d3b|7`xr-{v-0Hg7B4l%R4J$jLM$j9oSUL3Jfd};s;;ZtwNwA0c_wE) z!qX$#vU~oNKg4aLojK_9ehu7s?=1r~J{He++-gvs)xGNg@^5V*4=q-Haje_1m4@Xj z7h5gbdW5gcjKoRf+!rZr>U%ykS(UG#L4=gEa-c!P7ZoPU%cN*8f#>%T+CL|vYT%&) zoC7{oIBVOKfO-Jl;@;XSq%_HA;Hhd-YD_9byi9Jsx!*qAZGK~I0GxD^9k3KKblGV_ z00~JM=Wp7Q7wnO* z3e*VOgn%f4$dXB?Zk&sMP9P0RiTp%W$b%~5bm*<|>9W|sgz8_^h{Ml2Q5`G*zWp)& z?8n0oMpUI&9j-UNC|-c|f3L8fBdkBLxGJxC%k<&}Ermz8FGUiY)KT#kJ*czYQ`}eA z>O3!9SMkzmR%UYPc#gT>?m4=c&AtgNU zGL&)(55sM^Z|Z!0^S^&yG1(So&gR)M=GUwhi0k+DP|lKXY|w})a@q8rC`dTWLw2HV z1WsAf`IX@Qc?D%@Rxau>+84ZaVtXNTvUdTA$<@S0kdGnq%`za!>LJ){qW^uS3x}66+b;}aYB|Z(wOFgJ6sRt{T zy}qwmNso@($F2vKj&g0nE9r458*nvjmm7U~oUW2bT2>)_WY)S&Yb9gNq@4P(NqO@wS?fY@8Pi?nTpP0zjOX{OvpCbmie{T>C6H zQEHsc;FQjy-#@R&*?p?wI5YhF`}VJ_sflrM^9E(3hHg(#BN=-cbP;_ML6UiPOR!=u zoCc=cBuzV;BPL6w;8=H*CI`<=xSI5x z$mwMhI(DLBRGU24XlJX&cwlsDibs1}KH$F0#%9+N(jr%Q?|d| zUF@$m|J?k@uM-Jr+4G&*6LiSL+?KtHyi*=7+gzI;XNkz#8GN)Nd`MSCo>RH_rXra$ zKK(LhgummXZ*Fd{o<^qUQbxIYv~KfF@KPfr^kP>oIDyk8(hIcjx#L=1I&JR_8Xuwt zawnEM-hVtIwsBXx9TEE|DKg3?dRY3r1#6w<3!T#f;Uf|tWd!&ava2wHea>(&nwb-J*%@7 zkNt*K1<+RWRHkp(?JMczb`NR6S}=XiOgI}o=9Cur*Ri7;|tD}_%OzYd}7}}uQ9Kjb+PnI;Qw=X z^W!wR2t_Q%g7Qn{z5$N9;3+8gMhP%A&M7|!`)@)m7 zioiOHmyUSV7>g_syYdpTCyCEnos9FkOxH$R{D>!E(h>PV;;DaA(X~-Wn;3I{0sW8p zHJ8p#2n>wxOTq$y@%y&o_cN$0QIV8XY+;=5gNDWnZGm#BJnte> zxB_-+I@1R*TqnuAzoe}4mz>+d;xpD)+kJNj?{D}2+TP#tK^!^7C@9UH7IB!X(q7lPTn`&4~cGkh>OT432DzBiYIC-8gy$4=&yF~B~U?!G>T6uh$ zl~RKG4tIqXZhqfi*Nisg%r1hTF^-Jm&P1~PeU2zw3tctI(v~DJyYyw2k`1`JwN53J zBFYw5^^lYwTKCWKQ(Vu=J3fZ|*DLW#hHN~+XU4? z3ii6r52sw?JRz2_4A0bf2Pfe+YySMa%mUolf(pw*RJSZ7m%6n7HTBXChWIuA(xolD zK`bfAl@oCv?E%0{++;x~Nw}y(NLeF;szZE^XXBJ|V`fHu+MG!y5utb?|g z!~19CMOLS0cu}EXF2quadGAd!;aJygfM>DG*;e3^g}Y=^(2=|?LKc@y$Hn1{GD*ej{IISDTxyN@D73*tVO z&XMw7N|rWWyw!t2`spMXMb$`PMJ2LBT3PqEx(V^FyjN`h0ta4(nH>c`1K&Zu z8J(hNC0QGy;+nruh;UC?MmLy%gMK7WJnV>6ECpq=IA3K0-AySL1N*PPjDy{AcIz}Y z$!cH_UY27Ul=RWFJ%_fhpt9tJ7ppeB^{i?=xf6XvdQWM`*5~=aZn2I!tgisI6u2t- zkyLFDb%iBtwlI&6-?+wRCTSZHLl@pT)~P06n{{I7h>Ik1hCA=!a$IZ5N_P-G9{TgS6e3H(h58kpH+=b#yb?f^8>bfksrv+84^yZ}-jD}%%F5Ms+wtD093Y8u` z>rUqv?8O1`@x0C0C@zBc+I@RB05v)1eSmvi*sM&8(iQqVB2QI~&nw(b!knHq$Duxf za&EMdq0ZJO2!%A@Y&n5bxHEKHC!|;n2Ye0l{AkGioUqH9U{_&YQPpGQMmE4}bTg&F!b{ z{brEkW7k2~ox!)hbMz&&Vsp9K{>Iu@dG9EEUAT;UKNX%F?!_~{{qW$fjJH15fz<*Z zvUHkwg(F^8k>EPs(X3X5$EZI%-HaH|3U-8AqDhzrs?iv2HDz%J4DHgpcqq?tI|L`w z72u&fkIyU0^N`xu&Un6yPP64<+`UfdzG>tvRNd(5XW z@JhKQvV;}}VoNaoWfeO3SyAk&&6R9;tE%zJ%+~Q~X?}Zivw67WMRH}3j$J%0XrvM~ z&LBjn@<2_r2L+tFsUw0}kGRFv6Lm<}V1@{f&nrTFUMH)hN}B>Yh4vQb&U6NJfs9rd zIcyzjDDCOxJA^sTZ$0jaANcIDMiJSlw3JvT)cN|{DZvt(%dodaC=%<1u}TX&;c5a> zq;?_$>J?0xkT(6(R@|4U%ZaGl&Rd?%=8A)J2f2)whApOR z=;8aQjqt0^!3Ts|#N~a(NvG$_KA&bg%{p;qv0I z?TSYj@2q<2v-IP1ymel|L09QF98r?z!&{CBGFfNh{IASJDN;J@ zmB{KPw`T|3=F}$L+#FDk&+*gUrb))ks7KY7?H$iVYGDs-`c^*Zl|slVvaFpPw8VD; zrHf?rW8{^=DQKEZ$^$?6TErK)madnxYO&?eACXuU*7JTu#kDXaApdSg*+UBl&#rBr zVyr6Irro?d+vgl!R5Uv6vW?Es(%VQGXRQ^mYk^EPh>3Swu{>msq#63LhPU`w!{vo_ z`{xy74KwRD!BIDK^Uw)B@b|k46brD5F=m_f0O1~(B~Xt`Hffa?V;fjzu&jT`ll~{bipwe)_KaCpQq$7eYawIc9{Oh#R#hGjl81zmQelQ-T&nE z@0)+WecE4bufDl>`mNJi+FU=e7@I)avn{ov*tsQyH&|BZa2mIWwIUTT9(aTJl&sTX z&eF%?^NRb|&MJpI=?mE0-QV7EpMee18rJKe@EN#9Bf`1m0h%zzz-5;;>4;MmWuu-euPVLKXqbDvMrw4X+FwPcHgTz#4dEfXJjw z?}Ld|d{Hq&m3B^+#H5d4Jq!LkXTjy|&E3W2%0NArByYfTv)f;8uHUn`O2e)N;--F_^RjgNz8RPwwdyF|U; zuZNjPXngdY4xEPT7#@Yi<>Aa_Y^&C~qC?kmS8)V6m1#Dflf9+=#!8|_1Z!YeLS2=dxv+-S!z@$cN3ye(4DoPYA-X9~K zE{H^s9WIzADc>gTpX0jLE>&8eAMuf;!4Pw;3dEfcuY@STqjLd|JktKO`X3!OpRXc1hHDQ~X zva!G5*Vsg4wwA%p+ge0LnyMFafq z;+~fX^E}746yWW@+2K$3D+0V*n)4o(2lH9maop4_Jtv0vRy8@i6q&nw#+A1Y=*`F9 z?|5Q|41(Cqt>9m%8;daTLRptY3*4)eLtW{-ja~m7x9NyF7>hzaX0Ibi z8Lk;q67>#^HUz9il_iLrR2DwkyNoyoy7LEG*>upQC6y;w_b>1qF3`gHdUwk29(T9< z_6xYVxnS34TwABJX0<9G_GBBS4}QRtNPOjd&b7rFuIt_@tL6e<8jo+$h>+i_7+&D( zkWw$4(;fb`d8cAOGBGLiXsFRjzKV4z8KK}aU+4ECrIheZZ&lv1wtrqB_H5JZXd&Er zvts9n-G?oUzdFdpgRw4EWbj4FBR}9_Q&NPARY{Sp;)WL$ZJJ=04f%KbtIc2DJ@5>& zHp?Sc;-Cb*YK)^-Sg_GeP`KE$(%JI8{a3*o^U`E5{Qh}`Ymb}L%Hg;nE2ng1+v3Qx z8gtAdozy^juggchjS|i12E5FvJ(H36C9l$D$HT6ys^RFnqlVJVxT`6+cM98v{{oTji!_7C( zKlqVW9?VIP*mIyBez3XPK3?p)zWm1>2Xpi$SYbYWnAu>Kv{InX0%f_PeEulEUt{^t zfbts4e*%<0tg-xOKzWVj^F#SZ7Sy#qJ|$4QHrMS#oM?{rJyt296UB8TURPXC6j!z4 zdXBih=V5g#tS1TUhZWXyfpzzA`}xOL?Z55r@%K)BbL2>t#F7J6kWT|-_I#GK8c&@j z#%uX=rns)<&)MMm?ZwmO$KN;qxx0yekF37A6zfTRI>>e!eRucUht2)=`l8F1d1%)} z>I9)}|K9$XUz=f>(<`uV6WDjVQDoQC_#}~SZ(2TH?TYHjp!y$eQhfMHv)f;-sGb|D zZT2*>tFUHHrwVNsune++q+=<|lm}NgP7|_hT9kzHHZGK4I0uz8i_k{GSZm5}BE;vo zs(_qT5R8fEHLE(8aK5?V)j|9^13D=%HxG~Z?QfCY5fk39YHh{Uz@QN259U<%Ucv|; zEn)Q=Vv6tuF`3^4j?XLB!%{b(xlZK{?pP6xi@mH-d|FW)VZFP4;$bBdwJYIBmW?w4 zQ0gj2auCtg6qRn$xlpzh_K7}kYTiG`wOqukZkajEZ=SA4)EAvntZq{gbNigZel6yN z2R5Z*2@z<63;2+;dC22)Jg1)5ATYKT z%v00?$|dTyMsH6=@At(M^=aS>uL3vWD1%St6^gVLdol(WOsA~qo;~#Ck&Hc6Zaie{ zuI9v7LNAT|zqa?cEaXah%k7aC#C1tD#)Q{7>x1fapg_!x$zkpSEW#ueWi$EyIgWYE zQ5VO2QoILJ>@A;nNe_(-PJ09&>e{}quFC6n#r@VA?TAySO`Q4sx!Aa?( zN@7J)rx5XUS$4xP(b51_)1{o;T6=EcD%w6|rPKT8xRS0;)f$%peOe`_y3(;imTlqy%c zwZ%4kz^CKQ;e0nW$-7;=XusWW`D%@bxb>T&FNO<2AvZcxu33jS-=p=;ak(ZdO7((J zwy)C3R&iRiG~|=6a~pU^lzg1~Mk^h@-qUMmRql zZA)rp5c5G(&bFm7a6?6_bdDW?ZZAR@bE{LL<6uz}pVwH_q~3OO-NwDr44-bZlaV!? z-&QyefKK2Tlha0Xs~-%pMG%lo%d+E8Ov*u&Lu&8aSIvT8tYt{sY{LX3K8F$4AuQAv zJ%B!qX>5Y4#9a#uoZk%YQgsG4An;z~nxX+WnvzHM-2?9NIgY!w3w2Dsz$Ob4N(^X!p-6kQYn&4Sj+92rqf9#7-%7`*zL6&kNA5 zwBEIaHP1Z@t7FvZK>Gc|L@A6_&Hf}oouGuVUa6;v?1&HsX)Rd_u*zZ^8b{6n-4H68 z@M^d;qAX1a_v4hQU+$qEu93h{VWG)l62_}w+_^;Y?%}qZI&H4s^9{}Q(mg>???0}f zo)4(|Puu&4PVsy!R=u|@M>Buh`o>r-fR0r8wzY-`?nvbuQY1Xg*h^c+17pwD+_*-% zWp3QhaF0dt3ilbn{jj^ayWYLuT}Gwl_7CszW1Kd9^B*IAeQVR|bdK-@#F%vhmXGM*ZLX$7&jNt|0%%dg-1kw9oN7EpuLV#m)xlk>h$r`dpBH-j(PY zBkeDJ_wdd8P4|%f0Mt5>IF}C~{xpgYy$FBJqrZm#>7YOGdOq(&t=1Xm0`2?FuiNYE z&DHijy8>lwjXY#%grx&_^=laPx(VJ|m_e^~ZvR~3f-*K$3Le&>xz)IUkQG@megUgXguI4KsM3%j9TpOEzTW=zmkDT- z@~Q%D-xw_&uq8oML|aOUYXQ1kYmpC%N?Sz3o%itYQ60)r_G@FC`Q- zApY~1D3mop*C@A(#yk58X7`+a^hwo}E3?>hTccu=rak!s`M&)%~6s?J;8=VLfYaSWMW23K}@jby>?(DIDzfL(7R&*Z`+& z6!I(U{d0UdLyKhrAJca1%y#N>Hl+}zsC4BFonVDOvZ;b%Uy|X`Ej49T{`%(?%Qz{8 zb!NPG`%i2^rmP5@mS`^ZTIhMPWFVQ;8 ztplQ67c%zFVnYx-L{TPfbo7`zf(N8V<(0Yn=M{(itUenrF#l=$OMA@kI@7e>FHdZt zW|Y&OwbfCD>`gb)BeN8(i>bTsZ6DBS3T2%(r1iLQnpY+@!#T`U;){x@3el{_dC3(& zh5pihpIUQk*^2Ves}?cD;M$judF${hy}g`rh8rrjn7~Y4N|CqG>R;e`{6foxqP~N@ z^IsTi&9sSKFx>54&gnzc?wmd@FCX-gk?>&bRnlR zjgk_;U2*9=RoFUERIxu!=LO-@HYfniFp=mU4yk*2j7+o(mX^B5Yd zS8yxTr78;p(*d7%Q(Ey1fXC-J=04@#%y{<#qCJw=fXK_0yGDtCG(wAWPuu>dq79lm zui+WUE1uVBBXv%!A0F>-_a8Q6CdgVVKE6v55KhJ=#L2V-I?k`Xqw7RfZ)g7a{i@x%f5In_BP$ex&={%5cTPQG0Y}5$~Vl zN4lHU_Bx07D62tOBNdyZ=^{y4I*7Vfo^E@Bw^4|W7Ib@7gT?c3awaeTF}%P#CQhfy zP_rXH)(R)l9%Gfr6C&Ql0dIrHRX`}-3K`@p`ee?fRI>x}@kIslYE~(bFH5nP+51RG zWzF8tBzqrVU$gf=LH6EZy=L!!vh2MBea+tgOxgQ0;%oN)C(GWSkzcd-KUwzP)om9K zfI0}fakLIr-qc{F3+ol!GX*z}Pllp<%-dHxRuG_Ebh}`H#c=Mj))K$1vpIQy6Ex|v zi^1_Ro{*73g@|bsk0!-~8h{-gIz9_|y^p>8BOp^Fo+k;v!as zZAJ7gBKmZ9x4j=$bsx6BJZ<-v+i(8DuW+p>p9RWstoiZc-R|*md&MFy*QLF)Ks^3* zd$qZEcl&9(BK{{py!!>mqI<2S&I9X*_169qp!@?1v-Y0Dxol6P48l(+?q?dZxK5(U zHO6oyjdbEY2xC?ekEA;W{ts)5O}xAXAK&YA<2>Sf4Cgg7I}4nz+F$+tadXXs%?e$w zV4oP+_bb?c0f-CGB;RLdiT~;^^F2L?XDFZM<73Dtx%KyHid^RZGY;WFe?|G>dj^n=q`o;kLVH{DZjO9#wr6@DG z!)vs{tc_-as0L0}1V_Rw?t*tfoppdsJz;0dwRR7i7pF5H!E5<+LJ@qudD^_=@#JiI zS3KVso)1rV_uHE%-d)?0Ve_VjaoTR)w@X&JcIi~LcD4ig zhe<#iZyoE%S%_cT1QmcNENLCuFJ-#rIG`P$znOgA92KU3q z``!NkNyVSlol&e~rA7*Pw*eV65ZA;Q*|)z7SZhQopW58?O=^k;JQ(WAs#Ny9hkAH{ zOSU`hmTFe_z!MKVX%h@rSrr7OLZh7bfVfaeBhWO$ONpDPIGaN~2>9Zbkph#+&f;@C z7uV@sGk2tG7I3Gn<)@2t(rR`HXB^K7zK zm@bD#D`zfcZJ45o;zrd3>YnLn1cJDXCm%tmB%cy2o zM!w)zFB`H1M7}EA=56H5AmQ6w+iY`9Dhb10a;vX2t0yvP39tm{6T&`NA*`=SB}L7yd)#mD#|Zx)O8?e*iuW&+&Sb!Rn8U?`mOwo&8| z#BEVzE|4{Fpj)j{1^&KjBSSEUFu15@oaw*zFDeX;wbODT^#60a|M2*63j9)NAJ0X2 zfTkOXa7SZfztEZs4%c~?;{RvwYP#dLk?qf!9SxxHxy<+_XBL?gpYbGlv*Kw>w9JXr zEqAx#`2G3^f^1nr1H~>_A>AEjF_Vyq68o}%`nYwkh14z2S=g~52EG5UOSk6w7xchq zZocfUN4;*>yY{-NZ|gPs0r=lWZPDsIGb$IAri{wNTs;&1+8T2B`@B2ZwDE`m`JR`` z+BAu{e?d2RkRtv(=lTG)_y+*Ob-$HGAAnLok^L9h?z}Uh8X|rH{(4Ooct#uY99@A_ z$tr(%LH+`)*759MvM=BlkNuT@yu&*?f}_mEYWqK-_`5-7qo1b45gjtMRAy*_%r48qMeeOPKRPK`5^$T zB)v7S)Ad{boL;PJIaeCjqy6g$+PZ{Bv7r6Up}nf#ukPC0cD1c{?cM!t<8Sch0-!;1n2 zmCuXk8q@sT{T-b@K)YGj+tt27jTntoOk(Swkof|jl8!>BG6>sQXz~YOY|_UE44qoT zxr=AykIr4Dh(PB*>A8~k*KfPc{Q74!pX1gF^ytqSLxAA~$a8!uRr%i`PA9m_B*Wck zGU9^AK1)MR7oO9TIyW2b`RC5q=k@C0>ci)^&BtZy=we6~K7ni34?8?zH`3>D*!2x* zl_c&XSxAciUjFcA){!CBR;F0bAQZVe<4k76lKK~P!1dALFlE*rKu7cT1@ub;{g-}k z1qEFRhk7}Q%wSbiiV^1N7MZgYsB~DaQ&~DVLw8#gpwpQ5FAAuUVfAVz%zy2-g%`~K zGMIn&Zuj*kO9dfV*o>l^=aU;ng5hb#hwDB5;0!WzmXJ&(TP^g+7+ zm#2oPbQXn-C*H#d9ZGOFa<0{;-<$2{`ct#|t$x?8H+L<*`5={1!M~hLpiz~Sf&x3s zFSp5p9dxN6w%6<%u-sU3+-sZZzzr`7sImZdu20}g;Q#y62H$W4Z2+T7<}*Ct6pl2{ z(PTRX0_W(hIAvmLbKi?IKySu@P8(7TFA7u$Y@C5khW-9iyW4lhQQNBz?Ok)-tWf$4 zmrO}?KPK0HSCtZk4?yL|FP3RK{@@_BII2J}L3+Hq9yI z(HvjtZsd)P+w#aeK}qtZ&R6weL756XPtRLTSl*-p&*L421MuNR0r2{$Q7|EgYW*lZ zgP!%qIp)yYKD!Ym!#{X>u7^lhI67CJJC$ThJ44@)5DwC<+u;R$tKI0BdO2Nb-%Abc z>R(1^(vks4bPY0-=t0H63CbEIrdmSZf>ddm1s8^q6Fu;ShD|{~yr8Qs3kh@4>8`@e zwZ3V8_YZC#P=P?ul7-0&d1NCi!4-uhjnHfqaB?rVoA)OrOpGlcNo$!NyALnuBxxti zl=#1Gwr#U}^*>LX+yB6Az89;xZ+zrFK>E+kwy6oYE_xN`fon&Fy6+6db|XTNZV?1L zKSc4QOIrs;BsZT{aKhF?ZZApsyW4QGYM70iVg3HOCTH3_=%*xr4$lj8;^Yi>ZBJ#r z@xRtZf%!7RxBI`bNkq&6<<)j1XM#A`}*}r^=g+zfb)R! zx*c-gZlwp$f0stnnL&!exkTuhz}c0jb$fSTuQ&VJV~eXOXuzlbIj)DOoB#^jN9F~N zg`{t8a8R*~UC;I?kVEYxqta}j{zU=XL-Q$T{$B$55%}&aK#BZeOhILKny!EJGK=;? zm;xPhmST2FI*C6cfmo)0m?~?hYeGGZ_3?8YIL8{0xjqJH8nZJS?95t0rgp{q5k1X= ze5%`|Xo@Y-Oo_F%rs!lG`c%!w`o|XSRT;*tMj5=>1$t*Kfy?z=is3nd*GO`B8;GsB zdfL8Xbe&VqT$0Z-yrAFYJ&$yTGd&9P)7sA!`>|8=x>dvSH3yppX;8Jjv#w zD_9BHq8Hqr*9IaYG=nu$_P%NaOC+r*3eytcoJtzw<3uJDGwCwA`z@O z1DqnbSMPQwhV#;!K9}75(Q^L^z0D*ydZjEh;|q1|1Ptm z3qT>#C0-|BYdwQCLdao_8ezUNS-mHRQO~(b=ZwK0|x)TH#X(I~;k{3*g zIIA=qTDB)GhGyExonaQUbSD*vJN^BF5O-u%H&AI4o&I@&!Ex-kJw==8X-lHRoZ~B@ zx}WuwjD!_s5uEEROPz^=iLiAd71vH3=G3RdE^J2hXLv#12<>^mvm!q>5|&OHjI+bj zT2HP57mVb;c52Ysq5|D0O|zu58z-OVj-~ywSdm+nOvx?(*|URZc#ja;!Kt$0LFb}L zVSZ#N0IK4eb@H3UArVUnE(=XQ+QWSE81C?x4!4+e>-QI%hM7+Xt`aIah_8b#)eLh{|(oI%jbHYr%ZY#$5 z%jorK%?hkeSyIV^Joty09X90ZtmH&LQgfa-xN)R~F{pS$7HLp{fA#hJJqwD?@Bp1W z%jpJKDt&pYqRZRHR+*FC-2>kDw-5NNm4)A{e7pv`sqWnZN^&T%aX-;^iPk09U&4dz@96xtL9T3jO*~p z$1>D94}hQMUBTG~O}vy0#Lzsl8EH)BuTM$^jTlKQCFzEgHdbxuODab1gd0fe%ggyt9)tYxS)&PE0;8n7n)v2yR^M<|D2wBF*QT# z^(@XGZuj->3fH}NT1fPk&eT|89|qZpx7a^EBO*eY0J!_RT>gXi-GX{gAUN z$&PTn-|T7>+mT83g6+49?T_usxE59 zG-xb@Wrk6tDwUKx@K!K;A&aX+!sqk=mq8-?x_?p7ER}P}%#3{rfPD!H ztO-V7`C}okH)JG5*WTri1?K2&G^MmkeG9@^NA{AjAY;|HL1C(YQD7lvg_vP$VC-X% z=&=Asfx-5`a>oKx(ip-W!A+J~&VU!t5EV}vi1PlJqaF-OCmBn_ivnXQP&3ff`sp{` zPhA$T&m;HiuzVdn!f=lg4(MV?ZvRVGLKA?sh%FeMYG_y-9esWWbQ&>dh9}$O!;1px zxT9&!6rtNgT@yKIf-T{E9^stD7cJEne9s==(->)dQH(neoWESl0^i0DW7ho2M_Rkr zRGK-`*gBh43tr&X8r!S(DK%ZP8Pc+zP^9Z=;%3k!_wiwk>#C_=Z(CndwX3nacxjiP zPYj>9W^er;0%qx?CZ zR@Cn(gh1H}$gkG>n~~F{uyk@CQ;n~0US3db3S+_R$K34{8 z?n@-Xwl!p;x|?wa2{WoCQY>K9Z(A$6O|y%)bPn6rs-)TiF~>-AziMw!(P7tI0jeFF zyR=yaioywJRy zsL`Pt>AHxFmMO2CNN0ax1==Pa_V0i+Ecg5qgVhY^9A6eX8 zreS9>4ZCkoDZIM~DA6Al2INb$PA|y3FrJN15vz|Nj~>!mS>e!)`*gMKD(-J_idv=4 zcGP(AcBWx%d3xf>ExCQl1&c5DA)@;i^lRDI5_1U3xA+OY@D;xC6Z-Gl_WGt1$=GdP zy&L{~^+&t83uBPm&-LbEyL+|9)kj)jJ{Oqpx0}uTPB5kZ_v^Q>b`SU4=I-I{ z)f;@j1G}^r@XsCmc2~b|*X_Qk@y`I2pI$zL3-}EDkK6gyAAPijf`fc;^A#j=f_wjD?u)c1tU)?Mp#qv=c zeH1nNRcN#`uzVF4`c>ScX9eddYdTGuRuyN8BE_1S)IwD-rcHbuKKG}5Ab8ff+$EQIYT)^USTT%o5FA1#6lJk_E!wNzoqd+t1D;|z$K z66+j@r33#|YR^;DpGEWE@FhvfQHFJzzUL}1Mp49H^9*ZC*LdVH?XF*uB=fm~GD{*^ zXC>J>Oe*sEJjlQQSl{^nL8?S=fLp z84Fhpi1#n(6}fa`%2lanhx$6G#kKp-e8lWhDm*REAm541P*x*l-ukdlBB-2fND5jQ zDae}?0z|xTcVK3R7X^1YOzJ$H1|C(G1MZ~39UL-(2i?(p5Li7aymMQ)}qa}Y|J~Lti*DST=T5J`cf)L?MZg7 zj^yKB36_>X7+#Q}x4w3pavA3-^#6E3rRca_OnT0!0TXx-_5L?BXY-#MEAS_Gl|S|= zr5U0wC>j0mW=W+YMHe9BDy>V^KQHhsjxU1Ag7*M7nyGQllr1nPca;G_nT-Nszr+f< zY>@P$*9C={GikuX^Mclko$I3ZFRy+>CFdm53@yiUU|UW~&2ml*osUXL?}?l3Hd%)A zM*}cIN-koxqah;?&*=#{%$Ak~w9$rYfV)6Ta)J9Bg!|#X=P}m)r_}3u_{F0~J7bcg zq{d8!#{C^ED7Hz+UC!vvdj3jE9qmfdGd7)eCGVfp@A4z}?8(sIt!_TN$II@8^nOOE z`0eHsHJqK{cy*nzoEMdJj8a|a^`8;dyNO~vM+Q_f!pDU533zt06iZ-cViy1%e{I=Xuk1qqR|No z03AzYi6llS0px3Jq z9My8n<1K?t+1KN3nIyAE!h+E;-kePS1(n1*Jf=&p#+EG;QU|V^-%!m?Uz*#6$00T@P~!8UEOU)3u#7|n%Qdbz zH*~hI&1h#A)I@Q0b*PC%iAK7B*h_pmusbz{cKu=XuHECuHxFEwEad4b*cZVrlvSr9 zp3~2Mk!@SL2S%FZSw!(noe3E=lGJr;la$HtpVK*iEY2pT`wWIZ_rK`76<^_rxnvH_%rnIntCX;m z%sj7_uN2+=M)KHcFn}$XBqwWHq{*KB^8!y&9&ZXvH)m`PI2xUI3|Qd?-3PRxfF^m80I%(ag9zFpV7 z{w`W)vU}-fBYbu(?lGuA zNYr#T%?Q(#&*vE-!1MKXk#~41K@;?QI@wbxYN7F%Bs^tAx51|jZGYR~Yo3QWU2>bs z3Ii|EEwwth))A+WNyl*dZf$HBd2kCa+_Ic26?;IJYPoi}&S|Er0u=-M5}h;K^>yeM zb;>=O?tXH#mwULPODNlNwmsTs$(cawEa8Lc{3@kjBqQnkKAn?f!1+Du;}@8XKLr+-By$FLnayY8pa>Zn zl8kH4$h{QFVp`ExB;)CA=>B=ZRXy8Ovn#=FM>Iw`2YjZP=AfBMYKp8$ei6$7SL8)3 zE>oQ|L&jRf@`VR7T9Fz2Y(RI>JtijWZ)ub%o(Eb0rwp$Vqygw@Sv;lck(PAQS({#Yi=B(889ZM}@LGJ)GJT~f2$K0tn zB73C!=k&{4@!3Wo0r#<8E~O;7${fN~*2d7HJR0 zJfk?37Sr%`&0b*>(gT;Xdgw=Ta%* zu{d;o$imRx64 zZ$E;2-CX&%J9H&P3C*#g2v6VKwz5JgLcbI#xfvrj$aOL?2fF&VGsy!zJTA!5;_Pv< zfd0|n+`C=fL65VDoxswxoX4W@`4!>z&M*IvLpn~0O4m4(P12$kshyRc^4Lc^dFRUo z3kqt0b5?0hIK=ZqPi5(aw@7P!)2lF0$*rI8xL`+nuKfIY3w441F9f}R|9i8&@xNMs zy1yH#!j(}L<)7xXt-3vKMbWlm`Al6E3_x|*DNZzA6#Ys+Qk@>|^zfX1smox4H4FBg zoo0RGqx_^Y%@^1P6(r1+X;5(j^;qPg_W|$dT^M~tAnhqGjJ{SN6zH@?TmPb9zgNcI zag(8c`15~-GW}oOdvtiFEf)DaJv!5sHij|>&u;iKEfsykH<{j%x4P3i-9;PSG4W;w zxL2pZEpP{jr6`}jD1ZIW#y`9Ip>1xjAOETje>t4zuYN$ibJ@akI4g*|bNb1Hs$E~_ zv0XOw&l%f#+gza%41%F24a~c9u>X>?X zAiollZI&5*va;c4aF(7d^%{+CJh;&!`~TVdw(U5MW6RI+TQMW@{^&*DG{>6bk^C^r zFTFspDd7x&h8loG`Rk`DtC|wCBcnQ!a22|l_Bx_YHbqn19hq_2v3CpZ*B0DYA2(O; z9ydQcZT`L8@7S$;<01=gfr2>f42bx|TC6FgbqGsR$w}n< zldJn5Zuu^`(I&7Dc{$>>m-I|o;N>(_n=jf;z{}N?G`+z+o>u_BsM0A}WzW`MZHM5@ zUT|UY)tY1Hi|$L8*3<+47O2l>V}AT{8sP%5S$X{dXn7iFCC0o@pA z7ZlIecON#_`#sN2Xm|A4VcI9v4buz5^kKi-@rG%}R4s2=8AY`4-r7Oe(uygfkV||f zY~^$kpa}&~MJLd?$l8MM?YDpI3*y~9Ukf{%_Fttcvjb%;8AzPY^e=*qHp;<{q}@l9 z%gkcTjg6;TIGxM+Bf&4ZFKw(mvz`T%quCB8o3%gbB1^A}^7iq?wwKcAU&7ti=%~aC6{N+|L4!enG3}NHb!KTE z*Snbe(Ea<(-OY?$TBGxwRs7yOZl)La?e6a3w&l%ditY7)-uC00w{JiF&1SGRWNTcO zq}T9#g?P>ux4_B^HBetAs54b4jj-Lv#JLC<^*M;RbcMZ!+!SecgbH&f>*lt9F^VPvQ(=%*vo)?_M zis<*-r`-*k^_m#8W2dmR2v6){Feu1-vAj;y=Zjt}!((Ia**Ufj5yW5z??}AI^9otT zXqTZ>P_SP=&SKsY;4=&5huh~F8grY`ofV+7%e@WI^8$2kOTPhnW`NGJQCnC4tnj?y zYa7-dyP^5&(7gY-MdxMVxp{or_rFVaLIW0AGnb-1wAT{B*dqNOTtxYrJPQa9!f7o0-KJKn><_%h0Fu+PH6r_xxQ(6gb zYA7sV_bE7Hl>6$%{F+Tb$0&Ez3-qXHJg-={SL>x?*N@w~o6Qe7tn*!-eZ|^>c z!FzcWdq;K5qWsmyBMapzLrdrKms`h`$n4|W{r={WZI&6d!D;rrHuQUq9R^A9#k|+v zL^0ypsz?#Iz{V)`?c(PmM>(vQCbX^|cBGZ42E{>89%6)dug*?rG4}G_Pd+=ANaPp zb8JmUKj6O8eK{u)t}JHgJxuc5Vgx!-lZ#f;Lrz^a9mxNZGz%aeb%8k|h8;vL(+4%OmN`vzLDZ9$I7=ednkSSNr(8BjC=BJM znGQkDV4x-Btrd68z~#nHp9~_ZL`*%bn2&u(W=!*jAi)H0IMj6^&RwUBlC)Yvk;)KN zaN=fZu-;I1nFfLfIjJ>HJ^}Yb#CFg)y{Luv!cwN1M`89T!rdg-s zU%u$aeR<*A9+Q>W@#AiyoYi2o&FvlzWb*WZ+&)69up+4;MSp9XUrIUl_H9!Kx)dz? z@EnxbW*}|hd0voy^IcO2x)eCyz8!wX|1{BpO9Awc?;ht~&@@e`sC;Ai^1^o*LZlIv zxVc65w&cqiWZ9dJD;irX4V?b@%dQXHQ@Ylu1M8N?tZJB-*vUzaj)C4F4CNz#vyohY z@>LDUJr*Z&K{~G?7pzq0e)CPsi!bGp{$}&|)AQAyUBU1QG_nE~1(Ja2LbQUWbV-q~ zzpBBAd(s|An?r59cwh|5=NmH<(&Gnmv|Y?O2a84Tg!mukW{m7*O>=l-ryWWz>+;)d zO{|zQQk)Q|*tDWs(z>c6ZSx0YIiyD;)7uZcynzp_eM^D0JFMBH!OE9LcmFUOK(VGp zB;RG@ooIe+E@n-bF{mzbJ3WG6ce4C) z`zUAkS(EeUrp-yY9eL0|KHTHE{N2WoC-KYO=D+Z>1wZ2#LWgz#WP4);Mqf?UiJ9T;yyITI z-f55%_M@klt)>qumZKrpPg)*$-i|~Y4bgGH>w*qh7*t9muXz#p*h47atOQF&JXkFk zJTcxC1n9;OjL06whvSh?<;%hiL%#>+u~<#e!P z{tJ!hrsJBP%SsXc&0WL!YrwgW=l%BaVcs4AjKUgG1n4t2`vPTIV)XPUZ-4I+h2x zSxdR7zsOsFe_a87fV>6x*AUURbRD9@H@oCHVX_90%2OR^|o^Yk9r{CF-=6`)=s9IMz{FN8Ro*pnO0& z=m*mDrSw6C+)c>&P)o=BtOr&A?U8G-Yr0H>&{<<7f`rAr`Tl?3$OVp^%kR^X!}Lk( z_;ldW9%-6PET-`T`O6-UCICwVKkon#j7IjhFPc68h?FSHvz3T)J_IO|0b{kC=41*p zQ&TrHb!!+W)Sl@a4~EYIhX zI@FqQ&#_Z6SYA_so|DJUnY3^E1O0^~U5C^bl ztn$zr$7;rxupYz(1*IB;b&#_eHO)JB;;Y=`N#Ha-aW!Kz?^ee8e*2N#u16J5~Qy_UFhm1(PT z2%34jvkz#`YvPaphB=N55lnmlh~K z#;?h1HYqEi4c>(pNy@zU^5w8xSZHjhiDj-ZcjTO++ShPYP3}LjEZB2xv_AQbtn^Kp zlk9?j0si^GNv^=!1~LOjZ^d+n5NN!|^9nB)zZ!S#6Xdg7Cea19qf%Bp@=j7>Gq9WJ z#TR;iy--U<+6Hly4@MNUU+(yU9QXh^yL|=V=hjW4Q@Q)T9An&nArb&Uq<2=z>> z9GpY8pH@QJpm`ZXpHN{AP>^V;SOW*Ta|$($Q;Vx2eLpJ|kASQsWpOS7&PtrxxK?=( zr)gkmZiBokL!^_m@m$_qb9OyK(*XF~WJFt6NosIf&~f?PLF99|Bgh+UJ~uobqg%^+ zsRn3{>Ub`{%6)Dtu^8Y#UhUP4wqc(`Vuhkd==5OD_9C7iE?Ds(Ow)WtD+fELARM;F zYM?%1yDo+F!|wLi&DFz@q0MSpvNG~bhUrzwFeO~yzTNb{$L;;&&F=o{mY-@HUfZ&; z2ntH@QCH};klX$hx-Etl3m?xbR{a-#t{LEQqlfF9!QMMm ztoUgWd%zdKzJI;Fk*}8oTIr!e=m85l4_GJj0QsKNTG*Sppx36aBOGf3q>K9oHlU#2 zVnUgWs-Px!>%TNqaW+^g%PFbG$0Nh0LlQTBBG2Q3k9t`p}%}htb6qV zB%UE<7P`{fi&?5z>c>=Q{OG*cpI-iSUh(wjZ_|3<>y6>SN2d*M3{{w#n@*vmT!-=t zfT>>~E!T5n)u~)J;+0Z!WGi+k*L4+<(NnG0g}}ex^?!k%*tqw z3t2*rgreSiv|^Q)RHYn4osKI++ZOJ`{T}H_8hdkd_po``@k^yHvg>8V2CTBlE9(Vv zJc#m!TtN_Be!1r)mP5C_>S|wjsqFWV^SnmvYbeW6-OA6nPUY8^_Sw@juEo{6*7*Qq z+CY$tGMY$_$H#N|!iiqk)o}#-VCndd4Qh%-V}F65Y>!{XH-fq+NE<9oeAzJ zez>io6}!gs3b^xc&r)zF9>g5rFf78d@m*9)x1vO?Om~8y#NiD`PJH7WO}=n~hW76q z&*gJ8zwq+lZ*ULnwi&c_=&RhwC2G15-?8)FN;>Wgy$z$dE!V#QetTrz~aEr#uU0W^bWg_-Nz&sT=Ov-Cm0Lef$ zzpOgHE*3gyQq@m$_%QEHWBZM@89 z-|XNc+g~ZN8O=*f%?IBLlow)1H&EqRYkGL1t0pHl*9Z9zvl)Mn^Bie4@IJ1E)Xew6 zs3a@@jM1Dyd4C0Sj{k(SoE=fv_piFaEp>ta$8qj2@Q2+mvz4~dj!(jiJ@WoJldP1L zBU*ucDh@6eQ%V4*VYx65x3qBbcrM=@1--1w=4bOTzBxYh27%oNFRv8EAOPEz+v73F zA8YGK-y#ek?xO`mi#&|y6>Fo>tTzEW!7|hshl(w~3N%LObO1qqX3HX*#>rbNR*|$9 zv^8@u+B0-KubG79wiydT{&;tFdz%Jf+n;!WrV!XXjgIs|pvmA1I2jExE=I1srfDam z3WX-Re_Gc*^$Tl!duds$CdU$tMZZJ_8+55cD+*rw`Vt6YP1tYOi8+8!V^h$2^9!Tj2sMruTm@Dv1Sf_LO zrLN+7^oA7P^E%l&XdhY1a#80+sVI?1FE`I2$uS8dJdo8H1S^&Sut((5=~7SUV$|c& zGSu>K`3Y%z>`S%Es@zHF%1r-7MJ2bVqwT^gW+vchGlcP6PF7!SW-{6d58H+OrdeMX z2Uh<<)16iD9R?%0;2DyOO)YDwewRCvPD)ruL^(kfhbNeP(hr}=J2F-$O5R#QKdX$6 zpggaXU2>z;oz@aM8+c}l66E(h_WvQZ`cy!1ovyXZf3X8IJ$)eWyBb)Fp8Wk#rq3;x zvJZP(E`1Hlr6Ztkw;yjFH-G%g_jCKg;G<#1KFVYV7eVlD$Kr-~aMsE1a5N+X*~Tbe zGYcVip_$MgKajuO(S@T!YZON99X zvt?rBCRWjsIh*mOVy74*9q{7^6*B9lv$W(E-sckDSAXE+n`gAO_&(S8e%Ipr ztBCJ+Exy0D_`bQj`k^&cEQwY>Gqfa*haq@DF~xAmLzF8b`dk+$L92tDR0=e~Y&@4k9T(mUI-vb_ zb0XfLG+R73yoGo#yD@OUd$_GPPrKAEVc94FdGSk{MjE@|)L}>dB)rQWa@q&6_6jIR zdInl?!vv02?I*y~xtxgND20Xv0Dt^x|Frqr)$NBF6JQqXl0-vP*1v?BeefV(@bnbY zx+1b^#u3!;jUZo9TBtdeQ2vIO;b67OTMqV`abklY4o4%2IPeh87(f^VR{CQyH$6Z6Wk;61kjTkKXvk5P~i z`*K38?4ZCbRE~9qT6so|V(CE_X}9e0T#h%Gh3yzW$9%MQm`RP4(RA=Ma zskC@p4rh83GIk+|bly41k^tfY*OOh1WRD_kNfxYCp~_knQX_qpSbqB!HrF_#C8~qs zz10e9&#KcJUc_k2DY;;Uv6LDW%Ec<2Cp%c_xI*$fSGHOd>#IM^f;~8>vN>1*?ZL!B zB2ZGY%`{!G6&?;p-jpK|*DLX4ssEM8=pN52{Fn00`$Z9dH;Xu$pm-mLqLPJ*A|Hps zbw1d3pxh}NUCwl#xYt2!&|*|BMmp)urE|Gg=F-YzS&(aXmgweu(F+PhgQ2;^fytEN z*0EwJaU=~gUg#d>%FwQ$4DBkFp-sL8uq@t&9Yzd8;7YYv2LgeAQ&tXDMvDdJg3m=8 zr+I|@Mh6W!eP>G8#t-Bp39t(rcVviLw({z4^k^&CAwA?KN(APZdRsn!0v&U4kp#0( zqkb9UsDdYN^yve+>z0Al3hsosV>Ki-%N{7yV|{|IOq57b6%%wol>0gW72j4qZgk{j zo{lScKm^JQ5JV0rvkpwwdX`R5F2qz2DG-%Oewc);WI#J|u&m`&phz2|#wuS_IFcY- zHlY3H`Qc&9N`)HiU(OnDROq}&8`hTZ@%}LpD^3}gtAkB_Q@JLvSG3LbcwW&r#k>!@ zH0rmzUwG7ApIorqZ3cBK>9_cDdo68T3!^;bCiG*N8zU~qKpkDf)15wkP!a1kU$9-W zU7l7kW}_W@)ODTHxieM}?PX4{GOohuT+!Co*2(QNU2e@d)#2$}uKRvu(!4n8v(c`7 zP*{mND#2__mr?I)XnA`TNf}YBaA0#G=J#NZ*6pY>qmWw}E`UGF+k zABFk5R^%vUJeLQ$g|%OGegNJS56)%)e&8o*UaO>W&dw53R+*$>dY+gz9^vJI+KBm= zg6SbeLbjtFtOHX~1&!Py0rvnHQ)+FL9Ac$t8x3XUNSjDgjHVANHl}c;_4QAv^XqY% z*D5GZC#{w^&X*AfSFs+KJC2Uy=!1i<0Pdp}^kF@&iVBQsVdtX**5BN19(K3Cw)MD+ zxv}5A)tf7}rj5aA#bOGj*wso4m<6Fcg49YroB#kvg|BrL@#_+)keoQHstERar483l ziPs!ERaG4nXfP`!n$eEG1+@T3W!cQ^B>rvxLwTW7s4#%-bI`ASjw0dK!wgYC1CUz zW`!z5v09rCxs~=f`im75YzSD;@k$?5D0z8UkH4p9NcW&TAiMEg9QFn!>1&mDYJ3Pr z?&^-@#jVv_l#+ zEaJd2DQujeYQ+NH9_QEfI3Hl0vCIO`rd&`8V`oJdcHwzWPAfsKYh@HA$nFoejDj!* z<;XBj=khStD=QGPf(*e}U@dJ+f(+Q-wpQYaSJqUq=*5Bzk$#|!uh`_(F<<{ac;clG zZ02h+B? zRLeL?)IXlfjobI_t>#>iE;-_MJFhz z7*lz)TJADVni!(o$}SkPE0T`o0gkzw@q#TdGouM@`dgdTb1%2Rv{C|1XkD(I4OF<4 z`n-WWVy&ZC-L9{%B+fj0(dnPk8L);5P+vQE^5$}Lv z%juwVAG|5L)43dPZS8uZXJ$r#RvX9Cvdga1CP*e%W$jAi#GMklFNSjAN(W?`mX5_h z$4I1V%fZa{#Lz)twe8C0;!eMaiF^tI>3EX5!a;5#Z*q_FgYj(5bM5maVp*73Wm4y? z=GH1pclYpEN5Q8R4S|Ujo=-g*>Bp%+Me!88M*--J zb!9|(m8_5|pTHuB>*W5jCky3tF0YieUGviBxt&^jV9~ZD+M$13EeKp&%A7Dr(J$pn+jkhaDIHu0vBj$O3Q2p;OPfk*UVXd20&c9wdt zwcOG&dXoE>j^$9>+zw>n`Q#@75_X8uBgf7snXWbpuJUppEC7gu`{?$a#*;=ovC2Eq z)4(cLrZ7Hf=|0#X+{7$f#hG>KA0EF^FeXIn8oR%EZ@oAmcXFL@lfqv};(! z?4wNQVSVbYeH5?@m`zF3|3?h6CkK*RoQU;>5jm?G&*f0N)yRPfYxaH)eFnxp$E7k$ zM~f2syfW4{SUIIzDRS#3%BRm(ku~*rUSXey>sDGbu9)pLKAYG0?F1t$e39M!@}31Z#^m2z!OsTt0+?;NkFAurxv5P~ z;+YmOoOozqL6OPycrIVSaBA6hR~h+(uJY#U=KY3c>3gq?Wp^bDoCDn%3=&83!XA$8 zR6s9|_yCR?R~m5QJsd!AWD9KiK%RdMJoMN2O<;>^03CQncWHL5`@-4?23sW?>tS^5 zgFFw1NY>VUIEwpX;7j}yU&%j-n9Cczj_(3nefQsd&+loKz6+)UuO-()d3ncGjI;rr zqLKk;l$?tcd?e+HrVr%e7yWzpD!&VS_f$i)o=XHZJs<(!xipIWQhI~wf(4Y{3#iE% ziH%x*F9dJMS?KgZ#l4^xmai&*7ane(A6Z@^K;W5bg-lU*I*J$%<%hu{igSeM^7W}P zM+ovwJ}@Sqy-fIzAIS07F8^|_hX22|`yHDjfSNbGZUUA}sXsViua!9Kb6QhbzgAlO z>_>-W0XUw^!``Hdc4hGY`0lX>f427@6*y#{`~pb|I&Z9CDhrBXwQG52a452=7JyY1 z_r6tuTt1sVs2I&Ucr9uFKeqdu-TRwsUalut&F22P&>s$6pRfsD0K;T{Q7+hHFa&Bk zkNwv}F7{x2E{i;o-p3CrXzv)P1>#k{2mN2!6u|2AW>svr7^NiR!19E^S~(R5Q_q56 zOFFp<#F3uF#Fk9w^6eJ2@OBG{{qya1&#t+Iq3gqje&GcOJ@8J@11{J7K|_T^TOX9v zJOG?S@le=e%yac=NH~5VpAv#zh!y{S`}6j;|Eb$|ZyvV$H`kBbrw`BfZ~Aht|ADXe zSz*35_Fr@CUqE&HQ$zLgP`%mjw;ygdR}XX8T403(K4-apg4Fjpn$<6`fZE^G;I){` zfjLic>dwg}B63~4sYcf|H?+;S-j=xf$AVQ z!Dx(;y7pS`6J;P@Dja*_Dpsh#&?VP+ULkEB7wU(Xx?+!yyX(zdSep=7lfObb*5}`7 zf~3wamRx72|BD-sgV zAw~lm<(j#9IXlLBh0-}4=T%X@YK#vV_zcahxrUwFt9|o+D695AK5d@wZ=P6mJ+k|5 z1?6i$keDTvRav)9`_!rsHc2(9qpQVu>%0v!HAzhsk7*&x0v7e#4-NIN3H7Ok^6l<^ zrlhuk<*d+b)gCFUBz$#7(5qr>olk|wws=KXys*nywaKVgZHZ4A+C1Jtb0JRC6ikQS z21zki$j;>ZiWECdj5FOStJ+0cH4XpAsUSPUHdRVF_^@d6GJ-(bcySV*UzlT5i_2}G zohzWqx&rO0QT@&R&%-tT?&g2kipzV=3yaVXcO1w^M)Gi%*OAdgC*C8~+KzkPhdREfN$e?u>Zi` z#|F7%xWwMI!DvATt2}zL6)i0KMiw`zbG4O&TU6D3yh=%XK>2C6xxZ?;)TPDl_9q_F z#=|~4NUvsS*bUM%gmg3Ry>36={Jdp1C;GIV-HxK0ilOsH1;J}u+JNkfpXe&qUdcu> z$W3Aly$@%q_Tl_O_KXbdkH6mCZTp|fmO|EqK~hfc7K30UsuZQMu<5)r@*K4 z(b1CfG&)M>^3jpW6>^sc|LNw3AD=dl&+i`gyB%9vMQhnXLt*>E^#N-on&jZhiewJt zzKtWP;Rt>g#Dox3^a93sE*}}&xC$Zv2!59Kr3`PkU2=j85RD|}i^Q+cKd5r`;Xtm$ z26k=Gb)CE6<~(Z2c9AK$$F(Y<+a?$7w<|8_rL?OWA-NsxYMkX{<3 zKQu@$4bmSQq!$M1JM-p`Jg6-}Iww$X9yj;Tx3~Sz-|YIFIJs=`32>Vvo;$vqe{B@+ zpv1*6-LTf30Vio#7y8w@3pxp53K!R?y*2sT8ojkvr53VuLHpY+?Z0ak&qc-X{YG#- zH!AcwK|7ckvW~}%+kRev{waR{=3C%z-?n~oc8Fp_^l}h=+9eZN*gQV%``;$8x|i7gJv_E$#v54dtDxVL}Iw zUSJqv#YB7dqFMEmHqv*t6P10IWf$) zpCE8t=Z5BMLv#Caqle}qFLLD_JM$@cYO4;FgydG1xq?xbT8MC-i;g5_xv2|16~L;o zfLWfw`rBL}{u$o<<6D@^sW`Et7QwGAf=5`NpLtB1y~p`sx`i1~8`0vNK>g>B0B^o+ zoUaYe?N6HzckR}_96+xg z8laa4=&3T05OieoU>aZBMKmUSxuKBhe5^41#6T9ZS}Y1@^89s@fz&l7aXy#TUoIIQ zK|e_Z(mQ7>q~LsKf_4JPUD*xN#0sxCMJmBrl!v&b)uP7p3U?v3+9JUS`>7g`h`}Pe zKvJ@evxoxZlaE9JdU4H*(NjEDFkZY{V2meCrN(o4xZ7M^ZfW3W1ppxg=UBw)1$y6U z6%K#EC%xjPDES(_9CMdP=ybnV==`c&Ja)o7oy+|pecppv4)cHh2zqv{q%G5*Q?52b zI>Ui%ke(ByANJerX7G0$L>$L<^wW$xH>%bHIa`RY9uI%pAif-kuO1#wS;&SMkQG=i zxhSB~L4a>k&ZZEy9a*?=Z@!xA@Jx*SFqQ{#EXdKmZ>tEq=EoZoFeJkKcGG$zkE zg>&j!Z%*on1;wfsm3KX3l-MLdSu$M?GHI)B#S-~Pp*JDzYXtIfz2f-6tKs+9v>`7k zgwweHbbbfM)F6^~IjvD3F}x`BJ#434x)5YwC*2L=VHN{!ExELvj^&^$z1pKZ;(m29 z?oAW_tirkv=tPKbPIQ+B>71}DSm4#HXk=X%BOKhHzU+p!PNVpSKC)LGThpM$yWD~H zBMLRymR*mBcYu3fU$Q+AZGvWJ&Bei^i!T9qpQ9`5#11vaP;re;uA>4Z?=l@%6v}$F z{Q93if@y<@i@LK%NZTOd(jc92rfK^PXNTy`<8B7jRsfw7sE71vtaDG}zz5VkZJKUU zLXQ$idXz=do^e{vn$k&4UD?iQ-zxk%((A5A)QNClF8P@?c-VxcPv1pEuv!zi*m#mvMW43!DA+ zy0xz^2+}^wvP~Q5;t>5)L-cYG?XTV85#{DU&T}tmNu9yz5CpX6l1!-SV9?N)^Kz)x zvb@nq_Zh3&jB3S1X?R-sm$gOhnMLjPr?zT%QGj0Y+uaS&^8@tM-BD{Chc5lZnl6MS zJpHB9y#5!8Ah+hE6jY3OZ4`1o%)yM)ONs%N| z!G<-tHra%GI+sT|dg5AN4EgO(oA-P+Z9Q;m`=#qV_Jxilz{@5#9*h|6JTynJ#atW! zQU)L$S0KG67iZfXTrVggyWc%+#^~L`=9y(zDZ^F6z7W0|P(ZCJ%h|~V9gHC$Mi4hU z$d!Iqv(OJ}HOIj5ZJyod*Vbz;3oC4=*lv({5#St(x3ubS5GU3xM3U9+#Cf-;Ig`GM zGYNWCyieN=PIS|DVV})~Jp^(C_A-GT^r73N_o5(u`~3;1Ho?*JMD>IXe(=^Bc2BU> z=FmDyytcs?Q!3}J2C+oak$w3%EW{|zpf%?E!;_wSI+sf%>Gfprrb~Kwg5TZT&u{TJ zE4nj_?34F@Ek@7X+r>TpXk3s8TNW9U&U+9WG$c{@Bdm20ceIY$pd-xbSdO?~&nk4A zK)?O)G)t1zF>v`;;U>3TbP&GWk;8UkdTh>O9;;%ptRXFGSS4w=qMZMT^Zv(qoSlP; z!G!Hh04=z_i#R)FQQQIvl;DmPztw>B;1R0^kLzvqe=3ttTIp{zpEG=>zun!>v_Q0q zTp-ihS*A1AnlJBJ_xH8a@>V9j3@m=0ZJ=NtPAj_BYt9v~PC~jhyUr|xu{FCc57O4` zx?ogKX?9to0xP*vY<5MEj1NHbmTi5|%`V?5V?Y3MIjo)0AYTtAX#rYJ)eDh~>2xed+~t&#MMJuk#TOdT zpEoi$-{MR!lkHx&Ugr7qGH0OfuTIvEso2hp76hw`MW~JOTCC+k%9I+pk_XapjWv;t z`E#=9z1><~Uq{OeTg&SrpXUb;e}*~Tht~2sKS-||q?ZQii~wGP^!y<0)2AP{{h!{| z)As%5-LD+LsJK0~2JmYG`01D3X8JchBu=Afbetw=2%}IzCA7bmQlk+|TsqX>G ziZv0@<$i<{?<1XyzXJU`yqbqqgPRsy_bebLOvTUzb9379KpR(}OK)(>s`!xJJc=P>?qgK1U&*}D_ zFrBf~YM7oArbPaI0ujJl&E3+GgxPfwje7wpa@!$BEhc@SrZ5LN?L+6(?MYlf*Id%p zt$Ige;|E-DIG@JrLDq<=f&AJ)-hSM;$Y#-s=gyaQVnCTF5I!w(^0Z5$4^o{7DutG3 z(Bw9GtWwik&r&OOvESjWC2d=6JEy??gz8KR-B3M8RGWwC1%disZ2c1&UF)2{+&%Oe z@%C}Uf{HE%j@bb;uAu|)QGo8}#-^W{16ZTP5U1V3a(Ailr3J#~uIzq@Ql zvJln218uy-^P@0OFrBk@ST_>(s&Z$IsaIvBcpD&R#OYYxtID;?7l-_m8PedH&8n%< zkh?B;ksw47a2Ji37l1iV6D>geTBn&|EKc`guU)%lecKi7F z-}kIlm$zI?nqHRBT?BU+xqm@^rn@0Mle=^g0E?e%ATMvIxw~^&&E>A{r`_h4-F{|2 zqRo}gDQqW5|G;C~M*ruC=?QBu&N*JZg{Eb>&P5#r$yLdu$#gMlBhId3ew~h&a)oiC z&PPFqi`ms=Sa{U5S^RSTou$t#rQWi-4`tyVBf`FzSVL4syzrFkK#%2=_&v@wfTo^U z&3l|LQZAQOA0U5s^FQ0`!6bF_`26l+zuSFaV;+6rlCa?qlZ<&2td+2QRFR7bSmB=; z$U(9(HAPiHnY_xI4fT3%sYl-c7I@_>yQ^I4pBRObmYHX4utN~bb%ngOIpTg0`IO*p zX_wq|F2^16S7<>R!7%lBxP5-yoRE`SRFNHk&;cL1AT-1-4nX4Q^&{ksl5kxYsqe{m_J53-!C*{^7@)$GeuSUrw@q^SC<=);5_wCs-eLzijtSd+ox3J;gk= zNdTP}z#mRg3qczyCXs#Vtdgkam$pr8r!dNixIjUym00;U0+~mr zMz?nk$wV5kg4y2#9)qL|a|OKno4rrpi~x9mKASsqYVgBH7rc3`U@N)Ry^Efj_$;) zgfy6^9_}i*j~;{NqWS9i>BO-{WBHy_Bp)!{>^}TX$&ZytN7V)#=LGT1<8E_v_b^aO zcq=f^g>FeH$S8Dzi@I1+heQDsvIZ5Eb;*;ioPu_s3|3WFk=UnPhCP;mzWM$HL2d$k{GbAISWmw16W!ptS!-X;ot;`^ zpOD>r3o|~Bpe*tOOu7y3x}cpGaDP)eUx;fLP}~d$O{y$=EjQOzNUp_?=VIu!$$fp7 zoMMix5_X9rC}XPjr6WX1ucYj|Y?Q}}UI|I~wocp|1DiWB9(pCJCf3pC`?%|kty$nv zwT-NEy32oekN@La_!j%W;~V@O*-UR&h_ z$d@gsRE$=xITXkRSzFQJ29hl}o>weN`qhH{pb$C#WE%$oDtg_%3)Wddhs2aUYLpLh zNjV33wKDShK~4ycph#7@@w{eNa=jJV=}A9TZK^d%UTwbi;pzI#+yCCb|NHjt?&|T) z^uu3xRc6-9x8eEv@SIWEZg`#>o{9&QE2J8ruMyBez_D3`T@&+_YA%wJy2vqA)Dt@a$?nif+B z(*+YGqS~N~yUQkOly6GuBejr`HlU)Z=(9MN+mjr6E#oJ0@&KB+kU$&_JYMm2npR5H zAs-zGv}Uv|uE-gy30|Lc^CnqXGLJV-p=7XHGR?7F|3?MlFMzS6d?*?#7Nv4Ne>Xd3wa)OXy1vc72Y8U{diu}zRTNzYeCPx`RGxZD(Iby zT0pZvC@UTTpjDQdp{0?|Fz0=?f>-kbn?_89qS7KQ)2X&A;Vj56X z9|ysU`#4U~eVp-J9`mqrIsfjo^lrGC_~vc#y0@alzP#f*^jqb~A2H@e=KBPL)W-@|p3 zK9GxdM3r;!mqne8_5tx~H0p(%`!e7kpZ1$m!H-6>>#Ictrf9$k#_gpI$3cL} z$%pNL`N~=X+i5ZE5c2uhG-pre6{6&Mr)V9_S$*n(WWjGqlu-B1NXD$Tn6g>x<)b#2 zTd$3r8jv&P1JL{F<9Wq~y3P$N{)4dp<7)r(m*@LG|MYxyd-L?`o5SC1zS}-N-#$IQ z`G#9pN7dHVU-i2BEWE55L4)_);r(la_mbiLM}zm0;r%}i-b;q}y9VzC!Tb39?s3bC z!T?(*HAr6_q<{S7>etPO{qAn_ukC*K=1v-EszzwusppLJOhc<>VCM|(OuwUnd(Pm_bUPZjX9ezGwm zyZg+nMK@mBngspC8=(Mc&}PFu4EL;J#$I8|nIz;JvxOzI}ebeZTqUJGOTQY>&IJ zM-e-tPzi*{3u{xRv(Z-Q&(oGdVw4Mx^>tnY3n~{Cv7Tv^MsFPJCsb&gsV<_CM00UV z4qR$b2}2qTwJT+#9B~&&)uQoS-ZqO1nuX<{zq^0Gxf+I9|K9F*yia|bdYskOJs>;u zz^@+Wu?3aHyUOrt8eiz5b%G`5a!9Laf>?%bhf!A#X*El)ojAqVAhT4 z0r~zy-|V;7HxKM>u6$%0C`ITkc*)qSs6?i$3-a4sk)Dqh#Y$vg4Jki3p384@o9|+; zg#7!PpLtmWG`0@-sH0%znTh#vZ(ay|0BZUb7pghZiX1O{g<>HxtqLkNs!F7$eg z_rLz~<95I0lf2eiJG%t_H;`}cH~--4v({QWJ9r0BPc71{F*Oo3p+g&^fURVTY$X^Z ztHoV5QaDySak>U7w-P$=(@d3Cbb#0JXtM$}sDtt~bvgD$m6Aw=7deUj1MI{(IyzF8 z2#j1OT8CU|etNajx%|~m^4Tk){=c7o-27wr%XZICxFNEMTD!?#+fDu(uI!RW!}V-& zW%oN8u4juY%SC9oo-eNKo-FXbdJWju3+#Oh*o(yVZ!E>P1?-stJ8=H?+Yh(fk2gQF zO-b(@%OycegR47>TF}%enWC63cpt?M838DybrcJ11LlsI6Wr-sj(A*g18V^N@z=Y% zZU6IF+5Dgl>w8z;yHj3EW)bDChSzfUtC%k|juU4&*I=+IBSF`7{2{YuC#whjX@7P9 zc=I$9>d?oTs?3Hnr6%9}yqsj#xuAu&L+2BJdBl z&yTDJlJn^guZAk9wSZjW%2P*l6+Xt08w@3!5h^UKAt(1uZfEJd!u&|*Jf(#(zq#jW zCDuC6a)FDGYYh?~oTAMcXq4|%2c$e~qY+>3=z-)GjOP`slAP|cFy41J_cK9mRIoMA zx$3+JiFZOd$SZv9bR=^)RET0POHar6crN#{bY|To?(X@P6$91UMb_DlL0m)~;}G{K z_q7Y2^e9)V0&648SV%gjx1O}Ja)l)K_za=lz(GQ4SR^>2Wz>F zq4v4y#wYerP0sGnuQ!JrtMeINumwy$u@$ptuqepg%I1|2trO>N){!qcrs_?GdC&!S z6kX?zVj!-2u_w@3#(_8N9>C|?MV}CMoeN+D?U=&7ZaOb+xsh5pa;%|1E~(;{U@ohZ z64vE#o}+#%=WXQ7Dv{@(b>?5ifiI0O>t%6DeG}#bq6twoM;Y$RDW% zO~?zlv(X(>F(HrcPtsB+VP3e;O&9wAh?6!TpKu3qgR_FaSq=FYDWI1M@R2+A3(xUK zWdi$p7aHr(r|3=);aF_8DQCQVtw&qRjMfGDc84m|;i{?**E+YvUNE-5f7ITHGoHL?cyI2nXAo{Qv$I0@!}I;- z=I-i;?Of3mf@LMZKPQy@zG%`$OWNFJhC)cn-NH6EkQ(3sMvS%wO#(ii%NYtL-`-iW zBQk{a+*X~oeW_fb`mQ<^+zWI?28M!`*U1KGf`WLz%H_Y%fu2xBKU4YM*V1s$jV`V7 z2H6L?*cY)%(gh1eyp@jfE|~RX8*CiW2&Wp>lAW;eT#mU;O}({aob7vpQVMIdPOt-K zBqBEq%`{r^EDIp-VU68x`MnM<&>}bKyrTb^YbmS|=q%<|2gN(z6(e0I0>;U+EGE)X zi6h;qNC_Kh<;5~5u^>$tE42wtu*<#XJ>u6--#_0yzWGc4SH%u3ZIbYilM{^dUce_d zWu&8)PpV_i`4~r+K}<#gP47sL=M{Y71$U%BhnYt?1a4-@pltC)PzEIz8I7dqqzUp( z0Zo(4#`6l0^Wo=WAa7;^8eLRS713I&D8L$2k#K|%oVXIxI;Rngm6&(ppf*vHFZOsY z#yf_8_G$)htB}po7`W4_{!74} zGHGFWtGtYz;FfEWIhC(!OzqQjUeiBa&@_{Po9(Fd;f=mFyd}%p9Ntdumub>|2Z6V| zjb@{x*FMsDO?cyK&-YAHZXG+wE+*y980wQGHd_nEc+d98JssWHX&(fLLs@K4^_iT!!=lM$UE`IwVG8}zKxXID2XfSP zT+qZfOYsI_sjKLGH@gIix&an60Ir?QxGKL^0mh(QuFFHCuek z?c--Lp4N0{G516L%`zN{K@K3<&gO!AOtgf8E10({#~=qQ@3su8s$`IlAIO8eFJ4w_ zxctH^$Odmsg#bhUjDrmVyqRa*Ih61DB!7V8XWUn~d*pr3!!sVLW+O3o4pOBdmm-Mbt1?~C*7pZzm?zVP`J~f?oQWAtu`l_0RJ=V#ugO# z3RRt9EEYv#N@c)fvds`?ZRFl&YIsX?w!B$)NZDKsV-0=&MO+T=>)qYm=CS{0`7x+X z(m3KLTz5JIfsB$ba#^B7D`u<(l`lV!FSr8vDj!1W1&6v9T)}#6woj<@i`mv`UImeX z-3XfLEbMYA_yDB-e-C>_;s*Jp@d@@=x26pXsxW*G`$u+62A=Dy(sh~X25T(Ajb3z9 z6_;cr8CATHjg|s;IF*mZ){5qja};xMF0#{ZhJYH4gmCQ2>W9%-`3O`)K2}cf`ieFx z#H7GNMDqB7JWF$WHO|t<*&56^!-{Iq8CvLK)S|6|vUpC6@;*y{aZ?X=;%Z1!az&?T z>AWH(&tLyVuH2DxFqri+$W&|9G|Mm%RG#B70>Q?rha*a1vE{Uu=pQ z1o@ViQ+c8^?tY+LYC0ro)nmNJb9s2Xm|Lwc2>8=(cCwXp!P*;rK5sO?r-?df$0pLn zRcxb;#H70TKpQY9exT8l{1dQB9Kq)3GME+sR8`gFk94UQ4B%VdnHV9dnpc4Byp>Q- zir2L^R^HOaBevcMww8}6wWs&6$8$N@D&PEDuAhDKm2I^%h7}~#bXEpEUfv3Zm4T6= zv;g9!cK~p%c$YyH8ZgxRms<^sMY~{R!fKrs0ji{Ww z8FtiPOdvZsWf%(-Gpu8nX`Rnk7KHkH_EwMRc+2?$zijXY5FqV~ZBG@9oN3g*1k_q? z%?h7Ankr88vUDzA;fs1TDgqzW-~*ei6{~C2*J*-wiY<>cw6BnsHRM*8uMisr+R597t8+Be??*QQS%CFBMu9KAl&*))Cg-#GYCD z2qrkLS856a%P<)62)2AMmY;0xjoj@64M{x!8;!ge3&D|h`SgMOG6%OLlklH!-+Xib ze*59({^n`B`R4v<`@_EfM_HlDcae7xpZ0{A+t2F95}dnOwD9s%HV?U)$Sw2{69j?&pwf$?91k`B$~MxxeP1 z)M;j1o`2ILvd~56w18b++}QMTQ8ZElPdp5z#Z0TDOd&VhP7JXB9I_Alo4ZZ_uXuOG zE7oePQ70buHBAt38$Rbaey)<_05p%BF#BE6D6|0&{Dq;;0oPd6O z+V{Ub7HQ{zl{bXKhP~>dQi81k!|Vhl>3t#6F<+cc_{M{?fdJ`{E2&LLr*rudw(|?h zVI7cWDQQ+&Rt>3)a5&JvPGheWnG6=?dc>F;?2J4HBi2eW1xfiTMR^w&-1q9y{rk<` z&C_Q0;nRd=^ZoXx{-@kMTwOoSIU=_i+N;mBczkCZa~r;Aj_<4|a`W6gbA*R~=9>>J z$UI%VfqW()^DLzX@&$nW^9;sqVsPdd^MgH9jlFc{0MCqWTf%h-2>*Zf&aSzQTS>z| zCwCKcN zt@=@Y9QWTt#&XN3&w?=>$Bl8VjOoTJdM0Ay`gXaJ<;upjTCV?Ehu`0zsce<3GiTf? zS!WKoRkF^Va4U11cbVgfb1QS4cO17e$6teSD|4JDm01Wq+_Gh9{Be8 zDy>@@U-0z~+NKn0-&4=>-~Ry8K)wHkX)=0UnlyGY{t}KQZF1h6y~(okY&&gj;{?J3 z(&(k;8?tIW{mVv2*5SnrOIE}an{$T$kPK=kqXRkHco)0yspW{%G9j%x?}cQCw1nhD z8_+W>Sj}_-%^1(|Ie$cgni{%(XT*QM*zNBAAQgyCDl`;j2|3Ch499C%P?-Cg5Lbg} zr>f3Dgy^2eDIL!ly_pWZ8fA#X3%(A~sZ&mOewm5=wBBvLTs&;PtjpKL&AzjOJS<0+ zwqC)05o~DdL|Zr*x1g<-EM1CjWa}l{e6r7#Y~hNqk*${O5k=_cmsK_0!m8Zp)=an1 zN7?9BO}Egt(dgDqw~$pex;4}N(&(Nm-K+JkkTR3^zzyzOfcxojySnKuD%byBZN}CO zdR)5DD5tnEof1D(}zccQYt}{Y=#z1A4hmHdHp{A=APX22YMpZcyJQ)PfMW1!{#%$&yB6S|!tBA+o6ys^tK_ zKtaDs52}vtdy?E@1~E zHHJX}vP&0$Vmi`cWIep#tGI=5?xbhgRMBen%LlT60Ujih1xcAkFFNzJKy*~y3Nms9 z)p_Iju`TU%a7N^99PqoFg_%|z#v;b>f?vgus7_n8dWrt(>xxd2*CIsE9HENrBx*+O z3N=x&RG|39EALa&b*%5JpG@>hxTJz%d@-Yd6~{R(Q^ERq*uiP+)=<@s^g^#YudHK5 zdk(p@uK)0Gi`1!d<&66Dbo$X)owjpo)5^$`fgZJnn}`1mygzNWn}^NacE7sVUakIq zvEN*-KCJhTHxK*5%pF>S*fO`JGqSkQhFY!-)**+^xzgP$vMTjY2#>(WK6Nm*3gWzd?N^vz|Jq9skEib zEI*e-!Sp+g8-IcR*ZzBsJ3+U*k9s2dHCFN<)v(rzwQxcP-{xu636?w&w|K1;YwIjH zORR-HpoXJSSl%e!1G*-mgMVOi~pJ3>mEHD_Q8f(!nq^ zEjA5UcfzY)2Ec?YrftQMuU71PS-7$7}eG(P7Stq$Cc zPgS$p-Q8S754D1bs9iYK62&i=7KA2^X@yLS@*y&{YE<7Q)q-}YMQVji3&Nqsv_hr@ z)lg$vA=83ns4=aOX+ba4m{!QNC_HHH?bUK^uKef6wJ14gC)GNs7O*xkZY@~<^WpP) z_v7!6x2^npj!awm_xzZ)^6!~aZJX-(VQp3YGhuqr|9|nZ*pG^$EycC)y}#RU;yjwZ z1%_-w^?+2^_T3)|uCB9QYlcKK-}r*g@COiCNcN&SU}F|jN##g7KIg+W)9%*O^u5GR zr#OL%j$!a#NkxvV$c&tVPB_B=uJYZALRh|2GNSS+<^X8e-A+VIakrV7XKWNSw#n)#_V^o5@all^JQE0F!^y7;; zljf%K;ZvdC?~g<;y$1?Bifo562#zp28}lF}f0b7{rOQTshqAHB2Icsezs7?yOYrVr zhW&iC-&}83m!B`Tv>aPYke-}#k%2BcqZ9`^vC=!iR^uCR$-NykUulAn)|$lUGt?$1 z7g^*Jz1c;=FVSK?~@GVaFqSJuiY%gyf zuhv(wG&8vGQ1BJXLP0eHUv`$2-^pyiBN)k+uY_n!$ydTI%QoH#N1LSa&hUIrjwkfu zAs_zap3Ljf`DiMW2cItAgs68;F&6r~h#0kH=k*~oO&#aJ06Vi+W|}XIvyb9)Hg|il z8ZCf*L$34)=pE^*mSHXf^QX~LN3HaEt(u&nH$_ybU^IXX2`O)qUOwk7N9yL4OwUwAW%a1SE@Vzus4doIc zzx`4;&3Rg%O2BuV>`r8Nc%kB5JTs*SD^g3n_P{^TS(P@|8(;8+=FaLxDmkyv-#*@u zd%O+5cQ9mjmpRU1XDu*n^}LZ;_$GQ{GB0VolsW-l2{inRns9CxE{T79!%yU=obu`78tY!|6wPDt-H-%3>&aGBHH@MgyG zPMBp%xv%)|)|VU7U&Mxhaip-pETHdD;?%31yj5WXq>2^inZ zSOHMj<j3?L!dt;Mb8SydyWapL-?_0WX z8^T0UnO(*M&~-liN;n4j+340S{mS)9`yS(%14h>snsgMCI=LPcDCj`{EGrY!>#Ge}vOx_-Niu1N zbk1fvP@Yq>A*%Br1p68mm9ois2w{g|Z{X5Mm%N4_U$D`ea1dFf-Rc$m-yd%Uc_XI* zsTzHDVb`cQ^*Wi|$DI?Jy^(9KwY;Ner)~#PIksA2!o~-#HE~IgcJNI07 zUEfQKmc59odCur?uZ5| zq5^AUha*N_Ide!vA|n0UL?5Lb=(w#D#y1Ku{k=M9*&nr?vW2Tb}-H^6lQE_h>- zjfM^C8--f1QEX6agj#gRYzuIWSpT(tc-U;OSMTpO<#P~_V$a674#spM)fiXFxZsD{ z_S_nw7Dlo(s5L^pEYI3$_2gQ>e*LoBY_IY_Nn?}-^eqDI#ju6(>&=9^KB|3~Qk@tg z`cBO7t3xXpz0-N4N~yGAcVa|I{9z{s-_*pUB@$+qKmycslKW{oF4Z1P7OkjhtKz6qVna422{}HVqf$DZE$j=(;rn;A z-Mgk2<_u-u^;T2gK$@gG?G@iBPEGY717*b)otkNj>_{2sbu^#Q-v0&VzIL%MnMKTT z4``U*66WW$`SyX&i&NLH{0+hZ|@6AwD6lEM{i}pE2BBq-Z^P;_=~iYY>|q@;4G;8+8SEa;+<1om9ouT1$=F8{_ zqvztwM`w*Tx@}|EZ|nW%)vp`cu3Z6X+?`I>RA&{(!!aM#;poTr=${^#M$~LWkfg5E&6>Y7 zt(Kk!b5EGAg|(ZBT54f`+dgcHJbmlQsfFjSeM(jAYi>L%<5}o^Z9FUES!kDQJS*c_ z>`o`$R2tE@N0bz7wg|0`C#lbDJnP}P{<7Y#VhxeL#J5J0?KQbc5w=6)IUd8=Q6W|W z@LQ>L(l8!@Kj7Q=%&=!aZ`!jkQ+ut`)El0OlQ;UxInX_UC(H454He$xpX5j6kS&nI_lKW~87BA5B^1L>HW74Pzu_oTKr z)1zfNA(Ud=<(rJbsOgkI#qQBM$ax3U$X?35Nbb_{@tm8#MfT|D`}~3@JRr`Q@Zvh5 z4d*^TH{nHhD3G0sL-IP`vEv%24L?uAy5`*GFXSisqBraIesv!gb#fiolrMZ5x9p^G zijjq9R&m+!hxw$kZ~iF0WPUblw8z5n{0y0{s~~!ye4^9Gt+35H;B?^Sv=O$`ARIfe z?dWXFV*_HJ^k|mR0~Iy?5v4b%o5;F@|pDvowo>-<<{12FJ+Svs-o$ zlg+mAF@HH%Z=j@7+P;mp)M}pP?M=jVH1E72xb=$7J2_!j@yDyD=efYFc`mrj?tQb~ zUO#+Z9p91XG$Q5uke%9uN&w>^=CXA(ses*+2eHC_z}yISw=J0IOw^Hje9oW22)LN` z_!;;S9oAY&BolR&JCAsEBw|C*UcuiN@6ev84qWnP420#6TQ%t=et6DruGfB% z?EUqgUhMj7wm!8K&Zl4t%|#7ttzZj%fDLS|V2d+5nk84QXi1OS7PIw&Ewp?#u(g7H zR~WC;nm?;0TbQfU$ks}>(68MV<66Oz_U{dBJz$@t!$;H{QOH8`PkO?v>x4kbFlYjk zy+L#`c84>o%w~G^H`E+8-&IfA=~cyebsV3wky}4)^*&*hxp=K$ywdbUmRvh0D#bCf zRk=n1(+Q*aRy{*6_W^JX{99vyOk?)=f`66h#MChCG|az7digrZ7=dIzC#J8CL3A29 zSH~{b#~UKuInVDEa9*ZdngHPG(&KpaXpBp@@(wTfcS^%DxLCN;^TVZ)mQ>#4p>uk8 zeYSHOL*Br?J61Rqw+u}|2H9Of+NIlqhUfh49F<`(l>E$OWpAM-o@)FL))zuoQDtE1;$wz5e*hp+>(g=?oqwpy~q zE5#;^td?ynW1lP8cJ*|wWXT(fMz&(I^n}_*wi>cuonr>kOVQ{w92&JHo1;~_ZVjea zC^0a{IW8&Cs`GM&a2180)+C1dhF69!YjmhFUEvtt@N3uJ9E=q@&Dr-^^E4V06sAka z@Vg|nPdS~scTzBnDDpD~Kzq&BLnute``42C@$e5WK%PpOvjzj_b|Pw!j+eY;R1vBRu_gHaBhEmou<4xRUt73XbxmAb3@>JA z9i!vI>G}V@zGny{C_QuA(BIOAKH*x>MKrFJaxKUr8rMp>7E74zXjKc@$^ZidX& z)HZ7X&*zR)yT7Lii?g=ksVC^EcjD;g^@99r|M>BKcX#)RcI9+_-b7Uq%cMv5ZszT? zduuPg|7y~|&+vQsqU&&CnUBwB_;OCC1TOt4piA8VGi<(0XAl^b?tC(?O#BBhE8Q|# z>6YwDcgFE)p5YV3!tSz*{(c|nUq6&r{(j-*Uvk(G_TDh|e9WL%U08OIt6ADh)}O{u-)ygceE#ye%2Mj>B>VJR2ETL$e+1w{4XpvL9dNNs z+C;LoBPMS+S`60@_~!=ryaD&$L_>yFEUg{#W_wv++-@vuXB@Jv9~$HHW?azMwB5LN zzy&cz16(`ci<|q;bY-ihTh&8;cLe3uQc^qR%l)R6x6T{!yAtD;Q&-RUx0Z69H{h%F z%>%g^EA-^d=FBZJh)yZTaCOY~4+ylD-8iO2%I7VbL-MFwot*L+AJ0(AO`RtDA6YJ1 z6(P$a)+kDc@p`n|i%xD~h2}I4tFoWQ#u3`b6(WItc)>T(mSC5P_h)BcrndR~Cjc#{ zSc*Cu`KT2?^o`Lr75h?$yoLJ-2nkDCW<9>(e*%ovCUGiX7o^iXdPL4Hy*i!D@Z;kd`@NToBR^&YnwO}xqSAbso_2_$3u_tUe5WCQzO$-d z2)H&^Qcf#nk+?Hnvd{J?y-m+adV0fGS_7at-2|P&r-0n@`{X1X^Qk>QV=0T!d7%vB zxTo_U10#@aumIA@sWrlQ^#;!R!^eQ!^&xEDdWM~}i-mW_ z_$-;-18g|JvoC1E#*thIH2=^K|IgmPwaalEY1;75(OC)+*dKc2mZ=%LTP^we<~yrv zi7blMv$z(uHj?aL|00oD+@OF!1w>_57SS_pQ<)T-`bELN zB}4o!jJLUx`dhj#6K_DiPO0FPUCXC7XzSSdn&>^A)@3Zev@Y|-*XcRGE)(O$m9Ohb z6pJpkcPrkS71s{t;IYseXL(Dug9FLhJYSB*glpLAfHEs{2H@Eqm^_gtoa^fGIlr#% z(wy+37xCB%MV{S8Ngz8Z3LA>Y737kmYH7;4c4IRKyC({>u9p(W^&$+@7E0&MdwS8L zYq;PdkJ1VL`k73(^~C_2I=(;QTC1X>QFNnB9&b3t!w1hf#*3%82g^^TNS#ZiM!jWb zFqIFYbyE!O-C7~^r_2RO+*?Iu&x*v2(ZEQemc@y^GY!3u+2lF$Tcb2)lVt+xrG~dci-pbjYn$8Q+>Lwvt4;SI1?G9hj$hBxg?l?_w z<(u3YY4|s}&9y?c5KrekkLP-mk)OzyuY^3fZzObSLbOR9?uE^&C)e%#VNO_f zR3@kD$!Q>N>@iq8pS=o4d6xeCg3aH0$c+uJ@B#crFOES0j!dZLjouAHDbMiVP2p+} z=e)G0Veym5nY}mcY6zZ;`Oamq_`G4Wrn`{ao!+Kvt(Ej~PjtRH%cz54xeF%z6?^u9 zZ=6eK6Xwo0$?tsx0W!Uuj~SWiO+)9~X*d4z-vG(pD{^$LxLyK+d&Nn_LD}d*HEeqm zX;MYoFNl8rQISzO3r}~#c79eB{sWuiYn{oDRvYu z)7I2uwWWo)NhfC3;k~PFk#o*l0aOBB7G@d4MK2uVxOct?UWynGaecgCjkyd?_#;U+ zeNW$}*wMp<!c%_;qopThyjIU)Lmj?qR>Yn#;}J8+i8=_yo2zbpL;iuN>a_nJiTa;7Sd^{ zeg$9c$LF`?2pWQrPLnz_`9Z`0-ziS5)s;Icj4^CWA05kVGDaHBw)haCVAksA7yRf< znG1-<1AKDu3^n@TDN*qA3cY?%%5z*buw~s5?WN(n=R&64tMd>NNOlf(OuA$*^7#dS z4hdq3d42rk_*sasoF;WXWj;6qIcO&t)2C5_BTrwT=WB~;8|!PQ;kontJ)S4){?!mw;Cl^=N5)82ezwnlhi_cd+`^?9DUIv@;GI5Z8 zeRHSPU$r-$lonG3bGL(69Dy016N0b5-m-tTh%Pn~^!bX~@fk ze=pUVUE~|szxr6;dH3PzU-z#McjL30!&hI^i&jVlf*##nP;_@5?H3i?eS-0-aKC%l zzXEy<2lh1_X?M+b)^MEv6(IE$jQVmdUjaB)R=zAXA++IZjHLPyk-la-`A}%GX=|}r zMPKOLvtQ7Mf8ULGRfqqJ1HHGn^WHpfdf92;wzPS`KXt&@4fw@P1#w@tv~|SabsN5J zz~6Sj*A005muSdjBV&iW1;~fHmlei67ru4I<67d*__`Ut?YHrD1E#ZD9q{G>S2j#{ zz*`6WLkE1_fM4__@z+kcV#A&A)(PL-zI#L0mwM7;^N?ShLAjTSw@!Ia0ybKagPM7X zdp{_xkNSmwp!;VOxJUjFzD(CYPtD%^A^f=4^ptsg+#sm8##|SjwGohs|m*L6^)(`B9Vbxkq*TgrHpUfU%t$M%r4R#lW~7y_ zeVZdK+qBJHq>5bYI@~|^oBFz~`{!QJx*Ebi{1~@DlH!!wQUj5B(JMJf;}jz!TF8vZ zft?k}=~42x_GVLI(3A;VL*wKF+M3!$N4rV1FZSf(R#2o=UBSQdgTbf}dv-z-N)8r4 zT-eCun@*umgdLwTi2SyQ_`G3fYg%Dhk~FyvNO`ZxWl&gfrS+gJYn^9VMpk;hwy27W ze@>lggY2r6mHEwY({ny-G^wbcy{!DVS8t@))2BXo8H5b`%N zJ1?@))AYRI4A<$YvmovmDevao7r7Kdf+Sl^@;YPygN@qAXPbF>_qyS)`ooi@dQ*u? zDE7iPDf04j)AI%?vQ;)dolyUwQ~$E4kF_f5J{RG9Co`Z$w5ZSom(Q=HL-WDXYs76QeqF>vz*gm_N=*()+vdXFl$KA∋p(B@g=35Lw1!9^Z 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Ʉ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®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

    CVcwtLt8Cq?pP@2pZ1Ag^>ih!RZT(=n zjN28&ym*VW9WG{O9$(7vE6#W7z5FaGYKCcBmS%rD5Cy}air4r7_ZhI|{`ez2s{f^9 z*Bcl{dt^~PPc_5!m(Wfo1Myr0ZYoX>P%>{oe}W+6E2&oz4RZJffD2$n=@y>3EdzB1 zwj0dA2KRZ+>y`34KH;7eUku-aXgFLL|Ks`aLcnC`#BONu1vb6VD1$L>aSD~XpQuH6 zkdE|nFu<6F+N;OzoM;|^mu@P405iQaqCog7g#W*l|D=AH>A%zlPMA*^<`!M81lCIL zfw*JBob4B*+aUul>7p zbD&t55I-S|VsutmzZ|OF+!lA6y;$ez8^gwMzjrK5s zY>;Vqdjl(7RqbV?-~x-4Y~Cqy%FM0}ZomlCbDXhJiG#0kiR0g;7XpCSH+R_9A5rO> zyn#4vX&ohNYFL&o`pD$wA@V!p+W1kJhitqas9089obFN~OY2dNhwQE7ieQA&mNAsooFWuy%d{ zPeF!dP>3CZTFac&{dA2PAMTTw-bHwOC4Drd_ zpjI`Z>qR8iOhjVMf`*2-?`}NAw{L9oPYa#4+scb6fZ-L<*_Nyah${$HR`4Xwd?o)E z$CN{0)j2Evfe*;3z3)h=a03x-H*9>0`S+-j%nl@6zPAQ-PZ4v_fXLex=l+GtXnwLwL6p(5Dw%G*H<%sj;X_ zZ-W5X{!aXgC=glqa{8m+ftfhG9k2gUt?!o@*tRwkW?6(CXy% zz0CRP0_Tcn#_{vCrshMM>1G(JO*UF;H6R>5t#NbAwb>#WnK}MDr^N>ehGuJdwiwuZ@k^7m#{SzJjj>TOzni{ zt+n!I24JuUVH%uKfL*p>0P@-FYynerhVVbblS^|FG7&CN-_Pt6!rUY^`2}YJ173?+ zZa>p`VL#}(1StCBBAI%b5mPTuy1IAQ15n`` zsk!c9YEwA@FN)x1C$%iCTyF+_Ke1^;FP4d}QR%N_WxdV{$tHcy36wm(Hmt$VxVj$_ z9?o-cczqYCYgC3Z@=L;-Pfnu*NuQ8}Ad!kMRa-nzLR$M=m z2kO}^o-&iY-kgBhV#e#f5tG1n0~`vdiC?ig{|Pshxf-a&K0CsGXK+JAHJySJ$ zFI|C8+DOZ$O=kHQy7GDo*({2&`(;}yi{4-7>Iw?h`7+e&gGxS{6$?E@w^^s1Ckqyw zdlXx>)E2l6k4WxWuJj8Bg%9;o8a?=2PR)KVW^|({$c~}%+3h5`G4pV+u*r4*D&l9( zT}Pg~evGAGW9hDH8+_}obaMV>u+hgbO21nP%e(P8FFJ40%Ega$dVVhiY<&&0j0d_K z6pgDwB0e!Lo&~n`0#b|w!6ICXp$&@c*Uu*Shd$lhd3}p;N1=BYbCZ1=Jv`VU?&{X$ zp|@P_zb#A}-;L`PCR%1vXincqxm>&w#?I zndv{TtM{faRJh_&zh94&=SuqpsxY6$0K-XPc&*r#F#{2lJJxCLVea}TpnyG~-PL(3 zkn_A$t>yNFMD1gqwAMb@(hz8Vg3`bxczTu!>G6wdLUH~PcQC`n9WGJ>#LR`IDLUG| zUDp-7K>}YPUk9lfC z=7|lN!8q;Rh1o=S9w@{lccrQy6h6dsGMew{R&C5NS>Fos&Z;fayzLplz5mbgf7zVD zmd}Kanv2f`p?t_J7KO=YemG@jgt`Wy)+Xr*zETi$)MR*<2qoBU-NeCy)s9hsZ?1Qw za*@_|Sm+4o>K>os(WGH^ggJ=&StGbynP;Ok(aeMc^{~!cC1{inuHORL(6bueK%wDO z>^q%LXahsZ`=vKUiyCfKy*y*YNpEi8Qlsi1o40-tEP?hPe()(sQ2s5HZ}u#XI?3GZ z)U98Jc%emwYau`_z5~LaYrAT)vI9Do4^Fo@mVJk`^ffxgHrfjT@wM44Y7yCc$h#@b zPPVwKv`PT@wOvG+Unvu=^Pg!Rqh3IVonQ<)2yoX_Cadk+Oa%pp#TE;t@B~8(b-}3?zxVcge6WmR^mGa~081oLY)fEgQ>VO9HP3UIZxe z3X1f$dD4l|CjVGIJ#Oso5z>q-{k*zXA6}^l4J43OzK&gF zg*#olJ%Z-}F?nt$bgl0Ai*}5(=}0- z@{IF-Pmgwn!X|8(>FIN*E7FW{`G+Os{n2;?^3DgHWE-0rozu$dIQ4cc=PT=92OH>! zbJI5$=kv*O_0Ej|A)g5dfLS?!!2w$U=<)XhGz$8r!jS-ct%uKb`t&HF-v@MFd_wAB zxrh-~2!ao5WB5P-O*4MdE8@{Rzwp`O{#?)pCC(4V!!xldbntNgODD*-EBLg;Xhd|f z4KuL>9&5k`*W%^2ka`EsupD}P)_MKS3#4;YI-xgDGc#ADq$8rficJ|ueHGpFNbKUF ze))7rcrrJ+1+Khq0lPH0j8BkIc|Cm(Lx>9Uh=uijhcO5j|MIMpV*O&wxjO&mn!FTaelW{M(Czwa+;9H-$}E(8|2t&;%Aw8Wnc|WG<3gocxsx6B_F8ZJWz3A> zX}gz6++i^F35i}hrJapU_{-<)>*?o=o;ub8S4v>L1T4lK6mo0S_)gfQRKHr1}{TZqEkN z@6Zi6xESBvo#8cSdI`DPqXM>l`5xprbzHh^Dw1ezX!cuA&VX| z3__e}fUTk$4~c}B?A8yy1QD@E=q@j6al=w?)#Uaw(a*r!3Bazi)_bt7%6QP6zo^E; z6vda9`1HSBnJiy=?=7@C7c;v`#x4^P7(Jf^(RY`1dzqvysq_S~Howt)m}0<#C}WeF z@IFYN`Jl>i@+D&1i<-NxJv)LPEj}`MU>g2!Sm_7nzp>~WK!Om+s7n#Wv z3A>k=L{w{?Y{}cQ)7z2CYX$U;-|1nXw@M8YNq`7;x!UJ=xf(>+k>f50ZEINHS9#l{ z{TNI$gIR%{9=)jpoOwmh;leDNz|;|Aw|C7D`=gn?Q{yu5bKsQ+g9foMmsnH1Et3sq z9$aC#*5A4`Xoqv$>m1WIn2@M`3eweAQh-7++oF2gUl~_fm18r{s)xIDlSRO*6|W1O8z)J1 zTDx%xw8ejp{!6Ei7?1Qo_1=1IZb;_MS7+8gEziG)NR_`iqS@R;FC1OEl`S@7sn&g% zVtG8$5&B;-wWsCA&+HBfcD3}A%S{87o1g#LYJ7A6m49O6LxvrXNym__>LuR9>=BA{ z=S}y+{tbA8XNi3440Y+c(%XIJD=#kiZxvA_+oq5kpen$IJ z=}jHx-e5pyhd3KvkIhz|%X1e@olf_iF&IX2Y3xBswjl`sQzshujwah zc8&>h-%TsC_oS8MW;|4H-m}{-OmF{NnH1qJ{e$%y{KsG^e&YQ1%L*nu?NlB#Chq+d z>?=R_9afz@MCIN!$vmToIlOEaj(H!_sBtq~%+>ZurGL0LX?0MVB%VI252s_c=Q}IT zPo_Ph!1_Wx1GCRW<%X+9NeQc^R5wPc0tjII**3vV0oC#{&|6@;gAIA-F8jTu|F})f z^lYWgIRYBaM)b|{ix1tyw+r9iGPR(@YJGuofMzM%S)p@<87>P|6Z#A`8G zPxYqXi=<|#k#IjiEPH`gX*pL@#;Alb9pl8!c=$0)Rh|oWOD&-^$2=W_&RzNtx9Y~s zhiFeuT;sxDY(iYg?CouhEjjzuwxTLZ&6!7)f|l|Y^w@X{c4b7j?S^?JV6_m`6^-)@ zy+26IS#QdChITJcV>_lNj;CLaZgvuNMeF-9Yx0He=|~y+#w`l9SuhE z``{9nrVK7Ux~_`%!K$R^FJFK4)uMWM{BXbd@UoKQQ6anghvoBEcA%_YpAT^HqpYjK zyt^DAM|Ci;lv*UI{!R5vd=b1?O|ktSzgV8CKMCXoXV5>CV@b7e4<={K(8~R$X zdJ2PK3;UcBg(u&kmw7NFf~LYVxWZ&lxVzD-L7^P8{@g4dv>9Q&V3X1?W>ls({DT)u zuS3w(2Q|u2MngS5GlA)6H{0N|QhZ@Ol7JK$Ak9h+4sFt_5e%tK0ML;3On!YEkn!Bb zWw;B#50I~N7NGiD)}d#Pal%iy?=j|3hUFr9+FZ@q*=UTh2ZrA2(?gAd7OHzpAZCm@ z*d@AG)P{+Unt|Gztk>wqOtpuGd5ly}T%9+0q_?5gjDAZZB0><5mGa429}F|igw2=f zrI(%RdVfxQ^U9KD!ppl1WsJJ1iCe1Hg|O3PsyC_m@kjYm zzW{IOe_^=v8e}ljpSo2{AO_Wu&#_A9OsvVrhS7UHYMtb9i*;b(>0xT3#3~|VI}*&8 zqXsYp7oz}i?##yYgQqX%$S|6leT-&q6AGPp(x&OcVHs>pVW&cL$QZIFn<$(LGl7}H z(VcIRDx41pJLWq@7)G12L|QToiFCyv%>odPWRoqHW`UcT?w`UH(x1fC{a3dj3$hSC zr<4#`+}H3-F7!$k6TY=8wuJ39O4^wb3Zjx2>w8{UkISq%xkwV_;S2|cWwaRt2LZNi zi_E%R@QYhYs4~r<19NghvMi@$g9*NinHT7FYt$}q50CdIV2yIj(f4zXZIr^Bh{nSW z;g$+EIkA`X;lgaN3=R4K@dH;3ge-ObW0UCy9!%wr#k7qV!>dd6Qkf}xOgl8QX`Iz` zB7|uDq>h&1fIfL8a+^>u&*$sOmj#R)rl?MrCO5Gd4xwbX7U;+GfBBDZf4sQRxk!{B zKTqZw44HdjmSWfm1=3ZhaFlC$p4+VPVvcR;>M%#H~aIK@Z z(K}-;MUY<&U!!}K!1aED8z*dVLr#?2t~0R&BE*!cY|faM1yjDAvh1r z71$``Cvsx>3PRSHY5l>?@m^qJYd7C8UmIoX&86bhT$N8cgj|wE>TX zKObcF%ZYbufj3Jfv{e~ADxJ~wv!6UtcRrYwl20C@u>uUEekNlOL&vLNxcm2)O6@NG z&cs=R3CnLi4vzFaFuSmPSg=tBx{YRNiHpN=nX%c!)TNdU!-nk(G0W}`s$nn&b`PwUDdRS`0if0<34?!|o-RGBPEh~mY zf%d66c`(?2a*uX8Sz>MwSPBRHC$PliGV_f#9eOTTb?*rT5%qphI(8k*LwOt0>CJ&% zSixKB?$1GsbZT=3^V$paJSs2mm>X@IopM0-_kLpCfSqWFs9y4qjaJ>7>aE8cvi)Fw zVda%u<=@xarLn$yIYnSIN%pQj>~d7$bCHji&{IWRtCti^3CAvMy;cRQ0|9|Yu)RybPRl15ff3SY1wafwTzxGo@|z_jcY-hkRc%$N zF=#ejcX*~Mo5%UT!Ato9`);`=5QEFh5w-!@1ix&i4}+`spLDrU*|WjrSdnXoy0#xR z6aV8{Mf9GOY`;}u+y5g6!rF@ZbKP^j^c$lKA0Ot`r}e~o#=rH}ZF~RgHu#i%N@scN(Ma{wk?TfaZa!|z0x$*f zd)0&fJmv#I%pP?OO%%J&wCqlMlK@EISNZ;sz+N z|BhR`JXF)U4kP~ob`EiAiy;Q9ERXKmGx_vaD)I*2lvsGsX0RzQF*D>#mEe?{0Ra%0)q(uqqvExN`KPSW%)LFfr;5U zP@U!Lt9s{B=M(u>CmLQ)EIAx%1)07z|4Um8FyTMwQ7yia7;Z4hy2SY(RR90?YHfE| z#0LC>lJ(!877q)Il>aD==;njk$b3)}9Xg`vaz+vIVz{OKLmXznVie)%i( zV0Psg*Rj5eD+~GJK=Kbr5QfZWA7LXc)XFxr^#h1eVb+-nLZGfO z=jXpudj!c*C2oK6$EW8?^Ks0Bv#*SbJF55BYICUN_xDTe#fmnqSj^I*$(Q14_~ZFd zl^|8^!>0OqsYa#Hmcv{1-rc#jgyb&ywgiR(=z(t*)$%7f0)AOMy(r+{nskH8b}rU% zv1*Ht@cXiw!u^Z$|E>Q1*O!TU%%*3#=KwXkzELlhJOyn$tnEVwG)!cVpeRzSn-rZ=PP{uwAwPe{Af0vYz0y*ukW1dJ20%Z>5saof zPcg1bTU!1VtV`344;3AQkN5`&9OE$VX(JO^=UwcnO1W>u5eq=2}bX z)>FZf0eFUkOWl0G#UwdX>D0@ze_K6F7HE=Sxwm`^WapDVs&Dr9^^;PeA3=Emq4E3= zX1^%2YY$QhKVZL7O$^H*bgBfCqs?4~!ViGm9I|boiFFEK@Z`QIXZ9Y!mn-Roe3-4j zGRse88Jn*_BrT6)>p)graPkIbJfa49Ljf@Z&iplyF%gk(Y!K$14SmgG$5WY6^pT{t z`vvwX`t!@D2S_3zTTlB>dWo2dU&3_VZ!fQP5);pT)5U_DCcsbA^&P1spPuvn__V5? zKS+n=!~N5Tm!GiyxCh(Q3eSG^1%%j4;nW6yeDA``O4tvurTt9D62VIwTzS?G6uot| z=El`huM{rFm5pO!gn!TrULQbx{^99wvXp=M?pqi-28|$n|EmuZU9sD1wb6`UG4C<~3Nu0-8UY=*h=$ zQPNUVXMY2`0{rXb(^C8O@D_|=TPoef^n9S({Z@`mUcPw5Y8duKL!hOj)+@bv4WSh? zT3eaaTnk^}tCFuT!L$3}&;RA1*$t{L6onZputYWK~`;H57ydVQWal^#G~(zNlYhhf}d&%p^8} z1yzqv8{D(uzn8EJqilHPr93EZ-SX!Nrg8=kU;;Z5s(yEUrFeR3%9dN;A zt9_Pc?6{O$MOgQfnb@mM)Qx+as={nHC}EWM}pH*%yoov63w-(FyQ zo2$G384grCC_nl`uo2b|>&a5OvqGpyq{?V__LV&Ge)075)7ej}r(ah8WB&aAmNR+% S@BZ|A@&5yT_8+WC93KF+cMyI6 diff --git a/helm/papers/calculemus-2003/hbugs-calculemus-2003.tex b/helm/papers/calculemus-2003/hbugs-calculemus-2003.tex deleted file mode 100644 index 431fbb9b7..000000000 --- a/helm/papers/calculemus-2003/hbugs-calculemus-2003.tex +++ /dev/null @@ -1,873 +0,0 @@ -\documentclass[runningheads]{llncs} -\pagestyle{headings} -\setcounter{page}{1} -\usepackage{graphicx} -\usepackage{amsfonts} - -% \myincludegraphics{filename}{place}{width}{caption}{label} -\newcommand{\myincludegraphics}[5]{ - \begin{figure}[#2] - \begin{center} - \includegraphics[width=#3]{eps/#1.eps} - \caption[#4]{#5} - \label{#1} - \end{center} - \end{figure} -} - -%\usepackage[show]{ed} -%\usepackage{draftstamp} - -\newcommand{\musing}{\texttt{musing}} -\newcommand{\musings}{\texttt{musings}} -\newcommand{\ws}{Web-Service} -\newcommand{\wss}{Web-Services} -\newcommand{\hbugs}{H-Bugs} -\newcommand{\helm}{HELM} -\newcommand{\Omegapp}{$\Omega$mega} -\newcommand{\OmegaAnts}{$\Omega$mega-Ants} - -\title{Brokers and Web-Services for Automatic Deduction: a Case Study} - -\author{ - Claudio Sacerdoti Coen\thanks{Partially supported by `MoWGLI: Math on the Web, Get it by Logic and Interfaces', EU IST-2001-33562} \and - Stefano Zacchiroli\thanks{Partially supported by `MyThS: Models and Types for Security in Mobile Distributed Systems', EU FET-GC IST-2001-32617}} - -\institute{ - Department of Computer Science\\ - University of Bologna\\ - Mura Anteo Zamboni 7, 40127 Bologna, ITALY\\ - \email{sacerdot@cs.unibo.it} - \and - Department of Computer Science\\ - \'Ecole Normale Sup\'erieure\\ - 45, Rue d'Ulm, F-75230 Paris Cedex 05, FRANCE\\ - \email{zack@cs.unibo.it} -} - -\date{ } - -\begin{document} -\sloppy -\maketitle - -\begin{abstract} - We present a planning broker and several Web-Services for automatic deduction. - Each Web-Service implements one of the tactics usually available in - interactive proof-assistants. When the broker is submitted a ``proof status'' - (an incomplete proof tree and a focus on an open goal) it dispatches the proof - to the Web-Services, collects the successful results, and send them back to - the client as ``hints'' as soon as they are available. - - In our experience this architecture turns out to be helpful both for - experienced users (who can take benefit of distributing heavy computations) - and beginners (who can learn from it). -\end{abstract} - -\section{Introduction} - The \ws{} approach at software development seems to be a working solution for - getting rid of a wide range of incompatibilities between communicating - software applications. W3C's efforts in standardizing related technologies - grant longevity and implementations availability for frameworks based on - \wss{} for information exchange. As a direct consequence, the number of such - frameworks is increasing and the World Wide Web is moving from a disorganized - repository of human-understandable HTML documents to a disorganized repository - of applications working on machine-understandable XML documents both for input - and output. - - The big challenge for the next future is to provide stable and reliable - services over this disorganized, unreliable, and ever-evolving architecture. - The standard solution is to provide a further level of stable services (called - \emph{brokers}) that behave as common gateways/addresses for client - applications to access a wide variety of services and abstract over them. - - Since the \emph{Declaration of Linz}, the MONET - Consortium\footnote{\url{http://monet.nag.co.uk/cocoon/monet/index.html}} - is working on the development of a framework, based on the - \wss{}/brokers approach, aimed at providing a set of software tools for the - advertisement and the discovery of mathematical \wss{}. - %CSC This framework turns out to be strongly based on both \wss{} and brokers. - - Several groups have already developed software bus and - services\footnote{The most part of these systems predate the development of - \wss. Those systems whose development is still active are slowly being - reimplemented as \wss.} providing both computational and reasoning - capabilities \cite{ws1,ws2,ws3,ws4}: the first ones are implemented on top of - Computer Algebra Systems; the second ones provide interfaces to well-known - theorem provers. - Proof-planners, proof-assistants, CASs and - domain-specific problem solvers are natural candidates to be clients of these - services. Nevertheless, so far the number of examples in the literature has - been insufficient to fully assess the concrete benefits of the framework. - - In this paper we present an architecture, namely \hbugs{}, implementing a - \emph{suggestion engine} for the proof assistant developed on behalf of the - \helm{}\footnote{Hypertextual Electronic Library of Mathematics, - \url{http://helm.cs.unibo.it}} project - \cite{helm}. We provide several \wss{} (called \emph{tutors}) able to - suggest possible ways to proceed in a proof. The tutors are orchestrated - by a broker (a \ws{} itself) that is able to dispatch a proof - status from a client (the proof-assistant) to the tutors; - each tutor tries to make progress in the proof and, in case - of success, notifies the client that shows an \emph{hint} to the user. - The broker is an instance of the homonymous entity of the MONET framework. - The tutors are MONET services. Another \ws{} (which is not described in this - paper and which is called Getter \cite{zack}) is used to locate and download - mathematical entities; the Getter plays the role of the Mathematical Object - Manager of the MONET framework. - - A precursor of \hbugs{} is the \OmegaAnts{} project - \cite{omegaants1,omegaants2}, which provided similar functionalities to the - \Omegapp{} proof-planner \cite{omega}. The main architectural difference - between \hbugs{} and \OmegaAnts{} is that the latter is based on a - black-board architecture and it is not implemented using \wss{} and - brokers. - - In Sect. \ref{architecture} we present the architecture of \hbugs{}. - A usage session is shown in Sect. \ref{usage}. - Further implementation details are given in Sect. \ref{implementation}. - Sect. \ref{tutors} is an overview of the tutors that have been implemented. - As usual, the final section of this paper is devoted to conclusions and future works. - -\section{An \hbugs{} Bird's Eye View} -\label{architecture} - \myincludegraphics{arch}{t}{8cm}{\hbugs{} architecture}{\hbugs{} architecture} - - The \hbugs{} architecture (depicted in Fig. \ref{arch}) is based on three - different kinds of actors: \emph{clients}, \emph{brokers}, and \emph{tutors}. - Each actor presents one or more \ws{} interfaces to its neighbors \hbugs{} - actors. - - In this section we detail the role and requirements of each kind of - actors and we discuss about the correspondences between them and the MONET - entities described in \cite{MONET-Overview}. - Due to lack of space, we cannot compare our framework to similar proposals, as - the older and more advanced \Omegapp{} system. The study of the - correspondences with MONET is well motivated by the fact that the MONET - framework is still under development and that our implementation is one of the - first experiments in \ws based distributed reasoning. On the other hand, a - comparison with \Omegapp{} would be less interesting since the functionalities we - provide so far are just a subset of the \OmegaAnts{} ones. - - \paragraph{Clients} - An \hbugs{} client is a software component able to produce \emph{proof - status} and to consume \emph{hints}. - - A proof status is a representation of an incomplete proof and is supposed to - be informative enough to be used by an interactive proof assistant. No - additional requirements exist on the proof status, but there should be an - agreement on its format between clients and tutors. A hint is an - encoding of a step that can be performed in order to proceed in an - incomplete proof. Usually it represents a reference to a tactic available - on some proof assistant along with an instantiation for its formal - parameters. Hints can also be more structured: a hint can be - as complex as a whole proof-plan. - - Using W3C's terminology \cite{ws-glossary}, clients act both as \ws{} - providers and requesters, see Fig. \ref{interfaces}. - They act as providers receiving hints from the broker; they act as - requesters submitting new status to the tutors. - Clients additionally use broker services to know which tutors are available - and to subscribe to one or more of them. - - Usually, when the client role is taken by an interactive proof assistant, - new status are sent to the broker as soon as the proof change (e.g. when the - user applies a tactic or when a new proof is started); hints are shown to - the user by the means of some effects in the user interface (e.g. popping a - dialog box or enlightening a tactic button). - - \hbugs{} clients act as MONET clients and ask brokers to provide access to a - set of services (the tutors). \hbugs{} has no actors corresponding to - MONET's Broker Locating Service (since the client is supposed to know the - URI of at least one broker). The \hbugs{} clients and tutors contact the - Getter (a MONET Mathematical Object Manager) to locate and retrieve - mathematical items from the \helm{} library. - The proof status that are exchanged - by the \hbugs{} actors, instead, are built on the fly and are neither - stored nor given an unique identifier (URI) to be managed by the - Getter. - - \paragraph{Brokers} - \myincludegraphics{interfaces}{t!}{10cm}{\hbugs{} \wss{} interfaces} - {\hbugs{} \wss{} interfaces} - - Brokers are the key actors of the \hbugs{} architecture since they - act as intermediaries between clients and tutors. They behave as \wss{} - providers and requesters for \emph{both} clients and tutors, see Fig. - \ref{interfaces}. - - With respect to the client, a broker acts as a \ws{} provider, receiving the - proof status and forwarding it to one or more tutors. - It also acts as a \ws{} requester sending - hints to the client as soon as they are available from the tutors. - - With respect to the tutors, the \ws{} provider role is accomplished by - receiving hints as soon as they are produced; as a requester, it is - accomplished by asking for computations (\emph{musings} in \hbugs{} - terminology) on status received by clients and by stopping already late but - still ongoing \musings{}. - - Additionally brokers keep track of available tutors and clients - subscriptions. - - \hbugs{} brokers act as MONET brokers implementing the following components: - Client Manager, Service Registry Manager (keeping track of available - tutors), Planning Manager (choosing the available tutors among the ones to - which the client is subscribed), Execution Manager. The Service Manager - component is not required since the session handler, that identifies - a session between a service and a broker, is provided to the service by - the broker instead of being received from the service when the session is - initialized. In particular, a session is identified by an unique identifier - for the client (its URL) and an unique identifier for the broker (its - URL). - - Notice that \hbugs{} brokers have no knowledge of the domain area of - proof-assistants, nor they are able to interpret the messages that they - are forwarding. They are indeed only in charge of maintaining the - abstraction of several reasoning blackboards --- one for each client --- - of capacity one: a blackboard is created when the client submits a problem; - it is then ``shared'' by the client and all the tutors until the client - submits the next problem. For instance, replacing the client with a CAS and - all the tutors with agents implementing different resolution methods for - differential equations would not require any change in the broker. Notice - that all the tutors must expose the same interface to the broker. - - The MONET architecture specification does not state explicitly whether the - service and broker answers can be asynchronous. Nevertheless, the - described information flow implicitly suggests a synchronous implementation. - On the contrary, in \hbugs{} every request is asynchronous: the connection - used by an actor to issue a query is immediately closed; when a service - produces an answer, it gives it back to the issuer by calling the - appropriate actor's method. - - \paragraph{Tutors} - Tutors are software components able to consume proof status producing hints. - \hbugs{} does not specify by which means hints should be produced: tutors - can use any means necessary (heuristics, external theorem prover or CAS, - etc.). The only requirement is that there exists an agreement on the formats - of proof status and hints. - - Tutors act both as \ws{} providers and requesters for the broker, see Fig. - \ref{interfaces}. As - providers, they wait for commands requesting to start a new \musing{} on - a given proof status or to stop an old, out of date, \musing{}. As - requesters, they signal to the broker the end of a \musing{} along with its - outcome (a hint in case of success or a failure notification). - - \hbugs{} tutors act as MONET services. - -\section{An \hbugs{} Session Example} -\label{usage} -In this section we describe a typical \hbugs{} session. The aim of the -session is to solve the following easy exercise: -\begin{exercise} -Let $x$ be a generic real number. Using the \helm{} proof-engine, -prove that -\begin{displaymath} -x = \frac{(x+1)*(x+1) - 1 - x*x}{2} -\end{displaymath} -\end{exercise} - -Let us suppose that the \hbugs{} broker is already running and that the -tutors already registered themselves to the broker. -When the user starts our proof-engine \texttt{gTopLevel}, the system registers itself to -the broker, that sends back the list of available tutors. By default, -\texttt{gTopLevel} notifies to the broker its intention of subscribing to every -tutor available. The user can always open a configuration window where she -is presented the list of available tutors and she can independently subscribe -and unsubscribe herself to each tutor. - -\myincludegraphics{step1}{t}{12cm}{Example session.} - {Example session.} -%\myincludegraphics{step2}{t}{4cm}{Example session, snapshot 2.} -% {Example session, snapshot 2.} - -The user can now insert into the system the statement of the theorem and start -proving it. Let us suppose that the first step of the user is proving -that the denominator 2 is different from 0. Once that this technical result -is proven, the user must prove the goal shown in the upper right corner -of the window in background in Fig. \ref{step1}. - -While the user is wondering how to proceed in the proof, the tutors are -trying to progress in the proof. After a while, the tutors' suggestions -start to appear in the lower part of the \hbugs{} interface window -(the topmost window in Fig. \ref{step1}). In this case, the tutors are able -to produce 23 hints. The first and not very useful hint suggests to proceed in -the proof by exchanging the two sides of the equality. -The second hint suggests to reduce both sides of the equality to their normal -form by using only reductions which are justified by the ring structure of the -real numbers; the two normal forms, though, are so different that the proof is -not really simplified. -All the residual 21 hints suggest to apply one lemma from the distributed -library of \helm{}. The user can look at the statement of any lemma by clicking -on its URI. - -The user can now look at the list of suggestions and realize that a good one is -applying the lemma \texttt{r\_Rmult\_mult} that allows to multiply both equality -members by the same scalar\footnote{Even if she does not receive the hint, the -user probably already knows that this is the right way to proceed. The -difficult part, accomplished by the hint, is guessing what is the name of the -lemma to apply.}. -Double-clicking on the hint automatically applies -the lemma, reducing the proof to closing three new goals. The first one asks -the user the scalar to use as an argument of the previous lemma; the second -one states that the scalar is different from 0; the third lemma (the main -one) asks to prove the equality between the two new members. -% is shown in Fig. \ref{step2} where $?_3[H;x]$ stands for -% the still unknown scalar argument, which can have only $H$ and $x$ as -% free variables. - -The user proceeds by instantiating the scalar with the number 2. The -\texttt{Assumption} tutor now suggests to close the second goal (that -states that $2 \neq 0$) by applying the hypothesis $H$. -No useful suggestions, instead, are generated for the main goal -$2*x = 2*((x+1)*(x+1)-1-x*x)*2^{-1}$. -To proceed in the proof the user needs to simplify the -expression using the lemma $Rinv\_r\_simpl\_m$ that states that -$\forall x,y.\;y = x * y * x^{-1}$. Since we do not provide yet any tutor -suggesting simplifications, the user must find out this simplification by -himself. Once she founds it, the goal is reduced to proving that -$2*x = (x+1)*(x+1) - 1 - x*x$. This equality is easily solved by the -\texttt{Ring} tutor, that suggests\footnote{The \texttt{Ring} suggestion is -just one of the 22 hints that the user receives. It is the only hint that -does not open new goals, but the user right now does not have any way to know -that.} to the user how to complete the proof in one macrostep. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Comandi da dare a gTopLevel % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% New proof: -% !x.(not (eqT ? (Rplus R1 R1) R0)) -> (eqT ? x (Rdiv (Rminus (Rminus (Rmult (Rplus x R1) (Rplus x R1)) R1) (Rmult x x)) (Rplus R1 R1))) -% Intros x H -% Apply r_Rmult_mult -% 3: Apply H -% Simpl (per fare unfold di Rdiv) -% Rewrite <- -% (Rmult_assoc (Rplus R1 R1) (Rplus (Rplus (Rmult (Rplus x R1) (Rplus x R1)) (Ropp R1)) (Ropp (Rmult x x))) (Rinv (Rplus R1 R1))) -% Rewrite -> -% (Rinv_r_simpl_m (Rplus R1 R1) (Rplus (Rplus (Rmult (Rplus x R1) (Rplus x R1)) (Ropp R1)) (Ropp (Rmult x x))) H) -% *** Ring -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\section{Implementation's Highlights} -\label{implementation} -In this section we present some of the most relevant implementation details of -the \hbugs{} architecture. - - - \paragraph{Proof status} - In our implementation of the \hbugs{} architecture we used the proof - assistant of the \helm{} project (codename \texttt{gTopLevel}) as an \hbugs{} - client. Thus we have implemented serialization/deserialization capabilities - for its internal status. In order to be able to describe \wss{} that - exchange status in WSDL using the XML Schema type system, we have chosen an - XML format as the target format for the serialization. - -% A schematic representation of the gTopLevel internal status is depicted in -% Fig. \ref{status}. - Each proof is represented by a tuple of four elements: - \emph{uri}, \emph{metasenv}, \emph{proof}, \emph{thesis}. - -% \myincludegraphics{status}{t}{8cm}{gTopLevel proof status}{gTopLevel proof -% status} - - \begin{description} - \item[uri]: an URI chosen by the user at the beginning of the proof - process. Once (and if) proved, that URI will globally identify the term - inside the \helm{} library (given that the user decides to save it). - \item[thesis]: the ongoing proof thesis - \item[proof]: the current incomplete proof tree. It can contain - \emph{metavariables} (holes) that stands for the parts of the proof - that are still to be completed. Each metavariable appearing in the - tree references one element of the metavariables environment - (\emph{metasenv}). - \item[metasenv]: the metavariables environment is a list of - \emph{goals} (unproved conjectures). - In order to complete the proof, the user has to instantiate every - metavariable in the proof with a proof of the corresponding goal. - Each goal is identified by an unique identifier and has a context - and a type (the goal thesis). The context is a list of named - hypotheses (declarations and definitions). Thus the context and the goal - thesis form a sequent, which is the statement of the proof that will - be used to instantiate the metavariable occurrences. - \end{description} - - Each of these information is represented in XML as described in - \cite{mowglicic}. Additionally, an \hbugs{} status carries the unique - identifier of the current goal, which is the goal the user is currently - focused on. Using this value it is possible to implement different client - side strategies: the user could ask the tutors to work on the goal - she is considering or to work on the other ``background'' goals. - - \paragraph{Hints} - A hint in the \hbugs{} architecture should carry enough information to - permit the client to progress in the current proof. In our - implementation each hint corresponds to either one of the tactics available - to the user in gTopLevel (together with its actual arguments) or a set - of alternative suggestions (a list of hints). - - For tactics that do not require any particular argument (like tactics that - apply type constructors or decision procedures) - only the tactic name is represented in the hint. For tactics that need - terms as arguments (for example the \texttt{Apply} tactic that apply a - given lemma) the hint includes a textual representation of them, using the - same representation used by the interactive proof assistant when querying - user for terms. In order to be transmitted between \wss{}, hints are - serialized in XML. - - It is also possible for a tutor to return more hints at once, - grouping them in a particular XML element. - This feature turns out to be particularly useful for the - \emph{searchPatternApply} tutor (see Sect. \ref{tutors}) that - queries a lemma database and returns to the client a list of all lemmas that - could be used to complete the proof. This particular hint is encoded as a - list of \texttt{Apply} hints, each of them having one of the results as term - argument. - - We would like to stress that the \hbugs{} architecture has no dependency - on either the hint or the status representation: the only message parts - that are fixed are those representing the administrative messages - (the envelopes in the \wss{} terminology). In particular, the broker can - manage at the same time several sessions working on different status/hints - formats. Of course, there must be an agreement between the clients - and the tutors on the format of the data exchanged. - - In our implementation the client does not trust the tutors hints: - being encoded as references to available tactics imply - that an \hbugs{} client, at the receipt of a hint, simply try to replay - the work - done by a tutor on the local copy of the proof. The application of the hint - can even fail to type check and the client copy of the proof can be left - undamaged after spotting the error. Note, however, that it is still - possible to implement a complex tutor that looks for a proof doing - backtracking and that - send back to the client a hint whose argument is a witness (a trace) of - the proof found: the client applies the hint reconstructing (and checking - the correctness of) the proof from the witness, without having to - re-discover the proof itself. - - An alternative implementation where the tutors are trusted would simply - send back to the client a new proof-status. Upon receiving the - proof-status, the client would just override its current proof status with - the suggested one. In the case of those clients which are implemented - using proof-objects (as the Coq proof-assistant, for instance), it is - still possible for the client to type-check the proof-object and reject - wrong hints. The systems that are not based on proof-objects - (as PVS, NuPRL, etc.), instead, must completely trust the new proof-status. - In this case the \hbugs{} architecture would need at least to be extended - with clients-tutors authentication. - - \paragraph{Registries} - Being central in the \hbugs{} architecture, the broker is also responsible - of housekeeping operations both for clients and tutors. These operations are - implemented using three different data structures called \emph{registries}: - clients registry, tutors registry and \musings{} registry. - - In order to use the suggestion engine a client should register itself to the - broker and subscribe to one or more tutors. The registration phase is - triggered by the client using the \texttt{Register\_client} method of the - broker to send him an unique identifier and its base URI as a \ws{}. After - the registration, the client can use the \texttt{List\_tutors} method of the - broker to get a list of available tutors. Eventually the client can - subscribe to one or more of these using the \texttt{Subscribe} method of the - broker. Clients can also unregister from brokers using - \texttt{Unregister\_client} method. - - The broker keeps track of both registered clients and clients' subscriptions - in the clients registry. - - In order to be advertised to clients during the subscription phase, tutors - should register to the broker using the \texttt{Register\_tutor} method of - the broker. This method is really similar to \texttt{Register\_client}: - tutors are required to send an unique identifier and a base URI for their - \ws{}. - Additionally tutors are required to send an human readable description of - their capabilities; this information could be used by the client user to - decide which tutors she wants to subscribe to. As the clients, tutors can - unregister from brokers using \texttt{Unregister\_broker} method. - - Each time the client status changes, it get sent sent to the - broker using its \texttt{Status} method. Using both the clients registry (to - lookup the client's subscription) and the tutors registry (to check if some tutors - have unsubscribed), the broker is able to decide to which tutors the - new status have to be forwarded. -% \ednote{CSC: qui o nei lavori futuri parlare -% della possibilit\'a di avere un vero brocker che multiplexi le richieste -% dei client localizzando i servizi, etc.} - - The forwarding operation is performed using the \texttt{Start\_musing} - method of the tutors, that is a request to start a new computation - (\emph{\musing{}}) on a given status. The return value of - \texttt{Start\_musing} is a - \musing{} identifier that is saved in the \musings{} registry along with - the identifier of the client that triggered the \musing{}. - - As soon as a tutor completes an \musing{}, it informs the broker - using its \texttt{Musing\_completed} method; the broker can now remove the - \musing{} entry from the \musings{} registry and, depending on its outcome, - inform the client. In case of success one of the \texttt{Musing\_completed} - arguments is a hint to be sent to the client; otherwise there is no need to - inform him and the \texttt{Musing\_completed} method is called - just to update the \musings{} registry. - - Consulting the \musings{} registry, the broker is able to know, at each - time, which \musings{} are in execution on which tutor. This peculiarity is - exploited by the broker on invocation of the \texttt{Status} method. - Receiving a new status from the client implies indeed that the previous - status no longer exists and all \musings{} working on it should be stopped: - additionally to the already described behavior (i.e. starting new - \musings{} on the received status), the broker takes also care of stopping - ongoing computation invoking the \texttt{Stop\_musing} method of the tutors. - -%CASSATO -% \paragraph{\wss{}} -% As already discussed, all \hbugs{} actors act as \wss{} offering one or more -% services to neighbor actors. To grant as most accessibility as possible to -% our \wss{} we have chosen to bind them using the HTTP/POST\footnote{Given -% that our proof assistant was entirely developed in the Objective Caml -% language, we have chosen to develop also \hbugs{} in that language in order -% to maximize code reuse. To develop \wss{} in Objective Caml we have -% developed an auxiliary generic library (\emph{O'HTTP}) that can be used to -% write HTTP 1.1 Web servers and abstracts over GET/POST parsing. This library -% supports different kinds of Web servers architectures, including -% multi-process and multi-threaded ones.} bindings described in -% \cite{wsdlbindings}. - - \paragraph{Tutors} - Each tutor exposes a \ws{} interface and should be able to work, not only for - many different clients referring to a common broker, but also for many - different brokers. The potential high number of concurrent clients imposes - a multi-threaded or multi-process architecture. - - Our current implementation is based on a multi threaded architecture - exploiting the capabilities of the O'HTTP library \cite{zack}. Each tutor is - composed by one always running thread plus an additional thread for each - \musing{}. - One thread is devoted to listening for incoming \ws{} requests; when a - request is received the control is passed to a second thread, created on the - fly, that handle the incoming request (usual one-thread-per-request approach - in web servers design). - In particular if the received request is \texttt{Start\_musing}, a new thread is - spawned to handle it; the thread in duty to handle the HTTP request - returns an HTTP response containing the identifier of the just started - \texttt{musing}, and then dies. If the received request is - \texttt{Stop\_musing}, instead, the spawned thread kills the thread - responsible for the \texttt{musing} whose identifier is the argument - of the \texttt{Stop\_musing} method. - - This architecture turns out to be scalable and allows the running threads - to share the cache of loaded (and type-checked) theorems. - As we will explain in Sect. \ref{tutors}, this feature turns out to be - really useful for tactics that rely on a huge but fixed set of lemmas, - as every reflexive tactic. - - The implementation of a tutor within the described architecture is not that - difficult having a language with good threading capabilities (as OCaml has) - and a pool of already implemented tactics (as \texttt{gTopLevel} has). - Working with threads is known to be really error prone due to - concurrent programming intrinsic complexity. Moreover, there is a - non-neglectable part of code that needs to be duplicated in every tutor: - the code to register the tutor to the broker and to handle HTTP requests; - the code to manage the creation and termination of threads; and the code for - parsing the requests and serializing the answers. As a consequence we - have written a generic implementation of a tutor which is parameterized - over the code that actually proposes the hint and over some administrative - data (as the port the tutor will be listening to). - - The generic tutor skeleton is really helpful in writing new tutors. - Nevertheless, the code obtained by converting existing tactics into tutors - is still quite repetitive: every tutor that wraps a tactic has to - instantiate its own copy of the proof-engine kernel and, for each request, - it has to override its status, guess the tactic arguments, apply the tactic - and, in case of success, send back a hint with the tactic name and the - chosen arguments. Of course, the complex part of the work is guessing the - right arguments. For the simple case of tactics that do not require - any argument, though, we are able to automatically generate the whole - tutor code given the tactic name. Concretely, we have written a - tactic-based tutor template and a script that parses an XML file with - the specification of the tutor and generates the tutor's code. - The XML file describes the tutor's port, the code to invoke the tactic, - the hint that is sent back upon successful application and a - human readable explanation of the tactic implemented by the tutor. - -\section{The Implemented \hbugs Tutors} -\label{tutors} -To test the \hbugs{} architecture and to assess the utility of a suggestion -engine for the end user, we have implemented several tutors. In particular, -we have investigated three classes of tutors: -\begin{enumerate} - \item \emph{Tutors for beginners}. These are tutors that implement tactics - which are neither computationally expensive nor difficult to understand: - an expert user can always understand if the tactic can be applied or not - without having to try it. For example, the following implemented tutors - belong to this class: - \begin{itemize} - \item \emph{Assumption Tutor}: it ends the proof if the thesis is - equivalent\footnote{In our implementation, the equivalence relation - imposed by the logical framework is \emph{convertibility}. Two - expressions are convertible when they reduce to the same normal form. - Two ``equal'' terms depending on free variables can be non-convertible - since free variables stop the reduction. For example, $2x$ is convertible - with $(3-1)x$ because they both reduce to the same normal form - $x + x + 0$; but $2x$ is not convertible to $x2$ since the latter is - already in normal form.} - to one of the hypotheses\footnote{ - In some cases, especially when non-trivial computations are involved, - the user is totally unable to figure out the convertibility of two terms. - In these cases the tutor becomes handy also for expert users.}. - \item \emph{Contradiction Tutor}: it ends the proof by \emph{reductio ad - adsurdum} if one hypothesis is equivalent to $False$. - \item \emph{Symmetry Tutor}: if the goal thesis is an equality, it - suggests to apply the commutative property. - \item \emph{Left/Right/Exists/Split/Reflexivity/Constructor Tutors}: - the Constructor Tutor suggests to proceed in the proof by applying one - or more constructors when the goal thesis is an inductive type or a - proposition inductively defined according to the declarative - style\footnote{An example of a proposition that can be given in - declarative style is the $\le$ relation over natural numbers: - $\le$ is the smallest relation - such that $n \le n$ for every $n$ and $n \le m$ for every $n,m$ such - that $n \le p$ where $p$ is the predecessor of $m$. Thus, a proof - of $n \le n$ is simply the application of the first constructor to - $n$ and a proof of $n \le m$ is the application of the second - constructor to $n,m$ and a proof of $n \le m$.}. - Since disjunction, conjunction, existential quantification and - Leibniz equality are particular cases of inductive propositions, - all the other tutors of this class are instantiations of the - the Constructor tactic. Left and Right suggest to prove a disjunction - by proving its left/right member; Split reduces the proof of a - conjunction to the two proof of its members; Exists suggests to - prove an existential quantification by providing a - witness\footnote{This task is left to the user.}; Reflexivity proves - an equality whenever the two sides are convertible. - \end{itemize} - Beginners, when first faced with a tactic-based proof-assistant, get - lost quite soon since the set of tactics is large and their names and - semantics must be remembered by heart. Tutorials are provided to guide - the user step-by-step in a few proofs, suggesting the tactics that must - be used. We believe that our beginners tutors can provide an auxiliary - learning tool: after the tutorial, the user is not suddenly left alone - with the system, but she can experiment with variations of the exercises given - in the tutorial as much as she like, still getting useful suggestions. - Thus the user is allowed to focus on learning how to do a formal proof - instead of wasting efforts trying to remember the interface to the system. - \item \emph{Tutors for Computationally Expensive Tactics}. Several tactics have - an unpredictable behavior, in the sense that it is unfeasible to understand - whether they will succeed or they will fail when applied and what will be - their result. Among them, there are several tactics either computationally - expensive or resource consuming. In the first case, the user is not - willing to try a tactic and wait for a long time just to understand its - outcome: she would prefer to keep on concentrating on the proof and - have the tactic applied in background and receive out-of-band notification - of its success. The second case is similar, but the tactic application must - be performed on a remote machine to avoid overloading the user host - with several concurrent resource consuming applications. - - Finally, several complex tactics and in particular all the tactics based - on reflexive techniques depend on a pretty large set of definitions, lemmas - and theorems. When these tactics are applied, the system needs to retrieve - and load all the lemmas. Pre-loading all the material needed by every - tactic can quickly lead to long initialization times and to large memory - footstamps. A specialized tutor running on a remote machine, instead, - can easily pre-load the required theorems. - - As an example of computationally expensive task, we have implemented - a tutor for the \emph{Ring} tactic \cite{ringboutin}. - The tutor is able to prove an equality over a ring by reducing both members - to a common normal form. The reduction, which may require some time in - complex cases, - is based on the usual commutative, associative and neutral element properties - of a ring. The tactic is implemented using a reflexive technique, which - means that the reduction trace is not stored in the proof-object itself: - the type-checker is able to perform the reduction on-the-fly thanks to - the conversion rules of the system. As a consequence, in the library there - must be stored both the algorithm used for the reduction and the proof of - correctness of the algorithm, based on the ring axioms. This big proof - and all of its lemmas must be retrieved and loaded in order to apply the - tactic. The Ring tutor loads and caches all the required theorems the - first time it is contacted. - \item \emph{Intelligent Tutors}. Expert users can already benefit from the previous - class of tutors. Nevertheless, to achieve a significative production gain, - they need more intelligent tutors implementing domain-specific theorem - provers or able to perform complex computations. These tutors are not just - plain implementations of tactics or decision procedures, but can be - more complex software agents interacting with third-parties software, - such as proof-planners, CAS or theorem-provers. - - To test the productivity impact of intelligent tutors, we have implemented - a tutor that is interfaced with the \helm{} - Search-Engine\footnote{\url{http://helm.cs.unibo.it/library.html}} and that - is able to look for every theorem in the distributed library that can - be applied to proceed in the proof. Even if the tutor deductive power - is extremely limited\footnote{We do not attempt to check if the new goals - obtained applying a lemma can be automatically proved or, even better, - automatically disproved to reject the lemma.}, it is not unusual for - the tutor to come up with precious hints that can save several minutes of - work that would be spent in proving again already proven results or - figuring out where the lemmas could have been stored in the library. -\end{enumerate} - -\section{Conclusions and Future Work} -\label{conclusions} - In this paper we described a suggestion engine architecture for - proof-assistants: the client (a proof-assistant) sends the current proof - status to several distributed \wss{} (called tutors) that try to progress - in the proof and, in case of success, send back an appropriate hint - (a proof-plan) to the user. The user, that in the meantime was able to - reason and progress in the proof, is notified with the hints and can decide - to apply or ignore them. A broker is provided to decouple the clients and - the tutors and to allow the client to locate and invoke the available remote - services. The whole architecture is an instance of the MONET architecture - for Mathematical \wss{}. It constitutes a reimplementation of the core - features of the pioneering \OmegaAnts{} system in the new \wss{} - framework. - - A running prototype has been implemented as part of the - \helm{} project \cite{helm} - and we already provide several tutors. Some of them are simple tutors that - try to apply one or more tactics of the \helm{} Proof-Engine, which is also - our client. We also have a much more complex tutor that is interfaced - with the \helm{} Search-Engine and looks for lemmas that can be directly - applied. - - Future works comprise the implementation of new features and tutors, and - the embedding of the system in larger test cases. For instance, one - interesting case study would be interfacing a CAS as Maple to the - \hbugs{} broker, developing at the same time a tutor that implements the - Field tactic of Coq, which proves the equality of two expressions in an - abstract field by reducing both members to the same normal form. CASs can - produce several compact normal forms, which are particularly informative - to the user and that may suggest how to proceed in a proof. Unfortunately, - CASs do not - provide any certificate about the correctness of the simplification. On - the contrary, the Field tactic certifies the equality of two expressions, - but produces normal forms that are hardly a simplification of the original - formula. The benefits for the CAS would be obtained by using the Field tutor - to certify the CAS simplifications, proving that the Field normal form - of an expression is preserved by the simplification. - More advanced tutors could exploit the CAS to reduce the - goal to compact normal forms \cite{maplemodeforCoq}, making the Field tutor - certify the simplification according to the skeptical approach. - - We have many plans for further developing both the \hbugs{} architecture and - our prototype. Interesting results could be obtained - augmenting the informative content of each suggestion. We can for example - modify the broker so that also negative results are sent back to the client. - Those negative suggestions could be reflected in the user interface by - deactivating commands to narrow the choice of tactics available to the user. - This approach could be interesting especially for novice users, but requires - the client to increase their level of trust in the other actors. - - We plan also to add some rating mechanism to the architecture. A first - improvement in this direction could be distinguishing between hints that, when - applied, are able to completely close one or more goals, and - tactics that progress in the proof by reducing one or more goals to new goals: - since the new goals can be false, the user can be forced later on to - backtrack. - - Other heuristics and or measures could be added to rate - hints and show them to the user in a particular order: an interesting one - could be a measure that try to minimize the size of the generated proof, - privileging therefore non-overkilling solutions \cite{ring}. - - We are also considering to follow the \OmegaAnts{} path adding - ``recursion'' to the system so that the proof status resulting from the - application of old hints are cached somewhere and could be used as a starting - point for new hint searches. The approach is interesting, but it represents - a big shift towards automatic theorem proving: thus we must consider if it is - worth the effort given the increasing availability of automation in proof - assistants tactics and the ongoing development of \wss{} based on - already existent and well developed theorem provers. - - Even if not strictly part of the \hbugs{} architecture, the graphical user - interface (GUI) of our prototype needs a lot of improvement if we want - it to be really usable by novices. In particular, a critical issue - is avoiding continuous distractions for the user determined by the hints - that are asynchronously pushed to her. - - Our \wss{} still lack a real integration in the MONET architecture, - since we do not provide the different ontologies to describe our problems, - solutions, queries, and services. In the short term, completing this task - could provide a significative feedback to the MONET consortium and would - enlarge the current set of available MONET actors on the Web. In the long - term, new more intelligent tutors could be developed on top of already - existent MONET \wss{}. - - To conclude, \hbugs{} is a nice experiment meant to understand whether the - current \wss{} technology is mature enough to have a concrete and useful - impact on the daily work of proof-assistants users. So far, only the tutor - that is interfaced with the \helm{} Search-Engine has effectively increased - the productivity of experts users. The usefulness of the tutors developed for - beginners, instead, need further assessment. - -\begin{thebibliography}{01} - -\bibitem{ws-glossary} Web Services Glossary, W3C Working Draft, 14 May 2003.\\ - \url{http://www.w3.org/TR/2003/WD-ws-gloss-20030514/} - -\bibitem{wsdlbindings} Web Services Description Language (WSDL) - Version 1.2: Bindings, W3C Working Draft, 24 January 2003.\\ - \url{http://www.w3.org/TR/wsdl12-bindings/} - -\bibitem{ws1}A. Armando, D. Zini. Interfacing Computer Algebra and - Deduction Systems via the Logic Broker Architecture. In Proceedings - of the Eighth Calculemus symphosium, St. Andrews, Scotland, 6--7 August 2000. - -\bibitem{ws2} O. Caprotti. Symbolic Evaluator Service. Project Report of - the MathBrocker Project, RISC-Linz, Johannes Kepler University, Linz, - Austria, May 2002. - -\bibitem{helm} A. Asperti, F. Guidi, L. Padovani, C. Sacerdoti Coen, I. Schena. - Mathematical Knowledge Management in HELM. In Annals of Mathematics and - Artificial Intelligence, 38(1): 27--46, May 2003. - -\bibitem{omegaants1} C. Benzm\"uller, V. Sorge. O-Ants -- An Open Approach - at Combining Interactive and Automated Theorem Proving. In M. Kerber and - M. Kohlhase (eds.), Integration of Symbolic and Mechanized Reasoning, pp. - 81--97, 2000. - -\bibitem{omegaants2} C. Benzm\"uller, M. Jamnik, M. Kerber, V. Sorge. - Agent-based Mathematical Reasoning. In A. Armando and T. Jebelean (eds.), - Electronic Notes in Theoretical Computer Science, (1999) 23(3), Elsevier. - -\bibitem{omega} C. Benzm\"uller, L. Cheikhrouhou, D. Fehrer, A. Fiedler, - X. Huang, M. Kerber, M. Kohlhase, K. Konrad, E. Melis, A. Meier, - W. Schaarschmidt, J. Siekmann, V. Sorge. OMEGA: Towards a Mathematical - Assistant. In W. McCune (ed), Proceedings of the 14th Conference on - Automated Deduction (CADE-14), Springer LNAI vol. 1249, pp. 252--255, - Townsville, Australia, 1997. - -\bibitem{ringboutin} S. Boutin. Using reflection to build efficient and - certified decision procedures. In Martin Abadi and Takahashi Ito, editors, - TACS'97, volume 1281. LNCS, Springer-Verlag, 1997. - -\bibitem{maplemodeforCoq} David Delahaye, Micaela Mayero. - A Maple Mode for Coq. Contribution to the Coq library.\\ - \url{htpp://coq.inria.fr/contribs/MapleMode.html} - -\bibitem{MONET-Overview} The MONET Consortium, MONET Architecture Overview, - Public Deliverable D04 of the MONET Project.\\ - \url{http://monet.nag.co.uk/cocoon/monet/publicsdocs/monet-overview.pdf} - -\bibitem{mowglicic} C. Sacerdoti Coen. Exportation Module, MoWGLI Deliverable - D2.a.\\ - \url{http://mowgli.cs.unibo.it/html\_no\_frames/deliverables/transformation/d2a.html} - -\bibitem{ring} C. Sacerdoti Coen. Tactics in Modern Proof-Assistants: the - Bad Habit of Overkilling. In Supplementary Proceedings of the 14th - International Conference TPHOLS 2001, pp. 352--367, Edinburgh. - -\bibitem{zack} S. Zacchiroli. \emph{Web services per il supporto alla - dimostrazione interattiva}, Master Thesis, University of Bologna, 2002. - -\bibitem{ws3} J. Zimmer and M. Kohlhase. System Description: The MathWeb - Software Bus for Distributed Mathematical Reasoning. - In Proceedings of the 18th International Conference on Automated Deduction - CADE 18, LNAI 2392, Springer Verlag, 2002. - -\bibitem{ws4} R. Zippel. The MathBus. In Workshop on Internet Accessible - Mathematical Computation at ISSAC'99, Vancouver, Canada, July 28--31, 1999. - -\end{thebibliography} - -\end{document} diff --git a/helm/papers/calculemus-2003/llncs.cls b/helm/papers/calculemus-2003/llncs.cls deleted file mode 100644 index df98f8af5..000000000 --- a/helm/papers/calculemus-2003/llncs.cls +++ /dev/null @@ -1,1015 +0,0 @@ -% LLNCS DOCUMENT CLASS -- version 2.8 -% for LaTeX2e -% -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesClass{llncs}[2000/05/16 v2.8 -^^JLaTeX 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} - -\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} - -% 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 \@pnumwidth - \parfillskip -\@pnumwidth - \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 - \parfillskip -\@tocrmarg - \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} - -\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} -\def\andname{and} -\def\lastandname{\unskip, and} -\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 - \else - \setcounter{footnote}{\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}}{}} -\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 - \addtocontents{toc}{{\protect\raggedright\protect\leftskip15\p@ - \protect\rightskip\@tocrmarg - \protect\itshape\toc@uthor\protect\endgraf}}% - \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}{0}% - \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}% - {\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} -\renewcommand{\abstractname}{Abstract.} -\renewcommand{\contentsname}{Table of Contents} -\renewcommand{\figurename}{Fig.} -\renewcommand{\tablename}{Table} - -\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 diff --git a/helm/papers/calculemus-2003/outline.txt b/helm/papers/calculemus-2003/outline.txt deleted file mode 100644 index 55cb826ce..000000000 --- a/helm/papers/calculemus-2003/outline.txt +++ /dev/null @@ -1,48 +0,0 @@ -1) Zack, CSC - Introduzione - - web services - - monet - - svariati WS per CAS e TP - - proof assistant - - bassa automazione - - application centric no client/server - ==>> proof assistants come WS client - - omega ants -2) Zack - Architettura - - figura 7.1 mia tesi - - attori (client, broker, tutor) - - ruoli e funzionalita' di ognuno di essi (breve) - - mapping con gli attori di monet -3) Zack - Dettagli Implementativi - - codifica dello stato - - codifica dei suggerimenti - - registry del broker - - implementazione dei ws - - implementazione dei tutor (gen. automatica, thread) -4) CSC - Sample session - - screen shot -5) CSC - Tutor implementati - - stupidi - - (1-1) con le tattiche del proof assistant - - generazione automatica - - searchPatternApply -6) Conclusioni e sviluppi futuri - - success story (gTopLevel) - - tattiche pesanti - ==>> distribuzione - - scelta troppo larga per i neofiti - ==>> suggerimenti - - utile per power user (distribuzione) - - utili per newbie (apprendimento) - - sviluppi futuri - - recursion? - - rating dei risultati - - risposte negative (disabilitare tattiche) - - blackboard? - - GUI - - descrizione monet - - uso di Mathematical Object Manager diff --git a/helm/papers/calculemus-2003/referaggio_hbugs.txt b/helm/papers/calculemus-2003/referaggio_hbugs.txt deleted file mode 100644 index 8899c4ea2..000000000 --- a/helm/papers/calculemus-2003/referaggio_hbugs.txt +++ /dev/null @@ -1,253 +0,0 @@ -Dear Claudio Sacerdoti Coen, - -Thank you for your submission to Calculemus 2003. We are pleased to inform -you that your paper, titled - -Brokers and Web-Services for Automatic Deduction: a Case Study - -has been accepted as a full paper for publication in the Proceedings. -Papers went through a rigorous reviewing process. Each paper was -reviewed by at least three program committee members and was discussed -at the program committee meeting. - -Full papers are limited to 12 pages. Your camera-ready paper is due on July -15, 2003. In order to help you to prepare your final paper, you will find -bellow the referees' report on your paper, - -To submit your paper, revisit the Calculemus 2003 submission site at - -http://www-calfor.lip6.fr/home/rr/public_html/Calculemus03/submit/submit/ - -go to step 3, and use the login name and password that you received for -submiting the abstract and paper - -You will need to submit both a file containing the source(s) and a final file -in pdf or postscript format. - -In the following reports "A" means strong accept, "B" means weak accept,"C" -means weak reject and "D" means strong reject. As of reviewers "X" means -expert, "Y" means knowledgeable and "Z" means informed outsider. - -We remind you that a special issue of the London Mathematical Journal -dedicated to Calculemus 2003 will have a deadline around november. - -Congratulations on having your paper accepted. We look forward to -seeing you in Roma. - -Sincerely, - -Therese Hardin, Renaud Rioboo -Calculemus 2003 PC Chairs - ----------- -Version number: 2 -Paper number: 12 -Reviewer number: XX -1 - Classification: A -2 - Your overall expertise on the areas of this paper: X -3 - Contribution type: both a research paper and an experience report. -4 - Summary of the paper: ------------------------------------------------------------------------------- - -The paper presents a collection of web services each implementing an automated -deduction tactic. The services are coordinated by a broker able dispatch a -proof status and collect hints back from the services. This architecture has -been implemented in H-Bugs, an environment for supporting proof development. - ------------------------------------------------------------------------------- -6 - Comments for the author(s): ------------------------------------------------------------------------------- - -The topic of the paper is quite interesting: a shift from user-oriented -software development to a web-service oriented software is probably on its way -and will naturally occur. For the Calculemus core goal of integrating -mechanized reasoning and symbolic computation, this shift is very important -because it will provide off-the-shelf methods that can be used to improve the -problem solving activity (whether it is computing or proving). Your list of -potential clients to these services (on page 2) gives a glance into this -vision. I rated the paper with the full accept because the topic is important -for Calculemus but I think the paper needs careful revision. I strongly -encourage you to elaborate the paper including a short session on how you -envision using the services from outside of H-Bugs, even outside of a -proof-assistant environment if possible. - -Also you should discuss how to integrate into H-Bugs for instance a computer -algebra package as tutor for ring simplification or for computing witnesses... - - - ------------------------------------------------------------------------------- - -7 - Points in favour or against: ------------------------------------------------------------------------------- -Comments: - -You compare H-Bugs to the MONET architecture, why? Please shortly give a -motivation. One may wonder why not comparing to Omega instead. As you notice -in the conclusion, the lack of ontologies to describe the the problems solved -by your services confine these services to the H-Bug broker. Also, the -registration aspect seems quite different. In my understanding, this broker -is a a very specialized planner in MONET terminology: it has internal -knowledge of the domain area of proof assistants (it knows the formats of -proof status and hints). The all architecture of H-Bugs has certain aspects -that can be identified in the MONET architecture but it lacks the generality. -About the broker, in w3c terminology one has connectors, components and -gateways, wouldn't you say that the broker is a gateway? Sessions 2 and 4 are -too long, there are many repetitions. - - -Page 9, do all tutors have the same interface? This is quite a uniform -environment, which is not typical of a web service architecture. All the -H-Bugs brokers provide a uniform H-Bugs broker interface. - -Page 12: in the Calculemus tradition, intelligent tutors like CAS can be -integrated with a skeptical approach. You must check former Calculemus -proceedings for references. - -English: lots of errors in the third-person conjugation of verbs (missing s), -please correct them - I will not list all of them. Try to have a native -English speaker read the paper. - -Use Section instead of Sect. - On receipt of an hint -> Upon receival of a hint - An hint -> A hint (everywhere!) - An usage -> A usage (check www.bartleby.com/64) - reply the work -> replay/replicate? the work - ------------------------------------------------------------------------------- -Version number: 5 -Paper number: 12 -Reviewer number: XX -1 - Classification: C -2 - Your overall expertise on the areas of this paper: X -3 - Contribution type: an experience report. -4 - Summary of the paper: ------------------------------------------------------------------------------- -The paper presents the system H-Bugs which consists of a (MONET-)broker and -several (MONET-)web-services supporting the generation of hints in interactive -theorem proving. The motivation of H-Bugs and its functionalities are very -closely related to the O-Ants framework developed in Saarbruecken and -Birmingham; the authors call O-Ants a precursor of their system. ------------------------------------------------------------------------------- -6 - Comments for the author(s): ------------------------------------------------------------------------------- -It appears very interesting and useful to adapt the O-Ants approach to -the MONET web-services/brokers framework. The work presented in this paper, -however, is still in a preliminary stage and convincing, novel scientific aspects are hardly identifiable. This may be caused to a large extend by the certainly non-optimal presentation and structure. There are also quite many typos. - - - -The main problem of the paper in my opinion is that the authors do not -provide a clear picture on what their intellectual achievement and contribution actually is. Let us discuss some options: - -(i) H-Bugs is an improved realization of the O-Ants approach; the - architecture of H-Bugs is superior to that of O-Ants and H-Bugs - provides more or at least some improved functionalities. -(ii) H-Bugs is simply an adaptation of a subset of the functionalities - of O-Ants to the MONET web-services/brokers approach. -(iii) The paper presents a case study with H-Bugs that gives novel insights or - provides new evidence for the usefulness of systems like H-Bugs and - O-Ants. (Because the title says ...: a case study this is what the - reader first expects). - -The presentation addresses all three aspects a bit but fails -to provide convincing arguments for either of them: - -(i) H-Bugs functionalities still appear to be a rather small subset of - O-Ants functionalities. A proper comparison of functionalities is - unfortunately missing. Example: H-Bugs does still present the - hints in unsorted lists. Taking into account that the number of hints - (especially when it comes to suggestions of parameters) can easily - become very large, a heuristically structured presentation (which the - authors mention as future work) seems to be a crucial requirement for - such a system. - There are many more aspects of O-Ants which seem to be not yet - addressed in H-Bugs A proper comparison of the H-Bugs functionalities - and architecture - with the O-Ants functionalities and architecture should be given if the - authors contribution is meant to be (i). -(ii) In the conclusion the authors admit that their work is rather - preliminary and that a real integration into the - MONET architecture is still missing. In addition the following critique - should be addressed: The representations for proof status and hints - in the brokers and tutors are client specific. What level of abstraction - is thus reached by the approach over the peculiarities and - representation formats of the client systems? Is it a feature that for - each client-tutor - combination new representation formats have to be agreed upon and - provided? I was actually hoping to find some more client independent - modelings of tutor services. Since this seems to be not an issue it - raises the question what the benefits of a modeling of H-Bugs within the - MONET web-services / brokers approach generally can be? Where is the - abstraction that is typically achieved in service/broker modelings (see - second paragraph in the Introduction)? If there is no abstraction - achieved over the representation format for proofs used by HELM what - again is the difference to O-Ants: the main application of O-Ants - operates on the OMEGA proof datastructure; however it has been claimed - that the O-Ants architecture is independent from it and this has - recently been illustrated by applications of the system in other - settings (e.g. paper at MKM-1001, Festschrift-Siekmann). -(iii) A proper evaluation of the case study is missing and the authors - themselves mention proper assessment as future work. The claim that the - tutor embodying the HELM-Search-Engine has effectively increased the - productivity of users is not at all justified in the paper. - - -Some further remarks: - -page 2: ... are natural candidates ... - -In MathWeb, for instance, many of the mentioned systems are not just -candidates for being clients, they are clients. - -page 2: ... number of examples in the literature has been extremely low and -the concrete benefits are still to be assessed. - -MathWeb, for instance, has been extensively used in case studies (where -several thousands of subproblems have been attacked by MathWeb service -systems). - - -What is the novel aspect of your case study? What do I learn? - - -page 2: The citation for MathWeb is not very well chosen. There is a system description at CADE 2002 which is probably better suited. (This may also hold for other citations.) - - - ------------------------------------------------------------------------------- - -7 - Points in favour or against: ------------------------------------------------------------------------------- -Pro: The work is definitely very relevant. -Contra: Preliminary work stage, presentation and structure of paper is non-optimal, scientific contribution not clearly identifiable ------------------------------------------------------------------------------- -Version number: 1 -Paper number: 12 -Reviewer number: XX -1 - Classification: A -2 - Your overall expertise on the areas of this paper: X -3 - Contribution type: both a research paper and an experience report. -4 - Summary of the paper: ------------------------------------------------------------------------------- -The paper presents a distributed proof suggestion/theorem provring system -based on W3C-style web services. The approach is closely patterned after the -OMEGA-Ants system. The main (and important) difference is that it is -distributed over the web. This is a great case study for web services, and -quite a technological feat. - -The paper is well-written, and explains the system in sufficient detail. ------------------------------------------------------------------------------- -6 - Comments for the author(s): ------------------------------------------------------------------------------- -What I would really like to see is a wrapper for the OMEGA Ants system that -exports some of its Agengs as H-Bugs services, so that we can have O/H-hybrid -populations of agents. Or of course an OMEGA Ants interpreter (the OAgents are -given somewhat declaratively, if I recall) so that they can be exported as web -services. ------------------------------------------------------------------------------- - -7 - Points in favour or against: ------------------------------------------------------------------------------- -not filled in ------------------------------------------------------------------------------- diff --git a/helm/papers/calculemus-2003/referaggio_hbugs_short.txt b/helm/papers/calculemus-2003/referaggio_hbugs_short.txt deleted file mode 100644 index 8cd16d934..000000000 --- a/helm/papers/calculemus-2003/referaggio_hbugs_short.txt +++ /dev/null @@ -1,29 +0,0 @@ -ROBA SOSTANZIALE: - -YES: H-Bugs is simply an adaptation of a subset of the functionalities - of O-Ants to the MONET web-services/brokers approach. - -(ii) In the conclusion the authors admit that their work is rather - preliminary and that a real integration into the - MONET architecture is still missing. In addition the following critique - should be addressed: The representations for proof status and hints - in the brokers and tutors are client specific. What level of abstraction - is thus reached by the approach over the peculiarities and - representation formats of the client systems? Is it a feature that for - each client-tutor - combination new representation formats have to be agreed upon and - provided? I was actually hoping to find some more client independent - modelings of tutor services. Since this seems to be not an issue it - raises the question what the benefits of a modeling of H-Bugs within the - MONET web-services / brokers approach generally can be? - - Where is the abstraction that is typically achieved in service/broker - modelings (see second paragraph in the Introduction)? - - If there is no abstraction - achieved over the representation format for proofs used by HELM what - again is the difference to O-Ants: the main application of O-Ants - operates on the OMEGA proof datastructure; however it has been claimed - that the O-Ants architecture is independent from it and this has - recently been illustrated by applications of the system in other - settings (e.g. paper at MKM-1001, Festschrift-Siekmann). diff --git a/helm/papers/calculemus-2003/slides/Makefile b/helm/papers/calculemus-2003/slides/Makefile deleted file mode 100644 index cdde77402..000000000 --- a/helm/papers/calculemus-2003/slides/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -LATEX=latex -ADVI=advi -all: show.dvi -show.dvi: show.tex slides.tex - $(LATEX) $< -show: show.dvi - $(ADVI) -exec $< -clean: - rm -f *.log *.aux *.dvi diff --git a/helm/papers/calculemus-2003/slides/advilogo.anim.gif b/helm/papers/calculemus-2003/slides/advilogo.anim.gif deleted file mode 100644 index 2f440d28ea92d2e35a4a8d251442a910f0a9f7ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83220 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%0DO@mcYIIjSHW_*plLq(VK?*(RlEq!*ti~l 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 z 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 diff --git a/helm/papers/calculemus-2003/slides/bar.eps b/helm/papers/calculemus-2003/slides/bar.eps deleted file mode 100644 index b8ece3b47..000000000 --- a/helm/papers/calculemus-2003/slides/bar.eps +++ /dev/null @@ -1,15745 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: GIMP PostScript file plugin V 1.11 by Peter Kirchgessner -%%Title: /home/cahors/furuse/CAML/advi/tex/bar.jpg.eps -%%CreationDate: Fri Jan 11 17:11:47 2002 -%%DocumentData: Clean7Bit -%%LanguageLevel: 2 -%%Pages: 1 -%%BoundingBox: 14 14 4224 159 -%%EndComments -%%BeginProlog -% Use own dictionary to avoid conflicts -10 dict begin -%%EndProlog -%%Page: 1 1 -% Translate for offset -14.173228 14.173228 translate -% Translate to begin of first scanline -0.000000 144.000000 translate -4209.000000 -144.000000 scale -% Image geometry -4209 144 8 -% Transformation matrix -[ 4209 0 0 144 0 0 ] -% Strings to hold RGB-samples per scanline -/rstr 4209 string def -/gstr 4209 string def -/bstr 4209 string def -{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} -true 3 -%%BeginData: 1176813 ASCII Bytes -colorimage -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$ -JcC<$OT0h~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$li.(dp$qdVs8W'"rVHJDs+13$ -s+13$s+13$s+13$s+13$s+^Q(~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$q>UHnq#:Tqp%%>-iTBX0s8Vco -p%%m/s+13$s+13$s+13$s+13$s+13$s+^Q(~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$q>UHnq#:Ttq=a4=i8X%%rrhoc -p%%m/s+13$s+13$s+13$s+13$s+13$s+^Q(~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcD\K!W;ifrrE%Ls+13$s+13$s5X+_rqufqrV`Sm!<2-\ -"9//oq>LUC#rV,p[qt9CAmJ6_\!r_lgl2Lha -qYU0i!r;]ibl@_BJcC<$JcC<$JcC<$JcC<$JcC<$JcG!7J,~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcDtS$M!9?lh'o?jQ,M&pAY-irr<#sJcC<$JcC<$JcFs6 -#5Iccp$V8@hub#qu76&o&8a%rVGsAh;I2GeBuq1rVlud -jlc+0rs&Gmkjn<;qY1!lqX3eJrVluulgaVlrrW/opsT0Brdk*#s+13$s+13$s+13$s+13$s-`n;~> -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcDtS$LZp4kOS<6j5fJ'pAY-frr<#sJcC<$JcC<$JcFs6 -#5Iccp$V8@hu -JcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcDqR!VlBes8VBcnG;kY!<2uts8.BIJcF$q!WN,urdk*# -s.TGtrquTgp[dtMkl1\\pAFpmrqQ3br;QfsqsFCer;6Egs8Dlqs8;rsr;Qcrqu6ftq"a^`mf*=e -rVlg"rVH6ZoDS^hp^m;sr;$-arql6LmJ$YZo'Z5HrrVlgr:9jjqY'[\rqQKorVl]o"oS8oq"X^b -rs&GroCM_TrVQU+rV#==q>^Kop@8(XoB5#nq#14(o]kf>s7l3WpA+XcrVuosrqQKrq"*tEq#13q -q![qOrS.AOrqHEpqtg6ie,KODp\Ol?s+13$s+13$s+13$s+13$s+13?s*t~> -mf*FhqtB^YJcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcF$q&H2Iuo'>Dibf\;cg=a?adGXg"$2!TK -rUK%/iTBgss8W%Ks7--hrVultriQ4uroj@^rq$0ir<<)lp@7\@JcC<$kl:Y[s8)cnr;R'!q"Xmh -qXX+Mdf0XAj5JqPg">-DrTaC`p#u>R$MEQ?hrEnmqYL![n,Epqm-!BcguIGSiS`YQj6HL?rseqt -kNM-mkN(X[hWF.urVllrqY1'er;S,=lK@?khqHT*b/`9%pu9r]i83DGe^;[b_7RbXgmeH\Z"nLg9j5fD!s8V`lo)//EhV6c=i90P!mH33Pbf\,TiTKn6pu^Db -`6R&rjP\V8eC)OV]>W@ip$:\jc-P21lfmNjhqZi5f%8X6kOecOrtG(dg==^.k4A3-gt(HGlLb#P -p[mDD"9&)kmf)MPrVlg$pup\ni8jCYrsAMojll+*rVQ9UJcC<$JcC<$JcC<$JcC<$JcC<$T`9N~> -mf*Fgq"""NJcC<$JcC<$JcC<$JcC<$JcC<$JcC<$JcF$q&H2Iuo'"rV_njF@eC2.McenNt$1d<@ -rU/e,jQZI's8W(Ls7--hrVultrN6+trTO7]rU^'hr<<&jp$V83JcC<$kl:YYs7lWjr;R'"q"Xmh -qss1Mdf0XBk2G4Qf[np?rTaC`p?;GS$MEQ>iSs+qqu$9an,EUgki1IRg>Mtis5a4B!UT[^rri>p -mH3L/jTX]%h;[PhrVllrqtL3fqu$I@q=!S/iSE)4bfI`VkkO,igYq&If[J0l`kAdobLY.a_opWj -jQZL>rs\kejQ#@ajlY[ek3i'Brrr&Zjl>C_q>^Kf!qQ$Wrq8P6hVI#Ej6,^ihUTfi`QHNckP"rO -k2=n4cJ7ICi7ZE(cH3l6_qFJNki("4ajfA4kMkIYhqZr>gYC`Kmf!(`'DCSEf%/U"Oj6kLu$2F)JiTKe1qXs9-s+13$s+13$s+13$s+13$s+13C -s*t~> -mJd4dqLSZts+13$s+13$s+13$s+13$s+14>rrDiLrrE%WrrE&krr`,ip&=^c$NBnsrr;rorVulr -o`"pirr2usrr2usrr3&sqYgB[\!WN&TrsA>Xk5#&Wro2o)rVmQ*s8W)s -s8DB]r;QTeo_/4_rV??XrrDino`=^\qu6`spAFmh!;lcq!ri/pli-tZqYpQop&>*fnbDGM#5Roa -qZ$Tpo`"pio)A^hr;Qfjq>($kqtg*f!ri&qrVm)rq>^KnrVl`p!<)lr!<)os!<2lq!r;?Zli7"` -s8N0"q>9pd!W2`mrrN)pq>UKpqsaXcrrLUEor<3/uoC;SRrs/Mgk3DU1oCr7a!;lcq -"ShKTp\=Ub0E1bHs7P^Fna#T.p](9jo_84^s8MZ]o_@qJrVuc_mI]oEr;Q`roChhGo_\X\p\Xst -rV,p^qtBC=k3V[;s&AUMiofh(p\+:GlM1/Np@%2,oDS=Imf!1cr;,jImIgMZrUp!Tkj7s:rr<#f -l1FuFmJ$Y\rUKCTs8VWTkjJ9Hs8Dc_lL"3;qZ$Hip[@>0nau_Vrt#"njPT>(s7u3Yq>^E]j6cgF% -f>GDj7`KPo&o-)rr;`frq-:0rrUogEjllL=rr_uenGN4a!r;QhrVm'#mIUAVq>UC"rr<#qo -(;q]qtpC#r9`n?qZ$TfnalANrri,elg4?DrrE#rrrE&qrrMupr;QlrnF#lArrW2gp\t1$rqc -nc&phkMY7Ne_B9Vr.4m!s+13$s+13$s+13$s+13$s+14BrrE#QrrE#]rrDoZrrN#fh#@TPqs*>: -p%nLa!<)Wk"9&9"rVHO4p@RV.gu%&Hgt^rVr;Z`lo&o0&m,[![jQ>t0rs8;]o^)JTs8)Efs"!dB -s8D6_s6ek&hrNn\k2kUZh;deninihmqu?]djPSqYki_1#ki(I]meHYY'BS6;p&4pjqWRMMs82W_ -ki:aiq"t(Bo^^qjcdL:le&o+qW4C$l_Q9rYg>qi"j7<67jmh9Tf@eg+ccsegi8`k\rU0[ciVq[8 -hrOS3s8W$,khP+cn`\rfio]C`jQ?@>"SMQ_p%\Od"8_]]o)AXuqW7#1m,m?ikN(^gp%A=a!<)lr -"6JG$oBlP`pu1#aipQC"kkY5dpu^`&j5fe(l0.a3q>^K['_Ubam,6UVj58eXjko+Pg#M;Xkk+iR -!rDKarr3c/j5]Rlj65gqmITr5j8/fUo'ZJVs8)Zn"SLm3iq<9M!<)os#l*TDkOR]rlMLS\$2a)U -oD.n=l1Y)Trt,/+s8V?DhrO"^hq[D_o'5fFrsehtrVuockkkDPlLON/ro4:CgtU`Ll0%9urVmo5 -lKI3ah:pQ8iTf^pmHq#CBXk2YOjqsWS#hV[>Ws8W&Zs8VZJ -iUm0HrVuomkir*H!UAe;rs%fXlJpj`lM^b^r=&,ls8W&_jPJA?jR2gBrrDihs8Vs$lf@-mlKRX3 -o)Adhn+l2I!:&eJ"TA#ns8D`m!;c?f#3tCDlg+!:q>U`ngsFa7nGiCaq>W/Is8VcQj6l^5qZ$El -qWI_Ts7,47i8*DJdF$S'lMKSfbgY;-fZr+#f&brXmcEBjr;QleiT'M-s&T*iqu?]klL+N:j5K/# -m,Hp]j6lmGki1degXtNGe&fkcgZ8(kmHWW_hMN$q"=[XiSNV_p&G'PdE9YWbKJAo -qXWY0s8V<=hrX/'s#'T:kMk:Ne`GuHb/_K9`59[Je]GhWf]DVbg==^(b0/2]ahGU8dGEsKo&J9M -c-";_f?r((ro?6*jPA>3f$MILZ*1LEf%&C%aLo1*daumh^p:/Y_oB[-Y,eqC]",]0kiq*_bf%<; -dF?Rhe',t_hWXqs"=*)hV[Jgj3l,te`65^g!IgT^s1a&khtC\ -qX3M-k31simc*$Zj5].ZjPS_LkkG)jqr?l-lJgOId_sAcl/^@Z -pupeuioB+^jPo4Zh:gQCmeHb[rrDkGs+13$s+13$s+13$s+13$s+14.s*t~> -nc&pdhUpH-c.1e< -p%nLa!<)Wk"9&9"rVHO4p%%+rf@o*8f\,-FqZ$Nko]bAskMY+Nj5fY+rs8>_o'#rMs82Nhs"!gC -s8D9`s7,+)hr<\VjQ#1RhrO1tj58tnqZ$T`j5K.dmHa*/kMP.XnbN%]'B%X+p&4pjqs3kRs8)NY -jPAbXq"t*kng`VLdaHXncG-?ERB=-9\"]b4eD]unjRW?5j6k^He^rF'd*U4rjlY[grU0[ckPaHB -l1t>Ys8UHiroj[Kj7;m+jRW$?rtb(mp?hP:gXtEBh;7/Mg>:B.gu.#Hmf!.e -qXaU`rtbFljmM?ljlP^ko((u)qu?]emf!1cqY^?rp?1;npAP!krVlg&q<@&+oB,6%qYpL$qWdA: -q!R8,p&4mi&H2J*s5Ve`g"k?3dbj6Ukjn`Q)>s7-s8VNMqZ$-Mo(2,/j5JhJfA,EJioKD'ruLn" -ki:OSf[A@*k2tjljl>_-lgaB*lMpY=h;denrr2usrVn&9s8VEJjlGk+mc*!Vh;RSts8D-\s75"' -o)JL`s8VlWkl1S_m-4*@#3tXBjl,=frVulq%-m]hs8D0@hV$lOnG3(`!;ZEis7uuai8E_ZjlcL2 -rrW&^puq_Xlfe?OrqHHmrV6Bmqt0mmkiVHsjQQI9rs8>Rce%+Cs8)]is"OEOs7PI5meHALs8)cl -kPG5Ymc!0[f\P0)cICY5qVfcDdb3[3aj\Yahq[AZiSN\orr_iSjn&HNA,Yups8Vo^nb_h9hrOh& -io/t\nc&RWkj.Hdg#1i:a32uciq;Btkht4SmJ[(\m-!9YhX:F=pAa^Bi8jD#s8V**aiViObgkkR -p#tiDs68Fujm)mGqXa4AjPJSOjj_8f`+clu]Z&=KaMuQXipPm^f@ecta3N)T^;.n:g>M&_imlN' -aj/MjdFI.:jll!ni7QB'ahP3`W3!5LcHskR\%0>tc,d`4WMd,2\@8W;UT_;?]#3+]k2G4Ba2?$H -dE]k\b/i&jli$k`?0L)&jjD0"kkaT#gZSP3g!e9ti904Yd)3Q7b0SMgd*'83W2$Au`Qm&cg=FHZ -['%'gfZ:nG^W"."Ye/?@iSMqkXKoaiiRl8iaO/5L_SO(.bL##3s5iqRgsXIH]-bYRh9X*]b1l(> -ioK%MfAGZLk31^Je)9*:lMp/0rVG^6i9Kgqq>C7FqWHnukOmf\aNi>to&SHK`k9(0h!4(]io^.. -lKIKskihHogu%)Li8N\Nf\5K^rtG7hkj[oug=+?^`7F&0e'HCjg?.]#"8M!@qu$I2pugl;s8VlY -jlGLak3;'kkN1[XgZIu"rVlfspjrHrs+13$s+13$s+13$s+13$s5 -n,ERbo^VA@qgncus+13$s+13$s+13$s+13$s+13prrr>oqZ$NmoD]'mr:ogRqu6QmrrVreq>:0m -q#(!gs8<'"q=+(Vrrr)ip\Ogdqu6`sqYT[["TA,mp\FXb"8higrqcWuq=a[Wo)/Les8UrVQNkrs&Dnlfm[%p&"b&rVQB_pA"@Rn`f#o -n+QGBjl5_,rr3]/p\ssas7u$Qlg=6:qtT[Cm-O?Cqu7?-q"O^ds8Mcir;6Non*]fAq>1!drso&$ -p&G'fo_&([q!dV@rVQU&p@\+Pq"XUXs8Vikrr3E's8W&qq!RSBq"jpbrr3?#s8W)qp@S"NqYU9j -!<2or!r;`mr;Ro;p$qbTrr;fao`"mgrVuommHL-]oC_nVrV?*[rVcK_qZ$Tnr;Qlona6&Grs8VuoCVhS -oC_tXs!%1/oCMMCqu?Edq=jRXs8W&jn*ff8nF#uFq=jX_s8DfhrVlfsrr2p-r;Zflp%SLdqt0UX -o^);Mrs8Alq=4.LoCVkVrt52'nac8f=rr4#8o(MqWs8Vrlp\Opiq!RA8nFHAS -s82Bes820Lq>UC#qXX%@p&G'io(;n\!rVolpAY6jo^VkWrrVubrqud!r;,pVqu-Nqr;QTn!;lce -s7cfmq>^Knp\OI\"SME_s8Moq!ri)ro`#$fkj8$Ars&K$s8W&mq>($trV,sPnFut_rqQgLq>^KnrqZ-TpA+O`rrW/qrVQU$r:]j]s8Vrho^r._%K#elq=aR] -s7GXEo()PSrri/bkNhmArso&%n+$AVs7Z0_q=3eUC!qs!2*lKRU'rVm6's8Vi\m-jE?r;Q]q -,6%3&q"jOJo(),.ipd!Jq=*qMrr;c^m-F*0nFZMMmI'QErVm6&nF6&8l14TAp\ash6N-TJqY^6] -lK7^E\j6?@RFq#:C'\n*flFq>UQp -oCVqZrsebomc!@&s8VcWjQ,Y'rr3)qoCr1\rrr5ss8W)pr;QltoC;YTrri2io_JLcrt58(nF#f= -q"+"Hp\"%Bp\Ogdp&>$cr;QcrrVlonrqucsrr)fq!<2lq!;tjV!r;`lmJm4ao)A^fJcC<$JcC<$ -JcC<$JcC<$JcF*sJ,~> -nc'!NahYNu[Cs]=jQlers+13$s+13$s+13$s+13$s+13$s6]gqrUTdas8Dino(`(SlL+9D#4gs@ -q=OF[r;Qlrq=aL\q[iJYhV-N3hrNhps8D9ChrO8)rrVuZo)/M*r9WY.j4_r5jRVHhhr<_ZkN_X5 -mdou7kjJ!@$2WuHhUKj$f\Q?"rrqrTioTG!r;V!>k2YU^gue2-q;pYogYUQ/aiDB7\@BW/hrEbU -f[/!pe^;OY`Q?Neq=`k&dEU=uiTB.Tg"YQGhrspofAkZ9bf7ZC`P]dCe^VsmdacL\d,!gTm+Bb3 -c-b"fe(2[]a3NK*rVuims8V-+`Q-*Kf\4p*daZcgdEg"P\[T5qgZRkhn*&NM^Tso?Wi2hlS)D/b/(a3bgkY>rVHPaMYj6c-4;]j7<$1in`G8bK@lGb0SPieBuUcaN2ZP5hF`Af\G*'c-OY[ -g?7nkki:aciTK@Ue'ZUsgXXKdaN2TUi8`\Hk31dQd+mdHi7l`+cI_1Vi7QcKs7ka=kO/?Ls7nYQ -q<6hshUBWhg?&2(l/ggSio/hQgt'cl\%Tl5hrNhUip-C8qu?]nk2+kIf@&$rgXO[)kP=oGq>U`q -r9iS#i8j%tr;QlilLk,Krr_N>hWXq<$2Ergn)N9^jmW!CrtXeYh:L$&hX^^>jP]7bjlYk!k2,Cr -qu:d4l0%_k/]sbP`Xer; -c+M!=daZag^rOpMajo;Jh-f!ba33,mgZ%A`q#1!HeBch/k1Rbd]@5Wqe%i>kW3X7igXF -nc'!H_R?bRXL#^mgZJHcs+13$s+13$s+13$s+13$s+13$s6]gqrU0I\s8DfmoD/:WmITrL#4gj; -q""+Vr;Qlqq"==Zq@N>VhV-K1hW*Vls8D0=gu7]"rrW#[o)/M*qWHtuiRcH,iUZ*bhr3_]lL"6> -lL+*'k3qj?$2E]=gsXNuf%TorrrqiLh;75cr;Us=lK.6hhrsY2puCAjf@nZq_ns:&[^AZEUg\g?%GYkMk(6^9Xc=W2?2RML^>? -Q^F)%Q`e2:u]=bhh^UCM^_SaLGi8s(\i8WnalKI3Xe(31%e'uq!g"Fj"dF[($e(WmNjRW0? -l/gaOdG*m^rUoaHjP\\;bfnG_bg4l!lLjB$fDj?Me'c\"kLeJAf@JX8kg./Y\[o;[\\ZD5damFB -kiq3llKI*Tdal^gdaZXgbKIrC^;S1:`RNf5puU>dg -ak#POjl4nBg!J4#hrO5*s7QEbiRYiT_q*T$k5G>[rUK7Ls8VBFk3(URg"kTGjko(PdF[RP -iS<#)]Y:tf^WagGe'#G6]"uJ#[Cs5^_o^'@_T13grT*,"g">'9guRY\hV6lFiT/tUgsaBebh(;B -c$[sqlLNuhg=OZqd+-1N_o^0OgXacr`5'FFjRM?ccc3oKhr`tZkN1CFdbE^Bk1@Pb]t1Y_`7F,; -jQ#Rki7?B.fBVY`hqHZ+`50^D_n<[nYG\%r_8a$k]#`@Pd`BDF^q6t_]!noM][#-^g#(?#_n`ai -^Vn(1bgOpadF?^ob/2!-[]?'gR@C@^YHFn&Y.29b^UUSGTrb#fXJVVYTVncfYf"r@eC)7GZ*LjK -\@K8^]#WLdpAb0ZhVd;7^WPNti7-31j5S>)`Q6BTe'>Y5Z+.Wc]t:e]XJ))KQ^jtUZ*q?_]!%p) -Vmr;Qfoq#13tp%%eKna#K)jo5M_s7tmDp%/1arVHNn$h`WCq"!_8meHh^qYgEq -lK.2[s+13$s+13$s+13$s+13$s3Udr~> -nc&sop#Y2niT9G&qu20HJcC<$JcC<$JcC<$JcC<$JcCf2!WE#orrE&ns8W&grrN,srr36&rUp'd -qtBj[rsJ`)s8)E]q"a^]rql]tqtU!brr3N"mcE?cme?STs8W)fkj\QMrrr>kl0nEFrVmc/mcsB2 -jllI=q<-l+oCVPBqZ$Nkp[@D7pAP!lr;QZp!r2Hdrr;uq"n:d@kjJ9Drt55)m-X<9qu?]ps8)3Q -o&o0/rr3N#n*9*'o^MDBoBYGplgjoOs$lhNn+->TrpT(6lMCP\r9rn4jR;m;o()>>lKdj6s8)6] -p\+1Hmd'0#lM(>Yqs`t?na#N6r;ZfcoC_qXqXj=Oo()/5q>UC4qY0merpJn+hWjk2r;ZfnmHs?. -jk\_Ih<=Y4s"+*;nF#Z0mHj#ukN_L)n*9&sj6ujBs8W#]n*p#Lp[%G5kjSEKs6J:ojQlOn+#`*iT9G*o)eRXp&=Ogp%S.Mo`+OGo)AY: -rr;WVmcr`inF,r?o(DkSoDe[Zo(MkNnc/Uao^_YQs8Vugp\Xgdrr3,omd0B:rr3o-k32F2nFln^ -n_Dsjs8Mfgrqu9Jk4/'8pA4af5ka[5lgjc=l0e-5lf@0mm,Hp`l0S$=rqlKbp%J1Vp\=LPmd^)J -oC;GGq=a=DlgaT9nb`@dqYU3dp\++@jn&KO#Q"8os8;NXm/HDPjT4Z>rVn,ArVZK^me-VUp$Lr) -mJ6eXnE/cnkNMr4l0.F"q>^KknF?&AqY'FIp?q>7mIB]: -p]'gGlM15U%K$##s7#I@iT0J*s8)Tjrr`,ipA+Uc!<2or"7bL:p&=surV66hs7l3Vp%eOars&Gm -lK-skqu6U(r:0RRp%n[^lfRg6rVZ[%q=3qJqtBXTo(;qS%efi#r;ZfnmbQ^`q=F(Krr5Fao'uDO -s8Dchs7u'FmeH\Qnb;Y?mem+`qu#g9 -q>C0`nc&+Zs!7U:3imHjBjmMR*qu6U*p@7>3p&G'kp@A([q![tUrri;jjm)X:s"O!'k5,,XqXUC0r:0%6ioKb3s8;*9h<+P5s8DHM -mIL/Rs"=:0orq?$\l2Ue^"onPpo_/7UrrW2s -rpTjeqV2#Mrdk*#s+13$s+13$s+13$s7$&=~> -o)B3d_lTDrQ^+&;]Z/CWlh>u1JcC<$JcC<$JcC<$JcF$q!W;hGs+14'rrMffnc&X_o(r@dqY:*j -o)Sdart4S]m+p@Jhrkj%?fe&]GK_nTah+pj]Z/_*s*4D,kMXt8bK\Smio/k]iRZT4c,n]%oAnEHai)?Lahk]rV4=$V\]E:Tg!%7K -_8XO5[BR*ReE>rEa1Spi^radBbg4VZc->#'eB?7^`4rmjYc=V$\&Z\3]t1e^Ye/09l/Kk%]!o2\ -\@]M^Za.-fkPa])gtge9dCcQ[Y.Vcpaih]EAhrEeXhVR;Uk2YFTf�%a3WDng"4s6im,Wf -]sbYo['6gF]=5,Q]uJ=AbKS5Tb0%oPs3D\/aMt]saku7;f@7C4Y->%9`PBC0`m)u`e)K05rmPE( -bhUt*e'Z_&k3:dUh;RASmblR7^qRV,e^`'c\@TZ$a4056caL7#e]u7Wccs;;\\Z8/dbNsJjP\7s -]=Pi!^9=cH['-L1Z*pg9ZFRWcbgt@qf%/L-gY(<2bf7`KcHXPU+jJ3M^:1Vd_8+"8hWWVIg=Fd# -aMGR5gZ%&Af@eWs`4`b]\TG*_]#WF\hV$H/e'Q4Ubh(4c`4iq'd+?.CWi)epXKf%=]=u5.e(!%% -e^`C,c+gitZa[HP['Qp8Vl@)=_S*ndaLepqbLP@hair5ghV-K.g>qVckND0o -hq$/p^9tAlg#:`414ug#(u`q>L?njPT"os6J@_d,"3koAe]_inDi*bg4bhgue"bf?D1J -\Am4ana##Wd)jAUf@\NreCNC4jlu4*hUKp%eBQ%U`lcQQdb!C;h&>WN`\7\&,kk^;\+,\A#l"]WS!"SuAN`GGhFC\]<=Wd`/r$UopSq -YH4IdQ^XJ;Vmjand*T_@WhH2fZF73K\&R(]p&G!Sh;$`(\\ZhLe]Z+bgY9lk`5K[:aiM3([CsMr -\ZiHGWhlD\R[TtJW2m87[B6O3WN*GIa1SOYYc4J%]>_7cZEgO-WOKssdXT?L[^`oMY-b[EYdV@# -dF6IV[(*TIZF[]SVlI/<_p-oidDWc([CsZ(_Rd7obJh-5c-Feecbm<-cIgasf\koUjOhW"h<;V(?6h;(rX`3l\G -Vlme`e\\D`[E%(gpupM^g"tics75+#g>Li:aN2]Xcd0bL^WG'_hq?8naOAeng"P*.ccshcd`9,> -`PK'j_o':)`QluagYCWAhu;O>d,+'TjP/;=g&B_@iTpODpu^DfkPkDKh:0s1i7QH'iUZ^B!WDlj -rsSVbk2YI]j4V]&fB2f,)tN:Ae(`pAg!\6pcHOJXeCrdDkN_U"f[/(-nF?M]q"=4Cp&4mopuq/= -s8)Qk%INona#E&p$_n\p"]TIrIP!"s+13$s+13$ -s+13$s7$&=~> -o)B3b]VCUKMMR:]YIMX'iUVR"JcC<$JcC<$JcC<$JcF$qs8%B`ll63\$2WpQDLh%cIgdq_7dFp -a2,*cZFeNGj422b\?E?Y`Q66Ld*Bt_g#:>tc,[`7[^*!5U8YK;ahkX"]XbD]bLkk/`5'$t]t:eb -]WS?=\BsR@mcWQdgs3=&U9)#Ls2]<(`P&CQVk]cHP*r;^c.:\)cb-*FP)>$KKRJ)hG^FjfIXQp. -Tt&+jgss9\_o9a4ZF-^5ZbXi-\YudB^rt?chqd2Ljl>:Wjlkgbi7cc>h9!gfgYU]aN1or -\%f)GXgPdO[^Efdb0%iKbK@oIGKJ%QbfRoJ\[KK0gXXZt\Z;m9WNX%I]thP1eCW40gsaWpbJqHN -e^MgfdbEdEgt1?@iofgie&T8<^rk3XdDWQ+`Q?*Jj5eImZc(;9`5Kd<\ZrKUa3;ucjQGO]c+g`r -]"bSIV5UAhStMs\US+NeYd_Kpc8!YmeC`R4gYCB(`5K^;b0%oNc,RN/\%TSk_9CWmf%J^*da-"N -^!#-fgXap,d`fYDrO[0X[(=-]t_+lcJRU1a2c95^:UYP[(3]VYGeD#WiE8>dFm!obJ:HmYc4S0b1be* -dFHaoeC;FQ]=l,"GIk)^Y-5:Mcd^@dg"k5s[_9c.bJLZl\AlnJ`lH6Mg>1N6e(WmJki:adin;`% -_n*1]c/.L:f[\*U`l#L%\[8N>VPpf;dFHUaaNW,egY1NEdE05=]!\iO^9XcFakGY/iT91ZgY1QH -e'?"J^<"^Uio^%9s(1ZVg"YHJo(`1`s5W%tqZ#j4bKel1s751*g>LT/b/qlSe(NdHiRGuc]Xc)8 -jR26dcI'hYdb*-rajS\mh;RJ\mao\+cHjPL`4`n&a3;udi7m;Jc+0XBYfb27f&m#2l/LUX=6&;r -f%&a3bf7oZg==R$d`Kbgi7Q5m[A^./ZbaJcZa@$;UnjoeTq8*VTVnofU9)#Ne_eg&b/hfQbJM]V -d`KJH`l6ESbJCTeYI2!P[C!9OakGb-bl5R>_na1$[CjDrb0J>L[^*-Fa4o\,`jD_H^XV)pgu7;H -ahZ$IgtTu]ZEgL/WjKk$hqHlFjPAAccsGG^fZD"J\ui-F^q[Rq[]#XVT!uD6UTD8PbK%E3]!\W3 -SY;gRVQS%dbf\;R]XYGNU8P0!ZF7T`]=u5&_7-k_\Zh]hNK0BkQ^OG?Z+S0#_7-S=QCjG2T:D4. -O(a`DRA$n&aND]B[&0:[Sti6eXg5mukkP2Wmc!!S_6UZ#f@.j_db38EX/_qeW40RJY,eOsS>!(!aN)$$Yd(HDUnt)jUn4Eec,[oE -[&gL6Uo1E$VjX'T\A6A@gX!dNYHtm^ahkWu_9'R)`6?KRe'H"E^X(TefAGfYmd&`Ve)BWNbe16b -^WF^3UR%79S#a6=[]R$]gXaN`]tM1u^V7G"_g9)5`3m(e`6R#lioJnBb0SYje_8m;f>Y+rUnOTn -c-jD/V6e%kkkO>qeD&pEq>^'Eg>D#Pf#YnTccO;I]"?#5gY:9#_8XdPe^rI*e'H:ce'lCS_T'C$ -Z,+2f\\?,/d+mR:i8NSOhTjjdF$\2pAZ*&ldF8:iSW/0c-OYWaii&]g#V/Tmc;sFcemsVrri,io'H&Jrrr2\me-VW -q>UohiT9:kmeZt`pu^Z#qWn.erUo@9hV-`Eq"Xjnq"=(?lKn<7rrDcJs8VqHs+13$s+13$s+13$ -s+14>s*t~> -nc''po&ATeioB1`l0\'9rdk*#s+13$s+13$s+139rrN#k])Mg/rr2otrSdbVrIP!7rrN,tq>UKn -rqcWprr)lrrq69orqZ0Yqu6U"rr)Q]qu?Zpq$$QhqXs=Kp](9jD?'4snFZMLnaGf7p\FOWr;??f -s8W&pqt]dXq=*kIr:fjWqu-Qos8VlenaQ/Dp%.V9inrh_nal>Ns8VZQl1"E=nEoE"l1+EEs8ViZ -io0.glg4HIp#+]hn+#l7o_e=Jk2P@\mIp>Ts7Z3drt"\gmJ$Y\q==CTl/Ld`l1b)T&cMIikN1pr -pA4RapZq>=jPfe2rtb4ljlG_)q>:*amHn2r:'FQpA"@Pmcs$&p&=tLnE9!%jQ#\*s8VQ\p%S4RnF6,EoBG?.s8W)bkjJnb;nUp$_2.k4ATOs8VuVkjJ3FqXsLMnb)n]Gjs\T -lL"$2q>C*_rr<#rp%.eOq=j@Fr;Z6So_ngiqt^0io'Z8?kO89>m-*WtlL"$&l0e'.lKms2p@nC\ -qY'[Ukhtn,rr2romc*9gk3;L,naQ#;p%J+Zp[.55oCVVRs7l$JoDS^dmHjWIp@.hTq!mkEp&4mi -)t`1Lm.KoBs8VTAhtdQ*nabu1n+Q\NkND='kiV0tm-jT;o(2MK -q"OIVqY9^OnFubQp%SC]oBkf1md'62rVuoioC2,4n*o])n,34]n*0'(o(;PFn*K?#hr!Yms8W)t -rVmr3oD&=VkMtdsq>^*Sjl>Rinb)G?mI'K:p\4U_p\+UdCA-rUk3D=!n+Q;@ki_I3q=3_Es8Vr_ -l0n6Dr9s(Ls7uHZl/q-ikND=/s8W)tq=+(Gk2GFlrr;rmrVZBes7u-KlgaQ2jlb^em.UDTo'Q>S -s7#%2p&G'bkMtmuna,]4m-!a.q"*hDq>V?+mcs$'me?b]r;-?ak2tsrmHNcok47g%q#::Do]kN% -oCMA=s82T]mdKc?p\X@:hsC1kjSEHruggli8a;$oBPN*mHj?;rr<#akNMO7qtTsZp\!t< -kj\?Gs$cSEhVd_ro'Z2Ms8Vran+#u@pA"Obr9`P2qu-0OpA4FRrVcK_q!I/*lLY&So^MSJo'l58 -k2YOflKRWuhV@Mrs8Dfcrq'1bp?U].p%@e>lg!X,p\+"8jR2j>o'>N(mIgJYrq,ULr;QN`lg+0< -p%JFcqsNh9jm`X10s7>UJ -rVuosqXsFBnGiO_mIL5UrqcEhpE8qjlL=E6oCr7`o^r+Xo(E%Vm-F$(mIC/LoCW%^s7lBfrs8Af -mIKZ1m-scJrtGD*p$V2s"s95nF5i?s8)*EmJ6,Bs8MHHlM:DUq"!k@n+5f-mJ6e]qYK[Po^qhMqu6WlmGmC& -s8W&srs&AhkN:menG`FinDWX$rr3-#n)Wa)rVmo6p%%tYn`8`so_A4Sm-*m4qXEb.fA5fep$qYK -rVZ[4q"4@Xo^;2Js7c!MoD87Mn+HMSq=s[Or;Q^,o^2/Cq"4"Bp&>!kqss=Trr38nkNi-IqsEVB -q>UHor;Qcrq>Up"p@e@_s7PRrr<#tr;Z'LnF?&U<\m-O03 -rUBghq=*e@rr3r3m-j]Fr;?Qkq"=F\qs`e9p&"^es8)s*t~> -o)B9]\"AV8M2$nLQ_L[tc.qX^JcC<$JcC<$JcC<$JcE%U"8i&ip$;VZmc=&Vrs&5akNV$bk5PA\ -qXFObq?-]moDA=_!VlWirs&Dqq"=FWqWIkZr;P4G!;t4D!<'>*!rhrlnG`R_meZn^#6"5[k2bas -r;R2ujPo"Jg#;AokN1q&qu73*p>t/ej6H[Cl0.*^k4n3?j9FZ*jk\YLqtg>+o\n:`6--? -a2Gm:d*pb-gWI+3XKo7B]#`@A[C*ciai23@d)o -\Bj=.p#tGme]YV8[^j8tcHtV)c-XkT^X;*,horsM\\HV;`4N.CP`qN1Z,"W3`OE=`]un=#XL#Xf -gt9c_[BQR:]XPAdaiV<2]?&RJ_8Nst9"D@5VkKZTXLc<`Z`9q#T<#fZjk[hcYG\4nVQI/+Xf/8< -j7;0Tb/_`G[&0Rk[(a2f`kSdKS"61@Q^XSAYJ/02gW6RfPDk9OrJ+X;Od)&jN/N[[X1u^%f?q(; -]>DP#['Qj9[(sl,\>c[>\%BN!cd'hgiT&_Fe^rU3fZhIde\f5CcdgRlc-FnQ\%K#EXL>:1USb&n -Z*q*P^;%=i[^j,g`5p-FE5obtTV]?Og=FcgWgfNSX1-!U[^Wc\`QHEXcc3c;`5]aJeBGbEaOJqn -a2ZZ`d`g%\_RmCl^W4XIbeC3[[_KW&io7qVY/Jf6^pgh_['[BQ\%9E!f\bZ9]s+T=ZaQs2V6%&, -USY0"XK8\9\@_aU'uJ#8cd0nada,tL^;@q6aiV]D]\[8TIWiWPCb0%]>c.14VYd(j\c,$`k\\Q"o^V[at^s(*G_9:HdgXt37h9s6NYH4n3^Wt?Q -b0J)=\$rfOWhQ)TUn4?kcdg=[]=5MudaDjdmFfb"\$N,i7?3"e&ohVahbKq\\?57be^p$\%g5@g>:l@_m6;D -]ZA79`5BC+a3iSqg`shR]u8%2^:h.l]XkSa`Qm&id_DrWSZKoO`Qd,tin`&2e'n%/`Oj(; -e]bkTd`fqce]YeF[]?L3[)'>WWi`=uUSsu_SY)XLT;/-NTX;kidEfl4aBQg/^9PPn_S*Lj[B[N_ -]We6+WO0%7W2Zl)^<"dJ_RdCs_nNXd[(sc(b0SMNZ*L[?^r@XimYcRW1^#bWN)ebP`h9"Su&d1 -cI1-FbeU?MQCb+\[Bd<^fAPfZkN:RNd(Z]k_8O:-_T^KZc-4>N`lZEL`kJpm]t(;@Yc4@iT:_R= -T;AQgWMZD^Wi;nqZ+I`_W26>gY.)3aYc=b1Y+hYpa3)KEIa$*W]!JcP[&p:0\\Pqo]s"B9ZF79T -\ZM[+ZbF9#g"+*M[CN]U_Sn\%BGj`669;[_'`4e&'>\hW*PDaOTD:f"ni&Z`q'X[A'%Z -VjaKi[Afn&]u@q+]=,&Q\#l^8\\Pnh\#Q[C_T:'Qf@S9ZZF@p+gst-4GgF"$TV/$TZGt,&Whd;P -hWa:ae]cFoj6,IWdETtfe]5,(\%TPn^ULYbaNhuK]X"ubc-4/IbL"\dda6@[^;7UqZ*;3^[]cmB -]YVS1dFQmtd*K\[io\q8_847cHXknk4831jPf.\j4DT)g>:cJk2P(>`lZchmdBrOs7lTn(\$VMkN_9npAFsin`Slf -gsaBdd+m^IqYpL%qsNS#cd'e[d+RR\rtGA!jlGOgq#16ho&o#hg?/A1o(E"^"o.ZRj5T8!rr`5b -jnSZO#4CI/ioB.abPq\Do'lI+s+13$s+13$s+13$s/Q*L~> -o)B9[Y*"3[H$=RaL6/(4^X1p6JcC<$JcC<$JcC<$JcE%U"8_uhp$;VZn`]__rs&/[hr3>FjSo/Z -r:'adqZHfno(r.]!Vu]jrs&>mq"=IYr9+(\qYeqD!;b(B!<'>*!r_]dnG`R_meZn^#6"8^ki_@* -r;R2ul0@Hji8sG&kN;"'qu73*p#Orbj6H[Cki^mZjnS'=is+N'in;lD#Pf$i7*gXk!*g#(H(\@?.SU7A!V -Zd%\*p#k8cc,-chXKfIZbL#>)cdUC]^[['-I&S!TV@[(WuPVl(rCU8klOgsipDXf/.nUSk,fV4sj* -jRhQ`bfJ#EXdtlNYe.N[_S!";rfn"TMN!dgWjTUcc+9X2Lk0sQH?+4LFaAC^G]e4WL7bokcIgRR -[^a&f]!/B;Wj9@]aLS=RZ*h*Ua3;fRfAY`Ff@SU-f[\0beCMRUaO/Vjd*Bqe]!SuISti?^T:DRQ -XKf1=[(Mb8g!.@E\[o>\d*0D>\\cYC -cc!fOg="9nb.tQt]"Q),ccWo$WO0@OakbggV5_8Uah"a]YGnM+[(!QXa3r\tcFL$SUo:>bR$aMC -T9bh=VkKf]X0&V6[CSf\$3Hdc,m]2 -[^iu]]"#,OY,J.lYJA?*aMZ$Bc%!X@[_'AaWhui)]Y152OGo6`R\?CNXL5dbdaQjubf7oW`N>`# -R@^1NXKe^uT:W$j]!\cXdF-"E[C -`k/IRX0An0W2Q>^Wk$-h_SFFEc+9gNZ+Io^W2OL9\[f2[]tCkib0S5Iajo(rdaQaubIt-ZUo1B4 -dau^ccGd/qZa$[0T:DCHStia:dE0/2ZFIlsa3rnm`jr=QVkp/dSX#VG_9C6Lb/_H:`QQWJ^U'r@ -\&QhGf%fEUimuK%cdLJ'jQG]Dd`0>\jP/#(ce7:6eBH4c`5BO1]!8HE\&6D.]!S`J^!#!WgYLAp -Z`:4@aMu-3^Uq1qbgFqh]skG__S*OgYHb@9YdM6ge(;jTVO!IA_8*n1g?%MVf$r0qc-+8Sf[@[J -_U6iT^Wb'Ib1"geaM#6kUo()m]<\B0VPTiQT9tn+OHbrlQ'RGqWP?NqaiMTGa3)E6XhMQa[^*-> -X1c3VX.YrXXf\OrUo1E.aO\bV\[fGd[]lg9]Yqe2c-Ef"Yd(ONe(W-[Umn!_bLP4sgYgi.\%]u6 -e&8VsYH+Y([):>@bL5"tgg&L^e'ZXtcagBk[ABS!]>)%eY+qJIQ)h'[R\dL.`507)]sXQ"PF%f. -TrY]9\[o_p\@&cBSXc7BTVf#sX0&kF]W\ED]=+W&MMR:QOdMlI^;eUK_mHG6P*VDYQ^a>&Mi*IW -Q_(:j`QZWK]VgmKNL$6:Wj9RqjQlF,lepC?\>QIB_83h"aNr8UaMu-7`5g!5Z`UF:Xe:oQR?N\l -NeiFQR%9h=R?`r+S=5tDY-G1$S"-%GY.)!ATqSB[QC"D]^q[V%`kAXWWMl\aQCOq[Z@B6bV4=SV5gl6_T:!MeB5A*Zbk)?e_K!-];M0dR@:%e`O`(E -\]JR@k3(^QbgG/(ki:CEcI1G"agS@W[^N]RYHPISbJh9*XKfR_aMPm:c-Xkbcd0J@^:q"XX22?N -VP^Au]#2_=eCDpkb/)?XhpT9L]>M\2bgG88qC6srVHBUjlGY' -s#'Z;jOM]+e_Ad(_o:*`mJ?\Zs8DNNjl"kBd_*3+^V@Lt_8sd@aN;WNce?jsf@%UP_pR<.o`$N< -k2P@Vf\,'Ys7+mibgP2.o(D;.i8EYQd`K\]f\5->hUTfhb1PbFnbiFeq>UC1mc -nc''mo&T!#l07Kok2tjlo7?pms+13$s+13$s+13RrrW/nqXjdjrVZHcrr2p"rUK=Mli-t\rr3#t -p%n^gr;lipr;Qfrrql^$rVZKfqYBjVqY^?sqYBpXnFlk]$2XVrq>C9mqXjX\rrr8nq>C6kqu6ft -oC)5Hq#CBn"8r,srVQTurqlN`o_e=\!<2or"TA>urVl]o!rVljo)Jag!<2ip"8r2tq>UBpq=jCY -!WDr]rrN≺Qosp%A+ZgA_0PoDejgq>UWrrVulprq$-mqXj:GpA=jlqt0CUr;RB%nG*%`q=OCQ -p@RqHqu?TgpAXsmqXa(CqYpL.p@@V:*amcj!"kNM@.r:B1;lh^Y]rUKCSs8Vi_lfm[1s8VTR -nb;_Gl/:h&p[.JAZlgOH8mHX6As82$ClgOH;rq79%o(W"Xq=3b3l2(GZrVZBVm.UJZrqlHTnbiCd -Gkpt(p@.;0o(i1Pp\k-jq=jXRnaGW&pAXUJl0nNLrUomalfdp.kj\?Ana5c7p&"dapA+X\md0H0 -n+6;Lp[e"Glg"-:'XmcrlomIg8@oDAL^mbuj[l1+B9nF?,8jlPk) -s8)ERoD\apq=sm`mGmC'rr3Jsm-*a'o(;bTp@7bKqu6Tp!Vc*_s!dj1kiV0to)8Ugq!I2-nFQ&6 -o`"mdnE]E5s8;9Jnau8>md06'l14WGqu9ptoCMG:kiq[5q"OganFln^m,[6omd0B8kiqU8s7u-L -qu?]fk2c%-s8)$BlgF*!mIB]0lh1)Gn+Qb[qY'UTrV5gAj66%*o)8Ufs8Vu`kOecOo'>`9qX*M> -rVm)ml0@p5n+lt_.f/](o(W"RmcEEflh(5Tp$M&4o_A7^qs31tkk=uOn+-GWs8D`gna,fDrr39! -lJqF5qtL!err5I[lL+E7pAOsZio97np\41@kNV:,s8Vrms7kg7hW!ttp[RbGmcE['qtp-Pk3DX> -s8;`iq"!\.ip$%6s7tsDjlYq&o_SRe#lF;anaPi.meZq_0D=c&r;6'IpAFRPp@n.Os7l*NkiD.( -o_&(Wp%n^Yk3)'qkNV7"l0@sAs7PaJq>UCWr9r_8oCVP@md&p"nF5c*mJR"ap$1l8q>L9lrV#aR -rVuc[k3Md>p\"Lbq![bDm-j`LrU/Rsjnf#NpA=jh"8M'Gr;Q^*p@\(Mp%\Fas8;BVoD8Fcs8N&u -#5@oms7baHrr4hHo(2kNnbW.MkjJ->qtKgXp%7_AoD/1Pp&4RVnF?ANo_JOcp@7P9nFlYKmdBoN -s7kpTrr36!na#T.m-j`Ks8Vs0o^;8>n+HSUqXa%n*T`@o^MkUoCDSJoBkf6s8Vi[l0Im-o`"d[o`+XRlL=`NrsJPk -o)A[^p\OphrVlg/qsEqJr;?6Sm.'B-nF,]*kk+lS#6"/YlKe-:rr3f'lL+QCp%eIRn+-,Ip[\+Q -nF-)Dn`oZDrrMilrr39%n`BHDs8MQVrpVT,rU]LGo_e_+qYC$`mI'ZIs7YgAkO%X(nbrLfqXa1Cq>UC"n`fE8q=sOPr;Q]uqsWnG -rr3&bj66LB"n(IAp%nUbrs8MtrVuosrVcZnrse\nq>^-ZpAP$kq=4.Trr3Z.q#($`pA+RYo_7nG -nF,r@p\4U`rso#'r:KFJoBu2An+HVVrpp'kq!RD2rr4)0io9G#s8Dfeo_/7`s7>F;me$8Js82EO -io]h0s8W#ors/Goo_A7Qm/-_\$2jbrnDiBblgsrMrsASll07U%lKds:rr4)=q"+(Prr)fnr;$$U -nEp#NrV-'^qu?]op$:f,o_ndfrrVrbr;6L&rr;lgo^hSAn+lhYrquctqXsU6rri)gq>:)@s+13$ -s+13$s+13$s/c6N~> -oD]HugTQs!L51D3KS58KTWPrThY2U$JcC<$JcC<$JcC<$i;WoSp%\LPrrhu[kiV"+mK*"Wrr3Z+ -k2>4YhqQr?f%8pGlK@C%kiV10rt,%nlK73os8W&Xf@&F5j6$.3rt,)'s8W#os7PC*iTf^egunY6 -s#]Z5kN1pup#k>lioKA"s82HIi8C_j4r5Dkkb8AjQ5UX -eC4EK52GK's8Doai7m#Hk3i-Bm,m6]g"+X"d*U1piU6[ErVQEo]P2mkl(PVkMtO]jm(jcj58P@eCEL8iop@@s75I6i9':ejQ#_(rV?I!rU&q8 -l/:IVkP>-"qu-QpqsXL`kjncPpugDciT][ki8*/CjRW?NqY9sdrr<#squ7$%pA=g[ki_=.oDS[g -$i0Dclf[HrkiM74qYpL3qWmG8n+QJ?io91ukMb=Wi7ZZ4g=b6>o(E$0l.st=d+@7:i8*2Df[7je -f&lo1n_qs@ai(p/b15+faNN2mi8aN`/^ -be:9^Q]I8nR@pRh]sar; -U92,CY,AD;b0J)C\?i?H]t:MO\&$"s\$*9[_6pYQZ*LR3U7IdOW3<_@YGM8lDO@93c/.'d[A][b -R%1"SX/i(o^"_Z)bf%96^p0`3Ts;)4Z*^X)R[BM4R$F)5USOcj^W*XLNf&REKnbD>L5:_INf8dJ -Lm+sXa3E&V]t(nt`4`U`UTD#EaiD0,[^E<4o(`m)K7]XtVZ[^j#eb0A2HX.uc-_9Ulg\Y5n/^ppA9U8P&t])Sd4Ye.irbg!r- -WMuetXe;2UW3WS%V66o&Zb4,f]""fD[(F5r`l5m5^Upta\\H/)b07f5Y-"e$TV\m)^VRFj[B6R< -]"P;W_8a@&XJDu(\%&iPZ*L@*V/icP`5&sbZbOMs\[];_XeVf&_Sa*[R$F#+S>3*iYd1jYc.(G$ -e]#/=d`JhhS=6"DWO0@HY+qYeZ*^gB]>_h+\$E3C\$DZpTUqL=R$jG5T;fZFducX.Z/_X.Z)jajSJU\$!!L_o:*eg.Gb1+eafA"s(b0.c@bM)(?iQ/=,^kS=`3m1m_6g):Y-kmR[&g=1 -YeSB,air/OZ(dhaZ,"B!`5&d`Zbal0agndc]>)%eZ*:I6VkU)p^!P*>X/);TUq+7\db*2eeBuLb -ahka-bL5"j`k9.3bJL^-bf%<:a2,U3^U:>FTr4uiVlQbiUopJ_S"6%9R[^(GVn'sp`4`n*d*g4[ -\>lpF[BZp2]]t(/@YJ%uqa32XY\?E9L[(4-%a0qh8VRORe -cdUG!fZ:G._TpB@[B['E[^j,nc,m]8`QZf\e'ZQef%\BPUo^\oTX)V`_69W.Yb[ngUmRRH[D'Z$ -`50'nU7IgJT:VmcZFRQ[`l#?s\$)a*T:VgWX/VkjYe%?JVmO7V\>Ym_R[g%N\Ac_>e^qdJZ)FCp -Xg"t)S14UopScR[fq;Q^XhY[B#skT;A9\ZEU7*ZD3qWTs2,@]!A<6Yca^mWlE*!aN_uEYHbLH]!A<7 -Y,JJ*X/2D[Wk,aN[&Tq!XMW!'f?Ln2Zb3WKZ`g7#VldG7Z+%3HZN%Ob\$NZecc`u?dFd70eB?M, -kL@>Y[BZsG]sXW$Q^sP9V5U/aXLYsV]t1SW\@oANU8G,uXJMPbY.)0baiq]:YbnD1aj\G^f#kCr -SXlUPXLZ*PVl%JahrE_Sf?VUnjPS>$^V\+Be]+nnWNEM8\$EhAeqYt%%md9Asf\"g*cHFGmkMXRq\\l\MhqHW/eCrj6beV!4air)cf$2">\\ueH -e^`L:kN_Bif@/=+i8*)KlL+'%hUp?!^pgbcajo2.o(D8-gs*R;Z*UjM`mio,jl>+Ge_:#[s5"jP -f@/0og>_#Cg"Y9@hqZl3ce%1Alg!cthpfp'ipQgFrs\bdeAT2?`luoon+c\UrrVZPl1t>`p$1i6 -p@nO[rsA>\j5oImp%%eSqYp`_gtCQDkPY>]qXs^arrDoFrrDrdrrW/srIP!"s+13$s+13$s+14G -s*t~> -oD]I!g7s@EF)u26DJjWLNgm2ge+J:lJcC<$JcC<$JcC<$i;WoSp%\LPrsA8[jlGLmnF6,Jrr3Z) -j4iDGg!eI#cdU_4k2k^ql07U7rt,(mk2P@_s8W&Wf$W42j6-75rt,&%s8Vrls74ppgumhVf]E)0 -s!mO%jQ#Cnp#k>liT'.ss8)i7c]@m/6hKk2kaV -da6Cid+@@Ys8N#fjPAYPjm)^;kht.DdE]tZc-XnniU6[ErVH3Tj5K5%s7k[8j5fFpo'#,igY:]P -p%\+Kq"XRYrVn>Co&S]dkPbGUkiCaakNh3hiSE)4d*LJ%i9C7@s7P[6gu@PZj5TM%rV?I!rT`M* -in;rZ$gYgo>eBQ"J_8!@_]"u%c[_BGf\@]Aa['Hj=XfSJ#s.a\3X/`1s -[(=,fZ`'h(_7[=i^:_(h]#2b1Z_W- -V4,^V7^g -U8afMQCOM4QCObO[_B5X\[cjjW2HVmW3(5s\%]tuV36juPFA5K\[&91S"Qd`Wi*)4]X=i=V5gc!QAglaKSP>>NffX%Zc:GCahPBkVOX0G -R[TkK[Ca&"_RZbO\[A&qQ_1(IVlc8OUpRhI[BdWh_loSrS>Eg"St)ORV4ars[&pXJ_nNRm`PfR' -\[T/UVOEgV -WN!,4^;/.7[&Bk(]#N.tbuWENg!S$g`l#sOiSrY4Z)bLXa2Q3Ge_/?e\@TJWYI:m=S"$1QYct+# -TVA9m`QH';ahb'PS>*1"^V@ClY,SJ5_SWsfWN*22['-F'TqImCT<5TFb&"M\R?l'dE]V=]u\7.ZGO\u]Y_S!]>(kXWLoQMURdmGSHS#j3=`lcK:XJ_\X -S,T(%R#d2eQ^sqPZbO]2eBc(:P(SILQ_^I[^TZ)jk,Z`9=GL5UhHQ(+20UU%MH^V$t]\@])ES=up^Un=$FVlmJ@^r=$uXeVY@Ye\E)e^hpM -Ss>M,Q(4qaXe_`/d,![=hUToqfAb]6^qRY/f@\'GU7e3XWiN(uZ+7HU]=+iG^;n:,\@&ocb0%fF -]XbV\VP:!!YG%5COdDfO`6ZlY`kJsg]Ze^=XJDc&]Yh\4gZS%ae&8o9c-+&(S>3^=_6gA]bh1k? -rr5CWjl51Oe^rU;p&FgFf$r0g_8==@d)s8Lf&PuYkNVQrg""X"aM>Nu['?g?[CWreaN`/^da-.` -`kT='\@TJqe)06WqYu$@lK79_e^i@%ccsbtkMaXr\%p2GiS2r2e(EO.a1Jms_SsRDc,@,s[`$JG -f%AjAkj%Hhf@&1%gt:*7jm)-lh:U)gZE1.:a49&1o_.M-fu^b%Vl[/6a4KA9l/pgPdF[12hr*AI -f@Aq/Gg"kNIj5J_Ace.1AlL"W;#3+@af\l&nrr3E'l.O.n]t1kqi9pC8r;QidkNMaA#57?G -o(D\Sp\tQjk2>@ame-5GrqcWuiRQB.hW4V7!rM]grr2upeGfOFnc&[hqYc!FJcC<$JcC<$JcC<$ -q>Ys~> -oDejg"RtmClLFlA#P%C-i -#P.'Ls8VZQpA=miq#C!mqu?]qp@%VKrr)j&nauSSs8VujoD\apqt'=Emcs-/r;Zfrs8N6$o&fB: -rr3W0r;ZC$UlL"NL%0#tjnF>r5lK[^$o(i:b#6"K!q=="Mrr3E#oCVeSs8Mfa -naZ2Hrr30!rVQNjrVQTsq!@>?rVmu;q"amfs8N#mnEfN/qtBUTrVcQbs8)B`s8;WcqY9j[rs&K$ -rV?3^rVlfsrr2p)r:p'es7uBerqQHkrt>;$nG*%`r;-'Uo(W.`s8;`hrVlg&rVZQks8W&prr2p" -p[IVFqu7!$q=jpdqY^0`rVQTrrVQEirt5(to_ngirV?Hkp@.V=l07[5rr2usq#:lolKdd-rqZ3V -p\jsWjR2dAs"408j6ZO9o'l5ApA4:Fp](-]meHYVqXNqCrr<#tnEoK+pAas`rVZ9TmHj01rVuos -@fQAsm-O63m-3d#m-mI'T>p$M,:p[mk9kk"ZHo'>T.i9'V/s8;?IkN_[9rr4)>o^;,>r;6BjmIL)InE]?& -pA"UbqXj7Gp$qDf7o^1c" -jn&NPr:04Qrr2Z`o'c)Js8DHTo_ngiqsEbDoBYo6p&"X\o(2PSq"=R_o'5N5mdK`=rVc9Xo_A7U -o'uAKq!dYCrr3,sn*]iCrq%-&qu?Wjq"!b9lgOH;pAP$kqX.8r;HXZn`]KBs7l!Em-sK6p@@nSs8W)lo^qSEq>'seoBu8K -s8DZbq!IVKs8W)jn)s34qu6Wqrpf=Rq=F=Zs$ut_s8)9Mm.Br@mI'N4kMtk%rqZHis8;EL -hX9h#n+-8Rs7#ROr;ZfhlK@O(p\4=SrV,gInbrLcp[[nHp\OXXq#C'VnbN+_$h`fVs8Vl\lKR[* -q#::6rq#C?o(VkJoChnNnE]?3r;6$Pnal5>n*f]0m.^JY!WMuqs%;VFnF>r0l0I^'p%.M?s8VQL -kOS?^Klo'lDNqXE\2n+Zk^mcE^%naGf8q=XIWq"+=]s7l3TmHNj"kiCmop%IqLrr2p- -p[.;Es8Vo`pAb*Xj6cdDrs&;elL=?2oD\bJr:'">pA"7Pn`o/qmJHbOki_L2r;$Bjm,d?rqZ$Te -m.:2Urql`flgXoRs8DudiTBY"pAOshs$ceOlL+!-o^qG-lMCP\p?_#-lK@[2qt^-fo],0&o(N"] -r;-Haj5K@to^MD@o(W(\q=sg]o'5;tlL=iRoB5K.m-3j+rVm/snb)\Lm-4';rVnMGp@e(Emem(R -kO/$9pAb-hqsrn7nF?8Nq"":]qX*hJmca'(s8W&nq"F1?lh^S["S:mGoC`+V#P.*Bm-a0)p&=sn -o]krDrr4/=p[n+Oq"aaLk3Vm?o'l>Pq!dqNp%8"YrUAq1me?GHqu$ItnETcJs8;ckq"FFYrr<#n -lf[O&r;Zfrr:^*foCMqYn`K?@s8MEQpAb*eo^M/1m.9uMqt]pVo'Z)Br;-'ZrV-6cq>^?`r:p3c -p$qMAp\+:Mme?b]p>tcBruh:3m-Es(o)A[hp\Og[me$2Ao)A[gp$:r9rV?^Knq!mhCoC;24p&>!koc!`"o)&Ic -l0.m:n*0<;r:osZnF62Lp\=IUr;Q^!q=F%>o)AXrp?q8+lKRU$jlQ(4ruq70m-X38pA=d\mdKfG -p?qG@nF#`.md^#Nrp]@@m-O-4rr38rr;ZfpqXa%GrVm`3o^M5=rr;f`nFQMLo^hYBp%eFXp@%A< -rr4A>iT0S+qu#sToC_kRrVuBVmcs02q=O1Qs8VfZlL"NEq>^Kfo^VeVrsSi%na$,Qs7>F>o)AXg -&Fo#NnaZ8EoCM_MnalVSoCi1`"SM-Bjn&HNs8!6(pZ_&>s8DZ\lK@Erp%\Od"SqKMk4&BM#O^jD -q"jg]qYgFHq!I85qY^0Uk3;dCs7>FBoCV\Ps8Vrgo_81Xq"jm`r;Zchn+?GJoCi.^qtp( -q#'jXq"saUp@n:Po(MtSn*fuKrsnqup[IM3me$DRnFukVq>UBpp\apg(&%CurquHZnc&RgnDWF! -s8W&knFHDSruh+'kiqC"mf3:]na5i@rr;]^pAP$js8)EUnG3%YoD/CarsAZ%nEoDtip$%/r;Qlo -leq(-mN_2lq"t!cq"!nDqu?Qgp@e1Mo(;SPs8)?WnaQSYq=O"7m.L;V#5e#Wo_\Xdr;R0%nEoW/ -mdT]6nF?ASrrhu^lL=`NrrE&trs8Mtqu?Wlqu$EirsSi)q=O7Qr;Zfpp\Oad"oRiSn+-,KrrN&o -rVlolqAs+13$s+13$s+13$s7lVE~> -oD\pVe>/3*KFE?VI"@$0Ng-3A^YS((s+13$s+13$s+136rrMQ_nc'O"lg=??qtp$Qo^V53nc/RX -lg=60lK\$?qt0mQA`DIoe_TioAJ)^V7=n -_SX"&dG*C)f%JR$fAYrRhqQo=g>_GajitiaaNrAhhs0IgkNr$Cr8HAaiSiVKj4;,[a4JplbJM`d -kj%R*k1n_CeC`X6e]l+Xdb3UCk2+>,dG!OFbJD?RjQ>:K -e'u=K\[oDc`RF#0i8`\Abg,,*jQ#.KbJh-)[^*-@Yd(j_f\toQl0[]oh;dnhhpKZkcICLudEBPL -aj]/IjT4B&rT=+CFmSGUf?;7_g>^u@d*'PUdF[!uahG0h[)Bo'dGO-LiSrA4f%f!3g"b?=k5G>Y -lK[Qnhq?T/dETn]f]25ZjR_p,jPJbRkhF\Cgsk$:j5&,#_9(*Pcd'bXd+RF@l/17LhWdaI+6hU^$!f%o*.bg+JO^;.Cm]ZAah -rVuZhs&/.6aMPa.aOAAR`5p6I^pCD`e`lPacF^KjY,\Y:aNMK1\&QkGd*LG$h:Tukb1,5%cG7-( -]>i1=aN_rH^;.M#c/8*blK7$\dClZZUnX=S=Pn7WjfaUZ`C79]#)J- -_nWFSWOBX\aNhQ=ai;''Za7WodF$.Q[&p=%R%C=Y[aEgginMo'^UC2@TqA-b]uf!Zc-FSFZ+SW> -beCa&]"c;(]s=>oN00X%T;/HkWh9X[]cX0[D9i(_6^DX[B-O0Xg,") -T:MOPU8"ZjW1oo\U9DAVf[@F4TU1n-QCatQX/iJAg>q5GbJ:g!W1frk]th+\Wh>W?P*D9"R\HjZ -U77[PZDEY>LP>_[s+PoTK7SZ1LkUJ;Q*J9HaNV]G^;S11\[8B'Wkcj%`Pf^&[&]jmYJ.l[['m]g -cd^Od_83js_T9KsWiWeM_S3atW2-MmU8+HVTVAEi[(4#f]=u.mVkBlVTW#*$ZE0mnTWG]CaMbip -YGe(n_p66-WhcDfYeJ?,`3lP=Wji#EI^uSWY/&-!\?E!D^qR@j[Bd$@Y-GOVc-XG7VQdhVcdKqC -W3*YHY+V2SU8"H]T;8a.a2GQtYb\%jUSau]Q^jqTX/N#$WNj+WcH3i0USb3']u%b.]D@kWhH/bXf\V*Z`U*u -VmEn=WLB->S=Q1AUTpr'[`$MFhr*)&Z*hBZXdtlHSY<'m_nN[cWN3A8\?iTO[^3'5UT:W"T9u(7 -PEhB!R$aGE]ZSUH_7R=&\[%`rTqn?PT;Sp"\[/-3['QBkRAI'j\]1_NZ+n/eZa76U\#Q!eTW#l? -VP']bXf\Y2]",Ac]sbG_]=5)LXf8.oU7@[FVQ$W)^rOX@^p^PabJUKUUTLYjS#a9DaN:ljUT:Z+ -^!"U<[\T7TQC!c"R$X.eSuoN+Un+3^]Y_S;aL81MYe.p+beqKGc,[fG_7RY:io&D,Y+_i&]"uS5 -e_J`p[]m':X08_'S>EX+]!80.Unsij]>25$a1.k=VQ6u8a3)E;ZD=>&]YD(h[Bd-EYGn=nU7e$H -TrPB7_69K&S22[_0T&c-FJM_83gp\];h(ZFRcb^W47,]W\'(UnXZ^Tp_OR -W1K`\RZs,)YHt^K]tqCi[_pJ@c,-idX08_/XK8:jUoLAfT;T$.Z(d\_[(aAl]=5,OYck=:U8"a$ -_8!_$_mHPR]tV4)_9U*3Whui'\AHSBe'usi[]R$Q]X>&NZ*UsR_TL*A\[T,cbgFe]c-4JJVO\%K&FVlchlXgkR(R]*'RR%gdl['?j5 -Uo:5bSYNO.bfjV:^ppbS[(jVrYbn1dV5'c[S!^%_\@/ZAV5UQ;aihlE\[K#\ZDaXrTqA!LVlI#8 -]/JYe8#s5HgNFVm*G- -QC4DH[(XArZ*1.%Vm3\@^WOmAYFh8TYH5%>\#Z@*`REVsgYCE,aO]>%^p(&Qa4&PWZDOIrW;`iA -XgGLD^<4U9`6QcR](i]o&AcpkMk:NfYteMd*g4aceRL6`j;qc -c.^Xg`5KjKgXO3OZa-pE\C/[C]skJa_o9@(ajf&#h9QaNM`Te^;L[a2ZZXccjGLcIq@@i8<89`Os4>ipZmH -(&6e0ZE(.7^<+jXg>(chs8Cg-eD'-brs\#QlJpXNg"tK>iTKn3ru1RrjP85/dF?q-f[\^9p$1`. -oB+ZI_oglhWX7sJcC<$JcC<$JcC<$JcGWIJ,~> -oD\pXd[#4YD%'r`@VK_$H%D$M[+FGks+13$s+13$s+136rrMZbnc(lFkj%a6qYKdJo'Y](mf37R -kj%U$kNDF7qXWh4ki1CJf%oBKjlPL\k4nuQlMKi/o(_D3o'5;nf?hXY`R`\prn)_Sh;-8c\$`NI -\%&cTaOJY`dFZdme_oTNh:0j!dG!X@hT*IH_og?Vgumh[j66::qVB]Qg=t--gbnWf\tiIgXbBHf>=nsVPBl_[ERCahr*DLhV?Su]?8ggk2+Yg -d:'esYHP16\]a1"jQGLNbfno"hV?]-_RcqPWMZMiWi`kOeD9'Aj6#4KdFdL?fZV=Ub0SPbbf7H5 -_p7#riSNVVkiqO)na5W%h9a*WbLPG&eBQ(TbKeYdcbm5pWiNhHHbn"bl0@4Ne'Q@ogXslpaV*"Sf?VL^bJV$+ZEUdT -fBN;7qtg=rj3PNP\[fQ#`kfC+aMk`nZG"Q?in))SZF$p>YIMEfaM,@1e^`!jf\5*3c,RrWgtKud -]=5>hc,[iIb/(a(]YM\Go(D;/hV$)]Un!d:N//W$&+A^!,!Oai;31\?r?6USt?" -UoLZ'XJi(tY,nRsTV%j&TVA$NVlZefR%pLUV5'leZFI3F\A5baXJrD0YG.DIP_YDJ&\u2-mXhDTlcG.<<_7-SHXiSf9cGQucSXbt)PG"YPb1bh3e]Y_7W1KBAQCY%faP,:mcd',* -\C&gG[^EEF\%o\eXIG'!KoV1AOHuN8U6gdqQ):OTSY*7$_8!Rj[Ap=+U7@p[]>MY%YGn_&SXu@F -UnF-EsPjPnt<^ppM9PE_oL[&p-qQ&(0HJqSc1 -NL60%OH#TuO*P_aCM7?lAnYsrCMRp0E,^;OLoJ5/bL=YQ\%]_hYcOO[U:8%X]tM(]Xe_>PWO]^G -Z*V$[bgFnT\@AuR]Yh@`VPpr=^:LhaT:;LBP*1ofO-?-2Xg>UIZ*_'GT:)=;R@pIXW1ocKR@pOc -[Bd'4X/;D_]Yh7USX>k=X1QHq^oj5nR&.!kXJ)&X[_KS&ZDa_.]t1\^YH"Y%WN!8Q? -aNME%T;Aj&UR$n%Q'.B#R@pUj^:CJKV4!^>Pa.JjL5qUkT:DONTW#34a2>NmR%'nS\%fl#\Zr07 -XK8J,]Z/7Hah"jhXIklKTVJ-OVlQbgS"ZpiXg#1A[&]jhXK6cOXK]"@\uDX2[D'2UTp:n3TV.jK -VP'?AR\m-^S;rG^MMm=KO.`)VQ_:+H -Ob\[DI"$QtLPh1dZcLG8]WnZ?TSn\jPa%>sS>E-dWL]cbXHnj,S"QEgWO81_U9_>:Y-,1AZ(dD? -OdESWR$!`,U7n<^Za$mI\[/`U\?i99Un=0HQB7)jRA$[j_8aU9]N0^GIQNe`O_Xi/fEe',q[cGmH$[_'AsaF)"A]t:h\[DBhiY-YdO\A#S_Z_j(TQ^*l' -OGAgbRZWl(O,8gTUoCQ%[CN`NZG=c3ah=gNUSal`TqRm:R@]q7P+&;OUQgh+W3Wh?\[SiEW2?Dd -QC"AT^V%=r\>Q.(\\#MjcGd5fT;&3b^MjCPE1ZcS#E^0_S3[lX-8I'Q'IGuUo(E&[_0)PYb.GRQ'%2prgSA'Q(Y1X -UR.^YZE0OSKnbJKTX;PS^rjp9XfJ=iR]!*_T9b_3Vl[;=^;J+=c,RW+Q%FOBO.W,G]#r@Fd+mX4 -`3lD-S"$+MWi`D.Ye7NV[(!WaaMtioTqeTeVk'-4LkpqEKoVV&YG[hYTUM4@X.t]8R?NG\Nguf: -St9tgPa@buMj:E[b/hE0Yc4FtZad?;R[&o!Q^4##Nh*G\Yc=IjTr5cIa2bp#YHY@4Ssu+3P*D6* -UoLl2WMcPlX/reIa1nsoa32o_f$`@6kMFS&[AogjV4s3.It36,LlR^dTrkf9\Zr6=]>VRcPa$Ng -Vl6ANOdMfBZFIKGWMH/ZW3*>:b0Io*Q]I9$S=lj^U7eC"d+[1,g=FQhe_eojXfStRf@@gASXGq7 -S=Z@JX08Y6^r*^r`luB1X/)Mq^Wk-?[C!?BR[U"OU7.7&LPhA)_p?cS]s+H0W3s:CT9l.P[(=)t -gZ.=.eB,5%Yd_-IS-iZEC1)Xg,"+X1$!le'5tL`4NF[ZF.B^^o&S38^;S:FjSo/cjkntTlg3cij66LB!r`/qrVm-$q"FCJlKn3Crrr8ps8W#lpAYTck2bOY -hW3ttrVcN]pAFpqp?1Dig>qDeJcC<$JcC<$JcC<$JcGWIJ,~> -oD]O$pZh)+lgaN:p\Oa]nEK-(m-^Hgo_nRXp%eCUnF,iUC'ro`P2 -lL+HHrVuW_o(r@c&b52QoCVD;p$q/'p&G'^kO&*ErY>J1naZ#6oDSX[lK%:&qZ$Tpp?_AGrVmN* -mf!1aoC))2m-Es,rVuosr;?Nn"7Y=0nc&P$q"4=Slf@3jkOSKInFQSVp%8+[s"40Am,mBik2bU` -jlbgjnbi@YoD&=bp@.bTs7ts>jm2R9qXa+;kj7p=rqZ'^r;SAHqu?]pn`Jruo(i(UoBu&8nG`@^ -oBPK%lLaH*lh1/Mq#C0Yo_eR]qtBOKqu6TqpAXhTp%7bBmIKrFqu-Hiq>C-dp@IkMs8)E_p$D/F -s8)HXm-jQ#SrttY0qt]sUo_\7Us8Mrp -q=aOXq!IP=mI'WErtk\7oBGZBs7P[Iq"k!gqZ$KcmI9iJr;-Ef$gm*;lh15VrUfCDq>UC"q==+Q -p?h59pAP"@rUomQnG;nXs8VldpAFs_nFZ>>lh(2Us8DT^oBYZ1q>U?enaQ2Eq"t'hrs&,_n*]Q6 -p\b$sp[IY8kj7g0p\k+Qp[7G?n)ij$naZ,:mHs?1nFH;GoBu&;s8W#ko^VbIqu?Qep?^c0s8W)k -oDSOcr9s%Ls8VKIhW=A.rri&`pAb*js"sE9m.L5Kp%nRRmIp>Oqt9RNnauSPs8VuhqZ$T^k3hU* -p&"UXm-F6;o'Gc9o^DALs8Murrrr>rn*90,rVlumkihO8ruD"*kO\`Rq?q>:0kq=!S? -o'c);mdTiBp\Faap?q5C'_pAXdinaGo6oDJUf/H#,3rVucfnacGMna5T-lgaT8pAXjWlKnBHq>^Knq>('jp[e.T -p$_21meHe]-MR$!oD&.Ur;Zfoo^VJLrV5sRo^_A5n*fT2qu?]op%A.VoBkl7rr4_Kn+Zk^n)Wd( -p&"dco'Gf7n*orCrVQ-Nme-GRrr;i`lgXcFoBPT/p\Xmgp?Lo1p\t0po',Q^EjoC)5Eq!mnJ -m-Onb`>Ao]P`;pA"UdqXjCRqY^?clK%!ipAOm_o],3,nauVM -mca!3s8VNUq>C9mp?h;9lgO`Ms!@U?r:9CJq"saVq"+F^qY^!Oo^hkPp@e.LnFH5Bm.'uMn)Wg2 -rr63qm-n*pAWo&o?1o)AFZs8W&hmIpS[p@Ib? -n`oT:rVcTepA4FMmI'WDrr;fal0S3Fs7Z-Xo(;SEm.C&Os"aBGs8;iqs7u$GnFlD@o()5;o'>T+ -mIg2HmcaBEs82EYp$D5Is8W#dl0\-2m.9Z/pAY(!q<[Drt+hnq"3b5o_n[`q"*k>me-ASrt"eil07R0s8;L`1oD/@bqYp4'pAb*cp$qJBr;Zfrqtg!Skj7p:rVQU!o'u5;nFZ)Hl2^MVrrhrZ -k3W!Erser+r:ojPo_.eEoC_nUrVmE*q=X1=iUQaDs7ksMq#('hrs/MsnaH)?nb`=c$23rZp](9h -lg+6BrrN)prr36$q>'d[s8N#srs/Q%p&=s_o(r1^&H2D$rV,aFm.^JYs8DZ]o(i7a#l=2`n*]o@ -o_e@]!r_]_r;Qisq"O[c"9/#bo7?pms+13$s+13$s.97@~> -oD]3ZcC^)KK7\GoH[^SGL'EU(VS1:7qgncus+13$s+13$s184DpuUPrjlQ18s6et*hrsk3qWdA: -pAYNkjl57WiS<5EiT0>(rrE#ss*aV2lK$dQe(3:3j5A\Eg"=j,guI2>dad"'f[JO2hqZo=gsO*Q -^s:`nhq?E#dGO-KhVQc2g>1K=jP\hCbJC`qZGal-aMPd5bL!o)Xf\V'YHOt2`6QNC_T^-AaN`&T -ai_lTe_T9Ae%EB+\\6#,cJ@1'eCia=iQK-VEQQ;;^W!jdWkH^%^UM&)f\,$9gdT:M@6S$'?4[C3WX]Y;(j[^)a*Y.VZg -a3qf>`Q#KhVQ@\Wc-OSL\?`$(Q("MDXN8f?eB5S<[BQ@!TUh[NYe86/rm!gG[^sZ*]WnoX^;\:: -^pBYpNg696VlR#*Vjs!^9t8HW3`\7[]lU!SO9*HS!ftG -TVA?dYe\H,ccEJcR$?WO'Cbg#1uNdD32jSt)Ug`5fa'W1B<7MiEj`RA@$UR[92'SX>=i -KnfS[6AC2GJ:N6(KnbACS$pAU`lc;LsZEU-oYJn]']YD@hZ`TsrZ+[rUVkgK2d+$Ob^rFX@ -`lH!*XK/_=\$io\DQKh?XfSLpSt)CKX0B(K[BHsNZ_!JSS=ld_ZEC'sR@pO_]un='Y->(0[)LJ> -YG7VVT<#`TeB,.tV6%2C]sFN*X1l?VX/`;1]u%Os\$rlTY,enC`5fWtXh2d)aMG?eW3\^VIIkZE0ptTV/SZ&ceR[0A5TV80Z\@Sf9 -UnO->R\mU:cH4)HcHO;A]YM7k\\H2-_R?_U]#i+)X0B.H]#)4t`k]!iVP0TPQB.9)Xe`21U6V(1 -YeeAm[Cj8dZbOZ,`Oi4EV5^PtI]flRTqn`eTUqs[YGe%[U9M,<\ZVp3YH+FnWhQ;m^Vmk!_7m:Y -ZG4Q*b14bPZ`pdAX1Zd2d)sSN\#-:2XfAP.Yd1dO^rFL6\[8]R`llNC_mm7^U6_"-Q(=tkc+p9M -UoLVuSWoJ4TWZ)Wd`f_I];;$dT:_[KXK]IYs2P;UZ*L7'V#I-=TqA!SUS"<`XehYg[(EoRU7%F> -Tru5XbehWO`4!+YU7\Ho^UgVLZFm`baN)6<_S*Cj[@iSBQ^XtVZGFf3bf\>he\JPkTq\$LW3\u_j4YcjUeQ^F53S!g.SZF@-@XgYF<[(!-0S>)jRTr4ojJ#ffOUS"0OT:;=E -]$AU=]Y2%c[_Bc!Z_j@kXJV_kTpr$i\[\l?V67AOahtg+`5TU-[]-!sVP0EIV5h&I`O2nIY-G7C -`PoNp\%fo,f%o0Ai8WkVd_WGgU84ceSs>P/R$aG;UoUl4]"##FXh)Qp[%a=u[C3?,QC4JL\,X*Y -XJVS[VQmA,[DU2)XIP`PXg#=L[AK_#^X(Qbf%89e_pR5f]WA0=_TU-9XJ;PeT:hdLWj9%=_U$TQ -cIU:TXf.nbUp\4m`O`OgYbI_fY,\CrTphIF[_^/4`jr1JV5CE)Yb7J\XgG^Xce6u:eAJerTr"p! -ZE:!uWO04AWjT^ecI_.JkLe,!\Z`*C`6[3"jk.V^Ydq?W]!8BG_TL3VhrEbVi7Z>naMkZnYY2*s -U8+fsYGA#!_U-i\aMPO$[B6XE^Uq/$e'QS"iSVr0f[e?g_8!1X\]2q@d+$\(g;L.q]?AaJ]X>5` -`lZH?Z`U4*Wj'7O]!hUE7(';%Y.2?jcHsP@Z+%a$eC)Uhda6+Q]=4lDY-+t;`6Qrhg!7UR[A9=^ -TrPH2^;7\)_nEUoaj\PS^V7=i]"l>.bfB_$!l2psrkobpc.D(6e]u7Q\$36Wf&cc.s75-dWhZDk -[_p/bb[]8fp#afLaNiW,p%$nmf?hXZaNDNEce%(;p&4[RkMF_1]X>PrdF61N`6[2oh;$Z1a25R. -`lHTikMX\-`Qm5qe]H"bip#[gj5p=@p#k5ef@Jj9i9'h1p?p_rj4`/Gp%\Fa*VeaJe'5nMaOT2. -jlG@UhraV3puL2ZccjS^f%]B[rrW&[mem(ep#bH6rr<#p"SLp8j7n3*JcC<$JcC<$JcDABJ,~> -oD]Qgb)CCTAnGCS?Xd_eE-$;[R^gT#qLSZts+13$s+13$s184DqX!M5lf[s@s6o%,hs'q5qWmG; -pAYNmlK@(rrE#ss*sV-k2Y4HdF?k+iSN8=f@JF$g>Uc6d*pRtf$W+*h:gK5g="$T -_9^ophUg)qcJ.C!.gXX]p_Rd%TXhV`k^q7+h_SraQTqIsGTV7jN[_f_f\])D#_og0F -`50:.ajShjb-SI]ZF7NeaOeh`bgP(qfYY20]tOHR@_&Y4SZouG[&pjWcdC:qe]>V>\\?&%]()n]=PAGS!fS,T![&"fAGB2 -c-XncaM>6dUn*^1rf%bWQ'n>M_8s[?e(id+a32u^`O2_IZFdujJ%N(gXL#U_dEp+oj6>q!lfd3\ -eB>P1Y-Y^T^V.+^Yd(RT_nE4GQ^!f4Uo:`GgZ%&GbJD6FdEpCicHk;1mGlgJccO)9Z)jn+ZFRip -c-k+pg=b$'cd^Xsc-OSL`6ZZ=YGnD!Y-PCH]>)D7f@e]k]=Gc&d`fYF^;7h/_>h7L`dPY0WN*DE -d+$Um`Or^i_n&^;$kDS#*R6c,6`WSY2[LUp.JLaL\[ndac^hd*pUrb/MWYf[I[BYcb.<`PB@6b.P'e -'"5^)f\GBCh:9]XTotCnLkUG7reWh-&gXJ_efVQHnr -Ssc%@VP9WQVlQV]P`h<"S"-4S\ZDm<]u@^lWhQ*aRV8+UPDY*TTWG,jWiiS4\%/rTY+(fR[(X2n -d_W`8_6fl)Ur1F%b.tE`Tp_!uO.)H1^WtBV`3ukJTp(Y'P*MW?]$8aPcHj;4[`?CqW33G5]Y_Fo -XI+frKo_C^S"QLHObo$\R\$*cR?s\U_oTd/[]5jYMNF=,\])J&\#Z?oRA$:MVOs-4MiX$XLl[g_ -PF\eZ]>2(l[@i\AMMm=FKnt_RUU%nhhW*VA]s",lMit-K]!SE(O,&./H$amgMOBNfMh?V9I;in6 -An,.P?!q@FCh@X+EcutqYf4Z,eBPn7[_&`@VO3LA\\P_[[(*'7VOF$T[^rH4TW>cMd*981]#)1p -^Up\HV67//YHkI,S=c7;P`(BSN0Km0Y-tC+W3N=dNKo]oSYW-WRZ`f!R[g:]Z)4:rWdgqK]YqUX -P`CfjUq+ar_6'5mRA?sfVO*C:ZF-d/UoCW2^V77^Y-G(+U9(c9^::,=ZGal"\?;TuVR!e1R?3Ss -NJWUZRAR@#XeD8MNJrgOMi`jQO-GiqT;AH[Y.i--ah4[)=Q(4h`[^WQBWNW\8XK&%eR$El!SXc47N.c_2IsucnK8G_a -Yee>lWhQ8\P`(9ROHu)lP+A/:T9u1BRZWJeS>2dTZ^dAOWNN8"Y-=mtPDb9YQ*$jNPEq]3USk6% -['6[4W3Vj>N/j@'YHbdEUnOWf\])n2\%'AsaMl-1\\HJ>cc!W$St)LPYd_'WbK7E"VP9?4 -MMd7EP+\_EQ]RQ'R?O&6X0T:HX.#]_Z)k4F_n3I]SX5kBW2m&#Tph:4P`U]WMiO!fS"HmgU6Ln( -KnGJYZGt/2a`bhTcc*N+\?rEF\\lA"YcY%9_oB![WjT4?\@/fW[&L!iOH#0NH@V'KRAI$RN/rpr -\\GJS\%B,Q\])M$ZD3eWT:hmPURRF4S!]=uPFS52N/EdlW2cu!Vl$DfQ^4/,R&7C/]Y;(bUnO]s -`Q?0KbIagQVf8B&\BijSb0.]0U8P&iVQ$VoUo:H']YV7fYd([Ub/V91Vk]lJMMHt>Lm"[EYFLuN -T;/'EN0'BpW4L-saMbm'Q&(9XP)kitT<5K/\$)X(QBRJoOcYZbP*V>nQCsn>R%UObY,%5;Ll@Rn -\&cX8^<4g@\%&W7RA6ghY+qVg[C3rm_nj1(]X55QQ%=@6KUJF1]$&LKd+I@0^9*riQ'Rr;X08S* -Wj/V(V5g`/]Z.dqVkpDqXI#-3NK9*YM41$7Wi2PbWMQDjWhP]?Q&pfZOHbrpRZ`YfM2[@IMkI`- -c,.$#[kk+g[Cj)NSWoJ4R[9\8PG>@iZ`9^lWO0[a]stVe]XY8HS!0)%OG]-jU9DAGXJVSdWMs[> -]Y:bMYID9feCr[8hr*MKbIXjBOHc&pL4";uIt3?7Odr>U\[\iAWO0FWXI5HNW2ZYSNKBI#Wj&h* -T9tt:VPU#l_8s0)`m`Mg`O`+BT;AK\ -R?3JsVlctpZG=`2g#qtif$24L\@0,nce.17f?1h7['6pDXfJqMd+-t5kiV!beA]2>_G@SAXK&%c -R\QpYR@p[tbL+JK\?iNGVQI>A\[]Z-dFR@CkLS>Cg!@[O]<&0E`QliYe_&d6`3$&Mb1P%V\@B8l -aN;&tVkKcXVQ[&!V57V!X0&D"WNj+Ra3)E6['n!#d`otZdE]qP^UKr0Tqn]s`mNMugs=!UZ(-i4 -P+AV\]=u%q]sY&I]>_h,]XkV[\%KVuahts1_7n"/_na+'aNrbpdE0GD\?WHZeD^3&s)@PiaK;50 -S"R('bg+GckP"&ic-">hlLsi0inrD5aN;QEaj8Sukk=uJk2+Y3^pC,Q_9C6F^;\R\j5]%Md)3N- -^W":GlL#s7PI2gY19>hrqYpNpq?6KRi8aT`s+13$s+13$s+13Bs*t~> -oD]O!o]PK$lgaT?s7ZpToC2>Hp[RP3mI^,Hm.0oI -p\":Yp?LPrp&=tQpZg\up&G'krq5dSp[IbMp@n:Qo'l,7nFH;Cl/qC*pZpu2p@7Pp\XXPmJ$Y\r:'4HoCDJ@lfmm4rVH*P -mI0]?q=jLPqYpLHrq>U@o_%eGnE]9"l0S!3p\k-lq=X%7jR<-Krpf@=lgaQ5m-t#Pp#au]lM:DY -$MX#Vn,2hGn*/s'rr2ujrpCTilh0N"hs1%;s7YX8l1"69rpoF=lh(/Ps8W&sru1@nn*B9-o'5K6 -s8W#`kO80Fs826Hl14WFqu-Nro]>Q@rs&DsrVuoopAP"$qXlL=iMrr<#pn*]ZDrrMuprVm>u -jQ#Ruo^hYDna,Q3rVca%r9ie.m.U>Jo)AY-qs`e5mI0lNlgafJp$qYIs8W)jmI:,Ts82]mrs\et -me$ANoC2GMmd^;Trs\ntlK%:.s8W#mk2c74rs&GrnaQ,;o`"jjrVlg'r;ZfpkN21-p\Xmg)?'C$ -oChVCs7uC6ls7GdFiT0A#s8Vi^m-O?As8Vum -s8VcYl0@U/s7uNjruUe!nF5i4m-F'6s7QlLOrHpAFpi0(ei*lg!p3s8Voc -qZ$T`kO7m1pA=d^mHX04m,@4+r:'7Kr;ZfqrVuchmHZqr@&;rr2p, -q=spgs7l!OqtBgVlL"QM./N;liop+9rq#IGp\+:Wq=j^brUT=Cm-3s.mIgMYnauGlg=9qY9pdqXa4Kq!dV9oD/FdqY'FBm.U5Fs8)Eds8)6Lo'Pu@p%nOQn*'3;s7cEj -qss:Pq==(Os7GU0dPl2L\jrr<#lmcifso_A7[rr3l6qu?]nl/h@4s8M?JnEp8Up?:`.mJ-SMo_ndr -q=O4Kn*BN;s7ZHl"7u0QqYpKunb2hPnG<.a0DOnnn+HMSs8W)in*oi3l1+NBqXWt?p%@nImHO0= -qW:p@RV-kk4ZAp%eCOjll-ujQ5gt -j5]Cqrr5+Ql0.fArr<#s>l+-\lg439q"a^Vl07a6qtBdYq"a[Un,E+Sp%7\BpAP$kp[[kBlL+-2o'GK( -p?1])lLFZClg+9Es8;KWm.9`=qtp*TlhpeVnb_qEq>('joB#'*rr2NOhsLFC*W5d(lL=T=i9K^u -r;Zfel0.U+md^)ElK%:!nFce[rrMlfrr5=_qs3D/o_S7Jlh^>Hna#E*na?#Do^;,>s8W&jpAFdY -n,)nLnbE%^rr)?Gj7NBOoB5cGs7P[Eo^DJQs8;6Mo(W+_)uB![m/6n`rUTOOq>^KhmHsK=o'l&6 -p&=s`qtpD#mcVZ:q=!_Bq!d_DqXWk4 -oDe^Uj6cdEs8DHMkk+T;p](9ho)8Ld(]*1Wo_8"ImdT?$mJ-YXqu6Qos7+n%nc&PEo',Q5p@nUe -qtB^UqZ$$Pn+-/Gp@Ib>mIKoAq#CBhl0.aL*[n+?>Os8W)o -p%@qCk3;OLo)A[\ -jPoS's8W#lp](9jp$htH*qA^enFlPFmI9uIm-!s:qu?]prr<#oq>0pUj5/nirr3-#p[RhNrr3)u -p@@bQn,htDp@\Fgqss"O~> -oD]Tdc(C#LK7\JtIsHKpK7JT4Q_Cn9k4sT.JcC<$JcC<$JcEC_AEr(&d*^@nguIGLe'?1eg#(`F -i9'_4qt'(9me-GC`4_RI2%f[sf`cGd`HdEg4nd`oeG[]lg3[Cj2_Y,eh;]<%m4Yc4CpV4a`u -a2#0laMl$1]!o#O\\?#+eCDaVYd_*GZG"2pbJh-+^rFL<]sb;Z\$)p?X.cE)cH6(W2-N&^<+^B]rn`Xc.:Ff^q7P&\?N0:TUVC?Up%>@]"Pr$dacROW2I2Pf$(k;\%o5C -Tq%RI[`ce:K7h9O-X[]QBuS=>q5QBmo.T:iF%_S3n5h='7LdFZmcZ(7Sg\AQ>%\>Z@.\AH;' -]@5EiiSW2._p?K@[]TS0I]TZTYck++WN*eL\>u0eQ^k%OUp7toiS`A*[CjGsa32N@_p@2ue]>YF -^U^_RW2-H"]th=o^rFXHda?7[bg=h]aM+g[\@JuRZEL=0Y-GFF^<+gSd`o>,XLH3paM5C!]YhUu -\@TYs]WIp(ZGFf3ccEf-Za76JY->(3Hb.JQc,$rtZa-jJZ)+;$]uJ.%Vk9ieXK]18W2Hl;e)00M -mdBZ0jP\hJ_Q^2IXK/S3X/`_Rcb?EJU9hkcaL.h6SY)UW^!4s@Vk108e'ZOccdgIb`6[8hcFU'V -VkgE1]u&%;\ur0Aa4/J[dF[("aKq@uP*:ujOsH9UOHH!0[(F,bXIu&QXh)9W[D0i*[&'1XR[U%X -SY`HjVk^"lVR*P.TphOQ\$2j0Yd:I-Tq%p\Y,eS,\#ZaJce$Rb_R-85TrkZ'V5'6;Vn'CN_o9R1 -]!895V4+!X]=bYkeAoDBa17t;XLu?fb0.lC]<7loQ^sM:]#;Y+\Gi[GXdboSS!TP;XMW9.cdU(P -^W"$nVQmkQbKe;K[@iVBQ^abMYHtL3R[9M7StDaMS=$b6h:0EQY,@VHQCt.]^:D.qZDjIl\$WZT -Yb@JRSt2.3S=Q+CYHG7Pc,RW0Um@72SY)@=R[RTXZc(,6eD/m(\ZMQnS#ER$^qmCNQBdSlMMd7K -Pb*boObndKM1gA/JV&K+KnOf%JV&H)L5V@l]#V\+bK7K%\%])JY+VPp^:geOYdh!J\#cX>^:p\D -Trl8]cc3tP]uSaPa2>^'Y,eb-V5U`8ZE^aA[BQC#Ssl1CWO9UHWj'.CSsQ(CV6%#1YGIbPR\$7_ -c-!JoUnk&u^Wb61T9bh6X2EW?`j2G8Wj9.>W19`iuTp_OLV$a#pT:D^^Z`U$tRf8FrNg?KR]!9hVmF7bcc3AhP*MK+TW>ZD_QKT3 -['d!3ZbOc4]VVF-V51)lVkBWW\&#qfTU21CYd:aBXfo4N`kAai`lc*&]=>5QYHFt+U77I:R?`u" -Q(FqRU7.@2O-#WrS!TG0YbdtiZG"?,e&SnqU84Z`FI/;^TqnTj]>M_.]X>,T[DBSaWhGuUU8Xuf -W2#iLR@oq3RA$[h^qICcUnFNXRB<3TVQQqnT<>2rY,SJ"QBR8jV6$Z!]re*)X/i(pYI(=#QBn#9 -XKSe-W2QVnX2;`h]<\B5WMH;[R@^@WUoUVqT:^J3]>DRsX/rA!Vm+%ZbJ:6SV67S=WN<;)YIC[2 -SXu[WWMlPkWgo01O-#[!W2ZYjWih_RPE_T8Zb"Ds['[saPF%]% -QCFPCUS+0a]X=f@VjWg:R\R."^W"LHc,RT=`jhnBYJSN$Z*(OA`QYrpX)+uB\\5J^_Sa+'XeM8M -O,&X[Z`Lj[WgT<@Vo@*$\A?5&]>;M)]s=DuU8P&pZ*UL-Wi`4kR\$4GURRXCW3!/)VP9rkWLKBT -VQ$uBai)*;]!/-5]?f$Uh:BWX\@JlAZ,tJ8]t_1`USk"gUSb3"Z*h*R]u%b(\?W-?]YhIm[\]jt -U77F6R@0bU`P8CEV4=TgSs,P5S>s?Qg!n?ka/kkuS"QFLW1^H.]=Fu9USt#aUo'uYPa@r2Q^OSB -DO[8pXgY^BTTth2SuTNLah5.!]!T#UVkB`j_o0*k]#;>'bf.6(Z)X_,Yapi9Pa.u=Y.r90ccsqr -f"ePfT:hRDX1#RK[^NHBVl-W&]"c;*\uMEtUnX9GSY2aRU7e`jVl6MhVlmA9\#lL'?D=!^T;/9W -SYN?[Ssu.X0T=Ve`,cRg!nd23R>OTWM,u]W1B'/R$O)-SY)mf[(F&_Y,o"E`jr:W -['6I#U7RmKXL,IFZ(dDFUp[Y7YeS8pX.5\nTq80j]s+0$WP$U4g""Nj\&6PEe%i5jYe7igZD3t^ -Tph@8S#_mZ\AR%'qQX%omuTV&0hZ)P.Md*C%pk2aq1]!%s*YJ.s"f%nruYbAM8\[&!$XM2TndG*^B -iSDkt]YV@iX/i@tR$a_VZ)3na[DU)&[B-I:ZDk"?]eQk&`m2iSfA"lla3DfD[]Za*U9;/LbL+kk -h:TQCV6n1ka0_nLZaR?e_RQkPX0B%4ri7'@X/MqmUSk<'\\ZA+[]-=!`Qm)le&Ar,Y,7qf -ZGtS[md&ib]q_-jU92#B`PoaAj65LL`kK=:gYCK6d)Wu:]t1b_]>D_?guR_ajk\G,\uha<_Tg>5 -^9P/cc-t4jaMG[-_oKd6ak#(h_Rd7qeC_sW\\utOgtLH7lK-mOb/1j(^V@S)cI1%^ajJMV`m`c% -p$1]'kiUdSaMPKlY.)R+gY:H4dF@"5kMb(=`kfC(^qe"Cp%JD$mbcRHiqWQRk1e81gudh`io&S< -b0])ArrD9^k6C)1jlZ(+rIP!"s+13$s+13$s0M`U~> -oD]Tf`ee\JAn54Q@U!;UBkqU1LmG9giV8!(JcC<$JcC<$JcEC_D!p?;eCE.!f\bZ@d*0Y\fA>EA -hrXP2qXWk6n+QV?hq68sa2Q'8^;%J(d+[F6h;6u@e^Daa_Rm=l`QclZai23U=e&Sr%XL4mi -P)P0WVT-d)g>:E3g;q(:W19'1L4k21JVK&EQ'eJY]=GSqe`>)p_8jR'UQ:Y3Xgu'QYbIkhYeJ#h -]%#Qul0$pQ`lG`tW1ffTTr"T`VP0WRTs_5.SreheO.D],Gc8F-gtp]%\%Tc#a32TC`6dE&fZ:e: -['$=!R$=);Z*h!K]u84De'Q:\bg=e\aM4s`]""`;Vkp/`VQ$Z!ZbFW/c,H`XT;oN@^9k,HZF73G -Xff7FZ(dMLUU%VL^q$YJVl6bsV5^Jq\BNLI^9t2IWhutqR@/&jZFdlRSsQ%EV5^_oSXujreDTKY -oCMV?kMk1@Z_="bS"-1JS=?Up_R#hqR&7=*[A9+OQC4;?ZbOQ!YGAVNeBuUccdgLd`R*Dhc+'^K -U8"^)]Y_q9\>lO6`mW2Wd+6dn_lAlRKS+i-KS>26K4Kq0VQ[D2UR%%*W4BXLZG"5sYb78GP`qZ: -OdMf8SXGq;X/i(dPaA5OW1KQVWM>oKOdi,@T:VaXV6%8NccNl1WLT3=USt&[Q@jjZX/rM7\[]/S -WMH5YO---@Za%6k_nEa5^9EugUV"F_`l#KrXIYK,Ll[IYZ,";kYbe+gTT"tsOH5TsWPQg'bKn/= -\@oJOS>`g(_8sX/XHnKgL5M+]Sti'LNJW^ZPF.f+PE2`ad)io'U6^F[Lm4F0[BdBNVOER.Unaof -T9+haMMm+>MiEXZUoLc9_7-VDP)5!Os,JRbJqSi=Uq"CcdG!Bu[\]@LN0g6:Z*L0eKnFl!F)c/> -HA?g!Jp2*OCh[LlPCM[d(EdiOcZ6D -Z_EqYTVem!^;ln1N/VnDUV"mr]VUpWQCXeDRZEK(]=b>8UTV/EahtZp[Cj,TUnt/jVkT]V\Auh" -UmR7%O.<5FQ&UuoP`qK$Q^t%QSsGV"K7\Z%KTD:TPE:W[RA-FKY.i''_m5khLQ.C]UpIkKVjO$R -W1KE\^dR?!2lTV%U;V4jWXS=Z.+L4=i?R['>?Q]R?!T:;FLY+_&9LlI[j -TUq^CR$X83ZaI-DWM#lWSXPk-Q_'k=StMO6Oe/V_^pU,NdlA&I>*]JS!]S6U6(:hLle(%XhM-@WNEM=a2toqZG4H%aLSag^<"L9\\"u:R[g.R -Yd(aT^p^;>T8e>JJqer8Pa7JlP+o(WTTkn=X0f44SY!'nWiWtS]"bVNSt:5'Y-kC0Ru`A_O,o'N -N09NoP`VcGW1BKGLkUbJRAm^1aO/Pa`kT=&YFV2^]#VLdWjK%KaLA%DWi*),Xff4G[C2`mLP0ql -Fb?QbZ+H`mP)Z*Hagn[g_nNOi^q@(TRZ!Q(T;&3]UR@UBRZNGfOH5K\L5qRhRt%''StMpOO,]Ts -SZKQF_SO-mUn"-db0nSje%r;kX.buaaj\5A]st)3T:haKWNWA%WNEJ9]t1JKW3*SE]!\]*P*;&f -L5(J8M4CcPSX>t1TVIa/OHu3.]?f$Uc-!qqM1phMPE_MuTrY5nSMN*gn[Dp+o\&,ec]ZU8kN/^q[4NR[p.DPa.O5Q9ULmUnF9MSXH"BW3*.qS!]J#LPCbJMM7%W -M2@"@Ll@.EU:\Lg_7?nTZ`U=4Y,%POV5p;[W2#laXL5I8SXj`%]Z@stY.`-.`O;q?OHYujJ#%BO,9!nWh>NI[&g0nS#O$?cI:J$iS22I -UTqYb`jMnMZaR?c^9Xc6TV\WVR$a;4SXf\JG+Y\8Zb!ul\#614_T0X/^r!mtYc=CnVld2/\]E7C -d)s,6\ZqfaLQS75\%&iNZE9srTrkoF]X=oCVPp]1^VIRu`5TU-]"#>c^;eIKbJ(EgWhc>^ZGY2N -ki^p[^SI9_PF&5[`l5mCjQY^Ra2#U>g"Y03Hdg-U^qI:g[(*oneD0'FiS2i']WRopY.2Hk\u`6U -d+?pta1]'r^;@b'b1b\!`Oib%e_86\]u\d[gtC<2kMk4CahYU#^:h>$cHshYbgk:ic.V4Aq!dY9 -m-3N^a1o*eY.;d0gt^W5da[1:l/^REa2,I$^:hP;p%JD$n_r'MiVO~> -oDeje''\K=n+$#Do_.nElg+!1mGm:#JcC<$JcC<$JcC<$rr3#troj@`q=XU]rrE&grrDijrrW2t -rqud"qt0FMp$MbY+oLrtj5o=an+62Ms7ZBhq=spgs7bsFlgO?9qtKOAip-:;s8Vj$rqc-Pq#'sS -k3MjBru1e0r;Zfqrq?$VoCr.\rV$0dnE]Z?q"F+6m/6kcqW?l0rVn89lgsrJqZ$-`r:]m]p$M/E -s8;TTjm_g+nG3+`q=<\6n*orBo&oiJrs/>joBkf1nb2t^)ufL'n*'*2rqc0RkMPCos8Vldo'u/6 -me?,=q>UC/o]tr>r;HZoq#C0Xk3`3Kqo(MVF -q#:9qp$:f5rr3GumIpS[p@7S/tlLFW=m-j]Js8M`arr<#h -iofRmq#::Ajn&HNrr)QVr;$6irV5pNq"spYkN(gpp%J"GlL4NJqu?]flKdg#l2KlIm.:5V-2R*! -lf@7!rVHNns7G@2o(2DBpA+FQnEffDoC)8;lLF`Kp@\Fas)@i+o(;VFlgF<0hU^c]qt'CPq>^9U -lfmNtq>^B`j65k!p$:l9s8MWSioBJ%rVcWiq=aCMp\=RXm,mp>s8Dnb`7] -q>UBpp%J@a$2O8bnF,iFrr)fprsS>Zp](9bjR<-Kq!J(E$1.'Alh'o;jQudBrrr2akiV%!rVn)< -oD\:>i9^ICs7c$Tqt9UYq>^KkmH3U)s823Kq#CBmoC`+_#5J#kq"*qJr;R6"m,[R4s8)9NjlZ%, -qYgF`p\=IHkO\6Ds8)Egs7c?frUoOBoCr:_qtg95s8Vuqs(hW&k3Ma>s8Mfbn*K<0q>:*eq=a%@rr<#rna5`-n,N7Hj73$Hs8DQW -o(W"Wq=F.Jq"sp^o'Yu=qYg6gs8Vo_kMtglp&G'_lgj]>naZ2AoC;_Xs7YsSq=F.Ir;Z]jo^qhI -m-3p,o()eKs7--X'CbSao^hS>mdK]9nF?,@n*TB.rVlisnfd>kp[IS?oC28?rr<#fl0[m3s8Dfh -q"Nt:lKe6Fs7PjXqu6`lo^;_D2s]l/qY'OXs8MZdm,dI!nal>;m/?qNo(:o+o(i.YqtU!\n`8]q -p@[tCn*ff=p\k-lp>tH'nbrJ!n*BTDs8W&ek3;dCrpJ\,qu-NqlL"TN#lF;jrV>gGoD8Fc')(VP -jR2d6r:B=An*oi;s82BSrp2*&oCMJ9kNh^/ki(I]o)&=VnaQ5Os7kd;lgj`Dp@InNp\=LQn+-#8 -l2L]$rU/b6p\"@^rq,F9nGWCbna#W4p$q_Rq=".Xs$ZbYoCVYSo'5f?n`]<.n*K9%l0e'3p%S4N -m-Eoul0[p+mdTi9lfRL(n*'9@p@%A0lLX`8lgONBrVufoq#CBho()/Hru:M&q!@,7s82?Umd'?1 -o^:f&pAb0\m-a0(me?_\/bAZ.n*96!iop(6qXX+BmdT`:pAFsdnF68Np%\Rcp$_;4kjS?Bp[RbB -kN;L:rt4khj501gmIp2rr33%p[RP6mIU>W/,f;6nc&7Up$Ci%meZkXp\=R\n`fB, -nF,i3l0.I2s8Vfdqu?Qdn*o]/o`"jtnD`j3q"aOMjl5b.rr`5go)/Le*;TX1lgF]NrV6<_n+#u> -oD/7Pkj7j2p\jFLp\b$j%J]8\rr<#tp$_PKq=XR]rtYG%m-soPs8;Q]l07a1o'u>Iq!m_:r;R5u -m-O#skP4l>lh:ARo`"kRo]P*!rr;fco'kl>s7576pAb-ao(VqXs7Y^=kOSEBq>'L>pAb0dl0@a5 -s7bmHoC_hLqu?HRiTKt-o(;q])t`b#rU/b2o(;G9mI0?+n*0!#pAb-bm-=*-p\t0tq>U'`p?Ur6 -r;RW,lLXf8nFlnZn+cqYl0n*-me-AMq=X7Mrr487p[ReOs8VTMj6#h%n+HJCmHa-.q>9pUnac;D -p\=LRm.0uOrVn)4qtKXQr:oU@p](9akiV+%rr;ognF,f>n)rp'oBk_umeZq_)>NUcjl>t4s75aD -o_@hAqYTgMq>^B^m.'lMs!%%#o'tr2qu63SoCqb@p%@tWs8)?[pA4^cqt9CAq#CBhqYpL!r:9.C -rr)Nhs#fc7nc&Rfn*pAWrq6!\p@nCPioBD"rVu`do'Yi5p@e"Ep%nORm-rt4\go'>lDs8VoXiUd*Ln_i?orr5Cbp?q;:oBto8lKeEKrU9+Bo(;YRrUT1FqElKn36mHNj1rr4_Mn*'-.nF?2Eo'c)Cr:]UT -rr2fhqZ$Tkn*]lCmd9QDq"t*kqXa:Ws8VQMjluI.r;?R>pA+.?mIB`>s7,UImdKZ9o]k`3rr2EM -kj\WPq"OIJk2kq+rr3N.q;LH&o(2JFp%.bFp%J1[rrr;ona#K5rVm3#m,7!ts8M]\o`"k"p@RkA -n+,r3kk+oKjm`9L;uQ1RnF6>To(MbMr:97IpAb0`n+ckYmeZbKo)A[bmJ$SUq>C*`p&G'`m-s]B -q"k$jp#Y<)q#(![nbW:cqZ$QgqZ$Tequ6K]lKn-/mdBZ=q>L==o'5c:m.(&KqXs=Rs8VlTg>DT' -s8;`mqY'UXs8DZ_o_/%Trr)j#r:]Lo -r;Zfprr)iurVQQlrrE%Ls+13$s+13$s+13qs*t~> -oD]WjeYeI`MM$G/H[gHjH$OddKT`+Cf'2gXs+13$s+13$s+11NqYTRX$i8r__ko(r=]o&o<5s6&Cpc,%'']!B/tbeq3+[(3]\aNVu_jl,FehqHoEhpTNW\[/H> -YHP"'Vm4+egssZmccE]*\?`01Up%PQ`5K24r^9Of@Xg5IL]sb\k[BR0U^ONl%WOC71f%8]t -Z)b4Ga2truYJ&-*dalFY_RHhVX.Z)fZ)jdiRAd6fXgGO@V4aBVXKJq?[&gmW`OW"BSXuX\Xg,XV -[]uj7XJrJBc-!c3Y+qhs[^W64USOZZVlZAVUpReEY,JP:_T'mD`QPrtUSkN1X.,WHR%gms[&j8+ -8ZT"uYck@Wng"FB[ZDXCd -Ob]'[Pae"uNLHQF]thEjajo2"dD`o>a1A7:R[p1Y`Q5ieX0oIK]t:\ob08/Q]s4WG[^WK>UoCQ* -Z`g:"U8bH'\$Mp#S=lXWY-b^O`6Qra`k/agY-GU]a3E8gaLS^k[B?L,UR[^;Q)1gnGIYH)_TL:E%^9FE,TmNN2X.lGq -_pZi@V3R10VRX=GW0s9OSt`F(aKVS=Y//K6cc=5P`4`t5hV?AeXJ2;[VS:'nbKeDHWiNqcf"nZ' -c-!PmR?EPfNf93nT9YD$V6$i(X.Y]?Q_Lk(`PfX*ZFd-)PFS_`]q:X\T:).ATs(PoSX#S@\[c1M -U8bH$Tp_LV]stJ^]t1SS\BE:A_Ss!cUoLr>Z_s:WPbG1a]>rLXKS\'WMcJ^Su8s#V515r]#2@r\[f5NYHP4IdEf\>_TBj;a25?cU7@^F -UT1N0\#u^4['6F0UR[mJSt)=CUpIA!UT'WYZFdc\\[&3#Oc`;-ZGO;ZTUD(6Vmsq#];(XZUTM>] -eA%rRTV\QbTU1b0ZGO;VSu0*?aiqZ*Y.i&t\?N0?W10?U[E7%K[\T=WQ_LU^Z`U.%VPg>.V5pGd -TVA6VTUhO7N/NpjUnXEGR%L4NStVp^]u.CZRuNGnT;AHg[^iuWX/2VcT;0?K^q-J3StV^JX08Lt -U9(l;ZD3q[SthsUYcXe,a4/S``kK!lZbN`CYdL[5W2utmR#m8aM2@1QP5^P`P)trsR[]h@V50r_ -X15RD\\teQU6h7?TTYJ(S>)m\YJ.cj`O;nJT=V\=U8Y)`QCb"LS"-"8\AH5)`4;C? -UoCf<\Yu!nZ+I`\ZE1=@\@&ofahl$4\[&HH]u.gmU7@@,R%'J0S"ZRJR@:=d\@&?,Pa%AmR]s6( -Zbk20]Yr"1Y+_;e^Vn"g^iHs+be'dOZb*H=WO'4S_mZ;)NffBYLmG-CZba,=MiaU=`59*t^r4F: -`l59RPF8DMWNNnR^94]P\"o=VS=Gq/Q_'_?VP0`[XK\atR@'\DZcLG2^;$bQYH"_qDX/DYZVQdD4Y+qANPa8>f_m[!#X1#O> -W3`n4VmX=RZECXNbgXnR\@T#EUTCJaOHc)rQ)Lprc.U\IdrNaS^9XT)QDqI/\\#`"[]H-lW4Tp\ -bKR`!Q^OMBT9PbI]!835WhubsVOX9YZamWPWhuM\Str0RSYN-^S=,V*Q'[o.UT:`0['6mI`5/pb -U7\0XZbj/JXKS_6^W"7)VP(04cG-TjaP#A#b.F^KU3NB#PFIl6^sgTAZDs^lTrG<"V6-quUpe7c -ce.%%bg+25VlR/6Yb@DIP*D&jOd)rdcHt1naL\[\Xh;Kd]!864VmWS!TW,B1[\T:OQE%O0]!Al^ -]s=E$QCF>5U8b/fSufB=e(N-aZF@m/fXn8m]#MOkVP'S\SX,M-S=ug`]#;J*aihlJ\u_NqSXuCF -V6%>>W1BEEQ_^[US=H(6Q_:1T[(EN7U9LeuVlZkjU9D#6YcP:P_mcM3Q(=ePY-k[CYHYFF[BR<^ -rl]Z:h;m&&\[f&FW3jale(WBl[B?sU];D-hU9Cf6`Q6TigrI=@Z+.EV]"Y,;SXc7FV5KfOVn'LE -UnXTeX.Q)ZS=QO]^tMaMYKcS=#b8Up.GMf&bfCd`8o&[_^))_7?M7UU8(X[]Zg@[^E*6 -V4aKVTUMXFZamcSUo(K3_o'4'aO/JZc,m`9aMtm3aMG'RSXZ+K[(X>udacggZDXb(=JVt.\%f_nd-9lN -`O`S$d`fM=_S<[j\\,GWY-GCE^;n[VgX=0VYb[na\AQM/[B$F:`QH<9ZaRcqahYO'_n`q![BHgI -c.("TZbb&Cf$DXffZ_@IX/e=gZ+.-G\%B>i`QH39]Y2;2g#M&LhV-E"_6gGJVkpQ4dFH[f^:(`$ -hV?Z.c,-olYICmNcK4s'rUfparu(Cmimu)_aOo;!a2Gm@gZ.5HcHXMN_8tC"r;S&0kj.-]f$)(M -ajJPef\PTMmel2'f$DXmiUuL.rVc$?gt^uYrr2usJcC<$JcC<$JcC<$cMrC~> -oD]Whb`?^YDJ3Tl?=@8K?=.5XDgdbKb2DiAs+13$s+13$s+14Mq!.keqr-)RguIP\q#CBmq>Y:0 -qX3P1mf2D$i:?1(qu-Hbm-jfNm,ZmF^::SVUp@eO\?rKAYd(^Sa2ucfhWO([g>:`CbeCEdW1]`V -TUV:9VRjt%cc=#F^Ta`@WM,cJUpRhL^ULPY]XbS\U7S!PX0T=M[_BDXW3*G6J%)\][aEm]f@n0F -Uo_#;^U1,G^!4pPd_36!VPBr[QBS&AV4s?FWN;tpXf\IiP`D'"Su&KcT!#Q4XIb]=Od2T4U9qA1 -WM-2bUohDQ`k&UVS"-=SWLB'7P)t`iR>$BWUTLSmT;K!0_90d6`O2P2SZ8c_NfK'WQ`.*hV#I$* -U8=`aUSaiZQ'%2hM1U##NL-*)Unafg[(T3cedI/f>4nnQ]6]D -DKpDULk^A2OIE2[]YDP;gXjZ`[CE`HQ@t'RQ)M@1\!?\TWbW.^VIb1e'H%L -`5f[)Y,A(mVPKf[ZEpX/XLPR2TW#6;bI![oKoDP#XJqhkYd1Q`Umn6cXJ;,BNKp-1TUq[CR?`qt -P*h`,S$'TS^os`=YGn1jS!B/(TW##bR$bhLPhIuY,7\KPa7T&V7+1BVkgE-b0S;ObK\&>^<5-]ag7b/PF%rT`QZP*bK7/dUV"n"\uW-S -^9!ZYJU;WhJVoYVMh?qTT:r$PP_b$NQ`I[2]tLkW[A9"EPG,(^Ob\pZNfTQoVkp&POcuNFX.,HrQ^ObUWN35(UQpn( -TX_eU`llNB1^Ug\E -Q&LWVOe/&&MNEjZPb5+h^r+@<^oEc`Mhm^kV59]FLkC2$Dea*,EcQ,;Df'9&ARf6M@W,[^?=./P -AS,UlE--APM4qJq[]Z[%TVJ$FR[KG(Pb+tVT:MdUZFdZQYct=)Vl?f4c-4#9aNVZB_RcqCQ]R/b -O-H$2VkBQRVk]ZNP)5!RN/24AS>YSXuFDWMH)R -R@'8'OGnpBI"R?AQBI)\NKfWhR%:7g^TsPoJUW<6PaS/BWi`7mR[SGdQ_D::]!7c`Od)&sUo:&Y -R@gI_V3[1&OHklnSt2(;\&uq6^9t,EVmE1hUoC,\T;/$FNJ)_,G]n@\IXQQkItNW=O,oBeR@0P5 -Up@8/ZFZm'Q&:H\O+Mn8MN"4Y,e1e -USEm(J:r]7RB4-9X/!&?`-0#(XeD>e^W4:*YI)$[`P]0qVOO9b]!nuPX.uA]S=>q*HusXcKSkqF -Ng?07[&fg]SZ0!)ZE0q(ZEgR:]tUn^Z)aauWj9%@SWJb^KTMCYN/s6fNe`C[Tr=iZOGJXCI>Xi' -XL,pt`kB:.\YPLOUpdqL]l_$)\B2t)Unb&uUme$^]#)@lS;MiII!'UbS!p+[Xc\6kPGP^pYI(sW -`501$XHeX'T:_dR\&?"^W3<=kMMmOULOk2ER+]Pb+hVXeqYVP)G0WNeiLOPEUlZK7\c3M3+C3Za@!Vl?MVLOOrGWNNA& -ZFI9)2!_7d%FP`_/o -Q'\)g=*g:TrPT-SX,S5Xff7O_p7#c^VR=\Yd(:0Y*kQ;OHQ!#SW8c& -[(EH3R['M6O-GurQ_14eaO&8Yc?-V/^Up\ERZWPgR&RXiX^Vn0sT:_^KZ,O&\\[Jc;PaJ#AX/)Mo\@8QJ[&9e)YFprEVlmD<[]lR, -Vj`sGXg,%4\%&T6Trtl;^::\$_91!;`5/sr_8!Ci^:'o-R$X/;ZFR`hc-akXYb@haQ'eSS]=bi) -lg -oD]O'r9`Y-mdTf?o()57l0\$6oBto8JcC<$JcC<$JcC<$s8N/poCVt\!VQ<`s!.I9qu?]op\jgU -p](9ho_e[^q#CBkrVQHhs8W#kp\FjdnFun]"T/#fo_JIc'__%bo(2SBqZ$E^n*K6"kj\<>p&+Xc% -fQ1jk3DO2qu-?^lKI[3rr3T.q"XRKlLXfEmca!0r;66\q#:'^^qsj%Dq"as_j -m2gD0(S;rq>^KkmcsKBqY:![p@\(Ss7u-Lqu?H`lg+?>o_AIdqt0:=nc&Rdp[@8En*TT>s8W#hna,E'p&G$jrttFmjR;R*nFcSOp\OCMp$M5Fr;Z]mq -YC'gs!@X:nF?2Eo'#ZAp?Lc,qYB[Qq"k$clLaZ7nGE7ZlfRU*pAOaYrr5O`mH*Kup@\%JpA4^^p -@\(Lo'GW5s8W)eme6SQo(MV@lL=QJs7u@r -r30!md]o?q#14;oC2/5nG<1bna5N+o_A1QpAP$fo'uMTs8Mcdp\"7Pq=aU\rr422lLk2Vo'>lGr -UoUDk2balmHa61m,dF"q>L0ZlL+EBn+Q_[#5\)nn)30prr5gko(W+Wp@n.Sp[RM3m.^AEjlZ.4q -ss%Fs8VuhqZ$Q]l0nQMp@J(RmcjBDs8DKWm-O94mIBuOrq6!Xm,m[.s8Vidr;6!SpA4INmIB`Er -Vn;Eqtg?elg!m,o^hJ:oD&+OnF#iBrV?$Qp\XXTpA+XcrVZ?an`/d-r;SnYq![J6lgOH:p\=IMm -.'lJrVQWs7l0To^VSMoB#-*s8W&hlKe*=r;HQcmd0N8p@IhCo_SRbrr5(Xp$_;6kiqd?s -7YgIs8;EPk2bOZp](9emdU&HoCr:brq>sUnF#Z.m.']>nF6&@p%7nLoCV_HnF,lEnL*npm-3a"q -Z$Tomd0B:qt0:Co(D>8pAb$Ylg*s1rr2]bo'c&;nF?MX"o.`gs8)Tks#p2Qo^VA;n+6AMo^D>Eq -""1Il0I^&n*]`;s8VZ_qWI,2o(;VMqYgUC)ro`G=s8W&kp%@e9kO%g:rr3C6go^;#-j6#auo()GFp%.YFs8)0UrUTFKnb)hWr -p)]9q"ss\q"Xmhq=OCQo_\CVrVGsKq#C!MjlPb#q>^KdnbW:ap%%\BmdToCqss4Go^_\Qo^;/@r -ql?Yrp]sX'_;"qo'>fAq==+OqY'XUn*000o(E"S"6SP.rr2pJq!I2$mHa*/o'c;Ns7>I:kjJBKp -@._Fn*KW>rVlN`rr2cjm.C>TnE&ctqu85En*BN5lLFfPp[.MHs8;QYn*TE1qu?]fjRE$@q -Y9sYkj/'Es8)3Vrr45BpAasVn,E@erV5mIl0Ia-rr;ZXmI'B0oBP`2meQn_o(2_Ws!%I9nEflHp -\+FYoBl2Ep$hMIs8VianE]ZCr:]^OoCMD:mf!/#qXNq=l/Upuo]kc9s8W&trq,C6kO/?C@JBKen -c/XemHaKGs7l?crVuoij5T7koC;\So&KBBs8)9WmI0fFn`T61q=ssfoB>H.q=a@Gp&4UJp&>!am -e$MYq!@A:kihO*lKe'>rq5XAmHjWJs8;EXp&"UTlgarQrs/JmmJ6eSlLXrR>5m[Mmdg/Pq=OU\o -_JOerUogQoD\dinEB0(p%S.VrpoCCo(MkQp$qD9o_\[grV#dRq#16mrVZ9`qY9sbn`TE;s8M]Zm -HaTHs82BTnF-/DnFlhZo]t]3rVo+]p$qM5mf3=[oD/Fdp@J(To_/4]p$D,Bs8DrnnFQYZq=OCSn -acMQp?VDFq#CBiq"47Qr;ZfooBc8Oqt0X^s%iUbme6\Yo_/=boBYoCrV5dHqZ$H_n*flAq"4%Cn -FlbVp%%YAm.C/MoCDYRrVufhmcs01p@RtMoC)&8pAb0elK7@%o_\[bo(;SEoCr7a#k-pGs8ViUk -P"oT$NBY^kjS6^Kjo(rCdp[%)1o)/+Hjl#\/s -8)Wkqt^*`oCi"Uo'>Q1p%%;+kk>#U2Yun'k4/IqXsUXo^MMOrr4bPq"OFLkjA$Sq>L?jo^MPNqt9IMp\+=Urr3]2q -Y'CAkj7p=s8MNOlLFK@p@%D@rr3Q*p\OmerVZ9Rl1"HDp$_;Err3Q/p[[tFn*K-%qYgHmq"OR\r -Vm*!oC)8EqY^9k#kRKRo^_D9n+lt_2#$=tm/$b^rVuorp%7tPnF-)MrVcZjqtpBmqt9OXq=="Ls -8Vulo^_YNrV6'`qtg*\p\t'i#kdf_rqlBYnb2t\"SqffqY^?m"9/)hq>UBpoCr7a$2XDjr;Q`rr -qu`jrrE&krrN&srVluup\4X\s8MlqrIP!"s+13$s+13$s8;nI~> -oD]Zog9$QqMh6G.I!g9eG^"F[JW,nn_:RcHJcC<$JcC<$JcCE'$MioHjmW$Fs8(mGqYr_Rn*B#i -iUZ[(gXO?bd,!R6gZ7SZjnno9jkSMAh;-Z0cdCFl_ogHXf\YK>f@AR3jkJ.t[BHa8XeMr*Z2Uh3 -X0&\>`5Ta@f])&Th:U?1d`oS5YHFk#V4sQOT;fBCdEfeF]X+H-Un4*GS>Wd-]<\Q@[(3ZOY+hV_ -U8FupZELgMZ)k:B]"kbQZ-(SDe(;XHVkpAs[A]dp\Auh;EmMS9[]csCXe;&VV4X3AS#s!&\%]GU -SX,\D[_02]YG\b?^9aW(Q'7rBUnk/tW25uUUSkB3aihQ;[\o[hVl?A\S=lOGSXu+2R%pXYUSG*. -_84"#[_'/PSt`EpUm.++P*r)EW268aTV.pMTVANhDl9;%US+-=MiO4$W2?AeVQ@2;\?)s-7 -]Xtkr[%a([SYiToXgZU9inW82^9FK,R?h-Q][`6Vm=4adaHLb`l6!>^9so6USXf_TJQ -R?s\R\$_inQ^sJ/R?jM=Ssl.DY.(d6Jq8E"If=isIX-ElJ:`E.LP^nJQ)MF5[A]joX0Jb&V5C,SP*r/DT:Vpc^W4=, -\[JiP\$rrjf[IgQ`Q,j2_7d7SU7@^DUTCf3[B--uWN2u$WMQ>\Q^!i5X15O5Wj/A%[Cj,^\?rE. -QC+JY`P&@?P)u!,\BEC;WL]``ZG"H)G.4',Q'n)/PEM)rVma+AVQ%)Hbg=;/VmjX_\?2[)R#[8u -W4U6nZCdGHP+]%a\\#G\ZEgX3WMQGjYd1F2V4j6:NgQZJZDsRjVlZhkP*_rL\@&TDQB%#oU8b9" -\A,hiZE'aiTt%eF\ZD6fQ'@f=Z*14/C8\8?Wh>lLQ(OYEYcX_%^=1T]cbZrjZ+R06Y.;'JZ+.6D -S<8kjKo1kPOcPN_OHGj"U84ZaWiW>'ZG4#W['cd)Un43SU6:S!Q_1(LV7=4[`jD\CU7\_8XL9`R32RYc=t=YbeA/_90j1 -TTtS!MLpVNZa7'RZ^d5KT<,`I_7-qld*U"QXIGWNX0/S+[CruH[_KMWTr"fiT9GP/Q^X\IVP^>p -W1K<>Sti[5b.Y*aWj&h5YDpR -WjK7>Vk9uq[^NQDU7Id?UUe"AYdhE[Z`^[AYHbRJZ`UFCaN`/W^:V7rZDOLkR$F,0R[9qW]?\sU -e^;X``PK*cTUDjk]Xb\maKVS3R]3m7]thS"Vj3L9T:;+9X0o..U7e3WX/gNFX0B%C\$2j.U7S*U -Un4'KV5C5gSX#>$R\HjdZEgX8Z+.Q]Z_j=fVPp]+YcP+<[^s2nbJLK[Y.r,nZb+Q?h:BlaVk0NV -Tph..VTI]H`O;S4R%C7WWMHGmUS"Ws]>3"Od)X2BYcPCM^TjGtP*22oNfTL4d/M]leB,P?\?r`Y -^UUDGXg5F?Vl6i2]==]+P*MiJ[^\]2V%YG@b[ -R[TM2TqnTk_>_`*aM59kVjsBUWi;eiXgl;@r['69sSt9emV5^JeSYij+XIl#SW26)YSX?"NZamlja32iIbg=G=UR%+.QCOn\^s_0# -g!.CDZadib^VRXdT;Ap7`P&LRV5C,aUS+0JT:VLFVQd.oV7+"GY,\e8YHPCE]]?K@"gX!jUaMtiu[C`oPWi`P/W2$>oYd1dTb/:s)Z`0OcStiBo -ZDaLpXg,:BZ*1[WcbmB%[^EBErj-UR_9^TS_n="8dF6Ojaht]tYb\/#YI1L2W2m&/_8*ds]"Z22 -fA,6AinDPbWhH2bWNEMAajA)=Xf8YEdFZmrb.OdOVlZo)akZ+Qo]PB%qZ$!Af@\<\[_0Z$^q@@s -bh1_%bf[o>^r=UTlg"3Ds"3d!gYLc>be^p(^W+^Of%AX.g"O`i]Xko$d+-_(iSW52b08JpkOnE: -p%\+Qr;?WmpAYKpiniYWqtTjJlM1,R"7u0Xqgncus+13$s+13$s8;nI~> -oD]Zmd$/ZhDJ$YNHBle`gZH_>+JcC<$JcC<$JcCE'$M`Z;hWXY4s82'OqYs^nlK@'[ -i:?U+gW,Zad?: -QAgciVlZsQWM>iXXg"XdM1gJES!TD8VOj_h*]s+/pQ(",%MM[:NLl$q:H\7HLrg@)m -\@fMh\$WZQUQq4BV3cpiJV9#NTV7sHR[BA)PE_9&S!K.sO,\pCH$tR9R[TY6S>)sbWh,E7PbYIi -Z*LdPYF^u>N0'R,Vm4M'hqHZ#[\K+GJ9GmOG(Yj:KS3QgT<,T:`6[/nbegfjY-"7QIt<<5TDcIUb"da?1GSs,4qNf8sZNKKa6_8\nNg66E^<4^E_5j'"[DBM[Vl[5,TTY%WG'/4nP*VGqLl%7_R[8qeLln*nW4'CS]!erQUQ^_+ -VQ6SRK85GCMN<[^QZ&1RQ(4eUVOE[4QB7#[RB*j)YHtUBUS4Zo\ZW'=Z)4:t^;7:SQ&:NcR$aME -^TO9&Ru`>YKp%d_P+JJ>St`!NOc53_YJ89*cHF)4Y*FQaH@:F,T;JWhVOa*>PanPCSXl[_ZaR?R -\@&H:R[SG^KSuM-\AHJ(ViuaXH[pm4OHYicJUrQ9PaIr3TVS^&_n2qAR[0&!S!JqiQ`-dPObSRM -RAR$\QA:!?I"$QrL68%*Y/.uhZ_s=YOG\m[UnsEZJ;BMdW1fH;P*hQ"Lle10ZE:(!L4+Q+Od2E/ -W3ES2WM>uLT=)/2XIP0(LP_4iXfA=rS"ZXJOc,$KNf90mR?*Z9aj&)N\>Q*tXdtcPXfeV"YHFX_ -Kn4VnGBnR`H['gaKo;+[R$jM;USE11Wj]:7X/D8JQ&q/pP_+F7KoM1VQERj8]qq*\NJis]P+SG7 -P*MDsM2[L_WN`k@XJiD5\$iWCSWAP]LldU[SuSs%^UUSQYcspcL3n&bG^G%$Q'@DoQ^!DdPF7f+ -R?EDaP*))sR@91nQ`[^1\#uKpNfSmKNKK?2S#ENcQB.#bQ)(@XUn!R,P+8SYYd(mS[^WEK]e'gk*Xer,'U6hU]_p-B8 -RZ2lIGAhVXTqA-cWK`7#P+8_d[B6gMb/hQ4VN[+,Tq\?[Zb6O+W+BKSGVVSY)RJ -?^Zn/M3jd>`Q5KeVPL5oX00"Vf@\Hi[\p72U7\U*aMQ!9Z]g]CTs)8M][D^/#Z`BmsYdqMP(S11JU;cpMl=VBeCW-i^q-tV -Y-PC6TUV[TZ)aLhUo^SnObS:9P+\\MX/`A.XIG-&K7JK-Q(=S@*ilcdbK\2I^:V>:f".rm_n<=P -RZrtsNerjaS"Qakrl7@@[]ZKsO-5m$SXPtBY.V0:Q'$rbSYDaJSsYCiN00I!US!m>SuST\Tq.^J -XLu-IUSOuiRu`GgTrY8uZa6g8Wic9*!N`d0]fsH`g=40W]X+E0Y/%lpdET>!QD1I]TUqO?VmX.K -]"Q%qZadNU]!e]7S<8hnPEq]2T9,)'YI(3qP*)&oN;erFQDCOe]"l5'aLAk"\uV?aN.ckDSZfi[ -kNUpQ_mQVM[B6^C[],gnZGXA^UR.41PED#hM2@1NM3=:&U7%[\\?M]uUnsc[Xg5C@XJhMBNh

  • X;SKujtjtS2Y^eQ|B(5vwj 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�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

  • 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%0DB%eUj_;NKTIOfDUSWe9R|8< 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